@font-face{font-family:'Bricolage';font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(fonts/Bricolage-var.woff2) format('woff2')}
@font-face{font-family:'Bodoni Moda';font-style:italic;font-weight:400 700;font-display:swap;src:url(fonts/BodoniModa-italic-400_700.woff2) format('woff2')}
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/BodoniModa-normal-400_700.woff2) format('woff2')}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:300 600;font-display:swap;src:url(fonts/HankenGrotesk-normal-300_600.woff2) format('woff2')}
@font-face{font-family:'Courier Prime';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/CourierPrime-400.woff2) format('woff2')}
@font-face{font-family:'Courier Prime';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/CourierPrime-700.woff2) format('woff2')}
@font-face{font-family:'Courier Prime';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/CourierPrime-400i.woff2) format('woff2')}

:root{
  --esp:#231f20; --esp2:#422b17; --night:#1a1617; --cham:#d4b98f; --caramel:#8a623d; --caramel-l:#b18b62;
  --nude:#e9dfd7; --ivory:#f4ede6; --lime:#d8e32a; --mute:#6f6157;
  --cool:#0b0d0f; --cool2:#15181b; --paper:#e3e3de; --steel:#8e979d; --coolbone:#d9dcd6;
  --cond:'Bricolage', 'Arial Narrow', 'Helvetica Neue', Arial, sans-serif;
  --serif:'Bodoni Moda', 'Didot', 'Bodoni 72', Georgia, serif;
  --sans:'Hanken Grotesk', -apple-system, 'Helvetica Neue', Arial, sans-serif;
  --mono:'Courier Prime', 'Courier New', ui-monospace, monospace;
  --pad:clamp(1.25rem, 5vw, 4.5rem);
  --vh:100vh;
}
@supports (height:100svh){:root{--vh:100svh}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:4rem}
html:not(.motion){scroll-behavior:smooth}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--esp);color:var(--esp);font-family:var(--sans);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
@supports not (overflow:clip){body{overflow-x:hidden}}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
em{font-style:italic}
p{margin:0 0 1em}
h1,h2,h3{margin:0;font-weight:400}
.lime{color:var(--lime)}
.skip{position:absolute;left:-999px;top:0;z-index:100;background:var(--lime);color:var(--esp);padding:.6rem 1rem}
.skip:focus{left:1rem;top:1rem}
:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.mask{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.mask>span{display:inline-block}
.kicker{font-family:var(--sans);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;font-weight:500;margin:0 0 1.4rem;display:flex;align-items:center;gap:.8rem}
.kicker::before{content:'';width:2.2rem;height:1px;background:currentColor;opacity:.6}
.kicker--light{color:var(--cham)}
.kicker--cool{color:var(--steel);font-family:var(--mono);letter-spacing:.14em}

/* grain + cursor */
.grain{position:fixed;inset:-50%;width:200%;height:200%;background:url(grain.png) repeat;opacity:.075;pointer-events:none;z-index:70;mix-blend-mode:overlay}
@media (pointer:fine){html.motion .grain{animation:grain 1.2s steps(6) infinite}}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-4%)}60%{transform:translate(-4%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
.cursor{display:none}
html.has-cursor .cursor{display:block;opacity:0;transition:opacity .3s;position:fixed;left:0;top:0;z-index:90;pointer-events:none;mix-blend-mode:difference}
.cursor__dot{position:absolute;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#fff}
.cursor__ring{position:absolute;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;border:1px solid rgba(255,255,255,.7);display:grid;place-items:center;transition:width .35s cubic-bezier(.2,.7,.1,1),height .35s cubic-bezier(.2,.7,.1,1),margin .35s cubic-bezier(.2,.7,.1,1),background .35s}
.cursor__label{font:500 .62rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#000;opacity:0;transition:opacity .2s}
html.has-cursor .cursor.is-live{opacity:1}
html.has-cursor .cursor.is-hover .cursor__ring{width:84px;height:84px;margin:-42px 0 0 -42px;background:#fff;border-color:#fff}
html.has-cursor .cursor.is-hover .cursor__label{opacity:1}
html.has-cursor, html.has-cursor a, html.has-cursor button{cursor:none}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;justify-content:space-between;align-items:center;padding:calc(.9rem + env(safe-area-inset-top)) var(--pad) .9rem;color:var(--ivory);transition:color .4s}
.nav::before{content:'';position:absolute;inset:0 0 -1.6rem;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(35,31,32,.82) 0%,rgba(35,31,32,.55) 55%,rgba(35,31,32,0) 100%);opacity:0;transition:opacity .4s}
.nav.is-scrolled::before{opacity:1}
.nav.is-light{color:var(--esp)}
.nav.is-light::before{background:linear-gradient(180deg,rgba(240,232,224,.92) 0%,rgba(240,232,224,.7) 55%,rgba(240,232,224,0) 100%)}
.nav.is-cool{color:var(--coolbone)}
.nav.is-cool::before{background:linear-gradient(180deg,rgba(11,13,15,.92) 0%,rgba(11,13,15,.7) 55%,rgba(11,13,15,0) 100%)}
.nav__mark{display:block;text-decoration:none;line-height:0}
.nav__mark img{display:block;height:clamp(1.5rem,1.1rem + .9vw,1.95rem);width:auto;transition:filter .4s,opacity .3s}
.nav__mark:hover img{opacity:.8}
.nav.is-light .nav__mark img{filter:brightness(.16)}
.nav__links{display:flex;align-items:center;gap:clamp(.9rem,2.4vw,2rem);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500}
.nav__links a{text-decoration:none}
.nav__links a:not(.nav__book){position:relative}
.nav__links a:not(.nav__book)::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s cubic-bezier(.2,.7,.1,1)}
.nav__links a:not(.nav__book):hover::after{transform:scaleX(1);transform-origin:left}
.nav__book{background:var(--lime);color:var(--esp);padding:.62rem 1rem;border-radius:999px;display:inline-block}
@media (max-width:420px){.nav__links a[href="#dossier"]{display:none}}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.8rem;padding:1.05rem 1.6rem;border-radius:999px;text-decoration:none;font:500 .78rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;will-change:transform;transition:background .3s,color .3s}
.btn span{display:inline-block;pointer-events:none}
.btn::after{content:'';width:.5rem;height:.5rem;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);pointer-events:none}
.btn--lime{background:var(--lime);color:var(--esp)}
.btn--lime:hover{background:var(--ivory)}
.btn--ink{background:var(--esp);color:var(--ivory)}
.btn--ink:hover{background:var(--esp2)}
.btn--cool{background:var(--coolbone);color:var(--cool);font-family:var(--mono);letter-spacing:.12em;border-radius:2px}
.btn--cool:hover{background:var(--lime)}
.btn--line{border:1px solid rgba(233,223,215,.5);color:var(--nude)}
.btn--line:hover{border-color:var(--lime);color:var(--lime)}

/* light (follows pointer / scroll) */
.light{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--lx,70%) var(--ly,30%), rgba(255,236,196,.38), rgba(255,236,196,0) 38%);mix-blend-mode:soft-light;z-index:2}
.light--warm{background:radial-gradient(circle at var(--lx,50%) var(--ly,60%), rgba(212,185,143,.22), rgba(212,185,143,0) 45%);mix-blend-mode:normal}
.light--gold{background:radial-gradient(circle at var(--lx,50%) var(--ly,50%), rgba(255,240,200,.55), rgba(255,240,200,0) 30%);mix-blend-mode:overlay}
.sheen{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg, transparent 0%, transparent calc(var(--sx,30%) - 14%), rgba(255,248,225,.0) calc(var(--sx,30%) - 10%), rgba(255,248,225,.55) var(--sx,30%), rgba(216,227,42,.22) calc(var(--sx,30%) + 2%), rgba(255,248,225,0) calc(var(--sx,30%) + 10%), transparent 100%);mix-blend-mode:screen}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:max(var(--vh),620px);overflow:hidden;color:var(--ivory);background:#362219}
.hero__media{position:absolute;inset:0;z-index:0;display:grid;place-items:center}
.hero__media picture{position:absolute;inset:0}
.hero__media img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:48% 44%;will-change:transform}
.hero__shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 70% 55% at 48% 44%, rgba(54,34,25,0) 40%, rgba(35,31,32,.55) 100%),linear-gradient(180deg,rgba(35,31,32,0) 60%,rgba(35,31,32,.75) 100%)}
.hero__hair{display:none}
.hero__copy{position:relative;z-index:3;min-height:max(var(--vh),620px);display:flex;flex-direction:column;padding:4.6rem var(--pad) calc(1.8rem + env(safe-area-inset-bottom))}
.hero__name{flex:1;display:flex;flex-direction:column;font-family:var(--cond);font-weight:800;font-stretch:75%;font-variation-settings:'opsz' 96;text-transform:uppercase;font-size:clamp(4.2rem,37vw,24rem);line-height:.8;letter-spacing:-.02em;margin:0;color:var(--ivory);text-align:center}
.hero__name .line{display:block;white-space:nowrap;will-change:transform}
.hero__gap{flex:1;min-height:6rem}
.hero__name .ch{display:inline-block}
.hero__foot{margin-top:1.2rem;text-align:center;display:flex;flex-direction:column;align-items:center}
.hero__kicker{display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem .7rem;font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;font-weight:500;margin:0 0 .7rem;color:var(--cham)}
.hero__kicker .mask+.mask>span::before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--lime);margin-right:.7rem;vertical-align:middle;transform:translateY(-1px)}
@media (min-width:900px){.hero__kicker{font-size:.62rem;letter-spacing:.26em;gap:.3rem 1rem}}
.hero__tag{font-family:var(--cond);font-weight:700;font-stretch:75%;text-transform:uppercase;font-size:clamp(1.35rem,6.2vw,2.6rem);line-height:1;letter-spacing:.01em;margin:0 0 1.3rem}
.hero__tag .lime{font-style:normal}
.hero__cue{position:absolute;right:var(--pad);bottom:calc(2.4rem + env(safe-area-inset-bottom));z-index:3;display:none;flex-direction:column;align-items:center;gap:.6rem;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;color:var(--nude)}
.hero__cue i{width:1px;height:48px;background:linear-gradient(var(--nude),transparent);transform-origin:top;animation:cue 2.2s cubic-bezier(.6,0,.2,1) infinite}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (min-width:900px){
  .hero__media img{object-fit:contain;object-position:50% 44%;transform-origin:50% 44%}
  .hero__name{font-size:min(19vw, 29vh)}
  .hero__name .line--1{align-self:flex-start;padding-left:4vw}
  .hero__name .line--2{align-self:flex-end;padding-right:4vw}
  .hero__gap{min-height:0}
  .hero__cue{display:flex}
}
/* desktop only: a tighter, sharper crop so she fills the frame */
@media (min-width: 1024px) and (hover: hover) and (pointer: fine){
  .hero__media img{object-fit:cover;object-position:50% 42%;transform-origin:58% 38%}
}
/* intro states (motion only) */
html.intro .hero__hair{display:block;position:absolute;left:0;right:0;top:44%;height:1px;z-index:5;background:linear-gradient(90deg,transparent,var(--cham) 30%,#fff7df 50%,var(--cham) 70%,transparent);transform:scaleX(0)}
html.intro .hero__media{clip-path:circle(0% at 48% 44%)}
html.intro .hero__foot .mask>span{transform:translateY(110%)}
html.intro .hero__name .ch{opacity:0}
html.intro .hero__cta,html.intro .nav{opacity:0}

/* sharp photos: warm grade + grain, no duotone */
.photo{position:relative;overflow:hidden;margin:0;background:var(--caramel)}
.photo img{width:100%;height:auto}
.photo .parallax{transform:scale(1.12)}
.photo::after{content:'';position:absolute;inset:0;background:url(grain.png);opacity:.22;mix-blend-mode:overlay;pointer-events:none}

/* ---------- BOTH ---------- */
.both{position:relative;background:var(--ivory);color:var(--esp);padding:6rem var(--pad) 5rem}
.both__stage{position:relative}
.both__words{display:grid;font-family:var(--cond);font-weight:800;font-stretch:75%;text-transform:uppercase;line-height:.82;letter-spacing:-.02em;font-size:clamp(3.6rem,21.5vw,17rem)}
.both__w{display:block;white-space:nowrap}
.both__w--a{color:var(--esp2)}
.both__w--b{color:var(--caramel-l);justify-self:end;margin-top:-.14em;mix-blend-mode:multiply}
.both__resolve{display:block;font-family:var(--serif);font-weight:400;text-transform:none;letter-spacing:-.01em;font-stretch:100%;font-size:.42em;line-height:1;margin-top:.35em;color:var(--esp)}
.both__resolve em{color:var(--caramel)}
.both__body{display:grid;gap:2.4rem;margin-top:3.5rem}
.both__fig{max-width:30rem;aspect-ratio:4/5}
.both__fig .parallax,.both__fig picture,.both__fig img{height:100%}.both__fig img{object-fit:cover;object-position:50% 30%}
.both__text{max-width:36rem}
.lede{font-family:var(--serif);font-size:clamp(1.35rem,4.6vw,2.05rem);line-height:1.22;margin-bottom:1.4em}
@media (min-width:900px){
  .both{padding:9rem var(--pad) 8rem}
  .both__body{grid-template-columns:5fr 6fr;gap:6vw;align-items:start}
  .both__text{padding-top:4rem}
}
html.motion .both{padding-top:0}
html.motion .both__stage{height:var(--vh);position:sticky;top:0;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
html.motion .both__w{will-change:transform}
html.motion .both__stage .kicker{position:absolute;top:5.5rem;left:0}

/* duotone photos */
.duo{position:relative;overflow:hidden;background:var(--cham);isolation:isolate}
.duo img{width:100%;height:auto;filter:grayscale(1) contrast(1.15) brightness(1.02);mix-blend-mode:multiply}
.duo::after{content:'';position:absolute;inset:0;background:var(--esp2);mix-blend-mode:lighten;pointer-events:none}
.duo::before{content:'';position:absolute;inset:0;z-index:2;background:url(grain.png);opacity:.35;mix-blend-mode:overlay;pointer-events:none}
.duo--warm img{filter:sepia(.25) contrast(1.05) saturate(.9);mix-blend-mode:normal}
.duo--warm::after{background:linear-gradient(180deg,rgba(66,43,23,0),rgba(66,43,23,.35));mix-blend-mode:multiply}

/* ---------- CONFESSIONS ---------- */
.confess{position:relative;background:var(--esp);color:var(--nude);padding:6rem var(--pad)}
.confess__stage{position:relative}
.confess__fig{position:absolute;right:calc(var(--pad) * -1);top:0;width:min(66vw,28rem);opacity:.34;z-index:0;margin:0;-webkit-mask-image:radial-gradient(ellipse 60% 55% at 55% 45%,#000 35%,transparent 100%);mask-image:radial-gradient(ellipse 60% 55% at 55% 45%,#000 35%,transparent 100%)}
.confess__h{position:relative;z-index:2;font-family:var(--sans);font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;font-weight:500;color:var(--cham);margin-bottom:1.6rem}
.confess__list{position:relative;z-index:2;list-style:none;margin:0;padding:0;font-family:var(--serif);font-style:italic;font-size:clamp(2.6rem,12.5vw,8.5rem);line-height:1;letter-spacing:-.02em}
.confess__list li{white-space:nowrap}
.confess__end{position:relative;z-index:2;font-family:var(--cond);font-weight:800;font-stretch:75%;text-transform:uppercase;font-size:clamp(3.4rem,19vw,14rem);line-height:.85;margin:2rem 0 0;color:var(--ivory)}
.confess__end em{font-style:normal}
.confess__body{position:relative;z-index:2;max-width:34rem;margin-top:3rem;color:rgba(233,223,215,.82)}
.confess__body p:first-child{font-family:var(--serif);font-size:clamp(1.3rem,4.4vw,1.9rem);line-height:1.25;color:var(--nude)}
@media (min-width:900px){.confess{padding:9rem var(--pad)}.confess__body{margin-left:auto;margin-right:8vw}}
html.motion .confess{padding-top:0;padding-bottom:6rem}
html.motion .confess__stage{position:sticky;top:0;height:var(--vh);display:grid;place-items:center;overflow:hidden}
html.motion .confess__h{position:absolute;top:6rem;left:0;margin:0}
html.motion .confess__list{display:grid;width:100%}
html.motion .confess__list li{grid-area:1/1;text-align:center;will-change:transform,clip-path;opacity:0}
html.motion .confess__end{position:absolute;inset:auto 0 auto 0;top:50%;transform:translateY(-50%);margin:0;text-align:center;opacity:0}
html.motion .confess__fig{top:auto;bottom:-4rem;right:calc(var(--pad) * -1)}

/* ---------- SESSIONS ---------- */
.sessions{background:var(--nude);color:var(--esp);padding:7rem var(--pad) 6rem;position:relative}
.sessions__h{font-family:var(--serif);font-size:clamp(3rem,13vw,9.5rem);line-height:.92;letter-spacing:-.03em;margin-bottom:3rem}
.sessions__h em{display:block;font-size:.42em;letter-spacing:-.01em;color:var(--caramel);margin-top:.35em}
.sessions__grid{display:grid;gap:2.4rem}
.price__fig{font-family:var(--cond);font-weight:800;font-stretch:75%;font-variation-settings:'wdth' var(--w,75);font-size:clamp(5rem,34vw,17rem);line-height:.8;letter-spacing:-.03em;margin:0 0 1rem;color:var(--esp2)}
.price__cur{font-family:var(--serif);font-weight:400;font-style:italic;font-size:.42em;vertical-align:.95em;margin-right:.06em;font-stretch:100%}
.price__meta{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;line-height:1.9;font-weight:500;color:var(--mute)}
.sessions__fig{max-width:24rem;justify-self:end;width:80%;aspect-ratio:3/4}
.sessions__fig .parallax,.sessions__fig picture,.sessions__fig img{height:100%}.sessions__fig img{object-fit:cover;object-position:50% 35%}
.parallax{will-change:transform}
.sessions__quote{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(1.9rem,8vw,4.4rem);line-height:1.02;letter-spacing:-.02em;max-width:14ch}
.sessions__quote p{margin:0}
.sessions__intro{max-width:34rem}
@media (min-width:900px){
  .sessions{padding:10rem var(--pad) 8rem}
  .sessions__grid{grid-template-columns:repeat(12,1fr);align-items:end;gap:3rem 2rem}
  .price{grid-column:1/7}
  .sessions__fig{grid-column:8/13;grid-row:1/3;width:100%;max-width:none;align-self:start}
  .sessions__quote{grid-column:1/8}
  .sessions__intro{grid-column:2/8}
}
.readout{font-family:var(--serif);font-size:clamp(1.65rem,7vw,4.2rem);line-height:1.12;letter-spacing:-.015em;margin:6rem 0;max-width:22ch}
.readout .w{transition:none}
@media (min-width:900px){.readout{max-width:24ch;margin:10rem 0 10rem 8.33%}}
.modes{margin-top:2rem}
.modes__list{list-style:none;margin:0;padding:0;border-bottom:1px solid rgba(35,31,32,.25)}
.modes__list li{display:grid;grid-template-columns:2.4rem 1fr auto;align-items:baseline;gap:.6rem;border-top:1px solid rgba(35,31,32,.25);padding:1rem 0 .9rem;transition:padding .5s cubic-bezier(.2,.7,.1,1),color .3s}
.modes__n{font-family:var(--mono);font-size:.72rem;color:var(--mute)}
.modes__t{font-family:var(--cond);font-weight:700;font-stretch:75%;text-transform:uppercase;font-size:clamp(1.55rem,7.4vw,4.6rem);line-height:.95;letter-spacing:-.01em}
.modes__tag{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;background:var(--esp);color:var(--lime);padding:.35rem .55rem;border-radius:999px;align-self:center}
@media (hover:hover){.modes__list li:hover{padding-left:1.2rem;color:var(--esp2)}.modes__list li:hover .modes__t{font-style:normal}}
.modes__note{margin-top:1.2rem;font-size:.92rem;color:var(--mute)}
.sessions__close{margin-top:6rem;max-width:44rem}
.sessions__wont{font-size:1rem;border-left:2px solid var(--lime);padding-left:1rem}
.sessions__land{font-family:var(--serif);font-size:clamp(1.5rem,5.6vw,2.6rem);line-height:1.15;margin:2.4rem 0 2.6rem}
.sessions__land em{color:var(--caramel)}
.fine{font-size:.78rem;color:var(--mute);margin-top:2rem;max-width:30rem}
@media (min-width:900px){.sessions__close{margin-left:41.66%}}

/* ---------- GENTLE / DIRECT ---------- */
.gd{position:relative;background:var(--ivory)}
.gd__stage{position:relative}
.gd__a{min-height:70vh;display:flex;flex-direction:column-reverse;justify-content:center;padding:4rem var(--pad);color:var(--esp)}
.gd__a p{font-family:var(--serif);font-size:clamp(3rem,15vw,10.5rem);line-height:.9;letter-spacing:-.03em;margin:0}
.gd__a em{color:var(--esp2)}
.gd__hint{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;font-weight:500;color:var(--mute);margin-bottom:1rem}
.gd__b{position:relative;height:var(--vh);min-height:560px;overflow:hidden;color:var(--ivory);background:var(--caramel)}
.gd__img,.gd__img img{position:absolute;inset:0;width:100%;height:100%}
.gd__img img{object-fit:cover;object-position:58% 22%}
.gd__b::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(35,31,32,0) 40%,rgba(35,31,32,.75) 100%);pointer-events:none}
.gd__direct{position:absolute;z-index:2;left:var(--pad);right:var(--pad);bottom:5.5rem;margin:0;font-family:var(--cond);font-weight:800;font-stretch:75%;text-transform:uppercase;font-size:clamp(3rem,15.5vw,13rem);line-height:.82;letter-spacing:-.02em}
.gd__cap{position:absolute;z-index:3;left:var(--pad);bottom:2rem;margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(1.1rem,4.4vw,1.8rem);color:var(--lime)}
@media (min-width:900px){.gd__img img{object-position:50% 25%}}
html.motion .gd{height:270vh}
html.motion .gd__stage{position:sticky;top:0;height:var(--vh);overflow:hidden}
html.motion .gd__a{position:absolute;inset:0;min-height:0}
html.motion .gd__b{position:absolute;inset:0;height:auto;min-height:0;clip-path:inset(100% 0 0 0)}
html.motion .gd__cap span{display:inline-block}

/* ---------- RECORD ---------- */
.record{background:var(--esp);color:var(--nude);padding:6rem 0 5rem;overflow:hidden}
.record>.kicker{padding:0 var(--pad);margin-bottom:2rem}
.tape{overflow:hidden;border-top:1px solid rgba(233,223,215,.16);padding:.5rem 0 .3rem}
.tape:last-of-type{border-bottom:1px solid rgba(233,223,215,.16)}
.tape__track{display:flex;width:max-content;align-items:center;gap:0;will-change:transform}
.tape__track span{font-family:var(--cond);font-weight:800;font-stretch:75%;text-transform:uppercase;font-size:clamp(3.2rem,16vw,11rem);line-height:.95;letter-spacing:-.02em;white-space:nowrap;padding:0 .2em}
.tape__track i{font-style:normal;color:var(--lime);font-size:clamp(1.2rem,5vw,3rem);padding:0 .4em}
.tape--serif .tape__track span{font-family:var(--serif);font-weight:400;text-transform:none;font-stretch:100%;color:var(--cham);letter-spacing:-.02em}
html:not(.motion) .tape__track{width:auto;flex-wrap:wrap;padding:0 var(--pad)}
html:not(.motion) .tape__track [aria-hidden],html:not(.motion) .tape__track i{display:none}
html:not(.motion) .tape__track span{white-space:normal;font-size:clamp(2.6rem,12vw,8rem);padding:0}
.record__foot{padding:3rem var(--pad) 0;display:grid;gap:1.5rem;max-width:72rem}
.record__foot p{max-width:34rem;margin:0;color:rgba(233,223,215,.78)}
.record__zero{font-family:var(--serif);font-size:clamp(1.3rem,4.6vw,2rem);line-height:1.25;color:var(--nude)!important}
.record__zero b{font-family:var(--cond);font-weight:800;font-stretch:75%;color:var(--lime);font-size:1.6em;line-height:1;margin-right:.15em;vertical-align:-.1em}
@media (min-width:900px){.record__foot{grid-template-columns:1fr 1fr;gap:6vw}}

/* ---------- DOSSIER ---------- */
.dossier{position:relative;background:var(--cool);color:var(--coolbone);padding:6rem var(--pad) 6rem;font-family:var(--mono)}
.dossier::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 4px);pointer-events:none}
.file__label{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel);border-top:1px solid rgba(217,220,214,.2);border-bottom:1px solid rgba(217,220,214,.2);padding:.7rem 0;margin-bottom:3rem}
.stamp-sm{color:var(--lime);border:1px solid var(--lime);padding:0 .4rem}
.dossier__h{font-family:var(--cond);font-weight:800;font-stretch:75%;text-transform:uppercase;font-size:clamp(3.6rem,19vw,15rem);line-height:.8;letter-spacing:-.02em;color:#eef0ea}
.dossier__h span{display:block;font-family:var(--mono);font-weight:400;font-size:.16em;letter-spacing:.12em;line-height:1.4;margin-top:.9em;color:var(--steel)}
.dossier__tag{font-family:var(--serif);font-size:clamp(1.75rem,7.4vw,4.4rem);line-height:1.1;letter-spacing:-.015em;margin:3.5rem 0 4.5rem;max-width:20ch;color:#eef0ea}
.dossier__tag .tl{display:block}
.struck{position:relative;display:inline-block;color:var(--steel)}
.struck i{position:absolute;left:-.06em;right:-.06em;top:54%;height:.07em;background:var(--lime);transform-origin:left;transform:scaleX(var(--k,1))}
mark.real{background:linear-gradient(var(--lime),var(--lime)) no-repeat 0 88%/calc(var(--m,1)*100%) .32em;color:inherit;font-style:italic;padding:0 .04em}
.ledger{background:var(--paper);color:#141617;padding:1.6rem 1.2rem 1.4rem;margin:0 calc(var(--pad) * -.4) 4rem;box-shadow:0 30px 80px rgba(0,0,0,.5);position:relative}
.ledger::after{content:'';position:absolute;inset:0;background:url(grain.png);opacity:.1;mix-blend-mode:multiply;pointer-events:none}
.ledger__head{display:grid;grid-template-columns:1fr;gap:.2rem;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#5d6366;border-bottom:1px solid #141617;padding-bottom:.6rem;margin-bottom:.4rem}
.ledger__head span:last-child{display:none}
.ledger__rows{list-style:none;margin:0;padding:0}
.ledger__rows li{display:grid;gap:.35rem;padding:1rem 0;border-bottom:1px dashed rgba(20,22,23,.35)}
.ledger__rows s{text-decoration:none;font-size:.86rem;color:#62686b;justify-self:start;background:linear-gradient(currentColor,currentColor) no-repeat 0 58%/calc(var(--k,1)*100%) 1.5px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.redact{font-family:var(--serif);font-size:clamp(1.25rem,5.4vw,2.1rem);line-height:1.18;letter-spacing:-.01em;color:#141617}
.redact span{background:linear-gradient(#0b0d0f,#0b0d0f) no-repeat 100% 0/calc(var(--r,0)*100%) 100%;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .08em}
@media (min-width:900px){
  .dossier{padding:10rem var(--pad) 8rem}
  .ledger{padding:2.4rem 3rem 2rem;margin:0 0 6rem;max-width:68rem}
  .ledger__head{grid-template-columns:5fr 7fr}
  .ledger__head span:last-child{display:block}
  .ledger__rows li{grid-template-columns:5fr 7fr;align-items:baseline;padding:1.2rem 0}
}
.sections{display:grid;gap:3rem;margin-bottom:4rem}
.sec{position:relative;padding-top:1.2rem;border-top:1px solid rgba(217,220,214,.2);font-size:.98rem;line-height:1.7;color:rgba(217,220,214,.86)}
.sec__n{font-size:.8rem;color:var(--lime)}
.sec h3{font-family:var(--cond);font-weight:700;font-stretch:75%;text-transform:uppercase;font-size:clamp(1.8rem,7vw,2.6rem);line-height:1;margin:.6rem 0 1rem;color:#eef0ea;letter-spacing:-.005em}
.sec__pull{font-family:var(--serif);font-style:italic;font-size:1.3rem;line-height:1.3;color:#eef0ea}
@media (min-width:900px){.sections{grid-template-columns:repeat(3,1fr);gap:3vw}}
.clause{position:relative;border:1px solid rgba(217,220,214,.35);padding:2rem 1.4rem 2.2rem;margin:0 0 3.5rem;max-width:46rem}
.clause__k{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--steel);margin-bottom:1rem}
.clause__t{font-family:var(--serif);font-size:clamp(1.35rem,5vw,2.1rem);line-height:1.2;color:#eef0ea;margin:0;max-width:24ch}
.clause__stamp{display:inline-flex;flex-direction:column;align-items:center;margin-top:1.6rem;border:2px solid var(--lime);color:var(--lime);padding:.5rem .9rem;transform:rotate(-7deg);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;line-height:1.3}
.clause__stamp b{font-family:var(--cond);font-stretch:75%;font-weight:800;font-size:2.2rem;letter-spacing:.02em;line-height:.95}
@media (min-width:900px){.clause{padding:2.6rem 3rem}.clause__stamp{position:absolute;right:-3rem;top:-2.4rem;margin:0}}
.fees{margin:0 0 3rem;max-width:46rem}
.fees div{display:flex;align-items:baseline;gap:.6rem;padding:.7rem 0}
.fees dt{font-size:.92rem;color:var(--coolbone)}
.fees div::after{content:'';order:1;flex:1;border-bottom:1px dotted rgba(217,220,214,.4);transform:translateY(-.25em)}
.fees dd{order:2;margin:0;font-size:.92rem;color:#eef0ea;white-space:nowrap;font-weight:700}
html.motion .ledger__rows s{--k:0}
html.motion .redact span{--r:1}
html.motion .struck i{transform:scaleX(var(--k,0))}
html.motion mark.real{--m:0}

/* ---------- INQUIRE ---------- */
.inquire{position:relative;background:var(--night);color:var(--nude);padding:0 var(--pad) 6rem;overflow:hidden}
.inquire__band{position:relative;margin:0 calc(var(--pad) * -1) 4rem;height:clamp(14rem,42vh,26rem);overflow:hidden}
.inquire__band img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.05)}
.inquire__band::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,22,23,0) 40%,var(--night) 100%)}
.inquire__fig{width:min(62vw,22rem);aspect-ratio:3/4;margin:0 0 -5rem auto;position:relative;z-index:0}
.inquire__fig .parallax,.inquire__fig picture,.inquire__fig img{height:100%}.inquire__fig img{object-fit:cover;object-position:50% 40%}
.inquire__h{position:relative;z-index:2;font-family:var(--serif);font-size:clamp(3.2rem,16vw,12rem);line-height:.9;letter-spacing:-.035em;margin:0 0 2rem;color:var(--ivory)}
.inquire__h em{color:var(--cham);text-shadow:0 2px 30px rgba(26,22,23,.6)}
.inquire__sub{max-width:34rem;color:rgba(233,223,215,.8)}
.inquire__ctas{display:flex;flex-wrap:wrap;gap:1rem;margin:2.4rem 0 2rem}
.inquire__love{font-size:.92rem;color:rgba(233,223,215,.7)}
.inquire__love a{color:var(--lime)}
.inquire__deeper{display:block;margin-top:.45rem}
.inquire__deeper a{color:var(--nude);text-underline-offset:.2em}
.inquire__deeper a:hover{color:var(--lime)}
@media (min-width:900px){.inquire{padding-bottom:9rem;display:grid;grid-template-columns:7fr 5fr;column-gap:4vw}.inquire__band{grid-column:1/-1}.inquire__fig{grid-column:2;grid-row:2/6;margin:0;width:100%}.inquire__h,.inquire__sub,.inquire__ctas,.inquire__love{grid-column:1}}

/* ---------- FOOTER ---------- */
.foot{background:var(--night);color:var(--nude);padding:4rem var(--pad) calc(2rem + env(safe-area-inset-bottom));border-top:1px solid rgba(233,223,215,.12);overflow:hidden}
.foot__line{font-family:var(--serif);font-size:clamp(1.45rem,5.4vw,2.8rem);line-height:1.18;max-width:28ch;margin-bottom:2.6rem}
.foot__line .lime{font-style:italic}
.foot__social{list-style:none;margin:0 0 3rem;padding:0;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500}
.foot__social a{text-decoration:none;color:var(--cham)}
.foot__social a:hover{color:var(--lime)}
.foot__big{margin:0 0 2.4rem;overflow:hidden;line-height:0}
.foot__big img{display:block;width:100%;height:auto}
@media (min-width:900px){.foot__big{width:min(100%,56vw)}}
.foot__fine{font-size:.74rem;color:rgba(233,223,215,.55);display:grid;gap:.2rem}
.foot__fine p{margin:0}

/* pin spacer wrappers (added by JS) */
.pin-room{position:relative}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}


/* display serif legibility (v2.5): same Bodoni, sturdier hairlines via weight + a lower optical size */
.confess__list,.sessions__h,.gd__a p,.inquire__h,.tape--serif .tape__track span{font-weight:500;font-variation-settings:'opsz' 36}
.both__resolve,.lede,.confess__body p:first-child,.price__cur,.sessions__quote,.readout,.sessions__land,.gd__cap,.record__zero,.dossier__tag,.redact,.sec__pull,.clause__t,.foot__line{font-weight:500;font-variation-settings:'opsz' 18}

/* footer legal links (v2.6) */
.foot__legal{display:flex;flex-wrap:wrap;gap:.2rem 1.4rem;margin-top:.5rem}
.foot__legal a{color:rgba(233,223,215,.72);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;display:inline-block;padding:.35rem 0}
.foot__legal a:hover,.foot__legal a[aria-current]{color:var(--lime)}

/* nav logo appears once the visitor is past the hero (v2.6, homepage only) */
.nav.logo-wait .nav__mark{opacity:0;transform:translateY(-.6rem);visibility:hidden;pointer-events:none;transition:opacity .55s cubic-bezier(.2,.7,.1,1),transform .55s cubic-bezier(.2,.7,.1,1),visibility 0s linear .55s}
.nav.logo-wait.is-past-hero .nav__mark{opacity:1;transform:none;visibility:visible;pointer-events:auto;transition:opacity .55s cubic-bezier(.2,.7,.1,1),transform .55s cubic-bezier(.2,.7,.1,1),visibility 0s}
@media (prefers-reduced-motion:reduce){.nav.logo-wait .nav__mark{transform:none}}

/* REQUEST A SESSION (v2.11) */
.req{grid-column:1;position:relative;z-index:2;max-width:34rem;margin:2.6rem 0 1.4rem;padding:2rem 1.5rem 1.8rem;background:linear-gradient(160deg,rgba(66,43,23,.55),rgba(35,31,32,.75));border:1px solid rgba(212,185,143,.22);border-radius:4px;scroll-margin-top:5.5rem}
.req__tag{margin:0 0 .9rem;font:500 .7rem/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--lime)}
.req__h{margin:0 0 1.6rem;font-family:var(--serif);font-weight:500;font-size:clamp(2.2rem,9vw,3.4rem);line-height:.95;letter-spacing:-.03em;color:var(--ivory)}
.req__h em{color:var(--cham)}
.req__form{display:grid;gap:1.35rem}
.req__f{display:grid;gap:.45rem}
.req__l{font:500 .7rem/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--cham)}
.req__l i{font-style:normal;color:rgba(233,223,215,.55);letter-spacing:.14em;margin-left:.35em}
.req__f input,.req__f textarea{width:100%;font:400 1.0625rem/1.45 var(--sans);color:var(--ivory);background:transparent;border:0;border-bottom:1px solid rgba(233,223,215,.38);border-radius:0;padding:.55rem 0 .6rem;outline:none;transition:border-color .25s;-webkit-appearance:none;appearance:none}
.req__f textarea{resize:vertical;min-height:3.4rem}
.req__f input::placeholder{color:rgba(233,223,215,.42)}
.req__f input:focus,.req__f textarea:focus{border-bottom-color:var(--lime)}
.req__f input:-webkit-autofill{-webkit-text-fill-color:var(--ivory);-webkit-box-shadow:0 0 0 40px #2a2220 inset;caret-color:var(--ivory)}
.req__send{justify-self:start;margin-top:.35rem;border:0;cursor:pointer}
.req__send[disabled]{opacity:.6;cursor:progress}
.req__fine{margin:0;font-size:.88rem;line-height:1.55;color:rgba(233,223,215,.75)}
.req__err{margin:0;font-size:.88rem;color:var(--lime)}
.req__err a{color:var(--nude)}
.req__hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.req__done{outline:none;padding:.4rem 0 .2rem}
.req__done-h{margin:0 0 .6rem;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(2.6rem,10vw,3.8rem);line-height:.95;color:var(--lime)}
.req__done-p{margin:0;font-size:1.05rem;color:var(--nude)}
.req.is-sent .req__h{display:none}
.inquire__ctas{grid-column:1}
@media (min-width:900px){.req{padding:2.6rem 2.4rem 2.3rem;margin-top:3rem}}
.req__tag span{white-space:nowrap}
.both__line{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(1.35rem,4.6vw,1.9rem);line-height:1.2;letter-spacing:-.01em;color:var(--esp2);margin-top:1.6rem}
.req [hidden],.req[hidden]{display:none!important}

.req__row{display:grid;gap:1.35rem}
@media(min-width:560px){.req__row{grid-template-columns:1fr 1fr}}
.req__pick{border:0;margin:0;padding:0;min-width:0}
.req__pick legend{padding:0;margin-bottom:.6rem}
.req__pills{display:flex;flex-wrap:wrap;gap:.6rem}
.req__pills label{position:relative;cursor:pointer}
.req__pills input{position:absolute;opacity:0;width:1px;height:1px}
.req__pills span{display:inline-block;font:500 .8rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ivory);border:1px solid rgba(233,223,215,.38);border-radius:999px;padding:.7rem 1.15rem;transition:all .2s}
.req__pills input:checked+span{background:var(--lime);border-color:var(--lime);color:#231f20}
.req__pills input:focus-visible+span{outline:2px solid var(--lime);outline-offset:2px}

/* v2.15: book direct */
.hero__cta{display:flex;flex-direction:column;align-items:center}
.hero__alt{margin:.85rem 0 0;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(233,223,215,.82);text-align:center;line-height:1.7}
.hero__alt a{color:var(--nude);text-decoration:underline;text-underline-offset:.25em;white-space:nowrap}
.hero__alt a:hover{color:var(--lime)}
.sessions__alt{margin:1.1rem 0 0;font-size:.95rem;color:var(--esp);max-width:30rem}
.sessions__alt a{color:var(--esp);text-underline-offset:.2em}
.inquire__book{grid-column:1;margin:2.2rem 0 0}
