:root { --navy:#17365f; --navy-deep:#0f2747; --blue:#456f9f; --red:#c94f55; --red-deep:#ae3d46; --yellow:#f6dc70; --yellow-soft:#fff6cf; --orange:#d88452; --paper:#fffdf9; --surface:#f4f7fa; --ink:#202c3f; --muted:#657186; --line:#dce3ea; --shadow:0 16px 38px rgba(23,54,95,.11); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; padding-bottom:176px; color:var(--ink); background:var(--paper); font-family:"Noto Sans JP",sans-serif; font-size:16px; font-weight:400; line-height:1.75; -webkit-text-size-adjust:100%; text-size-adjust:100%; font-synthesis:none; }
button,input,select,textarea { font-family:inherit; font-synthesis:none; }
.icon-sprite { position:absolute; width:0; height:0; overflow:hidden; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
.container { width:min(1160px,calc(100% - 40px)); margin:0 auto; }
.narrow { width:min(820px,calc(100% - 40px)); }
.site-header { position:sticky; top:0; z-index:40; background:rgba(255,255,255,.97); border-bottom:3px solid var(--yellow); box-shadow:0 3px 18px rgba(23,54,95,.08); backdrop-filter:blur(10px); }
.header-inner { min-height:74px; width:min(1220px,calc(100% - 40px)); margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { display:flex; align-items:center; gap:11px; color:var(--navy); }
.brand-mark { display:grid; place-items:center; min-width:52px; height:42px; background:linear-gradient(145deg,#d35b60,var(--red-deep)); color:#fff; border-radius:2px; font-weight:900; line-height:1; letter-spacing:.04em; box-shadow:0 4px 12px rgba(201,79,85,.2); }
.brand-copy { display:grid; line-height:1.25; }
.brand-copy b { font-size:17px; letter-spacing:.06em; }
.brand-copy small { font-size:11px; color:#4b4f5c; letter-spacing:.08em; }
.header-actions { display:flex; align-items:center; gap:18px; }
.header-tel { display:grid; line-height:1.15; text-align:right; }
.header-tel span { color:var(--red); font-size:11px; font-weight:800; }
.header-tel b { font-size:22px; letter-spacing:.04em; }
.button { position:relative; isolation:isolate; display:inline-flex; justify-content:center; align-items:center; gap:11px; min-height:58px; padding:13px 26px; overflow:hidden; border-radius:7px; font-weight:900; letter-spacing:.04em; line-height:1.3; box-shadow:0 5px 0 rgba(38,48,68,.13); transition:transform .2s,box-shadow .2s; }
.button::after { content:""; position:absolute; z-index:-1; top:-30%; bottom:-30%; left:-25%; width:18%; transform:skewX(-18deg); background:rgba(255,255,255,.72); animation:buttonShine 3.2s infinite; }
.button:hover { transform:translateY(-2px); box-shadow:0 7px 0 rgba(38,48,68,.13); }
.button:active { transform:translateY(2px); box-shadow:0 2px 0 rgba(38,48,68,.13); }
.button span { font-size:1.25em; }
.button-small { min-height:42px; padding:10px 17px; font-size:14px; }
.button-red { color:#fff; background:linear-gradient(135deg,#d85e63,var(--red-deep)); border:1px solid rgba(139,34,44,.14); animation:buttonGlow 2.8s ease-in-out infinite; }
.button-yellow { color:var(--navy); background:linear-gradient(135deg,#ffec9a,var(--yellow)); border:1px solid rgba(179,142,31,.14); animation:buttonGlowYellow 2.8s ease-in-out infinite; }
.button-navy { color:#fff; background:linear-gradient(135deg,#3d5988,var(--navy)); }
.hero { background:#fff; }
.hero-image-frame { position:relative; width:100%; overflow:hidden; background:#fff; }
.hero-image-frame picture { display:block; }
.hero-image-frame img { display:block; width:100%; height:auto; filter:none; }
.hero-image-cta { position:absolute; left:5%; bottom:7%; width:47%; height:16%; border-radius:999px; }
.hero-mobile-actions { display:none; }
.hero-cta { padding:28px 0 32px; background:linear-gradient(135deg,#fffdf9,#eef3f8); border-top:1px solid #d9e1e9; border-bottom:7px solid var(--yellow); }
.hero-cta-inner { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; background:#fff; border:2px solid var(--navy); box-shadow:12px 12px 0 rgba(23,54,95,.09); }
.hero-cta-lead { padding:27px 30px 25px; border-left:9px solid var(--yellow); }
.hero-cta-kicker { display:inline-block; margin-bottom:9px; padding:4px 10px; color:#fff; background:var(--red); font-size:12px; font-weight:900; letter-spacing:.04em; }
.hero-cta h2 { margin:0; color:var(--navy); font-size:clamp(24px,3vw,37px); line-height:1.38; letter-spacing:.01em; }
.hero-cta h2 em { color:var(--red-deep); font-style:normal; background:linear-gradient(transparent 66%,var(--yellow) 66%); }
.hero-cta-points { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.hero-cta-points span { display:inline-flex; align-items:center; gap:5px; padding:6px 9px; color:var(--navy); background:#f2f5f8; border:1px solid #d7e0e8; font-size:12px; font-weight:900; }
.hero-cta-points svg { width:17px; height:17px; fill:none; stroke:var(--red); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.hero-cta-actions { display:grid; align-content:center; gap:10px; padding:21px 23px 18px; background:linear-gradient(145deg,var(--navy),var(--navy-deep)); }
.hero-cta-actions > a { position:relative; display:flex; align-items:center; gap:13px; min-height:77px; padding:11px 16px; overflow:hidden; border:2px solid #fff; box-shadow:0 5px 0 rgba(0,0,0,.18); transition:transform .2s,filter .2s; }
.hero-cta-actions > a:hover { transform:translateY(-2px); filter:brightness(1.04); }
.hero-cta-icon { display:grid; place-items:center; flex:0 0 45px; width:45px; height:45px; border:2px solid currentColor; border-radius:50%; }
.hero-cta-icon svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.hero-cta-actions a > span:nth-child(2) { display:grid; line-height:1.25; }
.hero-cta-actions small { font-size:11px; font-weight:800; }
.hero-cta-actions b { font-size:21px; letter-spacing:.03em; }
.hero-form-cta { color:#fff; background:linear-gradient(135deg,#dc5c61,var(--red-deep)); animation:buttonGlow 2.8s ease-in-out infinite; }
.hero-form-cta::after { content:""; position:absolute; top:-40%; bottom:-40%; left:-25%; width:14%; transform:skewX(-18deg); background:rgba(255,255,255,.65); animation:buttonShine 3s infinite; }
.hero-form-cta strong { position:relative; z-index:1; margin-left:auto; font-size:28px; }
.hero-phone-cta { color:var(--navy); background:#fff; }
.hero-phone-cta em { color:var(--red); font-size:10px; font-style:normal; font-weight:900; }
.hero-cta-actions > p { margin:2px 0 0; color:rgba(255,255,255,.78); font-size:11px; text-align:center; }
.proof-strip { color:var(--navy); background:linear-gradient(90deg,#fff1a9 0%,var(--yellow-soft) 50%,#fff1a9 100%); border-top:5px solid var(--red); border-bottom:1px solid #ead58b; }
.proof-grid { display:grid; grid-template-columns:repeat(3,1fr); padding:15px 0; }
.proof-grid > div { display:grid; grid-template-columns:auto 1fr; align-items:center; column-gap:11px; padding:5px 22px; border-right:1px solid rgba(23,54,95,.2); }
.proof-grid > div:last-child { border-right:0; }
.proof-icon { grid-row:span 2; display:grid; place-items:center; width:44px; height:44px; border:1px solid rgba(201,79,85,.2); border-radius:3px; color:var(--red); background:rgba(255,255,255,.82); box-shadow:0 5px 14px rgba(23,54,95,.07); }
.proof-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.proof-grid b { font-size:17px; line-height:1.3; }
.proof-grid small { font-size:12px; line-height:1.3; }
.section { position:relative; padding:100px 0; overflow:hidden; }
.section-paper { background:var(--paper); background-image:radial-gradient(rgba(23,54,95,.05) .7px,transparent .7px); background-size:9px 9px; }
.section-white { background:#fff; }
.section-navy { color:#fff; background:var(--navy); }
.section-blue { color:#fff; background:linear-gradient(135deg,#315b89 0%,#17365f 100%); }
.section-photo-bg { color:#fff; background:var(--navy-deep); }
.section-photo-bg::before { content:""; position:absolute; inset:0; background-image:linear-gradient(90deg,rgba(15,39,71,.97) 0%,rgba(15,39,71,.91) 44%,rgba(23,54,95,.68) 100%),url("./assets/fv-pattern-4.png"); background-position:center;background-size:cover; opacity:.94; }
.section-photo-bg::after { content:""; position:absolute; z-index:1; top:0; right:0; left:0; height:7px; background:linear-gradient(90deg,var(--red) 0 31%,var(--yellow) 31% 40%,transparent 40%); }
.section-photo-bg > .container { position:relative; z-index:1; }
.section-heading { max-width:850px; margin:0 auto 45px; text-align:center; }
.section-title-bar { position:relative; max-width:none; padding:22px 28px 25px; background:#fff; border-top:8px solid var(--navy); border-bottom:3px solid var(--navy); box-shadow:0 8px 0 rgba(23,54,95,.07); }
.section-title-bar::after { content:""; position:absolute; left:50%; bottom:-19px; width:34px; height:19px; transform:translateX(-50%); background:var(--navy); clip-path:polygon(0 0,100% 0,50% 100%); }
.section-title-bar.light { background:rgba(11,35,66,.7); border-top-color:var(--yellow); border-bottom-color:rgba(255,255,255,.75); box-shadow:none; }
.section-title-bar.light::after { background:rgba(255,255,255,.75); }
.eyebrow { display:inline-block; padding:6px 12px 5px; color:var(--navy); background:var(--yellow-soft); border:1px solid #efd986; border-radius:999px; font-size:12px; font-weight:900; letter-spacing:.2em; line-height:1.25; }
.section-heading.light .eyebrow,.section-photo-bg .eyebrow,.contact-section .eyebrow { color:#fff4bf; background:rgba(246,220,112,.12); border-color:rgba(246,220,112,.45); }
.section-heading h2,.intro-section h2,.credibility-copy h2 { margin:12px 0 12px; color:var(--navy); font-size:clamp(30px,4vw,50px); line-height:1.28; letter-spacing:.04em; }
.section-heading.light h2,.section-photo-bg h2,.contact-section h2 { color:#fff; }
h2 em { position:relative; z-index:0; color:var(--red); font-style:normal; background:linear-gradient(transparent 68%,rgba(246,220,112,.58) 68%); }
.section-heading.light h2 em,.section-photo-bg h2 em,.contact-section h2 em { color:var(--yellow); background:none; }
.section-heading p,.lead-copy { margin:0; color:var(--muted); font-size:16px; }
.section-heading.light p,.section-photo-bg p { color:rgba(255,255,255,.86); }
.intro-section { padding:100px 0; background:linear-gradient(180deg,#fff 0%,#f4f7fa 100%); border-bottom:1px solid #d9e1e9; }
.intro-grid { display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:0; }
.intro-visual { position:relative; min-height:520px; margin:0; overflow:hidden; border:10px solid var(--navy); border-right:0; background:#dfe6ed; clip-path:polygon(0 0,94% 0,100% 7%,100% 100%,0 100%); }
.intro-visual::after { content:""; position:absolute; inset:auto 0 0; height:38%; background:linear-gradient(transparent,rgba(15,39,71,.78)); pointer-events:none; }
.intro-visual img { width:100%; height:100%; min-height:520px; object-fit:cover; object-position:58% center; }
.intro-visual figcaption { position:absolute; z-index:1; right:28px; bottom:24px; left:28px; color:#fff; font-size:14px; font-weight:900; line-height:1.7; }
.intro-copy { position:relative; z-index:1; margin-left:-1px; padding:46px 44px; background:#fff; border:3px solid var(--navy); border-left:12px solid var(--red); box-shadow:18px 18px 0 rgba(23,54,95,.08); }
.intro-section h2 { font-size:clamp(30px,4vw,50px); }
.intro-section h2 em { color:var(--red); }
.lead-copy { max-width:680px; color:var(--muted); font-size:17px; }
.intro-checks { display:grid; gap:0; margin:24px 0 0; padding:0; list-style:none; border-top:1px solid #dce3ea; }
.intro-checks li { position:relative; padding:10px 10px 10px 34px; border-bottom:1px solid #dce3ea; color:var(--navy); font-weight:900; }
.intro-checks li::before { content:"✓"; position:absolute; left:8px; color:var(--red); font-weight:900; }
.underline-note { display:flex; align-items:center; gap:12px; margin-top:25px; color:var(--navy); font-weight:900; }
.underline-note span { width:45px; height:5px; background:var(--yellow); border-left:16px solid var(--red); }
.concern-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:17px; }
.concern-card { position:relative; min-height:265px; padding:25px 21px 22px; background:rgba(255,255,255,.97); border:1px solid #dce3ea; border-top:6px solid var(--navy); border-radius:0; box-shadow:10px 10px 0 rgba(23,54,95,.07); clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%); }
.concern-card:nth-child(2n) { border-top-color:var(--red); }
.number-tag { position:absolute; top:15px; right:16px; color:var(--red); font-size:12px; font-weight:900; letter-spacing:.12em; }
.line-icon { display:grid; place-items:center; width:58px; height:58px; margin-bottom:17px; color:var(--navy); border:1px solid #eadca2; border-radius:2px; background:var(--yellow-soft); }
.concern-card:nth-child(2n) .line-icon { color:var(--red); }
.line-icon svg { width:31px; height:31px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.concern-card h3 { margin:0 0 10px; color:var(--navy); font-size:18px; line-height:1.5; }
.concern-card p { margin:0; color:var(--muted); font-size:13px; line-height:1.7; }
.center-cta { display:flex; justify-content:center; margin-top:38px; }
.flow-section { background-image:linear-gradient(rgba(15,39,71,.96),rgba(23,54,95,.96)),url("./assets/fv-pattern-1.png"); background-size:cover;background-position:center; border-top:7px solid var(--yellow); }
.flow-grid { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.flow-card { position:relative; z-index:1; overflow:hidden; color:var(--ink); background:rgba(255,255,255,.99); border:2px solid rgba(246,220,112,.78); border-radius:0; box-shadow:10px 10px 0 rgba(8,25,49,.24); }
.flow-index { position:absolute; z-index:2; top:12px; left:12px; display:flex; align-items:end; gap:5px; padding:7px 10px; color:#fff; background:var(--red); border:2px solid #fff; box-shadow:4px 4px 0 rgba(0,0,0,.15); line-height:1; }
.flow-index b { font-size:24px; }
.flow-index span { padding-bottom:2px; font-size:9px; font-weight:900; letter-spacing:.12em; }
.flow-illustration { height:190px; display:grid; place-items:center; padding:13px 16px 3px; overflow:hidden; background:linear-gradient(145deg,#17365f,#0c2443); border-bottom:5px solid var(--yellow); }
.flow-illustration img { width:100%; height:100%; object-fit:contain; }
.flow-body { padding:21px 23px 24px; }
.flow-card h3 { margin:9px 0 9px; color:var(--navy); font-size:20px; }
.flow-card p { margin:0; color:#4f596b; font-size:14px; line-height:1.78; }
.flow-card p strong { color:var(--red-deep); background:linear-gradient(transparent 70%,#fff0a9 70%); }
.free-chip { display:inline-block; margin:0; padding:4px 10px; color:#963941; background:#fae7e8; border:1px solid #efc8ca; border-radius:2px; font-size:11px; font-weight:900; }
.flow-help { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:8px; margin-top:17px; padding:10px; background:#f2f5f8; border-left:4px solid var(--yellow); font-size:11px; line-height:1.5; }
.flow-help b { color:var(--navy); }
.flow-help span { color:var(--muted); }
.flow-summary { display:flex; align-items:center; justify-content:center; gap:12px; width:min(720px,100%); margin:35px auto 0; padding:14px 20px; color:var(--navy); background:var(--yellow); border:2px solid #fff; box-shadow:7px 7px 0 rgba(8,25,49,.26); font-weight:900; }
.flow-summary b { color:var(--red); font-size:24px; }
.compare-story-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:30px; }
.compare-story { position:relative; overflow:hidden; background:#fff; border:3px solid var(--navy); box-shadow:10px 10px 0 rgba(23,54,95,.08); }
.compare-story.purchase { border-color:var(--red-deep); }
.compare-story-title { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 18px; color:#fff; background:var(--navy); }
.compare-story.purchase .compare-story-title { background:var(--red-deep); }
.compare-story-title span { font-size:11px; font-weight:800; }
.compare-story-title h3 { margin:0; font-size:25px; }
.compare-story-image { height:250px; display:grid; place-items:center; padding:13px 18px; background:#f4f7fa; border-bottom:1px solid #dce3ea; }
.compare-story.purchase .compare-story-image { background:#fff3f2; }
.compare-story-image img { width:100%; height:100%; object-fit:contain; }
.compare-route { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:7px; margin:18px 20px 0; color:var(--navy); font-size:12px; font-weight:900; }
.compare-route span { padding:7px 9px; background:#eef2f6; border:1px solid #d1dae3; }
.compare-story.purchase .compare-route span { color:#8f2730; background:#fff0ef; border-color:#eec9cb; }
.compare-route b { color:var(--red); font-size:20px; }
.compare-story > p { min-height:94px; margin:15px 22px 16px; color:#515c6e; font-size:14px; line-height:1.78; }
.compare-story > p strong { color:var(--navy); background:linear-gradient(transparent 72%,#ffea8d 72%); }
.compare-suited { display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:center; margin:0 18px 20px; padding:11px 13px; background:#f4f7fa; border-left:5px solid var(--navy); font-size:12px; }
.compare-story.purchase .compare-suited { background:#fff0ef; border-left-color:var(--red); }
.compare-suited b { color:var(--navy); }
.compare-suited span { color:var(--muted); }
.compare-guide { display:grid; grid-template-columns:80px 1fr; align-items:stretch; margin:0 0 27px; border:2px solid var(--navy); background:#fff; box-shadow:7px 7px 0 rgba(23,54,95,.08); }
.compare-guide > span { display:grid; place-items:center; color:var(--navy); background:var(--yellow); font-size:17px; font-weight:900; }
.compare-guide p { display:grid; gap:4px; margin:0; padding:15px 18px; }
.compare-guide b { color:var(--navy); font-size:17px; }
.compare-guide small { color:var(--muted); font-size:12px; line-height:1.6; }
.purchase-compare { display:grid; grid-template-columns:.72fr 1fr 1fr; margin:0 0 10px; border:3px solid var(--navy); background:#fff; box-shadow:12px 12px 0 rgba(23,54,95,.08); }
.purchase-compare > div { min-width:0; padding:14px 16px; border-right:1px solid #cfd8e2; border-bottom:1px solid #cfd8e2; text-align:center; font-weight:800; }
.purchase-compare > div:nth-child(3n) { border-right:0; }
.purchase-compare > div:nth-last-child(-n+3) { border-bottom:0; }
.compare-head { color:#fff; background:var(--navy); font-size:20px; font-weight:900!important; letter-spacing:.08em; }
.compare-head-label { color:var(--navy); background:var(--yellow); }
.purchase-compare .is-purchase { color:#8f2730; background:#fff0ef; }
.purchase-compare .compare-head.is-purchase { color:#fff; background:var(--red-deep); }
.compare-label { display:grid; place-items:center; color:var(--navy); background:#eef2f6; }
.compare-note { margin:0 0 35px; color:var(--muted); font-size:12px; text-align:right; }
.plain-language-note { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:16px; padding:20px 22px; color:#fff; background:var(--navy); border-bottom:6px solid var(--yellow); }
.plain-language-note > svg { width:42px; height:42px; fill:none; stroke:var(--yellow); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.plain-language-note p { display:grid; gap:3px; margin:0; }
.plain-language-note p b { font-size:16px; }
.plain-language-note p span { color:rgba(255,255,255,.76); font-size:12px; line-height:1.6; }
.plain-language-note a { padding:11px 15px; color:var(--navy); background:var(--yellow); font-size:13px; font-weight:900; white-space:nowrap; }
.reason-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.reason-card { position:relative; padding:31px 28px 30px; border:1px solid var(--line); border-top:6px solid var(--yellow); border-radius:0; background:linear-gradient(180deg,#fff,#fafbfc); box-shadow:8px 8px 0 rgba(23,54,95,.07); }
.reason-symbol { color:var(--orange); font-size:14px; font-weight:900; letter-spacing:.16em; }
.reason-icon { display:grid; place-items:center; width:54px; height:54px; margin-top:16px; color:var(--red); background:#fff1f1; border:1px solid #f1cdcf; border-radius:2px; }
.reason-icon svg { width:29px; height:29px; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
.reason-card h3 { margin:13px 0 12px; color:var(--navy); font-size:21px; line-height:1.4; }
.reason-card p { margin:0; color:var(--muted); font-size:14px; line-height:1.85; }
.reason-line { width:55px; height:4px; margin-top:25px; background:#ead28a; border-radius:999px; }
.voice-section { background:linear-gradient(145deg,#fffdf9 0%,#fff8dc 100%); }
.voice-layout { display:grid; grid-template-columns:.9fr 1.1fr; align-items:stretch; gap:30px; }
.voice-photo { position:relative; min-height:560px; margin:0; overflow:hidden; border:8px solid var(--navy); border-radius:0; background:#e9edf2; box-shadow:12px 12px 0 rgba(23,54,95,.08); }
.voice-photo::after { content:""; position:absolute; inset:auto 0 0; height:42%; background:linear-gradient(transparent,rgba(24,42,74,.78)); pointer-events:none; }
.voice-photo img { width:100%; height:100%; object-fit:cover; }
.voice-photo figcaption { position:absolute; z-index:1; right:26px; bottom:24px; left:26px; color:#fff; font-size:14px; font-weight:800; line-height:1.7; }
.voice-list { display:grid; gap:15px; }
.voice-card { position:relative; padding:23px 25px; background:rgba(255,255,255,.97); border:1px solid #e5dfc8; border-left:7px solid var(--yellow); border-radius:0; box-shadow:7px 7px 0 rgba(23,54,95,.07); }
.voice-card::after { content:"“"; position:absolute; top:8px; right:18px; color:#f0d6d7; font-family:Georgia,serif; font-size:62px; line-height:1; }
.voice-card-head { position:relative; z-index:1; display:flex; align-items:center; gap:13px; }
.voice-icon { display:grid; place-items:center; flex:0 0 auto; width:46px; height:46px; color:var(--red); background:#fff0f1; border:1px solid #f2cdcf; border-radius:2px; }
.voice-icon svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.voice-card-head div { display:grid; line-height:1.45; }
.voice-card-head b { color:var(--navy); font-size:16px; }
.voice-card-head small { color:var(--muted); font-size:12px; }
.voice-card blockquote { margin:15px 0 0; color:#4f596b; font-size:14px; line-height:1.85; }
.content-note { margin:24px 0 0; color:var(--muted); font-size:12px; text-align:center; }
.type-section { background-image:linear-gradient(135deg,rgba(49,91,137,.96),rgba(15,39,71,.97)),url("./assets/fv-pattern-3.png"); background-size:cover;background-position:center; border-top:7px solid var(--red); }
.type-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.type-card { position:relative; display:grid; grid-template-columns:auto 1fr; align-items:center; column-gap:14px; min-height:118px; padding:19px 20px; color:var(--navy); background:rgba(255,255,255,.98); border:1px solid rgba(246,220,112,.42); border-left:7px solid var(--yellow); border-radius:0; box-shadow:8px 8px 0 rgba(8,25,49,.2); }
.type-card:nth-child(2n) { border-left-color:var(--red); }
.type-icon { display:grid; place-items:center; width:50px; height:50px; color:var(--navy); background:var(--yellow-soft); border:1px solid #ead58b; border-radius:2px; }
.type-card:nth-child(2n) .type-icon { color:#fff; background:#cf6b70; }
.type-icon svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.type-card b { font-size:21px; line-height:1.25; }
.type-card small { grid-column:2; color:var(--muted); font-size:12px; line-height:1.5; }
.case-section { background:var(--surface); }
.case-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.case-card { overflow:hidden; background:#fff; border:2px solid #d1dbe5; border-bottom:7px solid var(--yellow); border-radius:0; box-shadow:9px 9px 0 rgba(23,54,95,.08); }
.case-image { position:relative; aspect-ratio:16/10; overflow:hidden; background:#dfe5eb; }
.case-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 62%,rgba(24,42,74,.42)); pointer-events:none; }
.case-image img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.75,.25,1); }
.case-card:hover .case-image img { transform:scale(1.035); }
.case-image > span { position:absolute; z-index:1; top:14px; left:0; padding:7px 13px; color:var(--navy); background:rgba(255,241,169,.96); border:1px solid rgba(255,255,255,.6); border-radius:0; font-size:12px; font-weight:900; letter-spacing:.12em; backdrop-filter:blur(5px); }
.case-content { padding:24px 22px 27px; }
.case-kicker { margin:0 0 6px; color:var(--red); font-size:12px; font-weight:900; letter-spacing:.12em; }
.case-content h3 { margin:0; color:var(--navy); font-size:20px; line-height:1.5; }
.case-tags { display:flex; flex-wrap:wrap; gap:7px; margin:16px 0 20px; }
.case-tags span { padding:4px 9px; color:#4d6384; background:#f1f5f8; border:1px solid #dce4eb; border-radius:2px; font-size:12px; font-weight:800; }
.case-content dl { display:grid; gap:15px; margin:0; }
.case-content dl > div { padding-top:14px; border-top:1px solid #e4e8ed; }
.case-content dt { display:flex; align-items:center; gap:8px; color:var(--navy); font-size:14px; font-weight:900; }
.case-content dt::before { content:""; width:8px; height:8px; background:var(--red); border-radius:50%; }
.case-content dd { margin:6px 0 0; color:var(--muted); font-size:13px; line-height:1.8; }
.credibility-section { padding:110px 0; }
.credibility-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:60px; }
.credibility-copy h2 { color:#fff; }
.credibility-copy p { max-width:560px; margin:0; color:rgba(255,255,255,.86); font-size:17px; }
.text-link { display:inline-flex; gap:10px; margin-top:25px; padding-bottom:5px; color:var(--yellow); border-bottom:2px solid var(--yellow); font-weight:900; }
.credibility-points { display:grid; gap:12px; }
.credibility-points > div { display:grid; grid-template-columns:48px 1fr; column-gap:13px; padding:17px 20px; color:#fff; background:rgba(255,255,255,.11); border:1px solid rgba(255,255,255,.15); border-left:6px solid #ead38d; border-radius:0; backdrop-filter:blur(7px); }
.credibility-points b { grid-row:span 2; display:grid; place-items:center; width:42px; height:42px; color:#fff3c6; background:rgba(255,255,255,.09); border-radius:2px; }
.credibility-points b svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.credibility-points span { font-weight:900; }
.credibility-points small { color:rgba(255,255,255,.72); font-size:12px; }
.faq-container { max-width:880px; }
.faq-list { display:grid; gap:10px; border-top:0; }
.faq-list details { overflow:hidden; background:#fff; border:1px solid #dce3ea; border-left:7px solid var(--yellow); border-radius:0; box-shadow:6px 6px 0 rgba(23,54,95,.06); }
.faq-list summary { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 18px; cursor:pointer; color:var(--navy); font-weight:900; }
.faq-list summary span { display:grid; place-items:center; width:30px; height:30px; color:#fff; background:#cb676c; border-radius:50%; font-size:22px; font-weight:400; line-height:1; }
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list details p { margin:-2px 0 18px; padding:0 58px 0 18px; color:var(--muted); font-size:15px; }
.contact-section { padding:80px 0 120px; color:#fff; background:linear-gradient(135deg,#17365f,#0f2747); border-top:8px solid var(--yellow); }
.contact-inner { display:grid; grid-template-columns:1fr .85fr; align-items:center; gap:48px; }
.contact-section h2 { margin:12px 0; font-size:clamp(30px,4vw,50px); line-height:1.3; }
.contact-inner p { margin:0; color:rgba(255,255,255,.82); }
.eyebrow.yellow { color:var(--yellow); }
.contact-actions { display:grid; gap:15px; }
.contact-phone { display:grid; padding:17px 20px; color:var(--navy); background:#fffdf6; border:1px solid rgba(246,220,112,.5); border-left:7px solid var(--red); border-radius:2px; }
.contact-phone small { font-size:12px; font-weight:800; }
.contact-phone b { font-size:31px; line-height:1.2; letter-spacing:.04em; }
.floating-banner { position:fixed; right:0; bottom:0; left:0; z-index:50; padding:0; background:#fff; border-top:1px solid #e0e3e7; box-shadow:0 -8px 26px rgba(15,39,71,.18); pointer-events:none; }
.floating-desktop { position:relative; width:100%; max-width:1280px; margin:0 auto; overflow:hidden; background:#fff; pointer-events:auto; }
.floating-desktop img { width:100%; height:auto; min-height:0; object-fit:contain; background:#fff; filter:none; transition:filter .25s ease; }
.floating-desktop::after { content:""; position:absolute; top:-30%; bottom:-30%; left:46%; width:4%; transform:skewX(-18deg); background:rgba(255,255,255,.68); pointer-events:none; animation:floatShine 3.6s ease-in-out infinite; }
.float-hitbox { position:absolute; top:0; bottom:0; }
.float-phone { left:0; width:45%; }
.float-form { right:0; width:55%; }
.floating-desktop:has(.float-form:hover) img { filter:brightness(1.05) saturate(1.04); }
.floating-mobile { display:none; }
.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.25,1); }
.reveal.is-visible { opacity:1; transform:none; }
.concern-card:nth-child(2) { transition-delay:.07s; }.concern-card:nth-child(3) { transition-delay:.14s; }.concern-card:nth-child(4) { transition-delay:.21s; }
.flow-card:nth-child(2) { transition-delay:.09s; }.flow-card:nth-child(3) { transition-delay:.18s; }
@keyframes buttonShine { 0%,45% { left:-25%; } 70%,100% { left:120%; } }
@keyframes buttonGlow { 0%,100% { box-shadow:0 5px 0 rgba(38,48,68,.13),0 0 0 rgba(201,86,91,0); } 50% { box-shadow:0 5px 0 rgba(38,48,68,.13),0 0 20px rgba(201,86,91,.3); } }
@keyframes buttonGlowYellow { 0%,100% { box-shadow:0 5px 0 rgba(38,48,68,.13),0 0 0 rgba(244,217,119,0); } 50% { box-shadow:0 5px 0 rgba(38,48,68,.13),0 0 20px rgba(244,217,119,.34); } }
@keyframes floatShine { 0%,48% { left:46%; opacity:0; } 55% { opacity:.8; } 78%,100% { left:104%; opacity:0; } }
@keyframes mobileCtaGlow { 0%,100% { box-shadow:inset 0 0 0 rgba(255,255,255,0),0 0 0 rgba(216,64,68,0); } 50% { box-shadow:inset 0 0 18px rgba(255,255,255,.13),0 0 22px rgba(216,64,68,.36); } }

.options-page { background:#f5f5f8; }
.options-intro { width:min(850px,calc(100% - 40px)); margin:0 auto; padding:75px 0 42px; text-align:center; }
.options-intro h1 { margin:12px 0 9px; color:var(--navy); font-size:clamp(32px,5vw,54px); line-height:1.2; }
.options-intro p { margin:0; color:var(--muted); }
.options-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; width:min(1180px,calc(100% - 40px)); margin:0 auto; }
.option-card { position:relative; overflow:hidden; background:#fff; border:1px solid #e2e3e8; box-shadow:var(--shadow); }
.option-card.selected { border:4px solid var(--red); }
.option-card img { width:100%; }
.option-card > div { padding:18px 20px 22px; }
.option-card b { color:var(--navy); font-size:18px; }
.option-card p { margin:6px 0 0; color:var(--muted); font-size:14px; line-height:1.65; }
.selected-label { position:absolute; top:12px; left:12px; z-index:2; padding:5px 10px; color:#fff; background:var(--red); font-size:12px; font-weight:900; }
.options-cta { width:min(760px,calc(100% - 40px)); margin:50px auto 100px; padding:30px; color:#fff; background:var(--navy); text-align:center; }
.options-cta p { margin:0 0 17px; }
.options-showcase { display:grid; gap:34px; width:min(1220px,calc(100% - 40px)); margin:0 auto; }
.option-card-wide { overflow:visible; }
.option-media { display:grid; grid-template-columns:minmax(0,1fr) 245px; align-items:start; gap:14px; padding:14px; background:#eaf1f8; }
.option-media img { width:100%; border:1px solid #cad7e5; box-shadow:0 8px 20px rgba(18,55,100,.12); }
.option-media .option-mobile { aspect-ratio:3/4; height:100%; object-fit:cover; object-position:top; }
.option-copy { display:grid; grid-template-columns:56px 1fr; align-items:center; gap:15px; padding:18px 20px 22px!important; border-top:5px solid var(--yellow); }
.option-copy > span { display:grid; place-items:center; width:52px; height:52px; color:#fff; background:var(--red); font-size:25px; font-weight:900; }
.option-copy div { display:grid; gap:4px; }
.option-copy b { font-size:20px; }
.option-copy p { margin:0; }

@media (max-width:900px) {
  .concern-grid { grid-template-columns:repeat(2,1fr); }
  .hero-cta-lead { padding:23px 22px; }.hero-cta-actions { padding:18px; }.hero-cta-actions b { font-size:18px; }
  .flow-grid { gap:14px; }.flow-illustration { height:165px; }.flow-body { padding:18px; }.flow-card h3 { font-size:18px; }
  .compare-story-grid { gap:14px; }.compare-story-image { height:220px; }.compare-story > p { margin-right:17px; margin-left:17px; }.compare-suited { margin-right:14px; margin-left:14px; }
  .reason-grid { gap:14px; }.reason-card { padding:24px 19px; }.reason-card h3 { font-size:18px; }
  .voice-layout { grid-template-columns:.82fr 1.18fr; gap:18px; }.voice-photo { min-height:600px; }
  .type-grid { grid-template-columns:repeat(2,1fr); }
  .intro-grid { grid-template-columns:.95fr 1.05fr; }.intro-copy { padding:35px 30px; }.intro-visual,.intro-visual img { min-height:470px; }
  .case-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.case-content { padding:23px 20px 25px; }.case-content h3 { font-size:19px; }
  .credibility-grid,.contact-inner { gap:32px; }
  .hero-image-cta { left:5%; width:47%; }
}
@media (max-width:680px) {
  body { padding-bottom:calc(92px + env(safe-area-inset-bottom)); font-size:15px; }
  .container,.header-inner { width:min(100% - 28px,520px); }.narrow { width:calc(100% - 28px); }
  .site-header { position:relative; }.header-inner { min-height:63px; }.brand-mark { min-width:44px; height:36px; font-size:12px; }.brand-copy b { font-size:14px; }.brand-copy small { font-size:9px; }.header-tel { display:none; }.header-actions { gap:0; }.button-small { min-height:38px; padding:8px 11px; font-size:12px; }
  .hero-image-frame { aspect-ratio:auto; }.hero-image-frame img { width:100%; height:auto; object-fit:contain; filter:none; }.hero-image-cta { left:7%; bottom:2.5%; width:86%; height:13%; }.hero-cta { padding:16px 0 23px; }.hero-cta-inner { grid-template-columns:1fr; box-shadow:7px 7px 0 rgba(23,54,95,.09); }.hero-cta-lead { padding:20px 17px 18px; border-left-width:7px; }.hero-cta-kicker { font-size:10px; }.hero-cta h2 { font-size:24px; }.hero-cta-points { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-top:14px; }.hero-cta-points span:last-child { grid-column:1/-1; }.hero-cta-actions { padding:14px; }.hero-cta-actions > a { min-height:69px; padding:9px 11px; }.hero-cta-icon { flex-basis:39px; width:39px; height:39px; }.hero-cta-icon svg { width:22px; height:22px; }.hero-cta-actions small { font-size:9px; }.hero-cta-actions b { font-size:17px; }.hero-form-cta strong { font-size:22px; }.hero-cta-actions > p { font-size:10px; line-height:1.5; }
  .proof-grid { grid-template-columns:1fr; padding:0; }.proof-grid > div { padding:9px 0; border-right:0; border-bottom:1px solid rgba(23,54,95,.18); }.proof-grid > div:last-child { border-bottom:0; }.proof-icon { width:35px; height:35px; font-size:13px; }.proof-grid b { font-size:15px; }.proof-grid small { font-size:10px; }
  .section { padding:68px 0; }.section-heading { margin-bottom:30px; }.section-title-bar { padding:18px 14px 21px; border-top-width:6px; }.section-title-bar::after { bottom:-14px; width:28px; height:14px; }.section-heading h2,.intro-section h2,.credibility-copy h2,.contact-section h2 { font-size:29px; }.section-heading p,.lead-copy { font-size:13px; line-height:1.75; }
  .intro-section { padding:62px 0; }.intro-grid { grid-template-columns:1fr; gap:0; }.intro-visual { min-height:0; aspect-ratio:4/3; border-width:6px; border-right:6px solid var(--navy); clip-path:polygon(0 0,94% 0,100% 8%,100% 100%,0 100%); }.intro-visual img { min-height:0; height:100%; object-position:56% center; }.intro-visual figcaption { right:16px; bottom:14px; left:16px; font-size:11px; }.intro-copy { margin:-2px 0 0; padding:27px 20px; border-width:2px; border-left-width:8px; box-shadow:9px 9px 0 rgba(23,54,95,.08); }.lead-copy { font-size:15px; }.intro-checks { margin-top:18px; }.intro-checks li { font-size:13px; }.underline-note { font-size:13px; }
  .concern-grid { grid-template-columns:1fr; gap:12px; }.concern-card { min-height:0; padding:20px 18px; }.concern-card h3 { font-size:17px; }.concern-card p { font-size:12px; }.line-icon { width:48px; height:48px; margin-bottom:10px; font-size:20px; }
  .center-cta { margin-top:27px; }.center-cta .button { width:100%; padding:12px 10px; font-size:13px; }
  .flow-grid { grid-template-columns:1fr; gap:17px; }.flow-illustration { height:220px; }.flow-body { padding:18px 17px 20px; }.flow-index { top:10px; left:10px; }.flow-card h3 { margin-bottom:6px; font-size:19px; }.flow-card p { font-size:13px; }.flow-help { grid-template-columns:1fr; gap:2px; }.flow-summary { gap:6px; padding:11px 8px; font-size:11px; }.flow-summary b { font-size:18px; }
  .compare-story-grid { grid-template-columns:1fr; gap:18px; }.compare-story-image { height:220px; }.compare-story-title h3 { font-size:22px; }.compare-story > p { min-height:0; font-size:13px; }.compare-suited { grid-template-columns:1fr; gap:2px; }.compare-guide { grid-template-columns:1fr; }.compare-guide > span { padding:7px; }.compare-guide p { padding:13px 14px; }.compare-guide b { font-size:15px; }.purchase-compare { grid-template-columns:.72fr 1fr 1fr; border-width:2px; box-shadow:7px 7px 0 rgba(23,54,95,.08); }.purchase-compare > div { display:grid; place-items:center; padding:10px 6px; font-size:12px; line-height:1.45; }.compare-head { font-size:15px!important; }.compare-note { margin-bottom:27px; font-size:10px; text-align:left; }.plain-language-note { grid-template-columns:1fr; gap:10px; padding:18px; }.plain-language-note > svg { display:none; }.plain-language-note a { text-align:center; }
  .reason-grid { grid-template-columns:1fr; gap:12px; }.reason-card { padding:20px 18px; }.reason-card h3 { font-size:18px; }.reason-card p { font-size:13px; }
  .voice-layout { grid-template-columns:1fr; gap:15px; }.voice-photo { min-height:0; aspect-ratio:4/3; border-width:5px; border-radius:0; box-shadow:7px 7px 0 rgba(23,54,95,.08); }.voice-photo figcaption { right:17px; bottom:15px; left:17px; font-size:12px; }.voice-card { padding:18px 17px; }.voice-card blockquote { font-size:13px; }.content-note { margin-top:17px; font-size:11px; text-align:left; }
  .type-grid { grid-template-columns:1fr; gap:12px; }.type-card { min-height:88px; }.type-card b { font-size:19px; }.type-card small { font-size:11px; }
  .case-grid { grid-template-columns:1fr; gap:16px; }.case-card { border-radius:0; box-shadow:7px 7px 0 rgba(23,54,95,.08); }.case-content { padding:21px 18px 24px; }.case-content h3 { font-size:19px; }.case-content dd { font-size:12px; }
  .credibility-section { padding:72px 0; }.credibility-grid,.contact-inner { grid-template-columns:1fr; gap:27px; }.credibility-copy p { font-size:14px; }.credibility-points > div { padding:13px 15px; }
  .faq-list summary { padding:16px 14px; font-size:14px; }.faq-list details p { padding:0 42px 0 14px; font-size:13px; }
  .contact-section { padding:62px 0 90px; }.contact-inner p { font-size:13px; }.contact-phone b { font-size:25px; }
  .floating-banner { padding:0; background:#fff; border-top:4px solid var(--yellow); box-shadow:0 -7px 22px rgba(15,39,71,.25); }.floating-desktop { display:none; }.floating-mobile { display:grid; grid-template-columns:.96fr 1.04fr; min-height:84px; padding-bottom:env(safe-area-inset-bottom); background:#fff; pointer-events:auto; }.floating-mobile a { display:flex; align-items:center; justify-content:center; gap:8px; min-width:0; padding:10px 6px 11px; color:#fff; line-height:1.12; }.floating-mobile .mobile-call { background:linear-gradient(135deg,#17365f,#0b2342); }.floating-mobile .mobile-form { position:relative; overflow:hidden; background:linear-gradient(135deg,#df575b,#b22d38); border-left:2px solid #fff; animation:mobileCtaGlow 2.4s ease-in-out infinite; }.floating-mobile .mobile-form::after { content:""; position:absolute; top:-40%; bottom:-40%; left:-25%; width:16%; transform:skewX(-18deg); background:rgba(255,255,255,.65); animation:buttonShine 2.8s infinite; }.float-mobile-icon { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; color:currentColor; border:2px solid rgba(255,255,255,.9); border-radius:50%; }.float-mobile-icon svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }.float-mobile-copy { position:relative; z-index:1; display:grid; min-width:0; }.floating-mobile small { font-size:11px; font-weight:900; white-space:nowrap; }.floating-mobile b { font-size:16px; letter-spacing:.01em; white-space:nowrap; }
  .options-intro { width:calc(100% - 28px); padding:50px 0 28px; }.options-intro p { font-size:13px; line-height:1.7; text-align:left; }.options-grid { grid-template-columns:1fr; gap:18px; width:calc(100% - 28px); }.option-card > div { padding:14px 15px 17px; }.option-card b { font-size:16px; }.option-card p { font-size:13px; }.options-cta { width:calc(100% - 28px); margin:30px auto 75px; padding:22px 15px; font-size:13px; }
  .options-showcase { width:calc(100% - 28px); gap:22px; }.option-media { grid-template-columns:1fr; padding:8px; }.option-media .option-mobile { width:min(68%,320px); height:auto; justify-self:center; }.option-copy { grid-template-columns:44px 1fr; padding:14px!important; }.option-copy > span { width:42px; height:42px; font-size:20px; }.option-copy b { font-size:16px; }
}
@media (max-width:380px) {
  .floating-mobile { grid-template-columns:1fr 1fr; }
  .floating-mobile a { gap:5px; padding-right:4px; padding-left:4px; }
  .float-mobile-icon { flex-basis:29px; width:29px; height:29px; }
  .float-mobile-icon svg { width:17px; height:17px; }
  .floating-mobile small { font-size:9px; }
  .floating-mobile b { font-size:14px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.button,.floating-desktop::after,.floating-mobile .mobile-form,.floating-mobile .mobile-form::after { animation:none; transition:none; }.reveal { opacity:1; transform:none; transition:none; } }

/* Bright, easy-assessment visual refresh */
:root { --navy:#123764; --navy-deep:#08274d; --blue:#2477c9; --red:#ef3340; --red-deep:#d91f32; --yellow:#ffd21f; --yellow-soft:#fff7bf; --orange:#ff7a00; --paper:#fff; --surface:#f3f8fd; --ink:#162b47; --muted:#465b73; --line:#cbd9e6; --shadow:0 16px 38px rgba(18,55,100,.14); }
.brand-mark { background:linear-gradient(145deg,#ff4854,var(--red-deep)); box-shadow:0 4px 12px rgba(239,51,64,.25); }
.button-red { background:linear-gradient(135deg,#ff4652,var(--red-deep)); }
.hero-image-frame img { filter:saturate(1.04) brightness(1.02) contrast(1.02); }
.hero-cta { padding:30px 0 36px; background:#eff7ff; border-color:#cbddeb; border-bottom:8px solid var(--yellow); }
.hero-cta-inner { grid-template-columns:1.08fr .92fr; border-width:3px; box-shadow:12px 12px 0 rgba(18,55,100,.12); }
.hero-cta-lead { padding:28px 30px 26px; border-left:10px solid var(--yellow); }
.hero-cta h2 { font-size:clamp(25px,3vw,39px); line-height:1.34; }
.hero-cta-intro { margin:11px 0 0; color:var(--muted); font-size:13px; font-weight:700; line-height:1.65; }
.hero-cta-fields { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-top:17px; }
.hero-cta-fields span { display:flex; align-items:center; gap:8px; min-height:48px; padding:7px 9px; color:var(--navy); background:#fff9cf; border:1px solid #f0ce26; font-weight:900; line-height:1.25; }
.hero-cta-fields b { display:grid; place-items:center; flex:0 0 27px; width:27px; height:27px; color:#fff; background:var(--red); border-radius:50%; font-size:13px; }
.hero-cta-fields small { font-size:12px; }
.hero-cta-points { margin-top:11px; }
.hero-cta-actions { padding:20px 23px 18px; background:var(--navy); border-left:6px solid var(--yellow); }
.hero-cta-choice { margin:0; color:#fff; font-size:14px; font-weight:900; text-align:center; letter-spacing:.05em; }
.hero-cta-choice::before,.hero-cta-choice::after { content:"＼"; margin:0 8px; color:var(--yellow); }
.hero-cta-choice::after { content:"／"; }
.hero-form-cta { background:linear-gradient(135deg,#ff4652,var(--red-deep)); }
.hero-phone-cta { border-color:#dce7f1!important; }
.hero-phone-cta strong { margin-left:auto; color:var(--red); font-size:23px; }
.hero-cta-actions > p.hero-cta-assurance { display:flex; align-items:center; justify-content:center; gap:6px; margin:3px 0 0; color:#fff; font-size:11px; text-align:center; }
.hero-cta-assurance svg { width:16px; height:16px; fill:none; stroke:var(--yellow); stroke-width:2.2; }
.proof-strip { background:linear-gradient(90deg,#ffe963 0%,var(--yellow-soft) 50%,#ffe963 100%); border-bottom-color:#e0bf19; }
.flow-section { color:var(--ink); background:#eef7ff; background-image:radial-gradient(rgba(36,119,201,.12) .8px,transparent .8px); background-size:12px 12px; border-top:7px solid var(--yellow); }
.flow-section .section-title-bar.light { background:#fff; border-top-color:var(--red); border-bottom-color:var(--navy); box-shadow:0 8px 0 rgba(18,55,100,.08); }
.flow-section .section-title-bar.light::after { background:var(--navy); }
.flow-section .section-heading.light .eyebrow { color:#fff; background:var(--red); border-color:var(--red); }
.flow-section .section-heading.light h2 { color:var(--navy); }
.flow-section .section-heading.light h2 em { color:var(--red); background:linear-gradient(transparent 68%,rgba(255,210,31,.72) 68%); }
.flow-section .section-heading.light p { color:var(--muted); }
.flow-card { background:#fff; border:2px solid #b9d1e7; border-top:7px solid var(--yellow); box-shadow:10px 10px 0 rgba(18,55,100,.13); }
.flow-illustration { height:205px; padding:16px 16px 4px; background:#fff; border-bottom:4px solid var(--yellow); }
.free-chip { color:#fff; background:var(--red); border-color:var(--red); }
.flow-summary { border-color:var(--navy); box-shadow:7px 7px 0 rgba(18,55,100,.15); }
.compare-story.purchase { border-color:var(--red); }
.compare-story.purchase .compare-story-title,.purchase-compare .compare-head.is-purchase { background:var(--red); }
.compare-story-image,.compare-story.purchase .compare-story-image { background:#fff; }
.type-section { background-image:linear-gradient(135deg,rgba(36,119,201,.96),rgba(8,39,77,.97)),url("./assets/fv-pattern-3.png"); }
.type-card:nth-child(2n) .type-icon,.faq-list summary span { background:var(--red); }
.floating-desktop img { filter:saturate(1.09) contrast(1.03); }
@keyframes buttonGlow { 0%,100% { box-shadow:0 5px 0 rgba(38,48,68,.13),0 0 0 rgba(239,51,64,0); } 50% { box-shadow:0 5px 0 rgba(38,48,68,.13),0 0 24px rgba(239,51,64,.42); } }
@keyframes mobileCtaGlow { 0%,100% { box-shadow:inset 0 0 0 rgba(255,255,255,0),0 0 0 rgba(239,51,64,0); } 50% { box-shadow:inset 0 0 18px rgba(255,255,255,.13),0 0 24px rgba(239,51,64,.46); } }

@media (max-width:900px) {
  .hero-cta-fields { gap:5px; }
  .hero-cta-fields span { padding:6px; }
}
@media (max-width:680px) {
  .hero-image-frame img { filter:none; }
  .hero-cta { padding:16px 0 25px; }
  .hero-cta-inner { grid-template-columns:1fr; box-shadow:7px 7px 0 rgba(18,55,100,.12); }
  .hero-cta-lead { padding:20px 17px 18px; border-left-width:7px; }
  .hero-cta-intro { font-size:12px; }
  .hero-cta-fields { gap:5px; margin-top:13px; }
  .hero-cta-fields span { display:grid; justify-items:center; gap:4px; min-height:68px; padding:7px 3px; text-align:center; }
  .hero-cta-fields b { width:25px; height:25px; }
  .hero-cta-fields small { font-size:10px; }
  .hero-cta-points { margin-top:10px; }
  .hero-cta-actions { padding:14px; border-top:5px solid var(--yellow); border-left:0; }
  .hero-cta-choice { font-size:12px!important; }
  .hero-cta-actions > a { min-height:72px; }
  .hero-form-cta strong,.hero-phone-cta strong { font-size:22px; }
  .hero-cta-actions > p.hero-cta-assurance { font-size:10px; line-height:1.5; }
  .flow-illustration { height:230px; }
  .floating-mobile .mobile-form { background:linear-gradient(135deg,#ff4652,#d91f32); }
}
.hero-image-cta { display:none; }
@media (max-width:680px) {
  .hero-image-cta { display:block; left:8.5%; bottom:1.5%; width:83%; height:10.5%; border-radius:999px; }
}

/* Readability and proof-point emphasis */
.proof-strip { padding:28px 0 34px; background:linear-gradient(135deg,#fff5a8 0%,#ffe35a 50%,#fff5a8 100%); border-top:8px solid var(--red); border-bottom:5px solid var(--navy); }
.proof-wrap { display:grid; gap:18px; }
.proof-heading { display:flex; align-items:center; justify-content:center; gap:14px; color:var(--navy); text-align:center; }
.proof-heading span { padding:7px 13px; color:#fff; background:var(--red); font-size:14px; font-weight:900; letter-spacing:.06em; }
.proof-heading b { font-size:25px; line-height:1.3; }
.proof-grid { gap:14px; padding:0; }
.proof-grid > div { min-height:112px; padding:19px 20px; background:#fff; border:2px solid var(--navy); border-top:7px solid var(--red); box-shadow:7px 7px 0 rgba(18,55,100,.13); }
.proof-grid > div:last-child { border-right:2px solid var(--navy); }
.proof-icon { width:62px; height:62px; color:var(--red); background:#fff7d0; border:2px solid #f0c900; box-shadow:none; }
.proof-icon svg { width:34px; height:34px; stroke-width:2; }
.proof-grid b { font-size:22px; line-height:1.35; }
.proof-grid small { color:#344b66; font-size:15px; font-weight:700; line-height:1.5; }
.brand-copy small,.header-tel span { font-size:13px; }
.hero-cta-kicker,.eyebrow { font-size:14px; }
.hero-cta-points span { font-size:14px; }
.hero-cta-actions small { font-size:13px; }
.hero-phone-cta em { font-size:12px; }
.hero-cta-actions > p,.hero-cta-actions > p.hero-cta-assurance { font-size:13px; }
.hero-cta-intro { font-size:15px; }
.hero-cta-fields small { font-size:14px; }
.number-tag,.free-chip { font-size:13px; }
.concern-card p,.flow-card p,.reason-card p { font-size:15px; }
.flow-index span { font-size:11px; }
.flow-help { font-size:13px; }
.compare-story-title span { font-size:13px; }
.compare-route,.compare-suited { font-size:14px; }
.compare-guide small,.plain-language-note p span { font-size:14px; }
.compare-note,.content-note { font-size:13px; }
.plain-language-note a { font-size:15px; }
.voice-card-head small,.type-card small { font-size:14px; }
.case-image > span,.case-kicker,.case-tags span { font-size:13px; }
.case-content dd { font-size:14px; }
.credibility-points small,.contact-phone small { font-size:14px; }
.selected-label { font-size:13px; }

@media (max-width:680px) {
  .brand-copy small { font-size:11px; }
  .button-small { font-size:13px; }
  .hero-cta-kicker { font-size:12px; }
  .hero-cta-intro { font-size:14px; }
  .hero-cta-fields small { font-size:12px; }
  .hero-cta-points span { font-size:13px; }
  .hero-cta-actions small { font-size:11px; }
  .hero-cta-actions > p.hero-cta-assurance { font-size:11px; }
  .proof-strip { padding:25px 0 30px; }
  .proof-wrap { gap:16px; }
  .proof-heading { display:grid; justify-items:center; gap:7px; }
  .proof-heading span { padding:5px 10px; font-size:12px; }
  .proof-heading b { font-size:21px; }
  .proof-grid { grid-template-columns:1fr; gap:12px; }
  .proof-grid > div { grid-template-columns:58px 1fr; min-height:96px; padding:15px 16px; border-right:2px solid var(--navy); border-bottom:2px solid var(--navy); }
  .proof-icon { width:52px; height:52px; }
  .proof-icon svg { width:29px; height:29px; }
  .proof-grid b { font-size:19px; }
  .proof-grid small { font-size:14px; }
  .section-heading p,.lead-copy { font-size:15px; }
  .intro-visual figcaption { font-size:13px; }
  .intro-checks li,.underline-note { font-size:15px; }
  .concern-card p,.flow-card p,.compare-story > p,.reason-card p,.voice-card blockquote,.contact-inner p { font-size:14px; }
  .center-cta .button { font-size:15px; }
  .flow-help,.flow-summary { font-size:13px; }
  .compare-route,.compare-suited { font-size:13px; }
  .purchase-compare > div { font-size:12px; }
  .compare-note { font-size:12px; }
  .plain-language-note p span,.plain-language-note a { font-size:14px; }
  .voice-photo figcaption { font-size:13px; }
  .content-note { font-size:12px; }
  .type-card small { font-size:13px; }
  .case-content dd { font-size:14px; }
  .faq-list details p { font-size:14px; }
  .floating-mobile small { font-size:11px; }
}

/* Direct-purchase emphasis and balanced service introduction */
.intro-section { padding:82px 0; }
.intro-grid {
  width:min(1080px,calc(100% - 40px));
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  align-items:stretch;
}
.intro-visual {
  min-height:0;
  border-width:7px;
  border-right:0;
}
.intro-visual img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:0;
  object-position:54% center;
}
.intro-copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  margin-left:0;
  padding:36px 38px 38px;
  border-left-width:10px;
  box-shadow:13px 13px 0 rgba(18,55,100,.09);
}
.intro-section h2 {
  font-size:clamp(30px,3.35vw,43px);
  line-height:1.34;
}
.intro-copy .lead-copy { font-size:16px; line-height:1.72; }
.intro-copy .intro-checks { margin-top:19px; }
.intro-copy .underline-note { margin-top:20px; }

.compare-story.purchase.reveal.is-visible {
  z-index:2;
  transform-origin:center;
  animation:purchaseCardPulse 3.2s ease-in-out .8s infinite;
  will-change:transform,box-shadow;
}
.purchase-compare .is-purchase {
  background-color:#fff0ef;
  background-image:linear-gradient(108deg,transparent 0%,transparent 40%,rgba(255,255,255,.92) 48%,transparent 57%,transparent 100%);
  background-repeat:no-repeat;
  background-size:260% 100%;
  background-position:130% 0;
  box-shadow:inset 3px 0 0 rgba(239,51,64,.24);
}
.purchase-compare .compare-head.is-purchase {
  background-color:var(--red);
  background-image:linear-gradient(108deg,transparent 0%,transparent 40%,rgba(255,255,255,.72) 48%,transparent 57%,transparent 100%);
  box-shadow:inset 3px 0 0 rgba(255,255,255,.28);
}
.purchase-compare.reveal.is-visible .is-purchase {
  animation:purchaseColumnShine 3.7s cubic-bezier(.4,0,.2,1) 1s infinite;
}

@keyframes purchaseCardPulse {
  0%,100% { transform:scale(1); box-shadow:10px 10px 0 rgba(18,55,100,.10),0 0 0 rgba(239,51,64,0); }
  50% { transform:scale(1.018); box-shadow:13px 13px 0 rgba(18,55,100,.12),0 0 28px rgba(239,51,64,.32); }
}
@keyframes purchaseColumnShine {
  0%,18% { background-position:130% 0; }
  58%,100% { background-position:-120% 0; }
}

@media (max-width:680px) {
  .intro-section { padding:58px 0; }
  .intro-grid {
    width:calc(100% - 28px);
    max-width:520px;
    grid-template-columns:minmax(0,1fr);
    align-items:stretch;
    gap:0;
  }
  .intro-visual {
    width:100%;
    min-width:0;
    min-height:0;
    aspect-ratio:4 / 3;
    border-width:5px;
    border-right:5px solid var(--navy);
  }
  .intro-visual img { object-position:54% center; }
  .intro-copy {
    width:100%;
    min-width:0;
    padding:25px 19px 27px;
    border-left-width:7px;
    box-shadow:8px 8px 0 rgba(18,55,100,.09);
  }
  .intro-section h2 { font-size:clamp(27px,8vw,33px); }
  .intro-copy .lead-copy { font-size:15px; }
  .compare-story.purchase.reveal.is-visible { animation-name:purchaseCardPulseMobile; }
}

@keyframes purchaseCardPulseMobile {
  0%,100% { transform:scale(1); box-shadow:7px 7px 0 rgba(18,55,100,.10),0 0 0 rgba(239,51,64,0); }
  50% { transform:scale(1.008); box-shadow:9px 9px 0 rgba(18,55,100,.12),0 0 18px rgba(239,51,64,.30); }
}

@media (prefers-reduced-motion:reduce) {
  .compare-story.purchase.reveal.is-visible,
  .purchase-compare.reveal.is-visible .is-purchase { animation:none; }
}

/* SRS company details, non-clipped step art, and phone/form contact routes */
.button-call { color:#fff; background:linear-gradient(135deg,#173f70,#0b2342); border:1px solid rgba(11,35,66,.22); }
.button-icon { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.hero-call-cta { color:#fff; background:linear-gradient(135deg,#1d4f87,#0b274b); }
.hero-call-cta em { color:#fff; }

.flow-illustration { height:225px; padding:18px; }
.flow-illustration img { object-fit:contain; object-position:center; transform:scale(.88); transform-origin:center; }

.contact-phone { text-decoration:none; }
.contact-phone b { font-size:clamp(23px,2.4vw,31px); }
.site-footer { padding:34px 0 175px; color:#fff; background:#0b213d; border-top:6px solid var(--yellow); }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.footer-inner > div { display:grid; }
.footer-inner b { font-size:17px; }
.footer-inner p { margin:5px 0 0; color:rgba(255,255,255,.78); font-size:13px; line-height:1.65; }
.footer-inner span,.footer-inner small { color:rgba(255,255,255,.7); font-size:11px; }
.footer-phone { color:#fff; font-size:22px; font-weight:900; text-decoration:none; }

.floating-desktop { display:grid; grid-template-columns:.8fr 1fr 2fr; align-items:center; min-height:124px; padding:12px 22px; border-top:5px solid var(--yellow); }
.floating-desktop::after { left:52%; }
.float-company { display:grid; align-content:center; min-height:86px; padding:6px 22px 6px 8px; border-right:1px solid #dce3ea; line-height:1.35; }
.float-company span { width:max-content; margin-bottom:5px; padding:3px 8px; color:#fff; background:var(--red); font-size:11px; font-weight:900; }
.float-company b { color:var(--navy); font-size:21px; }
.float-company small { color:#5b6779; font-size:11px; font-weight:800; }
.float-message { display:grid; align-content:center; padding:0 22px; color:var(--navy); line-height:1.35; }
.float-message strong { font-size:18px; }
.float-message small { margin-top:5px; color:var(--red); font-size:11px; font-weight:900; }
.float-actions { display:grid; grid-template-columns:.78fr 1.22fr; gap:10px; }
.float-actions a { position:relative; display:flex; align-items:center; justify-content:center; gap:10px; min-width:0; min-height:78px; padding:10px 14px; overflow:hidden; color:#fff; border:2px solid #fff; box-shadow:0 5px 0 rgba(15,39,71,.16); line-height:1.2; }
.float-actions svg { flex:0 0 30px; width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.float-actions span { display:grid; }
.float-actions small { font-size:10px; font-weight:900; }
.float-actions b { font-size:17px; white-space:nowrap; }
.float-call { background:linear-gradient(135deg,#1d4f87,#0b274b); }
.float-form { right:auto; width:auto; background:linear-gradient(135deg,#ff4652,#d91f32); animation:mobileCtaGlow 2.4s ease-in-out infinite; }
.float-form strong { margin-left:auto; font-size:25px; }

@media (max-width:900px) and (min-width:681px) {
  .floating-desktop { grid-template-columns:.75fr 1.55fr; }
  .float-message { display:none; }
}

@media (max-width:680px) {
  .header-call { display:none; }
  .flow-illustration { height:250px; padding:20px; }
  .flow-illustration img { transform:scale(.84); }
  .contact-actions { gap:12px; }
  .site-footer { padding:30px 0 calc(122px + env(safe-area-inset-bottom)); }
  .footer-inner { display:grid; gap:18px; }
  .footer-inner b { font-size:15px; }
  .floating-desktop { display:none; }
  .floating-mobile { grid-template-columns:1fr 1.12fr; }
  .floating-mobile .mobile-call { background:linear-gradient(135deg,#1d4f87,#0b274b); }
}

/* Vacant-house risk section */
.risk-section {
  color:var(--ink);
  background-color:#eef7ff;
  background-image:radial-gradient(rgba(18,55,100,.09) .8px,transparent .8px);
  background-size:12px 12px;
  border-top:8px solid var(--red);
  border-bottom:8px solid var(--yellow);
}
.risk-section::before {
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:28%;
  height:16px;
  background:var(--navy);
  clip-path:polygon(6% 0,100% 0,100% 100%,0 100%);
}
.risk-layout {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  align-items:stretch;
  gap:24px;
}
.risk-visual {
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  margin:0;
  overflow:hidden;
  background:#fff;
  border:4px solid var(--navy);
  box-shadow:12px 12px 0 rgba(18,55,100,.12);
}
.risk-visual-label {
  position:absolute;
  z-index:2;
  top:15px;
  left:15px;
  padding:7px 12px;
  color:#fff;
  background:var(--red);
  border:2px solid #fff;
  font-size:14px;
  font-weight:900;
  box-shadow:4px 4px 0 rgba(18,55,100,.2);
}
.risk-visual img {
  width:100%;
  flex:1 1 auto;
  min-height:360px;
  object-fit:cover;
  object-position:center;
  background:#fff;
}
.risk-visual figcaption {
  display:grid;
  gap:4px;
  padding:17px 19px 19px;
  color:#fff;
  background:var(--navy);
  border-top:6px solid var(--yellow);
}
.risk-visual figcaption b { font-size:17px; line-height:1.55; }
.risk-visual figcaption span { color:rgba(255,255,255,.82); font-size:14px; line-height:1.65; }
.risk-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.risk-card {
  position:relative;
  min-width:0;
  min-height:238px;
  padding:25px 21px 22px;
  overflow:hidden;
  background:#fff;
  border:2px solid var(--navy);
  border-top:7px solid var(--red);
  box-shadow:8px 8px 0 rgba(18,55,100,.10);
}
.risk-card:nth-child(even) { border-top-color:var(--yellow); }
.risk-card::after {
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:36px;
  height:36px;
  background:linear-gradient(135deg,transparent 49%,#dceafb 50%);
  z-index:1;
}
.risk-number { position:absolute; top:12px; right:48px; z-index:2; color:var(--red); font-size:12px; font-weight:900; letter-spacing:.1em; white-space:nowrap; }
.risk-card:nth-child(even) .risk-number { color:var(--navy); }
.risk-icon {
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  margin-bottom:16px;
  color:#fff;
  background:var(--red);
  border:3px solid #fff;
  outline:2px solid var(--red);
  border-radius:50%;
}
.risk-card:nth-child(even) .risk-icon { color:var(--navy); background:var(--yellow); outline-color:#e1bb00; }
.risk-icon svg { width:31px; height:31px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.risk-card h3 { margin:0 0 9px; color:var(--navy); font-size:20px; line-height:1.45; }
.risk-card p { margin:0; color:var(--muted); font-size:15px; line-height:1.75; }
.risk-warning {
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:17px;
  margin-top:28px;
  padding:19px 22px;
  background:#fff7c7;
  border:3px solid var(--navy);
  border-left:11px solid var(--red);
  box-shadow:8px 8px 0 rgba(18,55,100,.1);
}
.risk-warning > span { display:grid; place-items:center; width:54px; height:54px; color:#fff; background:var(--red); border-radius:50%; }
.risk-warning svg { width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.risk-warning p { display:grid; gap:2px; margin:0; }
.risk-warning b { color:var(--navy); font-size:18px; }
.risk-warning small { color:var(--muted); font-size:14px; line-height:1.65; }
.risk-cta {
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:24px;
  margin-top:28px;
  padding:24px 27px;
  color:#fff;
  background:var(--navy);
  border-bottom:7px solid var(--yellow);
}
.risk-cta > div { display:grid; gap:2px; }
.risk-cta > div > span { color:var(--yellow); font-size:14px; font-weight:900; }
.risk-cta > div > b { font-size:22px; line-height:1.45; }
.risk-cta > div > small { color:rgba(255,255,255,.8); font-size:14px; }
.risk-cta .button { min-width:330px; }
.risk-note { margin:13px 0 0; color:var(--muted); font-size:13px; text-align:right; }

@media (max-width:900px) {
  .risk-layout { grid-template-columns:1fr; }
  .risk-visual { width:min(720px,100%); justify-self:center; }
  .risk-visual img { min-height:0; aspect-ratio:3 / 2; }
}

@media (max-width:680px) {
  .risk-section { padding:66px 0; border-top-width:6px; border-bottom-width:6px; }
  .risk-section::before { width:42%; height:10px; }
  .risk-layout { gap:18px; }
  .risk-visual { border-width:3px; box-shadow:7px 7px 0 rgba(18,55,100,.11); }
  .risk-visual-label { top:10px; left:10px; padding:5px 9px; font-size:12px; }
  .risk-visual figcaption { padding:14px 15px 16px; border-top-width:5px; }
  .risk-visual figcaption b { font-size:15px; }
  .risk-visual figcaption span { font-size:13px; }
  .risk-card-grid { grid-template-columns:1fr; gap:13px; }
  .risk-card { min-height:0; padding:21px 18px 20px 88px; }
  .risk-number { top:10px; right:43px; font-size:11px; }
  .risk-icon { position:absolute; top:24px; left:18px; width:50px; height:50px; margin:0; }
  .risk-icon svg { width:27px; height:27px; }
  .risk-card h3 { margin-top:18px; font-size:18px; }
  .risk-card p { font-size:14px; }
  .risk-warning { grid-template-columns:44px 1fr; gap:12px; margin-top:22px; padding:16px 14px; border-width:2px; border-left-width:8px; box-shadow:6px 6px 0 rgba(18,55,100,.1); }
  .risk-warning > span { width:42px; height:42px; }
  .risk-warning svg { width:24px; height:24px; }
  .risk-warning b { font-size:15px; line-height:1.55; }
  .risk-warning small { font-size:13px; }
  .risk-cta { grid-template-columns:1fr; gap:15px; margin-top:22px; padding:21px 17px; text-align:center; }
  .risk-cta > div > span,.risk-cta > div > small { font-size:13px; }
  .risk-cta > div > b { font-size:19px; }
  .risk-cta .button { width:100%; min-width:0; padding-right:12px; padding-left:12px; font-size:14px; }
  .risk-note { font-size:12px; line-height:1.6; text-align:left; }
}

/* Valuation results — editorial comparison cards */
.valuation-results-section { color:var(--ink); background:#eaf2f8; background-image:linear-gradient(90deg,rgba(23,54,95,.045) 1px,transparent 1px),linear-gradient(rgba(23,54,95,.045) 1px,transparent 1px); background-size:28px 28px; border-top:8px solid var(--yellow); }
.valuation-results-list { display:grid; gap:26px; }
.valuation-result-card { position:relative; display:grid; grid-template-columns:minmax(250px,.9fr) minmax(360px,1.35fr) minmax(220px,.72fr); min-height:310px; overflow:hidden; background:#fff; border:3px solid var(--navy); box-shadow:12px 12px 0 rgba(18,55,100,.12); }
.valuation-result-card::before { content:""; position:absolute; z-index:3; top:0; right:0; left:0; height:7px; background:linear-gradient(90deg,var(--red) 0 25%,var(--yellow) 25% 38%,var(--navy) 38%); }
.valuation-result-image { position:relative; min-height:100%; margin:0; overflow:hidden; background:#dfe8ef; }
.valuation-result-image::after { content:""; position:absolute; inset:auto 0 0; height:42%; background:linear-gradient(transparent,rgba(15,39,71,.62)); pointer-events:none; }
.valuation-result-image img { width:100%; height:100%; min-height:310px; object-fit:cover; transition:transform .65s cubic-bezier(.2,.75,.25,1); }
.valuation-result-card:hover .valuation-result-image img { transform:scale(1.035); }
.valuation-result-image figcaption { position:absolute; z-index:1; bottom:15px; left:16px; padding:5px 10px; color:var(--navy); background:var(--yellow); border:2px solid #fff; font-size:12px; font-weight:900; letter-spacing:.12em; }
.valuation-result-copy { display:flex; flex-direction:column; justify-content:center; padding:34px 32px; }
.valuation-result-meta { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-bottom:12px; }
.valuation-result-meta span { padding:5px 10px; color:#fff; background:var(--red); font-size:12px; font-weight:900; }
.valuation-result-meta b { color:var(--navy); font-size:14px; }
.valuation-result-copy h3 { margin:0 0 12px; color:var(--navy); font-size:23px; line-height:1.45; }
.valuation-result-copy p { margin:0; color:#586579; font-size:15px; line-height:1.85; }
.valuation-result-points { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.valuation-result-points span { padding:4px 9px; color:var(--navy); background:#eef4f8; border:1px solid #cddbe7; font-size:12px; font-weight:800; }
.valuation-result-value { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:28px 18px; color:#fff; background:linear-gradient(150deg,#e73542,#b70e1c); text-align:center; }
.valuation-result-value::before { content:""; position:absolute; top:50%; left:0; width:20px; height:42px; transform:translate(-1px,-50%); background:#fff; clip-path:polygon(0 0,100% 50%,0 100%); }
.valuation-status { min-width:130px; padding:5px 12px; color:var(--navy); background:#fff; border:1px solid rgba(255,255,255,.7); font-size:12px; font-weight:900; }
.valuation-status.is-result { color:var(--red); }
.valuation-result-value > b { margin:10px 0 4px; font-size:18px; line-height:1.35; }
.valuation-result-value > i { margin:3px 0 6px; color:var(--yellow); font-size:16px; font-style:normal; line-height:1; }
.valuation-result-value strong { display:flex; align-items:baseline; gap:4px; line-height:1; }
.valuation-result-value strong em { font-size:54px; font-style:normal; letter-spacing:-.04em; }
.valuation-result-value strong { font-size:18px; }
.valuation-result-value small { margin-top:10px; color:rgba(255,255,255,.86); font-size:12px; font-weight:800; }
.valuation-results-note { margin:22px 0 0; color:#5f6b7c; font-size:12px; line-height:1.75; text-align:center; }

@media (max-width:900px) {
  .valuation-result-card { grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr); }
  .valuation-result-value { grid-column:1/-1; display:grid; grid-template-columns:auto auto auto auto; gap:12px; min-height:120px; }
  .valuation-result-value::before { display:none; }
  .valuation-result-value > b { margin:0; }
  .valuation-result-value > i { transform:rotate(-90deg); }
  .valuation-result-value small { grid-column:1/-1; margin:0; }
}

@media (max-width:680px) {
  .valuation-results-section { padding:66px 0; border-top-width:6px; }
  .valuation-results-list { gap:20px; }
  .valuation-result-card { grid-template-columns:1fr; min-height:0; border-width:2px; box-shadow:7px 7px 0 rgba(18,55,100,.11); }
  .valuation-result-card::before { height:6px; }
  .valuation-result-image { min-height:0; aspect-ratio:16/10; }
  .valuation-result-image img { min-height:0; height:100%; }
  .valuation-result-copy { padding:23px 18px 25px; }
  .valuation-result-meta { margin-bottom:10px; }
  .valuation-result-meta span { font-size:11px; }
  .valuation-result-meta b { font-size:13px; }
  .valuation-result-copy h3 { font-size:20px; }
  .valuation-result-copy p { font-size:14px; line-height:1.75; }
  .valuation-result-value { grid-column:auto; display:flex; flex-direction:column; gap:5px; min-height:0; padding:20px 12px; }
  .valuation-result-value > b { font-size:15px; }
  .valuation-result-value > i { transform:none; }
  .valuation-result-value strong { justify-content:center; }
  .valuation-result-value strong em { font-size:40px; }
  .valuation-status { min-width:0; padding:5px 6px; font-size:10px; }
  .valuation-results-note { font-size:11px; text-align:left; }
}

/* Reasons to choose SRS */
.reason-section { background:#f7f9fc; background-image:linear-gradient(135deg,rgba(23,54,95,.04) 25%,transparent 25%),linear-gradient(315deg,rgba(23,54,95,.04) 25%,transparent 25%); background-position:0 0,14px 14px; background-size:28px 28px; border-top:8px solid var(--navy); }
.reason-section .reason-grid { counter-reset:reason; }
.reason-section .reason-card { counter-increment:reason; display:flex; flex-direction:column; min-height:390px; overflow:hidden; padding:31px 28px 30px; border:2px solid #cbd9e6; border-top:8px solid var(--yellow); background:#fff; box-shadow:9px 9px 0 rgba(18,55,100,.11); }
.reason-section .reason-card::after { content:"0" counter(reason); position:absolute; top:2px; right:10px; color:rgba(23,54,95,.055); font-size:96px; font-weight:900; line-height:1; letter-spacing:-.08em; }
.reason-section .reason-symbol,.reason-section .reason-icon,.reason-section .reason-card h3,.reason-section .reason-card p,.reason-section .reason-line { position:relative; z-index:1; }
.reason-section .reason-symbol { color:var(--red); font-size:12px; }
.reason-section .reason-icon { color:#fff; background:var(--navy); border:0; box-shadow:5px 5px 0 var(--yellow); }
.reason-section .reason-card h3 { font-size:22px; }
.reason-section .reason-card p { font-size:15px; }
.reason-section .reason-line { margin-top:auto; background:linear-gradient(90deg,var(--red) 0 40%,var(--yellow) 40%); }
.reason-summary { display:grid; grid-template-columns:repeat(3,1fr); margin-top:34px; overflow:hidden; color:#fff; background:var(--navy); border:3px solid var(--navy); box-shadow:8px 8px 0 rgba(18,55,100,.11); }
.reason-summary > div { display:grid; gap:3px; padding:18px 20px; border-right:1px solid rgba(255,255,255,.22); text-align:center; }
.reason-summary > div:last-child { border-right:0; }
.reason-summary b { color:var(--yellow); font-size:18px; }
.reason-summary span { color:rgba(255,255,255,.82); font-size:13px; }

@media (max-width:680px) {
  .reason-section { padding:66px 0; border-top-width:6px; }
  .reason-section .reason-card { min-height:0; padding:23px 19px 24px; border-top-width:6px; box-shadow:7px 7px 0 rgba(18,55,100,.1); }
  .reason-section .reason-card::after { font-size:74px; }
  .reason-section .reason-card h3 { font-size:20px; }
  .reason-section .reason-card p { font-size:14px; }
  .reason-summary { grid-template-columns:1fr; margin-top:23px; box-shadow:6px 6px 0 rgba(18,55,100,.1); }
  .reason-summary > div { padding:14px 12px; border-right:0; border-bottom:1px solid rgba(255,255,255,.22); }
  .reason-summary > div:last-child { border-bottom:0; }
  .reason-summary b { font-size:16px; }
  .reason-summary span { font-size:12px; }
}

/* Glossy, clearly tappable floating CTA buttons */
.float-actions a {
  isolation:isolate;
  border-radius:18px;
  border:2px solid rgba(255,255,255,.92);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.42),inset 0 -5px 0 rgba(0,0,0,.16),0 7px 0 rgba(15,39,71,.18),0 11px 22px rgba(15,39,71,.2);
  text-shadow:0 1px 1px rgba(0,0,0,.16);
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;
}
.float-actions a::before {
  content:"";
  position:absolute;
  z-index:-1;
  top:2px;
  right:8px;
  left:8px;
  height:46%;
  border-radius:14px 14px 48% 48%;
  background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,.04));
  pointer-events:none;
}
.float-actions a::after {
  content:"";
  position:absolute;
  z-index:2;
  top:-45%;
  bottom:-45%;
  left:-32%;
  width:18%;
  transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);
  pointer-events:none;
  animation:floatingButtonGloss 3.4s ease-in-out infinite;
}
.float-actions .float-form::after { animation-delay:.55s; }
.float-actions a:hover { transform:translateY(-2px); filter:brightness(1.06) saturate(1.05); box-shadow:inset 0 2px 0 rgba(255,255,255,.48),inset 0 -5px 0 rgba(0,0,0,.14),0 9px 0 rgba(15,39,71,.18),0 14px 26px rgba(15,39,71,.24); }
.float-actions a:active { transform:translateY(5px); box-shadow:inset 0 2px 0 rgba(255,255,255,.3),inset 0 -2px 0 rgba(0,0,0,.15),0 2px 0 rgba(15,39,71,.18),0 5px 10px rgba(15,39,71,.18); }
.float-call { background:linear-gradient(180deg,#2d659f 0%,#173f70 47%,#0b2342 100%); }
.float-form { background:linear-gradient(180deg,#ff6470 0%,#ee3444 47%,#c71526 100%); }

@keyframes floatingButtonGloss {
  0%,48% { left:-32%; opacity:0; }
  55% { opacity:.9; }
  78%,100% { left:122%; opacity:0; }
}

@media (max-width:680px) {
  .floating-mobile { gap:8px; padding:7px 7px calc(8px + env(safe-area-inset-bottom)); background:linear-gradient(180deg,#fff,#f2f5f8); }
  .floating-mobile a { position:relative; isolation:isolate; min-height:70px; margin:0; overflow:hidden; border:2px solid rgba(255,255,255,.94); border-radius:15px; box-shadow:inset 0 2px 0 rgba(255,255,255,.42),inset 0 -5px 0 rgba(0,0,0,.16),0 5px 0 rgba(15,39,71,.18),0 7px 14px rgba(15,39,71,.18); text-shadow:0 1px 1px rgba(0,0,0,.18); transition:transform .16s ease,filter .16s ease,box-shadow .16s ease; }
  .floating-mobile a::before { content:""; position:absolute; z-index:-1; top:2px; right:6px; left:6px; height:43%; border-radius:11px 11px 45% 45%; background:linear-gradient(180deg,rgba(255,255,255,.4),rgba(255,255,255,.03)); pointer-events:none; }
  .floating-mobile .mobile-call { background:linear-gradient(180deg,#2d659f 0%,#173f70 47%,#0b2342 100%); }
  .floating-mobile .mobile-form { border-left:2px solid rgba(255,255,255,.94); background:linear-gradient(180deg,#ff6470 0%,#ee3444 47%,#c71526 100%); }
  .floating-mobile .mobile-call::after { content:""; position:absolute; top:-45%; bottom:-45%; left:-35%; width:19%; transform:skewX(-20deg); background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent); animation:floatingButtonGloss 3.2s ease-in-out infinite; pointer-events:none; }
  .floating-mobile .mobile-form::after { width:19%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent); animation:floatingButtonGloss 3.2s ease-in-out .55s infinite; }
  .floating-mobile a:active { transform:translateY(4px); box-shadow:inset 0 2px 0 rgba(255,255,255,.3),inset 0 -2px 0 rgba(0,0,0,.15),0 1px 0 rgba(15,39,71,.16),0 3px 7px rgba(15,39,71,.16); }
}

@media (prefers-reduced-motion:reduce) {
  .float-actions a::after,.floating-mobile .mobile-call::after,.floating-mobile .mobile-form::after { animation:none; }
}

/* PHP Factory compatible assessment form */
body { padding-bottom:0; }
.assessment-form-section {
  position:relative;
  padding:86px 0 94px;
  color:var(--ink);
  background-color:#eef5fc;
  background-image:linear-gradient(rgba(18,55,100,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(18,55,100,.045) 1px,transparent 1px);
  background-size:26px 26px;
  border-top:9px solid var(--red);
}
.assessment-form-section::before { content:""; position:absolute; top:0; right:0; left:0; height:9px; background:linear-gradient(90deg,var(--red) 0 66%,var(--yellow) 66%); }
.assessment-form-layout { display:grid; grid-template-columns:minmax(250px,.68fr) minmax(0,1.32fr); align-items:start; gap:34px; }
.assessment-form-intro { position:sticky; top:108px; padding:31px 28px; color:#fff; background:var(--navy); border-left:9px solid var(--yellow); box-shadow:10px 10px 0 rgba(18,55,100,.13); }
.assessment-form-label { display:inline-flex; margin-bottom:20px; padding:6px 12px; color:#fff; background:var(--red); font-size:13px; font-weight:900; letter-spacing:.06em; }
.assessment-form-intro .eyebrow { color:var(--yellow); }
.assessment-form-intro h2 { margin:8px 0 14px; font-size:clamp(27px,3.2vw,40px); line-height:1.35; }
.assessment-form-intro h2 em { color:var(--yellow); font-style:normal; }
.assessment-form-intro > p { margin:0; color:rgba(255,255,255,.82); font-size:16px; line-height:1.85; }
.assessment-form-steps { display:grid; gap:0; margin:27px 0 0; padding:0; list-style:none; }
.assessment-form-steps li { position:relative; display:flex; align-items:center; gap:13px; min-height:75px; padding:12px 0; border-top:1px solid rgba(255,255,255,.17); }
.assessment-form-steps li:last-child { border-bottom:1px solid rgba(255,255,255,.17); }
.assessment-form-steps li > b { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; color:var(--navy); background:var(--yellow); font-size:18px; }
.assessment-form-steps li > span { display:grid; }
.assessment-form-steps strong { color:#fff; font-size:15px; }
.assessment-form-steps small { color:rgba(255,255,255,.7); font-size:12px; }
.assessment-assurance { display:flex; align-items:center; gap:12px; margin-top:22px; padding:14px; color:var(--navy); background:#fff; }
.assessment-assurance svg { flex:0 0 31px; width:31px; height:31px; fill:none; stroke:var(--red); stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.assessment-assurance span { display:grid; line-height:1.5; }
.assessment-assurance b { font-size:14px; }
.assessment-assurance small { color:#627086; font-size:11px; }

.assessment-form { min-width:0; padding:32px 34px 36px; background:#fff; border:3px solid var(--navy); box-shadow:12px 12px 0 rgba(18,55,100,.11); }
.form-progress { display:grid; grid-template-columns:auto 1fr auto 1fr auto; align-items:center; gap:8px; margin-bottom:20px; color:#8490a2; font-size:12px; font-weight:900; }
.form-progress span:first-child { color:var(--red); }
.form-progress i { height:2px; background:#dce3ea; }
.form-required-note { margin:0 0 24px; color:#657186; font-size:13px; text-align:right; }
.form-required-note span,.form-label b { display:inline-block; padding:2px 7px; color:#fff; background:var(--red); font-size:11px; font-weight:900; font-style:normal; vertical-align:middle; }
.form-fieldset { min-width:0; margin:0; padding:27px 0 31px; border:0; border-top:2px solid var(--navy); }
.form-fieldset legend { display:flex; align-items:center; gap:10px; padding:0 13px 0 0; color:var(--navy); font-size:20px; font-weight:900; }
.form-fieldset legend span { display:grid; place-items:center; width:39px; height:35px; color:#fff; background:var(--navy); font-size:14px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:19px 18px; }
.form-row { display:grid; align-content:start; gap:8px; min-width:0; }
.form-row-full { grid-column:1/-1; }
.form-label { color:var(--navy); font-size:15px; font-weight:900; }
.form-label small { color:#7b8798; font-size:12px; font-weight:700; }
.assessment-form input[type="text"],.assessment-form input[type="email"],.assessment-form input[type="tel"],.assessment-form select,.assessment-form textarea { width:100%; min-height:55px; padding:13px 14px; color:var(--ink); background:#f8fafc; border:2px solid #cfd9e4; border-radius:0; font:inherit; font-size:16px; line-height:1.5; outline:none; transition:border-color .18s,box-shadow .18s,background .18s; }
.assessment-form textarea { min-height:128px; resize:vertical; }
.assessment-form select { cursor:pointer; }
.assessment-form input:focus,.assessment-form select:focus,.assessment-form textarea:focus { background:#fff; border-color:var(--blue); box-shadow:0 0 0 4px rgba(69,111,159,.13); }
.assessment-form input.is-invalid,.assessment-form select.is-invalid,.assessment-form textarea.is-invalid,.form-choice-grid.is-invalid,.form-consent.is-invalid { border-color:#e52f3d; box-shadow:0 0 0 4px rgba(229,47,61,.1); }
.form-choice-grid { display:grid; gap:8px; }
.form-choice-grid-2 { grid-template-columns:repeat(2,1fr); }
.form-choice-grid-3 { grid-template-columns:repeat(3,1fr); }
.form-choice-grid label { position:relative; min-width:0; cursor:pointer; }
.form-choice-grid input { position:absolute; opacity:0; pointer-events:none; }
.form-choice-grid label span { display:flex; align-items:center; min-height:52px; padding:10px 12px 10px 39px; color:var(--navy); background:#f5f8fb; border:2px solid #d4dfe9; font-size:14px; font-weight:800; line-height:1.35; transition:border-color .18s,background .18s,color .18s,box-shadow .18s; }
.form-choice-grid label span::before { content:""; position:absolute; left:13px; width:16px; height:16px; background:#fff; border:2px solid #9aa8b9; }
.form-choice-grid input[type="radio"] + span::before { border-radius:50%; }
.form-choice-grid input:checked + span { color:var(--navy); background:var(--yellow-soft); border-color:var(--red); box-shadow:inset 6px 0 0 var(--red); }
.form-choice-grid input:checked + span::before { background:var(--red); border-color:var(--red); box-shadow:inset 0 0 0 4px #fff; }
.form-choice-grid input:focus-visible + span { outline:3px solid rgba(69,111,159,.3); outline-offset:2px; }
.form-consent { display:flex; align-items:flex-start; justify-content:center; gap:11px; margin:4px 0 18px; padding:16px; background:#f3f6f9; border:2px solid transparent; color:#44536a; font-size:13px; line-height:1.65; cursor:pointer; }
.form-consent input { flex:0 0 auto; width:21px; height:21px; margin-top:2px; accent-color:var(--red); }
.form-status { min-height:0; margin:0 0 12px; color:#c71526; font-size:14px; font-weight:900; text-align:center; }
.form-status:empty { display:none; }
.form-status.is-preview { padding:11px; color:var(--navy); background:var(--yellow-soft); border:1px solid #efd45f; }
.form-submit { position:relative; isolation:isolate; display:flex; align-items:center; justify-content:center; gap:22px; width:100%; min-height:82px; padding:13px 22px; overflow:hidden; color:#fff; background:linear-gradient(180deg,#ff5965 0%,#ef3341 50%,#c81727 100%); border:2px solid #fff; border-radius:13px; box-shadow:inset 0 2px 0 rgba(255,255,255,.4),inset 0 -6px 0 rgba(0,0,0,.13),0 7px 0 #941521,0 12px 24px rgba(143,20,34,.22); font-family:inherit; cursor:pointer; transition:transform .18s,filter .18s,box-shadow .18s; }
.form-submit::after { content:""; position:absolute; z-index:-1; top:-40%; bottom:-40%; left:-30%; width:17%; transform:skewX(-20deg); background:linear-gradient(90deg,transparent,rgba(255,255,255,.78),transparent); animation:floatingButtonGloss 3.1s ease-in-out infinite; }
.form-submit span { display:grid; line-height:1.3; }
.form-submit small { font-size:12px; font-weight:900; }
.form-submit b { font-size:23px; letter-spacing:.05em; }
.form-submit strong { font-size:29px; }
.form-submit:hover { filter:brightness(1.04); transform:translateY(-2px); }
.form-submit:active { transform:translateY(5px); box-shadow:inset 0 2px 0 rgba(255,255,255,.3),inset 0 -2px 0 rgba(0,0,0,.13),0 2px 0 #941521,0 5px 10px rgba(143,20,34,.2); }
.form-submit-note { display:flex; align-items:center; justify-content:center; gap:7px; margin:18px 0 0; color:#647187; font-size:12px; text-align:center; }
.form-submit-note svg { flex:0 0 19px; width:19px; height:19px; fill:none; stroke:var(--red); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

.floating-banner { transition:opacity .28s ease,transform .28s ease,visibility .28s; }
.floating-banner.is-hidden { opacity:0; visibility:hidden; transform:translateY(110%); pointer-events:none; }
.site-footer { padding:34px 0; }

@media (max-width:900px) {
  .assessment-form-layout { grid-template-columns:1fr; gap:23px; }
  .assessment-form-intro { position:relative; top:auto; }
  .assessment-form-steps { grid-template-columns:repeat(3,1fr); gap:8px; }
  .assessment-form-steps li { display:grid; align-content:start; min-height:145px; padding:15px 11px; border:1px solid rgba(255,255,255,.17); }
  .assessment-form-steps li:last-child { border-bottom:1px solid rgba(255,255,255,.17); }
}

@media (max-width:680px) {
  .assessment-form-section { padding:59px 0 67px; border-top-width:7px; }
  .assessment-form-layout { width:min(100% - 24px,1160px); }
  .assessment-form-intro { padding:25px 19px; border-left-width:7px; box-shadow:7px 7px 0 rgba(18,55,100,.12); }
  .assessment-form-label { margin-bottom:15px; font-size:11px; }
  .assessment-form-intro h2 { font-size:29px; }
  .assessment-form-intro > p { font-size:15px; }
  .assessment-form-steps { grid-template-columns:1fr; }
  .assessment-form-steps li { display:flex; min-height:0; padding:12px 0; border-width:1px 0 0; }
  .assessment-form-steps li:last-child { border-width:1px 0; }
  .assessment-form { padding:24px 16px 28px; border-width:2px; box-shadow:7px 7px 0 rgba(18,55,100,.1); }
  .form-fieldset { padding:24px 0 28px; }
  .form-fieldset legend { font-size:18px; }
  .form-grid { grid-template-columns:1fr; gap:17px; }
  .form-row-full { grid-column:auto; }
  .form-choice-grid-3 { grid-template-columns:1fr; }
  .form-choice-grid-2 { grid-template-columns:1fr 1fr; }
  .form-choice-grid label span { min-height:50px; font-size:13px; }
  .form-consent { font-size:12px; }
  .form-submit { min-height:76px; gap:14px; padding:12px 14px; }
  .form-submit b { font-size:20px; }
  .form-submit strong { font-size:25px; }
  .form-submit-note { align-items:flex-start; text-align:left; }
  .site-footer { padding:30px 0 calc(30px + env(safe-area-inset-bottom)); }
}

@media (max-width:390px) {
  .form-choice-grid-2 { grid-template-columns:1fr; }
  .assessment-form-intro h2 { font-size:27px; }
}

@media (prefers-reduced-motion:reduce) {
  .form-submit::after { animation:none; }
  .floating-banner { transition:none; }
}

/* Stronger title hierarchy */
.hero-cta h2,
.section-heading h2,
.intro-section h2,
.credibility-copy h2,
.contact-section h2,
.assessment-form-intro h2 { font-weight:900; }
.hero-cta h2 em,
.section-heading h2 em,
.intro-section h2 em,
.credibility-copy h2 em,
.contact-section h2 em,
.assessment-form-intro h2 em { font-weight:900; }
.section-heading .eyebrow,
.assessment-form-intro .eyebrow,
.assessment-form-label,
.hero-cta-kicker { font-weight:900; }
.concern-card h3,
.flow-card h3,
.compare-story-title h3,
.risk-card h3,
.valuation-result-copy h3,
.case-content h3,
.reason-card h3,
.form-fieldset legend,
.form-label,
.faq-list summary { font-weight:900; }
.assessment-form-steps strong,
.form-choice-grid label span,
.form-submit b { font-weight:900; }
