:root{
    --navy:#12202E;
    --navy-2:#1B2E40;
    --paper:#F7F6F2;
    --paper-2:#EFEDE6;
    --brass:#8C6B2E;
    --gold-light:#D9B673;
    --line:rgba(18,32,46,0.15);
    --line-dark:rgba(247,246,242,0.16);
    --max:1200px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0; background:var(--paper); color:var(--navy);
    font-family:'Inter', sans-serif; font-size:16px; line-height:1.7;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.display{ font-family:'IBM Plex Serif', serif; font-weight:600; line-height:1.15; margin:0; }
  .mono{ font-family:'IBM Plex Mono', monospace; letter-spacing:0.06em; text-transform:uppercase; font-size:0.72rem; }
  a{ color:inherit; }
  .wrap{ max-width:var(--max); margin:0 auto; padding:0 40px; }
  @media (max-width:640px){ .wrap{ padding:0 22px; } }

  /* NAV */
  header{ background:var(--navy); color:var(--paper); }
  nav.wrap{ display:flex; align-items:center; justify-content:space-between; height:84px; }
  .logo{ font-family:'IBM Plex Serif', serif; font-weight:600; font-size:1.2rem; letter-spacing:0.01em; }
  .logo span{ color:var(--gold-light); }
  .navlinks{ display:flex; gap:34px; list-style:none; margin:0; padding:0; }
  .navlinks a{ text-decoration:none; font-family:'IBM Plex Mono', monospace; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.06em; color:#C9CFD6; border-bottom:1px solid transparent; padding-bottom:4px; transition:color .2s, border-color .2s; }
  .navlinks a:hover{ color:var(--paper); border-color:var(--brass); }
  .navcta{ font-family:'IBM Plex Mono', monospace; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.06em; border:1px solid var(--brass); color:var(--paper); padding:11px 20px; text-decoration:none; white-space:nowrap; }
  .navcta:hover{ background:var(--brass); }
  .burger{ display:none; background:none; border:none; cursor:pointer; padding:8px; }
  .burger span{ display:block; width:22px; height:2px; background:var(--paper); margin:5px 0; }
  @media(max-width:900px){
    .navlinks{ display:none; position:absolute; top:84px; left:0; right:0; background:var(--navy); flex-direction:column; gap:0; padding:8px 22px 18px; border-top:1px solid var(--line-dark); }
    .navlinks.open{ display:flex; }
    .navlinks li{ border-top:1px solid var(--line-dark); }
    .navlinks li:first-child{ border-top:none; }
    .navlinks a{ display:block; padding:14px 0; border-bottom:none; }
    .burger{ display:block; }
  }

  /* HERO */
  .hero{ background:var(--navy); color:var(--paper); padding:88px 0 0; }
  .hero-grid{ display:grid; grid-template-columns:1.5fr 1fr; gap:56px; padding-bottom:64px; border-bottom:1px solid var(--line-dark); }
  .hero h1{ font-size:clamp(2.2rem, 5vw, 3.6rem); max-width:15ch; color:var(--paper); }
  .eyebrow{ color:var(--brass); display:block; margin-bottom:20px; }
  .hero .eyebrow{ color:var(--gold-light); }
  .hero-side p{ color:#C9CFD6; font-size:1.02rem; max-width:42ch; margin:0 0 26px; }
  .btnrow{ display:flex; gap:14px; flex-wrap:wrap; }
  .btn{ display:inline-block; font-family:'IBM Plex Mono', monospace; font-size:0.75rem; letter-spacing:0.06em; text-transform:uppercase; padding:14px 24px; text-decoration:none; border:1px solid var(--brass); }
  .btn.solid{ background:var(--brass); color:var(--navy); border-color:var(--brass); }
  .btn.solid:hover{ background:#a7823c; }
  .btn.ghost{ color:var(--paper); }
  .btn.ghost:hover{ background:var(--brass); color:var(--navy); }
  @media(max-width:900px){ .hero-grid{ grid-template-columns:1fr; } }

  /* Stat bar under hero */
  .statbar{ display:grid; grid-template-columns:repeat(3,1fr); }
  .statbar .stat{ padding:28px 0 28px; border-right:1px solid var(--line-dark); }
  .statbar .stat:last-child{ border-right:none; }
  .statbar .stat .n{ font-family:'IBM Plex Serif', serif; font-size:1.9rem; color:var(--paper); }
  .statbar .stat .l{ color:#9BA4AD; font-family:'IBM Plex Mono', monospace; font-size:0.7rem; text-transform:uppercase; letter-spacing:0.05em; margin-top:6px; }
  @media(max-width:640px){ .statbar{ grid-template-columns:1fr; } .statbar .stat{ border-right:none; border-bottom:1px solid var(--line-dark); } .statbar .stat:last-child{border-bottom:none;} }

  section{ padding:96px 0; border-top:1px solid var(--line); }
  .section-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:56px; flex-wrap:wrap; }
  .section-head h2{ font-size:clamp(1.7rem,4vw,2.4rem); max-width:18ch; }
  .section-head .mono{ color:#6B7178; max-width:30ch; text-align:right; }
  @media(max-width:640px){ .section-head .mono{ text-align:left; } }

  /* ABOUT */
  .about-grid{ display:grid; grid-template-columns:0.9fr 1.4fr; gap:64px; }
  .about-copy p{ margin:0 0 20px; max-width:62ch; }
  .credlist{ list-style:none; margin:0; padding:0; }
  .credlist li{ border-top:1px solid var(--line); padding:14px 0; font-size:0.95rem; }
  .credlist li:first-child{ border-top:none; }
  @media(max-width:900px){ .about-grid{ grid-template-columns:1fr; } }

  /* SERVICES - table-like rows for a "consulting deck" feel */
  .service-row{ display:grid; grid-template-columns:0.5fr 1fr 1.4fr; gap:32px; padding:32px 0; border-top:1px solid var(--line); }
  .service-row:first-child{ border-top:none; }
  .service-row .idx{ font-family:'IBM Plex Mono', monospace; color:var(--brass); font-size:0.85rem; }
  .service-row h3{ font-size:1.3rem; }
  .service-row p{ margin:0; color:#4B5157; max-width:50ch; }
  @media(max-width:900px){ .service-row{ grid-template-columns:1fr; gap:10px; } }

  /* PROCESS */
  .steps{ display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
  .step{ padding:32px 26px 0; border-left:1px solid var(--line); }
  .step:first-child{ border-left:none; padding-left:0; }
  .step .num{ font-family:'IBM Plex Mono', monospace; color:var(--brass); font-size:0.8rem; }
  .step h3{ font-size:1.15rem; margin:14px 0 10px; }
  .step p{ color:#4B5157; font-size:0.92rem; margin:0; }
  @media(max-width:900px){ .steps{ grid-template-columns:1fr 1fr; } .step:nth-child(2n+1){ border-left:none; padding-left:0; } .step:nth-child(n+3){ border-top:1px solid var(--line); padding-top:28px; } }
  @media(max-width:560px){ .steps{ grid-template-columns:1fr; } .step{ border-left:none !important; padding-left:0 !important; border-top:1px solid var(--line); padding-top:28px; } .step:first-child{ border-top:none; } }

  /* INVESTMENT / PRICING POSITIONING */
  .invest{ background:var(--navy); color:var(--paper); }
  .invest .section-head .mono{ color:#9BA4AD; }
  .invest-grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; }
  .invest-copy p{ color:#C9CFD6; max-width:52ch; margin:0 0 20px; }
  .invest-list{ list-style:none; margin:0; padding:0; }
  .invest-list li{ border-top:1px solid var(--line-dark); padding:20px 0; display:flex; justify-content:space-between; gap:16px; }
  .invest-list li:first-child{ border-top:none; }
  .invest-list .lbl{ font-family:'IBM Plex Serif', serif; font-size:1.05rem; }
  .invest-list .desc{ color:#9BA4AD; font-size:0.88rem; text-align:right; max-width:26ch; }
  @media(max-width:900px){ .invest-grid{ grid-template-columns:1fr; } .invest-list li{ flex-direction:column; gap:6px; } .invest-list .desc{ text-align:left; max-width:100%; } }

  /* CONTACT */
  .contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; }
  .contact-copy h2{ font-size:clamp(1.9rem,4.5vw,2.8rem); max-width:14ch; margin-bottom:22px; }
  .contact-copy p{ max-width:44ch; color:#4B5157; }
  .contact-links{ margin-top:30px; }
  .contact-links a{ display:block; text-decoration:none; font-family:'IBM Plex Serif', serif; font-weight:600; font-size:1.1rem; padding:16px 0; border-top:1px solid var(--line); }
  .contact-links a:first-child{ border-top:none; }
  .contact-links a span{ font-family:'IBM Plex Mono', monospace; font-size:0.68rem; color:var(--brass); display:block; margin-bottom:4px; text-transform:uppercase; letter-spacing:0.05em; }

  form{ display:flex; flex-direction:column; gap:20px; }
  label{ font-family:'IBM Plex Mono', monospace; font-size:0.7rem; text-transform:uppercase; letter-spacing:0.05em; color:#6B7178; margin-bottom:6px; display:block; }
  input, textarea, select{ width:100%; background:transparent; border:none; border-bottom:1px solid var(--line); padding:10px 2px; font-family:'Inter', sans-serif; font-size:1rem; color:var(--navy); }
  input:focus, textarea:focus, select:focus{ outline:none; border-color:var(--brass); }
  textarea{ resize:vertical; min-height:100px; }
  .submit-btn{ align-self:flex-start; margin-top:8px; font-family:'IBM Plex Mono', monospace; font-size:0.75rem; text-transform:uppercase; letter-spacing:0.06em; background:var(--navy); color:var(--paper); border:none; padding:15px 28px; cursor:pointer; }
  .submit-btn:hover{ background:var(--brass); color:var(--navy); }
  @media(max-width:900px){ .contact-grid{ grid-template-columns:1fr; } }

  footer{ background:var(--navy); color:#9BA4AD; padding:40px 0; }
  .footer-row{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }

  :focus-visible{ outline:2px solid var(--brass); outline-offset:3px; }
  @media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } *{ transition:none !important; animation:none !important; } }
.navlinks a.active{ color:var(--paper); border-color:var(--brass); }
