/* Dark-and-light treatment, modeled on the Fast Track reference. Palette reined in: near-black, white and one accent (sun, buttons only), grays for text.
   Dark: header, hero, the veteran + reviews band, the quote form and the footer. Light: every content section in between. */
body.dark{--bg:#0b1213;--bg2:#101a1c;--line:rgba(255,255,255,.1);--soft:rgba(255,255,255,.68);background:var(--white);color:var(--ink)}
.dark .btn.primary{background:var(--sun);color:var(--ink)}
.dark .btn.primary:hover{background:var(--ink);color:var(--white)}

/* Header */
.dark .split.solid{background:rgba(11,18,19,.94);color:var(--white);border-bottom:1px solid var(--line)}
.dark .split.solid .mark{color:var(--white)}
.dark .split.solid nav a{color:rgba(255,255,255,.75)}
.dark .split.solid nav a:hover,.dark .split.solid nav a[aria-current="page"]{color:var(--white)}
.dark .split .tel{background:transparent;color:var(--white);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.3)}
.dark .split.solid .tel:hover{background:var(--white);color:var(--ink)}
.dark .split .hq{background:var(--sun);color:var(--ink)}
.dark .split .hq:hover{background:var(--white)}

/* Hero: the bridge at dusk, the truck drives toward the skyline as you scroll */
.dkhero{position:relative;height:180vh;height:180svh;background:var(--bg)}
.dkstage{position:sticky;top:56px;height:calc(100vh - 56px);height:calc(100svh - 56px);overflow:hidden}
.dkimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 55%}
.dktruck{position:absolute;left:0;top:0;height:auto;transform-origin:0 0;will-change:transform;pointer-events:none}
.dkscrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(11,18,19,.9) 0%,rgba(11,18,19,.7) 32%,rgba(11,18,19,.15) 58%,rgba(11,18,19,0) 72%),linear-gradient(0deg,rgba(11,18,19,.75) 0%,rgba(11,18,19,0) 30%)}
.dkwrap{position:relative;display:flex;flex-direction:column;height:100%;padding-top:24px;padding-bottom:28px}
.dkhero .dcopy{max-width:600px;margin-top:auto;text-align:left;padding-top:0}
.dkhero h1{font-weight:800;font-size:clamp(42px,4.8vw,70px);line-height:.98;margin:0 0 18px;max-width:none;color:var(--white)}
.dkhero h1 span{color:rgba(255,255,255,.62)}
.dkhero .lede{color:rgba(255,255,255,.75);font-size:19px;line-height:1.5;max-width:42ch;margin:0 0 26px}
.dkhero .btns{justify-content:flex-start}
.dkhero .btn.ghost,.dark .subhero .btn.ghost{background:transparent;color:var(--white);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.dkhero .btn.ghost:hover,.dark .subhero .btn.ghost:hover{background:var(--white);color:var(--ink)}
.dkhero .btn.primary:hover,.dark .subhero .btn.primary:hover{background:var(--white);color:var(--ink)}

/* Stat strip: one centered bar, three numbers split by thin dividers */
.dkstats{align-self:center;margin:auto 0 0;display:grid;grid-template-columns:repeat(3,auto);border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(11,18,19,.72)}
.dkstats div{padding:16px 34px;text-align:center}
.dkstats div+div{border-left:1px solid rgba(255,255,255,.14)}
.dkstats b{display:block;font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:26px;line-height:1.1;letter-spacing:-.02em;color:var(--white)}
.dkstats span{display:block;margin-top:4px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55)}

/* Light content sections: stay on the original light styles, with framed photos */
.dkpics{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 16px}
.dkpics img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:14px;display:block}
.dark section.block{background:var(--white)}
.dark .eyebrow{color:#6b7375}
.dark .take,.dark .tservices .take,.dark .alsocard{background:var(--white);border:1px solid #e3e6e6}
.dark .steps li::before{color:#6b7375}
.dark .wholist li{border-top-color:#e3e6e6}
.dark .faqlist,.dark .faqlist details{border-color:#e3e6e6}
.dark .faqlist summary::after{color:var(--ink)}
.dark .note a,.dark .svclink,.dark .alsocard span,.dark .crumbs a{color:var(--ink)}
.dark .dkpics img{border:0}

/* Dark bands: veteran + reviews, quote, footer */
.dark :is(section.vet,section.reviews,section.quote){background:var(--bg);color:var(--white)}
.dark section.vet{background:var(--bg2)}
.dark :is(.vet,.reviews,.quote,.area) .eyebrow,.dkhero .eyebrow{color:rgba(255,255,255,.55)}
.dark :is(.vet,.reviews,.quote) h2.big{color:var(--white)}
.dark .vetquote blockquote{color:var(--white)}
.dark .vetquote figcaption,.dark .quotes figcaption{color:rgba(255,255,255,.55)}
.dark .quotes figure{background:rgba(255,255,255,.04);border:1px solid var(--line)}
.dark .quotes blockquote{color:var(--white)}
.dark .reviews .source a{color:var(--white)}
.dark .reviews .center-btn .btn{background:transparent;color:var(--white);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.dark .reviews .center-btn .btn:hover{background:var(--white);color:var(--ink)}
.dark .quote .support{color:var(--soft)}
.dark .quote .support a{color:var(--white)}
.dark .quote form{background:rgba(255,255,255,.04);border:1px solid var(--line)}
.dark .quote label{color:rgba(255,255,255,.85)}
.dark .quote input,.dark .quote textarea,.dark .quote select{background:#0b1213;border-color:rgba(255,255,255,.18);color:var(--white);color-scheme:dark}
.dark .quote input::placeholder,.dark .quote textarea::placeholder{color:rgba(255,255,255,.35)}
.dark .quote .btn.primary:hover{background:var(--white);color:var(--ink)}
.dark .formnote{color:var(--white)}
.dark footer{background:var(--bg);border-top:1px solid var(--line);color:rgba(255,255,255,.5)}
.dark footer a.flink{color:var(--white)}
.dark section.block.area .btn.primary{box-shadow:none}
.dark section.block.area .btn.primary:hover{background:var(--white);color:var(--ink)}

@media (max-width:640px){
  .dkhero{height:160vh;height:160svh}
  .dkstage{top:60px;height:calc(100vh - 60px);height:calc(100svh - 60px)}
  .dkimg{height:46%;object-position:78% 50%}
  .dkscrim{background:linear-gradient(180deg,rgba(11,18,19,0) 0%,rgba(11,18,19,0) 30%,var(--bg) 46%)}
  .dkwrap{justify-content:flex-end}
  .dkhero h1{font-size:38px}
  .dkhero .lede{font-size:16px;margin-bottom:18px}
  .dkhero .btns .btn{flex:1 1 100%}
  .dkstats{align-self:stretch;margin-top:16px;grid-template-columns:repeat(3,minmax(0,1fr))}
  .dkstats div{padding:12px 6px}
  .dkstats b{font-size:18px}
  .dkstats span{font-size:10px;letter-spacing:.06em}
  .dkpics{grid-template-columns:1fr}
  .dark .callbar{background:var(--bg);border-top-color:var(--line)}
  .dark .callbar a:last-child{background:var(--white);color:var(--ink)}
}

/* One dark band for the service area, matching the other dark bands */
.dark section.block.area{background:var(--bg2);color:var(--white)}
.dark .area h2.big{color:var(--white)}
.dark .towns li{border-color:rgba(255,255,255,.3)}
/* Inner page heroes: no extra color in the rating line */
.dark .subhero .rating{color:rgba(255,255,255,.8)}
.dark .subhero .eyebrow{color:rgba(255,255,255,.55)}
.dark .subhero .crumbs a{color:var(--white)}

/* Homepage below the hero (round 2): editorial headers, accordion with a swapping photo, timeline, black card band, pull quote, closing band */
.home .hm{padding:88px 0;background:var(--white);color:var(--ink)}
.home .hm+.hm:not(.hm-who):not(.hm-vet){padding-top:0}
.home .hm+.hm:not(.hm-who):not(.hm-vet) .hmhead{padding-top:56px}
.home{--off:calc((100% - 24px) / 4 + 24px)}
.hmhead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:24px;border-top:1px solid #e3e6e6;padding-top:24px;margin-bottom:48px}
.hmlabel{margin:6px 0 0;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#6b7375}
.hmhead h2{font-weight:800;font-size:clamp(34px,4.4vw,58px);line-height:1;margin:0;max-width:16ch}

/* How it works: three stops on one line */
.tline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;position:relative}
.tline::before{content:"";position:absolute;left:22px;right:calc(33.333% - 22px);top:22px;height:2px;background:var(--ink)}
.tline li{position:relative}
.tdot{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--white);font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:17px;position:relative;margin-bottom:22px}
.tline h3{font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:22px;margin:0 0 8px}
.tline p{margin:0;color:#4d5658;max-width:30ch}

/* Transportation: accordion list beside one photo that swaps */
.acc{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:start}
.acclist details{border-top:1px solid #e3e6e6}
.acclist details:last-of-type{border-bottom:1px solid #e3e6e6;margin-bottom:28px}
.acclist summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;position:relative;font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:22px;color:#9aa1a3;transition:color .2s}
.acclist summary::-webkit-details-marker{display:none}
.acclist summary::after{content:"+";position:absolute;right:4px;top:16px;font-size:26px;font-weight:600}
.acclist details[open] summary{color:var(--ink)}
.acclist details[open] summary::after{content:"\2212"}
.acclist summary:hover{color:var(--ink)}
.acclist details p{margin:-6px 0 22px;color:#4d5658;max-width:44ch}
.accshots{position:relative;aspect-ratio:4/3;border-radius:6px;overflow:hidden;background:var(--bg)}
.accshots img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease}
.accshots img.on{opacity:1}

/* Who we work with: black band, three white cards */
.home .hm-who{background:var(--bg);color:var(--white)}
.hm-who .hmhead{border-top-color:rgba(255,255,255,.16)}
.hm-who .hmlabel{color:rgba(255,255,255,.55)}
.whocards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.whocards li{background:var(--white);color:var(--ink);border-radius:6px;padding:32px 28px 36px;min-height:220px;display:flex;flex-direction:column;justify-content:flex-end}
.whocards h3{font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:26px;letter-spacing:-.02em;margin:0 0 10px}
.whocards p{margin:0;color:#4d5658}

/* Reviews: one big pull quote, the rest in a quiet row */
.pull{margin:0 0 56px var(--off);max-width:860px}
.pull blockquote{margin:0;font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:clamp(30px,3.6vw,48px);line-height:1.12;letter-spacing:-.025em}
.pull figcaption{margin-top:18px;font-size:15px;color:#6b7375}
.quiet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:0 0 40px var(--off);border-top:1px solid #e3e6e6;padding-top:24px}
.quiet figure{margin:0}
.quiet blockquote{margin:0;font-size:17px;line-height:1.45}
.quiet figcaption{margin-top:10px;font-size:14px;color:#6b7375}
.hm-rev .btn.line{margin-left:var(--off);background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.hm-rev .btn.line:hover{background:var(--ink);color:var(--white)}

/* Veteran: one dark strip */
.home .hm-vet{background:var(--bg2);color:var(--white)}
.hm-vet .hmhead{border-top:0;margin:0;padding-top:0}
.hm-vet .hmlabel{color:rgba(255,255,255,.55)}
.vq{margin:28px 0 0}
.vq blockquote{margin:0;font-size:22px;line-height:1.4;color:rgba(255,255,255,.85);max-width:34ch}
.vq figcaption{margin-top:10px;font-size:14px;color:rgba(255,255,255,.55)}

/* Also from the same crew: two big link rows */
.rows{margin-left:var(--off);border-top:1px solid #e3e6e6}
.row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr) auto;gap:24px;align-items:baseline;padding:26px 0;border-bottom:1px solid #e3e6e6;color:var(--ink);text-decoration:none}
.row h3{margin:0;font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:28px;letter-spacing:-.02em}
.row p{margin:0;color:#4d5658}
.row span{font-size:26px;transition:transform .2s}
.row:hover span{transform:translateX(6px)}

/* FAQ in the right column */
.home .hm-faq .faqlist{margin:0 0 0 var(--off);max-width:none;border-top-color:#e3e6e6}

/* Closing band: loud line on the left, the form on the right */
.home .hm-close{padding:96px 0}
.hm-close .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:start}
.closeline h2{font-weight:800;font-size:clamp(52px,7vw,104px);line-height:.92;letter-spacing:-.04em;text-transform:uppercase;margin:0 0 24px;color:var(--white)}
.closeline .support{font-size:19px;max-width:34ch}
.closeline .closearea{margin:28px 0 0;padding-top:20px;border-top:1px solid var(--line);font-size:15px;color:rgba(255,255,255,.55);max-width:40ch}

@media (max-width:900px){
  .hmhead{grid-template-columns:1fr;gap:10px}
  .acc{grid-template-columns:1fr;gap:28px}
  .accshots{order:-1}
  .whocards{grid-template-columns:1fr}
  .whocards li{min-height:0}
  .pull,.quiet,.rows,.hm-rev .btn.line,.home .hm-faq .faqlist{margin-left:0}
  .quiet{grid-template-columns:1fr;gap:20px}
  .hm-close .wrap{grid-template-columns:1fr;gap:40px}
}
@media (max-width:640px){
  .home .hm{padding:56px 0}
  .home .hm+.hm:not(.hm-who):not(.hm-vet) .hmhead{padding-top:40px}
  .hmhead{margin-bottom:32px}
  .tline{grid-template-columns:1fr;gap:28px}
  .tline::before{left:21px;right:auto;top:22px;bottom:22px;width:2px;height:auto}
  .tline li{padding-left:64px}
  .tdot{position:absolute;left:0;top:0;margin:0}
  .acclist summary{font-size:19px}
  .row{grid-template-columns:1fr auto;gap:6px 16px}
  .row h3{font-size:24px}
  .row p{grid-column:1;grid-row:2}
  .row span{grid-column:2;grid-row:1}
  .home .hm-close{padding:56px 0}
  .hm-close .wrap{gap:32px}
}
@media (prefers-reduced-motion:reduce){.accshots img,.row span,.acclist summary{transition:none}}

/* Round 2b (2026-10-27): centered headers, aligned cards, review carousel, dog tag veteran band */
.hmc{text-align:center;border-top:1px solid #e3e6e6;padding-top:56px;margin-bottom:48px}
.hm-how .hmc,.hm-who .hmc,.hm-close .hmc{border-top:0;padding-top:0}
.hmc h2.disp{font-weight:800;font-size:clamp(30px,4.4vw,58px);line-height:1.02;margin:0 auto;white-space:nowrap}
.hmc .hmlabel{margin:0 0 12px}
.hm-who .hmc{margin-bottom:28px}
.hm-who .hmc .hmlabel{margin:0;font-size:14px}
.home .hm+.hm:not(.hm-who):not(.hm-vet){padding-top:0}
.whocards li{justify-content:flex-start;min-height:0;padding:30px 28px 32px}
.home .hm-faq .faqlist,.rows{margin:0 auto;max-width:860px}

/* Reviews: snap carousel with arrows */
.rvwrap{position:relative}
.rvtrack{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px) / 3);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:2px}
.rvtrack::-webkit-scrollbar{display:none}
.rvtrack:focus-visible{outline:3px solid var(--sun);outline-offset:4px}
.rv{scroll-snap-align:start;margin:0;background:var(--white);border:1px solid #e3e6e6;border-radius:6px;padding:28px 26px;display:flex;flex-direction:column}
.stars{margin:0 0 16px;font-size:16px;letter-spacing:3px;color:var(--ink)}
.rv blockquote{margin:0 0 24px;font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:21px;line-height:1.3;letter-spacing:-.015em;flex:1}
.rv figcaption{display:flex;flex-direction:column;gap:2px;font-size:14px;color:#6b7375;border-top:1px solid #e3e6e6;padding-top:14px}
.rv figcaption b{color:var(--ink);font-size:15px}
.rvnav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:28px}
.rvbtn{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--ink);background:var(--white);color:var(--ink);font-size:20px;cursor:pointer;display:grid;place-items:center}
.rvbtn:hover{background:var(--ink);color:var(--white)}
.rvbtn:disabled{opacity:.3;cursor:default;background:var(--white);color:var(--ink)}
.rvcount{font-size:14px;font-weight:600;color:#6b7375;min-width:44px;text-align:center}
.rvall{text-align:center;margin:28px 0 0}
.hm-rev .rvall .btn.line{margin:0}

/* Veteran: a dog tag beside the owner's word */
.home .hm-vet{padding:96px 0}
.hm-vet .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center}
.tagside{display:flex;justify-content:center}
.dogtag{position:relative;width:300px;height:180px;border-radius:44px;background:#c9cecf;box-shadow:inset 0 0 0 6px #b7bdbe,inset 0 0 0 7px #a6adae,0 24px 48px rgba(0,0,0,.45);transform:rotate(-7deg);display:flex;flex-direction:column;justify-content:center;padding:0 34px 0 70px;font-family:"IBM Plex Mono",ui-monospace,monospace;font-weight:600;font-size:15px;line-height:1.55;letter-spacing:.06em;color:#3a4143;text-shadow:0 1px 0 rgba(255,255,255,.55)}
.dogtag::before{content:"";position:absolute;left:24px;top:50%;width:20px;height:20px;margin-top:-10px;border-radius:50%;background:var(--bg2);box-shadow:inset 0 0 0 2px #a6adae}
.vetcopy .hmlabel{color:rgba(255,255,255,.55);margin:0 0 12px}
.vetcopy h2{font-weight:800;font-size:clamp(32px,4vw,52px);line-height:1.02;margin:0;color:var(--white)}
.vetcopy .vq blockquote{font-size:24px;color:var(--white)}
.vetcopy .btn.line{margin-top:28px;background:transparent;color:var(--white);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45)}
.vetcopy .btn.line:hover{background:var(--white);color:var(--ink)}

@media (max-width:900px){
  .rvtrack{grid-auto-columns:calc((100% - 16px) / 2)}
  .hm-vet .wrap{grid-template-columns:1fr;gap:48px;text-align:center}
  .vetcopy .vq blockquote{margin:0 auto}
}
@media (max-width:640px){
  .hmc{padding-top:40px;margin-bottom:32px}
  .hmc h2.disp{font-size:clamp(22px,6.6vw,34px);white-space:normal;text-wrap:balance}
  .rvtrack{grid-auto-columns:86%}
  .rv blockquote{font-size:19px}
  .home .hm-vet{padding:64px 0}
  .dogtag{width:260px;height:156px;font-size:13px;padding-left:60px;border-radius:38px}
  .dogtag::before{left:20px}
  .vetcopy .btn.line{width:100%}
}
@media (prefers-reduced-motion:reduce){.rvtrack{scroll-behavior:auto}}

/* Inner pages share the homepage sections: six-card grids on white, the first section sits right under the photo hero */
.subhero+.hm .hmc{border-top:0;padding-top:0}
.whocards.line li{border:1px solid #e3e6e6}
.hmnote{text-align:center;margin:32px 0 0;color:#4d5658}
.hmnote a{color:var(--ink)}
.hmask{text-align:center;margin:24px 0 0}
@media (max-width:900px){.whocards.line{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.whocards.line{grid-template-columns:1fr}}

/* Dog tags drawn in SVG: a pair on a ball chain, VETERAN-OWNED stamped into the front tag */
.dogtag{display:none}
.dogtags{width:100%;max-width:400px;height:auto;display:block;overflow:visible}
.dogtags .chain{fill:none;stroke:#aeb4b6;stroke-width:6;stroke-linecap:round;stroke-dasharray:0 9}
.dogtags .emboss{font-family:"IBM Plex Mono",ui-monospace,monospace;font-weight:600;font-size:20px;letter-spacing:2px;fill:#4a5153}
.dogtags .emboss.hi{fill:#f6f8f8;fill-opacity:.85}
@media (max-width:640px){.dogtags{max-width:300px}}
.dogtags .chain.sh{stroke:#3a4143;stroke-width:9}

/* How it works: each step centered under its dot, the line runs dot center to dot center */
.tline li{text-align:center}
.tdot{margin:0 auto 22px}
.tline p{margin:0 auto}
.tline::before{left:calc((100% - 64px) / 6);right:calc((100% - 64px) / 6)}
@media (max-width:640px){
  .tline{gap:32px}
  .tline::before{display:none}
  .tline li{padding-left:0}
  .tdot{position:relative;left:auto;top:auto;margin:0 auto 14px}
}

/* Single dog tag hanging on a ball chain from the top edge of the veteran band, tilted slightly right */
.hm-vet{overflow:hidden}
.hm-vet .wrap{align-items:stretch}
.tagside{align-items:flex-start;margin-top:-96px}
.dogtag1{width:100%;max-width:340px;height:auto;display:block}
.dogtag1 .emb{font-family:"IBM Plex Mono",ui-monospace,monospace;font-weight:600;font-size:22px;letter-spacing:3px;fill:#8d9496}
.dogtag1 .emb.hi{fill:#fbfcfc}
.dogtag1 .emb.lo{fill:#4b5254}
.vetcopy{align-self:center}
@media (max-width:900px){
  .tagside{margin-top:-96px}
  .dogtag1{max-width:240px}
}
@media (max-width:640px){
  .tagside{margin-top:-64px}
  .dogtag1{max-width:200px}
}

/* Logo: reversed WHA mark beside the name in the header and footer */
.split .mark{display:inline-flex;align-items:center;gap:10px}
.split .mark img{height:40px;width:auto;display:block}
footer .flogo{flex-basis:100%;display:block;margin-bottom:6px}
footer .flogo img{height:40px;width:auto;display:block}
@media (max-width:640px){.split .mark img{height:30px}.split .mark{gap:8px}}
footer .credit a{color:rgba(255,255,255,.75)}footer .credit a:hover{color:var(--white)}
/* Full logo with trucks in the header and footer */
.split .mark img{height:52px}
footer .flogo img{height:64px}
@media (max-width:640px){.split .mark img{height:42px}}
.acclist summary{color:#5f676a}

/* Privacy and 404 pages: plain reading column under the fixed header */
.home .hm.legal{padding:140px 0 88px}
.legal .wrap{max-width:760px}
.legal h1{font-weight:800;font-size:clamp(36px,5vw,56px);line-height:1;margin:0 0 10px}
.legal .updated{color:#5f676a;margin:0 0 36px}
.legal h2{font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:22px;margin:32px 0 8px}
.legal p{margin:0 0 12px;color:#3d4547;line-height:1.6}
.legal a{color:var(--ink)}
.nf .nfbtns{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.nf .btn.line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
@media (max-width:640px){.home .hm.legal{padding:110px 0 56px}}

/* Footer: full width, same side margins as the header, brand + three columns, legal row */
.dark footer.ft{padding:56px 0 32px;font-size:15px;color:rgba(255,255,255,.6)}
.ftin{padding:0 32px}
.fttop{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px;padding-bottom:40px;border-bottom:1px solid var(--line)}
.ftbrand .flogo{display:inline-block;margin:0 0 14px}
.ftbrand .flogo img{height:64px;width:auto;display:block}
.ftbrand p{margin:0;max-width:32ch;line-height:1.5}
.ftcol h2{font-family:"Plus Jakarta Sans",sans-serif;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45);margin:6px 0 14px}
.ftcol a{display:block;color:var(--white);text-decoration:none;margin:0 0 10px;font-weight:600}
.ftcol a:hover{text-decoration:underline;text-underline-offset:3px}
.ftcol p{margin:0;line-height:1.5}
.ftbot{display:flex;flex-wrap:wrap;gap:8px 28px;align-items:center;padding-top:22px;font-size:14px}
.ftbot a{color:rgba(255,255,255,.75)}
.ftbot a:hover{color:var(--white)}
.ftbot .credit{margin-left:auto}
@media (max-width:900px){.fttop{grid-template-columns:1fr 1fr}.ftbrand{grid-column:1/-1}}
@media (max-width:640px){
  .ftin{padding:0 18px}
  .dark footer.ft{padding:44px 0 96px}
  .fttop{grid-template-columns:1fr;gap:28px}
  .ftbot{flex-direction:column;align-items:flex-start;gap:8px}
  .ftbot .credit{margin-left:0}
}
@media (max-width:640px){.split .l,.split .r{padding:0 18px}}
