
  :root{
    --ink:#041C3B;
    --ink-2:#0C2A4E;
    --ink-3:#173B67;
    --paper:#F2EEE2;
    --paper-2:#E9E3D0;
    --gold:#CDAE7C;
    --gold-light:#E7D5AF;
    --gold-deep:#B0895A;
    --maize:#FFCB05;
    --slate:#93A0B5;
    --ink-text:#1C2430;
    --line:rgba(205,174,124,0.28);
    --focus:#E7D5AF;
    font-size:16px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
  }
  body{
    margin:0;
    background:var(--ink);
    color:var(--paper);
    font-family:'Inter',sans-serif;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit;}
  h1,h2,h3{
    font-family:'Newsreader',serif;
    font-weight:500;
    margin:0;
  }
  .eyebrow{
    font-family:'IBM Plex Mono',monospace;
    letter-spacing:0.14em;
    text-transform:uppercase;
    font-size:0.72rem;
    color:var(--gold-light);
  }
  :focus-visible{
    outline:2px solid var(--focus);
    outline-offset:3px;
  }
  .wrap{max-width:1180px;margin:0 auto;padding:0 32px;}

  .brand-divider{display:flex;align-items:center;gap:12px;}
  .brand-divider .ln{flex:1;height:1px;background:var(--line);}
  .brand-divider .m{
    font-family:'Inter',sans-serif;font-weight:800;color:var(--maize);
    font-size:0.72rem; background:var(--ink-2); width:20px;height:20px;
    display:flex;align-items:center;justify-content:center;border-radius:2px;
  }

  /* NAV */
  header.nav{
    position:sticky; top:0; z-index:50;
    background:rgba(4,28,59,0.94);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 32px; max-width:1180px; margin:0 auto; position:relative;
  }
  .wordmark{
    font-family:'Newsreader',serif; font-size:1.08rem; font-weight:500;
    display:flex; align-items:center; gap:10px; text-decoration:none;
  }
  .wordmark img{height:30px;width:auto;display:block;}
  nav.links{display:flex; gap:28px; font-size:0.86rem;}
  nav.links a{text-decoration:none; color:var(--paper); opacity:0.82; transition:opacity 0.15s ease;}
  nav.links a:hover{opacity:1;}
  .nav-cta{
    font-family:'IBM Plex Mono',monospace; font-size:0.74rem; letter-spacing:0.04em;
    border:1px solid var(--gold); color:var(--gold-light); padding:9px 16px;
    border-radius:2px; text-decoration:none; white-space:nowrap;
    transition:background 0.15s ease,color 0.15s ease;
  }
  .nav-cta:hover{background:var(--gold);color:var(--ink);}
  .menu-btn{
    display:none; background:none; border:none; color:var(--paper);
    font-size:1.5rem; cursor:pointer; line-height:1;
  }
  nav.links.open{
    display:flex; position:absolute; top:100%; left:0; right:0;
    flex-direction:column; background:var(--ink); padding:22px 32px;
    border-bottom:1px solid var(--line); gap:16px; z-index:60;
  }

  /* HERO */
  .hero{padding:88px 32px 90px; position:relative; overflow:hidden;}
  .hero::before{
    content:""; position:absolute; inset:0;
    background:repeating-linear-gradient(180deg, transparent, transparent 38px, rgba(205,174,124,0.045) 39px);
    pointer-events:none;
  }
  .hero-inner{max-width:1180px;margin:0 auto;position:relative;}
  .hero-grid{display:grid; grid-template-columns:1.15fr 0.85fr; gap:64px; align-items:center;}
  .hero h1{
    font-size:clamp(2.3rem, 4.4vw, 3.5rem);
    line-height:1.12; color:#FBF9F2; margin-top:22px;
  }
  .hero h1 em{font-style:italic; color:var(--gold-light);}
  .hero p.lede{font-size:1.1rem; line-height:1.62; max-width:560px; color:var(--slate); margin-top:22px;}
  .hero-actions{display:flex; align-items:center; gap:22px; margin-top:36px; flex-wrap:wrap;}
  .btn-primary{
    background:var(--gold); color:var(--ink); font-family:'IBM Plex Mono',monospace;
    font-size:0.8rem; letter-spacing:0.03em; text-decoration:none; padding:15px 26px;
    border-radius:2px; font-weight:500; transition:background 0.15s ease;
  }
  .btn-primary:hover{background:var(--gold-light);}
  .hero-meta{font-family:'IBM Plex Mono',monospace; font-size:0.76rem; color:var(--slate); display:flex; align-items:center; gap:10px;}
  .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);display:inline-block;}
  .hero-plaque{
    background:var(--ink-2); border:1px solid var(--line); border-radius:8px;
    padding:22px; box-shadow:0 40px 70px -30px rgba(0,0,0,0.65);
  }
  .hero-plaque img{width:100%; display:block; border-radius:3px;}

  section{padding:84px 32px;}
  .section-head{max-width:660px; margin-bottom:48px;}
  .section-head h2{font-size:clamp(1.8rem,3vw,2.4rem); margin-top:14px; color:#FBF9F2;}
  .section-head p{color:var(--slate); font-size:1.01rem; line-height:1.6; margin-top:14px;}
  .light .section-head h2{color:var(--ink-text);}
  .light .section-head p{color:#5A5747;}
  .light .eyebrow{color:#8A6A1E;}

  /* OFFERINGS */
  .offer-section{background:var(--paper); color:var(--ink-text);}
  .offer-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:2px;
    background:rgba(140,110,30,0.18); border:1px solid rgba(140,110,30,0.18);
    max-width:1180px; margin:0 auto;
  }
  .offer-card{background:var(--paper); padding:32px 30px;}
  .offer-card .mk{width:26px;height:2px;background:var(--gold-deep);margin-bottom:18px;}
  .offer-card h3{font-size:1.18rem; color:var(--ink-text); font-weight:500;}
  .offer-card p{font-size:0.92rem; line-height:1.6; color:#4B4938; margin-top:12px;}

  /* TIMELINE (curriculum) — signature element, rebuilt with fixed-height rows so dots
     stay pinned regardless of how much topic text wraps, plus a progress-fill line. */
  .timeline-section{background:var(--ink); position:relative; overflow:hidden;}
  .timeline-section::before{
    content:""; position:absolute; inset:0;
    background:repeating-linear-gradient(180deg, transparent, transparent 38px, rgba(205,174,124,0.045) 39px);
    pointer-events:none;
  }
  .timeline-wrap{position:relative; margin-top:20px; padding-top:10px;}
  .timeline-track{
    display:grid; grid-template-columns:repeat(12,1fr); column-gap:4px;
    position:relative; padding-top:0;
  }
  .timeline-track::before{
    content:""; position:absolute; top:var(--line-top, 30px); left:var(--line-start, 0px); width:var(--line-span, 100%); height:1px;
    background:linear-gradient(90deg, transparent, rgba(205,174,124,0.4) 6%, rgba(205,174,124,0.4) 94%, transparent);
    z-index:0;
  }
  .timeline-track::after{
    content:""; position:absolute; top:var(--line-top, 30px); left:var(--line-start, 0px); height:1px;
    background:linear-gradient(90deg, var(--gold-deep), var(--gold));
    width:calc(var(--line-span, 100%) * var(--progress-frac, 0));
    transition:width 0.5s cubic-bezier(.4,.2,.2,1);
    box-shadow:0 0 8px rgba(205,174,124,0.6);
    z-index:0;
  }
  .tl-node{
    display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start;
    padding:0 10px 0 0; cursor:pointer; border:none; background:none; text-align:left;
    color:inherit; font-family:inherit; position:relative; z-index:1;
  }
  .tl-date{
    font-family:'IBM Plex Mono',monospace; font-size:0.64rem; letter-spacing:0.06em;
    text-transform:uppercase; color:var(--slate); height:14px; line-height:14px;
  }
  .tl-dot-row{height:20px; display:flex; align-items:center; margin:6px 0 12px;}
  .tl-node .marker{
    width:11px;height:11px;border-radius:50%;background:var(--ink);
    border:2px solid var(--gold); flex-shrink:0;
    transition:background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  }
  .tl-node:hover .marker{transform:scale(1.2); box-shadow:0 0 10px rgba(205,174,124,0.5);}
  .tl-node[aria-expanded="true"] .marker{background:var(--gold); transform:scale(1.25); box-shadow:0 0 12px rgba(205,174,124,0.65);}
  .tl-node .topic{font-family:'Newsreader',serif; font-size:1.02rem; line-height:1.25; color:#FBF9F2;}
  .tl-node:hover .topic{color:var(--gold-light);}
  .tl-panel{
    display:none; position:relative; overflow:hidden;
    margin-top:44px; background:var(--ink-2); border:1px solid var(--line); border-radius:4px;
    padding:32px 36px; box-shadow:0 24px 48px -24px rgba(0,0,0,0.5);
    animation:tlFadeIn 0.4s ease;
  }
  .tl-panel::before{
    content:""; position:absolute; inset:0;
    background-image:var(--tl-gradient);
    -webkit-mask-image:linear-gradient(90deg, black 0%, black 15%, transparent 50%);
    mask-image:linear-gradient(90deg, black 0%, black 15%, transparent 50%);
    z-index:0;
  }
  .tl-panel > *{position:relative; z-index:1;}
  @keyframes tlFadeIn{
    from{opacity:0; transform:translateY(8px);}
    to{opacity:1; transform:translateY(0);}
  }
  .tl-panel.active{display:grid; grid-template-columns:1fr 1fr; gap:36px;}
  .tl-panel h4{font-family:'Newsreader',serif; font-size:1.35rem; color:#FBF9F2; font-weight:500;}
  .tl-panel p{color:var(--slate); font-size:0.95rem; line-height:1.65; margin-top:12px;}
  .tl-panel .week{font-family:'IBM Plex Mono',monospace; font-size:0.72rem; color:var(--gold-light); letter-spacing:0.05em;}

  /* LEADERSHIP */
  .lead-section{background:var(--paper); color:var(--ink-text); position:relative; overflow:hidden;}
  .lead-section .wrap{position:relative; z-index:1;}
  .gold-strip{
    position:absolute; top:0; bottom:0; width:26px; z-index:0; pointer-events:none;
    background:linear-gradient(180deg,
      #8A6A1E 0%, #E7D5AF 12%, #CDAE7C 24%, #FFF3D6 36%, #B0895A 48%,
      #E7D5AF 60%, #8A6A1E 72%, #CDAE7C 84%, #FFF3D6 96%, #8A6A1E 100%);
    background-size:100% 260%;
    box-shadow:0 0 24px rgba(205,174,124,0.35);
  }
  .gold-strip.left{left:0;}
  .gold-strip.right{right:0;}
  @media (max-width:940px){.gold-strip{width:14px;}}

  /* CONTACT FORM */
  .contact-wrap{max-width:640px; margin:0 auto;}
  .form-field{margin-bottom:20px;}
  .form-field label{
    display:block; font-family:'IBM Plex Mono',monospace; font-size:0.7rem;
    letter-spacing:0.06em; text-transform:uppercase; color:#8A6A1E; margin-bottom:8px;
  }
  .form-field input, .form-field textarea{
    width:100%; padding:12px 14px; border:1px solid rgba(140,110,30,0.3); border-radius:3px;
    background:#FBF9F2; color:var(--ink-text); font-family:'Inter',sans-serif; font-size:0.95rem;
    box-sizing:border-box;
  }
  .form-field input:focus, .form-field textarea:focus{outline:2px solid var(--gold-deep); outline-offset:1px;}
  .form-field textarea{min-height:140px; resize:vertical;}
  .contact-note{font-size:0.85rem; color:#5A5747; margin-top:6px;}
  .lead-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:36px; max-width:1180px; margin:0 auto;}
  .lead-card{text-align:left;}
  .avatar{
    width:64px;height:64px;border-radius:50%;
    background:var(--ink); border:1.5px solid var(--gold-deep);
    display:flex;align-items:center;justify-content:center;
    font-family:'Newsreader',serif; color:var(--gold-light); font-size:1.3rem; margin-bottom:18px;
  }
  .lead-photo-wrap{
    position:relative; overflow:hidden; border-radius:6px; margin-bottom:18px;
    box-shadow:0 18px 36px -20px rgba(0,0,0,0.35); transition:box-shadow 0.3s ease;
  }
  .lead-photo-wrap::after{
    content:""; position:absolute; inset:0; border:2px solid transparent; border-radius:6px;
    transition:border-color 0.3s ease; pointer-events:none;
  }
  .lead-card:hover .lead-photo-wrap{box-shadow:0 26px 44px -18px rgba(0,0,0,0.5);}
  .lead-photo-placeholder{
    width:100%; aspect-ratio:1; display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg, var(--ink-3), var(--ink));
    font-family:'Newsreader',serif; font-size:3rem; color:var(--gold-light);
    transition:transform 0.5s cubic-bezier(.2,.6,.3,1);
  }
  .lead-card:hover .lead-photo-placeholder{transform:scale(1.06);}
  .lead-card:hover .lead-photo-wrap::after{border-color:var(--gold);}
  .lead-card .lead-photo{
    width:100%; aspect-ratio:1; object-fit:cover; display:block;
    transition:transform 0.5s cubic-bezier(.2,.6,.3,1);
  }
  .lead-card:hover .lead-photo{transform:scale(1.06);}
  .lead-card h3{font-size:1.2rem; color:var(--ink-text); font-weight:500; transition:color 0.2s ease;}
  .lead-card:hover h3{color:#8A6A1E;}
  .lead-card .role{font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.05em; text-transform:uppercase; color:#8A6A1E; margin-top:4px; display:block;}
  .lead-card .lead-meta{font-size:0.88rem; color:#5A5747; margin-top:8px;}

  /* ABOUT / FOUNDING STORY */
  .founder-section{background:var(--ink);}
  .founder-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:64px; max-width:1180px; margin:0 auto; align-items:start;}
  .founder-section{position:relative; overflow:hidden;}
  .founder-section .logo-mark{
    position:absolute; bottom:0; width:clamp(280px, 46vw, 670px); aspect-ratio:762/651;
    background-image:url('assets/mwag-monogram.png'); background-repeat:no-repeat; background-size:contain; background-position:bottom;
    filter:invert(1) brightness(2); opacity:0.07; pointer-events:none; z-index:0;
  }
  .founder-section .logo-mark.left{left:0; background-position:bottom left;}
  .founder-section .logo-mark.right{right:0; background-position:bottom right;}
  @media (max-width:940px){
    .founder-section .logo-mark.right{display:none;}
  }
  .about-photo-hero{position:relative;}
  .about-photo-hero::before{
    content:""; position:absolute; inset:0;
    background-image:url('assets/about-foliage.jpg'); background-size:cover; background-position:center;
    opacity:0.95; z-index:0;
  }
  .about-photo-hero::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(4,28,59,0.35) 0%, rgba(4,28,59,0.55) 100%);
    z-index:1;
  }
  .about-photo-hero .inner{position:relative; z-index:2;}
  .about-photo-hero .eyebrow{text-shadow:0 1px 6px rgba(0,0,0,0.7);}
  .about-photo-hero p{text-shadow:0 1px 6px rgba(0,0,0,0.6);}
  .about-photo-hero h1{text-shadow:0 2px 12px rgba(0,0,0,0.6), 0 1px 3px rgba(0,0,0,0.8);}
  .about-hero-sub{margin-top:4px !important;}
  .accent-strip{
    height:2.5px;
    background:linear-gradient(90deg, transparent, #FF3864 15%, #FF3864 85%, transparent);
    box-shadow:0 0 16px 1px rgba(255,56,100,0.7);
    position:relative;
  }
  .page-hero.about-photo-hero{min-height:340px; display:flex; align-items:center; padding-top:60px; padding-bottom:60px;}
  .about-photo-wrap{position:relative; max-width:820px; margin:0 auto;}
  .about-photo-wrap img{
    width:100%; display:block; border-radius:8px;
    -webkit-mask-image:linear-gradient(180deg, black 70%, transparent 100%);
    mask-image:linear-gradient(180deg, black 70%, transparent 100%);
  }
  .gs-badge{
    position:absolute; bottom:40px; right:-18px;
    background:var(--ink-2); border:1px solid var(--gold);
    border-radius:16px; padding:14px 20px;
    box-shadow:0 20px 40px -16px rgba(0,0,0,0.7);
    text-align:center; min-width:150px;
  }
  .gs-badge .name{font-family:'Newsreader',serif; font-size:1.02rem; color:#FBF9F2; font-weight:500; line-height:1.2;}
  .gs-badge .sub{font-family:'IBM Plex Mono',monospace; font-size:0.6rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--gold-light); margin-top:5px;}
  .about-story{max-width:720px; margin:8px auto 0; text-align:left; position:relative; z-index:1;}
  .about-story p{color:var(--slate); font-family:'Newsreader',serif; font-size:1.15rem; line-height:1.7; margin-top:16px;}
  .about-story p:first-of-type{margin-top:0;}

  .diff-table-wrap{overflow-x:auto; max-width:900px; margin:0 auto;}
  .diff-table{width:100%; min-width:520px; border-collapse:collapse;}
  .diff-table th, .diff-table td{padding:16px 22px; text-align:left; vertical-align:top; font-size:0.92rem; border-bottom:1px solid rgba(140,110,30,0.18);}
  .diff-table thead th{
    font-family:'IBM Plex Mono',monospace; font-size:0.68rem; letter-spacing:0.06em; text-transform:uppercase;
    color:#8A6A1E; border-bottom:2px solid rgba(140,110,30,0.35); padding-bottom:14px;
  }
  .diff-table td.trad-col{color:#5A5747;}
  .diff-table td.mwag-col, .diff-table th.mwag-col{
    background:rgba(205,174,124,0.14); color:#3A3826; font-weight:500; border-left:2px solid var(--gold-deep);
  }
  .founder-bio p{color:var(--slate); font-size:1rem; line-height:1.72; margin-top:16px;}
  .founder-bio p:first-of-type{margin-top:0;}

  .mission-panel{
    max-width:1180px; margin:0 auto; background:var(--ink-2); border-left:3px solid var(--gold);
    border-radius:4px; padding:40px 48px; box-shadow:0 24px 48px -24px rgba(0,0,0,0.5);
  }
  .mission-panel .eyebrow{color:var(--gold-light);}
  .mission-panel blockquote{
    font-family:'Newsreader',serif; font-style:italic; font-size:1.4rem; line-height:1.5;
    color:#FBF9F2; margin:16px 0 0;
  }
  .mission-panel p{color:var(--slate); font-size:0.98rem; line-height:1.68; margin-top:18px;}

  /* THE MWAG DIFFERENCE — comparison table + value callouts */
  .diff-section{background:var(--paper); color:var(--ink-text);}
  .diff-table-wrap{overflow-x:auto; max-width:1180px; margin:0 auto;}
  .diff-table{width:100%; min-width:640px; border-collapse:collapse;}
  .diff-table th, .diff-table td{padding:16px 22px; text-align:left; vertical-align:top; font-size:0.92rem; border-bottom:1px solid rgba(140,110,30,0.18);}
  .diff-table thead th{
    font-family:'IBM Plex Mono',monospace; font-size:0.68rem; letter-spacing:0.06em; text-transform:uppercase;
    color:#8A6A1E; border-bottom:2px solid rgba(140,110,30,0.35); padding-bottom:14px;
  }
  .diff-table td.row-label{font-family:'Newsreader',serif; font-weight:500; color:var(--ink-text); font-size:0.98rem; width:190px;}
  .diff-table td.trad-col{color:#5A5747;}
  .diff-table td.mwag-col, .diff-table th.mwag-col{
    background:rgba(205,174,124,0.14); color:#3A3826; font-weight:500; border-left:2px solid var(--gold-deep);
  }

  /* MEETINGS */
  .meet-section{background:var(--paper); color:var(--ink-text);}
  .meet-grid{display:grid; grid-template-columns:1.1fr 1fr; gap:56px; max-width:1180px; margin:0 auto; align-items:start;}
  .meet-fact{
    display:flex; gap:20px; padding:20px 0; border-top:1px solid rgba(140,110,30,0.2);
    transition:padding-left 0.2s ease;
  }
  .meet-fact:hover{padding-left:8px;}
  .meet-fact:first-child{border-top:none;}
  .meet-fact .k{font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase; color:#8A6A1E; width:110px; flex-shrink:0; padding-top:2px;}
  .meet-fact .v{font-size:1rem; color:#3A3826; line-height:1.55;}
  .cal-strip{background:var(--ink); border-radius:4px; padding:28px; box-shadow:0 24px 48px -28px rgba(0,0,0,0.6);}
  .cal-strip .eyebrow{color:var(--gold-light); margin-bottom:18px; display:block;}
  .cal-row{
    display:flex; justify-content:space-between; align-items:baseline; padding:10px 0 10px 12px;
    border-bottom:1px solid rgba(205,174,124,0.18); font-size:0.86rem;
    border-left:2px solid transparent; transition:border-color 0.2s ease, background 0.2s ease, padding-left 0.2s ease;
  }
  .cal-row:hover{border-left-color:var(--gold); background:rgba(205,174,124,0.06); padding-left:18px;}
  .cal-row:hover .topic{color:var(--gold-light);}
  .cal-row:last-child{border-bottom:none;}
  .cal-row .date{font-family:'IBM Plex Mono',monospace; color:var(--gold-light); font-size:0.78rem;}
  .cal-row .topic{color:var(--paper);}

  /* JOIN */
  .join-section{background:linear-gradient(135deg, var(--gold) 0%, var(--gold-deep) 100%); color:var(--ink); text-align:center; padding:96px 32px;}
  .join-section h2{font-size:clamp(1.9rem,4vw,2.8rem); color:var(--ink);}
  .join-section p{max-width:520px; margin:18px auto 0; color:#2E230F; font-size:1.02rem; line-height:1.6;}
  .join-actions{margin-top:34px; display:flex; justify-content:center; gap:16px; flex-wrap:wrap;}
  .btn-dark{background:var(--ink); color:var(--paper); font-family:'IBM Plex Mono',monospace; font-size:0.82rem; text-decoration:none; padding:15px 26px; border-radius:2px;}
  .btn-ghost{border:1px solid var(--ink); color:var(--ink); font-family:'IBM Plex Mono',monospace; font-size:0.82rem; text-decoration:none; padding:15px 26px; border-radius:2px;}

  /* FOOTER */
  footer{background:var(--ink); border-top:1px solid var(--line); padding:44px 32px 32px;}
  .footer-inner{max-width:1180px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:18px;}
  .foot-links{display:flex; gap:20px;}
  .foot-links a{opacity:0.7; transition:opacity 0.15s ease; text-decoration:underline;}
  .foot-links a:hover{opacity:1;}
  .foot-note{font-family:'IBM Plex Mono',monospace; font-size:0.7rem; color:var(--slate); max-width:1180px; margin:26px auto 0; line-height:1.6;}
  footer .brand-divider{max-width:1180px; margin:0 auto 26px;}

  @media (max-width: 940px){
    nav.links{display:none;}
    .menu-btn{display:block;}
    .hero-grid{grid-template-columns:1fr; gap:44px;}
    .hero-plaque{max-width:340px;}
    .offer-grid{grid-template-columns:repeat(2,1fr);}
    .lead-grid{grid-template-columns:1fr; gap:40px;}
    .founder-grid{grid-template-columns:1fr; gap:40px;}
    .value-grid{grid-template-columns:1fr; gap:32px;}
    .about-photo-wrap{max-width:420px;}
    .gs-badge{bottom:-16px; right:8px; padding:10px 16px; min-width:120px;}
    .timeline-track{grid-template-columns:repeat(4,1fr); row-gap:36px;}
    .timeline-track::before, .timeline-track::after{display:none;}
    .tl-panel.active{grid-template-columns:1fr;}
    .meet-grid{grid-template-columns:1fr;}
  }
  @media (max-width: 560px){
    .offer-grid{grid-template-columns:1fr;}
    .timeline-track{grid-template-columns:repeat(2,1fr);}
    .hero{padding:72px 20px 56px;}
    section{padding:60px 20px;}
    .wrap,.nav-inner{padding-left:20px;padding-right:20px;}
    .join-section .hero-tag{white-space:normal; font-size:0.62rem;}
  }

/* Interior page header (non-home pages) */
.page-hero{padding:60px 32px 20px;}
.page-hero .inner{max-width:1180px;margin:0 auto;}
.page-hero h1{font-size:clamp(2rem,4vw,2.7rem); margin-top:14px; color:#FBF9F2;}
.page-hero p{color:var(--slate); font-size:1.04rem; line-height:1.6; margin-top:16px; max-width:640px;}

nav.links a.active{color:var(--gold-light); opacity:1;}

/* ===== Columbia-inspired components ===== */

/* Photo/gradient hero — Columbia-style, centered */
.photo-hero{
  position:relative; min-height:calc(100vh - 64px); display:flex; align-items:center; justify-content:center;
  padding:70px 32px; text-align:center;
  background-image:
    linear-gradient(180deg, rgba(4,28,59,0.55) 0%, rgba(4,28,59,0.72) 55%, rgba(4,28,59,0.94) 100%),
    url('assets/home-hero.jpg');
  background-size:cover;
  background-position:center top;
  overflow:hidden;
}
.photo-hero-inner{position:relative; max-width:820px; margin:0 auto; width:100%; display:flex; flex-direction:column; align-items:center;}
.photo-hero-inner img.hero-mark{height:130px; width:auto; margin-bottom:26px;}
.hero-tag{
  display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:0.72rem;
  letter-spacing:0.08em; text-transform:uppercase; color:#FBF9F2;
  margin-bottom:22px; opacity:0.8;
}
.hero-divider{height:5px; background:linear-gradient(90deg, var(--gold-deep), var(--gold), var(--gold-light), var(--gold));}
.photo-hero h1{font-size:clamp(2.2rem,5vw,3.4rem); color:#FBF9F2; line-height:1.14; max-width:760px;}
.photo-hero p.lede{font-size:1.08rem; color:#D7DEE9; max-width:560px; margin:20px auto 0; line-height:1.6;}

/* Stat strip */
.stat-strip{
  display:grid; grid-template-columns:repeat(3,1fr);
  background:var(--paper-2); border-top:1px solid rgba(140,110,30,0.2); border-bottom:1px solid rgba(140,110,30,0.25);
  box-shadow: inset 0 12px 20px -16px rgba(4,28,59,0.4), inset 0 -12px 20px -16px rgba(4,28,59,0.4);
}
.stat-block{
  padding:44px 36px; border-left:1px solid rgba(140,110,30,0.2);
}
.stat-block:first-child{border-left:none;}
.stat-block .num{font-family:'Newsreader',serif; font-size:2.6rem; color:var(--gold-deep); line-height:1; text-shadow:0 3px 12px rgba(176,137,90,0.4);}
.stat-block .num::after{content:"";display:block;width:34px;height:2px;background:var(--gold-deep);margin-top:12px;opacity:0.75;}
.stat-block .lbl{font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-text); margin-top:12px;}
.stat-block .dsc{font-size:0.9rem; color:#5A5747; margin-top:10px; line-height:1.55;}

/* Pillar cards (image-style, gradient-based — no stock photography) */
.pillar-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; max-width:1180px; margin:0 auto;}
.pillar-card{background:var(--ink-2); border:1px solid var(--line); border-radius:6px; overflow:hidden; display:flex; flex-direction:column;}
.pillar-art{
  height:150px; position:relative;
  background:linear-gradient(135deg, var(--ink-3) 0%, var(--ink) 100%);
  display:flex; align-items:center; justify-content:center;
}
.pillar-art .glyph{font-family:'Newsreader',serif; font-style:italic; font-size:2.6rem; color:var(--gold); opacity:0.65;}
.pillar-body{padding:26px 26px 30px;}
.pillar-tags{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px;}
.pillar-tag{
  font-family:'IBM Plex Mono',monospace; font-size:0.65rem; letter-spacing:0.04em;
  color:var(--gold-light); border:1px solid var(--line); border-radius:2px; padding:4px 9px;
}
.pillar-card h3{font-size:1.25rem; color:#FBF9F2;}
.pillar-card p{font-size:0.92rem; color:var(--slate); line-height:1.6; margin-top:12px;}
.pillar-link{
  display:inline-block; margin-top:16px; font-family:'IBM Plex Mono',monospace;
  font-size:0.75rem; color:var(--gold-light); text-decoration:none; letter-spacing:0.03em;
}
.pillar-link:hover{text-decoration:underline;}

/* Multi-column footer */
.footer-cols{
  max-width:1180px; margin:0 auto; display:grid;
  grid-template-columns:1.5fr 1fr 1fr; gap:40px; padding-bottom:36px;
}
.footer-cols .fcol h4{
  font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.06em;
  text-transform:uppercase; color:var(--gold-light); margin-bottom:16px;
}
.footer-cols .fcol a{
  display:block; font-size:0.88rem; color:var(--paper); opacity:0.82;
  text-decoration:none; margin-bottom:11px;
}
.footer-cols .fcol a:hover{opacity:1;}
.footer-cols .fcol.brand p{font-size:0.88rem; color:var(--slate); line-height:1.6; margin-top:14px; max-width:280px;}
.footer-cols .fcol.brand a.wordmark{display:flex; align-items:center; gap:10px; margin-bottom:0;}
.join-section .hero-tag{color:var(--ink); opacity:0.7; margin:0 0 14px; display:inline-block; max-width:none; white-space:nowrap;}

/* Flip cards — Offerings page */
.flip-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:28px;
  max-width:1180px; margin:0 auto;
}
.flip-card{
  perspective:1400px; height:320px; cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.flip-card-inner{
  position:relative; width:100%; height:100%;
  transition:transform 0.7s cubic-bezier(.4,.2,.2,1);
  transform-style:preserve-3d;
  will-change:transform;
  transform:translateZ(0) rotateY(0deg);
}
@media (hover:hover){
  .flip-card:hover .flip-card-inner{transform:translateZ(0) rotateY(180deg);}
}
.flip-card-inner.flipped{transform:translateZ(0) rotateY(180deg);}
.flip-face{
  position:absolute; inset:0; backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  border-radius:6px; overflow:hidden; border:1px solid var(--line);
}
.flip-front{
  background-size:cover; background-position:center;
  display:flex; align-items:flex-end;
}
.flip-front .scrim{
  width:100%; padding:22px 22px 20px;
  background:linear-gradient(0deg, rgba(4,28,59,0.92) 0%, rgba(4,28,59,0.15) 75%, transparent 100%);
}
.flip-front h3{font-size:1.15rem; color:#FBF9F2; font-weight:500;}
.flip-front .tap-hint{
  font-family:'IBM Plex Mono',monospace; font-size:0.64rem; letter-spacing:0.06em;
  text-transform:uppercase; color:var(--gold-light); opacity:0.8; margin-top:6px; display:block;
}
.flip-back{
  transform:rotateY(180deg); background:var(--ink-2);
  padding:28px; display:flex; flex-direction:column; justify-content:center;
}
.flip-back::before{
  content:""; position:absolute; inset:-6px;
  background-image:var(--card-img); background-size:cover; background-position:center;
  filter:blur(8px) brightness(0.62) saturate(1.05);
  transform:scale(1.04); z-index:0;
}
.flip-back::after{
  content:""; position:absolute; inset:0;
  background:rgba(4,28,59,0.42); z-index:1;
}
.flip-back h3{font-size:1.1rem; color:#FBF9F2; font-weight:500; margin-bottom:12px; position:relative; z-index:2;}
.flip-back p{font-size:0.92rem; color:#E4E9F1; line-height:1.62; position:relative; z-index:2;}
@media (max-width:940px){
  .flip-grid{grid-template-columns:1fr;}
}

/* Video hero — interior page intro with looping background video */
.video-hero{position:relative; overflow:hidden;}
.video-hero video{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; z-index:0;
}
.video-hero::before{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(4,28,59,0.75) 0%, rgba(4,28,59,0.88) 100%);
}
.video-hero .inner{position:relative; z-index:2;}

@media (max-width:940px){
  .stat-strip{grid-template-columns:1fr;}
  .stat-block{border-left:none; border-top:1px solid rgba(140,110,30,0.2);}
  .stat-block:first-child{border-top:none;}
  .pillar-grid{grid-template-columns:1fr;}
  .footer-cols{grid-template-columns:1fr; gap:28px;}
}

/* Wide photo banner (used for event/leadership group shots) */
.photo-banner{width:100%; height:0; padding-bottom:38.46%; position:relative; overflow:hidden; background:var(--ink);}
.photo-banner img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;}
.photo-banner .caption{
  position:absolute; bottom:14px; left:24px; z-index:2;
  font-family:'IBM Plex Mono',monospace; font-size:0.68rem; color:#FBF9F2;
  background:rgba(4,28,59,0.55); padding:6px 10px; border-radius:2px; letter-spacing:0.04em;
}

/* Associates page */
.team-card{background:var(--paper); border:1px solid rgba(140,110,30,0.18); padding:30px 28px;}
.team-card h3{font-size:1.25rem; color:var(--ink-text); margin-bottom:16px;}
.team-card .team-line{margin-bottom:14px;}
.team-card .team-line:last-child{margin-bottom:0;}
.team-card .team-label{
  font-family:'IBM Plex Mono',monospace; font-size:0.65rem; letter-spacing:0.06em;
  text-transform:uppercase; color:#8A6A1E; display:block; margin-bottom:4px;
}
.team-card .team-text{font-size:0.9rem; color:#4B4938; line-height:1.55;}
.team-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:rgba(140,110,30,0.18); border:1px solid rgba(140,110,30,0.18); max-width:1180px; margin:0 auto;}
.apply-steps{display:grid; grid-template-columns:repeat(4,1fr); gap:32px; max-width:1180px; margin:56px auto 0;}
.apply-step .num{font-family:'Newsreader',serif; font-style:italic; font-size:2rem; color:var(--gold-deep); line-height:1;}
.apply-step h4{font-size:1.02rem; margin-top:10px; color:var(--ink-text); font-weight:500;}
.apply-step p{font-size:0.86rem; color:#5A5747; margin-top:6px; line-height:1.5;}
@media (max-width:940px){
  .team-grid{grid-template-columns:1fr;}
  .apply-steps{grid-template-columns:1fr 1fr; row-gap:32px;}
}

/* Associates page — real content update */
.team-card .team-tagline{font-size:0.86rem; color:#8A6A1E; font-style:italic; margin-top:-8px; margin-bottom:14px; display:block;}
.team-card .reports-to{
  font-family:'IBM Plex Mono',monospace; font-size:0.6rem; letter-spacing:0.05em;
  text-transform:uppercase; color:#8A6A1E; display:block; margin-bottom:14px; opacity:0.85;
}

/* First-meeting scrapbook (Meetings page) */
.scrapbook-section{background:var(--ink); padding:84px 32px 96px; position:relative; overflow:hidden;}
.scrapbook-section .section-head{margin-left:auto; margin-right:auto; text-align:center; margin-bottom:0;}
.scrapbook{display:flex; flex-wrap:wrap; justify-content:center; gap:40px 30px; max-width:1180px; margin:56px auto 0;}
.polaroid{
  margin:0; background:#FBF9F2; padding:12px 12px 14px; width:calc(25% - 24px); min-width:210px; max-width:270px;
  box-shadow:0 20px 38px -14px rgba(0,0,0,0.7);
  transform:rotate(var(--rot,0deg)); transition:transform 0.35s cubic-bezier(.2,.7,.3,1), box-shadow 0.35s ease;
  position:relative;
}
.polaroid:nth-child(even){margin-top:28px;}
.polaroid::before{
  content:""; position:absolute; top:-12px; left:50%; width:74px; height:22px;
  transform:translateX(-50%) rotate(-3deg); background:rgba(205,174,124,0.6);
  box-shadow:0 1px 3px rgba(0,0,0,0.25);
}
.polaroid img{width:100%; aspect-ratio:8/5; object-fit:cover; display:block;}
.polaroid figcaption{
  font-family:'Newsreader',serif; font-style:italic; color:#2A2A33;
  text-align:center; padding-top:12px; font-size:0.98rem;
}
.polaroid:hover{
  transform:rotate(0deg) scale(1.07) translateY(-6px); z-index:3;
  box-shadow:0 30px 50px -16px rgba(0,0,0,0.8);
}
@media (max-width:760px){
  .scrapbook{gap:30px 16px;}
  .polaroid{width:calc(50% - 10px); min-width:0; padding:8px 8px 10px;}
  .polaroid:nth-child(even){margin-top:14px;}
  .polaroid figcaption{font-size:0.8rem; padding-top:8px;}
}

/* Leadership hero: group photo on the right, faded into the navy banner */
.page-hero.lead-hero{
  position:relative; overflow:hidden; min-height:360px;
  display:flex; align-items:center; padding-top:60px; padding-bottom:60px;
}
.lead-hero .inner{position:relative; z-index:2; width:100%;}
.lead-hero .inner p{max-width:480px;}
.lead-hero-photo{
  position:absolute; top:0; right:-60px; height:100%; aspect-ratio:2.6 / 1; z-index:0;
  background-size:cover; background-position:center;
}
.lead-hero-photo::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, var(--ink) 0%, rgba(4,28,59,0.88) 10%, rgba(4,28,59,0.45) 26%, rgba(4,28,59,0) 46%);
}
@media (max-width:1100px){
  .page-hero.lead-hero{min-height:300px;}
  .lead-hero-photo{right:0; width:100%; aspect-ratio:auto; opacity:0.2;}
  .lead-hero-photo::after{background:none;}
  .lead-hero .inner p{max-width:560px;}
}
