/* pkg v8 2026-08-20 - rebuild through the v8 build script; never hand-append */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@500;600;700;800&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@500;600&display=swap');

:root{
  --bg:#ffffff;
  --surface:#eef4f7;
  --ink:#15302c;
  --muted:#566a66;
  --line:#d3dee0;
  --brand:#2C62B5;
  --brand-2:#7DA600;
  --accent:#00645D;
  --sky:#C7DDEA;
  --sand:#E7E1CF;
  --green-deep:#5f7f00;
  --teal-dark:#00514b;
  --star:#E6A100;
  --font-head:'Sora';
  --font-body:'Inter';
  --font-mono:'IBM Plex Mono';
  --radius:10px;
  --maxw:1180px;
}
.cfc *{margin:0;padding:0;box-sizing:border-box}
.cfc{scroll-behavior:smooth}
.cfc{background:var(--bg);color:var(--ink);font-family:var(--font-body),system-ui,sans-serif;font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.cfc img{max-width:100%;display:block}
.cfc a{color:inherit}
.cfc h1,.cfc h2,.cfc h3,.cfc h4{font-family:var(--font-head),system-ui,sans-serif;line-height:1.08;font-weight:600}
.cfc .mono{font-family:var(--font-mono),ui-monospace,monospace}
.cfc .container{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.cfc .section{padding:80px 0}
.cfc .eyebrow{font-family:var(--font-mono),monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--brand)}
.cfc .btn{display:inline-block;text-decoration:none;cursor:pointer;border:1px solid transparent;border-radius:6px;padding:12px 22px;font-weight:600;font-size:15px;transition:.18s}
.cfc .btn-primary{background:var(--brand);color:#fff}
.cfc .btn-primary:hover{}
.cfc .btn-secondary{background:var(--brand-2);color:#fff}
.cfc .btn-ghost{border-color:var(--line);color:var(--ink);background:transparent}
.cfc .btn-ghost:hover{border-color:var(--brand);color:var(--brand)}
.cfc .nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.cfc .navrow{display:flex;align-items:center;justify-content:space-between;height:72px}
.cfc .brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--font-head);font-weight:700;font-size:20px;letter-spacing:.01em}
.cfc .navlinks{display:flex;gap:28px;align-items:center}
.cfc .navlinks a{text-decoration:none;color:var(--muted);font-size:15px;font-weight:500}
.cfc .navlinks a:hover,.cfc .navlinks a.active{color:var(--ink)}
.cfc .navtoggle{display:none;background:none;border:0;cursor:pointer;width:38px;height:38px;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.cfc .navtoggle span{;height:2px;width:22px;background:var(--ink);transition:.2s}
.cfc .nav.open .navtoggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.cfc .nav.open .navtoggle span:nth-child(2){opacity:0}
.cfc .nav.open .navtoggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.cfc .footer{border-top:1px solid var(--line);padding:48px 0 30px;background:var(--surface)}
.cfc .footrow{display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between}
.cfc .footer h5{font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.cfc .footer a{display:block;color:var(--muted);text-decoration:none;font-size:14px;margin-bottom:8px}
.cfc .footer a:hover{color:var(--ink)}
.cfc .disclaimer{font-size:12px;color:var(--muted);max-width:64ch;margin-top:28px;line-height:1.6}
.cfc .grid{display:grid;gap:18px}
.cfc .cols-3{grid-template-columns:repeat(3,1fr)}
.cfc .cols-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:840px){.cfc .cols-3{grid-template-columns:1fr}.cfc .cols-2{grid-template-columns:1fr}}
.cfc .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
@media(prefers-reduced-motion:reduce){.cfc *{scroll-behavior:auto;transition:none!important}}
.cfc .nav{background:var(--accent);border-bottom:1px solid rgba(255,255,255,.14);backdrop-filter:none}
.cfc .nav .brand{color:#fff}
.cfc .navlinks a{color:rgba(255,255,255,.82);font-size:14px}
.cfc .navlinks a:hover,.cfc .navlinks a.active{color:#fff}
.cfc .navtoggle span{background:#fff}
.cfc .footer{background:var(--accent);border-top:0}
.cfc .footer .brand{color:#fff}
.cfc .footer h5{color:var(--sky)}
.cfc .footer a{color:var(--ink-on-dark-muted,rgba(255,255,255,.78))}
.cfc .footer a:hover{color:#fff}
.cfc .footer .disclaimer{color:rgba(255,255,255,.62);max-width:none}
.cfc .footrow{gap:34px}
.cfc .footbrand{max-width:280px}
.cfc .footnote{font-size:.85rem;color:var(--ink-on-dark-muted);margin-top:10px;line-height:1.6}
.cfc .btn-onaccent{background:#fff;color:var(--brand)}
.cfc .btn-onaccent:hover{}
.cfc .btn-callghost{background:transparent;border:1px solid rgba(255,255,255,.6);color:#fff}
.cfc .btn-callghost:hover{background:rgba(255,255,255,.12)}
.cfc .hero-cta .btn,.cfc .ctaband-actions .btn{min-width:190px;text-align:center}
.cfc .section.sky{background:var(--sky)}
.cfc .section.sand{background:var(--sand)}
.cfc .section.teal{background:var(--accent);color:#fff}
.cfc .section.teal .eyebrow{color:var(--sky)}
.cfc .section.tight{padding:52px 0}
.cfc .sechead{max-width:60ch;margin-bottom:26px}
.cfc .sechead h2{font-size:clamp(1.6rem,3.4vw,2.2rem);margin:6px 0 8px}
.cfc .sechead p{color:var(--muted);font-size:1.04rem}
.cfc .hero{padding:62px 0 42px}
.cfc .hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:40px;align-items:center}
.cfc .hero h1{font-size:clamp(2.1rem,5vw,3.3rem);font-weight:700}
.cfc .hero h1 em{font-style:normal;color:var(--green-deep)}
.cfc .hero .lede{font-size:1.14rem;color:var(--muted);margin:14px 0 22px;max-width:46ch}
.cfc .hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.cfc .trustrow{display:flex;flex-wrap:wrap;gap:18px;margin-top:20px;align-items:center;font-size:.92rem}
.cfc .trustrow .ti{display:flex;align-items:center;gap:8px}
.cfc .trustrow .stars{color:var(--star);letter-spacing:.05em}
.cfc .trustrow b{font-weight:700}
@media(max-width:840px){.cfc .hero-grid{grid-template-columns:1fr}}
.cfc .trust{background:var(--accent)}
.cfc .trustrow2{display:flex;flex-wrap:wrap;gap:8px 26px;justify-content:center;padding:16px 24px;color:#fff;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.03em}
.cfc .trustrow2 span{display:flex;align-items:center;gap:9px}
.cfc .trustrow2 span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sky)}
.cfc .ticket{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 14px 40px -18px rgba(0,80,73,.3);position:relative;overflow:hidden}
.cfc .ticket::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--brand-2)}
.cfc .ticket-head{display:flex;justify-content:space-between;align-items:center;padding:13px 20px;border-bottom:1px dashed var(--line);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cfc .ticket-body{padding:22px 20px 24px}
.cfc .price{font-family:var(--font-mono);font-weight:600;font-size:2.6rem;line-height:1;color:var(--ink)}
.cfc .price span{font-size:.9rem;color:var(--brand);vertical-align:super;margin-right:3px}
.cfc .ticket-sub{font-weight:600;margin:6px 0 14px;font-size:.98rem}
.cfc .ticket ul{list-style:none;display:grid;gap:8px}
.cfc .ticket li{display:flex;gap:9px;font-size:.94rem}
.cfc .ticket li::before{content:"\2713";color:var(--brand-2);font-weight:700}
.cfc .ticket-cta{width:100%;margin-top:18px}
.cfc .devs{display:flex;flex-wrap:wrap;gap:10px}
.cfc .dev{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-weight:600;font-size:.95rem;display:flex;gap:8px;align-items:center}
.cfc .dev::before{content:"\2713";color:var(--brand-2);font-weight:700}
.cfc .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:s}
.cfc .step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.cfc .step::before{counter-increment:s;content:counter(s);font-family:var(--font-head);font-weight:700;font-size:1.5rem;color:var(--brand);display:block;margin-bottom:6px}
.cfc .step h3{font-size:1.08rem}
.cfc .step p{color:var(--muted);font-size:.94rem;margin-top:4px}
@media(max-width:840px){.cfc .steps{grid-template-columns:1fr}}
.cfc .feature{display:flex;flex-direction:column}
.cfc .feature .ftag{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600}
.cfc .feature h3{font-size:1.28rem;margin:6px 0 8px}
.cfc .feature p{color:var(--muted);flex:1}
.cfc .feature .flink{margin-top:14px;font-weight:600;color:var(--brand);text-decoration:none;border-bottom:2px solid var(--brand-2);align-self:flex-start;padding-bottom:2px}
.cfc .benefits{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.cfc .benefit{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:14px 16px;font-weight:600;display:flex;gap:9px;align-items:center}
.cfc .benefit::before{content:"\2713";color:var(--brand-2);font-weight:800}
.cfc .review-card{display:flex;flex-direction:column;gap:10px}
.cfc .review-stars{color:var(--star);font-size:1.02rem;letter-spacing:.14em}
.cfc .review-text{color:var(--ink);font-size:.95rem;flex:1}
.cfc .review-author{font-weight:600;font-size:.95rem}
.cfc .review-source{font-size:.78rem;color:var(--muted)}
.cfc .faq{display:grid;gap:10px;max-width:800px}
.cfc .faq details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 18px}
.cfc .faq summary{cursor:pointer;font-weight:600;padding:15px 0;list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center}
.cfc .faq summary::-webkit-details-marker{display:none}
.cfc .faq summary::after{content:"+";color:var(--brand);font-weight:800;font-size:1.3rem;line-height:1}
.cfc .faq details[open] summary::after{content:"\2013"}
.cfc .faq details p{color:var(--muted);padding:0 0 16px}
.cfc .photostrip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cfc .photo{aspect-ratio:4/3;border:1.5px dashed #b7c9cd;border-radius:var(--radius);background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px}
.cfc .photo .ptag{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.cfc .photo .plabel{font-weight:600;color:var(--muted);font-size:.92rem}
@media(max-width:840px){.cfc .photostrip{grid-template-columns:1fr}}
.cfc .ctaband{background:var(--brand);color:#fff}
.cfc .ctabandrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px;padding-top:48px;padding-bottom:48px}
.cfc .ctaband h2{color:#fff;font-size:clamp(1.5rem,3.4vw,2.1rem);max-width:24ch}
.cfc .ctaband p{color:var(--ink-on-dark);margin-top:6px;max-width:48ch}
.cfc .ctaband-actions{display:flex;gap:12px;flex-wrap:wrap}
.cfc .prose{max-width:760px}
.cfc .prose p{margin-bottom:16px}
.cfc .prose h2{margin:28px 0 10px;font-size:1.4rem}
.cfc .prose h3{margin:22px 0 8px;font-size:1.12rem}
.cfc .prose ul{margin:0 0 16px 20px}
.cfc .prose li{margin-bottom:7px}
.cfc .prose a{color:var(--brand);font-weight:600}
.cfc .quote-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
.cfc .quote-copy h2{font-size:clamp(1.7rem,3.6vw,2.3rem);margin:6px 0 10px}
.cfc .quote-copy p{color:var(--muted);max-width:46ch;margin-bottom:10px}
.cfc .inlinephone{color:var(--brand);font-weight:600;text-decoration:none}
.cfc .reassure{display:grid;gap:9px;margin-top:14px}
.cfc .reassure div{display:flex;gap:9px;font-size:.95rem;color:var(--ink)}
.cfc .reassure div::before{content:"\2713";color:var(--brand-2);font-weight:700}
.cfc .form-ticket{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 14px 40px -18px rgba(0,80,73,.3);overflow:hidden}
.cfc .form-ticket .ticket-head{justify-content:flex-start;gap:10px}
.cfc .form-ticket form{padding:22px}
.cfc .field{display:grid;gap:6px;margin-bottom:14px}
.cfc .field label{font-size:.82rem;font-weight:600}
.cfc .field input,.cfc .field select,.cfc .field textarea{font-family:inherit;font-size:1rem;color:var(--ink);padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;width:100%}
.cfc .field textarea{resize:vertical}
.cfc .formbtn{width:100%;text-align:center}
.cfc .form-note{font-size:.78rem;color:var(--muted);text-align:center;margin-top:10px}
@media(max-width:840px){.cfc .quote-grid{grid-template-columns:1fr}}
.cfc .arealist{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.cfc .areacard{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 20px;text-decoration:none;color:var(--ink);transition:.15s;position:relative}
.cfc .areacard:hover{border-color:var(--brand);box-shadow:0 8px 22px -14px rgba(44,98,181,.5);transform:translateY(-2px)}
.cfc .areaname{font-weight:700;font-family:var(--font-head);font-size:1.06rem;flex:1 1 100%}
.cfc .areameta{color:var(--muted);font-size:.88rem;font-family:var(--font-mono)}
.cfc .arearrow{color:var(--brand);font-weight:800;font-family:var(--font-mono)}
.cfc .resourcecard{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);transition:.15s}
.cfc .resourcecard:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:0 8px 22px -14px rgba(44,98,181,.4)}
.cfc .resourcecard h3{margin:6px 0 8px}
.cfc .resourcecard p{color:var(--muted);flex:1;margin-bottom:10px}
.cfc .resourcecard .flink{font-weight:600;color:var(--brand)}
.cfc .thanks-hero{padding:120px 0 80px;text-align:center;background:linear-gradient(180deg,var(--sky) 0%,var(--bg) 100%)}
.cfc .thanks-hero .checkmark{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:var(--brand-2);color:#fff;font-size:2.6rem;font-weight:800;margin-bottom:20px;line-height:1}
.cfc .thanks-hero h1{font-size:clamp(2rem,4.4vw,3rem);margin-bottom:16px}
.cfc .thanks-hero p{font-size:1.14rem;color:var(--muted);max-width:46ch;margin:0 auto 26px}
.cfc .thanks-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:30px}
.cfc .thanks-meta{font-family:var(--font-mono);color:var(--muted);font-size:.92rem}
.cfc .map-embed{aspect-ratio:16/7;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--sand)}
.cfc .map-embed iframe{width:100%;height:100%;border:0;display:block}
.cfc .misslede{font-size:1.14rem;color:rgba(255,255,255,.92);max-width:62ch}
.cfc .mt18{margin-top:18px}
@media(min-width:841px){.cfc .navlinks{gap:18px}}
.cfc .nav .navlinks{display:flex;gap:0;align-items:center;flex-direction:row;position:static;background:transparent;border:0;padding:0}
.cfc .nav .navlinks > a,.cfc .nav .navlinks > .navitem{display:inline-flex;align-items:center}
.cfc .nav .navlink{background:none;border:0;cursor:pointer;text-decoration:none;color:rgba(255,255,255,.82);font-size:14px;font-weight:500;padding:10px 14px;font-family:inherit;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border-radius:6px;transition:background .15s,color .15s}
.cfc .nav .navlink:hover{color:#fff;background:rgba(255,255,255,.08)}
.cfc .nav .navlink.active{color:#fff}
.cfc .nav .navlink .caret{font-size:10px;opacity:.7}
.cfc .nav .navphone{margin-left:14px;padding-left:14px;border-left:1px solid rgba(255,255,255,.18);color:#fff;text-decoration:none;font-size:13px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.cfc .nav .navphone:hover{opacity:.85}
.cfc .nav .navphone .phone-icon{font-size:14px}
.cfc .nav .navcta{margin-left:14px;padding:10px 16px;font-size:14px;white-space:nowrap}
.cfc .navdrop{position:relative}
.cfc .navdrop-panel{position:absolute;top:calc(100% + 8px);left:0;min-width:260px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 32px rgba(0,0,0,.14);padding:8px;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .15s,transform .15s;z-index:60}
.cfc .navdrop.open .navdrop-panel{opacity:1;transform:translateY(0);pointer-events:auto}
.cfc .navdrop-panel a{display:block;padding:10px 14px;color:var(--ink);text-decoration:none;font-size:14px;border-radius:6px;line-height:1.4}
.cfc .navdrop-panel a:hover{background:var(--surface);color:var(--accent)}
.cfc .navdrop-panel a.navdrop-overview{font-weight:600;color:var(--brand);border-bottom:1px solid var(--line);margin-bottom:4px;padding-bottom:12px;border-radius:6px 6px 0 0}
.cfc .navdrop-panel a.navdrop-overview:hover{background:var(--sky)}
@media(max-width:980px){.cfc .nav .navlinks{display:none}.cfc .navtoggle{display:flex}}
.cfc .mobilenav{position:fixed;top:0;right:0;bottom:0;width:min(380px,86vw);background:#fff;z-index:120;transform:translateX(100%);transition:transform .28s ease;flex-direction:column;box-shadow:-12px 0 40px rgba(0,0,0,.18)}
.cfc .mobilenav.open{transform:translateX(0)}
.cfc .mobilenav-scrim{position:fixed;inset:0;background:rgba(15,30,32,.55);opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:110}
.cfc .mobilenav-scrim.open{opacity:1;pointer-events:auto}
.cfc .mobilenav-head{align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line);background:var(--accent)}
.cfc .mobilenav-head .brand{color:#fff;font-size:18px}
.cfc .mobilenav-head .navtoggle{}
.cfc .mobilenav-head .navtoggle span{background:#fff}
.cfc .mobilenav-head .navtoggle.open-state span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.cfc .mobilenav-head .navtoggle.open-state span:nth-child(2){opacity:0}
.cfc .mobilenav-head .navtoggle.open-state span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.cfc .mobilenav-body{flex:1;overflow-y:auto;padding:20px}
.cfc .mobile-cta{display:block;width:100%;text-align:center;padding:14px 18px;font-size:15px;margin-bottom:14px}
.cfc .mobile-phone-row{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--surface);border-radius:8px;text-decoration:none;color:var(--ink);font-family:var(--font-mono),monospace;font-size:15px;font-weight:600;margin-bottom:18px}
.cfc .mobile-phone-row .phone-icon{font-size:18px;color:var(--brand)}
.cfc .mobile-list{list-style:none;padding:0;margin:0}
.cfc .mobile-list > li{border-bottom:1px solid var(--line)}
.cfc .mobile-link-row{display:flex;align-items:center;justify-content:space-between;padding:14px 4px;text-decoration:none;color:var(--ink);font-size:15px;font-weight:500;background:none;border:0;width:100%;font-family:inherit;cursor:pointer;text-align:left}
.cfc .mobile-link-row.toggle{font-weight:600}
.cfc .mobile-link-row .caret{font-size:18px;color:var(--muted);width:24px;text-align:center}
.cfc .mobile-sublist{list-style:none;padding:0 0 10px;margin:0;background:var(--surface);border-radius:8px;margin-bottom:6px}
.cfc .mobile-sub-row{display:block;padding:11px 18px;text-decoration:none;color:var(--ink);font-size:14px;border-bottom:1px solid var(--line)}
.cfc .mobile-sub-row:last-child{border-bottom:0}
.cfc .mobile-sub-row:hover{background:var(--sky)}
.cfc .mobilenav-foot{padding:18px 22px 22px;border-top:1px solid var(--line);background:var(--surface)}
.cfc .mobile-contact-block{margin-bottom:14px}
.cfc .mobile-contact-line{display:block;color:var(--muted);font-size:13px;line-height:1.6;text-decoration:none}
.cfc .mobile-contact-line:hover{color:var(--ink)}
.cfc .mobile-socials{gap:10px}
.cfc .social-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;text-decoration:none;transition:background .15s,transform .15s}
.cfc .social-icon svg{width:18px;height:18px}
.cfc .social-icon:hover{background:var(--brand);transform:translateY(-2px)}
.cfc .footer-socials{display:flex;gap:8px;margin-top:14px}
.cfc .footer .social-icon{background:rgba(255,255,255,.14)}
.cfc .footer .social-icon:hover{background:#fff;color:var(--accent)}
.cfc .nav .brand{flex-shrink:0}
.cfc .nav .navrow{gap:20px;justify-content:space-between}
@media(min-width:981px){.cfc .navtoggle{display:none}.cfc .mobilenav,.cfc .mobilenav-scrim{display:none}}
.cfc .faq-toc{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px;padding:0;list-style:none}
.cfc .faq-toc a{padding:6px 14px;background:var(--surface);border:1px solid var(--line);border-radius:99px;font-size:13px;font-weight:500;color:var(--accent);text-decoration:none;transition:background .15s}
.cfc .faq-toc a:hover{background:var(--sky);color:var(--ink)}
.cfc .faq-intro{font-size:1.05rem;color:var(--muted);max-width:64ch}
.cfc .lp-hero{padding:60px 0 36px;background:linear-gradient(180deg,var(--sky) 0%,var(--bg) 100%)}
.cfc .lp-hero h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:16px;letter-spacing:-.01em}
.cfc .lp-hero h1 em{font-style:normal;color:var(--brand-2);font-weight:700}
.cfc .lp-hero .lede{font-size:1.1rem;max-width:62ch;color:var(--muted)}
.cfc .lp-hero .hero-cta{margin-top:22px}
.cfc .nav-mobile-call{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;text-decoration:none;flex-shrink:0;margin-left:auto;margin-right:6px}
.cfc .nav-mobile-call .phone-icon{font-size:18px}
.cfc .nav-mobile-call:hover{background:rgba(255,255,255,.28)}
@media(max-width:980px){.cfc .nav-mobile-call{display:inline-flex}}
.cfc .sticky-cta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:115;gap:0;background:var(--accent);box-shadow:0 -6px 24px rgba(0,0,0,.22)}
.cfc .sticky-cta a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 10px;text-decoration:none;font-weight:700;font-size:15px}
.cfc .sticky-cta-call{background:var(--brand-2);color:#fff}
.cfc .sticky-cta-call .phone-icon{font-size:17px}
.cfc .sticky-cta-quote{background:var(--brand);color:#fff}
@media(max-width:980px){.cfc .sticky-cta{display:flex}.cfc{padding-bottom:60px}}
@media(max-width:640px){.cfc .hero-cta .btn,.cfc .ctaband-actions .btn,.cfc .hero-cta,.cfc .quote-actions .btn{width:100%;min-width:0}.cfc .hero-cta{display:flex;flex-direction:column;gap:10px}.cfc .ctaband-actions{display:flex;flex-direction:column;gap:10px;width:100%}/* superseded by the v8 :not(.iconbtn) sweep below (C45) */.cfc .navcta{width:100%}.cfc .flink,.cfc .faq-toc a,.cfc .social-icon,.cfc .nav-mobile-call,.cfc .navtoggle,.cfc .sticky-cta a,.cfc .mobile-sub-row,.cfc .footer a{width:auto}.cfc .mobile-cta{width:100%}}
:root{
  --fs-h1:clamp(2rem,4.6vw,3.05rem);
  --fs-h2:clamp(1.5rem,3.4vw,2.1rem);
  --fs-h3:1.2rem;
  --fs-body:1rem;
  --fs-small:.85rem;
}
.cfc{font-size:var(--fs-body)}
.cfc .hero h1,.cfc .lp-hero h1,.cfc .thanks-hero h1{font-size:var(--fs-h1)}
.cfc .sechead h2,.cfc .ctaband h2,.cfc .quote-copy h2{font-size:var(--fs-h2)}
.cfc .feature h3,.cfc .step h3,.cfc .resourcecard h3{font-size:var(--fs-h3)}
.cfc .review-source,.cfc .form-note{font-size:var(--fs-small)}
@media(max-width:640px){.cfc{font-size:14px}}
.cfc .nav .navlinks a.navcta{background:var(--brand);color:#fff;border-radius:6px;padding:10px 18px;font-weight:600;font-size:14px}
.cfc .nav .navlinks a.navcta:hover{background:var(--brand);color:#fff;}
.cfc .trust{overflow:hidden}
.cfc .trust-track{max-width:var(--maxw);margin:0 auto}
.cfc .trust-track .trustrow2[aria-hidden="true"]{display:none}
@media(max-width:840px){.cfc .trust-track{display:flex;max-width:none;width:max-content;margin:0;animation:trust-marquee 26s linear infinite}.cfc .trust-track .trustrow2{display:flex;flex-wrap:nowrap;gap:26px;padding:19px 13px;font-size:.9rem}.cfc .trust-track .trustrow2[aria-hidden="true"]{display:flex}.cfc .trust-track .trustrow2 span{white-space:nowrap}}
@keyframes trust-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.cfc .benefits{grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:980px){.cfc .benefits{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cfc .benefits{grid-template-columns:1fr}}
.cfc .grid > *,.cfc .steps > *,.cfc .benefits > *,.cfc .quote-grid > *,.cfc .hero-grid > *,.cfc .footrow > *{min-width:0}
.cfc .review-text{overflow-wrap:anywhere}
.cfc .grid,.cfc .photostrip,.cfc .devs,.cfc .benefits,.cfc .steps,.cfc .trust{max-width:100%}
@media(max-width:840px){.cfc .grid,.cfc .photostrip,.cfc .steps,.cfc .benefits{overflow-x:clip}}
.cfc .ctabandrow{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:24px;padding-top:76px;padding-bottom:76px}
.cfc .ctaband h2{max-width:26ch;margin:0 auto}
.cfc .ctaband p{max-width:52ch;margin:8px auto 0}
.cfc .ctaband-actions{justify-content:center}
.cfc .footrow{justify-content:flex-start;gap:40px 56px}
.cfc .footbrand,.cfc .footcol{text-align:left}
.cfc .footer-socials{justify-content:flex-start}
@media(max-width:640px){.cfc .footrow{flex-direction:column;align-items:flex-start;gap:28px}}
.cfc .footer .brand{display:inline-block;gap:0}
@media(prefers-reduced-motion:reduce){.cfc .trust-track{animation:none!important;display:block!important;width:auto!important;max-width:var(--maxw)!important;margin:0 auto!important}.cfc .trust-track .trustrow2{flex-wrap:wrap!important}.cfc .trust-track .trustrow2[aria-hidden="true"]{display:none!important}}
@media(max-width:640px){.cfc .trustrow{justify-content:center;text-align:center}.cfc .trustrow .ti{justify-content:center;flex-wrap:wrap}}
.cfc .footrow{ display:grid; grid-template-columns:1.6fr 1.1fr 1fr 1.1fr; gap:32px 64px; align-items:start; justify-content:normal; }
.cfc .footbrand{ max-width:none; }
.cfc .foot-visit{ margin-top:22px; }
.cfc .foot-visit h5{ margin-bottom:12px; }
.cfc .foot-visit a{ display:block; margin-bottom:8px; }
.cfc .footer-socials{ margin-top:22px; gap:10px; }
.cfc .footer .social-icon{ display:inline-flex !important; align-items:center; justify-content:center; width:38px; height:38px; flex:0 0 38px; padding:0; }
.cfc .footer .social-icon svg{ width:17px; height:17px; display:block; }
@media(max-width:980px){.cfc .footrow{ grid-template-columns:1fr 1fr; gap:30px 40px; }}
@media(max-width:600px){.cfc .footrow{ grid-template-columns:1fr; gap:26px; }}
.cfc .prose h2{ font-size:var(--fs-h2); margin:34px 0 12px; line-height:1.2; }
.cfc .prose h2:first-child{ margin-top:0; }
.cfc .prose h3{ font-size:var(--fs-h3); margin:24px 0 8px; }
:root{ --fs-body:1.0625rem; }
.cfc .page-head{ padding:26px 0 6px; }
.cfc .page-head .hero-grid{ display:block; }
.cfc .page-head h1{ margin:6px 0 10px; }
.cfc .page-head .lede{ max-width:70ch; margin-bottom:0; }
.cfc .crumbs{ font-size:.875rem; line-height:1.4; color:var(--muted,#5b6670); margin:0 0 6px; }
.cfc .crumbs ol{ list-style:none; display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; }
.cfc .crumbs li{ display:flex; align-items:center; gap:6px; }
.cfc .crumbs li+li::before{ content:none; }
.cfc .crumbs a{ color:inherit; text-decoration:none; }
.cfc .crumbs a:hover{ text-decoration:underline; }
.cfc .crumbs [aria-current="page"]{ color:var(--ink,#12202b); font-weight:600; }
.cfc .page-head{ padding:38px 0 28px; }
.cfc .crumbs{ margin:0 0 14px; }
.cfc .page-head h1{ margin:0 0 12px; }
.cfc .page-head .lede{ margin-top:0; }
.cfc .page-head .eyebrow{ display:none; }
.cfc .has-children .mobile-sublist{ display:none; }
.cfc .has-children.open .mobile-sublist{ display:block; }
.cfc .navitem.navdrop::after,.cfc .navdd::after{
  content:""; position:absolute; left:0; right:0; top:100%; height:14px; }
.cfc .mobile-list li.has-children .mobile-sublist{display:none}
.cfc .mobile-list li.has-children.open .mobile-sublist{display:block}
.cfc .mm-group .mm-children{display:none}
.cfc .mm-group.open .mm-children{}

/* Contact Form 7 rendering (packager H3 + F2b) */
.cfc .wpcf7 form{display:flex;flex-direction:column;gap:14px}
.cfc .wpcf7 form p{margin:0}
.cfc .wpcf7 label{display:block;font-weight:600;font-size:14px;line-height:1.4;color:var(--ink,#1f2937)}
.cfc .wpcf7-form-control-wrap{display:block;width:100%}
.cfc .wpcf7 label .wpcf7-form-control-wrap{margin-top:6px}
.cfc .wpcf7 input:not([type='submit']):not([type='checkbox']):not([type='radio']),.cfc .wpcf7 select,.cfc .wpcf7 textarea{width:100%;box-sizing:border-box;font:inherit;font-size:15px;line-height:1.4;color:var(--ink,#1f2937);background:var(--bg,#fff);border:1px solid var(--line,#d7dce3);border-radius:8px;padding:11px 12px}
.cfc .wpcf7 textarea{min-height:120px;resize:vertical}
.cfc .wpcf7 input:not([type='submit']):focus,.cfc .wpcf7 select:focus,.cfc .wpcf7 textarea:focus{outline:none;border-color:var(--brand,#2563eb);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand,#2563eb) 18%,transparent)}
.cfc .wpcf7 ::placeholder{color:var(--muted,#9aa3af);opacity:1}
.cfc .wpcf7 input[type='submit']{display:inline-block;width:auto;align-self:flex-start;background:var(--brand,var(--accent,#2563eb));color:#fff;border:0;border-radius:8px;padding:12px 24px;font:inherit;font-size:15px;font-weight:700;cursor:pointer}
.cfc .wpcf7 input[type='submit']:hover{}
.cfc .wpcf7{grid-column:1/-1}
.cfc .wpcf7-not-valid-tip{display:block;margin-top:4px;font-size:12px;color:#b42318}
.cfc .wpcf7-response-output{margin:14px 0 0;padding:10px 14px;border:1px solid #b42318;border-radius:8px;font-size:14px;color:#b42318;background:rgba(180,35,24,.06)}
.cfc .wpcf7 form.sent .wpcf7-response-output{border-color:#1a7f37;color:#1a7f37;background:rgba(26,127,55,.08)}
.cfc .wpcf7-spinner{margin:0 0 0 10px}

/* Footer social row + logo link (packager H5) */
.cfc footer .socialrow,.cfc footer .footer-socials{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-left:0;padding-left:0}
.cfc footer .socialrow a,.cfc footer .footer-socials a{margin:0;display:inline-flex}
.cfc footer a.adm-footlogo-link{display:inline-block;line-height:0;text-decoration:none}

/* ==== v7.2 (QA round 2026-08-17, Andrew's 15 new + 2 reopened) ================
   Every override matches the specificity of the rule it overrides (.cfc-namespaced,
   the KNS round-2 lesson) and is dual-written bare so it holds if the wrapper class
   is ever dropped. */
/* Width doctrine (11 tickets: 868kt0p3m kt0m2v kt0h4h kt0g11 kt03db kt007z krzqx9
   krzb8v krz8wg krywq4 + Cost page): section heads, their ledes, and prose blocks
   span the container instead of a reading measure that leaves the right side empty. */
.cfc .sechead,.sechead{max-width:none}
.cfc .sechead p,.sechead p{max-width:none}
.cfc .page-head .lede,.page-head .lede{max-width:none}
.cfc .prose,.prose{max-width:none}
.cfc .faq-intro,.faq-intro{max-width:none}
.cfc .misslede,.misslede{max-width:none}
/* prose keeps a comfortable measure ONLY inside a true two-column layout */
.cfc .split .prose,.cfc .cols-2 .prose,.split .prose,.cols-2 .prose{max-width:none}
/* 868krza9c: mobile header call button lost its width at <=640px (the width:auto
   sweep on line ~278) and rendered as a tall oval; pin the 40px circle. */
@media(max-width:640px){.cfc .nav-mobile-call,.nav-mobile-call{width:40px;height:40px;min-width:40px;border-radius:50%}}
/* 868krz0pn: About Us "Find Us Downtown" buttons crowd on phones - uniform stack. */
@media(max-width:640px){.cfc .mt18:has(> .btn + .btn),.mt18:has(> .btn + .btn){display:flex;flex-direction:column;gap:12px;align-items:stretch}
.cfc .mt18 > .btn,.mt18 > .btn{width:100%;margin:0;text-align:center}}

/* ==== v7.3 (QA round 2026-08-18, Andrew's 53 additional tickets) ==============
   Same discipline as v7.2: every override matches the specificity of the rule it
   overrides (.cfc-namespaced), dual-written bare, mobile rules inside @media. */

/* --- Card grids: uniform heights + top-aligned checkmarks --------------------
   868ktmp4t Support, 868ktmhrz Service Areas, 868ktmd5m Refurbished, 868ktkuy4
   MacBook Repair, 868ktjh98 Laptop Repair, 868ktjbny Home/Office, 868ktj04p Giving
   Back. Grid children stretch by default only when the grid has align-items:stretch
   AND the card is a block that fills; the tiles set align-items:center on the
   benefit itself, so multi-line text made siblings taller. Cards now fill the row,
   the CTA/arrow pins to the bottom, and the check glyph top-aligns. */
.cfc .grid,.grid{align-items:stretch}
.cfc .grid > .card,.grid > .card{height:100%;display:flex;flex-direction:column}
.cfc .card > p:last-child,.card > p:last-child{margin-bottom:0}
.cfc .card > a:last-child,.card > a:last-child{margin-top:auto;padding-top:14px}
.cfc .benefits,.benefits{align-items:stretch}
.cfc .benefit,.benefit{align-items:flex-start;height:100%}
.cfc .benefit::before,.benefit::before{margin-top:1px;flex:0 0 auto}
.cfc .areacard,.areacard{height:100%;flex-wrap:nowrap;align-items:flex-start;gap:12px}
.cfc .areacard .areaname,.areacard .areaname{flex:1 1 auto;min-width:0}
.cfc .arearrow,.arearrow{margin-left:auto;align-self:center;flex:0 0 auto}
.cfc .steps,.steps{align-items:stretch}
.cfc .step,.step{height:100%}

/* --- FAQ accordion: full content width, single-expand behavior ----------------
   868ktjczg (FAQ blocks pinned left with dead space to the right): the 800px cap
   is a reading measure that fights the section grid on wide screens. Center it and
   let it use the content column. 868ktjq17 (mutual exclusivity + collapse
   animation): behavior ships in the theme footer script (v7.3); CSS gives the
   summary a rotate affordance and the panel a smooth open. */
.cfc .faq,.faq{max-width:none}
.cfc .faq-intro,.faq-intro{max-width:none}
.cfc .faq details summary,.faq details summary{transition:color .18s}
.cfc .faq details > *:not(summary),.faq details > *:not(summary){animation:cfcFaqOpen .22s ease-out}
@keyframes cfcFaqOpen{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* --- Global spacing + width consistency (868kthmah, 868kthkxz, 868kthkcv, 868kthn2e)
   Section padding 80px compounded on long service pages; a single tighter rhythm.
   Content templates share the container; the prose/resource measure caps that
   left the right side empty were re-opened in v7.2 (.prose, .sechead, .faq-intro,
   .misslede, .page-head .lede) - this completes the set for article layouts. */
.cfc .section,.section{padding:64px 0}
@media(max-width:640px){.cfc .section,.section{padding:48px 0}}
.cfc .article,.cfc .resource,.cfc .prose-wide,.article,.resource,.prose-wide{max-width:none}
.cfc .page-head .hero-grid,.page-head .hero-grid{display:block}
.cfc .page-head .eyebrow + .crumbs,.page-head .eyebrow + .crumbs{margin-top:8px}
.cfc .page-head .crumbs,.page-head .crumbs{margin-bottom:12px}
.cfc .page-head h1,.page-head h1{margin:0 0 12px}
.cfc .page-head .lede,.page-head .lede{margin:0}
/* article headings: consistent rhythm on resource pages (868kthdy7, 868kthdq8) */
.cfc .prose h2,.prose h2{margin:36px 0 12px}
.cfc .prose h2:first-child,.prose h2:first-child{margin-top:0}
.cfc .prose h3,.prose h3{margin:24px 0 8px}
.cfc .prose ul,.cfc .prose ol,.prose ul,.prose ol{margin:0 0 18px}

/* --- Header work-order card CTA centered (868ktk690) --------------------------- */
.cfc .ticket-cta,.ticket-cta{display:block;width:100%;text-align:center}

/* --- Mobile header: call icon proportions + pair spacing -----------------------
   868kthpk4 (call icon clipped/squished): the \260E glyph is a text char in a 40px
   circle; line-height and flex centering keep it upright and unclipped.
   868kthqbt (wide gap phone icon <-> hamburger in landscape): margin-left:auto on
   the call button pushed it away from the toggle when the row is wide; keep the
   pair together on the right. */
@media(max-width:980px){
.cfc .nav-mobile-call,.nav-mobile-call{width:40px;height:40px;min-width:40px;border-radius:50%;padding:0;line-height:1;overflow:visible;margin-right:8px}
.cfc .nav-mobile-call .phone-icon,.nav-mobile-call .phone-icon{font-size:18px;line-height:1;display:block;transform:none}
.cfc .container.navrow,.cfc .navrow,.container.navrow,.navrow{gap:10px}
.cfc .nav-mobile-call,.nav-mobile-call{margin-right:0}
.cfc .navtoggle,.navtoggle{margin-left:0;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.16);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px}
}

/* --- Contact page phone card: tel link styling (868kthg33) --------------------- */
.cfc .tel-link,.tel-link{color:inherit;text-decoration:none;border-bottom:1px solid currentColor}
.cfc .tel-link:hover,.tel-link:hover{color:var(--brand)}

/* 868kthu2r: social icons shipped with href="#" placeholders. Hidden until the client's
   real profile URLs are set (INSTALL step 13); an icon that goes nowhere is worse than none. */
.cfc .social-icon[href="#"],.social-icon[href="#"]{display:none}
.cfc .mobile-socials:not(:has(.social-icon:not([href="#"]))),.mobile-socials:not(:has(.social-icon:not([href="#"]))){display:none}

/* ============================ v8 (2026-08-20) ============================== */
/* 868ku2xtc: the inner-page ticket card (Work Order / Business Plans) rendered at full
   container width under the copy on every Services + Service Area page. v6 tightened the
   hero into a page header with `.page-head .hero-grid{display:block}`; every page-head
   hero-grid carries the <aside class="ticket"> (24 pages), so the collapse stretched the
   card. A page-head hero that has the card keeps the home hero's two-column grid: copy
   left, card right, centred; page-heads without a card (articles, hubs) are untouched;
   <=840px stacks exactly as the home hero does. */
.cfc .page-head .hero-grid:has(> .ticket),.page-head .hero-grid:has(> .ticket){display:grid;grid-template-columns:1.12fr .88fr;gap:40px;align-items:center}
.cfc .page-head .hero-grid:has(> .ticket) .lede,.page-head .hero-grid:has(> .ticket) .lede{max-width:none}
@media(max-width:840px){.cfc .page-head .hero-grid:has(> .ticket),.page-head .hero-grid:has(> .ticket){grid-template-columns:1fr;gap:28px}}

/* ============================ v8 (2026-08-20) ============================== */
/* 868ku64f5: list markers hung into the margin on the guide pages. `.prose ul` carried its
   indent as margin-left:20px; the v7.2 width pass then reset `.prose ul,.prose ol` to
   `margin:0 0 18px`, which zeroed it, and with the default list-style-position:outside the
   bullets sat left of the copy edge. Indent with padding so the marker sits inside the content
   column and wrapped lines stay aligned under the text. */
.cfc .prose ul,.cfc .prose ol,.prose ul,.prose ol{padding-left:22px;list-style-position:outside}
.cfc .prose li,.prose li{padding-left:2px}

/* 868ku4va5: in the mobile drawer the phone CTA sat left while "Get a Quote" above it was
   centred. They are different components - .mobile-cta is a block button with text-align:center,
   .mobile-phone-row is a flex row that packs to the start. Centre the row so the pair matches. */
.cfc .mobile-phone-row,.mobile-phone-row{justify-content:center;text-align:center}

/* C45: the phone full-width sweep also stretched the round icon controls. */
.cfc .btn:not(.iconbtn):not(.nav-mobile-call):not(.navtoggle){width:100%;text-align:center}

/* C05/C09: tone modifiers redefine tokens; they never set colour on body text directly. */
.cfc .section.teal{--ink:#fff;--ink-body:#fff;--muted:rgba(255,255,255,.86)}

/* C13: the drawer and its controls only ever become visible inside the drawer
   breakpoint; an unscoped display reveals them at desktop width. */
@media(max-width:980px){
.cfc .mobilenav{display:flex}
.cfc .mobilenav-head{display:flex}
.cfc .mobile-socials{display:flex}
}

/* v8: presentation that used to ride on inline style attributes (C71). */
.cfc .crumbs li[aria-hidden="true"]{opacity:.55}
.cfc [id]{scroll-margin-top:90px}
.cfc .cardimg{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius);display:block}

/* v8 corrections */
:root{--ink-on-dark:rgba(255,255,255,.9);--ink-on-dark-muted:rgba(255,255,255,.72)}
/* tone modifiers redefine tokens only (C05/C09) */
.cfc .section.teal{--ink:#fff;--ink-body:#fff;--muted:rgba(255,255,255,.86)}
/* hover is a token shade, never a filter or a transform (C11) */
.cfc .btn-primary:hover{background:var(--brand-2);filter:none;}
/* the header control row never wraps the chip/CTA pair (C14) */
.cfc .navrow,.navrow{flex-wrap:nowrap}
/* paired CTAs are equals (C12/C102) */
.cfc .btn-group{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;justify-content:center}
.cfc .btn-group > .btn{min-width:280px;text-align:center}
@media(max-width:520px){.cfc .btn-group > .btn{min-width:0;width:100%}}
/* CFC's map is .map-embed with an aspect-ratio box and a 100%/100% iframe, which is the same
   contract as .mapbox/.split-media elsewhere; alias them so the shared rule matches too. */
.cfc .map-embed,.cfc .mapbox{position:relative}
.cfc .map-embed iframe,.cfc .mapbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.cfc .split-media img,.split-media img{width:100%;height:100%;object-fit:cover;display:block}

/* v8: no button hover uses a filter or a transform (C11); .mt18 pairs stack as a
   group on phones; drawer controls only ever gain a display inside the drawer breakpoint. */
.cfc .btn:hover,.cfc .btn-primary:hover,.cfc .btn-onaccent:hover,.cfc .btn-ghost:hover{filter:none;transform:none}
.cfc .mt18.btn-group{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
@media(max-width:640px){.cfc .mt18.btn-group{flex-direction:column}.cfc .mt18.btn-group > .btn{width:100%}}
@media(max-width:980px){
.cfc .mobilenav-head .navtoggle{display:flex}
.cfc .mm-group.open .mm-children{display:block}
}

/* v8: the last literal inks on dark surfaces become tokens, and no hover anywhere
   uses a filter (C09/C11). */
.cfc .footnote,.cfc .ctaband p{color:var(--ink-on-dark-muted)}
.cfc .nav .navlinks a.navcta:hover{background:var(--brand-2);filter:none;transform:none}
