:root{
      --navy-950:#04122B;
      --navy-900:#041738;
      --navy-800:#0E2A57;
      --navy-mid:#1C376F;
      --navy-soft:#3A5079;
      --orange:#F37203;
      --orange-deep:#D9640A;
      --orange-tint:#FBEADB;
      --paper:#FBF9F5;
      --ink:#0E1B33;
      --ink-soft:#4A5568;
      --line:rgba(14,27,51,0.12);
      --line-on-dark:rgba(255,255,255,0.14);
    }
    *{margin:0;padding:0;box-sizing:border-box;}
    html{scroll-behavior:smooth;}
    body{
      font-family:'Inter',sans-serif;
      color:var(--ink);
      background:var(--paper);
      -webkit-font-smoothing:antialiased;
      overflow-x:hidden;
    }
    img{max-width:100%;display:block;}
    a{color:inherit;text-decoration:none;}
    .serif{font-family:'Fraunces',serif;}
    .eyebrow{
      font-size:11px;
      letter-spacing:2.6px;
      text-transform:uppercase;
      font-weight:600;
      color:var(--orange);
    }
    .container{max-width:1180px;margin:0 auto;padding:0 32px;}
    section{position:relative;}

    /* reveal on scroll */
    .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease, transform .8s ease;}
    .reveal.is-visible{opacity:1;transform:translateY(0);}

    /* ============ NAV ============ */
    header{
      position:fixed; top:0; left:0; right:0; z-index:100;
      display:flex; align-items:center; justify-content:space-between;
      padding:18px 32px;
      background:rgba(251,249,245,0.0);
      transition:background .35s ease, box-shadow .35s ease, padding .35s ease;
    }
    header.scrolled{
      background:rgba(251,249,245,0.92);
      backdrop-filter:blur(10px);
      box-shadow:0 1px 0 var(--line);
      padding:12px 32px;
    }
    .brand{display:flex;align-items:center;gap:10px;}
    .brand img{height:34px;width:34px;transition:height .35s ease,width .35s ease;}
    header.scrolled .brand img{height:28px;width:28px;}
    .brand .wordmark{
      font-family:'Fraunces',serif;
      font-size:16px;
      letter-spacing:2px;
      font-weight:500;
      color:var(--navy-900);
    }
    nav.links{display:flex;gap:34px;align-items:center;}
    nav.links a{
      font-size:13.5px; font-weight:500; color:var(--navy-900);
      position:relative; padding:4px 0;
    }
    nav.links a::after{
      content:""; position:absolute; left:0; bottom:0; width:0; height:1px;
      background:var(--orange); transition:width .25s ease;
    }
    nav.links a:hover::after{width:100%;}
    .nav-cta{
      background:var(--navy-900); color:#fff !important;
      padding:9px 20px; border-radius:2px; font-size:13px; font-weight:600;
      letter-spacing:.3px;
    }
    .nav-cta:hover{background:var(--orange);}
    .mobile-links{display:none;}

    /* ============ HERO ============ */
    .hero{
      min-height:100vh;
      display:flex; flex-direction:column; justify-content:center;
      padding:150px 32px 90px 32px;
      background:
              radial-gradient(circle at 84% 12%, rgba(243,114,3,0.10), transparent 45%),
              radial-gradient(circle at 12% 92%, rgba(28,55,112,0.10), transparent 45%),
              var(--paper);
      position:relative;
      overflow:hidden;
    }
    .hero-arc{
      position:absolute; top:50%; right:-220px; width:900px; height:900px;
      transform:translateY(-50%);
      border-radius:50%;
      border:1.4px solid rgba(28,55,112,0.14);
      pointer-events:none;
    }
    .hero-arc.two{width:760px;height:760px;border-color:rgba(243,114,3,0.16);right:-190px;}
    .hero-arc.three{width:1040px;height:1040px;border-color:rgba(28,55,112,0.08);right:-260px;}
    .hero-inner{max-width:760px; position:relative; z-index:2;}
    .hero .eyebrow{margin-bottom:22px; display:block;}
    .hero h1{
      font-family:'Fraunces',serif;
      font-weight:500;
      font-size:clamp(42px,6vw,68px);
      line-height:1.06;
      color:var(--navy-900);
      letter-spacing:-0.5px;
    }
    .hero h1 em{
      font-style:italic; font-weight:400; color:var(--orange-deep);
    }
    .hero p.lead{
      margin-top:26px;
      font-size:18px;
      line-height:1.65;
      color:var(--ink-soft);
      max-width:540px;
    }
    .hero-ctas{display:flex; gap:16px; margin-top:40px; flex-wrap:wrap;}
    .btn{
      display:inline-flex; align-items:center; gap:8px;
      padding:14px 26px; font-size:14px; font-weight:600;
      border-radius:2px; letter-spacing:.3px; cursor:pointer;
      border:1.4px solid transparent; transition:all .25s ease;
    }
    .btn-primary{background:var(--orange); color:#fff;}
    .btn-primary:hover{background:var(--orange-deep); transform:translateY(-1px);}
    .btn-outline{border-color:var(--navy-900); color:var(--navy-900); background:transparent;}
    .btn-outline:hover{background:var(--navy-900); color:#fff;}
    .btn-outline-light{border-color:rgba(255,255,255,0.5); color:#fff; background:transparent;}
    .btn-outline-light:hover{background:#fff; color:var(--navy-900); border-color:#fff;}

    .hero-descriptors{
      margin-top:70px; display:flex; gap:46px; flex-wrap:wrap;
      padding-top:26px; border-top:1px solid var(--line); max-width:760px;
    }
    .descriptor .d-label{font-size:12.5px; color:var(--ink-soft); line-height:1.4;}
    .descriptor .d-title{
      font-family:'Fraunces',serif; font-size:16.5px; font-weight:500;
      color:var(--navy-900); margin-bottom:3px;
    }

    /* ============ SECTION HEADERS ============ */
    .sec-head{max-width:620px; margin-bottom:56px;}
    .sec-head h2{
      font-family:'Fraunces',serif; font-weight:500;
      font-size:clamp(28px,3.4vw,38px); color:var(--navy-900);
      line-height:1.2; margin-top:14px;
    }
    .sec-head p{margin-top:16px; font-size:15.5px; color:var(--ink-soft); line-height:1.65;}
    .sec-pad{padding:110px 0;}

    /* ============ MANIFESTO / CIRCLE DIAGRAM ============ */
    .manifesto{background:var(--navy-950); color:#fff; overflow:hidden;}
    .manifesto .container{
      display:grid; grid-template-columns:0.95fr 1.05fr; gap:60px; align-items:center;
    }
    .manifesto .sec-head p{color:#B9C3D9;}
    .manifesto .sec-head h2{color:#fff;}
    .manifesto-text p.body{
      margin-top:22px; font-size:15px; line-height:1.75; color:#AEB9D0; max-width:440px;
    }
    .circle-wrap{
      position:relative; width:480px; height:480px; margin:0 auto;
    }
    .circle-ring{
      position:absolute; inset:0; border-radius:50%;
      border:1px dashed rgba(255,255,255,0.16);
    }
    .circle-center{
      position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
      width:132px; height:132px; border-radius:50%;
      background:radial-gradient(circle at 32% 28%, var(--navy-mid), var(--navy-950) 72%);
      border:1px solid rgba(243,114,3,0.35);
      display:flex; align-items:center; justify-content:center;
      text-align:center; flex-direction:column;
      box-shadow:0 0 60px rgba(243,114,3,0.10);
    }
    .circle-center .c-mark{font-family:'Fraunces',serif; font-size:34px; color:var(--orange); font-style:italic;}
    .circle-center .c-label{font-size:9.5px; letter-spacing:1.6px; color:#C9D3E6; margin-top:2px;}
    .pillar{
      position:absolute; width:150px; text-align:center;
      transform:translate(-50%,-50%);
    }
    .pillar .p-dot{
      width:9px; height:9px; border-radius:50%; background:var(--orange);
      margin:0 auto 10px auto; transition:transform .25s ease, box-shadow .25s ease;
    }
    .pillar:hover .p-dot{transform:scale(1.35); box-shadow:0 0 0 6px rgba(243,114,3,0.18);}
    .pillar .p-txt{font-size:12.5px; color:#D6DEEC; line-height:1.4; font-weight:500;}

    /* ============ AUDIENCE CARDS ============ */
    .audience{padding:110px 0;}
    .audience .grid4{
      display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
      background:var(--line); border:1px solid var(--line); margin-top:10px;
    }
    .audience .card{background:var(--paper); padding:36px 26px;}
    .audience .card .idx{
      font-family:'Fraunces',serif; font-style:italic; color:var(--orange);
      font-size:14px; margin-bottom:18px; display:block;
    }
    .audience .card h3{font-family:'Fraunces',serif; font-size:19px; color:var(--navy-900); margin-bottom:10px; font-weight:500;}
    .audience .card p{font-size:13.6px; color:var(--ink-soft); line-height:1.6;}

    /* ============ THEMES ============ */
    .themes{padding:0 0 110px 0;}
    .theme-cloud{display:flex; flex-wrap:wrap; gap:12px; margin-top:8px;}
    .theme-tag{
      border:1px solid var(--line); padding:10px 18px; border-radius:30px;
      font-size:13px; font-weight:500; color:var(--navy-900);
      background:#fff; transition:all .2s ease;
    }
    .theme-tag:hover{border-color:var(--orange); background:var(--orange-tint); cursor:default;}

    /* ============ DUAL PATH ============ */
    .dual{display:grid; grid-template-columns:1fr 1fr;}
    .path{padding:100px 56px; position:relative;}
    .path-member{background:#fff;}
    .path-partner{background:var(--navy-900); color:#fff;}
    .path .eyebrow-row{display:flex; align-items:center; gap:12px; margin-bottom:22px;}
    .path .num-badge{
      width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center;
      font-family:'Fraunces',serif; font-style:italic; font-size:15px;
    }
    .path-member .num-badge{background:var(--orange-tint); color:var(--orange-deep);}
    .path-partner .num-badge{background:rgba(243,114,3,0.16); color:var(--orange);}
    .path h3{font-family:'Fraunces',serif; font-weight:500; font-size:28px; line-height:1.25; margin-bottom:18px;}
    .path-member h3{color:var(--navy-900);}
    .path-partner h3{color:#fff;}
    .path p.desc{font-size:14.5px; line-height:1.7; margin-bottom:28px;}
    .path-member p.desc{color:var(--ink-soft);}
    .path-partner p.desc{color:#B9C3D9;}
    .path ul{list-style:none; margin-bottom:34px;}
    .path li{
      font-size:13.8px; padding-left:20px; position:relative; margin-bottom:13px; line-height:1.5;
    }
    .path-member li{color:var(--ink);}
    .path-partner li{color:#D6DEEC;}
    .path li::before{
      content:""; position:absolute; left:0; top:7px; width:6px; height:6px; border-radius:50%;
      background:var(--orange);
    }

    /* ============ FOUNDER / CONTACT ============ */
    .contact-sec{padding:120px 0; background:var(--paper);}
    .contact-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:70px;}
    .founder-card{
      background:#fff; border:1px solid var(--line); padding:40px 34px; border-radius:2px;
    }
    .avatar{
      width:64px; height:64px; border-radius:50%;
      background:linear-gradient(150deg,var(--navy-mid),var(--navy-950));
      color:#fff; display:flex; align-items:center; justify-content:center;
      font-family:'Fraunces',serif; font-size:20px; margin-bottom:20px;
    }
    .founder-card h4{font-family:'Fraunces',serif; font-size:19px; color:var(--navy-900); font-weight:500;}
    .founder-card .role{font-size:12.5px; color:var(--orange-deep); margin-top:3px; font-weight:600; letter-spacing:.3px;}
    .founder-card blockquote{
      margin-top:22px; font-family:'Fraunces',serif; font-style:italic; font-size:16.5px;
      color:var(--navy-800); line-height:1.55; border-left:2px solid var(--orange); padding-left:16px;
    }
    .founder-card .contact-line{margin-top:24px; font-size:13.5px; color:var(--ink-soft);}
    .founder-card .contact-line a{color:var(--navy-900); font-weight:600; border-bottom:1px solid var(--orange);}

    form.inquiry{background:#fff; border:1px solid var(--line); padding:40px; border-radius:2px;}
    .form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px;}
    .field label{font-size:11.5px; letter-spacing:.8px; text-transform:uppercase; color:var(--ink-soft); font-weight:600; display:block; margin-bottom:8px;}
    .field input, .field select, .field textarea{
      width:100%; border:1px solid var(--line); padding:12px 14px; font-size:14px;
      font-family:'Inter',sans-serif; color:var(--ink); background:var(--paper); border-radius:1px;
    }
    .field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--orange);}
    .field.full{grid-column:1 / -1;}
    .toggle-group{display:flex; gap:10px; margin-bottom:24px;}
    .toggle-opt{
      flex:1; text-align:center; padding:12px; border:1px solid var(--line); font-size:13px;
      font-weight:600; cursor:pointer; color:var(--ink-soft); transition:all .2s ease;
    }
    .toggle-opt.active{border-color:var(--orange); background:var(--orange-tint); color:var(--orange-deep);}
    .form-note{font-size:12px; color:var(--ink-soft); margin-top:16px; text-align:center;}
    .toast{
      display:none; margin-top:16px; padding:12px 16px; background:var(--navy-900); color:#fff;
      font-size:13px; border-left:3px solid var(--orange);
    }
    .toast.show{display:block;}

    /* ============ FOOTER ============ */
    footer{background:var(--navy-950); color:#8E9BB8; padding:70px 0 30px 0;}
    .footer-top{display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; padding-bottom:44px; border-bottom:1px solid var(--line-on-dark);}
    .footer-brand{display:flex; align-items:center; gap:12px;}
    .footer-brand img{height:38px;width:38px;}
    .footer-brand .wm{font-family:'Fraunces',serif; color:#fff; font-size:17px; letter-spacing:1.5px;}
    .footer-tag{font-size:12.5px; color:#7C88A6; margin-top:6px; font-style:italic;}
    .footer-cols{display:flex; gap:64px; flex-wrap:wrap;}
    .footer-col h5{font-size:11.5px; letter-spacing:1.4px; text-transform:uppercase; color:#fff; margin-bottom:16px; font-weight:600;}
    .footer-col a{display:block; font-size:13.5px; color:#9AA6C0; margin-bottom:11px;}
    .footer-col a:hover{color:var(--orange);}
    .footer-bottom{display:flex; justify-content:space-between; padding-top:24px; font-size:11.5px; color:#5E6A87; flex-wrap:wrap; gap:10px;}

    /* ============ RESPONSIVE ============ */
    @media (max-width:940px){
      nav.links{display:none;}
      .manifesto .container{grid-template-columns:1fr; gap:50px;}
      .circle-wrap{width:380px;height:380px;}
      .pillar{width:110px;}
      .audience .grid4{grid-template-columns:repeat(2,1fr);}
      .dual{grid-template-columns:1fr;}
      .contact-grid{grid-template-columns:1fr;}
      .form-row{grid-template-columns:1fr;}
    }
    @media (max-width:560px){
      .container{padding:0 20px;}
      .hero{padding:130px 20px 70px 20px;}
      .audience .grid4{grid-template-columns:1fr;}
      .path{padding:70px 26px;}
      .hero-descriptors{gap:30px;}
    }