/* Added pages use the established type, colors and spacing. Existing global
   styles and the opening portrait/frame are deliberately preserved. */
.hero-portrait .portrait-badge{bottom:122px;width:calc(72% + 53px);min-height:88px}
.hero-portrait .portrait-badge>span:last-child{margin-left:auto}
.team-intro-note{font-size:13px;line-height:1.8;color:var(--muted);margin-top:22px;max-width:680px}
.team-section{padding-block:60px 80px}
.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.board-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.team-card{min-width:0;background:#15201e;border:1px solid var(--line)}
.team-portrait{position:relative;overflow:hidden;background:#211229;aspect-ratio:1/1}
.team-portrait img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.team-card:hover .team-portrait img{transform:scale(1.025)}
.team-portrait h3{position:absolute;top:62%;left:50%;transform:translate(-50%,-50%) rotate(-3deg);width:max-content;max-width:88%;padding:7px 14px 10px;background:#17131ef2;border:1px solid #65566b;box-shadow:0 5px 18px #0005;font-size:clamp(24px,2.7vw,38px);line-height:1.1;color:var(--ink);letter-spacing:-.03em;text-align:center}
.team-portrait.has-headshot h3{top:auto;bottom:13px;transform:translateX(-50%)}
.team-description{padding:23px 22px 28px}
.team-role{font-size:12px;line-height:1.65;color:var(--teal);margin-bottom:15px;font-weight:600;min-height:40px}
.team-alias{font-family:Georgia,serif;font-size:23px;line-height:1.3;color:var(--ink);margin:0 0 20px}
.team-alias>span{display:block;font-family:Arial,Helvetica,sans-serif;font-size:9px;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.team-description>p:last-child{font-size:13px;line-height:1.85}
.team-boundary{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding-block:70px;border-block:1px solid var(--line)}
.team-boundary h2{font-size:clamp(43px,4.7vw,65px);margin-top:18px}
.team-boundary>div>p:not(.eyebrow){font-size:14px;line-height:1.9}
.team-boundary .text-link{margin-top:22px}
.movement-jumps{display:flex;flex-wrap:wrap;gap:24px;margin-top:30px}
.movement-jumps .text-link{font-size:12px}
.doctrine-section{background:#14241f;border-block:1px solid #40584c;padding-block:85px;scroll-margin-top:95px}
.doctrine-section h2{font-size:clamp(43px,5.3vw,75px);max-width:1020px;margin-top:19px;line-height:1.1;color:var(--ink)}
.doctrine-intro{font-size:16px;line-height:1.9;max-width:790px;margin-top:28px}
.tracker-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px;margin:46px 0 30px}
.tracker-heading p:first-child{font-size:14px;color:var(--ink);display:flex;align-items:center;gap:10px}
.tracker-heading p:last-child{font-size:11px;color:var(--muted)}
.tracker-current-dot{width:8px;height:8px;border-radius:50%;background:var(--teal);flex-shrink:0}
.doctrine-progress{display:block;margin:28px 0 15px}
.doctrine-progress img{display:block;width:100%;height:auto}
.doctrine-milestones{margin-top:23px;border-block:1px solid #40584c;padding:18px 0}
.doctrine-milestones summary{color:var(--ink);font-size:14px}
.doctrine-milestones ol{list-style:none;margin:23px 0 0;padding:0}
.doctrine-milestones li{padding:18px 0;border-top:1px solid #40584c}
.doctrine-milestones h4{font-size:16px;color:var(--ink);line-height:1.6;margin:0 0 10px}
.doctrine-milestones h4 span{font-size:11px;color:var(--teal);margin-left:12px}
.doctrine-milestones li p{font-size:13px;line-height:1.85;max-width:850px}
.doctrine-detail{background:#102019;padding:30px 35px;min-height:190px}
.doctrine-detail h3{font-size:32px;line-height:1.2;color:var(--ink);margin:12px 0 17px}
.doctrine-detail>p:last-child{font-size:14px;line-height:1.85;max-width:800px}
.tracker-note{font-size:11px;line-height:1.9;max-width:900px;margin-top:22px}
.doctrine-section>.wrap>.text-link{font-size:12px;margin-top:16px}
.doctrine-help{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-top:40px;padding-top:35px;border-top:1px solid #40584c}
.doctrine-help h3{font-size:30px;line-height:1.25;margin-bottom:12px}
.doctrine-help p{font-size:13px;line-height:1.8;max-width:600px}
.doctrine-help .button{flex-shrink:0}
.movement-rallies,.movement-updates{padding-block:85px;scroll-margin-top:95px}
.rally-card{padding:40px;background:#211a28;border:1px solid #554356;max-width:950px}
.rally-card h3{font-size:38px;line-height:1.2;letter-spacing:-.035em;margin:20px 0}
.rally-card>p:not(.eyebrow){font-size:14px;line-height:1.85;max-width:780px;margin-bottom:19px}
.rally-card .rally-location{color:var(--ink)}
.rally-card .rally-date{color:var(--teal)}
.rally-card .text-link{margin-top:6px}
.movement-updates{border-top:1px solid var(--line)}
.movement-update{display:grid;grid-template-columns:170px 1fr;gap:35px;padding:30px 0;border-block:1px solid var(--line)}
.movement-update time{color:var(--teal);font-size:12px;line-height:1.7}
.movement-update h3{font-size:32px;line-height:1.25;margin-bottom:17px}
.movement-update p{font-size:14px;line-height:1.85;max-width:800px}
.movement-updates>.text-link{margin-top:30px}
.donation-live .donation-art{align-self:start}
.donation-qr-block{margin-top:35px;display:flex;flex-direction:column;align-items:center;gap:18px}
.donation-art .donation-qr{width:200px;height:200px;max-width:100%;background:#fff;opacity:1;image-rendering:pixelated}
.donation-qr-block p{font-size:11px;line-height:1.75;text-align:center;max-width:260px}
.donation-live h2{font-size:clamp(43px,4.7vw,65px);line-height:1.1;margin:18px 0 27px}
.donation-live .giving-copy{font-size:14px;line-height:1.9;margin-bottom:20px}
.donation-widget-area{margin-block:28px 18px;min-height:55px}
dbox-widget[type=popup]{display:block;min-height:54px;min-width:0!important;min-inline-size:0!important;max-inline-size:100%;color-scheme:light}
.donation-direct{font-size:12px;line-height:1.8;margin-top:20px}
.donation-direct a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}
.donation-costs{padding-top:30px;border-top:1px solid var(--line);margin-top:32px}
.donation-costs h3{font-size:29px;line-height:1.25;margin-bottom:18px}
.donation-costs ul{padding-left:21px;margin:0}
.donation-costs li{font-size:13px;line-height:1.9;color:var(--muted);margin-bottom:10px}
.donation-live .tax-note{margin-top:28px}
.donation-live .payment-note{font-size:11px;line-height:1.85;margin-top:18px}
.thank-you-hero{text-align:center}
.thank-you-bear{width:125px;height:auto;margin:0 auto 30px}
.thank-you-hero .page-intro{margin-inline:auto;max-width:720px}
.thank-you-note{font-size:12px;line-height:1.9;max-width:650px;margin:24px auto 0}
.thank-you-next{padding-block:65px 100px}
.thank-you-next h2{margin:18px 0 38px}
.thank-you-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.thank-you-card{display:block;background:#15201e;border:1px solid var(--line);padding:32px;transition:border-color .2s,background .2s}
.thank-you-card:hover{border-color:var(--teal);background:#192b25}
.thank-you-card h3{font-size:30px;line-height:1.25;color:var(--ink);margin:20px 0 18px}
.thank-you-card h3>span{color:var(--teal)}
.thank-you-card>p{font-size:14px;line-height:1.85}
.thank-you-next>.text-link{margin-top:35px}
.podcast-preview{display:flex;align-items:center;justify-content:space-between;gap:45px}
.podcast-preview .podcast-preview-copy{max-width:720px}
.podcast-preview h2{font-size:clamp(43px,4.5vw,64px);margin:20px 0 27px}
.podcast-preview .podcast-preview-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;max-width:630px}
.podcast-preview .platform-links{flex-shrink:0;flex-direction:column;align-items:flex-start;margin:0}
/* Book and episode previews keep the homepage's original type system. */
.novel-with-placeholder{grid-template-columns:42px minmax(0,1fr) 116px}
.novel-with-placeholder>div{min-width:0}
.novel-thumbnail.veilstrider-placeholder{width:116px;max-width:100%;align-self:start}
.podcast-feature-wrap{margin-top:36px}
.podcast .anthology-episode{margin-top:0;background:#22242b;border-color:#6d586e}
.podcast .anthology-episode:hover{background:#2d2934}
.anthology-episode .episode-play{align-self:start;margin-top:8px}
.anthology-episode h3{max-width:950px;font-size:clamp(28px,3vw,39px);line-height:1.2;margin:12px 0 18px;letter-spacing:-.025em;color:var(--ink)}
.anthology-episode .episode-summary{font-size:14px;line-height:1.85;max-width:790px}
.anthology-episode .episode-content-note{font-size:11px;line-height:1.8;margin-top:15px;color:var(--muted)}
.anthology-episode .episode-cta{display:inline-block;font-size:12px;line-height:1.7;color:var(--teal);margin-top:20px}
.anthology-episode .episode-cta>span{margin-left:16px}
@media(max-width:1100px){
 .hero-portrait .portrait-badge{left:-30px;bottom:116px;min-height:80px;width:calc(72% + 30px)}
 .team-grid{gap:20px}.team-description{padding:22px 18px}.team-alias{font-size:21px}
 .doctrine-section{padding-block:70px}.podcast-preview{gap:30px}
}
@media(max-width:900px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-portrait h3{font-size:36px}}
@media(max-width:800px){
 .hero-portrait .portrait-badge{left:-23px;bottom:111px;min-height:70px;width:calc(76% + 23px)}
 .doctrine-detail{padding:28px;min-height:0}.tracker-heading{margin-top:35px}
 .podcast-preview{align-items:flex-start;flex-direction:column}.podcast-preview .platform-links{flex-direction:row;align-items:center}
}
@media(max-width:700px){
 .hero-portrait .portrait-badge{left:-24px;bottom:112px;min-height:80px;width:calc(74% + 24px)}
 .team-section{padding-block:42px 50px}.team-grid{gap:14px}.team-portrait h3{font-size:clamp(23px,5vw,34px);padding:6px 10px 8px}
 .team-description{padding:20px 15px 24px}.team-role{font-size:11px;line-height:1.7;min-height:38px}.team-alias{font-size:21px}.team-alias>span{font-size:8px}.team-description>p:last-child{font-size:13px;line-height:1.8}
 .team-boundary{grid-template-columns:1fr;gap:27px;padding-block:50px}.team-boundary h2{font-size:45px}
 .movement-jumps{gap:18px}.doctrine-section{padding-block:55px}.doctrine-section h2{font-size:44px;overflow-wrap:anywhere}.doctrine-intro{font-size:14px}
 .tracker-heading p:first-child{font-size:12px;flex-wrap:wrap}.tracker-heading p:last-child{font-size:10px}.tracker-scroll-hint{font-size:10px}
 .doctrine-detail h3{font-size:30px}.doctrine-help{flex-direction:column;align-items:flex-start;gap:25px}
 .movement-rallies,.movement-updates{padding-block:55px}.rally-card{padding:29px 24px}.rally-card h3{font-size:32px}
 .movement-update{grid-template-columns:1fr;gap:17px;padding-block:25px}.movement-update h3{font-size:30px}
 .donation-qr-block{margin-top:28px}.thank-you-next{padding-block:40px 65px}.thank-you-grid{grid-template-columns:1fr;gap:20px}.thank-you-card{padding:28px}
 .thank-you-hero h1{font-size:clamp(43px,9vw,64px)}.thank-you-bear{width:105px}.podcast-preview h2{font-size:43px}
 .novel.novel-with-placeholder{grid-template-columns:25px minmax(0,1fr) 90px}.novel-thumbnail.veilstrider-placeholder{width:90px}.novel-with-placeholder h3{font-size:30px}
 .podcast-feature-wrap{margin-top:30px}.podcast .anthology-episode{padding:25px 20px;gap:16px;grid-template-columns:32px minmax(0,1fr)}
 .anthology-episode h3{font-size:28px}.anthology-episode .episode-summary{font-size:13px}.anthology-episode .episode-content-note{font-size:10px}
}
@media(max-width:380px){.team-grid{gap:12px}.team-description{padding:18px 12px}.team-alias{font-size:20px}.team-role{min-height:56px}}
@media(prefers-reduced-motion:reduce){.team-portrait img,.thank-you-card{transition:none}.team-card:hover .team-portrait img{transform:none}}

/* Shared copyright and author sign-off, on every page. */
.site-footer .footer-signoff{font-size:11px;line-height:1.75;color:var(--muted)}
.site-footer .footer-signoff p{margin:0}
.site-footer .footer-signoff .footer-motto{margin-top:5px;color:var(--teal);font-size:12px}

@media(max-width:700px){.doctrine-progress{max-width:420px;margin-inline:auto}.doctrine-milestones h4 span{display:block;margin-left:0}}

/* Keep the nine main links readable after adding The Petition. */
@media(min-width:1281px){.site-header #site-nav{gap:clamp(12px,1.2vw,20px)}.header-inner{column-gap:22px}}

/* Story submission uses the native contact form and light button lettering. */
.survivor-page .story-email-button,.survivor-page .story-email-button:hover{background:#1c5d59;border:1px solid #65c7bd;color:#f3eadf}
