/* Content pages: About, Subscribe, Contact, Members, Donate, legal. Extracted rule-by-rule (brace-aware) from the static pages. */
a{color:var(--info);text-decoration:none}
.art{position:relative;background:repeating-linear-gradient(135deg,#dde3ea 0 10px,#e6eaf0 10px 20px);border:1px solid var(--border-2);display:flex;align-items:center;justify-content:center;color:var(--ink-faint);font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;font-family:monospace;overflow:hidden}
.art img{width:100%;height:100%;object-fit:cover;display:block}
.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;margin-top:var(--page-top)}
.about-intro-body{min-width:0}
.about-intro-body h1{margin:0 0 16px}
.about-intro-body p{color:var(--ink-soft);line-height:1.68;font-size:1rem;margin:0 0 14px}
.about-intro-body p:last-child{margin-bottom:0}
.about-intro-art{aspect-ratio:4/3;border-radius:var(--r-md)}
@media (max-width:760px){.about-intro{grid-template-columns:1fr} .about-intro-art{order:-1}}
.team-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.team-row{display:grid;grid-template-columns:300px 1fr;gap:36px;align-items:start;padding-top:40px;margin-top:40px;border-top:1px solid var(--border)}   /* divider centered between people */
.team-row:first-child{padding-top:0;margin-top:0;border-top:0}
.team-row:nth-child(even){grid-template-columns:1fr 300px}
.team-row:nth-child(even) .art{order:2}
.team-row:nth-child(even) .team-row-body{order:1}
.team-row .art{aspect-ratio:1/1;border-radius:var(--r-lg);overflow:hidden}
.team-row-body h3{font-family:"Hanken Grotesk",sans-serif;font-weight:700;font-size:1.3rem;margin:0 0 4px;color:var(--ink)}
.team-role{font-size:0.78rem;letter-spacing:0.04em;color:var(--red-ink);font-weight:700;margin:0 0 16px}
.team-bio p{margin:0 0 14px;color:var(--ink-soft);line-height:1.65;font-size:0.94rem}
.team-bio p:last-child{margin-bottom:0}
.team-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}
.team-links a{display:inline-flex;align-items:center;gap:6px;font-size:0.76rem;font-weight:600;color:var(--navy-ink);padding:5px 10px;border:1px solid var(--border-2);border-radius:999px}
.team-links a:hover{background:var(--active-bg);color:var(--active-fg);border-color:var(--active-bg)}
.team-links svg{width:13px;height:13px}
/* Phones: editorial layout. The photo is about half its old size and floats to the side (left, then right, then left, like desktop); the name, role and the first lines of the bio sit beside it and the
   rest wraps underneath. (Was: a 320px photo on its own row, bio starting below it.) flow-root keeps each person's row tall enough for its photo. */
@media (max-width:760px){
  .team-row,.team-row:nth-child(even){display:flow-root;padding-top:34px;margin-top:34px;border-top:2px solid var(--border-2)}
  .team-row:first-child{padding-top:0;margin-top:0;border-top:0}
  .team-row .art,.team-row:nth-child(even) .art{float:left;width:clamp(108px,40%,150px);margin:3px 16px 8px 0;border-radius:var(--r-md)}
  .team-row:nth-child(even) .art{float:right;margin:3px 0 8px 16px}          /* left / right / left ... like the desktop layout */
  .team-row-body,.team-row:nth-child(even) .team-row-body{display:block}
  .team-row-body h3{font-size:1.15rem}
  .team-role{margin-bottom:10px}
  .team-links{clear:both;margin-top:14px;padding-top:0;border-top:0}   /* the social links belong to the person above, so keep them tight to the bio; the divider before the NEXT person is the separator */
}
.about-cta{margin:56px 0 40px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.cta-card{background:var(--navy);border-radius:var(--r-lg);padding:32px;display:flex;flex-direction:column;justify-content:center;color:#fff}
.cta-card.cta-shop,.cta-card--red{background:var(--red)}
.cta-card h3{font-family:"Hanken Grotesk",sans-serif;font-weight:800;font-size:1.5rem;margin:0 0 10px}
.cta-card p{color:rgba(255,255,255,0.78);line-height:1.55;font-size:0.94rem;margin:0 0 20px}
.cta-btn{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-top:auto;padding:11px 20px;border-radius:var(--r-sm);font-weight:700;font-size:0.85rem;background:#fff;color:var(--navy)}
.cta-btn:hover{background:rgba(255,255,255,0.88);color:var(--navy)}
@media (max-width:700px){.about-cta{grid-template-columns:1fr}}
.subscribe-hero{margin-top:var(--page-top);max-width:720px}
.subscribe-hero h1{margin:0 0 14px}
.subscribe-hero p{color:var(--ink-soft);line-height:1.68;font-size:1rem;margin:0}
.platform-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.platform-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px 26px;display:flex;flex-direction:column}
.platform-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.platform-icon{flex:0 0 auto;width:44px;height:44px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;color:#fff}
.platform-icon svg{width:22px;height:22px}
.platform-head h3{font-family:"Hanken Grotesk",sans-serif;font-weight:700;font-size:1.08rem;margin:0;color:var(--ink)}
.platform-handle{font-size:0.8rem;color:var(--ink-faint)}
.platform-card p{color:var(--ink-soft);line-height:1.58;font-size:0.9rem;margin:0 0 16px}
.follow-btn{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:9px 18px;border-radius:var(--r-sm);font-weight:700;font-size:0.82rem;color:#fff;margin-top:auto}
.follow-btn:hover{opacity:0.88;color:#fff}
@media (max-width:820px){.platform-grid{grid-template-columns:1fr}}
.contact-hero{margin-top:var(--page-top);max-width:720px}
.contact-hero h1{margin:0 0 14px}
.contact-hero p{color:var(--ink-soft);line-height:1.68;font-size:1rem;margin:0}
.contact-layout{display:grid;grid-template-columns:1.1fr 0.9fr;gap:36px;align-items:stretch;margin:36px 0 48px}
.contact-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:28px 30px}
.contact-panel h2{font-family:"Hanken Grotesk",sans-serif;font-weight:700;font-size:1.2rem;margin:0 0 18px;color:var(--ink)}
.field{margin-bottom:16px}
.field label{display:block;font-size:0.78rem;font-weight:700;letter-spacing:0.02em;color:var(--navy-ink);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink);font-size:0.92rem;font-family:inherit}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--info);background:var(--surface)}
.field textarea{resize:vertical;min-height:120px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.submit-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border:none;border-radius:var(--r-sm);font-weight:700;font-size:0.88rem;background:var(--btn-bg);color:var(--btn-fg);cursor:pointer}
.submit-btn:hover{background:var(--btn-bg-hover)}
.form-note{margin-top:12px;font-size:0.78rem;color:var(--ink-faint)}
.contact-cards{display:flex;flex-direction:column;gap:12px}
.contact-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 22px;flex:1;display:flex;flex-direction:column;justify-content:center}
.contact-cards>p{flex:none;margin:0}
.contact-card h3{font-family:"Hanken Grotesk",sans-serif;font-weight:700;font-size:1rem;margin:0 0 6px;color:var(--ink)}
.contact-card p{color:var(--ink-soft);line-height:1.55;font-size:0.88rem;margin:0}
@media (max-width:820px){.contact-layout{grid-template-columns:1fr} .field-row{grid-template-columns:1fr}}
.team-cta{text-align:center;margin:40px 0 8px;padding:32px 24px;border-top:1px solid var(--border)}
.team-cta p{color:var(--ink-soft);font-size:0.94rem;margin:0 0 16px}
.team-cta a{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:var(--r-sm);font-weight:700;font-size:0.85rem;color:var(--navy-ink);background:var(--surface);border:1px solid var(--border-2)}
.team-cta a:hover{background:var(--active-bg);color:var(--active-fg);border-color:var(--active-bg)}
.display{font-family:"handel-gothic","Arial Narrow",sans-serif}
.membership-hero{padding:var(--page-top) 0 8px}
.membership-hero h1{margin:0 0 14px}
.membership-hero p{max-width:70ch;color:var(--ink-soft);line-height:1.6;font-size:1rem;margin:0}
.membership-layout{display:grid;grid-template-columns:1.2fr 0.8fr;gap:28px;align-items:stretch;margin:28px 0 64px}
@media (max-width:920px){.membership-layout{grid-template-columns:1fr}}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:28px;box-shadow:0 10px 22px -10px rgba(11,35,66,0.16)}
.panel p{color:var(--ink-soft);line-height:1.7;margin:0 0 16px;font-size:0.98rem}
.panel p:last-child{margin-bottom:0}
.benefits-heading{font-family:"usual",sans-serif;font-weight:700;font-size:1.1rem;letter-spacing:0.01em;text-transform:none;color:var(--navy-ink);margin:28px 0 6px}
.benefits-list{list-style:none;margin:18px 0 0;padding:0}
.benefits-list li{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}
.benefits-list li:last-child{border-bottom:0}
.benefits-list .bi-check{flex:0 0 auto;width:20px;height:20px;border-radius:50%;background:var(--go);color:#fff;display:flex;align-items:center;justify-content:center;margin-top:2px}
.benefits-list .bi-check svg{width:12px;height:12px}
.benefits-item{min-width:0}
.benefits-item .bi-title{display:block;color:var(--ink);font-weight:700}
.benefits-item .bi-desc{display:block;color:var(--ink-soft);font-size:0.86rem;margin-top:2px;font-weight:400;line-height:1.55}
.panel--membership{position:static}
@media (max-width:920px){.panel--membership{position:static}}
.membership-header{font-family:"handel-gothic",sans-serif;font-size:1rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--navy-ink);margin:0 0 18px}
.plan-options{display:flex;flex-direction:column;gap:12px;margin:0 0 18px}
.plan-btn{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface-2);text-align:left}
.plan-btn:hover{border-color:var(--navy-ink);background:var(--surface)}
.plan-btn .plan-name{font-family:"handel-gothic",sans-serif;font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft)}
.plan-btn .plan-price{font-family:"Hanken Grotesk",sans-serif;font-weight:800;font-size:1.5rem;color:var(--navy-ink)}
.plan-btn .plan-price small{font-size:0.9rem;font-weight:600;color:var(--ink-faint)}
.benefits-soon{margin:22px 0 0;font-size:0.92rem;line-height:1.6;color:var(--ink-soft)}
.plan-group{font-family:"handel-gothic",sans-serif;font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin:8px 0 -4px}
.plan-group:first-child{margin-top:0}
.plan-btn .plan-badge{font-style:normal;margin-left:10px;padding:2px 8px;border-radius:99px;border:1px solid var(--border-2);font-size:0.62rem;letter-spacing:0.08em;color:var(--ink-faint);vertical-align:1px}
.plan-btn .plan-price .plan-alt{font-size:0.85rem;font-weight:600}
.plan-btn .plan-perks{font-size:0.82rem;line-height:1.5;color:var(--ink-soft)}
.plan-btn.has-both:hover{border-color:var(--border-2);background:var(--surface-2)}
.plan-pick{display:flex;gap:8px;margin-top:8px}
.plan-pick a{flex:1;text-align:center;padding:9px 12px;border-radius:var(--r-sm);border:1px solid var(--navy-ink);font-family:"handel-gothic",sans-serif;font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--navy-ink)}
.plan-pick a:hover{background:var(--active-bg);color:var(--active-fg)}
.plan-btn.is-soon{cursor:default}
.plan-btn.is-soon:hover{border-color:var(--border-2);background:var(--surface-2)}
.panel--main{display:flex;flex-direction:column}
.panel--main>.panel-body{flex:1}
.panel--main>.membership-grandfather{margin:26px 0 0}
.membership-grandfather{font-size:0.88rem;line-height:1.6;color:var(--ink-soft);margin:0 0 12px;padding:12px 14px;border-left:3px solid var(--border-2);background:var(--surface-2);border-radius:0 var(--r-sm) var(--r-sm) 0}
.membership-grandfather strong{color:var(--navy-ink)}
.membership-note{font-size:0.8rem;color:var(--ink-faint);line-height:1.6;margin-top:4px}


.support-heading{font-family:"usual",sans-serif;font-weight:700;font-size:1.1rem;letter-spacing:0.01em;text-transform:none;color:var(--navy-ink);margin:44px 0 14px}
.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:680px){.support-grid{grid-template-columns:1fr}}
.support-card{border-radius:var(--r-lg);padding:28px 26px}
.support-card.is-navy{background:var(--navy)}
.support-card.is-red{background:var(--red)}
.support-card h3{font-family:"Hanken Grotesk",sans-serif;font-weight:800;font-size:1.3rem;margin:0 0 10px;color:#fff}
.support-card p{color:rgba(255,255,255,0.78);font-size:0.92rem;line-height:1.6;margin:0 0 20px}
.support-card a{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:var(--r-sm);background:#fff;font-weight:700;font-size:0.86rem}
.support-card.is-navy a{color:var(--navy)}
.support-card.is-red a{color:var(--red)}
.support-card a:hover{opacity:0.9}
.donate-hero{padding:var(--page-top) 0 8px}
.donate-hero h1{margin:0 0 14px}
.donate-hero p{max-width:70ch;color:var(--ink-soft);line-height:1.6;font-size:1rem;margin:0}
.donate-layout{display:grid;grid-template-columns:1.2fr 0.8fr;gap:28px;align-items:start;margin:28px 0 64px}
@media (max-width:920px){.donate-layout{grid-template-columns:1fr}}
/* "Donate now": a jump to the form, only where the form has dropped below the text (stacked layout) */
.donate-cta{display:none}
@media (max-width:920px){
  .donate-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:52px;margin:20px 0 4px;border-radius:var(--r-sm);background:var(--red);color:#fff;font-family:"handel-gothic",sans-serif;font-weight:700;font-size:1rem;letter-spacing:0.04em;text-transform:uppercase;text-decoration:none;-webkit-tap-highlight-color:transparent}
  .donate-cta:hover,.donate-cta:focus-visible{background:var(--red-soft);color:#fff}
  .donate-cta:focus-visible{outline:2px solid var(--navy-ink);outline-offset:2px}
  .panel--donate{scroll-margin-top:16px}
}
.panel--donate:focus{outline:none}
.funding-heading{font-family:"usual",sans-serif;font-weight:700;font-size:1.1rem;letter-spacing:0.01em;text-transform:none;color:var(--navy-ink);margin:28px 0 6px}
.funding-list{list-style:none;margin:18px 0 0;padding:0}
.funding-list li{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}
.funding-list li:last-child{border-bottom:0}
/* The dollar amount used to be bare text after .funding-item, with no element of its own — this rule's
   ":last-child" selector then matched .funding-item itself (the only span in the <li>), forcing the whole
   title+description onto one unbroken, non-shrinking line and blowing the layout out horizontally on any
   screen narrower than that line. The Donate page content now wraps each amount in its own <span
   class="fi-amount">; target that directly. */
.funding-list .fi-amount{color:var(--navy-ink);font-weight:700;white-space:nowrap;flex:0 0 auto}
.funding-item{min-width:0}
.funding-item .fi-title{display:block;color:var(--ink);font-weight:700}
.funding-item .fi-desc{display:block;color:var(--ink-soft);font-size:0.86rem;margin-top:4px;font-weight:400;line-height:1.55}
.panel--donate{position:sticky;top:24px}
@media (max-width:920px){.panel--donate{position:static}}
.donation-header{font-family:"handel-gothic",sans-serif;font-size:1rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--navy-ink);margin:0 0 18px}
.panel--donate .simpay-form-control{margin:16px 0 !important}
.panel--donate .simpay-form-control:first-child{margin-top:0 !important}
.panel--donate :is(label,legend,.simpay-label,.simpay-label-text,.simpay-form-control__label,.simpay-field-description,.simpay-description){ color:var(--ink) !important;font-weight:700 !important;font-size:0.86rem !important;letter-spacing:0.02em !important; }
.panel--donate input[type="text"], .panel--donate input[type="email"], .panel--donate input[type="tel"], .panel--donate input[type="number"], .panel--donate select{ width:100% !important;height:42px !important;border-radius:var(--r-sm) !important; border:1px solid var(--border-2) !important;background:var(--surface) !important; color:var(--ink) !important;padding:0 12px !important;box-shadow:none !important; }
.panel--donate ul.simpay-multi-plan-buttons-group{ display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:10px !important;margin:8px 0 16px !important;list-style:none !important;padding:0 !important; }
@media (max-width:520px){.panel--donate ul.simpay-multi-plan-buttons-group{grid-template-columns:repeat(2,1fr) !important}}
.panel--donate ul.simpay-multi-plan-buttons-group input[type="radio"]{position:absolute !important;opacity:0 !important;pointer-events:none !important}
.panel--donate ul.simpay-multi-plan-buttons-group label{ min-height:52px !important;padding:0 12px !important;font-weight:700 !important;font-size:0.95rem !important; border-radius:var(--r-sm) !important;border:1px solid var(--border-2) !important;background:var(--surface-2) !important; color:var(--navy-ink) !important;display:flex !important;align-items:center !important;justify-content:center !important; cursor:pointer;transition:background .12s,border-color .12s; }
.panel--donate ul.simpay-multi-plan-buttons-group input[type="radio"]:checked+label{ background:var(--active-bg) !important;border-color:var(--active-bg) !important;color:var(--active-fg) !important; }
.panel--donate :is(.simpay-btn,.simpay-checkout-btn,.simpay-payment-btn,button[type="submit"]){ width:100% !important;margin-top:10px !important;height:52px !important;border-radius:var(--r-sm) !important; background:var(--red) !important;color:#fff !important;font-family:"handel-gothic",sans-serif !important; font-weight:700 !important;font-size:1rem !important;letter-spacing:0.04em !important;text-transform:uppercase !important; border:0 !important;box-shadow:none !important;cursor:pointer; }
.panel--donate :is(.simpay-btn,.simpay-checkout-btn,.simpay-payment-btn,button[type="submit"]):hover{background:var(--red-soft) !important}
.panel--donate :is(.simpay-embedded-heading,.simpay-form-title,.simpay-form-heading,h1,h2,h3){display:none !important;margin:0 !important;padding:0 !important}


a{color:var(--info,#1f5c99);text-decoration:none}


.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:32px;max-width:600px;width:100%;box-shadow:0 10px 22px -10px rgba(11,35,66,0.16)}
.panel p{color:var(--ink-soft);line-height:1.7;margin:0 0 16px;font-size:1.02rem}
.panel p:last-of-type{margin-bottom:22px}
.receipt{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:16px 18px;margin:0 0 20px;text-align:left}
.receipt p{margin:0 0 8px;font-size:0.9rem;color:var(--ink)}
.receipt p:last-child{margin-bottom:0}
.receipt strong{color:var(--navy-ink)}
.cta{display:inline-flex;align-items:center;justify-content:center;height:50px;padding:0 28px;border-radius:var(--r-sm);background:var(--red);color:#fff;font-family:"handel-gothic",sans-serif;font-weight:700;font-size:0.9rem;letter-spacing:0.06em;text-transform:uppercase}
.cta:hover{background:var(--red-soft);color:#fff}
.legal-hero{margin:var(--page-top) 0 12px}
.legal-hero h1{margin:0 0 10px}
.legal-updated{font-size:0.82rem;color:var(--ink-faint)}
.legal-body{max-width:760px;margin:28px 0 56px;color:var(--ink-soft);line-height:1.68;font-size:0.96rem}
.legal-body h2{font-family:"Hanken Grotesk",sans-serif;font-weight:700;font-size:1.15rem;color:var(--ink);margin:34px 0 12px}
.legal-body h2:first-child{margin-top:0}
.legal-body p{margin:0 0 16px}
.legal-body ul{margin:0 0 16px;padding-left:22px}
.legal-body li{margin-bottom:8px}
.legal-body a{color:var(--info)}
.legal-note{background:var(--surface);border:1px solid var(--border-2);border-left:4px solid var(--red);border-radius:var(--r-sm);padding:16px 18px;font-size:0.86rem;color:var(--ink-soft);margin-bottom:8px}
.legal-note strong{color:var(--ink)}

/* section heads on content pages (margins differ per page in the design) */
.sfnp-about .section-head{margin-top:56px}   /* extra air between the About intro and The Team */
.sfnp-contact .section-head{margin-top:0}
/* photos inside team/intro boxes */
.team-row .art,.about-intro-art{position:relative;overflow:hidden}
.team-row .art img,.about-intro-art img{width:100%;height:100%;object-fit:cover;display:block}
/* WP editor output inside the styled panels */
.panel ul.wp-block-list,.panel ul{padding-left:1.2em}
.legal-body img{max-width:100%;height:auto}
.archive-link{display:inline-flex;align-items:center;gap:7px;padding:10px 18px;border-radius:var(--r-sm);font-weight:700;font-size:0.8rem;color:var(--navy-ink);background:var(--surface);border:1px solid var(--border-2)}
.archive-link:hover{background:var(--active-bg);color:var(--active-fg);border-color:var(--active-bg)}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}   /* buttons side by side, with room between them when they wrap (404) */

/* Payment confirmation / failed pages: where to go next */
.pay-next{display:flex;flex-wrap:wrap;gap:12px;margin:-28px 0 64px}
.pay-btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 24px;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--surface);color:var(--navy-ink);font-weight:700;font-size:0.95rem;text-decoration:none}
.pay-btn:hover,.pay-btn:focus-visible{border-color:var(--navy-ink);color:var(--navy-ink)}
.pay-btn--primary{background:var(--red);border-color:var(--red);color:#fff;font-family:"handel-gothic",sans-serif;letter-spacing:0.04em;text-transform:uppercase}
.pay-btn--primary:hover,.pay-btn--primary:focus-visible{background:var(--red-soft);border-color:var(--red-soft);color:#fff}
@media (max-width:520px){.pay-next{flex-direction:column}.pay-btn{width:100%}}
/* thank-you cards right under a message (payment confirmation): the message block already leaves its own gap */
.legal-body + .about-cta{margin-top:0}

.field .check{display:flex;align-items:center;gap:8px;margin:0;font-weight:700;cursor:pointer}
.field .check input{width:auto;margin:0}
.field-anon[hidden]{display:none}
.field input:disabled{opacity:.5;cursor:not-allowed}

/* Legacy Launch Log pages (launch-log-*): one entry = date + mission line, launch details, description. Search results link to
   #launch-N (numbered by sfn-search-index.php), and the targeted entry is highlighted. Same sizes in both themes. */
.datename{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:26px 0 4px;padding-top:14px;border-top:1px solid var(--border);scroll-margin-top:90px}
.datename .launchdate{font-size:0.72rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint)}
.datename .mission{font-family:"Hanken Grotesk",sans-serif;font-weight:700;font-size:1.08rem;color:var(--ink)}
.missiondata{font-size:0.86rem;color:var(--ink-soft);line-height:1.6}
.missiondata .strong{font-weight:700;color:var(--ink);margin-right:4px}
.missiondata .strong:not(:first-child)::before{content:"";display:block;margin-top:2px}   /* "Launch site:" starts its own line, value beside it */
.missiondata br{display:none}
.missdescrip{margin:6px 0 0;line-height:1.65}
.datename:target{background:var(--surface-2);box-shadow:0 0 0 10px var(--surface-2);border-top-color:transparent}
.datename:target+.missiondata,.datename:target+.missiondata+.missdescrip{background:var(--surface-2);box-shadow:0 0 0 10px var(--surface-2)}
/* /launch-log/ hub + launch archive (parts/launch-log-list.php): year heading sized like the yearly pages' bold year (48px),
   a "jump to year" line, and each entry's small "Updated" date. */
.legal-body .log-year{font-family:inherit;font-size:3rem;font-weight:700;line-height:1.3;color:var(--ink-soft);margin:44px 0 0;scroll-margin-top:90px}
.legal-body .log-year+.datename{margin-top:10px}
.log-jump{font-size:0.86rem;color:var(--ink-faint)}
.log-jump a{font-weight:700}
.missdescrip .log-updated{margin:4px 0 0;font-size:0.76rem;color:var(--ink-faint)}
.missdescrip > p:has(+ .log-updated){margin-bottom:0}

/* ---- Wide page (settings gear > Page width; html[data-wide], screens >= 1600px) ----------------------------------------------------------
   Content pages are not stretched: each one is re-composed for the extra width. Text keeps a readable measure by flowing in columns, form
   columns keep a form's proportions, and card grids add columns instead of getting wider. */
@media (min-width:1600px){
  /* Donate + Membership: text card (left, flows in 2 columns) beside a fixed-width form/plan card. The base .panel's 600px cap is what left a gap. */
  html[data-wide] .donate-layout,html[data-wide] .membership-layout{grid-template-columns:minmax(0,1fr) 480px;gap:36px}
  html[data-wide] .donate-layout > .panel,html[data-wide] .membership-layout > .panel{max-width:none}
  html[data-wide] .donate-layout > section.panel{column-count:2;column-gap:56px;column-rule:1px solid var(--border);padding:36px 40px}
  html[data-wide] .donate-layout > section.panel > p{break-inside:avoid-column;margin-top:0}
  html[data-wide] .donate-layout > section.panel > :is(h2,ul){column-span:all}
  html[data-wide] .membership-layout > section.panel{padding:36px 40px}
  html[data-wide] .membership-layout > section.panel .panel-body > p{max-width:75ch;margin-top:0}
  html[data-wide] .funding-list,html[data-wide] .benefits-list{display:grid;grid-template-columns:1fr 1fr;column-gap:56px}
  html[data-wide] .funding-list li:nth-last-child(2):nth-child(odd){border-bottom:0}
  html[data-wide] .donate-hero p,html[data-wide] .membership-hero p{max-width:90ch;font-size:1.06rem}

  /* About: photo and intro share the row at a calmer ratio; the team becomes two columns of people instead of one 200-character line. */
  html[data-wide] .about-intro{grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);gap:72px}
  html[data-wide] .about-intro-body p{font-size:1.1rem;line-height:1.7}
  html[data-wide] .about-intro-art{aspect-ratio:3/2}
  html[data-wide] .team-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 72px;align-items:start}
  html[data-wide] .team-row,html[data-wide] .team-row:nth-child(even){grid-template-columns:210px minmax(0,1fr);gap:28px;padding:0;margin:0;border-top:0}
  html[data-wide] .team-row:nth-child(even) .art,html[data-wide] .team-row:nth-child(even) .team-row-body{order:0}

  /* Legal text stays one column (side-by-side columns meant scrolling down, then back up); just a little wider. */
  html[data-wide] .legal-body{max-width:820px}

  /* Follow Our Coverage: more cards across, same card size. */
  html[data-wide] .platform-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
}
