/* ==========================================================
   AICS — "smooth" layer (loaded last).
   Font + styling language borrowed from the FBL Chambers global
   styles: Plus Jakarta Sans, soft layered shadows, 24px cards,
   pill buttons, sentence-case UI, gentle lifts. Colours stay AICS.
   Remove this file's <link> to revert.
   ========================================================== */
:root{
  --font:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --soft:0 1px 2px rgba(15,53,128,.04),0 12px 32px rgba(15,53,128,.06);
  --soft-hover:0 1px 2px rgba(15,53,128,.04),0 22px 44px rgba(15,53,128,.10);
  --ease:cubic-bezier(.22,1,.36,1);
  --serif:var(--font);--sans:var(--font);
}

/* ---------- font everywhere ---------- */
html{scroll-behavior:smooth;}
body,body *:not(i):not([class^="bi"]):not([class*=" bi-"]){font-family:var(--font)!important;}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;}

/* ---------- headings: confident, tight, sentence case ---------- */
.dsp,.mod-title,.hero-title,.page-hero h1,.cta-band h2,.intro h2,.panel-card h3{font-weight:800!important;letter-spacing:-.025em!important;text-transform:none!important;}
.hero-title,.hero-title .l2{line-height:1.02!important;}
.mod-title{line-height:1.08!important;}
.intro p,.prose p,.fcard p,.tcard>p{line-height:1.75;}

/* ---------- small labels: calmer tracking ---------- */
.mod-kicker,.foot-box .lbl{letter-spacing:.14em!important;font-weight:700!important;}
.stat .t{letter-spacing:.06em!important;text-transform:none!important;font-size:.85rem!important;font-weight:600!important;}
.tile-label small,.tm-b span,.tauthor span,.ph-crumb{letter-spacing:.06em!important;}

/* ---------- pill buttons (FBL .fbl-pill) ---------- */
.btn-pill,.foot-box .btn-pill,.panel-links a{
  min-height:54px;padding:0 30px!important;border-radius:999px!important;border:0;
  font-size:16px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  box-shadow:none;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease)!important;}
.btn-pill:hover,.panel-links a:hover{transform:translateY(-2px);}
.btn-gold:hover,.foot-box .btn-pill:hover{box-shadow:0 10px 24px rgba(250,212,48,.35);}
.btn-teal:hover{box-shadow:0 10px 24px rgba(15,53,128,.28);}
.btn-ghost{box-shadow:inset 0 0 0 2px rgba(255,255,255,.85)!important;border:0!important;background:transparent!important;}
.btn-ghost:hover{background:rgba(255,255,255,.1)!important;}

/* ---------- header + ticker + menu: sentence case ---------- */
.hdr-cta{text-transform:none!important;letter-spacing:0!important;font-size:16px!important;font-weight:600!important;}
.ticker-track a{text-transform:none!important;letter-spacing:0!important;font-weight:600!important;font-size:clamp(.95rem,1.2vw,1.1rem)!important;}
.mitem{letter-spacing:-.01em!important;}

/* ---------- cards: soft layered shadow, 24px, no hard borders ---------- */
.fcard,.tcard,.tmember,.form-card,.partner,.panel-card,.panel-topcard{
  border:0!important;border-radius:24px!important;box-shadow:var(--soft)!important;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease)!important;}
.fcard:hover,.tcard:hover,.tmember:hover,.partner:hover{transform:translateY(-4px)!important;box-shadow:var(--soft-hover)!important;}
.tcard{border-left:0!important;}
.tile,.intro-img,.vid,.gitem,.mcard{border-radius:24px!important;box-shadow:var(--soft)!important;transition:transform .25s var(--ease),box-shadow .25s var(--ease)!important;}
.tile:hover{transform:translateY(-4px);box-shadow:var(--soft-hover)!important;}
.intro-img{outline:0!important;}
.tile img,.gitem img,.mcard img{transition:transform .7s var(--ease)!important;}

/* ---------- forms (FBL inputs) ---------- */
.field label{text-transform:none!important;letter-spacing:0!important;font-size:14px!important;font-weight:600!important;}
.field input,.field textarea,.field select{
  font:500 15px var(--font)!important;border:1.5px solid #E4E6EA!important;border-radius:14px!important;background:#F5F6F8!important;color:#1A1A2E!important;
  transition:border-color .2s,box-shadow .2s,background .2s!important;}
.field input:focus,.field textarea:focus,.field select:focus{background:#fff!important;border-color:var(--royal)!important;box-shadow:0 0 0 4px rgba(24,72,160,.12)!important;}

/* ---------- motion: softer, smoother reveals ---------- */
.rev{transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)!important;}
.rev.in{transform:none;}
a,button{transition-timing-function:var(--ease);}

/* ---------- phones ---------- */
@media(max-width:767px){
  .field input,.field textarea,.field select{font-size:16px!important;}  /* stop iOS zoom */
  .cta-row .btn-pill,.hero-cta .btn-pill{width:100%;}
  body{overflow-x:hidden;}
}
@media (prefers-reduced-motion:reduce){.rev{transform:none!important;transition:none!important;}}
