:root{
  --paper:#F0F1EB;
  --paper-2:#E4E6DD;
  --paper-3:#DADCD1;
  --ink:#0C0C0D;
  --text-hi: var(--ink);
  --text-lo:#4A5058;
  --line: rgba(12,12,13,0.14);
  --line-soft: rgba(12,12,13,0.08);

  --band-bg: var(--paper);
  --band-hi: var(--ink);
  --band-lo: var(--text-lo);
  --band-border: var(--line);
  --band-input-bg: rgba(12,12,13,0.04);

  --accent: rgb(86, 163, 191);
  --accent-deep:#326273;
  --accent-hover:#78B8D1;
  --accent-line: rgba(86,163,191,0.4);
  --on-accent: var(--ink);
  --truck:#F5A623;

  --font-display:'Space Grotesk', 'Arial Narrow', sans-serif;
  --font-body:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono:'IBM Plex Mono', ui-monospace, monospace;
  padding-top: env(safe-area-inset-top, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
:root:not([data-theme="light"]) {
  @media (prefers-color-scheme: dark){
    --paper:#171B1F;
    --paper-2:#1E2328;
    --paper-3:#282E34;
    --text-hi:#EDEEE9;
    --text-lo:#A9AFB6;
    --line: rgba(237,238,233,0.14);
    --line-soft: rgba(237,238,233,0.08);
    --band-bg:#0C0C0D;
    --band-hi:#F3F3EE;
    --band-lo:#A9AFB6;
    --band-border: rgba(255,255,255,0.14);
    --band-input-bg: rgba(255,255,255,0.05);
    --accent-deep: rgb(86,163,191);
  }
}
:root[data-theme="dark"]{
  --paper:#171B1F;
  --paper-2:#1E2328;
  --paper-3:#282E34;
  --text-hi:#EDEEE9;
  --text-lo:#A9AFB6;
  --line: rgba(237,238,233,0.14);
  --line-soft: rgba(237,238,233,0.08);
  --band-bg:#0C0C0D;
  --band-hi:#F3F3EE;
  --band-lo:#A9AFB6;
  --band-border: rgba(255,255,255,0.14);
  --band-input-bg: rgba(255,255,255,0.05);
  --accent-deep: rgb(86,163,191);
}

/* ===== Agency audience: green and white. Set by data-audience="agency" on <html> ===== */
:root[data-audience="agency"]{
  --paper:#FFFFFF;
  --paper-2:#F1F8F4;
  --paper-3:#E2F0E8;
  --text-hi: var(--ink);
  --text-lo:#46574E;
  --line: rgba(11,61,42,0.14);
  --line-soft: rgba(11,61,42,0.08);
  --band-bg:#0B6B45;
  --band-hi:#FFFFFF;
  --band-lo:#DCEFE4;
  --band-border: rgba(255,255,255,0.3);
  --band-input-bg: rgba(255,255,255,0.1);
  --accent:#0F8053;
  --accent-deep:#0B6B45;
  --accent-hover:#0B6B45;
  --accent-line: rgba(15,128,83,0.4);
  --on-accent:#FFFFFF;
}
@media (prefers-color-scheme: dark){
  :root[data-audience="agency"]:not([data-theme="light"]){
    --paper:#0F1714;
    --paper-2:#15201B;
    --paper-3:#1E2C25;
    --text-hi:#EDF3EF;
    --text-lo:#A8B8AF;
    --line: rgba(237,243,239,0.14);
    --line-soft: rgba(237,243,239,0.08);
    --band-bg:#0B4A31;
    --accent:#4CCB8F;
    --accent-deep:#4CCB8F;
    --accent-hover:#6FDAA8;
    --accent-line: rgba(76,203,143,0.4);
    --on-accent:#0C0C0D;
  }
}
:root[data-audience="agency"][data-theme="dark"]{
  --paper:#0F1714;
  --paper-2:#15201B;
  --paper-3:#1E2C25;
  --text-hi:#EDF3EF;
  --text-lo:#A8B8AF;
  --line: rgba(237,243,239,0.14);
  --line-soft: rgba(237,243,239,0.08);
  --band-bg:#0B4A31;
  --accent:#4CCB8F;
  --accent-deep:#4CCB8F;
  --accent-hover:#6FDAA8;
  --accent-line: rgba(76,203,143,0.4);
  --on-accent:#0C0C0D;
}
/* Green bands read white on green in both themes */
:root[data-audience="agency"] :is(.hero, .contact, .chatmock, .page-hero, .cta-band){
  --accent:#FFFFFF;
  --accent-hover:#DCEFE4;
  --accent-line: rgba(255,255,255,0.45);
  --on-accent:#0B6B45;
}
:root[data-audience="agency"] .navcta,
:root[data-audience="agency"] .lang-switch button[aria-pressed="true"]{
  background:var(--accent);
  color:var(--on-accent);
}
:root[data-audience="agency"] .hero .wrap{padding-top:clamp(40px, 5vw, 64px);}
:root[data-audience="agency"] .cta-band .kicker{color:var(--accent);}
:root[data-audience="agency"] .cta-band .kicker::before{background:var(--accent);}
.worker-marker{fill:var(--accent);}

html{scroll-padding-top: calc(76px + env(safe-area-inset-top, 0px));}
*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--paper);
  color:var(--text-hi);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
  line-height:1.55;
}
img{max-width:100%;display:block;}
a{color:inherit;}
.wrap{
  max-width:1180px;
  margin:0 auto;
  padding-left:clamp(20px, 5vw, 56px);
  padding-right:clamp(20px, 5vw, 56px);
}
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.skip-link{
  position:absolute;left:12px;top:-60px;
  background:var(--accent);color:var(--on-accent);
  padding:10px 16px;border-radius:3px;font-weight:700;font-size:14px;
  text-decoration:none;z-index:200;transition:top .15s ease;
}
.skip-link:focus{top:12px;}

/* ===== Audience bar: sits above the sticky header and scrolls away ===== */
.audience-bar{background:var(--paper-2);border-bottom:1px solid var(--line-soft);}
.audience-bar ul{
  display:flex;
  gap:22px;
  list-style:none;
  margin:0 auto;
  max-width:1180px;
  padding:0 clamp(20px, 5vw, 56px);
}
.audience-bar a{
  display:flex;
  align-items:center;
  gap:7px;
  padding:8px 0 7px;
  border-bottom:2px solid transparent;
  font-size:12.5px;
  font-weight:500;
  color:var(--text-lo);
  text-decoration:none;
}
.audience-bar a:hover{color:var(--text-hi);}
.audience-bar a[aria-current]{
  color:var(--text-hi);
  font-weight:600;
  border-bottom-color:var(--accent);
}
.audience-bar a::before{
  content:"";
  width:7px;height:7px;border-radius:50%;
  background:rgb(86,163,191);
}
.audience-bar li + li a::before{background:#1FA56D;}

/* ===== Header ===== */
header{
  position:sticky;
  top:0;
  z-index:50;
  background:color-mix(in srgb, var(--paper) 88%, transparent);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-soft);
  padding-top:env(safe-area-inset-top, 0px);
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:72px;
  gap:14px;
}
.logo{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-display);
  font-weight:700;
  font-size:19px;
  letter-spacing:0.01em;
  text-decoration:none;
  color:var(--text-hi);
  flex:none;
}
.logo svg{flex:none;}
.navlinks{
  display:flex;
  align-items:center;
  gap:30px;
  list-style:none;
  margin:0;
  padding:0;
}
.navlinks a{
  text-decoration:none;
  font-size:14.5px;
  font-weight:500;
  color:var(--text-lo);
  transition:color .15s ease;
}
.navlinks a:hover{color:var(--text-hi);}
.nav-right{display:flex;align-items:center;gap:10px;margin-left:auto;}
.lang-switch{display:flex;border:1px solid var(--line);border-radius:3px;overflow:hidden;flex:none;}
.lang-switch button{
  background:none;border:none;padding:7px 11px;
  font-family:var(--font-mono);font-size:12px;font-weight:500;
  color:var(--text-lo);cursor:pointer;
}
.lang-switch button + button{border-left:1px solid var(--line);}
.lang-switch button[aria-pressed="true"]{background:var(--text-hi);color:var(--paper);}
.theme-toggle{
  background:none;
  border:1px solid var(--line);
  border-radius:3px;
  width:34px;height:34px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--text-hi);flex:none;
}
.theme-toggle svg{width:16px;height:16px;}
.theme-toggle .moon{display:none;}
:root[data-theme="dark"] .theme-toggle .sun{display:none;}
:root[data-theme="dark"] .theme-toggle .moon{display:block;}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .theme-toggle .sun{display:none;}
  :root:not([data-theme="light"]) .theme-toggle .moon{display:block;}
}
.navcta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--text-hi);
  color:var(--paper);
  border:none;
  border-radius:3px;
  padding:10px 18px;
  font-family:var(--font-body);
  font-weight:600;
  font-size:14px;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
}
.btn-outline{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:transparent;
  color:inherit;
  text-decoration:none;
  font-weight:600;
  font-size:14px;
  padding:12px 20px;
  border-radius:3px;
  border:1px solid currentColor;
  font-family:var(--font-body);
}
.btn-outline svg{width:13px;height:13px;flex:none;}
.btn-outline:hover{opacity:0.75;}
.menu-toggle{display:none;background:none;border:none;padding:8px;cursor:pointer;color:var(--text-hi);flex:none;}
.menu-toggle svg{width:22px;height:22px;}

/* ===== Hero ===== */
.hero{
  background:var(--band-bg);
  color:var(--band-hi);
  position:relative;
  overflow:hidden;
  padding:0;
}
.hero .wrap{
  padding-top:20px;
  padding-bottom:clamp(56px, 8vw, 96px);
  display:grid;
  grid-template-columns:1.05fr 0.95fr;
  gap:48px;
  align-items:start;
}
.hero h1{
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(2.4rem, 4.6vw, 3.6rem);
  line-height:1.06;
  letter-spacing:-0.01em;
  margin:0 0 14px;
  max-width:19ch;
}
.hero-hook{
  display:block;
  font-family:var(--font-display);
  font-weight:500;
  font-size:clamp(1.1rem, 1.8vw, 1.3rem);
  color:var(--accent);
  margin:0 0 22px;
}
.hero p.lede{
  font-size:17.5px;
  line-height:1.6;
  color:var(--band-lo);
  max-width:46ch;
  margin:0 0 34px;
}
.hero-ctas{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.btn-primary{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--accent);
  color:var(--on-accent);
  text-decoration:none;
  font-weight:600;
  font-size:15px;
  padding:13px 22px;
  border-radius:3px;
  border:none;
  cursor:pointer;
  font-family:var(--font-body);
}
.btn-primary:hover{background:var(--accent-hover);}
.phone-link{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:var(--band-hi);
  font-size:15px;
  font-weight:500;
}
.phone-link .num{font-family:var(--font-mono);letter-spacing:0.01em;}
.phone-link .dot{
  width:8px;height:8px;border-radius:50%;background:#57C99A;
  box-shadow:0 0 0 3px rgba(87,201,154,0.18);
}

.route-graphic{position:relative;}
.route-graphic svg{width:100%;height:auto;}
.route-label{
  font-family:var(--font-mono);
  font-size:11.5px;
  fill:var(--band-lo);
}
.route-line{
  stroke-dasharray:6 7;
  stroke-dashoffset:520;
  animation:draw 9.3s ease-in-out forwards .1s;
}
@keyframes draw{ to{stroke-dashoffset:0;} }
@media (prefers-reduced-motion: reduce){ .route-line{animation:none;stroke-dashoffset:0;} }
.waypoint{animation:pop .5s ease backwards;}
@media (prefers-reduced-motion: reduce){ .waypoint{animation:none;} }
.truck-marker{opacity:0;}
@media (prefers-reduced-motion: reduce){ .truck-marker{display:none;} }
@keyframes pop{ from{opacity:0;transform:scale(.4);} to{opacity:1;transform:scale(1);} }

/* ===== Section scaffolding ===== */
section{padding:clamp(64px, 9vw, 112px) 0;}
h2{
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(1.7rem, 3vw, 2.3rem);
  letter-spacing:-0.01em;
  line-height:1.15;
  margin:0 0 18px;
  max-width:16ch;
}
.section-head{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:end;
  margin-bottom:48px;
}
.section-head p{
  font-size:16px;
  color:var(--text-lo);
  max-width:44ch;
  margin:0;
}
.kicker{
  font-family:var(--font-mono);
  font-size:12.5px;
  color:var(--accent-deep);
  margin:0 0 12px;
  display:flex;
  align-items:center;
  gap:8px;
}
.kicker::before{
  content:"";
  width:14px;height:1px;background:var(--accent-deep);display:inline-block;
}
.band .kicker{ color:var(--accent); }
.band .kicker::before{ background:var(--accent); }

/* ===== About ===== */
.about-grid{
  display:grid;
  grid-template-columns:1.3fr 0.7fr;
  gap:56px;
}
.about-copy p{font-size:16.5px;color:var(--text-lo);max-width:56ch;margin:0 0 18px;}
.about-copy p:last-child{margin-bottom:0;}
.about-copy strong{color:var(--text-hi);font-weight:600;}
.readouts{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line);}
.readout{
  padding:18px 0;
  border-bottom:1px solid var(--line);
  display:flex;
  flex-direction:column;
  gap:4px;
}
.readout .val{font-family:var(--font-body);font-weight:500;font-size:15.5px;line-height:1.5;color:var(--text-hi);}

/* ===== Product ===== */
.product{background:var(--paper-2);}
.product-top{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:40px;
  align-items:start;
  margin-bottom:56px;
}
.product-top p{font-size:16.5px;color:var(--text-lo);max-width:48ch;margin:0;}
.subflow{margin-top:52px;}
.subflow:first-of-type{margin-top:0;}
.subflow-heading{
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(1.2rem, 2vw, 1.5rem);
  letter-spacing:-0.005em;
  margin:0 0 22px;
}
.flow{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.flow-5{grid-template-columns:repeat(5, 1fr);}
.flow-item{
  background:var(--paper-2);
  padding:28px 24px 30px;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.flow-num{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--accent-deep);
}
.flow-item svg{width:30px;height:30px;flex:none;stroke:var(--text-hi);}
.flow-item h4{
  font-family:var(--font-body);
  font-weight:600;
  font-size:16px;
  margin:0;
  line-height:1.3;
}
.flow-item p{
  font-size:14px;
  color:var(--text-lo);
  margin:0;
  line-height:1.55;
}

/* ===== Agentic ===== */
.agentic-grid{
  display:grid;
  grid-template-columns:0.95fr 1.05fr;
  gap:48px;
  align-items:center;
}
.agentic-copy p{font-size:16.5px;color:var(--text-lo);max-width:46ch;margin:0 0 26px;}
.chatmock{
  background:var(--band-bg);
  color:var(--band-hi);
  border-radius:6px;
  padding:22px clamp(18px,3vw,28px);
  display:flex;
  flex-direction:column;
  gap:14px;
  border:1px solid var(--line);
}
.chatmock .tag{
  font-family:var(--font-mono);
  font-size:11.5px;
  color:var(--band-lo);
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:4px;
}
.chatmock .tag .dot{width:7px;height:7px;border-radius:50%;background:#57C99A;}
.bubble{
  max-width:82%;
  padding:12px 15px;
  border-radius:5px;
  font-size:14.5px;
  line-height:1.5;
}
.bubble-user{
  align-self:flex-end;
  background:var(--band-input-bg);
  color:var(--band-hi);
  font-family:var(--font-mono);
  font-size:13.5px;
}
.bubble-bot{
  align-self:flex-start;
  background:transparent;
  border:1px solid var(--accent-line);
  color:var(--band-hi);
}
.bubble-bot strong{color:var(--accent);}

/* ===== Contact ===== */
.contact{background:var(--band-bg);color:var(--band-hi);}
.contact-grid{
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  gap:56px;
}
.contact h2{color:var(--band-hi);}
.contact-copy p{color:var(--band-lo);font-size:16px;max-width:38ch;margin:0 0 28px;}
.contact-detail{
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px 0;
  border-top:1px solid var(--band-border);
  text-decoration:none;
  color:var(--band-hi);
}
.contact-detail:last-child{border-bottom:1px solid var(--band-border);}
.contact-detail svg{flex:none;opacity:0.8;}
.contact-detail .txt{display:flex;flex-direction:column;gap:2px;}
.contact-detail .txt small{color:var(--band-lo);font-size:12.5px;}
.contact-detail .txt span{font-family:var(--font-mono);font-size:14.5px;}

/* ===== Footer ===== */
footer{border-top:1px solid var(--line);}
.footer-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:20px;
  padding:32px clamp(20px,5vw,56px);
}
.footer-nav{display:flex;gap:28px;list-style:none;margin:0;padding:0;}
.footer-nav a{text-decoration:none;font-size:13.5px;color:var(--text-lo);}
.footer-nav a:hover{color:var(--text-hi);}
.footer-copy{font-size:13px;color:var(--text-lo);}
.footer-social{display:flex;gap:14px;list-style:none;margin:0;padding:0;}
.footer-social a{
  width:30px;height:30px;border:1px solid var(--line);border-radius:50%;
  display:flex;align-items:center;justify-content:center;text-decoration:none;
  color:var(--text-lo);
}
.footer-social svg{width:14px;height:14px;}

/* ===== Responsive ===== */
@media (max-width: 980px){
  .navlinks{display:none;}
}
@media (max-width: 900px){
  .menu-toggle{display:block;}
  #nav-cta-desktop{display:none;}
  #nav-try-now{padding:9px 14px;font-size:13px;}
  .hero .wrap{grid-template-columns:1fr;}
  .route-graphic{margin-top:28px;}
  .section-head{grid-template-columns:1fr;gap:14px;}
  .about-grid{grid-template-columns:1fr;}
  .agentic-grid{grid-template-columns:1fr;}
  .product-top{grid-template-columns:1fr;}
  .flow{grid-template-columns:1fr 1fr;}
  .flow-5{grid-template-columns:1fr 1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .footer-wrap{flex-direction:column;align-items:flex-start;}
}
@media (max-width: 560px){
  .flow{grid-template-columns:1fr;}
  .flow-5{grid-template-columns:1fr;}
  .lang-switch button{padding:7px 8px;}
  #nav-try-now{display:none;}
  .audience-bar ul{gap:0 14px;flex-wrap:wrap;}
  .audience-bar a{font-size:12px;white-space:nowrap;}
  .nav-right{gap:6px;}
}

:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

/* ===== Landing-page scaffolding (dump-truck-*, timesheets, garage, regions) ===== */
.page-hero{
  background:var(--band-bg);
  color:var(--band-hi);
  padding:clamp(40px, 6vw, 72px) 0 clamp(52px, 7vw, 84px);
}
.page-hero h1{
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(2rem, 3.8vw, 3rem);
  line-height:1.08;
  letter-spacing:-0.01em;
  margin:0 0 18px;
  max-width:24ch;
}
.page-hero .lede{
  font-size:17.5px;
  line-height:1.6;
  color:var(--band-lo);
  max-width:56ch;
  margin:0 0 30px;
}
.page-hero .hero-ctas{margin-top:4px;}

.crumbs{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  list-style:none;
  margin:0 0 22px;
  padding:0;
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--band-lo);
}
.crumbs a{color:var(--band-lo);text-decoration:none;}
.crumbs a:hover{color:var(--band-hi);}
.crumbs li + li::before{content:"/";margin-right:8px;opacity:0.5;}

/* Long-form body copy */
.prose{max-width:68ch;}
.prose h2{max-width:28ch;margin-top:0;}
.prose h3{
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(1.1rem, 1.8vw, 1.35rem);
  letter-spacing:-0.005em;
  margin:36px 0 12px;
}
.prose p{font-size:16.5px;color:var(--text-lo);margin:0 0 18px;}
.prose p strong{color:var(--text-hi);font-weight:600;}
.prose ul{margin:0 0 18px;padding-left:0;list-style:none;}
.prose ul li{
  position:relative;
  padding-left:22px;
  margin-bottom:10px;
  font-size:16.5px;
  color:var(--text-lo);
}
.prose ul li::before{
  content:"";
  position:absolute;
  left:2px;
  top:11px;
  width:7px;height:7px;
  border-radius:50%;
  background:var(--accent);
}
.prose ul li strong{color:var(--text-hi);font-weight:600;}
.prose a{color:var(--accent-deep);text-decoration:underline;text-underline-offset:2px;}

/* Two-up: copy beside a boxed aside */
.split{
  display:grid;
  grid-template-columns:1.15fr 0.85fr;
  gap:clamp(32px, 5vw, 64px);
  align-items:start;
}
.panel{
  border:1px solid var(--line);
  border-radius:4px;
  padding:26px 24px;
  background:var(--paper-2);
}
.panel h3{
  font-family:var(--font-body);
  font-weight:600;
  font-size:15px;
  margin:0 0 16px;
}
.panel dl{margin:0;}
.panel dt{
  font-family:var(--font-mono);
  font-size:11.5px;
  color:var(--accent-deep);
  margin-bottom:4px;
}
.panel dd{
  margin:0 0 18px;
  font-size:15px;
  color:var(--text-lo);
  line-height:1.5;
}
.panel dd:last-child{margin-bottom:0;}

/* Feature cards, same hairline grid as .flow */
.cards{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.cards-2{grid-template-columns:repeat(2, 1fr);}
.card{
  background:var(--paper);
  padding:26px 24px 28px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.product .card, .page-section-alt .card{background:var(--paper-2);}
.card svg{width:28px;height:28px;flex:none;stroke:var(--text-hi);}
.card h3{
  font-family:var(--font-body);
  font-weight:600;
  font-size:16px;
  margin:0;
  line-height:1.3;
}
.card p{font-size:14.5px;color:var(--text-lo);margin:0;line-height:1.55;}
.page-section-alt{background:var(--paper-2);}

/* FAQ */
.faq{max-width:76ch;border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{
  cursor:pointer;
  padding:18px 0;
  font-family:var(--font-body);
  font-weight:600;
  font-size:16px;
  list-style:none;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"+";
  font-family:var(--font-mono);
  font-weight:500;
  color:var(--accent-deep);
  flex:none;
}
.faq details[open] summary::after{content:"\2013";}
.faq details p{
  margin:0 0 20px;
  font-size:16px;
  color:var(--text-lo);
  max-width:64ch;
}

/* Closing call to action */
.cta-band{
  background:var(--band-bg);
  color:var(--band-hi);
  padding:clamp(52px, 7vw, 80px) 0;
}
.cta-band h2{color:var(--band-hi);max-width:22ch;}
.cta-band p{color:var(--band-lo);font-size:16.5px;max-width:48ch;margin:0 0 28px;}

/* Related pages */
.related{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:16px;
  list-style:none;
  margin:0;
  padding:0;
}
.related a{
  display:flex;
  flex-direction:column;
  gap:8px;
  height:100%;
  border:1px solid var(--line);
  border-radius:4px;
  padding:20px;
  text-decoration:none;
  transition:border-color .15s ease;
}
.related a:hover{border-color:var(--accent);}
.related .t{font-weight:600;font-size:15.5px;color:var(--text-hi);}
.related .d{font-size:14px;color:var(--text-lo);line-height:1.5;}

/* Customer quotes — markup is in index.html, commented out until approved */
.quotes{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.quote{
  background:var(--paper);
  padding:30px 28px;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.quote blockquote{
  margin:0;
  font-family:var(--font-display);
  font-weight:500;
  font-size:clamp(1.05rem, 1.7vw, 1.25rem);
  line-height:1.4;
  letter-spacing:-0.005em;
}
.quote figcaption{
  font-size:14px;
  color:var(--text-lo);
  margin-top:auto;
}
.quote figcaption strong{color:var(--text-hi);font-weight:600;display:block;}

@media (max-width: 900px){
  .split{grid-template-columns:1fr;}
  .cards{grid-template-columns:1fr 1fr;}
  .related{grid-template-columns:1fr;}
  .quotes{grid-template-columns:1fr;}
}
@media (max-width: 560px){
  .cards, .cards-2{grid-template-columns:1fr;}
}

/* ===== Footer link columns (site-wide internal linking) ===== */
.footer-links{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:32px;
  padding:40px clamp(20px,5vw,56px) 8px;
  border-bottom:1px solid var(--line-soft);
}
.footer-links h2{
  font-family:var(--font-mono);
  font-size:11.5px;
  font-weight:500;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:var(--text-lo);
  margin:0 0 14px;
  max-width:none;
}
.footer-links ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.footer-links a{text-decoration:none;font-size:14px;color:var(--text-hi);}
.footer-links a:hover{color:var(--accent-deep);}
.footer-links p{font-size:14px;color:var(--text-lo);margin:0 0 9px;line-height:1.5;}
@media (max-width: 760px){
  .footer-links{grid-template-columns:1fr;gap:28px;}
}

/* Links inside feature cards (regional pages cross-link to the product pages) */
.card p a{color:var(--accent-deep);text-decoration:underline;text-underline-offset:2px;}
