:root{
  --bg:#ffffff;--surface:#f2f4f6;--ink:#16202b;--muted:#4a5866;--line:#d5dbe1;
  --hivis:#ffd400;--hivis-ink:#16202b;--steel:#1f3346;
  --link:#0b5cad;--ok:#1e7a3c;--ok-bg:#e5f4ea;--amber:#9a5b00;--amber-bg:#fff3d6;--red:#b3261e;--red-bg:#fbe6e4;--grey-bg:#eef1f4;
  --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --body:"Barlow",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color-scheme:light;box-sizing:border-box;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0f161d;--surface:#18222c;--ink:#eef2f5;--muted:#a9b6c2;--line:#2c3a47;
  --steel:#1a2c3d;--link:#7cb8f5;--ok:#6fd38f;--ok-bg:#16301f;--amber:#f2b84b;--amber-bg:#33270e;--red:#f28b82;--red-bg:#3a1a18;--grey-bg:#18222c;color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0f161d;--surface:#18222c;--ink:#eef2f5;--muted:#a9b6c2;--line:#2c3a47;
  --steel:#1a2c3d;--link:#7cb8f5;--ok:#6fd38f;--ok-bg:#16301f;--amber:#f2b84b;--amber-bg:#33270e;--red:#f28b82;--red-bg:#3a1a18;--grey-bg:#18222c;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.5}
.wrap{max-width:1080px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
a{color:var(--link)}
h1,h2,h3{font-family:var(--display);text-wrap:balance;line-height:1.05;margin:0}
h1{font-size:clamp(2.2rem,8vw,3.6rem);font-weight:800;text-transform:uppercase;color:#fff}
h2{font-size:clamp(1.9rem,6vw,2.6rem);font-weight:800;text-transform:uppercase}
h3{font-size:1.5rem;font-weight:700}
p{margin:0}
:focus-visible{outline:3px solid var(--link);outline-offset:3px}
.btn{text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:52px;padding:0 1.3em;border-radius:6px;border:2px solid transparent;font:700 1.15rem/1 var(--display);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;text-decoration:none}
.btn-hivis{background:var(--hivis);color:var(--hivis-ink);border-color:var(--hivis)}
.btn-hivis:hover{filter:brightness(.95)}
.btn-ghost{background:transparent;color:inherit;border-color:currentColor}

header.top{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:8px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.logo img{width:52px;height:52px;object-fit:contain}
.logo-text{font:800 1.2rem/1 var(--display);text-transform:uppercase;letter-spacing:.02em}
.logo-text small{display:block;font:600 .8rem var(--body);text-transform:none;color:var(--muted);letter-spacing:0;margin-top:2px}
header.top .btn{min-height:46px;font-size:1rem;padding:0 1em}

.tool-hero{background:var(--steel);color:#fff}
.tool-hero-inner{padding-block:28px 32px;display:grid;gap:14px}
.tool-hero p.lead{color:#d9e2ea;font-size:1.1rem;max-width:36ch}
.tool-hero-points{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.95rem;color:#d9e2ea;list-style:none;padding:0;margin:0}
.tool-hero-points li::before{content:"";display:inline-block;width:9px;height:9px;background:var(--hivis);border-radius:2px;margin-right:7px}
.tool-hero-copy{display:grid;gap:14px;align-content:center;justify-items:start;text-align:left}
.tool-hero-card{display:none}
@media(min-width:880px){
  .tool-hero-inner{grid-template-columns:minmax(0,1fr) 340px;column-gap:36px;align-items:center}
  .tool-hero-copy{grid-column:1;grid-row:1}
  .tool-hero-card{display:block;grid-column:2;grid-row:1 / 3;align-self:center;width:100%;height:auto;border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.3)}
  .tool-hero-inner .tool,.tool-hero-inner .tool-note{grid-column:1}
}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px 20px;align-items:flex-start}
.hero-action{display:grid;gap:6px;justify-items:center}
.apply-checklist{margin:0;padding-left:1.2em;display:grid;gap:8px;color:#fff;font-size:1.02rem}
.hero-action p{margin:0;color:#d9e2ea;font-size:.92rem;width:0;white-space:nowrap;display:flex;justify-content:center;text-align:center}
.tool-start{display:flex;align-items:center;gap:8px;font:800 1.05rem/1 var(--display);text-transform:uppercase;letter-spacing:.04em;color:var(--hivis)}
.tool-start::after{content:"↓";font-size:1.3rem;line-height:1;animation:tool-start-bounce 1.6s ease-in-out infinite}
@keyframes tool-start-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
@media (prefers-reduced-motion:reduce){.tool-start::after{animation:none}}
.tool{background:var(--bg);color:var(--ink);border-radius:10px;padding:18px;max-width:720px;width:100%;box-shadow:0 0 0 3px var(--hivis)}
.tool-note{color:#d9e2ea;font-size:.88rem}
.tool-hero .tool-note a,.tool-hero a:not(.btn){color:#ffd400;font-weight:700;font-size:1rem;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}
.tool-hero .tool-note a:hover,.tool-hero a:not(.btn):hover{color:#fff}
.tool-hero a:focus-visible{outline:3px solid #ffd400;outline-offset:3px}

.q-progress{display:flex;gap:6px;margin-bottom:14px}
.q-progress span{flex:1;height:6px;border-radius:3px;background:var(--line)}
.q-progress span.on{background:var(--hivis)}
.q-step{font:700 .9rem var(--body);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.q-question{font:700 1.6rem/1.15 var(--display);margin:6px 0 14px}
.q-opts{display:grid;gap:10px}
.q-opts.states{grid-template-columns:repeat(4,1fr);gap:6px}
.q-opts.states .q-opt{min-height:44px;padding:8px 4px;font:700 .85rem var(--body);letter-spacing:0;min-width:0;overflow:hidden}
@media(min-width:620px){.q-opts.states{gap:8px}.q-opts.states .q-opt{font:700 1rem var(--body)}}
.q-opt{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:56px;padding:10px 14px;border:2px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);font:600 1.05rem var(--body);cursor:pointer}
.q-opt:hover{border-color:var(--ink)}
.q-opt small{display:block;color:var(--muted);font-size:.85rem;font-weight:400}
.q-back{margin-top:12px;background:none;border:0;color:var(--link);font:600 1rem var(--body);cursor:pointer;padding:6px 0}
.result{border-radius:6px;padding:16px;display:grid;gap:10px}
.result.green{background:var(--ok-bg)} .result.amber{background:var(--amber-bg)} .result.red{background:var(--red-bg)} .result.grey{background:var(--grey-bg)}
.badge{display:inline-flex;align-items:center;gap:8px;font:700 .95rem var(--body);text-transform:uppercase;letter-spacing:.06em}
.badge::before{content:"";width:12px;height:12px;border-radius:50%;background:currentColor}
.green .badge{color:var(--ok)} .amber .badge{color:var(--amber)} .red .badge{color:var(--red)} .grey .badge{color:var(--muted)}
.result h3{font-size:1.7rem}
.result ul{margin:0;padding-left:1.2em}
.result .rules{font-size:.98rem;border-top:1px solid var(--line);padding-top:10px}
.result .rules strong{font-family:var(--display);text-transform:uppercase;letter-spacing:.03em}
.result .actions{display:flex;flex-wrap:wrap;gap:10px}
.fine{font-size:.88rem;color:var(--muted)}

.trust-strip{background:var(--surface);padding-block:20px;border-bottom:1px solid var(--line)}
.trust-strip-inner{display:grid;gap:12px}
@media(min-width:760px){.trust-strip-inner{grid-template-columns:repeat(2,1fr);gap:14px 24px}}
.trust-strip-inner p{display:flex;align-items:center;gap:10px;height:100%;padding:12px 14px;background:var(--bg);border:1px solid var(--line);border-radius:6px}
.trust-strip-inner .tick{flex:0 0 22px;width:22px;height:22px;color:var(--steel);overflow:visible}
.trust-strip-inner .tick circle{fill:currentColor}
.trust-strip-inner .tick path{fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .trust-strip-inner .tick{color:var(--hivis)}:root:not([data-theme="light"]) .trust-strip-inner .tick path{stroke:#16202b}}
:root[data-theme="dark"] .trust-strip-inner .tick{color:var(--hivis)}:root[data-theme="dark"] .trust-strip-inner .tick path{stroke:#16202b}
.trust-strip-inner strong{font:700 1.05rem var(--body);color:var(--ink)}

section{padding-block:46px}
section.alt{background:var(--surface)}
.section-head{display:grid;gap:8px;margin-bottom:22px;max-width:62ch}
.section-head p{color:var(--muted)}
.services{display:grid;gap:14px}
@media(min-width:760px){.services{grid-template-columns:repeat(3,1fr)}}
.svc{display:flex;flex-direction:column;gap:8px;background:var(--bg);border:1px solid var(--line);border-top:6px solid var(--hivis);border-radius:6px;padding:20px}
.svc p{color:var(--muted)}
.svc .who{font-weight:600;color:var(--ink);font-size:1rem}
.svc .go{margin-top:auto;font-weight:700;text-decoration:none}
.steps{list-style:none;padding:0;margin:0;display:grid;gap:12px}
@media(min-width:760px){.steps{grid-template-columns:repeat(4,1fr)}}
.steps li{display:flex;flex-direction:column;gap:6px;padding:16px;border-left:4px solid var(--hivis);background:var(--bg)}
.steps li::before{content:attr(data-n);font:800 2rem/1 var(--display);color:var(--muted)}
.steps li strong{font-family:var(--display);font-size:1.3rem;font-weight:700}
.steps li span{color:var(--muted);font-size:.98rem}
details{border-bottom:1px solid var(--line);padding:12px 0}
summary{cursor:pointer;font:700 1.3rem var(--display);list-style:none;display:flex;justify-content:space-between;gap:12px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:1.5rem;line-height:1}
details[open] summary::after{content:"\2013"}
details p{margin-top:8px;color:var(--muted);max-width:65ch}
.callcard{background:#1f3346;color:#ffffff;border-radius:8px;padding:20px;display:grid;gap:16px;grid-template-columns:1fr;align-items:center}
.callcard .callcard-text{display:grid;gap:10px;min-width:0}
.callcard h3,.callcard p{color:#ffffff;margin:0}
.callcard .num{font:800 2rem var(--display);letter-spacing:.02em}
.callcard .num a{color:#ffffff}
.callcard .btn-hivis{background:#ffd400;color:#16202b;border-color:#ffd400;justify-self:start}
.callcard img{display:block;width:100%;max-width:240px;height:auto;border-radius:8px}
@media(min-width:760px){.callcard{grid-template-columns:240px 1fr;gap:32px;padding:28px}}
.bio-block{display:grid;grid-template-columns:280px 1fr;gap:2.5rem;align-items:start}
.bio-block__photo img{width:100%;border-radius:10px;display:block}
.bio-label{font:700 .8rem var(--body);letter-spacing:.1em;text-transform:uppercase;color:#d4891a;margin:0 0 6px}
.bio-heading{font-family:var(--display);font-weight:800;font-size:clamp(1.7rem,4vw,2.2rem);text-transform:none;color:var(--steel);line-height:1.1;margin:0 0 14px}
.bio-block p{color:var(--muted);margin:0 0 14px;max-width:62ch}
.bio-sig img{display:block;height:auto;max-width:150px;margin-bottom:10px}
.bio-name{font-weight:700;color:var(--ink)}
.bio-name span{display:block;font-weight:400;color:var(--muted)}
.bio-contact{margin-top:20px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.bio-contact .num{font:800 1.4rem var(--display);letter-spacing:.02em;color:var(--steel)}
.bio-contact .num a{color:inherit}
@media(max-width:680px){.bio-block{grid-template-columns:1fr}.bio-block__photo{max-width:260px}}
.reviews{display:grid;gap:14px}
@media(min-width:760px){.reviews{grid-template-columns:1fr 1fr}}
.review{margin:0;background:var(--bg);border:1px solid var(--line);border-top:6px solid var(--hivis);border-radius:6px;padding:20px;display:grid;gap:10px}
.review blockquote{margin:0;font:400 1.1rem/1.45 var(--body)}
.review blockquote::before{content:"\201C"}
.review blockquote::after{content:"\201D"}
.review figcaption{color:var(--muted);font-weight:600}
footer{background:var(--steel);color:#d9e2ea;font-size:.95rem}
footer .wrap{padding-block:28px;display:grid;gap:10px}
footer a{color:#fff}
footer strong{color:#fff}
