/* Page-specific styles for /donate/ — extracted from prototype */

.story{padding:120px 32px;background:var(--ink);color:var(--bone);border-bottom:1px solid var(--ink)}
.story-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:center}
.story-photo{position:relative;aspect-ratio:4/5;background:linear-gradient(140deg,var(--grey-3),var(--ink));overflow:hidden;background-size:cover;background-position:center}
.story-photo .crop{position:absolute;width:14px;height:14px;border:1.5px solid rgba(245,242,235,.4);z-index:2}
.story-photo .crop.tl{top:10px;left:10px;border-right:0;border-bottom:0}
.story-photo .crop.tr{top:10px;right:10px;border-left:0;border-bottom:0}
.story-photo .crop.bl{bottom:10px;left:10px;border-right:0;border-top:0}
.story-photo .crop.br{bottom:10px;right:10px;border-left:0;border-top:0}
.story-tag{position:absolute;top:16px;right:16px;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--grey);padding:6px 12px;border:1px solid rgba(245,242,235,.2);background:rgba(0,0,0,.5);backdrop-filter:blur(6px)}
.story-info .label{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--acid);margin-bottom:24px;display:inline-flex;align-items:center;gap:12px}
.story-info .label::before{content:'';width:32px;height:1px;background:var(--acid)}
.story-info h2{font-family:var(--serif);font-weight:800;font-size:clamp(36px,5vw,80px);letter-spacing:-.03em;line-height:.95;text-transform:uppercase;margin-bottom:24px}
.story-info h2 em{font-style:italic;color:var(--grey)}
.story-info p{font-size:17px;line-height:1.6;color:rgba(245,242,235,.8);margin-bottom:24px}
.story-info p strong{color:var(--bone);font-weight:600}

.methods{padding:120px 32px;background:var(--bone);border-bottom:1px solid var(--ink)}
.methods-head{max-width:1600px;margin:0 auto 64px;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end}
.methods-head h2{font-family:var(--serif);font-weight:800;font-size:clamp(40px,5.5vw,96px);letter-spacing:-.03em;line-height:.92;text-transform:uppercase}
.methods-head h2 em{font-style:italic;color:var(--grey-2)}
.methods-grid{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.method{padding:36px;border:1px solid var(--ink);background:var(--bone-2);display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;transition:all .35s}
.method:hover{background:var(--bone);transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}
.method.featured{background:var(--ink);color:var(--bone);grid-column:span 2;padding:48px}
.method.featured:hover{box-shadow:6px 6px 0 var(--acid)}
.method.featured .method-icon{background:var(--acid);color:var(--bone)}
.method.featured h3{color:var(--bone)}
.method.featured p{color:rgba(245,242,235,.7)}
.method-icon{width:80px;height:80px;background:var(--ink);color:var(--bone);display:flex;align-items:center;justify-content:center;font-size:40px;flex-shrink:0}
.method-info h3{font-family:var(--serif);font-weight:700;font-size:24px;letter-spacing:-.02em;margin-bottom:6px}
.method-info .meta{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-2);margin-bottom:8px}
.method-info p{font-size:14px;line-height:1.55;color:var(--ink-2)}
.method.featured .method-info p, .method.featured .method-info .meta{color:rgba(245,242,235,.7)}
.method .cta-link{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;padding:14px 22px;background:var(--ink);color:var(--bone);transition:all .3s}
.method:hover .cta-link{background:var(--acid)}
.method.featured .cta-link{background:var(--acid)}
.method.featured:hover .cta-link{background:var(--bone);color:var(--ink)}
.method-stub{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-2);border:1px dashed rgba(10,10,10,.3);margin-top:8px}
.method-stub i{width:6px;height:6px;background:var(--acid);border-radius:50%;display:inline-block;animation:blink 1.5s infinite}

.where{padding:120px 32px;background:var(--ink);color:var(--bone);border-bottom:1px solid var(--ink)}
.where-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.where h2{font-family:var(--serif);font-weight:800;font-size:clamp(36px,5vw,80px);letter-spacing:-.03em;line-height:.92;text-transform:uppercase;margin-bottom:24px}
.where h2 em{color:var(--acid);font-style:italic}
.where .lead{font-size:17px;line-height:1.6;color:rgba(245,242,235,.8);margin-bottom:24px}
.where-list{display:flex;flex-direction:column;gap:0}
.where-row{display:grid;grid-template-columns:48px 1fr 80px;gap:20px;padding:24px 0;border-top:1px solid rgba(245,242,235,.18);align-items:center}
.where-row:last-child{border-bottom:1px solid rgba(245,242,235,.18)}
.where-row .num{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--acid)}
.where-row h3{font-family:var(--serif);font-weight:600;font-size:18px;letter-spacing:-.01em;margin-bottom:4px}
.where-row p{font-size:14px;line-height:1.5;color:rgba(245,242,235,.7)}
.where-row .pct{font-family:var(--serif);font-weight:800;font-size:32px;line-height:1;letter-spacing:-.02em;color:var(--bone);text-align:right}

.thanks{padding:80px 32px;background:var(--bone);text-align:center;border-bottom:1px solid var(--ink)}
.thanks h2{font-family:var(--serif);font-weight:800;font-size:clamp(48px,8vw,168px);letter-spacing:-.04em;line-height:.85;text-transform:uppercase;margin-bottom:24px}
.thanks h2 .acid{color:var(--acid)}
.thanks p{font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-2)}

@media (max-width:980px){.story-grid,.where-grid{grid-template-columns:1fr;gap:32px}.methods-grid{grid-template-columns:1fr}.method.featured{grid-column:span 1}.method{grid-template-columns:auto 1fr;gap:16px}.method .cta-link{grid-column:1/-1;margin-top:8px}}
@media (max-width:640px){.story,.methods,.where,.thanks{padding:80px 20px}}