/* FiveCheckMate — additive enhancement layer (v8). Loaded after site.css; does not alter existing animations. */
.fcm-progress{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#3C7A62,#4B78A8,#D9823B,#B8863E);z-index:120;pointer-events:none}
/* hero entrance (transform-only on H1 so LCP is never delayed) */
@keyframes fcmRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes fcmSlide{from{transform:translateY(16px)}to{transform:none}}
.subhero-copy-v7 .eyebrow,.subhero-copy-v7>p,.subhero-copy-v7 .hero-actions,.subhero-copy-v7 .page-kicker,.subhero-copy-v7 .back-home-v7{animation:fcmRise .7s cubic-bezier(.2,.7,.2,1) both}
.subhero-copy-v7 .eyebrow{animation-delay:.05s}.subhero-copy-v7>p{animation-delay:.22s}.subhero-copy-v7 .hero-actions{animation-delay:.34s}.subhero-copy-v7 .page-kicker{animation-delay:.46s}
.subhero-copy-v7 h1{animation:fcmSlide .75s cubic-bezier(.2,.7,.2,1) both}
/* nav underline + footer slide */
.links a:not(.nav-cta){position:relative}
.links a:not(.nav-cta):after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:2px;background:var(--gold,#B8863E);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.links a:not(.nav-cta):hover:after{transform:scaleX(1)}
.footer a{transition:transform .25s ease,color .25s ease}.footer-grid a:hover{transform:translateX(4px)}
/* card polish (keeps the existing accent bar and icon hover from site.css) */
.card:hover{border-color:rgba(184,134,62,.55)}
/* process steps: number pop + connector */
@keyframes fcmPop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.12)}100%{transform:scale(1);opacity:1}}
.step.visible b{display:inline-block;animation:fcmPop .55s ease both}
/* buttons */
.btn.primary{position:relative;overflow:hidden}
.btn.primary:after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-18deg);transition:left .6s ease}
.btn.primary:hover:after{left:130%}
/* faq open */
@keyframes fcmDrop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.faq details[open]>p{animation:fcmDrop .35s ease both}
.faq details summary{cursor:pointer}
/* related services */
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.related-grid a.card{display:block;text-decoration:none;color:inherit}
.related-grid a.card h3{margin:0 0 6px;font-size:1.05rem}
.related-grid a.card p{margin:0 0 10px;color:var(--muted,#62645F);font-size:.92rem}
.related-grid a.card .go{font:600 .78rem 'Courier New',monospace;color:var(--gold,#B8863E);letter-spacing:.04em}
/* interactive checklist */
.ck-wrap{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;align-items:start}
.ck-side{position:sticky;top:96px;background:#fff;border:1px solid var(--line,#DED5C0);border-radius:18px;padding:22px;text-align:center;box-shadow:var(--shadow,0 18px 50px rgba(27,42,74,.08))}
.ck-ring{width:150px;height:150px;margin:0 auto 10px;position:relative}
.ck-ring svg{width:150px;height:150px;transform:rotate(-90deg)}
.ck-ring circle{fill:none;stroke-width:10}
.ck-ring .bg{stroke:#EFE8D7}
.ck-ring .fg{stroke:url(#ckGrad);stroke-linecap:round;stroke-dasharray:377;stroke-dashoffset:377;transition:stroke-dashoffset .8s cubic-bezier(.2,.7,.2,1)}
.ck-pct{position:absolute;inset:0;display:grid;place-items:center;font:700 1.9rem Georgia,serif;color:var(--ink,#1B2A4A)}
.ck-side small{display:block;color:var(--muted,#62645F);margin-bottom:12px}
.ck-side .btn{width:100%;margin-top:8px}
.ck-group{margin:0 0 26px}
.ck-group h3{font-size:1.2rem;margin:0 0 10px;display:flex;align-items:center;gap:10px}
.ck-group h3 span{font:500 .68rem 'Courier New',monospace;color:var(--green,#3C7A62);letter-spacing:.1em}
.ck-item{display:grid;grid-template-columns:28px 1fr;gap:12px;background:#fff;border:1px solid var(--line,#DED5C0);border-radius:14px;padding:14px 16px;margin:0 0 10px;cursor:pointer;transition:border-color .3s,box-shadow .3s,transform .3s,background .3s}
.ck-item:hover{transform:translateY(-2px);box-shadow:var(--shadow,0 18px 50px rgba(27,42,74,.08))}
.ck-item input{position:absolute;opacity:0;pointer-events:none}
.ck-box{width:24px;height:24px;border:2px solid var(--gold,#B8863E);border-radius:7px;display:grid;place-items:center;transition:background .25s,transform .25s;margin-top:2px}
.ck-box svg{width:14px;height:14px;stroke:#fff;stroke-width:3;fill:none;stroke-dasharray:22;stroke-dashoffset:22;transition:stroke-dashoffset .35s ease .05s}
.ck-item input:checked+.ck-box{background:var(--green,#3C7A62);border-color:var(--green,#3C7A62);transform:scale(1.06)}
.ck-item input:checked+.ck-box svg{stroke-dashoffset:0}
.ck-item:has(input:checked){border-color:rgba(60,122,98,.55);background:#F4FAF6}
.ck-item input:focus-visible+.ck-box{outline:3px solid rgba(75,120,168,.5);outline-offset:2px}
.ck-item b{display:block;color:var(--ink,#1B2A4A);font-weight:600}
.ck-item em{display:block;font-style:normal;color:var(--muted,#62645F);font-size:.9rem;margin-top:2px}
.flags{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.flags li{list-style:none;background:#FFF8F1;border:1px solid #F0D8BF;border-left:4px solid var(--orange,#D9823B);border-radius:12px;padding:13px 15px}
.flags{padding:0;margin:0}
.ck-note{font-size:.86rem;color:var(--muted,#62645F);border-top:1px solid var(--line,#DED5C0);padding-top:14px;margin-top:22px}
@media(max-width:900px){.ck-wrap{grid-template-columns:1fr}.ck-side{position:static;order:-1}}
@media print{header,footer,.site-float-nav-v7,.page-float-rail,.ck-side .btn,.cta,.related-grid,.fcm-progress{display:none!important}.ck-item{break-inside:avoid}.reveal{opacity:1!important;transform:none!important}}
/* reduced motion */
@media(prefers-reduced-motion:reduce){.fcm-progress{display:none}.subhero-copy-v7 *{animation:none!important}.card:before,.links a:after,.btn.primary:after{transition:none!important}.step.visible b,.faq details[open]>p{animation:none!important}.ck-ring .fg{transition:none}}

/* ---- v9: policy pages, standards band, footer note, lists ---- */
.legal-doc{max-width:860px}
.legal-doc h2{font-size:1.35rem;margin:34px 0 10px}
.legal-doc p,.legal-doc li{line-height:1.75}
.legal-doc ul{margin:8px 0 12px 1.1rem}
.doc-meta{font:600 .78rem 'Courier New',monospace;letter-spacing:.06em;color:var(--green,#3C7A62);margin:0 0 8px}
.doc-intro{font-size:1.08rem;color:var(--muted,#62645F);border-left:4px solid var(--gold,#B8863E);padding-left:14px}
.footer-note{font-size:.72rem!important;line-height:1.6;color:#8E9AAE!important;border-top:1px solid rgba(255,255,255,.12);margin:26px 0 0!important;padding-top:14px;max-width:none}
.sitemap-list{list-style:none;padding:0;margin:8px 0 0}
.sitemap-list li{margin:7px 0}
.sitemap-list a{text-decoration:none}
.sitemap-list a:hover{text-decoration:underline}
.next-list{padding-left:1.1rem;margin:8px 0 0}
.next-list li{margin:8px 0;line-height:1.55;font-size:.92rem}
.std-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:8px}
.std-card{background:#fff;border:1px solid var(--line,#DED5C0);border-top:3px solid var(--gold,#B8863E);border-radius:14px;padding:22px;transition:transform .3s ease,box-shadow .3s ease}
.std-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(27,42,74,.09)}
.std-card h3{font-size:1.05rem;margin:0 0 8px}
.std-card p{margin:0;font-size:.9rem;color:var(--muted,#62645F);line-height:1.6}
@media(max-width:1000px){.std-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.std-grid{grid-template-columns:1fr}}
#formStatus{transition:opacity .4s ease}
