/* ========== AURUM STUDIO — v1.0 ========== */
:root{
  --ink:#0a0a0a;
  --graphite:#141414;
  --smoke:#1c1c1c;
  --bone:#f4efe6;
  --bone-70:rgba(244,239,230,.7);
  --bone-40:rgba(244,239,230,.4);
  --bone-15:rgba(244,239,230,.15);
  --hair:rgba(244,239,230,.12);
  --gold:#c9a86a;
  --gold-soft:#b3946a;
  --serif:'Cormorant Garamond', serif;
  --sans:'Inter', system-ui, sans-serif;
  --track:.35em;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--ink);color:var(--bone);font-family:var(--sans);font-weight:400;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:color .3s var(--ease)}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,textarea,select{font:inherit;color:inherit;background:transparent;border:1px solid var(--hair);padding:.9rem 1rem;width:100%}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--gold)}

.grain{position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}

.container{max-width:1400px;margin:0 auto;padding:0 24px}
@media(min-width:900px){.container{padding:0 40px}}

.muted{color:var(--bone-70);font-size:14px}
.eyebrow{font-size:11px;letter-spacing:var(--track);text-transform:uppercase;color:var(--gold)}
.h-serif{font-family:var(--serif);font-weight:400;line-height:.98;letter-spacing:-.01em}

/* ========== NAV ========== */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .5s var(--ease),border-color .5s var(--ease);border-bottom:1px solid transparent}
.nav.scrolled{background:rgba(10,10,10,.82);backdrop-filter:blur(10px);border-bottom-color:var(--hair)}
.nav__inner{max-width:1400px;margin:0 auto;padding:0 24px;height:72px;display:flex;align-items:center;justify-content:space-between}
@media(min-width:900px){.nav__inner{padding:0 40px;height:84px}}
.nav__brand{font-family:var(--serif);font-size:22px;letter-spacing:var(--track);color:var(--bone)}
@media(min-width:900px){.nav__brand{font-size:26px}}
.nav__links{display:none;gap:38px}
@media(min-width:900px){.nav__links{display:flex}}
.nav__links a{font-size:11px;letter-spacing:var(--track);text-transform:uppercase;color:var(--bone-70)}
.nav__links a:hover{color:var(--gold)}
.nav__actions{display:flex;align-items:center;gap:16px}
.nav__search{display:none;align-items:center;gap:0;border:1px solid var(--hair);padding:0 4px 0 12px;transition:border-color .3s var(--ease)}
.nav__search:focus-within{border-color:var(--gold)}
@media(min-width:1100px){.nav__search{display:inline-flex}}
.nav__search input{border:0;padding:8px 6px;width:160px;font-size:12px;letter-spacing:.05em;color:var(--bone);background:transparent}
.nav__search input::placeholder{color:var(--bone-40);text-transform:uppercase;letter-spacing:var(--track);font-size:10px}
.nav__search button{padding:8px 10px;color:var(--bone-70)}
.nav__search button:hover{color:var(--gold)}
.nav__cart{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:var(--track);text-transform:uppercase;color:var(--bone-70);border:1px solid var(--hair);padding:10px 16px}
.nav__cart:hover{color:var(--bone);border-color:var(--bone-40)}
.nav__cart-count{background:var(--gold);color:var(--ink);padding:2px 8px;font-size:11px;letter-spacing:normal;font-weight:600}
.nav__burger{display:flex;flex-direction:column;gap:5px;padding:6px}
@media(min-width:900px){.nav__burger{display:none}}
.nav__burger span{display:block;width:22px;height:1px;background:var(--bone)}
.nav__burger span:last-child{width:14px;margin-left:auto}

.mobile-menu{position:fixed;inset:72px 0 auto 0;z-index:49;background:rgba(10,10,10,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--hair);padding:24px;display:none;flex-direction:column;gap:16px}
.mobile-menu a{font-size:12px;letter-spacing:var(--track);text-transform:uppercase;color:var(--bone-70)}
body.menu-open .mobile-menu{display:flex}

/* ========== BUTTONS ========== */
.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 32px;font-size:11px;letter-spacing:var(--track);text-transform:uppercase;transition:all .4s var(--ease);cursor:pointer;border:1px solid transparent}
.btn--fill{background:var(--bone);color:var(--ink)}
.btn--fill:hover{background:var(--gold)}
.btn--ghost{border-color:var(--hair);color:var(--bone)}
.btn--ghost:hover{background:rgba(244,239,230,.06);border-color:var(--bone-40)}
.btn--gold{background:var(--gold);color:var(--ink)}
.btn--gold:hover{background:var(--bone)}
.btn--block{width:100%;justify-content:center}
.btn__arrow{display:inline-block;width:24px;height:1px;background:currentColor;transition:width .4s var(--ease)}
.btn:hover .btn__arrow{width:40px}

/* ========== HERO ========== */
.hero{position:relative;min-height:100vh;min-height:100svh;overflow:hidden}
.hero__bg{position:absolute;inset:0}
.hero__slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s var(--ease);background-size:cover;background-position:center}
.hero__slide.active{opacity:1}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.6) 0%, rgba(10,10,10,.35) 40%, rgba(10,10,10,1) 100%)}
.hero__scrim2{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.6) 0%, rgba(10,10,10,0) 60%)}
.hero__inner{position:relative;z-index:2;max-width:1400px;margin:0 auto;padding:0 24px 96px;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end}
@media(min-width:900px){.hero__inner{padding:0 40px 128px}}
.hero__eyebrow{opacity:0;transform:translateY(20px);animation:rise 1s .3s var(--ease) forwards}
.hero__title{font-family:var(--serif);font-size:clamp(48px,13vw,180px);line-height:.95;color:var(--bone);max-width:16ch;margin-top:24px;opacity:0;transform:translateY(30px);animation:rise 1.1s .45s var(--ease) forwards;text-wrap:balance}
.hero__sub{margin-top:24px;max-width:600px;font-size:16px;color:var(--bone-70);opacity:0;transform:translateY(20px);animation:rise 1s .7s var(--ease) forwards}
@media(min-width:900px){.hero__sub{font-size:18px;margin-top:32px}}
.hero__ctas{margin-top:40px;display:flex;flex-wrap:wrap;gap:16px;opacity:0;transform:translateY(20px);animation:rise 1s .9s var(--ease) forwards}
.hero__dots{position:absolute;bottom:32px;right:24px;z-index:3;display:flex;gap:8px}
@media(min-width:900px){.hero__dots{right:40px}}
.hero__dots button{height:1px;transition:all .4s var(--ease);background:var(--bone-40);width:20px}
.hero__dots button.active{background:var(--gold);width:40px}
.hero__scroll{position:absolute;bottom:36px;left:24px;z-index:3;display:flex;align-items:center;gap:12px;color:var(--bone-70);font-size:10px;letter-spacing:var(--track);text-transform:uppercase}
@media(min-width:900px){.hero__scroll{left:40px}}
.hero__scroll span:last-child{display:block;width:32px;height:1px;background:var(--bone-40)}

@keyframes rise{to{opacity:1;transform:translateY(0)}}

/* ========== SECTION ========== */
.section{padding:112px 0}
@media(min-width:900px){.section{padding:160px 0}}
.section__head{display:flex;flex-direction:column;gap:32px;margin-bottom:64px}
@media(min-width:900px){.section__head{flex-direction:row;align-items:flex-end;justify-content:space-between;margin-bottom:96px}}
.section__title{font-family:var(--serif);font-size:clamp(40px,6vw,88px);line-height:1;color:var(--bone);max-width:16ch;text-wrap:balance;margin-top:16px}
.section__kicker{max-width:380px;color:var(--bone-70);font-size:15px}

/* ========== FEATURED GRID ========== */
.grid{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:700px){.grid{grid-template-columns:1fr 1fr;gap:24px}}
@media(min-width:1100px){.grid{grid-template-columns:repeat(3,1fr)}}
.card{position:relative;overflow:hidden;background:var(--graphite);cursor:pointer}
.card__img{aspect-ratio:4/5;background-size:cover;background-position:center;transition:transform 1.2s var(--ease),filter .6s var(--ease)}
.card:hover .card__img{transform:scale(1.05);filter:brightness(1.05)}
.card__body{position:absolute;inset:auto 0 0 0;padding:24px;background:linear-gradient(0deg,rgba(10,10,10,.9),transparent);display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.card__title{font-family:var(--serif);font-size:24px;color:var(--bone);line-height:1.1}
.card__tag{font-size:10px;letter-spacing:var(--track);text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.card__price{font-size:12px;letter-spacing:var(--track);color:var(--bone-70);white-space:nowrap}
.card__price strong{color:var(--gold);font-weight:500}

/* ========== SHOP FILTERS ========== */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:48px;border-bottom:1px solid var(--hair);padding-bottom:24px}
.filters a{padding:10px 20px;font-size:11px;letter-spacing:var(--track);text-transform:uppercase;border:1px solid var(--hair);color:var(--bone-70)}
.filters a:hover{color:var(--bone);border-color:var(--bone-40)}
.filters a.active{background:var(--bone);color:var(--ink);border-color:var(--bone)}

/* ========== PHOTO DETAIL ========== */
.detail{padding:120px 0 96px}
.detail__grid{display:grid;grid-template-columns:1fr;gap:48px}
@media(min-width:900px){.detail__grid{grid-template-columns:1.4fr 1fr;gap:64px;align-items:flex-start}}
.detail__img{background:var(--graphite);aspect-ratio:4/5;background-size:cover;background-position:center}
.detail h1{font-family:var(--serif);font-size:clamp(36px,5vw,68px);line-height:1;color:var(--bone);margin:16px 0 24px;text-wrap:balance}
.detail__desc{color:var(--bone-70);font-size:16px;line-height:1.7;margin-bottom:32px}
.detail__license{border:1px solid var(--hair);padding:20px;margin-bottom:16px;cursor:pointer;transition:border-color .3s var(--ease);display:flex;justify-content:space-between;align-items:center;gap:16px}
.detail__license:hover{border-color:var(--bone-40)}
.detail__license.selected{border-color:var(--gold);background:rgba(201,168,106,.05)}
.detail__license input{width:auto;padding:0;border:0;margin:0}
.detail__license-name{font-size:12px;letter-spacing:var(--track);text-transform:uppercase}
.detail__license-desc{font-size:12px;color:var(--bone-70);margin-top:4px}
.detail__price{font-family:var(--serif);font-size:28px;color:var(--gold)}
.detail__cta{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap}

/* ========== SERVICES ========== */
.services{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--hair)}
@media(min-width:800px){.services{grid-template-columns:1fr 1fr}}
@media(min-width:1200px){.services{grid-template-columns:repeat(4,1fr)}}
.service{padding:48px 32px;border-bottom:1px solid var(--hair);border-right:0;transition:background .4s var(--ease)}
@media(min-width:800px){.service{border-right:1px solid var(--hair)}
  .service:nth-child(even){border-right:0}
}
@media(min-width:1200px){.service{border-right:1px solid var(--hair)}
  .service:nth-child(even){border-right:1px solid var(--hair)}
  .service:last-child{border-right:0}
}
.service:hover{background:rgba(244,239,230,.02)}
.service__no{font-size:11px;letter-spacing:var(--track);color:var(--gold);margin-bottom:20px}
.service__title{font-family:var(--serif);font-size:26px;color:var(--bone);margin-bottom:16px;line-height:1.1}
.service__desc{color:var(--bone-70);font-size:14px;line-height:1.7}

/* ========== ABOUT ========== */
.about{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
@media(min-width:900px){.about{grid-template-columns:1fr 1fr;gap:96px}}
.about__img{aspect-ratio:4/5;background-size:cover;background-position:center;background-color:var(--graphite)}
.about__body{color:var(--bone-70);font-size:17px;line-height:1.75;margin:24px 0}
.about__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid var(--hair);padding-top:32px;margin-top:32px}
.about__stat-value{font-family:var(--serif);font-size:44px;color:var(--gold);line-height:1}
.about__stat-label{font-size:11px;letter-spacing:var(--track);text-transform:uppercase;color:var(--bone-70);margin-top:8px}

/* ========== CONTACT ========== */
.contact{display:grid;grid-template-columns:1fr;gap:48px}
@media(min-width:900px){.contact{grid-template-columns:1fr 1fr;gap:80px}}
.contact form{display:flex;flex-direction:column;gap:16px}
.contact__map{aspect-ratio:4/3;border:1px solid var(--hair)}
.contact__info{display:flex;flex-direction:column;gap:24px;margin-top:24px}
.contact__info div{border-top:1px solid var(--hair);padding-top:16px}
.contact__info-label{font-size:10px;letter-spacing:var(--track);text-transform:uppercase;color:var(--gold);margin-bottom:6px}

/* ========== FOOTER ========== */
.foot{background:var(--graphite);border-top:1px solid var(--hair);margin-top:80px}
.foot__inner{max-width:1400px;margin:0 auto;padding:80px 24px;display:grid;grid-template-columns:1fr;gap:48px}
@media(min-width:700px){.foot__inner{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.foot__inner{grid-template-columns:repeat(4,1fr);padding:80px 40px}}
.foot__brand{font-family:var(--serif);font-size:24px;letter-spacing:var(--track);color:var(--bone);margin-bottom:12px}
.foot__col h4{font-size:11px;letter-spacing:var(--track);text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.foot__col p{color:var(--bone-70);font-size:14px;line-height:1.8}
.foot__col a:hover{color:var(--bone)}
.foot__bar{border-top:1px solid var(--hair);padding:24px 24px;max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--bone-40)}
@media(min-width:900px){.foot__bar{padding:24px 40px}}
.foot__admin a:hover{color:var(--gold)}

/* ========== CART / CHECKOUT ========== */
.page{padding:120px 0 80px}
.page__title{font-family:var(--serif);font-size:clamp(36px,5vw,64px);color:var(--bone);margin-bottom:32px}
.cart-line{display:grid;grid-template-columns:80px 1fr auto;gap:20px;padding:20px 0;border-bottom:1px solid var(--hair);align-items:center}
.cart-line__img{width:80px;height:100px;background-size:cover;background-position:center}
.cart-line__title{font-family:var(--serif);font-size:22px;color:var(--bone)}
.cart-line__lic{font-size:11px;letter-spacing:var(--track);text-transform:uppercase;color:var(--gold);margin-top:4px}
.cart-line__price{font-family:var(--serif);font-size:22px;color:var(--gold)}
.cart-line__actions{display:flex;gap:16px;align-items:center;font-size:12px;letter-spacing:var(--track);text-transform:uppercase;color:var(--bone-70);margin-top:6px}
.cart-line__actions button{color:var(--bone-70)}
.cart-line__actions button:hover{color:var(--gold)}
.cart-line__qty{width:44px;padding:6px 8px;text-align:center}
.cart__totals{margin-top:32px;padding:24px;border:1px solid var(--hair);display:flex;flex-direction:column;gap:12px;max-width:420px;margin-left:auto}
.cart__totals-row{display:flex;justify-content:space-between;font-size:14px}
.cart__totals-row.big{font-size:20px;color:var(--bone);border-top:1px solid var(--hair);padding-top:16px;font-family:var(--serif)}

.checkout-grid{display:grid;grid-template-columns:1fr;gap:48px}
@media(min-width:900px){.checkout-grid{grid-template-columns:1.4fr 1fr;gap:64px}}
.summary{background:var(--graphite);padding:32px;border:1px solid var(--hair)}
.summary h3{font-family:var(--serif);font-size:24px;margin-bottom:16px}
.summary__line{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--hair);font-size:14px}
.summary__line:last-child{border:0}
.pay-option{border:1px solid var(--hair);padding:20px;margin-bottom:12px;cursor:pointer}
.pay-option.selected{border-color:var(--gold);background:rgba(201,168,106,.06)}
.pay-option label{cursor:pointer}
.pay-option h4{font-size:14px;margin-bottom:6px}

/* ========== ALERT ========== */
.alert{padding:16px 20px;border:1px solid var(--hair);margin-bottom:24px;font-size:14px}
.alert--ok{border-color:var(--gold);color:var(--gold)}
.alert--err{border-color:#c96a6a;color:#e18a8a}

/* ========== ADMIN ========== */
.admin{padding:32px 24px 80px;max-width:1200px;margin:0 auto}
.admin__nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px;border-bottom:1px solid var(--hair);padding-bottom:16px}
.admin__nav a{padding:10px 16px;font-size:11px;letter-spacing:var(--track);text-transform:uppercase;color:var(--bone-70);border:1px solid var(--hair)}
.admin__nav a.active,.admin__nav a:hover{background:var(--bone);color:var(--ink);border-color:var(--bone)}
.admin__brand{font-family:var(--serif);font-size:22px;letter-spacing:var(--track);margin-bottom:24px;display:flex;justify-content:space-between;align-items:center}
.admin__brand small{font-size:11px;letter-spacing:var(--track);color:var(--bone-70)}
.admin__brand a{color:var(--gold);font-size:12px;letter-spacing:var(--track);text-transform:uppercase}
.admin table{width:100%;border-collapse:collapse;font-size:14px}
.admin th,.admin td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--hair);vertical-align:middle}
.admin th{font-size:11px;letter-spacing:var(--track);text-transform:uppercase;color:var(--gold)}
.admin tr:hover td{background:rgba(244,239,230,.03)}
.admin__thumb{width:64px;height:80px;background-size:cover;background-position:center}
.admin__actions a{margin-right:12px;font-size:11px;letter-spacing:var(--track);text-transform:uppercase;color:var(--bone-70)}
.admin__actions a:hover{color:var(--gold)}
.admin__actions a.danger:hover{color:#e18a8a}
.form-grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:800px){.form-grid{grid-template-columns:1fr 1fr}}
.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:11px;letter-spacing:var(--track);text-transform:uppercase;color:var(--bone-70)}
.form-grid label.full{grid-column:1/-1}
.form-grid textarea{min-height:120px;font-family:inherit}
.pill{display:inline-block;padding:4px 10px;font-size:10px;letter-spacing:var(--track);text-transform:uppercase;border:1px solid var(--hair);color:var(--bone-70)}
.pill--ok{border-color:var(--gold);color:var(--gold)}
.pill--warn{border-color:#c96a6a;color:#e18a8a}

.login-box{max-width:400px;margin:120px auto 0;padding:40px;border:1px solid var(--hair)}
.login-box h1{font-family:var(--serif);font-size:32px;margin-bottom:8px}
.login-box p{color:var(--bone-70);font-size:14px;margin-bottom:24px}
.login-box form{display:flex;flex-direction:column;gap:16px}

/* ========== BREADCRUMBS ========== */
.breadcrumbs{margin-top:80px;padding:24px 0 0;font-size:11px;letter-spacing:var(--track);text-transform:uppercase;color:var(--bone-40)}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}
.breadcrumbs li:not(:last-child)::after{content:"·";margin-left:8px;color:var(--bone-40)}
.breadcrumbs a{color:var(--bone-70)}
.breadcrumbs a:hover{color:var(--gold)}

/* ========== PROTECTED IMG + WATERMARK ========== */
.protected-img{position:relative;overflow:hidden;background-color:var(--graphite);background-size:cover;background-position:center;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none;transition:transform 1.2s var(--ease),filter .4s var(--ease)}
.protected-img *{pointer-events:none;user-select:none;-webkit-user-select:none}
.protected-img__wm{position:absolute;inset:0;pointer-events:none;mix-blend-mode:overlay}
.protected-img__wm .wm__svg{width:100%;height:100%;display:block}
.protected-img__shield{position:absolute;inset:0;pointer-events:auto;background:transparent;cursor:default}
.card:hover .protected-img{transform:scale(1.05);filter:brightness(1.05)}

/* Blur when window loses focus / tab hidden (anti-screenshot best effort) */
body.is-blurred .protected-img{filter:blur(28px) brightness(.55);transition:filter .1s linear}
body.is-hidden  .protected-img{visibility:hidden}

/* Kill printing: black-out the page */
@media print{
  body *{visibility:hidden !important;}
  body::before{content:"Printing is disabled for this site.";visibility:visible;display:block;padding:40px;font-family:sans-serif}
}

/* ========== REVEAL ANIMATION ========== */
.reveal{opacity:0;transform:translateY(30px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.in{opacity:1;transform:translateY(0)}
