.campaign{background:var(--color-gray-50)}.campaign-hero{position:relative;overflow:hidden;background:var(--color-black);color:#fff;padding:calc(var(--header-height) + var(--space-16)) 0 var(--space-16)}.campaign-hero__background{position:absolute;inset:0;background:linear-gradient(to right,#222222f0,#222222d1 55%,#2222228c),url(/images/photos/hero-firefighters.jpg) center / cover no-repeat}.campaign-hero__background:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 25% 40%,rgba(163,2,2,.22),transparent 70%)}.campaign-hero__content{position:relative;max-width:900px}.campaign-hero .section-label{color:#ff6b6b;margin-bottom:var(--space-4)}.campaign-hero h1{font-size:clamp(1.9rem,3.6vw,3.25rem);line-height:1.12;letter-spacing:-.005em;color:#fff;max-width:860px;margin-bottom:var(--space-6)}.campaign-hero__description{font-size:var(--text-xl);color:#ffffffc7;line-height:1.6;max-width:640px}.campaign-hero--compact{padding-top:calc(var(--header-height) + var(--space-10));padding-bottom:var(--space-10)}.campaign-callout{background:var(--color-red);color:#fff;text-align:center;padding:var(--space-10) 0;border-block:1px solid rgba(0,0,0,.15)}.campaign-callout h2{color:#fff;font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.15;margin:0 auto var(--space-3);max-width:820px}.campaign-callout p{font-size:var(--text-lg);color:#ffffffe6;max-width:600px;margin:auto}.campaign-body{padding-top:var(--space-12);padding-bottom:var(--space-16)}.campaign .workspace{display:grid;grid-template-columns:1.15fr 1fr;gap:var(--space-12);align-items:start}.campaign .panel{background:#fff;border:1px solid var(--color-gray-200);padding:var(--space-8);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.campaign h2{font-size:clamp(1.6rem,3vw,2.25rem);line-height:1.15;margin-bottom:var(--space-6)}.campaign h3{font-size:var(--text-2xl);margin-bottom:var(--space-4)}.campaign .workspace>div>p{color:var(--color-gray-600);font-size:var(--text-lg);line-height:1.7}.campaign label{display:block;font-family:var(--font-heading);font-size:1rem;font-weight:600;letter-spacing:.02em;color:var(--color-gray-700);margin-bottom:var(--space-2)}.campaign input:not([type=hidden]):not([type=checkbox]),.campaign select,.campaign textarea{display:block;width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);font:inherit;color:var(--color-gray-800);background:#fff;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.campaign input:focus,.campaign select:focus,.campaign textarea:focus{border-color:var(--color-red);box-shadow:0 0 0 3px #a302021a}.campaign textarea{resize:vertical;min-height:120px}.campaign .field{margin-bottom:var(--space-6)}.campaign fieldset{border:0;border-bottom:1px solid var(--color-gray-200);padding:var(--space-4) 0 var(--space-6);margin-bottom:var(--space-6);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.campaign legend{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:600;color:var(--color-black)}.campaign fieldset label{display:flex;align-items:center;gap:.65rem;font-family:var(--font-body);font-weight:400;letter-spacing:0;margin:0;min-height:36px}.campaign input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-red);flex-shrink:0}.campaign .result{position:sticky;top:calc(var(--header-height) + var(--space-6));background:var(--color-black);color:#ffffffd1;border:0;box-shadow:var(--shadow-lg);overflow:hidden}.campaign .result:before{content:"";display:block;height:4px;background:var(--color-red);position:absolute;inset:0 0 auto}.campaign .result h2,.campaign .result h3{color:#fff}.campaign .number{font:700 clamp(2.75rem,4vw,3.75rem)/1.1 var(--font-heading);display:block;color:#fff;margin-bottom:var(--space-2)}.campaign .metric{padding:var(--space-5) 0;border-bottom:1px solid rgba(255,255,255,.16)}.campaign .note{font-size:var(--text-sm);margin:var(--space-4) 0;line-height:1.7}.campaign .actions{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-8)}.campaign .section-block{margin-top:var(--space-12)}.campaign section.section-block{padding:var(--space-12) 0 0;border-top:1px solid var(--color-gray-200);max-width:var(--max-width-narrow)}.campaign section.section-block p{font-size:var(--text-lg);line-height:1.7;color:var(--color-gray-600);margin-bottom:var(--space-4)}.campaign ul,.campaign ol{padding-left:1.4rem}.campaign li{margin-bottom:var(--space-4);line-height:1.7}.campaign--records-migration ol{list-style:none;padding:0;counter-reset:steps}.campaign--records-migration ol li{counter-increment:steps;position:relative;padding:0 0 var(--space-6) 3rem;margin-bottom:var(--space-6);border-bottom:1px solid var(--color-gray-200);color:var(--color-gray-600)}.campaign--records-migration ol li:before{content:counter(steps);position:absolute;left:0;top:0;font:700 2rem/1 var(--font-heading);color:var(--color-red)}.campaign--records-migration ol strong{display:block;color:var(--color-black);font:600 var(--text-2xl)/1.2 var(--font-heading);margin-bottom:var(--space-2)}.campaign a:not(.btn){color:var(--color-red);text-decoration:underline}.campaign .result a:not(.btn){color:#fff}.campaign :focus-visible{outline:3px solid #d29622;outline-offset:3px}.campaign [hidden]{display:none!important}.campaign .trap{position:absolute;left:-9999px}.campaign .form-error{color:var(--color-red)}.campaign #quote{scroll-margin-top:calc(var(--header-height) + var(--space-6))}@media(max-width:768px){.campaign-hero{padding:calc(var(--header-height) + var(--space-10)) 0 var(--space-10)}.campaign .workspace{grid-template-columns:1fr;gap:var(--space-8)}.campaign .panel{padding:var(--space-6)}.campaign .result{position:static}.campaign-hero .actions .btn{width:100%;text-align:center}.campaign-body{padding-top:var(--space-8)}}@media(max-width:400px){.campaign fieldset{grid-template-columns:1fr}}@media print{header,footer,nav,.campaign .actions,.campaign button,.campaign-hero__background,.campaign-callout{display:none!important}.campaign,.campaign .result,.campaign .panel,.campaign-hero{background:#fff;color:#000;box-shadow:none}.campaign .result h2,.campaign .number,.campaign-hero h1,.campaign-hero__description{color:#000}.campaign-hero{padding:1rem 0}.campaign .workspace{display:block}.campaign .result{position:static;margin-top:1rem}}.campaign #annual-estimate{scroll-margin-top:calc(var(--header-height) + var(--space-6))}.campaign .calculator-quote{max-width:var(--max-width-narrow);margin:var(--space-12) auto 0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
