
:root{--cream:#f8e4b6;--gold:#f5c01b;--orange:#ef6122;--red:#c83d17;--panel:rgba(8,22,27,.62);--panel2:rgba(8,16,20,.76);--line:rgba(250,227,182,.18);--max:1240px;--ease:cubic-bezier(.22,.61,.36,1);--shadow:0 18px 60px rgba(0,0,0,.36)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--cream);background:radial-gradient(circle at top, rgba(255,221,120,.15), transparent 22%),linear-gradient(180deg,#178596 0%,#0f6d7a 20%,#0a4852 54%,#081d23 100%);font-family:Inter,system-ui,sans-serif;overflow-x:hidden}body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.52;background-image:radial-gradient(rgba(255,237,198,.12) .8px, transparent .8px),radial-gradient(rgba(6,12,14,.22) .9px, transparent .9px);background-size:10px 10px,14px 14px;background-position:0 0,4px 5px;mix-blend-mode:soft-light}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
.container{width:min(var(--max), calc(100% - 28px));margin:0 auto;position:relative;z-index:2}.reveal{opacity:0;transform:translateY(28px) scale(.985);transition:opacity .9s var(--ease), transform .9s var(--ease)}.reveal.is-visible{opacity:1;transform:none}
.topbar{position:sticky;top:0;z-index:50;backdrop-filter:blur(18px);background:rgba(5,16,20,.58);border-bottom:1px solid rgba(248,228,182,.08)}.topbarInner{width:min(var(--max), calc(100% - 28px));margin:0 auto;min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;flex-direction:column;line-height:1}.brandSmall{font:800 .72rem/1 Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#ffe08a}.brandMain{display:block;font:400 clamp(1.92rem,4.2vw,3.45rem)/.98 Pacifico,cursive;color:#ffd56e;margin:.02rem 0 -.02rem;text-shadow:3px 3px 0 var(--red),7px 7px 0 #101010;transform:rotate(-2deg) translateY(-1px)}.brandSub{position:relative;z-index:2;display:block;margin-top:.28rem;font:700 .92rem/1 Oswald,sans-serif;letter-spacing:.16em;text-transform:uppercase}.nav{display:flex;flex-wrap:wrap;gap:10px}.nav a{padding:10px 14px;border:1px solid rgba(248,228,182,.16);background:rgba(255,255,255,.03);border-radius:999px;font:700 .88rem/1 Oswald,sans-serif;letter-spacing:.09em;text-transform:uppercase;transition:all .22s var(--ease)}.nav a:hover{transform:translateY(-2px);border-color:rgba(248,228,182,.34);background:rgba(255,255,255,.06)}.nav a.navBook{background:linear-gradient(180deg,#ffd95f,#f1b000);color:#111;border-color:#111}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 22px;border-radius:999px;border:2px solid #111;font:800 .92rem/1 Inter,sans-serif;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 8px 0 rgba(0,0,0,.28),0 16px 30px rgba(0,0,0,.2);transition:all .25s var(--ease);position:relative;overflow:hidden}.button:hover{transform:translateY(-3px)}.button.primary{background:linear-gradient(180deg,#ffd95f,#f1b000);color:#111}.button.secondary{background:linear-gradient(180deg,#ff8a47,#df4b1d);color:#111}.button.ghost{background:rgba(12,18,22,.48);color:var(--cream);border-color:rgba(248,228,182,.22)}
.section{padding:28px 0;position:relative}.sectionLabel{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;background:#111;border:1px solid rgba(255,214,106,.32);color:#ffd66c;font:700 .84rem/1 Oswald,sans-serif;text-transform:uppercase;letter-spacing:.13em}.sectionTitle{margin:14px 0 12px;font:700 clamp(2.5rem,5vw,5rem)/.92 Oswald,sans-serif;text-transform:uppercase;letter-spacing:-.02em;text-shadow:3px 3px 0 var(--red),6px 6px 0 #101010}.sectionIntro{max-width:62ch;margin:0;color:#ffeec9;line-height:1.8;font-size:1.02rem}.glass{position:relative;overflow:hidden;background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01)), var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}.glass::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(255,255,255,.06), transparent 24%);pointer-events:none}.gridFloor::after{content:"";position:absolute;left:-16%;right:-16%;bottom:-46px;height:180px;background:linear-gradient(to top, rgba(0,0,0,.16), transparent 28%),repeating-linear-gradient(90deg, rgba(245,227,180,.15) 0 2px, transparent 2px 34px),repeating-linear-gradient(0deg, rgba(245,227,180,.15) 0 2px, transparent 2px 34px);transform:perspective(760px) rotateX(73deg);opacity:.34;pointer-events:none}
.stripeRail{position:fixed;top:0;bottom:0;right:18px;width:12px;z-index:8;pointer-events:none;opacity:.9}.stripeRail::before{content:"";position:absolute;inset:0;border-radius:999px;background:linear-gradient(180deg,#ffd95f 0 14%,#ef6122 14% 28%,#1ea2b3 28% 42%,#ffd95f 42% 56%,#ef6122 56% 70%,#1ea2b3 70% 84%,#ffd95f 84% 100%);box-shadow:0 0 18px rgba(255,217,95,.26),0 0 28px rgba(30,162,179,.18);background-size:100% 240%;animation:stripeFlow 9s linear infinite}@keyframes stripeFlow{from{background-position:0 0}to{background-position:0 200%}}
.landingHero{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.landingBg{position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.16), rgba(0,0,0,.46)),linear-gradient(90deg, rgba(6,11,14,.34), rgba(6,11,14,.12) 40%, rgba(6,11,14,.42)),url('assets/pier hero.jpg') center/cover no-repeat;transform:scale(1.05);animation:heroZoom 14s var(--ease) infinite alternate}@keyframes heroZoom{from{transform:scale(1.05)}to{transform:scale(1.1) translateY(-8px)}}.landingGlow{position:absolute;inset:0;background:radial-gradient(circle at center, rgba(255,217,95,.12), transparent 28%),linear-gradient(180deg, rgba(21,131,147,.08), rgba(10,16,20,.14))}
.landingContent{position:relative;z-index:3;width:min(1180px, calc(100% - 28px));display:grid;grid-template-columns:1.06fr .94fr;gap:28px;align-items:end}.landingCopy{padding:clamp(28px,6vw,46px);border-radius:34px}.kicker{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:999px;background:rgba(17,17,17,.82);border:1px solid rgba(248,228,182,.22);color:#ffd76c;font:700 .84rem/1 Oswald,sans-serif;letter-spacing:.12em;text-transform:uppercase}.landingTitle{margin:18px 0 14px;font:700 clamp(4.2rem,10vw,8.6rem)/.88 Oswald,sans-serif;text-transform:uppercase;letter-spacing:-.04em;text-shadow:4px 4px 0 var(--red),9px 9px 0 #101010}.landingScript{display:block;font:400 clamp(2rem,4vw,3.8rem)/1 Pacifico,cursive;color:#ffd96c;text-shadow:3px 3px 0 var(--red),6px 6px 0 #101010;transform:rotate(-3deg);width:max-content;max-width:100%;margin-bottom:10px}.landingText{max-width:58ch;margin:0;color:#ffeec9;line-height:1.8;font-size:1.06rem}.landingActions,.heroActions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}.landingCard{border-radius:30px;padding:24px;align-self:stretch}.landingCard h3,.cardTitle,.cornerCard h3{margin:0 0 14px;font:700 1.35rem/1 Oswald,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#ffd86e}.statList,.contactList{display:grid;gap:12px;margin-top:18px}.statItem,.contactItem{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(248,228,182,.12);transition:all .25s var(--ease)}.statItem:hover,.contactItem:hover{transform:translateX(4px);background:rgba(255,255,255,.05)}.statItem strong,.contactItem strong{display:block;margin-bottom:4px;color:#ffd86e;font:700 .8rem/1 Oswald,sans-serif;text-transform:uppercase;letter-spacing:.12em}.statItem span,.contactItem span{color:#ffeec9;line-height:1.55}.marquee{position:absolute;bottom:18px;left:0;right:0;overflow:hidden;z-index:2}.marqueeTrack{display:flex;width:max-content;animation:marquee 20s linear infinite}.marqueeTrack span{font:700 1rem/1 Oswald,sans-serif;text-transform:uppercase;letter-spacing:.18em;padding-right:42px;color:#ffeaad;opacity:.88}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}.enterOverlay{position:fixed;inset:0;z-index:99;background:radial-gradient(circle at center, rgba(255,217,95,.16), rgba(4,10,12,.95) 72%);opacity:0;pointer-events:none;transition:opacity .5s var(--ease)}.enterOverlay.is-active{opacity:1}
.hero{padding:34px 0 18px}.heroShell,.dealsWrap,.galleryShell{border-radius:34px}.heroGrid{position:relative;z-index:1;display:grid;grid-template-columns:1.02fr .98fr;gap:28px;align-items:center;padding:36px}.heroTitle{margin:18px 0 16px;font:700 clamp(3.8rem,8.4vw,7.3rem)/.88 Oswald,sans-serif;letter-spacing:-.04em;text-transform:uppercase;text-shadow:3px 3px 0 var(--red),8px 8px 0 #101010}.heroText,.cardText{max-width:60ch;margin:0;color:#ffeec9;line-height:1.82}.heroVisual{position:relative;min-height:500px}.heroFrame{position:absolute;inset:0;border-radius:32px;overflow:hidden;border:1px solid rgba(248,228,182,.18);box-shadow:0 18px 48px rgba(0,0,0,.28);transform:perspective(1000px) rotateY(-6deg);transition:transform .4s var(--ease)}.heroFrame:hover{transform:perspective(1000px) rotateY(-1deg) translateY(-4px)}.heroFrame img,.contactVisual img{width:100%;height:100%;object-fit:cover}.heroFrame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(255,211,78,.08), transparent 26%),linear-gradient(0deg, rgba(10,10,10,.28), transparent 34%)}.cornerCard{position:absolute;right:18px;bottom:18px;width:min(320px,72%);border-radius:24px;padding:18px;background:var(--panel2);border:1px solid rgba(248,228,182,.16);backdrop-filter:blur(14px);box-shadow:0 16px 36px rgba(0,0,0,.28)}.cornerCard p{margin:0;color:#ffefcb;line-height:1.65}.heroBadgeRow{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.heroBadge,.dealRibbon{min-height:36px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(248,228,182,.16);display:inline-flex;align-items:center;font:700 .82rem/1 Oswald,sans-serif;letter-spacing:.1em;text-transform:uppercase}.dealRibbon{position:absolute;top:14px;left:14px;z-index:2;background:#111;border-color:rgba(255,214,106,.34);color:#ffd76c}
.sectionTransition{position:relative;height:72px;margin:10px 0 -4px}.sectionTransition::before{content:"";position:absolute;left:-10%;right:-10%;top:8px;height:1px;background:linear-gradient(90deg, transparent, rgba(248,228,182,.28), transparent)}.sectionTransition::after{content:"";position:absolute;left:0;right:0;top:24px;height:24px;background:radial-gradient(circle at center, rgba(255,217,95,.18), transparent 56%),repeating-linear-gradient(90deg, transparent 0 22px, rgba(255,217,95,.18) 22px 24px, transparent 24px 48px);mask-image:linear-gradient(90deg, transparent, black 18%, black 82%, transparent);opacity:.85}
.dealsWrap{margin-top:20px;padding:24px}.dealsHeader{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}.dealsPulse{min-height:38px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(248,228,182,.12);display:inline-flex;align-items:center;gap:10px;font:700 .8rem/1 Oswald,sans-serif;letter-spacing:.12em;text-transform:uppercase}.dealsDot{width:10px;height:10px;border-radius:50%;background:#ffd95f;box-shadow:0 0 0 0 rgba(255,217,95,.55);animation:pulse 1.8s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,217,95,.55)}70%{box-shadow:0 0 0 12px rgba(255,217,95,0)}100%{box-shadow:0 0 0 0 rgba(255,217,95,0)}}.dealsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative;z-index:1}.dealCard{position:relative;overflow:hidden;border-radius:28px;border:1px solid rgba(248,228,182,.18);background:rgba(0,0,0,.16);box-shadow:0 8px 0 rgba(0,0,0,.28),0 22px 40px rgba(0,0,0,.24);transform:rotate(var(--tilt,0deg));transition:all .28s var(--ease)}.dealCard:hover{transform:rotate(0deg) translateY(-8px) scale(1.02);filter:saturate(1.08)}.dealCard img{width:100%;aspect-ratio:4/6.35;object-fit:cover}
.twoUp,.contactGrid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:20px}.testimonialGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}.quoteCard{border-radius:24px;padding:22px;position:relative}.quoteCard::after{content:'”';position:absolute;right:18px;top:8px;font:700 5rem/.8 Georgia,serif;color:rgba(255,217,95,.16)}.quoteText{margin:0 0 18px;color:#ffefcb;line-height:1.75}.quoteMeta{font:700 .82rem/1 Oswald,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#ffd86e}
.servicesGrid{display:grid;grid-template-columns:1fr .95fr;gap:22px;margin-top:20px}.card{border-radius:28px;padding:24px}.servicePills{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px}.serviceItem{border-radius:20px;padding:18px;background:rgba(255,255,255,.03);border:1px solid rgba(248,228,182,.12);transition:all .22s var(--ease)}.serviceItem:hover{transform:translateY(-4px);background:rgba(255,255,255,.05);border-color:rgba(248,228,182,.22)}.serviceItem h4{margin:0 0 8px;font:700 1.1rem/1 Oswald,sans-serif;text-transform:uppercase;letter-spacing:.04em;color:#ffd86e}.serviceItem p{margin:0;color:#ffefcb;line-height:1.6;font-size:.95rem}.priceShots{display:grid;gap:14px;margin-top:18px}.priceShot,.galleryLead,.gallerySmall,.contactVisual{border-radius:22px;overflow:hidden;border:1px solid rgba(248,228,182,.14)}.priceShot:hover{transform:translateY(-4px)}
.galleryShell{margin-top:20px;padding:24px}.galleryGrid{display:grid;grid-template-columns:1.12fr .88fr;gap:16px;position:relative;z-index:1}.galleryLead{min-height:560px;position:relative}.galleryLead img,.gallerySmall img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease), filter .6s var(--ease)}.galleryLead:hover img,.gallerySmall:hover img{transform:scale(1.06);filter:saturate(1.05)}.galleryLead::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg, rgba(0,0,0,.2), transparent 44%)}.galleryStack{display:grid;gap:16px}.gallerySmall{min-height:272px;position:relative}.galleryCaption{position:absolute;left:18px;bottom:18px;z-index:1;min-height:38px;padding:0 14px;border-radius:999px;background:rgba(10,16,20,.72);border:1px solid rgba(248,228,182,.14);display:inline-flex;align-items:center;font:700 .82rem/1 Oswald,sans-serif;text-transform:uppercase;letter-spacing:.11em}
.footer{padding:34px 0 120px;text-align:center;color:#ffefcb}.footer strong{color:#ffd86e}.stickyActions{position:fixed;left:12px;right:12px;bottom:12px;z-index:50;display:none;gap:10px;padding:10px;border-radius:22px;border:1px solid rgba(248,228,182,.14);background:rgba(8,16,20,.84);backdrop-filter:blur(18px);box-shadow:0 16px 40px rgba(0,0,0,.35)}.stickyActions a{flex:1;min-height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font:800 .86rem/1 Inter,sans-serif;text-transform:uppercase;letter-spacing:.06em}.stickyActions .book{background:linear-gradient(180deg,#fff0a8,#ffd95f);color:#111}.stickyActions .call{background:linear-gradient(180deg,#ffd95f,#f1b000);color:#111}.stickyActions .directions{background:linear-gradient(180deg,#ff8a47,#df4b1d);color:#111}
@media (max-width:1050px){.landingContent,.heroGrid,.dealsGrid,.twoUp,.testimonialGrid,.servicesGrid,.galleryGrid,.contactGrid{grid-template-columns:1fr}.dealCard{max-width:620px;margin:0 auto}.heroVisual{min-height:380px}.stripeRail{display:none}}@media (max-width:760px){.nav{display:none}.landingTitle{font-size:3.7rem}.landingCopy,.landingCard,.heroGrid,.dealsWrap,.galleryShell{padding:20px}.heroTitle{font-size:3.4rem}.servicePills{grid-template-columns:1fr}.galleryLead{min-height:380px}.gallerySmall{min-height:190px}.stickyActions{display:flex}.footer{padding-bottom:110px}}

.reviewsSummary{margin-top:18px;border-radius:24px;padding:20px}
.reviewsSummaryInner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.reviewsBadge{min-height:40px;padding:0 14px;border-radius:999px;background:#111;border:1px solid rgba(255,214,106,.32);display:inline-flex;align-items:center;font:700 .88rem/1 Oswald,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#ffd66c}
.bookingPanel{margin-top:20px;border-radius:28px;padding:24px}
.bookingPanelInner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.bookingActions{margin-top:0}
.mapEmbed{width:100%;height:100%;min-height:420px;border-radius:22px;overflow:hidden}
@media (max-width:760px){.bookingPanelInner,.reviewsSummaryInner{display:block}.bookingActions{margin-top:18px}}
