/* Home page — loaded only on the front page. Reuses the brand tokens from
 * main.css:root (--forest, --cream, --sand, --accent, --font-display...).
 * --accent-deep is a deeper derivative of the existing orange so white text on
 * the orange button passes WCAG AA. */
:root{
  --accent-deep:#a43c0a;
}

/* ---- Eyebrow clipping fix: each home section gets room above its eyebrow. ---- */
.home-featured,.home-gallery,.home-faq,.home-testi,.home-posts,
.section[class*="home-"]{padding-top:clamp(44px,6vw,72px)}

/* ============================ HERO ============================ */
.home-hero{
  position:relative;display:flex;align-items:center;overflow:hidden;color:#fff;
  min-height:clamp(460px,74vh,640px);background:var(--forest);
}
.home-hero__bg{position:absolute;inset:0}
.home-hero__bg img{width:100%;height:100%;object-fit:cover;display:block}
/* Soft professional scrim: deepen left + bottom so white copy stays legible. */
.home-hero::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(78deg,rgba(15,26,20,.66) 0%,rgba(15,26,20,.34) 42%,rgba(15,26,20,.06) 72%),linear-gradient(180deg,rgba(15,26,20,.16) 0%,transparent 30%,rgba(15,26,20,.38) 100%);
}

.home-hero__content{position:relative;z-index:2;width:100%;max-width:700px;padding:72px 20px 96px;margin:0 auto;text-align:center}
.home-hero__content h1{
  font-family:var(--font-display);color:#fff;font-size:clamp(40px,5.6vw,64px);line-height:1.05;
  margin:14px 0 18px;letter-spacing:-.01em;
}
.home-hero__content .lead{color:rgba(255,255,255,.88);max-width:560px;font-size:clamp(16px,1.6vw,19px);margin:0 auto}
.eyebrow--light{background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(4px);font-size:12px;padding:7px 13px;border-radius:999px}

.home-hero__ctas{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 0;justify-content:center}

.home-hero__stats{
  display:flex;flex-wrap:wrap;justify-content:center;gap:12px 34px;list-style:none;margin:38px auto 0;padding:0;border-top:1px solid rgba(255,255,255,.2);padding-top:26px;max-width:560px;
}
.home-hero__stats li{display:flex;flex-direction:column;gap:1px}
.home-hero__stats b{font-family:var(--font-display);font-size:26px;line-height:1;color:#fff}
.home-hero__stats span{font-size:12.5px;color:rgba(255,255,255,.72)}

/* ---- Finder bar (contained white card below the hero) ---- */
.home-hero__finderbar{background:var(--sand);border-bottom:1px solid #ece5d4;padding:30px 0}
.home-hero__finder{
  display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;
  background:#fff;border:1px solid #e9e2d2;border-radius:18px;padding:18px;
  box-shadow:0 18px 44px #2c3a2f12;
}
.finder-field{display:flex;flex-direction:column;gap:5px;flex:1 1 160px}
.finder-field__label{font-size:12px;font-weight:600;letter-spacing:.02em;color:#4b5750;text-transform:uppercase}
.finder-field select{
  width:100%;padding:12px 14px;font:inherit;font-size:15px;color:var(--forest);
  background:#fff;border:1px solid #d8d0bb;border-radius:10px;appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2317281f' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
}
.finder-submit{flex:1 1 100%;justify-content:center;padding:14px 26px}
.finder-submit:hover{background:var(--accent-deep)}
@media(min-width:640px){.finder-submit{flex:0 1 auto}}

/* ======================== FEATURED TREKS ======================== */
.home-featured__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}
.home-featured__head .eyebrow{margin-bottom:8px}
.home-featured__grid{gap:24px}
.home-featured__grid .card{display:flex;flex-direction:column}
.home-featured__grid .card-body{flex:1;display:flex;flex-direction:column}
.home-featured__grid .card-body a.view-trek{margin-top:auto}
.home-featured__more{margin-top:26px}
.home-featured__more a,.home-posts__more a{color:var(--accent-dark);font-weight:600;text-decoration:underline;text-underline-offset:3px;font-size:15px}
.home-featured__all{white-space:nowrap}

/* ============================ GALLERY ============================ */
.home-gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.home-gallery__item{
  position:relative;display:block;padding:0;margin:0;border:0;cursor:pointer;
  border-radius:var(--radius);overflow:hidden;background:var(--sand);
}
.home-gallery__item img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform .35s ease}
.home-gallery__item:hover img{transform:scale(1.04)}
.home-gallery__item:focus-visible,.finder-field select:focus-visible,.home-gallery__cta button:focus-visible,
.home-featured__all:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.home-gallery__cta{margin-top:18px}

/* -------- Lightbox -------- */
.atlas-lightbox{
  position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;
  background:rgba(18,26,20,.92);padding:20px;
}
.atlas-lightbox.is-open{display:flex}
.atlas-lightbox__stage{position:relative;max-width:min(1000px,92vw);max-height:84vh}
.atlas-lightbox__img{display:block;max-width:100%;max-height:84vh;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.atlas-lightbox__btn{
  position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;
  border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.35);color:#fff;font-size:22px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.atlas-lightbox__btn--prev{left:16px}
.atlas-lightbox__btn--next{right:16px}
.atlas-lightbox__close{position:absolute;top:8px;right:8px;transform:none}
.atlas-lightbox__btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.atlas-lightbox__count{position:absolute;bottom:-34px;left:0;right:0;text-align:center;color:rgba(255,255,255,.8);font-size:13px}

/* =========================== TESTIMONIALS =========================== */
.home-testi__grid{gap:18px;margin-top:22px}
.home-testi__more{margin-top:22px}

.btn-ghost-light{color:var(--cream)!important;border:2px solid var(--cream);background:transparent}

/* ============================ TRUST STRIP ============================ */
.trust-strip{background:var(--sand);border-top:1px solid #ece5d4;border-bottom:1px solid #ece5d4;padding:18px 0}
.trust-strip__inner{display:flex;flex-wrap:wrap;gap:14px 30px;align-items:center;justify-content:center}
.trust-strip__badge{display:inline-flex;align-items:center;gap:9px;font-size:14px;color:#37423b;font-weight:500}
.trust-strip__icon{color:var(--accent-deep);display:inline-flex}
@media(max-width:640px){
  .trust-strip__inner{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 16px;align-items:center}
  .trust-strip__badge{font-size:13px;gap:8px}
}

/* =========================== RESPONSIVE =========================== */
@media(max-width:820px){
  .home-gallery__grid,.home-featured__grid{grid-template-columns:repeat(2,1fr)}
  .home-hero__content{padding:56px 20px 76px}
}
@media(max-width:560px){
  .home-gallery__grid,.home-featured__grid,.home-posts__grid,.grid-3{grid-template-columns:1fr}
  .home-hero{min-height:520px}
  .home-hero__content{max-width:100%}
  .home-hero__content h1{font-size:clamp(34px,11vw,44px)}
  .home-hero__stats{gap:14px 22px}
  .finder-field{flex:1 1 100%}
}
@media(prefers-reduced-motion:reduce){
  .home-gallery__item img{transition:none}
  .marquee-track{animation:none}
}
