/* Paramotor Flights homepage preview: Direction A4 (straight chevrons, mixed camo, ice-blue trim) */
:root{
  --ice:#4FC3F7; --ice-ink:#0b0b0b; --wing:#F26522;
  --char:#2b2f33; --char2:#202427; --ink:#1f2326;
  --silver:#cfd5d9; --silver-bg:#e9ecee; --line:#444a50;
  --camo-dark:url(../assets/img/camo_dark.svg); --camo-light:url(../assets/img/camo_light.svg);
  --head:"Anton",Impact,"Arial Narrow",sans-serif; --body:"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --book-h:76px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font:500 20px/1.5 var(--body);color:var(--ink);background:#fff;padding-bottom:calc(var(--book-h) + 28px);-webkit-text-size-adjust:100%}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2{font-family:var(--head);font-weight:400;text-transform:uppercase;letter-spacing:.5px;line-height:.95;margin:0}
h2{font-size:clamp(46px,7vw,82px);margin-bottom:28px}
h3{font-size:clamp(23px,2.4vw,32px);font-weight:800;margin:6px 0 8px;line-height:1.2}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;z-index:999;background:#fff;padding:10px}
:focus-visible{outline:4px solid var(--ice);outline-offset:3px}

/* pattern fills */
.camo-dark{background:var(--camo-dark) center/cover}
.camo-light{background:var(--camo-light) center/cover}
.stripes-bg{background:repeating-linear-gradient(-45deg,var(--char) 0 48px,var(--silver) 48px 96px)}

/* placeholder / sample tags */
.ph-tag{display:block;font:700 11px var(--body);opacity:.7;text-align:right;margin-top:2px}
.ph-note{font:600 16px var(--body);color:#666;margin:-14px 0 24px}.ph-note.small{font-size:13px;margin:8px 0 0}
.sample-tag{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.6);color:#fff;font:600 12px var(--body);padding:3px 8px;margin:0}

/* buttons */
.btn{display:inline-block;background:var(--ice);color:var(--ice-ink);font:900 22px var(--body);text-decoration:none;text-transform:uppercase;padding:20px 30px;border:4px solid var(--ink);clip-path:polygon(0 0,100% 0,100% 70%,94% 100%,0 100%);min-height:56px}
.btn:hover{filter:brightness(1.07)}
.btn-sm{font-size:16px;padding:12px 18px;border-width:3px;clip-path:none}
.btn-outline{background:#fff;color:var(--ink);clip-path:none;display:block;text-align:center;font-size:19px}

/* pinned Book bar: position:fixed only, no JS, never freezes */
.book-bar{position:fixed;z-index:50;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));height:var(--book-h);display:flex;align-items:center;justify-content:center;background:var(--ice);color:var(--ice-ink);border:3px solid var(--ink);font:900 22px var(--body);text-transform:uppercase;text-decoration:none;box-shadow:0 8px 22px rgba(0,0,0,.4);clip-path:polygon(0 0,100% 0,100% 70%,96% 100%,0 100%)}
@media (min-width:900px){.book-bar{left:50%;right:auto;transform:translateX(-50%);width:440px;font-size:24px}}

/* header: links stay visible and wrap onto extra lines as the window gets narrow */
.site-header{position:relative;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:12px 16px 10px;color:#fff;background:var(--char)}
.brand{display:block;color:#fff;text-decoration:none}
/* White logo on transparent. Width stays inside the header band above the headline. */
.logo{width:132px;height:auto;filter:drop-shadow(0 1px 2px rgba(0,0,0,.75))}
.site-nav{display:flex;flex-wrap:wrap;flex:1 1 180px;align-items:center;justify-content:flex-end;gap:6px 14px;position:static;margin:0;padding:0;background:transparent;font:700 16px var(--body)}
.site-nav a,.site-nav span,.site-nav button{padding:4px 0;text-decoration:none;color:#fff;white-space:nowrap}
.site-nav button{border:0;background:none;font:inherit;cursor:pointer}
@media (min-width:1000px){
  .site-header{position:absolute;background:transparent;padding:22px 70px 0}.logo{width:210px}
  .site-nav{flex:0 1 auto;flex-wrap:nowrap;gap:26px;padding:10px 12px 10px 24px;background:rgba(32,36,39,.9);font-size:19px}
  .site-nav a,.site-nav span,.site-nav button{padding:0}
  /* min-height on .btn left empty space under the caps. Size the nav button to its text and center it. */
  .site-nav .btn{color:var(--ice-ink);padding:12px 18px;min-height:0;line-height:1;display:inline-flex;align-items:center;justify-content:center}
}

/* hero (phone-first). Shorter video so the headline sits higher. */
.hero{position:relative;background:var(--char);color:#fff;overflow:hidden;padding-top:0}
.hero-photo{position:relative;height:50vw;min-height:180px;max-height:280px;clip-path:polygon(0 10%,100% 0,100% 90%,0 100%)}
.hero-photo img,.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%}
.hero-video{background:transparent}
/* light dim so the overlaid buttons and tags stay readable; the headline sits on solid charcoal */
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.15),rgba(0,0,0,0) 35%,rgba(0,0,0,.25));pointer-events:none}
.hero-pause{position:absolute;z-index:2;left:12px;top:15%;background:rgba(32,36,39,.85);color:#fff;border:3px solid var(--ice);font:800 16px var(--body);padding:10px 14px;min-height:48px;cursor:pointer}
.hero-media .sample-tag{z-index:2}
@media (prefers-reduced-motion:reduce){.hero-video{display:none}.hero-pause{display:none}}
.video-btn{cursor:pointer}
.hero-photo .sample-tag{top:auto;bottom:13%;right:8px;font-size:11px}
.hero-text .btn{display:none}
.hero-camo{position:absolute;left:0;right:0;top:0;height:40px;clip-path:polygon(0 50%,100% 0,100% 45%,0 95%);overflow:hidden}
.hero-trim{position:absolute;left:0;right:0;top:calc(110px + min(max(78vw,290px),520px) - 46px);height:40px;background:var(--ice);clip-path:polygon(0 75%,100% 0,100% 18%,0 92%)}
.hero-corner{display:none}
.hero-text{position:relative;padding:22px 20px 40px}
.loc-pill{display:inline-flex;gap:8px;align-items:center;border:2px solid #fff;padding:6px 12px;font:700 15px var(--body);text-transform:uppercase;margin:0 0 14px}
.hero h1{font-size:clamp(60px,15vw,104px);line-height:.92}
.hero h1 span{white-space:nowrap}
.accent-bar{display:block;width:120px;height:9px;background:var(--ice);margin:16px 0 4px;clip-path:polygon(0 0,100% 0,94% 100%,0 100%)}
.lead{font-size:21px;line-height:1.4;margin:12px 0 24px;max-width:30ch}
@media (min-width:760px) and (max-width:999px){.hero .lead{max-width:none}}
.hero-stripes{height:46px;background:repeating-linear-gradient(-45deg,var(--silver) 0 16px,var(--char) 16px 32px);clip-path:polygon(0 0,70% 0,66% 100%,0 100%)}
@media (min-width:1000px){
  .hero{height:900px;padding:0}
  .hero-photo{position:absolute;top:0;bottom:0;left:39%;right:0;height:auto;max-height:none;clip-path:polygon(15% 0,100% 0,100% 100%,5.5% 100%)}
  .hero-pause{left:auto;right:60px;top:auto;bottom:130px;font-size:19px;padding:12px 18px}
  .hero-text .btn{display:inline-block}
  .hero-photo .sample-tag{top:auto;bottom:10px;font-size:12px}
  .hero-camo{top:0;bottom:0;height:auto;left:0;right:0;clip-path:polygon(47.2% 0,55% 0,45.3% 100%,37.5% 100%)}
  .hero-trim{top:0;bottom:0;height:auto;clip-path:polygon(55% 0,56% 0,46.3% 100%,45.3% 100%)}
  .hero-corner{display:block;position:absolute;inset:0;background:var(--ice);clip-path:polygon(86% 0,100% 0,100% 13%)}
  .hero-text{position:absolute;left:70px;top:175px;width:520px;padding:0}
  .lead{font-size:25px}
  .hero .lead{max-width:min(30ch,calc(39vw - 110px))}
  .hero-stripes{position:absolute;left:0;bottom:0;width:33%;height:100px;clip-path:polygon(0 0,100% 0,97% 100%,0 100%)}
}

/* chevron divider */
.divider{position:relative;height:110px;background:#fff;overflow:hidden}
.divider .parallax{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,100% 30%,50% 100%,0 30%)}
.dv-stripes{position:absolute;inset:0;background:repeating-linear-gradient(-45deg,var(--silver) 0 14px,var(--char) 14px 28px);clip-path:polygon(56% 0,80% 0,80% 48%,59.5% 85%)}
.dv-trim{position:absolute;inset:0;background:var(--ice);clip-path:polygon(0 30%,50% 100%,100% 30%,100% 36%,50% 106%,0 36%)}
.divider.to-light{background:var(--silver-bg)}
@media (min-width:900px){.divider{height:150px}}

/* parallax layers: oversized so drift never shows an edge; transform-only = smooth */
.parallax{overflow:hidden}
.parallax>.layer{position:absolute;left:0;right:0;top:-25%;bottom:-25%;will-change:transform}

/* sections */
.sec{position:relative;padding:64px 0}
@media (min-width:900px){.sec{padding:100px 0}}
.sec-light,.sec-white{background:#fff}.sec-silver{background:var(--silver-bg)}
.sec-dark{background:var(--char);color:#fff}

/* fixed backdrop window: the backdrop is position:fixed (stuck to the screen) and
   clip-path on the section shows it only inside this section. Compositor-only, no JS,
   no background-attachment:fixed (which stutters and is ignored on iPhone). */
.fixed-window{clip-path:inset(0);-webkit-clip-path:inset(0)}
.fixed-bg{position:fixed;inset:0;z-index:0;pointer-events:none}
.fixed-window>.wrap{position:relative;z-index:1}

/* how it works */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:18px}
@media (min-width:900px){.steps{grid-template-columns:repeat(3,1fr);gap:28px}}
.card{position:relative;border:4px solid var(--ink);background:#fff;padding:34px 24px 34px;clip-path:polygon(0 0,100% 0,100% 84%,88% 100%,0 100%)}
.card::after{content:"";position:absolute;inset:0;background:var(--ice);clip-path:polygon(86% 100%,100% 82%,100% 88%,92% 100%)}
.card-camo{position:absolute;left:0;right:0;top:0;height:18px;background:var(--camo-light) center/cover}
.card .num{font:400 80px/1 var(--head);display:flex;align-items:center;gap:16px}
.card .num::after{content:"";width:56px;height:13px;background:var(--ice);clip-path:polygon(0 0,100% 0,80% 100%,0 100%)}
.card p{margin:0;color:#30353a;font-size:20px}

/* what it's like */
.like-grid{display:grid;gap:26px;align-items:center}
@media (min-width:900px){.like-grid{grid-template-columns:1.1fr 1fr;gap:40px}}
.panel-dark{background:var(--char2);color:#fff;padding:32px 24px;border-right:8px solid var(--ice);clip-path:polygon(0 0,100% 0,96% 100%,0 100%)}
@media (min-width:900px){.panel-dark{padding:50px 70px 50px 46px}}
.panel-dark .intro{color:#d5dadd;margin:-10px 0 14px;font-size:20px}
.ticks{list-style:none;margin:0;padding:0}
.ticks li{font-weight:600;font-size:21px;line-height:1.35;padding:13px 0 13px 32px;border-bottom:2px solid var(--line);position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:19px;width:17px;height:17px;background:var(--ice);clip-path:polygon(0 0,100% 0,60% 100%,0 100%)}
@media (min-width:900px){.ticks li{font-size:24px}}
.angled-photo{position:relative;margin:0;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);border-left:0}
.angled-photo img{width:100%;aspect-ratio:4/3.4;object-fit:cover;object-position:center 80%}
.angled-photo::before{content:"";position:absolute;inset:0;z-index:1;background:var(--ice);clip-path:polygon(10% 0,12% 0,2% 100%,0 100%)}
.angled-photo .sample-tag{right:12%}

/* gallery: small angled thumbnails. Click opens the full photo. */
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.g{position:relative;display:block;width:100%;margin:0;padding:0;border:0;background:#ccc;overflow:hidden;aspect-ratio:5/4;cursor:pointer}
.g img{width:100%;height:100%;object-fit:cover}
.g:nth-child(odd){clip-path:polygon(0 0,100% 0,94% 100%,0 100%)}
.g:nth-child(even){clip-path:polygon(6% 0,100% 0,100% 100%,0 100%)}
@media (min-width:700px){.gallery{grid-template-columns:repeat(3,1fr);gap:12px}}
@media (min-width:1100px){.gallery{grid-template-columns:repeat(4,1fr);gap:14px}}

/* reviews */
.reviews{display:grid;gap:18px}@media (min-width:900px){.reviews{grid-template-columns:repeat(3,1fr);gap:26px}}
.review{margin:0;position:relative;background:#eef0f2;border-left:12px solid var(--ink);padding:28px}
.review::after{content:"";position:absolute;right:0;top:0;width:80px;height:54px;background:var(--ice);clip-path:polygon(55% 0,100% 0,100% 100%)}
.stars{font-size:26px;letter-spacing:4px}
.review p{font-size:21px;margin:12px 0}.review cite{font-style:normal;font-weight:800;color:#666}

/* faq */
.faq-sec .wrap{padding-left:60px}
@media (min-width:900px){.faq-sec .wrap{padding-left:140px}}
.faq-shard{position:absolute;left:0;top:0;bottom:0;width:42px;clip-path:polygon(0 0,100% 0,60% 100%,0 100%)}
.faq-shard::after{content:"";position:absolute;inset:0}
@media (min-width:900px){.faq-shard{width:110px}}
.faq-sec::before{content:"";position:absolute;left:0;top:0;bottom:0;width:52px;background:var(--ice);clip-path:polygon(81% 0,100% 0,73% 100%,48% 100%)}
@media (min-width:900px){.faq-sec::before{width:122px;clip-path:polygon(90% 0,100% 0,64% 100%,54% 100%)}}
details{border-top:4px solid var(--ink);padding:20px 0}
summary{font-weight:800;font-size:23px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;min-height:44px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font:400 40px/1 var(--head)}details[open] summary::after{content:"\2212"}
details p{margin:10px 0 0;color:#30353a;font-size:21px}
@media (min-width:900px){summary{font-size:29px}}

/* safety */
.safety-shard{position:absolute;left:0;top:0;bottom:0;width:38%;z-index:0;clip-path:polygon(0 0,100% 0,58% 100%,0 100%)}
.safety-card{background:#fff;border:6px solid var(--ink);padding:30px 22px;display:grid;gap:26px}
@media (min-width:900px){.safety-card{grid-template-columns:1fr 1.05fr;gap:40px;padding:54px;margin-left:170px}}
.safety-card p{font-size:21px;margin:0}
.checks{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:12px}
.checks li{font-weight:800;font-size:21px;display:flex;gap:12px;align-items:center}
.checks li::before{content:"\2713";flex:none;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--ink);color:var(--ice)}

/* locations */
.locs{display:grid;gap:22px}@media (min-width:900px){.locs{grid-template-columns:1fr 1fr;gap:30px}}
.loc{background:#fff;color:var(--ink);overflow:hidden}
.loc img{width:100%;height:200px;object-fit:cover}
.loc-bar{display:block;height:14px;background:var(--ice)}
.loc-flyin{background:var(--ice);color:var(--ice-ink)}
.loc-body{padding:24px 28px 30px}.loc .eyebrow{font:800 16px var(--body);text-transform:uppercase;margin:0;opacity:.75}
.loc h3{font:400 clamp(34px,4vw,54px)/1.05 var(--head);text-transform:uppercase;margin:6px 0}
.loc p{margin:0}
@media (min-width:900px){
  .loc-home{clip-path:polygon(0 0,100% 0,100% 100%,5% 100%)}
  .loc-home .loc-body{padding-left:84px}
  .loc-flyin{clip-path:polygon(0 0,95% 0,100% 100%,0 100%)}
}

/* footer */
.site-footer{position:relative;z-index:1;background-color:var(--char2);background-image:radial-gradient(circle at 20% 30%, rgba(186, 230, 253, 0.3) 0%, transparent 50%), radial-gradient(circle at 80% 70%, rgba(186, 230, 253, 0.2) 0%, transparent 50%), radial-gradient(circle at 50% 50%, rgba(224, 242, 254, 0.2) 0%, transparent 50%);background-attachment:fixed;color:#fff;padding-bottom:40px}
.foot-camo{height:50px;clip-path:polygon(0 0,100% 0,100% 30%,0 100%)}
.foot-trim{height:6px;background:var(--ice)}
.foot-row{display:flex;flex-wrap:wrap;gap:28px 24px;justify-content:space-between;align-items:center;padding-top:40px;padding-bottom:40px}
@media (max-width:899px){
  .foot-row .brand{flex:1 1 100%;display:flex;justify-content:center}
  .site-footer .logo{width:80vw;max-width:80vw;height:auto}
  .site-footer .foot-contact{flex:1 1 100%;text-align:center}
  .foot-contact .student-login{margin-left:auto;margin-right:auto}
  .foot-legal{padding-left:12px;padding-right:12px}
}
.foot-social{flex:1 1 100%;display:flex;flex-direction:column;align-items:center;gap:6px;font-weight:800;font-size:18px;text-align:center}
.foot-social a{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none}
.foot-social .soc{display:block;width:22px;height:22px;flex:0 0 auto}
.foot-social a:hover{color:var(--ice)}
@media (min-width:900px){.foot-social{flex:1 1 240px}}
.foot-contact{font-weight:700;font-size:22px;line-height:1.6;text-align:right}.foot-contact .ph-note{color:#bbb}
.student-login{display:block;width:max-content;margin:14px 0 0 auto;background:var(--ice);color:#000;border:3px solid #000;font:900 18px var(--body);padding:12px 16px;text-decoration:none}
.foot-legal{padding-bottom:18px}
.foot-legal p{margin:0 0 4px;text-align:center;font-size:15px;font-weight:600;color:#cfd5d9}
@media (max-width:899px){
  .foot-legal p{font-size:min(15px, calc((100vw - 36px) / 26));line-height:1.35;white-space:nowrap}
  .foot-legal .foot-recaptcha{white-space:normal;font-size:13px;line-height:1.45}
}
.louish-mark{display:inline-block;width:1.3em;height:0.94em;vertical-align:-0.15em;margin:0 0.2em 0 0.1em}
.foot-recaptcha{font-size:13px;line-height:1.45;font-weight:600}
.foot-recaptcha a{color:#fff;text-decoration:underline}
.foot-contact-open{display:inline-block;margin:8px 0 0;padding:0;border:0;background:none;color:#fff;font:800 18px var(--body);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.contact-modal{border:0;padding:0;width:min(460px,100vw);max-width:100vw;max-height:100vh;background:#fff;color:#111}
.contact-modal::backdrop{background:rgba(0,0,0,.55)}
.contact-sheet{padding:10px 16px 12px;max-height:100vh;max-height:100dvh;overflow:auto}
.contact-sheet h2{font-family:var(--body);font-weight:800;text-transform:none;letter-spacing:0;font-size:28px;line-height:1.05;margin:6px 0 4px}
.contact-sheet .book-intro{margin:0 0 8px;line-height:1.25}
.contact-sheet .bk-field{margin:0 0 8px}
.contact-sheet .bk-field label{margin:0 0 3px}
.contact-sheet .bk-field input,.contact-sheet .bk-field textarea{padding:8px 10px}
.contact-send{width:100%;background:var(--ice);color:#000;border:3px solid #000;font:900 17px var(--body);padding:10px;cursor:pointer}
.contact-send:hover{filter:brightness(1.07)}
.contact-send:disabled{opacity:.55;cursor:wait}
.contact-msg{margin:0 0 12px;font-weight:700}
.contact-msg.is-ok{color:#146c2e}
.contact-msg.is-bad{color:#9b1c1c}
body.contact-open .book-bar{visibility:hidden}

/* video modal */
.video-modal{border:0;padding:0;background:#000;width:min(960px,94vw)}
.video-modal::backdrop{background:rgba(0,0,0,.8)}
.video-modal video{display:block;width:100%}
.video-modal .close,.photo-modal .close{position:absolute;right:6px;top:6px;z-index:2;width:48px;height:48px;font-size:32px;background:#fff;border:0;cursor:pointer}
.photo-modal{border:0;padding:0;background:transparent;width:max-content;max-width:96vw;max-height:92vh}
.photo-modal[open]{display:flex;align-items:center;gap:12px}
.photo-modal::backdrop{background:rgba(0,0,0,.82)}
.photo-nav{flex:0 0 auto;width:54px;height:54px;border:3px solid #000;background:#fff;font-size:28px;line-height:1;cursor:pointer}
.photo-modal img{display:block;max-width:min(88vw,calc(100vw - 170px));max-height:88vh;width:auto;height:auto}
.photo-modal .close{right:62px}
@media (max-width:899px){
  .photo-modal{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;background:#000}
  .photo-modal[open]{justify-content:center;gap:0}
  .photo-modal img{max-width:100%;max-height:100%;min-width:0;min-height:0;object-fit:contain}
  .photo-modal .photo-nav{position:absolute;top:max(8px, env(safe-area-inset-top));width:48px;height:48px;z-index:3;transform:none}
  .photo-modal .photo-prev{left:max(8px, env(safe-area-inset-left))}
  .photo-modal .photo-next{right:calc(max(8px, env(safe-area-inset-right)) + 56px)}
  .photo-modal .close{top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));z-index:4}
}

@media (prefers-reduced-motion:reduce){.parallax>.layer{transform:none!important}}

/* FAQ: every answer shown; longer list opens inline */
.qa{border-top:4px solid var(--ink);padding:20px 0}
.qa h3{font-size:23px;font-weight:800;margin:0}
.qa p{margin:8px 0 0;color:#30353a;font-size:21px}
.qa a{font-weight:800;text-decoration:underline;text-underline-offset:3px}
@media (min-width:900px){.qa h3{font-size:28px}}
.faq-more-btn{display:flex;width:100%;justify-content:space-between;align-items:center;gap:16px;margin-top:8px;background:var(--ice);color:var(--ice-ink);border:4px solid var(--ink);font:900 21px var(--body);text-transform:uppercase;padding:18px 22px;min-height:60px;cursor:pointer;text-align:left;clip-path:polygon(0 0,100% 0,100% 70%,97% 100%,0 100%)}
.faq-more-btn span{font:400 34px/1 var(--head)}
@media (min-width:900px){.faq-more-btn{width:auto;min-width:440px}}
.faq-more{margin-top:10px}
.faq-more-btn{margin-top:22px}
.faq-more[hidden]{display:none}
.draft-tag{display:inline-block;margin:8px 0 0!important;padding:3px 10px;border:2px dashed #b91c1c;color:#b91c1c!important;font:800 15px var(--body)!important;text-transform:uppercase}
.qa.is-draft{background:#fff7ed;padding-left:14px;padding-right:14px}

/* phone links */
.tel{color:inherit;font-weight:800;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.foot-contact .tel{display:inline-block;padding:6px 0;min-height:44px}
.site-nav .nav-phone{white-space:nowrap}
@media (min-width:1000px){.site-nav .nav-tollfree{display:none}}
.site-nav a.btn{color:var(--ice-ink);padding:14px 18px;margin-top:8px}
@media (min-width:1000px){.site-nav a.btn{padding:12px 18px;margin-top:0}}

/* preview-refined: layered parallax demo */
.plx-demo{position:relative;height:clamp(320px,55vw,560px);overflow:hidden;background:#9cc8ea}
.plx-l{position:absolute;inset:0}
.plx-l>div{position:absolute;inset:-25% 0;will-change:transform}
.plx-sky{background:url(../assets/img/sky.jpg) center/cover}
.plx-clouds{background:radial-gradient(closest-side,rgba(255,255,255,.9),transparent) 8% 30%/320px 90px no-repeat,radial-gradient(closest-side,rgba(255,255,255,.8),transparent) 62% 22%/420px 110px no-repeat,radial-gradient(closest-side,rgba(255,255,255,.75),transparent) 85% 48%/260px 70px no-repeat,radial-gradient(closest-side,rgba(255,255,255,.7),transparent) 30% 55%/360px 80px no-repeat}
.plx-mtn img{position:absolute;left:-2%;bottom:18%;width:104%}
.plx-trike img{position:absolute;right:8%;top:38%;height:42%}
@media (max-width:700px){.plx-mtn img{left:-40%;width:180%}.plx-trike img{height:34%;right:4%}}

/* preview-refined: plain square buttons, solid black border, no corner cuts */
.btn,.btn-sm,.btn-outline,.book-bar,.faq-more-btn{clip-path:none;border:3px solid #000;border-radius:0;text-align:center}
.btn,.book-bar,.faq-more-btn{background:var(--ice);color:#000;font-weight:900}
.btn-outline{background:#fff;color:#000}

/* pricing under How it works */
.price-lead{max-width:760px;margin:-10px 0 28px;font-size:22px}
.rates{display:grid;gap:22px}
.rate{position:relative;background:#fff;border:3px solid #000;padding:22px 22px 16px}
.rate-pair{background:#fff8d6}
.rate h3{font-family:var(--head);font-weight:400;text-transform:uppercase;font-size:clamp(36px,4vw,52px);margin:0}
.rate-sub{margin:0 0 12px;font-weight:700}
.rate ul{list-style:none;margin:0;padding:0}
.rate li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:2px solid #000;padding:8px 0}
.rate li b{font-size:20px}
.rate li span{font-family:var(--head);font-weight:400;font-size:40px;letter-spacing:.4px}
.rate-note{margin:8px 0 0;font-size:16px;font-weight:700}
.burst{display:inline-block;background:var(--wing);color:#000;border:3px solid #000;font:900 15px var(--body);text-transform:uppercase;padding:6px 8px;transform:rotate(8deg)}
.rate .burst{position:absolute;right:14px;top:-16px}
.video-add{margin:20px 0 0;font-weight:800}
@media (min-width:800px){.rates{grid-template-columns:1fr 1fr}}

/* about */
.about-copy .lead{font-size:24px;font-weight:700}
.about-copy p{margin:0 0 16px}
.about-copy a{font-weight:800}
.certs{display:grid;gap:12px}
.cert{background:var(--char);color:#fff;border:3px solid #000;padding:16px 18px}
.cert h3{color:var(--ice);margin:0 0 6px;font-size:22px;text-transform:uppercase}
.cert p{margin:0;font-size:17px}
@media (min-width:900px){.about-grid{display:grid;grid-template-columns:1.35fr .75fr;gap:36px;align-items:start}}

/* booking popup */
.book-modal{border:0;padding:0;width:min(460px,100vw);max-width:100vw;max-height:100vh;background:#fff;color:#111}
.book-modal::backdrop{background:rgba(0,0,0,.55)}
.book-sheet{padding:14px 16px 18px;max-height:100vh;overflow:auto}
.book-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.book-top .book-x,.book-top .book-count{flex:0 0 auto}
.book-top .ref-line{flex:1 1 auto;margin:0;text-align:center;font-size:15px;line-height:1.05;min-width:0}
.book-top .ref-line button{line-height:1.1}
.book-top .ref-note{display:none}
.book-top .ref-line.is-on{padding:2px 6px}
.book-x{border:2px solid #111;background:#fff;border-radius:999px;font:800 15px var(--body);padding:8px 14px;cursor:pointer}
.book-count{margin:0;font-weight:800}
.book-bar-progress{height:8px;background:#ececec;margin:12px 0 16px}
.book-bar-progress i{display:block;height:100%;width:20%;background:#111}
.book-kicker{margin:0;font:800 12px var(--body);letter-spacing:.14em;text-transform:uppercase;color:#666}
.book-sheet h2{font-family:var(--body);font-weight:800;text-transform:none;letter-spacing:0;font-size:34px;line-height:1.05;margin:2px 0 8px}
.book-intro{margin:0 0 12px}
.book-hint{margin:12px 0 0;color:#555;font-size:16px}
.picks{display:grid;gap:10px}
.picks-2{grid-template-columns:1fr 1fr}
.pick{position:relative;display:block;border:3px solid #ddd;background:#fff;padding:12px 12px 12px 40px;cursor:pointer}
.pick[hidden],.flyin-banner[hidden],.book-pane[hidden],.book-back[hidden]{display:none !important}
.pick.is-on{border-color:#111;background:#fff6c8}
.pick input{position:absolute;opacity:0}
.pick .radio{position:absolute;left:12px;top:14px;width:18px;height:18px;border:2px solid #111;border-radius:50%}
.pick.is-on .radio{box-shadow:inset 0 0 0 5px #111}
.pick strong{display:block;font-size:18px}
.pick > span{display:block;font-size:15px;color:#333}
.sel-tag,.here-tag{display:inline-block;margin-top:8px;background:#111;color:#fff;font:800 11px/1 var(--body);letter-spacing:.04em;text-transform:uppercase;padding:5px 7px;font-style:normal}
.pick .sel-tag{display:none}
.pick.is-on .sel-tag{display:inline-block}
.day{border:3px solid #111;padding:10px 12px;margin:0 0 8px}
.day p{margin:0 0 8px;font-weight:800}
.slots{display:flex;gap:8px}
.slot{position:relative;flex:1;min-width:0;display:block;border:2px solid #111;padding:10px 8px;text-align:center;font-weight:800;cursor:pointer;background:#fff;overflow:hidden}
.slot.is-on{background:#fff6c8}
.slot.is-off{opacity:.4;cursor:not-allowed;background:#eee;pointer-events:none}
.slot input{position:absolute;opacity:0}
#dates-home[hidden],#dates-flyin[hidden],#date-hint[hidden],#mins-home[hidden],#mins-fly[hidden],#min-hint[hidden],#bk-date-hint[hidden],#bk-backup-hint[hidden],#bk-info-hint[hidden],#bk-review-hint[hidden],#bk-guard[hidden],#bk-guard2[hidden],#pax2[hidden],#book-lookup[hidden],#recaptcha-v2-wrapper[hidden],#contact-v2[hidden],#contact-msg[hidden],.book-actions[hidden],.link-msg[hidden],.ref-box[hidden],.ref-msg[hidden],.ref-note[hidden],.ref-line[hidden],.js-save[hidden]{display:none !important}
.ref-line{margin:0 0 14px;font-weight:700}
.ref-line button{background:none;border:0;padding:0;font:inherit;font-weight:800;color:#111;text-decoration:underline;cursor:pointer}
.ref-line.is-on{background:#fff6c8;border:2px solid #111;padding:8px 10px}
.ref-note{font-weight:800}
.ref-box{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px}
.ref-box label{flex:0 0 auto;font-weight:800}
.ref-box input{flex:1 1 0;width:0;min-width:0;font:600 18px var(--body);padding:10px 12px;border:3px solid #ddd;background:#fff;color:#111}
.ref-box input.is-on{border-color:#111;background:#fff6c8}
.ref-box button{flex:0 0 auto;background:#111;color:#fff;border:3px solid #111;font:900 16px var(--body);padding:10px 14px;cursor:pointer}
.ref-box button:disabled{opacity:.55;cursor:wait}
.ref-msg{flex:1 0 100%;width:100%;margin:0;font-weight:700}
.ref-msg.is-ok{color:#146c2e}
.ref-msg.is-bad{color:#9b1c1c}
.js-price .was{font-size:.72em}
.book-already{margin:14px 0 0;font-weight:700}
.book-already button{background:none;border:0;padding:0;font:inherit;font-weight:800;color:#111;text-decoration:underline;cursor:pointer}
.link-form{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:12px}
.link-form label{font-weight:800}
.link-form input{width:100%;font:600 18px var(--body);padding:10px 12px;border:3px solid #ddd;background:#fff;color:#111}
.link-form input.is-on{border-color:#111;background:#fff6c8}
.link-form button{background:#111;color:#fff;border:3px solid #111;font:900 17px var(--body);padding:14px 10px;cursor:pointer}
.link-form button:disabled{opacity:.55;cursor:wait}
.link-msg{margin:0;font-weight:700}
.link-msg.is-ok{color:#146c2e}
.link-msg.is-bad{color:#9b1c1c}
.lookup-back{margin-top:14px;background:#fff;color:#111;border:3px solid #111;font:800 16px var(--body);padding:14px 16px;cursor:pointer}
.bk-field{margin:0 0 12px}
.bk-field label,.bk-q{display:block;font-weight:800;margin:0 0 6px}
.bk-field input,.bk-field textarea{width:100%;font:600 18px var(--body);padding:10px 12px;border:3px solid #ddd;background:#fff;color:#111}
.bk-field input[type="date"]{display:block;min-width:0}
@media (max-width:899px){
  .bk-field input[type="date"]{width:calc(100% - 30px);max-width:calc(100% - 30px)}
}
.bk-field .slot input{width:1px;height:1px;margin:0;padding:0;border:0}
.bk-field input.is-on{border-color:#111;background:#fff6c8}
.bk-field small{display:block;margin-top:4px;font-size:14px;color:#444}
.bk-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bk-check{display:flex;gap:8px;align-items:flex-start;margin:0 0 10px;font-weight:700}
.bk-check input{width:22px;height:22px;margin-top:2px;flex:none}
.day-name{margin:6px 0 0;font-weight:800}
.book-pane[data-step="5"] .book-intro{line-height:1.25}
.alt-label{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:0 0 6px}
.alt-label label{margin:0}
.alt-label .day-name{margin:0}
.alt-label .day-name:empty{display:none}
.bk-field .slots{margin-top:8px}
.pax{border-top:3px solid #111;margin:8px 0 14px;padding-top:10px}
.pax h3{margin:0 0 10px;font-size:22px}
.guard-note{margin:0 0 8px;font-weight:800}
.min-list{list-style:none;margin:8px 0 0;padding:0}
.min-list li{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #ddd;padding:4px 0;font-size:15px}
.from{font-weight:800}
.was{text-decoration:line-through;color:#777;font-weight:700;margin-right:6px}
.loc-book{display:inline-block;margin-top:14px;background:#111;color:#fff;border:3px solid #111;font:900 16px var(--body);padding:12px 16px;cursor:pointer}
.pick .burst{position:absolute;right:-8px;top:-18px;font-size:12px}
.rigs{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#d7efe4;padding:8px;margin:0 0 8px}
.rig{display:flex;flex-wrap:wrap;align-items:center;gap:4px 3px;background:#fff;border:3px solid #111;padding:8px;min-height:0;cursor:pointer;text-align:left;font:inherit;color:inherit;width:100%}
.rig p{flex:1 0 100%;margin:0;font:800 13px/1.15 var(--body);text-transform:uppercase}
.rig span{display:inline-block;background:#111;color:#fff;font:800 11px var(--body);padding:2px 5px;margin:0}
.rig .you{background:var(--wing);color:#000}
.rigs[data-people="1"] .rig-2{opacity:.25}
.book-explain{background:#111;color:#fff;margin:0 0 12px;padding:12px 14px;font-weight:700;font-size:16px}
.book-actions{display:flex;gap:10px;margin-top:16px}
.book-back{flex:0 0 auto;background:#fff;color:#111;border:3px solid #111;font:800 16px var(--body);padding:14px 16px;cursor:pointer}
.book-next{flex:1;background:var(--ice);color:#000;border:3px solid #000;font:900 17px var(--body);padding:14px 10px;cursor:pointer}
.book-next:hover{filter:brightness(1.07)}
.flyin-banner{background:#111;color:#fff;padding:10px 12px;margin:0 0 12px}
body.booking-open .book-bar{visibility:hidden}
