
/* ════════════════════════════════════════════════════════════════════════════
   IMPEL TALENT - DESIGN TOKENS
════════════════════════════════════════════════════════════════════════════ */
:root {
  --brand-white:    #fefeff;
  --brand-mist:     #e7eff2;
  --brand-blue:     #41b8fc;
  --brand-cyan:     #26dcfd;
  --brand-mint:     #2afb9e;
  --brand-purple:   #a981dc;
  --brand-navy:     #3b3e7a;
  --brand-charcoal: #2a2c38;

  --surface-page:     var(--brand-white);
  --surface-alt:      #f4f8fb;
  --surface-mist:     var(--brand-mist);
  --surface-card:     #ffffff;
  --surface-elevated: #ffffff;
  --surface-dark:     var(--brand-charcoal);
  --surface-navy:     var(--brand-navy);

  --text-strong:         var(--brand-charcoal);
  --text-body:           #3a3d4a;
  --text-muted:          #6b7180;
  --text-subtle:         #8a8f9d;
  --text-on-dark:        var(--brand-white);
  --text-on-dark-muted:  rgba(254,254,255,0.72);
  --text-on-dark-subtle: rgba(254,254,255,0.52);
  --text-link:           var(--brand-blue);
  --text-eyebrow:        var(--brand-blue);

  --action-primary-bg:         var(--brand-blue);
  --action-primary-bg-hover:   #1ea5f1;
  --action-primary-bg-active:  #0c8ed9;
  --action-primary-text:       #ffffff;
  --action-connect-bg:         var(--brand-mint);
  --action-connect-bg-hover:   #16e687;
  --action-connect-bg-active:  #08c876;
  --action-connect-text:       var(--brand-charcoal);
  --action-secondary-border:       rgba(59,62,122,0.28);
  --action-secondary-border-hover: var(--brand-navy);
  --action-secondary-text:         var(--brand-navy);
  --action-secondary-bg-hover:     var(--brand-navy);
  --action-secondary-text-hover:   #ffffff;
  --action-tertiary-text:          var(--brand-navy);
  --action-tertiary-text-hover:    var(--brand-blue);
  --action-disabled-bg:   #d8dde5;
  --action-disabled-text: #9aa0ad;

  --border-subtle:  rgba(42,44,56,0.06);
  --border-soft:    rgba(42,44,56,0.10);
  --border-default: rgba(42,44,56,0.14);
  --border-strong:  rgba(42,44,56,0.22);
  --border-on-dark: rgba(254,254,255,0.10);

  --wash-blue:   rgba(65,184,252,0.10);
  --wash-cyan:   rgba(38,220,253,0.10);
  --wash-mint:   rgba(42,251,158,0.12);
  --wash-purple: rgba(169,129,220,0.12);
  --wash-navy:   rgba(59,62,122,0.08);

  --font-display: 'Sora','Helvetica Neue',Arial,sans-serif;
  --font-body:    'Inter','Helvetica Neue',Arial,sans-serif;

  --fs-12:0.75rem; --fs-13:0.8125rem; --fs-14:0.875rem; --fs-15:0.9375rem;
  --fs-16:1rem;    --fs-17:1.0625rem; --fs-18:1.125rem; --fs-20:1.25rem;
  --fs-22:1.375rem;--fs-24:1.5rem;   --fs-28:1.75rem;  --fs-32:2rem;
  --fs-h2: clamp(1.75rem,1.4rem + 1.6vw,2.5rem);
  --fs-h1: clamp(2.25rem,1.8rem + 2.2vw,3.25rem);
  --fs-hero:clamp(2.5rem,1.6rem + 4.4vw,4.5rem);

  --lh-tight:1.05; --lh-snug:1.15; --lh-base:1.35;
  --lh-body:1.65;  --lh-relaxed:1.78;
  --ls-tightest:-0.03em; --ls-tight:-0.018em;
  --ls-eyebrow:0.18em;
  --fw-regular:400; --fw-medium:500; --fw-semi:600; --fw-bold:700; --fw-heavy:800;

  --space-1:0.25rem; --space-2:0.5rem; --space-3:0.75rem;
  --space-4:1rem;    --space-5:1.25rem;--space-6:1.5rem;
  --space-7:2rem;    --space-8:2.5rem; --space-9:3rem;
  --space-10:4rem;   --space-11:5rem;  --space-12:6rem;

  --section-py-sm: clamp(3rem,2rem + 4vw,4.5rem);
  --section-py-md: clamp(4rem,2.5rem + 6vw,6rem);
  --section-py-lg: clamp(5rem,3rem + 8vw,7.5rem);

  --container-max:   1240px;
  --container-narrow: 880px;
  --container-px:    clamp(1.25rem,0.5rem + 2vw,2.5rem);
  --gutter:      var(--space-6);
  --gutter-tight:var(--space-4);

  --radius-xs:4px; --radius-sm:8px; --radius-md:12px;
  --radius-lg:16px;--radius-xl:24px;--radius-2xl:32px;
  --radius-pill:999px;

  --shadow-sm: 0 2px 6px rgba(42,44,56,0.06);
  --shadow-md: 0 8px 20px rgba(42,44,56,0.08);
  --shadow-lg: 0 16px 40px rgba(42,44,56,0.10);
  --shadow-xl: 0 28px 64px rgba(42,44,56,0.14);

  --ease-out:  cubic-bezier(0.22,1,0.36,1);
  --ease-in-out:cubic-bezier(0.65,0,0.35,1);
  --t-fast:140ms; --t-base:220ms; --t-slow:360ms; --t-slower:560ms;

  --z-sticky:100; --z-header:500;

  --header-h:72px; --header-h-sm:64px;
  --footer-py:var(--space-11);
  --btn-h-sm:36px; --btn-h-md:44px; --btn-h-lg:52px;
  --focus-ring:0 0 0 3px rgba(65,184,252,0.35);
}

@media (prefers-reduced-motion:reduce) {
  :root { --t-fast:0ms;--t-base:0ms;--t-slow:0ms;--t-slower:0ms; }
  *,*::before,*::after {
    animation-duration:0.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:0.01ms!important;
    scroll-behavior:auto!important;
  }
}


/* ════════════════════════════════════════════════════════════════════════════
   BASE
════════════════════════════════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h)+16px);}
body{min-height:100vh;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--fs-16);font-weight:var(--fw-regular);line-height:var(--lh-body);letter-spacing:-0.005em;}
img,picture,video,svg{display:block;max-width:100%;height:auto;}
button,input,select,textarea{font:inherit;color:inherit;}
button{background:none;border:0;cursor:pointer;}
ul,ol{list-style:none;}
a{color:var(--text-link);text-decoration:none;transition:color var(--t-base) var(--ease-out);}
a:hover{color:var(--brand-navy);}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-strong);font-weight:var(--fw-bold);line-height:var(--lh-snug);letter-spacing:var(--ls-tight);}
h1{font-size:var(--fs-h1);}h2{font-size:var(--fs-h2);}
h3{font-size:var(--fs-32);line-height:var(--lh-base);}
h4{font-size:var(--fs-24);line-height:var(--lh-base);}
h5{font-size:var(--fs-20);line-height:var(--lh-base);}
p{color:var(--text-body);}
::selection{background:var(--brand-blue);color:#fff;}
:focus{outline:none;}
:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm);}
a:focus-visible,button:focus-visible{outline:none;box-shadow:var(--focus-ring);}
body.is-scroll-locked{overflow:hidden;touch-action:none;}

.skip-link{position:absolute;top:-100px;left:16px;padding:12px 20px;background:var(--brand-charcoal);color:var(--brand-white);font-weight:var(--fw-semi);font-size:var(--fs-14);border-radius:var(--radius-sm);z-index:9999;transition:top var(--t-base) var(--ease-out);}
.skip-link:focus{top:16px;color:var(--brand-white);}

.t-eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--fs-12);font-weight:var(--fw-semi);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-eyebrow);}
.t-eyebrow::before{content:"";width:24px;height:1.5px;background:currentColor;border-radius:2px;}
.t-eyebrow--bare::before{display:none;}
.t-lede{font-size:var(--fs-18);line-height:var(--lh-relaxed);color:var(--text-muted);max-width:60ch;}
.t-small{font-size:var(--fs-14);line-height:1.6;}
.t-on-dark-strong{color:var(--brand-white);}
.t-on-dark-strong:hover{color:var(--brand-cyan);}
.section--dark,.section--navy{color:var(--text-on-dark);}
.section--dark p,.section--navy p{color:var(--text-on-dark-muted);}
.section--dark h1,.section--dark h2,.section--dark h3,
.section--navy h1,.section--navy h2,.section--navy h3{color:var(--text-on-dark);}
.section--dark .t-lede,.section--navy .t-lede{color:var(--text-on-dark-muted);}
.section--dark .t-eyebrow,.section--navy .t-eyebrow{color:var(--brand-cyan);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}


/* ════════════════════════════════════════════════════════════════════════════
   LAYOUT
════════════════════════════════════════════════════════════════════════════ */
.container,.container--narrow{width:100%;margin-inline:auto;padding-inline:var(--container-px);}
.container{max-width:var(--container-max);}
.container--narrow{max-width:var(--container-narrow);}
.section{padding-block:var(--section-py-md);}
.section--sm{padding-block:var(--section-py-sm);}
.section--lg{padding-block:var(--section-py-lg);}
.section--alt{background:var(--surface-alt);}
.section--mist{background:var(--surface-mist);}
.section--dark{background:var(--surface-dark);}
.section--navy{background:var(--surface-navy);}

.section-header{max-width:720px;margin-bottom:var(--space-9);}
.section-header>*+*{margin-top:var(--space-4);}
.section-header .t-lede{margin-top:var(--space-5);}
.section-header--center{margin-inline:auto;text-align:center;}
.section-header--center .t-eyebrow{margin-inline:auto;}

.grid{display:grid;gap:var(--gutter);}
.grid--tight{gap:var(--gutter-tight);}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.grid-auto-280{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}

@media (max-width:720px){.grid-2,.grid-3{grid-template-columns:1fr;}}

.reveal{opacity:0;transform:translateY(20px);transition:opacity var(--t-slower) var(--ease-out),transform var(--t-slower) var(--ease-out);}
.reveal.is-visible{opacity:1;transform:translateY(0);}
.reveal-stagger>*{opacity:0;transform:translateY(16px);transition:opacity var(--t-slow) var(--ease-out),transform var(--t-slow) var(--ease-out);}
.reveal-stagger.is-visible>*{opacity:1;transform:none;}
.reveal-stagger.is-visible>*:nth-child(1){transition-delay:0ms;}
.reveal-stagger.is-visible>*:nth-child(2){transition-delay:80ms;}
.reveal-stagger.is-visible>*:nth-child(3){transition-delay:160ms;}
.reveal-stagger.is-visible>*:nth-child(4){transition-delay:240ms;}


/* ════════════════════════════════════════════════════════════════════════════
   BUTTONS
════════════════════════════════════════════════════════════════════════════ */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--btn-h-md);padding:0 1.4rem;font-family:var(--font-display);font-size:var(--fs-15);font-weight:var(--fw-semi);letter-spacing:0.005em;text-decoration:none;white-space:nowrap;border:1px solid transparent;border-radius:var(--radius-pill);cursor:pointer;user-select:none;transition:background-color var(--t-base) var(--ease-out),border-color var(--t-base) var(--ease-out),color var(--t-base) var(--ease-out),transform var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out);}
.btn:focus-visible{box-shadow:var(--focus-ring);}
.btn--sm{height:var(--btn-h-sm);padding:0 1rem;font-size:var(--fs-14);}
.btn--lg{height:var(--btn-h-lg);padding:0 1.75rem;font-size:var(--fs-16);}
.btn__icon{width:14px;height:14px;flex-shrink:0;transition:transform var(--t-base) var(--ease-out);}
.btn:hover .btn__icon{transform:translateX(3px);}

.btn--primary{background:var(--action-primary-bg);color:var(--action-primary-text);box-shadow:0 1px 2px rgba(12,142,217,0.18),0 6px 16px rgba(65,184,252,0.22);}
.btn--primary:hover{background:var(--action-primary-bg-hover);color:var(--action-primary-text);transform:translateY(-1px);box-shadow:0 2px 4px rgba(12,142,217,0.22),0 12px 24px rgba(65,184,252,0.30);}
.btn--primary:active{background:var(--action-primary-bg-active);transform:translateY(0);}

.btn--connect{background:var(--action-connect-bg);color:var(--action-connect-text);box-shadow:0 1px 2px rgba(8,200,118,0.18),0 6px 16px rgba(42,251,158,0.25);}
.btn--connect:hover{background:var(--action-connect-bg-hover);color:var(--action-connect-text);transform:translateY(-1px);}
.btn--connect:active{background:var(--action-connect-bg-active);transform:translateY(0);}

.btn--secondary{background:transparent;color:var(--action-secondary-text);border-color:var(--action-secondary-border);}
.btn--secondary:hover{background:var(--action-secondary-bg-hover);color:var(--action-secondary-text-hover);border-color:var(--action-secondary-bg-hover);}

.btn--ghost{background:transparent;color:var(--action-tertiary-text);padding:0 var(--space-3);height:auto;border-radius:var(--radius-xs);}
.btn--ghost:hover{color:var(--action-tertiary-text-hover);}

.btn--light{background:var(--brand-white);color:var(--brand-charcoal);}
.btn--light:hover{background:var(--brand-mist);transform:translateY(-1px);}

.section--dark .btn--secondary,
.section--navy .btn--secondary{color:var(--brand-white);border-color:rgba(255,255,255,0.28);}
.section--dark .btn--secondary:hover,
.section--navy .btn--secondary:hover{background:rgba(255,255,255,0.10);border-color:rgba(255,255,255,0.6);color:var(--brand-white);}

.link-arrow{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--fs-14);font-weight:var(--fw-semi);color:var(--brand-navy);letter-spacing:0.005em;transition:color var(--t-base) var(--ease-out),gap var(--t-base) var(--ease-out);}
.link-arrow svg{width:14px;height:14px;transition:transform var(--t-base) var(--ease-out);}
.link-arrow:hover{color:var(--brand-blue);gap:var(--space-3);}
.link-arrow:hover svg{transform:translateX(2px);}


/* ════════════════════════════════════════════════════════════════════════════
   BADGES
════════════════════════════════════════════════════════════════════════════ */
.badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 12px;font-family:var(--font-display);font-size:var(--fs-12);font-weight:var(--fw-semi);letter-spacing:0.04em;border-radius:var(--radius-pill);background:var(--wash-blue);color:var(--brand-blue);border:1px solid transparent;}
.badge--mint{background:var(--wash-mint);color:#08945c;}
.badge--purple{background:var(--wash-purple);color:#6e4cb4;}
.badge--cyan{background:var(--wash-cyan);color:#0aa6cd;}
.badge--navy{background:var(--wash-navy);color:var(--brand-navy);}
.badge--neutral{background:var(--brand-mist);color:var(--text-body);}


/* ════════════════════════════════════════════════════════════════════════════
   CARDS
════════════════════════════════════════════════════════════════════════════ */
.card{position:relative;display:flex;flex-direction:column;background:var(--surface-card);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:var(--space-7);transition:transform var(--t-base) var(--ease-out),border-color var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out);}
a.card{text-decoration:none;color:inherit;}
a.card:hover,.card--hover:hover{transform:translateY(-3px);border-color:var(--border-default);box-shadow:var(--shadow-lg);}

.card--service{gap:var(--space-5);}
.card--service .card__icon{width:52px;height:52px;border-radius:var(--radius-md);background:var(--wash-blue);color:var(--brand-blue);display:flex;align-items:center;justify-content:center;}
.card--service .card__icon svg{width:24px;height:24px;}
.card--service h3{font-size:var(--fs-22);letter-spacing:var(--ls-tight);}
.card--service p{color:var(--text-muted);font-size:var(--fs-15);line-height:var(--lh-body);}
.card--service .link-arrow{margin-top:auto;padding-top:var(--space-4);}

.card--case{padding:0;overflow:hidden;}
.card--case .card__media{aspect-ratio:16/10;background:var(--surface-mist);overflow:hidden;}
.card--case .card__media img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow) var(--ease-out);}
.card--case:hover .card__media img{transform:scale(1.03);}
.card--case .card__body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);flex:1;}
.card--case .card__meta{font-family:var(--font-display);font-size:var(--fs-12);font-weight:var(--fw-semi);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--brand-blue);}
.card--case h3{font-size:var(--fs-20);letter-spacing:var(--ls-tight);}
.card--case p{color:var(--text-muted);font-size:var(--fs-15);}
.card--case .link-arrow{margin-top:auto;padding-top:var(--space-3);}

.card--article{padding:0;overflow:hidden;}
.card--article .card__media{aspect-ratio:16/9;background:var(--surface-mist);overflow:hidden;}
.card--article .card__media img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow) var(--ease-out);}
.card--article:hover .card__media img{transform:scale(1.03);}
.card--article .card__body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);}
.card--article .card__meta{display:flex;gap:var(--space-3);align-items:center;font-family:var(--font-display);font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--text-muted);letter-spacing:0.04em;text-transform:uppercase;}
.card--article .card__meta .badge{padding:2px 10px;font-size:11px;}
.card--article h3{font-size:var(--fs-18);line-height:1.3;letter-spacing:var(--ls-tight);}
.card--article p{color:var(--text-muted);font-size:var(--fs-14);line-height:var(--lh-body);}


/* ════════════════════════════════════════════════════════════════════════════
   HEADER / NAV
════════════════════════════════════════════════════════════════════════════ */
.site-header{position:sticky;top:0;z-index:var(--z-header);background:rgba(254,254,255,0.96);backdrop-filter:saturate(130%) blur(10px);-webkit-backdrop-filter:saturate(130%) blur(10px);border-bottom:1px solid var(--border-soft);transition:box-shadow var(--t-base) var(--ease-out);}
.site-header.is-scrolled{box-shadow:var(--shadow-sm);}

.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);height:var(--header-h);}
@media (max-width:720px){.site-header__inner{height:var(--header-h-sm);}}

.site-header__brand{display:inline-flex;align-items:center;flex-shrink:0;}
.site-header__brand img{height:34px;width:auto;}
@media (max-width:720px){.site-header__brand img{height:28px;}}

/* Primary nav */
.nav-primary{display:flex;align-items:center;gap:var(--space-1);}
@media (max-width:1024px){.nav-primary{display:none;}}
.nav-primary>li{position:relative;}
.nav-primary a,
.nav-primary button.nav-trigger{display:inline-flex;align-items:center;gap:5px;padding:9px 12px;font-family:var(--font-display);font-size:var(--fs-14);font-weight:var(--fw-medium);color:var(--text-body);border-radius:var(--radius-sm);transition:color var(--t-base) var(--ease-out),background-color var(--t-base) var(--ease-out);}
.nav-primary a:hover,
.nav-primary a[aria-current="page"],
.nav-primary button.nav-trigger:hover,
.nav-primary button.nav-trigger[aria-expanded="true"]{color:var(--brand-navy);background:var(--wash-navy);}
.nav-primary .nav-trigger svg{width:11px;height:11px;transition:transform var(--t-base) var(--ease-out);}
.nav-primary .nav-trigger[aria-expanded="true"] svg{transform:rotate(180deg);}

/* Two-pillar mega-menu */
.mega{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%) translateY(8px);width:min(780px,calc(100vw - 48px));background:var(--surface-elevated);border:1px solid var(--border-soft);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--space-7);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--t-base) var(--ease-out),transform var(--t-base) var(--ease-out),visibility 0s linear var(--t-base);}
.nav-primary li.is-open .mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);transition-delay:0s;}

.mega__pillars{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.mega__pillar{padding:0 var(--space-7) 0 0;}
.mega__pillar:last-child{padding:0 0 0 var(--space-7);border-left:1px solid var(--border-soft);}

.mega__pillar-label{font-family:var(--font-display);font-size:var(--fs-12);font-weight:var(--fw-semi);letter-spacing:0.14em;text-transform:uppercase;color:var(--brand-blue);margin-bottom:var(--space-2);}
.mega__pillar-title{font-family:var(--font-display);font-size:var(--fs-16);font-weight:var(--fw-bold);color:var(--text-strong);margin-bottom:var(--space-2);}
.mega__pillar-desc{font-size:var(--fs-13);color:var(--text-muted);line-height:1.5;margin-bottom:var(--space-5);}

.mega__sub-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-1);}
.mega__sub-item{display:flex;flex-direction:column;gap:2px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid transparent;transition:background var(--t-base) var(--ease-out),border-color var(--t-base) var(--ease-out);}
.mega__sub-item:hover{background:var(--surface-alt);border-color:var(--border-soft);color:var(--text-strong);}
.mega__sub-name{font-family:var(--font-display);font-size:var(--fs-14);font-weight:var(--fw-semi);color:var(--text-strong);}
.mega__sub-detail{font-size:var(--fs-12);color:var(--text-muted);}

.mega__footer{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border-soft);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);}
.mega__footer p{font-size:var(--fs-13);color:var(--text-muted);margin:0;}

/* Header CTA */
.site-header__cta{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0;}
@media (max-width:1024px){.site-header__cta .btn{display:none;}}
@media (min-width:1025px){.nav-toggle{display:none;}}

/* Hamburger */
.nav-toggle{width:44px;height:44px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--text-strong);}
.nav-toggle:hover{background:var(--surface-alt);}
.nav-toggle__icon{position:relative;width:20px;height:14px;}
.nav-toggle__icon span{position:absolute;left:0;width:100%;height:2px;background:currentColor;border-radius:2px;transition:transform var(--t-base) var(--ease-out),top var(--t-base) var(--ease-out),opacity var(--t-base) var(--ease-out);}
.nav-toggle__icon span:nth-child(1){top:0;}
.nav-toggle__icon span:nth-child(2){top:6px;}
.nav-toggle__icon span:nth-child(3){top:12px;}
.nav-toggle[aria-expanded="true"] .nav-toggle__icon span:nth-child(1){top:6px;transform:rotate(45deg);}
.nav-toggle[aria-expanded="true"] .nav-toggle__icon span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] .nav-toggle__icon span:nth-child(3){top:6px;transform:rotate(-45deg);}

/* Mobile drawer */
.nav-drawer{position:fixed;inset:0;background:var(--surface-page);z-index:calc(var(--z-header) - 1);padding:calc(var(--header-h-sm) + var(--space-6)) var(--container-px) var(--space-8);transform:translateX(100%);visibility:hidden;transition:transform var(--t-slow) var(--ease-out),visibility 0s linear var(--t-slow);overflow-y:auto;}
.nav-drawer.is-open{transform:translateX(0);visibility:visible;transition-delay:0s;}
@media (min-width:1025px){.nav-drawer{display:none!important;}}
.nav-drawer ul{display:flex;flex-direction:column;}
.nav-drawer li{border-bottom:1px solid var(--border-soft);}
.nav-drawer a,.nav-drawer button.nav-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-5) 0;font-family:var(--font-display);font-size:var(--fs-17);font-weight:var(--fw-semi);color:var(--text-strong);}
.nav-drawer .nav-trigger svg{width:14px;height:14px;transition:transform var(--t-base) var(--ease-out);}
.nav-drawer .nav-trigger[aria-expanded="true"] svg{transform:rotate(180deg);}
.nav-drawer .nav-sublist{max-height:0;overflow:hidden;transition:max-height var(--t-slow) var(--ease-out);}
.nav-drawer .nav-trigger[aria-expanded="true"]+.nav-sublist{max-height:800px;}
.nav-drawer .nav-sublist a{padding:var(--space-3) var(--space-4);font-size:var(--fs-15);font-weight:var(--fw-medium);color:var(--text-body);border:0;}
.nav-drawer .nav-sublist-label{padding:var(--space-3) var(--space-4) var(--space-1);font-family:var(--font-display);font-size:var(--fs-11);font-weight:var(--fw-semi);letter-spacing:0.12em;text-transform:uppercase;color:var(--text-eyebrow);}
.nav-drawer__footer{margin-top:var(--space-7);display:flex;flex-direction:column;gap:var(--space-3);}


/* ════════════════════════════════════════════════════════════════════════════
   FOOTER
════════════════════════════════════════════════════════════════════════════ */
.site-footer{background:var(--surface-dark);color:var(--text-on-dark);padding-block:var(--footer-py) var(--space-6);position:relative;overflow:hidden;}
.site-footer::before{content:"";position:absolute;top:-40%;left:-10%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(65,184,252,0.08),transparent 60%);pointer-events:none;}
.site-footer__inner{position:relative;z-index:1;}
.site-footer__top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:var(--space-9) var(--space-7);padding-bottom:var(--space-9);border-bottom:1px solid var(--border-on-dark);}
@media (max-width:1024px){.site-footer__top{grid-template-columns:1fr 1fr;gap:var(--space-8) var(--space-7);}.site-footer__brand{grid-column:1/-1;}}
@media (max-width:540px){.site-footer__top{grid-template-columns:1fr;}}
.site-footer__brand img{height:34px;width:auto;}
.site-footer__brand p{margin-top:var(--space-4);color:var(--text-on-dark-muted);font-size:var(--fs-14);line-height:var(--lh-body);max-width:34ch;}
.site-footer__contact{margin-top:var(--space-5);}
.site-footer__contact a{display:block;padding:4px 0;font-size:var(--fs-14);color:var(--text-on-dark-muted);}
.site-footer__contact a:hover{color:var(--brand-cyan);}
.site-footer__col h5{font-family:var(--font-display);font-size:var(--fs-12);font-weight:var(--fw-semi);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--brand-cyan);margin-bottom:var(--space-5);}
.site-footer__col li{margin-bottom:var(--space-3);}
.site-footer__col a{font-size:var(--fs-14);color:var(--text-on-dark-muted);}
.site-footer__col a:hover{color:var(--brand-white);}
.site-footer__bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4);padding-top:var(--space-7);}
.site-footer__bottom p{font-size:var(--fs-13);color:var(--text-on-dark-subtle);margin:0;}
.site-footer__legal{display:flex;flex-wrap:wrap;gap:var(--space-5);}
.site-footer__legal a{font-size:var(--fs-13);color:var(--text-on-dark-subtle);}
.site-footer__legal a:hover{color:var(--brand-white);}
.site-footer__social{display:flex;gap:var(--space-2);}
.site-footer__social a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.06);display:inline-flex;align-items:center;justify-content:center;color:var(--text-on-dark-muted);transition:background var(--t-base) var(--ease-out),color var(--t-base) var(--ease-out);}
.site-footer__social a:hover{background:var(--brand-blue);color:var(--brand-white);}
.site-footer__social svg{width:16px;height:16px;}


/* ════════════════════════════════════════════════════════════════════════════
   STICKY MOBILE CTA
════════════════════════════════════════════════════════════════════════════ */
.sticky-cta{position:fixed;left:50%;bottom:16px;transform:translateX(-50%) translateY(120%);z-index:var(--z-sticky);width:calc(100% - 32px);max-width:380px;transition:transform var(--t-slow) var(--ease-out);}
.sticky-cta.is-visible{transform:translateX(-50%) translateY(0);}
.sticky-cta .btn{width:100%;box-shadow:var(--shadow-xl);}
@media (min-width:720px){.sticky-cta{display:none;}}


/* ════════════════════════════════════════════════════════════════════════════
   HERO
════════════════════════════════════════════════════════════════════════════ */
.hero{position:relative;padding-block:clamp(4rem,8vw,7rem) clamp(3rem,5vw,4.5rem);overflow:hidden;background:var(--surface-page);}
.hero__eyebrow{margin-bottom:var(--space-5);}
.hero__title{margin-bottom:var(--space-6);max-width:17ch;}
.hero__lede{margin-bottom:var(--space-7);max-width:56ch;}
.hero__ctas{display:flex;flex-wrap:wrap;gap:var(--space-3);}

.hero--home .hero__grid{display:grid;grid-template-columns:1fr;gap:var(--space-8);align-items:center;}
@media (min-width:960px){.hero--home .hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-9);}}
.hero--home .hero__title{max-width:15ch;}

.hero__trust{margin-top:var(--space-6);font-size:var(--fs-13);color:var(--text-muted);display:inline-flex;align-items:center;gap:var(--space-2);}
.hero__trust-dot{width:6px;height:6px;border-radius:50%;background:var(--brand-mint);display:inline-block;}

/* Hero image card (replaces abstract SVG) */
.hero__img-card{position:relative;border-radius:var(--radius-xl);overflow:hidden;aspect-ratio:4/3;background:var(--brand-mist);border:1px solid var(--border-soft);}
@media (min-width:960px){.hero__img-card{aspect-ratio:5/4;}}
.hero__img-card img{width:100%;height:100%;object-fit:cover;}
.hero__img-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);color:var(--text-muted);background:linear-gradient(145deg,#eef3f7 0%,#dde8ef 100%);}
.hero__img-placeholder svg{width:48px;height:48px;opacity:0.4;}
.hero__img-placeholder p{font-family:var(--font-display);font-size:var(--fs-13);font-weight:var(--fw-medium);letter-spacing:0.05em;text-transform:uppercase;opacity:0.6;}
.hero__img-badge{position:absolute;bottom:var(--space-4);left:var(--space-4);}


/* ════════════════════════════════════════════════════════════════════════════
   LOGO MARQUEE
════════════════════════════════════════════════════════════════════════════ */
.marquee-section{padding-block:var(--space-9);border-block:1px solid var(--border-soft);background:var(--brand-white);}
.marquee-label{text-align:center;margin-bottom:var(--space-7);}
.marquee-wrap{overflow:hidden;position:relative;}
.marquee-wrap::before,.marquee-wrap::after{content:"";position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none;}
.marquee-wrap::before{left:0;background:linear-gradient(to right,var(--brand-white),transparent);}
.marquee-wrap::after{right:0;background:linear-gradient(to left,var(--brand-white),transparent);}
.marquee-track{display:flex;align-items:center;gap:4rem;width:max-content;animation:marqueeScroll 28s linear infinite;}
.marquee-wrap:hover .marquee-track{animation-play-state:paused;}
@keyframes marqueeScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none;}}
.marquee-logo{height:36px;width:auto;opacity:0.65;filter:grayscale(0.3);transition:opacity var(--t-base) var(--ease-out),filter var(--t-base) var(--ease-out);}
.marquee-logo:hover,.marquee-wrap:hover .marquee-logo{opacity:0.9;filter:grayscale(0);}


/* ════════════════════════════════════════════════════════════════════════════
   POSITIONING / APPROACH - hover-interactive pillars
════════════════════════════════════════════════════════════════════════════ */
.approach__grid{display:grid;grid-template-columns:1fr;gap:var(--space-9);}
@media (min-width:880px){.approach__grid{grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);gap:var(--space-10);align-items:start;}}
.approach__intro h2{max-width:14ch;}
.approach__intro p{margin-top:var(--space-5);max-width:44ch;}

.approach__pillars{display:grid;grid-template-columns:1fr;gap:var(--space-3);}
.approach-pillar{padding:var(--space-6);border-radius:var(--radius-md);border:1px solid var(--border-soft);cursor:default;transition:background var(--t-base) var(--ease-out),border-color var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out),transform var(--t-base) var(--ease-out);}
.approach-pillar:hover{background:var(--wash-blue);border-color:rgba(65,184,252,0.35);box-shadow:var(--shadow-sm);transform:translateY(-2px);}
.approach-pillar__num{display:inline-block;font-family:var(--font-display);font-size:var(--fs-12);font-weight:var(--fw-semi);color:var(--brand-blue);letter-spacing:0.08em;margin-bottom:var(--space-3);}
.approach-pillar h3{font-size:var(--fs-17);font-weight:var(--fw-semi);margin-bottom:var(--space-2);color:var(--text-strong);line-height:1.3;}
.approach-pillar p{font-size:var(--fs-15);color:var(--text-body);line-height:1.6;margin:0;}


/* ════════════════════════════════════════════════════════════════════════════
   SOLUTIONS - two-pillar layout
════════════════════════════════════════════════════════════════════════════ */
.solutions-pillars{display:grid;grid-template-columns:1fr;gap:var(--space-6);margin-bottom:var(--space-10);}
@media (min-width:720px){.solutions-pillars{grid-template-columns:repeat(2,minmax(0,1fr));}}

.pillar-card{background:var(--surface-card);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:clamp(1.5rem,3vw,2rem);display:flex;flex-direction:column;gap:var(--space-5);transition:box-shadow var(--t-base) var(--ease-out),border-color var(--t-base) var(--ease-out);}
.pillar-card:hover{border-color:var(--border-default);box-shadow:var(--shadow-md);}
.pillar-card__icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--wash-blue);color:var(--brand-blue);display:flex;align-items:center;justify-content:center;}
.pillar-card__icon svg{width:22px;height:22px;}
.pillar-card h3{font-size:var(--fs-22);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);}
.pillar-card__desc{font-size:var(--fs-15);color:var(--text-muted);line-height:1.6;margin:0;}
.pillar-card__items{list-style:none;padding:0;border-top:1px solid var(--border-subtle);padding-top:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);}
.pillar-card__item{display:flex;flex-direction:column;gap:3px;}
.pillar-card__item-name{font-family:var(--font-display);font-size:var(--fs-14);font-weight:var(--fw-semi);color:var(--text-strong);}
.pillar-card__item-detail{font-size:var(--fs-13);color:var(--text-muted);}
.pillar-card .btn{margin-top:auto;}

/* Solutions selector */
.solutions-selector{background:var(--brand-white);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:clamp(1.5rem,3vw,2.25rem);box-shadow:var(--shadow-sm);}
.solutions-selector__prompt{font-family:var(--font-display);font-size:var(--fs-15);font-weight:var(--fw-medium);color:var(--text-strong);margin:0 0 var(--space-4);}
.solutions-selector__choices{display:flex;flex-wrap:wrap;gap:var(--space-2);}
.selector-pill{appearance:none;border:1px solid var(--border-default);background:var(--brand-mist);color:var(--text-body);font-family:var(--font-display);font-size:var(--fs-14);font-weight:var(--fw-medium);padding:0.5rem 0.95rem;border-radius:var(--radius-pill);cursor:pointer;transition:background var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out);}
.selector-pill:hover{background:var(--brand-white);border-color:var(--brand-charcoal);}
.selector-pill:focus-visible{box-shadow:var(--focus-ring);outline:none;}
.selector-pill[aria-pressed="true"]{background:var(--brand-charcoal);color:var(--brand-white);border-color:var(--brand-charcoal);}
.selector-pill[aria-pressed="true"][data-need="connect"]{background:var(--brand-mint);color:var(--brand-charcoal);border-color:var(--brand-mint);}
.solutions-selector__result{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--border-subtle);display:none;}
.solutions-selector__result[data-active="true"]{display:block;animation:selectorReveal 0.28s var(--ease-out) both;}
@keyframes selectorReveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.solutions-selector__result[data-active="true"]{animation:none;}}
.selector-result__head{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-4);align-items:baseline;justify-content:space-between;margin-bottom:var(--space-3);}
.selector-result__title{font-family:var(--font-display);font-size:var(--fs-22);font-weight:var(--fw-semi);color:var(--text-strong);margin:0;}
.selector-result__body{color:var(--text-body);margin:0 0 var(--space-5);max-width:60ch;}
.selector-result__ctas{display:flex;flex-wrap:wrap;gap:var(--space-3);}


/* ════════════════════════════════════════════════════════════════════════════
   CASE STUDY PREVIEW
════════════════════════════════════════════════════════════════════════════ */
.case-preview{display:grid;grid-template-columns:1fr;gap:var(--space-7);align-items:stretch;background:var(--surface-card);border:1px solid var(--border-soft);border-radius:var(--radius-xl);overflow:hidden;}
@media (min-width:760px){.case-preview{grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);}}
.case-preview__img{aspect-ratio:16/10;overflow:hidden;background:var(--brand-mist);}
@media (min-width:760px){.case-preview__img{aspect-ratio:auto;min-height:320px;}}
.case-preview__img img{width:100%;height:100%;object-fit:cover;}
.case-preview__body{padding:clamp(1.5rem,4vw,2.5rem);display:flex;flex-direction:column;gap:var(--space-5);justify-content:center;}
.case-preview__meta{display:flex;align-items:center;gap:var(--space-3);}
.case-preview__body h3{font-size:clamp(1.25rem,1rem + 1.2vw,1.75rem);line-height:1.25;letter-spacing:var(--ls-tight);}
.case-preview__body p{color:var(--text-muted);font-size:var(--fs-15);line-height:1.6;}


/* ════════════════════════════════════════════════════════════════════════════
   IMPEL CONNECT BLOCK
════════════════════════════════════════════════════════════════════════════ */
.connect-block{position:relative;overflow:hidden;}
.connect-block::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 350px at 80% 20%,rgba(38,220,253,0.14),transparent 70%);pointer-events:none;}
.connect-block>.container{position:relative;z-index:1;}
.connect-block__grid{display:grid;grid-template-columns:1fr;gap:var(--space-9);align-items:center;}
@media (min-width:960px){.connect-block__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);gap:var(--space-10);}}
.connect-block__eyebrow-row{display:inline-flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);}
.connect-block__mark{width:30px;height:30px;border-radius:8px;background:var(--brand-mint);display:grid;place-items:center;color:var(--brand-charcoal);}
.connect-block h2{max-width:18ch;margin-bottom:var(--space-5);}
.connect-block__lede{font-size:var(--fs-17);line-height:1.6;color:var(--text-on-dark-muted);margin-bottom:var(--space-6);max-width:52ch;}
.connect-block__features{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-bottom:var(--space-7);list-style:none;padding:0;}
@media (min-width:600px){.connect-block__features{grid-template-columns:repeat(2,1fr);}}
.connect-block__features li{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--fs-15);color:var(--text-on-dark);}
.connect-block__features svg{flex:0 0 auto;width:18px;height:18px;color:var(--brand-mint);margin-top:3px;}
.connect-block__ctas{display:flex;flex-wrap:wrap;gap:var(--space-3);}
.connect-block__visual{position:relative;display:flex;align-items:center;justify-content:center;}
.connect-block__visual img{width:100%;max-width:400px;height:auto;border-radius:var(--radius-xl);display:block;margin:0 auto;}


/* ════════════════════════════════════════════════════════════════════════════
   HOW WE WORK - hover-interactive steps
════════════════════════════════════════════════════════════════════════════ */
.process__steps{display:grid;grid-template-columns:1fr;gap:var(--space-5);list-style:none;padding:0;margin:var(--space-8) 0 0;counter-reset:step;}
@media (min-width:720px){.process__steps{grid-template-columns:repeat(3,1fr);gap:var(--space-6);}}
.process__step{position:relative;padding:var(--space-6);border-radius:var(--radius-md);border:1px solid var(--border-soft);border-top:2px solid var(--border-default);counter-increment:step;cursor:default;transition:background var(--t-base) var(--ease-out),border-color var(--t-base) var(--ease-out),border-top-color var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out);}
.process__step:hover{background:var(--wash-blue);border-color:rgba(65,184,252,0.25);border-top-color:var(--brand-blue);box-shadow:var(--shadow-sm);}
.process__step::before{content:"0" counter(step);display:block;font-family:var(--font-display);font-size:var(--fs-12);font-weight:var(--fw-semi);color:var(--brand-blue);letter-spacing:0.08em;margin-bottom:var(--space-4);}
.process__step h3{font-size:var(--fs-20);font-weight:var(--fw-semi);margin:0 0 var(--space-2);color:var(--text-strong);}
.process__step p{font-size:var(--fs-15);line-height:1.6;color:var(--text-body);margin:0;}


/* ════════════════════════════════════════════════════════════════════════════
   INSIGHTS
════════════════════════════════════════════════════════════════════════════ */
.section-header--row{display:flex;flex-wrap:wrap;gap:var(--space-5);align-items:end;justify-content:space-between;margin-bottom:var(--space-8);}
.section-header--row>div{max-width:48ch;}
.section-header--row>div>*+*{margin-top:var(--space-3);}


/* ════════════════════════════════════════════════════════════════════════════
   TEAM PREVIEW
════════════════════════════════════════════════════════════════════════════ */
.team-preview__intro{max-width:640px;margin-bottom:var(--space-10);}
.team-preview__intro h2{margin-bottom:var(--space-5);}
.team-preview__intro p{font-size:var(--fs-17);color:var(--text-muted);line-height:1.65;}

.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6);}
@media (min-width:720px){.team-grid{grid-template-columns:repeat(4,1fr);gap:var(--space-6);}}

.team-card{display:flex;flex-direction:column;gap:0;}
.team-card__photo{aspect-ratio:4/5;border-radius:var(--radius-lg);overflow:hidden;background:var(--brand-mist);margin-bottom:var(--space-4);}
.team-card__photo img{width:100%;height:100%;object-fit:cover;object-position:top center;filter:grayscale(0.05);transition:filter var(--t-slow) var(--ease-out),transform var(--t-slow) var(--ease-out);}
.team-card:hover .team-card__photo img{filter:grayscale(0);transform:scale(1.02);}
.team-card__name{font-family:var(--font-display);font-size:var(--fs-16);font-weight:var(--fw-semi);color:var(--text-strong);}
.team-card__role{font-size:var(--fs-13);color:var(--text-muted);margin-top:2px;}

.team-cta{margin-top:var(--space-9);text-align:center;}


/* ════════════════════════════════════════════════════════════════════════════
   FINAL CTA
════════════════════════════════════════════════════════════════════════════ */
.final-cta{position:relative;overflow:hidden;}
.final-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 50% 0%,rgba(65,184,252,0.15),transparent 70%);pointer-events:none;}
.final-cta>.container{position:relative;z-index:1;}
.final-cta__inner{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-5);}
.final-cta__inner h2{max-width:22ch;margin:0 auto;}
.final-cta__inner>p{max-width:52ch;margin:0 auto;color:var(--text-on-dark-muted);}
.final-cta__ctas{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin-top:var(--space-3);}
.final-cta__note{font-size:var(--fs-13);color:var(--text-on-dark-muted);margin-top:var(--space-2);}

/* fs-11 helper for drawer labels */
.fs-11{font-size:0.6875rem;}


/* ════════════════════════════════════════════════════════════════════════════
   REFINEMENTS - clean logo marquee, hero image, insight cards, aligned team grid
════════════════════════════════════════════════════════════════════════════ */
.hero__img-card{box-shadow:var(--shadow-lg);min-height:420px;}
.hero__img-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,44,56,0.00) 46%,rgba(42,44,56,0.20) 100%);pointer-events:none;}
.hero__img-card img{filter:saturate(0.96) contrast(1.02);object-position:center;}
.hero__img-badge{z-index:2;}

/* Trusted-by section: big, clear logos without borrowing Ezra's colour system. Because apparently we do need to say that out loud. */
.marquee-section{padding-block:clamp(2.75rem,4vw,4.25rem);border-block:1px solid var(--border-soft);background:var(--surface-page);overflow:hidden;}
.marquee-section .container{position:relative;z-index:2;}
.marquee-label{font-family:var(--font-display);font-size:var(--fs-14);line-height:1.5;letter-spacing:0.12em;text-transform:uppercase;font-weight:var(--fw-semi);color:var(--text-muted);text-align:center;margin-bottom:var(--space-8);max-width:840px;margin-inline:auto;}
.marquee-label::before{display:none;}
.marquee-wrap{overflow:hidden;position:relative;padding-block:var(--space-2);}
.marquee-wrap::before,.marquee-wrap::after{width:clamp(42px,8vw,128px);}
.marquee-wrap::before{background:linear-gradient(to right,var(--surface-page) 18%,rgba(254,254,255,0));}
.marquee-wrap::after{background:linear-gradient(to left,var(--surface-page) 18%,rgba(254,254,255,0));}
.marquee-track{gap:clamp(3rem,5vw,5.5rem);animation:marqueeScroll 34s linear infinite;padding-inline:2rem;}
.marquee-logo{width:clamp(142px,12vw,210px);height:clamp(54px,5vw,76px);object-fit:contain;opacity:0.92;filter:grayscale(1) contrast(1.16);mix-blend-mode:multiply;transition:opacity var(--t-base) var(--ease-out),filter var(--t-base) var(--ease-out),transform var(--t-base) var(--ease-out);}
.marquee-logo--wide{width:clamp(178px,15vw,260px);}
.marquee-logo:hover,.marquee-wrap:hover .marquee-logo{opacity:1;filter:grayscale(1) contrast(1.24);transform:translateY(-1px);}

.card--article .card__media img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow) var(--ease-out);}
.card--article:hover .card__media img{transform:scale(1.03);}

/* 3x3 team preview: equal cells, no text-image overlap, no weird masonry crimes. */
.team-showcase{padding-block:var(--section-py-md);background:var(--surface-page);overflow:hidden;}
.team-showcase .container{max-width:var(--container-max);}
.team-showcase__header{max-width:720px;margin-bottom:var(--space-8);}
.team-showcase__header>*+*{margin-top:var(--space-4);}
.team-showcase__header p{color:var(--text-muted);font-size:var(--fs-17);line-height:1.65;max-width:58ch;}
.team-showcase__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(270px,1fr);gap:1px;background:var(--border-soft);border:1px solid var(--border-soft);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm);}
.team-tile{position:relative;min-height:270px;overflow:hidden;background:var(--surface-card);}
.team-tile--copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(1.6rem,3vw,2.5rem);background:var(--surface-card);}
.team-tile--copy h3{font-size:clamp(1.65rem,2.3vw,2.35rem);line-height:1.18;font-weight:var(--fw-regular);margin-bottom:var(--space-4);max-width:12ch;}
.team-tile--copy h3 span{color:var(--brand-mint);text-decoration:underline;text-decoration-thickness:0.06em;text-underline-offset:0.08em;}
.team-tile--copy p{color:var(--text-muted);font-size:var(--fs-15);line-height:1.65;margin-bottom:var(--space-5);max-width:42ch;}
.team-tile--quote{display:flex;align-items:center;justify-content:center;text-align:left;padding:clamp(1.6rem,3vw,2.5rem);background:var(--brand-blue);}
.team-tile--quote p{font-family:var(--font-display);font-size:clamp(1.4rem,2.2vw,2.05rem);font-weight:var(--fw-bold);line-height:1.15;color:var(--brand-white);max-width:11ch;}
.team-tile--quote u{text-underline-offset:0.08em;}
.team-tile--join{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-5);padding:clamp(1.6rem,3vw,2.5rem);background:var(--brand-navy);color:var(--brand-white);}
.team-tile--join svg{width:96px;height:96px;color:var(--brand-white);}
.team-tile--join a{font-family:var(--font-display);font-size:clamp(1.05rem,1.5vw,1.35rem);font-weight:var(--fw-bold);line-height:1.25;color:var(--brand-white);text-decoration:underline;text-underline-offset:0.12em;}
.team-tile--join a:hover{color:var(--brand-cyan);}
.team-card-tile{display:grid;grid-template-rows:minmax(0,1fr) auto;background:var(--surface-card);}
.team-card-tile__photo{min-height:0;overflow:hidden;background:var(--brand-mist);}
.team-card-tile__photo img{width:100%;height:100%;object-fit:cover;object-position:top center;filter:grayscale(1);transition:filter var(--t-slow) var(--ease-out),transform var(--t-slow) var(--ease-out);}
.team-card-tile:hover .team-card-tile__photo img{filter:grayscale(0.12);transform:scale(1.025);}
.team-card-tile__caption{min-height:92px;padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-subtle);background:var(--surface-card);display:flex;flex-direction:column;justify-content:center;}
.team-card-tile__name{font-family:var(--font-display);font-weight:var(--fw-semi);color:var(--text-strong);font-size:var(--fs-15);line-height:1.25;margin:0;}
.team-card-tile__role{font-size:var(--fs-13);color:var(--text-muted);line-height:1.35;margin-top:4px;}
@media (max-width:900px){
  .team-showcase__grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(280px,auto);}
}
@media (max-width:560px){
  .team-showcase__grid{grid-template-columns:1fr;}
  .team-tile,.team-card-tile{min-height:300px;}
}

/* Compact CTA so it stops pretending to be Footer: The Sequel. */
.final-cta{padding-block:clamp(2.5rem,4vw,3.75rem);background:var(--surface-mist);color:var(--text-strong);}
.final-cta::before{display:none;}
.final-cta__inner{background:var(--surface-card);border:1px solid var(--border-soft);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:clamp(1.75rem,4vw,3rem);display:grid;grid-template-columns:minmax(0,1.2fr) auto;align-items:center;text-align:left;gap:var(--space-6);}
.final-cta__copy{display:flex;flex-direction:column;gap:var(--space-3);}
.final-cta__copy .t-eyebrow{color:var(--brand-blue);}
.final-cta__copy h2{max-width:24ch;margin:0;color:var(--text-strong);font-size:clamp(1.55rem,1.2rem + 1.4vw,2.25rem);}
.final-cta__copy p{max-width:58ch;margin:0;color:var(--text-muted);font-size:var(--fs-15);line-height:1.65;}
.final-cta__ctas{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-end;margin-top:0;}
.final-cta__note{grid-column:1 / -1;font-size:var(--fs-13);color:var(--text-muted);margin:0;padding-top:var(--space-4);border-top:1px solid var(--border-subtle);}
.final-cta__note a{color:var(--brand-navy);font-weight:var(--fw-semi);}
.final-cta__note a:hover{color:var(--brand-blue);}
@media (max-width:760px){
  .final-cta__inner{grid-template-columns:1fr;text-align:left;}
  .final-cta__ctas{justify-content:flex-start;}
}



/* ==========================================================================
   MULTI-PAGE LANDING SYSTEM ADDITIONS
   These additions keep the homepage system intact and style the separate
   landing pages without rebuilding the original homepage identity.
========================================================================== */
:root {
  --page-hero-py: clamp(4.5rem, 3rem + 6vw, 7.5rem);
}

body.page-landing { background: var(--surface-page); }

.nav-primary .mega--compact { width: min(620px, calc(100vw - 48px)); }
.nav-primary .mega--compact .mega__pillars { grid-template-columns: 1fr; }
.nav-primary .mega--compact .mega__pillar + .mega__pillar { border-left: 0; padding-left: 0; }
.nav-primary .mega--compact .mega__sub-list { display: grid; grid-template-columns: 1fr; }
.nav-primary .mega--compact .mega__sub-item { padding: var(--space-4); }

.page-hero {
  position: relative;
  overflow: hidden;
  padding-block: var(--page-hero-py);
  background: linear-gradient(135deg, rgba(231,239,242,0.55), rgba(254,254,255,1) 52%, rgba(65,184,252,0.08));
  border-bottom: 1px solid var(--border-soft);
}
.page-hero::before {
  content: '';
  position: absolute;
  top: -160px;
  right: -120px;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(65,184,252,0.16), transparent 64%);
  pointer-events: none;
}
.page-hero::after {
  content: '';
  position: absolute;
  left: -160px;
  bottom: -220px;
  width: 560px;
  height: 560px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(42,251,158,0.10), transparent 65%);
  pointer-events: none;
}
.page-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
  gap: clamp(2rem, 1.4rem + 3vw, 4rem);
  align-items: center;
}
.page-hero__content > * + * { margin-top: var(--space-5); }
.page-hero h1 {
  font-size: clamp(2.4rem, 1.7rem + 3vw, 4.5rem);
  line-height: 1.04;
  letter-spacing: var(--ls-tightest);
  max-width: 12ch;
}
.page-hero h1 span { color: var(--brand-blue); }
.page-hero__lede {
  font-size: clamp(1.05rem, 0.98rem + 0.35vw, 1.24rem);
  line-height: 1.75;
  color: var(--text-muted);
  max-width: 62ch;
}
.page-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-7); }
.page-hero__panel {
  position: relative;
  border-radius: var(--radius-2xl);
  background: var(--surface-card);
  border: 1px solid var(--border-soft);
  box-shadow: var(--shadow-lg);
  padding: clamp(1.5rem, 1rem + 2vw, 2.4rem);
  overflow: hidden;
}
.page-hero__panel::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(65,184,252,0.13) 1px, transparent 1px);
  background-size: 20px 20px;
  mask-image: radial-gradient(ellipse at top right, black, transparent 70%);
  pointer-events: none;
}
.page-hero__panel > * { position: relative; z-index: 1; }
.hero-stat-list { display: grid; gap: var(--space-4); }
.hero-stat-list li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--space-3);
  align-items: start;
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--border-subtle);
}
.hero-stat-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.hero-stat-list__num {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: var(--radius-md);
  background: var(--wash-blue);
  color: var(--brand-blue);
  font-family: var(--font-display);
  font-size: var(--fs-13);
  font-weight: var(--fw-bold);
}
.hero-stat-list strong {
  display: block;
  font-family: var(--font-display);
  color: var(--text-strong);
  line-height: 1.25;
  margin-bottom: 2px;
}
.hero-stat-list span { color: var(--text-muted); font-size: var(--fs-14); line-height: 1.5; }

.page-main .section .container > .section-header,
.page-main .section .container > .section-header--row { margin-bottom: var(--space-8); }

.text-block { max-width: 70ch; }
.text-block p + p { margin-top: var(--space-4); }
.text-block ul { margin-top: var(--space-5); display: grid; gap: var(--space-3); }
.text-block li { color: var(--text-body); line-height: 1.65; padding-left: 1.25rem; position: relative; }
.text-block li::before { content: ''; position: absolute; left: 0; top: 0.75em; width: 6px; height: 6px; border-radius: 50%; background: var(--brand-blue); }

.split-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(2rem, 1.5rem + 3vw, 4rem);
  align-items: start;
}
.split-layout--reverse { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); }

.feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.feature-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.feature-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.feature-card {
  background: var(--surface-card);
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-xl);
  padding: var(--space-7);
  transition: transform var(--t-base) var(--ease-out), box-shadow var(--t-base) var(--ease-out), border-color var(--t-base) var(--ease-out);
}
.feature-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); border-color: var(--border-default); }
.feature-card__icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: var(--radius-md);
  background: var(--wash-blue);
  color: var(--brand-blue);
  margin-bottom: var(--space-5);
}
.feature-card__icon svg { width: 23px; height: 23px; }
.feature-card h3, .feature-card h4 { font-size: var(--fs-20); margin-bottom: var(--space-3); }
.feature-card p { color: var(--text-muted); font-size: var(--fs-15); line-height: 1.65; }
.feature-card--dark { background: var(--brand-charcoal); color: var(--brand-white); }
.feature-card--dark h3, .feature-card--dark h4 { color: var(--brand-white); }
.feature-card--dark p { color: rgba(254,254,255,0.72); }
.feature-card--dark .feature-card__icon { background: rgba(255,255,255,0.08); color: var(--brand-cyan); }

.programme-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
.programme-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-height: 100%;
  background: var(--surface-card);
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-xl);
  padding: var(--space-7);
  position: relative;
  overflow: hidden;
}
.programme-card::after {
  content: attr(data-stage);
  position: absolute;
  right: -10px;
  bottom: -18px;
  font-family: var(--font-display);
  font-size: 4.5rem;
  font-weight: var(--fw-heavy);
  color: rgba(59,62,122,0.05);
  letter-spacing: -0.08em;
  pointer-events: none;
}
.programme-card__stage {
  font-family: var(--font-display);
  font-size: var(--fs-12);
  font-weight: var(--fw-semi);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--brand-blue);
}
.programme-card h3 { font-size: var(--fs-24); }
.programme-card p { color: var(--text-muted); font-size: var(--fs-15); line-height: 1.65; }
.programme-card ul { display: grid; gap: 0.45rem; margin-top: auto; }
.programme-card li { font-size: var(--fs-14); color: var(--text-body); }
.programme-card li::before { content: '+ '; color: var(--brand-blue); font-weight: var(--fw-bold); }
.programme-card .btn { margin-top: var(--space-3); align-self: flex-start; }

.detail-band {
  border-radius: var(--radius-2xl);
  background: var(--surface-alt);
  border: 1px solid var(--border-soft);
  padding: clamp(1.75rem, 1rem + 3vw, 3rem);
}
.detail-band--navy { background: var(--brand-navy); color: var(--brand-white); border: 0; }
.detail-band--navy h2, .detail-band--navy h3, .detail-band--navy h4 { color: var(--brand-white); }
.detail-band--navy p { color: rgba(254,254,255,0.74); }

.timeline-list { display: grid; gap: var(--space-4); counter-reset: step; }
.timeline-item {
  counter-increment: step;
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: var(--space-4);
  align-items: start;
  padding: var(--space-5);
  border-radius: var(--radius-lg);
  background: var(--surface-card);
  border: 1px solid var(--border-soft);
}
.timeline-item::before {
  content: '0' counter(step);
  width: 44px;
  height: 44px;
  border-radius: var(--radius-md);
  background: var(--wash-blue);
  color: var(--brand-blue);
  display: grid;
  place-items: center;
  font-family: var(--font-display);
  font-size: var(--fs-13);
  font-weight: var(--fw-bold);
}
.timeline-item h3, .timeline-item h4 { font-size: var(--fs-18); margin-bottom: var(--space-2); }
.timeline-item p { color: var(--text-muted); font-size: var(--fs-15); line-height: 1.6; }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
.metric-card {
  background: var(--surface-card);
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-xl);
  padding: var(--space-7);
}
.metric-card__value {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(2rem, 1.5rem + 1.8vw, 3rem);
  line-height: 1;
  font-weight: var(--fw-heavy);
  letter-spacing: var(--ls-tightest);
  color: var(--brand-navy);
  margin-bottom: var(--space-3);
}
.metric-card__label {
  display: block;
  font-family: var(--font-display);
  font-size: var(--fs-15);
  font-weight: var(--fw-semi);
  color: var(--text-strong);
  margin-bottom: var(--space-2);
}
.metric-card p { color: var(--text-muted); font-size: var(--fs-14); line-height: 1.55; }

.landing-form {
  background: var(--surface-card);
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-2xl);
  padding: clamp(1.5rem, 1rem + 2vw, 2.5rem);
  box-shadow: var(--shadow-md);
}
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.form-grid .full { grid-column: 1 / -1; }
.form-field { display: grid; gap: 0.5rem; }
.form-field label { font-family: var(--font-display); font-size: var(--fs-13); font-weight: var(--fw-semi); color: var(--text-strong); }
.form-field input, .form-field select, .form-field textarea {
  width: 100%;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  background: #fff;
  padding: 0.85rem 1rem;
  color: var(--text-strong);
}
.form-field textarea { min-height: 150px; resize: vertical; line-height: 1.6; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: var(--brand-blue); box-shadow: var(--focus-ring); }
.form-consent { display: flex; gap: var(--space-3); align-items: flex-start; font-size: var(--fs-13); color: var(--text-muted); line-height: 1.55; }
.form-consent input { width: 18px; height: 18px; margin-top: 0.2rem; accent-color: var(--brand-blue); }
.form-message { display: none; margin-top: var(--space-4); border-radius: var(--radius-md); padding: var(--space-4); background: var(--wash-mint); color: #087149; font-size: var(--fs-14); font-weight: var(--fw-semi); }
.form-message.is-visible { display: block; }

.contact-methods { display: grid; gap: var(--space-4); }
.contact-method {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: var(--space-4);
  align-items: center;
  padding: var(--space-5);
  border-radius: var(--radius-lg);
  background: var(--surface-alt);
}
.contact-method__icon { width: 44px; height: 44px; border-radius: var(--radius-md); display: grid; place-items: center; background: var(--brand-navy); color: #fff; }
.contact-method strong { display: block; font-family: var(--font-display); color: var(--text-strong); margin-bottom: 2px; }
.contact-method a, .contact-method span { color: var(--text-muted); font-size: var(--fs-14); }

.page-cta { text-align: center; padding: var(--section-py-md) 0; background: var(--brand-navy); color: var(--brand-white); }
.page-cta h2 { color: var(--brand-white); max-width: 22ch; margin: 0 auto var(--space-4); }
.page-cta p { color: rgba(254,254,255,0.74); max-width: 58ch; margin: 0 auto var(--space-7); }
.page-cta__actions { display: flex; justify-content: center; flex-wrap: wrap; gap: var(--space-3); }

.utility-card { max-width: 760px; margin: 0 auto; text-align: center; }
.utility-card p { color: var(--text-muted); margin-top: var(--space-4); }

@media (max-width: 1024px) {
  .page-hero__grid, .split-layout, .split-layout--reverse { grid-template-columns: 1fr; }
  .feature-grid, .feature-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .programme-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .feature-grid, .feature-grid--2, .feature-grid--4, .programme-grid, .metric-grid, .form-grid { grid-template-columns: 1fr; }
  .form-grid .full { grid-column: auto; }
  .page-hero { padding-block: 3.5rem; }
  .page-hero h1 { max-width: 100%; }
}


/* Final site-wide fixes */
.section--deep { background: #14162a; color: var(--text-on-dark); }
.section--deep p { color: rgba(254,254,255,0.72); }
.section--deep h1, .section--deep h2, .section--deep h3, .section--deep h4, .section--deep h5 { color: var(--text-on-dark); }
.section--deep .t-lede { color: rgba(254,254,255,0.72); }
.section--deep .t-eyebrow { color: var(--brand-cyan); }
.page-cta .btn--secondary { color: var(--brand-white); border-color: rgba(255,255,255,0.36); }
.page-cta .btn--secondary:hover { background: rgba(255,255,255,0.12); color: var(--brand-white); border-color: rgba(255,255,255,0.7); }


/* =====================================================================
   DRAFT 2 REFINEMENTS - header dropdowns, mobile nav, about page, CTA
===================================================================== */
.nav-backdrop{position:fixed;inset:0;background:rgba(42,44,56,.38);z-index:850;opacity:0;visibility:hidden;transition:opacity var(--t-base) var(--ease-out),visibility 0s linear var(--t-base);}
.nav-backdrop.is-open{opacity:1;visibility:visible;transition-delay:0s;}
.nav-drawer{z-index:900!important;}
.site-header{z-index:950!important;}
body.is-scroll-locked{overflow:hidden;}
@media (max-width:1024px){.nav-toggle{display:inline-flex!important}.site-header__cta .btn{display:none}.site-header__cta .btn--connect{display:inline-flex}.site-header__cta .btn--primary{display:none}}
@media (max-width:560px){.site-header__cta .btn--connect{display:none!important}}
.nav-drawer[aria-hidden="true"]{pointer-events:none;}
.nav-drawer.is-open{pointer-events:auto;}

/* Aligned dropdown cards for Impact and Insights */
.nav-primary .mega--cards{width:min(900px,calc(100vw - 48px));padding:var(--space-6);}
.mega-card-grid{display:grid;gap:var(--space-4);align-items:stretch;}
.mega-card-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.mega-card-grid--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.mega-card{display:flex;flex-direction:column;min-height:150px;padding:var(--space-5);border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface-alt);color:var(--text-strong);transition:transform var(--t-base) var(--ease-out),border-color var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out);}
.mega-card:hover{transform:translateY(-2px);border-color:var(--brand-blue);box-shadow:var(--shadow-sm);color:var(--text-strong);}
.mega-card__kicker{font-family:var(--font-display);font-size:var(--fs-11);font-weight:var(--fw-semi);letter-spacing:.14em;text-transform:uppercase;color:var(--brand-blue);margin-bottom:var(--space-2);}
.mega-card__title{font-family:var(--font-display);font-size:var(--fs-17);font-weight:var(--fw-semi);line-height:1.25;color:var(--text-strong);margin-bottom:var(--space-2);}
.mega-card__copy{font-size:var(--fs-13);line-height:1.5;color:var(--text-muted);}
@media (max-width:980px){.mega-card-grid--4{grid-template-columns:repeat(2,minmax(0,1fr));}.mega-card-grid--3{grid-template-columns:1fr;}}

/* Client logo refinement */
.marquee-section{background:var(--surface-page);}
.marquee-wrap{padding-block:var(--space-4);}
.marquee-track{align-items:center;}
.marquee-logo{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px 18px;width:clamp(150px,12vw,210px)!important;height:74px!important;object-fit:contain!important;filter:none!important;mix-blend-mode:normal!important;opacity:.92;box-shadow:0 10px 26px rgba(42,44,56,.05);}
.marquee-logo--wide{width:clamp(190px,16vw,260px)!important;}
.marquee-logo:hover{opacity:1;transform:translateY(-2px);}

/* Condensed team preview */
.team-showcase--compact{padding-block:var(--section-py-sm);}
.team-compact__grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:var(--space-8);align-items:center;}
.team-compact__copy{max-width:520px;}
.team-compact__copy h2{margin:var(--space-3) 0 var(--space-4);font-size:clamp(1.8rem,1.3rem + 2vw,2.75rem);}
.team-compact__copy p{color:var(--text-muted);font-size:var(--fs-17);line-height:1.65;margin-bottom:var(--space-6);}
.team-compact__people{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);}
.team-showcase--compact .team-card-tile{border:1px solid var(--border-soft);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);min-height:auto;}
.team-showcase--compact .team-card-tile__photo{aspect-ratio:4/4.6;}
.team-showcase--compact .team-card-tile__caption{min-height:96px;padding:var(--space-4);}
@media (max-width:980px){.team-compact__grid{grid-template-columns:1fr}.team-compact__people{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:520px){.team-compact__people{grid-template-columns:1fr;}}

/* About page refinements */
.section-header--left{text-align:left;margin-left:0;margin-right:0;}
.video-feature{position:relative;aspect-ratio:16/9;border-radius:var(--radius-xl);overflow:hidden;background:var(--surface-dark);box-shadow:var(--shadow-lg);border:1px solid var(--border-soft);}
.video-feature iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.about-mission-copy{max-width:920px;margin:var(--space-8) auto 0;display:grid;gap:var(--space-4);font-size:var(--fs-17);line-height:1.7;color:var(--text-body);}
.values-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-4);}
.value-card{min-height:230px;border-radius:var(--radius-xl);padding:var(--space-6);display:flex;flex-direction:column;justify-content:flex-start;color:#fff;box-shadow:var(--shadow-sm);}
.value-card h3{color:#fff;margin:var(--space-4) 0 var(--space-3);font-size:var(--fs-22);}
.value-card p{color:rgba(255,255,255,.9);font-size:var(--fs-14);line-height:1.55;}
.value-card__icon{font-size:2rem;font-family:var(--font-display);line-height:1;}
.value-card--blue{background:var(--brand-blue);}.value-card--cyan{background:var(--brand-cyan);}.value-card--mint{background:var(--brand-mint);color:var(--brand-charcoal);}.value-card--mint h3,.value-card--mint p{color:var(--brand-charcoal)}.value-card--navy{background:var(--brand-charcoal);}.value-card--purple{background:var(--brand-navy);}
@media (max-width:1080px){.values-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:700px){.values-grid{grid-template-columns:1fr;}}
.work-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5);}
.work-card{appearance:none;text-align:left;border:1px solid var(--border-soft);background:var(--surface-card);border-radius:var(--radius-xl);padding:var(--space-7);box-shadow:var(--shadow-sm);transition:transform var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out),border-color var(--t-base) var(--ease-out),background var(--t-base) var(--ease-out);}
.work-card:hover,.work-card.is-active{transform:translateY(-8px) scale(1.025);box-shadow:var(--shadow-xl);border-color:var(--brand-blue);background:linear-gradient(180deg,#fff,#f7fcff);}
.work-card__num{font-family:var(--font-display);font-size:var(--fs-12);font-weight:var(--fw-semi);letter-spacing:.18em;color:var(--brand-blue);text-transform:uppercase;}
.work-card h3{margin:var(--space-4) 0 var(--space-3);}.work-card p{color:var(--text-muted);line-height:1.65;}
@media (max-width:850px){.work-cards{grid-template-columns:1fr;}}
.industry-story-list{display:grid;gap:var(--space-6);}
.industry-story{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);gap:var(--space-7);align-items:center;background:var(--surface-card);border:1px solid var(--border-soft);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-sm);}
.industry-story:nth-child(even){grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);}
.industry-story:nth-child(even) .industry-story__image{order:2;}
.industry-story__image{aspect-ratio:16/10;border-radius:var(--radius-lg);overflow:hidden;background:linear-gradient(135deg,var(--brand-blue),var(--brand-navy));}
.industry-story__image img{width:100%;height:100%;object-fit:cover;}
.industry-story__image.is-fallback::after{content:"Impel Talent";display:flex;height:100%;align-items:center;justify-content:center;color:#fff;font-family:var(--font-display);font-weight:var(--fw-semi);letter-spacing:.08em;text-transform:uppercase;}
.industry-story__image.is-fallback img{display:none;}
.industry-story h3{margin:var(--space-3) 0 var(--space-3);font-size:var(--fs-24);}.industry-story p{color:var(--text-muted);line-height:1.65;margin-bottom:var(--space-4);}
@media (max-width:820px){.industry-story,.industry-story:nth-child(even){grid-template-columns:1fr}.industry-story:nth-child(even) .industry-story__image{order:0}}

/* Programme cards */
.programme-card__ctas{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-5);}
.programme-card__ctas .btn{flex:1 1 130px;}

/* Newsletter spacing */
.newsletter-form-spaced .form-grid{gap:var(--space-5);margin-bottom:var(--space-5);}
.newsletter-form-spaced .btn{margin-top:var(--space-2);}

/* Impact page social proof grid */
.impact-community-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5);}
.impact-community-grid article{background:var(--surface-card);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);}
.impact-community-grid h3{font-size:var(--fs-18);margin-bottom:var(--space-2);}.impact-community-grid p{color:var(--text-muted);font-size:var(--fs-14);line-height:1.6;}
@media (max-width:900px){.impact-community-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.impact-community-grid{grid-template-columns:1fr;}}


/* ============================================================
   REQUESTED FOOTER COMPRESSION
   Same structure and content, with the tighter vertical rhythm used
   on the approved programme blueprint pages.
============================================================ */
.site-footer{padding-block:56px 24px;}
.site-footer__top{gap:30px;padding-bottom:32px;}
.site-footer__brand p{margin-top:18px;line-height:1.6;}
.site-footer__contact{margin-top:16px;}
.site-footer__col h5{margin-bottom:14px;}
.site-footer__col li{margin-bottom:10px;}
.site-footer__bottom{padding-top:22px;gap:16px;}
@media (max-width:1024px){.site-footer__top{gap:28px 30px;}}


/* ============================================================
   SEGMENT 2: TIGHTER PAGE RHYTHM
   Reduce unnecessary scroll distance while preserving hierarchy.
============================================================ */
:root{
  --section-py-sm:clamp(2.25rem,1.8rem + 2vw,3.25rem);
  --section-py-md:clamp(2.75rem,2rem + 3vw,4.25rem);
  --section-py-lg:clamp(3.5rem,2.5rem + 4vw,5.25rem);
}
.hero--home{padding-block:clamp(.35rem,.6vw,.55rem) clamp(2.4rem,3.5vw,3.5rem);}
.marquee-section{padding-block:clamp(1.75rem,2.6vw,2.75rem);}
.section-header{margin-bottom:var(--space-7);}
.section-header--row{margin-bottom:var(--space-7);}
.team-showcase{padding-block:var(--section-py-sm);}
.team-showcase__header{margin-bottom:var(--space-7);}
.page-hero{padding-block:clamp(3rem,3.5vw,4.5rem);}
.page-main .section .container > .section-header,
.page-main .section .container > .section-header--row{margin-bottom:var(--space-7);}
@media(max-width:720px){
  .hero--home{padding-block:.4rem 2.25rem;}
  .page-hero{padding-block:2.75rem;}
}

/* Meet the Team page */
.team-page-hero{padding-block:clamp(2.75rem,3.8vw,4.5rem);background:linear-gradient(135deg,#f7fbfe 0%,#fff 55%,rgba(42,251,158,.08) 100%);border-bottom:1px solid var(--border-soft);overflow:hidden;position:relative;}
.team-page-hero::before{content:"";position:absolute;width:420px;height:420px;right:-120px;top:-170px;border-radius:50%;background:radial-gradient(circle,rgba(65,184,252,.16),transparent 66%);pointer-events:none;}
.team-page-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:clamp(2rem,4vw,4.5rem);align-items:center;}
.team-page-hero__copy>*+*{margin-top:var(--space-4);}
.team-page-hero__copy h1{font-size:clamp(2.6rem,2rem + 3vw,4.7rem);line-height:1.02;letter-spacing:-.045em;max-width:12ch;}
.team-page-hero__copy p{max-width:58ch;color:var(--text-muted);font-size:clamp(1.05rem,1rem + .25vw,1.18rem);line-height:1.7;}
.team-page-hero__mosaic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;transform:rotate(1deg);}
.team-page-hero__mosaic figure{position:relative;aspect-ratio:1;border-radius:22px;overflow:hidden;background:var(--surface-mist);box-shadow:var(--shadow-md);}
.team-page-hero__mosaic figure:nth-child(2),.team-page-hero__mosaic figure:nth-child(3){transform:translateY(18px);}
.team-page-hero__mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .35s var(--ease-out);}
.team-page-hero__mosaic figure:hover img{transform:scale(1.035);}
.team-directory{padding-block:var(--section-py-md);background:var(--surface-page);}
.team-group+.team-group{margin-top:clamp(3rem,4vw,4.75rem);}
.team-group__head{display:flex;align-items:end;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-7);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-soft);}
.team-group__head h2{font-size:clamp(1.65rem,1.35rem + 1vw,2.2rem);}
.team-group__head p{max-width:56ch;color:var(--text-muted);font-size:var(--fs-15);}
.team-directory__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem);}
.team-profile-card{position:relative;display:block;background:#fff;border:1px solid var(--border-soft);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-sm);color:inherit;transition:transform .28s var(--ease-out),box-shadow .28s var(--ease-out),border-color .28s var(--ease-out);}
.team-profile-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:rgba(65,184,252,.28);color:inherit;}
.team-profile-card__photo{position:relative;aspect-ratio:1/1;overflow:hidden;background:linear-gradient(135deg,var(--surface-mist),#fff);}
.team-profile-card__photo::after{content:"";position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(180deg,transparent,rgba(31,34,49,.13));pointer-events:none;}
.team-profile-card__photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease-out);}
.team-profile-card:hover .team-profile-card__photo img{transform:scale(1.035);}
.team-profile-card__body{padding:20px 20px 22px;min-height:132px;display:flex;flex-direction:column;gap:7px;}
.team-profile-card__name{font-family:var(--font-display);font-size:var(--fs-18);font-weight:var(--fw-bold);color:var(--text-strong);line-height:1.25;}
.team-profile-card__role{font-size:var(--fs-14);line-height:1.5;color:var(--text-muted);}
.team-profile-card__link{margin-top:auto;padding-top:7px;display:inline-flex;align-items:center;gap:7px;font-family:var(--font-display);font-size:var(--fs-12);font-weight:var(--fw-semi);letter-spacing:.08em;text-transform:uppercase;color:var(--brand-blue);}
.team-profile-card__link::after{content:"→";transition:transform .22s var(--ease-out);}
.team-profile-card:hover .team-profile-card__link::after{transform:translateX(3px);}
@media(max-width:900px){.team-page-hero__grid{grid-template-columns:1fr}.team-page-hero__mosaic{max-width:620px}.team-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.team-page-hero__mosaic{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;transform:none}.team-page-hero__mosaic figure,.team-page-hero__mosaic figure:nth-child(2),.team-page-hero__mosaic figure:nth-child(3){border-radius:12px;transform:none}.team-directory__grid{grid-template-columns:1fr}.team-group__head{align-items:start;flex-direction:column}.team-profile-card__body{min-height:auto}}
