  :root{
    --paper:#F4EFE6;
    --paper-2:#EBE3D5;
    --ink:#0F1B2D;
    --ink-soft:#1F2C40;
    --ink-mute:#5C6373;
    --rule:#C9BEA8;
    --ochre:#B8702E;
    --ochre-dark:#8E531C;
    --crimson:#7A1B1B;
    --teal:#1F4A4A;
    --gold:#C8A046;
    --shadow:0 30px 60px -30px rgba(15,27,45,.25);
    --shadow-soft:0 12px 30px -18px rgba(15,27,45,.18);
  }

  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:'Inter Tight',system-ui,sans-serif;
    font-weight:400;
    font-size:16px;
    line-height:1.55;
    letter-spacing:-0.005em;
    overflow-x:hidden;
    background-image:
      radial-gradient(ellipse at 0% 0%, rgba(184,112,46,.06) 0%, transparent 40%),
      radial-gradient(ellipse at 100% 30%, rgba(31,74,74,.05) 0%, transparent 50%),
      url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.06 0 0 0 0 0.1 0 0 0 0 0.18 0 0 0 0.06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }

  ::selection{background:var(--ink); color:var(--paper)}

  .serif{font-family:'Fraunces',serif; font-optical-sizing:auto}
  .mono{font-family:'JetBrains Mono',monospace}
  .container{max-width:1280px; margin:0 auto; padding:0 32px}

  /* ==================== TOP BAR ==================== */
  header.nav{
    position:sticky; top:0; z-index:50;
    backdrop-filter:saturate(140%) blur(10px);
    background:rgba(244,239,230,.78);
    border-bottom:1px solid var(--rule);
  }
  .nav-inner{
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 0;
  }
  .brand{
    display:flex; align-items:center; gap:14px; text-decoration:none; color:var(--ink);
  }
  .brand-mark{
    width:38px; height:38px; flex:none;
    display:grid; place-items:center;
    background:var(--ink); color:var(--paper);
    border-radius:2px;
    font-family:'Fraunces',serif; font-weight:600; font-size:20px;
    letter-spacing:-0.02em;
  }
  .brand-mark::after{content:""; position:absolute}
  .brand-name{
    font-family:'Fraunces',serif; font-weight:500; font-size:22px;
    letter-spacing:-0.02em; line-height:1;
  }
  .brand-tag{
    font-size:10px; letter-spacing:0.18em; text-transform:uppercase;
    color:var(--ink-mute); margin-top:3px;
  }
  nav.menu{display:flex; gap:36px; align-items:center}
  nav.menu a{
    color:var(--ink-soft); text-decoration:none;
    font-size:14px; letter-spacing:0.01em;
    position:relative;
  }
  nav.menu a::after{
    content:""; position:absolute; left:0; bottom:-6px;
    height:1px; width:0; background:var(--ochre);
    transition:width .35s cubic-bezier(.2,.7,.2,1);
  }
  nav.menu a:hover::after{width:100%}
  .cta{
    background:var(--ink); color:var(--paper);
    padding:11px 22px; border-radius:2px;
    text-decoration:none; font-size:14px;
    border:1px solid var(--ink);
    transition:all .25s ease;
  }
  .cta:hover{background:var(--ochre); border-color:var(--ochre)}
  .menu-toggle{display:none; background:none; border:none; cursor:pointer; padding:6px}

  /* ==================== HERO ==================== */
  .hero{
    padding:90px 0 70px;
    position:relative;
  }
  .hero-grid{
    display:grid; grid-template-columns:1fr; gap:80px; align-items:start;
  }
  .eyebrow{
    display:inline-flex; align-items:center; gap:10px;
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--ink-mute); margin-bottom:32px;
  }
  .eyebrow::before{
    content:""; width:32px; height:1px; background:var(--ochre);
  }
  .hero h1{
    font-family:'Fraunces',serif; font-weight:400;
    font-size:clamp(48px, 6.4vw, 92px);
    line-height:0.98; letter-spacing:-0.025em;
    margin:0 0 32px;
    color:var(--ink);
  }
  .hero h1 .accent{
    font-style:italic; font-weight:300;
    color:var(--ochre-dark);
  }
  .hero h1 .underline{
    background-image:linear-gradient(transparent 70%, rgba(200,160,70,.45) 70%);
    background-size:100% 100%;
    padding:0 4px;
  }
  .hero-lead{
    font-size:18px; line-height:1.55; color:var(--ink-soft);
    max-width:560px; margin-bottom:36px;
  }
  .hero-actions{display:flex; gap:14px; flex-wrap:wrap}
  .btn-primary{
    background:var(--ink); color:var(--paper);
    padding:16px 28px; text-decoration:none; font-size:14px;
    border:1px solid var(--ink); border-radius:2px;
    display:inline-flex; align-items:center; gap:10px;
    transition:all .25s ease;
  }
  .btn-primary:hover{transform:translateY(-1px); box-shadow:var(--shadow-soft)}
  .btn-primary svg{transition:transform .25s ease}
  .btn-primary:hover svg{transform:translateX(4px)}
  .btn-ghost{
    background:transparent; color:var(--ink);
    padding:16px 28px; text-decoration:none; font-size:14px;
    border:1px solid var(--ink); border-radius:2px;
    transition:all .25s ease;
  }
  .btn-ghost:hover{background:var(--ink); color:var(--paper)}

  .hero-side{
    border-left:1px solid var(--rule);
    padding-left:40px;
    padding-top:8px;
  }
  .hero-meta-label{
    font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
    color:var(--ink-mute); margin-bottom:18px;
  }
  .hero-quote{
    font-family:'Fraunces',serif; font-style:italic;
    font-size:20px; line-height:1.45; color:var(--ink-soft);
    margin-bottom:36px;
  }
  .hero-quote::before{
    content:"“"; font-size:64px; line-height:0;
    color:var(--ochre); vertical-align:-32px; margin-right:4px;
    font-family:'Fraunces',serif;
  }
  .hero-stats{
    display:grid; grid-template-columns:1fr 1fr; gap:20px 28px;
    border-top:1px solid var(--rule); padding-top:28px;
  }
  .stat .num{
    font-family:'Fraunces',serif; font-weight:500;
    font-size:38px; letter-spacing:-0.02em; line-height:1;
    color:var(--ink); margin-bottom:6px;
  }
  .stat .lbl{
    font-size:11px; letter-spacing:0.18em; text-transform:uppercase;
    color:var(--ink-mute); line-height:1.4;
  }

  /* ==================== TICKER ==================== */
  .ticker{
    margin-top:72px;
    border-top:1px solid var(--rule);
    border-bottom:1px solid var(--rule);
    overflow:hidden;
    padding:18px 0;
    background:rgba(15,27,45,.02);
  }
  .ticker-track{
    display:flex; gap:60px; white-space:nowrap;
    animation:scroll 40s linear infinite;
    width:max-content;
  }
  .ticker-item{
    font-family:'Fraunces',serif; font-style:italic;
    font-size:18px; color:var(--ink-soft);
    display:flex; align-items:center; gap:60px;
  }
  .ticker-item::after{
    content:"✦"; color:var(--ochre); font-style:normal;
    font-size:14px;
  }
  @keyframes scroll{
    from{transform:translateX(0)}
    to{transform:translateX(-50%)}
  }

  /* ==================== SECTION HEADERS ==================== */
  section{padding:120px 0; position:relative}
  .section-head{
    display:grid; grid-template-columns:1fr 2fr; gap:80px;
    margin-bottom:72px; align-items:end;
  }
  .section-num{
    font-family:'JetBrains Mono',monospace;
    font-size:13px; letter-spacing:0.1em;
    color:var(--ochre); margin-bottom:20px;
  }
  .section-title{
    font-family:'Fraunces',serif; font-weight:400;
    font-size:clamp(38px, 4.5vw, 58px);
    line-height:1.05; letter-spacing:-0.02em;
    margin:0; color:var(--ink);
  }
  .section-title em{font-weight:300; color:var(--ochre-dark)}
  .section-intro{
    font-size:18px; line-height:1.6; color:var(--ink-soft);
    max-width:540px;
  }

  /* Home page: section heads are centered, heading-only (no sub-text) */
  .home .section-head{
    display:block; text-align:center;
    margin-bottom:56px;
  }
  .home .section-head > div{ max-width:760px; margin:0 auto; }
  .home .section-num{ margin-bottom:14px; }

  /* ==================== WHAT WE DO ==================== */
  .pillars{
    display:grid; grid-template-columns:repeat(3,1fr); gap:0;
    border-top:1px solid var(--rule);
  }
  .pillar{
    padding:48px 36px 56px;
    border-right:1px solid var(--rule);
    border-bottom:1px solid var(--rule);
    position:relative;
    transition:background .4s ease;
  }
  .pillar:last-child{border-right:none}
  .pillar:hover{background:rgba(184,112,46,.04)}
  .pillar-icon{
    width:54px; height:54px; margin-bottom:32px;
    display:flex; align-items:center; justify-content:center;
    border:1px solid var(--ink); border-radius:50%;
    color:var(--ink);
  }
  .pillar h3{
    font-family:'Fraunces',serif; font-weight:500;
    font-size:26px; letter-spacing:-0.015em; line-height:1.15;
    margin:0 0 16px;
  }
  .pillar p{
    color:var(--ink-soft); font-size:15px; line-height:1.65;
    margin:0 0 20px;
  }
  .pillar ul{
    list-style:none; padding:0; margin:0;
    border-top:1px solid var(--rule); padding-top:18px;
  }
  .pillar ul li{
    font-size:13px; padding:6px 0; color:var(--ink-mute);
    display:flex; gap:10px;
  }
  .pillar ul li::before{
    content:"→"; color:var(--ochre); flex:none;
  }

  /* ==================== PROGRAMS ==================== */
  .programs-section{
    background:var(--ink); color:var(--paper);
    padding:140px 0;
    position:relative;
    overflow:hidden;
  }
  .programs-section::before{
    content:""; position:absolute; inset:0;
    background-image:
      radial-gradient(circle at 80% 20%, rgba(200,160,70,.12) 0%, transparent 40%),
      radial-gradient(circle at 10% 80%, rgba(184,112,46,.08) 0%, transparent 50%);
    pointer-events:none;
  }
  .programs-section .section-num{color:var(--gold)}
  .programs-section .section-title{color:var(--paper)}
  .programs-section .section-title em{color:var(--gold)}
  .programs-section .section-intro{color:rgba(244,239,230,.75)}
  .programs-section .section-head{position:relative}

  .program-card{
    border-top:1px solid rgba(244,239,230,.18);
    padding:48px 0;
    display:grid; grid-template-columns:80px 1fr 1.4fr 200px;
    gap:48px; align-items:start;
    position:relative;
    cursor:pointer;
    transition:padding .35s ease;
  }
  .program-card:last-child{border-bottom:1px solid rgba(244,239,230,.18)}
  .program-card:hover{padding-left:24px}
  .program-card:hover .program-arrow{
    transform:translateX(8px); color:var(--gold);
  }
  .program-num{
    font-family:'JetBrains Mono',monospace;
    font-size:13px; color:var(--gold); padding-top:10px;
  }
  .program-title{
    font-family:'Fraunces',serif; font-weight:400;
    font-size:30px; line-height:1.1; letter-spacing:-0.02em;
    color:var(--paper); margin:0;
  }
  .program-title em{
    display:block; font-style:italic; font-weight:300;
    font-size:17px; color:rgba(244,239,230,.6);
    margin-top:6px; letter-spacing:0;
  }
  .program-desc{
    font-size:15px; line-height:1.65; color:rgba(244,239,230,.78);
    margin:0;
  }
  .program-tags{
    display:flex; flex-wrap:wrap; gap:8px; margin-top:14px;
  }
  .program-tag{
    font-size:11px; letter-spacing:0.1em; text-transform:uppercase;
    padding:5px 12px; border:1px solid rgba(244,239,230,.25);
    color:rgba(244,239,230,.7); border-radius:2px;
  }
  .program-arrow{
    align-self:center; color:rgba(244,239,230,.5);
    transition:all .35s ease;
    text-align:right;
    font-family:'Fraunces',serif; font-size:14px; font-style:italic;
  }
  .program-arrow span{display:inline-block; transition:transform .35s ease}
  .program-card:hover .program-arrow span{transform:translateX(6px)}

  /* ==================== PROGRAM CARD GRID (added) ==================== */
  .program-grid{
    position:relative;
    display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
  }
  .prog-card{
    display:flex; flex-direction:column;
    background:rgba(244,239,230,.04);
    border:1px solid rgba(244,239,230,.18); border-radius:2px;
    padding:38px 32px; min-height:300px;
    text-decoration:none;
    transition:transform .3s ease, border-color .3s ease, background .3s ease;
  }
  .prog-card:hover{
    transform:translateY(-4px);
    border-color:var(--gold);
    background:rgba(244,239,230,.06);
  }
  .prog-card-num{
    font-family:'JetBrains Mono',monospace; font-size:12px;
    letter-spacing:0.1em; color:var(--gold); margin-bottom:26px;
  }
  .prog-card-title{
    font-family:'Fraunces',serif; font-weight:400;
    font-size:25px; line-height:1.14; letter-spacing:-0.02em;
    color:var(--paper); margin:0 0 14px;
  }
  .prog-card-desc{
    font-size:14.5px; line-height:1.6; color:rgba(244,239,230,.72);
    margin:0 0 28px;
  }
  .prog-card-link{
    margin-top:auto; align-self:flex-start;
    font-family:'Inter Tight',sans-serif; font-size:13px;
    letter-spacing:0.02em; color:var(--paper);
    background:rgba(244,239,230,.06);
    border:1px solid rgba(244,239,230,.4); border-radius:2px;
    padding:11px 20px;
    display:inline-flex; align-items:center; gap:8px;
    transition:background .25s ease, border-color .25s ease, color .25s ease;
  }
  .prog-card:hover .prog-card-link{
    background:var(--gold); border-color:var(--gold); color:var(--ink);
  }
  .prog-card-link span{ display:inline-block; transition:transform .3s ease }
  .prog-card:hover .prog-card-link span{ transform:translateX(4px) }
  @media(max-width:900px){
    .program-grid{ grid-template-columns:1fr }
  }

  /* ==================== SIMULATION ==================== */
  .sim-grid{
    display:grid; grid-template-columns:1.2fr 1fr; gap:80px;
    align-items:center;
  }
  .sim-visual{
    background:var(--paper-2);
    border:1px solid var(--rule);
    aspect-ratio:1.1/1;
    position:relative;
    padding:32px;
    border-radius:2px;
    overflow:hidden;
    box-shadow:var(--shadow);
  }
  .sim-window{
    background:var(--ink); border-radius:6px;
    height:100%;
    display:grid; grid-template-rows:auto 1fr auto;
    overflow:hidden;
    box-shadow:0 0 0 1px rgba(0,0,0,.4), 0 30px 60px -20px rgba(15,27,45,.5);
  }
  .sim-bar{
    background:linear-gradient(180deg, #1a2840, #0d1525);
    padding:10px 14px; display:flex; gap:6px; align-items:center;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .sim-dot{width:10px; height:10px; border-radius:50%}
  .sim-dot:nth-child(1){background:#FF5F57}
  .sim-dot:nth-child(2){background:#FEBC2E}
  .sim-dot:nth-child(3){background:#28C840}
  .sim-bar-title{
    color:rgba(244,239,230,.6); font-family:'JetBrains Mono',monospace;
    font-size:11px; margin-left:14px;
  }
  .sim-body{
    padding:24px;
    display:grid; grid-template-rows:auto 1fr auto; gap:18px;
    color:var(--paper);
  }
  .sim-row{display:flex; justify-content:space-between; align-items:center; gap:14px}
  .sim-row .lbl{font-family:'JetBrains Mono',monospace; font-size:11px; color:rgba(244,239,230,.55); letter-spacing:0.1em; text-transform:uppercase}
  .sim-row .val{font-family:'Fraunces',serif; font-size:22px; color:var(--paper)}
  .sim-row .pos{color:#5DD39E}
  .sim-row .neg{color:#FF7A7A}
  .sim-chart{
    position:relative; height:100%; min-height:160px;
    background:rgba(255,255,255,.03);
    border-radius:4px;
    padding:14px;
    border:1px solid rgba(255,255,255,.05);
  }
  .sim-chart svg{width:100%; height:100%}
  .sim-foot{
    display:grid; grid-template-columns:repeat(3,1fr); gap:12px;
    border-top:1px solid rgba(255,255,255,.08); padding-top:14px;
  }
  .sim-cell .k{font-family:'JetBrains Mono',monospace; font-size:9px; color:rgba(244,239,230,.5); letter-spacing:0.1em; text-transform:uppercase; margin-bottom:4px}
  .sim-cell .v{font-family:'Fraunces',serif; font-size:16px; color:var(--paper)}
  .sim-badge{
    position:absolute; top:-14px; right:24px;
    background:var(--ochre); color:var(--paper);
    padding:6px 14px; font-size:11px;
    letter-spacing:0.18em; text-transform:uppercase;
    border-radius:2px;
    font-family:'JetBrains Mono',monospace;
  }

  .sim-text h3{
    font-family:'Fraunces',serif; font-weight:400;
    font-size:42px; line-height:1.05; letter-spacing:-0.02em;
    margin:0 0 28px;
  }
  .sim-text h3 em{color:var(--ochre-dark); font-weight:300}
  .sim-text > p{
    font-size:16px; line-height:1.7; color:var(--ink-soft);
    margin:0 0 32px;
  }
  .sim-features{display:grid; gap:18px; border-top:1px solid var(--rule); padding-top:24px}
  .sim-feature{display:grid; grid-template-columns:60px 1fr; gap:18px; align-items:start}
  .sim-feature .k{
    font-family:'JetBrains Mono',monospace; font-size:11px;
    letter-spacing:0.12em; color:var(--ochre); padding-top:4px;
  }
  .sim-feature .v strong{
    display:block; font-family:'Fraunces',serif; font-weight:500;
    font-size:17px; color:var(--ink); margin-bottom:2px;
  }
  .sim-feature .v span{font-size:14px; color:var(--ink-mute); line-height:1.5}

  /* ==================== APPROACH (THE BRIDGE) ==================== */
  .bridge{
    padding:120px 0;
    background:var(--paper-2);
    border-top:1px solid var(--rule);
    border-bottom:1px solid var(--rule);
  }
  .bridge-flow{
    display:grid; grid-template-columns:1fr auto 1fr auto 1fr;
    gap:0; align-items:center; margin-top:60px;
    position:relative;
  }
  .bridge-card{
    background:var(--paper);
    border:1px solid var(--rule);
    padding:36px 28px;
    text-align:center;
    position:relative;
    border-radius:2px;
    box-shadow:var(--shadow-soft);
  }
  .bridge-card .step{
    font-family:'JetBrains Mono',monospace; font-size:11px;
    letter-spacing:0.2em; color:var(--ochre); margin-bottom:16px;
  }
  .bridge-card h4{
    font-family:'Fraunces',serif; font-weight:500;
    font-size:22px; margin:0 0 12px; letter-spacing:-0.01em;
  }
  .bridge-card p{
    font-size:13px; color:var(--ink-mute); line-height:1.6; margin:0;
  }
  .bridge-arrow{
    color:var(--ochre); font-size:28px; padding:0 12px;
    font-family:'Fraunces',serif;
  }

  /* ==================== UNIVERSITIES ==================== */
  .partners-row{
    display:flex; justify-content:space-between; align-items:center;
    flex-wrap:wrap; gap:48px;
    border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);
    padding:36px 0; margin-top:48px;
  }
  .partner-pill{
    font-family:'Fraunces',serif; font-style:italic;
    font-size:22px; color:var(--ink-mute);
    letter-spacing:-0.01em;
  }

  /* ==================== TEAM ==================== */
  .team-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:0;
    border-top:1px solid var(--rule);
  }
  .team-card{
    border-right:1px solid var(--rule);
    border-bottom:1px solid var(--rule);
    padding:48px 36px;
    position:relative;
    transition:background .4s ease;
  }
  .team-card:last-child{border-right:none}
  .team-card:hover{background:rgba(184,112,46,.04)}
  .team-portrait{
    width:84px; height:84px; border-radius:50%;
    background:var(--ink); color:var(--paper);
    display:flex; align-items:center; justify-content:center;
    font-family:'Fraunces',serif; font-size:32px; font-weight:400;
    margin-bottom:24px;
    border:1px solid var(--rule);
  }
  .team-card:nth-child(2) .team-portrait{background:var(--teal)}
  .team-card:nth-child(3) .team-portrait{background:var(--ochre-dark)}
  .team-name{
    font-family:'Fraunces',serif; font-weight:500;
    font-size:24px; letter-spacing:-0.015em; margin:0 0 4px;
  }
  .team-role{
    font-size:12px; letter-spacing:0.12em; text-transform:uppercase;
    color:var(--ochre-dark); margin-bottom:20px;
  }
  .team-bio{
    font-size:14px; color:var(--ink-soft); line-height:1.7;
    margin:0 0 20px;
  }
  .team-creds{
    display:flex; flex-wrap:wrap; gap:6px;
    border-top:1px solid var(--rule); padding-top:16px;
  }
  .team-cred{
    font-size:11px; letter-spacing:0.05em;
    padding:4px 10px; background:var(--paper-2);
    border:1px solid var(--rule);
    color:var(--ink-soft); border-radius:2px;
    font-family:'JetBrains Mono',monospace;
  }

  /* ==================== HOW WE WORK ==================== */
  .work-grid{
    display:grid; grid-template-columns:repeat(2,1fr); gap:48px;
  }
  .work-card{
    border-top:2px solid var(--ink);
    padding:32px 0 0;
  }
  .work-card .num{
    font-family:'JetBrains Mono',monospace; font-size:11px;
    letter-spacing:0.18em; color:var(--ochre); margin-bottom:12px;
  }
  .work-card h4{
    font-family:'Fraunces',serif; font-weight:500;
    font-size:24px; line-height:1.2; letter-spacing:-0.01em;
    margin:0 0 14px;
  }
  .work-card p{
    font-size:15px; color:var(--ink-soft); line-height:1.7; margin:0;
  }

  /* ==================== TESTIMONIAL / PULL QUOTE ==================== */
  .pull{
    text-align:center;
    padding:140px 0;
    border-top:1px solid var(--rule);
  }
  .pull blockquote{
    font-family:'Fraunces',serif; font-weight:300;
    font-size:clamp(34px, 4vw, 56px);
    line-height:1.15; letter-spacing:-0.02em;
    margin:0 auto 40px; max-width:1000px;
    color:var(--ink);
  }
  .pull blockquote em{
    font-style:italic; font-weight:300; color:var(--ochre-dark);
  }
  .pull-cite{
    font-size:12px; letter-spacing:0.2em; text-transform:uppercase;
    color:var(--ink-mute);
  }

  /* ==================== CTA ==================== */
  .final-cta{
    background:var(--ink); color:var(--paper);
    padding:120px 0;
    position:relative; overflow:hidden;
  }
  .final-cta::before{
    content:""; position:absolute; inset:0;
    background:
      radial-gradient(circle at 20% 50%, rgba(200,160,70,.15) 0%, transparent 50%),
      radial-gradient(circle at 90% 80%, rgba(184,112,46,.1) 0%, transparent 50%);
  }
  .final-cta-inner{position:relative; z-index:1; display:grid; grid-template-columns:1.2fr 1fr; gap:80px; align-items:center}
  .final-cta h2{
    font-family:'Fraunces',serif; font-weight:300;
    font-size:clamp(40px,5vw,70px); line-height:1.05;
    letter-spacing:-0.02em; margin:0 0 24px; color:var(--paper);
  }
  .final-cta h2 em{font-style:italic; color:var(--gold)}
  .final-cta p{
    color:rgba(244,239,230,.78); font-size:17px; line-height:1.6;
    max-width:520px; margin:0;
  }
  .contact-card{
    background:rgba(244,239,230,.05);
    border:1px solid rgba(244,239,230,.18);
    padding:36px;
    border-radius:2px;
  }
  .contact-row{
    display:flex; justify-content:space-between; align-items:baseline;
    padding:16px 0; border-bottom:1px solid rgba(244,239,230,.12);
  }
  .contact-row:last-child{border-bottom:none}
  .contact-row .k{
    font-family:'JetBrains Mono',monospace; font-size:11px;
    letter-spacing:0.18em; text-transform:uppercase;
    color:rgba(244,239,230,.55);
  }
  .contact-row .v{
    font-family:'Fraunces',serif; font-size:17px; color:var(--paper);
  }
  .contact-row a{color:var(--paper); text-decoration:none; border-bottom:1px solid rgba(200,160,70,.5)}
  .final-buttons{display:flex; gap:14px; margin-top:32px; flex-wrap:wrap}
  .btn-gold{
    background:var(--gold); color:var(--ink);
    padding:16px 28px; font-size:14px;
    border:1px solid var(--gold); text-decoration:none;
    border-radius:2px;
    display:inline-flex; align-items:center; gap:10px;
    transition:all .25s ease;
  }
  .btn-gold:hover{background:var(--paper); border-color:var(--paper)}
  .btn-line{
    background:transparent; color:var(--paper);
    padding:16px 28px; font-size:14px;
    border:1px solid rgba(244,239,230,.4); text-decoration:none;
    border-radius:2px;
    transition:all .25s ease;
  }
  .btn-line:hover{border-color:var(--paper); background:rgba(244,239,230,.05)}

  /* ==================== FOOTER ==================== */
  footer{
    background:var(--ink); color:var(--paper);
    border-top:1px solid rgba(244,239,230,.12);
    padding:64px 0 28px;
  }
  .foot-grid{
    display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:48px;
    margin-bottom:48px;
  }
  .foot-brand{display:flex; align-items:center; gap:14px; margin-bottom:18px}
  .foot-brand .brand-mark{background:var(--paper); color:var(--ink)}
  .foot-brand .brand-name{color:var(--paper)}
  .foot-about{font-size:14px; color:rgba(244,239,230,.65); line-height:1.7; max-width:340px}
  .foot-col h5{
    font-family:'JetBrains Mono',monospace; font-size:11px;
    letter-spacing:0.2em; text-transform:uppercase;
    color:var(--gold); margin:0 0 18px;
  }
  .foot-col ul{list-style:none; padding:0; margin:0}
  .foot-col li{padding:6px 0}
  .foot-col a{
    color:rgba(244,239,230,.75); text-decoration:none; font-size:14px;
    transition:color .2s ease;
  }
  .foot-col a:hover{color:var(--paper)}
  .foot-bottom{
    border-top:1px solid rgba(244,239,230,.12); padding-top:24px;
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px;
    font-size:12px; color:rgba(244,239,230,.5);
    letter-spacing:0.04em;
  }

  /* ==================== ENTRANCE ANIMATIONS ==================== */
  /* Default: visible. Only when JS confirms IntersectionObserver, hide and animate. */
  .reveal{transition:opacity 1s cubic-bezier(.2,.7,.2,1), transform 1s cubic-bezier(.2,.7,.2,1)}
  html.has-io .reveal{opacity:0; transform:translateY(18px)}
  html.has-io .reveal.in{opacity:1; transform:translateY(0)}
  /* Auto-reveal failsafe after 3s in case observer never fires */
  html.has-io.force-reveal .reveal{opacity:1; transform:translateY(0); transition-duration:.6s}

  /* ==================== SOLUTIONS GRID ==================== */
  .solutions-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:1px;
    background:var(--rule); border:1px solid var(--rule);
  }
  .solution-card{
    background:var(--paper);
    padding:36px 30px;
    transition:background .3s ease, transform .3s ease;
    position:relative;
    cursor:default;
  }
  .solution-card:hover{
    background:var(--paper-2);
  }
  .solution-tag{
    font-family:'JetBrains Mono',monospace; font-size:10px;
    letter-spacing:0.18em; text-transform:uppercase;
    color:var(--ochre); margin-bottom:14px;
  }
  .solution-card h4{
    font-family:'Fraunces',serif; font-weight:500;
    font-size:21px; line-height:1.2; letter-spacing:-0.01em;
    margin:0 0 12px;
  }
  .solution-card p{
    font-size:13.5px; color:var(--ink-soft); line-height:1.65; margin:0 0 14px;
  }
  .solution-card .meta{
    font-size:11px; letter-spacing:0.08em; color:var(--ink-mute);
    border-top:1px solid var(--rule); padding-top:12px;
    font-family:'JetBrains Mono',monospace; text-transform:uppercase;
  }

  /* ==================== AUDIENCES (FOR X) ==================== */
  .audience-tabs{
    display:grid; grid-template-columns:repeat(3,1fr); gap:0;
    border:1px solid var(--rule);
    margin-top:48px;
  }
  .audience-card{
    padding:48px 36px;
    border-right:1px solid var(--rule);
    position:relative;
    background:var(--paper);
    transition:background .35s ease;
  }
  .audience-card:last-child{border-right:none}
  .audience-card:hover{background:var(--paper-2)}
  .audience-label{
    font-family:'JetBrains Mono',monospace; font-size:10px;
    letter-spacing:0.22em; text-transform:uppercase;
    color:var(--ochre); margin-bottom:16px;
  }
  .audience-card h3{
    font-family:'Fraunces',serif; font-weight:400;
    font-size:30px; letter-spacing:-0.02em; line-height:1.1;
    margin:0 0 18px;
  }
  .audience-card h3 em{font-style:italic; color:var(--ochre-dark)}
  .audience-card p{
    font-size:14px; color:var(--ink-soft); line-height:1.65; margin:0 0 22px;
  }
  .audience-list{
    list-style:none; padding:0; margin:0;
    border-top:1px solid var(--rule); padding-top:18px;
  }
  .audience-list li{
    font-size:13px; padding:7px 0; color:var(--ink-mute);
    display:flex; gap:10px;
  }
  .audience-list li::before{
    content:""; width:4px; height:4px; border-radius:50%;
    background:var(--ochre); margin-top:8px; flex:none;
  }

  /* ==================== IMPACT STATS BAND ==================== */
  .impact-band{
    background:var(--paper-2);
    border-top:1px solid var(--rule);
    border-bottom:1px solid var(--rule);
    padding:80px 0;
  }
  .impact-grid{
    display:grid; grid-template-columns:repeat(4, 1fr); gap:0;
    text-align:left;
  }
  .impact-cell{
    padding:8px 24px;
    border-right:1px solid var(--rule);
  }
  .impact-cell:last-child{border-right:none}
  .impact-cell .num{
    font-family:'Fraunces',serif; font-weight:400;
    font-size:64px; letter-spacing:-0.03em; line-height:1;
    color:var(--ink); margin-bottom:14px;
  }
  .impact-cell .num em{font-style:italic; color:var(--ochre-dark); font-weight:300}
  .impact-cell .lbl{
    font-size:13px; color:var(--ink-mute); line-height:1.5;
    border-top:1px solid var(--rule); padding-top:12px;
  }

  /* ==================== TESTIMONIALS ==================== */
  .testimonials-section{
    padding:120px 0;
    background:var(--paper);
  }
  .testimonial-grid{
    display:grid; grid-template-columns:repeat(2,1fr); gap:32px;
    margin-top:24px;
  }
  .testimonial-card{
    background:var(--paper-2);
    padding:40px 36px;
    border-left:3px solid var(--ochre);
    position:relative;
  }
  .testimonial-card .quote-mark{
    font-family:'Fraunces',serif; font-size:80px; line-height:0;
    color:var(--ochre); position:absolute; top:38px; right:32px;
    opacity:.18;
  }
  .testimonial-card blockquote{
    font-family:'Fraunces',serif; font-weight:300;
    font-size:20px; line-height:1.4; letter-spacing:-0.01em;
    margin:0 0 24px; color:var(--ink); font-style:italic;
  }
  .testimonial-attrib{
    display:flex; gap:14px; align-items:center;
    border-top:1px solid var(--rule); padding-top:18px;
  }
  .testimonial-avatar{
    width:42px; height:42px; border-radius:50%;
    background:var(--ink); color:var(--paper);
    display:flex; align-items:center; justify-content:center;
    font-family:'Fraunces',serif; font-size:18px; font-weight:500;
    flex:none;
  }
  .testimonial-meta strong{
    display:block; font-family:'Fraunces',serif; font-weight:500;
    font-size:15px; color:var(--ink); margin-bottom:2px;
  }
  .testimonial-meta span{
    font-size:12px; color:var(--ink-mute); letter-spacing:0.04em;
  }

  /* ==================== PARTNER LOGO WALL ==================== */
  .logo-wall{
    display:grid; grid-template-columns:repeat(6, 1fr); gap:0;
    border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);
    margin-top:32px;
  }
  .logo-cell{
    aspect-ratio:2/1;
    border-right:1px solid var(--rule); border-bottom:1px solid var(--rule);
    display:flex; align-items:center; justify-content:center;
    padding:18px;
    background:var(--paper);
    text-align:center;
    font-family:'Fraunces',serif; font-style:italic; font-weight:400;
    font-size:14px; color:var(--ink-mute);
    letter-spacing:-0.01em;
    transition:background .3s ease, color .3s ease;
  }
  .logo-cell:hover{background:var(--paper-2); color:var(--ink)}
  .logo-cell:nth-child(6n){border-right:none}
  .logo-cell:nth-last-child(-n+6){border-bottom:none}
  .logo-cell strong{
    font-weight:500; font-style:normal; color:var(--ink);
    display:block; font-size:13px; line-height:1.2; letter-spacing:0.02em;
  }
  .logo-cell .cat{
    font-family:'JetBrains Mono',monospace; font-style:normal;
    font-size:9px; letter-spacing:0.2em; text-transform:uppercase;
    color:var(--ochre); margin-top:6px;
  }

  /* ==================== INSIGHTS / PRESS ==================== */
  .insights-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:24px;
  }
  .insight-card{
    background:var(--paper);
    border:1px solid var(--rule);
    padding:32px 28px;
    transition:transform .35s ease, box-shadow .35s ease;
    cursor:pointer;
    display:flex; flex-direction:column; min-height:280px;
  }
  .insight-card:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow);
  }
  .insight-tag{
    font-family:'JetBrains Mono',monospace; font-size:10px;
    letter-spacing:0.18em; text-transform:uppercase;
    color:var(--ochre); margin-bottom:18px;
    display:flex; justify-content:space-between;
  }
  .insight-tag span:last-child{color:var(--ink-mute); letter-spacing:0.05em}
  .insight-card h4{
    font-family:'Fraunces',serif; font-weight:500;
    font-size:20px; line-height:1.25; letter-spacing:-0.01em;
    margin:0 0 14px; color:var(--ink); flex:1;
  }
  .insight-card .insight-meta{
    border-top:1px solid var(--rule); padding-top:14px;
    font-size:12px; color:var(--ink-mute);
    display:flex; justify-content:space-between; align-items:center;
  }
  .insight-card .arrow{
    font-family:'Fraunces',serif; font-style:italic; color:var(--ochre);
  }

  /* ==================== MILESTONES ==================== */
  .milestones{
    border-top:1px solid var(--rule); padding-top:48px; margin-top:24px;
    display:grid; grid-template-columns:repeat(4,1fr); gap:0;
  }
  .milestone{
    padding:0 24px;
    border-right:1px solid var(--rule);
    position:relative;
  }
  .milestone:last-child{border-right:none}
  .milestone .date{
    font-family:'JetBrains Mono',monospace; font-size:11px;
    letter-spacing:0.18em; color:var(--ochre); margin-bottom:14px;
  }
  .milestone h5{
    font-family:'Fraunces',serif; font-weight:500;
    font-size:17px; line-height:1.25; letter-spacing:-0.01em;
    margin:0 0 8px; color:var(--ink);
  }
  .milestone p{
    font-size:12.5px; color:var(--ink-mute); line-height:1.55; margin:0;
  }

  /* ==================== FAQ ==================== */
  .faq-list{margin-top:40px}
  details.faq{
    border-top:1px solid var(--rule); padding:24px 0;
    transition:padding .3s ease;
  }
  details.faq:last-child{border-bottom:1px solid var(--rule)}
  details.faq summary{
    list-style:none;
    cursor:pointer;
    display:flex; justify-content:space-between; align-items:center;
    font-family:'Fraunces',serif; font-weight:500;
    font-size:20px; letter-spacing:-0.01em; line-height:1.3;
    color:var(--ink);
    transition:color .25s ease;
  }
  details.faq summary::-webkit-details-marker{display:none}
  details.faq summary::after{
    content:"+";
    font-family:'Fraunces',serif; font-weight:300;
    font-size:30px; line-height:1; color:var(--ochre);
    transition:transform .3s ease;
    flex:none; margin-left:24px;
  }
  details.faq[open] summary::after{transform:rotate(45deg)}
  details.faq summary:hover{color:var(--ochre-dark)}
  details.faq .faq-body{
    margin-top:16px;
    font-size:15px; line-height:1.7; color:var(--ink-soft);
    max-width:900px;
  }

  /* ==================== INDUSTRIES BAR ==================== */
  .industries{
    display:grid; grid-template-columns:repeat(6,1fr); gap:24px;
    text-align:center; padding-top:24px;
  }
  .industry{
    padding:24px 8px;
  }
  .industry .ic{
    width:38px; height:38px; margin:0 auto 12px;
    display:flex; align-items:center; justify-content:center;
    border:1px solid var(--rule); border-radius:50%;
    color:var(--ochre);
  }
  .industry .lbl{
    font-family:'Fraunces',serif; font-size:14px; line-height:1.3;
    color:var(--ink); letter-spacing:-0.005em;
  }
  .industry .sub{
    font-size:11px; color:var(--ink-mute); margin-top:4px;
  }

  /* ==================== RESPONSIVE adjustments ==================== */
  @media (max-width:980px){
    .solutions-grid{grid-template-columns:1fr}
    .audience-tabs{grid-template-columns:1fr}
    .audience-card{border-right:none; border-bottom:1px solid var(--rule)}
    .audience-card:last-child{border-bottom:none}
    .impact-grid{grid-template-columns:1fr 1fr; gap:24px 0}
    .impact-cell{border-right:none; border-bottom:1px solid var(--rule); padding-bottom:24px; padding-top:24px}
    .impact-cell:nth-child(2){border-right:none}
    .impact-cell:last-child{border-bottom:none}
    .impact-cell .num{font-size:44px}
    .testimonial-grid{grid-template-columns:1fr}
    .logo-wall{grid-template-columns:repeat(2,1fr)}
    .logo-cell:nth-child(6n){border-right:1px solid var(--rule)}
    .logo-cell:nth-child(2n){border-right:none}
    .insights-grid{grid-template-columns:1fr}
    .milestones{grid-template-columns:1fr; gap:0}
    .milestone{border-right:none; border-bottom:1px solid var(--rule); padding:24px 0}
    .milestone:last-child{border-bottom:none}
    .industries{grid-template-columns:repeat(3,1fr)}
  }
  @media (max-width:560px){
    .industries{grid-template-columns:repeat(2,1fr)}
    .logo-wall{grid-template-columns:1fr}
    .logo-cell{border-right:none !important}
  }

  /* ==================== RESPONSIVE ==================== */
  @media (max-width:980px){
    .container{padding:0 24px}
    .hero{padding:60px 0 40px}
    .hero-grid{grid-template-columns:1fr; gap:48px}
    .hero-side{border-left:none; border-top:1px solid var(--rule); padding-left:0; padding-top:32px}
    section{padding:80px 0}
    .section-head{grid-template-columns:1fr; gap:24px; margin-bottom:48px}
    .pillars{grid-template-columns:1fr}
    .pillar{border-right:none}
    .programs-section{padding:90px 0}
    .program-card{grid-template-columns:1fr; gap:14px; padding:32px 0}
    .program-card:hover{padding-left:0}
    .program-arrow{text-align:left; padding-top:12px}
    .program-num{display:none}
    .sim-grid{grid-template-columns:1fr; gap:48px}
    .bridge-flow{grid-template-columns:1fr}
    .bridge-arrow{transform:rotate(90deg); margin:8px auto}
    .team-grid{grid-template-columns:1fr}
    .team-card{border-right:none}
    .work-grid{grid-template-columns:1fr; gap:32px}
    .pull{padding:80px 0}
    .final-cta{padding:80px 0}
    .final-cta-inner{grid-template-columns:1fr; gap:48px}
    .foot-grid{grid-template-columns:1fr 1fr; gap:32px}
    nav.menu{display:none}
    .menu-toggle{display:flex}
  }
  @media (max-width:560px){
    .hero h1{font-size:44px}
    .hero-stats{grid-template-columns:1fr 1fr; gap:18px}
    .stat .num{font-size:30px}
    .foot-grid{grid-template-columns:1fr}
    .partners-row{justify-content:flex-start; gap:24px}
    .partner-pill{font-size:17px}
  }

  /* ==================== PROGRAM BLUEPRINT / CURRICULUM ==================== */
  .blueprint{margin-top:24px}
  .blueprint + .blueprint{margin-top:72px}
  .blueprint-head{
    display:flex; justify-content:space-between; align-items:flex-end;
    gap:24px; padding:0 0 26px; flex-wrap:wrap;
  }
  .blueprint-head .bp-no{
    font-family:'JetBrains Mono',monospace; font-size:12px;
    letter-spacing:0.16em; color:var(--ochre); margin-bottom:12px;
  }
  .blueprint-head h3{
    font-family:'Fraunces',serif; font-weight:500;
    font-size:32px; letter-spacing:-0.02em; margin:0; line-height:1.1;
  }
  .blueprint-head .bp-tag{
    font-family:'JetBrains Mono',monospace; font-size:11px;
    letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-mute);
    text-align:right; line-height:1.6;
  }
  .semesters{
    display:grid; grid-template-columns:repeat(4,1fr); gap:0;
    border-top:1px solid var(--rule);
  }
  .sem{
    padding:30px 26px;
    border-right:1px solid var(--rule); border-bottom:1px solid var(--rule);
    transition:background .35s ease;
  }
  .sem:last-child{border-right:none}
  .sem:hover{background:rgba(184,112,46,.04)}
  .sem .sem-no{
    font-family:'JetBrains Mono',monospace; font-size:11px;
    letter-spacing:0.16em; color:var(--ochre); margin-bottom:10px;
  }
  .sem h4{
    font-family:'Fraunces',serif; font-weight:500;
    font-size:18px; line-height:1.2; margin:0 0 16px; letter-spacing:-0.01em;
  }
  .sem ul{list-style:none; padding:0; margin:0}
  .sem li{
    font-size:12.5px; color:var(--ink-mute); padding:5px 0;
    display:flex; gap:9px; line-height:1.45;
  }
  .sem li::before{
    content:""; width:4px; height:4px; border-radius:50%;
    background:var(--ochre); margin-top:7px; flex:none;
  }

  /* ==================== CAREER OUTCOMES / SALARY ==================== */
  .role-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
    background:var(--rule); border:1px solid var(--rule);
  }
  .role-card{
    background:var(--paper); padding:32px 28px;
    transition:background .3s ease;
  }
  .role-card:hover{background:var(--paper-2)}
  .role-card .r-cat{
    font-family:'JetBrains Mono',monospace; font-size:10px;
    letter-spacing:0.16em; text-transform:uppercase; color:var(--ochre);
    margin-bottom:12px;
  }
  .role-card h4{
    font-family:'Fraunces',serif; font-weight:500;
    font-size:21px; margin:0 0 8px; letter-spacing:-0.01em;
  }
  .role-card p{font-size:13px; color:var(--ink-mute); margin:0 0 18px; line-height:1.55}
  .role-card .salary{
    font-family:'Fraunces',serif; font-size:26px; color:var(--ink);
    border-top:1px solid var(--rule); padding-top:16px; letter-spacing:-0.01em;
  }
  .role-card .salary small{
    display:block; font-size:11px; color:var(--ink-mute);
    font-family:'JetBrains Mono',monospace; letter-spacing:0.12em;
    text-transform:uppercase; margin-top:6px;
  }

  /* ==================== FACULTY PROFILES ==================== */
  .fac{
    display:grid; grid-template-columns:300px 1fr; gap:64px;
    padding:64px 0; border-top:1px solid var(--rule); align-items:start;
  }
  .fac:last-child{border-bottom:1px solid var(--rule)}
  .fac-aside .fac-portrait{
    width:100px; height:100px; border-radius:50%;
    background:var(--ink); color:var(--paper);
    display:flex; align-items:center; justify-content:center;
    font-family:'Fraunces',serif; font-size:40px; margin-bottom:24px;
    border:1px solid var(--rule);
  }
  .fac-2 .fac-portrait{background:var(--teal)}
  .fac-3 .fac-portrait{background:var(--ochre-dark)}
  .fac-aside h3{
    font-family:'Fraunces',serif; font-weight:500;
    font-size:28px; margin:0 0 6px; letter-spacing:-0.015em; line-height:1.1;
  }
  .fac-aside .role{
    font-size:12px; letter-spacing:0.12em; text-transform:uppercase;
    color:var(--ochre-dark); margin-bottom:24px;
  }
  .fac-aside .linkedin{
    display:inline-flex; align-items:center; gap:9px;
    font-size:13px; color:var(--ink-soft); text-decoration:none;
    border:1px solid var(--rule); padding:9px 16px; border-radius:2px;
    transition:all .25s ease;
  }
  .fac-aside .linkedin:hover{background:var(--ink); color:var(--paper); border-color:var(--ink)}
  .fac-body > p{
    font-size:16px; line-height:1.75; color:var(--ink-soft);
    margin:0 0 30px; max-width:700px;
  }
  .fac-cols{
    display:grid; grid-template-columns:1fr 1fr; gap:36px;
    border-top:1px solid var(--rule); padding-top:28px;
  }
  .fac-block h5{
    font-family:'JetBrains Mono',monospace; font-size:11px;
    letter-spacing:0.16em; text-transform:uppercase; color:var(--ochre); margin:0 0 16px;
  }
  .fac-block ul{list-style:none; padding:0; margin:0}
  .fac-block li{
    font-size:14px; color:var(--ink-soft); padding:6px 0;
    display:flex; gap:11px; line-height:1.5;
  }
  .fac-block li::before{content:"→"; color:var(--ochre); flex:none}
  .fac-creds{display:flex; flex-wrap:wrap; gap:6px; margin-top:28px}

  /* ==================== ADMISSIONS: ELIGIBILITY + JOURNEY ==================== */
  .elig-list{
    list-style:none; padding:0; margin:8px 0 0;
    display:grid; grid-template-columns:repeat(2,1fr); gap:0 48px;
  }
  .elig-list li{
    font-size:15px; color:var(--ink-soft); display:flex; gap:13px;
    padding:14px 0; border-bottom:1px solid var(--rule);
  }
  .elig-list li::before{content:"✓"; color:var(--ochre); flex:none; font-weight:600}
  .journey{
    display:grid; grid-template-columns:repeat(6,1fr); gap:0;
    margin-top:56px; border:1px solid var(--rule);
  }
  .j-step{
    padding:30px 18px; border-right:1px solid var(--rule); text-align:center;
    transition:background .3s ease;
  }
  .j-step:last-child{border-right:none}
  .j-step:hover{background:var(--paper-2)}
  .j-step .j-no{
    width:36px; height:36px; margin:0 auto 16px;
    border:1px solid var(--ink); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-family:'JetBrains Mono',monospace; font-size:13px;
  }
  .j-step h5{
    font-family:'Fraunces',serif; font-weight:500;
    font-size:15px; margin:0; line-height:1.3; letter-spacing:-0.01em;
  }

  /* ==================== RESPONSIVE (new blocks) ==================== */
  @media (max-width:980px){
    .semesters{grid-template-columns:1fr 1fr}
    .sem:nth-child(2n){border-right:none}
    .role-grid{grid-template-columns:1fr}
    .blueprint-head .bp-tag{text-align:left}
    .fac{grid-template-columns:1fr; gap:32px; padding:48px 0}
    .fac-cols{grid-template-columns:1fr; gap:24px}
    .journey{grid-template-columns:1fr 1fr}
    .j-step:nth-child(2n){border-right:none}
    .elig-list{grid-template-columns:1fr; gap:0}
  }
  @media (max-width:560px){
    .semesters{grid-template-columns:1fr}
    .sem{border-right:none !important}
    .journey{grid-template-columns:1fr}
    .j-step{border-right:none !important}
  }

  /* ==================== SUB-PAGE HERO / BREADCRUMB ==================== */
  .subhero{padding:56px 0 40px; border-bottom:1px solid var(--rule)}
  .breadcrumb{
    display:flex; gap:10px; align-items:center; flex-wrap:wrap;
    font-family:'JetBrains Mono',monospace; font-size:11px;
    letter-spacing:0.14em; text-transform:uppercase;
    color:var(--ink-mute); margin-bottom:30px;
  }
  .breadcrumb a{color:var(--ink-mute); text-decoration:none; transition:color .2s ease}
  .breadcrumb a:hover{color:var(--ochre-dark)}
  .breadcrumb .sep{color:var(--rule)}
  .breadcrumb .here{color:var(--ochre-dark)}
  .subhero .eyebrow{margin-bottom:24px}
  .subhero h1{
    font-family:'Fraunces',serif; font-weight:400;
    font-size:clamp(38px,5vw,68px); line-height:1.0;
    letter-spacing:-0.025em; margin:0 0 22px; color:var(--ink);
  }
  .subhero h1 em{font-style:italic; font-weight:300; color:var(--ochre-dark)}
  .subhero .lead{
    font-size:18px; line-height:1.6; color:var(--ink-soft);
    max-width:680px; margin:0 0 32px;
  }
  .subhero-meta{
    display:flex; gap:36px; flex-wrap:wrap; margin-top:8px;
    border-top:1px solid var(--rule); padding-top:26px;
  }
  .subhero-meta .sm{min-width:120px}
  .subhero-meta .sm .k{
    font-family:'JetBrains Mono',monospace; font-size:10px;
    letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:6px;
  }
  .subhero-meta .sm .v{
    font-family:'Fraunces',serif; font-size:20px; color:var(--ink); letter-spacing:-0.01em;
  }

  /* ==================== CARD-AS-LINK ==================== */
  a.program-card{text-decoration:none}
  a.team-card{display:block; text-decoration:none; color:inherit}
  .card-more{
    margin-top:18px; padding-top:16px; border-top:1px solid var(--rule);
    font-family:'Fraunces',serif; font-style:italic; font-size:14px;
    color:var(--ochre-dark); display:flex; align-items:center; gap:8px;
  }
  .card-more span{transition:transform .3s ease}
  a.team-card:hover .card-more span{transform:translateX(5px)}

  /* ==================== FACULTY DETAIL HERO ==================== */
  .fachero{padding:56px 0 8px}
  .fachero .fac{border-top:none; padding-top:8px}
  .fachero .fac:last-child{border-bottom:none}

  /* ==================== ANCHOR-PROGRAM STRIP ==================== */
  .anchors{
    display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:0;
    border:1px solid var(--rule); margin-top:24px;
  }
  .anchor-link{
    padding:30px 28px; border-right:1px solid var(--rule);
    text-decoration:none; color:inherit; transition:background .3s ease;
    display:block;
  }
  .anchor-link:last-child{border-right:none}
  .anchor-link:hover{background:var(--paper-2)}
  .anchor-link .k{
    font-family:'JetBrains Mono',monospace; font-size:10px;
    letter-spacing:0.16em; text-transform:uppercase; color:var(--ochre); margin-bottom:12px;
  }
  .anchor-link h4{
    font-family:'Fraunces',serif; font-weight:500; font-size:20px;
    margin:0 0 6px; letter-spacing:-0.01em;
  }
  .anchor-link p{font-size:13px; color:var(--ink-mute); margin:0; line-height:1.55}
  .anchor-link .go{
    font-family:'Fraunces',serif; font-style:italic; font-size:13px;
    color:var(--ochre-dark); margin-top:14px; display:inline-block;
  }

  @media (max-width:980px){
    .anchors{grid-template-columns:1fr}
    .anchor-link{border-right:none; border-bottom:1px solid var(--rule)}
    .anchor-link:last-child{border-bottom:none}
    .subhero-meta{gap:24px}
  }

  /* ==================== HERO BACKGROUND IMAGE (added) ==================== */
  .hero{ isolation:isolate; overflow:hidden; }
  .hero::before{
    content:"";
    position:absolute; inset:-24px; z-index:-1;
    background-image:
      linear-gradient(90deg, var(--paper) 0%, rgba(244,239,230,.93) 30%, rgba(244,239,230,.76) 62%, rgba(244,239,230,.72) 100%),
      url('hero.jpg');
    background-size: cover, cover;
    background-position: center, center right;
    background-repeat: no-repeat, no-repeat;
    filter: blur(2px) saturate(.96);
  }
  /* soften the top edge into the nav and the bottom into the ticker */
  .hero::after{
    content:"";
    position:absolute; inset:0; z-index:-1; pointer-events:none;
    background:linear-gradient(180deg, var(--paper) 0%, transparent 14%, transparent 86%, var(--paper) 100%);
  }

  /* ==================== ENQUIRY STRIP (added) ==================== */
  .enquiry-strip{
    background:var(--paper-2);
    border-top:1px solid var(--rule);
    border-bottom:1px solid var(--rule);
    padding:46px 0;
  }
  .enquiry-strip .container{
    display:flex; align-items:center; justify-content:space-between;
    gap:30px; flex-wrap:wrap;
  }
  .enquiry-strip .es-text{ max-width:660px }
  .enquiry-strip .es-k{
    font-family:'JetBrains Mono',monospace; font-size:11px;
    letter-spacing:0.18em; text-transform:uppercase;
    color:var(--ochre); margin-bottom:12px;
  }
  .enquiry-strip h3{
    font-family:'Fraunces',serif; font-weight:400;
    font-size:clamp(24px,3vw,32px); line-height:1.12;
    letter-spacing:-0.02em; color:var(--ink); margin:0;
  }
  .enquiry-strip h3 em{ font-style:italic; color:var(--ochre-dark) }
  .enquiry-strip .es-text p{ margin:12px 0 0; color:var(--ink-soft); font-size:15px; line-height:1.55 }
  @media(max-width:680px){
    .enquiry-strip .btn-primary{ width:100%; justify-content:center }
  }

  /* ==================== ENQUIRY MODAL (added) ==================== */
  .modal-backdrop{
    position:fixed; inset:0; z-index:200;
    display:flex; align-items:center; justify-content:center;
    padding:24px;
    background:rgba(15,27,45,.55);
    backdrop-filter:saturate(120%) blur(4px);
    opacity:0; transition:opacity .25s ease;
  }
  .modal-backdrop[hidden]{ display:none }
  .modal-backdrop.open{ opacity:1 }
  .modal{
    position:relative; width:100%; max-width:520px;
    max-height:calc(100vh - 48px); overflow-y:auto;
    background:var(--paper); border:1px solid var(--rule);
    border-radius:2px; box-shadow:var(--shadow-soft);
    padding:40px;
    transform:translateY(12px); transition:transform .25s ease;
  }
  .modal-backdrop.open .modal{ transform:translateY(0) }
  .modal-close{
    position:absolute; top:16px; right:16px;
    width:34px; height:34px; line-height:1;
    background:transparent; border:1px solid var(--rule); border-radius:2px;
    color:var(--ink-mute); font-size:20px; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    transition:all .2s ease;
  }
  .modal-close:hover{ background:var(--ink); color:var(--paper); border-color:var(--ink) }
  .modal-k{
    font-family:'JetBrains Mono',monospace; font-size:11px;
    letter-spacing:0.18em; text-transform:uppercase;
    color:var(--ochre); margin-bottom:12px;
  }
  .modal h3{
    font-family:'Fraunces',serif; font-weight:400;
    font-size:clamp(22px,3vw,28px); line-height:1.14;
    letter-spacing:-0.02em; color:var(--ink); margin:0;
  }
  .modal h3 em{ font-style:italic; color:var(--ochre-dark) }
  .modal-sub{ margin:10px 0 24px; color:var(--ink-soft); font-size:14px; line-height:1.55 }
  .enq-form{ display:flex; flex-direction:column; gap:14px }
  .enq-form .field{ display:flex; flex-direction:column; gap:6px }
  .enq-form label{
    font-family:'JetBrains Mono',monospace; font-size:11px;
    letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-mute);
  }
  .enq-form label span{ text-transform:none; letter-spacing:0; color:var(--rule) }
  .enq-form input,
  .enq-form select,
  .enq-form textarea{
    font-family:'Inter Tight',sans-serif; font-size:15px; color:var(--ink);
    background:var(--paper-2); border:1px solid var(--rule); border-radius:2px;
    padding:12px 14px; width:100%; transition:border-color .2s ease;
  }
  .enq-form textarea{ resize:vertical; min-height:74px }
  .enq-form input:focus,
  .enq-form select:focus,
  .enq-form textarea:focus{ outline:none; border-color:var(--ochre) }
  .enq-form .btn-primary{ justify-content:center; margin-top:6px; cursor:pointer; width:100% }
  .enq-form .btn-primary.is-loading{ opacity:.9; cursor:default }
  .enq-form .btn-primary:disabled{ cursor:default }
  .btn-spinner{
    width:15px; height:15px; border-radius:50%;
    border:2px solid rgba(244,239,230,.35);
    border-top-color:var(--paper);
    display:inline-block; vertical-align:-2px;
    animation:nb-spin .6s linear infinite;
  }
  @keyframes nb-spin{ to{ transform:rotate(360deg) } }
  .enq-success{
    text-align:center; padding:20px 0;
    color:var(--ink-soft); font-size:15px; line-height:1.6;
  }
  .enq-success strong{ color:var(--ink); font-family:'Fraunces',serif; font-weight:500 }
  @media(max-width:520px){
    .modal{ padding:32px 22px }
  }
