.campaign-page { min-height:100vh; background:var(--paper); color:var(--ink); }
.campaign-header { width:min(1270px,calc(100% - 56px)); min-height:78px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); }
.campaign-brand img { width:clamp(155px,16vw,194px); height:auto; }
.campaign-header nav { display:flex; gap:clamp(18px,3vw,36px); align-items:center; color:#5f788b; font-size:12px; font-weight:650; }
.campaign-header nav a:hover,.campaign-footer a:hover { color:var(--accent-dark); }
.campaign-hero { width:min(1210px,calc(100% - 56px)); margin:0 auto; padding:clamp(52px,8vw,104px) 0 70px; display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:clamp(36px,7vw,94px); align-items:center; }
.campaign-eyebrow { margin:0 0 18px; color:var(--accent-dark); font-size:11px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.campaign-hero h1,.gallery-heading h2,.campaign-community h2 { margin:0; font-family:var(--display); font-weight:500; letter-spacing:-.065em; line-height:1.04; }
.campaign-hero h1 { font-size:clamp(48px,6.4vw,82px); }
.campaign-hero h1 em { color:var(--accent-dark); font-weight:500; }
.campaign-hero-copy>p:not(.campaign-eyebrow):not(.campaign-note) { max-width:540px; margin:24px 0 0; color:#5e788b; font-size:clamp(15px,1.5vw,18px); line-height:1.8; }
.campaign-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:26px; }
.campaign-button { min-height:46px; padding:0 17px; display:inline-flex; align-items:center; justify-content:center; gap:10px; border:1px solid var(--accent-dark); font-size:12px; font-weight:700; transition:transform .18s ease,background .18s ease; }
.campaign-button:hover { transform:translateY(-1px); }
.campaign-button.primary { background:var(--accent-dark); color:#fff; }
.campaign-button.primary:hover { background:#195d74; }
.campaign-button.secondary { color:var(--accent-dark); background:transparent; }
.campaign-note { margin:16px 0 0; color:var(--muted); font-size:11px; }
.campaign-hero-art { margin:0; padding:12px; background:#fff; border:1px solid var(--line); box-shadow:0 24px 70px #23394b12; }
.campaign-hero-art img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.campaign-hero-art figcaption { padding:13px 8px 4px; color:var(--muted); font-size:11px; }
.campaign-principles { width:min(1210px,calc(100% - 56px)); margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--line); }
.campaign-principles article { padding:23px 28px 25px 0; }
.campaign-principles article+article { padding-left:28px; border-left:1px solid var(--line); }
.campaign-principles span { color:var(--accent-dark); font-size:10px; font-weight:750; letter-spacing:.1em; }
.campaign-principles h2 { margin:9px 0 4px; font-size:16px; font-weight:700; }
.campaign-principles p { max-width:300px; margin:0; color:var(--muted); font-size:12px; line-height:1.7; }
.campaign-gallery { width:min(1210px,calc(100% - 56px)); margin:0 auto; padding:clamp(70px,9vw,112px) 0; }
.gallery-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:30px; }
.gallery-heading h2 { font-size:clamp(38px,5vw,62px); }
.gallery-heading>p { max-width:350px; margin:0 0 4px; color:var(--muted); font-size:13px; }
.campaign-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.campaign-card { margin:0; overflow:hidden; border:1px solid var(--line); background:#fff; }
.campaign-card img { width:100%; aspect-ratio:16/9; object-fit:contain; background:#eaf4f7; transition:transform .25s ease; }
.campaign-card:hover img { transform:scale(1.015); }
.campaign-card figcaption { min-height:76px; padding:15px 18px 17px; display:grid; gap:3px; }
.campaign-card figcaption span { color:var(--accent-dark); font-size:10px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.campaign-card figcaption strong { font-family:var(--display); font-size:19px; font-weight:500; letter-spacing:-.02em; }
.campaign-community { padding:clamp(36px,6vw,68px) max(28px,calc((100% - 1210px)/2)); display:flex; align-items:center; justify-content:space-between; gap:36px; background:var(--ice); }
.campaign-community h2 { font-size:clamp(34px,4vw,52px); }
.campaign-community p:not(.campaign-eyebrow) { max-width:580px; margin:14px 0 0; color:#5e788b; font-size:14px; }
.campaign-community .campaign-actions { flex:0 0 auto; margin:0; }
.campaign-footer { width:min(1210px,calc(100% - 56px)); min-height:86px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:18px; color:var(--muted); font-size:11px; }
.campaign-footer a:first-child { color:var(--ink); font-size:13px; font-weight:750; }
@media(max-width:850px) { .campaign-hero { grid-template-columns:1fr; } .campaign-hero-copy { max-width:700px; } .campaign-community { align-items:flex-start; flex-direction:column; } }
@media(max-width:620px) { .campaign-header,.campaign-hero,.campaign-principles,.campaign-gallery,.campaign-footer { width:calc(100% - 32px); } .campaign-header { min-height:68px; } .campaign-header nav { gap:13px; font-size:10px; } .campaign-header nav a:nth-child(2) { display:none; } .campaign-hero { padding:48px 0 46px; } .campaign-hero h1 { font-size:clamp(42px,12vw,58px); } .campaign-principles { grid-template-columns:1fr; } .campaign-principles article,.campaign-principles article+article { padding:17px 0; border-left:0; } .campaign-principles article+article { border-top:1px solid var(--line); } .gallery-heading { display:block; } .gallery-heading>p { margin-top:13px; } .campaign-grid { grid-template-columns:1fr; gap:14px; } .campaign-community { padding-inline:16px; } .campaign-community .campaign-actions { align-items:stretch; flex-direction:column; width:100%; } .campaign-footer { flex-wrap:wrap; padding:20px 0; } }
@media(prefers-reduced-motion:reduce) { .campaign-button,.campaign-card img { transition:none; } }
