/* Tampa Mobile Mechanic Guys — tampamobilemechanicguys.com
   Race-day energy from the logo: deep navy, safety orange, silver, speed lines and a forward lean. */

:root{
  --navy:#0A2552; --navy-d:#021E46; --navy-2:#163A78; --navy-3:#244D96;
  --orange:#F26004; --orange-2:#FD831B; --orange-ink:#C24A00;
  --silver:#C0C0C5; --ink:#0B1630; --body:#27324A; --muted:#55627A;
  --line:#DCE2EB; --line2:#EDF1F6; --soft:#F2F5FA; --white:#fff;
  --fd:"Exo 2","Arial Black",Arial,sans-serif;
  --fb:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --lean:-12deg;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--body);font:400 17px/1.65 var(--fb);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy-2);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--orange-ink)}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em}
h1,h2,h3,h4{margin:0 0 .5em;color:var(--ink);font-family:var(--fd)}
h1,h2{font-style:italic;font-weight:900;text-transform:uppercase;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,1.35rem + 3vw,3.7rem);line-height:.98}
h2{font-size:clamp(1.6rem,1.2rem + 1.5vw,2.45rem);line-height:1.02}
h3{font-size:1.18rem;line-height:1.25;font-weight:800;font-style:italic}
strong,b{font-weight:700}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:10px;z-index:300;background:var(--orange);color:var(--navy-d);padding:10px 16px;font-weight:700;text-decoration:none}
.skip:focus{left:10px}
.wrap{max-width:1220px;margin:0 auto;padding:0 24px}
.muted{color:var(--muted)}
.small{font-size:.88rem}

/* ---------- speed lines ---------- */
/* Lines sit in the top padding and just below the content, never across text. --sl-b = distance from the bottom edge. */
.speed{position:relative;overflow:hidden;--sl-b:56px}
.speed::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg,transparent,rgba(242,96,4,.85)) 0 12px/34% 4px no-repeat,
    linear-gradient(90deg,transparent,rgba(255,255,255,.28)) 0 20px/22% 2px no-repeat,
    linear-gradient(90deg,transparent,rgba(242,96,4,.55)) 0 calc(100% - var(--sl-b))/24% 4px no-repeat,
    linear-gradient(90deg,transparent,rgba(255,255,255,.22)) 0 calc(100% - var(--sl-b) + 8px)/32% 2px no-repeat,
    repeating-linear-gradient(180deg,transparent 0 30px,rgba(255,255,255,.035) 30px 32px)}
.hero.speed{--sl-b:98px}
.speed>.wrap{position:relative}

/* ---------- buttons (leaning parallelograms; text stays upright) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 26px;border:2px solid transparent;transform:skewX(var(--lean));font:800 italic .98rem/1 var(--fd);letter-spacing:.04em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s;-webkit-appearance:none;appearance:none}
.btn>span{display:inline-block;transform:skewX(12deg)}
.btn-o{background:var(--orange);color:var(--navy-d)}
.btn-o:hover{background:var(--orange-2);color:var(--navy-d)}
.btn-n{background:var(--navy);color:#fff}
.btn-n:hover{background:var(--navy-2);color:#fff}
.btn-l{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-l:hover{background:var(--navy);color:#fff}
.btn-w{background:transparent;color:#fff;border-color:#fff}
.btn-w:hover{background:#fff;color:var(--navy)}
.btn-sm{min-height:44px;padding:0 18px;font-size:.86rem}
.cta-row{display:flex;flex-wrap:wrap;gap:14px 16px;margin:28px 0 0;padding-left:6px}
.callline{margin:18px 0 0;font-size:.96rem;color:var(--muted)}
.callline a{font:800 italic 1.05rem/1 var(--fd);color:var(--navy);text-decoration:none;white-space:nowrap}
.callline a:hover{color:var(--orange-ink)}
.callline .nw{white-space:nowrap}

/* ---------- kicker + section heads ---------- */
.kicker{display:flex;align-items:center;gap:12px;margin:0 0 14px;font:800 italic .8rem/1.2 var(--fd);letter-spacing:.14em;text-transform:uppercase;color:var(--orange-ink)}
.kicker::before{content:"";flex:none;width:36px;height:10px;background:
  linear-gradient(var(--orange),var(--orange)) 0 0/100% 2px no-repeat,
  linear-gradient(var(--orange),var(--orange)) 9px 4px/27px 2px no-repeat,
  linear-gradient(var(--orange),var(--orange)) 18px 8px/18px 2px no-repeat}
.on-navy .kicker,.hero .kicker,.phead .kicker{color:var(--orange-2)}
.sec{padding:86px 0}
.sec-soft{background:var(--soft)}
.sec-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px 56px;align-items:end;margin-bottom:36px}
.sec-head h2{margin:0}
.sec-head>p{margin:0;color:var(--muted)}
.sec-head.solo{grid-template-columns:minmax(0,1fr);max-width:780px}
.more{display:inline-flex;align-items:center;gap:10px;margin-top:28px;font:800 italic .92rem/1 var(--fd);letter-spacing:.04em;text-transform:uppercase;color:var(--navy);text-decoration:none}
.more::after{content:"";width:26px;height:8px;background:
  linear-gradient(var(--orange),var(--orange)) 0 0/100% 2px no-repeat,
  linear-gradient(var(--orange),var(--orange)) 8px 6px/18px 2px no-repeat;transition:width .2s}
.more:hover{color:var(--orange-ink)}
.more:hover::after{width:40px}

/* ---------- header ---------- */
.topbar{background:var(--navy-d);color:#C3CEE2;font:600 .8rem/1 var(--fb)}
.topbar .wrap{display:flex;justify-content:flex-end;align-items:center;gap:26px;min-height:34px}
.topbar b{color:#fff;font-weight:700}
.topbar a{color:#fff;text-decoration:none}
.topbar a:hover{color:var(--orange-2)}
.hd{position:relative;z-index:60;background:#fff}
.hd-row{display:flex;align-items:center;gap:20px;min-height:86px}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto;text-decoration:none}
.brand img{width:108px;height:auto}
.wm{display:flex;flex-direction:column}
.wm b{font:900 italic 1.85rem/.88 var(--fd);letter-spacing:.005em;text-transform:uppercase;color:var(--navy)}
.wm i{display:flex;align-items:center;gap:6px;margin-top:6px;font:900 italic .7rem/1 var(--fd);letter-spacing:.05em;text-transform:uppercase;color:var(--orange)}
.wm i em{font-style:inherit;background:var(--navy);color:#fff;padding:3px 7px 3px 6px;transform:skewX(var(--lean))}
.hd-call{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-decoration:none}
.hd-call small{font:700 .66rem/1 var(--fb);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.hd-call span{font:900 italic 1.3rem/1 var(--fd);color:var(--navy)}
.hd-call:hover span{color:var(--orange-ink)}
.hd-cta{display:flex;gap:12px;padding-left:6px}
.nav{background:var(--navy)}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.nav a{position:relative;display:block;padding:15px 14px 14px;color:#fff;text-decoration:none;font:800 italic .8rem/1 var(--fd);letter-spacing:.07em;text-transform:uppercase}
.nav li:first-child a{padding-left:0}
.nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:4px;background:var(--orange);transform:skewX(var(--lean)) scaleX(0);transform-origin:left;transition:transform .2s}
.nav li:first-child a::after{left:0}
.nav a:hover,.nav a[aria-current="page"]{color:var(--orange-2)}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:skewX(var(--lean)) scaleX(1)}
.mnav{display:none}
.mnav summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:9px;min-height:44px;padding:0 15px;background:var(--navy);color:#fff;font:800 italic .82rem/1 var(--fd);letter-spacing:.06em;text-transform:uppercase;transform:skewX(var(--lean))}
.mnav summary>*{transform:skewX(12deg)}
.mnav summary::-webkit-details-marker{display:none}
.mnav summary i{position:relative;width:18px;height:2px;background:#fff}
.mnav summary i::before,.mnav summary i::after{content:"";position:absolute;left:0;width:18px;height:2px;background:#fff}
.mnav summary i::before{top:-6px}.mnav summary i::after{top:6px}
.mnav[open] summary{background:var(--orange);color:var(--navy-d)}
.mnav[open] summary i{background:transparent}
.mnav[open] summary i::before{top:0;transform:rotate(45deg);background:var(--navy-d)}
.mnav[open] summary i::after{top:0;transform:rotate(-45deg);background:var(--navy-d)}
.mnav-panel{position:absolute;left:0;right:0;top:100%;background:var(--navy-d);padding:6px 16px 22px;border-bottom:5px solid var(--orange);box-shadow:0 24px 34px rgba(2,30,70,.45)}
.mnav-panel ul{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.mnav-panel li a{display:block;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12);color:#fff;text-decoration:none;font:800 italic .92rem/1.2 var(--fd);text-transform:uppercase;letter-spacing:.03em}
.mnav-panel .cta-row{margin:0}

/* ---------- hero ---------- */
.hero{background:var(--navy);color:#fff;padding:62px 0 128px;clip-path:polygon(0 0,100% 0,100% calc(100% - 72px),0 100%)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:52px;align-items:center}
.hero h1{color:#fff}
.hero h1 em{display:block;font-style:inherit;color:var(--orange)}
.hero .lede{color:#D2DBEA}
.hero .callline{color:#B7C3D9}
.hero .callline a{color:#fff}
.hero .callline a:hover{color:var(--orange-2)}
.lede{font-size:1.14rem;line-height:1.6;max-width:36em}
.van{position:relative;margin:0;padding:0 18px 18px 0}
.van::before{content:"";position:absolute;left:18px;top:18px;right:0;bottom:0;background:var(--orange);clip-path:polygon(7% 0,100% 0,93% 100%,0 100%)}
.van img{position:relative;width:100%;clip-path:polygon(7% 0,100% 0,93% 100%,0 100%)}
.van figcaption{position:absolute;left:-6px;bottom:-14px;background:#fff;color:var(--navy);padding:11px 16px;font:900 italic .8rem/1.2 var(--fd);letter-spacing:.05em;text-transform:uppercase;transform:skewX(var(--lean));box-shadow:0 14px 30px rgba(2,30,70,.3)}
.van figcaption span{display:inline-block;transform:skewX(12deg)}
.van figcaption b{color:var(--orange-ink)}
.score{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:-70px auto 0;background:#fff;box-shadow:0 18px 40px rgba(10,37,82,.14);border-bottom:5px solid var(--orange)}
.score>div{padding:22px 24px;border-left:1px solid var(--line)}
.score>div:first-child{border-left:0}
.score dt{margin:0 0 8px;font:700 .68rem/1.2 var(--fb);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.score dd{margin:0;font:900 italic 1.85rem/1 var(--fd);color:var(--navy)}
.score dd em{font-style:inherit;color:var(--orange-ink)}
.score dd small{display:block;margin-top:6px;font:500 .84rem/1.35 var(--fb);color:var(--muted)}

/* ---------- inner page header ---------- */
.phead{background:var(--navy);color:#fff;padding:34px 0 96px;clip-path:polygon(0 0,100% 0,100% calc(100% - 48px),0 100%)}
.phead h1{color:#fff;max-width:16em}
.phead .lede{color:#D2DBEA}
.phead .callline{color:#B7C3D9}
.phead .callline a{color:#fff}
.crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 28px;padding:0;font:600 .8rem/1.4 var(--fb);color:#AEBBD3}
.crumb li+li::before{content:"/";margin-right:6px;color:#6F82A6}
.crumb a{color:#DCE4F2;text-decoration:none}
.crumb a:hover{color:var(--orange-2);text-decoration:underline}
.phead-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:36px 56px;align-items:end}
.phead-grid.solo{grid-template-columns:minmax(0,1fr)}
.pcard{position:relative;background:#fff;color:var(--body);padding:26px 26px 24px;border-top:6px solid var(--orange);box-shadow:0 20px 40px rgba(2,30,70,.3)}
.pcard .k{margin:0 0 10px;font:700 .68rem/1.2 var(--fb);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pcard .v{margin:0;font:900 italic 2.9rem/1 var(--fd);color:var(--navy)}
.pcard .v .from{font-size:.85rem;color:var(--muted);margin-right:6px;vertical-align:middle;font-style:normal}
.pcard .v.t{font-size:1.5rem;line-height:1.15}
.pcard .n{margin:10px 0 18px;font-size:.9rem;color:var(--muted)}
.pcard .btn{width:100%}
.pcard dl{margin:0 0 18px}
.pcard dl div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line2);font-size:.92rem}
.pcard dt{color:var(--muted)}
.pcard dd{margin:0;font:800 italic .95rem/1.4 var(--fd);color:var(--navy);text-align:right}
.lift{margin-top:-48px;position:relative;z-index:2}

/* ---------- cards ---------- */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cards.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card .zip{margin:10px 0 0;font:800 italic .8rem/1.35 var(--fd);letter-spacing:.05em;color:var(--orange-ink)}
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-top:5px solid var(--navy);padding:24px 24px 22px;color:var(--body);text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}
a.card:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(10,37,82,.13);border-top-color:var(--orange);color:var(--body)}
.card .pr{align-self:flex-start;margin:0 0 16px 4px;padding:8px 13px;background:var(--orange);color:var(--navy-d);font:900 italic .95rem/1 var(--fd);transform:skewX(var(--lean))}
.card .pr span{display:inline-block;transform:skewX(12deg)}
.card h3{margin:0 0 8px;color:var(--ink)}
.card p{margin:0 0 6px;font-size:.96rem;color:var(--muted)}
.go{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:16px;font:800 italic .82rem/1 var(--fd);letter-spacing:.06em;text-transform:uppercase;color:var(--navy)}
.go::after{content:"\2192";font-style:normal;color:var(--orange-ink);transition:transform .2s}
a:hover .go::after{transform:translateX(4px)}

/* ---------- brand roster ---------- */
.roster{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}
.team{background:#fff;border:1px solid var(--line)}
.team h3{margin:0;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--navy);padding:14px 16px}
.team h3 a{color:#fff;text-decoration:none;font:900 italic 1.05rem/1.1 var(--fd);text-transform:uppercase;letter-spacing:.02em}
.team h3 a:hover{color:var(--orange-2)}
.cc{flex:none;padding:4px 8px;background:var(--orange);color:var(--navy-d);font:900 italic .72rem/1 var(--fd);letter-spacing:.06em;transform:skewX(var(--lean))}
.team ul{list-style:none;margin:0;padding:14px 16px 16px;display:flex;flex-wrap:wrap;gap:8px}
.team li a{display:inline-block;padding:7px 11px;border:1px solid var(--line);background:#fff;color:var(--navy);font:700 .9rem/1.1 var(--fb);text-decoration:none;transition:border-color .15s,background .15s}
.team li a:hover{border-color:var(--orange);background:#FFF5EE;color:var(--navy)}

/* ---------- price table ---------- */
.prices{width:100%;border-collapse:separate;border-spacing:0 10px;margin-top:-10px}
.prices thead th{padding:0 18px 4px;text-align:left;font:700 .68rem/1.2 var(--fb);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.prices thead th:last-child{text-align:right}
.prices tbody th,.prices tbody td{background:#fff;padding:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:middle}
.sec-soft .prices tbody th,.sec-soft .prices tbody td{border-color:#fff}
.prices tbody th{width:30%;text-align:left;border-left:6px solid var(--orange);font:800 italic 1.08rem/1.25 var(--fd)}
.prices tbody th a{color:var(--ink);text-decoration:none}
.prices tbody th a:hover{color:var(--orange-ink)}
.prices tbody td{color:var(--body);font-size:.96rem}
.prices tbody td.num{text-align:right;border-right:1px solid var(--line)}
.amt{font:900 italic 1.65rem/1 var(--fd);color:var(--navy);white-space:nowrap}
.from{margin-right:6px;font:700 .7rem/1 var(--fb);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.prices .note{display:block;margin-top:6px;font:500 .8rem/1.35 var(--fb);color:var(--muted)}
.prices tfoot td{padding:8px 4px 0;font-size:.93rem;color:var(--muted)}
.prices tfoot strong{color:var(--ink)}

/* ---------- steps ---------- */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;counter-reset:s}
.steps li{position:relative;padding-top:74px}
.steps li::before{counter-increment:s;content:"0" counter(s);position:absolute;left:0;top:0;font:900 italic 3.6rem/1 var(--fd);color:transparent;-webkit-text-stroke:2px var(--orange)}
.steps h3{margin-bottom:8px}
.steps p{margin:0;font-size:.97rem}

/* ---------- symptom list ---------- */
.idx{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.idx a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;height:100%;padding:20px 22px;background:#fff;border:1px solid var(--line);border-left:6px solid var(--navy);color:var(--body);text-decoration:none;transition:border-color .15s,transform .15s}
.idx a:hover{border-left-color:var(--orange);transform:translateX(3px);color:var(--body)}
.idx h3{margin:0 0 4px}
.idx p{margin:0;font-size:.94rem;color:var(--muted)}
.idx .arr{display:grid;place-items:center;width:38px;height:38px;background:var(--orange);color:var(--navy-d);font:900 1.1rem/1 var(--fb);transform:skewX(var(--lean))}

/* ---------- area tiles ---------- */
.areas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.areas a{display:flex;flex-direction:column;gap:6px;min-height:118px;padding:18px 18px 16px;background:#fff;border:1px solid var(--line);border-bottom:5px solid var(--navy);color:var(--body);text-decoration:none;transition:border-color .15s,transform .15s}
.areas a:hover{border-bottom-color:var(--orange);transform:translateY(-3px);color:var(--body)}
.areas b{font:900 italic 1.05rem/1.15 var(--fd);text-transform:uppercase;color:var(--navy)}
.areas span{font-size:.84rem;color:var(--muted)}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.chips a{display:inline-block;padding:10px 14px;border:1px solid var(--line);background:#fff;color:var(--navy);font:700 .92rem/1.1 var(--fb);text-decoration:none}
.chips a:hover{border-color:var(--orange);background:#FFF5EE}

/* ---------- split + panel ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.split.top{align-items:start}
.panel{background:var(--navy);color:#D6DFEE;padding:34px 34px 22px;border-left:8px solid var(--orange)}
.panel h3{color:#fff;margin-bottom:16px}
.panel a{color:#fff}
.ticks{list-style:none;margin:0 0 1em;padding:0}
.ticks li{position:relative;padding-left:30px;margin:0 0 12px}
.ticks li::before{content:"";position:absolute;left:0;top:.5em;width:16px;height:8px;background:
  linear-gradient(var(--orange),var(--orange)) 0 0/100% 2px no-repeat,
  linear-gradient(var(--orange),var(--orange)) 5px 6px/11px 2px no-repeat}
.panel .ticks li{color:#E3E9F4}
.checks{columns:2;column-gap:32px}
.checks li{break-inside:avoid}

/* ---------- faq ---------- */
.faqs{border-top:2px solid var(--navy)}
.faq{border-bottom:1px solid var(--line)}
.faq summary{position:relative;list-style:none;cursor:pointer;padding:20px 48px 20px 0;font:800 italic 1.08rem/1.35 var(--fd);color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:15px;display:grid;place-items:center;width:30px;height:30px;background:var(--orange);color:var(--navy-d);font:900 1.2rem/1 var(--fb);transform:skewX(var(--lean))}
.faq[open] summary::after{content:"\2212"}
.faq .a{max-width:72ch;padding:0 0 20px}
.faq .a p{margin:0}

/* ---------- long-form layout ---------- */
.doc{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:60px;align-items:start}
.prose{max-width:70ch}
.prose h2{margin-top:1.9em;font-size:clamp(1.45rem,1.15rem + 1vw,1.95rem)}
.prose>*:first-child{margin-top:0}
.prose h3{margin-top:1.5em}
.rail{position:sticky;top:20px;display:flex;flex-direction:column;gap:16px}
.box{background:#fff;border:1px solid var(--line);border-top:5px solid var(--navy);padding:20px 20px 16px}
.box .btn{width:100%;margin-top:10px}
.fh{margin:0 0 12px;font:800 italic .78rem/1.2 var(--fd);letter-spacing:.12em;text-transform:uppercase;color:var(--orange-ink)}
.box ul{list-style:none;margin:0;padding:0}
.box li{padding:8px 0;border-bottom:1px solid var(--line2);font-size:.94rem}
.box li:last-child{border-bottom:0}
.box li a{color:var(--navy);text-decoration:none;font-weight:600}
.box li a:hover{color:var(--orange-ink);text-decoration:underline}
.kv{margin:0}
.kv div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line2);font-size:.92rem}
.kv div:last-child{border-bottom:0}
.kv dt{color:var(--muted)}
.kv dd{margin:0;font:800 italic .92rem/1.4 var(--fd);color:var(--navy);text-align:right}
.tip{position:relative;margin:2em 0;padding:26px 26px 12px 30px;background:var(--soft);border-left:6px solid var(--orange)}
.tip h3{margin:0 0 12px}
.issues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:1.3em 0 1em}
.issue{background:#fff;border:1px solid var(--line);border-left:6px solid var(--orange);padding:22px 22px 16px}
.issue h3{margin:0 0 8px}
.issue p{margin:0 0 12px;font-size:.96rem}
.lk{display:flex;flex-wrap:wrap;gap:6px 16px;font:800 italic .78rem/1.4 var(--fd);letter-spacing:.04em;text-transform:uppercase}
.lk a{color:var(--navy);text-decoration:none;border-bottom:2px solid var(--orange)}
.lk a:hover{color:var(--orange-ink)}

/* ---------- forms ---------- */
.qf{display:grid;gap:16px}
.qf .row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.qf label{display:block;margin:0 0 6px;font:700 .88rem/1.3 var(--fb);color:var(--ink)}
.qf label small{font-weight:500;color:var(--muted)}
.qf input,.qf select,.qf textarea{width:100%;min-height:50px;padding:12px 14px;border:2px solid var(--line);border-radius:0;background:#fff;color:var(--ink);font:400 1rem/1.4 var(--fb);-webkit-appearance:none;appearance:none}
.qf select{background-image:linear-gradient(45deg,transparent 50%,var(--navy) 50%),linear-gradient(135deg,var(--navy) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
.qf input[type=file]{padding:10px;min-height:auto;background:var(--soft)}
.qf textarea{min-height:140px;resize:vertical}
.qf input:focus,.qf select:focus,.qf textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(242,96,4,.25)}
.qf .hp{display:none}
.qf .btn{justify-self:start;margin-left:6px}
.formnote{margin:0;font-size:.86rem;color:var(--muted)}
.aside{padding:16px 18px;background:var(--soft);border-left:6px solid var(--orange)}
.aside p{margin:0}

/* ---------- call-to-action band ---------- */
.band{background:var(--orange);color:var(--navy-d);padding:84px 0 62px;clip-path:polygon(0 30px,100% 0,100% 100%,0 100%);margin-top:-1px}
.band-in{display:grid;grid-template-columns:minmax(0,1.25fr) auto;gap:26px 48px;align-items:center}
.band h2{margin:0 0 8px;color:var(--navy-d)}
.band p{margin:0;max-width:44em;color:#2B1400}
.band .callline{color:#3A1E06}
.band .callline a{color:var(--navy-d)}
.band .cta-row{margin:0;justify-content:flex-end}

/* ---------- footer ---------- */
.ft{background:var(--navy-d);color:#B9C6DC;padding:66px 0 28px}
.ft-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr 1fr;gap:34px}
.ft-badge{display:inline-block;margin:0 0 20px;padding:12px 28px;background:#fff;clip-path:polygon(7% 0,100% 0,93% 100%,0 100%)}
.ft-badge img{width:150px}
.ft p{font-size:.92rem}
.ft .fh{color:var(--orange-2)}
.ft ul{list-style:none;margin:0;padding:0}
.ft li{margin:0 0 9px}
.ft a{color:#E6ECF6;font-size:.92rem;text-decoration:none}
.ft a:hover{color:var(--orange-2);text-decoration:underline}
.ft .ft-call{display:inline-block;margin:2px 0 6px;font:900 italic 1.45rem/1.1 var(--fd);color:#fff}
.ft-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;margin-top:46px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:.82rem;color:#8EA0BF}

/* ---------- mobile dock ---------- */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:var(--navy-d);box-shadow:0 -8px 24px rgba(2,30,70,.25)}
.dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:52px;color:#fff;font:800 italic .72rem/1 var(--fd);letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.dock a.hot{background:var(--orange);color:var(--navy-d)}
.dock svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* ---------- 404 ---------- */
.nf .code{margin:0 0 12px;font:900 italic 1rem/1 var(--fd);letter-spacing:.12em;text-transform:uppercase;color:var(--orange-2)}

/* ---------- responsive ---------- */
@media (max-width:1140px){
  .nav a{padding:15px 10px 14px;font-size:.76rem}
  .ft-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}
  .ft-grid>div:last-child{grid-column:2 / span 3}
  .roster,.cards.c4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:979px){
  body{padding-bottom:78px}
  .topbar{display:none}
  .hd-row{min-height:74px}
  .brand img{width:84px}
  .wm b{font-size:1.5rem}
  .wm i{font-size:.6rem}
  .hd-call,.hd-cta,.nav{display:none}
  .mnav{display:block}
  .dock{display:grid}
  .hero-grid,.split,.doc,.phead-grid,.band-in,.sec-head{grid-template-columns:minmax(0,1fr)}
  .hero{padding-bottom:110px}
  .phead-grid{align-items:start}
  .pcard{max-width:440px}
  .rail{position:static}
  .band .cta-row{justify-content:flex-start}
  .cards,.areas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:minmax(0,1fr);gap:26px}
  .score{grid-template-columns:repeat(2,minmax(0,1fr))}
  .score>div:nth-child(3){border-left:0}
  .score>div:nth-child(n+3){border-top:1px solid var(--line)}
  .ft-grid{grid-template-columns:1fr 1fr}
  .ft-grid>div:first-child{grid-column:1 / -1}
  .ft-grid>div:last-child{grid-column:auto}
}
@media (max-width:700px){
  body{font-size:16.5px}
  .wrap{padding:0 16px}
  .sec{padding:60px 0}
  .hero{padding:38px 0 104px;clip-path:polygon(0 0,100% 0,100% calc(100% - 44px),0 100%)}
  .hero.speed{--sl-b:80px}
  .phead.speed{--sl-b:48px}
  .phead{padding-bottom:84px;clip-path:polygon(0 0,100% 0,100% calc(100% - 32px),0 100%)}
  .score{margin-top:-62px}
  .score>div{padding:16px 14px}
  .score dd{font-size:1.45rem}
  .cards,.cards.c2,.cards.c4,.issues,.idx,.roster{grid-template-columns:minmax(0,1fr)}
  .areas{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .areas a{min-height:104px;padding:14px 14px 12px}
  .areas b{font-size:.95rem}
  .checks{columns:1}
  .qf .row2{grid-template-columns:minmax(0,1fr)}
  .qf .btn{justify-self:stretch;margin-left:6px;margin-right:6px}
  .prices thead{display:none}
  .prices,.prices tbody,.prices tfoot,.prices tr{display:block;width:100%}
  .prices{border-spacing:0;margin-top:0}
  .prices tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;margin:0 0 10px;padding:14px 14px 14px 16px;background:#fff;border:1px solid var(--line);border-left:6px solid var(--orange)}
  .sec-soft .prices tbody tr{border-color:#fff;border-left-color:var(--orange)}
  .prices tbody th,.prices tbody td{display:block;width:auto;padding:0;border:0!important;background:transparent}
  .prices tbody td.inc{grid-column:1 / -1;grid-row:2;font-size:.9rem;color:var(--muted)}
  .prices tbody td.num{grid-column:2;grid-row:1;white-space:normal;text-align:right}
  .prices .amt{font-size:1.35rem;white-space:nowrap}
  .prices .note{max-width:140px;margin-left:auto}
  .prices tfoot td{display:block}
  .cta-row .btn{flex:1 1 auto}
  .panel{padding:26px 22px 12px}
  .tip{padding:22px 18px 8px 22px}
  .band{padding:70px 0 50px;clip-path:polygon(0 20px,100% 0,100% 100%,0 100%)}
  .ft-grid{gap:28px 20px}
  .crumb ol{margin-bottom:22px}
  .van figcaption{position:relative;left:auto;bottom:auto;display:inline-block;margin:-10px 0 0 10px}
}
@media (max-width:380px){
  .brand img{width:70px}
  .wm b{font-size:1.28rem}
  .wm i{font-size:.54rem;gap:4px}
  .brand{gap:8px}
  .mnav summary{padding:0 11px}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto!important}
}
@media print{
  .topbar,.hd,.dock,.band,.ft,.rail{display:none}
  .hero,.phead{clip-path:none}
}
