/* Perpetuum — production stylesheet (content canon v1.1)
   Parent: Instrument Sans · warm ink / paper · lime = human judgement · coral = sidekick preparation
   Giraffe: Rubik · indigo / lime / ivory / lavender
   Layout breakpoints are container queries on .site: mobile < 720 · tablet 720–1079 · desktop ≥ 1080 */

@font-face{font-family:"Instrument Sans";src:url("assets/fonts/instrument-sans-latin.woff2") format("woff2");font-weight:400 700;font-stretch:75% 100%;font-style:normal;font-display:swap}
@font-face{font-family:"Rubik";src:url("assets/fonts/rubik-latin.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}

:root{
  --ink:#15130F; --ink-2:#2B2721; --paper:#F4F0E8; --paper-2:#EAE4D8; --muted:#5C5448; --muted-2:#8E8475; --line:rgba(21,19,15,.14);
  --ivory:#FAF8F2; --indigo:#1B1245; --indigo-2:#2A2063; --lime:#D2F154; --lavender:#F1ECFA; --lav-ink:#4A3F7A; --lav-mid:#6E6499; --coral:#FF8A65;
  --font:"Instrument Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-g:"Rubik",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease-out:cubic-bezier(.16,1,.3,1); --ease-io:cubic-bezier(.65,0,.35,1); --ease-pop:cubic-bezier(.34,1.45,.64,1);
  --t-xs:160ms; --t-s:320ms; --t-m:560ms; --t-l:1000ms;
  --head:72px; --maxw:1440px; --gutter:clamp(20px,4.4vw,64px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--head);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:inherit}
button{font:inherit;color:inherit}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote,fieldset{margin:0}
ul,ol{padding:0}
:focus-visible{outline:2px solid var(--lime);outline-offset:3px;box-shadow:0 0 0 5px var(--ink);border-radius:6px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-80px;z-index:200;background:var(--lime);color:var(--ink);padding:12px 16px;border-radius:8px;font-weight:600;text-decoration:none}
.skip:focus{top:12px}

.site{container:site / inline-size;overflow-x:clip}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.kicker{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.kicker--light{color:#CFC6B6}
.section-title{font-size:clamp(40px,5.4cqi,88px);line-height:.98;font-weight:500;letter-spacing:-.038em;font-stretch:94%;text-wrap:balance}
.mark{background:linear-gradient(var(--lime),var(--lime)) no-repeat 0 100%/100% 100%;padding:0 .08em;margin:0 -.04em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.mark--dark{background:linear-gradient(var(--lime),var(--lime)) no-repeat 0 96%/100% .12em;padding:0;margin:0}
.motion-ok .mark--dark{background-size:0% .12em;transition:background-size 1100ms var(--ease-io) 350ms}
.motion-ok .is-in .mark--dark{background-size:100% .12em}

/* icons + buttons */
.i{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--t-s) var(--ease-out)}
.i--down{transform:rotate(90deg)}
.i--back{transform:rotate(180deg)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;border:1.5px solid transparent;font:500 16px/1 var(--font);letter-spacing:-.005em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform 420ms var(--ease-out),background-color var(--t-s) var(--ease-out),color var(--t-s) var(--ease-out),border-color var(--t-s) var(--ease-out)}
.btn:hover .i{transform:translateX(4px)}
.btn:hover .i--down{transform:rotate(90deg) translateX(3px)}
.btn--light{background:var(--ivory);color:var(--ink)}
.btn--light:hover{background:var(--lime)}
.btn--ghost{border-color:rgba(250,248,242,.5);color:var(--ivory)}
.btn--ghost:hover{border-color:var(--ivory);background:rgba(250,248,242,.08)}
.btn--ink{background:var(--ink);color:var(--paper)}
.btn--ink:hover{background:#000}

/* reveal system — content is visible without JS or with reduced motion; .motion-ok is added by app.js */
.motion-ok [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity 700ms var(--ease-out),transform 900ms var(--ease-out);transition-delay:calc(var(--d,0) * 1ms)}
.motion-ok [data-reveal].is-in{opacity:1;transform:none}

/* ============ MASTHEAD ============ */
.masthead{position:sticky;top:0;z-index:50;height:var(--head);color:var(--ivory);transition:background-color var(--t-s) var(--ease-out),color var(--t-s) var(--ease-out),box-shadow var(--t-s) var(--ease-out)}
.masthead.is-solid{background:rgba(244,240,232,.94);color:var(--ink);box-shadow:0 1px 0 var(--line);-webkit-backdrop-filter:saturate(1.3) blur(12px);backdrop-filter:saturate(1.3) blur(12px)}
.masthead__inner{max-width:var(--maxw);height:100%;margin:0 auto;padding:0 var(--gutter);display:flex;align-items:center;gap:36px}
.brand{display:inline-flex;align-items:center;min-height:44px;font-size:23px;font-weight:580;letter-spacing:-.028em;font-stretch:96%;text-decoration:none;color:inherit}
.nav{position:relative;margin-left:auto}
.nav__list{display:flex;gap:28px;list-style:none}
.nav__list a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:500;text-decoration:none;opacity:.82;transition:opacity var(--t-xs);white-space:nowrap}
.nav__list a:hover,.nav__list a[aria-current="location"]{opacity:1}
.nav__ink{position:absolute;left:0;bottom:6px;height:2px;width:0;border-radius:2px;background:var(--lime);opacity:0;transition:transform var(--t-m) var(--ease-out),width var(--t-m) var(--ease-out),opacity var(--t-s)}
.masthead.is-solid .nav__ink{background:var(--ink)}
.masthead__cta{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid currentColor;font-size:14.5px;font-weight:500;text-decoration:none;white-space:nowrap;transition:background-color var(--t-s),color var(--t-s)}
.masthead__cta:hover{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.menu-toggle{display:none;align-items:center;gap:10px;min-height:44px;padding:0 16px 0 14px;margin-left:auto;border-radius:999px;border:1.5px solid currentColor;background:transparent;font-size:14.5px;font-weight:500;cursor:pointer}
.menu-toggle__bars{display:grid;gap:4px}
.menu-toggle__bars i{display:block;width:16px;height:1.5px;background:currentColor}

/* ============ HERO ============ */
.hero{--bar:76px;--h1:clamp(56px,min(6.4cqi,10.4svh),116px);position:relative;margin-top:calc(var(--head) * -1);height:clamp(640px,100svh,1120px);background:#0E0C09;color:var(--ivory);overflow:hidden;isolation:isolate}
.hero__media{position:absolute;inset:0;z-index:0;overflow:hidden;background:#0E0C09}
.hero__poster,.hero__film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.hero__film{opacity:0;transition:opacity 700ms var(--ease-out)}
.hero.is-film .hero__film{opacity:1}
.hero__shade{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(180deg,rgba(12,10,8,.55) 0,rgba(12,10,8,0) 20%),
  linear-gradient(0deg,rgba(12,10,8,.8) 0,rgba(12,10,8,.42) 30%,rgba(12,10,8,0) 56%),
  linear-gradient(90deg,rgba(12,10,8,.55) 0,rgba(12,10,8,.18) 40%,rgba(12,10,8,0) 62%)}
.hero__copy{position:absolute;z-index:2;left:max(var(--gutter),calc((100% - var(--maxw)) / 2 + var(--gutter)));bottom:calc(var(--bar) + clamp(20px,3.4svh,40px));width:min(62%,920px)}
.hero__eyebrow{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#E9E1D2;margin-bottom:18px}
.hero__title{font-size:var(--h1);line-height:.94;font-weight:500;letter-spacing:-.045em;font-stretch:92%}
.br-s{display:none}
.hero__row{display:flex;align-items:flex-end;gap:clamp(20px,2.6cqi,40px);margin-top:clamp(18px,2.4svh,28px)}
.hero__lede{flex:1 1 auto;max-width:34em;font-size:clamp(16px,1.2cqi,19px);line-height:1.45;color:#F3EEE4;text-wrap:pretty}
.hero__ctas{display:flex;flex-wrap:wrap;gap:10px;flex:none}
.hero__strip{display:none}
.hero__bar{position:absolute;z-index:2;left:0;right:0;bottom:0;height:var(--bar);display:flex;align-items:center;gap:28px;padding:0 max(var(--gutter),calc((100% - var(--maxw)) / 2 + var(--gutter)));border-top:1px solid rgba(250,248,242,.16)}
.hero__note{flex:none;font-size:12.5px;color:#E4DCCB;white-space:nowrap}
.beats{display:flex;gap:16px;list-style:none;margin-left:auto}
.beat{width:clamp(126px,11.5cqi,176px);display:flex;flex-direction:column;gap:9px;font-size:13px;line-height:1.2;color:rgba(250,248,242,.66);transition:color var(--t-s)}
.beat b{font-weight:600;margin-right:4px;font-variant-numeric:tabular-nums}
.beat__bar{position:relative;height:2px;border-radius:2px;background:rgba(250,248,242,.24);overflow:hidden}
.beat__bar i{position:absolute;inset:0;background:var(--lime);transform:scaleX(0);transform-origin:0 50%}
.beat.is-active{color:var(--ivory)}
.beat.is-past .beat__bar i,.hero:not(.is-running) .beat.is-active .beat__bar i{transform:scaleX(1)}
.hero__toggle{flex:none;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px 0 14px;border-radius:999px;border:1px solid rgba(250,248,242,.45);background:rgba(14,12,9,.25);color:var(--ivory);font-size:14px;font-weight:500;cursor:pointer;transition:background-color var(--t-s),border-color var(--t-s)}
.hero__toggle:hover{background:rgba(250,248,242,.12);border-color:var(--ivory)}
.hero__toggle-icon{position:relative;width:12px;height:12px}
.hero__toggle-icon::before,.hero__toggle-icon::after{content:"";position:absolute;top:0;bottom:0;width:4px;border-radius:1px;background:currentColor}
.hero__toggle-icon::before{left:1px}
.hero__toggle-icon::after{right:1px}
.hero:not(.is-running) .hero__toggle-icon::before{left:2px;width:0;height:0;border-radius:0;background:none;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent currentColor}
.hero:not(.is-running) .hero__toggle-icon::after{display:none}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* hero overlay — one authored composition in three chapters, every value derived from film time (app.js) */
.hero__layer{position:absolute;inset:0;z-index:1;pointer-events:none}
.hx{position:absolute;inset:0;font-family:var(--font-g);color:var(--ivory)}
.hx__canvas{position:absolute;inset:0;width:100%;height:100%}
.hx__head{position:absolute;top:calc(var(--head) + clamp(16px,3.6svh,44px));right:max(var(--gutter),calc((100% - var(--maxw)) / 2 + var(--gutter)));width:min(38%,540px);display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.hx__tag{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:rgba(14,12,9,.5);border:1px solid rgba(250,248,242,.24);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:12.5px;font-weight:500;letter-spacing:.02em;white-space:nowrap}
.hx__tag i{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px rgba(210,241,84,.22)}
.hx__heads{display:grid;width:100%;margin-top:16px}
.hx__ch{grid-area:1/1;visibility:hidden;display:flex;flex-direction:column;align-items:inherit}
.hx__t{font-family:var(--font);font-size:clamp(30px,3.3cqi,56px);line-height:1.02;font-weight:500;letter-spacing:-.035em;font-stretch:94%;text-shadow:0 2px 30px rgba(0,0,0,.5);text-wrap:balance}
.hx__t b{display:inline-block;margin-right:.45em;font:600 .25em/1 var(--font);letter-spacing:.16em;color:var(--lime);vertical-align:1.15em}
.hx__w{display:inline-block}
.hx__s{margin-top:12px;max-width:24em;font-size:clamp(14px,1.05cqi,16px);line-height:1.4;color:#F1EBDF;text-shadow:0 1px 14px rgba(0,0,0,.7)}
.hx__weave{position:absolute;right:max(var(--gutter),calc((100% - var(--maxw)) / 2 + var(--gutter)));bottom:calc(var(--bar) + clamp(20px,3.4svh,40px));width:clamp(270px,22cqi,330px);display:grid}
.hx__g,.hx__sum{grid-area:1/1;align-self:end;display:flex;flex-direction:column;gap:12px}
.hx__f{position:relative;padding-left:22px;font-size:15.5px;line-height:1.3;font-weight:500;text-shadow:0 1px 14px rgba(0,0,0,.75);text-wrap:balance}
.hx__k{display:block;margin-bottom:3px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#E6DECF}
.hx__m{position:absolute;left:0;top:3px;width:10px;height:10px;border-radius:50%}
.hx__f--her .hx__m{background:var(--lime);box-shadow:0 0 0 3px rgba(210,241,84,.22)}
.hx__f--prep .hx__m{border:1.5px dashed var(--coral);border-radius:3px;background:rgba(255,138,101,.2)}
.hx__f--rev{padding:12px 14px 12px 40px;border-radius:14px;background:rgba(250,248,242,.95);color:var(--indigo);text-shadow:none;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.hx__f--rev .hx__k{color:var(--lav-ink)}
.hx__f--rev .hx__m{left:14px;top:14px;width:15px;height:15px;border-radius:4px;border:1.5px solid var(--indigo);background:#fff}
.hx__f--note{font-size:13px;color:#EFE8DB}
.hx__f--note .hx__m{top:4px;width:9px;height:9px;border:1.5px solid #EFE8DB}
.hx__ghost{opacity:0}
.hx[data-mode="play"] .hx__sum{display:none}
.hx[data-mode="play"] .hx__g .hx__f{opacity:0}
.hx[data-mode="settled"] .hx__g{display:none}
.hx[data-mode="settled"] .hx__ch[data-hx-ch="2"]{visibility:visible}
.hx__sum .hx__f{font-size:14.5px}
.no-js .hero__toggle{display:none}
@media (max-height:760px){
  .hx__f{font-size:14px}
  .hx__g,.hx__sum{gap:9px}
  .hx__t{font-size:clamp(28px,2.8cqi,44px)}
}

/* ============ INDIA / PURPOSE ============ */
.purpose{padding-block:clamp(88px,10cqi,152px) clamp(80px,9cqi,136px)}
.pur{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:28px clamp(32px,5cqi,80px);align-items:end}
.pur__title{margin-top:18px;font-size:clamp(42px,5.4cqi,90px);line-height:.98;font-weight:500;letter-spacing:-.04em;font-stretch:94%;text-wrap:balance}
.pur__body{display:flex;flex-direction:column;gap:16px;max-width:30em;font-size:17.5px;line-height:1.5;color:var(--ink-2);text-wrap:pretty}
.pur__lede{font-size:clamp(19px,1.6cqi,23px);line-height:1.42;color:var(--ink)}
.pur__close{margin-top:clamp(56px,6.4cqi,104px);padding-top:24px;border-top:1.5px solid var(--ink);max-width:22em;font-size:clamp(28px,3.4cqi,54px);line-height:1.1;font-weight:500;letter-spacing:-.03em;font-stretch:94%;text-wrap:balance}
.uline{background:linear-gradient(var(--lime),var(--lime)) no-repeat 0 88%/100% .32em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.motion-ok .uline{background-size:0% .32em;transition:background-size 1100ms var(--ease-io) 350ms}
.motion-ok .is-in .uline{background-size:100% .32em}

/* ============ GIRAFFE · editorial progression (refinement) ============ */
.giraffe{background:var(--indigo);color:var(--ivory);font-family:var(--font-g);padding-block:clamp(80px,9cqi,136px);overflow:hidden}
.g-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px 32px;flex-wrap:wrap}
.g-wordmark{width:clamp(170px,19cqi,290px)}
.g-by{font-size:15px;color:#DCD6F0}
.g-intro{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:20px clamp(32px,5cqi,88px);align-items:end;margin-top:clamp(44px,5.5cqi,80px)}
.g-title{font-size:clamp(44px,6cqi,100px);line-height:.94;font-weight:600;letter-spacing:-.04em;text-wrap:balance}
.g-lede{max-width:34ch;font-size:clamp(18px,1.45cqi,21px);line-height:1.45;color:#E6E1F5;text-wrap:pretty;padding-bottom:.35em}
/* three frames that grow with the idea: her taste → a shared experience → a community */
.g-path{position:relative;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,4fr) minmax(0,5fr);gap:clamp(14px,1.8cqi,28px);align-items:end;margin:clamp(48px,6cqi,96px) 0 0;padding:0;list-style:none}
.g-step{display:flex;flex-direction:column;gap:18px;min-width:0}
.g-frame{position:relative;margin:0;overflow:hidden;border-radius:10px;background:var(--indigo-2)}
.g-frame img{width:100%;height:100%;object-fit:cover;transform-origin:50% 60%}
.g-step--1 .g-frame{aspect-ratio:4/5}
.g-step--1 .g-frame img{object-position:17% 30%}
.g-step--2 .g-frame{aspect-ratio:1/1}
.g-step--2 .g-frame img{object-position:64% 40%}
.g-step--3 .g-frame{aspect-ratio:6/5}
.g-step--3 .g-frame img{object-position:52% 34%}
.g-cap{position:relative;display:flex;flex-direction:column;gap:5px;padding-top:16px;font-size:15.5px;line-height:1.4;color:#E6E1F5;text-wrap:pretty}
.g-cap::before{content:"";position:absolute;left:0;right:0;top:0;height:1.5px;background:rgba(250,248,242,.28)}
.g-cap::after{content:"";position:absolute;left:0;top:-4px;width:9px;height:9px;border-radius:50%;background:var(--lime)}
.g-cap__n{font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#CFC8E8}
.g-cap b{font-size:clamp(22px,1.9cqi,30px);line-height:1.05;font-weight:600;letter-spacing:-.02em;color:var(--lime)}
.g-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 40px;flex-wrap:wrap;margin-top:clamp(40px,4.5cqi,64px)}
.g-next{display:flex;flex-direction:column;gap:8px;max-width:62ch}
.g-next__k{font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#CFC8E8}
.g-next__k a{color:var(--lime);text-underline-offset:3px}
.g-next__k a:hover{color:#E6FF8A}
.g-next__w{font-size:clamp(22px,2.1cqi,34px);line-height:1.2;font-weight:500;letter-spacing:-.015em;color:var(--ivory);text-wrap:balance}
.g-next__w i{font-style:normal;color:var(--lime);margin:0 .12em}
.g-next__w span{white-space:nowrap}
.g-note{font-size:13px;color:#BDB5DD}
/* motion: each frame unveils in sequence and settles; the rule draws through to the next step. Static without .motion-ok (reduced motion, paused, no JS). */
.motion-ok .g-step .g-frame{clip-path:inset(100% 0 0 0 round 10px);transition:clip-path 1100ms var(--ease-io);transition-delay:calc(var(--d,0) * 1ms + 80ms)}
.motion-ok .g-step .g-frame img{transform:scale(1.08);transition:transform 1600ms var(--ease-out);transition-delay:calc(var(--d,0) * 1ms + 80ms)}
.motion-ok .g-step .g-cap::before{transform:scaleX(0);transform-origin:0 50%;transition:transform 900ms var(--ease-io);transition-delay:calc(var(--d,0) * 1ms + 500ms)}
.motion-ok .g-step.is-in .g-frame{clip-path:inset(0 0 0 0 round 10px)}
.motion-ok .g-step.is-in .g-frame img{transform:none}
.motion-ok .g-step.is-in .g-cap::before{transform:none}

/* ============ MR. G · copilot product screens ============ */
.mrg{position:relative;background:radial-gradient(120% 70% at 50% 0%,#F8F5FD 0,#EEE9FA 48%,#E5DEF6 100%);color:var(--indigo);font-family:var(--font-g);padding-block:clamp(88px,9cqi,144px) clamp(64px,7cqi,112px);overflow:hidden}
.mx-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:18px clamp(32px,5cqi,80px);align-items:end}
.status{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;gap:9px;padding:7px 14px;border-radius:999px;background:var(--indigo);color:var(--ivory);font-size:13px;font-weight:500;white-space:nowrap}
.status i{width:8px;height:8px;border-radius:50%;background:var(--lime)}
.mx-title{font-size:clamp(40px,5.4cqi,88px);line-height:.98;font-weight:600;letter-spacing:-.035em;text-wrap:balance}
.mx-title span{color:var(--lav-ink)}
.mx-lede{max-width:30em;font-size:clamp(17px,1.4cqi,20px);line-height:1.5;color:#2E255C;text-wrap:pretty}
.mx-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 32px;margin-top:clamp(48px,5cqi,80px);padding-top:22px;border-top:1px solid rgba(27,18,69,.16)}
.mx-tech{max-width:40em;font-size:16px;line-height:1.5;color:#2E255C;text-wrap:pretty}
.mx-label{display:inline-flex;align-items:center;gap:9px;max-width:34em;padding:9px 16px;border-radius:14px;background:var(--indigo);color:var(--ivory);font-size:13px;font-weight:500;line-height:1.3}
.mx-label i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--lime)}
.mx{position:relative;margin-top:clamp(40px,5cqi,72px)}
.mx__ctrl{display:flex;justify-content:center;gap:4px;width:max-content;max-width:100%;margin-inline:auto;padding:5px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(27,18,69,.1);box-shadow:0 12px 32px rgba(27,18,69,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.mx__btn{position:relative;display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:0 22px;border:0;border-radius:999px;background:transparent;color:var(--lav-ink);font:500 15px/1.15 var(--font-g);cursor:pointer;transition:background-color var(--t-s) var(--ease-out),color var(--t-s) var(--ease-out)}
.mx__btn b{font-size:11.5px;font-weight:600;letter-spacing:.06em}
.mx__btn:hover{color:var(--indigo);background:rgba(27,18,69,.06)}
.mx__btn[aria-pressed="true"]{background:var(--indigo);color:var(--ivory)}
.mx__btn[aria-pressed="true"] b{color:var(--lime)}
.mx__btn:focus-visible{outline:2px solid var(--indigo);outline-offset:2px;box-shadow:none}
.mx__btn+.mx__btn::before{content:"→";position:absolute;left:-7px;top:50%;margin-top:-.6em;font-size:12px;color:var(--lav-mid);pointer-events:none}
.mx__stage{--pw:clamp(336px,25.6cqi,372px);position:relative;margin-top:clamp(36px,4cqi,60px)}
.mx__thread{position:absolute;left:-4%;width:108%;top:calc(var(--pw) * .98);height:90px;overflow:visible;pointer-events:none}
.mx__thread path{fill:none;stroke-linecap:round}
.mx__base{stroke:rgba(27,18,69,.16);stroke-width:1.5}
.mx__flow{stroke:rgba(27,18,69,.3);stroke-width:1.6;stroke-dasharray:2 12}
.mx__pulse{stroke:var(--lime);stroke-width:5;stroke-dasharray:.16 1.2;stroke-dashoffset:-1;opacity:0}
.motion-ok .mx__flow{animation:mxflow 2.4s linear infinite}
@keyframes mxflow{to{stroke-dashoffset:-28}}
.motion-ok .mx.is-pulse .mx__pulse{animation:mxpulse 1100ms var(--ease-io)}
@keyframes mxpulse{0%{stroke-dashoffset:-.86;opacity:0}12%{opacity:1}88%{opacity:1}100%{stroke-dashoffset:.14;opacity:0}}
.mx__track{position:relative;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3cqi,56px);padding:0;margin:0}
.mx__slide{position:relative;display:flex;flex-direction:column;align-items:center;gap:30px}
.mx__dev{position:relative;transition:transform 900ms var(--ease-out)}
.js .mx__slide:not(.is-active) .mx__dev{transform:translateY(12px) scale(.97)}
.js .mx__slide.is-active .mx__dev{transform:translateY(-8px)}
.mx__cap{width:100%;max-width:22em;transition:opacity 500ms var(--ease-out)}
.js .mx__slide:not(.is-active) .mx__cap{opacity:.72}
.mx__n{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--lav-ink)}
.mx__cap h3{margin-top:8px;font-size:clamp(22px,1.9cqi,28px);line-height:1.12;font-weight:600;letter-spacing:-.02em;text-wrap:balance}
.mx__p{margin-top:8px;font-size:16px;line-height:1.5;color:#2E255C;text-wrap:pretty}

/* device */
.phone{position:relative;z-index:1;width:var(--pw);container-type:inline-size}
.phone__frame{position:relative;padding:3.2cqi;border-radius:16cqi;background:linear-gradient(150deg,#6A6872 0,#26252C 20%,#3B3A42 48%,#1C1B21 76%,#5D5B65 100%);box-shadow:inset 0 0 0 .5cqi rgba(255,255,255,.14),inset 0 0 0 1.1cqi #0B0B0E,0 1px 2px rgba(18,12,48,.25),0 24px 40px -18px rgba(18,12,48,.45),0 60px 90px -40px rgba(18,12,48,.5);transition:box-shadow 900ms var(--ease-out)}
.mx__slide.is-active .phone__frame{box-shadow:inset 0 0 0 .5cqi rgba(255,255,255,.16),inset 0 0 0 1.1cqi #0B0B0E,0 1px 2px rgba(18,12,48,.25),0 34px 50px -20px rgba(18,12,48,.5),0 80px 110px -40px rgba(18,12,48,.55)}
.phone__frame::before{content:"";position:absolute;left:-.8cqi;top:19%;width:1cqi;height:5.5%;border-radius:1cqi 0 0 1cqi;background:#3E3D45;box-shadow:0 11cqi 0 #3E3D45,0 25cqi 0 #3E3D45}
.phone__frame::after{content:"";position:absolute;right:-.8cqi;top:29%;width:1cqi;height:12%;border-radius:0 1cqi 1cqi 0;background:#3E3D45}
.phone__screen{position:relative;aspect-ratio:393/852;border-radius:12.8cqi;overflow:hidden;background:#FAF8F2;container-type:inline-size;isolation:isolate}
.phone__screen::after{content:"";position:absolute;inset:0;z-index:6;border-radius:inherit;pointer-events:none;background:linear-gradient(122deg,rgba(255,255,255,.16) 0,rgba(255,255,255,0) 28%)}
.ios{position:absolute;left:0;right:0;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;height:12.6cqi;padding:1.8cqi 7.6cqi 0 9.4cqi;font:600 4.2cqi/1 -apple-system,"SF Pro Text",var(--font);letter-spacing:-.01em;color:var(--ivory);pointer-events:none}
.ios__island{position:absolute;left:50%;top:2.8cqi;width:31cqi;height:9cqi;margin-left:-15.5cqi;border-radius:99px;background:#050506}
.ios__ic{width:17.5cqi;height:auto;fill:currentColor}
.ios-home{position:absolute;left:50%;bottom:2.2cqi;z-index:5;width:34cqi;height:1.3cqi;margin-left:-17cqi;border-radius:9px;background:rgba(27,18,69,.45)}

/* app — real HTML sized to the screen in container units; smallest text 3.3cqi */
.app{position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;font-family:var(--font-g);font-size:4cqi;line-height:1.35;color:var(--indigo)}
.app .k{font-size:3.3cqi;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lav-ink)}
.app__top{flex:none;display:flex;align-items:center;gap:2.6cqi;padding:14.6cqi 4.6cqi 3.6cqi;background:linear-gradient(180deg,#1B1245,#21175A);color:var(--ivory)}
.app__back{font-size:8cqi;line-height:.8;color:var(--lime);margin:-1cqi .2cqi 0 -.6cqi}
.app__ttl{flex:1;min-width:0;display:flex;flex-direction:column;font-size:3.4cqi;line-height:1.25;color:#D8D2EF}
.app__ttl b{font-size:4.8cqi;font-weight:600;color:var(--ivory)}
.app__pill{flex:none;padding:1.1cqi 2.6cqi;border-radius:99px;background:rgba(210,241,84,.14);border:.3cqi solid rgba(210,241,84,.7);color:var(--lime);font-size:3.3cqi;font-weight:600;letter-spacing:.04em}
.app__av{flex:none;position:relative;width:9cqi;height:9cqi;border-radius:50%;overflow:hidden;background:var(--lavender);box-shadow:0 0 0 .5cqi var(--lime)}
.app__av img{position:absolute;width:29cqi;height:29cqi;max-width:none;left:-11.8cqi;top:-3.4cqi}
.glass{display:inline-block;padding:1.2cqi 2.8cqi;border-radius:99px;background:rgba(250,248,242,.2);border:.3cqi solid rgba(255,255,255,.5);-webkit-backdrop-filter:blur(8px) saturate(1.4);backdrop-filter:blur(8px) saturate(1.4);color:#fff;font-size:3.3cqi;font-weight:600;letter-spacing:.02em;white-space:nowrap;text-shadow:0 1px 6px rgba(0,0,0,.35)}
.draw{fill:none;stroke-dasharray:1 1;stroke-dashoffset:0;transition:stroke-dashoffset 1200ms var(--ease-io) 250ms}
.motion-ok .mx__slide:not(.is-active) .draw{stroke-dashoffset:1}
.motion-paused .draw{stroke-dashoffset:0!important}

/* 01 · her brief becomes a Trail */
.s1h{position:relative;flex:none;height:100cqi;overflow:hidden;color:var(--ivory)}
.s1h__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 26%}
.s1h::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,10,36,.6) 0,rgba(14,10,36,0) 24%,rgba(14,10,36,0) 40%,rgba(22,15,58,.9) 100%)}
.s1h__top{position:absolute;z-index:1;left:4.6cqi;right:4.6cqi;top:14.6cqi;display:flex;justify-content:space-between;align-items:center}
.s1h__mark{display:block;height:7cqi;width:auto}
.pill-glass{padding:1.1cqi 2.8cqi;border-radius:99px;background:rgba(27,18,69,.45);border:.3cqi solid rgba(210,241,84,.8);color:var(--lime);font-size:3.3cqi;font-weight:600;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.s1h__copy{position:absolute;z-index:1;left:4.6cqi;right:4.6cqi;bottom:5cqi;display:flex;flex-direction:column;align-items:flex-start;gap:2cqi}
.s1h__copy h4{font-size:8cqi;line-height:1.02;font-weight:600;letter-spacing:-.025em;text-wrap:balance}
.s1h__copy p{align-self:stretch;font-size:3.9cqi;color:#EEEAFB}
.s1b{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:space-between;gap:3cqi;padding:4.4cqi 4.6cqi 8.6cqi}
.ctxs{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2.8cqi;padding:2.8cqi 3.2cqi;border-radius:4.2cqi;background:#EEE9FA}
.ctxs__c{list-style:none;display:flex;flex-wrap:wrap;gap:1.2cqi;margin-top:1.2cqi}
.ctxs__c li{padding:.8cqi 2.3cqi;border-radius:99px;background:#fff;border:.3cqi solid #D6CEF0;font-size:3.4cqi;font-weight:500;white-space:nowrap}
.ctxs__c li:first-child{background:var(--lime);border-color:var(--indigo)}
.brief{margin:0;padding-left:3.4cqi;border-left:.8cqi solid var(--lime)}
.brief blockquote{margin:1cqi 0 0;font-size:4.1cqi;line-height:1.38;color:#2E255C}
.jr{padding:3.4cqi 3.6cqi 3.8cqi;border-radius:4.6cqi;background:#fff;box-shadow:0 2cqi 6cqi rgba(27,18,69,.1),0 0 0 .3cqi #ECE7F7}
.jr__row{display:grid;grid-template-columns:minmax(0,1fr) 16cqi minmax(0,1fr);align-items:start;margin-top:2.6cqi}
.jr__n{display:flex;flex-direction:column;align-items:center;gap:.6cqi;text-align:center}
.jr__ic{display:grid;place-items:center;width:13cqi;height:13cqi;margin-bottom:1.2cqi;border-radius:3.8cqi;background:var(--indigo);color:var(--lime)}
.jr__ic svg{width:8cqi;height:8cqi}
.jr__ic--l{background:var(--lime);color:var(--indigo)}
.jr__n b{font-size:3.3cqi;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lav-ink)}
.jr__n span{font-size:3.8cqi;line-height:1.28;font-weight:500;text-wrap:balance}
.jr__path{width:100%;height:13cqi;overflow:visible}
.jr__base{fill:none;stroke:#D9D1F1;stroke-width:1.5;stroke-dasharray:3 4}
.jr__path .draw{stroke:var(--indigo);stroke-width:2.2;stroke-linecap:round}
.cta{display:flex;align-items:center;justify-content:space-between;height:12cqi;padding:0 2cqi 0 5cqi;border-radius:99px;background:var(--indigo);color:var(--ivory);font-size:4cqi;font-weight:600}
.cta i{display:grid;place-items:center;width:8.4cqi;height:8.4cqi;border-radius:50%;background:var(--lime);color:var(--indigo);font-style:normal}

/* 02 · prepared work */
.s2b{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:space-between;gap:2.8cqi;padding:3.8cqi 4.4cqi 8.6cqi}
.krow{display:flex;justify-content:space-between;align-items:center;gap:2cqi}
.capb{padding:.8cqi 2.4cqi;border-radius:99px;background:var(--indigo);color:var(--lime);font-size:3.3cqi;font-weight:600;white-space:nowrap}
.post{border-radius:5cqi;overflow:hidden;background:#fff;box-shadow:0 3cqi 8cqi rgba(27,18,69,.16),0 0 0 .3cqi #ECE7F7}
.post__art{position:relative;aspect-ratio:91/64;overflow:hidden;color:#fff}
.post__art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 36%}
.post__art::after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,rgba(20,14,52,0) 30%,rgba(20,14,52,.82) 100%)}
.post__art .glass{position:absolute;z-index:1;left:3.4cqi;top:3.4cqi;background:rgba(20,14,52,.5)}
.post__type{position:absolute;z-index:1;left:4cqi;bottom:11.6cqi;display:flex;flex-direction:column;font-size:7.4cqi;line-height:1;font-weight:600;letter-spacing:-.03em}
.post__type b+b{color:var(--lime)}
.post__meta{position:absolute;z-index:1;left:4cqi;right:4cqi;bottom:3.6cqi;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6cqi 2cqi;font-size:3.4cqi;font-weight:500;color:#F2EEFC}
.post__inv{padding:2.8cqi 3.8cqi 3.4cqi}
.post__q{margin-top:1cqi;font-size:3.8cqi;line-height:1.4}
.why{padding:3cqi 3.4cqi 3.4cqi;border-radius:4.6cqi;background:#EEE9FA;border:.3cqi solid #DED6F4}
.why__h{display:flex;flex-direction:column;align-items:center;gap:1.4cqi}
.why__root{white-space:nowrap;padding:.9cqi 3cqi;border-radius:99px;background:var(--lime);border:.3cqi solid var(--indigo);font-size:3.4cqi;font-weight:600}
.why__svg{display:block;width:100%;height:6cqi;overflow:visible}
.why__svg .draw{stroke:var(--indigo);stroke-width:1.5;stroke-opacity:.55}
.why__g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.4cqi}
.why__c{display:flex;flex-direction:column;align-items:flex-start;gap:.9cqi;padding:2.8cqi;border-radius:3.6cqi;background:#fff}
.why__ic{display:grid;place-items:center;width:9cqi;height:9cqi;margin-bottom:.6cqi;border-radius:2.8cqi;background:var(--indigo);color:var(--lime)}
.why__ic svg{width:6cqi;height:6cqi}
.why__ic--v{background:#fff;color:var(--indigo);border:.35cqi dashed var(--indigo)}
.why__c b{font-size:3.9cqi;line-height:1.2}
.unc{display:flex;align-items:baseline;gap:1cqi;font-size:3.3cqi;font-weight:600;color:var(--lav-ink)}
.unc::before{content:"";flex:none;width:2.4cqi;height:2.4cqi;transform:translateY(.2cqi);border-radius:50%;border:.35cqi dashed currentColor}
.ach{list-style:none;display:flex;flex-wrap:wrap;gap:1cqi;margin-top:.6cqi}
.ach li{padding:.7cqi 2cqi;border-radius:99px;background:#F4F1FC;border:.3cqi dashed #9C90CF;font-size:3.3cqi;font-weight:500;white-space:nowrap}
.why__p{font-size:3.4cqi;line-height:1.32;color:#3A3170}
.why__ill{margin-top:auto;font-size:3.3cqi;color:var(--lav-ink)}

/* 03 · her review */
.app--s3 .app__top{position:static}
.ctx{flex:none}
.ctx summary{display:flex;align-items:center;gap:1.4cqi;min-height:max(34px,9.4cqi);padding:0 2.8cqi;border-radius:99px;background:rgba(210,241,84,.14);border:.3cqi solid rgba(210,241,84,.75);color:var(--lime);font-size:3.4cqi;font-weight:600;list-style:none;cursor:pointer}
.ctx summary::-webkit-details-marker{display:none}
.ctx summary i{display:grid;place-items:center;width:4.4cqi;height:4.4cqi;border-radius:50%;border:.35cqi solid currentColor;font:600 2.9cqi/1 var(--font-g);font-style:normal}
.ctx summary:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.ctx[open] summary{background:var(--lime);color:var(--indigo)}
.ctx__sheet{position:absolute;z-index:4;left:3.4cqi;right:3.4cqi;top:32cqi;padding:4.2cqi 4.4cqi;border-radius:5cqi;background:#fff;color:var(--indigo);box-shadow:0 4cqi 14cqi rgba(18,12,48,.35),0 0 0 .3cqi #E4DEF3}
.motion-ok .ctx[open] .ctx__sheet{animation:sheetIn 380ms var(--ease-out)}
@keyframes sheetIn{from{opacity:0;transform:translateY(-3cqi)}to{opacity:1;transform:none}}
.ctx__t{font-size:4.3cqi;font-weight:600;line-height:1.2}
.ctx__sheet ul{list-style:none;display:flex;flex-direction:column;gap:2.8cqi;margin-top:3.2cqi}
.ctx__sheet li{display:grid;grid-template-columns:8cqi minmax(0,1fr);align-items:start;gap:2.6cqi;font-size:3.6cqi;line-height:1.35;color:#3A3170}
.ctx__sheet li b{display:block;font-size:3.9cqi;color:var(--indigo)}
.ctx__ic{display:grid;place-items:center;width:8cqi;height:8cqi;border-radius:2.6cqi;background:var(--indigo);color:var(--lime);font:600 5cqi/1 var(--font-g)}
.ctx__ic svg{width:5.4cqi;height:5.4cqi}
.ctx__ic--l{background:var(--lime);color:var(--indigo)}
.ctx__n{margin-top:3.4cqi;padding-top:2.6cqi;border-top:.3cqi solid #EEE9F7;font-size:3.3cqi;line-height:1.35;color:var(--lav-ink)}
.s3b{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:space-between;gap:2.4cqi;padding:3.6cqi 4.4cqi 8.4cqi}
.sum{display:grid;grid-template-columns:19cqi minmax(0,1fr);gap:2.4cqi 3cqi;padding:3cqi;border-radius:4.6cqi;background:#fff;box-shadow:0 2cqi 6cqi rgba(27,18,69,.1),0 0 0 .3cqi #ECE7F7}
.sum__img{width:19cqi;height:19cqi;border-radius:3.2cqi;object-fit:cover;object-position:50% 28%}
.sum__t{font-size:4.4cqi;line-height:1.15;font-weight:600}
.sum__m{margin-top:.8cqi;font-size:3.5cqi;line-height:1.3;color:#3A3170}
.sum__st{white-space:nowrap;display:inline-block;margin-top:1.4cqi;padding:.7cqi 2.2cqi;border-radius:99px;background:#F1ECFA;border:.3cqi dashed #9C90CF;font-size:3.3cqi;font-weight:600;color:var(--lav-ink);transition:background-color 300ms}
.sum__st.is-on{background:var(--lime);border:.3cqi solid var(--indigo);color:var(--indigo)}
.ws{grid-column:1/-1;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4cqi;padding-top:2.4cqi;border-top:.3cqi solid #EEE9F7}
.ws li{display:flex;flex-direction:column;align-items:center;gap:.5cqi;font-size:3.4cqi;font-weight:600;line-height:1.15;text-align:center}
.ws em{font-style:normal;font-size:3.3cqi;font-weight:400;color:var(--lav-ink)}
.ws i{position:relative;width:5.4cqi;height:5.4cqi;margin-bottom:.6cqi;border-radius:50%;background:var(--lime);border:.35cqi solid var(--indigo)}
.ws i::after{content:"";position:absolute;left:1.5cqi;top:.7cqi;width:1.3cqi;height:2.4cqi;border:solid var(--indigo);border-width:0 .45cqi .45cqi 0;transform:rotate(45deg)}
.ws .vf i{background:#fff;border-style:dashed}
.ws .vf i::after{display:none}
.rseg{min-width:0;margin:0;padding:0;border:0}
.rseg legend{padding:0;margin-bottom:1.6cqi;font-size:3.3cqi;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lav-ink)}
.rseg__o{display:grid;grid-template-columns:1fr 1fr;gap:1cqi;padding:1cqi;border-radius:3.6cqi;background:var(--lavender)}
.rseg__o label{position:relative;display:flex;align-items:center;justify-content:center;min-height:max(38px,10.6cqi);border-radius:2.8cqi;font-size:4cqi;font-weight:500;cursor:pointer;transition:background-color 300ms,color 300ms}
.rseg__o input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.rseg__o label.is-on{background:var(--indigo);color:var(--ivory);box-shadow:0 1cqi 3cqi rgba(27,18,69,.25)}
.rseg__o label:focus-within{outline:2px solid var(--indigo);outline-offset:2px}
.no-js .rseg__o label:has(input:checked){background:var(--indigo);color:var(--ivory)}
.rv2{padding:2.8cqi 3.6cqi 3.2cqi;border-radius:4cqi;background:#fff;border:.3cqi solid #E4DEF3}
.rv2__q{margin-top:1cqi;font-size:3.8cqi;line-height:1.4}
.rapprove{display:flex;align-items:center;justify-content:center;gap:2.4cqi;width:100%;min-height:max(42px,11.6cqi);border-radius:3.6cqi;border:.45cqi solid var(--indigo);background:#fff;color:var(--indigo);font:600 4.1cqi/1 var(--font-g);cursor:pointer;transition:background-color 300ms}
.rapprove:hover{background:#F6F3FE}
.rapprove i{position:relative;flex:none;width:4.4cqi;height:4.4cqi;border-radius:1.2cqi;border:.45cqi solid var(--indigo);background:#fff}
.rapprove[aria-pressed="true"]{background:var(--lime)}
.rapprove[aria-pressed="true"] i::after{content:"";position:absolute;left:1.1cqi;top:.2cqi;width:1.2cqi;height:2.3cqi;border:solid var(--indigo);border-width:0 .5cqi .5cqi 0;transform:rotate(45deg)}
.rapprove:focus-visible{outline:2px solid var(--indigo);outline-offset:2px;box-shadow:none}
.rnote{margin-top:-1.2cqi;font-size:3.4cqi;line-height:1.3;text-align:center;color:var(--lav-ink)}
.rnote.is-on{font-weight:600;color:var(--indigo)}
.rstatic{display:none;font-size:3.6cqi;line-height:1.4;color:#3A3170}
.no-js .rstatic{display:block}
.no-js .rapprove,.no-js .rnote,.no-js .sum__st{display:none}
.nq{padding:3cqi 3.4cqi 3.2cqi;border-radius:4.6cqi;background:var(--indigo);color:var(--ivory)}
.nq .k{color:#D2CBEC}
.nq ul{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.2cqi;margin-top:2.4cqi}
.nq li{display:flex;flex-direction:column;gap:1.2cqi;font-size:3.4cqi;line-height:1.25;font-weight:500}
.nq li svg{width:6.6cqi;height:6.6cqi;color:var(--lime)}
.nq__n{margin-top:2.4cqi;font-size:3.3cqi;color:#D2CBEC}
[data-time]{border-radius:4px}
@keyframes wash{0%{background-color:rgba(210,241,84,.95)}100%{background-color:rgba(210,241,84,0)}}
.motion-ok [data-time].is-changed{animation:wash 900ms var(--ease-out)}

/* ============ WORK WITH US ============ */
.aud{padding-block:clamp(88px,10cqi,152px)}
.aud-head .section-title{margin-top:18px}
.props{margin-top:clamp(40px,5cqi,72px);border-top:1.5px solid var(--ink)}
.prop{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,3.4cqi,56px);padding-block:clamp(28px,3cqi,44px);border-bottom:1px solid var(--line);align-items:start}
.prop__media{aspect-ratio:4/3;overflow:hidden;border-radius:8px;background:var(--paper-2)}
.prop__media img{width:100%;height:100%;object-fit:cover}
.prop__body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 clamp(24px,3cqi,48px);align-content:start}
.prop__who,.prop__title{grid-column:1/-1}
.prop__who{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.prop__title{margin-top:12px;max-width:16em;font-size:clamp(30px,3.2cqi,50px);line-height:1.02;font-weight:500;letter-spacing:-.034em;font-stretch:94%;text-wrap:balance}
.prop__copy{margin-top:20px;max-width:34em;font-size:17px;line-height:1.52;color:var(--ink-2);text-wrap:pretty}
.prop__act{align-self:end;margin-top:20px}
.aud-note{margin-top:18px;font-size:13px;color:var(--muted)}

/* ============ THESIS · one generative visual story ============ */
.thesis{position:relative;background:var(--ink);color:var(--paper);padding-block:clamp(88px,10cqi,152px);overflow:hidden}
.tz-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:18px clamp(32px,5cqi,80px);align-items:end}
.tz-head .kicker{grid-column:1/-1}
.thesis__title{max-width:14em}
.tz-def{max-width:26em;font-size:clamp(18px,1.5cqi,22px);line-height:1.42;color:#E9E2D5;text-wrap:pretty}
.tz{margin-top:clamp(40px,5cqi,72px)}
.tz__ctrl{display:flex;flex-wrap:wrap;gap:8px}
.tz__btn{white-space:nowrap;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 20px;border-radius:999px;border:1px solid rgba(244,240,232,.26);background:transparent;color:#DCD4C6;font:500 15.5px/1.15 var(--font);cursor:pointer;transition:background-color var(--t-s) var(--ease-out),color var(--t-s) var(--ease-out),border-color var(--t-s)}
.tz__btn b{font-size:11.5px;font-weight:600;letter-spacing:.12em;color:var(--lime)}
.tz__btn:hover{border-color:rgba(244,240,232,.6);color:var(--paper)}
.tz__btn[aria-pressed="true"]{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.tz__btn[aria-pressed="true"] b{color:#5F7A00}
.tz__stage{display:flex;flex-direction:column;gap:clamp(24px,2.6cqi,40px);margin-top:20px}
.tz__art{position:relative;margin:0 calc(var(--gutter) * -.5);aspect-ratio:1536/1024;border-radius:24px;overflow:hidden;background:#15130F;box-shadow:0 0 0 1px rgba(244,240,232,.08),0 40px 120px rgba(0,0,0,.5);container-type:inline-size}
.tz__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.015);transition:transform 1600ms var(--ease-out)}
.tz[data-ch="1"] .tz__img{transform:scale(1.04) translate(.6%,-1.2%)}
.tz[data-ch="3"] .tz__img{transform:scale(1)}
.tz__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.tz-glow,.tz-lead{mix-blend-mode:screen}
.tz [data-only],.tz [data-from]{opacity:0;transition:opacity 900ms var(--ease-out)}
.tz[data-ch="1"] [data-only="1"],.tz[data-ch="2"] [data-only="2"],.tz[data-ch="3"] [data-only="3"],.tz[data-ch="2"] [data-from="2"]{opacity:1}
.tz[data-ch="3"] [data-from="2"]{opacity:.5}
.tz .dr{stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset 1800ms var(--ease-io) 200ms}
.tz[data-ch="2"] .dr,.tz[data-ch="3"] .dr{stroke-dashoffset:0}
.tz .br{transform-box:fill-box;transform-origin:center}
.tz .rg{transform-box:fill-box;transform-origin:center;opacity:0}
.motion-ok .tz.is-live .fl{animation:tzflow 3.2s linear infinite}
.motion-ok .tz.is-live .mg{animation:tzflow 6s linear infinite reverse}
.motion-ok .tz.is-live .br{animation:tzbreathe 5s var(--ease-io) infinite alternate}
.motion-ok .tz.is-live .rg{animation:tzring 4.8s var(--ease-out) infinite}
@keyframes tzflow{to{stroke-dashoffset:-84}}
@keyframes tzbreathe{from{transform:scale(.92);opacity:.6}to{transform:scale(1.06);opacity:1}}
@keyframes tzring{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.5);opacity:0}}
.tz__ann{position:absolute;inset:0;pointer-events:none}
.tz-l{position:absolute;display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:10px;background:rgba(16,14,10,.72);border:1px solid rgba(244,240,232,.18);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:clamp(12.5px,1.15cqi,15px);line-height:1.2;font-weight:500;color:var(--paper);white-space:nowrap;transform:translate(-50%,-50%)}
.tz-l::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--lime)}
.tz-l[data-a="r"]{transform:translate(-100%,-50%)}
.tz-mk{position:absolute;display:none;place-items:center;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:var(--lime);color:var(--ink);font-size:12px;font-weight:600;box-shadow:0 0 0 4px rgba(210,241,84,.25)}
.tz__tagline{position:absolute;right:3.2%;top:5.2%;white-space:nowrap;font-size:clamp(10.5px,.95cqi,12.5px);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#BDB4A4}
.tz__keys{display:none;list-style:none;flex-direction:column;gap:8px;margin:0;padding:0}
.tz__keys li{display:none;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:center;font-size:15px;line-height:1.3;color:var(--paper)}
.tz__keys b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--lime);color:var(--ink);font-size:12px;font-weight:600}
.tz[data-ch="1"] .tz__keys li[data-only="1"],.tz[data-ch="2"] .tz__keys li[data-only="2"],.tz[data-ch="3"] .tz__keys li[data-only="3"]{display:grid}
.tz__keys li{opacity:1!important}
.js .tz__panel{display:grid;grid-template-columns:minmax(0,1fr);max-width:1080px}
.tz__ch{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:6px clamp(24px,4cqi,72px);align-items:start}
.tz__ch .tz__tag,.tz__ch h3{grid-column:1}
.tz__ch .tz__p{grid-column:2;grid-row:1/span 2;margin-top:0}
.tz__ch .tz__sub{grid-column:2}
.no-js .tz__svg,.no-js .tz__ann,.no-js .tz__keys{display:none}
.motion-paused .tz .dr{stroke-dashoffset:0!important}
.js .tz__ch{grid-area:1/1;transition:opacity 500ms var(--ease-out),transform 600ms var(--ease-out)}
.js .tz__ch:not(.is-on){visibility:hidden;opacity:0;transform:translateY(10px)}
.no-js .tz__ctrl{display:none}
.no-js .tz__ch+.tz__ch{margin-top:36px}
.tz__tag{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#CFC6B6}
.tz__tag i{flex:none;width:11px;height:11px;border-radius:50%}
.tz__tag--now i{background:var(--lime)}
.tz__tag--build i{border:1.5px solid var(--lime);background:linear-gradient(90deg,var(--lime) 50%,transparent 50%)}
.tz__tag--ahead i{border:1.5px dashed #CFC6B6}
.tz__ch h3{margin-top:14px;font-size:clamp(28px,2.7cqi,44px);line-height:1.04;font-weight:500;letter-spacing:-.03em;font-stretch:94%}
.tz__p{margin-top:14px;font-size:clamp(16.5px,1.25cqi,18.5px);line-height:1.52;color:#DCD4C6;text-wrap:pretty}
.tz__p strong,.tz__sub strong{font-weight:500;color:var(--paper)}
.tz__sub{margin-top:14px;padding-top:14px;border-top:1px solid rgba(244,240,232,.16);font-size:15px;line-height:1.52;color:#BDB4A4;text-wrap:pretty}
.tz__note{margin-top:12px;font-size:12.5px;color:#A9A091}
.tz-proof{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:16px clamp(24px,3cqi,48px);margin-top:clamp(56px,6cqi,96px);padding-top:22px;border-top:1.5px solid var(--lime)}
.tz-proof__k{padding-top:3px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--lime)}
.tz-proof__list{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px clamp(16px,2cqi,32px)}
.tz-proof__list li{font-size:clamp(17px,1.4cqi,21px);line-height:1.3;font-weight:500;letter-spacing:-.01em;text-wrap:balance}
.tz-proof__list b{display:block;margin-bottom:8px;font-size:12px;font-weight:600;letter-spacing:.1em;color:#A9A091}

/* ============ CONTACT ============ */
.contact{padding-block:clamp(88px,10cqi,160px) clamp(72px,8cqi,120px)}
.contact__title{margin-top:18px;max-width:12.5em;font-size:clamp(44px,6.4cqi,112px);line-height:.94;font-weight:500;letter-spacing:-.048em;font-stretch:90%;text-wrap:balance}
.routes{list-style:none;margin-top:clamp(40px,5cqi,72px);border-top:1.5px solid var(--ink)}
.route{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr) auto;align-items:center;gap:24px;padding:22px 8px 22px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);overflow:hidden}
.route::before{content:"";position:absolute;inset:0 -100vw 0 0;z-index:-1;background:var(--lime);transform:scaleX(0);transform-origin:0 50%;transition:transform 600ms var(--ease-out)}
.route:hover::before,.route:focus-visible::before{transform:scaleX(1)}
.route__who{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.route:hover .route__who{color:var(--ink)}
.route__what{font-size:clamp(26px,3.6cqi,58px);line-height:1.02;font-weight:500;letter-spacing:-.034em;font-stretch:94%}
.route__arrow{display:grid;place-items:center;width:clamp(48px,4.2cqi,64px);aspect-ratio:1;border-radius:50%;border:1.5px solid var(--ink);transition:background-color var(--t-s),color var(--t-s)}
.route__arrow .i{width:22px;height:22px}
.route:hover .route__arrow{background:var(--ink);color:var(--lime)}
.route:hover .route__arrow .i{transform:translateX(3px)}
.contact__mail{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 20px;margin-top:clamp(36px,4cqi,56px)}
.contact__mail span{font-size:15px;color:var(--muted)}
.contact__mail a{display:inline-flex;align-items:center;min-height:44px;font-size:clamp(24px,2.6cqi,38px);font-weight:500;letter-spacing:-.02em;text-decoration-thickness:1.5px;overflow-wrap:anywhere}

/* ============ FOOTER ============ */
.footer{background:var(--ink);color:#CFC6B6;padding-block:56px 40px;font-size:15px}
.footer__inner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr) minmax(0,3fr);gap:32px 40px;align-items:start}
.footer__brand{display:flex;flex-direction:column;gap:12px;max-width:30em}
.footer__mark{font-size:25px;font-weight:580;letter-spacing:-.028em;font-stretch:96%;color:var(--paper)}
.footer__nav{display:flex;flex-wrap:wrap;gap:4px 22px}
.footer__nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--paper);text-decoration:none}
.footer__nav a:hover{text-decoration:underline}
.footer__mail a{display:inline-flex;align-items:center;min-height:44px;color:var(--paper);font-weight:500}
.footer__note{grid-column:1/3;max-width:46em;font-size:13.5px;color:#A9A091}
.footer__copy{font-size:13.5px;color:#A9A091}

/* ============ MOBILE MENU (outside .site) ============ */
.masthead--static .masthead__cta{display:inline-flex}
.menu{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;padding:10px 20px 28px;background:var(--ink);color:var(--paper);font-family:var(--font);opacity:0;transform:translateY(-10px);transition:opacity var(--t-s) var(--ease-out),transform var(--t-s) var(--ease-out);overflow-y:auto}
.menu[hidden]{display:none}
.menu.is-open{opacity:1;transform:none}
.menu__top{display:flex;justify-content:space-between;align-items:center;min-height:52px}
.menu__close{min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid currentColor;background:transparent;font-size:14.5px;font-weight:500;cursor:pointer}
.menu__list{list-style:none;margin-top:28px}
.menu__list a{display:flex;justify-content:space-between;align-items:center;min-height:68px;border-bottom:1px solid rgba(244,240,232,.14);font-size:34px;font-weight:500;letter-spacing:-.03em;text-decoration:none}
.menu__list a span{font-size:13px;color:#A9A091;letter-spacing:0}
.menu.is-open .menu__list li{animation:fadeUp 520ms var(--ease-out) both;animation-delay:calc(var(--i) * 50ms + 60ms)}
.menu__mail{margin-top:auto;padding-top:32px;display:inline-flex;align-items:center;min-height:44px;color:var(--lime);font-weight:500}
html.menu-open{overflow:hidden}

/* ============ TABLET ≤ 1079 ============ */
@container site (max-width:1079.98px){
  .nav__list{gap:20px}
  .masthead__cta{display:none}
  .hero{--h1:clamp(46px,8.2cqi,80px);height:auto;display:flex;flex-direction:column;overflow:visible}
  .hero__media{position:relative;inset:auto;aspect-ratio:16/10}
  .hero__shade{background:linear-gradient(180deg,rgba(12,10,8,.55) 0,rgba(12,10,8,0) 24%),linear-gradient(0deg,rgba(14,12,9,1) 0,rgba(14,12,9,.55) 26%,rgba(14,12,9,0) 50%)}
  .hero__copy{position:relative;left:auto;bottom:auto;width:auto;padding:0 var(--gutter);margin-top:calc(var(--h1) * -2.82 - 60px)}
  .hero__eyebrow{margin-bottom:12px;font-size:12px}
  .br-s{display:inline}
  .br-l{display:none}
  .hero__row{flex-direction:column;align-items:flex-start}
  .hero__lede{max-width:36em}
  .hero__bar{position:relative;height:auto;flex-wrap:wrap;gap:16px 24px;padding:24px var(--gutter) 32px;margin-top:24px;border-top:0}
  .hero__note{order:3;flex:1 1 100%}
  .beats{margin-left:0;flex:1 1 auto}
  .beat{flex:1 1 0;width:auto}
  .pur{grid-template-columns:1fr}
  .g-intro{grid-template-columns:1fr;align-items:start}
  .g-lede{max-width:46ch}
  .prop{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
  .prop__body{grid-template-columns:1fr}
  .prop__act{margin-top:20px}
  .footer__inner{grid-template-columns:1fr 1fr}
  .footer__note{grid-column:1/-1}
}

/* ============ MOBILE ≤ 719 ============ */
@container site (max-width:719.98px){
  :root{--head:64px}
  .masthead{background:var(--ink);color:var(--ivory)}
  .masthead.is-solid{background:rgba(244,240,232,.96);color:var(--ink)}
  .js .nav{display:none}
  .js .menu-toggle{display:inline-flex}
  .no-js .masthead{height:auto}
  .no-js .masthead__inner{flex-wrap:wrap;gap:0 16px;padding-block:10px}
  .no-js .nav{margin-left:0;width:100%}
  .no-js .nav__list{flex-wrap:wrap;gap:0 18px}
  .hero{--h1:clamp(40px,11.8cqi,58px);margin-top:0}
  .hero__media{aspect-ratio:4/5}
  .hero__poster,.hero__film{object-position:78% 50%}
  .hero__shade{background:linear-gradient(0deg,rgba(14,12,9,1) 0,rgba(14,12,9,.6) 24%,rgba(14,12,9,0) 46%)}
  .hero__copy{padding:0 20px}
  .hero__ctas{width:100%}
  .hero__ctas .btn{flex:1 1 auto}
  .hero__bar{position:static;padding:20px 20px 28px;margin-top:8px}
  .beat{font-size:11.5px}
  .hero__toggle{position:absolute;top:16px;right:20px;z-index:4;background:rgba(14,12,9,.7)}
  .hero__toggle:hover{background:rgba(14,12,9,.85)}
  .g-head{flex-direction:column;align-items:flex-start}
  .g-title{font-size:clamp(40px,11.5cqi,54px)}
  .g-path{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px;align-items:start}
  .g-step--3{grid-column:1/-1}
  .g-step--1 .g-frame,.g-step--2 .g-frame{aspect-ratio:4/5}
  .g-step--3 .g-frame{aspect-ratio:4/3}
  .g-cap{font-size:14.5px;padding-top:14px}
  .g-cap b{font-size:22px}
  .g-next__w{font-size:22px}
  .prop{grid-template-columns:1fr;gap:18px}
  .prop__media{aspect-ratio:16/10}
  .route{grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding:18px 0}
  .route__who{grid-column:1/-1}
  .footer__inner{grid-template-columns:1fr}
}
@container site (min-width:1080px) and (max-width:1279.98px){
  .hero__copy{width:58%}
  .hero__row{flex-direction:column;align-items:flex-start;gap:18px}
  .hero__lede{max-width:32em}
}

/* ============ PRIVACY PAGE ============ */
.page{padding-block:clamp(72px,9cqi,128px)}
.page h1{font-size:clamp(44px,6cqi,96px);line-height:.98;font-weight:500;letter-spacing:-.04em}
.page .prose{max-width:40em;margin-top:40px;font-size:18px;line-height:1.6}
.page .prose h2{margin-top:40px;font-size:22px;font-weight:600;letter-spacing:-.01em}
.page .prose p{margin-top:12px;color:var(--ink-2)}
.masthead--static{color:var(--ink);background:var(--paper);box-shadow:0 1px 0 var(--line)}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;transition-delay:0ms!important}
}
@media print{
  .hero__film,.hero__layer,.hero__toggle,.menu-toggle,.menu,.rail{display:none!important}
  .masthead{position:static}
}

/* Global pause: film and every decorative motion settle immediately. */
html.motion-paused{scroll-behavior:auto}
.motion-paused *, .motion-paused *::before, .motion-paused *::after{animation:none!important;transition:none!important}
.motion-paused [data-reveal]{opacity:1!important;transform:none!important}
.motion-paused .uline{background-size:100% .32em!important}
.motion-paused .mark--dark{background-size:100% .12em!important}
/* Static fallback keeps navigation readable. */
.no-js .masthead{background:var(--paper);color:var(--ink);box-shadow:0 1px 0 var(--line)}

/* ============ MOTION BUILD · responsive compositions ============ */
@container site (max-width:1079.98px){
  .hero__layer{display:block}
  .hx__head{top:calc(var(--head) + 14px);width:min(48%,440px)}
  .hx__t{font-size:clamp(26px,3.8cqi,40px)}
  .hx__weave{bottom:clamp(16px,3cqi,30px);width:clamp(240px,31cqi,300px)}
  .hx__f{font-size:14.5px}
  .mx-head,.tz-head{grid-template-columns:1fr}
  .tz__art{margin-inline:0}
  .tz-proof{grid-template-columns:1fr}
  .tz-proof__list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container site (max-width:899.98px){
}
@container site (max-width:719.98px){
  .hx__head{top:16px;left:20px;right:auto;width:64%;align-items:flex-start;text-align:left}
  .hx__tag{padding:5px 10px;font-size:11.5px}
  .hx__heads{margin-top:12px}
  .hx__t{font-size:clamp(23px,7.2cqi,30px)}
  .hx__s{display:none}
  .hx__weave{left:20px;right:auto;bottom:calc(var(--h1) * 2.82 + 74px);width:min(62%,240px)}
  .hx__g,.hx__sum{gap:8px}
  .hx__f{padding-left:19px;font-size:13.5px}
  .hx__k{font-size:10px}
  .hx__f--rev{padding:9px 11px 9px 33px;border-radius:12px}
  .hx__f--rev .hx__m{left:11px;top:11px;width:13px;height:13px}
  .hx__sum .hx__f{font-size:13px}
  .mx-foot{flex-direction:column;align-items:flex-start}
  .tz__ctrl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .tz__btn{flex-direction:column;justify-content:center;gap:3px;min-height:60px;padding:8px 6px;border-radius:14px;font-size:13px;text-align:center}
  .tz__art{margin:0 calc(var(--gutter) * -1);border-radius:0}
  .tz__btn{white-space:normal}
  .tz-l,.tz-lead{display:none}
  .tz-mk{display:grid}
  .tz__tagline{top:auto;bottom:4%}
  .tz__keys{display:flex}
  .tz__ch{grid-template-columns:1fr}
  .tz__ch .tz__p,.tz__ch .tz__sub{grid-column:1;grid-row:auto}
  .tz__ch .tz__p{margin-top:12px}
  .tz-proof__list{grid-template-columns:1fr;gap:14px}
  .tz-proof__list li{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:baseline}
  .tz-proof__list b{margin:0}
}

/* Keep the global motion preference reachable while reading lower sections. */

/* ============ MR. G · responsive device staging ============ */
@container site (max-width:1279.98px){
  .mx__thread{display:none}
  .mx__stage{--pw:clamp(318px,40cqi,384px);margin-top:28px}
  .mx__track{display:flex;gap:0;margin-inline:calc(var(--gutter) * -1);padding-block:18px 10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}
  .mx__track::-webkit-scrollbar{display:none}
  .mx__slide{flex:0 0 100%;display:grid;grid-template-columns:auto minmax(0,24em);justify-content:center;align-items:center;gap:clamp(28px,5cqi,80px);padding-inline:var(--gutter);scroll-snap-align:center;scroll-snap-stop:always}
  .js .mx__slide:not(.is-active) .mx__dev{transform:scale(.95)}
  .js .mx__slide.is-active .mx__dev{transform:none}
  .js .mx__slide:not(.is-active) .mx__cap{opacity:.5}
  .mx__cap{max-width:24em}
  .mx__cap h3{font-size:clamp(26px,3cqi,34px)}
  .mx__p{font-size:17px}
}
@container site (max-width:719.98px){
  .mx__ctrl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;border-radius:18px}
  .mx__btn{flex-direction:column;justify-content:center;gap:3px;min-height:56px;padding:8px 6px;border-radius:13px;font-size:14px;text-align:center}
  .mx__btn+.mx__btn::before{left:-6px}
  .mx__stage{--pw:min(340px,calc(100cqi - 2 * var(--gutter)));margin-top:18px}
  .mx__slide{grid-template-columns:minmax(0,1fr);justify-items:center;gap:24px}
  .mx__cap{max-width:34em}
  .mx__cap h3{font-size:24px}
  .mx__p{font-size:16px}
}

/* Mobile motion control shares the header instead of covering reading content. */


/* =====================================================================
   FOUNDER VISION REFINEMENT
   ===================================================================== */
/* carried-forward pause fix for the Giraffe progression */
.motion-paused .g-step .g-frame{clip-path:none!important}
.motion-paused .g-step .g-frame img,.motion-paused .g-step .g-cap::before{transform:none!important}

/* 1 · HERO overlay — fewer, stronger lines anchored to the film's empty sky and lower-right; no canvas strokes */
.hero .hx__head{width:min(40%,560px)}
.hero .hx__heads{margin-top:18px}
.hero .hx__t{font-family:var(--font-g);font-size:clamp(40px,4.3cqi,74px);line-height:.98;font-weight:600;letter-spacing:-.035em;text-shadow:0 2px 34px rgba(0,0,0,.45)}
.hero .hx__t b{font-family:var(--font-g);font-size:.2em;vertical-align:1.6em}
.hero .hx__ch[data-hx-ch="1"] .hx__t{color:var(--lime)}
.hero .hx__s{margin-top:14px;font-size:clamp(16px,1.2cqi,19px);font-weight:500;color:var(--ivory)}
.hero .hx__weave{width:clamp(280px,23cqi,360px)}
.hero .hx__weave::before{content:"";position:absolute;z-index:-1;inset:-56px -48px -36px -72px;background:radial-gradient(closest-side,rgba(10,8,6,.55),rgba(10,8,6,0));pointer-events:none}
.hero .hx__g,.hero .hx__sum{gap:14px}
.hero .hx__f{padding-left:28px;font-size:clamp(18px,1.4cqi,22px);line-height:1.2;font-weight:600;letter-spacing:-.01em}
.hero .hx__k{margin-bottom:5px;font-size:11.5px;letter-spacing:.12em;color:#F1EBDF}
.hero .hx__m{top:5px;width:12px;height:12px}
.hero .hx__f--prep .hx__m{top:4px;width:14px;height:14px;border:0;border-radius:0;background:linear-gradient(var(--lime),var(--lime)) center/100% 3px no-repeat,linear-gradient(var(--lime),var(--lime)) center/3px 100% no-repeat}
.hero .hx__f--rev{padding:14px 16px 14px 40px;font-size:clamp(17px,1.3cqi,20px);font-weight:500;line-height:1.3}
.hero .hx__f--rev .hx__m{left:16px;top:20px;width:12px;height:12px;border:0;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px rgba(210,241,84,.35)}
.hero .hx__sum .hx__f{font-size:clamp(16px,1.2cqi,19px)}
.hero .hx__sum .hx__f--rev{font-size:clamp(16px,1.2cqi,18px)}
@media (max-height:760px){.hero .hx__t{font-size:clamp(34px,3.4cqi,56px)}.hero .hx__f{font-size:17px}}
@container site (max-width:1079.98px){
  .hero .hx__head{width:min(50%,460px)}
  .hero .hx__t{font-size:clamp(32px,4.6cqi,48px)}
  .hero .hx__f{font-size:16.5px}
}
@container site (max-width:719.98px){
  .hero .hx__head{width:70%}
  .hero .hx__t{font-size:clamp(28px,8.4cqi,36px)}
  .hero .hx__weave{width:min(70%,260px)}
  .hero .hx__weave::before{inset:-30px -30px -20px -30px}
  .hero .hx__f{padding-left:22px;font-size:15px}
  .hero .hx__k{font-size:10px}
  .hero .hx__m{top:3px;width:10px;height:10px}
  .hero .hx__f--prep .hx__m{top:2px;width:12px;height:12px}
  .hero .hx__f--rev{padding:10px 12px 10px 30px;font-size:14.5px}
  .hero .hx__f--rev .hx__m{left:12px;top:15px;width:9px;height:9px}
  .hero .hx__sum .hx__f,.hero .hx__sum .hx__f--rev{font-size:14px}
  .hero .hx__sum .hx__f--prep{display:none}
}

/* 2 · MR. G — one photo-led app concept + the world it opens */
.gx{margin-top:clamp(40px,5cqi,72px)}
.gx__ctrl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;max-width:760px;padding:5px;border-radius:999px;background:#fff;box-shadow:0 1px 0 rgba(27,18,69,.06),0 10px 30px -14px rgba(27,18,69,.3)}
.gx__ctrl button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 14px;border:0;border-radius:999px;background:transparent;color:var(--indigo);font:600 16px/1.1 var(--font-g);cursor:pointer;transition:background-color var(--t-s),color var(--t-s)}
.gx__ctrl button b{font-size:11px;letter-spacing:.12em;color:var(--lav-mid)}
.gx__ctrl button:hover{background:var(--lavender)}
.gx__ctrl button[aria-selected="true"]{background:var(--indigo);color:var(--ivory)}
.gx__ctrl button[aria-selected="true"] b{color:var(--lime)}
.gx__stage{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:clamp(36px,6cqi,104px);align-items:center;margin-top:clamp(28px,3.4cqi,48px)}
.gx__dev{position:relative;width:100%;--pw:min(380px,100%);padding-left:9%}
.gx__dev .phone{margin-left:auto;margin-right:auto}
.gx__mrg{position:absolute;z-index:2;left:-14%;bottom:-3%;width:44%;height:auto;filter:drop-shadow(0 18px 24px rgba(27,18,69,.28));pointer-events:none}
.gx .ios{color:var(--ivory);z-index:7}
.ga-batt{width:22px;height:10px;border-radius:3px;border:1.5px solid currentColor;opacity:.8}
.ga{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--ivory);color:var(--indigo);font-family:var(--font-g);font-size:4.2cqi;line-height:1.3}
.ga-top{flex:none;display:flex;align-items:center;justify-content:space-between;padding:14cqi 5cqi 3.4cqi;background:var(--indigo)}
.ga-mark{width:24cqi;height:auto}
.ga-me{width:9.5cqi;height:9.5cqi;border-radius:50%;overflow:hidden;border:.8cqi solid var(--lime)}
.ga-me img{width:100%;height:100%;object-fit:cover;object-position:36% 22%}
.ga-screens{position:relative;flex:1;min-height:0;display:grid}
.ga-s{grid-area:1/1;display:flex;flex-direction:column;gap:3.2cqi;min-height:0;padding:4.6cqi 5cqi 6cqi;overflow:hidden}
.js .ga-s{opacity:0;visibility:hidden}
.js .ga-s.is-on{opacity:1;visibility:visible}
.motion-ok .ga-s{transform:translateX(7cqi);transition:opacity 420ms var(--ease-out),transform 620ms var(--ease-out),visibility 0s 420ms}
.motion-ok .ga-s.is-on{transform:none;transition:opacity 520ms var(--ease-out) 80ms,transform 760ms var(--ease-out) 60ms,visibility 0s}
.ga-cover{position:relative;flex:none;aspect-ratio:1/1.02;margin:0;border-radius:5cqi;overflow:hidden;background:var(--indigo-2)}
.ga-cover img{width:100%;height:100%;object-fit:cover;object-position:36% 34%}
.ga-cover figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:1.4cqi;padding:14cqi 4.6cqi 4.4cqi;background:linear-gradient(0deg,rgba(18,12,48,.86),rgba(18,12,48,0))}
.ga-k{font-size:3.1cqi;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--lime)}
.ga-cover b{font-size:6.8cqi;line-height:1.02;font-weight:600;letter-spacing:-.02em;color:var(--ivory)}
.ga-h{font-size:3.2cqi;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--lav-mid)}
.ga-tags{display:flex;flex-wrap:wrap;gap:1.6cqi;margin:0;padding:0;list-style:none}
.ga-tags li{padding:1.6cqi 3.2cqi;border-radius:999px;background:var(--lavender);font-size:3.6cqi;font-weight:500}
.ga-g{display:grid;grid-template-columns:11cqi minmax(0,1fr) auto;align-items:center;gap:2.6cqi;margin-top:auto;padding:2.6cqi 3cqi;border-radius:4.4cqi;background:var(--indigo);color:var(--ivory)}
.ga-g img{width:11cqi;height:11cqi;object-fit:contain}
.ga-g p{font-size:3.7cqi;line-height:1.25}
.ga-g b{display:block;font-size:3cqi;letter-spacing:.1em;text-transform:uppercase;color:var(--lime)}
.ga-g--sm{grid-template-columns:9cqi minmax(0,1fr);margin-top:0}
.ga-g--sm img{width:9cqi;height:9cqi}
.ga-btn{min-height:11cqi;padding:0 3.6cqi;border:0;border-radius:999px;background:var(--lime);color:var(--indigo);font:600 3.6cqi/1 var(--font-g);cursor:pointer}
.ga-title{font-size:7.4cqi;line-height:1;font-weight:600;letter-spacing:-.025em}
.ga-sub{margin-top:-1.6cqi;font-size:3.5cqi;color:var(--lav-ink)}
.ga-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3cqi}
.ga-tile{position:relative;aspect-ratio:4/5;padding:0;border:0;border-radius:4.6cqi;overflow:hidden;background:var(--indigo);text-align:left;cursor:pointer}
.ga-tile img,.ga-tile svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ga-tile::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(18,12,48,.82) 0,rgba(18,12,48,0) 55%)}
.ga-tile::after{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;box-shadow:inset 0 0 0 1.2cqi var(--lime);opacity:0;transition:opacity var(--t-s)}
.ga-tile[aria-pressed="true"]::after{opacity:1}
.ga-tile__t{position:absolute;z-index:2;left:3.2cqi;right:3.2cqi;bottom:3.2cqi;color:var(--ivory);font-size:4.4cqi;line-height:1.05;font-weight:600;letter-spacing:-.01em}
.ga-tile__y{position:absolute;z-index:2;left:3cqi;top:3cqi;padding:1cqi 2.4cqi;border-radius:999px;background:var(--lime);color:var(--indigo);font-size:3cqi;font-weight:600;opacity:0;transition:opacity var(--t-s)}
.ga-tile[aria-pressed="true"] .ga-tile__y{opacity:1}
.ga-tile:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}
.ga-post{flex:none;margin:0;border-radius:5cqi;overflow:hidden;background:var(--indigo);color:var(--ivory)}
.ga-post__m{position:relative;aspect-ratio:1/.86;overflow:hidden}
.ga-post__m img,.ga-post__m svg,.gx__wm img,.gx__wm svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ga-post figcaption{padding:3.4cqi 4cqi 4cqi;font-size:4.2cqi;line-height:1.3;font-weight:500}
.motion-ok .ga-post.is-new .ga-post__m>*{animation:gxIn 700ms var(--ease-out)}
.motion-ok .ga-post.is-new figcaption{animation:fadeUp 600ms var(--ease-out) 120ms both}
@keyframes gxIn{from{opacity:0;transform:scale(1.06)}to{opacity:1;transform:none}}
.gx__art{position:absolute;inset:0}
.gx__art em{position:absolute;z-index:2;right:2.4cqi;top:2.4cqi;padding:.8cqi 2cqi;border-radius:999px;background:rgba(250,248,242,.88);color:var(--indigo);font-size:2.8cqi;font-style:normal;font-weight:600}
.ga-squad{display:flex;align-items:center;gap:3cqi}
.ga-faces{display:flex;flex:none}
.ga-faces img{width:9.6cqi;height:9.6cqi;border-radius:50%;object-fit:cover;border:.7cqi solid var(--ivory);margin-left:-2.6cqi}
.ga-faces img:first-child{margin-left:0}
.ga-squad p{display:flex;flex-direction:column;font-size:3.6cqi;line-height:1.25;color:var(--lav-ink)}
.ga-squad b{font-size:4cqi;color:var(--indigo)}
.ga-collab{display:flex;flex-direction:column;gap:2.2cqi;margin:0;padding:0;list-style:none}
.ga-collab li{display:grid;grid-template-columns:11cqi minmax(0,1fr);align-items:center;gap:3cqi;padding:2.8cqi;border-radius:4cqi;background:#fff;box-shadow:0 .6cqi 2cqi rgba(27,18,69,.08)}
.ga-collab i{position:relative;width:11cqi;height:11cqi;border-radius:3cqi;background:var(--lavender)}
.ga-collab i::after{content:"";position:absolute;inset:3.6cqi;border-radius:50%;background:var(--lime);box-shadow:0 0 0 1cqi var(--indigo)}
.ga-collab span{display:flex;flex-direction:column}
.ga-collab b{font-size:4cqi;line-height:1.15}
.ga-collab span span{font-size:3.5cqi;color:var(--lav-ink)}
.ga-grow{display:flex;gap:1.4cqi;margin:0;padding:0;list-style:none}
.ga-grow li{flex:1 1 0;padding:2cqi 0;border-radius:2.6cqi;text-align:center;font-size:3.4cqi;font-weight:600;background:var(--lavender)}
.ga-grow li:nth-child(1){background:var(--indigo);color:var(--ivory)}
.ga-grow li:nth-child(2){background:var(--indigo-2);color:var(--ivory)}
.ga-grow li:nth-child(3){background:#C9BEF0}
.ga-grow li:nth-child(4){background:var(--lime)}
.ga-next{font-size:3.6cqi;line-height:1.35;color:var(--lav-ink)}
.gx__world{display:grid;min-width:0}
.gx__w{grid-area:1/1;display:flex;flex-direction:column;gap:22px;margin:0}
.js .gx__w{opacity:0;visibility:hidden}
.js .gx__w.is-on{opacity:1;visibility:visible}
.motion-ok .gx__w{transition:opacity 500ms var(--ease-out),visibility 0s 500ms}
.motion-ok .gx__w .gx__wm{transform:scale(.97);transition:transform 900ms var(--ease-out)}
.motion-ok .gx__w.is-on{transition:opacity 600ms var(--ease-out) 120ms,visibility 0s}
.motion-ok .gx__w.is-on .gx__wm{transform:none}
.gx__wm{position:relative;aspect-ratio:4/3;border-radius:22px;overflow:hidden;background:var(--indigo);box-shadow:0 30px 60px -30px rgba(27,18,69,.45)}
.gx__wm .gx__art em{right:16px;top:16px;padding:6px 12px;font-size:12px}
.gx__mosaic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:10px;background:transparent;box-shadow:none}
.gx__tile{position:relative;overflow:hidden;border-radius:16px;background:var(--indigo);transition:box-shadow var(--t-s)}
.gx__tile img,.gx__tile svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gx__tile::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(18,12,48,.78) 0,rgba(18,12,48,0) 52%)}
.gx__tile b{position:absolute;z-index:2;left:16px;bottom:14px;right:16px;color:var(--ivory);font:600 clamp(18px,1.6cqi,24px)/1.05 var(--font-g);letter-spacing:-.01em}
.gx__tile em{position:absolute;z-index:2;right:12px;top:12px;padding:5px 10px;border-radius:999px;background:rgba(250,248,242,.88);color:var(--indigo);font-size:11.5px;font-style:normal;font-weight:600}
.gx__tile.is-sel{box-shadow:inset 0 0 0 4px var(--lime)}
.gx__tile.is-sel::after{content:"Her pick";position:absolute;z-index:3;left:12px;top:12px;padding:5px 10px;border-radius:999px;background:var(--lime);color:var(--indigo);font:600 11.5px/1 var(--font-g)}
.gx__w figcaption h3{font:600 clamp(28px,2.7cqi,44px)/1 var(--font-g);letter-spacing:-.03em;color:var(--indigo);text-wrap:balance}
.gx__w figcaption p{margin-top:10px;max-width:34em;font-size:17px;line-height:1.45;color:var(--lav-ink);text-wrap:pretty}
.gx__pick{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:clamp(28px,3.4cqi,44px)}
.gx__pk{margin-right:6px;font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--lav-ink)}
.gx__pb{min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid rgba(27,18,69,.2);background:#fff;color:var(--indigo);font:600 15px/1 var(--font-g);cursor:pointer;transition:background-color var(--t-s),border-color var(--t-s)}
.gx__pb:hover{border-color:var(--indigo)}
.gx__pb[aria-pressed="true"]{background:var(--lime);border-color:var(--lime)}
.gx__note{margin-top:16px;font-size:13px;color:var(--lav-ink)}
.no-js .ga-s:not(.is-on){display:none}
.no-js .gx__ctrl{display:none}
.no-js .gx__world{gap:40px}
.no-js .gx__w{grid-area:auto}
@container site (max-width:1079.98px){
  .gx__stage{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:40px}
  .gx__dev{--pw:min(340px,100%)}
}
@container site (max-width:719.98px){
  .gx__ctrl{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:20px}
  .gx__ctrl button{min-height:48px;border-radius:15px;font-size:15px}
  .gx__stage{grid-template-columns:minmax(0,1fr);gap:32px}
  .gx__dev{--pw:min(300px,74cqi);padding-left:0}
  .gx__mrg{left:-20%;width:40%;bottom:-2%}
  .gx__wm{border-radius:18px}
  .gx__mosaic{gap:8px;aspect-ratio:1/1}
  .gx__tile b{left:12px;bottom:10px;font-size:16px}
  .gx__w figcaption h3{font-size:28px}
  .gx__w figcaption p{font-size:16px}
  .gx__pick{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--gutter) * -1);padding:4px var(--gutter) 8px;scrollbar-width:none}
  .gx__pick::-webkit-scrollbar{display:none}
  .gx__pb{flex:none}
}

/* 3 · Company thesis: the proof list becomes one short bet */
.tz-bet{grid-template-columns:minmax(0,3fr) minmax(0,9fr);align-items:baseline}
.tz-bet__t{max-width:26em;font-size:clamp(24px,2.5cqi,40px);line-height:1.15;font-weight:500;letter-spacing:-.025em;font-stretch:94%;text-wrap:balance}
@container site (max-width:1079.98px){.tz-bet{grid-template-columns:1fr}}

.gx__wmm{position:absolute;inset:0}
.gx__q{position:absolute;z-index:2;left:0;right:0;bottom:0;margin:0;padding:72px clamp(20px,2.6cqi,36px) clamp(20px,2.4cqi,32px);background:linear-gradient(0deg,rgba(18,12,48,.9) 0,rgba(18,12,48,.55) 55%,rgba(18,12,48,0) 100%);color:var(--ivory);font:600 clamp(22px,2.2cqi,34px)/1.15 var(--font-g);letter-spacing:-.02em;text-wrap:balance}
.ga-s[data-s="3"] .ga-g--sm{margin-top:auto}
@container site (max-width:719.98px){.gx__q{padding-top:48px;font-size:19px}}
.hero .hx__f--rev .hx__k{color:var(--lav-ink)}

/* Codex QA: readable hero composition when paused between timed beats. */
.motion-paused .hx__ch{visibility:hidden!important}
.motion-paused .hx__ch[data-hx-ch="2"]{visibility:visible!important}
.motion-paused .hx__g{display:none!important}
.motion-paused .hx__sum{display:flex!important}
@container site (max-width:719.98px){.motion-paused .hx__sum{display:flex!important}.motion-paused .hx__sum .hx__f:not(.hx__f--rev){display:none}}

.motion-paused .hx__ch[data-hx-ch="2"] .hx__w,.motion-paused .hx__ch[data-hx-ch="2"] .hx__s{opacity:1!important;transform:none!important;filter:none!important}


/* =====================================================================
   SITE POLISH · Mr. G app screens + contextual motion
   ===================================================================== */
.gx{overflow-anchor:none}
.gx__stage{overflow-anchor:none}
/* crossfade layers for Trail changes (sizes never change; old layer fades out over new) */
.sw{position:absolute;inset:0;display:block}
.sw>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.motion-ok .sw{transition:opacity 620ms var(--ease-out),transform 900ms var(--ease-out)}
.motion-ok .sw.is-in{opacity:0;transform:scale(1.04)}
.sw.is-out{opacity:0}
.motion-ok .is-tx{animation:gxTx 520ms var(--ease-out)}
@keyframes gxTx{from{opacity:0;transform:translateY(.35em)}to{opacity:1;transform:none}}
.ga-faces{position:relative;display:flex}
.ga-faces .sw{position:relative;inset:auto;display:flex}
.ga-faces .sw.is-out{position:absolute;left:0;top:0}
.ga-av{position:relative;display:block;flex:none;width:9.6cqi;height:9.6cqi;margin-left:-2.6cqi;border-radius:50%;overflow:hidden;border:.7cqi solid var(--ivory);background:var(--lavender)}
.ga-av:first-child{margin-left:0}
.ga-faces .ga-av img{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0;border-radius:0;object-fit:cover}

/* screens: every chapter fills the device, tab bar anchored */
.ga-s{gap:3cqi;padding:4.4cqi 4.6cqi 0}
.ga-s[data-s="3"]{padding-bottom:4.6cqi}
.ga-hd{display:flex;flex-direction:column;gap:1.2cqi}
.ga-hd .ga-sub{margin-top:0}
.ga-tab{flex:none;display:grid;grid-template-columns:repeat(4,1fr);margin:auto -4.6cqi 0;padding:2.6cqi 2cqi 5.4cqi;border-top:1px solid rgba(27,18,69,.1);background:#fff}
.ga-tab i{display:flex;flex-direction:column;align-items:center;gap:1.2cqi;font:600 2.9cqi/1 var(--font-g);font-style:normal;color:#8C84AE}
.ga-tab i::before{content:"";width:5.4cqi;height:5.4cqi;border-radius:1.8cqi;border:.55cqi solid currentColor}
.ga-tab i.is-on{color:var(--indigo)}
.ga-tab i.is-on::before{background:var(--lime);border-color:var(--indigo)}
.ga-s .ga-g{margin-top:0}
/* 01 · taste moodboard */
.ga-mood{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;gap:1.6cqi}
.ga-mood>span{position:relative;overflow:hidden;border-radius:4cqi;background:var(--indigo)}
.ga-mood>span img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ga-mood__a{grid-row:1/3}
.ga-mood__cap{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:1.2cqi;padding:12cqi 4cqi 3.8cqi;border-radius:0 0 4cqi 4cqi;background:linear-gradient(0deg,rgba(18,12,48,.9),rgba(18,12,48,0));pointer-events:none}
.ga-mood__cap b{font-size:6.2cqi;line-height:1.02;font-weight:600;letter-spacing:-.02em;color:var(--ivory)}
/* 02 · Trails grid */
.ga-grid{flex:1;min-height:0;grid-auto-rows:1fr}
.ga-tile{aspect-ratio:auto;min-height:0}
.ga-tile__k{position:absolute;z-index:2;left:2.6cqi;top:2.6cqi;padding:1cqi 2.2cqi;border-radius:999px;background:rgba(18,12,48,.72);color:var(--lime);font:600 2.7cqi/1 var(--font-g);letter-spacing:.04em}
.ga-tile__y{left:auto;right:2.6cqi;top:2.6cqi}
.ga-tile__t{display:flex;flex-direction:column;gap:.8cqi}
.ga-tile__t small{font-size:3cqi;font-weight:500;color:#E9E3F7}
.motion-ok .ga-tile img{transition:transform 700ms var(--ease-out)}
.ga-tile[aria-pressed="true"] img{transform:scale(1.05)}
/* 03 · her post */
.ga-post{flex:1;min-height:0;display:flex;flex-direction:column;border-radius:4.6cqi;background:#fff;color:var(--indigo);box-shadow:0 .8cqi 3cqi rgba(27,18,69,.12)}
.ga-post__u{display:flex;align-items:center;gap:2cqi;padding:2.6cqi 3cqi;font-size:3.6cqi}
.ga-me--s{width:7cqi;height:7cqi;border-width:.5cqi}
.ga-fmt{display:flex;gap:1cqi;margin-left:auto}
.ga-fmt i{padding:1cqi 2cqi;border-radius:999px;background:var(--lavender);font:600 2.8cqi/1 var(--font-g);font-style:normal}
.ga-fmt i.is-on{background:var(--indigo);color:var(--ivory)}
.ga-post__m{flex:1;min-height:0;aspect-ratio:auto;margin:0 2.4cqi;border-radius:3.4cqi;overflow:hidden;background:var(--indigo)}
.ga-post figcaption{padding:3cqi 3.6cqi 3.4cqi;font-size:4.1cqi;line-height:1.28;font-weight:600;color:var(--indigo)}
/* 04 · her world */
.ga-me3{display:flex;align-items:center;gap:3cqi}
.ga-me3__t{position:relative;flex:none;width:14cqi;height:14cqi;border-radius:3.6cqi;overflow:hidden;background:var(--indigo);box-shadow:0 0 0 .7cqi var(--lime)}
.ga-me3 .ga-title{font-size:6.6cqi}
.ga-me3 .ga-sub{margin-top:1cqi}
.ga-op{flex:1;min-height:0;display:flex;flex-direction:column;border-radius:4.6cqi;background:var(--indigo);color:var(--ivory);overflow:hidden}
.ga-op__m{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:1cqi}
.ga-op__m>span:not(.ga-op__pill){position:relative;overflow:hidden}
.ga-op__pill,.ga-op2__pill{position:absolute;z-index:3;left:2.6cqi;top:2.6cqi;padding:1cqi 2.2cqi;border-radius:999px;background:var(--lime);color:var(--indigo);font:600 2.7cqi/1 var(--font-g)}
.ga-op__t{display:flex;flex-direction:column;gap:.6cqi;padding:2.8cqi 3.4cqi 3.2cqi}
.ga-op__t b{font-size:4.1cqi}
.ga-op__t span{font-size:3.4cqi;color:#D9D2F2}
.ga-op2{position:relative;padding:2.6cqi 3.4cqi 2.6cqi 19cqi;border-radius:4cqi;background:#fff;box-shadow:0 .6cqi 2cqi rgba(27,18,69,.08)}
.ga-op2__pill{top:50%;left:3cqi;transform:translateY(-50%)}
.ga-op2 p{display:flex;flex-direction:column}
.ga-op2 b{font-size:3.9cqi}
.ga-op2 p span{font-size:3.3cqi;color:var(--lav-ink)}
.ga-grow{margin-top:-.6cqi}
.ga-next{font-size:3.4cqi}
/* world beside the device */
.gx__w figcaption{transition:none}
.motion-ok .gx__w figcaption{opacity:0;transform:translateY(10px);transition:opacity 500ms var(--ease-out),transform 600ms var(--ease-out)}
.motion-ok .gx__w.is-on figcaption{opacity:1;transform:none;transition-delay:220ms}
.gx__feat{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:repeat(3,minmax(0,1fr));gap:10px;background:transparent;box-shadow:none;overflow:visible}
.gx__tile.is-sel{grid-column:1;grid-row:1/4;order:-1}
.gx__tile b{display:flex;flex-direction:column;gap:4px}
.gx__tile b small{font:500 13px/1.2 var(--font-g);color:#E9E3F7}
.gx__tile:not(.is-sel) b{left:12px;right:12px;bottom:10px;font-size:15px}
.gx__tile:not(.is-sel) b small{display:none}
.gx__tile.is-sel b{font-size:clamp(22px,2cqi,30px)}
.motion-ok .gx__w.is-on .gx__tile{animation:gxTile 700ms var(--ease-out) both}
.motion-ok .gx__w.is-on .gx__tile:nth-child(2){animation-delay:60ms}
.motion-ok .gx__w.is-on .gx__tile:nth-child(3){animation-delay:120ms}
.motion-ok .gx__w.is-on .gx__tile:nth-child(4){animation-delay:180ms}
@keyframes gxTile{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.gx__q{display:flex;flex-direction:column;gap:14px}
.gx__qs{display:flex;align-items:center;gap:12px;font:500 15px/1.3 var(--font-g);letter-spacing:0;color:#E9E3F7}
.gx__q .ga-av{width:36px;height:36px;margin-left:-11px;border-width:2px;border-color:var(--indigo)}
.gx__q .ga-av:first-child{margin-left:0}
.gx__col{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:10px;background:transparent;box-shadow:none;overflow:visible}
.gx__col>span{position:relative;overflow:hidden;border-radius:18px;background:var(--indigo);box-shadow:0 24px 50px -30px rgba(27,18,69,.5)}
.gx__col-a{grid-row:1/3}
.gx__col-m{position:absolute;inset:0}
.gx__col-b::after,.gx__col-c::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(18,12,48,.86) 0,rgba(18,12,48,.2) 60%,rgba(18,12,48,0))}
.gx__col-v{position:absolute;z-index:2;left:14px;right:14px;bottom:12px;font:600 clamp(14px,1.15cqi,17px)/1.25 var(--font-g);color:var(--ivory);text-wrap:balance}
.gx__col em{position:absolute;z-index:2;left:12px;top:12px;padding:5px 10px;border-radius:999px;background:rgba(250,248,242,.92);color:var(--indigo);font:600 11.5px/1 var(--font-g);font-style:normal}
.gx__col-c em{position:static;align-self:flex-start;background:var(--lime)}
.gx__col-l{position:absolute;z-index:2;left:14px;right:14px;bottom:12px;display:flex;flex-direction:column;gap:3px;color:var(--ivory);font:500 13.5px/1.25 var(--font-g)}
.gx__col-l b{margin-top:6px;font-size:clamp(15px,1.2cqi,18px)}
.no-js .gx__w figcaption{opacity:1;transform:none}
@container site (max-width:1079.98px){
  .gx__col-v{font-size:13px}
  .gx__tile:not(.is-sel) b{font-size:13px}
}
@container site (max-width:719.98px){
  .gx__feat,.gx__col{gap:6px;aspect-ratio:1/1}
  .gx__col>span{border-radius:14px}
  .gx__col-v{left:10px;right:10px;bottom:9px;font-size:12.5px}
  .gx__col-l{left:10px;right:10px;bottom:9px;font-size:12px}
  .gx__col-l b{font-size:13.5px}
  .gx__col em{left:8px;top:8px;font-size:10.5px}
  .gx__tile:not(.is-sel) b{left:8px;right:8px;bottom:7px;font-size:12px}
  .gx__tile.is-sel b{font-size:19px}
  .gx__qs{font-size:13px}
  .gx__q .ga-av{width:30px;height:30px}
}
.ga-screens{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}
.gx__pb{white-space:nowrap}
.gx__mrg{left:-16%;bottom:-9%;width:36%}
.ga-squad p{font-size:3.3cqi}
@container site (max-width:1079.98px){.gx__mrg{bottom:-4%;width:30%;left:-12%}.gx__pick{margin-top:48px}}
@container site (max-width:719.98px){.gx__mrg{left:-16%;width:34%}}

/* HERO · site polish motion: line-masked words, one rule per headline, one spine per idea group */
.hx__rule{display:block;flex:none;width:56px;height:1px;margin-top:18px;background:var(--lime);will-change:clip-path}
.hero .hx__ch[data-hx-ch="1"] .hx__rule{background:var(--ivory)}
.hx__rule+.hx__s{margin-top:14px}
.hx__g,.hx__sum{position:relative}
.hx__spine{position:absolute;z-index:0;width:1px;background:linear-gradient(rgba(210,241,84,.85),rgba(210,241,84,.3));transform-origin:50% 0;pointer-events:none}
.hx__f{z-index:1}
.hx__m{transform-origin:50% 50%}
.hx__sum .hx__spine{opacity:.6}
.hx__w{will-change:transform}
@container site (max-width:719.98px){
  .hx__rule{width:40px;margin-top:12px}
}
.hx__rule{align-self:flex-end}
@container site (max-width:719.98px){.hx__rule{align-self:flex-start}}

/* Static fallback: no inactive controls or vertically stranded phone. */
.no-js .gx__stage{align-items:start}
.no-js .gx__pick,.no-js [data-gx-go]{display:none}
/* A pause can arrive during a masked word entrance; expose the settled frame. */
.motion-paused .hx__ch[data-hx-ch="2"] .hx__w,.motion-paused .hx__ch[data-hx-ch="2"] .hx__rule{clip-path:none!important;opacity:1!important}

/* HERO · founder refinement: one grouped overlay · neutral first fold (tag → index + rule → headline → subline → ideas) */
:root{--pink:#FF3B9D}
.hero .hx__head{width:min(31%,420px);align-items:flex-start;text-align:left}
.hero .hx__head::before{content:"";position:absolute;z-index:-1;inset:-56px -64px -48px -72px;background:radial-gradient(closest-side,rgba(10,8,6,.52),rgba(10,8,6,0));pointer-events:none}
.hero .hx__weave::before{content:none}
.hero .hx .hx__head .hx__weave{position:relative;inset:auto;width:100%;margin-top:26px}
.hero .hx__heads{margin-top:20px}
.hero .hx__t{font-size:clamp(36px,3.4cqi,56px);text-wrap:balance}
.hero .hx__t b{color:var(--ivory);vertical-align:1.9em}
.hero .hx__ch[data-hx-ch="1"] .hx__t{color:var(--ivory)}
.hx__w--pk{color:var(--ivory)}
.hero .hx__rule,.hero .hx__ch[data-hx-ch="1"] .hx__rule{align-self:flex-start;width:64px;height:2px;margin-top:18px;background:var(--ivory)}
.hero .hx__s{margin-top:12px}
.hero .hx__tag i{background:var(--ivory);box-shadow:0 0 0 3px rgba(250,248,242,.25)}
.hero .hx__f--her .hx__m{background:var(--ivory);box-shadow:0 0 0 3px rgba(250,248,242,.25)}
.hero .hx__f--prep .hx__m{background:linear-gradient(var(--ivory),var(--ivory)) center/100% 3px no-repeat,linear-gradient(var(--ivory),var(--ivory)) center/3px 100% no-repeat}
.hero .hx__f--rev .hx__m{background:var(--ivory);box-shadow:0 0 0 3px rgba(250,248,242,.3)}
.hero .hx__spine{background:linear-gradient(rgba(250,248,242,.9),rgba(250,248,242,.35))}
.hero .hx__g,.hero .hx__sum{gap:12px}
.hero .hx__f{font-size:clamp(17px,1.3cqi,20px)}
.hero .hx__f--rev{max-width:360px}
.hero .beat__bar i{background:var(--ivory)}
.hero .beat.is-active .beat__label b,.hero .beat.is-past .beat__label b{color:var(--ivory)}
@container site (max-width:1079.98px){
  .hero .hx__head{width:min(46%,400px)}
  .hero .hx__t{font-size:clamp(30px,4.2cqi,44px)}
}
@container site (max-width:719.98px){
  .hero .hx__head{left:20px;right:auto;width:min(76%,300px)}
  .hero .hx__head::before{inset:-24px -28px -20px -28px}
  .hero .hx__heads{margin-top:12px}
  .hero .hx__t{font-size:clamp(26px,7.8cqi,32px)}
  .hero .hx__rule,.hero .hx__ch[data-hx-ch="1"] .hx__rule{width:44px;margin-top:12px}
  .hero .hx .hx__head .hx__weave{width:100%;margin-top:16px;left:auto;right:auto;bottom:auto}
  .hero .hx__g,.hero .hx__sum{gap:8px}
  .hero .hx__f{font-size:15px}
}
.hero .hx__t b{font-size:13px;font-weight:700;letter-spacing:.14em;vertical-align:top;position:relative;top:.7em;margin-right:.6em}
@container site (max-width:719.98px){.hero .hx__t b{font-size:11px;top:.55em}}

/* Gold QA: readable creator portrait and complete mobile paused story. */
.ga-me{position:relative;flex:none}
.ga-me img{position:absolute;inset:auto;left:50%;top:50%;width:400%;height:auto;max-width:none;object-fit:initial;transform:translate(-36%,-30%)}
.g-next__k a{display:inline-flex;align-items:center;min-height:24px}
@container site (max-width:719.98px){
  .hero .hx[data-mode="settled"] .hx__sum .hx__f:not(.hx__f--rev){display:none}
  .hero .hx[data-mode="settled"] .hx__sum{display:flex}
  .hero .hx[data-mode="settled"] .hx__sum .hx__f--rev{font-size:14px;padding:10px 12px}
}

/* Narrow phones: long stakeholder invitations must not widen their grid cell. */
.prop__body{min-width:0}
@container site (max-width:719.98px){.prop__act .btn{max-width:100%;padding:12px 18px;white-space:normal;line-height:1.25;text-align:center}}

/* Perpetuum identity — multicolour woven fill, one entrance */
.perpetuum-logo{display:block;width:160px;height:auto;overflow:hidden}.footer__mark .perpetuum-logo{width:220px;max-width:100%}.perpetuum-band{--start:-2200px;--drift:90px}.perpetuum-band.b1{--start:2200px;--drift:-150px;animation-delay:100ms}.perpetuum-band.b2{--drift:210px;animation-delay:220ms}.perpetuum-band.b3{--start:2200px;--drift:-70px;animation-delay:60ms}.perpetuum-band.b4{--drift:160px;animation-delay:160ms}.motion-ok .perpetuum-band{animation-name:perpetuumWeave;animation-duration:6s;animation-timing-function:cubic-bezier(.22,.65,.3,1);animation-fill-mode:both}@keyframes perpetuumWeave{0%{transform:translateX(var(--start))}32%{transform:translateX(var(--drift))}62%,100%{transform:translateX(0)}}@media(max-width:380px){.brand .perpetuum-logo{width:135px}}@media(prefers-reduced-motion:reduce){.perpetuum-band{animation:none!important;transform:none!important}}

/* Lime punctuates the film-synchronised story: final word, index, signal and progress. */
.hero .hx__w--pk,.hero .hx__t b{color:var(--lime)}
.hero .hx__rule,.hero .hx__ch[data-hx-ch="1"] .hx__rule{background:var(--lime)}
.hero .hx__tag i{background:var(--lime);box-shadow:0 0 0 3px rgba(210,241,84,.18)}
.hero .beat__bar i{background:var(--lime)}
.hero .beat.is-active .beat__label b{color:var(--lime)}

.g-consumer-link{margin-top:32px}.g-consumer-link .btn{gap:20px}

/* Keep Mr. G beside the device, clear of the experience selector. */
.gx__mrg{bottom:0}
@container site (max-width:1079.98px){.gx__mrg{bottom:0}}

/* =====================================================================
   BOUNDED REFINEMENT · Mr. G app + section colour (Claude, 4 Oct 2026)
   Cream/ink section, selective lime. One Mr. G per screen, inside the app only.
   ===================================================================== */
.mrg{background:var(--paper);color:var(--ink)}
.mrg .status{background:var(--ink);color:var(--paper)}
.mrg .mx-title span{color:var(--muted)}
.mrg .mx-lede{color:var(--ink-2)}
.gx__ctrl{background:#fff;box-shadow:0 0 0 1px var(--line),0 12px 30px -18px rgba(21,19,15,.3)}
.gx__ctrl button{color:var(--ink)}
.gx__ctrl button b{color:var(--muted-2)}
.gx__ctrl button:hover{background:var(--paper-2)}
.gx__ctrl button[aria-selected="true"]{background:var(--ink);color:var(--paper)}
.gx__ctrl button[aria-selected="true"] b{color:var(--lime)}
.gx__w figcaption h3{color:var(--ink)}
.gx__w figcaption p,.gx__pk,.gx__note{color:var(--muted)}
.gx__pb{border-color:var(--line);color:var(--ink)}
.gx__pb:hover{border-color:var(--ink)}
.gx__pb[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.gx__wm,.gx__col>span,.gx__tile{background:var(--ink);box-shadow:none}
.gx__wm{box-shadow:0 24px 48px -32px rgba(21,19,15,.45)}
.gx__tile.is-sel::after{color:var(--ink)}
.gx__tile::before,.gx__col-a::after,.gx__col-b::after,.gx__col-c::after{background:linear-gradient(0deg,rgba(21,19,15,.84) 0,rgba(21,19,15,.18) 58%,rgba(21,19,15,0))}
.gx__col-a::after{content:"";position:absolute;inset:0;z-index:1}
.gx__col-a .gx__col-v{font-size:clamp(17px,1.5cqi,22px)}
.gx__q{background:linear-gradient(0deg,rgba(21,19,15,.9) 0,rgba(21,19,15,.5) 60%,rgba(21,19,15,0))}
.gx__q .ga-av{border-color:var(--ink)}
.gx__col em{color:var(--ink)}
.gx__aud{display:flex;flex-direction:column;justify-content:flex-end;gap:12px;padding:16px;background:#fff!important;box-shadow:0 0 0 1px var(--line)!important}
.gx__aud::after{display:none}
.gx__aud .ga-faces .ga-av{width:58px;height:58px;margin-left:-12px;border:2.5px solid #fff;background:var(--paper-2)}
.gx__aud .ga-faces .ga-av:first-child{margin-left:0}
.gx__aud em{background:var(--paper-2)}
.gx__aud-t{font:600 clamp(15px,1.25cqi,19px)/1.25 var(--font-g);color:var(--ink);text-wrap:balance}
.gx__dev{padding-left:0}
.gx__mrg{display:none}

/* device: slim bezel, one soft shadow */
.gx .phone__frame{padding:1.7cqi;border-radius:14.6cqi;background:#1B1916;box-shadow:inset 0 0 0 .3cqi rgba(255,255,255,.14),0 1px 2px rgba(21,19,15,.18),0 30px 60px -30px rgba(21,19,15,.45)}
.gx .phone__frame::before,.gx .phone__frame::after{left:-.45cqi;width:.55cqi;background:#2A2723}
.gx .phone__frame::after{left:auto;right:-.45cqi}
.gx .phone__screen{border-radius:13cqi}
.gx .phone__screen::after{display:none}

/* app: ink chrome, ivory surfaces, lime only for her choices and Mr. G's mark */
.gx .ga{color:var(--ink);font-size:4.2cqi}
.gx .ga-top{background:var(--ink);padding-bottom:3cqi}
.gx .ga-s{gap:2.8cqi}
.gx .ga-title{font-size:7cqi}
.gx .ga-sub{font-size:3.7cqi;color:var(--muted)}
.gx .ga-h{color:var(--muted)}
.gx .ga-tags li,.gx .ga-fmt i{background:var(--paper-2)}
.gx .ga-fmt i{font-size:3.2cqi}
.gx .ga-fmt i.is-on{background:var(--ink);color:var(--paper)}
.gx .ga-g{background:var(--ink);color:var(--ivory);grid-template-columns:9cqi minmax(0,1fr) auto}
.gx .ga-g--sm{grid-template-columns:9cqi minmax(0,1fr)}
.gx .ga-g p{font-size:3.9cqi}
.gx .ga-g b{font-size:3.3cqi}
.gx .ga-btn{min-height:11cqi;padding:0 4.4cqi;background:var(--lime);color:var(--ink);font-size:3.8cqi}
.gx .ga-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 4px var(--lime)}
.gx .ga-tile{background:var(--ink)}
.gx .ga-tile__k{background:rgba(21,19,15,.74);font-size:3.2cqi}
.gx .ga-tile__y{color:var(--ink);font-size:3.2cqi}
.gx .ga-tile__t small{font-size:3.4cqi;color:#EDE6D8}
.gx .ga-tile:focus-visible{outline:3px solid var(--ink)}
.gx .ga-post{box-shadow:0 0 0 1px var(--line)}
.gx .ga-post__u{font-size:3.8cqi}
.gx .ga-post figcaption{color:var(--ink);font-size:4.2cqi}
.gx .ga-post__m{background:var(--ink)}
.gx .ga-squad p{font-size:3.6cqi}
.gx .ga-squad p span{color:var(--muted)}
.gx .ga-av{border-color:var(--ivory);background:var(--paper-2)}
/* Mr. G: a face, never a second full mascot */
.gx .ga-gav{position:relative;display:block;flex:none;width:9cqi;height:9cqi;border-radius:50%;overflow:hidden;background:var(--ink);box-shadow:0 0 0 .55cqi var(--lime)}
.gx .ga-gav img,.gx .ga-g .ga-gav img{position:absolute;left:50%;top:50%;width:330%;height:auto;max-width:none;object-fit:initial;transform:translate(-58.5%,-29.6%)}
/* icon tab bar */
.gx .ga-tab{padding:2.4cqi 2cqi 5.6cqi;border-top:1px solid var(--line);background:#fff}
.gx .ga-tab i{gap:1cqi;font-size:3.2cqi;color:var(--muted-2)}
.gx .ga-tab i::before{display:none}
.gx .ga-tab svg{width:9.4cqi;height:6.6cqi;padding:.6cqi 0;border-radius:999px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.gx .ga-tab i.is-on{color:var(--ink)}
.gx .ga-tab i.is-on svg{background:var(--lime)}
/* 01 · her intention + his first draft */
.ga-strip{flex:1 1 17cqi;min-height:17cqi;max-height:44cqi;display:grid;grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:1.4cqi}
.ga-strip span:first-child{grid-row:1/3}
.ga-strip span:last-child{grid-column:2/4}
.ga-strip span{position:relative;overflow:hidden;border-radius:3cqi;background:var(--ink)}
.ga-strip img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ga-say{display:grid;grid-template-columns:9cqi minmax(0,1fr);gap:2.4cqi;align-items:start}
.gx .ga-say .ga-me--s{width:9cqi;height:9cqi;border-width:.55cqi}
.ga-say p{font-size:4cqi;line-height:1.32}
.ga-say b{display:block;margin-bottom:.8cqi;font-size:3.3cqi;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ga-say--her>p{padding:2.6cqi 3.4cqi 3cqi;border-radius:1.2cqi 4.4cqi 4.4cqi 4.4cqi;background:#fff;box-shadow:0 0 0 1px var(--line)}
.ga-say--g>div{padding:2.8cqi 3.4cqi 3.2cqi;border-radius:1.2cqi 4.4cqi 4.4cqi 4.4cqi;background:var(--ink);color:var(--ivory)}
.ga-say--g b{color:var(--lime)}
.ga-draft{display:grid;gap:0;margin:2cqi 0 0;padding:0;list-style:none}
.ga-draft li{display:grid;grid-template-columns:13cqi minmax(0,1fr);gap:2cqi;padding:1.5cqi 0;border-top:1px solid rgba(250,248,242,.16);font-size:3.8cqi;line-height:1.25}
.ga-draft i{font-style:normal;font-size:3.4cqi;color:#CFC6B6}
.ga-act{display:flex;align-items:center;justify-content:space-between;gap:2.4cqi;margin-top:auto}
.ga-act p{font-size:3.7cqi;line-height:1.25;color:var(--muted)}
.gx .ga-s[data-s="0"] .ga-tab{margin-top:2.6cqi}
/* 04 · her practice, widening */
.gx .ga-s[data-s="3"]{padding-bottom:0}
.gx .ga-me3 .ga-title{font-size:6.6cqi}
.ga-pr{display:grid;gap:1.6cqi;margin:0;padding:0;list-style:none}
.ga-pr li{display:grid;grid-template-columns:21cqi minmax(0,1fr);gap:3cqi;align-items:center;padding:2.2cqi 2.8cqi;border-radius:4cqi;background:#fff;box-shadow:0 0 0 1px var(--line)}
.ga-pr b{display:block;font-size:3.9cqi;line-height:1.2}
.ga-pr p span{display:block;margin-top:.6cqi;font-size:3.5cqi;line-height:1.3;color:var(--muted)}
.ga-pr__i,.ga-pr__m{position:relative;width:21cqi;height:12cqi;border-radius:2.8cqi;overflow:hidden}
.ga-pr__i{display:grid;place-items:center;background:var(--lime);color:var(--ink)}
.ga-pr__i svg{width:7.4cqi;height:7.4cqi;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ga-pr__m{background:var(--ink)}
.ga-pr .ga-av{width:8.6cqi;height:8.6cqi;margin-left:-2.6cqi}
.ga-pr .ga-av:first-child{margin-left:0}
.ga-co{display:grid;gap:1.6cqi;padding:2.8cqi 3.4cqi 3cqi;border-radius:4cqi;background:var(--ink);color:var(--ivory)}
.ga-co__k{display:flex;align-items:center;justify-content:space-between;gap:2cqi;font-size:3.3cqi;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#CFC6B6}
.ga-co__k em{flex:none;padding:1cqi 2.4cqi;border-radius:999px;background:var(--lime);color:var(--ink);font-style:normal;letter-spacing:.02em;text-transform:none}
.ga-co__r{display:flex;flex-direction:column;gap:.4cqi;padding-top:1.6cqi;border-top:1px solid rgba(250,248,242,.16)}
.ga-co__r b{font-size:3.9cqi;line-height:1.2}
.ga-co__r span{font-size:3.5cqi;color:#CFC6B6}
.gx .ga-s[data-s="3"] .ga-g--sm{margin-top:0}
/* mobile: a larger device so the smallest app text stays ≈11px+ */
@container site (max-width:719.98px){
  .gx__dev{--pw:min(352px,100%)}
  .gx__wm{aspect-ratio:5/4}
  .gx__aud{padding:10px;gap:8px}
  .gx__aud .ga-faces .ga-av{width:34px;height:34px;margin-left:-9px}
  .gx__aud-t{font-size:13px}
  .gx__col-a .gx__col-v{font-size:13.5px}
}

/* legibility floor: smallest app text ≈ 3.6cqi (≈10.7px on a 390px phone, ≈12px on desktop) */
.gx .ga-tab i{font-size:3.6cqi}
.gx .ga-tile__k,.gx .ga-tile__y{font-size:3.5cqi}
.gx .ga-tile__t small{font-size:3.6cqi}
.gx .ga-fmt i{font-size:3.5cqi}
.ga-say b,.gx .ga-g b{font-size:3.6cqi}
.ga-draft i{font-size:3.6cqi}
.ga-draft li{font-size:3.9cqi}
.ga-co__k{font-size:3.5cqi}
.ga-pr p span,.ga-co__r span{font-size:3.7cqi}
.gx .ga-sub{font-size:3.8cqi}
.gx .ga-squad p{font-size:3.8cqi}
