
  html { scroll-behavior: smooth; }
  body { font-family: 'Plus Jakarta Sans','Inter',sans-serif; color: #0f2238; -webkit-font-smoothing: antialiased; }
  .font-display { font-family: 'Sora','Plus Jakarta Sans',sans-serif; }

  /* Scroll reveal */
  .reveal { opacity: 0; transform: translateY(38px); transition: opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); }
  .reveal.in { opacity: 1; transform: none; }
  .stagger > * { opacity: 0; transform: translateY(28px); transition: opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
  .stagger.in > * { opacity: 1; transform: none; }

  /* Hero load animation */
  .hero-anim { opacity: 0; transform: translateY(30px); animation: heroIn 1s cubic-bezier(.16,1,.3,1) forwards; }
  @keyframes heroIn { to { opacity: 1; transform: none; } }

  /* Magnetic / lift buttons */
  .btn { transition: transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s ease, background-color .25s ease; will-change: transform; }
  .btn:hover { transform: translateY(-3px); }
  .btn:active { transform: translateY(-1px) scale(.99); }

  .card-lift { transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease, border-color .35s ease; }
  .card-lift:hover { transform: translateY(-8px); box-shadow: 0 28px 56px -16px rgba(7,39,68,0.28); }

  /* Scroll progress */
  #progress { transform-origin: 0 50%; transform: scaleX(0); }

  /* Marquee for counties hover sheen */
  .sheen { position: relative; overflow: hidden; }
  .sheen::after { content:''; position:absolute; inset:0; background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%); transform:translateX(-120%); transition:transform .8s; }
  .sheen:hover::after { transform:translateX(120%); }

  .hero-img { will-change: transform; }

  @media (prefers-reduced-motion: reduce) {
    .reveal, .stagger > *, .hero-anim { opacity:1 !important; transform:none !important; animation:none !important; }
    html { scroll-behavior:auto; }
  }


@keyframes auroraShift{0%{transform:translate3d(-4%,-2%,0) scale(1.1);opacity:.5}50%{transform:translate3d(4%,3%,0) scale(1.25);opacity:.8}100%{transform:translate3d(-4%,-2%,0) scale(1.1);opacity:.5}}
.cca-aurora{position:fixed;inset:-15%;z-index:-1;pointer-events:none;background:
 radial-gradient(40% 40% at 20% 25%, rgba(1,112,185,.18), transparent 60%),
 radial-gradient(35% 35% at 80% 30%, rgba(1,112,185,.14), transparent 60%),
 radial-gradient(45% 45% at 60% 80%, rgba(7,39,68,.20), transparent 60%);
 filter:blur(40px);animation:auroraShift 18s ease-in-out infinite}


#cca-fx{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.55}
.cca-aurora{display:none!important}
#cca-cursor{position:fixed;top:0;left:0;width:34px;height:34px;border:2px solid rgba(1,112,185,.8);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:9999;transition:width .2s,height .2s,background .2s,border-color .2s;mix-blend-mode:normal}
#cca-cursor.big{width:60px;height:60px;background:rgba(1,112,185,.15);border-color:rgba(1,112,185,.6)}
@media (hover:none){#cca-cursor{display:none}}
.kin{display:inline-block;opacity:0;transform:translateY(.5em) rot( .5deg);animation:kinUp .7s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes kinUp{to{opacity:1;transform:none}}

/* re-skinned content typography */
.cca-prose{color:#334155;font-size:16.5px;line-height:1.75}
.cca-prose h2{font-family:'Sora','Plus Jakarta Sans',sans-serif;color:#072744;font-weight:800;font-size:1.7rem;line-height:1.2;letter-spacing:-.02em;margin:2.5rem 0 1rem}
.cca-prose h3{font-family:'Sora',sans-serif;color:#072744;font-weight:700;font-size:1.25rem;margin:1.75rem 0 .6rem}
.cca-prose h4{color:#072744;font-weight:700;font-size:1.05rem;margin:1.25rem 0 .5rem}
.cca-prose p{margin:0 0 1.15rem}
.cca-prose ul,.cca-prose ol{margin:0 0 1.25rem;padding-left:1.25rem}
.cca-prose li{margin:.4rem 0;padding-left:.25rem}
.cca-prose ul li{list-style:none;position:relative;padding-left:1.5rem}
.cca-prose ul li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:2px;background:#F38229}
.cca-prose ol{list-style:decimal}
.cca-prose a{color:#0170B9;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.cca-prose a:hover{color:#F38229}
.cca-prose strong{color:#072744;font-weight:700}
.cca-prose blockquote{border-left:3px solid #F38229;padding:.5rem 0 .5rem 1.25rem;margin:1.5rem 0;font-style:italic;color:#475569}
.cca-prose img{border-radius:1rem;margin:1.5rem 0;box-shadow:0 10px 40px -12px rgba(7,39,68,.18);max-width:100%;height:auto}
.cca-prose table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:15px}
.cca-prose th,.cca-prose td{border:1px solid #e2e8f0;padding:.6rem .9rem;text-align:left}
.cca-prose th{background:#f1f5f9;color:#072744;font-weight:700}
.cca-prose hr{border:0;border-top:1px solid #e2e8f0;margin:2rem 0}

/* sticky mobile CTA bar (mobile only) */
#cca-mobilebar{position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;grid-template-columns:1fr 1fr;gap:0;box-shadow:0 -6px 24px rgba(7,39,68,.18)}
#cca-mobilebar a{display:flex;align-items:center;justify-content:center;gap:7px;padding:14px 8px;font-weight:700;font-size:15px;text-decoration:none}
#cca-mobilebar .mb-call{background:#072744;color:#fff}
#cca-mobilebar .mb-call svg{width:17px;height:17px}
#cca-mobilebar .mb-quote{background:#F38229;color:#fff}
@media (max-width:767px){#cca-mobilebar{display:grid}body{padding-bottom:54px}}

/* a11y: visible keyboard focus (UI/UX pro §1 focus-states) */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid #F38229; outline-offset: 2px; border-radius: 4px;
}
/* a11y: respect reduced motion across all decorative motion */
@media (prefers-reduced-motion: reduce) {
  .reveal, .stagger > *, .hero-anim, .kin { animation: none !important; opacity: 1 !important; transform: none !important; }
  #cca-fx, #cca-cursor, .cca-aurora { display: none !important; }
  * { scroll-behavior: auto !important; }
}
/* Encircle-style recolor: orange -> blue gradient (2026-06-16) */
.cca-prose ul li::before{background:#0170B9!important}
.cca-prose a:hover{color:#0170B9!important}
.cca-prose blockquote{border-left-color:#0170B9!important}
#cca-mobilebar .mb-quote{background:#0170B9!important}
a.bg-orange,button.bg-orange,.btn.bg-orange{background-image:linear-gradient(135deg,#0170B9,#3B9FD9)!important;background-color:#0170B9!important}
.bg-orange{background-color:#0170B9!important}.text-orange{color:#0170B9!important}
/* Encircle-style blue-gradient icon tiles (2026-06-16) */
.w-11.h-11.rounded-xl{background:linear-gradient(135deg,#0170B9,#3B9FD9)!important;box-shadow:0 6px 16px -6px rgba(1,112,185,.5)}
.w-11.h-11.rounded-xl svg{color:#fff!important;stroke:#fff!important}
