@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,600;0,700;0,800;1,700;1,800&family=DM+Sans:wght@400;500;600&display=swap');

:root{--ink:#0a0a09;--soft:#171715;--paper:#eeeae1;--muted:#aba79f;--orange:#ff5a1f;--line:rgba(238,234,225,.18);--display:'Barlow Condensed',Impact,sans-serif;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--body);font-size:16px;line-height:1.5;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:100;top:10px;left:10px;background:var(--paper);color:var(--ink);padding:12px 18px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.site-header{position:absolute;z-index:10;top:0;left:0;width:100%;height:90px;padding:0 clamp(24px,5vw,76px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.15)}
.brand{display:flex;align-items:center;font-family:var(--display);font-size:1.65rem;font-weight:800;line-height:1;letter-spacing:.04em}
.brand b{display:grid;place-items:center;color:var(--ink);background:var(--orange);width:29px;height:32px;margin-left:5px;font-size:1.55rem}
nav{display:flex;align-items:center;gap:clamp(24px,3vw,50px);font-size:.88rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
nav a{transition:color .2s}
nav a:hover{color:var(--orange)}
.nav-cta{border:1px solid rgba(255,255,255,.45);padding:12px 18px}
.menu-button{display:none;background:none;border:0;color:white;padding:10px}
.menu-button span:not(.sr-only){display:block;width:27px;height:2px;background:currentColor;margin:5px}

.hero{position:relative;min-height:100svh;display:flex;align-items:center;background:url('assets/kamp4-hero.webp') center/cover no-repeat;isolation:isolate}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,6,7,.92) 0%,rgba(5,6,7,.6) 42%,rgba(5,6,7,.08) 73%),linear-gradient(0deg,rgba(5,5,5,.62) 0%,transparent 45%)}
.hero-copy{width:min(760px,88vw);margin-left:clamp(24px,8vw,130px);padding-top:70px}
.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.19em;font-size:.78rem;font-weight:600}
.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.eyebrow span{display:block;width:38px;height:3px;background:var(--orange)}
h1,h2,h3,p{margin-top:0}
h1{font-family:var(--display);font-size:clamp(5rem,12.4vw,11rem);line-height:.74;letter-spacing:-.035em;margin:0 0 34px;text-transform:uppercase;font-weight:800}
h1 em,h2 em{color:var(--orange);font-style:italic}
.hero-deck{max-width:560px;font-size:clamp(1rem,1.45vw,1.2rem);color:#d9d7d1;margin-bottom:32px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:17px 22px;text-transform:uppercase;font-size:.82rem;letter-spacing:.1em;font-weight:700;border:0;transition:transform .2s,background .2s,color .2s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--orange);color:#090909}
.button-primary:hover{background:#ff7445}
.button-dark{background:var(--ink);color:var(--paper)}
.hero-meta{position:absolute;right:clamp(24px,5vw,76px);bottom:42px;display:flex;align-items:center;gap:18px;text-transform:uppercase}
.hero-meta>span{font-family:var(--display);font-size:2.8rem;color:var(--orange);font-weight:700}
.hero-meta b{font-size:.69rem;letter-spacing:.14em}.hero-meta p{margin:2px 0 0;color:#bdbbb6;font-size:.8rem}
.scroll-cue{position:absolute;left:32px;bottom:35px;writing-mode:vertical-rl;text-transform:uppercase;font-size:.66rem;letter-spacing:.18em;display:flex;gap:12px;align-items:center;color:#bdbbb6}
.scroll-cue i{height:38px;width:1px;background:var(--orange)}

.planner-section{background:var(--paper);color:var(--ink);padding:clamp(70px,9vw,130px) clamp(24px,8vw,130px)}
.section-intro{display:grid;grid-template-columns:1fr 2fr;column-gap:40px;align-items:end;margin-bottom:44px}
.kicker{color:var(--orange);margin-bottom:12px}
h2{font-family:var(--display);font-size:clamp(3.5rem,7vw,7rem);line-height:.86;text-transform:uppercase;letter-spacing:-.025em;margin-bottom:18px}
.section-intro .kicker{grid-row:1/3}.section-intro p:last-child{font-size:1.05rem;color:#55524d;margin:0}
.planner{display:grid;grid-template-columns:2fr 1fr 1fr auto;background:#dcd8cf;border:1px solid #cac5ba}
.planner label{padding:15px 20px;border-right:1px solid #bdb8ad}
.planner label span{display:block;text-transform:uppercase;font-size:.66rem;letter-spacing:.14em;font-weight:700;color:#77736b;margin-bottom:4px}
.planner input,.planner select{width:100%;border:0;background:transparent;color:var(--ink);font-weight:600;outline:none;padding:2px 0;border-radius:0}
.planner input:focus,.planner select:focus{box-shadow:0 2px 0 var(--orange)}
.planner .button{min-width:190px}
.trip-result{position:relative;background:var(--ink);color:var(--paper);padding:32px;margin-top:18px;border-left:5px solid var(--orange);animation:rise .35s ease}
.trip-result h3{font-family:var(--display);font-size:2.25rem;text-transform:uppercase;margin:0 0 8px}.trip-result p{max-width:780px;color:#c9c6be}
.close-result{position:absolute;right:18px;top:14px;border:0;background:none;color:var(--paper);font-size:1.8rem;cursor:pointer}
.result-tags{display:flex;flex-wrap:wrap;gap:8px}.result-tags span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--line);padding:7px 10px}
@keyframes rise{from{opacity:0;transform:translateY(8px)}}

.manifesto{position:relative;display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(40px,8vw,140px);padding:clamp(90px,11vw,170px) clamp(24px,8vw,130px);background:var(--soft);align-items:end}
.manifesto h2{margin:0}.manifesto-copy{font-size:1.12rem;color:#bbb8b0;max-width:520px}.manifesto-copy p:last-child{margin-bottom:0}
.vertical-label{position:absolute;left:28px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;color:#6e6b65;text-transform:uppercase;font-size:.65rem;letter-spacing:.2em}

.adventures{padding:clamp(80px,10vw,150px) clamp(24px,5vw,76px)}
.section-heading-row{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:50px}.section-heading-row h2{margin:0}.section-heading-row>p{max-width:410px;color:var(--muted);font-size:1.05rem}
.adventure-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#383733}
.adventure-card{position:relative;min-height:470px;background:#171715;padding:28px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;isolation:isolate;transition:background .3s}
.adventure-card:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.35;transition:transform .5s,opacity .4s;background:radial-gradient(circle at 70% 20%,var(--tone),transparent 45%),linear-gradient(145deg,transparent 45%,rgba(255,255,255,.08))}
.adventure-card:hover:before{transform:scale(1.05);opacity:.68}.adventure-card>span{font-family:var(--display);color:var(--orange);font-size:1.1rem}.adventure-card p{text-transform:uppercase;font-size:.68rem;letter-spacing:.16em;color:#aaa69e;margin-bottom:8px}.adventure-card h3{font-family:var(--display);font-size:3.1rem;line-height:1;text-transform:uppercase;margin-bottom:18px}.adventure-card a{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.adventure-card a:hover{color:var(--orange)}
.card-camp{--tone:#794225}.card-hike{--tone:#243c46}.card-drive{--tone:#4d4729}.card-climb{--tone:#49303b}

.explore{position:relative;background:var(--orange);color:var(--ink);padding:clamp(80px,11vw,170px) clamp(24px,8vw,130px);display:grid;grid-template-columns:1.3fr .7fr;gap:80px;overflow:hidden}.explore .kicker{color:var(--ink)}.explore-copy{position:relative;z-index:1}.explore-copy>p:not(.kicker){max-width:650px;font-size:1.1rem}.explore-mark{position:absolute;right:-2vw;bottom:-13vw;font-family:var(--display);font-weight:800;font-size:42vw;line-height:.8;color:rgba(5,5,5,.09);letter-spacing:-.1em}.stat-stack{position:relative;z-index:1;border-top:1px solid rgba(0,0,0,.3)}.stat-stack div{display:flex;align-items:center;gap:24px;padding:20px 0;border-bottom:1px solid rgba(0,0,0,.3)}.stat-stack strong{font-family:var(--display);font-size:2.7rem;line-height:1}.stat-stack span{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700}
.final-cta{text-align:center;padding:clamp(100px,14vw,210px) 24px;background:linear-gradient(rgba(8,8,8,.86),rgba(8,8,8,.97)),url('assets/kamp4-hero.webp') center 54%/cover fixed}.final-cta h2{font-size:clamp(4rem,10vw,9rem)}
footer{display:grid;grid-template-columns:auto 1fr auto;gap:35px;align-items:center;padding:45px clamp(24px,5vw,76px);border-top:1px solid var(--line);color:var(--muted)}footer .brand{color:var(--paper)}footer p{margin:0}footer div{display:flex;gap:25px;font-size:.8rem;text-transform:uppercase}footer a:hover{color:var(--orange)}footer small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;font-size:.7rem;text-transform:uppercase;letter-spacing:.09em}

@media(max-width:900px){
  .site-header{height:72px}.menu-button{display:block}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;padding:28px 24px;background:rgba(8,8,8,.97);flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}.nav-cta{width:100%;text-align:center}
  .hero-copy{margin-left:clamp(24px,7vw,70px)}.hero-meta{display:none}.scroll-cue{left:auto;right:20px}
  .section-intro{grid-template-columns:1fr}.section-intro .kicker{grid-row:auto}.planner{grid-template-columns:1fr 1fr}.planner label{border-bottom:1px solid #bdb8ad}.planner label:first-child{grid-column:1/-1}.planner .button{min-height:72px}
  .manifesto{grid-template-columns:1fr}.vertical-label{display:none}.adventure-grid{grid-template-columns:1fr 1fr}.adventure-card{min-height:360px}
  .explore{grid-template-columns:1fr}.stat-stack{max-width:550px}.section-heading-row{display:block}.section-heading-row>p{margin-top:20px}
}
@media(max-width:560px){
  h1{font-size:clamp(4.5rem,25vw,7rem)}.hero{min-height:760px;background-position:62% center}.hero-copy{margin-left:24px;padding-top:20px}.hero-deck{max-width:85%;font-size:1rem}.scroll-cue{display:none}
  .planner{grid-template-columns:1fr}.planner label:first-child{grid-column:auto}.planner label{border-right:0}.planner .button{width:100%}
  .manifesto{padding-left:24px;padding-right:24px}.adventure-grid{grid-template-columns:1fr}.adventure-card{min-height:300px}.explore{gap:50px}
  footer{grid-template-columns:1fr}footer div{flex-wrap:wrap}footer small{grid-column:auto}.final-cta{background-attachment:scroll}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
