/* ============================================================
   Evergreen Healthcare Partners design system
   White, airy, editorial, motion-ready, and grounded in Evergreen's green brand.
   Body: Poppins (local). Headings: refined system serif (Reckless-like).
   ============================================================ */
:root{
  --green-900:#06231a; --green-800:#0b3d2e; --green-700:#0f5132; --green-600:#15724a;
  --green-500:#1f9460; --green-400:#34b27a; --green-300:#7fc9a6; --green-100:#e7f3ec; --green-050:#f1f8f4;
  --ink:#11231b;          /* serif heading color */
  --body:#3c4a44;
  --muted:#5f6f68;
  --line:#e6ebe8;
  --paper:#ffffff;
  --surface:#f5f8f6;      /* light section */
  --surface-2:#eef4f0;
  --mist:var(--surface); --cloud:var(--surface-2);
  --gold-600:var(--green-600); --gold-500:var(--green-400); --gold-100:var(--green-050);
  --shadow-sm:0 1px 2px rgba(11,61,46,.05),0 2px 6px rgba(11,61,46,.06);
  --shadow-md:0 10px 30px rgba(11,61,46,.09);
  --shadow-lg:0 30px 70px rgba(6,35,26,.14);
  --shadow-xl:0 42px 90px rgba(6,35,26,.18);
  --radius-sm:8px; --radius:16px; --radius-lg:26px;
  --maxw:1320px; --gap:clamp(1rem,2vw,2rem);
  --font-sans:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --font-serif:'Oswald','Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-disp:var(--font-serif);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-sans);color:var(--body);background:var(--paper);line-height:1.62;font-size:17px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--green-700);text-decoration:none;transition:color .15s ease}
a:hover{color:var(--green-500)}
h1,h2,h3,h4{font-family:var(--font-serif);color:var(--ink);font-weight:600;line-height:1.1;letter-spacing:0;margin:0 0 .5em}
h1{font-size:4.05rem;font-weight:600;letter-spacing:0;}
h2{font-size:2.75rem}
h3{font-size:1.55rem}
.h-compact{font-size:3rem}
p{margin:0 0 1rem;color:var(--body)}
strong{color:var(--ink)}
:focus-visible{outline:3px solid var(--green-400);outline-offset:2px;border-radius:4px}

/* layout */
.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(1.2rem,4vw,2.6rem)}
/* Fill larger desktops - let the container breathe on wide screens */
@media (min-width:1536px){:root{--maxw:1440px}}
@media (min-width:1800px){:root{--maxw:1580px}}
.section{padding-block:clamp(4rem,8vw,8.25rem)}
.section--tight{padding-block:clamp(2rem,4vw,3.5rem)}
.section--mist{background:var(--surface)}
.section--cloud{background:var(--surface-2)}
.section--sage{background:#d3e7dc}
.steps--2col{grid-template-columns:1fr 1fr;gap:0 2.6rem}
@media(max-width:680px){.steps--2col{grid-template-columns:1fr}}
.section--green{background:var(--green-800);color:#dceee5}
.section--green h1,.section--green h2,.section--green h3,.section--green h4{color:#fff}
.section--green p{color:#cfe6da}
/* ===== MOBILE-FIRST GRID SYSTEM =====
   Base = single column (phones). Columns are added UP at breakpoints:
   - >=768px (tablet): 2-up for cols-2/3/4
   - >=1024px (desktop): cols-3 -> 3, cols-4 -> 4 */
.grid{display:grid;gap:var(--gap);grid-template-columns:1fr}
.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}
@media(min-width:768px){
  .cols-2{grid-template-columns:repeat(2,1fr)}
  .cols-3{grid-template-columns:repeat(2,1fr)}
  .cols-4{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1024px){
  .cols-3{grid-template-columns:repeat(3,1fr)}
  .cols-4{grid-template-columns:repeat(4,1fr)}
}
.center{text-align:center} .measure{max-width:64ch} .measure-narrow{max-width:52ch} .mx-auto{margin-inline:auto}

/* ===== FLEX LAYOUT UTILITIES =====
   Reusable replacements for ad-hoc inline flex styles. */
.d-flex{display:flex} .inline-flex{display:inline-flex}
.flex-wrap{flex-wrap:wrap} .flex-col{flex-direction:column}
.justify-between{justify-content:space-between} .justify-center{justify-content:center} .justify-start{justify-content:flex-start}
.align-center{align-items:center} .align-end{align-items:flex-end} .align-start{align-items:flex-start}
.gap-05{gap:.5rem} .gap-1{gap:1rem} .gap-15{gap:1.5rem} .gap-2{gap:2rem}
/* stack flex rows on phones */
@media(max-width:600px){.flex-column-mobile{flex-direction:column;align-items:stretch}}

/* eyebrow / lede */
.eyebrow{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:0;font-size:.9rem;font-weight:600;color:var(--green-600);margin:0 0 1rem;display:inline-flex;align-items:center;gap:.55rem}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--green-500);display:inline-block}
.eyebrow--center{justify-content:center}
.section--green .eyebrow{color:var(--green-300)} .section--green .eyebrow::before{background:var(--green-400)}
.lede{font-family:var(--font-sans);font-size:1.16rem;color:var(--muted);line-height:1.58}
.section--green .lede{color:#cfe6da}

/* buttons - pills */
.btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-sans);font-weight:600;font-size:1rem;padding:.85rem 1.6rem;border-radius:999px;cursor:pointer;border:1.5px solid transparent;transition:all .18s ease;text-align:center}
.btn--primary{background:var(--green-600);color:#fff;box-shadow:var(--shadow-sm)}
.btn--primary:hover{background:var(--green-700);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn--dark{background:var(--green-900);color:#fff}
.btn--dark:hover{background:#04190f;color:#fff}
.btn--ghost{background:transparent;color:var(--green-800);border-color:var(--green-300)}
.btn--ghost:hover{background:var(--green-050);border-color:var(--green-600)}
.btn--light{background:var(--green-900);color:#fff}              /* on light hero, a solid deep-green reads best */
.btn--light:hover{background:#04190f;color:#fff;transform:translateY(-1px)}
.btn--ondark{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.85);backdrop-filter:blur(3px)}
.btn--ondark:hover{background:#fff;color:var(--green-900);border-color:#fff}
.btn--lg{padding:1rem 1.9rem;font-size:1.05rem}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem}.btn-row--center{justify-content:center}
.arrow-link{font-family:var(--font-sans);font-weight:600;display:inline-flex;align-items:center;gap:.4rem;color:var(--green-700)}
.arrow-link::after{content:"→";transition:transform .18s ease}.arrow-link:hover::after{transform:translateX(4px)}

/* header / nav */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:76px}
.brand{display:flex;align-items:center;gap:.6rem}.brand-logo{height:34px;width:auto;display:block}.site-header .brand-logo{height:46px}.brand-logo--inv{filter:brightness(0) invert(1)}
.nav-menu{display:flex;align-items:center;gap:.9rem}
.nav-links{display:flex;align-items:center;gap:.25rem;list-style:none;margin:0;padding:0}
.nav-links a{font-family:var(--font-sans);color:var(--ink);font-weight:500;font-size:1.18rem;padding:.5rem .8rem;border-radius:8px;white-space:nowrap}
.nav-links a:hover{background:var(--green-050);color:var(--green-700)}
.nav-cta{display:flex;align-items:center;gap:.6rem}.nav-cta .btn{padding:.58rem 1.25rem;font-size:1rem}
.has-dd{position:relative}
.dd-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:290px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:.5rem;opacity:0;visibility:hidden;transform:translateY(6px);transition:all .16s ease}
.has-dd:hover .dd-menu,.has-dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:translateY(0)}
.dd-menu a{display:block;padding:.55rem .7rem;border-radius:8px;font-size:.92rem;font-family:var(--font-sans)}
.dd-menu a strong{display:block;color:var(--ink);font-weight:600}.dd-menu a span{font-size:.8rem;color:var(--muted)}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:.4rem}.nav-toggle svg{width:28px;height:28px;color:var(--green-800)}
.nav-toggle .icon-close{display:none}
.nav-toggle[aria-expanded="true"] .icon-open{display:none}
.nav-toggle[aria-expanded="true"] .icon-close{display:block}
@media(max-width:980px){
  .nav-toggle{display:inline-flex}
  .nav-menu{position:fixed;inset:76px 0 auto 0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:1rem clamp(1.2rem,4vw,2.6rem) 1.5rem;box-shadow:var(--shadow-lg);max-height:calc(100dvh - 76px);overflow-y:auto;display:none}
  .nav-menu.open{display:flex}.nav-links{flex-direction:column;align-items:stretch}
  .nav-links a{padding:.8rem .6rem;border-radius:0}
  /* Desktop shows the full Services dropdown; on mobile it's hidden - tapping "Services" goes to the Services page, where visitors choose from there. Keeps the mobile menu short and scannable. */
  .dd-menu{display:none}
  .dd-caret{display:none}
  .nav-cta{margin-top:1rem}
}
body.nav-open{overflow:hidden}

/* HERO - light, airy, editorial */
.hero{background:linear-gradient(180deg,#ffffff 0%,var(--green-050) 100%);border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:.88fr 1.18fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding-block:clamp(3rem,6vw,5.5rem)}
.hero h1{color:var(--ink);max-width:15ch}
.intro-statement{font-family:var(--font-serif);font-size:clamp(1.05rem,.95rem + .4vw,1.3rem);line-height:1.65;color:var(--ink-soft,#3f4a44);margin:0 auto;text-align:center;text-wrap:balance;max-width:54rem}
/* two-column editorial intro (Option 2): serif statement left, paragraph right */
.section--intro{padding-block:clamp(2.75rem,5vw,4.5rem);background:#fff}
.section--seam{border-top:1px solid var(--line)}
.intro-split{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(1.5rem,5vw,4.5rem);align-items:center}
.intro-split__head{position:static}
.intro-split__head h2{margin:.3rem 0 0;font-size:clamp(1.9rem,1.4rem + 1.6vw,2.8rem);line-height:1.1;text-wrap:balance}
.intro-split__body p{font-family:var(--font-serif);font-size:clamp(1.05rem,1rem + .35vw,1.3rem);line-height:1.7;color:var(--ink-soft,#3f4a44);margin:0;max-width:60ch;text-wrap:pretty}
.intro-split__body p + p{margin-top:1.15rem}
@media(max-width:820px){
  .intro-split{grid-template-columns:1fr;gap:1rem}
  .intro-split__head{position:static}
}
.intro-stack h2{margin:.3rem 0 0;font-size:clamp(1.9rem,1.4rem + 1.6vw,2.8rem);line-height:1.1;text-wrap:balance}
.intro-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,2.6rem);margin-top:clamp(1.4rem,2.5vw,2rem)}
.intro-cols p{color:var(--ink-soft,#3f4a44);max-width:42ch;text-wrap:pretty}
@media(max-width:820px){.intro-cols{grid-template-columns:1fr;gap:1.1rem}.intro-cols p{max-width:60ch}}
.intro-lead{margin-top:clamp(1.5rem,2.6vw,2.1rem);max-width:66ch}
.intro-lead p{font-family:var(--font-sans);font-size:clamp(1.12rem,1rem + .55vw,1.32rem);line-height:1.66;color:var(--ink-soft,#3f4a44);margin:0 0 1.15rem;text-wrap:pretty;max-width:none}
.intro-lead p:last-child{margin-bottom:0}
.hero-statement-lead{font-family:var(--font-serif);font-size:clamp(1.25rem,1.05rem + .9vw,1.6rem);line-height:1.5;color:var(--ink);max-width:none;margin:0;padding-top:clamp(1.4rem,3vw,2.2rem);border-top:1px solid var(--line)}
.hero-statement-lead{padding-bottom:clamp(2.5rem,5vw,4rem)}
.hero .lede{max-width:46ch}
.hero .eyebrow{color:var(--green-600)}
.hero-media{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-lg);background:var(--surface);aspect-ratio:4/3}
.hero-media img{width:100%;height:100%;object-fit:cover}
.trust-inline{display:flex;flex-wrap:wrap;gap:.9rem 1.05rem;margin-top:1.6rem;align-items:center;font-family:var(--font-sans)}
.trust-inline .ti{display:flex;flex-direction:column;line-height:1.1}
.trust-inline .ti b{font-size:1.35rem;color:var(--green-700);font-weight:700}
.trust-inline .ti span{font-size:.74rem;color:var(--muted)}
.trust-inline .div{width:1px;height:30px;background:var(--line)}

/* pills / badges */
.pill{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-sans);font-size:.8rem;font-weight:600;padding:.4rem .85rem;border-radius:999px;background:var(--green-100);color:var(--green-700)}
.pill--gold{background:var(--green-100);color:var(--green-700)}
.pill--ondark{background:rgba(255,255,255,.14);color:#eaf4ee;border:1px solid rgba(255,255,255,.25)}
.klas-badge{display:inline-flex;align-items:center;gap:.7rem;padding:.7rem 1.05rem;border-radius:14px;background:#fff;border:1px solid var(--line);color:var(--ink);font-family:var(--font-sans);font-weight:600;box-shadow:var(--shadow-sm)}
.klas-badge svg{width:1.6rem;height:1.6rem;flex:none}
.klas-badge small{display:block;font-weight:500;color:var(--body);font-size:.74rem}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.stat{padding:1.5rem 1rem;border-radius:var(--radius);background:#fff;border:1px solid var(--line);text-align:center;box-shadow:var(--shadow-sm)}
.stat .num{font-family:var(--font-serif);font-weight:600;font-size:2.8rem;color:var(--green-700);line-height:1}
.stat .lbl{font-family:var(--font-sans);font-size:.9rem;color:var(--muted);margin-top:.45rem}
.section--green .stat{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.section--green .stat .num{color:#fff}.section--green .stat .lbl{color:#b6d4c5}
.stats--impact{grid-template-columns:repeat(3,1fr)}
.stats--impact .num{font-size:2.4rem}
.stats--impact .lbl{font-size:1.05rem;line-height:1.4}
@media(max-width:760px){.stats--impact{grid-template-columns:repeat(2,1fr)}}
@media(max-width:430px){.stats--impact{grid-template-columns:1fr}}
/* Why Evergreen, light impact band (replaces green-on-green) */
.section--impact{background:linear-gradient(180deg,#cfe5d8 0%,#e3f1ea 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section--impact .eyebrow{color:var(--green-600)}.section--impact .eyebrow::before{background:var(--green-500)}
.section--impact h2{color:var(--ink)}
.section--impact .stat{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-md);padding-top:1.7rem}
.section--impact .stat::before{content:"";display:block;width:34px;height:3px;border-radius:2px;background:var(--green-500);margin:0 auto 1rem}
.section--impact .stat .num{color:var(--green-700)}
.section--impact .stat .lbl{color:var(--muted)}

/* cards */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.55rem;box-shadow:var(--shadow-sm);transition:transform .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s cubic-bezier(.2,.7,.2,1),border-color .2s ease;display:flex;flex-direction:column;height:100%}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--green-300)}
.card .icon{width:48px;height:48px;border-radius:12px;background:var(--green-100);color:var(--green-600);display:grid;place-items:center;margin-bottom:1.1rem}.card .icon svg{width:24px;height:24px}
.card h3{font-size:1.3rem;margin-bottom:.4rem}
.card p{font-family:var(--font-sans);font-size:.98rem;margin-bottom:1rem;color:var(--muted)}
.card .arrow-link{margin-top:auto}
.card--link{cursor:pointer}
.card-tag{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:0;font-size:.72rem;color:var(--green-600);margin-bottom:.5rem;font-weight:600}

/* Lifecycle rail */
.lifecycle{--lc-gap:clamp(2rem,5vw,4rem);position:relative;display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--lc-gap);align-items:start}
.lifecycle::before{content:"";position:absolute;top:2rem;left:calc((100% - var(--lc-gap)) * .4 + var(--lc-gap) / 2);width:1px;height:calc(100% - 3rem);background:linear-gradient(var(--green-300),transparent);display:block}
@media(max-width:980px){.lifecycle::before{display:none}}
.lifecycle-kicker{position:sticky;top:112px}
.lifecycle-list{display:grid;gap:.8rem}
.lifecycle-item{position:relative;display:grid;grid-template-columns:auto 1fr;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:18px;padding:1rem 1.1rem;box-shadow:var(--shadow-sm);transition:transform .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s cubic-bezier(.2,.7,.2,1),border-color .2s ease}
.lifecycle-item:hover{transform:translateX(6px);box-shadow:var(--shadow-md);border-color:var(--green-300)}
.lifecycle-num{width:2.35rem;height:2.35rem;border-radius:999px;background:var(--green-100);color:var(--green-700);display:grid;place-items:center;font-family:var(--font-serif);font-weight:600}
.lifecycle-item h3{font-size:1.15rem;margin:.1rem 0 .25rem}
.lifecycle-item p{font-size:.95rem;color:var(--muted);margin:0}
.lifecycle-proof{margin-top:1.6rem;display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:.5rem 2.2rem}
.lifecycle-proof .mini{border:0;background:transparent;padding:0;text-align:left}
.lifecycle-proof b{display:block;font-family:var(--font-serif);font-size:2.1rem;color:var(--green-700);line-height:1}
.lifecycle-proof span{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-family:var(--font-sans)}

/* checks */
.checks{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.7rem;font-family:var(--font-sans)}
.checks li{position:relative;padding-left:1.9rem;color:var(--body)}
.checks li::before{content:"";position:absolute;left:0;top:.15rem;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--green-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315724a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/.8rem no-repeat}
.section--green .checks li{color:#cfe6da}.section--green .checks li::before{background-color:rgba(255,255,255,.14)}

/* audience split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.split-card{border-radius:var(--radius-lg);padding:clamp(1.7rem,3vw,2.5rem);position:relative;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}
.split-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.split-card--clients{background:linear-gradient(165deg,#fff,var(--green-050))}
.split-card--consultants{background:linear-gradient(165deg,var(--green-800),var(--green-900));color:#e7f3ec;border-color:var(--green-700)}
.split-card--consultants h2,.split-card--consultants h3{color:#fff}.split-card--consultants p{color:#c3ddd1}
.split-card .tag{font-family:var(--font-sans);letter-spacing:0;text-transform:uppercase;font-size:.78rem;font-weight:600}

/* quote */
.quote{font-family:var(--font-serif);font-size:2.15rem;font-weight:500;line-height:1.3;color:var(--ink);letter-spacing:0;}
.quote--ondark{color:#fff}
.cite{font-family:var(--font-sans);margin-top:1.2rem;font-size:.95rem;color:var(--muted);font-weight:600}.cite span{display:block;font-weight:400}

/* steps */
.steps{counter-reset:step;display:grid;gap:.6rem}
.step{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;align-items:start;padding:1.2rem 0;border-bottom:1px solid var(--line)}
.step::before{counter-increment:step;content:counter(step);font-family:var(--font-serif);font-weight:600;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--green-800);color:#fff;display:grid;place-items:center;font-size:1.1rem}
.section--green .step{border-color:rgba(255,255,255,.14)}.section--green .step::before{background:var(--green-500)}
.step h4{font-family:var(--font-serif);margin:.1rem 0 .3rem;font-size:1.15rem}

/* crumbs */
.crumbs{font-family:var(--font-sans);font-size:.85rem;color:var(--muted);padding-top:1.4rem}
.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--green-600)}.crumbs span{margin:0 .4rem}

/* INTERIOR PAGE HERO - light + serif (re-themed from dark) */
.page-hero{background:linear-gradient(180deg,#fff,var(--green-050));border-bottom:1px solid var(--line);padding-block:clamp(2.6rem,5vw,4.5rem)}
.page-hero .container{position:relative}
@media(min-width:901px){
  .page-hero .container{padding-right:40%;min-height:300px;display:flex;flex-direction:column;justify-content:center}
  .page-hero .container::after{content:"";position:absolute;top:0;right:0;width:34%;height:100%;border-radius:var(--radius-lg);background:var(--ph-hero,url('../img/ph-hero.svg')) center/cover no-repeat,url('../img/ph-hero.svg') center/cover no-repeat;border:1px solid var(--line);box-shadow:var(--shadow-lg)}
}
.page-hero h1{color:var(--ink);max-width:18ch}
.page-hero .lede{color:var(--muted);max-width:52ch}
.page-hero .eyebrow{color:var(--green-600)}
@media(max-width:900px){.page-hero .container{display:block}.page-hero .container::after{display:none}}

/* FAQ */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:1.1rem 0}
.faq summary{font-family:var(--font-serif);cursor:pointer;font-weight:600;font-size:1.15rem;color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;min-height:48px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--font-sans);font-size:1.5rem;color:var(--green-600);transition:transform .2s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{font-family:var(--font-sans);margin-top:.7rem;color:var(--muted)}

/* forms */
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.5rem,3vw,2rem);box-shadow:var(--shadow-sm)}
.field{margin-bottom:1rem}.field label{font-family:var(--font-sans);display:block;font-weight:600;font-size:.9rem;margin-bottom:.35rem;color:var(--ink)}
.field input,.field select,.field textarea{font-family:var(--font-sans);width:100%;padding:.78rem .9rem;border:1.5px solid var(--line);border-radius:10px;font-size:1rem;color:var(--ink);background:#fff}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green-400);outline:none}
.hs-placeholder{border:2px dashed var(--green-300);border-radius:var(--radius);padding:1.1rem;background:var(--green-050);font-family:var(--font-sans);font-size:.9rem;color:var(--green-700)}
.hs-placeholder .tag{font-family:var(--font-sans);letter-spacing:0;text-transform:uppercase;font-size:.7rem;color:var(--green-600);display:block;margin-bottom:.4rem;font-weight:600}

/* callout */
.callout{font-family:var(--font-sans);border-left:4px solid var(--green-500);background:var(--surface);padding:1.1rem 1.3rem;border-radius:0 12px 12px 0}
.callout--gold{border-color:var(--green-500);background:var(--green-050)}

/* resource cards */
.res-card{overflow:hidden;padding:0}.res-card .res-top{height:7px;background:linear-gradient(90deg,var(--green-500),var(--green-300))}
.res-card .res-body{padding:1.5rem;display:flex;flex-direction:column;flex:1}

/* CTA band */
.cta-band{background:linear-gradient(135deg,var(--green-700),var(--green-900));color:#fff;border-radius:var(--radius-lg);padding:clamp(2.2rem,4vw,3.4rem);text-align:center}
.cta-band h2{color:#fff}.cta-band p{color:#c8e2d6}

/* Talk bar - slim conversion strip above footer */
.talk-bar{background:linear-gradient(135deg,var(--green-700),var(--green-900));color:#fff}
.talk-bar__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-block:1.4rem}
.talk-bar__txt{margin:0;font-family:var(--font-serif);font-size:clamp(1.15rem,1rem + .8vw,1.5rem);letter-spacing:-.01em;color:#e7f3ec}
.talk-bar__txt strong{color:#fff;font-weight:600}

/* footer */
.site-footer{background:var(--green-900);color:#b8d2c5;padding-block:clamp(3rem,5vw,4rem) 2rem;font-family:var(--font-sans)}
.site-footer a{color:#cfe6da}.site-footer a:hover{color:#fff}
.footer-grid{display:grid;grid-template-columns:1.5fr 1.7fr 1fr 1fr;gap:2rem}
.footer-grid h4{font-family:var(--font-sans);color:#fff;text-transform:uppercase;letter-spacing:0;font-size:.85rem;font-weight:600}
.footer-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.footer-grid li a{font-size:.94rem;color:#a9c8ba}
.footer-grid > div:nth-child(2) ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.75rem}
.footer-bottom{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-size:.85rem;color:#8fb3a3}
.site-footer p{color:#bcd6c9}.site-footer strong{color:#fff}

/* image placeholders */
.img-ph{display:block;width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm)}
.img-ph--wide{aspect-ratio:16/9;object-fit:cover}.img-ph--square{aspect-ratio:1/1;object-fit:cover}.img-ph--portrait{aspect-ratio:4/5;object-fit:cover}
.img-ph-fig{margin:0}.img-ph-fig figcaption{font-family:var(--font-sans);font-size:.8rem;color:var(--muted);margin-top:.5rem;text-align:center}

/* announcement bar + featured (press callout) */
.announce-bar{background:var(--green-800);color:#eaf4ee;font-family:var(--font-sans);font-size:.92rem}
.announce-bar__inner{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.55rem 0;position:relative}
.announce-bar p{margin:0;color:#eaf4ee}.announce-bar strong{color:#fff}.announce-bar a{color:#fff;text-decoration:underline}
.announce-bar__close{position:absolute;right:0;background:none;border:0;color:#bfe6d2;font-size:1.3rem;line-height:1;cursor:pointer;padding:0 .5rem}.announce-bar.hide{display:none}
.announce-feature{display:flex;align-items:center;gap:1.35rem;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-left:5px solid var(--green-500);border-radius:var(--radius);padding:1.15rem 1.35rem;box-shadow:var(--shadow-sm);transition:transform .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s cubic-bezier(.2,.7,.2,1)}
.announce-feature:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.announce-feature__img{width:88px;height:88px;border-radius:12px;object-fit:cover;flex:none;background:var(--surface);border:1px solid var(--line)}
.announce-feature__body{flex:1;min-width:300px}
.announce-feature__title{font-family:var(--font-serif);font-size:1.65rem;margin:.5rem 0 .35rem;color:var(--ink)}
.announce-feature__sub{font-family:var(--font-sans);margin:0;color:var(--muted);font-size:1.1rem;line-height:1.6;max-width:none}
.announce-feature__cta{font-family:var(--font-sans);font-weight:600;color:var(--green-700);white-space:nowrap}

/* logos / proof row */
.proof-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.2rem 2.6rem}
.proof-row span{font-family:var(--font-sans);font-weight:600;color:var(--muted);opacity:.75}

/* reveal */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* responsive */
@media(max-width:980px){h1{font-size:3.25rem}h2{font-size:2.35rem}h3{font-size:1.42rem}.h-compact{font-size:2.65rem}.quote{font-size:1.85rem}.stat .num{font-size:2.35rem}.hero-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.lifecycle{grid-template-columns:1fr}.lifecycle::before{display:none}.lifecycle-kicker{position:static}.lifecycle-proof{max-width:520px}}
@media(max-width:680px){h1{font-size:2.45rem}h2{font-size:2rem}h3{font-size:1.32rem}.h-compact{font-size:2.1rem}.lede{font-size:1.06rem}.quote{font-size:1.55rem}.stat .num{font-size:2rem}.split{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}body{font-size:16px}.lifecycle-proof{grid-template-columns:1fr}.announce-feature__cta{width:100%}}

/* ---- Button context fixes: light heroes vs dark bands ---- */
.btn--light{background:#fff;color:var(--green-800);border-color:#cfe3d8}
.hero .btn--light,.page-hero .btn--light{background:var(--green-600);color:#fff;border-color:var(--green-600)}
.hero .btn--light:hover,.page-hero .btn--light:hover{background:var(--green-700);border-color:var(--green-700);color:#fff}
.hero .btn--ondark,.page-hero .btn--ondark{background:transparent;color:var(--green-800);border-color:var(--green-300);backdrop-filter:none}
.hero .btn--ondark:hover,.page-hero .btn--ondark:hover{background:var(--green-050);color:var(--green-800);border-color:var(--green-600)}
.section--green .btn--light,.cta-band .btn--light{background:#fff;color:var(--green-900);border-color:#fff}
.section--green .btn--light:hover,.cta-band .btn--light:hover{background:var(--green-050);color:var(--green-900)}
.section--green .btn--ondark,.cta-band .btn--ondark{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.85);backdrop-filter:blur(3px)}
.section--green .btn--ondark:hover,.cta-band .btn--ondark:hover{background:#fff;color:var(--green-900)}

/* ============================================================
   EVERGREEN 2.0 - editorial refinement + cinematic motion system
   (appended last; intentionally overrides earlier rules)
   ============================================================ */
:root{
  --font-serif:'Newsreader','Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;
  --font-disp:var(--font-serif);
  --ease-out:cubic-bezier(.16,.84,.3,1);
  --ease-spring:cubic-bezier(.22,.7,.12,1);
  --shadow-sm:0 1px 2px rgba(11,61,46,.04),0 1px 1px rgba(11,61,46,.04);
  --shadow-md:0 2px 4px rgba(11,61,46,.04),0 14px 30px -10px rgba(11,61,46,.13);
  --shadow-lg:0 4px 10px rgba(6,35,26,.05),0 34px 64px -20px rgba(6,35,26,.22);
  --shadow-xl:0 10px 20px rgba(6,35,26,.06),0 56px 100px -30px rgba(6,35,26,.32);
  --radius-lg:24px;
}

/* - refined editorial type scale (Newsreader) - */
h1,h2,h3,h4{font-optical-sizing:auto;text-wrap:balance}
h1,h2{font-weight:500;letter-spacing:-.025em}
h1{font-size:clamp(2.6rem,1.1rem + 4.7vw,4.5rem);line-height:1.0}
h2{font-size:clamp(1.95rem,1.2rem + 2.5vw,2.95rem);line-height:1.06}
h3{font-weight:600;letter-spacing:-.011em;line-height:1.2;font-size:1.5rem}
.h-compact{font-size:clamp(2.1rem,1.3rem + 2.6vw,3.05rem);line-height:1.04}
.lede{font-size:clamp(1.08rem,1rem + .45vw,1.22rem);line-height:1.6}
p{text-wrap:pretty}
.eyebrow{letter-spacing:.16em;font-size:.86rem}
.eyebrow::before{width:26px}
.card-tag{letter-spacing:.13em}
.footer-grid h4{letter-spacing:.13em}
.quote{font-weight:400;letter-spacing:-.02em;line-height:1.24;font-size:clamp(1.7rem,1.05rem + 2.4vw,2.55rem)}

/* - cards: hairline borders, lighter rest, refined hover - */
.card{border-color:rgba(11,61,46,.09);box-shadow:var(--shadow-sm)}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--green-300)}
.card .icon{transition:transform .35s var(--ease-spring),background .25s ease}
.card:hover .icon{transform:scale(1.08) rotate(-3deg)}

/* - sticky header: subtle scrolled state - */
.site-header{transition:box-shadow .3s ease,background .3s ease,border-color .3s ease}
.site-header.scrolled{box-shadow:0 1px 0 var(--line),0 10px 30px -18px rgba(6,35,26,.25);background:rgba(255,255,255,.86)}
.nav-links a{position:relative}
.nav-links a::after{content:"";position:absolute;left:.7rem;right:.7rem;bottom:.28rem;height:1.5px;background:var(--green-500);transform:scaleX(0);transform-origin:left;transition:transform .28s var(--ease-out)}
.nav-links a:hover::after{transform:scaleX(1)}

/* - scroll progress bar - */
.scroll-progress{position:fixed;left:0;top:0;height:3px;width:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--green-500),var(--green-300));z-index:200;will-change:transform}

/* ===== CINEMATIC MEDIA - Ken Burns + clip reveal + scroll zoom ===== */
.media{position:relative;overflow:hidden;border-radius:var(--radius-lg);background:var(--surface);isolation:isolate}
.media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.media--wide{aspect-ratio:16/10}
.media--ultra{aspect-ratio:21/9}
.media--photo{aspect-ratio:3/2}
.media--tall{aspect-ratio:4/5}
.media--square{aspect-ratio:1/1}
.media__cap{position:absolute;left:0;right:0;bottom:0;padding:1.4rem 1.4rem 1.1rem;background:linear-gradient(0deg,rgba(6,35,26,.62),rgba(6,35,26,0));color:#fff;font-family:var(--font-sans);font-size:.85rem;z-index:2}
.media__tag{position:absolute;top:1rem;left:1rem;z-index:2}

/* Ken Burns: gentle, perpetual “video” breathing zoom on the image */
@media (prefers-reduced-motion:no-preference){
  .ken img{animation:kenBurns 26s ease-in-out infinite alternate;transform-origin:var(--ken-origin,50% 45%);will-change:transform}
  .ken--slow img{animation-duration:36s}
  @keyframes kenBurns{0%{transform:scale(1.02) translate3d(0,0,0)}100%{transform:scale(1.11) translate3d(-1.4%,-1.2%,0)}}
  /* scroll-driven zoom: motion.js sets --zoom (1 → ~1.12); applied via the independent `scale` property so it composes with Ken Burns */
  [data-zoom] img{scale:var(--zoom,1)}
  /* clip-reveal wipe for media on enter */
  .reveal-clip{clip-path:inset(0 0 0 0)}
  .reveal-clip:not(.in){clip-path:inset(10% 6% 10% 6% round 24px)}
  .reveal-clip img{transition:transform .9s var(--ease-out)}
  .reveal-clip:not(.in) img{transform:scale(1.14)}
  .reveal-clip{transition:clip-path 1.05s var(--ease-out)}

  /* ===== CINEMATIC SWEEP =====
     Pan ACROSS a group photo + zoom IN/OUT over time so every face gets a moment.
     How it works: the .media frame clips (overflow:hidden); the <img> covers it and
     is scaled up so there's room to move; one long ease-in-out keyframe drives two
     independent properties - `transform: scale()` for the zoom breath, and
     `object-position` for the horizontal pan. `alternate` makes it glide back with
     no jump. transform-origin sits low so the zoom favors people, not the treetops. */
  .sweep img{
    width:100%;height:100%;object-fit:cover;
    transform-origin:50% 64%;
    animation:sweepPan 40s ease-in-out infinite alternate;
    will-change:transform,object-position;
  }
  @keyframes sweepPan{
    0%   {object-position:50% 60%; transform:scale(1.06)}  /* establishing - center group */
    18%  {object-position:84% 58%; transform:scale(1.2)}   /* push in toward right-center faces */
    38%  {object-position:100% 56%;transform:scale(1.12)}  /* ease back on the far-right group */
    58%  {object-position:60% 60%; transform:scale(1.22)}  /* deepest zoom, center cluster */
    80%  {object-position:18% 58%; transform:scale(1.17)}  /* glide left across the row */
    100% {object-position:0% 60%;  transform:scale(1.08)}  /* far-left group, pull back a touch */
  }
}

/* ===== CREDENTIAL MARQUEE ===== */
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__track{display:flex;gap:0;width:max-content;animation:marquee 42s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__item{display:inline-flex;align-items:center;gap:.7rem;padding:0 2.4rem;font-family:var(--font-sans);font-weight:500;color:var(--muted);white-space:nowrap;font-size:1.02rem}
.marquee__item b{font-family:var(--font-serif);font-weight:600;color:var(--green-700);font-size:1.18rem}
.marquee__item svg{width:1.05rem;height:1.05rem;color:var(--green-500);flex:none}
.marquee__dot{width:5px;height:5px;border-radius:50%;background:var(--green-300)}
@keyframes marquee{to{transform:translate3d(-50%,0,0)}}
@media (prefers-reduced-motion:reduce){.marquee__track{animation:none;flex-wrap:wrap;justify-content:center}}

/* ===== ALTERNATING FEATURE ROWS ===== */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.8rem,4vw,4rem);align-items:center}
.feature + .feature{margin-top:clamp(3rem,6vw,6rem)}
.feature__body{max-width:46ch}
.feature--rev .feature__media{order:2}
.feature__media{aspect-ratio:4/3;box-shadow:var(--shadow-lg);border:7px solid #fff;border-radius:var(--radius-lg)}
.feature__media.media{border:7px solid #fff}
@media(max-width:860px){.feature{grid-template-columns:1fr}.feature--rev .feature__media{order:0}}

/* ===== BENTO CAPABILITY GRID ===== */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;grid-auto-rows:minmax(150px,auto)}
.bento .card{margin:0}
.bento .b-2{grid-column:span 2}.bento .b-3{grid-column:span 3}.bento .b-4{grid-column:span 4}.bento .b-6{grid-column:span 6}
.bento .b-r2{grid-row:span 2}
.bento .card--feat{background:linear-gradient(160deg,var(--green-800),var(--green-900));color:#eaf4ee;border:0;justify-content:flex-end}
.bento .card--feat h3{color:#fff}.bento .card--feat p{color:#bcd9cb}
.bento .card--feat .icon{background:rgba(255,255,255,.12);color:#fff}
.bento .card--photo{padding:0;overflow:hidden;border:0}
.bento .card--photo img{width:100%;height:100%;object-fit:cover}
@media(max-width:860px){.bento{grid-template-columns:repeat(2,1fr)}.bento .b-2,.bento .b-3,.bento .b-4,.bento .b-6{grid-column:span 2}.bento .b-r2{grid-row:auto}}

/* ===== CASE-STUDY / CREDENTIAL SPOTLIGHT ===== */
.spotlight{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:clamp(380px,46vw,560px);display:flex;align-items:flex-end;box-shadow:var(--shadow-xl)}
.spotlight .media{position:absolute;inset:0;border-radius:0;z-index:0}
.spotlight::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(6,35,26,.86),rgba(6,35,26,.5) 52%,rgba(6,35,26,.12))}
.spotlight__inner{position:relative;z-index:2;padding:clamp(1.8rem,4vw,3.4rem);color:#fff;max-width:62ch}
.spotlight__metric{font-family:var(--font-serif);font-weight:500;font-size:clamp(3rem,2rem + 5vw,5.5rem);line-height:.95;letter-spacing:-.03em;color:#fff}
.spotlight__quote{font-family:var(--font-serif);font-weight:400;font-size:clamp(1.3rem,1rem + 1.2vw,1.9rem);line-height:1.3;color:#fff;letter-spacing:-.015em}
.spotlight .eyebrow{color:var(--green-300)}
.spotlight .cite{color:#bcd9cb}
.spotlight__seg{font-family:var(--font-sans);font-weight:600;font-size:clamp(.98rem,.88rem + .3vw,1.15rem);letter-spacing:.02em;color:var(--gold-soft);margin:.55rem 0 1rem}
.spotlight__badge{position:absolute;top:clamp(1rem,2.5vw,1.9rem);right:clamp(1rem,2.5vw,1.9rem);z-index:3;width:clamp(84px,11vw,132px);height:auto;border-radius:50%;box-shadow:0 10px 26px rgba(6,35,26,.4)}

/* generic section intro block */
.s-head{max-width:60ch}
.s-head--center{margin-inline:auto;text-align:center}

/* refined hero stat float + panel tones */
.hero-float{box-shadow:var(--shadow-lg)}
.hero-photo{border-width:8px}

/* image figure polish used across interior pages */
.img-ph{border-color:rgba(11,61,46,.09)}

/* - neutralize legacy fixed heading sizes at small widths (clamp handles it) - */
@media(max-width:980px){.hero-grid{gap:2rem}}
@media(max-width:680px){
  .feature__media{border-width:5px}
  .hero-photo{border-width:5px}
}

/* ============================================================
   READABILITY PASS - Chartis-calibre calm (A/B recommendations)
   ============================================================ */
/* hero breathing room (A1) */
.hero .container{padding-block:clamp(3.2rem,6vw,5.5rem)}

/* measure caps + relaxed leading (B6) */
main p{max-width:68ch}
main .lede{line-height:1.62}
main p:not(.lede):not(.eyebrow){line-height:1.66}
.card p{font-size:.97rem}
.section .s-head .lede,.page-hero .lede{font-size:clamp(1.1rem,1rem + .5vw,1.26rem)}

/* breadcrumbs retired - page-hero eyebrows orient instead (B8) */
.crumbs{display:none}

/* editorial two-column prose (sticky heading left, copy right) */
.prose-split{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(1.6rem,5vw,4.5rem);align-items:start}
.prose-split__head{position:sticky;top:90px}
.prose-split__head h2{margin-top:.3rem}
.prose-split__body p{margin:0 0 1.15rem;max-width:64ch;color:var(--ink)}
.prose-split__body p:last-child{margin-bottom:0}
@media(max-width:820px){
  .prose-split{grid-template-columns:1fr;gap:1rem}
  .prose-split__head{position:static}
}

/* one emphasis per screen: calmer pills (B7) */
.pill{font-weight:500}

/* ============================================================
   CONTACT - healthcare-organization lead form (Let's Connect)
   ============================================================ */
.contact-grid{display:grid;grid-template-columns:1.45fr .85fr;gap:clamp(1.5rem,3.5vw,2.6rem);align-items:start}
@media(max-width:920px){.contact-grid{grid-template-columns:1fr}}

.form-card--lg{padding:clamp(1.5rem,3vw,2.4rem)}
.form-card--lg h2{font-size:clamp(1.7rem,1.2rem+1.4vw,2.2rem)}

/* two-up field rows */
/* mobile-first: form fields stack on phones, pair up >=600px */
.field-row{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:600px){.field-row{grid-template-columns:1fr 1fr}}
.field--full{grid-column:1/-1}

/* refined field styling on top of base .field */
.cf7-form .field{margin:0 0 1rem}
.cf7-form .field > label{display:block;font-family:var(--font-sans);font-weight:600;font-size:.82rem;color:var(--ink);margin-bottom:.4rem;letter-spacing:.005em}
.cf7-form .field .req{color:var(--green-600);margin-left:.15rem}
.cf7-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),.cf7-form select,.cf7-form textarea{width:100%;font-family:var(--font-sans);font-size:.97rem;color:var(--ink);background:#fff;border:1px solid #cfdcd4;border-radius:11px;padding:.72rem .85rem;transition:border-color .2s ease,box-shadow .2s ease;-webkit-appearance:none;appearance:none}
.cf7-form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23507a67' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;padding-right:2.2rem}
.cf7-form textarea{min-height:120px;resize:vertical}
.cf7-form input:focus,.cf7-form select:focus,.cf7-form textarea:focus{outline:none;border-color:var(--green-500);box-shadow:0 0 0 3px var(--green-100)}
.cf7-form input::placeholder,.cf7-form textarea::placeholder{color:#5f6f68}
/* file input (résumé upload) */
.cf7-form input[type="file"]{font-family:var(--font-sans);font-size:.9rem;color:var(--ink);background:#fff;border:1px dashed #b9ccc1;border-radius:11px;padding:.7rem .85rem;width:100%;cursor:pointer}
.cf7-form input[type="file"]::file-selector-button{font-family:var(--font-sans);font-weight:600;font-size:.84rem;color:#fff;background:var(--green-600);border:0;border-radius:8px;padding:.5rem .9rem;margin-right:.8rem;cursor:pointer}
.cf7-form input[type="file"]:hover{border-color:var(--green-400)}

/* interest chips (checkbox group) */
.chip-group{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.1rem}
.chip{position:relative;display:inline-flex}
.chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-sans);font-size:.86rem;font-weight:500;color:var(--green-800);background:var(--green-050);border:1px solid #cfe3d8;border-radius:999px;padding:.5rem .85rem;transition:all .18s ease;cursor:pointer}
.chip input:hover + span{border-color:var(--green-400)}
.chip input:checked + span{background:var(--green-600);border-color:var(--green-600);color:#fff}
.chip input:focus-visible + span{box-shadow:0 0 0 3px var(--green-100)}

/* consent row */
.consent{display:flex;gap:.6rem;align-items:flex-start;margin:.4rem 0 1.2rem;font-family:var(--font-sans);font-size:.85rem;color:var(--muted)}
.consent input{width:18px;height:18px;margin-top:.1rem;flex:none;accent-color:var(--green-600)}
.consent a{color:var(--green-700);text-decoration:underline}

/* ===== Contact Form 7 native controls (interests + consent + submit) ===== */
.cf7-form input[type="checkbox"],.cf7-form input[type="radio"]{width:18px;height:18px;margin:0;flex:none;accent-color:var(--green-600);-webkit-appearance:auto;appearance:auto;cursor:pointer}
.cf7-form .wpcf7-checkbox{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.35rem}
.cf7-form .wpcf7-checkbox .wpcf7-list-item{margin:0}
.cf7-form .wpcf7-checkbox .wpcf7-list-item label{display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap;font-family:var(--font-sans);font-size:.86rem;font-weight:500;color:var(--green-800);background:var(--green-050);border:1px solid #cfe3d8;border-radius:999px;padding:.5rem .9rem;cursor:pointer;transition:all .18s ease}
.cf7-form .wpcf7-checkbox .wpcf7-list-item label:hover{border-color:var(--green-400)}
.cf7-form .wpcf7-checkbox .wpcf7-list-item label:has(input:checked){background:var(--green-600);border-color:var(--green-600);color:#fff}
.cf7-form .wpcf7-acceptance{display:block;margin:.2rem 0 1.1rem}
.cf7-form .wpcf7-acceptance .wpcf7-list-item{margin:0}
.cf7-form .wpcf7-acceptance label{display:flex;gap:.6rem;align-items:flex-start;font-family:var(--font-sans);font-size:.85rem;color:var(--muted);cursor:pointer}
.cf7-form .wpcf7-list-item-label{line-height:1.45}
.cf7-form input[type="submit"]{display:inline-block;width:auto;font-family:var(--font-sans);font-weight:600;font-size:1.05rem;color:#fff;background:var(--green-600);border:1px solid var(--green-600);border-radius:999px;padding:1rem 1.9rem;cursor:pointer;transition:background .2s ease,border-color .2s ease;-webkit-appearance:none;appearance:none}
.cf7-form input[type="submit"]:hover{background:var(--green-700);border-color:var(--green-700)}
.cf7-form .wpcf7-spinner{margin:.6rem 0 0 .6rem}
.cf7-form .wpcf7-not-valid-tip{color:#c0392b;font-family:var(--font-sans);font-size:.8rem;margin-top:.3rem}
.cf7-form .wpcf7-response-output{font-family:var(--font-sans);font-size:.9rem;border-radius:10px;margin:1rem 0 0;padding:.7rem 1rem}

/* CF7 developer note */
.cf7-note{display:flex;gap:.7rem;align-items:flex-start;background:linear-gradient(165deg,#fff,var(--green-050));border:1px dashed var(--green-300);border-radius:12px;padding:.85rem 1rem;margin:0 0 1.5rem;font-family:var(--font-sans);font-size:.84rem;color:var(--green-900)}
.cf7-note svg{width:18px;height:18px;color:var(--green-600);flex:none;margin-top:.05rem}
.cf7-note code{background:rgba(11,61,46,.07);border-radius:5px;padding:.05rem .35rem;font-size:.92em}
.cf7-dev{margin-top:1.4rem}
.cf7-dev summary{font-family:var(--font-sans);font-weight:600;font-size:.9rem;color:var(--green-700);cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:.4rem}
.cf7-dev summary::-webkit-details-marker{display:none}
.cf7-dev summary::before{content:"›";font-size:1.2rem;line-height:1;transition:transform .2s ease}
.cf7-dev[open] summary::before{transform:rotate(90deg)}
.cf7-dev pre{margin-top:.9rem;background:#0c2a20;color:#cde7d8;border-radius:12px;padding:1.1rem 1.2rem;overflow:auto;font-size:.8rem;line-height:1.65;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.cf7-dev pre .t{color:#7fd7a8}

/* contact aside */
.contact-aside{position:sticky;top:90px;display:flex;flex-direction:column;gap:1rem}
@media(max-width:920px){.contact-aside{position:static}}
.aside-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg,18px);padding:1.4rem 1.5rem;box-shadow:var(--shadow-sm)}
.aside-card--dark{background:linear-gradient(160deg,var(--green-800),var(--green-900));color:#e7f3ec;border:0}
.aside-card--dark h3{color:#fff}
.aside-steps{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.9rem}
.aside-steps li{display:flex;gap:.75rem;font-family:var(--font-sans);font-size:.92rem;line-height:1.45}
.aside-steps .n{flex:none;width:26px;height:26px;border-radius:50%;background:var(--green-100);color:var(--green-700);font-weight:600;font-size:.82rem;display:grid;place-items:center;font-family:var(--font-sans)}
.aside-card--dark .aside-steps .n{background:rgba(255,255,255,.16);color:#fff}

/* ============================================================
   ART-DIRECTION PASS - gold accent · bare icons · related links
   ============================================================ */
:root{--gold:#a3812e;--gold-soft:#d9c07c}

/* KLAS awards band (homepage trust strip) */
.klas-band__head{text-align:center;margin-inline:auto}
.klas-band__head h2{margin-top:.3rem;font-size:clamp(1.5rem,1.2rem + 1vw,2.1rem)}
.klas-band__title{white-space:nowrap}
@media(max-width:640px){.klas-band__title{white-space:normal;text-wrap:balance}}
.klas-badges{list-style:none;margin:2.2rem 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(1.4rem,3vw,2.8rem)}
.klas-badges li{display:flex;flex-direction:column;align-items:center;gap:.7rem;width:clamp(118px,15vw,150px)}
.klas-badges img{width:clamp(108px,13vw,136px);height:auto;display:block}
.klas-badges span{font-family:var(--font-sans);font-size:.78rem;font-weight:600;letter-spacing:.01em;color:var(--muted);text-align:center;line-height:1.35;text-wrap:balance}

/* service-page KLAS credential (hero) */
.hero-klas{display:inline-flex;align-items:center;gap:.8rem;margin-top:1.4rem;padding:.6rem .9rem .6rem .6rem;background:#fff;border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-sm)}
.hero-klas img{width:52px;height:52px;border-radius:50%;display:block;flex:none}
.hero-klas span{display:flex;flex-direction:column;font-family:var(--font-sans);font-size:.82rem;line-height:1.3;color:var(--muted)}
.hero-klas strong{color:var(--ink);font-size:.86rem}

/* footer KLAS credential lockup */
.footer-klas{display:flex;align-items:center;gap:.55rem}
.footer-klas img{width:38px;height:38px;border-radius:50%;display:block;background:#fff}

/* one warm note per page: gold lives ONLY on the KLAS credential moment */
.spotlight .eyebrow{color:var(--gold-soft)}
.spotlight__metric::after{content:"";display:block;width:72px;height:3px;background:var(--gold-soft);margin-top:.65rem;border-radius:2px}
.footer-bottom span:last-child{color:var(--gold-soft)}

/* bare editorial line icons - no tinted chip */
.card .icon{width:auto;height:auto;background:transparent;border-radius:0;color:var(--green-600);margin-bottom:1rem;display:block}
.card .icon svg{width:30px;height:30px;stroke-width:1.75}
.card:hover .icon{transform:translateX(2px)}
.bento .card--feat .icon{background:transparent;color:#fff}

/* related services as quiet arrow-links, not boxed cards */
.related-links{display:flex;flex-wrap:wrap;gap:.9rem 2.4rem;margin-top:1.3rem}
.related-links .arrow-link{font-size:1.04rem;padding-block:.2rem}

/* ============================================================
   HERO ROTATOR - Chartis-inspired two-beat rotating headline
   with numbered controls + pause. Adapted to Evergreen's serif.
   ============================================================ */
.hero-rotator{display:grid;position:relative;margin:0}
.hero-statement{grid-area:1/1;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s var(--ease-out)}
.hero-statement.is-active{opacity:1;visibility:visible;pointer-events:auto}
.hero-statement .l1,.hero-statement .l2{display:inline;transition:transform .7s var(--ease-spring),opacity .7s var(--ease-out)}
.hero-statement .l1{color:var(--green-700)}.hero-statement .l2{color:var(--ink)}
/* rotating subheads, synced with the headline rotator */
.hero-rotator{max-width:22ch}
.hero-subrotator{display:grid;position:relative;margin:1.1rem 0 0}
.hero-substatement{grid-area:1/1;margin:0;max-width:48ch;font-family:var(--font-sans);font-size:clamp(1rem,.95rem + .3vw,1.18rem);line-height:1.6;color:var(--muted);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s var(--ease-out)}
.hero-substatement.is-active{opacity:1;visibility:visible;pointer-events:auto}
/* word-rise on activate */
@media (prefers-reduced-motion:no-preference){
  .hero-statement .l1,.hero-statement .l2{transform:translateY(.4em);opacity:0}
  .hero-statement.is-active .l1{transform:translateY(0);opacity:1;transition-delay:.05s}
  .hero-statement.is-active .l2{transform:translateY(0);opacity:1;transition-delay:.16s}
}


/* ===== Accessibility helpers (WCAG 2.2 AA) ===== */
.skip-link{position:absolute;left:-9999px;top:auto;z-index:2000;background:var(--green-700);color:#fff;padding:.7rem 1.1rem;border-radius:0 0 10px 0;font-family:var(--font-sans);font-weight:600;text-decoration:none}
.skip-link:focus{left:0;top:0}
main:focus{outline:none}
.footer-grid li a{display:inline-block;padding-block:.25rem;min-height:24px}


/* Balance trailing cards on the Automation & AI page (desktop 3-up only;
   mobile/tablet keep the normal sequential single/2-col flow). */
@media (min-width:1024px){
  .grid--balance7{grid-template-columns:repeat(6,1fr)}
  .grid--balance7 > *{grid-column:span 2}
  .grid--balance7 > *:nth-child(7){grid-column:3 / span 2}
  .grid--balance5{grid-template-columns:repeat(6,1fr)}
  .grid--balance5 > *{grid-column:span 2}
  .grid--balance5 > *:nth-child(4){grid-column:2 / span 2}
  .grid--balance5 > *:nth-child(5){grid-column:4 / span 2}
}

/* ===== Insights / blog (Posts) ===== */
.res-card .res-photo{aspect-ratio:16/10;overflow:hidden;background:var(--green-050)}
.res-card .res-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.res-card.card--link:hover .res-photo img{transform:scale(1.04)}
.article-meta{font-family:var(--font-sans);color:var(--muted);font-size:.95rem;margin:.6rem 0 0}
.article-figure{margin:2rem auto 0;max-width:980px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line)}
.article-figure img{width:100%;height:auto;display:block}
.article-body{max-width:760px;margin:2.2rem auto 0;font-size:1.08rem;line-height:1.75}
.article-body > *{margin:0 0 1.15rem}
.article-body h2{font-size:1.7rem;margin:2.2rem 0 .6rem}
.article-body h3{font-size:1.3rem;margin:1.8rem 0 .5rem}
.article-body img{max-width:100%;height:auto;border-radius:12px}
.article-body blockquote{border-left:3px solid var(--green-400);margin:1.6rem 0;padding:.2rem 0 .2rem 1.4rem;font-family:var(--font-serif);font-size:1.3rem;line-height:1.5;color:var(--ink)}
.article-body ul,.article-body ol{padding-left:1.3rem}
.article-body li{margin:.35rem 0}
.article-body a{color:var(--green-700);text-decoration:underline;text-underline-offset:2px}
.pagination{margin-top:2.6rem}
.pagination ul{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0;justify-content:center}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;padding:.5rem .8rem;border:1px solid var(--line);border-radius:9px;color:var(--green-700);font-family:var(--font-sans);font-weight:600;text-decoration:none}
.pagination .page-numbers:hover{background:var(--green-050)}
.pagination .page-numbers.current{background:var(--green-700);color:#fff;border-color:var(--green-700)}
.pagination .page-numbers.dots{border-color:transparent}

/* Capability-card lists read as clean bullets, not checkboxes
   (team felt the green check circles looked like a to-do list).
   Scoped to lists INSIDE cards; standalone .checks keep their checkmarks. */
.card .checks{gap:.5rem}
.card .checks li{padding-left:1.1rem}
.card .checks li::before{
  content:"";
  position:absolute;
  left:.05rem;
  top:.62em;
  width:5px;height:5px;
  border-radius:50%;
  background:var(--green-500);
}

/* Journey (About): bulleted flow instead of numbers; 5th centered under the other four on desktop */
.steps--2col{counter-reset:none;row-gap:0}
.steps--2col .step{grid-template-columns:auto 1fr;gap:.85rem;align-items:start}
.steps--2col .step::before{counter-increment:none !important;content:"" !important;display:block;width:.55rem;height:.55rem;min-width:.55rem;margin-top:.62rem;border-radius:50%;background:var(--green-500);color:transparent;font-size:0}
.steps--2col > .step:nth-child(5){grid-column:1 / -1;justify-self:center;width:calc(50% - 1.3rem);border-bottom:none}
@media(max-width:680px){
  .steps--2col > .step:nth-child(5){grid-column:auto;justify-self:stretch;width:auto}
}

/* Service detail pages: white sections + tighter rhythm */
.svc-page .section{padding-block:clamp(2rem,3.5vw,3.25rem)}

/* Service detail pages: alternate cream accent sections; first section after hero stays white */
.svc-detail section.section:nth-of-type(odd){background:#f6f2ea}
/* CF7 radio group (work-authorization etc.) */
.cf7-form .wpcf7-radio{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:.35rem}
.cf7-form .wpcf7-radio .wpcf7-list-item{margin:0}
.cf7-form .wpcf7-radio .wpcf7-list-item label{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-sans);font-size:.92rem;color:var(--ink);cursor:pointer}
