:root{--ink:#172830;--sea:#075d78;--sea-soft:#d8f3f6;--cream:#fffaf2;--sand:#ece3d7;--paper:#f7efe4;--muted:#6f6255;--max-width:1180px}@keyframes heroDropIn{0%{opacity:0;transform:translate3d(0,-46px,0);filter:blur(12px)}to{opacity:1;transform:translateZ(0);filter:blur(0)}}@keyframes ctaSweepIn{0%{opacity:0;-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);transform:translate3d(-22px,0,0) scale(.99)}to{opacity:1;-webkit-clip-path:inset(0 -56px 0 0);clip-path:inset(0 -56px 0 0);transform:translateZ(0) scale(1)}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y proximity}body{margin:0;color:var(--ink);background:var(--cream);font-family:Arial,Helvetica,sans-serif;letter-spacing:.028em;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%}.optimized-picture{display:contents}.photo-protection-ready .booking-hero-visual,.photo-protection-ready .coast-photo,.photo-protection-ready .contact-sticky-image,.photo-protection-ready .google-reviews-panel,.photo-protection-ready .home-photo-card,.photo-protection-ready .room-gallery-stage,.photo-protection-ready .rooms-intro-visual,.photo-protection-ready .rooms-static-visual,.photo-protection-ready .sticky-visual,.photo-protection-ready img,.photo-protection-ready picture{-webkit-touch-callout:none;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.reveal-image{opacity:0;filter:blur(10px);-webkit-clip-path:inset(10% 0 0 0);clip-path:inset(10% 0 0 0);transform:translate3d(var(--reveal-x,0),var(--reveal-y,34px),0) scale(.985);transition:transform .98s cubic-bezier(.22,1,.36,1),opacity .78s ease,filter .84s ease,-webkit-clip-path .98s cubic-bezier(.22,1,.36,1);transition:clip-path .98s cubic-bezier(.22,1,.36,1),transform .98s cubic-bezier(.22,1,.36,1),opacity .78s ease,filter .84s ease;transition:clip-path .98s cubic-bezier(.22,1,.36,1),transform .98s cubic-bezier(.22,1,.36,1),opacity .78s ease,filter .84s ease,-webkit-clip-path .98s cubic-bezier(.22,1,.36,1);will-change:transform,opacity,filter,clip-path}.reveal-image.is-visible{opacity:1;filter:blur(0);-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0);transform:translateZ(0) scale(1)}.reveal-copy>*{opacity:0;transform:translate3d(0,46px,0);transition:transform .92s cubic-bezier(.22,1,.36,1),opacity .72s ease}.reveal-copy.is-visible>*{opacity:1;transform:translateZ(0)}.reveal-copy.is-visible>:nth-child(2){transition-delay:90ms}.reveal-copy.is-visible>:nth-child(3){transition-delay:.18s}.reveal-copy.is-visible>:nth-child(4){transition-delay:.27s}.reveal-copy.is-visible>:nth-child(5){transition-delay:.34s}button,input,select,textarea{font:inherit}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only,body.mobile-menu-open{overflow:hidden}body.mobile-menu-open:before{position:fixed;inset:0;z-index:19;content:"";background:rgba(8,32,42,.36)}.site-header{position:fixed;z-index:1200;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(18px,4vw,56px);color:#fff;background:linear-gradient(180deg,rgba(9,36,44,.72),rgba(9,36,44,0));transition:color .18s ease,background .18s ease,transform .26s cubic-bezier(.22,1,.36,1)}.site-header.is-hidden{transform:translate3d(0,-110%,0)}.site-header.is-home-header.is-hidden,.site-header.menu-open.is-hidden{transform:translateZ(0)}.brand img{display:block;width:68px;height:68px;object-fit:contain;border-radius:999px;background:#2d7898;filter:drop-shadow(0 10px 24px rgba(0,0,0,.22));transition:width .22s ease,height .22s ease,transform .22s ease}.site-header.is-compact .brand img{width:52px;height:52px}.site-nav{display:flex;align-items:center;gap:clamp(14px,2.4vw,30px);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.nav-toggle{display:none;align-items:center;justify-content:center;width:64px;height:48px;padding:0;border:0;color:currentColor;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.nav-toggle-lines{display:inline-grid;width:50px;gap:7px}.nav-toggle-lines span{display:block;width:50px;height:2px;border-radius:999px;background:currentColor;transform-origin:center;transition:opacity .18s ease,transform .22s cubic-bezier(.22,1,.36,1)}.site-header.menu-open .nav-toggle-lines span:first-child{transform:translate3d(0,9px,0) rotate(42deg)}.site-header.menu-open .nav-toggle-lines span:nth-child(2){opacity:0}.site-header.menu-open .nav-toggle-lines span:nth-child(3){transform:translate3d(0,-9px,0) rotate(-42deg)}.language-link{border:1px solid rgba(255,255,255,.68);border-radius:999px;padding:9px 12px}.coast-photo,.hero{scroll-snap-align:start}.hero{position:relative;min-height:100svh;overflow:hidden;display:grid;align-items:end;padding:min(18vh,170px) clamp(22px,7vw,104px);color:#fff;background:#102b34}.hero:after{content:"";background:linear-gradient(180deg,rgba(4,22,28,.16),rgba(4,22,28,.42)),linear-gradient(90deg,rgba(4,22,28,.68),rgba(4,22,28,.16) 56%,rgba(4,22,28,0))}.hero:after,.hero>img{position:absolute;inset:0}.hero>img{width:100%;height:100%;object-fit:cover}.hero-copy{position:relative;z-index:1;max-width:760px}.eyebrow,.hero-copy p{margin:0 0 16px;color:var(--sea);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.hero-copy p{color:rgba(255,255,255,.82)}.coast-photo figcaption span,.hero h1,.intro-section h2,.nearby-heading h2{font-family:Georgia,Times New Roman,serif;font-weight:600;letter-spacing:.006em}.hero h1{margin:0 0 18px;font-size:clamp(4.4rem,13vw,11rem);line-height:.82}.hero-copy>span{display:block;max-width:560px;font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.65}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-actions a{border-radius:999px;padding:13px 18px;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:#fff;color:var(--sea)}.hero-actions a+a{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.46)}.home-page .hero-copy{max-width:980px}.home-page .hero-home{display:block;min-height:184svh;padding:0;overflow:visible;background:#102b34;isolation:isolate}.home-page .hero-home:after{display:none}.home-page .hero-home+.editorial-section{position:relative;z-index:2;margin-top:-62svh;box-shadow:0 -42px 86px rgba(5,22,28,.18)}.home-hero-stage{position:-webkit-sticky;position:sticky;top:0;z-index:0;min-height:100svh;display:grid;align-items:end;padding:clamp(118px,14vh,150px) clamp(22px,7vw,104px) clamp(42px,6vh,72px);overflow:hidden;color:#fff;background:#102b34;isolation:isolate}.home-hero-media,.home-hero-overlay{position:absolute;inset:0}.home-hero-media{z-index:0;pointer-events:none}.home-hero-media img{width:100%;height:100%;object-fit:cover;object-position:52% 61%;transform:translate3d(0,var(--hero-parallax-y,0),0) scale(1.08);transition:transform .24s linear;will-change:transform}.home-hero-overlay{z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(4,22,28,.8),rgba(4,22,28,.38) 54%,rgba(4,22,28,.08)),linear-gradient(180deg,rgba(4,22,28,.1),rgba(4,22,28,.72))}.home-page .hero-home .hero-copy{position:relative;z-index:2;max-width:980px;padding-bottom:0}body.motion-ready .home-page .hero-home .hero-copy>p{animation:heroDropIn .86s cubic-bezier(.22,1,.36,1) 80ms both}body.motion-ready .home-page .hero-home h1{animation:heroDropIn .94s cubic-bezier(.22,1,.36,1) .15s both}body.motion-ready .home-page .hero-home .hero-copy>span{animation:heroDropIn .92s cubic-bezier(.22,1,.36,1) .3s both}body.motion-ready .home-page .hero-home .quick-booking{animation:heroDropIn .98s cubic-bezier(.22,1,.36,1) .47s both}.home-intro-strip{position:relative;z-index:2;min-height:100svh;display:flex;align-items:center;padding:52px 0;background:#f7f0e4;box-shadow:0 -42px 86px rgba(5,22,28,.18);border-bottom:1px solid rgba(31,42,50,.08);scroll-snap-align:start}.home-intro-grid{width:min(calc(100% - 36px),var(--max-width));margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:clamp(22px,5vw,64px);gap:clamp(22px,5vw,64px);align-items:center}.home-intro-grid p{max-width:740px;margin:0;color:#314750;font-size:clamp(1.3rem,3vw,3.2rem);line-height:1.18}.home-intro-grid .button-secondary{position:relative;align-self:end;padding:0 0 8px;border:0;border-radius:0;color:var(--sea);background:transparent;box-shadow:none;font-size:.82rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.home-intro-grid .button-secondary:after{position:absolute;left:0;right:0;bottom:0;height:2px;content:"";background:currentColor;transform:scaleX(1);transform-origin:left;transition:transform .22s ease}.home-intro-grid .button-secondary:hover:after{transform:scaleX(.72)}.editorial-section{position:relative;padding:clamp(76px,10vw,138px) 0;scroll-snap-align:start}.editorial-warm{background:linear-gradient(135deg,rgba(255,250,242,.98),rgba(247,239,228,.9)),var(--paper)}.editorial-sea{background:linear-gradient(135deg,rgba(7,93,120,.94),rgba(23,40,48,.96)),var(--sea)}.editorial-cream{background:var(--paper)}.editorial-grid{width:min(calc(100% - 36px),var(--max-width));margin:0 auto;display:grid;grid-template-columns:minmax(300px,.94fr) minmax(0,1fr);grid-gap:clamp(30px,6vw,86px);gap:clamp(30px,6vw,86px);align-items:center}.editorial-reverse{grid-template-columns:minmax(0,1fr) minmax(300px,.94fr)}.editorial-copy{position:relative;z-index:2}.editorial-sea .editorial-copy{color:#fff}.editorial-copy h2,.nearby-coast-heading h2{margin:0 0 22px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.7rem,6vw,5.8rem);font-weight:600;line-height:.92;letter-spacing:0}.editorial-copy p,.nearby-coast-heading p{margin:0;color:#314750;font-size:clamp(1rem,1.28vw,1.18rem);line-height:1.78}.editorial-sea .editorial-copy p{color:rgba(255,255,255,.82)}.editorial-cta{--cta-reveal:1;--cta-boost:0;--arrow-extra:0px;display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;gap:34px;margin-top:26px;padding:0 18px 9px 0;border:0;border-radius:0;color:#fff;background:transparent;font-size:.82rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;box-shadow:none;position:relative}.editorial-cta:before{position:absolute;left:0;right:86px;bottom:0;height:2px;content:"";background:currentColor;transform-origin:left;transform:scaleX(var(--cta-reveal));transition:transform .36s cubic-bezier(.22,1,.36,1)}.editorial-cta:after{display:none}.editorial-cta-arrow{position:relative;display:inline-block;width:calc(52px + var(--arrow-extra));height:16px;flex:0 0 auto;opacity:var(--cta-reveal);transform:translateX(0);transition:opacity .28s ease,width .36s cubic-bezier(.22,1,.36,1),transform .32s cubic-bezier(.22,1,.36,1)}.editorial-cta-arrow:before{position:absolute;left:0;right:0;top:7px;height:2px;content:"";background:currentColor}.editorial-cta-arrow:after{position:absolute;right:0;top:3px;width:10px;height:10px;content:"";border-top:2px solid;border-right:2px solid;transform:rotate(45deg)}.editorial-cta:hover{--cta-boost:1;color:#fff;background:transparent}.editorial-cta:hover:before{transform:scaleX(1.18)}.editorial-cta:hover:after{display:none}.editorial-cta:hover .editorial-cta-arrow{width:calc(78px + var(--arrow-extra));transform:translateX(8px)}.editorial-cta.is-arrow-active{--cta-boost:1}.editorial-cta.is-arrow-active:before{transform:scaleX(1.18)}.editorial-cta.is-arrow-active .editorial-cta-arrow{width:calc(78px + var(--arrow-extra));transform:translateX(8px)}.sticky-visual{position:-webkit-sticky;position:sticky;top:96px;min-height:72vh;margin:0;overflow:hidden;background:#102b34;box-shadow:0 34px 90px rgba(23,40,48,.2)}.sticky-visual-landscape{min-height:62vh}.sticky-visual:after{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(180deg,rgba(8,32,42,.02),rgba(8,32,42,.26)),linear-gradient(0deg,rgba(8,32,42,.28),rgba(8,32,42,0) 52%)}.sticky-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:translate3d(0,var(--scroll-parallax-y,0),0) scale(1.04);transition:transform .22s linear;will-change:transform}.home-photo-composition{min-height:72vh;background:linear-gradient(135deg,rgba(216,243,246,.22),rgba(255,250,242,.08)),#102b34}.home-photo-stack{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);grid-gap:12px;gap:12px;padding:18px}.home-photo-card{position:relative;min-height:0;margin:0;overflow:hidden;box-shadow:0 24px 54px rgba(8,32,42,.26)}.home-photo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:translate3d(0,var(--scroll-parallax-y,0),0) scale(1.045);transition:transform .22s linear;will-change:transform}.home-photo-card-bedroom{grid-column:1/6;grid-row:1/6}.home-photo-card-kitchen{grid-column:5/9;grid-row:2/5}.home-photo-card-bathroom{grid-column:2/5;grid-row:6/9}.home-photo-card-shower{grid-column:5/9;grid-row:5/9}.home-page .home-photo-card,.home-page .sticky-visual{border-radius:0}.home-page .sticky-visual{box-shadow:0 28px 88px rgba(8,34,42,.22)}.home-page .home-main-sticky-photo{position:-webkit-sticky;position:sticky;top:104px;min-height:min(720px,calc(100vh - 138px));aspect-ratio:4/5}.home-page .home-main-sticky-photo img{object-position:48% center}.home-page .home-photo-stack{position:-webkit-sticky;position:sticky;top:104px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-rows:auto;grid-gap:18px;gap:18px;min-height:auto;aspect-ratio:auto;overflow:visible;padding:0;background:transparent;box-shadow:none}.home-page .home-photo-stack:after{display:none}.home-page .home-photo-stack .home-photo-card{position:relative;inset:auto;z-index:auto;width:auto;height:auto;min-height:0;aspect-ratio:4/5;margin:0;box-shadow:0 24px 72px rgba(8,34,42,.16)}.home-page .home-photo-stack .home-photo-card-bedroom{grid-column:auto;grid-row:span 2;aspect-ratio:4/5.35}.home-page .home-photo-stack .home-photo-card-bathroom,.home-page .home-photo-stack .home-photo-card-kitchen,.home-page .home-photo-stack .home-photo-card-shower{grid-column:auto;grid-row:auto;aspect-ratio:4/4.45}.home-page .home-photo-stack .home-photo-card img{position:absolute;inset:0;height:112%}.home-page .scroll-scene{--scene-progress:0;--scene-open:0;--section-reveal:0%;--sticky-x:0px;--sticky-y:0px;--sticky-scale:1;--copy-x:0px;--copy-y:0px;--copy-opacity:1;--card-bedroom-x:0px;--card-bedroom-y:0px;--card-kitchen-x:0px;--card-kitchen-y:0px;--card-bathroom-x:0px;--card-bathroom-y:0px;--card-shower-x:0px;--card-shower-y:0px;min-height:132svh;display:flex;align-items:center;padding-block:clamp(96px,14svh,160px)}.home-page .scroll-scene .editorial-grid{min-height:min(860px,calc(100svh - 118px));align-items:center}.home-page .scroll-scene .sticky-visual{translate:var(--sticky-x) var(--sticky-y);scale:var(--sticky-scale);opacity:var(--visual-opacity,1);will-change:translate,scale,opacity}.home-page .scroll-scene .editorial-copy{translate:var(--copy-x) var(--copy-y);opacity:var(--copy-opacity);will-change:translate,opacity}.home-page .scroll-scene .home-photo-card{will-change:translate,scale}.home-page .scroll-scene .home-photo-card-bedroom{translate:var(--card-bedroom-x) var(--card-bedroom-y)}.home-page .scroll-scene .home-photo-card-kitchen{translate:var(--card-kitchen-x) var(--card-kitchen-y)}.home-page .scroll-scene .home-photo-card-bathroom{translate:var(--card-bathroom-x) var(--card-bathroom-y)}.home-page .scroll-scene .home-photo-card-shower{translate:var(--card-shower-x) var(--card-shower-y)}.editorial-points{display:grid;grid-gap:1px;gap:1px;margin-top:30px;background:rgba(7,93,120,.18);border:1px solid rgba(7,93,120,.18)}.editorial-points article{padding:20px;background:rgba(255,250,242,.92)}.editorial-sea .editorial-points{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.18)}.editorial-sea .editorial-points article{background:rgba(255,255,255,.08)}.editorial-points strong{display:block;margin-bottom:8px;color:var(--sea);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}.editorial-sea .editorial-points strong{color:var(--sea-soft)}.editorial-points span{display:block;color:#314750;font-size:.96rem;line-height:1.58}.editorial-sea .editorial-points span{color:rgba(255,255,255,.78)}.quick-booking{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(130px,.72fr) 132px;grid-gap:0;gap:0;width:min(100%,940px);margin-top:28px;overflow:hidden;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 30px 80px rgba(0,0,0,.24)}.quick-booking.has-status{overflow:visible}.quick-booking>strong{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.quick-booking label{display:grid;grid-gap:8px;gap:8px;padding:18px 22px;border-right:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05)}.quick-booking label:first-of-type{border-radius:999px 0 0 999px}.quick-booking span{color:rgba(255,255,255,.84);font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.quick-booking input,.quick-booking select{width:100%;min-width:0;border:0;outline:0;color:#fff;background:transparent;font-size:1.02rem;font-weight:800}.quick-booking input::-webkit-calendar-picker-indicator{filter:invert(1)}.quick-booking option{color:var(--ink)}.quick-booking button{min-height:100%;border:0;border-radius:0 999px 999px 0;color:#102b34;background:#fffaf2;font-size:.82rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;transition:background .18s ease,transform .18s ease}.quick-booking button:disabled{cursor:not-allowed;opacity:.58;background:#fffaf2}.quick-booking-status{position:absolute;left:22px;right:22px;top:calc(100% + 10px);margin:0;color:#fff;font-size:.84rem;font-weight:800;text-shadow:0 2px 12px rgba(0,0,0,.3)}.quick-booking-status.is-ok{color:#d8f3f6}.quick-booking-status.is-error{color:#ffd9d1}.quick-booking button:hover{background:#d8f3f6}.quick-booking button:disabled:hover{background:#fffaf2}.quick-booking button:active{transform:scale(.98)}.intro-section,.nearby-heading{width:min(calc(100% - 36px),var(--max-width));margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.78fr);grid-gap:clamp(24px,6vw,86px);gap:clamp(24px,6vw,86px);align-items:end}.intro-section{padding:clamp(72px,11vw,150px) 0}.intro-section h2,.nearby-heading h2{margin:0;max-width:760px;font-size:clamp(2.6rem,6vw,6.4rem);line-height:.92}.intro-section>p,.nearby-heading>p{margin:0;color:#314750;font-size:clamp(1rem,1.35vw,1.24rem);line-height:1.78}.nearby-section{padding:clamp(68px,10vw,130px) 0 0;background:var(--paper)}.nearby-coast-heading{width:min(calc(100% - 36px),var(--max-width));margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.78fr);grid-gap:clamp(24px,6vw,86px);gap:clamp(24px,6vw,86px);align-items:end}.nearby-coast-heading h2{margin:0;max-width:760px;font-size:clamp(2.6rem,6vw,6.4rem);line-height:.92}.nearby-coast-heading p{margin:0;color:#314750;font-size:clamp(1rem,1.35vw,1.24rem);line-height:1.78}.nearby-list{width:min(calc(100% - 36px),var(--max-width));margin:clamp(30px,5vw,72px) auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:1px;gap:1px;background:rgba(7,93,120,.18);border:1px solid rgba(7,93,120,.18)}.nearby-list article{min-height:160px;padding:22px;background:var(--cream)}.nearby-list strong{display:block;margin-bottom:10px;color:var(--sea);font-size:.88rem;letter-spacing:.08em;text-transform:uppercase}.nearby-list span{display:block;color:#314750;font-size:.96rem;line-height:1.6}.coast-gallery{width:100vw;margin-left:calc(50% - 50vw)}.coast-photo{--parallax-y:0px;position:relative;min-height:100svh;margin:0;overflow:hidden;background:#102b34}.coast-photo:after{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(180deg,rgba(4,22,28,.04),rgba(4,22,28,.28)),linear-gradient(90deg,rgba(4,22,28,.42),rgba(4,22,28,.08) 48%,rgba(4,22,28,0))}.coast-photo img,.coast-photo picture{position:absolute;inset:0;display:block;width:100%;height:100%}.coast-photo img{inset:-10% 0 auto 0;height:120%;object-fit:cover;transform:translate3d(0,var(--parallax-y),0) scale(1.055);transition:transform .18s linear;will-change:transform}.coast-photo figcaption{position:absolute;z-index:2;left:clamp(22px,7vw,104px);bottom:clamp(24px,8vw,104px);max-width:min(680px,calc(100% - 44px));color:#fff}.coast-photo figcaption span{display:block;font-size:clamp(3.1rem,8vw,8.4rem);line-height:.9}.home-page .home-fullscreen-gallery{display:block;gap:0;width:100vw;margin-left:calc(50% - 50vw)}.home-page .home-fullscreen-photo{position:relative;min-height:100svh;margin:0;overflow:hidden;background:#102b34;box-shadow:none;scroll-snap-align:start}.home-page .home-fullscreen-photo img{position:absolute;inset:-7% 0 auto 0;width:100%;height:114%;object-fit:cover;object-position:center;transform:translate3d(0,var(--parallax-y,0),0) scale(1.045);transition:transform .52s cubic-bezier(.22,1,.36,1);will-change:transform}.home-page .home-fullscreen-photo:hover img{transform:translate3d(0,var(--parallax-y,0),0) scale(1.07)}.home-page .home-fullscreen-photo figcaption{position:absolute;left:clamp(22px,7vw,104px);bottom:clamp(24px,8vw,104px);z-index:2;max-width:min(620px,calc(100% - 44px));color:#fff}.home-page .home-fullscreen-photo figcaption span{display:block;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.1rem,8vw,8.4rem);font-weight:600;line-height:.9;text-shadow:0 18px 62px rgba(0,0,0,.32)}.coast-contact-cta{--cta-reveal:1;--cta-boost:0;--arrow-extra:0px;position:absolute;right:clamp(22px,7vw,104px);bottom:clamp(26px,7vw,92px);z-index:3;display:inline-flex;align-items:center;gap:28px;padding:0 18px 9px 0;color:#fff;font-size:.82rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.coast-contact-cta:before{position:absolute;left:0;right:82px;bottom:0;height:2px;content:"";background:currentColor;transform-origin:left;transform:scaleX(var(--cta-reveal));transition:transform .36s cubic-bezier(.22,1,.36,1)}.coast-contact-arrow{position:relative;display:inline-block;width:calc(58px + var(--arrow-extra));height:16px;flex:0 0 auto;opacity:var(--cta-reveal);transform:translateX(0);transition:opacity .28s ease,width .32s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1,.36,1)}.coast-contact-arrow:before{position:absolute;left:0;right:0;top:7px;height:2px;content:"";background:currentColor}.coast-contact-arrow:after{position:absolute;right:0;top:3px;width:10px;height:10px;content:"";border-top:2px solid;border-right:2px solid;transform:rotate(45deg)}.coast-contact-cta:hover:before{transform:scaleX(1.16)}.coast-contact-cta:hover .coast-contact-arrow{width:calc(88px + var(--arrow-extra));transform:translateX(8px)}.coast-contact-cta.is-arrow-active{--cta-boost:1}.coast-contact-cta.is-arrow-active:before{transform:scaleX(1.16)}.coast-contact-cta.is-arrow-active .coast-contact-arrow{width:calc(88px + var(--arrow-extra));transform:translateX(8px)}body.motion-ready .coast-contact-cta,body.motion-ready .editorial-cta{--cta-reveal:1;opacity:0;-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);transform:translate3d(-22px,0,0) scale(.99);animation:ctaSweepIn .98s cubic-bezier(.22,1,.36,1) .22s forwards;transition:opacity .72s ease,transform .98s cubic-bezier(.22,1,.36,1),-webkit-clip-path .98s cubic-bezier(.22,1,.36,1);transition:clip-path .98s cubic-bezier(.22,1,.36,1),opacity .72s ease,transform .98s cubic-bezier(.22,1,.36,1);transition:clip-path .98s cubic-bezier(.22,1,.36,1),opacity .72s ease,transform .98s cubic-bezier(.22,1,.36,1),-webkit-clip-path .98s cubic-bezier(.22,1,.36,1)}body.motion-ready .coast-contact-cta{animation-delay:.32s}body.motion-ready .coast-contact-cta.is-visible,body.motion-ready .editorial-cta.is-visible{--cta-reveal:1;opacity:1;-webkit-clip-path:inset(0 -56px 0 0);clip-path:inset(0 -56px 0 0);transform:translateZ(0) scale(1)}.coast-photo figcaption.reveal-copy>span{-webkit-clip-path:none;clip-path:none;opacity:0;transform:translate3d(-36px,0,0);transition:transform .9s cubic-bezier(.22,1,.36,1),opacity .62s ease}.coast-photo figcaption.reveal-copy.is-visible>span{opacity:1;transform:translateZ(0)}.home-page .home-fullscreen-photo-cirella img,.home-page .home-fullscreen-photo-dino img{object-position:50% center}.home-page .home-fullscreen-photo-arcomagno img{object-position:50% 44%}.home-page .home-fullscreen-photo-diamante img{object-position:48% center}.google-reviews-section{background:radial-gradient(circle at 84% 22%,rgba(55,171,195,.18),transparent 26%),radial-gradient(circle at 18% 84%,rgba(255,255,255,.42),transparent 34%),linear-gradient(135deg,rgba(236,247,249,.92),rgba(255,248,238,.88) 42%,rgba(221,240,243,.9))}.google-reviews-layout{width:min(calc(100% - 36px),var(--max-width));margin:0 auto;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-gap:clamp(22px,4vw,38px);gap:clamp(22px,4vw,38px);align-items:stretch}.google-reviews-panel{position:relative;display:flex;min-height:100%;flex-direction:column;justify-content:flex-end;gap:20px;overflow:hidden;padding:clamp(28px,4vw,44px);color:#fff;background:linear-gradient(180deg,rgba(7,50,67,.16),rgba(8,49,66,.58)),linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,0)),-webkit-image-set(url("/assets/images/scogliera-riviera-wide.avif") type("image/avif"),url("/assets/images/scogliera-riviera-wide.webp") type("image/webp"),url("/assets/images/scogliera-riviera-wide.jpeg") type("image/jpeg")) 50% /cover no-repeat;background:linear-gradient(180deg,rgba(7,50,67,.16),rgba(8,49,66,.58)),linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,0)),image-set(url("/assets/images/scogliera-riviera-wide.avif") type("image/avif"),url("/assets/images/scogliera-riviera-wide.webp") type("image/webp"),url("/assets/images/scogliera-riviera-wide.jpeg") type("image/jpeg")) 50% /cover no-repeat;box-shadow:0 34px 90px rgba(15,60,77,.22)}.google-reviews-panel:after{position:absolute;inset:0;content:"";pointer-events:none;background:radial-gradient(circle at 22% 20%,rgba(255,255,255,.2),transparent 28%),linear-gradient(180deg,rgba(255,255,255,.05),rgba(6,36,48,.16))}.google-reviews-panel>*{position:relative;z-index:1}.google-reviews-panel h2{max-width:9ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,6vw,6rem);font-weight:600;line-height:.9;letter-spacing:0}.google-reviews-panel p{max-width:520px;margin:0;color:rgba(255,255,255,.88);line-height:1.75}.google-reviews-summary{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:18px 20px;border:1px solid rgba(255,255,255,.18);background:rgba(7,36,46,.38);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.google-rating-pill{display:inline-flex;align-items:center;gap:12px}.google-rating-score{font-family:Georgia,Times New Roman,serif;font-size:clamp(2.8rem,5vw,4rem);line-height:.9}.google-rating-stars,.google-review-stars{color:#ffd974;letter-spacing:.12em}.google-rating-meta,.google-review-meta{display:grid;grid-gap:4px;gap:4px}.google-rating-meta span,.google-review-meta span,.google-reviews-attribution{color:rgba(255,255,255,.74)}.google-reviews-actions{display:flex;flex-wrap:wrap;gap:12px}.google-reviews-actions .button-link,.google-reviews-actions .button-secondary{padding:13px 18px;border-radius:999px;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.google-reviews-actions .button-link{color:var(--sea);background:#fff}.google-reviews-actions .button-secondary{color:#fff;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08)}.google-review-card,.google-reviews-list{display:grid;grid-gap:18px;gap:18px}.google-review-card{padding:24px;border:1px solid rgba(31,42,50,.08);background:linear-gradient(160deg,rgba(255,255,255,.94),rgba(241,250,251,.88)),rgba(255,255,255,.88);box-shadow:0 20px 56px rgba(15,60,77,.1)}.google-review-top{display:flex;justify-content:space-between;gap:18px;align-items:center}.google-review-author{display:flex;gap:14px;align-items:center;min-width:0}.google-review-avatar,.google-review-avatar-fallback{width:54px;height:54px;flex:0 0 54px;border-radius:999px}.google-review-avatar{object-fit:cover;background:rgba(7,93,120,.08)}.google-review-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;color:var(--sea);background:linear-gradient(135deg,rgba(55,171,195,.18),rgba(7,93,120,.3));font-weight:800}.google-review-meta{min-width:0}.google-review-meta a,.google-review-meta strong{color:var(--ink);font-size:1rem;font-weight:700}.google-review-meta span{color:#7a6f62}.google-review-score{display:grid;grid-gap:4px;gap:4px;justify-items:end;text-align:right}.google-review-score strong{color:var(--sea);font-size:1rem}.google-review-text{margin:0;color:#6f6255;line-height:1.8}.google-review-footer{display:flex;justify-content:space-between;gap:18px;align-items:center;color:#7a6f62}.google-review-link{color:var(--sea);font-weight:800}.site-footer{padding:clamp(44px,7vw,82px) 0 34px;background:linear-gradient(135deg,rgba(23,40,48,.98),rgba(7,93,120,.94)),var(--ink);color:#fff;scroll-snap-align:start}.site-footer-inner{width:min(calc(100% - 36px),var(--max-width));margin:0 auto;display:grid;grid-template-columns:minmax(220px,1.05fr) minmax(220px,1fr) minmax(160px,.65fr);grid-gap:clamp(26px,5vw,72px);gap:clamp(26px,5vw,72px);align-items:start}.footer-brand-lockup{display:flex;gap:14px;align-items:center}.footer-brand-mark{width:110px;height:110px;object-fit:contain;box-shadow:0 18px 40px rgba(0,0,0,.22)}.footer-brand-copy{display:grid;grid-gap:6px;gap:6px}.footer-brand-copy strong{font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:600;line-height:.95}.footer-brand-copy span,.footer-contact-list a,.footer-legal a,.footer-nav-list a{color:rgba(255,255,255,.74)}.footer-contact-list,.footer-nav-list{display:grid;grid-gap:10px;gap:10px}.footer-contact-list a,.footer-legal a,.footer-nav-list a{line-height:1.55}.footer-contact-list a:hover,.footer-legal a:hover,.footer-nav-list a:hover{color:#d8f3f6}.footer-nav-list{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.footer-legal{grid-column:1/-1;display:flex;gap:16px;flex-wrap:wrap;padding-top:28px;border-top:1px solid rgba(255,255,255,.12);font-size:.82rem}.floating-contact{position:fixed;right:22px;bottom:22px;z-index:24;display:grid;grid-gap:10px;gap:10px}.floating-contact-button{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:999px;color:#fff;box-shadow:0 18px 42px rgba(17,54,69,.22);transition:transform .18s ease,box-shadow .18s ease}.floating-contact-button svg{width:24px;height:24px;fill:currentColor}.floating-contact-button:hover{transform:translateY(-2px);box-shadow:0 22px 50px rgba(17,54,69,.28)}.floating-contact-button.whatsapp{background:linear-gradient(135deg,#18b661,#0e8f54)}.floating-contact-button.instagram{background:linear-gradient(135deg,#f6b047,#ef4d75 48%,#7f4bd6)}.contact-page{background:var(--cream)}.contact-editorial{position:relative;padding:clamp(76px,10vw,138px) 0;scroll-snap-align:start}.contact-editorial-warm{min-height:100svh;padding-top:clamp(106px,12vw,160px);background:linear-gradient(135deg,rgba(255,250,242,.96),rgba(247,239,228,.9)),var(--paper)}.contact-editorial-cream{background:var(--paper)}.contact-editorial-sea{background:linear-gradient(135deg,rgba(7,93,120,.94),rgba(23,40,48,.96)),var(--sea)}.contact-editorial-grid{width:min(calc(100% - 36px),var(--max-width));margin:0 auto;display:grid;grid-template-columns:minmax(280px,.84fr) minmax(0,1fr);grid-gap:clamp(30px,6vw,86px);gap:clamp(30px,6vw,86px);align-items:center}.contact-editorial-grid.is-reverse{grid-template-columns:minmax(0,1fr) minmax(280px,.84fr)}.contact-editorial-grid.is-reverse .contact-sticky-image{order:2}.contact-editorial-grid.is-reverse .contact-copy{order:1}.contact-sticky-image{position:-webkit-sticky;position:sticky;top:96px;margin:0;min-height:72vh;border-radius:0;overflow:hidden;background:#102b34;box-shadow:0 34px 90px rgba(23,40,48,.2)}.contact-sticky-image:after{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(180deg,rgba(8,32,42,.03),rgba(8,32,42,.24)),linear-gradient(0deg,rgba(8,32,42,.22),rgba(8,32,42,0) 48%)}.contact-sticky-image img,.contact-sticky-image picture{display:block;width:100%;height:100%}.contact-sticky-image img{position:absolute;inset:0;object-fit:cover;transform:translate3d(0,var(--scroll-parallax-y,0),0) scale(1.04);transition:transform .22s linear;will-change:transform}.contact-sticky-image-landscape,.contact-sticky-image-panorama{min-height:64vh}.contact-sticky-image figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:22px;color:#fff;font-size:.96rem;line-height:1.55}.contact-copy{position:relative;z-index:2}.contact-editorial-sea .contact-copy,.contact-editorial-sea .contact-copy .eyebrow{color:#fff}.contact-copy h1,.contact-copy h2{margin:0 0 22px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.9rem,6.5vw,6.2rem);font-weight:600;line-height:.92;letter-spacing:0}.contact-copy p:not(.eyebrow){margin:0 0 18px;color:#314750;font-size:clamp(1rem,1.28vw,1.18rem);line-height:1.78}.contact-editorial-sea .contact-copy p:not(.eyebrow){color:rgba(255,255,255,.82)}.contact-points{display:grid;grid-gap:1px;gap:1px;margin-top:30px;background:rgba(7,93,120,.18);border:1px solid rgba(7,93,120,.18)}.contact-points article{padding:20px;background:rgba(255,250,242,.92)}.contact-editorial-sea .contact-points{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.18)}.contact-editorial-sea .contact-points article{background:rgba(255,255,255,.08)}.contact-points strong{display:block;margin-bottom:8px;color:var(--sea);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}.contact-editorial-sea .contact-points strong{color:var(--sea-soft)}.contact-points span{display:block;color:#314750;font-size:.96rem;line-height:1.58}.contact-editorial-sea .contact-points span{color:rgba(255,255,255,.78)}.tag-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.tag-list span{display:inline-flex;align-items:center;border:1px solid rgba(7,93,120,.18);border-radius:999px;padding:9px 12px;color:var(--sea);background:rgba(7,93,120,.08);font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.contact-details-section{padding:clamp(70px,9vw,128px) 0;background:var(--cream);scroll-snap-align:start}.contact-details-grid{width:min(calc(100% - 36px),var(--max-width));margin:0 auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(340px,.72fr);grid-gap:clamp(28px,5vw,72px);gap:clamp(28px,5vw,72px);align-items:start}.contact-form-card,.contact-map,.contact-reference-card{background:#fffaf2;border:1px solid rgba(7,93,120,.15);box-shadow:0 24px 70px rgba(23,40,48,.1)}.contact-form-card,.contact-reference-card{padding:clamp(24px,4vw,42px)}.contact-form-card h2,.contact-reference-card h2,.contact-reference-card h3{margin:0 0 22px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.1rem,4vw,4rem);font-weight:600;line-height:.96}.contact-reference-card h3{font-size:clamp(2rem,3.4vw,3.4rem)}.contact-reference-list{display:grid;grid-gap:12px;gap:12px}.contact-reference-list p{display:flex;gap:10px;align-items:center;margin:0;color:var(--muted);line-height:1.55}.contact-reference-list a{color:var(--sea);font-weight:700}.contact-reference-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;min-width:34px;height:34px;border-radius:999px;color:var(--sea);background:rgba(7,93,120,.08);font-size:.62rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.contact-reference-icon.brand-icon svg{width:20px;height:20px;display:block;fill:currentColor}.contact-reference-icon.whatsapp{color:#0e8f54}.contact-reference-icon.instagram{color:#c0437d}.reference-list{display:grid;grid-gap:1px;gap:1px;background:rgba(7,93,120,.16);border:1px solid rgba(7,93,120,.16)}.reference-list p{display:grid;grid-template-columns:150px minmax(0,1fr);grid-gap:18px;gap:18px;margin:0;padding:16px 18px;background:#fff;color:#314750;line-height:1.5}.reference-list strong{color:var(--muted);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}.reference-list a{color:var(--sea);font-weight:700}.contact-map{position:relative;min-height:320px;margin-top:22px;overflow:hidden;background:linear-gradient(135deg,rgba(216,243,246,.92),rgba(247,239,228,.96)),var(--paper)}.contact-map-copy{position:relative;z-index:2;max-width:440px;padding:28px;border:1px solid rgba(255,250,242,.54);background:rgba(255,250,242,.9);box-shadow:0 22px 58px rgba(23,40,48,.16)}.contact-map-copy p:not(.eyebrow){margin:0;color:#314750;line-height:1.7}.contact-map iframe{position:absolute;inset:0;z-index:1;width:100%;height:100%;border:0}.field{display:grid;grid-gap:8px;gap:8px;margin-bottom:16px;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.field input,.field textarea{width:100%;border:1px solid rgba(7,93,120,.22);border-radius:0;padding:14px 15px;color:var(--ink);background:#fff;font:inherit;font-size:1rem;letter-spacing:0;text-transform:none}.field textarea{min-height:142px;resize:vertical}.field input:focus,.field textarea:focus{outline:2px solid rgba(55,171,195,.32);outline-offset:2px}.consent-option{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:12px;gap:12px;margin:16px 0;color:#314750;font-size:.95rem;line-height:1.55}.consent-option input{width:18px;height:18px;margin-top:2px;accent-color:var(--sea)}.consent-option span span,.consent-option strong{display:block}.consent-option strong{margin-bottom:4px;color:var(--ink)}.consent-option a{color:var(--sea);font-weight:800;text-decoration:underline;text-underline-offset:3px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:999px;padding:12px 18px;border:1px solid var(--sea);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.primary-button{width:100%;margin-top:8px;color:#fff;background:var(--sea)}.primary-button:disabled{cursor:wait;opacity:.7}.secondary-button{color:var(--sea);background:rgba(255,250,242,.88)}.booking-page .booking-form-panel .button,.contact-form-card .primary-button{--submit-bg:#075d78;--submit-bg-hover:#064f66;--submit-line:#fff4da;--submit-glow:rgba(255,244,218,0.2);position:relative;isolation:isolate;overflow:hidden;min-height:54px;border:1px solid rgba(7,93,120,.28);border-radius:2px;color:#fffaf2;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,0) 34%),linear-gradient(135deg,var(--submit-bg),#0a6c83);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 16px 32px rgba(7,93,120,.12);letter-spacing:.16em;transition:background .42s cubic-bezier(.22,1,.36,1),box-shadow .42s cubic-bezier(.22,1,.36,1),transform .42s cubic-bezier(.22,1,.36,1),color .42s ease}.booking-page .booking-form-panel .button:before,.contact-form-card .primary-button:before{position:absolute;inset:0;z-index:1;pointer-events:none;content:"";background:linear-gradient(90deg,var(--submit-line),var(--submit-line)) 0 0 /0 2px no-repeat,linear-gradient(180deg,var(--submit-line),var(--submit-line)) 100% 0 /2px 0 no-repeat,linear-gradient(270deg,var(--submit-line),var(--submit-line)) 100% 100% /0 2px no-repeat,linear-gradient(0deg,var(--submit-line),var(--submit-line)) 0 100% /2px 0 no-repeat;opacity:0}.booking-page .booking-form-panel .button:after,.contact-form-card .primary-button:after{position:absolute;inset:1px;z-index:-1;pointer-events:none;content:"";background:radial-gradient(circle at 18% 0,rgba(255,255,255,.18),transparent 34%),linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);opacity:0;transform:translateX(-42%);transition:opacity .52s ease,transform .9s cubic-bezier(.22,1,.36,1)}.booking-page .booking-form-panel .button:focus-visible:not(:disabled),.booking-page .booking-form-panel .button:hover:not(:disabled),.contact-form-card .primary-button:focus-visible:not(:disabled),.contact-form-card .primary-button:hover:not(:disabled){color:#fff8e8;background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,0) 36%),linear-gradient(135deg,var(--submit-bg-hover),#075d78);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 18px 44px rgba(7,93,120,.18),0 0 0 1px rgba(255,244,218,.08);transform:translateY(-1px)}.booking-page .booking-form-panel .button:focus-visible:not(:disabled):before,.booking-page .booking-form-panel .button:hover:not(:disabled):before,.contact-form-card .primary-button:focus-visible:not(:disabled):before,.contact-form-card .primary-button:hover:not(:disabled):before{opacity:1;animation:perimeterTrace 1.15s cubic-bezier(.22,1,.36,1) forwards}.booking-page .booking-form-panel .button:focus-visible:not(:disabled):after,.booking-page .booking-form-panel .button:hover:not(:disabled):after,.contact-form-card .primary-button:focus-visible:not(:disabled):after,.contact-form-card .primary-button:hover:not(:disabled):after{opacity:1;transform:translateX(34%)}.contact-form-card .primary-button:disabled:after,.contact-form-card .primary-button:disabled:before{display:none}@keyframes perimeterTrace{0%{background-size:0 2px,2px 0,0 2px,2px 0}28%{background-size:100% 2px,2px 0,0 2px,2px 0}52%{background-size:100% 2px,2px 100%,0 2px,2px 0}76%{background-size:100% 2px,2px 100%,100% 2px,2px 0}to{background-size:100% 2px,2px 100%,100% 2px,2px 100%}}.form-status{min-height:24px;margin:14px 0 0;color:var(--muted);font-size:.95rem;line-height:1.5}.form-status-success{color:#13744b}.form-status-error{color:#af4735}.rooms-page{background:var(--cream)}.admin-page,.booking-page{min-height:100svh;background:linear-gradient(135deg,rgba(255,250,242,.98),rgba(247,239,228,.9)),var(--paper);font-family:Arial,Helvetica,sans-serif}.admin-page-shell{width:min(calc(100% - 36px),var(--max-width));margin:0 auto;padding:clamp(116px,14vw,170px) 0 clamp(72px,9vw,128px)}.booking-hero-section{min-height:92svh;display:grid;align-items:center;padding:clamp(112px,13vw,170px) 0 clamp(56px,8vw,98px);scroll-snap-align:start}.booking-flow-grid,.booking-hero-grid{width:min(calc(100% - 36px),var(--max-width));margin:0 auto;display:grid;grid-gap:clamp(30px,6vw,86px);gap:clamp(30px,6vw,86px)}.booking-hero-grid{grid-template-columns:minmax(0,.82fr) minmax(320px,.82fr);align-items:center}.booking-hero-copy h1{max-width:760px;margin:0 0 24px;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,7vw,6.8rem);font-weight:600;line-height:.9;letter-spacing:0}.booking-hero-copy p:not(.eyebrow){max-width:650px;margin:0;color:#314750;font-size:clamp(1rem,1.35vw,1.24rem);line-height:1.78}.booking-hero-visual{position:-webkit-sticky;position:sticky;top:96px;min-height:min(64vh,620px);margin:0;overflow:hidden;background:#102b34;box-shadow:0 34px 90px rgba(23,40,48,.18)}.booking-hero-visual:after{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(180deg,rgba(8,32,42,.02),rgba(8,32,42,.22)),linear-gradient(0deg,rgba(8,32,42,.28),rgba(8,32,42,0) 54%)}.booking-hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:translate3d(0,var(--scroll-parallax-y,0),0) scale(1.04);transition:transform .22s linear;will-change:transform}.booking-shell-section{padding:clamp(72px,10vw,132px) 0;background:var(--cream);scroll-snap-align:start}.booking-flow-grid{grid-template-columns:minmax(0,1.08fr) minmax(340px,.82fr);align-items:start}.admin-heading,.admin-login-card,.booking-calendar-card,.booking-form-panel{padding:clamp(28px,4vw,46px);border:1px solid rgba(7,93,120,.16);background:linear-gradient(145deg,rgba(255,251,243,.96),rgba(247,240,228,.9)),rgba(255,255,255,.9);box-shadow:0 28px 76px rgba(23,40,48,.12);border-radius:0}.admin-heading h1,.admin-login-card h1{margin:0 0 22px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.7rem,6vw,5.8rem);font-weight:600;line-height:.92;letter-spacing:0}.admin-heading p{margin:0;color:#314750;font-size:clamp(1rem,1.28vw,1.18rem);line-height:1.78}.booking-calendar-card h3,.booking-form-panel h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,3.8vw,3.6rem);font-weight:600;line-height:.96;letter-spacing:0}.calendar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.calendar-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.calendar-month{background:rgba(255,255,255,.7);border:1px solid rgba(7,93,120,.12);padding:16px}.calendar-month h4{margin:0 0 14px;color:var(--ink);font-size:1rem;font-weight:800;text-transform:capitalize}.calendar-grid,.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px}.calendar-weekdays{margin-bottom:6px;color:var(--muted);font-size:.72rem;font-weight:900;text-align:center}.calendar-day{min-height:58px;display:grid;align-content:center;justify-items:center;grid-gap:3px;gap:3px;border:1px solid rgba(7,93,120,.12);color:#314750;background:#fffaf2}.calendar-day small{color:var(--sea);font-size:.64rem;font-weight:800}.calendar-day.is-muted{opacity:.32}.calendar-day.is-past{color:#9b948b;background:rgba(236,227,215,.55)}.calendar-day.is-booked{color:rgba(255,255,255,.78);background:#6f6255}.calendar-day.is-range{background:rgba(216,243,246,.78)}.calendar-day.is-selected{color:#fff;background:var(--sea)}.booking-choice-card,.booking-rules-card,.booking-selection-summary,.booking-waiting{margin-top:20px;padding:18px;border:1px solid rgba(7,93,120,.14);background:rgba(255,255,255,.68)}.booking-choice-card strong,.booking-selection-summary strong,.booking-waiting strong{display:block;margin-bottom:8px;color:var(--ink)}.calendar-legend,.field-help,.form-note,.muted{color:var(--muted)}.calendar-legend{display:flex;flex-wrap:wrap;gap:12px 16px;margin-top:20px;font-size:.82rem;font-weight:700}.calendar-legend span{display:inline-flex;align-items:center;gap:7px}.legend-dot{width:10px;height:10px;display:inline-block;background:#fffaf2;border:1px solid rgba(7,93,120,.25)}.legend-dot.booked{background:#6f6255}.legend-dot.past{background:#cfc5b8}.legend-dot.selected{background:var(--sea)}.booking-policy-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1px;gap:1px;margin-top:18px;background:rgba(7,93,120,.16);border:1px solid rgba(7,93,120,.16)}.booking-policy-strip span{padding:13px 14px;background:rgba(255,250,242,.94);color:#314750;font-size:.84rem;font-weight:800}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0 14px;gap:0 14px}.field-grid-triple{grid-template-columns:repeat(3,minmax(0,1fr))}.field select{width:100%;border:1px solid rgba(7,93,120,.22);padding:14px 15px;color:var(--ink);background:#fff;font:inherit;font-size:1rem;letter-spacing:0;text-transform:none}.admin-page .primary-button,.admin-page .secondary-button,.booking-page .primary-button,.booking-page .secondary-button,.field select{border-radius:0}.form-required-note{margin:18px 0 10px;color:var(--muted);font-size:.86rem}.consent-stack{display:grid;grid-gap:12px;gap:12px}.consent-copy strong{margin-bottom:4px}.form-note{margin:14px 0 0;font-size:.9rem;line-height:1.55}.booking-rules-card h4{margin:8px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.7rem,2.8vw,2.6rem);font-weight:600;line-height:1}.booking-rules-card ul{margin:0;padding-left:20px;color:#314750;line-height:1.72}.admin-page,.booking-page{--surface:rgba(255,251,243,0.82);--surface-strong:#ffffff;--text:var(--ink);--line:rgba(31,42,50,0.11);--sea-deep:var(--sea);--sky:#d8f3f6;--sun:#dcc08e;--coral:#ef7b67;--past:#25323a;--shadow:0 22px 64px rgba(17,54,69,0.14);--radius-lg:10px;--radius-md:8px}.booking-page .section{padding:84px 0}.booking-page .section-inner{width:min(calc(100% - 36px),var(--max-width));margin:0 auto}.booking-page .section-title{margin:0 0 18px;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.5rem,8vw,6.5rem);font-weight:600;line-height:.9;letter-spacing:0}.booking-page .section-description{max-width:530px;margin:0;color:var(--muted);line-height:1.8}.booking-page .booking-hero{position:relative;padding:clamp(118px,12vw,150px) 0 clamp(46px,5vw,70px);overflow:clip;scroll-snap-align:start}.booking-page .booking-hero:before{position:absolute;inset:0;z-index:-1;content:"";background:radial-gradient(circle at 16% 18%,rgba(255,255,255,.54),transparent 28%),linear-gradient(135deg,rgba(218,241,246,.86),rgba(249,245,239,.9) 48%,rgba(188,224,231,.8))}.booking-page .booking-hero-grid{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(460px,1fr);grid-gap:clamp(28px,4vw,58px);gap:clamp(28px,4vw,58px);align-items:center}.booking-page .booking-hero-copy{max-width:560px}.booking-page .booking-hero .section-title{max-width:8.6ch;margin-bottom:clamp(18px,2.2vw,28px);font-size:clamp(3.25rem,6.2vw,5.9rem);line-height:.92}.booking-page .booking-hero-visual{position:relative;top:auto;min-height:clamp(330px,34vw,500px);aspect-ratio:1.48/1;margin:0;overflow:hidden;border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 32px 84px rgba(15,70,88,.2)}.booking-page .booking-hero-visual:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(10,62,77,.22)),radial-gradient(circle at 24% 20%,rgba(255,255,255,.18),transparent 30%)}.booking-page .booking-hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:none}body.motion-ready .booking-page .booking-hero-copy .eyebrow{animation:heroDropIn .76s cubic-bezier(.22,1,.36,1) 80ms both}body.motion-ready .booking-page .booking-hero-copy .section-title{animation:heroDropIn .86s cubic-bezier(.22,1,.36,1) .16s both}body.motion-ready .booking-page .booking-hero-copy .section-description{animation:heroDropIn .82s cubic-bezier(.22,1,.36,1) .28s both}body.motion-ready .booking-page .booking-hero-visual{animation:heroDropIn .9s cubic-bezier(.22,1,.36,1) .22s both}.booking-page .booking-shell{position:relative;overflow:clip;background:radial-gradient(circle at 10% 14%,rgba(216,243,246,.42),transparent 22%),radial-gradient(circle at 86% 18%,rgba(55,171,195,.12),transparent 22%),linear-gradient(180deg,rgba(244,251,252,.92),rgba(243,238,230,.8));scroll-snap-align:start}.booking-page .booking-shell:before{position:absolute;inset:0;z-index:-1;content:"";background:linear-gradient(180deg,rgba(255,255,255,.32),rgba(255,255,255,0)),-webkit-image-set(url("/assets/images/scogliera-riviera-wide.avif") type("image/avif"),url("/assets/images/scogliera-riviera-wide.webp") type("image/webp"),url("/assets/images/scogliera-riviera-wide.jpeg") type("image/jpeg")) 50% /cover no-repeat;background:linear-gradient(180deg,rgba(255,255,255,.32),rgba(255,255,255,0)),image-set(url("/assets/images/scogliera-riviera-wide.avif") type("image/avif"),url("/assets/images/scogliera-riviera-wide.webp") type("image/webp"),url("/assets/images/scogliera-riviera-wide.jpeg") type("image/jpeg")) 50% /cover no-repeat;opacity:.12}.booking-page .booking-layout{display:grid;grid-template-columns:1fr;grid-gap:26px;gap:26px;align-items:start}.booking-page .calendar-card,.booking-page .form-card{padding:28px;background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.56);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.booking-page .booking-form-panel h3,.booking-page .calendar-card h3{margin:0 0 10px;font-family:Georgia,Times New Roman,serif;font-size:2rem}.booking-page .field{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;color:var(--muted);font-size:.9rem;font-weight:400;letter-spacing:0;text-transform:none}.booking-page .field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.booking-page .field-grid-triple{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-page .field input,.booking-page .field select,.booking-page .field textarea{width:100%;min-width:0;box-sizing:border-box;border-radius:var(--radius-md);border:1px solid rgba(31,42,50,.12);background:rgba(255,255,255,.92);padding:14px 16px;color:var(--text);font-size:1rem}.booking-page .field textarea{min-height:130px;resize:vertical}.booking-page .consent-stack{display:grid;grid-gap:12px;gap:12px;margin:8px 0 16px}.booking-page .consent-option{display:flex;align-items:flex-start;gap:12px;margin:0;padding:14px 16px;border-radius:var(--radius-md);border:1px solid rgba(31,42,50,.12);background:rgba(255,255,255,.9)}.booking-page .consent-option input{width:18px;height:18px;margin:3px 0 0;flex:0 0 18px;accent-color:var(--sea-deep)}.booking-page .consent-copy{display:grid;grid-gap:4px;gap:4px}.booking-page .consent-copy strong{color:var(--text);font-size:.96rem}.booking-page .consent-copy span{color:var(--muted);font-size:.9rem;line-height:1.65}.booking-page .calendar-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}.booking-page .calendar-controls{display:flex;gap:8px;align-items:center}.booking-page .calendar-control{width:46px;height:40px;border:1px solid rgba(20,94,116,.18);background:rgba(255,255,255,.76);color:var(--sea-deep);cursor:pointer;font-size:1.15rem;line-height:1;transition:transform .18s ease,background .18s ease,border-color .18s ease}.booking-page .calendar-control span{font-size:0}.booking-page .calendar-control:before{content:"<";font-size:1.15rem}.booking-page .calendar-control+.calendar-control:before{content:">"}.booking-page .calendar-control:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(20,94,116,.34);background:#fff}.booking-page .calendar-control:disabled{cursor:default;opacity:.34}.booking-page .calendar-month-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px;min-width:0}.booking-page .month-card{border:1px solid rgba(31,42,50,.08);border-radius:var(--radius-lg);padding:18px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(216,243,246,.4)),var(--surface-strong);min-width:0;overflow:hidden}.booking-page .month-title h4{margin:0 0 10px;font-size:1.1rem;text-transform:capitalize}.booking-page .month-grid,.booking-page .week-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px}.booking-page .weekday{text-align:center;font-size:.78rem;color:var(--muted);padding-bottom:6px}.booking-page .day{min-height:72px;min-width:0;border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:rgba(255,255,255,.9);border:1px solid rgba(31,42,50,.06);color:var(--text);font-size:.92rem;line-height:1.15;text-align:center;padding:8px 4px}.booking-page .day.empty{border:1px dashed rgba(31,42,50,.04)}.booking-page .day.booked{background:linear-gradient(135deg,rgba(29,111,142,.95),rgba(95,169,196,.95));color:#fff}.booking-page .day.past{background:var(--past);border-color:var(--past);color:rgba(255,255,255,.42)}.booking-page .day.outside-window{background:rgba(31,42,50,.05);border-color:rgba(31,42,50,.05);color:rgba(49,71,80,.32)}.booking-page .day.selected{background:linear-gradient(135deg,var(--coral),var(--sun));border-color:rgba(239,123,103,.35);font-weight:800}.booking-page .day.checkout{box-shadow:inset 0 0 0 2px rgba(239,123,103,.22)}.booking-page .day.selectable{cursor:pointer}.booking-page .day.selectable:hover{border-color:rgba(239,123,103,.55);box-shadow:inset 0 0 0 2px rgba(239,123,103,.22)}.booking-page .day-price{color:var(--sea-deep);font-size:.74rem}.booking-page .day.booked .day-price,.booking-page .day.selected .day-price{color:rgba(255,255,255,.9)}.booking-page .booking-choice-card,.booking-page .booking-selection-summary,.booking-page .booking-waiting{margin-top:18px;padding:18px;border-radius:var(--radius-lg);background:linear-gradient(140deg,rgba(255,255,255,.96),rgba(225,244,248,.92) 68%,rgba(55,171,195,.1));border:1px solid rgba(20,94,116,.08);box-shadow:0 18px 42px rgba(12,72,91,.08)}.booking-page .booking-policy-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin:18px 0 22px;background:transparent;border:0}.booking-page .booking-policy-strip span{padding:12px 14px;border-radius:14px;background:rgba(55,171,195,.1);border:1px solid rgba(20,94,116,.12);color:var(--sea-deep);font-size:.92rem;font-weight:700}.booking-page .booking-form-panel{position:relative;top:auto;align-self:start;max-width:980px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(236,248,250,.88)),rgba(255,255,255,.9)}.booking-page .booking-calendar-card{background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(226,245,248,.86)),rgba(255,255,255,.88)}.booking-page .booking-rules-card{margin-top:22px;padding:22px;border-radius:var(--radius-lg);background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(230,244,247,.84)),rgba(255,255,255,.92);border:1px solid rgba(20,94,116,.12);box-shadow:0 18px 42px rgba(12,72,91,.08)}.booking-page .booking-rules-card h4{margin:6px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:2rem;color:var(--text)}.booking-page .house-rules-list{margin:0;padding-left:20px;display:grid;grid-gap:10px;gap:10px;color:var(--text)}.booking-page .calendar-legend{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:.9rem;margin-top:16px}.booking-page .legend-dot{width:12px;height:12px;border-radius:999px;display:inline-block;margin-right:8px;vertical-align:middle}.booking-page .legend-dot.available{background:rgba(255,255,255,.95);border:1px solid rgba(31,42,50,.16)}.booking-page .legend-dot.booked{background:linear-gradient(135deg,rgba(29,111,142,.95),rgba(95,169,196,.95))}.booking-page .legend-dot.past{background:var(--past)}.booking-page .legend-dot.selected{background:linear-gradient(135deg,var(--coral),var(--sun))}.booking-page .button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:46px;border:0;border-radius:999px;padding:13px 18px;color:#fff;background:var(--sea-deep);font-size:.82rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.admin-page-shell{display:grid;grid-gap:24px;gap:24px}.admin-login-card{width:min(100%,520px);margin:0 auto}.admin-settings-card{display:grid;grid-gap:18px;gap:18px;padding:22px;border:1px solid rgba(7,93,120,.16);background:rgba(255,250,242,.96);box-shadow:0 18px 52px rgba(23,40,48,.08)}.admin-settings-card h2{margin:0 0 8px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:600;line-height:1}.admin-settings-card p{margin:0;color:var(--muted);line-height:1.65}.admin-months-field{max-width:360px}.admin-booking-list{display:grid;grid-gap:14px;gap:14px}.admin-booking-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:18px;gap:18px;align-items:start;padding:22px;border:1px solid rgba(7,93,120,.16);background:rgba(255,250,242,.96);box-shadow:0 18px 52px rgba(23,40,48,.08);border-radius:0}.admin-booking-card span,.admin-booking-card strong{display:block}.admin-booking-card strong{margin-bottom:8px;color:var(--ink);font-size:1.2rem}.admin-booking-card p,.admin-booking-card span{color:#5f6f75;line-height:1.55}.admin-booking-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.admin-booking-actions span{width:100%;color:var(--sea);font-size:.76rem;font-weight:900;letter-spacing:.1em;text-align:right;text-transform:uppercase}.admin-booking-actions button{border:1px solid rgba(7,93,120,.2);border-radius:0;padding:10px 12px;color:var(--sea);background:rgba(216,243,246,.44);font-size:.74rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.admin-booking-card.is-approved{border-color:rgba(19,116,75,.28)}.admin-booking-card.is-rejected{opacity:.72}.admin-intro-section{padding:clamp(116px,14vw,168px) 0 clamp(28px,5vw,58px);scroll-snap-align:start}.admin-heading-row{display:flex;gap:24px;align-items:flex-end;justify-content:space-between}.admin-title{margin:0 0 16px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.8rem,6vw,5.4rem);font-weight:600;line-height:.95;letter-spacing:0}.admin-page .section-description{max-width:780px}.admin-page .reveal-copy>*,.admin-page .reveal-image{opacity:1;filter:none;-webkit-clip-path:none;clip-path:none;transform:none}.admin-page .section-alt{padding:clamp(32px,5vw,72px) 0 clamp(72px,9vw,128px)}.admin-card,.admin-page .form-card{padding:clamp(22px,3vw,32px);border:1px solid rgba(7,93,120,.14);background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(232,247,250,.82)),rgba(255,250,242,.94);box-shadow:0 24px 72px rgba(23,40,48,.1)}.admin-card h3,.admin-login-card h3{margin:0 0 14px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.75rem,3vw,2.65rem);font-weight:600;line-height:1;letter-spacing:0}.admin-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr);grid-gap:clamp(22px,4vw,34px);gap:clamp(22px,4vw,34px);align-items:start}.admin-card,.admin-grid>*,.admin-table-wrap{min-width:0}.admin-table-wrap{overflow-x:auto}.admin-accounting-card,.admin-calendar-overview{margin-bottom:24px}.admin-calendar-grid{grid-template-columns:repeat(3,minmax(250px,1fr))}.admin-global-status{margin:0 0 18px}.admin-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;margin-bottom:24px}.admin-health-card{padding:18px 20px;border:1px solid rgba(7,93,120,.12);background:rgba(255,255,255,.9);box-shadow:0 14px 38px rgba(23,40,48,.07)}.admin-health-card strong{display:block;margin-bottom:8px;color:var(--ink)}.admin-health-card p{margin:0;color:var(--muted);line-height:1.65}.admin-health-card.success{border-color:rgba(19,116,75,.18);background:linear-gradient(135deg,rgba(236,249,243,.98),rgba(255,255,255,.94))}.admin-health-card.warning{border-color:rgba(201,143,93,.22);background:linear-gradient(135deg,rgba(255,247,239,.98),rgba(255,255,255,.94))}.admin-filters{display:grid;grid-template-columns:minmax(160px,.35fr) minmax(220px,1fr);grid-gap:14px;gap:14px;margin:16px 0 12px;padding:14px;border:1px solid rgba(7,93,120,.1);background:rgba(255,255,255,.62)}.admin-filters .field{margin-bottom:0}.accounting-filters{grid-template-columns:repeat(2,minmax(170px,1fr))}.accounting-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.accounting-card{display:grid;grid-gap:8px;gap:8px;padding:18px;border:1px solid rgba(7,93,120,.1);background:rgba(255,255,255,.82)}.accounting-card.primary{background:linear-gradient(135deg,rgba(19,116,75,.14),rgba(255,255,255,.96))}.accounting-card small,.accounting-card span{color:var(--muted)}.accounting-card strong{color:var(--ink);font-size:1.55rem}.revenue-chart{display:grid;grid-gap:14px;gap:14px;margin-top:18px;padding:18px;border:1px solid rgba(7,93,120,.1);background:rgba(255,255,255,.72)}.revenue-chart-head,.revenue-row{display:grid;grid-template-columns:112px minmax(0,1fr) 96px;grid-gap:14px;gap:14px;align-items:center}.revenue-chart-head{grid-template-columns:minmax(0,1fr) auto;color:var(--muted);font-size:.88rem}.chart-swatch{display:inline-block;width:10px;height:10px;margin:0 5px 0 12px;border-radius:999px;vertical-align:-1px}.chart-swatch.direct,.revenue-track .direct{background:#13744b}.chart-swatch.booking,.revenue-track .booking{background:#2f83b7}.revenue-bars{display:grid;grid-gap:10px;gap:10px}.revenue-row span,.revenue-row strong{font-size:.86rem}.revenue-row span{color:var(--muted)}.revenue-row strong{text-align:right}.revenue-track{display:flex;height:14px;overflow:hidden;border-radius:999px;background:rgba(23,40,48,.08)}.revenue-track i{display:block;min-width:0}.booking-table{width:100%;min-width:820px;border-collapse:collapse;table-layout:fixed}.booking-table td,.booking-table th{box-sizing:border-box;text-align:left;padding:14px 18px 14px 0;border-bottom:1px solid rgba(23,40,48,.08);vertical-align:top}.booking-table th{color:var(--muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.booking-table td:first-child,.booking-table th:first-child{width:20%}.booking-table td:nth-child(2),.booking-table th:nth-child(2){width:16%}.booking-table td:nth-child(3),.booking-table th:nth-child(3){width:19%}.booking-table td:nth-child(4),.booking-table th:nth-child(4){width:11%}.booking-table td:nth-child(5),.booking-table th:nth-child(5){width:14%}.booking-table td:nth-child(6),.booking-table th:nth-child(6){width:20%}.table-subtext{display:block;margin-top:4px;color:var(--muted);font-size:.88rem;line-height:1.45}.table-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.pill.pending{background:rgba(201,143,93,.14);color:#8e5a2d}.pill.approved{background:rgba(19,116,75,.14);color:#13744b}.pill.rejected{background:rgba(175,71,53,.14);color:#af4735}.pill.past{background:rgba(23,40,48,.1);color:rgba(23,40,48,.74)}.button-small{border:1px solid rgba(7,93,120,.14);border-radius:0;padding:10px 14px;color:var(--sea);background:rgba(255,255,255,.9);font-size:.78rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.button-small.danger{color:#af4735;border-color:rgba(175,71,53,.22)}.button-small:disabled{opacity:.42;cursor:default}.admin-login-actions{display:flex;flex-wrap:wrap;gap:10px}.bot-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.admin-otp-setup{display:grid;grid-gap:10px;gap:10px;justify-items:start;margin:0 0 16px;padding:14px;border:1px solid rgba(7,93,120,.16);background:rgba(216,243,246,.38)}.admin-otp-setup p{margin:0;color:var(--muted)}.admin-otp-setup code{display:block;overflow-wrap:anywhere;padding:10px 12px;background:rgba(255,255,255,.78);color:var(--ink);font-family:Courier New,monospace;font-size:.94rem;line-height:1.5}.admin-otp-qr{width:min(220px,100%);padding:10px;background:white;box-shadow:0 10px 24px rgba(23,40,48,.12)}.admin-otp-qr svg{display:block;width:100%;height:auto}.admin-otpauth-link{color:var(--sea);font-weight:900}.admin-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;color:var(--muted);font-size:.9rem}.admin-pagination-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.price-rules-box{margin-top:28px;padding-top:24px;border-top:1px solid rgba(23,40,48,.1)}.calendar-head.compact{margin-bottom:12px}.calendar-head.compact h3{margin-bottom:0;font-size:1.35rem}.price-rules-table-wrap{max-height:360px;overflow:auto;border:1px solid rgba(7,93,120,.1)}.price-rules-table{width:100%;border-collapse:collapse;table-layout:fixed;background:rgba(255,255,255,.68)}.price-rules-table td,.price-rules-table th{overflow-wrap:anywhere;padding:12px 10px;border-bottom:1px solid rgba(23,40,48,.08);text-align:left;vertical-align:top}.price-rules-table th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:rgba(255,248,238,.98);color:var(--muted);font-size:.82rem}.price-rules-table td{font-size:.9rem}.price-rules-table td span{display:block;margin-top:3px;color:var(--muted);font-size:.78rem}.sync-box{margin-top:28px;padding:22px;border:1px solid rgba(7,93,120,.1);background:linear-gradient(135deg,rgba(216,243,246,.68),rgba(236,227,215,.26))}.booking-detail-dialog.is-open{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:18px;background:rgba(17,34,42,.44);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.booking-detail-panel{width:min(720px,calc(100vw - 32px));max-height:calc(100svh - 36px);overflow:auto;padding:24px;border:1px solid rgba(23,40,48,.08);background:rgba(255,255,255,.98);box-shadow:0 28px 80px rgba(11,53,69,.22)}.booking-detail-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.booking-detail-header h3{margin:4px 0 0}.booking-detail-close{width:42px;height:42px;flex:0 0 42px;display:inline-grid;place-items:center;border:1px solid rgba(23,40,48,.14);background:rgba(255,255,255,.92);color:var(--ink);font-size:1rem;font-weight:900;line-height:1;text-transform:uppercase;cursor:pointer}.booking-detail-close:focus-visible,.booking-detail-close:hover{outline:0;color:#fff;background:var(--sea)}.booking-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.booking-detail-grid div,.booking-detail-section{padding:14px;border:1px solid rgba(23,40,48,.06);background:rgba(244,250,251,.95)}.booking-detail-grid span,.booking-detail-section span{display:block;margin-bottom:5px;color:var(--muted);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.booking-detail-grid strong,.booking-detail-section p{margin:0;line-height:1.5}.booking-detail-section{margin-top:12px}.booking-detail-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:18px}.booking-edit-form{margin-top:22px;padding-top:20px;border-top:1px solid rgba(23,40,48,.1)}.booking-edit-form .calendar-head{margin-bottom:14px}.booking-edit-form .primary-button{width:100%;margin-top:12px}.rooms-intro{min-height:92svh;display:grid;grid-template-columns:minmax(0,.88fr) minmax(320px,.72fr);grid-gap:clamp(28px,5vw,72px);gap:clamp(28px,5vw,72px);align-items:center;width:min(calc(100% - 36px),var(--max-width));margin:0 auto;padding:clamp(112px,14vw,170px) 0 clamp(56px,8vw,102px);background:linear-gradient(135deg,rgba(255,250,242,.98),rgba(247,239,228,.88)),var(--paper);scroll-snap-align:start}.rooms-intro h1{max-width:760px;margin:0 0 24px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.65rem,5vw,5.6rem);font-weight:600;line-height:.94;letter-spacing:0}.rooms-intro p:not(.eyebrow){max-width:760px;margin:0;color:#314750;font-size:clamp(1rem,1.35vw,1.24rem);line-height:1.78}.rooms-intro-visual{position:relative;min-height:min(64vh,620px);margin:0;overflow:hidden;background:#102b34;box-shadow:0 34px 90px rgba(23,40,48,.18)}.rooms-intro-visual:after{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(180deg,rgba(8,32,42,.02),rgba(8,32,42,.24)),linear-gradient(0deg,rgba(8,32,42,.32),rgba(8,32,42,0) 52%)}.rooms-intro-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:translate3d(0,var(--scroll-parallax-y,0),0) scale(1.04);transition:transform .22s linear;will-change:transform}.rooms-editorial{position:relative;padding:clamp(76px,10vw,138px) 0;scroll-snap-align:start}.rooms-editorial-warm{background:linear-gradient(135deg,rgba(255,250,242,.98),rgba(247,239,228,.9)),var(--paper)}.rooms-editorial-cream{background:var(--paper)}.rooms-editorial-sea{background:linear-gradient(135deg,rgba(7,93,120,.94),rgba(23,40,48,.96)),var(--sea)}.rooms-editorial-grid{width:min(calc(100% - 36px),var(--max-width));margin:0 auto;display:grid;grid-template-columns:minmax(300px,.92fr) minmax(0,1fr);grid-gap:clamp(30px,6vw,86px);gap:clamp(30px,6vw,86px);align-items:center}.rooms-editorial-grid.is-reverse{grid-template-columns:minmax(0,1fr) minmax(300px,.92fr)}.rooms-editorial-grid.is-reverse .room-gallery,.rooms-editorial-grid.is-reverse .rooms-static-visual{order:2}.rooms-editorial-grid.is-reverse .rooms-copy{order:1}.room-gallery,.rooms-static-visual{position:-webkit-sticky;position:sticky;top:96px;min-height:72vh;margin:0;overflow:hidden;background:#102b34;box-shadow:0 34px 90px rgba(23,40,48,.2)}.room-gallery{display:grid;grid-template-rows:minmax(0,1fr) auto}.room-gallery-stage{position:relative;min-height:58vh;margin:0;overflow:hidden}.room-gallery-landscape .room-gallery-stage{min-height:50vh}.room-gallery-stage:after,.rooms-static-visual:after{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(180deg,rgba(8,32,42,.02),rgba(8,32,42,.26)),linear-gradient(0deg,rgba(8,32,42,.38),rgba(8,32,42,0) 50%)}.room-gallery-stage img,.rooms-static-visual img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;transform:translate3d(0,var(--scroll-parallax-y,0),0) scale(1.04);transition:transform .22s linear;will-change:transform}.room-gallery-stage figcaption,.rooms-static-visual figcaption{position:absolute;z-index:2;left:18px;right:18px;bottom:18px;color:#fff;font-size:.94rem;line-height:1.55}.room-gallery-nav{position:absolute;z-index:3;top:18px;right:18px;display:flex;gap:8px}.room-gallery-nav button{width:42px;height:42px;border:1px solid rgba(255,255,255,.42);border-radius:999px;color:#fff;background:rgba(8,32,42,.38);font:inherit;font-weight:900;cursor:pointer}.room-gallery-thumbs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(92px,1fr);grid-gap:8px;gap:8px;padding:10px;overflow-x:auto;background:rgba(8,32,42,.96);scroll-snap-type:x mandatory}.room-gallery-thumbs button{position:relative;aspect-ratio:1.16;border:1px solid rgba(255,255,255,.16);padding:0;overflow:hidden;background:transparent;cursor:pointer;opacity:.62;scroll-snap-align:start}.room-gallery-thumbs button.is-active{border-color:var(--sea-soft);opacity:1}.room-gallery-thumbs img{width:100%;object-fit:cover}.room-gallery-thumbs img,.rooms-static-visual picture{height:100%;display:block}.rooms-copy{position:relative;z-index:2}.rooms-editorial-sea .rooms-copy,.rooms-editorial-sea .rooms-copy .eyebrow{color:#fff}.rooms-copy h2{margin:0 0 22px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.7rem,6vw,5.8rem);font-weight:600;line-height:.92;letter-spacing:0}.rooms-copy>p:not(.eyebrow){margin:0 0 18px;color:#314750;font-size:clamp(1rem,1.28vw,1.18rem);line-height:1.78}.rooms-editorial-sea .rooms-copy>p:not(.eyebrow){color:rgba(255,255,255,.82)}.rooms-points{display:grid;grid-gap:1px;gap:1px;margin-top:30px;background:rgba(7,93,120,.18);border:1px solid rgba(7,93,120,.18)}.rooms-points article{padding:20px;background:rgba(255,250,242,.92)}.rooms-editorial-sea .rooms-points{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.18)}.rooms-editorial-sea .rooms-points article{background:rgba(255,255,255,.08)}.rooms-points strong{display:block;margin-bottom:8px;color:var(--sea);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}.rooms-editorial-sea .rooms-points strong{color:var(--sea-soft)}.rooms-points span{display:block;color:#314750;font-size:.96rem;line-height:1.58}.rooms-editorial-sea .rooms-points span{color:rgba(255,255,255,.78)}.house-rules-card{margin-top:28px;padding:24px;background:#fffaf2;border:1px solid rgba(7,93,120,.16)}.house-rules-card h3{margin:0 0 14px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.7rem,3vw,2.7rem);font-weight:600;line-height:1}.house-rules-card ul{margin:0;padding-left:20px;color:#314750;line-height:1.7}.privacy-page{min-height:100svh;padding:clamp(118px,14vw,168px) 0 clamp(72px,10vw,130px);background:linear-gradient(135deg,rgba(255,250,242,.98),rgba(247,239,228,.94)),var(--paper)}.privacy-shell{width:min(calc(100% - 36px),920px);margin:0 auto}.privacy-shell h1{max-width:760px;margin:0 0 22px;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.2rem,8vw,6.8rem);font-weight:600;line-height:.92}.privacy-intro{max-width:720px;margin:0;color:#314750;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.75}.privacy-sections{display:grid;grid-gap:1px;gap:1px;margin-top:clamp(34px,5vw,58px);border:1px solid rgba(7,93,120,.16);background:rgba(7,93,120,.16)}.privacy-sections article{padding:clamp(22px,4vw,34px);background:rgba(255,250,242,.9)}.privacy-sections h2{margin:0 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.7rem,3vw,2.5rem);font-weight:600;line-height:1}.privacy-sections p,.privacy-updated{margin:0;color:#314750;line-height:1.75}.privacy-updated{margin-top:24px;color:var(--muted);font-size:.92rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}.reveal-copy>*,.reveal-image{opacity:1;filter:none;-webkit-clip-path:none;clip-path:none;transform:none}}@media (max-width:1080px){.booking-page .booking-layout{grid-template-columns:1fr}.booking-page .booking-hero-grid{grid-template-columns:minmax(280px,.78fr) minmax(360px,1fr);gap:28px}.booking-page .booking-hero .section-title{font-size:clamp(2.9rem,6.6vw,4.8rem)}.booking-page .booking-hero{padding:110px 0 34px}.booking-page .booking-form-panel,.booking-page .booking-hero-visual{position:relative;top:auto}.booking-page .booking-hero-visual{min-height:320px}.booking-page .booking-policy-strip{grid-template-columns:1fr}}@media (max-width:760px){html{scroll-behavior:smooth;scroll-snap-type:none;scroll-padding-top:78px}.site-header{z-index:1200;min-height:78px;padding:14px 18px;background:linear-gradient(180deg,rgba(9,36,44,.78),rgba(9,36,44,.12))}.site-header.is-compact:not(.menu-open){background:rgba(16,43,52,.78);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.site-header.is-home-header,.site-header.is-home-header.is-hidden{transform:translateZ(0)}.site-header.is-hidden{transform:translate3d(0,-112%,0)}.site-header.menu-open.is-hidden{transform:translateZ(0)}.brand img,.site-header.is-compact .brand img{width:54px;height:54px}.nav-toggle{display:inline-flex;flex:0 0 64px;position:relative;z-index:1002;margin-left:auto}.site-header.menu-open{color:var(--ink);background:rgba(255,250,242,.98)}.site-nav{position:fixed;top:0;right:0;bottom:auto;left:auto;z-index:1001;display:none;width:min(92vw,390px);height:100dvh;flex-direction:column;align-items:stretch;gap:0;padding:96px 22px 28px;overflow-y:auto;color:var(--ink);background:linear-gradient(180deg,rgba(255,250,242,.98),rgba(247,239,228,.98)),var(--cream);box-shadow:-24px 0 60px rgba(54,33,14,.18)}.site-header.menu-open .site-nav{display:flex}.site-nav a,.site-nav a:not(.language-link){display:flex;align-items:center;min-height:58px;padding:16px 0;color:var(--ink);border-bottom:1px solid rgba(31,42,50,.1);font-size:1.02rem}.site-nav .language-link{width:-moz-fit-content;width:fit-content;min-height:auto;margin-top:18px;padding:10px 13px;color:var(--sea);border-color:rgba(7,93,120,.28)}.home-page .hero-home{min-height:152dvh;overflow:visible;background:#102b34}.home-page .hero-home+.editorial-section{z-index:2;margin-top:-52dvh;box-shadow:0 -28px 70px rgba(5,22,28,.18)}.home-hero-stage{position:-webkit-sticky;position:sticky;top:0;min-height:100dvh;align-items:end;padding:118px 22px 46px}.home-hero-media img{object-position:56% 50%;transform:translate3d(0,var(--hero-parallax-y,0),0) scale(1.035);transition:transform .26s linear}.home-hero-overlay{background:linear-gradient(180deg,rgba(4,22,28,.08),rgba(4,22,28,.78)),linear-gradient(90deg,rgba(4,22,28,.54),rgba(4,22,28,.16))}.home-page .hero-home .hero-copy{max-width:100%;position:relative;z-index:2}.home-page .hero-home .hero-copy>p{font-size:.78rem}.home-page .hero-home .hero-copy>span{max-width:34rem;font-size:1rem;line-height:1.65}.home-intro-grid{grid-template-columns:1fr;align-items:start}.home-intro-grid .button-secondary{justify-self:start;align-self:start;margin-top:4px}.hero h1{font-size:clamp(3.1rem,16vw,5rem);line-height:.96}.hero-home .quick-booking{display:none}.intro-section,.nearby-coast-heading,.nearby-heading,.nearby-list{grid-template-columns:1fr}.booking-page .booking-hero,.booking-page .booking-shell,.contact-editorial,.editorial-section,.google-reviews-section,.home-intro-strip,.nearby-section,.rooms-editorial,.rooms-intro{scroll-snap-align:none}.editorial-grid,.editorial-grid.editorial-reverse{grid-template-columns:1fr;gap:26px}.home-page .home-premium-section.scroll-scene{min-height:auto;display:block;padding-block:82px 72px;overflow:visible}.home-page .home-premium-section.scroll-scene .editorial-grid{min-height:auto;display:flex;flex-direction:column;gap:24px}.home-page .home-premium-section .editorial-copy{order:1;width:min(calc(100% - 36px),var(--max-width));margin:0 auto;translate:0 0!important;opacity:1!important}.home-page .home-premium-section .sticky-visual{order:2;width:min(calc(100% - 36px),var(--max-width));margin:0 auto}.home-page .home-premium-section .editorial-copy h2{font-size:clamp(2.6rem,13vw,4.4rem)}.home-page .home-premium-section .editorial-copy p{color:#314750;font-size:1rem;line-height:1.7}.home-main-sticky-photo,.home-photo-composition,.sticky-visual{position:relative;top:auto;min-height:auto;height:auto;aspect-ratio:4/3;box-shadow:none}.home-page .home-premium-section .home-main-sticky-photo,.home-page .home-premium-section .sticky-visual{translate:0 0!important;scale:1!important}.home-page .home-main-sticky-photo.reveal-image{transform:scale(.985)}.home-page .home-main-sticky-photo.reveal-image.is-visible{transform:scale(1)}.home-page .home-main-sticky-photo img{transform:translateZ(0) scale(1.025)!important;transition-duration:.26s}.home-photo-composition{aspect-ratio:auto;min-height:520px}.home-page .editorial-sea.scroll-scene{padding-bottom:0;overflow:visible}.home-page .editorial-sea.scroll-scene .editorial-grid{width:100%;gap:34px}.home-page .editorial-sea.scroll-scene .editorial-copy{width:min(calc(100% - 36px),var(--max-width));margin:0 auto;translate:0 0!important;opacity:1!important}.home-page .home-photo-stack{display:block;width:100vw;margin-left:calc(50% - 50vw);min-height:auto;aspect-ratio:auto;overflow:visible;padding:0;background:#102b34;translate:0 0!important;scale:1!important}.home-page .home-photo-stack .home-photo-card,.home-page .home-photo-stack .home-photo-card-bathroom,.home-page .home-photo-stack .home-photo-card-bedroom,.home-page .home-photo-stack .home-photo-card-kitchen,.home-page .home-photo-stack .home-photo-card-shower{width:100%;height:100svh;min-height:100svh;aspect-ratio:auto;margin:0;box-shadow:none;translate:0 0!important;scale:1!important}.home-page .home-photo-stack .home-photo-card img{inset:-5% 0 auto;height:110%;transform:translate3d(0,var(--scroll-parallax-y,0),0) scale(1.025);transition-duration:.32s}.coast-gallery{display:block}.home-page .home-fullscreen-gallery{display:block;gap:0}.coast-photo{position:relative;top:auto;height:78svh;min-height:560px;box-shadow:none}.coast-photo picture{overflow:hidden}.coast-photo img{inset:0;height:106%;transform:translate3d(0,var(--parallax-y,0),0) scale(1.025);transition:transform .32s linear}.coast-photo-dino img{inset:0;height:104%;transform:translate3d(0,var(--parallax-y,0),0) scale(1.018)}.home-page .home-fullscreen-photo{position:-webkit-sticky;position:sticky;top:0;height:100svh;min-height:100svh;margin:0;overflow:hidden;box-shadow:none}.home-page .home-fullscreen-photo-cirella{z-index:1}.home-page .home-fullscreen-photo-dino{z-index:2;background:linear-gradient(180deg,#d5eaf0,#b9d6df 48%,#113642)}.home-page .home-fullscreen-photo-arcomagno{z-index:3}.home-page .home-fullscreen-photo-diamante{z-index:4}.home-page .home-fullscreen-photo>picture{position:absolute;inset:0;z-index:0;display:block;height:100%;overflow:hidden;background:#102b34}.home-page .home-fullscreen-photo>picture img{position:absolute;inset:-6% 0 auto 0;width:100%;height:112%;transform:translate3d(0,var(--parallax-y,0),0) scale(1.035);transition-duration:.36s}.home-page .home-fullscreen-photo-dino>picture img{inset:-4% 0 auto 0;height:108%;object-fit:cover;object-position:center center;transform:translate3d(0,var(--parallax-y,0),0) scale(1.025)}.coast-photo figcaption{left:22px;bottom:28px;max-width:calc(100% - 44px);overflow:visible}.coast-photo figcaption span{font-size:clamp(2.2rem,10.8vw,4.25rem);line-height:.96;overflow-wrap:break-word}.home-page .home-fullscreen-photo figcaption span{text-shadow:none}.coast-contact-cta{right:22px;bottom:32px;gap:18px;max-width:calc(100% - 44px);padding-right:34px;overflow:visible;font-size:.76rem}.home-page .home-fullscreen-photo-diamante figcaption{bottom:156px;max-width:calc(100% - 44px)}.home-page .home-fullscreen-photo-diamante .coast-contact-cta{right:auto;left:22px;bottom:70px;width:min(318px,calc(100% - 44px));justify-content:flex-start}.coast-contact-cta:before{right:auto;width:clamp(64px,24vw,92px)}.coast-contact-arrow{width:calc(46px + var(--arrow-extra))}.coast-contact-cta:hover .coast-contact-arrow{width:calc(64px + var(--arrow-extra))}.editorial-cta{max-width:100%;gap:22px;padding-right:34px;overflow:visible}.editorial-cta:before{right:auto;width:clamp(104px,36vw,142px)}.editorial-cta-arrow{width:calc(54px + var(--arrow-extra))}.editorial-cta.is-arrow-active .editorial-cta-arrow{width:calc(78px + var(--arrow-extra))}.coast-contact-cta.is-arrow-active .coast-contact-arrow{width:min(92px,calc(64px + var(--arrow-extra)))}.coast-photo-dino figcaption span{font-size:clamp(2.35rem,11vw,4rem)}.google-reviews-layout{grid-template-columns:1fr}.google-reviews-panel{min-height:62svh;padding:28px 22px}.google-review-footer,.google-review-top{align-items:flex-start;flex-direction:column}.google-review-score{justify-items:start;text-align:left}.site-footer{padding:42px 0 28px}.site-footer-inner{grid-template-columns:1fr;gap:28px}.footer-brand-mark{width:96px;height:96px}.footer-legal{padding-top:22px}.floating-contact{display:none}.contact-page{overflow-x:clip}.contact-editorial{padding:0 0 34px;overflow:visible}.contact-editorial-warm{padding-top:0}.contact-editorial-grid,.contact-editorial-grid.is-reverse{width:100%;display:flex;flex-direction:column;gap:0;align-items:stretch}.contact-editorial-grid.is-reverse .contact-copy,.contact-editorial-grid.is-reverse .contact-sticky-image{order:0}.contact-sticky-image{position:relative;top:auto;z-index:1;width:100vw;height:72svh;min-height:72svh;margin-left:calc(50% - 50vw);box-shadow:none}.contact-sticky-image-landscape,.contact-sticky-image-panorama{height:70svh;min-height:70svh}.contact-sticky-image img{object-fit:cover;object-position:center}.contact-copy{z-index:3;width:min(calc(100vw - 28px),var(--max-width));margin:0 auto;padding:28px 22px;background:linear-gradient(145deg,rgba(255,251,243,.96),rgba(247,240,228,.88)),rgba(255,255,255,.9);box-shadow:none}.contact-editorial-sea .contact-copy,.contact-editorial-sea .contact-copy .eyebrow{color:var(--ink)}.contact-copy h1,.contact-copy h2{font-size:clamp(2.35rem,12vw,4.5rem)}.contact-copy p:not(.eyebrow),.contact-editorial-sea .contact-copy p:not(.eyebrow){color:#314750}.contact-details-grid{grid-template-columns:1fr}.booking-page .booking-hero{min-height:auto;padding:96px 0 34px}.booking-page .booking-hero-grid,.booking-page .booking-layout,.booking-page .booking-policy-strip,.booking-page .calendar-month-grid,.booking-page .field-grid,.booking-page .field-grid-triple{grid-template-columns:1fr}.booking-page .booking-hero-visual{position:relative;top:auto;min-height:320px}.admin-booking-card{grid-template-columns:1fr}.booking-page .booking-shell{padding:34px 0 78px}.booking-page .booking-form-panel{position:relative;top:auto}.booking-page .day{min-height:54px;font-size:.78rem}.booking-page .day-price{font-size:.62rem}.admin-booking-actions{justify-content:flex-start}.admin-booking-actions span{text-align:left}.reference-list p{grid-template-columns:1fr;gap:6px}.contact-map{min-height:360px}.contact-map-copy{max-width:none;margin:14px;padding:20px}.rooms-intro{min-height:auto;grid-template-columns:1fr;width:100%;gap:0;padding:92px 0 0}.rooms-intro-copy{width:min(calc(100% - 36px),var(--max-width));margin:0 auto;padding:28px 0 34px}.rooms-intro h1{font-size:clamp(2.25rem,12vw,4.4rem)}.rooms-intro-visual{width:100vw;min-height:54svh;margin-left:calc(50% - 50vw);box-shadow:none}.contact-form-card,.contact-reference-card{padding:24px 20px}.rooms-intro{min-height:70svh;padding:116px 0 42px}.rooms-intro h1{font-size:clamp(2.45rem,12vw,4.7rem)}.rooms-editorial{padding:0 0 34px;overflow:visible}.rooms-editorial-grid,.rooms-editorial-grid.is-reverse{width:100%;display:flex;flex-direction:column;gap:0;align-items:stretch}.rooms-editorial-grid.is-reverse .room-gallery,.rooms-editorial-grid.is-reverse .rooms-copy,.rooms-editorial-grid.is-reverse .rooms-static-visual{order:0}.room-gallery,.rooms-static-visual{position:-webkit-sticky;position:sticky;top:0;z-index:1;width:100vw;height:72svh;min-height:72svh;margin-left:calc(50% - 50vw);box-shadow:none}.room-gallery-landscape .room-gallery-stage,.room-gallery-stage{min-height:calc(72svh - 82px)}.room-gallery-thumbs{grid-auto-columns:84px;padding:8px}.room-gallery-nav{top:14px;right:14px}.rooms-copy{z-index:3;width:min(calc(100vw - 28px),var(--max-width));margin:0 auto;padding:28px 22px;background:linear-gradient(145deg,rgba(255,251,243,.96),rgba(247,240,228,.88)),rgba(255,255,255,.9);box-shadow:0 24px 70px rgba(23,40,48,.18)}.rooms-editorial-sea .rooms-copy,.rooms-editorial-sea .rooms-copy .eyebrow{color:var(--ink)}.rooms-copy h2{font-size:clamp(2.2rem,11vw,4.3rem)}.rooms-copy>p:not(.eyebrow),.rooms-editorial-sea .rooms-copy>p:not(.eyebrow){color:#314750}.rooms-editorial-sea .rooms-points{background:rgba(7,93,120,.18);border-color:rgba(7,93,120,.18)}.rooms-editorial-sea .rooms-points article{background:rgba(255,250,242,.92)}.rooms-editorial-sea .rooms-points strong{color:var(--sea)}.rooms-editorial-sea .rooms-points span{color:#314750}}.booking-page{--booking-card:rgba(255,250,242,0.96);--booking-card-soft:rgba(247,239,228,0.72);--booking-line:rgba(23,40,48,0.14);--booking-line-strong:rgba(7,93,120,0.38)}.booking-page .calendar-card,.booking-page .form-card{border:1px solid var(--booking-line);border-radius:0;background:linear-gradient(180deg,rgba(255,250,242,.98),rgba(247,239,228,.94)),var(--cream);box-shadow:0 24px 70px rgba(23,40,48,.1)}.booking-page .calendar-head{align-items:flex-end;padding-bottom:18px;border-bottom:1px solid rgba(23,40,48,.1)}.booking-page .calendar-controls{gap:0;border:1px solid var(--booking-line);background:rgba(255,255,255,.62)}.booking-page .calendar-control{position:relative;width:54px;height:46px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:0;background:transparent;color:var(--ink);box-shadow:none}.booking-page .calendar-control+.calendar-control{border-left:1px solid var(--booking-line)}.booking-page .calendar-control:before{position:absolute;inset:50% auto auto 50%;width:12px;height:12px;content:"";border-top:2px solid;border-left:2px solid;transform:translate(-36%,-50%) rotate(-45deg)}.booking-page .calendar-control+.calendar-control:before{content:"";transform:translate(-64%,-50%) rotate(135deg)}.booking-page .calendar-control:focus-visible,.booking-page .calendar-control:hover:not(:disabled){background:var(--sea);color:#fff;outline:0;transform:none}.booking-page .calendar-control:disabled{color:rgba(23,40,48,.28);background:rgba(23,40,48,.04);opacity:1}.booking-page .month-card{border:1px solid var(--booking-line);border-radius:0;padding:clamp(14px,2.2vw,20px);background:linear-gradient(180deg,rgba(255,255,255,.56),rgba(255,250,242,.82)),var(--booking-card);box-shadow:none}.booking-page .month-title h4{margin-bottom:14px;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:.92rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.booking-page .month-grid,.booking-page .week-row{gap:5px}.booking-page .weekday{padding:0 0 8px;color:rgba(23,40,48,.52);font-size:.72rem;font-weight:900;letter-spacing:.08em}.booking-page .day{position:relative;min-height:66px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:0;color:var(--ink);background:rgba(255,255,255,.62);box-shadow:inset 0 0 0 1px rgba(23,40,48,.1);transition:background .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}.booking-page .day.empty{background:transparent;box-shadow:inset 0 0 0 1px rgba(23,40,48,.035)}.booking-page .day.selectable:hover{border-color:transparent;background:#fff;box-shadow:inset 0 0 0 1px var(--booking-line-strong),0 10px 28px rgba(7,93,120,.12);transform:translateY(-1px)}.booking-page .day:focus-visible{outline:2px solid var(--sea);outline-offset:2px}.booking-page .day.in-range{background:rgba(216,243,246,.58);box-shadow:inset 0 0 0 1px rgba(7,93,120,.18)}.booking-page .day.selected{color:#fff;background:var(--sea);box-shadow:inset 0 0 0 1px rgba(255,255,255,.42),0 12px 30px rgba(7,93,120,.2)}.booking-page .day.booked{color:rgba(255,255,255,.84);background:#27353b;box-shadow:inset 0 0 0 1px rgba(39,53,59,.9)}.booking-page .day.outside-window,.booking-page .day.past{color:rgba(23,40,48,.32);background:rgba(236,227,215,.56);box-shadow:inset 0 0 0 1px rgba(23,40,48,.055)}.booking-page .day-number{font-size:.95rem;font-weight:900}.booking-page .day-price{color:var(--sea);font-size:.68rem;font-weight:900;letter-spacing:.02em}.booking-page .legend-dot{border:0;box-shadow:inset 0 0 0 1px rgba(23,40,48,.1)}.booking-page .legend-dot.available{background:rgba(255,255,255,.62)}.booking-page .legend-dot.booked{background:#27353b;box-shadow:inset 0 0 0 1px rgba(39,53,59,.9)}.booking-page .legend-dot.past{background:rgba(236,227,215,.56);box-shadow:inset 0 0 0 1px rgba(23,40,48,.055)}.booking-page .legend-dot.selected{background:var(--sea);box-shadow:inset 0 0 0 1px rgba(255,255,255,.42)}.booking-page .legend-dot.range{background:rgba(216,243,246,.58);box-shadow:inset 0 0 0 1px rgba(7,93,120,.18)}.booking-page .booking-choice-card,.booking-page .booking-rules-card,.booking-page .booking-selection-summary,.booking-page .booking-waiting{border-radius:0;border:1px solid var(--booking-line);background:rgba(255,250,242,.74);box-shadow:none}.booking-page .booking-policy-strip span,.booking-page .button,.booking-page .consent-option,.booking-page .field input,.booking-page .field select,.booking-page .field textarea{border-radius:0}@media (max-width:760px){.booking-page .booking-hero{padding:104px 0 22px}.booking-page .section-inner{width:min(calc(100% - 28px),var(--max-width))}.booking-page .booking-hero .section-title{max-width:9.5ch;font-size:clamp(2.75rem,14vw,4.5rem)}.booking-page .booking-hero-visual{min-height:260px;aspect-ratio:1/.82;border-radius:0}.booking-page .booking-hero-copy.reveal-copy>*,.booking-page .booking-hero-visual.reveal-image{opacity:1;filter:none;-webkit-clip-path:none;clip-path:none;transform:none}.booking-page .booking-shell{padding:30px 0 64px}.booking-page .calendar-card,.booking-page .form-card{padding:18px 12px 16px;box-shadow:0 16px 48px rgba(23,40,48,.08)}.booking-page .calendar-head{align-items:center;gap:12px;margin-bottom:14px;padding-bottom:14px}.booking-page .booking-form-panel h3,.booking-page .calendar-card h3{font-size:clamp(1.65rem,8vw,2.2rem);line-height:1}.booking-page .calendar-control{width:48px;height:42px}.booking-page .calendar-month-grid{grid-template-columns:1fr;gap:14px}.booking-page .month-card{padding:12px 8px 10px}.booking-page .month-title h4{margin-bottom:12px;font-size:.78rem}.booking-page .month-grid,.booking-page .week-row{gap:3px}.booking-page .weekday{padding-bottom:6px;font-size:.65rem}.booking-page .day{min-height:48px;padding:5px 2px}.booking-page .day.selectable:hover{transform:none}.booking-page .day-number{font-size:.84rem}.booking-page .day-price{font-size:.54rem;letter-spacing:0}.booking-page .booking-choice-card,.booking-page .booking-rules-card,.booking-page .booking-selection-summary,.booking-page .booking-waiting{padding:14px}.booking-page .calendar-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;font-size:.78rem}}@media (max-width:420px){.booking-page .section-inner{width:min(calc(100% - 20px),var(--max-width))}.booking-page .calendar-card,.booking-page .form-card{padding:16px 8px 14px}.booking-page .calendar-head{align-items:flex-start}.booking-page .calendar-controls{transform:scale(.92);transform-origin:top right}.booking-page .day{min-height:44px}.booking-page .day-price{display:none}}.admin-page{--admin-line:rgba(23,40,48,0.13);--admin-line-strong:rgba(7,93,120,0.34);--admin-panel:rgba(255,250,242,0.96);--admin-panel-soft:rgba(247,239,228,0.78);--admin-booked:#14343f;--admin-pending:#c98f5d;--admin-rejected:#8c6d63}.admin-page .admin-calendar-overview{background:linear-gradient(180deg,rgba(255,250,242,.98),rgba(247,239,228,.94)),var(--cream)}.admin-page .calendar-head{align-items:flex-end;padding-bottom:16px;border-bottom:1px solid var(--admin-line)}.admin-page .calendar-controls{display:inline-flex;gap:0;flex:0 0 auto;border:1px solid var(--admin-line);background:rgba(255,255,255,.64)}.admin-page .calendar-control{position:relative;width:54px;height:46px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:0;background:transparent;color:var(--ink);box-shadow:none;transition:background .18s ease,color .18s ease}.admin-page .calendar-control+.calendar-control{border-left:1px solid var(--admin-line)}.admin-page .calendar-control span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.admin-page .calendar-control:before{position:absolute;inset:50% auto auto 50%;width:12px;height:12px;content:"";border-top:2px solid;border-left:2px solid;transform:translate(-36%,-50%) rotate(-45deg)}.admin-page .calendar-control+.calendar-control:before{transform:translate(-64%,-50%) rotate(135deg)}.admin-page .calendar-control:focus-visible,.admin-page .calendar-control:hover:not(:disabled){color:#fff;background:var(--sea);outline:0}.admin-page .calendar-control:disabled{color:rgba(23,40,48,.28);background:rgba(23,40,48,.04);cursor:default;opacity:1}.admin-page .admin-calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));grid-gap:clamp(12px,1.8vw,18px);gap:clamp(12px,1.8vw,18px);margin-top:18px}.admin-page .month-card{min-width:0;padding:clamp(14px,1.7vw,18px);border:1px solid var(--admin-line);border-radius:0;background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,250,242,.88)),var(--admin-panel);box-shadow:none}.admin-page .month-title h4{margin:0 0 14px;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:.82rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.admin-page .month-grid,.admin-page .week-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px}.admin-page .weekday{padding-bottom:7px;color:rgba(23,40,48,.52);font-size:.68rem;font-weight:900;letter-spacing:.08em;text-align:center}.admin-page .day{position:relative;min-width:0;min-height:64px;display:grid;align-content:center;justify-items:center;grid-gap:2px;gap:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:0;padding:6px 2px;color:var(--ink);background:rgba(255,255,255,.62);box-shadow:inset 0 0 0 1px rgba(23,40,48,.1);line-height:1.08;text-align:center}.admin-page button.day{cursor:pointer}.admin-page button.day:disabled{cursor:default;opacity:1}.admin-page .day.empty{background:transparent;box-shadow:inset 0 0 0 1px rgba(23,40,48,.035)}.admin-page button.day:not(.booked):not(.pending):not(.rejected):not(.past):disabled{color:var(--ink);background:rgba(255,255,255,.62)}.admin-page .day.has-tooltip:focus-visible,.admin-page .day.has-tooltip:hover{outline:0;box-shadow:inset 0 0 0 1px var(--admin-line-strong),0 12px 28px rgba(7,93,120,.14);transform:translateY(-1px)}.admin-page .day-number{font-size:.88rem;font-weight:900}.admin-page .day-price{color:var(--sea);font-size:.58rem;font-weight:900;letter-spacing:.02em}.admin-page .day-state{max-width:100%;overflow:hidden;color:inherit;font-size:.52rem;font-weight:900;letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.admin-page .day.booked{color:#fff;background:var(--admin-booked);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.admin-page .day.pending{color:#fff;background:var(--admin-pending);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}.admin-page .day.rejected{color:rgba(255,255,255,.82);background:var(--admin-rejected)}.admin-page .day.past{color:rgba(255,255,255,.48);background:#26333a}.admin-page .day.booked .day-price,.admin-page .day.past .day-price,.admin-page .day.pending .day-price,.admin-page .day.rejected .day-price{color:rgba(255,255,255,.86)}.admin-page .calendar-legend{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:18px;color:var(--muted);font-size:.84rem;font-weight:800}.admin-page .calendar-legend span{display:inline-flex;align-items:center;gap:7px}.admin-page .legend-dot{width:11px;height:11px;display:inline-block;border:1px solid rgba(23,40,48,.14);border-radius:999px;background:rgba(255,255,255,.92)}.admin-page .legend-dot.booked{border-color:var(--admin-booked);background:var(--admin-booked)}.admin-page .legend-dot.pending{border-color:var(--admin-pending);background:var(--admin-pending)}.admin-page .legend-dot.past{border-color:#26333a;background:#26333a}@media (max-width:1180px){.admin-page .admin-calendar-grid{grid-template-columns:repeat(2,minmax(250px,1fr))}}@media (max-width:760px){.admin-page .admin-intro-section{padding:104px 0 24px}.admin-heading-row{align-items:flex-start;flex-direction:column}.admin-title{font-size:clamp(2.35rem,12vw,4.3rem)}.admin-page .section-alt{padding:24px 0 72px}.admin-page .section-inner{width:min(calc(100% - 24px),var(--max-width))}.admin-page .admin-card{padding:18px 10px 14px}.admin-page .accounting-grid,.admin-page .admin-filters,.admin-page .admin-grid,.admin-page .admin-health-grid,.admin-page .field-grid,.admin-page .field-grid-pricing{grid-template-columns:1fr}.admin-page .accounting-grid{gap:10px}.admin-page .accounting-card{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:14px}.admin-page .accounting-card small,.admin-page .accounting-card span{min-width:0;overflow-wrap:anywhere}.admin-page .accounting-card strong{font-size:clamp(1.2rem,7vw,1.62rem);line-height:1;text-align:right;white-space:nowrap}.admin-page .accounting-card small{grid-column:1/-1}.admin-page .revenue-chart{padding:14px 10px;overflow:hidden}.admin-page .revenue-chart-head,.admin-page .revenue-row{grid-template-columns:64px minmax(0,1fr) auto;gap:8px;font-size:.74rem}.admin-page .revenue-chart-head{grid-template-columns:1fr}.admin-page .revenue-row strong{font-size:.74rem;white-space:nowrap}.admin-page .admin-health-grid{gap:12px;margin-bottom:18px}.admin-page .admin-health-card{padding:16px}.admin-page .admin-table-wrap,.admin-page .price-rules-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-page .booking-table,.admin-page .price-rules-table{min-width:640px}.admin-page .admin-pagination{align-items:flex-start;flex-direction:column}.admin-page .calendar-head{align-items:center;gap:12px}.admin-page .admin-card h3{font-size:clamp(1.5rem,7.4vw,2.15rem)}.admin-page .calendar-control{width:48px;height:42px}.admin-page .admin-calendar-grid{grid-template-columns:1fr;gap:14px}.admin-page .month-card{padding:12px 8px 10px}.admin-page .month-title h4{font-size:.76rem}.admin-page .month-grid,.admin-page .week-row{gap:3px}.admin-page .weekday{font-size:.62rem}.admin-page .day{min-height:48px;padding:5px 2px}.admin-page .day.has-tooltip:focus-visible,.admin-page .day.has-tooltip:hover{transform:none}.admin-page .day-number{font-size:.82rem}.admin-page .day-price{font-size:.52rem}.admin-page .day-state{display:none}.admin-page .calendar-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;font-size:.76rem}.admin-page .booking-detail-panel{width:min(100%,calc(100vw - 24px));padding:18px 12px}.admin-page .booking-detail-header{align-items:center}.admin-page .booking-detail-grid{grid-template-columns:1fr}.admin-page .booking-detail-actions{justify-content:stretch}.admin-page .booking-detail-actions>*{flex:1 1 auto}}@media (max-width:420px){.admin-page .section-inner{width:min(calc(100% - 18px),var(--max-width))}.admin-page .admin-card{padding:16px 8px 14px}.admin-page .calendar-head{align-items:flex-start}.admin-page .calendar-controls{transform:scale(.92);transform-origin:top right}.admin-page .day{min-height:44px}.admin-page .day-price{display:none}}body{letter-spacing:.04em}.editorial-copy h2,.footer-brand-copy strong,.google-reviews-panel h2,.hero h1,.home-page .home-fullscreen-photo figcaption span,.nearby-coast-heading h2,.section-title,h1,h2,h3,h4{letter-spacing:.024em}.button-secondary,.button-small,.coast-contact-cta,.editorial-cta,.eyebrow,.footer-nav-list,.primary-button,.quick-booking button,.secondary-button{letter-spacing:.14em}.site-header .site-nav,.site-header .site-nav a{letter-spacing:.16em}@media (max-width:760px){.site-header .site-nav,.site-header .site-nav a{letter-spacing:.145em}}