  :root{
    --ink:#0e141b; --ink-2:#3d4a5c; --muted:#6b7789;
    --navy:#060d18; --navy-2:#0c1626; --sea:#1e4a6e;
    --gold:#c4a35a; --gold-2:#e0c57a; --line:rgba(14,20,27,.1);
    --surface:#fbfcfe; --mist:#e8eef4; --ok:#0d7a3f;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:"DM Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
    color:var(--ink); line-height:1.55; background:var(--mist);
    -webkit-font-smoothing:antialiased;
  }
  a{color:var(--sea); text-decoration-thickness:1px; text-underline-offset:3px}
  .wrap{width:min(1120px, calc(100% - 40px)); margin:0 auto}

  /* Motion */
  @keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  @keyframes sheen{0%{background-position:0% 50%}100%{background-position:100% 50%}}
  .rise{animation:rise .7s ease both}
  .rise-d1{animation-delay:.08s}.rise-d2{animation-delay:.16s}.rise-d3{animation-delay:.28s}

  /* Hero: same composition as fedm8.com: giant wordmark, gold rule, one sentence.
     Shield lives in the header only; the crest here is a watermark, not a second logo. */
  .hero{
    position:relative; min-height:min(94vh,880px);
    display:flex; align-items:flex-end;
    color:#fff; overflow:hidden;
    background:
      radial-gradient(ellipse 90% 70% at 78% 18%, rgba(196,163,90,.22), transparent 52%),
      radial-gradient(ellipse 50% 40% at 12% 80%, rgba(22,36,56,.9), transparent 60%),
      linear-gradient(165deg, #0a1526 0%, #101f36 38%, #0a1422 72%, #060d18 100%);
  }
  .hero::before{
    content:""; position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(180deg, rgba(6,13,24,.15) 0%, rgba(6,13,24,.45) 42%, rgba(6,13,24,.94) 100%);
  }
  .hero::after{
    content:""; position:absolute; inset:auto 0 0 0; height:120px;
    background:linear-gradient(transparent, var(--mist)); pointer-events:none;
  }
  .hero-atmosphere{
    position:absolute; inset:0; pointer-events:none; opacity:.9;
    background-image:repeating-linear-gradient(
      90deg, transparent, transparent 140px,
      rgba(224,197,122,.05) 140px, rgba(224,197,122,.05) 141px
    );
    mask-image:linear-gradient(180deg,#000 10%, transparent 78%);
  }
  .hero-ornament{
    position:absolute; left:0; right:0; top:18%; height:1px;
    background:linear-gradient(90deg, transparent, rgba(224,197,122,.22), transparent);
    pointer-events:none;
  }
  .hero-grain{
    position:absolute; inset:0; pointer-events:none; opacity:.09; mix-blend-mode:overlay;
    background-image: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.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
  .hero-crest{
    position:absolute; right:-2%; top:6%; width:min(48vw,480px);
    opacity:.06; pointer-events:none;
    filter:grayscale(1) sepia(.25) saturate(.4) brightness(1.45);
    animation:crestDrift 16s ease-in-out infinite alternate;
  }
  @keyframes crestDrift{from{transform:translateY(0)}to{transform:translateY(18px)}}
  @keyframes ruleDraw{to{width:min(200px,44%)}}
  .hero .wrap{
    position:relative; z-index:2;
    padding:120px 0 96px; max-width:900px;
  }
  .hero-brand{
    font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;
    font-size:clamp(64px,11vw,118px);
    font-weight:600; letter-spacing:.08em; line-height:.9;
    margin:0; color:#fff;
    text-shadow:0 2px 40px rgba(0,0,0,.25);
  }
  .hero-brand span{color:var(--gold-2)}
  .hero-mate{
    font-family:"Allura",cursive; font-weight:400; font-style:normal;
    font-size:clamp(22px,3.2vw,32px); line-height:1;
    color:var(--gold-2); letter-spacing:.02em;
    margin:4px 0 6px; transform:rotate(-1.5deg);
    transform-origin:left center;
    text-shadow:0 2px 16px rgba(0,0,0,.18);
  }
  .hero-field{
    font-family:"DM Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
    font-size:clamp(11px,1.5vw,13px); font-weight:500;
    letter-spacing:.28em; text-transform:uppercase;
    color:rgba(232,234,238,.62); margin:0 0 10px;
  }
  .hero-rule{
    width:0; height:1px;
    background:linear-gradient(90deg,var(--gold-2),rgba(224,197,122,.15));
    margin-bottom:30px;
    animation:ruleDraw 1.35s cubic-bezier(.22,1,.36,1) .3s forwards;
  }
  .hero h1{
    font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;
    font-size:clamp(30px,4.4vw,44px);
    font-weight:500; line-height:1.18; letter-spacing:.015em;
    max-width:22ch; margin:0 0 20px; color:rgba(255,255,255,.95);
  }
  .hero p.lead{
    font-size:16.5px; font-weight:450; color:rgba(232,234,238,.74);
    max-width:36em; margin:0 0 38px; line-height:1.75;
  }
  .hero .cta,.actions{display:flex;gap:14px;flex-wrap:wrap}
  .btn{
    display:inline-flex; align-items:center; justify-content:center;
    font:600 13.5px/1 "DM Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
    padding:13px 26px; border-radius:1px; text-decoration:none; border:1px solid transparent; cursor:pointer;
    letter-spacing:.06em; transition:background .25s, color .25s, border-color .25s;
  }
  .btn.primary{background:var(--gold); border-color:var(--gold); color:var(--navy)}
  .btn.primary:hover{background:var(--gold-2); border-color:var(--gold-2)}
  .hero .btn.ghost{
    background:transparent; color:#fff; border-color:rgba(224,197,122,.45);
  }
  .hero .btn.ghost:hover{border-color:var(--gold-2); color:var(--gold-2); background:rgba(224,197,122,.06)}
  .btn.ghost{background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.22)}
  .btn.dark{background:var(--navy); color:#fff; border-color:var(--navy)}
  .btn.soft{background:#fff; color:var(--navy); border:1px solid var(--line)}
  @media(max-width:640px){
    .hero{min-height:auto;align-items:flex-end}
    .hero .wrap{padding:80px 0 68px}
    .hero-crest{width:70vw;right:-15%;opacity:.1}
    .hero h1{max-width:none}
  }
  @media (prefers-reduced-motion:reduce){
    .rise,.hero-crest,.hero-rule{animation:none}
    .hero-rule{width:min(200px,44%)}
  }

  section{padding:72px 0}
  .sec-label{
    font-size:11.5px; font-weight:750; letter-spacing:.14em; text-transform:uppercase;
    color:var(--gold); margin-bottom:12px;
  }
  h2{
    font-family:"Source Serif 4",Georgia,"Times New Roman",serif;
    font-size:clamp(1.75rem, 3.2vw, 2.35rem);
    letter-spacing:-.03em; color:var(--navy); font-weight:650; margin-bottom:12px;
  }
  .sub{font-size:1.05rem; color:var(--ink-2); max-width:36rem; margin-bottom:36px}

  /* Split: tools vs academy */
  .split{
    display:grid; grid-template-columns:1.05fr .95fr; gap:20px;
  }
  .panel{
    border-radius:1px; padding:32px 28px; position:relative; overflow:hidden;
    min-height:280px;
  }
  .panel.tools{
    background:var(--navy); color:#e8eef6;
    box-shadow:0 24px 60px rgba(6,13,24,.25);
  }
  .panel.tools h3{font-family:"Source Serif 4",Georgia,"Times New Roman",serif; font-size:1.55rem; letter-spacing:-.02em; margin:8px 0 12px; color:#fff}
  .panel.tools p{color:#a8b8c9; font-size:15px; max-width:32ch; margin-bottom:20px}
  .panel.tools ul{list-style:none; margin-bottom:24px}
  .panel.tools li{padding:8px 0; border-top:1px solid rgba(255,255,255,.08); font-size:14.5px; color:#d5deea}
  .panel.tools li:first-child{border-top:none}
  .panel.academy{
    background:var(--surface);
    border:1px solid var(--line);
    box-shadow:0 16px 40px rgba(14,20,27,.04);
  }
  .panel.academy .bonus{
    display:inline-block; font-size:11px; font-weight:750; letter-spacing:.1em; text-transform:uppercase;
    color:var(--ok); background:rgba(13,122,63,.08); padding:5px 10px; border-radius:999px; margin-bottom:10px;
  }
  .panel.academy h3{font-family:"Source Serif 4",Georgia,"Times New Roman",serif; font-size:1.55rem; color:var(--navy); margin-bottom:12px}
  .panel.academy p{color:var(--ink-2); font-size:15px; margin-bottom:20px; max-width:34ch}
  .panel.academy .note{font-size:13px; color:var(--muted); margin-top:16px}

  /* Schools */
  .schools{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
  @media (max-width:1100px){ .schools{grid-template-columns:repeat(2,1fr)} }
  .school{
    background:var(--surface); border:1px solid var(--line); border-radius:1px;
    padding:28px 24px; display:flex; flex-direction:column;
    transition:box-shadow .2s, transform .2s;
  }
  .school:hover{transform:translateY(-3px); box-shadow:0 18px 40px rgba(14,20,27,.07)}
  .school.featured{
    background:linear-gradient(165deg, #060d18 0%, #16324f 100%);
    color:#e8eef6; border:none;
  }
  .school .tier{
    font-size:11px; font-weight:750; letter-spacing:.12em; text-transform:uppercase;
    color:var(--gold); margin-bottom:10px;
  }
  .school.featured .tier{color:var(--gold-2)}
  .school h3{
    font-family:"Source Serif 4",Georgia,"Times New Roman",serif; font-size:1.45rem; letter-spacing:-.02em;
    color:var(--navy); margin-bottom:6px;
  }
  .school.featured h3{color:#fff}
  .school .role{font-size:14px; color:var(--ink-2); margin-bottom:16px; min-height:2.8em}
  .school.featured .role{color:#a8b8c9}
  .school .price{font-size:1.85rem; font-weight:750; letter-spacing:-.03em; color:var(--navy); margin-bottom:4px}
  .school.featured .price{color:#fff}
  .school .price small{font-size:13px; font-weight:550; color:var(--muted)}
  .school.featured .price small{color:#8fa3b8}
  .school .was{text-decoration:line-through; color:var(--muted); font-size:1rem; font-weight:500; margin-right:6px}
  .school .annual{font-size:12.5px; color:var(--muted); margin-bottom:18px}
  .school.featured .annual{color:#8fa3b8}
  .school ul{list-style:none; flex:1; margin-bottom:22px}
  .school li{
    font-size:13.5px; padding:7px 0 7px 18px; position:relative; color:var(--ink-2);
    border-bottom:1px solid rgba(14,20,27,.06);
  }
  .school li:last-child{border-bottom:none}
  .school li::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--ok); position:absolute; left:0; top:13px}
  .school.featured li{color:#c5d2e0; border-bottom-color:rgba(255,255,255,.08)}
  .school.featured li::before{background:var(--gold-2)}
  .school .btn{width:100%; margin-top:auto}

  .decide{
    display:grid; grid-template-columns:1fr 1fr; gap:14px;
    margin-top:28px;
  }
  .decide-card{
    display:block; text-decoration:none; color:inherit;
    background:var(--surface); border:1px solid var(--line); border-radius:1px;
    padding:22px 20px; transition:transform .18s ease, box-shadow .18s ease;
  }
  .decide-card:hover{transform:translateY(-2px); box-shadow:0 14px 32px rgba(14,20,27,.08)}
  .decide-kicker{
    display:block; font-size:11px; font-weight:750; letter-spacing:.12em; text-transform:uppercase;
    color:var(--gold); margin-bottom:8px;
  }
  .decide-card strong{
    display:block; font-family:"Source Serif 4",Georgia,"Times New Roman",serif; font-size:1.35rem;
    color:var(--navy); margin-bottom:8px; letter-spacing:-.02em;
  }
  .decide-card span:last-child{display:block; font-size:14px; color:var(--ink-2); line-height:1.45}
  @media(max-width:720px){
    .decide{grid-template-columns:1fr}
  }

  .band{
    background:var(--navy); color:#c5d2e0; text-align:center; padding:64px 0;
  }
  .band h2{color:#fff; margin-bottom:12px}
  .band p{max-width:34rem; margin:0 auto 24px; color:#a8b8c9}
  .band .actions{justify-content:center}

  footer{
    background:#061018; color:#7a8a9c; font-size:13px; padding:28px 0;
  }
  footer .wrap{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap}
  footer a{color:#b0becd; text-decoration:none}
  footer a:hover{color:#fff}
  footer b{color:#fff; font-weight:650}

  .example,.hours{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px}
  .ex-card{background:var(--surface);border:1px solid var(--line);padding:20px 18px}
  .ex-card h3{font-size:14px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
  .ex-card p,.ex-card li{font-size:14.5px;color:var(--ink-2)}
  .ex-card ul{margin:8px 0 0 18px}
  .facts-line{font-size:13px;color:var(--muted);margin-top:14px}
  @media(max-width:900px){
    .split,.schools,.example,.hours{grid-template-columns:1fr}
    .nav a:not(.cta):not([href="features-by-tier.html"]):not([href="compare.html"]):not(.login){display:none}
  }

.g{border-bottom:1px dotted #7d97ab;cursor:help}
