
html { scroll-behavior:smooth; }
header .cv-header-action { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 20px; border:1px solid #789689; border-radius:12px; color:#edf7f1; background:transparent; font-size:14px; font-weight:650; line-height:1.4; text-decoration:none; transition:background .16s,color .16s,border-color .16s; }
header .cv-header-action:hover { background:#e8f5ed; color:#062d16; border-color:#e8f5ed; }
header .cv-header-action:active { background:#c7ebd5; border-color:#c7ebd5; }
.cv-primary-action,.cv-button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:58px; padding:15px 20px 13px 22px; border:1px solid #008f32; border-bottom:3px solid #087c38; border-radius:12px; background:#00b33c; color:#062d16; font-family:inherit; font-size:16px; line-height:1.4; font-weight:750; text-decoration:none; box-shadow:none; transition:background .16s,transform .16s,border-color .16s; }
.cv-primary-action { margin-top:22px; min-width:278px; }
.cv-button { width:100%; }
.cv-primary-action svg,.cv-button svg { box-sizing:content-box; flex:none; width:20px; height:20px; padding-left:18px; border-left:1px solid #087c38; }
.cv-primary-action:hover,.cv-button:hover:not(:disabled) { background:#14c653; border-color:#008f32; border-bottom-color:#087c38; transform:translateY(-1px); }
.cv-primary-action:active,.cv-button:active:not(:disabled) { background:#00a83b; transform:translateY(2px); border-bottom-width:1px; padding-bottom:15px; }
.cv-primary-action:focus-visible,.cv-button:focus-visible,header .cv-header-action:focus-visible,.cv-calc-link:focus-visible { outline:3px solid #e78b32; outline-offset:4px; }
.cv-button:disabled { background:#d8e2dc; border-color:#b8c9bf; color:#52635b; opacity:1; cursor:wait; transform:none; }
.cv-button:disabled svg { border-color:#b8c9bf; }
.cv-calc-link { display:inline-flex; align-items:center; min-height:44px; color:#edf7f1; font-size:15px; font-weight:600; text-decoration:underline; text-decoration-color:#789689; text-underline-offset:5px; }
.cv-calc-link:hover { color:#a6edbf; text-decoration-color:currentColor; }
#offer-form { scroll-margin-top:88px; }
.cv-hero { padding-top:44px; padding-bottom:44px; }
.cv-hero-grid { gap:56px; grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr); }
.cv-hero h1 { font-size:48px; max-width:18ch; margin-bottom:18px; }
.cv-lead { font-size:16px; line-height:1.6; max-width:54ch; }
.promo-offer { margin-top:24px; padding:24px; border:0; border-radius:12px; background:#e8f5ed; color:#10231b; }
.promo-heading { display:grid; grid-template-columns:minmax(0,1fr) 34%; gap:12px; align-items:center; }
.promo-special { color:#087c38; font-size:14px; line-height:1.5; font-weight:750; margin:0 0 14px; }
.promo-illustration { width:100%; max-width:205px; height:auto; aspect-ratio:1; object-fit:contain; }
.promo-offer h2 { font-size:26px; line-height:1.25; letter-spacing:-.025em; font-weight:500; margin:0; }
.promo-offer h2 strong { display:block; color:#087c38; font-size:48px; line-height:1.12; margin-top:3px; font-weight:750; }
.promo-offer h2 span { display:block; margin-top:8px; color:#10231b; font-size:17px; line-height:1.5; letter-spacing:0; }
.promo-copy { color:#3e5e4c; margin:16px 0 0; font-size:15px; line-height:1.65; max-width:55ch; }
.promo-copy strong { color:#10231b; font-weight:750; }
.promo-promise { margin:16px 0 0; color:#10231b; font-size:16px; line-height:1.5; font-weight:750; }
.cv-benefits { font-size:12px; gap:8px 15px; margin-top:20px; }
.cv-hero-actions { margin-top:12px; gap:12px 22px; }
.cv-status { font-size:12px; margin-top:18px; }
.promo-form-note { margin:16px 0 18px; padding:13px 15px; background:#edf6f0; border-radius:8px; }
.promo-form-note strong { display:block; color:#087c38; font-size:15px; font-weight:750; }
.promo-form-note span { display:block; margin-top:4px; color:#3e5e4c; font-size:12px; line-height:1.55; }
.cv-panel > p { font-size:14px; }
.cv-reassurance,.cv-contact-hours { color:#52635b; }
.promo-benefits { color:#f5faf7; background:#10251c; padding:36px 24px 40px; border-top:1px solid #294238; }
.promo-benefits h2 { margin:0 0 30px; font-size:25px; line-height:1.3; letter-spacing:-.02em; font-weight:500; }
.promo-benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.promo-benefit-grid > div + div { border-left:1px solid #355045; padding-left:28px; }
.promo-benefit-grid h3 { font-size:16px; line-height:1.4; margin:0 0 10px; font-weight:700; color:#e9f6ee; }
.promo-benefit-grid p { color:#b9c8c0; font-size:14px; line-height:1.65; margin:0; }
header button { min-height:44px; min-width:44px; }
@media(max-width:800px) {
 .cv-hero { padding:28px 20px 32px; }
 .cv-hero-grid { grid-template-columns:1fr; gap:28px; }
 .cv-hero h1 { font-size:32px; max-width:18ch; }
 .cv-lead { font-size:14px; line-height:1.65; }
 .promo-offer { margin-top:20px; padding:20px; }
 .promo-heading { grid-template-columns:1fr; gap:10px; }
 .promo-illustration { width:180px; height:180px; justify-self:center; }
 .promo-offer h2 { font-size:23px; }
 .promo-offer h2 strong { font-size:clamp(30px,10vw,40px); }
 .promo-offer h2 span { font-size:16px; }
 .promo-copy { font-size:14px; }
 .cv-primary-action { width:100%; min-width:0; }
 .cv-primary-action,.cv-button { font-size:15px; gap:12px; padding-inline:18px; }
 .cv-primary-action svg,.cv-button svg { padding-left:14px; }
 .cv-benefits { font-size:12px; gap:8px 12px; }
 .cv-hero-actions { gap:12px; }
 .cv-action-note { font-size:12px; }
 .cv-status { font-size:12px; line-height:1.6; }
 .promo-benefits { padding:30px 20px; }
 .promo-benefits h2 { font-size:23px; margin-bottom:24px; }
 .promo-benefit-grid { grid-template-columns:1fr; gap:20px; }
 .promo-benefit-grid > div + div { border-left:0; padding-left:0; border-top:1px solid #355045; padding-top:20px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .cv-primary-action,.cv-button,.cv-header-action { transition:none; } .cv-primary-action:hover,.cv-primary-action:active,.cv-button:hover:not(:disabled),.cv-button:active:not(:disabled) { transform:none; } }
.cv-button:not(:has(svg)) { justify-content:center; }
