:root{
    --ink:#0E0E0D;
    --graphite:#1C1C1A;
    --paper:#F6F4EF;
    --paper-2:#E8E3D7;
    --slate:#6E6C66;
    --fog:#D9D6CE;
    --text:#2b2a26;
    --serif:'Libre Caslon Display', Georgia, 'Times New Roman', serif;
    --sans:'Archivo', system-ui, -apple-system, sans-serif;
    --maxw:1600px;
    --pad:clamp(24px, 6vw, 88px);
  }
  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--text);
    font-family:var(--sans);
    font-weight:400;
    font-size:clamp(1rem, 0.96rem + 0.2vw, 1.12rem);
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
  }
  a{color:inherit;}
  ::selection{background:var(--ink);color:var(--paper);}

  .wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad);}

  .eyebrow{
    font-family:var(--sans);
    font-weight:500;
    font-size:0.8125rem;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--slate);
    margin:0 0 1.4rem;
  }

  /* ---- brand mark: inline 02 wordmark (tight viewBox), fill inherits currentColor ---- */
  .logo-primary{
    display:block;
    height:clamp(22px, 3.4vw, 32px);
    width:auto;
    fill:currentColor;
  }

  /* hero nav (over the image) */
  .hero-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:clamp(20px,3vw,34px);position:relative;}
  .hero-nav .logo-primary{color:var(--paper);height:clamp(28px,3vw,36px);}
  .hero-nav a.brand{display:inline-block;line-height:0;text-decoration:none;}
  .nav-links{display:flex;align-items:center;gap:clamp(14px,1.8vw,28px);list-style:none;margin:0;padding:0;}
  .nav-links a{font-family:var(--sans);font-size:0.82rem;letter-spacing:0.04em;color:var(--fog);text-decoration:none;white-space:nowrap;transition:color .2s ease;}
  .nav-links a:hover,.nav-links a:focus-visible{color:var(--paper);}
  .nav-toggle{display:none;background:none;border:0;color:var(--paper);font-size:1.5rem;line-height:1;cursor:pointer;padding:2px 6px;}
  section[id]{scroll-margin-top:24px;}
  .who-intro{max-width:62ch;margin:0;color:var(--text);}
  .do-support{font-size:0.95rem;max-width:60ch;margin-top:clamp(1.4rem,2.5vw,2rem);}
  .split{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(32px,7vw,96px);align-items:start;}
  .split-head .eyebrow{margin-bottom:1rem;}
  .split-head h2{margin:0;}
  .split-body p:first-child{margin-top:0;}
  @media (max-width:820px){.split{grid-template-columns:1fr;gap:clamp(14px,4vw,26px);}}
  @media (max-width:1100px){
    .hero-nav{gap:clamp(12px,3vw,24px);}
    .hero-nav a.brand{flex:1 1 auto;min-width:0;max-width:380px;}
    .hero-nav .logo-primary{width:100%;height:auto;max-height:36px;}
    .hero-nav .nav-toggle{flex:0 0 auto;}
    .hero-nav .nav-toggle{display:block;}
    .nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:var(--ink);border-top:1px solid rgba(217,214,206,0.2);padding:8px var(--pad) 16px;display:none;z-index:5;}
    .hero-nav.open .nav-links{display:flex;}
    .nav-links a{padding:11px 0;font-size:1rem;width:100%;color:var(--fog);}
  }

  /* ---------------------------- hero ---------------------------- */
  .hero{
    position:relative;
    background:var(--ink);
    color:var(--paper);
    overflow:hidden;
    isolation:isolate;
    min-height:clamp(480px, 72vh, 760px);
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  .hero-bg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    /* strip blue/color to warm monochrome so it sits in the Ink/Paper palette */
    filter:grayscale(1) sepia(0.32) brightness(0.9) contrast(1.05);
    z-index:0;
  }
  .hero-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    /* darkest at bottom-left (behind headline/subhead) and top (nav, over the bright sky);
       lighter through the middle/right so the image stays visible as a quiet backdrop */
    background:
      linear-gradient(to bottom, rgba(14,14,13,0.74) 0%, rgba(14,14,13,0) 30%),
      linear-gradient(to top, rgba(14,14,13,0.96) 0%, rgba(14,14,13,0.62) 44%, rgba(14,14,13,0.40) 100%),
      linear-gradient(to right, rgba(14,14,13,0.66) 0%, rgba(14,14,13,0.30) 60%, rgba(14,14,13,0.14) 100%);
  }
  .hero > .wrap{
    position:relative;
    z-index:2;
    width:100%;
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
  }
  .nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding-block:clamp(24px,3.2vw,38px);
  }
  .nav .logo-primary{color:var(--paper);}
  .nav a.brand{display:inline-block;line-height:0;text-decoration:none;}
  .inquire{
    display:inline-block;
    font-family:var(--sans);
    font-weight:500;
    font-size:0.82rem;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--paper);
    text-decoration:none;
    border:1px solid rgba(217,214,206,0.45);
    padding:1.3em 2.5em;
    border-radius:0;
    transition:background-color .25s ease, color .25s ease, border-color .25s ease;
    white-space:nowrap;
  }
  .inquire:hover,.inquire:focus-visible{background:var(--paper);color:var(--ink);border-color:var(--paper);}

  .hero-inner{
    margin-top:auto;
    padding-top:clamp(48px,9vw,120px);
    padding-bottom:clamp(56px,9vw,110px);
    max-width:64rem;
  }
  h1.hero-head{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(2.5rem, 1.4rem + 5vw, 5rem);
    line-height:1.05;
    letter-spacing:-0.015em;
    margin:0;
    color:var(--paper);
    max-width:26ch;
  }
  .hero-sub{
    margin:clamp(1.6rem,3vw,2.4rem) 0 0;
    max-width:46ch;
    color:var(--fog);
    font-size:clamp(1.05rem,1rem + 0.4vw,1.28rem);
    line-height:1.55;
  }

  /* --------------------------- sections --------------------------- */
  section{padding-block:clamp(72px,10vw,140px);}
  .section-head{max-width:38ch;}
  h2{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(1.9rem, 1.3rem + 2.4vw, 3rem);
    line-height:1.08;
    letter-spacing:-0.01em;
    margin:0 0 1.6rem;
    color:var(--ink);
  }
  p{margin:0 0 1.2rem;max-width:62ch;}
  p:last-child{margin-bottom:0;}
  .muted{color:var(--slate);}

  .lede{
    font-size:clamp(1.15rem,1.05rem + 0.6vw,1.5rem);
    line-height:1.5;
    color:var(--ink);
    max-width:34ch;
  }

  /* what we do */
  .do-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:clamp(32px,6vw,88px);
    align-items:start;
  }

  /* who we work with */
  .who{background:var(--paper-2);}
  .statement{position:relative;overflow:hidden;background:var(--ink);color:var(--paper);}
  .statement::before{content:"";position:absolute;inset:0;background:url("/images/Header%20Image.png") center/cover;filter:grayscale(1);opacity:0.22;pointer-events:none;}
  .statement .wrap{position:relative;z-index:1;}
  .statement-line{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,1.2rem + 2.6vw,3.2rem);line-height:1.14;letter-spacing:-0.01em;color:var(--paper);max-width:24ch;margin:0;}
  .statement .inquire{display:inline-block;margin-top:clamp(1.8rem,3vw,2.6rem);}
  .cols{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:start;
    gap:clamp(28px,5vw,64px);
    margin-top:clamp(36px,5vw,64px);
  }
  .col{border-top:1px solid var(--ink);padding-top:1.5rem;}
  .col h3{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(1.35rem,1.1rem + 1vw,1.9rem);
    line-height:1.12;
    letter-spacing:-0.01em;
    margin:0 0 1rem;
    color:var(--ink);
    /* reserve 2 lines so 1- and 2-line headers align the body copy across the 2x2 */
    min-height:2.24em;
  }

  /* how engagements work */
  .engagements{background:var(--ink);color:var(--paper);}
  .engagements h2{color:var(--paper);}
  .engagements .lede{color:var(--fog);}
  .eng-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    align-items:stretch;
    gap:clamp(20px,2.4vw,32px);
    margin-top:clamp(40px,6vw,72px);
  }
  .eng{border-top:1px solid rgba(217,214,206,0.35);padding-top:1.25rem;}
  .eng-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 1rem;}
  .eng-num{font-family:var(--serif);font-size:1.5rem;line-height:1;color:var(--fog);opacity:0.55;}
  .eng h3{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(1.2rem,1.05rem + 0.5vw,1.45rem);
    line-height:1.15;
    margin:0 0 0.8rem;
    color:var(--paper);
  }
  .eng p{color:var(--fog);max-width:38ch;font-size:0.98rem;}
  .engagements .eyebrow{color:var(--fog);opacity:0.75;}

  /* leadership / founder bio */
  .bio-grid{display:grid;grid-template-columns:clamp(320px,32%,420px) 1fr;gap:clamp(40px,6vw,88px);align-items:center;margin-top:clamp(36px,5vw,56px);}
  .bio-photo{margin:0;position:relative;aspect-ratio:4/5;background:var(--graphite);overflow:hidden;}
  .bio-initials{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:clamp(2.5rem,6vw,4rem);color:var(--slate);}
  .bio-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.03);display:block;}
  .bio-text h2{margin:0;}
  .bio-text p{max-width:78ch;}
  .bio-role{font-family:var(--sans);text-transform:uppercase;letter-spacing:0.16em;font-size:0.8rem;color:var(--slate);margin:0.5rem 0 1.5rem;}
  .bio-stats{display:flex;flex-wrap:wrap;gap:clamp(28px,5vw,56px);margin-top:clamp(2rem,4vw,2.8rem);}
  .stat{display:flex;flex-direction:column;gap:0.45rem;}
  .stat-fig{font-family:var(--serif);font-size:clamp(1.8rem,1.2rem + 2vw,2.6rem);line-height:1;color:var(--ink);}
  .stat-label{font-family:var(--sans);font-size:0.78rem;text-transform:uppercase;letter-spacing:0.13em;color:var(--slate);max-width:24ch;line-height:1.4;}

  /* markets & counterparties */
  .markets{background:var(--paper);}
  .do{background:var(--paper-2);}
  .value{background:var(--paper-2);}
  .markets-intro{max-width:72ch;margin:0 0 clamp(2rem,4vw,3rem);color:var(--text);}
  .markets-grid{columns:2;column-gap:clamp(32px,6vw,72px);}
  .market-card{break-inside:avoid;border-top:1px solid var(--fog);padding:1.4rem 0;}
  .market-card h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.25rem,1.05rem + 0.7vw,1.6rem);line-height:1.15;margin:0 0 0.6rem;color:var(--ink);}
  .market-card .items{font-size:0.95rem;line-height:1.55;color:var(--slate);margin:0;}
  @media (max-width:640px){.markets-grid{columns:1;}}

  /* Private Client market hierarchy */
  .market-groups{border-bottom:1px solid var(--fog);}
  .market-group{display:grid;grid-template-columns:minmax(190px,0.34fr) 1fr;gap:clamp(30px,5vw,72px);border-top:1px solid var(--fog);padding:clamp(1.6rem,3.5vw,2.7rem) 0;}
  .market-group__title{font-family:var(--sans);font-weight:500;font-size:0.78rem;line-height:1.4;letter-spacing:0.15em;text-transform:uppercase;color:var(--slate);margin:0;}
  .market-group__items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,3vw,2.8rem) clamp(2rem,4vw,4rem);}
  .market-group .market-card{border-top:0;padding:0;}
  @media (max-width:760px){
    .market-group{grid-template-columns:1fr;gap:1.25rem;padding:2rem 0;}
    .market-group__items{grid-template-columns:1fr;gap:1.5rem;}
  }

  /* the common thread */
  .thread{background:var(--paper-2);}
  .thread-body{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,72px);margin-top:clamp(1.6rem,3vw,2.4rem);border-top:1px solid var(--fog);padding-top:clamp(1.6rem,3vw,2.4rem);}
  .thread-body p{margin:0;max-width:none;color:var(--text);}
  @media (max-width:820px){.thread-body{grid-template-columns:1fr;gap:1.2rem;}}

  /* Private Client routes to market */
  .routes-intro{max-width:74ch;margin:0 0 clamp(2.2rem,4vw,3.2rem);color:var(--text);}
  .routes-grid{display:flex;flex-direction:column;border-bottom:1px solid var(--fog);}
  .route-block{
    display:grid;
    grid-template-columns:minmax(230px,0.7fr) minmax(0,1.55fr);
    gap:clamp(34px,6vw,88px);
    border-top:1px solid var(--ink);
    padding:clamp(2.4rem,5vw,4.4rem) 0;
  }
  .route-index{font-family:var(--sans);font-weight:500;font-size:0.7rem;line-height:1.4;letter-spacing:0.14em;text-transform:uppercase;color:var(--slate);margin:0 0 1rem;}
  .route-block h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.65rem,1.25rem + 1.25vw,2.25rem);line-height:1.08;margin:0 0 1rem;color:var(--ink);max-width:16ch;}
  .route-position{font-family:var(--sans);font-weight:500;font-size:0.74rem;line-height:1.45;letter-spacing:0.11em;text-transform:uppercase;color:var(--slate);margin:0;}
  .route-content{min-width:0;}
  .route-body{font-size:clamp(1rem,0.96rem + 0.2vw,1.08rem);line-height:1.65;color:var(--text);margin:0;max-width:68ch;}
  .route-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,56px);margin-top:clamp(1.6rem,3vw,2.2rem);}
  .route-detail{border-top:1px solid var(--fog);padding-top:1rem;margin:0;}
  .route-detail p{font-size:0.95rem;line-height:1.66;color:var(--slate);margin:0;max-width:none;}
  .route-detail .route-label{font-family:var(--sans);font-weight:500;font-size:0.68rem;line-height:1.4;letter-spacing:0.13em;text-transform:uppercase;color:var(--ink);margin:0 0 0.65rem;}
  .route-note{font-size:0.84rem;line-height:1.6;color:var(--slate);margin:clamp(1.4rem,2.5vw,2rem) 0 0;padding-left:0.9rem;border-left:1px solid var(--fog);max-width:76ch;}
  .routes-close{font-family:var(--serif);font-size:clamp(1.3rem,1.05rem + 1vw,2rem);line-height:1.2;color:var(--ink);max-width:40ch;margin:clamp(2.4rem,5vw,4rem) 0 0;}
  @media (max-width:760px){
    .route-block{grid-template-columns:1fr;gap:1.5rem;padding:2.4rem 0;}
    .route-block h3{max-width:22ch;}
    .route-details{grid-template-columns:1fr;gap:1.5rem;}
  }


  /* revenue & enterprise value */
  .value-intro{max-width:70ch;margin:0 0 clamp(1.2rem,2.5vw,1.8rem);color:var(--text);}
  .value-factors{margin-top:clamp(3rem,7vw,6rem);}
  .factors-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,56px);margin-top:clamp(2rem,4vw,3rem);}
  .factor{border-top:1px solid var(--fog);padding-top:1.3rem;}
  .factor-num{font-family:var(--serif);font-size:1.3rem;color:var(--slate);opacity:0.6;display:block;margin-bottom:0.6rem;}
  .factor h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.15rem,1rem + 0.5vw,1.4rem);margin:0 0 0.7rem;color:var(--ink);}
  .factor p{font-size:0.95rem;line-height:1.55;color:var(--slate);margin:0;max-width:none;}
  @media (max-width:760px){.value-cards{grid-template-columns:1fr;}.factors-grid{grid-template-columns:1fr;}}

  /* track record */
  .track{background:var(--paper-2);}
  .track-intro{max-width:72ch;margin:0 0 clamp(1.5rem,3vw,2.4rem);color:var(--text);}
  .track-item{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:clamp(24px,4vw,56px);border-top:1px solid var(--fog);padding:clamp(1.4rem,3vw,2rem) 0;align-items:start;}
  .track-item:last-child{border-bottom:1px solid var(--fog);}
  .track-metric{display:flex;flex-direction:column;gap:0.5rem;}
  .track-fig{font-family:var(--serif);font-size:clamp(1.5rem,1.1rem + 1.4vw,2.1rem);line-height:1.05;color:var(--ink);}
  .track-label{font-family:var(--sans);font-size:0.74rem;letter-spacing:0.13em;text-transform:uppercase;color:var(--slate);line-height:1.5;}
  .track-item p{margin:0;color:var(--text);max-width:62ch;}
  @media (max-width:760px){.track-item{grid-template-columns:1fr;gap:0.9rem;}}

  /* contact */
  .contact{background:var(--ink);color:var(--paper);}
  .contact h2{color:var(--paper);}
  .contact p{color:var(--fog);max-width:46ch;}
  .contact-line{
    display:inline-block;
    margin-top:clamp(1.6rem,3vw,2.2rem);
    font-family:var(--serif);
    font-size:clamp(1.5rem,1.1rem + 2vw,2.6rem);
    letter-spacing:-0.01em;
    color:var(--paper);
    text-decoration:none;
    border-bottom:1px solid rgba(217,214,206,0.4);
    padding-bottom:0.12em;
    transition:border-color .25s ease;
  }
  .contact-line:hover,.contact-line:focus-visible{border-color:var(--paper);}

  /* footer */
  footer{background:var(--ink);color:var(--fog);border-top:1px solid rgba(217,214,206,0.14);}
  .footer-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    flex-wrap:wrap;
    padding-block:clamp(36px,5vw,56px);
  }
  .footer-inner .logo-primary{color:var(--paper);height:clamp(22px,3.6vw,40px);}
  .foot-meta{font-size:0.85rem;color:var(--slate);text-align:right;line-height:1.6;}
  .foot-meta span{display:block;}

  /* hero eyebrow + cta */
  .hero-inner .eyebrow{color:var(--fog);margin-bottom:1.1rem;}
  .hero-inner .inquire{margin-top:clamp(2.6rem,4.2vw,3.6rem);}

  /* approach applications */
  .apps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,56px);margin-top:clamp(2.6rem,4vw,3.6rem);}
  .app{border-top:1px solid var(--ink);padding-top:1.25rem;}
  .app h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.2rem,1.05rem + 0.6vw,1.55rem);line-height:1.15;margin:0 0 0.7rem;color:var(--ink);}
  .app p{font-size:0.98rem;line-height:1.55;color:var(--slate);margin:0;max-width:34ch;}
  @media (max-width:760px){.apps-grid{grid-template-columns:1fr;gap:1.4rem;}}

  /* statement secondary line */
  .statement-sub{font-family:var(--serif);font-weight:400;font-size:clamp(1.3rem,0.9rem + 1.6vw,2.2rem);line-height:1.14;letter-spacing:-0.01em;color:var(--fog);margin:0.5rem 0 0;max-width:24ch;}

  /* enterprise-value progression */
  .stages{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3.5vw,48px);margin:clamp(2.2rem,4vw,3rem) 0 clamp(1.6rem,2.5vw,2.2rem);}
  .stage{border-top:1px solid var(--fog);padding-top:1.25rem;}
  .stage h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.15rem,1rem + 0.5vw,1.45rem);margin:0 0 0.9rem;color:var(--ink);}
  .stage ul{list-style:none;margin:0;padding:0;}
  .stage li{font-size:0.95rem;line-height:1.75;color:var(--slate);}
  .stage-close{font-family:var(--serif);font-size:clamp(1.2rem,1rem + 0.8vw,1.7rem);line-height:1.2;color:var(--ink);margin:0;max-width:none;}
  @media (max-width:760px){.stages{grid-template-columns:1fr;gap:1.4rem;}}

  /* common thread */
  .thread-lead{max-width:74ch;margin:0 0 clamp(1.6rem,3vw,2.4rem);color:var(--text);}
  .thread-statement{font-family:var(--serif);font-size:clamp(1.3rem,1.05rem + 1vw,2rem);line-height:1.2;color:var(--ink);max-width:36ch;margin:clamp(1.8rem,3vw,2.6rem) 0 0;}

  /* how we work closing */
  .eng-close{color:var(--fog);font-size:clamp(1.05rem,1rem + 0.3vw,1.25rem);max-width:54ch;margin:clamp(2.4rem,4vw,3.4rem) 0 0;}

  /* engagements / inflection points */
  .inflect{background:var(--paper-2);}

  /* Keep Slate's approved appearance on dark and Paper surfaces while meeting
     WCAG AA for normal text on the secondary cream surface. */
  .who,.do,.value,.thread,.track,.inflect{--slate:#67655F;}
  .inflect-list{columns:2;column-gap:clamp(32px,6vw,72px);margin:clamp(2.2rem,4vw,3.2rem) 0 clamp(1.8rem,3vw,2.6rem);}
  .inflect-item{break-inside:avoid;border-top:1px solid var(--fog);padding:1rem 0;font-family:var(--serif);font-size:clamp(1.15rem,1rem + 0.6vw,1.5rem);color:var(--ink);line-height:1.2;}
  .inflect-close{color:var(--text);max-width:64ch;margin:0;}
  @media (max-width:640px){.inflect-list{columns:1;}}

  /* approach index numbers */
  .app-num{font-family:var(--serif);font-size:1.05rem;color:var(--slate);display:block;margin-bottom:0.55rem;}

  /* graphic markers on the progression lists */
  .stage li{position:relative;padding-left:1.15rem;}
  .stage li::before{content:"";position:absolute;left:0;top:0.85em;width:7px;height:1px;background:var(--slate);}

  /* progression + process arrows (desktop only) */
  .stage,.eng{position:relative;}
  .stage:not(:last-child)::after{content:"→";position:absolute;top:50%;transform:translateY(-50%);right:-1.5rem;font-family:var(--sans);font-size:1.05rem;color:var(--slate);line-height:1;z-index:2;}
  .eng:not(:last-child)::after{content:"→";position:absolute;top:50%;transform:translateY(-50%);right:-1.25rem;font-family:var(--sans);font-size:1rem;color:var(--fog);opacity:0.75;line-height:1;z-index:2;}
  @media (max-width:820px){.eng:not(:last-child)::after{display:none;}}
  @media (max-width:760px){.stage:not(:last-child)::after{display:none;}}

  /* full-bleed image divider band (data center) */
  .imgband{position:relative;overflow:hidden;background:var(--ink);color:var(--paper);}
  .imgband::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,14,13,0.86) 0%,rgba(14,14,13,0.52) 55%,rgba(14,14,13,0.34) 100%),url("/images/hero-datacenter.png") center/cover;filter:grayscale(1) contrast(1.04);pointer-events:none;}
  .imgband .wrap{position:relative;z-index:1;}
  .imgband .eyebrow{color:var(--fog);}
  .imgband-line{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,1.2rem + 2.6vw,3.2rem);line-height:1.14;letter-spacing:-0.01em;color:var(--paper);max-width:26ch;margin:0;}

  /* what institutional buyers value (dark block) */
  .buyers{background:var(--ink);color:var(--paper);}
  .buyers h2{color:var(--paper);}
  .buyers .value-intro{color:var(--fog);max-width:70ch;margin:0 0 clamp(2rem,4vw,3rem);}
  .buyers .factor{border-color:rgba(217,214,206,0.16);}
  .buyers .factor h3{color:var(--paper);}
  .buyers .factor p{color:var(--fog);}
  .buyers .factor-num{color:var(--fog);opacity:0.55;}

  /* Private Client photographic sequence. Route-scoped to preserve Institutional. */
  .private-client-page .statement::before{
    background-image:url("/assets/images/healthcare/exech1.jpeg");
    background-position:58% center;
  }
  .private-client-page .imgband::before{
    background:
      linear-gradient(90deg,rgba(14,14,13,0.86) 0%,rgba(14,14,13,0.52) 55%,rgba(14,14,13,0.34) 100%),
      url("/assets/images/private-client/jet.jpeg") 62% center/cover;
  }
  .private-client-page .buyers{position:relative;overflow:hidden;isolation:isolate;}
  .private-client-page .buyers::before{
    content:"";
    position:absolute;
    inset:0;
    background:
      linear-gradient(90deg,rgba(14,14,13,0.90) 0%,rgba(14,14,13,0.72) 52%,rgba(14,14,13,0.62) 100%),
      url("/assets/images/private-client/security.jpeg") center/cover;
    filter:grayscale(1) contrast(1.04);
    pointer-events:none;
    z-index:0;
  }
  .private-client-page .buyers .wrap{position:relative;z-index:1;}

  /* flow items rendered as cards that pop from the section */
  .app,.stage{background:#FCFBF8;border:1px solid var(--fog);border-radius:3px;padding:clamp(1.5rem,2.4vw,2.1rem);box-shadow:0 1px 2px rgba(14,14,13,0.05),0 14px 34px rgba(14,14,13,0.07);}
  .eng,.factor{background:var(--graphite);border:1px solid rgba(217,214,206,0.16);border-radius:3px;padding:clamp(1.5rem,2.4vw,2.1rem);}
  .track-list{display:flex;flex-direction:column;gap:clamp(16px,2vw,24px);}
  .track-item{background:#FCFBF8;border:1px solid var(--fog);border-radius:3px;padding:clamp(1.6rem,3vw,2.3rem);box-shadow:0 1px 2px rgba(14,14,13,0.05),0 14px 34px rgba(14,14,13,0.07);}

  /* focus visibility */
  a:focus-visible,.inquire:focus-visible{outline:2px solid var(--paper);outline-offset:3px;}
  .who a:focus-visible{outline-color:var(--ink);}

  /* responsive */
  @media (max-width:820px){
    .do-grid{grid-template-columns:1fr;}
    .cols{grid-template-columns:1fr;}
    .eng-grid{grid-template-columns:repeat(2,1fr);}
    .bio-grid{grid-template-columns:1fr;}
    .bio-photo{max-width:320px;}
  }
  @media (max-width:600px){
    .eng-grid{grid-template-columns:1fr;}
    .private-client-page .statement::before{background-position:63% center;}
    .private-client-page .imgband::before{
      background-position:center,68% center;
    }
    .private-client-page .buyers::before{
      background-position:center,62% center;
    }
  }

  /* --------------------------- gateway --------------------------- */
  .gateway-page{
    margin:0;
    min-height:100vh;
    min-height:100dvh;
    overflow:hidden;
    background:var(--ink);
    color:var(--paper);
  }
  .gateway{
    position:relative;
    display:flex;
    width:100%;
    height:100vh;
    height:100dvh;
    min-height:36rem;
    overflow:hidden;
    background:var(--ink);
  }
  .gateway-brand{
    position:absolute;
    top:max(24px, env(safe-area-inset-top));
    left:50%;
    z-index:5;
    transform:translateX(-45.15%);
    color:var(--paper);
    pointer-events:none;
    margin:0;
  }
  .gateway-brand .logo-primary{height:clamp(28px,3vw,38px);}
  .gateway-panel{
    position:relative;
    display:flex;
    flex:0 0 50%;
    width:50%;
    height:100%;
    overflow:hidden;
    isolation:isolate;
    color:var(--paper);
    text-decoration:none;
    transition:flex-basis .55s ease,width .55s ease;
  }
  .gateway-panel:first-of-type{border-right:1px solid rgba(217,214,206,0.24);}
  .gateway-panel__image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    filter:grayscale(1) sepia(0.24) brightness(0.78) contrast(1.08);
    transform:scale(1.01);
    transition:transform .75s ease,filter .55s ease;
    z-index:-2;
  }
  .gateway-panel__overlay{
    position:absolute;
    inset:0;
    background:
      linear-gradient(to bottom,rgba(14,14,13,0.70) 0%,rgba(14,14,13,0.18) 38%,rgba(14,14,13,0.90) 100%),
      linear-gradient(to right,rgba(14,14,13,0.32),rgba(14,14,13,0.12));
    transition:background-color .55s ease;
    z-index:-1;
  }
  .gateway-panel__content{
    align-self:flex-end;
    display:flex;
    flex-direction:column;
    width:100%;
    padding:clamp(42px,6vw,88px);
    padding-bottom:max(clamp(42px,6vw,88px),env(safe-area-inset-bottom));
  }
  .gateway-panel__eyebrow{
    font-family:var(--sans);
    font-weight:500;
    font-size:0.75rem;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--fog);
    margin-bottom:1rem;
  }
  .gateway-panel__title{
    font-family:var(--serif);
    font-size:clamp(2.4rem,1.4rem + 3vw,4.6rem);
    line-height:1.02;
    letter-spacing:-0.015em;
    color:var(--paper);
  }
  .gateway-panel__description{
    display:block;
    max-width:34rem;
    margin-top:clamp(1rem,2vw,1.5rem);
    font-family:var(--sans);
    font-size:clamp(0.98rem,0.92rem + 0.2vw,1.1rem);
    line-height:1.55;
    color:var(--fog);
  }
  .gateway-panel__cta{
    align-self:flex-start;
    margin-top:clamp(1.6rem,3vw,2.4rem);
    padding-bottom:0.25rem;
    border-bottom:1px solid rgba(217,214,206,0.45);
    font-family:var(--sans);
    font-weight:500;
    font-size:0.75rem;
    letter-spacing:0.13em;
    text-transform:uppercase;
    color:var(--paper);
    transition:border-color .25s ease;
  }
  .gateway-panel:hover,.gateway-panel:focus-visible{flex-basis:54%;width:54%;}
  .gateway:has(.gateway-panel:hover) .gateway-panel:not(:hover),
  .gateway:has(.gateway-panel:focus-visible) .gateway-panel:not(:focus-visible){flex-basis:46%;width:46%;}
  .gateway-panel:hover .gateway-panel__image,
  .gateway-panel:focus-visible .gateway-panel__image{transform:scale(1.035);filter:grayscale(1) sepia(0.24) brightness(0.88) contrast(1.08);}
  .gateway-panel:hover .gateway-panel__cta,
  .gateway-panel:focus-visible .gateway-panel__cta{border-color:var(--paper);}
  .gateway-panel:focus-visible{outline:2px solid var(--paper);outline-offset:-6px;}

  @media (max-width:700px) and (orientation:portrait){
    .gateway{flex-direction:column;min-height:0;}
    .gateway-panel{flex:0 0 50%;width:100%;height:50%;}
    .gateway-panel:first-of-type{border-right:0;border-bottom:1px solid rgba(217,214,206,0.24);}
    .gateway-panel:hover,.gateway-panel:focus-visible,
    .gateway:has(.gateway-panel:hover) .gateway-panel:not(:hover),
    .gateway:has(.gateway-panel:focus-visible) .gateway-panel:not(:focus-visible){flex-basis:50%;width:100%;}
    .gateway-brand{top:max(24px,env(safe-area-inset-top));transform:translateX(-50%);width:min(82vw,340px);padding:0;background:transparent;}
    .gateway-brand .logo-primary{width:100%;height:auto;max-width:none;}
    .gateway-panel__content{padding:clamp(24px,7vw,36px);}
    .gateway-panel--institutional .gateway-panel__content{padding-top:max(clamp(70px,18vw,90px),env(safe-area-inset-top));}
    .gateway-panel__eyebrow{display:none;}
    .gateway-panel__title{font-size:clamp(2rem,10vw,3rem);}
    .gateway-panel__description{max-width:34ch;margin-top:0.7rem;font-size:0.9rem;line-height:1.4;}
    .gateway-panel__cta{margin-top:0.9rem;font-size:0.67rem;}
  }

  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    .gateway-panel,.gateway-panel__image,.gateway-panel__overlay{transition:none;}
  }


/* ---------------- healthcare-only root ---------------- */
.healthcare-page .hero-bg{
  object-position:58% center;
}
.healthcare-page .statement::before{
  background-image:url("/assets/images/healthcare/IVPHOTO.jpeg");
  background-image:image-set(
    url("/assets/images/healthcare/IVPHOTO.avif") type("image/avif") 1x,
    url("/assets/images/healthcare/IVPHOTO.webp") type("image/webp") 1x,
    url("/assets/images/healthcare/IVPHOTO.jpeg") type("image/jpeg") 1x
  );
  background-position:center;
}
.healthcare-page .imgband::before{
  background:
    linear-gradient(90deg,rgba(14,14,13,0.88) 0%,rgba(14,14,13,0.58) 55%,rgba(14,14,13,0.42) 100%),
    url("/assets/images/healthcare/referrral.jpeg") center/cover;
  background:
    linear-gradient(90deg,rgba(14,14,13,0.88) 0%,rgba(14,14,13,0.58) 55%,rgba(14,14,13,0.42) 100%),
    image-set(
      url("/assets/images/healthcare/referrral.avif") type("image/avif") 1x,
      url("/assets/images/healthcare/referrral.webp") type("image/webp") 1x,
      url("/assets/images/healthcare/referrral.jpeg") type("image/jpeg") 1x
    ) center/cover;
}
.healthcare-page .buyers{position:relative;overflow:hidden;isolation:isolate;}
.healthcare-page .buyers::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(14,14,13,0.94) 0%,rgba(14,14,13,0.80) 52%,rgba(14,14,13,0.72) 100%),
    url("/assets/images/healthcare/doctor-executive.jpeg") 56% center/cover;
  background:
    linear-gradient(90deg,rgba(14,14,13,0.94) 0%,rgba(14,14,13,0.80) 52%,rgba(14,14,13,0.72) 100%),
    image-set(
      url("/assets/images/healthcare/doctor-executive.avif") type("image/avif") 1x,
      url("/assets/images/healthcare/doctor-executive.webp") type("image/webp") 1x,
      url("/assets/images/healthcare/doctor-executive.jpeg") type("image/jpeg") 1x
    ) 56% center/cover;
  filter:grayscale(1) contrast(1.04);
  pointer-events:none;
  z-index:0;
}
.healthcare-page .buyers .wrap{position:relative;z-index:1;}

.economics-flow{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0.65rem 0.9rem;
  margin-top:clamp(2.2rem,4vw,3.2rem);
  padding-top:clamp(1.4rem,2.5vw,2rem);
  border-top:1px solid var(--fog);
  font-family:var(--sans);
  font-size:0.72rem;
  line-height:1.45;
  letter-spacing:0.09em;
  text-transform:uppercase;
  color:var(--slate);
}
.economics-flow span[aria-hidden="true"]{color:var(--ink);opacity:0.45;}
.market-group--primary{border-top:2px solid var(--ink);}
.market-group--primary .market-group__title{color:var(--ink);}
.market-group--adjacent .market-card h3{font-size:clamp(1.12rem,1rem + 0.5vw,1.38rem);}
.market-group--adjacent .items{font-size:0.93rem;line-height:1.6;}
.route-block--featured{border-top-width:2px;}
.route-highlight{
  font-family:var(--serif);
  font-size:clamp(1.35rem,1.05rem + 1vw,1.9rem);
  line-height:1.22;
  color:var(--ink);
  border-block:1px solid var(--fog);
  padding:clamp(1.15rem,2vw,1.5rem) 0;
  margin:clamp(1.5rem,3vw,2.2rem) 0 0;
  max-width:34ch;
}
.infrastructure-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(18px,2.5vw,30px);
  margin:clamp(2.2rem,4vw,3.2rem) 0 clamp(1.8rem,3vw,2.6rem);
}
.infrastructure-item{
  background:#FCFBF8;
  border:1px solid var(--fog);
  border-radius:3px;
  padding:clamp(1.5rem,2.4vw,2.1rem);
  box-shadow:0 1px 2px rgba(14,14,13,0.05),0 14px 34px rgba(14,14,13,0.07);
}
.infrastructure-item h3{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(1.25rem,1.05rem + 0.7vw,1.6rem);
  line-height:1.15;
  margin:0 0 0.8rem;
  color:var(--ink);
}
.infrastructure-item p{font-size:0.95rem;line-height:1.6;color:var(--slate);margin:0;max-width:none;}
.enterprise-close{
  font-family:var(--serif);
  font-size:clamp(1.3rem,1.05rem + 1vw,2rem);
  line-height:1.2;
  color:var(--paper);
  margin:clamp(2.2rem,4vw,3rem) 0 0;
  max-width:40ch;
}
.enterprise-note{
  color:var(--fog);
  opacity:0.78;
  font-size:0.82rem;
  line-height:1.6;
  max-width:74ch;
  margin:1.2rem 0 0;
}
.track-note{
  color:var(--slate);
  font-size:0.8125rem;
  line-height:1.55;
  max-width:78ch;
  margin:1.3rem 0 0;
}

@media (max-width:760px){
  .economics-flow{display:grid;grid-template-columns:1fr auto;gap:0.5rem 0.75rem;}
  .economics-flow span[aria-hidden="true"]{transform:rotate(90deg);justify-self:center;}
  .economics-flow span:last-child{grid-column:1/-1;}
  .infrastructure-grid{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .healthcare-page .hero-bg{object-position:61% center;}
  .healthcare-page .statement::before{background-position:58% center;}
  .healthcare-page .imgband::before{background-position:center,52% center;}
  .healthcare-page .buyers::before{background-position:center,60% center;}
}
