:root {
  --brun-primary:#1e525f; --brun-hover:#163f49; --brun-ink:#172e34; --brun-muted:#52666b;
  --brun-bg:#f3f7f7; --brun-white:#fff; --brun-soft:#e6eeeb; --brun-border:#d5e0e0;
  --brun-danger:#a52d30; --brun-danger-bg:#fff4f2; --brun-scroll:#8aabaf;
  --font-body:'Rubik',Arial,sans-serif; --font-display:'Montserrat',Arial,sans-serif;
  --radius:10px; --transition:150ms ease;
  color-scheme:light; scrollbar-color:var(--brun-scroll) var(--brun-bg); scrollbar-width:thin;
}
* { box-sizing:border-box; scrollbar-color:var(--brun-scroll) var(--brun-bg); scrollbar-width:thin; }
::-webkit-scrollbar { width:10px; height:10px; }
::-webkit-scrollbar-track { background:var(--brun-bg); }
::-webkit-scrollbar-thumb { background:var(--brun-scroll); border:2px solid var(--brun-bg); border-radius:6px; }
::-webkit-scrollbar-thumb:hover { background:var(--brun-primary); }
::-webkit-scrollbar-thumb:active { background:var(--brun-hover); }
[hidden] { display:none !important; }
body { margin:0; color:var(--brun-ink); background:var(--brun-bg); font-family:var(--font-body); font-size:16px; line-height:1.55; }
button,input { font:inherit; }
button,a,label.choice { -webkit-tap-highlight-color:transparent; }
button,a { touch-action:manipulation; }
button:enabled,a { cursor:pointer; }
a { color:var(--brun-primary); text-underline-offset:3px; }
a:hover { color:var(--brun-hover); }
a:active { transform:translateY(1px); }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:3px solid var(--brun-primary); outline-offset:5px; }
button:disabled { cursor:not-allowed; opacity:.5; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { font-family:var(--font-display); }
.icon-library { position:absolute; width:0; height:0; overflow:hidden; }
.icon { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.site-shell { width:min(1180px,calc(100% - 80px)); min-height:100svh; margin:auto; display:flex; flex-direction:column; }
.site-header { display:flex; align-items:center; justify-content:space-between; padding:26px 0 25px; border-bottom:1px solid var(--brun-border); gap:16px; }
.brand { display:flex; align-items:center; gap:18px; }
.brand img { width:102px; height:57px; object-fit:contain; }
.brand>span { color:var(--brun-muted); font-size:12px; line-height:1.55; border-left:1px solid var(--brun-border); padding-left:18px; }
.brand strong { color:var(--brun-primary); font-weight:500; }
.location { display:flex; align-items:center; gap:7px; font-size:13px; color:var(--brun-muted); }
.location .icon { width:17px; height:17px; }
main { flex:1; display:flex; align-items:center; padding:54px 0; }
.welcome { width:100%; display:grid; grid-template-columns:1.2fr 1fr; gap:70px; align-items:center; }
.eyebrow { display:flex; align-items:center; gap:10px; color:var(--brun-primary); font-size:11px; font-weight:500; letter-spacing:1.5px; text-transform:uppercase; }
.eyebrow-rule { display:block; width:24px; height:2px; background:var(--brun-primary); }
.welcome h1 { font-size:clamp(34px,3.8vw,51px); line-height:1.14; font-weight:700; letter-spacing:-1.7px; margin:23px 0; }
.welcome h1 span { color:var(--brun-primary); }
.hero-description { font-size:16px; max-width:470px; color:var(--brun-muted); line-height:1.7; }
.welcome-proof { display:flex; align-items:center; gap:9px; font-size:12px; margin:21px 0 0; }
.welcome-proof .icon { width:17px; height:17px; color:var(--brun-primary); }
.welcome-proof>span { color:var(--brun-muted); }
.craft-proof { display:flex; gap:21px; margin-top:34px; align-items:center; }
.craft-proof img { width:128px; height:110px; object-fit:cover; object-position:49% 50%; border-radius:2px 18px 2px 2px; }
.craft-proof figcaption { display:grid; gap:5px; }
.craft-proof figcaption>span { font-size:11px; color:var(--brun-muted); }
.craft-proof strong { font-family:var(--font-display); font-size:15px; line-height:1.5; font-weight:600; }
.craft-proof small { font-size:10px; color:var(--brun-muted); }
.welcome-actions { position:relative; }
.action-panel { position:relative; isolation:isolate; background:var(--brun-white); padding:36px; border:1px solid var(--brun-border); border-radius:3px 30px 3px 3px; box-shadow:0 14px 40px #1e525f09; }
.welcome-actions::before { content:''; position:absolute; z-index:-1; inset:-13px 12px 65px -13px; border:1px solid #abc6c9; border-radius:3px 30px 3px 3px; }
.panel-label { display:block; font-size:11px; color:var(--brun-primary); margin-bottom:10px; }
.action-panel h2 { font-size:29px; line-height:1.25; letter-spacing:-.8px; font-weight:600; }
.panel-intro { color:var(--brun-muted); font-size:14px; margin:14px 0 24px; max-width:300px; }
.button { border:0; display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:54px; padding:14px 20px; border-radius:var(--radius); text-decoration:none; font-weight:500; font-size:15px; transition:background var(--transition),box-shadow var(--transition),transform var(--transition); }
.button-primary { background:var(--brun-primary); color:var(--brun-white); }
.button-primary:hover:enabled { background:var(--brun-hover); box-shadow:0 5px 14px #1e525f24; }
.button-primary:active:enabled { transform:translateY(1px); box-shadow:none; }
.action-panel>.button { width:100%; justify-content:space-between; }
.button .icon { width:20px; height:20px; }
.cta-note { text-align:center; margin-top:9px; font-size:10px; color:var(--brun-muted); }
.or-divider { display:flex; align-items:center; gap:10px; margin:21px 0; font-size:11px; color:var(--brun-muted); }
.or-divider::before,.or-divider::after { content:''; height:1px; flex:1; background:var(--brun-border); }
.call-action { display:flex; gap:13px; align-items:center; min-height:82px; padding:15px 17px; border-radius:var(--radius); border:1px solid #a5bdc1; background:#f7fafa; color:var(--brun-primary); text-decoration:none; transition:background var(--transition),border-color var(--transition); }
.call-action:hover { background:var(--brun-soft); border-color:var(--brun-primary); }
.call-icon { width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:var(--brun-soft); }
.call-icon .icon { width:20px; height:20px; }
.call-label { display:block; font-size:11px; margin-bottom:1px; }
.call-action strong { display:block; font-size:21px; font-weight:500; letter-spacing:.1px; line-height:1.4; white-space:nowrap; }
.call-arrow { width:17px; margin-left:auto; }
.hours { font-size:10px; color:var(--brun-muted); text-align:center; margin-top:11px; }
.timing { font-size:10px; line-height:1.7; text-align:center; color:var(--brun-muted); margin-top:21px; }
.site-footer { border-top:1px solid var(--brun-border); display:flex; justify-content:space-between; align-items:center; padding:21px 0; gap:14px; font-size:10px; color:var(--brun-muted); }
.site-footer nav { display:flex; gap:24px; }
.site-footer a { text-decoration:none; }
.site-footer a:hover { text-decoration:underline; }
.preview-notice { color:var(--brun-primary); background:var(--brun-soft); font-size:10px; text-align:center; padding:5px 12px; }
.noscript { padding:20px; text-align:center; }
.conversation { width:100%; display:grid; grid-template-columns:.75fr 1.25fr; gap:80px; align-items:start; }
.conversation-aside { padding-top:30px; }
.conversation-aside h2 { font-size:32px; line-height:1.3; letter-spacing:-1px; margin-top:23px; }
.conversation-aside h2 span { color:var(--brun-primary); }
.journey { padding:0; margin:37px 0 29px; list-style:none; display:grid; gap:18px; }
.journey li { color:var(--brun-muted); display:flex; align-items:center; gap:13px; font-size:13px; }
.journey li>span { width:27px; height:27px; border:1px solid #b4c7ca; border-radius:50%; display:grid; place-items:center; font-size:11px; }
.journey li[aria-current=step] { color:var(--brun-primary); font-weight:500; }
.journey li[aria-current=step]>span { background:var(--brun-primary); color:var(--brun-white); border-color:var(--brun-primary); }
.journey li.completed>span { background:var(--brun-soft); border-color:var(--brun-soft); }
.aside-assurance { font-size:12px; line-height:1.8; color:var(--brun-muted); }
.question-panel { border:1px solid var(--brun-border); border-radius:3px 28px 3px 3px; padding:32px; background:var(--brun-white); width:100%; min-width:0; }
.progress-heading { display:flex; justify-content:space-between; align-items:center; font-size:11px; color:var(--brun-primary); margin-bottom:9px; }
progress { appearance:none; display:block; width:100%; height:3px; border:0; background:var(--brun-soft); border-radius:3px; color:var(--brun-primary); margin-bottom:32px; }
progress::-webkit-progress-bar { background:var(--brun-soft); border-radius:3px; }
progress::-webkit-progress-value { background:var(--brun-primary); border-radius:3px; transition:width .2s ease; }
progress::-moz-progress-bar { background:var(--brun-primary); border-radius:3px; }
#question-content { min-height:320px; animation:reveal .2s ease both; }
@keyframes reveal { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
.question-title { font-size:27px; letter-spacing:-.8px; line-height:1.3; font-weight:600; outline:none; }
.question-help { margin:11px 0 24px; color:var(--brun-muted); font-size:13px; line-height:1.6; }
.choices { margin:0; padding:0; border:0; min-width:0; }
.choices-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.choices-list { display:grid; gap:10px; }
.choice { position:relative; border:1px solid var(--brun-border); border-radius:var(--radius); display:flex; align-items:center; padding:17px; gap:12px; cursor:pointer; min-height:88px; transition:background var(--transition),border-color var(--transition); }
.choices-list .choice { min-height:68px; padding:14px 16px; }
.choice:hover { border-color:#8aabaf; background:var(--brun-bg); }
.choice:has(input:checked) { border-color:var(--brun-primary); background:var(--brun-soft); box-shadow:inset 0 0 0 1px var(--brun-primary); }
.choice:has(input:focus-visible) { outline:3px solid var(--brun-primary); outline-offset:3px; }
.choice input { position:absolute; width:1px; height:1px; opacity:0; }
.choice>.icon { color:var(--brun-primary); width:27px; height:27px; }
.choice strong { display:block; font-weight:500; font-size:13px; line-height:1.5; }
.choice small { display:block; font-size:10px; color:var(--brun-muted); margin-top:3px; }
.radio-mark { width:18px; height:18px; border:1px solid #9bb1b5; border-radius:50%; flex-shrink:0; display:grid; place-items:center; }
.choice:has(input:checked) .radio-mark { border:5px solid var(--brun-primary); background:var(--brun-white); }
.field { display:grid; gap:8px; margin-bottom:17px; }
.field label { font-size:12px; font-weight:500; }
.field label small { font-weight:400; color:var(--brun-muted); }
.field input { width:100%; min-height:53px; border:1px solid #aebfc2; border-radius:8px; padding:13px 14px; color:var(--brun-ink); background:var(--brun-white); font-size:16px; transition:border-color var(--transition); }
.field input::placeholder { color:#73858a; }
.field input:focus { border-color:var(--brun-primary); outline:2px solid var(--brun-primary); outline-offset:1px; }
.field input[aria-invalid=true] { border-color:var(--brun-danger); }
.field-error { display:block; font-size:12px; color:var(--brun-danger); }
.field-error:empty { display:none; }
.field-hint { font-size:11px; color:var(--brun-muted); }
.location-note { display:flex; align-items:flex-start; gap:10px; padding:14px; background:var(--brun-bg); border-radius:8px; font-size:12px; color:var(--brun-muted); margin-top:23px; }
.location-note .icon { width:18px; height:18px; color:var(--brun-primary); }
.contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.contact-fields .field { min-width:0; }
.optional-fields { margin:4px 0 20px; }
.optional-fields summary { cursor:pointer; color:var(--brun-primary); font-size:12px; padding:6px 0; }
.optional-fields[open] summary { margin-bottom:12px; }
.optional-fields .field { margin-bottom:13px; }
.privacy-note { font-size:10px; color:var(--brun-muted); line-height:1.65; margin-top:17px; }
.form-navigation { display:flex; align-items:center; justify-content:space-between; gap:15px; border-top:1px solid var(--brun-border); padding-top:23px; margin-top:20px; }
.button-back { min-height:48px; font-size:12px; background:transparent; color:var(--brun-muted); padding:8px 2px; gap:6px; }
.button-back .icon { width:17px; height:17px; transform:rotate(180deg); }
.button-back:hover:enabled { color:var(--brun-primary); }
.button-back:active:enabled { transform:translateX(-2px); }
.button-back:disabled { visibility:hidden; }
.form-navigation .button-primary { min-width:169px; }
.data-note { display:flex; align-items:center; gap:5px; justify-content:center; margin-top:17px; font-size:10px; color:var(--brun-muted); }
.data-note .icon { width:12px; height:12px; }
.form-error { margin-top:18px; padding:13px 15px; border-left:3px solid var(--brun-danger); background:var(--brun-danger-bg); color:var(--brun-danger); font-size:12px; }
.is-busy .form-navigation .button-primary .icon { display:none; }
.is-busy .form-navigation .button-primary::after { content:''; display:block; width:15px; height:15px; border:2px solid #ffffff6b; border-top-color:var(--brun-white); border-radius:50%; animation:spin .7s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.trap { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.success { max-width:620px; margin:auto; text-align:center; padding:30px 0; }
.success-check { width:65px; height:65px; border-radius:50%; background:var(--brun-soft); color:var(--brun-primary); display:grid; place-items:center; margin:0 auto 24px; }
.success-check .icon { width:32px; height:32px; }
.success .eyebrow { justify-content:center; }
.success h1 { font-size:35px; letter-spacing:-1px; line-height:1.25; margin:20px 0; }
.success>p:not(.eyebrow) { color:var(--brun-muted); font-size:15px; }
.success-recap { margin:25px 0; padding:20px; border:1px solid var(--brun-border); border-radius:var(--radius); background:var(--brun-white); font-size:13px; line-height:1.8; }
.success .success-next { font-size:12px!important; }
@media (min-width:1500px) { main { padding-top:70px; padding-bottom:70px; } }
@media (max-width:1000px) {
  .site-shell { width:calc(100% - 48px); }
  .welcome { gap:35px; grid-template-columns:1fr 1fr; }
  .action-panel { padding:27px; }
  .welcome h1 { letter-spacing:-1px; }
  .conversation { gap:30px; grid-template-columns:.7fr 1.3fr; }
  .question-panel { padding:25px; }
  .conversation-aside h2 { font-size:26px; }
  .choices-grid { grid-template-columns:1fr; gap:9px; }
  .choice { min-height:64px; padding:13px; }
}
@media (max-width:700px) {
  .site-shell { width:calc(100% - 36px); }
  .site-header { padding:17px 0; }
  .brand { gap:10px; }
  .brand img { width:82px; height:46px; }
  .brand>span { font-size:9px; padding-left:10px; }
  .location { font-size:10px; gap:4px; max-width:100px; line-height:1.4; }
  .location .icon { width:15px; }
  main { padding:27px 0 23px; align-items:flex-start; }
  .welcome { display:block; }
  .eyebrow { font-size:9px; letter-spacing:.9px; gap:7px; }
  .eyebrow-rule { width:16px; }
  .welcome h1 { font-size:32px; line-height:1.13; letter-spacing:-1px; margin:15px 0 12px; }
  .desktop-break,.desktop-copy,.craft-proof { display:none; }
  .hero-description { font-size:13px; line-height:1.6; }
  .welcome-proof { font-size:10px; gap:6px; margin-top:13px; }
  .welcome-proof .icon { width:14px; height:14px; }
  .welcome-actions { margin-top:24px; }
  .welcome-actions::before { display:none; }
  .action-panel { padding:20px; border-radius:3px 21px 3px 3px; box-shadow:none; }
  .action-panel h2,.panel-label,.panel-intro { display:none; }
  .action-panel>.button { min-height:52px; padding:13px 16px; font-size:14px; }
  .cta-note { font-size:9px; margin-top:7px; }
  .or-divider { margin:14px 0; font-size:10px; }
  .call-action { min-height:72px; padding:12px 14px; gap:11px; }
  .call-label { font-size:10px; }
  .call-action strong { font-size:22px; }
  .call-icon { width:32px; height:32px; }
  .hours { font-size:9px; margin-top:9px; }
  .timing { font-size:9px; line-height:1.6; margin:13px auto 0; max-width:300px; }
  .site-footer { flex-wrap:wrap; justify-content:center; font-size:9px; gap:7px 20px; padding:15px 0; }
  .site-footer nav { gap:18px; }
  .preview-notice { font-size:9px; padding:4px; }
  .conversation { display:block; }
  .conversation-aside { display:none; }
  .question-panel { padding:23px 20px; border-radius:3px 21px 3px 3px; }
  progress { margin-bottom:25px; }
  .question-title { font-size:24px; letter-spacing:-.7px; }
  .question-help { font-size:12px; margin-bottom:20px; }
  #question-content { min-height:300px; }
  .choice { min-height:67px; gap:13px; padding:13px 15px; }
  .choice strong { font-size:12px; }
  .choices-list .choice { min-height:76px; }
  .choice small { font-size:10px; }
  .contact-fields { grid-template-columns:1fr; gap:0; }
  .form-navigation { padding-top:19px; margin-top:18px; gap:10px; }
  .form-navigation .button-primary { font-size:13px; min-width:145px; padding:13px 16px; }
  .form-navigation .button-primary .icon { width:17px; }
  .success { padding:25px 6px; }
  .success h1 { font-size:28px; }
  .success>p:not(.eyebrow) { font-size:14px; }
}
@media (max-width:360px) {
  .site-shell { width:calc(100% - 28px); }
  .brand>span { display:none; }
  .location { max-width:140px; }
  .welcome h1 { font-size:29px; }
  .welcome-proof { font-size:9px; }
  .action-panel { padding:16px; }
  .call-action strong { font-size:20px; }
  .question-panel { padding:21px 16px; }
  .question-title { font-size:22px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media (forced-colors:active) { :root,* { scrollbar-color:auto; } .choice:has(input:checked) { outline:2px solid Highlight; } .button-primary,.call-action { border:1px solid ButtonText; } }
