/* ============================================================
   KILIMANJARO NATURE TOURS
   Palette: Acacia Green / Sunrise Amber / Espresso / Stone / Savanna.
   Type: Archivo only. Mono caps for small meta labels.
   Recurring assets: route-line, Swahili micro-copy.
   Landing page is video throughout, no static photography, only
   the video-poster stills every <video> needs before it can play.
   No em dashes anywhere in the copy, by request.
   ============================================================ */

:root{
  --acacia:#3E7C3E;
  --acacia-deep:#2C5A2C;
  --amber:#C9891D;
  --espresso:#45230F;
  --espresso-deep:#2E1608;
  --stone:#F0EEE9;
  --savanna:#B08050;

  --ink:#2B1B10;
  --ink-soft:rgba(43,27,16,.68);
  --ink-faint:rgba(43,27,16,.46);
  --line:rgba(43,27,16,.14);

  --display:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --sans:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:ui-monospace,"SF Mono","SFMono-Regular",Menlo,Consolas,"Roboto Mono",monospace;

  /* billboard type: uppercase, tight leading, negative tracking */
  --t-hero:clamp(2.6rem,7.4vw,6rem);
  --t-xl:clamp(1.9rem,4.6vw,3.4rem);
  --t-row:clamp(1.9rem,4.6vw,3rem);
  --t-body:clamp(1rem,1.1vw,1.15rem);
  --t-sm:.9375rem;
  --t-xs:.8125rem;

  --gut:clamp(1.5rem,5vw,5rem);
  --sec:clamp(6rem,11vw,11rem);
  --maxw:1240px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--stone);color:var(--ink);
  font-family:var(--sans);font-size:var(--t-body);line-height:1.6;font-weight:400;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,svg,video{display:block;max-width:100%}
img{height:auto}
h1,h2,h3{
  margin:0;font-family:var(--display);font-weight:900;line-height:.99;
  letter-spacing:-.02em;text-transform:uppercase;
}
p{margin:0}
a{color:inherit}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2.5px solid var(--amber);outline-offset:4px}

.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
.section{padding-block:var(--sec)}
.skip{position:absolute;left:.5rem;top:-4rem;z-index:200;background:var(--stone);color:var(--espresso);padding:.8rem 1.2rem;text-decoration:none;font-size:.875rem;transition:top .2s}
.skip:focus{top:.5rem}

/* ---------------- accent word (billboard hook) ---------------- */
.accent{color:var(--amber)}

/* ---------------- route-line, recurring asset ---------------- */
.routeline{display:block;width:100%;height:auto}
.routeline .dot{fill:var(--amber)}
.routeline .path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-dasharray:1 7}

/* ---------------- buttons ---------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:1.05rem 1.9rem;border-radius:2px;
  font-family:var(--display);font-size:.82rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  text-decoration:none;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)
}
.btn svg{width:17px;height:17px;fill:currentColor;flex:none}
/* Espresso = conversation intent (DM / WhatsApp). Acacia = planning intent. Per brand manual. */
.btn--talk{background:var(--espresso);color:var(--stone)}
.btn--talk:hover{background:var(--espresso-deep)}
.btn--plan{background:var(--acacia);color:#fff}
.btn--plan:hover{background:var(--acacia-deep)}
.btn--line{border:1px solid var(--line);color:var(--ink)}
.btn--line:hover{border-color:var(--espresso);background:rgba(43,27,16,.04)}
.btn--onDark{border:1px solid rgba(240,238,233,.4);color:var(--stone)}
.btn--onDark:hover{background:rgba(240,238,233,.1);border-color:rgba(240,238,233,.75)}

/* ---------------- header ---------------- */
.header{position:fixed;inset:0 0 auto;z-index:80;padding-block:1.1rem;transition:background .4s var(--ease),padding .4s var(--ease)}
.header__bar{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.header.is-stuck{background:var(--stone);box-shadow:0 1px 0 var(--line);padding-block:.6rem}
.header__nav{display:flex;gap:clamp(1.2rem,2.4vw,2.4rem)}
.header__nav a{text-decoration:none;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--stone);opacity:.85;transition:opacity .25s}
.header__nav a:hover{opacity:1}
.header.is-stuck .header__nav a{color:var(--ink)}
.header.is-stuck .btn--onDark{color:var(--espresso);border-color:var(--line)}

.navdrop{position:relative}
.navdrop__panel{
  position:absolute;top:100%;left:50%;transform:translate(-50%,4px);margin-top:1rem;min-width:240px;max-width:280px;
  background:var(--stone);border:1px solid var(--line);border-radius:4px;box-shadow:0 16px 40px rgba(15,7,3,.18);
  padding:.6rem 0;opacity:0;visibility:hidden;transition:opacity .2s var(--ease),transform .2s var(--ease);z-index:90
}
.navdrop:hover .navdrop__panel,.navdrop:focus-within .navdrop__panel{opacity:1;visibility:visible;transform:translate(-50%,0)}
.navdrop__panel a{display:block;padding:.55rem 1.1rem;font-family:var(--sans);font-size:.82rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink);opacity:1}
.navdrop__panel a:hover{background:rgba(62,124,62,.08);color:var(--acacia)}
.navdrop__panel .navdrop__all{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-top:1px solid var(--line);margin-top:.4rem;padding-top:.7rem}

.logo{display:inline-flex;flex:none;text-decoration:none}
.logo img{height:58px;width:auto;background:var(--stone);border-radius:3px;padding:.35rem .55rem;transition:height .4s var(--ease)}
.header.is-stuck .logo img{height:48px}

.burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;color:var(--stone)}
.burger svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.6;fill:none}
.header.is-stuck .burger{color:var(--espresso)}

.drawer{position:fixed;inset:0;z-index:90;background:var(--espresso-deep);color:var(--stone);padding:6rem var(--gut) 3rem;display:flex;flex-direction:column;transform:translateY(-100%);transition:transform .5s var(--ease);overflow-y:auto}
.drawer.is-open{transform:none}
.drawer a{text-decoration:none}
.drawer__nav{display:flex;flex-direction:column;gap:.4rem}
.drawer__nav a{font-family:var(--display);font-weight:900;text-transform:uppercase;letter-spacing:-.01em;font-size:2rem}
.drawer__group{border-bottom:1px solid rgba(240,238,233,.14)}
.drawer__group:first-child{border-top:1px solid rgba(240,238,233,.14)}
.drawer__group__toggle{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0;
  font-family:var(--display);font-weight:900;text-transform:uppercase;letter-spacing:-.01em;font-size:2rem;color:var(--stone)
}
.drawer__group__toggle svg{width:20px;height:20px;flex:none;stroke:rgba(240,238,233,.6);fill:none;stroke-width:1.8;transition:transform .35s var(--ease)}
.drawer__group.is-open .drawer__group__toggle svg{transform:rotate(45deg)}
.drawer__group__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.drawer__group.is-open .drawer__group__panel{grid-template-rows:1fr}
.drawer__group__panel>div{overflow:hidden}
.drawer__group__list{display:flex;flex-direction:column;padding-bottom:1rem}
.drawer__group__list a{font-family:var(--sans);font-weight:500;text-transform:none;letter-spacing:0;font-size:1rem;padding:.5rem 0;color:rgba(240,238,233,.85)}
.drawer__close{position:absolute;top:1.2rem;right:var(--gut);width:44px;height:44px;color:var(--stone)}
.drawer__close svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.6;fill:none}
.drawer__foot{margin-top:auto;font-family:var(--mono);font-size:var(--t-xs);letter-spacing:.04em;color:rgba(240,238,233,.6)}

/* ---------------- hero ---------------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:var(--stone);isolation:isolate}
.hero__media{position:absolute;inset:0;z-index:-2;overflow:hidden;background:var(--espresso-deep)}
.hero__media video,.hero__media img{width:100%;height:100%;object-fit:cover}
.hero__media video{opacity:0;transition:opacity 1.4s var(--ease)}
.hero__media video.is-ready{opacity:1}
.hero__media img{position:absolute;inset:0}
.hero__scrim{
  position:absolute;inset:0;z-index:2;
  background:
    linear-gradient(to bottom,rgba(20,10,4,.5) 0%,rgba(20,10,4,.26) 22%,rgba(20,10,4,.5) 46%,rgba(20,10,4,.76) 68%,rgba(20,10,4,.92) 100%),
    linear-gradient(to right,rgba(20,10,4,.66),rgba(20,10,4,.16) 58%,rgba(20,10,4,0) 82%);
}
.hero__inner{position:relative;z-index:3;width:100%;padding-bottom:clamp(3rem,7vw,6rem);padding-top:9rem}
.hero h1{font-size:var(--t-hero);max-width:16ch;text-wrap:balance;text-shadow:0 2px 40px rgba(10,5,2,.55)}
.hero__sub{margin-top:1.6rem;font-size:clamp(1.02rem,1.35vw,1.2rem);font-weight:400;text-transform:none;color:rgba(240,238,233,.92);max-width:34ch;text-shadow:0 1px 20px rgba(10,5,2,.7)}
.hero__cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.6rem}
.hero__rating{
  margin-top:2.4rem;display:inline-flex;align-items:center;gap:.6rem;
  font-size:var(--t-sm);color:rgba(240,238,233,.86);text-decoration:none
}
.hero__rating .stars{display:flex;gap:2px}
.hero__rating .stars svg{width:14px;height:14px;fill:var(--amber)}
.hero__rating b{font-weight:700;color:var(--stone)}
.hero__rating span{color:rgba(240,238,233,.6)}

/* ---------------- one quiet proof line ---------------- */
.factline{background:var(--espresso);color:rgba(240,238,233,.86);padding-block:1.4rem}
.factline p{
  display:flex;flex-wrap:wrap;gap:.55rem 1.6rem;align-items:baseline;
  font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;
}
.factline b{color:var(--amber);font-weight:700}


/* ---------------- reels grid: Kilimanjaro / Safari / Zanzibar, video not photos ---------------- */
.reels{border-top:1px solid var(--line)}
.reels__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line)}
.reel{
  position:relative;isolation:isolate;overflow:hidden;text-decoration:none;color:var(--stone);
  aspect-ratio:3/4;display:flex;flex-direction:column;justify-content:flex-end;
  background:var(--espresso-deep);
}
.reel__media,.reel__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.reel__media{opacity:0;transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.reel__media.is-ready{opacity:1}
.reel:hover .reel__media{transform:scale(1.045)}
.reel::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(15,7,3,.92) 0%,rgba(15,7,3,.3) 55%,rgba(15,7,3,.1) 100%)}
.reel__hook{position:relative;z-index:2;padding:1.6rem}
.reel__hook h2{font-size:clamp(1.5rem,2.6vw,2.1rem)}
.reel__hook p{margin-top:.5rem;font-size:.86rem;text-transform:none;color:rgba(240,238,233,.82);max-width:26ch}
.reel__go{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);transition:gap .3s var(--ease)}
.reel:hover .reel__go{gap:.9rem}

/* ---------------- video bands: full-bleed cinematic moments ---------------- */
.band{position:relative;min-height:clamp(420px,64vh,700px);display:flex;align-items:flex-end;color:var(--stone);isolation:isolate;overflow:hidden}
.band video,.band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.band video{opacity:0;transition:opacity 1.2s var(--ease)}
.band video.is-ready{opacity:1}
.band::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,rgba(15,7,3,.84) 0%,rgba(15,7,3,.3) 46%,rgba(15,7,3,.1) 100%)
}
.band__inner{width:100%;padding-block:clamp(2.6rem,5vw,4.5rem)}
.band h2{font-size:var(--t-xl);max-width:20ch;text-wrap:balance;text-shadow:0 2px 30px rgba(10,5,2,.55)}
.band__cta{margin-top:1.6rem}

/* ---------------- catalog: trek routes / safari itineraries ---------------- */
.catalog__banner{position:relative;min-height:clamp(260px,36vh,380px);display:flex;align-items:flex-end;color:var(--stone);isolation:isolate;overflow:hidden}
.catalog__banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.catalog__banner::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(15,7,3,.86) 0%,rgba(15,7,3,.25) 60%,rgba(15,7,3,.05) 100%)}
.catalog__banner .wrap{padding-block:clamp(2rem,4vw,3rem)}
.catalog__banner h2{font-size:var(--t-xl);text-shadow:0 2px 30px rgba(10,5,2,.55)}
.catalog__banner p{margin-top:.6rem;font-size:var(--t-sm);text-transform:none;color:rgba(240,238,233,.86);max-width:46ch}
.catalog__card{text-decoration:none;color:inherit;display:flex;flex-direction:column}
.catalog__thumb{position:relative;aspect-ratio:4/3;border-radius:3px;overflow:hidden;background:var(--espresso-deep)}
.catalog__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.catalog__card:hover .catalog__thumb img{transform:scale(1.05)}
.catalog__card h3{margin-top:.85rem;font-family:var(--display);font-weight:700;text-transform:none;letter-spacing:-.005em;font-size:.95rem;line-height:1.3;padding-bottom:.6rem;border-bottom:1px solid var(--line)}
.catalog__days{display:block;margin-top:.5rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}
.catalog__gear{display:flex;justify-content:center;padding-bottom:clamp(2.4rem,5vw,3.6rem)}

/* ---------------- slider: horizontal, swipeable card carousel ---------------- */
.slider{display:flex;align-items:center;gap:clamp(.6rem,1.6vw,1.2rem);padding-block:clamp(2.4rem,5vw,3.6rem)}
.slider__track{
  flex:1 1 auto;min-width:0;display:flex;gap:clamp(1rem,2.4vw,1.6rem);overflow-x:auto;scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.5rem
}
.slider__track::-webkit-scrollbar{display:none}
.slider__track .catalog__card{flex:0 0 auto;width:clamp(210px,26vw,270px);scroll-snap-align:start}
.slider__arrow{
  flex:0 0 auto;width:46px;height:46px;border-radius:50%;
  background:var(--stone);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:0 8px 22px rgba(15,7,3,.1);transition:opacity .25s,background .25s
}
.slider__arrow svg{width:18px;height:18px;stroke:var(--ink);fill:none;stroke-width:2}
.slider__arrow:hover{background:var(--acacia)}
.slider__arrow:hover svg{stroke:#fff}
.slider__arrow[disabled]{opacity:.25;pointer-events:none}
@media (max-width:640px){
  .slider{gap:.5rem}
  .slider__arrow{width:38px;height:38px}
  .slider__arrow svg{width:15px;height:15px}
  .slider__track{scroll-snap-type:x mandatory}
  .slider__track .catalog__card{width:72vw}
}

/* ---------------- tour detail pages ---------------- */
.tourhero{position:relative;min-height:clamp(320px,46vh,520px);display:flex;align-items:flex-end;color:var(--stone);isolation:isolate;overflow:hidden;margin-top:0}
.tourhero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.tourhero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(15,7,3,.86) 0%,rgba(15,7,3,.25) 55%,rgba(15,7,3,.05) 100%)}
.tourhero .wrap{padding-block:clamp(2.4rem,5vw,4rem) clamp(1.6rem,3vw,2.4rem);padding-top:calc(7rem + clamp(1rem,3vw,2rem))}
.tourhero__days{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--amber)}
.tourhero h1{margin-top:.5rem;font-size:var(--t-xl);max-width:22ch;text-wrap:balance;text-shadow:0 2px 30px rgba(10,5,2,.55)}
.breadcrumb{padding-block:1.4rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line)}
.breadcrumb a{color:var(--acacia)}
.tourbody{padding-block:clamp(2.6rem,5vw,4rem)}
.tourbody__grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(2rem,5vw,4rem)}
.tourbody p{color:var(--ink-soft);font-size:1rem;line-height:1.7;max-width:60ch}
.tourbody p+p{margin-top:1.2rem}
.tourbody__card{border:1px solid var(--line);border-radius:4px;padding:clamp(1.6rem,3vw,2rem);align-self:start;position:sticky;top:6rem}
.tourbody__card h2{font-size:1.3rem;text-transform:none;letter-spacing:-.005em}
.tourbody__card .catalog__days{display:inline-block;background:var(--espresso);color:var(--stone);padding:.35em .7em;border-radius:2px;margin-top:.8rem}
.tourbody__card .say__cta{justify-content:flex-start;margin-top:1.4rem}
@media (max-width:800px){
  .tourbody__grid{grid-template-columns:1fr}
  .tourbody__card{position:static}
}

/* ---------------- day-by-day itinerary ---------------- */
.itinerary{border-top:1px solid var(--line)}
.itinday{display:grid;grid-template-columns:4.5rem 1fr;gap:1.2rem;padding-block:1.5rem;border-bottom:1px solid var(--line)}
.itinday__num{font-family:var(--mono);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--acacia);padding-top:.2rem}
.itinday__body h3{font-family:var(--display);font-weight:700;text-transform:none;font-size:1rem;letter-spacing:-.005em;margin-bottom:.5rem;line-height:1.35}
.itinday__meta{font-family:var(--mono);font-size:.66rem;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.6rem;line-height:1.6}
.itinday__body p{color:var(--ink-soft);font-size:.92rem;line-height:1.65;max-width:65ch}
@media (max-width:560px){
  .itinday{grid-template-columns:1fr}
  .itinday__num{padding-top:0}
}

/* ---------------- reviews: real quotes as clean cards ---------------- */
.reviews{border-top:1px solid var(--line);padding-block:clamp(3rem,6vw,5rem)}
.reviews__head{text-align:center;margin-bottom:clamp(2rem,4vw,3rem)}
.reviews__head h2{font-size:var(--t-xl);max-width:26ch;margin-inline:auto;text-wrap:balance}
.reviews__stat{
  display:inline-flex;align-items:center;gap:.6rem;margin-top:1rem;text-decoration:none;
  font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);
  border-bottom:1px solid var(--line);padding-bottom:.3rem;transition:color .25s,border-color .25s
}
.reviews__stat:hover{color:var(--acacia);border-color:var(--acacia)}
.reviews__stat .review__stars svg{width:13px;height:13px}
.reviews__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.4vw,1.6rem)}
.review{background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;display:flex;flex-direction:column}
.review__photos{display:grid;grid-template-columns:1fr 1fr;gap:2px;aspect-ratio:16/9;background:var(--line)}
.review__photos img{width:100%;height:100%;object-fit:cover}
.review__body{padding:clamp(1.4rem,2.4vw,1.7rem);display:flex;flex-direction:column;gap:.9rem}
.review__who{display:flex;align-items:center;gap:.7rem}
.review__avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:none;background:var(--line)}
.review__name{font-weight:700;font-size:.86rem}
.review__loc{font-family:var(--mono);font-size:.62rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);margin-top:.15rem}
.review__stars{display:flex;gap:2px;margin-left:auto}
.review__stars svg{width:11px;height:11px;fill:var(--amber)}
.review__headline{font-family:var(--display);font-weight:700;text-transform:none;letter-spacing:-.005em;font-size:1.02rem;line-height:1.3}
.review__body>p{font-size:.86rem;color:var(--ink-soft);line-height:1.6}
.review__source{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--acacia);text-decoration:none}
.review__source:hover{color:var(--espresso)}
.reviews__cta{display:flex;justify-content:center;margin-top:clamp(2rem,4vw,3rem)}
@media (max-width:900px){
  .reviews__grid{grid-template-columns:1fr}
}

/* ---------------- centred statement blocks ---------------- */
.say{text-align:center}
.say h2{font-size:var(--t-xl);max-width:26ch;margin-inline:auto;text-wrap:balance}
.say p{margin-top:1.4rem;color:var(--ink-soft);text-transform:none;max-width:46ch;margin-inline:auto}
.say__cta{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:2.6rem}
.say--dark{background:var(--espresso);color:var(--stone)}
.say--dark p{color:rgba(240,238,233,.78)}

/* ---------------- Meet Baraka: portrait + copy ---------------- */
.baraka{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4rem);align-items:center;text-align:left}
.baraka__portrait{aspect-ratio:4/5;border-radius:4px;overflow:hidden;background:var(--espresso-deep)}
.baraka__portrait img{width:100%;height:100%;object-fit:cover;object-position:78% 55%}
.baraka__eyebrow{display:flex;align-items:center;gap:.9rem;margin-bottom:1rem;font-family:var(--mono);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--acacia)}
.routeline--sm{width:64px;color:var(--amber);flex:none}
.baraka__copy h2{max-width:none}
.baraka__copy p{margin-top:1.4rem;color:var(--ink-soft);text-transform:none;max-width:46ch}
.baraka__copy .say__cta{justify-content:flex-start}
.baraka .ytlink{margin-top:1.6rem}
@media (max-width:720px){
  .baraka{grid-template-columns:1fr}
}

/* ---------------- YouTube out-link ---------------- */
.ytlink{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.6rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);text-decoration:none;transition:color .25s}
.ytlink:hover{color:var(--espresso)}
.ytlink svg{width:20px;height:20px;fill:#C9891D}
.say--dark .ytlink{color:rgba(240,238,233,.65)}
.say--dark .ytlink:hover{color:var(--stone)}

/* ---------------- FAQ ---------------- */
.faq{max-width:840px;margin-inline:auto}
.faq__item{border-bottom:1px solid var(--line)}
.faq__item:first-child{border-top:1px solid var(--line)}
.faq__q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:2rem;
  padding:clamp(1.3rem,2.2vw,1.75rem) 0;text-align:left;
  font-family:var(--display);font-size:clamp(1rem,1.6vw,1.25rem);font-weight:700;
  text-transform:none;letter-spacing:-.005em;transition:color .25s
}
.faq__q:hover{color:var(--acacia)}
.faq__q svg{width:18px;height:18px;flex:none;stroke:var(--ink-faint);fill:none;stroke-width:1.8;transition:transform .4s var(--ease)}
.faq__item.is-open .faq__q svg{transform:rotate(45deg);stroke:var(--amber)}
.faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.faq__item.is-open .faq__a{grid-template-rows:1fr}
.faq__a>div{overflow:hidden}
.faq__a p{padding-bottom:1.8rem;max-width:58ch;color:var(--ink-soft);font-size:var(--t-sm);line-height:1.65}

/* ---------------- footer ---------------- */
.footer{background:var(--espresso-deep);color:rgba(240,238,233,.68);padding-block:clamp(4rem,7vw,6rem) 2rem;font-size:var(--t-sm)}
.footer a{text-decoration:none;transition:color .25s}
.footer a:hover{color:var(--stone)}

.footer__cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:clamp(2rem,5vw,3rem)}
.footer__col{display:flex;flex-direction:column;gap:.7rem}
.footer__col h5{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--amber);margin-bottom:.4rem}
.footer__col a{color:rgba(240,238,233,.78);font-size:.86rem}
.footer__col span{color:rgba(240,238,233,.6);font-size:.86rem}
.footer__col--brand p{margin-top:.9rem;color:rgba(240,238,233,.68);font-size:.86rem;line-height:1.6;max-width:32ch}
.footer__col--brand .logo img{background:var(--stone)}
.footer__social{display:flex;gap:.9rem;margin-top:1.2rem}
.footer__social a{opacity:.55;transition:opacity .25s}
.footer__social a:hover{opacity:1}
.footer__social svg{width:15px;height:15px;fill:currentColor}
.footer__cta{align-self:flex-start;margin-top:.4rem;padding:.75rem 1.3rem;font-size:.76rem}

.footer__orgs{margin-top:clamp(3rem,5vw,4rem);padding-top:2rem;border-top:1px solid rgba(240,238,233,.12)}
.footer__orgs__label{font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(240,238,233,.4);margin-bottom:1.2rem}
.footer__orgs__row{display:flex;flex-wrap:wrap;align-items:center;gap:1.6rem}
.footer__orgs img{height:26px;width:auto;filter:grayscale(1) brightness(2.4);opacity:.5;transition:opacity .3s}
.footer__orgs img:hover{opacity:.9}
.footer__orgs .award{height:38px;filter:none;opacity:.85;border-radius:3px}
.footer__legal{display:flex;flex-wrap:wrap;gap:1.4rem;justify-content:space-between;margin-top:2.4rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.03em;color:rgba(240,238,233,.4)}
.footer__legal ul{display:flex;flex-wrap:wrap;gap:1.4rem}
@media (max-width:900px){
  .footer__cols{grid-template-columns:1fr 1fr;row-gap:2.4rem}
  .footer__col--brand{grid-column:1 / -1}
}
@media (max-width:520px){
  .footer__cols{grid-template-columns:1fr}
}

/* ---------------- mobile sticky CTA ---------------- */
.sticky{
  position:fixed;inset:auto 0 0;z-index:70;display:none;
  padding:.6rem max(var(--gut),.8rem) calc(.6rem + env(safe-area-inset-bottom));
  background:var(--stone);border-top:1px solid var(--line);
  transform:translateY(110%);transition:transform .45s var(--ease)
}
.sticky.is-in{transform:none}
.sticky .btn{width:100%}

/* ---------------- reveal ---------------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.is-in{opacity:1;transform:none}

/* ---------------- responsive ---------------- */
@media (max-width:900px){
  .header__nav,.header__cta .btn{display:none}
  .burger{display:flex}
  .sticky{display:block}
  body{padding-bottom:calc(4.6rem + env(safe-area-inset-bottom))}
  .reels__grid{grid-template-columns:1fr}
  .reel{aspect-ratio:16/11}
}
@media (max-height:700px) and (min-width:900px){
  .hero__inner{padding-top:7rem}
  .hero h1{font-size:clamp(2.2rem,5vw,3.8rem)}
  .hero__cta{margin-top:1.8rem}
  .hero__rating{margin-top:1.6rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .reveal{opacity:1;transform:none}
  .hero__media video,.band video,.reel__media{opacity:1}
}

