/* Ridgeline Outfit — rugged, dark, sidebar layout */
:root{--bg:#121412;--panel:#1b1e1b;--panel2:#242824;--line:#2f342f;--txt:#e9ebe6;--dim:#9aa09a;--org:#ff6a1f;--org2:#ff8a4d;--sb:230px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Barlow',system-ui,sans-serif;background:var(--bg);color:var(--txt);font-size:16px;line-height:1.5}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,.disp{font-family:'Bebas Neue',Impact,sans-serif;font-weight:400;letter-spacing:.03em}
/* sidebar */
.side{position:fixed;top:0;left:0;bottom:0;width:var(--sb);background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:28px 22px;z-index:20}
.brand{font-family:'Bebas Neue',sans-serif;font-size:30px;line-height:1;letter-spacing:.04em}
.brand b{color:var(--org)}
.brand small{display:block;font-family:'Barlow',sans-serif;font-size:11px;letter-spacing:.3em;color:var(--dim);margin-top:4px}
.side nav{margin-top:44px;display:flex;flex-direction:column;gap:4px}
.side nav a{padding:10px 12px;border-radius:4px;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);display:flex;justify-content:space-between}
.side nav a:hover,.side nav a.on{background:var(--panel2);color:var(--txt)}
.side nav a.on::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--org);align-self:center}
.side .foot{margin-top:auto;font-size:12px;color:var(--dim);line-height:1.7}
.side .foot b{color:var(--txt)}
.topbar{display:none}
.page{margin-left:var(--sb)}
/* hero */
.hero{position:relative;height:88vh;min-height:520px;overflow:hidden}
.hero img{width:100%;height:100%;object-fit:cover;filter:brightness(.7)}
.hero .ov{position:absolute;inset:auto 0 0 0;padding:60px 56px;background:linear-gradient(transparent,rgba(18,20,18,.95))}
.hero .kicker{font-size:12px;letter-spacing:.35em;text-transform:uppercase;color:var(--org);font-weight:700}
.hero h1{font-size:clamp(56px,9vw,140px);line-height:.9;margin:12px 0 18px}
.hero p{max-width:52ch;color:#cfd3cc;font-size:18px}
.cta{display:inline-flex;align-items:center;gap:12px;background:var(--org);color:#111;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:13px;padding:16px 26px;border-radius:3px;margin-top:26px;transition:background .2s}
.cta:hover{background:var(--org2)}
.cta.ghost{background:transparent;border:1px solid var(--line);color:var(--txt)}
.cta.ghost:hover{border-color:var(--txt);background:transparent}
/* stats strip */
.strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.strip div{padding:26px 56px;border-right:1px solid var(--line)}
.strip div:last-child{border-right:0}
.strip .disp{font-size:38px;line-height:1;color:var(--org)}
.strip span{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
/* sections */
.sec{padding:64px 56px}
.sec-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px;gap:20px;flex-wrap:wrap}
.sec-head h2{font-size:48px;line-height:1}
.sec-head p{color:var(--dim);max-width:48ch}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.tabs a{padding:9px 16px;border:1px solid var(--line);border-radius:999px;font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:600;color:var(--dim)}
.tabs a.on,.tabs a:hover{border-color:var(--org);color:var(--txt)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line);border:1px solid var(--line)}
.item{background:var(--panel);padding:16px;position:relative;transition:background .2s}
.item:hover{background:var(--panel2)}
.item img{aspect-ratio:1;object-fit:cover;border-radius:3px;margin-bottom:14px}
.item .cat{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--org);font-weight:700}
.item h3{font-size:24px;margin:4px 0 6px;line-height:1}
.item p{font-size:14px;color:var(--dim)}
.badge{position:absolute;top:26px;left:26px;background:var(--org);color:#111;font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;padding:5px 8px;border-radius:2px}
.badge.alt{background:var(--txt)}
/* bento */
.bento{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px;gap:2px}
.bento a{position:relative;overflow:hidden;background:var(--panel)}
.bento a:first-child{grid-row:span 2}
.bento img{width:100%;height:100%;object-fit:cover;transition:transform .6s;filter:brightness(.75)}
.bento a:hover img{transform:scale(1.05)}
.bento .lbl{position:absolute;left:22px;bottom:18px}
.bento .lbl h3{font-size:34px;line-height:1}
.bento .lbl span{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#cfd3cc}
/* guides */
.guides{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.guide{border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--panel)}
.guide img{aspect-ratio:16/10;object-fit:cover}
.guide .b{padding:20px}
.guide .b span{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--org);font-weight:700}
.guide h3{font-size:26px;margin:6px 0 8px;line-height:1.05}
.guide p{color:var(--dim);font-size:14px}
/* ticker */
.ticker{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;white-space:nowrap}
.ticker span{display:inline-block;font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:.1em;padding:0 30px;color:var(--dim)}
.ticker span::after{content:"◆";color:var(--org);margin-left:60px;font-size:12px;vertical-align:middle}
/* footer */
.ftr{padding:50px 56px 30px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px}
.ftr h4{font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:var(--dim);margin-bottom:14px}
.ftr li{list-style:none;margin-bottom:8px;font-size:14px}
.ftr li a:hover{color:var(--org)}
.ftr .copy{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;font-size:12px;color:var(--dim);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
/* page heads */
.phead{padding:60px 56px 30px;border-bottom:1px solid var(--line)}
.phead .kicker{font-size:12px;letter-spacing:.35em;text-transform:uppercase;color:var(--org);font-weight:700}
.phead h1{font-size:clamp(50px,7vw,96px);line-height:.95;margin:8px 0 12px}
.phead p{color:var(--dim);max-width:60ch;font-size:17px}
/* catalog layout */
.cat-layout{display:grid;grid-template-columns:220px 1fr;gap:40px;padding:40px 56px}
.facets h4{font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:var(--dim);margin:22px 0 10px}
.facets label{display:flex;gap:10px;align-items:center;font-size:14px;margin-bottom:8px;cursor:pointer}
.facets input{accent-color:var(--org)}
.sortbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;font-size:13px;color:var(--dim)}
.sortbar select{background:var(--panel);color:var(--txt);border:1px solid var(--line);padding:8px 10px;font-family:inherit;border-radius:3px}
/* item page */
.item-page{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;padding:50px 56px}
.item-page .main{aspect-ratio:4/3;object-fit:cover;border-radius:4px}
.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}
.thumbs img{aspect-ratio:1;object-fit:cover;border-radius:3px;border:1px solid var(--line)}
.item-page h1{font-size:60px;line-height:.95}
.item-page .cat{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--org);font-weight:700}
.item-page p{color:#cfd3cc;margin:18px 0}
.opts{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 24px}
.opts span{border:1px solid var(--line);padding:8px 14px;border-radius:3px;font-size:13px;font-weight:600;cursor:pointer}
.opts span.on{border-color:var(--org);color:var(--org)}
.specs{width:100%;border-collapse:collapse;margin-top:24px;font-size:14px}
.specs td{padding:10px 0;border-bottom:1px solid var(--line)}
.specs td:first-child{color:var(--dim);width:40%;text-transform:uppercase;font-size:11px;letter-spacing:.2em}
/* guides page */
.long{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.long .guide{border-radius:0;border:0}
/* expeditions timeline */
.tl{padding:40px 56px;display:grid;grid-template-columns:1fr 1fr;gap:60px}
.tl .ev{border-left:2px solid var(--line);padding:0 0 36px 24px;position:relative}
.tl .ev::before{content:"";position:absolute;left:-7px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--org)}
.tl .ev .yr{font-family:'Bebas Neue',sans-serif;font-size:30px;color:var(--org);line-height:1}
.tl .ev h3{font-size:26px;margin:4px 0 6px}
.tl .ev p{color:var(--dim);font-size:15px}
.tl img{aspect-ratio:4/5;object-fit:cover;border-radius:4px;position:sticky;top:40px}
/* support */
.sup{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:50px 56px}
details{border-bottom:1px solid var(--line);padding:16px 0}
summary{cursor:pointer;font-weight:700;font-size:16px;list-style:none;display:flex;justify-content:space-between}
summary::after{content:"+";color:var(--org);font-size:20px}
details[open] summary::after{content:"–"}
details p{color:var(--dim);margin-top:10px;font-size:15px}
.form label{display:block;font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--dim);margin:18px 0 6px}
.form input,.form textarea,.form select{width:100%;background:var(--panel);border:1px solid var(--line);color:var(--txt);padding:12px;border-radius:3px;font-family:inherit;font-size:15px}
.form textarea{min-height:130px}
.form button{margin-top:20px;cursor:pointer;border:0;font-family:inherit}
.chan{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-bottom:30px}
.chan div{background:var(--panel);padding:20px}
.chan .disp{font-size:26px;color:var(--org)}
.chan p{font-size:14px;color:var(--dim)}
/* 404 */
.lost{min-height:100vh;display:grid;place-items:center;text-align:center;padding:40px;position:relative;overflow:hidden;background:
 repeating-radial-gradient(circle at 70% 40%,transparent 0 38px,rgba(255,106,31,.12) 39px 40px),var(--bg)}
.lost .num{font-family:'Bebas Neue',sans-serif;font-size:clamp(140px,28vw,360px);line-height:.85;color:var(--org);text-shadow:0 0 60px rgba(255,106,31,.3)}
.lost h1{font-size:clamp(34px,5vw,64px);margin:10px 0}
.lost p{color:var(--dim);max-width:46ch;margin:0 auto 26px;font-size:17px}
.lost .coords{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--dim);margin-bottom:16px}
.lost .links{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
@media(max-width:1000px){
  .side{display:none}.page{margin-left:0}
  .topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
  .topbar nav{display:flex;gap:12px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--dim);white-space:nowrap;overflow-x:auto}
  .hero .ov,.sec,.phead,.ftr,.cat-layout,.item-page,.tl,.sup{padding-left:20px;padding-right:20px}
  .strip{grid-template-columns:1fr 1fr}.strip div{padding:18px 20px}
  .grid{grid-template-columns:1fr 1fr}.bento{grid-template-columns:1fr 1fr;grid-template-rows:200px 200px 200px}.bento a:first-child{grid-column:span 2;grid-row:span 1}
  .guides,.long{grid-template-columns:1fr}.ftr{grid-template-columns:1fr 1fr}
  .cat-layout,.item-page,.tl,.sup{grid-template-columns:1fr}.facets{display:none}.tl img{position:static}
}
@media(max-width:560px){.grid{grid-template-columns:1fr}.topbar nav{gap:10px;font-size:11px}.ftr{grid-template-columns:1fr}}
