/* hh/home-lift.css: the home-page lift (5 Nov 2026). Every rule here is scoped to tl-* so no other page is touched.
   Sheens fade from an edge (linear only); no radial gradients, no blobs. */
.tl-photo{position:relative;isolation:isolate;overflow:hidden;background:var(--deep);color:#fff}
.tl-photo__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.tl-photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(var(--tl-rgb),.94) 0%,rgba(var(--tl-rgb),.82) 30%,rgba(var(--tl-rgb),.38) 58%,rgba(var(--tl-rgb),0) 84%)}
.tl-photo--r::before{background:linear-gradient(270deg,rgba(var(--tl-rgb),.94) 0%,rgba(var(--tl-rgb),.82) 30%,rgba(var(--tl-rgb),.38) 58%,rgba(var(--tl-rgb),0) 84%)}
.tl-photo__in{max-width:calc(var(--w) + 2*var(--pad));margin:0 auto;padding:clamp(72px,10vw,140px) var(--pad);min-height:clamp(460px,60vh,620px);display:flex;flex-direction:column;justify-content:center}
.tl-photo--r .tl-photo__in{align-items:flex-end;text-align:left}
.tl-photo__txt{max-width:36rem}
.tl-photo__txt h2{color:#fff;font-size:clamp(2.1rem,5vw,4rem);line-height:1.05;margin:0 0 .45em;text-shadow:0 1px 20px rgba(0,0,0,.35)}
.tl-photo__txt p{color:#f6f4ee;font-size:clamp(1.06rem,1.4vw,1.22rem);line-height:1.55;max-width:34rem;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.tl-photo .kick{color:#fff}
.tl-photo__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.tl-photo__btns .btn{min-height:56px}
@media (max-width:760px){
  .tl-photo::before,.tl-photo--r::before{background:linear-gradient(0deg,rgba(var(--tl-rgb),.95) 0%,rgba(var(--tl-rgb),.84) 52%,rgba(var(--tl-rgb),.4) 100%)}
  .tl-photo__in{justify-content:flex-end;min-height:540px}
}
/* big numbers */
.tl-nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;max-width:calc(var(--w) + 2*var(--pad));margin-inline:auto}
.tl-nums li{padding:clamp(24px,3.2vw,44px) clamp(16px,2.2vw,32px);border-left:1px solid var(--tl-rule,rgba(255,255,255,.26))}
.tl-nums li:first-child{border-left:0}
.tl-nums b{display:block;font-family:var(--font-head);font-weight:var(--tl-nw,600);font-size:clamp(2.7rem,5.6vw,4.8rem);line-height:1;letter-spacing:-.03em;color:var(--tl-num,var(--accent))}
.tl-nums span{display:block;margin-top:.55em;font-size:1rem;line-height:1.4;color:var(--tl-numtxt,inherit)}
@media (max-width:760px){.tl-nums{grid-template-columns:repeat(2,minmax(0,1fr))}.tl-nums li:nth-child(odd){border-left:0}.tl-nums li:nth-child(n+3){border-top:1px solid var(--tl-rule,rgba(255,255,255,.26))}}
/* timeline */
.tl-line{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:0 clamp(20px,3.2vw,48px)}
.tl-line li{position:relative;padding-top:84px}
.tl-line li::before{content:"";position:absolute;top:26px;left:30px;right:calc(-1*clamp(20px,3.2vw,48px));height:3px;background:var(--tl-linec,var(--deep));opacity:.9}
.tl-line li:last-child::before{display:none}
.tl-line__n{position:absolute;top:0;left:0;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);font-family:var(--font-head);font-weight:700;font-size:1.45rem;line-height:1;box-shadow:0 0 0 7px var(--tl-bg,var(--paper))}
.tl-line h3{margin-bottom:8px}
.tl-line p{margin:0;color:var(--muted);max-width:28rem}
@media (max-width:760px){
  .tl-line{grid-template-columns:1fr;gap:26px}
  .tl-line li{padding:0 0 0 80px;min-height:56px}
  .tl-line li::before{top:56px;bottom:-30px;left:27px;right:auto;width:3px;height:auto}
  .tl-line li:last-child::before{display:none}
}
/* feature rides: one large card, two stacked */
.tl-rides{display:grid;gap:clamp(14px,2vw,24px);grid-template-columns:1.35fr 1fr;grid-template-rows:repeat(2,minmax(270px,1fr))}
.tl-ride{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--tl-r,20px);color:#fff;min-height:270px;display:flex;align-items:flex-end}
.tl-ride--big{grid-row:span 2;min-height:560px}
.tl-ride img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.tl-ride:hover img{transform:scale(1.04)}
.tl-ride::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(var(--tl-rgb),.94) 0%,rgba(var(--tl-rgb),.62) 36%,rgba(var(--tl-rgb),0) 68%)}
.tl-ride__len{position:absolute;top:16px;left:16px;padding:6px 14px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-weight:800;font-size:.9rem;line-height:1.2}
.tl-ride__body{padding:clamp(20px,2.6vw,34px);width:100%}
.tl-ride h3{color:#fff;font-size:clamp(1.5rem,2.6vw,2.3rem);margin:0 0 6px}
.tl-ride p{color:#f4f2ea;margin:0 0 14px;max-width:30rem}
.tl-ride__go{position:static;display:inline-flex;align-items:center;gap:9px;min-height:44px;color:#fff;font-weight:800;text-decoration:none;border-bottom:3px solid var(--accent)}
.tl-ride__go::after{content:"";position:absolute;inset:0;z-index:1}
.tl-ride__go svg{width:18px;height:18px}
@media (max-width:860px){.tl-rides{grid-template-columns:1fr;grid-template-rows:none}.tl-ride--big{grid-row:auto;min-height:440px}.tl-ride{min-height:300px}}
/* mosaic */
.tl-bento{list-style:none;margin:0;padding:0;display:grid;gap:clamp(10px,1.4vw,18px);grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(150px,17vw,235px)}
.tl-bento li{position:relative;overflow:hidden;border-radius:18px;margin:0;grid-column:span 3}
.tl-bento li:first-child{grid-row:span 2}
.tl-bento img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tl-bento figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 18px 16px;color:#fff;font-weight:700;font-size:1rem;line-height:1.3;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,0))}
.tl-bento figure{margin:0;position:absolute;inset:0}
@media (max-width:700px){.tl-bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:170px}.tl-bento li{grid-column:span 1}.tl-bento li:first-child{grid-column:span 2;grid-row:span 2}.tl-bento li:nth-child(2){grid-column:span 2}}
/* quote wall */
.tl-quotes{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,72px);align-items:start}
.tl-q{margin:0}
.tl-q blockquote{margin:0}
.tl-q p{margin:0}
.tl-q figcaption{margin-top:14px;font-weight:800;font-size:.95rem;letter-spacing:.02em}
.tl-q--lead blockquote{position:relative;padding-top:.9em}
.tl-q--lead blockquote::before{content:"\201C";position:absolute;left:-.04em;top:-.28em;font-family:var(--font-head);font-weight:700;font-size:6rem;line-height:1;color:var(--accent)}
.tl-q--lead p{font-family:var(--font-head);font-weight:var(--tl-qw,500);font-size:clamp(1.55rem,2.9vw,2.4rem);line-height:1.2;letter-spacing:-.012em;text-wrap:balance}
.tl-qlist{columns:2;column-gap:clamp(24px,4vw,56px)}
.tl-qlist .tl-q{break-inside:avoid;padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid var(--line)}
.tl-qlist .tl-q p{font-size:1.04rem;line-height:1.55}
@media (max-width:900px){.tl-quotes{grid-template-columns:1fr}}
@media (max-width:620px){.tl-qlist{columns:1}}
/* faq */
.tl-faq{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:start}
.tl-faq__head p{color:var(--muted);max-width:26rem}
.tl-faq details{border-top:1px solid var(--line)}
.tl-faq details:last-of-type{border-bottom:1px solid var(--line)}
.tl-faq summary{list-style:none;cursor:pointer;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;font-family:var(--font-head);font-weight:var(--tl-fw,600);font-size:clamp(1.12rem,1.7vw,1.32rem);line-height:1.25}
.tl-faq summary::-webkit-details-marker{display:none}
.tl-faq summary::after{content:"+";flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);font:700 1.4rem/1 var(--font-body)}
.tl-faq details[open] summary::after{content:"\2212"}
.tl-faq__a{padding:0 48px 22px 0;max-width:62ch;color:var(--muted)}
.tl-faq__a p{margin:0 0 .6em}
@media (max-width:860px){.tl-faq{grid-template-columns:1fr}}
/* head used above the new sections */
.tl-head{margin:0 0 clamp(28px,4vw,52px);max-width:46rem}
.tl-head p:last-child{color:var(--muted)}
.tl-sec{padding:clamp(60px,8vw,112px) 0}
.tl-soft{background:var(--soft)}
@media (prefers-reduced-motion:reduce) and (max-width:0px){.tl-ride img{transition:none}.tl-ride:hover img{transform:none}}

/* Marsh Mellow Airboats: deep marsh green, gold, Newsreader */
:root{--tl-rgb:12,38,29;--tl-r:26px;--tl-nw:500}
.tl-photo--first .tl-photo__in{min-height:clamp(480px,66vh,680px)}
.tl-photo h2{font-weight:500;letter-spacing:-.018em}
.tl-numband{background:var(--deep);color:var(--on-deep);padding:0 var(--pad)}
.tl-numband .tl-nums{--tl-rule:rgba(251,247,238,.22);--tl-numtxt:var(--on-deep-2)}
.tl-numband .tl-nums b{font-style:italic}
.tl-head h2{max-width:20ch}
.rides-home .sec__more{margin:34px 0 0}
.tl-soft{background:var(--soft)}
.tl-soft .tl-line{--tl-bg:var(--soft)}
.tl-line__n{font-style:italic}
.tl-ride{box-shadow:0 22px 40px -28px rgba(12,38,29,.6)}
.tl-ride h3{font-weight:500}
.tl-photo--r .tl-photo__in{align-items:flex-start}
.tl-photo--r .tl-photo__txt{margin-left:auto}
.tl-cta .tl-photo__in{min-height:clamp(480px,64vh,640px)}
/* the lake facts: bigger numerals, no boxes */
.lake .facts{gap:0}
.lake .fact{background:none;border:0;border-radius:0;border-left:1px solid rgba(251,247,238,.26);padding:8px clamp(18px,3vw,40px) 12px}
.lake .fact:first-child{border-left:0;padding-left:0}
.lake .fact__big{font-size:clamp(2.4rem,4.6vw,4rem);font-style:italic;color:var(--accent);line-height:1}
@media (max-width:900px){.lake .fact{border-left:0;border-top:1px solid rgba(251,247,238,.26);padding:22px 0}.lake .fact:first-child{border-top:0}}
/* wildlife sits on the page, no frames */
.tl-bento figcaption{font-family:var(--font-body)}
/* reviews */
.tl-q figcaption{color:var(--deep)}
.tl-q--lead blockquote::before{color:var(--accent)}
/* faq */
.tl-faq summary{font-weight:500}
.tl-faq__head h2{margin-bottom:14px}

.tl-head h2{margin-bottom:0}
.tl-head h2+p{margin-top:16px}
.tl-ride::before{background:linear-gradient(0deg,rgba(var(--tl-rgb),.95) 0%,rgba(var(--tl-rgb),.78) 42%,rgba(var(--tl-rgb),.18) 74%,rgba(var(--tl-rgb),0) 100%)}
.tl-cta .tl-photo__img{object-position:22% 50%}
/* inner-page heroes: dark source photos get a lift so the picture side holds luma at 390 */
.hh-hero--page .hh-hero__img{filter:brightness(1.24) saturate(1.04)}
