/* 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}}

/* Rooster Tail Jet Ski Co.: navy, lime, Bricolage 800 */
:root{--tl-rgb:12,22,46;--tl-r:10px;--tl-nw:800}
.tl-photo h2{font-weight:800;letter-spacing:-.025em}
.tl-head h2{margin-bottom:0;max-width:22ch}
.tl-head h2+p{margin-top:16px}
.tl-soft{background:var(--soft)}
.tl-soft .tl-line{--tl-bg:var(--soft)}
.kick::before{border-radius:0;transform:skewX(-20deg)}
/* the dock sign-board right under the hero */
.tl-sign{background:var(--deep)}
.tl-sign::before{background:linear-gradient(0deg,rgba(12,22,46,.97) 0%,rgba(12,22,46,.9) 55%,rgba(12,22,46,.72) 100%)}
.tl-sign__in{padding-top:clamp(64px,9vw,120px);padding-bottom:clamp(64px,9vw,120px);position:relative}
.tl-sign .tl-head h2{color:#fff;max-width:18ch}
.tl-plates{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.tl-plates li{position:relative;padding:58px 22px 24px;border-radius:var(--tl-r);background:rgba(20,33,61,.86);border:3px solid var(--accent);box-shadow:6px 6px 0 var(--accent)}
.tl-plates li::before{content:"";position:absolute;left:0;right:0;top:0;height:38px;background:var(--accent);border-radius:4px 4px 0 0}
.tl-plate__n{position:absolute;left:18px;top:5px;z-index:1;font:800 1.15rem/28px var(--font-head);color:var(--on-accent);letter-spacing:.04em}
.tl-plates h3{color:#fff;font-size:1.3rem;margin-bottom:8px}
.tl-plates p{margin:0;color:var(--on-deep-2);text-shadow:none;font-size:1rem}
@media (max-width:980px){.tl-plates{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.tl-plates{grid-template-columns:1fr}}
/* poster cards: slanted base, huge minutes */
.tl-posters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,26px);align-items:start}
.tl-poster{position:relative;isolation:isolate;overflow:hidden;color:#fff;border-radius:var(--tl-r);min-height:560px;display:flex;flex-direction:column;justify-content:flex-end;clip-path:polygon(0 0,100% 0,100% 100%,0 94%)}
.tl-poster:nth-child(2){margin-top:44px}
.tl-poster:nth-child(3){margin-top:88px}
.tl-poster>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-poster:hover>img{transform:scale(1.04)}
.tl-poster::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(12,22,46,.96) 0%,rgba(12,22,46,.78) 38%,rgba(12,22,46,.1) 66%,rgba(12,22,46,.35) 100%)}
.tl-poster__len{position:absolute;top:14px;left:20px;margin:0;line-height:.9;font-family:var(--font-head);font-style:italic}
.tl-poster__len b{display:block;font-weight:800;font-size:clamp(4rem,7vw,6rem);letter-spacing:-.05em;color:var(--accent);text-shadow:0 2px 18px rgba(0,0,0,.45)}
.tl-poster__len span{display:block;margin-top:2px;font:800 1.05rem var(--font-body);font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.6)}
.tl-poster__body{padding:26px 24px clamp(34px,4vw,48px)}
.tl-poster h3{color:#fff;font-size:clamp(1.5rem,2.3vw,2rem);margin:0 0 6px}
.tl-poster__body p{margin:0 0 16px;color:#f1f4ec}
.tl-poster__go{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-poster__go::after{content:"";position:absolute;inset:0;z-index:1}
.tl-poster__go svg{width:18px;height:18px}
.offers-home .sec__more{margin:clamp(30px,4vw,48px) 0 0}
@media (max-width:900px){.tl-posters{grid-template-columns:1fr}.tl-poster,.tl-poster:nth-child(2),.tl-poster:nth-child(3){margin-top:0;min-height:460px}}
@media (prefers-reduced-motion:reduce) and (max-width:0px){.tl-poster>img{transition:none}.tl-poster:hover>img{transform:none}}
/* steps */
.tl-line__n{border-radius:10px;font-family:var(--font-head);font-weight:800;font-style:italic;transform:skewX(-8deg)}
.tl-line li::before{background:none;height:0;border-top:3px dashed var(--deep)}
.tl-q--lead p{font-weight:800;letter-spacing:-.02em}
.tl-q figcaption{color:var(--deep)}
.tl-faq summary{font-weight:800}
.tl-faq summary::after{border-radius:10px}
.tl-faq__head h2{margin-bottom:14px}
.tl-photo--r .tl-photo__in{align-items:flex-start}
.tl-cta .tl-photo__img{object-position:70% 50%}
.tl-sign .hl{background:none;color:var(--accent);padding:0}
.hh-hero--page .hh-hero__img{filter:brightness(1.68) saturate(1.05)}
