@font-face{
  font-family:'Work Sans';
  font-style:normal;
  font-weight:400 600;
  font-display:swap;
  src:url('../fonts/work-sans-latin.woff2') format('woff2');
}
:root{
  --blue:#1550A0;
  --blue-deep:#114183;
  --blue-ink:#0F2D5C;
  --blue-tint:#F3F7FF;
  --green:#64A544;
  --light-green:#86C55F;
  --lime:#B5D334;
  --cream:#F5F3EC;
  --paper:#FCFBF9;
  --ink:#102033;
  --muted:#5F6F82;
  --line:rgba(21,80,160,.12);
  --r-lg:22px;
  --r-md:16px;
  --shadow-sm:0 1px 2px rgba(15,45,92,.05),0 4px 14px rgba(15,45,92,.06);
  --shadow-md:0 2px 6px rgba(15,45,92,.06),0 14px 34px rgba(15,45,92,.10);
  --shadow-lg:0 8px 20px rgba(15,45,92,.10),0 28px 60px rgba(15,45,92,.16);
  --wrap:1220px;
  --pad:clamp(20px,4vw,48px);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
body{
  font-family:'Work Sans',ui-sans-serif,system-ui,-apple-system,sans-serif;
  font-weight:400;
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4,.btn,.nav-link{font-weight:500;line-height:1.15;letter-spacing:-.015em}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font:inherit;background:none;border:0;cursor:pointer;color:inherit}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
section{padding:clamp(44px,6vw,72px) 0}

/* ---------- shared bits ---------- */
.pill{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  padding:8px 16px;border-radius:999px;line-height:1;
}
.pill--light{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.28)}
.pill--green{background:rgba(134,197,95,.14);color:var(--green);border:1px solid rgba(134,197,95,.4)}
.pill .dot{width:7px;height:7px;border-radius:50%;background:var(--light-green)}
.eyebrow-row{margin-bottom:18px}
h2.sec-title{font-size:clamp(1.8rem,3.4vw,2.7rem);color:var(--blue);max-width:30ch;text-wrap:balance}
h2.sec-title .hl{color:var(--green)}
.on-blue h2.sec-title{color:#fff}
.on-blue h2.sec-title .hl{color:var(--light-green)}
.sec-lede{color:var(--muted);max-width:56ch;margin-top:14px;font-size:1.02rem}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(32px,5vw,52px)}

.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 26px;border-radius:999px;font-size:.95rem;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease;
  will-change:transform;
}
.btn svg{width:15px;height:15px;transition:transform .25s ease}
.btn:hover svg{transform:translate(2px,-2px)}
.btn--solid{background:var(--blue);color:#fff;box-shadow:0 6px 18px rgba(21,80,160,.28)}
.btn--solid:hover{background:var(--blue-deep);transform:translateY(-2px);box-shadow:0 10px 26px rgba(21,80,160,.34)}
.btn--lime{background:var(--lime);color:var(--blue-ink)}
.btn--lime:hover{background:#C4E04B;transform:translateY(-2px)}
.btn--green{background:var(--light-green);color:#0F2D5C}
.btn--green:hover{background:#93D06C;transform:translateY(-2px)}
.btn--ghost{border:1.5px solid rgba(255,255,255,.4);color:#fff}
.btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);transform:translateY(-2px)}
.btn--outline{border:1.5px solid var(--line);color:var(--blue)}
.btn--outline:hover{border-color:var(--blue);background:var(--blue-tint);transform:translateY(-2px)}

.arrow-btn{
  width:46px;height:46px;border-radius:50%;background:#fff;border:1px solid var(--line);
  display:inline-flex;align-items:center;justify-content:center;color:var(--blue);
  transition:all .25s ease;
}
.arrow-btn:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.arrow-btn svg{width:16px;height:16px}

/* scroll reveal */
html.js .rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.65,.25,1),transform .7s cubic-bezier(.2,.65,.25,1)}
html.js .rv.in{opacity:1;transform:none}
.rv-d1{transition-delay:.08s}.rv-d2{transition-delay:.16s}.rv-d3{transition-delay:.24s}.rv-d4{transition-delay:.32s}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}

/* chevron icon helper */
.chev-mark{width:44px;height:34px;flex:none}
/* ================= NAVIGATION ================= */
.topbar{
  background:var(--blue-ink);color:rgba(255,255,255,.85);font-size:.8rem;
}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:8px;padding-bottom:8px;gap:16px}
.topbar a{display:inline-flex;align-items:center;gap:7px;transition:color .2s}
.topbar a:hover{color:var(--lime)}
.topbar .tb-right{display:flex;gap:22px}
@media(max-width:760px){.topbar .tb-loc{display:none}}

header.site{
  position:sticky;top:0;z-index:100;
  background:rgba(251,250,248,.86);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  transition:box-shadow .3s ease;
}
header.site.scrolled{box-shadow:var(--shadow-sm)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;height:78px}
.brand{display:flex;align-items:center;gap:11px;flex:none}
.brand .word{line-height:1.05}
.brand .word b{display:block;font-weight:600;letter-spacing:.06em;font-size:1.02rem;color:var(--blue)}
.brand .word span{display:block;font-weight:500;letter-spacing:.22em;font-size:.52rem;color:var(--green);text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-link{
  display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:10px;
  font-size:.93rem;color:var(--ink);transition:color .2s,background .2s;
}
.nav-link:hover,.nav-item.open>.nav-link{color:var(--blue);background:var(--blue-tint)}
.nav-link .caret{width:10px;height:10px;transition:transform .25s}
.nav-item.open>.nav-link .caret{transform:rotate(180deg)}
.nav-cta-group{display:flex;align-items:center;gap:10px;flex:none}
.nav-portal{font-size:.9rem;color:var(--blue);padding:10px 8px;font-weight:500;display:inline-flex;align-items:center;gap:6px}
.nav-portal:hover{color:var(--blue-deep)}
.nav .btn{padding:11px 20px;font-size:.88rem}

/* mega menu */
.nav-item{position:relative}
.mega{
  position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(8px);
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--shadow-lg);padding:26px;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .25s ease,transform .25s ease,visibility .25s;
  width:min(760px,92vw);
}
.mega--industries{
  width:min(980px,94vw);
  padding:22px;
  max-height:calc(100vh - 150px);
  overflow-y:auto;
}
.mega--industries .mega-grid{display:block;column-count:3;column-gap:14px}
.mega--industries .mega-grid>a,
.mega--industries .mega-grid>.mi-group{break-inside:avoid;margin-bottom:4px}
.mega--industries .mega-grid>a,
.mega--industries .mi-group>a{padding:9px 10px;gap:10px}
.mega--industries p{font-size:.74rem;line-height:1.35}
.mega--industries .mi{width:34px;height:34px;border-radius:10px}
@media(max-width:1180px){.mega--industries{width:min(900px,94vw)}.mega--industries .mega-grid{column-count:3}}
@media(max-width:1040px){.mega--industries{max-height:none;overflow:visible}.mega--industries .mega-grid{column-count:2}}
.nav-item.open .mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.mega::before{content:"";position:absolute;top:-16px;left:-24px;right:-24px;height:16px}
.nav-item::after{content:"";position:absolute;left:-10px;right:-10px;top:100%;height:14px}
.mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 22px}
.mega a{
  display:flex;gap:13px;align-items:flex-start;padding:12px;border-radius:14px;
  transition:background .2s;
}
.mega a:hover{background:var(--blue-tint)}
.mega .mi{
  width:38px;height:38px;flex:none;border-radius:11px;background:var(--cream);
  display:flex;align-items:center;justify-content:center;
}
.mega .mi svg{width:18px;height:18px}
.mega b{display:block;font-weight:500;font-size:.92rem;color:var(--blue-ink)}
.mega p{font-size:.78rem;color:var(--muted);line-height:1.45;margin-top:2px}
.mega-foot{
  margin-top:18px;padding-top:16px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;gap:14px;
}
.mega-foot span{font-size:.85rem;color:var(--muted)}
.mega-foot a.link{background:var(--blue);color:#fff;font-weight:500;font-size:.85rem;display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:10px 18px;transition:background .2s,transform .2s;flex:none}
.mega-foot a.link:hover{background:var(--blue-deep);transform:translateY(-1px)}
.mega-foot a.link svg{width:14px;height:14px}

/* mobile nav */
.nav-burger{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);align-items:center;justify-content:center}
.nav-burger svg{width:20px;height:20px;color:var(--blue)}
.mobile-drawer{
  display:none;position:fixed;inset:0;top:0;z-index:200;background:#fff;overflow-y:auto;
}
.mobile-drawer.open{display:block}
.md-head{display:flex;justify-content:space-between;align-items:center;padding:18px var(--pad);border-bottom:1px solid var(--line)}
.md-body{padding:12px var(--pad) 40px}
.md-link{display:flex;justify-content:space-between;align-items:center;width:100%;padding:17px 4px;font-size:1.05rem;font-weight:500;color:var(--blue-ink);border-bottom:1px solid var(--line)}
.md-link .caret{width:12px;height:12px;transition:transform .25s;color:var(--blue)}
.md-acc{max-height:0;overflow:hidden;transition:max-height .35s ease}
.md-acc a{display:block;padding:12px 16px;font-size:.95rem;color:var(--muted);border-bottom:1px dashed var(--line)}
.md-acc a:active{color:var(--blue)}
.md-group.open .md-acc{max-height:1200px}
.md-group.open .md-link .caret{transform:rotate(180deg)}
.md-ctas{display:grid;gap:12px;margin-top:26px}
.md-ctas .btn{justify-content:center}
@media(max-width:1040px){
  .nav-links,.nav-cta-group .nav-portal{display:none}
  .nav-burger{display:inline-flex}
  .nav .btn--solid{display:none}
}
/* Mobile drawer long industry lists */
.md-group.open .md-acc{overflow:visible}

/* ================= HERO ================= */
.hero{
  position:relative;background:var(--blue);
  color:#fff;overflow:hidden;padding:clamp(64px,8vw,104px) 0 clamp(84px,10vw,132px);
}
.hero::after{
  content:"";position:absolute;right:-18%;top:-32%;width:60%;aspect-ratio:1;
  background:radial-gradient(circle at center,rgba(255,255,255,.1),transparent 60%);
  pointer-events:none;
}
.hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(40px,6vw,84px);align-items:center}
.hero .wrap>*{min-width:0}
.hero h1{font-size:clamp(2.3rem,4.6vw,3.55rem);letter-spacing:-.025em;text-wrap:balance;max-width:26ch}
.hero h1 .hl{color:var(--light-green)}
.hero .lede{margin-top:22px;font-size:clamp(1rem,1.4vw,1.13rem);color:rgba(255,255,255,.85);max-width:50ch}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.hero-proof{width:100%;overflow:hidden;margin-top:38px;padding-top:26px;border-top:1px solid rgba(255,255,255,.2);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.proof-track{display:flex;width:max-content;animation:proofMarquee 22s linear infinite}
.proof-group{display:flex;align-items:center;gap:24px;padding-right:24px}
.proof-group span{display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:.86rem;color:rgba(255,255,255,.85)}
.proof-group span i{width:8px;height:8px;border-radius:50%;background:var(--light-green);box-shadow:0 0 0 4px rgba(134,197,95,.12)}
.proof-group b{color:rgba(255,255,255,.3)}
@keyframes proofMarquee{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.proof-track{animation:none}.proof-group[aria-hidden="true"]{display:none}}

/* hero visual: founders photo + floating cards */
.hero-visual{position:relative;min-height:500px}
.hv-photo{
  position:absolute;inset:0 4% 0 9%;border-radius:28px;overflow:hidden;
  box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.2);background:#0F2D5C;
}
.hv-photo img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.hv-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,transparent 55%,rgba(15,45,92,.42))}
/* Desktop homepage hero: medium-sized frame with the photo filling it edge to edge.
   Tablet and mobile keep the original layout. */
@media(min-width:941px){
  .hero .wrap{max-width:1280px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,5vw,72px)}
  .hero-visual{min-height:clamp(540px,36vw,590px)}
  .hero-visual .hv-photo{inset:0 2% 0 6%;background:#ded8d4}
  .hero-visual .hv-photo img{display:block;width:100%;height:100%;object-fit:cover !important;object-position:center 48%}
}
.hv-card{
  position:absolute;background:#fff;color:var(--ink);border-radius:18px;
  box-shadow:var(--shadow-lg);padding:16px 19px;z-index:2;
  animation:floaty 7s ease-in-out infinite;
}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.hv-card.c1{top:5%;right:0;width:min(218px,56%);animation-delay:.6s}
.hv-card.c2{bottom:5%;left:0;width:min(238px,60%)}
.hv-card .k{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.hv-card .v{font-size:1.5rem;font-weight:600;color:var(--blue);letter-spacing:-.02em;margin-top:2px}
.hv-card .t{display:inline-flex;align-items:center;gap:5px;margin-top:6px;font-size:.74rem;color:var(--green);background:rgba(134,197,95,.15);padding:4px 10px;border-radius:999px}
.hv-card .t svg{width:11px;height:11px}
.hv-bars{display:flex;align-items:flex-end;gap:7px;height:48px;margin-top:11px}
.hv-bars i{flex:1;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,var(--light-green),var(--green));transform-origin:bottom;animation:grow 1.2s cubic-bezier(.2,.65,.25,1) both}
.hv-bars i:nth-child(1){height:38%;animation-delay:.15s}
.hv-bars i:nth-child(2){height:56%;animation-delay:.25s}
.hv-bars i:nth-child(3){height:47%;animation-delay:.35s;background:linear-gradient(180deg,#4B7FCB,var(--blue))}
.hv-bars i:nth-child(4){height:72%;animation-delay:.45s}
.hv-bars i:nth-child(5){height:88%;animation-delay:.55s;background:linear-gradient(180deg,#4B7FCB,var(--blue))}
@keyframes grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(max-width:940px){
  .hero .wrap{grid-template-columns:1fr}
  .hero h1,.hero .lede{max-width:100%;overflow-wrap:anywhere}
  .hero-proof{max-width:100%}
  .hero-visual{min-height:440px;max-width:520px}
}
@media(max-width:480px){
  .hero{overflow:hidden}
  .hero .wrap{width:100%;max-width:100%}
  .hero-ctas{flex-wrap:nowrap;gap:8px}
  .hero-ctas .btn{flex:1 1 0;min-width:0;padding:12px 10px;font-size:.78rem;white-space:nowrap;justify-content:center}
  .hero-ctas .btn svg{width:13px;height:13px}
  .hero-visual{min-height:520px;width:100%;overflow:visible}
  .hero-visual .hv-photo{bottom:72px}
  .hv-card.c2{bottom:8px}
}
/* ================= STATS ================= */
.stats{padding:0;transform:translateY(-52px);margin-bottom:-52px;position:relative;z-index:5}
.stats-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md);
}
.stat{background:#fff;padding:30px 28px;position:relative;transition:background .3s}
.stat:hover{background:var(--cream)}
.stat .n{font-size:clamp(1.9rem,3vw,2.6rem);font-weight:600;color:var(--blue);letter-spacing:-.03em}
.stat .n em{font-style:normal;color:var(--green)}
.stat .l{font-size:.86rem;color:var(--muted);margin-top:4px}
@media(max-width:900px){.stats-grid{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.stats-grid{grid-template-columns:1fr}}
.trustbar{padding:34px 0 8px}
.trustbar .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:clamp(24px,3.4vw,52px);row-gap:22px}
.trustbar span.tl{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.trust-logo-slot{display:flex;align-items:center;justify-content:center;width:clamp(132px,13.5vw,188px);height:62px;flex:0 1 188px}
.trust-logo{display:block;width:100%;height:100%;object-fit:contain;object-position:center;opacity:.72;filter:grayscale(1);transition:opacity .3s,filter .3s}
.trust-logo--cpa{max-width:122px;max-height:58px}
.trust-logo--quickbooks{max-width:182px;max-height:47px}
.trust-logo--microsoft{max-width:184px;max-height:40px}
.trust-logo--canada{max-width:188px;max-height:38px}
.trust-logo-slot:hover .trust-logo{opacity:1;filter:none}
@media(max-width:900px){
  .trustbar .wrap{column-gap:34px;row-gap:18px}
  .trustbar span.tl{flex-basis:100%;text-align:center}
}
@media(max-width:520px){
  .trustbar{padding-top:28px}
  .trustbar .wrap{column-gap:18px;row-gap:16px}
  .trust-logo-slot{width:calc(50% - 9px);height:56px;flex:0 0 calc(50% - 9px)}
  .trust-logo--cpa{max-width:108px;max-height:52px}
  .trust-logo--quickbooks{max-width:150px;max-height:40px}
  .trust-logo--microsoft{max-width:150px;max-height:34px}
  .trust-logo--canada{max-width:154px;max-height:32px}
}
/* ================= WHO WE ARE ================= */
.who{background:var(--paper)}
.who .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,80px);align-items:center}
.who-visual{position:relative}
.who-frame{
  border-radius:26px;overflow:hidden;aspect-ratio:4/3.1;
  background:var(--blue-tint);
  box-shadow:var(--shadow-md);position:relative;
}
.who-frame img{width:100%;height:100%;object-fit:cover}

.who-badge{
  position:absolute;right:-14px;bottom:34px;background:#fff;border-radius:18px;padding:16px 20px;
  box-shadow:var(--shadow-lg);display:flex;gap:13px;align-items:center;max-width:250px;
}
.who-badge .cm{flex:none}
.who-badge p{font-size:.83rem;color:var(--muted);line-height:1.45}
.who-badge b{color:var(--blue-ink);font-weight:500;display:block}
.who-points{margin-top:28px;display:grid;gap:16px}
.who-points li{display:flex;gap:14px;align-items:flex-start}
.who-points .wi{width:40px;height:40px;flex:none;border-radius:12px;background:var(--blue-tint);display:flex;align-items:center;justify-content:center}
.who-points .wi svg{width:18px;height:18px}
.who-points b{font-weight:500;color:var(--blue-ink);display:block;font-size:.98rem}
.who-points p{font-size:.9rem;color:var(--muted)}
.who-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
@media(max-width:900px){
  .who .wrap{grid-template-columns:1fr}
  .who-visual{max-width:480px}
  .who-badge{right:8px}
}
/* ================= CARD RAILS (services + industries) ================= */
.rail-sec{overflow:hidden}
.rail-sec--blue{background:var(--blue);color:#fff;position:relative}
.rail-sec .wrap{position:relative}
.rail-controls{display:flex;gap:10px}
.rail-sec--blue .arrow-btn{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);color:#fff}
.rail-sec--blue .arrow-btn:hover{background:var(--light-green);color:#0F2D5C;border-color:var(--light-green)}
.rail-sec--blue .sec-lede{color:rgba(255,255,255,.8)}

.rail{
  display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:6px 6px 26px;margin:0 -6px;
  scrollbar-width:none;cursor:grab;
}
.rail::-webkit-scrollbar{display:none}
.rail.dragging{cursor:grabbing;scroll-snap-type:none}
.rail-card{
  flex:0 0 clamp(232px,24vw,278px);scroll-snap-align:start;
  background:var(--cream);border-radius:var(--r-lg);overflow:hidden;color:var(--ink);
  box-shadow:var(--shadow-sm);border:1px solid rgba(21,80,160,.1);
  transition:transform .3s cubic-bezier(.2,.65,.25,1),box-shadow .3s,border-color .3s;
  display:flex;flex-direction:column;padding:10px;
}
.rail-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(21,80,160,.14);border-color:rgba(100,165,68,.45)}
.rc-img{aspect-ratio:4/4.4;position:relative;overflow:hidden;border-radius:14px}
.rc-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.65,.25,1)}
.rail-card:hover .rc-img img{transform:scale(1.06)}
.rc-body{padding:16px 8px 8px;display:flex;justify-content:space-between;gap:12px;align-items:center;flex:1}
.rc-body b{font-weight:500;font-size:1rem;color:var(--blue-ink);display:block;line-height:1.3}
.rc-go{
  width:42px;height:42px;flex:none;border-radius:50%;background:#fff;border:1px solid rgba(21,80,160,.12);
  display:flex;align-items:center;justify-content:center;color:var(--green);
  transition:all .3s;box-shadow:0 2px 8px rgba(15,45,92,.08);
}
.rc-go svg{width:15px;height:15px}
.rail-card:hover .rc-go{background:var(--green);border-color:var(--green);color:#fff;transform:rotate(45deg)}
.rc-go--blue{color:var(--blue)}
.rail-card:hover .rc-go--blue{background:var(--blue);border-color:var(--blue);color:#fff}
.rail-hint{display:flex;align-items:center;gap:10px;font-size:.8rem;opacity:.72;margin-top:2px}
.rail-hint svg{width:16px;height:16px}

/* branded fallback gradients behind images */
.g1{background:linear-gradient(140deg,#3A6FBE,#114183)}
.g2{background:linear-gradient(140deg,#86C55F,#4E8A2B)}
.g3{background:linear-gradient(140deg,#1550A0,#0F2D5C)}
.g4{background:linear-gradient(140deg,#5E92E0,#1550A0)}
.g5{background:linear-gradient(140deg,#9BD06F,#64A544)}
/* ================= WHY ================= */
.why{background:var(--cream)}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.why-card{
  background:#fff;border-radius:var(--r-lg);padding:30px 28px;border:1px solid rgba(15,45,92,.06);
  transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;
}
.why-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.why-card .wc-chev{margin-bottom:20px}
.why-card b{font-weight:500;font-size:1.1rem;color:var(--blue-ink);display:block}
.why-card p{font-size:.89rem;color:var(--muted);margin-top:8px}

@media(max-width:940px){.why-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.why-grid{grid-template-columns:1fr}}


/* ================= FOUNDERS ================= */
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:920px;margin:0 auto}
.team-card{
  background:#fff;border:1px solid rgba(21,80,160,.1);border-radius:28px;padding:12px;
  transition:transform .3s,box-shadow .3s,border-color .3s;display:flex;flex-direction:column;
}
.team-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:rgba(100,165,68,.4)}
.team-photo{
  width:100%;aspect-ratio:4/4.5;border-radius:20px;position:relative;overflow:hidden;background:var(--blue-tint);
}
.team-photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%;transition:transform .5s cubic-bezier(.2,.65,.25,1)}
.team-card:hover .team-photo img{transform:scale(1.04)}
.team-photo .badge{
  position:absolute;top:14px;left:14px;background:rgba(255,255,255,.94);color:var(--blue);
  font-size:.66rem;font-weight:600;letter-spacing:.1em;padding:6px 11px;border-radius:999px;z-index:2;
}
.team-info{padding:20px 16px 14px}
.team-info .role{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green);font-weight:500}
.team-info h3{font-size:1.45rem;color:var(--blue);margin-top:4px}
.team-info p{font-size:.89rem;color:var(--muted);margin-top:8px}
.team-info .btn{margin-top:18px;padding:10px 20px;font-size:.85rem}
@media(max-width:760px){.team-grid{grid-template-columns:1fr}}

/* ================= TESTIMONIALS ================= */
.testi{background:var(--blue);color:#fff;position:relative;overflow:hidden}
.testi::before,.testi::after{content:"";position:absolute;border-radius:999px;pointer-events:none;filter:blur(8px)}
.testi::before{width:340px;height:340px;right:-120px;top:-130px;background:rgba(134,197,95,.2)}
.testi::after{width:260px;height:260px;left:-110px;bottom:-120px;background:rgba(255,255,255,.08)}
.testi .wrap{position:relative}
.testi-carousel{position:relative;max-width:1120px;margin:0 auto;padding:22px 0 0;overflow:hidden}
.testi-orbit{
  position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start;
  min-height:0;perspective:1300px;transform-style:preserve-3d;overflow:visible;
}
.testi-orbit .t-card{
  position:relative;top:auto;left:auto;width:auto;height:auto;min-height:252px;transform:none;
  will-change:transform,opacity;cursor:grab;
}
.testi-orbit .t-card:active{cursor:grabbing}
.t-card{
  background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.055));border:1px solid rgba(255,255,255,.16);
  border-radius:var(--r-lg);padding:26px;display:flex;flex-direction:column;gap:14px;
  backdrop-filter:blur(9px);box-shadow:0 20px 46px rgba(7,31,68,.22);transition:background .3s,border-color .3s,transform .3s;
}
.t-card:hover{background:linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,255,255,.075));border-color:rgba(255,255,255,.25)}
.t-stars{display:flex;gap:3px;flex-wrap:nowrap}
.t-stars svg{width:15px;height:15px;fill:var(--light-green)}
.t-card blockquote{font-size:.93rem;line-height:1.58;color:rgba(255,255,255,.92);margin:0;flex:0 0 auto}
.t-who{display:flex;align-items:center;gap:12px;padding-top:14px;margin-top:4px;border-top:1px solid rgba(255,255,255,.14)}
.t-avatar{
  width:42px;height:42px;border-radius:50%;background:#fff;flex:none;
  display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--blue);font-size:.9rem;
}
.t-who b{display:block;font-weight:500;font-size:.9rem;line-height:1.22}
.t-who span{font-size:.74rem;color:rgba(255,255,255,.62);line-height:1.35}
.t-google{display:inline-flex;align-items:center;gap:9px;margin-top:34px;font-size:.85rem;color:rgba(255,255,255,.75)}
.t-google:hover{color:#fff}
.testi-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:36px;padding-top:8px}
.testi-arrow{width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;transition:background .25s,transform .25s,border-color .25s}
.testi-arrow:hover{background:var(--light-green);color:var(--blue-ink);border-color:var(--light-green);transform:translateY(-2px)}
.testi-arrow svg{width:18px;height:18px}
.testi-dots{display:flex;align-items:center;justify-content:center;gap:8px;min-width:190px}
.testi-dot{width:9px;height:9px;border-radius:999px;background:rgba(255,255,255,.32);transition:width .3s,background .3s,transform .3s}
.testi-dot.is-active{width:28px;background:var(--light-green);transform:translateY(-1px)}
.testi-progress{height:3px;width:min(320px,72vw);margin:20px auto 0;background:rgba(255,255,255,.13);border-radius:99px;overflow:hidden}
.testi-progress span{display:block;height:100%;width:0;background:var(--light-green);border-radius:inherit}
@media(max-width:900px){
  .testi .sec-head{align-items:flex-start}
  .testi-carousel{max-width:760px}
  .testi-orbit{gap:18px}
  .testi-orbit .t-card{min-height:238px}
  .t-card{padding:22px;gap:12px}
  .t-card blockquote{font-size:.86rem;line-height:1.54}
  .testi-dots{min-width:0;max-width:180px;flex-wrap:wrap}
}
@media(max-width:700px){
  .testi{overflow:hidden}
  .testi .sec-head{justify-content:center;align-items:center;text-align:center;gap:18px;margin-bottom:26px}
  .testi .sec-head > div{margin:0 auto}
  .testi .sec-head .btn{margin:0 auto;padding:12px 18px;font-size:.82rem;white-space:nowrap}
  .testi-carousel{max-width:430px;padding-top:8px;overflow:visible}
  .testi-orbit{grid-template-columns:1fr;gap:14px;perspective:none;transform-style:flat;overflow:visible}
  .testi-orbit .t-card{min-height:0;border-radius:20px;padding:18px 18px 17px;gap:9px;box-shadow:0 14px 32px rgba(7,31,68,.2)}
  .t-stars{justify-content:flex-start;gap:3px}
  .t-stars svg{width:12px;height:12px}
  .t-card blockquote{font-size:.79rem;line-height:1.48;text-align:left;letter-spacing:-.005em}
  .t-who{gap:9px;padding-top:11px;margin-top:3px;text-align:left}
  .t-avatar{width:33px;height:33px}
  .t-avatar img{width:15px!important}
  .t-who b{font-size:.72rem;line-height:1.18}
  .t-who span{font-size:.61rem;line-height:1.25}
  .testi-controls{gap:12px;margin-top:28px;padding-top:10px}
  .testi-arrow{width:40px;height:40px;background:rgba(255,255,255,.13)}
  .testi-arrow svg{width:16px;height:16px}
  .testi-dots{max-width:132px;gap:6px}
  .testi-dot{width:7px;height:7px}
  .testi-dot.is-active{width:20px}
  .testi-progress{width:min(250px,68vw);margin-top:18px}
}
@media(max-width:390px){
  .testi .sec-head .btn{font-size:.78rem;padding:11px 15px}
  .testi-carousel{max-width:calc(100vw - 36px)}
  .testi-orbit{gap:12px}
  .testi-orbit .t-card{padding:16px 15px;border-radius:18px}
  .t-card blockquote{font-size:.74rem;line-height:1.45}
  .t-who b{font-size:.68rem}
  .t-who span{font-size:.58rem}
  .testi-controls{gap:10px;margin-top:26px}
}
html:not(.js) .testi-orbit{height:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
html:not(.js) .testi-orbit .t-card{position:relative;left:auto;width:auto;height:auto;transform:none}
@media(max-width:700px){html:not(.js) .testi-orbit{grid-template-columns:1fr}}

/* ================= INSIGHTS ================= */
.insights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.post{
  background:#fff;border:1px solid rgba(15,45,92,.07);border-radius:var(--r-lg);overflow:hidden;
  transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;
}
.post:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.post-img{aspect-ratio:16/9.4;position:relative;overflow:hidden}
.post-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.post:hover .post-img img{transform:scale(1.05)}
.post-body{padding:22px 24px 24px;flex:1;display:flex;flex-direction:column}
.post-meta{display:flex;align-items:center;gap:10px;font-size:.74rem;color:var(--muted)}
.post-meta .cat{background:rgba(124,185,62,.13);color:#3E6B14;padding:4px 11px;border-radius:999px;font-weight:500;letter-spacing:.03em}
.post h3{font-size:1.06rem;color:var(--blue-ink);margin-top:12px;line-height:1.35;flex:1}
.post .read{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:.86rem;font-weight:500;color:var(--blue)}
.post .read svg{width:14px;height:14px;transition:transform .25s}
.post:hover .read svg{transform:translate(3px,-3px)}
@media(max-width:900px){.insights-grid{grid-template-columns:1fr}}

/* ================= FAQ ================= */
.faq{background:var(--cream)}
.faq .wrap{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,5vw,72px);align-items:start}
.faq-side{position:sticky;top:110px}
.faq-list{display:grid;gap:12px}
.faq-item{background:#fff;border:1px solid rgba(15,45,92,.07);border-radius:var(--r-md);overflow:hidden;transition:box-shadow .3s}
.faq-item.open{box-shadow:var(--shadow-sm)}
.faq-q{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;
  text-align:left;padding:20px 22px;font-weight:500;font-size:.99rem;color:var(--blue-ink);
}
.faq-q .fx{
  width:32px;height:32px;flex:none;border-radius:50%;background:var(--blue-tint);color:var(--blue);
  display:flex;align-items:center;justify-content:center;transition:all .3s;
}
.faq-item.open .faq-q .fx{background:var(--green);color:#fff;transform:rotate(45deg)}
.faq-q .fx svg{width:14px;height:14px}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.2,.65,.25,1)}
.faq-a p{padding:0 22px 22px;font-size:.9rem;color:var(--muted);line-height:1.65}
@media(max-width:880px){
  .faq .wrap{grid-template-columns:1fr}
  .faq-side{position:static}
}

/* ================= CONNECT + GREEN BAND (matches current site) ================= */
.connect-white{background:var(--paper);padding:clamp(20px,3vw,36px) 0 0}
.connect-card{
  position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  border-radius:26px;overflow:visible;box-shadow:var(--shadow-lg);
  margin-bottom:-190px;background:var(--cream);
}
.cc-form{padding:clamp(28px,4vw,48px);overflow:visible;border-radius:26px 0 0 26px}
.cc-form h2{font-size:clamp(1.7rem,3vw,2.4rem);color:var(--blue);margin-top:16px}
.cc-form .fc-sub{font-size:.9rem;color:var(--muted);margin-top:10px;width:100%;max-width:72ch}
.cc-photo{
  position:relative;min-height:420px;background:#ebe7df;overflow:hidden;border-radius:0 26px 26px 0;
}
.cc-photo img{
  position:absolute;inset:0;display:block;width:100%;height:100%;
  object-fit:cover;object-position:center top;background:#ebe7df;border-radius:0;
}
.cc-note{
  position:absolute;left:24px;right:24px;bottom:24px;background:rgba(255,255,255,.96);
  border-radius:999px;padding:14px 20px;display:flex;align-items:center;gap:13px;
  box-shadow:var(--shadow-md);font-size:.85rem;color:var(--ink);
}
.cc-note .ci{width:38px;height:38px;flex:none;border-radius:50%;background:var(--blue);display:flex;align-items:center;justify-content:center}
.cc-note .ci svg{width:16px;height:16px;color:var(--lime)}
.cc-note a{color:var(--blue);font-weight:500;text-decoration:underline}
.green-band{background:var(--light-green);padding:clamp(212px,23vw,218px) 0 clamp(32px,4vw,40px)}
.newsletter{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px 28px}
.newsletter h3{color:var(--blue);font-size:clamp(1.05rem,1.8vw,1.3rem)}
.newsletter-signup{flex:0 1 460px;min-width:270px}
.nl-form{display:flex;gap:10px;width:100%}
.nl-form input{
  flex:1;font:inherit;font-size:.92rem;padding:14px 20px;border-radius:999px;border:0;background:#fff;color:var(--ink);
}
.nl-form input:focus{outline:3px solid var(--blue)}
.nl-btn{
  width:50px;height:50px;flex:none;border-radius:50%;background:var(--blue);color:var(--lime);
  display:flex;align-items:center;justify-content:center;transition:transform .25s,background .25s;
}
.nl-btn:hover{background:var(--blue-deep);transform:translateY(-2px)}
.nl-btn:disabled{opacity:.65;cursor:wait;transform:none}
.nl-btn svg{width:17px;height:17px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.nl-form.is-success input[type="email"]{outline:3px solid rgba(16,99,73,.35)}
.nl-form.is-error input[type="email"]{outline:3px solid rgba(138,31,31,.4)}
.article-byline a{color:#fff;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.article-byline a:hover{color:var(--light-green)}
@media(max-width:880px){
  .connect-card{grid-template-columns:1fr;margin-bottom:-230px}
  .cc-photo{
    min-height:auto;order:-1;border-radius:26px 26px 0 0;background:#ebe7df;
  }
  .cc-photo img{
    position:relative;inset:auto;width:100%;height:auto;max-height:none;
    object-fit:contain;object-position:center top;border-radius:0;display:block;
  }
  .cc-note{
    position:relative;left:auto;right:auto;bottom:auto;margin:14px;border-radius:22px;
    padding:14px 16px;align-items:flex-start;
  }
  .cc-form{border-radius:0 0 26px 26px}
  .green-band{padding-top:254px}
}
@media(max-width:560px){
  .cc-note{font-size:.82rem;line-height:1.5;gap:12px;margin:12px}
  .cc-note .ci{width:34px;height:34px}
}

/* ================= FOOTER (matches current site) ================= */
footer.site{background:var(--blue);color:#fff}
.ft-top{display:grid;grid-template-columns:1.25fr 1fr 1fr .8fr;gap:clamp(32px,4vw,56px);padding:clamp(56px,7vw,80px) 0 52px}
.ft-brand img.ft-logo{width:min(250px,100%);height:auto}
.ft-contact{margin-top:24px;display:grid;gap:12px;font-size:.92rem}
.ft-contact a{display:inline-flex;gap:10px;align-items:flex-start;transition:color .2s;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.4);max-width:30ch}
.ft-contact a:hover{color:var(--lime);text-decoration-color:var(--lime)}
.ft-cta{display:inline-flex;align-items:center;gap:0;margin-top:24px}
.ft-cta .pilltxt{background:var(--lime);color:var(--blue-ink);font-weight:500;font-size:.9rem;padding:12px 22px;border-radius:999px;transition:background .25s}
.ft-cta .pillgo{width:44px;height:44px;border-radius:50%;background:var(--lime);color:var(--blue);display:flex;align-items:center;justify-content:center;margin-left:6px;transition:transform .25s}
.ft-cta:hover .pilltxt{background:#C4E04B}
.ft-cta:hover .pillgo{transform:rotate(45deg)}
.ft-cta .pillgo svg{width:16px;height:16px}
.ft-col h4{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--lime);font-weight:500;margin-bottom:18px}
.ft-col ul{display:grid;gap:12px}
.ft-col a{font-size:.92rem;color:rgba(255,255,255,.92);transition:color .2s,padding-left .2s}
.ft-col a:hover{color:var(--lime);padding-left:5px}
.ft-bottom{
  border-top:1px solid rgba(255,255,255,.18);padding:22px 0;
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;font-size:.82rem;color:rgba(255,255,255,.72);
}
.ft-bottom .fb-right{display:flex;align-items:center;gap:20px}
.ft-social{display:flex;gap:10px}
.ft-social a{
  width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;transition:all .25s;
}
.ft-social a:hover{background:var(--lime);border-color:var(--lime);color:var(--blue-ink);transform:translateY(-3px)}
.ft-social svg{width:15px;height:15px}
.ft-bottom a.dev:hover{color:var(--lime)}
@media(max-width:940px){.ft-top{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.ft-top{grid-template-columns:1fr}}

/* ================= INNER PAGES ================= */
.page-hero{background:var(--blue);color:#fff;padding:clamp(56px,7vw,92px) 0;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;right:-18%;top:-40%;width:56%;aspect-ratio:1;background:radial-gradient(circle,rgba(255,255,255,.1),transparent 60%);pointer-events:none}
.page-hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(36px,5vw,72px);align-items:center}
.page-hero h1{font-size:clamp(2rem,3.9vw,3.05rem);letter-spacing:-.02em;text-wrap:balance;margin-top:18px;max-width:28ch}
.page-hero h1 .hl{color:var(--light-green)}
.page-hero .lede{margin-top:18px;color:rgba(255,255,255,.88);max-width:64ch;font-size:1.02rem}
.page-hero .hero-ctas{margin-top:28px}
.ph-img{border-radius:26px;overflow:hidden;aspect-ratio:4/3.1;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.2);position:relative}
.ph-img img{width:100%;height:100%;object-fit:cover}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.8rem;color:rgba(255,255,255,.7)}
.crumbs a{color:rgba(255,255,255,.85);transition:color .2s}
.crumbs a:hover{color:var(--light-green)}
.crumbs span.sep{opacity:.5}
@media(max-width:880px){.page-hero .wrap{grid-template-columns:1fr}.ph-img{max-width:560px}}

/* who we support */
.support .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px)}
.support .sup-left .btn{margin-top:26px}
.support .mark{width:46px;height:auto;margin-bottom:18px}
.support p{color:var(--muted);font-size:.98rem}
.chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;padding-top:30px;border-top:1px solid var(--line);grid-column:1/-1}
.chip{display:inline-flex;align-items:center;gap:9px;background:var(--cream);border:1px solid rgba(21,80,160,.1);border-radius:999px;padding:11px 18px;font-size:.86rem;color:var(--ink)}
.chip svg{width:16px;height:16px;color:var(--blue);flex:none}
.chip--green svg{color:var(--green)}
@media(max-width:820px){.support .wrap{grid-template-columns:1fr}}

/* our edge triptych */
.triptych{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}
.tri-card{border-radius:var(--r-lg);padding:30px 28px;display:flex;flex-direction:column;gap:14px;min-height:420px}
.tri-card .pill{align-self:flex-start}
.tri-green{background:var(--light-green);color:#0F2D5C}
.tri-green .pill{background:rgba(255,255,255,.35);color:#0F2D5C;border:0}
.tri-green h3{font-size:1.5rem;color:var(--blue)}
.tri-green .big{font-size:2.3rem;font-weight:600;color:#0F2D5C;letter-spacing:-.02em}
.tri-green .big small{display:block;font-size:.82rem;font-weight:400;letter-spacing:0}
.tri-green .tick{display:flex;gap:10px;font-size:.87rem;align-items:flex-start}
.tri-green .tick svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--blue)}
.tri-green .btn{margin-top:auto;align-self:flex-start}
.tri-img{border-radius:var(--r-lg);overflow:hidden;position:relative;min-height:420px}
.tri-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tri-blue{background:var(--blue);color:#fff}
.tri-blue .pill{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.3)}
.tri-blue h3{font-size:1.5rem;color:var(--light-green)}
.tri-blue p{font-size:.92rem;color:rgba(255,255,255,.88);line-height:1.65}
@media(max-width:920px){.triptych{grid-template-columns:1fr}.tri-card,.tri-img{min-height:300px}}

/* deliver grid */
.deliver-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.dl-card{background:var(--cream);border:1px solid rgba(21,80,160,.08);border-radius:var(--r-lg);padding:26px 24px;transition:transform .3s,box-shadow .3s}
.dl-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.dl-card img{width:34px;height:auto;margin-bottom:16px}
.dl-card b{font-weight:500;color:var(--blue);font-size:1.02rem;display:block}
.dl-card p{font-size:.86rem;color:var(--muted);margin-top:8px}
@media(max-width:980px){.deliver-grid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.deliver-grid{grid-template-columns:1fr}}

/* numbered process */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pr-card{background:#fff;border:1px solid rgba(21,80,160,.1);border-radius:var(--r-lg);padding:28px 24px;position:relative;transition:transform .3s,box-shadow .3s,border-color .3s}
.pr-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:rgba(100,165,68,.45)}
.pr-card .num{font-size:2rem;font-weight:600;color:var(--light-green);letter-spacing:-.02em}
.pr-card b{font-weight:500;color:var(--blue);display:block;margin-top:12px;font-size:1.02rem}
.pr-card p{font-size:.86rem;color:var(--muted);margin-top:8px}
@media(max-width:980px){.process-grid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.process-grid{grid-template-columns:1fr}}

/* philosophy split (industry) */
.philo .wrap{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(32px,5vw,72px);align-items:start}
.philo p.copy{color:var(--muted);font-size:.97rem;margin-top:14px}
.philo .btn{margin-top:26px}
.acc-list{display:grid}
.acc{border-bottom:1px solid var(--line)}
.acc-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;padding:20px 4px;font-weight:500;font-size:1.02rem;color:var(--ink)}
.acc-q .fx{width:30px;height:30px;flex:none;border-radius:50%;background:var(--blue-tint);color:var(--blue);display:flex;align-items:center;justify-content:center;transition:all .3s}
.acc.open .acc-q .fx{background:var(--green);color:#fff;transform:rotate(45deg)}
.acc-q .fx svg{width:13px;height:13px}
.acc-a{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.2,.65,.25,1)}
.acc-a p{padding:0 4px 20px;font-size:.9rem;color:var(--muted)}
@media(max-width:820px){.philo .wrap{grid-template-columns:1fr}}
.bullets-inline{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:40px;padding-top:36px;border-top:1px solid var(--line)}

/* future split */
.future{background:var(--cream)}
.future .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.future .fu-img{border-radius:26px;overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-md);position:relative}
.future .fu-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.future p{color:var(--muted);margin-top:16px;font-size:.98rem}
.future .btn{margin-top:26px}
@media(max-width:820px){.future .wrap{grid-template-columns:1fr}}

/* related rail smaller */
.related{background:var(--paper)}

/* bio pages */
.bio-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,5vw,72px);align-items:start}
.bio-photo{border-radius:26px;overflow:hidden;box-shadow:var(--shadow-md);position:sticky;top:110px}
.bio-photo img{width:100%;height:auto;display:block}
.bio-body h2{font-size:1.4rem;color:var(--blue);margin:34px 0 12px}
.bio-body h2:first-child{margin-top:0}
.bio-body p{color:var(--muted);font-size:.97rem;margin-bottom:12px}
.bio-quote{background:var(--cream);border-left:4px solid var(--light-green);border-radius:0 16px 16px 0;padding:22px 26px;font-size:1.05rem;color:var(--blue-ink);margin:30px 0}
.bio-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
@media(max-width:820px){.bio-grid{grid-template-columns:1fr}.bio-photo{position:static;max-width:440px}}

/* insights page grid */
.posts-page .insights-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.posts-page .insights-grid{grid-template-columns:1fr}}

/* 404 */
.nf{min-height:52vh;display:flex;align-items:center;background:var(--blue);color:#fff;text-align:center}
.nf .wrap{max-width:640px}
.nf h1{font-size:clamp(3rem,9vw,6rem);color:var(--light-green)}
.nf p{color:rgba(255,255,255,.85);margin:14px 0 30px}

/* header logo sizing */
.brand img{height:30px;width:auto}
@media(max-width:480px){.brand img{height:26px}}


/* ===== Services mega: tax hub column with secondary dropdown ===== */
.mega--services{width:min(920px,94vw)}
.mega-cols{display:grid;grid-template-columns:1.6fr 1fr;gap:22px}
.mega-hub{background:var(--blue-tint);border:1px solid rgba(21,80,160,.14);border-radius:16px;padding:14px}
.mega-hub .hub-head{display:flex;gap:13px;align-items:flex-start;padding:10px;border-radius:12px;transition:background .2s}
.mega-hub .hub-head:hover{background:#fff}
.mega-hub .hub-head b{display:block;font-weight:500;font-size:.92rem;color:var(--blue-ink)}
.mega-hub .hub-head p{font-size:.78rem;color:var(--muted);margin-top:2px}
.hub-subs{margin-top:8px;border-top:1px solid rgba(21,80,160,.14);padding-top:8px;display:grid}
.hub-subs .sub{display:flex;align-items:center;gap:9px;padding:9px 10px 9px 14px;border-radius:10px;font-size:.86rem;color:var(--ink);transition:background .2s,color .2s,padding-left .2s}
.hub-subs .sub svg{width:13px;height:13px;color:var(--green);flex:none}
.hub-subs .sub:hover{background:#fff;color:var(--blue);padding-left:18px}
@media(max-width:1040px){.mega-cols{grid-template-columns:1fr}}
.md-acc .md-sub{padding-left:34px;position:relative}
.md-acc .md-sub::before{content:"";position:absolute;left:18px;top:50%;width:8px;height:8px;border-right:2px solid var(--green);border-top:2px solid var(--green);transform:translateY(-50%) rotate(45deg)}

/* ===== insight article layout (left-aligned, not centered) ===== */
.article-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,.8fr);gap:clamp(32px,4vw,64px);align-items:start}
.article-cover{border-radius:22px;overflow:hidden;aspect-ratio:16/9;position:relative;margin-bottom:34px}
.article-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.article-body h2{font-size:1.45rem;color:var(--blue);margin:34px 0 12px;letter-spacing:-.01em}
.article-body h2:first-of-type{margin-top:0}
.article-body p{color:var(--muted);font-size:1rem;line-height:1.75;margin-bottom:14px}
.article-body .btn{margin-top:8px}
.article-body a.article-link{color:var(--blue);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.article-body a.article-link:hover{color:var(--green)}
.article-side{position:sticky;top:104px;display:grid;gap:18px}
.side-card{background:var(--cream);border:1px solid rgba(21,80,160,.1);border-radius:20px;padding:22px;display:grid;gap:12px}
.side-card img{border-radius:14px;width:100%;height:auto}
.side-card b{font-weight:500;color:var(--blue);font-size:1rem}
.side-card p{font-size:.86rem;color:var(--muted)}
.side-card .btn{justify-content:center}
.side-link{display:block;padding:10px 0;border-bottom:1px solid var(--line);font-size:.9rem;color:var(--ink);transition:color .2s,padding-left .2s}
.side-link:last-child{border-bottom:0}
.side-link:hover{color:var(--blue);padding-left:5px}
@media(max-width:880px){.article-grid{grid-template-columns:1fr}.article-side{position:static}}

/* ===== V25 additions: PDF-copy layouts ===== */
.copy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.copy-card{background:#fff;border:1px solid rgba(15,45,92,.08);border-radius:var(--r-md);padding:30px 28px;box-shadow:0 6px 22px rgba(15,45,92,.05)}
.copy-card img{width:32px;height:auto;margin-bottom:14px}
.copy-card h3{font-size:1.05rem;color:var(--blue);margin:0 0 10px;font-weight:600}
.copy-card p{font-size:.92rem;color:var(--muted);line-height:1.7;margin:0}
.copy-card p b{color:var(--ink)}
@media(max-width:820px){.copy-grid{grid-template-columns:1fr}}
.cta-band{background:var(--blue);color:#fff;border-radius:var(--r-lg);padding:clamp(36px,5vw,56px);display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:32px;align-items:center;position:relative;overflow:hidden}
.cta-band h2{color:#fff;font-size:clamp(1.4rem,2.6vw,1.9rem);margin:0 0 12px;font-weight:600}
.cta-band p{color:rgba(255,255,255,.85);font-size:.95rem;line-height:1.7;margin:0}
.cta-band .cb-links{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.cta-band .cb-links .btn{white-space:nowrap}
.cta-band .cb-alt{font-size:.85rem;color:rgba(255,255,255,.75)}
.cta-band .cb-alt a{color:var(--light-green);text-decoration:underline}
@media(max-width:820px){.cta-band{grid-template-columns:1fr}}
.tiers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.tier-card{background:#fff;border:1px solid rgba(15,45,92,.08);border-radius:var(--r-md);padding:32px 28px;box-shadow:0 6px 22px rgba(15,45,92,.05);display:flex;flex-direction:column;gap:12px;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.tier-card:hover,.tier-card:focus-within{border-color:var(--green);box-shadow:0 14px 34px rgba(100,165,68,.16);transform:translateY(-3px)}
.tier-card .tname{font-size:1.2rem;font-weight:600;color:var(--blue)}
.tier-card p{font-size:.9rem;color:var(--muted);line-height:1.7;margin:0}
.tier-card .btn{width:100%;justify-content:center;margin-top:auto}
@media(max-width:820px){.tiers-grid{grid-template-columns:1fr}}
.cmp-wrap{overflow-x:auto;border:1px solid rgba(15,45,92,.08);border-radius:var(--r-md);background:#fff}
.cmp-table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:640px}
.cmp-table th,.cmp-table td{padding:14px 18px;border-bottom:1px solid rgba(15,45,92,.07);text-align:center}
.cmp-table th:first-child,.cmp-table td:first-child{text-align:left}
.cmp-table thead th{background:var(--blue);color:#fff;font-weight:600}
.cmp-table .grp td{background:var(--cream);font-weight:600;color:var(--blue);text-align:left;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.cmp-table td .ck{color:var(--green);font-weight:700}
.cmp-table td .no{color:#b9c2cf;font-weight:700}
.hub-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.hub-card{display:block;background:#fff;border:1px solid rgba(15,45,92,.1);border-radius:var(--r-md);padding:30px 28px;box-shadow:0 6px 22px rgba(15,45,92,.05);transition:transform .25s,box-shadow .25s,border-color .25s}
.hub-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(21,80,160,.14);border-color:rgba(100,165,68,.5)}
.hub-card b{display:block;color:var(--blue);font-size:1.05rem;margin-bottom:8px}
.hub-card p{font-size:.9rem;color:var(--muted);line-height:1.65;margin:0 0 14px}
.hub-card .read{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--green)}
.hub-card .read svg{width:15px;height:15px}
@media(max-width:820px){.hub-cards{grid-template-columns:1fr}}
.bio-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:clamp(32px,5vw,64px);align-items:start}
.bio-photo{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md);position:sticky;top:110px}
.bio-photo img{width:100%;height:auto;display:block}
.bio-facts{background:var(--cream);border-radius:var(--r-md);padding:26px 24px;margin-top:20px}
.bio-facts b{display:block;color:var(--blue);margin-bottom:10px;font-size:.95rem}
.bio-facts ul{margin:0 0 16px;padding-left:18px}
.bio-facts li{font-size:.88rem;color:var(--muted);line-height:1.7}
.bio-body h2{font-size:1.25rem;color:var(--blue);margin:34px 0 12px;font-weight:600}
.bio-body h2:first-child{margin-top:0}
.bio-body p{font-size:.95rem;color:var(--muted);line-height:1.8;margin:0 0 16px}
@media(max-width:900px){.bio-grid{grid-template-columns:1fr}.bio-photo{position:static}}
.note-strip{background:var(--cream);border-left:4px solid var(--green);border-radius:0 10px 10px 0;padding:20px 24px;font-size:.9rem;color:var(--muted);line-height:1.7}
.note-strip b{color:var(--blue)}
.nav-portal--green{background:var(--green);color:#fff;border-radius:999px;padding:10px 18px}
.nav-portal--green:hover{background:var(--light-green);border-color:var(--light-green);color:#0F2D5C}
/* Philosophy split: heading + copy left, accordion right */
.philo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(32px,5vw,72px);align-items:start}
.philo-left .sec-title{margin-top:14px}
.philo-left p{margin-top:16px;color:var(--muted);font-size:.95rem;line-height:1.75}
.philo-left .btn{margin-top:26px}
.philo-acc{min-width:0;padding-top:6px}
.philo-acc .faq-item{background:transparent;border:0;border-bottom:1px solid rgba(15,45,92,.12);border-radius:0}
.philo-acc .faq-item.open{box-shadow:none}
.philo-acc .faq-q{padding-left:0}
.philo-acc .faq-a p{padding-left:0}
@media(max-width:900px){.philo{grid-template-columns:1fr;gap:0}.philo-left{margin-bottom:38px}.philo-acc{padding-top:0}}
/* Chip cloud for included-services lists */
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:clamp(36px,5vw,56px);padding-top:clamp(28px,4vw,44px);border-top:1px solid rgba(15,45,92,.08)}
.chip{display:inline-flex;align-items:center;gap:9px;background:var(--cream);border:1px solid rgba(15,45,92,.08);border-radius:999px;padding:13px 22px;font-size:.92rem;font-weight:500;color:var(--ink)}
.chip svg{width:17px;height:17px;color:var(--green);flex:none}

/* About mega menu with founder photos */
.mega--about{min-width:520px}
.mega--about .mega-grid{grid-template-columns:1fr 1fr}
.ma-photo{width:72px;height:72px;border-radius:16px;overflow:hidden;flex:none;background:var(--blue-tint)}
.ma-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 12%}
/* Footer inline areas row */
.ft-areas{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:18px 0;border-top:1px solid rgba(255,255,255,.14);font-size:.88rem}
.ft-areas b{color:#fff;font-weight:500}
.ft-areas a{color:rgba(255,255,255,.72)}
.ft-areas a:hover{color:var(--light-green)}
.ft-areas .sep{color:rgba(255,255,255,.3)}

/* Industry mega hub children */
.mi-group{display:flex;flex-direction:column;gap:4px;min-width:0}
.mi-sub{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;font-weight:500;color:var(--muted);padding:3px 0 3px 46px;border-radius:8px}
.mi-sub:hover{color:var(--blue)}
.mi-sub svg{width:12px;height:12px;color:var(--green);flex:none}
/* Tighten the gap between a page's final CTA band and the connect form */
main section:has(+ section.connect-white){padding-bottom:clamp(14px,2vw,24px)}
main > section:last-child{padding-bottom:clamp(24px,3vw,40px)}

/* Responsive column utilities (replace inline grid overrides) */
.g-cols-1{grid-template-columns:1fr}
.g-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:980px){
  .g-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .g-cols-2,.g-cols-3,.g-cols-4{grid-template-columns:1fr}
}

/* Portrait hero image (founder bios): natural aspect, no awkward crop */
.ph-img--portrait{aspect-ratio:4/5;max-width:400px;width:100%;justify-self:center;height:auto}
.ph-img--portrait img{object-fit:cover;object-position:center 8%}
@media(max-width:900px){.ph-img--portrait{max-width:340px}}

/* Clickable media cards */
a.team-photo{display:block;cursor:pointer}
a.hv-card{cursor:pointer;transition:transform .25s,box-shadow .25s}
a.hv-card:hover{transform:translateY(-3px)}
.insights-grid.g-cols-2 .post h3{font-size:1.15rem}

/* Photo CTA: full-bleed image with frosted glass card (old-site style) */
.photo-cta{position:relative;min-height:clamp(480px,58vw,620px);border-radius:var(--r-lg);overflow:hidden;display:flex;align-items:flex-end}
.photo-cta .pc-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.pc-card{position:relative;z-index:2;margin:clamp(22px,4vw,48px);max-width:560px;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.6);border-radius:var(--r-md);padding:clamp(24px,3.5vw,40px);box-shadow:0 24px 60px rgba(15,45,92,.18);will-change:transform}
.pc-card h2{color:var(--blue);font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.2}
.pc-card p{margin-top:14px;color:var(--muted);font-size:.93rem;line-height:1.7}
.pc-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:22px}
.pc-alt{font-size:.85rem;color:var(--muted)}
.pc-alt a{color:var(--green);font-weight:500}
@media(max-width:640px){.photo-cta{min-height:0}.pc-card{margin:14px}}
.chips--flat{border-top:0;padding-top:0;margin-top:6px}
.chips--flat .chip{background:#fff}
/* Image gallery band */
.gal-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gal-tile{border-radius:var(--r-md);overflow:hidden;aspect-ratio:4/3;background:var(--blue-tint)}
.gal-tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gal-tile:hover img{transform:scale(1.04)}
@media(max-width:820px){.gal-band{grid-template-columns:1fr}.gal-tile{aspect-ratio:16/9}}

/* ---- HubSpot embeds ---- */
.hs-form-embed{margin-top:26px;min-height:320px;overflow:visible}
/* Shift the full HubSpot form slightly left so the fields align better with the text block, without clipping any labels or inputs. */
.hs-form-embed .hs-form-frame{width:calc(100% + 72px);max-width:none;margin-left:-40px;margin-right:0;display:block}
.hs-form-embed .hs-form-frame iframe{width:100%;max-width:none;margin:0;display:block}
@media(max-width:900px){.hs-form-embed .hs-form-frame{width:calc(100% + 44px);margin-left:-24px}}
@media(max-width:640px){
  .cc-form{padding-left:18px;padding-right:18px}
  .hs-form-embed{width:calc(100% + 20px);max-width:none;margin-left:-10px;margin-right:-10px}
  .hs-form-embed .hs-form-frame{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
  .hs-form-embed .hs-form-frame iframe{width:100%!important;max-width:none!important;min-width:100%!important}
}
.meet-embed{line-height:0;overflow:visible!important}
.meet-embed--full{width:100%;margin-top:26px;overflow:visible!important;height:auto!important;max-height:none!important}
/* HubSpot Meetings runs inside a cross-origin iframe. Give every booking step enough room so HubSpot does not add a second internal scrollbar. */
.meet-embed--full .meetings-iframe-container{
  display:block;
  width:100%;
  height:1280px!important;
  min-height:1280px!important;
  max-height:none!important;
  overflow:visible!important;
}
.meet-embed--full .meetings-iframe-container iframe{
  display:block;
  width:100%!important;
  max-width:none!important;
  height:1280px!important;
  min-height:1280px!important;
  max-height:none!important;
  overflow:hidden!important;
  border:0!important;
}
@media(max-width:900px){
  .meet-embed--full .meetings-iframe-container,
  .meet-embed--full .meetings-iframe-container iframe{
    height:1480px!important;
    min-height:1480px!important;
  }
}
@media(max-width:640px){
  .meet-embed--full .meetings-iframe-container,
  .meet-embed--full .meetings-iframe-container iframe{
    height:1650px!important;
    min-height:1650px!important;
  }
}

/* Contact-page hero image: lock the image to the same wide hero-card proportions shown in the approved reference. */
.ph-img--contact{
  width:100%;
  max-width:none;
  aspect-ratio:4/3.1;
  justify-self:stretch;
  align-self:center;
  background:#f4f0eb;
}
.ph-img--contact img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 38%;
}
@media(max-width:880px){
  .ph-img--contact{justify-self:start;max-width:560px}
}
@media(max-width:560px){
  .ph-img--contact{justify-self:center;max-width:100%}
}


/* ===== V75 layout refinements ===== */
/* Add visible white breathing room between a coloured section and the following CTA card. */
.section-gap-top{padding-top:clamp(34px,4vw,56px)}

/* Use more of ultra-wide displays without making regular desktop layouts feel stretched. */
@media (min-width:1500px){
  :root{
    --wrap:min(1560px,88vw);
    --pad:clamp(36px,3vw,60px);
  }
}


/* ===== Dedicated thank-you pages ===== */
.thank-you-page{
  min-height:calc(100svh - 150px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(56px,8vw,96px) 0;
  background:#fff;
}
.thank-you-page>.wrap{width:100%}
.thank-you-card{
  width:min(100%,620px);
  margin:0 auto;
  padding:clamp(24px,4vw,42px) 24px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.thank-you-card h1{margin:0;color:var(--blue);font-size:clamp(2rem,4.5vw,3rem);line-height:1.12;text-align:center}
.thank-you-card .lede{max-width:540px;margin:18px auto 0;color:var(--text);font-size:clamp(1rem,1.6vw,1.12rem);line-height:1.7;text-align:center}
.thank-you-redirect{margin:18px 0 0;color:var(--muted);font-size:.92rem;text-align:center}
.thank-you-redirect strong{color:var(--blue)}
.thank-you-home-btn{margin-top:28px;min-width:165px;justify-content:center}
@media(max-width:640px){
  .thank-you-page{min-height:calc(100svh - 110px);padding:48px 0}
  .thank-you-card{padding:24px 18px}
}
