/* ============ TOKENS ============ */
  :root{
    --surface:#EEE9DA;
    --surface-alt:#E4DEC9;
    --surface-raised:#F8F5EC;
    --text:#1B2420;
    --text-muted:#4B584F;
    --heading:#163B27;
    --accent:#C9A227;
    --accent-text:#8A6A16;
    --band-bg:#163B27;
    --line:rgba(22,59,39,0.22);
    --line-strong:rgba(22,59,39,0.4);
    --btn-primary-bg:#163B27;
    --btn-primary-fg:#F2E7C4;
    --btn-outline:#163B27;
    --shadow:0 1px 2px rgba(20,30,20,0.06), 0 8px 24px rgba(20,30,20,0.06);
    --seal-ring:#163B27;

    --font-display:'Fraunces', 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
    --font-body:'EB Garamond', 'Iowan Old Style', Palatino, Georgia, serif;
    --font-mono:'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --surface:#0B2118;
      --surface-alt:#102A1E;
      --surface-raised:#123322;
      --text:#E7E1D0;
      --text-muted:#A9B6AC;
      --heading:#EFD98F;
      --accent:#C9A227;
      --accent-text:#E6C876;
      --line:rgba(230,200,118,0.22);
      --line-strong:rgba(230,200,118,0.4);
      --btn-primary-bg:#C9A227;
      --btn-primary-fg:#14261B;
      --btn-outline:#E6C876;
      --shadow:0 1px 2px rgba(0,0,0,0.3), 0 8px 24px rgba(0,0,0,0.35);
      --seal-ring:#E6C876;
    }
  }
  :root[data-theme="dark"]{
    --surface:#0B2118;
    --surface-alt:#102A1E;
    --surface-raised:#123322;
    --text:#E7E1D0;
    --text-muted:#A9B6AC;
    --heading:#EFD98F;
    --accent:#C9A227;
    --accent-text:#E6C876;
    --line:rgba(230,200,118,0.22);
    --line-strong:rgba(230,200,118,0.4);
    --btn-primary-bg:#C9A227;
    --btn-primary-fg:#14261B;
    --btn-outline:#E6C876;
    --shadow:0 1px 2px rgba(0,0,0,0.3), 0 8px 24px rgba(0,0,0,0.35);
    --seal-ring:#E6C876;
  }

  /* ============ RESET / BASE ============ */
  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *,*::before,*::after{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
  }
  body{
    margin:0;
    background:var(--surface);
    color:var(--text);
    font-family:var(--font-body);
    font-size:1.125rem;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;}
  h1,h2,h3,h4{
    font-family:var(--font-display);
    color:var(--heading);
    font-weight:600;
    margin:0;
    text-wrap:balance;
  }
  p{margin:0 0 1em;max-width:65ch;}
  .container{max-width:1180px;margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem);}
  section{position:relative;}
  .eyebrow{
    font-family:var(--font-mono);
    font-size:0.72rem;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--accent-text);
    font-weight:600;
  }
  .rule{
    border:none;
    border-top:1px solid var(--line);
    margin:0;
  }
  .skip-link{
    position:absolute; left:-999px; top:auto;
    background:var(--btn-primary-bg); color:var(--btn-primary-fg);
    padding:0.75em 1.25em; z-index:200; font-family:var(--font-mono); font-size:0.85rem;
  }
  .skip-link:focus{ left:1rem; top:1rem; }
  a:focus-visible, button:focus-visible, [tabindex]:focus-visible{
    outline:2px solid var(--accent);
    outline-offset:3px;
  }

  /* ============ BUTTONS ============ */
  .btn{
    display:inline-flex; align-items:center; gap:0.5em;
    font-family:var(--font-mono);
    font-size:0.8rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    text-decoration:none;
    padding:0.9em 1.6em;
    border:1px solid transparent;
    cursor:pointer;
    transition:transform 0.15s ease, background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  }
  .btn:hover{transform:translateY(-1px);}
  .btn-primary{ background:var(--btn-primary-bg); color:var(--btn-primary-fg); }
  .btn-primary:hover{ background:var(--accent); color:#14261B; }
  .btn-outline{ background:transparent; color:var(--heading); border-color:var(--btn-outline); }
  .btn-outline:hover{ background:var(--btn-outline); color:var(--surface); }

  /* ============ NAV ============ */
  .site-nav{
    position:sticky; top:0; z-index:100;
    background:var(--surface); border-bottom:1px solid var(--line);
    backdrop-filter:saturate(140%) blur(6px);
  }
  .nav-inner{
    display:flex; align-items:center; justify-content:space-between;
    padding:0.85rem clamp(1.25rem,4vw,3rem);
    max-width:1180px; margin:0 auto;
    gap:1.5rem;
  }
  .brand{ display:flex; align-items:center; gap:0.75rem; text-decoration:none; }
  .brand img{ width:38px; height:38px; }
  .brand-text{ display:flex; flex-direction:column; line-height:1.1; }
  .brand-text .name{ font-family:var(--font-display); font-weight:600; font-size:1.05rem; color:var(--heading); letter-spacing:0.02em; }
  .brand-text .sub{ font-family:var(--font-mono); font-size:0.62rem; letter-spacing:0.18em; color:var(--text-muted); text-transform:uppercase; }
  .nav-links{ display:flex; align-items:center; gap:clamp(1rem,2vw,2rem); list-style:none; margin:0; padding:0; }
  .nav-links a{
    text-decoration:none; font-family:var(--font-mono); font-size:0.78rem; letter-spacing:0.06em;
    text-transform:uppercase; color:var(--text-muted); padding:0.4em 0; border-bottom:1px solid transparent;
    transition:color 0.15s ease, border-color 0.15s ease;
  }
  .nav-links a:hover{ color:var(--heading); border-color:var(--accent); }
  .nav-cta{ display:flex; align-items:center; gap:1rem; }
  .nav-toggle{ display:none; background:none; border:1px solid var(--line-strong); color:var(--heading); padding:0.5em 0.7em; font-family:var(--font-mono); }
  @media (max-width: 860px){
    .nav-links{ display:none; }
    .nav-toggle{ display:inline-block; }
    .nav-cta .btn-primary{ padding:0.7em 1em; font-size:0.72rem; }
  }
  .site-nav.open .nav-links{
    display:flex; position:absolute; top:100%; left:0; right:0;
    flex-direction:column; align-items:flex-start; gap:0;
    background:var(--surface-raised); border-bottom:1px solid var(--line);
    padding:0.5rem clamp(1.25rem,4vw,3rem) 1rem;
  }
  .site-nav.open .nav-links a{ width:100%; padding:0.75em 0; border-bottom:1px solid var(--line); }

  /* ============ HERO ============ */
  .hero{
    background:var(--band-bg);
    color:#F2E7C4;
    overflow:hidden;
    position:relative;
    border-bottom:1px solid var(--line-strong);
  }
  .hero-inner{
    max-width:1180px; margin:0 auto; padding:clamp(3.5rem,8vw,7rem) clamp(1.25rem,4vw,3rem) clamp(3rem,6vw,5rem);
    display:grid; grid-template-columns:1.1fr 0.9fr; gap:3rem; align-items:center;
    position:relative; z-index:2;
  }
  @media (max-width: 900px){ .hero-inner{ grid-template-columns:1fr; } }
  .hero h1{
    color:#F7EFD6;
    font-size:clamp(2.4rem, 5vw, 3.6rem);
    line-height:1.06;
    font-weight:600;
    margin-bottom:0.55em;
  }
  .hero .lede{
    color:#D8CFAE;
    font-size:1.2rem;
    max-width:44ch;
    margin-bottom:1.8em;
  }
  .hero .eyebrow{ color:#E6C876; margin-bottom:1.1em; display:block; }
  .hero-ctas{ display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2.4rem; }
  .hero .btn-primary{ background:#E6C876; color:#14261B; }
  .hero .btn-primary:hover{ background:#F7EFD6; }
  .hero .btn-outline{ color:#F2E7C4; border-color:rgba(242,231,196,0.5); }
  .hero .btn-outline:hover{ background:rgba(242,231,196,0.12); color:#F7EFD6; }
  .motto-strip{
    display:flex; align-items:center; gap:0.9rem;
    border-top:1px solid rgba(242,231,196,0.25);
    padding-top:1.4rem;
  }
  .motto-strip img{ width:34px; height:34px; opacity:0.92; }
  .motto-strip .motto{ font-family:var(--font-display); font-style:italic; font-size:1.05rem; color:#F2E7C4; }
  .motto-strip .motto span{ display:block; font-family:var(--font-mono); font-style:normal; font-size:0.68rem; letter-spacing:0.06em; color:#B9AE86; margin-top:0.25em; }

  .armillary-wrap{ position:relative; aspect-ratio:1/1; max-width:440px; margin:0 auto; }
  .armillary-wrap svg{ width:100%; height:100%; overflow:visible; }
  .ring{ transform-origin:200px 200px; fill:none; }
  .ring-1{ animation:spin-cw 60s linear infinite; }
  .ring-2{ animation:spin-ccw 42s linear infinite; }
  .ring-3{ animation:spin-cw 26s linear infinite; }
  @keyframes spin-cw{ from{transform:rotate(0deg);} to{transform:rotate(360deg);} }
  @keyframes spin-ccw{ from{transform:rotate(0deg);} to{transform:rotate(-360deg);} }
  .twinkle{ animation:twinkle 4s ease-in-out infinite; }
  @keyframes twinkle{ 0%,100%{opacity:0.25;} 50%{opacity:1;} }
  @media (prefers-reduced-motion: reduce){
    .ring, .twinkle{ animation:none !important; }
  }

  /* ============ STATS BAR ============ */
  .stats{
    background:var(--surface-alt);
    border-bottom:1px solid var(--line);
  }
  .stats-grid{
    display:grid; grid-template-columns:repeat(5,1fr);
    padding:2.2rem 0;
  }
  .stat{ text-align:center; padding:0 1rem; border-left:1px solid var(--line); }
  .stat:first-child{ border-left:none; }
  .stat .num{ font-family:var(--font-mono); font-variant-numeric:tabular-nums; font-size:clamp(1.5rem,2.4vw,2rem); color:var(--heading); font-weight:600; }
  .stat .label{ font-family:var(--font-mono); font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--text-muted); margin-top:0.4em; }
  @media (max-width: 760px){
    .stats-grid{ grid-template-columns:repeat(2,1fr); row-gap:1.6rem; }
    .stat:nth-child(3){ border-left:none; }
  }

  /* ============ SECTION HEADERS ============ */
  .section{ padding:clamp(3.5rem,7vw,6rem) 0; }
  .section-head{ max-width:56ch; margin-bottom:2.6rem; }
  .section-head h2{ font-size:clamp(1.9rem,3.2vw,2.5rem); margin:0.3em 0 0.5em; }
  .section-head .dek{ color:var(--text-muted); font-size:1.08rem; }
  .section-alt{ background:var(--surface-alt); }

  /* ============ ABOUT ============ */
  .about-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:3.5rem; }
  @media (max-width:900px){ .about-grid{ grid-template-columns:1fr; } }
  .about-grid p{ color:var(--text); }
  .about-grid .cap{
    font-family:var(--font-display); font-style:italic; font-size:1.3rem; color:var(--heading);
    border-left:3px solid var(--accent); padding-left:1em; margin:1.6em 0;
  }
  .timeline{ list-style:none; margin:0; padding:0; border-left:1px solid var(--line-strong); }
  .timeline li{ position:relative; padding:0 0 1.8rem 1.6rem; }
  .timeline li::before{
    content:''; position:absolute; left:-5px; top:0.35em; width:9px; height:9px;
    background:var(--accent); border-radius:50%;
  }
  .timeline .yr{ font-family:var(--font-mono); font-size:0.78rem; color:var(--accent-text); letter-spacing:0.05em; }
  .timeline .ev{ margin-top:0.2em; font-size:1rem; color:var(--text); }

  /* ============ ACADEMICS ============ */
  .tabs{ display:flex; gap:0.5rem; margin-bottom:2.2rem; border-bottom:1px solid var(--line); }
  .tab{
    font-family:var(--font-mono); font-size:0.78rem; letter-spacing:0.06em; text-transform:uppercase;
    background:none; border:none; padding:0.9em 0.2em; margin-right:1.8rem; color:var(--text-muted);
    cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px;
  }
  .tab[aria-selected="true"]{ color:var(--heading); border-bottom-color:var(--accent); }
  .colleges-note{ color:var(--text-muted); margin-bottom:2.2rem; font-size:1rem; }
  .cas-list{
    display:flex; flex-wrap:wrap; gap:0.6rem 0.9rem; padding:1.4rem 0 2.6rem;
    border-bottom:1px solid var(--line); margin-bottom:2.6rem;
  }
  .cas-list span{
    font-family:var(--font-mono); font-size:0.78rem; color:var(--text); border:1px solid var(--line-strong);
    padding:0.5em 0.9em;
  }
  .dept-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
  @media (max-width:920px){ .dept-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:620px){ .dept-grid{ grid-template-columns:1fr; } }
  .dept-card{
    background:var(--surface-raised); border:1px solid var(--line); padding:1.6rem;
    display:flex; flex-direction:column; gap:0.75rem;
    transition:opacity 0.25s ease, filter 0.25s ease, border-color 0.25s ease;
  }
  .dept-card .code{ font-family:var(--font-mono); font-size:0.7rem; letter-spacing:0.1em; color:var(--accent-text); }
  .dept-card h3{ font-size:1.2rem; }
  .dept-card p{ font-size:0.95rem; color:var(--text-muted); margin:0; }
  .dept-card .course{ font-family:var(--font-mono); font-size:0.76rem; color:var(--text); background:var(--surface-alt); padding:0.6em 0.7em; border-left:2px solid var(--accent); }
  .not-offered-note{ display:none; font-family:var(--font-mono); font-style:italic; font-size:0.76rem; color:var(--text-muted); padding:0.6em 0.7em; border-left:2px solid var(--line-strong); }
  .degree-badges{ display:flex; gap:0.4rem; margin-top:auto; padding-top:0.4rem; }
  .degree-badges span{
    font-family:var(--font-mono); font-size:0.66rem; letter-spacing:0.05em; padding:0.3em 0.55em;
    border:1px solid var(--line-strong); color:var(--text-muted);
  }
  .degree-badges span.active{ background:var(--accent); border-color:var(--accent); color:#14261B; font-weight:600; }
  .dept-card.unavailable{ opacity:0.42; filter:grayscale(0.5); }
  .dept-card.unavailable .course{ display:none; }
  .dept-card.unavailable .not-offered-note{ display:block; }
  .dept-card.available{ border-color:var(--accent); }
  .dept-status{ font-family:var(--font-mono); font-size:0.8rem; color:var(--text-muted); margin:0 0 1.4rem; font-variant-numeric:tabular-nums; }
  .dept-status strong{ color:var(--heading); }

  /* ============ FACULTY ============ */
  .faculty-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem 1.4rem; }
  @media (max-width:920px){ .faculty-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:620px){ .faculty-grid{ grid-template-columns:1fr; } }
  .fac-card{ padding-top:1.2rem; border-top:2px solid var(--line-strong); }
  .fac-card .portrait{
    display:block; width:100%; aspect-ratio:1/1; object-fit:cover;
    border:1px solid var(--line-strong); margin-bottom:1rem;
    filter:grayscale(0.3) contrast(1.03); transition:filter 0.3s ease;
  }
  .fac-card:hover .portrait{ filter:grayscale(0); }
  .fac-card h3{ font-size:1.1rem; margin-bottom:0.15em; }
  .fac-card .role{ font-size:0.88rem; color:var(--text-muted); margin-bottom:0.5em; }
  .fac-card .cred{ font-family:var(--font-mono); font-size:0.72rem; color:var(--accent-text); letter-spacing:0.03em; margin-bottom:0.6em; }
  .fac-card .bio{ font-size:0.92rem; color:var(--text); margin:0; }

  /* ============ CAMPUS ============ */
  .campus-grid{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:3.5rem; align-items:start; }
  @media (max-width:900px){ .campus-grid{ grid-template-columns:1fr; } }
  .landmark-list{ list-style:none; margin:0; padding:0; }
  .landmark-list li{ padding:1rem 0; border-bottom:1px solid var(--line); display:flex; gap:1rem; justify-content:space-between; }
  .landmark-list li:first-child{ padding-top:0; }
  .landmark-list .lname{ font-family:var(--font-display); font-size:1.05rem; color:var(--heading); }
  .landmark-list .ldesc{ color:var(--text-muted); font-size:0.9rem; text-align:right; max-width:22ch; }
  .orgs{ display:flex; flex-wrap:wrap; gap:0.6rem; margin-top:1.2rem; }
  .orgs span{ font-family:var(--font-mono); font-size:0.74rem; border:1px solid var(--line-strong); padding:0.45em 0.8em; color:var(--text); }
  .geo{ opacity:0.5; }

  /* ============ ADMISSIONS ============ */
  .admissions{ background:var(--band-bg); color:#F2E7C4; }
  .admissions h2{ color:#F7EFD6; }
  .admissions .section-head .dek{ color:#CFC49C; }
  .adm-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:3rem; }
  @media (max-width:900px){ .adm-grid{ grid-template-columns:1fr; } }
  .adm-list{ list-style:none; margin:0 0 1.8rem; padding:0; }
  .adm-list li{ padding:0.7em 0; border-bottom:1px solid rgba(242,231,196,0.18); font-size:0.98rem; }
  .adm-facts{ background:rgba(242,231,196,0.06); border:1px solid rgba(242,231,196,0.22); padding:1.8rem; }
  .adm-facts dl{ margin:0; display:grid; grid-template-columns:1fr auto; gap:0.7rem 1rem; }
  .adm-facts dt{ font-family:var(--font-mono); font-size:0.75rem; letter-spacing:0.04em; color:#CFC49C; }
  .adm-facts dd{ margin:0; font-family:var(--font-mono); font-variant-numeric:tabular-nums; text-align:right; color:#F7EFD6; font-weight:600; }
  .essay-prompt{ font-family:var(--font-display); font-style:italic; font-size:1.15rem; color:#F2E7C4; border-left:3px solid #E6C876; padding-left:1em; margin:1.6em 0; }
  .adm-ctas{ display:flex; gap:1rem; flex-wrap:wrap; margin-top:1.6rem; }
  button.btn{ appearance:none; font:inherit; font-family:var(--font-mono); }

  /* ============ MODALS ============ */
  .modal-overlay{
    position:fixed; inset:0; z-index:300;
    background:rgba(11,20,15,0.6);
    display:flex; align-items:center; justify-content:center;
    padding:1.5rem;
  }
  .modal-overlay[hidden]{ display:none; }
  .modal{
    background:var(--surface-raised); border:1px solid var(--line-strong);
    max-width:460px; width:100%; padding:2.2rem;
    box-shadow:var(--shadow);
    max-height:88vh; overflow-y:auto;
    position:relative;
  }
  .modal-close{
    position:absolute; top:1rem; right:1rem;
    background:none; border:1px solid var(--line-strong); color:var(--text-muted);
    width:2rem; height:2rem; line-height:1; cursor:pointer; font-family:var(--font-mono); font-size:0.9rem;
  }
  .modal-close:hover{ color:var(--heading); border-color:var(--accent); }
  .modal .eyebrow{ display:block; margin-bottom:0.6em; }
  .modal h3{ font-size:1.5rem; margin-bottom:0.5em; padding-right:2rem; }
  .modal .modal-dek{ color:var(--text-muted); font-size:0.95rem; margin-bottom:1.6em; }
  .field{ display:flex; flex-direction:column; gap:0.4em; margin-bottom:1.2rem; }
  .field label{ font-family:var(--font-mono); font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--accent-text); }
  .field input, .field select{
    font-family:var(--font-body); font-size:1.05rem; color:var(--text);
    background:var(--surface); border:1px solid var(--line-strong);
    padding:0.6em 0.7em;
  }
  .field input:focus, .field select:focus{ outline:2px solid var(--accent); outline-offset:1px; }
  .modal form .btn{ width:100%; justify-content:center; margin-top:0.4rem; }
  .modal-confirm{ display:none; text-align:center; }
  .modal-confirm.show{ display:block; }
  .modal-confirm .seal-check{ width:52px; height:52px; margin:0 auto 1.2rem; }
  .modal-confirm h3{ text-align:center; }
  .modal-confirm p{ color:var(--text-muted); margin:0 auto 0.6em; }
  .modal-confirm .ref{ font-family:var(--font-mono); font-size:0.85rem; color:var(--accent-text); letter-spacing:0.04em; margin:1.2em 0; }
  .modal-confirm .btn{ margin-top:1rem; }
  .modal.step-confirm .modal-form{ display:none; }

  /* ============ FOOTER ============ */
  footer{ background:var(--surface-alt); border-top:1px solid var(--line); }
  .footer-top{ display:grid; grid-template-columns:1.3fr repeat(4,1fr); gap:2.4rem; padding:3.5rem 0 2.5rem; }
  @media (max-width:900px){ .footer-top{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:560px){ .footer-top{ grid-template-columns:1fr; } }
  .footer-brand{ display:flex; align-items:flex-start; gap:0.9rem; }
  .footer-brand img{ width:44px; height:44px; }
  .footer-brand .name{ font-family:var(--font-display); font-size:1.15rem; color:var(--heading); }
  .footer-brand .addr{ font-size:0.85rem; color:var(--text-muted); margin-top:0.5em; line-height:1.5; }
  .fcol h4{ font-family:var(--font-mono); font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--accent-text); margin-bottom:1em; }
  .fcol ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0.6em; }
  .fcol a{ text-decoration:none; font-size:0.92rem; color:var(--text-muted); }
  .fcol a:hover{ color:var(--heading); }
  .footer-bottom{
    border-top:1px solid var(--line); padding:1.4rem 0 2.4rem;
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:0.8rem;
    font-family:var(--font-mono); font-size:0.72rem; color:var(--text-muted);
  }
  .footer-bottom a{ color:var(--text-muted); text-decoration:underline; text-underline-offset:3px; background:none; border:none; font:inherit; cursor:pointer; padding:0; }
  .footer-bottom a:hover{ color:var(--heading); }
  .footer-legal-links{ display:flex; gap:0.5em; flex-wrap:wrap; }

  .modal-legal{ max-width:600px; }
  .modal-legal h3{ font-size:1.4rem; }
  .modal-legal-body{ font-family:var(--font-body); font-size:1rem; color:var(--text); }
  .modal-legal-body p{ margin:0 0 1em; max-width:none; }
  .modal-legal-body h4{ font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--accent-text); margin:1.4em 0 0.5em; }
  .modal-legal-body h4:first-child{ margin-top:0; }
  .modal-legal-body ul{ margin:0 0 1em; padding-left:1.2em; }
  .modal-legal .updated{ font-family:var(--font-mono); font-size:0.72rem; color:var(--text-muted); margin-bottom:1.4em; display:block; }

  /* geometry divider */
  .geo-divider{ display:flex; justify-content:center; padding:0.5rem 0 0; opacity:0.55; }
