/* ==========================================================================
   VLGE site · default page layouts in the deck's style
   Every selector here is a class the live page already uses. A direction
   overrides layout and motion on top of these; it never needs new markup.
   ========================================================================== */

/* ---------- shared section grammar ---------- */
main>section,body>section,.info,.press{padding-block:var(--sec)}
.sechead{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:end;margin-bottom:clamp(36px,5vw,72px)}
.sechead__l{grid-column:1/span 6;display:flex;flex-direction:column;gap:22px}
.sechead__r{grid-column:8/span 5}
.sechead__r p{font-size:var(--t-small);line-height:1.62}
.sechead__r p+p{margin-top:14px}
section>.u-kicker,.wrap>.u-kicker,[class$="__head"]>.u-kicker,.lead .u-kicker{margin-bottom:22px}
[class$="__head"]>p:not(.u-kicker){margin-top:20px;max-width:46em}
.close{text-align:left}
.close h2{font-size:var(--t-h1);max-width:16em}
.close .row{margin-top:40px}

/* ---------- HOME ---------- */
.pg-home .scene{height:100svh;min-height:620px;position:relative}
.pg-home .pin{position:absolute;inset:0;overflow:hidden}
.pg-home .layer{position:absolute;inset:0}
.pg-home #fx{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.pg-home .paper-fade{position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(98deg,var(--bg) 6%,color-mix(in srgb,var(--bg) 72%,transparent) 30%,transparent 58%),linear-gradient(0deg,var(--bg),transparent 26%),linear-gradient(180deg,color-mix(in srgb,var(--bg) 82%,transparent),transparent 30%)}
.pg-home .kick{position:absolute;z-index:6;left:var(--m);top:calc(var(--nav-h) + clamp(28px,6vh,72px))}
.pg-home .sessions{position:absolute;z-index:6;right:var(--m);top:calc(var(--nav-h) + clamp(22px,5.4vh,66px));text-align:right}
.sessions__n{font-size:clamp(24px,2.2vw,36px);font-weight:500;font-variation-settings:"wdth" 112;letter-spacing:-.01em;color:var(--ink);font-variant-numeric:tabular-nums}
.sessions__l{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.1em;color:var(--ink-2);margin-top:6px}
/* the first screen (Evelyn, 2026-10-15): the deck's slogan alone over the world (Sienna, 16 Oct);
   the hint sits up under the counter */
.pg-home .hero-copy{position:absolute;z-index:6;left:var(--m);right:var(--m);top:57%;transform:translateY(-50%)}   /* a little below centre (Sienna, 16 Oct) */   /* centred on the first screen (Sienna, 16 Oct) */
.pg-home .hero-copy h1{font-size:var(--type-1);line-height:1.02;font-variation-settings:"wdth" 110;letter-spacing:-.026em;max-width:12.2em}
.pg-home .hint{position:absolute;z-index:6;right:var(--m);top:calc(var(--nav-h) + clamp(22px,5.4vh,66px) + 92px);display:flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.08em;color:var(--ink-2);transition:opacity .6s}
.pg-home .hint,.pg-home .sessions__l{text-shadow:0 1px 12px rgba(9,7,11,.7)}
.hint .ring{width:11px;height:11px;border:1.5px solid var(--lilac);border-radius:50%}
.scrollcue{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:20;font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);transition:opacity .4s;pointer-events:none}
.pg-home .info-inner{max-width:calc(var(--maxw) + 2*var(--m));margin:0 auto;padding-inline:var(--m)}
.info-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:start}
.info-head>div:first-child{grid-column:1/span 6;display:flex;flex-direction:column;gap:20px}
.info-head__media{grid-column:8/span 5;position:sticky;top:calc(var(--nav-h) + 40px)}
.pg-home .info-head{grid-template-columns:1fr}
.pg-home .info-head>div:first-child{grid-column:1/-1}
/* the deck's summary figure (Sienna, 16 Oct): "We have" and "We train" with the deck's rows and
   icons, joined by the site's thread lines instead of the deck's node graph */
.haves{display:grid;grid-template-columns:max-content minmax(160px,1fr) max-content;margin:clamp(20px,3vw,44px) 0 clamp(28px,3.5vw,52px)}   /* the boxes hug their rows; the threads take the rest */
.haves__col{--px:clamp(16px,1.5vw,26px);padding:clamp(18px,1.8vw,26px) var(--px) var(--px);border:1px solid var(--line-2);border-radius:16px;
  background:var(--card);-webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15)}
.haves__col h3{font-family:var(--f-mono);font-size:var(--t-label);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.haves__col--have h3{color:var(--lilac)}
.haves__col ul{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.haves__col li{display:flex;align-items:center;gap:18px;padding:16px 18px;border-radius:10px;background:var(--bg-3)}
.haves__col li>a{display:flex;align-items:center;gap:18px;flex:1;color:inherit}   /* a row jumps to its step */
.haves__col li:has(>a){transition:background .2s}.haves__col li:has(>a):hover{background:var(--bg-4)}
.haves__col--train ul{height:calc(100% - 32px);justify-content:space-between}
.haves__col--train li{flex:1}
.haves__col svg{flex:none;width:34px;height:34px;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;stroke:var(--ink)}
.haves__col--have svg{stroke:var(--lilac)}
.haves__col b{display:block;font-size:clamp(15px,1.15vw,18px);font-weight:600;line-height:1.25;color:var(--ink)}
.haves__col--train b{letter-spacing:.06em}
.haves__col--have li span{max-width:33ch;text-wrap:pretty}
.haves__col li span{display:block;margin-top:3px;font-size:clamp(13.5px,.95vw,15px);line-height:1.35;color:var(--ink-2)}
.haves__link{position:relative;min-height:160px}
.haves__link canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
/* the settle, alongside the drawing: boxes move in, threads narrow (3.1 s) */
.haves__col,.haves__link canvas{transition:transform 3.1s cubic-bezier(.45,0,.25,1)}
.haves.is-settled .haves__col--have{transform:translateX(var(--settle))}
.haves.is-settled .haves__col--train{transform:translateX(calc(-1 * var(--settle)))}
.haves.is-settled .haves__link canvas{transform:scale(var(--settle-x),.72)}
@media (max-width:1100px){.haves{grid-template-columns:minmax(0,1fr) minmax(130px,.62fr) minmax(0,1fr)}}
@media (max-width:860px){
  .haves{grid-template-columns:1fr}
  .haves__link{min-height:130px}
  .haves__col--train ul{height:auto}
}
.pronounce{display:flex;align-items:baseline;gap:14px;font-family:var(--f-mono);font-size:14px;color:var(--ink-2)}
.pronounce .pw{font-family:var(--f-sans);font-size:26px;font-weight:500;font-variation-settings:"wdth" 110;color:var(--ink)}
.pronounce .ipa{font-family:var(--f-math);font-size:19px;font-style:italic;color:var(--ink-2)}
.pronounce .say{color:var(--lilac)}
.info h2.lede{font-size:var(--type-2);line-height:1.06;color:var(--ink);max-width:none;margin-block:8px 10px}
p.manifesto{font-size:var(--t-body);line-height:1.66;max-width:38em}
.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);margin-top:clamp(64px,9vw,128px)}
.pillar{border-top:1px solid var(--line-2);padding-top:22px}
.pillar h3{font-size:var(--t-h3);margin-bottom:14px}
.pillar h3 a{display:inline-flex;gap:8px;transition:color .2s}
.pillar h3 a:hover{color:var(--lilac)}
.pillar p{font-size:var(--t-small);line-height:1.6}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin-top:clamp(64px,9vw,128px);border-top:1px solid var(--line);padding-top:clamp(28px,3vw,44px)}
.stat .n{display:block;font-size:clamp(56px,8vw,140px);line-height:.92;font-weight:400;font-variation-settings:"wdth" 112;letter-spacing:-.04em;color:var(--ink);font-variant-numeric:tabular-nums}
.stat .l{display:block;margin-top:14px;font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.stats-note{margin-top:22px;font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.1em;color:var(--ink-3)}
.domains{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.domains a{border:1px solid var(--line-3);border-radius:999px;padding:12px 18px 11px;color:var(--ink);transition:background .25s,border-color .25s,color .25s}
.domains a:hover{border-color:var(--lilac);color:var(--lilac-hi)}
.domains a[style]{background:var(--bone);color:var(--on-bone)!important;border-color:var(--bone)!important}
.press{border-top:1px solid var(--line)}
.press__wrap{max-width:calc(var(--maxw) + 2*var(--m));margin:0 auto;padding-inline:var(--m);display:flex;flex-direction:column;gap:28px}
.press__l{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.press__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px 40px}
.press__row img{height:22px;width:auto;opacity:var(--logo-a,.6);transition:opacity .25s}
/* press and partners in one tone (Sienna, 16 Oct): every mark flattened to white, then one opacity */
.press{--logo-a:.6}
.tone-dark .press__row img{filter:brightness(0) invert(1)}
.press__row img:hover{opacity:1}
/* Partners, above the press row (Sienna, 16 Oct): marks with their names, a rule between the two groups */
.press__group--partners{display:flex;flex-direction:column;gap:28px;padding-bottom:clamp(32px,3.6vw,48px);border-bottom:1px solid var(--line)}
.press .press__partners{display:flex;flex-wrap:wrap;align-items:center;gap:24px clamp(40px,6vw,96px);margin:0;padding:0;border:0;list-style:none;opacity:var(--logo-a,.6)}
.press .press__partners svg{fill:#fff}.press .press__partners span{color:#fff}.press .press__partners img{filter:brightness(0) invert(1)}
.press__partners li{display:flex;align-items:center;gap:10px}
.press .press__partners svg,.press .press__partners img{width:24px;height:24px}
.press .press__partners span{font-size:clamp(16px,1.25vw,19px);font-weight:500;letter-spacing:-.005em}
.press__partners li{transition:opacity 1.1s cubic-bezier(.2,.7,.1,1) calc(var(--i) * .16s),transform 1.1s cubic-bezier(.2,.7,.1,1) calc(var(--i) * .16s),filter 1.1s ease calc(var(--i) * .16s)}

/* ---------- the wall of worlds (Evelyn, 2026-10-15: show the worlds) ----------
   headed by the hero's own heading and line; the films loop muted (core/worlds.js) */
.worlds__wrap{max-width:calc(var(--maxw) + 2*var(--m));margin:0 auto;padding-inline:var(--m);container-type:inline-size}
.worlds__head{display:flex;flex-direction:column;gap:22px;margin-bottom:clamp(36px,4.6vw,72px)}
.worlds__head h2{font-size:var(--type-2);line-height:1.05;font-variation-settings:"wdth" 110;letter-spacing:-.026em;max-width:13em}
.worlds__head p{font-size:var(--type-3);color:var(--ink-2)}
.worlds__head p .hl{color:var(--lilac);font-weight:600}
.worlds__head .worlds__line{max-width:34em}
/* the passage as level 3 in Tidy, as body text in the other versions */
[data-home="min"] .worlds__head .worlds__line,[data-home="diagrams"] .worlds__head .worlds__line{max-width:40em;font-size:var(--t-body);line-height:1.66}
/* one screen: 6 columns x 3 rows, the big tile 2 x 2; every row is 16:9 of a column, so every
   tile is a whole 16:9 frame and no film is cut down to a strip (Sienna, 16 Oct) */
.worlds__wall{--g:clamp(6px,.7vw,12px);--c:6;display:grid;grid-template-columns:repeat(var(--c),minmax(0,1fr));grid-auto-flow:row dense;gap:var(--g);
  grid-auto-rows:calc((min(100vw,var(--maxw) + 2*var(--m)) - 2*var(--m) - (var(--c) - 1)*var(--g)) / var(--c) * 9 / 16);
  grid-auto-rows:calc((100cqw - (var(--c) - 1)*var(--g)) / var(--c) * 9 / 16)}
.worlds__wall .w{position:relative;overflow:hidden;border-radius:8px;background:var(--bg-3)}
.worlds__wall .big{grid-column:span 2;grid-row:span 2}
.worlds__wall video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.worlds__wall .alt video{opacity:0;transition:opacity .6s}          /* two films in turn, as on the deck */
.worlds__wall .alt video.on{opacity:1}
.worlds__wall figcaption{position:absolute;left:0;right:0;bottom:0;padding:20px 10px 7px;font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#F4EEF2;
  background:linear-gradient(180deg,rgba(9,7,11,0),rgba(9,7,11,.62));pointer-events:none}
/* a slot waits for its film (the Niantic warehouse captures); the placeholder is the deck's */
.worlds__wall .slot video{opacity:0;transition:opacity .4s}
.worlds__wall .slot.has-media video{opacity:1}
.worlds__wall .slot figcaption{display:none}
.worlds__wall .slot.has-media figcaption{display:block}
.slot .ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:12px;text-align:center;
  border:1.5px dashed var(--lilac);border-radius:inherit;background:repeating-linear-gradient(135deg,var(--lilac-a06) 0 14px,transparent 14px 28px),var(--bg-2)}
.slot.has-media .ph{display:none}
.slot .ph i{font-style:normal;font-family:var(--f-mono);font-size:10px;font-weight:600;letter-spacing:.16em;color:var(--on-lilac);background:var(--lilac);padding:5px 9px;border-radius:4px}
.slot .ph b{font-size:clamp(14px,1.15vw,18px);font-weight:500;font-variation-settings:"wdth" 106;color:var(--ink);letter-spacing:-.005em;line-height:1.25}
.slot.big .ph b{font-size:clamp(18px,1.8vw,28px)}
.slot .ph small{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;color:var(--ink-3)}
@media (min-width:701px) and (max-width:1000px){.worlds__wall{--c:3}}
@media (max-width:700px){
  .worlds__wall{--c:2;grid-auto-rows:calc((100vw - 2*var(--m) - var(--g)) / 2 * 9 / 16);grid-auto-rows:calc((100cqw - var(--g)) / 2 * 9 / 16)}
  .worlds__wall figcaption{padding:20px 9px 7px;font-size:9.5px}
  .slot .ph{gap:6px;padding:8px}
  .slot .ph b{font-size:13px}
  .slot:not(.big) .ph small{display:none}
}

/* ---------- BENCHMARKS ---------- */
.pg-benchmarks .hero{padding-top:calc(var(--nav-h) + clamp(80px,16vh,180px))}
.pg-benchmarks .hero h1{font-size:var(--t-display);margin-top:26px;max-width:12em}
.pg-benchmarks .hero .lede{margin-top:30px}
.pg-benchmarks .hero .lede em{color:var(--lilac)}
.ask{text-align:center}
.m-eval{position:relative;width:min(1120px,100%);height:clamp(200px,24vw,330px);margin:clamp(40px,5vw,72px) auto 0}
.m-eval canvas{position:absolute;inset:0;width:100%;height:100%}
.m-eval--frame{border:1px solid var(--line-2);border-radius:20px;background:var(--bg-2);padding:0;overflow:hidden}
.m-eval--frame canvas{inset:18px 24px;width:calc(100% - 48px);height:calc(100% - 36px)}
.ask .wrap p{font-size:var(--t-h2);line-height:1.08;font-weight:500;font-variation-settings:"wdth" 110;letter-spacing:-.02em;color:var(--ink);max-width:18em;margin-inline:auto;text-wrap:balance}
.diagram__head{max-width:56em;margin-bottom:clamp(32px,4vw,56px)}
.diagram__head h2 span{display:block}
.diagram__frame{border:1px solid var(--line);border-radius:18px;padding:clamp(16px,3vw,40px);background:var(--card);overflow-x:auto}
.bmd{width:100%;height:auto;min-width:660px}
.bmd-box{fill:var(--bg-2);stroke:var(--line-3);stroke-width:1.2}
.bmd-h{font-family:var(--f-sans);font-weight:500;font-size:21px;fill:var(--ink);font-variation-settings:"wdth" 106}
.bmd-f{font-family:var(--f-sans);font-size:18px;fill:var(--ink-2)}
.bmd-k{font-family:var(--f-mono);font-size:13px;fill:var(--ink-2)}
.bmd-strong{font-family:var(--f-mono);font-size:13px;font-weight:600;fill:var(--lilac)}
.bmd-dim{font-family:var(--f-mono);font-size:13px;fill:var(--orange)}
.bmd-cap{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;fill:var(--ink-2)}
.bmd-cap:last-of-type{font-family:var(--f-math);font-style:italic;font-size:16px;letter-spacing:0;fill:var(--ink)}
.bmd-lbl{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;fill:var(--orange)}
.bmd-ln{fill:none;stroke:var(--lilac);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.bmd-ln--dim{stroke:var(--orange);stroke-dasharray:5 4}
.bmd-curve{fill:var(--lilac-a12);stroke:var(--lilac);stroke-width:2}
.bmd-curve--dim{fill:var(--orange-a12);stroke:var(--orange);stroke-dasharray:5 4}
.bmd-base{stroke:var(--line-3);stroke-width:1}
#bmd-ah path{fill:var(--lilac)}
#bmd-ah-dim path{fill:var(--orange)}
.bmd-anim .bmd-box{opacity:0;transform:translateY(10px);transform-box:fill-box;transition:opacity .6s var(--ease) var(--bd,0s),transform .8s var(--ease) var(--bd,0s)}
.bmd-anim .bmd-text{opacity:0;transition:opacity .5s var(--ease) .25s}
.bmd-anim .bmd-draw{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:stroke-dashoffset 1.2s var(--ease-io) var(--bd,0s)}
.bmd-anim .bmd-fade{opacity:0;transition:opacity .7s var(--ease) var(--bd,0s)}
.bmd-anim .bmd-fill{fill-opacity:0}
.bmd-anim .bmd-draw.bmd-fill{transition:stroke-dashoffset 1.2s var(--ease-io) var(--bd,0s),fill-opacity .8s ease calc(var(--bd,0s) + .9s)}
.bmd-anim .bmd-fade.bmd-fill{transition:opacity .7s var(--ease) var(--bd,0s),fill-opacity .8s ease calc(var(--bd,0s) + .5s)}
.bmd-anim .bmd-grow{transform:scaleX(0);transform-box:fill-box;transform-origin:left center;transition:transform 1s var(--ease-io) var(--bd,0s)}
.bmd-anim .bmd-open{transform:scaleX(0);transform-box:fill-box;transform-origin:center;transition:transform .8s var(--ease-io) var(--bd,0s)}
.bmd-anim.is-on .bmd-box,.bmd-anim.is-on .bmd-text,.bmd-anim.is-on .bmd-fade{opacity:1;transform:none}
.bmd-anim.is-on .bmd-draw{stroke-dashoffset:0}
.bmd-anim.is-on .bmd-fill{fill-opacity:1}
.bmd-anim.is-on .bmd-grow,.bmd-anim.is-on .bmd-open{transform:none}
.bmd-packet{fill:var(--orange);opacity:0;transition:opacity .4s ease}
.bmd-packet-halo{fill:var(--orange);opacity:0;fill-opacity:.18;transition:opacity .4s ease}
.diagram__note{margin-top:18px;font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.06em;color:var(--ink-2)}

/* ---------- REAL ESTATE ---------- */
.pg-real-estate .intro{padding-top:calc(var(--nav-h) + clamp(80px,16vh,180px))}
.pg-real-estate .intro h1{font-size:var(--t-display);margin-top:26px;max-width:13em}
.pg-real-estate .intro .lede{margin-top:30px}
.how h2{max-width:22em;margin-bottom:clamp(36px,5vw,64px)}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.step .media{aspect-ratio:4/3;border-radius:12px;background-size:cover;background-position:center;margin-bottom:22px;background-color:var(--bg-3)}
.step .n,.ic .v,.mod .k,.steps__no,.use__no,.item__meta,.app .tag,.dstream .no,.dcard summary>span,.bench__grid span,.layers span{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--lilac)}
.step h3{margin:10px 0 12px}
.step p{font-size:var(--t-small)}
.pf__row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:center}
.pf__copy{grid-column:1/span 5;display:flex;flex-direction:column;gap:22px}
.pf__viz{grid-column:7/span 6;border-radius:16px;overflow:hidden;background:var(--bg-3)}
.pf__viz video{width:100%;height:auto}
.pf__note{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.06em;color:var(--ink-2)}
.impact h2{max-width:20em;margin-bottom:clamp(36px,5vw,64px)}
.impact__split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:stretch}
.impact__viz{grid-column:1/span 6;position:relative;border-radius:16px;overflow:hidden;min-height:420px;background:var(--bg-2);border:1px solid var(--line)}
.impact__viz canvas{position:absolute;inset:0;width:100%;height:100%}
.vtag{position:absolute;left:16px;bottom:14px;font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.08em;color:var(--ink-2)}
.impact__grid{grid-column:7/span 6;display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.ic{border-top:1px solid var(--line-2);padding-top:18px}
.ic h4{margin:10px 0 8px}
.ic p{font-size:var(--t-small)}
.ic .spark{margin-top:14px;height:34px}
.ic .spark svg{width:100%;height:100%}
.ic .spark path,.ic .spark polyline{stroke:var(--lilac);fill:none}
.data .lead{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:end;margin-bottom:clamp(36px,5vw,64px)}
.data .lead>div{grid-column:1/span 6}
.data .lead>p{grid-column:8/span 5;font-size:var(--t-small)}
.data__split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap)}
.mods{grid-column:1/span 6;display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.mod{border-top:1px solid var(--line-2);padding-top:18px}
.mod .hd{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}
.mod .k span{color:var(--ink-3)}
.mod p{font-size:var(--t-small)}
.mod .sig{margin-top:12px;height:30px}
.mod .sig svg{width:100%;height:100%}
.trailplan{grid-column:7/span 6;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--bg-2);display:flex;flex-direction:column}
.tp__cv{position:relative;flex:1;min-height:360px}
.tp__cv canvas{position:absolute;inset:0;width:100%;height:100%}
.fp{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.fp>span{padding:14px 16px;display:flex;flex-direction:column;gap:6px;border-left:1px solid var(--line)}
.fp>span:first-child{border-left:0}
.fp .k{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.fp .v{font-size:20px;font-weight:500;font-variation-settings:"wdth" 110;color:var(--ink);font-variant-numeric:tabular-nums}

/* ---------- RETAIL ---------- */
.pg-retail .hero{padding-top:calc(var(--nav-h) + clamp(80px,16vh,180px))}
.pg-retail .hero h1{font-size:var(--t-display);margin-top:26px;max-width:14em}
.pg-retail .hero .lede{margin-top:30px}
.pg-retail .hero .lede--sub{font-size:var(--t-body);margin-top:14px;color:var(--ink-2)}
.field__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;border-radius:14px;overflow:hidden}
.field__hint{margin-top:16px;font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.06em;color:var(--ink-2)}
.sec__head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:end;margin-bottom:clamp(36px,5vw,64px)}
.sec__head>div{grid-column:1/span 6;display:flex;flex-direction:column;gap:22px}
.sec__head>p{grid-column:8/span 5;font-size:var(--t-small)}
.sec__head--solo h2{grid-column:1/-1;max-width:18em}
.pg-retail .steps article{border-top:1px solid var(--line-2);padding-top:20px}
.pg-retail .steps h3{margin:12px 0}
.pg-retail .steps p:not(.steps__no){font-size:var(--t-small)}
.uses{display:flex;flex-direction:column;gap:clamp(48px,7vw,96px)}
.use{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);border-top:1px solid var(--line-2);padding-top:28px}
.use__head{grid-column:1/span 5;display:flex;flex-direction:column;gap:14px}
.use__head h3{font-size:var(--t-h2)}
.use__lede{font-size:var(--t-lede);color:var(--ink);line-height:1.4}
.use__tag{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.08em;color:var(--orange)}
.use__body{grid-column:7/span 6;display:flex;flex-direction:column;gap:16px}
.use__open{color:var(--ink);font-weight:500}
.use__body .chips{margin-top:8px}
.behavioral-viz{border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.behavioral-viz img{width:100%}
.behavioral-viz figcaption{padding:12px 16px;font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.06em;color:var(--ink-2)}
.tmnl__lead{font-size:var(--t-h2);line-height:1.08;font-weight:500;font-variation-settings:"wdth" 108;letter-spacing:-.02em;color:var(--ink);max-width:20em;margin:22px 0 clamp(36px,5vw,64px)}
.tmnl__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.tcard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.tcard--lead{grid-column:span 2;grid-row:span 2}
.tcard q{quotes:none;font-size:var(--t-small);line-height:1.6;color:var(--ink)}
.tcard--lead q{font-size:var(--t-lede);line-height:1.45}
.tcard__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.tcard__who{font-size:14px;color:var(--ink-2);line-height:1.45}
.tcard__name{display:block;color:var(--ink);font-weight:500}
.tcard__role{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;margin-top:4px}
.tcard__logo img{height:20px;width:auto;opacity:.7}
.tone-dark .tcard__logo img{filter:invert(1) grayscale(1) brightness(1.5)}
/* Retail testimonials (Sienna, 16 Oct: "the layout feels off"): the lead quote alone across the row at its own height,
   the four others two by two beneath it, equal heights, names on one line along the bottom */
@media (min-width:861px){
  .pg-retail .tmnl__grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
  .pg-retail .tcard--lead{grid-column:1/-1;grid-row:auto;padding:clamp(28px,3vw,44px)}
  .pg-retail .tcard--lead q{max-width:34em}
  .pg-retail .tcard{gap:24px}
}

/* ---------- EVENTS: four events, one screen ---------- */
.pg-events main{max-width:calc(var(--maxw) + 2*var(--m));margin:0 auto;padding:calc(var(--nav-h) + clamp(48px,9vh,110px)) var(--m) var(--sec);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4vw,20px);align-items:start}
.pg-events .card{display:flex;flex-direction:column;gap:14px;transition:transform .5s var(--ease)}
.pg-events .card:hover{transform:translateY(-3px)}
.card__media{aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:var(--bg-3);display:grid;place-items:center;border:1px solid var(--line)}
.card__media>img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.pg-events .card:hover .card__media>img{transform:scale(1.03)}
.card__logo img{width:min(160px,60%);height:auto}
.tone-dark .card__logo img{filter:invert(1)}
.card__name{font-size:17px;line-height:1.3;font-weight:500;font-variation-settings:"wdth" 104;color:var(--ink)}
@media (max-width:1000px){.pg-events main{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- SALON ---------- */
.salon__top{position:fixed;top:0;left:0;right:0;z-index:80;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 var(--m);background:var(--scrim);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--line)}
.salon__logo{height:19px;width:auto}
.tone-dark .salon__logo{filter:invert(1) brightness(1.6)}
.salon__crumb{color:var(--ink-2)}
.salon__hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);padding:calc(var(--nav-h) + clamp(64px,12vh,140px)) var(--m) var(--sec);max-width:calc(var(--maxw) + 2*var(--m));margin:0 auto;align-items:start}
.salon__copy{grid-column:1/span 6;display:flex;flex-direction:column;gap:18px}
.salon__copy h1{font-size:var(--t-display);margin-bottom:10px}
.salon__lede{font-size:var(--t-lede);color:var(--ink)}
.salon__mail{color:var(--lilac);border-bottom:1px solid var(--lilac-a35)}
.salon__thanks{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.06em;color:var(--ink-3);margin-top:12px}
.salon__image{grid-column:8/span 5;border-radius:16px;overflow:hidden;position:sticky;top:calc(var(--nav-h) + 32px)}
.salon__image video{width:100%;height:auto}
.salon__gallery{columns:4 260px;column-gap:var(--gap);padding:0 var(--m) var(--sec);max-width:calc(var(--maxw) + 2*var(--m));margin:0 auto}
.salon__gallery img{width:100%;border-radius:10px;margin-bottom:var(--gap);break-inside:avoid}

/* ---------- NEWS ---------- */
.pg-news .news{max-width:calc(var(--maxw) + 2*var(--m));margin:0 auto;padding:calc(var(--nav-h) + clamp(64px,12vh,140px)) var(--m) var(--sec)}
.news__title{font-size:var(--t-display);margin-bottom:clamp(40px,6vw,88px)}
.news__list{display:flex;flex-direction:column}
.item{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);padding-block:clamp(28px,4vw,48px);border-top:1px solid var(--line-2)}
.item__media{grid-column:1/span 4;border-radius:12px;overflow:hidden;aspect-ratio:16/10;background:var(--bg-3)}
.item__media img{width:100%;height:100%;object-fit:cover}
.item__lockup{height:100%;display:flex;align-items:center;justify-content:center;gap:18px}
.item__lockup img{height:28px;width:auto}
.tone-dark .item__lockup img{filter:invert(1) brightness(1.5)}
.item__lockup .x{font-size:22px;color:var(--ink-3)}
.item__copy{grid-column:6/span 7;display:flex;flex-direction:column;gap:14px}
.item__meta .dot{margin:0 6px;color:var(--ink-3)}
.item__head{font-size:clamp(22px,2vw,32px);line-height:1.15;font-weight:500;font-variation-settings:"wdth" 106;letter-spacing:-.012em;color:var(--ink)}
.item__head strong{font-weight:500;color:var(--lilac)}
.item__topics{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.06em;color:var(--ink-2)}
.item__intro{font-size:var(--t-small)}
.item__cta{align-self:flex-start;margin-top:6px}

/* ---------- ABOUT ---------- */
.pg-about .hero{height:70svh;min-height:480px;position:relative;overflow:hidden}
.pg-about .hero #fx{position:absolute;inset:0;width:100%;height:100%}
.pg-about .hero .paper-fade{position:absolute;inset:0;background:linear-gradient(0deg,var(--bg),transparent 40%),linear-gradient(90deg,var(--bg) 6%,color-mix(in srgb,var(--bg) 78%,transparent) 36%,transparent 62%);pointer-events:none;z-index:1}
.pg-about .hero-copy{z-index:2}
.pg-about .hero-copy{position:absolute;left:var(--m);right:var(--m);bottom:clamp(56px,10vh,110px);max-width:15em;font-size:var(--t-display);display:flex;flex-direction:column;gap:26px}
.pg-about .hero-copy h1{font-size:1em;line-height:.98;font-variation-settings:"wdth" 112}
.bigvision__wrap,.manifesto__wrap,.closing__wrap{max-width:calc(var(--maxw) + 2*var(--m));margin:0 auto;padding-inline:var(--m)}
.bigvision__wrap{display:flex;flex-direction:column;gap:26px}
.bigvision__lede{font-size:var(--t-h1);max-width:12em}
.bigvision__body{font-size:var(--t-lede);line-height:1.5;max-width:36em;color:var(--ink-2)}
.manifesto__wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap)}
.prose{grid-column:1/span 7;display:flex;flex-direction:column;gap:20px}
.prose p{font-size:var(--t-body);line-height:1.7;max-width:40em}
.glance{grid-column:9/span 4;display:flex;flex-direction:column;gap:30px;position:sticky;top:calc(var(--nav-h) + 32px);align-self:start}
.glance__l{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}
.chips--ghost span{border-style:dashed}
.glance__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gstat .n{display:block;font-size:clamp(28px,2.6vw,42px);line-height:1;font-weight:400;font-variation-settings:"wdth" 112;letter-spacing:-.03em;color:var(--ink)}
.gstat .l{display:block;margin-top:8px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;color:var(--ink-2)}
.glance__note{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.06em;color:var(--ink-3);margin-top:12px}
.closing__line{font-size:var(--t-h1);line-height:1.04;font-weight:500;font-variation-settings:"wdth" 110;letter-spacing:-.025em;color:var(--ink);max-width:13em}
.contact{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);margin-top:clamp(48px,7vw,96px);border-top:1px solid var(--line);padding-top:32px}
.contact__col{grid-column:span 5;display:flex;flex-direction:column;gap:12px}
.contact__addrs{grid-column:8/span 5;display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.contact__l,.addr__l{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.contact__big{font-size:clamp(26px,3vw,46px);font-weight:500;font-variation-settings:"wdth" 110;letter-spacing:-.02em;color:var(--lilac)}
.contact__cities,.addr__body{font-size:var(--t-small);color:var(--ink-2)}

/* ---------- phones ---------- */
@media (max-width:860px){
  .sechead,.info-head,.pf__row,.impact__split,.data .lead,.data__split,.sec__head,.use,.item,.manifesto__wrap,.contact,.salon__hero{grid-template-columns:1fr}
  .sechead>*,.info-head>*,.pf__row>*,.impact__split>*,.data .lead>*,.data__split>*,.sec__head>*,.use>*,.item>*,.manifesto__wrap>*,.contact>*,.salon__hero>*{grid-column:1/-1!important}
  .info-head__media,.glance,.salon__image{position:static}
  .pillars,.steps,.tmnl__grid,.pg-events main{grid-template-columns:1fr}
  .tcard--lead{grid-column:auto;grid-row:auto}
  .stats{grid-template-columns:1fr;gap:28px}
  .impact__grid,.mods{grid-template-columns:1fr}
  .fp{grid-template-columns:1fr 1fr}
  .fp>span:nth-child(3){border-left:0}
  .pg-home .sessions{top:calc(var(--nav-h) + clamp(28px,6vh,72px) + 48px);bottom:auto;left:var(--m);right:auto;text-align:left}   /* under the eyebrow, clear of the promise */
  .pg-home .hint{display:none}
  .contact__addrs{grid-template-columns:1fr}
  .glance__stats{grid-template-columns:repeat(3,1fr)}
}

/* ---------- LABS (/ai) ---------- */
.pg-ai .hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,5vw,80px);align-items:center;padding-top:calc(var(--nav-h) + clamp(56px,12vh,140px))}
.pg-ai .hero h1{margin-top:24px}
.pg-ai .hero .lede{margin-top:28px;font-size:clamp(17px,1.3vw,21px)}
.pg-ai .hero .lede em{color:var(--lilac)}
.viewport{position:relative;aspect-ratio:4/3;border:1px solid var(--line-2);border-radius:16px;overflow:hidden;background:var(--bg-2)}
.viewport canvas{position:absolute;inset:0;width:100%;height:100%}
.vp-tele,.corpus__tele{position:absolute;top:12px;left:14px;z-index:3;font-family:var(--f-mono);font-size:11px;letter-spacing:.05em;color:var(--ink-2);line-height:1.7;pointer-events:none}
/* Lab X vs VLGE */
.bench__frame{border:1px solid var(--line-2);border-radius:16px;overflow:hidden;background:var(--card)}
.bench__lane{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr) minmax(0,1fr);border-bottom:1px solid var(--line)}
.bench__lane .who{padding:18px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.bench__lane .who b{font-size:20px;font-weight:500;font-variation-settings:"wdth" 108}
.bench__lane .who span{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;color:var(--ink-3)}
.bench__lane .step{padding:18px 20px;border-right:1px solid var(--line);font-size:var(--t-small);line-height:1.5;color:var(--ink-2)}
.bench__lane .step:last-child{border-right:0}
.bench__lane .step .i{display:block;font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.bench__lane:not(.is-vlge) .who b,.bench__lane:not(.is-vlge) .step .i{color:var(--orange)}
.bench__lane.is-vlge{background:var(--lilac-a06)}
.bench__lane.is-vlge .who b,.bench__lane.is-vlge .step .i{color:var(--lilac)}
.bench__score{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:16px;align-items:baseline;padding:16px 20px;background:var(--bone);color:var(--on-bone)}
.bench__score .k{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;opacity:.6}
.bench__score b{font-size:20px;font-weight:500;color:inherit}
.bench__score p{font-size:var(--t-small);color:inherit;opacity:.78}
.bench__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin-top:var(--gap)}
.bench__grid article{border-top:1px solid var(--line-2);padding-top:18px}
.bench__grid h3{margin:10px 0 10px}
.bench__grid p{font-size:var(--t-small)}
.bench__metrics{margin-top:clamp(40px,5vw,72px);padding-top:24px;border-top:1px solid var(--line)}
.bench__metrics ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px clamp(20px,3vw,40px);margin-top:18px}
.bench__metrics li{font-family:var(--f-mono);font-size:12.5px;line-height:1.6;color:var(--ink-2)}
.bench__metrics li b{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--lilac);font-weight:500;margin-bottom:4px}
.bench__status{margin-top:24px;font-family:var(--f-mono);font-size:12.5px;line-height:1.6;color:var(--ink-2);max-width:64ch}
.bench__status a{color:var(--lilac);border-bottom:1px solid var(--lilac-a35);white-space:nowrap}
/* the session record */
.layers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.layers article{border-top:1px solid var(--line-2);padding-top:18px}
.layers h3{margin:10px 0 10px}
.layers p{font-size:var(--t-small)}
.layers p.why{color:var(--ink-3);border-top:1px solid var(--line);padding-top:10px;margin-top:12px;font-size:14px}
.layers__note{margin:24px 0 32px;font-family:var(--f-mono);font-size:12px;letter-spacing:.04em;color:var(--ink-3)}
/* corpus, decision, builds */
.corpus__head,.moment__head,.builds__head{max-width:46em;margin-bottom:clamp(28px,4vw,48px)}
.corpus__head b{color:var(--ink);font-variant-numeric:tabular-nums}
.corpus__body{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:var(--gap);align-items:stretch}
.corpus__stage{position:relative;width:100%;aspect-ratio:16/9;border:1px solid var(--line-2);border-radius:16px;overflow:hidden;background:var(--bg-2)}
.corpus__stage canvas{position:absolute;inset:0;width:100%;height:100%}
.corpus__feed{position:relative;width:100%;min-height:0}
.corpus__toggle{display:none;position:absolute;left:50%;bottom:12px;transform:translate(-50%);z-index:4;font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;padding:8px 14px;border-radius:999px;border:1px solid var(--line-3);background:var(--card-2);color:var(--ink)}
.moment__stage{position:relative;aspect-ratio:16/9;border:1px solid var(--line-2);border-radius:16px;overflow:hidden;background:var(--bg-2)}
/* two people, one space */
.quote .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,72px);align-items:center}
.quote p{font-size:var(--t-h2);line-height:1.08;font-weight:500;font-variation-settings:"wdth" 108;letter-spacing:-.02em;color:var(--ink);max-width:18em}
.quote .src{font-family:var(--f-mono);font-size:12.5px;line-height:1.65;color:var(--ink-2);margin-top:22px;max-width:46ch}
.quote .src em{color:var(--lilac)}
.delta{border:1px solid var(--line-2);border-radius:16px;overflow:hidden;background:var(--bg-2)}
.delta__hd{font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;color:var(--ink-3);padding:10px 14px;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:center}
.delta__hd b{color:var(--ink);font-weight:500}
.delta__hd .pip{color:var(--lilac);margin-left:auto}
.delta__cv{position:relative;aspect-ratio:16/8}
.delta__cv canvas{position:absolute;inset:0;width:100%;height:100%}
.delta__rows{font-family:var(--f-mono);font-size:11px;padding:10px 14px 12px;display:grid;grid-template-columns:auto 1fr auto;gap:4px 14px;border-top:1px solid var(--line);align-items:baseline}
.delta__rows .k{color:var(--ink-3)}
.delta__rows .v,.delta__rows [data-a-id]{color:var(--lilac);text-align:right}
.delta__rows .d{color:var(--lilac-hi);text-align:right}
/* one session, every stream */
.split{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(24px,3.5vw,48px);align-items:start;position:relative}
.split .stage{position:sticky;top:calc(var(--nav-h) + 24px);min-width:0}
.slotwrap{position:relative;display:grid;grid-template-columns:26px 1fr;gap:16px}
.srail{position:relative}
.srail::before{content:"";position:absolute;left:3px;top:.2em;bottom:.2em;width:1px;background:var(--line-2)}
.srail .tk{position:absolute;left:0;transform:translateY(-50%);font-family:var(--f-mono);font-size:9px;color:var(--ink-3);display:flex;align-items:center;gap:7px;transition:color .3s var(--ease)}
.srail .tk::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ink-4);box-shadow:0 0 0 3px var(--bg);transition:background .3s var(--ease)}
.srail .tk.on{color:var(--lilac)}
.srail .tk.on::before{background:var(--lilac)}
.srail .head{position:absolute;left:3px;top:0;width:1px;height:0;background:var(--lilac)}
.sslot{position:relative;min-height:44vh}
.dstream{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;will-change:opacity,transform}
.dstream .no::before{content:"●";font-size:.7em;margin-right:8px}
.dstream h3{font-size:clamp(22px,2vw,30px);margin:10px 0 0}
.dstream p{font-size:var(--t-body);margin-top:12px;max-width:44ch}
.dstream p a{color:var(--lilac);border-bottom:1px solid var(--lilac-a35)}
.dstream .meta{font-family:var(--f-mono);font-size:12px;letter-spacing:.03em;color:var(--ink-3);margin-top:14px}
/* delivery package */
.delivery__hint{margin-top:14px;font-family:var(--f-mono);font-size:12px;letter-spacing:.03em;color:var(--ink-3)}
.delivery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line-2);border-left:1px solid var(--line);align-items:start}
.dcard{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent}
.dcard[open]{background:var(--card)}
.dcard>summary{list-style:none;cursor:pointer;display:block;position:relative;min-height:190px;padding:20px 44px 22px 20px;transition:background .2s}
.dcard>summary::-webkit-details-marker{display:none}
.dcard>summary:hover{background:var(--lilac-a06)}
.dcard>summary::after{content:"+";position:absolute;right:18px;top:16px;font-family:var(--f-mono);font-size:14px;color:var(--lilac)}
.dcard[open]>summary::after{content:"−"}
.dcard summary h3{margin:12px 0 0}
.dcard summary p{font-size:14.5px;margin-top:10px}
.dbody{padding:0 20px 22px;border-top:1px solid var(--line)}
.dbody p{font-size:14.5px;margin-top:14px}
.dbody .fields{font-family:var(--f-mono);font-size:10.5px;line-height:1.8;letter-spacing:.02em;color:var(--ink-2);background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-top:14px;word-break:break-word}
.dbody .see{margin-top:14px}
/* applications, four layers */
.apps h2{font-size:clamp(26px,2.6vw,42px);margin:22px 0 clamp(28px,4vw,48px)}
.apps__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--gap)}
.app{position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card);display:flex;flex-direction:column;transition:border-color .3s var(--ease)}
.app:hover{border-color:var(--lilac-a35)}
.app__viz{position:relative;aspect-ratio:16/10;overflow:hidden;background:#15121a}
.app__viz img,.app__viz video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.app:hover .app__viz img,.app:hover .app__viz video{transform:scale(1.04)}
.app__viz canvas{position:absolute;inset:0;width:100%;height:100%}
.app__viz::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(to top,rgba(14,12,16,.55),rgba(14,12,16,0));pointer-events:none}
.app .tag{position:absolute;left:12px;bottom:10px;z-index:2;font-family:var(--f-mono);font-size:10px;letter-spacing:.04em;color:rgba(236,230,234,.92);text-transform:none}
.app .n{position:absolute;right:12px;top:10px;z-index:2;font-family:var(--f-mono);font-size:10px;color:rgba(236,230,234,.7);letter-spacing:.08em}
.app__txt{padding:16px 16px 18px}
.app__txt h4{font-size:18px}
.app__txt p{font-size:14px;margin-top:6px}
.explore h2{max-width:20em;margin:22px 0 clamp(28px,4vw,48px)}
.explore__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.explore__grid>*{border-top:1px solid var(--line-2);padding-top:18px;display:flex;flex-direction:column;gap:12px}
.explore__grid span{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.12em;color:var(--lilac)}
.explore__grid p{font-size:var(--t-small)}
.explore__grid a{margin-top:auto;align-self:flex-start;font-family:var(--f-mono);font-size:12px;color:var(--ink);border-bottom:1px solid var(--line-3);padding-bottom:4px}
.explore__grid a:hover{border-color:var(--lilac);color:var(--lilac)}
@media (max-width:1100px){
  .apps__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .explore__grid,.delivery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .pg-ai .hero,.quote .wrap,.split,.corpus__body{grid-template-columns:1fr}
  .bench__lane{grid-template-columns:1fr}
  .bench__lane .who,.bench__lane .step{border-right:0;border-bottom:1px solid var(--line)}
  .bench__score{grid-template-columns:1fr;gap:6px}
  .bench__grid,.layers,.bench__metrics ul,.apps__grid,.explore__grid,.delivery__grid{grid-template-columns:1fr}
  .split .stage{position:static;margin-bottom:32px}
  .slotwrap{grid-template-columns:1fr}
  .srail{display:none}
  .sslot{min-height:0}
  .dstream{position:static;opacity:1!important;transform:none!important;margin-bottom:36px}
  .corpus__toggle{display:inline-flex}
  .corpus__stage{aspect-ratio:4/5}
  .corpus__feed{height:240px}
  .moment__stage{aspect-ratio:3/4}
  .dcard>summary{min-height:0}
}

/* ---------- home · how it is made (Sienna, 16 Oct) ----------
   tidy: every step the same parts. Words: number, title, the deck's line, the step's paragraphs, one ruled
   detail list. Figure: one main frame (16:10, stays in view while the words are read), at most one thin strip.
   minimal (html[data-home="min"]): title, line, first paragraph and main frame only */
.hws{display:flex;flex-direction:column;gap:clamp(96px,11vw,176px);margin-top:clamp(80px,9vw,140px)}
.hw{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,5vw,96px);align-items:start;scroll-margin-top:calc(var(--nav-h) + 24px)}
.hw:nth-child(even){grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
.hw:nth-child(even) .hw__text{order:2}
.hw__n{font-family:var(--f-mono);font-size:var(--t-label);font-weight:600;letter-spacing:.16em;color:var(--lilac)}
.hw h3{margin-top:14px;font-size:clamp(24px,2.3vw,34px);font-weight:500;line-height:1.1;letter-spacing:-.02em;font-variation-settings:"wdth" 108;color:var(--ink)}
.hw__lead{margin-top:16px;font-size:var(--type-3);line-height:1.4;color:var(--ink)}
.hw__sub{margin-top:10px;font-size:var(--t-body);line-height:1.55;color:var(--ink)}
.hw__body>p{margin-top:16px;font-size:var(--t-body);line-height:1.66;color:var(--ink-2);max-width:36em}
/* the one detail style */
.hw__spec{margin-top:32px}
.hw__spec+.hw__spec{margin-top:24px}
.hw__k{margin-bottom:8px;font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.hw__spec ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
.hw__spec ul[data-cols="1"]{grid-template-columns:1fr}
.hw__spec li{padding:9px 0;border-top:1px solid var(--line-2);font-size:var(--t-small);line-height:1.5;color:var(--ink-2)}
.hw__spec li b{display:block;font-weight:600;color:var(--ink)}
/* the human step's numbers, the section's own figures */
.hw__nums{margin-top:32px}
.hw .stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;margin-top:0;padding-top:16px!important;border-top:1px solid var(--line-2)}
.hw .stats .stat,.hw .stats .stat.has-waffle{display:block!important;padding:0!important;border:0!important}
.hw .stats .waffle{display:none}
.hw .stats .stat .n,.hw .stats .stat.has-waffle .n{font-size:clamp(26px,2.2vw,34px)!important;letter-spacing:-.02em}
.hw .stat .l{margin-top:8px;font-size:10.5px;line-height:1.5}
.hw .stats-note{margin-top:12px}
/* the figure */
.hw__fig{position:sticky;top:calc(var(--nav-h) + 28px);display:flex;flex-direction:column;gap:8px}
.hw__fig figure{position:relative;margin:0;overflow:hidden;border-radius:12px;background:var(--bg-3)}
.hw__main{aspect-ratio:16/10}
.hw__main video,.hw__main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hw__main--light{background:#F6F1F4!important}
.hw__main--light video{object-fit:contain}
.hw__fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 12px 8px;font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#F4EEF2;
  background:linear-gradient(180deg,rgba(9,7,11,0),rgba(9,7,11,.62))}
.hw__runs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:6px;border-radius:12px;overflow:hidden}
.hw__runs figure{border-radius:6px}
.hw__runs img,.hw__runs video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hw__strip--frames{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
/* expert to agent: the chef and the robot side by side, one caption under both */
.hw__xfer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.62fr);gap:6px;aspect-ratio:auto!important;background:none!important}
.hw__xfer img{position:static!important;width:100%;height:auto!important;aspect-ratio:1.08;object-fit:cover;border-radius:10px}
.hw__xfer img+img{aspect-ratio:auto;height:100%!important}
.hw__xfer figcaption{border-radius:0 0 10px 10px}
.hw__strip--six{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.hw__strip--six figure{aspect-ratio:1;border-radius:8px}
.hw__strip--six img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hw__strip--six figcaption{font-size:8.5px;letter-spacing:.08em;padding:14px 6px 5px}
.hw__strip--frames figure{aspect-ratio:16/10;border-radius:8px}
.hw__strip--frames img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hw__eval{position:relative;height:clamp(120px,10vw,160px);border:1px solid var(--line-2);border-radius:12px}
.hw__eval canvas{position:absolute;inset:8px 14px;width:calc(100% - 28px);height:calc(100% - 16px);display:block}
/* the mission closes the section */
.hw-close{margin-top:clamp(104px,11vw,176px);padding-top:28px;border-top:1px solid var(--line-2)}
.hw-close p{max-width:26em;font-size:var(--type-3);line-height:1.45;color:var(--ink)}
/* minimal: less of everything */
[data-home="min"] .hw__spec,[data-home="min"] .hw__strip,[data-home="min"] .hw__sub{display:none}
[data-home="min"] #how-expert .hw__body+.hw__spec,[data-home="min"] #how-expert .hw__strip{display:block}
[data-home="min"] #how-expert .hw__strip--six{display:grid}
[data-home="min"] .hws{gap:clamp(80px,9vw,140px)}
[data-home="min"] .hw{align-items:center}
@media (max-width:960px){
  .hw,.hw:nth-child(even){grid-template-columns:1fr}
  .hw:nth-child(even) .hw__text{order:0}
  .hw__fig{position:static;order:-1}
}
@media (max-width:560px){
  .hw__spec ul{grid-template-columns:1fr}
  .hw__strip--frames{grid-template-columns:1fr 1fr}
  .hw__strip--six{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hw .stats{grid-template-columns:1fr!important}
}

/* ---------- home · the other versions of "how it is made" (Sienna, 16 Oct), one style each ---------- */
.hw__xfer{position:relative}
/* the contents rail (first made for the Chapters version) */
.ch__rail{position:sticky;top:calc(var(--nav-h) + 40px);align-self:start;display:flex;flex-direction:column;border-top:1px solid var(--line-2)}
.ch__rail a{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line-2);font-size:var(--t-small);color:var(--ink-3);transition:color .3s}
.ch__rail a span{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.14em;padding-top:2px}
.ch__rail a.on{color:var(--ink)}.ch__rail a.on span{color:var(--lilac)}
.dg figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px 10px 7px;font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#F4EEF2;background:linear-gradient(180deg,rgba(9,7,11,0),rgba(9,7,11,.62))}
/* 4 · Diagrams: little text, one figure per step on a ruled panel */
.dg{display:flex;flex-direction:column;gap:clamp(64px,7vw,112px);margin-top:clamp(56px,6vw,96px)}
.dg__step{scroll-margin-top:calc(var(--nav-h) + 32px)}
.dg__head{display:flex;flex-direction:column;align-items:flex-start;padding-bottom:24px;border-bottom:1px solid var(--line-2)}
.dg__n{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.16em;color:var(--lilac)}
.dg__head h3{margin-top:10px;white-space:nowrap;font-size:clamp(26px,2.6vw,40px);font-weight:500;line-height:1.05;letter-spacing:-.02em;color:var(--ink)}
.dg__lead,.dg__sub{margin-top:10px;max-width:40em;font-size:var(--type-3);line-height:1.4;color:var(--ink)}
.dg__sub{color:var(--ink-2);font-size:var(--t-body);margin-top:6px}
.dg__panel{margin-top:20px}
.dg__k{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.dg__t{font-size:var(--t-body);font-weight:500;color:var(--ink)}
.dg__s{margin-top:4px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;color:var(--ink-2)}
.dg figure{position:relative;margin:0;overflow:hidden;border-radius:10px;background:var(--bg-3)}
.dg figure video,.dg figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dg__human{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--gap)}
.dg__film{aspect-ratio:16/10}
.dg__matrix ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}
.dg__matrix li{padding:10px 11px;border:1px solid var(--line-2);border-radius:8px;font-size:12.5px;line-height:1.3;color:var(--ink)}
.dg__nums{grid-column:1/-1;margin-top:8px}
.dg__nums .stats{margin-top:0;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:var(--gap)!important;padding-top:20px!important;border-top:1px solid var(--line-2)}
.dg .stats .stat.has-waffle{display:flex!important;flex-direction:column;align-items:stretch!important;padding:0!important;border:0!important}
.dg .stats .stat.has-waffle .n{font-size:clamp(34px,3.2vw,52px)!important}
.dg .stats .stat.has-waffle .waffle{order:3;margin-top:14px;grid-template-columns:repeat(20,minmax(0,1fr));gap:3px}
.dg .stats .waffle i{width:100%;height:auto;aspect-ratio:1/1;align-self:start}
/* expert to agent: the chef, four sensory tracks running across, the robot; the schema lists under it */
.dg__xfer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr) minmax(0,1.5fr);gap:clamp(16px,2vw,28px);align-items:stretch}
.dg__end{min-height:240px}
.dg__tracks{display:flex;flex-direction:column;justify-content:center;gap:14px}
.dg__track{padding-top:8px;border-top:1px solid var(--line-2)}
.dg__track .dg__k{color:var(--ink-2)}
.dg__wave{display:block;width:100%;height:38px;margin-top:4px;overflow:visible}
.dg__wave path{stroke:var(--lilac);stroke-width:1.4;opacity:.85}
.dg__track:nth-child(2) .dg__wave path{opacity:.7}.dg__track:nth-child(3) .dg__wave path{opacity:.6}.dg__track:nth-child(4) .dg__wave path{opacity:.5}
.dg__cap{margin-top:6px;font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--lilac)}
.dg__specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin-top:28px}
.dg__specs>div{padding-top:12px;border-top:1px solid var(--line-2)}
.dg__specs ul{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.dg__specs li{font-size:var(--t-small);line-height:1.45;color:var(--ink-2)}
.dg__specs li b{display:block;color:var(--ink);font-weight:600}
.dg__three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.dg__stage{display:flex;flex-direction:column;gap:8px}
.dg__fig{aspect-ratio:16/10;position:relative}
.dg__fig>figure{position:absolute;inset:0}
.dg__runs{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:4px}
.dg__tail{position:absolute;inset:0;padding:12px 14px 6px;border:1px solid var(--line-2);border-radius:10px}
.dg__tail svg{width:100%;height:100%}
.dg__stage .dg__k{margin-top:10px;color:var(--lilac)}
.dg__bench{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--gap);align-items:stretch}
.dg__light{aspect-ratio:3/2;background:#F6F1F4!important}.dg__light video{object-fit:contain}
.dg__eval{grid-column:1/-1;height:clamp(180px,16vw,240px)!important}   /* the distributions across the full width */
.dg__trio{display:grid;grid-template-columns:1fr;gap:0;align-content:center}
.dg__trio>div{padding:14px 0;border-top:1px solid var(--line-2)}
.dg__trio>div:nth-child(1) .dg__t{color:var(--blue)}.dg__trio>div:nth-child(2) .dg__t{color:var(--orange)}
.dg__trio .dg__s{font-family:var(--f-sans);font-size:var(--t-small);letter-spacing:0}
@media (max-width:960px){
  .ch__rail{display:none}
  .dg__head h3{white-space:normal}
  .dg__human,.dg__three,.dg__bench,.dg__trio{grid-template-columns:1fr}
  .dg__xfer{grid-template-columns:1fr 1fr}.dg__tracks{grid-column:1/-1;order:3}.dg__end{min-height:180px}.dg__specs{grid-template-columns:1fr}
  .dg__matrix ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .idx{grid-template-columns:1fr}
}

/* the contents rail beside the steps, in every version */
.idx{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,10fr);gap:clamp(28px,4vw,72px)}
.idx>.ch__rail{margin-top:clamp(80px,9vw,140px)}
.idx .hws,.idx .dg{min-width:0}
.idx .hw,.idx .hw:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}

/* ---------- the logos under "The Future Of AGI…" (home): one row, arriving one after another ---------- */
.logos{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(28px,5vw,72px);margin:clamp(18px,2.4vw,32px) 0 0;padding:18px 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.logos li{display:flex;align-items:center;gap:12px;transition:opacity .9s cubic-bezier(.2,.7,.1,1) calc(var(--i) * .14s),transform .9s cubic-bezier(.2,.7,.1,1) calc(var(--i) * .14s),filter .9s ease calc(var(--i) * .14s)}
.logos svg{width:28px;height:28px;fill:var(--ink)}
.logos img{width:28px;height:28px}
.logos span{font-size:clamp(19px,1.6vw,24px);font-weight:500;font-variation-settings:"wdth" 104;letter-spacing:-.01em;color:var(--ink)}
.js .logos:not(.is-in) li{opacity:0;transform:translateY(14px);filter:blur(6px)}
@media (prefers-reduced-motion:reduce){.js .logos:not(.is-in) li{opacity:1;transform:none;filter:none}}
/* ---------- A3: shorter, calmer pages (Sienna, 16 Oct) ---------- */
/* Benchmarks: the three bands as one row of three */
.pg-benchmarks [data-band="1"]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3.5vw,64px)}
.pg-benchmarks [data-band="1"] .sechead{display:flex;flex-direction:column;gap:14px;margin:0}
.pg-benchmarks [data-band="1"] .sechead h2{font-size:clamp(22px,1.9vw,30px)}
.pg-benchmarks [data-band="1"] .sechead__r p{font-size:var(--t-small)}
.pg-benchmarks .ask{padding-block:clamp(72px,10vh,120px)}
/* Labs: the session record in four columns; the delivery package as a compact list */
.pg-ai .layers{grid-template-columns:repeat(4,minmax(0,1fr))}
.pg-ai .delivery__grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.pg-ai .dcard>summary{min-height:0;padding:16px 44px 16px 18px}
.pg-ai .dcard summary h3{display:inline;margin:0 0 0 12px;font-size:var(--t-body)}
.pg-ai .dcard summary p{margin-top:6px;font-size:var(--t-small)}
@media (max-width:1100px){.pg-ai .layers{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Retail: the four uses as a 2 x 2 grid of the same card, the store picture across the top */
.pg-retail .uses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.5vw,40px) var(--gap)}
.pg-retail .behavioral-viz{grid-column:1/-1;order:-1}
.pg-retail .use{grid-template-columns:1fr;gap:14px;padding:24px 0 0}
.pg-retail .use>*{grid-column:1/-1!important}
.pg-retail .use__head h3{font-size:clamp(22px,1.9vw,30px)}
.pg-retail .use__lede{font-size:var(--t-body)}
.pg-retail .use__body{gap:10px}
.pg-retail .use__body p{font-size:var(--t-small)}
@media (max-width:860px){.pg-benchmarks [data-band="1"],.pg-ai .layers,.pg-ai .delivery__grid,.pg-retail .uses{grid-template-columns:1fr}}

/* ---------- A3 · inner pages in steps (remix.py), one pattern on every page ----------
   tidy: words left, the figure right (wide steps: the figure under the words); min: the same with less;
   diagrams: one column, the figure large, the detail lists as grids */
.idx--page{max-width:calc(var(--maxw) + 2*var(--m));margin:0 auto;padding-inline:var(--m)}
.pss{display:flex;flex-direction:column;gap:clamp(96px,10vw,160px);margin-top:clamp(72px,8vw,128px);min-width:0}
.ps{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,4vw,72px);align-items:start;scroll-margin-top:calc(var(--nav-h) + 24px)}
.ps--wide,.ps--text{grid-template-columns:1fr}
.ps--wide .ps__text,.ps--text .ps__text{max-width:46em}
.ps__n{font-family:var(--f-mono);font-size:var(--t-label);font-weight:600;letter-spacing:.16em;color:var(--lilac)}
.ps__kick:empty,.ps__title:empty,.ps__lead:empty,.ps__body:empty,.ps__spec:empty,.ps__fig:empty{display:none}
.ps__kick{margin-top:12px}
.ps__kick .u-kicker{margin:0;color:var(--ink-3)}
.ps__title>*{margin:10px 0 0;max-width:none;font-size:clamp(24px,2.3vw,34px)!important;font-weight:500;line-height:1.1;letter-spacing:-.02em;font-variation-settings:"wdth" 108;color:var(--ink);text-align:left}
.ps__lead>*{margin-top:14px;max-width:34em;font-size:var(--type-3)!important;line-height:1.4;color:var(--ink);text-align:left}
.ps__body>*{margin-top:14px;max-width:38em;font-size:var(--t-body);line-height:1.66;color:var(--ink-2)}
.ps__spec{grid-column:1/-1;display:flex;flex-direction:column;gap:24px;padding-top:4px}
.ps__fig{position:sticky;top:calc(var(--nav-h) + 28px);min-width:0;display:flex;flex-direction:column;gap:10px}
.ps--wide .ps__fig,.ps.streams .ps__fig{position:static;margin-top:8px}
/* one detail style inside a step: ruled rows, no cards */
.ps__spec article,.ps__spec .ic,.ps__spec .mod,.ps__spec .bench__metrics li{background:none!important;border:0!important;border-top:1px solid var(--line-2)!important;
  border-radius:0!important;padding:12px 0 14px!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;margin:0}
.ps__spec .bench__grid,.ps__spec .layers,.ps__spec .impact__grid,.ps__spec .mods,.ps__spec .steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:28px;row-gap:0;margin:0}
.ps__spec .bench__grid,.ps__spec .steps{grid-template-columns:repeat(3,minmax(0,1fr))}
.ps__spec h3{font-size:var(--t-body);font-weight:600;margin:4px 0 0}
.ps__spec article p,.ps__spec .ic p,.ps__spec .mod p{font-size:var(--t-small);line-height:1.5;margin-top:6px}
.ps__spec .bench__metrics{margin:0}.ps__spec .bench__metrics ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;row-gap:0;margin-top:8px}
.ps__spec .bench__metrics li{font-family:var(--f-sans);font-size:var(--t-small);line-height:1.5;color:var(--ink-2)}
.ps__spec .layers__note,.ps__spec .bench__status{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.06em;color:var(--ink-3)}
.ps__fig .delivery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ps__fig .uses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.5vw,40px) var(--gap)}
.ps__fig .uses .use{grid-template-columns:1fr;gap:12px;padding:20px 0 0}
.ps__fig .uses .use>*{grid-column:1/-1!important}
.ps__fig .uses .use__head h3{font-size:clamp(20px,1.7vw,26px)}
.ps__fig .uses .use__lede{font-size:var(--t-body)}
.ps__fig .uses .use__body p{font-size:var(--t-small)}
.ps__fig .behavioral-viz{margin-bottom:12px}
#run-title h2 span{display:block}
[data-v="diagrams"] #run-title h2 span{display:inline}
[data-v="diagrams"] #run-title h2 span+span::before{content:" "}
.ps__fig .diagram__note{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.06em;color:var(--ink-3)}
.ps__fig .tmnl__grid{margin-top:4px}
.ps__fig .m-film{margin:0;aspect-ratio:900/884;max-height:560px;border-radius:14px;overflow:hidden;background:#0E0C11;border:1px solid var(--line-2)}
.ps__fig .m-film video{display:block;width:100%;height:100%;object-fit:contain}
.ps__fig .m-eval{margin:0;width:100%}
/* minimal: more air, the figure a little larger */
[data-v="min"] .ps--side{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}
[data-v="min"] .pss{gap:clamp(112px,12vw,184px)}
/* diagrams: one column; the title on one line, the line under it; lists as grids; the figure large */
[data-v="diagrams"] .ps{grid-template-columns:1fr}
[data-v="diagrams"] .ps__text{max-width:none;padding-bottom:20px;border-bottom:1px solid var(--line-2)}
[data-v="diagrams"] .ps__title>*{max-width:none}
[data-v="diagrams"] .ps__fig{position:static}
[data-v="diagrams"] .ps__spec{margin-top:24px}
[data-v="diagrams"] .ps__spec ul,[data-v="diagrams"] .ps__spec .bench__grid,[data-v="diagrams"] .ps__spec .layers,[data-v="diagrams"] .ps__spec .impact__grid,
[data-v="diagrams"] .ps__spec .mods,[data-v="diagrams"] .ps__spec .steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
[data-v="diagrams"] .ps__spec article,[data-v="diagrams"] .ps__spec .ic,[data-v="diagrams"] .ps__spec .mod,[data-v="diagrams"] .ps__spec li{
  border:1px solid var(--line-2)!important;border-radius:8px!important;padding:10px 12px!important}
[data-v="diagrams"] .ps__spec .bench__grid,[data-v="diagrams"] .ps__spec .steps{grid-template-columns:repeat(3,minmax(0,1fr))}
[data-v="diagrams"] .ps__fig .uses{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,4vw,64px);row-gap:clamp(40px,4vw,64px)}   /* 2×2 (Sienna, 16 Oct) */
@media (max-width:960px){
  .ps,[data-v="min"] .ps--side{grid-template-columns:1fr}
  .ps--side .ps__fig{position:static;order:-1}
  .ps__spec .bench__grid,.ps__spec .layers,.ps__spec .impact__grid,.ps__spec .mods,.ps__spec .steps,.ps__spec .bench__metrics ul,
  .ps__fig .delivery__grid,.ps__fig .uses,[data-v="diagrams"] .ps__fig .uses{grid-template-columns:1fr}
  [data-v="diagrams"] .ps__spec ul,[data-v="diagrams"] .ps__spec .bench__grid,[data-v="diagrams"] .ps__spec .layers,[data-v="diagrams"] .ps__spec .impact__grid,
  [data-v="diagrams"] .ps__spec .mods,[data-v="diagrams"] .ps__spec .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---------- home · Expert, two ways (one per version) ---------- */
.dg__groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin-top:24px}
.dg__groups .dg__matrix ul{grid-template-columns:repeat(2,minmax(0,1fr))}
/* Synthetic: one height for every tag; the two long ones close the list, two columns wide */
.dg__human .dg__matrix li{white-space:nowrap;overflow:hidden;text-overflow:clip}
.dg__human .dg__matrix li:nth-last-child(-n+2){grid-column:span 2}
.dg__matrix--wide ul{grid-template-columns:1fr!important}
.dg__matrix li b{display:block;color:var(--ink);font-weight:600}
.dg__mosaic{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:4px}
.dg__mosaic figure{position:relative;margin:0;overflow:hidden;border-radius:6px;background:var(--bg-3)}
.dg__mosaic figcaption{font-size:8.5px!important;letter-spacing:.08em!important;padding:12px 6px 5px!important}
.dg__expert .dg__film{aspect-ratio:auto;min-height:100%}
.dg__stack{display:flex;flex-direction:column;gap:14px}
.dg__stack .dg__matrix ul{margin-top:8px}
.dg__strip{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,2.4fr);gap:8px}
.dg__mosaic--row{position:relative;inset:auto;grid-template-columns:repeat(6,1fr);grid-template-rows:none}
.dg__mosaic--row figure{aspect-ratio:1}
.dg__strip-robot{position:relative;margin:0;overflow:hidden;border-radius:10px}
@media (max-width:960px){.dg__groups,.dg__strip{grid-template-columns:1fr}.dg__mosaic--row{grid-template-columns:repeat(3,1fr)}.dg__strip-robot{aspect-ratio:16/9}}

/* ---------- A3 · one screen holds more (Sienna, 16 Oct: "too many things are too big") ---------- */
.pss{gap:clamp(64px,7vw,112px)!important;margin-top:clamp(48px,6vw,88px)!important}
.ps__title>*{font-size:clamp(22px,1.9vw,28px)!important}
.ps__lead>*{font-size:clamp(16px,1.2vw,19px)!important}
.ps__body>*{font-size:var(--t-small)!important}
.ps__spec{gap:16px}
.ps--wide .ps__fig{margin-top:0}

/* ---------- a big statement standing alone between steps (Sienna, 16 Oct: as A had them) ---------- */
.ps-div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;padding-block:clamp(24px,4vw,56px)}
.ps-div__title>*{max-width:20em;margin:0 auto;font-size:clamp(28px,3.4vw,56px)!important;font-weight:500;line-height:1.08;letter-spacing:-.02em;
  font-variation-settings:"wdth" 110;color:var(--ink);text-wrap:balance}
.ps-div__body>*{max-width:42em;margin:0 auto;font-size:var(--t-small);line-height:1.6;color:var(--ink-2)}
.ps-div__fig{width:min(100%,980px)}
.ps-div__fig .m-eval{margin:0 auto;width:100%;height:clamp(180px,20vw,300px)}
.ps-div__fig .delta{text-align:left}
.ps-div__row .row{display:flex;justify-content:center;gap:12px;margin:0}
.ps-div__title:empty,.ps-div__body:empty,.ps-div__fig:empty,.ps-div__row:empty{display:none}
.ps-div .m-runs{margin:24px auto 0;width:min(900px,100%)}

/* light technical steps (as on A): a full-width light band behind the step, with room inside it */
.pss > .ps.tone-light,.pss > .ps-div.tone-light{padding-block:clamp(36px,4.5vw,64px)}
.ch__rail{transition:color .3s}
.ch__rail.tone-light{border-top-color:var(--line-2)}
.ch__rail.tone-light a{border-bottom-color:var(--line-2)}
/* A's arrangement inside a step: kicker and title on the left, its words on the right, the figure across */
[data-v="diagrams"] .ps__text{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(24px,4vw,64px);align-items:end}
[data-v="diagrams"] .ps__words>*:first-child>*:first-child{margin-top:0}
[data-v="diagrams"] .ps__words:empty,[data-v="diagrams"] .ps__words:not(:has(> :not(:empty))){display:none}
@media (max-width:960px){[data-v="diagrams"] .ps__text{display:block}[data-v="diagrams"] .ps__words{margin-top:12px}}

/* ---------- Labs · the landscape quadrant (the deck's, as approved) ---------- */
.quad{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;column-gap:14px;row-gap:10px;margin-top:8px}
.quad__yh{grid-column:1;grid-row:1;font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.quad__yl{grid-column:1;grid-row:2;font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.08em;color:var(--ink-3);writing-mode:vertical-rl;transform:rotate(180deg)}
.quad__yl--top{align-self:start}.quad__yl--bot{align-self:end}
.quad__grid{grid-column:2;grid-row:1/3;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;border-left:1px solid var(--line-3);border-bottom:1px solid var(--line-3);padding:0 0 10px 10px}
.quad__c{padding:18px 20px 20px;border:1px solid var(--line-2);border-radius:12px;background:var(--card)}
.quad__c h3{font-size:clamp(16px,1.25vw,19px);font-weight:600;color:var(--ink)}
.quad__who{margin-top:6px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.04em;color:var(--orange)}
.quad__c p:last-child{margin-top:8px;font-size:var(--t-small);line-height:1.5;color:var(--ink-2)}
.quad__c--vlge{border-color:var(--lilac-a35);background:linear-gradient(160deg,var(--lilac-a20),var(--lilac-a06))}
.quad__c--vlge h3{color:var(--lilac)}.quad__c--vlge p:last-child{color:var(--ink)}
.quad__xl,.quad__xh{grid-row:3;font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.08em;color:var(--ink-3)}
.quad__xl--l{grid-column:2;justify-self:start}.quad__xl--r{grid-column:2;justify-self:end}
.quad__xh{grid-column:2;justify-self:center;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
@media (max-width:760px){.quad__grid{grid-template-columns:1fr;grid-template-rows:none}}

/* Labs · Example applications (Sienna, 16 Oct: the pictures were cut off): three across, each picture whole */
.pg-ai .apps__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.pg-ai .app__viz{aspect-ratio:16/9}
.pg-ai .app__viz img,.pg-ai .app__viz video{object-fit:contain;background:#0E0C11}
.pg-ai .app__viz::after{display:none}
.pg-ai .app:hover .app__viz img,.pg-ai .app:hover .app__viz video{transform:none}
.pg-ai .app .tag,.pg-ai .app .n{padding:3px 7px;border-radius:4px;background:rgba(14,12,16,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:rgba(236,230,234,.95)}
.pg-ai .app .tag{left:10px;bottom:8px}.pg-ai .app .n{right:10px;top:8px}
.pg-ai .app__txt{padding:16px 18px 20px}
@media (max-width:860px){.pg-ai .apps__grid{grid-template-columns:1fr}}

/* the logos around the threads (home figure): two above, two below; they arrive halfway through the drawing */
.haves__link .logos--float{position:absolute;inset:0;margin:0;padding:0;border:0;pointer-events:none}
.logos--float li{position:absolute;gap:8px}
/* drawn in toward the threads and off any grid (Sienna, 16 Oct): no two share an edge, and each drifts a few pixels */
.logos--float .lf0{left:21%;top:22%}.logos--float .lf1{right:16%;top:15%}
.logos--float .lf2{left:15%;bottom:24%}.logos--float .lf3{right:25%;bottom:19%}
.logos--float.is-in li{animation:lf-drift 9s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -2.3s)}
.logos--float.is-in .lf1,.logos--float.is-in .lf2{animation-duration:11s;animation-direction:alternate-reverse}
@keyframes lf-drift{0%{translate:0 0}33%{translate:5px -4px}66%{translate:-3px 3px}100%{translate:4px 5px}}
.logos--float svg,.logos--float img{width:21px;height:21px}
.logos--float span{font-size:clamp(14.5px,1.12vw,17px);font-weight:500;color:transparent;
  background:linear-gradient(100deg,rgba(236,230,234,.82) 0%,rgba(236,230,234,.82) 38%,#F1C6E7 50%,rgba(236,230,234,.82) 62%,rgba(236,230,234,.82) 100%);
  background-size:300% 100%;-webkit-background-clip:text;background-clip:text;animation:lf-shim 7s linear infinite;animation-delay:calc(var(--i) * -1.7s)}
.logos--float svg{fill:rgba(236,230,234,.82);animation:lf-glow 7s ease-in-out infinite;animation-delay:calc(var(--i) * -1.7s)}
.logos--float img{opacity:.82;animation:lf-glow-img 7s ease-in-out infinite;animation-delay:calc(var(--i) * -1.7s)}
@keyframes lf-shim{from{background-position:100% 0}to{background-position:-200% 0}}
@keyframes lf-glow{0%,100%{fill:rgba(236,230,234,.78)}50%{fill:#F1C6E7}}
@keyframes lf-glow-img{0%,100%{opacity:.78}50%{opacity:1}}
.logos--float li{transition:opacity 1.1s cubic-bezier(.2,.7,.1,1) calc(var(--i) * .16s),transform 1.1s cubic-bezier(.2,.7,.1,1) calc(var(--i) * .16s),filter 1.1s ease calc(var(--i) * .16s)}
@media (prefers-reduced-motion:reduce){.logos--float span,.logos--float svg,.logos--float img,.logos--float.is-in li{animation:none}}
@media (max-width:860px){.logos--float .lf0,.logos--float .lf2{left:4%}.logos--float .lf1,.logos--float .lf3{right:4%}.logos--float .lf0,.logos--float .lf1{top:6%}.logos--float .lf2,.logos--float .lf3{bottom:6%}}
/* B's Expert: four pictures, two by two */
.dg__mosaic:not(.dg__mosaic--row):has(> figure:nth-child(4):last-child){grid-template-columns:repeat(2,1fr)}

/* Landing page steps, feedback of 19 Oct: the real-world step pairs two domains in each column; the Digital Twin step
   shows one real run, the varied engine, the scaled expert distribution; colour code: human blue, agent orange, expert lilac */
.dg__real .dg__fig,.dg__twin .dg__fig{aspect-ratio:auto}
.dg__real .dg__fig>*,.dg__twin .dg__fig>*{position:relative;inset:auto}
.dg__pair{display:grid;grid-template-rows:1fr 1fr;gap:8px;height:100%}
.dg__real .dg__pair{aspect-ratio:4/5}
.dg__pf{position:relative;margin:0;overflow:hidden;border-radius:10px;background:var(--bg-3);min-height:0}
.dg__pf img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dg__pf figcaption,.dg__sg figcaption{position:absolute;left:8px;bottom:6px;padding:3px 7px;border-radius:4px;background:rgba(14,12,16,.62);
  font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;color:rgba(236,230,234,.95)}
.dg__pf--slot{display:grid;place-items:center;border:1px dashed var(--line-3);background:transparent}
.dg__pf--slot>span{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.dg__pf--slot figcaption{display:none}
.dg__sig{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:6px;min-height:0}
.dg__sg{position:relative;margin:0;overflow:hidden;border-radius:8px;background:var(--bg-3);min-height:0}
.dg__sg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dg__sg--w{display:flex;align-items:center;padding:10px 10px 26px;background:#0E0C11;border:1px solid var(--line-2)}
.dg__sg--w svg{width:100%;height:60%}
.dg__sg--w path{stroke:var(--orange);stroke-width:1.4}
.dg__sg figcaption{bottom:5px;left:6px;font-size:9px}
.dg__pair--side{grid-template-rows:none;grid-template-columns:1fr 1fr;aspect-ratio:16/10}
.dg__pair--side>*{height:100%}
.dg__plot{position:relative;border:1px solid var(--line-2);border-radius:10px;background:var(--bg-2,transparent);display:flex;align-items:center;justify-content:center;padding:6px}
.dg__plot--wide{aspect-ratio:16/10}
.dg__dist{width:100%;height:100%}
.dg__dist .ax{stroke:var(--ink-3);stroke-width:1.5;fill:none}
.dg__dist text{font-family:var(--f-mono);font-size:19px;fill:var(--ink-3)}
.dg__dist .lab{fill:var(--lilac);font-size:30px}
.dg__dist .dot{fill:var(--lilac)}
.dg__dist .mean{stroke:var(--lilac);stroke-width:1.5;stroke-dasharray:5 5}
.dg__dist .run{fill:none;stroke:var(--lilac);stroke-opacity:.35;stroke-width:1.5}
.dg__dist .fill{fill:var(--lilac);fill-opacity:.14;stroke:none}
.dg__dist .avg{fill:none;stroke:var(--lilac);stroke-width:3}
.dg__vary{display:flex;flex-direction:column;justify-content:center;gap:6px;margin:0;padding:0 0 0 4px;list-style:none}
.dg__vary li{padding:5px 9px;border:1px solid var(--line-2);border-radius:8px;font-size:12.5px;color:var(--ink)}
.dg__vary li::before{content:"↻";margin-right:8px;color:var(--lilac);font-family:var(--f-mono)}
.dg__key{display:flex;flex-wrap:wrap;gap:8px 20px;margin:12px 0 0;font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;color:var(--ink-2)}
.dg__key span{display:inline-flex;align-items:center;gap:7px}
.dg__key i{width:18px;height:3px;border-radius:2px;background:var(--c)}
.dg__bench .dg__key,.dg__bench .dg__cap{grid-column:1/-1}
.dg__bench p.dg__cap{margin:6px 0 0;max-width:62em;font-family:var(--f-sans);font-size:var(--t-small);font-weight:400;line-height:1.6;letter-spacing:0;text-transform:none;color:var(--ink-2)}
.dg__tail{display:flex;flex-direction:column}
.dg__tail svg{flex:1;min-height:0}
@media (max-width:960px){.dg__pair--side{aspect-ratio:auto;grid-template-columns:1fr 1fr}.dg__real .dg__pair{aspect-ratio:3/4}}

/* ================= Phone pass (Sienna, 16 Oct: "optimize for mobile": more on a screen, never crowded) =================
   Kept last so it wins over the desktop rules above. */
@media (max-width:960px){
  .idx{grid-template-columns:minmax(0,1fr);gap:0}
  .idx>*,.dg,.dg__step,.dg__panel{min-width:0;max-width:100%}
  .idx>.ch__rail{display:none}
}
@media (max-width:600px){
  /* ---- tokens: one phone type scale (display 30 · section 24 · card 16 · body 15 · small 13.5 · label 10) ---- */
  :root{--sec:40px;--m:18px;--gap:12px;--nav-h:54px;
    --t-body:15px;--t-small:13.5px;--t-label:10px;--t-display:30px;--type-1:32px;--type-2:24px;--type-3:16px}
  body{line-height:1.55}
  /* labels: one size, letter-spacing kept short so they stay on one line */
  .u-kicker,.sf__h,.dg__k,.dg__n,.ps__n,.press__l,.stat .l,.stats-note,.item__meta,.use__no,.glance__l,.addr__l,.quad__xh,
  .see,.item__cta,.ghost,.cta,.no,.dot,.steps__no,.corner,.hw__k,.haves__col h3,.layers span,.bench__grid span,.dstream .no,
  .dcard summary>span,.app .tag,.step .n,.ic .v,.mod .k{font-size:10px!important;letter-spacing:.08em!important}

  /* ---- nav: a smaller mark and button ---- */
  .nav>a:first-child img{height:14px}
  .nav__cta{padding:7px 10px 6px!important;font-size:9.5px!important;letter-spacing:.1em!important}
  .nav__toggle{width:36px;height:36px;padding:0 8px}

  /* ---- swipe rows: a series of parallel cards becomes one row you swipe, the next card peeking in ---- */
  .dg__three,.pg-ai .layers,.pg-ai .bench__grid,.pg-ai .apps__grid,.pg-ai .explore__grid,
  .pg-real-estate .steps,.pg-retail .tmnl__grid,.pg-retail .steps{
    display:flex!important;grid-template-columns:none!important;flex-wrap:nowrap!important;align-items:stretch!important;gap:10px!important;
    overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;
    margin-inline:calc(-1*var(--m))!important;padding-inline:var(--m)!important;scroll-padding-inline:var(--m)}
  .dg__three::-webkit-scrollbar,.pg-ai .layers::-webkit-scrollbar,.pg-ai .bench__grid::-webkit-scrollbar,.pg-ai .apps__grid::-webkit-scrollbar,
  .pg-ai .explore__grid::-webkit-scrollbar,.pg-real-estate .steps::-webkit-scrollbar,.pg-retail .tmnl__grid::-webkit-scrollbar,.pg-retail .steps::-webkit-scrollbar{display:none}
  .dg__three>*,.pg-ai .layers>*,.pg-ai .bench__grid>*,.pg-ai .apps__grid>*,.pg-ai .explore__grid>*,
  .pg-real-estate .steps>*,.pg-retail .tmnl__grid>*,.pg-retail .steps>*{flex:0 0 82%!important;max-width:82%;min-width:0;scroll-snap-align:start;grid-column:auto!important}
  .pg-ai .apps__grid>*{flex-basis:70%!important;max-width:70%}
  /* Labs · the seven data streams: a swipe row of cards under the console */
  .pg-ai .split .list,.pg-ai .slotwrap{padding:0!important;margin:0!important;display:block!important}
  .pg-ai .sslot{display:flex!important;flex-wrap:nowrap;align-items:stretch;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
    margin-inline:calc(-1*var(--m))!important;padding-inline:var(--m)!important;scroll-padding-inline:var(--m)}
  .pg-ai .sslot::-webkit-scrollbar{display:none}
  .pg-ai .dstream{flex:0 0 82%;max-width:82%;margin:0!important;scroll-snap-align:start;justify-content:flex-start;
    padding:16px;border:1px solid var(--line-2);border-radius:12px;background:var(--card)}
  .pg-ai .dstream h3{font-size:18px}.pg-ai .dstream p{font-size:13.5px;line-height:1.5;margin-top:8px}
  .pg-ai .dstream .meta{font-size:11px;margin-top:10px}
  #paths .wrap>div>p{font-size:24px!important;line-height:1.12}
  .dg__three{align-items:flex-start!important}   /* figures without frames: no stretched gaps */
  .dg__three .reveal,.pg-real-estate .steps .reveal,.pg-retail .steps.reveal,.pg-retail .steps .reveal{opacity:1!important;transform:none!important}

  /* ---- steps ---- */
  .pss{gap:44px!important;margin-top:20px!important}
  .ps__title>*,.dg__head h3{font-size:24px!important;line-height:1.12}
  .ps__lead>*,.dg__lead{font-size:15.5px!important;line-height:1.45}
  .ps__text{padding-bottom:12px!important}
  .ps__spec{margin-top:14px!important}
  .dg__panel{margin-top:16px!important}

  /* ---- home ---- */
  .hero-copy h1,.hero h1{font-size:30px!important;line-height:1.08}
  /* the summary figure: compact rows, a short connector */
  .haves__col{padding:14px 12px 12px;border-radius:14px}
  .haves__col ul{gap:6px;margin-top:10px}
  .haves__col li,.haves__col li>a{gap:12px}
  .haves__col li{padding:10px 12px}
  .haves__col svg{width:22px;height:22px}
  .haves__col b{font-size:14px}
  .haves__col li span,.haves__col li small,.haves__col li p{font-size:12px!important;line-height:1.35}
  .haves__link{min-height:84px!important}
  /* the wall, three across */
  .worlds__wall{--c:3;grid-auto-rows:calc((100vw - 2*var(--m) - 2*var(--g)) / 3 * 9 / 16);grid-auto-rows:calc((100cqw - 2*var(--g)) / 3 * 9 / 16)}
  .worlds__wall figcaption{padding:14px 6px 5px;font-size:8px;letter-spacing:.06em}
  /* tags: one height, one width, one line */
  .dg__matrix ul{gap:6px!important}
  .dg__matrix li{padding:8px 10px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .dg__human .dg__matrix li:nth-last-child(-n+2){grid-column:auto}
  .dg__groups{gap:18px!important;margin-top:18px!important}
  /* the numbers as a short list, number left and what it counts right; the dot charts are for wide screens */
  .dg__nums .stats{grid-template-columns:1fr!important;gap:0!important;padding-top:4px!important}
  .dg .stats .stat,.dg .stats .stat.has-waffle{display:flex!important;flex-direction:row!important;align-items:baseline!important;justify-content:space-between;gap:16px;
    padding:10px 0!important;border-bottom:1px solid var(--line-2)!important}
  .dg .stats .stat .n,.dg .stats .stat.has-waffle .n{font-size:26px!important;line-height:1}
  .dg .stats .stat .l{margin:0!important;text-align:right;max-width:58%}
  .dg .stats .waffle{display:none!important}
  .dg__nums .stats-note{margin-top:8px}
  /* figures inside the swipe rows: one frame height */
  .dg__three .dg__fig{height:200px;overflow:hidden;border-radius:12px}
  .dg__three .dg__fig>*{height:100%!important;max-height:100%;margin:0!important}
  .dg__three .dg__fig figure,.dg__three .dg__fig .dg__mosaic{aspect-ratio:auto!important}
  .dg__three .dg__fig img,.dg__three .dg__fig video{width:100%;height:100%;object-fit:cover}
  .dg__three .dg__fig svg{width:100%;height:100%}
  .dg__runs{grid-auto-rows:1fr}
  .dg__bench{gap:12px!important}
  /* the convergence drawing needs width; the three lines above say the same on a phone */
  .dg__eval{height:220px!important}
  .dg__real .dg__fig,.dg__twin .dg__fig{height:auto!important;overflow:visible}
  .dg__key{gap:6px 14px}.dg__cap{font-size:12.5px}
  /* the closing links: lighter pills */
  .domains{gap:8px!important}
  .domains a{padding:9px 13px!important;font-size:10px!important;letter-spacing:.1em!important}
  /* partners and press: smaller marks, an even grid */
  .press__group--partners{gap:16px;padding-bottom:24px}
  .press .press__partners{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px}
  .press .press__partners svg,.press .press__partners img{width:16px;height:16px}
  .press .press__partners span{font-size:13.5px}
  .press__wrap{gap:16px}
  .press__row{display:grid;grid-template-columns:repeat(3,auto);justify-content:space-between;align-items:center;gap:18px 16px}
  .press__row img{height:14px}
  /* footer */
  .sf__wrap{gap:20px 16px;padding-top:40px}
  .sf__brand h2,.sf__brand p:first-child,.sf__brand>a:first-child{font-size:24px}
  .sf__wrap a{font-size:12px}

  /* mono paragraphs: mono reads wide, so smaller than body text */
  .bench__metrics li,.bench__status,.src,.delivery__hint,.pf__note,.layers__note,.quote p.mono,.quote .u-mono{font-size:11.5px!important;line-height:1.6!important}
  .hero .lede,.hero>p:not(.u-kicker),.intro .lede{font-size:15px!important;line-height:1.55}
  /* Benchmarks · the flow diagram scrolls sideways in its frame: a little smaller, the right edge fading to say there is more */
  .pg-benchmarks .diagram__frame svg.bmd{width:560px!important;max-width:none;height:auto}
  .pg-benchmarks .diagram__frame{-webkit-mask-image:linear-gradient(to right,#000 78%,transparent);mask-image:linear-gradient(to right,#000 78%,transparent);scrollbar-width:none}

  /* ---- cards ---- */
  .pg-ai article,.pg-ai .dcard,.pg-real-estate .body,.pg-retail .tcard{padding:16px!important;border-radius:12px}
  .pg-ai .app{padding:0!important}.pg-ai .app__txt{padding:10px 12px 14px!important}
  .pg-ai .app__txt h3{font-size:15px}.pg-ai .app__txt p{font-size:12.5px;line-height:1.45}
  .pg-ai .app .tag{display:none}
  .pg-ai .dcard>summary{padding:0 24px 0 0!important;min-height:0}
  .pg-ai .dcard>summary::after{top:0;right:0}
  .pg-ai .dcard{padding:14px 16px!important}

  /* ---- Labs · the landscape chart stays two by two ---- */
  .quad__xh{grid-row:4!important;justify-self:center}
  .quad{column-gap:8px}
  .quad__grid{grid-template-columns:1fr 1fr!important;grid-template-rows:1fr 1fr!important;gap:6px;padding:0 0 6px 6px}
  .quad__c{padding:10px 10px 12px}.quad__c h3{font-size:13.5px;line-height:1.25}
  .quad__who{font-size:9.5px;line-height:1.4}.quad__c p:last-child{font-size:11.5px;line-height:1.4}
  .quad__xl{font-size:9.5px;letter-spacing:.02em}
  .quad__yh{width:4.5em;font-size:9.5px!important;line-height:1.4;letter-spacing:.1em}

  /* ---- Real Estate ---- */
  .re-hero{height:150svh!important}
  .mod .hd{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
  .mod .hd h4{white-space:normal}
  /* ---- swipe cue: dots under a row, the current card's dot long ---- */
  .swipe-dots{display:flex;justify-content:center;gap:5px;margin:12px 0 2px}
  .swipe-dots i{width:5px;height:5px;border-radius:3px;background:var(--line-3);transition:width .25s var(--ease),background .25s}
  .swipe-dots i.on{width:16px;background:var(--lilac)}
  /* ---- long paragraphs: four lines, then More ---- */
  .clamp:not(.is-open){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
  .clamp--card:not(.is-open){-webkit-line-clamp:5}
  .clamp__more{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:4px 0;border:0;background:none;cursor:pointer;
    font-family:var(--f-mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--lilac)}
  .clamp__more::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
  .clamp.is-open+.clamp__more::after,.rest-open>.clamp__more::after{transform:rotate(-135deg) translate(-2px,0)}
  .rest{display:none}.rest-open .rest{display:block}
  /* ---- calmer scrolling: a short fade in place of rising text ---- */
  .js [data-rv]{transform:none!important;clip-path:none!important;transition:opacity .35s ease!important}
  .js .vl-ln>span{transform:none!important;transition:none!important}
  /* ---- secondary text one step smaller ---- */
  .ps__body>*,.ps__body p,.pg-ai article p,.pg-retail .use p,.pg-real-estate .body p,.dstream p,.tcard blockquote,.tcard p{font-size:13.5px!important;line-height:1.5!important}
  .dg__t{font-size:15px!important}
  .dg__s{font-size:11px!important;line-height:1.5!important}
  .chips{gap:5px!important}.chips li{font-size:10.5px!important;padding:5px 9px!important;letter-spacing:.02em!important}
  .dg__matrix li{font-size:11.5px!important;padding:7px 9px!important}
  .u-kicker,.sf__h,.dg__k,.dg__n,.ps__n,.press__l,.stat .l,.stats-note{font-size:9.5px!important}
  .bench__metrics li,.bench__status,.src,.delivery__hint,.pf__note,.layers__note{font-size:11px!important}
  .ps__lead>*,.dg__lead{font-size:15px!important}

}

/* 19 Oct · drawn animations (core/anim.js) in place of photographs; 03 regrouped as Aditya's capture slide */
.dg__anim{position:relative;margin:0;border:1px solid var(--line-2);border-radius:12px;background:color-mix(in srgb,var(--bg) 72%,transparent);overflow:hidden}
.dg__anim canvas{display:block;position:absolute;inset:0;width:100%;height:100%}
.dg__real2{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--gap);align-items:center}
.dg__real2 .dg__anim{aspect-ratio:16/8}
.dg__twin .dg__anim{aspect-ratio:4/3;width:100%}
.dg__groups4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px var(--gap)}
.dg__groups4 .dg__k,.dg__groups4 .dg__matrix>.dg__k{color:var(--lilac)}
.dg__groups4 .dg__matrix ul{grid-template-columns:1fr}
.dg__real2 ~ .dg__groups{grid-template-columns:repeat(2,minmax(0,1fr))}
.dg__human .dg__matrix--props li:nth-last-child(-n+2){grid-column:auto}
@media (max-width:960px){.dg__real2,.dg__real2 ~ .dg__groups{grid-template-columns:1fr}}
@media (max-width:520px){.dg__groups4{grid-template-columns:1fr 1fr}.dg__real2 .dg__anim{aspect-ratio:4/3}}
.dg__groups4-h{grid-column:1/-1;color:var(--ink-3)!important}
.dg__real2 ~ .dg__groups{grid-template-columns:1fr}
.dg__real2 ~ .dg__groups .dg__matrix ul{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:700px){.dg__real2 ~ .dg__groups .dg__matrix ul{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 19 Oct · 01 laid out as the deck's objects page */
.dg__obj{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,1fr);gap:var(--gap);align-items:start}
.dg__obj .dg__nums{margin-top:clamp(16px,1.6vw,24px)}
.dg__obj .dg__nums .stats{grid-template-columns:.9fr .9fr 1.2fr!important}
.dg__obj-r>.dg__k{color:var(--ink);font-weight:600}
.dg__pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.dg__pills li{padding:8px 13px;border:1px solid var(--line-2);border-radius:999px;background:var(--card);font-family:var(--f-mono);font-size:12.5px;font-weight:600;line-height:1.2;color:var(--ink);white-space:nowrap}
.dg__props{margin-top:clamp(18px,2vw,28px);padding:clamp(16px,1.6vw,24px);border:1px solid var(--line-2);border-radius:14px;background:var(--card)}
.dg__props h4{font-size:clamp(17px,1.45vw,23px);font-weight:600;font-variation-settings:"wdth" 106;letter-spacing:-.01em;color:var(--ink)}
.dg__fr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px}
.dg__fr figure{position:relative;margin:0;aspect-ratio:6/7;border-radius:8px;overflow:hidden;background:var(--bg-3)}
.dg__fr img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dg__fr figcaption{position:absolute;left:8px;bottom:7px;font-family:var(--f-mono);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.65)}
.dg__pr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
.dg__pr div{min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;padding:6px;border:1px solid var(--line-2);border-radius:8px;background:var(--bg-3);font-family:var(--f-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
@media (max-width:960px){.dg__obj{grid-template-columns:1fr}}
@media (max-width:520px){.dg__fr{grid-template-columns:repeat(2,minmax(0,1fr))}.dg__pills li{font-size:11.5px;padding:7px 11px}}
.dg__fr figcaption{font-size:9.5px;letter-spacing:.07em;right:6px;white-space:nowrap;overflow:hidden;text-overflow:clip}
.dg__pr div{letter-spacing:.08em}
/* Data points keep the earlier boxes (Sienna, 19 Oct); three columns in the half-width column, the two longest across two */
.dg__obj .dg__matrix--points ul{grid-template-columns:repeat(3,minmax(0,1fr))}
.dg__obj .dg__matrix--points li{white-space:nowrap;overflow:hidden;text-overflow:clip}
.dg__obj .dg__matrix--points li:nth-last-child(-n+2){grid-column:span 1}
.dg__obj .dg__matrix--points li:last-child{grid-column:span 2}
@media (max-width:520px){.dg__obj .dg__matrix--points ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dg__fr figcaption{font-size:clamp(8px,.62vw,9.5px);letter-spacing:.05em}
/* 19 Oct · the benchmark apartment as a drawn animation */
.dg__bench .dg__anim{aspect-ratio:16/10.5;width:100%}
@media (max-width:700px){.dg__obj .dg__nums .stats{grid-template-columns:1fr!important}}
/* 19 Oct, third round (Sienna): "Data points" and "Object properties" share one heading style (no small mono capitals),
   a little smaller than the card heading was; Mass / Friction / Material class take the data-point boxes' style */
.dg__obj .dg__matrix--points>.dg__k,.dg__props h4{font-family:var(--f-sans);font-size:clamp(15px,1.15vw,18px);font-weight:600;font-variation-settings:"wdth" 106;
  letter-spacing:-.01em;line-height:1.25;text-transform:none;color:var(--ink)}
.dg__pr{gap:6px;margin-top:6px}
.dg__pr div{min-height:0;display:block;text-align:left;padding:10px 11px;border:1px solid var(--line-2);border-radius:8px;background:none;
  font-family:var(--f-sans);font-size:12.5px;line-height:1.3;letter-spacing:0;text-transform:none;color:var(--ink)}
@media (max-width:600px){.dg__pr div{padding:8px 10px;font-size:12px}}
.dg__fr figcaption{font-size:clamp(7.5px,.56vw,9px);letter-spacing:.02em;left:7px;right:4px}
/* 03, fourth round: the four groups in one row under the three panels; features and knife-work signals side by side */
.dg__groups4--row{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(20px,2.4vw,36px)}
.dg__groups--rw{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.dg__groups--rw .dg__matrix ul{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:960px){.dg__groups4--row{grid-template-columns:repeat(2,minmax(0,1fr))}.dg__groups--rw{grid-template-columns:1fr!important}}
/* drawn panels keep their 4:3 frame on phones (the older mobile rule squeezed figures to a fixed height and these to 2px) */
@media (max-width:960px){
  .dg__three .dg__fig:has(.dg__anim){height:auto!important;overflow:visible}
  .dg__three .dg__fig>.dg__anim{aspect-ratio:4/3!important;height:auto!important;width:100%}
}
/* 03, fifth round: three columns, chef above football in each; the middle column four close-ups per domain */
.dg__rw2 .dg__fig{aspect-ratio:auto}
.dg__rw2 .dg__pair{display:grid;grid-template-rows:auto auto;gap:8px}
.dg__rw2 .dg__anim{aspect-ratio:4/3;width:100%}
.dg__mos{display:grid;grid-template-columns:1fr 1fr;gap:4px;aspect-ratio:4/3}
.dg__mos .dg__anim{aspect-ratio:auto;height:100%;border-radius:8px}
@media (max-width:960px){
  .dg__rw2 .dg__fig{height:auto!important;overflow:visible}
  .dg__rw2 .dg__fig>.dg__pair{height:auto!important}
  .dg__rw2 .dg__anim{aspect-ratio:4/3!important;height:auto!important}
  .dg__rw2 .dg__mos{aspect-ratio:4/3!important}
  .dg__rw2 .dg__mos .dg__anim{aspect-ratio:auto!important;height:100%!important}
}
@media (max-width:960px){
  .dg__three.dg__rw2 .dg__fig .dg__pair>figure.dg__anim{aspect-ratio:4/3!important;height:auto!important;width:100%}
  .dg__three.dg__rw2 .dg__fig .dg__mos>figure.dg__anim{aspect-ratio:auto!important;height:100%!important}
}
.dg__obj-r .dg__matrix--props2{margin-top:clamp(20px,2.2vw,32px)}
/* the Context group's four short items as a 2 x 2 grid (Sienna, 19 Oct) */
.dg__groups4--row .dg__matrix:last-child ul{grid-template-columns:repeat(2,minmax(0,1fr))}
/* 03, four domains: the column titles above the tiles, aligned across the three columns (subgrid); rows line up */
@media (min-width:961px){
  .dg__rw2{grid-template-rows:auto auto auto auto;row-gap:0}
  .dg__rw2 .dg__stage{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0}
  .dg__rw2 .dg__stage>.dg__k{grid-row:1;margin-top:0}
  .dg__rw2 .dg__stage>.dg__t{grid-row:2}
  .dg__rw2 .dg__stage>.dg__s{grid-row:3;margin-bottom:14px}
  .dg__rw2 .dg__stage>.dg__fig{grid-row:4}
}
@media (max-width:960px){
  .dg__rw2 .dg__stage{display:flex;flex-direction:column}
  .dg__rw2 .dg__stage>.dg__fig{order:4;margin-top:12px}
}
/* 03: no small capitals (Sienna, 19 Oct, repeated): its labels in the sans, as written; the group names in lilac */
#how-expert .dg__groups4 .dg__k,#how-expert .dg__groups .dg__k{font-family:var(--f-sans);font-size:clamp(14px,1.05vw,16px);font-weight:600;letter-spacing:-.005em;text-transform:none;color:var(--ink)}
#how-expert .dg__groups4 .dg__matrix>.dg__k{color:var(--lilac)}
#how-expert .dg__groups4-h{font-size:clamp(15px,1.15vw,18px)!important;color:var(--ink)!important}
#how-expert .dg__rw2 .dg__s{font-family:var(--f-sans);font-size:clamp(13.5px,.95vw,15px);letter-spacing:0;text-transform:none;color:var(--ink-2)}
/* 19 Oct (Sienna): every drawn tile a little flatter, 3:2 landscape (03 and 04, every width) */
.dg__twin .dg__anim,.dg__rw2 .dg__anim,.dg__rw2 .dg__mos{aspect-ratio:3/2!important}
.dg__rw2 .dg__mos .dg__anim{aspect-ratio:auto!important;height:100%!important}
@media (max-width:960px){
  .dg__three .dg__fig>.dg__anim,.dg__three.dg__rw2 .dg__fig .dg__pair>figure.dg__anim{aspect-ratio:3/2!important}
}
#how-twin .dg__s{font-family:var(--f-sans);font-size:clamp(13.5px,.95vw,15px);letter-spacing:0;text-transform:none;color:var(--ink-2)}
/* 20 Oct: 20 tiles, 4 of them big: 8 columns x 4 rows on desktop, 4 on tablets, 2 on phones; every count fills exactly */
.worlds__wall{--c:8}
.worlds__wall figcaption{font-size:9.5px;padding:18px 8px 6px}
@media (min-width:701px) and (max-width:1000px){.worlds__wall{--c:4}}
@media (max-width:700px){.worlds__wall{--c:2}}
/* the call to action (Evelyn, 20 Oct); vcta: the site already has a .cta */
.vcta{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(22px,3vh,34px);background:none;padding:0;border:0}
.vcta__btn{display:inline-flex;align-items:center;gap:10px;padding:13px 20px;border-radius:999px;border:1px solid var(--line-3);font-family:var(--f-sans);font-size:15px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink);text-decoration:none;background:color-mix(in srgb,var(--bg) 60%,transparent);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .2s,border-color .2s,transform .2s}
.vcta__btn::after{content:"→";font-weight:500;transition:transform .2s}
.vcta__btn:hover{border-color:var(--lilac);transform:translateY(-1px)}.vcta__btn:hover::after{transform:translateX(3px)}
.vcta__btn--main{background:var(--lilac);border-color:var(--lilac);color:#1a1018}
.vcta__btn--main:hover{background:var(--lilac-hi);border-color:var(--lilac-hi)}
.vcta--hero{pointer-events:auto}
.vcta--end{justify-content:center;margin:clamp(40px,6vw,80px) 0 0;padding-top:clamp(32px,4vw,52px);border-top:1px solid var(--line-2)}
/* 20 Oct: physiology has three items, context four: both two columns, and wider; the lists under the panels: action data
   across the full width, environment-conditioned data and the shared features side by side under it */
.dg__groups4--row{grid-template-columns:1fr 1fr 1.35fr 1.35fr!important}
.dg__groups4--row .dg__matrix:nth-child(4) ul{grid-template-columns:repeat(2,minmax(0,1fr))}
.dg__groups--rw{grid-template-columns:1fr 1fr!important}
.dg__groups--rw .dg__matrix:first-child{grid-column:1/-1}
.dg__groups--rw .dg__matrix:first-child ul{grid-template-columns:repeat(4,minmax(0,1fr))}
.dg__groups--rw .dg__matrix:not(:first-child) ul{grid-template-columns:repeat(2,minmax(0,1fr))}
#how-expert .dg__groups--rw li,#how-expert .dg__groups4 li{white-space:nowrap}
@media (max-width:960px){.dg__groups4--row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dg__groups--rw{grid-template-columns:1fr!important}.dg__groups--rw .dg__matrix:first-child ul{grid-template-columns:repeat(2,minmax(0,1fr))}#how-expert .dg__groups--rw li,#how-expert .dg__groups4 li{white-space:normal}}
/* 20 Oct: 21 tiles, 5 big: 9 columns x 4 rows on desktop (4 on tablets, 2 on phones; every count fills exactly) */
.worlds__wall{--c:9;--g:clamp(5px,.55vw,10px)}
.worlds__wall figcaption{font-size:9px;padding:16px 7px 5px;letter-spacing:.1em}
.worlds__wall .big figcaption{font-size:10px;padding:20px 10px 7px}
@media (min-width:701px) and (max-width:1000px){.worlds__wall{--c:4}}
@media (max-width:700px){.worlds__wall{--c:2}}
@media (min-width:701px) and (max-width:1000px){.worlds__wall{--c:6}}
/* tablets: the five big tiles cannot pack evenly here, so every tile is one cell: 3 x 7 */
@media (min-width:701px) and (max-width:1000px){.worlds__wall{--c:3}.worlds__wall .big{grid-column:auto;grid-row:auto}}
.worlds__wall figcaption{white-space:nowrap;letter-spacing:.06em}
/* 20 Oct, later (Sienna: five rows, bigger films): 6 columns x 5 rows, 3 big */
.worlds__wall{--c:6;--g:clamp(6px,.7vw,12px)}
.worlds__wall figcaption{font-size:10px;padding:20px 10px 7px;letter-spacing:.1em}
.worlds__wall .big figcaption{font-size:11px;padding:24px 12px 9px}
@media (min-width:701px) and (max-width:1000px){.worlds__wall{--c:3}.worlds__wall .big{grid-column:auto;grid-row:auto}}
@media (max-width:700px){.worlds__wall{--c:2}}
/* 20 Oct, 22 tiles: 5 x 5 with one big tile; tablets and phones two columns, all single */
.worlds__wall{--c:5}
@media (max-width:1000px){.worlds__wall{--c:2}.worlds__wall .big{grid-column:auto;grid-row:auto}}
/* 20 Oct · A + C: the platform paragraph, and the right box in two groups (We train, We serve) */
.pg-home p.platform{margin:clamp(16px,1.8vw,26px) 0 0;max-width:none;font-size:clamp(15px,1.02vw,17px);line-height:1.6;color:var(--ink-2);text-wrap:pretty}
.haves:has(.haves__col--two){grid-template-columns:max-content minmax(140px,1fr) 500px}
.haves__col--two .haves__grp{margin:0;font-family:var(--f-sans);font-size:14px;font-weight:600;color:var(--ink-2)}
.haves__col--two .haves__grp:not(:first-child){margin-top:20px}
.haves__col--two h3{color:var(--lilac);margin-top:4px}
.haves__col--two ul{height:auto!important}
.haves__col--two li{flex:none!important}
.haves__col--two .haves__serve li{display:block;padding:16px 18px}
.haves__col--two .haves__serve b{letter-spacing:0;font-size:clamp(15px,1.15vw,18px)}
.haves__col--two .haves__serve span{max-width:none;font-size:clamp(13.5px,.95vw,15px);line-height:1.4;margin-top:4px}
@media (max-width:1100px){.haves:has(.haves__col--two){grid-template-columns:minmax(0,1fr) minmax(90px,.4fr) minmax(0,1.2fr)}}
@media (max-width:860px){.haves:has(.haves__col--two){grid-template-columns:1fr}}
/* 20 Oct · the phone version (Sienna: "a very good mobile version, very clear, not glitchy, more efficient") */
.dg__doms{display:none}
@media (max-width:700px){
  /* the two calls to action, smaller (Sienna: "a bit too big") */
  .vcta{gap:8px;margin-top:20px}
  .vcta__btn{padding:9px 14px;gap:7px;font-size:13.5px}
  .vcta--end{margin-top:36px;padding-top:28px}
  /* 03: one domain at a time, picked from a row of tabs; the three columns stacked under it */
  #how-expert .dg__doms{display:flex;gap:2px;margin:22px 0 2px;padding:3px;border:1px solid var(--line-2);border-radius:999px;
    overflow-x:auto;scrollbar-width:none;background:color-mix(in srgb,var(--bg) 70%,transparent)}
  #how-expert .dg__doms::-webkit-scrollbar{display:none}
  #how-expert .dg__doms button{flex:1 0 auto;padding:8px 6px;border:0;border-radius:999px;background:none;cursor:pointer;
    font-family:var(--f-sans);font-size:12.5px;font-weight:600;line-height:1;letter-spacing:0;color:var(--ink-2);
    -webkit-tap-highlight-color:transparent;transition:background .2s,color .2s}
  #how-expert .dg__doms button[aria-selected="true"]{background:var(--lilac);color:#1a1018}
  #how-expert .dg__three.dg__rw2{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;gap:24px!important;
    overflow:visible!important;margin-inline:0!important;padding-inline:0!important;scroll-snap-type:none!important}
  #how-expert .dg__rw2>.dg__stage{flex:none!important;max-width:none!important;width:100%}
  .js #how-expert .dg__rw2 .dg__pair>:not(.is-dom){display:none!important}
  #how-expert .dg__rw2 .dg__pair{gap:0}
  #how-expert .dg__rw2 .dg__stage>.dg__fig{margin-top:10px}
  #how-expert .dg__rw2 .dg__stage:first-child>.dg__s{display:none}      /* the tabs say it */
  #how-expert .dg__rw2 .dg__stage>.dg__t{margin-top:2px}
  /* the wall: three columns of 3:2 tiles, Warehouse across the top (3 x 3 cells): 9 + 21 = 30, ten rows, no gaps */
  .worlds__wall{--c:3;--g:5px;grid-auto-rows:calc((100vw - 2*var(--m) - 2*var(--g)) / 3 * 2 / 3)}
  .worlds__wall .big{grid-column:span 3!important;grid-row:span 3!important}
  .worlds__wall figcaption{padding:12px 6px 4px;font-size:7.5px;letter-spacing:.05em;line-height:1.25;white-space:normal}
  .worlds__wall .big figcaption{padding:20px 10px 7px;font-size:10px;letter-spacing:.1em}
}
/* 20 Oct (Evelyn: the threads between We have and We train look squashed on phones): taller, and narrower, so they read as threads */
@media (max-width:860px){
  .haves__link{min-height:200px!important}
  .haves__link canvas{left:22%!important;right:22%!important;width:56%!important}
}
