:root{
    --navy:#2D2833; --navy2:#3B3441; --navy3:#514850;
    --gold:#D8A48F; --gold2:#C78F77; --gold3:#E8CBBC;
    --berry:#9B526F;
    --bg1:#F7F2EC; --bg2:#EDE6DE; --card:#ffffff;
    --ink:#292630; --muted:#6B6470;
    --shadow-sm:0 3px 12px rgba(45,40,51,.06);
    --r-ctrl:8px; --r-panel:14px; --r-card:20px;
    --focus:0 0 0 3px rgba(199,143,119,.38);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  /* stop anchor jumps landing with the heading hidden behind the sticky header */
  section[id], .page-head, .fold-solo, .fold-pair{scroll-margin-top:calc(var(--header-h, 104px) + 14px);}
  body{
    margin:0;background:var(--bg1);color:var(--ink);
    font-family:'Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
    font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{font-family:'Manrope','Inter',system-ui,-apple-system,Arial,sans-serif;font-weight:700;color:var(--navy);margin:0 0 14px;}
  h1{font-size:clamp(38px,5.2vw,82px);line-height:1.02;letter-spacing:-2.2px;font-weight:800;}
  h2{font-size:clamp(26px,2.9vw,46px);line-height:1.18;letter-spacing:-.8px;}
  h3{font-size:20px;letter-spacing:-.3px;}
  p{margin:0 0 16px;}
  a{color:inherit;text-decoration:none;}
  button{font-family:inherit;cursor:pointer;}
  :focus-visible{outline:none;box-shadow:var(--focus);border-radius:8px;}
  .wrap{width:100%;max-width:1640px;margin:0 auto;padding:0 clamp(20px,4.5vw,84px);}
  .lede{font-size:clamp(17px,1.3vw,21px);color:var(--navy3);max-width:56ch;line-height:1.62;}
  .rule{height:1px;width:52px;background:var(--gold);border:none;margin:0 0 22px;}

  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:9px;
    min-height:46px;padding:12px 26px;border-radius:999px;
    font-size:16px;font-weight:700;border:1.5px solid transparent;transition:.16s ease;
  }
  .btn-dark{background:var(--navy);color:#fff;}
  .btn-dark:hover{background:var(--navy2);}
  .btn-gold{background:var(--gold);color:var(--navy);}
  .btn-gold:hover{background:var(--gold2);}
  .btn-outline{border-color:var(--navy);color:var(--navy);}
  .btn-outline:hover{background:var(--navy);color:#fff;}
  .btn-outline-light{border-color:rgba(232,203,188,.5);color:var(--gold3);}
  .btn-outline-light:hover{background:var(--gold);color:var(--navy);border-color:var(--gold);}
  .arrow{font-size:17px;line-height:1;transition:transform .16s ease;}
  .btn:hover .arrow{transform:translateX(3px);}

  header.site{
    background:rgba(247,242,236,.88);backdrop-filter:saturate(180%) blur(12px);
    position:sticky;top:0;z-index:50;border-bottom:1px solid var(--bg2);
  }
  .nav{display:flex;align-items:center;gap:18px;padding:18px 0;}
  .logo{display:flex;align-items:center;gap:13px;flex-shrink:0;}
  .logo .mark{width:auto;height:54px;flex-shrink:0;display:block;}
  .logo .word{display:block;font-family:'Manrope',sans-serif;font-weight:800;font-size:16px;letter-spacing:2.4px;color:var(--navy);text-transform:uppercase;line-height:1.25;}
  .logo .tag{display:block;font-size:11.5px;color:var(--gold2);font-style:italic;margin-top:3px;letter-spacing:.2px;}
  .nav-links{display:flex;align-items:center;gap:2px;margin-left:auto;flex-wrap:nowrap;}
  .nav-links a{padding:9px 15px;border-radius:999px;font-size:14.5px;font-weight:600;color:var(--navy3);transition:.15s ease;white-space:nowrap;}
  .nav-links a:hover{color:var(--navy);background:rgba(216,164,143,.18);}
  .nav-links a.here{color:var(--navy);font-weight:800;background:rgba(216,164,143,.28);}
  .nav-links .btn{margin-left:12px;min-height:42px;padding:11px 22px;font-size:13px;white-space:nowrap;
    background:var(--navy);color:#fff;border-color:var(--navy);
    letter-spacing:.8px;text-transform:uppercase;font-weight:800;}
  .nav-links .btn:hover{background:var(--gold);color:var(--navy);border-color:var(--gold);}
  .menu-btn{display:none;margin-left:auto;background:transparent;border:1.5px solid var(--bg2);color:var(--navy);border-radius:8px;padding:10px 14px;min-height:44px;font-weight:700;font-size:14px;}

  .hero{padding:clamp(26px,4.5vh,56px) 0 clamp(20px,3.4vh,44px);position:relative;overflow:hidden;}
  .hero::before{
    content:"";position:absolute;right:-6%;top:-14%;width:min(760px,52vw);height:min(760px,52vw);border-radius:50%;
    background:radial-gradient(circle at 42% 38%, rgba(216,164,143,.16), rgba(216,164,143,0) 62%);
    pointer-events:none;
  }
  .hero .inner{position:relative;z-index:1;max-width:min(1240px,90%);}
  .eyebrow{
    display:inline-flex;align-items:center;gap:12px;font-size:clamp(11px,.86vw,14px);font-weight:800;
    letter-spacing:1.4px;text-transform:uppercase;color:var(--gold2);margin-bottom:clamp(14px,2.2vh,24px);white-space:nowrap;line-height:1.4;
  }
  .eyebrow::before{content:"";width:34px;height:1.5px;background:var(--gold);flex-shrink:0;}
  .hero h1{max-width:24ch;margin-bottom:clamp(16px,2.2vh,28px);}
  .hero h1 em{font-style:normal;color:var(--gold2);}
  .hero .lede{font-size:clamp(15px,1.05vw,18px);max-width:62ch;margin-bottom:0;line-height:1.62;}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px;}
  .hero-cta .btn{min-width:236px;}
  .hero-cta .btn{min-width:224px;}
  .hero-meta{
    display:flex;gap:40px;flex-wrap:wrap;margin-top:64px;padding-top:28px;
    border-top:1px solid var(--bg2);position:relative;z-index:1;
  }
  .hero-meta div{max-width:22ch;}
  .hero-meta .k{font-size:11.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold2);margin-bottom:6px;}
  .hero-meta .v{font-size:14.5px;color:var(--navy3);line-height:1.55;}

  .fork{display:grid;grid-template-columns:1fr 1fr;gap:0;width:100%;border-top:1px solid var(--bg2);}
  .fork-half{
    padding-top:clamp(30px,4vh,54px);padding-bottom:clamp(30px,4vh,54px);
    position:relative;transition:.2s ease;display:flex;flex-direction:column;
  }
  .fork-half.light{
    padding-left:max(clamp(20px,4.5vw,84px), calc((100vw - 1640px)/2 + clamp(20px,4.5vw,84px)));
    padding-right:clamp(24px,3vw,56px);
  }
  .fork-half.dark{
    padding-left:clamp(24px,3vw,56px);
    padding-right:max(clamp(20px,4.5vw,84px), calc((100vw - 1640px)/2 + clamp(20px,4.5vw,84px)));
  }
  /* Warm rose wash so the light half reads as a deliberate half of the split
     rather than blending into the page. Swap this one value to change it:
     #FFFFFF (white) · #EDE6DE (soft sand) · #F7F2EC (the original ivory). */
  .fork-half.light{background:#F3E3D9;border-right:1px solid var(--bg2);}
  .fork-half.dark{background:var(--navy);}
  .fork-half.light:hover{background:#F7EDE6;}
  .fork-half.dark:hover{background:var(--navy2);}
  .fork-half .who{font-size:12.5px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:14px;}
  .fork-half.light .who{color:var(--gold2);}
  .fork-half.dark .who{color:var(--gold);}
  .fork-half h2{font-size:clamp(22px,1.9vw,32px);margin-bottom:12px;}
  .fork-half.dark h2{color:#fff;}
  .fork-half p{font-size:clamp(15px,1.05vw,17.5px);line-height:1.56;margin-bottom:clamp(14px,1.8vh,20px);max-width:42ch;}
  .fork-half.light p{color:var(--navy3);}
  .fork-half.dark p{color:#D3C8C3;}
  .fork-list{list-style:none;margin:0 0 clamp(14px,1.8vh,20px);padding:0;display:grid;gap:6px;flex:0 0 auto;align-content:start;}
  .fork-list li{font-size:clamp(14.5px,1vw,16.5px);display:flex;gap:11px;align-items:flex-start;line-height:1.52;}
  .fork-half.light .fork-list li{color:var(--navy3);}
  .fork-half.dark .fork-list li{color:#C9BEB9;}
  .fork-half .btn{align-self:flex-start;}
  .fork-list .tick{flex-shrink:0;margin-top:3px;}
  .fork-half.light .tick{color:var(--gold2);}
  .fork-half.dark .tick{color:var(--gold);}

  /* ---- Navigation fits, or becomes the Menu button ----
     Pre-existing bug: between roughly 920px and 1300px the six links plus the
     login button were wider than the page, so every page scrolled sideways.
     First tighten, then switch to the Menu button well before it can overflow. */
  @media (max-width:1400px) and (min-width:1181px){
    .logo .tag{display:none;}
    .logo .mark{height:46px;}
    .logo .word{font-size:15px;letter-spacing:1.9px;}
    .nav-links a{padding:9px 11px;font-size:13.5px;}
    .nav-links .btn{margin-left:8px;padding:10px 16px;font-size:12px;letter-spacing:.6px;}
  }
  @media (max-width:1180px){
    .nav{gap:12px;min-width:0;}
    .logo{min-width:0;flex-shrink:1;}
    .logo > span{min-width:0;}
    .logo .word{font-size:14px;letter-spacing:1.6px;}
    .logo .tag{display:none;}
    .menu-btn{display:block;flex-shrink:0;}
    header.site{position:relative;}
    .nav-links{display:none;}
    .nav-links.open{
      display:flex;flex-direction:column;align-items:stretch;gap:2px;
      position:absolute;top:100%;left:0;right:0;background:var(--bg1);
      padding:16px 28px 24px;border-bottom:1px solid var(--bg2);z-index:60;
    }
    .nav-links a{padding:14px 15px;white-space:normal;font-size:15px;}
    .nav-links .btn{margin:10px 0 0;}
  }

  section{padding:clamp(52px,6vw,96px) 0;}
  section.white{background:var(--card);}
  .sec-head{max-width:640px;margin-bottom:48px;}
  .kicker{font-size:13px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold2);margin-bottom:16px;}

  .list-rows{border-top:1px solid var(--bg2);}
  .row{
    display:grid;grid-template-columns:auto 1fr 1.5fr;gap:32px;align-items:start;
    padding:28px 0;border-bottom:1px solid var(--bg2);transition:.15s ease;
  }
  .row:hover{background:rgba(216,164,143,.05);}
  .row .idx{font-family:'Manrope',sans-serif;font-weight:800;font-size:13px;color:var(--gold2);padding-top:3px;letter-spacing:1px;}
  .row h3{margin:0;padding-top:1px;}
  .row p{margin:0;font-size:16.5px;color:var(--navy3);line-height:1.6;}

  .values{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;}
  .values.boxed{gap:26px;}
  .values.boxed .value{
    background:var(--bg1);border:1px solid var(--bg2);
    border-radius:var(--r-card);padding:30px 30px 32px;
  }
  .value .n{font-family:'Manrope',sans-serif;font-weight:800;font-size:12.5px;color:var(--gold2);letter-spacing:1.5px;margin-bottom:12px;}
  .value h3{margin-bottom:8px;}
  .value p{font-size:16px;color:var(--navy3);margin:0;line-height:1.6;}
  .value .bar{width:34px;height:1px;background:var(--gold);margin-bottom:16px;}

  .two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
  .quiet-card{border-left:2px solid var(--gold);padding-left:26px;}
  .quiet-card h3{margin-bottom:10px;}
  .quiet-card p{font-size:16.5px;color:var(--navy3);margin:0;line-height:1.62;}

  .steps{display:grid;gap:0;border-top:1px solid var(--bg2);}
  .step{display:grid;grid-template-columns:56px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid var(--bg2);align-items:start;}
  .step .num{
    width:38px;height:38px;border-radius:50%;border:1px solid var(--gold);
    display:flex;align-items:center;justify-content:center;
    font-family:'Manrope',sans-serif;font-weight:800;font-size:14px;color:var(--gold2);
  }
  .step h3{font-size:18.5px;margin-bottom:6px;}
  .step p{font-size:16px;color:var(--navy3);margin:0;max-width:62ch;line-height:1.6;}

  /* ---- Five-step flow (What we do) ---- */
  .flow{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-bottom:48px;position:relative;}
  .flow-step{position:relative;padding:0 clamp(12px,1.3vw,22px);}
  .flow-step:first-child{padding-left:0;}
  .flow-step:last-child{padding-right:0;}
  .flow-step .dot{
    width:44px;height:44px;border-radius:50%;background:var(--gold);color:var(--navy);
    display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;
    font-family:'Manrope',sans-serif;position:relative;z-index:2;margin-bottom:18px;
  }
  /* connecting line runs from each dot to the next */
  .flow-step::after{
    content:"";position:absolute;top:22px;left:calc(50% + 22px);right:0;height:1.5px;
    background:var(--gold3);z-index:1;
  }
  .flow-step:first-child::after{left:22px;}
  .flow-step:last-child::after{display:none;}
  .flow-step h3{font-size:16.5px;margin-bottom:8px;line-height:1.3;}
  .flow-step p{font-size:14px;color:var(--navy3);margin:0;line-height:1.58;}
  @media (max-width:1100px){
    .flow{grid-template-columns:1fr;gap:0;}
    .flow-step{padding:0 0 26px 62px;}
    .flow-step .dot{position:absolute;left:0;top:0;margin-bottom:0;}
    .flow-step::after{top:44px;left:22px;right:auto;width:1.5px;height:calc(100% - 44px);}
    .flow-step:first-child::after{left:22px;}
    .flow-step h3{font-size:18px;}
    .flow-step p{font-size:15.5px;}
  }

  .faq{border-top:1px solid var(--bg2);margin-top:8px;}
  /* ---- Grouped FAQ: three columns so 15 questions fit one screen ---- */
  .faq-grouped{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(28px,3vw,56px);
    border-top:none;align-items:start;}
  .faq-grouped .faq-col{border-top:1px solid var(--bg2);}
  .faq-grouped .faq-group{
    font-size:12.5px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;
    color:var(--gold2);margin:20px 0 6px;
  }
  .faq-grouped summary{font-size:14px;padding:12px 30px 12px 0;}
  .faq-grouped summary::after{font-size:19px;right:2px;}
  .faq-grouped details p{padding:0 28px 16px 0;font-size:13.8px;line-height:1.6;}
  .faq-grouped .faq-group{margin:16px 0 4px;font-size:11.5px;}
  @media (max-width:1100px){
    .faq-grouped{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:760px){
    .faq-grouped{grid-template-columns:1fr;}
  }
  .faq details{border-bottom:1px solid var(--bg2);}
  .faq summary{
    cursor:pointer;padding:24px 44px 24px 0;font-weight:700;font-size:16.5px;color:var(--navy);
    list-style:none;position:relative;min-height:44px;display:flex;align-items:center;
    font-family:'Manrope',sans-serif;
  }
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary::after{content:"+";position:absolute;right:6px;font-size:24px;font-weight:300;color:var(--gold2);}
  .faq details[open] summary::after{content:"\2212";}
  .faq details p{padding:0 60px 26px 0;font-size:15.5px;color:var(--navy3);margin:0;line-height:1.68;}

  .foot-grid{align-items:start;}
  /* Nine leaders over two rows: the three managers span two columns each on the
     top row, the six supervisors sit one per column underneath. */
  /* Nine leaders as a 3 x 3 block beside the heading, so the grid stays square
     and the section still fills the page width. */
  .people-split{display:grid;grid-template-columns:auto auto;justify-content:space-between;
    gap:clamp(36px,4vw,80px);align-items:center;
    max-width:clamp(880px,88vw,1260px);margin-left:0;margin-right:auto;}
  .people-copy{max-width:46ch;}
  .people-cta{margin:clamp(22px,2.6vh,34px) 0 0;}
  /* columns are wider than the photos so every name sits on one line */
  .team{display:grid;grid-template-columns:repeat(3,1fr);
    gap:clamp(14px,1.4vw,22px);width:clamp(560px,45vw,700px);}
  .member{text-align:center;}
  .member .photo{margin-left:auto;margin-right:auto;}
  .member .photo{
    width:100%;max-width:150px;aspect-ratio:1;border-radius:var(--r-panel);background:var(--bg2);
    display:flex;align-items:center;justify-content:center;color:var(--gold2);
    margin:0 auto 12px;overflow:hidden;
  }
  .member .photo{position:relative;}
  /* hidden until it genuinely loads, so a missing or differently-named file
     never shows a broken-image icon or stray alt text */
  .member .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    object-position:center 22%;border-radius:inherit;opacity:0;transition:opacity .25s ease;}
  .member .photo img.ready{opacity:1;}
  /* reserve two lines for the name so every role sits on the same baseline */
  .member h3{font-size:16px;margin-bottom:6px;line-height:1.3;
    text-transform:uppercase;letter-spacing:.4px;}
  .member p{font-size:13px;color:var(--navy3);margin:0;line-height:1.42;}
  .member .cred{font-size:11.5px;color:var(--gold2);margin-top:3px;font-style:italic;}

  .contact-grid{display:grid;grid-template-columns:1fr 0.82fr;gap:clamp(40px,4vw,72px);align-items:start;}
  .contact-grid-top > div:first-child > .sub-head{margin-bottom:26px;}
  .contact-line{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--bg2);}
  .contact-line:first-of-type{border-top:1px solid var(--bg2);}
  .contact-line .ic{width:22px;flex-shrink:0;color:var(--gold2);padding-top:2px;}
  .contact-line .lbl{font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:2px;}
  .contact-line .val{font-weight:600;color:var(--navy);font-size:15px;}
  .form-card{background:var(--card);border:1px solid var(--bg2);border-radius:var(--r-card);padding:38px;box-shadow:var(--shadow-sm);}
  .field{margin-bottom:18px;}
  .field label{display:block;font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--navy3);margin-bottom:7px;}
  .field input,.field select,.field textarea{
    width:100%;padding:13px 15px;border:1px solid var(--bg2);border-radius:var(--r-ctrl);
    font-size:16px;font-family:inherit;background:var(--bg1);color:var(--ink);
  }
  .field textarea{min-height:104px;resize:vertical;}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold2);box-shadow:var(--focus);}
  .form-msg{font-size:14.5px;margin-top:16px;padding:13px 16px;border-radius:var(--r-ctrl);display:none;}
  .form-msg.show{display:block;}
  .form-msg.ok{background:#F1F4EF;color:#3F5240;}
  .form-msg.err{background:#FBE9E7;color:#A13B2B;}

  .cta-band{background:var(--navy);padding:76px 0;text-align:center;}
  .cta-band h2{color:#fff;max-width:20ch;margin:0 auto 14px;}
  .cta-band p{color:#D3C8C3;max-width:52ch;margin:0 auto 32px;font-size:18.5px;}

  /* ---- Footer: aubergine band, four balanced columns ---- */
  footer.site{
    background:var(--navy);color:#B8AEB4;
    padding:clamp(48px,5vw,72px) 0 28px;font-size:14px;
  }
  footer.site h4{color:var(--gold);font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:18px;}
  footer.site a{color:#D9D2D6;}
  /* :not(.btn) matters - without it this also recoloured the CTA button's text
     to the same gold as its hover fill, making the label vanish on hover. */
  footer.site a:not(.btn):hover{color:var(--gold);}
  .foot-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1.15fr;gap:clamp(28px,3vw,56px);
    margin-bottom:clamp(32px,3.4vw,48px);}
  .foot-brand-col{max-width:34ch;}
  .foot-brand{display:block;margin-bottom:18px;}
  /* the lockup already carries the wordmark and tagline, so neither is repeated as text */
  .foot-brand .mark-full{width:auto;height:92px;display:block;}
  .foot-about{margin:0;color:#B8AEB4;line-height:1.62;font-size:13.5px;}
  .foot-links{display:grid;gap:12px;}
  .foot-cta p{margin:0 0 18px;color:#B8AEB4;font-size:13.5px;line-height:1.6;max-width:30ch;}
  .foot-cta .btn{min-height:42px;padding:10px 22px;font-size:14px;}
  .foot-legal{display:block;margin-bottom:8px;}
  .foot-legal a{color:#B8AEB4;border-bottom:1px solid rgba(216,164,143,.28);}
  .foot-legal a:hover{color:var(--gold);border-bottom-color:var(--gold);}
  .foot-bottom{
    border-top:1px solid rgba(216,164,143,.22);padding-top:22px;
    font-size:12.5px;color:#9A9098;line-height:1.6;
  }

  /* Get in touch — single contact row after the office details were removed */
  .form-note{margin:16px 0 0;font-size:13.5px;color:var(--navy3);font-style:italic;text-align:center;}
  .form-alt{margin:8px 0 0;font-size:13px;color:var(--muted);text-align:center;}
  .form-alt a{color:var(--navy3);border-bottom:1px solid var(--bg2);}
  .form-alt a:hover{color:var(--gold2);border-bottom-color:var(--gold2);}
  .contact-simple{max-width:520px;}

  /* Careers — a direct address under the CTA, for people who would rather ask
     one question than fill in a form. Deliberately quiet: the button is the
     primary route. */
  .direct-line{margin:14px 0 0;font-size:14px;color:var(--navy3);}
  .direct-line a{color:var(--navy3);border-bottom:1px solid var(--bg2);}
  .direct-line a:hover{color:var(--gold2);border-bottom-color:var(--gold2);}
  .contact-simple .contact-line{border-bottom:none;}
  .contact-simple .respond{margin:14px 0 0;font-size:15px;color:var(--navy3);font-style:italic;}

  @media (max-width:920px){
    /* the logo lockup was pushing the Menu button off the right edge on phones,
       which made every page scroll sideways */
    .nav{gap:12px;min-width:0;}
    .logo{min-width:0;flex-shrink:1;}
    .logo > span{min-width:0;}
    .logo .word{font-size:14px;letter-spacing:1.6px;}
    .logo .tag{display:none;}
    .menu-btn{flex-shrink:0;}
    .nav-links{display:none;}
    .nav-links.open{
      display:flex;flex-direction:column;align-items:stretch;gap:2px;
      position:absolute;top:100%;left:0;right:0;background:var(--bg1);
      padding:16px 28px 24px;border-bottom:1px solid var(--bg2);
    }
    .nav-links a{padding:14px 15px;white-space:normal;}
    .hero-cta .btn{min-width:0;width:100%;}
    .nav-links .btn{margin:10px 0 0;}
    .menu-btn{display:block;}
    header.site{position:relative;}
    .fork{grid-template-columns:1fr;}
    .fork-half,.fork-half.light,.fork-half.dark{padding:36px clamp(20px,5vw,28px);}
    .eyebrow{white-space:normal;}
    .fork-half.light{border-right:none;border-bottom:1px solid var(--bg2);}
    .values,.two-col,.contact-grid{grid-template-columns:1fr;gap:36px;}
    /* below laptop the heading stacks above the grid again; names may wrap
       here because the columns are far narrower than on a laptop */
    .people-split{grid-template-columns:1fr;gap:30px;max-width:none;}
    .team,.fold-solo .team{width:auto;max-width:none;justify-self:stretch;}
    .member .photo,.fold-solo .member .photo{max-width:100%;}
    .member h3,.fold-solo .member h3{white-space:normal;font-size:15px;}
    .member p,.fold-solo .member p{white-space:normal;font-size:14.5px;}
    .member .cred,.fold-solo .member .cred{font-size:13px;}
    .foot-grid{grid-template-columns:1fr 1fr;gap:32px;}
    .foot-brand-col{grid-column:1 / -1;}
    .team{grid-template-columns:repeat(3,1fr);gap:16px;}
    .row{grid-template-columns:auto 1fr;gap:18px;}
    .row p{grid-column:2;}
    .hero{padding:40px 0 34px;}

    section{padding:60px 0;}
    .form-card{padding:28px;}
    .logo .mark{height:44px;}
    .logo .word{font-size:13.5px;letter-spacing:2px;}
    .logo .tag{font-size:10px;}
    .foot-brand .mark-full{height:96px;}
  }
  .page-head{padding:76px 0 44px;position:relative;overflow:hidden;}
  .page-head::before{
    content:"";position:absolute;right:-6%;top:-30%;width:520px;height:520px;border-radius:50%;
    background:radial-gradient(circle at 40% 35%, rgba(216,164,143,.16), rgba(216,164,143,0) 66%);
    pointer-events:none;
  }
  .page-head .inner{position:relative;z-index:1;max-width:760px;}
  .page-head h1{font-size:clamp(30px,4.4vw,46px);letter-spacing:-.9px;margin-bottom:18px;}
  .anchor-bar{
    display:flex;gap:8px;flex-wrap:wrap;padding:0 0 4px;position:relative;z-index:1;margin-top:30px;
  }
  .anchor-bar a{
    font-size:14.5px;font-weight:700;color:var(--navy);border:1.5px solid var(--gold);
    background:var(--gold3);border-radius:999px;padding:11px 22px;min-height:44px;
    display:inline-flex;align-items:center;transition:.15s ease;
  }
  .anchor-bar a:hover{background:var(--gold);border-color:var(--gold2);}
  .sub-head{max-width:640px;margin-bottom:36px;}
  .sub-head h2{margin-bottom:12px;}
  .prose{max-width:68ch;}
  .prose p{font-size:18px;color:var(--navy3);line-height:1.72;}
  .pull{
    border-left:2px solid var(--gold);padding:6px 0 6px 28px;margin:34px 0;
    font-family:'Manrope',sans-serif;font-size:19px;line-height:1.5;color:var(--navy);font-weight:600;max-width:44ch;
  }
  .role-card{
    background:var(--card);border:1px solid var(--bg2);border-radius:var(--r-card);
    padding:32px;box-shadow:var(--shadow-sm);
  }
  section.white .role-card{background:var(--bg1);}
  .role-card .tagline{font-size:11.5px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold2);margin-bottom:12px;}
  .role-card h3{font-size:21px;margin-bottom:10px;}
  .role-card p{font-size:15px;color:var(--navy3);line-height:1.62;}
  .role-card ul{list-style:none;margin:18px 0 24px;padding:0;display:grid;gap:9px;}
  .role-card li{font-size:14.5px;color:var(--navy3);display:flex;gap:10px;}
  .role-card li::before{content:"\2014";color:var(--gold2);flex-shrink:0;}
  .map-frame{
    width:100%;aspect-ratio:16/9;border-radius:var(--r-card);background:var(--bg2);
    display:flex;align-items:center;justify-content:center;color:var(--muted);
    font-size:14px;border:1px solid var(--bg2);text-align:center;padding:24px;
  }
  @media (max-width:920px){
    .page-head{padding:52px 0 32px;}
    .pull{font-size:17px;padding-left:20px;}
    .role-card{padding:24px;}
  }

  .nav-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
  .nav-card{
    display:flex;flex-direction:column;background:var(--bg1);border:1px solid var(--bg2);
    border-radius:var(--r-card);padding:26px;transition:.18s ease;
  }
  .nav-card:hover{background:var(--bg2);border-color:var(--gold);transform:translateY(-3px);box-shadow:var(--shadow-sm);}
  .nc-k{font-size:12.5px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold2);margin-bottom:14px;}
  .nav-card h3{font-size:21px;margin-bottom:10px;}
  .nav-card p{font-size:16px;color:var(--navy3);line-height:1.58;margin:0 0 22px;flex:1;}
  .nc-go{font-size:15px;font-weight:700;color:var(--navy);display:inline-flex;align-items:center;gap:8px;}
  .nav-card:hover .nc-go{color:var(--gold2);}
  .nav-card:hover .nc-go .arrow{transform:translateX(3px);}
  @media (max-width:920px){
    .nav-cards{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:560px){
    .nav-cards{grid-template-columns:1fr;}
  }


  /* ---- Tablet band (about 768–1100px) ---- */
  @media (max-width:1100px) and (min-width:921px){
    .values{grid-template-columns:1fr 1fr;gap:32px;}
    .team{grid-template-columns:repeat(5,1fr);}
    .nav-cards{grid-template-columns:1fr 1fr;}
    .hero .inner{max-width:100%;}
  }

  /* ---- Small phones (about 390px and below) ---- */
  @media (max-width:430px){
    .wrap{padding:0 18px;}
    .eyebrow{white-space:normal;}
    .logo .mark{height:38px;}
    .logo .word{font-size:12px;letter-spacing:1.6px;}
    .logo .tag{font-size:9.5px;}
    .hero-meta{gap:22px;}
    .hero-meta div{max-width:100%;}
    .row{gap:14px;}
    .faq summary{font-size:15.5px;padding-right:36px;}
    .step{grid-template-columns:44px 1fr;gap:16px;}
    .form-card{padding:22px;}
    .foot-brand .mark-full{height:82px;}
  }


  /* ---- Keep hero + split within one screen on laptops ---- */
  @media (min-width:1024px) and (max-height:860px){
    .hero{padding:clamp(22px,3.4vh,40px) 0 clamp(16px,2.6vh,30px);}
    h1{font-size:clamp(36px,4.6vw,68px);}
    .fork-half{padding:clamp(22px,3vh,38px) clamp(24px,3vw,56px);}
    .fork-half h2{font-size:clamp(19px,1.5vw,24px);}
  }


  /* ---- Page head + first section share one screen (About) ---- */
  .fold-pair{display:block;}
  @media (min-width:1024px){
    .fold-pair{
      min-height:calc(100svh - var(--header-h, 104px));
      display:flex;flex-direction:column;
    }
    .fold-pair .page-head{flex:0 0 auto;padding-bottom:clamp(20px,2.4vh,34px);}
    .fold-pair > section{
      flex:1 1 auto;display:flex;align-items:center;
      padding-top:clamp(26px,3vh,44px);padding-bottom:clamp(26px,3vh,44px);
    }
    .fold-pair > section > .wrap{width:100%;}
    .fold-pair .page-head h1{font-size:clamp(38px,4.1vw,62px);}
    .fold-pair .page-head .lede{font-size:16.5px;max-width:74ch;}
    .fold-pair .page-head .kicker{margin-bottom:10px;}
    .fold-pair .sub-head{margin-bottom:18px;}
    .fold-pair .sub-head h2{font-size:clamp(24px,2.2vw,34px);margin-bottom:0;}
    /* the story runs in two columns so it sits beside itself, not below */
    .fold-pair .prose{max-width:none;columns:2;column-gap:clamp(32px,3.4vw,64px);}
    .fold-pair .prose p{font-size:15.5px;line-height:1.6;margin-bottom:12px;break-inside:avoid;}
    .fold-pair .pull{margin:16px 0;font-size:17px;break-inside:avoid;}
    .fold-pair .list-rows .row{padding:15px 0;gap:24px;}
    .fold-pair .list-rows .row h3{font-size:18px;}
    .fold-pair .list-rows .row p{font-size:16px;line-height:1.58;}
    .fold-pair .list-rows .idx{font-size:11px;}
    .fold-pair .form-card{padding:26px;}
    .fold-pair .form-card .field{margin-bottom:14px;}
    .fold-pair .quiet-card p{font-size:14.6px;line-height:1.55;}
    /* six service rows and a tall form need more room than prose does */
    .fold-pair.fold-tight .page-head{padding-top:clamp(22px,2.6vh,40px);padding-bottom:10px;}
    .fold-pair.fold-tight .page-head h1{font-size:clamp(32px,3.0vw,42px);}
    .fold-pair.fold-tight .page-head .lede{font-size:15px;max-width:80ch;}
    .fold-pair.fold-tight .anchor-bar{margin-top:14px;}
    .fold-pair.fold-tight > section{padding-top:16px;padding-bottom:16px;}
    .fold-pair.fold-tight .sub-head{margin-bottom:12px;}
    .fold-pair.fold-tight .sub-head h2{font-size:clamp(21px,1.8vw,27px);}
    .fold-pair.fold-tight .sub-head .lede{font-size:14.5px;}
    .fold-pair.fold-tight .list-rows .row{padding:9px 0;gap:20px;}
    .fold-pair.fold-tight .list-rows .row h3{font-size:17px;}
    .fold-pair.fold-tight .list-rows .row p{font-size:15.5px;line-height:1.55;}
    .fold-pair.fold-tight .acronym .value{padding:19px 18px 21px;}
    .fold-pair.fold-tight .acronym .value h3{font-size:15.5px;}
    .fold-pair.fold-tight .acronym .value p{font-size:13px;line-height:1.5;}
    .fold-pair.fold-tight .values.boxed .value{padding:22px 22px 24px;}
    .fold-pair.fold-tight .form-card{padding:20px;}
    .fold-pair.fold-tight .form-card .field{margin-bottom:10px;}
    .fold-pair.fold-tight .form-card label{margin-bottom:4px;}
    .fold-pair.fold-tight .form-card textarea{min-height:64px;}
    .fold-pair.fold-tight .quiet-card p{font-size:13.8px;line-height:1.5;}
    .fold-pair.fold-tight .quiet-card{margin-bottom:16px !important;}
  }
  /* shorter laptop screens need a tighter setting again */
  @media (min-width:1024px) and (max-height:900px){
    .fold-pair .page-head{padding-top:clamp(28px,3.4vh,52px);padding-bottom:14px;}
    .fold-pair .page-head h1{font-size:clamp(34px,3.2vw,46px);}
    .fold-pair .page-head .lede{font-size:15.5px;}
    .fold-pair > section{padding-top:20px;padding-bottom:20px;}
    .fold-pair .sub-head{margin-bottom:14px;}
    .fold-pair .sub-head h2{font-size:clamp(22px,1.9vw,28px);}
    .fold-pair .prose p{font-size:14.6px;line-height:1.56;margin-bottom:10px;}
    .fold-pair .pull{margin:12px 0;font-size:15.5px;}
    .fold-pair .list-rows .row{padding:11px 0;}
    .fold-pair .list-rows .row p{font-size:13.6px;}
    .fold-pair .form-card{padding:22px;}
    .fold-pair .form-card .field{margin-bottom:11px;}
    .fold-pair.fold-tight .page-head{padding-top:16px;padding-bottom:6px;}
    .fold-pair.fold-tight .page-head h1{font-size:clamp(26px,2.3vw,31px);}
    .fold-pair.fold-tight .page-head .lede{font-size:14px;}
    .fold-pair.fold-tight .anchor-bar{margin-top:8px;}
    .fold-pair.fold-tight > section{padding-top:6px;padding-bottom:6px;}
    .fold-pair.fold-tight .sub-head{margin-bottom:6px;}
    .fold-pair.fold-tight .sub-head h2{font-size:clamp(19px,1.6vw,23px);}
    .fold-pair.fold-tight .sub-head .lede{font-size:13.6px;}
    .fold-pair.fold-tight .list-rows .row{padding:3px 0;gap:13px;}
    .fold-pair.fold-tight .list-rows .row h3{font-size:16px;}
    .fold-pair.fold-tight .list-rows .row p{font-size:14.5px;line-height:1.5;}
    .fold-pair.fold-tight .form-card{padding:16px;}
    .fold-pair.fold-tight .form-card .field{margin-bottom:8px;}
    .fold-pair.fold-tight .form-note{margin-top:11px;font-size:12.6px;}
    .fold-pair.fold-tight .form-alt{margin-top:6px;font-size:12px;}
    .fold-pair.fold-tight .form-card textarea{min-height:52px;}
    .fold-pair.fold-tight .quiet-card{margin-bottom:12px !important;}
    .fold-pair.fold-tight .quiet-card p{font-size:13.2px;line-height:1.46;}
    .fold-pair.fold-tight .acronym .value{padding:16px 15px 18px;}
    .fold-pair.fold-tight .acronym .value .n{font-size:21px;margin-bottom:3px;}
    .fold-pair.fold-tight .acronym .value h3{font-size:14.5px;margin-bottom:5px;}
    .fold-pair.fold-tight .acronym .value p{font-size:12.4px;line-height:1.45;}
    .fold-pair.fold-tight .values.boxed{gap:18px;}
    .fold-pair.fold-tight .values.boxed .value{padding:15px 16px 17px;}
    .fold-pair.fold-tight .values.boxed .value h3{font-size:15px;margin-bottom:5px;}
    .fold-pair.fold-tight .values.boxed .value p{font-size:12.6px;line-height:1.46;}
    .fold-pair.fold-tight .two-col{gap:34px;margin-bottom:20px !important;}
    .fold-pair.fold-tight .prose p{font-size:14.4px;line-height:1.56;margin-bottom:10px;}
  }

  /* ---- A section that stands alone on one screen (About team) ---- */
  .fold-solo{display:block;}
  @media (min-width:1024px){
    .fold-solo{
      min-height:calc(100svh - var(--header-h, 104px));
      display:flex;align-items:center;
      padding-top:clamp(24px,3vh,48px);padding-bottom:clamp(24px,3vh,48px);
    }
    .fold-solo > .wrap{width:100%;}
    .fold-solo .sub-head{margin-bottom:clamp(18px,2.4vh,30px);}
    .fold-solo .sub-head h2{font-size:clamp(24px,2.2vw,34px);}
    .fold-solo .sub-head .lede{font-size:16px;}
    .fold-solo .team{gap:clamp(12px,1.2vw,20px);}
    .fold-solo .member .photo{max-width:clamp(112px,9.4vw,146px);margin-bottom:10px;}
    .fold-solo .team + p{margin-top:clamp(18px,2.6vh,34px) !important;}
    .fold-solo .faq-grouped summary{font-size:13.4px;padding:9px 28px 9px 0;}
    .fold-solo .faq-grouped .faq-group{margin:12px 0 2px;}
    .fold-solo .faq + p{margin-top:clamp(16px,2.4vh,30px) !important;}
  }
  @media (min-width:1024px) and (max-height:900px){
    .fold-solo .sub-head h2{font-size:clamp(22px,1.9vw,28px);}
    .fold-solo .sub-head .lede{font-size:15px;}
    .fold-solo .team{max-width:clamp(580px,46vw,660px);gap:clamp(12px,1.2vw,18px);}
    .fold-solo .member .photo{max-width:clamp(106px,8.8vw,130px);margin-bottom:8px;}
    .fold-solo .member h3{font-size:15px;letter-spacing:.3px;}
    .fold-solo .member p{font-size:14.5px;}
    .fold-solo .member .cred{font-size:13px;}

    .fold-solo .faq-grouped summary{font-size:12.8px;padding:7px 26px 7px 0;}
    .fold-solo .sub-head{margin-bottom:12px;}
  }

  /* ---- Hero + split occupy exactly one screen on laptop and up ---- */
  .above-fold{display:block;}
  @media (min-width:1024px){
    .above-fold{
      min-height:calc(100svh - var(--header-h, 104px));
      display:flex;flex-direction:column;
    }
    .above-fold .hero{flex:1 1 auto;display:flex;align-items:center;}
    .above-fold .hero > .wrap{width:100%;}
    .above-fold .fork{flex:0 0 auto;}
    .above-fold .fork-list{flex:0 0 auto;}
  }


  /* ---- Full-screen sections on laptop and up ---- */
  @media (min-width:1024px){
    section.screen{
      min-height:calc(100svh - var(--header-h, 104px));
      display:flex;align-items:center;
      padding-top:clamp(40px,5vh,72px);padding-bottom:clamp(40px,5vh,72px);
    }
    section.screen > .wrap{width:100%;}
    section.screen .sec-head{margin-bottom:clamp(28px,4vh,48px);}

    .cta-band{
      min-height:46svh;display:flex;align-items:center;
      padding:clamp(48px,7vh,96px) 0;
    }
    .cta-band > .wrap{width:100%;}
  }

  /* ---- The closing band and the footer share the last screen ----
     Without this the band is sized on its own and the footer pushes past the
     fold, so scrolling to the bottom cuts the band's heading off. ---- */
  @media (min-width:1024px){
    section.screen:last-of-type{
      min-height:0;
      padding-top:clamp(30px,4.4vh,60px);padding-bottom:clamp(26px,3.6vh,48px);
    }
    section.screen:last-of-type .sec-head{margin-bottom:clamp(20px,2.8vh,34px);}
    footer.site{padding-top:clamp(34px,3.8vw,54px);padding-bottom:22px;}
    .foot-grid{margin-bottom:clamp(22px,2.4vw,34px);}
    .foot-brand .mark-full{height:78px;}
  }
  @media (min-width:1024px) and (max-height:900px){
    section.screen:last-of-type{padding-top:18px;padding-bottom:16px;}
    section.screen:last-of-type .sec-head{margin-bottom:14px;}
    section.screen:last-of-type h2{font-size:clamp(24px,2.4vw,34px);}
    section.screen:last-of-type .lede{font-size:16px;}
    section.screen:last-of-type .btn{min-height:44px;}
    footer.site{padding-top:30px;padding-bottom:18px;}
    .foot-grid{margin-bottom:20px;}
    .foot-brand{margin-bottom:12px;}
    .foot-brand .mark-full{height:66px;}
    .foot-links{gap:9px;}
    .foot-cta p{margin-bottom:13px;}
  }



  /* Kept for reference: the standalone W.E.A.L.T.H. lockup, no longer used on
     the Purpose page now that the acronym is the section heading itself. */
  .acronym-word{
    font-family:'Manrope',sans-serif;font-weight:800;
    font-size:clamp(28px,3.4vw,52px);letter-spacing:clamp(2px,.5vw,8px);
    color:var(--gold2);margin-bottom:clamp(28px,4vh,48px);
  }

  /* The acronym as the section heading. */
  .sub-head.sub-wide{max-width:900px;margin-bottom:52px;}
  h2.acro-head{
    font-family:'Manrope','Inter',sans-serif;font-weight:800;
    font-size:clamp(40px,5.6vw,86px);letter-spacing:clamp(3px,.7vw,12px);
    color:var(--gold2);line-height:1.05;margin-bottom:20px;
  }

  /* Value cards. Scoped to .acronym so the Careers feature cards,
     which share the .value class, are left exactly as they were. */
  .acronym .values{grid-template-columns:repeat(6,1fr);gap:14px;}
  .acronym .value{
    background:var(--bg1);border:1px solid var(--bg2);
    border-radius:var(--r-card);padding:22px 20px 24px;
  }
  .acronym .value h3{font-size:17px;margin-bottom:7px;}
  .acronym .value p{font-size:14px;line-height:1.55;}
  .acronym .value .n{
    font-size:26px;font-weight:800;color:var(--gold2);letter-spacing:0;margin-bottom:5px;
    font-family:'Manrope',sans-serif;
  }
  .acronym .value .bar{width:28px;margin-bottom:13px;}
  @media (max-width:1280px) and (min-width:921px){
    .acronym .values{grid-template-columns:repeat(3,1fr);gap:20px;}
    .acronym .value{padding:26px 24px 28px;}
  }
  @media (max-width:920px){
    .acronym .values{grid-template-columns:1fr;gap:18px;}
    .acronym .value{padding:26px 24px 28px;}
    .sub-head.sub-wide{margin-bottom:34px;}
  }
  @media (max-width:430px){
    h2.acro-head{letter-spacing:2px;}
    .acronym .value{padding:22px 20px 24px;}
  }
