:root {
    --navy: #082c50;
    --navy2: #123f69;
    --gold: #d5a64f;
    --gold-light: #f5dfac;
    --ink: #123b65;
    --cream: #faf6ed;
    --line: #d6e6f5;
  }
  * { box-sizing: border-box; }
  body {
    margin: 0;
    padding: 24px;
    background: #f8fafc;
    color: var(--ink);
    font-family: Arial, Helvetica, sans-serif;
  }
  .politico-page { max-width: 1200px; margin: 0 auto; }
  .hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 265px;
    padding: 35px 40px;
    border-radius: 12px;
    background:
      radial-gradient(circle at 78% 15%, #176092 0, transparent 28%),
      linear-gradient(112deg, #052543 0%, #0c355b 62%, #102e49 100%);
    color: white;
    display: flex;
    align-items: center;
    margin-bottom: 22px;
  }
  .hero::before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 43%;
    height: 150%;
    right: 1%;
    top: -24%;
    background:
      radial-gradient(circle at 55% 28%, #40baff55 0 2px, transparent 4px),
      radial-gradient(circle at 35% 45%, #40baff55 0 2px, transparent 4px),
      radial-gradient(circle at 75% 55%, #40baff55 0 2px, transparent 4px),
      linear-gradient(120deg, transparent 0 18%, #e9c36f 18% 21%, transparent 21% 100%);
    opacity: .95;
  }
  .hero::after {
    content: "AI";
    position: absolute;
    z-index: -1;
    right: 8%;
    top: 16%;
    width: 150px;
    height: 100px;
    border: 2px solid #51b9ff;
    border-radius: 16px;
    box-shadow: 0 0 24px #179eff66, inset 0 0 22px #179eff22;
    display: grid;
    place-items: center;
    color: #8bd5ff;
    font-size: 42px;
    font-weight: 700;
    text-shadow: 0 0 15px #159fff;
  }
  .hero-copy { max-width: 65%; }
  .eyebrow {
    color: #f0c86f;
    font-size: 13px;
    letter-spacing: 6px;
    font-weight: 800;
    margin-bottom: 16px;
  }
  .hero h1 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 6vw, 76px);
    line-height: 1.03;
    margin: 0;
    letter-spacing: -1.5px;
    color: #fff;
  }
  .hero h1 span { color: #f2cf82; }
  .gold-rule { width: 66px; height: 3px; background: var(--gold); margin: 22px 0 16px; }
  .hero p { margin: 0; color: #f1f5fa; font-size: 16px; line-height: 1.6; }
  .about {
    display: grid;
    grid-template-columns: 150px 3px 1fr;
    align-items: center;
    gap: 28px;
    padding: 24px 28px;
    background: linear-gradient(110deg, #faf6ee, #fffdfa);
    border: 1px solid #f0e7d8;
    border-radius: 12px;
    margin-bottom: 28px;
  }
  .about-icon {
    width: 128px; height: 128px; border-radius: 50%;
    background: #f6e9c9; display: grid; place-items: center;
    color: var(--navy);
  }
  .about-icon svg { width: 76px; height: 76px; }
  .about-divider { width: 2px; height: 100%; min-height: 130px; background: #b8872f; }
  .about h2 {
    font: italic 700 clamp(28px, 3.3vw, 40px)/1.15 Georgia, "Times New Roman", serif;
    color: var(--ink); margin: 0 0 8px;
  }
  .about p { font-size: 17px; line-height: 1.65; margin: 0; color: #16436f; }
  .section-heading { text-align: center; margin: 28px 0 16px; }
  .section-heading .label {
    display: flex; align-items: center; justify-content: center; gap: 20px;
    color: #ad7a23; font-weight: 800; letter-spacing: 3px; font-size: 13px;
  }
  .section-heading .label::before, .section-heading .label::after {
    content: ""; height: 1px; width: min(22vw, 200px); background: var(--gold);
  }
  .section-heading h2 {
    font: 700 clamp(30px, 4vw, 42px)/1.15 Georgia, "Times New Roman", serif;
    margin: 8px 0 0; color: var(--navy);
  }
  .policy-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .policy-card {
    border: 1.5px solid var(--line);
    border-radius: 12px;
    padding: 21px 20px 24px;
    background: linear-gradient(135deg, #fff, #f7fbff);
    box-shadow: 0 2px 0 #eaf2fa;
    transition: transform .2s ease, box-shadow .2s ease;
  }
  .policy-card:hover { transform: translateY(-3px); box-shadow: 0 10px 25px #0b2d5012; }
  .card-heading { display: flex; align-items: center; gap: 18px; margin-bottom: 16px; }
  .number {
    flex: 0 0 54px; width: 54px; height: 54px; border-radius: 50%;
    display: grid; place-items: center; color: white; background: var(--navy);
    font: 700 30px Georgia, "Times New Roman", serif;
    box-shadow: inset -5px -4px 0 #ffffff0d;
  }
  .card-heading h3 {
    font: 700 clamp(19px, 2.3vw, 25px)/1.2 Georgia, "Times New Roman", serif;
    color: var(--ink); margin: 0;
  }
  .card-body { display: grid; grid-template-columns: 100px 1fr; gap: 16px; align-items: center; }
  .card-icon {
    width: 92px; height: 92px; border-radius: 50%; background: #f8eed7;
    display: grid; place-items: center; color: var(--navy);
  }
  .card-icon svg { width: 54px; height: 54px; }
  .card-body p { font-size: 16px; line-height: 1.75; margin: 0; color: #16436f; }
  .exemptions {
    margin-top: 20px;
    padding: 22px;
    border: 1px solid #efe2c8;
    border-radius: 12px;
    background: linear-gradient(110deg, #faf5eb, #fffdf8);
  }
  .exemptions-head { display: flex; align-items: center; gap: 20px; margin-bottom: 18px; }
  .exemptions-icon {
    width: 88px; height: 88px; flex: 0 0 88px; border-radius: 50%;
    display: grid; place-items: center; color: #fff8e7;
    background: linear-gradient(145deg, #c0923e, #91641c);
  }
  .exemptions-icon svg { width: 48px; height: 48px; }
  .exemptions-title { border-left: 3px solid #bd8a2d; padding-left: 20px; }
  .exemptions h2 { font: 700 34px/1.2 Georgia, "Times New Roman", serif; margin: 0 0 8px; color: var(--ink); }
  .exemptions-title p { margin: 0; font-size: 16px; line-height: 1.6; }
  .exemption-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .exemption-item {
    display: grid; grid-template-columns: 38px 1fr; gap: 13px; align-items: start;
    padding: 17px; border: 1px solid #ead7ad; border-radius: 10px; background: #fbf2df;
  }
  .check {
    width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%;
    color: white; background: #b38331; font-size: 21px; font-weight: 700;
  }
  .exemption-item p { margin: 0; font-size: 15px; line-height: 1.7; color: #16436f; }
  .footer {
    margin-top: 20px; padding: 22px 32px; min-height: 112px;
    border-radius: 11px; background: linear-gradient(110deg, #052543, #0b355c);
    display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; color: white;
  }
  .footer-line { height: 2px; background: var(--gold); }
  .footer-brand { text-align: center; }
  .footer-brand strong { display: block; color: #f0c86f; font: 700 23px Georgia, "Times New Roman", serif; letter-spacing: 4px; }
  .footer-brand span { display: block; margin-top: 8px; font: 12px Georgia, "Times New Roman", serif; letter-spacing: 2px; }
  .footer-book { justify-self: end; width: 62px; color: #e9bd58; }
  .footer-book svg { width: 62px; height: 50px; }
  @media (max-width: 760px) {
    body { padding: 14px; }
    .hero { min-height: 245px; padding: 30px 25px; }
    .hero-copy { max-width: 78%; }
    .hero::after { right: 5%; width: 90px; height: 70px; font-size: 30px; }
    .hero::before { width: 35%; right: -5%; }
    .about { grid-template-columns: 90px 2px 1fr; gap: 17px; padding: 20px; }
    .about-icon { width: 82px; height: 82px; }
    .about-icon svg { width: 53px; height: 53px; }
    .about p { font-size: 15px; }
    .policy-grid { gap: 12px; }
    .policy-card { padding: 16px 14px; }
    .card-heading { gap: 10px; }
    .number { flex-basis: 44px; width: 44px; height: 44px; font-size: 24px; }
    .card-body { grid-template-columns: 1fr; }
    .card-icon { width: 65px; height: 65px; }
    .card-icon svg { width: 39px; height: 39px; }
    .card-body p { font-size: 14px; }
    .footer { grid-template-columns: 1fr auto 1fr; padding: 20px; }
  }
  @media (max-width: 520px) {
    .hero { min-height: 220px; padding: 26px 20px; }
    .hero-copy { max-width: 100%; }
    .hero h1 { font-size: 43px; max-width: 330px; }
    .hero::after { right: -20px; top: auto; bottom: 8px; opacity: .25; }
    .hero::before { opacity: .45; }
    .eyebrow { font-size: 10px; letter-spacing: 4px; }
    .hero p { max-width: 280px; font-size: 14px; }
    .about { grid-template-columns: 1fr; text-align: left; gap: 14px; }
    .about-icon { width: 70px; height: 70px; }
    .about-divider { width: 60px; height: 3px; min-height: 0; }
    .about h2 { font-size: 29px; }
    .section-heading .label { letter-spacing: 1.5px; gap: 9px; font-size: 10px; }
    .section-heading .label::before, .section-heading .label::after { width: 28px; }
    .policy-grid, .exemption-grid { grid-template-columns: 1fr; }
    .card-body { grid-template-columns: 72px 1fr; gap: 12px; }
    .card-icon { width: 68px; height: 68px; }
    .card-body p { font-size: 14px; }
    .exemptions { padding: 17px; }
    .exemptions-head { align-items: flex-start; gap: 13px; }
    .exemptions-icon { width: 58px; height: 58px; flex-basis: 58px; }
    .exemptions-icon svg { width: 34px; height: 34px; }
    .exemptions-title { padding-left: 13px; }
    .exemptions h2 { font-size: 27px; }
    .exemptions-title p { font-size: 14px; }
    .footer { grid-template-columns: 1fr; text-align: center; gap: 13px; }
    .footer-line { display: none; }
    .footer-book { justify-self: center; }
  }
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition: none !important; }
  }

/* Shared POLITICO site header and footer */
.politico-site-header,.politico-site-footer{font-family:Arial,Helvetica,sans-serif;box-sizing:border-box}
.politico-site-header *,.politico-site-footer *{box-sizing:border-box}
.politico-site-header{position:relative;z-index:20;width:100%;margin:0 auto 22px;background:#062b4e;color:#fff;border-radius:12px;box-shadow:0 8px 24px rgba(6,43,78,.12)}
.politico-header-top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 26px;border-bottom:1px solid rgba(226,190,112,.28)}
.politico-site-brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:#fff;min-width:0}
.politico-brand-mark{display:grid;place-items:center;width:45px;height:45px;flex:0 0 45px;border:1.5px solid #e0b65e;border-radius:50%;color:#f6d78e;font:italic 25px Georgia,serif}
.politico-brand-text strong{display:block;color:#f6d78e;font:700 22px Georgia,'Times New Roman',serif;letter-spacing:4px}
.politico-brand-text span{display:block;margin-top:4px;color:#eaf0f6;font-size:10px;letter-spacing:1.5px;text-transform:uppercase}
.politico-header-tagline{color:#e5edf5;font-size:12px;letter-spacing:.7px;text-align:right}
.politico-nav{display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;padding:10px 14px}
.politico-nav a{display:inline-block;padding:9px 12px;border-radius:6px;color:#f5f7fa;text-decoration:none;font-size:12px;font-weight:700;transition:background .2s,color .2s}
.politico-nav a:hover,.politico-nav a:focus-visible{background:#d8aa4f;color:#062b4e;outline:none}
.politico-site-footer{margin:24px auto 0;overflow:hidden;border-radius:12px;background:linear-gradient(110deg,#052543,#07365d);color:#fff}
.politico-footer-main{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;padding:25px 28px 20px}
.politico-footer-line{height:2px;background:#d8aa4f}
.politico-footer-center{text-align:center}
.politico-footer-center strong{display:block;color:#f6d78e;font:700 22px Georgia,'Times New Roman',serif;letter-spacing:5px}
.politico-footer-center span{display:block;margin-top:7px;font:11px Georgia,serif;letter-spacing:2px}
.politico-footer-bottom{padding:12px 18px;border-top:1px solid rgba(216,170,79,.35);text-align:center;color:#dbe5ef;font-size:11px;line-height:1.7}
.politico-footer-bottom a{color:#f6d78e;text-decoration:none}
.politico-footer-bottom a:hover{text-decoration:underline}
@media(max-width:700px){.politico-header-top{padding:15px 17px}.politico-header-tagline{display:none}.politico-nav{justify-content:flex-start;padding:8px;gap:2px}.politico-nav a{font-size:11px;padding:8px}.politico-footer-main{grid-template-columns:1fr;text-align:center;gap:12px;padding:22px 18px}.politico-footer-line{display:none}.politico-brand-text strong{font-size:19px}.politico-brand-text span{font-size:9px}}



/* Unified, responsive POLITICO header */
.politico-site-header{width:100%;margin:0 auto 24px;background:#062b4e;color:#fff;border-radius:0 0 12px 12px;box-shadow:0 8px 24px rgba(6,43,78,.12);position:relative;z-index:100;font-family:Arial,Helvetica,sans-serif}
.politico-site-header *{box-sizing:border-box}
.politico-header-top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px clamp(16px,3vw,32px);border-bottom:1px solid rgba(226,190,112,.28)}
.politico-site-brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:#fff;min-width:0}
.politico-brand-mark{display:grid;place-items:center;width:45px;height:45px;flex:0 0 45px;border:1.5px solid #e0b65e;border-radius:50%;color:#f6d78e;font:italic 25px Georgia,serif}
.politico-brand-text strong{display:block;color:#f6d78e;font:700 22px Georgia,'Times New Roman',serif;letter-spacing:4px}
.politico-brand-text span{display:block;margin-top:4px;color:#eaf0f6;font-size:10px;letter-spacing:1.2px;text-transform:uppercase}
.politico-submit-link{display:inline-block;padding:10px 16px;border:1px solid #d8aa4f;border-radius:5px;background:#d8aa4f;color:#062b4e;text-decoration:none;font-size:12px;font-weight:700;white-space:nowrap}
.politico-submit-link:hover{background:#f0d18a}
.politico-nav{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap;padding:10px 14px}
.politico-nav a{display:inline-block;padding:9px 10px;border-radius:5px;color:#f5f7fa;text-decoration:none;font-size:12px;font-weight:700;line-height:1.4;transition:background .2s,color .2s}
.politico-nav a:hover,.politico-nav a:focus-visible{background:#d8aa4f;color:#062b4e;outline:none}
.politico-menu-toggle{display:none}
@media(max-width:850px){
 .politico-header-top{flex-wrap:wrap}
 .politico-menu-toggle{display:flex;align-items:center;gap:8px;margin-left:auto;padding:10px 12px;background:transparent;border:1px solid rgba(246,215,142,.7);border-radius:5px;color:#fff;font-size:13px;font-weight:700;cursor:pointer}
 .politico-menu-icon,.politico-menu-icon:before,.politico-menu-icon:after{display:block;width:18px;height:2px;background:#f6d78e;position:relative;content:""}
 .politico-menu-icon:before{position:absolute;top:-6px}.politico-menu-icon:after{position:absolute;top:6px}
 .politico-nav{display:none;align-items:stretch;flex-direction:column;flex-wrap:nowrap;padding:8px 14px 14px}
 .politico-site-header.is-menu-open .politico-nav{display:flex}
 .politico-nav a{padding:11px 12px;font-size:13px;border-bottom:1px solid rgba(255,255,255,.09)}
 .politico-submit-link{margin-left:auto}
}
@media(max-width:480px){
 .politico-header-top{gap:10px;padding:14px}
 .politico-brand-mark{width:38px;height:38px;flex-basis:38px;font-size:21px}
 .politico-brand-text strong{font-size:19px;letter-spacing:3px}
 .politico-brand-text span{max-width:210px;font-size:8px;letter-spacing:.7px;line-height:1.5}
 .politico-submit-link{order:3;width:100%;text-align:center;margin:0}
 .politico-menu-toggle{padding:9px}
}
