  :root{
    --navy:#123766;
    --navy-deep:#0E2B50;
    --navy-press:#0A2241;
    --ink:#0B0B0C;
    --text:#1C2230;
    --muted:#5B6472;
    --rule:#D9DEE6;
    --rule-soft:#E8ECF2;
    --pale:#E6ECF4;
    --pale-soft:#EEF2F8;
    --pale-deep:#C9D5E6;
    --error:#B42318;
    --bg:#FFFFFF;
    --gutter:clamp(20px, 4.4vw, 64px);
    --header-h:104px;
    --head:"Inter Tight", "Inter", "Helvetica Neue", Arial, sans-serif;
    --body:"Inter", "Helvetica Neue", Arial, sans-serif;
    --ease:cubic-bezier(0.16, 1, 0.3, 1);
    --ease-io:cubic-bezier(0.65, 0, 0.35, 1);
  }
  *,*::before,*::after{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg)}
  body{
    margin:0;background:var(--bg);color:var(--text);
    font-family:var(--body);font-size:16px;line-height:1.5;
    -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
    text-rendering:optimizeLegibility;
    overflow-x:clip;
  }
  a{color:inherit;text-decoration:none}
  img,svg{display:block}
  button,input{font:inherit;color:inherit}
  .sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  :focus-visible{outline:2px solid var(--navy);outline-offset:3px;border-radius:2px}
  .wrap{width:100%;max-width:1920px;margin-inline:auto;padding-inline:var(--gutter)}

  /* ---------- shared type ---------- */
  .eyebrow{
    margin:0;font-family:var(--body);font-weight:500;font-size:12px;line-height:1.2;
    letter-spacing:.26em;text-transform:uppercase;color:var(--text);white-space:nowrap;
  }
  .eyebrow .sep{color:var(--muted);margin:0 .2em;font-weight:400}

  /* grow-from-left underline for text links */
  .lnk{
    background-image:linear-gradient(currentColor,currentColor);
    background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;
    padding-bottom:2px;transition:background-size .55s var(--ease);
    -webkit-box-decoration-break:clone;box-decoration-break:clone;
  }
  .lnk:hover,.lnk:focus-visible,a:hover > .lnk,a:focus-visible > .lnk{background-size:100% 1px}

  /* ---------- masthead ---------- */
  .masthead{position:relative;z-index:3;height:var(--header-h);padding-top:44px}
  .masthead .wrap{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
  .brand{display:flex;align-items:center;gap:0;min-width:0;color:var(--text)}
  .brand:focus-visible{outline-offset:8px}
  .logo{width:auto;height:42px;flex:none}
  .brand .rule{width:1px;height:46px;background:var(--navy);margin:0 20px 0 22px;flex:none;transform-origin:top}
  .brand .name{margin:0;font-size:16px;line-height:1.27;font-weight:400;letter-spacing:-.005em;white-space:nowrap}
  .brand .name span{display:block}
  .linkedin{
    display:inline-flex;align-items:center;justify-content:center;gap:9px;
    min-height:44px;min-width:44px;padding:0 4px;margin:-12px -4px 0 0;
    font-size:14px;font-weight:500;color:var(--text);letter-spacing:.005em;
    transition:color .25s var(--ease);
  }
  .linkedin svg{width:18px;height:18px;flex:none;fill:var(--navy);transition:transform .45s var(--ease)}
  .linkedin:hover{color:var(--navy)}
  .linkedin:hover svg{transform:translateY(-1px)}

  /* ---------- hero ---------- */
  .hero{
    position:relative;isolation:isolate;overflow:hidden;
    min-height:calc(min(100vh, 1200px) - var(--header-h));
    min-height:calc(min(100svh, 1200px) - var(--header-h));
    display:flex;flex-direction:column;
    padding-bottom:56px;
  }
  .hero > .wrap{flex:1;display:flex;flex-direction:column;position:relative;z-index:2}
  .be-wrap{
    position:absolute;z-index:0;pointer-events:none;
    left:54.2%;
    top:calc(min(55vh, 660px) - var(--header-h) - 0.864em);
    font:italic 800 min(34.3vw, 54vh)/1 var(--head);
    letter-spacing:-.045em;
    will-change:transform;
  }
  .be{
    position:relative;display:block;white-space:nowrap;
    color:var(--pale);user-select:none;
    will-change:transform,opacity;
  }
  .be::after{ /* cursor light, clipped to the letterforms */
    content:attr(data-text);position:absolute;inset:0;
    color:var(--pale-deep);
    -webkit-mask-image:radial-gradient(300px circle at var(--mx,-999px) var(--my,-999px), #000 0%, rgba(0,0,0,.55) 40%, transparent 100%);
            mask-image:radial-gradient(300px circle at var(--mx,-999px) var(--my,-999px), #000 0%, rgba(0,0,0,.55) 40%, transparent 100%);
    opacity:0;transition:opacity .9s var(--ease-io);
  }
  .be.is-lit::after{opacity:.5}

  .stage{
    flex:1;display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,42%);grid-template-rows:1fr auto;
    column-gap:0;
    padding-top:24px;
  }
  .copy{grid-column:1;grid-row:1;align-self:center;min-width:0;padding:40px 0 32px}
  .kicker{margin-bottom:clamp(22px, 3.2vh, 36px);padding-left:2px}
  h1{
    margin:0;margin-left:-.045em;
    font-family:var(--head);font-weight:800;
    font-size:clamp(44px, 7.4vw, 136px);line-height:.92;letter-spacing:-.035em;
    color:var(--ink);text-transform:uppercase;
  }
  h1 .line{display:block;width:max-content;max-width:none;white-space:nowrap;clip-path:inset(-0.05em -100vw -0.05em -0.1em)}
  h1 .line > span{display:block;will-change:transform}

  .action{grid-column:2;grid-row:1 / span 2;align-self:end;min-width:0;padding-bottom:clamp(20px, 5vh, 56px)}
  .sub{
    margin:0 0 22px;font-family:var(--body);font-weight:400;
    font-size:clamp(15px, 1.15vw, 19px);line-height:1.45;letter-spacing:-.012em;color:var(--text);
  }
  .tagline{grid-column:1;grid-row:2;align-self:end;padding-left:2px}

  /* ---------- form ---------- */
  [data-form-wrap]{position:relative}
  form[data-aphbe-form]{margin:0;position:relative}
  .field{
    display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;
    border:1px solid var(--rule);border-radius:10px;background:#fff;
    transition:border-color .25s var(--ease), box-shadow .3s var(--ease);
  }
  .field:hover{border-color:#C0C8D4}
  .field:focus-within{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy), 0 0 0 5px rgba(18,55,102,.12)}
  .field:has(.btn:focus-visible){border-color:var(--rule);box-shadow:none}
  .field input[type="email"]{
    appearance:none;-webkit-appearance:none;width:100%;min-width:0;
    height:56px;margin:0;padding:0 20px;border:0;border-radius:9px 0 0 9px;background:transparent;
    font-family:var(--body);font-size:16px;color:var(--ink);letter-spacing:-.005em;outline:none;
  }
  .field input::placeholder{color:#6B7382;opacity:1}
  .field input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fff inset;-webkit-text-fill-color:var(--ink)}
  .field:has(input[aria-invalid="true"]){border-color:var(--error)}
  .field:has(input[aria-invalid="true"]):focus-within{box-shadow:0 0 0 1px var(--error), 0 0 0 5px rgba(180,35,24,.12)}

  .btn{
    position:relative;isolation:isolate;overflow:hidden;
    appearance:none;-webkit-appearance:none;cursor:pointer;
    height:56px;margin:-1px -1px -1px 0;padding:0 30px;border:0;border-radius:10px;
    background:var(--navy);color:#fff;
    font-family:var(--body);font-weight:500;font-size:13px;line-height:1;
    letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;
    -webkit-tap-highlight-color:transparent;
    transition:transform .5s var(--ease), box-shadow .3s var(--ease), background-color .3s var(--ease-io);
    will-change:transform;
  }
  .btn::before{ /* darker navy fill slides in from the left */
    content:"";position:absolute;inset:0;z-index:-1;background:var(--navy-deep);
    transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);
  }
  .btn::after{ /* slow, low-alpha sheen */
    content:"";position:absolute;inset:0;z-index:-1;
    background:linear-gradient(100deg, transparent 30%, rgba(255,255,255,.07) 50%, transparent 70%);
    transform:translateX(-120%);transition:transform 1.2s var(--ease);
  }
  .btn:hover::before,.btn:focus-visible::before{transform:scaleX(1)}
  .btn:hover::after{transform:translateX(120%)}
  .btn:active{transform:translateY(1px)!important;transition-duration:.08s}
  .btn:active::before{background:var(--navy-press)}
  .btn:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
  .btn:disabled,.btn[aria-disabled="true"]{cursor:progress}
  .is-sending .btn{background:#2A4F82;color:rgba(255,255,255,.85)}
  .is-sending .btn::before,.is-sending .btn::after{display:none}
  .is-sending .btn span.pulse{display:none}

  [data-form-status]{margin:12px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
  [data-form-status]:empty{margin:0;min-height:0}
  .is-error [data-form-status]{color:var(--error);font-weight:500}
  .is-error [data-form-status]::before{content:"— " / ""}

  .note{margin:14px 0 0;padding-left:1px;font-size:13px;line-height:1.5;color:var(--muted);letter-spacing:.002em}
  .note b{font-weight:500;color:var(--text)}
  [data-form-wrap]:has([data-form-success]) + .note{display:none}

  [data-form-success]{outline:0}
  .form-success{
    border:1px solid var(--rule);border-left:3px solid var(--navy);border-radius:10px;
    padding:22px 24px 22px 26px;background:#fff;
    animation:fadeUp 1s var(--ease) both;
  }
  .form-success-kicker{margin:0 0 12px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--navy);font-weight:500}
  .form-success-title{margin:0 0 6px;font-family:var(--head);font-weight:800;font-size:22px;letter-spacing:-.02em;line-height:1.1;color:var(--ink)}
  .form-success-note{margin:0;font-size:14px;line-height:1.55;color:var(--muted)}
  .form-success-note b{font-weight:500;color:var(--text)}
  .form-success-tag{margin:14px 0 0;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--navy);font-weight:500}

  /* ---------- manifesto ---------- */
  .manifesto{padding:clamp(56px, 6.5vw, 88px) 0 clamp(48px, 5.5vw, 72px);border-top:1px solid var(--rule-soft)}
  .manifesto .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);column-gap:48px}
  .m-side{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-top:.4em}
  .m-mark{width:44px;height:auto}
  .m-rule{width:44px;height:2px;background:var(--navy);transform-origin:left;margin:2px 0 4px}
  .lines{margin:0;padding:0;list-style:none}
  .lines li{
    font-family:var(--head);font-weight:800;
    font-size:clamp(30px, 3.9vw, 56px);line-height:1.04;letter-spacing:-.035em;color:var(--ink);
    margin:0 0 .2em;text-wrap:balance;
  }
  .lines li:last-child{margin-bottom:0}
  .lines li.navy,.lines .navy{color:var(--navy)}

  /* ---------- chapter ---------- */
  .chapter{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:clamp(44px, 5vw, 64px) 0}
  .chapter .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);column-gap:48px;align-items:start}
  .chapter .eyebrow{padding-top:.6em}
  .c-line{
    margin:0;font-family:var(--head);font-weight:800;
    font-size:clamp(26px, 3vw, 44px);line-height:1.1;letter-spacing:-.03em;color:var(--ink);text-wrap:balance;
  }
  .c-link{
    color:var(--navy);display:inline;padding:.45em 0 .06em;
    background-image:linear-gradient(var(--navy),var(--navy)), linear-gradient(rgba(18,55,102,.28),rgba(18,55,102,.28));
    background-size:0 2px, 100% 2px;background-position:0 100%, 0 100%;background-repeat:no-repeat;
    -webkit-box-decoration-break:clone;box-decoration-break:clone;
    transition:background-size .6s var(--ease);
  }
  .c-link:hover,.c-link:focus-visible{background-size:100% 2px, 100% 2px}
  .c-link .arr{display:inline-block;transition:transform .5s var(--ease)}
  .c-link:hover .arr,.c-link:focus-visible .arr{transform:translateX(.25em)}
  .c-sub{margin:16px 0 0;font-size:14px;line-height:1.5;color:var(--muted)}

  /* ---------- sponsorship ---------- */
  .sponsor{background:var(--navy);color:#fff;padding:clamp(56px, 6.5vw, 96px) 0}
  .sponsor .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);column-gap:48px;align-items:start}
  .s-eyebrow{color:rgba(255,255,255,.78);padding-top:.6em}
  .s-line{
    margin:0;font-family:var(--head);font-weight:800;
    font-size:clamp(30px, 3.9vw, 56px);line-height:1.04;letter-spacing:-.035em;color:#fff;
    max-width:20ch;text-wrap:balance;
  }
  .s-body{margin:22px 0 0;max-width:60ch;font-size:16px;line-height:1.6;color:rgba(255,255,255,.84)}
  .s-form{margin-top:36px;max-width:780px}
  .s-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px}
  .s-input{
    width:100%;height:56px;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:#fff;
    padding:0 18px;font-family:var(--body);font-size:16px;color:var(--ink);outline:none;
    transition:box-shadow .3s var(--ease);
  }
  .s-input::placeholder{color:#6B7382;opacity:1}
  .s-input:focus-visible{outline:2px solid #fff;outline-offset:3px}
  .s-input[aria-invalid="true"]{box-shadow:inset 0 0 0 2px #F3B8B1}
  .btn-light{margin:0;background:#fff;color:var(--navy);padding:0 28px}
  .btn-light::before{background:var(--pale)}
  .btn-light::after{display:none}
  .btn-light:focus-visible{outline-color:#fff}
  .is-sending .btn-light{background:rgba(255,255,255,.78);color:var(--navy)}
  .sponsor [data-form-status]{color:rgba(255,255,255,.84)}
  .sponsor .is-error [data-form-status]{color:#FFE1DC}
  .sponsor .form-success{border-color:rgba(255,255,255,.25);border-left-color:#fff}

  /* ---------- footer ---------- */
  footer{padding:36px 0 40px}
  footer .wrap{display:flex;justify-content:space-between;gap:24px 48px;align-items:flex-start;flex-wrap:wrap}
  .f-brand{display:flex;align-items:center;gap:16px;min-height:44px}
  .f-brand img{width:88px;height:auto}
  .f-brand p{margin:0;font-size:13px;color:var(--muted);white-space:nowrap}
  .f-legal{margin:0;max-width:60ch;font-size:13px;line-height:1.6;color:var(--muted)}
  .f-legal span{display:block}
  .f-li{
    display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 4px;margin:-12px -4px 0 0;
    font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;
  }
  .f-li svg{width:14px;height:14px;fill:var(--navy)}
  .f-li:hover{color:var(--navy)}

  /* ---------- entrance choreography (JS + fonts ready) ---------- */
  @keyframes rise{from{transform:translate3d(0,112%,0)}to{transform:translate3d(0,0,0)}}
  @keyframes fadeUp{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
  @keyframes fadeIn{from{opacity:0}to{opacity:1}}
  @keyframes beIn{from{opacity:0;transform:translate3d(0,1.5%,0) scale(1.03)}to{opacity:1;transform:none}}
  @keyframes ruleIn{from{transform:scaleY(0)}to{transform:scaleY(1)}}

  html.js h1 .line > span{transform:translate3d(0,112%,0)}
  html.js .fade{opacity:0}
  html.js .be{opacity:0}
  html.js .brand .rule{transform:scaleY(0)}
  html.js.ready h1 .line > span{animation:rise 1.1s var(--ease) both;animation-delay:calc(var(--i) * 100ms + 300ms)}
  html.js.ready .fade{animation:fadeUp 1.1s var(--ease) both;animation-delay:calc(var(--d, 0) * 1ms + 150ms)}
  html.js.ready .be{animation:beIn 1.8s var(--ease) .1s both}
  html.js.ready .brand .rule{animation:ruleIn 1.1s var(--ease) .1s both}

  /* scroll reveals */
  html.js .rv{opacity:0;transform:translate3d(0,18px,0);transition:opacity .9s var(--ease), transform 1.1s var(--ease)}
  html.js .rv.in{opacity:1;transform:none}
  .lines li.rv:nth-child(2){transition-delay:.08s}
  .lines li.rv:nth-child(3){transition-delay:.16s}
  .lines li.rv:nth-child(4){transition-delay:.24s}
  html.js .m-rule{transform:scaleX(0);transition:transform 1s var(--ease) .25s}
  html.js .m-side.in .m-rule{transform:scaleX(1)}

  /* touch devices: entrance is a short fade only */
  @media (hover: none){
    html.js h1 .line > span{transform:none;opacity:0}
    html.js.ready h1 .line > span{animation:fadeIn .45s ease-out both;animation-delay:calc(var(--i) * 40ms)}
    html.js.ready .fade{animation:fadeIn .45s ease-out both;animation-delay:calc(var(--d, 0) * .2ms)}
    html.js.ready .be{animation:fadeIn .6s ease-out both}
    html.js.ready .brand .rule{animation:none;transform:none}
    .be::after,.btn::after{display:none}
  }

  /* ---------- reduced motion: everything static ---------- */
  @media (prefers-reduced-motion: reduce){
    html.js h1 .line > span,html.js.ready h1 .line > span,
    html.js .fade,html.js.ready .fade,
    html.js .be,html.js.ready .be,
    html.js .brand .rule,html.js.ready .brand .rule,
    html.js .rv,html.js .m-rule{opacity:1;transform:none;animation:none;transition:none}
    .be-wrap{transform:none!important}
    .be::after{display:none}
    .btn{transform:none!important;transition:background-color .15s}
    .btn::before,.btn::after{display:none}
    .btn:hover,.btn:focus-visible{background:var(--navy-deep)}
    .field,.lnk,.c-link,.c-link .arr,.linkedin,.linkedin svg{transition:none}
    .c-link:hover .arr{transform:none}
    .linkedin:hover svg{transform:none}
    .form-success{animation:none}
  }

  /* ---------- responsive ---------- */
  @media (max-width:900px){
    .masthead{height:auto;padding-top:36px}
    .logo{height:36px}
    .brand .rule{height:40px;margin:0 16px 0 18px}
    .brand .name{font-size:13.5px;line-height:1.3}
    .hero{min-height:0;padding-bottom:40px}
    .be-wrap{left:auto;right:-3%;top:36px;font-size:min(74vw, 520px)}
    .be{color:var(--pale-soft)}
    .stage{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;padding-top:56px;row-gap:0}
    .copy{grid-row:1;align-self:start;padding:0 0 36px}
    .action{grid-column:1;grid-row:2;align-self:start;padding-bottom:0;max-width:560px}
    .tagline{grid-row:3;padding-top:56px}
    h1{font-size:clamp(44px, 12.4vw, 104px);margin-left:-.04em}
    .kicker{margin-bottom:22px}
    .sub{font-size:17px;margin-bottom:20px}
    .manifesto .wrap,.chapter .wrap{grid-template-columns:minmax(0,1fr);row-gap:28px}
    .sponsor .wrap{grid-template-columns:minmax(0,1fr);row-gap:28px}
    .s-eyebrow{padding-top:0}
    .m-side{padding-top:0;gap:14px}
    .chapter .eyebrow{padding-top:0}
    footer .wrap{flex-direction:column;gap:18px}
    .f-li{margin-top:-6px}
  }
  @media (max-width:640px){
    .s-grid{grid-template-columns:minmax(0,1fr)}
    .btn-light{width:100%}
    .field{display:block;border:0;border-radius:0;box-shadow:none;background:transparent}
    .field:hover,.field:focus-within{border-color:transparent;box-shadow:none}
    .field input[type="email"]{border:1px solid var(--rule);border-radius:10px;background:#fff;transition:border-color .25s var(--ease), box-shadow .3s var(--ease)}
    .field input[type="email"]:hover{border-color:#C0C8D4}
    .field input[type="email"]:focus{border-color:var(--navy);box-shadow:0 0 0 4px rgba(18,55,102,.10)}
    .field input[aria-invalid="true"]{border-color:var(--error)}
    .btn{width:100%;margin:10px 0 0;border-radius:10px}
  }
  @media (max-width:560px){
    .masthead{padding-top:24px}
    .logo{height:30px}
    .brand .rule{height:34px;margin:0 14px 0 16px}
    .brand .name{font-size:12.5px}
    .linkedin span{display:none}
    .linkedin{margin-top:-8px;margin-right:-8px;padding:0}
    .eyebrow{font-size:11px;letter-spacing:.2em}
    .eyebrow .sep{margin:0 .05em}
    .stage{padding-top:44px}
    .tagline{padding-top:48px}
  }
  @media (max-width:479px){
    /* stacked lockup: logo + LinkedIn on the first row, the full name beneath */
    .masthead .wrap{align-items:flex-start}
    .brand{flex-direction:column;align-items:flex-start;gap:10px}
    .logo{height:32px}
    .brand .rule{display:none}
    .brand .name{font-size:12.5px;line-height:1.3;color:var(--navy)}
    .linkedin{margin-top:-6px}
    .stage{padding-top:40px}
    .lines{display:block}
    .lines li{display:inline;margin:0}
    .lines li::after{content:" "}
    .lines li:last-child::after{content:none}
  }
  @media (max-width:400px){
    .eyebrow{letter-spacing:.17em}
  }
  @media (max-width:359px){
    h1{font-size:clamp(38px, 12.2vw, 44px)}
    .eyebrow{font-size:10.5px;letter-spacing:.14em}
  }
  @media (min-width:901px) and (max-width:1366px){
    .stage{grid-template-columns:minmax(0,1fr) minmax(0,42.5%)}
    .sub{letter-spacing:-.014em}
  }
  @media (min-width:1600px){
    :root{--header-h:112px}
    .masthead{padding-top:48px}
  }
  /* no JS: everything visible */
  html:not(.js) .be,html:not(.js) .fade{opacity:1}
