/* ===== Theme: charcoal / off-white / orange, serif display ===== */
:root{
  --ink:#111111; --ink-2:#1C1C1C; --bg:#F7F4EF; --white:#FFFFFF; --beige:#EFE6DE; --stone:#EDEAE4; --line:#E3DED7;
  --accent:#F0501E; --accent-d:#C93F12; --green:#1F7A4D; --muted:#625D57; --text:#1A1A1A;
  /* map old variables onto the new palette so every existing component follows */
  --navy:#111111; --amber:#F0501E; --amber-d:#C93F12; --blue:#C93F12; --gray:#EDEAE4; --panel:#EFE6DE; --slate:#1C1C1C;
  --hd:"Manrope","Inter",system-ui,sans-serif; --bd:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
}
body{background:var(--bg);color:var(--text)}
h1,h2,h3,h4{font-family:var(--hd);font-weight:800;letter-spacing:-.02em;color:var(--ink)}
h1{font-size:clamp(38px,4.8vw,62px);line-height:1.06}
h2{font-size:clamp(28px,3.1vw,40px);line-height:1.14}
h3{font-family:var(--bd);font-weight:600;font-size:19px}
.btn{border-radius:10px;font-family:var(--bd);font-weight:600;padding:15px 24px}
.btn-amber{background:var(--accent);color:var(--white);border-color:var(--accent)}
.btn-amber:hover{background:var(--accent-d);border-color:var(--accent-d)}
.btn-ink{background:var(--ink);color:var(--white);border-color:var(--ink)}
.btn-ink:hover{background:#000}
.btn-ghost{color:var(--white);border-color:rgba(255,255,255,.35)}
.btn-line{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--white)}
.eyebrow{color:var(--accent);background:rgba(240,80,30,.10);border:1px solid rgba(240,80,30,.25);border-radius:6px;padding:4px 10px;text-transform:none;letter-spacing:0;font-size:13px}
.sec{padding:112px 0}
:root{--w:1240px;--pad:32px}
@media(max-width:920px){.sec{padding:64px 0}:root{--pad:20px}}
.sec-gray{background:var(--stone)}
.sec-center h2,.sec-center .lead{text-align:center}
.sec-center .lead{margin:0 auto}
.lead{font-size:18px;color:var(--muted)}
a{color:var(--accent-d)}

/* ---- pill nav + mega menu ---- */
.hdr{background:transparent;border:0;position:sticky;top:0;padding:14px 0;pointer-events:none}
.hdr .wrap{pointer-events:auto;background:var(--ink);border-radius:16px;height:64px;padding:0 20px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.brand{font-family:var(--bd);font-weight:700;font-size:20px}
.brand span{color:var(--accent)}
.nav a,.nav button{color:rgba(255,255,255,.88)}
.nav .cta a{background:var(--white);color:var(--ink);border-radius:10px}
.nav .cta a:hover{background:var(--accent);color:var(--white)}
.nav .sub{background:var(--ink-2);border:1px solid rgba(255,255,255,.08);border-radius:16px;min-width:640px;padding:22px 24px;display:none;grid-template-columns:1fr 1fr;gap:6px 28px;box-shadow:0 30px 60px rgba(0,0,0,.4)}
.nav>li:hover>.sub,.nav>li:focus-within>.sub,.nav>li.open>.sub{display:grid}
.nav .sub a{color:rgba(255,255,255,.85);padding:9px 10px;border-radius:8px}
.nav .sub a:hover{background:rgba(255,255,255,.06);color:var(--white)}
.nav .sub a.hub{grid-column:1/-1;color:var(--accent);border-bottom:1px solid rgba(255,255,255,.08);border-radius:0;margin-bottom:8px;padding-left:10px}
.nav .sub .feat{grid-column:1/-1;margin-top:12px;border:1px solid rgba(240,80,30,.5);border-radius:12px;padding:12px 14px;color:var(--white);font-weight:600}
.nav .sub .feat:hover{background:rgba(240,80,30,.12)}
@media(max-width:920px){.hdr .wrap{border-radius:14px;height:60px}.nav{top:74px;left:var(--pad);right:var(--pad);border-radius:14px;background:var(--ink)}.nav .sub{min-width:0;display:none;grid-template-columns:1fr;box-shadow:none;border:0;padding:0 0 6px 8px;background:transparent}.nav>li:hover>.sub{display:none}.nav>li.open>.sub{display:grid}}

/* ---- hero ---- */
.hero{background:var(--ink);color:var(--white);padding:110px 0 96px;margin-top:-92px;padding-top:180px;position:relative;overflow:hidden;border-radius:0}
.hero::before{content:"";position:absolute;inset:0;background-image:none;mask-image:none;-webkit-mask-image:none}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;position:relative;z-index:1}
.hero h1{color:var(--white)}
.hero p{color:rgba(255,255,255,.78);font-size:19px}
.hero .note{color:rgba(255,255,255,.55)}
.hero-art{position:absolute;right:-10%;top:-20%;width:60%;height:140%;background:radial-gradient(closest-side,rgba(240,80,30,.55),rgba(240,80,30,.18) 45%,transparent 72%);pointer-events:none;filter:blur(10px)}
.stage{position:relative;display:grid;grid-template-columns:1fr;gap:0}
.stage-photo{border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.stage-photo img{width:100%;height:auto;display:block}
.stage-cards{display:grid;gap:12px;margin-top:-70px;margin-left:-40px;width:78%;position:relative;z-index:2}
.chip{background:var(--white);color:var(--text);border-radius:12px;padding:12px 14px;box-shadow:0 18px 40px rgba(0,0,0,.35);display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;font-size:14px}
.chip .pin{width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;font-family:var(--bd);font-weight:700;display:grid;place-items:center;font-size:13px}
.chip .pin.g{background:var(--green)}
.chip strong{display:block;font-weight:600;color:var(--ink)}
.chip small{color:var(--muted)}
.chip .r{font-weight:700;color:var(--accent-d);white-space:nowrap}
@media(max-width:920px){.hero{padding-top:130px}.hero .wrap{grid-template-columns:1fr}.hero-art{display:none}.stage-cards{margin:14px 0 0;width:100%}}

/* ---- big rounded cards ---- */
.bigcards{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.bigcard{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:52px 44px;text-align:center}
.bigcard .ic{width:56px;height:56px;color:var(--accent);margin:0 auto 22px;display:block}
.bigcard h3{font-family:var(--bd);font-weight:600;font-size:22px;color:var(--ink);margin-bottom:12px}
.bigcard p{color:var(--muted);font-size:16.5px;max-width:48ch;margin:0 auto}
@media(max-width:820px){.bigcards{grid-template-columns:1fr}.bigcard{padding:36px 26px}}

/* ---- icon columns ---- */
.icols{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 44px;margin-top:48px}
.icol .ic{width:24px;height:24px;color:var(--accent);display:inline-block;vertical-align:-5px;margin-right:10px}
.icol h3{display:inline;font-size:18px;color:var(--ink)}
.icol p{color:var(--muted);font-size:16px;margin:8px 0 0}
.icol a{font-weight:600}
@media(max-width:920px){.icols{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.icols{grid-template-columns:1fr}}

/* ---- quote + media ---- */
.quote{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.quote blockquote{margin:0;font-family:var(--hd);font-weight:700;font-size:clamp(22px,2.4vw,30px);line-height:1.3;color:var(--ink)}
.quote blockquote::before{content:"\201C";display:block;color:var(--accent);font-size:60px;line-height:.6;margin-bottom:18px}
.quote .who{margin-top:18px;color:var(--muted)}
.quote .media{border-radius:18px;overflow:hidden;box-shadow:0 30px 60px rgba(17,17,17,.14)}
.quote .media img,.quote .media video{width:100%;height:auto;display:block}
@media(max-width:820px){.quote{grid-template-columns:1fr}}

/* ---- big mock ---- */
.mock{max-width:980px;margin:44px auto 0;border-radius:20px;overflow:hidden;box-shadow:0 40px 90px rgba(17,17,17,.16);background:var(--white)}
.mock svg{display:block;width:100%;height:auto;border-radius:0}
.feat4{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:56px}
.feat4 .ic{width:26px;height:26px;color:var(--accent);margin-bottom:12px;display:block}
.feat4 h3{font-size:18px;margin-bottom:6px}
.feat4 p{color:var(--muted);font-size:15.5px;margin:0}
@media(max-width:920px){.feat4{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.feat4{grid-template-columns:1fr}}

/* ---- plans ---- */
.plans{margin-top:44px}
.plan{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:36px 34px}
.plan-featured{border:1px solid var(--line);box-shadow:0 30px 60px rgba(17,17,17,.10)}
.plan h2{font-family:var(--bd);font-weight:600;font-size:18px;color:var(--accent-d)}
.plan-price{font-family:var(--hd);font-size:52px;font-weight:800;letter-spacing:-.03em}
.plan-price span{font-family:var(--bd);font-size:15px;color:var(--muted)}
.plan ul{color:var(--text)}
.plan li::marker{color:var(--accent)}

/* ---- beige panel ---- */
.beige{background:var(--beige);border-radius:26px;padding:64px 56px;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.beige h2{margin-bottom:18px}
.beige ul{list-style:none;margin:0 0 26px;padding:0}
.beige li{padding:6px 0 6px 30px;position:relative;font-size:17px}
.beige li::before{content:"";position:absolute;left:2px;top:12px;width:12px;height:7px;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(-45deg)}
.beige .art{position:relative}
.beige .art img{width:100%;border-radius:18px;display:block}
.beige .art .float{position:relative;margin:-60px 0 0 -30px;width:70%;background:var(--white);border-radius:14px;padding:16px 18px;box-shadow:0 24px 50px rgba(17,17,17,.18)}
.beige .art .float strong{font-family:var(--hd);font-size:34px;color:var(--green);display:block;font-weight:800}
.beige .art .float small{color:var(--muted);font-size:13px}
@media(max-width:920px){.beige{grid-template-columns:1fr;padding:36px 26px}.beige .art .float{margin:14px 0 0;width:100%}}

/* ---- dark band ---- */
.band{background:var(--ink-2);color:var(--white);border-radius:26px;padding:54px 56px;display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center}
.band h2{color:var(--white);font-size:clamp(26px,3vw,38px)}
.band p{color:rgba(255,255,255,.75);margin:0}
.band .art{background:linear-gradient(135deg,#F0501E,#B8380F);border-radius:18px;min-height:190px;display:grid;place-items:center;padding:24px}
.band .art .badge{background:var(--white);color:var(--ink);border-radius:999px;padding:18px 26px;font-family:var(--hd);font-weight:800;font-size:22px;text-align:center;box-shadow:0 20px 40px rgba(0,0,0,.35)}
.band .art .badge small{display:block;font-family:var(--bd);font-size:13px;color:var(--muted);margin-top:4px}
@media(max-width:820px){.band{grid-template-columns:1fr;padding:32px 24px}}

/* ---- comparison table ---- */
.cmp{max-width:820px;margin:40px auto 0;background:var(--white);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.cmp table{width:100%;border-collapse:collapse;font-size:15.5px}
.cmp th,.cmp td{padding:16px 22px;border-bottom:1px solid var(--line);text-align:left}
.cmp th{font-family:var(--bd);font-weight:600;color:var(--white);background:var(--ink)}.cmp th:nth-child(2){color:var(--accent)}
.cmp td.ok{color:var(--green);font-weight:700;text-align:center}
.cmp td.no{color:var(--muted);text-align:center}
.cmp tr:last-child td{border-bottom:0}

/* ---- checks block ---- */
.checks{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.checks ul{list-style:none;margin:20px 0 0;padding:0;columns:2;column-gap:32px}
.checks li{padding:8px 0 8px 30px;position:relative;break-inside:avoid;font-size:16px}
.checks li::before{content:"";position:absolute;left:2px;top:15px;width:12px;height:7px;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(-45deg)}
@media(max-width:820px){.checks{grid-template-columns:1fr}.checks ul{columns:1}}

/* ---- reviews carousel ---- */
.rvs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,1fr);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 4px 20px;margin-top:40px;scrollbar-width:thin}
.rvc{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:30px 28px;scroll-snap-align:start;display:flex;flex-direction:column;min-height:300px}
.rvc p{flex:1;font-size:16px;color:var(--text)}
.rvc .stars{color:var(--accent);letter-spacing:2px;margin:6px 0 18px}
.rvc .who{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}
.rvc .who .av{width:44px;height:44px;border-radius:10px;background:var(--stone);display:grid;place-items:center;font-family:var(--bd);font-weight:700;color:var(--ink)}
.rvc .who strong{display:block;color:var(--ink)}
.rvc .who small{color:var(--muted)}

/* ---- faq rows ---- */
.faq{max-width:1160px}
.faq details{background:var(--beige);border:1px solid rgba(0,0,0,.05);border-radius:12px;margin-bottom:14px;padding:0 22px}
.faq summary{font-family:var(--bd);font-weight:500;font-size:18px;color:var(--ink);padding:20px 40px 20px 0}
.faq summary::after{border-color:var(--ink);right:4px}
.faq details p{padding-bottom:20px;max-width:none}

/* ---- contact card ---- */
.formcard{max-width:620px;margin:40px auto 0;background:var(--white);border:1px solid var(--line);border-radius:20px;padding:34px}

/* ---- footer ---- */
.ftr{background:var(--bg);color:var(--text);padding:64px 0 0;border-top:1px solid var(--line)}
.ftr h4{color:var(--ink);font-family:var(--bd);font-size:18px;font-weight:600}
.ftr a{color:var(--text)}
.ftr a:hover{color:var(--accent-d)}
.ftr .cols{grid-template-columns:1.5fr 1.15fr 1fr .8fr .8fr;gap:32px}
.ftr .base{background:var(--ink);color:rgba(255,255,255,.7);border-radius:16px;padding:20px 24px;margin:40px 0 24px;border:0}
.ftr .base a{color:var(--white)}
@media(max-width:920px){.ftr .cols{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:560px){.ftr .cols{grid-template-columns:1fr}}

/* ---- cta box ---- */
.cta-box{background:var(--ink);border-radius:24px}
.cta-box h2{color:var(--white)}

/* order control for alternation */
.rev>*:first-child{order:2}.rev>*:last-child{order:1}
@media(max-width:820px){.rev>*:first-child{order:1}.rev>*:last-child{order:2}}
/* mobile hardening */
@media(max-width:820px){
  .quote,.checks,.beige,.band,.split{grid-template-columns:1fr}
  .bigcards,.icols,.feat4,.plans{grid-template-columns:1fr}
  .mock{border-radius:12px}
  .hero{padding-top:120px;padding-bottom:56px}
  .hero .wrap{grid-template-columns:1fr;gap:28px}
  .stage{order:-1}
  h1{font-size:clamp(34px,9vw,44px)}
  h2{font-size:clamp(26px,7vw,34px)}
  .beige,.band{padding:28px 22px;border-radius:18px}
  .cta-box{padding:28px 22px}
}

/* comparison table as cards on phones */
@media(max-width:700px){
  .cmp{background:transparent;border:0;overflow:visible}
  .cmp table,.cmp tbody,.cmp tr,.cmp td{display:block;width:100%}
  .cmp thead{display:none}
  .cmp tr{background:var(--white);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:6px 0}
  .cmp td{border:0;padding:8px 18px;text-align:left!important}
  .cmp td:first-child{font-family:var(--bd);font-weight:600;color:var(--ink);padding-top:14px}
  .cmp td.ok,.cmp td.no{display:flex;justify-content:space-between;gap:12px}
  .cmp td.ok::before,.cmp td.no::before{content:attr(data-l);color:var(--muted);font-weight:400}
  .cmp td.no{padding-bottom:14px}
}

/* showcase, restyled as tabs */
.sc{grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.sc-tab{padding:16px 16px 16px 26px;border-radius:0}
.sc-tab:hover{background:transparent}
.sc-title{font-family:var(--bd);font-weight:600;font-size:22px;color:var(--muted);transition:color .2s}
.sc-tab:hover .sc-title{color:var(--ink)}
.sc-tab.is-on .sc-title{color:var(--accent-d)}
.sc-text{display:none!important}
.sc-bar{left:0;top:18px;bottom:18px;width:3px;background:var(--line)}
.sc-bar::after{background:var(--accent)}
.sc-stage{background:var(--beige);border-radius:22px;padding:34px}
.sc-panel svg{box-shadow:0 24px 60px rgba(17,17,17,.14)}
.sc-panel figcaption{margin-top:18px;font-size:15.5px;color:var(--text);max-width:none;width:100%}
.sec-center .lead{max-width:72ch}
.sc-panel figcaption a{font-weight:600;white-space:nowrap}
@media(max-width:920px){.sc{grid-template-columns:1fr;gap:18px}.sc-stage{padding:18px;order:-1}.sc-title{font-size:18px}.sc-tab{padding:12px 12px 12px 22px}}

/* dealer cards, wide checklist */
.dealers{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.dealer{background:var(--white);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.dealer img,.dealer .dealer-art svg{width:100%;height:auto;display:block}
.dealer .dealer-art svg{border-radius:0;box-shadow:none}
.dealer>div:last-child{padding:22px 24px 26px}
.dealer h3{margin-bottom:4px}
.dealer .ty{color:var(--muted);font-size:14px;margin-bottom:10px}
.dealer p{font-size:15px;margin:0}
.cmp-wide{max-width:1000px}
.byline{color:var(--muted);font-size:14px;margin:12px 0 14px}
@media(max-width:920px){.dealers{grid-template-columns:1fr}}

/* ===== industry-page components ===== */
/* dark visual cards: override the diagram palette inside */
.viz-dark svg{--bad:#FF9A8A;--panel:#161616;--white:#232323;--gray:#2A2A2A;--line:#3A3A3A;--text:#F2EEE8;--muted:#B5AEA5;--ink:#FFFFFF;--navy:#FFFFFF;--green:#5CCB8A;--amber:#F0501E;--amber-d:#F0501E;--accent:#F0501E;--accent-d:#F0501E;--blue:#F0501E}
.viz-dark svg{box-shadow:0 30px 70px rgba(17,17,17,.28)}
/* rotating word */
.rot{display:inline-block;color:var(--accent);transition:opacity .3s ease,transform .3s ease}
.rot.is-out{opacity:0;transform:translateY(8px)}
.hero .rot{color:var(--accent)}
/* stat strip */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--white);border:1px solid var(--line);border-radius:22px;overflow:hidden;margin-top:-60px;position:relative;z-index:3;box-shadow:0 30px 60px rgba(17,17,17,.10)}
.stats div{padding:30px 26px;text-align:center;border-left:1px solid var(--line)}
.stats div:first-child{border-left:0}
.stats strong{display:block;font-family:var(--hd);font-weight:800;font-size:40px;letter-spacing:-.03em;color:var(--accent-d);line-height:1}
.stats span{display:block;font-size:13.5px;color:var(--muted);margin-top:8px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
@media(max-width:820px){.stats{grid-template-columns:1fr 1fr;margin-top:24px}.stats div{border-left:0;border-top:1px solid var(--line)}.stats div:nth-child(-n+2){border-top:0}.stats div:nth-child(even){border-left:1px solid var(--line)}}
/* eyebrow with icon */
.eb{display:flex;align-items:center;gap:8px;font-family:var(--bd);font-weight:700;font-size:15px;color:var(--accent-d);margin-bottom:12px;background:none;border:0;padding:0}
.eb .ic{width:20px;height:20px}
/* arrow lists */
.arrows{list-style:none;margin:18px 0 22px;padding:0}
.arrows li{position:relative;padding:8px 0 8px 40px;font-size:16.5px}
.arrows li::before{content:"";position:absolute;left:0;top:15px;width:22px;height:12px;background:var(--accent);clip-path:polygon(0 35%,60% 35%,60% 0,100% 50%,60% 100%,60% 65%,0 65%)}
/* big callout */
.callout{display:grid;grid-template-columns:auto 1px 1fr;gap:22px;align-items:center;margin-top:26px;background:var(--beige);border-radius:16px;padding:20px 24px}
.callout strong{font-family:var(--hd);font-weight:800;font-size:44px;letter-spacing:-.03em;color:var(--green);line-height:1;display:block;text-align:center;min-width:120px}
.callout strong small{display:block;font-family:var(--bd);font-weight:600;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:8px;max-width:14ch;margin-left:auto;margin-right:auto;line-height:1.3}
.callout::after{content:"";display:block;width:1px;height:100%;background:rgba(0,0,0,.12);grid-column:2;grid-row:1}
.callout span{font-size:16px;color:var(--text);max-width:none;line-height:1.5;grid-column:3}
@media(max-width:560px){.callout{grid-template-columns:1fr}.callout::after{display:none}.callout strong{text-align:left}.callout span{grid-column:1}}
/* CTA band with form */
.cta-band{background:radial-gradient(900px 500px at 15% 20%,#5A1E0A,#1A0C06 70%),#111;border-radius:28px;padding:64px 56px;display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center;color:var(--white);position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:4px 4px;opacity:.5;pointer-events:none}
.cta-band>*{position:relative}
.cta-band h2{color:var(--white);margin-bottom:12px}
.cta-band p{color:rgba(255,255,255,.75)}
.aform{background:var(--white);color:var(--text);border-radius:20px;padding:30px 30px 26px;box-shadow:0 30px 60px rgba(0,0,0,.4)}
.aform h3{font-family:var(--hd);font-weight:800;font-size:24px;color:var(--ink);margin-bottom:6px}
.aform p{color:var(--muted);font-size:15px;margin-bottom:16px}
.aform label{display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:12px}
.aform label span{color:var(--muted);font-weight:400}
.aform input,.aform select{display:block;width:100%;margin-top:6px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:16px;background:#FBFAF8}
.aform input:focus,.aform select:focus{outline:2px solid var(--accent);border-color:var(--accent)}
.aform .g2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.aform .hp{position:absolute;left:-9999px;top:-9999px}
.aform .btn{width:100%;margin-top:6px}
.aform small{display:block;color:var(--muted);font-size:12.5px;margin-top:12px}
@media(max-width:920px){.cta-band{grid-template-columns:1fr;padding:32px 22px}.aform .g2{grid-template-columns:1fr}.callout strong{font-size:44px}}

/* alternation fix: reverse by column, not by figure */
.split-rev>.col-side{order:1}.split-rev>.col-text{order:2}
@media(max-width:920px){.split-rev>.col-side{order:2}.split-rev>.col-text{order:1}}
/* industry hero: mirrored, photo bleeds left */
.hero-mirror .wrap{grid-template-columns:1fr 1fr}
.hero-mirror .stage{order:-1;margin-left:calc(-1 * var(--pad) - 6vw)}
.hero-mirror .stage-photo{border-radius:0 22px 22px 0}
.hero-mirror .stage-cards{margin:-46px 0 0 8vw;width:80%}
.hero-mirror .hero-art{right:auto;left:-10%}
@media(max-width:920px){.hero-mirror .wrap{grid-template-columns:1fr}.hero-mirror .stage{margin-left:0}.hero-mirror .stage-photo{border-radius:18px}.hero-mirror .stage-cards{margin:14px 0 0;width:100%}}

/* hero photo caption on industry pages */
.stage-note{font-size:12.5px;color:rgba(255,255,255,.45);margin:14px 0 0 8vw}
@media(max-width:920px){.stage-note{margin-left:0}}
/* grid children must be allowed to shrink on narrow screens */
.sc-stage,.sc-panel,.cta-band>*,.col-side,.col-text{min-width:0}
.aform{max-width:100%}

/* ===== service pages on the industry template ===== */
.hero-svc .wrap{grid-template-columns:1.15fr .85fr;align-items:center;gap:56px}
.hero-svc .eyebrow a{color:inherit;text-decoration:none}
.glance{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:26px 28px;color:var(--white);box-shadow:none;max-width:460px;justify-self:end;backdrop-filter:blur(6px)}
.glance h2{font-family:var(--bd);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:700;margin:0 0 18px}
.glance dl{grid-template-columns:auto 1fr;gap:16px 22px;font-size:15px}
.glance dt{font-family:var(--bd);font-weight:600;color:rgba(255,255,255,.55);font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;padding-top:3px}
.glance dd{color:var(--white);font-weight:500;line-height:1.5}
.glance>a{margin-top:22px;color:var(--white);border-color:var(--accent);font-weight:600}
.glance>a:hover{border-color:var(--white)}
@media(max-width:920px){.hero-svc .wrap{grid-template-columns:1fr;gap:28px}.glance{max-width:none;justify-self:stretch;padding:22px}}
/* deliverable and audit cards */
.dl-side{background:transparent;box-shadow:none;padding:0;gap:16px}
.dl-side .dl-i{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:22px 20px 20px 66px;box-shadow:0 12px 30px rgba(17,17,17,.06)}
.dl-side .dl-i .ic{left:20px;top:22px;width:28px;height:28px;color:var(--accent)}
.dl-side .dl-i strong{font-family:var(--bd);font-weight:600;font-size:16px;color:var(--ink)}
.dl-side .dl-i span{font-size:14.5px;color:var(--muted)}
.sec-gray .dl-side .dl-i{box-shadow:none}
.tbl-side,.list-side{background:var(--beige);box-shadow:none;border-radius:22px;padding:28px}
.tbl-side .tbl{border-radius:12px}
.tbl th{font-family:var(--bd);font-weight:600;color:var(--ink);background:var(--stone)}
.sec-gray .tbl th{background:var(--beige)}
.tbl td:first-child{color:var(--ink)}
.list-side .arrows{margin:0}
.list-side .arrows li{font-size:16px}
.tbl-in{font-size:14.5px;background:var(--white);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:20px}
.tbl-in td,.tbl-in th{padding:10px 14px}
.col-text .tbl-in td{max-width:none}
.tbl-side{overflow:hidden}
@media(max-width:700px){.tbl-side,.list-side{padding:18px}}
.dl-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin:40px 0 0;text-align:left}
.dl-grid .dl-i{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:22px 20px 20px 62px;box-shadow:0 12px 30px rgba(17,17,17,.06);position:relative}
.dl-grid .dl-i .ic{left:20px;top:22px;width:26px;height:26px;color:var(--accent)}
.dl-grid .dl-i strong{font-family:var(--bd);font-weight:600;font-size:15.5px;color:var(--ink);display:block;margin-bottom:6px}
.dl-grid .dl-i span{font-size:14.5px;color:var(--muted)}
.sec-gray .dl-grid .dl-i{box-shadow:none}
@media(max-width:1000px){.dl-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.dl-grid{grid-template-columns:1fr}}

/* ===== hub and company pages ===== */
.hero .stage-viz{margin:0}
.hero .stage-viz .viz svg,.hero .stage-viz img{box-shadow:0 30px 80px rgba(0,0,0,.5)}
.hero-svc .stage-viz{justify-self:end;width:100%;max-width:560px}
.hero-mirror .stage-viz{margin-left:calc(-1*var(--pad));}
.stage-portrait img{width:100%;max-width:380px;height:auto;border-radius:20px;display:block;margin-left:auto}
.hero .stage-viz figcaption{display:none}
@media(max-width:920px){.hero-mirror .stage-viz{margin-left:0}.hero-svc .stage-viz{justify-self:stretch;max-width:none}}
.hero-contact{margin:6px 0 18px}.hero-contact a{font-family:var(--hd);font-weight:800;font-size:clamp(20px,2.4vw,30px);color:var(--white);text-decoration:none;border-bottom:3px solid var(--accent)}
.tile-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px;height:100%;align-content:center}
.tile-list div{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.tile-list strong{display:block;font-family:var(--bd);font-weight:600;font-size:14.5px;color:var(--ink)}
.tile-list span{font-size:12.5px;color:var(--muted)}
.dealer h3 a{color:var(--ink);text-decoration:none}.dealer h3 a:hover{color:var(--accent-d)}
.svc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px;text-align:left}
.svc-card{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:22px 22px 20px;position:relative;display:flex;flex-direction:column;gap:8px}
.svc-card .num{display:inline-flex;width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--white);font-family:var(--hd);font-weight:800;font-size:15px;align-items:center;justify-content:center;margin-bottom:6px}
.svc-card h3{font-size:19px;margin:0;min-height:2.4em}.svc-card h3 a{color:var(--ink);text-decoration:none}.svc-card h3 a:hover{color:var(--accent-d)}
.svc-card p{margin:0;font-size:14.5px;line-height:1.5}.svc-card .svc-when{color:var(--muted);font-size:14px}
.svc-card .more{margin-top:auto;padding-top:8px}
.svc-card-dark{background:var(--ink);color:var(--white);border-color:var(--ink)}
.svc-card-dark h3{color:var(--white)}.svc-card-dark p{color:rgba(255,255,255,.75)}.svc-card-dark .btn{margin-top:auto;align-self:flex-start}
@media(max-width:920px){.svc-cards{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.svc-cards{grid-template-columns:1fr}}
.plans{gap:20px}
.plan{border:1px solid var(--line);border-radius:22px;padding:32px 30px;background:var(--white)}
.plan h3{font-size:22px;margin:0 0 6px}
.plan-featured{border:1px solid var(--ink);background:var(--ink);color:var(--white);box-shadow:0 30px 70px rgba(17,17,17,.25)}
.plan-featured h3,.plan-featured .plan-price,.plan-featured li{color:var(--white)}
.plan-featured .plan-first,.plan-featured .plan-for,.plan-featured .plan-price span{color:rgba(255,255,255,.7)}
.plan-price{font-family:var(--hd);font-weight:800;font-size:44px;color:var(--ink);letter-spacing:-.02em}
.plan ul{margin:14px 0 24px;padding-left:0;list-style:none}
.plan li{padding:7px 0 7px 26px;position:relative;font-size:15px;border-bottom:1px dashed var(--line)}
.plan-featured li{border-color:rgba(255,255,255,.14)}
.plan li::before{content:"";position:absolute;left:0;top:14px;width:14px;height:8px;border-left:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);transform:rotate(-45deg)}
.plan .btn{margin-top:auto}
.plan-featured .btn-ghost,.plan .btn-ghost{color:var(--ink);border-color:var(--ink)}.plan-featured .btn-ghost{color:var(--white);border-color:var(--white)}
.list-side h3{font-size:20px}
@media(max-width:920px){.plans{grid-template-columns:1fr}}
.plan ul{flex:1 1 auto}

.prose{max-width:840px}.prose .tbl-in{max-width:none}

/* sharper diagram text: small labels one step larger and medium weight, geometric rendering */
.viz svg text{text-rendering:geometricPrecision}
.viz svg text.s,.viz svg text.m{font-size:14px;font-weight:500}
.viz svg text.k{font-size:14.5px;font-weight:500}
.viz svg text.h{font-size:16px}
.viz svg text.t{font-size:17px;font-weight:700}
.viz svg text.o,.viz svg text.g,.viz svg text.x{font-size:14.5px;font-weight:700}

.dl-grid-12{grid-template-columns:repeat(12,1fr)}
.dl-grid-12 .dl-i{grid-column:span var(--sp,3)}
@media(max-width:1000px){.dl-grid-12 .dl-i{grid-column:span 6}}
@media(max-width:560px){.dl-grid-12 .dl-i{grid-column:span 12}}
.stats span br{display:block}

/* breadcrumbs and inline industry line */
.crumbs{background:transparent;padding:26px 0 0}
.crumbs .wrap{font-size:13.5px;color:var(--muted);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.crumbs a{color:var(--muted);text-decoration:none;border-bottom:1px solid transparent}
.crumbs a:hover{color:var(--accent-d);border-color:var(--accent)}
.crumbs strong{color:var(--ink);font-weight:600}
.crumbs span{color:var(--line)}
.ind-line{font-size:15.5px;color:var(--muted);margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.ind-line a{color:var(--accent-d)}
.ftr .disclaimer{font-size:12.5px;color:rgba(255,255,255,.45);margin:34px 0 0;max-width:760px;line-height:1.6}
/* free audit hero */
.hero-audit .wrap{grid-template-columns:.95fr 1.05fr;gap:56px;align-items:center}
.hero-audit .af{background:var(--white);border-radius:22px;padding:30px 30px 26px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.hero-audit .hero-list.arrows li{padding:7px 0 7px 34px;font-size:16px;color:rgba(255,255,255,.85)}
.hero-audit .hero-list.arrows li::before{top:13px;width:18px;height:10px}
@media(max-width:920px){.hero-audit .wrap{grid-template-columns:1fr}}
/* anchor targets must clear the sticky header */
#form,#audit,.af-err{scroll-margin-top:130px}
/* form error: unmissable, not a thin strip */
.af-err{display:flex;gap:12px;align-items:flex-start;background:#FDECEA;border:1px solid #D0342C;border-left:5px solid #D0342C;border-radius:12px;padding:14px 16px;margin:0 0 20px;color:#8A1F17;font-family:var(--bd);font-weight:600;font-size:15px;line-height:1.5}
.af-err::before{content:"!";flex:0 0 22px;height:22px;border-radius:50%;background:#D0342C;color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center}
.af-fine a{color:var(--accent-d)}
.af-hint{font-size:13.5px;color:var(--muted);margin:-4px 0 8px}

/* dropdowns: bridge the gap between the trigger and the panel, and give the pointer a moment */
.nav .sub{top:100%;margin-top:0;padding-top:34px !important;border-top-left-radius:16px;border-top-right-radius:16px}
.nav .sub::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.nav>li:hover>.sub,.nav>li:focus-within>.sub{display:grid}
@media(max-width:920px){.nav .sub{padding-top:0 !important}.nav .sub::before{display:none}}
.nap{font-style:normal;margin-top:14px;padding:14px 16px;background:var(--stone);border-radius:12px;font-size:15px;line-height:1.6;color:var(--text);display:inline-block}
