/* EDIT: Global colors and page width live here. No build tools or web fonts required. */
:root{--ink:#202720;--paper:#f3f1e9;--muted:#62685d;--olive:#d9ddce;--orange:#fb7841;--line:#c9cebf;--width:1200px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0}a{color:inherit;text-underline-offset:5px}a:focus-visible{outline:3px solid #bd4217;outline-offset:6px}p{font-size:1rem;line-height:1.7;margin:0 0 1.1rem}h1,h2,h3{margin:0;text-wrap:balance}h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.08;letter-spacing:-.04em}h3{font-size:1.3rem;line-height:1.25;margin-bottom:1rem}img{display:block;width:100%;height:100%;object-fit:cover}.wrap{width:min(var(--width),calc(100% - 80px));margin-inline:auto}.skip{position:absolute;top:-100px;background:var(--paper);padding:15px;z-index:5}.skip:focus{top:10px}.header{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:110px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:.95rem;font-weight:800;letter-spacing:.055em}.brand small{display:block;font-size:.65rem;letter-spacing:.2em;margin-top:6px}.brand-mark{border:2px solid var(--ink);padding:11px 7px;font-size:1.15rem;transform:rotate(-4deg)}nav{display:flex;flex-wrap:wrap;gap:25px}nav a{font-size:.9rem;text-decoration:none}nav a:hover{text-decoration:underline}.hero{display:grid;grid-template-columns:1.06fr 1fr;column-gap:55px;padding-top:45px}.hero-copy{padding:15px 0 30px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.13em;line-height:1.6;margin-bottom:25px}.short-line{display:inline-block;width:25px;height:2px;background:#b44620;vertical-align:middle;margin-right:9px}h1{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(4rem,8.4vw,7.2rem);font-weight:900;letter-spacing:-.025em;line-height:.93}h1 span{color:#65704f}.hero-tag{font-size:1.6rem;font-weight:700;line-height:1.25;letter-spacing:-.025em;margin-top:27px}.intro{max-width:375px;color:#535c50}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--ink);color:white;padding:17px 22px;text-decoration:none;font-size:.9rem;font-weight:700;min-height:48px}.button:hover{background:#3b4835}.text-link{display:inline-block;margin:20px 0 0 22px;font-size:.9rem}.hero-image{position:relative;margin:0;min-height:570px;background:#3b4835;overflow:hidden}.hero-image img{position:absolute;inset:0;object-position:57% center}.hero-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.85))}.hero-image figcaption{position:absolute;bottom:26px;left:26px;right:26px;z-index:1;color:white;display:grid;gap:10px;font-size:.75rem;letter-spacing:.09em}.hero-image figcaption span:last-child{font-size:.95rem;letter-spacing:0}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:28px 0;font-size:.75rem;letter-spacing:.06em}.section{padding-block:90px}.story{display:grid;grid-template-columns:1fr 1fr;gap:70px}.prose{max-width:570px}.lead{font-size:1.3rem;line-height:1.5}.prose p:not(.lead){color:#535c50}.build-band{background:var(--ink);color:var(--paper)}.build-band .eyebrow{color:#b9c2a9}.section-top{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:42px}.section-intro{max-width:360px;margin:0}.build-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #596050}.build-grid article{padding:30px 32px 0 0}.build-grid article+article{padding-left:32px;border-left:1px solid #596050}.number{display:block;color:#b8c3a7;font-size:.8rem;margin-bottom:35px}.build-grid p{color:#d1d7c8}.label{font-size:.72rem;letter-spacing:.1em;line-height:1.7;font-weight:700;display:inline-block}.build-grid .label{color:var(--orange);margin-top:10px}.liberty{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.liberty-name{background:var(--olive);padding:40px;border-left:5px solid #687653}.liberty-name>div{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(2.8rem,5vw,4.8rem);line-height:1.1;letter-spacing:-.02em}.liberty-name>div span{display:block;font-family:Arial,sans-serif;font-weight:700;font-size:1rem;letter-spacing:.13em;margin-top:14px}.liberty-name>p:last-child{margin:32px 0 0;font-size:.85rem}.liberty h2{margin-bottom:25px}.quote-band{background:var(--orange);padding:65px 0}.quote-band p{font-size:clamp(2rem,4.6vw,4rem);line-height:1.1;font-weight:800;letter-spacing:-.045em;margin-bottom:25px}.partner-box{display:flex;gap:40px;align-items:center;justify-content:space-between;border-block:1px solid var(--line);padding:32px 0}.partner-box h3{margin-top:17px}.partner-box p{max-width:670px;color:#535c50;margin:0}.outline{background:transparent;border:1px solid var(--ink);color:var(--ink);flex-shrink:0}.outline:hover{background:var(--olive)}.contact-band{background:var(--olive)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px}.contact-grid h2{margin-bottom:25px}.contact-grid>div>p{max-width:350px}.socials>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #aab29f;padding:18px 0;font-size:1.15rem}.coming{font-size:.8rem;align-self:center}.contact-note{padding-top:30px}.small{font-size:.85rem;color:#535c50}.footer{padding-block:32px;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;font-size:.7rem;font-weight:700;line-height:1.7}.muted{color:#62685d}.footer a{font-size:.85rem}
@media(min-width:1600px){.hero-image{min-height:620px}}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.header{align-items:flex-start;padding-block:25px}nav{gap:15px}.hero{gap:25px}.hero-image{min-height:550px}.text-link{margin-left:0;margin-right:20px}.story,.liberty,.contact-grid{gap:35px}.partner-box{align-items:flex-start;flex-direction:column}.section-top{align-items:flex-start}.section-intro{max-width:300px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{flex-direction:column;gap:25px;min-height:auto}nav{gap:12px 20px}nav a{padding-block:5px;font-size:.85rem}.hero{grid-template-columns:1fr;padding-top:22px}.hero-copy{padding-top:0}h1{font-size:clamp(4rem,17vw,7rem)}.hero-image{min-height:350px;aspect-ratio:1.1}.hero-image img{object-position:center}.hero-bottom{flex-direction:column;gap:10px;font-size:.7rem}.section{padding-block:60px}.story,.liberty,.contact-grid{grid-template-columns:1fr;gap:30px}.section-top{flex-direction:column;gap:25px}.section-intro{max-width:none}.build-grid{grid-template-columns:1fr}.build-grid article{padding:27px 0}.build-grid article+article{border-left:0;border-top:1px solid #596050;padding-left:0}.number{margin-bottom:18px}.liberty-name{padding:30px}.quote-band{padding:50px 0}.footer{flex-direction:column;gap:12px}.eyebrow{font-size:.7rem}.text-link{margin-left:18px}.button{padding:16px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Keep grid items flexible at small widths and enlarged text sizes. */
.hero>*,.story>*,.liberty>*,.contact-grid>*{min-width:0}h1,h2,h3,.liberty-name>div{overflow-wrap:anywhere}.socials>div{flex-wrap:wrap}.button{max-width:100%}
@media(max-width:700px){.hero-image{min-height:0;height:350px;aspect-ratio:auto}}


/* Liberty: original photographs, kept in their full portrait proportions. */
.liberty-photo-pair{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;align-items:end}.liberty-photo-pair figure{margin:0;min-width:0}.liberty-photo-pair img{height:auto;aspect-ratio:3/4;object-fit:contain;background:var(--olive)}.liberty-photo-pair figcaption{font-size:.7rem;font-weight:700;letter-spacing:.09em;padding-top:12px;line-height:1.6}


/* Current camper concept: extends the original layout and palette. */
.brand-logo{width:64px;height:64px;object-fit:contain;flex-shrink:0;border-radius:4px}.concept{border-bottom:1px solid var(--line)}.concept-image{margin:0 0 40px}.concept-image img{height:auto;max-height:720px;object-fit:contain;background:var(--ink)}.concept-image figcaption{font-size:.85rem;line-height:1.65;color:#535c50;padding-top:15px;max-width:880px}.concept-details{display:grid;grid-template-columns:1fr 1fr;gap:70px}.concept-details>*{min-width:0}.concept-specs{margin:0}.concept-specs>div{padding:18px 0;border-bottom:1px solid var(--line)}.concept-specs dt{font-size:.8rem;color:#535c50;margin-bottom:7px}.concept-specs dd{margin:0;font-size:1.2rem;font-weight:700;line-height:1.4}.concept-jump{display:block;margin-top:15px;color:var(--orange);font-size:.9rem}.concept .section-top h2{max-width:650px}
@media(max-width:700px){.concept-details{grid-template-columns:1fr;gap:32px}.brand-logo{width:56px;height:56px}}

/* Compact project updates and outreach, using the approved site palette. */
.project-status{padding-block:28px;border-bottom:1px solid var(--line)}
.project-status h2{font-size:1rem;letter-spacing:0;line-height:1.4;margin-bottom:10px}
.project-status p{margin:0;color:var(--muted);max-width:950px}
.brands-partners{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:64px}
.brands-partners>div{min-width:0;max-width:760px}
.brands-partners h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:18px}
.brands-partners p{margin:0;color:#535c50}
.support-section{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:32px;border-bottom:1px solid var(--line)}
.support-section h2{font-size:1.25rem;letter-spacing:-.02em;line-height:1.3}
.support-section .button{font-size:.85rem;padding:12px 18px}
@media(max-width:700px){.brands-partners{flex-direction:column;align-items:flex-start;gap:24px;padding-bottom:48px}.support-section{align-items:flex-start;flex-direction:column;gap:18px}}
/* WWP Proud Supporter: original supplied badge and existing site typography. */
.wwp-supporter{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:70px;align-items:center;padding-block:64px;border-top:1px solid var(--line)}
.wwp-badge{display:block;max-width:280px;width:100%;justify-self:center}
.wwp-badge img{width:100%;height:auto;object-fit:contain}
.wwp-copy{min-width:0;max-width:700px}
.wwp-copy .eyebrow{margin-bottom:18px}
.wwp-copy h2{font-size:clamp(1.8rem,3.5vw,2.8rem);margin-bottom:24px}
.wwp-copy>p:not(.eyebrow){color:#535c50}
.wwp-copy .wwp-relationship{margin:20px 0 0;max-width:600px}
@media(max-width:1000px){.wwp-supporter{gap:35px;grid-template-columns:minmax(0,220px) minmax(0,1fr)}}
@media(max-width:700px){.wwp-supporter{grid-template-columns:1fr;gap:32px;padding-block:48px}.wwp-badge{max-width:220px;justify-self:start}.wwp-copy .button{gap:16px}}
/* September mission and build update: preserve the original palette and assets. */
.header{flex-wrap:wrap;padding-block:22px}.header nav{gap:18px}
.partner-details{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:38px}.partner-details>*{min-width:0}
.category-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;list-style:none;padding:0;margin:0}.category-list li{padding:10px 0;border-bottom:1px solid var(--line);font-size:.95rem;line-height:1.5}
.deliverables{padding-left:20px;margin:0 0 20px}.deliverables li{padding:0 0 12px;line-height:1.65;color:#535c50}
.security-concept{margin-top:32px;border-block:1px solid var(--line);padding:22px 0}.security-concept summary{cursor:pointer;font-weight:700;line-height:1.5}.security-concept p{max-width:850px;margin:20px 0 0}
.mission22{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--line)}
.progress{border-top:1px solid var(--line)}.progress-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.progress-grid article{border-top:1px solid var(--line);padding-top:25px;min-width:0}.progress-grid h3{margin-top:18px}.progress-grid p{color:#535c50;margin-bottom:0}
.support-section{flex-wrap:wrap}.support-section>div{flex:1 1 340px}.support-section .small{margin:12px 0 0;max-width:520px}.socials a,.contact-note a{overflow-wrap:anywhere}.socials>div>a{min-width:0}
@media(max-width:700px){.partner-details,.mission22{grid-template-columns:1fr;gap:32px}.progress-grid{grid-template-columns:1fr;gap:28px}.support-section>div{flex-basis:auto}.category-list{gap:0 18px}}

.mission22-art{margin:28px 0 0;max-width:460px}.mission22-art img{width:100%;height:auto;object-fit:contain}.mission22>.prose{align-self:center}

.partner-contact{display:flex;flex-direction:column;align-items:flex-start;gap:16px;flex-shrink:0}.phone-link{font-size:.9rem;line-height:1.5}.partner-contact .button{white-space:nowrap}

.mission-first{padding:32px 0;border-bottom:1px solid var(--line)}.mission-first h2{font-size:1.6rem;margin-bottom:14px}.mission-first p{max-width:850px}.mission-first>a{font-size:.95rem;font-weight:700}
.support-intro{max-width:900px}.support-intro h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(3rem,7vw,5.5rem);line-height:1;letter-spacing:-.05em}.support-intro .lead{margin-top:30px;font-weight:700}.support-intro>p:not(.eyebrow){max-width:750px}
.fundraiser-panel{background:var(--olive);padding:40px}.fundraiser-panel h2{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:24px}.fundraiser-panel p{max-width:760px}.fundraiser-panel .eyebrow{margin-bottom:20px}
.supporter-copy{max-width:780px;margin-top:28px}.supporter-copy .small{margin-top:20px}.supporter-wall{border-block:1px solid var(--line);padding:26px 0;margin-top:32px;color:var(--muted)}.supporter-wall p{margin:0;max-width:760px}.support-contact h2{margin-bottom:24px}.support-contact a{overflow-wrap:anywhere}
@media(max-width:700px){.fundraiser-panel{padding:28px 22px}.supporter-copy .button{gap:12px}}

/* Published book milestone: original palette, full uncropped promotional artwork. */
.book-feature{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:70px;align-items:center;border-bottom:1px solid var(--line)}
.book-art{display:block;max-width:440px;width:100%;justify-self:center}.book-art img{height:auto;object-fit:contain}
.book-copy{min-width:0;max-width:570px}.book-copy .eyebrow{margin-bottom:20px}.book-status{background:var(--olive);padding:7px 11px;margin-bottom:20px}.book-copy h2{margin-bottom:16px}.book-subtitle{font-size:clamp(1.2rem,2.2vw,1.6rem);font-weight:700;line-height:1.35}.book-author{color:var(--muted);margin-bottom:26px}.book-copy .button{margin-top:12px}
@media(max-width:1000px){.book-feature{gap:35px}}
@media(max-width:700px){.book-feature{grid-template-columns:1fr;gap:32px}.book-copy{grid-row:1}.book-art{max-width:440px}}
/* Build journal: dated entries and full, uncropped progress photos. */
.journal-heading{border-top:2px solid var(--ink);padding-top:28px;max-width:850px;margin-bottom:32px}.journal-heading>.label{color:var(--muted);margin-bottom:18px}.journal-heading h3{font-size:clamp(1.5rem,3vw,2.2rem);letter-spacing:-.025em}.journal-heading>p:last-child{max-width:740px}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 28px;align-items:start}.journal-photo{margin:0;min-width:0}.journal-photo>a{display:block;background:var(--olive)}.journal-photo img{width:100%;height:auto;object-fit:contain}.journal-photo figcaption{padding:20px 0;border-bottom:1px solid var(--line)}.journal-photo .label{color:var(--muted)}.journal-photo h4{font-size:1.15rem;margin:10px 0}.journal-photo p{font-size:.9rem;margin:0;color:var(--muted)}.journal-note{margin-top:24px}
@media(max-width:1000px){.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.journal-grid{grid-template-columns:1fr;gap:32px}}

/* Keep James and Liberty together in frame at every screen size. */
.hero-portrait{min-height:0;align-self:start;background:var(--ink)}
.hero-portrait img{position:static;width:100%;height:auto;object-fit:contain}
.hero-portrait:after{display:none}
.hero-portrait figcaption{position:static;padding:18px 24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;background:var(--ink)}
@media(max-width:700px){.hero-portrait{height:auto;min-height:0;aspect-ratio:auto}.hero-portrait figcaption{padding:16px 18px}}
/* Current build milestones, matching the established olive and paper palette. */
.milestone-grid{list-style:none;padding:0;margin:28px 0 8px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.milestone-grid li{border-top:2px solid var(--ink);padding-top:18px;min-width:0}.milestone-grid .label{color:#535c50}.milestone-grid h3{margin:10px 0;font-size:1.2rem}.milestone-grid p{font-size:.9rem;margin:0}.project-status .progress-link{margin:22px 0 0}.project-status>h2{margin-bottom:14px}
@media(max-width:1000px){.milestone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.milestone-grid{grid-template-columns:1fr;gap:20px}}

/* Individual supporters, matching the existing paper and olive palette. */
.road-crew{border-top:1px solid var(--line)}.crew-intro{max-width:680px;margin:24px 0 30px}.road-crew-card{background:var(--olive);border-left:4px solid #65704f;padding:28px;max-width:680px;color:var(--ink)}.crew-badge{margin-bottom:18px;color:#435039}.road-crew-card h3{font-size:1.6rem;margin-bottom:8px}.road-crew-card .crew-status{font-weight:700;margin-bottom:18px}.road-crew-card p:last-child{margin-bottom:0}.crew-choice{max-width:680px;margin:24px 0 16px}.supporter-wall .road-crew-card p{margin-bottom:18px}.supporter-wall .road-crew-card p:last-child{margin-bottom:0}
@media(max-width:700px){.road-crew-card{padding:24px 20px}}
