@font-face{font-family:"Anton";src:url(assets/fonts/anton.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Barlow";font-weight:400;src:url(assets/fonts/barlow-400.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Barlow";font-weight:600;src:url(assets/fonts/barlow-600.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:400;src:url(assets/fonts/fraunces-italic.woff2) format("woff2");font-display:swap}

:root{
  --jungle-950:#050E09; --jungle-900:#07120C; --jungle-800:#0D2218; --jungle-700:#14382A; --leaf:#2E7A4E; --moss:#9DBB78;
  --bone:#EFEADB; --paper:#F7F4EA; --mango:#F4B63A; --mango-deep:#D9961A;
  --on-dark:#EEF3E8; --muted-dark:#B7C7BA; --ink:#0B1A12; --muted:#41554A; --line-dark:rgba(238,243,232,.18); --line:#CFC9B4;
  --error:#FFB4A8; --error-light:#A8261B;
  --display:"Anton","Impact","Arial Narrow",sans-serif;
  --serif:"Fraunces",Georgia,serif;
  --sans:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
  --gutter:20px; --radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:72px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--jungle-900);color:var(--on-dark);font:400 18px/1.6 var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;display:block}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0;padding:0}
ul,ol{list-style:none}
a{color:inherit}
:focus-visible{outline:3px solid var(--mango);outline-offset:3px;border-radius:6px}
.bone :focus-visible{outline-color:var(--jungle-700)}

.wrap{max-width:1200px;margin-inline:auto;padding-inline:var(--gutter)}
.banner{background:var(--mango);color:var(--ink);padding:10px var(--gutter);font-size:15px;font-weight:600}

/* type */
h1,h2,h3.big,.big{font-family:var(--display);text-transform:uppercase;font-weight:400;letter-spacing:.005em;line-height:.95}
h2{font-size:clamp(46px,13.5vw,120px);margin:.15em 0 .35em}
h2 em,h1 em{font-style:normal;color:var(--mango)}
.bone h2 em{color:var(--leaf)}
h3{font-family:var(--display);text-transform:uppercase;font-weight:400;font-size:30px;line-height:1;letter-spacing:.01em;margin-bottom:.4em}
.eyebrow-serif,.serif-hook,.kicker{font-family:var(--serif);font-style:italic;font-size:21px;color:var(--mango);line-height:1.2}
.bone .eyebrow-serif,.bone .serif-hook{color:var(--leaf)}
.section-lead{font-size:20px;color:var(--muted-dark);max-width:52ch}
.bone .section-lead{color:var(--muted)}
.caption{font-size:14px;color:var(--muted-dark);margin-top:10px}
.bone .caption{color:var(--muted)}
.small{font-size:15px}.muted{color:var(--muted-dark)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;border:2px solid currentColor;background:transparent;color:inherit;font:400 19px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .15s ease,background .15s ease}
.btn:hover{transform:translateY(-2px)}
.btn.primary{background:var(--mango);border-color:var(--mango);color:var(--jungle-950)}
.btn.primary:hover{background:#FFC857}
.btn.wide{width:100%}
.bone .btn:not(.primary){color:var(--jungle-800)}

/* hero */
.hero{position:relative;min-height:min(100svh,880px);display:grid;color:var(--on-dark);isolation:isolate}
.hero-media{position:absolute;inset:0;z-index:-1;background:var(--jungle-950)}
.hero-media video{width:100%;height:100%;object-fit:cover}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,14,9,.6) 0%,rgba(5,14,9,.3) 30%,rgba(5,14,9,.62) 58%,rgba(5,14,9,.94) 100%)}
.hero-inner{display:flex;flex-direction:column;justify-content:space-between;padding:22px var(--gutter) 30px;gap:60px}
.brand{font-family:var(--display);text-transform:uppercase;letter-spacing:.14em;font-size:15px;line-height:1.3}
.brand span{display:block;color:var(--mango);letter-spacing:.2em;font-size:12px}
.hero h1{font-size:clamp(52px,17vw,100px);margin:.15em 0 .3em}
.lead{font-size:20px;max-width:34ch;color:var(--on-dark);margin-bottom:20px}
.pricepill{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 22px;padding:12px 20px;border-radius:999px;border:2px solid var(--mango);background:rgba(5,14,9,.55);font-size:18px}
.pricepill strong{font:400 30px/1 var(--display);color:var(--mango);letter-spacing:.02em}

/* marquee */
.marquee{background:var(--mango);color:var(--jungle-950);overflow:hidden;border-block:2px solid var(--jungle-950)}
.marquee-track{display:flex;width:max-content;animation:run 38s linear infinite}
.marquee span{font:400 20px/1 var(--display);text-transform:uppercase;letter-spacing:.08em;padding:16px 28px;white-space:nowrap}
.marquee span::after{content:"";display:inline-block;width:10px;height:10px;margin-left:56px;border-radius:50%;background:var(--jungle-950);vertical-align:middle}
@keyframes run{to{transform:translateX(-50%)}}

/* sections */
.section{padding:56px 0}
.dark{background:var(--jungle-800)}
.dark#day,.dark#faq{background:var(--jungle-900)}
.bone{background:var(--bone);color:var(--ink)}

/* day */
.steps-day{display:grid;gap:44px;margin-top:40px}
.steps-day li{display:grid;gap:18px}
.time{display:block;font:400 clamp(44px,12vw,72px)/1 var(--display);color:var(--mango);text-transform:uppercase;margin-bottom:8px}
.step-text p{color:var(--muted-dark);max-width:44ch}
.step-img img{width:100%;height:auto;border-radius:var(--radius);aspect-ratio:4/3;object-fit:cover}
.step-img img[src*="boat"]{object-position:50% 85%}
.step-img img[src*="rod"]{object-position:50% 30%}
.step-img img[src*="cooler"]{object-position:50% 40%}

/* choose */
.experiences{display:grid;gap:28px;margin-top:40px}
.exp-card{background:var(--jungle-800);color:var(--on-dark);border-radius:var(--radius);overflow:hidden;box-shadow:8px 10px 0 rgba(13,34,24,.25);display:flex;flex-direction:column}
.exp-card img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 35%}
.exp-body{padding:26px 24px 30px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.exp-body p{color:var(--muted-dark)}
.exp-body .serif-hook{color:var(--mango)}
.exp-body .caption{margin:0}
.exp-body .btn{margin-top:10px}

/* mosaic */
.mosaic{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:48px var(--gutter) 0;max-width:1200px;margin:0 auto}
.mosaic figure{margin:0;overflow:hidden;border-radius:14px;min-height:0}
.mosaic img{width:100%;height:auto;object-fit:cover;aspect-ratio:1/1}
.m-a,.m-d{grid-column:1/-1}
.m-a img,.m-d img{aspect-ratio:16/10}
.caption.on-dark{margin-top:18px}

/* lists */
.lists{display:grid;gap:20px;margin-top:20px}
.list-card{background:var(--paper);border-radius:var(--radius);padding:28px 24px;box-shadow:6px 7px 0 rgba(20,56,42,.18)}
.list-card.extras{background:var(--jungle-800);color:var(--on-dark);box-shadow:6px 7px 0 rgba(20,56,42,.4)}
.plain li{padding:11px 0;border-bottom:1px solid var(--line)}
.extras .plain li{border-color:var(--line-dark)}
.plain li:last-child{border-bottom:0}
.priced li{display:flex;justify-content:space-between;gap:16px}
.amt{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}

/* form */
form{margin-top:36px}
.form-grid{display:grid;gap:28px}
.fields{display:grid;gap:26px}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend,label{display:block;margin-bottom:8px;padding:0;font:400 20px/1.1 var(--display);letter-spacing:.04em;text-transform:uppercase;color:var(--on-dark)}
input[type=text],input[type=tel],input[type=date],textarea{width:100%;min-height:52px;padding:12px 14px;font:400 18px var(--sans);color:var(--ink);background:var(--bone);border:2px solid transparent;border-radius:14px}
textarea{resize:vertical}
.choices{display:grid;gap:10px}
.choices.inline{grid-template-columns:repeat(auto-fit,minmax(88px,1fr))}
.choice{display:flex;align-items:center;gap:12px;min-height:52px;padding:6px 16px;border:2px solid var(--line-dark);border-radius:14px;background:var(--jungle-900);color:var(--on-dark);font:600 18px var(--sans);letter-spacing:0;text-transform:none;margin:0;cursor:pointer}
.choice:has(input:checked){border-color:var(--mango);background:var(--jungle-700)}
.choice input{width:22px;height:22px;accent-color:var(--mango);margin:0}
.help{font-size:15px;color:var(--muted-dark);margin-top:8px}
.err{font-size:15px;color:var(--error);margin-top:8px;font-weight:600}
.err:empty{display:none}
.counter{font-size:15px;color:var(--muted-dark);text-align:right;margin-top:4px}
.counter.over{color:var(--error);font-weight:700}
[aria-invalid=true]{border-color:var(--error)!important}

.stepper{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-dark)}
.st-label label{margin:0;font:600 18px/1.2 var(--sans);text-transform:none;letter-spacing:0}
.st-price{font-size:15px;color:var(--muted-dark)}
.st-ctrl{display:flex;align-items:center;gap:6px}
.st-ctrl button{width:44px;height:44px;border:2px solid var(--line-dark);border-radius:50%;background:transparent;color:var(--on-dark);font:600 22px var(--sans);cursor:pointer}
.st-ctrl button:hover{border-color:var(--mango)}
.st-ctrl input{width:58px;min-height:44px;text-align:center;padding:4px;border-radius:12px}

.summary{background:var(--bone);color:var(--ink);border-radius:var(--radius);padding:26px 22px;box-shadow:8px 10px 0 rgba(0,0,0,.28)}
.summary h3{color:var(--jungle-800)}
.summary h4{font:400 18px var(--display);text-transform:uppercase;letter-spacing:.05em;margin:20px 0 4px;color:var(--leaf)}
.summary .help{color:var(--muted)}
.sel{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0}
.sel dt{color:var(--muted);font-size:15px}.sel dd{margin:0;font-weight:600}
.summary .plain li{border-color:var(--line)}
.small li{padding:6px 0;font-size:16px}
.total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:20px 0 6px;padding:14px 16px;background:var(--jungle-800);color:var(--on-dark);border-radius:14px}
.total span{font:400 18px var(--display);text-transform:uppercase;letter-spacing:.05em}
.total strong{font:400 32px var(--display);color:var(--mango);font-variant-numeric:tabular-nums}
.summary .btn.primary{margin-top:14px}
.form-err{color:var(--error-light)}

.after{margin-top:32px;padding:24px;border:2px solid var(--mango);border-radius:var(--radius);background:var(--jungle-900)}
.after .row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
#copy-box{width:100%;margin-top:12px;font:15px/1.4 ui-monospace,Menlo,monospace;padding:10px;border:2px solid var(--mango);border-radius:12px;background:var(--bone);color:var(--ink)}

/* how */
.how{display:grid;gap:14px;margin-top:20px}
.how li{display:flex;gap:18px;align-items:center;background:var(--paper);border-radius:var(--radius);padding:18px 20px}
.how .n{font:400 44px/1 var(--display);color:var(--leaf);min-width:34px}
.how p{font-size:19px}

/* faq */
.faq{margin-top:24px;border-top:1px solid var(--line-dark)}
details{border-bottom:1px solid var(--line-dark)}
summary{cursor:pointer;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px;font:400 22px/1.15 var(--display);text-transform:uppercase;letter-spacing:.02em;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font:400 30px var(--display);color:var(--mango)}
details[open] summary::after{content:"\2212"}
details p{padding:0 0 18px;color:var(--muted-dark);max-width:60ch}
.ph{background:#4A3B0C;color:#FFE9A6;border:1px dashed var(--mango);border-radius:6px;padding:2px 8px;font-size:15px}

.footer{background:var(--jungle-950);padding:72px 0 120px}
.footer .big{font-size:clamp(54px,16vw,150px);color:var(--on-dark)}
.footer .serif-hook{margin:6px 0 26px}
.footer p{margin-bottom:12px}
.noscript{padding:var(--gutter);background:var(--mango);color:var(--ink)}

.totalbar{position:fixed;inset:auto 0 0 0;z-index:30;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px var(--gutter);background:var(--jungle-950);border-top:2px solid var(--mango)}
.totalbar strong{color:var(--mango);font:400 24px var(--display);margin-left:8px}
.totalbar .btn{min-height:44px;padding:0 20px}
.totalbar[hidden]{display:none}

@media (min-width:900px){
  :root{--gutter:48px}
  body{font-size:19px}
  .hero{min-height:min(94vh,900px)}
  .hero-media{left:auto;width:42%}
  .hero-media::after{background:linear-gradient(90deg,var(--jungle-900) 0%,rgba(7,18,12,0) 35%)}
  .hero{background:var(--jungle-900)}
  .hero-inner{max-width:1200px;margin:0 auto;width:100%;padding:34px var(--gutter) 56px}
  .hero-copy{max-width:640px}
  .section{padding:120px 0}
  .steps-day{gap:96px;margin-top:80px}
  .steps-day li{grid-template-columns:1fr 1fr;align-items:center;gap:64px}
  .steps-day li:nth-child(even) .step-text{order:2}
  .step-img img{aspect-ratio:4/5;max-height:620px}
  .step-img.wide img{aspect-ratio:4/3}
  .experiences{grid-template-columns:1fr 1fr;gap:36px}
  .exp-card img{aspect-ratio:4/3}
  .mosaic{grid-template-columns:repeat(12,1fr);grid-auto-rows:150px}
  .mosaic img{aspect-ratio:auto;height:100%}
  .m-a{grid-column:1/7;grid-row:1/4}
  .m-b{grid-column:7/10;grid-row:1/5}
  .m-c{grid-column:10/13;grid-row:1/5}
  .m-d{grid-column:1/7;grid-row:4/7}
  .m-e{grid-column:7/10;grid-row:5/7}
  .m-f{grid-column:10/13;grid-row:5/7}
  .lists{grid-template-columns:1fr 1fr;gap:28px}
  .how{grid-template-columns:repeat(2,1fr)}
  .form-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:56px}
  .summary{position:sticky;top:24px}
  .totalbar{display:none!important}
  .footer{padding-bottom:80px}
}

/* ---- clarity round: nav, facts, booking steps, grouped form ---- */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px var(--gutter);background:var(--jungle-950);border-bottom:1px solid var(--line-dark)}
.topbrand{font:400 17px/1 var(--display);text-transform:uppercase;letter-spacing:.12em;text-decoration:none}
.toplinks{display:none;gap:26px}
.toplinks a{font:600 16px var(--sans);text-decoration:none;color:var(--muted-dark)}
.toplinks a:hover{color:var(--mango)}
.small-btn{min-height:44px;padding:0 20px;font-size:17px}
.hero{min-height:min(calc(100svh - 61px),860px)}

.facts{background:var(--jungle-800);border-bottom:1px solid var(--line-dark)}
.facts-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;padding-block:30px}
.facts-grid li{display:flex;flex-direction:column;gap:4px}
.facts-grid svg{width:34px;height:34px;fill:none;stroke:var(--mango);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:6px}
.facts-grid strong{font:400 22px/1.1 var(--display);text-transform:uppercase;letter-spacing:.02em}
.facts-grid span{font-size:16px;color:var(--muted-dark);line-height:1.35}
.facts-grid strong span{font:inherit;color:inherit}

.section.slim{padding:40px 0}
.h-small{font-size:clamp(30px,8vw,48px);margin:0 0 18px}
.book-steps{display:grid;gap:12px}
.book-steps li{display:flex;gap:16px;align-items:flex-start;background:var(--paper);border-radius:var(--radius);padding:16px 18px}
.book-steps .n,.group-h .n,.how .n{font:400 40px/1 var(--display);color:var(--leaf);min-width:30px}
.book-steps strong{font:400 22px/1.1 var(--display);text-transform:uppercase;display:block;margin-bottom:2px}
.book-steps p{font-size:17px;color:var(--muted)}
.note{margin-top:16px;font-size:17px;font-weight:600;color:var(--jungle-700)}
.dark .note{color:var(--muted-dark)}

.dark .exp-card{background:var(--jungle-700);box-shadow:none;border:1px solid var(--line-dark)}
.exp-for{font-weight:600;color:var(--on-dark)!important}
.tick{margin:6px 0 0;display:grid;gap:6px}
.tick li{position:relative;padding-left:28px;color:var(--on-dark);font-size:17px}
.tick li::before{content:"";position:absolute;left:2px;top:.45em;width:12px;height:7px;border-left:3px solid var(--mango);border-bottom:3px solid var(--mango);transform:rotate(-45deg)}
.exp-price{font:400 30px/1 var(--display);color:var(--mango)!important;margin-top:8px}
.exp-body{gap:12px}

.group{display:grid;gap:22px;padding:22px 20px;border:1px solid var(--line-dark);border-radius:var(--radius);background:rgba(7,18,12,.35)}
.group-h{display:flex;align-items:center;gap:14px;margin:0;font-size:24px}
.group-h .n{color:var(--mango);font-size:36px;min-width:26px}
.how li{align-items:flex-start}
.how strong{font:400 22px/1.1 var(--display);text-transform:uppercase;display:block;margin-bottom:2px}
.how p{font-size:17px;color:var(--muted)}
.lead-sm{font-size:20px;color:var(--muted-dark);margin-bottom:22px}

@media (min-width:900px){
  .toplinks{display:flex}
  .facts-grid{grid-template-columns:repeat(4,1fr);gap:32px}
  .book-steps{grid-template-columns:repeat(3,1fr)}
  .section.slim{padding:64px 0}
  .group{padding:30px 28px}
  .hero{min-height:min(calc(94vh - 61px),860px)}
}
