/* Zion Elite Rentals — static site. Brand: deep indigo #1A00A8, sky blue #3BB6FF, white. */
@font-face{font-family:"Nunito";src:url("fonts/nunito-var.woff2") format("woff2");font-weight:200 1000;font-style:normal;font-display:swap}
:root{
  --navy:#1A00A8; --navy-d:#12007A; --navy-dd:#0B0052; --sky:#3BB6FF; --sky-d:#1E9BEA;
  --ink:#0B0052; --muted:#4A4680; --line:#E3E6FA; --tint:#F3F8FF; --tint2:#ECEFFF; --white:#fff;
  --grad:linear-gradient(135deg,#1A00A8 0%,#2A3FD6 55%,#3BB6FF 100%);
  --r-lg:32px; --r-md:22px; --r-sm:14px;
  --shadow:0 18px 50px -20px rgba(26,0,168,.28); --shadow-s:0 8px 24px -12px rgba(26,0,168,.25);
  --wrap:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Nunito",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:1.0625rem;line-height:1.65;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-decoration-thickness:.08em;text-underline-offset:.18em}
a:hover{color:var(--sky-d)}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:8px}
.skip{position:absolute;left:-999px;top:8px;background:var(--navy);color:#fff;padding:.6rem 1rem;border-radius:999px;z-index:100}
.skip:focus{left:12px;color:#fff}
.wrap{width:min(var(--wrap),100% - 2.5rem);margin-inline:auto}
.narrow{width:min(780px,100% - 2.5rem);margin-inline:auto}
h1,h2,h3{line-height:1.08;letter-spacing:-.025em;margin:0 0 .5em;color:var(--ink);font-weight:800}
h1{font-size:clamp(2.6rem,6.4vw,4.9rem);font-weight:900;letter-spacing:-.035em}
h2{font-size:clamp(1.9rem,4vw,3rem)}
h3{font-size:1.35rem;letter-spacing:-.015em}
p{margin:0 0 1em}
.grad-text{background:linear-gradient(90deg,#1A00A8 10%,#3BB6FF 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-weight:800;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);background:var(--tint2);padding:.45rem .95rem;border-radius:999px;margin-bottom:1.1rem}
.eyebrow::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--sky)}
.lead{font-size:clamp(1.12rem,2vw,1.35rem);color:var(--muted);max-width:40ch}

/* nav */
.nav-bar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid rgba(26,0,168,.08)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:76px}
.brand{display:flex;align-items:center}
.brand img{height:46px;width:auto}
.menu{display:flex;align-items:center;gap:.35rem}
.menu a.lnk{color:var(--ink);text-decoration:none;font-weight:700;padding:.55rem 1rem;border-radius:999px;transition:background .2s,color .2s}
.menu a.lnk:hover{background:var(--tint2);color:var(--navy)}
.menu a.lnk[aria-current="page"]{background:var(--tint2);color:var(--navy)}
.menu .btn{margin-left:.6rem}
.menu-toggle{display:none;background:var(--tint2);border:0;border-radius:999px;width:46px;height:46px;cursor:pointer;color:var(--navy);align-items:center;justify-content:center}
.menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{display:block;width:20px;height:2.5px;background:var(--navy);border-radius:2px;position:relative;transition:transform .2s,background .2s}
.menu-toggle span::before,.menu-toggle span::after{content:"";position:absolute;left:0}
.menu-toggle span::before{top:-6px}.menu-toggle span::after{top:6px}
.menu-toggle[aria-expanded="true"] span{background:transparent}
.menu-toggle[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:inherit;font-weight:800;font-size:1.02rem;line-height:1;text-decoration:none;padding:1rem 1.7rem;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:transform .32s cubic-bezier(.34,1.56,.64,1),box-shadow .18s,background .2s,color .2s,border-color .2s}
.btn-primary{background:var(--navy);color:#fff;box-shadow:0 10px 24px -10px rgba(26,0,168,.65)}
.btn-primary:hover{background:var(--navy-d);color:#fff;transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(26,0,168,.7)}
.btn-ghost{background:#fff;color:var(--navy);border-color:var(--navy)}
.btn-ghost:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}
.btn-sky{background:var(--sky);color:var(--navy-dd)}
.btn-sky:hover{background:#fff;color:var(--navy);transform:translateY(-2px)}
.btn-sm{padding:.8rem 1.3rem;font-size:.97rem}
.btn-lg{padding:1.15rem 2rem;font-size:1.1rem}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}

/* hero */
.hero{position:relative;overflow:hidden;padding:clamp(2.5rem,6vw,5rem) 0 clamp(3rem,7vw,6rem);background:radial-gradient(900px 500px at 85% -10%,rgba(59,182,255,.30),transparent 60%),radial-gradient(700px 500px at -10% 30%,rgba(26,0,168,.10),transparent 60%),linear-gradient(180deg,#F3F8FF 0%,#fff 100%)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,4rem);align-items:center}
.hero h1{margin-bottom:.4em}
.hero-media{position:relative}
.hero-media .frame{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/4.4;background:var(--tint2);border:6px solid #fff}
.hero-media .frame img{width:100%;height:100%;object-fit:cover;object-position:50% 64%}
.chip{position:absolute;background:#fff;border-radius:20px;padding:.8rem 1.1rem;box-shadow:var(--shadow-s);display:flex;align-items:center;gap:.7rem;font-weight:800;line-height:1.2;border:1px solid var(--line)}
.chip small{display:block;font-weight:600;color:var(--muted);font-size:.8rem}
.chip i{width:2.4rem;height:2.4rem;border-radius:14px;background:var(--grad);display:grid;place-items:center;color:#fff;font-style:normal;font-weight:900;font-size:.95rem;flex:none}
.chip-a{left:-1.2rem;bottom:2.2rem}.chip-b{right:-.8rem;top:2rem}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:clamp(2rem,5vw,3.5rem)}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:1.2rem 1.3rem;box-shadow:var(--shadow-s)}
.stat b{display:block;font-size:1.55rem;font-weight:900;letter-spacing:-.02em;color:var(--navy)}
.stat span{color:var(--muted);font-weight:600;font-size:.95rem}

/* sections */
.section{padding:clamp(3.5rem,8vw,6.5rem) 0}
.section.tint{background:linear-gradient(180deg,var(--tint) 0%,#fff 100%)}
.sec-head{max-width:46rem;margin-bottom:clamp(1.8rem,4vw,3rem)}
.sec-head p{color:var(--muted);font-size:1.15rem}
.center{text-align:center;margin-inline:auto}

.cards-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-s);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card .ph{aspect-ratio:16/11;overflow:hidden;background:var(--tint2);display:block}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .ph img{transform:scale(1.04)}
.card-body{padding:1.7rem 1.8rem 2rem;display:flex;flex-direction:column;flex:1}
.card-body h3{font-size:1.7rem;margin-bottom:.3em}
.card-body h3 a{color:var(--ink);text-decoration:none}
.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none}
.tags li{background:var(--tint2);color:var(--navy);font-weight:800;font-size:.85rem;padding:.35rem .8rem;border-radius:999px}
.price-from{margin-top:auto;padding-top:.6rem;color:var(--muted);font-weight:700}
.price-from b{font-size:1.7rem;color:var(--navy);font-weight:900;letter-spacing:-.02em}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;counter-reset:s}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:1.8rem;counter-increment:s;box-shadow:var(--shadow-s)}
.step::before{content:counter(s);display:grid;place-items:center;width:3rem;height:3rem;border-radius:16px;background:var(--grad);color:#fff;font-weight:900;font-size:1.3rem;margin-bottom:1rem}
.step h3{margin-bottom:.35em}.step p{color:var(--muted);margin:0}

.table-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-s);overflow:hidden}
.table-card table{width:100%;border-collapse:collapse}
.table-card th,.table-card td{padding:1.1rem 1.5rem;text-align:left;border-bottom:1px solid var(--line)}
.table-card th{background:var(--tint2);color:var(--navy);font-weight:800;font-size:.95rem}
.table-card tr:last-child td{border-bottom:0}
.table-card td:first-child{font-weight:800}
.table-card td b{color:var(--navy)}

.photo-band{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:420px;display:flex;align-items:flex-end;color:#fff;isolation:isolate}
.photo-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.photo-band::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,0,82,0) 25%,rgba(11,0,82,.82) 100%)}
.photo-band .in{padding:clamp(1.6rem,4vw,3rem);max-width:40rem}
.photo-band h2{color:#fff}.photo-band p{color:#EAF4FF;margin:0;font-size:1.15rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.split .pic{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);border:6px solid #fff}
.split .pic img{width:100%;height:100%;object-fit:cover}

.cta{background:var(--grad);color:#fff;border-radius:var(--r-lg);padding:clamp(2.2rem,5vw,4rem);text-align:center;position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;width:520px;height:520px;right:-140px;top:-220px;border-radius:50%;background:rgba(255,255,255,.12)}
.cta h2{color:#fff;position:relative}.cta p{color:#E6F3FF;font-size:1.2rem;position:relative}
.cta .btn-row{justify-content:center;position:relative}
.cta .btn-ghost{background:transparent;color:#fff;border-color:#fff}.cta .btn-ghost:hover{background:#fff;color:var(--navy)}

/* boat page */
.page-hero{background:radial-gradient(800px 420px at 90% -10%,rgba(59,182,255,.28),transparent 60%),linear-gradient(180deg,#F3F8FF 0%,#fff 100%);padding:clamp(2.2rem,5vw,4rem) 0 clamp(2rem,4vw,3rem)}
.page-hero h1{font-size:clamp(2.2rem,5vw,3.8rem)}
.crumbs{font-size:.92rem;font-weight:700;color:var(--muted);margin-bottom:1rem}
.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--navy)}
.boat-hero{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.boat-hero .pic{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);border:6px solid #fff;aspect-ratio:4/3.4}
.boat-hero .pic img{width:100%;height:100%;object-fit:cover}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.gallery.two{grid-template-columns:repeat(2,1fr)}
.gallery figure{margin:0;border-radius:var(--r-md);overflow:hidden;aspect-ratio:4/3.4;background:var(--tint2);box-shadow:var(--shadow-s)}
.gallery img{width:100%;height:100%;object-fit:cover}
.glance{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.glance div{background:var(--tint);border:1px solid var(--line);border-radius:var(--r-md);padding:1.2rem 1.3rem}
.glance b{display:block;font-size:1.5rem;color:var(--navy);font-weight:900;letter-spacing:-.02em}
.glance span{color:var(--muted);font-weight:700;font-size:.92rem}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.5rem,3vw,2.2rem);box-shadow:var(--shadow-s)}
.panel h3{margin-bottom:.7em}
.ticks{list-style:none;margin:0;padding:0}
.ticks li{position:relative;padding:.35rem 0 .35rem 2rem}
.ticks li::before{content:"";position:absolute;left:0;top:.62rem;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--sky) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%231A00A8' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.price{background:#fff;border:2px solid var(--line);border-radius:var(--r-md);padding:1.4rem 1.2rem;text-align:center;text-decoration:none;color:var(--ink);transition:transform .2s,border-color .2s,box-shadow .2s,background .2s;display:block}
.price:hover{border-color:var(--navy);transform:translateY(-3px);box-shadow:var(--shadow);color:var(--ink)}
.price .d{display:block;font-weight:800;font-size:1.05rem;color:var(--muted)}
.price .p{display:block;font-weight:900;font-size:2rem;letter-spacing:-.03em;color:var(--navy);margin:.2rem 0 .6rem}
.price .go{display:inline-block;font-weight:800;font-size:.92rem;color:#fff;background:var(--navy);padding:.5rem 1.1rem;border-radius:999px}
.price:hover .go{background:var(--sky);color:var(--navy-dd)}
.note-card{background:var(--tint);border:1px solid var(--line);border-radius:var(--r-md);padding:1.2rem 1.5rem;margin-top:1.4rem;color:var(--muted)}
.note-card b{color:var(--ink)}
.cancel{display:flex;gap:1rem;align-items:flex-start;background:var(--tint2);border-radius:var(--r-md);padding:1.3rem 1.5rem;margin-top:1.4rem}
.cancel i{flex:none;width:2.6rem;height:2.6rem;border-radius:14px;background:var(--navy);color:#fff;display:grid;place-items:center;font-style:normal;font-weight:900}
.cancel p{margin:0}.cancel strong{display:block;font-size:1.1rem}

/* booking */
.book-wrap{max-width:900px}
.book-opts{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;margin-top:1.4rem}
.book-opt{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border:2px solid var(--line);border-radius:var(--r-md);padding:1.5rem 1.6rem;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-s);transition:transform .2s,border-color .2s,box-shadow .2s}
.book-opt:hover{border-color:var(--navy);transform:translateY(-3px);box-shadow:var(--shadow);color:var(--ink)}
.book-opt .d{display:block;font-weight:900;font-size:1.5rem;letter-spacing:-.02em}
.book-opt .p{display:block;font-weight:900;font-size:1.25rem;color:var(--navy)}
.book-opt .go{background:var(--navy);color:#fff;font-weight:800;padding:.7rem 1.2rem;border-radius:999px;white-space:nowrap}
.book-opt:hover .go{background:var(--sky);color:var(--navy-dd)}
.book-side{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:1.6rem}

/* faq */
.faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:.9rem;box-shadow:var(--shadow-s);overflow:hidden}
.faq-item summary{cursor:pointer;list-style:none;padding:1.3rem 1.6rem;font-weight:800;font-size:1.15rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";flex:none;width:2rem;height:2rem;border-radius:50%;background:var(--tint2);color:var(--navy);display:grid;place-items:center;font-weight:900;font-size:1.3rem;transition:transform .2s,background .2s}
.faq-item[open] summary::after{content:"\2212";background:var(--navy);color:#fff}
.faq-item[open]{border-color:var(--sky)}
.faq-item .ans{padding:0 1.6rem 1.4rem;color:var(--muted)}
.faq-item .ans p:last-child{margin:0}

/* contact */
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.c-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:2rem;box-shadow:var(--shadow-s)}
.c-card .ic{width:3.2rem;height:3.2rem;border-radius:18px;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:900;margin-bottom:1rem}
.c-card h3{margin-bottom:.3em}.c-card p{color:var(--muted)}
.c-card a.big{font-weight:900;font-size:1.3rem;text-decoration:none;word-break:break-word}

/* footer */
.footer{background:var(--navy-dd);color:#CFD3FF;padding:clamp(3rem,6vw,4.5rem) 0 2rem;margin-top:0;background-image:radial-gradient(700px 300px at 100% 0,rgba(59,182,255,.22),transparent 60%)}
.footer a{color:#fff;text-decoration:none}.footer a:hover{color:var(--sky)}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2rem}
.f-logo{background:#fff;border-radius:18px;padding:.7rem 1rem;display:inline-block;margin-bottom:1rem}
.f-logo img{height:44px;width:auto}
.footer h4{color:#fff;margin:0 0 .8rem;font-size:1rem;letter-spacing:.04em}
.footer ul{list-style:none;margin:0;padding:0}.footer li{padding:.25rem 0}
.f-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:2.4rem;padding-top:1.4rem;font-size:.88rem;color:#A9AEEA}
.f-bottom a{color:#fff;text-decoration:underline}

.legal-center{text-align:center}
.nf{min-height:60vh;display:grid;place-items:center;text-align:center;padding:4rem 0}

@media (max-width:980px){
  .hero-grid,.boat-hero,.split{grid-template-columns:1fr}
  .hero-media{max-width:560px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .glance,.price-grid{grid-template-columns:repeat(2,1fr)}
  .steps,.contact-cards{grid-template-columns:1fr}
  .f-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  body{font-size:1rem}
  .nav-in{height:66px}.brand img{height:38px}
  .js .menu-toggle{display:inline-flex}
  .js .menu{position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;padding:1rem 1.25rem 1.4rem;border-bottom:1px solid var(--line);box-shadow:0 24px 40px -20px rgba(26,0,168,.3);display:none}
  .js .menu.open{display:flex}
  .js .menu a.lnk{padding:.9rem 1rem;font-size:1.1rem}
  .js .menu .btn{margin:.6rem 0 0}
  .no-js .menu{flex-wrap:wrap;justify-content:flex-end}
  .cards-2,.two-col,.book-opts,.book-side{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr}.gallery figure:first-child{grid-column:1/-1}
  .chip-a{left:.6rem}.chip-b{right:.6rem}
  .hero-media .frame{aspect-ratio:4/4.2}
  .table-card th,.table-card td{padding:.85rem .9rem;font-size:.95rem}
  .f-grid{grid-template-columns:1fr}
  .btn-row .btn{flex:1 1 auto}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Booqable booking widget container */
.book-box{margin-top:1.6rem;background:#fff;border:2px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.4rem,3vw,2.2rem);box-shadow:var(--shadow);position:relative;overflow:hidden}
.book-box::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:var(--grad)}
.book-box .bb-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.4rem 1rem;margin-bottom:1.2rem}
.book-box .bb-head b{font-size:1.5rem;font-weight:900;letter-spacing:-.02em;color:var(--navy)}
.book-box .bb-head span{color:var(--muted);font-weight:700}
.book-box .booqable-product-button{min-height:3.5rem}
.hero-book{margin-top:1.4rem;max-width:30rem;background:#fff;border:2px solid var(--line);border-radius:var(--r-md);padding:1.2rem 1.4rem;box-shadow:var(--shadow-s)}
.hero-book .hb-t{display:block;font-weight:900;font-size:1.15rem;color:var(--navy);margin-bottom:.7rem}
.hero-book .hb-link{display:inline-block;margin-top:.7rem;font-weight:800;font-size:.95rem}
.booqable-product-button{font-family:inherit}
/* brand colors for Booqable buttons */
.booqable-product-button,.booqable-product-button *{font-family:"Nunito",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.booqable-product-button .bq-button,.booqable-product-button button.bq-button{background:#1A00A8!important;background-color:#1A00A8!important;border-color:#1A00A8!important;color:#fff!important;border-radius:999px!important;font-weight:800!important;cursor:pointer;transition:background .2s,color .2s}
.booqable-product-button .bq-button *{color:#fff!important}
.booqable-product-button .bq-button:hover,.booqable-product-button .bq-button:focus-visible{background:#3BB6FF!important;background-color:#3BB6FF!important;border-color:#3BB6FF!important}
.booqable-product-button .bq-button:hover *,.booqable-product-button .bq-button:focus-visible *{color:#0B0052!important}
.booqable-product-button .bq-button:hover{color:#0B0052!important}
.booqable-product-button .bq-price{color:#1A00A8!important;font-weight:900!important;font-size:1.5rem!important}
.booqable-product-button .bq-duration{color:#4A4680!important;font-weight:800!important}
.booqable-product-button a{color:#1A00A8}
.booqable-product-button a:hover{color:#1E9BEA}
.boat-hero{align-items:start}
.boat-hero .pic{align-self:start}

/* ---- Photo gallery + lightbox ---- */
.gallery-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}
.gallery-grid li{margin:0;min-width:0}
.g-item{position:relative;display:block;aspect-ratio:1/1;border-radius:var(--r-sm);overflow:hidden;background:var(--tint2);box-shadow:var(--shadow-s);outline-offset:3px;-webkit-tap-highlight-color:transparent}
.g-item img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;transition:transform .45s ease}
.g-item::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 3px transparent;background:linear-gradient(180deg,rgba(26,0,168,0) 55%,rgba(26,0,168,.35));opacity:0;transition:opacity .25s,box-shadow .25s}
.g-item:hover img,.g-item:focus-visible img{transform:scale(1.06)}
.g-item:hover::after,.g-item:focus-visible::after{opacity:1;box-shadow:inset 0 0 0 3px var(--sky)}
.g-item:focus-visible{outline:3px solid var(--sky)}
.g-hint{margin:1rem 0 0;color:var(--muted);font-size:.95rem;text-align:center}
@media (max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.65rem}}

.lb{position:fixed;inset:0;z-index:1000;display:none;flex-direction:column;background:rgba(11,0,82,.94);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);touch-action:pan-y}
.lb.open{display:flex}
.lb-top{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;font-weight:700;letter-spacing:.02em}
.lb-count{font-variant-numeric:tabular-nums;opacity:.9}
.lb-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 3.75rem}
.lb-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.45);background:var(--navy-dd);transition:opacity .2s;user-select:none;-webkit-user-drag:none}
.lb-img.loading{opacity:.35}
.lb-cap{padding:.75rem 1.25rem 1.1rem;text-align:center;font-size:.95rem;line-height:1.45;color:#dfe6ff;max-width:60rem;margin:0 auto}
.lb button{font:inherit;cursor:pointer;border:0;color:#fff;background:rgba(255,255,255,.14);border-radius:999px;width:46px;height:46px;display:grid;place-items:center;transition:background .2s,transform .2s;-webkit-tap-highlight-color:transparent}
.lb button:hover{background:var(--sky);transform:scale(1.06)}
.lb button:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
.lb button svg{width:22px;height:22px;stroke:currentColor;stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.lb-prev,.lb-next{position:absolute;top:50%;margin-top:-23px}
.lb-prev{left:.75rem}.lb-next{right:.75rem}
@media (max-width:600px){.lb-stage{padding:0 .5rem}.lb-prev,.lb-next{top:auto;bottom:.4rem;margin:0;background:rgba(26,0,168,.85)}.lb-prev{left:.75rem}.lb-next{right:.75rem}.lb-cap{padding:.6rem 4.5rem 1rem;font-size:.85rem;min-height:3.4rem}}
body.lb-lock{overflow:hidden}
@media (prefers-reduced-motion:reduce){.g-item img,.lb button,.lb-img{transition:none}}

/* ===== Motion (inspired by the scroll-linked feel of zen.com; original code) =====
   Everything here is progressive: nothing is hidden unless site.js adds .fx to <html>, and .fx is never added
   with prefers-reduced-motion. Only transform / opacity / translate / scale are animated. */
:root{--ease:cubic-bezier(.2,.7,.2,1);--spring:cubic-bezier(.34,1.56,.64,1)}

@keyframes rise{from{opacity:0;translate:0 26px}to{opacity:1;translate:0 0}}
@keyframes pop{from{opacity:0;scale:.94;translate:0 22px}to{opacity:1;scale:1;translate:0 0}}
@keyframes bob{from{translate:0 -6px}to{translate:0 7px}}
@keyframes marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-25%,0,0)}}

/* page-load intro: pure CSS, always finishes, so content can never stay hidden */
@media (prefers-reduced-motion:no-preference){
  .hero-grid>div:first-child>*,.boat-hero>div:first-child>*:not(.hero-book),.page-hero .wrap>*{animation:rise .9s var(--ease) backwards}
  .hero-grid>div:first-child>:nth-child(2),.boat-hero>div:first-child>:nth-child(2),.page-hero .wrap>:nth-child(2){animation-delay:.08s}
  .hero-grid>div:first-child>:nth-child(3),.boat-hero>div:first-child>:nth-child(3),.page-hero .wrap>:nth-child(3){animation-delay:.16s}
  .hero-grid>div:first-child>:nth-child(4),.boat-hero>div:first-child>:nth-child(4),.page-hero .wrap>:nth-child(4){animation-delay:.24s}
  .hero-media .frame,.boat-hero .pic{animation:pop 1.1s var(--ease) .12s backwards}
  .chip{animation:rise .8s var(--ease) .7s backwards,bob 5.5s ease-in-out 1.5s infinite alternate}
  .chip-a{animation-delay:.85s,2.4s;animation-duration:.8s,6.5s}
  /* logo/highlight marquee (like zen's "featured in" row) */
  .marquee-track{animation:marquee 44s linear infinite}
  .marquee:hover .marquee-track{animation-play-state:paused}
}

/* highlights marquee */
.marquee{position:relative;overflow:hidden;padding:1.1rem 0;background:#fff;border-block:1px solid var(--line);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%)}
.marquee-track{display:flex;width:max-content;will-change:transform}
.marquee-set{display:flex;flex:none;list-style:none;margin:0;padding:0}
.marquee-set li{display:flex;align-items:center;gap:.8rem;margin:0 1.6rem 0 0;font-weight:900;font-size:clamp(1.05rem,2vw,1.35rem);letter-spacing:-.01em;color:var(--navy);white-space:nowrap;text-transform:uppercase}
.marquee-set li::after{content:"";width:.6rem;height:.6rem;border-radius:50%;background:var(--sky);margin-left:.8rem;flex:none}
@media (prefers-reduced-motion:reduce){
  .marquee{-webkit-mask-image:none;mask-image:none}
  .marquee-track{width:auto;justify-content:center}
  .marquee-set[aria-hidden="true"]{display:none}
  .marquee-set{flex-wrap:wrap;justify-content:center;row-gap:.4rem}
}

/* scroll reveals (only when JS has confirmed it can run them) */
.fx .rv{opacity:0}
.fx .rv.in{opacity:1;animation:rise .9s var(--ease) var(--d,0s) backwards}
.fx .rv.in.rv-pop{animation-name:pop}

/* scroll-linked frames: JS writes transform on the frame (hero, grow cards) and --py on parallax frames */
.fx .hero-media .frame,.fx .grow{will-change:transform}
.fx .px img,.fx .px>img{transform:translate3d(0,var(--py,0px),0) scale(1.12);will-change:transform}
.fx .hero-media .frame img{will-change:transform}
.fx .tilt{will-change:transform}
.tilt{position:relative}
.fx .tilt{transition:box-shadow .25s,border-color .2s,background .2s}
.fx .card.tilt:hover{transform:none}
/* glow that follows the pointer (set by --mx/--my) */
.tilt::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(59,182,255,.22),transparent 60%)}
.tilt.is-hot::after{opacity:1}
.stat b .cnt{display:inline-block;font:inherit;color:inherit;font-variant-numeric:tabular-nums}
.nav-bar{transition:box-shadow .3s}
.nav-bar.is-scrolled{box-shadow:0 12px 30px -18px rgba(26,0,168,.35)}

/* Lenis smooth wheel scroll (loaded only on desktop mouse, no reduced motion) */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}
.lenis [data-lenis-prevent]{overscroll-behavior:contain}

@media (prefers-reduced-motion:reduce){
  .rv,.grow,.px img,.tilt,.chip,.hero-media .frame,.hero-media .frame img{animation:none!important;transform:none!important;opacity:1!important;translate:none!important;scale:none!important}
}

/* nav hover: a navy pill glides behind the link you hover or focus (desktop; JS adds .has-pill) */
  .nav-pill{display:none}
@media (min-width:761px){
  .menu{position:relative}
  .menu.has-pill .nav-pill{display:block;position:absolute;left:0;top:0;width:var(--pw,0px);height:var(--ph,0px);transform:translate(var(--px,0px),var(--py,0px));border-radius:999px;pointer-events:none;z-index:0;opacity:0;
    background:var(--tint2);box-shadow:inset 0 0 0 1px rgba(26,0,168,.06)}
  .menu.has-pill.pill-on .nav-pill{opacity:1}
  .menu.has-pill.pill-anim .nav-pill{transition:transform .32s cubic-bezier(.4,0,.2,1),width .32s cubic-bezier(.4,0,.2,1),height .32s cubic-bezier(.4,0,.2,1),background .25s ease-in-out,box-shadow .25s ease-in-out,opacity .2s ease-in-out}
  .menu.has-pill.pill-hot .nav-pill{background:linear-gradient(135deg,var(--navy-d) 0%,var(--navy) 55%,#2A3FD6 100%);box-shadow:0 10px 22px -10px rgba(26,0,168,.75),0 0 0 1px rgba(59,182,255,.55),0 0 18px -2px rgba(59,182,255,.45)}
  .menu.has-pill a.lnk,.menu.has-pill a.lnk:hover,.menu.has-pill a.lnk[aria-current="page"]{background:transparent;position:relative;z-index:1}
  .menu.has-pill a.lnk{transition:color .25s ease-in-out}
  .menu.has-pill a.lnk.is-hot{color:#fff}
  .menu.has-pill a.lnk:focus-visible{outline-offset:2px}
}

/* nav shade: on hover / keyboard focus the header fades into a deep navy band with rounded bottom corners (desktop) */
.brand-light{display:none}
@media (min-width:761px){
  .nav-bar{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:transparent}
  .nav-bar::before,.nav-bar::after{content:"";position:absolute;left:0;right:0;top:0;bottom:-1px;box-sizing:border-box;pointer-events:none;z-index:0;transition:opacity .2s ease-in-out}
  .nav-bar::before{background:rgba(255,255,255,.86);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid rgba(26,0,168,.08)}
  .nav-bar::after{background:var(--navy-dd);border-radius:0 0 24px 24px;opacity:0;box-shadow:0 18px 32px -18px rgba(11,0,82,.65)}
  .nav-bar.is-shaded::before{opacity:0}
  .nav-bar.is-shaded::after{opacity:1}
  .nav-in{position:relative;z-index:1}
  .brand{position:relative}
  .brand-light{display:block;position:absolute;left:0;top:0;opacity:0;pointer-events:none;transition:opacity .2s ease-in-out}
  .brand-dark{transition:opacity .2s ease-in-out}
  .nav-bar.is-shaded .brand-light{opacity:1}
  .nav-bar.is-shaded .brand-dark{opacity:0}
  .nav-bar.is-shaded .menu a.lnk,.nav-bar.is-shaded .menu a.lnk[aria-current="page"]{color:#fff}
  .nav-bar.is-shaded .menu.has-pill a.lnk.is-hot{color:var(--navy-dd)}
  .nav-bar.is-shaded .menu.has-pill .nav-pill{background:rgba(59,182,255,.2);box-shadow:inset 0 0 0 1px rgba(59,182,255,.55)}
  .nav-bar.is-shaded .menu.has-pill.pill-hot .nav-pill{background:var(--sky);box-shadow:0 8px 20px -8px rgba(59,182,255,.8),0 0 0 1px rgba(255,255,255,.4)}
  .nav-bar.is-shaded .menu .btn-primary{background:#fff;color:var(--navy);box-shadow:0 10px 24px -10px rgba(0,0,0,.5)}
  .nav-bar.is-shaded .menu .btn-primary:hover{background:var(--sky);color:var(--navy-dd)}
  .nav-bar.is-shaded .menu a.lnk:focus-visible{outline-color:#fff}
}
@media (prefers-reduced-motion:reduce){.nav-bar::before,.nav-bar::after{transition:none!important}}
