:root{
    color-scheme: light;
    /* the whole page is one dark navy ground; nothing is light */
    --paper:#131E30;
    --paper-deep:#131E30;
    --card:#1C2B45;
    --navy:#1C2B45;
    --navy-deep:#131E30;
    --navy-line:#2C3E5C;
    --oxblood:#7A2E33;
    --oxblood-dark:#5E2226;
    --brass:#A98544;
    --brass-bright:#D9B65C;
    --ink:#FFFFFF;
    --ink-soft:#DCE3EE;
    --slate:#9BA9BF;
    --line:#2C3E5C;
    --white:#FFFFFF;
    --on-navy:#DCE3EE;
    --on-navy-dim:#9BA9BF;
    --display:'Fraunces',Georgia,'Times New Roman',serif;
    --body:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    --mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
    --hero-photo:url('assets/hero-assessment-europe.png');
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;background:var(--paper);}
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:var(--body);
    font-size:17px;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:.01ms !important;transition-duration:.01ms !important;}
  }
  a{color:inherit;text-decoration:none;}
  img,svg{display:block;max-width:100%;}
  button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;}
  :focus-visible{outline:2px solid var(--brass-bright);outline-offset:3px;}

  .wrap{max-width:1120px;margin:0 auto;padding:0 32px;}
  .measure{max-width:64ch;}

  h1,h2,h3{font-family:var(--display);font-weight:500;letter-spacing:-.012em;text-wrap:balance;}
  h2{font-size:clamp(28px,3.4vw,40px);line-height:1.14;}
  h3{font-size:19px;line-height:1.3;}

  .eyebrow{
    font-family:var(--mono);
    font-size:12px;
    letter-spacing:.16em;
    text-transform:uppercase;
    font-weight:500;
    color:var(--brass-bright);
    margin-bottom:14px;
  }
  .band-navy .eyebrow{color:var(--brass-bright);}

  .btn{
    display:inline-block;
    font-weight:600;font-size:15px;
    padding:14px 26px;border-radius:3px;
    transition:background .18s ease,transform .18s ease;
  }
  .btn-primary{background:var(--oxblood);color:var(--white);}
  .btn-primary:hover{background:var(--oxblood-dark);}
  .btn-brass{background:var(--brass);color:var(--navy-deep);}
  .btn-brass:hover{background:var(--brass-bright);}
  .textlink{
    font-size:15px;font-weight:500;
    border-bottom:1px solid rgba(217,182,92,.5);
    padding-bottom:2px;transition:border-color .18s ease;
  }
  .textlink:hover{border-color:var(--brass-bright);}

  /* ---------- NAV ---------- */
  header{
    position:sticky;top:0;z-index:60;
    background:rgba(237,234,223,.94);
    backdrop-filter:blur(10px);
    border-bottom:1px solid #D8D3C4;
  }
  nav{
    display:flex;align-items:center;justify-content:space-between;
    gap:20px 28px;flex-wrap:wrap;
    width:100%;margin:0;padding:14px 40px;
  }
  /* The supplied logo SVG is a WHITE wordmark (960x140) — invisible on the ivory
     nav, so the header sets the wordmark in Fraunces and the SVG is used in the
     dark footer, where it was designed to sit, at its native aspect ratio. */
  .logo{display:flex;align-items:center;gap:9px;font-family:var(--display);font-size:19px;font-weight:600;letter-spacing:.01em;color:#1C2B45;}
  /* header carries the same wordmark as the footer, in the dark variant,
     at its native 960x140 aspect */
  header .logo img{height:30px;width:auto;}
  .foot-logo img{height:22px;width:auto;}
  .navlinks{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14px;font-weight:500;color:#33415C;}
  .navlinks a{padding-bottom:2px;border-bottom:1px solid transparent;transition:border-color .18s ease,color .18s ease;white-space:nowrap;}
  .navlinks a:hover{border-color:var(--brass);color:#1C2B45;}
  .navlinks a.active{color:#1C2B45;border-color:var(--brass);}
  .nav-cta{background:var(--oxblood);color:var(--white);padding:9px 18px;border-radius:3px;font-size:14px;font-weight:600;}
  .nav-cta:hover{background:var(--oxblood-dark);}
  .nav-toggle{display:none;}
  @media (max-width:1040px){.navlinks{gap:9px 16px;font-size:13.5px;}}
  @media (max-width:820px){
    nav{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px 12px;padding:8px 20px;}
    header .logo{grid-column:1;}
    .nav-toggle{grid-column:2;display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(28,43,69,.24);border-radius:3px;color:#1C2B45;}
    .nav-toggle__icon,.nav-toggle__icon::before,.nav-toggle__icon::after{display:block;width:22px;height:2px;background:currentColor;transition:transform .18s ease,opacity .18s ease;}
    .nav-toggle__icon{position:relative;}
    .nav-toggle__icon::before,.nav-toggle__icon::after{content:"";position:absolute;left:0;}
    .nav-toggle__icon::before{top:-7px;}
    .nav-toggle__icon::after{top:7px;}
    nav.nav-open .nav-toggle__icon{background:transparent;}
    nav.nav-open .nav-toggle__icon::before{transform:translateY(7px) rotate(45deg);}
    nav.nav-open .nav-toggle__icon::after{transform:translateY(-7px) rotate(-45deg);}
    .navlinks{grid-column:1 / -1;display:grid;gap:2px;width:100%;font-size:15px;}
    .navlinks a{display:flex;align-items:center;min-height:44px;padding:10px 4px;border-bottom:1px solid rgba(28,43,69,.14);}
    .nav-cta{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;}
    nav.nav-ready .navlinks,nav.nav-ready .nav-cta{display:none;}
    nav.nav-ready.nav-open .navlinks{display:grid;}
    nav.nav-ready.nav-open .nav-cta{display:flex;}
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    min-height:84vh;
    display:flex;align-items:center;
    padding:96px 0 56px;   /* was 132px: space reserved for the removed scroll cue */
    overflow:hidden;
    background:var(--navy-deep);
  }
  .hero-bg{
    position:absolute;inset:0;
    background-image:
      linear-gradient(100deg,
        rgba(19,30,48,.95) 0%,
        rgba(19,30,48,.88) 34%,
        rgba(19,30,48,.55) 62%,
        rgba(19,30,48,.28) 100%),
      var(--hero-photo);
    background-size:100% auto;
    background-position:center -67px;
    background-repeat:no-repeat;
    filter:saturate(.82);
  }
  /* the photo resolves into the navy band below — this is the seam */
  .hero-fade{
    position:absolute;left:0;right:0;bottom:0;height:190px;
    background:linear-gradient(to bottom,rgba(19,30,48,0) 0%,rgba(19,30,48,.72) 46%,var(--navy-deep) 100%);
  }
  .hero-content{position:relative;z-index:2;max-width:1120px;margin:0 auto;padding:0 32px;width:100%;}
  .hero h1{
    font-size:clamp(38px,5.6vw,66px);
    line-height:1.04;
    color:var(--white);
    max-width:19ch;
    margin-bottom:26px;
  }
  .hero-pull{
    font-family:var(--display);
    font-size:clamp(18px,2vw,21px);
    line-height:1.45;
    color:var(--brass-bright);
    max-width:38ch;
    padding-left:18px;
    border-left:2px solid var(--brass);
    margin-bottom:22px;
  }
  .hero-sub{color:#C3CDDC;max-width:52ch;font-size:17px;margin-bottom:34px;}
  .hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;}
  .hero-actions .textlink{color:var(--brass-bright);}

  /* ---------- BANDS ---------- */
  section{padding:104px 0;}
  .band-navy{background:var(--navy-deep);color:var(--on-navy);}
  /* the problem band follows the hero directly, so it opens tighter */
  #why{padding-top:60px;}
  .band-navy h2{color:var(--white);}
  .band-navy p{color:var(--on-navy);}
  .band-paper{background:var(--paper);}
  .band-deep{background:var(--paper-deep);}
  /* a hairline keeps the two ivory bands from blurring into one another */
  /* Every band now shares the same navy ground, so two consecutive sections
     were stacking a 104px bottom padding on a 104px top padding: 208px of dead
     space at each join. One padding between them, plus a hairline so the
     boundary is still legible. The oxblood CTA keeps its own breathing room. */
  section:not(.band-ox) + section:not(.band-ox){
    padding-top:60px;
    border-top:1px solid var(--line);
  }
  section:not(.band-ox):has(+ section:not(.band-ox)),
  section:not(.band-ox):has(+ .compliance){padding-bottom:64px;}
  /* the persona selector carries its own internal rhythm, so the section
     head and the tab row sit tighter than the page default */
  #who .section-head{margin-bottom:34px;}
  #who .tabs{margin-bottom:26px;}
  .band-ox{background:var(--oxblood);color:#F3E4E0;}
  .band-ox h2{color:var(--white);}
  .section-head{margin-bottom:52px;}
  .section-head p{color:var(--slate);max-width:60ch;margin-top:14px;}
  .band-navy .section-head p{color:var(--on-navy-dim);}

  /* ---------- CHART ---------- */
  .chart-card{
    background:var(--card);
    border:1px solid var(--navy-line);
    border-radius:4px;
    padding:30px 26px 22px;
    margin-bottom:34px;
  }
.chart-card--imported{
  width:min(666px,100%);
  padding:0;
  border:0;
  background:transparent;
  margin:0 auto 48px;
}
  .chart-card--imported img{width:100%;height:auto;}

  /* ---------- AUGUST HOMEPAGE BACKGROUND ---------- */
  .home-page{
    background:
      linear-gradient(rgba(24,35,53,.60),rgba(24,35,53,.60)),
      url('assets/hero-assessment-europe.png') center -67px / 100% auto no-repeat;
    background-blend-mode:multiply;
  }
  @media (max-width:820px){
    .home-page{background-position:0 0,center top;background-size:auto,auto 100%;}
  }
  .home-page header,
  .home-page .hero,
.home-page .band-navy,
.home-page .band-deep,
.home-page .band-light,
.home-page .band-ox,
.home-page .compliance,
  .home-page footer{background:transparent;}
  .compliance-page header{background:var(--navy-deep);border-bottom-color:var(--navy-line);}
  .compliance-page .navlinks,.compliance-page .navlinks a{color:var(--white);}
  .compliance-page .navlinks a:hover,.compliance-page .navlinks a.active{color:var(--white);border-color:var(--brass-bright);}
  .team-page header{background:var(--navy-deep);border-bottom-color:var(--navy-line);}
  .team-page .navlinks,.team-page .navlinks a{color:var(--white);}
  .team-page .navlinks a:hover,.team-page .navlinks a.active{color:var(--white);border-color:var(--brass-bright);}
  .solutions-page header{background:var(--navy-deep);border-bottom-color:var(--navy-line);}
  .solutions-page .navlinks,.solutions-page .navlinks a{color:var(--white);}
  .solutions-page .navlinks a:hover,.solutions-page .navlinks a.active{color:var(--white);border-color:var(--brass-bright);}
  .home-page header{backdrop-filter:none;border-bottom-color:transparent;}
  .home-page .hero-bg,.home-page .hero-fade{background:transparent;filter:none;}
  .home-page .navlinks,.home-page .navlinks a{color:var(--white);text-shadow:0 1px 3px rgba(0,0,0,.55);}
  .home-page .navlinks a:hover,.home-page .navlinks a.active{color:var(--white);border-color:var(--brass-bright);}
  .home-page .nav-toggle{color:var(--white);border-color:rgba(255,255,255,.72);}
  .home-page .band-light h2,.home-page .band-light h3{color:var(--white);}
  .home-page .band-light p,.home-page .band-light li,.home-page .band-light .section-head p{color:var(--on-navy);}
  .home-page .band-light .eyebrow{color:var(--brass-bright);}
  .home-page .band-light .io{background:transparent;border-color:rgba(245,243,237,.38);}
  .home-page .band-light .io-cell + .io-cell{border-left-color:rgba(245,243,237,.28);}
  .home-page .band-light .io-cell .k{color:var(--brass-bright);border-bottom-color:var(--brass);}
  .home-page .band-light .io-cell p{color:var(--on-navy);}
  .home-page .band-light .acc{border-top-color:rgba(245,243,237,.28);}
  .home-page .band-light .acc-item{border-bottom-color:rgba(245,243,237,.28);}
  .home-page .band-light .acc-q{color:var(--white);}
  .home-page .band-light .acc-num{color:var(--brass-bright);}
  .home-page .band-light .acc-panel-inner p{color:var(--on-navy);}
  .home-page .band-light .acc-panel-inner p::before{background:var(--brass);}
  .home-page .band-light .acc-ico::before,.home-page .band-light .acc-ico::after{background:var(--brass-bright);}

  /* Homepage cards use the same navy surface as the dispute grounds. */
  .home-page .band-light .io{
    background:var(--navy-deep);
    border-color:var(--navy-line);
  }
  .home-page .band-light .io-cell + .io-cell{border-left-color:var(--navy-line);}
  .home-page .band-light .acc{
    background:var(--navy-deep);
    border:1px solid var(--navy-line);
    border-radius:4px;
    overflow:hidden;
  }
  .home-page .band-light .acc-item,
  .home-page .band-light .acc-panel{background:var(--navy-deep);}
  .home-page .band-light .acc-item{border-bottom-color:var(--navy-line);}

  .home-page #who .tab{
    background:var(--navy-deep);
    border-color:var(--navy-line);
  }
  .home-page #who .tab[aria-selected="true"]{
    background:var(--navy-deep);
    border-color:var(--brass);
    color:var(--brass-bright);
  }
  .home-page #who .panel.on{
    background:var(--navy-deep);
    border:1px solid var(--navy-line);
    border-radius:4px;
  }
  .chart-title{font-family:var(--display);font-size:19px;color:var(--white);margin-bottom:4px;}
  .chart-sub{font-family:var(--mono);font-size:11.5px;color:var(--on-navy-dim);letter-spacing:.02em;margin-bottom:20px;}
  .chart-scroll{overflow-x:auto;}
  .chart-svg{width:100%;min-width:560px;height:auto;}
  .grid-line{stroke:#22344F;stroke-width:1;}
  .axis-text{font-family:'IBM Plex Mono',monospace;font-size:11px;fill:#8496AE;}
  .axis-title{font-family:'IBM Plex Mono',monospace;font-size:10.5px;fill:#6E7F97;letter-spacing:.1em;text-transform:uppercase;}
  .trend-line{fill:none;stroke:var(--brass);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;}
  .trend-area{fill:url(#areaGrad);}
  .pt{fill:#0F1826;stroke:var(--brass);stroke-width:2;transition:r .16s ease,fill .16s ease;cursor:pointer;}
  .pt:hover,.pt:focus-visible{fill:var(--brass-bright);r:7;}
  .pt-last{fill:var(--brass-bright);stroke:var(--brass-bright);}
  .pt-label{font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:500;fill:#E6EDF7;}
  .chart-foot{
    display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;
    margin-top:18px;padding-top:14px;border-top:1px solid var(--navy-line);
    font-family:var(--mono);font-size:10.5px;line-height:1.6;color:#7C8CA3;
  }
  .tip{
    position:absolute;z-index:20;pointer-events:none;
    background:var(--paper);color:var(--navy-deep);
    border-radius:3px;padding:9px 12px;
    font-family:var(--mono);font-size:11.5px;line-height:1.5;
    box-shadow:0 8px 22px rgba(0,0,0,.4);
    opacity:0;transform:translate(-50%,-118%);transition:opacity .14s ease;
    white-space:nowrap;
  }
  .tip strong{font-size:14px;display:block;font-weight:600;}
  .tip.on{opacity:1;}
  .chart-holder{position:relative;}

  .grounds{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--navy-line);border:1px solid var(--navy-line);border-radius:4px;overflow:hidden;}
  .ground{background:var(--navy-deep);padding:22px 20px;border-top:2px solid var(--brass);}
  .ground p{font-size:14.5px;line-height:1.5;color:var(--on-navy);}
  @media (max-width:820px){.grounds{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:480px){.grounds{grid-template-columns:1fr;}}
  .grounds-label{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-navy-dim);margin-bottom:14px;}


  /* ---------- ONE LIGHT BAND ----------
     The record section is the answer to the argument above it, so it gets the
     ivory ground to separate it from the dark. Tokens are light-on-dark, so
     everything inside this band sets its own colours explicitly. */
  .band-light{background:#EDEADF;}
  .band-light h2,.band-light h3{color:#1C2B45;}
  .band-light p,.band-light li{color:#33415C;}
  .band-light .eyebrow{color:#8A6A2F;}
  .band-light .section-head p{color:#5B6472;}
  .band-light .io{background:#FFFFFF;border-color:#D8D3C4;}
  .band-light .io-cell + .io-cell{border-left-color:#D8D3C4;}
  .band-light .io-cell .k{color:#8A6A2F;border-bottom-color:#A98544;}
  .band-light .io-cell p{color:#33415C;}
  .band-light .acc{border-top-color:#D8D3C4;}
  .band-light .acc-item{border-bottom-color:#D8D3C4;}
  .band-light .acc-q{color:#1C2B45;}
  .band-light .acc-num{color:#8A6A2F;}
  .band-light .acc-panel-inner p{color:#5B6472;}
  .band-light .acc-panel-inner p::before{background:#A98544;}
  .band-light .acc-ico::before,.band-light .acc-ico::after{background:#7A2E33;}
  @media (max-width:820px){.band-light .io-cell + .io-cell{border-left:none;border-top:1px solid #D8D3C4;}}

  /* ---------- WHAT IT ASKS OF YOU ---------- */
  .asks{
    display:grid;grid-template-columns:repeat(3,1fr);gap:30px;
    margin-top:52px;padding-top:38px;border-top:1px solid #D8D3C4;
  }
  @media (max-width:860px){.asks{grid-template-columns:1fr;gap:24px;}}
  .asks h3{font-size:17px;margin-bottom:9px;color:#1C2B45;}
  .asks p{font-size:15.5px;line-height:1.55;color:#5B6472;}
  .asks .who{
    font-family:var(--mono);font-size:11px;letter-spacing:.14em;
    text-transform:uppercase;color:#8A6A2F;display:block;margin-bottom:10px;
  }

  .lede{font-size:18px;line-height:1.6;max-width:66ch;}

  /* ---------- ARGUMENT ---------- */
  .args{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:8px;}
  .arg{border-top:2px solid var(--brass);padding-top:18px;}
  .arg h3{margin-bottom:9px;}
  .arg p{color:var(--slate);font-size:15.5px;}
  @media (max-width:840px){.args{grid-template-columns:1fr;gap:26px;}}

  /* ---------- HOW IT WORKS ---------- */
  .io{
    display:flex;gap:0;flex-wrap:wrap;align-items:stretch;
    border:1px solid var(--line);border-radius:4px;overflow:hidden;margin-bottom:40px;background:var(--card);
  }
  .io-cell{flex:1 1 260px;padding:28px 30px;}
  .io-cell + .io-cell{border-left:1px solid var(--line);}
  .io-cell .k{
    font-family:var(--display);
    font-size:13px;font-weight:600;
    letter-spacing:.2em;text-transform:uppercase;
    color:var(--brass-bright);
    display:inline-block;
    padding-bottom:9px;margin-bottom:16px;
    border-bottom:1px solid var(--brass);
  }
  .io-cell p{font-size:16px;line-height:1.55;color:var(--ink-soft);}
  @media (max-width:640px){.io-cell + .io-cell{border-left:none;border-top:1px solid var(--line);}}

  .acc{border-top:1px solid var(--line);}
  .acc-item{border-bottom:1px solid var(--line);}
  .acc-btn{
    width:100%;display:flex;align-items:center;gap:18px;
    padding:22px 4px;text-align:left;
  }
  .acc-num{font-family:var(--mono);font-size:12px;color:var(--brass);flex-shrink:0;width:24px;}
  .acc-q{font-family:var(--display);font-size:clamp(18px,2.1vw,22px);font-weight:500;flex:1;line-height:1.25;}
  .acc-ico{flex-shrink:0;width:16px;height:16px;position:relative;}
  .acc-ico::before,.acc-ico::after{
    content:"";position:absolute;background:var(--brass-bright);
    transition:transform .22s ease,opacity .22s ease;
  }
  .acc-ico::before{left:0;top:7px;width:16px;height:2px;}
  .acc-ico::after{left:7px;top:0;width:2px;height:16px;}
  .acc-btn[aria-expanded="true"] .acc-ico::after{transform:rotate(90deg);opacity:0;}
  .acc-panel{overflow:hidden;max-height:0;transition:max-height .3s ease;}
  .acc-panel-inner{padding:0 4px 26px 42px;display:grid;gap:11px;max-width:74ch;}
  .acc-panel-inner p{color:var(--slate);font-size:15.5px;padding-left:16px;position:relative;}
  .acc-panel-inner p::before{content:"";position:absolute;left:0;top:10px;width:6px;height:1px;background:var(--brass);}
  .acc-panel-inner .card-link{margin-top:4px;padding-left:0;}
  .acc-panel-inner .card-link::before{display:none;}
  .acc-panel-inner .card-link a{color:var(--oxblood);}

  /* ---------- PERSONAS ---------- */
  .tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:34px;}
  .tab{
    font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;
    padding:11px 18px;border:1px solid var(--navy-line);border-radius:3px;
    color:var(--on-navy-dim);transition:all .18s ease;
  }
  .tab:hover{border-color:var(--brass);color:var(--brass-bright);}
  .tab[aria-selected="true"]{background:var(--brass);border-color:var(--brass);color:var(--navy-deep);font-weight:500;}
  .panel{display:none;}
  .panel.on{display:grid;grid-template-columns:230px 1fr 1fr;gap:40px;align-items:start;animation:fade .28s ease;}
  .persona-photo{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px;
    border:1px solid var(--navy-line);box-shadow:0 12px 26px rgba(0,0,0,.32);}
  @keyframes fade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
  @media (max-width:1040px){.panel.on{grid-template-columns:200px 1fr 1fr;gap:28px;}}
  @media (max-width:840px){
    .panel.on{grid-template-columns:1fr;gap:26px;}
    .persona-photo{max-width:260px;}
  }
  .panel h3{color:var(--white);font-size:17px;margin-bottom:16px;}
  .panel ul{list-style:none;display:grid;gap:11px;}
  .panel li{font-size:15.5px;line-height:1.5;padding-left:20px;position:relative;color:var(--on-navy);}
  .panel li::before{content:"";position:absolute;left:0;top:10px;width:8px;height:1px;background:var(--brass);}
  .panel .gives li::before{background:var(--brass-bright);width:8px;height:8px;top:7px;border-radius:50%;}
  .panel-role{font-family:var(--display);font-size:clamp(22px,2.6vw,28px);color:var(--white);margin-bottom:6px;}
  .panel-need{font-size:16px;color:var(--brass-bright);margin-bottom:30px;max-width:60ch;}

  /* ---------- COMPLIANCE ---------- */
  .compliance{padding:38px 0;background:var(--paper-deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .comp-row{display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;}
  .comp-label{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);}
  .comp-marks{display:flex;gap:34px;flex-wrap:wrap;}
  .comp-marks span{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;color:var(--ink);font-weight:500;}

  /* ---------- CTA ---------- */
  .band-ox{text-align:center;padding:88px 0;}
  .band-ox p{max-width:50ch;margin:16px auto 32px;font-size:17px;color:#EED9D4;}

  /* ---------- FOOTER ---------- */
  footer{background:var(--navy-deep);color:var(--on-navy-dim);padding:44px 0 38px;font-size:13.5px;}
  .foot-row{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;align-items:center;}
  .foot-row .logo{color:var(--on-navy);font-size:16px;}
  .foot-links{display:flex;gap:24px;flex-wrap:wrap;font-size:13.5px;}
  .foot-links a{color:var(--on-navy-dim);padding-bottom:2px;border-bottom:1px solid transparent;transition:color .18s ease,border-color .18s ease;}
  .foot-links a:hover{color:var(--brass-bright);border-color:var(--brass);}
  .foot-legal{margin-top:22px;padding-top:20px;border-top:1px solid var(--navy-line);font-size:12.5px;color:#7C8CA3;}
  .foot-note{margin-top:14px;font-size:12px;line-height:1.6;max-width:78ch;color:#6C7B92;}

  /* ---------- REVEAL ----------
     Content is visible by default. Only a page that has confirmed JS and an
     IntersectionObserver hides it to animate it in, so a script failure can
     never leave a section blank. */
  .js-rv .rv{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;}
  .js-rv .rv.in{opacity:1;transform:none;}
  @media (prefers-reduced-motion:reduce){.js-rv .rv{opacity:1;transform:none;}}

/* ================= TEAM PAGE ================= */
.page-head{
  background:var(--navy-deep);color:var(--on-navy);padding:48px 0 24px;
}
.page-head h1{
  font-size:clamp(26px,3vw,34px);line-height:1.18;color:var(--white);
  max-width:36ch;margin:12px 0 14px;
}
.page-head h2{color:var(--white);font-size:clamp(21px,2.1vw,27px);line-height:1.22;max-width:34ch;margin:0 0 12px;}
.page-head p{color:var(--on-navy-dim);max-width:62ch;font-size:16px;}
.page-head .eyebrow{color:var(--brass-bright);}
@media (max-width:860px){.page-head{padding:40px 0 24px;}}
.philosophy-page .page-head + .band-light,
.compliance-page .page-head + .band-light{padding-top:24px;}

/* ================= OUR SOLUTIONS — August supervision strip ================= */
.supervision{background:var(--navy);color:var(--paper);padding:0;}
.supervision-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;}
.supervision-media{position:relative;min-height:420px;}
.supervision-media img{width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.supervision-text{padding:64px 56px;display:flex;flex-direction:column;justify-content:center;}
.supervision-text h1,.supervision-text h2{color:var(--white);font-size:clamp(26px,3vw,34px);margin:14px 0 18px;line-height:1.18;}
.supervision-text p{color:#C7CEDB;font-size:16px;max-width:44ch;}
@media (max-width:860px){
  .supervision-grid{grid-template-columns:1fr;}
  .supervision-media{min-height:280px;}
  .supervision-text{padding:56px 32px;}
}

/* ================= CONTACT ================= */
.contact-section{padding:24px 0 88px;}
.contact-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start;}
.contact-copy h2{color:var(--white);margin:14px 0 18px;}
.contact-copy p{color:var(--on-navy);max-width:38ch;font-size:17px;}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:var(--navy);border:1px solid var(--navy-line);border-radius:4px;padding:32px;}
.form-group{display:grid;gap:8px;}
.form-group--full{grid-column:1 / -1;}
.form-group label{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-bright);}
.form-group input,.form-group textarea{width:100%;background:var(--navy-deep);border:1px solid var(--navy-line);border-radius:3px;color:var(--white);font:inherit;font-size:15px;padding:12px 13px;}
.form-group textarea{resize:vertical;min-height:132px;}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--on-navy-dim);}
.form-group input:focus,.form-group textarea:focus{outline:2px solid var(--brass);outline-offset:1px;border-color:var(--brass);}
.form-submit{justify-self:start;border:0;cursor:pointer;}
.form-submit:disabled{opacity:.65;cursor:wait;}
.contact-honeypot{position:absolute;left:-5000px;opacity:0;pointer-events:none;}
@media (max-width:860px){.contact-layout{grid-template-columns:1fr;gap:34px;}}
@media (max-width:560px){.contact-form{grid-template-columns:1fr;padding:24px;}.form-group--full{grid-column:auto;}}

.team-grid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;
}
@media (max-width:1180px){.team-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:940px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:600px){.team-grid{grid-template-columns:1fr;}}

.person{
  display:flex;flex-direction:column;text-align:left;
  background:var(--card);border:1px solid var(--line);
  border-top:3px solid var(--brass);border-radius:4px;
  padding:0 0 24px;overflow:hidden;cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease;
}
.person:hover,.person:focus-visible{transform:translateY(-3px);box-shadow:0 14px 30px rgba(28,43,69,.14);}
.person-photo{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;background:var(--navy);}
.person-body{padding:22px 24px 0;}
.person h3{font-size:20px;margin-bottom:6px;color:var(--ink);}
.person .role{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--brass-bright);line-height:1.5;
}
.person .more{
  margin:16px 24px 0;font-family:var(--mono);font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--brass);
}

/* modal */
.bio{
  position:fixed;inset:0;z-index:200;display:none;
  align-items:flex-start;justify-content:center;
  background:rgba(19,30,48,.72);backdrop-filter:blur(3px);
  padding:6vh 20px;overflow-y:auto;
}
.bio[open],.bio.on{display:flex;}
.bio-dialog{
  position:relative;background:var(--card);border-radius:5px;
  max-width:660px;width:100%;padding:44px 46px 40px;
  box-shadow:0 30px 70px rgba(0,0,0,.45);
  animation:biofade .22s ease;
}
@keyframes biofade{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.bio-dialog h2{font-size:clamp(24px,3vw,32px);margin-bottom:8px;}
.bio-role{
  font-family:var(--mono);font-size:12px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--brass-bright);margin-bottom:24px;
}
.bio-dialog p{color:var(--ink-soft);font-size:16px;margin-bottom:15px;max-width:60ch;}
.bio-close{
  position:absolute;top:14px;right:16px;
  width:34px;height:34px;border-radius:50%;
  font-size:22px;line-height:1;color:var(--slate);
  display:flex;align-items:center;justify-content:center;
}
.bio-close:hover{background:var(--paper-deep);color:var(--ink);}
@media (max-width:560px){.bio-dialog{padding:40px 24px 30px;}}

.bio-contact{
  margin-top:22px;padding-top:18px;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:13.5px;letter-spacing:.01em;
}
.bio-contact a{
  color:var(--brass-bright);border-bottom:1px solid rgba(122,46,51,.35);
  padding-bottom:1px;transition:border-color .18s ease;
}
.bio-contact a:hover{border-color:var(--oxblood);}
