:root{--color-navy:#0B2545;--color-ocean:#006D77;--color-sunset:#F28C28;--color-pink:#C2255C;--color-dusk:#5B3A8C;--color-sand:#FDEBDD;--color-white:#fff;--color-line:rgba(11,37,69,.13);--font-heading:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;--font-body:"Open Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--max-width:74rem;--gutter:1.25rem;--header-height:4.5rem;--tap:2.75rem;--radius:1.25rem;--pill:999px}.no-js{--header-height:7.5rem}*,*::before,*::after{box-sizing:border-box}html{scroll-padding-top:calc(var(--header-height) + 1rem);-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;color:var(--color-navy);background:#fff;font:400 1rem/1.65 var(--font-body)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-heading);line-height:1.08}img{display:block;max-width:100%;height:auto}a{color:var(--color-ocean);text-underline-offset:.16em}:focus-visible{outline:3px solid var(--color-sunset);outline-offset:3px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:999;top:.5rem;left:.5rem;padding:.7rem 1rem;color:#fff;background:var(--color-navy);transform:translateY(-160%)}.skip-link:focus{transform:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);padding:.78rem 1.4rem;border:2px solid transparent;border-radius:var(--pill);font:700 .95rem/1 var(--font-heading);text-decoration:none;transition:transform .2s ease,background .2s ease}.button:hover{transform:translateY(-2px)}.button--primary{color:var(--color-navy);background:var(--color-sunset);box-shadow:0 8px 22px rgba(242,140,40,.25)}.button--ghost{color:#fff;border-color:rgba(255,255,255,.75);background:rgba(11,37,69,.18)}.button--large{min-height:3.4rem;padding:1rem 1.7rem}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);border-bottom:1px solid var(--color-line);backdrop-filter:blur(12px)}.site-header__inner{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;max-width:var(--max-width);min-height:4.5rem;margin:auto;padding:.55rem var(--gutter)}.site-header__brand{display:flex;align-items:center;gap:.55rem;min-height:var(--tap);margin-right:auto;color:var(--color-navy);font:800 1.1rem/1 var(--font-heading);text-decoration:none}.brand-accent{color:var(--color-pink)}.brand-mark{position:relative;display:grid;place-items:end center;width:2.25rem;height:2.25rem;overflow:hidden;border-radius:50%;background:linear-gradient(var(--color-sunset),var(--color-pink) 52%,var(--color-ocean) 53%)}.brand-mark::after,.brand-mark span{content:"";position:absolute;left:0;right:0;height:2px;background:#fff}.brand-mark::after{bottom:.55rem}.brand-mark span{bottom:.9rem}.site-header__cta{display:none}.site-nav{order:1;flex-basis:100%}.site-nav__toggle{display:none}.site-nav__list{display:flex;gap:.15rem;margin:0 calc(var(--gutter)*-1);padding:0 var(--gutter);overflow:auto;list-style:none}.site-nav__link{display:flex;align-items:center;min-height:var(--tap);padding:.5rem .7rem;color:var(--color-navy);font:600 .9rem var(--font-heading);text-decoration:none;white-space:nowrap;border-bottom:3px solid transparent}.site-nav__link[aria-current=true]{color:var(--color-pink);border-bottom-color:var(--color-pink)}.js .site-nav{order:0;flex-basis:auto}.js .site-nav__toggle{display:grid;place-items:center;width:var(--tap);height:var(--tap);padding:0;border:0;border-radius:.6rem;color:var(--color-navy);background:transparent}.site-nav__toggle-icon,.site-nav__toggle-icon::before,.site-nav__toggle-icon::after{display:block;width:1.4rem;height:2px;border-radius:2px;background:currentColor}.site-nav__toggle-icon{position:relative}.site-nav__toggle-icon::before,.site-nav__toggle-icon::after{content:"";position:absolute;left:0}.site-nav__toggle-icon::before{top:-7px}.site-nav__toggle-icon::after{top:7px}.js .site-nav__list{display:none;position:absolute;top:100%;right:0;left:0;flex-direction:column;margin:0;padding:.5rem 1.25rem 1rem;background:#fff;box-shadow:0 18px 35px rgba(11,37,69,.12)}.js .site-nav__toggle[aria-expanded=true]+.site-nav__list{display:flex}.js .site-nav__toggle[aria-expanded=true] .site-nav__toggle-icon{background:transparent}.js .site-nav__toggle[aria-expanded=true] .site-nav__toggle-icon::before{top:0;transform:rotate(45deg)}.js .site-nav__toggle[aria-expanded=true] .site-nav__toggle-icon::after{top:0;transform:rotate(-45deg)}
.hero{position:relative;isolation:isolate;min-height:42rem;display:grid;align-items:center;overflow:hidden;color:#fff;background:var(--color-navy)}.hero__photo{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;filter:saturate(1.08) contrast(1.03)}.hero__overlay{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(11,37,69,.92) 0%,rgba(11,37,69,.72) 42%,rgba(11,37,69,.28) 72%,rgba(91,58,140,.12) 100%),linear-gradient(0deg,rgba(11,37,69,.34),transparent 48%)}.hero__sun{position:absolute;z-index:-1;right:-6rem;top:4rem;width:20rem;aspect-ratio:1;border-radius:50%;background:linear-gradient(var(--color-sunset),var(--color-pink));opacity:.9;mix-blend-mode:screen}.hero__inner{width:min(calc(100% - 2.5rem),var(--max-width));margin:auto;padding:6rem 0 8rem}.eyebrow{margin:0 0 1rem;color:var(--color-sunset);font:800 .78rem/1.2 var(--font-heading);letter-spacing:.16em;text-transform:uppercase}.eyebrow--ocean{color:var(--color-ocean)}.eyebrow--pink{color:var(--color-pink)}.hero__title{max-width:760px;margin-bottom:1.25rem;font-size:clamp(3rem,10vw,6.5rem);font-weight:800;letter-spacing:-.05em}.hero__title span{color:var(--color-sunset)}.hero__subhead{max-width:34rem;margin-bottom:2rem;font-size:clamp(1.1rem,2vw,1.4rem)}.hero__actions{display:flex;flex-wrap:wrap;gap:.8rem}.hero__waves{position:absolute;right:0;bottom:-1px;left:0;height:3.2rem;background:linear-gradient(to bottom,transparent 0 1rem,var(--color-sand) 1rem);clip-path:polygon(0 38%,8% 15%,16% 40%,25% 12%,35% 42%,45% 18%,55% 42%,65% 12%,75% 38%,86% 15%,100% 42%,100% 100%,0 100%)}
.section{padding:5rem 0}.section--sand{background:var(--color-sand)}.section__inner{width:min(calc(100% - 2.5rem),var(--max-width));margin:auto}.section__inner--narrow{max-width:58rem}.section__title,.display-title{margin-bottom:2rem;font-size:clamp(2.4rem,6vw,4rem);font-weight:800;letter-spacing:-.035em}.section__title::after{content:"";display:block;width:4.5rem;height:.42rem;margin-top:.75rem;border-radius:var(--pill);background:linear-gradient(90deg,var(--color-sunset),var(--color-pink))}.intro{background:var(--color-sand)}.intro__grid{display:grid;gap:1.5rem}.display-title{margin:0}.intro__copy{max-width:40rem;margin:0;font-size:1.08rem}.services__list{display:grid;gap:1rem;margin:0;padding:0;list-style:none}.card{position:relative;overflow:hidden;min-height:15rem;padding:1.6rem;border:1px solid var(--color-line);border-radius:var(--radius);background:#fff;box-shadow:0 14px 35px rgba(11,37,69,.08)}.card::after{content:"";position:absolute;right:-3rem;bottom:-3rem;width:9rem;height:9rem;border-radius:50%;opacity:.12;background:currentColor}.card--pink{color:var(--color-pink)}.card--sunset{color:#c45e00}.card--ocean{color:var(--color-ocean)}.card--dusk{color:var(--color-dusk)}.card__number{display:block;margin-bottom:2rem;font:800 1rem var(--font-heading)}.card__title{color:var(--color-navy);font-size:1.35rem}.card p{position:relative;color:var(--color-navy);margin-bottom:0}.feature-strip{display:grid;color:#fff;background:var(--color-navy)}.feature-strip__image-wrap{max-height:35rem;overflow:hidden}.feature-strip__image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 58%}.feature-strip__content{padding:3.5rem 1.25rem}.feature-strip__content h2{margin-bottom:1.5rem;font-size:clamp(2.2rem,6vw,4rem);font-weight:800}.feature-strip__content h2 span{color:var(--color-sunset)}.feature-strip__content p:not(.eyebrow){max-width:36rem}.steps{display:grid;gap:1rem;margin:0 0 3rem;padding:0;list-style:none;counter-reset:none}.steps__item{position:relative;padding:1.5rem;border-radius:var(--radius);color:#fff;background:linear-gradient(145deg,var(--color-navy),#123a67)}.steps__number{display:grid;place-items:center;width:3rem;height:3rem;margin-bottom:1.5rem;border-radius:50%;color:var(--color-navy);background:var(--color-sunset);font:800 1.2rem var(--font-heading)}.steps__item h3{font-size:1.4rem}.steps__item p{margin:0}.benefits{display:grid;gap:1rem}.benefit{padding:1.5rem;border:1px solid var(--color-line);border-radius:var(--radius);background:#fff}.benefit__icon{display:grid;place-items:center;width:2.8rem;height:2.8rem;margin-bottom:1rem;border-radius:50%;color:#fff;background:var(--color-ocean);font-size:1.3rem}.benefit p{margin:0}.pricing{color:#fff;background:linear-gradient(115deg,var(--color-dusk),var(--color-pink))}.pricing__panel{display:grid;gap:2rem}.section__title--light{color:#fff}.section__title--light::after{background:var(--color-sunset)}.pricing__copy{font-size:1.08rem}.booking{background:#fff}.booking__intro{max-width:42rem;font-size:1.1rem}.booking__shell{overflow:hidden;border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:0 18px 45px rgba(11,37,69,.1)}.booking__frame{display:block;width:100%;height:1160px;border:0;background:#fff}.booking__fallback{margin:1rem 0 0}.faq__list{display:grid;gap:.8rem}.faq__item{overflow:hidden;border:1px solid var(--color-line);border-radius:1rem;background:#fff}.faq__item summary{min-height:var(--tap);padding:1rem 3.5rem 1rem 1.25rem;cursor:pointer;font:700 1.02rem/1.4 var(--font-heading)}.faq__item summary::marker{color:var(--color-pink)}.faq__item div{padding:0 1.25rem 1.25rem}.faq__item p{margin:0}.contact__grid{display:grid;gap:2rem}.contact__lead{max-width:34rem}.contact__details{font-style:normal}.contact__details dl{margin:0;border-top:1px solid var(--color-line)}.contact__details dl div{display:grid;grid-template-columns:7rem 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--color-line)}.contact__details dt{font:700 .9rem var(--font-heading)}.contact__details dd{margin:0}.site-footer{padding:3rem 0;color:#fff;background:var(--color-navy)}.site-footer__inner{width:min(calc(100% - 2.5rem),var(--max-width));margin:auto}.site-footer__brand{display:inline-block;margin-bottom:.8rem;color:#fff;font:800 1.5rem var(--font-heading);text-decoration:none}.site-footer__brand span{color:var(--color-sunset)}.site-footer p{margin-bottom:.6rem}.site-footer a{color:#fff}.site-footer__top{display:inline-flex;min-height:var(--tap);align-items:center;font-weight:700}
@media(min-width:22.5em){.site-header__cta{display:inline-flex}}
@media(min-width:48em){.section{padding:6.5rem 0}.intro__grid{grid-template-columns:1fr 1fr;align-items:end}.services__list{grid-template-columns:repeat(2,1fr)}.feature-strip{grid-template-columns:1fr 1fr;min-height:38rem}.feature-strip__image-wrap{max-height:none}.feature-strip__content{display:flex;flex-direction:column;justify-content:center;padding:5rem clamp(2rem,6vw,6rem)}.steps{grid-template-columns:repeat(3,1fr)}.benefits{grid-template-columns:repeat(3,1fr)}.pricing__panel{grid-template-columns:1fr 1fr;align-items:center}.contact__grid{grid-template-columns:1fr 1fr}.site-footer__inner{display:grid;grid-template-columns:1fr auto;gap:.25rem 2rem;align-items:center}.site-footer__top{grid-column:2;grid-row:1/span 3}.hero__sun{right:7%;width:28rem}}
@media(min-width:64em){:root,.no-js{--header-height:4.75rem}.site-header__inner{flex-wrap:nowrap;gap:1.25rem;min-height:4.75rem}.site-header__brand{font-size:1.35rem}.site-nav,.js .site-nav{order:0;flex-basis:auto}.js .site-nav__toggle{display:none}.site-nav__list,.js .site-nav__list{display:flex;position:static;flex-direction:row;gap:.2rem;margin:0;padding:0;box-shadow:none}.site-nav__link,.js .site-nav__link{padding:.55rem .7rem}.services__list{grid-template-columns:repeat(4,1fr)}.hero__inner{padding-top:8rem;padding-bottom:10rem}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}
.site-header__logo{display:block;width:auto;height:3.25rem;max-width:min(18rem,48vw);object-fit:contain}
@media(max-width:30em){.site-header__logo{height:2.7rem;max-width:13.5rem}}

/* Larger BeachRides4U header logo */
.site-header__inner{min-height:6rem;padding-top:.45rem;padding-bottom:.45rem}
.site-header__logo{height:4.75rem;max-width:min(27rem,58vw)}
@media(min-width:64em){:root,.no-js{--header-height:6rem}.site-header__inner{min-height:6rem}.site-header__logo{height:4.75rem;max-width:27rem}}
@media(max-width:30em){.site-header__logo{height:3.35rem;max-width:16.5rem}}

/* Desktop header sizing: larger logo with vertically centered navigation and CTA */
@media(min-width:64em){
  :root,.no-js{--header-height:7rem}
  .site-header__inner{
    min-height:7rem;
    padding-top:.5rem;
    padding-bottom:.5rem;
    align-items:center;
  }
  .site-header__brand,
  .site-nav,
  .site-header__cta{align-self:center}
  .site-header__logo{
    height:6rem;
    max-width:27rem;
  }
}


/* Requested site refinements — 2026-09-29 */
.site-nav__link{font-size:1.05rem}
.intro__copy{font-size:1.3rem}
.section.section--sand.services{background:#fff}
.how-it-works .steps{margin-bottom:0}
.booking .section__inner{padding:50px}
.feature-strip__image-wrap img{object-position:center 48%}
@media(max-width:47.99em){.booking .section__inner{padding:50px;width:min(calc(100% - 1.5rem),var(--max-width))}}

/* Feature image: fill the entire panel with no letterboxing */
.feature-strip__image-wrap{position:relative;background:none}
.feature-strip__image-wrap img{display:block;width:100%;height:100%;min-height:100%;object-fit:cover;object-position:center center}
@media(min-width:48em){.feature-strip__image-wrap{height:100%;min-height:38rem}.feature-strip__image-wrap img{position:absolute;inset:0}}

/* Booking form spacing and mobile iframe height */
.booking__shell{padding:0 35px}
@media(max-width:47.99em){
  .booking__frame{height:1320px}
}

/* Requested site refinements — 2026-10-06 */

/* Destinations served */
.intro__destinations{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.25rem 0 0;padding:0;list-style:none}
.intro__destinations li{padding:.4rem .95rem;border:1px solid var(--color-line);border-radius:var(--pill);background:#fff;color:var(--color-navy);font:600 .95rem/1.4 var(--font-heading)}

/* Services: two cards, 50/50 from tablet up */
@media(min-width:64em){.services__list--two{grid-template-columns:repeat(2,1fr)}}

/* Pricing table */
.pricing__panel{align-items:start}
.pricing__table-wrap{overflow-x:auto;margin-bottom:1.25rem;border-radius:.125rem;box-shadow:0 18px 40px rgba(11,37,69,.22)}
.pricing-table{width:100%;border-collapse:collapse;background:#fff;color:var(--color-navy);font-size:1rem}
.pricing-table th,.pricing-table td{padding:.9rem 1rem;text-align:left;border-bottom:1px solid var(--color-line)}
.pricing-table thead th{background:var(--color-sand);font:700 .85rem/1.3 var(--font-heading);color:var(--color-navy);border-bottom:3px solid var(--color-sunset)}
.pricing-table tbody th{font:600 1rem/1.35 var(--font-heading)}
.pricing-table tbody tr:last-child th,.pricing-table tbody tr:last-child td{border-bottom:0}
.pricing-table__price{font:800 1.2rem/1 var(--font-heading);color:var(--color-ocean);white-space:nowrap}
.pricing-table__price--group{color:var(--color-pink)}
.pricing-table th:not(:first-child),.pricing-table td{text-align:right}
.pricing__note{margin-bottom:1.25rem}
@media(max-width:29.99em){.pricing-table th,.pricing-table td{padding:.8rem .7rem}.pricing-table__price{font-size:1.05rem}}

/* Refinements — 2026-10-06 (round 2) */
.pricing__intro .pricing__note{max-width:30rem;font-size:1.08rem}
.pricing__table-wrap{margin-bottom:0}
.card__title{margin-top:.25rem}

/* Mobile header: logo left, Book a Ride + menu on one row — 2026-10-06 */
@media(max-width:63.99em){
  .site-header__inner{gap:0 .375rem;min-height:4.5rem;padding:.5rem 1rem}
  .js .site-header__inner{flex-wrap:nowrap}
  .site-header__brand{flex:0 1 auto;min-width:0}
  .site-header__logo{width:clamp(8.5rem,38vw,14rem);height:auto;max-width:100%}
  .site-header__cta{flex:none;min-height:var(--tap);padding:.55rem .95rem;font-size:.875rem;white-space:nowrap}
  .js .site-header__cta{order:1}
  .js .site-nav{order:2;flex:none}
  /* No-JS fallback: nav drops to its own scrollable row without widening the page */
  .site-nav{min-width:0}
  .site-nav__list{margin:0 -1rem;padding:0 1rem}
  .js .site-nav__list{margin:0;padding:.5rem 1.25rem 1rem}
}

/* Small phones: let the contact column shrink so the email can't push the page sideways */
.contact__grid>*{min-width:0}
.contact__details dd{min-width:0;overflow-wrap:anywhere}

/* Mobile hardening — 2026-10-06
   Holds up when a visitor's browser uses larger default text. */
@media(max-width:63.99em){
  /* Logo takes whatever room is left; CTA and menu button keep their size */
  .site-header__brand{flex:1 1 0;min-width:0}
  .site-header__logo{width:100%;max-width:14rem;height:auto}
}
@media(max-width:47.99em){
  .hero__title{font-size:clamp(2.25rem,11.5vw,6.5rem)}
  .section__title,.display-title{font-size:clamp(2rem,9vw,4rem)}
}
/* Safety net: nothing can push the page sideways. clip (not hidden) keeps the sticky header working. */
html,body{overflow-x:clip}
/* Grid children may shrink, so wide content (table, long words) stays inside the column */
.pricing__panel>*,.intro__grid>*{min-width:0}
.display-title,.section__title{overflow-wrap:break-word}
/* Hide the header CTA only when the header is too narrow for logo + CTA + menu.
   Container em units follow the visitor's text size, so this adapts to larger default text. */
.site-header{container:site-header/inline-size}
@container site-header (max-width:21em){.site-header__cta{display:none}}
@media(max-width:63.99em){.site-header__logo{max-width:min(12rem,52vw)}}
