/* ==========================================================================
   GAMIK Care Ready Workforce Partners
   Single stylesheet - vanilla CSS, no framework
   Sections: tokens / base / buttons / announce+nav / hero / placeholders
             / stats / headings / cards / panels / compare / pricing / faq
             / quotes / cta / pages / footer / utilities / responsive
   ========================================================================== */

:root{
  --maxw:1320px;
  --serif:'Plus Jakarta Sans',system-ui,sans-serif;
  --sans:'Inter',system-ui,-apple-system,sans-serif;
  --navy:#00224A; --navy-mid:#0a3566; --navy-deep:#001731;
  --teal:#078EA6; --teal-lt:#0aa9c4; --teal-pale:#E4F4F7;
  --gold:#F2B84B; --gold-pale:#FDF3E0;
  --green:#2FA876; --green-pale:#E7F7EF;
  --red:#D97A52; --red-pale:#FBEDE7;
  --ice:#EAF3F6; --ice-2:#F4F9FB;
  --line:#E6EDF0; --line-2:#F1F5F7;
  --grey:#5A6B7A; --grey-soft:#8B99A6;
  --white:#fff;
  --sh-1:0 2px 10px rgba(0,34,74,.06);
  --sh-2:0 6px 24px rgba(0,34,74,.09);
  --sh-3:0 20px 50px rgba(0,34,74,.15);
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--navy);line-height:1.6;background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{font-family:inherit}
.w{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.s{padding:92px 0}
.s.s-tall{padding:110px 0}
.s.s-short{padding:72px 0}
.s-sm{padding:56px 0}
@media(max-width:768px){.s{padding:58px 0}.s-sm{padding:40px 0}}
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.rv.in{opacity:1;transform:none}


/* ==========================================================================
   Typography — serif display headings (Source Serif 4) over sans body
   ========================================================================== */
h1,h2,h3,h4{font-family:var(--serif);font-weight:700;letter-spacing:-.015em}
h1{line-height:1.08}
h2,h3{line-height:1.16}

/* buttons */
.b{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14px;padding:13px 25px;border-radius:9px;cursor:pointer;border:none;transition:transform .18s,box-shadow .18s,background .18s,color .18s,border-color .18s;text-align:center;white-space:nowrap;flex-shrink:0}
.b-navy{background:var(--navy);color:#fff}
.b-navy:hover{background:var(--navy-mid);transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,34,74,.26)}
.b-teal{background:var(--teal);color:#fff}
.b-teal:hover{background:var(--teal-lt);transform:translateY(-2px);box-shadow:0 12px 26px rgba(7,142,166,.3)}
.b-ln{background:#fff;color:var(--navy);border:1.5px solid var(--line)}
.b-ln:hover{border-color:var(--teal);color:var(--teal)}
.b-wln{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.45)}
.b-wln:hover{background:#fff;color:var(--navy);border-color:#fff}
.b-sm{padding:10px 19px;font-size:13.5px}
.tl{color:var(--teal);font-weight:700;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:gap .18s,color .18s}
.tl:hover{color:var(--navy);gap:11px}

/* announce */
.ann{background:var(--navy-deep);color:#BCD4E0;font-size:12.5px;text-align:center;padding:10px 20px}
.ann b{color:#fff}.ann .d{color:var(--teal-lt);margin-right:5px}
.ann a{color:var(--teal-lt);font-weight:700;margin-left:7px;white-space:nowrap}
.ann a:hover{color:#fff}
@media(max-width:640px){.ann{font-size:11px;line-height:1.5}}

/* nav */
header.hd{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.98);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);transition:box-shadow .25s}
header.hd.stk{box-shadow:0 2px 20px rgba(0,34,74,.09)}
.nv{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:var(--maxw);margin:0 auto;padding:13px 24px}
.bd{flex-shrink:0}
@media(min-width:1401px){
.bd img {
    height: 46px;
    width: 140px;
    display: block;
    margin-left: 390px;
}
}
.bd .brand-svg{height:46px;width:auto;display:block}
.fb .brand-svg-w{height:44px;width:auto;display:block;margin-bottom:16px}
.nl{display:flex;align-items:center;gap:20px}
.nl a.k{font-size:13.8px;font-weight:600;position:relative;padding:5px 1px;cursor:pointer;white-space:nowrap;flex-shrink:0}
.nl a.k::after{content:'';position:absolute;left:0;bottom:-3px;height:2px;width:0;background:var(--teal);transition:width .2s}
.nl a.k:hover::after,.nl a.k.on::after{width:100%}
.nl a.k.on{color:var(--teal)}
.na{display:flex;align-items:center;gap:12px;flex-shrink:0}
.bg{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.ncx{display:none}
.bg span{width:23px;height:2.5px;background:var(--navy);border-radius:2px;transition:transform .25s,opacity .2s}
.nl .mob{display:none}
@media(max-width:1400px){
  /* header.hd has backdrop-filter (the frosted-glass effect), which creates
     a new CSS containing block for any position:fixed descendant - that
     confines .nl below to the header's own small box instead of the real
     viewport, since .nl lives nested inside the header in the markup.
     Disabling it here, only at this breakpoint, fixes that while leaving
     the effect fully intact on desktop where .nl never uses fixed
     positioning in the first place. */
  header.hd{backdrop-filter:none}
  .nov{position:fixed;inset:0;background:rgba(0,34,74,.45);z-index:998;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
  .nov.op{opacity:1;visibility:visible}
  .nl{position:fixed;top:0;right:0;bottom:0;width:300px;max-width:82vw;background:#fff;flex-direction:column;align-items:stretch;gap:0;overflow-y:auto;transform:translateX(100%);transition:transform .3s ease;box-shadow:-14px 0 34px rgba(0,34,74,.18);padding:16px 24px 24px;z-index:999}
  .nl.op{transform:translateX(0)}
  .nl a.k{padding:13px 0;border-bottom:1px solid var(--line)}
  .ncx{display:flex;align-self:flex-end;background:none;border:none;font-size:28px;line-height:1;color:var(--navy);cursor:pointer;padding:2px 6px 10px;margin-bottom:4px}
  .na{display:none}.bg{display:flex}.nl .mob{display:flex;margin-top:14px}
}

/* hero — dark navy gradient */
.hr{position:relative;overflow:hidden;padding:82px 0 92px;color:#fff;
  background:
    radial-gradient(1150px 720px at 93% 4%, rgba(10,169,196,.34) 0%, rgba(10,169,196,0) 58%),
    radial-gradient(820px 620px at 74% 44%, rgba(7,142,166,.20) 0%, rgba(7,142,166,0) 62%),
    radial-gradient(760px 560px at 4% 92%, rgba(0,52,104,.55) 0%, rgba(0,52,104,0) 66%),
    linear-gradient(158deg,#022C55 0%,#011F41 44%,#001731 100%);
}
.hr::before{content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:66px 66px;
  -webkit-mask-image:radial-gradient(900px 600px at 32% 34%, #000 0%, transparent 78%);
  mask-image:radial-gradient(900px 600px at 32% 34%, #000 0%, transparent 78%);
}
.blob{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none}
.blob.b1{top:-160px;right:-90px;width:520px;height:520px;background:radial-gradient(circle,rgba(10,169,196,.40),transparent 66%);animation:fl1 18s ease-in-out infinite}
.blob.b2{bottom:-170px;left:-110px;width:400px;height:400px;background:radial-gradient(circle,rgba(7,142,166,.22),transparent 68%);animation:fl2 22s ease-in-out infinite}
@keyframes fl1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-30px,34px) scale(1.08)}}
@keyframes fl2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(34px,-26px) scale(1.06)}}

/* hero content on dark */
.hr .pill{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);box-shadow:none;color:#fff;padding:7px 16px 7px 13px;backdrop-filter:blur(6px)}
.hr .pill .dt{width:8px;height:8px;border-radius:50%;background:#3ED598;box-shadow:0 0 0 3px rgba(62,213,152,.22);flex-shrink:0}
.hr .pill b{font-weight:800;color:#fff}
.hr .pill span.sub{color:#A9C4D4;font-weight:600}
.hr h1.hh{color:#fff}
.hr h1.hh span{color:#5BC8DC}
.hr .hl{color:#B4CEDD;max-width:540px}
.hr .hl b{color:#fff;font-weight:700}
.hr .tk{color:#DCEAF1}
.hr .tk svg{stroke:#5BC8DC}
.hr .b-hero{background:linear-gradient(100deg,#0d7fd6 0%,#0aa9c4 100%);color:#fff;box-shadow:0 12px 30px rgba(10,120,190,.34)}
.hr .b-hero:hover{background:linear-gradient(100deg,#1590e8 0%,#12bcd8 100%);transform:translateY(-2px);box-shadow:0 16px 36px rgba(10,120,190,.42)}
.hr .tl{color:#fff;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1.5px;text-decoration-color:rgba(255,255,255,.4)}
.hr .tl:hover{color:#5BC8DC;text-decoration-color:#5BC8DC}

/* dark dashboard mockup */
.hr .mk{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 70px rgba(0,10,24,.5);backdrop-filter:blur(10px)}
.hr .mkb{background:rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.09)}
.hr .mkb i{background:rgba(255,255,255,.24)}
.hr .mku{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:#A9C4D4}
.hr .mks{background:rgba(255,255,255,.03);border-right:1px solid rgba(255,255,255,.09)}
.hr .mks h6{color:#fff;font-size:11.5px;letter-spacing:.02em;text-transform:none;font-weight:800}
.hr .mks a{color:#93AEC0;font-size:12.4px;padding:9px 10px 9px 14px;position:relative;transition:background .5s ease,color .5s ease}
.hr .mks a.ac{background:rgba(91,200,220,.16);color:#fff;font-weight:700}
.hr .mks a i{display:none}
.hr .mks a::before{content:'';position:absolute;left:2px;top:7px;bottom:7px;width:3px;border-radius:2px;background:#6FD0E0;opacity:0;transform:scaleY(.3);transition:opacity .5s ease,transform .5s ease}
.hr .mks a.ac::before{opacity:1;transform:scaleY(1)}
@media(prefers-reduced-motion:reduce){.hr .mks a,.hr .mks a::before{transition:none}}
.hr .mkh strong{color:#fff;font-size:14px}
.hr .mkh .act{background:rgba(255,255,255,.09);color:#BBD3E0;font-weight:700}
.hr .rw{border-bottom:1px solid rgba(255,255,255,.07);padding:11px 0}
.hr .rw span.nm{color:#fff}
.hr .rw small{color:#8FA9B8}
.hr .av{background:rgba(91,200,220,.18);color:#8FE0EF}
.hr .av.t{background:rgba(91,200,220,.22);color:#9AE7F5}
.hr .av.g{background:rgba(242,184,75,.2);color:#F5C876}
.hr .st.ok{background:rgba(62,213,152,.16);color:#6FE3AE}
.hr .st.du{background:rgba(242,184,75,.18);color:#F5C876}
.hr .st.ac{background:rgba(217,122,82,.2);color:#EFA383}
.hr .mtr{color:#fff}
.hr .flt{background:#fff;border:1px solid rgba(255,255,255,.5);box-shadow:0 18px 40px rgba(0,10,24,.4)}
.hr .flt b{color:var(--navy)}
.hr .flt small{color:var(--grey)}
.hr .w{position:relative;display:grid;grid-template-columns:1.03fr .97fr;gap:50px;align-items:center}
@media(max-width:1020px){.hr .w{grid-template-columns:1fr;gap:46px}.hr{padding:52px 0 58px}}
.pill{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:30px;padding:6px 14px 6px 6px;font-size:12.5px;font-weight:700;box-shadow:var(--sh-1);margin-bottom:20px}
.pill em{font-style:normal;background:var(--teal);color:#fff;border-radius:20px;padding:3px 10px;font-size:11px;letter-spacing:.03em}
h1.hh{font-size:57px;font-weight:700;line-height:1.06;letter-spacing:-.022em;margin-bottom:21px}
h1.hh span{color:var(--teal)}
@media(max-width:640px){h1.hh{font-size:36px;letter-spacing:-.018em}}
.hl{font-size:16.8px;color:var(--grey);max-width:526px;margin-bottom:27px}
.hl b{color:var(--navy);font-weight:700}
.hc{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:25px}
.tk{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12.5px;font-weight:600}
.tk span{display:inline-flex;align-items:center;gap:6px}
.tk svg{width:14px;height:14px;stroke:var(--teal)}
.hv{position:relative}

/* mock panel */
.mk{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-3);overflow:hidden;width:100%}
.mkb{display:flex;align-items:center;gap:7px;padding:11px 13px;background:#F7FAFB;border-bottom:1px solid var(--line)}
.mkb i{width:9px;height:9px;border-radius:50%;background:#DCE5E9;display:block}
.mku{flex:1;background:#fff;border:1px solid var(--line);border-radius:6px;font-size:10.3px;color:var(--grey-soft);padding:4px 10px;margin-left:6px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mkw{display:grid;grid-template-columns:136px minmax(0,1fr)}
@media(max-width:540px){.mkw{grid-template-columns:1fr}.mks{display:none}}
.mks{background:#FAFCFD;border-right:1px solid var(--line);padding:15px 11px}
.mks h6{font-size:9.3px;text-transform:uppercase;letter-spacing:.09em;color:var(--grey-soft);margin-bottom:9px;padding-left:7px}
.mks a{display:flex;align-items:center;gap:8px;font-size:11.4px;font-weight:600;color:var(--grey);padding:7px 8px;border-radius:6px;margin-bottom:1px}
.mks a.ac{background:var(--teal-pale);color:var(--navy)}
.mks a i{width:6px;height:6px;border-radius:2px;background:#CBD9DF;display:block;flex-shrink:0}
.mks a.ac i{background:var(--teal)}
.mkm{padding:17px}
#mkRows{transition:opacity .28s ease}
#mkRows.fading{opacity:0}
@media(prefers-reduced-motion:reduce){#mkRows{transition:none}}
.mkh{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.mkh strong{font-size:12.8px}
.mkh .act{font-size:10.2px;font-weight:800;color:var(--teal);background:var(--teal-pale);padding:5px 10px;border-radius:20px;cursor:default;white-space:nowrap}
.rw{display:flex;align-items:center;gap:10px;padding:9.5px 0;border-bottom:1px solid var(--line-2)}
.rw:last-child{border-bottom:none}
.av{width:27px;height:27px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:9.8px;font-weight:800;color:#fff;background:var(--navy)}
.av.t{background:var(--teal)}.av.g{background:var(--gold);color:#4a3600}.av.n{background:var(--ice);color:var(--navy)}
.rw>div{flex:1;min-width:0}
.rw span.nm{display:block;font-size:11.9px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rw small{display:block;font-size:10.4px;color:var(--grey);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st{font-size:9.4px;font-weight:800;padding:4px 8px;border-radius:20px;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.st::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}
.st.ok{background:var(--green-pale);color:#1C7A4F}
.st.du{background:var(--gold-pale);color:#8A6200}
.st.ac{background:var(--red-pale);color:#A5502C}
.mtr{font-size:11px;font-weight:800;color:var(--navy);white-space:nowrap}
.flt{position:absolute;bottom:-20px;left:-18px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 15px;box-shadow:var(--sh-2);display:flex;align-items:center;gap:10px}
.flt svg{width:19px;height:19px;stroke:var(--teal);flex-shrink:0}
.flt b{display:block;font-size:11.8px}.flt small{font-size:10.3px;color:var(--grey)}
@media(max-width:1020px){.flt{display:none}}

/* photo placeholders */
.ph2{position:relative;border-radius:16px;overflow:hidden;background:
  radial-gradient(420px 300px at 78% 18%, rgba(7,142,166,.22), transparent 66%),
  radial-gradient(360px 280px at 16% 84%, rgba(0,34,74,.16), transparent 64%),
  linear-gradient(150deg,#E7F1F5 0%,#F3F9FB 60%,#EDF5F8 100%);
  border:1px solid var(--line);display:flex;align-items:center;justify-content:center;text-align:center;padding:26px}
.ph2::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(0,34,74,.06) 1.2px,transparent 1.2px);background-size:20px 20px;opacity:.7}
.ph2.r43{aspect-ratio:4/3}
.ph2.r1610{aspect-ratio:16/10}
.ph2.r169{aspect-ratio:16/9}
.ph2 .inr{position:relative;max-width:290px}
.ph2 svg.pi2{width:40px;height:40px;stroke:var(--teal);margin:0 auto 12px;opacity:.9}
.ph2 b{display:block;font-size:13px;color:var(--navy);margin-bottom:5px}
.ph2 small{display:block;font-size:11.3px;color:var(--grey);line-height:1.5}
.ph2 .dim{display:inline-block;margin-top:10px;font-size:10.3px;font-weight:800;letter-spacing:.05em;color:var(--teal);background:rgba(255,255,255,.85);border:1px solid var(--line);padding:4px 10px;border-radius:20px}
.ph2.circ{aspect-ratio:1;border-radius:50%;width:112px;height:112px;margin:0 auto 16px;padding:12px}
.ph2.circ svg.pi2{width:30px;height:30px;margin-bottom:6px}
.ph2.circ b{font-size:9.6px;line-height:1.3}
.ph2.circ small,.ph2.circ .dim{display:none}
.phcap{font-size:11.3px;color:var(--grey-soft);text-align:center;margin-top:10px}

/* photo band */
.band{position:relative;overflow:hidden;background:
  radial-gradient(700px 420px at 82% 12%, rgba(7,142,166,.2), transparent 64%),
  radial-gradient(620px 400px at 12% 88%, rgba(0,34,74,.14), transparent 62%),
  linear-gradient(160deg,#E9F2F6 0%,#F4FAFB 100%)}
.band::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(0,34,74,.055) 1.3px,transparent 1.3px);background-size:24px 24px;opacity:.8;pointer-events:none}
.band .w{position:relative}
.pgal{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:880px){.pgal{grid-template-columns:1fr}}
.gcard{position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;box-shadow:var(--sh-2);isolation:isolate;transition:box-shadow .35s var(--ease)}
.gcard:hover{box-shadow:var(--sh-3)}
.gph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.92) brightness(.92);transition:transform .6s var(--ease),filter .5s ease;transform:scale(1.04)}
.gcard:hover .gph{transform:scale(1.11);filter:saturate(1) brightness(.85)}
.gsc{position:absolute;inset:0;background:
  linear-gradient(185deg,rgba(0,23,49,.14) 0%,rgba(0,23,49,.32) 46%,rgba(0,23,49,.86) 100%);
  transition:background .4s ease}
.gcard:hover .gsc{background:
  linear-gradient(185deg,rgba(0,23,49,.06) 0%,rgba(0,23,49,.22) 46%,rgba(0,23,49,.82) 100%)}
.gic{position:absolute;top:16px;left:16px;width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center;transition:background .35s ease,transform .35s var(--ease)}
.gcard:hover .gic{background:var(--teal);transform:translateY(-2px)}
.gic svg{width:20px;height:20px;stroke:#fff}
.gtx{position:absolute;left:18px;right:18px;bottom:16px;color:#fff}
.gtx b{display:block;font-family:var(--serif);font-size:17px;font-weight:700;line-height:1.28;margin-bottom:4px;letter-spacing:-.01em}
.gtx span{display:block;font-size:12.3px;color:#CFE0E9;line-height:1.4}

/* stat strip */
.stp{background:var(--navy);color:#fff}
.stp .w{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-top:44px;padding-bottom:44px}
.stt{position:relative;padding-left:24px}
.stt::before{content:'';position:absolute;left:0;top:2px;bottom:6px;width:2px;background:rgba(255,255,255,.14)}
.stt:first-child{padding-left:0}
.stt:first-child::before{display:none}
@media(max-width:840px){.stt:nth-child(3){padding-left:0}.stt:nth-child(3)::before{display:none}}
@media(max-width:840px){.stp .w{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}}
.stt .stat-num {
    display: block;
    font-family: var(--serif);
    font-size: 68px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.02em;
    white-space: nowrap;
}
.stt .stat-num em{font-style:normal;font-family:var(--sans);color:var(--teal-lt);font-size:28px;font-weight:700;letter-spacing:-.005em;margin-left:1px}
@media(max-width:480px){.stt .stat-num{font-size:48px}.stt .stat-num em{font-size:19px}}
.stt .stat-label{display:block;font-size:12.6px;color:#9FB9C7;margin-top:9px;font-weight:600;line-height:1.5;letter-spacing:.005em}

/* section heads */
.eb{color:var(--teal);font-weight:800;font-size:11.6px;letter-spacing:.11em;text-transform:uppercase;display:block;margin-bottom:11px}
.sh{max-width:680px;margin:0 auto 50px;text-align:center}
.sh h2 {
    font-size: 41px;
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.14;
    margin-bottom: 14px;
}
.sh h2 .arw{display:inline-block;color:var(--teal);animation:arwnudge 1.7s ease-in-out infinite}
.sh h2 .arw:nth-of-type(2){animation-delay:.18s}
.sh h2 .arw:nth-of-type(3){animation-delay:.36s}
.sh h2 .arw:nth-of-type(4){animation-delay:.54s}
@keyframes arwnudge{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}
.sh p{color:var(--grey);font-size:16.2px;line-height:1.62;max-width:600px;margin:0 auto}
@media(max-width:640px){.sh h2{font-size:30px}.sh{margin-bottom:36px}}
.mid{text-align:center;margin-top:38px}

/* 1-2-3 */
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.g3.tline{position:relative}
.g3.tline::before{content:'';position:absolute;top:48px;left:16.5%;right:16.5%;height:2px;background:linear-gradient(90deg,var(--teal),#cfe0e6,var(--teal));opacity:.55}
@media(max-width:920px){.g3.tline::before{display:none}}
@media(max-width:920px){.g3{grid-template-columns:1fr}}
.c3{background:#fff;border:1px solid var(--line);border-radius:15px;padding:30px 26px;transition:transform .22s,box-shadow .22s,border-color .22s}
.c3:hover{transform:translateY(-6px);box-shadow:var(--sh-3);border-color:transparent}
.c3 .n{width:37px;height:37px;border-radius:11px;background:var(--navy);color:#fff;font-weight:800;font-size:16.5px;display:flex;align-items:center;justify-content:center}
.c3-top{display:flex;align-items:center;gap:11px;margin-bottom:17px;position:relative;z-index:1}
.c3-time{font-size:11px;font-weight:700;color:var(--grey-soft);letter-spacing:.02em}
.c3:last-child .n{background:var(--teal)}
.c3 .kk{font-size:11.2px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--teal);display:block;margin-bottom:7px}
.c3 h3{font-size:22px;font-weight:700;margin-bottom:11px;line-height:1.22}
.c3 p{font-size:13.8px;color:var(--grey)}

/* deep dives */
.dv{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.dv+.dv{margin-top:86px}
@media(max-width:980px){.dv{grid-template-columns:1fr;gap:34px}.dv+.dv{margin-top:58px}.dv.rv2 .tx{order:-1}}
.dv h3{font-size:32px;font-weight:700;margin-bottom:15px;line-height:1.16;letter-spacing:-.02em}
@media(max-width:640px){.dv h3{font-size:25px}}
.dv p.dl{color:var(--grey);font-size:14.8px;margin-bottom:19px}
.dls li{position:relative;padding-left:26px;font-size:14.2px;font-weight:500;color:var(--navy);margin-bottom:13px;line-height:1.5}
.dls li::before{content:"";position:absolute;left:0;top:11px;width:14px;height:2px;border-radius:2px;background:var(--teal)}
.dls svg{display:none}
.pn{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--sh-2);overflow:hidden}
.pnh{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 18px;border-bottom:1px solid var(--line-2);background:#FCFDFE}
.pnh h6{font-size:9.6px;text-transform:uppercase;letter-spacing:.09em;color:var(--grey-soft);margin-bottom:3px}
.pnh .pt{font-size:13px;font-weight:800}
.pnh .act{font-size:10.2px;font-weight:800;color:var(--teal);background:var(--teal-pale);padding:5px 11px;border-radius:20px;white-space:nowrap}
.pnb{padding:8px 18px 16px}
.pi{padding:11px 0;border-bottom:1px solid var(--line-2)}
.pi:last-child{border-bottom:none}
.pi .tp{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px}
.pi span{font-size:12.3px;font-weight:700}
.pi small{font-size:11px;color:var(--grey);font-weight:700}
.pr{height:6px;border-radius:6px;background:#EDF2F4;overflow:hidden}
.pr i{display:block;height:100%;border-radius:6px;background:var(--teal)}
.pnb .rw{padding:10px 0}

/* icon grid */
.ig{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:920px){.ig{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.ig{grid-template-columns:1fr}}
.ic{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;transition:transform .22s,box-shadow .22s,border-color .22s}
.ic:hover{transform:translateY(-5px);box-shadow:var(--sh-2);border-color:transparent}
.ib{width:44px;height:44px;border-radius:11px;background:var(--teal-pale);display:flex;align-items:center;justify-content:center;margin-bottom:15px}
.ib svg{width:21px;height:21px;stroke:var(--teal)}
.ic h4{font-size:18.5px;font-weight:700;margin-bottom:9px;line-height:1.25}
.ic p{font-size:13.3px;color:var(--grey)}

/* compare */
.cp{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:820px){.cp{grid-template-columns:1fr}}
.cb{border-radius:15px;padding:32px 28px}
.cb.bd2{background:#FCF5F2;border:1px solid #F3DFD4}
.cb.gd{background:var(--navy);border:1px solid var(--navy)}
.cb h3{font-size:22px;font-weight:700;margin-bottom:19px;display:flex;align-items:center;gap:10px;letter-spacing:-.012em}
.cb.bd2 h3{color:#A5502C}.cb.gd h3{color:#fff}
.cb li{display:flex;gap:11px;align-items:flex-start;font-size:13.8px;margin-bottom:13px;line-height:1.55}
.cb.bd2 li{color:#7C5A4A}.cb.gd li{color:#CFE2EB}
.cb li svg{width:15px;height:15px;flex-shrink:0;margin-top:4px}

/* split + ministats */
.sp{display:grid;grid-template-columns:7fr 5fr;gap:56px;align-items:center}
@media(max-width:980px){.sp{grid-template-columns:1fr;gap:36px}}
.sp.stretch{align-items:stretch}
.ph2.stretch{height:100%;min-height:360px;display:block;padding:0;background:none}
.ph2.stretch::before{display:none}
@media(max-width:980px){.ph2.stretch{height:320px;min-height:0}}
.ms{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.msc{background:#fff;border:1px solid var(--line);border-radius:13px;padding:22px 20px;text-align:center}
.msc b{display:block;font-family:var(--serif);font-size:34px;font-weight:800;color:var(--navy);line-height:1.04;letter-spacing:-.02em}
.msc b em{font-style:normal;font-family:var(--sans);font-size:15px;font-weight:700;color:var(--teal);letter-spacing:-.005em;margin-left:1px}
.msc span{display:block;font-size:11.6px;color:var(--grey);font-weight:600;margin-top:6px;line-height:1.4}
.wk li{display:flex;gap:13px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line)}
.wk li:last-child{border-bottom:none}
.wk .wl{font-size:11.4px;font-weight:800;color:var(--teal);background:var(--teal-pale);border-radius:6px;padding:4px 9px;flex-shrink:0;min-width:58px;text-align:center}
.wk .wt{font-size:13.8px;color:var(--grey);font-weight:600}

/* pricing */
.pg{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;align-items:stretch}
.pc{display:flex;flex-direction:column}
.pc ul{flex:1}
@media(max-width:720px){.pg{grid-template-columns:1fr}}
.pc{background:#fff;border:1px solid var(--line);border-radius:16px;padding:31px 27px;position:relative;transition:transform .22s,box-shadow .22s}
.pc:hover{transform:translateY(-5px);box-shadow:var(--sh-2)}
.pc.hi{border:2px solid var(--teal);box-shadow:var(--sh-2)}
.pc .fg{position:absolute;top:-13px;left:27px;background:var(--teal);color:#fff;font-size:10.2px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 13px;border-radius:20px}
.pc h3{font-size:20px;font-weight:700;margin-bottom:11px;line-height:1.22;min-height:50px}
.pc .am{font-family:var(--serif);font-size:36px;font-weight:700;line-height:1.05;letter-spacing:-.02em}
.pc .am small{font-size:12.5px;font-weight:600;color:var(--grey)}
.pc .tm{font-size:11.8px;color:var(--grey);margin:7px 0 19px;font-weight:600}
.pc ul{margin-bottom:23px}
.pc li{display:flex;gap:9px;align-items:flex-start;font-size:13.2px;color:var(--grey);margin-bottom:10px}
.pc li svg{width:14px;height:14px;stroke:var(--teal);flex-shrink:0;margin-top:3.5px}
.nt{text-align:center;font-size:12.3px;color:var(--grey);margin-top:26px}

/* faq */
.fq{max-width:840px;margin:0 auto}
.fq details{border-bottom:1px solid var(--line)}
.fq summary{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:22px 4px;cursor:pointer;font-family:var(--serif);font-weight:700;font-size:18.5px;list-style:none;letter-spacing:-.01em}
.fq summary::-webkit-details-marker{display:none}
.fq summary .pl2{width:25px;height:25px;border-radius:50%;background:var(--ice);color:var(--teal);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;transition:transform .25s,background .25s,color .25s;line-height:1}
.fq details[open] summary .pl2{transform:rotate(45deg);background:var(--teal);color:#fff}
.fq .an{padding:0 4px 22px;color:var(--grey);font-size:13.9px;max-width:760px}

/* big cta */
.bc{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-deep) 100%);color:#fff;text-align:center;position:relative;overflow:hidden}
.bc::before{content:'';position:absolute;top:-95px;right:-75px;width:350px;height:350px;border-radius:50%;background:rgba(7,142,166,.17)}
.bc::after{content:'';position:absolute;bottom:-120px;left:-90px;width:300px;height:300px;border-radius:50%;background:rgba(7,142,166,.09)}
.bc .w{position:relative}
.bc h2{font-size:39px;font-weight:700;max-width:730px;margin:0 auto 16px;line-height:1.18;letter-spacing:-.02em}
.bc p{color:#AFC8D6;max-width:570px;margin:0 auto 29px;font-size:15.3px}
.bc .rr{display:flex;gap:13px;justify-content:center;flex-wrap:wrap}
@media(max-width:640px){.bc h2{font-size:29px}}

/* boundary */
.bo{background:var(--ice)}
.bo p{max-width:850px;margin:0 auto;text-align:center;font-size:12.3px;color:var(--grey);line-height:1.7}

/* crumb + page hero */
.cr{background:var(--ice);padding:14px 0;font-size:12.3px;color:var(--grey)}
.cr a{color:var(--teal);font-weight:700;cursor:pointer}
.cr i{font-style:normal;margin:0 7px;color:var(--grey-soft)}
.ph{background:linear-gradient(170deg,#F1F7FA 0%,#FAFDFE 100%);padding:60px 0 50px;text-align:center}
.ph h1{font-size:45px;font-weight:700;letter-spacing:-.022em;margin-bottom:14px;line-height:1.1}
.ph p{color:var(--grey);font-size:15.4px;max-width:580px;margin:0 auto}
@media(max-width:640px){.ph h1{font-size:32px}}

/* services page */
.sg{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:840px){.sg{grid-template-columns:1fr}}
.sc{background:#fff;border:1px solid var(--line);border-radius:15px;padding:31px;position:relative;overflow:hidden;transition:transform .22s,box-shadow .22s}
.sc:hover{transform:translateY(-6px);box-shadow:var(--sh-3)}
.sc .bn{position:absolute;top:15px;right:21px;font-size:40px;font-weight:800;color:#F1F6F8;line-height:1}
.sc .ib,.sc h3,.sc p,.sc .mt2,.sc a{position:relative}
.sc h3{font-size:21px;font-weight:700;margin-bottom:11px;line-height:1.22}
.sc p{font-size:14.2px;color:var(--grey);margin-bottom:14px}
.mt2{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.ch{font-size:11px;font-weight:700;background:var(--ice);padding:5px 11px;border-radius:20px}

/* who */
.pls{display:flex;flex-wrap:wrap;gap:11px;justify-content:center;max-width:860px;margin:0 auto}
.pl3{background:#fff;border:1px solid var(--line);border-radius:30px;padding:11px 19px;font-size:13.3px;font-weight:600;display:flex;align-items:center;gap:8px;box-shadow:var(--sh-1)}
.pl3 svg{width:14px;height:14px;stroke:var(--teal);flex-shrink:0}
.fg2{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:52px}
@media(max-width:820px){.fg2{grid-template-columns:1fr}}
.ft2{border-radius:15px;padding:29px}
.ft2.y{background:#F1FAF5;border:1px solid #D2EDE0}
.ft2.n{background:#FCF5F2;border:1px solid #F3DFD4}
.ft2 h4{font-size:19px;font-weight:700;margin-bottom:17px;display:flex;align-items:center;gap:9px}
.ft2.y h4{color:#1C7A4F}.ft2.n h4{color:#A5502C}
.ft2 li{font-size:13.3px;color:var(--grey);margin-bottom:11px;padding-left:19px;position:relative;line-height:1.55}
.ft2 li::before{content:'';position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%}
.ft2.y li::before{background:var(--green)}.ft2.n li::before{background:var(--red)}

/* about */
.ab{display:grid;grid-template-columns:.8fr 1.2fr;gap:46px;align-items:start}
@media(max-width:920px){.ab{grid-template-columns:1fr}}
.fc{background:#fff;border:1px solid var(--line);border-radius:16px;padding:33px;text-align:center;box-shadow:var(--sh-2)}
.fc h3{font-size:21px;font-weight:700;margin-bottom:5px}
.fc .rl{color:var(--teal);font-weight:700;font-size:12.8px;margin-bottom:21px}
.abl li{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid var(--line);font-size:14.2px;color:var(--grey);line-height:1.6}
.abl li:last-child{border-bottom:none}
.abl svg{width:17px;height:17px;stroke:var(--teal);flex-shrink:0;margin-top:4px}
.abl b{color:var(--navy)}

/* contact */
.cg{display:grid;grid-template-columns:1.06fr .94fr;gap:44px}
@media(max-width:920px){.cg{grid-template-columns:1fr}}
.fl{margin-bottom:18px}
.fl label{display:block;font-size:12.4px;font-weight:700;margin-bottom:7px}
.fl input,.fl textarea,.fl select{width:100%;padding:13px 15px;border:1.5px solid #DDE5E9;border-radius:9px;font-family:inherit;font-size:14.3px;color:var(--navy);transition:border-color .15s,box-shadow .15s;background:#fff}
.fl input:focus,.fl textarea:focus,.fl select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(7,142,166,.13)}
.fl textarea{resize:vertical;min-height:118px}
.fl select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:40px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A6B7A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:16px}
.fl select:invalid{color:var(--grey-soft)}
.fl select.bad{border-color:#D97A52;background-color:#FFFBF9}
.bk{background:var(--ice);border:2px dashed #C6DCE3;border-radius:14px;padding:34px 26px;text-align:center;margin-bottom:20px}

.cal-mock{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-2);overflow:hidden;margin-bottom:22px}
.cal-mock-head{display:flex;align-items:center;gap:9px;padding:12px 16px;background:#FAFCFD;border-bottom:1px solid var(--line);font-size:11.5px;color:var(--grey-soft);font-weight:600}
.cal-mock-dot{width:8px;height:8px;border-radius:50%;background:#0069FF;flex-shrink:0}
.cal-mock-body{padding:18px 18px 10px}
.cal-mock-month{display:flex;align-items:center;justify-content:space-between;font-weight:800;font-size:14px;color:var(--navy);margin-bottom:12px}
.cal-mock-arrows{display:flex;gap:8px;color:var(--grey-soft);font-size:16px;font-weight:700}
.cal-mock-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.cal-mock-dow{font-size:10px;font-weight:800;color:var(--grey-soft);padding-bottom:6px}
.cal-mock-day{font-size:12px;color:var(--navy);padding:6px 0;border-radius:8px;font-weight:600}
.cal-mock-day.av{background:#0069FF;color:#fff;cursor:default}
.cal-mock-day.tdy:not(.av){box-shadow:inset 0 0 0 1.5px #0069FF;color:#0069FF}
.cal-mock-slots{display:flex;flex-wrap:wrap;gap:8px;padding:14px 18px}
.cal-mock-slot{font-size:11.5px;font-weight:700;color:#0069FF;border:1.5px solid #B9D3FF;border-radius:8px;padding:7px 12px;background:#F4F8FF}
.cal-mock-note{font-size:10.8px;color:var(--grey-soft);text-align:center;padding:0 16px 14px}
.bk svg{width:33px;height:33px;stroke:var(--teal);margin:0 auto 12px}
.bk p{font-size:12.8px;color:var(--grey)}
.ic2{background:#fff;border:1px solid var(--line);border-radius:14px;padding:23px}
.ic2 .r2{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--line-2)}
.ic2 .r2:last-child{border-bottom:none}
.ic2 svg{width:17px;height:17px;stroke:var(--teal);flex-shrink:0;margin-top:2px}
.ic2 b{display:block;font-size:12.8px}.ic2 small{font-size:11.8px;color:var(--grey)}
.okm{display:none;background:#EDFAF3;border:1.5px solid #B9EBD2;color:#12693D;padding:17px 19px;border-radius:10px;font-weight:700;font-size:13.8px;margin-bottom:19px}

/* footer */
footer.ft{background:var(--navy-deep);color:#fff;padding:62px 0 22px}
.fgr{display:grid;grid-template-columns:1.35fr .72fr .82fr 1.02fr;gap:36px;margin-bottom:36px}
@media(max-width:920px){.fgr{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.fgr{grid-template-columns:1fr}}
.fb img{height:44px;margin-bottom:16px}
.fb p{color:#87A1B1;font-size:12.8px;max-width:280px;margin-bottom:16px}
.fs{display:flex;gap:9px}
.fs a{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;transition:background .2s}
.fs a:hover{background:var(--teal)}
.fs svg{width:14px;height:14px;stroke:#B4CBD8}
.fs a:hover svg{stroke:#fff}
.fcl h5{font-size:11.2px;text-transform:uppercase;letter-spacing:.09em;color:#6C8695;margin-bottom:14px}
.fcl a{display:block;color:#B4CBD8;font-size:13.2px;margin-bottom:10px;cursor:pointer}
.fcl a:hover{color:var(--teal-lt)}
.nf{display:flex;border:1px solid rgba(255,255,255,.14);border-radius:9px;overflow:hidden;margin-top:5px}
.nf input{flex:1;background:rgba(255,255,255,.05);border:none;padding:11px 13px;color:#fff;font-size:12.8px;font-family:inherit;min-width:0}
.nf input::placeholder{color:#6C8695}
.nf input:focus{outline:none}
.nf button{background:var(--teal);border:none;color:#fff;padding:0 16px;font-weight:700;font-size:12.8px;cursor:pointer}
.nf-msg{font-size:11.3px;color:#6FD0E0;margin-top:8px;min-height:14px}
.fbt{border-top:1px solid rgba(255,255,255,.1);padding-top:20px}
.fbt p{color:#6C8695;font-size:11.3px;line-height:1.75;max-width:930px}
.fbt p.lg{margin-top:7px}
.cpr{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}
.cpr p{color:#6C8695;font-size:11.5px;margin:0}
.cpr-links{display:flex;align-items:center;gap:14px}
.cpr-links a{color:#8AA3B3;font-size:11.5px}
.cpr-links a:hover{color:var(--teal-lt)}
.cpr-links span{color:#4C6474}
.trust{display:flex;flex-wrap:wrap;gap:7px 16px;margin-top:14px;font-size:11px;color:#6C8695;font-weight:600}
.trust span{display:inline-flex;align-items:center;gap:5px}
.trust span::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--teal);flex-shrink:0}

/* sticky mobile cta */
.smc{display:none;position:fixed;bottom:0;left:0;right:0;z-index:190;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:11px 16px;box-shadow:0 -4px 20px rgba(0,34,74,.1)}
.smc .b{width:100%}
@media(max-width:720px){.smc{display:block}body{padding-bottom:68px}}

.cookiebar{position:fixed;left:20px;right:20px;bottom:20px;z-index:300;max-width:640px;margin:0 auto;background:var(--navy);border-radius:14px;box-shadow:0 20px 50px rgba(0,23,49,.35);transform:translateY(140%);opacity:0;transition:transform .5s var(--ease),opacity .5s var(--ease)}
.cookiebar.show{transform:translateY(0);opacity:1}
.cookiebar-inner{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:18px 20px}
.cookiebar-inner p{flex:1;min-width:200px;font-size:12.8px;color:#CFE0E9;line-height:1.55;margin:0}
.cookiebar-inner p a{color:#6FD0E0;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.cookiebar-inner p a:hover{color:#fff}
.cookiebar-actions{display:flex;gap:10px;flex-shrink:0}
.cookiebar-actions .b-ln{background:transparent;border-color:rgba(255,255,255,.3);color:#CFE0E9}
.cookiebar-actions .b-ln:hover{border-color:#fff;color:#fff}
@media(max-width:560px){.cookiebar{left:12px;right:12px;bottom:12px}.cookiebar-inner{flex-direction:column;align-items:stretch}.cookiebar-actions{width:100%}.cookiebar-actions .b{flex:1}}
@media(prefers-reduced-motion:reduce){.cookiebar{transition:opacity .3s ease}}



/* ==========================================================================
   Interaction / motion — card hover system
   One vocabulary reused throughout: lift, accent wipe, icon fill, arrow nudge.
   Entirely disabled under prefers-reduced-motion (see end of file).
   ========================================================================== */

/* primary buttons: soft coloured bloom via layered shadows
   (box-shadow rather than a negative-z pseudo, which would paint over the
   button's own background instead of behind it) */
.b-teal{box-shadow:0 2px 8px rgba(7,142,166,.22)}
.b-teal:hover{box-shadow:0 12px 26px rgba(7,142,166,.34),0 0 26px rgba(7,142,166,.28)}
.b-navy:hover{box-shadow:0 12px 26px rgba(0,34,74,.3),0 0 24px rgba(0,34,74,.18)}
.b-hero{box-shadow:0 10px 26px rgba(10,120,190,.34),0 0 30px rgba(10,169,196,.22)}
.b-hero:hover{box-shadow:0 16px 38px rgba(10,120,190,.44),0 0 40px rgba(10,169,196,.34)}

/* 1-2-3 step cards: accent wipe, badge lift, heading tint */
.c3{position:relative;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}
.c3::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;z-index:4;background:var(--teal);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.c3:hover::before{transform:scaleX(1)}
.c3 .n{transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.c3:hover{transform:translateY(-7px);box-shadow:var(--sh-3);border-color:transparent}
.c3:hover .n{transform:translateY(-3px) scale(1.06);box-shadow:0 10px 22px rgba(0,34,74,.34)}
.c3 h3{transition:color .3s var(--ease)}
.c3:hover h3{color:var(--teal)}

/* deliverable cards: icon chip fills teal */
.ic{transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}
.ic:hover{transform:translateY(-6px);box-shadow:var(--sh-3);border-color:transparent}
.ic .ib{transition:background .3s var(--ease),transform .35s var(--ease)}
.ic .ib svg{transition:stroke .3s var(--ease)}
.ic:hover .ib{background:var(--teal);transform:scale(1.07) rotate(-3deg)}
.ic:hover .ib svg{stroke:#fff}
.ic h4{transition:color .3s var(--ease)}
.ic:hover h4{color:var(--teal)}

/* service cards: ghost numeral, icon fill */
.sc{transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}
.sc:hover{transform:translateY(-7px);box-shadow:var(--sh-3);border-color:transparent}
.sc .bn{transition:color .35s var(--ease),transform .45s var(--ease)}
.sc:hover .bn{color:var(--teal-pale);transform:translateY(-2px) scale(1.04)}
.sc .ib{transition:background .3s var(--ease),transform .35s var(--ease)}
.sc .ib svg{transition:stroke .3s var(--ease)}
.sc:hover .ib{background:var(--teal);transform:scale(1.06)}
.sc:hover .ib svg{stroke:#fff}

/* pricing cards */
.pc{transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}
.pc:hover{transform:translateY(-7px);box-shadow:var(--sh-3);border-color:#CFE0E6}
.pc.hi:hover{border-color:var(--teal);box-shadow:0 24px 56px rgba(7,142,166,.24)}
.pc .fg{transition:transform .35s var(--ease)}
.pc.hi:hover .fg{transform:translateY(-2px)}

/* who-we-help pills */
.pl3{transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease)}
.pl3:hover{transform:translateY(-3px);border-color:var(--teal);box-shadow:0 8px 20px rgba(7,142,166,.16)}

/* mini stat tiles */
.msc{transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.msc:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:#D5E4E9}

/* data panels + their rows */
.pn{transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.pn:hover{transform:translateY(-4px);box-shadow:var(--sh-3)}
.pnb .rw{transition:background .22s var(--ease)}
.pnb .rw:hover{background:#F8FBFC}

/* why-partner feature cards */
.icard{transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}
.icard:hover{transform:translateY(-6px);box-shadow:var(--sh-3);border-color:transparent}

/* footer social */
.fs a{transition:background .25s var(--ease),transform .25s var(--ease)}
.fs a:hover{transform:translateY(-2px)}


/* ==========================================================================
   Photo frames — ratio always matches the source file so nothing is cropped
   ========================================================================== */
.pf{position:relative;overflow:hidden;border-radius:16px;border:1px solid var(--line);background:var(--ice);box-shadow:var(--sh-2)}
.pf.r1610{aspect-ratio:16/10}
.pf.r43{aspect-ratio:4/3}
.pf img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.pf figcaption{font-size:12.2px;color:var(--grey-soft);text-align:center;padding:10px 4px 0}
figure.pfw{margin:0}
figure.pfw figcaption{font-size:12.2px;color:var(--grey-soft);text-align:center;margin-top:11px}

/* ==========================================================================
   Legal / long-form prose pages
   ========================================================================== */
.lgl{max-width:760px;margin:0 auto}
.lgl .rev{display:flex;flex-wrap:wrap;gap:8px 20px;padding:14px 18px;background:var(--ice);border-radius:10px;font-size:12.6px;color:var(--grey);font-weight:600;margin-bottom:34px}
.lgl .rev b{color:var(--navy)}
.lgl h2{font-size:25px;font-weight:700;margin:38px 0 12px;letter-spacing:-.015em}
.lgl h2:first-of-type{margin-top:0}
.lgl h3{font-size:19px;font-weight:700;margin:24px 0 9px}
.lgl p{font-size:15.4px;color:var(--grey);line-height:1.72;margin-bottom:14px}
.lgl ul{margin:0 0 16px}
.lgl li{position:relative;padding-left:20px;font-size:15.1px;color:var(--grey);line-height:1.66;margin-bottom:9px}
.lgl li::before{content:"";position:absolute;left:0;top:10px;width:7px;height:2px;border-radius:2px;background:var(--teal)}
.lgl a{color:var(--teal);font-weight:600}
.lgl a:hover{color:var(--navy)}
.lgl .tocard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 24px;margin:30px 0}
.lgl .tocard h4{font-size:15px;font-weight:700;margin-bottom:8px}
.lgl .tocard p{font-size:14.2px;margin-bottom:0}
.lgl hr{border:none;border-top:1px solid var(--line);margin:36px 0}

.fi{animation:fia .42s ease}
@keyframes fia{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none}
  /* keep colour/shadow feedback, drop the movement */
  .c3:hover,.ic:hover,.sc:hover,.pc:hover,.pl3:hover,.msc:hover,
  .pn:hover,.icard:hover,.b:hover,.fs a:hover,.c3:hover .n,.ic:hover .ib,
  .sc:hover .ib,.sc:hover .bn,.pc.hi:hover .fg{transform:none!important}
  .c3::before{transform:scaleX(1)!important}
}


/* ==========================================================================
   Form states (server-rendered validation)
   ========================================================================== */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.fl input.bad,.fl textarea.bad{border-color:#D97A52;background:#FFFBF9}
.fl input.bad:focus,.fl textarea.bad:focus{border-color:#D97A52;box-shadow:0 0 0 3px rgba(217,122,82,.15)}
.fe{display:block;font-size:11.8px;font-weight:700;color:#A5502C;margin-top:6px}
.errm{background:#FCF5F2;border:1.5px solid #F3DFD4;color:#A5502C;padding:15px 18px;border-radius:10px;font-weight:700;font-size:13.6px;margin-bottom:20px}

@media(min-width:1181px){
  .nv{margin-left:-11%}
  .na{margin-left:3.5%}
  .fb img{margin-left:-33%}
}

html,body{overflow-x:hidden}

header.hd,.nv{max-width:100vw;overflow-x:hidden}

/* ===== booking popup modal ===== */
.booking-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,34,74,.55);z-index:9999;align-items:center;justify-content:center;padding:20px}
.booking-modal-overlay.open{display:flex}
.booking-modal-box{background:#fff;border-radius:18px;width:100%;max-width:920px;max-height:88vh;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.35);overflow:hidden;display:flex;flex-direction:column}
.booking-modal-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid #e4e9ee;cursor:pointer;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;z-index:2;color:#00224A}
.booking-modal-close:hover{background:#f7f9fb}
.booking-modal-box iframe{width:100%;flex:1;border:none;min-height:600px}
@media(max-width:600px){.booking-modal-box{max-height:92vh}.booking-modal-box iframe{min-height:520px}}

