:root{
      --ink:#0b1220;
      --muted:#526071;
      --hair:rgba(15,23,42,.12);
      --wash:#f6f8fb;

      --navy:#0b2a4a;
      --navy2:#0a3a6b;
      --teal:#0b7663;
      --link:var(--navy2);

      --max:1140px;
      --radius:14px;

      --shadow:0 16px 40px rgba(2, 6, 23, .08);
      --shadow2:0 10px 22px rgba(2, 6, 23, .06);

      --sans:"Inter", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
      --serif:"Libre Baskerville", ui-serif, Georgia, "Times New Roman", Times, serif;
      --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;

      --focus: rgba(11,58,107,.25);
    }

    *{ box-sizing:border-box; }
    html,body{ height:100%; }
    body{
      margin:0;
      color:var(--ink);
      font-family:var(--serif);
      background:
        radial-gradient(1200px 500px at 20% -10%, rgba(11,58,107,.10), transparent 60%),
        radial-gradient(900px 380px at 90% 0%, rgba(11,118,99,.10), transparent 55%),
        linear-gradient(180deg, var(--wash) 0%, #fff 40%);
    }

    a{ color:var(--link); text-decoration:none; }
    a:hover{ text-decoration:underline; }

    .wrap{ max-width:var(--max); margin:0 auto; padding:0 22px; }

    .skip{
      position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;
    }
    .skip:focus{
      left:16px; top:16px; width:auto; height:auto; padding:10px 12px;
      background:#fff; border:1px solid var(--hair); border-radius:10px; z-index:9999;
      outline: 3px solid var(--focus);
    }

    /* Top navigation (matches other pages) */
    .topbar{
      position:sticky;
      top:0;
      z-index:50;
      border-bottom:1px solid var(--hair);
      background:rgba(255,255,255,.78);
      backdrop-filter:saturate(180%) blur(14px);
    }
    header{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      padding:14px 0;
    }
    .logo{
      display:flex; align-items:center; gap:14px;
      min-width:240px;
    }
    .logo img{ height:48px; width:auto; display:block; }
    .brand-sub{
      font-family:var(--sans);
      font-size:12px;
      color:var(--muted);
      letter-spacing:.02em;
      line-height:1.2;
      margin-top:2px;
    }
    .brand-stack{
      display:flex;
      flex-direction:column;
      gap:2px;
    }
    .brand-stack b{
      font-family:var(--sans);
      font-weight:700;
      letter-spacing:.06em;
      font-size:12px;
      text-transform:uppercase;
      color:rgba(2,6,23,.65);
    }
    nav{
      display:flex;
      align-items:center;
      gap:10px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }
    nav a{
      font-family:var(--sans);
      font-size:13px;
      color:rgba(2,6,23,.82);
      padding:8px 10px;
      border-radius:12px;
      transition: background .15s ease, transform .15s ease;
    }
    nav a:hover{
      background:rgba(2,6,23,.04);
      text-decoration:none;
    }
    .nav-cta a{
      border:1px solid var(--hair);
      background:#fff;
    }
    .nav-cta a:hover{ background:rgba(11,58,107,.06); }

    /* Layout */
    main{ padding:18px 0 28px; }

    .breadcrumbs{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      align-items:center;
      font-family:var(--sans);
      font-size:12px;
      color:rgba(2,6,23,.62);
      margin:10px 0 12px;
    }
    .breadcrumbs a{ color:rgba(2,6,23,.70); }
    .sep{ opacity:.55; }

    .page-head{
      padding:10px 0 14px;
    }
    .kicker{
      font-family:var(--sans);
      font-size:12px;
      color:rgba(2,6,23,.62);
      letter-spacing:.12em;
      text-transform:uppercase;
      margin:0 0 10px;
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      align-items:center;
    }
    .pill{
      font-family:var(--sans);
      font-size:11px;
      letter-spacing:.10em;
      text-transform:uppercase;
      padding:7px 10px;
      border-radius:999px;
      border:1px solid var(--hair);
      background:rgba(255,255,255,.7);
    }
    h1{
      font-family:var(--sans);
      font-weight:800;
      font-size:38px;
      line-height:1.12;
      letter-spacing:-0.02em;
      margin:0 0 10px;
      color:#081021;
    }
    .dek{
      margin:0;
      color:var(--muted);
      font-size:17px;
      line-height:1.75;
      max-width:78ch;
    }

    .grid{
      display:grid;
      grid-template-columns: 1fr 320px;
      gap:18px;
      align-items:start;
      margin-top:14px;
    }

    .panel{
      background:rgba(255,255,255,.82);
      border:1px solid var(--hair);
      border-radius:var(--radius);
      box-shadow:var(--shadow2);
      overflow:hidden;
    }
    .panel h3{
      font-family:var(--sans);
      margin:0;
      padding:14px 16px 0;
      font-size:12px;
      letter-spacing:.12em;
      text-transform:uppercase;
      color:rgba(2,6,23,.78);
    }
    .panel .inner{
      padding:12px 16px 16px;
      color:var(--muted);
      font-size:13.5px;
      line-height:1.65;
    }

    article{
      background:rgba(255,255,255,.86);
      border:1px solid var(--hair);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      padding:22px;
    }

    article h2{
      font-family:var(--sans);
      font-size:18px;
      font-weight:800;
      letter-spacing:-0.01em;
      margin:26px 0 10px;
      color:#071022;
    }
    article h3{
      font-family:var(--sans);
      font-size:15px;
      font-weight:800;
      margin:22px 0 8px;
      color:#071022;
    }
    article p{
      margin:0 0 14px;
      font-size:15.5px;
      line-height:1.9;
      color:rgba(11,18,32,.92);
    }
    article ul{
      margin:0 0 14px 22px;
      padding:0;
      color:rgba(11,18,32,.92);
      font-size:15.5px;
      line-height:1.85;
    }
    article li{ margin:6px 0; }

    .callout{
      border:1px solid var(--hair);
      border-radius:var(--radius);
      padding:14px 14px;
      background:rgba(255,255,255,.86);
      box-shadow:var(--shadow2);
      margin:14px 0 0;
    }
    .callout b{
      font-family:var(--sans);
      display:block;
      margin-bottom:6px;
      color:#071022;
      letter-spacing:-0.01em;
    }
    .callout p{
      margin:0;
      font-size:13.5px;
      line-height:1.65;
      color:var(--muted);
    }

    /* Sidebar "page nav" */
    .sidenav{
      position:sticky;
      top:84px;
    }
    .sidenav ul{
      list-style:none;
      margin:10px 0 0;
      padding:0;
      display:grid;
      gap:8px;
    }
    .sidenav li{
      border:1px solid rgba(15,23,42,.10);
      background:rgba(255,255,255,.86);
      border-radius:12px;
      padding:10px 10px;
      box-shadow:0 1px 0 rgba(2,6,23,.02);
    }
    .sidenav a{
      font-family:var(--sans);
      color:rgba(2,6,23,.82);
      text-decoration:none;
    }
    .sidenav a:hover{ text-decoration:underline; }
    .sidenav small{
      display:block;
      font-family:var(--sans);
      color:rgba(2,6,23,.62);
      font-size:12px;
      margin-top:8px;
      line-height:1.6;
    }

    /* Footer */
    footer{
      padding:26px 0 34px;
      border-top:1px solid var(--hair);
      background:rgba(255,255,255,.86);
      margin-top:10px;
      backdrop-filter:saturate(180%) blur(10px);
    }
    .footgrid{
      display:grid;
      grid-template-columns: 1.2fr .8fr;
      gap:18px;
      align-items:start;
    }
    .small{
      margin:8px 0 0;
      color:var(--muted);
      font-size:12.5px;
      line-height:1.7;
    }
    .footlinks{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      justify-content:flex-end;
      align-items:center;
    }
    .footlinks a{
      font-family:var(--sans);
      font-size:13px;
      color:rgba(2,6,23,.78);
      padding:8px 10px;
      border-radius:10px;
    }
    .footlinks a:hover{ background:rgba(2,6,23,.04); text-decoration:none; }

    a:focus, button:focus{
      outline:3px solid var(--focus);
      outline-offset:2px;
      border-radius:12px;
    }

    @media (max-width: 980px){
      header{ align-items:flex-start; }
      .logo img{ height:40px; }
      .grid{ grid-template-columns:1fr; }
      .sidenav{ position:static; }
      h1{ font-size:32px; }
    }