:root{
  --bar-navy:#243962;
  --nav-text:#383838;
  --btn-navy:#004c8b;
  --blue:#1599e3;
  --heading-navy:#204282;
  --body-grey:#6c6c6c;
  --tag-blue:#61769e;
  --card-border:#e2e2e2;
  --field-bg:#f5f5f5;
  --field-text:#454545;
  --note-grey:#808080;
  --muted:#ababab;
  --quote-bg:#f4fbff;
  --quote-border:#d5e3ff;
  --dark-end:#070e1c;
  --footer-end:#001425;

  --archivo:'Archivo',Arial,sans-serif;
  --public:'Public Sans',Arial,sans-serif;
  --inter:'Inter',Arial,sans-serif;
  --dm:'DM Sans',Arial,sans-serif;
  --lato:'Lato',Arial,sans-serif;
  /* One page frame and one horizontal gutter, used by every section container
     so all content lines up on the same left/right edge at every width. */
  --page:1300px;
  --gutter:min(3.888vw,56px);
}
/* Fluid scale: design is a 1440px comp rendered at 80% — it felt oversized on
   a laptop, so every fluid value below was multiplied by 0.8. The system's rule
   is unchanged (px cap = vw coefficient x 14.4); only the effective comp width
   moves, so sizes now cap at a 1800px viewport rather than 1440px.
   Containers are no longer per-section: every one of them now uses the --page
   frame and the --gutter defined above, so all content lines up on one
   left/right edge (the comp had each section on its own inset). --page is
   1300px, between the 1440px comp and a straight 0.8 scale.
   clamp() floors were deliberately NOT scaled — they are legibility minimums
   for small text. Where a scaled cap lands below its floor, the floor wins
   (clamp returns max(floor, min(val, cap))), which keeps fine print readable
   while still shrinking it roughly 20% from the old cap.
   The <=980px mobile blocks are hand-tuned and were left untouched. */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--public);color:var(--nav-text);background:#fff;-webkit-font-smoothing:antialiased;}
img{display:block;}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;cursor:pointer;}
.shell{max-width:var(--page);margin:0 auto;position:relative;}

/* Buttons (comp: px30 py20, radius 5) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:min(0.552vw,8px);padding:min(1.112vw,16px) min(1.664vw,24px);border-radius:5px;border:1px solid transparent;font-family:var(--archivo);font-weight:600;font-size:clamp(15px,1.112vw,16px);line-height:1;transition:filter .15s ease,background .15s ease;}
.btn:hover{filter:brightness(1.08);}
.btn-navy{background:var(--btn-navy);color:#fff;font-weight:700;}
.btn-white{background:#fff;color:var(--btn-navy);}
.btn-white:hover{filter:none;background:#eef4fa;}
.btn-blue{background:var(--blue);color:#fff;}
.btn-hero-outline{background:transparent;border-color:#fff;color:#fff;padding:min(0.832vw,12px) min(1.664vw,24px);font-weight:500;font-size:clamp(14px,1vw,14.4px);}
.btn-hero-outline:hover{background:rgba(255,255,255,.12);filter:none;}
.btn-learn{background:#fff;border-color:var(--blue);color:var(--blue);font-weight:500;}
.btn-learn:hover{background:#eaf6fd;filter:none;}
.btn-notnow{background:transparent;border-color:var(--muted);color:var(--muted);padding:min(0.832vw,12px) min(1.664vw,24px);font-weight:500;font-size:clamp(14px,1vw,14.4px);height:min(3.448vw,49.6px);}
.btn-notnow:hover{filter:none;border-color:var(--body-grey);color:var(--body-grey);}
.icon-15{width:min(0.832vw,12px);height:min(0.832vw,12px);}
.arrow-22{width:min(1.224vw,17.6px);height:min(0.664vw,9.6px);flex-shrink:0;}

/* ── Announcement bar ── */
.topbar{background:var(--bar-navy);color:#fff;padding:min(0.552vw,8px) min(3.336vw,48px);}
.topbar-inner{display:flex;gap:min(2.224vw,32px);align-items:center;justify-content:center;flex-wrap:wrap;}
.topbar p{font-family:var(--inter);font-weight:600;font-size:clamp(12px,0.888vw,12.8px);line-height:1.5;}
.topbar p span{font-weight:300;}
.topbar a{display:inline-flex;align-items:center;gap:min(0.504vw,7.2px);padding:5px 0;border-bottom:1px solid var(--blue);font-family:var(--dm);font-weight:700;font-size:clamp(12px,0.888vw,12.8px);text-transform:uppercase;white-space:nowrap;}
.topbar a:hover{color:#bfe4f8;}

/* ── Nav ── */
header{background:#fff;position:sticky;top:0;z-index:90;box-shadow:0 1px 0 rgba(0,0,0,.06);}
.nav-inner{height:min(6.448vw,92.8px);display:flex;align-items:center;justify-content:center;gap:min(6.664vw,96px);padding:0 var(--gutter);}
.logo{position:relative;width:min(13.864vw,199.68px);aspect-ratio:249.6/80.6;flex-shrink:0;}
.logo .logo-crest{position:absolute;top:6.95%;bottom:6.95%;left:1.92%;right:78.04%;}
.logo .logo-text{position:absolute;top:24.32%;bottom:24.07%;left:24.36%;right:2.32%;}
.logo img{width:100%;height:100%;object-fit:contain;}
.menu{display:flex;align-items:center;gap:min(2.28vw,32.8px);}
.menu-links{display:flex;align-items:center;gap:min(1.392vw,20px);}
.menu-links>div{position:relative;}
.navlink{display:flex;align-items:center;gap:min(0.552vw,8px);font-family:var(--archivo);font-weight:600;font-size:clamp(13px,0.888vw,12.8px);color:var(--nav-text);padding:10px 0;white-space:nowrap;}
.navlink:hover{color:var(--btn-navy);}
.navlink .caret{width:8px;height:5px;opacity:.8;}
.dropdown{position:absolute;top:100%;left:-12px;background:#fff;border:1px solid var(--card-border);border-radius:8px;box-shadow:0 14px 34px rgba(10,31,68,.14);min-width:230px;padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:all .16s ease;z-index:5;}
.menu-links>div:hover .dropdown,.menu-links>div:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown a{display:block;font-family:var(--archivo);font-weight:500;font-size:15px;padding:10px 12px;border-radius:6px;color:var(--nav-text);}
.dropdown a:hover{background:var(--quote-bg);color:var(--heading-navy);}
.menu-toggle{display:none;background:none;border:none;padding:8px;}
.menu-toggle span{display:block;width:24px;height:2.5px;background:var(--heading-navy);margin:5px 0;border-radius:2px;}

/* ── Hero (comp 1440x1002) ── */
.hero{position:relative;height:min(50vw,720px);overflow:hidden;background:radial-gradient(circle at 11% 80%,#204282 0%,#1a315e 50%,#14213a 100%);}
.hero-bg{position:absolute;inset:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(93.5deg,rgba(9,10,26,.7) 35.2%,rgba(0,0,0,0) 55.7%);}
.hero-matt{position:absolute;left:47.15%;bottom:-0.7%;width:54.93%;height:82%;overflow:hidden;}
.hero-matt img{position:absolute;top:0;right:-2%;height:100%;width:auto;max-width:none;}
.hero-copy{position:absolute;left:var(--gutter);top:17%;width:50%;display:flex;flex-direction:column;gap:min(2.392vw,34.4px);z-index:2;}
.hero-eyebrow{font-family:var(--archivo);font-weight:500;font-size:clamp(15px,1.224vw,17.6px);line-height:1.36;color:var(--blue);}
.hero h1{margin-top:min(0.832vw,12px);font-family:var(--archivo);font-weight:700;font-size:min(5.552vw,80px);line-height:.91;letter-spacing:-.018em;color:#fff;}
.hero h1 span{display:block;color:var(--blue);}
.hero-lede{margin-top:min(0.832vw,12px);font-family:var(--public);font-weight:300;font-size:clamp(15px,1.224vw,17.6px);line-height:1.36;color:#fff;max-width:88%;}
.hero-ctas{display:flex;gap:min(0.776vw,11.2px);align-items:stretch;}
.name-tag{position:absolute;left:79.58%;top:83.43%;width:20.42%;background:var(--blue);backdrop-filter:blur(5px);padding:min(1.112vw,16px) min(2.224vw,32px);color:#fff;z-index:2;}
.name-tag strong{display:block;font-family:var(--archivo);font-weight:700;font-size:min(1.664vw,24px);line-height:1;}
.name-tag span{font-family:var(--archivo);font-weight:400;font-size:min(1.224vw,17.6px);line-height:1.36;}

/* ── Quote (comp h787) ── */
.quote{background:var(--quote-bg);border-bottom:1px solid var(--quote-border);height:min(43.72vw,629.6px);position:relative;}
.quote-photo{position:absolute;left:var(--gutter);top:6.73%;width:40.69%;height:86.66%;}
.quote-photo img{width:100%;height:100%;object-fit:cover;}
.quote-copy{position:absolute;right:var(--gutter);top:50%;transform:translateY(-50%);width:40.83%;display:flex;flex-direction:column;gap:min(2.112vw,30.4px);}
.quote-copy blockquote{font-family:var(--archivo);font-weight:500;font-size:min(2.776vw,40px);line-height:.9;letter-spacing:-.02em;color:var(--heading-navy);}
.quote-copy blockquote em{font-style:normal;color:var(--blue);}
.quote-copy cite{font-style:normal;font-family:var(--public);font-weight:300;font-size:clamp(16px,1.336vw,19.2px);line-height:1.25;color:var(--body-grey);}

/* ── Stats (comp h312) ── */
.stats{height:min(17.336vw,249.6px);background:linear-gradient(132.3deg,#204282 18%,var(--dark-end) 100%);color:#fff;position:relative;}
.stats-inner{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;padding:0 var(--gutter);gap:min(2.224vw,32px);}
.stat strong{display:block;font-family:var(--archivo);font-weight:700;font-size:min(2.112vw,30.4px);line-height:1.08;letter-spacing:-.026em;margin-bottom:min(0.552vw,8px);}
.stat span{font-family:var(--public);font-weight:300;font-size:clamp(13px,1.112vw,16px);line-height:1.2;}

/* ── Priorities ── */
.priorities{background:#fff;padding:min(7.608vw,109.6px) 0 min(6.776vw,97.6px);}
.prior-head{max-width:var(--page);margin:0 auto;padding:0 var(--gutter);width:100%;}
.prior-head .eyebrow{font-family:var(--archivo);font-weight:400;font-size:clamp(16px,1.336vw,19.2px);line-height:1.25;color:var(--blue);margin-bottom:min(1.112vw,16px);}
.prior-head h2{font-family:var(--archivo);font-weight:700;font-size:min(3.336vw,48px);line-height:1;color:var(--heading-navy);max-width:466px;margin-bottom:min(1.112vw,16px);}
.prior-head .lede{font-family:var(--public);font-weight:300;font-size:clamp(16px,1.336vw,19.2px);line-height:1.25;color:var(--body-grey);max-width:529px;}
.cards{max-width:var(--page);margin:min(2.72vw,39.2px) auto 0;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(4,1fr);gap:min(0.832vw,12px);}
.card{background:#fff;border:1px solid var(--card-border);border-radius:10px;padding:min(1.664vw,24px);min-height:min(30.944vw,445.6px);display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;gap:min(1.664vw,24px);transition:box-shadow .2s ease;}
.card:hover{box-shadow:0 16px 38px rgba(10,31,68,.08);}
.card-top{width:100%;display:flex;flex-direction:column;gap:min(0.664vw,9.6px);}
.card-num{font-family:var(--archivo);font-weight:700;font-size:min(2.336vw,33.6px);letter-spacing:-.024em;color:rgba(21,153,227,.3);}
.card h3{font-family:var(--archivo);font-weight:700;font-size:min(2.336vw,33.6px);line-height:1.1;color:var(--heading-navy);margin-top:min(0.664vw,9.6px);}
.card p{font-family:var(--public);font-weight:300;font-size:clamp(14px,1.112vw,16px);line-height:1.5;color:var(--body-grey);margin-top:min(0.552vw,8px);}

/* ── Petitions (comp h1302) ── */
.petitions{background:radial-gradient(115% 95% at 86% 50%,#204282 0%,#14284f 50%,#0d1b35 75%,var(--dark-end) 100%);color:#fff;position:relative;padding:min(10.448vw,150.4px) 0;}
.pet-wrap{max-width:var(--page);margin:0 auto;display:flex;gap:min(6.224vw,89.6px);justify-content:center;align-items:flex-start;padding:0 var(--gutter);}
.pet-left{width:min(24.832vw,357.6px);flex-shrink:0;display:flex;flex-direction:column;gap:min(5.552vw,80px);}
.pet-left .eyebrow{font-family:var(--archivo);font-weight:400;font-size:clamp(16px,1.336vw,19.2px);line-height:1.25;color:var(--blue);margin-bottom:min(2.224vw,32px);}
.pet-left h2{font-family:var(--archivo);font-weight:700;font-size:min(3.336vw,48px);line-height:1;letter-spacing:-.017em;margin-bottom:min(1.112vw,16px);}
.pet-left .lede{font-family:var(--public);font-weight:300;font-size:clamp(15px,1.336vw,19.2px);line-height:1.25;}
.pet-left .btn{align-self:flex-start;}
.pet-list{width:min(45.832vw,660px);display:flex;flex-direction:column;gap:min(2.112vw,30.4px);margin-top:min(4.664vw,67.2px);}
/* All petition rows share the featured (formerly "active") treatment — full
   opacity, blue accent bar, blue number, white title. The .active/.dim classes
   in the markup are now visually neutral. */
.petition{display:flex;align-items:center;justify-content:space-between;gap:min(2.888vw,41.6px);padding:min(1.112vw,16px) min(2.224vw,32px);border-left:5px solid var(--blue);padding-left:min(1.944vw,28px);transition:background .18s ease;}
.petition:hover{background:rgba(255,255,255,.06);}
.petition:hover .pet-body{transform:translateX(8px);}
.pet-body{display:flex;gap:min(1.664vw,24px);align-items:flex-start;min-width:0;transition:transform .18s ease;}
.pet-num{font-family:var(--archivo);font-weight:500;font-size:min(3.336vw,48px);line-height:1;letter-spacing:-.017em;color:var(--blue);}
.pet-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:min(0.448vw,6.4px);}
.pet-thumb{flex-shrink:0;width:min(7.224vw,104px);aspect-ratio:4 / 3;border-radius:8px;overflow:hidden;background:rgba(255,255,255,.08);}
.pet-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease;}
.petition:hover .pet-thumb img{transform:scale(1.05);}
.pet-tag{font-family:var(--archivo);font-weight:300;font-size:clamp(14px,1.336vw,19.2px);line-height:1.25;color:var(--tag-blue);text-transform:uppercase;}
.pet-title{font-family:var(--archivo);font-weight:700;font-size:min(1.664vw,24px);line-height:1;color:#fff;}
.pet-circle{width:min(4.448vw,64px);height:min(4.448vw,64px);border:1px solid var(--blue);border-radius:100px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--blue);transition:background .15s ease,color .15s ease;}
.petition:hover .pet-circle{background:var(--blue);color:#fff;}
.pet-circle svg{width:min(2.168vw,31.2px);height:min(1.224vw,17.6px);transition:transform .15s ease;}
.petition:hover .pet-circle svg{transform:translateX(3px);}

/* ── Newsletter (comp h796) ── */
.newsletter{position:relative;height:min(44.224vw,636.8px);overflow:hidden;}
.news-bg{position:absolute;inset:0;}
.news-bg img{width:100%;height:100%;object-fit:cover;}
.news-bg::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.2);}
.news-strip{position:absolute;left:0;right:0;top:58.3%;bottom:0;background:var(--quote-bg);}
.news-card{position:absolute;left:50%;top:calc(50% + min(3.64vw,52.4px));transform:translate(-50%,-50%);width:min(82.4vw,calc(var(--page) - 2*56px));background:#fff;filter:drop-shadow(0 4px 2px rgba(134,134,134,.25));padding:min(4.448vw,64px) min(3.888vw,56px);display:flex;justify-content:space-between;gap:min(3.336vw,48px);}
.news-copy{width:34%;flex-shrink:0;display:flex;flex-direction:column;gap:min(1.664vw,24px);}
.news-copy h2{font-family:var(--archivo);font-weight:800;font-size:min(2.776vw,40px);line-height:1.2;letter-spacing:-.02em;color:var(--heading-navy);}
.news-copy p{font-family:var(--public);font-weight:300;font-size:clamp(14px,1.112vw,16px);line-height:1.25;color:var(--body-grey);}
.news-form{flex:1;max-width:470px;display:flex;flex-direction:column;gap:min(2.224vw,32px);}
.news-fields{display:flex;flex-direction:column;gap:min(1.664vw,24px);}
.field-rows{display:flex;flex-direction:column;gap:min(1.112vw,16px);}
.field-row{display:flex;gap:min(1.112vw,16px);}
.field-row input{flex:1;min-width:0;background:var(--field-bg);border:none;padding:min(1.112vw,16px);font-family:var(--lato);font-size:clamp(15px,1.112vw,16px);color:var(--field-text);}
.field-row input::placeholder{color:var(--field-text);}
.field-row input:focus{outline:2px solid var(--blue);}
.news-form .btn{width:100%;}
.news-note{font-family:var(--public);font-weight:400;font-size:clamp(13px,1vw,14.4px);color:var(--note-grey);}

/* ── Footer (comp h438) ── */
footer{min-height:min(24.336vw,350.4px);background:radial-gradient(120% 160% at 30% 50%,var(--btn-navy) 0%,#003058 45%,#00223f 70%,var(--footer-end) 100%);color:#fff;display:flex;align-items:center;}
.foot-inner{width:100%;max-width:var(--page);margin:0 auto;display:flex;flex-direction:column;gap:min(2.552vw,36.8px);padding:min(3.336vw,48px) var(--gutter);}
.foot-top{display:flex;justify-content:space-between;gap:min(4.448vw,64px);align-items:center;flex-wrap:wrap;}
.foot-brand{width:min(22vw,316.8px);display:flex;flex-direction:column;gap:min(1.664vw,24px);}
.foot-logo{width:100%;height:auto;}
.foot-brand .btn{width:100%;}
.foot-right{display:flex;flex-direction:column;align-items:flex-end;gap:min(3.056vw,44px);flex:1;min-width:300px;}
.foot-nav{display:flex;gap:min(1.112vw,16px);flex-wrap:wrap;justify-content:flex-end;}
.foot-nav a{font-family:var(--archivo);font-weight:500;font-size:clamp(14px,1vw,14.4px);line-height:1.11;color:#fff;}
.foot-nav a:hover{color:var(--blue);}
.socials{display:flex;gap:min(0.552vw,8px);}
.socials a{display:block;width:min(2.744vw,39.52px);height:min(2.76vw,39.8px);transition:transform .15s ease;}
.socials a:hover{transform:translateY(-2px);}
.socials img{width:100%;height:100%;}
.foot-legal{display:flex;gap:min(1.888vw,27.2px);font-family:var(--lato);font-size:clamp(12px,0.832vw,12px);line-height:1.33;color:var(--muted);flex-wrap:wrap;}
.foot-legal a:hover{color:#fff;}
/* Authorisation line — NSW electoral/parliamentary compliance, on every page */
.foot-fine{display:flex;flex-direction:column;gap:min(0.888vw,12.8px);}
.foot-auth{font-family:var(--lato);font-size:clamp(12px,0.832vw,12px);line-height:1.4;color:var(--muted);}

/* ── Pop Up V2 ── */
.modal-backdrop{position:fixed;inset:0;background:rgba(214,222,230,.45);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;}
.modal-backdrop.open{opacity:1;visibility:visible;}
.modal{width:min(46.336vw,667.2px);min-width:min(73.6vw,448px);background:rgba(255,255,255,.9);backdrop-filter:blur(5px);border-top:10px solid var(--blue);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;gap:min(2.776vw,40px);padding-bottom:min(2.776vw,40px);box-shadow:0 40px 90px rgba(5,15,35,.35);transform:translateY(18px) scale(.98);transition:transform .3s ease;}
.modal-backdrop.open .modal{transform:translateY(0) scale(1);}
.modal-top{position:relative;display:flex;flex-direction:column;gap:min(1.664vw,24px);align-items:center;padding:min(2.776vw,40px) min(3.336vw,48px);border-radius:10px 10px 0 0;overflow:hidden;}
.modal-top-bg{position:absolute;inset:0;}
.modal-top-bg img{width:100%;height:100%;object-fit:cover;}
.modal-top-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(32,66,130,.9),rgba(7,14,28,.9));}
.modal-logo{position:relative;width:min(13.864vw,199.68px);height:auto;object-fit:contain;}
.modal-text{position:relative;text-align:center;color:#fff;letter-spacing:-.02em;display:flex;flex-direction:column;gap:min(0.552vw,8px);}
.modal-text h2{font-family:var(--archivo);font-weight:700;font-size:min(2.776vw,40px);line-height:1.08;}
.modal-text p{font-family:var(--public);font-weight:300;font-size:clamp(16px,1.336vw,19.2px);letter-spacing:0;}
.modal-bottom{display:flex;flex-direction:column;gap:min(1.112vw,16px);align-items:center;padding:0 40px;}
.modal-actions{display:flex;gap:min(0.888vw,12.8px);justify-content:center;flex-wrap:wrap;}
.modal-actions .btn-blue{height:min(3.448vw,49.6px);padding:min(0.832vw,12px) min(1.664vw,24px);font-weight:500;font-size:clamp(14px,1vw,14.4px);}
.modal-privacy{font-family:var(--public);font-weight:300;font-size:clamp(13px,0.888vw,12.8px);color:var(--body-grey);text-align:center;}

/* ── Local-issue pages (shared template) ── */
/* Hero band: issue title + photo, dark navy gradient in the home-hero language */
.issue-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 11% 80%,#204282 0%,#1a315e 50%,#14213a 100%);color:#fff;}
.issue-hero-bg{position:absolute;inset:0;}
.issue-hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.28;}
.issue-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(93.5deg,rgba(9,10,26,.82) 28%,rgba(20,33,58,.5) 100%);}
.issue-hero-inner{position:relative;max-width:var(--page);margin:0 auto;padding:min(6.112vw,88px) var(--gutter) min(5vw,72px);display:flex;flex-direction:column;gap:min(0.832vw,12px);z-index:1;}
.issue-hero .eyebrow{font-family:var(--archivo);font-weight:500;font-size:clamp(15px,1.224vw,17.6px);line-height:1.36;color:var(--blue);}
.issue-hero h1{font-family:var(--archivo);font-weight:700;font-size:min(4.448vw,64px);line-height:.95;letter-spacing:-.018em;max-width:16ch;}
.issue-hero .issue-lede{font-family:var(--public);font-weight:300;font-size:clamp(16px,1.336vw,19.2px);line-height:1.36;max-width:60ch;margin-top:min(0.552vw,8px);}

/* Intro + content sections */
.issue-body{background:#fff;padding:min(5.552vw,80px) 0;}
.issue-wrap{max-width:var(--page);margin:0 auto;padding:0 var(--gutter);display:flex;flex-direction:column;gap:min(3.336vw,48px);}
.issue-intro{font-family:var(--public);font-weight:300;font-size:clamp(18px,1.552vw,22.4px);line-height:1.4;color:var(--heading-navy);max-width:46ch;}
.issue-section{display:flex;flex-direction:column;gap:min(1vw,14.4px);max-width:64ch;}
.issue-section h2{font-family:var(--archivo);font-weight:700;font-size:min(2.336vw,33.6px);line-height:1.1;color:var(--heading-navy);}
.issue-section h3{font-family:var(--archivo);font-weight:600;font-size:min(1.448vw,20.8px);line-height:1.2;color:var(--heading-navy);margin-top:min(0.552vw,8px);}
.issue-section p{font-family:var(--public);font-weight:300;font-size:clamp(16px,1.112vw,16px);line-height:1.6;color:var(--body-grey);}
.issue-section a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;}
.issue-section a:hover{color:var(--btn-navy);}
.issue-list{display:flex;flex-direction:column;gap:min(0.664vw,9.6px);list-style:none;}
.issue-list li{position:relative;padding-left:28px;font-family:var(--public);font-weight:300;font-size:clamp(16px,1.112vw,16px);line-height:1.5;color:var(--body-grey);}
.issue-list li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:2px;background:var(--blue);}
.issue-list li strong{font-family:var(--archivo);font-weight:600;color:var(--heading-navy);}

/* Pull-quote (e.g. Inaugural Speech) */
.issue-quote{border-left:5px solid var(--blue);background:var(--quote-bg);padding:min(1.664vw,24px) min(2.224vw,32px);border-radius:0 8px 8px 0;max-width:64ch;}
.issue-quote blockquote{font-family:var(--archivo);font-weight:500;font-size:min(1.664vw,24px);line-height:1.25;letter-spacing:-.01em;color:var(--heading-navy);}
.issue-quote cite{display:block;margin-top:min(0.888vw,12.8px);font-style:normal;font-family:var(--public);font-weight:300;font-size:clamp(15px,1vw,14.4px);color:var(--body-grey);}

/* Crisis-support callout (mental health page) */
.issue-help{background:var(--quote-bg);border:1px solid var(--quote-border);border-radius:8px;padding:min(1.392vw,20px) min(1.664vw,24px);max-width:64ch;font-family:var(--public);font-weight:400;font-size:clamp(15px,1vw,14.4px);line-height:1.5;color:var(--heading-navy);}
.issue-help strong{font-family:var(--archivo);font-weight:600;}

/* Form validation states (newsletter on inner pages) */
.field-row input[aria-invalid="true"]{outline:2px solid #c0392b;}
.form-error{font-family:var(--public);font-weight:400;font-size:clamp(13px,0.888vw,12px);color:#c0392b;min-height:1em;}
.form-status{font-family:var(--public);font-weight:400;font-size:clamp(14px,1vw,13.6px);color:var(--heading-navy);}

/* Two-column layout (e.g. contact: details + form) */
.issue-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:min(3.888vw,56px);align-items:start;}
.contact-detail{list-style:none;display:flex;flex-direction:column;gap:min(1vw,14.4px);}
.contact-detail li{font-family:var(--public);font-weight:300;font-size:clamp(16px,1.112vw,16px);line-height:1.5;color:var(--body-grey);}
.contact-detail .label{display:block;font-family:var(--archivo);font-weight:600;font-size:clamp(13px,0.888vw,12px);text-transform:uppercase;letter-spacing:.04em;color:var(--tag-blue);margin-bottom:4px;}
.contact-detail a{color:var(--blue);text-decoration:none;}
.contact-detail a:hover{text-decoration:underline;}

/* Generic forms (contact, congratulatory messages, petition sign) */
.form-card{background:#fff;border:1px solid var(--card-border);border-radius:10px;padding:min(2.224vw,32px);}
.std-form{display:flex;flex-direction:column;gap:min(1.112vw,16px);}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:min(1.112vw,16px);}
.form-field{display:flex;flex-direction:column;gap:8px;}
.form-field.full{grid-column:1 / -1;}
.form-field label{font-family:var(--archivo);font-weight:600;font-size:clamp(13px,0.888vw,12px);color:var(--heading-navy);}
.form-field label .req{color:var(--blue);}
.form-field input,.form-field textarea{background:var(--field-bg);border:1px solid transparent;border-radius:4px;padding:min(0.832vw,12px);font-family:var(--lato);font-size:clamp(15px,1vw,13.6px);color:var(--field-text);width:100%;}
.form-field textarea{min-height:130px;resize:vertical;}
.form-field input:focus,.form-field textarea:focus{outline:2px solid var(--blue);border-color:transparent;}
.form-field input[aria-invalid="true"],.form-field textarea[aria-invalid="true"]{outline:2px solid #c0392b;}
.form-check{display:flex;gap:10px;align-items:flex-start;font-family:var(--public);font-weight:300;font-size:clamp(14px,0.888vw,12.8px);line-height:1.4;color:var(--body-grey);}
.form-check input{margin-top:3px;flex-shrink:0;width:auto;}
.form-check a{color:var(--blue);text-decoration:underline;text-underline-offset:2px;}
.std-form .btn{align-self:flex-start;}

/* Article list (opinion articles) */
.article-list{display:flex;flex-direction:column;gap:min(1vw,14.4px);}
.article-card{display:flex;flex-direction:column;gap:min(0.552vw,8px);background:#fff;border:1px solid var(--card-border);border-radius:10px;padding:min(1.664vw,24px);transition:box-shadow .2s ease;}
.article-card:hover{box-shadow:0 16px 38px rgba(10,31,68,.08);}
.article-meta{font-family:var(--archivo);font-weight:400;font-size:clamp(12px,0.888vw,12px);color:var(--tag-blue);text-transform:uppercase;letter-spacing:.03em;}
.article-card h3{font-family:var(--archivo);font-weight:700;font-size:min(1.664vw,24px);line-height:1.15;color:var(--heading-navy);}
.article-card p{font-family:var(--public);font-weight:300;font-size:clamp(15px,1.112vw,16px);line-height:1.5;color:var(--body-grey);}
.article-card .btn-learn{align-self:flex-start;margin-top:min(0.552vw,8px);}

@media (max-width:980px){
  .issue-hero-inner{padding:48px var(--gutter) 40px;}
  .issue-hero h1{font-size:clamp(34px,9.5vw,52px);line-height:1.04;}
  .issue-hero .eyebrow,.issue-hero .issue-lede{font-size:18px;line-height:1.4;}
  .issue-body{padding:44px 0;}
  .issue-wrap{padding:0 var(--gutter);gap:36px;}
  .issue-intro{font-size:22px;}
  .issue-section h2{font-size:30px;}
  .issue-section h3{font-size:21px;}
  .issue-section p,.issue-list li{font-size:17px;}
  .issue-quote blockquote{font-size:22px;}
  .issue-cols{grid-template-columns:1fr;gap:40px;}
  .form-card{padding:26px;}
  .form-grid{grid-template-columns:1fr;}
  .article-card{padding:24px;}
  .article-card h3{font-size:23px;}
  .article-card p{font-size:17px;}
  .issue-help{padding:18px 20px;font-size:16px;}
  .issue-quote{padding:22px 24px;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important;}
}

/* ── Mobile (≤980px) ── */
@media (max-width:980px){
  /* One mobile gutter. Every section container reads var(--gutter), so this
     single override lines them all up on the same edge. */
  :root{--gutter:24px;}
  /* The open menu is taller than a phone viewport, and it is absolutely
     positioned inside a sticky header — so the page scrolling underneath
     never brings its lower items into reach. Cap it to the space below the
     bar and let it scroll itself. */
  .menu{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:2px;padding:8px var(--gutter) 20px;box-shadow:0 20px 40px rgba(10,31,68,.12);max-height:calc(100vh - 84px);max-height:calc(100dvh - 84px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
  .menu.open{display:flex;}
  body.menu-open{overflow:hidden;}
  .menu-links{flex-direction:column;align-items:stretch;gap:2px;}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;border:none;box-shadow:none;padding:0 0 4px 14px;display:block;min-width:0;}
  .menu-links>div:hover .dropdown{display:block;}
  .navlink .caret{display:none;}
  .menu-toggle{display:block;width:44px;height:44px;}
  .nav-inner{justify-content:space-between;height:84px;}
  .logo{width:200px;}
  .navlink{font-size:16px;min-height:44px;display:flex;align-items:center;}
  .dropdown a{min-height:44px;display:flex;align-items:center;}
  .topbar{padding:10px var(--gutter);}
  .topbar a{display:none;}
  .topbar p{font-size:13px;}
  .hero{height:auto;padding:56px 0 44px;}
  .hero-copy{position:static;width:auto;padding:0 var(--gutter);gap:28px;}
  .hero-eyebrow,.hero-lede{font-size:18px;line-height:1.4;}
  .hero h1{font-size:clamp(40px,10.5vw,64px);line-height:1.04;letter-spacing:-1.5px;}
  .hero-lede{max-width:540px;}
  .hero-matt{display:none;}
  .name-tag{position:static;width:auto;margin:24px var(--gutter) 0;padding:14px 24px;display:inline-block;}
  .name-tag strong{font-size:22px;line-height:26px;}
  .name-tag span{font-size:16px;line-height:22px;}
  .btn{padding:16px 24px;font-size:17px;}
  .btn-hero-outline{padding:12px 24px;font-size:16px;}
  .quote{height:auto;padding:48px var(--gutter);}
  .quote-photo{position:static;width:100%;height:auto;aspect-ratio:5/4;margin-bottom:28px;}
  .quote-copy{position:static;transform:none;width:auto;gap:24px;}
  .quote-copy blockquote{font-size:28px;line-height:1.15;}
  .quote-copy cite{font-size:18px;}
  .stats{height:auto;}
  .stats-inner{position:static;grid-template-columns:1fr 1fr;padding:40px var(--gutter);gap:24px;}
  .stat strong{font-size:28px;}
  .stat span{font-size:16px;}
  .priorities{padding:56px 0;}
  .prior-head h2{font-size:34px;line-height:1.08;}
  .prior-head .eyebrow,.prior-head .lede{font-size:19px;}
  .cards{grid-template-columns:1fr;gap:16px;}
  .card{min-height:0;gap:26px;padding:26px;}
  .card-num{font-size:30px;}
  .card h3{font-size:30px;}
  .card p{font-size:17px;}
  .petitions{padding:60px 0;}
  .pet-wrap{flex-direction:column;gap:40px;align-items:flex-start;padding:0 var(--gutter);}
  .pet-left{width:auto;gap:28px;}
  .pet-left h2{font-size:34px;line-height:1.08;}
  .pet-left .eyebrow,.pet-left .lede{font-size:19px;}
  .pet-list{margin-top:0;width:100%;max-width:663px;gap:18px;}
  .petition{padding:14px 10px;gap:12px;}
  .petition.active{padding-left:12px;}
  .pet-num{font-size:26px;line-height:1.1;}
  .pet-text{width:auto;}
  .pet-title{font-size:18px;line-height:1.2;}
  .pet-thumb{width:72px;border-radius:6px;}
  .pet-tag{font-size:14px;line-height:1.3;}
  .pet-circle{width:46px;height:46px;}
  .pet-circle svg{width:22px;height:13px;}
  .newsletter{height:auto;padding:48px 0;}
  .news-strip{display:none;}
  .news-card{position:static;transform:none;margin:0 auto;width:calc(100% - 2*var(--gutter));flex-direction:column;padding:36px 26px;gap:32px;}
  .news-copy{width:100%;gap:18px;}
  .news-copy h2{font-size:28px;line-height:1.18;}
  .news-copy p{font-size:17px;line-height:1.4;}
  .news-form{max-width:none;gap:24px;}
  .news-fields{gap:20px;}
  .field-row{flex-direction:column;}
  .field-row input{padding:16px;font-size:17px;}
  .news-note{font-size:14px;}
  footer{min-height:0;}
  .foot-inner{padding:44px var(--gutter);gap:28px;}
  .foot-top{flex-direction:column;align-items:flex-start;gap:32px;}
  .foot-brand{width:100%;max-width:340px;}
  .foot-right{align-items:flex-start;gap:32px;}
  .foot-nav{justify-content:flex-start;}
  .foot-nav a{font-size:16px;min-height:44px;display:inline-flex;align-items:center;}
  .socials a{width:44px;height:44px;}
  .foot-legal{font-size:13px;gap:20px;align-items:center;}
  .foot-legal a{min-height:44px;display:inline-flex;align-items:center;}
  .modal{width:100%;min-width:0;gap:32px;padding-bottom:32px;}
  .modal-top{padding:32px 24px;gap:20px;}
  .modal-logo{width:190px;}
  .modal-text h2{font-size:28px;}
  .modal-text p{font-size:17px;}
  .modal-actions .btn-blue,.btn-notnow{height:auto;padding:14px 22px;font-size:16px;}
}

/* ══════════════════════════════════════════════════════════════════════════
   Petition card grid (petitions index + "other petitions" bands)
   ══════════════════════════════════════════════════════════════════════════ */
.pgrid-section{background:#fff;padding:min(5.552vw,80px) 0;}
.pgrid-section.alt{background:var(--quote-bg);border-top:1px solid #d5e3ff;}
.pgrid-head{max-width:var(--page);margin:0 auto;padding:0 var(--gutter);display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;}
.pgrid-head .eyebrow{font-family:var(--archivo);font-weight:400;font-size:clamp(15px,1.224vw,17.6px);line-height:1.25;color:var(--blue);margin-bottom:min(0.888vw,12.8px);}
.pgrid-head h2{font-family:var(--archivo);font-weight:700;font-size:min(2.888vw,41.6px);line-height:1.02;letter-spacing:-.015em;color:var(--heading-navy);margin-bottom:min(0.664vw,9.6px);}
.pgrid-head .lede{font-family:var(--public);font-weight:300;font-size:clamp(15px,1.112vw,16px);line-height:1.4;color:var(--body-grey);max-width:54ch;}
.pgrid-head .btn{flex-shrink:0;}

.pfilters{max-width:var(--page);margin:min(2.224vw,32px) auto 0;padding:0 var(--gutter);display:flex;flex-wrap:wrap;gap:10px;}
.pfilter{font-family:var(--archivo);font-weight:600;font-size:clamp(13px,0.832vw,12px);color:var(--tag-blue);background:#fff;border:1px solid var(--card-border);border-radius:100px;padding:9px 18px;cursor:pointer;transition:all .15s ease;}
.pfilter:hover{border-color:var(--blue);color:var(--blue);}
.pfilter.is-on{background:var(--heading-navy);border-color:var(--heading-navy);color:#fff;}

.pgrid{max-width:var(--page);margin:min(2.224vw,32px) auto 0;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(3,1fr);gap:min(1.664vw,24px);}
.pgrid.pgrid-3{grid-template-columns:repeat(3,1fr);}
.pcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--card-border);border-radius:12px;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.pcard:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(10,31,68,.12);border-color:#d5e3ff;}
.pcard-img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--field-bg);}
.pcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.pcard:hover .pcard-img img{transform:scale(1.04);}
.pcard-body{display:flex;flex-direction:column;gap:10px;padding:min(1.552vw,22.4px) min(1.448vw,20.8px) min(1.664vw,24px);flex:1;}
.pcard-tag{font-family:var(--archivo);font-weight:600;font-size:clamp(12px,0.776vw,11.2px);line-height:1.2;color:var(--tag-blue);text-transform:uppercase;letter-spacing:.04em;}
.pcard-title{font-family:var(--archivo);font-weight:700;font-size:clamp(19px,1.28vw,18.4px);line-height:1.15;color:var(--heading-navy);}
.pcard-desc{font-family:var(--public);font-weight:300;font-size:clamp(14px,0.832vw,12px);line-height:1.5;color:var(--body-grey);}
.pcard-more{margin-top:auto;padding-top:min(0.888vw,12.8px);display:inline-flex;align-items:center;gap:10px;font-family:var(--archivo);font-weight:600;font-size:clamp(14px,0.832vw,12px);color:var(--blue);}
.pcard-more svg{width:30px;height:17px;transition:transform .15s ease;}
.pcard:hover .pcard-more svg{transform:translateX(4px);}
.pcard[hidden]{display:none;}

/* External-action card on petition detail pages */
.action-card{background:var(--quote-bg);border:1px solid #d5e3ff;border-radius:10px;padding:min(2.224vw,32px);display:flex;flex-direction:column;align-items:flex-start;gap:min(0.888vw,12.8px);max-width:64ch;}
.action-note{font-family:var(--public);font-weight:300;font-size:clamp(14px,0.888vw,12.8px);color:var(--body-grey);}

@media (max-width:980px){
  .pgrid-section{padding:48px 0;}
  .pgrid-section.alt{padding:44px 0;}
  .pgrid-head{padding:0 var(--gutter);align-items:flex-start;gap:20px;}
  .pgrid-head h2{font-size:34px;line-height:1.05;}
  .pgrid-head .eyebrow,.pgrid-head .lede{font-size:18px;}
  .pfilters{padding:0 var(--gutter);margin-top:22px;}
  .pgrid{padding:0 var(--gutter);margin-top:22px;grid-template-columns:1fr 1fr;gap:16px;}
  .pgrid.pgrid-3{grid-template-columns:1fr 1fr;}
  .action-card{padding:28px;}
}
@media (max-width:600px){
  .pgrid,.pgrid.pgrid-3{grid-template-columns:1fr;}
}

/* ════════════════════════════════════════════════════════════════
   Petitions index — numbered rows WITH thumbnail images, full list.
   Scoped to .pet-index so the homepage petition rows are unaffected.
   ════════════════════════════════════════════════════════════════ */
.pet-index .pet-wrap{align-items:flex-start;gap:min(4vw,57.6px);}
.pet-index .pet-left{width:min(20.832vw,300px);position:sticky;top:min(7.224vw,104px);}
.pet-index .pet-list{width:auto;flex:1;min-width:0;margin-top:0;gap:min(1.336vw,19.2px);}
.pet-index .petition{align-items:center;gap:min(2vw,28.8px);padding-top:min(0.832vw,12px);padding-bottom:min(0.832vw,12px);}
.pet-index .pet-body{align-items:center;gap:min(1.336vw,19.2px);min-width:0;}
.pet-index .pet-num{font-size:min(2.448vw,35.2px);flex-shrink:0;}
.pet-index .pet-thumb{flex-shrink:0;width:min(8.888vw,128px);aspect-ratio:4 / 3;border-radius:8px;overflow:hidden;background:rgba(255,255,255,.08);}
.pet-index .pet-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease;}
.pet-index .petition:hover .pet-thumb img{transform:scale(1.05);}
.pet-index .pet-text{width:auto;flex:1;min-width:0;}
.pet-index .pet-title{font-size:min(1.448vw,20.8px);line-height:1.12;}

/* Mobile (≤980px): keep the row, shrink the thumbnail and number */
@media (max-width:980px){
  .pet-index .pet-left{position:static;width:auto;}
  .pet-index .pet-list{gap:14px;}
  .pet-index .petition{gap:10px;padding:14px 10px;}
  .pet-index .pet-body{gap:12px;}
  .pet-index .pet-num{font-size:24px;}
  .pet-index .pet-thumb{width:72px;border-radius:6px;}
  .pet-index .pet-title{font-size:18px;line-height:1.15;}
  .pet-index .pet-tag{font-size:14px;}
  .pet-index .pet-circle{width:46px;height:46px;}
  .pet-index .pet-circle svg{width:22px;height:13px;}
}
