/* Inter (SIL Open Font License 1.1), self-hosted so visitors' IP addresses are not sent to Google (GDPR).
   Normal: variable font (weights 400-600). Italic: medium italic (500) only, as used by the site. Infrasec, IS-304. */
@font-face{font-family:'Inter';font-style:italic;font-weight:500;font-display:swap;src:url(../assets/fonts/inter-latin-ext-italic.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:italic;font-weight:500;font-display:swap;src:url(../assets/fonts/inter-latin-italic.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(../assets/fonts/inter-latin-ext-normal.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(../assets/fonts/inter-latin-normal.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* Auxality Website 3.0, _temporary_test hi-fi stylesheet
   Promoted from wireframes/wire.css (layout, spacing, type scale) with the Brand 2.0 tokens from
   Company presentation/aux2.css. Light-first: Warm white ground, Forest for dark bands. */
:root{
  /* brand (aux2.css) */
  --ax-forest:#002F20; --ax-forest-deep:#00251A; --ax-vibrant:#32CEA0; --ax-vivid:#099F72; --ax-warm:#F9F6EC;
  --ax-ocean-green:#045C3E; --ax-ocean-blue:#003E7E; --ax-purple:#651AC2;
  --ax-grad-a:#70FF9B; --ax-grad-b:#0091D9;
  --ax-grad:linear-gradient(135deg,var(--ax-grad-a) 0%,var(--ax-grad-b) 100%);
  --ax-ink:#062A1E; --ax-ink-soft:rgba(6,42,30,.72); --ax-ink-faint:rgba(6,42,30,.48);
  --ax-warm-soft:rgba(249,246,236,.78); --ax-warm-faint:rgba(249,246,236,.52);
  --ax-line-light:rgba(0,47,32,.16); --ax-line-dark:rgba(249,246,236,.20);
  --ax-card:#FFFFFF; --ax-card-line:#E9E4D6;
  --ax-shadow:0 14px 40px rgba(0,26,17,.10);
  --ease:cubic-bezier(.22,.61,.36,1);
  /* spacing 8px scale */
  --s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--s7:96px;--s8:128px;
  --wrap:1240px; --gutter:clamp(20px,4vw,48px); --col-gap:24px;
  --r-pill:999px; --r-card:20px; --r-panel:28px; --r-sm:8px; --r-md:12px;
  --sec-pad:128px; --nav-h:72px;
  /* type scale (Inter) */
  --t-display:clamp(40px,5.4vw,72px); --t-h1:clamp(36px,4.2vw,56px); --t-h2:clamp(30px,3.1vw,40px);
  --t-h3:28px; --t-h4:20px; --t-sub:22px; --t-body:18px; --t-small:15px; --t-kicker:13px;
}
@media (max-width:1024px){:root{--sec-pad:80px}}
@media (max-width:640px){:root{--sec-pad:56px;--t-h3:24px;--t-sub:19px;--t-body:17px;--nav-h:64px}}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:var(--t-body);line-height:1.2;color:var(--ax-ink);background:var(--ax-warm);-webkit-font-smoothing:antialiased}
a{color:inherit}
img,svg{display:block;max-width:100%}
p{margin:0}
ul{margin:0;padding:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--col-gap)}
.c3{grid-column:span 3}.c4{grid-column:span 4}.c8{grid-column:span 8}.c12{grid-column:span 12}
@media (max-width:900px){.grid>[class^="c"]{grid-column:span 12}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* typography */
h1,h2,h3,h4{margin:0;font-weight:500;line-height:1;letter-spacing:-.01em}
h1{font-size:var(--t-h1);letter-spacing:-.015em}
h2{font-size:var(--t-h2)}
h3{font-size:var(--t-h3);line-height:1.08}
h4{font-size:var(--t-h4);font-weight:600;line-height:1.2}
.display{font-size:var(--t-display);letter-spacing:-.02em;line-height:1}
h1 em,h2 em,h3 em,.display em{font-style:italic;font-weight:500}
.kicker{font-size:var(--t-kicker);letter-spacing:.22em;text-transform:uppercase;color:var(--ax-ink-soft);margin:0 0 var(--s2);font-weight:500}
.dark .kicker{color:var(--ax-warm-soft)}
.lead{font-size:var(--t-sub);line-height:1.25;max-width:46ch;margin:var(--s3) 0 0;color:var(--ax-ink-soft)}
.dark .lead{color:var(--ax-warm-soft)}
.copy{max-width:60ch;margin-top:var(--s3);display:flex;flex-direction:column;gap:14px;line-height:1.35}
.copy p{margin:0}
.small{font-size:var(--t-small);line-height:1.33}
.muted{color:var(--ax-ink-soft)}
.dark .muted{color:var(--ax-warm-soft)}
.list{margin:var(--s2) 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;max-width:54ch;line-height:1.3}
.list li{padding-left:22px;position:relative}
.list li::before{content:"";position:absolute;left:0;top:.55em;width:10px;height:1px;background:var(--ax-vivid)}
.dark .list li::before{background:var(--ax-vibrant)}
.tbc{display:inline-block;padding:2px 10px;border:1px dashed var(--ax-vivid);border-radius:var(--r-pill);color:var(--ax-vivid);font-size:12px;letter-spacing:.06em;font-weight:500}
.dark .tbc{border-color:var(--ax-vibrant);color:var(--ax-vibrant)}
.note{font-size:var(--t-small);color:var(--ax-ink-soft);line-height:1.35}
.dark .note{color:var(--ax-warm-soft)}

/* blocks: light/dark pulse */
.blk{position:relative;padding:var(--sec-pad) 0}
.blk.light{background:var(--ax-warm);color:var(--ax-ink)}
.blk.framed{background:var(--ax-warm);border-top:1px solid var(--ax-line-light);border-bottom:1px solid var(--ax-line-light)}
.blk.dark{background:var(--ax-forest);color:var(--ax-warm)}
.blk.tight{padding:var(--s5) 0}
.blk + .blk.light:not(.framed):not(.tight)::before{content:"";position:absolute;left:var(--gutter);right:var(--gutter);top:0;border-top:1px solid var(--ax-line-light)}
.blk.dark + .blk.light::before,.blk.light + .blk.dark::before,.blk.framed + .blk.light::before{display:none}

/* section head: headline 8/12 + meta 4/12 */
.sec-head{display:grid;grid-template-columns:2fr 1fr;gap:var(--col-gap);align-items:end;margin-bottom:var(--s6)}
.sec-head .meta{font-size:var(--t-sub);line-height:1.25;color:var(--ax-ink-soft);max-width:34ch}
.dark .sec-head .meta{color:var(--ax-warm-soft)}
@media (max-width:900px){.sec-head{grid-template-columns:1fr}.sec-head .meta{margin-top:var(--s3)}}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 26px;border-radius:var(--r-pill);font-size:16px;font-weight:500;text-decoration:none;border:1px solid transparent;cursor:pointer;line-height:1;transition:background .2s var(--ease),color .2s var(--ease)}
.btn.primary{background:var(--ax-ink);color:var(--ax-warm)}
.btn.primary:hover{background:var(--ax-forest)}
.dark .btn.primary{background:var(--ax-vibrant);color:var(--ax-forest)}
.dark .btn.primary:hover{background:#4fdcb2}
.btn.ghost{background:transparent;border-color:var(--ax-line-light);color:inherit}
.dark .btn.ghost{border-color:var(--ax-line-dark)}
.link{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:500;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.link::after{content:"→"}
.link:hover{color:var(--ax-vivid)}
.dark .link:hover{color:var(--ax-vibrant)}
.cta-row{display:flex;gap:var(--s3);flex-wrap:wrap;align-items:center;margin-top:var(--s5)}

/* nav */
.nav{position:sticky;top:0;z-index:50;height:var(--nav-h);background:rgba(249,246,236,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--ax-line-light)}
.nav .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}
.brand{display:flex;align-items:center;text-decoration:none}
.brand img{height:26px;width:auto}
.brand .on-dark{display:none}
.menu{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0}
.menu>li{position:relative}
.menu>li>a,.menu>li>button{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;border-radius:var(--r-pill);font:inherit;font-size:16px;font-weight:500;color:var(--ax-ink);background:none;border:0;cursor:pointer;text-decoration:none}
.menu>li>a:hover,.menu>li>button:hover,.menu>li.open>button{background:rgba(6,42,30,.06)}
.menu>li>a[aria-current="page"],.menu>li.active>button{box-shadow:inset 0 -2px 0 var(--ax-ink)}
.menu .chev{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8}
.dd{display:none;position:absolute;top:calc(100% + 10px);left:0;min-width:320px;background:var(--ax-card);border:1px solid var(--ax-card-line);border-radius:var(--r-card);padding:12px;box-shadow:var(--ax-shadow);color:var(--ax-ink)}
/* Hover bridge: the 10px gap above the panel is otherwise outside the <li>, so moving the
   pointer down from the button fired mouseleave and closed the menu before it was reachable. */
.dd::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.menu>li.open .dd{display:block}
.dd a{display:block;padding:12px 14px;border-radius:12px;text-decoration:none}
.dd a:hover{background:rgba(6,42,30,.05)}
.dd a b{display:block;font-weight:500;font-size:16px}
.dd a span{display:block;font-size:14px;color:var(--ax-ink-soft);margin-top:3px}
.dd a[aria-current="page"] b{text-decoration:underline;text-underline-offset:4px}
.nav-cta{display:flex;align-items:center;gap:var(--s2)}
.burger{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;padding:0 8px}
.burger i{display:block;height:2px;background:var(--ax-ink)}
/* dark nav (home): agency hero mock: Forest bar, Vibrant logo, Vibrant pill */
.nav.on-dark{background:rgba(0,47,32,.9);border-bottom-color:var(--ax-line-dark)}
.nav.on-dark .brand .on-light{display:none}.nav.on-dark .brand .on-dark{display:block}
.nav.on-dark .menu>li>a,.nav.on-dark .menu>li>button{color:var(--ax-warm)}
.nav.on-dark .menu>li>a:hover,.nav.on-dark .menu>li>button:hover,.nav.on-dark .menu>li.open>button{background:rgba(249,246,236,.08)}
.nav.on-dark .menu>li>a[aria-current="page"],.nav.on-dark .menu>li.active>button{box-shadow:inset 0 -2px 0 var(--ax-vibrant)}
.nav.on-dark .btn.primary{background:var(--ax-vibrant);color:var(--ax-forest)}
.nav.on-dark .burger i{background:var(--ax-warm)}
@media (max-width:1024px){
  .menu{display:none;position:fixed;inset:var(--nav-h) 0 0 0;background:var(--ax-warm);flex-direction:column;align-items:stretch;padding:var(--s3) var(--gutter);gap:4px;overflow:auto}
  .nav.on-dark .menu{background:var(--ax-forest)}
  .nav.menu-open .menu{display:flex}
  .menu>li>a,.menu>li>button{width:100%;justify-content:space-between;height:52px;font-size:20px}
  .dd{position:static;display:block;box-shadow:none;border:0;background:transparent;padding:0 0 12px 12px;min-width:0;color:inherit}
  .nav.on-dark .dd a span{color:var(--ax-warm-soft)}
  .burger{display:flex}
  .nav-cta .btn{min-height:40px;padding:0 18px;font-size:15px}
}

/* hero (agency website-hero layout) */
.hero{padding:var(--s3) 0 var(--sec-pad)}
.keyart{position:relative;aspect-ratio:21/9;min-height:300px;overflow:hidden;border-radius:var(--r-panel);background:var(--ax-grad)}
.keyart .field{position:absolute;inset:-6%;background:url("../assets/img/gradient-hero.jpg") center/cover no-repeat;animation:kaDrift 26s ease-in-out infinite alternate}
.keyart .sym{position:absolute;left:50%;top:50%;height:62%;width:auto;transform:translate(-50%,-50%)}
@keyframes kaDrift{from{transform:translate(0,0) scale(1)}to{transform:translate(-2.5%,1.5%) scale(1.06)}}
.hero .below{display:grid;grid-template-columns:2fr 1fr;gap:var(--col-gap);margin-top:var(--s6);align-items:start}
.hero .below .meta{font-size:var(--t-sub);line-height:1.25;max-width:32ch;color:var(--ax-warm-soft)}
.hero .arrow{justify-self:end;align-self:end;margin-top:var(--s5)}
.hero .arrow svg{width:22px;height:64px;stroke:var(--ax-warm);fill:none;stroke-width:1.5}
@media (max-width:900px){.hero .below{grid-template-columns:1fr}.hero .arrow{display:none}}
.hero.inner{padding-top:var(--s7)}
.hero.inner .crumbs{font-size:var(--t-small);color:var(--ax-ink-soft);margin-bottom:var(--s3);display:flex;gap:8px;flex-wrap:wrap}
.hero.inner .crumbs a{text-decoration:none}
.hero.inner .crumbs a:hover{color:var(--ax-vivid)}

/* credibility strip */
.strip{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);justify-content:space-between;font-size:var(--t-small);color:var(--ax-ink-soft);padding:var(--s3) 0;border-top:1px solid var(--ax-line-light);border-bottom:1px solid var(--ax-line-light)}
.strip span::before{content:"·";margin-right:var(--s4);color:var(--ax-ink-faint)}
.strip span:first-child::before{display:none}
.strip b{font-weight:500;color:var(--ax-ink)}
@media (max-width:640px){.strip span::before{display:none}}

/* icons */
.icon{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.icon-chip{width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex:none;background:rgba(9,159,114,.09);color:var(--ax-vivid);border:1px solid rgba(9,159,114,.2)}
.dark .icon-chip{background:rgba(50,206,160,.10);color:var(--ax-vibrant);border-color:rgba(50,206,160,.22)}
.icon-line{display:flex;align-items:center;gap:14px}

/* cards (agency card layout) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--col-gap)}
.cards.two{grid-template-columns:repeat(2,1fr)}
.cards.four{grid-template-columns:repeat(4,1fr)}
@media (max-width:1024px){.cards.four{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.cards,.cards.two,.cards.four{grid-template-columns:1fr}}
.card{background:var(--ax-card);border:1px solid var(--ax-card-line);border-radius:var(--r-card);padding:var(--s3);display:flex;flex-direction:column;gap:var(--s3)}
.dark .card{background:rgba(249,246,236,.04);border-color:var(--ax-line-dark)}
.card .num{font-size:var(--t-kicker);letter-spacing:.22em;color:var(--ax-ink-soft);font-weight:500}
.dark .card .num{color:var(--ax-warm-soft)}
.card h3{font-size:var(--t-h4);font-weight:500;line-height:1.2}
.card p{line-height:1.35;color:var(--ax-ink-soft)}
.dark .card p{color:var(--ax-warm-soft)}
.card .link{align-self:flex-start;margin-top:auto}
.card .list{margin-top:0}
/* Forest media panel: stands in for the monochrome object photography (asset missing) */
.media{position:relative;aspect-ratio:4/3;border-radius:var(--r-md);background:var(--ax-forest);display:flex;align-items:center;justify-content:center;overflow:hidden}
.media .icon{width:72px;height:72px;stroke-width:1.1;color:var(--ax-vibrant)}
.media.wide{aspect-ratio:16/9}
.media.photo{background:var(--ax-forest-deep)}
.media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);opacity:.9}
.media.colour img{filter:none;opacity:1}
/* The three section cards previously used one identical Forest tile, so the primary
   navigation into the product read as three interchangeable black boxes. Each section
   now carries its own tone, walked along the Brand 2.0 green to blue range. */
.media.t1{background:linear-gradient(145deg,#002F20 0%,#045C3E 100%)}
.media.t2{background:linear-gradient(145deg,#045C3E 0%,#0091D9 130%)}
.media.t3{background:linear-gradient(145deg,#003E7E 0%,#651AC2 135%)}
.media.t1 .icon,.media.t2 .icon,.media.t3 .icon{color:rgba(249,246,236,.94)}
.media.t1::after,.media.t2::after,.media.t3::after{content:"";position:absolute;inset:0;
  background:radial-gradient(120% 90% at 78% 12%,rgba(255,255,255,.18),transparent 62%);pointer-events:none}

/* stats: numerals in Gradient Ocean */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--col-gap)}
@media (max-width:900px){.stats{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.stats{grid-template-columns:1fr}}
.stat{padding:var(--s4) 0;border-top:1px solid var(--ax-line-dark)}
.light .stat{border-color:var(--ax-line-light)}
.stat .n{font-size:clamp(56px,7vw,104px);line-height:.95;letter-spacing:-.03em;font-weight:500;background:var(--ax-grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
.light .stat .n{background:var(--ax-forest);-webkit-background-clip:text;background-clip:text}
.stat .n.word{font-size:clamp(34px,3.6vw,52px);line-height:1;letter-spacing:-.02em;padding-top:.3em;padding-bottom:.25em}
.stat .l{margin-top:var(--s2);font-size:var(--t-body);max-width:26ch;line-height:1.3}
.stat .c{margin-top:var(--s1);font-size:var(--t-small);color:var(--ax-warm-soft);max-width:32ch;line-height:1.35}
.light .stat .c{color:var(--ax-ink-soft)}
.foot{margin-top:var(--s5);font-size:var(--t-small);color:var(--ax-warm-soft);max-width:70ch;line-height:1.35}
.light .foot{color:var(--ax-ink-soft)}

/* split, versus, steps, columns, band */
.split{display:grid;grid-template-columns:5fr 7fr;gap:var(--s6);align-items:center}
.split.rev{grid-template-columns:7fr 5fr}
.split.top{align-items:start}
@media (max-width:900px){.split,.split.rev{grid-template-columns:1fr}}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5) var(--col-gap)}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5) var(--s6)}
@media (max-width:900px){.cols3,.cols2{grid-template-columns:1fr}}
.col h3,.col h4{margin-bottom:var(--s2)}
.col p{line-height:1.35;color:var(--ax-ink-soft)}
.dark .col p{color:var(--ax-warm-soft)}
.col .icon-chip{margin-bottom:var(--s3)}
.versus{display:grid;grid-template-columns:1fr 1px 1fr;gap:var(--s6)}
.versus .rule{background:var(--ax-line-light)}
.dark .versus .rule{background:var(--ax-line-dark)}
.versus h4{margin-bottom:var(--s2)}
.versus p{line-height:1.35;color:var(--ax-ink-soft)}
.dark .versus p{color:var(--ax-warm-soft)}
@media (max-width:900px){.versus{grid-template-columns:1fr}.versus .rule{height:1px}}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--col-gap);counter-reset:step}
.steps.five{grid-template-columns:repeat(5,1fr)}
.steps.col1{grid-template-columns:1fr;gap:var(--s3)}
@media (max-width:900px){.steps,.steps.five{grid-template-columns:1fr}}
.step{position:relative;padding-top:var(--s3);border-top:1px solid var(--ax-line-light)}
.dark .step{border-color:var(--ax-line-dark)}
.step::before{counter-increment:step;content:"0" counter(step);display:block;font-size:var(--t-kicker);letter-spacing:.22em;color:var(--ax-ink-soft);margin-bottom:var(--s2);font-weight:500}
.dark .step::before{color:var(--ax-warm-soft)}
.step h4{font-weight:500;margin-bottom:10px}
.step p{line-height:1.35;color:var(--ax-ink-soft);font-size:var(--t-small)}
.dark .step p{color:var(--ax-warm-soft)}
.band{margin-top:var(--s5);padding:var(--s4);border:1px solid var(--ax-line-light);border-radius:var(--r-card);display:flex;flex-wrap:wrap;gap:var(--s3) var(--s5);align-items:center;justify-content:space-between}
.dark .band{border-color:var(--ax-line-dark)}
.band h3{font-size:var(--t-h4);font-weight:500}
.band p{margin-top:8px;color:var(--ax-ink-soft);line-height:1.35;max-width:52ch}
.dark .band p{color:var(--ax-warm-soft)}
.band .chips{display:flex;flex-wrap:wrap;gap:8px;max-width:520px}
.chip{display:inline-flex;align-items:center;height:36px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--ax-line-light);font-size:var(--t-small)}
.dark .chip{border-color:var(--ax-line-dark)}
.chipgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--col-gap);margin-top:var(--s5)}
@media (max-width:900px){.chipgrid{grid-template-columns:1fr}}
.chipgrid div{padding:var(--s3);border:1px solid var(--ax-line-light);border-radius:var(--r-md)}
.dark .chipgrid div{border-color:var(--ax-line-dark)}
.chipgrid h4{font-weight:500;font-size:var(--t-body);margin-bottom:6px}
.chipgrid p{font-size:var(--t-small);color:var(--ax-ink-soft);line-height:1.35}
.dark .chipgrid p{color:var(--ax-warm-soft)}

/* tables */
table.tb{width:100%;border-collapse:collapse;font-size:var(--t-small)}
table.tb th,table.tb td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--ax-line-light);vertical-align:top;line-height:1.3}
table.tb th{font-weight:500;color:var(--ax-ink-soft);font-size:12px;letter-spacing:.12em;text-transform:uppercase}

/* expandable service rows (section pages) */
.items{border-top:1px solid var(--ax-line-light)}
.items-head{display:grid;grid-template-columns:2.2fr 1.6fr 1fr 1fr 40px;gap:var(--s3);padding:12px 0;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ax-ink-soft);font-weight:500}
.item{border-bottom:1px solid var(--ax-line-light);scroll-margin-top:calc(var(--nav-h) + 24px)}
/* Every other fragment target needs the same clearance: the nav is sticky, so a heading
   linked as legal.html#cookies otherwise lands underneath it and reads as body text with
   no heading. Sections already carry their own top padding, headings carry none. */
main :is(h1,h2,h3,h4)[id],.inline-form{scroll-margin-top:calc(var(--nav-h) + 24px)}
.item summary{display:grid;grid-template-columns:2.2fr 1.6fr 1fr 1fr 40px;gap:var(--s3);align-items:center;padding:18px 0;cursor:pointer;list-style:none;font-size:var(--t-body)}
.item summary::-webkit-details-marker{display:none}
.item summary .t{font-weight:500}
.item summary .s{font-size:var(--t-small);color:var(--ax-ink-soft);line-height:1.3}
.item summary .chev{width:40px;height:40px;border:1px solid var(--ax-line-light);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:20px;justify-self:end;transition:transform .25s var(--ease)}
.item summary:hover .chev{border-color:var(--ax-ink)}
.item[open] summary .chev{transform:rotate(45deg)}
.item[open] summary{border-bottom:1px dashed var(--ax-line-light)}
.item-body{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--s5);padding:var(--s4) 0 var(--s5)}
.item-body h4{font-weight:500;margin-bottom:var(--s2)}
.item-body .tag{font-size:var(--t-sub);line-height:1.25;color:var(--ax-ink);max-width:40ch;margin-bottom:var(--s3)}
.item-body .copy{margin-top:0}
.item-body .facts{display:grid;gap:var(--s2);margin-top:var(--s3);font-size:var(--t-small)}
.item-body .facts div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding-top:10px;border-top:1px solid var(--ax-line-light);line-height:1.3}
.item-body .facts span{color:var(--ax-ink-soft);letter-spacing:.06em;text-transform:uppercase;font-size:12px;padding-top:2px}
.item-body .cta-row{grid-column:1/-1;margin-top:0}
@media (max-width:900px){.items-head{display:none}.item summary{grid-template-columns:1fr 40px}.item summary .s{display:none}.item-body{grid-template-columns:1fr}}

/* ISO tiles: typographic stand-in for badge artwork */
.badges{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center}
.iso{width:104px;height:104px;border-radius:50%;border:1px solid var(--ax-line-light);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:none}
.dark .iso{border-color:var(--ax-line-dark)}
.iso small{font-size:10px;letter-spacing:.22em;color:var(--ax-ink-soft)}
.dark .iso small{color:var(--ax-warm-soft)}
.iso b{font-weight:500;font-size:20px;letter-spacing:-.01em}
.iso.lg{width:132px;height:132px}.iso.lg b{font-size:26px}

/* people: monogram tiles stand in for portraits */
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--col-gap)}
@media (max-width:1024px){.people{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.people{grid-template-columns:1fr}}
.person{padding:var(--s3);border:1px solid var(--ax-card-line);border-radius:var(--r-card);background:var(--ax-card);display:flex;gap:var(--s3);align-items:flex-start}
.mono{width:64px;height:64px;border-radius:18px;background:var(--ax-forest);color:var(--ax-vibrant);display:flex;align-items:center;justify-content:center;font-weight:500;font-size:20px;letter-spacing:-.02em;flex:none}
.person h4{font-weight:500;margin-bottom:4px}
.person .role{font-size:var(--t-small);color:var(--ax-vivid);margin-bottom:10px}
.person p{font-size:var(--t-small);color:var(--ax-ink-soft);line-height:1.35}

/* diagrams */
.diagram{width:100%;height:auto;display:block}
.diagram text{font-family:Inter,system-ui,sans-serif}
.diagram .lbl{font-size:13px;font-weight:500}
.diagram .sub{font-size:11px;opacity:.72}
.diagram .kck{font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.figure{position:relative}
.figure .cap{margin-top:var(--s2);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ax-ink-faint)}
.dark .figure .cap{color:var(--ax-warm-faint)}
.flow-dash{stroke-dasharray:3 9;animation:flowmove 1.6s linear infinite}
@keyframes flowmove{to{stroke-dashoffset:-12}}
.pulse{animation:pulse 3s ease-in-out infinite;transform-origin:center;transform-box:fill-box}
@keyframes pulse{0%,100%{opacity:.35;transform:scale(1)}50%{opacity:.1;transform:scale(1.12)}}

/* product frame: CSS illustration standing in for the Portal screenshot */
.ui{border-radius:var(--r-card);border:1px solid var(--ax-card-line);background:var(--ax-card);padding:14px;box-shadow:var(--ax-shadow)}
.dark .ui{border-color:var(--ax-line-dark);background:rgba(249,246,236,.04);box-shadow:none}
.ui .bar{display:flex;gap:6px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--ax-line-light)}
.dark .ui .bar{border-color:var(--ax-line-dark)}
.ui .bar i{width:9px;height:9px;border-radius:50%;background:var(--ax-line-light)}
.dark .ui .bar i{background:var(--ax-line-dark)}
.ui .bar span{margin-left:auto;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ax-ink-faint)}
.dark .ui .bar span{color:var(--ax-warm-faint)}
.ui .rows{display:grid;gap:8px;padding-top:12px}
.ui .row{display:grid;grid-template-columns:1.6fr 1fr 1fr .8fr;gap:12px;align-items:center;padding:10px 12px;border-radius:10px;background:rgba(6,42,30,.035);font-size:13px}
.dark .ui .row{background:rgba(249,246,236,.05)}
.ui .row.h{background:none;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ax-ink-faint);padding-top:0;padding-bottom:0}
.dark .ui .row.h{color:var(--ax-warm-faint)}
.ui .row b{font-weight:500}
.ui .ok,.ui .flag{display:inline-flex;align-items:center;gap:6px;font-size:12px}
.ui .ok::before,.ui .flag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ax-vivid)}
.dark .ui .ok::before{background:var(--ax-vibrant)}
.ui .flag::before{background:var(--ax-ocean-blue)}
.dark .ui .flag::before{background:var(--ax-grad-b)}
.ui .meter{height:6px;border-radius:999px;background:rgba(6,42,30,.08);overflow:hidden}
.dark .ui .meter{background:rgba(249,246,236,.12)}
.ui .meter b{display:block;height:100%;width:var(--w,50%);background:var(--ax-vivid);border-radius:999px}
.dark .ui .meter b{background:var(--ax-vibrant)}
@media (max-width:640px){.ui .row{grid-template-columns:1.4fr 1fr}.ui .row>:nth-child(n+3){display:none}}

/* CTA band + footer (agency end-slide layout) */
.cta-band .display{max-width:16ch}
.cta-band .lead{max-width:52ch}
.footer{background:var(--ax-forest-deep);color:var(--ax-warm);padding:var(--s7) 0 var(--s4)}
.footer .top{display:grid;grid-template-columns:minmax(0,2.4fr) repeat(4,minmax(0,1fr));gap:var(--col-gap)}
@media (max-width:1024px){.footer .top{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.footer .top{grid-template-columns:1fr}}
.footer .top>div:first-child{padding-right:var(--s4)}
.footer h2{max-width:14ch}
.footer h5{margin:0 0 var(--s2);font-size:var(--t-kicker);letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--ax-warm-faint)}
.footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:var(--t-small)}
.footer a{text-decoration:none;color:var(--ax-warm-soft)}
.footer a:hover{color:var(--ax-vibrant)}
.footer a.acc{color:var(--ax-vibrant);text-decoration:underline;text-underline-offset:4px}
.footer .bottom{margin-top:var(--s7);padding-top:var(--s3);border-top:1px solid var(--ax-line-dark);display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center;justify-content:space-between;font-size:var(--t-small)}
.footer .chain{display:flex;flex-wrap:wrap;gap:12px;align-items:center;color:var(--ax-warm-soft)}
.footer .chain span+span::before{content:"⟶";margin-right:12px;color:var(--ax-warm-faint)}
.footer .bottom img{height:44px}
.footer .legal{display:flex;gap:var(--s3);color:var(--ax-warm-faint);flex-wrap:wrap}
.footer .legal a{color:inherit}
.footer .cta-row{margin-top:var(--s4)}

/* demo panel */
.scrim{position:fixed;inset:0;background:rgba(0,37,26,.55);z-index:90;display:none}
.panel{position:fixed;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--ax-warm);z-index:100;transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.7,.2,1);overflow:auto;padding:var(--s5) var(--s5) var(--s6);border-left:1px solid var(--ax-line-light);visibility:hidden}
body.demo-open .scrim{display:block}
body.demo-open .panel{transform:none;visibility:visible}
.panel .close{position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:50%;border:1px solid var(--ax-line-light);background:none;cursor:pointer;font-size:20px;color:inherit}
.panel h2{font-size:var(--t-h3);margin-top:var(--s2)}
.expect{font-size:var(--t-small);color:var(--ax-ink-soft);margin:var(--s2) 0 var(--s4);max-width:44ch;line-height:1.35}
.interest{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:var(--s4)}
@media (max-width:420px){.interest{grid-template-columns:1fr}}
.interest label{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid var(--ax-line-light);border-radius:14px;cursor:pointer;background:var(--ax-card);font-size:var(--t-small);line-height:1.3}
.interest label:has(input:checked){border-color:var(--ax-ink);box-shadow:inset 0 0 0 1px var(--ax-ink)}
.interest input{margin:2px 0 0;accent-color:var(--ax-forest)}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--s2)}
.field span{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ax-ink-soft)}
.field input,.field select,.field textarea{min-height:48px;border:1px solid var(--ax-line-light);border-radius:12px;padding:0 14px;font:inherit;font-size:16px;background:var(--ax-card);color:inherit}
.field textarea{padding:12px 14px;resize:vertical}
:focus-visible{outline:2px solid var(--ax-vivid);outline-offset:2px}
.dark :focus-visible{outline-color:var(--ax-vibrant)}
.demo-form .btn{margin-top:var(--s2)}
.privacy{font-size:12px;color:var(--ax-ink-faint);margin-top:var(--s2);line-height:1.4}
.privacy a{color:inherit}
.thanks{display:none;padding:var(--s4) 0}
.thanks p{margin-top:var(--s2);color:var(--ax-ink-soft);line-height:1.35}
.done .demo-form{display:none}.done .thanks{display:block}
.inline-form{max-width:560px}

/* reveal */
/* only when JS runs (html.js): without it every section stays visible */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.js .reveal.in{opacity:1;transform:none}

/* utility */
.mt2{margin-top:var(--s2)}.mt3{margin-top:var(--s3)}.mt4{margin-top:var(--s4)}.mt5{margin-top:var(--s5)}.mt6{margin-top:var(--s6)}
.hairline{border:0;border-top:1px solid var(--ax-line-light);margin:var(--s5) 0}
.dark .hairline{border-color:var(--ax-line-dark)}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1;transform:none}
}

/* diagram strokes */
.diagram .ln{fill:none;stroke:currentColor;stroke-width:1.2}
.diagram .ln.fill{fill:rgba(6,42,30,.04)}
.dark .diagram .ln.fill{fill:rgba(249,246,236,.06)}
.diagram .dash{stroke-dasharray:4 6}
.diagram .acc{fill:none;stroke:var(--ax-vivid);stroke-width:1.6}
.dark .diagram .acc{stroke:var(--ax-vibrant)}
.diagram .acc-t{fill:var(--ax-vivid)}
.dark .diagram .acc-t{fill:var(--ax-vibrant)}
.diagram .acc-f{fill:var(--ax-vivid);stroke:none}
.dark .diagram .acc-f{fill:var(--ax-vibrant)}
.diagram .acc-f2{fill:var(--ax-vivid);stroke:none}
.dark .diagram .acc-f2{fill:var(--ax-vibrant)}

/* mobile polish */
.nav-cta .btn{white-space:nowrap}
@media (max-width:640px){.keyart{min-height:200px}.keyart .sym{height:52%}}

/* product examples: real Portal screenshots and embedded white-label demos */
.shot{border-radius:var(--r-card);border:1px solid var(--ax-card-line);background:var(--ax-card);padding:10px;box-shadow:var(--ax-shadow);overflow:hidden}
.dark .shot{border-color:var(--ax-line-dark);background:rgba(249,246,236,.06);box-shadow:none}
.shot img{width:100%;height:auto;border-radius:10px;display:block}
.shot.grow img{transition:transform .5s var(--ease)}
.example{border-radius:var(--r-card);border:1px solid var(--ax-card-line);background:var(--ax-card);overflow:hidden;box-shadow:var(--ax-shadow)}
.example iframe{display:block;width:100%;border:0;min-height:520px;background:var(--ax-warm)}
.example .bar{display:flex;gap:6px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--ax-line-light);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ax-ink-faint)}
.example .bar i{width:9px;height:9px;border-radius:50%;background:var(--ax-line-light)}
.example .bar span{margin-left:auto}
.example.tall iframe{min-height:900px}
.shots2{display:grid;grid-template-columns:1fr 1fr;gap:var(--col-gap);align-items:start}
@media (max-width:900px){.shots2{grid-template-columns:1fr}}
.figure .cap a{color:inherit}

/* ===== E2 design pass (round 1): benchmark-driven fixes within the wireframe structure ===== */
:root{--r-card:16px;--r-md:10px;--track-caps:.14em}
/* 1 hero fold: key art stays first and 21:9 (wireframe) but is capped so headline + CTA land higher */
.blk.dark:has(> .wrap > .hero:not(.inner)){padding-top:var(--s4);padding-bottom:var(--s7)}
.hero{padding:0 0 0}
/* width must stay definite: with aspect-ratio alone, clamping the height (max-height here,
   min-height at 640) makes the box re-derive its width from the ratio, which overflowed the
   column at 1440 and pushed the page sideways on a phone. */
.keyart{max-height:420px;width:100%}
.hero .below{margin-top:var(--s5);align-items:start}
.hero .below .meta{padding-top:.5em}
/* 2 headline inside a split gets the full column */
.split .sec-head{grid-template-columns:1fr;margin-bottom:var(--s4)}
.split .sec-head > div:empty{display:none}
.split{gap:var(--s5)}
/* 3 reading leading */
body{line-height:1.5}
.copy,.card p,.col p,.step p,.versus p,.band p,.person p,.chipgrid p{line-height:1.5}
.lead{font-size:20px;line-height:1.4;max-width:52ch}
.list{line-height:1.45}
.item summary .s,.note,.small,.privacy,.expect{line-height:1.45}
h1,h2,h3,h4{line-height:1.05}
/* 4 inner hero voids + alignment */
.hero.inner{padding:var(--s3) 0 var(--s6)}
.blk:has(> .wrap > .hero.inner){padding-top:var(--s5);padding-bottom:var(--s6)}
.page-demo .blk:first-of-type,.page-legal .blk:first-of-type{padding-top:var(--s5)}
.sec-head{align-items:start;margin-bottom:var(--s5)}
.sec-head .meta{font-size:var(--t-body);line-height:1.45;max-width:36ch;padding-top:.5em}
.hero.inner .sec-head{margin-bottom:var(--s4)}
.hero.inner .cta-row{margin-top:var(--s2)}
/* 5 page ending: CTA lighter, footer quieter and visibly separate */
.cta-band .display{font-size:clamp(28px,4.2vw,56px);letter-spacing:-.015em;max-width:22ch}  /* min lowered from 36px so the longest CTA line stays at three rows on a phone */
.cta-band .lead{font-size:20px}
.footer{background:#001F16;border-top:1px solid var(--ax-line-dark);padding:var(--s6) 0 var(--s4)}
.footer h2{font-size:clamp(21px,1.9vw,26px);line-height:1.08;max-width:22ch}  /* scales with the column so the tagline holds to two lines */
.footer .cta-row{margin-top:var(--s3)}
.footer .bottom{margin-top:var(--s5)}
.footer .bottom img{height:32px}
.footer .top{grid-template-columns:minmax(0,2.2fr) minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr)}
@media (max-width:1024px){.footer .top{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.footer .top{grid-template-columns:1fr}.footer ul{gap:6px}.footer .chain{flex-direction:column;gap:6px;align-items:flex-start}.footer .chain span+span::before{display:none}}
/* 7 stat tiles: equal treatment, no count-up */
.stat{display:flex;flex-direction:column}
.stat .n{font-size:clamp(48px,6vw,88px);min-height:.95em}
.stat .n.word{font-size:var(--t-h2);padding:0;background:none;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--ax-warm);line-height:.95;min-height:.95em;display:flex;align-items:flex-end;letter-spacing:-.01em}
.light .stat .n.word{color:var(--ax-forest)}
.stat .l{font-size:var(--t-small);max-width:30ch;line-height:1.4}
.stat .c{font-size:13px}
/* 8 cards */
.media{aspect-ratio:16/9;border-radius:var(--r-md)}
.media .icon{width:44px;height:44px;stroke-width:1.3}
@media (max-width:640px){.card .media{aspect-ratio:21/9}}
.card h3{font-size:22px}
.card p{font-size:var(--t-small)}
.card .num:empty{display:none}
.card .iso{margin-bottom:-8px}
.mono,.interest label,.field input,.field select,.field textarea,.chipgrid div,.icon-chip{border-radius:var(--r-md)}
/* 9 chips → hairline list; icon tiles → bare line icons */
.band{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--s4) var(--s6);align-items:start}
@media (max-width:900px){.band{grid-template-columns:1fr}}
.band .chips{display:block;max-width:none;columns:2;column-gap:var(--s4)}
.chip{display:block;height:auto;padding:8px 0;border:0;border-top:1px solid var(--ax-line-light);border-radius:0;font-size:var(--t-small);break-inside:avoid}
.dark .chip{border-top-color:var(--ax-line-dark)}
.icon-chip{width:auto;height:auto;background:none;border:0;color:var(--ax-forest);margin-bottom:var(--s2);justify-content:flex-start}
.icon-chip .icon{width:28px;height:28px;stroke-width:1.4}
.dark .icon-chip{background:none;border:0;color:var(--ax-vibrant)}
/* 10 diagrams: static, filled nodes, readable labels */
.diagram rect.ln{fill:var(--ax-warm)}
.dark .diagram rect.ln{fill:var(--ax-forest)}
.diagram .ln.fill{fill:rgba(6,42,30,.04)}
.dark .diagram .ln.fill{fill:rgba(249,246,236,.06)}
.pulse{animation:none;opacity:.18}
.flow-dash{animation:none}
.diagram .lbl{font-size:14px}
.diagram .kck{font-size:11px}
/* 11 strip: no orphan separators */
.strip{justify-content:flex-start;gap:var(--s2) var(--s5);font-size:var(--t-small)}
.strip span::before{display:none}
.strip span{border-left:1px solid var(--ax-line-light);padding-left:var(--s4)}
.strip span:first-child{border:0;padding-left:0}
@media (max-width:640px){.strip span{border:0;padding-left:0}}
/* 12 service rows */
.items-head,.item summary{grid-template-columns:1.7fr 1.7fr 1.5fr 1.1fr 40px}
.item summary{padding:16px 0;align-items:start}
.item summary .s{font-size:14px;line-height:1.4}
.item summary .chev{align-self:center}
@media (max-width:900px){.items-head{display:none}.item summary{grid-template-columns:1fr 40px;padding:14px 0}.item summary .s{display:none}}
/* 13 nav active state */
.menu>li>a[aria-current="page"],.menu>li.active>button{box-shadow:none;background:rgba(6,42,30,.06)}
.nav.on-dark .menu>li>a[aria-current="page"],.nav.on-dark .menu>li.active>button{box-shadow:none;background:rgba(249,246,236,.08)}
/* 14 one caps-tracking value */
.kicker,.card .num,.step::before,.footer h5,.items-head,table.tb th,.ui .bar span,.field span,.figure .cap,.tbc,.diagram .kck,.example .bar{letter-spacing:var(--track-caps)}
.kicker{font-size:12px}
/* 15 mobile */
@media (max-width:900px){.hero .below>div:first-child{display:contents}.hero .below .cta-row{order:3}.hero .below>div:last-child{order:2}.cols2:has(> .list){gap:0}}
@media (max-width:640px){.sec-head{margin-bottom:var(--s4)}}
/* 16 whitespace ladder */
.blk.tight{padding:var(--s4) 0}
.blk.tight + .blk.light::before{display:none}
.band{margin-top:var(--s5)}
.footer .cta-row,.hero .cta-row{margin-top:var(--s4)}

/* leadership grid: seven tiles as 4 + 3 */
.people.seven{grid-template-columns:repeat(4,1fr)}
@media (max-width:1024px){.people.seven{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.people.seven{grid-template-columns:1fr}}
.people .person{flex-direction:column;gap:var(--s2)}
.person p{font-size:14px}
/* remove the retired fake-UI styles' visual weight; keep class for safety */
.item-body .figure{margin-top:var(--s3)}
.item-body .example iframe{min-height:700px}

/* hero lead + lightbox + expanded Portal list */
.hero-lead{color:var(--ax-warm-soft);margin:var(--s3) 0 0;max-width:46ch}
.shot{display:block;text-decoration:none;cursor:zoom-in}
.lightbox{position:fixed;inset:0;background:rgba(0,31,22,.92);z-index:200;display:none;align-items:center;justify-content:center;padding:var(--s4)}
.lightbox.open{display:flex}
.lightbox img{max-width:min(1900px,100%);max-height:100%;width:auto;height:auto;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.4);cursor:zoom-out}
.lightbox .lb-close{position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:50%;border:1px solid var(--ax-line-dark);background:none;color:var(--ax-warm);font-size:22px;cursor:pointer}
body.lb-open{overflow:hidden}
.chip .muted{display:block;font-size:14px;color:var(--ax-ink-soft)}
.dark .chip .muted{color:var(--ax-warm-soft)}
.band .chips{columns:1}
.band .chips.two{columns:2}

/* mobile menu: backdrop-filter turns the nav into a containing block for the fixed menu, so switch it off while open */
.nav.menu-open{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--ax-warm)}
.nav.on-dark.menu-open{background:var(--ax-forest)}
@media (max-width:1024px){.menu{z-index:60}}

/* review mode (?review=1): section address tags, off by default */
.review-on main > section,.review-on footer.footer{position:relative}
.review-tag{position:absolute;top:8px;left:8px;z-index:70;font:600 12px/1 Inter,system-ui,sans-serif;letter-spacing:.04em;padding:5px 8px;border-radius:4px;background:#ffe14d;color:#001f16;box-shadow:0 1px 3px rgba(0,0,0,.25);pointer-events:none}
header.nav .review-tag{top:auto;bottom:-24px;left:8px}

/* review round 1 (2026-09-23), Kevin's page notes: "sub text should align with header".
   Section heads stack: kicker, headline across the full width, sub text directly beneath it,
   left-aligned to the headline. Replaces the 2fr/1fr split where the sub text floated right. */
.sec-head{grid-template-columns:1fr;align-items:start}
.sec-head .meta{max-width:64ch;padding-top:0;margin-top:var(--s3)}
.sec-head > .meta:empty,.sec-head > div:empty{display:none}
/* home hero: headline, then the two labelled texts side by side (Kevin HOME-1) */
.hero .below.one{grid-template-columns:1fr auto}
.hero .pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--col-gap);margin-top:var(--s5);max-width:980px}
.hero .pair .kicker{margin:0 0 8px;color:var(--ax-warm-faint)}
.hero .pair .hero-lead{margin:0}
@media (max-width:900px){.hero .below.one{grid-template-columns:1fr}.hero .pair{grid-template-columns:1fr;gap:var(--s4)}}
/* graphics-pass placeholder (Kevin HOME-3, HOME-4) */
.placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:220px;border:1.5px dashed var(--ax-line-light);border-radius:var(--r-panel,14px);color:var(--ax-ink-faint);font-size:var(--t-small);text-align:center;padding:var(--s4)}
.placeholder b{font-weight:500;color:var(--ax-ink-soft);letter-spacing:.06em;text-transform:uppercase;font-size:12px}
.dark .placeholder{border-color:var(--ax-line-dark);color:var(--ax-warm-faint)}
.dark .placeholder b{color:var(--ax-warm-soft)}

/* review round 2 (2026-09-24) components */
.steps.four{grid-template-columns:repeat(4,1fr);margin-top:var(--s5)}
@media (max-width:900px){.steps.four{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps.four{grid-template-columns:1fr}}
.lead.strong{color:var(--ax-ink);font-weight:500;margin-top:var(--s5)}
.dark .lead.strong{color:var(--ax-warm)}
.sec-head .meta b{color:var(--ax-ink);font-weight:600}
.dark .sec-head .meta b{color:var(--ax-warm)}
/* Services: six core modules in two groups (Kevin SVC-3) */
.modules{margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid var(--ax-line-light)}
.modules > h3{margin-top:6px}
.mgroup{margin-top:var(--s4)}
.mgroup > .kicker{margin:0}
.mgroup .chipgrid{margin-top:var(--s2)}
/* Home proof: ISO card spans the full width under the three stats (Kevin HOME-7) */
.band.full{width:100%;justify-content:flex-start}
/* About: placeholder leadership cards */
.person.tbc-card .role,.person.tbc-card p{color:#9a6400;font-style:italic}
/* Contact form (Kevin CON-1) */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--s2)}
@media (max-width:520px){.form-grid{grid-template-columns:1fr}}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:var(--t-small);color:var(--ax-ink-soft);margin:var(--s2) 0}
.consent input{margin-top:3px;accent-color:var(--ax-forest)}
/* Legal: loud draft flag (Kevin LGL-1) */
.draft-banner{background:#FFE9A8;color:#3d2c00;border:1px solid #E0B43A;border-radius:12px;padding:14px 18px;margin-bottom:var(--s4);font-size:var(--t-small)}
.draft-banner b{font-weight:600}
/* round 2: longer CTA lines from Kevin's texts (CALC-7, WEB-7) must stay within two rows on desktop */
.cta-band .display{max-width:30ch}
/* round-3 check (2026-09-24): fixes from the design review */
.nb{white-space:nowrap}
.sec-head .meta .lines{display:grid;gap:2px;margin:var(--s2) 0}
.footer .btn.primary{background:var(--ax-vibrant);color:var(--ax-forest)}
.footer .btn.primary:hover{background:#4fdcb2}
/* word stats share the numerals' line box, so every caption in a row starts at the same height */
.stat .n.word{min-height:calc(clamp(48px,6vw,88px) * .95)}
@media (max-width:900px) and (min-width:641px){.stats > .stat:nth-child(3):last-child{grid-column:1/-1}}
/* ISO card: badges take their own width, text follows (HOME-7, ABT-6) */
.band.full{grid-template-columns:auto 1fr}
@media (max-width:900px){.band.full{grid-template-columns:1fr}}
@media (max-width:520px){.badges{gap:8px;flex-wrap:nowrap}.badges .iso{flex:1 1 0;min-width:0;max-width:84px;width:auto;height:auto;aspect-ratio:1}.badges .iso b{font-size:clamp(14px,4.4vw,20px)}.badges .iso small{font-size:9px;letter-spacing:.16em}}
/* facts strip: four cells, the long markets line wraps inside its own cell */
@media (min-width:901px){.strip{display:grid;grid-template-columns:auto auto auto minmax(0,1fr);column-gap:var(--s5)}}
@media (max-width:900px){.strip span{border:0;padding-left:0}}
.split .inline-form{max-width:none}
/* SVC-6: Kevin's line on one row on desktop */
.page-services .cta-band .display{max-width:none}
/* ==== DESIGN PASS (2026-09-24, _temporary_test_2). Scoped to body.dp, which build_site.py sets on the pages in
   DESIGN_PAGES, so the pass rolls out page by page. Source: review-tools-2/design-pass.css, appended by
   review-tools-2/apply_design.py. Brand 2.0 tokens only; no new colours (tints are the existing Vivid/Vibrant ones). ==== */

/* 1. Spacing rules: one section rhythm, tighter seams, the heading block grouped */
.dp{--sec-pad:96px;--gap-head:40px;--gap-block:40px;--measure:66ch}
@media (max-width:1024px){.dp{--sec-pad:72px}}
@media (max-width:640px){.dp{--sec-pad:48px;--gap-head:28px;--gap-block:28px}}
/* two bands on the same ground: the second starts at half padding (the hairline marks the seam) */
.dp .blk.light + .blk.light:not(.tight),.dp .duo + .blk.light,.dp .blk.light + .duo{padding-top:calc(var(--sec-pad) / 2)}
.dp .duo + .blk.light::before{content:"";position:absolute;left:var(--gutter);right:var(--gutter);top:0;border-top:1px solid var(--ax-line-light)}
.dp .sec-head{margin-bottom:var(--gap-head)}
.dp .sec-head .meta{margin-top:16px;max-width:var(--measure)}
.dp .kicker{margin-bottom:12px}
.dp .band{margin-top:var(--gap-block)}
.dp .stat{padding:24px 0 0}
.dp .band > *,.dp .hero-split > *,.dp .cards > *{min-width:0}
.dp .kicker{overflow-wrap:anywhere}
@media (max-width:380px){.dp .badges .iso{width:70px;height:70px}.dp .badges .iso b{font-size:17px}.dp .band{padding:22px}}

/* 2. Home hero, landscape (Kevin HOME-1, 2026-09-25): key art full width, the tagline full width, what and who side by side */
.dp .blk.dark:has(> .wrap > .hero-land){padding-top:32px;padding-bottom:64px}
.dp .hero-land .keyart{aspect-ratio:auto;width:100%;height:clamp(150px,19vw,270px);min-height:0;max-height:none}
.dp .hero-land .keyart .sym{height:60%}
.dp .hero-land h1.display{margin-top:36px;font-size:clamp(36px,4.8vw,68px)}
.dp .hs-facts{display:grid;grid-template-columns:1fr 1fr;gap:28px 56px;margin-top:32px}
.dp .hs-facts .kicker{margin:0 0 8px;color:var(--ax-warm-faint)}
.dp .hs-facts .hero-lead{margin:0;font-size:19px;line-height:1.45;max-width:54ch}
.dark .hero-lead b{color:var(--ax-warm);font-weight:600}
.icon-row{display:flex;gap:12px;margin-bottom:12px;color:var(--ax-vivid)}
.dark .icon-row{color:var(--ax-vibrant)}
.icon-row .icon{width:22px;height:22px}
.dp .hero-land .cta-row{margin-top:32px}
@media (max-width:900px){.dp .hs-facts{grid-template-columns:1fr;gap:24px;margin-top:24px}.dp .hs-facts .hero-lead{font-size:17px}
  .dp .hero-land h1.display{margin-top:28px}.dp .hero-land .keyart{height:120px}}

/* 3. Service card with a product preview (replaces the gradient tile): the output itself, then the section */
.dp .card{gap:16px}
.dp .card .media.prev{aspect-ratio:16/10;background:var(--ax-warm);border:1px solid var(--ax-card-line);border-radius:var(--r-md)}
.dp .card .media.prev img{object-fit:cover;object-position:left top;filter:none;opacity:1}
.dp .card .card-top{display:flex;align-items:center;gap:10px}
.dp .card .card-top .icon{width:22px;height:22px;color:var(--ax-vivid)}
.dp .card h3{font-size:22px}
.dp .card p{font-size:16px;line-height:1.5}
.dp .card p b{color:var(--ax-ink);font-weight:600}
.dp .card .list{font-size:15px;gap:6px}
@media (max-width:640px){.dp .card .media.prev{aspect-ratio:16/9}}

/* 4. Portal strip: the sentences about Auxality Portal sit with it; modules carry icons */
.dp .portal-band{background:var(--ax-card);border-color:var(--ax-card-line)}
.pb-note{margin-top:12px;color:var(--ax-ink-soft);line-height:1.5;max-width:44ch}
.checks{list-style:none;display:flex;flex-wrap:wrap;gap:8px 24px;margin:14px 0 0;padding:0}
.checks li{display:flex;gap:8px;align-items:center;font-weight:500}
.checks .icon{width:18px;height:18px;color:var(--ax-vivid)}
.dark .checks .icon{color:var(--ax-vibrant)}
.dp .chips.icons .chip{display:flex;align-items:center;gap:10px;padding:10px 0}
.dp .chips.icons .chip .icon{width:18px;height:18px;color:var(--ax-vivid)}

/* 5. Callout: a qualifying sentence attached to what it qualifies, with a bold lead-in from its own first words */
.callout{display:flex;gap:14px;align-items:flex-start;margin-top:var(--gap-block);padding:18px 22px;border-radius:var(--r-md);background:rgba(9,159,114,.07);border:1px solid rgba(9,159,114,.18);line-height:1.5;color:var(--ax-ink-soft)}
.dark .callout{background:rgba(50,206,160,.08);border-color:rgba(50,206,160,.2);color:var(--ax-warm-soft)}
.callout p{margin:0}
.callout b{color:var(--ax-ink);font-weight:600}
.dark .callout b{color:var(--ax-warm)}
.callout .icon{width:22px;height:22px;color:var(--ax-vivid);margin-top:1px}
.dark .callout .icon{color:var(--ax-vibrant)}

/* 6. Grid footer: the closing line of a grid belongs to the grid (hairline, icon, ink) instead of floating 48 px below */
.grid-foot{display:flex;gap:12px;align-items:center;margin-top:24px;padding-top:18px;border-top:1px solid var(--ax-line-light);font-weight:500;color:var(--ax-ink);line-height:1.4}
.grid-foot p{margin:0}
.grid-foot .icon{width:20px;height:20px;color:var(--ax-vivid)}
.dark .grid-foot{border-color:var(--ax-line-dark);color:var(--ax-warm)}
.dark .grid-foot .icon{color:var(--ax-vibrant)}

/* 7. Card columns: three-column items as white cards (clients, values, roles) */
.dp .cols3.as-cards{gap:24px}
.dp .cols3.as-cards > .col{background:var(--ax-card);border:1px solid var(--ax-card-line);border-radius:var(--r-card);padding:28px;display:flex;flex-direction:column}
.dp .cols3.as-cards > .col h3{font-size:22px}
.dp .cols3.as-cards > .col .mt3{margin-top:auto;padding-top:20px}

/* 8. Duo: two sections as one before/after band (problem card on white, answer card on Forest) */
.duo{position:relative;background:var(--ax-warm);padding:var(--sec-pad) 0}
.duo-in{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.duo .blk{padding:40px;border-radius:var(--r-card)}
.duo .blk.light{background:var(--ax-card);border:1px solid var(--ax-card-line)}
.duo .blk::before{display:none}
.duo .blk > .wrap{padding:0;max-width:none;height:100%;display:flex;flex-direction:column}
.duo .blk h2{font-size:clamp(22px,1.9vw,27px);line-height:1.15}
.duo .blk .sec-head{margin-bottom:20px}
.duo .copy{margin-top:0;max-width:none}
.duo .blk .lead{font-size:18px;line-height:1.5;margin-top:0;max-width:none}
.duo .blk .copy b,.duo .blk .lead b{font-weight:600;color:var(--ax-ink)}
.duo .blk.dark .copy b{color:var(--ax-warm)}
.duo .blk.dark .copy{color:var(--ax-warm-soft)}
.duo .blk > .wrap > .figure:last-child{margin-top:auto;padding-top:28px}
.duo .placeholder{min-height:150px}
@media (max-width:1024px){.duo-in{grid-template-columns:1fr}}
@media (max-width:640px){.duo .blk{padding:28px 22px}}

/* 9. Lead-in list: one item per existing sentence, the first words bold, an icon each */
.leadlist{list-style:none;display:grid;gap:20px;margin:0;padding:0;max-width:52ch}
.leadlist li{display:grid;grid-template-columns:26px 1fr;gap:14px;align-items:start;line-height:1.5;color:var(--ax-ink-soft)}
.leadlist .icon{width:24px;height:24px;color:var(--ax-vivid)}
.leadlist b{color:var(--ax-ink);font-weight:600}
.dark .leadlist li{color:var(--ax-warm-soft)}
.dark .leadlist b{color:var(--ax-warm)}
.dark .leadlist .icon{color:var(--ax-vibrant)}
.dp .split,.dp .split.top{align-items:start}  /* text beside a screenshot starts at its top edge, never floats mid-band */

/* 10. CTA band: the original layout (Kevin HOME-9); the bold lead-in follows the band's ink */
.cta-band .lead b{color:var(--ax-warm);font-weight:600}

/* 11. Footer, slim (Kevin opt-footer, 2026-09-25): three link columns and the bottom row, no tagline, CTA or Contact column */
.footer.slim .top{grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:var(--col-gap);align-items:start}
.footer.slim .f-brand img{height:36px;width:auto}
.footer.slim .bottom{margin-top:var(--s5)}
.footer.slim .legal{justify-content:flex-end}
@media (max-width:900px){.footer.slim .top{grid-template-columns:1fr 1fr 1fr}.footer.slim .f-brand{grid-column:1/-1}}
@media (max-width:640px){.footer.slim .top{grid-template-columns:1fr}.footer.slim .legal{justify-content:flex-start}}

/* 12. Step 2 (rollout to every page, 2026-09-25) */
/* inner heroes: a landscape strip under the text (product crop, brand photo or key art; Kevin HOME-1: landscape) */
.hero-strip{position:relative;margin-top:40px;height:clamp(160px,19vw,280px);border-radius:var(--r-panel);overflow:hidden;background:var(--ax-forest)}
.hero-strip.keyart{aspect-ratio:auto;min-height:0;max-height:none;width:100%}
.hero-strip.keyart .sym{height:58%}
.hero-strip img{width:100%;height:100%;object-fit:cover;display:block}
.hero-strip.shot-strip{background:var(--ax-card);border:1px solid var(--ax-card-line);box-shadow:var(--ax-shadow)}
.hero-strip.shot-strip img{object-position:left top}
@media (max-width:640px){.hero-strip{height:130px;margin-top:28px}}
.dp .hero.inner .sec-head .meta{max-width:var(--measure)}
/* the band owns the space under an inner hero (was band 64 + hero 64 = 128 px; Kevin: not too much space at the bottom) */
.dp .hero.inner{padding-bottom:0}
/* icons on steps, modules and the two sides of a boundary */
.step-ic{width:24px;height:24px;color:var(--ax-vivid);display:block;margin:0 0 12px}
.dark .step-ic{color:var(--ax-vibrant)}
.mod-ic{width:20px;height:20px;color:var(--ax-vivid);display:block;margin-bottom:10px}
.vs-ic{width:26px;height:26px;color:var(--ax-vivid);display:block;margin-bottom:12px}
.dark .vs-ic{color:var(--ax-vibrant)}
.versus p b,.dp .col p b,.dp .card p b{color:var(--ax-ink);font-weight:600}
.dark .versus p b{color:var(--ax-warm)}
@media (max-width:900px){.dp .versus{gap:var(--s4)}}
/* numbered sequence (a paragraph that is really steps, split at its full stops) */
.seq{margin:0;padding:0;list-style:none;counter-reset:sq;display:grid;gap:10px}
.seq li{counter-increment:sq;display:grid;grid-template-columns:26px 1fr;gap:10px;line-height:1.5;color:var(--ax-ink-soft)}
.seq li::before{content:counter(sq);width:22px;height:22px;border-radius:50%;border:1px solid var(--ax-line-light);font-size:12px;font-weight:500;display:flex;align-items:center;justify-content:center;color:var(--ax-ink);margin-top:1px}
.seq b{color:var(--ax-ink);font-weight:600}
/* lead-in list variants */
.leadlist.in-meta{margin-top:14px;gap:10px;font-size:var(--t-body)}
.leadlist.in-meta li{color:var(--ax-ink-soft)}
.leadlist.roomy{gap:24px;max-width:60ch}
.sec-head .meta .checks{margin-top:14px}
.sec-head .meta .checks li{color:var(--ax-ink)}
.dark .sec-head .meta .checks li{color:var(--ax-warm)}
/* grid footer inside a steps column or on a dark band */
.steps.col1 + .grid-foot{margin-top:20px}
.dp .callout + .cols3,.dp .steps + .callout{margin-top:var(--gap-block)}
.dp .callout{max-width:none}
/* service cards on cross-sell bands: the same preview card as Home */
.dp .cards .card .media.prev + .card-top{margin-top:4px}
/* ==== /DESIGN PASS ==== */

/* r2 office films */
.office-film{border-radius:var(--r-card);overflow:hidden;aspect-ratio:16/9;background:var(--ax-card-line)}
.office-film video{display:block;width:100%;height:100%;object-fit:cover}

/* r6 document viewer */
.docscroll{aspect-ratio:794/1123;max-height:82vh;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid var(--ax-card-line);border-radius:var(--r-card);background:var(--ax-card);box-shadow:var(--ax-shadow);scrollbar-width:thin;scrollbar-color:var(--ax-vivid) transparent}
.docscroll img{display:block;width:100%;height:auto;flex:none;border:1px solid var(--ax-card-line);border-radius:4px}
.docscroll:focus-visible{outline:2px solid var(--ax-vivid);outline-offset:2px}


/* r8 service rows: surface and layout only (no type size or weight changes) */
.item summary .chev{font-size:0;transform:none!important}
.item summary .chev::after{content:"+";font-size:20px;line-height:1}
.item[open] summary .chev::after{content:"\2212"}
.item[open] summary .chev{background:rgba(9,159,114,.12);border-color:var(--ax-vivid)}
.item[open]{background:var(--ax-card);border:1px solid var(--ax-card-line);border-radius:var(--r-card);box-shadow:var(--ax-shadow);
  margin:10px calc(-1 * var(--s4));padding:0 var(--s4)}
.item[open] summary{border-bottom:1px solid var(--ax-line-light)}
.item-body .facts{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);margin-top:0;padding-top:var(--s3);border-top:1px solid var(--ax-line-light)}
.item-body .facts div{display:block;border-top:0;padding-top:0}
.item-body .facts div>span{display:block;margin-bottom:8px}
@media (max-width:900px){.item[open]{margin:8px calc(-1 * var(--s2));padding:0 var(--s2)}.item-body .facts{grid-template-columns:1fr;gap:var(--s2)}}

/* r9 facts once: hidden in the card where the row shows them (desktop), kept on phones */
@media (min-width:901px){.item-body .facts{display:none}}

/* r8 service rows: surface and layout only (no type size or weight changes) */
.item summary .chev{font-size:0;transform:none!important}
.item summary .chev::after{content:"+";font-size:20px;line-height:1}
.item[open] summary .chev::after{content:"\2212"}
.item[open] summary .chev{background:rgba(9,159,114,.12);border-color:var(--ax-vivid)}
.item[open]{background:var(--ax-card);border:1px solid var(--ax-card-line);border-radius:var(--r-card);box-shadow:var(--ax-shadow);
  margin:10px calc(-1 * var(--s4));padding:0 var(--s4)}
.item[open] summary{border-bottom:1px solid var(--ax-line-light)}
.item-body .facts{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);margin-top:0;padding-top:var(--s3);border-top:1px solid var(--ax-line-light)}
.item-body .facts div{display:block;border-top:0;padding-top:0}
.item-body .facts div>span{display:block;margin-bottom:8px}
@media (max-width:900px){.item[open]{margin:8px calc(-1 * var(--s2));padding:0 var(--s2)}.item-body .facts{grid-template-columns:1fr;gap:var(--s2)}}

/* r9 facts once: hidden in the card where the row shows them (desktop), kept on phones */
@media (min-width:901px){.item-body .facts{display:none}}

/* r8 service rows: surface and layout only (no type size or weight changes) */
.item summary .chev{font-size:0;transform:none!important}
.item summary .chev::after{content:"+";font-size:20px;line-height:1}
.item[open] summary .chev::after{content:"\2212"}
.item[open] summary .chev{background:rgba(9,159,114,.12);border-color:var(--ax-vivid)}
.item[open]{background:var(--ax-card);border:1px solid var(--ax-card-line);border-radius:var(--r-card);box-shadow:var(--ax-shadow);
  margin:10px calc(-1 * var(--s4));padding:0 var(--s4)}
.item[open] summary{border-bottom:1px solid var(--ax-line-light)}
.item-body .facts{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);margin-top:0;padding-top:var(--s3);border-top:1px solid var(--ax-line-light)}
.item-body .facts div{display:block;border-top:0;padding-top:0}
.item-body .facts div>span{display:block;margin-bottom:8px}
@media (max-width:900px){.item[open]{margin:8px calc(-1 * var(--s2));padding:0 var(--s2)}.item-body .facts{grid-template-columns:1fr;gap:var(--s2)}}

/* r9 facts once: hidden in the card where the row shows them (desktop), kept on phones */
@media (min-width:901px){.item-body .facts{display:none}}

/* r11 */
.crumbs.top{font-size:var(--t-small);color:var(--ax-ink-soft);margin-bottom:var(--s3);display:flex;gap:8px;flex-wrap:wrap}
.crumbs.top a{text-decoration:none}.crumbs.top a:hover{color:var(--ax-vivid)}
.iso.iso-ic .icon{width:34px;height:34px;color:var(--ax-forest)}

/* r8 service rows: surface and layout only (no type size or weight changes) */
.item summary .chev{font-size:0;transform:none!important}
.item summary .chev::after{content:"+";font-size:20px;line-height:1}
.item[open] summary .chev::after{content:"\2212"}
.item[open] summary .chev{background:rgba(9,159,114,.12);border-color:var(--ax-vivid)}
.item[open]{background:var(--ax-card);border:1px solid var(--ax-card-line);border-radius:var(--r-card);box-shadow:var(--ax-shadow);
  margin:10px calc(-1 * var(--s4));padding:0 var(--s4)}
.item[open] summary{border-bottom:1px solid var(--ax-line-light)}
.item-body .facts{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);margin-top:0;padding-top:var(--s3);border-top:1px solid var(--ax-line-light)}
.item-body .facts div{display:block;border-top:0;padding-top:0}
.item-body .facts div>span{display:block;margin-bottom:8px}
@media (max-width:900px){.item[open]{margin:8px calc(-1 * var(--s2));padding:0 var(--s2)}.item-body .facts{grid-template-columns:1fr;gap:var(--s2)}}

/* r9 facts once: hidden in the card where the row shows them (desktop), kept on phones */
@media (min-width:901px){.item-body .facts{display:none}}

/* r8 service rows: surface and layout only (no type size or weight changes) */
.item summary .chev{font-size:0;transform:none!important}
.item summary .chev::after{content:"+";font-size:20px;line-height:1}
.item[open] summary .chev::after{content:"\2212"}
.item[open] summary .chev{background:rgba(9,159,114,.12);border-color:var(--ax-vivid)}
.item[open]{background:var(--ax-card);border:1px solid var(--ax-card-line);border-radius:var(--r-card);box-shadow:var(--ax-shadow);
  margin:10px calc(-1 * var(--s4));padding:0 var(--s4)}
.item[open] summary{border-bottom:1px solid var(--ax-line-light)}
.item-body .facts{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);margin-top:0;padding-top:var(--s3);border-top:1px solid var(--ax-line-light)}
.item-body .facts div{display:block;border-top:0;padding-top:0}
.item-body .facts div>span{display:block;margin-bottom:8px}
@media (max-width:900px){.item[open]{margin:8px calc(-1 * var(--s2));padding:0 var(--s2)}.item-body .facts{grid-template-columns:1fr;gap:var(--s2)}}

/* r9 facts once: hidden in the card where the row shows them (desktop), kept on phones */
@media (min-width:901px){.item-body .facts{display:none}}

/* r8 service rows: surface and layout only (no type size or weight changes) */
.item summary .chev{font-size:0;transform:none!important}
.item summary .chev::after{content:"+";font-size:20px;line-height:1}
.item[open] summary .chev::after{content:"\2212"}
.item[open] summary .chev{background:rgba(9,159,114,.12);border-color:var(--ax-vivid)}
.item[open]{background:var(--ax-card);border:1px solid var(--ax-card-line);border-radius:var(--r-card);box-shadow:var(--ax-shadow);
  margin:10px calc(-1 * var(--s4));padding:0 var(--s4)}
.item[open] summary{border-bottom:1px solid var(--ax-line-light)}
.item-body .facts{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);margin-top:0;padding-top:var(--s3);border-top:1px solid var(--ax-line-light)}
.item-body .facts div{display:block;border-top:0;padding-top:0}
.item-body .facts div>span{display:block;margin-bottom:8px}
@media (max-width:900px){.item[open]{margin:8px calc(-1 * var(--s2));padding:0 var(--s2)}.item-body .facts{grid-template-columns:1fr;gap:var(--s2)}}

/* r9 facts once: hidden in the card where the row shows them (desktop), kept on phones */
@media (min-width:901px){.item-body .facts{display:none}}

/* r14 typography: balanced headings, no lone last words, wider intro lines */
h1,h2,h3,h4,.display{text-wrap:balance}
p,li,dd,.meta,.lead,.cap,.hero-lead{text-wrap:pretty}
.sec-head .meta{max-width:76ch}

/* r8 service rows: surface and layout only (no type size or weight changes) */
.item summary .chev{font-size:0;transform:none!important}
.item summary .chev::after{content:"+";font-size:20px;line-height:1}
.item[open] summary .chev::after{content:"\2212"}
.item[open] summary .chev{background:rgba(9,159,114,.12);border-color:var(--ax-vivid)}
.item[open]{background:var(--ax-card);border:1px solid var(--ax-card-line);border-radius:var(--r-card);box-shadow:var(--ax-shadow);
  margin:10px calc(-1 * var(--s4));padding:0 var(--s4)}
.item[open] summary{border-bottom:1px solid var(--ax-line-light)}
.item-body .facts{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);margin-top:0;padding-top:var(--s3);border-top:1px solid var(--ax-line-light)}
.item-body .facts div{display:block;border-top:0;padding-top:0}
.item-body .facts div>span{display:block;margin-bottom:8px}
@media (max-width:900px){.item[open]{margin:8px calc(-1 * var(--s2));padding:0 var(--s2)}.item-body .facts{grid-template-columns:1fr;gap:var(--s2)}}

/* r9 facts once: hidden in the card where the row shows them (desktop), kept on phones */
@media (min-width:901px){.item-body .facts{display:none}}

/* r14 typography: balanced headings, no lone last words, wider intro lines */
h1,h2,h3,h4,.display{text-wrap:balance}
p,li,dd,.meta,.lead,.cap,.hero-lead{text-wrap:pretty}
.sec-head .meta{max-width:76ch}

/* r8 service rows: surface and layout only (no type size or weight changes) */
.item summary .chev{font-size:0;transform:none!important}
.item summary .chev::after{content:"+";font-size:20px;line-height:1}
.item[open] summary .chev::after{content:"\2212"}
.item[open] summary .chev{background:rgba(9,159,114,.12);border-color:var(--ax-vivid)}
.item[open]{background:var(--ax-card);border:1px solid var(--ax-card-line);border-radius:var(--r-card);box-shadow:var(--ax-shadow);
  margin:10px calc(-1 * var(--s4));padding:0 var(--s4)}
.item[open] summary{border-bottom:1px solid var(--ax-line-light)}
.item-body .facts{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);margin-top:0;padding-top:var(--s3);border-top:1px solid var(--ax-line-light)}
.item-body .facts div{display:block;border-top:0;padding-top:0}
.item-body .facts div>span{display:block;margin-bottom:8px}
@media (max-width:900px){.item[open]{margin:8px calc(-1 * var(--s2));padding:0 var(--s2)}.item-body .facts{grid-template-columns:1fr;gap:var(--s2)}}

/* r9 facts once: hidden in the card where the row shows them (desktop), kept on phones */
@media (min-width:901px){.item-body .facts{display:none}}

/* r14 typography: balanced headings, no lone last words, wider intro lines */
h1,h2,h3,h4,.display{text-wrap:balance}
p,li,dd,.meta,.lead,.cap,.hero-lead{text-wrap:pretty}
.sec-head .meta{max-width:76ch}

/* r8 service rows: surface and layout only (no type size or weight changes) */
.item summary .chev{font-size:0;transform:none!important}
.item summary .chev::after{content:"+";font-size:20px;line-height:1}
.item[open] summary .chev::after{content:"\2212"}
.item[open] summary .chev{background:rgba(9,159,114,.12);border-color:var(--ax-vivid)}
.item[open]{background:var(--ax-card);border:1px solid var(--ax-card-line);border-radius:var(--r-card);box-shadow:var(--ax-shadow);
  margin:10px calc(-1 * var(--s4));padding:0 var(--s4)}
.item[open] summary{border-bottom:1px solid var(--ax-line-light)}
.item-body .facts{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);margin-top:0;padding-top:var(--s3);border-top:1px solid var(--ax-line-light)}
.item-body .facts div{display:block;border-top:0;padding-top:0}
.item-body .facts div>span{display:block;margin-bottom:8px}
@media (max-width:900px){.item[open]{margin:8px calc(-1 * var(--s2));padding:0 var(--s2)}.item-body .facts{grid-template-columns:1fr;gap:var(--s2)}}

/* r9 facts once: hidden in the card where the row shows them (desktop), kept on phones */
@media (min-width:901px){.item-body .facts{display:none}}

/* r14 typography: balanced headings, no lone last words, wider intro lines */
h1,h2,h3,h4,.display{text-wrap:balance}
p,li,dd,.meta,.lead,.cap,.hero-lead{text-wrap:pretty}
.sec-head .meta{max-width:76ch}

/* r8 service rows: surface and layout only (no type size or weight changes) */
.item summary .chev{font-size:0;transform:none!important}
.item summary .chev::after{content:"+";font-size:20px;line-height:1}
.item[open] summary .chev::after{content:"\2212"}
.item[open] summary .chev{background:rgba(9,159,114,.12);border-color:var(--ax-vivid)}
.item[open]{background:var(--ax-card);border:1px solid var(--ax-card-line);border-radius:var(--r-card);box-shadow:var(--ax-shadow);
  margin:10px calc(-1 * var(--s4));padding:0 var(--s4)}
.item[open] summary{border-bottom:1px solid var(--ax-line-light)}
.item-body .facts{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);margin-top:0;padding-top:var(--s3);border-top:1px solid var(--ax-line-light)}
.item-body .facts div{display:block;border-top:0;padding-top:0}
.item-body .facts div>span{display:block;margin-bottom:8px}
@media (max-width:900px){.item[open]{margin:8px calc(-1 * var(--s2));padding:0 var(--s2)}.item-body .facts{grid-template-columns:1fr;gap:var(--s2)}}

/* r9 facts once: hidden in the card where the row shows them (desktop), kept on phones */
@media (min-width:901px){.item-body .facts{display:none}}

/* r14 typography: balanced headings, no lone last words, wider intro lines */
h1,h2,h3,h4,.display{text-wrap:balance}
p,li,dd,.meta,.lead,.cap,.hero-lead{text-wrap:pretty}
.sec-head .meta{max-width:76ch}

/* r8 service rows: surface and layout only (no type size or weight changes) */
.item summary .chev{font-size:0;transform:none!important}
.item summary .chev::after{content:"+";font-size:20px;line-height:1}
.item[open] summary .chev::after{content:"\2212"}
.item[open] summary .chev{background:rgba(9,159,114,.12);border-color:var(--ax-vivid)}
.item[open]{background:var(--ax-card);border:1px solid var(--ax-card-line);border-radius:var(--r-card);box-shadow:var(--ax-shadow);
  margin:10px calc(-1 * var(--s4));padding:0 var(--s4)}
.item[open] summary{border-bottom:1px solid var(--ax-line-light)}
.item-body .facts{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);margin-top:0;padding-top:var(--s3);border-top:1px solid var(--ax-line-light)}
.item-body .facts div{display:block;border-top:0;padding-top:0}
.item-body .facts div>span{display:block;margin-bottom:8px}
@media (max-width:900px){.item[open]{margin:8px calc(-1 * var(--s2));padding:0 var(--s2)}.item-body .facts{grid-template-columns:1fr;gap:var(--s2)}}

/* r9 facts once: hidden in the card where the row shows them (desktop), kept on phones */
@media (min-width:901px){.item-body .facts{display:none}}

/* r14 typography: balanced headings, no lone last words, wider intro lines */
h1,h2,h3,h4,.display{text-wrap:balance}
p,li,dd,.meta,.lead,.cap,.hero-lead{text-wrap:pretty}
.sec-head .meta{max-width:76ch}

/* r8 service rows: surface and layout only (no type size or weight changes) */
.item summary .chev{font-size:0;transform:none!important}
.item summary .chev::after{content:"+";font-size:20px;line-height:1}
.item[open] summary .chev::after{content:"\2212"}
.item[open] summary .chev{background:rgba(9,159,114,.12);border-color:var(--ax-vivid)}
.item[open]{background:var(--ax-card);border:1px solid var(--ax-card-line);border-radius:var(--r-card);box-shadow:var(--ax-shadow);
  margin:10px calc(-1 * var(--s4));padding:0 var(--s4)}
.item[open] summary{border-bottom:1px solid var(--ax-line-light)}
.item-body .facts{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);margin-top:0;padding-top:var(--s3);border-top:1px solid var(--ax-line-light)}
.item-body .facts div{display:block;border-top:0;padding-top:0}
.item-body .facts div>span{display:block;margin-bottom:8px}
@media (max-width:900px){.item[open]{margin:8px calc(-1 * var(--s2));padding:0 var(--s2)}.item-body .facts{grid-template-columns:1fr;gap:var(--s2)}}

/* r9 facts once: hidden in the card where the row shows them (desktop), kept on phones */
@media (min-width:901px){.item-body .facts{display:none}}

/* r14 typography: balanced headings, no lone last words, wider intro lines */
h1,h2,h3,h4,.display{text-wrap:balance}
p,li,dd,.meta,.lead,.cap,.hero-lead{text-wrap:pretty}
.sec-head .meta{max-width:76ch}

/* r8 service rows: surface and layout only (no type size or weight changes) */
.item summary .chev{font-size:0;transform:none!important}
.item summary .chev::after{content:"+";font-size:20px;line-height:1}
.item[open] summary .chev::after{content:"\2212"}
.item[open] summary .chev{background:rgba(9,159,114,.12);border-color:var(--ax-vivid)}
.item[open]{background:var(--ax-card);border:1px solid var(--ax-card-line);border-radius:var(--r-card);box-shadow:var(--ax-shadow);
  margin:10px calc(-1 * var(--s4));padding:0 var(--s4)}
.item[open] summary{border-bottom:1px solid var(--ax-line-light)}
.item-body .facts{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);margin-top:0;padding-top:var(--s3);border-top:1px solid var(--ax-line-light)}
.item-body .facts div{display:block;border-top:0;padding-top:0}
.item-body .facts div>span{display:block;margin-bottom:8px}
@media (max-width:900px){.item[open]{margin:8px calc(-1 * var(--s2));padding:0 var(--s2)}.item-body .facts{grid-template-columns:1fr;gap:var(--s2)}}

/* r9 facts once: hidden in the card where the row shows them (desktop), kept on phones */
@media (min-width:901px){.item-body .facts{display:none}}

/* r14 typography: balanced headings, no lone last words, wider intro lines */
h1,h2,h3,h4,.display{text-wrap:balance}
p,li,dd,.meta,.lead,.cap,.hero-lead{text-wrap:pretty}
.sec-head .meta{max-width:76ch}
