/* Dedicated PHP lead flow. No library, webfont or third-party tracking required. */
.check-document { scroll-behavior:auto; }
.check-page { background:#f1f4ef; color:var(--ink); }
.check-page svg { width:22px; height:22px; flex:none; }
.check-header { background:#fff; border-bottom:1px solid #dfe5df; }
.check-header-inner { width:min(1160px,calc(100% - 64px)); min-height:86px; margin:auto; display:flex; align-items:center; gap:26px; }
.check-header .brand-logo { width:164px; }
.check-header-label { padding-left:25px; border-left:1px solid #d7e0d9; color:#6a7d73; font-size:12px; }
.check-exit { margin-left:auto; font-size:12px; text-decoration:none; display:flex; align-items:center; gap:10px; min-height:44px; }
.check-exit:hover { color:var(--green); text-decoration:underline; }
.check-main { min-height:calc(100svh - 159px); }
.check-layout { width:min(1160px,calc(100% - 64px)); margin:auto; padding:44px 0; display:grid; grid-template-columns:380px minmax(0,1fr); align-items:start; gap:36px; }
.check-intro { background:var(--deep); color:#fff; border-radius:8px; padding:33px 31px 27px; position:sticky; top:28px; overflow:hidden; }
.check-intro::before { content:""; height:3px; width:44px; background:var(--lime); position:absolute; top:0; left:32px; }
.check-intro-top { display:flex; flex-wrap:wrap; gap:13px; align-items:center; }
.check-kicker { font-size:9px; letter-spacing:.11em; font-weight:600; color:#bdd0bc; }
.check-duration { display:flex; align-items:center; gap:6px; color:#b2c8c2; font-size:10px; }
.check-duration svg { width:13px; height:13px; }
.check-intro h1 { font-size:43px; letter-spacing:-.05em; line-height:1.13; font-weight:550; margin:35px 0 20px; }
.check-intro h1 em { color:var(--lime); font-style:normal; }
.check-intro>p { color:#b7ccc5; font-size:13px; line-height:1.8; margin:0; max-width:300px; }
.check-illustration { margin:28px 0 32px; }
.check-illustration svg { width:100%; height:auto; display:block; }
.check-illustration>span { display:block; text-align:center; font-size:8px; letter-spacing:.1em; color:#91ada2; margin-top:13px; }
.check-benefits { list-style:none; padding:0; margin:0; display:grid; gap:14px; }
.check-benefits li { display:flex; align-items:center; gap:10px; font-size:12px; color:#e0e9df; line-height:1.5; }
.check-benefits svg { width:17px; height:17px; color:var(--lime); }
.check-promise { display:flex; gap:11px; padding-top:24px; margin-top:28px; border-top:1px solid #34535a; }
.check-promise svg { color:#95b9aa; width:20px; }
.check-promise p { color:#a9c1b9; font-size:11px; line-height:1.8; margin:0; }
.check-promise strong { display:block; font-weight:600; color:#e4ede2; }
.check-workspace { padding:30px 34px 22px; border:1px solid #dce4dc; border-radius:8px; background:#fff; box-shadow:0 6px 30px #123d3610; min-width:0; scroll-margin-top:22px; }
.check-progress { margin-bottom:30px; }
.check-progress>div:first-child { display:flex; gap:13px; align-items:center; font-size:11px; }
#step-count { color:#61786b; white-space:nowrap; }
#step-label { font-weight:600; }
.check-small-note { margin-left:auto; font-size:10px; color:#647b6b; }
.check-progress-track { height:4px; background:#e9eee6; border-radius:3px; margin-top:14px; overflow:hidden; }
.check-progress-track span { display:block; width:25%; height:100%; background:#8dae5c; border-radius:3px; transition:width .25s ease; }
.battery-form { margin:0; }
.check-step { margin:0 0 40px; }
.check-enhanced .check-step { margin:0; }
.check-step-kicker { display:none; }
.check-step h2 { font-size:35px; font-weight:600; letter-spacing:-.045em; line-height:1.12; margin:0 0 15px; }
.check-step h2:focus { outline:none; }
.step-description { font-size:13px; line-height:1.75; color:#60766c; margin:0 0 25px; max-width:540px; }
.carried-context { background:#f3f7ed; padding:11px 13px; border:1px solid #e2ead9; border-radius:4px; display:flex; align-items:flex-start; gap:8px; font-size:11px; line-height:1.6; color:#486548; margin:0 0 19px; }
.carried-context svg { width:15px; height:15px; margin-top:2px; }
.choice-fieldset { border:0; padding:0; margin:0; min-width:0; }
.choice-fieldset>legend { padding:0; font-size:13px; font-weight:650; margin-bottom:11px; }
.choice-fieldset>legend.sr-only { padding:0; margin:0; }
.goal-choices { display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.choice-card { display:block; position:relative; cursor:pointer; margin:0; }
.choice-card>input { position:absolute; opacity:0; width:100%; height:100%; inset:0; margin:0; z-index:1; cursor:pointer; }
.choice-card-body { border:1px solid #d3ded4; background:#fff; border-radius:5px; min-height:113px; padding:15px 35px 14px 16px; display:flex; flex-direction:column; gap:10px; transition:border-color .15s,background .15s,box-shadow .15s; }
.choice-card:hover .choice-card-body { border-color:#789886; background:#fafcf7; }
.choice-icon { display:flex; color:#5b8067; }
.choice-icon svg { width:23px; height:23px; }
.choice-copy { display:flex; flex-direction:column; gap:5px; }
.goal-choices .choice-copy { margin-right:-17px; }
.choice-copy strong { font-size:13px; font-weight:650; line-height:1.45; }
.choice-copy small { color:#6a7e70; font-size:11px; line-height:1.6; font-weight:400; }
.choice-radio { width:17px; height:17px; border:1px solid #b6c8b8; border-radius:50%; background:#fff; flex:none; position:absolute; right:14px; top:17px; }
.choice-card>input:checked+.choice-card-body { border-color:#3f6a50; background:#f0f6e9; box-shadow:inset 0 0 0 1px #3f6a50; }
.choice-card>input:checked+.choice-card-body .choice-radio { background:#3f6a50; border-color:#3f6a50; }
.choice-card>input:checked+.choice-card-body .choice-radio::after { content:""; position:absolute; inset:4px; border-radius:50%; background:#fff; }
.choice-card>input:focus-visible+.choice-card-body { outline:3px solid #25877a; outline-offset:3px; }
.choice-card>input[aria-invalid=true]+.choice-card-body { border-color:#b2644d; }
.step-reassurance { display:flex; align-items:flex-start; gap:7px; color:#6b8070; font-size:10px; line-height:1.6; margin:18px 0 0; }
.step-reassurance svg { width:15px; height:15px; margin-top:1px; }
.check-field { margin:0 0 23px; min-width:0; }
.check-field>label { display:block; font-size:13px; font-weight:650; margin-bottom:9px; }
.check-field input { border:1px solid #bdcfc1; border-radius:4px; min-height:52px; width:100%; padding:13px 14px; color:var(--ink); background:#fff; font-size:16px; line-height:1.4; }
.check-field input::placeholder { color:#85938a; font-size:14px; opacity:1; }
.check-field input:hover { border-color:#799884; }
.check-field input:focus { border-color:#45715a; box-shadow:0 0 0 3px #e7efdf; }
.check-field input[aria-invalid=true] { border-color:#b45b43; box-shadow:0 0 0 1px #b45b43; }
.check-field>small { display:block; font-size:10px; line-height:1.6; color:#697d6e; margin-top:7px; }
.input-with-icon { position:relative; max-width:315px; }
.input-with-icon svg { position:absolute; left:14px; top:16px; width:20px; height:20px; color:#709177; }
.input-with-icon input { padding-left:44px; text-transform:uppercase; }
.input-with-icon input::placeholder { text-transform:none; }
.field-explanation { font-size:11px; line-height:1.65; color:#6b7f70; margin:-2px 0 14px; }
.connection-choices { display:grid; grid-template-columns:1fr; gap:9px; }
.compact-choice .choice-card-body { padding:13px 43px 13px 16px; min-height:69px; justify-content:center; gap:0; }
.compact-choice .choice-copy { gap:3px; }
.compact-choice .choice-radio { top:calc(50% - 8px); }
.quiet-tip { display:flex; align-items:flex-start; gap:12px; padding:15px; background:#f4f7f0; border-radius:4px; margin-top:22px; }
.quiet-tip svg { color:#739561; width:21px; }
.quiet-tip p { color:#5e7862; font-size:11px; line-height:1.75; margin:0; }
.check-route-card { padding:23px; border:1px solid #d9e4cc; background:linear-gradient(120deg,#f4f8ed,#eef5e4); border-radius:6px; margin-bottom:25px; }
.route-card-heading { display:flex; align-items:center; gap:12px; }
.route-symbol { border:1px solid #cbdcb9; border-radius:4px; background:#e5eed7; width:43px; height:43px; display:grid; place-items:center; flex:none; color:#517048; }
.route-card-heading>div>span { font-size:8px; letter-spacing:.095em; font-weight:600; color:#687f52; }
.route-card-heading h3 { font-size:20px; line-height:1.25; letter-spacing:-.035em; font-weight:600; margin:5px 0 0; }
#route-intro { color:#587058; font-size:12px; line-height:1.8; margin:18px 0; }
#route-points { padding:17px 0 0; margin:0; border-top:1px solid #d5e1c5; list-style:none; display:grid; gap:10px; }
#route-points li { display:flex; gap:8px; align-items:flex-start; font-size:11px; line-height:1.6; color:#365b40; }
#route-points svg { width:15px; height:15px; margin-top:1px; }
.route-extra { margin:15px 0 0; font-size:11px; line-height:1.7; color:#527147; }
.timing-choices { display:grid; grid-template-columns:1fr; gap:8px; }
.timing-choice .choice-card-body { min-height:45px; padding:12px 13px; flex-direction:row; align-items:center; gap:10px; }
.timing-choice .choice-copy strong { font-size:11px; font-weight:550; }
.timing-choice .choice-radio { position:relative; inset:auto; width:16px; height:16px; }
.route-footnote { font-size:10px; line-height:1.7; color:#6e7c6b; margin:16px 0 0; }
.check-summary { border:1px solid #dfe7d8; border-radius:4px; background:#f6f8f2; padding:0 15px; margin-bottom:23px; }
.check-summary summary { display:flex; justify-content:space-between; gap:10px; align-items:center; min-height:47px; cursor:pointer; list-style:none; font-size:11px; font-weight:600; }
.check-summary summary::-webkit-details-marker { display:none; }
.check-summary summary>span:first-child { display:flex; align-items:center; gap:8px; }
.check-summary summary svg { width:16px; height:16px; color:#558248; }
.summary-toggle { font-size:19px; font-weight:400; }
.check-summary[open] .summary-toggle { transform:rotate(45deg); }
.check-summary dl { margin:0 0 13px; }
.check-summary dl>div { display:grid; grid-template-columns:80px 1fr; gap:8px; font-size:11px; line-height:1.6; border-top:1px solid #dde5d6; padding:7px 0; align-items:center; }
.check-summary dt { color:#74826d; }
.check-summary dd { margin:0; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.check-summary button { font-size:10px; color:#4d6f40; background:transparent; border:0; text-decoration:underline; padding:7px 0 7px 5px; min-height:32px; }
.check-page:not(.check-enhanced) .check-summary { display:none; }
.contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.contact-methods { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:22px; }
.contact-choice .choice-card-body { flex-direction:row; gap:9px; align-items:center; min-height:53px; padding:13px 32px 13px 14px; }
.contact-choice .choice-card-body>svg { width:19px; height:19px; color:#5d7b65; }
.contact-choice strong { font-weight:600; font-size:12px; }
.contact-choice .choice-radio { top:calc(50% - 8px); right:12px; }
.channel-field { margin-bottom:17px; }
.submit-explanation { font-size:10px; line-height:1.75; color:#71816f; margin:17px 0 0; }
.check-navigation { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin-top:28px; border-top:1px solid #e3e8df; padding-top:23px; }
.check-back { display:none; align-items:center; gap:9px; border:0; background:none; color:#647766; padding:0; min-height:50px; white-space:nowrap; font-size:11px; }
.check-back:hover { color:var(--ink); }
.check-back span { font-size:18px; }
.check-next-area { margin-left:auto; display:flex; flex-direction:column; align-items:center; gap:10px; }
.check-next { border:1px solid var(--ink); background:var(--ink); color:#fff; border-radius:4px; min-height:51px; padding:15px 19px; display:none; align-items:center; justify-content:space-between; gap:25px; font-size:12px; font-weight:600; min-width:264px; transition:background .15s; }
.check-next svg { width:18px; height:18px; }
.check-next:hover { background:#255a52; border-color:#255a52; }
.check-next:disabled { opacity:.65; cursor:wait; }
.check-submit { display:flex; background:#d0f580; border-color:#bedb82; color:var(--ink); }
.check-submit:hover { background:#c1ee63; border-color:#aac765; }
.check-enhanced .check-next,.check-enhanced .check-back { display:flex; }
#navigation-note { color:#6f806c; font-size:9px; }
.check-below { display:flex; align-items:center; justify-content:center; gap:6px; color:#758570; font-size:9px; line-height:1.7; padding-top:22px; text-align:center; }
.check-below svg { width:14px; height:14px; }
.field-error { font-size:11px; line-height:1.6; color:#a03d2b; margin:8px 0 0; }
.check-form-error { background:#fff3ee; color:#913e2e; border-left:3px solid #ae5c43; border-radius:2px; padding:12px 15px; margin:0 0 21px; font-size:12px; line-height:1.7; }
.draft-restored { background:#f3f7ed; color:#567042; border-radius:3px; padding:10px 12px; margin:-12px 0 22px; font-size:10px; line-height:1.6; }
.no-script-note { font-size:12px; line-height:1.7; }
.check-footer { background:transparent; border:0; border-top:1px solid #dfe5dc; padding:22px 0; color:#74836e; }
.check-footer>div { width:min(1160px,calc(100% - 64px)); margin:auto; display:flex; justify-content:space-between; gap:16px; font-size:10px; line-height:1.8; }
.check-receipt { width:min(670px,calc(100% - 40px)); margin:54px auto; background:#fff; border:1px solid #dce4d8; border-radius:8px; padding:42px; box-shadow:0 8px 30px #173d3010; }
.receipt-icon { display:grid; place-items:center; width:57px; height:57px; border-radius:50%; background:#e8f4d6; color:#4e7847; margin-bottom:25px; }
.receipt-icon svg { width:27px; height:27px; }
.receipt-kicker { font-size:10px; letter-spacing:.1em; color:#6d875a; }
.check-receipt h1 { font-size:38px; line-height:1.13; letter-spacing:-.04em; font-weight:600; margin:14px 0 20px; }
.receipt-intro { font-size:14px; line-height:1.8; color:#61765f; }
.receipt-details { border:1px solid #dce7d3; border-radius:4px; background:#f4f8ee; padding:6px 18px; margin:25px 0; }
.receipt-details>div { display:grid; grid-template-columns:106px 1fr; gap:12px; font-size:12px; line-height:1.7; padding:12px 0; border-bottom:1px solid #dfe7d7; }
.receipt-details>div:last-child { border:0; }
.receipt-details dt { color:#6c8162; }
.receipt-details dd { margin:0; overflow-wrap:anywhere; font-weight:550; }
.receipt-next { border-left:2px solid #bad281; padding:0 0 0 17px; margin:25px 0; }
.receipt-next h2 { font-size:15px; letter-spacing:-.015em; margin:0 0 8px; }
.receipt-next p { font-size:12px; line-height:1.8; color:#6b7e63; margin:0; }
.receipt-return { display:inline-flex; align-items:center; gap:20px; min-height:48px; font-size:12px; text-decoration:none; font-weight:600; }
.receipt-return:hover { text-decoration:underline; }
.receipt-return svg { width:18px; }
@media (min-width:1100px) { .check-layout { gap:45px; } }
@media (max-width:1050px) and (min-width:761px) {
  .check-layout { grid-template-columns:290px minmax(0,1fr); gap:22px; width:calc(100% - 40px); padding:28px 0; }
  .check-intro { padding:28px 23px; }.check-intro h1 { font-size:36px; }.check-intro>p { font-size:12px; }
  .check-workspace { padding:25px; }.check-step h2 { font-size:31px; }.choice-card-body { padding-left:13px; padding-right:28px; min-height:144px; }.choice-radio { right:11px; }
  .check-next { min-width:210px; gap:12px; padding-inline:14px; font-size:11px; }.check-back { font-size:10px; gap:5px; }.contact-fields { grid-template-columns:1fr; gap:0; }
}
@media (max-width:760px) {
  .check-header-inner { min-height:71px; width:calc(100% - 40px); }.check-header .brand-logo { width:147px; }.check-header-label { display:none; }.check-exit { font-size:11px; gap:7px; }
  .check-layout { display:block; width:min(580px,calc(100% - 36px)); padding:22px 0 28px; }
  .check-intro { position:relative; top:0; margin-bottom:17px; padding:19px 22px; border-radius:6px; }
  .check-intro-top { justify-content:space-between; gap:8px; }.check-kicker { font-size:8px; }.check-duration { font-size:9px; }
  .check-intro h1 { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); margin:0; }
  .check-intro>p,.check-illustration,.check-benefits,.check-promise { display:none; }
  .check-workspace { padding:24px 23px 21px; border-radius:6px; }.check-progress { margin-bottom:27px; }.check-progress>div:first-child { font-size:10px; gap:10px; }.check-small-note { font-size:9px; }
  .check-step h2 { font-size:31px; }.step-description { font-size:12px; line-height:1.75; margin-bottom:22px; }
  .choice-card-body { min-height:130px; padding:15px 29px 14px 13px; gap:10px; }.choice-radio { top:15px; right:12px; }.choice-copy strong { font-size:13px; }.choice-copy small { font-size:11px; }.goal-choices { gap:10px; }
  .check-navigation { margin-top:23px; padding-top:20px; gap:12px; }.check-next { font-size:11px; min-width:210px; padding:14px; gap:13px; }.check-back { font-size:10px; gap:6px; }
  .check-field>label,.choice-fieldset>legend { font-size:13px; }.input-with-icon { max-width:100%; }.check-field input { min-height:52px; }.contact-fields { grid-template-columns:1fr; gap:0; }
  .check-route-card { padding:20px; }.route-card-heading h3 { font-size:19px; }.route-symbol { width:37px; height:40px; }
  .check-summary dl>div { grid-template-columns:65px 1fr; gap:8px; font-size:10px; }.check-summary dd { gap:7px; }
  .check-footer { padding:19px 0; }.check-footer>div { width:calc(100% - 40px); display:flex; flex-wrap:wrap; justify-content:center; gap:5px 20px; font-size:9px; }.check-footer>div>span:last-child { width:100%; text-align:center; }
  .check-receipt { padding:29px 24px; margin:30px auto; }.check-receipt h1 { font-size:32px; }.receipt-details>div { grid-template-columns:84px 1fr; font-size:11px; }
}
@media (max-width:390px) {
  .check-header-inner { width:calc(100% - 30px); gap:13px; }.check-header .brand-logo { width:134px; }.check-exit { font-size:10px; gap:5px; }
  .check-layout { width:calc(100% - 24px); padding-top:16px; }.check-intro { padding:18px; }.check-workspace { padding:22px 17px 20px; }.check-intro h1 { font-size:22px; }
  .check-step h2 { font-size:29px; }.choice-card-body { min-height:139px; padding-left:12px; }.choice-copy strong { font-size:12px; }.choice-copy small { font-size:10px; }
  .check-navigation { flex-wrap:wrap; gap:6px; }.check-back { order:2; margin:auto; min-height:42px; }.check-next-area { width:100%; }.check-next { width:100%; font-size:12px; }.contact-choice strong { font-size:11px; }.contact-choice .choice-card-body { padding-left:11px; gap:7px; }
}
@media (prefers-reduced-motion:reduce) { .check-page *, .check-page *::before { transition:none!important; scroll-behavior:auto!important; } }
