:root{--color-page: #f7fbfa;--color-surface: #ffffff;--color-soft: #eef6f3;--color-warm: #fff8ee;--color-ink: #18201f;--color-muted: #60706c;--color-line: #d9e5e1;--color-sea: #126b61;--color-sea-dark: #0a403c;--color-sun: #c58b2d;--color-coral: #c9633c;--shadow-soft: 0 24px 70px rgba(14, 39, 36, .14);--shadow-card: 0 14px 34px rgba(14, 39, 36, .08);--radius: 8px;color:var(--color-ink);background:var(--color-page);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:104px}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;background:linear-gradient(180deg,#f7fbfaf5,#eef6f3b8 48%,#fff8ee80),var(--color-page)}body.menu-open,body.lightbox-open{overflow:hidden}img,picture{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}:focus-visible{outline:3px solid rgba(198,99,60,.55);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-loader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:var(--color-page);pointer-events:none;animation:loader-auto-out .28s ease 1.12s forwards}.loader-done .page-loader{opacity:0;visibility:hidden}.loader-mark{display:grid;justify-items:center;gap:10px;color:var(--color-ink)}.loader-mark svg{width:clamp(170px,44vw,260px);height:auto}.loader-mark img{width:clamp(140px,38vw,240px);height:auto;margin-top:-42px;opacity:0;transform:translateY(8px);animation:loader-logo .34s ease .72s forwards}.loader-mark strong{color:var(--color-ink);font-size:1.02rem;letter-spacing:.08em;opacity:0;transform:translateY(8px);animation:loader-logo .34s ease .82s forwards}.loader-arc{fill:none;stroke:var(--color-sun);stroke-width:3;stroke-linecap:round;stroke-dasharray:280;stroke-dashoffset:280;animation:draw-arc .62s ease forwards}.loader-sun{fill:var(--color-sun);opacity:0;transform:translateY(10px);transform-origin:center;animation:loader-rise .38s ease .32s forwards}.loader-wave{fill:none;stroke-width:4;stroke-linecap:round;opacity:0;transform:translate(-16px);animation:loader-wave .42s ease .5s forwards}.loader-wave-gold{stroke:var(--color-sun)}.loader-wave-dark{stroke:var(--color-ink);animation-delay:.56s}.loader-houses{fill:#211f1c;opacity:0;transform:translateY(8px);animation:loader-houses .36s ease .64s forwards}@keyframes draw-arc{to{stroke-dashoffset:0}}@keyframes loader-rise{to{opacity:1;transform:translateY(0)}}@keyframes loader-wave{to{opacity:1;transform:translate(0)}}@keyframes loader-houses{to{opacity:1;transform:translateY(0)}}@keyframes loader-logo{to{opacity:1;transform:translateY(0)}}@keyframes loader-auto-out{to{opacity:0;visibility:hidden}}.site-header{position:sticky;top:0;z-index:80;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;width:min(100% - 24px,1200px);min-height:66px;margin:12px auto 0;padding:6px 8px;border:1px solid rgba(217,229,225,.82);border-radius:var(--radius);background:#ffffffe6;box-shadow:0 16px 42px #0e27241c;backdrop-filter:blur(18px)}.brand{display:inline-flex;align-items:center;gap:8px;min-width:0}.brand img{width:48px;height:48px;border-radius:6px}.brand strong,.footer-brand strong{display:block;color:var(--color-ink);font-size:.98rem;letter-spacing:.08em}.brand small{display:block;margin-top:2px;color:var(--color-muted);font-size:.72rem}.mobile-header-call{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 12px;border:1px solid rgba(10,64,60,.18);border-radius:6px;background:var(--color-sea-dark);color:#fff;font-size:.82rem;font-weight:850;line-height:1;white-space:nowrap;box-shadow:0 10px 18px #0a403c24}.menu-toggle{display:grid;gap:5px;justify-self:end;width:44px;height:44px;place-content:center;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface)}.menu-toggle span{display:block;width:20px;height:2px;border-radius:999px;background:var(--color-ink);transition:transform .2s ease,opacity .2s ease}body.menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}body.menu-open .menu-toggle span:nth-child(2){opacity:0}body.menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.site-nav,.header-actions,.menu-backdrop,.header-whatsapp{display:none}body.menu-open .menu-backdrop{position:fixed;inset:0;z-index:88;display:block;border:0;background:#18201f57}body.menu-open .site-nav{position:fixed;inset:88px 12px auto;z-index:95;display:grid;gap:6px;padding:14px;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-soft)}.site-nav a{min-height:44px;padding:12px 14px;border-radius:6px;color:var(--color-ink);font-weight:750}.site-nav a:hover{background:var(--color-soft);color:var(--color-sea-dark)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border:1px solid transparent;border-radius:var(--radius);font-weight:800;line-height:1.12;text-align:center;overflow-wrap:normal;transform:translateY(0) scale(1);transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s ease,background .18s ease,border-color .18s ease,filter .18s ease}.button:hover{transform:translateY(-3px) scale(1.015);filter:brightness(1.04);box-shadow:0 18px 30px #0e27242e}.button:active{transform:translateY(1px) scale(.97);filter:brightness(.96);box-shadow:0 7px 14px #0e272424}.header-actions .header-whatsapp{display:none}.button-primary{color:#fff;background:var(--color-sea-dark);box-shadow:0 14px 24px #0a403c2e}.button-light{color:var(--color-ink);background:#fffffff0;border-color:#ffffff73}.button-ghost{color:var(--color-sea-dark);border-color:var(--color-line);background:var(--color-surface)}.button-whatsapp{color:#fff;background:#1f8f63;box-shadow:0 14px 24px #1f8f632e}.button-text{color:var(--color-sea-dark);background:transparent}.hero{position:relative;display:grid;min-height:clamp(660px,92vh,820px);margin-top:-90px;overflow:hidden;background:#15211f}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#071816c2,#07181657 54%,#0718166b),linear-gradient(180deg,#0718161f,#0718168a)}.hero-media,.hero-media img{width:100%;height:100%}.hero-media{position:absolute;inset:0}.hero-media img{object-fit:cover;object-position:center}.hero-content{position:relative;z-index:1;align-self:end;width:min(100% - 32px,1120px);margin:0 auto;padding:178px 0 68px;color:#fff}.hero-logo{width:clamp(118px,28vw,172px);height:auto;margin-bottom:18px;filter:drop-shadow(0 16px 28px rgba(0,0,0,.32))}.eyebrow{margin:0 0 12px;color:var(--color-coral);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.hero .eyebrow{color:#ffd28a}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{margin:0;letter-spacing:0;line-height:1.05}h1{max-width:900px;font-size:2.45rem}h2{color:var(--color-ink);font-size:2rem}h3{color:var(--color-ink);font-size:1.08rem}.hero-content p:not(.eyebrow){max-width:640px;margin:18px 0 0;color:#ffffffeb;font-size:1.12rem;line-height:1.68}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.hero-proof-list{display:flex;flex-wrap:wrap;gap:8px;max-width:760px;padding:0;margin:24px 0 0;list-style:none}.hero-proof-list li{min-height:34px;display:inline-flex;align-items:center;padding:7px 10px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:#ffffff1f;color:#fffffff0;font-size:.86rem;font-weight:800}.section{width:min(100% - 32px,1200px);margin:0 auto;padding:84px 0}.section-heading{display:grid;gap:12px;max-width:760px;margin-bottom:30px}.section-heading.compact{max-width:680px}.section-heading p:not(.eyebrow){margin:0;color:var(--color-muted);font-size:1.03rem;line-height:1.75}.split-layout{display:grid;gap:28px;align-items:center;margin-bottom:26px}.section-photo{overflow:hidden;border-radius:var(--radius);background:var(--color-soft);box-shadow:var(--shadow-card)}.section-photo img{width:100%;aspect-ratio:4 / 3;object-fit:cover}.feature-grid,.amenity-grid,.contact-grid,.location-notes{display:grid;gap:14px}.feature-card,.amenity-card,.booking-form,.contact-card,.faq-list details,.location-notes article,.legal-page section{border:1px solid var(--color-line);border-radius:var(--radius);background:#ffffffeb;box-shadow:var(--shadow-card)}.feature-card,.amenity-card{display:grid;gap:14px;min-height:188px;padding:22px}.feature-card p,.amenity-card p,.contact-card p,.location-notes p,.faq-list p{margin:0;color:var(--color-muted);line-height:1.65}.feature-icon{position:relative;display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid rgba(18,107,97,.18);border-radius:50%;background:linear-gradient(135deg,#126b611f,#c6633c14)}.feature-icon:before{content:"";width:18px;height:18px;border:2px solid var(--color-sea);border-radius:5px}.feature-icon-sun:before{border-radius:50%;box-shadow:0 0 0 5px #c58b2d2e}.feature-icon-phone:before{width:14px;height:22px;border-radius:7px}.feature-icon-kitchen:before,.feature-icon-bath:before{border-radius:999px 999px 5px 5px}.feature-icon-bed:before,.feature-icon-sofa:before,.feature-icon-family:before{width:22px;height:13px;border-radius:7px 7px 4px 4px}.feature-icon-terrace:before{width:23px;height:16px;border-radius:2px;border-top-width:5px}.gallery-heading{display:flex;gap:16px;align-items:end;justify-content:space-between;margin-bottom:22px}.gallery-heading .section-heading{margin-bottom:0}.gallery-counter{flex:0 0 auto;min-width:72px;margin:0 0 6px;padding:8px 10px;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);color:var(--color-sea-dark);font-weight:850;text-align:center}.gallery-shell{position:relative}.gallery-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(252px,82vw);gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-padding-inline:4px;scroll-snap-type:inline mandatory;scrollbar-width:thin;padding:4px 2px 16px}.gallery-item{display:block;min-width:0;padding:0;overflow:hidden;border:1px solid rgba(217,229,225,.95);border-radius:var(--radius);background:var(--color-soft);scroll-snap-align:start;box-shadow:var(--shadow-card)}.gallery-item picture,.gallery-item img{width:100%;aspect-ratio:4 / 3}.gallery-item img{object-fit:cover;transition:transform .28s ease}.gallery-item:hover img{transform:scale(1.035)}.gallery-arrow{display:none;position:absolute;top:50%;z-index:2;width:48px;height:48px;border:1px solid rgba(217,229,225,.92);border-radius:999px;background:#fffffff0;color:var(--color-ink);font-size:2rem;line-height:1;box-shadow:var(--shadow-card);transform:translateY(-50%);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.gallery-arrow:hover{background:#fff;box-shadow:0 18px 34px #0e27242b;transform:translateY(-50%) scale(1.08)}.gallery-arrow:active{transform:translateY(-50%) scale(.92)}.gallery-arrow-prev{left:-12px}.gallery-arrow-next{right:-12px}.location-notes{grid-template-columns:1fr}.location-notes article{padding:20px}.info-panel,.location-details{display:grid;gap:18px;margin-top:18px;padding:20px;border:1px solid var(--color-line);border-radius:var(--radius);background:linear-gradient(135deg,#fff8eeeb,#eef6f3e6);box-shadow:var(--shadow-card)}.info-panel p,.location-details p{margin:0;color:var(--color-muted);line-height:1.65}.todo-list{display:grid;gap:10px;padding:0;margin:0;list-style:none}.todo-list li{display:grid;gap:4px;padding:12px;border:1px solid rgba(217,229,225,.72);border-radius:6px;background:#ffffffbd}.todo-list strong{color:var(--color-ink)}.todo-list span{color:var(--color-muted);line-height:1.55}.fees-section{padding-top:24px}.fees-panel{display:grid;gap:26px;padding:clamp(24px,5vw,42px);overflow:hidden;border:1px solid rgba(18,107,97,.18);border-radius:var(--radius);background:radial-gradient(circle at top right,rgba(197,139,45,.24),transparent 36%),linear-gradient(135deg,var(--color-sea-dark),#126b61);color:#fff;box-shadow:var(--shadow-soft)}.fees-heading{display:grid;gap:12px;max-width:680px}.fees-heading h2{color:#fff}.fees-heading p:not(.eyebrow){margin:0;color:#ffffffd1;font-size:1.03rem;line-height:1.65}.fee-list{display:grid;gap:12px;padding:0;margin:0;list-style:none}.fee-list li{display:grid;gap:7px;min-width:0;padding:20px;border:1px solid rgba(255,255,255,.18);border-radius:6px;background:#ffffff1a;backdrop-filter:blur(8px)}.fee-label{color:#ffffffc7;font-size:.82rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.fee-amount{color:#fff;font-size:clamp(1.45rem,4vw,2rem);line-height:1.1;white-space:nowrap}.fee-billing{color:#ffffffd1;line-height:1.4}.map-embed{width:100%;min-height:360px;margin-top:18px;border:0;border-radius:var(--radius);box-shadow:var(--shadow-card)}.booking-layout{display:grid;gap:24px;align-items:start}.quick-contact,.form-actions,.message-channel-choice>div,.cookie-actions,.dialog-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.quick-contact{margin-top:8px}.message-channel-choice{display:grid;gap:10px;padding:16px;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-soft)}.message-channel-choice>div{display:flex}.booking-form{display:grid;gap:16px;padding:18px}.form-grid{display:grid;gap:14px}label{display:grid;gap:7px;color:var(--color-ink);font-weight:750}input,textarea{width:100%;min-height:48px;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);color:var(--color-ink);padding:12px}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-coral);box-shadow:0 0 0 3px #c6633c1f}textarea{resize:vertical}.check-row{display:flex;align-items:flex-start;gap:10px;color:var(--color-muted);font-weight:650;line-height:1.5}.check-row input{flex:0 0 auto;width:20px;min-height:20px;margin-top:2px}.check-row a{color:var(--color-sea-dark);font-weight:850;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.field-error,.field-hint{min-height:19px;font-size:.88rem;line-height:1.35}.field-error{color:var(--color-coral);font-weight:760}.field-hint{color:var(--color-muted)}.form-status{min-height:24px;margin:0;color:var(--color-sea-dark);font-weight:760}.faq-list{display:grid;gap:10px}.faq-list details{padding:17px 18px}.faq-list summary{color:var(--color-ink);cursor:pointer;font-weight:850}.faq-list p{margin-top:12px}.contact-grid{grid-template-columns:1fr}.contact-card{display:grid;gap:10px;min-height:136px;padding:20px}.contact-card span{color:var(--color-coral);font-size:.82rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.contact-card a{color:var(--color-sea-dark);font-weight:850;font-size:1.24rem}.contact-card h3{font-size:1.18rem}.contact-card-muted{background:#fff8eee0}.contact-phone{justify-self:start;color:var(--color-sea-dark);font-size:2rem;font-weight:900;line-height:1}.site-footer{display:grid;gap:24px;width:min(100% - 32px,1200px);margin:0 auto;padding:52px 0 112px;border-top:1px solid var(--color-line)}.footer-brand{display:flex;gap:14px;align-items:center}.footer-brand img{width:70px;height:70px;border-radius:6px}.footer-brand p,.copyright{margin:4px 0 0;color:var(--color-muted)}.site-footer nav,.footer-contact{display:flex;flex-wrap:wrap;gap:12px 18px}.site-footer nav a,.footer-contact a,.footer-cookie-button{display:inline-flex;align-items:center;min-height:32px}.site-footer a,.footer-cookie-button{color:var(--color-ink);font-weight:760}.footer-cookie-button{padding:0;border:0;background:transparent}.legal-page{width:min(100% - 32px,900px);margin:0 auto;padding:92px 0 124px}.legal-page section{display:grid;gap:18px;padding:clamp(22px,5vw,34px)}.legal-page h1{color:var(--color-ink);font-size:2.25rem}.legal-page h2{margin-top:10px;font-size:1.34rem}.legal-page p{margin:0;color:var(--color-muted);line-height:1.75}.legal-page ul{display:grid;gap:10px;padding-left:1.2rem;margin:0;color:var(--color-muted);line-height:1.65}.legal-page a:not(.button){color:var(--color-sea-dark);font-weight:850;text-decoration:underline;text-underline-offset:3px}.legal-back{justify-self:start;margin-top:8px}.cookie-banner{position:fixed;right:12px;bottom:calc(96px + env(safe-area-inset-bottom));left:12px;z-index:120;display:grid;gap:14px;max-height:min(48vh,320px);overflow:auto;padding:16px;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-soft)}.cookie-banner p,.cookie-dialog p{margin:6px 0 0;color:var(--color-muted);line-height:1.55}.cookie-actions .button{flex:1 1 128px;width:auto}.cookie-actions .button-text{flex-basis:100%}.cookie-dialog{width:min(100% - 24px,540px);border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-soft)}.cookie-dialog::backdrop{background:#18201f80}.cookie-dialog-panel{position:relative;display:grid;gap:16px;padding:8px}.cookie-dialog h2{font-size:1.45rem}.dialog-close-x{position:absolute;top:-4px;right:-4px;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--color-line);border-radius:999px;background:var(--color-surface);color:var(--color-ink);font-size:1.45rem;line-height:1}.cookie-required{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:12px;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-soft)}.cookie-required span{font-weight:850}.cookie-required strong{color:var(--color-sea-dark);font-size:.92rem}.cookie-check{padding:12px;border:1px solid var(--color-line);border-radius:var(--radius)}.mobile-contact-bar{position:fixed;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));left:10px;z-index:95;display:flex;padding:8px;border:1px solid rgba(217,229,225,.95);border-radius:var(--radius);background:#fffffff2;box-shadow:var(--shadow-soft);transform:translateY(0);transition:transform .2s ease,opacity .2s ease}.mobile-contact-bar.is-hidden{opacity:0;transform:translateY(110%);pointer-events:none}.mobile-contact-bar a{flex:1 1 auto;min-width:0;min-height:44px;display:grid;place-items:center;border-radius:6px;color:var(--color-ink);font-size:.78rem;font-weight:850;text-align:center;background:var(--color-soft)}.mobile-contact-bar .mobile-contact-primary{color:#fff;background:var(--color-sea-dark)}.lightbox{position:fixed;inset:0;z-index:200;display:none;place-items:center;padding:18px;background:#080e0de6}.lightbox.is-open{display:grid}.lightbox-frame{display:grid;gap:10px;justify-items:center;margin:0}.lightbox img{max-height:82vh;max-width:min(94vw,1120px);width:auto;margin:0 auto;border-radius:var(--radius);box-shadow:0 30px 80px #00000061}.lightbox figcaption{color:#fff;font-weight:850}.lightbox-close,.lightbox-nav{position:fixed;display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius);background:#ffffff1f;color:#fff;font-size:2rem}.lightbox-close{top:16px;right:16px}.lightbox-prev{left:16px}.lightbox-next{right:16px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.page-loader{animation-delay:.2s}}@media(min-width:680px){.site-header{grid-template-columns:auto 1fr auto;gap:14px;min-height:78px;padding:8px 10px}.brand{gap:10px}.brand img{width:58px;height:58px}.brand small{font-size:.78rem}.mobile-header-call,.menu-toggle{display:none}.site-nav,.header-actions{display:flex;align-items:center}.site-nav{justify-content:center;gap:6px}.site-nav a{min-height:40px;padding:10px 9px;font-size:.92rem}.header-actions{justify-content:end;gap:10px}.phone-link{color:var(--color-sea-dark);font-weight:850}.feature-grid,.amenity-grid,.form-grid,.contact-grid,.location-notes,.fee-list{grid-template-columns:repeat(2,minmax(0,1fr))}.fee-list li:first-child{grid-column:1 / -1}.gallery-track{grid-auto-columns:minmax(360px,52vw);gap:16px}.cookie-banner{right:18px;bottom:18px;left:auto;width:min(520px,100% - 36px);max-height:none}.mobile-contact-bar{display:none}.site-footer{padding-bottom:56px}}@media(min-width:920px){.site-header{min-height:84px;margin-top:18px;padding:10px 14px}.brand img{width:64px;height:64px}.hero{margin-top:-104px}.hero-content{padding-bottom:92px}h1{font-size:4.65rem}h2{font-size:3rem}.legal-page h1{font-size:3.25rem}.legal-page h2{font-size:1.78rem}.feature-grid,.fee-list{grid-template-columns:repeat(3,minmax(0,1fr))}.fee-list li:first-child{grid-column:auto}.amenity-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.split-layout,.booking-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.split-layout-reverse{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.gallery-track{grid-auto-columns:minmax(420px,34vw);gap:18px}.gallery-arrow{display:grid;place-items:center}.booking-form{padding:24px}.header-actions .header-whatsapp{display:inline-flex}.info-panel{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}}@media(max-width:679px){body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.mobile-term-flow{display:flex;flex-direction:column}.mobile-term-flow .availability-section{order:1}.mobile-term-flow .form-section{order:2}.mobile-term-flow .area-section{order:3}.brand span{max-width:126px}.brand strong{font-size:.88rem}.menu-toggle{width:42px;height:42px}.hero{min-height:720px}.hero:after{background:linear-gradient(180deg,#07181638,#071816c7),linear-gradient(90deg,#071816b3,#0718165c)}.hero-content{padding-bottom:46px}.section{padding:62px 0}.gallery-heading{align-items:start}.button,.form-actions .button,.message-channel-choice .button,.quick-contact .button{width:100%}.availability-cta{display:none}.lightbox-nav{top:auto;bottom:18px}}.availability-layout,.admin-calendar-layout{display:grid;gap:24px;align-items:start}.availability-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.availability-legend span{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:7px 10px;border:1px solid var(--color-line);border-radius:999px;background:var(--color-surface);color:var(--color-muted);font-size:.86rem;font-weight:800}.legend-dot{width:12px;height:12px;border-radius:999px}.legend-available{background:#2f9e59}.legend-booked{background:#c84b43}.legend-unknown{background:#d8e1dd}.availability-cta{justify-self:start;margin-top:10px}.availability-panel{min-width:0;padding:14px;border:1px solid var(--color-line);border-radius:var(--radius);background:#fffffff0;box-shadow:var(--shadow-card)}.calendar-toolbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:center;margin-bottom:12px}.calendar-toolbar strong{color:var(--color-ink);font-size:1.08rem;text-align:center;text-transform:capitalize}.calendar-nav-button{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);color:var(--color-sea-dark);font-size:1.5rem;font-weight:900;line-height:1;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.calendar-nav-button:hover,.admin-tabs button:hover,.admin-preview-close:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 12px 22px #0e272421}.calendar-nav-button:active,.admin-tabs button:active,.admin-preview-close:active{transform:translateY(1px) scale(.94)}.availability-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.availability-weekday{min-width:0;color:var(--color-muted);font-size:.76rem;font-weight:900;text-align:center;text-transform:uppercase}.availability-day{display:grid;min-width:0;min-height:42px;place-items:center;border:1px solid var(--color-line);border-radius:6px;background:#f3f6f4;color:var(--color-ink);font-size:.92rem;font-weight:850;transform:translateZ(0);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.availability-day[data-status=available]{border-color:#2f9e594d;background:#2f9e5929;color:#185b35}.availability-day[data-status=booked]{border-color:#c84b4352;background:#c84b4324;color:#862d28}.availability-day.is-muted{opacity:.42}.availability-day.is-today{box-shadow:inset 0 0 0 2px #c58b2d8c}.gallery-empty{display:grid;min-height:180px;place-items:center;padding:20px;border:1px dashed var(--color-line);border-radius:var(--radius);background:var(--color-surface);color:var(--color-muted);font-weight:760;text-align:center}.admin-page{min-width:320px;background:linear-gradient(135deg,#eef6f3eb,#fff8eeb3),var(--color-page)}.admin-page h1{color:var(--color-ink);font-size:2.2rem}.admin-page h2{font-size:1.9rem}.admin-shell{width:min(100% - 28px,1180px);min-height:100vh;margin:0 auto;padding:28px 0 56px}.admin-login-view{display:grid;min-height:calc(100vh - 84px);place-items:center;gap:18px}.admin-back-link{justify-self:center;color:var(--color-sea-dark);font-weight:850;text-decoration:underline;text-underline-offset:4px}.admin-login-card,.admin-dashboard,.admin-panel{border:1px solid var(--color-line);border-radius:var(--radius);background:#fffffff2;box-shadow:var(--shadow-card)}.admin-login-card{display:grid;gap:18px;width:min(100%,460px);padding:clamp(22px,5vw,34px)}.admin-dashboard{display:grid;gap:18px;padding:clamp(16px,3vw,26px)}.admin-dashboard-header,.admin-panel-heading{display:flex;gap:14px;align-items:start;justify-content:space-between}.admin-dashboard-header p:not(.eyebrow){margin:8px 0 0;color:var(--color-muted);font-weight:760}.admin-header-actions,.admin-form-actions,.admin-gallery-actions,.admin-action-grid{display:flex;flex-wrap:wrap;gap:10px}.admin-tabs{display:flex;flex-wrap:wrap;gap:8px}.admin-tabs button{min-height:42px;padding:10px 14px;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);color:var(--color-ink);font-weight:850;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.admin-tabs button.is-active{border-color:#126b6147;background:var(--color-sea-dark);color:#fff}.admin-panel{display:none;gap:18px;padding:clamp(16px,3vw,24px)}.admin-panel.is-active{display:grid}.admin-form{display:grid;gap:14px}.admin-message{min-height:24px;margin:0;color:var(--color-sea-dark);font-weight:800}.admin-message[data-type=error],.admin-message-error{color:var(--color-coral)}.admin-gallery-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.admin-gallery-item{display:grid;gap:12px;min-width:0;padding:12px;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface)}.admin-gallery-item img,.admin-gallery-preview-dialog img{width:100%;border-radius:6px;background:var(--color-soft);object-fit:cover}.admin-gallery-item img{aspect-ratio:4 / 3}.admin-gallery-actions .button{min-height:40px;padding:9px 11px}.admin-danger-button{border-color:#c84b4347;background:#fff5f4;color:#862d28}.admin-status-available{border-color:#2f9e594d;background:#2f9e5929;color:#185b35}.admin-status-booked{border-color:#c84b4352;background:#c84b4324;color:#862d28}.admin-action-grid .button,.admin-save-availability,.admin-calendar-day{will-change:transform}.admin-action-grid .button{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.admin-action-grid .button:hover,.admin-save-availability:hover:not(:disabled),.admin-calendar-day:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 12px 22px #0e272424}.admin-action-grid .button:active,.admin-save-availability:active:not(:disabled),.admin-calendar-day:active{transform:translateY(1px) scale(.96)}.admin-action-grid .button.is-selected{border-color:#126b6180;box-shadow:0 0 0 3px #126b6126,0 12px 24px #0e27241f;transform:translateY(-1px)}.admin-save-availability{justify-self:stretch;min-height:48px;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease,filter .18s ease}.admin-save-availability:disabled{cursor:not-allowed;filter:grayscale(.35);opacity:.48}.admin-date-editor{display:grid;gap:14px;padding:18px;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface)}.admin-calendar-day{padding:0}.admin-calendar-day.is-selected{outline:3px solid rgba(18,107,97,.32);outline-offset:2px;animation:calendar-pop .28s ease}.admin-calendar-day.is-in-range{border-color:#126b615c;background:#126b6121;animation:calendar-range-in .28s ease both}.admin-calendar-day.is-range-start,.admin-calendar-day.is-range-end{background:var(--color-sea-dark);color:#fff}@keyframes calendar-pop{0%{transform:scale(.88)}70%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes calendar-range-in{0%{transform:scale(.94)}to{transform:scale(1)}}.admin-date-help,.admin-panel-description{margin:8px 0 0;color:var(--color-muted);line-height:1.55}.admin-date-range-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-empty-state{margin:0;padding:18px;border:1px dashed var(--color-line);border-radius:var(--radius);color:var(--color-muted);text-align:center}.admin-content-form,.admin-content-sections{display:grid;gap:14px}.admin-content-section{border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface)}.admin-content-section summary{display:grid;gap:5px;padding:16px;color:var(--color-ink);cursor:pointer}.admin-content-section summary span{font-weight:900}.admin-content-section summary small{color:var(--color-muted);font-size:.86rem;line-height:1.45}.admin-content-fields{display:grid;gap:14px;padding:0 16px 16px}.admin-content-savebar{position:sticky;bottom:12px;z-index:3;display:flex;justify-content:flex-end;padding:12px;border:1px solid rgba(217,229,225,.9);border-radius:var(--radius);background:#fffffff0;box-shadow:var(--shadow-card);backdrop-filter:blur(12px)}.admin-preview-content-form{gap:18px}.admin-content-toolbar{position:sticky;top:10px;z-index:8;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:12px;border:1px solid rgba(217,229,225,.9);border-radius:var(--radius);background:#fffffff0;box-shadow:var(--shadow-card);backdrop-filter:blur(12px)}.admin-content-toolbar div{display:grid;gap:4px}.admin-content-toolbar strong{color:var(--color-ink);font-size:.98rem}.admin-content-toolbar span{color:var(--color-muted);font-size:.88rem;line-height:1.45}.admin-site-preview{min-width:0;overflow:hidden;border:1px solid rgba(18,107,97,.16);border-radius:var(--radius);background:linear-gradient(180deg,#f7fbfaf5,#eef6f3b8 48%,#fff8ee80),var(--color-page);box-shadow:var(--shadow-card)}.admin-site-preview main{min-width:0}.admin-site-preview .section{width:min(100% - 32px,1040px);padding:58px 0}.admin-seo-preview{width:min(100% - 32px,1040px);margin:18px auto;padding:18px;border:1px dashed rgba(18,107,97,.24);border-radius:var(--radius);background:#ffffffe0}.admin-seo-preview p:not(.eyebrow){margin:8px 0 0;color:var(--color-muted);line-height:1.6}.admin-preview-header{position:relative;top:auto;z-index:2;grid-template-columns:minmax(0,1fr) auto;width:min(100% - 32px,1040px);margin:16px auto 0}.admin-preview-header .site-nav,.admin-preview-nav{position:static;display:flex;flex-wrap:wrap;gap:4px;padding:0;border:0;background:transparent;box-shadow:none}.admin-preview-header .site-nav a{min-height:36px;padding:9px 10px;font-size:.82rem}.admin-preview-hero{min-height:clamp(560px,72vh,720px);margin-top:-82px}.admin-preview-hero .hero-content{width:min(100% - 32px,1040px)}.admin-site-preview .gallery-track{overflow:hidden}.admin-preview-gallery-track .gallery-item{cursor:default}.admin-preview-booking-form input,.admin-preview-booking-form textarea{cursor:not-allowed}.admin-preview-footer{width:min(100% - 32px,1040px);margin:0 auto 18px}.admin-editable-copy{position:relative;display:inline-flex;min-width:0;gap:7px;align-items:flex-start}.admin-editable-copy-block{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.admin-editable-copy>:first-child{min-width:0}.admin-inline-edit-button{flex:0 0 auto;min-height:28px;padding:5px 8px;border:1px solid rgba(18,107,97,.2);border-radius:6px;background:#fffffff5;color:var(--color-sea-dark);font-size:.72rem;font-weight:900;line-height:1;box-shadow:0 8px 16px #0e27241f;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.admin-inline-edit-button:hover{transform:translateY(-2px);background:var(--color-soft);box-shadow:0 12px 22px #0e272426}.admin-inline-edit-button:active{transform:translateY(1px)}.admin-site-preview .hero .admin-inline-edit-button,.admin-site-preview .fees-panel .admin-inline-edit-button{border-color:#ffffff47}.admin-site-preview .button+.admin-inline-edit-button{align-self:center}.admin-site-preview .hero-proof-list .admin-editable-copy,.admin-site-preview .fee-list .admin-editable-copy{align-items:center}.admin-site-preview .faq-list summary .admin-editable-copy{width:100%}.admin-content-edit-dialog{width:min(100% - 28px,620px);padding:0;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-soft)}.admin-content-edit-dialog::backdrop{background:#18201f8a}.admin-content-edit-card{display:grid;gap:16px;padding:clamp(18px,4vw,28px)}.admin-content-edit-card h2{font-size:1.35rem}.admin-content-edit-card label{display:grid;gap:8px;color:var(--color-ink);font-weight:850}.admin-content-edit-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.admin-gallery-preview-dialog{width:min(100% - 28px,1040px);max-height:calc(100vh - 28px);padding:0;overflow:visible;border:0;border-radius:var(--radius);background:transparent}.admin-gallery-preview-dialog::backdrop{background:#080e0dd1}.admin-gallery-preview-shell{position:relative}.admin-gallery-preview-dialog img{max-height:calc(100vh - 44px);object-fit:contain}.admin-preview-close{position:absolute;top:10px;right:10px;z-index:2;display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:#080e0db8;color:#fff;font-size:1.7rem;line-height:1}@media(min-width:680px)and (max-width:919px){.site-nav a{padding:10px 7px;font-size:.84rem}}@media(min-width:920px){.availability-layout,.admin-calendar-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.admin-content-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-content-fields label:has(textarea){grid-column:1 / -1}}@media(max-width:679px){.admin-page{padding-bottom:0}.admin-dashboard-header,.admin-panel-heading{display:grid}.admin-header-actions .button,.admin-form-actions .button,.admin-action-grid .button{width:100%}.admin-date-range-fields{grid-template-columns:1fr}.admin-content-savebar .button{width:100%}.admin-content-toolbar{position:static}.admin-content-toolbar .button{width:100%}.admin-site-preview .section,.admin-seo-preview,.admin-preview-header,.admin-preview-footer{width:min(100% - 20px,1040px)}.admin-preview-header{grid-template-columns:1fr}.admin-preview-header .site-nav{display:none}.admin-preview-hero{min-height:640px;margin-top:-78px}.admin-editable-copy-block{grid-template-columns:1fr}.admin-inline-edit-button{justify-self:start}.admin-content-edit-actions .button{width:100%}.availability-panel{padding:10px}.availability-grid{gap:5px}.availability-day{min-height:38px;font-size:.82rem}}
