/* RIPPLE RUN · v3 · tokens from brand_book/00_LOCKED · structure and motion measured on kstoimenov.com (docs/) */
@font-face{font-family:"Young Serif";src:url(fonts/youngserif.woff2) format("woff2");font-weight:400;font-display:swap;ascent-override:104.6%;descent-override:36.6%;line-gap-override:0%}
@font-face{font-family:"Instrument Sans";src:url(fonts/instrumentsans-400.woff2) format("woff2");font-weight:400;font-display:swap;ascent-override:97%;descent-override:25%;line-gap-override:0%}
@font-face{font-family:"Instrument Sans";src:url(fonts/instrumentsans-500.woff2) format("woff2");font-weight:500;font-display:swap;ascent-override:97%;descent-override:25%;line-gap-override:0%}

/* Layout: one 85.75rem container (71.5% of 1440, measured), 12.5rem section rhythm, hairline rules, photographs full bleed */
:root{
  --cream:#F2D8BC; --ink:#371B0C; --sunrise:#D58045; --amber:#F6AC4C;
  --rule:rgba(55,27,12,.18); --rule-n:rgba(242,216,188,.18);
  --display:"Young Serif",Georgia,serif; --text:"Instrument Sans",Arial,sans-serif;
  --in:cubic-bezier(.22,1,.36,1); --out:cubic-bezier(.76,0,.24,1);
  --gutter:16px; --floor:.28;
}
html{font-size:clamp(10px,.8333vw,24px);background:var(--cream);color:var(--ink);-webkit-text-size-adjust:100%;scroll-behavior:smooth}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--text);font-weight:400;font-size:1.6rem;line-height:1.5;background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
u{text-decoration:none}
figure{margin:0}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:var(--gutter);top:-100px;padding:10px 14px;background:var(--ink);color:var(--cream);z-index:100}
.skip:focus{top:var(--gutter)}
:focus-visible{outline:2px solid var(--sunrise);outline-offset:4px}
.c{width:100%;max-width:85.75rem;margin:0 auto}

/* type: Instrument Sans carries the sentence, one Young Serif word carries the voice */
.lab{font-family:var(--text);font-weight:500;font-size:1.2rem;line-height:1.3;letter-spacing:.1em;text-transform:uppercase}
.sec-lab{margin-bottom:2.4rem}
h1,h2,h3{font-family:var(--text);font-weight:400;text-wrap:balance;letter-spacing:-.02em}
.y{font-family:var(--display);letter-spacing:-.005em}
p{text-wrap:pretty}
.sec-h{font-size:3.6rem;line-height:1.04;max-width:15ch;margin-bottom:4.8rem}

/* reveal primitives (measured): line mask with a 115% rise; fade. Only with JS, so the page is complete without it */
.mask{display:block;overflow:clip;padding-bottom:.1em;margin-bottom:-.1em}
.js .slide{display:block;transform:translateY(115%);transition:transform .9s var(--in)}
.js .inView .slide,.js .slide.inView{transform:none}
.slide{display:block}
.js .fade{opacity:0;transition:opacity .7s var(--in)}
.js .fade.inView{opacity:1}

/* buttons: pills only for actions */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 2.8rem;border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font:500 1.6rem/1 var(--text);letter-spacing:.01em;white-space:nowrap;transition:background-color .3s,color .3s,border-color .3s,transform .16s var(--in)}
.btn:hover{background:var(--ink);color:var(--cream)}
.btn:active{transform:scale(.97)}
.btn-ink{background:var(--ink);color:var(--cream)}
.btn-ink:hover{background:var(--sunrise);border-color:var(--sunrise);color:var(--ink)}
.ulink{border-bottom:1px solid currentColor;padding-bottom:2px;display:inline-flex;align-items:center;min-height:44px;font-weight:500}

/* cursor (fine pointers only): a Sunrise ring; a cream disc that says what the photograph holds */
.cur{display:none}
@media (hover:hover) and (pointer:fine){
  .js .cur{display:block;position:fixed;left:0;top:0;z-index:90;pointer-events:none;opacity:0;transition:opacity .2s}
  .cur.on{opacity:1}
  .cur-s{width:8.25rem;height:8.25rem;margin:-4.125rem 0 0 -4.125rem;display:grid;place-items:center;transform:scale(.24);transition:transform .35s cubic-bezier(.33,1,.68,1)}
  .cur-s::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--sunrise);transition:background-color .3s,border-color .3s}
  .cur.link .cur-s{transform:scale(.17)}
  .cur.big .cur-s{transform:scale(1)}
  .cur.big .cur-s::before{background:var(--cream);border-color:var(--cream)}
  .cur-l{position:relative;font:500 1.2rem/1 var(--text);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);opacity:0;transition:opacity .25s .1s;white-space:nowrap}
  .cur.big .cur-l{opacity:1}
}

/* nav pill: gathers in once the hero is behind you */
.pnav{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;gap:.4rem;padding:.6rem;border-radius:999px;background:rgba(55,27,12,.82);-webkit-backdrop-filter:blur(10px) saturate(1.3);backdrop-filter:blur(10px) saturate(1.3);border:1px solid rgba(242,216,188,.16);transform:translate(-50%,calc((1 - var(--p,0)) * 140%));opacity:var(--p,0);pointer-events:none;will-change:transform}
.pnav.live{pointer-events:auto}
.pnav a{display:inline-flex;align-items:center;min-height:44px;padding:0 1.6rem;border-radius:999px;color:var(--cream);font:500 1.4rem/1 var(--text);white-space:nowrap;transition:background-color .3s,color .3s}
.pnav a:hover{background:rgba(242,216,188,.12)}
.pnav .pn-cta{background:var(--cream);color:var(--ink)}
.pnav .pn-cta:hover{background:var(--amber)}
.pn-x{display:none!important}

/* sections */
section{position:relative;padding:9.6rem var(--gutter)}

/* 1 · hero: one living surface. The photograph answers the pointer, a dawn light follows it, then the page sinks into paper */
.hero{min-height:100svh;padding:0;display:flex;flex-direction:column;justify-content:flex-end;overflow:clip;background:var(--ink)}
.hero-ph{position:absolute;inset:0}
.hero-ph img{width:100%;height:100%;object-fit:cover;object-position:62% 40%;transform:scale(1.06) translate3d(var(--hx,0),var(--hy,0),0);transition:transform 1.2s var(--in)}
.dawn{position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(40rem 40rem at var(--mx,50%) var(--my,40%),rgba(246,172,76,.22),rgba(246,172,76,0) 70%),
  linear-gradient(180deg,rgba(242,216,188,.7) 0%,rgba(242,216,188,0) 16%,rgba(242,216,188,0) 38%,rgba(242,216,188,.55) 62%,var(--cream) 88%)}
.hero-top{position:absolute;left:0;right:0;top:0;z-index:3;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:calc(env(safe-area-inset-top) + 16px) var(--gutter) 0}
.hero-logo{grid-column:2;display:flex;align-items:center;min-height:44px}
.hero-top .langsw{grid-column:3;justify-self:end}
.hero-logo img{width:150px;height:auto}
.hero-c{position:relative;z-index:2;padding:0 var(--gutter) calc(2.4rem + env(safe-area-inset-bottom))}
.hero-h{font-size:calc((100vw - 32px) / 7.35);line-height:.98;letter-spacing:-.03em;margin-bottom:2.4rem;font-kerning:none}
:lang(es) .hero-h,:lang(pt) .hero-h{font-size:calc((100vw - 32px) / 8.1)}
.l{display:block;overflow:clip;padding-bottom:.08em;margin-bottom:-.08em}
.js .hero-h .li{visibility:hidden}
.hero-h .wd{display:inline-block;white-space:nowrap}
.hero-h .ch{display:inline-block}
.hero-row{display:flex;flex-direction:column;gap:2rem}
.hero-sub{font-size:1.6rem;max-width:30ch}
.js .tag,.js .hero-cta{opacity:0}

/* language switch */
.langsw{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:rgba(242,216,188,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--rule)}
.langsw button{min-width:44px;min-height:44px;border:0;border-radius:999px;background:transparent;color:var(--ink);font:500 1.2rem/1 var(--text);letter-spacing:.08em;cursor:pointer;transition:background-color .3s,color .3s}
.langsw button.on{background:var(--ink);color:var(--cream)}
.langsw.ink{background:transparent;justify-self:start;width:max-content}

/* 2 · statement: read by scrolling. Words rise from the floor to Ink; four words switch to Young Serif; a rail fills beside it */
.statement{padding-top:12rem;padding-bottom:12rem}
.st-grid{position:relative}
.st p{font-size:2.2rem;line-height:1.28;letter-spacing:-.01em;max-width:30ch;margin-bottom:.9em}
.st .w{position:relative}
.js .st .w{opacity:var(--floor)}
.st u{font-family:var(--display);letter-spacing:0}
.st .ub{position:absolute;left:0;right:0;bottom:-.06em;height:.11rem;background:var(--sunrise);transform:scaleX(0);transform-origin:0 50%;transition:transform .55s var(--in)}
.st .ub.on{transform:scaleX(1)}
.st-close{margin-top:1.4em;font-size:2.6rem!important}
.rail{display:none}

/* 2b · reel: phrases run, the club grows to the full width */
.reel{padding:6rem 0 0;overflow:clip}
.track{display:flex;width:max-content;animation:reel 60s linear infinite paused}
.track.run{animation-play-state:running}
.track-g{display:flex;flex-shrink:0;align-items:center}
.track-g span{font-family:var(--display);font-size:4.8rem;line-height:1.1;white-space:nowrap;padding:0 3.2rem}
.track-g i{font-style:normal;color:var(--sunrise);font-size:2.4rem}
@keyframes reel{from{transform:translate(0)}to{transform:translate(-50%)}}
.stage-w{padding:5rem var(--gutter) 9.6rem}
.stage{width:100%;aspect-ratio:3/2;overflow:clip;transform:scale(.62);transform-origin:50% 50%;border-radius:2rem;will-change:transform}
.stage img{width:100%;height:100%;object-fit:cover}

/* 3 · numbers: the night ground. Sunrise numerals, tiles turn to warm grain under the pointer */
.numbers{background:var(--ink);color:var(--cream);overflow:clip}
.n-ph{position:absolute;inset:0}
.n-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;opacity:.28;filter:grayscale(.2)}
.n-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(55,27,12,.55),rgba(55,27,12,.9) 70%)}
.n-c{position:relative}
.numbers .sec-h{color:var(--cream)}
.num-row{display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--rule-n)}
.num{position:relative;padding:3.2rem 2rem;border-bottom:1px solid var(--rule-n);transition:background-color .3s,color .3s}
.num-u{display:block;text-align:right;color:var(--amber);margin-bottom:2.4rem}
.num-v{font-family:var(--display);font-size:6.4rem;line-height:1;font-variant-numeric:tabular-nums lining-nums;color:var(--sunrise);margin-bottom:2rem;transition:color .3s}
.num-d{font-size:1.5rem;line-height:1.45;max-width:26ch;opacity:.85}
.num:nth-child(2) .slide{transition-delay:.12s}.num:nth-child(3) .slide{transition-delay:.24s}
.num:nth-child(1) .num-d .slide{transition-delay:.22s}.num:nth-child(2) .num-d .slide{transition-delay:.34s}.num:nth-child(3) .num-d .slide{transition-delay:.46s}
@media (hover:hover) and (pointer:fine){
  .num:hover{color:var(--ink);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .22 0 0 0 0 .11 0 0 0 0 .05 0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),linear-gradient(135deg,var(--sunrise),var(--amber))}
  .num:hover .num-v,.num:hover .num-u{color:var(--ink)}
}

/* 4 · how it works: a row per step, its photograph unwraps from the corner */
.steps{display:grid;gap:6.4rem}
.step{display:grid;grid-template-columns:minmax(0,1fr);gap:3.2rem;padding-top:4rem;border-top:1px solid var(--rule)}
.step-n{display:block;margin-bottom:1.6rem;color:var(--ink)}
.step-n::before{content:"";display:inline-block;width:.8rem;height:.8rem;border-radius:50%;background:var(--sunrise);margin-right:1rem;vertical-align:.05em}
.step-h{font-size:2.8rem;line-height:1.08;max-width:18ch;margin-bottom:1.6rem}
.step-p{font-size:1.6rem;max-width:34ch}
.step-p .slide,.step-link .slide{transition-delay:.45s}
.step-link{margin-top:1.6rem}
.roll{display:block;position:relative}
.roll-a,.roll-b{display:block}
.roll-b{position:absolute;inset:0;top:100%}
@media (hover:hover) and (pointer:fine){.roll{transition:transform .4s var(--out)}.step.inView:hover .roll{transform:translateY(-100%)}}
.tile-in{overflow:clip;border-radius:.6rem;aspect-ratio:4/5}
.js .tile-in{clip-path:inset(0 100% 100% 0 round .6rem);transition:clip-path 1.1s var(--in)}
.js .tile.inView .tile-in{clip-path:inset(0 0 0 0 round .6rem)}
.tile img{width:100%;height:100%;object-fit:cover}
.js .tile img{transform:scale(1.14);transition:transform 1.2s var(--in)}
.js .tile.inView img{transform:none}
.step:nth-child(3) .tile-in{aspect-ratio:1/1}

/* 5 · quotes: the one pin. The photograph holds while the cards stack beside it */
.quotes{min-height:100svh;display:flex;align-items:center;padding-top:8rem;padding-bottom:8rem}
.q-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:3.2rem}
.q-ph{border-radius:.6rem;overflow:clip;height:26svh}
.q-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.quotes .sec-h{margin-bottom:3.2rem}
.stack{position:relative;height:30rem}
.qcard{position:absolute;left:0;top:0;width:min(40.5rem,calc(100% - 4rem));height:22rem;padding:2.4rem;background:var(--cream);border:1px solid var(--rule);border-radius:1rem;display:flex;flex-direction:column;justify-content:space-between}
.qcard p{font-family:var(--display);font-size:2rem;line-height:1.2;text-wrap:pretty}

/* 6 · partners: a quiet wall, one open seat */
.p-h{max-width:16ch}
.wall{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.cell{display:grid;place-items:center;min-height:14rem;padding:2rem;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);text-align:center}
.cell>*{opacity:.78;transition:opacity .35s,transform .45s var(--in)}
.cell img{height:2.4rem;width:auto}
.cell-you>*{opacity:1;color:var(--sunrise)}
.cell-you a{display:inline-flex;align-items:center;min-height:44px;padding:0 1rem}
@media (hover:hover) and (pointer:fine){.cell:hover>*{opacity:1;transform:scale(1.08)}}

/* 6b · ambassadors: the invitation left, the application right */
.amb{background:var(--cream)}
.a-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:6.4rem}
.amb .sec-h{margin-bottom:3.2rem}
.a-sub{font-size:1.7rem;line-height:1.55;max-width:42ch;margin:0 0 3.2rem}
.a-do{display:grid;gap:1.2rem;font-size:1.6rem}
.a-do li{display:flex;gap:1.2rem;align-items:baseline}
.a-do li::before{content:"";flex:none;width:.8rem;height:.8rem;border-radius:50%;background:var(--sunrise);transform:translateY(-.1rem)}
.a-form{display:grid;gap:2.4rem;padding:3.2rem 2.4rem;border:1px solid var(--rule);border-radius:1.2rem;background:rgba(255,255,255,.18)}
.fld{display:grid;gap:.8rem;border:0;min-width:0}
.fld label,.fld legend{font:500 1.2rem/1.3 var(--text);letter-spacing:.1em;text-transform:uppercase}
.fld legend{margin-bottom:.8rem;padding:0}
.a-form input:not([type=radio]),.a-form textarea{width:100%;min-height:48px;padding:1.2rem 1.4rem;font:400 16px/1.4 var(--text);color:var(--ink);background:var(--cream);border:1px solid var(--rule);border-radius:.8rem;transition:border-color .3s}
.a-form textarea{resize:vertical;min-height:12rem}
.a-form input:focus,.a-form textarea:focus{outline:none;border-color:var(--ink)}
.a-form [aria-invalid=true]{border-color:var(--sunrise)!important}
.two{display:grid;grid-template-columns:minmax(0,1fr);gap:2.4rem;align-items:end}
.reach{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.reach label{position:relative;display:flex}
.reach input{position:absolute;opacity:0;inset:0;cursor:pointer}
.reach span{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;padding:.6rem 1.2rem;line-height:1.15;border:1px solid var(--rule);border-radius:999px;font:500 1.4rem/1.2 var(--text);text-align:center;transition:background-color .3s,color .3s,border-color .3s}
.reach input:checked+span{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.reach input:focus-visible+span{outline:2px solid var(--sunrise);outline-offset:2px}
.a-act{display:flex;flex-wrap:wrap;align-items:center;gap:1.6rem 2.4rem}
.a-note{font-size:1.4rem;opacity:.7}
.a-msg{font-size:1.5rem;min-height:1.5em}
.fld .opt{text-transform:none;letter-spacing:0;font-weight:400;opacity:.62}
.a-msg.ok{color:var(--ink);font-weight:500}.a-msg.err{color:#9a3d12}

/* 7 · cta: the last light. A runner on a wall of morning, the line and one button over the empty stone */
.cta{min-height:100svh;padding:0;display:flex;flex-direction:column;overflow:clip;background:var(--ink)}
.cta-ph{position:absolute;inset:0}
.cta-ph img{width:100%;height:100%;object-fit:cover;object-position:62% 80%}
.cta-fade{position:absolute;inset:0;background:linear-gradient(180deg,var(--cream) 0%,rgba(242,216,188,.9) 30%,rgba(242,216,188,0) 62%)}
.cta-c{position:relative;z-index:2;padding:12rem var(--gutter) 0;display:flex;flex-direction:column;align-items:center;text-align:center}
.cta-h{font-size:calc((100vw - 32px) / 7.35);line-height:.98;letter-spacing:-.03em;margin-bottom:2.4rem}
.m{display:inline}
.cta-sub{font-size:1.6rem;max-width:30ch;margin-bottom:3.2rem}
.cta-sub .slide{transition-delay:.45s}
.js .cta-btn{opacity:0;transition:opacity .7s var(--in) .6s}
.js .inView .cta-btn{opacity:1}

/* footer */
.foot{min-height:60vh;display:flex;flex-direction:column;justify-content:space-between;gap:4.8rem;padding:8rem var(--gutter) calc(9rem + env(safe-area-inset-bottom))}
.foot-logo{display:block;width:100%}
.foot-logo img{width:100%;height:auto}
.foot-row{display:grid;grid-template-columns:minmax(0,1fr);gap:.4rem;padding-top:2.4rem;border-top:1px solid var(--rule)}
.foot-row p{display:flex;align-items:center;min-height:32px}
.foot-top{justify-self:start;display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid transparent;transition:border-color .3s}
.foot-top:hover{border-bottom-color:var(--ink)}

/* ≥ 760: the fluid rem system takes over; the grid opens */
@media (min-width:760px){
  :root{--gutter:4rem;--floor:.12}
  .pn-x{display:inline-flex!important}
  .hero-logo img{width:clamp(150px,14rem,336px)}
  .hero-c{padding-bottom:4.8rem}
  .hero-h,:lang(es) .hero-h,:lang(pt) .hero-h{font-size:min(12.5rem,10.4vw)}
  .l2{padding-left:26%}
  .hero-row{flex-direction:row;align-items:flex-end;justify-content:space-between}
  .hero-sub{font-size:1.8rem}
  section{padding:16rem var(--gutter)}
  .sec-h{font-size:6.25rem;margin-bottom:8rem}
  .statement{padding-left:var(--gutter);padding-right:var(--gutter)}
  .st-grid{display:grid;grid-template-columns:minmax(0,1fr) 4rem;column-gap:6rem}
  .st-grid .sec-lab{grid-column:1/-1}
  .st p{font-size:3.125rem}
  .st-close{font-size:3.6rem!important}
  .rail{display:block;position:relative;width:1px;justify-self:end;background:repeating-linear-gradient(180deg,var(--rule) 0 1px,transparent 1px 2.4rem);background-size:1px 2.4rem;width:1.2rem;border-right:1px solid var(--rule)}
  .rail i{position:absolute;right:-1px;top:0;width:1px;height:100%;background:var(--sunrise);transform:scaleY(var(--r,0));transform-origin:0 0}
  .track-g span{font-size:10rem;padding:0 5.5rem}
  .track-g i{font-size:4rem}
  .stage{aspect-ratio:3/2;max-height:88vh}
  .stage-w{padding-bottom:12rem}
  .num-row{grid-template-columns:repeat(3,minmax(0,1fr));border-top:0;gap:2.4rem}
  .num{border:1px solid var(--rule-n);border-radius:.6rem;padding:4rem 2.4rem;min-height:24rem}
  .num-v{font-size:min(6.4rem,4.4vw)}
  .steps{gap:12rem}
  .step{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:8rem;padding-top:4.8rem}
  .step-h{font-size:4.375rem}
  .tile{max-width:40rem;justify-self:end;width:100%}
  .q-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:8rem}
  .q-ph{height:76vh}
  .stack{height:38rem}
  .qcard{height:24rem}
  .qcard p{font-size:2.2rem}
  .p-h{margin-left:26%}
  .a-form{padding:4.8rem 4rem}
  .amb .sec-h{font-size:4.8rem;max-width:12ch}

  .wall{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cell{min-height:18rem}
  .cta{background:var(--cream);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
  .cta-ph{position:relative;inset:auto;grid-column:2;grid-row:1;height:100vh;min-height:100%}
  .cta-ph img{object-position:58% 50%}
  .cta-fade{display:none}
  .cta-c{grid-column:1;grid-row:1;padding:0 var(--gutter);align-items:flex-start;text-align:left}
  .cta-h{font-size:min(8.4rem,5.6vw)}
  .m{display:none}
  .cta-sub{font-size:1.8rem}
  .foot-row{grid-template-columns:repeat(2,auto);justify-content:space-between;align-items:center;gap:1.6rem 2.4rem}
  .foot-top{justify-self:end}
}

/* reduced motion: everything rests in its final state; nothing pins, drifts or follows */
.rm .slide,.rm .fade,.rm .tag,.rm .hero-cta,.rm .cta-btn{transform:none!important;opacity:1!important;transition:none!important}
.rm .hero-h .li{visibility:visible}
.rm .tile-in{clip-path:none!important;transition:none}
.rm .tile img,.rm .hero-ph img{transform:none!important;transition:none}
.rm .st .w{opacity:1!important}
.rm .st .ub{transform:scaleX(1);transition:none}
.rm .quotes{min-height:0}
.rm .stack{height:auto;display:grid;gap:1.6rem}
.rm .qcard{position:static;width:100%;height:auto}
.rm .track{animation:none}
.rm .stage{transform:none;border-radius:0}
.rm .pnav{transition:none}
.rm{scroll-behavior:auto}

@media (min-width:1024px){
  .a-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:8rem;align-items:start}
  .a-side{position:sticky;top:12rem}
  .foot-row{grid-template-columns:repeat(5,auto)}
}
@media (min-width:1200px){.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
