/* Mahin's Gift Shop: "Midnight Mosaic" theme (v2), matched to the navy/gold business card */
@font-face{font-family:"Cinzel";src:url(../assets/fonts/cinzel.woff2) format("woff2");font-weight:400 900;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(../assets/fonts/cormorant.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(../assets/fonts/cormorant-italic.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
:root{
  --navy:#0a1f3d; --navy-2:#061529; --navy-3:#112c52; --gold:#d4af5a; --gold-2:#e9cd85; --gold-d:#a8842f;
  --teal:#1f8a94; --ivory:#fbf6ea; --ivory-2:#f4ecd9; --ink:#1b2738; --muted:#5e6673; --line:#e3d3ac;
  --caps:"Cinzel","Trajan Pro","Cormorant SC",Georgia,"Times New Roman",serif;
  --serif:"Cormorant Garamond","EB Garamond",Garamond,Georgia,"Times New Roman",serif;
  --sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--navy);color:var(--ink);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
[hidden]{display:none!important}
.wrap{width:min(1200px,100% - 48px);margin-inline:auto}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:var(--navy);padding:8px 14px;border-radius:6px;z-index:100}
.skip:focus{left:12px}
/* shared ornaments */
.caps{font-family:var(--caps);letter-spacing:.16em;text-transform:uppercase}
.script{font-family:var(--serif);font-style:italic;font-weight:500}
.kicker{font:600 .8rem/1.3 var(--caps);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin:0 0 12px}
.divider{display:flex;align-items:center;gap:12px;color:var(--gold);margin:16px 0;max-width:440px}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,currentColor 20%,currentColor 80%,transparent)}
.divider i{width:9px;height:9px;background:currentColor;transform:rotate(45deg);box-shadow:0 0 0 3px var(--bg,var(--navy)),0 0 0 4px currentColor;flex:none}
.divider.center{margin-inline:auto}
.frame{position:relative}
.frame::after{content:"";position:absolute;inset:10px;border:1px solid rgba(212,175,90,.55);pointer-events:none;border-radius:inherit}
.navy{--bg:var(--navy);background:var(--navy) url(../assets/brand/tile-faint.svg);color:#e9e3d4}
.ivory{--bg:var(--ivory);background:var(--ivory) url(../assets/brand/tile-faint-ivory.svg);color:var(--ink)}
h1,h2,h3{margin:0;font-weight:500}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 .88rem/1 var(--caps);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-radius:4px;padding:16px 24px;border:1px solid transparent;cursor:pointer;transition:transform .15s,background .15s,color .15s}
.btn:hover{transform:translateY(-1px)}
.btn-gold{background:linear-gradient(180deg,var(--gold-2),var(--gold));color:var(--navy-2);border-color:var(--gold-d);box-shadow:0 10px 24px -14px rgba(212,175,90,.9)}
.btn-gold:hover{background:var(--gold-2)}
.btn-line{background:transparent;color:var(--gold-2);border-color:rgba(212,175,90,.7)}
.btn-line:hover{background:rgba(212,175,90,.1)}
.btn-navy{background:var(--navy);color:var(--gold-2);border-color:var(--navy)}
.btn-navy-line{background:transparent;color:var(--navy);border-color:var(--navy)}
/* header */
.site-header{position:sticky;top:0;z-index:40;background:rgba(6,21,41,.96);backdrop-filter:blur(6px);border-bottom:1px solid rgba(212,175,90,.45)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:82px;gap:16px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand img{width:58px;height:58px;border-radius:50%;box-shadow:0 0 0 2px var(--gold),0 0 0 5px var(--navy-2),0 0 0 6px rgba(212,175,90,.5)}
.brand-name{font:600 1.15rem/1 var(--caps);letter-spacing:.14em;color:var(--ivory);display:block}
.brand-sub{font:italic 500 1rem/1 var(--serif);color:var(--gold);display:block;margin-top:6px}
.nav{display:flex;align-items:center;gap:30px}
.nav a{font:600 .8rem var(--caps);letter-spacing:.18em;text-transform:uppercase;color:#e9e3d4;text-decoration:none}
.nav a:hover{color:var(--gold-2)}
.nav .btn{padding:12px 18px;color:var(--navy-2)}
/* hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(800px 500px at 30% 40%,#14325c 0%,transparent 70%),var(--navy) url(../assets/brand/tile-faint.svg)}
.band{position:absolute;top:0;bottom:0;width:86px;background:url(../assets/brand/tile-star.svg) 0 0/86px;border:solid var(--gold);border-width:0 2px}
.band.l{left:0;border-left:0}.band.r{right:0;border-right:0}
.hero-inner{position:relative;margin:40px 110px;border:1px solid rgba(212,175,90,.6);padding:70px 56px;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.hero-inner::before{content:"";position:absolute;inset:8px;border:1px solid rgba(212,175,90,.25);pointer-events:none}
.hero-copy{text-align:center;justify-self:center;max-width:560px}
.hero-copy .logo-lg{width:120px;height:120px;border-radius:50%;margin:0 auto 18px;box-shadow:0 0 0 2px var(--gold),0 0 0 7px var(--navy),0 0 0 8px rgba(212,175,90,.5)}
.hero .shop{font:600 1.15rem var(--caps);letter-spacing:.2em;color:var(--ivory);margin:0}
.hero h1{font:500 clamp(2.3rem,4.6vw,3.9rem)/1.05 var(--caps);letter-spacing:.08em;color:var(--gold-2);text-transform:uppercase;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero .tag{font:italic 500 clamp(1.35rem,2.2vw,1.8rem)/1.3 var(--serif);color:#efe6d0;margin:6px 0 0}
.hero .lead{color:#c9cfd9;font-size:1.05rem;margin:18px auto 26px;max-width:32em}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.order-line{margin:26px 0 0;font:600 .82rem var(--caps);letter-spacing:.24em;color:#e9e3d4;text-transform:uppercase}
.order-line a{display:block;font:600 clamp(1.7rem,3vw,2.3rem)/1.2 var(--caps);letter-spacing:.04em;color:var(--gold-2);text-decoration:none;margin-top:6px}
.hero-art{justify-self:center;width:min(100%,470px)}
.arch{position:relative;border-radius:240px 240px 6px 6px;padding:10px;background:linear-gradient(180deg,var(--gold-2),var(--gold-d));box-shadow:0 40px 70px -30px rgba(0,0,0,.7)}
.arch-in{border-radius:230px 230px 2px 2px;background:radial-gradient(circle at 50% 30%,#1a3d6b,#071830 75%);padding:90px 20px 22px;overflow:hidden;position:relative}
.arch-in::before{content:"";position:absolute;inset:8px;border:1px solid rgba(212,175,90,.5);border-radius:222px 222px 2px 2px;pointer-events:none}
.collage{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:10px;align-items:end;position:relative}
.collage figure{margin:0;border:1px solid rgba(212,175,90,.7);border-radius:3px;overflow:hidden;background:#000}
.collage figure:nth-child(2){transform:translateY(-30px)}
.collage img{width:100%;height:auto}
.arch-cap{text-align:center;margin-top:14px;font:600 .74rem var(--caps);letter-spacing:.22em;color:var(--gold-2);text-transform:uppercase;position:relative}
/* catalog */
.catalog{padding:90px 0}
.sec-head{text-align:center;max-width:720px;margin:0 auto}
.sec-head h2{font:500 clamp(2rem,3.6vw,3rem)/1.1 var(--caps);letter-spacing:.1em;text-transform:uppercase}
.ivory .sec-head h2,.ivory h2,.ivory h3{color:var(--navy)}
.ivory .kicker{color:var(--gold-d)}
.sec-head p{color:var(--muted)}
.tools{margin:34px auto 6px;display:flex;flex-direction:column;align-items:center;gap:16px}
.search{position:relative;width:min(560px,100%)}
.search input{width:100%;font:1rem var(--sans);padding:15px 18px 15px 46px;border-radius:4px;border:1px solid var(--gold);background:#fff;color:var(--ink)}
.search input:focus{outline:2px solid var(--teal);outline-offset:1px}
.search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--gold-d)}
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.chip{font:600 .72rem var(--caps);letter-spacing:.14em;text-transform:uppercase;padding:10px 14px;border-radius:3px;border:1px solid var(--line);background:#fff;color:var(--navy);cursor:pointer}
.chip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--gold-2)}
.count{font-size:.88rem;color:var(--muted);margin:0}
.collection-intro{margin:40px auto 0;max-width:900px;text-align:center;padding:30px 36px;border:1px solid var(--gold);background:rgba(255,255,255,.7);position:relative}
.collection-intro::after{content:"";position:absolute;inset:6px;border:1px solid rgba(212,175,90,.4);pointer-events:none}
.collection-intro h3{font:500 1.5rem var(--caps);letter-spacing:.12em;text-transform:uppercase}
.collection-intro p{margin:0;color:#4b5462;font:500 1.15rem/1.55 var(--serif)}
.subgroup{margin-top:60px}
.subgroup-head{text-align:center;margin-bottom:24px}
.subgroup-head h3{font:500 clamp(1.4rem,2.4vw,1.9rem) var(--caps);letter-spacing:.12em;text-transform:uppercase}
.subgroup-head p{margin:2px 0 0;font:italic 500 1.15rem var(--serif);color:var(--gold-d)}
.subgroup-head .divider{margin:10px auto 0;max-width:260px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{display:flex;flex-direction:column;text-align:left;font:inherit;color:inherit;background:#fffdf7;border:1px solid var(--gold);border-radius:4px;overflow:hidden;cursor:pointer;padding:8px;position:relative;box-shadow:0 14px 30px -24px rgba(10,31,61,.55);transition:transform .2s,box-shadow .2s}
.card:hover,.card:focus-visible{transform:translateY(-3px);box-shadow:0 24px 40px -24px rgba(10,31,61,.6)}
.card:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.card .ph{aspect-ratio:4/5;background:#efe7d6;position:relative;overflow:hidden;border:1px solid rgba(212,175,90,.5)}
.card .ph picture{position:absolute;inset:0}
.card .ph img{width:100%;height:100%;object-fit:contain}
.card .body{padding:14px 10px 8px;display:flex;flex-direction:column;gap:5px;flex:1;text-align:center}
.item-no{font:600 .7rem/1 var(--caps);letter-spacing:.2em;color:var(--teal)}
.card h4{font:600 1.35rem/1.15 var(--serif);color:var(--navy);margin:2px 0 0}
.card p{margin:0;font-size:.9rem;color:var(--muted)}
.card .foot{margin-top:auto;padding-top:10px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font:600 .68rem var(--caps);letter-spacing:.12em;text-transform:uppercase}
.price{color:var(--navy)}
.more{color:var(--gold-d)}
.empty{display:none;margin:36px auto 0;max-width:640px;text-align:center;padding:24px;border:1px dashed var(--gold);color:var(--muted)}
.coming{margin:64px 0 0;text-align:center;font:italic 500 1.5rem/1.4 var(--serif);color:var(--navy)}
/* meet */
.meet{padding:96px 0}
.meet .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}
.placeholder{aspect-ratio:4/5;max-width:420px;width:100%;justify-self:center;border-radius:210px 210px 4px 4px;padding:10px;background:linear-gradient(180deg,var(--gold-2),var(--gold-d))}
.placeholder>div{height:100%;border-radius:200px 200px 2px 2px;background:repeating-linear-gradient(135deg,#13305a 0 14px,#0f2849 14px 28px);display:grid;place-items:center;text-align:center;color:#d8cfb8;padding:30px;border:1px dashed rgba(212,175,90,.6)}
.placeholder img{width:84px;height:84px;border-radius:50%;margin:0 auto 14px;box-shadow:0 0 0 2px var(--gold)}
.placeholder strong{display:block;font:600 1.05rem var(--caps);letter-spacing:.12em;color:var(--gold-2)}
.placeholder span{font:italic 1.05rem var(--serif)}
.meet h2{font:500 clamp(2rem,3.4vw,2.9rem)/1.12 var(--caps);letter-spacing:.08em;color:var(--gold-2);text-transform:uppercase}
.meet .tag{font:italic 500 1.5rem var(--serif);color:#efe6d0;margin:4px 0 0}
.meet p{color:#c9cfd9;max-width:34em}
.meet .btn{margin-top:12px}
/* steps */
.steps{padding:90px 0}
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}
.step{text-align:center;padding:30px 24px;border:1px solid var(--gold);background:rgba(255,255,255,.75);position:relative}
.step::after{content:"";position:absolute;inset:6px;border:1px solid rgba(212,175,90,.35);pointer-events:none}
.step .n{font:600 1.1rem var(--caps);letter-spacing:.2em;color:var(--gold-d)}
.step h3{font:500 1.35rem var(--caps);letter-spacing:.12em;text-transform:uppercase;margin:8px 0 4px}
.step p{margin:0;color:var(--muted)}
/* contact (card back) */
.contact{position:relative;overflow:hidden;padding:96px 0 0}
.contact .corner{position:absolute;right:0;bottom:0;width:340px;height:300px;background:url(../assets/brand/tile-star.svg) 0 0/80px;clip-path:polygon(100% 0,100% 100%,0 100%);border-top:2px solid var(--gold);opacity:.95}
.contact .corner.tl{left:0;top:0;right:auto;bottom:auto;width:200px;height:180px;clip-path:polygon(0 0,100% 0,0 100%);opacity:.9}
.contact-card{position:relative;max-width:820px;margin:0 auto;text-align:center;border:1px solid rgba(212,175,90,.65);padding:56px 40px;background:rgba(6,21,41,.55)}
.contact-card::before{content:"";position:absolute;inset:8px;border:1px solid rgba(212,175,90,.25);pointer-events:none}
.contact .name{font:600 clamp(2rem,4.4vw,3.4rem)/1.05 var(--caps);letter-spacing:.06em;color:var(--gold-2);margin:0}
.contact .shopline{font:600 1.05rem var(--caps);letter-spacing:.22em;color:var(--gold);margin:6px 0 0}
.contact .order{font:600 .9rem var(--caps);letter-spacing:.28em;color:#e9e3d4;margin:0}
.contact .phone{display:inline-block;font:600 clamp(2.2rem,5vw,3.6rem)/1.15 var(--caps);color:var(--gold-2);text-decoration:none;letter-spacing:.03em}
.contact .web{font:600 1.3rem var(--serif);color:#f3ecdc;margin:0}
.contact .tag{font:italic 500 1.4rem var(--serif);color:#e9e3d4;margin:2px 0 0}
.contact .ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.social{margin:26px 0 0;display:flex;justify-content:center;gap:18px;align-items:center;color:#e9e3d4}
.social a{color:var(--gold-2);font-weight:600;text-underline-offset:4px}
.site-footer{position:relative;margin-top:80px;border-top:1px solid rgba(212,175,90,.35);padding:24px 0 30px;font:500 .74rem var(--caps);letter-spacing:.16em;text-transform:uppercase;color:#b7b09d;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
/* modal */
dialog.modal{position:fixed;border:1px solid var(--gold);padding:0;border-radius:4px;width:min(1000px,calc(100% - 32px));max-height:calc(100dvh - 32px);background:var(--ivory);color:var(--ink);box-shadow:0 40px 90px -30px rgba(0,0,0,.7);overflow:auto}
dialog.modal::backdrop{background:rgba(4,12,26,.78)}
.modal-inner{display:grid;grid-template-columns:1fr 1.05fr}
.modal-photo{background:var(--navy) url(../assets/brand/tile-faint.svg);display:flex;align-items:center;justify-content:center;padding:18px}
.modal-photo img{width:100%;height:100%;max-height:calc(100dvh - 70px);object-fit:contain;border:1px solid rgba(212,175,90,.6)}
.modal-body{padding:46px 42px 36px;position:relative}
.modal-close{position:absolute;top:12px;right:12px;z-index:5;width:42px;height:42px;border-radius:50%;border:1px solid var(--gold);background:var(--ivory);color:var(--navy);font-size:1.5rem;cursor:pointer}
#m-sub{padding-right:44px;color:var(--gold-d)}
.modal-body h2{font:600 clamp(1.9rem,3vw,2.5rem)/1.1 var(--serif);color:var(--navy);margin-bottom:6px}
.modal-body .divider{--bg:var(--ivory);margin:10px 0 16px;max-width:260px}
.modal-body .desc{margin:0 0 18px;color:#3f4854}
.ref{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);padding:12px 16px;margin-bottom:14px}
.ref small{display:block;font:600 .66rem var(--caps);letter-spacing:.18em;color:var(--muted)}
.ref b{font:600 1.15rem var(--caps);letter-spacing:.08em;color:var(--navy)}
.ref button{font:600 .7rem var(--caps);letter-spacing:.14em;border:1px solid var(--gold);border-radius:3px;background:var(--ivory);color:var(--navy);padding:8px 12px;cursor:pointer}
.modal-price{font:600 .85rem var(--caps);letter-spacing:.16em;text-transform:uppercase;color:var(--navy);margin:0 0 6px}
.note{font-size:.88rem;color:var(--muted);margin:0 0 20px}
.modal-ctas{display:grid;gap:10px}
.modal-ctas .btn{width:100%}
.about{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font:500 1.02rem/1.5 var(--serif);color:#4b5462}
.about strong{display:block;font:600 .7rem var(--caps);letter-spacing:.2em;color:var(--teal);text-transform:uppercase;margin-bottom:6px}
/* responsive */
@media (max-width:1100px){.hero-inner{margin:32px 80px;padding:56px 34px}.band{width:60px;background-size:60px}}
@media (max-width:960px){
  .hero-inner{grid-template-columns:1fr;gap:44px}
  .meet .wrap{grid-template-columns:1fr;gap:40px;text-align:center}.meet .divider{margin-inline:auto}.meet p{margin-inline:auto}
  .grid{grid-template-columns:repeat(2,1fr)}
  .modal-inner{grid-template-columns:1fr}.modal-photo img{max-height:44vh}.modal-body{padding:28px 22px 26px}
}
@media (max-width:720px){
  .wrap{width:calc(100% - 32px)}
  .nav a:not(.btn){display:none}
  .site-header .wrap{height:70px}
  .brand img{width:46px;height:46px}.brand-name{font-size:.92rem;letter-spacing:.1em}.brand-sub{font-size:.9rem}
  .nav .btn{padding:10px 12px;font-size:.7rem}
  .band{width:16px;background-size:40px}
  .hero-inner{margin:16px 24px;padding:40px 18px}
  .hero-copy .logo-lg{width:92px;height:92px}
  .catalog,.meet,.steps{padding:64px 0}
  .grid{gap:10px}.card{padding:5px}.card .body{padding:10px 4px 4px}.card h4{font-size:1.08rem}.card p{display:none}
  .card .foot{flex-direction:column;gap:3px;font-size:.6rem}
  .chip{padding:9px 10px;font-size:.64rem}
  .step-grid{grid-template-columns:1fr;gap:16px}
  .contact-card{padding:40px 18px}
  .contact .corner{width:160px;height:140px}.contact .corner.tl{width:100px;height:90px}
  .collection-intro{padding:24px 18px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* v2 fixes */
.contact .corner:not(.tl){bottom:84px}
.site-footer{z-index:1}
.grid{display:flex;flex-wrap:wrap;justify-content:center}
.grid .card{flex:0 1 calc((100% - 52px)/3)}
@media (max-width:960px){.grid .card{flex-basis:calc((100% - 26px)/2)}}
@media (max-width:720px){.grid .card{flex-basis:calc((100% - 10px)/2)}.contact .corner:not(.tl){bottom:110px}}
.btn{white-space:nowrap}
@media (max-width:720px){.brand{gap:10px}.brand-name{font-size:.8rem;letter-spacing:.06em;white-space:nowrap}.brand-sub{font-size:.85rem}.nav .btn{padding:10px 11px;font-size:.62rem;letter-spacing:.1em}}
@media (max-width:360px){.brand-sub{display:none}}
/* v3: two collections */
.col-tiles{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:940px;margin:36px auto 0}
.col-tile{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center;text-decoration:none;color:var(--ink);background:#fffdf7;border:1px solid var(--gold);padding:10px;position:relative;transition:transform .2s,box-shadow .2s;box-shadow:0 14px 30px -24px rgba(10,31,61,.55)}
.col-tile::after{content:"";position:absolute;inset:5px;border:1px solid rgba(212,175,90,.35);pointer-events:none}
.col-tile:hover{transform:translateY(-3px)}
.col-img{aspect-ratio:3/4;background:var(--navy);display:block;overflow:hidden;border:1px solid rgba(212,175,90,.6)}
.col-img img{width:100%;height:100%;object-fit:cover}
.col-txt{display:flex;flex-direction:column;gap:4px;padding-right:8px}
.col-txt .kicker{margin:0;color:var(--gold-d)}
.col-name{font:500 1.35rem/1.15 var(--caps);letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}
.col-line{font:italic 500 1.1rem var(--serif);color:var(--muted)}
.col-go{font:600 .7rem var(--caps);letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-top:6px}
.collection{margin-top:72px;scroll-margin-top:96px}
.col-head{text-align:center}
.col-head h2{font:500 clamp(1.9rem,3.4vw,2.7rem)/1.1 var(--caps);letter-spacing:.1em;text-transform:uppercase;color:var(--navy)}
.col-sub{font:italic 500 1.2rem var(--serif);color:var(--muted);margin:0}
#candles .subgroup{margin-top:30px}
#candles{padding-top:56px;border-top:1px solid var(--line)}
.chip-cndl{border-color:var(--gold)}
@media (max-width:720px){
  .col-tiles{grid-template-columns:1fr;gap:14px}
  .col-tile{grid-template-columns:96px 1fr;gap:14px}
  .col-name{font-size:1.1rem}
  .chips{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;width:calc(100% + 32px);margin:0 -16px;padding:2px 16px 8px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
  .chip{flex:none}
  .collection{margin-top:56px}
}
dialog.modal{overflow-x:hidden}
.modal-inner>*{min-width:0}
@media (max-width:960px){.modal-inner{grid-template-columns:minmax(0,1fr)}.modal-photo img{width:auto;max-width:100%;height:auto}}

/* v4 */
.card .ph{position:relative}
.badge-ooak{position:absolute;top:10px;left:10px;z-index:2;background:rgba(11,21,48,.85);color:#e8c766;border:1px solid #c9a24a;font:600 .68rem/1 Cinzel,serif;letter-spacing:.06em;text-transform:uppercase;padding:6px 8px;border-radius:999px}
.card .meta{color:#8a6414;font-size:.9rem;margin:.1rem 0 .3rem;font-style:italic}
.card .price:not(.ask){font-family:Cinzel,serif;font-size:1.2rem;font-weight:700;color:#8a6414}
.row-sort{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.sort{font-size:.95rem;color:inherit;display:flex;gap:8px;align-items:center}
.sort select{background:#0b1530;color:#f3e9d2;border:1px solid #c9a24a;border-radius:8px;padding:6px 8px;font:inherit;max-width:100%}
.facts{list-style:none;padding:0;margin:.4rem 0;display:flex;flex-wrap:wrap;gap:6px}
.facts li{border:1px solid #c9a24a;color:#e8c766;border-radius:999px;padding:4px 10px;font-size:.88rem}
.modal-price{font-family:Cinzel,serif;font-size:1.4rem}

/* v1.2 multi-page */
.nav a[aria-current="page"]:not(.btn){color:var(--gold-2)}
.nav-m{display:none}
@media (max-width:720px){.nav-m{display:flex;justify-content:center;gap:4px;background:var(--navy);border-bottom:1px solid rgba(212,175,90,.35);padding:4px 8px}
 .nav-m a{flex:1;text-align:center;padding:10px 4px;font:600 .66rem var(--caps);letter-spacing:.12em;text-transform:uppercase;color:#e9e3d4;text-decoration:none}
 .nav-m a[aria-current="page"]{color:var(--gold-2);box-shadow:inset 0 -2px 0 var(--gold)}}
.sms-wrap{display:inline-flex;flex-direction:column;align-items:center;gap:6px}
.sms-num{font:500 .95rem var(--serif);color:inherit;opacity:.9}
.sms-num a{color:var(--gold-2);font-weight:600;text-underline-offset:3px}
.hero-ctas{align-items:flex-start}
.home-cta{padding:88px 0;text-align:center}
.home-cta h2{font:500 clamp(1.9rem,3.2vw,2.7rem)/1.15 var(--caps);letter-spacing:.08em;color:var(--gold-2);text-transform:uppercase}
.cta-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:860px;margin:34px auto 0}
.cta-card{display:flex;flex-direction:column;gap:8px;padding:34px 26px;border:1px solid rgba(212,175,90,.65);background:rgba(6,21,41,.55);color:#e9e3d4;text-decoration:none;transition:transform .15s,background .15s}
.cta-card:hover{transform:translateY(-3px);background:rgba(212,175,90,.08)}
.cta-card strong{font:600 clamp(1.3rem,2.4vw,1.7rem) var(--caps);letter-spacing:.08em;color:var(--gold-2);text-transform:uppercase}
.cta-card span:last-child{font:italic 500 1.2rem var(--serif)}
.home-cta .more{margin-top:28px}.home-cta .more a{color:var(--gold-2);font:500 1.15rem var(--serif);text-underline-offset:4px}
.contact{padding-bottom:96px}
.social{flex-wrap:wrap}
.ask{padding:88px 0}
.ask .sec-head p{max-width:36em;margin-inline:auto}
.ask-form{max-width:680px;margin:28px auto 0;display:grid;gap:16px;background:#fff;border:1px solid var(--line);padding:30px 28px;position:relative}
.ask-form label{display:grid;gap:6px;font:600 .72rem var(--caps);letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}
.ask-form input,.ask-form textarea{font:500 1.05rem var(--serif);padding:12px 14px;border:1px solid #c9c2b0;border-radius:4px;background:var(--ivory);color:var(--ink);width:100%;box-sizing:border-box;text-transform:none;letter-spacing:0}
.ask-form input:focus,.ask-form textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.ask-form .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ask-form .hint{margin:-6px 0 0;font-size:.92rem;color:var(--muted)}.ask-form .hint.warn{color:#9b2c1f;font-weight:600}
.ask-form .btn{justify-self:start}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.notice{max-width:680px;margin:24px auto 0;padding:22px 24px;border:1px solid var(--gold);background:#fffaf0;text-align:center;font:500 1.15rem/1.5 var(--serif);color:var(--navy)}
.notice strong{display:block;font:600 1rem var(--caps);letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}
.notice.err{border-color:#b5473a;background:#fff4f2}
.notice a{color:var(--navy);font-weight:600}
.m-num{margin:10px 0 0;font-size:.95rem;color:var(--muted);text-align:center}.m-num a{color:var(--navy);font-weight:600}
.site-foot{padding:56px 0 0}
.foot-cols{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:28px;align-items:start}
.foot-name{font:600 1.1rem var(--caps);letter-spacing:.14em;color:var(--gold-2);margin:0 0 6px;text-transform:uppercase}
.foot-tag{font:italic 500 1.1rem var(--serif);color:#c9cfd9;margin:0}
.foot-links,.foot-contact{display:grid;gap:8px}
.foot-links a,.foot-contact a{color:#e9e3d4;font:500 1.08rem var(--serif);text-decoration:none;overflow-wrap:anywhere}
.foot-links a:hover,.foot-contact a:hover{color:var(--gold-2);text-decoration:underline}
.site-foot .site-footer{margin-top:40px}
@media (max-width:720px){.cta-cards,.foot-cols,.ask-form .two{grid-template-columns:minmax(0,1fr)}.home-cta,.ask{padding:64px 0}.ask-form{padding:22px 16px}.foot-cols{text-align:center}.hero-ctas{align-items:center}.contact{padding-bottom:64px}}

/* v1.4: heading + About first, controls right above the grid */
.lamps-intro{margin-top:56px}
.lamps-intro + .tools{margin-top:40px}
.tools + .collection{margin-top:28px}
@media (max-width:720px){.lamps-intro{margin-top:40px}.lamps-intro + .tools{margin-top:28px}}
.lamps-intro{scroll-margin-top:96px}

/* v1.5: consistent section rhythm on the Collection page (major gaps 88/56, inner gaps 48/32) */
.lamps-intro{margin-top:88px}
.lamps-intro + .tools{margin-top:48px}
.tools + .collection{margin-top:0}
#lamps-grid > .subgroup:first-of-type{margin-top:48px}
#candles{margin-top:31px}
@media (max-width:720px){.lamps-intro{margin-top:56px}.lamps-intro + .tools{margin-top:32px}#lamps-grid > .subgroup:first-of-type{margin-top:32px}#candles{margin-top:0}}

.mahin-portrait{margin:0;max-width:420px;width:100%;justify-self:center;border-radius:210px 210px 6px 6px;padding:8px;background:linear-gradient(180deg,var(--gold-2),var(--gold-d));box-shadow:0 18px 40px rgba(0,0,0,.35)}
.mahin-portrait img{display:block;width:100%;height:auto;aspect-ratio:800/1086;object-fit:cover;object-position:50% 40%;border-radius:202px 202px 3px 3px}
