/* Pinaque Technologies. Brand system: every page uses these tokens. */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500 600;font-display:swap;src:url('/assets/fonts/space-grotesk-latin.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;src:url('/assets/fonts/inter-latin.woff2') format('woff2')}

:root{
  /* Brand colours */
  --paper:#ECEAE2;
  --paper-soft:#F7F6F2;
  --ink:#12141A;
  --brick:#A5342A;
  /* Accessible neutrals and states */
  --brick-dark:#872921;
  --brick-on-ink:#E39A8A;
  --ink-2:#2B2F38;
  --ink-3:#3A3F49;
  --steel:#4A5568;
  --on-ink:#ECEAE2;
  --on-ink-2:#B9BCC4;
  --line:rgba(18,20,26,.14);
  --line-strong:rgba(18,20,26,.34);
  --line-on-ink:rgba(236,234,226,.18);
  --error:#8E1B12;
  /* Type: two families */
  --font-head:'Space Grotesk','Helvetica Neue',Arial,sans-serif;
  --font-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  /* Type scale, mobile first, fluid upwards */
  --fs-xs:.8125rem;
  --fs-sm:.9375rem;
  --fs-base:1rem;
  --fs-md:1.125rem;
  --fs-lg:clamp(1.25rem,1.12rem + .55vw,1.5rem);
  --fs-xl:clamp(1.75rem,1.35rem + 1.7vw,2.5rem);
  --fs-2xl:clamp(2.375rem,1.5rem + 3.9vw,4rem);
  /* Spacing scale */
  --s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;--s-9:6rem;
  --section:clamp(3rem,2rem + 5vw,6rem);
  --gutter:clamp(1rem,.2rem + 3.6vw,4rem);
  --wrap:77rem;
  /* Shape and motion */
  --radius:2px;
  --border:1px solid var(--line);
  --t-fast:.15s;
  --t-med:.25s;
  --t-slow:.6s;
  --ease:cubic-bezier(.2,.6,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper-soft);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-base);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img,svg{max-width:100%}
h1,h2,h3,h4{font-family:var(--font-head);font-weight:600;letter-spacing:-.015em;line-height:1.15;margin:0}
h1{font-size:var(--fs-2xl);line-height:1.05}
h2{font-size:var(--fs-xl)}
h3{font-size:var(--fs-lg);line-height:1.2}
h4{font-size:var(--fs-md)}
p{margin:0 0 var(--s-4)}
p:last-child{margin-bottom:0}
a{color:var(--brick);text-underline-offset:.2em;text-decoration-thickness:1px;transition:color var(--t-fast)}
a:hover{color:var(--brick-dark)}
ul,ol{margin:0;padding:0}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:var(--radius)}
.on-ink :focus-visible,.site-foot :focus-visible{outline-color:var(--on-ink)}
::selection{background:var(--brick);color:var(--paper-soft)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:var(--s-4);top:-4rem;z-index:50;background:var(--ink);color:var(--on-ink);padding:var(--s-3) var(--s-4);border-radius:var(--radius)}
.skip:focus{top:var(--s-3);color:var(--on-ink)}

/* ---------- Layout ---------- */
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section)}
.section--paper{background:var(--paper)}
.section--soft{background:var(--paper-soft)}
.section--rule{border-top:var(--border)}
.section--ink{background:var(--ink);color:var(--on-ink)}
.section--tight{padding-block:calc(var(--section) * .6)}
.stack>*+*{margin-top:var(--s-5)}
.measure{max-width:44rem}
.sec-head{max-width:46rem;margin-bottom:var(--s-7)}
.sec-head p:not(.kicker){margin-top:var(--s-4);font-size:var(--fs-md);color:var(--ink-3)}
.section--ink .sec-head p:not(.kicker){color:var(--on-ink-2)}
.kicker{font-size:var(--fs-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brick);margin:0 0 var(--s-4)}
.section--ink .kicker{color:var(--brick-on-ink)}
.lede{font-size:var(--fs-md);color:var(--ink-2);max-width:40rem}
.small{font-size:var(--fs-sm);color:var(--steel)}
.cols-2,.cols-3{display:grid;gap:var(--s-6)}
@media (min-width:56rem){
  .cols-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-7)}
  .cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-8);align-items:start}
  .split--rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
}
.split>*+*{margin-top:var(--s-6)}
@media (min-width:56rem){.split>*+*{margin-top:0}}

/* ---------- Buttons and links ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:3rem;padding:var(--s-3) var(--s-5);background:var(--brick);color:var(--paper-soft);font:600 var(--fs-sm)/1.2 var(--font-body);text-decoration:none;text-align:center;border:1px solid var(--brick);border-radius:var(--radius);cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}
.btn:hover{background:var(--brick-dark);border-color:var(--brick-dark);color:var(--paper-soft)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.btn--ghost:hover{background:rgba(18,20,26,.06);border-color:var(--ink);color:var(--ink)}
.section--ink .btn--ghost{color:var(--on-ink);border-color:var(--line-on-ink)}
.section--ink .btn--ghost:hover{background:rgba(236,234,226,.1);border-color:var(--on-ink);color:var(--on-ink)}
.btn--sm{min-height:2.75rem;padding:var(--s-2) var(--s-4)}
.btn[disabled]{opacity:.6;cursor:default}
.btn-row{display:flex;flex-direction:column;gap:var(--s-3);margin-top:var(--s-6)}
@media (min-width:34rem){.btn-row{flex-direction:row;flex-wrap:wrap}}
.more{display:inline-flex;align-items:center;gap:.4em;min-height:2.75rem;font-weight:600;font-size:var(--fs-sm);text-decoration:none}
.more::after{content:"";width:.9em;height:.6em;background:currentColor;clip-path:polygon(0 42%,72% 42%,72% 0,100% 50%,72% 100%,72% 58%,0 58%);transition:transform var(--t-fast)}
.more:hover{text-decoration:underline}
.more:hover::after{transform:translateX(3px)}
.section--ink a:not(.btn){color:var(--brick-on-ink)}
.section--ink a:not(.btn):hover{color:var(--on-ink)}

/* ---------- Header ---------- */
.site-head{background:var(--paper);border-bottom:var(--border)}
.head-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-2) var(--s-5);padding-block:var(--s-3)}
.brand{display:inline-flex;align-items:center;gap:var(--s-2);min-height:2.75rem;font:600 1.0625rem/1 var(--font-head);color:var(--ink);text-decoration:none}
.brand:hover{color:var(--ink)}
.brand em{font-style:normal;font-weight:500;color:var(--steel)}
.brand svg{flex:none}
.nav-toggle{display:none;min-height:2.75rem;padding:0 var(--s-4);background:none;border:1px solid var(--line-strong);border-radius:var(--radius);font:500 var(--fs-sm) var(--font-body);color:var(--ink);cursor:pointer}
.nav{flex-basis:100%}
.nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:0 var(--s-5)}
.nav li a{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--ink);text-decoration:none;font-size:var(--fs-sm)}
.nav li a:hover{color:var(--brick)}
.nav li a[aria-current]{color:var(--brick);font-weight:600}
.nav .btn{margin-block:var(--s-2)}
.js .nav-toggle{display:inline-flex;align-items:center}
.js .nav{display:none}
.js .nav.is-open{display:block;padding-bottom:var(--s-3)}
.js .nav.is-open ul{flex-direction:column}
.js .nav.is-open li{border-top:var(--border)}
.js .nav.is-open li a{display:flex;min-height:3rem}
.js .nav.is-open .btn{width:100%;margin-top:var(--s-3)}
@media (min-width:66rem){
  .head-in{flex-wrap:nowrap;padding-block:var(--s-4)}
  .js .nav-toggle{display:none}
  .nav,.js .nav,.js .nav.is-open{display:flex;flex-basis:auto;flex:1;align-items:center;justify-content:space-between;gap:var(--s-5);padding:0}
  .nav ul,.js .nav.is-open ul{flex-direction:row;gap:0 var(--s-5);margin-inline:auto}
  .js .nav.is-open li{border:0}
  .js .nav.is-open li a{display:inline-flex;min-height:2.75rem}
  .nav .btn,.js .nav.is-open .btn{width:auto;margin:0}
}

/* ---------- Hero ---------- */
.hero{background:var(--paper);padding-block:clamp(2.5rem,1.5rem + 5vw,6rem)}
.hero h1{max-width:15ch}
.hero .lede{margin-top:var(--s-5);font-size:clamp(1.0625rem,1rem + .35vw,1.1875rem)}
.hero-note{margin-top:var(--s-6);padding-top:var(--s-4);border-top:var(--border);max-width:30rem;font-size:var(--fs-sm);color:var(--steel)}
.hero-fig{margin:var(--s-7) 0 0}
.hero-fig svg{display:block;width:100%;height:auto}
.hero-fig figcaption{margin-top:var(--s-3);font-size:var(--fs-sm);color:var(--steel)}
.bow-t{font:500 16px var(--font-body);fill:var(--ink)}
.bow-n{fill:var(--brick);font-weight:600}
.hero-fig .bow-full{display:none}
@media (min-width:56rem){
  .hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-7);align-items:center}
  .hero-fig{margin:0}
  .hero-fig .bow-full{display:block}
  .hero-fig .bow-mini{display:none}
}
.page-hero{background:var(--paper);padding-block:clamp(2rem,1.4rem + 3.5vw,4.5rem);border-bottom:var(--border)}
.page-hero h1{font-size:clamp(2rem,1.4rem + 2.8vw,3.25rem);max-width:20ch}
.page-hero .lede{margin-top:var(--s-5)}
.crumbs{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-2);font-size:var(--fs-xs);color:var(--steel);margin-bottom:var(--s-5)}
.crumbs li+li::before{content:"/";margin-right:var(--s-2);color:var(--line-strong)}
.crumbs a{color:var(--steel)}

/* ---------- Ruled columns (pillars, why us) ---------- */
.ruled{display:grid;gap:0}
.ruled>*{border-top:2px solid var(--ink);padding:var(--s-4) 0 var(--s-6)}
.section--ink .ruled>*{border-top-color:var(--on-ink)}
@media (min-width:56rem){
  .ruled{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--s-5)}
  .ruled--4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ruled--2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ruled>*{padding:var(--s-5) var(--s-5) 0 0}
}
.num{font:600 var(--fs-xs)/1 var(--font-head);letter-spacing:.06em;color:var(--brick)}
.section--ink .num{color:var(--brick-on-ink)}
.pillar-name{display:block;margin-top:var(--s-2);font:600 var(--fs-sm)/1.3 var(--font-body);color:var(--ink-3)}
.pillar h3{margin-top:var(--s-3)}
.ruled h3{margin-top:var(--s-3)}
.ruled p{margin-top:var(--s-3);color:var(--ink-3)}
.section--ink .ruled p{color:var(--on-ink-2)}
.rule-list{list-style:none;margin-top:var(--s-4);font-size:var(--fs-sm);color:var(--ink-3)}
.rule-list li{padding:var(--s-2) 0;border-top:var(--border)}
.rule-list li:last-child{border-bottom:var(--border)}
.pillar .more{margin-top:var(--s-3)}
.strip{display:grid;gap:var(--s-1);margin-top:var(--s-6);padding:var(--s-5) 0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);color:var(--ink);text-decoration:none}
.strip strong{font:600 var(--fs-md) var(--font-head)}
.strip span{color:var(--ink-3)}
.strip .more{min-height:0;color:var(--brick)}
@media (min-width:56rem){.strip{grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;gap:var(--s-5);align-items:baseline}}

/* ---------- Line-item lists (service and industry pages) ---------- */
.group{margin-top:var(--s-7)}
.group:first-child{margin-top:0}
.group>h3{padding-bottom:var(--s-3);border-bottom:2px solid var(--ink)}
.group>p{margin-top:var(--s-3);color:var(--ink-3);max-width:44rem}
.items{list-style:none;display:grid;gap:0}
.items>li{padding:var(--s-4) 0;border-bottom:var(--border)}
.items h4{font:600 var(--fs-base)/1.35 var(--font-body);letter-spacing:0}
.items p{margin:var(--s-1) 0 0;font-size:var(--fs-sm);color:var(--ink-3)}
.items .when{color:var(--steel)}
.items .when b,.items .moves b{font-weight:600;color:var(--ink)}
@media (min-width:56rem){
  .items{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s-7)}
  .items--3{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--s-6)}
}
ol.items{counter-reset:it}
ol.items>li{counter-increment:it;display:grid;grid-template-columns:2.25rem minmax(0,1fr);column-gap:var(--s-2)}
ol.items>li::before{content:counter(it,decimal-leading-zero);font:600 var(--fs-xs)/1.9 var(--font-head);letter-spacing:.06em;color:var(--brick)}
ol.items>li>*{grid-column:2}
.feature{margin-top:var(--s-7);padding:var(--s-5);background:var(--paper);border:var(--border);border-left:3px solid var(--brick)}
.feature h3{margin-top:var(--s-2)}
.feature p{margin-top:var(--s-3);max-width:46rem}
@media (min-width:56rem){.feature{padding:var(--s-6) var(--s-7)}}
.quotes{list-style:none;display:grid;gap:var(--s-3)}
.quotes li{padding:var(--s-3) 0 var(--s-3) var(--s-4);border-left:2px solid var(--brick);font:500 var(--fs-md)/1.4 var(--font-head)}
.checks{list-style:none;display:grid;gap:var(--s-3)}
.checks li{position:relative;padding-left:var(--s-5);color:var(--ink-2)}
.checks li::before{content:"";position:absolute;left:0;top:.72em;width:.75rem;height:1px;background:var(--brick)}
.section--ink .checks li{color:var(--on-ink-2)}
.section--ink .checks li b{color:var(--on-ink)}

/* ---------- Entry offers ---------- */
.offers{list-style:none;display:grid;gap:0;border-top:2px solid var(--ink)}
.offer{display:grid;gap:var(--s-2);padding:var(--s-5) 0;border-bottom:var(--border)}
.offer h3{font-size:var(--fs-lg)}
.offer .len{font:600 var(--fs-sm)/1.4 var(--font-body);color:var(--brick)}
.offer p{margin:0;color:var(--ink-3)}
.offer .more{margin-top:0}
@media (min-width:56rem){
  .offer{grid-template-columns:minmax(0,4fr) minmax(0,2fr) minmax(0,6fr);column-gap:var(--s-5);align-items:baseline}
  .offer--full{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}
}
.offer-box{padding:var(--s-5);background:var(--paper-soft);border:var(--border);border-top:2px solid var(--ink)}
.section--soft .offer-box{background:var(--paper)}
.offer-box h3{margin-top:var(--s-2)}
.offer-box .len{display:block;margin-top:var(--s-2);font:600 var(--fs-sm) var(--font-body);color:var(--brick)}
.offer-box p{margin-top:var(--s-3);color:var(--ink-3)}
.offer-box+.offer-box{margin-top:var(--s-5)}

/* ---------- Steps ---------- */
.steps{list-style:none;display:grid;gap:0;counter-reset:st}
.steps li{counter-increment:st;padding:var(--s-4) 0;border-top:1px solid var(--line-on-ink)}
.steps li::before{content:counter(st,decimal-leading-zero);display:block;font:600 var(--fs-xs)/1 var(--font-head);letter-spacing:.06em;color:var(--brick-on-ink);margin-bottom:var(--s-2)}
.steps h3{font-size:var(--fs-md)}
.steps p{margin-top:var(--s-2);font-size:var(--fs-sm);color:var(--on-ink-2)}
.steps--light li{border-top-color:var(--line)}
.steps--light li::before{color:var(--brick)}
.steps--light p{color:var(--ink-3)}
@media (min-width:40rem){.steps{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s-6)}}
@media (min-width:66rem){.steps{grid-template-columns:repeat(6,minmax(0,1fr));column-gap:var(--s-5)}.steps li{border-top-width:2px;padding-top:var(--s-4)}}

/* ---------- Capability explorer ---------- */
.explorer{border-bottom:var(--border)}
.ex-item{border-top:var(--border);padding:var(--s-5) 0}
.ex-h{font-size:var(--fs-lg)}
.ex-panel{margin-top:var(--s-4)}
.ex-panel>p{color:var(--ink-2);max-width:42rem}
.ex-offer{margin-top:var(--s-5);padding:var(--s-4) var(--s-5);background:var(--paper-soft);border:var(--border);border-left:3px solid var(--brick)}
.ex-offer .kicker{margin-bottom:var(--s-2)}
.ex-offer h4{font-size:var(--fs-lg)}
.ex-offer .len{display:block;margin-top:var(--s-1);font:600 var(--fs-sm) var(--font-body);color:var(--brick)}
.ex-offer p{margin-top:var(--s-2);font-size:var(--fs-sm);color:var(--ink-3)}
.ex-links{display:flex;flex-direction:column;gap:var(--s-2) var(--s-5);margin-top:var(--s-5);align-items:flex-start}
@media (min-width:34rem){.ex-links{flex-direction:row;flex-wrap:wrap;align-items:center}}
.ex-tabs{display:none}
.explorer.is-js .ex-item{padding:0}
.explorer.is-js .ex-h{font-size:var(--fs-md)}
.ex-acc{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);width:100%;min-height:3.5rem;padding:var(--s-3) 0;background:none;border:0;font:inherit;color:var(--ink);text-align:left;cursor:pointer}
.ex-acc::after{content:"";flex:none;width:.75rem;height:.75rem;border-right:2px solid var(--brick);border-bottom:2px solid var(--brick);transform:rotate(45deg) translate(-2px,-2px);transition:transform var(--t-med) var(--ease)}
.ex-acc[aria-expanded=true]::after{transform:rotate(225deg) translate(-2px,-2px)}
.explorer.is-js .ex-panel{margin:0;padding-bottom:var(--s-5)}
.ex-panel[hidden]{display:none}
@media (min-width:56rem){
  .explorer.is-js{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:var(--s-7);border-bottom:0}
  .explorer.is-js .ex-tabs{display:flex;flex-direction:column;grid-column:1;grid-row:1/span 6;align-self:start;border-bottom:var(--border)}
  .explorer.is-js .ex-item{grid-column:2;border:0}
  .explorer.is-js .ex-h{display:none}
  .explorer.is-js .ex-panel{padding:0}
  .ex-tab{display:block;width:100%;min-height:3.5rem;padding:var(--s-4) var(--s-4) var(--s-4) var(--s-5);background:none;border:0;border-top:var(--border);border-left:3px solid transparent;font:500 var(--fs-md)/1.3 var(--font-head);color:var(--ink-3);text-align:left;cursor:pointer;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}
  .ex-tab:hover{color:var(--ink);background:rgba(18,20,26,.04)}
  .ex-tab[aria-selected=true]{color:var(--ink);font-weight:600;background:var(--paper-soft);border-left-color:var(--brick)}
  .ex-tab:focus-visible{outline-offset:-3px}
}

/* ---------- Leadership ---------- */
.people{display:grid;gap:var(--s-5)}
@media (min-width:56rem){.people{grid-template-columns:repeat(3,minmax(0,1fr))}.people--2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.person{padding:var(--s-5);background:var(--paper-soft);border:var(--border);border-top:2px solid var(--ink)}
.section--soft .person{background:var(--paper)}
.person h3{font-size:var(--fs-lg)}
.person .role{margin:var(--s-1) 0 0;font:600 var(--fs-sm) var(--font-body);color:var(--brick)}
.person p{margin-top:var(--s-3);font-size:var(--fs-sm);color:var(--ink-3)}
.person dl{margin:var(--s-4) 0 0;font-size:var(--fs-sm)}
.person dt{font-weight:600;margin-top:var(--s-3)}
.person dd{margin:var(--s-1) 0 0;color:var(--ink-3)}
.person ul{margin:var(--s-1) 0 0 1.1rem;color:var(--ink-3)}
.person li{margin-top:var(--s-1)}
.profile{padding:var(--s-6) 0;border-top:2px solid var(--ink)}
.profile h3{font-size:var(--fs-xl)}
.profile .role{margin:var(--s-2) 0 0;font-weight:600;color:var(--brick)}
.profile dl{margin:var(--s-5) 0 0;display:grid;gap:var(--s-4)}
.profile dt{font:600 var(--fs-xs) var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--steel)}
.profile dd{margin:var(--s-1) 0 0;color:var(--ink-2)}
.profile dd ul{margin-left:1.1rem}
.profile dd li+li{margin-top:var(--s-2)}
@media (min-width:56rem){.profile{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);column-gap:var(--s-7)}.profile dl{margin-top:0}}

/* ---------- Products ---------- */
.status{display:inline-block;padding:.15em .6em;border:1px solid var(--line-strong);border-radius:var(--radius);font:600 var(--fs-xs)/1.5 var(--font-body);letter-spacing:.04em;color:var(--ink-2);white-space:nowrap}
.status--live{border-color:var(--brick);color:var(--brick)}
.prod-row{list-style:none;display:grid;gap:0;border-top:var(--border)}
.prod-row li{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-2) var(--s-4);padding:var(--s-4) 0;border-bottom:var(--border);font-size:var(--fs-sm)}
.prod-row strong{font:600 var(--fs-base) var(--font-head)}
.prod-row span.d{color:var(--ink-3);flex:1 1 16rem}
.product{padding:var(--s-6) 0;border-top:2px solid var(--ink)}
.product h2{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-4);font-size:var(--fs-xl)}
.product h3{margin-top:var(--s-6);font-size:var(--fs-md)}
.product>p{margin-top:var(--s-4);max-width:46rem;color:var(--ink-2)}

/* ---------- Insights ---------- */
.posts{list-style:none;display:grid;gap:0;border-top:2px solid var(--ink)}
.posts li{padding:var(--s-5) 0;border-bottom:var(--border)}
.posts h3 a{color:var(--ink);text-decoration:none}
.posts h3 a:hover{color:var(--brick);text-decoration:underline}
.posts p{margin-top:var(--s-2);color:var(--ink-3);max-width:44rem}
@media (min-width:56rem){.posts--3{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--s-5);border-top:0}.posts--3 li{border-top:2px solid var(--ink);border-bottom:0;padding-right:var(--s-5)}}
.prose{max-width:44rem}
.prose h2{font-size:var(--fs-lg);margin-top:var(--s-7)}
.prose h3{font-size:var(--fs-md);margin-top:var(--s-6)}
.prose p,.prose ul,.prose ol{margin-top:var(--s-4);color:var(--ink-2)}
.prose ul,.prose ol{padding-left:1.25rem}
.prose li+li{margin-top:var(--s-2)}
.prose>*:first-child{margin-top:0}
.draft{display:inline-block;margin-bottom:var(--s-5);padding:var(--s-2) var(--s-3);border:1px dashed var(--brick);font:600 var(--fs-xs) var(--font-body);letter-spacing:.04em;color:var(--brick);background:var(--paper-soft)}
.tc{display:inline-block;padding:0 .35em;border:1px dashed currentColor;font-weight:600;font-size:.92em;letter-spacing:.02em;color:var(--brick);background:rgba(165,52,42,.06);white-space:normal}
.site-foot .tc{color:var(--brick-on-ink);background:none}
.table-wrap{overflow-x:auto;margin-top:var(--s-4)}
table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}
th,td{text-align:left;vertical-align:top;padding:var(--s-3) var(--s-4) var(--s-3) 0;border-bottom:var(--border)}
th{font-weight:600}

/* ---------- Form ---------- */
.form{display:grid;gap:var(--s-5)}
.field label,.field legend{display:block;font-weight:600;font-size:var(--fs-sm);margin-bottom:var(--s-2)}
.field .hint{display:block;font-weight:400;color:var(--steel);font-size:var(--fs-xs)}
.field input[type=text],.field input[type=email],.field select,.field textarea{width:100%;min-height:3rem;padding:var(--s-3) var(--s-4);background:#fff;color:var(--ink);border:1px solid var(--steel);border-radius:var(--radius);font:inherit}
.field textarea{min-height:9rem;resize:vertical}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--ink);outline-offset:1px}
.field [aria-invalid=true]{border-color:var(--error);border-width:2px}
.err{margin:var(--s-2) 0 0;font-size:var(--fs-sm);font-weight:600;color:var(--error)}
.err[hidden]{display:none}
.check{display:grid;grid-template-columns:1.75rem minmax(0,1fr);gap:var(--s-3);align-items:start;min-height:2.75rem}
.check input{width:1.75rem;height:1.75rem;margin:.1rem 0 0;accent-color:var(--brick)}
.check label{font-weight:400;margin:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status{padding:var(--s-4);border:1px solid var(--error);border-left-width:3px;background:#fff;color:var(--error);font-weight:600}
.form-status[hidden],.form-success[hidden]{display:none}
.form-success{padding:var(--s-6);background:var(--paper);border:var(--border);border-left:3px solid var(--brick)}
.form-success h2{font-size:var(--fs-lg)}
.form-success p{margin-top:var(--s-3)}
.contact-list{list-style:none;display:grid;gap:var(--s-4)}
.contact-list li>span:first-child:not(.tc){display:block;font:600 var(--fs-xs) var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--steel)}
.contact-list a{display:inline-flex;align-items:center;min-height:2.75rem;font:600 var(--fs-md) var(--font-head);color:var(--ink)}

/* ---------- CTA band and footer ---------- */
.cta-band h2{max-width:22ch}
.cta-band p{margin-top:var(--s-4);max-width:38rem;color:var(--on-ink-2)}
.site-foot{background:var(--ink);color:var(--on-ink-2);font-size:var(--fs-sm);border-top:1px solid var(--line-on-ink)}
.foot-grid{display:grid;gap:var(--s-6);padding-block:var(--s-7)}
@media (min-width:40rem){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:66rem){.foot-grid{grid-template-columns:minmax(0,3fr) minmax(0,3fr) minmax(0,2fr) minmax(0,5fr);gap:var(--s-6)}}
.site-foot h2{font:600 var(--fs-xs) var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--on-ink);margin-bottom:var(--s-3)}
.site-foot ul{list-style:none}
.site-foot li a,.site-foot dd a{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--on-ink-2);text-decoration:none}
.site-foot a:hover{color:var(--on-ink);text-decoration:underline}
.site-foot .brand{color:var(--on-ink)}
.site-foot .brand em{color:var(--on-ink-2)}
.foot-line{margin-top:var(--s-3);max-width:24rem}
.site-foot dl{margin:0;display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:var(--s-1) var(--s-4);align-items:baseline}
.site-foot dt{color:var(--on-ink)}
.site-foot dd{margin:0}
.site-foot dd a[href^='tel']{white-space:nowrap}
.foot-legal{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);justify-content:space-between;padding-block:var(--s-4);border-top:1px solid var(--line-on-ink);font-size:var(--fs-xs)}
.foot-legal ul{display:flex;flex-wrap:wrap;gap:0 var(--s-5)}

/* ---------- Motion: fades only, never hides content without JS ---------- */
@media (prefers-reduced-motion:no-preference){
  .reveal-on .reveal{opacity:0}
  .reveal-on .reveal.is-in{opacity:1;transition:opacity var(--t-slow) var(--ease)}
  .ex-panel.is-shown{animation:fade var(--t-med) var(--ease)}
}
@keyframes fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
@media print{
  .site-head .nav,.nav-toggle,.cta-band,.skip{display:none!important}
  .reveal{opacity:1!important}
  .ex-panel[hidden]{display:block!important}
  body{background:#fff}
}

/* ---------- Utilities ---------- */
.mt{margin-top:var(--s-5)}
.mt-7{margin-top:var(--s-7)}
.cols-3>.offer-box{margin-top:0}
.h-lg{font-size:var(--fs-lg)}
.rule-list--lg{font-size:var(--fs-md);color:var(--ink)}
@media (min-width:66rem){.steps--4{grid-template-columns:repeat(4,minmax(0,1fr))}}
