:root{--cream:#F5EFE6;--sand:#ECD2AB;--rust:#A9471F;--brown:#59504B;--ink:#2B2623;--orange:#F26322;--panel:#FFFAF2}
*{box-sizing:border-box}html,body{margin:0}body{background:var(--cream);color:var(--ink);font:400 18px/1.55 "Source Sans 3",system-ui,sans-serif}
img{max-width:100%;display:block}a{color:inherit}
.jw-wrap{max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}
.jw-h2{font:700 clamp(32px,4.2vw,56px)/1.05 "Zilla Slab",serif;margin:0 0 .5em;color:var(--ink)}
.jw-slab{font:400 clamp(30px,4vw,58px)/1 "Alfa Slab One",serif;text-transform:uppercase;letter-spacing:.02em;color:#6B2A1A;margin:0 0 .4em}
/* header */
.jw-head{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;gap:32px;padding:14px clamp(16px,3vw,40px);background:rgba(43,38,35,.0);transition:background .3s}
.jw-head.is-solid{background:var(--ink)}
.jw-head__logo img{height:44px;width:auto}
.jw-head__nav{display:flex;gap:26px;margin-right:auto}
.jw-head__nav a{color:#fff;text-decoration:none;font:600 14px/1 "Source Sans 3";letter-spacing:.08em;text-transform:uppercase;opacity:.9}
.jw-head__nav a:hover{opacity:1;text-decoration:underline;text-underline-offset:6px}
.jw-donate-wrap{display:flex;flex-direction:column;align-items:center;gap:4px}
.jw-donate{position:relative;display:inline-block;background:var(--orange);color:#fff;text-decoration:none;font:700 17px/1 "Zilla Slab";letter-spacing:.06em;text-transform:uppercase;padding:14px 28px;border-radius:3px;box-shadow:0 3px 0 #9c3a10;transition:transform .15s,box-shadow .15s,background .15s}
.jw-donate:hover{transform:translateY(-2px);box-shadow:0 5px 0 #9c3a10;background:#ff6d2b}
.jw-donate:active{transform:translateY(2px);box-shadow:0 1px 0 #9c3a10}
.jw-donate.is-pressed span{display:inline-block;animation:jwPress .35s}
@keyframes jwPress{50%{transform:scale(.9)}}
.jw-trust{color:#fff;opacity:.75;font-size:11px;letter-spacing:.04em}
/* hero: video right, copy left, never over his face */
.jw-hero{position:relative;height:100vh;min-height:620px;display:grid;grid-template-columns:38% 62%;background:var(--ink);overflow:hidden}
.jw-hero__media{grid-column:2;grid-row:1;position:relative;overflow:hidden}
.jw-hero__video{width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:sepia(.25) contrast(1.05)}
.jw-hero__copy{grid-column:1;grid-row:1;align-self:end;padding:0 clamp(20px,3.5vw,56px) 12vh;color:var(--cream)}
.jw-hero__title{font:400 clamp(30px,3vw,48px)/1.12 "Alfa Slab One",serif;margin:0 0 24px;color:var(--cream)}
.jw-link{font:700 15px/1 "Zilla Slab";text-transform:uppercase;letter-spacing:.1em;color:var(--sand);text-underline-offset:6px}
.jw-link--dark{color:var(--rust)}
/* proof marquee */
.jw-proof{background:var(--panel);border-block:1px solid #e3d8ca;padding:26px 0}
.jw-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.jw-marquee__track{display:flex;gap:64px;list-style:none;margin:0;padding:0;width:max-content;animation:jwMarq 48s linear infinite}
.jw-marquee:hover .jw-marquee__track{animation-play-state:paused}
.jw-marquee__track li{white-space:nowrap;font:500 19px/1 "Zilla Slab";color:var(--brown)}
.jw-marquee__track b{color:var(--rust)}
@keyframes jwMarq{to{transform:translateX(-50%)}}
/* story */
.jw-story{padding:clamp(80px,12vw,160px) 0}
.jw-story__grid{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;align-items:start}
.jw-story p{margin:0 0 28px;color:var(--brown);max-width:56ch}
blockquote{margin:0;font:500 24px/1.35 "Zilla Slab";color:var(--ink);border-left:3px solid var(--orange);padding-left:20px}
cite{display:block;margin-top:10px;font:600 14px "Source Sans 3";letter-spacing:.08em;text-transform:uppercase;color:var(--rust);font-style:normal}
/* programs */
.jw-programs{background:var(--sand);padding:clamp(80px,10vw,140px) 0}
.jw-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.jw-card{text-decoration:none;background:var(--panel);border-radius:4px;overflow:hidden;transition:transform .3s}
.jw-card:hover{transform:translateY(-4px)}
.jw-card__img{aspect-ratio:4/3;overflow:hidden}.jw-card__img img{width:100%;height:100%;object-fit:cover;filter:sepia(.3);transition:transform .6s}
.jw-card:hover img{transform:scale(1.05)}
.jw-card h3{font:700 22px "Zilla Slab";margin:18px 18px 6px}.jw-card p{margin:0 18px 22px;font-size:16px;color:var(--brown)}
/* journal: layered depth */
.jw-journal{position:relative;height:min(120vh,1100px);overflow:hidden;background:#E3B585}
.jw-journal__photo{position:absolute;inset:-4% 0 -16% 0;will-change:transform}
.jw-journal__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 0}
.jw-layers{position:absolute;inset:auto 0 0 0;height:46%;pointer-events:none}
.jw-layer{position:absolute;left:-2%;right:-2%;bottom:0;will-change:transform}
.jw-layer svg{width:100%;height:100%;display:block}
.jw-layer--1{height:70%;bottom:18%}.jw-layer--1 path{fill:#C9926A}
.jw-layer--2{height:58%;bottom:6%}.jw-layer--2 path{fill:#A9471F}
.jw-layer--3{height:44%;bottom:-6%}.jw-layer--3 path{fill:var(--cream)}
.jw-journal__card{position:absolute;left:clamp(20px,6vw,96px);bottom:8%;max-width:760px;background:var(--cream);padding:32px 36px;border-radius:3px}
/* grit */
.jw-grit{padding:clamp(80px,10vw,140px) 0}
.jw-grit__grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.jw-grit p{color:var(--brown);max-width:44ch;margin:0 0 28px}
.jw-places{list-style:none;margin:0;padding:0;border-top:1px solid #c9b9a6}
.jw-places li{font:500 clamp(20px,2vw,28px)/1 "Zilla Slab";padding:18px 0;border-bottom:1px solid #c9b9a6;color:var(--ink)}
.jw-btn{display:inline-block;background:var(--ink);color:var(--cream);text-decoration:none;font:700 15px/1 "Zilla Slab";letter-spacing:.08em;text-transform:uppercase;padding:15px 26px;border-radius:3px;transition:background .2s}
.jw-btn:hover{background:var(--rust)}
/* involved */
.jw-involved{background:var(--panel);padding:clamp(80px,10vw,140px) 0}
.jw-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.jw-tile{min-height:260px;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;text-decoration:none;background:var(--brown);color:var(--cream);border-radius:4px;transition:transform .3s,background .3s}
.jw-tile:hover{transform:translateY(-4px);background:var(--ink)}
.jw-tile--donate{background:var(--orange)}.jw-tile--donate:hover{background:#d9541a}
.jw-tile h3{font:400 34px/1 "Alfa Slab One";margin:0 0 10px;text-transform:uppercase}.jw-tile p{margin:0;opacity:.9}
/* footer */
.jw-foot{background:var(--ink);color:var(--cream);padding:80px 0 30px}
.jw-foot__grid{display:grid;grid-template-columns:1.1fr 1.3fr 1fr;gap:48px}
.jw-foot__mission{color:#d8d2c8;font-size:16px;max-width:38ch}
.jw-news label{display:block;font:500 18px/1.3 "Zilla Slab";margin-bottom:14px}
.jw-news__row{display:flex;gap:8px}
.jw-news input{flex:1;padding:14px;border:1px solid #59504b;background:#1f1b19;color:#fff;font-size:16px;border-radius:3px}
.jw-news button{background:var(--sand);color:var(--ink);border:0;padding:0 22px;font:700 14px "Zilla Slab";text-transform:uppercase;letter-spacing:.08em;border-radius:3px;cursor:pointer}
.jw-foot__links{display:flex;flex-direction:column;gap:10px}.jw-foot__links a{color:#d8d2c8;text-decoration:none;font-size:15px}.jw-foot__links a:hover{color:#fff}
.jw-foot__legal{text-align:center;color:#a89c90;font-size:13px;margin:60px 20px 0}
/* mobile */
@media (max-width:900px){
  .jw-head__nav{display:none}.jw-head{justify-content:space-between}.jw-head__logo img{height:34px}
  .jw-donate{padding:11px 18px;font-size:15px}
  .jw-hero{grid-template-columns:1fr;grid-template-rows:64vh auto;height:auto;min-height:0}
  .jw-hero__media{grid-column:1;grid-row:1}.jw-hero__copy{grid-column:1;grid-row:2;padding:28px 20px 44px}
  .jw-hero__title{font-size:28px}
  .jw-story__grid,.jw-grit__grid,.jw-foot__grid{grid-template-columns:1fr;gap:32px}
  .jw-cards{grid-template-columns:1fr 1fr;gap:14px}.jw-tiles{grid-template-columns:1fr}
  .jw-journal{height:110vh}.jw-journal__card{right:20px;padding:24px}
}
@media (prefers-reduced-motion:reduce){.jw-marquee__track{animation:none}}
