/* Styles for campaigns.html, updates.html, media.html and the October 2026
   additions to About, Join, Submit and the federal response. Tokens only. */
.pg-hero{padding-top:56px;padding-bottom:12px}
.pg-hero h1.display{font-size:clamp(2.25rem,calc(5vw * var(--text-scale, 1)),3.75rem);max-width:20ch;margin-top:14px}
.pg-hero .lead{font-size:clamp(1.125rem,calc(2vw * var(--text-scale, 1)),1.3125rem);line-height:1.5;color:var(--ink-2);max-width:40em;margin-top:18px}
.pg-sec{padding-top:44px;padding-bottom:44px}
.pg-sec + .pg-sec{border-top:1px solid var(--rule-2)}
.pg-sec h2.display{font-size:clamp(1.625rem,calc(3.4vw * var(--text-scale, 1)),2.25rem);margin:0 0 14px}
.pg-sec .sub{max-width:62ch}
.hv-sum{font-size:1rem;line-height:1.5;color:var(--ink-2);margin-top:6px}
.stage-key{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media(max-width:860px){.stage-key{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:480px){.stage-key{grid-template-columns:minmax(0,1fr)}}
.stage-key li{background:var(--raise);border:1px solid var(--rule-2);border-radius:10px;padding:18px;display:grid;gap:8px;align-content:start}
.stage-key b{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-size:1.1875rem}
.stage-key li::before{content:"";height:6px;border-radius:3px;background:var(--blue);width:calc(var(--n) * 25%)}
.stage-key b{display:flex;align-items:center;gap:10px}
.stage-marker{display:inline-grid;place-items:center;flex:none;width:24px;height:24px;border:1px solid currentColor;border-radius:50%;font:700 16px/1 system-ui;color:var(--live);box-shadow:0 0 7px currentColor}
.stage-marker.preparing{color:var(--pend)}
.stage-marker.declined{color:var(--act)}
.stage-key span{font-size:1rem;line-height:1.5;color:var(--ink-2)}
.bio{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;align-items:start;margin-top:8px}
@media(max-width:620px){.bio{grid-template-columns:minmax(0,1fr)}}
.bio > :only-child{grid-column:1 / -1;min-width:0}
.bio-photo{width:160px;height:160px;border-radius:12px;object-fit:cover;background:var(--sunk);border:1px solid var(--rule-2)}
.bio-photo[hidden]{display:none}
.bio:has(.bio-photo[hidden]){grid-template-columns:minmax(0,1fr)}
.roles{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px;max-width:66ch}
.roles li{padding-left:18px;position:relative;font-size:1.0625rem;line-height:1.5;color:var(--ink-2)}
.roles li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--blue)}
.roles b{color:var(--ink);font-weight:600}
.facts-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:0;max-width:72ch}
.facts-list li{padding:14px 0;border-top:1px solid var(--rule-2);font-size:1.0625rem;line-height:1.55;color:var(--ink-2)}
.facts-list li:last-child{border-bottom:1px solid var(--rule-2)}
.facts-list b{color:var(--ink)}
.contact-card{background:var(--raise);border:1px solid var(--rule-2);border-radius:12px;padding:24px;display:grid;gap:10px;max-width:560px}
.contact-card .addr{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:1.0625rem;color:var(--ink);user-select:all}
.example-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px;max-width:66ch}
.example-list li{background:var(--raise);border:1px solid var(--rule-2);border-radius:8px;padding:14px 16px;font-size:1rem;line-height:1.5;color:var(--ink-2)}
.example-list li b{color:var(--ink)}
.prio-eg{margin-top:8px;font-size:0.9375rem;color:var(--ink-2)}
.prio-eg a{font-weight:600}
/* federal response additions */
.byline{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:18px;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:0.8125rem;letter-spacing:.02em;color:var(--ink-2)}
.ask-table-wrap{overflow-x:auto;margin-top:22px;border:1px solid var(--rule-2);border-radius:10px}
.ask-table{width:100%;border-collapse:collapse;min-width:560px;font-size:1rem;line-height:1.5}
.ask-table th,.ask-table td{text-align:left;vertical-align:top;padding:14px 16px;border-top:1px solid var(--rule-2)}
.ask-table thead th{border-top:0;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:0.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);background:var(--raise)}
.ask-table td:first-child{font-weight:600;color:var(--ink);width:38%}
.ask-table td:last-child{color:var(--ink-2)}
.mp-card{background:var(--raise);border:2px solid var(--act);border-radius:12px;padding:clamp(20px,3vw,28px);display:grid;gap:14px;max-width:760px;margin-top:22px}
.mp-card h3{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;font-size:1.5rem;letter-spacing:-.02em;margin:0}
.mp-card p,.mp-card li{color:var(--ink-2);font-size:1.03125rem;line-height:1.55}
.mp-card ol{margin:0;padding-left:20px;display:grid;gap:6px}
.mp-row{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
.share-row{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:6px;font-size:0.9375rem}
.mp-card details summary{cursor:pointer;color:var(--link);font-weight:600}
.mp-card pre{white-space:pre-wrap;font-family:"Public Sans",system-ui,sans-serif;font-size:0.96875rem;line-height:1.55;background:var(--paper);border:1px solid var(--rule-2);border-radius:8px;padding:16px;margin-top:10px;color:var(--ink)}
/* join: optional questions folded */
.join-more{margin-top:8px;border-top:1px solid var(--rule-2);padding-top:14px}
.join-more>summary{cursor:pointer;font-weight:700;color:var(--link);padding:6px 0;list-style:none}
.join-more>summary::-webkit-details-marker{display:none}
.join-more>summary::before{content:"+ "}
.join-more[open]>summary::before{content:"\2212  "}
.req{font-family:"Public Sans",system-ui,sans-serif;font-size:0.8125rem;text-transform:none;letter-spacing:0;color:var(--ink-2);font-weight:500}
.cov-h{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;font-size:1.25rem;margin:26px 0 0}

/* ── Join page (Oct 2026): short intro, form beside "What you'll get" ── */
.join-page{padding-top:48px;padding-bottom:48px}
.join-head{max-width:640px}
.join-head h1.display{font-size:clamp(2.25rem,calc(5vw * var(--text-scale, 1)),3.5rem);margin:12px 0 0}
.join-head .sub{margin-top:14px}
.join-page .join-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:32px 44px;align-items:start;margin-top:28px}
@media(max-width:900px){.join-page .join-grid{grid-template-columns:minmax(0,1fr);gap:28px}}
.join-form{max-width:none;margin:0}
.join-fine{font-size:0.875rem;line-height:1.55;color:var(--ink-2);margin-top:14px}
.join-aside{display:grid;gap:18px;align-content:start}
.join-aside h2{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;font-size:1.5rem;letter-spacing:-.02em;margin:0}
.join-gets{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.join-gets li{padding-left:30px;position:relative;font-size:1.03125rem;line-height:1.5;color:var(--ink-2)}
.join-gets li::before{content:"";position:absolute;left:0;top:.2em;width:18px;height:18px;border-radius:50%;background:color-mix(in srgb,var(--blue) 18%,transparent);box-shadow:inset 0 0 0 2px var(--blue)}
.join-gets b{display:block;color:var(--ink);font-weight:700;margin-bottom:2px}
.join-trust{list-style:none;margin:0;padding:14px 0 0;border-top:1px solid var(--rule-2);display:flex;flex-wrap:wrap;gap:8px}
.join-trust li{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:0.78125rem;font-weight:700;padding:6px 11px;border-radius:999px;background:var(--sunk);color:var(--ink)}
.join-alt{margin-top:32px;padding-top:18px;border-top:1px solid var(--rule-2);display:grid;gap:6px;font-size:0.96875rem;color:var(--ink-2)}
/* ── Thank-you page ── */
.thanks-page{padding-top:56px;padding-bottom:48px;max-width:760px}
.thanks-head h1.display{font-size:clamp(2.125rem,calc(5vw * var(--text-scale, 1)),3.375rem);margin:14px 0 0}
.thanks-head .sub{margin-top:14px}
.thanks-now{margin-top:28px;display:grid;gap:12px;border:2px solid var(--act)}
.thanks-now h2{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;font-size:1.5rem;letter-spacing:-.02em;margin:0}
.thanks-now p{color:var(--ink-2);font-size:1.03125rem;line-height:1.55;margin:0}
.thanks-time{display:flex;align-items:center;gap:10px;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:0.78125rem !important;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink) !important}
.thanks-btns{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:4px}
.thanks-next{margin-top:32px;display:grid;gap:10px}
.thanks-next h2{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;font-size:1.375rem;margin:0}
.thanks-next p{color:var(--ink-2);font-size:1.03125rem;line-height:1.55;margin:0}
.thanks-back{margin-top:28px;font-size:0.9375rem;color:var(--ink-2)}
.thanks-now h2,.thanks-next h2,.join-aside h2{line-height:1.2}
.join-more>summary{font-size:1.03125rem;line-height:1.4}

/* Shared page header (Oct 2026): kicker pill, H1, lead — same on every page. */
.hero .lead,.pg-hero .lead{font-size:clamp(1.125rem,calc(2vw * var(--text-scale, 1)),1.3125rem);line-height:1.5;color:var(--ink-2);max-width:40em;margin-top:16px}
.action-centre .pg-hero{padding-bottom:20px}

/* Take action: bottom panels, matching the homepage join panels. */
.action-pathways .path-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:20px}
@media(max-width:760px){.action-pathways .path-grid{grid-template-columns:minmax(0,1fr)}}
.path-panel{border:1px solid var(--rule-2);border-radius:12px;padding:clamp(22px,3vw,30px);background:var(--raise);display:grid;gap:12px;align-content:start}
.path-panel h3{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;font-size:clamp(1.3125rem,calc(2.4vw * var(--text-scale, 1)),1.5rem);letter-spacing:-.02em;line-height:1.2;margin:0}
.path-panel p{color:var(--ink-2);font-size:1.03125rem;line-height:1.5;margin:0}

/* Give signup and profile forms room to read and tap on a phone. */
@media(max-width:600px){
  main.wrap.join-page,main.wrap.profile-page{padding:28px 16px 40px}
  .join-page .join-form,.profile-page .card{padding:20px 16px;min-width:0;box-shadow:3px 3px 0 var(--rule-2)}
  .join-page .two,.profile-page .two{grid-template-columns:minmax(0,1fr);gap:18px}
  .join-page .frow,.profile-page .frow{min-width:0;margin-bottom:22px}
  .join-page form label.mono,.profile-page form label.mono,
  .join-page .roles legend,.profile-page .roles legend{
    font-family:"Public Sans",system-ui,sans-serif;font-size:1.0625rem;font-weight:600;
    line-height:1.5;letter-spacing:normal;text-transform:none;color:var(--ink)
  }
  .join-page .opt,.profile-page .opt{align-items:flex-start;padding:14px 12px;gap:12px;font-size:1.0625rem}
  .join-page .opt span,.profile-page .opt span{line-height:1.5}
  .join-page .opt input,.profile-page .opt input{margin-top:2px}
  .join-page .join-more>summary{padding:14px 0;font-size:1.0625rem;line-height:1.5}
  .join-page .join-fine{font-size:0.9375rem;line-height:1.65}
}

/* Exhibition credit uses the exhibition's yellow and bold black title style. */
.exhibition-photo{margin:24px 0;max-width:640px;border-radius:10px;overflow:hidden;background:#fff;color:#171717}
.exhibition-photo__heading{padding:12px 16px;background:#ffbf0b;color:#000;font-family:"Public Sans",Arial,sans-serif;line-height:1.05}
.exhibition-photo__heading span{display:block;font-size:clamp(1rem,3vw,1.25rem);font-weight:400;margin-bottom:3px}
.exhibition-photo__heading strong{display:block;font-size:clamp(1.75rem,6vw,2.5rem);font-weight:900;letter-spacing:-.045em}
.exhibition-photo>img{border-radius:0!important}
.exhibition-photo__caption{padding:12px 16px;font-size:.875rem;line-height:1.4}
.exhibition-photo__caption p{margin:0 0 10px}
.exhibition-photo__logos{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.exhibition-photo__logos a{display:block;max-width:45%}
.exhibition-photo__logos img{display:block;width:auto;max-width:100%;height:34px;object-fit:contain}

/* About: outcomes first, followed by the principles guiding advocacy. */
.about-goals>.eyebrow{margin-bottom:14px}
.about-goal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}
.about-goal-grid article{min-width:0;background:var(--raise);border:1px solid var(--rule-2);border-top:3px solid var(--link);border-radius:12px;padding:28px}
.about-goal-number{font-family:"JetBrains Mono",monospace;color:var(--link);font-size:.875rem}
.about-goal-grid h3,.about-principle-list h3{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-size:1.5rem;line-height:1.25;margin:16px 0}
.about-goal-grid p,.about-goal-grid li,.about-principle-list p{font-size:1rem;line-height:1.7;color:var(--ink-2)}
.about-goal-grid p{font-weight:600;color:var(--ink)}
.about-goal-grid ul{padding-left:20px;margin:22px 0 0}
.about-goal-grid li+li{margin-top:14px}
.about-principle-list{margin:28px 0 32px}
.about-principle-list>div{display:grid;grid-template-columns:minmax(150px,.65fr) minmax(0,2fr);gap:24px;padding:24px 0;border-top:1px solid var(--rule-2)}
.about-principle-list h3{margin:0;font-size:1.25rem}
@media(max-width:900px){.about-goal-grid{grid-template-columns:1fr}.about-goal-grid article{padding:24px}.about-principle-list>div{grid-template-columns:1fr;gap:12px}}

/* Match the homepage section rhythm, scoped to About. */
.about-page .about-goals>.prio-eg{margin-top:24px}
.about-page .pg-sec,.about-page #focus-title,.about-page #how-title{scroll-margin-top:96px}
.about-page .about-principles{padding-top:20px;border-top:0}
.about-page .about-principle-list{margin-bottom:20px}
.about-page .about-goals .display,.about-page .about-principles .display{font-size:clamp(1.75rem,calc(4vw * var(--text-scale,1)),2.5rem)}
@media(max-width:900px){
 .about-page .pg-sec{padding-top:40px;padding-bottom:40px}
 .about-page .about-goal-grid{gap:20px;margin-top:28px}
 .about-page .about-principles{padding-top:16px}
 .about-page .about-principle-list>div{padding:20px 0}
}

/* Numbered principles: distinct from the goal panels, with a shared introduction. */
.about-principle-list{counter-reset:principle;margin-top:26px}
.about-principle-list>div{position:relative;counter-increment:principle;padding-left:48px}
.about-principle-list>div::before{content:counter(principle,decimal-leading-zero);position:absolute;left:0;top:26px;font-family:"JetBrains Mono",monospace;font-size:.875rem;color:var(--link);line-height:1.5}
.principle-intro{margin-top:18px;line-height:1.7}
@media(max-width:900px){.about-principle-list>div{padding-left:40px;gap:10px}.about-principle-list>div::before{top:22px}}

.about-page .about-principle-list>div,.home .about-principle-list>div{padding-left:48px}@media(max-width:900px){.about-page .about-principle-list>div,.home .about-principle-list>div{padding-left:40px}}

/* Media portrait keeps the biography readable at every screen size. */
.media-portrait{margin:0;max-width:160px}
.media-portrait .bio-photo{display:block;width:160px;height:auto;border-radius:12px}
.media-portrait figcaption{margin-top:8px;font-size:.875rem;line-height:1.4}
.media-portrait figcaption a{display:inline-flex;align-items:center;min-height:44px}

/* Make the optional signup questions easy to find. */
.join-page .join-more>summary{padding:16px;border:2px solid var(--link);border-radius:8px;background:var(--raise);font-size:1.0625rem;line-height:1.5}
.join-page .join-more>summary:hover{background:var(--paper)}
.join-page .join-more>summary:focus-visible{outline:3px solid var(--link);outline-offset:3px}
