:root{
    --navy:#04091C;
    --navy-2:#060D24;
    --line:rgba(199,203,212,.12);
    --line-soft:rgba(199,203,212,.07);
    --chrome:#C7CBD4;
    --chrome-hi:#F3F4F7;
    --chrome-lo:#7A8194;
    --cobalt:#2E8FD9;
    --talent:#8B7FE8;
    --white:#FFFFFF;
    --muted:#767E93;
    --body:#B9BFCE;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  ::selection{background:var(--cobalt); color:var(--white);}
  body{
    background:var(--navy);
    color:var(--white);
    font-family:'Inter', sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  .wrap{max-width:1240px; margin:0 auto; padding:0 40px;}
  @media(max-width:640px){.wrap{padding:0 24px;}}

  section[id], #talent{scroll-margin-top:110px;}

  a:focus-visible, button:focus-visible{
    outline:1.5px solid var(--cobalt);
    outline-offset:3px;
    border-radius:2px;
  }

  .grain{
    position:fixed; inset:0; z-index:9999;
    pointer-events:none;
    opacity:.035;
    mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }

  /* ================= NAV ================= */
  nav{
    position:fixed; top:22px; left:0; right:0; z-index:100;
    display:flex; justify-content:center;
    pointer-events:none;
  }
  .nav-inner{
    pointer-events:auto;
    display:flex; align-items:center; gap:36px;
    padding:9px 12px 9px 22px;
    border-radius:999px;
    max-width:calc(100% - 48px);
    background:rgba(18,27,56,.5);
    backdrop-filter:blur(20px) saturate(160%);
    -webkit-backdrop-filter:blur(20px) saturate(160%);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 10px 34px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.07);
    transition:background .4s, box-shadow .4s, padding .4s, gap .4s;
  }
  nav.scrolled .nav-inner{
    background:rgba(14,22,48,.68);
    box-shadow:0 10px 30px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.08);
  }
  .logo{display:flex; align-items:center; text-decoration:none;}
  .logo-full-img{
    display:block;
    height:30px;
    width:auto;
  }
  .nav-r{display:flex; align-items:center; gap:28px;}
  .nav-r a{
    font-family:'IBM Plex Mono', monospace; font-size:11.5px;
    letter-spacing:.06em; color:var(--muted); text-decoration:none;
    transition:color .25s;
    white-space:nowrap;
  }
  .nav-r a:hover{color:var(--chrome-hi);}
  .nav-r a.cta{
    color:var(--navy);
    background:var(--chrome-hi);
    border-radius:999px;
    padding:9px 18px;
    transition:background .25s, transform .25s;
  }
  .nav-r a.cta:hover{background:var(--white); transform:translateY(-1px);}
  @media(max-width:760px){
    .nav-r a:not(.cta){display:none;}
    .nav-inner{padding:7px 9px 7px 16px; gap:16px;}
    .logo-full-img{height:26px;}
  }

  /* ================= HERO ================= */
  .hero{
    position:relative;
    min-height:100svh;
    display:flex; flex-direction:column;
    justify-content:center;
    overflow:hidden;
  }
  .hero-photo{
    position:absolute; top:0; left:0; right:0;
    height:100svh;
    background-image:url('../images/hero-bg.jpg');
    background-size:cover;
    background-position:center 78%;
    opacity:0;
    animation:arcIn 2.4s cubic-bezier(.22,1,.36,1) .2s forwards;
    pointer-events:none;
  }
  .hero-photo::after{
    content:'';
    position:absolute; inset:0;
    background:
      linear-gradient(180deg, rgba(4,9,28,.62) 0%, rgba(4,9,28,.25) 30%, rgba(4,9,28,.1) 46%, rgba(4,9,28,.4) 64%, rgba(4,9,28,.55) 82%, var(--navy) 100%);
  }
  .hero-video{
    position:absolute; top:0; left:0; right:0;
    height:100svh;
    width:100%;
    object-fit:cover;
    opacity:.4;
    mix-blend-mode:screen;
    pointer-events:none;
  }
  @keyframes arcIn{to{opacity:1;}}
  .hero-inner{
    position:relative; z-index:2;
    max-width:1000px; margin:0 auto; padding:150px 40px 60px;
    width:100%;
    text-align:center;
    display:flex; flex-direction:column; align-items:center;
  }
  .hero-logo{
    height:92px; width:auto;
    display:block;
    margin-bottom:36px;
    opacity:0; animation:rise 1s cubic-bezier(.22,1,.36,1) .3s forwards;
  }
  .hero-eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:11.5px; letter-spacing:.22em; text-transform:uppercase;
    color:var(--muted);
    margin-bottom:30px;
    display:flex; align-items:center; justify-content:center; gap:14px;
    opacity:0; animation:rise 1s cubic-bezier(.22,1,.36,1) .5s forwards;
  }
  .hero-eyebrow::before, .hero-eyebrow::after{
    content:''; width:32px; height:1px; background:linear-gradient(90deg, var(--chrome-hi), var(--chrome-lo)); display:inline-block;
  }
  h1{
    font-family:'Space Grotesk', sans-serif;
    font-weight:400;
    font-size:clamp(42px,7.4vw,96px);
    line-height:1;
    letter-spacing:-.028em;
    margin-bottom:26px;
  }
  h1 .l1, h1 .l2{display:block; overflow:hidden;}
  h1 .l1 span, h1 .l2 span{
    display:block;
    transform:translateY(110%);
    animation:lineUp 1.1s cubic-bezier(.22,1,.36,1) forwards;
  }
  h1 .l1 span{animation-delay:.55s;}
  h1 .l2 span{animation-delay:.68s;}
  @keyframes lineUp{to{transform:translateY(0);}}
  h1 .chrome{
    background:linear-gradient(175deg,var(--chrome-hi) 20%,var(--chrome) 55%,var(--chrome-lo));
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  }
  h1 .delivered{color:var(--cobalt);}
  .hero-dek{
    font-size:16px; line-height:1.75; color:var(--body);
    max-width:460px;
    opacity:0; animation:rise 1s cubic-bezier(.22,1,.36,1) .8s forwards;
  }
  .hero-dek b{color:var(--chrome-hi); font-weight:500;}
  .hero-split{
    display:grid; grid-template-columns:1fr 1fr;
    gap:1px;
    background:var(--line);
    width:100%;
    margin:44px 0 34px;
    border:1px solid var(--line);
    opacity:0; animation:rise 1s cubic-bezier(.22,1,.36,1) 1.05s forwards;
  }
  .hero-panel{
    background:rgba(6,13,36,.55);
    backdrop-filter:blur(6px);
    text-decoration:none;
    padding:32px 30px;
    text-align:left;
    transition:background .3s;
    position:relative;
  }
  .hero-panel:hover{background:rgba(10,20,50,.75);}
  .hero-panel .hp-idx{
    font-family:'IBM Plex Mono', monospace;
    font-size:11px; color:var(--muted); letter-spacing:.08em;
  }
  .hero-panel h3{
    font-family:'Space Grotesk', sans-serif;
    font-weight:500; font-size:24px;
    margin:12px 0 10px;
    color:var(--chrome-hi);
    transition:color .3s;
  }
  .hp-consulting:hover h3{color:var(--cobalt);}
  .hp-talent:hover h3{color:var(--talent);}
  .hero-panel p{
    font-size:13.5px; line-height:1.6; color:var(--muted);
    margin-bottom:18px; max-width:280px;
  }
  .hero-panel .hp-link{
    font-family:'IBM Plex Mono', monospace;
    font-size:12px; letter-spacing:.04em;
    color:var(--chrome);
    display:inline-flex; align-items:center; gap:8px;
    transition:gap .25s, color .25s;
  }
  .hp-consulting .hp-link{color:var(--cobalt);}
  .hp-talent .hp-link{color:var(--talent);}
  .hero-panel:hover .hp-link{gap:14px;}
  .hero-cta{
    font-family:'IBM Plex Mono', monospace;
    font-size:12.5px; letter-spacing:.06em;
    color:var(--navy);
    background:var(--chrome-hi);
    text-decoration:none;
    padding:17px 32px;
    display:inline-flex; align-items:center; gap:12px;
    transition:background .25s, gap .25s;
    white-space:nowrap;
    opacity:0; animation:rise 1s cubic-bezier(.22,1,.36,1) 1.15s forwards;
  }
  .hero-cta:hover{background:var(--white); gap:18px;}
  .hero-cta .arrow{color:var(--cobalt);}
  @keyframes rise{from{opacity:0; transform:translateY(20px);} to{opacity:1; transform:translateY(0);}}
  .hero-base{
    position:absolute; bottom:0; left:0; right:0; z-index:2;
    border-top:1px solid var(--line-soft);
    background:rgba(4,9,28,.35);
    backdrop-filter:blur(4px);
  }
  .hero-base-inner{
    max-width:1240px; margin:0 auto; padding:18px 40px;
    display:flex; justify-content:center; align-items:center; gap:16px;
    font-family:'IBM Plex Mono', monospace;
    font-size:10.5px; letter-spacing:.1em; text-transform:uppercase;
    color:var(--muted);
    flex-wrap:wrap;
    text-align:center;
  }
  .hbi-sep{color:rgba(255,255,255,.18);}
  @media(max-width:640px){
    .hero-base-inner{gap:8px;}
    .hero-split{grid-template-columns:1fr;}
    .hero-logo{height:64px; margin-bottom:26px;}
  }

  /* ================= SHARED ================= */
  .fade{opacity:0; transform:translateY(28px); transition:opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1);}
  .fade.in{opacity:1; transform:translateY(0);}

  .page-header{
    padding:170px 0 90px;
    border-bottom:1px solid var(--line);
  }
  .page-header .kicker{margin-bottom:24px;}
  .page-header h1{
    font-family:'Space Grotesk', sans-serif;
    font-weight:400;
    font-size:clamp(40px,6vw,76px);
    line-height:1.02;
    letter-spacing:-.025em;
    margin-bottom:24px;
    max-width:820px;
  }
  .page-header p{
    font-size:16px; line-height:1.75; color:var(--body);
    max-width:560px;
  }
  .page-header p b{color:var(--chrome-hi); font-weight:500;}

  /* ================= PARTNERS ================= */
  .partners-section{padding:60px 0 160px;}
  .partners-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
    margin-bottom:28px;
  }
  .partner-tile{
    background:var(--navy);
    min-height:160px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:30px;
  }
  .partner-logo{
    max-width:100%;
    max-height:56px;
    opacity:.9;
  }
  .partner-pending{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
  }
  .pp-name{
    font-family:'Space Grotesk', sans-serif;
    font-weight:500; font-size:18px;
    color:var(--chrome-lo);
  }
  .pp-tag{
    font-family:'IBM Plex Mono', monospace;
    font-size:10px; letter-spacing:.1em; text-transform:uppercase;
    color:var(--muted);
    border:1px dashed var(--line);
    padding:4px 10px;
  }
  .partners-note{
    font-family:'IBM Plex Mono', monospace;
    font-size:12.5px; color:var(--muted); line-height:1.6;
    max-width:600px;
  }
  @media(max-width:700px){
    .partners-grid{grid-template-columns:1fr;}
  }
  .kicker{
    font-family:'IBM Plex Mono', monospace;
    font-size:11.5px; letter-spacing:.2em; text-transform:uppercase;
    color:var(--muted);
    display:flex; align-items:center; gap:14px;
  }
  .kicker::before{content:''; width:28px; height:1px; background:linear-gradient(90deg, var(--chrome-hi), var(--chrome-lo));}
  h2{
    font-family:'Space Grotesk', sans-serif;
    font-weight:400;
    font-size:clamp(32px,4.6vw,58px);
    line-height:1.06;
    letter-spacing:-.02em;
  }

  /* ================= DIVISIONS ================= */
  .divisions{
    padding:160px 0 0;
    background:#F3F4F7;
    color:#0B1738;
    --navy:#FFFFFF;
    --navy-2:#EAEDF2;
    --chrome-hi:#0B1738;
    --chrome:#23304F;
    --chrome-lo:#4A5568;
    --muted:#69707F;
    --body:#3D4459;
    --line:rgba(4,9,28,.12);
    --cobalt:#1D63B0;
    --talent:#6A4FC7;
    --white:#0B1738;
  }
  .div-head{margin-bottom:90px; max-width:760px;}
  .div-head h2{margin:24px 0 26px;}
  .div-head p{font-size:16px; line-height:1.8; color:var(--body); max-width:540px;}
  .div-split{border-top:1px solid var(--line);}
  .div-row{
    display:grid;
    grid-template-columns:90px 1fr 1fr;
    gap:40px;
    padding:72px 0;
    border-bottom:1px solid var(--line);
    align-items:start;
    position:relative;
    transition:background .4s;
  }
  .div-row:hover{background:var(--navy-2);}
  .div-row .idx{
    font-family:'IBM Plex Mono', monospace;
    font-size:12px; color:var(--muted);
    padding-top:14px;
  }
  .div-row .title-block h3{
    font-family:'Space Grotesk', sans-serif;
    font-weight:400;
    font-size:clamp(34px,4.4vw,56px);
    letter-spacing:-.02em;
    line-height:1;
    margin-bottom:18px;
    transition:color .3s;
  }
  .div-row.r-consulting:hover h3{color:var(--cobalt);}
  .div-row.r-talent:hover h3{color:var(--talent);}
  .div-row .title-block .strap{
    font-family:'IBM Plex Mono', monospace;
    font-size:12px; letter-spacing:.1em; text-transform:uppercase;
    color:var(--muted);
  }
  .div-row .detail p{
    font-size:15.5px; line-height:1.8; color:var(--body);
    margin-bottom:26px; max-width:440px;
  }
  .div-list{
    list-style:none;
    display:flex; flex-wrap:wrap; gap:10px 22px;
    margin-bottom:30px;
  }
  .div-list li{
    font-family:'IBM Plex Mono', monospace;
    font-size:12.5px; color:var(--chrome);
    letter-spacing:.02em;
  }
  .div-list li::before{content:'· '; }
  .r-consulting .div-list li::before{color:var(--cobalt);}
  .r-talent .div-list li::before{color:var(--talent);}
  .pillar-list{
    list-style:none;
    margin-bottom:30px;
    border-top:1px solid var(--line);
    max-width:480px;
  }
  .pillar-list li{
    padding:16px 0;
    border-bottom:1px solid var(--line);
    display:flex;
    flex-direction:column;
    gap:4px;
  }
  .pl-name{
    font-family:'IBM Plex Mono', monospace;
    font-size:12.5px; color:var(--chrome-hi);
    letter-spacing:.02em;
  }
  .pl-desc{
    font-size:13px; line-height:1.55; color:var(--muted);
  }
  .div-link{
    font-family:'IBM Plex Mono', monospace;
    font-size:12.5px; letter-spacing:.05em;
    text-decoration:none;
    display:inline-flex; align-items:center; gap:10px;
    transition:gap .25s;
  }
  .div-link:hover{gap:16px;}
  .r-consulting .div-link{color:var(--cobalt);}
  .r-talent .div-link{color:var(--talent);}
  .div-future{
    padding:26px 0;
    border-bottom:1px solid var(--line);
    display:flex; align-items:baseline; gap:24px;
    font-family:'IBM Plex Mono', monospace;
  }
  .div-future .idx{font-size:12px; color:var(--muted); width:90px; flex-shrink:0;}
  .div-future .name{font-size:13px; color:var(--chrome-lo); letter-spacing:.06em;}
  .div-future .soon{font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:#2FA6A0;}
  @media(max-width:860px){
    .div-row{grid-template-columns:1fr; gap:24px; padding:56px 0;}
    .div-row .idx{padding-top:0;}
    .div-future .idx{width:auto;}
  }

  /* ================= CUSTOMER JOURNEY ================= */
  .journey{padding:140px 0 150px; border-top:1px solid var(--line);}
  .journey-head{max-width:640px; margin-bottom:70px;}
  .journey-head h2{margin:24px 0 18px;}
  .journey-head p{font-size:15.5px; line-height:1.75; color:var(--body);}
  .journey-flow{
    display:flex;
    align-items:stretch;
    gap:0;
    flex-wrap:wrap;
  }
  .journey-step{
    flex:1;
    min-width:180px;
    border:1px solid var(--line);
    padding:26px 22px;
    background:var(--navy);
  }
  .js-num{
    font-family:'IBM Plex Mono', monospace;
    font-size:11px; color:var(--cobalt); letter-spacing:.1em;
    display:block; margin-bottom:14px;
  }
  .js-talent .js-num{color:var(--talent);}
  .journey-step h3{
    font-family:'Space Grotesk', sans-serif;
    font-weight:500; font-size:17px;
    color:var(--chrome-hi);
    margin-bottom:8px;
  }
  .journey-step p{
    font-size:12.5px; line-height:1.55; color:var(--muted);
  }
  .journey-arrow{
    display:flex; align-items:center; justify-content:center;
    color:var(--chrome-lo);
    font-size:16px;
    padding:0 14px;
    flex-shrink:0;
  }
  @media(max-width:820px){
    .journey-flow{flex-direction:column;}
    .journey-arrow{transform:rotate(90deg); padding:8px 0; align-self:center;}
  }


  /* ================= MARQUEE ================= */
  .marquee-section{padding:110px 0 150px; overflow:hidden;}
  .marquee-label{
    font-family:'IBM Plex Mono', monospace;
    font-size:11px; letter-spacing:.2em; text-transform:uppercase;
    color:var(--muted); text-align:center;
    margin-bottom:44px;
  }
  .marquee{
    display:flex; width:max-content;
    animation:scroll 36s linear infinite;
  }
  .marquee:hover{animation-play-state:paused;}
  .marquee-track{display:flex; align-items:center; flex-shrink:0;}
  .marquee-track span{
    font-family:'Space Grotesk', sans-serif;
    font-weight:300;
    font-size:clamp(28px,3.4vw,44px);
    letter-spacing:-.01em;
    color:var(--chrome-lo);
    padding:0 34px;
    white-space:nowrap;
    transition:color .3s;
  }
  .marquee-track span:hover{color:var(--chrome-hi);}
  .marquee-track i{
    font-style:normal; color:var(--chrome-lo); font-size:12px;
  }
  @keyframes scroll{to{transform:translateX(-50%);}}
  @media (prefers-reduced-motion: reduce){.marquee{animation:none; flex-wrap:wrap;} .hero-video{display:none;}}

  /* ================= WHY ================= */
  .why{
    padding:110px 0 160px;
    background:#F3F4F7;
    color:#0B1738;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    position:relative;
    overflow:hidden;
    --navy:#FFFFFF;
    --navy-2:#EAEDF2;
    --chrome-hi:#0B1738;
    --chrome:#23304F;
    --chrome-lo:#4A5568;
    --muted:#69707F;
    --body:#3D4459;
    --line:rgba(4,9,28,.12);
    --cobalt:#1D63B0;
    --white:#0B1738;
  }
  .why-statement{
    max-width:900px;
    margin-bottom:90px;
  }
  .why-statement h2{margin:24px 0 0;}
  .why-statement h2 .dim{color:var(--chrome-lo);}
  .why-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
  }
  .why-item{
    background:var(--navy);
    padding:38px 34px 42px;
    transition:background .3s;
  }
  .why-item:hover{background:var(--navy-2);}
  .wi-num{
    font-family:'IBM Plex Mono', monospace;
    font-size:11px; color:var(--cobalt); letter-spacing:.1em;
    display:block; margin-bottom:20px;
  }
  .why-item h3{
    font-family:'Space Grotesk', sans-serif;
    font-weight:500; font-size:19px;
    color:var(--chrome-hi);
    margin-bottom:12px;
    letter-spacing:-.01em;
  }
  .why-item p{
    font-size:13.5px; line-height:1.7; color:var(--muted);
  }
  @media(max-width:900px){
    .why-grid{grid-template-columns:1fr 1fr;}
  }
  @media(max-width:600px){
    .why-grid{grid-template-columns:1fr;}
  }

  /* ================= SELECTED EXPERIENCE ================= */
  .cases{padding:160px 0; border-top:1px solid var(--line);}
  .cases .section-head{max-width:640px; margin-bottom:70px;}
  .cases .section-head h2{margin-top:24px;}
  .cases .section-head p{
    font-family:'IBM Plex Mono', monospace;
    font-size:13px; letter-spacing:.03em;
    color:var(--muted);
    margin-top:18px;
  }
  .case-list{border-top:1px solid var(--line);}
  .case-row{
    padding:56px 0;
    border-bottom:1px solid var(--line);
    display:grid;
    grid-template-columns:minmax(260px, 380px) 1fr;
    gap:60px;
    align-items:start;
  }
  .case-tag{
    font-family:'IBM Plex Mono', monospace;
    font-size:11px; letter-spacing:.1em; text-transform:uppercase;
    color:var(--cobalt);
    display:block;
    margin-bottom:16px;
  }
  .case-row h3{
    font-family:'Space Grotesk', sans-serif;
    font-weight:500; font-size:clamp(20px,2.2vw,26px);
    color:var(--chrome-hi);
    margin-bottom:10px;
    letter-spacing:-.01em;
    line-height:1.25;
  }
  .case-industry{
    font-family:'IBM Plex Mono', monospace;
    font-size:11.5px; color:var(--muted);
  }
  .case-detail{
    display:flex; flex-direction:column; gap:22px;
  }
  .case-part{
    display:grid;
    grid-template-columns:88px 1fr;
    gap:20px;
    align-items:baseline;
  }
  .cp-label{
    font-family:'IBM Plex Mono', monospace;
    font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
    color:var(--muted);
  }
  .case-part p{
    font-size:14.5px; line-height:1.7; color:var(--body);
    max-width:560px;
  }
  .case-part.outcome .cp-label{color:var(--cobalt);}
  .case-part.outcome p{
    color:var(--chrome-hi);
  }
  @media(max-width:820px){
    .case-row{grid-template-columns:1fr; gap:28px; padding:44px 0;}
    .case-part{grid-template-columns:1fr; gap:6px;}
  }

  /* ================= FOUNDERS ================= */
  .founders{
    padding:160px 0;
    background:#F3F4F7;
    color:#0B1738;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    position:relative;
    overflow:hidden;
    --navy:#FFFFFF;
    --navy-2:#EAEDF2;
    --chrome-hi:#0B1738;
    --chrome:#23304F;
    --chrome-lo:#4A5568;
    --muted:#69707F;
    --body:#3D4459;
    --line:rgba(4,9,28,.12);
    --cobalt:#1D63B0;
    --white:#0B1738;
  }
  .founders-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:start;
  }
  .founders-left h2{margin:24px 0 28px;}
  .founders-left p{font-size:15.5px; line-height:1.85; color:var(--body); max-width:420px;}
  .founders-list{border-top:1px solid var(--line);}
  .founder-row{
    display:flex; justify-content:space-between; align-items:baseline;
    padding:30px 0;
    border-bottom:1px solid var(--line);
    transition:padding-left .3s;
  }
  .founder-row:hover{padding-left:12px;}
  .founder-row .fname{
    font-family:'Space Grotesk', sans-serif;
    font-weight:400;
    font-size:clamp(24px,2.6vw,34px);
    letter-spacing:-.015em;
    color:var(--chrome-hi);
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:12px;
    transition:color .25s;
  }
  a.fname:hover{color:var(--cobalt);}
  .fname .li-ico{
    font-family:'IBM Plex Mono', monospace;
    font-size:10px;
    font-weight:500;
    color:var(--muted);
    border:1px solid var(--line);
    border-radius:4px;
    width:20px; height:20px;
    display:inline-flex; align-items:center; justify-content:center;
    text-transform:none;
  }
  .founder-row .frole{
    font-family:'IBM Plex Mono', monospace;
    font-size:11px; letter-spacing:.16em; text-transform:uppercase;
    color:var(--muted);
    text-align:right;
    line-height:2;
  }
  .femail{
    color:var(--muted);
    text-decoration:none;
    letter-spacing:.04em;
    text-transform:none;
    font-size:11px;
    transition:color .25s;
  }
  .femail:hover{color:var(--cobalt);}
  @media(max-width:860px){.founders-grid{grid-template-columns:1fr; gap:50px;}}

  /* ================= INSIGHTS ================= */
  .insights{padding:110px 0 160px;}
  .insights-more{margin-top:36px;}
  .insights .kicker{margin-bottom:60px;}
  .insight-row{
    display:grid;
    grid-template-columns:120px 1fr auto;
    gap:36px;
    align-items:center;
    padding:34px 0;
    border-top:1px solid var(--line);
    text-decoration:none;
    transition:background .3s;
  }
  .insight-row:last-of-type{border-bottom:1px solid var(--line);}
  .insight-row:hover{background:var(--navy-2);}
  .insight-row .itag{
    font-family:'IBM Plex Mono', monospace;
    font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  }
  .insight-row .itag.c{color:var(--cobalt);}
  .insight-row .itag.t{color:var(--talent);}
  .insight-row .itag.p{color:#2FA6A0;}
  .insight-row h3{
    font-family:'Space Grotesk', sans-serif;
    font-weight:400;
    font-size:clamp(18px,2vw,24px);
    letter-spacing:-.01em;
    color:var(--chrome);
    transition:color .3s;
  }
  .insight-row:hover h3{color:var(--chrome-hi);}
  .insight-row .iarrow{
    font-family:'Space Grotesk', sans-serif;
    color:var(--muted);
    font-size:20px;
    transition:transform .3s, color .3s;
  }
  .insight-row:hover .iarrow{transform:translateX(8px); color:var(--cobalt);}
  @media(max-width:700px){
    .insight-row{grid-template-columns:1fr; gap:12px;}
    .insight-row .iarrow{display:none;}
  }

  /* ================= CTA ================= */
  .final{
    position:relative;
    padding:160px 0 110px;
    text-align:center;
    overflow:hidden;
    border-top:1px solid var(--line);
  }
  .final .inner{position:relative; z-index:2;}
  .final h2{margin-bottom:26px;}
  .final h2 .chrome{
    background:linear-gradient(175deg,var(--chrome-hi) 20%,var(--chrome) 55%,var(--chrome-lo));
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  }
  .final p{
    font-size:16px; line-height:1.75; color:var(--body);
    max-width:480px; margin:0 auto 52px;
  }

  footer{
    position:relative;
    border-top:1px solid var(--line-soft);
    padding:70px 0 46px;
    background-image:url('../images/footer-bg.jpg');
    background-size:cover;
    background-position:center 12%;
    background-repeat:no-repeat;
    overflow:hidden;
  }
  footer::before{
    content:'';
    position:absolute; inset:0;
    background:linear-gradient(180deg, var(--navy) 0%, rgba(4,9,28,.15) 40%, rgba(4,9,28,.55) 100%);
    pointer-events:none;
  }
  .footer-inner{position:relative; z-index:2;}
  .footer-inner{
    max-width:1240px; margin:0 auto; padding:0 40px;
    display:flex; justify-content:space-between; align-items:center;
    flex-wrap:wrap; gap:16px;
  }
  .footer-logo{display:flex; align-items:center;}
  .footer-logo-img{height:34px; width:auto; display:block;}
  footer p{
    font-family:'IBM Plex Mono', monospace;
    font-size:11px; color:var(--muted); letter-spacing:.02em;
  }

  .page-header .li-cta{margin-top:44px;}
  footer p a{color:inherit; text-decoration:none; transition:color .25s;}
  footer p a:hover{color:var(--chrome-hi);}
  @media (max-width:480px){ .page-header .li-cta{white-space:normal; max-width:100%; padding:16px 22px;} }

  /* ================= CONTACT ================= */
  .contact{padding:90px 0 160px;}
  .contact-grid{display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:90px; align-items:start;}
  .contact-form{display:flex; flex-direction:column; gap:26px;}
  .field-row{display:grid; grid-template-columns:1fr 1fr; gap:26px;}
  .field{display:flex; flex-direction:column; gap:10px;}
  .field span{
    font-family:'IBM Plex Mono', monospace; font-size:11.5px;
    letter-spacing:.08em; text-transform:uppercase; color:var(--chrome);
  }
  .field span i{font-style:normal; color:var(--cobalt);}
  .field input, .field textarea{
    font:inherit; font-size:15px; color:var(--white);
    background:var(--navy-2); border:1px solid rgba(199,203,212,.24);
    padding:15px 16px; border-radius:0; outline:none;
    transition:border-color .25s, background .25s;
  }
  .field textarea{resize:vertical; min-height:150px; line-height:1.6;}
  .field input:focus, .field textarea:focus{border-color:var(--cobalt); background:#08112E;}
  .hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
  .form-foot{display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-top:6px;}
  .form-submit{
    font-family:'IBM Plex Mono', monospace; font-size:12.5px; letter-spacing:.06em;
    color:var(--navy); background:var(--chrome-hi); border:0; cursor:pointer;
    padding:17px 32px; display:inline-flex; align-items:center; gap:12px;
    transition:background .25s, gap .25s;
  }
  .form-submit:hover{background:var(--white); gap:18px;}
  .form-submit .arrow{color:var(--cobalt);}
  .form-submit:disabled{opacity:.6; cursor:wait;}
  .form-status{font-size:14px; color:var(--body); line-height:1.6;}
  .form-status.ok{color:#5FD0A0;}
  .form-status.err{color:#F08A8A;}
  .form-status a{color:inherit;}
  .form-privacy{font-size:13px; color:var(--body); line-height:1.6;}
  .contact-aside{border-left:1px solid var(--line); padding-left:50px; display:flex; flex-direction:column; gap:38px;}
  .ca-label{
    font-family:'IBM Plex Mono', monospace; font-size:11.5px;
    letter-spacing:.08em; text-transform:uppercase; color:var(--chrome); margin-bottom:10px;
  }
  .ca-block p:not(.ca-label), .ca-block a{font-size:15px; line-height:1.7; color:var(--white); text-decoration:none;}
  .ca-block a{color:var(--chrome-hi); transition:color .25s;}
  .ca-block a:hover{color:var(--cobalt);}
  @media(max-width:860px){
    .contact-grid{grid-template-columns:1fr; gap:60px;}
    .contact-aside{border-left:0; border-top:1px solid var(--line); padding:40px 0 0;}
  }
  @media(max-width:600px){ .field-row{grid-template-columns:1fr;} .contact{padding:60px 0 110px;} }

  /* ================= ARTICLE ================= */
  .article-header h1{max-width:900px;}
  .article-back{
    display:inline-block; margin-bottom:34px;
    font-family:'IBM Plex Mono', monospace; font-size:12px; letter-spacing:.06em;
    color:var(--chrome); text-decoration:none; transition:color .25s;
  }
  .article-back:hover{color:var(--cobalt);}
  .article-header .itag.c{color:var(--cobalt);}
  .article-header .itag.p{color:#2FA6A0;}

  /* ================= MOBILE FIXES ================= */
  .hero-video::-webkit-media-controls,
  .hero-video::-webkit-media-controls-start-playback-button,
  .hero-video::-webkit-media-controls-overlay-play-button{display:none !important; -webkit-appearance:none;}

  .nav-toggle{display:none;}
  .nav-menu{display:none;}
  @media(max-width:760px){
    .nav-toggle{
      display:flex; flex-direction:column; justify-content:center; gap:5px;
      width:38px; height:38px; padding:0 10px; margin-left:-6px;
      background:transparent; border:0; border-radius:999px; cursor:pointer;
    }
    .nav-toggle span{display:block; height:1.5px; background:var(--chrome-hi); border-radius:2px; transition:transform .3s, opacity .3s;}
    nav.open .nav-toggle span:first-child{transform:translateY(3.25px) rotate(45deg);}
    nav.open .nav-toggle span:last-child{transform:translateY(-3.25px) rotate(-45deg);}
    .nav-menu{
      display:flex; flex-direction:column;
      position:absolute; top:calc(100% + 10px); left:50%;
      width:min(320px, calc(100vw - 48px));
      padding:10px;
      background:rgba(14,22,48,.92);
      backdrop-filter:blur(20px) saturate(160%);
      -webkit-backdrop-filter:blur(20px) saturate(160%);
      border:1px solid rgba(255,255,255,.12); border-radius:22px;
      box-shadow:0 18px 40px rgba(0,0,0,.45);
      opacity:0; visibility:hidden; transform:translate(-50%, -8px);
      transition:opacity .25s, transform .25s, visibility 0s .25s;
    }
    nav.open .nav-menu{pointer-events:auto; opacity:1; visibility:visible; transform:translate(-50%, 0); transition:opacity .25s, transform .25s;}
    .nav-menu a{
      font-family:'IBM Plex Mono', monospace; font-size:14px; letter-spacing:.06em;
      color:var(--chrome-hi); text-decoration:none;
      padding:14px 16px; border-radius:14px;
    }
    .nav-menu a:active, .nav-menu a:hover{background:rgba(255,255,255,.06);}
  }
  @media(max-width:640px){
    .hero-base{position:relative;}
    .hero-inner{padding-bottom:48px;}
  }
