@import url('forms.css');

:root{--adw-maxw:1180px}
body{padding-bottom:0}
.adw-wrap{max-width:var(--adw-maxw);margin:0 auto;padding:0 22px}
.adw-section{padding:clamp(48px,7vw,88px) 0}
.adw-eyebrow{display:inline-block;font-size:12px;letter-spacing:2px;font-weight:800;text-transform:uppercase;color:var(--ad-green-deep);background:var(--ad-gold-soft);padding:6px 15px;border-radius:999px;margin-bottom:16px}
.adw-h2{font-size:clamp(28px,4.4vw,42px);font-weight:900;letter-spacing:-1px;margin:0 0 14px;line-height:1.05}
.adw-lead,.adw-welcome .letter>p:first-of-type{font-size:clamp(16px,2.2vw,19px);color:var(--ad-ink-soft);max-width:62ch;line-height:1.65}
.adw-mk{background:linear-gradient(180deg,transparent 60%,var(--ad-gold) 60%);padding:0 .12em;border-radius:3px}

/* ===== header ===== */
.adw-header{position:sticky;top:0;z-index:70;background:rgba(253,251,244,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--ad-border)}
.adw-nav{display:flex;align-items:center;gap:18px;max-width:var(--adw-maxw);margin:0 auto;padding:12px 22px}
.adw-nav-logo img{height:38px;width:auto;display:block}
.adw-nav-links{margin-left:auto;display:flex;align-items:center;gap:6px}
.adw-nav-links a{font-size:14.5px;font-weight:700;color:#fff;text-decoration:none;padding:9px 12px;border-radius:10px;transition:background .15s,color .15s}
.adw-nav-links a:hover{background:#fff;color:var(--ad-green-deep)}
.adw-nav-links a.is-active{color:var(--ad-green-deep);background:#fff}
.adw-nav-join{background:var(--ad-gold)!important;color:var(--ad-ink)!important;font-weight:800!important;padding:10px 20px!important;border-radius:999px!important}
.adw-nav-join:hover{background:var(--ad-gold-deep)!important}
.adw-nav-toggle{display:none;margin-left:auto;align-items:center;justify-content:center;border:0;background:transparent;border-radius:11px;width:44px;height:44px;cursor:pointer;color:var(--ad-ink);padding:0}.adw-nav-toggle:hover{background:rgba(20,60,52,.08)}.adw-burger,.adw-burger::before,.adw-burger::after{display:block;width:22px;height:2.5px;background:currentColor;border-radius:3px;transition:transform .26s ease,opacity .2s}.adw-burger{position:relative}.adw-burger::before{content:"";position:absolute;left:0;top:-7px}.adw-burger::after{content:"";position:absolute;left:0;top:7px}.adw-nav-toggle[aria-expanded="true"]{background:rgba(20,60,52,.08)}.adw-nav-toggle[aria-expanded="true"] .adw-burger{background:transparent}.adw-nav-toggle[aria-expanded="true"] .adw-burger::before{transform:translateY(7px) rotate(45deg)}.adw-nav-toggle[aria-expanded="true"] .adw-burger::after{transform:translateY(-7px) rotate(-45deg)}
@media(max-width:920px){
  .adw-nav-toggle{display:inline-flex}
  .adw-nav-links{position:fixed;inset:66px 10px auto 10px;flex-direction:column;align-items:stretch;background:#fff;border:1px solid #e6efea;border-radius:18px;box-shadow:0 26px 64px -22px rgba(20,60,52,.5);padding:10px;gap:3px;margin:0;transform:translateY(-12px) scale(.98);transform-origin:top right;opacity:0;visibility:hidden;transition:transform .26s cubic-bezier(.2,1,.3,1),opacity .2s,visibility .26s;max-height:86vh;overflow:auto}
  .adw-nav-links.open{transform:none;opacity:1;visibility:visible}
  .adw-nav-links a{padding:14px 16px;font-size:16px;border-radius:12px;color:var(--ad-ink)}.adw-nav-links a:hover{background:#eafaf5}.adw-nav-links .adw-nav-join,.adw-nav-links .adw-nav-donate{margin-top:6px;justify-content:center}
  .adw-nav-join{text-align:center;margin-top:6px}
}

/* ===== social rail ===== */
.adw-rail{position:fixed;left:14px;top:50%;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;gap:12px}
.adw-rail a{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#fff;border:1px solid var(--ad-border);box-shadow:var(--ad-shadow-soft);color:var(--ad-green-deep);transition:transform .15s,background .15s,color .15s}
.adw-rail a:hover{transform:translateY(-2px);background:var(--ad-green);color:#fff}
.adw-rail svg{width:18px;height:18px;fill:currentColor}
@media(max-width:1280px){.adw-rail{display:none}}

/* ===== hero ===== */
.adw-hero{position:relative;overflow:hidden;color:#fff;text-align:center;padding:clamp(56px,10vw,120px) 0 clamp(70px,9vw,110px)}
.adw-hero-img{position:absolute;inset:0;z-index:0}
.adw-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(160deg,rgba(46,183,162,.82),rgba(31,135,122,.86) 55%,rgba(21,101,90,.92));mix-blend-mode:multiply}
.adw-hero>.adw-wrap{position:relative;z-index:2}
.adw-hero .wordmark{font-size:clamp(40px,9vw,104px);font-weight:900;letter-spacing:-2px;line-height:.92;margin:0;text-transform:uppercase}
.adw-hero .wordmark b{color:var(--ad-gold)}
.adw-hero .tagline{font-size:clamp(26px,5vw,52px);font-weight:900;letter-spacing:-1px;margin:18px 0 0}
.adw-hero .tagline em{font-style:italic;color:var(--ad-gold)}
.adw-hero .cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.adw-btn{display:inline-flex;align-items:center;gap:9px;font-weight:800;border-radius:999px;padding:15px 30px;text-decoration:none;cursor:pointer;border:0;font-family:inherit;font-size:16px;transition:transform .12s,background .2s,box-shadow .2s}
.adw-btn:active{transform:translateY(1px)}
.adw-btn-gold{background:var(--ad-gold);color:var(--ad-ink);box-shadow:0 14px 30px -12px rgba(252,214,102,.7)}
.adw-btn-gold:hover{background:var(--ad-gold-deep)}
.adw-btn-out{background:transparent;color:#1f877a;border:2px solid #29a895}.adw-btn-out:hover{background:#29a895;color:#fff}
.adw-cta .adw-btn-out,.adw-realdeal .adw-btn-out,.adw-takeaction .adw-btn-out{color:#fff;border-color:rgba(255,255,255,.72)}
.adw-cta .adw-btn-out:hover,.adw-realdeal .adw-btn-out:hover,.adw-takeaction .adw-btn-out:hover{background:#fff;color:#1d2a28}.adw-pagehero .adw-btn-out,.adw-hero .adw-btn-out,.adw-hero-cta .adw-btn-out,.adw-cta-band .adw-btn-out,.adw-footer .adw-btn-out{color:#fff;border-color:rgba(255,255,255,.72)}.adw-pagehero .adw-btn-out:hover,.adw-hero .adw-btn-out:hover,.adw-hero-cta .adw-btn-out:hover,.adw-cta-band .adw-btn-out:hover,.adw-footer .adw-btn-out:hover{background:#fff;color:#1d2a28}
.adw-btn-out:hover{background:#fff;color:var(--ad-green-deep)}
.adw-btn-green{background:var(--ad-green);color:#fff}
.adw-btn-green:hover{background:var(--ad-green-d)}

/* ===== image placeholder ===== */
.adw-imgph{position:relative;display:block;width:100%;background:#ffd6e7;border:2px dashed #e35d8a;border-radius:16px;overflow:hidden;background-size:cover;background-position:center}
.adw-imgph .adw-imgph-tag{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;color:#c2185b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:700;padding:10px}
.adw-imgph .adw-imgph-tag small{font-weight:600;opacity:.8;font-size:11px}
.adw-imgph.is-loaded{border-style:solid;border-color:transparent;background-color:#0d1714}
.adw-imgph.is-loaded .adw-imgph-tag{display:none}

/* ===== generic cards / grids ===== */
.adw-grid{display:grid;gap:20px}
.adw-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.adw-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.adw-card{background:var(--ad-card);border:1px solid var(--ad-border);border-radius:18px;overflow:hidden;box-shadow:var(--ad-shadow-soft);transition:transform .18s,box-shadow .18s;text-decoration:none;color:inherit;display:flex;flex-direction:column}
.adw-card:hover{transform:translateY(-3px);box-shadow:var(--ad-shadow-card)}
.adw-card .body{padding:18px 20px 22px}
.adw-card h3{margin:0 0 6px;font-size:19px;font-weight:800}
.adw-card p{margin:0;font-size:14px;color:var(--ad-ink-soft);line-height:1.6}
.adw-card .meta{font-size:12px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--ad-green-deep);margin-bottom:6px}
.adw-chip{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.5px;background:var(--ad-green);color:#fff;padding:3px 10px;border-radius:999px;text-transform:uppercase}

/* split (image + text) */
.adw-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,56px);align-items:center}
.adw-split .adw-imgph{aspect-ratio:4/5;border-radius:22px}
.adw-quote{font-family:var(--ad-font-quote);font-size:21px;line-height:1.55;border-left:4px solid var(--ad-gold);padding-left:18px;color:var(--ad-ink)}

/* stat strip */
.adw-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center}
.adw-stats .n{font-size:clamp(30px,5vw,46px);font-weight:900;color:var(--ad-green-deep);letter-spacing:-1px}
.adw-stats .l{font-size:13px;color:var(--ad-ink-soft);font-weight:600}

/* CTA band */
.adw-cta{background:var(--ad-grad-brand);color:#fff;text-align:center;border-radius:28px;padding:clamp(34px,6vw,64px) 24px;margin:clamp(40px,6vw,72px) 0}
.adw-cta h2{font-size:clamp(26px,4.5vw,40px);font-weight:900;margin:0 0 10px}
.adw-cta p{opacity:.92;max-width:50ch;margin:0 auto 22px}

/* article / post reading layout */
.adw-article{max-width:760px;margin:0 auto;padding:clamp(28px,5vw,52px) 22px}
.adw-article h1{font-size:clamp(30px,5vw,48px);font-weight:900;letter-spacing:-1px;line-height:1.06;margin:14px 0 10px}
.adw-article .byline{font-size:13px;font-weight:700;color:var(--ad-ink-muted);text-transform:uppercase;letter-spacing:1px}
.adw-article .adw-imgph{aspect-ratio:16/9;margin:22px 0}
.adw-prose{font-size:17px;line-height:1.75;color:var(--ad-ink)}
.adw-prose p{margin:0 0 18px}
.adw-prose h2{font-size:26px;font-weight:800;margin:34px 0 10px}
.adw-prose h3{font-size:20px;font-weight:800;margin:26px 0 8px}
.adw-prose blockquote{font-family:var(--ad-font-quote);border-left:4px solid var(--ad-gold);padding:6px 0 6px 20px;margin:22px 0;font-size:20px;color:var(--ad-ink-soft)}
.adw-prose mark{background:var(--ad-gold);padding:0 .15em;border-radius:3px}
.adw-prose ul,.adw-prose ol{padding-left:22px;margin:0 0 18px}
.adw-prose li{margin:6px 0}
.adw-prose img,.adw-prose .adw-imgph{border-radius:14px;margin:18px 0}
.adw-prose a{color:var(--ad-green-deep);font-weight:600}
/* Policy area intro block — sits below the hero, above the platform cards. */
.adw-area-intro{padding-top:clamp(34px,5vw,56px);padding-bottom:0}
.adw-area-intro .adw-wrap{max-width:760px}
.adw-area-intro-prose{font-size:clamp(17px,2.1vw,19px);line-height:1.7;color:var(--ad-ink)}
.adw-area-intro-prose p{margin:0 0 16px}
.adw-area-intro-prose p:first-child{font-size:clamp(19px,2.6vw,22px);font-weight:600;color:var(--ad-ink);line-height:1.5}
.adw-area-intro-prose p:last-child{margin-bottom:0}
/* Pull-quote attribution: <cite> in source HTML, or the markdown '\u2014 Name' line we generate. */
.adw-prose blockquote cite{display:block;margin-top:8px;font-family:var(--ad-font-display,inherit);font-style:normal;font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--ad-green-deep)}
.adw-prose blockquote p{margin:0 0 6px}
.adw-prose blockquote p:last-child{margin-bottom:0;font-size:14px;font-weight:700;letter-spacing:.02em;color:var(--ad-green-deep)}
.adw-prose blockquote p:only-child{font-size:inherit;font-weight:inherit;letter-spacing:normal;color:var(--ad-ink-soft)}


/* footer */
.adw-footer{background:var(--ad-grad-brand);color:rgba(255,255,255,.92);margin-top:60px}
.adw-foot{max-width:var(--adw-maxw);margin:0 auto;padding:clamp(40px,6vw,64px) 22px 26px}
.adw-foot-top{display:grid;grid-template-columns:1.2fr 2fr;gap:36px}
.adw-foot-brand .wm{height:30px;margin-bottom:14px}
.adw-foot-brand p{font-size:14px;opacity:.85;max-width:34ch}
.adw-foot-social{display:flex;gap:10px;margin-top:16px}
.adw-foot-social a{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;transition:background .15s}
.adw-foot-social a:hover{background:var(--ad-gold);color:var(--ad-ink)}
.adw-foot-social svg{width:18px;height:18px;fill:currentColor}
.adw-foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.adw-foot-cols h4{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 12px;color:var(--ad-gold)}
.adw-foot-cols a{display:block;color:rgba(255,255,255,.9);text-decoration:none;font-size:14.5px;padding:5px 0}
.adw-foot-cols a:hover{color:#fff;text-decoration:underline}
.adw-foot-ack{border-top:1px solid rgba(255,255,255,.18);margin-top:28px;padding-top:20px;font-size:13px;opacity:.85;line-height:1.6}
.adw-foot-auth{font-size:12.5px;opacity:.8;margin-top:12px;font-weight:600}

@media(max-width:860px){
  .adw-grid.cols-3,.adw-grid.cols-2{grid-template-columns:1fr}
  .adw-split{grid-template-columns:1fr}
  .adw-stats{grid-template-columns:1fr 1fr}
  .adw-foot-top{grid-template-columns:1fr}
  .adw-foot-cols{grid-template-columns:1fr 1fr}
}

.adw-banner{background:var(--ad-grad-brand);color:#fff;padding:clamp(40px,7vw,76px) 0 clamp(36px,6vw,56px)}
.adw-banner .adw-eyebrow{background:rgba(255,255,255,.18);color:#fff}
.adw-banner h1{font-size:clamp(32px,6vw,56px);font-weight:900;letter-spacing:-1.5px;margin:0;line-height:1.04}
.adw-banner h1 em{font-style:italic;color:var(--ad-gold)}
.adw-banner p{opacity:.93;max-width:62ch;margin:14px 0 0;font-size:clamp(16px,2.3vw,19px);line-height:1.6}
.adw-person .ph{aspect-ratio:1/1;border-radius:18px}
.adw-person .role{font-size:13px;font-weight:800;color:var(--ad-green-deep);text-transform:uppercase;letter-spacing:.5px}
.adw-values{display:grid;gap:16px}
.adw-value{display:flex;gap:16px;background:var(--ad-card);border:1px solid var(--ad-border);border-radius:16px;padding:20px}
.adw-value .num{flex:none;font-size:26px;font-weight:900;color:var(--ad-gold-deep);width:46px}
.adw-value h3{margin:0 0 4px;font-size:18px}
.adw-value p{margin:0;color:var(--ad-ink-soft);font-size:14.5px;line-height:1.6}

.adw-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.adw-filters button{border:1.5px solid var(--ad-border);background:#fff;border-radius:999px;padding:9px 16px;font-family:inherit;font-weight:700;font-size:14px;cursor:pointer;color:var(--ad-ink-soft)}
.adw-filters button[aria-pressed=true]{background:var(--ad-green);border-color:var(--ad-green);color:#fff}
.adw-hub{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.adw-hub .adw-card{padding:30px 26px;text-align:center}
.adw-hub .ic{font-size:40px}
.adw-hub h3{font-size:22px;margin:12px 0 8px}
@media(max-width:860px){.adw-hub{grid-template-columns:1fr}}

.adw-track{background:var(--ad-card);border:1px solid var(--ad-border);border-radius:18px;padding:24px;box-shadow:var(--ad-shadow-soft)}
.adw-bar{margin:14px 0}
.adw-bar .top{display:flex;justify-content:space-between;font-weight:700;font-size:14px;margin-bottom:6px}
.adw-bar .rail{height:14px;border-radius:99px;background:#ece6d6;overflow:hidden}
.adw-bar .fill{height:100%;border-radius:99px;background:var(--ad-grad-brand)}
.adw-bar .fill.gold{background:var(--ad-grad-sun)}
.adw-note{font-size:12.5px;color:var(--ad-ink-muted);background:var(--ad-cream-soft);border:1px solid var(--ad-border);border-radius:10px;padding:10px 14px;margin-top:8px}

.adw-skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ad-green);color:#fff;padding:11px 18px;border-radius:10px;font-weight:800;text-decoration:none}
.adw-skip:focus{left:12px}
:focus-visible{outline:3px solid var(--ad-green);outline-offset:2px}
.adw-sitemap{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.adw-sitemap .col{background:var(--ad-card);border:1px solid var(--ad-border);border-radius:16px;padding:20px}
.adw-sitemap h3{margin:0 0 10px;font-size:16px}
.adw-sitemap a{display:block;padding:6px 0;color:var(--ad-green-deep);text-decoration:none;font-weight:600}
.adw-sitemap a:hover{text-decoration:underline}
@media(max-width:860px){.adw-sitemap{grid-template-columns:1fr}}

.adw-nav-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.adw-menu-btn{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--ad-border);background:#fff;border-radius:999px;padding:10px 18px;font-family:inherit;font-weight:800;font-size:14.5px;cursor:pointer;color:var(--ad-ink)}
.adw-menu-btn:hover{border-color:var(--ad-green);color:var(--ad-green-deep)}
.adw-nav-contact{font-weight:700;color:var(--ad-ink);text-decoration:none;padding:10px 12px;border-radius:10px}
.adw-nav-contact:hover{color:var(--ad-green-deep)}
@media(max-width:560px){.adw-nav-contact{display:none}}
.adw-overlay{position:fixed;inset:0;z-index:90;background:var(--ad-grad-brand);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity .25s;overflow:auto;padding:48px 24px}
.adw-overlay.open{opacity:1}
.adw-overlay-close{position:absolute;top:18px;right:22px;border:0;background:rgba(255,255,255,.16);color:#fff;width:48px;height:48px;border-radius:50%;font-size:28px;cursor:pointer}
.adw-overlay-nav{display:flex;flex-direction:column;gap:4px;text-align:center}
.adw-overlay-nav a{color:#fff;text-decoration:none;font-size:clamp(22px,4.4vw,38px);font-weight:900;letter-spacing:-1px;padding:5px 12px;border-radius:12px}
.adw-overlay-nav a:hover,.adw-overlay-nav a[aria-current=page]{color:var(--ad-gold)}
.adw-overlay-social{display:flex;gap:14px;margin-top:28px}
.adw-overlay-social a{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.16);color:#fff}
.adw-overlay-social svg{width:20px;height:20px;fill:currentColor}
.adw-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:0;background:var(--ad-card);border:1px solid var(--ad-border);border-radius:24px;overflow:hidden;box-shadow:var(--ad-shadow-card);text-decoration:none;color:inherit;margin-top:22px}
.adw-feature.rev .ph{order:2}
.adw-feature .ph{min-height:300px;border-radius:0}
.adw-feature .body{padding:clamp(26px,4vw,46px);align-self:center}
.adw-feature .body h3{font-size:clamp(24px,3.5vw,34px);font-weight:900;letter-spacing:-1px;margin:8px 0 10px}
.adw-feature .body p{color:var(--ad-ink-soft);font-size:16px;line-height:1.65;margin:0 0 18px}
.adw-vicnote{display:flex;gap:16px;align-items:center;background:var(--ad-gold-soft);border:1px solid var(--ad-gold);border-radius:18px;padding:18px 22px;margin-top:26px}
.adw-vicnote .t{font-weight:800;font-size:15px}
.adw-vicnote .s{font-size:13.5px;color:var(--ad-ink-soft)}
.adw-vicnote a{margin-left:auto;white-space:nowrap}
@media(max-width:780px){.adw-feature,.adw-feature.rev{grid-template-columns:1fr}.adw-feature.rev .ph{order:0}.adw-feature .ph{min-height:200px}.adw-vicnote{flex-direction:column;align-items:flex-start}.adw-vicnote a{margin-left:0}}

/* (legacy .adw-quick/.adw-qcard block removed — superseded by the consolidated premium take-action styles below) */

.adw-embed-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;min-height:280px;background:#ffd6e7;border:2px dashed #e35d8a;border-radius:14px;color:#c2185b;font-family:ui-monospace,monospace;font-weight:700;padding:18px}
.adw-embed-slot small{font-weight:600;opacity:.85;font-size:11.5px;max-width:36ch}

.adw-hero::after{background:linear-gradient(160deg,rgba(46,183,162,.48),rgba(31,135,122,.54) 55%,rgba(21,101,90,.72))}
.adw-hero .wordmark,.adw-hero .tagline{text-shadow:0 2px 16px rgba(0,0,0,.4)}

.adw-poltile{position:relative;border-radius:18px;overflow:hidden;min-height:188px;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;color:#fff;text-decoration:none;box-shadow:var(--ad-shadow-soft);transition:transform .18s,box-shadow .18s}
.adw-poltile:hover{transform:translateY(-3px);box-shadow:var(--ad-shadow-card)}
.adw-poltile .ic{position:absolute;top:15px;right:18px;font-size:34px}
.adw-poltile h3{font-size:20px;font-weight:900;margin:0 0 6px;letter-spacing:-.5px}
.adw-poltile p{font-size:13px;opacity:.95;margin:0;line-height:1.5}
.adw-poltile.dark{color:var(--ad-ink)}.adw-poltile.dark p{opacity:.82}

.adw-hero .wordmark img{height:clamp(46px,10vw,104px);width:auto;max-width:90%;display:block;margin:0 auto;filter:drop-shadow(0 3px 16px rgba(0,0,0,.4))}
.adw-poltile .ph{position:absolute;inset:0;background-size:cover;background-position:center;mix-blend-mode:soft-light;opacity:.9;z-index:0}
.adw-poltile h3,.adw-poltile p,.adw-poltile .ic{position:relative;z-index:1}

.adw-hero::after{background:linear-gradient(160deg,rgba(31,135,122,.10),rgba(21,101,90,.16))}
.adw-hero .tagline{text-shadow:0 2px 18px rgba(0,0,0,.55)}
.adw-hero .wordmark img{filter:drop-shadow(0 3px 14px rgba(0,0,0,.3))}
.adw-hero{padding:clamp(44px,7vw,86px) 0 clamp(50px,7vw,90px)}

/* --- hero: image is its own full-bleed layer, logo/text above --- */
.adw-hero-img{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;background-repeat:no-repeat;background-color:#bfe3dc}
.adw-hero::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(11,40,36,.05) 0%,rgba(11,40,36,.14) 55%,rgba(11,40,36,.30) 100%)}
.adw-hero .adw-wrap{position:relative;z-index:2}

/* ===== homepage layout pass ===== */
.adw-hero{min-height:clamp(440px,58vh,620px);display:flex;align-items:center}
.adw-hero-img{background-position:center 66%}

/* welcome / president message — stands out */
.adw-welcome{background:linear-gradient(135deg,#e9faf5 0%,#fff6dd 100%);border-block:1px solid var(--ad-border);position:relative;overflow:hidden}
.adw-welcome::before{content:'';position:absolute;top:-120px;right:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(252,214,102,.35),transparent 70%);pointer-events:none}
.adw-welcome .inner{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(28px,5vw,72px);align-items:center;position:relative}
.adw-welcome .copy .adw-h2{margin-top:6px}
.adw-welcomeimg{aspect-ratio:4/5;border-radius:26px;box-shadow:0 36px 72px -26px rgba(20,80,70,.5);max-width:none;position:relative}
.adw-welcomeimg::after{content:'';position:absolute;inset:12px;border:2px solid rgba(252,214,102,.9);border-radius:16px;pointer-events:none;z-index:3}
.adw-welcome .sig{margin-top:22px;font-weight:900;font-size:21px;color:#15796c;font-style:italic;line-height:1.1}
.adw-welcome .sig span{display:block;font-style:normal;font-weight:600;font-size:14px;color:#5e6f69;letter-spacing:.2px;margin-top:4px}
.adw-welcome-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
@media(max-width:860px){.adw-welcome .inner{grid-template-columns:1fr}.adw-welcomeimg{max-width:360px;margin:0 auto}}

/* policy cards with real photos */
/* background-COLOR, not the shorthand: `background:` resets size/repeat/
   position and breaks .adw-imgph's cover/center (tiled + corner-cropped) */
.adw-card .cardimg{aspect-ratio:8/5;width:100%;display:block;border:0;border-radius:0;background-color:#dff3ee;background-size:cover;background-position:center;background-repeat:no-repeat}
.adw-policy-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px;align-items:center}

/* member spotlight */
.adw-spotgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.adw-spot{margin:0;border-radius:20px;overflow:hidden;box-shadow:0 20px 44px -22px rgba(20,40,36,.45);background:#0d1714;transition:transform .25s ease,box-shadow .25s ease}
.adw-spot:hover{transform:translateY(-5px);box-shadow:0 30px 58px -22px rgba(20,40,36,.58)}
.adw-spot img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:1/1}
@media(max-width:760px){.adw-spotgrid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.adw-spotgrid{grid-template-columns:1fr;max-width:380px;margin:0 auto}}

/* ===== migrated homepage content ===== */
.adw-welcome-head{text-align:center;max-width:760px;margin:0 auto 34px}
.adw-welcome .inner{display:grid;grid-template-columns:1.28fr .72fr;gap:clamp(28px,5vw,60px);align-items:start}
.adw-welcome .letter p{margin:0 0 16px;font-size:17px;line-height:1.72;color:#33433f}
.adw-welcome .letter .adw-lead,.adw-welcome .letter>p:first-of-type{font-size:20px;color:var(--ad-ink)}
.adw-welcome .letter .adw-signoff{font-style:italic;color:#5e6f69;margin-top:2px}
.adw-pull,.adw-welcome .letter>blockquote{margin:22px 0;padding:20px 26px;border-left:4px solid var(--ad-gold);background:rgba(255,255,255,.75);border-radius:0 16px 16px 0;font-size:20px;font-weight:800;font-style:italic;color:#15796c;line-height:1.45}
.adw-letter-card{position:sticky;top:90px;background:#fff;border:1px solid var(--ad-border);border-radius:24px;padding:18px;box-shadow:0 30px 60px -28px rgba(20,80,70,.4)}
.adw-letter-card .adw-welcomeimg{aspect-ratio:4/5;border-radius:16px;margin:0 0 14px;box-shadow:none;max-width:none}
.adw-letter-card .adw-welcomeimg::after{inset:8px;border-radius:10px}
.adw-letter-card .sig{margin:4px 2px 14px;font-weight:900;font-size:20px;color:#15796c;font-style:italic;line-height:1.1}
.adw-letter-card .sig span{display:block;font-style:normal;font-weight:600;font-size:13.5px;color:#5e6f69;margin-top:4px}
.adw-welcome-cta{display:flex;flex-direction:column;gap:10px}
.adw-welcome-cta .adw-btn{width:100%;justify-content:center}
.adw-freenote{text-align:center;font-size:14px;color:#5e6f69;margin:12px 0 2px}
@media(max-width:860px){.adw-welcome .inner{grid-template-columns:1fr}.adw-letter-card{position:static;max-width:420px;margin:0 auto}}

.adw-decide-banner{border-radius:22px;aspect-ratio:21/7;margin-bottom:32px;box-shadow:0 24px 50px -26px rgba(20,40,36,.45);background-color:#dff3ee;background-position:center 20%}
.adw-decide-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.adw-decide-card{padding:clamp(22px,3vw,34px);border-radius:20px;border:1px solid var(--ad-border)}
.adw-decide-card.represent{background:linear-gradient(135deg,#eafaf6,#fff)}
.adw-decide-card.reject{background:linear-gradient(135deg,#fff7e0,#fff)}
.adw-decide-card h3{font-size:22px;margin:0 0 12px}
.adw-decide-card.represent h3{color:#15796c}
.adw-decide-card.reject h3{color:#b7791f}
.adw-decide-card p{margin:0;font-size:16px;line-height:1.7;color:#33433f}
.adw-decide-cta{text-align:center;margin-top:30px;font-size:20px;font-weight:800;color:var(--ad-ink)}
.adw-decide-cta a{color:#15796c}
@media(max-width:760px){.adw-decide-grid{grid-template-columns:1fr}}

.adw-polcard .impact{font-weight:800;color:var(--ad-ink);margin:0 0 8px;font-size:15.5px;line-height:1.4}
.adw-polcard .desc{font-size:13.5px;color:#5b6b66;line-height:1.55;margin:0 0 12px}
.adw-polcard .adw-readmore{font-weight:800;color:#15796c;font-size:13.5px}
.adw-spot figcaption{padding:12px 14px;color:#fff;font-weight:800;font-size:14px;background:#0d1714}

/* ===== homepage pop-up notifications ===== */
.adw-notify-wrap{position:fixed;left:22px;bottom:22px;z-index:1200;display:flex;flex-direction:column-reverse;gap:14px;max-width:430px;pointer-events:none}
.adw-notify{position:relative;background:#fdf6e4;border-radius:22px;padding:22px 24px 24px;border-left:6px solid var(--ad-gold);box-shadow:0 26px 60px -18px rgba(20,40,36,.45),0 0 0 1px rgba(20,40,36,.05);pointer-events:auto;transform:translateX(-115%);opacity:0;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .4s ease}
.adw-notify.is-in{transform:none;opacity:1}
.adw-notify-wrap.is-hidden .adw-notify,.adw-notify.is-closed{transform:translateX(-115%)!important;opacity:0!important;pointer-events:none}
.adw-notify-x{position:absolute;top:11px;right:13px;border:0;background:transparent;font-size:25px;line-height:1;color:#7a8682;cursor:pointer;padding:3px 7px;border-radius:9px}
.adw-notify-x:hover{color:#1f2a27;background:rgba(0,0,0,.06)}
.adw-notify-top{display:flex;gap:16px;align-items:flex-start;padding-right:26px}
.adw-notify-img{flex:0 0 auto;width:92px;height:92px;border-radius:14px;overflow:hidden;background:#dff3ee}
.adw-notify-img img{width:100%;height:100%;object-fit:cover;display:block}
.adw-notify-title{margin:2px 0 0;font-size:22px;font-weight:800;line-height:1.16;color:#1f2a27}
.adw-notify-msg{margin:14px 0 18px;font-size:16.5px;line-height:1.5;color:#46535d}
.adw-notify-btn{display:block;text-align:center;background:var(--ad-gold);color:#1f2a27;font-weight:800;font-size:16px;padding:15px 22px;border-radius:40px;text-decoration:none;transition:filter .2s,transform .2s}
.adw-notify-btn:hover{filter:brightness(.96);transform:translateY(-1px)}
@media(max-width:560px){.adw-notify-wrap{left:12px;right:12px;bottom:12px;max-width:none}.adw-notify-title{font-size:20px}.adw-notify-img{width:76px;height:76px}}

/* people-like-you banner: always keep the people in frame */
.adw-decide-banner{aspect-ratio:12/5;background-position:center 20%;border:0}

/* ============================================================
   PREMIUM TAKE-ACTION  (homepage join / donate cards)
   Single authoritative block — light surface, green/gold accent,
   segmented controls, smooth expand. Brand: green #29a895 /
   deep #1f877a / gold #fcd666 / ink. Font: Archivo.
   ============================================================ */
.adw-takeaction{position:relative;overflow:hidden;padding:clamp(54px,7vw,96px) 0;background:linear-gradient(180deg,#e9f6f2 0%,#fbfdfc 62%);color:var(--ad-ink)}
.adw-takeaction::before{content:'';position:absolute;top:-160px;right:-120px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(252,214,102,.30),transparent 70%);pointer-events:none}
.adw-takeaction::after{content:'';position:absolute;bottom:-180px;left:-140px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(41,168,149,.16),transparent 70%);pointer-events:none}

/* heading */
.adw-ta-head{text-align:center;max-width:660px;margin:0 auto 40px;position:relative}
.adw-ta-head .adw-eyebrow.light{color:var(--ad-green-deep);background:var(--ad-gold-soft)}
.adw-ta-head h2{font-size:clamp(30px,4.4vw,46px);font-weight:900;margin:10px 0 12px;letter-spacing:-1px;color:var(--ad-ink)}
.adw-ta-head p{font-size:clamp(16px,2.1vw,18px);line-height:1.6;color:#566;margin:0}

/* card grid */
.adw-quick{display:grid;grid-template-columns:1fr 1fr;gap:24px;position:relative;max-width:1000px;margin:0 auto;align-items:start}
.adw-quick.single{grid-template-columns:1fr;max-width:680px}

/* card surface */
.adw-qcard{background:#fff;border:1px solid #e4ede9;border-radius:18px;padding:clamp(22px,3.4vw,30px);box-shadow:0 26px 56px -30px rgba(20,60,54,.45),0 2px 8px rgba(20,60,54,.05);position:relative;overflow:hidden}
.adw-qcard::before{content:'';position:absolute;inset:0 0 auto 0;height:5px;border-radius:18px 18px 0 0}
.adw-qcard.join::before{background:linear-gradient(90deg,var(--ad-green),var(--ad-green-d))}
.adw-qcard.donate::before{background:linear-gradient(90deg,var(--ad-gold),var(--ad-gold-deep))}
.adw-qcard.single,.adw-quick.single .adw-qcard{box-shadow:0 34px 70px -30px rgba(20,60,54,.5),0 2px 10px rgba(20,60,54,.06)}

/* card header */
.adw-qcard-top{display:flex;gap:14px;align-items:center;margin-bottom:18px}
.adw-qbadge{flex:0 0 auto;font-size:11px;font-weight:900;letter-spacing:1px;text-transform:uppercase;padding:7px 13px;border-radius:30px}
.adw-qbadge.green{background:#d9f3ec;color:var(--ad-green-deep)}
.adw-qbadge.gold{background:#fdeec2;color:#9a7b14}
.adw-qcard-top .t h3{margin:0;font-size:21px;font-weight:800;color:var(--ad-ink);letter-spacing:-.4px}
.adw-qcard-top .t p{margin:3px 0 0;font-size:14px;color:#67756f;line-height:1.45}

/* inputs + selects */
.adw-qcard input:not([type=checkbox]):not([type=radio]),
.adw-qcard select{width:100%;padding:13px 15px;border:1.5px solid #dbe5e1;border-radius:12px;font:inherit;font-size:15px;color:var(--ad-ink);background:#f8fbfa;transition:border-color .15s,box-shadow .15s,background .15s;box-sizing:border-box}
.adw-qcard select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ad-green-deep) 50%),linear-gradient(135deg,var(--ad-green-deep) 50%,transparent 50%);background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:38px}
.adw-qcard input:not([type=checkbox]):not([type=radio]):focus,
.adw-qcard select:focus{outline:none;border-color:var(--ad-green);box-shadow:0 0 0 3px rgba(41,168,149,.18);background:#fff}
.adw-qcard input::placeholder{color:#9aa7a2}

/* layout grids inside the expanded form */
.adw-qgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.adw-qgrid3{display:grid;grid-template-columns:1.3fr .9fr .8fr;gap:12px}
.adw-qdob{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:12px}

/* field labels */
.adw-qfieldlabel{display:block;font-size:11.5px;font-weight:800;color:#5d6f69;text-transform:uppercase;letter-spacing:.5px;margin:6px 0 0}

/* ---- segmented controls (tier / roll / silent / party) ---- */
.adw-qtiers{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}
.adw-qtiers button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:54px;padding:11px 6px;border:1.5px solid #dbe5e1;border-radius:13px;background:#f8fbfa;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s,transform .12s;font:inherit;line-height:1.15;text-align:center}
.adw-qtiers button b{font-size:14px;color:var(--ad-ink);font-weight:800}
.adw-qtiers button span{font-size:12.5px;color:#67756f;font-weight:700}
.adw-qtiers button:hover{border-color:#aed3c9}
.adw-qtiers button:active{transform:translateY(1px)}
.adw-qtiers button[aria-pressed=true]{border-color:var(--ad-green);background:#e9faf4;box-shadow:0 0 0 3px rgba(41,168,149,.16)}
.adw-qtiers button[aria-pressed=true] b{color:var(--ad-green-deep)}
.adw-qtiers button[aria-pressed=true] span{color:var(--ad-green-deep)}
.adw-qtiers-2{grid-template-columns:1fr 1fr;gap:12px}
.adw-qtiers-2 button{flex-direction:row;min-height:48px;font-weight:800;font-size:14px;padding:12px 6px}
.adw-qtierhint{font-size:12px;color:#67756f;line-height:1.5;margin:2px 0 0}

/* auto-renew checkbox (paid tiers) — plain visible checkbox row */
.adw-qmonthly{display:flex;align-items:center;gap:11px;font-size:14.5px;font-weight:700;color:var(--ad-ink);cursor:pointer;user-select:none;background:#f3faf8;border:1px solid #e0eee9;border-radius:12px;padding:13px 15px}
.adw-qmonthly input{flex:0 0 auto;width:19px;height:19px;accent-color:var(--ad-green);cursor:pointer}

/* ---- donate: frequency toggle ---- */
.adw-qfreq{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#f1ede0;border-radius:13px;padding:5px}
.adw-qfreq button{padding:12px;border:0;border-radius:9px;background:transparent;font:inherit;font-weight:800;font-size:14.5px;color:#8a7a48;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}
.adw-qfreq button:hover{color:#7a6a38}
.adw-qfreq button[aria-pressed=true]{background:#fff;color:#9a7b14;box-shadow:0 3px 10px rgba(0,0,0,.12)}

/* ---- donate: amount presets ---- */
.adw-qamts{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.adw-qamts button{padding:15px 6px;border:1.5px solid #ece3c6;border-radius:13px;background:#fffdf6;cursor:pointer;font:inherit;font-weight:800;font-size:16px;color:var(--ad-ink);transition:border-color .15s,background .15s,box-shadow .15s,transform .12s}
.adw-qamts button:hover{border-color:#e3d39a}
.adw-qamts button:active{transform:translateY(1px)}
.adw-qamts button[aria-pressed=true]{border-color:var(--ad-gold-deep);background:#fdf3cf;box-shadow:0 0 0 3px rgba(252,214,102,.32);color:#7a611a}

/* custom amount */
.adw-qcustom{display:flex;align-items:stretch;border:1.5px solid #ece3c6;border-radius:12px;background:#fffdf6;overflow:hidden}
.adw-qcustom span{display:flex;align-items:center;padding:0 16px;font-weight:800;color:#9a7b14;background:#fdf3cf}
.adw-qcustom input{border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important}

/* consent / declaration + plain checkbox rows */
.adw-qcheck{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;color:#46535d;line-height:1.5;cursor:pointer}
.adw-qcheck input{margin-top:2px;flex:0 0 auto;width:18px;height:18px;accent-color:var(--ad-green);cursor:pointer}
.adw-qcheck a{color:var(--ad-green-deep);font-weight:700}
.adw-qdeclare{background:#f3faf8;border:1px solid #dceee9;border-radius:12px;padding:14px 16px;align-items:flex-start}

/* turnstile */
.adw-turnstile{margin:2px 0 0;min-height:0}
.adw-turnstile:empty{display:none}

/* switch link (donate instead / join instead) */
.adw-formswitch-wrap{text-align:center;margin:2px 0 0}
.adw-formswitch{color:var(--ad-green-deep);font-weight:700;font-size:13.5px;text-decoration:none}
.adw-formswitch:hover{text-decoration:underline}

/* the expandable region */
.adw-qmore{display:flex;flex-direction:column;gap:14px;margin:18px 0 2px;animation:adwReveal .28s ease}
@keyframes adwReveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* continue + submit buttons (full width, confident) */
.adw-qsubmit{width:100%;justify-content:center;font-size:16px;padding:16px;box-shadow:0 14px 28px -14px rgba(20,80,70,.55)}
.adw-qsubmit:hover{transform:translateY(-1px)}
.adw-qmini .adw-qsubmit{margin-top:2px}

/* small note under each card */
.adw-qnote{font-size:13px;color:#67756f;margin:13px 0 0;text-align:center}
.adw-qnote:empty{display:none}

/* validation states */
.adw-invalid{border-color:#d94343 !important;box-shadow:0 0 0 3px rgba(217,67,67,.16) !important}
.adw-qdeclare.adw-invalid{background:#fdecec;border-color:#f0c4c4}
.adw-qtiers.adw-invalid button{border-color:#d94343}

/* focus-visible ring for keyboard users on segmented buttons + links */
.adw-qtiers button:focus-visible,.adw-qamts button:focus-visible,.adw-qfreq button:focus-visible,.adw-formswitch:focus-visible{outline:3px solid var(--ad-green);outline-offset:2px;border-radius:10px}

/* ---- the hidden attribute must always win (Continue button etc.) ---- */
[hidden]{display:none !important}

/* ---- mobile ---- */
@media(max-width:760px){
  .adw-quick{grid-template-columns:1fr;max-width:520px}
  .adw-quick.single{max-width:520px}
  .adw-qgrid3{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .adw-qcard{padding:20px}
  .adw-qtiers{grid-template-columns:1fr}
  .adw-qtiers-2{grid-template-columns:1fr 1fr;gap:12px}
  .adw-qamts{grid-template-columns:1fr 1fr}
  .adw-qgrid,.adw-qgrid3,.adw-qdob{grid-template-columns:1fr}
  .adw-qdob{grid-template-columns:1fr 1fr 1.4fr}
}

/* ===== President's letter — editorial redesign ===== */
.adw-welcome-head{text-align:center;max-width:780px;margin:0 auto 42px}
.adw-welcome .inner{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(30px,5vw,66px);align-items:start}
.adw-portrait{position:sticky;top:90px}
.adw-portrait .adw-welcomeimg{aspect-ratio:4/5;border-radius:26px;box-shadow:0 40px 84px -30px rgba(20,80,70,.55);max-width:none;position:relative;margin:0}
.adw-portrait .adw-welcomeimg::after{content:'';position:absolute;inset:12px;border:2px solid rgba(252,214,102,.95);border-radius:16px;pointer-events:none;z-index:3}
.adw-portrait-badge{position:relative;margin:-34px auto 0;width:max-content;max-width:92%;background:#fff;border-radius:16px;padding:12px 24px;box-shadow:0 20px 44px -18px rgba(20,80,70,.42);text-align:center;z-index:4}
.adw-portrait-badge b{display:block;font-size:19px;color:#15796c;font-weight:900;line-height:1.1}
.adw-portrait-badge span{font-size:13px;color:#5e6f69;font-weight:600}
.adw-welcome .letter p{margin:0 0 16px;font-size:17px;line-height:1.75;color:#33433f}
.adw-welcome .letter .adw-lead,.adw-welcome .letter>p:first-of-type{font-size:21px;color:var(--ad-ink);font-weight:500}
.adw-welcome .letter .adw-lead::first-letter,.adw-welcome .letter>p:first-of-type::first-letter{float:left;font-size:66px;line-height:.8;font-weight:900;color:var(--ad-green);margin:8px 12px 0 0}
.adw-pull,.adw-welcome .letter>blockquote{margin:24px 0;padding:22px 30px;border-left:4px solid var(--ad-gold);background:rgba(255,255,255,.72);border-radius:0 18px 18px 0;font-size:21px;font-weight:800;font-style:italic;color:#15796c;line-height:1.45}
.adw-signoff{margin:24px 0 0 !important;color:#5e6f69;font-size:17px}
.adw-signname{margin:3px 0 0 !important;font-size:36px;line-height:1;color:#15796c;font-weight:900;font-style:italic;letter-spacing:-.5px}
.adw-signrole{margin:7px 0 0 !important;font-size:14px;color:#5e6f69;font-weight:600}
.adw-welcome-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.adw-freenote{font-size:14px;color:#5e6f69;margin:14px 0 0 !important}
@media(max-width:880px){
  .adw-welcome .inner{grid-template-columns:1fr;gap:6px}
  .adw-portrait{position:static;max-width:330px;margin:0 auto 26px}
  .adw-welcome .letter .adw-lead,.adw-welcome .letter>p:first-of-type{font-size:19px}
  .adw-welcome .letter .adw-lead::first-letter,.adw-welcome .letter>p:first-of-type::first-letter{font-size:54px}
  .adw-signname{font-size:31px}
  .adw-welcome-cta .adw-btn{width:100%;justify-content:center}
}

/* nav donate button */
.adw-nav-donate{display:inline-flex;align-items:center;padding:9px 18px;border-radius:30px;background:var(--ad-gold);color:var(--ad-ink);font-weight:800;text-decoration:none;margin-left:6px;transition:filter .15s,transform .15s}
.adw-nav-donate:hover{filter:brightness(.95);transform:translateY(-1px)}

/* President's message — optimised, compact card on the right, bigger heading */
.adw-welcome-head{text-align:center;max-width:1120px;margin:0 auto 38px}
.adw-welcome-head .adw-h2{font-size:clamp(32px,4.7vw,55px);line-height:1.04;text-wrap:balance}
@media(min-width:1240px){.adw-welcome-head .adw-h2{white-space:nowrap}}
.adw-welcome .inner{display:grid;grid-template-columns:1.36fr .64fr;gap:clamp(28px,4vw,56px);align-items:start}
.adw-welcome .letter p{margin:0 0 15px;font-size:17px;line-height:1.72;color:#33433f}
.adw-welcome .letter .adw-lead,.adw-welcome .letter>p:first-of-type{font-size:19.5px;color:var(--ad-ink);font-weight:500}
.adw-welcome .letter .adw-lead::first-letter,.adw-welcome .letter>p:first-of-type::first-letter{float:none;font-size:inherit;font-weight:inherit;color:inherit;margin:0}
.adw-welcome .letter .adw-signoff{margin:18px 0 0;font-style:italic;color:#5e6f69;font-size:17px}
.adw-letter-card{position:sticky;top:90px;background:#fff;border:1px solid var(--ad-border);border-radius:22px;padding:18px;box-shadow:0 26px 56px -26px rgba(20,80,70,.4);text-align:center}
.adw-letter-card .adw-welcomeimg{aspect-ratio:4/5;border-radius:14px;margin:0 0 14px;max-width:none;box-shadow:none}
.adw-letter-card .adw-welcomeimg::after{content:'';position:absolute;inset:8px;border:2px solid rgba(252,214,102,.95);border-radius:9px;pointer-events:none;z-index:3}
.adw-letter-card .sig{margin:2px 0 14px;font-size:19px;font-weight:900;color:#15796c;font-style:italic;line-height:1.12}
.adw-letter-card .sig span{display:block;font-style:normal;font-weight:600;font-size:13px;color:#5e6f69;margin-top:4px}
.adw-letter-card .adw-welcome-cta{display:flex;flex-direction:column;gap:10px}
.adw-letter-card .adw-welcome-cta .adw-btn{width:100%;justify-content:center}
.adw-letter-card .adw-freenote{margin:12px 0 2px;font-size:13px;color:#5e6f69}
@media(max-width:880px){.adw-welcome .inner{grid-template-columns:1fr}.adw-letter-card{position:static;max-width:360px;margin:22px auto 0}.adw-welcome-head .adw-h2{white-space:normal}}

/* make the policy expand button clearly visible on the cream section */
#polExpand{background:#fff;border:2px solid var(--ad-green);color:#15796c;box-shadow:0 8px 20px -12px rgba(20,80,70,.4)}
#polExpand:hover{background:#eafaf5;border-color:var(--ad-green);color:#0f5e55}

/* auto "recent items" blocks under newsroom / podcast */
.adw-recent{margin-top:32px}
.adw-recent-h{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:#67756f;margin:0 0 16px}

.adw-foot-credit{font-size:12.5px;color:rgba(255,255,255,.62);margin:0 0 6px;line-height:1.5}

/* ===== policy-area page hero ===== */
.adw-pagehero{position:relative;overflow:hidden;color:#fff;display:flex;align-items:flex-end;min-height:clamp(300px,42vh,460px);padding:clamp(56px,9vw,118px) 0 clamp(44px,6vw,76px)}
.adw-pagehero-img{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;background-color:#15756a}
.adw-pagehero::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(13,40,36,.28) 0%,rgba(13,40,36,.46) 45%,rgba(13,40,36,.66) 100%)}
.adw-pagehero .adw-wrap{position:relative;z-index:2}
.adw-pagehero .adw-eyebrow.light{color:var(--ad-gold)}
.adw-pagehero h1{font-size:clamp(34px,5.6vw,62px);font-weight:900;letter-spacing:-1px;margin:8px 0 14px;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.4)}
.adw-pagehero-impact{font-size:clamp(17px,2.3vw,22px);font-weight:600;max-width:780px;color:rgba(255,255,255,.96);line-height:1.45;margin:0;text-shadow:0 2px 14px rgba(0,0,0,.45)}
.adw-article-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}

/* ===== mobile polish (homepage + inner pages) ===== */
@media(max-width:700px){
  .adw-wrap{padding-left:18px;padding-right:18px}
  .adw-hero{min-height:clamp(380px,74vh,560px)}
  .adw-hero .wordmark img{height:clamp(40px,13vw,74px)}
  .adw-hero .tagline{font-size:clamp(22px,7.5vw,34px)}
  .adw-h2{font-size:clamp(27px,7.6vw,38px)}
  .adw-pagehero{min-height:clamp(250px,54vh,380px)}
  .adw-pagehero h1{font-size:clamp(28px,8.4vw,42px)}
  .adw-pagehero-impact{font-size:16px}
  .adw-policy-actions{flex-direction:column;align-items:stretch}
  .adw-policy-actions .adw-btn{width:100%;justify-content:center}
  .adw-decide-banner{aspect-ratio:16/9}
}
/* ===== policy areas: platform (sub-policy) cards ===== */
.adw-subgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:30px}
.adw-subcard{display:flex;flex-direction:column;gap:8px;padding:24px 22px 20px;background:#fff;border:1px solid var(--ad-border);border-radius:18px;border-top:4px solid var(--ad-green);text-decoration:none;color:inherit;box-shadow:0 14px 30px -22px rgba(20,60,54,.4);transition:transform .18s,box-shadow .18s,border-color .18s;position:relative;overflow:hidden}
.adw-subcard::after{content:'';position:absolute;top:-40px;right:-40px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(41,168,149,.10),transparent 70%)}
.adw-subcard:hover{transform:translateY(-4px);box-shadow:0 26px 50px -24px rgba(20,60,54,.5);border-top-color:var(--ad-gold)}
.adw-subcard-tag{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#15796c;position:relative}
.adw-subcard h3{margin:0;font-size:19px;font-weight:800;color:var(--ad-ink);line-height:1.2;position:relative}
.adw-subcard p{margin:0;font-size:14px;color:#5b6b66;line-height:1.5;flex:1;position:relative}
.adw-subcard .cardimg{aspect-ratio:16/9;background-size:cover;background-position:center;background-color:#dff3ee;display:block;width:auto;margin:-24px -22px 4px;border-top-left-radius:14px;border-top-right-radius:14px;position:relative}
.adw-subcard-go{font-size:13.5px;font-weight:800;color:#15796c;margin-top:4px;position:relative}
@media(max-width:860px){.adw-subgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.adw-subgrid{grid-template-columns:1fr}}

/* sub-policy page: conformed 4-section layout */
.adw-subhero{min-height:clamp(260px,40vh,400px)}
.adw-sub{padding:clamp(34px,6vw,64px) 0}
.adw-sub-sec{max-width:760px;margin:0 auto clamp(30px,5vw,48px)}
.adw-sub-sec h2{display:flex;align-items:center;gap:14px;font-size:clamp(22px,3vw,30px);font-weight:900;color:var(--ad-ink);margin:0 0 14px}
.adw-sub-sec h2 .n{flex:0 0 auto;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;color:#15796c;background:linear-gradient(135deg,#eafaf5,#fff6dd);border:1px solid var(--ad-border)}
.adw-sub-sec.refs h2 .n{color:#9a7b14}
.adw-sub-sec .adw-prose{padding-left:58px}
.adw-sub-sec.refs ol{margin:0;padding-left:20px;color:#5b6b66;font-size:15px;line-height:1.7}
@media(max-width:560px){.adw-sub-sec .adw-prose{padding-left:0}}

/* sub-policy prev/next nav */
.adw-subnav{max-width:760px;margin:8px auto 0;display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch;padding-top:24px;border-top:1px solid var(--ad-border)}
.adw-subnav a{text-decoration:none}
.adw-subnav-l,.adw-subnav-r{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border:1px solid var(--ad-border);border-radius:14px;transition:border-color .15s,background .15s;color:var(--ad-ink)}
.adw-subnav-r{text-align:right}
.adw-subnav-l:hover,.adw-subnav-r:hover{border-color:var(--ad-green);background:#f3faf8}
.adw-subnav-l span,.adw-subnav-r span{font-size:12px;font-weight:700;color:#7c8a86}
.adw-subnav-l b,.adw-subnav-r b{font-size:15px;font-weight:800;color:#15796c}
.adw-subnav-up{align-self:center;font-size:13px;font-weight:800;color:#5b6b66;padding:10px 16px;border-radius:30px;border:1px solid var(--ad-border);white-space:nowrap}
.adw-subnav-up:hover{background:var(--ad-cream-soft)}
@media(max-width:560px){.adw-subnav{grid-template-columns:1fr 1fr}.adw-subnav-up{grid-column:1/-1;order:-1;text-align:center}}

/* hub area cards image */
.adw-areacard .cardimg{aspect-ratio:8/5;background-size:cover;background-position:center;background-color:#dff3ee;display:block;width:100%}

/* ===== nicer nav Join / Donate buttons ===== */
.adw-nav-join,.adw-nav-donate{display:inline-flex;align-items:center;line-height:1;padding:11px 20px;border-radius:30px;font-weight:800;font-size:14.5px;letter-spacing:.2px;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
.adw-nav-join{background:var(--ad-green);color:#fff;box-shadow:0 8px 18px -9px rgba(41,168,149,.8)}
.adw-nav-join:hover{transform:translateY(-1px);box-shadow:0 12px 24px -9px rgba(41,168,149,.95);filter:brightness(1.04)}
.adw-nav-donate{background:var(--ad-gold);color:var(--ad-ink)!important;box-shadow:0 8px 18px -9px rgba(214,170,40,.85);margin-left:8px}
.adw-nav-donate:hover{transform:translateY(-1px);box-shadow:0 12px 24px -9px rgba(214,170,40,1);filter:brightness(1.03)}

/* ===== homepage policy teaser on mobile portrait: transparency full-width, next two side-by-side ===== */
@media(max-width:700px){
  #polTeaser{grid-template-columns:1fr 1fr;gap:12px}
  #polTeaser>:first-child{grid-column:1/-1}
  #polTeaser .adw-polcard:not(:first-child) .desc{display:none}
  #polTeaser .adw-polcard:not(:first-child) h3{font-size:16px}
  #polTeaser .adw-polcard:not(:first-child) .impact{font-size:13.5px}
}

/* ===== homepage: The Real Deal ===== */
.adw-realdeal{background:linear-gradient(135deg,#fdf8ec,#f3faf8);border-block:1px solid var(--ad-border)}
.adw-rd-head{text-align:center;max-width:700px;margin:0 auto 38px}
.adw-rd-title{font-size:clamp(40px,7vw,78px);font-weight:900;font-style:italic;letter-spacing:-2px;margin:0;color:var(--ad-ink);line-height:.95}
.adw-rd-title span{color:#15a890;background:linear-gradient(180deg,transparent 56%,rgba(252,214,102,.75) 56%);padding:0 10px}
.adw-rd-sub{font-size:clamp(17px,2.4vw,21px);color:#33433f;margin:20px 0 6px}
.adw-rd-receipts{font-size:clamp(18px,2.6vw,24px);font-weight:800;font-style:italic;color:#15796c;margin:0}
.adw-rd-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1000px;margin:0 auto}
.adw-rd-card{position:relative;background:#fff;border-radius:20px;padding:26px 28px 24px 66px;box-shadow:0 22px 50px -28px rgba(20,60,54,.4);border:1px solid var(--ad-border)}
.adw-rd-check{position:absolute;left:24px;top:26px;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#29a895,#1f877a);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:16px;box-shadow:0 6px 14px -6px rgba(31,135,122,.8)}
.adw-rd-ms{font-size:11.5px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:#15796c}
.adw-rd-card h3{font-size:22px;font-weight:900;font-style:italic;color:var(--ad-ink);margin:6px 0 10px;line-height:1.12}
.adw-rd-card h3 .hl{color:#15a890}
.adw-rd-card p{font-size:15px;line-height:1.6;color:#46535d;margin:0 0 14px}
.adw-rd-note{font-size:13px;font-style:italic;color:#7c8a86;margin:-6px 0 14px}
.adw-rd-proof{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#15796c;background:#eafaf5;padding:10px 18px;border-radius:30px;text-decoration:none;transition:background .15s}
.adw-rd-proof:hover{background:#d6f3ec}
.adw-rd-foot{max-width:880px;margin:30px auto 0;text-align:center;font-size:clamp(16px,2.2vw,20px);font-weight:800;font-style:italic;color:var(--ad-ink);background:rgba(253,243,207,.6);border:1px solid var(--ad-border);border-radius:18px;padding:22px 26px;line-height:1.5}
.adw-rd-foot b{color:#15a890;font-style:normal}
.adw-rd-foot a{color:#15796c}
@media(max-width:760px){.adw-rd-grid{grid-template-columns:1fr}.adw-rd-card{padding-left:60px}}

.adw-embed-live{width:100%;border-radius:14px;overflow:hidden}
.adw-embed-live iframe{display:block}

/* ===== Our People grid ===== */
.adw-people-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.adw-person{margin:0;background:#fff;border:1px solid var(--ad-border);border-radius:18px;overflow:hidden;box-shadow:0 16px 36px -24px rgba(20,60,54,.4);transition:transform .2s ease,box-shadow .2s ease}
.adw-person:hover{transform:translateY(-4px);box-shadow:0 28px 56px -26px rgba(20,60,54,.5)}
.adw-person-photo{aspect-ratio:14/15;overflow:hidden;background:#dff3ee}
.adw-person-photo img{width:100%;height:100%;object-fit:cover;display:block}
.adw-person figcaption{padding:16px 18px}
.adw-person h3{margin:0;font-size:18px;font-weight:800;color:var(--ad-ink);line-height:1.15}
.adw-person .role{display:block;font-size:12px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#15796c;margin:3px 0 8px}
.adw-person p{margin:0;font-size:13.5px;color:#5b6b66;line-height:1.5}
@media(max-width:980px){.adw-people-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.adw-people-grid{grid-template-columns:repeat(2,1fr);gap:16px}}
@media(max-width:430px){.adw-people-grid{grid-template-columns:1fr;max-width:330px;margin:0 auto}}

/* ===== contact page: wide form + "other ways" cards ===== */
.adw-contactform{margin:0 auto 44px;max-width:920px}
.adw-otherways{max-width:1000px;margin:0 auto}
.adw-contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.adw-contact-card{background:#fff;border:1px solid var(--ad-border);border-radius:18px;padding:24px;box-shadow:0 16px 36px -26px rgba(20,60,54,.4);display:flex;flex-direction:column;gap:8px;transition:transform .18s ease,box-shadow .18s ease;border-top:4px solid var(--ad-green)}
.adw-contact-card:nth-child(2){border-top-color:var(--ad-gold)}
.adw-contact-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -26px rgba(20,60,54,.5)}
.adw-cc-eyebrow{font-size:11.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#15796c}
.adw-contact-card h3{margin:0;font-size:16.5px;font-weight:800;color:var(--ad-ink);word-break:break-word;line-height:1.3}
.adw-contact-card p{margin:0;font-size:14px;color:#5b6b66;line-height:1.5;flex:1}
.adw-contact-card .adw-btn{align-self:flex-start;margin-top:8px}
@media(max-width:820px){.adw-contact-cards{grid-template-columns:1fr;max-width:420px;margin:0 auto}}

/* ===== Our People — structured (exec / divisions / life members) ===== */
.adw-op-sec{margin-bottom:clamp(40px,6vw,68px)}
.adw-op-sechead{display:flex;align-items:center;gap:16px;border-bottom:2px solid var(--ad-border);padding-bottom:14px;margin-bottom:28px}
.adw-op-num{background:var(--ad-ink);color:var(--ad-gold);font-weight:900;font-size:15px;border-radius:8px;padding:6px 11px;letter-spacing:1px}
.adw-op-sechead h2{margin:0;font-size:clamp(26px,4vw,40px);font-weight:900;color:var(--ad-ink);letter-spacing:-1px;flex:1}
.adw-op-count{font-size:13px;font-weight:700;color:var(--ad-ink-muted);white-space:nowrap}
.adw-op-president{display:grid;grid-template-columns:.85fr 1.15fr;background:#fff;border:1px solid var(--ad-border);border-radius:24px;overflow:hidden;box-shadow:0 26px 60px -34px rgba(20,60,54,.5);margin-bottom:34px}
.adw-op-pres-photo{min-height:340px;background:#e8eceb}
.adw-op-pres-photo img{width:100%;height:100%;object-fit:cover;display:block}
.adw-op-pres-body{padding:clamp(24px,3vw,40px);align-self:center}
.adw-op-badge{display:inline-block;background:var(--ad-gold);color:var(--ad-ink);font-weight:800;font-size:12px;letter-spacing:1px;text-transform:uppercase;padding:7px 14px;border-radius:30px}
.adw-op-pres-body h3{font-size:clamp(28px,3.6vw,40px);font-weight:900;color:var(--ad-ink);margin:12px 0 14px;letter-spacing:-1px}
.adw-op-quote{margin:0;padding:18px 22px;border-left:4px solid var(--ad-green);background:var(--ad-cream-soft);border-radius:0 14px 14px 0}
.adw-op-quote p{margin:0 0 10px;font-size:15px;line-height:1.6;color:#33433f}
.adw-op-quote .signoff{font-weight:800;color:#15796c;margin-top:6px}
.adw-op-caption{font-style:italic;color:var(--ad-ink-muted);font-size:13px;margin:14px 0 0}
.adw-op-grouplabel{text-align:center;margin:6px auto 22px;width:max-content;max-width:90%;background:var(--ad-gold);color:var(--ad-ink);font-weight:800;font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;padding:8px 20px;border-radius:30px}
.adw-divisions{display:flex;flex-direction:column;gap:14px}
.adw-division{background:#fff;border:1px solid var(--ad-border);border-radius:16px;overflow:hidden;box-shadow:0 10px 24px -20px rgba(20,60,54,.4)}
.adw-division summary{display:flex;align-items:center;gap:16px;padding:18px 22px;cursor:pointer;list-style:none}
.adw-division summary::-webkit-details-marker{display:none}
.adw-div-ico{flex:0 0 auto;width:44px;height:44px;border-radius:10px;background:var(--ad-ink);color:var(--ad-gold);font-weight:900;font-size:14px;display:flex;align-items:center;justify-content:center}
.adw-div-name{flex:1}.adw-div-name b{display:block;font-size:17px;color:var(--ad-ink)}.adw-div-name span{font-style:italic;color:var(--ad-ink-muted);font-size:14px}
.adw-div-arrow{font-size:18px;color:#15796c;transition:transform .2s}
.adw-division[open] .adw-div-arrow{transform:rotate(180deg)}
.adw-div-body{padding:0 22px 22px 82px}
.adw-div-body p{margin:0 0 14px;color:#46535d;line-height:1.6}
.adw-lifemembers{display:flex;flex-wrap:wrap;gap:10px}
.adw-lifemembers span{background:#fff;border:1px solid var(--ad-border);border-radius:30px;padding:9px 16px;font-weight:700;font-size:14px;color:var(--ad-ink)}
@media(max-width:760px){.adw-op-president{grid-template-columns:1fr}.adw-op-pres-photo{aspect-ratio:4/3;min-height:0}.adw-div-body{padding-left:22px}}

/* ===== homepage embedded forms (tabs + iframe) ===== */
.adw-embedtabs{display:flex;gap:6px;justify-content:center;margin:0 auto 24px;background:#f1ede0;padding:6px;border-radius:14px;width:max-content;max-width:100%}
.adw-embedtab{border:0;background:transparent;font:inherit;font-weight:800;font-size:15px;color:#8a7a48;padding:12px 26px;border-radius:10px;cursor:pointer;transition:all .15s}
.adw-embedtab.is-on{background:#fff;color:#15796c;box-shadow:0 3px 10px rgba(0,0,0,.12)}
.adw-embedframe{max-width:760px;margin:0 auto;border-radius:20px;overflow:hidden}
.adw-embedframe iframe{display:block;width:100%;border:0;min-height:560px;transition:height .2s ease}
@media(max-width:560px){.adw-embedtab{padding:11px 18px;font-size:14px}}

/* ===== desktop socials half-circle FAB ===== */
.adw-sfab{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:1100;display:none}
@media(min-width:1080px){.adw-sfab{display:block}}
.adw-sfab-btn{width:50px;height:84px;border:0;border-radius:0 50px 50px 0;background:linear-gradient(135deg,#29a895,#1f877a);color:#fff;cursor:pointer;box-shadow:0 12px 30px -10px rgba(20,80,70,.65);display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}
.adw-sfab-btn svg{width:22px;height:22px;fill:#fff}
.adw-sfab-btn:hover{transform:scale(1.05);box-shadow:0 16px 36px -10px rgba(20,80,70,.8)}
.adw-sfab.open .adw-sfab-btn{transform:scale(1.05)}
.adw-sfab-icons{position:absolute;left:34px;top:50%;width:0;height:0}
.adw-sfab-icons a{position:absolute;width:42px;height:42px;border-radius:50%;background:#fff;box-shadow:0 8px 20px -8px rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;color:#1f877a;transform:translate(-50%,-50%) scale(0);opacity:0;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .25s}
.adw-sfab-icons a svg{width:20px;height:20px;fill:currentColor}
.adw-sfab-icons a:hover{color:#fff;background:#1f877a}
.adw-sfab.open .adw-sfab-icons a{opacity:1}
.adw-sfab.open .adw-sfab-icons a:nth-child(1){transform:translate(calc(-50% + 64px),calc(-50% - 111px)) scale(1);transition-delay:.02s}.adw-sfab.open .adw-sfab-icons a:nth-child(2){transform:translate(calc(-50% + 104px),calc(-50% - 75px)) scale(1);transition-delay:.06s}.adw-sfab.open .adw-sfab-icons a:nth-child(3){transform:translate(calc(-50% + 125px),calc(-50% - 27px)) scale(1);transition-delay:.10s}.adw-sfab.open .adw-sfab-icons a:nth-child(4){transform:translate(calc(-50% + 125px),calc(-50% + 27px)) scale(1);transition-delay:.14s}.adw-sfab.open .adw-sfab-icons a:nth-child(5){transform:translate(calc(-50% + 104px),calc(-50% + 75px)) scale(1);transition-delay:.18s}.adw-sfab.open .adw-sfab-icons a:nth-child(6){transform:translate(calc(-50% + 64px),calc(-50% + 111px)) scale(1);transition-delay:.22s}

/* about — values */
.adw-values{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:6px}
.adw-value{background:#fff;border:1px solid var(--ad-border);border-radius:18px;padding:26px;box-shadow:0 16px 36px -26px rgba(20,60,54,.4);position:relative}
.adw-value-n{font-size:13px;font-weight:900;color:#15796c;background:linear-gradient(135deg,#eafaf5,#fff6dd);border:1px solid var(--ad-border);border-radius:8px;padding:5px 10px;display:inline-block;margin-bottom:10px}
.adw-value h3{margin:0 0 8px;font-size:19px;font-weight:800;color:var(--ad-ink)}
.adw-value p{margin:0;font-size:14.5px;line-height:1.6;color:#46535d}
@media(max-width:740px){.adw-values{grid-template-columns:1fr}}
/* governance cards */
.adw-govgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}
.adw-govcard{display:flex;flex-direction:column;gap:8px;padding:24px;background:#fff;border:1px solid var(--ad-border);border-radius:18px;border-top:4px solid var(--ad-green);text-decoration:none;color:inherit;box-shadow:0 14px 30px -24px rgba(20,60,54,.4);transition:transform .18s,box-shadow .18s}
.adw-govcard:hover{transform:translateY(-4px);box-shadow:0 26px 50px -24px rgba(20,60,54,.5)}
.adw-govcard h3{margin:0;font-size:17px;font-weight:800;color:var(--ad-ink)}
.adw-govcard p{margin:0;font-size:14px;color:#5b6b66;line-height:1.5;flex:1}
@media(max-width:860px){.adw-govgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.adw-govgrid{grid-template-columns:1fr}}
/* acknowledgement */
.adw-ack-wrap{background:linear-gradient(135deg,#eafaf5,#fff6dd)}
.adw-ack{max-width:760px;margin:0 auto;text-align:center;padding:clamp(20px,5vw,50px) 0}
.adw-ack p{font-size:clamp(19px,2.6vw,26px);line-height:1.6;color:#1d2a28;font-weight:500;margin:14px 0 0}

/* minimised join/donate cards (compact header before expand) */
.adw-qmini .adw-qcard-top{margin-bottom:18px}
.adw-qmini .adw-qcard-top .t p{font-size:14px;color:#5b6b66;line-height:1.5}

/* make the hidden attribute win over .adw-qmore/.adw-qcard display rules (belt-and-braces with the global [hidden] rule) */
.adw-qmore[hidden]{display:none !important}
.adw-qcard[hidden]{display:none !important}

/* posts hub filter + category chip */
.adw-filterbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.adw-filterbar button{border:1.5px solid var(--ad-border);background:#fff;border-radius:30px;padding:9px 18px;font:inherit;font-weight:700;font-size:14px;color:var(--ad-ink);cursor:pointer;transition:all .15s}
.adw-filterbar button:hover{border-color:var(--ad-green)}
.adw-filterbar button.is-on{background:var(--ad-green);border-color:var(--ad-green);color:#fff}
.adw-catchip{font-weight:800;color:#15796c;text-transform:uppercase;letter-spacing:.4px;font-size:11px}
.adw-postcard .meta{font-size:12px;color:var(--ad-ink-muted);font-weight:600}

/* our history — name chips + MP list */
.adw-namechips{display:flex;flex-wrap:wrap;gap:10px}
.adw-namechips span{background:#fff;border:1px solid var(--ad-border);border-radius:30px;padding:10px 18px;font-weight:700;font-size:14.5px;color:var(--ad-ink)}
.adw-mplist{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.adw-mplist div{background:#fff;border:1px solid var(--ad-border);border-left:4px solid var(--ad-gold);border-radius:12px;padding:14px 18px}
.adw-mplist b{display:block;font-size:15px;color:var(--ad-ink)}
.adw-mplist span{font-size:13px;color:var(--ad-ink-muted)}
@media(max-width:680px){.adw-mplist{grid-template-columns:1fr}}

/* homepage forms: +61 / area-code prefix inputs (mirrors the main join form style) */
.adw-qmore .adw-prefix{display:flex}
.adw-qmore .adw-prefix span{flex:none;display:grid;place-items:center;background:#fdf4d0;border:1.5px solid #dbe5e0;border-right:0;border-radius:14px 0 0 14px;padding:0 14px;font-weight:800;font-size:14px;color:#3a4a45}
.adw-qmore .adw-prefix input{flex:1;min-width:0;border-radius:0 14px 14px 0!important}
.adw-qmore .adw-prefix .adw-prefix-sel{flex:none;width:auto;font-family:inherit;font-weight:800;color:#3a4a45;background-color:#fdf4d0;border:1.5px solid #dbe5e0;border-right:0;border-radius:14px 0 0 14px;padding:0 30px 0 13px;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23145c52' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 10px center;background-size:11px}
.adw-qmore .adw-prefix:focus-within span,.adw-qmore .adw-prefix:focus-within .adw-prefix-sel{border-color:#29a895}

/* right-side arcade fab — mirrors the left social half-tab, flipped to the right edge (desktop) */
.adw-gfab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:1100;display:none}
.adw-gfab{display:block}
.adw-gfab-btn{width:50px;height:84px;border:0;border-radius:50px 0 0 50px;background:linear-gradient(135deg,#29a895,#1f877a);color:#fff;cursor:pointer;box-shadow:0 12px 30px -10px rgba(20,80,70,.65);display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}
.adw-gfab-btn svg{width:26px;height:23px}
.adw-gfab-btn:hover{transform:scale(1.05);box-shadow:0 16px 36px -10px rgba(20,80,70,.8)}
.adw-gfab.open .adw-gfab-btn{transform:scale(1.05)}
.adw-gfab-items{position:absolute;right:50px;top:50%;width:0;height:0}
.adw-gfab-items>*{position:absolute;right:0;top:0;white-space:nowrap;display:flex;align-items:center;gap:7px;padding:9px 14px;border-radius:999px;font-family:'"'"'Archivo'"'"',sans-serif;font-weight:900;font-size:12px;letter-spacing:.5px;text-decoration:none;box-shadow:0 8px 20px -8px rgba(0,0,0,.45);transform:translate(34px,-50%) scale(.4);opacity:0;transform-origin:right center;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .25s}
.adw-gfab-items>*::before{content:"";width:8px;height:8px;flex:0 0 auto;background:currentColor;box-shadow:3px 0 currentColor,0 3px currentColor,3px 3px currentColor}
.adw-gfab-items>*:nth-child(1){background:#fcd666;color:#1d2a28}
.adw-gfab-items>*:nth-child(2){background:#1d2a28;color:#fcd666}
.adw-gfab-items>*:nth-child(3){background:#15655a;color:#fff}
.adw-gfab-items>a:hover{filter:brightness(1.07)}.adw-gfab-items a[href*="rorts"]{background:#29a895;color:#fff}
.adw-gfab.open .adw-gfab-items>*{opacity:1}
.adw-gfab.open .adw-gfab-items>*:nth-child(1){transform:translate(-8px,calc(-50% - 66px)) scale(1);transition-delay:.04s}.adw-gfab.open .adw-gfab-items>*:nth-child(2){transform:translate(-8px,calc(-50% - 22px)) scale(1);transition-delay:.09s}.adw-gfab.open .adw-gfab-items>*:nth-child(3){transform:translate(-8px,calc(-50% + 22px)) scale(1);transition-delay:.14s}.adw-gfab.open .adw-gfab-items>*:nth-child(4){transform:translate(-8px,calc(-50% + 66px)) scale(1);transition-delay:.19s}
@media(max-width:900px){.adw-gfab{display:none}}

/* policy section identity — each of the 4 sections gets its own accent + icon (both repos) */
.adw-sub-sec{max-width:800px;background:#fff;border:1px solid #eef2f0;border-left:6px solid #29a895;border-radius:18px;padding:clamp(22px,3vw,32px);box-shadow:0 14px 34px -24px rgba(20,60,52,.45);transition:transform .18s,box-shadow .18s}
.adw-sub-sec:hover{transform:translateY(-3px);box-shadow:0 22px 46px -24px rgba(20,60,52,.55)}
.adw-sub-sec h2::before{content:"";flex:0 0 auto;width:46px;height:46px;border-radius:13px;background-repeat:no-repeat;background-position:center;background-size:24px 24px}
.adw-sub-sec .adw-prose{padding-left:0}
/* GitAstro policy pages render markdown headings inside article.adw-prose — give them the same identity */
body[data-page="/policy"] article.adw-prose h2{display:flex;align-items:center;gap:14px;margin-top:34px;padding-top:22px;border-top:2px solid #eef2f0}
body[data-page="/policy"] article.adw-prose h2::before{content:"";flex:0 0 auto;width:46px;height:46px;border-radius:13px;background-repeat:no-repeat;background-position:center;background-size:24px 24px}
.adw-sub-sec:nth-of-type(1){border-left-color:#e07a5f}
.adw-sub-sec:nth-of-type(1) h2::before,body[data-page="/policy"] article.adw-prose h2:nth-of-type(1)::before{background-color:#fdeee9;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c0492f' stroke-width='2.2' stroke-linecap='round'><circle cx='11' cy='11' r='7'/><path d='M21 21l-4-4'/></svg>")}
.adw-sub-sec:nth-of-type(2){border-left-color:#29a895}
.adw-sub-sec:nth-of-type(2) h2::before,body[data-page="/policy"] article.adw-prose h2:nth-of-type(2)::before{background-color:#e7f7f3;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f877a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 6h11M9 12h11M9 18h11'/><path d='M4 6l1.3 1.3L7.5 5M4 12l1.3 1.3L7.5 11M4 18l1.3 1.3L7.5 17'/></svg>")}
.adw-sub-sec:nth-of-type(3){border-left-color:#e8b800}
.adw-sub-sec:nth-of-type(3) h2::before,body[data-page="/policy"] article.adw-prose h2:nth-of-type(3)::before{background-color:#fdf6da;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%239a7b14'><rect x='3' y='13' width='4' height='8' rx='1'/><rect x='10' y='8' width='4' height='13' rx='1'/><rect x='17' y='3' width='4' height='18' rx='1'/></svg>")}
.adw-sub-sec:nth-of-type(4){border-left-color:#5b6b66}
.adw-sub-sec:nth-of-type(4) h2::before,.adw-sub-sec.refs h2::before,body[data-page="/policy"] article.adw-prose h2:nth-of-type(4)::before{background-color:#eef1f0;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2344524d' stroke-width='2.2' stroke-linecap='round'><path d='M9 15l6-6'/><path d='M11 6l1-1a4 4 0 015 5l-1 1'/><path d='M13 18l-1 1a4 4 0 01-5-5l1-1'/></svg>")}

/* arcade fab — gamey idle + glow (button only toggles; bubbles are the links) */
.adw-gfab-btn{position:relative}
@keyframes adwInvBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.adw-gfab-btn svg{animation:adwInvBob 1.7s ease-in-out infinite}
.adw-gfab-btn::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 2px rgba(255,255,255,.12);transition:box-shadow .3s;pointer-events:none}
.adw-gfab:hover .adw-gfab-btn::after,.adw-gfab.open .adw-gfab-btn::after{box-shadow:inset 0 0 0 2px rgba(252,214,102,.55),0 0 22px -2px rgba(252,214,102,.6)}
.adw-gfab.open .adw-gfab-btn svg{animation-play-state:paused}

.adw-gfab-btn{position:relative;z-index:3}
.adw-gfab-items{z-index:1}
.adw-gfab-soon{background:#2a3b38;color:#8aa39c;cursor:default}
.adw-gfab-soon::after{content:' · soon';font-size:9px;opacity:.8}

.adw-grid.cols-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:640px){.adw-grid.cols-3{grid-template-columns:1fr}}
.adw-rc{text-decoration:none;color:inherit;border:1px solid #eef2f0;border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:transform .15s}.adw-rc:hover{transform:translateY(-2px)}.adw-rc-i{display:block;height:120px;background:#1f877a center/cover}.adw-rc b{padding:11px 13px;font-size:15px;line-height:1.25;font-weight:800}

/* footer v2 — refined dark design (content still driven by site.json → Keystatic editable) */
.adw-footer{background:radial-gradient(120% 130% at 94% -20%,rgba(252,214,102,.30),transparent 52%),linear-gradient(135deg,#29a895 0%,#15665b 100%);color:rgba(255,255,255,.88);margin-top:74px;border-top:3px solid #fcd666}
.adw-foot{max-width:1200px;margin:0 auto;padding:clamp(46px,6vw,74px) 24px 0}
.adw-foot-top{display:grid;grid-template-columns:1.35fr 2.15fr;gap:clamp(32px,5vw,58px);padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.12)}
.adw-foot-brand img.wm,.adw-foot-brand img{height:36px;width:auto}
.adw-foot-brand p{margin:18px 0 0;max-width:340px;line-height:1.65;color:rgba(255,255,255,.66);font-size:14.5px}
.adw-foot-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.adw-foot-social a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#fff;transition:background .18s,transform .18s,border-color .18s}
.adw-foot-social a:hover{background:#fcd666;color:#0e3b34;border-color:#fcd666;transform:translateY(-2px)}
.adw-foot-social a svg{width:18px;height:18px;fill:currentColor}
.adw-foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:24px}
.adw-foot-cols>div h4{font-size:11.5px;letter-spacing:1.6px;text-transform:uppercase;color:#fcd666;font-weight:800;margin:0 0 14px}
.adw-foot-cols>div a{display:block;color:rgba(255,255,255,.8);text-decoration:none;padding:7px 0;font-size:15px;font-weight:600;transition:color .15s,transform .15s}
.adw-foot-cols>div a:hover{color:#fff;transform:translateX(4px)}
.adw-foot-ack{margin:26px 0 0;padding:0;border:0;font-size:13px;color:rgba(255,255,255,.68);line-height:1.65;max-width:780px}
.adw-foot-ack a{color:#fcd666;font-weight:700;text-decoration:none}
.adw-foot-credit{font-size:12.5px;color:rgba(255,255,255,.52);margin:18px 0 0;line-height:1.5}
.adw-foot-auth{font-size:12px;color:rgba(255,255,255,.42);margin:6px 0 0;font-weight:500;padding-bottom:34px}
@media(max-width:860px){.adw-foot-top{grid-template-columns:1fr;gap:30px}.adw-foot-cols{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.adw-foot-cols{grid-template-columns:1fr}}

/* consent v2 — homepage declaration styled like the dedicated form */
.adw-qcheck.adw-qdeclare{background:#fff;border:2px solid #dbe5e1;border-radius:14px;padding:16px 18px;align-items:center;gap:14px;font-weight:700;font-size:14.5px;color:var(--ad-ink);transition:border-color .15s,background .15s}
.adw-qcheck.adw-qdeclare input{width:24px;height:24px;border-radius:7px;accent-color:var(--ad-green);margin-top:0}
.adw-qcheck.adw-qdeclare:has(input:checked){border-color:var(--ad-green);background:#f1faf7}
.adw-qcheck.adw-qdeclare a{color:var(--ad-green-deep);font-weight:800}

/* footer v3 — light footer: green links, black centred legal text, yellow credit pill, bigger logo (desktop) */
.adw-footer{background:#fbfaf3;color:#1d2a28;border-top:3px solid #29a895}
.adw-foot{max-width:1200px;margin:0 auto;padding:clamp(46px,6vw,72px) 24px 32px}
.adw-foot-top{border-bottom:1px solid #e6efea}
.adw-foot-brand img.wm,.adw-foot-brand img{height:58px;width:auto;filter:none!important;mix-blend-mode:normal!important}
.adw-foot-brand p{color:#5b6b66}
.adw-foot-social a{background:#edf6f2;border:1px solid #d3e6e0;color:#1f877a}
.adw-foot-social a:hover{background:#29a895;color:#fff;border-color:#29a895}
.adw-foot-cols>div h4{color:#15756a}
.adw-foot-cols>div a{color:#29a895;font-weight:700}
.adw-foot-cols>div a:hover{color:#15665b}
.adw-foot-ack{text-align:center;color:#000;border:0;padding:0;margin:30px auto 0;max-width:820px;font-size:13px;line-height:1.6;opacity:1}
.adw-foot-ack a{color:#000!important;font-weight:800;text-decoration:underline}
.adw-foot-credit{display:block;width:100%;margin:18px 0 0;background:#fcd666;color:#1d2a28;font-weight:800;font-size:13px;border-radius:999px;padding:10px 22px;text-align:center;line-height:1.4}
.adw-foot-auth{text-align:center;color:#000;opacity:1;font-weight:600;font-size:12.5px;margin:14px auto 0;max-width:760px}
.adw-foot-terms{text-align:center;margin:12px auto 0;font-size:12.5px}
.adw-foot-terms a{color:#15665b;font-weight:800;text-decoration:underline;text-underline-offset:2px}
.adw-foot-terms a:hover{color:#1d2a28}
@media(max-width:860px){.adw-foot-brand img.wm,.adw-foot-brand img{height:36px}}

/* membership approval fine print */
.adw-qfine{font-size:12.5px;line-height:1.5;color:#5b6b66;margin:6px 2px 2px;font-weight:600}

/* loading screen (ported from forms.css so the homepage payment step shows the same loader) */
.adw-loader{position:fixed;inset:0;z-index:200;display:none;place-items:center;background:rgba(253,251,244,.94);backdrop-filter:blur(8px);overflow:hidden} .adw-loader.show{display:grid} .adw-loader .box{position:relative;text-align:center;z-index:2} .adw-loader .stage{position:relative;display:inline-grid;place-items:center;width:128px;height:128px} .adw-loader .ring{position:absolute;inset:0;border-radius:50%;border:4px solid var(--ad-gold-soft);border-top-color:var(--ad-gold);animation:adw-spin .9s linear infinite} .adw-loader .ring.r2{inset:12px;border-color:transparent;border-bottom-color:var(--ad-green);animation:adw-spin 1.4s linear infinite reverse} .adw-loader .mark{width:84px;height:84px;border-radius:20px;display:block;box-shadow:0 14px 30px -12px rgba(31,135,122,.6);animation:adw-load-bob 1.15s ease-in-out infinite} .adw-loader .msg{margin-top:26px;font-weight:900;font-size:19px;color:var(--ad-ink);letter-spacing:-.3px} .adw-loader .sub{font-size:13px;color:var(--ad-ink-muted);margin-top:5px;font-weight:600} .adw-confetti{position:absolute;top:-12px;left:0;right:0;height:300px;pointer-events:none;z-index:0;overflow:hidden} .adw-confetti span{position:absolute;display:block;width:12px;height:14px;border-radius:3px;opacity:.9;animation:adw-flutter 6.5s linear infinite} .adw-confetti span:nth-child(1){left:4%;top:-20px;background:#29a895;transform:rotate(12deg);animation-delay:0s} .adw-confetti span:nth-child(2){left:12%;top:-40px;background:#fcd666;transform:rotate(-20deg);animation-delay:.6s} .adw-confetti span:nth-child(3){left:20%;top:-10px;background:#ff7a59;transform:rotate(30deg);animation-delay:1.2s} .adw-confetti span:nth-child(4){left:28%;top:-30px;background:#1f877a;transform:rotate(-8deg);animation-delay:1.8s;width:8px;height:8px;border-radius:50%} .adw-confetti span:nth-child(5){left:36%;top:-50px;background:#fcd666;transform:rotate(45deg);animation-delay:2.4s} .adw-confetti span:nth-child(6){left:44%;top:-15px;background:#29a895;transform:rotate(-30deg);animation-delay:3s} .adw-confetti span:nth-child(7){left:52%;top:-45px;background:#ff7a59;transform:rotate(20deg);animation-delay:3.6s;width:10px;height:10px;border-radius:50%} .adw-confetti span:nth-child(8){left:60%;top:-20px;background:#fcd666;transform:rotate(-15deg);animation-delay:4.2s} .adw-confetti span:nth-child(9){left:68%;top:-35px;background:#29a895;transform:rotate(8deg);animation-delay:4.8s} .adw-confetti span:nth-child(10){left:76%;top:-10px;background:#1f877a;transform:rotate(-25deg);animation-delay:5.4s} .adw-confetti span:nth-child(11){left:84%;top:-40px;background:#ff7a59;transform:rotate(40deg);animation-delay:.3s} .adw-confetti span:nth-child(12){left:92%;top:-25px;background:#fcd666;transform:rotate(-5deg);animation-delay:.9s} .adw-confetti span{animation:none;opacity:.3} @keyframes adw-spin{to{transform:rotate(360deg)}} @keyframes adw-load-bob{0%,100%{transform:translateY(0) rotate(-7deg) scale(1)}50%{transform:translateY(-16px) rotate(7deg) scale(1.07)}} @keyframes adw-flutter{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:.9}100%{transform:translateY(320px) rotate(360deg);opacity:0}} @media (prefers-reduced-motion:reduce){.adw-loader .mark,.adw-loader .ring{animation:none}}
/* acknowledgement now sits under the tagline in the brand block */
.adw-foot-brand .adw-foot-ack{text-align:left;margin:10px 0 14px;max-width:520px;border:0;padding:0}

/* ======================================================================
   NATIONAL v3 — "paper & gold" redesign (header + homepage)
   Clean editorial system in the VIC-site family: warm paper canvas,
   gold-marker signature device, print-shadow cards, Archivo display.
   Appended last on purpose — later rules win on equal specificity.
   Scope: header/nav + homepage modules only. Footer, FABs, and the
   take-action form MARKUP are untouched (forms restyled via CSS only).
   ====================================================================== */

/* ---------- 1) HEADER — light paper, colour logo, marker hovers -------- */
.adw-header{position:sticky;top:0;z-index:70;background:rgba(253,251,244,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--ad-border);box-shadow:0 1px 0 rgba(22,34,31,.02)}
.adw-header::before{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--ad-green) 0%,var(--ad-green) 55%,var(--ad-gold) 55%,var(--ad-gold) 100%)}
.adw-nav{display:flex;align-items:center;gap:18px;max-width:1200px;margin:0 auto;padding:13px 22px;background:transparent}
.adw-nav-logo img{height:44px;width:auto;display:block}
.adw-nav-links{margin-left:auto;display:flex;align-items:center;gap:2px}
.adw-nav-links a{position:relative;font-size:15px;font-weight:800;color:var(--ad-ink);text-decoration:none;padding:10px 13px;border-radius:0;background:transparent;transition:color .15s}
.adw-nav-links a::after{content:"";position:absolute;left:12px;right:12px;bottom:6px;height:8px;background:var(--ad-gold);z-index:-1;transform:scaleX(0);transform-origin:left center;transition:transform .22s cubic-bezier(.2,.8,.25,1);border-radius:2px}
.adw-nav-links a:hover{background:transparent;color:var(--ad-ink)}
.adw-nav-links a:hover::after,.adw-nav-links a.is-active::after{transform:scaleX(1)}
.adw-nav-links a.is-active{background:transparent;color:var(--ad-ink)}
.adw-nav-links a:focus-visible{outline:3px solid var(--ad-green);outline-offset:2px;border-radius:6px}
/* CTA pills — deep green passes AA for white 15px-bold text; gold carries ink */
.adw-nav-join,.adw-nav-links .adw-nav-join{background:var(--ad-green-deep)!important;color:#fff!important;font-weight:800!important;padding:11px 20px!important;border-radius:999px!important;box-shadow:0 10px 22px -12px rgba(21,101,90,.65)}
.adw-nav-join:hover{background:#0f5045!important;transform:translateY(-1px)}
.adw-nav-join::after,.adw-nav-donate::after{display:none}
.adw-nav-donate{background:var(--ad-gold)!important;color:var(--ad-ink)!important;box-shadow:0 10px 22px -12px rgba(214,170,40,.75);margin-left:6px}
.adw-nav-donate:hover{background:var(--ad-gold-deep)!important;transform:translateY(-1px)}
.adw-nav-toggle{color:var(--ad-ink)}
/* mobile: full paper takeover with display-scale links */
@media(max-width:920px){
  .adw-nav-links{position:fixed;inset:0;top:0;padding:96px 26px 40px;flex-direction:column;align-items:stretch;gap:2px;background:var(--ad-surface);border:0;border-radius:0;box-shadow:none;transform:translateY(-14px);opacity:0;visibility:hidden;transition:transform .28s cubic-bezier(.2,1,.3,1),opacity .22s,visibility .28s;max-height:none;overflow:auto;z-index:80}
  .adw-nav-links.open{transform:none;opacity:1;visibility:visible}
  .adw-nav-links a{font-size:clamp(26px,7vw,34px);font-weight:900;letter-spacing:-.5px;padding:14px 6px;border-bottom:1px solid var(--ad-border);border-radius:0;color:var(--ad-ink)}
  .adw-nav-links a::after{left:6px;right:auto;width:64px;bottom:12px;height:10px}
  .adw-nav-links .adw-nav-join,.adw-nav-links .adw-nav-donate{margin-top:14px;justify-content:center;text-align:center;font-size:18px!important;border-bottom:0;border-radius:999px!important;padding:16px!important}
  .adw-nav-toggle{position:relative;z-index:90}
}

/* ---------- 2) HERO v3 — full-bleed slideshow, ink scrim, gold accent --- */
.adw-hero-v3{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;min-height:clamp(560px,78vh,780px);padding:clamp(80px,12vh,140px) 0;color:#fff}
.adw-hero-v3::after{display:none}
.adw-hero-media{position:absolute;inset:0;z-index:0;background:#10312b}
.adw-hero-slide{position:absolute;inset:0;background-size:cover;background-position:center 30%;opacity:0;transition:opacity 1.4s ease}
.adw-hero-slide.is-on{opacity:1}
@media(prefers-reduced-motion:no-preference){
  .adw-hero-slide{transform:scale(1)}
  .adw-hero-slide.is-on{animation:adwKen 9s ease-out forwards}
  @keyframes adwKen{from{transform:scale(1)}to{transform:scale(1.06)}}
}
.adw-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.adw-hero-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,26,22,.42) 0%,rgba(10,26,22,.34) 45%,rgba(10,26,22,.68) 100%)}
.adw-hero-content{position:relative;z-index:2}
.adw-hero-v3 .wordmark{margin:0}
.adw-hero-v3 .wordmark img{height:clamp(52px,11vw,110px);width:auto;max-width:92vw;display:block;margin:0 auto;filter:drop-shadow(0 4px 22px rgba(0,0,0,.45))}
.adw-hero-v3 .tagline{font-size:clamp(28px,5.6vw,58px);font-weight:900;letter-spacing:-1.5px;margin:20px 0 0;text-shadow:0 2px 22px rgba(0,0,0,.5)}
.adw-hero-v3 .tagline em{font-style:italic;color:var(--ad-gold);position:relative;padding:0 .1em}
.adw-hero-cta{margin-top:32px;display:flex;justify-content:center}
.adw-btn-hero{font-size:clamp(16px,2vw,19px);padding:18px 38px;box-shadow:0 22px 48px -16px rgba(252,214,102,.65);letter-spacing:.2px}
.adw-btn-hero:hover{transform:translateY(-2px);box-shadow:0 28px 54px -16px rgba(252,214,102,.8)}
.adw-hero-dots{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:3;display:flex;gap:10px}
.adw-hero-dot{width:34px;height:5px;border-radius:99px;border:0;padding:0;cursor:pointer;background:rgba(255,255,255,.38);transition:background .2s}
.adw-hero-dot:hover{background:rgba(255,255,255,.65)}
.adw-hero-dot.is-on{background:var(--ad-gold)}
.adw-hero-dot:focus-visible{outline:3px solid var(--ad-gold);outline-offset:3px}
/* hero content entrance (CSS-only, reduced-motion safe) */
@media(prefers-reduced-motion:no-preference){
  .adw-hero-content>*{opacity:0;transform:translateY(14px);animation:adwRise .7s ease forwards}
  .adw-hero-content>*:nth-child(2){animation-delay:.12s}
  .adw-hero-content>*:nth-child(3){animation-delay:.24s}
  @keyframes adwRise{to{opacity:1;transform:none}}
}

/* ---------- 3) SECTION RHYTHM — paper canvas, marker headings ---------- */
.adw-sec-head{max-width:820px;margin:0 0 30px}
.adw-sec-head.centered{margin:0 auto 34px;text-align:center}
.adw-sec-head .adw-lead{margin-top:10px}
.adw-eyebrow{background:transparent;border:1.5px solid var(--ad-border);color:var(--ad-green-deep);letter-spacing:2.4px}
.adw-decide{background:var(--ad-cream-soft);border-block:1px solid var(--ad-border)}
.adw-policy{background:var(--ad-cream-soft);border-block:1px solid var(--ad-border)}

/* print-shadow interactive cards — the system's signature depth */
.adw-decide-card,.adw-rd-card,.adw-polcard{transition:transform .18s ease,box-shadow .18s ease}
.adw-decide-card:hover,.adw-rd-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ad-green)}
.adw-polcard:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ad-green)}
@media(prefers-reduced-motion:reduce){.adw-decide-card:hover,.adw-rd-card:hover,.adw-polcard:hover{transform:none}}

.adw-decide-card{background:#fff;border:1px solid var(--ad-border);border-radius:20px}
.adw-decide-card.represent{border-top:5px solid var(--ad-green);background:#fff}
.adw-decide-card.reject{border-top:5px solid var(--ad-gold-deep);background:#fff}
.adw-decide-tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;padding:5px 12px;border-radius:999px;margin-bottom:12px}
.adw-decide-card.represent .adw-decide-tag{background:#e2f6f0;color:var(--ad-green-deep)}
.adw-decide-card.reject .adw-decide-tag{background:#fdeecb;color:#6a4f00}

/* ---------- 4) STATE MAP — the signature interactive moment ------------ */
.adw-statemap{background:linear-gradient(180deg,#fff 0%,var(--ad-cream-soft) 100%);border-block:1px solid var(--ad-border)}
.adw-map-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(26px,4vw,54px);align-items:center;max-width:1080px;margin:0 auto}
.adw-map-stage{min-width:0}
.adw-aumap{display:block;width:100%;height:auto;filter:drop-shadow(0 24px 40px rgba(22,34,31,.14))}
.adw-aumap-state{cursor:pointer;outline:none}
.adw-aumap-state path,.adw-aumap-state circle{stroke:#fff;stroke-width:5;stroke-linejoin:round;transition:fill .18s ease,transform .18s ease;transform-box:fill-box;transform-origin:center}
.adw-aumap-state text{font-family:'Archivo',sans-serif;font-size:30px;font-weight:900;fill:var(--ad-ink);letter-spacing:.5px;pointer-events:none}
.adw-aumap-act text{font-size:22px}
.adw-aumap-state.tone-teal path,.adw-aumap-state.tone-teal circle{fill:#bfe9de}
.adw-aumap-state.tone-gold path,.adw-aumap-state.tone-gold circle{fill:#fce6a6}
.adw-aumap-state.tone-paper path,.adw-aumap-state.tone-paper circle{fill:#f0ece0}
.adw-aumap-state:hover path,.adw-aumap-state:focus-visible path,.adw-aumap-state:hover circle,.adw-aumap-state:focus-visible circle{fill:var(--ad-gold);transform:translate(-2px,-3px)}
.adw-aumap-state:focus-visible path,.adw-aumap-state:focus-visible circle{stroke:var(--ad-ink);stroke-width:4}
@media(prefers-reduced-motion:reduce){.adw-aumap-state:hover path,.adw-aumap-state:hover circle{transform:none}}
.adw-map-list{display:grid;grid-template-columns:1fr;gap:9px}
.adw-map-chip{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--ad-border);border-radius:14px;padding:12px 16px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s}
.adw-map-chip:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ad-gold);border-color:var(--ad-gold-deep)}
@media(prefers-reduced-motion:reduce){.adw-map-chip:hover{transform:none}}
.adw-map-chip b{flex:0 0 52px;font-size:15px;font-weight:900;letter-spacing:.5px;color:var(--ad-ink);background:#f0ece0;border-radius:9px;text-align:center;padding:8px 0}
.adw-map-chip.tone-teal b{background:#bfe9de;color:#0e332d}
.adw-map-chip.tone-gold b{background:#fce6a6;color:#4a3800}
.adw-map-chip .n{font-weight:700;font-size:15px;color:var(--ad-ink)}
.adw-map-chip .t{margin-left:auto;font-size:11.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--ad-green-deep)}
.adw-map-chip .go{font-weight:900;color:var(--ad-green-deep)}
@media(max-width:860px){
  .adw-map-grid{grid-template-columns:1fr}
  .adw-map-list{grid-template-columns:1fr 1fr;gap:8px}
  .adw-map-chip .t{display:none}
  .adw-aumap{max-width:480px;margin:0 auto}
}
@media(max-width:480px){.adw-map-list{grid-template-columns:1fr}.adw-map-chip .t{display:block}}

/* ---------- 5) SPOTLIGHT + REAL DEAL polish ----------------------------- */
.adw-spot{border:1px solid var(--ad-border)}
.adw-spot:hover{transform:translate(-2px,-4px)}
.adw-rd-title span{color:var(--ad-green-deep)}

/* ---------- 6) TAKE-ACTION — premium form styling (CSS ONLY) ------------ */
.adw-takeaction{background:linear-gradient(180deg,var(--ad-cream-soft) 0%,#fff 70%);border-top:1px solid var(--ad-border)}
.adw-takeaction::before{display:none}
.adw-takeaction::after{display:none}
.adw-ta-head .adw-eyebrow.light{background:var(--ad-ink);color:var(--ad-gold);border-color:var(--ad-ink)}
.adw-qcard{border-radius:22px;border:1px solid var(--ad-border);box-shadow:0 30px 60px -34px rgba(22,34,31,.35),0 2px 8px rgba(22,34,31,.04)}
.adw-qcard::before{height:6px}
.adw-qcard.join::before{background:linear-gradient(90deg,var(--ad-green),var(--ad-green-deep))}
.adw-qcard.donate::before{background:linear-gradient(90deg,var(--ad-gold),var(--ad-gold-deep))}
.adw-qcard:hover{box-shadow:0 36px 70px -34px rgba(22,34,31,.45),0 2px 10px rgba(22,34,31,.05)}
.adw-qbadge.green{background:var(--ad-green-deep);color:#fff}
.adw-qbadge.gold{background:var(--ad-gold);color:#4a3800}
.adw-qcard input:not([type=checkbox]):not([type=radio]),.adw-qcard select{border-radius:12px;border-width:1.5px}
.adw-qsubmit{border-radius:999px;font-weight:800;letter-spacing:.2px}
.adw-qcard .adw-btn-green{background:var(--ad-green-deep)}
.adw-qcard .adw-btn-green:hover{background:#0f5045}
.adw-qtiers button[aria-pressed=true]{border-color:var(--ad-green-deep);background:#e9faf4;box-shadow:0 0 0 3px rgba(21,101,90,.18)}
.adw-qtiers button[aria-pressed=true] b,.adw-qtiers button[aria-pressed=true] span{color:var(--ad-green-deep)}
.adw-qamts button[aria-pressed=true]{border-color:var(--ad-gold-deep);background:#fdf3cf;box-shadow:0 0 0 3px rgba(245,185,77,.35);color:#4a3800}

/* ---------- 7) small print-shadow for feature/letter cards -------------- */
.adw-letter-card{border-radius:22px}
.adw-letter-card:hover{box-shadow:0 30px 62px -26px rgba(20,80,70,.45)}

/* homepage h2 scale — a touch more editorial confidence */
body[data-page="/"] .adw-h2{font-size:clamp(30px,4.8vw,48px);letter-spacing:-1.2px}
body[data-page="/"] .adw-section{padding:clamp(56px,8vw,100px) 0}

/* ---------- v3 fixes: mobile menu containment + stacking + hero scrim --- */
/* backdrop-filter makes .adw-header the containing block for fixed children,
   clipping the mobile menu to the header strip — disable the blur on mobile
   so the paper overlay can truly cover the viewport. */
@media(max-width:920px){
  .adw-header{backdrop-filter:none;background:var(--ad-surface)}
  .adw-nav-links{z-index:1300}
  .adw-nav-toggle{z-index:1310}
}
/* hide the floating notification cards while the mobile menu is open */
body:has(.adw-nav-links.open) .adw-notify-wrap{opacity:0;pointer-events:none;transition:opacity .2s}
/* slightly stronger mid-scrim so the tagline clears WCAG over the brightest slide */
.adw-hero-scrim{background:linear-gradient(180deg,rgba(10,26,22,.5) 0%,rgba(10,26,22,.46) 45%,rgba(10,26,22,.74) 100%)}

/* ======================================================================
   NATIONAL v4 — VIC-clean pass
   Near-white canvas, VIC-style block markers + hero headline, sheet
   transition into the welcome letter, integrated Real Deal buttons,
   scroll-progress header strip. Appended last — later rules win.
   ====================================================================== */

/* ---------- canvas: the VIC near-white, no tinted bands ----------------- */
body[data-page="/"]{background:#fbfaf6}
body[data-page="/"] .adw-decide,
body[data-page="/"] .adw-policy,
body[data-page="/"] .adw-statemap{background:transparent;border-block:0}
body[data-page="/"] .adw-realdeal{background:transparent;border-block:0}
body[data-page="/"] .adw-takeaction{background:#fff;border-top:1px solid var(--ad-border)}

/* ---------- header: progress strip ------------------------------------- */
.adw-header::before{display:none}
.adw-progress{height:4px;background:#eee9db;position:relative;overflow:hidden}
.adw-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ad-green),var(--ad-gold));transition:width .08s linear}

/* ---------- hero v4: VIC-style stacked headline + typewriter ------------ */
.adw-hero-v4{position:relative;overflow:hidden;display:flex;align-items:center;text-align:left;min-height:clamp(640px,94vh,900px);padding:clamp(90px,13vh,150px) 0 clamp(150px,20vh,220px);color:#fff}
.adw-hero-v4::after{display:none}
.adw-hero-v4 .adw-hero-scrim{background:linear-gradient(90deg,rgba(10,26,22,.62) 0%,rgba(10,26,22,.42) 55%,rgba(10,26,22,.28) 100%),linear-gradient(180deg,rgba(10,26,22,.25) 0%,rgba(10,26,22,.15) 55%,rgba(10,26,22,.55) 100%)}
.adw-hero-media{will-change:transform}
.adw-hero-title{margin:0;font-weight:900;color:#fff;line-height:1.02;letter-spacing:-2.5px;font-size:clamp(46px,8.4vw,102px);text-shadow:0 3px 26px rgba(0,0,0,.45)}
.adw-hero-title .row{display:block}
.adw-hero-title .row.r2{margin:.08em 0}
.adw-typeblock{display:inline-flex;align-items:center;background:var(--ad-gold);color:var(--ad-ink);padding:.02em .18em .06em;border-radius:.12em;transform:rotate(-.6deg);box-shadow:0 10px 40px -12px rgba(0,0,0,.35);text-shadow:none}
.adw-typeword{white-space:nowrap}
.adw-typecaret{display:inline-block;width:.06em;min-width:3px;height:.82em;margin-left:.06em;background:var(--ad-ink);animation:adwCaret 1.05s steps(2,start) infinite}
@keyframes adwCaret{to{visibility:hidden}}
@media(prefers-reduced-motion:reduce){.adw-typecaret{animation:none}}
.adw-hero-v4 .adw-hero-cta{justify-content:flex-start;margin-top:38px;display:flex;gap:14px;flex-wrap:wrap}
.adw-hero-v4 .adw-btn{font-size:clamp(15.5px,1.8vw,18px);padding:16px 32px;font-weight:800}
.adw-btn-paper{background:#fdfbf4;color:var(--ad-ink);box-shadow:0 16px 36px -16px rgba(0,0,0,.5)}
.adw-btn-paper:hover{background:#fff;transform:translateY(-1px)}
.adw-hero-v4 .adw-btn-gold{box-shadow:0 18px 44px -14px rgba(252,214,102,.55)}
.adw-hero-v4 .adw-btn-gold:hover{transform:translateY(-1px)}

/* scroll hint (replaces the slide dots) */
.adw-hero-scrollhint{position:absolute;left:50%;bottom:96px;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:9px;text-decoration:none;color:#fff;opacity:.92;transition:opacity .2s}
.adw-hero-scrollhint:hover{opacity:1}
.adw-hero-scrollhint .t{font-size:12px;font-weight:800;letter-spacing:2.2px;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,0,0,.6)}
.adw-hero-scrollhint .chev{width:38px;height:38px;border:2px solid rgba(255,255,255,.75);border-radius:50%;position:relative}
.adw-hero-scrollhint .chev::after{content:"";position:absolute;left:50%;top:42%;width:9px;height:9px;border-right:2.5px solid var(--ad-gold);border-bottom:2.5px solid var(--ad-gold);transform:translate(-50%,-50%) rotate(45deg)}
@media(prefers-reduced-motion:no-preference){
  .adw-hero-scrollhint .chev{animation:adwBob 2s ease-in-out infinite}
  @keyframes adwBob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
}
@media(max-width:700px){.adw-hero-v4{padding-bottom:170px}.adw-hero-scrollhint{bottom:84px}.adw-hero-title{letter-spacing:-1.5px}}

/* ---------- the SHEET: welcome slides over the hero ---------------------- */
.adw-sheet{position:relative;z-index:6;margin-top:-96px;background:#fff;border-radius:clamp(26px,4vw,44px) clamp(26px,4vw,44px) 0 0;box-shadow:0 -30px 80px -34px rgba(22,34,31,.45)}
body[data-page="/"] .adw-welcome{background:#fff;overflow:visible}
body[data-page="/"] .adw-welcome::before{display:none}

/* VIC-style gold BLOCK marker (ink text on gold block) */
.adw-mkb{position:relative;display:inline-block;padding:.03em .18em .07em;margin:0 .04em;white-space:normal}
.adw-mkb::before{content:"";position:absolute;inset:0;background:var(--ad-gold);border-radius:.12em;transform:rotate(-.5deg)}
.adw-mkb .t{position:relative;z-index:1;color:var(--ad-ink)}

/* welcome heading + letter, editorial scale */
.adw-welcome-head{max-width:1060px;margin:0 auto 44px;text-align:center}
.adw-welcome-h{font-size:clamp(34px,5.2vw,62px);font-weight:900;letter-spacing:-1.8px;line-height:1.06;margin:0;color:var(--ad-ink);text-wrap:balance}
body[data-page="/"] .adw-welcome .letter p{font-size:17.5px;line-height:1.78;color:#3a4a45}
body[data-page="/"] .adw-welcome .letter .adw-signname{font-family:var(--ad-font-quote);font-style:italic;font-size:34px;color:var(--ad-green-deep);margin:6px 0 0;font-weight:700;letter-spacing:0}
body[data-page="/"] .adw-welcome .letter .adw-signrole{font-size:13.5px;font-weight:700;color:#5e6f69;margin:4px 0 0;text-transform:uppercase;letter-spacing:.6px}
body[data-page="/"] .adw-letter-card{border:1px solid var(--ad-border);box-shadow:0 34px 70px -34px rgba(22,34,31,.35)}

/* entrance choreography — ONLY when JS present + motion allowed */
@media(prefers-reduced-motion:no-preference){
  html.adw-js [data-wl] .adw-welcome-h{opacity:0;transform:translateY(30px)}
  html.adw-js [data-wl] .adw-mkb::before{transform:rotate(-.5deg) scaleX(0);transform-origin:left center}
  html.adw-js [data-wl] .letter>*{opacity:0;transform:translateY(22px)}
  html.adw-js [data-wl] .adw-letter-card{opacity:0;transform:translateY(34px) rotate(1.6deg)}
  html.adw-js [data-wl].is-in .adw-welcome-h{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.25,1)}
  html.adw-js [data-wl].is-in .adw-mkb::before{transform:rotate(-.5deg) scaleX(1);transition:transform .55s cubic-bezier(.2,.8,.25,1) .45s}
  html.adw-js [data-wl].is-in .letter>*{opacity:1;transform:none;transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.25,1)}
  html.adw-js [data-wl].is-in .letter>*:nth-child(1){transition-delay:.25s}
  html.adw-js [data-wl].is-in .letter>*:nth-child(2){transition-delay:.33s}
  html.adw-js [data-wl].is-in .letter>*:nth-child(3){transition-delay:.41s}
  html.adw-js [data-wl].is-in .letter>*:nth-child(4){transition-delay:.49s}
  html.adw-js [data-wl].is-in .letter>*:nth-child(5){transition-delay:.57s}
  html.adw-js [data-wl].is-in .letter>*:nth-child(n+6){transition-delay:.65s}
  html.adw-js [data-wl].is-in .adw-letter-card{opacity:1;transform:none;transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.25,1) .5s}
}

/* ---------- Real Deal: integrated bottom buttons ------------------------- */
body[data-page="/"] .adw-rd-card{display:flex;flex-direction:column;padding:0;overflow:hidden;border-radius:18px}
body[data-page="/"] .adw-rd-body{position:relative;flex:1;padding:26px 28px 20px 66px}
body[data-page="/"] .adw-rd-card .adw-rd-check{left:22px;top:28px}
body[data-page="/"] .adw-rd-proof{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:0;padding:16px 22px;background:var(--ad-gold);color:var(--ad-ink);font-size:12.5px;font-weight:900;letter-spacing:1px;text-transform:uppercase;border-radius:0;border-top:1px solid rgba(22,34,31,.10);transition:background .15s,letter-spacing .2s}
body[data-page="/"] .adw-rd-proof:hover{background:var(--ad-gold-deep);letter-spacing:1.6px}
body[data-page="/"] .adw-rd-proof:focus-visible{outline:3px solid var(--ad-ink);outline-offset:-4px}
@media(max-width:760px){body[data-page="/"] .adw-rd-body{padding-left:62px}}

/* ---------- policy hub (/policy) — VIC-style ----------------------------- */
body[data-page="/policy"]{background:#fbfaf6}
.adw-polhub-hero{position:relative;overflow:hidden;color:#fff;display:flex;align-items:flex-end;min-height:clamp(340px,52vh,540px);padding:clamp(70px,10vw,130px) 0 clamp(46px,7vw,84px)}
.adw-polhub-hero .img{position:absolute;inset:0;background-size:cover;background-position:center;background-color:#15655a}
.adw-polhub-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,26,22,.66) 0%,rgba(10,26,22,.38) 60%,rgba(10,26,22,.25) 100%),linear-gradient(180deg,rgba(10,26,22,.2),rgba(10,26,22,.55))}
.adw-polhub-hero .adw-wrap{position:relative;z-index:2}
.adw-polhub-hero .adw-eyebrow{border-color:rgba(255,255,255,.45);color:var(--ad-gold);background:transparent}
.adw-polhub-hero h1{font-size:clamp(40px,7vw,84px);font-weight:900;letter-spacing:-2px;line-height:1.02;margin:14px 0 14px;color:#fff;text-shadow:0 3px 24px rgba(0,0,0,.45)}
.adw-polhub-hero .adw-polhub-lead{font-size:clamp(17px,2.3vw,22px);font-weight:600;max-width:64ch;color:rgba(255,255,255,.97);line-height:1.5;margin:0;text-shadow:0 2px 14px rgba(0,0,0,.5)}
.adw-polhub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
/* small sets shouldn't leave an orphan on a second row — four platforms read
   far better as a 2×2 block than as 3 + 1. data-n is the card count. */
.adw-polhub-grid[data-n="1"]{grid-template-columns:minmax(0,420px)}
.adw-polhub-grid[data-n="2"],.adw-polhub-grid[data-n="4"]{grid-template-columns:repeat(2,1fr)}
.adw-polcard2{display:flex;flex-direction:column;background:#fff;border:1px solid var(--ad-border);border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--ad-shadow-soft);transition:transform .18s ease,box-shadow .18s ease}
.adw-polcard2:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ad-gold)}
@media(prefers-reduced-motion:reduce){.adw-polcard2:hover{transform:none}}
.adw-polcard2 .img{aspect-ratio:16/9;background-size:cover;background-position:center;background-color:#dff3ee}
.adw-polcard2 .body{display:flex;flex-direction:column;gap:8px;padding:20px 22px 18px;flex:1}
.adw-polcard2 h3{margin:0;font-size:20px;font-weight:900;letter-spacing:-.4px;color:var(--ad-ink);line-height:1.18}
.adw-polcard2 p{margin:0;font-size:14px;line-height:1.6;color:#5b6b66;flex:1}
.adw-polcard2 .go{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:12px;border-top:1px solid var(--ad-border);font-size:12px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;color:var(--ad-green-deep)}
.adw-polcard2 .go .arrow{font-size:16px;transition:transform .18s}
.adw-polcard2:hover .go .arrow{transform:translateX(4px)}
@media(max-width:980px){.adw-polhub-grid,.adw-polhub-grid[data-n]{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.adw-polhub-grid,.adw-polhub-grid[data-n]{grid-template-columns:1fr}}

/* ---------- v4.1: accurate Australia map (viewBox ~273×253 units) -------- */
.adw-aumap-state path,.adw-aumap-state circle{stroke:#fff;stroke-width:1.4}
.adw-aumap-state text{font-size:11px;letter-spacing:.3px}
.adw-aumap-state:hover path,.adw-aumap-state:focus-visible path{transform:none}
.adw-aumap-state:focus-visible path{stroke:var(--ad-ink);stroke-width:1.6}
.adw-map-credit{grid-column:1/-1;margin:8px 2px 0;font-size:10.5px;color:#8a948f;font-weight:600}

/* ======================================================================
   NATIONAL v5 — signature header, locked hero rows, pulsing VIC,
   policy-process strip. Appended last — later rules win.
   ====================================================================== */

/* ---------- HEADER v6: full-bleed slash panels, screen-centred links ----- */
/* Left: green logo panel flush with the screen edge, trailing in a curved
   "/" with a gold blade behind it. Right: Donate (gold) tucked under a
   dominant Join (green), both leading with the mirrored curved "\" and
   running to the screen edge. The middle stays paper; links centre. */
@media(min-width:921px){
  /* the slash panels intentionally bleed past both screen edges — clip the
     bar so they never create horizontal scroll */
  .adw-header{overflow:clip}
  .adw-nav{max-width:none;width:100%;margin:0;padding:0;height:68px;align-items:stretch;gap:0;position:relative}
  .adw-nav-logo{position:relative;display:flex;align-items:center;padding:0 clamp(44px,5vw,84px) 0 clamp(18px,3.4vw,54px);z-index:2;border-radius:0}
  .adw-nav-logo::before{content:"";position:absolute;inset:0 18px 0 -60px;background:linear-gradient(115deg,var(--ad-green) 0%,var(--ad-green-deep) 92%);transform:skewX(-16deg);transform-origin:top;border-radius:0 24px 20px 0;box-shadow:10px 0 28px -14px rgba(21,101,90,.55);z-index:-1}
  .adw-nav-logo::after{content:"";position:absolute;inset:0 4px 0 -60px;background:linear-gradient(115deg,var(--ad-gold),var(--ad-gold-deep));transform:skewX(-16deg);transform-origin:top;border-radius:0 26px 22px 0;z-index:-2}
  .adw-nav-logo img{height:40px}
  .adw-nav-links{position:static;display:contents}
  .adw-nav-plain{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:2px}
  @media(min-width:1201px){.adw-nav-plain{position:absolute;left:50%;top:0;bottom:0;transform:translateX(-50%);flex:none}}
  .adw-nav-ctas{margin-left:auto;display:flex;align-items:stretch;position:relative;z-index:2}
  .adw-header .adw-nav-ctas .adw-nav-donate,
  .adw-header .adw-nav-ctas .adw-nav-join{position:relative;display:inline-flex;align-items:center;align-self:stretch;background:transparent!important;border-radius:0!important;box-shadow:none;margin:0!important;font-weight:800!important}
  .adw-header .adw-nav-ctas .adw-nav-donate{color:var(--ad-ink)!important;padding:0 58px 0 40px!important;margin-right:-34px!important;z-index:1}
  .adw-header .adw-nav-ctas .adw-nav-donate::before{content:"";position:absolute;inset:0 -20px 0 0;background:linear-gradient(115deg,var(--ad-gold) 8%,var(--ad-gold-deep) 100%);transform:skewX(16deg);transform-origin:top;border-radius:22px 0 0 18px;z-index:-1;transition:filter .15s}
  .adw-header .adw-nav-ctas .adw-nav-donate:hover{transform:none;color:var(--ad-ink)!important}
  .adw-header .adw-nav-ctas .adw-nav-donate:hover::before{filter:brightness(1.05) saturate(1.1)}
  .adw-header .adw-nav-ctas .adw-nav-join{color:#fff!important;padding:0 clamp(28px,3vw,54px) 0 46px!important;font-size:16.5px!important;letter-spacing:.2px;z-index:2}
  .adw-header .adw-nav-ctas .adw-nav-join::before{content:"";position:absolute;inset:0 -60px 0 0;background:linear-gradient(115deg,#1f877a 0%,var(--ad-green-deep) 85%);transform:skewX(16deg);transform-origin:top;border-radius:24px 0 0 20px;box-shadow:-12px 0 30px -14px rgba(21,101,90,.6);z-index:-1;transition:filter .15s}
  .adw-header .adw-nav-ctas .adw-nav-join:hover{transform:none}
  .adw-header .adw-nav-ctas .adw-nav-join:hover::before{filter:brightness(1.08)}
  .adw-header .adw-nav-ctas .adw-nav-join::after{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--ad-gold);margin-left:12px;box-shadow:0 0 0 3px rgba(252,214,102,.3)}
  .adw-header .adw-nav-ctas a:focus-visible{outline:3px solid var(--ad-ink);outline-offset:-4px}
}
/* mobile: white HUD bar with the full-height green/gold logo panel flush to
   the edges (no gap above or below). Site settings → "Logo on phones" can
   switch to the black-on-white variant instead. */
@media(max-width:920px){
  .adw-header{background:#fbfaf6;overflow:clip}
  .adw-nav{padding:0 12px 0 0;height:56px;align-items:stretch;gap:0}
  .adw-nav-toggle{align-self:center}
  .adw-nav-logo{position:relative;display:flex;align-items:center;padding:0 30px 0 16px;border-radius:0;z-index:1}
  .adw-nav-logo::before{content:"";position:absolute;inset:0 10px 0 -40px;background:linear-gradient(115deg,var(--ad-green) 0%,var(--ad-green-deep) 92%);transform:skewX(-16deg);transform-origin:top;border-radius:0 16px 14px 0;box-shadow:8px 0 22px -12px rgba(21,101,90,.55);z-index:-1}
  .adw-nav-logo::after{content:"";position:absolute;inset:0 0 0 -40px;background:linear-gradient(115deg,var(--ad-gold),var(--ad-gold-deep));transform:skewX(-16deg);transform-origin:top;border-radius:0 18px 16px 0;z-index:-2}
  .adw-nav-logo img{height:30px}
  /* backend toggle: black logo on the plain white bar */
  .adw-header[data-mlogo="black"] .adw-nav-logo::before,
  .adw-header[data-mlogo="black"] .adw-nav-logo::after{display:none}
  .adw-header[data-mlogo="black"] .adw-nav-logo img{filter:brightness(0)}
  /* the open menu: same white HUD, staggered links, confident CTAs */
  .adw-nav-links{background:#fbfaf6}
  .adw-nav-plain{display:flex;flex-direction:column;gap:2px}
  .adw-nav-ctas{display:flex;flex-direction:column;gap:12px;margin-top:26px}
  .adw-header .adw-nav-ctas .adw-nav-join,
  .adw-header .adw-nav-ctas .adw-nav-donate{display:flex;align-items:center;justify-content:center;gap:10px;margin:0!important;padding:17px 20px!important;border-bottom:0;border-radius:16px!important;font-size:17.5px!important;font-weight:800;letter-spacing:.2px;text-align:center}
  .adw-header .adw-nav-ctas .adw-nav-join{background:linear-gradient(120deg,#1f877a,var(--ad-green-deep))!important;color:#fff!important;box-shadow:0 16px 34px -16px rgba(21,101,90,.65)}
  .adw-header .adw-nav-ctas .adw-nav-join::after{content:"";width:9px;height:9px;border-radius:50%;background:var(--ad-gold);display:inline-block;box-shadow:0 0 0 3px rgba(252,214,102,.3)}
  .adw-header .adw-nav-ctas .adw-nav-donate{background:linear-gradient(120deg,var(--ad-gold),var(--ad-gold-deep))!important;color:var(--ad-ink)!important;box-shadow:0 14px 30px -16px rgba(214,170,40,.7)}
  @media(prefers-reduced-motion:no-preference){
    .adw-nav-links.open .adw-nav-plain a,.adw-nav-links.open .adw-nav-ctas a{animation:adwMenuIn .5s cubic-bezier(.2,.8,.25,1) both}
    .adw-nav-links.open .adw-nav-plain a:nth-child(1){animation-delay:.05s}
    .adw-nav-links.open .adw-nav-plain a:nth-child(2){animation-delay:.1s}
    .adw-nav-links.open .adw-nav-plain a:nth-child(3){animation-delay:.15s}
    .adw-nav-links.open .adw-nav-plain a:nth-child(4){animation-delay:.2s}
    .adw-nav-links.open .adw-nav-ctas a:nth-child(1){animation-delay:.26s}
    .adw-nav-links.open .adw-nav-ctas a:nth-child(2){animation-delay:.32s}
  }
}
@keyframes adwMenuIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ---------- HERO: locked rows — nothing shifts while the word types ------ */
.adw-hero-title .row.r1,.adw-hero-title .row.r3{display:block}
.adw-hero-title .row.r2{display:flex;align-items:center;height:1.22em;margin:.04em 0}
.adw-typeblock{white-space:nowrap;max-width:100%}
.adw-hero-v4 .adw-hero-cta .adw-btn{min-width:190px;justify-content:center}
.adw-hero-v4 .adw-btn .bi{width:1.05em;height:1.05em;margin-left:10px;flex:none}

/* ---------- MAP: VIC pulses gold; active-branch teal ---------------------- */
.adw-map-chip.tone-gold{border-color:var(--ad-gold-deep);background:#fffdf4}
.adw-map-chip.tone-gold .t{color:#6a4f00}
@media(prefers-reduced-motion:no-preference){
  .adw-aumap-state.tone-gold path{animation:adwPulseState 2.4s ease-in-out infinite}
  @keyframes adwPulseState{0%,100%{fill:#fcd666}50%{fill:#f5b94d}}
  .adw-map-chip.tone-gold b{animation:adwPulseChip 2.4s ease-in-out infinite}
  @keyframes adwPulseChip{0%,100%{box-shadow:0 0 0 0 rgba(252,214,102,.55)}50%{box-shadow:0 0 0 6px rgba(252,214,102,0)}}
}

/* ---------- POLICY: "how it's made" strip above the buttons -------------- */
.adw-polsteps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:36px 0 8px}
.adw-polsteps::before{content:"";position:absolute;top:40px;left:10%;right:10%;height:2px;background:repeating-linear-gradient(90deg,#dcd5c0 0 10px,transparent 10px 20px);z-index:0}
.adw-polstep{position:relative;z-index:1;background:#fff;border:1px solid var(--ad-border);border-radius:16px;padding:20px 18px 18px;text-align:center;box-shadow:var(--ad-shadow-soft);transition:transform .18s ease,box-shadow .18s ease}
.adw-polstep:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ad-green)}
@media(prefers-reduced-motion:reduce){.adw-polstep:hover{transform:none}}
.adw-polstep .ic{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 10px;border-radius:14px;background:linear-gradient(135deg,#1f877a,var(--ad-green-deep));color:#fff}
.adw-polstep .ic svg{width:24px;height:24px}
.adw-polstep .num{display:inline-block;font-size:10.5px;font-weight:900;letter-spacing:1.4px;color:#6a4f00;background:#fdeec4;border-radius:999px;padding:3px 10px;margin-bottom:8px}
.adw-polstep b{display:block;font-size:16.5px;font-weight:900;letter-spacing:-.3px;color:var(--ad-ink);margin-bottom:6px}
.adw-polstep p{margin:0;font-size:13px;line-height:1.55;color:#5b6b66}
@media(max-width:960px){.adw-polsteps{grid-template-columns:1fr 1fr}.adw-polsteps::before{display:none}}
@media(max-width:540px){.adw-polsteps{grid-template-columns:1fr}}

/* ======================================================================
   NATIONAL v6 — site-wide reveal system, slash labels (pills retired),
   short photographic heroes, policy hub v2 (tiles/tree/flow), native
   Our People + state division pages, Interactive Policy Experiences.
   Appended last — later rules win.
   ====================================================================== */

/* ---------- REVEALS: the Apple-style scroll transitions ------------------ */
@media(prefers-reduced-motion:no-preference){
  html.adw-rv [data-rv]{opacity:0;transform:translateY(26px) scale(.985)}
  html.adw-rv [data-rv].rv-in{opacity:1;transform:none;transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1);transition-delay:var(--rv-d,0s)}
}

/* ---------- SLASH LABELS — the pill's replacement, everywhere ------------ */
.adw-slashline{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:900;letter-spacing:2.6px;text-transform:uppercase;color:var(--ad-green-deep)}
.adw-slashline::before{content:"";width:26px;height:10px;background:var(--ad-gold);transform:skewX(-18deg);border-radius:2px;flex:none}
.adw-slashline.light{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.5)}
/* retire the old bordered-pill eyebrow across the whole site */
.adw-eyebrow,.adw-ta-head .adw-eyebrow.light{display:inline-flex;align-items:center;gap:10px;background:transparent;border:0;padding:0;border-radius:0;font-size:12px;font-weight:900;letter-spacing:2.6px;text-transform:uppercase;color:var(--ad-green-deep)}
.adw-eyebrow::before{content:"";width:26px;height:10px;background:var(--ad-gold);transform:skewX(-18deg);border-radius:2px;flex:none}
.adw-eyebrow.light{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.adw-takeaction .adw-eyebrow.light{color:var(--ad-ink);text-shadow:none}

/* ---------- SHORT PHOTOGRAPHIC HERO over the gold rule ------------------- */
.adw-ph2{position:relative;overflow:hidden;display:flex;align-items:flex-end;min-height:clamp(300px,44vh,470px);padding:clamp(84px,11vw,124px) 0 clamp(34px,5vw,56px);color:#fff;border-bottom:10px solid var(--ad-gold)}
.adw-ph2 .img{position:absolute;inset:0;background-size:cover;background-position:center 32%;background-color:#15655a}
.adw-ph2::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,26,22,.66) 0%,rgba(10,26,22,.34) 60%,rgba(10,26,22,.2) 100%),linear-gradient(180deg,rgba(10,26,22,.16),rgba(10,26,22,.52))}
.adw-ph2 .adw-wrap{position:relative;z-index:2;width:100%}
.adw-ph2 h1{font-size:clamp(38px,6.2vw,74px);font-weight:900;letter-spacing:-1.8px;line-height:1.04;margin:14px 0 12px;color:#fff;text-shadow:0 3px 24px rgba(0,0,0,.45);text-wrap:balance}
.adw-ph2 .lead{font-size:clamp(16px,2vw,20px);font-weight:600;max-width:62ch;color:rgba(255,255,255,.97);line-height:1.5;margin:0;text-shadow:0 2px 14px rgba(0,0,0,.5)}

/* ---------- HOMEPAGE: hero CTAs centred + confident ---------------------- */
.adw-hero-v4 .adw-hero-cta{justify-content:center;gap:16px;margin-top:42px}
.adw-hero-v4 .adw-hero-cta .adw-btn{min-width:216px;justify-content:space-between;border-radius:16px;padding:16px 18px 16px 26px;font-weight:900;letter-spacing:.1px;box-shadow:0 24px 50px -18px rgba(0,0,0,.55);transition:transform .18s ease,box-shadow .18s ease,background .15s}
.adw-hero-v4 .adw-hero-cta .adw-btn:hover{transform:translateY(-3px);box-shadow:0 30px 58px -18px rgba(0,0,0,.6)}
.adw-hero-v4 .adw-btn .bi{width:36px;height:36px;padding:8px;margin-left:16px;border-radius:12px;background:rgba(22,34,31,.14);flex:none;transition:transform .18s ease}
.adw-hero-v4 .adw-btn:hover .bi{transform:translateX(3px)}
.adw-hero-v4 .adw-btn-gold{background:linear-gradient(160deg,var(--ad-gold),var(--ad-gold-deep));color:var(--ad-ink)}
.adw-hero-v4 .adw-btn-paper .bi{background:#ece9de;color:var(--ad-green-deep)}
@media(max-width:700px){.adw-hero-v4 .adw-hero-cta{flex-direction:column;align-items:stretch}.adw-hero-v4 .adw-hero-cta .adw-btn{min-width:0}}

/* ---------- HOMEPAGE: welcome letter, elevated --------------------------- */
body[data-page="/"] .adw-sheet.adw-welcome::before{content:"";display:block;position:absolute;top:16px;left:50%;transform:translateX(-50%);width:58px;height:6px;border-radius:999px;background:#e9e3d1}
body[data-page="/"] .adw-welcome-h::after{content:"";display:block;width:66px;height:5px;border-radius:999px;margin:20px auto 0;background:linear-gradient(90deg,var(--ad-green),var(--ad-gold))}
body[data-page="/"] .adw-welcome .letter{position:relative}
body[data-page="/"] .adw-welcome .letter::before{content:"\201C";position:absolute;top:-44px;left:-14px;font-family:Georgia,'Times New Roman',serif;font-size:150px;line-height:1;color:rgba(252,214,102,.5);pointer-events:none}
body[data-page="/"] .adw-welcome .letter>p:first-of-type::first-letter{float:left;font-size:56px;line-height:.82;font-weight:900;color:var(--ad-green-deep);margin:5px 10px 0 0}
body[data-page="/"] .adw-letter-card{transition:transform .25s ease,box-shadow .25s ease}
body[data-page="/"] .adw-letter-card:hover{transform:translateY(-4px) rotate(-.4deg)}

/* ---------- HOMEPAGE: policy steps hide on mobile; hero buttons ticket --- */
@media(max-width:760px){body[data-page="/"] .adw-polsteps{display:none}}
body[data-page="/"] .adw-policy-actions{display:grid;grid-template-columns:repeat(2,minmax(0,390px));justify-content:center;gap:18px;margin-top:36px}
body[data-page="/"] .adw-policy-actions .adw-btn{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:16px;padding:19px 26px;font-size:16px;font-weight:900;letter-spacing:.2px;transition:transform .18s ease,box-shadow .18s ease}
body[data-page="/"] .adw-policy-actions .adw-btn-out{background:#fff;border:2px solid var(--ad-ink);color:var(--ad-ink);box-shadow:0 16px 34px -22px rgba(22,34,31,.4)}
body[data-page="/"] .adw-policy-actions .adw-btn-out:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ad-gold)}
body[data-page="/"] .adw-policy-actions .adw-btn-green{background:linear-gradient(120deg,#1f877a,var(--ad-green-deep));color:#fff;border:2px solid transparent;box-shadow:0 18px 38px -20px rgba(21,101,90,.65)}
body[data-page="/"] .adw-policy-actions .adw-btn-green:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ad-gold)}
@media(max-width:640px){body[data-page="/"] .adw-policy-actions{grid-template-columns:1fr}}

/* ---------- POLICY HUB v2 -------------------------------------------------- */
.adw-ph2-intro{padding-bottom:clamp(20px,3vw,36px)!important}
.adw-ph2-intro .cols{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(26px,5vw,70px);align-items:center}
.adw-ph2-intro h2{font-size:clamp(30px,4.6vw,54px);font-weight:900;letter-spacing:-1.4px;line-height:1.06;margin:0 0 16px;color:var(--ad-ink)}
.adw-ph2-intro .txt p{font-size:clamp(15.5px,1.9vw,18px);line-height:1.72;color:#4a5a55;margin:0;max-width:58ch}
.adw-ph2-intro .tiles{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.adw-ph2-intro .tile{background:#fff;border:2px solid var(--ad-ink);border-radius:16px;padding:24px 16px 20px;text-align:center;box-shadow:6px 6px 0 var(--ad-gold)}
.adw-ph2-intro .tile b{display:block;font-size:clamp(34px,4vw,48px);font-weight:900;letter-spacing:-1px;color:var(--ad-ink);line-height:1}
.adw-ph2-intro .tile span{display:block;margin-top:8px;font-size:11.5px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase;color:#5b6b66}
@media(max-width:860px){.adw-ph2-intro .cols{grid-template-columns:1fr;gap:26px}}

.adw-tree-wrap{padding-top:clamp(20px,3vw,36px)!important}
/* the diagram is centred, so the words above it should be too */
.adw-tree-wrap .adw-sec-head{max-width:760px;margin-inline:auto;text-align:center}
/* the closing CTA carries its own generous padding — the section around it
   doesn't need to add another 88px top and bottom */
.adw-hub-close{padding:0!important}
.adw-hub-close .adw-cta{margin:clamp(34px,5vw,60px) 0}
.adw-tree{max-width:980px;margin:0 auto;text-align:center}
.adw-tree .root{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0}
.adw-tree .chip{display:inline-flex;flex-direction:column;align-items:center;gap:2px;padding:14px 26px;border-radius:16px;font-size:16px;font-weight:900;letter-spacing:-.2px}
.adw-tree .chip .s{font-size:10.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;opacity:.72}
.adw-tree .chip.members{background:#fff;border:2px solid var(--ad-ink);color:var(--ad-ink);box-shadow:5px 5px 0 var(--ad-green)}
.adw-tree .trunk{width:clamp(28px,6vw,84px);height:3px;background:repeating-linear-gradient(90deg,#c9c2ac 0 8px,transparent 8px 15px)}
.adw-tree .chip.platform{background:linear-gradient(120deg,#1f877a,var(--ad-green-deep));color:#fff;box-shadow:5px 5px 0 var(--ad-gold)}
.adw-tree .chip.platform .s{color:var(--ad-gold);opacity:1}
.adw-tree .fan{display:block;width:3px;height:36px;margin:8px auto;background:repeating-linear-gradient(180deg,#c9c2ac 0 8px,transparent 8px 14px)}
.adw-tree .leaves{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.adw-tree .leaves a{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1.5px solid var(--ad-border);border-radius:12px;padding:11px 18px;font-size:14px;font-weight:800;color:var(--ad-ink);text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s}
/* a dot in the area's own colour, so the diagram maps onto the cards above */
.adw-tree .leaves a::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--ar-a,var(--ad-green))}
.adw-tree .leaves a:hover,.adw-tree .leaves a:focus-visible{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ar-a,var(--ad-gold));border-color:var(--ar-deep,var(--ad-gold-deep))}
@media(prefers-reduced-motion:no-preference){
  html.adw-rv .adw-tree[data-rv] .leaves a{opacity:0;transform:translateY(10px)}
  html.adw-rv .adw-tree[data-rv].rv-in .leaves a{opacity:1;transform:none;transition:opacity .5s ease,transform .5s cubic-bezier(.2,.8,.25,1);transition-delay:calc(.3s + var(--i,0)*.045s)}
}
@media(max-width:640px){.adw-tree .root{flex-direction:column;gap:8px}.adw-tree .trunk{width:3px;height:26px;background:repeating-linear-gradient(180deg,#c9c2ac 0 8px,transparent 8px 15px)}}

.adw-ph2-cards{padding-top:clamp(24px,3.4vw,44px)!important}
.adw-polcard3{display:flex;flex-direction:column;background:#fff;border:1px solid var(--ad-border);border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--ad-shadow-soft);transition:transform .18s ease,box-shadow .18s ease;scroll-margin-top:120px}
.adw-polcard3:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ad-gold)}
@media(prefers-reduced-motion:reduce){.adw-polcard3:hover{transform:none}}
.adw-polcard3 .img{position:relative;aspect-ratio:16/9;background-size:cover;background-position:center;background-color:#dff3ee;overflow:hidden}
/* a touch deeper at the foot so the number always has something to sit on,
   whatever the photograph behind it */
.adw-polcard3 .img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,40,36,0) 38%,rgba(13,40,36,.62) 100%);transition:opacity .25s}
.adw-polcard3 .img::before{content:"";position:absolute;inset:0;background:inherit;background-size:cover;background-position:center;transform:scale(1);transition:transform .5s cubic-bezier(.2,.8,.25,1)}
@media(prefers-reduced-motion:no-preference){.adw-polcard3:hover .img::before{transform:scale(1.045)}}
/* the big bare numeral standing on the photograph — the treatment the live site
   uses. It was briefly boxed into a chip; the box read as a badge stuck on top
   of the image rather than part of it, so the numeral is back and the gradient
   above does the legibility work. */
.adw-polcard3 .img .num{position:absolute;left:16px;bottom:10px;z-index:2;
  font-size:34px;font-weight:900;letter-spacing:-1.5px;color:#fff;
  text-shadow:0 3px 16px rgba(0,0,0,.6);font-variant-numeric:tabular-nums}
.adw-polcard3 .body{display:flex;flex-direction:column;gap:8px;padding:20px 22px 18px;flex:1}
.adw-polcard3 h3{margin:0;font-size:20px;font-weight:900;letter-spacing:-.4px;color:var(--ad-ink);line-height:1.18;text-wrap:balance}
/* the area overviews are stored pre-trimmed, so hold every card to the same
   three lines and let the cards in a row line up */
.adw-polcard3 p{margin:0;font-size:14px;line-height:1.6;color:#5b6b66;flex:1;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.adw-polcard3 .go{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;
  border-top:1px solid var(--ad-border);font-size:12px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;color:var(--ad-green-deep)}
.adw-polcard3 .go .arrow{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;flex:0 0 26px;
  background:var(--ad-gold-soft,#fdeec4);color:var(--ad-green-deep);font-size:14px;transition:transform .18s,background .18s}
.adw-polcard3:hover .go .arrow{transform:translateX(3px);background:var(--ad-gold)}
.adw-polcard3:hover .img::after{opacity:.88}
.adw-polcard3:focus-visible{outline:3px solid var(--ad-green-deep);outline-offset:3px}

/* ---- area colours ------------------------------------------------------
   Every policy area carries a colour (src/lib/areaTheme.ts; editors can
   override it per area in /keystatic → Policies → Policy areas → Area
   colour). The theming is deliberately light — a top rule on the card, the
   read-on row, the diagram leaves and the area hub's header — so nine areas
   feel like a family rather than nine different sites. Falls back to the
   house teal wherever --ar-* isn't set. */
.adw-polcard3--themed{border-top:4px solid var(--ar-a,#29a895)}
.adw-polcard3--themed .go{color:var(--ar-deep,#15655a)}
.adw-polcard3--themed .go .arrow{background:var(--ar-wash,#fdeec4);color:var(--ar-deep,#15655a)}
.adw-polcard3--themed:hover .go .arrow{background:var(--ar-a,#29a895);color:#fff}
.adw-polcard3--themed:focus-visible{outline-color:var(--ar-deep,#15655a)}

.adw-flow-wrap{background:linear-gradient(180deg,#fff 0%,var(--ad-cream-soft) 100%);border-block:1px solid var(--ad-border)}
.adw-flow{position:relative;padding-top:6px}
.adw-flow .rail{position:absolute;top:46px;left:7%;right:7%;height:4px;border-radius:99px;background:#e8e2d0;overflow:hidden}
.adw-flow .rail .fill{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ad-green),var(--ad-gold));transition:width .6s cubic-bezier(.2,.8,.25,1)}
.adw-flow .nodes{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;z-index:1;align-items:stretch}
.adw-flow .node{display:flex;flex-direction:column;align-items:center;background:#fff;border:1.5px solid var(--ad-border);border-radius:18px;padding:22px 18px 18px;text-align:center;cursor:pointer;font:inherit;color:inherit;transition:transform .2s ease,box-shadow .2s ease,border-color .2s}
@media(prefers-reduced-motion:no-preference){.adw-flow .node:hover{transform:translateY(-3px);box-shadow:0 16px 30px -22px rgba(29,42,40,.5)}}
.adw-flow .node:hover{border-color:var(--ad-green)}
.adw-flow .node:focus-visible{outline:3px solid var(--ad-green);outline-offset:2px}
.adw-flow .node .ic{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 10px;border-radius:16px;background:#f0ece0;color:var(--ad-green-deep);transition:background .2s,color .2s}
.adw-flow .node .ic svg{width:26px;height:26px}
.adw-flow .node .num{display:inline-block;font-size:10.5px;font-weight:900;letter-spacing:1.4px;color:#6a4f00;background:#fdeec4;border-radius:8px;padding:3px 10px;margin-bottom:8px}
.adw-flow .node b{display:block;font-size:16.5px;font-weight:900;letter-spacing:-.3px;color:var(--ad-ink)}
.adw-flow .node p{max-height:0;opacity:0;overflow:hidden;margin:0;font-size:13.5px;line-height:1.55;color:#5b6b66;transition:max-height .45s cubic-bezier(.2,.8,.25,1),opacity .35s,margin .3s}
.adw-flow .node.is-on{border-color:var(--ad-ink);transform:translate(-2px,-4px);box-shadow:6px 6px 0 var(--ad-gold)}
.adw-flow .node.is-on .ic{background:linear-gradient(135deg,#1f877a,var(--ad-green-deep));color:#fff}
.adw-flow .node.is-on p{max-height:150px;opacity:1;margin-top:7px}
@media(prefers-reduced-motion:reduce){.adw-flow .node.is-on{transform:none}.adw-flow .node p{max-height:none;opacity:1;margin-top:7px}}
@media(max-width:960px){.adw-flow .rail{display:none}.adw-flow .nodes{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.adw-flow .nodes{grid-template-columns:1fr}.adw-flow .node p{max-height:none;opacity:1;margin-top:7px}}

/* ---------- OUR PEOPLE (native) ------------------------------------------ */
.adw-pp-sechead{display:flex;align-items:baseline;gap:16px;margin:0 0 26px;flex-wrap:wrap}
.adw-pp-sechead h2{font-size:clamp(28px,4vw,44px);font-weight:900;letter-spacing:-1.2px;color:var(--ad-ink);margin:0;display:inline-flex;align-items:center;gap:14px}
.adw-pp-sechead h2::before{content:"";width:30px;height:12px;background:var(--ad-gold);transform:skewX(-18deg);border-radius:2px;flex:none}
.adw-pp-sechead .count{font-size:12px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase;color:#5b6b66}
.adw-pp-pres{display:grid;grid-template-columns:280px 1fr;gap:clamp(24px,4vw,54px);background:#fff;border:1px solid var(--ad-border);border-radius:24px;padding:clamp(24px,3.4vw,44px);box-shadow:0 34px 70px -34px rgba(22,34,31,.35);margin-bottom:clamp(36px,5vw,60px)}
.adw-pp-pres .side{text-align:center}
.adw-pp-pres .side .ph{width:min(230px,100%);margin:0 auto 16px;aspect-ratio:3/3.4;border-radius:20px;overflow:hidden;box-shadow:0 20px 44px -20px rgba(20,80,70,.55);border:4px solid #fff;outline:2px solid var(--ad-gold)}
.adw-pp-pres .side .ph img{width:100%;height:100%;object-fit:cover;display:block}
.adw-pp-pres .side .badge{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:900;letter-spacing:1.8px;text-transform:uppercase;color:#6a4f00;background:#fdeec4;border-radius:8px;padding:5px 12px}
.adw-pp-pres .side h3{margin:10px 0 0;font-size:24px;font-weight:900;letter-spacing:-.5px;color:var(--ad-ink)}
.adw-pp-pres .msg{position:relative}
.adw-pp-pres .msg .qm{position:absolute;top:-30px;left:-8px;font-family:Georgia,serif;font-size:110px;line-height:1;color:rgba(252,214,102,.55);pointer-events:none}
.adw-pp-pres .msg p{position:relative;font-size:16.5px;line-height:1.75;color:#3a4a45;margin:0 0 14px}
.adw-pp-pres .msg .signoff{font-family:var(--ad-font-quote);font-style:italic;font-size:22px;color:var(--ad-green-deep);font-weight:700}
.adw-pp-pres .msg .cap{display:inline-flex;align-items:center;gap:10px;font-size:11.5px;font-weight:900;letter-spacing:1.8px;text-transform:uppercase;color:var(--ad-green-deep);margin:4px 0 0}
.adw-pp-pres .msg .cap::before{content:"";width:22px;height:3px;border-radius:2px;background:var(--ad-gold)}
@media(max-width:860px){.adw-pp-pres{grid-template-columns:1fr}}
.adw-pp-group{display:flex;align-items:center;gap:12px;font-size:12.5px;font-weight:900;letter-spacing:2.2px;text-transform:uppercase;color:#5b6b66;margin:34px 0 16px}
.adw-pp-group::after{content:"";flex:1;height:1.5px;background:var(--ad-border)}
.adw-pp-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.adw-pp-card{margin:0;background:#fff;border:1px solid var(--ad-border);border-radius:18px;overflow:hidden;box-shadow:var(--ad-shadow-soft);transition:transform .18s ease,box-shadow .18s ease}
.adw-pp-card:hover{transform:translateY(-4px);box-shadow:0 26px 48px -22px rgba(22,34,31,.4)}
.adw-pp-card .ph{aspect-ratio:3/3.2;overflow:hidden;background:linear-gradient(160deg,#eaf3f0,#dcebe7)}
.adw-pp-card .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.adw-pp-card:hover .ph img{transform:scale(1.05)}
.adw-pp-card figcaption{padding:12px 14px 14px;border-top:3px solid var(--ad-gold)}
.adw-pp-card h3{margin:0;font-size:15.5px;font-weight:900;letter-spacing:-.2px;color:var(--ad-ink);line-height:1.25}
.adw-pp-card .role{display:block;margin-top:3px;font-size:11.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--ad-green-deep)}
@media(max-width:960px){.adw-pp-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.adw-pp-grid{grid-template-columns:1fr 1fr;gap:12px}}
.adw-pp-divgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.adw-pp-div{display:flex;flex-direction:column;background:#fff;border:1px solid var(--ad-border);border-radius:20px;padding:24px 24px 20px;box-shadow:var(--ad-shadow-soft);transition:transform .18s ease,box-shadow .18s ease}
.adw-pp-div:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ad-green)}
.adw-pp-div.is-vic:hover{box-shadow:6px 6px 0 var(--ad-gold)}
.adw-pp-div header{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.adw-pp-div .code{display:grid;place-items:center;min-width:56px;height:44px;padding:0 10px;border-radius:12px;background:linear-gradient(120deg,#1f877a,var(--ad-green-deep));color:#fff;font-size:16px;font-weight:900;letter-spacing:.5px}
.adw-pp-div.is-vic .code{background:linear-gradient(120deg,var(--ad-gold),var(--ad-gold-deep));color:var(--ad-ink)}
.adw-pp-div .nm b{display:block;font-size:19px;font-weight:900;letter-spacing:-.3px;color:var(--ad-ink)}
.adw-pp-div .nm span{font-size:11.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:#8a948f}
.adw-pp-div .tag{margin-left:auto;font-size:10.5px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;color:var(--ad-green-deep);background:#e2f6f0;border-radius:8px;padding:5px 10px}
.adw-pp-div .tag.gold{color:#6a4f00;background:#fdeec4;animation:adwPulseChip 2.4s ease-in-out infinite}
.adw-pp-div .blurb{font-size:14.5px;line-height:1.65;color:#5b6b66;margin:0 0 12px}
.adw-pp-div .note{display:flex;gap:8px;font-size:13.5px;font-weight:700;line-height:1.5;color:#6a4f00;background:#fdf3cf;border-left:4px solid var(--ad-gold-deep);border-radius:0 10px 10px 0;padding:10px 14px;margin:0 0 12px}
.adw-pp-div .exec{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}
.adw-pp-div .exec li{display:flex;align-items:center;gap:12px;background:#fbfaf6;border:1px solid var(--ad-border);border-radius:12px;padding:8px 12px}
.adw-pp-div .exec img,.adw-pp-div .exec .init{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:none}
.adw-pp-div .exec .init{display:grid;place-items:center;background:linear-gradient(135deg,#1f877a,var(--ad-green-deep));color:#fff;font-size:13px;font-weight:900}
.adw-pp-div .exec .who b{display:block;font-size:14.5px;font-weight:800;color:var(--ad-ink);line-height:1.2}
.adw-pp-div .exec .who i{font-style:normal;font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--ad-green-deep)}
.adw-pp-div footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--ad-border)}
.adw-pp-div footer .go{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;color:var(--ad-ink);text-decoration:none;border-bottom:3px solid var(--ad-gold);padding-bottom:2px;transition:gap .15s}
.adw-pp-div footer .go:hover{gap:12px}
.adw-pp-div footer .join{font-size:13.5px;font-weight:800;color:var(--ad-green-deep);text-decoration:none}
.adw-pp-div footer .join:hover{text-decoration:underline}
@media(max-width:860px){.adw-pp-divgrid{grid-template-columns:1fr}}
.adw-pp-lifenames{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.adw-pp-lifenames span{background:#fff;border:1.5px solid var(--ad-border);border-radius:11px;padding:9px 15px;font-size:14px;font-weight:700;color:var(--ad-ink);transition:transform .15s,box-shadow .15s,border-color .15s}
.adw-pp-lifenames span:hover{transform:translateY(-2px);border-color:var(--ad-gold-deep);box-shadow:3px 3px 0 var(--ad-gold)}

/* ---------- STATE DIVISION PAGES ------------------------------------------ */
.adw-st-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#0f3d36 0%,#15655a 55%,#1f877a 100%);color:#fff;padding:clamp(84px,11vw,132px) 0 clamp(40px,6vw,66px);border-bottom:10px solid var(--ad-gold)}
.adw-st-hero .wm{position:absolute;right:-1%;top:50%;transform:translateY(-52%);font-size:clamp(170px,32vw,400px);font-weight:900;letter-spacing:-10px;color:rgba(255,255,255,.07);line-height:1;pointer-events:none;user-select:none}
.adw-st-hero .adw-wrap{position:relative;z-index:2}
.adw-st-hero h1{font-size:clamp(38px,6.2vw,74px);font-weight:900;letter-spacing:-2px;line-height:1.04;margin:14px 0 16px}
.adw-st-hero .tag{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:10px;background:rgba(252,214,102,.14);border:1.5px solid rgba(252,214,102,.55);color:var(--ad-gold);font-size:12px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase}
.adw-st-explainer{display:flex;gap:18px;align-items:flex-start;background:#fff;border:2px solid var(--ad-ink);border-radius:18px;padding:22px 26px;box-shadow:6px 6px 0 var(--ad-gold);margin-bottom:18px}
.adw-st-explainer .ic{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:14px;background:linear-gradient(135deg,#1f877a,var(--ad-green-deep));color:#fff}
.adw-st-explainer .ic svg{width:24px;height:24px}
.adw-st-explainer p{margin:0;font-size:16px;font-weight:600;line-height:1.65;color:var(--ad-ink)}
.adw-st-note{display:flex;gap:14px;align-items:flex-start;background:#fdf3cf;border-left:5px solid var(--ad-gold-deep);border-radius:0 14px 14px 0;padding:16px 20px;margin-bottom:18px}
.adw-st-note .ic{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:50%;background:var(--ad-gold);color:var(--ad-ink);font-size:14px;font-weight:900}
.adw-st-note p{margin:0;font-size:15px;font-weight:700;line-height:1.6;color:#5a4300}
.adw-st-body .adw-pp-sechead{margin-top:clamp(30px,4vw,46px)}
.adw-st-exec{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.adw-st-execcard{background:#fff;border:1px solid var(--ad-border);border-radius:18px;padding:24px 16px 20px;text-align:center;box-shadow:var(--ad-shadow-soft);transition:transform .18s ease,box-shadow .18s ease}
.adw-st-execcard:hover{transform:translateY(-4px);box-shadow:0 24px 44px -22px rgba(22,34,31,.4)}
.adw-st-execcard img,.adw-st-execcard .init{width:86px;height:86px;border-radius:50%;object-fit:cover;margin:0 auto 12px;display:block;border:3px solid #fff;outline:2px solid var(--ad-gold)}
.adw-st-execcard .init{display:grid;place-items:center;background:linear-gradient(135deg,#1f877a,var(--ad-green-deep));color:#fff;font-size:24px;font-weight:900}
.adw-st-execcard b{display:block;font-size:16.5px;font-weight:900;letter-spacing:-.2px;color:var(--ad-ink)}
.adw-st-execcard span{display:block;margin-top:4px;font-size:11.5px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--ad-green-deep)}
@media(max-width:920px){.adw-st-exec{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.adw-st-exec{grid-template-columns:1fr}}

/* ---------- INTERACTIVE POLICY EXPERIENCES -------------------------------- */
.adw-xp-hero{position:relative;overflow:hidden;display:flex;align-items:flex-end;min-height:clamp(380px,56vh,600px);padding:clamp(90px,12vw,140px) 0 clamp(40px,6vw,64px);color:#fff;border-bottom:10px solid var(--ad-gold);background:linear-gradient(120deg,#0f3d36,#15655a)}
.adw-xp-hero .img{position:absolute;inset:0;background-size:cover;background-position:center 30%}
.adw-xp-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,26,22,.72) 0%,rgba(10,26,22,.42) 55%,rgba(10,26,22,.25) 100%),linear-gradient(180deg,rgba(10,26,22,.2),rgba(10,26,22,.6))}
.adw-xp-hero .adw-wrap{position:relative;z-index:2}
.adw-xp-hero h1{font-size:clamp(38px,6.4vw,78px);font-weight:900;letter-spacing:-2px;line-height:1.03;margin:14px 0 14px;color:#fff;text-shadow:0 3px 26px rgba(0,0,0,.5);text-wrap:balance;max-width:22ch}
.adw-xp-hero .lead{font-size:clamp(16px,2.1vw,21px);font-weight:600;max-width:60ch;color:rgba(255,255,255,.97);line-height:1.55;margin:0;text-shadow:0 2px 14px rgba(0,0,0,.5)}
.adw-xp-hero .crumb{display:flex;align-items:center;gap:10px;margin:20px 0 0;font-size:13px;font-weight:800;letter-spacing:.4px;color:rgba(255,255,255,.85)}
.adw-xp-hero .crumb a{color:var(--ad-gold);text-decoration:none}
.adw-xp-hero .crumb a:hover{text-decoration:underline}
.adw-xp-stats{background:#12211d;color:#fff;padding:clamp(36px,5vw,56px) 0}
.adw-xp-stats .row{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,3vw,36px)}
.adw-xp-stats .stat b{display:flex;align-items:baseline;gap:4px;font-size:clamp(36px,4.6vw,58px);font-weight:900;letter-spacing:-2px;color:var(--ad-gold);line-height:1}
.adw-xp-stats .stat b i{font-style:normal;font-size:.55em;letter-spacing:0}
.adw-xp-stats .stat .l{display:block;margin-top:10px;font-size:13.5px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;color:#fff}
.adw-xp-stats .stat .s{display:block;margin-top:7px;font-size:12.5px;line-height:1.55;color:rgba(255,255,255,.6)}
@media(max-width:920px){.adw-xp-stats .row{grid-template-columns:1fr 1fr;gap:26px}}
@media(max-width:480px){.adw-xp-stats .row{grid-template-columns:1fr}}
.adw-xp-pillars .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.adw-xp-pillars .pillar{background:#fff;border:1px solid var(--ad-border);border-radius:18px;padding:24px 22px 20px;box-shadow:var(--ad-shadow-soft);transition:transform .18s ease,box-shadow .18s ease}
.adw-xp-pillars .pillar:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ad-green)}
.adw-xp-pillars .pillar .ic{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#1f877a,var(--ad-green-deep));color:#fff;margin-bottom:14px}
.adw-xp-pillars .pillar .ic svg{width:24px;height:24px}
.adw-xp-pillars .pillar b{display:block;font-size:17.5px;font-weight:900;letter-spacing:-.3px;color:var(--ad-ink);margin-bottom:7px}
.adw-xp-pillars .pillar p{margin:0;font-size:14px;line-height:1.62;color:#5b6b66}
@media(max-width:920px){.adw-xp-pillars .grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.adw-xp-pillars .grid{grid-template-columns:1fr}}
.adw-xp-compare{background:linear-gradient(180deg,var(--ad-cream-soft),#fff);border-block:1px solid var(--ad-border)}
.adw-xp-compare .duel{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,32px);align-items:stretch}
.adw-xp-compare .vs{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--ad-ink);color:var(--ad-gold);font-size:15px;font-weight:900;letter-spacing:1px;border:4px solid #fff;box-shadow:0 14px 30px -12px rgba(22,34,31,.55)}
.adw-xp-compare .col{border-radius:20px;padding:clamp(22px,3vw,34px)}
.adw-xp-compare .col h3{margin:0 0 16px;font-size:clamp(19px,2.4vw,24px);font-weight:900;letter-spacing:-.4px}
.adw-xp-compare .col ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.adw-xp-compare .col li{position:relative;padding-left:34px;font-size:15px;line-height:1.6;font-weight:600}
.adw-xp-compare .col li::before{position:absolute;left:0;top:0;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:12.5px;font-weight:900}
.adw-xp-compare .locked{background:#1c2b27;color:rgba(255,255,255,.92);box-shadow:0 30px 60px -30px rgba(22,34,31,.6)}
.adw-xp-compare .locked h3{color:#ffb3a7}
.adw-xp-compare .locked li::before{content:"✕";background:rgba(255,179,167,.16);color:#ffb3a7}
.adw-xp-compare .free{background:#fff;border:2px solid var(--ad-ink);box-shadow:8px 8px 0 var(--ad-gold);color:var(--ad-ink)}
.adw-xp-compare .free h3{color:var(--ad-green-deep)}
.adw-xp-compare .free li::before{content:"✓";background:#e2f6f0;color:var(--ad-green-deep)}
@media(max-width:760px){.adw-xp-compare .duel{grid-template-columns:1fr}.adw-xp-compare .vs{position:static;transform:none;margin:-8px auto}}
.adw-xp-doc .adw-xp-tabs{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:24px}
.adw-xp-doc .adw-xp-tabs button{font:inherit;font-size:14px;font-weight:900;letter-spacing:.2px;color:var(--ad-ink);background:#fff;border:1.5px solid var(--ad-border);border-radius:12px;padding:11px 18px;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s,background .15s}
.adw-xp-doc .adw-xp-tabs button:hover{transform:translateY(-2px);border-color:var(--ad-gold-deep)}
.adw-xp-doc .adw-xp-tabs button[aria-pressed="true"]{background:var(--ad-ink);color:var(--ad-gold);border-color:var(--ad-ink);box-shadow:4px 4px 0 var(--ad-gold)}
.adw-xp-doc.is-tabbed .adw-xp-sec{display:none}
.adw-xp-doc.is-tabbed .adw-xp-sec.is-on{display:block;animation:adwXpFade .45s ease}
@keyframes adwXpFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.adw-xp-doc .adw-prose{max-width:860px}
.adw-xp-done{background:#12211d;color:#fff}
.adw-xp-done .head{max-width:760px;margin-bottom:clamp(24px,4vw,40px)}
.adw-xp-done .head h2{display:inline-flex;align-items:center;gap:14px;font-size:clamp(28px,4.4vw,48px);font-weight:900;letter-spacing:-1.2px;color:#fff;margin:0 0 12px}
.adw-xp-done .head h2::before{content:"";width:30px;height:12px;background:var(--ad-gold);transform:skewX(-18deg);border-radius:2px;flex:none}
.adw-xp-done .head p{margin:0;font-size:16.5px;line-height:1.65;color:rgba(255,255,255,.78)}
.adw-xp-done .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.adw-xp-done .receipt{position:relative;background:#1c2f2a;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:24px 24px 20px;transition:transform .18s ease,border-color .18s,box-shadow .18s}
.adw-xp-done .receipt:hover{transform:translateY(-4px);border-color:rgba(252,214,102,.5);box-shadow:0 24px 48px -24px rgba(0,0,0,.6)}
.adw-xp-done .badge{display:inline-block;font-size:10.5px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase;color:var(--ad-ink);background:var(--ad-gold);border-radius:8px;padding:5px 11px;margin-bottom:12px}
.adw-xp-done .receipt h3{margin:0 0 8px;font-size:19px;font-weight:900;letter-spacing:-.3px;color:#fff;line-height:1.25}
.adw-xp-done .receipt p{margin:0 0 14px;font-size:14px;line-height:1.62;color:rgba(255,255,255,.72)}
.adw-xp-done .receipt a{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;color:var(--ad-gold);text-decoration:none;border-bottom:2.5px solid rgba(252,214,102,.4);padding-bottom:2px;transition:border-color .15s,gap .15s}
.adw-xp-done .receipt a:hover{border-color:var(--ad-gold);gap:12px}
@media(max-width:760px){.adw-xp-done .grid{grid-template-columns:1fr}}

/* ======================================================================
   NATIONAL v7 — sticky bar fix, bottom wing CTAs, section handoffs,
   mobile welcome fold, compact top-right pop-up, split mobile menu CTAs,
   area hubs, state galleries, governance grid, footer polish.
   Appended last — later rules win.
   ====================================================================== */

/* ---------- the header truly sticks (its wrapper was the exact same
   height, so position:sticky had no room to travel — pin the wrapper) --- */
#site-header{position:sticky;top:0;z-index:70}

/* ---------- WINGS: fixed bottom Join/Donate on inner pages -------------- */
.adw-wings{position:fixed;left:0;right:0;bottom:0;z-index:64;display:flex;justify-content:center;gap:0;pointer-events:none;padding:0 8px}
.adw-wing{position:relative;pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;min-width:min(200px,42vw);padding:15px 30px 17px;font-size:15.5px;font-weight:900;letter-spacing:.3px;text-decoration:none;z-index:1}
.adw-wing span{position:relative;z-index:2}
.adw-wing::before{content:"";position:absolute;inset:0;z-index:0;box-shadow:0 -14px 34px -14px rgba(22,34,31,.45)}
.adw-wing-donate{color:var(--ad-ink);margin-right:-14px}
.adw-wing-donate::before{background:linear-gradient(100deg,var(--ad-gold),var(--ad-gold-deep));transform:skewX(-16deg);transform-origin:bottom;border-radius:18px 6px 0 0}
.adw-wing-join{color:#fff;z-index:2}
.adw-wing-join::before{background:linear-gradient(100deg,#1f877a,var(--ad-green-deep));transform:skewX(16deg);transform-origin:bottom;border-radius:6px 18px 0 0;box-shadow:0 -14px 34px -12px rgba(21,101,90,.6)}
.adw-wing-join::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--ad-gold);margin-left:10px;box-shadow:0 0 0 3px rgba(252,214,102,.3);position:relative;z-index:2}
.adw-wing:hover::before{filter:brightness(1.06)}
.adw-wing:focus-visible{outline:3px solid var(--ad-ink);outline-offset:-4px}
@media(prefers-reduced-motion:no-preference){
  .adw-wing-join::before{animation:adwWingPulse 2.6s ease-in-out infinite}
  @keyframes adwWingPulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.12)}}
  .adw-wing-join::after{animation:adwPulseChip 2.6s ease-in-out infinite}
}
/* keep the wings clear of the page end + the game fab on small screens */
body:has(.adw-wings) #site-footer{padding-bottom:64px}
@media(max-width:560px){.adw-wing{min-width:0;flex:1;padding:14px 12px 16px;font-size:14.5px}}

/* ---------- POP-UPS v7: compact top-right card on desktop; mobile waits
   for the hero to scroll past ------------------------------------------- */
@media(min-width:761px){
  .adw-notify-wrap{left:auto;right:20px;bottom:auto;top:88px;max-width:308px;flex-direction:column}
  .adw-notify{padding:14px 16px 16px;border-radius:16px;border-left:0;background:#fffdf6;box-shadow:0 22px 48px -20px rgba(20,40,36,.45),0 0 0 1px rgba(20,40,36,.06);transform:translateX(115%)}
  .adw-notify::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:5px;border-radius:0 4px 4px 0;background:linear-gradient(180deg,var(--ad-gold),var(--ad-gold-deep))}
  .adw-notify-wrap.is-hidden .adw-notify,.adw-notify.is-closed{transform:translateX(115%)!important}
  .adw-notify-img{width:46px;height:46px;border-radius:12px}
  .adw-notify-top{gap:11px;align-items:center;padding-right:20px}
  .adw-notify-title{font-size:15px;line-height:1.25}
  .adw-notify-msg{margin:9px 0 12px;font-size:12.5px;line-height:1.5}
  .adw-notify-btn{padding:9px 14px;font-size:13px;border-radius:11px}
  .adw-notify-x{top:7px;right:8px;font-size:19px}
}
@media(max-width:760px){
  /* mobile: same compact card, pinned below the sticky menu and above the
     hero headline — clear of the CTAs further down */
  .adw-notify-wrap{left:auto;right:10px;bottom:auto;top:66px;max-width:min(330px,calc(100vw - 20px));flex-direction:column}
  .adw-notify{padding:12px 14px 14px;border-radius:14px;border-left:0;background:#fffdf6;box-shadow:0 20px 44px -18px rgba(20,40,36,.5),0 0 0 1px rgba(20,40,36,.06);transform:translateX(115%)}
  .adw-notify::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:5px;border-radius:0 4px 4px 0;background:linear-gradient(180deg,var(--ad-gold),var(--ad-gold-deep))}
  .adw-notify-wrap.is-hidden .adw-notify,.adw-notify.is-closed{transform:translateX(115%)!important}
  .adw-notify-img{width:42px;height:42px;border-radius:10px}
  .adw-notify-top{gap:10px;align-items:center;padding-right:20px}
  .adw-notify-title{font-size:14.5px;line-height:1.25}
  .adw-notify-msg{margin:8px 0 11px;font-size:12px;line-height:1.5}
  .adw-notify-btn{padding:9px 13px;font-size:12.5px;border-radius:10px}
  .adw-notify-x{top:6px;right:7px;font-size:18px}
}

/* ---------- MOBILE MENU: half-width CTA pair under Contact -------------- */
@media(max-width:920px){
  .adw-nav-ctas{flex-direction:row;gap:12px;margin-top:26px}
  .adw-header .adw-nav-ctas .adw-nav-join,
  .adw-header .adw-nav-ctas .adw-nav-donate{flex:1;min-width:0;padding:16px 12px!important;font-size:16.5px!important;gap:8px}
  /* mobile-only swap: Join us carries the gold, Donate the green */
  .adw-header .adw-nav-ctas .adw-nav-join{background:linear-gradient(120deg,var(--ad-gold),var(--ad-gold-deep))!important;color:var(--ad-ink)!important;box-shadow:0 14px 30px -16px rgba(214,170,40,.7)}
  .adw-header .adw-nav-ctas .adw-nav-donate{background:linear-gradient(120deg,#1f877a,var(--ad-green-deep))!important;color:#fff!important;box-shadow:0 16px 34px -16px rgba(21,101,90,.65)}
  .adw-header .adw-nav-ctas .adw-nav-join::after{content:"→";width:26px;height:26px;border-radius:50%;background:rgba(22,34,31,.14);color:var(--ad-ink);display:inline-grid;place-items:center;font-size:15px;font-weight:900;box-shadow:none}
  .adw-header .adw-nav-ctas .adw-nav-donate::after{content:"♥";width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.18);color:var(--ad-gold);display:inline-grid;place-items:center;font-size:13px;box-shadow:none}
}

/* ---------- WELCOME on mobile: mini president strip + folded letter ----- */
.adw-pres-mini{display:none}
@media(max-width:760px){
  body[data-page="/"] .adw-letter-card{display:none}
  .adw-pres-mini{display:grid;grid-template-columns:74px 1fr;gap:4px 16px;align-items:center;background:#fff;border:1px solid var(--ad-border);border-radius:18px;padding:16px;margin:0 0 22px;box-shadow:0 20px 44px -24px rgba(22,34,31,.35)}
  .adw-pres-mini img{grid-row:1/3;width:74px;height:74px;border-radius:50%;object-fit:cover;border:3px solid #fff;outline:2px solid var(--ad-gold)}
  .adw-pres-mini .who b{display:block;font-size:16.5px;font-weight:900;letter-spacing:-.2px;color:var(--ad-ink)}
  .adw-pres-mini .who span{font-size:10.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#5e6f69}
  .adw-pres-mini .ctas{display:flex;gap:8px;margin-top:2px}
  .adw-pres-mini .ctas a{flex:1;text-align:center;font-size:13.5px;font-weight:900;text-decoration:none;border-radius:11px;padding:10px 8px}
  .adw-pres-mini .ctas .j{background:linear-gradient(120deg,#1f877a,var(--ad-green-deep));color:#fff}
  .adw-pres-mini .ctas .d{background:linear-gradient(120deg,var(--ad-gold),var(--ad-gold-deep));color:var(--ad-ink)}
  .adw-pres-mini .free{grid-column:1/3;margin:8px 0 0;font-size:12.5px;font-weight:600;color:#5b6b66;text-align:center;border-top:1px dashed var(--ad-border);padding-top:9px}
  .adw-pres-mini .free b{color:var(--ad-green-deep)}
  /* the fold */
  .adw-letter-more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .65s cubic-bezier(.2,.8,.25,1)}
  .adw-letter-more>div{overflow:hidden;opacity:0;transform:translateY(10px);transition:opacity .5s ease .1s,transform .55s cubic-bezier(.2,.8,.25,1) .1s}
  .letter.is-open .adw-letter-more{grid-template-rows:1fr}
  .letter.is-open .adw-letter-more>div{opacity:1;transform:none}
  .adw-letter-toggle{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin:4px 0 6px;padding:13px 18px;font:inherit;font-size:14.5px;font-weight:900;color:var(--ad-ink);background:#fff;border:2px solid var(--ad-ink);border-radius:14px;cursor:pointer;box-shadow:4px 4px 0 var(--ad-gold);transition:transform .15s,box-shadow .15s}
  .adw-letter-toggle:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ad-gold)}
  .adw-letter-toggle i{width:9px;height:9px;border-right:2.5px solid var(--ad-green-deep);border-bottom:2.5px solid var(--ad-green-deep);transform:rotate(45deg) translateY(-1px);transition:transform .3s}
  .letter.is-open .adw-letter-toggle i{transform:rotate(-135deg) translateY(-2px)}
  /* soft fade above the fold so the cut reads deliberately */
  .letter:not(.is-open) .adw-letter-toggle{position:relative}
  .letter:not(.is-open) .adw-letter-toggle::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:56px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff);pointer-events:none}
}

/* ---------- SECTION HANDOFFS — distinct slash dividers into each act ---- */
body[data-page="/"] .adw-policy,body[data-page="/"] .adw-realdeal,
body[data-page="/"] .adw-statemap,body[data-page="/"] .adw-spotwrap{position:relative}
body[data-page="/"] .adw-policy::before,body[data-page="/"] .adw-realdeal::before,
body[data-page="/"] .adw-statemap::before,body[data-page="/"] .adw-spotwrap::before{
  content:"";display:block;height:14px;margin:0 auto clamp(34px,5vw,56px);border-radius:3px;
  transform:skewX(-18deg) scaleX(.4);opacity:0;transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .6s ease}
body[data-page="/"] .adw-policy:has([data-rv].rv-in)::before,
body[data-page="/"] .adw-realdeal:has([data-rv].rv-in)::before,
body[data-page="/"] .adw-statemap:has([data-rv].rv-in)::before,
body[data-page="/"] .adw-spotwrap:has([data-rv].rv-in)::before{transform:skewX(-18deg) scaleX(1);opacity:1}
/* each act gets its own signature stripe */
body[data-page="/"] .adw-policy::before{width:min(300px,52vw);background:linear-gradient(90deg,var(--ad-gold) 0 44%,transparent 44% 56%,var(--ad-green) 56% 100%)}
body[data-page="/"] .adw-realdeal::before{width:min(340px,58vw);background:var(--ad-ink);background-image:radial-gradient(circle at 10px 7px,var(--ad-gold) 2.5px,transparent 3px);background-size:24px 14px}
body[data-page="/"] .adw-statemap::before{width:min(300px,52vw);background:linear-gradient(90deg,#bfe9de 0 30%,var(--ad-green) 30% 70%,var(--ad-green-deep) 70% 100%)}
body[data-page="/"] .adw-spotwrap::before{width:min(260px,46vw);background:repeating-linear-gradient(90deg,var(--ad-gold) 0 18px,transparent 18px 30px)}
@media(prefers-reduced-motion:reduce){
  body[data-page="/"] .adw-policy::before,body[data-page="/"] .adw-realdeal::before,
  body[data-page="/"] .adw-statemap::before,body[data-page="/"] .adw-spotwrap::before{transform:skewX(-18deg);opacity:1}
}
/* the moved steps close out "people like you help decide" */
body[data-page="/"] .adw-decide .adw-polsteps{margin-top:38px}

/* ---------- generic crumb (area + experience heroes) --------------------- */
.adw-ph2 .crumb{display:flex;align-items:center;gap:10px;margin:18px 0 0;font-size:13px;font-weight:800;letter-spacing:.4px;color:rgba(255,255,255,.85)}
.adw-ph2 .crumb a{color:var(--ad-gold);text-decoration:none}
.adw-ph2 .crumb a:hover{text-decoration:underline}
.adw-area-introprose p{font-size:clamp(15.5px,1.9vw,18px);line-height:1.72;color:#4a5a55;margin:0 0 12px;max-width:58ch}
.adw-area-introprose p:last-child{margin-bottom:0}
.adw-polcard3 .img.noimg{background:linear-gradient(135deg,#1f877a,var(--ad-green-deep))}
.adw-polcard3--themed .img.noimg{background:linear-gradient(135deg,var(--ar-a,#1f877a),var(--ar-deep,var(--ad-green-deep)))}

/* the area hub carries its area's colour on <main> (see [area].astro), so the
   header, the tiles and the platform cards all read as one place. Each of the
   nine hubs is recognisably itself without leaving the house style. */
.adw-area-hero .img{background-color:var(--ar-deep,#15655a)}
/* the area's colour is laid OVER the standard scrim, never instead of it —
   some area photos carry big baked-in type, so the header must stay dark
   enough for white text whatever the palette. */
@supports (background:color-mix(in srgb,red 50%,transparent)){
  .adw-area-hero::after{background:
    linear-gradient(116deg,color-mix(in srgb,var(--ar-deep,#15655a) 52%,transparent) 0%,color-mix(in srgb,var(--ar-a,#29a895) 24%,transparent) 58%,color-mix(in srgb,var(--ar-deep,#15655a) 18%,transparent) 100%),
    linear-gradient(90deg,rgba(10,26,22,.7) 0%,rgba(10,26,22,.46) 60%,rgba(10,26,22,.4) 100%),
    linear-gradient(180deg,rgba(10,26,22,.2),rgba(10,26,22,.56))}
}
.adw-area-page .adw-ph2-intro .tile{box-shadow:6px 6px 0 var(--ar-a,var(--ad-gold))}
/* close the page with a band rather than more white space */
.adw-area-page .adw-tree-wrap{background:var(--ad-cream-soft);border-block:1px solid var(--ad-border);padding-bottom:clamp(28px,4vw,48px)!important}
.adw-area-page .adw-tree-wrap .adw-sec-head{margin-bottom:22px;text-align:center;max-width:none}
.adw-area-page .adw-tree{max-width:900px}

/* ---------- STATE PAGE: "on the ground" gallery -------------------------- */
.adw-st-gallery{position:relative;height:clamp(240px,42vw,420px);border-radius:22px;overflow:hidden;margin:0 0 clamp(28px,4vw,44px);box-shadow:0 34px 70px -30px rgba(22,34,31,.5);border:1px solid var(--ad-border)}
.adw-st-gallery .shot{position:absolute;inset:0;background-size:cover;background-position:center 30%;opacity:0;transition:opacity 1.2s ease}
.adw-st-gallery .shot.is-on{opacity:1}
@media(prefers-reduced-motion:no-preference){
  .adw-st-gallery .shot.is-on{animation:adwKen 8s ease-out forwards}
}
.adw-st-gallery .cap{position:absolute;left:16px;bottom:14px;z-index:2;display:inline-flex;align-items:center;gap:9px;background:rgba(18,33,29,.82);color:#fff;font-size:11.5px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase;padding:9px 16px;border-radius:11px;backdrop-filter:blur(6px)}
.adw-st-gallery .cap .dot{width:8px;height:8px;border-radius:50%;background:var(--ad-gold);animation:adwPulseChip 2.4s ease-in-out infinite}

/* ---------- GOVERNANCE: document grid ------------------------------------ */
.adw-govgrid2{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.adw-govcard2{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--ad-border);border-radius:18px;padding:24px 22px 20px;text-decoration:none;color:inherit;box-shadow:var(--ad-shadow-soft);transition:transform .18s ease,box-shadow .18s ease}
.adw-govcard2:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ad-gold)}
@media(prefers-reduced-motion:reduce){.adw-govcard2:hover{transform:none}}
.adw-govcard2 .ic{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#1f877a,var(--ad-green-deep));color:#fff;margin-bottom:14px}
.adw-govcard2 .ic svg{width:24px;height:24px}
.adw-govcard2 .badge{position:absolute;top:20px;right:20px;font-size:10.5px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase;color:#6a4f00;background:#fdeec4;border-radius:8px;padding:4px 10px}
.adw-govcard2 h3{margin:0 0 8px;font-size:18.5px;font-weight:900;letter-spacing:-.3px;color:var(--ad-ink);line-height:1.22}
.adw-govcard2 p{margin:0 0 14px;font-size:14px;line-height:1.6;color:#5b6b66;flex:1}
.adw-govcard2 .go{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;color:var(--ad-green-deep);border-top:1px solid var(--ad-border);padding-top:12px;transition:gap .15s}
.adw-govcard2:hover .go{gap:12px}
@media(max-width:920px){.adw-govgrid2{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.adw-govgrid2{grid-template-columns:1fr}}

/* ---------- FOOTER v7 — quiet, precise, two menu columns on mobile ------- */
.adw-footer{border-top:0;position:relative}
.adw-footer::before{content:"";display:block;height:5px;background:linear-gradient(90deg,var(--ad-green) 0 62%,var(--ad-gold) 62% 100%)}
.adw-foot-top{display:grid;grid-template-columns:minmax(260px,1.1fr) 2fr;gap:clamp(30px,5vw,70px);align-items:start;padding-bottom:clamp(30px,4vw,46px)}
.adw-foot-brand p{font-size:15px;line-height:1.65;max-width:44ch}
.adw-foot-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.adw-foot-cols>div h4{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:var(--ad-ink);margin:0 0 14px}
.adw-foot-cols>div h4::before{content:"";width:18px;height:8px;background:var(--ad-gold);transform:skewX(-18deg);border-radius:2px;flex:none}
.adw-foot-cols>div a{display:block;position:relative;width:fit-content;font-size:14.5px;font-weight:700;color:#2c4a44;text-decoration:none;padding:5px 0;transition:color .15s}
.adw-foot-cols>div a::after{content:"";position:absolute;left:0;bottom:3px;height:2px;width:100%;background:var(--ad-gold);transform:scaleX(0);transform-origin:left;transition:transform .22s cubic-bezier(.2,.8,.25,1)}
.adw-foot-cols>div a:hover{color:var(--ad-ink)}
.adw-foot-cols>div a:hover::after{transform:scaleX(1)}
.adw-foot-credit{border-radius:12px}
@media(max-width:860px){
  .adw-foot-top{grid-template-columns:1fr;gap:26px}
  /* two menu columns side by side on phones */
  .adw-foot-cols{grid-template-columns:1fr 1fr;gap:22px 18px}
  .adw-foot-cols>div:nth-child(odd):last-child{grid-column:1/-1}
}
@media(max-width:340px){.adw-foot-cols{grid-template-columns:1fr}}

/* the nav hover-underline rule (.adw-nav-links a::after) leaks
   position:absolute + scaleX(0) into the CTA icon chips — reset them so the
   arrow/heart (mobile) and gold dot (desktop) actually render */
.adw-header .adw-nav-ctas .adw-nav-join::after,
.adw-header .adw-nav-ctas .adw-nav-donate::after{position:static;left:auto;right:auto;bottom:auto;transform:none;z-index:auto}

/* ---------- v7.1 tweaks ------------------------------------------------- */
/* hero CTAs: explicit fixed width — nothing (not even the rotating word or
   a long label) can change their size or position */
.adw-hero-v4 .adw-hero-cta .adw-btn{width:232px;min-width:0;flex:none}
@media(max-width:700px){.adw-hero-v4 .adw-hero-cta .adw-btn{width:100%}}
/* mobile president strip: Join us gold on the LEFT, Donate green on the right */
@media(max-width:760px){
  .adw-pres-mini .ctas .j{background:linear-gradient(120deg,var(--ad-gold),var(--ad-gold-deep));color:var(--ad-ink)}
  .adw-pres-mini .ctas .d{background:linear-gradient(120deg,#1f877a,var(--ad-green-deep));color:#fff}
}
/* scroll hint: keep the chevron fully clear of the welcome sheet that
   overlaps the hero's last 96px (it was grazing it on desktop and 12px
   buried on phones) */
.adw-hero-scrollhint{bottom:126px}
@media(max-width:700px){.adw-hero-v4{padding-bottom:200px}.adw-hero-scrollhint{bottom:124px}}

/* ---------- v7.2: letter toggle breathing room --------------------------- */
@media(max-width:760px){
  /* the fade used to end flush on the button's top border, visually chopping
     it — give the button headroom and stop the fade above it */
  .adw-letter-toggle{margin-top:16px}
  .letter:not(.is-open) .adw-letter-toggle::before{bottom:calc(100% + 8px);height:52px}
}
/* phones: ease the hero text down so the top pop-up fully clears "The People's" */
@media(max-width:760px){.adw-hero-content{padding-top:56px}}

/* ======================================================================
   v7.3 — stacked mobile menu CTAs, cinematic act transitions, newsroom
   label cleanup. Appended last — later rules win.
   ====================================================================== */

/* ---------- MOBILE MENU: Join us (gold) on top, Donate (green) below —
   full width, together filling the space left under Contact ------------- */
@media(max-width:920px){
  .adw-nav-links{display:flex;flex-direction:column}
  .adw-nav-ctas{flex:1 1 auto;display:flex;flex-direction:column;gap:14px;margin-top:26px;min-height:0}
  .adw-header .adw-nav-ctas .adw-nav-join,
  .adw-header .adw-nav-ctas .adw-nav-donate{flex:1 1 0;width:100%;min-height:76px;padding:16px 20px!important;font-size:18px!important}
  .adw-header .adw-nav-ctas .adw-nav-join{order:-1}
}

/* ---------- ACT TRANSITIONS v2 — a luminous rule draws outward from the
   centre, then a gold shimmer travels it; the act's heading clears from a
   soft blur. Replaces the skewed stripes on every homepage act. ---------- */
body[data-page="/"] .adw-decide,body[data-page="/"] .adw-takeaction{position:relative}
body[data-page="/"] .adw-decide::before,
body[data-page="/"] .adw-policy::before,
body[data-page="/"] .adw-realdeal::before,
body[data-page="/"] .adw-statemap::before,
body[data-page="/"] .adw-spotwrap::before,
body[data-page="/"] .adw-takeaction::before,
body[data-page="/"] .adw-takeaction ~ .adw-section::before{
  content:"";display:block;height:3px;width:min(560px,74vw);margin:0 auto clamp(42px,6vw,68px);border-radius:99px;
  background:linear-gradient(90deg,transparent 0%,var(--ad-gold) 18%,var(--ad-green) 50%,var(--ad-gold) 82%,transparent 100%);
  background-size:200% 100%;background-position:50% 0;
  transform:scaleX(0);opacity:0;
  transition:transform 1.1s cubic-bezier(.16,1,.3,1),opacity .7s ease}
body[data-page="/"] .adw-decide:has([data-rv].rv-in)::before,
body[data-page="/"] .adw-policy:has([data-rv].rv-in)::before,
body[data-page="/"] .adw-realdeal:has([data-rv].rv-in)::before,
body[data-page="/"] .adw-statemap:has([data-rv].rv-in)::before,
body[data-page="/"] .adw-spotwrap:has([data-rv].rv-in)::before,
body[data-page="/"] .adw-takeaction:has([data-rv].rv-in)::before,
body[data-page="/"] .adw-takeaction ~ .adw-section:has([data-rv].rv-in)::before{
  transform:scaleX(1);opacity:1;animation:adwRuleShimmer 2.2s ease .7s 1 both}
@keyframes adwRuleShimmer{from{background-position:120% 0}to{background-position:-20% 0}}
@media(prefers-reduced-motion:reduce){
  body[data-page="/"] .adw-decide::before,body[data-page="/"] .adw-policy::before,
  body[data-page="/"] .adw-realdeal::before,body[data-page="/"] .adw-statemap::before,
  body[data-page="/"] .adw-spotwrap::before,body[data-page="/"] .adw-takeaction::before,
  body[data-page="/"] .adw-takeaction ~ .adw-section::before{transform:none;opacity:1;animation:none}
}
/* the act headings: rise + focus (blur clears) — the Apple-keynote feel */
@media(prefers-reduced-motion:no-preference){
  html.adw-rv .adw-sec-head[data-rv],html.adw-rv .adw-rd-head[data-rv],
  html.adw-rv .adw-ta-head[data-rv]{opacity:0;transform:translateY(36px) scale(.965);filter:blur(9px)}
  html.adw-rv .adw-sec-head[data-rv].rv-in,html.adw-rv .adw-rd-head[data-rv].rv-in,
  html.adw-rv .adw-ta-head[data-rv].rv-in{opacity:1;transform:none;filter:blur(0);transition:opacity .95s cubic-bezier(.16,1,.3,1),transform .95s cubic-bezier(.16,1,.3,1),filter .8s ease;transition-delay:var(--rv-d,0s)}
}

/* ---------- newsroom: drop the grey "LATEST…" labels --------------------- */
body[data-page="/"] .adw-recent-h{display:none}

/* ======================================================================
   v7.4 — SCROLL-SCRUBBED ACT WIPES (the blade moves WITH your scroll,
   both directions) + responsive mobile-menu CTA type. Later rules win.
   ====================================================================== */

/* the blade: a glowing gold→green slash that sweeps across the boundary as
   you scroll through it (driven by --wipe/--wfade from the homepage script).
   No JS / reduced motion → a calm centred slash, always visible. */
body[data-page="/"] .adw-decide::before,
body[data-page="/"] .adw-policy::before,
body[data-page="/"] .adw-realdeal::before,
body[data-page="/"] .adw-statemap::before,
body[data-page="/"] .adw-spotwrap::before,
body[data-page="/"] .adw-takeaction::before,
body[data-page="/"] .adw-takeaction ~ .adw-section::before{
  content:"";display:block;height:12px;width:min(240px,38vw);margin:0 auto clamp(44px,6vw,70px);border-radius:99px;
  background:linear-gradient(90deg,var(--ad-gold) 0%,var(--ad-gold-deep) 35%,var(--ad-green) 100%);
  box-shadow:0 6px 26px -6px rgba(41,168,149,.6),0 2px 10px -2px rgba(245,185,77,.5);
  transform:translateX(calc((var(--wipe,.5) - .5)*min(72vw,860px))) skewX(-18deg);
  opacity:var(--wfade,1);
  transition:none;animation:none}
body[data-page="/"] .adw-decide:has([data-rv].rv-in)::before,
body[data-page="/"] .adw-policy:has([data-rv].rv-in)::before,
body[data-page="/"] .adw-realdeal:has([data-rv].rv-in)::before,
body[data-page="/"] .adw-statemap:has([data-rv].rv-in)::before,
body[data-page="/"] .adw-spotwrap:has([data-rv].rv-in)::before,
body[data-page="/"] .adw-takeaction:has([data-rv].rv-in)::before,
body[data-page="/"] .adw-takeaction ~ .adw-section:has([data-rv].rv-in)::before{
  transform:translateX(calc((var(--wipe,.5) - .5)*min(72vw,860px))) skewX(-18deg);
  opacity:var(--wfade,1);animation:none}
@media(prefers-reduced-motion:reduce){
  body[data-page="/"] .adw-decide::before,body[data-page="/"] .adw-policy::before,
  body[data-page="/"] .adw-realdeal::before,body[data-page="/"] .adw-statemap::before,
  body[data-page="/"] .adw-spotwrap::before,body[data-page="/"] .adw-takeaction::before,
  body[data-page="/"] .adw-takeaction ~ .adw-section::before{transform:skewX(-18deg);opacity:1}
}

/* the acts themselves also hand over with motion: each section's content
   block eases up and "settles" as the blade passes (scroll-scrubbed lift) */
@media(prefers-reduced-motion:no-preference){
  body[data-page="/"] .adw-decide>.adw-wrap,
  body[data-page="/"] .adw-policy>.adw-wrap,
  body[data-page="/"] .adw-realdeal>.adw-wrap,
  body[data-page="/"] .adw-statemap>.adw-wrap,
  body[data-page="/"] .adw-spotwrap>.adw-wrap{
    transform:translateY(calc((1 - var(--wipe,1))*42px)) scale(calc(.985 + var(--wipe,1)*.015));
    transform-origin:top center;will-change:transform}
}

/* ---------- mobile menu CTAs: type + icons scale with the screen --------- */
@media(max-width:920px){
  .adw-header .adw-nav-ctas .adw-nav-join,
  .adw-header .adw-nav-ctas .adw-nav-donate{font-size:clamp(19px,5.4vw,25px)!important;gap:clamp(10px,3vw,16px);letter-spacing:-.2px}
  .adw-header .adw-nav-ctas .adw-nav-join::after{content:"→";width:clamp(30px,8vw,40px);height:clamp(30px,8vw,40px);font-size:clamp(16px,4.4vw,21px)}
  .adw-header .adw-nav-ctas .adw-nav-donate::after{content:"♥";width:clamp(30px,8vw,40px);height:clamp(30px,8vw,40px);font-size:clamp(14px,3.8vw,18px)}
}

/* ---------- v7.5: menu must swallow ALL taps ----------------------------- */
/* .adw-notify re-enables pointer-events on itself (needed for its links), so
   the wrap-level pointer-events:none never actually blocked taps — the
   pop-up stayed tappable THROUGH the open menu. Kill it at the card level. */
body:has(.adw-nav-links.open) .adw-notify-wrap{visibility:hidden}
body:has(.adw-nav-links.open) .adw-notify-wrap .adw-notify{pointer-events:none}

/* ======================================================================
   v7.5 — INTERACTIVE POLICY WIDGETS (.xpw). One design system, sixteen
   purpose-built interactives. Appended last — later rules win.
   ====================================================================== */
.adw-xp-widget{background:linear-gradient(180deg,#fff,var(--ad-cream-soft));border-block:1px solid var(--ad-border)}
.xpw{max-width:860px;margin:0 auto;background:#fff;border:2px solid var(--ad-ink);border-radius:22px;padding:clamp(22px,3.4vw,40px);box-shadow:8px 8px 0 var(--ad-gold)}
.xpw-note{max-width:860px;margin:14px auto 0;font-size:12.5px;color:#8a948f;font-weight:600;text-align:center}
.xpw button{font:inherit;cursor:pointer}
.xpw .xpw-sliderlab{display:flex;align-items:baseline;justify-content:space-between;gap:14px;font-size:13px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;color:#5b6b66;margin-bottom:10px}
.xpw .xpw-sliderlab b{font-size:clamp(22px,3vw,30px);letter-spacing:-.5px;color:var(--ad-ink)}
.xpw input[type=range]{width:100%;height:34px;appearance:none;-webkit-appearance:none;background:transparent;margin:0 0 18px}
.xpw input[type=range]::-webkit-slider-runnable-track{height:10px;border-radius:99px;background:linear-gradient(90deg,var(--ad-gold),var(--ad-green))}
.xpw input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;margin-top:-10px;border-radius:50%;background:#fff;border:3px solid var(--ad-ink);box-shadow:0 4px 12px rgba(22,34,31,.3);cursor:grab}
.xpw input[type=range]::-moz-range-track{height:10px;border-radius:99px;background:linear-gradient(90deg,var(--ad-gold),var(--ad-green))}
.xpw input[type=range]::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:#fff;border:3px solid var(--ad-ink);cursor:grab}
.xpw .xpw-duo{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.xpw .xpw-panel{border-radius:16px;padding:18px 20px;min-height:150px}
.xpw .xpw-panel h4{margin:0 0 8px;font-size:12px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase}
/* was a 28px emoji; now a state label, so it reads the same to a screen reader
   as it does on screen and matches the rest of the page's typography */
.xpw .xpw-panel .eye{display:inline-block;font-size:11px;font-weight:900;letter-spacing:1.4px;
  text-transform:uppercase;margin:0 0 8px;padding:4px 10px;border-radius:999px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28)}
.xpw .xpw-panel.good .eye{background:var(--sx-wash,rgba(41,168,149,.16));border-color:rgba(21,101,90,.35);color:var(--ad-green-deep,#15655a)}
.xpw .xpw-panel p{margin:0;font-size:14.5px;line-height:1.6}
.xpw .xpw-panel.bad{background:#1c2b27;color:rgba(255,255,255,.9)}
.xpw .xpw-panel.bad h4{color:#ffb3a7}
.xpw .xpw-panel.good{background:#e9faf4;color:#123b33;border:1.5px solid #bfe9de}
.xpw .xpw-panel.good h4{color:var(--ad-green-deep)}
.xpw .xpw-big{text-align:center;background:#fbfaf6;border:1.5px solid var(--ad-border);border-radius:16px;padding:20px}
.xpw .xpw-big span{display:block;font-size:11.5px;font-weight:900;letter-spacing:1.8px;text-transform:uppercase;color:#5b6b66}
.xpw .xpw-big b{display:block;font-size:clamp(28px,4vw,44px);font-weight:900;letter-spacing:-1px;color:var(--ad-green-deep);margin:6px 0}
.xpw .xpw-big i{display:block;font-style:normal;font-size:13.5px;line-height:1.55;color:#5b6b66;max-width:52ch;margin:0 auto}
@media(max-width:640px){.xpw .xpw-duo{grid-template-columns:1fr}}

/* quiz + sort share button styling */
.xpw .prog{font-size:11.5px;font-weight:900;letter-spacing:1.8px;text-transform:uppercase;color:#6a4f00;margin:0 0 10px}
.xpw-quiz .q{font-size:clamp(17px,2.2vw,21px);font-weight:800;color:var(--ad-ink);line-height:1.45;margin:0 0 16px;min-height:3em}
.xpw-quiz .btns{display:flex;gap:12px}
.xpw-quiz .btns button{flex:1;padding:15px;border-radius:14px;border:2px solid var(--ad-ink);background:#fff;font-weight:900;font-size:16px;transition:transform .15s,box-shadow .15s}
.xpw-quiz .btns button:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ad-gold)}
.xpw-quiz .btns button.hit{background:#e9faf4;border-color:var(--ad-green-deep);color:var(--ad-green-deep)}
.xpw-quiz .btns button.miss{background:#fde8e4;border-color:#b3402c;color:#b3402c}
.xpw-quiz .why{margin:16px 0 0;font-size:15px;line-height:1.6;color:#3a4a45;background:#fbfaf6;border-left:4px solid var(--ad-gold);border-radius:0 10px 10px 0;padding:12px 16px}
.xpw-quiz .next{margin-top:14px;padding:12px 22px;border-radius:12px;border:0;background:var(--ad-ink);color:var(--ad-gold);font-weight:900}

/* revolving door */
.xpw-door{text-align:center}
.xpw-door .door{position:relative;width:92px;height:92px;margin:0 auto 16px;border-radius:50%;border:3px solid var(--ad-ink);display:grid;place-items:center;overflow:hidden;transition:border-color .3s}
.xpw-door .door span{position:absolute;left:50%;top:50%;width:3px;height:44px;background:var(--ad-ink);transform-origin:top center;transition:background .3s}
.xpw-door .door span:nth-child(1){transform:translate(-50%,0) rotate(0)}
.xpw-door .door span:nth-child(2){transform:translate(-50%,0) rotate(90deg)}
.xpw-door .door span:nth-child(3){transform:translate(-50%,0) rotate(180deg)}
.xpw-door .door span:nth-child(4){transform:translate(-50%,0) rotate(270deg)}
@media(prefers-reduced-motion:no-preference){.xpw-door .door.spin{animation:xpwSpin .9s cubic-bezier(.2,.8,.3,1)}}
@keyframes xpwSpin{from{transform:rotate(0)}to{transform:rotate(180deg)}}
.xpw-door .door.locked{border-color:var(--ad-green-deep);background:#e9faf4}
.xpw-door .door.locked span{background:var(--ad-green-deep)}
.xpw-door .txt .a{font-size:17px;font-weight:900;color:var(--ad-ink);margin:0 0 6px}
.xpw-door .txt .b{font-size:14.5px;line-height:1.6;color:#5b6b66;margin:0 0 16px;min-height:3.2em}
.xpw-door .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.xpw-door .btns button{padding:13px 22px;border-radius:12px;border:2px solid var(--ad-ink);background:#fff;font-weight:900}
.xpw-door .btns button:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ad-gold);transition:transform .15s,box-shadow .15s}
.xpw-door .btns .lock{background:var(--ad-ink);color:var(--ad-gold);border-color:var(--ad-ink)}

/* protest picker + meter */
.xpw-protest .pick,.xpw-renters .pick{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.xpw-protest .pick button,.xpw-renters .pick button{padding:11px 16px;border-radius:11px;border:1.5px solid var(--ad-border);background:#fff;font-weight:800;font-size:14px;transition:all .15s}
.xpw-protest .pick button.on,.xpw-renters .pick button.on{border-color:var(--ad-ink);background:var(--ad-ink);color:var(--ad-gold)}
.xpw-protest .meter{text-align:center;background:#1c2b27;border-radius:16px;padding:22px;margin-bottom:14px}
.xpw-protest .meter .lab{display:block;font-size:11px;font-weight:900;letter-spacing:1.8px;text-transform:uppercase;color:#ffb3a7}
.xpw-protest .meter b{display:block;font-size:clamp(34px,5vw,52px);font-weight:900;letter-spacing:-1.5px;color:#fff;margin:4px 0}
.xpw-protest .meter .jail{display:block;font-size:14px;font-weight:800;color:#ffb3a7}
.xpw-protest .meter .law{display:block;font-size:12px;color:rgba(255,255,255,.55);margin-top:6px}
.xpw-protest .plan{background:#e9faf4;border:1.5px solid #bfe9de;border-radius:14px;padding:14px 18px;font-size:14.5px;line-height:1.6;color:#123b33}

/* redaction doc */
.xpw-redact .doc{background:#fbfaf6;border:1.5px solid var(--ad-border);border-radius:14px;padding:20px 22px}
.xpw-redact .doc p{position:relative;margin:0 0 12px;font-size:15px;line-height:1.6;color:var(--ad-ink)}
.xpw-redact .doc p .bar{position:absolute;inset:0;background:var(--ad-ink);border-radius:4px;transition:transform .5s cubic-bezier(.2,.8,.25,1),opacity .4s;transform-origin:left center}
.xpw-redact .doc p.open .bar{transform:scaleX(0);opacity:0}
.xpw-redact .doc p .ink{opacity:.15;transition:opacity .5s}
.xpw-redact .doc p.open .ink{opacity:1}

/* FOI lanes */
.xpw-foi{text-align:center}
.xpw-foi>button{padding:14px 26px;border-radius:13px;border:0;background:linear-gradient(120deg,#1f877a,var(--ad-green-deep));color:#fff;font-weight:900;font-size:16px;margin-bottom:18px;box-shadow:0 14px 30px -14px rgba(21,101,90,.6)}
.xpw-foi .lanes{display:grid;grid-template-columns:1fr 1fr;gap:14px;text-align:left}
.xpw-foi .lane{border-radius:16px;padding:18px 20px}
.xpw-foi .lane h4{margin:0 0 12px;font-size:12px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase}
.xpw-foi .lane.bad{background:#1c2b27;color:#fff}.xpw-foi .lane.bad h4{color:#ffb3a7}
.xpw-foi .lane.good{background:#e9faf4;border:1.5px solid #bfe9de;color:#123b33}.xpw-foi .lane.good h4{color:var(--ad-green-deep)}
.xpw-foi ol{list-style:none;margin:0;padding:0}
.xpw-foi li{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:14px;font-weight:700;opacity:.25;transform:translateX(-6px);transition:opacity .4s,transform .4s}
.xpw-foi li.on{opacity:1;transform:none}
.xpw-foi li::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor;flex:none;opacity:.6}
.xpw-foi .lane.done.bad li:last-child{color:#ffb3a7}
.xpw-foi .lane.done.good li:last-child{color:var(--ad-green-deep);font-weight:900}
@media(max-width:640px){.xpw-foi .lanes{grid-template-columns:1fr}}

/* budget (income support) */
.xpw-budget .rate,.xpw-dial .rate{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.xpw-budget .rate button,.xpw-dial .rate button{flex:1;min-width:140px;padding:12px;border-radius:12px;border:2px solid var(--ad-border);background:#fff;font-weight:900;font-size:14.5px}
.xpw-budget .rate button.on,.xpw-dial .rate button.on{border-color:var(--ad-ink);background:var(--ad-ink);color:var(--ad-gold)}
.xpw-budget .hint,.xpw-stars .hint{font-size:13.5px;color:#5b6b66;font-weight:700;margin:0 0 12px}
.xpw-budget .items{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.xpw-budget .items button{display:flex;flex-direction:column;gap:2px;align-items:center;padding:12px 8px;border-radius:12px;border:1.5px solid var(--ad-border);background:#fff;font-weight:800;font-size:13.5px}
.xpw-budget .items button b{font-size:16px;color:var(--ad-green-deep)}
.xpw-budget .items button.on{border-color:var(--ad-green-deep);background:#e9faf4;box-shadow:0 0 0 3px rgba(21,101,90,.15)}
.xpw-budget .tally{display:grid;gap:8px}
.xpw-budget .tally span:first-child{font-weight:900;color:var(--ad-ink)}
.xpw-budget .tally .bar{display:block;height:12px;border-radius:99px;background:#eee9db;overflow:hidden}
.xpw-budget .tally .bar i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--ad-green),var(--ad-gold));transition:width .4s cubic-bezier(.2,.8,.25,1)}
.xpw-budget .tally .bar i.over{background:linear-gradient(90deg,#d06a55,#b3402c)}
.xpw-budget .tally b{font-size:15px;color:var(--ad-ink);min-height:1.4em}
@media(max-width:560px){.xpw-budget .items{grid-template-columns:1fr 1fr}}

/* pathway scale */
.xpw-dial .scale{position:relative;height:34px;margin:-6px 0 16px}
.xpw-dial .scale .seg{position:absolute;top:0;left:var(--a);right:calc(100% - var(--b));height:100%;display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;border-radius:8px;font-style:normal}
.xpw-dial .scale .seg.now{background:#fdeec4;color:#6a4f00}
.xpw-dial .scale .seg.sci{background:#dff3ee;color:var(--ad-green-deep)}
@media(max-width:560px){.xpw-dial .scale .seg{font-size:9px;letter-spacing:.2px}}

/* species chart */
.xpw-dial .chart{position:relative;background:#fbfaf6;border:1.5px solid var(--ad-border);border-radius:14px;padding:14px;margin-bottom:14px}
.xpw-dial .chart svg{display:block;width:100%;height:150px}
.xpw-dial .chart b{display:block;text-align:center;font-size:13.5px;color:var(--ad-ink);margin-top:6px}

/* grid mixer */
.xpw-grid3 label{display:grid;grid-template-columns:1fr 64px;align-items:center;gap:4px 12px;font-size:14px;font-weight:800;color:var(--ad-ink);margin-bottom:2px}
.xpw-grid3 label input{grid-column:1/2;margin:0 0 10px}
.xpw-grid3 label b{text-align:right;font-size:17px;color:var(--ad-green-deep)}
.xpw-grid3 .mix{display:flex;height:20px;border-radius:99px;overflow:hidden;background:#eee9db;margin:6px 0 16px}
.xpw-grid3 .mix i{display:block;height:100%;transition:width .3s}
.xpw-grid3 .mix i:nth-child(1){background:var(--ad-gold)}
.xpw-grid3 .mix i:nth-child(2){background:var(--ad-green)}
.xpw-grid3 .mix i:nth-child(3){background:#4a4a48}

/* plastic truck */
.xpw-truck .tick{display:flex;align-items:center;gap:18px;background:#1c2b27;border-radius:16px;padding:20px 22px;margin-bottom:16px;color:#fff}
.xpw-truck .tick b{font-size:clamp(34px,5vw,54px);font-weight:900;letter-spacing:-1.5px;color:var(--ad-gold);min-width:2.2ch}
.xpw-truck .tick span{font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.75)}
.xpw-truck .meter2 .lab{font-size:11.5px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase;color:#5b6b66}
.xpw-truck .track{position:relative;height:26px;border-radius:99px;background:#eee9db;margin:8px 0;overflow:hidden}
.xpw-truck .track i{display:block;height:100%;background:linear-gradient(90deg,#d06a55,#b3402c);border-radius:99px;transition:width .8s cubic-bezier(.2,.8,.25,1)}
.xpw-truck .track i.good{background:linear-gradient(90deg,var(--ad-green),var(--ad-green-deep))}
.xpw-truck .track em{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-style:normal;font-weight:900;font-size:13px;color:var(--ad-ink)}
.xpw-truck .lab2{font-size:13px;color:#5b6b66;font-weight:600}
.xpw-truck>button,#xpwFix{margin-top:16px;padding:13px 24px;border-radius:12px;border:0;background:var(--ad-ink);color:var(--ad-gold);font-weight:900}

/* map fill */
.xpw-mapfill .stage{display:grid;grid-template-columns:minmax(0,320px) 1fr;gap:22px;align-items:center}
.xpw-mapfill .fill{aspect-ratio:273/253;width:100%;-webkit-mask:url('/assets/img/au-sil.svg') center/contain no-repeat;mask:url('/assets/img/au-sil.svg') center/contain no-repeat;background:linear-gradient(to top,#1f877a 73%,rgba(31,135,122,.14) 73%)}
.xpw-mapfill .stage p{font-size:15.5px;line-height:1.65;font-weight:700;color:var(--ad-ink);margin:0}
@media(max-width:640px){.xpw-mapfill .stage{grid-template-columns:1fr}.xpw-mapfill .fill{max-width:260px;margin:0 auto}}

/* sort game */
.xpw-sort .item{text-align:center;font-size:clamp(20px,3vw,26px);font-weight:900;color:var(--ad-ink);background:#fbfaf6;border:1.5px dashed var(--ad-border);border-radius:14px;padding:20px;margin-bottom:14px;line-height:1.5}
.xpw-sort .bins{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}
.xpw-sort .bins button{padding:13px 8px;border-radius:12px;border:2px solid var(--ad-ink);background:#fff;font-weight:900;font-size:13px;transition:transform .15s,box-shadow .15s}
.xpw-sort .bins button:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ad-gold)}
.xpw-sort .why{min-height:3em;font-size:14px;line-height:1.55;color:#3a4a45;background:#fbfaf6;border-left:4px solid var(--ad-gold);border-radius:0 10px 10px 0;padding:10px 14px;margin:0}
@media(max-width:640px){.xpw-sort .bins{grid-template-columns:1fr 1fr}}

/* stars */
.xpw-stars .checks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.xpw-stars .checks button{padding:13px 14px;border-radius:12px;border:1.5px solid var(--ad-border);background:#fff;font-weight:800;font-size:14px;text-align:left}
.xpw-stars .checks button.on{border-color:var(--ad-green-deep);background:#e9faf4;box-shadow:0 0 0 3px rgba(21,101,90,.15)}
.xpw-stars .label{text-align:center;background:var(--ad-ink);border-radius:16px;padding:20px}
.xpw-stars .label span{display:block;font-size:11px;font-weight:900;letter-spacing:2.4px;color:rgba(255,255,255,.7)}
.xpw-stars .label b{display:block;font-size:clamp(30px,4.4vw,44px);letter-spacing:6px;color:var(--ad-gold);margin:6px 0}
.xpw-stars .label i{display:block;font-style:normal;font-size:13.5px;font-weight:700;color:rgba(255,255,255,.85)}
@media(max-width:560px){.xpw-stars .checks{grid-template-columns:1fr}}

/* ---------- v7.6: gen-2 widget engines + policy review notice ------------- */
/* review notice on /policy */
.adw-review-note{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:clamp(26px,4vw,40px);background:#fff;border:2px solid var(--ad-ink);border-radius:18px;padding:20px 26px;box-shadow:6px 6px 0 var(--ad-gold)}
.adw-review-note .ic{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:14px;background:linear-gradient(135deg,var(--ad-gold),var(--ad-gold-deep));color:var(--ad-ink)}
.adw-review-note .ic svg{width:24px;height:24px}
.adw-review-note p{flex:1;min-width:240px;margin:0;font-size:15.5px;font-weight:700;line-height:1.6;color:var(--ad-ink)}
.adw-review-note a{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:12px;background:linear-gradient(120deg,#1f877a,var(--ad-green-deep));color:#fff;font-weight:900;font-size:14.5px;text-decoration:none;box-shadow:0 12px 26px -12px rgba(21,101,90,.6);transition:transform .15s,filter .15s}
.adw-review-note a:hover{transform:translateY(-2px);filter:brightness(1.06)}

/* gauge */
.xpw-gauge .dial{position:relative;max-width:340px;margin:0 auto 8px;text-align:center}
.xpw-gauge .dial svg{display:block;width:100%}
.xpw-gauge .dial .track{stroke:#eee9db}
.xpw-gauge .dial .arc{transition:stroke-dashoffset .35s cubic-bezier(.2,.8,.25,1),stroke .35s}
.xpw-gauge .dial b{position:absolute;left:0;right:0;bottom:4px;font-size:clamp(30px,4.4vw,44px);font-weight:900;letter-spacing:-1px;color:var(--ad-ink)}
.xpw-gauge .xpw-sliderlab span{font-size:13px}

/* scales */
.xpw-scales .pool{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px;justify-content:center}
.xpw-scales .pool button{padding:11px 16px;border-radius:11px;border:1.5px solid var(--ad-border);background:#fff;font-weight:800;font-size:13.5px;transition:opacity .3s,transform .3s}
.xpw-scales .pool button.gone{opacity:.25;transform:scale(.94);cursor:default}
.xpw-scales .rig{position:relative;padding-bottom:26px}
.xpw-scales .beam{display:grid;grid-template-columns:1fr 1fr;gap:18px;transition:transform .7s cubic-bezier(.34,1.4,.44,1);transform-origin:center bottom}
.xpw-scales .pan{background:#fbfaf6;border:1.5px solid var(--ad-border);border-radius:14px;padding:14px;min-height:120px}
.xpw-scales .pan h5{margin:0 0 8px;font-size:10.5px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase;color:#5b6b66}
.xpw-scales .pan.l h5{color:#b3402c}
.xpw-scales .pan.r h5{color:var(--ad-green-deep)}
.xpw-scales .pan .w{display:inline-block;margin:0 5px 5px 0;padding:6px 11px;border-radius:9px;font-size:12px;font-weight:800;background:#fff;border:1px solid var(--ad-border);animation:xpwDrop .45s cubic-bezier(.2,.8,.25,1)}
.xpw-scales .pan.l .w{background:#fde8e4;border-color:#f4c4bb;color:#7c2a1c}
.xpw-scales .pan.r .w{background:#e9faf4;border-color:#bfe9de;color:#123b33}
@keyframes xpwDrop{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:none}}
.xpw-scales .post{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:12px;height:34px;background:var(--ad-ink);border-radius:4px 4px 0 0}
.xpw-scales .post::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:70px;height:8px;border-radius:99px;background:var(--ad-ink)}
.xpw-scales .verdict{margin:18px 0 0;font-size:14.5px;line-height:1.6;font-weight:700;color:var(--ad-ink);background:#fdf3cf;border-left:4px solid var(--ad-gold-deep);border-radius:0 10px 10px 0;padding:12px 16px}

/* orbit (dot constellation) */
.xpw-orbit .dots{display:grid;grid-template-columns:repeat(auto-fill,minmax(16px,1fr));gap:6px;max-width:560px;margin:0 auto 18px}
.xpw-orbit .dots i{display:block;aspect-ratio:1;border-radius:50%;background:#eee9db;transition:background .3s,box-shadow .3s,transform .3s}
.xpw-orbit .dots i.lit{background:#d06a55;box-shadow:0 0 10px rgba(208,106,85,.55);transform:scale(1.06)}
.xpw-orbit .ctl{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}
.xpw-orbit .ctl button{padding:11px 18px;border-radius:11px;border:1.5px solid var(--ad-border);background:#fff;font-weight:800;font-size:13.5px}
.xpw-orbit .ctl button.on{border-color:var(--ad-ink);background:var(--ad-ink);color:var(--ad-gold)}
.xpw-orbit .txt{margin:0;text-align:center;font-size:14.5px;line-height:1.6;font-weight:700;color:var(--ad-ink);min-height:3em}

/* tick2 extras + pick2 solo */
.xpw-truck .mode{margin:14px 0 0;font-size:14.5px;line-height:1.6;font-weight:700;color:var(--ad-ink);background:#fbfaf6;border-left:4px solid var(--ad-gold);border-radius:0 10px 10px 0;padding:12px 16px;min-height:3em}
.xpw .xpw-duo.solo{grid-template-columns:1fr}

/* ======================================================================
   v7.7 — widget buttons in AusDems green (kills iOS's default blue text),
   missile silhouettes for the warhead constellation. Later rules win.
   ====================================================================== */
/* every widget button gets an explicit ink colour — no UA blue anywhere */
.xpw button,.adw-flow .node{color:var(--ad-ink);-webkit-tap-highlight-color:transparent;appearance:none;-webkit-appearance:none}
/* chip buttons: paper with a green lift */
.xpw-protest .pick button:hover,.xpw-renters .pick button:hover,
.xpw-orbit .ctl button:hover,.xpw-scales .pool button:not(.gone):hover,
.xpw-budget .items button:hover,.xpw-stars .checks button:hover,
.xpw-sort .bins button:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ad-green);border-color:var(--ad-green-deep);transition:transform .15s,box-shadow .15s,border-color .15s}
/* selected states: the AusDems green gradient, white text, gold dot */
.xpw-protest .pick button.on,.xpw-renters .pick button.on,
.xpw-orbit .ctl button.on,.xpw-budget .rate button.on,.xpw-dial .rate button.on{
  background:linear-gradient(120deg,#1f877a,var(--ad-green-deep));border-color:var(--ad-green-deep);color:#fff;
  box-shadow:0 12px 24px -12px rgba(21,101,90,.6)}
.xpw-protest .pick button.on::after,.xpw-renters .pick button.on::after,
.xpw-orbit .ctl button.on::after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ad-gold);margin-left:8px;vertical-align:middle}
/* primary action buttons: full green treatment */
.xpw-quiz .next,.xpw-door .btns .lock,.xpw-truck>button,#xpwFix,#xt2b,.xpw-foi>button{
  background:linear-gradient(120deg,#1f877a,var(--ad-green-deep));color:#fff;border:0;border-radius:13px;
  padding:14px 26px;font-weight:900;font-size:15.5px;box-shadow:0 14px 30px -14px rgba(21,101,90,.6);
  transition:transform .15s,filter .15s}
.xpw-quiz .next:hover,.xpw-door .btns .lock:hover,.xpw-truck>button:hover,#xt2b:hover,.xpw-foi>button:hover{transform:translateY(-2px);filter:brightness(1.07)}
.xpw-quiz .btns button.hit{background:linear-gradient(120deg,#1f877a,var(--ad-green-deep));border-color:var(--ad-green-deep);color:#fff}
/* the how-policy-is-made nodes: green-tinted active ring */
.adw-flow .node.is-on{border-color:var(--ad-green-deep);box-shadow:6px 6px 0 var(--ad-green)}

/* the constellation becomes a missile field */
.xpw-orbit .dots{grid-template-columns:repeat(auto-fill,minmax(15px,1fr));gap:7px 6px;align-items:end}
.xpw-orbit .dots i{aspect-ratio:10/26;border-radius:0;background:#e6e0cf;
  clip-path:polygon(50% 0%,72% 14%,72% 64%,100% 92%,100% 100%,60% 88%,40% 88%,0% 100%,0% 92%,28% 64%,28% 14%);
  transition:background .3s,filter .3s,transform .3s;transform-origin:bottom center}
.xpw-orbit .dots i.lit{background:linear-gradient(180deg,#e2543a 0%,#b3402c 100%);box-shadow:none;filter:drop-shadow(0 0 6px rgba(226,84,58,.6));transform:translateY(-2px)}

/* ============ SIGNATURE policy-experience tier (.sx) ======================
   The premium page treatment (experiences → Design → Signature), themed per
   policy via --sx-a / --sx-deep / --sx-wash set inline by the component. */
.sx-progress{position:fixed;top:0;left:0;right:0;height:4px;z-index:80;background:transparent;pointer-events:none}
.sx-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--sx-deep),var(--sx-a));transition:width .15s linear}

/* ---- hero ---- */
.sx-hero{position:relative;overflow:hidden;background:
  radial-gradient(900px 420px at 82% -60px,var(--sx-wash),transparent 70%),
  radial-gradient(700px 380px at -10% 110%,rgba(252,214,102,.16),transparent 65%),#fffdf7;
  border-bottom:1.5px solid var(--ad-ink);padding:clamp(40px,7vw,84px) 0 0}
.sx-hero .adw-wrap{position:relative;z-index:2;padding-bottom:clamp(30px,5vw,52px)}
.sx-wm{position:absolute;right:-.35em;top:-.28em;font-size:clamp(220px,34vw,460px);line-height:1;color:var(--sx-a);
  opacity:.13;transform:rotate(8deg);pointer-events:none;user-select:none;z-index:1}
.sx-hero-img{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.1;z-index:0}
.sx-crumb{font-size:12.5px;font-weight:700;color:#5b6b66;display:flex;gap:8px;align-items:center;margin-bottom:14px}
.sx-crumb a{color:var(--sx-deep);text-decoration:none;font-weight:800}
.sx-crumb a:hover{text-decoration:underline}
.sx-hero .sx-kicker:not(.light){color:var(--sx-deep)}
.sx-hero .sx-kicker:not(.light)::before{background:var(--sx-a)}
.sx-hero h1{font-size:clamp(30px,5.6vw,52px);font-weight:900;letter-spacing:-.8px;line-height:1.08;max-width:20ch;margin:12px 0 14px;text-wrap:balance}
.sx-lead{font-size:clamp(15.5px,2vw,18.5px);line-height:1.65;color:#4a5a55;max-width:62ch}
.sx-ticker{display:inline-flex;align-items:baseline;gap:10px;margin-top:18px;background:var(--ad-ink);color:#fff;
  border-radius:14px;padding:10px 18px;border:2px solid var(--ad-ink);box-shadow:5px 5px 0 rgba(29,42,40,.25)}
.sx-ticker b{font-size:clamp(19px,3vw,26px);font-weight:900;color:var(--ad-gold);font-variant-numeric:tabular-nums;letter-spacing:.5px}
.sx-ticker span{font-size:11.5px;font-weight:700;color:rgba(255,255,255,.8);max-width:34ch;line-height:1.35}

/* casino variant: an ink marquee band with animated jackpot dots */
.sx-hero--casino{background:
  radial-gradient(900px 420px at 80% -80px,rgba(252,214,102,.13),transparent 70%),
  linear-gradient(180deg,#182422 0%,#1d2a28 100%)}
.sx-hero--casino .sx-crumb{color:#9fb4ae}
.sx-hero--casino .sx-crumb a{color:var(--ad-gold)}
.sx-hero--casino h1{color:#fff}
.sx-hero--casino .sx-lead{color:#c8d4cf}
.sx-hero--casino .sx-wm{color:var(--ad-gold);opacity:.1}
.sx-marquee{position:absolute;inset:10px;border-radius:18px;pointer-events:none;z-index:1;
  background-image:radial-gradient(circle 3.5px,rgba(252,214,102,.9) 92%,transparent),radial-gradient(circle 3.5px,rgba(252,214,102,.35) 92%,transparent);
  background-size:34px 8px,34px 8px;background-position:0 0,17px 0;background-repeat:repeat-x}
.sx-marquee{background-position:0 0,17px 0;background-repeat:repeat-x;height:8px;top:14px;left:16px;right:16px;inset:auto 16px auto 16px}
@media(prefers-reduced-motion:no-preference){
  .sx-marquee{animation:sxmarq 1.1s steps(2) infinite}
  @keyframes sxmarq{to{background-position:34px 0,51px 0}}
}

/* ---- the ticket-stub stat strip ---- */
.sx-stub{position:relative;z-index:2;background:#fff;border-top:2px dashed var(--ad-border)}
.sx-hero--casino .sx-stub{background:#fffdf7}
.sx-stub-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0;padding-top:18px;padding-bottom:20px}
.sx-stat{padding:6px 18px 6px 0;border-right:1.5px dashed var(--ad-border)}
.sx-stat:last-child{border-right:none}
.sx-stat+ .sx-stat{padding-left:18px}
.sx-stat b{display:flex;align-items:baseline;gap:0;font-size:clamp(26px,3.6vw,36px);font-weight:900;color:var(--sx-deep);letter-spacing:-.5px;font-variant-numeric:tabular-nums}
/* no gap by default, so "8/44", "52.4%" and "$89bn" read as one figure; only a
   word-suffix ("+ years", "in 6") gets the space it needs (class set server-side) */
.sx-stat b i{font-style:normal;font-size:.6em;font-weight:900;margin-left:0}
.sx-stat b i.sp{margin-left:.24em}
.sx-stat .l{display:block;font-size:12.5px;font-weight:800;color:var(--ad-ink);margin-top:2px;line-height:1.3}
.sx-stat .s{display:block;font-size:11.5px;color:#5b6b66;margin-top:3px;line-height:1.45}
@media(max-width:680px){.sx-stub-row{grid-template-columns:1fr 1fr}
  .sx-stat:nth-child(2n){border-right:none}.sx-stat:nth-child(n+3){border-top:1.5px dashed var(--ad-border);padding-top:12px;margin-top:8px}}

/* ---- section rail ---- */
/* the rail parks UNDER the sticky site header (--sx-hdr is measured by xp2.js;
   the literal fallbacks keep it clear of the header with JS off) */
@media(max-width:900px){:root{--sx-hdr-fb:62px}}
:root{--sx-rail-fb:50px}
.sx-rail{position:sticky;top:var(--sx-hdr,var(--sx-hdr-fb,74px));z-index:40;background:rgba(255,253,247,.94);backdrop-filter:blur(8px);
  border-bottom:1.5px solid var(--ad-border)}
.sx-rail-inner{position:relative;max-width:var(--adw-maxw);margin:0 auto;display:flex;align-items:center}
.sx-rail-inner[hidden]{display:none}
/* .sx-rail-row used to double as the .adw-wrap; it now owns the gutter itself so
   a non-scrolling counter can sit beside it */
.sx-rail-row{flex:1 1 auto;min-width:0;display:flex;gap:8px;align-items:center;overflow-x:auto;
  padding:9px 22px;scrollbar-width:none;scroll-padding-inline:22px;overscroll-behavior-x:contain}
.sx-rail-row::-webkit-scrollbar{display:none}
.sx-rail-glyph{flex:0 0 auto;font-size:15px;color:var(--sx-deep);margin-right:2px}
/* scoped to the strip: the HUD's list lives inside .sx-rail too, and must not
   inherit the pill treatment */
.sx-rail-row a{flex:0 0 auto;font-size:12px;font-weight:800;letter-spacing:.4px;color:#4a5a55;text-decoration:none;
  border:1.5px solid var(--ad-border);border-radius:999px;padding:6px 13px;background:#fff;transition:border-color .2s,background .2s,color .2s}
.sx-rail-row a:hover{border-color:var(--sx-deep);color:var(--sx-deep)}
.sx-rail-row a.on{background:var(--sx-deep);border-color:var(--sx-deep);color:#fff}
.sx-rail-row a:last-child{margin-right:6px}          /* the peek is never zero */

/* the strip visibly continues past both edges. --sx-fl/--sx-fr are set by
   xp2.js; the no-JS default shows the tail fade, always right at scrollLeft 0. */
.sx-rail-inner::before,.sx-rail-inner::after{content:"";position:absolute;top:0;bottom:0;width:38px;z-index:2;
  pointer-events:none;transition:opacity .18s ease}
.sx-rail-inner::before{left:0;opacity:var(--sx-fl,0);background:linear-gradient(90deg,#fffdf7 12%,rgba(255,253,247,0))}
.sx-rail-inner::after{right:0;opacity:var(--sx-fr,1);background:linear-gradient(270deg,#fffdf7 12%,rgba(255,253,247,0))}
/* only once JS has measured: with JS off sx-rail--measured is absent, the fades
   keep their static defaults (no left fade, tail fade on) and the strip still
   advertises that it scrolls */
.sx-rail--measured:not(.sx-rail--over) .sx-rail-inner::before,
.sx-rail--measured:not(.sx-rail--over) .sx-rail-inner::after{opacity:0}

/* "04 / 07" — outside the scroller, so it never scrolls away */
.sx-rail-pos{display:none}
.sx-rail--over .sx-rail-pos{position:relative;z-index:3;flex:0 0 auto;display:flex;align-items:baseline;gap:1px;
  padding:0 22px 0 14px;font-size:11px;font-weight:900;letter-spacing:.6px;font-variant-numeric:tabular-nums;
  color:var(--sx-deep);background:linear-gradient(90deg,rgba(255,253,247,0),#fffdf7 42%)}
.sx-rail-pos b{font-size:13.5px}
.sx-rail-pos i{font-style:normal;opacity:.4}
.sx-rail-pos span{opacity:.62}
.sx-rail-pos::after{content:"";position:absolute;left:14px;right:22px;bottom:5px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--ad-gold),var(--ad-gold-deep))}

/* ---- phone chapter HUD (built by xp2.js; absent with JS off) --------------
   Below 720px the chip strip is REPLACED — not overlaid — by a 44px row that
   always says where you are, and opens to the full section list including
   References. Its sheet is position:absolute inside the sticky rail, so the
   strip's height (and therefore every anchor's scroll-margin) never moves. */
.sx-hud{display:none}
.sx-hud[hidden]{display:none!important}
@media(max-width:720px){.sx-hud:not([hidden]){display:block;position:relative}}
.sx-hud-bar{position:relative;max-width:var(--adw-maxw);margin:0 auto;padding:0 16px;display:flex}
.sx-hud-btn{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:10px;min-height:44px;
  border:0;background:transparent;font:inherit;color:var(--ad-ink);text-align:left;padding:8px 0 10px;
  cursor:pointer;-webkit-tap-highlight-color:transparent}
.sx-hud-btn:focus-visible{outline:3px solid var(--sx-deep);outline-offset:-2px;border-radius:12px}
.sx-hud-no{flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  background:var(--ad-gold);border:1.5px solid var(--ad-ink);box-shadow:1.5px 1.5px 0 var(--ad-ink);
  font-size:11.5px;font-weight:900;font-variant-numeric:tabular-nums}
.sx-hud-now{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:13.5px;font-weight:900;letter-spacing:-.2px}
.sx-hud-of{flex:0 0 auto;font-size:11px;font-weight:900;color:var(--sx-deep);opacity:.75;font-variant-numeric:tabular-nums}
.sx-hud-cue{flex:0 0 auto;width:8px;height:8px;margin-left:2px;
  border-right:2.5px solid var(--sx-deep);border-bottom:2.5px solid var(--sx-deep);
  transform:rotate(45deg) translateY(-2px);transition:transform .22s ease}
.sx-hud.is-open .sx-hud-cue{transform:rotate(-135deg)}
.sx-hud-track{position:absolute;left:0;right:0;bottom:-1.5px;height:2.5px;background:rgba(22,34,31,.08)}
.sx-hud-track i{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left center;
  background:linear-gradient(90deg,var(--sx-deep),var(--sx-a))}
.sx-hud-sheet{position:absolute;left:0;right:0;top:100%;background:#fffdf7;
  border-bottom:1.5px solid var(--ad-border);box-shadow:0 22px 40px -26px rgba(29,42,40,.55);
  display:grid;grid-template-rows:0fr;transition:grid-template-rows .24s cubic-bezier(.2,.8,.25,1)}
.sx-hud-sheet[hidden]{display:none}
.sx-hud.is-open .sx-hud-sheet{grid-template-rows:1fr}
.sx-hud-items{min-height:0;overflow-y:auto;overscroll-behavior:contain;list-style:none;margin:0;padding:0 16px;
  max-height:min(58vh,calc(100vh - var(--sx-hdr,74px) - var(--sx-rail-h,50px) - 64px))}
@supports(height:100dvh){
  .sx-hud-items{max-height:min(58dvh,calc(100dvh - var(--sx-hdr,74px) - var(--sx-rail-h,50px) - 64px))}
}
.sx-hud.is-open .sx-hud-items{padding-top:6px;padding-bottom:12px}
.sx-hud-items a{display:flex;align-items:center;gap:12px;min-height:44px;padding:11px 10px;
  text-decoration:none;color:var(--ad-ink);border-radius:12px;border-bottom:1px solid var(--ad-border)}
.sx-hud-items li:last-child a{border-bottom:0}
.sx-hud-items a .n{flex:0 0 auto;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;
  font-size:10.5px;font-weight:900;letter-spacing:0;opacity:.75;color:var(--sx-deep);
  font-variant-numeric:tabular-nums;border:1.5px solid transparent}
.sx-hud-items a .t{flex:1 1 auto;font-size:14.5px;font-weight:800;letter-spacing:-.2px}
.sx-hud-items a.on{background:var(--sx-wash);color:var(--sx-deep)}
/* the sheet carries the same gold disc as the bar it drops from */
.sx-hud-items a.on .n{opacity:1;background:var(--ad-gold);border-color:var(--ad-ink);color:var(--ad-ink)}
.sx-hud-items a.on::after{content:"";flex:0 0 auto;width:8px;height:8px;border-radius:2px;
  background:var(--sx-a);transform:rotate(45deg)}
.sx-hud-items a:focus-visible{outline:3px solid var(--sx-deep);outline-offset:-3px}
/* body-level scrim (39: under the rail's 40, far under the header's 70) */
.sx-hud-scrim{position:fixed;inset:0;z-index:39;background:rgba(15,32,29,.34);opacity:0;transition:opacity .22s ease}
.sx-hud-scrim.on{opacity:1}
.sx-hud-scrim[hidden]{display:none}

/* ---- shared designed section header ---- */
.sx-sechead{display:flex;gap:14px;align-items:flex-start;margin-bottom:clamp(18px,3vw,26px)}
.sx-secno{background:var(--sx-wash);color:var(--sx-deep);flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;
  background:var(--sx-wash);border:2px solid var(--sx-deep);color:var(--sx-deep);font-size:19px}
.sx-sechead .adw-h2{margin:0}
.sx-sechead .adw-lead{margin-top:4px}

/* ---- widget stage ---- */
.sx-stage-frame{background:#fff;border:2px solid var(--ad-ink);border-radius:20px;padding:clamp(16px,3vw,30px);
  box-shadow:8px 8px 0 var(--sx-wash),0 24px 48px -28px rgba(29,42,40,.4);position:relative}
.sx-stage-frame--casino{background:linear-gradient(180deg,#fffdf7 0%,#fdf6e0 100%);box-shadow:8px 8px 0 rgba(252,214,102,.4),0 24px 48px -28px rgba(29,42,40,.5)}

/* ---- pillars ---- */
/* stretch so a row of cards shares one baseline instead of ending ragged */
.sx-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;align-items:stretch}
.sx-card{position:relative;background:#fff;border:2px solid var(--ad-ink);border-radius:16px;padding:18px 18px 16px;
  transition:transform .16s,box-shadow .16s}
.sx-card:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--sx-a)}
.sx-card .no{position:absolute;top:-12px;left:14px;background:var(--sx-deep);color:#fff;font-size:10.5px;font-weight:900;
  letter-spacing:1.5px;border-radius:8px;padding:3px 10px}
.sx-card{display:flex;flex-direction:column}
.sx-card b{display:block;font-size:15.5px;font-weight:900;margin:6px 0 6px;letter-spacing:-.2px}
.sx-card p{font-size:13.5px;color:#4a5a55;line-height:1.55;margin:0}

/* ---- compare ledger ---- */
.sx-duel{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:720px){.sx-duel{grid-template-columns:1fr}}
.sx-duel .col{border-radius:16px;padding:20px 22px;border:2px solid var(--ad-border);background:#fff}
.sx-duel .col.today{border-color:#b3402c;background:#fdf6f3}
.sx-duel .col.plan{border-color:var(--sx-deep);background:#f4faf8;box-shadow:6px 6px 0 var(--sx-wash)}
.sx-duel h3{font-size:12.5px;font-weight:900;letter-spacing:2px;text-transform:uppercase;margin:0 0 12px}
.sx-duel .today h3{color:#b3402c}
.sx-duel .plan h3{color:var(--sx-deep)}
.sx-duel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.sx-duel li{font-size:14px;line-height:1.5;color:var(--ad-ink);padding-left:22px;position:relative}
.sx-duel .today li::before{content:"×";position:absolute;left:0;top:0;font-weight:900;color:#b3402c}
.sx-duel .plan li::before{content:"✓";position:absolute;left:0;top:0;font-weight:900;color:var(--sx-deep)}
/* one line of plain English under a commitment that means nothing on its own.
   Never struck, never ticked — it is not part of the argument, it is the thing
   that lets you follow it. */
.sx-duel-note{display:block;margin:7px 0 0;padding-left:11px;border-left:2px solid var(--sx-wash);
  font-size:13px;line-height:1.55;color:#5b6b66}

/* ---------- Flagship tier: the three-beat story rail ----------------------- */
.sx-beats{position:relative;list-style:none;margin:0;padding:0 0 0 clamp(46px,6vw,74px);display:grid;gap:clamp(14px,2.2vw,22px)}
.sx-beats-spine{position:absolute;left:clamp(21px,2.9vw,35px);top:14px;bottom:14px;width:3px;border-radius:3px;
  background:var(--ad-border);overflow:hidden}
.sx-beats-spine i::after{content:"";position:absolute;left:50%;bottom:0;width:9px;height:9px;
  border-radius:50%;background:var(--sx-a);border:2px solid var(--ad-ink);transform:translate(-50%,50%)}
.sx-beats:not(.is-live) .sx-beats-spine i::after{display:none}
.sx-beats-spine i{position:absolute;inset:0 0 auto 0;height:0;border-radius:3px;
  background:linear-gradient(180deg,var(--sx-a),var(--sx-deep))}
.sx-beat{position:relative;background:#fff;border:1.5px solid var(--ad-border);border-radius:18px;
  padding:clamp(16px,2.2vw,22px) clamp(18px,2.4vw,26px);box-shadow:0 16px 34px -28px rgba(29,42,40,.5);
  transition:border-color .25s,box-shadow .25s,transform .25s}
.sx-beat:hover{border-color:var(--sx-a);box-shadow:0 22px 44px -28px rgba(29,42,40,.55);transform:translateX(3px)}
.sx-beat .n{position:absolute;left:calc(-1 * clamp(46px,6vw,74px) + 4px);top:clamp(14px,2vw,20px);
  width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#fff;
  border:2.5px solid var(--sx-deep);color:var(--sx-deep);font-size:12.5px;font-weight:900;font-variant-numeric:tabular-nums;z-index:1}
.sx-beat .lbl{display:block;font-size:10.5px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase;color:var(--sx-deep);margin-bottom:5px}
.sx-beat h3{margin:0 0 6px;font-size:clamp(16.5px,2.3vw,20px);font-weight:900;letter-spacing:-.2px;line-height:1.3;text-wrap:balance}
.sx-beat p{margin:0;font-size:15px;line-height:1.65;color:var(--ad-ink-soft,#4a5a55)}
@media(max-width:560px){
  .sx-beats{padding-left:38px}
  .sx-beats-spine{left:17px}
  .sx-beat .n{left:-34px;width:30px;height:30px;font-size:11px}
}
/* the spine only animates when JS measures scroll; otherwise it reads as filled */
.sx-beats:not(.is-live) .sx-beats-spine i{height:100%}

/* Flagship hero: a spotlight behind the headline, one notch brighter than Signature */
.sx--adv .sx-hero::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(80% 120% at 18% -10%,var(--sx-wash) 0%,transparent 58%)}
.sx--adv .sx-hero .adw-wrap{position:relative;z-index:1}
.sx--adv .sx-wm{opacity:.14}

/* ---------- compare CAPSTONE — the final tick/cross pair, performed ----------
   The old text is struck through and the new text is written in. Everything is
   legible before any animation runs, so JS-off and reduced-motion users lose
   nothing but the flourish. */
.sx-cap{position:relative;margin-top:18px;border:2px solid var(--sx-deep);border-radius:20px;overflow:hidden;
  background:linear-gradient(180deg,#fffdf7 0%,#fbf7ec 100%);box-shadow:0 24px 48px -30px rgba(29,42,40,.5)}
.sx-cap::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 80% at 8% 0%,var(--sx-wash) 0%,transparent 62%)}
.sx-cap-head{position:relative;display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding:14px clamp(16px,2.4vw,26px);border-bottom:1.5px dashed var(--ad-border)}
.sx-cap-kicker{font-size:11px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase;color:var(--sx-deep)}
.sx-cap-btn{margin-left:auto;border:2px solid var(--sx-deep);background:var(--sx-deep);color:#fff;font:inherit;
  font-size:12.5px;font-weight:900;letter-spacing:.6px;padding:9px 18px;border-radius:999px;cursor:pointer;
  display:inline-flex;align-items:center;gap:9px;transition:transform .16s,filter .16s,background .16s}
.sx-cap-btn::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.sx-cap-btn:hover{transform:translateY(-2px);filter:brightness(1.1)}
.sx-cap-btn:focus-visible{outline:3px solid var(--ad-gold);outline-offset:3px}
.sx-cap-btn[aria-pressed="true"]{background:transparent;color:var(--sx-deep)}
.sx-cap-btn[aria-pressed="true"]::after{transform:rotate(-135deg) translateY(-2px)}
.sx-cap-stage{position:relative;padding:clamp(18px,2.6vw,28px) clamp(16px,2.4vw,26px) 8px;display:grid;gap:12px;justify-items:start}
.sx-cap-line{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:start;gap:12px;margin:0;
  font-size:clamp(15.5px,2.1vw,19px);line-height:1.45;font-weight:700;max-width:min(100%,74ch);width:100%}
.sx-cap-line .mk{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;font-weight:900;flex:0 0 26px}
.sx-cap-line.old{color:#6b5a55}
.sx-cap-line.old .mk{background:#fdf1ee;border:1.5px solid #e6bfb4;color:#b3402c;font-size:15px}
/* strike every line of wrapped text (an absolutely-positioned bar would only
   cross the first one), so the crossing-out is honest at any width */
.sx-cap-line.old .tx{position:relative;text-decoration:line-through;text-decoration-thickness:2.5px;
  text-decoration-color:#b3402c}
.sx-cap-line.old .strike{display:none}
.sx-cap-line.new{color:var(--ad-ink)}
.sx-cap-line.new .mk{background:var(--sx-wash);border:1.5px solid var(--sx-deep);color:var(--sx-deep)}
.sx-cap-line.new .mk svg{width:16px;height:16px;display:block}
.sx-cap-line.new .rule{position:absolute;left:38px;right:0;bottom:-7px;height:3px;border-radius:3px;
  background:linear-gradient(90deg,var(--ad-gold),var(--sx-a));transform:scaleX(0);transform-origin:left center}
.sx-cap-arrow{width:2px;height:22px;margin-left:12px;background:linear-gradient(180deg,#d8cdb6,var(--sx-deep));border-radius:2px;position:relative}
.sx-cap-arrow::after{content:"";position:absolute;left:-4px;bottom:-1px;width:10px;height:10px;
  border-right:2px solid var(--sx-deep);border-bottom:2px solid var(--sx-deep);transform:rotate(45deg)}
/* clear space under the written-in line, so the heading and the footnote never
   run together when the new wording wraps to two or three lines */
.sx-cap-note{position:relative;margin:14px 0 0;padding:0 clamp(16px,2.4vw,26px) 20px;font-size:13.5px;
  line-height:1.65;color:#54635e;max-width:86ch}

/* amended state + motion (added by xp2.js; static and legible without it) */
@media(prefers-reduced-motion:no-preference){
  .sx-cap-line.new .rule{transition:transform .7s cubic-bezier(.2,.9,.25,1)}
  .sx-cap-line.old .tx{transition:text-decoration-color .55s ease}
  .sx-cap.can-anim .sx-cap-line.old .tx{text-decoration-color:transparent}
  /* ...and it stays transparent once the pen has measured this line: .has-pen
     means xp2.js is ruling it with the party's pen instead, and both at once
     would double-strike the clause. Any line the pen could NOT measure keeps
     this fallback, so nothing is ever left looking un-amended. */
  .sx-cap.can-anim.is-amended .sx-cap-line.old:not(.has-pen) .tx{text-decoration-color:#b3402c}
  .sx-cap-line.new .mk svg path{stroke-dasharray:32;stroke-dashoffset:32;transition:stroke-dashoffset .6s ease .25s}
  .sx-cap.is-amended .sx-cap-line.new .mk svg path{stroke-dashoffset:0}
  .sx-cap-line.new .tx{transition:opacity .5s ease,transform .5s cubic-bezier(.2,.9,.25,1)}
  /* the pre-amend state must still be comfortably readable: it is the state a
     reader sees for the moment before the panel performs, and the state anyone
     who never scrolls it fully into view would keep */
  .sx-cap.can-anim .sx-cap-line.new .tx{opacity:.62;transform:translateY(7px)}
  .sx-cap.can-anim.is-amended .sx-cap-line.new .tx{opacity:1;transform:none}
  .sx-cap.can-anim .sx-cap-line.old{transition:opacity .5s ease}
  .sx-cap.can-anim.is-amended .sx-cap-line.old{opacity:.78}
  .sx-cap.is-amended .sx-cap-line.new .rule{transform:scaleX(1)}
  .sx-cap.is-amended{box-shadow:0 0 0 4px var(--sx-wash),0 24px 48px -30px rgba(29,42,40,.5)}
}
/* no-JS / reduced motion: the ✓ is drawn, the rule is ruled, nothing is dimmed */
.sx-cap:not(.can-anim) .sx-cap-line.new .rule{transform:scaleX(1)}
.sx-cap:not(.can-anim) .sx-cap-line.new .mk svg path{stroke-dashoffset:0}
.sx-cap:not(.can-anim) .sx-cap-btn{display:none}
@media(max-width:560px){
  .sx-cap-head{padding-bottom:12px}
  .sx-cap-btn{margin-left:0;width:100%;justify-content:center}
}

/* ---- the document: numbered civic sections, verbatim text ---- */
.sx-intro{max-width:62ch;font-size:clamp(15.5px,2vw,17.5px);margin:0 auto clamp(22px,4vw,34px)}
.sx-intro>p:first-child::first-letter{font-size:3em;font-weight:900;float:left;line-height:.9;padding:4px 10px 0 0;color:var(--sx-deep)}
.sx-sec{margin:0 auto clamp(26px,4vw,40px);max-width:820px}
/* anchor jumps from the rail must clear BOTH the sticky header and the rail */
/* Both heights are MEASURED (xp2.js publishes --sx-hdr and --sx-rail-h); the
   literals cover the no-JS case. The old "+64px" was a guess that went stale
   the moment the phone HUD changed the strip's height, and .sx-beats-sec was
   missing entirely — so "The case" landed under the header on Flagship pages.
   The +14px matches the spy's own reading line, so a clicked anchor lands just
   below it and the very next pick() selects that section, not the previous. */
.sx-sec,.sx-stage,.sx-plan,.sx-duel-sec,.sx-doc-sec,.sx-beats-sec{
  scroll-margin-top:calc(var(--sx-hdr,var(--sx-hdr-fb,74px)) + var(--sx-rail-h,var(--sx-rail-fb,50px)) + 14px)}
.sx-sec-head{display:flex;align-items:center;gap:12px;padding:14px 0 10px;border-top:2px solid var(--ad-ink);margin-bottom:8px}
.sx-sec-num{flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  background:var(--ad-gold);border:2px solid var(--ad-ink);box-shadow:2px 2px 0 var(--ad-ink);
  font-size:11.5px;font-weight:900;letter-spacing:.4px}
.sx-sec-head h3{margin:0;font-size:clamp(17px,2.6vw,21px);font-weight:900;letter-spacing:-.2px}
.sx-sec-body{font-size:15.5px;line-height:1.72}
.sx-sec-body>p:first-child{color:var(--ad-ink)}
.sx-sec-body p>strong:first-child{color:var(--sx-deep);font-weight:900}
/* the plan's bullets become checklist cards — pure CSS, text untouched */
.sx-sec--plan .sx-sec-body>ul{list-style:none;padding:0;margin:14px 0;display:grid;gap:10px;grid-auto-rows:min-content;align-items:start}
.sx-sec--plan .sx-sec-body>ul>li{background:#fff;border:1.5px solid var(--ad-border);border-left:4px solid var(--sx-a);
  border-radius:0 12px 12px 0;padding:12px 16px 12px 40px;position:relative;font-size:14.5px;line-height:1.6;
  transition:transform .15s,box-shadow .15s}
.sx-sec--plan .sx-sec-body>ul>li:hover{transform:translateX(3px);box-shadow:0 10px 22px -14px rgba(29,42,40,.4)}
.sx-sec--plan .sx-sec-body>ul>li::before{content:"✓";position:absolute;left:14px;top:11px;font-weight:900;color:var(--sx-deep)}
.sx-sec--evidence .sx-sec-body blockquote,.sx-sec--issues .sx-sec-body blockquote{
  margin:16px 0;padding:14px 18px;background:var(--ad-cream,#fbf7eb);border:2px solid var(--ad-ink);border-radius:14px;
  box-shadow:5px 5px 0 var(--sx-wash);font-size:14.5px}
/* references accordion (wrapped at runtime; verbatim list inside) */
/* --- prose lists inside the verbatim policy sections ---------------------
   Markdown wraps every <li> in a <p>, and those paragraph margins pushed the
   bullets into a loose, broken-looking stack. Pull them tight and swap the
   browser disc for a branded diamond. (.sx-sec--plan keeps its own cards.) */
.sx-sec:not(.sx-sec--plan) .sx-sec-body ul{list-style:none;padding:0;margin:14px 0;display:grid;gap:9px}
.sx-sec:not(.sx-sec--plan) .sx-sec-body ul>li,
.sx-sec:not(.sx-sec--plan) .sx-sec-body ol>li{margin:0}   /* grid gap owns the rhythm, not .adw-prose li */
.sx-sec:not(.sx-sec--plan) .sx-sec-body ul>li{position:relative;padding-left:25px}
.sx-sec:not(.sx-sec--plan) .sx-sec-body ul>li::before{content:"";position:absolute;left:5px;top:.62em;width:7px;height:7px;
  border-radius:2px;background:var(--sx-a);transform:rotate(45deg)}
.sx-sec:not(.sx-sec--plan) .sx-sec-body ol{padding-left:26px;margin:14px 0;display:grid;gap:9px}
.sx-sec:not(.sx-sec--plan) .sx-sec-body ol>li::marker{color:var(--sx-deep);font-weight:900}
.sx-sec .sx-sec-body li>p{margin:0}
.sx-sec .sx-sec-body li>p+p{margin-top:6px}
.sx-sec .sx-sec-body li>ul,.sx-sec .sx-sec-body li>ol{margin:8px 0 0}
.sx-sec:not(.sx-sec--plan) .sx-sec-body li>ul>li::before{background:transparent;border:1.5px solid var(--sx-a);width:6px;height:6px}

/* --- references: a real <details>, server-rendered, numbered citations ---- */
.sx-refs{border:1.5px dashed var(--ad-border);border-radius:14px;background:#fffdf7;
  padding:0 clamp(14px,2.2vw,20px);transition:border-color .2s,box-shadow .2s}
.sx-refs:hover{border-color:var(--sx-a)}
.sx-refs[open]{box-shadow:0 14px 30px -22px rgba(29,42,40,.35)}
.sx-refs>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 0}
.sx-refs>summary::-webkit-details-marker{display:none}
.sx-refs>summary::marker{content:""}
.sx-refs>summary:focus-visible{outline:2px solid var(--sx-deep);outline-offset:3px;border-radius:8px}
.sx-refs-h{display:flex;align-items:center;gap:12px;margin:0;font-size:clamp(16px,2.4vw,20px);font-weight:900;letter-spacing:-.2px}
.sx-refs-cue{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:900;
  letter-spacing:1px;text-transform:uppercase;color:var(--sx-deep)}
.sx-refs-cue::after{content:"Show sources"}
.sx-refs[open] .sx-refs-cue::after{content:"Hide sources"}
.sx-refs-cue i{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-1px);transition:transform .2s}
.sx-refs[open] .sx-refs-cue i{transform:rotate(-135deg) translateY(-1px)}
.sx-refs[open]>summary{border-bottom:1px solid var(--ad-border)}
.sx-refs .sx-sec-body{padding:12px 0 16px}
.sx-sec.sx-sec--refs .sx-sec-body ul{counter-reset:sxref;gap:8px;margin:4px 0 0}
.sx-sec.sx-sec--refs .sx-sec-body ul>li{counter-increment:sxref;padding-left:36px;font-size:14.5px;line-height:1.62}
.sx-sec.sx-sec--refs .sx-sec-body ul>li::before{content:counter(sxref);left:0;top:0;width:24px;height:24px;border-radius:7px;
  background:#fff;border:1.5px solid var(--ad-border);color:var(--sx-deep);font-size:11px;font-weight:900;
  display:grid;place-items:center;transform:none}
.sx-sec.sx-sec--refs .sx-sec-body a{color:var(--sx-deep);text-decoration:underline;text-decoration-thickness:1px;
  text-underline-offset:2px;overflow-wrap:anywhere}

/* ============ PHONE SHOWCASE (.sx pages, <=720px) =========================
   A directed scroll for phones only. EVERY rule below is gated on html.sx-ph,
   which public/assets/js/sx-phone.js adds only on a phone with motion allowed
   and the per-policy toggle on. With JS off, on desktop, or under reduced
   motion, not one of these selectors matches and the page is exactly what the
   server rendered — the static state IS the finished state.
   The two exceptions are marked "unconditional": pure static detail that costs
   nothing and needs no JS.                                                  */

/* -- unconditional: the ticket stub finally reads as torn ------------------ */
@media(max-width:720px){
  /* the capstone toggle goes full-bleed a breakpoint earlier */
  .sx-cap-btn{margin-left:0;width:100%;justify-content:center}
  /* ~200px between staged sections reads as a stack of separate documents at
     phone scale */
  .sx .adw-section{padding:clamp(34px,7vw,58px) 0}
  /* the crumb repeats the kicker word for word two lines below it — 90px of the
     first screen spent saying the same thing twice */
  .sx-hero .sx-crumb{display:none}
  /* a 2,000-word read at 15.5px on a 390px screen is small; no amount of
     choreography compensates for type that is hard to read. The back third of
     the page is verbatim policy and gets NO choreography — so what it does get
     is a proper type scale and enough air between sections to read as chapters
     rather than one undifferentiated column. */
  .sx-sec-body{font-size:16.5px;line-height:1.78;text-wrap:pretty}
  .sx-intro>p:first-child::first-letter{font-size:2.6em}
  .sx-sec{margin-bottom:42px}
  .sx-sec-head{padding-top:18px}
  .sx-sec-num{width:34px;height:34px;font-size:13px}
  .sx-sec-head h3{font-size:19px}
}

@media(max-width:720px){
  :root{
    --sx-ph-slab:5px;                              /* plan-card slab travel */
    --sx-ph-slab-lg:8px;                           /* widget-stage slab travel */
    --sx-ph-dur:.52s;
    --sx-ph-ease:cubic-bezier(.16,1,.3,1);         /* the site-wide reveal ease */
    --sx-ph-ease-pen:cubic-bezier(.65,0,.35,1);    /* a hand-drawn stroke */
  }

  /* -- the hero: the gold marker draws, the watermark drifts --------------- */
  html.sx-ph .sx-hero .adw-mkb::before{transform-origin:left center;
    animation:sxphMark .5s cubic-bezier(.2,.8,.25,1) .38s both}
  @keyframes sxphMark{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  html.sx-ph .sx-wm{transform:translate3d(0,var(--sx-ph-y,0),0);will-change:transform}

  /* -- progress: the chapter HUD carries its own track, so the fixed 4px bar
        50px above it is redundant on a phone ------------------------------- */
  .sx-hud:not([hidden]) ~ * .sx-progress,html.sx-ph .sx-progress{display:none}

  /* -- the story spine: scaleY, not height --------------------------------- */
  html.sx-ph .sx-beats-spine i{height:100%;transform:scaleY(0);transform-origin:top center}

  /* -- plan cards: the read line supplies the hover a phone never gets -----
     The offset slab is the brand's signature and transitioning box-shadow
     repaints. So the slab becomes a real element you can transform — and since
     a negative-z child paints ABOVE its parent's own background, the card's
     face has to move onto a pseudo-element too. isolation:isolate keeps both
     negatives inside the card. */
  html.sx-ph .sx-card{transition:border-color .3s ease}
  html.sx-ph .sx-card.is-lit{border-color:var(--sx-a)}
  html.sx-ph .sx-card::after{content:"";position:absolute;left:-2px;top:14px;bottom:14px;width:4px;
    border-radius:0 3px 3px 0;background:var(--sx-a);transform:scaleY(0);transform-origin:center;
    transition:transform .34s var(--sx-ph-ease)}
  html.sx-ph .sx-card.is-lit::after{transform:scaleY(1)}

  /* -- the widget stage: the shadow is cast, not merely present ------------ */
  html.sx-ph .sx-stage-frame:not(.sx-stage-frame--casino){background:transparent;border:0;box-shadow:none;isolation:isolate}
  html.sx-ph .sx-stage-frame:not(.sx-stage-frame--casino)::before{content:"";position:absolute;inset:0;z-index:-1;
    border-radius:20px;background:#fff;border:2px solid var(--ad-ink)}
  html.sx-ph .sx-stage-frame:not(.sx-stage-frame--casino)::after{content:"";position:absolute;inset:0;z-index:-2;
    border-radius:20px;background:var(--sx-wash);transform:translate3d(0,0,0);
    transition:transform .55s var(--sx-ph-ease) .12s}
  html.sx-ph .sx-stage-frame:not(.sx-stage-frame--casino).rv-in::after{
    transform:translate3d(var(--sx-ph-slab-lg),var(--sx-ph-slab-lg),0)}

  /* -- story beats: one lit at a time -------------------------------------- */
  html.sx-ph .sx-beat{transition:border-color .25s ease}
  html.sx-ph .sx-beat.is-lit{border-color:var(--sx-a)}
  html.sx-ph .sx-beat .n{transition:background .25s ease,color .25s ease,border-color .25s ease}
  html.sx-ph .sx-beat.is-lit .n{background:var(--sx-deep);border-color:var(--sx-deep);color:#fff}

  /* -- the chrome steps back when the page's own ending arrives ------------ */
  html.sx-ph .adw-wings{transition:opacity .28s var(--sx-ph-ease),transform .34s var(--sx-ph-ease),visibility 0s}
  html.sx-ph.sx-ph-wings-off .adw-wings{opacity:0;transform:translate3d(0,100%,0);pointer-events:none;
    visibility:hidden;transition:opacity .28s var(--sx-ph-ease),transform .34s var(--sx-ph-ease),visibility 0s .34s}
}

/* ---- one section, one entrance (phones) ---------------------------------
   Every section used to arrive the same way: the site-wide reveal, up 26px and
   in. On a phone that reads as one long column of identical arrivals. Each
   section now enters on its OWN axis and its own gesture, so scrolling the page
   feels like moving between places rather than through a list.

   All of it is keyed off .rv-in — the class the site's existing observer
   already sets — so there are no new observers and no new JS for any of it.
   Every rule is inside html.sx-ph, so desktop, JS-off and reduced-motion get
   the plain reveal exactly as before. */
@media(max-width:720px){
  /* 1. SECTION HEADS — the mark stamps down, the words settle under it */
  html.sx-ph .sx-sechead[data-rv]{opacity:0;transform:translateY(14px)}
  html.sx-ph .sx-sechead[data-rv].rv-in{opacity:1;transform:none;
    transition:opacity .5s ease,transform .6s var(--sx-ph-ease)}
  html.sx-ph .sx-sechead[data-rv] .sx-secno{transform:scale(1.5) rotate(-9deg);opacity:0}
  html.sx-ph .sx-sechead[data-rv].rv-in .sx-secno{transform:none;opacity:1;
    transition:transform .42s cubic-bezier(.3,1.5,.5,1),opacity .3s ease}

  /* 2. THE NUMBERS — the stub tears off, figures rising column by column */
  html.sx-ph .sx-stat[data-rv]{opacity:0;transform:translateY(18px)}
  html.sx-ph .sx-stat[data-rv].rv-in{opacity:1;transform:none;
    transition:opacity .5s ease,transform .62s var(--sx-ph-ease)}

  /* 3. THE INTERACTIVE — the plinth casts its shadow out from under the card */
  /*    (.sx-stage-frame::after, defined above)                               */

  /* 4. THE CASE IN THREE BEATS — each beat swings IN FROM THE SPINE, not up,
        so the story rail reads left-to-right against a page that moves up */
  html.sx-ph .sx-beat[data-rv]{opacity:0;transform:translateX(-26px)}
  html.sx-ph .sx-beat[data-rv].rv-in{opacity:1;transform:none;
    transition:opacity .55s ease,transform .68s var(--sx-ph-ease)}

  /* 5. THE PLAN AT A GLANCE — cards are DEALT: they tip up onto their bottom
        edge, which is the one gesture on the page with any depth to it */
  html.sx-ph .sx-cards{perspective:900px}
  html.sx-ph .sx-card[data-rv]{opacity:0;transform-origin:50% 100%;
    transform:rotateX(14deg) translateY(16px)}
  html.sx-ph .sx-card[data-rv].rv-in{opacity:1;transform:none;
    transition:opacity .45s ease,transform .66s var(--sx-ph-ease),border-color .3s ease}

  /* 6. THE LEDGER — each pair is a sheet of paper sliding out of the stack:
        wiped in from the top rather than moved, so the card edge stays put */
  /* the number chip overhangs the card by 11px, so the clip box is expanded
     16px all round — otherwise the wipe slices the chip in half */
  html.sx-ph .sx-ledger.can-wipe .sx-ledger-pair{clip-path:inset(-16px -16px 100% -16px);opacity:.001}
  html.sx-ph .sx-ledger.can-wipe .sx-ledger-pair.is-in{clip-path:inset(-16px);opacity:1;
    transition:clip-path .62s var(--sx-ph-ease),opacity .2s ease}

  /* 7. THE FULL POLICY — no choreography on the words. The section RULE draws
        itself across instead, so each chapter opens without staging the text */
  html.sx-ph .sx-sec-head[data-rv]{border-top-color:transparent;position:relative}
  html.sx-ph .sx-sec-head[data-rv]::before{content:"";position:absolute;left:0;right:0;top:-2px;
    height:2px;background:var(--ad-ink);transform:scaleX(0);transform-origin:left center}
  html.sx-ph .sx-sec-head[data-rv].rv-in::before{transform:scaleX(1);
    transition:transform .7s var(--sx-ph-ease)}
  html.sx-ph .sx-sec-head[data-rv] .sx-sec-num{opacity:0;transform:scale(.6)}
  html.sx-ph .sx-sec-head[data-rv].rv-in .sx-sec-num{opacity:1;transform:none;
    transition:opacity .3s ease .18s,transform .4s cubic-bezier(.3,1.5,.5,1) .18s}

  /* 8. RECEIPTS — proof arrives from the other side, and the badge skews into
        the house slash as it lands */
  html.sx-ph .adw-xp-done .receipt[data-rv]{opacity:0;transform:translateX(22px)}
  html.sx-ph .adw-xp-done .receipt[data-rv].rv-in{opacity:1;transform:none;
    transition:opacity .5s ease,transform .64s var(--sx-ph-ease)}
  html.sx-ph .adw-xp-done .receipt .badge{transform:skewX(-18deg)}

  /* 9. THE CLOSE — the panel comes up to meet you rather than sliding past */
  html.sx-ph .adw-cta[data-rv]{opacity:0;transform:scale(.94)}
  html.sx-ph .adw-cta[data-rv].rv-in{opacity:1;transform:none;
    transition:opacity .5s ease,transform .7s var(--sx-ph-ease)}
}

/* -- THE AMENDMENT LEDGER — the signature moment --------------------------
   The compare section recomposed as one numbered ledger, old above new. Built
   by sx-phone.js only on a phone; the LAYOUT is viewport-independent so a
   rotation to landscape gets a tidy ledger rather than a broken one, and only
   the MOTION is gated on html.sx-ph. Every word is present, in order, before
   during and after — the animation only paces text the reader was getting
   anyway, which is the test a policy page has to pass and a product page
   doesn't. */
.sx-duel.sx-ledger-on{display:block}
/* a legend, one label per row — the editors' own column headings. Laid out as
   rows rather than inline: at 390px the two headings wrap, and a separator
   between them ends up stranded at the end of the first line. */
/* Each line carries the editor's own column heading, printed. With no strike
   present until the pen draws one, this label is the only thing standing
   between "the text as it stands" and "what we propose" — so it is never
   decorative, never hidden, and never allowed to fall below AA. */
.sx-ledger-old .lb,.sx-ledger-new .lb{display:block;margin:0 0 8px;font-size:9.5px;font-weight:900;
  letter-spacing:1.5px;text-transform:uppercase;line-height:1.2}
.sx-ledger-old .lb{color:#b3402c}
.sx-ledger-new .lb{color:var(--sx-deep)}
.sx-ledger{list-style:none;margin:0;padding:0;max-width:820px;display:grid;gap:30px}
.sx-ledger-pair{position:relative;background:#fff;border:2px solid var(--ad-border);border-radius:16px;
  padding:16px 18px 18px 18px}
/* outlined until the pair is marked up, filled after — so "amended" is a state
   you can see at a glance, not a shade of the same dark chip */
.sx-ledger-no{position:absolute;top:-11px;left:16px;display:grid;place-items:center;min-width:30px;height:22px;
  padding:0 8px;border-radius:7px;background:#fff;border:2px solid var(--ad-border);color:#6b7a76;
  font-size:10.5px;font-weight:900;letter-spacing:1px;font-variant-numeric:tabular-nums;
  transition:background .3s ease,color .3s ease,border-color .3s ease}
.sx-ledger-old,.sx-ledger-new{margin:0;font-size:15px;line-height:1.55;color:var(--ad-ink);
  padding-left:32px;position:relative}
.sx-ledger-old{padding-top:4px}
.sx-ledger-new{margin-top:14px}
.sx-ledger-old .tx,.sx-ledger-new .tx{display:block;position:relative}
.sx-ledger-old .tx::before,.sx-ledger-new .tx::before{position:absolute;left:-30px;top:0;font-weight:900}
.sx-ledger-old .tx::before{content:"×";color:#b3402c;font-size:16px;top:-1px}
.sx-ledger-new .tx::before{content:"✓";color:var(--sx-deep);font-size:15px}
/* the demotion is carried by the strike and the chip, never by dimming: body
   text at reduced opacity fails AA contrast, so nothing here fades */
/* fallback only: a pair the pen engine could not measure keeps a plain strike,
   so no clause is ever left looking un-amended */
.sx-ledger-old .tx{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:#b3402c}
.sx-ledger-old.has-pen .tx{text-decoration:none}
/* ---- the pen ------------------------------------------------------------
   One rule per rendered text line, drawn left to right as the reader keeps
   scrolling, with a pen carrying the party's mark riding the tip. --f is the
   0..1 fill of each line and is written by sx-phone.js from scrollY alone, so
   the stroke is exactly where the reader's thumb put it and scrolling back up
   rewinds it. Nothing here exists until the engine measures the paragraph. */
.sx-strike{position:absolute;inset:0;pointer-events:none;z-index:2;
  -webkit-user-select:none;user-select:none}   /* the pen's "AD" is real SVG text; keep it out of a copied selection */
.sx-strike i{position:absolute;height:2.6px;border-radius:2px;background:#b3402c;
  transform-origin:left center;transform:rotate(var(--tilt,0deg)) scaleX(var(--f,0));
  box-shadow:0 .5px 0 rgba(179,64,44,.35)}
/* The pen is drawn UPRIGHT and rotated by CSS about its own nib, so the JS
   only ever has to write the tip coordinate — no trigonometry, and the cap can
   be a real image rather than a hand-drawn imitation of the logo. */
.sx-strike .sx-pen{position:absolute;left:0;top:0;width:38px;height:44px;
  margin-left:-19px;margin-top:-44px;      /* untransformed nib sits on (0,0) */
  transform-origin:50% 100%;               /* ...and rotation pivots on it */
  background:url("data:image/svg+xml,<svg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2038%2044%22><path%20d=%22M14.4%2037.6%2019%2044%2023.6%2037.6Z%22%20fill=%22%23b3402c%22/><rect%20x=%2212.9%22%20y=%2233%22%20width=%2212.2%22%20height=%225%22%20rx=%221.2%22%20fill=%22%23e7e2d4%22/><rect%20x=%2212.3%22%20y=%2217%22%20width=%2213.4%22%20height=%2216.4%22%20rx=%222.4%22%20fill=%22%2315655a%22/><rect%20x=%2212.3%22%20y=%2228.6%22%20width=%2213.4%22%20height=%224%22%20fill=%22%23fcd666%22/></svg>") center/contain no-repeat;
  opacity:0;transition:opacity .16s ease;
  filter:drop-shadow(0 6px 10px rgba(29,42,40,.34));will-change:transform}
/* the party's actual icon, as shipped in public/assets/brand */
.sx-strike .sx-pen::before{content:"";position:absolute;left:50%;top:0;
  width:21px;height:21px;margin-left:-10.5px;border-radius:5.5px;
  border:1.4px solid #0d2824;box-sizing:border-box;
  background:url("/assets/brand/logo-icon-colour.png") center/cover no-repeat}
.sx-strike.is-drawing .sx-pen{opacity:1}
@media(prefers-reduced-motion:reduce){.sx-strike .sx-pen{display:none}}
.sx-ledger-note{display:block;margin:14px 0 0;padding:11px 13px;border-radius:11px;
  background:var(--sx-wash);font-size:13px;line-height:1.55;color:var(--ad-ink)}
.sx-ledger-note::before{content:"";display:inline-block;width:14px;height:6px;margin-right:8px;
  vertical-align:2px;border-radius:2px;transform:skewX(-18deg);background:var(--sx-deep)}
.sx-ledger-pair.is-amended .sx-ledger-no{background:var(--sx-deep);border-color:var(--sx-deep);color:#fff}
@media(max-width:720px){
  html.sx-ph .sx-ledger-new{transform:translate3d(0,10px,0);
    transition:transform .5s var(--sx-ph-ease) .16s}
  html.sx-ph .sx-ledger-pair.is-amended .sx-ledger-new{transform:none}
  html.sx-ph .sx-ledger-new .tx::after{content:"";position:absolute;left:-13px;top:1px;bottom:1px;width:2.5px;
    border-radius:2px;background:var(--sx-a);transform:scaleY(0);transform-origin:bottom center;
    transition:transform .5s var(--sx-ph-ease) .16s}
  html.sx-ph .sx-ledger-pair.is-amended .sx-ledger-new .tx::after{transform:scaleY(1)}
}

/* ---------- xpw: the honest pokie v3 (gambling reform) -------------------- */
.xpw-pokie2 .cab{position:relative;max-width:460px;margin:0 auto;background:linear-gradient(180deg,#1d2a28 0%,#22322f 100%);
  border:3px solid var(--ad-ink);border-radius:22px;padding:34px 22px 28px;box-shadow:0 26px 52px -24px rgba(29,42,40,.65),inset 0 2px 0 rgba(255,255,255,.08)}
.xpw-pokie2 .lights{position:absolute;top:8px;left:16px;right:16px;height:12px;border-radius:99px;
  background-image:radial-gradient(circle 4px,#ffe193 0 40%,rgba(252,214,102,.95) 41% 88%,transparent 89%),radial-gradient(circle 6.5px,rgba(252,214,102,.3) 0 55%,transparent 60%),radial-gradient(circle 4px,rgba(196,148,54,.5) 0 88%,transparent 89%);
  background-size:30px 12px,30px 12px,30px 12px;background-position:0 0,0 0,15px 0;background-repeat:repeat-x}
@media(prefers-reduced-motion:no-preference){
  .xpw-pokie2 .lights{animation:pklights 1.05s steps(2) infinite}
  @keyframes pklights{to{background-position:30px 0,30px 0,45px 0}}
}
.xpw-pokie2 .lamps{position:absolute;top:30px;bottom:26px;width:12px;
  background-image:radial-gradient(circle 4px,#ffe193 0 40%,rgba(252,214,102,.95) 41% 88%,transparent 89%),radial-gradient(circle 6.5px,rgba(252,214,102,.3) 0 55%,transparent 60%),radial-gradient(circle 4px,rgba(196,148,54,.5) 0 88%,transparent 89%);
  background-size:12px 30px,12px 30px,12px 30px;background-position:0 0,0 0,0 15px;background-repeat:repeat-y}
.xpw-pokie2 .lamps.left{left:6px}
.xpw-pokie2 .lamps.right{right:6px}
.xpw-pokie2 .cab::after{content:"";position:absolute;bottom:6px;left:16px;right:16px;height:12px;border-radius:99px;
  background-image:radial-gradient(circle 4px,#ffe193 0 40%,rgba(252,214,102,.85) 41% 88%,transparent 89%),radial-gradient(circle 6.5px,rgba(252,214,102,.25) 0 55%,transparent 60%),radial-gradient(circle 4px,rgba(196,148,54,.45) 0 88%,transparent 89%);
  background-size:30px 12px,30px 12px,30px 12px;background-position:0 0,0 0,15px 0;background-repeat:repeat-x;pointer-events:none}
@media(prefers-reduced-motion:no-preference){
  .xpw-pokie2 .lamps{animation:pklamps 1.05s steps(2) infinite}
  @keyframes pklamps{to{background-position:0 30px,0 30px,0 45px}}
  .xpw-pokie2 .cab::after{animation:pklights 1.05s steps(2) infinite reverse}
  .xpw-pokie2 .cab.winflash{animation:pkflash .9s ease-out 2}
  .xpw-pokie2 .cab.winflash .lights,.xpw-pokie2 .cab.winflash .lamps,.xpw-pokie2 .cab.winflash::after{animation-duration:.35s}
  @keyframes pkflash{50%{box-shadow:0 0 46px 4px rgba(252,214,102,.55),0 26px 52px -24px rgba(29,42,40,.65),inset 0 2px 0 rgba(255,255,255,.08)}}
}
.xpw-pokie2 .cab-head{text-align:center;margin-bottom:14px;background:#141f1d;border:1px solid rgba(252,214,102,.22);border-radius:12px;padding:10px 12px 8px;box-shadow:inset 0 3px 10px rgba(0,0,0,.55)}
.xpw-pokie2 .brand{display:block;font-size:16px;font-weight:900;letter-spacing:3px;color:var(--ad-gold);white-space:nowrap}
@media(max-width:480px){.xpw-pokie2 .brand{font-size:13px;letter-spacing:2.2px}}
.xpw-pokie2 .sub{display:block;font-size:9px;font-weight:800;letter-spacing:2px;color:#b9c6c0;margin-top:2px;text-wrap:balance}
.xpw-pokie2 .win{position:relative;background:#101917;border:2px solid #000;border-radius:14px;padding:14px;box-shadow:inset 0 6px 18px rgba(0,0,0,.6)}
.xpw-pokie2 .reels{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.xpw-pokie2 .reel{display:grid;place-items:center;aspect-ratio:1/1.2;font-size:clamp(30px,6vw,44px);
  background:linear-gradient(180deg,#fdfbf2 0%,#efe7d2 55%,#e2d7ba 100%);border:2px solid #000;border-radius:10px;
  color:var(--ad-green-deep);box-shadow:inset 0 -12px 16px -10px rgba(0,0,0,.35),inset 0 12px 16px -10px rgba(0,0,0,.25)}
@media(prefers-reduced-motion:no-preference){
  .xpw-pokie2 .reel.rolling{animation:pkroll .12s linear infinite}
  @keyframes pkroll{0%{transform:translateY(-2px)}50%{transform:translateY(2px)}100%{transform:translateY(-2px)}}
}
.xpw-pokie2 .winline{position:absolute;left:8px;right:8px;top:50%;height:3px;border-radius:2px;background:rgba(179,64,44,.0);transition:background .2s}
.xpw-pokie2 .winline.hit{background:rgba(252,214,102,.9);box-shadow:0 0 14px rgba(252,214,102,.9)}
.xpw-pokie2 .msg{text-align:center;color:#e8efec;font-size:13.5px;font-weight:700;min-height:2.6em;margin:12px 4px 8px;line-height:1.4}
.xpw-pokie2 .meters{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.xpw-pokie2 .meters span{font-size:9.5px;font-weight:900;letter-spacing:1.4px;color:#b9c6c0}
.xpw-pokie2 .meters b{display:block;font-size:19px;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:0;text-align:center}
.xpw-pokie2 .meters .take b{color:#ff9a80}
.xpw-pokie2 .row{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin-bottom:12px}
.xpw-pokie2 .row button{padding:12px 20px;border-radius:999px;border:2px solid var(--ad-gold);font:inherit;font-weight:900;font-size:14px;cursor:pointer;transition:transform .15s,filter .15s;background:transparent;color:var(--ad-gold)}
.xpw-pokie2 .row button:hover{transform:translateY(-2px);filter:brightness(1.1)}
.xpw-pokie2 .row .spin{background:var(--ad-gold);color:var(--ad-ink);box-shadow:0 6px 0 #8a5f0b}
.xpw-pokie2 .row .spin:active{transform:translateY(3px);box-shadow:0 2px 0 #8a5f0b}
.xpw-pokie2 .row .how.on{background:transparent;border-color:#fff;color:#fff}
.xpw-pokie2 .row .reset{background:#fff;border-color:#fff;color:var(--ad-ink)}
.xpw-pokie2 .row button:disabled{opacity:.35;cursor:default;box-shadow:none}
.xpw-pokie2 .row button:disabled:hover{transform:none;filter:none}
.xpw-pokie2 .row .auto{border-color:#ff9a80;color:#ff9a80}
.xpw-pokie2 .row .auto.on{background:#b3402c;border-color:#b3402c;color:#fff}
@media(prefers-reduced-motion:no-preference){
  .xpw-pokie2 .row .auto.on{animation:pkauto 1.15s ease-in-out infinite}
  @keyframes pkauto{50%{filter:brightness(1.3)}}
}
.xpw-pokie2 .strip{display:flex;gap:6px;justify-content:center;align-items:center;flex-wrap:wrap;min-height:26px;margin-bottom:8px}
.xpw-pokie2 .strip .tag{font-size:9px;font-weight:900;letter-spacing:1.4px;color:#b9c6c0}
.xpw-pokie2 .chip{font-size:11px;font-weight:900;font-variant-numeric:tabular-nums;border-radius:99px;padding:3px 10px;background:#31413d;color:#ffb3a0}
.xpw-pokie2 .chip.even{background:#3d4a37;color:#e8e3c0}
.xpw-pokie2 .chip.up{background:var(--ad-gold);color:var(--ad-ink)}
.xpw-pokie2 .chip.more{background:transparent;border:1px dashed #5b6b66;color:#b9c6c0}
.xpw-pokie2 .ledger{display:flex;flex-wrap:wrap;justify-content:center;column-gap:14px;row-gap:2px;text-align:center;font-size:11.5px;font-weight:700;color:#c8d4cf;font-variant-numeric:tabular-nums}
.xpw-pokie2 .ledger span{white-space:nowrap}
.xpw-pokie2 .xray{max-width:460px;margin:14px auto 0;background:#fff;border:2px dashed var(--ad-ink);border-radius:14px;padding:16px 18px}
.xpw-pokie2 .xray h4{font-size:13px;font-weight:900;letter-spacing:1px;text-transform:uppercase;margin:0 0 10px}
.xpw-pokie2 .xray table{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}
.xpw-pokie2 .xray th{text-align:left;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#5b6b66;border-bottom:2px solid var(--ad-ink);padding:4px 6px}
.xpw-pokie2 .xray td{padding:5px 6px;border-bottom:1px solid var(--ad-border)}
.xpw-pokie2 .xray p{font-size:12px;color:#4a5a55;margin:10px 0 0;line-height:1.55}
.xpw-pokie2 .truth{max-width:460px;margin:14px auto 0;border-left:4px solid #b3402c;background:#fdf1ee;border-radius:0 12px 12px 0;padding:12px 16px}
.xpw-pokie2 .truth p{font-size:13.5px;color:#4c3a35;margin:0 0 8px}
.xpw-pokie2 .truth p:last-child{margin:0}

/* ---------- xpw: old enough (voting age) ---------------------------------- */
.xpw-fv .mode{display:flex;gap:10px;margin-bottom:14px}
.xpw-fv .mode button{flex:1;min-width:120px;padding:12px;border-radius:12px;border:2px solid var(--ad-border);background:#fff;font:inherit;font-weight:900;font-size:14.5px;cursor:pointer}
.xpw-fv .mode button.on{border-color:var(--ad-ink);background:var(--ad-ink);color:var(--ad-gold)}
.xpw-fv .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
@media(max-width:560px){.xpw-fv .grid{grid-template-columns:repeat(2,1fr)}}
.xpw-fv .tile{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1.5px solid var(--ad-border);border-radius:12px;background:#fff;font-size:13px;font-weight:800;color:#8a948f;transition:border-color .25s,color .25s,background .25s}
.xpw-fv .tile i{width:16px;height:16px;flex:0 0 16px;border-radius:50%;border:2px solid #c9c2ad;position:relative;transition:background .25s,border-color .25s}
.xpw-fv .tile.yes{color:var(--ad-ink);border-color:var(--ad-green-deep);background:#f2faf7}
.xpw-fv .tile.yes i{background:var(--ad-green-deep);border-color:var(--ad-green-deep)}
.xpw-fv .tile.yes i::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(42deg)}
.xpw-fv .ballot{border:2px solid var(--ad-border);border-radius:14px;padding:14px 16px;transition:border-color .25s,background .25s}
.xpw-fv .ballot b{display:block;font-size:16px;letter-spacing:.6px;margin-bottom:3px}
.xpw-fv .ballot span{font-size:13.5px;color:#5b6b66;font-weight:600}
.xpw-fv .ballot.no{border-color:#b3402c;background:#fdf1ee}
.xpw-fv .ballot.no b{color:#b3402c}
.xpw-fv .ballot.yes{border-color:var(--ad-green-deep);background:#f2faf7}
.xpw-fv .ballot.yes b{color:var(--ad-green-deep)}
.xpw-fv .ballot.gold{border-color:var(--ad-gold);background:#fdf6e0}
.xpw-fv .ballot.gold b{color:#8a5f0b}
.xpw-fv .fact{margin:12px 0 0;font-size:13px;font-weight:700;color:var(--ad-green-deep);min-height:1.2em}

/* ---------- xpw: run the lab (science) ------------------------------------ */
.xpw-lab .rail{position:relative;padding-bottom:34px;margin-bottom:8px}
.xpw-lab .rail input{width:100%}
.xpw-lab .mark{position:absolute;top:100%;margin-top:-26px;transform:translateX(-50%);font-size:10.5px;font-weight:900;letter-spacing:.4px;white-space:nowrap;color:#5b6b66;padding:3px 8px;border-radius:999px;border:1.5px solid var(--ad-border);background:#fff}
.xpw-lab .mark.oecd{color:var(--ad-green-deep);border-color:var(--ad-green-deep)}
@media(max-width:560px){.xpw-lab .mark{font-size:9px}}
.xpw-lab .benches{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:16px 0}
@media(max-width:680px){.xpw-lab .benches{grid-template-columns:repeat(2,1fr)}.xpw-lab .benches .bench:last-child{grid-column:1/-1}}
.xpw-lab .bench{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:14px 8px;border:1.5px solid var(--ad-border);border-radius:14px;background:#fff;transition:border-color .3s,background .3s,box-shadow .3s}
.xpw-lab .bench span{font-size:12px;font-weight:800;color:#8a948f;line-height:1.3}
.xpw-lab .bench em{font-style:normal;font-size:10px;font-weight:900;letter-spacing:1px;text-transform:uppercase;color:#b3402c}
.xpw-lab .bench .lamp{width:18px;height:18px;border-radius:50%;background:#e6e0cf;transition:background .3s,box-shadow .3s}
.xpw-lab .bench.lit{border-color:var(--ad-green-deep);background:#f2faf7;box-shadow:0 10px 22px -14px rgba(21,101,90,.55)}
.xpw-lab .bench.lit span{color:var(--ad-ink)}
.xpw-lab .bench.lit em{color:var(--ad-green-deep)}
.xpw-lab .bench.lit .lamp{background:var(--ad-gold);box-shadow:0 0 12px rgba(252,214,102,.85)}

/* ---------- ELECTED REPRESENTATIVES (/representatives) ------------------- */
.adw-foot-reps{margin:6px 0 14px}
.adw-foot-reps a{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:800;color:var(--ad-green-deep);text-decoration:none}
.adw-foot-reps a::before{content:"";width:18px;height:8px;background:var(--ad-gold);transform:skewX(-18deg);border-radius:2px}
.adw-foot-reps a:hover{text-decoration:underline}
.adw-reps-hero .wm{letter-spacing:-4px}
.adw-reps-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:clamp(24px,4vw,40px) 0}
.adw-reps-tabs button{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 14px;border-radius:16px;border:2px solid var(--ad-border);background:#fff;font:inherit;font-size:15px;font-weight:900;color:var(--ad-ink);cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s,background .15s}
.adw-reps-tabs button svg{width:22px;height:22px;color:var(--ad-green-deep)}
.adw-reps-tabs button:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ad-green);border-color:var(--ad-green-deep)}
.adw-reps-tabs button.is-on{background:linear-gradient(120deg,#1f877a,var(--ad-green-deep));border-color:var(--ad-green-deep);color:#fff;box-shadow:0 14px 30px -14px rgba(21,101,90,.6)}
.adw-reps-tabs button.is-on svg{color:var(--ad-gold)}
.adw-reps-panel{display:none}
.adw-reps-panel.is-on{display:block;animation:adwXpFade .45s ease}
html:not(.adw-js) .adw-reps-panel{display:block}
.adw-reps-panel .adw-pp-sechead{margin-top:10px}
.adw-reps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}
.adw-rep{display:flex;flex-direction:column;background:#fff;border:1px solid var(--ad-border);border-radius:20px;overflow:hidden;box-shadow:var(--ad-shadow-soft);transition:transform .18s ease,box-shadow .18s ease}
.adw-rep:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ad-gold)}
.adw-rep .ph{position:relative;aspect-ratio:4/3.4;background:linear-gradient(160deg,#eaf3f0,#dcebe7)}
.adw-rep .ph img{width:100%;height:100%;object-fit:cover;display:block}
.adw-rep .ph .init{position:absolute;inset:0;display:grid;place-items:center;font-size:44px;font-weight:900;color:var(--ad-green-deep)}
.adw-rep .ph .badge{position:absolute;left:14px;bottom:12px;font-size:10.5px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase;color:var(--ad-ink);background:var(--ad-gold);border-radius:8px;padding:5px 11px}
.adw-rep .body{padding:18px 20px 18px;border-top:3px solid var(--ad-gold)}
.adw-rep h3{margin:0 0 3px;font-size:19px;font-weight:900;letter-spacing:-.3px;color:var(--ad-ink)}
.adw-rep .role{margin:0 0 8px;font-size:13px;font-weight:800;color:var(--ad-green-deep)}
.adw-rep .seat{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:700;color:#4a5a55}
.adw-rep .seat .rg{font-size:10.5px;font-weight:900;letter-spacing:1px;color:#0e332d;background:#bfe9de;border-radius:7px;padding:3px 8px}
.adw-rep .since{margin:8px 0 0;font-size:12px;font-weight:700;color:#8a948f}
.adw-rep .links{display:flex;gap:14px;margin:12px 0 0;padding-top:12px;border-top:1px solid var(--ad-border)}
.adw-rep .links a{font-size:12.5px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;color:var(--ad-green-deep);text-decoration:none;border-bottom:2.5px solid var(--ad-gold);padding-bottom:2px}
.adw-rep .links a:hover{color:var(--ad-ink)}
.adw-reps-empty{display:grid;justify-items:center;gap:14px;text-align:center;background:#fff;border:2px dashed var(--ad-border);border-radius:22px;padding:clamp(34px,5vw,56px) clamp(22px,4vw,60px);margin-top:18px}
.adw-reps-empty .seat{display:grid;place-items:center;width:74px;height:74px;border-radius:22px;background:linear-gradient(135deg,#fdeec4,#fce6a6);color:#6a4f00}
.adw-reps-empty .seat svg{width:40px;height:40px}
.adw-reps-empty p{margin:0;max-width:56ch;font-size:16px;font-weight:600;line-height:1.7;color:#3a4a45}
.adw-reps-empty .go{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:13px;background:linear-gradient(120deg,#1f877a,var(--ad-green-deep));color:#fff;font-weight:900;font-size:15px;text-decoration:none;box-shadow:0 14px 30px -14px rgba(21,101,90,.6);transition:transform .15s,filter .15s}
.adw-reps-empty .go:hover{transform:translateY(-2px);filter:brightness(1.07)}
@media(max-width:920px){.adw-reps-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.adw-reps-tabs{grid-template-columns:1fr}.adw-reps-grid{grid-template-columns:1fr}}

/* ---------- v7.8: representative profile subpages ------------------------ */
.adw-rep .links .golink{font-size:12.5px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;color:var(--ad-green-deep);border-bottom:2.5px solid var(--ad-gold);padding-bottom:2px;transition:color .15s}
.adw-rep:hover .links .golink{color:var(--ad-ink)}
.adw-rep{text-decoration:none;color:inherit}
.adw-rp-people{display:grid;gap:20px;margin-top:clamp(20px,3vw,32px)}
.adw-rp-card{display:grid;grid-template-columns:250px 1fr;gap:clamp(22px,3.4vw,44px);background:#fff;border:1px solid var(--ad-border);border-radius:24px;padding:clamp(22px,3vw,38px);box-shadow:0 30px 62px -32px rgba(22,34,31,.35)}
.adw-rp-card .side{text-align:center}
.adw-rp-card .side .ph{width:min(210px,100%);margin:0 auto 14px;aspect-ratio:3/3.3;border-radius:20px;overflow:hidden;background:linear-gradient(160deg,#eaf3f0,#dcebe7);border:4px solid #fff;outline:2px solid var(--ad-gold);box-shadow:0 18px 40px -18px rgba(20,80,70,.5)}
.adw-rp-card .side .ph img{width:100%;height:100%;object-fit:cover;display:block}
.adw-rp-card .side .ph .init{display:grid;place-items:center;width:100%;height:100%;font-size:56px;font-weight:900;color:var(--ad-green-deep)}
.adw-rp-card .side .badge{display:inline-block;font-size:11px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase;color:var(--ad-ink);background:var(--ad-gold);border-radius:9px;padding:6px 14px}
.adw-rp-card .side .ward{margin:10px 0 0;font-size:14px;font-weight:800;color:var(--ad-green-deep)}
.adw-rp-card .side .since{margin:4px 0 0;font-size:12px;font-weight:700;color:#8a948f}
.adw-rp-card .side .contact{display:flex;justify-content:center;gap:10px;margin-top:14px;flex-wrap:wrap}
.adw-rp-card .side .contact a{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border-radius:11px;border:1.5px solid var(--ad-border);font-size:13px;font-weight:900;color:var(--ad-ink);text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}
.adw-rp-card .side .contact a svg{width:15px;height:15px;color:var(--ad-green-deep)}
.adw-rp-card .side .contact a:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ad-green);border-color:var(--ad-green-deep)}
.adw-rp-card .msg h3{margin:0 0 12px;font-size:clamp(24px,3vw,32px);font-weight:900;letter-spacing:-.6px;color:var(--ad-ink);display:inline-flex;align-items:center;gap:14px}
.adw-rp-card .msg h3::before{content:"";width:26px;height:11px;background:var(--ad-gold);transform:skewX(-18deg);border-radius:2px;flex:none}
.adw-rp-card .msg p{font-size:16px;line-height:1.75;color:#3a4a45;margin:0 0 13px}
.adw-rp-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:clamp(30px,4vw,48px)}
.adw-rp-foot .back{font-size:14.5px;font-weight:900;color:var(--ad-green-deep);text-decoration:none;border-bottom:2.5px solid var(--ad-gold);padding-bottom:2px}
.adw-rp-foot .back:hover{color:var(--ad-ink)}
@media(max-width:760px){.adw-rp-card{grid-template-columns:1fr}}

/* ======================================================================
   v7.9 — FIVE DECADES: the interactive history timeline. A dark stage,
   a ghost year that follows the scroll, a gold rail of snap cards.
   ====================================================================== */
.adw-tl{position:relative;overflow:hidden;background:linear-gradient(160deg,#0f1d1a 0%,#12211d 55%,#123229 100%);color:#fff;padding:clamp(56px,8vw,104px) 0 clamp(40px,6vw,72px);border-block:1px solid rgba(252,214,102,.18)}
.adw-tl-head{max-width:820px;margin-bottom:clamp(26px,4vw,44px)}
.adw-tl-head h2{font-size:clamp(30px,4.8vw,52px);font-weight:900;letter-spacing:-1.4px;line-height:1.08;color:#fff;margin:14px 0 12px}
.adw-tl-head h2 .gold{color:var(--ad-gold)}
.adw-tl-head p{margin:0;font-size:16px;line-height:1.6;color:rgba(255,255,255,.65)}
.adw-tl-stage{position:relative}
.adw-tl-year{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);font-size:clamp(150px,30vw,380px);font-weight:900;letter-spacing:-.04em;color:rgba(255,255,255,.05);pointer-events:none;user-select:none;white-space:nowrap;line-height:1}
@media(prefers-reduced-motion:no-preference){
  .adw-tl-year.tick{animation:adwTlYear .7s cubic-bezier(.2,.8,.25,1)}
  @keyframes adwTlYear{from{opacity:0;transform:translate(-50%,-42%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
}
.adw-tl-rail{display:none}
.adw-tl-track{position:relative;display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:26px max(24px,calc(50% - 175px)) 18px;scrollbar-width:none;-webkit-overflow-scrolling:touch;outline:none}
.adw-tl-track::-webkit-scrollbar{display:none}
.adw-tl-track:focus-visible{box-shadow:inset 0 0 0 3px rgba(252,214,102,.5);border-radius:12px}
.adw-tl-card{position:relative;flex:0 0 min(350px,84vw);scroll-snap-align:center;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:40px 26px 24px;margin-top:22px;transition:transform .45s cubic-bezier(.16,1,.3,1),background .3s,border-color .3s,box-shadow .3s}
/* the rail: each card draws its own segment so the line spans the scroll */
.adw-tl-card::before{content:"";position:absolute;top:-22px;left:-22px;right:0;height:2px;background:repeating-linear-gradient(90deg,rgba(252,214,102,.4) 0 9px,transparent 9px 17px)}
.adw-tl-card:first-child::before{left:50%}
.adw-tl-card:last-child::before{right:50%}
.adw-tl-card .node{position:absolute;top:-29px;left:50%;transform:translateX(-50%);width:16px;height:16px;border-radius:50%;background:#12211d;border:3px solid rgba(252,214,102,.55);transition:background .3s,box-shadow .3s,border-color .3s}
.adw-tl-card .yr{display:block;font-size:clamp(34px,4vw,44px);font-weight:900;letter-spacing:-1.5px;color:var(--ad-gold);line-height:1;margin-bottom:10px}
.adw-tl-card .tag{display:inline-block;font-size:10.5px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase;color:#9fe8d9;background:rgba(41,168,149,.16);border-radius:8px;padding:5px 11px;margin-bottom:12px}
.adw-tl-card h3{margin:0 0 10px;font-size:20px;font-weight:900;letter-spacing:-.4px;color:#fff;line-height:1.25}
.adw-tl-card p{margin:0;font-size:14px;line-height:1.65;color:rgba(255,255,255,.68)}
.adw-tl-card .go{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:12px 22px;border-radius:12px;background:linear-gradient(120deg,var(--ad-gold),var(--ad-gold-deep));color:var(--ad-ink);font-weight:900;font-size:14px;text-decoration:none;transition:transform .15s,filter .15s}
.adw-tl-card .go:hover{transform:translateY(-2px);filter:brightness(1.05)}
.adw-tl-card.is-on{transform:translateY(-10px);background:rgba(255,255,255,.09);border-color:rgba(252,214,102,.65);box-shadow:0 30px 60px -28px rgba(0,0,0,.7)}
.adw-tl-card.is-on .node{background:var(--ad-gold);border-color:var(--ad-gold);box-shadow:0 0 0 7px rgba(252,214,102,.18),0 0 22px rgba(252,214,102,.5)}
@media(prefers-reduced-motion:reduce){.adw-tl-card,.adw-tl-card.is-on{transform:none}}
.adw-tl-ctl{display:flex;align-items:center;gap:18px;max-width:520px;margin:18px auto 0;padding:0 24px}
.adw-tl-ctl button{flex:none;width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);color:#fff;font-size:18px;font-weight:900;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}
.adw-tl-ctl button:hover{background:var(--ad-gold);border-color:var(--ad-gold);color:var(--ad-ink);transform:translateY(-2px)}
.adw-tl-ctl .bar{flex:1;height:4px;border-radius:99px;background:rgba(255,255,255,.14);overflow:hidden}
.adw-tl-ctl .bar i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--ad-green),var(--ad-gold));transition:width .2s}

/* ======================================================================
   v7.10 — VICTORIA: NEXT UP (homepage act above the state map)
   Light act conforming with the rest of the homepage: centred head,
   three proof-point cards, and a rally callout. Editable + switchable
   from /keystatic.
   ====================================================================== */
/* the act blades of fully-passed sections park 140px right of centre — on a
   phone that pokes past the viewport and adds sideways jiggle. clip (NOT
   hidden: clip creates no scroll container, so the sticky header survives). */
body[data-page="/"]{overflow-x:clip}
.adw-vicwork{position:relative}
.adw-vicwork .head{position:relative;max-width:840px;margin:0 auto;text-align:center}
/* Victoria herself, traced behind the heading — drawn in as the act reveals */
.adw-vicwork .head .vicline{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);width:min(480px,92%);height:auto;z-index:-1;pointer-events:none}
.adw-vicwork .head .vicline path{fill:none;stroke:var(--ad-gold-deep);stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round;opacity:.55}
@media(prefers-reduced-motion:no-preference){
  html.adw-rv .adw-vicwork .head .vicline path{stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 2.4s cubic-bezier(.5,0,.2,1) .25s}
  html.adw-rv .adw-vicwork .head[data-rv].rv-in .vicline path{stroke-dashoffset:0}
}
.adw-vicwork .head h2{margin:14px 0 0;font-size:clamp(30px,4.4vw,52px);font-weight:900;letter-spacing:-1.4px;line-height:1.1;color:var(--ad-ink);text-wrap:balance}
.adw-vicwork .head .lead{margin:14px auto 0;font-size:clamp(15.5px,1.9vw,18px);line-height:1.7;color:#4a5a55;max-width:62ch}
/* the three proof points — a row of cards with the print-shadow hover */
.adw-vicwork .pts{list-style:none;margin:clamp(26px,4vw,40px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.adw-vicwork .pts li{display:flex;align-items:flex-start;gap:12px;font-size:15px;font-weight:700;line-height:1.5;color:var(--ad-ink);background:#fff;border:1.5px solid var(--ad-border);border-radius:16px;padding:18px 20px;transition:transform .18s,box-shadow .18s,border-color .18s}
.adw-vicwork .pts li:hover{transform:translate(-3px,-3px);border-color:var(--ad-ink);box-shadow:6px 6px 0 var(--ad-gold)}
.adw-vicwork .tick{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--ad-gold),var(--ad-gold-deep));color:var(--ad-ink);font-size:13px;font-weight:900;transform:skewX(-8deg)}
/* the rally: growing fast — help us across the line */
.adw-vicwork .push{max-width:760px;margin:clamp(28px,4vw,44px) auto 0;text-align:center;background:#fff;border:2px solid var(--ad-ink);border-radius:22px;padding:clamp(26px,4vw,40px) clamp(22px,4vw,44px);box-shadow:8px 8px 0 var(--ad-gold)}
.adw-vicwork .push h3{margin:0;font-size:clamp(22px,2.9vw,32px);font-weight:900;letter-spacing:-.8px;line-height:1.15;color:var(--ad-ink);text-wrap:balance}
.adw-vicwork .push p{margin:12px auto 0;font-size:15.5px;line-height:1.7;color:#4a5a55;max-width:56ch}
.adw-vicwork .ctas{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:22px}
.adw-vicwork .b1{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:13px;background:linear-gradient(120deg,var(--ad-gold),var(--ad-gold-deep));color:var(--ad-ink);font-weight:900;font-size:15px;text-decoration:none;box-shadow:0 14px 30px -14px rgba(245,185,77,.55);transition:transform .15s,filter .15s}
.adw-vicwork .b1:hover{transform:translateY(-2px);filter:brightness(1.06)}
.adw-vicwork .b2{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;border-radius:13px;border:1.5px solid var(--ad-ink);color:var(--ad-ink);font-weight:900;font-size:15px;text-decoration:none;transition:background .15s,transform .15s}
.adw-vicwork .b2:hover{background:#f2f7f5;transform:translateY(-2px)}
/* the act blade + settle — same choreography as the other homepage acts */
body[data-page="/"] .adw-vicwork::before{content:"";display:block;height:12px;width:min(240px,38vw);margin:0 auto clamp(44px,6vw,70px);border-radius:99px;background:linear-gradient(90deg,var(--ad-gold) 0%,var(--ad-gold-deep) 35%,var(--ad-green) 100%);box-shadow:0 6px 26px -6px rgba(41,168,149,.6),0 2px 10px -2px rgba(245,185,77,.5);transform:translateX(calc((var(--wipe,.5) - .5)*min(72vw,860px))) skewX(-18deg);opacity:var(--wfade,1);transition:none;animation:none}
@media(prefers-reduced-motion:reduce){body[data-page="/"] .adw-vicwork::before{transform:skewX(-18deg);opacity:1}}
@media(prefers-reduced-motion:no-preference){
  body[data-page="/"] .adw-vicwork>.adw-wrap{transform:translateY(calc((1 - var(--wipe,1))*42px)) scale(calc(.985 + var(--wipe,1)*.015));transform-origin:top center;will-change:transform}
}
@media(max-width:880px){
  .adw-vicwork .pts{grid-template-columns:1fr;gap:12px}
  .adw-vicwork .push{box-shadow:6px 6px 0 var(--ad-gold)}
  .adw-vicwork .ctas{flex-direction:column}
  .adw-vicwork .b1,.adw-vicwork .b2{justify-content:center}
}

/* blades never leave the viewport: travel is clamped to half the screen
   minus half the blade (the 21px mobile side-jiggle fix). Overrides both the
   plain and :has() blade rules above — same declaration, declared later. */
body[data-page="/"] .adw-decide::before,
body[data-page="/"] .adw-policy::before,
body[data-page="/"] .adw-realdeal::before,
body[data-page="/"] .adw-vicwork::before,
body[data-page="/"] .adw-statemap::before,
body[data-page="/"] .adw-spotwrap::before,
body[data-page="/"] .adw-takeaction::before,
body[data-page="/"] .adw-takeaction ~ .adw-section::before,
body[data-page="/"] .adw-decide:has([data-rv].rv-in)::before,
body[data-page="/"] .adw-policy:has([data-rv].rv-in)::before,
body[data-page="/"] .adw-realdeal:has([data-rv].rv-in)::before,
body[data-page="/"] .adw-statemap:has([data-rv].rv-in)::before,
body[data-page="/"] .adw-spotwrap:has([data-rv].rv-in)::before,
body[data-page="/"] .adw-takeaction:has([data-rv].rv-in)::before,
body[data-page="/"] .adw-takeaction ~ .adw-section:has([data-rv].rv-in)::before{
  transform:translateX(clamp(calc(-50vw + min(120px,19vw) + 8px),calc((var(--wipe,.5) - .5)*min(72vw,860px)),calc(50vw - min(120px,19vw) - 8px))) skewX(-18deg)}
@media(prefers-reduced-motion:reduce){
  body[data-page="/"] .adw-decide::before,body[data-page="/"] .adw-policy::before,
  body[data-page="/"] .adw-realdeal::before,body[data-page="/"] .adw-vicwork::before,
  body[data-page="/"] .adw-statemap::before,body[data-page="/"] .adw-spotwrap::before,
  body[data-page="/"] .adw-takeaction::before,
  body[data-page="/"] .adw-takeaction ~ .adw-section::before{transform:skewX(-18deg)}
}

/* ======================================================================
   v7.11 — TAKE-ACTION FORMS, homepage dress (CSS-only; the markup in
   src/raw/home.html is untouched — fields, Turnstile and testids as-is).
   Scoped to body[data-page="/"] so /join and /donate keep their look.
   ====================================================================== */
/* card shells: ink border + crisp print-shadow, green for join / gold for donate */
body[data-page="/"] .adw-qcard{border:2px solid var(--ad-ink);border-radius:22px;box-shadow:10px 10px 0 rgba(41,168,149,.28);transition:box-shadow .2s}
body[data-page="/"] .adw-qcard.donate{box-shadow:10px 10px 0 rgba(245,185,77,.4)}
body[data-page="/"] .adw-qcard:hover{box-shadow:10px 10px 0 var(--ad-green)}
body[data-page="/"] .adw-qcard.donate:hover{box-shadow:10px 10px 0 var(--ad-gold)}
body[data-page="/"] .adw-qcard::before{height:7px}
/* badges: slash-cut chips instead of pills */
body[data-page="/"] .adw-qbadge{border-radius:6px;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);padding:8px 18px;font-size:11.5px;letter-spacing:1.4px}
body[data-page="/"] .adw-qbadge.green{background:linear-gradient(120deg,var(--ad-green),var(--ad-green-deep));color:#fff}
body[data-page="/"] .adw-qbadge.gold{background:linear-gradient(120deg,var(--ad-gold),var(--ad-gold-deep));color:var(--ad-ink)}
body[data-page="/"] .adw-qcard-top .t h3{font-size:22px;font-weight:900;letter-spacing:-.5px}
/* field labels: the homepage slash-label device, miniature */
body[data-page="/"] .adw-qfieldlabel{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:900;color:var(--ad-green-deep);letter-spacing:1.1px;margin:8px 0 0}
body[data-page="/"] .adw-qfieldlabel::before{content:"";width:14px;height:8px;background:var(--ad-gold);transform:skewX(-18deg);flex:none}
/* fields: white fill, unified 12px radius, soft inset depth */
body[data-page="/"] .adw-qcard input:not([type=checkbox]):not([type=radio]),
body[data-page="/"] .adw-qcard select{background-color:#fff;border-color:#d9e4df;border-radius:12px;box-shadow:inset 0 1px 2px rgba(22,34,31,.05)}
body[data-page="/"] .adw-qcard input:not([type=checkbox]):not([type=radio]):focus,
body[data-page="/"] .adw-qcard select:focus{border-color:var(--ad-green-deep);box-shadow:0 0 0 3px rgba(41,168,149,.16),inset 0 1px 2px rgba(22,34,31,.04)}
body[data-page="/"] .adw-qmore .adw-prefix span,
body[data-page="/"] .adw-qmore .adw-prefix .adw-prefix-sel{border-radius:12px 0 0 12px;border-color:#d9e4df;background-color:#fdf4d0}
body[data-page="/"] .adw-qmore .adw-prefix input{border-radius:0 12px 12px 0!important}
body[data-page="/"] .adw-qmore .adw-prefix:focus-within span,
body[data-page="/"] .adw-qmore .adw-prefix:focus-within .adw-prefix-sel{border-color:var(--ad-green-deep)}
/* membership tiers + yes/no groups: lift on hover, green-gradient when chosen */
body[data-page="/"] .adw-qtiers button{position:relative;background:#fff;border:1.5px solid #d9e4df;border-radius:14px;min-height:62px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s}
body[data-page="/"] .adw-qtiers button b{font-size:15px;font-weight:900}
body[data-page="/"] .adw-qtiers button:hover{border-color:var(--ad-ink);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ad-gold)}
body[data-page="/"] .adw-qtiers button:active{transform:translateY(0)}
body[data-page="/"] .adw-qtiers button[aria-pressed=true]{border-color:var(--ad-green-deep);background:linear-gradient(135deg,#1f877a,#15655a);box-shadow:none}
body[data-page="/"] .adw-qtiers button[aria-pressed=true] b,
body[data-page="/"] .adw-qtiers button[aria-pressed=true] span{color:#fff}
body[data-page="/"] .adw-qtiers button[aria-pressed=true]:hover{box-shadow:4px 4px 0 var(--ad-gold);border-color:var(--ad-ink)}
/* the chosen tier wears a gold tick chip on its shoulder */
body[data-page="/"] .adw-qtiers button[aria-pressed=true]::after{content:"✓";position:absolute;top:-9px;right:-7px;width:22px;height:22px;display:grid;place-items:center;background:linear-gradient(135deg,var(--ad-gold),var(--ad-gold-deep));color:var(--ad-ink);font-size:12px;font-weight:900;border-radius:7px;transform:skewX(-8deg);box-shadow:0 4px 10px -3px rgba(0,0,0,.35)}
body[data-page="/"] .adw-qtierhint{font-size:12.5px}
/* donate: frequency toggle + amounts go gold when chosen */
body[data-page="/"] .adw-qfreq{background:#f4f0e3;border-radius:13px}
body[data-page="/"] .adw-qfreq button{border-radius:9px;font-weight:900}
body[data-page="/"] .adw-qfreq button[aria-pressed=true]{background:linear-gradient(120deg,var(--ad-gold),var(--ad-gold-deep));color:var(--ad-ink);box-shadow:0 3px 10px rgba(0,0,0,.14)}
body[data-page="/"] .adw-qamts button{position:relative;background:#fff;border:1.5px solid #e7ddc0;border-radius:13px;font-weight:900;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s}
body[data-page="/"] .adw-qamts button:hover{border-color:var(--ad-ink);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ad-gold)}
body[data-page="/"] .adw-qamts button:active{transform:translateY(0)}
body[data-page="/"] .adw-qamts button[aria-pressed=true]{background:linear-gradient(120deg,var(--ad-gold),var(--ad-gold-deep));border-color:var(--ad-gold-deep);color:var(--ad-ink);box-shadow:none}
body[data-page="/"] .adw-qcustom{border-radius:12px;border-color:#e7ddc0;background:#fff}
body[data-page="/"] .adw-qcustom span{background:linear-gradient(120deg,var(--ad-gold),var(--ad-gold-deep));color:var(--ad-ink)}
/* declaration + auto-renew: green confirmation state */
body[data-page="/"] .adw-qcheck.adw-qdeclare{border-radius:14px;border-color:#d9e4df}
body[data-page="/"] .adw-qcheck.adw-qdeclare:has(input:checked){border-color:var(--ad-green-deep);background:#eefaf5;box-shadow:3px 3px 0 rgba(41,168,149,.25)}
body[data-page="/"] .adw-qcheck input,body[data-page="/"] .adw-qmonthly input{accent-color:var(--ad-green-deep)}
/* submit buttons: no pills — squared 13px radius, brand gradients, lift on hover */
body[data-page="/"] .adw-qsubmit{border-radius:13px;font-weight:900;font-size:16px;letter-spacing:.1px}
body[data-page="/"] .adw-qcard .adw-btn-green{background:linear-gradient(120deg,var(--ad-green),var(--ad-green-deep));color:#fff;box-shadow:0 14px 28px -14px rgba(20,80,70,.6)}
body[data-page="/"] .adw-qcard .adw-btn-green:hover{background:linear-gradient(120deg,#25a08c,#125c50);transform:translateY(-2px)}
body[data-page="/"] .adw-qcard .adw-btn-gold{background:linear-gradient(120deg,var(--ad-gold),var(--ad-gold-deep));color:var(--ad-ink);box-shadow:0 14px 28px -14px rgba(200,150,40,.65)}
body[data-page="/"] .adw-qcard .adw-btn-gold:hover{transform:translateY(-2px);filter:brightness(1.05)}
/* turnstile centred; switch link a touch stronger */
body[data-page="/"] .adw-qcard .adw-turnstile{display:flex;justify-content:center}
body[data-page="/"] .adw-formswitch{font-weight:800}
/* the tick chip needs room to poke out of the card's clipped corner area */
body[data-page="/"] .adw-qtiers{padding-top:6px}

/* ======================================================================
   v7.12 — policy-area review tag + take-action form polish
   ====================================================================== */
/* the under-review tag on policy-area pages: the /policy notice, compact */
.adw-review-note.compact{margin-top:clamp(20px,3vw,30px);padding:14px 20px;border-width:1.5px;border-radius:14px;box-shadow:4px 4px 0 var(--ad-gold);gap:14px}
.adw-review-note.compact .ic{width:36px;height:36px;border-radius:11px}
.adw-review-note.compact .ic svg{width:19px;height:19px}
.adw-review-note.compact p{font-size:13.5px;line-height:1.55;margin:0;flex:1;min-width:220px}
.adw-review-note.compact a{font-size:13.5px}

/* iOS paints unstyled button text blue — the bare-text Yes/No buttons need
   their colours said out loud */
body[data-page="/"] .adw-qtiers button{color:var(--ad-ink)}
body[data-page="/"] .adw-qtiers button[aria-pressed=true]{color:#fff}

/* the join card's "donate instead" switch is retired */
body[data-page="/"] #hpJoin .adw-formswitch-wrap{display:none}

/* consent checkbox: custom box, springy gold-shadow tick */
body[data-page="/"] .adw-qcheck.adw-qdeclare input{appearance:none;-webkit-appearance:none;width:26px;height:26px;margin:0;border:2px solid #c3d2cb;border-radius:8px;background:#fff;cursor:pointer;position:relative;flex:none;transition:border-color .18s,background .25s,box-shadow .25s,transform .25s}
body[data-page="/"] .adw-qcheck.adw-qdeclare input:hover{border-color:var(--ad-green-deep)}
body[data-page="/"] .adw-qcheck.adw-qdeclare input:focus-visible{outline:3px solid rgba(41,168,149,.4);outline-offset:2px}
body[data-page="/"] .adw-qcheck.adw-qdeclare input::after{content:"";position:absolute;left:7px;top:2px;width:7px;height:13px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg) scale(0);opacity:0;transition:transform .3s cubic-bezier(.2,1.6,.4,1) .05s,opacity .1s}
body[data-page="/"] .adw-qcheck.adw-qdeclare input:checked{background:linear-gradient(135deg,var(--ad-green),var(--ad-green-deep));border-color:var(--ad-green-deep);box-shadow:3px 3px 0 var(--ad-gold);transform:rotate(-3deg)}
body[data-page="/"] .adw-qcheck.adw-qdeclare input:checked::after{transform:rotate(45deg) scale(1);opacity:1}
@media(prefers-reduced-motion:no-preference){
  body[data-page="/"] .adw-qcheck.adw-qdeclare input:checked{animation:adwConsentPop .5s cubic-bezier(.3,1.5,.4,1)}
  @keyframes adwConsentPop{0%{transform:scale(.7) rotate(0deg)}55%{transform:scale(1.18) rotate(-6deg)}100%{transform:scale(1) rotate(-3deg)}}
}

/* ======================================================================
   v7.13 — CANDIDATES HUB (/candidates, unlisted). Map-first: pick a
   state to open its candidates; gold states hand off to their own site.
   ====================================================================== */
.adw-cd-hero .wm{font-size:clamp(120px,22vw,300px)}
/* "no active elections" banner — switchable from the backend */
.adw-cd-banner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:linear-gradient(120deg,#fdf6dd,#fdeec4);border:2px solid var(--ad-ink);border-radius:16px;padding:16px 22px;box-shadow:6px 6px 0 var(--ad-gold);margin-bottom:clamp(24px,4vw,38px)}
.adw-cd-banner .ic{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:12px;background:linear-gradient(135deg,var(--ad-gold),var(--ad-gold-deep));color:var(--ad-ink);transform:skewX(-8deg)}
.adw-cd-banner .ic svg{width:22px;height:22px}
.adw-cd-banner p{flex:1;min-width:240px;margin:0;font-size:14.5px;font-weight:700;line-height:1.55;color:var(--ad-ink)}
.adw-cd-banner a{flex:none;background:var(--ad-green-deep);color:#fff;font-weight:900;font-size:13.5px;text-decoration:none;border-radius:11px;padding:11px 18px;transition:transform .15s,filter .15s}
.adw-cd-banner a:hover{transform:translateY(-2px);filter:brightness(1.08)}
/* level filter chips */
.adw-cd-levels{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:0 0 clamp(20px,3vw,30px)}
.adw-cd-levels button{border:1.5px solid var(--ad-border);background:#fff;color:var(--ad-ink);font:inherit;font-weight:900;font-size:13.5px;border-radius:12px;padding:11px 20px;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s,background .15s,color .15s}
.adw-cd-levels button:hover{border-color:var(--ad-ink);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ad-gold)}
.adw-cd-levels button.is-on{background:linear-gradient(135deg,#1f877a,#15655a);border-color:var(--ad-green-deep);color:#fff;box-shadow:none}
/* the map */
.adw-cd-mapwrap{max-width:760px;margin:0 auto}
.adw-cd-legend{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;margin-top:14px}
.adw-cd-legend span{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;color:#5e6f69}
.adw-cd-legend i{width:14px;height:14px;border-radius:5px;border:1px solid rgba(22,34,31,.25)}
.adw-cd-legend i.teal{background:#bfe9de}
.adw-cd-legend i.gold{background:#fce6a6}
.adw-cd-legend i.paper{background:#f0ece0}
/* state chips under the map */
.adw-cd-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:clamp(22px,3.4vw,34px) 0 0}
.adw-cd-chips a{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"c n" "c t";column-gap:12px;align-items:center;text-decoration:none;background:#fff;border:1.5px solid var(--ad-border);border-radius:14px;padding:12px 15px;transition:transform .15s,border-color .15s,box-shadow .15s}
.adw-cd-chips a:hover{border-color:var(--ad-ink);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ad-gold)}
.adw-cd-chips a.is-picked{border-color:var(--ad-green-deep);box-shadow:4px 4px 0 rgba(41,168,149,.35)}
.adw-cd-chips b{grid-area:c;font-size:15px;font-weight:900;color:var(--ad-ink);background:#f0ece0;border-radius:9px;padding:8px 10px;transform:skewX(-8deg)}
.adw-cd-chips a.tone-teal b{background:#bfe9de}
.adw-cd-chips a.tone-gold b{background:#fce6a6}
.adw-cd-chips .n{grid-area:n;font-size:13.5px;font-weight:800;color:var(--ad-ink);line-height:1.2}
.adw-cd-chips .t{grid-area:t;font-size:11.5px;font-weight:800;color:#5e6f69;letter-spacing:.3px;text-transform:uppercase}
/* state panels — JS shows one at a time; without JS all render */
.adw-cd-panel{margin-top:clamp(30px,5vw,48px);scroll-margin-top:110px}
html.adw-js .adw-cd-panel{display:none}
html.adw-js .adw-cd-panel.is-on{display:block}
.adw-cd-nomatch{margin:14px 0 0;font-size:14px;font-weight:700;color:#5e6f69}
.adw-cd-card .role{white-space:normal}
@media(max-width:880px){
  .adw-cd-chips{grid-template-columns:1fr 1fr}
  .adw-cd-banner{padding:14px 16px}
}

/* ---------- v7.13b: the map is coloured by election status --------------
   grey = none · gold = state · green/gold stripes = federal (SVG pattern
   #cdFed) · light green = local. Later rules also cancel the generic
   gold hover fill so a grey state never fakes an election on hover. */
.adw-cdmap .adw-aumap-state path{stroke:#fff}
.adw-cdmap .el-none path,.adw-cdmap .el-none:hover path,.adw-cdmap .el-none:focus-visible path{fill:#e5e5e0}
.adw-cdmap .el-state path,.adw-cdmap .el-state:hover path,.adw-cdmap .el-state:focus-visible path{fill:#fcd666}
.adw-cdmap .el-federal path,.adw-cdmap .el-federal:hover path,.adw-cdmap .el-federal:focus-visible path{fill:url(#cdFed)}
.adw-cdmap .el-local path,.adw-cdmap .el-local:hover path,.adw-cdmap .el-local:focus-visible path{fill:#bfe9de}
.adw-cdmap .adw-aumap-state:hover path{filter:brightness(.97)}
/* the second-election square beside the state label */
.adw-cdmap .sq{stroke:#fff;stroke-width:1.4;pointer-events:none}
.adw-cdmap .sq-state{fill:#fcd666}
.adw-cdmap .sq-federal{fill:url(#cdFed)}
.adw-cdmap .sq-local{fill:#8fd8c6}
/* legend swatches */
.adw-cd-legend i.none{background:#e5e5e0}
.adw-cd-legend i.fed{background:repeating-linear-gradient(45deg,#29a895 0 4px,#fcd666 4px 8px)}
.adw-cd-legend i.state{background:#fcd666}
.adw-cd-legend i.local{background:#bfe9de}
.adw-cd-legend i.sq{width:9px;height:9px;border-radius:3px}
/* chips pick up the same palette */
.adw-cd-chips a.el-none b{background:#e9e9e4}
.adw-cd-chips a.el-state b{background:#fcd666}
.adw-cd-chips a.el-federal b{background:repeating-linear-gradient(45deg,#8fe0d1 0 5px,#fce6a6 5px 10px)}
.adw-cd-chips a.el-local b{background:#bfe9de}

/* ===== "What makes us different" — two-experience section ===== */
.adw-diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,30px);margin-top:6px}
/* card frame borrows the "Growing fast" look (white card, bold outline, solid
   offset shadow) — each card keeps its own colour (gold / green) on the shadow
   + accents. The tag is a dash-led label, not a pill; the icon stays. */
.adw-diff-card.one{--dc:var(--ad-gold);--dc-ink:#8a6a12;--dc-soft:var(--ad-gold-soft)}
.adw-diff-card.game{--dc:var(--ad-green);--dc-ink:var(--ad-green-deep);--dc-soft:rgba(41,168,149,.16)}
.adw-diff-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:clamp(24px,3.4vw,36px);border-radius:22px;background:#fff;border:2.5px solid var(--ad-ink);box-shadow:7px 7px 0 var(--dc);text-decoration:none;color:var(--ad-ink);transition:transform .16s ease,box-shadow .16s ease}
.adw-diff-card:hover{transform:translate(-2px,-2px);box-shadow:10px 10px 0 var(--dc)}
.adw-diff-card:focus-visible{outline:3px solid var(--ad-ink);outline-offset:3px}
.adw-diff-ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex:none;background:var(--dc-soft);color:var(--dc-ink)}
.adw-diff-ic svg{width:24px;height:24px}
.adw-diff-tag{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--dc-ink);background:none;padding:0}
.adw-diff-tag::before{content:"";width:24px;height:3px;border-radius:2px;background:var(--dc);flex:none}
.adw-diff-card h3{font-size:clamp(20px,2.6vw,26px);font-weight:900;letter-spacing:-.5px;margin:0}
.adw-diff-card p{margin:0;color:var(--ad-ink-soft);line-height:1.6;flex:1}
.adw-diff-go{display:inline-flex;align-items:center;gap:8px;font-weight:800;margin-top:4px;color:var(--dc-ink)}
.adw-diff-go i{font-style:normal;transition:transform .18s ease}
.adw-diff-card:hover .adw-diff-go i{transform:translateX(5px)}
@media(prefers-reduced-motion:reduce){.adw-diff-card:hover{transform:none}}
@media(max-width:720px){.adw-diff-grid{grid-template-columns:1fr}}

/* ===== Election banner (under the hero) =====
   Two independent dials from Keystatic:
   • variant  = federal | state | custom  (wording/kicker; bold colour)
   • background= light (default) | bold (full colour) | image (uploaded photo)
   A "surface" (light | gold | dark) is derived in index.astro and drives the
   text + button colours, so every variant×background combination stays legible. */
.adw-electionbar{position:relative;overflow:hidden;padding:clamp(30px,5vw,54px) 0;isolation:isolate}
/* the welcome section below pulls up -96px (its "sheet" overlap of the hero);
   cancel that with a matching bottom margin so it sits flush, not over the buttons */
.adw-electionbar:has(+ .adw-sheet){margin-bottom:96px}
.adw-elec-stripes{position:absolute;inset:0;z-index:-1;pointer-events:none}
.adw-elec-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}
.adw-elec-head{max-width:840px}
.adw-elec-kick{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:800;letter-spacing:2.4px;text-transform:uppercase;padding:7px 15px;border-radius:999px;margin-bottom:14px}
.adw-elec-kick .dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:elecPulse 1.8s ease-in-out infinite}
@keyframes elecPulse{0%,100%{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}
.adw-elec-title{font-weight:900;font-size:clamp(30px,6.4vw,66px);line-height:.98;letter-spacing:-1.2px;margin:0;text-wrap:balance}
.adw-elec-sub{margin:14px auto 0;max-width:60ch;font-size:clamp(15px,2vw,18px);line-height:1.55}
.adw-elec-btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:8px}
.adw-elec-btn{display:inline-flex;align-items:center;gap:14px;padding:11px 13px 11px 24px;border-radius:999px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;font-size:clamp(13px,1.5vw,15.5px);text-decoration:none;border:2px solid transparent;transition:transform .16s ease,box-shadow .2s ease,background .2s ease,color .2s ease}
.adw-elec-btn .arw{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none;transition:transform .18s ease,background .2s ease,color .2s ease}
.adw-elec-btn .arw svg{width:20px;height:20px}
.adw-elec-btn:hover{transform:translateY(-3px);box-shadow:0 16px 30px -14px rgba(0,0,0,.5)}
.adw-elec-btn:hover .arw{transform:translateX(4px)}
.adw-elec-btn:active{transform:translateY(-1px)}
.adw-elec-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}

/* ---- BACKGROUNDS ---- */
/* light (default): a clean pale band with a gold top edge so it separates from the dark hero */
.adw-electionbar.bg-light{background:#fdfbf4;border-top:4px solid var(--ad-gold);border-bottom:1px solid var(--ad-border)}
/* bold: full-colour, per variant */
.adw-electionbar.bg-bold.variant-federal{background:linear-gradient(135deg,#15655a 0%,#114c44 100%)}
.bg-bold.variant-federal .adw-elec-stripes{background:repeating-linear-gradient(45deg,transparent 0 30px,rgba(252,214,102,.55) 30px 40px);opacity:.16}
.adw-electionbar.bg-bold.variant-custom{background:linear-gradient(135deg,#157065 0%,#124f47 100%)}
.bg-bold.variant-custom .adw-elec-stripes{background:repeating-linear-gradient(45deg,transparent 0 30px,rgba(255,255,255,.5) 30px 40px);opacity:.07}
.adw-electionbar.bg-bold.variant-state{background:linear-gradient(135deg,#fcd666 0%,#f3b747 100%)}
.bg-bold.variant-state .adw-elec-stripes{background:repeating-linear-gradient(45deg,transparent 0 30px,rgba(22,34,31,.5) 30px 40px);opacity:.07}
/* image: the photo is set inline in index.astro; this element is the dark scrim over it */
.adw-electionbar.bg-image{background-size:cover;background-position:center}
.bg-image .adw-elec-stripes{background:linear-gradient(180deg,rgba(15,40,36,.66) 0%,rgba(12,35,31,.82) 100%);opacity:1}

/* ---- SURFACES (text + buttons) ---- */
/* dark surface: white type, gold / white / gold-outline buttons */
.surf-dark{color:#fff}
.surf-dark .adw-elec-kick{background:rgba(252,214,102,.18);color:var(--ad-gold)}
.surf-dark .adw-elec-title{color:#fff}
.surf-dark .adw-elec-sub{color:rgba(255,255,255,.94)}
.surf-dark .adw-elec-btn.b1{background:var(--ad-gold);color:var(--ad-ink)}
.surf-dark .adw-elec-btn.b1:hover{background:var(--ad-gold-deep)}
.surf-dark .adw-elec-btn.b1 .arw{background:var(--ad-ink);color:var(--ad-gold)}
.surf-dark .adw-elec-btn.b2{background:#fff;color:var(--ad-green-deep)}
.surf-dark .adw-elec-btn.b2:hover{background:#eafaf5}
.surf-dark .adw-elec-btn.b2 .arw{background:var(--ad-green-deep);color:#fff}
.surf-dark .adw-elec-btn.b3{background:transparent;color:var(--ad-gold);border-color:var(--ad-gold)}
.surf-dark .adw-elec-btn.b3 .arw{background:rgba(252,214,102,.18);color:var(--ad-gold)}
.surf-dark .adw-elec-btn.b3:hover{background:var(--ad-gold);color:var(--ad-ink)}
.surf-dark .adw-elec-btn.b3:hover .arw{background:var(--ad-ink);color:var(--ad-gold)}
/* gold surface (state, bold): ink type, green / ink / ink-outline buttons */
.surf-gold{color:var(--ad-ink)}
.surf-gold .adw-elec-kick{background:rgba(22,34,31,.14);color:var(--ad-ink)}
.surf-gold .adw-elec-title{color:var(--ad-ink)}
.surf-gold .adw-elec-sub{color:rgba(22,34,31,.82)}
.surf-gold .adw-elec-btn:focus-visible{outline-color:var(--ad-ink)}
.surf-gold .adw-elec-btn.b1{background:var(--ad-green-deep);color:#fff}
.surf-gold .adw-elec-btn.b1:hover{background:#0f4a41}
.surf-gold .adw-elec-btn.b1 .arw{background:rgba(255,255,255,.22);color:#fff}
.surf-gold .adw-elec-btn.b2{background:var(--ad-ink);color:var(--ad-gold)}
.surf-gold .adw-elec-btn.b2:hover{background:#0c1512}
.surf-gold .adw-elec-btn.b2 .arw{background:var(--ad-gold);color:var(--ad-ink)}
.surf-gold .adw-elec-btn.b3{background:transparent;color:var(--ad-ink);border-color:var(--ad-ink)}
.surf-gold .adw-elec-btn.b3 .arw{background:rgba(22,34,31,.12);color:var(--ad-ink)}
.surf-gold .adw-elec-btn.b3:hover{background:var(--ad-ink);color:var(--ad-gold)}
.surf-gold .adw-elec-btn.b3:hover .arw{background:var(--ad-gold);color:var(--ad-ink)}
/* light surface (pale band): ink type, gold / green / green-outline buttons */
.surf-light{color:var(--ad-ink)}
.surf-light .adw-elec-kick{background:var(--ad-gold-soft);color:var(--ad-green-deep)}
.surf-light .adw-elec-title{color:var(--ad-ink)}
.surf-light .adw-elec-sub{color:var(--ad-ink-soft)}
.surf-light .adw-elec-btn:focus-visible{outline-color:var(--ad-green-deep)}
.surf-light .adw-elec-btn:hover{box-shadow:0 16px 30px -16px rgba(21,101,90,.55)}
.surf-light .adw-elec-btn.b1{background:var(--ad-gold);color:var(--ad-ink)}
.surf-light .adw-elec-btn.b1:hover{background:var(--ad-gold-deep)}
.surf-light .adw-elec-btn.b1 .arw{background:var(--ad-ink);color:var(--ad-gold)}
.surf-light .adw-elec-btn.b2{background:var(--ad-green-deep);color:#fff}
.surf-light .adw-elec-btn.b2:hover{background:#0f4a41}
.surf-light .adw-elec-btn.b2 .arw{background:rgba(255,255,255,.22);color:#fff}
.surf-light .adw-elec-btn.b3{background:transparent;color:var(--ad-green-deep);border-color:var(--ad-green-deep)}
.surf-light .adw-elec-btn.b3 .arw{background:rgba(41,168,149,.16);color:var(--ad-green-deep)}
.surf-light .adw-elec-btn.b3:hover{background:var(--ad-green-deep);color:#fff}
.surf-light .adw-elec-btn.b3:hover .arw{background:#fff;color:var(--ad-green-deep)}
/* per-button custom colour (from Keystatic) — overrides the surface default;
   placed after the surface rules so it wins on equal specificity */
.adw-electionbar .adw-elec-btn.eb-custom{background:var(--eb-bg);color:var(--eb-fg);border-color:var(--eb-bg)}
.adw-electionbar .adw-elec-btn.eb-custom:hover{filter:brightness(.93)}
.adw-electionbar .adw-elec-btn.eb-custom .arw{background:var(--eb-fg);color:var(--eb-bg)}
@media(max-width:560px){.adw-elec-btns{width:100%}.adw-elec-btn{width:100%;justify-content:space-between;padding-left:22px}}
@media(prefers-reduced-motion:reduce){.adw-elec-kick .dot{animation:none}}

/* ===== Candidate profile page (/candidates/<slug>) ===== */
.adw-cnd{--cnd:var(--ad-green);--cnd-deep:var(--ad-green-deep);--cnd-soft:rgba(41,168,149,.14)}
.adw-cnd.accent-gold{--cnd:#c98f14;--cnd-deep:#8a6a12;--cnd-soft:rgba(252,214,102,.32)}
.adw-cnd.accent-teal{--cnd:#1f877a;--cnd-deep:#124f47;--cnd-soft:rgba(31,135,122,.16)}
.adw-cnd-herowrap{display:flex;align-items:flex-end;gap:clamp(20px,4vw,44px)}
.adw-cnd-ph{width:clamp(112px,16vw,168px);height:clamp(112px,16vw,168px);border-radius:22px;overflow:hidden;flex:none;background:linear-gradient(160deg,#eaf3f0,#dcebe7);border:4px solid rgba(255,255,255,.85);box-shadow:0 18px 44px -18px rgba(0,0,0,.6)}
.adw-cnd-ph img{width:100%;height:100%;object-fit:cover;display:block}
.adw-cnd-ph .init{width:100%;height:100%;display:grid;place-items:center;font-size:clamp(40px,7vw,58px);font-weight:900;color:var(--ad-green-deep)}
.adw-cnd-herometa{flex:1;min-width:0;padding-bottom:4px}
.adw-cnd-hero h1{margin:12px 0 8px}
.adw-cnd-tag{font-size:clamp(17px,2.5vw,23px);font-weight:800;letter-spacing:-.3px;color:#fff;margin:0 0 14px;text-wrap:balance;max-width:34ch}
.adw-cnd-seat{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:14.5px;font-weight:800;color:#eafaf5}
.adw-cnd-seat svg{width:18px;height:18px;color:var(--ad-gold)}
.adw-cnd-herocta{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
@media(max-width:640px){.adw-cnd-herowrap{flex-direction:column;align-items:flex-start}.adw-cnd-herocta .adw-btn{width:100%;justify-content:center}}
/* body */
.adw-cnd-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(24px,4vw,48px);align-items:start}
.adw-cnd-main .adw-lead{margin:0 0 18px}
.adw-cnd-p{font-size:16.5px;line-height:1.72;color:var(--ad-ink-soft);margin:0 0 16px;max-width:64ch}
.adw-cnd-quote{position:relative;margin:26px 0;padding:6px 0 6px 26px;border-left:5px solid var(--cnd)}
.adw-cnd-quote p{font-size:clamp(20px,2.8vw,27px);font-weight:800;line-height:1.4;letter-spacing:-.4px;color:var(--ad-ink);margin:0 0 8px}
.adw-cnd-quote cite{font-style:normal;font-weight:800;font-size:14px;color:var(--cnd-deep)}
.adw-cnd-pri{margin:28px 0}
.adw-cnd-pri h2,.adw-cw h2{font-size:clamp(22px,3vw,29px);font-weight:900;letter-spacing:-.6px;margin:0 0 16px}
.adw-cnd-pri ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.adw-cnd-pri li{display:flex;gap:14px;padding:16px 18px;border:1px solid var(--ad-border);border-radius:16px;background:linear-gradient(150deg,var(--cnd-soft),#fff)}
.adw-cnd-pri li .ic{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--cnd);color:#fff;font-weight:900;font-size:14px}
.adw-cnd-pri li b{display:block;font-size:16px;font-weight:900;color:var(--ad-ink);margin-bottom:3px}
.adw-cnd-pri li p{margin:0;font-size:14.5px;line-height:1.55;color:var(--ad-ink-soft)}
/* side card */
.adw-cnd-side{position:sticky;top:96px}
.adw-cnd-card{background:#fff;border:1px solid var(--ad-border);border-radius:20px;padding:22px 22px 24px;box-shadow:var(--ad-shadow-soft)}
.adw-cnd-card h3{margin:0 0 14px;font-size:18px;font-weight:900;letter-spacing:-.3px}
.adw-cnd-facts{margin:0 0 16px;display:grid;gap:11px}
.adw-cnd-facts div{display:grid;gap:2px;padding-bottom:11px;border-bottom:1px dashed var(--ad-border)}
.adw-cnd-facts div:last-child{border-bottom:0;padding-bottom:0}
.adw-cnd-facts dt{font-size:11px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;color:var(--cnd-deep)}
.adw-cnd-facts dd{margin:0;font-size:14.5px;font-weight:600;color:var(--ad-ink)}
.adw-cnd-contact{display:grid;gap:8px;margin:0 0 16px}
.adw-cnd-contact .row{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:var(--ad-ink);text-decoration:none;padding:9px 11px;border-radius:11px;background:#f6f8f6;transition:background .15s,color .15s}
.adw-cnd-contact .row:hover{background:var(--cnd-soft);color:var(--cnd-deep)}
.adw-cnd-contact .row svg{width:18px;height:18px;flex:none;color:var(--cnd-deep)}
.adw-cnd-contact .row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.adw-cnd-contact .row.htv{background:var(--cnd-soft);color:var(--cnd-deep);font-weight:900}
.adw-cnd-card .adw-btn{width:100%;justify-content:center}
.adw-cnd-foot{margin-top:clamp(30px,5vw,48px);display:flex}
.adw-cnd-foot .back{font-weight:900;font-size:14px;color:var(--cnd-deep);text-decoration:none;border-bottom:2.5px solid var(--ad-gold);padding-bottom:2px}
.adw-cnd-foot .back:hover{color:var(--ad-ink)}
@media(max-width:860px){.adw-cnd-grid{grid-template-columns:1fr}.adw-cnd-side{position:static}}
/* ---- interactive elements (one per candidate) ---- */
.adw-cw{margin:30px 0 6px;padding:clamp(22px,3vw,30px);border-radius:22px;border:1px solid var(--ad-border);background:linear-gradient(160deg,var(--cnd-soft),#fff)}
.adw-cw-lead{margin:0 0 16px;color:var(--ad-ink-soft);font-size:15px}
.adw-cw h2{margin-top:0}
/* checklist */
.adw-cw-list{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:10px}
.adw-cw-item{display:flex;gap:13px;align-items:flex-start;width:100%;text-align:left;background:#fff;border:1.5px solid var(--ad-border);border-radius:14px;padding:13px 15px;cursor:pointer;font:inherit;color:var(--ad-ink);transition:border-color .15s,background .15s,transform .1s}
.adw-cw-item:hover{transform:translateY(-1px)}
.adw-cw-item .bx{flex:none;width:24px;height:24px;border-radius:7px;border:2.5px solid var(--cnd);display:grid;place-items:center;margin-top:1px;transition:background .15s}
.adw-cw-item .bx::after{content:"✓";color:#fff;font-weight:900;font-size:14px;opacity:0;transform:scale(.5);transition:opacity .15s,transform .15s}
.adw-cw-item[aria-pressed=true]{border-color:var(--cnd);background:var(--cnd-soft)}
.adw-cw-item[aria-pressed=true] .bx{background:var(--cnd)}
.adw-cw-item[aria-pressed=true] .bx::after{opacity:1;transform:none}
.adw-cw-item .tx b{display:block;font-weight:900;font-size:15.5px}
.adw-cw-item .tx em{display:block;font-style:normal;font-size:13.5px;color:var(--ad-ink-soft);margin-top:2px;line-height:1.5}
.adw-cw-out{font-weight:800;color:var(--cnd-deep);margin:0}
.adw-cw-join{margin-top:14px}
/* quiz */
.adw-cw-cards{display:grid;gap:12px}
.adw-cw-card{background:#fff;border:1.5px solid var(--ad-border);border-radius:14px;padding:15px 16px;transition:opacity .2s}
.adw-cw-card[data-state=done]{opacity:.62}
.adw-cw-card[data-state=done][data-answer=agree]{border-color:var(--cnd);background:var(--cnd-soft);opacity:1}
.adw-cw-card .q b{display:block;font-weight:900;font-size:15.5px;margin-bottom:2px}
.adw-cw-card .q span{display:block;font-size:13.5px;color:var(--ad-ink-soft);line-height:1.5}
.adw-cw-card .btns{display:flex;gap:9px;margin-top:11px}
.adw-cw-card .btns button{flex:1;font:inherit;font-weight:800;font-size:13.5px;padding:9px;border-radius:10px;cursor:pointer;border:1.5px solid var(--ad-border);background:#f6f8f6;color:var(--ad-ink);transition:background .15s,color .15s,border-color .15s}
.adw-cw-card .btns button[data-v=agree]:hover{background:var(--cnd);color:#fff;border-color:var(--cnd)}
.adw-cw-card .btns button[data-v=skip]:hover{background:#e7e2d4}
.adw-cw-card[data-state=done] .btns{display:none}
.adw-cw-result{margin-top:16px;padding-top:16px;border-top:1px solid var(--ad-border)}
.adw-cw-result .score{font-weight:900;font-size:17px;color:var(--cnd-deep);margin:0 0 12px}
/* pledge */
.adw-cw-meter{height:16px;border-radius:999px;background:#eae5d6;overflow:hidden;margin:0 0 10px}
.adw-cw-meter .fill{display:block;height:100%;width:4%;border-radius:999px;background:linear-gradient(90deg,var(--cnd),var(--ad-gold));transition:width .6s cubic-bezier(.4,1.3,.5,1)}
.adw-cw-count{margin:0 0 16px;font-size:15px;color:var(--ad-ink)}
.adw-cw-count .n{font-size:22px;font-weight:900;color:var(--cnd-deep)}
.adw-cw-pledgebtn.done{background:var(--cnd);color:#fff;pointer-events:auto}
/* countdown */
.adw-cw-clock{display:flex;gap:10px;flex-wrap:wrap}
.adw-cw-clock span{flex:1;min-width:64px;background:var(--ad-ink);color:#fff;border-radius:14px;padding:14px 6px;text-align:center}
.adw-cw-clock b{display:block;font-size:clamp(26px,5vw,40px);font-weight:900;line-height:1;color:var(--ad-gold);font-variant-numeric:tabular-nums}
.adw-cw-clock i{display:block;font-style:normal;font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;opacity:.8;margin-top:6px}
.adw-cw-when{margin:14px 0 0;font-weight:800;color:var(--cnd-deep)}
/* facts flip cards */
.adw-cw-flips{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.adw-cw-flip{border:0;background:none;padding:0;cursor:pointer;perspective:900px;font:inherit;min-height:104px}
.adw-cw-flip .inner{position:relative;display:block;width:100%;height:100%;min-height:104px;transition:transform .5s cubic-bezier(.4,1.1,.5,1);transform-style:preserve-3d}
.adw-cw-flip.is-flipped .inner{transform:rotateY(180deg)}
.adw-cw-flip .front,.adw-cw-flip .back{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:14px;border-radius:16px;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.adw-cw-flip .front{background:var(--cnd);color:#fff;font-weight:900;font-size:14px;letter-spacing:.4px}
.adw-cw-flip .back{background:#fff;border:2px solid var(--cnd);color:var(--ad-ink);font-weight:700;font-size:14px;line-height:1.45;transform:rotateY(180deg)}
@media(max-width:480px){.adw-cw-flips{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.adw-cw-flip .inner{transition:none}.adw-cw-meter .fill{transition:none}}

/* ===== colour-bar handoff before "What makes us different" (.adw-diff) —
   mirrors the scroll-scrubbed blade the other acts get (e.g. before the state
   map). --wipe/--wfade are set on .adw-diff by the homepage act-wipe script. ===== */
body[data-page="/"] .adw-diff{position:relative}
body[data-page="/"] .adw-diff::before{
  content:"";display:block;height:12px;width:min(240px,38vw);margin:0 auto clamp(44px,6vw,70px);border-radius:99px;
  background:linear-gradient(90deg,var(--ad-gold) 0%,var(--ad-gold-deep) 35%,var(--ad-green) 100%);
  box-shadow:0 6px 26px -6px rgba(41,168,149,.6),0 2px 10px -2px rgba(245,185,77,.5);
  transform:translateX(calc((var(--wipe,.5) - .5)*min(72vw,860px))) skewX(-18deg);
  opacity:var(--wfade,1);transition:none;animation:none}
@media(prefers-reduced-motion:reduce){
  body[data-page="/"] .adw-diff::before{transform:skewX(-18deg);opacity:1}
}

/* ===== Senate / Legislative Council group on the candidates hub ===== */
.adw-cd-senate{margin:6px 0 24px}
.adw-pp-sechead.sub{margin:20px 0 14px;display:flex;align-items:center;gap:12px}
.adw-pp-sechead.sub h3{font-size:clamp(18px,2.4vw,24px);font-weight:900;letter-spacing:-.4px;margin:0;color:var(--ad-ink)}
.adw-pp-sechead.sub::before{content:"";width:26px;height:4px;border-radius:2px;background:var(--ad-gold);flex:none}
.adw-cd-lowerhead{margin-top:30px}
.adw-cd-sen-row{display:flex;gap:18px;align-items:stretch}
.adw-cd-sen-lead{flex:0 0 clamp(220px,26vw,280px)}
.adw-cd-sen-lead .adw-cd-card{height:100%}
.adw-cd-card.is-lead{position:relative;border:2.5px solid var(--ad-ink);box-shadow:6px 6px 0 var(--ad-gold)}
.adw-cd-card.is-lead:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--ad-gold)}
.adw-cd-leadtag{position:absolute;top:10px;right:10px;z-index:2;font-size:10.5px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;color:var(--ad-ink);background:var(--ad-gold);border-radius:8px;padding:5px 10px;box-shadow:0 2px 6px rgba(22,34,31,.2)}
.adw-cd-sen-wrap{flex:1;min-width:0}
.adw-cd-sen-others{display:flex;flex-wrap:wrap;gap:12px}
.adw-cd-sen-mini{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;width:150px;flex:0 0 auto;padding:16px 12px;background:#fff;border:1px solid var(--ad-border);border-radius:16px;text-decoration:none;color:var(--ad-ink);box-shadow:var(--ad-shadow-soft);transition:transform .15s ease,box-shadow .15s ease}
a.adw-cd-sen-mini:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ad-gold)}
.adw-cd-sen-mini .ph{width:66px;height:66px;border-radius:50%;overflow:hidden;background:linear-gradient(160deg,#eaf3f0,#dcebe7);display:grid;place-items:center;flex:none}
.adw-cd-sen-mini .ph img{width:100%;height:100%;object-fit:cover}
.adw-cd-sen-mini .ph .init{font-weight:900;font-size:22px;color:var(--ad-green-deep)}
.adw-cd-sen-mini .nm{font-weight:800;font-size:13.5px;line-height:1.2}
.adw-cd-sen-mini .st{font-size:11px;color:#6a746f;line-height:1.3}
.adw-cd-sen-more{margin-top:12px;font:inherit;font-weight:900;font-size:12.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--ad-green-deep);background:none;border:0;border-bottom:2.5px solid var(--ad-gold);padding:2px 0 3px;cursor:pointer}
.adw-cd-sen-more:hover{color:var(--ad-ink)}
@media(max-width:760px){.adw-cd-sen-row{flex-direction:column}.adw-cd-sen-lead{flex:none}}
@media(prefers-reduced-motion:reduce){a.adw-cd-sen-mini:hover,.adw-cd-card.is-lead:hover{transform:none}}

/* council shown as its own page: a link card on the hub that opens /candidates/council/<slug> */
.adw-cd-councillink{display:flex;align-items:center;gap:16px;text-decoration:none;color:var(--ad-ink);background:#fff;border:2.5px solid var(--ad-ink);border-radius:18px;padding:16px 18px;box-shadow:6px 6px 0 var(--ad-gold);transition:transform .15s ease,box-shadow .15s ease}
.adw-cd-councillink:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--ad-gold)}
.adw-cd-councillink .ph{width:64px;height:64px;border-radius:14px;overflow:hidden;background:linear-gradient(160deg,#eaf3f0,#dcebe7);display:grid;place-items:center;flex:none}
.adw-cd-councillink .ph img{width:100%;height:100%;object-fit:cover}
.adw-cd-councillink .ph .init{font-weight:900;font-size:22px;color:var(--ad-green-deep)}
.adw-cd-councillink .body{display:flex;flex-direction:column;gap:3px;min-width:0}
.adw-cd-councillink .body strong{font-size:clamp(16px,2vw,19px);font-weight:900;letter-spacing:-.3px;line-height:1.15}
.adw-cd-councillink .body .meta{font-size:12.5px;color:#6a746f}
.adw-cd-councillink .body .golink{font-weight:900;font-size:12.5px;letter-spacing:.4px;text-transform:uppercase;color:var(--ad-green-deep);margin-top:4px}
.adw-cd-councillink:hover .golink{color:var(--ad-ink)}
.adw-cd-councilpage{margin-top:8px}
.adw-cd-councilpage .adw-cd-sen-lead{max-width:clamp(260px,32vw,340px);margin:0 0 8px}
@media(prefers-reduced-motion:reduce){.adw-cd-councillink:hover{transform:none}}

/* ===== Chamber composition chart (ChamberChart.astro) ===== */
.adw-chamber{margin:0;border:1px solid var(--ad-border);border-radius:18px;background:#fff;padding:clamp(18px,2.6vw,26px);box-shadow:var(--ad-shadow-soft)}
.adw-chamber-h{font-size:clamp(16px,2vw,20px);font-weight:900;letter-spacing:-.3px;color:var(--ad-ink);margin:0 0 12px;text-align:center}
.adw-chamber-stage{max-width:520px;margin:0 auto}
.adw-chamber svg{display:block;width:100%;height:auto}
.adw-chamber-total{font-weight:900;font-size:11px;fill:var(--ad-ink)}
.adw-chamber-legend{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center}
.adw-chamber-legend li{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--ad-ink-soft)}
.adw-chamber-legend .sw{width:13px;height:13px;border-radius:50%;border:1px solid rgba(28,43,41,.3);flex:none}
.adw-chamber-legend b{font-weight:800;color:var(--ad-ink)}
.adw-chamber-legend .n{font-variant-numeric:tabular-nums;color:var(--ad-ink-soft)}
.adw-chamber-legend li.is-us{color:var(--ad-green-deep)}
.adw-chamber-legend li.is-us .sw{border-color:var(--ad-ink);box-shadow:0 0 0 2px rgba(252,214,102,.55)}
.adw-chamber-legend li.is-us b{color:var(--ad-green-deep)}
.adw-chamber-note{margin:12px 0 0;font-size:12.5px;color:var(--ad-ink-soft);text-align:center;line-height:1.5}

/* ===== Candidate ticket how-to-vote (Senate / Legislative Council / council) ===== */
.adw-cd-ticket{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}
.adw-cd-ticket-btn{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:14px;text-decoration:none;border-radius:12px;padding:11px 18px;border:2px solid var(--ad-ink);transition:transform .14s ease,background .15s}
.adw-cd-ticket-btn svg{width:18px;height:18px}
.adw-cd-ticket-btn.dl{background:var(--ad-gold);color:var(--ad-ink)}
.adw-cd-ticket-btn.dl:hover{background:var(--ad-gold-deep);transform:translateY(-2px)}
.adw-cd-ticket-btn.go{background:#fff;color:var(--ad-green-deep)}
.adw-cd-ticket-btn.go:hover{background:#eafaf5;transform:translateY(-2px)}
.adw-cd-ticket-mini{display:inline-flex;align-items:center;gap:7px;margin-top:12px;font-weight:800;font-size:12.5px;color:var(--ad-green-deep);text-decoration:none;border-bottom:2px solid var(--ad-gold);padding-bottom:2px}
.adw-cd-ticket-mini svg{width:15px;height:15px;flex:none}
.adw-cd-ticket-mini:hover{color:var(--ad-ink)}
@media(prefers-reduced-motion:reduce){.adw-cd-ticket-btn:hover{transform:none}}

/* ===== Candidate detail: composition chart + gallery ===== */
.adw-cnd-chart{margin:28px 0}
.adw-cnd-gallery{margin:28px 0}
.adw-cnd-gallery h2{font-size:clamp(22px,3vw,29px);font-weight:900;letter-spacing:-.6px;margin:0 0 16px}
.adw-cnd-video{width:100%;border-radius:16px;border:1px solid var(--ad-border);background:#000;display:block;margin:0 0 16px}
.adw-cnd-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.adw-cnd-photos figure{margin:0;border-radius:14px;overflow:hidden;border:1px solid var(--ad-border);aspect-ratio:4/3;background:linear-gradient(160deg,#eaf3f0,#dcebe7)}
.adw-cnd-photos img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:640px){.adw-cnd-photos{grid-template-columns:1fr 1fr}}

/* ===== Representative detail: composition chart + how-to-vote ===== */
.adw-rp-chart{margin:clamp(28px,4vw,44px) 0 0}
.adw-rp-htv{margin:22px 0 0}
.adw-rp-htv .adw-btn{width:auto}

/* =========================================================================
   MEDIA CENTRE — hub, press releases, media contacts, press kit
   (adw-mc-* hub/lists, adw-pr-* release, adw-pk-* press kit)
   ========================================================================= */
.adw-mc-hero,.adw-pr-hero,.adw-pk-hero{--st-hero-a:#0f3b34;--st-hero-b:#16655a}
.adw-mc{padding-top:6px}
/* hub cards */
.adw-mc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:6px 0 40px}
.adw-mc-card{position:relative;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--ad-ink);background:#fff;border:2.5px solid var(--ad-ink);border-radius:20px;padding:26px 24px 22px;box-shadow:6px 6px 0 var(--ad-gold);transition:transform .16s ease,box-shadow .16s ease;overflow:hidden}
.adw-mc-card:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--ad-gold)}
.adw-mc-cardnum{font-family:var(--ad-font-display);font-weight:900;font-size:44px;line-height:1;color:var(--ad-gold);-webkit-text-stroke:1.5px var(--ad-ink);opacity:.5}
.adw-mc-card h2{font-size:clamp(20px,2.4vw,25px);font-weight:900;letter-spacing:-.5px;margin:6px 0 0}
.adw-mc-card p{font-size:14px;line-height:1.55;color:var(--ad-ink-soft);margin:0;flex:1}
.adw-mc-card .go{font-weight:900;font-size:13px;letter-spacing:.4px;text-transform:uppercase;color:#29a895;margin-top:6px}
.adw-mc-card:hover .go{color:var(--ad-ink)}
/* release lists (hub + press-releases + detail "more") */
.adw-mc-latest{margin-top:8px}
.adw-mc-latest .count a{color:#29a895;font-weight:800;text-decoration:none}
.adw-mc-rel-list{display:flex;flex-direction:column;gap:14px}
.adw-mc-rel{display:block;text-decoration:none;color:var(--ad-ink);background:#fff;border:1.5px solid var(--ad-border);border-left:5px solid var(--ad-gold);border-radius:14px;padding:18px 22px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s}
.adw-mc-rel:hover{transform:translateX(3px);box-shadow:5px 5px 0 rgba(20,60,52,.12);border-left-color:#29a895}
.adw-mc-rel .meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#5e6f69;margin-bottom:6px}
.adw-mc-rel .meta .badge{background:var(--ad-gold);color:var(--ad-ink);border-radius:999px;padding:2px 10px;letter-spacing:.6px}
.adw-mc-rel .meta .att{color:#29a895}
.adw-mc-rel h4{font-size:clamp(18px,2.2vw,22px);font-weight:900;letter-spacing:-.4px;line-height:1.2;margin:0 0 6px}
.adw-mc-rel p{font-size:14px;line-height:1.55;color:var(--ad-ink-soft);margin:0 0 8px}
.adw-mc-rel .go{font-weight:900;font-size:12.5px;letter-spacing:.4px;text-transform:uppercase;color:#29a895}
/* media contacts */
.adw-mc-contactgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin:6px 0 28px}
.adw-mc-contact{background:#fff;border:1.5px solid var(--ad-border);border-radius:16px;padding:22px;box-shadow:var(--ad-shadow-soft)}
.adw-mc-contact .area{display:inline-block;font-size:11px;font-weight:900;letter-spacing:1px;text-transform:uppercase;color:#29a895;background:var(--ad-gold-soft);border-radius:999px;padding:4px 11px;margin-bottom:10px}
.adw-mc-contact h2{font-size:19px;font-weight:900;letter-spacing:-.3px;margin:0 0 3px}
.adw-mc-contact .role{font-size:13px;color:var(--ad-ink-soft);margin:0 0 12px}
.adw-mc-contact .lines{display:flex;flex-direction:column;gap:8px}
.adw-mc-contact .line{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:14px;color:#29a895;text-decoration:none;word-break:break-word}
.adw-mc-contact .line svg{width:17px;height:17px;flex:none}
.adw-mc-contact .line:hover{color:var(--ad-ink)}
.adw-mc-contact .note{font-size:13px;color:var(--ad-ink-soft);margin:12px 0 0;line-height:1.5}
.adw-mc-note{background:var(--ad-gold-soft);border:1.5px solid var(--ad-gold);border-radius:14px;padding:16px 20px;margin:0 0 24px;font-size:14px;line-height:1.6;color:var(--ad-ink)}
.adw-mc-note p{margin:0 0 8px}.adw-mc-note p:last-child{margin:0}
@media(max-width:860px){.adw-mc-cards{grid-template-columns:1fr}}

/* ---- press release detail ---- */
.adw-pr-dateline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;font-size:13px;font-weight:800;color:rgba(255,255,255,.9)}
.adw-pr-dateline .loc{letter-spacing:1px;text-transform:uppercase}
.adw-pr-dateline .tag{background:var(--ad-gold);color:var(--ad-ink);border-radius:999px;padding:3px 12px;font-size:11px;letter-spacing:1px}
.adw-pr-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;align-items:start;max-width:1120px}
.adw-pr-heroimg{width:100%;border-radius:16px;border:1px solid var(--ad-border);margin:0 0 22px;display:block}
.adw-pr-main .adw-prose{max-width:none}
.adw-pr-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:16px}
.adw-pr-box{background:#fff;border:2px solid var(--ad-ink);border-radius:16px;padding:18px 20px;box-shadow:4px 4px 0 rgba(20,60,52,.12)}
.adw-pr-box h3{font-size:12px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;color:#29a895;margin:0 0 12px}
.adw-pr-atts{display:flex;flex-direction:column;gap:9px}
.adw-pr-att{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:14px;text-decoration:none;color:var(--ad-ink);background:var(--ad-gold);border:2px solid var(--ad-ink);border-radius:11px;padding:11px 14px;transition:transform .14s,background .15s}
.adw-pr-att svg{width:19px;height:19px;flex:none}
.adw-pr-att:hover{transform:translateY(-2px);background:var(--ad-gold-deep)}
.adw-pr-contacts{display:flex;flex-direction:column;gap:14px}
.adw-pr-contact{display:flex;flex-direction:column;gap:2px;font-size:14px}
.adw-pr-contact strong{font-size:15px;font-weight:900}
.adw-pr-contact .role{color:var(--ad-ink-soft);font-size:13px;margin-bottom:3px}
.adw-pr-contact a{color:#29a895;font-weight:800;text-decoration:none;word-break:break-word}
.adw-pr-contact a:hover{color:var(--ad-ink)}
.adw-pr-allcontacts{display:inline-block;margin-top:12px;font-weight:800;font-size:13px;color:#29a895;text-decoration:none;border-bottom:2px solid var(--ad-gold);padding-bottom:2px}
/* super-release interactive elements */
.adw-pr-elements{margin:30px 0 6px;display:flex;flex-direction:column;gap:26px}
.adw-pr-elh{font-size:12px;font-weight:900;letter-spacing:1.3px;text-transform:uppercase;color:#29a895;margin:0 0 14px}
.adw-pr-statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.adw-pr-stat{background:var(--ad-ink);color:#fff;border-radius:16px;padding:20px 18px;text-align:center;border:2px solid var(--ad-ink);box-shadow:5px 5px 0 var(--ad-gold)}
.adw-pr-stat .v{display:block;font-family:var(--ad-font-display);font-weight:900;font-size:clamp(30px,4vw,44px);line-height:1;color:var(--ad-gold);font-variant-numeric:tabular-nums}
.adw-pr-stat .l{display:block;font-weight:800;font-size:13.5px;margin-top:8px}
.adw-pr-stat .c{display:block;font-size:12px;color:rgba(255,255,255,.72);margin-top:5px}
.adw-pr-quote{margin:0;padding:22px 26px;border-left:6px solid var(--ad-gold);background:var(--ad-cream-soft,#fbf5e4);border-radius:0 14px 14px 0}
.adw-pr-quote p{font-family:var(--ad-font-quote,Georgia,serif);font-size:clamp(19px,2.6vw,26px);font-style:italic;line-height:1.35;margin:0;color:var(--ad-ink)}
.adw-pr-quote cite{display:block;margin-top:12px;font-style:normal;font-weight:800;font-size:14px;color:#29a895}
.adw-pr-keypoints ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.adw-pr-keypoints li{position:relative;padding-left:32px;font-size:15.5px;line-height:1.5}
.adw-pr-keypoints li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--ad-gold);border:2px solid var(--ad-ink)}
.adw-pr-keypoints li::after{content:"";position:absolute;left:6px;top:8px;width:6px;height:3px;border-left:2px solid var(--ad-ink);border-bottom:2px solid var(--ad-ink);transform:rotate(-45deg)}
.adw-pr-callout{border-radius:14px;padding:18px 22px;border:2px solid var(--ad-ink)}
.adw-pr-callout.tone-gold{background:var(--ad-gold-soft);border-color:var(--ad-gold-deep)}
.adw-pr-callout.tone-green{background:#eafaf5;border-color:var(--ad-green)}
.adw-pr-callout.tone-plain{background:#fff}
.adw-pr-callout strong{display:block;font-size:15px;font-weight:900;margin-bottom:4px}
.adw-pr-callout p{margin:0;font-size:14.5px;line-height:1.55;color:var(--ad-ink)}
.adw-pr-figure{margin:0}
.adw-pr-figure img{width:100%;border-radius:14px;border:1px solid var(--ad-border);display:block}
.adw-pr-figure figcaption{font-size:13px;color:var(--ad-ink-soft);margin-top:8px;text-align:center}
@media(max-width:820px){.adw-pr-wrap{grid-template-columns:1fr}.adw-pr-side{position:static;order:-1}}

/* ---- press kit ---- */
.adw-pk-logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin:6px 0 22px}
.adw-pk-logo{border:1.5px solid var(--ad-border);border-radius:16px;overflow:hidden;background:#fff;box-shadow:var(--ad-shadow-soft)}
.adw-pk-preview{display:grid;place-items:center;min-height:150px;padding:28px}
.adw-pk-preview img{max-width:82%;max-height:96px;height:auto;object-fit:contain}
.adw-pk-preview.bg-light{background:repeating-conic-gradient(#f4f1e6 0% 25%,#fbf8ee 0% 50%) 50%/22px 22px}
.adw-pk-preview.bg-ink{background:var(--ad-ink)}
.adw-pk-preview.bg-green{background:linear-gradient(135deg,#0f3b34,#16655a)}
.adw-pk-logometa{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border-top:1.5px solid var(--ad-border)}
.adw-pk-logometa .nm{font-weight:800;font-size:13px;line-height:1.25}
.adw-pk-logometa .dls{display:inline-flex;gap:6px;flex:none}
.adw-pk-logometa .dls a{font-weight:900;font-size:11.5px;letter-spacing:.5px;text-decoration:none;color:var(--ad-ink);background:var(--ad-gold);border:1.5px solid var(--ad-ink);border-radius:8px;padding:4px 9px;transition:background .15s}
.adw-pk-logometa .dls a:hover{background:var(--ad-gold-deep)}
.adw-pk-usage{display:flex;gap:12px;align-items:flex-start;background:var(--ad-gold-soft);border:1.5px solid var(--ad-gold);border-radius:14px;padding:16px 20px;margin:0 0 30px}
.adw-pk-usage svg{width:22px;height:22px;flex:none;color:#29a895;margin-top:1px}
.adw-pk-usage p{margin:0;font-size:14px;line-height:1.6;color:var(--ad-ink)}
.adw-pk-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin:6px 0 30px}
.adw-pk-swatch{display:flex;flex-direction:column;gap:0;text-align:left;background:#fff;border:1.5px solid var(--ad-border);border-radius:14px;overflow:hidden;cursor:pointer;font-family:inherit;padding:0;transition:transform .14s,box-shadow .14s}
.adw-pk-swatch:hover{transform:translateY(-3px);box-shadow:5px 5px 0 rgba(20,60,52,.12)}
.adw-pk-swatch .chip{height:76px;border-bottom:1.5px solid var(--ad-border)}
.adw-pk-swatch .nm{font-weight:800;font-size:13.5px;padding:10px 14px 0}
.adw-pk-swatch .hex{font-size:12px;font-weight:700;color:var(--ad-ink-soft);padding:2px 14px 12px;font-variant-numeric:tabular-nums}
.adw-pk-swatch .hex.ok{color:#29a895}
.adw-pk-boiler{background:#fff;border:2px solid var(--ad-ink);border-radius:16px;padding:24px 26px;margin:0 0 30px;box-shadow:5px 5px 0 var(--ad-gold)}
.adw-pk-boiler .txt p{font-size:15.5px;line-height:1.7;margin:0 0 14px}.adw-pk-boiler .txt p:last-child{margin:0}
.adw-pk-copy{margin-top:16px;font-family:inherit;font-weight:900;font-size:13px;letter-spacing:.4px;color:var(--ad-ink);background:var(--ad-gold);border:2px solid var(--ad-ink);border-radius:11px;padding:10px 18px;cursor:pointer;transition:background .15s}
.adw-pk-copy:hover{background:var(--ad-gold-deep)}
.adw-pk-copy.ok{background:var(--ad-green);color:#fff;border-color:var(--ad-green)}
.adw-pk-footgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 10px}
.adw-pk-box{background:#fff;border:1.5px solid var(--ad-border);border-radius:16px;padding:20px 22px;box-shadow:var(--ad-shadow-soft)}
.adw-pk-box h3{font-size:12px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;color:#29a895;margin:0 0 12px}
@media(max-width:700px){.adw-pk-footgrid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.adw-mc-card:hover,.adw-mc-rel:hover,.adw-pr-att:hover,.adw-pk-swatch:hover{transform:none}}

/* Share bar — shared by article + press-release pages (was inline on posts) */
.adw-share{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:30px 0 8px;padding:20px 0 4px;border-top:1px solid var(--ad-border)}
.adw-share-label{font-size:12px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--ad-ink-muted);margin-right:4px}
.adw-sharebtn{display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:13.5px;font-weight:800;text-decoration:none;cursor:pointer;border:1.5px solid var(--ad-border);background:#fff;color:var(--ad-ink);padding:9px 16px;border-radius:999px;transition:transform .12s,background .18s,color .18s,border-color .18s}
.adw-sharebtn svg{width:16px;height:16px;fill:currentColor}
.adw-sharebtn:hover{transform:translateY(-2px);border-color:var(--ad-green);background:var(--ad-green);color:#fff}
.adw-sharebtn.copy:hover{background:var(--ad-gold);border-color:var(--ad-gold);color:#1d2a28}
.adw-sharebtn.copy.ok{background:var(--ad-green);border-color:var(--ad-green);color:#fff}
@media(prefers-reduced-motion:reduce){.adw-sharebtn:hover{transform:none}}

/* =========================================================================
   GAMES & INTERACTIVES hub (/games)
   ========================================================================= */
.adw-games-hero{--st-hero-a:#12241f;--st-hero-b:#1d4d44}
.adw-games-sec{margin:0 0 34px}
.adw-games-secblurb{margin:-4px 0 16px;font-size:14.5px;color:var(--ad-ink-soft);max-width:60ch}
.adw-games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin:6px 0 8px}
.adw-game-card{position:relative;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--ad-ink);background:#fff;border:2.5px solid var(--ad-ink);border-radius:20px;padding:24px 24px 22px;box-shadow:6px 6px 0 var(--ad-gold);transition:transform .16s ease,box-shadow .16s ease;overflow:hidden}
.adw-game-card:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--ad-gold)}
.adw-game-card .top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.adw-game-card .ic{font-size:34px;line-height:1}
.adw-game-card .badge{font-size:10.5px;font-weight:900;letter-spacing:1px;text-transform:uppercase;color:var(--ad-ink);background:var(--ad-gold);border:1.5px solid var(--ad-ink);border-radius:999px;padding:4px 11px}
.adw-game-card .kicker{font-size:11px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase;color:#29a895;margin-top:6px}
.adw-game-card h3{font-size:clamp(19px,2.2vw,23px);font-weight:900;letter-spacing:-.4px;line-height:1.15;margin:0}
.adw-game-card p{font-size:14px;line-height:1.6;color:var(--ad-ink-soft);margin:0;flex:1}
.adw-game-card .go{font-weight:900;font-size:13px;letter-spacing:.3px;text-transform:uppercase;color:#29a895;margin-top:8px}
.adw-game-card:hover .go{color:var(--ad-ink)}
.adw-game-card.tone-green{box-shadow:6px 6px 0 #29a895}
.adw-game-card.tone-green:hover{box-shadow:9px 9px 0 #29a895}
.adw-game-card.tone-ink{background:var(--ad-ink);color:#fff;border-color:var(--ad-ink)}
.adw-game-card.tone-ink h3{color:#fff}
.adw-game-card.tone-ink p{color:rgba(255,255,255,.78)}
.adw-game-card.tone-ink .kicker,.adw-game-card.tone-ink .go{color:var(--ad-gold)}
.adw-game-card.tone-ink:hover .go{color:#fff}
.adw-game-card.tone-ink .badge{background:var(--ad-gold);color:var(--ad-ink)}
@media(prefers-reduced-motion:reduce){.adw-game-card:hover{transform:none}}

/* =========================================================================
   "We're mobilising" state/territory landing pages (/states/tas|nt|act)
   ========================================================================= */
.adw-mob-hero .tag{background:#29a895;color:#fff;border-color:#29a895}
.adw-mob-lead{font-size:clamp(19px,2.6vw,26px);font-weight:800;line-height:1.35;color:var(--ad-ink);letter-spacing:-.3px;max-width:40ch}
.adw-mob{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(20px,3.5vw,44px);align-items:start;margin-top:clamp(18px,3vw,30px)}
.adw-mob-msg p{font-size:16.5px;line-height:1.75;color:var(--ad-ink);margin:0 0 16px}
.adw-mob-msg p:last-child{margin:0}
.adw-mob-points{list-style:none;margin:0;padding:22px 24px;display:flex;flex-direction:column;gap:14px;background:#fff;border:2px solid var(--ad-ink);border-radius:18px;box-shadow:6px 6px 0 #29a895}
.adw-mob-points li{position:relative;padding-left:34px;font-size:15px;font-weight:700;line-height:1.4;color:var(--ad-ink)}
.adw-mob-points li::before{content:"";position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;background:#29a895;border:2px solid var(--ad-ink)}
.adw-mob-points li::after{content:"";position:absolute;left:6px;top:6px;width:7px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
@media(max-width:800px){.adw-mob{grid-template-columns:1fr}}

/* state-page customised content — story prose + "what we're focused on" points */
.adw-st-more{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(20px,3.5vw,40px);align-items:start;margin:10px 0 8px}
.adw-st-story p{font-size:16px;line-height:1.75;color:var(--ad-ink);margin:0 0 14px}
.adw-st-story p:last-child{margin:0}
.adw-st-focus .adw-pp-sechead.sub{margin-top:0;margin-bottom:12px}
@media(max-width:800px){.adw-st-more{grid-template-columns:1fr}}

/* ============================================================
   Interactive Constitution experience (/constitution)
   ============================================================ */
.con-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#0f3d36 0%,#15655a 55%,#1f877a 100%);color:#fff;padding:clamp(78px,10vw,120px) 0 clamp(30px,5vw,52px);border-bottom:8px solid var(--ad-gold)}
.con-hero .wm{position:absolute;right:-1%;top:50%;transform:translateY(-50%);font-size:clamp(150px,28vw,360px);font-weight:900;letter-spacing:-10px;color:rgba(255,255,255,.06);line-height:1;pointer-events:none;user-select:none}
.con-hero .adw-wrap{position:relative;z-index:2}
.con-hero h1{font-size:clamp(34px,5.4vw,66px);font-weight:900;letter-spacing:-1.6px;line-height:1.05;margin:12px 0 14px;max-width:16ch}
.con-hero-lead{font-size:clamp(16px,2.1vw,19px);color:rgba(255,255,255,.9);max-width:64ch;line-height:1.6;margin:0 0 20px}
.con-hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.con-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:rgba(252,214,102,.16);border:1.5px solid rgba(252,214,102,.5);color:var(--ad-gold);font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase}
.con-chip-soft{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.28);color:rgba(255,255,255,.92)}
.con-hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}
.con-toc-cta{display:none;flex-direction:column;align-items:flex-start;gap:12px}
/* Contents button — high-contrast on the dark hero (white on green, gold on hover) */
.con-open-toc{display:inline-flex;align-items:center;gap:9px;background:#fff;color:var(--ad-green-deep);border:0;border-radius:999px;padding:13px 22px;font:inherit;font-size:15px;font-weight:800;cursor:pointer;box-shadow:0 8px 22px -8px rgba(0,0,0,.5);transition:transform .12s,background .15s,color .15s}
.con-open-toc .ic{font-size:16px;line-height:1}
.con-open-toc:hover{background:var(--ad-gold);color:var(--ad-ink);transform:translateY(-1px)}
/* "click here" speech bubble pointing up at the Contents button (mobile only) */
.con-toc-hint{position:relative;align-self:flex-start;display:inline-flex;align-items:center;gap:6px;background:var(--ad-gold);color:var(--ad-ink);font-size:13px;font-weight:800;line-height:1.25;padding:9px 14px;border-radius:12px;box-shadow:0 10px 26px -10px rgba(0,0,0,.55);white-space:nowrap;animation:conHintBob 1.5s ease-in-out infinite}
.con-toc-hint .arw{position:absolute;top:-7px;left:26px;width:14px;height:14px;background:var(--ad-gold);transform:rotate(45deg);border-radius:3px}
@keyframes conHintBob{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
@media(prefers-reduced-motion:reduce){.con-toc-hint{animation:none}}

.con-shell{max-width:var(--adw-maxw);margin:0 auto;padding:clamp(26px,4vw,44px) 22px clamp(50px,7vw,84px);display:grid;grid-template-columns:290px minmax(0,1fr);gap:clamp(24px,3.4vw,44px);align-items:start}

/* ---- Index / table of contents ---- */
.con-toc{position:sticky;top:82px;max-height:calc(100vh - 100px);display:flex;flex-direction:column}
.con-toc-inner{display:flex;flex-direction:column;min-height:0;background:var(--ad-cream-soft);border:1px solid var(--ad-border);border-radius:18px;padding:16px 14px;box-shadow:var(--ad-shadow-soft)}
.con-toc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.con-toc-top strong{font-size:13px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase;color:var(--ad-green-deep)}
.con-toc-close{display:none;border:0;background:transparent;font-size:18px;line-height:1;color:var(--ad-ink);cursor:pointer;width:34px;height:34px;border-radius:9px}
.con-toc-close:hover{background:rgba(20,60,52,.08)}
.con-search{position:relative;margin-bottom:10px}
.con-search input{width:100%;padding:10px 12px;border:1.5px solid var(--ad-border);border-radius:11px;font:inherit;font-size:14px;background:#fff;color:var(--ad-ink)}
.con-search input:focus{outline:none;border-color:var(--ad-green)}
.con-search-count{display:block;font-size:11.5px;font-weight:700;color:var(--ad-green-deep);margin-top:5px;min-height:14px}
.con-toc-tools{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.con-toc-tools button{flex:1;min-width:0;padding:6px 8px;border:1px solid var(--ad-border);background:#fff;border-radius:9px;font:inherit;font-size:11.5px;font-weight:800;color:var(--ad-green-deep);cursor:pointer}
.con-toc-tools button:hover{background:var(--ad-green);color:#fff;border-color:var(--ad-green)}
.con-readbar{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.con-readbar-track{flex:1;height:6px;border-radius:999px;background:rgba(21,101,90,.14);overflow:hidden}
.con-readbar-track #conProgFill{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--ad-green),var(--ad-gold));transition:width .15s ease}
.con-read{font-size:11px;font-weight:800;color:var(--ad-ink-soft);white-space:nowrap}
.con-toc-list{overflow-y:auto;min-height:0;padding-right:4px;scrollbar-width:thin}
.con-toc-part{margin-bottom:6px}
.con-toc-h{display:block;font-size:12px;font-weight:900;letter-spacing:.4px;text-transform:uppercase;color:var(--ad-green-deep);text-decoration:none;padding:7px 8px 4px;border-radius:8px;line-height:1.25}
.con-toc-h.con-toc-lead{margin-bottom:2px}
.con-toc-h:hover{background:rgba(41,168,149,.1)}
.con-toc-s{display:flex;gap:7px;align-items:baseline;font-size:13px;color:var(--ad-ink-soft);text-decoration:none;padding:5px 8px 5px 12px;border-radius:8px;line-height:1.3;border-left:2px solid transparent}
.con-toc-s .n{font-weight:800;color:var(--ad-green-deep);min-width:20px;font-variant-numeric:tabular-nums}
.con-toc-s:hover{background:rgba(41,168,149,.08);color:var(--ad-ink)}
.con-toc-s.active{background:rgba(41,168,149,.14);border-left-color:var(--ad-green);color:var(--ad-ink);font-weight:600}
.con-toc-h.active{background:rgba(41,168,149,.14)}
.con-toc-scrim{display:none}

/* ---- The document ---- */
.con-doc{max-width:80ch;font-size:16.5px;line-height:1.7;color:var(--ad-ink)}
.con-part{margin:0 0 10px;border-bottom:1px solid var(--ad-border)}
.con-part-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:default;padding:18px 0 12px}
.con-part-head h2{font-size:clamp(19px,2.6vw,25px);font-weight:900;letter-spacing:-.4px;color:var(--ad-green-deep);margin:0;line-height:1.2}
.con-part-toggle{flex:none;border:1px solid var(--ad-border);background:#fff;width:32px;height:32px;border-radius:9px;cursor:pointer;color:var(--ad-green-deep);font-size:13px;display:grid;place-items:center;transition:transform .2s}
.con-part-toggle:hover{background:var(--ad-green);color:#fff;border-color:var(--ad-green)}
.con-part.collapsed .con-part-toggle span{transform:rotate(-90deg)}
.con-part-body{overflow:hidden}
.con-part.collapsed .con-part-body{display:none}
.con-division{font-size:14px;font-weight:800;letter-spacing:.3px;color:var(--ad-green-d);text-transform:uppercase;margin:22px 0 6px;padding-bottom:6px;border-bottom:1.5px dashed var(--ad-border)}
.con-sec{scroll-margin-top:96px;padding:14px 0 8px}
.con-sec-h{display:flex;gap:10px;align-items:baseline;font-size:clamp(16px,2vw,19px);font-weight:800;letter-spacing:-.2px;color:var(--ad-ink);margin:0 0 8px}
.con-sec-h .n{flex:none;min-width:1.6em;color:var(--ad-green);font-weight:900;font-variant-numeric:tabular-nums}
.con-sec-h .tt{flex:1}
.con-anchor{flex:none;opacity:0;color:var(--ad-green);text-decoration:none;font-weight:900;transition:opacity .15s;font-size:.9em}
.con-sec-h:hover .con-anchor{opacity:.7}
.con-anchor:hover{opacity:1!important}
.con-block{margin:0 0 10px}
.con-lvl-1{padding-left:1.6em}
.con-lvl-2{padding-left:3em}
.con-lvl-3{padding-left:4.4em}
.con-def{margin:0 0 9px;padding-left:1.2em;text-indent:-1.2em}
.con-def strong{color:var(--ad-green-deep);font-weight:800}
.con-doc-foot{margin-top:26px;padding-top:16px;border-top:1px solid var(--ad-border);font-size:13.5px;color:var(--ad-ink-muted)}
.con-doc-foot a{color:var(--ad-green-deep);font-weight:700}
.con-hide{display:none!important}

/* ---- Proposed amendments (hidden by default) ---- */
.con-amend-summary{background:var(--ad-cream-soft);border:1px solid var(--ad-border);border-left:5px solid var(--ad-gold-deep);border-radius:14px;padding:18px 20px;margin:0 0 26px}
.con-amend-summary h2{font-size:18px;font-weight:900;color:var(--ad-green-deep);margin:0 0 6px}
.con-amend-note{font-size:13.5px;color:var(--ad-ink-soft);margin:0 0 12px}
.con-amend-ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.con-amend-ul li{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:9px 12px;background:#fff;border:1px solid var(--ad-border);border-radius:10px;color:var(--ad-ink)}
.con-amend-jump{margin-left:auto;font-size:12.5px;font-weight:800;color:var(--ad-green-deep);text-decoration:none;white-space:nowrap}
.con-amend-jump:hover{text-decoration:underline}
.con-amend-status{flex:none;font-size:10.5px;font-weight:900;letter-spacing:.5px;text-transform:uppercase;background:var(--ad-gold-soft);color:var(--ad-green-deep);padding:3px 9px;border-radius:999px}
.con-amend-title{font-weight:700}
.con-amend{margin:14px 0 6px;background:rgba(252,214,102,.1);border:1px solid rgba(245,185,77,.5);border-left:5px solid var(--ad-gold-deep);border-radius:12px;padding:14px 16px}
.con-amend-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.con-amend p{margin:0 0 8px;font-size:15px}
.con-amend-by{font-size:12.5px;color:var(--ad-ink-soft);font-style:italic}
.con-amend-flag{font-size:11.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--ad-gold-deep);margin:0}

/* ---- Back to top ---- */
.con-top{position:fixed;right:20px;bottom:96px;z-index:55;width:46px;height:46px;border-radius:50%;border:0;background:var(--ad-green-deep);color:#fff;font-size:20px;cursor:pointer;box-shadow:var(--ad-shadow-card);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .2s,transform .2s}
.con-top.show{opacity:1;transform:none;pointer-events:auto}
.con-top:hover{background:var(--ad-green)}

/* ---- Responsive: TOC becomes a drawer ---- */
@media(max-width:960px){
  .con-shell{grid-template-columns:1fr}
  .con-toc-cta{display:inline-flex}
  .con-toc{position:fixed;top:0;left:0;bottom:0;width:min(340px,86vw);max-height:none;z-index:120;transform:translateX(-104%);transition:transform .28s ease;padding:14px}
  .con-toc.open{transform:none}
  .con-toc-inner{height:100%;border-radius:14px}
  .con-toc-close{display:grid;place-items:center}
  .con-toc-scrim{display:block;position:fixed;inset:0;background:rgba(15,32,29,.42);z-index:110;border:0}
  .con-top{bottom:150px}
}
@media(max-width:520px){
  .con-doc{font-size:16px}
  .con-lvl-2{padding-left:2.2em}
  .con-lvl-3{padding-left:3.2em}
}
.con-part-nohead{padding-top:6px}
.con-part-nohead>.con-part-body>.con-sec:first-child{padding-top:4px}

/* ---- Constitution: hero dates (replaces the old pills) ---- */
.con-hero-dates{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 22px;font-size:14px;color:rgba(255,255,255,.82)}
.con-hero-dates b{color:#fff;font-weight:800}
.con-hero-dates .sep{opacity:.5}

/* ---- Constitution: version comparison tool (off by default) ---- */
.con-versions{margin-top:30px;padding-top:20px;border-top:2px solid var(--ad-border)}
.con-versions h2{font-size:clamp(19px,2.6vw,25px);font-weight:900;color:var(--ad-green-deep);margin:0 0 6px}
.con-versions-note{font-size:14px;color:var(--ad-ink-soft);margin:0 0 16px;max-width:70ch}
.con-cmp-pickers{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:16px;background:var(--ad-cream-soft);border:1px solid var(--ad-border);border-radius:12px;padding:12px 14px}
.con-cmp-pickers label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--ad-green-deep)}
.con-cmp-pickers select{font:inherit;font-size:14px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--ad-ink);padding:9px 12px;border:1.5px solid var(--ad-border);border-radius:10px;background:#fff;min-width:210px;max-width:100%}
.con-cmp-pickers select:focus{outline:none;border-color:var(--ad-green)}
.con-cmp-vs{font-size:12px;font-weight:800;text-transform:uppercase;color:var(--ad-ink-muted);padding-bottom:11px}
.con-cmp-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.con-cmp-col{background:#fff;border:1px solid var(--ad-border);border-radius:14px;padding:16px 18px;box-shadow:var(--ad-shadow-soft)}
.con-cmp-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:4px}
.con-cmp-head h3{font-size:17px;font-weight:900;color:var(--ad-ink);margin:0}
.con-cmp-tags{display:flex;gap:6px;flex-wrap:wrap}
.con-cmp-tag{font-size:10.5px;font-weight:900;letter-spacing:.5px;text-transform:uppercase;background:var(--ad-cream);color:var(--ad-ink-soft);padding:3px 9px;border-radius:999px}
.con-cmp-tag.is-current{background:var(--ad-green);color:#fff}
.con-cmp-date{font-size:13px;font-weight:700;color:var(--ad-green-deep);margin:0 0 10px}
.con-cmp-col p{font-size:14.5px;line-height:1.6;margin:0 0 9px;color:var(--ad-ink)}
.con-cmp-col h4{font-size:12px;font-weight:900;letter-spacing:.5px;text-transform:uppercase;color:var(--ad-green-deep);margin:12px 0 6px}
.con-cmp-changes{margin:0;padding-left:18px;font-size:14px;line-height:1.55}
.con-cmp-changes li{margin-bottom:6px}
.con-cmp-doc a{font-size:13.5px;font-weight:800;color:var(--ad-green-deep);text-decoration:none}
.con-cmp-doc a:hover{text-decoration:underline}
.con-cmp-empty{color:var(--ad-ink-muted);font-style:italic}
@media(max-width:640px){.con-cmp-grid{grid-template-columns:1fr}}

.adw-pk-intro{max-width:74ch;margin:0 0 clamp(26px,4vw,42px)}
.adw-pk-intro .adw-lead{margin:0 0 12px}

/* Press-release notice banner (editor-activatable, top of a release) */
.adw-pr-notice{background:#fdeec4;border-bottom:2px solid var(--ad-gold-deep)}
.adw-pr-notice .adw-wrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.adw-pr-notice-tag{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase;color:#6a4f00;background:#fff;border:1.5px solid var(--ad-gold-deep);border-radius:999px;padding:5px 12px}
.adw-pr-notice p{margin:0;font-size:14px;font-weight:700;color:#5a4300;line-height:1.5}

/* Mobilising page — "handled by another division" note */
.adw-mob-handover{margin:0 0 clamp(20px,3vw,30px)}
.adw-mob-handover a{color:var(--ad-green-deep);font-weight:800;text-decoration:underline;white-space:nowrap}

/* ======================================================================
   MILESTONE DIALS — a rail you drag through labelled gates, with two
   panels that react as you pass each one. Two policies use it: the
   disclosure dial (political party financing) and the tax dial (cost of
   living), both built by mileDial() in xp-widgets.js.

   Scoped entirely to .xpw-mile: the `.xpw input[type=range]` and
   `.xpw .xpw-panel` rules above are shared by fourteen other widgets and
   must keep working exactly as they do. Everything below either adds a
   new element or overrides only inside a milestone dial.
   ====================================================================== */
.xpw-mile{position:relative}
/* the particle canvas covers the whole widget so a burst can rain over the
   panels; it never takes a pointer event, so the slider still owns the drag */
.xpw-mile .fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4}
.xpw-mile .xpw-sliderlab{align-items:flex-end;margin-bottom:4px}
.xpw-mile .xpw-sliderlab b{position:relative;font-variant-numeric:tabular-nums;
  transition:color .25s ease,transform .25s cubic-bezier(.2,.9,.25,1)}
.xpw-mile .xpw-sliderlab b.kick{animation:xpwKick .5s cubic-bezier(.2,.9,.25,1)}
@keyframes xpwKick{0%{transform:none}26%{transform:scale(1.16) translateY(-3px)}100%{transform:none}}

/* ---- the rail ---------------------------------------------------------- */
.xpw-mile-bar{--thumb:36px;position:relative;padding:44px 0 4px;margin-bottom:18px}
.xpw-mile-bar .rail{position:absolute;left:0;right:0;top:44px;height:16px;border-radius:99px;
  background:linear-gradient(180deg,#e8e2d2,#f4f0e4);
  box-shadow:inset 0 2px 4px rgba(29,42,40,.16),inset 0 -1px 0 #fff;overflow:hidden}
/* CLIPPED, not scaled: scaleX squeezes the gradient too, so a small donation
   showed the whole gold→teal ramp compressed into 30px instead of the gold end
   of a rail it has barely started. The ramp stays anchored to the full rail and
   the clip reveals as much of it as the donation has earned. */
.xpw-mile-bar .fill{position:absolute;inset:0;border-radius:99px;
  background:linear-gradient(90deg,var(--ad-gold) 0%,#e8b93f 34%,#29a895 72%,var(--ad-green-deep) 100%);
  clip-path:inset(0 var(--clip,100%) 0 0);transition:clip-path .09s linear}
/* a sheen that only moves when a gate is passed — the rail is otherwise still */
.xpw-mile-bar .fill::after{content:"";position:absolute;inset:0;opacity:0;
  background:linear-gradient(100deg,transparent 38%,rgba(255,255,255,.9),transparent 62%)}
.xpw-mile-bar.lit .fill::after{animation:xpwSheen .8s ease}
@keyframes xpwSheen{0%{opacity:0;transform:translateX(-70%)}30%{opacity:1}100%{opacity:0;transform:translateX(70%)}}
.xpw-mile-bar.lit .rail{box-shadow:inset 0 2px 4px rgba(29,42,40,.16),inset 0 -1px 0 #fff,0 0 0 4px rgba(252,214,102,.4)}

/* the real input sits transparently on top of the painted rail, so keyboard,
   touch and screen-reader behaviour are the browser's, not ours */
.xpw-mile-bar input[type=range]{position:relative;z-index:3;display:block;width:100%;height:44px;margin:0;
  background:transparent}
.xpw-mile-bar input[type=range]::-webkit-slider-runnable-track{height:16px;background:transparent}
.xpw-mile-bar input[type=range]::-moz-range-track{height:16px;background:transparent}
/* box-sizing on both thumbs so the visual thumb is EXACTLY --thumb wide in
   every engine — the fill's end position is computed from that number, and a
   content-box thumb (Chromium's default) would put it 6px out */
.xpw-mile-bar input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;box-sizing:border-box;
  width:var(--thumb);height:var(--thumb);
  margin-top:-10px;border-radius:50%;border:3px solid var(--ad-ink);
  background:#fff url("/assets/brand/logo-icon-colour.png") center/64% no-repeat;
  box-shadow:0 5px 16px rgba(22,34,31,.34),0 0 0 6px rgba(255,255,255,.5);cursor:grab}
.xpw-mile-bar input[type=range]::-moz-range-thumb{box-sizing:border-box;
  width:var(--thumb);height:var(--thumb);border-radius:50%;
  border:3px solid var(--ad-ink);
  background:#fff url("/assets/brand/logo-icon-colour.png") center/64% no-repeat;
  box-shadow:0 5px 16px rgba(22,34,31,.34);cursor:grab}
.xpw-mile-bar input[type=range]:active::-webkit-slider-thumb{cursor:grabbing}
.xpw-mile-bar input[type=range]:focus-visible{outline:none}
.xpw-mile-bar input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--ad-gold),0 5px 16px rgba(22,34,31,.34)}
.xpw-mile-bar input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px var(--ad-gold)}
.xpw-mile-bar .ends{display:flex;justify-content:space-between;font-size:10.5px;font-weight:900;
  letter-spacing:1.2px;color:#9aa39e;margin-top:-2px}

/* ---- the milestone gates ---------------------------------------------- */
.xpw-mile-bar .flags{position:absolute;left:0;right:0;top:0;height:44px;pointer-events:none;z-index:2}
/* --x is the unitless rail fraction; this is the thumb-CENTRE position for it,
   the same geometry the fill is scaled to */
.xpw-mile-bar .flag{position:absolute;left:calc(var(--thumb)/2 + (100% - var(--thumb))*var(--x));
  top:0;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;font-style:normal;text-align:center;
  transition:opacity .25s ease}
.xpw-mile-bar .flag em{font-style:normal;font-size:11.5px;font-weight:900;letter-spacing:.2px;
  color:#8a938e;transition:color .25s ease}
.xpw-mile-bar .flag span{font-size:9px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;
  color:#a8b0ab;transition:color .25s ease}
/* the post down to the rail, plus the ring the burst expands out of */
.xpw-mile-bar .flag s{position:relative;order:3;width:3px;height:13px;margin-top:3px;border-radius:2px;
  background:#cfd6d1;text-decoration:none;transition:background .25s ease,box-shadow .25s ease}
.xpw-mile-bar .flag s::after{content:"";position:absolute;left:50%;bottom:-5px;width:11px;height:11px;
  margin-left:-5.5px;border-radius:50%;background:#cfd6d1;border:2.5px solid #fbfaf6;
  transition:background .25s ease,transform .25s cubic-bezier(.2,.9,.25,1)}
.xpw-mile-bar .flag.on em{color:var(--ad-ink)}
.xpw-mile-bar .flag.on span{color:#6b746f}
/* keyed to the PANEL each gate belongs to (A = today, B = our plan), not to a
   gate's name — the tax dial's gates are "floor" and "top", and colouring by
   name left them grey after they had been passed */
.xpw-mile-bar .flag[data-side="B"].on s,.xpw-mile-bar .flag[data-side="B"].on s::after{background:var(--ad-green-deep)}
.xpw-mile-bar .flag[data-side="A"].on s,.xpw-mile-bar .flag[data-side="A"].on s::after{background:#b3402c}
.xpw-mile-bar .flag[data-side="B"].on s{box-shadow:0 0 10px rgba(41,168,149,.7)}
.xpw-mile-bar .flag[data-side="A"].on s{box-shadow:0 0 10px rgba(179,64,44,.6)}
.xpw-mile-bar .flag.pop s::after{animation:xpwGate .7s cubic-bezier(.2,.9,.25,1)}
@keyframes xpwGate{0%{transform:scale(1)}30%{transform:scale(2.5)}100%{transform:scale(1)}}
@media(max-width:520px){
  .xpw-mile-bar .flag em{font-size:10.5px}
  .xpw-mile-bar .flag span{display:none}
}

/* ---- the two regimes -------------------------------------------------- */
/* ONE BOX, not two. Today and Our plan are two readings of the SAME moment, so
   they share one frame with a divider between them — side by side on a wide
   screen, stacked on a phone. Two separately-bordered cards read as two
   subjects and cost a phone reader most of a screen; this is the same
   comparison in appreciably less height. */
/* `.xpw .xpw-duo` sets gap:14px with two classes, so this needs .xpw too or the
   gap wins on specificity and 14px of white shows where the divider should be */
.xpw .xpw-mile-duo{position:relative;z-index:1;gap:0;border:2px solid var(--sx-deep);
  border-radius:18px;overflow:hidden;background:#fff}
.xpw-mile .xpw-panel{position:relative;overflow:hidden;border:0;border-radius:0;
  padding:15px 17px 17px;min-height:0;
  /* the header line: label and status chip share a row instead of stacking */
  display:flex;flex-wrap:wrap;align-items:center;gap:0 10px;align-content:flex-start;
  transition:box-shadow .35s ease}
.xpw-mile .xpw-panel > h4{flex:1 1 auto;margin:0}
.xpw-mile .xpw-panel > .eye{flex:0 0 auto}
.xpw-mile .xpw-panel > .when,.xpw-mile .xpw-panel > p{flex:1 1 100%}
/* The divider — vertical between columns, horizontal between stacked rows.
   Needs .xpw + the child combinator to outrank `.xpw-mile .xpw-panel.good`,
   whose own border was overriding it. */
.xpw .xpw-mile-duo > .xpw-panel + .xpw-panel{border-left:2px solid var(--sx-deep)}
@media(max-width:640px){
  .xpw .xpw-mile-duo > .xpw-panel + .xpw-panel{border-left:0;border-top:2px solid var(--sx-deep)}
}
/* Today: an ink card with a faint diagonal weave — a filing-cabinet surface,
   deliberately closed-looking next to the open one */
.xpw-mile .xpw-panel.bad{background:
  repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 2px,transparent 2px 9px),
  radial-gradient(120% 90% at 100% 0%,#243733,#151f1c 70%);
  border:0;color:rgba(255,255,255,.92)}
.xpw-mile .xpw-panel.good{background:
  radial-gradient(120% 90% at 0% 0%,#f2fdf8,#e2f7ef 72%);
  border:0;color:#123b33}
.xpw-mile .xpw-panel::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;
  background:linear-gradient(108deg,transparent 40%,rgba(255,255,255,.55),transparent 60%)}
.xpw-mile .xpw-panel.flip::after{animation:xpwSheen .85s ease}
/* INSET rings: the shared box clips overflow, so an outer ring would vanish */
.xpw-mile .xpw-panel.bad.flip{box-shadow:inset 0 0 0 3px rgba(179,64,44,.55)}
.xpw-mile .xpw-panel.good.flip{box-shadow:inset 0 0 0 3px rgba(41,168,149,.6)}
.xpw-mile .xpw-panel h4{font-size:11px;letter-spacing:1.8px}
/* the status chip gets a live dot so the state reads as a state, not a label */
.xpw-mile .xpw-panel .eye{display:inline-flex;align-items:center;gap:7px;margin:0;padding:4px 11px}
.xpw-mile .xpw-panel .eye i{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.xpw-mile .xpw-panel.bad .eye{color:#ffb3a7;background:rgba(179,64,44,.22);border-color:rgba(255,179,167,.4)}
.xpw-mile .xpw-panel.good .eye i{animation:xpwLive 2.4s ease-in-out infinite}
@keyframes xpwLive{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.72)}}

/* "when do voters find out" — the question the policy actually asks, on a
   left-to-right axis from the moment of the gift to never */
/* No nested card: a panel inside a panel inside a box was three frames deep.
   The label and its value sit on one line, with the rail under them. */
.xpw-mile .when{margin:11px 0 0;padding:0;border:0;background:none;border-radius:0;
  display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 9px}
.xpw-mile .when .lb{flex:0 0 auto;font-size:9.5px;font-weight:900;letter-spacing:1.5px;
  text-transform:uppercase;opacity:.66;margin:0}
.xpw-mile .when b{flex:1 1 12ch;font-size:14px;font-weight:900;line-height:1.3;margin:0}
.xpw-mile .when .tl{flex:1 1 100%;margin-top:7px}
.xpw-mile .xpw-panel.bad .when b{color:#ffcfc6}
.xpw-mile .xpw-panel.good .when b{color:var(--ad-green-deep)}
.xpw-mile .when .tl{position:relative;display:block;height:4px;border-radius:2px;font-style:normal}
.xpw-mile .xpw-panel.bad .when .tl{background:linear-gradient(90deg,rgba(255,255,255,.34),rgba(179,64,44,.75))}
.xpw-mile .xpw-panel.good .when .tl{background:linear-gradient(90deg,var(--ad-green-deep),rgba(21,101,90,.18))}
.xpw-mile .when .tl s{position:absolute;top:50%;width:13px;height:13px;margin:-6.5px 0 0 -6.5px;
  border-radius:50%;text-decoration:none;
  transition:left .45s cubic-bezier(.2,.9,.25,1)}
.xpw-mile .xpw-panel.bad .when .tl s{background:#ffb3a7;box-shadow:0 0 0 3px rgba(179,64,44,.4)}
.xpw-mile .xpw-panel.good .when .tl s{background:var(--ad-green-deep);box-shadow:0 0 0 3px rgba(41,168,149,.28)}
.xpw-mile .xpw-panel p:last-child{margin:10px 0 0;font-size:13.5px;line-height:1.55}
@media(max-width:640px){
  .xpw-mile .xpw-panel{padding:13px 15px 15px}
  .xpw-mile .xpw-panel p:last-child{font-size:13px;line-height:1.5}
}
.xpw-mile .xpw-panel.bad p:last-child b{color:#ffcfc6}
.xpw-mile .xpw-panel.good p:last-child b{color:var(--ad-green-deep)}

/* Reduced motion: the dial still works and still tells the whole story — the
   canvas is never created, and nothing here moves on its own. */
@media(prefers-reduced-motion:reduce){
  .xpw-mile-bar .fill,.xpw-mile .when .tl s,.xpw-mile .xpw-sliderlab b,
  .xpw-mile .xpw-panel{transition:none}
  .xpw-mile .xpw-panel.good .eye i{animation:none}
}
