:root{
  --black:#0d0d0c; --char:#171716; --char2:#1f1f1d; --paper:#efe9dc; --paper2:#e4dccb;
  --or:#f7941d; --or2:#ffa73a; --ink:#141412; --mute:#a9a597;
  --h:'Anton','Impact',sans-serif; --c:'Barlow Condensed','Arial Narrow',sans-serif; --b:'Barlow',system-ui,sans-serif;
  --nav:78px; --max:1280px;
  --noise:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav)}
body{margin:0;background:var(--black);color:#f4f0e6;font:400 1.0625rem/1.65 var(--b);overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.lock{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
p{margin:0 0 1.1em}
.wrap{width:min(100% - 48px,var(--max));margin-inline:auto}
.skip{position:fixed;left:12px;top:-60px;z-index:999;background:var(--or);color:var(--ink);padding:10px 14px;font-weight:600}
.skip:focus{top:12px}
.or{color:var(--or)}

/* type */
.mega,.big{font-family:var(--h);font-weight:400;text-transform:uppercase;margin:0;letter-spacing:.005em}
.mega{font-size:clamp(4.6rem,15.5vw,13.5rem);line-height:.86}
.mega span{display:block}
.big{font-size:clamp(2.7rem,7.6vw,6.6rem);line-height:.95}
.big.dk{color:var(--ink)}
.num,.tag,.kicker,.stamp,.cue span,.since{font-family:var(--c);font-weight:600;letter-spacing:.26em;text-transform:uppercase}
.num{font-size:.95rem;color:var(--or);margin:0 0 1.2rem}
.num.dk{color:#9a5a08}
.lede{font-size:clamp(1.1rem,1.7vw,1.4rem);line-height:1.5;max-width:36em}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 34px;font:700 1.15rem var(--c);letter-spacing:.2em;text-transform:uppercase;border:2px solid transparent;transition:transform .2s,background .2s,color .2s,border-color .2s}
.btn:hover{transform:translateY(-3px)}
.btn-or{background:var(--or);color:var(--ink)}
.btn-or:hover{background:var(--or2)}
.btn-line{border-color:#f4f0e6;color:#f4f0e6}
.btn-line:hover{background:#f4f0e6;color:var(--ink)}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-ink:hover{background:#000}
.btn-xl{min-height:72px;padding:0 54px;font-size:1.4rem}
.btns{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:2rem}
.center{text-align:center;margin-top:3.5rem}
.link{display:inline-block;font:700 1.05rem var(--c);letter-spacing:.2em;text-transform:uppercase;border-bottom:3px solid var(--or);padding-bottom:4px;margin-top:.6rem;color:var(--ink)}

/* texture + road motif */
.grain{position:absolute;inset:0;background:var(--noise);opacity:.07;mix-blend-mode:screen;pointer-events:none}
.road{height:8px;background:repeating-linear-gradient(90deg,var(--or) 0 70px,transparent 70px 120px);opacity:.9}

/* header */
.hdr{position:fixed;inset:0 0 auto;height:var(--nav);z-index:100;background:linear-gradient(rgba(0,0,0,.72),rgba(0,0,0,0));transition:background .3s,box-shadow .3s}
.hdr.solid{background:rgba(10,10,9,.94);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(255,255,255,.08)}
.hdr-in{width:min(100% - 40px,1360px);height:100%;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo img{height:46px;width:auto}
.nav{display:flex;align-items:center;gap:28px;font:600 1.02rem var(--c);letter-spacing:.18em;text-transform:uppercase}
.nav a{position:relative;padding:8px 0}
.nav a:not(.nav-help)::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--or);transition:right .25s}
.nav a:not(.nav-help):hover::after{right:0}
.nav-help{background:var(--or);color:var(--ink);padding:12px 22px!important;font-weight:700;transition:background .2s}
.nav-help:hover{background:var(--or2)}
.burger{display:none;width:48px;height:48px;border:0;background:none;cursor:pointer;position:relative}
.burger i{position:absolute;left:10px;right:10px;height:2px;background:#fff;transition:transform .3s,top .3s}
.burger i:nth-child(1){top:19px}.burger i:nth-child(2){top:28px}
.burger[aria-expanded=true] i:nth-child(1){top:23px;transform:rotate(45deg)}
.burger[aria-expanded=true] i:nth-child(2){top:23px;transform:rotate(-45deg)}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:#000}
.hero-photo,.hero-video{position:absolute;inset:0;overflow:hidden}
.hero-photo img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover}
.hero-video{opacity:0;transition:opacity 1.2s}
.hero-video.on{opacity:1}
.hero-video iframe{position:absolute;top:50%;left:50%;width:max(100vw,177.78vh);height:max(56.25vw,100vh);transform:translate(-50%,-50%) scale(1.15);border:0;pointer-events:none}
.hero-shade{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.5) 55%,rgba(0,0,0,.35)),
  linear-gradient(0deg,rgba(13,13,12,1) 0,rgba(13,13,12,0) 38%),
  linear-gradient(180deg,rgba(0,0,0,.6),transparent 28%)}
.hero .grain{opacity:.1}
.hero-copy{position:relative;z-index:2;padding:calc(var(--nav) + 40px) 0 clamp(70px,11vh,120px)}
.tag{font-size:.95rem;color:#e8e2d3;margin:0 0 1.4rem}
.hero .mega .or{display:block}
.hero .lede{margin-top:1.8rem}
.cue{position:absolute;z-index:3;right:28px;bottom:34px;display:flex;align-items:center;gap:14px;font-size:.8rem;color:#bdb8aa}
.cue i{width:60px;height:2px;background:var(--or);transform-origin:left;animation:cue 2.4s ease-in-out infinite}
@keyframes cue{0%,100%{transform:scaleX(.3)}50%{transform:scaleX(1)}}

/* impact */
.impact{position:relative;background:var(--black);padding:0 0 clamp(50px,7vw,90px)}
.impact .road{margin-bottom:clamp(40px,6vw,70px)}
.strip{display:grid;grid-template-columns:1.25fr 2fr;gap:clamp(24px,4vw,60px);align-items:center}
.strip-lead .big{font-size:clamp(2.6rem,5.4vw,4.8rem)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);margin:0}
.stat{display:flex;flex-direction:column;padding:6px 20px;border-left:1px solid rgba(255,255,255,.18)}
.stat dd{margin:0 0 6px;font:400 clamp(2rem,3.8vw,3.4rem)/1 var(--h);color:var(--or);white-space:nowrap}
.stat dt{font:600 .85rem var(--c);letter-spacing:.2em;text-transform:uppercase;color:#cfcabc}
.shelter{margin-top:clamp(36px,5vw,60px);padding-top:26px;border-top:1px solid rgba(255,255,255,.14)}
.shelter p{margin:0;font:600 clamp(1.2rem,2.3vw,1.8rem)/1.35 var(--c);letter-spacing:.1em;text-transform:uppercase;color:#cfcabc}
.shelter b{font-family:var(--h);font-weight:400;letter-spacing:.02em;font-size:1.3em}
.shelter i{font-style:normal;color:var(--mute)}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;background:var(--paper);color:var(--ink);min-height:min(100vh,860px)}
.px{position:relative;overflow:hidden}
.px img{width:100%;height:118%;object-fit:cover;position:absolute;top:-9%;left:0;will-change:transform}
.split-img{min-height:520px}
.split-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.0),rgba(0,0,0,.18))}
.stamp{position:absolute;z-index:2;left:24px;bottom:24px;background:var(--or);color:var(--ink);padding:8px 14px;font-size:.8rem}
.split-txt,.about-txt{min-width:0;overflow-wrap:break-word}
.split-txt{padding:clamp(60px,8vw,130px) clamp(28px,6vw,100px);display:flex;flex-direction:column;justify-content:center}
.split-txt p:not(.num){max-width:34em;color:#35322c}
.split-txt .big{margin-bottom:1.8rem}

/* give */
.give{position:relative;background:var(--char);padding:clamp(80px,11vw,150px) 0;overflow:hidden}
.give .big{margin-bottom:clamp(40px,6vw,70px)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{position:relative;min-height:clamp(460px,52vw,620px);overflow:hidden;background:#000}
.card-img{position:absolute;inset:0}
.card-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 20%,rgba(0,0,0,.92) 92%);transition:background .4s}
.card:hover .card-img img{filter:brightness(1.1)}
.card-txt{position:absolute;z-index:2;left:26px;right:26px;bottom:28px}
.card-txt span{font:600 .9rem var(--c);letter-spacing:.26em;color:var(--or)}
.card-txt h3{margin:.3rem 0 .5rem;font:400 clamp(2.2rem,3.6vw,3.2rem)/.95 var(--h);text-transform:uppercase}
.card-txt p{margin:0;color:#d8d3c4}

/* serve */
.serve{background:var(--paper);color:var(--ink);padding:clamp(80px,11vw,150px) 0}
.serve-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(36px,6vw,90px);align-items:center}
.kicker{font-size:1.3rem;color:#a15d05;margin:1.6rem 0 1.2rem}
.serve-copy p:not(.num):not(.kicker){max-width:32em;color:#35322c}
.ways{list-style:none;margin:1.6rem 0 2.2rem;padding:0;border-top:2px solid var(--ink)}
.ways li{padding:14px 0;border-bottom:1px solid rgba(20,20,18,.25);font-size:1.05rem}
.ways b{font:400 1.5rem var(--h);text-transform:uppercase;letter-spacing:.03em;margin-right:10px;color:var(--ink)}
.serve-img{aspect-ratio:4/5;min-height:420px}
.serve-img::before{content:"";position:absolute;inset:0;z-index:2;border:10px solid var(--paper);pointer-events:none}

/* stories */
.stories{position:relative;background:var(--black);padding:clamp(80px,11vw,150px) 0 clamp(80px,10vw,130px);overflow:hidden}
.stories .big{margin-bottom:clamp(40px,6vw,70px)}
.wide{position:relative;margin:0;height:clamp(380px,62vw,780px)}
.wide::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,13,12,.95),rgba(13,13,12,.1) 55%)}
.wide figcaption{position:absolute;z-index:2;left:50%;bottom:34px;transform:translateX(-50%);font:600 clamp(1.1rem,2vw,1.5rem) var(--c);letter-spacing:.08em;text-transform:uppercase;color:#e8e2d3}
.wide figcaption span{color:var(--or);margin-right:.5em}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:18px;margin-top:18px;align-items:stretch}
.more{align-self:center;display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 30px;border:2px solid var(--or);color:var(--or);font:700 1.05rem var(--c);letter-spacing:.2em;text-transform:uppercase;transition:.2s}
.more:hover{background:var(--or);color:var(--ink)}
.story{background:var(--char2);display:flex;flex-direction:column}
.story-img,.play{position:relative;aspect-ratio:4/3;overflow:hidden;display:block;width:100%;padding:0;border:0;background:#000}
.story-img img,.play img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.story:hover .story-img img,.story:hover .play img{transform:scale(1.05)}
.play{cursor:pointer}
.play iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.play-ico{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;background:var(--or);border-radius:50%;transition:transform .3s}
.play-ico::before{content:"";position:absolute;left:34px;top:26px;border-left:26px solid var(--ink);border-top:16px solid transparent;border-bottom:16px solid transparent}
.play:hover .play-ico{transform:scale(1.1)}
.story-txt{padding:22px 24px 28px}
.story-txt h3{margin:0 0 .3rem;font:400 1.8rem/1 var(--h);text-transform:uppercase}
.story-txt p{margin:0;color:var(--mute);font-size:1rem}
.story.video{grid-row:span 1}

/* about */
.about{display:grid;grid-template-columns:1fr 1fr;background:var(--char);min-height:620px}
.about-img{min-height:460px}
.about-txt{padding:clamp(60px,8vw,120px) clamp(28px,6vw,100px);display:flex;flex-direction:column;justify-content:center}
.about-txt .big{margin-bottom:1.6rem}
.about-txt p:not(.num){color:#cfcabc;max-width:32em}

/* help */
.help{position:relative;min-height:min(100svh,880px);display:flex;align-items:center;overflow:hidden;background:#000}
.help-bg{position:absolute;inset:0;overflow:hidden}
.help-bg img{position:absolute;left:0;top:-12%;width:100%;height:124%;object-fit:cover;filter:grayscale(.35) contrast(1.05)}
.help-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.6) 60%,rgba(0,0,0,.45))}
.help-in{position:relative;z-index:2;padding:110px 0}
.help .mega{font-size:clamp(5rem,18vw,16rem)}
.help .lede{margin-top:1.6rem}
.phone{font:700 1.25rem var(--c);letter-spacing:.18em;text-transform:uppercase;border-bottom:3px solid var(--or);padding-bottom:3px}

/* footer */
.ftr{background:#080807;padding:0 0 28px}
.ftr-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:50px;padding:clamp(56px,7vw,90px) 0 20px}
.ftr-brand img{width:230px}
.ftr-brand p{margin:20px 0 0;font:600 .9rem var(--c);letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
.ftr-nav,.ftr-contact{display:grid;gap:10px;align-content:start;font:600 1.05rem var(--c);letter-spacing:.14em;text-transform:uppercase}
.ftr-contact{text-transform:none;letter-spacing:.04em;font-family:var(--b);font-weight:500;font-size:1rem}
.ftr a:hover{color:var(--or)}
.ftr-base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:30px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);color:#7b776b;font:600 .8rem var(--c);letter-spacing:.14em;text-transform:uppercase}

/* reveals */
.rv{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none}
.card.rv.in .card-img img,.wide.rv.in img{animation:settle 1.6s ease-out both}
@keyframes settle{from{filter:brightness(.7)}to{filter:none}}

/* tablet */
@media (max-width:1040px){
  .nav{gap:18px;font-size:.92rem}
  .strip{grid-template-columns:1fr}
  .story-grid{grid-template-columns:1fr 1fr}
  .story.video{grid-column:span 2}
  .story.video .play{aspect-ratio:16/9}
  .more{grid-column:span 2}
}
@media (max-width:860px){
  :root{--nav:68px}
  .logo img{height:40px}
  .burger{display:block}
  .nav{position:fixed;inset:var(--nav) 0 0;background:rgba(8,8,7,.985);flex-direction:column;align-items:stretch;justify-content:center;gap:0;padding:20px 28px 40px;font-size:1.7rem;transform:translateY(-12px);opacity:0;visibility:hidden;transition:.3s}
  .nav.open{opacity:1;visibility:visible;transform:none}
  .nav a{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1)}
  .nav a::after{display:none}
  .nav-help{margin-top:22px;text-align:center;border:0!important}
  .split,.about,.serve-grid{grid-template-columns:minmax(0,1fr)}
  .split-img,.about-img{min-height:62vw}
  .cards{grid-template-columns:1fr}
  .card{min-height:440px}
  .serve-img{aspect-ratio:4/3;min-height:0}
  .ftr-grid{grid-template-columns:1fr 1fr}
  .ftr-brand{grid-column:span 2}
  .cue{display:none}
}
@media (max-width:560px){
  .wrap{width:min(100% - 36px,var(--max))}
  .hero-video iframe{width:max(100vw,177.78vh);transform:translate(-50%,-50%) scale(1.5)}
  .btn{flex:1 1 140px;padding:0 20px}
  .btn-xl{padding:0 28px;width:100%}
  .stats{grid-template-columns:1fr 1fr;row-gap:22px}
  .stat:nth-child(odd){border-left:0;padding-left:0}
  .story-grid{grid-template-columns:1fr}
  .story.video,.more{grid-column:auto}
  .ftr-grid{grid-template-columns:1fr;gap:34px}
  .ftr-brand{grid-column:auto}
  .play-ico{width:68px;height:68px;margin:-34px 0 0 -34px}
  .play-ico::before{left:27px;top:20px;border-left:21px solid var(--ink);border-top:14px solid transparent;border-bottom:14px solid transparent}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  .px img,.hero-photo img,.help-bg img{transform:none!important}
  .cue i{animation:none}
}

/* narrow-column headlines: slightly smaller so long words never split, even before web fonts load */
.split-txt .big,.about-txt .big{font-size:clamp(2.3rem,5vw,5rem)}
.split-txt{overflow-wrap:normal}
