/* CSA editorial styles. ASA header/footer retain their shared base styling. */
:root { --csa-navy:#0f1f7a; --csa-blue:#0056b3; --csa-green:#28a745; --csa-teal:#20c997; --csa-grey:#f8f9fa; --csa-border:#e9ecef; }
.csa-public { font-size:1rem; line-height:1.6; }
.csa-public img { max-width:100%; }
.csa-public a { text-underline-offset:3px; }
.csa-public .navbar-brand { min-width:0; }
.csa-public .navbar-brand img { width:auto; object-fit:contain; }
.csa-public .navbar-nav { min-width:0; }
.csa-public :focus-visible { outline:3px solid var(--csa-teal); outline-offset:4px; }
.csa-skip { position:fixed; left:12px; top:-100px; z-index:1100; background:white; padding:12px; }
.csa-skip:focus { top:12px; }
#main { min-width:0; }
#main h1, #main h2, #main h3 { font-weight:700; line-height:1.22; }
#main h2, #main h3 { color:var(--csa-navy); }
#main h2 { font-size:clamp(1.75rem,2.6vw,2.35rem); }
#main h3 { font-size:1.25rem; }
#main a:not(.btn):not(.csa-secondary) { color:var(--csa-blue); }
.csa-wrap { width:100%; max-width:1320px; margin-inline:auto; padding-inline:12px; min-width:0; }
.csa-section { padding-block:52px; }
.csa-eyebrow { display:block; color:var(--csa-blue); font-size:.8rem; font-weight:700; letter-spacing:.1em; margin-bottom:12px; }
.csa-primary, .csa-primary:visited { background:var(--csa-navy); color:white; border:1px solid var(--csa-navy); border-radius:6px; padding:12px 22px; font-weight:600; display:inline-flex; gap:10px; justify-content:center; align-items:center; }
.csa-primary:hover { background:var(--csa-blue); border-color:var(--csa-blue); color:white; }
.csa-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.csa-hero { background:#0f1f7a; color:white; padding:48px; }
.csa-hero h1 { font-size:clamp(1.9rem,2.6vw,2.55rem); margin-bottom:22px; }
.csa-hero .lead { font-size:1.15rem; line-height:1.6; max-width:660px; }
.csa-hero .badge { white-space:normal; }
.csa-hero-brand { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:26px; }
.csa-hero-logo { width:100%; max-width:320px; max-height:170px; object-fit:contain; filter:brightness(0) invert(1); }
.csa-verification { width:240px; height:auto; max-height:60px; }
.csa-hero .csa-primary, .csa-closing .csa-primary { background:white; color:var(--csa-navy); border-color:white; }
.csa-secondary { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:12px 22px; border:1px solid white; border-radius:6px; color:white; text-decoration:none; font-weight:600; }
.csa-secondary:hover { background:white; color:var(--csa-navy); }
.csa-ticks { display:flex; flex-wrap:wrap; gap:10px 20px; margin:25px 0 0; padding:0; list-style:none; font-size:.875rem; }
.csa-ticks i { color:#59d884; margin-right:4px; }
.csa-intro-bar { margin-top:24px; }
.csa-intro-bar .csa-wrap { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.csa-intro-bar p { display:flex; align-items:center; gap:14px; padding:24px; margin:0; background:white; border:1px solid var(--csa-border); border-radius:15px; box-shadow:0 5px 20px #0f1f7a0a; font-weight:600; color:var(--csa-navy); }
.csa-intro-bar i { display:flex; flex-shrink:0; align-items:center; justify-content:center; height:45px; width:45px; border-radius:12px; background:#edf2fb; font-size:1.3rem; color:var(--csa-blue); }
.csa-heading-row { max-width:860px; text-align:center; margin:0 auto 32px; }
.csa-heading-row h2 { margin-bottom:16px; }
.csa-heading-row>p { color:#59616a; margin:0; }
.csa-heading-row:after { content:''; display:block; margin:22px auto 0; height:4px; width:70px; background:linear-gradient(90deg,var(--csa-navy),var(--csa-blue)); border-radius:2px; }
.csa-paths { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.csa-path { padding:30px; border:1px solid var(--csa-border); border-top:4px solid var(--csa-navy); border-radius:0 0 15px 15px; background:white; box-shadow:0 8px 24px #0f1f7a0a; }
.csa-path:nth-child(2) { border-top-color:var(--csa-teal); }
.csa-path h3 { display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.csa-path h3 i { background:#eff2fb; padding:15px; border-radius:12px; font-size:1.5rem; }
.csa-path li { margin-bottom:8px; }
.csa-path>a { font-weight:600; }
.csa-muted-band { background:var(--csa-grey); }
.csa-process { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.csa-process article { padding:24px; background:white; border:1px solid var(--csa-border); border-radius:15px; box-shadow:0 5px 20px #0f1f7a08; }
.csa-number { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; background:linear-gradient(135deg,var(--csa-navy),var(--csa-blue)); color:white; border-radius:50%; font-size:1.1rem; font-weight:700; margin-bottom:18px; }
.csa-process h3 { margin-bottom:12px; }
.csa-process p { margin:0; color:#59616a; font-size:.95rem; }
.csa-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:center; }
.csa-split>*, .csa-local-grid>*, .csa-plan-grid>* { min-width:0; }
.csa-split figure { margin:0; }
.csa-split figure img { display:block; width:100%; height:380px; object-fit:cover; border-radius:15px; }
.csa-credit { font-size:.72rem; color:#626a73; line-height:1.5; margin-top:10px; }
.csa-credit a { color:inherit!important; }
.csa-split h2 { margin-bottom:20px; }
.csa-detail-list { padding:0; list-style:none; }
.csa-detail-list li { display:grid; grid-template-columns:24px minmax(0,1fr); gap:10px; margin-top:18px; }
.csa-detail-list i { color:var(--csa-green); padding-top:5px; }
.csa-detail-list strong { display:block; color:var(--csa-navy); }
.csa-plan-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:18px; }
.csa-plan { background:white; border:1px solid var(--csa-border); border-top:4px solid var(--csa-navy); border-radius:15px; padding:26px 22px; display:flex; flex-direction:column; box-shadow:0 5px 20px #0f1f7a0a; }
.csa-plan h3 { font-size:1.15rem!important; min-height:3em; }
.csa-price { color:var(--csa-navy); font-size:2.1rem; font-weight:700; margin:14px 0; }
.csa-plan ul { padding-left:18px; flex:1; font-size:.925rem; }
.csa-plan li { margin-bottom:8px; }
.csa-plan .btn { padding:11px 12px; font-size:.925rem; }
.csa-price-unavailable { background:white; border:1px solid var(--csa-border); border-radius:15px; padding:24px; }
.csa-colorado-landscape { position:relative; margin:0 0 24px; border-radius:15px; overflow:hidden; }
.csa-colorado-landscape img { display:block; width:100%; height:220px; object-fit:cover; object-position:center 42%; }
.csa-colorado-landscape figcaption { position:absolute; bottom:0; left:0; right:0; padding:35px 24px 18px; color:white; background:linear-gradient(transparent,#081340c9); font-weight:600; }
.csa-local-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:20px; }
.csa-local-grid article { padding:24px; border:1px solid var(--csa-border); border-radius:15px; background:white; }
.csa-local-grid h3 { font-size:1.1rem!important; margin-bottom:18px; }
.csa-local-grid h3 i { margin-right:8px; }
.csa-local-grid ul { list-style:none; padding:0; margin:0; columns:2; column-gap:18px; }
.csa-local-grid li { break-inside:avoid; margin-bottom:10px; font-size:.925rem; }
.csa-field-note { background:#eff4fa; border-left:4px solid var(--csa-blue); border-radius:0 12px 12px 0; padding:24px; margin-top:22px; }
.csa-field-note p { margin:0; }
.csa-faq-layout { display:grid; grid-template-columns:1fr 1.6fr; gap:45px; }
.csa-faqs details { padding:18px 22px; background:white; border:1px solid var(--csa-border); border-radius:10px; margin-bottom:12px; }
.csa-faqs summary { color:var(--csa-navy); font-weight:600; cursor:pointer; }
.csa-faqs p { margin:14px 0 0; }
.csa-closing { background:var(--csa-navy); color:white; border-radius:15px; position:relative; overflow:hidden; margin-top:44px; padding:40px; text-align:center; }
.csa-closing:before { content:''; position:absolute; inset:0; background:url('/static/images/pet-bg-pattern-950.webp') repeat;background-image:image-set(url('/static/images/pet-bg-pattern.avif') type('image/avif'),url('/static/images/pet-bg-pattern-950.webp') type('image/webp')); background-size:475px; filter:invert(1); opacity:.12; pointer-events:none; }
.csa-closing .csa-wrap { position:relative; max-width:850px; }
#main .csa-closing h2 { color:white; }
.csa-closing p { margin:18px auto 0; max-width:650px; }
.csa-closing .csa-actions { justify-content:center; }
.csa-editor-note { font-size:.8rem; color:#626a73; padding-block:20px; }
.csa-public footer { font-size:1rem; font-weight:400; line-height:1.5; }
.csa-public footer img { object-fit:contain; }
.csa-public footer .row>* { min-width:0; }
.csa-public footer a { overflow-wrap:anywhere; }
.csa-login { max-width:580px; margin:auto; }
.csa-login h1,.csa-notice h1 { font-size:2rem; }
.csa-login label { display:block; font-weight:600; margin-top:20px; }
.csa-login input { width:100%; border:1px solid #adb5bd; padding:12px; border-radius:6px; }
.csa-login button { width:100%; margin:25px 0; }
.csa-directory { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.csa-directory a { padding:20px; border:1px solid var(--csa-border); border-radius:15px; }
.csa-notice { max-width:800px; margin:auto; }
.csa-notice>i { color:var(--csa-blue); font-size:3rem; margin-bottom:25px; }
.csa-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; padding-block:20px; font-size:.925rem; }
.csa-article p { max-width:80ch; }
.csa-article h2 { margin-bottom:25px; }
.csa-article li { margin-bottom:12px; }
@media (min-width:1200px) and (max-width:1399px) { .csa-wrap { max-width:1140px; } }
@media (min-width:992px) and (max-width:1199px) { .csa-wrap { max-width:960px; } .csa-public .navbar-expand-lg { flex-wrap:wrap; } .csa-public .navbar-white .navbar-brand img { height:44px!important; } .csa-public .navbar-white .nav-link { font-size:.82rem; padding-inline:.35rem!important; margin:0; } .csa-public a.nav-border { min-width:0; } }
@media (min-width:768px) and (max-width:991px) { .csa-wrap { max-width:720px; } }
@media (min-width:576px) and (max-width:767px) { .csa-wrap { max-width:540px; } }
@media (max-width:991px) { .csa-public .navbar-collapse { padding-block:16px; } .csa-public .navbar-white .nav-link { padding-block:9px!important; } .csa-hero { padding:32px; } .csa-hero-brand { padding-top:12px; gap:18px; } .csa-hero-logo { max-height:110px; } .csa-verification { width:190px; } .csa-intro-bar p { padding:18px; flex-direction:column; text-align:center; } .csa-process { grid-template-columns:repeat(2,minmax(0,1fr)); } .csa-split { gap:28px; } .csa-local-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .csa-local-grid article:first-child { grid-column:1/-1; } }
@media (max-width:767px) {
 .csa-section { padding-block:34px; } .csa-wrap { padding-inline:16px; }
 .csa-hero-shell { padding-inline:12px; } .csa-hero { padding:28px 22px; } .csa-hero h1 { font-size:1.9rem; } .csa-hero .lead { font-size:1.05rem; } .csa-hero .csa-actions { flex-direction:column; gap:10px; margin-top:22px; } .csa-hero-brand { padding-top:6px; } .csa-hero-logo { max-height:90px; } .csa-verification { max-height:40px; } .csa-ticks { gap:8px 16px; font-size:.8rem; }
 .csa-intro-bar .csa-wrap { grid-template-columns:1fr; gap:10px; } .csa-intro-bar p { padding:16px; flex-direction:row; text-align:left; font-size:.95rem; } .csa-intro-bar i { width:38px; height:38px; font-size:1.1rem; }
 .csa-heading-row { margin-bottom:24px; } .csa-heading-row>p { font-size:.95rem; } .csa-paths,.csa-split,.csa-faq-layout { grid-template-columns:1fr; } .csa-path { padding:22px; } .csa-path h3 { font-size:1.15rem!important; } .csa-path h3 i { padding:12px; }
 .csa-process { gap:12px; } .csa-process article { padding:18px 15px; } .csa-process h3 { font-size:1.05rem!important; } .csa-process p { font-size:.9rem; } .csa-number { width:40px; height:40px; font-size:1rem; margin-bottom:14px; }
 .csa-split { gap:24px; } .csa-split figure img { height:260px; } .csa-detail-list li { margin-top:14px; }
 .csa-plan-grid { grid-template-columns:1fr; } .csa-plan h3 { min-height:0; } .csa-plan { padding:22px; } .csa-price { margin:8px 0; } .csa-plan ul { columns:2; column-gap:24px; } .csa-plan li { break-inside:avoid; }
 .csa-local-grid { grid-template-columns:1fr; gap:12px; } .csa-local-grid article { padding:20px; } .csa-local-grid article:first-child { grid-column:auto; } .csa-colorado-landscape img { height:190px; } .csa-colorado-landscape figcaption { font-size:.9rem; padding-inline:18px; }
 .csa-faq-layout { gap:8px; } .csa-faqs details { padding:16px; } .csa-closing { width:calc(100% - 24px); padding:28px 10px; margin-top:28px; } .csa-closing .csa-actions>* { width:100%; } .csa-directory { grid-template-columns:1fr; }
}
@media (max-width:575px) { .csa-public .navbar-brand { max-width:calc(100% - 68px); margin-right:8px; } .csa-public .navbar-brand img { width:100%; height:auto!important; max-height:55px; } .csa-public .navbar-toggler { padding:8px 10px; } }
@media (max-width:359px) { .csa-process { grid-template-columns:1fr; } .csa-plan ul { columns:1; } .csa-hero h1 { font-size:1.7rem; } .csa-hero { padding:24px 18px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .csa-public *, .csa-public *::before,.csa-public *::after { transition:none!important; animation:none!important; } }
