:root{
  --porcelain:#F2EFEF;
  --paper:#FAF8F8;
  --ink:#171214;
  --ink-2:#4B4146;
  --muted:#85797F;
  --line:rgba(23,18,20,.12);
  --rose:#D63B6C;
  --night:#2F2A2D;
  --night-2:#37312F;
  --night-ink:#F3ECEE;
  --night-muted:#A99BA1;
  --night-line:rgba(243,236,238,.14);
  --serif:'Bodoni Moda', 'Didot', 'Bodoni 72', Georgia, serif;
  --sans:'Geist', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mono:'Geist Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
  --ease:cubic-bezier(.2,.8,.2,1);
  --gutter:clamp(16px, 3.2vw, 40px);
  color-scheme:light;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--porcelain);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3{font-family:var(--serif);font-weight:500;margin:0;letter-spacing:-.015em;text-wrap:balance;}
em{font-style:italic;}
p{margin:0;}
a{color:inherit;}
button{font:inherit;color:inherit;}
img{max-width:100%;display:block;}
::selection{background:var(--ink);color:var(--porcelain);}
:focus-visible{outline:2px solid var(--rose);outline-offset:3px;}
.wrap{max-width:1320px;margin:0 auto;padding-inline:var(--gutter);}
.label{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;}
.grain::after{content:"";position:absolute;inset:0;background:url(../img/grain.png);pointer-events:none;z-index:1;opacity:.45;}

.hero.greek .hero-sub a{color:inherit;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;transition:color .3s var(--ease),background-size .35s var(--ease);}
.hero.greek .hero-sub a:hover,.hero.greek .hero-sub a:focus-visible{color:var(--rose);background-size:100% 1px;}
/* ---------- announce + header ---------- */
.announce{background:var(--ink);color:var(--night-ink);text-align:center;padding:9px 16px;}
.announce .label{font-size:.66rem;}
.announce b{font-weight:500;color:#F2A7C0;}
.head{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;transition:background .4s var(--ease), box-shadow .4s var(--ease);}
.head.scrolled{background:color-mix(in srgb, var(--porcelain) 82%, transparent);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);box-shadow:0 1px 0 var(--line);}
.head-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:68px;}
.nav{display:flex;gap:28px;}
.nav a{text-decoration:none;font-size:.86rem;color:var(--ink-2);position:relative;}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease);}
.nav a:hover{color:var(--ink);}
.nav a:hover::after{transform:scaleX(1);transform-origin:left;}
.logo{font-family:var(--serif);font-style:italic;font-weight:500;font-size:1.9rem;letter-spacing:-.03em;text-decoration:none;line-height:1;}
.logo i{font-style:normal;color:var(--rose);}
.head-right{display:flex;justify-content:flex-end;align-items:center;gap:18px;}
.head-right .help{font-size:.86rem;color:var(--ink-2);text-decoration:none;}
.bag-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:transparent;border-radius:999px;padding:8px 14px 8px 12px;cursor:pointer;font-size:.86rem;transition:border-color .3s, background .3s;}
.bag-btn:hover{border-color:var(--ink);}
.bag-btn svg{width:17px;height:17px;}
.bag-count{font-family:var(--mono);font-size:.72rem;min-width:18px;height:18px;border-radius:99px;background:var(--ink);color:var(--porcelain);display:inline-flex;align-items:center;justify-content:center;padding:0 5px;}
.bag-btn.bump{animation:bump .6s var(--ease);}
@keyframes bump{30%{transform:scale(1.12);}60%{transform:scale(.96);}}
.menu-btn{display:none;background:none;border:0;padding:8px;cursor:pointer;}
.menu-btn span{display:block;width:22px;height:1.5px;background:var(--ink);margin:5px 0;transition:transform .4s var(--ease), opacity .3s;}
.menu-open .menu-btn span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.menu-open .menu-btn span:nth-child(2){opacity:0;}
.menu-open .menu-btn span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
.mobile-menu{position:fixed;inset:0;z-index:55;background:var(--porcelain);padding:calc(130px + env(safe-area-inset-top,0px)) var(--gutter) 40px;display:flex;flex-direction:column;gap:6px;clip-path:inset(0 0 100% 0);transition:clip-path .6s var(--ease);pointer-events:none;}
.menu-open .mobile-menu{clip-path:inset(0 0 0 0);pointer-events:auto;}
.mobile-menu a{font-family:var(--serif);font-size:2.6rem;text-decoration:none;line-height:1.15;transform:translateY(20px);opacity:.001;transition:transform .6s var(--ease), opacity .6s;}
.menu-open .mobile-menu a{transform:none;opacity:1;}
.menu-open .mobile-menu a:nth-child(2){transition-delay:.05s;} .menu-open .mobile-menu a:nth-child(3){transition-delay:.1s;} .menu-open .mobile-menu a:nth-child(4){transition-delay:.15s;}

/* ---------- hero ---------- */
.hero{position:relative;height:clamp(620px, 84vh, 860px);overflow:hidden;background:radial-gradient(55% 70% at 74% 42%, #F6E1E8 0%, rgba(246,225,232,0) 62%), radial-gradient(40% 50% at 90% 90%, #E7E4F1 0%, rgba(231,228,241,0) 70%), var(--porcelain);margin-top:-68px;}
.hero-float{position:absolute;z-index:1;top:52%;right:max(-150px, -9vw);height:min(118%, 980px);aspect-ratio:1;transform:translateY(-50%);}
.hero-float .shadow, .hero-float .lw, .hero-float .lw img{position:absolute;inset:0;width:100%;height:100%;}
.hero-float .lw{animation:layerIn 1.5s var(--ease) both;animation-delay:calc(var(--k) * 90ms + 120ms);pointer-events:none;}
.hero-float .lw img{will-change:transform;}
.hero-float .shadow{animation:shadowIn 1.8s .3s var(--ease) both;pointer-events:none;}
@keyframes layerIn{from{opacity:0;transform:translateY(70px) scale(.94);}}
@keyframes shadowIn{from{opacity:0;}}
.hot{position:absolute;z-index:3;background:transparent;border:0;border-radius:45%;cursor:pointer;padding:0;will-change:transform;}
.hot:focus-visible{outline:2px solid var(--rose);outline-offset:4px;}
.hero-copy{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(40px, 7vh, 72px);pointer-events:none;}
.hero-copy a, .hero-copy button{pointer-events:auto;}
.hero-kicker{color:var(--ink-2);margin-bottom:22px;display:flex;align-items:center;gap:12px;}
.hero-kicker::before{content:"";width:28px;height:1px;background:currentColor;}
.hero h1{font-size:clamp(3.1rem, 7.4vw, 7.4rem);line-height:.9;letter-spacing:-.035em;font-weight:400;max-width:11ch;}
.h-line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em;}
.h-line > span{display:inline-block;animation:rise 1s var(--ease) both;}
.h-line:nth-child(2) > span{animation-delay:.12s;}
@keyframes rise{from{transform:translateY(106%);}}
.hero h1 em{font-weight:400;}
.hero-sub{margin-top:26px;max-width:44ch;color:var(--ink-2);font-size:1.02rem;animation:fadeUp .9s .3s var(--ease) both;}
.hero-actions{margin-top:30px;display:flex;align-items:center;gap:26px;flex-wrap:wrap;animation:fadeUp .9s .42s var(--ease) both;}
@keyframes fadeUp{from{transform:translateY(16px);opacity:.001;}}
.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 26px;border-radius:999px;background:var(--ink);color:var(--porcelain);text-decoration:none;font-size:.92rem;font-weight:500;border:0;cursor:pointer;transition:background .3s, transform .5s var(--ease);will-change:transform;}
.btn:hover{background:#2E2429;}
.btn .arr{display:inline-block;transition:transform .45s var(--ease);}
.btn:hover .arr{transform:translateX(4px);}
.btn-light{background:var(--night-ink);color:var(--ink);}
.btn-light:hover{background:#fff;}
.link{font-size:.92rem;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;}
.hero-meta{margin-top:36px;display:flex;gap:28px;flex-wrap:wrap;color:var(--ink-2);font-size:.84rem;animation:fadeUp .9s .54s var(--ease) both;}
.hero-meta b{font-weight:600;color:var(--ink);}
.hero-meta .hint{color:var(--muted);display:inline-flex;align-items:center;gap:8px;}
.hero-meta .hint::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--rose);animation:pulse 1.8s ease-in-out infinite;}
@keyframes pulse{50%{transform:scale(1.6);opacity:.4;}}
@media (hover:none){.hero-meta .hint{display:none;}}
.hero-caption{position:absolute;right:var(--gutter);bottom:clamp(40px, 7vh, 72px);z-index:2;text-align:right;color:var(--ink-2);max-width:230px;animation:fadeUp .9s .7s var(--ease) both;}
.hero-caption .label{display:block;color:var(--ink);margin-bottom:6px;}
.hero-caption p{font-size:.8rem;line-height:1.5;}
.scroll-cue{position:absolute;left:50%;bottom:22px;z-index:2;width:1px;height:44px;background:var(--line);overflow:hidden;}
.scroll-cue::after{content:"";position:absolute;left:0;top:-50%;width:1px;height:50%;background:var(--ink);animation:cue 2.2s var(--ease) infinite;}
@keyframes cue{to{top:110%;}}

/* ---------- ticker ---------- */
.ticker{background:var(--ink);color:var(--night-ink);overflow:hidden;white-space:nowrap;padding-block:15px;}
.ticker-track{display:inline-flex;align-items:center;gap:30px;animation:tick 38s linear infinite;padding-left:30px;}
.ticker-track span{font-family:var(--serif);font-style:italic;font-size:1.15rem;}
.ticker-track svg{width:10px;height:15px;flex:none;fill:#F2A7C0;}
@keyframes tick{to{transform:translateX(-50%);}}

/* ---------- section scaffolding ---------- */
.section{padding-block:clamp(80px, 11vw, 150px);position:relative;}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:clamp(36px, 5vw, 60px);}
.sec-head .label{color:var(--muted);display:block;margin-bottom:18px;}
.sec-head h2{font-size:clamp(2.4rem, 5vw, 4.4rem);line-height:.98;font-weight:400;letter-spacing:-.03em;}
.sec-head p.aside{max-width:34ch;color:var(--ink-2);font-size:.95rem;}

/* ---------- filters ---------- */
.filters{position:relative;display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--paper);}
.filter{position:relative;z-index:1;border:0;background:transparent;padding:9px 16px;border-radius:999px;font-size:.84rem;cursor:pointer;color:var(--ink-2);transition:color .35s;white-space:nowrap;}
.filter.active{color:var(--porcelain);}
.filter-ind{position:absolute;z-index:0;top:4px;bottom:4px;left:4px;width:60px;border-radius:999px;background:var(--ink);transition:left .5s var(--ease), width .5s var(--ease);}

/* ---------- products ---------- */
.grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:48px 22px;}
.product{position:relative;}
.p-media{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:3px;background:var(--bgc, #eee);}
.p-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .7s var(--ease), transform 1.2s var(--ease);}
.p-media .b{opacity:0;transform:scale(1.06);}
.product:hover .p-media .b{opacity:1;transform:scale(1);}
.product:hover .p-media .a{transform:scale(1.04);}
.badge{position:absolute;top:14px;left:14px;z-index:2;background:var(--paper);color:var(--ink);padding:6px 9px 5px;border-radius:2px;}
.quick-add{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;height:50px;border:0;border-radius:999px;background:var(--ink);color:var(--porcelain);font-size:.86rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:0 20px;transform:translateY(calc(100% + 16px));transition:transform .55s var(--ease), background .3s;}
.quick-add:hover{background:#2E2429;}
.product:hover .quick-add, .quick-add:focus-visible{transform:none;}
.quick-add .plus{font-family:var(--mono);}
.p-info{padding-top:18px;}
.p-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.p-row h3{font-size:1.45rem;font-weight:400;letter-spacing:-.02em;}
.p-price{font-family:var(--mono);font-size:.86rem;white-space:nowrap;}
.p-meta{margin-top:6px;color:var(--muted);}
.product.flash .p-media{animation:flash 1.4s var(--ease);}
@keyframes flash{0%,100%{box-shadow:0 0 0 0 rgba(214,59,108,0);}25%{box-shadow:0 0 0 4px rgba(214,59,108,.55);}}

/* ---------- night / material ---------- */
.night{background:var(--night);color:var(--night-ink);position:relative;overflow:hidden;}
.night .label{color:var(--night-muted);}
.material{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(32px, 6vw, 96px);align-items:center;}
.material-media{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:3px;}
.material-media img{width:100%;height:100%;object-fit:cover;}
.material-media{-webkit-mask-image:radial-gradient(130% 110% at 60% 50%, #000 62%, transparent 100%);mask-image:radial-gradient(130% 110% at 60% 50%, #000 62%, transparent 100%);}
.material h2{font-size:clamp(2.3rem, 4.6vw, 4rem);line-height:1;font-weight:400;letter-spacing:-.03em;margin-top:18px;}
.material .lead{margin-top:26px;max-width:46ch;color:var(--night-muted);font-size:1.02rem;}
.specs{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--night-line);}
.spec{padding:24px 18px 0 0;}
.spec + .spec{padding-left:18px;border-left:1px solid var(--night-line);}
.spec-num{font-family:var(--serif);font-size:clamp(2.2rem, 3.6vw, 3.2rem);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em;}
.spec-num small{font-size:.45em;margin-left:4px;font-family:var(--sans);letter-spacing:0;color:var(--night-muted);}
.spec p{margin-top:10px;font-size:.84rem;color:var(--night-muted);line-height:1.5;}
.banner{position:relative;margin-top:clamp(80px, 10vw, 140px);min-height:clamp(440px, 52vw, 700px);display:flex;align-items:center;}
.banner-img{position:absolute;inset:0;overflow:hidden;}
.banner-img img{width:100%;height:100%;object-fit:cover;object-position:70% 50%;}
.banner-img::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg, var(--night) 0%, rgba(47,42,45,.7) 28%, rgba(47,42,45,0) 55%), linear-gradient(to bottom, var(--night) 0%, rgba(47,42,45,0) 20%, rgba(47,42,45,0) 80%, var(--night) 100%);}
.banner-copy{position:relative;z-index:2;max-width:520px;}
.banner-copy h2{font-size:clamp(2.2rem, 4.4vw, 3.8rem);line-height:1;font-weight:400;letter-spacing:-.03em;margin:16px 0 20px;}
.banner-copy p{color:var(--night-muted);max-width:40ch;margin-bottom:30px;}

/* ---------- how to ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px, 4vw, 56px);position:relative;padding-top:40px;}
.steps-line{position:absolute;top:0;left:0;right:0;height:1px;background:var(--line);}
.steps-line i{position:absolute;inset:0;background:var(--ink);transform-origin:left;}
.step-num{font-family:var(--serif);font-style:italic;font-size:4.2rem;line-height:1;color:var(--rose);}
.step h3{font-size:1.6rem;font-weight:400;margin-top:18px;}
.step p{margin-top:10px;color:var(--ink-2);font-size:.95rem;max-width:34ch;}
.step .time{display:inline-block;margin-top:18px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:5px 11px 4px;}
.inbox{margin-top:clamp(56px, 7vw, 90px);display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;padding-top:36px;border-top:1px solid var(--line);}
.inbox h3{font-size:1.9rem;font-weight:400;}
.inbox ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px;}
.inbox li{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:.95rem;}
.inbox li span:last-child{font-family:var(--mono);font-size:.82rem;color:var(--muted);}

/* ---------- compare ---------- */
.compare-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.compare{width:100%;min-width:720px;border-collapse:collapse;}
.compare th, .compare td{text-align:left;padding:20px 22px;border-bottom:1px solid var(--line);font-size:.95rem;vertical-align:top;}
.compare thead th{font-weight:400;padding-top:26px;padding-bottom:22px;}
.compare thead th.label{color:var(--muted);}
.compare tbody th{font-weight:500;color:var(--ink-2);width:22%;font-size:.9rem;}
.compare .us{background:var(--ink);color:var(--porcelain);width:26%;border-bottom-color:rgba(243,236,238,.14);}
.compare thead .us{border-radius:14px 14px 0 0;}
.compare tbody tr:last-child .us{border-radius:0 0 14px 14px;}
.compare tbody tr:last-child td, .compare tbody tr:last-child th{border-bottom:0;}
.compare .us .logo{font-size:1.7rem;color:var(--porcelain);}
.mark{display:inline-flex;align-items:center;gap:8px;}
.mark svg{width:15px;height:15px;flex:none;}
.muted{color:var(--muted);}

/* ---------- reviews ---------- */
.reviews{display:grid;grid-template-columns:320px 1fr;gap:clamp(32px, 5vw, 72px);align-items:start;}
.score{position:sticky;top:110px;}
.score-num{font-family:var(--serif);font-size:clamp(5.5rem, 10vw, 8.5rem);line-height:.85;letter-spacing:-.04em;}
.score-stars{margin-top:14px;color:var(--rose);letter-spacing:4px;}
.score p{margin-top:12px;color:var(--ink-2);font-size:.92rem;}
.bars{margin-top:26px;display:grid;gap:8px;}
.bar{display:grid;grid-template-columns:18px 1fr 40px;align-items:center;gap:10px;font-family:var(--mono);font-size:.74rem;color:var(--muted);}
.bar i{height:3px;background:var(--line);position:relative;border-radius:2px;overflow:hidden;}
.bar i b{position:absolute;inset:0;right:auto;background:var(--ink);border-radius:2px;}
.quotes{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px;cursor:grab;scrollbar-width:thin;scrollbar-color:var(--line) transparent;}
.quotes.dragging{cursor:grabbing;scroll-snap-type:none;}
.quotes.dragging *{pointer-events:none;user-select:none;}
.quote{margin:0;flex:0 0 min(380px, 82vw);scroll-snap-align:start;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:30px 28px;display:flex;flex-direction:column;justify-content:space-between;min-height:300px;}
.quote blockquote{margin:0;font-family:var(--serif);font-size:1.45rem;line-height:1.3;letter-spacing:-.01em;}
.quote footer{margin-top:28px;display:flex;justify-content:space-between;gap:12px;align-items:flex-end;border-top:1px solid var(--line);padding-top:16px;}
.quote .who{font-size:.9rem;font-weight:500;}
.quote .who span{display:block;color:var(--muted);font-weight:400;font-size:.82rem;}
.quote .bought{color:var(--muted);text-align:right;}

/* ---------- footer ---------- */
.foot{background:var(--night);color:var(--night-ink);position:relative;overflow:hidden;padding-top:clamp(80px, 10vw, 130px);}
.news{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end;padding-bottom:clamp(60px, 8vw, 100px);border-bottom:1px solid var(--night-line);}
.news h2{font-size:clamp(2.3rem, 4.6vw, 4rem);line-height:1;font-weight:400;letter-spacing:-.03em;}
.news form{display:flex;border-bottom:1px solid var(--night-ink);padding-bottom:6px;gap:10px;}
.news input{flex:1;min-width:0;background:transparent;border:0;color:var(--night-ink);font:inherit;font-size:1.05rem;padding:12px 0;outline:none;}
.news input::placeholder{color:var(--night-muted);}
.news button{background:none;border:0;color:var(--night-ink);cursor:pointer;font-size:.95rem;display:inline-flex;align-items:center;gap:8px;}
.news-msg{margin-top:14px;color:#F2A7C0;font-size:.9rem;}
.news-note{margin-top:14px;color:var(--night-muted);font-size:.82rem;}
.cols{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;padding-block:56px;}
.cols h4{margin:0 0 16px;font-weight:400;}
.cols ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.cols a, .cols li{color:var(--night-muted);text-decoration:none;font-size:.92rem;}
.cols a:hover{color:var(--night-ink);}
.copy-btn{background:none;border:0;padding:0;cursor:pointer;color:var(--night-ink);font-size:.92rem;text-align:left;border-bottom:1px dashed var(--night-line);}
.copy-btn.done::after{content:"  · copied";color:#F2A7C0;}
.studio-map{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:clamp(28px,5vw,78px);align-items:center;padding:clamp(16px,2vw,28px) 0 clamp(68px,9vw,110px);}
.studio-map-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(24px,4vw,46px) 0;}.studio-wordmark{position:relative;display:inline-block;margin:17px 0 9px;color:var(--night-ink);font:500 clamp(2.1rem,4vw,3.7rem)/1 var(--caps);letter-spacing:.2em;}.studio-logo-letter{position:relative;display:inline-block;}.studio-logo-vine{position:absolute;right:-.25em;top:-.23em;width:.67em;height:1.4em;pointer-events:none;}.studio-map-copy h2{margin:0;font-size:clamp(2.55rem,4vw,4.4rem);line-height:.85;font-weight:400;letter-spacing:-.052em;}.studio-map-copy p{max-width:330px;margin:25px 0 31px;color:var(--night-muted);font:1.06rem/1.42 var(--serif);}.studio-map-link{display:inline-flex;align-items:center;gap:11px;border-bottom:1px solid var(--gold);padding:0 0 8px;color:var(--night-ink);font:600 .7rem var(--mono);letter-spacing:.12em;text-decoration:none;text-transform:uppercase;transition:color .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease);}.studio-map-link:hover{border-color:#F2A7C0;color:#F2A7C0;transform:translateX(4px);}.studio-map-link span{font-size:1.1rem;line-height:0;}
.studio-map-frame{position:relative;min-height:400px;padding:13px;overflow:hidden;background:#e9ddc9;border:1px solid #b99650;box-shadow:13px 15px 0 rgba(0,0,0,.13),inset 0 0 0 1px rgba(255,244,217,.85);}.studio-map-frame::before{position:absolute;z-index:2;inset:20px;border:1px solid rgba(255,246,222,.65);pointer-events:none;content:"";}.studio-map-label{position:relative;display:grid;gap:2px;max-width:100%;padding:11px 14px;background:rgba(30,26,22,.88);color:#f5ecdf;font:.62rem var(--mono);letter-spacing:.08em;text-transform:uppercase;}.studio-map-label b{font-weight:500;}.studio-map-label small{color:#d8ba7c;font-size:.54rem;letter-spacing:.1em;}.studio-map-frame iframe{width:100%;height:100%;min-height:374px;border:0;display:block;}
.giant{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(6rem, 27vw, 26rem);line-height:.9;letter-spacing:-.06em;text-align:center;margin:0 0 .04em;padding-right:.08em;background:linear-gradient(100deg, #6E6268 0%, #F3ECEE 30%, #F2A7C0 45%, #CFC8E8 58%, #6E6268 80%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 9s ease-in-out infinite;user-select:none;}
@keyframes sheen{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}
.legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:22px calc(22px + env(safe-area-inset-bottom,0px));color:var(--night-muted);font-size:.8rem;border-top:1px solid var(--night-line);}

/* ---------- drawer ---------- */
.scrim{position:fixed;inset:0;z-index:80;background:rgba(23,18,20,.35);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .5s var(--ease);}
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:81;width:min(440px, 100%);background:var(--paper);display:flex;flex-direction:column;transform:translateX(102%);transition:transform .65s var(--ease);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);}
.cart-open .scrim{opacity:1;pointer-events:auto;}
.cart-open .drawer{transform:none;}
.d-head{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line);}
.d-head h2{font-size:1.7rem;font-weight:400;}
.icon-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
.icon-btn:hover{border-color:var(--ink);}
.ship{padding:16px 24px;border-bottom:1px solid var(--line);font-size:.86rem;color:var(--ink-2);}
.ship-bar{margin-top:10px;height:3px;background:var(--line);border-radius:2px;overflow:hidden;}
.ship-bar i{display:block;height:100%;width:0;background:var(--rose);transition:width .7s var(--ease);}
.d-items{flex:1;overflow-y:auto;padding:8px 24px;}
.d-empty{padding:60px 0;text-align:center;color:var(--muted);}
.d-empty p{font-family:var(--serif);font-size:1.5rem;color:var(--ink);margin-bottom:8px;}
.item{display:grid;grid-template-columns:78px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);animation:itemIn .5s var(--ease);}
@keyframes itemIn{from{opacity:0;transform:translateX(16px);}}
.item img{width:78px;height:98px;object-fit:cover;border-radius:2px;}
.item h4{margin:0;font-family:var(--serif);font-weight:400;font-size:1.15rem;}
.item .meta{margin-top:4px;color:var(--muted);}
.item select{margin-top:10px;font:inherit;font-size:.8rem;border:1px solid var(--line);background:transparent;border-radius:999px;padding:5px 10px;}
.item .right{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;}
.item .price{font-family:var(--mono);font-size:.84rem;}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;}
.qty button{width:30px;height:30px;border:0;background:none;cursor:pointer;font-family:var(--mono);}
.qty span{min-width:18px;text-align:center;font-family:var(--mono);font-size:.82rem;}
.d-foot{padding:20px 24px 24px;border-top:1px solid var(--line);}
.d-total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;}
.d-total strong{font-family:var(--mono);font-weight:500;font-size:1.05rem;}
.d-foot .btn{width:100%;justify-content:center;}
.d-note{margin-top:12px;font-size:.8rem;color:var(--muted);text-align:center;}

/* ---------- toast + cursor ---------- */
.toast{visibility:hidden;position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:90;transform:translate(-50%, 140%);background:var(--ink);color:var(--porcelain);border-radius:999px;padding:8px 20px 8px 8px;display:flex;align-items:center;gap:12px;font-size:.88rem;transition:transform .6s var(--ease);max-width:calc(100% - 32px);}
.toast.show{visibility:visible;transform:translate(-50%, 0);}
.toast img{width:36px;height:36px;border-radius:50%;object-fit:cover;}
.toast button{background:none;border:0;color:#F2A7C0;cursor:pointer;font-size:.88rem;padding:0 0 0 6px;}
.cursor{position:fixed;left:0;top:0;z-index:100;pointer-events:none;width:36px;height:36px;margin:-18px 0 0 -18px;border:1px solid rgba(23,18,20,.35);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:width .45s var(--ease), height .45s var(--ease), margin .45s var(--ease), background .35s, border-color .35s;opacity:0;}
.cursor.on{opacity:1;}
.cursor span{font-size:.74rem;color:var(--porcelain);white-space:nowrap;opacity:0;transition:opacity .3s;font-weight:500;}
.cursor.big{width:92px;height:92px;margin:-46px 0 0 -46px;background:var(--ink);border-color:var(--ink);}
.cursor.big span{opacity:1;}
.cursor.wide{width:auto;min-width:92px;padding:0 16px;border-radius:999px;height:40px;margin:-20px 0 0 18px;}
@media (hover:none), (pointer:coarse){.cursor{display:none;}}

/* ---------- scroll-driven decoration ---------- */
@supports (animation-timeline: view()){
  .plx img{animation:plx linear both;animation-timeline:view();}
  @keyframes plx{from{transform:translateY(-7%) scale(1.14);}to{transform:translateY(7%) scale(1.14);}}
  .steps-line i{animation:grow linear both;animation-timeline:view();animation-range:entry 20% cover 55%;}
  @keyframes grow{from{transform:scaleX(0);}to{transform:scaleX(1);}}
  .lift{animation:lift linear both;animation-timeline:view();animation-range:entry 0% entry 90%;}
  @keyframes lift{from{transform:translateY(36px);}to{transform:none;}}
}

/* ---------- responsive ---------- */
@media (max-width:1020px){
  .nav, .head-right .help{display:none;}
  .menu-btn{display:block;}
  .head-inner{grid-template-columns:auto 1fr auto;}
  .logo{justify-self:center;}
  .grid{grid-template-columns:repeat(2, 1fr);gap:36px 14px;}
  .material{grid-template-columns:1fr;}
  .material-media{aspect-ratio:5/4;}
  .reviews{grid-template-columns:1fr;}
  .score{position:static;}
  .news{grid-template-columns:1fr;}
  .cols{grid-template-columns:1fr 1fr;}
  .inbox{grid-template-columns:1fr;}
}
@media (max-width:760px){.studio-map{grid-template-columns:1fr;gap:4px;padding:0 0 62px;}.studio-map-copy{padding:15px 0 31px;}.studio-wordmark{margin-top:13px;font-size:2.75rem;}.studio-map-frame{min-height:330px;padding:9px;box-shadow:8px 9px 0 rgba(0,0,0,.13);}.studio-map-frame iframe{min-height:312px;}.studio-map-frame::before{inset:14px;}}
@media (max-width:760px){
  .hero{height:auto;min-height:930px;}
  .hero-float{top:58px;right:auto;left:50%;height:auto;width:min(104vw, 560px);transform:translateX(-50%);}
  .hero-copy{min-height:930px;}
  .hero-meta{gap:10px 22px;margin-top:28px;}
  .hero-caption{display:none;}
  .scroll-cue{display:none;}
  .steps{grid-template-columns:1fr;gap:40px;}
  .specs{grid-template-columns:1fr;}
  .spec + .spec{padding-left:0;border-left:0;border-top:1px solid var(--night-line);}
  .spec{padding:20px 0;}
  .banner{align-items:flex-end;padding-bottom:48px;}
  .banner-img img{object-position:80% 40%;}
  .banner-img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top, var(--night) 18%, rgba(47,42,45,0) 70%);}
  .inbox ul{grid-template-columns:1fr;}
  .quick-add{left:auto;right:10px;bottom:10px;width:44px;height:44px;padding:0;justify-content:center;transform:none;}
  .quick-add .qa-text{display:none;}
  .p-row{flex-direction:column;gap:2px;}
  .p-row h3{font-size:1.15rem;}
  .filters{overflow-x:auto;max-width:100%;}
  .sec-head{align-items:flex-start;}
}
@media (hover:none){
  .quick-add{transform:none;}
}
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
  html{scroll-behavior:auto;}
}

/* ---------- paradise layer (vines, rays, petals, glints) ---------- */
.paradise{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.rays{position:absolute;left:-10%;right:-10%;top:-30%;height:130%;background:repeating-conic-gradient(from 198deg at 68% 0%, rgba(255,236,200,0) 0deg, rgba(255,236,200,.5) 3deg, rgba(255,236,200,0) 7deg, rgba(255,236,200,0) 12deg);-webkit-mask-image:radial-gradient(ellipse 60% 75% at 68% 0%, #000 0%, transparent 72%);mask-image:radial-gradient(ellipse 60% 75% at 68% 0%, #000 0%, transparent 72%);mix-blend-mode:soft-light;opacity:.9;animation:rays 14s ease-in-out infinite alternate;transform-origin:68% 0%;}
.rays.warm{mix-blend-mode:screen;opacity:.55;}
@keyframes rays{from{transform:rotate(-2.5deg);opacity:.55;}to{transform:rotate(2.5deg);opacity:1;}}
.vine{position:absolute;top:0;width:clamp(200px, 25vw, 400px);height:auto;transform-origin:50% 0%;filter:drop-shadow(0 18px 22px rgba(60,40,30,.18));animation:sway 7s ease-in-out infinite alternate;will-change:transform;}
.vine-l{left:-3vw;animation-duration:7.5s;}
.vine-r{right:-3vw;animation-duration:8.5s;animation-delay:-3s;}
.vine.flip{scale:-1 1;}
@keyframes sway{from{transform:rotate(-2.2deg) translateY(-4px);}to{transform:rotate(2.6deg) translateY(3px);}}
.petals{position:absolute;inset:0;width:100%;height:100%;}
.glint{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;background:linear-gradient(90deg, transparent 46%, #fff 50%, transparent 54%), linear-gradient(0deg, transparent 46%, #fff 50%, transparent 54%), radial-gradient(circle, rgba(255,246,220,.95) 0 2px, rgba(255,230,180,0) 6px);animation:twinkle 3.6s ease-in-out infinite;animation-delay:var(--d, 0s);opacity:0;}
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.2) rotate(0deg);}50%{opacity:1;transform:scale(1) rotate(45deg);}}
.bloom{position:absolute;z-index:2;height:auto;pointer-events:none;filter:drop-shadow(0 16px 18px rgba(80,40,40,.18));animation:bloomFloat 9s ease-in-out infinite alternate;animation-delay:var(--d, 0s);will-change:transform;}
@keyframes bloomFloat{from{transform:perspective(700px) rotateY(-16deg) rotateZ(-5deg) translateY(6px);}to{transform:perspective(700px) rotateY(18deg) rotateZ(6deg) translateY(-10px);}}
.hero .paradise{z-index:0;}
.hero .vine{top:40px;}
.hero h1{max-width:none;font-size:clamp(2.8rem, 5.7vw, 5.9rem);}
.hero .h-line{white-space:nowrap;}
.hero .vine-r{right:-2vw;width:clamp(220px, 27vw, 430px);}

/* ---------- eden ---------- */
.eden{position:relative;overflow:hidden;background:linear-gradient(180deg, var(--porcelain) 0%, #FBF1E2 18%, #F9EAE2 62%, #F4E4E6 100%);padding-block:clamp(220px, 22vw, 310px) clamp(90px, 11vw, 150px);}
.eden .vine{top:-6px;width:clamp(190px, 20vw, 330px);}
.eden .vine.v1{left:-2vw;}
.eden .vine.v2{left:36%;width:clamp(170px, 17vw, 290px);animation-delay:-2s;}
.eden .vine.v3{right:-2vw;animation-delay:-5s;}
.eden-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px, 5vw, 80px);align-items:center;}
.eden .label{color:#9A7A45;}
.eden h2{font-size:clamp(2.5rem, 5.2vw, 4.6rem);line-height:.98;font-weight:400;letter-spacing:-.03em;margin:18px 0 24px;}
.eden h2 em{background:linear-gradient(100deg, #9A7A45, #D4A95E 40%, #B2688A 75%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em;}
.eden p.lead{color:var(--ink-2);max-width:44ch;font-size:1.02rem;}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 34px;}
.chip{border:1px solid rgba(154,122,69,.35);color:#6E5530;background:rgba(255,250,240,.6);border-radius:999px;padding:7px 14px 6px;font-size:.82rem;backdrop-filter:blur(6px);}
.eden-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.btn-gold{background:linear-gradient(100deg, #8F6C37, #C9A15C 55%, #9E7A43);color:#FFF8EC;box-shadow:0 14px 30px -14px rgba(143,108,55,.7);}
.btn-gold:hover{background:linear-gradient(100deg, #7E5E2F, #BA924F 55%, #8D6B38);}
.spin{position:relative;aspect-ratio:1;max-width:620px;width:100%;justify-self:center;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;}
.spin.dragging{cursor:grabbing;}
.spin-halo{position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle, rgba(255,247,226,.95) 0%, rgba(255,232,214,.55) 38%, rgba(255,232,214,0) 70%);animation:halo 6s ease-in-out infinite alternate;}
@keyframes halo{from{transform:scale(.94);opacity:.8;}to{transform:scale(1.04);opacity:1;}}
.spin-ring{position:absolute;inset:12%;border-radius:50%;border:1px solid rgba(154,122,69,.25);}
.spin-ring::before{content:"";position:absolute;inset:-1px;border-radius:50%;border:1px solid transparent;border-top-color:rgba(154,122,69,.8);transform:rotate(var(--turn, 0deg));transition:transform .12s linear;}
.spin-shadow{position:absolute;left:30%;right:30%;bottom:9%;height:5%;border-radius:50%;background:radial-gradient(ellipse, rgba(90,60,50,.28), rgba(90,60,50,0) 70%);animation:shadowPulse 5s ease-in-out infinite;}
@keyframes shadowPulse{50%{transform:scaleX(.82);opacity:.7;}}
.spin-stage{position:absolute;inset:0;animation:bob 5s ease-in-out infinite;}
@keyframes bob{50%{transform:translateY(-14px);}}
.spin img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;}
.spin-hint{position:absolute;left:50%;bottom:0;transform:translateX(-50%);color:#8A6E43;white-space:nowrap;display:flex;align-items:center;gap:10px;}
.spin-hint svg{width:30px;height:10px;}
.spin .bloom{z-index:3;}

/* ---------- featured product ---------- */
.grid{grid-template-columns:repeat(4, 1fr);}
.product.featured{grid-column:span 2;display:flex;flex-direction:column;}
.product.featured .p-media{flex:1 1 auto;aspect-ratio:auto;min-height:260px;}
.badge.gold{background:linear-gradient(100deg, #8F6C37, #C9A15C);color:#FFF8EC;}

@media (max-width:1020px){
  .grid{grid-template-columns:repeat(2, 1fr);}
  .product.featured .p-media{flex:none;aspect-ratio:8/5;}
  .eden-grid{grid-template-columns:1fr;}
  .spin{max-width:520px;}
  .eden .vine.v2{display:none;}
}
@media (max-width:760px){
  .vine{width:clamp(150px, 42vw, 240px);}
  .hero .vine{top:48px;}
  .hero .vine-r{width:46vw;right:-6vw;top:44px;}
  .hero .h-line{white-space:normal;}
  .bloom.hide-m{display:none;}
  .eden .vine{width:clamp(140px, 40vw, 220px);}
}
@media (prefers-reduced-motion: reduce){
  .vine, .bloom, .rays, .glint, .spin-stage, .spin-halo{animation:none !important;}
  .glint{opacity:.8;transform:scale(.8);}
}

/* ================= Greek / Roman edition ================= */
:root{
  --porcelain:#F3EFE8;
  --paper:#FBF8F3;
  --ink:#1E1A16;
  --ink-2:#4F473F;
  --muted:#8C8175;
  --line:rgba(30,26,22,.13);
  --rose:#7A1F2E;
  --gold:#A6823E;
  --gold-2:#D9B46C;
  --serif:'Cormorant Garamond', 'Cormorant', Garamond, 'Times New Roman', serif;
  --caps:'Cinzel', 'Trajan Pro', 'Cormorant Garamond', serif;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-soft:cubic-bezier(.33,.0,.2,1);
}
body{background:var(--porcelain);}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;}
.label{font-family:var(--caps);font-size:.68rem;letter-spacing:.2em;font-weight:500;}
::selection{background:var(--rose);color:#fff;}

/* meander (Greek key) band */
.meander{height:14px;background-repeat:repeat-x;background-size:28px 14px;opacity:.75;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='14' viewBox='0 0 28 14'%3E%3Cpath d='M0 13H28M26 13V1H3V10H22V4H8V8H17' fill='none' stroke='%23A6823E' stroke-width='1.2'/%3E%3C/svg%3E");}
.meander.light{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='14' viewBox='0 0 28 14'%3E%3Cpath d='M0 13H28M26 13V1H3V10H22V4H8V8H17' fill='none' stroke='%23D9B46C' stroke-width='1.2'/%3E%3C/svg%3E");opacity:.5;}

/* header */
.announce{background:#1E1A16;}
.announce .label{font-size:.62rem;letter-spacing:.22em;}
.announce b{color:var(--gold-2);}
.logo{font-family:var(--caps);font-style:normal;font-weight:500;font-size:1.45rem;letter-spacing:.32em;padding-left:.32em;}
.logo i{color:var(--gold);font-style:normal;}
.nav a{font-family:var(--caps);font-size:.72rem;letter-spacing:.18em;color:var(--ink-2);}
.head-right .help{font-family:var(--caps);font-size:.72rem;letter-spacing:.18em;}
.bag-btn{font-family:var(--caps);font-size:.72rem;letter-spacing:.14em;border-color:rgba(30,26,22,.2);}
.bag-count{background:var(--rose);}
.head.scrolled{background:color-mix(in srgb, var(--porcelain) 86%, transparent);}
.btn{font-family:var(--caps);font-size:.74rem;letter-spacing:.2em;padding:17px 28px;background:var(--ink);}
.btn:hover{background:#3A3129;}
.btn-light{background:#F6EFE3;color:var(--ink);}
.btn-light:hover{background:#fff;}
.link{font-family:var(--caps);font-size:.72rem;letter-spacing:.18em;border-bottom-color:rgba(30,26,22,.4);}

/* ---------- hero: the goddess ---------- */
.hero.greek{height:clamp(660px, 90vh, 920px);background:#E9DFD1;margin-top:-68px;overflow:hidden;}
.h-layer{position:absolute;will-change:transform;}
.h-bg{inset:-4% -3%;animation:bgIn 3.2s var(--ease-soft) both;}
.h-bg img{width:100%;height:100%;object-fit:cover;object-position:32% 58%;}
@keyframes bgIn{from{opacity:0;transform:scale(1.08);}}
.h-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg, rgba(243,239,232,.94) 0%, rgba(243,239,232,.78) 28%, rgba(243,239,232,.25) 50%, rgba(243,239,232,0) 64%), linear-gradient(0deg, rgba(243,239,232,.5), rgba(243,239,232,0) 30%);}
.hero.greek .paradise{z-index:2;}
.h-hand{z-index:3;top:-1%;right:max(9vw, calc(50vw - 600px));height:80%;filter:drop-shadow(-30px 40px 40px rgba(60,35,15,.28));animation:handIn 2.6s .5s var(--ease-soft) both;}
.h-hand img{height:100%;width:auto;display:block;animation:handFloat 9s ease-in-out 3s infinite alternate;transform-origin:62% 0%;}
@keyframes handIn{from{opacity:0;transform:translateY(-90px);}}
@keyframes handFloat{from{transform:rotate(-1.2deg) translateY(0);}to{transform:rotate(1.4deg) translateY(12px);}}
.h-rose{z-index:4;filter:drop-shadow(0 24px 28px rgba(60,20,20,.3));animation:roseIn 2.4s var(--ease-soft) both;}
.h-rose img{width:100%;height:auto;display:block;animation:roseSway 11s ease-in-out infinite alternate;animation-delay:var(--d, 0s);}
.h-rose.r1{right:-3%;bottom:-9%;width:min(26vw, 420px);animation-delay:.9s;}
.h-rose.r2{right:22%;bottom:-7%;width:min(15vw, 240px);animation-delay:1.2s;}
.h-rose.r3{right:15%;bottom:9%;width:min(10vw, 160px);animation-delay:1.5s;}
@keyframes roseIn{from{opacity:0;transform:translateY(60px) scale(.96);}}
@keyframes roseSway{from{transform:perspective(900px) rotateY(-10deg) rotateZ(-3deg);}to{transform:perspective(900px) rotateY(12deg) rotateZ(3deg) translateY(-6px);}}
.apple-hot{position:absolute;z-index:5;border-radius:50%;background:transparent;border:0;cursor:pointer;}
.apple-glow{position:absolute;z-index:3;border-radius:50%;pointer-events:none;background:radial-gradient(circle, rgba(255,214,140,.55) 0%, rgba(255,214,140,0) 65%);mix-blend-mode:screen;animation:appleGlow 4.5s ease-in-out infinite alternate;}
@keyframes appleGlow{from{opacity:.35;transform:scale(.9);}to{opacity:.9;transform:scale(1.12);}}
.hero.greek .hero-copy{z-index:6;}
.greek-kicker{display:flex;align-items:center;gap:14px;color:var(--gold);margin-bottom:22px;animation:fadeUp 1.4s .6s var(--ease) both;}
.greek-kicker .gr{font-family:var(--serif);font-style:italic;font-size:1.25rem;letter-spacing:.02em;text-transform:none;color:var(--ink-2);}
.greek-kicker::before{content:"";width:34px;height:1px;background:currentColor;}
.hero.greek h1{font-size:clamp(3.4rem, 8vw, 8.4rem);line-height:.86;font-weight:300;letter-spacing:-.025em;max-width:none;}
.hero.greek h1 em{font-weight:300;font-style:italic;color:var(--rose);}
.hero.greek .h-line{white-space:nowrap;}
.hero.greek .h-line > span{animation:rise 1.8s var(--ease) both;animation-delay:.7s;}
.hero.greek .h-line:nth-child(2) > span{animation-delay:.95s;}
.hero.greek .hero-sub{font-family:var(--serif);font-size:1.32rem;line-height:1.5;color:var(--ink-2);max-width:40ch;animation:fadeUp 1.6s 1.2s var(--ease) both;}
.hero.greek .hero-actions{animation:fadeUp 1.6s 1.4s var(--ease) both;}
.hero.greek .hero-meta{font-family:var(--caps);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;gap:30px;animation:fadeUp 1.6s 1.6s var(--ease) both;}
.hero.greek .hero-meta b{font-weight:600;color:var(--rose);}
.hero-caption-g{position:absolute;z-index:6;right:var(--gutter);bottom:34px;text-align:right;color:rgba(30,26,22,.75);animation:fadeUp 1.6s 2s var(--ease) both;}
.hero-caption-g .label{display:block;color:var(--ink);}
.hero-caption-g span{font-family:var(--serif);font-style:italic;font-size:1rem;}

/* ticker */
.ticker{background:#1E1A16;padding-block:16px;}
.ticker-track span{font-family:var(--caps);font-style:normal;font-size:.8rem;letter-spacing:.24em;text-transform:uppercase;color:#EFE6D6;}
.ticker-track svg{fill:var(--gold-2);width:14px;height:14px;}

/* sections */
.sec-head .label{color:var(--gold);}
.sec-head h2{font-weight:300;font-size:clamp(2.7rem, 5.6vw, 5rem);line-height:.95;}
.sec-head h2 em{color:var(--rose);}
.sec-head p.aside{font-family:var(--serif);font-size:1.15rem;line-height:1.5;}
.filter{font-family:var(--caps);font-size:.66rem;letter-spacing:.16em;}
.filter-ind{background:var(--ink);}
.filters{background:var(--paper);}
.p-media{border-radius:2px;}
.p-row h3{font-family:var(--serif);font-size:1.6rem;font-weight:400;}
.p-price{font-family:var(--caps);font-size:.74rem;letter-spacing:.1em;}
.p-meta{font-family:var(--caps);font-size:.6rem;letter-spacing:.16em;}
.badge{font-family:var(--caps);letter-spacing:.18em;}
.badge.gold{background:linear-gradient(100deg, #8F6C37, #C9A15C);}
.quick-add{font-family:var(--caps);font-size:.66rem;letter-spacing:.18em;}

/* Olympus section (reuses .eden scaffolding) */
.eden{background:linear-gradient(180deg, var(--porcelain) 0%, #F6ECDD 22%, #F3E5DA 70%, #EFE3D8 100%);}
.eden .label{color:var(--gold);}
.eden h2{font-weight:300;font-size:clamp(2.8rem, 5.8vw, 5.2rem);}
.eden h2 em{background:linear-gradient(100deg, #8F6C37, #C9A15C 45%, #7A1F2E 85%);-webkit-background-clip:text;background-clip:text;}
.eden p.lead{font-family:var(--serif);font-size:1.25rem;line-height:1.5;}
.chip{font-family:var(--caps);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;}
.olympus-rose{position:absolute;z-index:1;pointer-events:none;filter:drop-shadow(0 20px 24px rgba(70,30,30,.22));}
.olympus-rose img{width:100%;height:auto;display:block;animation:roseSway 12s ease-in-out infinite alternate;animation-delay:var(--d, 0s);}
.column-l, .column-r{position:absolute;top:0;bottom:0;width:clamp(60px, 7vw, 120px);z-index:0;pointer-events:none;opacity:.55;
  background:repeating-linear-gradient(90deg, rgba(255,255,255,.0) 0 6px, rgba(160,140,120,.18) 6px 7px, rgba(255,255,255,.35) 7px 12px, rgba(160,140,120,.12) 12px 13px), linear-gradient(90deg, #EFE7DC, #FBF7F1 45%, #E7DDCF);}
.column-l{left:0;border-right:1px solid rgba(160,140,120,.25);}
.column-r{right:0;border-left:1px solid rgba(160,140,120,.25);}

/* night + other sections */
.material h2, .banner-copy h2, .news h2{font-weight:300;}
.material h2 em, .banner-copy h2 em, .news h2 em{color:var(--gold-2);}
.night .label{color:var(--gold-2);}
.spec-num{font-family:var(--serif);font-weight:300;}
.step-num{font-family:var(--serif);font-style:normal;font-family:var(--caps);font-size:3rem;color:var(--gold);letter-spacing:.06em;}
.step h3{font-family:var(--serif);font-size:1.9rem;font-weight:400;}
.step p{font-family:var(--serif);font-size:1.12rem;line-height:1.5;}
.inbox h3{font-weight:300;font-size:2.2rem;}
.compare .us{background:#1E1A16;}
.compare .us .logo{font-size:1.1rem;color:#F3EDE2;}
.compare thead th.label{font-size:.62rem;}
.score-num{font-family:var(--serif);font-weight:300;}
.score-stars{color:var(--gold);}
.quote blockquote{font-family:var(--serif);font-style:italic;font-size:1.55rem;font-weight:400;}
.bar i b{background:var(--gold);}
.giant-mark{position:relative;isolation:isolate;overflow:hidden;}
.giant-mark .giant{position:relative;z-index:1;}
.giant-vine{position:absolute;z-index:2;width:clamp(115px,14vw,240px);height:auto;opacity:.55;pointer-events:none;filter:saturate(.72) sepia(.18);}
.giant-vine-left{left:clamp(2px,8vw,130px);bottom:-8%;transform:rotate(-10deg) scaleX(-1);transform-origin:bottom center;}
.giant-vine-right{right:clamp(2px,8vw,130px);bottom:-10%;transform:rotate(9deg);transform-origin:bottom center;}
.giant{font-family:var(--caps);font-style:normal;font-weight:500;letter-spacing:.14em;font-size:clamp(4rem, 17vw, 16rem);line-height:.9;padding-left:.14em;padding-right:0;
  background:linear-gradient(100deg, #6E6258 0%, #F1E9DC 28%, #D9B46C 44%, #F4EEE4 58%, #6E6258 82%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;}
.d-head h2{font-weight:400;}
.item h4{font-family:var(--serif);font-size:1.25rem;}
.toast button{color:var(--gold-2);}
.cursor.big{background:var(--rose);border-color:var(--rose);}
.cursor{border-color:rgba(166,130,62,.6);}

@media(max-width:760px){.giant-vine{width:110px;opacity:.48;}.giant-vine-left{left:-20px;}.giant-vine-right{right:-20px;}}

@media (max-width:1020px){
  .h-hand{height:70%;right:2%;}
  .column-l, .column-r{display:none;}
}
@media (max-width:760px){
  .hero.greek{height:auto;min-height:1010px;}
  .hero.greek .hero-copy{min-height:1010px;}
  .h-bg img{object-position:24% 50%;}
  .h-scrim{background:linear-gradient(0deg, rgba(243,239,232,.96) 0%, rgba(243,239,232,.86) 42%, rgba(243,239,232,.2) 64%, rgba(243,239,232,0) 78%);}
  .h-hand{height:420px;right:8%;top:-30px;}
  .h-rose.r1{width:30vw;right:-6%;bottom:auto;top:300px;}
  .h-rose.r2, .h-rose.r3{display:none;}
  .hero.greek h1{font-size:clamp(3rem, 15vw, 4.6rem);}
  .hero.greek .h-line{white-space:normal;}
  .hero-caption-g{display:none;}
  .hero.greek .hero-sub{font-size:1.15rem;}
}
@media (prefers-reduced-motion: reduce){
  .h-hand img, .h-rose img, .olympus-rose img, .apple-glow{animation:none !important;}
}

.hero-note{margin-top:14px;font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--muted);animation:fadeUp 1.6s 1.8s var(--ease) both;}
.btn.btn-gold{background:linear-gradient(100deg, #8A6832, #C9A15C 55%, #9A7640);color:#FFF8EC;}
.btn.btn-gold:hover{background:linear-gradient(100deg, #7A5A2A, #B8904E 55%, #896634);}

/* floating nails + grapevines inside the Greek hero */
.g-float{z-index:2;top:53%;right:21.5vw;height:min(78%, 700px);transform:translateY(-50%);}
.g-float .lw img{filter:drop-shadow(0 26px 22px rgba(70,40,20,.28));}
.h-hand{pointer-events:none;}
.hero.greek .vine{z-index:1;filter:drop-shadow(0 18px 22px rgba(60,40,20,.2));}
.g-vine-r{top:40px;right:-3vw;width:clamp(240px, 27vw, 440px);}
.g-vine-c{top:40px;left:33%;width:clamp(170px, 17vw, 280px);animation-delay:-3s;}
.hero.greek .hero-meta .hint{text-transform:none;letter-spacing:.04em;font-family:var(--serif);font-style:italic;font-size:.95rem;}
@media (max-width:1020px){ .g-vine-c{display:none;} .g-float{right:24vw;height:60%;} }
@media (max-width:760px){
  .g-float{top:40px;right:auto;left:50%;height:auto;width:min(110vw, 520px);transform:translateX(-50%);}
  .g-vine-r{width:44vw;right:-8vw;top:44px;}
}

/* ---------- the painting in a gilded frame ---------- */
.h-frame{z-index:3;top:9%;right:max(7vw, calc(50vw - 610px));height:74%;display:flex;flex-direction:column;align-items:center;animation:frameIn 2.4s .4s var(--ease-soft) both;}
@keyframes frameIn{from{opacity:0;transform:translateY(40px);}}
.frame{margin:0;height:100%;aspect-ratio:1120/1400;padding:clamp(12px, 1.5vw, 24px);box-sizing:content-box;position:relative;will-change:transform;transform-style:preserve-3d;
  background:linear-gradient(135deg, #5e3f15 0%, #d9b66a 14%, #8a6224 30%, #f2d68c 47%, #9a7030 60%, #e2c173 76%, #5a3b12 100%);
  box-shadow:inset 0 0 0 1px rgba(255,236,180,.7), inset 0 0 0 5px rgba(90,60,20,.55), inset 0 0 0 7px rgba(240,210,140,.6), 0 50px 70px -25px rgba(40,24,8,.55), 0 10px 20px -8px rgba(40,24,8,.35);}
.frame::before{content:"";position:absolute;inset:clamp(5px, .6vw, 9px);border:1px solid rgba(255,238,190,.55);box-shadow:0 0 0 2px rgba(110,75,25,.5);pointer-events:none;}
.frame-inner{position:relative;width:100%;height:100%;background:#2f2410;box-shadow:inset 0 0 0 3px #3b2c13, inset 0 0 18px rgba(0,0,0,.7);padding:4px;box-sizing:border-box;overflow:hidden;}
.frame-inner img{width:100%;height:100%;object-fit:cover;display:block;}
.varnish{position:absolute;inset:4px;pointer-events:none;background:radial-gradient(60% 45% at var(--gx, 50%) var(--gy, 35%), rgba(255,246,225,.18), rgba(255,246,225,0) 70%);mix-blend-mode:screen;}
.placard{margin-top:16px;padding:8px 18px 7px;text-align:center;background:linear-gradient(180deg, #d9b872, #a88240);color:#2e200b;border-radius:2px;box-shadow:0 6px 12px -6px rgba(40,24,8,.5), inset 0 1px 0 rgba(255,240,200,.7);}
.placard .label{display:block;font-size:.58rem;letter-spacing:.22em;color:#2e200b;}
.placard span:last-child{font-family:var(--serif);font-style:italic;font-size:.82rem;}
.fnail{position:absolute;z-index:4;border:0;padding:0;background:none;cursor:pointer;will-change:transform;animation:nailIn 1.8s var(--ease-soft) both;animation-delay:calc(.6s + var(--k) * .12s);}
.fnail img{width:100%;height:auto;display:block;filter:drop-shadow(0 22px 18px rgba(60,35,15,.3));}
.fnail:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:30%;}
@keyframes nailIn{from{opacity:0;translate:0 50px;}}
@media (max-width:1020px){ .h-frame{height:62%;right:5vw;top:12%;} }
@media (max-width:760px){
  .h-frame{height:430px;right:auto;left:50%;top:70px;translate:-50% 0;}
  .fnail{width:13% !important;}
  .fnail:nth-of-type(1){left:4% !important;top:22% !important;}
  .fnail:nth-of-type(2){left:8% !important;top:40% !important;}
  .fnail:nth-of-type(3){left:12% !important;top:7% !important;}
  .fnail:nth-of-type(4){left:84% !important;top:9% !important;}
  .fnail:nth-of-type(5){left:82% !important;top:36% !important;}
  .fnail:nth-of-type(6){display:none;}
}

.h-rose.r1{right:-6%;bottom:-13%;width:min(18vw, 300px);}
.h-rose.r2{right:auto;left:43%;bottom:-8%;width:min(10vw, 170px);}
.h-rose.r3{display:none;}
@media (max-width:760px){
  .hero.greek{min-height:1250px;}
  .hero.greek .hero-copy{min-height:1250px;}
  .h-frame{height:360px;left:calc(50% - 158px);right:auto;top:72px;translate:none;}
  .h-rose.r1{width:26vw;right:-7%;top:350px;bottom:auto;}
  .h-rose.r2{display:none;}
}

.apple-glow{background:radial-gradient(circle, rgba(255,214,140,.35) 0%, rgba(255,214,140,0) 60%);}
@keyframes appleGlow{from{opacity:.2;transform:scale(.95);}to{opacity:.55;transform:scale(1.05);}}

/* ---------- LOTD checkout ---------- */
.head-inner{height:88px;grid-template-columns:minmax(0,1fr) 220px minmax(0,1fr);}
.head-inner>*{min-width:0;}
.head .nav{min-width:0;gap:clamp(12px,1.65vw,28px);}
.head .logo-switch{position:relative;display:inline-grid;place-items:center;width:220px;height:70px;overflow:visible;padding:0;font-size:initial;font-style:normal;letter-spacing:0;line-height:normal;}
.logo-face{grid-area:1/1;display:grid;place-items:center;visibility:hidden;white-space:nowrap;opacity:0;pointer-events:none;will-change:opacity,transform;}
.logo-face b{font:500 1.9rem/1.1 var(--serif);letter-spacing:.19em;}
.logo-face small{font:500 9px/1.4 var(--sans);letter-spacing:.04em;text-transform:none;color:var(--ink-2);}
.logo-letter{position:relative;display:inline-block;}
.logo-vine{position:absolute;right:-.18em;top:-.2em;width:.65em;height:1.35em;pointer-events:none;}
.logo-state-roman{animation:logoStateOne 4s infinite var(--ease-soft);}
.logo-state-greek{animation:logoStateTwo 4s infinite var(--ease-soft);}
.logo-state-wording-one small{color:var(--ink);font:600 .9rem/1.15 var(--serif);letter-spacing:.1em;text-shadow:0 1px 3px rgba(255,255,255,.7);text-transform:uppercase;}
.logo-state-wording-two small{color:#642635;font:italic 600 .94rem/1.15 var(--serif);letter-spacing:.025em;text-shadow:0 1px 3px rgba(255,255,255,.7);}
.logo-state-wording-one{animation:logoStateThree 4s infinite var(--ease-soft);}
.logo-state-wording-two{animation:logoStateFour 4s infinite var(--ease-soft);}
@keyframes logoStateOne{0%,24%{visibility:visible;opacity:1;transform:translateY(0)}24.01%,100%{visibility:hidden;opacity:0;transform:translateY(-5px)}}
@keyframes logoStateTwo{0%,24.99%{visibility:hidden;opacity:0;transform:translateY(5px)}25%,49%{visibility:visible;opacity:1;transform:translateY(0)}49.01%,100%{visibility:hidden;opacity:0;transform:translateY(-5px)}}
@keyframes logoStateThree{0%,49.99%{visibility:hidden;opacity:0;transform:translateY(5px)}50%,74%{visibility:visible;opacity:1;transform:translateY(0)}74.01%,100%{visibility:hidden;opacity:0;transform:translateY(-5px)}}
@keyframes logoStateFour{0%,74.99%{visibility:hidden;opacity:0;transform:translateY(5px)}75%,99%{visibility:visible;opacity:1;transform:translateY(0)}99.01%,100%{visibility:hidden;opacity:0;transform:translateY(-5px)}}
.logo-switch:hover .logo-face,.logo-switch:focus-visible .logo-face{animation-play-state:paused;}
@media(max-width:1100px){.head .nav{gap:12px;}.head .nav a{font-size:.78rem;}}
@media(max-width:760px){.head .head-inner{height:88px;grid-template-columns:42px minmax(0,1fr) 42px;}.head .logo-switch{width:190px;justify-self:center;}.logo-face b{font-size:1.6rem;}.logo-face small{font-size:8px;}.logo-state-wording-one small{font-size:.66rem;}.logo-state-wording-two small{font-size:.72rem;}.head .bag-btn{padding:8px;gap:4px;}.head .bag-btn>span:not(.bag-count){display:none;}}
.logo-static{letter-spacing:.32em;}
.product-modal{margin:0;border:0;width:100%;max-width:none;height:100%;max-height:none;position:fixed;inset:0;z-index:92;display:grid;place-items:center;padding:22px;background:rgba(23,18,20,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s var(--ease),visibility 0s linear .35s;}.product-modal:not([open]){display:none;}.product-modal::backdrop{background:transparent;}.product-modal.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .35s var(--ease);}.product-dialog{position:relative;display:grid;grid-template-columns:minmax(300px,1fr) minmax(320px,.86fr);width:min(1040px,100%);max-height:min(760px,calc(100vh - 44px));overflow:auto;background:var(--paper);box-shadow:0 35px 90px rgba(23,18,20,.34);transform:translateY(18px) scale(.985);transition:transform .5s var(--ease);}.product-modal.open .product-dialog{transform:none;}.product-modal-close{position:absolute;z-index:4;top:16px;right:16px;width:38px;height:38px;background:rgba(250,248,248,.82);border:1px solid var(--line);}.product-gallery{display:flex;min-width:0;flex-direction:column;padding:clamp(22px,3vw,40px);background:linear-gradient(145deg,#efe5dc,#d8c8bc);}.product-gallery-main{display:grid;place-items:center;min-height:0;flex:1;overflow:hidden;background:var(--bgc,#e8ddd1);}.product-gallery-main img{width:100%;height:100%;min-height:360px;max-height:570px;object-fit:contain;}.product-thumbs{display:flex;gap:9px;margin-top:12px;}.product-thumb{width:62px;height:76px;padding:0;border:1px solid transparent;background:var(--paper);cursor:pointer;opacity:.62;transition:opacity .25s var(--ease),border-color .25s var(--ease);}.product-thumb.active,.product-thumb:hover{border-color:var(--gold);opacity:1;}.product-thumb img{width:100%;height:100%;object-fit:cover;}.product-detail{padding:clamp(30px,5vw,62px) clamp(28px,5vw,68px);overflow:auto;}.product-detail>.label{color:var(--gold);}.product-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-top:16px;padding-bottom:20px;border-bottom:1px solid var(--line);}.product-detail-head h2{max-width:360px;font-size:clamp(2.4rem,4.5vw,4.5rem);line-height:.9;font-weight:400;letter-spacing:-.045em;}.product-detail-head strong{white-space:nowrap;padding-top:5px;font:500 .85rem var(--caps);letter-spacing:.08em;}.product-description{margin:22px 0 9px;color:var(--ink-2);font:1.1rem/1.45 var(--serif);}.product-finish{color:var(--muted);font:.68rem var(--mono);letter-spacing:.08em;text-transform:uppercase;}.product-detail fieldset{margin:26px 0 0;padding:0;border:0;}.product-detail legend{margin-bottom:10px;color:var(--ink-2);font:600 .65rem var(--mono);letter-spacing:.12em;text-transform:uppercase;}.product-choices{display:flex;flex-wrap:wrap;gap:7px;}.product-choice{position:relative;display:inline-flex;cursor:pointer;}.product-choice input{position:absolute;width:1px;height:1px;opacity:0;}.product-choice span{min-width:45px;padding:10px 12px;border:1px solid var(--line);color:var(--ink-2);font:.68rem var(--mono);letter-spacing:.04em;text-align:center;transition:color .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease);}.product-choice input:checked+span{border-color:var(--ink);background:var(--ink);color:var(--paper);}.product-choice input:focus-visible+span{outline:2px solid var(--rose);outline-offset:3px;}.product-custom-note{margin:18px 0 0;color:var(--muted);font:.73rem/1.45 var(--sans);}.product-add{width:100%;justify-content:center;margin-top:25px;}.product-add:disabled{opacity:.5;cursor:not-allowed;}.product-open{overflow:hidden;}.item-options{font:.75rem/1.5 var(--sans);color:var(--ink-2);margin-top:7px;overflow-wrap:anywhere;}.product[data-product-open]{cursor:pointer;}.product[data-product-open]:focus-visible{outline:2px solid var(--gold);outline-offset:4px;}
.social-section{display:grid;gap:36px;padding:64px 0;border-top:1px solid var(--night-line);}
.social-heading{display:grid;grid-template-columns:1fr minmax(230px,300px);gap:14px 48px;width:min(100%,820px);margin:0 auto;align-items:end;}
.social-heading>.label{grid-column:1/-1;color:var(--gold-2);font-size:.62rem;letter-spacing:.18em;}
.social-heading h2{margin:0;color:var(--night-ink);font-size:clamp(2.8rem,4.3vw,4.2rem);line-height:1.03;letter-spacing:-.035em;}
.social-heading h2 em{display:block;color:var(--gold-2);}
.social-heading p{margin:0 0 5px;color:var(--night-ink);opacity:.78;font:1.08rem/1.55 var(--serif);}
.social-embeds{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:32px;width:min(100%,820px);margin:0 auto;}
.social-embed{flex:0 1 360px;min-width:0;max-width:100%;padding:10px 10px 0;border:1px solid rgba(217,180,108,.28);background:rgba(255,255,255,.025);}
.social-embed-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;padding:0 3px 10px;color:var(--night-ink);font:.57rem var(--mono);letter-spacing:.1em;text-transform:uppercase;}
.social-embed-meta .label{font-size:.65rem;color:var(--gold-2);}
.social-embed-meta>span:last-child{opacity:.7;}
.social-frame{background:#fff;}
.social-frame iframe{display:block;width:100%;height:580px;border:0;background:#fff;}
.social-link{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px 3px;color:var(--night-ink);font:.63rem var(--mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:color .25s var(--ease);}
.social-link i{margin-left:auto;font:1.15rem var(--sans);color:var(--gold-2);}
.social-link:hover{color:var(--gold-2);}
.social-link:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px;}
.social-section[hidden],.social-embed[hidden]{display:none;}
@media(max-width:760px){.social-section{gap:26px;padding:40px 0;}.social-heading{grid-template-columns:1fr;gap:12px;width:min(100%,360px);}.social-heading>.label{grid-column:auto;}.social-heading h2{font-size:3.2rem;}.social-heading h2 em{display:inline;}.social-heading p{font-size:1.04rem;}.social-embeds{gap:26px;}.social-embed{padding:7px 7px 0;}.social-frame iframe{height:560px;}}
@media(prefers-reduced-motion:reduce){.social-link{transition:none;}}
@media(max-width:760px){.product-modal{padding:0;place-items:end;}.product-dialog{display:block;width:100%;max-height:calc(100vh - 16px);overflow:auto;border-radius:18px 18px 0 0;}.product-gallery{padding:18px 18px 16px;}.product-gallery-main img{min-height:310px;max-height:52vh;}.product-detail{padding:27px 22px 34px;}.product-detail-head h2{font-size:2.7rem;}.product-detail-head strong{font-size:.72rem;}.product-detail fieldset{margin-top:22px;}.product-choice span{padding:9px 10px;}.product-modal-close{top:12px;right:12px;}}
@media(prefers-reduced-motion:reduce){.product-modal,.product-dialog{transition:none;}}
.checkout-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;background:rgba(30,26,22,.42);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility 0s linear .35s;}
.checkout-modal.open{opacity:1;visibility:visible;transition:opacity .35s var(--ease);}
.checkout-card{position:relative;width:min(530px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:clamp(28px,5vw,46px);background:var(--paper);box-shadow:0 35px 80px rgba(30,26,22,.27);transform:translateY(18px) scale(.985);transition:transform .5s var(--ease);}
.checkout-modal.open .checkout-card{transform:translateY(0) scale(1);}
.checkout-close{position:absolute;top:18px;right:18px;font-size:1.35rem;line-height:1;}
.checkout-card h2{margin-top:10px;font-size:clamp(2rem,5vw,3rem);line-height:1.04;}
.checkout-lead{margin:12px 0 24px;color:var(--ink-2);font-family:var(--serif);font-size:1.08rem;}
.checkout-form{display:grid;gap:16px;}
.checkout-form label{display:grid;gap:7px;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;}
.checkout-form input,.checkout-form textarea{width:100%;border:1px solid var(--line);border-radius:0;background:transparent;padding:12px 14px;color:var(--ink);font:400 .95rem var(--sans);letter-spacing:0;text-transform:none;resize:vertical;}
.checkout-form input:focus,.checkout-form textarea:focus{outline:1px solid var(--gold);border-color:var(--gold);}
.checkout-form .btn{justify-content:center;margin-top:4px;}
.optional{color:var(--muted);letter-spacing:0;text-transform:none;}
body.checkout-open{overflow:hidden;}
.checkout-form[hidden]{display:none;}
.checkout-form .btn-light{border:1px solid var(--line);margin-top:-6px;}
.checkout-form .btn:disabled{opacity:.5;cursor:not-allowed;}
.checkout-options{margin:0;padding:0;border:0;display:grid;gap:8px;min-width:0;}
.checkout-options legend{margin-bottom:8px;font:.68rem var(--mono);letter-spacing:.1em;text-transform:uppercase;}
.checkout-options .opt{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);cursor:pointer;font:.86rem/1.35 var(--sans);letter-spacing:0;text-transform:none;transition:border-color .25s var(--ease),background .25s var(--ease);}
.checkout-options .opt:has(input:checked){border-color:var(--ink);background:var(--porcelain);}
.checkout-options .opt input{width:auto;accent-color:var(--ink);}
.checkout-options .opt small{display:block;color:var(--muted);font-size:.74rem;}
.checkout-options .opt b{font:500 .8rem var(--mono);white-space:nowrap;}
.checkout-options .opt-list{display:grid;gap:8px;max-height:260px;overflow:auto;}
.checkout-hint{margin:0;color:var(--muted);font:.8rem/1.45 var(--sans);}
.checkout-summary{margin:0;padding:16px 0 0;border-top:1px solid var(--line);display:grid;gap:8px;}
.checkout-summary div{display:flex;justify-content:space-between;gap:16px;font:.86rem var(--sans);}
.checkout-summary div[hidden]{display:none;}
.checkout-summary dt{color:var(--ink-2);}
.checkout-summary dd{margin:0;font-family:var(--mono);font-size:.84rem;}
.checkout-summary .total{padding-top:10px;border-top:1px solid var(--line);font-weight:600;}
.checkout-summary .total dd{font-size:1rem;}
.checkout-consent{margin:0;color:var(--muted);font:.78rem/1.5 var(--sans);}
.checkout-form .checkout-check{display:flex;gap:10px;align-items:flex-start;font:.8rem/1.4 var(--sans);letter-spacing:0;text-transform:none;}
.checkout-form .checkout-check input{width:auto;margin-top:2px;}
.payment-panel{display:grid;gap:14px;justify-items:center;text-align:center;}
.payment-panel[hidden],.payment-panel [hidden],.checkout-form [hidden]{display:none;}
.payment-panel .label{color:var(--gold);}
.payment-qr{padding:14px;background:#fff;border:1px solid var(--line);}
.payment-qr img{display:block;width:min(260px,62vw);height:auto;image-rendering:pixelated;}
.payment-va{display:grid;gap:8px;justify-items:center;}
.payment-va span{font:.7rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);}
.payment-va strong{font:500 1.5rem var(--mono);letter-spacing:.06em;word-break:break-all;}
.payment-amount{margin:0;font:1.05rem var(--serif);}
.payment-amount strong{font:600 1.15rem var(--mono);}
.payment-timer{margin:0;color:var(--muted);font:.8rem var(--mono);}
.payment-state{margin:0;font:1.1rem/1.4 var(--serif);color:var(--ink-2);}
.payment-state.ok{color:#2f6b3b;}
.payment-state.bad{color:var(--rose);}
.payment-panel .btn{justify-content:center;}
@media(prefers-reduced-motion:reduce){.checkout-options .opt{transition:none;}}
@media (prefers-reduced-motion: reduce){.logo-face{animation:none!important;transform:none!important;}.logo-state-roman{visibility:visible;opacity:1;}.logo-state-greek,.logo-state-wording-one,.logo-state-wording-two{display:none;}}

#filters{max-width:100%;flex-wrap:wrap}#filters .filter{white-space:normal;overflow-wrap:anywhere;max-width:100%}#filterInd{display:none}#filters .filter.active{background:var(--ink);color:var(--paper);border-radius:999px}#categoryLinks a{overflow-wrap:anywhere}

.nav-drop{position:relative;color:var(--ink-2);font:500 .72rem var(--caps);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}.nav-drop summary{list-style:none;cursor:pointer;position:relative;padding-bottom:5px}.nav-drop summary::-webkit-details-marker{display:none}.nav-drop summary::after{content:"⌄";display:inline-block;margin-left:5px;font:700 .72rem var(--sans);transition:transform .3s var(--ease)}.nav-drop[open] summary::after{transform:rotate(180deg)}.nav-drop summary:hover{color:var(--ink)}.nav-dropdown{position:absolute;top:calc(100% + 16px);left:-16px;display:grid;min-width:220px;padding:9px;background:var(--paper);border:1px solid var(--line);box-shadow:0 18px 38px rgba(23,18,20,.12);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s}.nav-drop[open] .nav-dropdown,.nav-drop:hover .nav-dropdown{opacity:1;visibility:visible;transform:none}.nav-dropdown a{padding:10px 12px;font-size:.62rem;letter-spacing:.1em}.nav-dropdown a::after{display:none}.nav-dropdown a:hover{background:rgba(214,59,108,.08)}.mobile-menu details{transform:translateY(20px);opacity:.001;transition:transform .6s var(--ease),opacity .6s}.menu-open .mobile-menu details,.menu-open .mobile-menu .mobile-main-link{transform:none;opacity:1}.mobile-menu summary{list-style:none;font:2.6rem/1.15 var(--serif);cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary::after{content:"+";float:right;font:1.8rem var(--sans);transition:transform .3s}.mobile-menu details[open] summary::after{transform:rotate(45deg)}.mobile-menu details>div{display:grid;gap:4px;padding:9px 0 14px 18px}.mobile-menu details>div a{font-size:1.35rem;transform:none;opacity:1;padding:3px 0}.mobile-menu .mobile-main-link{display:block}
.head .primary-nav{gap:clamp(10px,1.3vw,20px);align-items:center}.primary-nav>a,.primary-nav summary{text-transform:uppercase;font-family:var(--caps);font-size:.66rem;letter-spacing:.12em}.primary-nav summary{min-height:44px;display:flex;align-items:center;padding:0}.primary-nav>a{display:flex;align-items:center;min-height:44px}.head .nav-dropdown a{font-size:.66rem;letter-spacing:.05em;min-height:44px;white-space:normal;line-height:1.5}.nav-dropdown{top:100%;min-width:240px;max-width:300px}.mobile-menu{overflow-y:auto;overscroll-behavior:contain;visibility:hidden}.menu-open .mobile-menu{visibility:visible}.mobile-menu summary,.mobile-menu .mobile-main-link{text-transform:uppercase;font-family:var(--caps);font-size:1.45rem;line-height:1.7;min-height:52px}.mobile-menu details>div a{font-family:var(--serif);font-size:1.3rem;min-height:44px;display:flex;align-items:center}.menu-open{overflow:hidden}.head .bag-btn{text-decoration:none}
@media(max-width:1200px){.head .primary-nav{display:none}.head .menu-btn{display:block}.head .head-inner{grid-template-columns:42px minmax(0,1fr) auto}.head .logo-switch{justify-self:center}.head .head-right{justify-self:end}}
@media(min-width:1201px){.head .menu-btn{display:none}.mobile-menu{display:none}}
@media(prefers-reduced-motion:reduce){.nav-dropdown,.mobile-menu,.mobile-menu details,.mobile-menu a{transition:none!important}}

/* ---------- audit 2026-10: readable gold labels + consultation CTA ---------- */
/* --gold on porcelain is ~3.1:1; small text needs 4.5:1 (WCAG AA). --gold-ink is >=4.5:1 on the light backgrounds, including the hero kicker. */
:root{--gold-ink:#735825;}
.greek-kicker,.sec-head .label,.eden .label,.product-detail>.label,.payment-panel .label{color:var(--gold-ink);}
.primary-nav>a{font-weight:500;color:var(--ink-2);}
.news-lead{margin:0;color:var(--night-ink);opacity:.85;font:1.08rem/1.55 var(--serif);}
.news-cta{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding-bottom:6px;border-bottom:1px solid var(--night-ink);color:var(--night-ink);font-size:1rem;text-decoration:none;transition:color .25s var(--ease),border-color .25s var(--ease);}
.news-cta:hover{color:var(--gold-2);border-color:var(--gold-2);}
.news-cta:focus-visible,.news-note a:focus-visible{outline:2px solid var(--gold-2);outline-offset:4px;}
.news-note a{color:var(--night-muted);text-decoration:underline;text-underline-offset:3px;}
.news-note a:hover{color:var(--night-ink);}
@media(prefers-reduced-motion:reduce){.news-cta{transition:none;}}
/* ---------- scroll reveal (data-reveal), restrained: opacity/transform/clip-path only, so no layout shift ---------- */
.js-reveal [data-reveal]{opacity:.001;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--reveal-delay,0ms);}
.js-reveal [data-reveal].is-in{opacity:1;transform:none;}
/* Image curtain: a cover in the section colour slides away (the figure itself is never clipped, so IntersectionObserver still sees it). */
[data-reveal="image"]{position:relative;}
.js-reveal [data-reveal="image"]{opacity:1;transform:none;}
.js-reveal [data-reveal="image"]::after{content:"";position:absolute;inset:0;z-index:1;background:var(--curtain,var(--porcelain));transform-origin:right center;transition:transform 1.3s var(--ease);transition-delay:var(--reveal-delay,0ms);pointer-events:none;}
.js-reveal [data-reveal="image"].is-in::after{transform:scaleX(0);}
.js-reveal [data-reveal="image"] img{transform:translateX(-6%) scale(1.06);transition:transform 1.6s var(--ease);transition-delay:var(--reveal-delay,0ms);}
.js-reveal [data-reveal="image"].is-in img{transform:none;}
.home-courses{--curtain:var(--night);}
@media (prefers-reduced-motion:reduce){.js-reveal [data-reveal],.js-reveal [data-reveal] img{opacity:1!important;transform:none!important;transition:none!important;}.js-reveal [data-reveal="image"]::after{display:none;}}

/* ---------- homepage: shared ---------- */
.home-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:30px;}
.home-photo{margin:0;overflow:hidden;background:var(--paper);}
.home-photo img{display:block;width:100%;height:100%;object-fit:cover;}
.collection-more{display:flex;justify-content:center;margin-top:clamp(34px,4vw,54px);}
.collection-more .btn[hidden],.filters[hidden]{display:none;}
.collection-more-btn{background:transparent;color:var(--ink);border:1px solid var(--ink);}
.collection-more-btn:hover{background:var(--ink);color:var(--paper);}

/* ---------- Meet LOTD ---------- */
.home-meet{padding-block:clamp(80px,10vw,150px);}
.home-meet-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(40px,7vw,110px);align-items:center;}
.home-meet-media{position:relative;padding:0 14% 12% 0;}
.home-meet-tall{aspect-ratio:3/4;}
.home-meet-small{position:absolute;right:0;bottom:0;width:46%;aspect-ratio:4/5;border:8px solid var(--porcelain);box-shadow:0 26px 50px -24px rgba(30,26,22,.4);}
.home-meet-copy h2{margin-top:20px;font-size:clamp(2.6rem,5vw,4.6rem);line-height:1.02;letter-spacing:-.03em;font-weight:400;}
.home-meet-copy h2 em{color:var(--rose);}
.home-meet-copy .lead{margin-top:24px;max-width:44ch;color:var(--ink-2);font:1.18rem/1.6 var(--serif);}
.home-meet .label,.home-services .label,.home-stories .label{color:var(--gold-ink);}

/* ---------- featured collection: loading skeleton ---------- */
.product-skeleton .p-media{aspect-ratio:4/5;background:linear-gradient(100deg,#ece5db 30%,#f6f1ea 50%,#ece5db 70%);background-size:300% 100%;animation:skeleton 1.6s ease-in-out infinite;}
.product-skeleton .p-info span{display:block;height:12px;margin-top:14px;background:#ece5db;width:70%;}
.product-skeleton .p-info span+span{width:40%;}
@keyframes skeleton{from{background-position:100% 0;}to{background-position:0 0;}}
@media (prefers-reduced-motion:reduce){.product-skeleton .p-media{animation:none;}}

/* ---------- Our beauty services ---------- */
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.8vw,26px);}
.service-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);}
.service-media{margin:0;aspect-ratio:4/5;overflow:hidden;background:var(--porcelain);}
.service-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease);}
.service-card:hover .service-media img{transform:scale(1.04);}
.service-monogram{display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,#FBF1E2 0%,#EFE3D8 62%,#E6D6C8 100%);}
.service-monogram span{font:400 clamp(4.5rem,8vw,7rem)/1 var(--caps);color:var(--gold-ink);opacity:.55;letter-spacing:.04em;}
.service-body{display:flex;flex-direction:column;gap:10px;flex:1;padding:22px 22px 24px;}
.service-num{font:500 .7rem var(--caps);letter-spacing:.16em;color:var(--gold-ink);}
.service-body h3{font:400 2rem/1 var(--serif);letter-spacing:-.01em;}
.service-text{margin:0;color:var(--ink-2);font:.9rem/1.6 var(--sans);flex:1;}
.service-link{align-self:flex-start;margin-top:6px;padding-bottom:4px;border-bottom:1px solid var(--line);color:var(--ink);font:500 .66rem var(--caps);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:border-color .3s var(--ease),color .3s var(--ease);}
.service-link:hover{color:var(--rose);border-color:var(--rose);}
.service-detail{margin-top:0;}
@media (prefers-reduced-motion:reduce){.service-media img{transition:none;}}

/* ---------- Nail & Lash Courses (dark band, same look as the former Material section) ---------- */
.home-courses-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,7vw,110px);align-items:center;}
.home-courses-media{background:transparent;}
.home-courses-media figcaption{padding:12px 2px 0;color:var(--night-muted);font:.72rem/1.5 var(--sans);}
.home-courses-media{overflow:visible;}
.home-courses-media img{aspect-ratio:4/5;height:auto;}
.home-courses-copy h2{margin-top:20px;font-size:clamp(2.6rem,5vw,4.4rem);line-height:1.02;letter-spacing:-.03em;font-weight:300;color:var(--night-ink);}
.home-courses-copy h2 em{color:var(--gold-2);}
.home-courses-copy .lead{margin-top:22px;max-width:46ch;color:var(--night-ink);opacity:.86;font:1.16rem/1.6 var(--serif);}
.course-asks{margin-top:26px;padding-top:22px;border-top:1px solid var(--night-line);color:var(--night-ink);}
.course-asks p{margin:0 0 12px;font:.74rem var(--caps);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2);}
.course-asks ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;font:.92rem/1.5 var(--sans);opacity:.86;}
.course-asks li::before{content:"—";margin-right:10px;color:var(--gold-2);}
.course-entries{display:grid;gap:10px;margin-top:26px;}
.course-entries[hidden]{display:none;}
.course-entry{display:grid;gap:4px;padding:16px 18px;border:1px solid var(--night-line);color:var(--night-ink);text-decoration:none;transition:border-color .3s var(--ease);}
.course-entry:hover{border-color:var(--gold-2);}
.course-entry strong{font:400 1.3rem var(--serif);}
.course-entry span{font:.86rem/1.5 var(--sans);opacity:.8;}
.home-courses .link{color:var(--night-ink);}

/* ---------- Activities & Journal (Tanida content) ---------- */
.home-stories[hidden]{display:none;}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,34px);}
.story-card{display:flex;flex-direction:column;gap:10px;color:var(--ink);text-decoration:none;}
.story-media{margin:0 0 6px;aspect-ratio:4/3;overflow:hidden;background:var(--porcelain);}
.story-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease);}
.story-card:hover .story-media img{transform:scale(1.04);}
.story-card h3{font:400 1.55rem/1.15 var(--serif);}
.story-card p{margin:0;color:var(--ink-2);font:.9rem/1.6 var(--sans);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.story-card:focus-visible,.service-link:focus-visible,.course-entry:focus-visible{outline:2px solid var(--gold);outline-offset:4px;}
@media (prefers-reduced-motion:reduce){.story-media img{transition:none;}}

@media (max-width:1020px){
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .story-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
  .home-meet-grid,.home-courses-grid{grid-template-columns:1fr;}
  .home-meet-media{padding:0 18% 16% 0;}
  .story-grid{grid-template-columns:1fr;}
  .course-asks ul{grid-template-columns:1fr;}
}
@media (max-width:520px){
  .service-grid{grid-template-columns:1fr;}
  .service-media{aspect-ratio:16/11;}
}
