:root {
  --ink:#101311;
  --paper:#fffdf7;
  --cream:#eef0ec;
  --amber:#ffb000;
  --amber-light:#ffc94f;
  --green:#0d665d;
  --green-deep:#084b45;
  --green-pale:#e8f5f0;
  --line:#c9d0ca;
  --muted:#59645e;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
button,input { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
a { color:inherit; }

.preview-ribbon { background:#fff1bd; color:#3c3000; text-align:center; padding:8px 18px; font-size:11px; font-weight:800; letter-spacing:.035em; }
.brand-bar { min-height:66px; padding:13px max(18px,4vw); display:flex; align-items:center; justify-content:space-between; background:var(--ink); color:#fff; border-bottom:1px solid #343934; }
.brand-link { text-decoration:none; }
.wordmark-lockup { display:inline-flex; align-items:center; gap:10px; }
.wordmark-mark { width:34px; height:34px; border-radius:2px; background:var(--amber); display:grid; place-content:center; gap:2px; }
.wordmark-mark i { display:block; width:17px; height:5px; border:2.5px solid var(--ink); border-top:0; border-right:0; transform:rotate(-45deg); }
.wordmark-type { font-size:14px; letter-spacing:.065em; line-height:1.02; }
.wordmark-type b { display:block; font-weight:900; }
.header-operator { text-align:right; display:grid; gap:2px; }
.header-operator b { color:#fff; font-size:12px; }
.header-operator span { color:#aeb6af; font-size:9px; text-transform:uppercase; letter-spacing:.06em; }

.hero-section { min-height:670px; padding:46px 5vw 58px; display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,460px); align-items:center; justify-content:center; gap:6vw; background:var(--ink); color:#fff; }
.hero-copy { max-width:630px; justify-self:end; }
.eyebrow,.micro-label { margin:0 0 13px; color:var(--amber); text-transform:uppercase; letter-spacing:.11em; font-size:11px; line-height:1.4; font-weight:900; }
h1,h2 { margin:0; font-weight:900; letter-spacing:-.045em; }
h1 { max-width:620px; margin-bottom:16px; font-size:clamp(48px,5.2vw,74px); line-height:.96; }
.lede { margin:0 0 20px; color:#d7ddd8; font-size:19px; line-height:1.4; }
.trust-strip { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:18px; }
.trust-strip span { border:1px solid #525a53; padding:8px 10px; font-size:11px; font-weight:800; }
.trust-strip b { margin-right:4px; color:var(--amber); }
.firm-trust { width:max-content; max-width:100%; display:flex; align-items:center; gap:10px; padding:10px 12px; background:#1c211d; border-left:3px solid var(--amber); }
.firm-monogram { flex:0 0 auto; width:38px; height:38px; display:grid; place-content:center; background:var(--amber); color:var(--ink); font-size:13px; font-weight:900; letter-spacing:-.05em; }
.firm-monogram.small { width:34px; height:34px; }
.firm-trust p { display:grid; gap:3px; margin:0; }
.firm-trust b { font-size:13px; }
.firm-trust small { color:#b9c1ba; font-size:10px; }
.hero-reassurance { margin:16px 0 0; max-width:500px; color:#c4cbc5; font-size:11px; line-height:1.45; }
.ad-disclosure { margin:10px 0 0; color:#fff; font-size:10px; font-weight:700; }

.experience-card { width:100%; min-height:470px; padding:27px; background:var(--paper); color:var(--ink); border:1px solid #d8ddd8; border-top:5px solid var(--amber); border-radius:2px; }
.experience-card.screen-contact { min-height:600px; }
.quiz-topline { display:flex; align-items:center; justify-content:space-between; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.07em; font-weight:850; }
.quiz-topline b { color:var(--green-deep); }
.progress { height:7px; margin:9px 0 24px; background:#dde2dd; overflow:hidden; }
.progress span { display:block; height:100%; background:var(--green); transition:width .2s ease; }
.experience-card h2 { margin-bottom:22px; font-size:34px; line-height:1.05; }
.answer-grid { display:grid; gap:10px; }
.answer-grid button { min-height:64px; padding:14px 16px; display:flex; align-items:center; justify-content:space-between; border:1px solid #aeb8b0; border-radius:2px; background:#fff; color:var(--ink); text-align:left; font-size:16px; font-weight:850; }
.answer-grid button span:last-child { color:var(--green); font-size:21px; }
.answer-grid button:hover,.answer-grid button:focus-visible { border-color:var(--green); background:var(--green-pale); outline:3px solid rgba(13,102,93,.2); }
.back-button { border:0; background:transparent; color:var(--green); padding:12px 0 0; font-size:11px; font-weight:850; }
.card-reassurance { margin:22px 0 0; padding-top:16px; border-top:1px solid #dfe5df; color:#60706a; font-size:11px; line-height:1.5; }
.card-reassurance b { color:var(--green-deep); }

.contact-intro { margin:-12px 0 13px; color:#48524d; font-size:12px; }
.responsible-box { display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:9px; margin-bottom:13px; padding:10px; border:1px solid #bfd9d0; background:var(--green-pale); }
.responsible-box span:nth-child(2) { display:grid; gap:2px; }
.responsible-box b { color:var(--green-deep); font-size:12px; }
.responsible-box small { color:#53645d; font-size:9px; }
.responsible-box strong { color:var(--green-deep); font-size:9px; text-align:right; }
.contact-panel form,.screen-contact form { display:grid; gap:9px; }
.screen-contact form > label:not(.consent-row):not(.honeypot) { display:grid; gap:4px; font-size:10px; font-weight:850; }
.screen-contact label span em { margin-left:4px; color:var(--muted); font-size:9px; font-style:normal; font-weight:600; }
.screen-contact input:not([type="checkbox"]) { width:100%; min-height:47px; padding:10px 11px; border:1px solid #aebdb5; border-radius:2px; background:#fff; color:var(--ink); font-size:15px; }
.screen-contact input:focus { border-color:var(--green); outline:3px solid rgba(13,102,93,.18); }
.operator-disclosure { margin:2px 0 0; padding:9px 10px; border-left:3px solid var(--amber); background:#fff7dd; color:#493d1c; font-size:10px; line-height:1.35; }
.consent-row { display:grid; grid-template-columns:20px 1fr; align-items:start; gap:8px; color:#45534d; font-size:9px; line-height:1.4; }
.consent-row input { width:18px; height:18px; margin:1px 0 0; accent-color:var(--green); }
.relationship-note,.preview-note,.response-note { margin:0; color:#63706a; font-size:9px; line-height:1.35; }
.relationship-note a { color:var(--green); font-weight:800; }
.response-note { text-align:center; color:var(--green-deep); font-weight:850; }
.preview-note { text-align:center; color:#755b24; }
.primary-cta { min-height:55px; border:0; border-radius:2px; padding:14px 18px; background:var(--amber); color:#090b09; font-size:13px; font-weight:900; letter-spacing:.035em; }
.primary-cta:hover { background:var(--amber-light); }
.primary-cta:focus-visible,.back-button:focus-visible { outline:3px solid rgba(255,176,0,.35); outline-offset:3px; }
.primary-cta:disabled { opacity:.65; cursor:wait; }
.full { width:100%; }
.honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.form-error { margin:0; padding:8px 10px; background:#fff0ec; color:#8d2d16; font-size:10px; font-weight:750; }

.plain-trust { max-width:1040px; margin:35px auto 52px; padding:0 20px; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#bfc6c0; border:1px solid #bfc6c0; }
.plain-trust > div { min-height:108px; padding:21px; display:flex; align-items:center; gap:13px; background:var(--paper); }
.plain-trust > div > b { width:35px; height:35px; display:grid; place-content:center; background:var(--green); color:#fff; }
.plain-trust span { display:grid; gap:4px; }
.plain-trust strong { font-size:13px; }
.plain-trust small { color:var(--muted); font-size:11px; line-height:1.35; }

footer { padding:38px max(22px,6vw) 28px; background:#0e2928; color:#fff; }
.footer-top { display:flex; justify-content:space-between; align-items:center; padding-bottom:20px; border-bottom:1px solid rgba(255,255,255,.17); }
.footer-top p { margin:0; color:#bfd0cc; font-size:11px; }
.footer-links { padding:20px 0; display:flex; justify-content:space-between; gap:24px; color:#cbd9d6; font-size:10px; line-height:1.5; }
.footer-links span:last-child { display:flex; gap:15px; }
.footer-links a { color:#fff; font-weight:750; }
.footer-legal { max-width:900px; margin:0; color:#93aaa5; font-size:9px; line-height:1.5; }

.legal-page,.thanks-page { min-height:100vh; background:var(--cream); }
.legal-shell { max-width:800px; margin:0 auto; padding:50px 24px 100px; }
.legal-shell .back-link,.thanks-card .back-link { display:inline-block; margin:30px 0; color:var(--green); font-weight:800; font-size:13px; }
.legal-shell h1 { font-size:52px; line-height:1; }
.legal-shell h2 { margin-top:35px; font-size:28px; }
.legal-shell p,.legal-shell li { color:#3f4944; line-height:1.65; font-size:15px; }
.thanks-card { max-width:600px; margin:70px auto; padding:48px; background:var(--paper); border:1px solid var(--line); border-top:5px solid var(--amber); text-align:center; }
.thanks-check { width:58px; height:58px; margin:0 auto 20px; display:grid; place-content:center; background:var(--green-pale); color:var(--green); font-size:28px; font-weight:900; }
.thanks-card h1 { font-size:49px; line-height:1; }
.thanks-card p { color:#3f4944; line-height:1.55; }
.thanks-card .preview-note { padding:12px; background:#fff4e8; color:#6f4d35; }
.callback-clock { width:max-content; margin:20px auto; padding:11px 18px; border:2px solid var(--green); color:var(--green-deep); font-size:30px; font-weight:900; font-variant-numeric:tabular-nums; letter-spacing:.08em; }

@media (max-width:760px) {
  .preview-ribbon { padding:7px 10px; font-size:9px; }
  .brand-bar { min-height:58px; padding:10px 14px; }
  .wordmark-mark { width:31px; height:31px; }
  .wordmark-type { font-size:11px; }
  .header-operator b { font-size:10px; }
  .header-operator span { font-size:8px; }
  .hero-section { min-height:0; padding:25px 14px 42px; display:block; }
  .hero-copy { max-width:none; }
  .eyebrow { margin-bottom:9px; font-size:9px; }
  h1 { margin-bottom:10px; font-size:39px; line-height:.98; }
  .lede { margin-bottom:13px; font-size:14px; }
  .trust-strip { margin-bottom:12px; gap:5px; }
  .trust-strip span { padding:6px 7px; font-size:9px; }
  .firm-trust { padding:8px 10px; }
  .firm-monogram { width:32px; height:32px; }
  .firm-trust b { font-size:11px; }
  .firm-trust small { font-size:9px; }
  .hero-reassurance { margin-top:10px; font-size:9px; }
  .ad-disclosure { margin-top:7px; font-size:9px; }
  .experience-card { min-height:424px; margin-top:17px; padding:21px 17px; }
  .experience-card.screen-contact { min-height:588px; }
  .progress { margin-bottom:19px; }
  .experience-card h2 { font-size:30px; }
  .answer-grid button { min-height:59px; font-size:15px; }
  .responsible-box { grid-template-columns:34px 1fr; }
  .responsible-box strong { grid-column:1 / -1; text-align:left; }
  .plain-trust { margin:22px auto 36px; grid-template-columns:1fr; }
  .plain-trust > div { min-height:82px; padding:16px; }
  .footer-top,.footer-links { align-items:flex-start; flex-direction:column; }
  .footer-links span:last-child { flex-wrap:wrap; }
  .legal-shell h1,.thanks-card h1 { font-size:40px; }
  .thanks-card { margin:38px 14px; padding:34px 19px; }
}

@media (max-width:360px) {
  h1 { font-size:35px; }
  .header-operator span { display:none; }
  .experience-card { padding-left:14px; padding-right:14px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  * { transition:none!important; }
}
