/* AMPL website, Wave 10: the approved Wave 9 design (Direction A), carried over from the signed-off preview
   ("AMPL Wave 9 Preview", version 9). Values are the preview's own; only preview-only rules were removed
   (review bar, Direction B, image placeholders, view switching). Fonts are the site's own woff2 files, byte-identical
   to the preview's inlined copies. Wave 10 additions are at the end and are marked. */
/* Layout: AMPL's existing system (navy, paper, gold; Inter + Source Serif 4), recomposed as editorial bands - no repeated text/rounded-image rows, no identical card grids. Stage colours appear only where Map, Choose, Build, Prove are named. */
@font-face{font-family:'Inter';src:url('/assets/fonts/inter-latin-var.woff2') format('woff2');font-weight:100 900;font-display:swap}

@font-face{font-family:'Source Serif 4';src:url('/assets/fonts/source-serif-4-latin-var.woff2') format('woff2');font-weight:200 900;font-display:swap}

:root{
  color-scheme:light;
  --navy:#232f47; --navy-2:#303d56; --navy-deep:#1b2538;
  --paper:#fbf8ef; --paper-2:#f0efe7; --plaster:#e6e0d2; --card:#fffdf7;
  --ink:#232f47; --ink-2:#414b61; --ink-3:#5a6070;
  --on-navy:#fbf8ef; --on-navy-2:#d3d9e4; --line-navy:#56617a;
  --rule:#cfd2c9; --rule-soft:#e2e2d8;
  --gold:#e8b53f; --gold-soft:#f6ead0;
  --map:#bdcdd7; --choose:#e6cc74; --build:#b9b6d8; --prove:#d2d6b5;
  --flag:#b4532a; --ochre:#9a6a12;
  --sans:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --serif:'Source Serif 4',ui-serif,Georgia,'Times New Roman',serif;
  --wrap:76rem; --measure:36rem;
  --gut:max(16px,clamp(1.25rem,4.5vw,4rem));
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}

h1,h2,h3{margin:0;font-weight:550;letter-spacing:-.045em;line-height:1.06;text-wrap:balance}

h2{font-size:clamp(2.1rem,3.6vw,3.4rem)}

h3{font-size:1.25rem;letter-spacing:-.025em;line-height:1.2}

h1 em,h2 em{font-family:var(--serif);font-weight:420;letter-spacing:-.02em}

p{margin:0}

a{color:inherit}

:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}

.wrap{max-width:var(--wrap);margin-inline:auto;padding-left:max(var(--gut),env(safe-area-inset-left,0px));padding-right:max(var(--gut),env(safe-area-inset-right,0px))}

.label{font-size:.72rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}

.lead{font-size:clamp(1.08rem,1.3vw,1.22rem);line-height:1.55;color:var(--ink-2);max-width:var(--measure)}

.body-copy{display:grid;gap:1rem;max-width:var(--measure);color:var(--ink-2)}

.btn{display:inline-flex;align-items:center;gap:.5rem;min-height:48px;padding:.75rem 1.35rem;border-radius:999px;font-size:.92rem;font-weight:600;text-decoration:none;border:1px solid transparent;transition:transform .2s ease,background-color .2s ease}

.btn--gold{background:var(--gold);color:var(--navy)}

.btn--gold:hover{background:var(--gold-soft);transform:translateY(-1px)}

.btn--line{border-color:currentColor}

.btn--line:hover{transform:translateY(-1px)}

.btn--navy{background:var(--navy);color:var(--on-navy)}

.btn--navy:hover{background:var(--navy-2);transform:translateY(-1px)}

.actions{display:flex;flex-wrap:wrap;gap:.75rem}


/* ---------- masthead ---------- */
.mast{background:var(--navy);color:var(--on-navy)}

.mast .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap;padding-block:1rem}

.brand{display:block;width:150px;text-decoration:none;container-type:inline-size}

.brand-art{display:block;width:100%;aspect-ratio:1440/424;overflow:hidden;position:relative}

.brand-art img{position:absolute;width:119.514%;max-width:none;height:auto;left:-9.722%;top:-51.887%;mix-blend-mode:lighten;display:block}

.mast .brand{width:clamp(150px,20vw,290px)}

.brand-desc{display:block;margin:1.6cqw 11.6% 0 0;font-weight:650;font-size:max(8px,4.5cqw);letter-spacing:.7em;text-align:right;line-height:1.3;color:var(--gold);white-space:nowrap}

.mnav{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}

.mnav a{color:#e2e6ef;text-decoration:none;font-size:.92rem}

.mnav a:hover{color:var(--gold)}

.mnav .btn{color:var(--navy);font-size:.88rem;min-height:42px}

@media (prefers-reduced-motion:no-preference){
  .brand-art img{animation:logo-in 1.1s cubic-bezier(.2,.7,.2,1) both}

  .brand-desc{animation:desc-in .8s ease .65s both}

}

@keyframes logo-in{from{opacity:0;transform:translateY(8px) scale(.96)}
to{opacity:1;transform:none}
}

@keyframes desc-in{from{opacity:0;letter-spacing:1.1em}
to{opacity:1;letter-spacing:.7em}
}


/* ---------- living lines ---------- */
.trace{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;color:#9fb0d3}

.trace path{fill:none;stroke:currentColor;stroke-width:1.2;opacity:.22;vector-effect:non-scaling-stroke}

.trace rect{fill:none;stroke:currentColor;stroke-width:1.2;opacity:.36;vector-effect:non-scaling-stroke}

.trace circle{fill:#eef2fb;opacity:0}

.trace--light{color:#3d4a78}
.trace--light path{opacity:.14}
.trace--light rect{opacity:.24}
.trace--light circle{fill:#3d4a78}

@media (prefers-reduced-motion:no-preference){
  .tp0{animation:tp0 22s linear 0s infinite}
.tp1{animation:tp1 17s linear 4s infinite}
.tp2{animation:tp2 19s linear 9s infinite}

}

@keyframes tp0{0%{transform:translate(560px,600px);opacity:0}
3%{opacity:.9}
5.05%{transform:translate(560px,545px)}
34.46%{transform:translate(880px,545px)}
38.59%{transform:translate(880px,500px)}
68%{transform:translate(1200px,500px);opacity:.9}
72%,100%{transform:translate(1200px,500px);opacity:0}
}

@keyframes tp1{0%{transform:translate(1200px,100px);opacity:0}
3%{opacity:.9}
26.71%{transform:translate(980px,100px)}
34%{transform:translate(980px,40px)}
68%{transform:translate(700px,40px);opacity:.9}
72%,100%{transform:translate(700px,40px);opacity:0}
}

@keyframes tp2{0%{transform:translate(0px,60px);opacity:0}
3%{opacity:.9}
26.61%{transform:translate(180px,60px)}
32.52%{transform:translate(180px,20px)}
68%{transform:translate(420px,20px);opacity:.9}
72%,100%{transform:translate(420px,20px);opacity:0}
}


/* ---------- brush edge ---------- */
.edge{display:block;width:100%;height:28px}

.edge path{fill:var(--edge-fill,var(--paper))}


/* ---------- HERO A: typographic statement + panoramic band ---------- */
.hero-a{background:var(--navy);color:var(--on-navy);position:relative;overflow:hidden}

.hero-a .wrap{position:relative;z-index:1;padding-block:clamp(3rem,7vw,5.5rem) clamp(2.5rem,5vw,4rem);display:grid;gap:2.25rem}

.intro-line{display:flex;align-items:center;gap:.9rem;font-family:var(--serif);font-size:clamp(1.06rem,.95rem + .35vw,1.25rem);font-weight:420;line-height:1.42;letter-spacing:0;color:var(--on-navy);max-width:44rem}

.intro-line::before{content:"";flex:none;width:28px;height:2px;background:var(--gold)}

.hero-a h1{font-size:clamp(2.9rem,7.2vw,6.6rem);font-weight:500;letter-spacing:-.06em;line-height:1.0;max-width:15ch}

.hero-a h1 em{display:block;color:var(--gold)}

.hero-a__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem 4rem;align-items:end}

.hero-a__row p{font-size:1.12rem;line-height:1.6;color:var(--on-navy);max-width:34rem}

.hero-a .btn--line{color:var(--on-navy)}

.hero-a__row .actions{justify-content:flex-end}

.hero-a{--pano-h:clamp(240px,36vw,516px);--cl:calc((100% - min(100%,76rem)) / 2 + var(--gut));--x0:calc(var(--cl) + 7.6 * clamp(2.9rem,7.2vw,6.6rem));--rb:calc(100% - var(--cl) / 2);--band:calc(clamp(3rem,7vw,5.5rem) * .42)}

/* hero lines: thin rules pinned to the text column */
.hx{position:absolute;pointer-events:none;z-index:0;color:#9fb0d3}

.hx span{position:absolute;display:block}

.hx__a,.hx__b{height:0;border-top:1px solid currentColor;opacity:.22}

.hx__v{width:0;border-left:1px solid currentColor;opacity:.22}

.hx__n{width:8px;height:8px;border:1.2px solid currentColor;border-radius:2px;opacity:.36;margin:-4px 0 0 -4px}

.hx__run{inset:0}

.hx__run i{position:absolute;left:-3.5px;top:-3.5px;width:7px;height:7px;border-radius:50%;background:#eef2fb;opacity:0}

.hx--l{left:0;top:calc(var(--band) - 11px);height:22px;width:calc(var(--cl) + 28px);--st:calc(100% - 92px)}

.hx--l .hx__a{top:22px;left:0;width:var(--st)}
.hx--l .hx__v{left:var(--st);top:0;height:22px}
.hx--l .hx__b{top:0;left:var(--st);right:0}

.hx--l .hx__n1{left:var(--st);top:22px}
.hx--l .hx__n2{left:100%;top:0}

.hx--r{left:var(--x0);right:0;top:calc(var(--band) - 11px);height:22px;--st:min(290px,30%)}

.hx--r .hx__a{top:0;left:var(--st);right:0}
.hx--r .hx__v{left:var(--st);top:0;height:22px}
.hx--r .hx__b{top:22px;left:0;width:var(--st)}

.hx--r .hx__n1{left:var(--st);top:0}
.hx--r .hx__n2{left:0;top:22px}

.hero-a__row{position:relative}

.hx--b{left:50%;right:calc((100% - 100vw) / 2);top:-1rem;bottom:-2.4rem}

.hx--b .hx__a{bottom:0;left:0;right:0}
.hx--b .hx__v{left:0;top:0;bottom:0}
.hx--b .hx__n1{left:0;top:100%}
.hx--b .hx__n2{left:0;top:0}

@media (prefers-reduced-motion:no-preference){
  .hx--l .hx__run{animation:hxl 9s linear infinite}
.hx--l .hx__run i{animation:dot 9s linear infinite}

  .hx--r .hx__run{animation:hxr 12s linear 3s infinite}
.hx--r .hx__run i{animation:dot 12s linear 3s infinite}

  .hx--b .hx__run{animation:hxb 13s linear 6s infinite}
.hx--b .hx__run i{animation:dot 13s linear 6s infinite}

}

@keyframes hxl{0%{transform:translate(0,22px)}
62%{transform:translate(calc(100% - 92px),22px)}
70%{transform:translate(calc(100% - 92px),0)}
88%,100%{transform:translate(100%,0)}
}

@keyframes hxr{0%{transform:translate(100%,0)}
64%{transform:translate(min(290px,30%),0)}
70%{transform:translate(min(290px,30%),22px)}
88%,100%{transform:translate(0,22px)}
}

@keyframes hxb{0%{transform:translate(100%,100%)}
66%{transform:translate(0,100%)}
88%,100%{transform:translate(0,0)}
}

@media (max-width:900px){.hx--b{display:none}
}

@media (max-width:560px){.hx{display:none}
}

.pano{position:relative;height:var(--pano-h);background:var(--navy-deep)}

.pano img{width:100%;height:100%;object-fit:cover;object-position:50% 58%;display:block}

.pano::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--navy) 0%,transparent 28%)}

.pano .brush{position:absolute;left:0;width:100%;display:block;pointer-events:none;z-index:2}

.pano .brush--top{top:-1px;height:clamp(40px,6.5vw,96px);fill:var(--navy)}

.pano .brush--bottom{bottom:-1px;height:clamp(36px,6.5vw,96px);fill:var(--paper)}

.pano::before{content:"";position:absolute;left:0;right:0;bottom:0;height:24%;background:linear-gradient(0deg,var(--paper) 0%,rgba(251,248,239,0) 100%);z-index:1}

.pano figcaption{position:absolute;right:max(var(--gut),env(safe-area-inset-right,0px));bottom:2.6rem;color:var(--on-navy);font-size:.78rem;letter-spacing:.04em;opacity:.85}


/* ---------- section scaffolding ---------- */
.sec{padding-block:clamp(4rem,8vw,7rem)}

.sec-head{display:grid;gap:1rem;margin-bottom:clamp(2rem,4vw,3.25rem);max-width:44rem}


/* ---------- Who we help: staggered contact sheet ---------- */
.who{display:grid;grid-template-columns:minmax(0,19rem) minmax(0,1fr);gap:clamp(2rem,5vw,5rem)}

.who__side{position:sticky;top:2rem;align-self:start;display:grid;gap:1.1rem}

.who__side p{color:var(--ink-2)}

.sheet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.25rem 1.5rem}

.sheet figure{margin:0;display:grid;gap:.85rem;align-content:start}

.sheet figure:nth-child(3n+2){transform:translateY(3.25rem)}

.sheet .crop{aspect-ratio:4/5;overflow:hidden;background:var(--plaster);clip-path:inset(0 round 2px)}

.sheet figure:nth-child(odd) .crop{aspect-ratio:1/1}

.sheet .crop img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;display:block}

.sheet img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}

.sheet figure:hover img{transform:scale(1.04)}

.sheet h3{font-size:1.08rem}

.sheet figure{background:#fffdf8;padding:.7rem .7rem 1.15rem;border:1px solid rgba(35,47,71,.09);box-shadow:0 1px 0 rgba(35,47,71,.05),0 16px 30px -20px rgba(35,47,71,.42);rotate:var(--tilt,0deg);transition:rotate .45s ease;align-self:start}

.sheet figure:nth-child(1){--tilt:-1.6deg}
.sheet figure:nth-child(2){--tilt:1.2deg}
.sheet figure:nth-child(3){--tilt:1.3deg}

.sheet figure:nth-child(4){--tilt:-1deg}
.sheet figure:nth-child(5){--tilt:-1.4deg}
.sheet figure:nth-child(6){--tilt:1.5deg}

.sheet figure:hover{rotate:0deg}

.sheet figcaption{padding:0 .2rem}

#who-h{font-size:clamp(2.5rem,4.6vw,4.4rem)}

.sheet figcaption{display:grid;gap:.4rem}

.sheet figcaption p{font-size:.92rem;color:var(--ink-2);line-height:1.5}

.sheet-note{grid-column:1/-1;margin-top:3.5rem;font-size:.8rem;color:var(--ink-3)}

@media (min-width:901px){
  .who{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:1.75rem;row-gap:clamp(2.25rem,4vw,3.25rem)}

  .who__side{grid-column:1/3;position:static;padding-right:clamp(1rem,4vw,4rem);align-self:start}

  .sheet{display:contents}

  .sheet figure:nth-child(3n+2){transform:none}

  .sheet figure:nth-child(n+3):nth-child(even){transform:translateY(3.25rem)}

  .sheet figure:nth-child(-n+2) .crop{aspect-ratio:4/3}

}


/* ---------- What we do: three areas on one base ---------- */
.do{background:var(--paper-2)}

section[aria-labelledby="who-h"],section[aria-labelledby="do-h"],.why{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .14 0 0 0 0 .18 0 0 0 0 .28 0 0 0 .075 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),radial-gradient(1100px 620px at 8% 0%,rgba(232,181,63,.09),rgba(232,181,63,0) 70%),radial-gradient(900px 600px at 100% 100%,rgba(35,47,71,.05),rgba(35,47,71,0) 70%)}

/* Who follows the hero band: start in the brush colour, then let the light and grain come in */
section[aria-labelledby="who-h"]{background-image:linear-gradient(180deg,var(--paper) 0,rgba(251,248,239,0) 180px),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .14 0 0 0 0 .18 0 0 0 0 .28 0 0 0 .075 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),radial-gradient(1100px 620px at 8% 0%,rgba(232,181,63,.09),rgba(232,181,63,0) 70%),radial-gradient(900px 600px at 100% 100%,rgba(35,47,71,.05),rgba(35,47,71,0) 70%)}

.frame{position:relative;background:var(--paper);border:1px solid var(--navy);box-shadow:0 0 0 7px var(--paper-2),0 0 0 8px var(--rule);padding:clamp(1.5rem,3.5vw,3rem) clamp(1.25rem,3.5vw,3rem) clamp(1.75rem,3vw,2.75rem);margin:8px}

.areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--navy)}

.area{position:relative;display:grid;align-content:start;gap:.9rem;padding:1.75rem 1.75rem 2.25rem;text-decoration:none;color:inherit;border-right:1px solid var(--rule)}

.area:last-child{border-right:0}

.area:hover{background:var(--card)}

.numeral{font-family:var(--serif);font-size:3.2rem;line-height:.9;font-weight:380;color:var(--navy)}

.area h3{font-size:1.5rem;letter-spacing:-.035em}

.area p{color:var(--ink-2);font-size:.98rem}

.go{font-size:.86rem;font-weight:650;text-decoration:underline;text-underline-offset:.3em}

.area::after{content:"";position:absolute;left:1.75rem;bottom:-1px;width:1px;height:2.5rem;background:var(--navy);transform:translateY(100%)}

.base{position:relative;margin-top:2.5rem;background:var(--navy);color:var(--on-navy);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem 2rem;align-items:center;padding:1.9rem 1.75rem;text-decoration:none;border-radius:2px}

.base .numeral{color:var(--gold)}

.base h3{font-size:1.5rem}

.base p{color:var(--on-navy-2);font-size:.98rem;max-width:40rem}

.base small{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem;font-weight:650}

.base .go{color:var(--on-navy)}

.base:hover{background:var(--navy-2)}


/* ---------- Why: copy on plaster ---------- */
.why{position:relative;overflow:hidden;background:var(--plaster)}

.why{--wcl:calc((100vw - min(100vw,76rem)) / 2 + var(--gut));--wcw:min(31rem,calc((min(100vw,76rem) - 2 * var(--gut)) * .56))}

.why__art{position:absolute;top:0;right:0;bottom:0;left:calc(var(--wcl) + var(--wcw) + 1.5rem)}

.why__art img{width:100%;height:100%;object-fit:cover;object-position:63% 100%;display:block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000' preserveAspectRatio='none'%3E%3Cfilter id='f' x='-30%25' y='-30%25' width='160%25' height='160%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.006 .018' numOctaves='3' seed='7'/%3E%3CfeDisplacementMap in='SourceGraphic' scale='90' xChannelSelector='R' yChannelSelector='G'/%3E%3CfeGaussianBlur stdDeviation='26'/%3E%3C/filter%3E%3Cpath filter='url%28%23f%29' fill='%23fff' d='M150 -200 C110 40 200 150 140 300 S90 520 170 640 S120 860 160 1200 L1300 1200 L1300 -200 Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000' preserveAspectRatio='none'%3E%3Cfilter id='f' x='-30%25' y='-30%25' width='160%25' height='160%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.006 .018' numOctaves='3' seed='7'/%3E%3CfeDisplacementMap in='SourceGraphic' scale='90' xChannelSelector='R' yChannelSelector='G'/%3E%3CfeGaussianBlur stdDeviation='26'/%3E%3C/filter%3E%3Cpath filter='url%28%23f%29' fill='%23fff' d='M150 -200 C110 40 200 150 140 300 S90 520 170 640 S120 860 160 1200 L1300 1200 L1300 -200 Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}

@media (max-width:700px){
  .why .why__copy{max-width:min(31rem,100%)}

  .why{display:flex;flex-direction:column;min-height:0}

  .why__art{position:relative;order:2;width:100%;top:auto;left:auto;aspect-ratio:1.232}

  .why__art img{object-position:100% 100%;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1232 1000' preserveAspectRatio='none'%3E%3Cfilter id='f' x='-20%25' y='-20%25' width='140%25' height='140%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.009 .02' numOctaves='3' seed='5'/%3E%3CfeDisplacementMap in='SourceGraphic' scale='70' xChannelSelector='R' yChannelSelector='G'/%3E%3CfeGaussianBlur stdDeviation='16'/%3E%3C/filter%3E%3Cpath filter='url%28%23f%29' fill='%23fff' d='M170 52 C300 30 420 70 560 42 S860 18 1000 46 S1200 26 1320 36 L1320 1080 L40 1080 C80 920 30 800 82 690 S50 480 112 370 S100 170 170 52 Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1232 1000' preserveAspectRatio='none'%3E%3Cfilter id='f' x='-20%25' y='-20%25' width='140%25' height='140%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.009 .02' numOctaves='3' seed='5'/%3E%3CfeDisplacementMap in='SourceGraphic' scale='70' xChannelSelector='R' yChannelSelector='G'/%3E%3CfeGaussianBlur stdDeviation='16'/%3E%3C/filter%3E%3Cpath filter='url%28%23f%29' fill='%23fff' d='M170 52 C300 30 420 70 560 42 S860 18 1000 46 S1200 26 1320 36 L1320 1080 L40 1080 C80 920 30 800 82 690 S50 480 112 370 S100 170 170 52 Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}

  .why .wrap{padding-bottom:1rem}

}

.why .wrap{position:relative;z-index:1;padding-block:clamp(4rem,8vw,7rem)}

.why__copy{max-width:var(--wcw);display:grid;gap:1.15rem}

.why__copy h2{margin-bottom:.4rem}

.why__copy p{color:var(--ink-2)}

.why__copy p.first{font-size:1.15rem;color:var(--ink)}

.why__copy p.approach{font-family:var(--serif);font-size:1.16rem;line-height:1.55;color:var(--ink);border-left:2px solid var(--gold);padding:.15rem 0 .15rem 1.15rem}


/* ---------- How we work ---------- */
.how{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(2rem,6vw,6rem);align-items:start}

.how__intro{display:grid;gap:1.25rem}

.how__intro p{color:var(--ink-2);max-width:30rem}

.thread{position:relative;margin-top:1.25rem;overflow:hidden;padding-block:2px}

.thread__line{position:absolute;left:8px;right:8px;top:9px;height:1px;background:var(--navy)}

.thread__run{position:absolute;left:8px;right:8px;top:6px;height:7px}

.thread__run i{position:absolute;left:-3.5px;top:0;width:7px;height:7px;border-radius:50%;background:var(--navy);opacity:0}

.thread__nodes{list-style:none;margin:0;padding:0;display:flex;justify-content:space-between;position:relative}

.thread__nodes li{display:grid;justify-items:center;gap:.55rem;font-size:.72rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}

.thread__nodes li:first-child{justify-items:start}
.thread__nodes li:last-child{justify-items:end}

.thread__nodes li::before{content:"";width:16px;height:16px;border-radius:50%;background:var(--c);border:1px solid var(--navy);box-sizing:border-box}

@media (prefers-reduced-motion:no-preference){.thread__run{animation:thread 9s ease-in-out infinite}
.thread__run i{animation:dot 9s ease-in-out infinite}
}

@keyframes thread{0%{transform:translateX(0)}
88%,100%{transform:translateX(100%)}
}

@keyframes dot{0%{opacity:0}
6%{opacity:1}
86%{opacity:1}
100%{opacity:0}
}

.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 2.5rem}

.facts div{border-top:1px solid var(--navy);padding-top:1rem;display:grid;gap:.45rem}

.facts p{font-size:.95rem;color:var(--ink-2)}


/* ---------- Questions ---------- */
.qa{display:grid;grid-template-columns:minmax(0,19rem) minmax(0,1fr);gap:clamp(2rem,5vw,5rem)}

.qa__side{display:grid;gap:1rem;align-content:start}

.qa__side p{color:var(--ink-2)}

.qa.qa--stack{grid-template-columns:minmax(0,1fr);gap:1.75rem}

.qa--stack .qa__side{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 2rem}

.qa--stack .qall{margin-top:0}

.qa--stack .qa__side:empty{display:none}

.qa--stack .qs .a{max-width:52rem}

.qs{border-top:1px solid var(--navy)}

.qs details{border-bottom:1px solid var(--rule)}

.qs summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1.5rem;padding:1.15rem 0;font-weight:600;font-size:1.04rem;letter-spacing:-.01em}

.qs summary::-webkit-details-marker{display:none}

.qs summary::after{content:"+";font-family:var(--serif);font-size:1.5rem;line-height:1;color:var(--ink-3);transition:transform .25s ease}

.qs details[open] summary::after{transform:rotate(45deg)}

.qs .a{display:grid;gap:.8rem;padding:0 2.5rem 1.4rem 0;color:var(--ink-2);max-width:42rem}

.qs ul{margin:0;padding-left:1.1rem;display:grid;gap:.3rem}


/* ---------- Invitation + footer ---------- */
.invite{background:var(--navy);color:var(--on-navy);position:relative;overflow:hidden}

.invite .wrap{position:relative;z-index:1;padding-block:clamp(4rem,8vw,6.5rem);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2rem 4rem;align-items:end}

.invite h2 em{color:var(--gold)}

.invite p{color:var(--on-navy-2);max-width:32rem}

.invite .side{display:grid;gap:1.25rem;justify-items:start}

.mail{font-size:.95rem;color:var(--on-navy);user-select:all}

.foot{background:var(--navy-deep);color:var(--on-navy-2);font-size:.85rem}

.foot .wrap{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1.5rem 3rem;align-items:center;padding-block:2.5rem}

.foot .brand{width:130px}

.slogan{display:flex;gap:.6rem;flex-wrap:wrap;font-weight:600;letter-spacing:.06em}

.slogan span:nth-child(1){color:var(--map)}
.slogan span:nth-child(2){color:var(--choose)}
.slogan span:nth-child(3){color:var(--build)}
.slogan span:nth-child(4){color:var(--prove)}

.foot__meta{display:grid;gap:.3rem;text-align:right}


/* ---------- Practice-area page ---------- */
.crumbs{font-size:.8rem;color:var(--ink-3);display:flex;gap:.5rem;flex-wrap:wrap}

.crumbs a{color:var(--ink-2)}

.ahead{background:var(--paper-2);position:relative;overflow:hidden;--pw:min(38vw,560px)}

.ahead__slice{position:absolute;top:0;bottom:0;right:0;width:var(--pw)}

.ahead__slice img{width:100%;height:100%;object-fit:cover;object-position:58% 50%;display:block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000' preserveAspectRatio='none'%3E%3Cfilter id='f' x='-30%25' y='-30%25' width='160%25' height='160%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.006 .018' numOctaves='3' seed='7'/%3E%3CfeDisplacementMap in='SourceGraphic' scale='90' xChannelSelector='R' yChannelSelector='G'/%3E%3CfeGaussianBlur stdDeviation='26'/%3E%3C/filter%3E%3Cpath filter='url%28%23f%29' fill='%23fff' d='M150 -200 C110 40 200 150 140 300 S90 520 170 640 S120 860 160 1200 L1300 1200 L1300 -200 Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000' preserveAspectRatio='none'%3E%3Cfilter id='f' x='-30%25' y='-30%25' width='160%25' height='160%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.006 .018' numOctaves='3' seed='7'/%3E%3CfeDisplacementMap in='SourceGraphic' scale='90' xChannelSelector='R' yChannelSelector='G'/%3E%3CfeGaussianBlur stdDeviation='26'/%3E%3C/filter%3E%3Cpath filter='url%28%23f%29' fill='%23fff' d='M150 -200 C110 40 200 150 140 300 S90 520 170 640 S120 860 160 1200 L1300 1200 L1300 -200 Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}

.ahead .wrap{position:relative;z-index:2;padding-block:2rem clamp(3.5rem,7vw,5.5rem);display:grid;gap:2rem}

.ahead__copy{max-width:min(40rem,58%);display:grid;gap:1.4rem}

.ahead__title{display:flex;align-items:flex-end;gap:1.25rem}

.ahead__title .numeral{font-size:clamp(4rem,8vw,6.5rem)}

.ahead h1{font-size:clamp(2.6rem,4.8vw,4.4rem);font-weight:520;letter-spacing:-.055em}

.ahead .lead{color:var(--ink)}

@media (max-width:700px){
  .ahead{display:flex;flex-direction:column;min-height:0}

  .ahead__copy{max-width:100%}

  .ahead__slice{position:relative;top:auto;transform:none;order:2;width:100%;aspect-ratio:auto;height:min(78vw,460px)}

  .ahead__slice img{object-position:50% 45%;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1100 1470' preserveAspectRatio='none'%3E%3Cfilter id='f' x='-20%25' y='-20%25' width='140%25' height='140%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.009 .02' numOctaves='3' seed='9'/%3E%3CfeDisplacementMap in='SourceGraphic' scale='80' xChannelSelector='R' yChannelSelector='G'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cpath filter='url%28%23f%29' fill='%23fff' d='M210 70 C330 40 470 90 620 55 S900 30 1100 60 L1100 1400 C920 1430 760 1380 600 1415 S300 1390 190 1420 C120 1300 170 1180 110 1050 S150 760 90 620 S170 300 120 200 S150 100 210 70 Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1100 1470' preserveAspectRatio='none'%3E%3Cfilter id='f' x='-20%25' y='-20%25' width='140%25' height='140%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.009 .02' numOctaves='3' seed='9'/%3E%3CfeDisplacementMap in='SourceGraphic' scale='80' xChannelSelector='R' yChannelSelector='G'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cpath filter='url%28%23f%29' fill='%23fff' d='M210 70 C330 40 470 90 620 55 S900 30 1100 60 L1100 1400 C920 1430 760 1380 600 1415 S300 1390 190 1420 C120 1300 170 1180 110 1050 S150 760 90 620 S170 300 120 200 S150 100 210 70 Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}

}

.for{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem 2.5rem}

.for .ex{border-top:1px solid var(--navy);padding-top:1.25rem;display:grid;gap:.45rem;align-content:start}

.for .ex svg{width:56px;height:56px;fill:none;stroke:var(--navy);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;margin-bottom:.4rem}

.for .ex h3{font-size:1.15rem;letter-spacing:-.02em}

.for .ex p{color:var(--ink-2);font-size:.98rem}

.for .ex b{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.4rem;font-weight:650}

.does{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}

.caps{display:grid;gap:1.75rem}

.caps div{display:grid;gap:.45rem}

.caps h3{font-size:1.15rem}

.caps p{color:var(--ink-2);font-size:.96rem}

.cap-tag{display:block;font-style:normal;font-size:.72rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}

.sheetmap{margin:0;background:var(--card);border:1px solid var(--rule);border-radius:2px;padding:1.25rem 1.25rem 1rem}

.sheetmap__top{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:650;border-bottom:1px solid var(--rule-soft);padding-bottom:.7rem;margin-bottom:.8rem}

.sheetmap .scroll{overflow-x:auto}

.sheetmap svg{display:block;width:100%;height:auto}

.sheetmap figcaption{font-size:.78rem;color:var(--ink-3);margin-top:.7rem}

.sm-lane{font:650 10.5px var(--sans);letter-spacing:.08em;fill:var(--ink-3)}

.sm-step{font:500 11.5px var(--sans);fill:var(--ink)}

.sm-note{font:600 10.5px var(--sans);fill:var(--flag)}

.reg{width:100%;border-collapse:collapse}

.reg th{text-align:left;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:650;padding:.6rem 1rem .6rem 0;border-bottom:2px solid var(--navy)}

.reg td{padding:1.05rem 1.5rem 1.05rem 0;border-bottom:1px solid var(--rule);vertical-align:top;color:var(--ink-2);font-size:.96rem}

.reg td:first-child{color:var(--ink);font-weight:600;width:34%;padding-right:2rem}

.reg-note{margin-top:1rem;font-size:.85rem;color:var(--ink-3)}

.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.25rem;position:relative}

.steps::before{content:"";position:absolute;left:15px;right:calc((100% - 5rem) / 5 - 15px);top:15px;height:1px;background:var(--navy)}

.steps li{position:relative;display:grid;gap:.55rem;align-content:start}

.steps .n{width:31px;height:31px;border-radius:50%;background:var(--paper);border:1px solid var(--navy);display:grid;place-items:center;font-size:.8rem;font-weight:650;font-variant-numeric:tabular-nums;position:relative;z-index:1}

.steps h3{font-size:1.02rem;margin-top:.4rem}

.steps p{font-size:.92rem;color:var(--ink-2)}

.note-small{font-size:.85rem;color:var(--ink-3)}


/* ===== Revision 1 (Oct 22): only the 12 locked items below ===== */
/* 1. heading emphasis by colour */
.hl{color:var(--ochre)}

/* 2. hero sun */
.hero-sun{position:absolute;z-index:1;top:clamp(1.5rem,4vw,3rem);right:max(var(--gut),env(safe-area-inset-right,0px));width:clamp(84px,16vw,240px);aspect-ratio:1/1;pointer-events:none}

.hero-sun img{position:absolute;inset:0;width:100%;height:100%;display:block;filter:drop-shadow(0 6px 14px rgba(8,14,28,.45))}

@media (prefers-reduced-motion:no-preference){.hero-sun .rays{transform-origin:50% 50%;animation:sun 120s linear infinite}
}

@keyframes sun{to{transform:rotate(360deg)}
}

.hero-sun::before{content:"";position:absolute;inset:-75%;border-radius:50%;background:radial-gradient(closest-side,rgba(232,181,63,.38) 0%,rgba(232,181,63,.17) 38%,rgba(232,181,63,.06) 64%,rgba(232,181,63,0) 100%)}

@media (prefers-reduced-motion:no-preference){.hero-sun::before{animation:sunglow 9s ease-in-out infinite alternate}
}

@keyframes sunglow{from{opacity:.75}
to{opacity:1}
}

@media (min-width:561px){.hero-a{--sz:clamp(90px,calc((var(--rb) - var(--x0)) * .85),330px)}
.hero-sun{top:calc(clamp(3rem,7vw,5.5rem) + 5.75rem);right:auto;left:calc(var(--x0) + (var(--rb) - var(--x0) - var(--sz)) / 2);width:var(--sz)}
}

@media (min-width:561px) and (max-width:900px){.hero-a{--sz:clamp(90px,calc((var(--rb) - var(--x0)) * .74),330px)}
}

/* 5. what we do: open columns standing on a living line */
.cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}

.col{position:relative;display:grid;align-content:start;gap:.9rem;padding:0 2rem 3.25rem;text-decoration:none;color:inherit;border-left:1px solid var(--rule);transition:transform .35s ease}

.col:first-child{border-left:0;padding-left:0}

.col-n{font-family:var(--serif);font-size:clamp(4rem,7vw,6.25rem);line-height:.85;font-weight:400;color:transparent;-webkit-text-stroke:1.2px var(--navy);transition:color .3s ease}

.col h3{font-size:1.45rem;letter-spacing:-.035em}

.col p{color:var(--ink-2);font-size:.98rem}

.col::after{content:"";position:absolute;bottom:0;left:2rem;width:1px;height:2.25rem;background:var(--navy);transition:background-color .3s ease}

.col:first-child::after{left:0}

.col:hover{transform:translateY(-6px)}

.col:hover .col-n,.rail:hover .col-n{color:var(--gold);-webkit-text-stroke-color:var(--gold)}

.col:hover::after{background:var(--gold)}

.rail{position:relative;display:block;overflow:hidden;text-decoration:none;color:inherit;padding-top:2.6rem}

.rail__line{position:absolute;left:0;right:0;top:6px;height:2px;background:var(--navy)}

.rail__run{position:absolute;left:0;right:0;top:3px;height:8px}

.rail__run i{position:absolute;left:-4px;top:0;width:8px;height:8px;border-radius:50%;background:var(--gold)}

@media (prefers-reduced-motion:no-preference){.rail__run{animation:thread 14s linear infinite}
}

.rail__body{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem 2.5rem;align-items:start}

.rail .col-n{font-size:clamp(3rem,5vw,4.5rem)}

.rail small{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ochre);font-weight:650;margin-bottom:.45rem}

.rail h3{font-size:1.45rem;letter-spacing:-.035em}

.rail p{color:var(--ink-2);max-width:40rem;margin-top:.5rem}

/* 7. how we work: full-width stage line + agreement sheet */
.how2{display:grid;gap:clamp(2.5rem,5vw,4rem)}

.how2__head{display:grid;grid-template-columns:minmax(0,1fr);gap:1.1rem;align-items:start}

.how2__head p{color:var(--ink-2);max-width:36rem}

.how2 .stages{margin-top:clamp(1rem,3vw,2.5rem)}

.stages{position:relative;overflow:hidden;padding-top:2px}

.stages__line{position:absolute;left:12.5%;width:75%;top:13px;height:1px;background:var(--navy)}

.stages__run{position:absolute;left:12.5%;width:75%;top:9px;height:9px}

.stages__run i{position:absolute;left:-4.5px;top:0;width:9px;height:9px;border-radius:50%;background:var(--navy);opacity:0}

.stages ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative}

.stages li{display:grid;gap:.55rem;align-content:start;padding-right:1.75rem}

.stages li::before{content:"";width:24px;height:24px;border-radius:50%;background:var(--c);border:1px solid var(--navy);box-sizing:border-box}

.stages b{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin-top:.45rem}

.stages span{font-size:.96rem;color:var(--ink-2)}

@media (min-width:701px){.stages li{justify-items:center;text-align:center;padding:0 1.25rem}
}

@media (prefers-reduced-motion:no-preference){
  .stages__run{animation:thread 12s linear infinite}
.stages__run i{animation:dot 12s linear infinite}

  .stages li::before{animation:ping 12s ease-out infinite;animation-delay:var(--d)}

}

@keyframes ping{0%{transform:scale(1.35)}
7%,100%{transform:scale(1)}
}

.agree{position:relative;background:var(--card);border:1px solid var(--rule);box-shadow:0 30px 60px -42px rgba(35,47,71,.5);padding:clamp(1.25rem,3vw,2.25rem) clamp(1.25rem,3vw,2.5rem);width:100%}

.agree::before{content:"";position:absolute;left:0;right:0;top:-1px;height:3px;background:var(--gold)}

.agree dl{margin:0}

.agree .row{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:.35rem 2rem;padding:1.05rem 0;border-bottom:1px dotted #b9b4a6}

.agree .row:last-child{border-bottom:0}

.agree dt{font-weight:650;letter-spacing:-.01em}

.agree dd{margin:0;color:var(--ink-2)}

/* 8. questions strip on Home */
.qstrip{display:grid;grid-template-columns:minmax(0,19rem) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}

.qlinks{list-style:none;margin:0;padding:0;border-top:1px solid var(--navy);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2.5rem}

.qlinks a{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--rule);text-decoration:none;font-weight:550;height:100%}

.qlinks a::after{content:"\2192";color:var(--ink-3);transition:transform .2s ease}

.qlinks a:hover::after{transform:translateX(4px)}

.qall{display:inline-block;margin-top:1.4rem;font-weight:650;text-underline-offset:.3em}

.qhead{background:var(--paper-2)}

.qhead .wrap{padding-block:2rem clamp(2.5rem,5vw,4rem);display:grid;gap:1.25rem}

.qhead h1{font-size:clamp(2.6rem,4.8vw,4.2rem);font-weight:520;letter-spacing:-.055em}

/* 9. footer */
.foot2{background:var(--navy-deep);color:var(--on-navy-2);font-size:.9rem}

.foot2 .top{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:2.5rem 3rem;padding-block:3.5rem 2.5rem}

.foot2 .brandcol{display:grid;gap:1.1rem;align-content:start}

.foot2 h4{margin:0 0 .9rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:650}

.foot2 ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}

.foot2 a{color:var(--on-navy);text-decoration:none}

.foot2 a:hover{color:var(--gold)}

.foot2 .soon{color:var(--on-navy-2)}

.foot2 .bottom{border-top:1px solid var(--line-navy);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 2rem;padding-block:1.25rem;font-size:.8rem}

/* 10. practice-page header */
.area-label{font-size:.78rem;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:var(--ochre)}

.open-copy{display:grid;gap:1rem;max-width:var(--measure)}

.open-copy p{font-size:1.1rem;line-height:1.6;color:var(--ink-2)}

/* 12. deliverables as documents */
.docs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2rem 1.5rem}

.doc{display:grid;gap:.85rem;align-content:start;margin:0}

.doc__sheet{aspect-ratio:3/4;background:var(--card);border:1px solid var(--rule);box-shadow:0 18px 30px -24px rgba(35,47,71,.55);padding:12%;transition:transform .3s ease}

.doc:hover .doc__sheet{transform:translateY(-4px) rotate(-1deg)}

.doc__sheet svg{width:100%;height:100%;display:block}

.doc h3{font-size:1rem;letter-spacing:-.015em}

.doc p{font-size:.9rem;color:var(--ink-2);line-height:1.5}


/* ---------- responsive ---------- */
@media (max-width:900px){
  .hero-a__row,.invite .wrap,.how,.qa,.who,.does{grid-template-columns:minmax(0,1fr)}

  .hero-a__row .actions{justify-content:flex-start}

  .who__side,.sheetmap{position:static}

  .sheet{grid-template-columns:repeat(2,minmax(0,1fr))}

  .sheet figure:nth-child(3n+2){transform:none}

  .sheet figure:nth-child(even){transform:translateY(2rem)}

  .areas{grid-template-columns:minmax(0,1fr)}

  .area{border-right:0;border-bottom:1px solid var(--rule)}

  .area::after{display:none}

  .base{grid-template-columns:minmax(0,1fr)}

  .foot .wrap{grid-template-columns:minmax(0,1fr)}

  .foot__meta{text-align:left}

  .for{grid-template-columns:minmax(0,1fr)}

  .steps{grid-template-columns:minmax(0,1fr);gap:1.5rem}

  .steps::before{display:none}

  .steps li:not(:last-child)::before{content:"";position:absolute;left:15px;top:31px;bottom:-1.5rem;width:1px;background:var(--navy)}

  .steps li{grid-template-columns:31px minmax(0,1fr);column-gap:1rem}

  .steps li>*:not(.n){grid-column:2}

  .steps h3{margin-top:0}

}

@media (max-width:560px){
  body{font-size:16px}

  .sheetmap svg{min-width:560px}

  .sheet .crop,.sheet figure:nth-child(odd) .crop{aspect-ratio:16/10}

  .sheet{grid-template-columns:minmax(0,1fr)}

  .sheet figure:nth-child(even){transform:none}

  .facts{grid-template-columns:minmax(0,1fr)}

  .mnav{gap:.9rem}

  .mnav a.hide-s{display:none}

  .reg td:first-child{width:auto}

  .reg,.reg tbody,.reg tr,.reg td{display:block}

  .reg thead{display:none}

  .reg td{border:0;padding:.2rem 0}

  .reg tr{border-bottom:1px solid var(--rule);padding-block:.9rem}

}

@media (max-width:900px){
  .cols{grid-template-columns:minmax(0,1fr)}

  .col,.col:first-child{border-left:0;border-top:1px solid var(--rule);padding:1.5rem 0 1.75rem}

  .col::after{display:none}

  .rail__body{grid-template-columns:minmax(0,1fr)}

  .how2__head,.qstrip{grid-template-columns:minmax(0,1fr)}

  .foot2 .top{grid-template-columns:repeat(2,minmax(0,1fr))}

  .foot2 .brandcol{grid-column:1/-1}

  .docs{grid-template-columns:repeat(3,minmax(0,1fr))}

}

@media (max-width:700px){
  .stages ol{grid-template-columns:minmax(0,1fr);gap:1.4rem}

  .stages li{grid-template-columns:24px minmax(0,1fr);column-gap:1rem;padding-right:0}

  .stages li>*{grid-column:2}

  .stages li::before{grid-row:1/span 2}

  .stages b{margin-top:.15rem}

  .stages__line{left:12px;top:12px;bottom:12px;width:1px;height:auto}

  .stages__run{display:none}

}

@media (max-width:560px){
  .agree .row{grid-template-columns:minmax(0,1fr)}

  .qlinks{grid-template-columns:minmax(0,1fr)}

  .docs{grid-template-columns:repeat(2,minmax(0,1fr))}

  .hero-a .wrap{padding-top:6.5rem}

}

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


/* ===== Wave 10 additions (no visual change to the approved design) ===== */
/* skip link: visible only on keyboard focus */
.skip{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--gold);color:var(--navy);padding:.6rem 1rem;border-radius:999px;font-weight:650;text-decoration:none}
.skip:focus{top:1rem}
/* base rules the preview host page applied; kept so images size exactly as signed off */
img{max-width:100%}
[hidden]{display:none!important}
/* practice pages II-IV have no illustrative card beside "What AMPL does": the capability list runs alone */
.does.does--solo{grid-template-columns:minmax(0,1fr)}
.does--solo .caps{max-width:46rem}
