:root {
  --pine: #1f2d26;
  --pine-2: #15211c;
  --stone: #d9d2c5;
  --sand: #f3eee5;
  --ridge: #7a6a56;
  --clay: #c25e3a;
  --sky: #7c96a3;
  --ink: #17201b;
  --white: #fffdf8;
  --line: rgba(31, 45, 38, .15);
  --shadow: 0 18px 50px rgba(12, 25, 19, .12);
  --radius: 22px;
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--sand);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.skip-link { position: fixed; left: 12px; top: 12px; z-index: 9999; transform: translateY(-180%); background: var(--white); padding: 10px 14px; border-radius: 8px; }
.skip-link:focus { transform: none; }

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 100;
  transition: background .25s ease, backdrop-filter .25s ease, box-shadow .25s ease;
}
.site-header.scrolled { background: rgba(243, 238, 229, .92); backdrop-filter: blur(14px); box-shadow: 0 1px 0 rgba(31,45,38,.08); }
.nav-wrap { display: flex; align-items: center; justify-content: space-between; min-height: 86px; gap: 30px; }
.brand img { width: 190px; height: auto; filter: brightness(0) invert(1); transition: filter .2s; }
.scrolled .brand img { filter: none; }
.site-nav { display: flex; align-items: center; gap: 28px; color: #fff; font-size: 14px; font-weight: 700; letter-spacing: .04em; }
.scrolled .site-nav { color: var(--pine); }
.site-nav a { text-decoration: none; }
.site-nav a:hover { opacity: .72; }
.nav-cta { border: 1px solid currentColor; padding: 10px 15px; border-radius: 999px; }
.nav-toggle { display: none; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; padding: 9px 14px; background: transparent; color: #fff; font-weight: 700; }
.scrolled .nav-toggle { color: var(--pine); border-color: var(--line); }

.hero { min-height: 860px; position: relative; display: grid; align-items: end; color: #fff; overflow: hidden; background: var(--pine); }
.hero-media { position: absolute; inset: 0; background: url('../images/hero-overland.jpg') center 40% / cover no-repeat; transform: scale(1.01); }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(13,27,20,.86) 0%, rgba(13,27,20,.62) 42%, rgba(13,27,20,.14) 75%), linear-gradient(0deg, rgba(12,25,19,.75), transparent 55%); }
.hero-content { position: relative; padding: 190px 0 70px; }
.eyebrow { margin: 0 0 18px; text-transform: uppercase; letter-spacing: .24em; font-size: 12px; font-weight: 800; }
.eyebrow.clay { color: var(--clay); }
.hero h1 { margin: 0; max-width: 800px; font-size: clamp(56px, 8vw, 106px); line-height: .93; text-transform: uppercase; letter-spacing: -.055em; }
.hero h1 span { color: var(--stone); }
.hero-copy { max-width: 650px; margin: 28px 0 30px; color: rgba(255,255,255,.82); font-size: 18px; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 21px; border-radius: 999px; text-decoration: none; font-size: 14px; font-weight: 800; letter-spacing: .04em; border: 0; cursor: pointer; }
.button-primary { background: var(--clay); color: #fff; }
.button-primary:hover { filter: brightness(.94); }
.button-ghost { border: 1px solid rgba(255,255,255,.55); color: #fff; background: rgba(255,255,255,.05); }
.hero-stats { margin-top: 72px; display: flex; gap: 44px; }
.hero-stats div { display: grid; grid-template-columns: auto auto; gap: 9px; align-items: baseline; }
.hero-stats strong { color: var(--clay); font-size: 12px; letter-spacing: .12em; }
.hero-stats span { font-size: 13px; text-transform: uppercase; letter-spacing: .18em; }

.section { padding: 105px 0; }
.split { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: start; }
h2 { margin: 0; font-size: clamp(42px, 5vw, 68px); line-height: 1; letter-spacing: -.045em; text-transform: uppercase; color: var(--pine); }
.intro-copy { font-size: 19px; color: #39453f; max-width: 650px; }
.intro-copy p:first-child { margin-top: 6px; }
.cards-section { background: var(--pine); color: #fff; }
.cards-section h2, .story-panel h2, .journey h2, .contact-section h2 { color: inherit; }
.section-heading { display: grid; grid-template-columns: 1fr .7fr; align-items: end; gap: 50px; margin-bottom: 45px; }
.section-heading > p { color: rgba(255,255,255,.68); max-width: 480px; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.feature-card { min-height: 390px; padding: 34px; border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius); display: flex; flex-direction: column; background: rgba(255,255,255,.025); }
.feature-card.featured { background: var(--stone); color: var(--pine); border-color: transparent; transform: translateY(-12px); }
.feature-card .icon { font-size: 34px; color: var(--clay); }
.card-kicker { margin: 50px 0 8px; text-transform: uppercase; letter-spacing: .18em; font-size: 12px; font-weight: 800; opacity: .65; }
.feature-card h3 { margin: 0 0 14px; font-size: 30px; line-height: 1.05; }
.feature-card p:not(.card-kicker) { margin: 0; opacity: .72; }
.feature-card a { margin-top: auto; text-decoration: none; font-weight: 800; font-size: 14px; }

.field-story { padding-bottom: 0; }
.story-grid { display: grid; grid-template-columns: 1.1fr .9fr; min-height: 600px; box-shadow: var(--shadow); border-radius: var(--radius); overflow: hidden; }
.story-image { background-size: cover; background-position: center; min-height: 500px; }
.gear-image { background-image: url('../images/field-gear.jpg'); }
.story-panel { background: var(--pine); color: #fff; padding: 64px; display: flex; flex-direction: column; justify-content: center; }
.story-panel p:not(.eyebrow) { color: rgba(255,255,255,.72); font-size: 17px; }
.check-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 20px; }
.check-grid span { border-top: 1px solid rgba(255,255,255,.15); padding-top: 10px; font-size: 13px; text-transform: uppercase; letter-spacing: .12em; }
.quote-band { padding: 90px 0; background: var(--stone); }
.quote-grid { display: grid; grid-template-columns: .35fr 1fr; gap: 50px; align-items: start; }
blockquote { margin: 0; font-family: Georgia, serif; font-size: clamp(34px, 5vw, 58px); line-height: 1.12; color: var(--pine); }

.journey { position: relative; min-height: 680px; display: grid; align-items: center; color: #fff; overflow: hidden; }
.journey-image { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18,31,25,.72), rgba(18,31,25,.16)), url('../images/scenic-ridge.jpg') center / cover no-repeat; }
.journey-content { position: relative; }
.journey h2 { max-width: 820px; margin-bottom: 30px; }

.contact-section { background: var(--white); }
.contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: start; }
.contact-grid > div > p:not(.eyebrow) { color: #55605b; max-width: 520px; }
.contact-note { margin-top: 40px; display: grid; gap: 3px; padding-left: 16px; border-left: 3px solid var(--clay); }
.contact-note span { color: var(--ridge); font-size: 13px; text-transform: uppercase; letter-spacing: .15em; }
.contact-form { background: var(--sand); border: 1px solid var(--line); border-radius: var(--radius); padding: 30px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact-form label { display: grid; gap: 7px; margin-bottom: 16px; font-size: 13px; font-weight: 800; color: var(--pine); }
.contact-form label span { font-weight: 500; opacity: .6; }
input, select, textarea { width: 100%; border: 1px solid rgba(31,45,38,.18); border-radius: 12px; background: #fff; color: var(--ink); padding: 13px 14px; font: inherit; outline: none; }
input:focus, select:focus, textarea:focus { border-color: var(--clay); box-shadow: 0 0 0 3px rgba(194,94,58,.12); }
textarea { resize: vertical; }
.submit { width: 100%; }
.hp-field { position: absolute; left: -9999px; }
.form-alert { border-radius: 12px; padding: 13px 15px; margin-bottom: 18px; font-weight: 700; }
.form-alert.success { background: #e3ede8; color: #254335; }
.form-alert.error { background: #f5dfd8; color: #762f1d; }

.site-footer { background: #111b16; color: rgba(255,255,255,.7); padding: 55px 0; }
.footer-grid { display: grid; grid-template-columns: 1fr auto; gap: 35px; align-items: end; }
.footer-logo { width: 190px; filter: brightness(0) invert(1); opacity: .92; }
.footer-links { display: flex; gap: 24px; flex-wrap: wrap; }
.footer-links a { text-decoration: none; font-size: 13px; font-weight: 700; }
.copyright { margin: 0; grid-column: 1 / -1; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.1); font-size: 12px; }

@media (max-width: 900px) {
  .site-header { background: rgba(21,33,28,.9); backdrop-filter: blur(12px); }
  .scrolled.site-header { background: rgba(243,238,229,.94); }
  .nav-toggle { display: block; }
  .site-nav { position: absolute; top: 75px; left: 20px; right: 20px; display: none; flex-direction: column; align-items: stretch; gap: 6px; padding: 16px; background: var(--pine); color: #fff !important; border-radius: 16px; box-shadow: var(--shadow); }
  .site-nav.open { display: flex; }
  .site-nav a { padding: 10px 8px; }
  .nav-cta { border-color: rgba(255,255,255,.3); }
  .hero { min-height: 760px; }
  .hero-shade { background: linear-gradient(90deg, rgba(13,27,20,.88), rgba(13,27,20,.5)); }
  .split, .section-heading, .story-grid, .contact-grid, .quote-grid { grid-template-columns: 1fr; gap: 32px; }
  .feature-grid { grid-template-columns: 1fr; }
  .feature-card.featured { transform: none; }
  .feature-card { min-height: 300px; }
  .story-panel { padding: 42px; }
  .footer-grid { grid-template-columns: 1fr; align-items: start; }
}

@media (max-width: 620px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .section { padding: 78px 0; }
  .brand img, .footer-logo { width: 150px; }
  .nav-wrap { min-height: 72px; }
  .hero { min-height: 730px; }
  .hero-content { padding-bottom: 42px; }
  .hero-copy { font-size: 16px; }
  .hero-stats { gap: 18px; justify-content: space-between; }
  .hero-stats div { grid-template-columns: 1fr; gap: 2px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .contact-form { padding: 20px; }
  .story-panel { padding: 30px 24px; }
  .check-grid { grid-template-columns: 1fr; }
  .journey { min-height: 560px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}

/* ===== Airyridge Overland v2 ===== */
:root { --charcoal:#101814; --muted:#69736d; --soft:#ebe5da; }
body { overflow-x:hidden; }
h1,h2,h3 { text-wrap:balance; }
h3 { color:inherit; }
.site-nav a.active { color:var(--clay); }
.search-toggle { width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:transparent;color:#fff;font-size:22px;cursor:pointer; }
.scrolled .search-toggle { color:var(--pine);border-color:var(--line); }
.search-overlay { position:fixed;inset:0;z-index:1000;background:rgba(16,24,20,.96);color:#fff;display:grid;place-items:center;padding:24px; }
.search-overlay[hidden] { display:none; }
.search-close { position:absolute;right:30px;top:22px;background:none;border:0;color:#fff;font-size:44px;cursor:pointer; }
.search-box { width:min(800px,100%); }
.search-box label { display:block;font-size:clamp(34px,6vw,72px);font-weight:900;letter-spacing:-.05em;text-transform:uppercase;line-height:1;margin-bottom:26px; }
.search-box div,.page-search { display:flex;gap:10px; }
.search-box input,.page-search input { min-height:58px;font-size:18px; }
.hero-home .hero-media { background-position:center 40%; }
.hero-stats { flex-wrap:wrap; }
.intro-band { background:var(--sand); }
.align-center { align-items:center; }
.dark-section { background:var(--pine);color:#fff; }
.dark-section h2 { color:#fff; }
.dark-text h2 { color:var(--pine); }
.text-link { font-weight:850;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px;justify-self:end; }
.text-link.light { color:#fff; }

.route-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.route-card { background:#fff;border-radius:20px;overflow:hidden;color:var(--pine);box-shadow:0 12px 40px rgba(0,0,0,.10);display:flex;flex-direction:column; }
.route-image { min-height:265px;background:center/cover no-repeat;display:flex;align-items:flex-start;justify-content:flex-end;padding:16px;text-decoration:none; }
.difficulty { background:rgba(19,31,25,.88);color:#fff;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;backdrop-filter:blur(8px); }
.route-card-body { padding:24px;display:flex;flex-direction:column;flex:1; }
.route-card-body .card-kicker { margin:0 0 8px;color:var(--clay);opacity:1; }
.route-card h3 { font-size:29px;line-height:1.05;margin:0 0 12px;letter-spacing:-.035em; }
.route-card h3 a { text-decoration:none; }
.route-card p:not(.card-kicker) { color:#5a655f;margin:0 0 20px; }
.route-meta { margin-top:auto;padding-top:16px;border-top:1px solid var(--line);display:flex;gap:12px;flex-wrap:wrap;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#64706a; }
.route-grid-light .route-card { border:1px solid var(--line);box-shadow:none; }
.route-disclaimer { margin-top:38px;padding:22px;border-radius:14px;background:var(--soft);color:#53605a;font-size:14px; }

.rig-feature { background:var(--stone); }
.rig-feature-grid { display:grid;grid-template-columns:1.1fr .9fr;min-height:640px;border-radius:24px;overflow:hidden;background:var(--pine);box-shadow:var(--shadow); }
.rig-photo { background:url('../images/rig-summit.jpg') center/cover no-repeat;min-height:520px; }
.rig-copy { color:#fff;padding:64px;display:flex;flex-direction:column;justify-content:center; }
.rig-copy h2 { color:#fff; }
.rig-copy > p:not(.eyebrow) { color:rgba(255,255,255,.7);font-size:18px; }
.spec-strip { display:grid;grid-template-columns:repeat(3,1fr);margin:30px 0;gap:1px;background:rgba(255,255,255,.15); }
.spec-strip div { background:var(--pine);padding:15px 5px;display:grid; }
.spec-strip b { color:var(--clay);font-size:24px; }.spec-strip span { font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.7; }
.button-dark { background:var(--pine);color:#fff; }
.rig-copy .button-dark { background:#fff;color:var(--pine);align-self:flex-start; }
.button-light { background:var(--soft);color:var(--pine); }

.gear-section { background:var(--sand); }
.gear-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.gear-card { background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden; }
.gear-card img { width:100%;height:260px;object-fit:cover; }
.gear-card > div { padding:24px; }
.gear-card .card-kicker { margin:12px 0 7px; }
.gear-card h3 { margin:0 0 10px;font-size:27px;color:var(--pine); }.gear-card h3 a{text-decoration:none;}
.gear-card p:last-child { color:#64706a; }
.gear-verdict { display:inline-flex;border-radius:999px;background:var(--pine);color:#fff;padding:6px 10px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.1em; }

.journal-home { background:#fffdf8; }
.journal-grid { display:grid;grid-template-columns:1.5fr 1fr;gap:20px; }
.journal-card { display:grid;grid-template-columns:170px 1fr;gap:22px;padding:20px 0;border-top:1px solid var(--line); }
.journal-card img { width:100%;height:150px;object-fit:cover;border-radius:16px; }
.journal-card-lead { grid-row:span 2;display:block;border-top:0;padding:0 25px 0 0;border-right:1px solid var(--line); }
.journal-card-lead img { height:410px;margin-bottom:24px; }
.journal-card .card-kicker { margin:0 0 8px;color:var(--clay); }
.journal-card h3 { font-size:27px;line-height:1.05;margin:0 0 10px;color:var(--pine); }.journal-card h3 a{text-decoration:none;}
.journal-card p:last-child { color:#627069; }

.page-hero { min-height:640px;display:grid;align-items:end;padding:170px 0 70px;color:#fff;background:linear-gradient(90deg,rgba(14,28,21,.88),rgba(14,28,21,.32)),url('../images/scenic-ridge.jpg') center/cover no-repeat; }
.page-hero h1 { margin:0 0 25px;font-size:clamp(58px,9vw,112px);line-height:.88;text-transform:uppercase;letter-spacing:-.06em;max-width:970px; }
.page-hero p:not(.eyebrow) { max-width:650px;font-size:18px;color:rgba(255,255,255,.8); }
.page-hero .button { margin-top:15px; }
.routes-hero { background-image:linear-gradient(90deg,rgba(14,28,21,.90),rgba(14,28,21,.26)),url('../images/scenic-ridge.jpg'); }
.build-hero { background-image:linear-gradient(90deg,rgba(14,28,21,.90),rgba(14,28,21,.20)),url('../images/rig-summit.jpg'); }
.gear-hero { background-image:linear-gradient(90deg,rgba(14,28,21,.90),rgba(14,28,21,.22)),url('../images/field-gear.jpg'); }
.journal-hero { background-image:linear-gradient(90deg,rgba(14,28,21,.90),rgba(14,28,21,.22)),url('../images/ridge-golden.jpg'); }
.gallery-hero { background-image:linear-gradient(90deg,rgba(14,28,21,.90),rgba(14,28,21,.18)),url('../images/hero-overland.jpg'); }
.compact-hero { min-height:490px; }
.filter-bar { display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px; }
.filter { border:1px solid var(--line);background:transparent;border-radius:999px;padding:9px 15px;font-weight:800;color:var(--pine);cursor:pointer; }
.filter.active,.filter:hover { background:var(--pine);color:#fff; }
[data-filter-item].is-hidden { display:none!important; }

.detail-hero { min-height:700px;display:grid;align-items:end;padding:190px 0 70px;color:#fff;background:linear-gradient(0deg,rgba(10,20,15,.8),rgba(10,20,15,.10)),var(--detail-image) center/cover no-repeat; }
.detail-hero h1 { font-size:clamp(58px,8vw,108px);line-height:.9;letter-spacing:-.06em;text-transform:uppercase;margin:0 0 18px;max-width:1000px; }
.detail-hero p:not(.eyebrow) { max-width:660px;font-size:19px; }
.detail-stats { background:var(--pine);color:#fff; }
.stat-grid { display:grid;grid-template-columns:repeat(4,1fr); }.stat-grid>div{padding:28px;border-right:1px solid rgba(255,255,255,.12);display:grid;gap:3px}.stat-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--clay);font-weight:850}.stat-grid b{font-size:20px}
.detail-grid { display:grid;grid-template-columns:1fr 340px;gap:80px; }
.prose { font-size:18px;color:#46534c; }.prose h2{margin-bottom:28px}.prose p{margin:0 0 22px}.prose hr{border:0;border-top:1px solid var(--line);margin:42px 0}
.detail-sidebar { display:grid;gap:14px;align-content:start; }.side-card{background:var(--soft);padding:22px;border-radius:16px}.side-card h3{margin:0 0 8px;color:var(--pine)}.side-card p{margin:0 0 10px;color:#5c6962}
.callout { border-left:4px solid var(--clay);padding:20px 22px;background:var(--soft);margin-top:35px;border-radius:0 14px 14px 0; }.callout p{margin:5px 0 0}

.map-page { background:var(--sand); }.map-header{padding:150px 0 36px;background:var(--sand)}.map-header h1{margin:0;font-size:clamp(50px,7vw,90px);text-transform:uppercase;letter-spacing:-.05em;color:var(--pine)}.map-header p:not(.eyebrow){max-width:650px;color:#5d6962}
.map-layout { display:grid;grid-template-columns:360px 1fr;min-height:680px;border-top:1px solid var(--line); }.map-list{padding:24px;background:#fff;overflow:auto;max-height:680px}.map-list h2{font-size:26px;margin-bottom:18px}.map-route{width:100%;text-align:left;border:0;border-top:1px solid var(--line);background:transparent;padding:16px 4px;cursor:pointer;display:grid;gap:3px;color:var(--pine)}.map-route:hover{color:var(--clay)}.map-route span{font-size:12px;color:#6b756f}.adventure-map{min-height:680px;background:#dcd9d0}.leaflet-popup-content a{color:var(--clay);font-weight:800}

.build-intro { display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:end;margin-bottom:42px; }.build-intro>p{font-size:19px;color:#5d6962}.build-photo img{width:100%;height:620px;object-fit:cover;border-radius:24px}.system-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:50px}.system-grid article{background:#fff;border:1px solid var(--line);padding:28px;border-radius:18px}.system-grid article>span{color:var(--clay);font-weight:900}.system-grid h3{font-size:29px;margin:25px 0 10px;color:var(--pine)}.system-grid p,.system-grid li{color:#637069}.system-grid ul{padding-left:18px}

.gear-library { display:grid;gap:22px; }.gear-library-card{display:grid;grid-template-columns:380px 1fr;gap:34px;border:1px solid var(--line);border-radius:22px;padding:20px;background:#fff}.gear-library-card img{width:100%;height:300px;object-fit:cover;border-radius:14px}.gear-library-card h2{font-size:42px;text-transform:none;margin:0 0 12px}.gear-library-card h2 a{text-decoration:none}.gear-library-card .card-kicker{margin:14px 0 8px}.gear-topline{display:flex;justify-content:space-between;gap:15px;align-items:center;color:var(--clay)}
.product-detail{padding:150px 0 90px}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.product-image img{width:100%;height:680px;object-fit:cover;border-radius:24px;position:sticky;top:120px}.product-copy h1{font-size:clamp(50px,6vw,88px);line-height:.9;text-transform:uppercase;letter-spacing:-.055em;margin:0 0 20px;color:var(--pine)}.product-copy .lead{font-size:22px;color:#4e5b54}.product-copy>p:not(.eyebrow){color:#5f6b65}.product-rating{display:flex;gap:14px;align-items:center;margin-bottom:28px}.product-rating span{color:var(--clay)}.product-rating b{font-size:12px;text-transform:uppercase;letter-spacing:.08em}

.journal-index{display:grid;grid-template-columns:1fr 1fr;gap:35px}.journal-index-card{display:grid;grid-template-columns:230px 1fr;gap:24px;padding-bottom:30px;border-bottom:1px solid var(--line)}.journal-index-card.lead{grid-column:1/-1;grid-template-columns:1.2fr .8fr;align-items:center;background:var(--pine);color:#fff;padding:0;border:0;border-radius:24px;overflow:hidden}.journal-index-card.lead img{height:520px;border-radius:0}.journal-index-card.lead>div{padding:45px}.journal-index-card img{height:210px;width:100%;object-fit:cover;border-radius:15px}.journal-index-card .card-kicker{margin:0 0 8px;color:var(--clay)}.journal-index-card h2{font-size:34px;text-transform:none;margin:0 0 10px;color:inherit}.journal-index-card h2 a{text-decoration:none}.journal-index-card p:not(.card-kicker){color:inherit;opacity:.72}
.article-header{padding:170px 0 55px;background:var(--sand)}.narrow{width:min(calc(100% - 40px),820px);margin:auto}.article-header h1{font-size:clamp(50px,7vw,92px);line-height:.94;letter-spacing:-.055em;text-transform:uppercase;color:var(--pine);margin:0 0 20px}.article-header p:not(.eyebrow){font-size:22px;color:#57645d}.article-image{width:min(calc(100% - 40px),1200px);margin:0 auto}.article-image img{width:100%;height:650px;object-fit:cover;border-radius:24px}.article-body{padding-top:65px;padding-bottom:100px;font-family:Georgia,serif;font-size:21px;line-height:1.8}.article-body strong{font-family:Inter,ui-sans-serif,system-ui,sans-serif}

.masonry-gallery{columns:3 310px;column-gap:16px}.gallery-item{width:100%;display:inline-block;margin:0 0 16px;padding:0;border:0;background:#111;border-radius:16px;overflow:hidden;position:relative;cursor:zoom-in}.gallery-item img{width:100%;height:auto}.gallery-item span{position:absolute;inset:auto 14px 14px;color:#fff;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;text-shadow:0 2px 12px rgba(0,0,0,.7)}.lightbox{position:fixed;inset:0;z-index:1100;background:rgba(5,10,8,.96);display:grid;place-items:center;padding:50px}.lightbox[hidden]{display:none}.lightbox img{max-width:95vw;max-height:88vh;object-fit:contain}.lightbox button{position:absolute;right:24px;top:16px;border:0;background:none;color:#fff;font-size:44px;cursor:pointer}

.page-search { max-width:740px;margin-top:30px }.search-results{display:grid;gap:0}.result-count{margin-bottom:20px;color:#68736d}.search-results article{display:grid;grid-template-columns:120px 1fr;gap:25px;padding:26px 0;border-top:1px solid var(--line)}.search-results article>span{color:var(--clay);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.search-results h2{font-size:32px;text-transform:none;margin:0 0 8px}.search-results h2 a{text-decoration:none}.search-results p{margin:0;color:#5e6a64}

.footer-grid { grid-template-columns:1fr auto 1.1fr;align-items:start; }.footer-nav{display:grid;gap:8px}.footer-nav a{text-decoration:none;font-size:13px;font-weight:800}.footer-newsletter{display:grid;gap:8px}.footer-newsletter label{color:#fff;font-weight:800}.footer-newsletter div{display:flex}.footer-newsletter input{border-radius:10px 0 0 10px;border:0}.footer-newsletter button{border:0;border-radius:0 10px 10px 0;padding:0 16px;background:var(--clay);color:#fff;font-weight:900}.footer-newsletter small{font-size:11px;opacity:.65}.copyright{grid-column:1/-1}
.site-toast{position:fixed;z-index:1200;right:20px;bottom:20px;max-width:380px;padding:14px 18px;border-radius:12px;box-shadow:var(--shadow);font-weight:750}.site-toast.success{background:#e3ede8;color:#254335}.site-toast.error{background:#f5dfd8;color:#762f1d}

.install-wrap{max-width:760px}.install-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px}.install-card h2{font-size:38px}.install-card label{display:grid;gap:7px;margin-bottom:17px;font-weight:800}.install-card small{font-weight:500;color:#707a74}.install-card code{background:var(--soft);padding:2px 5px;border-radius:5px}

/* Admin */
.admin-body{background:#eef0eb}.admin-topbar{height:72px;position:fixed;inset:0 0 auto 0;z-index:100;background:var(--pine);display:flex;align-items:center;justify-content:space-between;padding:0 26px}.admin-topbar img{width:150px;filter:brightness(0) invert(1)}.admin-topbar>div{display:flex;gap:20px}.admin-topbar a{color:#fff;text-decoration:none;font-size:13px;font-weight:800}.admin-shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh;padding-top:72px}.admin-sidebar{background:#15211c;padding:26px 16px;min-height:calc(100vh - 72px)}.admin-sidebar nav{display:grid;gap:5px;position:sticky;top:98px}.admin-sidebar a{color:rgba(255,255,255,.75);text-decoration:none;padding:11px 12px;border-radius:9px;font-weight:750;font-size:14px}.admin-sidebar a:hover{background:rgba(255,255,255,.08);color:#fff}.admin-main{padding:42px;max-width:1500px;width:100%}.admin-heading{margin-bottom:28px}.admin-heading h1{margin:0;color:var(--pine);font-size:50px;letter-spacing:-.04em;text-transform:uppercase}.admin-welcome{max-width:700px;font-size:18px;color:#5f6b65}.admin-stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:28px 0}.admin-stat-grid a{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;text-decoration:none;display:grid}.admin-stat-grid span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#69746e;font-weight:800}.admin-stat-grid b{font-size:40px;color:var(--pine)}.admin-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:25px}.admin-panel h2{font-size:28px;text-transform:none;margin-bottom:8px}.admin-panel p{margin:0;color:#5d6963}.admin-toolbar{display:flex;justify-content:flex-end;margin-bottom:16px}.admin-table-wrap{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{text-align:left;padding:15px;border-bottom:1px solid var(--line);vertical-align:middle}.admin-table th{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#718079}.admin-table td small{display:block;color:#849089}.table-actions{display:flex;justify-content:flex-end;gap:10px}.table-actions a,.table-actions button{border:0;background:none;color:var(--clay);font-weight:800;cursor:pointer;text-decoration:none}.status-pill{display:inline-flex;border-radius:999px;background:#e7e7e2;padding:5px 8px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.status-pill.live,.status-pill.active,.status-pill.read{background:#dfece5;color:#285340}.status-pill.new{background:#f7e4d9;color:#853b24}.admin-form{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-form label{display:grid;gap:7px;font-size:13px;font-weight:800}.admin-form label.wide{grid-column:1/-1}.admin-form label:has(input[type=checkbox]){display:flex;align-items:center}.admin-form input[type=checkbox]{width:auto}.admin-form-actions{display:flex;gap:10px;margin-top:24px}.narrow-form{max-width:650px;display:grid;gap:18px}.narrow-form h2{font-size:32px;text-transform:none}.inquiry-list{display:grid;gap:14px}.inquiry-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}.inquiry-card.new{border-left:4px solid var(--clay)}.inquiry-meta{display:flex;justify-content:space-between}.inquiry-card h2{font-size:28px;text-transform:none;margin:12px 0 3px}.inquiry-card>p{margin:0;color:#65716a}.inquiry-card blockquote{font-family:inherit;font-size:16px;background:var(--soft);padding:16px;margin:18px 0;border-radius:10px;color:#38443e}.inquiry-card form{display:flex;gap:8px}.inquiry-card form button{border:1px solid var(--line);border-radius:8px;background:#fff;padding:7px 10px;cursor:pointer}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(rgba(17,30,23,.78),rgba(17,30,23,.88)),url('../images/scenic-ridge.jpg') center/cover fixed;padding:24px}.login-card{width:min(460px,100%);background:var(--sand);padding:38px;border-radius:22px;box-shadow:0 35px 90px rgba(0,0,0,.3)}.login-card>a img{width:185px;margin-bottom:35px}.login-card h1{font-size:48px;text-transform:uppercase;letter-spacing:-.05em;color:var(--pine);margin:0 0 20px}.login-card form{display:grid;gap:15px}.login-card label{display:grid;gap:6px;font-size:13px;font-weight:800}.login-card small{display:block;margin-top:18px;color:#69756e}

@media (max-width:1050px){
 .route-grid,.gear-grid,.system-grid{grid-template-columns:repeat(2,1fr)}
 .rig-feature-grid,.product-grid{grid-template-columns:1fr}.rig-photo{min-height:600px}.product-image img{position:static;height:600px}
 .journal-grid{grid-template-columns:1fr}.journal-card-lead{grid-row:auto;border-right:0;padding:0 0 26px;border-bottom:1px solid var(--line)}
 .footer-grid{grid-template-columns:1fr 1fr}.footer-newsletter{grid-column:1/-1;max-width:600px}
 .admin-stat-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
 .search-toggle{margin-left:auto}.site-nav{top:75px}.nav-wrap{gap:12px}
 .route-grid,.gear-grid,.system-grid{grid-template-columns:1fr 1fr}.detail-grid,.build-intro,.gear-library-card,.journal-index-card,.journal-index-card.lead{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr}.stat-grid>div{border-bottom:1px solid rgba(255,255,255,.12)}
 .map-layout{grid-template-columns:1fr}.map-list{max-height:none;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.map-list h2{grid-column:1/-1}.adventure-map{min-height:570px}
 .gear-library-card img{height:360px}.journal-index-card.lead img{height:420px}.article-image img{height:500px}
 .admin-shell{grid-template-columns:1fr}.admin-sidebar{min-height:auto}.admin-sidebar nav{position:static;display:flex;overflow:auto}.admin-sidebar a{white-space:nowrap}.admin-main{padding:28px}.admin-stat-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
 .search-toggle{width:36px;height:36px}.page-hero{min-height:570px;padding-top:130px}.page-hero h1{font-size:54px}.detail-hero{min-height:620px}.detail-hero h1{font-size:54px}
 .route-grid,.gear-grid,.system-grid{grid-template-columns:1fr}.route-image{min-height:240px}.rig-photo{min-height:420px}.rig-copy{padding:34px 24px}.spec-strip{grid-template-columns:1fr}.build-photo img{height:420px}
 .stat-grid{grid-template-columns:1fr 1fr}.stat-grid>div{padding:18px 12px}.stat-grid b{font-size:15px}.detail-grid{gap:35px}.product-detail{padding-top:120px}.product-image img{height:430px}.product-copy h1{font-size:50px}
 .journal-card{grid-template-columns:110px 1fr}.journal-card img{height:120px}.journal-card-lead img{height:280px}.journal-index-card img{height:260px}.journal-index-card.lead img{height:320px}.article-image img{height:330px}.article-body{font-size:19px}.narrow{width:min(calc(100% - 28px),820px)}
 .map-list{grid-template-columns:1fr}.adventure-map{min-height:500px}.footer-grid{grid-template-columns:1fr}.footer-newsletter{grid-column:auto}.search-box div,.page-search{flex-direction:column}.search-results article{grid-template-columns:1fr;gap:6px}
 .admin-topbar{padding:0 14px}.admin-topbar img{width:125px}.admin-topbar>div a:first-child{display:none}.admin-main{padding:22px 14px}.admin-heading h1{font-size:38px}.admin-stat-grid{grid-template-columns:1fr 1fr}.admin-form-grid{grid-template-columns:1fr}.admin-form label.wide{grid-column:auto}.admin-panel{align-items:flex-start;flex-direction:column}.admin-table{min-width:700px}
}
