:root{
  --black:#090806; --ink:#17120f; --ivory:#f4efe7; --paper:#fbf8f2;
  --gold:#c6a15b; --gold2:#e7cf96; --muted:#88796a;
  --pad:clamp(18px,5.5vw,36px); --safe:calc(env(safe-area-inset-bottom) + 12px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black)}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;width:100%;height:auto} a{color:inherit;text-decoration:none} button{font:inherit;color:inherit;background:none;border:0;padding:0}
.pad{padding-inline:var(--pad)} .kicker{margin:0 0 14px;font-size:.62rem;font-weight:700;letter-spacing:.21em;text-transform:uppercase}

/* INTRO */
.intro{position:fixed;inset:0;z-index:9999;background:var(--black);color:var(--gold2);display:grid;place-items:center;overflow:hidden;transition:opacity .45s ease,visibility .45s ease}
.intro.is-gone{opacity:0;visibility:hidden}.intro-glow{position:absolute;width:60vw;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(198,161,91,.28),transparent 65%);filter:blur(25px);transform:scale(.4);animation:introGlow 1.25s ease forwards}
.intro-logo{width:112px;z-index:2;filter:drop-shadow(0 0 14px rgba(198,161,91,.32))}.draw{stroke-dasharray:420;stroke-dashoffset:420;animation:draw 1.05s cubic-bezier(.2,.8,.2,1) forwards}.d2{animation-delay:.08s}.d3{animation-delay:.16s}
.intro-label{position:absolute;bottom:14vh;z-index:2;font-size:.58rem;letter-spacing:.36em;text-indent:.36em;color:#f0e4cf;opacity:0;animation:fadeUp .5s .55s forwards}
.intro-slice{position:absolute;background:var(--ivory);top:0;bottom:0;width:51%;transform:translateY(110%);animation:sliceUp .72s .78s cubic-bezier(.7,0,.2,1) forwards}.intro-slice-a{left:0;clip-path:polygon(0 0,100% 0,82% 100%,0 100%)}.intro-slice-b{right:0;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%)}
@keyframes draw{to{stroke-dashoffset:0}}@keyframes fadeUp{to{opacity:1;transform:translateY(-4px)}}@keyframes introGlow{to{transform:scale(1.25)}}@keyframes sliceUp{to{transform:translateY(0)}}

/* HEADER */
.topbar{position:fixed;z-index:100;top:0;left:0;right:0;height:62px;padding:0 max(var(--pad),env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;color:#fff;mix-blend-mode:difference;pointer-events:none}.topbar a{pointer-events:auto}.mini-brand{display:flex;align-items:center;gap:9px;font-size:.58rem;font-weight:700;letter-spacing:.18em}.mini-brand img{width:27px;height:27px}.top-book{font-size:.61rem;font-weight:800;letter-spacing:.2em;border-bottom:1px solid currentColor;padding-bottom:4px}

/* HERO */
.hero-scroll{height:230svh;background:#070604}.hero-sticky{position:sticky;top:0;height:100svh;overflow:hidden;color:#fff;background:#070604}.hero-media,.hero-media img,.hero-shade{position:absolute;inset:0}.hero-media img{height:100%;object-fit:cover;object-position:center 48%;transform:scale(1.12);will-change:transform}.hero-shade{background:linear-gradient(180deg,rgba(6,5,4,.12),rgba(6,5,4,.08) 36%,rgba(6,5,4,.8) 100%)}
.hero-word{position:absolute;z-index:2;font-family:Arial Black,Impact,Arial,sans-serif;font-weight:900;line-height:.72;letter-spacing:-.075em;white-space:nowrap;color:#fff;mix-blend-mode:overlay;pointer-events:none;will-change:transform,opacity}.hero-word-a{font-size:clamp(5.8rem,31vw,10rem);left:-.04em;top:18vh}.hero-word-b{font-size:clamp(4rem,22vw,7rem);right:-.02em;top:44vh}.hero-word-c{font-size:clamp(6rem,35vw,11rem);left:-.05em;bottom:9vh;color:var(--gold2);mix-blend-mode:screen}
.gold-portal{position:absolute;z-index:3;left:50%;top:48%;width:54vw;height:54vw;max-width:290px;max-height:290px;transform:translate(-50%,-50%) rotate(45deg);border:1px solid rgba(231,207,150,.9);box-shadow:0 0 0 1px rgba(255,255,255,.06),0 0 40px rgba(198,161,91,.14);will-change:transform}.gold-portal:before,.gold-portal:after,.gold-portal i,.gold-portal b{content:"";position:absolute;border:1px solid rgba(231,207,150,.7)}.gold-portal:before{inset:13%}.gold-portal:after{inset:-11%;opacity:.35}.gold-portal i{left:50%;top:-22%;bottom:-22%}.gold-portal b{top:50%;left:-22%;right:-22%}
.hero-copy{position:absolute;z-index:4;left:var(--pad);right:var(--pad);bottom:max(84px,calc(66px + env(safe-area-inset-bottom)));max-width:520px}.hero-copy p{margin:0 0 8px;font-size:.58rem;letter-spacing:.2em}.hero-copy h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-weight:400;font-style:italic;font-size:clamp(2rem,9vw,3.8rem);line-height:.92;letter-spacing:-.045em}.hero-copy span{display:block;margin-top:10px;font-size:.65rem;letter-spacing:.1em;color:#e7dbc7}.hero-scrollcue{position:absolute;right:var(--pad);bottom:84px;z-index:4;font-size:.48rem;letter-spacing:.18em;writing-mode:vertical-rl;display:flex;gap:9px;align-items:center}.hero-scrollcue i{height:42px;border-left:1px solid currentColor;opacity:.6}

/* INTRO COPY */
.gallery-intro{background:var(--ivory);padding-top:92px;padding-bottom:110px}.gallery-intro h2,.collection-top h2,.finale h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.45rem,16vw,6.4rem);line-height:.82;letter-spacing:-.06em;font-weight:400;margin:0;max-width:9ch}.gallery-intro h2 em,.collection-top h2 em,.finale h2 em{font-weight:400;color:var(--gold);font-style:italic}.lead{font-size:.98rem;line-height:1.6;color:#5f5449;max-width:31rem;margin:28px 0 0}

/* PINNED GALLERY */
.gallery-scroll{height:430svh;background:var(--black);color:#fff}.gallery-sticky{position:sticky;top:0;height:100svh;overflow:hidden}.gallery-bgword{position:absolute;inset:auto 0 15vh;font-family:Arial Black,Impact,Arial,sans-serif;font-size:clamp(7rem,38vw,13rem);font-weight:900;letter-spacing:-.09em;line-height:.7;text-align:center;color:rgba(255,255,255,.08);white-space:nowrap;transition:opacity .25s ease;will-change:transform}.gallery-frame{position:absolute;z-index:1;left:50%;top:46%;width:min(70vw,310px);height:min(92vw,430px);transform:translate(-50%,-50%) rotate(2deg);border:1px solid rgba(231,207,150,.8);box-shadow:0 0 50px rgba(198,161,91,.12)}.gallery-frame:before,.gallery-frame:after{content:"";position:absolute;border:1px solid rgba(231,207,150,.34)}.gallery-frame:before{inset:-14px 12px 12px -14px}.gallery-frame:after{inset:12px -14px -14px 12px}
.gallery-card{position:absolute;z-index:2;left:50%;top:46%;width:min(66vw,290px);height:min(88vw,410px);margin:0;transform:translate(-50%,-50%) scale(.72) rotate(12deg);opacity:0;transition:opacity .28s ease;will-change:transform,opacity}.gallery-card img{height:100%;object-fit:cover}.gallery-card[data-title="LASHES"] img{object-position:center}.gallery-card[data-title="BROWS"] img{object-position:center}.gallery-card[data-title="PMU"] img{object-position:center}.gallery-card figcaption{position:absolute;left:-8vw;bottom:-72px;display:grid;grid-template-columns:auto 1fr;gap:0 10px;align-items:end;width:min(78vw,340px)}.gallery-card figcaption span{grid-row:1/3;font-size:.65rem;letter-spacing:.15em;color:var(--gold2)}.gallery-card figcaption strong{font-family:Arial Black,Impact,Arial,sans-serif;font-size:clamp(2.2rem,12vw,4rem);line-height:.8;letter-spacing:-.06em}.gallery-card figcaption small{font-size:.52rem;letter-spacing:.17em;color:#c7b9a6;margin-top:8px}.gallery-card.is-active{opacity:1}
.gallery-counter{position:absolute;z-index:5;left:var(--pad);top:84px;display:flex;align-items:center;gap:10px;font-size:.55rem;letter-spacing:.16em}.gallery-counter i{width:46px;border-top:1px solid rgba(255,255,255,.4)}.counter-current{color:var(--gold2)}.gallery-instruction{position:absolute;z-index:5;right:var(--pad);top:82px;margin:0;font-size:.48rem;letter-spacing:.16em;color:#aaa;writing-mode:vertical-rl}

/* DETAIL CUTS */
.detail-cut{background:var(--black);color:#fff}.detail-panel{min-height:100svh;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:92px var(--pad) max(80px,var(--safe))}.detail-dark{background:#0a0907;justify-content:center}.detail-dark h2{font-family:Arial Black,Impact,Arial,sans-serif;font-size:clamp(4.8rem,24vw,9rem);line-height:.72;letter-spacing:-.08em;margin:0}.detail-dark h2 em{display:block;color:var(--gold2);font-family:Georgia,"Times New Roman",serif;font-weight:400;font-style:italic;font-size:.7em;line-height:.9;letter-spacing:-.05em;margin-top:16px}.detail-image{padding:0}.detail-image img{position:absolute;inset:0;height:100%;object-fit:cover}.detail-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.64) 100%)}.detail-image span{position:absolute;z-index:2;left:var(--pad);bottom:max(76px,var(--safe));font-size:.58rem;letter-spacing:.22em;border:1px solid rgba(255,255,255,.5);padding:8px 10px}.detail-eye img{object-position:center}.detail-lips img{object-position:center}.detail-brow img{object-position:center}

/* HAIR */
.hair-feature{position:relative;min-height:120svh;background:#e9dfd0;padding-top:110px;padding-bottom:120px;overflow:hidden}.hair-shot{width:min(78vw,450px);margin:0 auto;position:relative;z-index:2;box-shadow:0 30px 70px rgba(46,31,18,.18)}.hair-shot img{aspect-ratio:4/5.1;object-fit:cover}.hair-copy{position:relative;z-index:3;margin-top:-32px}.hair-copy h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(4rem,19vw,7.2rem);line-height:.8;letter-spacing:-.06em;font-weight:400;font-style:italic;margin:0;color:#221812}.hair-copy p:last-child{max-width:28rem;line-height:1.6;color:#65584b}.hair-type{position:absolute;inset:0;pointer-events:none}.hair-type span{position:absolute;font-family:Arial Black,Impact,Arial,sans-serif;font-size:clamp(6rem,30vw,12rem);line-height:.8;color:rgba(90,63,34,.08);letter-spacing:-.08em}.hair-type span:nth-child(1){top:6%;left:-6%}.hair-type span:nth-child(2){top:46%;right:-12%;transform:rotate(90deg)}.hair-type span:nth-child(3){bottom:6%;left:-4%}

/* COLLECTION */
.collection{background:var(--paper);padding-top:100px}.collection-top{padding-bottom:56px}.service-stage{position:relative;min-height:100svh;background:#12100e;color:#fff;overflow:hidden}.service-preview{position:absolute;inset:0}.service-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,8,6,.9),rgba(9,8,6,.58) 60%,rgba(9,8,6,.25))}.service-preview img{height:100%;object-fit:cover;filter:saturate(.75) contrast(1.08);transform:scale(1.04);transition:opacity .25s ease,transform .5s ease}.service-list{position:relative;z-index:2;padding-top:80px;padding-bottom:90px}.service-list button{width:100%;display:grid;grid-template-columns:30px 1fr;grid-template-areas:"n t" "n e";text-align:left;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.22);cursor:pointer}.service-list button:first-child{border-top:1px solid rgba(255,255,255,.22)}.service-list span{grid-area:n;font-size:.52rem;letter-spacing:.15em;color:var(--gold2);padding-top:8px}.service-list strong{grid-area:t;font-family:Arial Black,Impact,Arial,sans-serif;font-size:clamp(2.2rem,11vw,4rem);letter-spacing:-.06em;line-height:.85}.service-list em{grid-area:e;font-size:.58rem;font-style:normal;letter-spacing:.12em;color:#c2b5a4;margin-top:6px}.service-list button:hover strong,.service-list button:focus-visible strong{color:var(--gold2)}

/* FOUNDER */
.founder{height:220svh;background:#ede5da}.founder-sticky{position:sticky;top:0;height:100svh;display:grid;align-content:center;gap:30px;overflow:hidden}.founder-photo{position:relative;width:min(72vw,360px);margin-inline:auto;transform:rotate(-3deg)}.founder-photo:before{content:"";position:absolute;inset:-12px 14px 14px -12px;border:1px solid var(--gold);z-index:0}.founder-photo img{position:relative;z-index:1;aspect-ratio:3/4;object-fit:cover}.founder-photo span{position:absolute;z-index:3;right:-18px;bottom:26px;background:#0c0a08;color:#fff;padding:8px 10px;font-size:.49rem;letter-spacing:.17em}.founder-copy h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.5rem,16vw,6.5rem);line-height:.82;letter-spacing:-.06em;font-weight:400;margin:0}.founder-copy h2 em{color:var(--gold);font-weight:400}.founder-copy blockquote{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.25rem,5.5vw,2rem);line-height:1.28;margin:26px 0 12px}.founder-source{font-size:.58rem;letter-spacing:.12em;color:#6e6154}

/* REVIEWS */
.reviews{background:var(--black);color:#fff;padding:100px 0 110px}.reviews-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}.reviews-score{display:grid;grid-template-columns:auto auto;align-items:center;gap:0 10px}.reviews-score strong{font-family:Georgia,"Times New Roman",serif;font-size:4.8rem;font-weight:400;line-height:.8}.reviews-score span{color:var(--gold2);letter-spacing:.05em}.reviews-score small{grid-column:1/-1;font-size:.55rem;color:#b4a595;margin-top:8px}.review-wall{padding-top:60px;display:grid;gap:18px}.review-wall article{border-top:1px solid rgba(231,207,150,.35);padding:22px 0 4px;display:grid;grid-template-columns:28px 1fr;gap:0 12px}.review-wall article>span{color:var(--gold2);font-size:.52rem;letter-spacing:.14em;padding-top:5px}.review-wall blockquote{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.45rem,6.5vw,2.6rem);line-height:1.16;letter-spacing:-.025em}.review-wall p{grid-column:2;margin:14px 0 0;font-size:.58rem;letter-spacing:.12em;color:#a99d90}

/* STUDIO */
.studio-scroll{height:210svh;background:#080705}.studio-sticky{position:sticky;top:0;height:100svh;overflow:hidden;color:#fff}.studio-img{position:absolute;inset:0;height:100%;object-fit:cover;will-change:transform,opacity}.studio-b{opacity:0}.studio-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,6,5,.08),rgba(7,6,5,.12) 40%,rgba(7,6,5,.82))}.studio-copy{position:absolute;z-index:3;left:0;right:0;bottom:max(84px,var(--safe))}.studio-copy h2{font-family:Arial Black,Impact,Arial,sans-serif;font-size:clamp(5rem,26vw,10rem);line-height:.69;letter-spacing:-.08em;margin:0 0 22px}.studio-copy address{font-style:normal;font-size:.9rem;line-height:1.55}.studio-actions{display:flex;gap:10px;margin-top:18px}.studio-actions a{border:1px solid rgba(255,255,255,.65);padding:10px 13px;font-size:.57rem;letter-spacing:.16em}.studio-neon{position:absolute;z-index:2;right:-7vw;top:16vh;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:clamp(3.6rem,18vw,7rem);line-height:.72;color:#ffe6ad;text-shadow:0 0 9px #f9c95c,0 0 28px #f6a63b;transform:rotate(-6deg);opacity:.85}

/* FINALE */
.finale{position:relative;min-height:100svh;background:var(--ivory);padding-top:110px;padding-bottom:max(120px,calc(96px + env(safe-area-inset-bottom)));display:flex;flex-direction:column;justify-content:center;overflow:hidden}.finale:before{content:"";position:absolute;width:70vw;aspect-ratio:1;border:1px solid rgba(198,161,91,.25);border-radius:50%;right:-28vw;top:8vh}.finale-orbit{width:86px;color:var(--gold);margin-bottom:26px;animation:slowSpin 14s linear infinite}.finale h2{font-family:Arial Black,Impact,Arial,sans-serif;font-weight:900;font-style:normal;max-width:100%;font-size:clamp(4.2rem,20vw,8rem);line-height:.72;letter-spacing:-.075em}.finale h2 em{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:.75em;line-height:.88;display:block;margin-top:14px}.finale>p:not(.kicker){max-width:24rem;color:#62564b;line-height:1.55}.finale-actions{display:grid;gap:10px;margin-top:22px;max-width:420px}.btn-main,.btn-ghost{min-height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:.62rem;font-weight:800;letter-spacing:.14em}.btn-main{background:var(--black);color:#fff}.btn-ghost{border:1px solid var(--black)}.finale small{font-size:.52rem;letter-spacing:.13em;color:#837568;margin-top:28px}@keyframes slowSpin{to{transform:rotate(360deg)}}

.mobile-cta{position:fixed;z-index:120;left:10px;right:10px;bottom:max(8px,env(safe-area-inset-bottom));height:50px;background:rgba(10,8,6,.94);backdrop-filter:blur(12px);color:#fff;display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.16)}.mobile-cta a{display:grid;place-items:center;font-size:.58rem;font-weight:800;letter-spacing:.14em}.mobile-cta a+a{border-left:1px solid rgba(255,255,255,.16)}

@media (min-width:760px){
  :root{--pad:clamp(32px,6vw,100px)} .mobile-cta{display:none}.topbar{height:72px}.mini-brand img{width:34px;height:34px}
  .hero-word-a{font-size:20vw;top:9vh}.hero-word-b{font-size:13vw;top:42vh}.hero-word-c{font-size:22vw;bottom:0}.gold-portal{width:29vw;height:29vw;max-width:460px;max-height:460px}.hero-copy{left:var(--pad);bottom:7vh}.hero-copy h1{font-size:clamp(3rem,5vw,5rem)}
  .gallery-intro{display:grid;grid-template-columns:1.1fr .8fr;align-items:end;gap:5vw}.gallery-intro .kicker{grid-column:1/-1}.gallery-intro h2{font-size:clamp(5rem,8vw,8rem)}.lead{font-size:1.1rem}
  .gallery-frame{width:min(31vw,430px);height:min(42vw,590px)}.gallery-card{width:min(29vw,400px);height:min(40vw,560px)}.gallery-card figcaption{left:-4vw;bottom:-84px;width:35vw}.gallery-card figcaption strong{font-size:clamp(3rem,5vw,5.5rem)}.gallery-bgword{font-size:22vw;bottom:9vh}
  .detail-cut{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:100vh 100vh}.detail-dark{grid-column:1/-1}.detail-image{min-height:100vh}.detail-dark h2{font-size:13vw}
  .hair-feature{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.hair-shot{width:min(38vw,560px);grid-column:2}.hair-copy{grid-column:1;grid-row:1;margin:0}.hair-copy h2{font-size:clamp(5.5rem,8vw,8rem)}
  .collection-top{display:grid;grid-template-columns:1fr 1fr;align-items:end}.collection-top h2{font-size:clamp(5rem,7vw,7rem)}
  /* Desktop service stage: keep the preview completely out of document flow.
     The service images have very different aspect ratios; letting them size the
     grid row made the page height change on every hover and caused scroll jumps. */
  .service-stage{display:block;position:relative;height:max(720px,100svh);min-height:0}
  .service-preview{position:absolute;inset:0 0 0 50%;width:50%;height:100%;overflow:hidden}
  .service-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .service-list{position:relative;width:50%;height:100%;padding-top:0;padding-bottom:0;display:flex;flex-direction:column;justify-content:center}
  .service-preview:after{background:linear-gradient(90deg,rgba(9,8,6,.85),rgba(9,8,6,.1))}
  .founder-sticky{grid-template-columns:.8fr 1.2fr;gap:7vw}.founder-photo{width:min(34vw,500px)}.founder-copy h2{font-size:clamp(5rem,7vw,7.5rem)}
  .reviews-head{align-items:center}.reviews-score strong{font-size:7rem}.review-wall{grid-template-columns:1fr 1fr;gap:24px 40px}.review-wall article{padding-top:26px}.review-wall blockquote{font-size:clamp(1.6rem,2.7vw,2.9rem)}
  .studio-copy h2{font-size:14vw}.studio-neon{right:5vw;top:12vh;font-size:8vw}.finale{align-items:center;text-align:center}.finale h2{font-size:10vw}.finale>p:not(.kicker){margin-inline:auto}.finale-actions{width:420px}.finale small{margin-top:34px}.finale:before{width:38vw;right:-8vw}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.intro-glow,.draw,.intro-label,.intro-slice,.finale-orbit{animation:none}.intro{display:none}.hero-media img,.gallery-card,.gallery-bgword,.gold-portal,.studio-img{transform:none!important}.gallery-card{transition:none}.service-preview img{transition:none}}

/* HERO PORTRAIT / RESPONSIVE READABILITY PASS
   The hero is intentionally editorial, but all functional text remains readable
   and clear of the large display typography at every supported breakpoint. */
.hero-media img{object-position:center 34%}
.hero-shade{
  background:
    linear-gradient(180deg,rgba(6,5,4,.08) 0%,rgba(6,5,4,.05) 34%,rgba(6,5,4,.35) 62%,rgba(6,5,4,.92) 100%),
    linear-gradient(90deg,rgba(6,5,4,.22),transparent 55%);
}
.hero-word{mix-blend-mode:normal;text-shadow:0 2px 24px rgba(0,0,0,.34)}
.hero-word-a{left:var(--pad);top:14svh;font-size:clamp(4.6rem,25vw,8.8rem)}
.hero-word-b{left:var(--pad);right:auto;top:35svh;font-size:clamp(3.4rem,18vw,6.4rem)}
.hero-word-c{left:var(--pad);bottom:25svh;font-size:clamp(5.1rem,27vw,9.5rem)}
.hero-copy{
  left:var(--pad);right:var(--pad);
  bottom:max(76px,calc(58px + env(safe-area-inset-bottom)));
  max-width:min(78vw,420px);
  padding:12px 14px 13px;
  background:linear-gradient(90deg,rgba(7,6,4,.72),rgba(7,6,4,.20));
  border-left:1px solid rgba(231,207,150,.8);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.hero-copy h1{font-size:clamp(1.75rem,8vw,3.15rem);line-height:.94}
.hero-copy p,.hero-copy span{text-shadow:0 1px 8px rgba(0,0,0,.75)}
.hero-scrollcue{right:var(--pad);bottom:max(80px,calc(62px + env(safe-area-inset-bottom)))}

@media (max-width:420px){
  .hero-word-a{top:13svh;font-size:clamp(4rem,23vw,6rem)}
  .hero-word-b{top:33svh;font-size:clamp(3rem,17vw,4.7rem)}
  .hero-word-c{bottom:28svh;font-size:clamp(4.7rem,25vw,6.8rem)}
  .hero-copy{max-width:calc(100vw - (var(--pad) * 2) - 34px);padding:10px 11px 11px}
  .hero-copy h1{font-size:clamp(1.65rem,7.4vw,2.2rem)}
  .hero-copy span{font-size:.59rem;letter-spacing:.075em}
  .hero-scrollcue{display:none}
}

@media (min-width:760px) and (max-width:1099px){
  .hero-media img{object-position:center 30%}
  .hero-word-a{left:5vw;top:13vh;font-size:14vw}
  .hero-word-b{left:5vw;right:auto;top:37vh;font-size:9vw}
  .hero-word-c{left:5vw;bottom:18vh;font-size:15vw}
  .hero-copy{
    left:auto;right:5vw;bottom:5vh;
    width:min(39vw,390px);max-width:none;
    padding:16px 18px;
    background:rgba(7,6,4,.58);
  }
  .hero-copy h1{font-size:clamp(2.3rem,4.4vw,3.7rem)}
  .hero-scrollcue{right:2.4vw;bottom:43vh}
}

@media (min-width:1100px){
  .hero-sticky{background:#080706}
  .hero-media{inset:0 0 0 42%;overflow:hidden}
  .hero-media img{object-position:center 27%;transform-origin:center center}
  .hero-shade{
    background:
      linear-gradient(90deg,rgba(8,7,6,.68) 0%,rgba(8,7,6,.12) 24%,rgba(8,7,6,.02) 58%),
      linear-gradient(180deg,rgba(6,5,4,.02),rgba(6,5,4,.10) 55%,rgba(6,5,4,.60));
  }
  .hero-sticky:after{
    content:"";position:absolute;z-index:1;inset:0;
    pointer-events:none;
    background:linear-gradient(90deg,#080706 0 39%,rgba(8,7,6,.95) 43%,rgba(8,7,6,.34) 52%,transparent 65%);
  }
  .hero-word{z-index:2;text-shadow:none}
  .hero-word-a{left:5.5vw;top:18vh;font-size:clamp(7rem,9.2vw,11rem)}
  .hero-word-b{left:5.5vw;right:auto;top:43vh;font-size:clamp(4.5rem,6.2vw,7.5rem)}
  .hero-word-c{left:5.5vw;bottom:12vh;font-size:clamp(7.4rem,10.3vw,12.5rem)}
  .gold-portal{z-index:3;left:66%;top:48%;width:28vw;height:28vw;max-width:450px;max-height:450px}
  .hero-copy{
    z-index:5;left:auto;right:4.5vw;bottom:5.5vh;
    width:min(31vw,430px);max-width:none;
    padding:18px 20px 19px;
    background:rgba(8,7,6,.58);
    border-left:1px solid rgba(231,207,150,.88);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }
  .hero-copy h1{font-size:clamp(2.4rem,3.3vw,4.3rem);line-height:.93}
  .hero-scrollcue{z-index:5;right:1.7vw;bottom:44vh}
}

@media (min-width:1600px){
  .hero-media{inset:0 0 0 45%}
  .hero-sticky:after{background:linear-gradient(90deg,#080706 0 42%,rgba(8,7,6,.94) 46%,rgba(8,7,6,.28) 55%,transparent 68%)}
  .hero-word-a,.hero-word-b,.hero-word-c{left:6vw}
  .hero-copy{right:6vw;width:min(28vw,470px)}
}


/* DETAIL STUDY — scroll stack + kinetic EVERYTHING
   The three macro images now behave like physical cards: each new card pins
   slightly lower than the previous one and slides over it while scrolling. */
.detail-cut{display:block!important;position:relative;background:var(--black);color:#fff;isolation:isolate}
.detail-dark{min-height:160svh!important;padding:0!important;display:block!important;overflow:visible!important;background:#0a0907;position:relative;z-index:10}
.detail-dark-inner{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:92px var(--pad) max(80px,var(--safe));background:#0a0907}
.detail-dark h2{font-family:Arial Black,Impact,Arial,sans-serif;font-size:clamp(4.8rem,24vw,9rem);line-height:.72;letter-spacing:-.08em;margin:0;position:relative;z-index:2}
.everything-marquee{position:relative;z-index:3;width:calc(100% + (var(--pad) * 2));margin-left:calc(var(--pad) * -1);margin-top:18px;overflow:visible;height:clamp(4.1rem,18vw,9.2rem);pointer-events:none}
.everything-marquee span{display:block;width:max-content;white-space:nowrap;color:var(--gold2);font-family:Georgia,"Times New Roman",serif;font-weight:400;font-style:italic;font-size:clamp(4.25rem,18vw,9.4rem);line-height:.86;letter-spacing:-.055em;transform:translate3d(42vw,0,0);will-change:transform;text-shadow:0 10px 38px rgba(0,0,0,.26)}
.detail-image{position:sticky!important;top:var(--stack-top,0px)!important;height:calc(100svh - var(--stack-top,0px))!important;min-height:0!important;padding:0!important;overflow:hidden;background:#111;box-shadow:0 -18px 44px rgba(0,0,0,.42);transform:translateZ(0)}
.detail-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.055);will-change:transform}
.detail-image:before{content:"";position:absolute;z-index:3;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(231,207,150,.72),transparent);opacity:.9}
.detail-eye{--stack-top:0px;z-index:20}.detail-lips{--stack-top:12px;z-index:21}.detail-brow{--stack-top:24px;z-index:22}
.detail-image span{bottom:max(76px,var(--safe))}

@media (min-width:760px){
  .detail-dark{min-height:175vh!important}
  .detail-dark-inner{padding-inline:5vw}
  .detail-dark h2{font-size:clamp(7rem,13vw,13rem);line-height:.70}
  .everything-marquee{height:clamp(7rem,13vw,13rem);margin-top:1.4vw}
  .everything-marquee span{font-size:clamp(7rem,13vw,13rem)}
  .detail-eye{--stack-top:0px}.detail-lips{--stack-top:16px}.detail-brow{--stack-top:32px}
}

@media (max-width:420px){
  .detail-dark{min-height:150svh!important}
  .detail-dark h2{font-size:clamp(4.4rem,23vw,6.5rem)}
  .everything-marquee{height:clamp(3.9rem,19vw,5.6rem);margin-top:14px}
  .everything-marquee span{font-size:clamp(4rem,19vw,5.7rem)}
  .detail-eye{--stack-top:0px}.detail-lips{--stack-top:9px}.detail-brow{--stack-top:18px}
}

@media (prefers-reduced-motion:reduce){
  .detail-dark{min-height:100svh!important}
  .everything-marquee span{transform:none!important;margin-left:var(--pad)}
  .detail-image{position:relative!important;top:auto!important;height:100svh!important;box-shadow:none}
  .detail-image img{transform:none!important}
}

/* Detail-study tuning: keep EVERYTHING readable during its full right-to-left pass. */
@media (max-width:759px){
  .detail-dark{min-height:175svh!important}
  .everything-marquee{height:clamp(3.7rem,16vw,6.8rem)}
  .everything-marquee span{font-size:clamp(3.7rem,16vw,6.8rem);letter-spacing:-.065em}
}
@media (max-width:420px){
  .detail-dark{min-height:175svh!important}
  .everything-marquee{height:clamp(3.55rem,15.5vw,4.8rem)}
  .everything-marquee span{font-size:clamp(3.55rem,15.5vw,4.8rem)}
  .detail-eye{--stack-top:0px}.detail-lips{--stack-top:14px}.detail-brow{--stack-top:28px}
}

/* MUSE BEAUTY V1 — content-only adaptation + demo affordances */
.gallery-card[data-title="SKIN"] img{object-position:center}
.gallery-card[data-title="BROWS"] img{object-position:65% center}
.detail-brow img{object-position:62% center}
.studio-a{object-position:45% center}
.studio-b{object-position:50% 40%}
.studio-neon{font-size:clamp(2.8rem,13vw,7rem)}
.hair-shot img{object-position:49% center}
.founder-photo img{object-position:50% 20%}
.demo-address{white-space:pre-line;max-width:22rem}
.demo-reviews-note{margin:22px var(--pad) 0;padding:14px 17px;border-left:2px solid var(--gold2);background:rgba(231,207,150,.08);color:#e1d8c9;font-size:.78rem;line-height:1.5;max-width:790px}
.demo-dialog{width:min(520px,calc(100vw - 36px));border:1px solid rgba(198,161,91,.8);background:#11100e;color:#f4efe7;padding:40px 32px;box-shadow:0 24px 90px #0009}
.demo-dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}
.demo-dialog h2{font:400 clamp(2.2rem,8vw,3.5rem)/.97 Georgia,serif;margin:12px 0 16px}
.demo-dialog h2 em{color:var(--gold2)}
.demo-dialog p:not(.kicker){line-height:1.65;color:#d5c9bb}
.demo-close{position:absolute;right:13px;top:11px;font-size:30px;cursor:pointer;line-height:1}
.demo-ok{display:inline-flex;gap:45px;margin-top:12px;padding:15px 18px;background:var(--gold2);color:#11100e;font-size:.7rem;font-weight:800;letter-spacing:.13em;cursor:pointer}
@media(max-width:759px){.hero-media img{object-position:center 28%}.gallery-card[data-title="BROWS"] img{object-position:58% center}.studio-neon{right:4vw;font-size:13vw;opacity:.7}.studio-copy h2{font-size:clamp(3.5rem,19vw,6rem);max-width:12ch;line-height:.77}}


/* MUSE BEAUTY V2 — balanced Beauty Gallery editorial index.
   Desktop: cover headline left, explanatory copy + four chapter rows right.
   Mobile: natural reading order with comfortable touch-sized row rhythm. */
.gallery-intro{
  padding-top:clamp(76px,7vw,112px);
  padding-bottom:clamp(70px,6vw,100px);
}
.gallery-intro-aside{min-width:0}
.gallery-intro-aside .lead{margin:0 0 27px;max-width:35rem}
.gallery-index{list-style:none;padding:0;margin:0;border-top:1px solid rgba(145,109,61,.48)}
.gallery-index-row{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto;
  column-gap:clamp(10px,1.3vw,22px);
  align-items:baseline;
  padding:17px 0 16px;
  border-bottom:1px solid rgba(145,109,61,.36);
  min-width:0;
}
.gallery-index-no{font-size:.64rem;font-weight:700;letter-spacing:.14em;color:#a57d3f}
.gallery-index-name{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.55rem,2.15vw,2.35rem);letter-spacing:-.045em;line-height:1.05;color:var(--ink)}
.gallery-index-caption{font-size:clamp(.49rem,.63vw,.66rem);font-weight:650;letter-spacing:.15em;text-align:right;color:#857261;white-space:nowrap}
/* Progressive enhancement only: if JS cannot run, every row stays visible. */
.gallery-intro.index-can-animate .gallery-index-row{opacity:0;transform:translate3d(0,12px,0);transition:opacity .62s ease,transform .62s cubic-bezier(.2,.7,.2,1)}
.gallery-intro.index-can-animate.index-visible .gallery-index-row{opacity:1;transform:translate3d(0,0,0)}
.gallery-intro.index-can-animate .gallery-index-row:nth-child(1){transition-delay:.04s}
.gallery-intro.index-can-animate .gallery-index-row:nth-child(2){transition-delay:.12s}
.gallery-intro.index-can-animate .gallery-index-row:nth-child(3){transition-delay:.20s}
.gallery-intro.index-can-animate .gallery-index-row:nth-child(4){transition-delay:.28s}
@media(min-width:1100px){
  .gallery-intro{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);column-gap:clamp(44px,7vw,150px);align-items:center;min-height:570px}
  .gallery-intro .kicker{align-self:end}
  .gallery-intro h2{align-self:start;font-size:clamp(5.25rem,7.15vw,8.1rem);max-width:9.2ch}
  .gallery-intro-aside{align-self:center}
  .gallery-intro-aside .lead{font-size:clamp(1rem,1.16vw,1.2rem);line-height:1.57;margin-bottom:29px}
}
@media(min-width:760px) and (max-width:1099px){
  .gallery-intro{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:4vw;align-items:center}
  .gallery-intro h2{font-size:clamp(4.5rem,7.2vw,6.5rem);line-height:.87;max-width:8.8ch}
  .gallery-intro-aside .lead{font-size:1rem;line-height:1.55}
  .gallery-index-row{grid-template-columns:24px minmax(0,1fr);row-gap:4px;padding:14px 0}
  .gallery-index-caption{grid-column:2;text-align:left}
}
@media(max-width:759px){
  .gallery-intro{display:block;padding-top:76px;padding-bottom:78px}
  .gallery-intro .kicker{margin-bottom:30px;font-size:.6rem}
  .gallery-intro h2{font-size:clamp(3.25rem,14vw,5.7rem);line-height:.86;max-width:10ch}
  .gallery-intro-aside{margin-top:43px}
  .gallery-intro-aside .lead{font-size:clamp(.92rem,3.6vw,1rem);line-height:1.58;max-width:34rem;margin-bottom:30px}
  .gallery-index-row{grid-template-columns:27px minmax(0,1fr) auto;gap:8px;padding:16px 0 15px}
  .gallery-index-name{font-size:clamp(1.5rem,6.4vw,2.1rem)}
  .gallery-index-caption{font-size:clamp(.45rem,1.8vw,.6rem);letter-spacing:.08em}
}
@media(max-width:359px){
  .gallery-intro h2{font-size:clamp(3.08rem,13.7vw,3.4rem)}
  .gallery-index-row{grid-template-columns:23px minmax(0,1fr);row-gap:4px}
  .gallery-index-caption{grid-column:2;text-align:left;font-size:.53rem;letter-spacing:.12em}
}
@media(prefers-reduced-motion:reduce){
  .gallery-intro.index-can-animate .gallery-index-row{transition:none!important;opacity:1!important;transform:none!important}
}


/* MUSE BEAUTY V3 — interactive editorial chapter index */
.gallery-index-row{display:block;position:relative;padding:0!important;isolation:isolate}
.gallery-index-link{
  position:relative;display:grid;grid-template-columns:32px minmax(0,1fr) auto 27px;
  align-items:baseline;gap:clamp(9px,1.25vw,20px);min-width:0;
  padding:17px 0 16px;color:inherit;cursor:pointer;
  text-decoration:none;isolation:isolate;
}
.gallery-index-link::before{
  content:"";position:absolute;z-index:-1;inset:0 -12px;
  background:radial-gradient(ellipse 265px 140px at var(--spot-x,50%) 50%, rgba(198,161,91,.21),transparent 75%),
             linear-gradient(90deg,rgba(198,161,91,.075),transparent 70%);
  opacity:0;transition:opacity .52s ease;
}
.gallery-index-link::after{
  content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;
  background:linear-gradient(90deg,var(--gold),var(--gold2),transparent);
  transform-origin:left;transform:scaleX(0);transition:transform .55s cubic-bezier(.18,.72,.2,1);
}
.gallery-index-no,.gallery-index-name,.gallery-index-caption,.gallery-index-arrow{transition:color .4s ease,transform .55s cubic-bezier(.18,.72,.2,1),opacity .4s ease}
.gallery-index-arrow{
  justify-self:end;align-self:center;display:grid;place-items:center;
  width:24px;height:24px;font:400 1.05rem/1 Georgia,serif;color:#a88a52;
  opacity:.42;transform:translate(-5px,5px);
}
@media(hover:hover) and (pointer:fine){
  .gallery-index-link:hover::before{opacity:1}
  .gallery-index-link:hover::after{transform:scaleX(1)}
  .gallery-index-link:hover .gallery-index-name{color:#aa7e33;transform:translateX(9px)}
  .gallery-index-link:hover .gallery-index-no{color:#6c4b1d;transform:translateY(-2px)}
  .gallery-index-link:hover .gallery-index-caption{color:#846034;transform:translateX(-2px)}
  .gallery-index-link:hover .gallery-index-arrow{color:#98702b;opacity:1;transform:translate(0,0)}
}
.gallery-index-link:focus-visible{outline:2px solid #967233;outline-offset:4px}
.gallery-index-link:focus-visible::before{opacity:1}
.gallery-index-link:focus-visible::after{transform:scaleX(1)}
.gallery-index-link:focus-visible .gallery-index-name{color:#aa7e33;transform:translateX(7px)}
.gallery-index-link:focus-visible .gallery-index-arrow{opacity:1;transform:none}
@media (min-width:760px) and (max-width:1099px){
  .gallery-index-link{grid-template-columns:24px minmax(0,1fr) 26px;row-gap:4px;padding:14px 0}
  .gallery-index-caption{grid-column:2;grid-row:2;text-align:left}
  .gallery-index-arrow{grid-column:3;grid-row:1 / span 2}
}
@media (max-width:759px){
  .gallery-index-link{grid-template-columns:27px minmax(0,1fr) auto 23px;gap:8px;padding:16px 0 15px}
  .gallery-index-arrow{width:22px;height:22px}
}
@media (max-width:359px){
  .gallery-index-link{grid-template-columns:23px minmax(0,1fr) 24px;row-gap:4px}
  .gallery-index-caption{grid-column:2;grid-row:2;text-align:left}
  .gallery-index-arrow{grid-column:3;grid-row:1 / span 2}
}

/* MUSE BEAUTY V3 — mobile subject-first crops. Desktop remains unchanged. */
@media(max-width:759px){
  .detail-eye img{object-position:77% center}
  .gallery-card[data-title="LASHES"] img{object-position:78% center}
  .detail-brow img{object-position:72% center}
}

/* MUSE BEAUTY V3 — scroll-kinetic backdrop typography.
   The whole words travel on dedicated rows (not clipped offscreen at rest).
   They remain behind both the photo and the copy. */
.hair-feature{isolation:isolate}
.hair-type{z-index:1;overflow:hidden}
.hair-type span{
  display:block;left:0!important;right:auto!important;bottom:auto!important;
  width:100%;height:auto;position:absolute;
  text-align:center;white-space:nowrap;
  font-size:clamp(6rem,14vw,13.5rem);line-height:1;letter-spacing:-.065em;
  color:rgba(90,63,34,.15);
  transform:translate3d(0,0,0);
  will-change:transform;
}
.hair-type span:nth-child(1){top:4%;}
.hair-type span:nth-child(2){top:43%;}
.hair-type span:nth-child(3){top:78%;}
@media(max-width:759px){
  .hair-type span{font-size:clamp(5rem,20vw,9rem);color:rgba(90,63,34,.135)}
  .hair-type span:nth-child(1){top:6%}
  .hair-type span:nth-child(2){top:47%}
  .hair-type span:nth-child(3){top:84%}
}
@media(prefers-reduced-motion:reduce){
  .hair-type span{transform:none!important;will-change:auto}
  .gallery-index-link::before,.gallery-index-link::after,
  .gallery-index-no,.gallery-index-name,.gallery-index-caption,.gallery-index-arrow{transition:none!important}
}

/* Ensure the middle word is horizontal until the scroll script takes over. */
.hair-type span:nth-child(2){transform:none}
@media (max-width:359px){.gallery-intro{padding-top:96px}}

/* MUSE V4: keep the new portrait's hairline visible on wide displays. */
@media (min-width:760px){.hero-media img{object-position:center 7%}}
