  :root{
    --navy:#031266; --navy-deep:#020B3E; --navy-lift:#0A2091;
    --sky:#8CBCE3; --pale:#DCE8F5;
    --paper:#FAFAFB; --card:#FFFFFF; --ink:#0B0E1A; --soft:#5C6478; --line:#E2E5ED;
    --champagne:#E8DCC8;
    --font:'Archivo', system-ui, sans-serif;
    --disp:'Playfair Display', Georgia, serif;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
  a{color:inherit;text-decoration:none;}
  a:focus-visible,button:focus-visible{outline:2px solid var(--navy);outline-offset:3px;}
  img{display:block;width:100%;}
  .wrap{max-width:1160px;margin:0 auto;padding:0 24px;}
  .eyebrow{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;font-weight:700;color:var(--navy);}

  /* lockup */
  .lockup{display:flex;align-items:center;gap:11px;}
  .lockup .st{width:30px;height:30px;flex:none;}
  .lockup .tx .m{font-weight:900;font-size:19px;letter-spacing:-.005em;line-height:1;display:block;}
  .lockup .tx .s{font-weight:600;font-size:8px;letter-spacing:.34em;text-transform:uppercase;color:var(--soft);margin-top:3px;display:block;}

  /* nav */
  .nav{position:sticky;top:0;z-index:60;background:rgba(250,250,251,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;}
  .nav-links{display:flex;gap:26px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--soft);}
  .nav-links a{padding-bottom:3px;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;}
  .nav-links a:hover{color:var(--ink);border-color:var(--navy);}
  @media(max-width:820px){.nav-links a{display:none;}.nav-links a:last-child{display:inline;}}

  /* hero */
  .hero{position:relative;min-height:92svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--navy-deep);}
  .hero .ph{position:absolute;inset:0;}
  .hero .ph img{height:100%;object-fit:cover;object-position:center 40%;}
  .hero .tint{position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(3,18,102,.34) 0%,rgba(3,18,102,.18) 38%,rgba(2,11,62,.88) 100%);}
  .hero .wrap{position:relative;padding-bottom:72px;padding-top:120px;color:#fff;}
  .hero .tag{font-family:var(--disp);font-style:italic;font-size:clamp(15px,2vw,19px);color:var(--champagne);margin-bottom:16px;}
  .hero h1{font-weight:900;font-size:clamp(42px,8vw,92px);line-height:.96;letter-spacing:-.025em;}
  .hero p.lede{max-width:540px;color:#CBD6EC;margin-top:22px;font-size:17px;}
  .hero .ctas{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap;}
  .btn{display:inline-block;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:800;
    padding:15px 27px;border:2px solid currentColor;transition:background .22s,color .22s,transform .15s;}
  .btn:hover{transform:translateY(-2px);}
  .hero .btn.solid{background:#fff;color:var(--navy);border-color:#fff;}
  .hero .btn.solid:hover{background:var(--champagne);border-color:var(--champagne);}
  .hero .btn.ghost{color:#fff;}
  .hero .btn.ghost:hover{background:#fff;color:var(--navy);}
  .status{position:absolute;top:96px;right:24px;z-index:3;font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;
    color:#fff;border:1px dashed rgba(255,255,255,.55);padding:8px 12px;}
  @media(max-width:640px){.status{top:80px;right:16px;}}
  .rise{opacity:0;transform:translateY(16px);animation:rise .9s ease forwards;}
  .d1{animation-delay:.1s}.d2{animation-delay:.24s}.d3{animation-delay:.38s}.d4{animation-delay:.52s}
  @keyframes rise{to{opacity:1;transform:none;}}

  /* asterisk meaning band */
  .meaning{background:var(--navy);color:#fff;}
  .meaning .in{display:grid;grid-template-columns:auto 1fr;gap:44px;align-items:center;}
  .meaning .big-st{width:104px;height:104px;animation:turn 90s linear infinite;transform-origin:center;}
  @keyframes turn{to{transform:rotate(360deg);}}
  .meaning p{font-family:var(--disp);font-size:clamp(19px,2.6vw,28px);line-height:1.45;max-width:40ch;color:#EAF0FA;}
  .meaning .src{font-family:var(--font);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--sky);margin-top:16px;font-weight:700;}
  @media(max-width:760px){.meaning .in{grid-template-columns:1fr;gap:24px;}.meaning .big-st{width:72px;height:72px;}}

  section{padding:92px 0;}
  .sec-head{max-width:660px;margin-bottom:46px;}
  .sec-head .eyebrow{display:block;margin-bottom:14px;}
  .sec-head h2{font-weight:900;font-size:clamp(30px,4.6vw,50px);line-height:1.05;letter-spacing:-.02em;}
  .sec-head p{color:var(--soft);margin-top:14px;}

  /* disciplines */
  .disc{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  @media(max-width:900px){.disc{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.disc{grid-template-columns:1fr;}}
  .dc{background:var(--card);padding:32px 26px 36px;transition:background .25s;}
  .dc:hover{background:#F7F9FD;}
  .dc .n{font-weight:900;font-size:11px;letter-spacing:.2em;color:var(--navy);display:block;margin-bottom:16px;}
  .dc h3{font-weight:800;font-size:18.5px;letter-spacing:-.01em;margin-bottom:9px;}
  .dc p{color:var(--soft);font-size:14px;}

  /* split feature */
  .split{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .split .in{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center;}
  .split figure{overflow:hidden;background:var(--pale);}
  .split img{aspect-ratio:3/4;object-fit:cover;transition:transform .9s ease;}
  .split:hover img{transform:scale(1.03);}
  .split h2{font-weight:900;font-size:clamp(28px,4vw,44px);line-height:1.06;letter-spacing:-.02em;margin-bottom:16px;}
  .split p{color:var(--soft);max-width:48ch;margin-bottom:14px;}
  .split .pts{border-top:1px solid var(--line);margin-top:22px;}
  .split .pt{display:grid;grid-template-columns:32px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);}
  .split .pt .k{font-weight:900;font-size:11px;letter-spacing:.18em;color:var(--navy);padding-top:3px;}
  .split .pt b{display:block;font-weight:700;font-size:16px;}
  .split .pt span{color:var(--soft);font-size:14px;}
  @media(max-width:880px){.split .in{grid-template-columns:1fr;gap:30px;}}

  /* portfolio in formation */
  .folio{position:relative;overflow:hidden;background:var(--navy-deep);color:#fff;}
  .folio .bg{position:absolute;inset:0;opacity:.3;}
  .folio .bg img{height:100%;object-fit:cover;object-position:center 30%;filter:grayscale(.4);}
  .folio .in{position:relative;text-align:center;padding:26px 0;}
  .folio .pill{display:inline-block;font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;font-weight:700;
    border:1px dashed rgba(255,255,255,.5);padding:8px 13px;margin-bottom:22px;}
  .folio h2{font-family:var(--disp);font-size:clamp(28px,4.6vw,50px);line-height:1.15;max-width:20ch;margin:0 auto 16px;}
  .folio p{color:#C3CFE6;max-width:52ch;margin:0 auto;}

  /* principles */
  .pr-grid{display:grid;grid-template-columns:repeat(3,1fr);}
  .pr{padding:6px 34px 6px 0;border-right:1px solid var(--line);}
  .pr+.pr{padding-left:34px;}
  .pr:last-child{border-right:none;padding-right:0;}
  .pr .n{font-weight:900;font-size:11px;letter-spacing:.22em;color:var(--navy);display:block;margin-bottom:14px;}
  .pr h3{font-weight:800;font-size:20px;margin-bottom:10px;letter-spacing:-.01em;}
  .pr p{color:var(--soft);font-size:14.5px;}
  @media(max-width:820px){
    .pr-grid{grid-template-columns:1fr;}
    .pr{border-right:none;border-bottom:1px solid var(--line);padding:22px 0 !important;}
    .pr:last-child{border-bottom:none;}
  }

  /* contact */
  .cta-band{background:var(--navy);color:#fff;}
  .cta-band .in{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;}
  @media(max-width:820px){.cta-band .in{grid-template-columns:1fr;gap:26px;}}
  .cta-band h2{font-weight:900;font-size:clamp(26px,4vw,42px);line-height:1.08;letter-spacing:-.02em;}
  .cta-band p{color:#C3CFE6;margin-top:14px;max-width:44ch;}
  .mailbig{display:inline-block;font-weight:900;font-size:clamp(17px,2.8vw,25px);letter-spacing:-.01em;
    border-bottom:3px solid var(--sky);padding-bottom:6px;word-break:break-word;}
  .mailbig:hover{border-color:var(--champagne);}
  .subnote{margin-top:12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--sky);}

  footer{border-top:1px solid var(--line);padding:34px 0 46px;}
  .foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;color:var(--soft);font-size:12px;}
  .foot .up{border-bottom:1px solid var(--line);padding-bottom:2px;}
  .foot .up:hover{border-color:var(--navy);color:var(--ink);}

  .reveal{opacity:0;transform:translateY(16px);transition:opacity .75s ease,transform .75s ease;}
  .reveal.in{opacity:1;transform:none;}
  @media (prefers-reduced-motion: reduce){
    .rise{animation:none;opacity:1;transform:none;}
    .meaning .big-st{animation:none;}
    .reveal{opacity:1;transform:none;transition:none;}
    html{scroll-behavior:auto;}
  }
