:root{--ink:#12373a;--cream:#f4f0e6;--accent:#e2a45a;--panel:#1d4a4d;--muted:#c2cfca;--button-ink:#17383a;--field:#fffdf7;--surf-line:#ffffff2b;--sand:#e9e1d2;--deep:#0c292d}
body[data-demo="surf"]{background:var(--ink);color:var(--cream);font-family:Arial,sans-serif}
.surf-hero{min-height:min(760px,calc(100vh - 82px));padding:70px 8vw 76px}
.surf-hero .demo-hero-media:after{background:linear-gradient(90deg,#0b2526e8 0%,#0b2526b8 37%,#0b25264a 67%,#0b252614 100%)}
.surf-hero .demo-hero-copy{max-width:760px}
.surf-hero .demo-hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(64px,9vw,126px);line-height:.91;letter-spacing:-.065em}
.surf-hero .demo-hero h1 em,.surf-intro h2 em,.facebook-copy h2 em,.trip-cta h2 em{color:var(--accent);font-family:Georgia,serif;font-weight:400}
.surf-hero .demo-hero-copy>p:not(.demo-kicker){font-size:19px;max-width:560px;color:#f4f1e9;line-height:1.7}
.surf-proof{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:46px;font:10px/1.4 monospace;letter-spacing:.12em;color:#f4f0e6c9}
.surf-proof i{display:block;width:5px;height:5px;border-radius:50%;background:var(--accent)}
.hero-location{position:absolute;right:7vw;bottom:27px;z-index:2;font:10px monospace;letter-spacing:.12em;color:#f4f0e6c9}.hero-location span{color:var(--accent)}
.surf-intro{display:grid;grid-template-columns:.85fr 1fr;gap:9vw;align-items:center;background:var(--sand);color:var(--ink)}
.shore-note h2{font:400 clamp(42px,5vw,70px)/.98 Georgia,serif;letter-spacing:-.045em;margin:15px 0 20px}.shore-note>p:not(.demo-kicker){max-width:600px;color:#536361;font-size:17px;line-height:1.8}
.shore-note .demo-kicker{color:#a16c32}
.text-cta{display:inline-block;margin-top:15px;border-bottom:1px solid #9e6b35;padding:9px 0;color:var(--ink);font-weight:700}
.shore-facts{border-top:1px solid #12373a3a}.shore-facts article{padding:20px 0;border-bottom:1px solid #12373a3a}.shore-facts article>span,.trip-detail-index span{font:10px monospace;letter-spacing:.13em;color:#9c713e}.shore-facts h3{font:600 24px Georgia,serif;margin:9px 0}.shore-facts p{margin:0;color:#5b6864;line-height:1.65}
.trip-preview{background:var(--deep)}
.demo-section-title h2{font:400 clamp(40px,5.2vw,70px)/.98 Georgia,serif;letter-spacing:-.04em}
.trip-preview .demo-section-title>div>p,.beach-gallery .demo-section-title>div>p{margin-bottom:0}
.trip-preview .demo-section-title .text-cta,.beach-gallery .demo-section-title .text-cta{white-space:nowrap;color:var(--cream);border-color:var(--accent)}
.surf-trip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.surf-trip-card{min-height:260px;padding:28px;background:var(--panel);border-top:2px solid var(--accent);display:flex;flex-direction:column}
.surf-trip-card>span{font:10px monospace;letter-spacing:.12em;color:var(--accent)}.surf-trip-card h3{font:400 30px Georgia,serif;margin:26px 0 10px}.surf-trip-card p{line-height:1.7;color:#d2dbd5;margin:0 0 24px}.surf-trip-card a{margin-top:auto;color:var(--accent);font-weight:700}
.beach-gallery{background:var(--sand);color:var(--ink)}.beach-gallery .demo-section-title>div>p{color:#946b3d}.beach-gallery .demo-section-title .text-cta{color:var(--ink)}
.gallery-window.surf-gallery-preview{gap:17px;scrollbar-color:#70877c transparent}.surf-gallery-preview figure{flex:0 0 min(68vw,540px);margin:0}.surf-gallery-preview img{display:block;width:100%;height:360px;object-fit:cover}.surf-gallery-preview figcaption{padding:13px 0;color:#42534e;font-size:14px}.beach-gallery .gallery-controls button{background:var(--ink);color:var(--cream);border:0;width:44px;height:44px;font-size:20px;cursor:pointer}.beach-gallery .demo-disclaimer{color:#66746d}
.surf-marquee-window{overflow:hidden;margin:0 -8vw;padding:0 8vw;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.surf-marquee-track{display:flex;width:max-content;animation:surf-marquee 48s linear infinite}.surf-marquee-window:hover .surf-marquee-track,.surf-marquee-window:focus-within .surf-marquee-track{animation-play-state:paused}.surf-marquee-set{display:flex;gap:18px;padding-right:18px}.surf-marquee-set figure{flex:0 0 clamp(330px,38vw,600px);width:clamp(330px,38vw,600px);margin:0}.surf-marquee-set img{display:block;width:100%;aspect-ratio:1.58;object-fit:cover;object-position:center 48%;background:#c5d0c9}.surf-marquee-set figure:nth-child(2) img{object-position:center 52%}.surf-marquee-set figure:nth-child(3) img{object-position:center 45%}.surf-marquee-set figcaption{display:flex;justify-content:space-between;gap:12px;padding:13px 2px;color:#233e3e;font:600 14px Arial,sans-serif}.surf-marquee-set figcaption span{color:#66746d;font-weight:400}
.surf-reviews{background:#173f41}.google-rating{display:flex;gap:12px;align-items:center}.google-rating>div{display:grid;gap:4px}.google-rating strong{font-size:14px}.google-rating small{color:var(--muted);font-size:12px}.google-g{display:grid;place-items:center;background:#fff;border-radius:50%;width:38px;height:38px;color:#4285f4;font:bold 24px Arial}
.review-rotator{max-width:900px;min-height:265px;padding:35px 42px;background:#1b4b4d;border-left:3px solid var(--accent);position:relative}.review-stars{color:#f2bd62;letter-spacing:.13em;font-size:20px}.review-rotator blockquote{font:400 clamp(22px,3vw,34px)/1.4 Georgia,serif;max-width:760px;margin:19px 0}.review-credit{color:#c7d4ce;margin:0}.review-controls{display:flex;align-items:center;gap:16px;position:absolute;right:25px;bottom:20px;color:#dbe3dd;font:11px monospace}.review-controls button{background:transparent;border:1px solid #ffffff65;color:inherit;width:38px;height:38px;cursor:pointer}.review-controls button:hover{border-color:var(--accent);color:var(--accent)}.surf-reviews>.demo-disclaimer{color:#bdccc5}
.surf-reviews-window{margin:0 -8vw;padding:0 8vw;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.surf-reviews-track{gap:0;animation-duration:52s}.surf-review-copy{display:flex;gap:16px;padding-right:16px}.surf-reviews-window:hover .surf-reviews-track,.surf-reviews-window:focus-within .surf-reviews-track{animation-play-state:paused}.surf-reviews-window .demo-review{width:min(390px,78vw);min-height:205px;background:#1b4b4d;border-top:0;border-left:3px solid var(--accent);display:flex;flex-direction:column}.surf-reviews-window .demo-review p{font:400 20px/1.55 Georgia,serif;color:var(--cream);margin:14px 0}.surf-reviews-window .demo-review small{margin-top:auto;color:#c7d4ce}
.facebook-section{background:#e7dfd0;color:var(--ink);display:grid;grid-template-columns:.7fr 1fr;gap:9vw;align-items:center}.facebook-copy .demo-kicker{color:#936535}.facebook-copy h2{font:400 clamp(47px,6vw,78px)/.94 Georgia,serif;letter-spacing:-.05em;margin:16px 0}.facebook-copy>p:not(.demo-kicker){max-width:400px;font-size:17px;line-height:1.75;color:#59645e}.facebook-copy .demo-button{margin-top:15px}
.facebook-ad{max-width:540px;background:#fff;border:1px solid #d5d9de;border-radius:10px;color:#202124;box-shadow:0 12px 36px #0d292d17;overflow:hidden}.facebook-ad-top{display:flex;align-items:center;gap:11px;padding:17px 18px 8px}.facebook-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e9dfcf;color:#17464a;font:bold 18px Georgia,serif}.facebook-ad-top>div{display:grid;gap:3px}.facebook-ad-top strong{font-size:14px}.facebook-ad-top small,.ad-link small{font-size:11px;color:#68747c}.ad-more{margin-left:auto;letter-spacing:3px}.facebook-ad>p{padding:8px 18px 13px;margin:0;line-height:1.6;font-size:14px}.facebook-ad>img{width:100%;height:250px;object-fit:cover;display:block}.ad-link{display:grid;grid-template-columns:1fr auto;gap:5px 12px;align-items:center;padding:13px 16px;background:#f2f3f5}.ad-link small{grid-column:1/-1;letter-spacing:.06em}.ad-link strong{font-size:15px}.ad-link a{padding:10px 12px;background:#e1e5e9;border-radius:6px;font-size:13px;font-weight:700;white-space:nowrap}.ad-reactions{display:flex;justify-content:space-between;padding:13px 16px;color:#626b73;font-size:12px;border-top:1px solid #e2e5e8}
.surf-faq{background:var(--deep)}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 46px}.faq-grid details{border-top:1px solid var(--surf-line);padding:19px 0}.faq-grid summary{cursor:pointer;font-weight:700;font-size:17px;list-style:none}.faq-grid summary:after{content:'+';float:right;color:var(--accent);font-size:20px}.faq-grid details[open] summary:after{content:'−'}.faq-grid details p{max-width:560px;color:var(--muted);line-height:1.7;margin:13px 0 0}
.surf-page-hero{background:linear-gradient(140deg,#1b4b4d,var(--deep));padding-top:105px;padding-bottom:105px}.surf-page-hero h1{font:400 clamp(54px,7vw,95px)/.9 Georgia,serif;letter-spacing:-.055em}.surf-page-hero h1 em{color:var(--accent)}.surf-page-hero .demo-kicker{color:var(--accent)}.surf-page-hero>p:last-child{color:#d0dbd5}
.surf-trips-list{padding-top:35px}.trip-detail{display:grid;grid-template-columns:100px 1fr minmax(300px,.9fr);gap:35px;align-items:center;padding:52px 0;border-bottom:1px solid var(--surf-line)}.trip-detail-index{font:700 30px Georgia,serif;color:var(--accent)}.trip-detail-index span{display:block;margin-top:7px}.trip-detail .demo-kicker{margin-bottom:10px}.trip-detail h2{font:400 clamp(36px,4vw,55px)/1 Georgia,serif;margin:0 0 14px}.trip-detail p:not(.demo-kicker){line-height:1.7;color:var(--muted)}.trip-detail ul{padding-left:19px;color:#e1e7e1;line-height:1.8}.trip-detail li::marker{color:var(--accent)}.trip-detail img{width:100%;height:300px;object-fit:cover}
.what-to-bring{background:var(--sand);color:var(--ink)}.what-to-bring .demo-copy h2{font:400 clamp(40px,5vw,65px)/.98 Georgia,serif}.what-to-bring .demo-copy>p:not(.demo-kicker){color:#57635d}.what-to-bring .demo-kicker{color:#9b6b33}.bring-list{border-top:1px solid #12373a38}.bring-list p{padding:16px 0;border-bottom:1px solid #12373a38;margin:0;display:grid;grid-template-columns:45px 1fr;gap:12px;line-height:1.65}.bring-list span{color:#9e6a34;font:12px monospace}
.trip-cta{text-align:center;padding:90px 7vw;background:#d99855;color:#17383a}.trip-cta .demo-kicker{color:#294a49}.trip-cta h2{font:400 clamp(45px,7vw,82px)/.94 Georgia,serif;margin:15px 0 28px}.trip-cta h2 em{color:#fff2dd}.trip-cta .demo-button{background:#12373a;color:#f4f0e6}
.surf-gallery-page{background:var(--sand);color:var(--ink)}.surf-gallery-page .demo-filter-row{margin:0 0 28px}.surf-gallery-page .demo-filter-row button{border-color:#73847a;color:#233e3e}.surf-gallery-page .demo-filter-row button.active{background:#12373a;color:#fff6e8;border-color:#12373a}.surf-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.surf-gallery-card{margin:0;background:#f5f0e7;overflow:hidden}.surf-gallery-card img{display:block;width:100%;height:350px;object-fit:cover}.surf-gallery-card figcaption{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 17px}.surf-gallery-card figcaption span{font:10px monospace;letter-spacing:.1em;color:#8a663b}.surf-gallery-card figcaption strong{font:400 21px Georgia,serif}.surf-gallery-page .demo-disclaimer{color:#5c6a63;margin-top:25px}
.booking-section{display:grid;grid-template-columns:minmax(360px,1fr) minmax(420px,1.05fr);gap:7vw;align-items:start}.booking-intro h2{font:400 clamp(38px,4vw,56px)/.98 Georgia,serif;margin:12px 0}.booking-intro>p:not(.demo-kicker){color:var(--muted);line-height:1.7}.availability-legend{display:flex;gap:20px;flex-wrap:wrap;margin:23px 0;font-size:12px;color:var(--muted)}.availability-legend span{display:flex;align-items:center;gap:7px}.availability-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--accent)}.availability-legend .legend-booked{background:#9a7773}
.availability-calendar{background:#f4f0e6;color:#1c3a3d;padding:20px;border-radius:3px}.calendar-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;text-align:center;margin-bottom:18px}.calendar-head h3{font:500 21px Georgia,serif;margin:0}.calendar-head button{width:38px;height:38px;background:transparent;border:1px solid #cad2c9;color:#173d3e;font-size:20px;cursor:pointer}.calendar-head button:hover{background:#e5a45a}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays{margin-bottom:6px;text-align:center;font:10px monospace;color:#78847b}.calendar-day{position:relative;min-height:43px;border:1px solid transparent;background:transparent;color:#183b3c;cursor:pointer}.calendar-day:not(:disabled):hover,.calendar-day.is-selected{background:#dce8df;border-color:#6c9183}.calendar-day.is-selected{box-shadow:inset 0 0 0 1px #285f57}.calendar-day.is-open:after{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:#3c886c;bottom:4px;left:calc(50% - 2.5px)}.calendar-day:disabled{color:#9b9b91;cursor:not-allowed}.calendar-day.is-unavailable .day-number{text-decoration:line-through;text-decoration-color:#ad6860;text-decoration-thickness:2px}.calendar-day.is-unavailable:before{content:'';position:absolute;left:15%;right:15%;top:50%;height:2px;background:#ad6860;transform:rotate(-38deg);pointer-events:none}.calendar-day.is-empty{visibility:hidden}.calendar-selection{margin:18px 0 8px;color:#4c605a;font-size:13px}.time-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.time-slot{min-height:58px;background:#fff;border:1px solid #d3d8d0;color:#193d3e;padding:8px 5px;cursor:pointer;font-size:12px}.time-slot:hover:not(:disabled),.time-slot.is-selected{border-color:#35745f;background:#e6efe6}.time-slot:disabled{color:#9a9389;background:#ebe8e0;cursor:not-allowed}.time-slot s{display:block;text-decoration-thickness:2px;text-decoration-color:#ad6860}.time-slot small{display:block;margin-top:3px;font-size:10px;color:#76837b}.booking-intro .demo-disclaimer{color:#aebdb4}
.booking-form{max-width:none;background:#f1ecdf;color:#1a393b;padding:26px;gap:15px}.booking-form>.demo-kicker{color:#9d6f38;margin:0 0 3px}.booking-form label{font-size:13px}.booking-form input,.booking-form select,.booking-form textarea{border:1px solid #c9d0c6;border-radius:2px;background:#fffdf7;color:#203d3d}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:2px solid #4e8c73;outline-offset:1px}.booking-form .form-note{font-size:12px;line-height:1.65;color:#596961;margin:0}.booking-form .demo-button{background:#d99855;color:#193b3a}.booking-form .demo-notice{background:#dce8df;color:#193b3a;line-height:1.6;min-height:0;margin:0}.booking-form .demo-notice:empty{display:none}
@media(max-width:950px){.surf-intro,.facebook-section{grid-template-columns:1fr;gap:42px}.trip-detail{grid-template-columns:70px 1fr}.trip-detail img{grid-column:2;height:330px}.booking-section{grid-template-columns:1fr}.booking-intro{max-width:760px}.booking-form{max-width:760px;width:100%}}
@media(max-width:760px){.surf-hero{min-height:700px;padding:70px 7vw 95px}.surf-hero .demo-hero-media:after{background:linear-gradient(90deg,#0b2526d9,#0b252673 72%,#0b252650)}.surf-hero .demo-hero h1{font-size:clamp(58px,13vw,86px)}.surf-hero .demo-hero-copy>p:not(.demo-kicker){font-size:17px}.surf-proof{font-size:9px;margin-top:32px;gap:8px}.hero-location{left:7vw;right:auto;bottom:20px;font-size:9px}.surf-intro{padding:64px 7vw}.shore-note>p:not(.demo-kicker){font-size:16px}.surf-trip-grid{grid-template-columns:1fr}.surf-trip-card{min-height:215px}.demo-section-title h2{font-size:clamp(38px,10vw,54px)}.demo-section-title .text-cta{display:inline-block;margin-top:15px}.surf-gallery-preview figure{flex-basis:84vw}.surf-gallery-preview img{height:285px}.review-rotator{padding:25px 22px 74px;min-height:280px}.review-controls{right:17px;bottom:15px}.facebook-section{padding:65px 6vw}.facebook-ad>img{height:220px}.faq-grid{grid-template-columns:1fr}.surf-page-hero{padding:68px 7vw}.trip-detail{grid-template-columns:44px 1fr;gap:18px;padding:35px 0}.trip-detail-index{font-size:23px}.trip-detail h2{font-size:37px}.trip-detail img{grid-column:2;height:250px}.trip-detail ul{padding-left:18px}.surf-gallery-grid{grid-template-columns:1fr;gap:20px}.surf-gallery-card img{height:270px}.surf-gallery-card figcaption{align-items:start;flex-direction:column;gap:7px}.booking-section{padding-left:5vw;padding-right:5vw;gap:30px}.availability-calendar{padding:14px}.calendar-grid{gap:3px}.calendar-day{min-height:39px}.time-slots{grid-template-columns:1fr}.time-slot{min-height:48px}.booking-form{padding:20px 16px}.booking-form .demo-form label.full{grid-column:auto}.trip-cta{padding:70px 7vw}}
@media(prefers-reduced-motion:reduce){.surf-hero .demo-hero-media img{animation:none}}
@keyframes surf-marquee{to{transform:translateX(-50%)}}.surf-marquee-set,.surf-review-copy{flex:0 0 auto}
@media(max-width:760px){.surf-marquee-window,.surf-reviews-window{margin:0 -6vw;padding:0 6vw}.surf-marquee-set figure{flex-basis:min(84vw,460px);width:min(84vw,460px)}.surf-marquee-set img{aspect-ratio:1.28}.surf-marquee-set figcaption{align-items:flex-start;flex-direction:column;gap:5px}.surf-reviews-window .demo-review{width:min(82vw,360px);min-height:220px}.surf-marquee-track{animation-duration:40s}.surf-reviews-track{animation-duration:44s}}
@media(prefers-reduced-motion:reduce){.surf-marquee-track,.surf-reviews-track{animation:none}}
