:root{--color-primary: #58c8bd;--color-primary-deep: #049c92;--color-bg: #f5f7f4;--color-surface: #eef3ef;--color-surface-strong: #dce5df;--color-text: #211e26;--color-text-soft: #564f62;--color-text-muted: #6e6a74;--color-border: rgba(33, 30, 38, .14);--color-contrast: #10161a;--color-white: #ffffff;--shadow-soft: 0 24px 60px rgba(18, 28, 31, .1);--shadow-strong: 0 24px 90px rgba(9, 17, 20, .28);--radius-sm: .8rem;--radius-md: 1.4rem;--radius-lg: 2.2rem;--space-1: .4rem;--space-2: .75rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2rem;--space-6: 3rem;--space-7: 4.5rem;--space-8: 6rem;--space-9: 8rem;--text-sm: clamp(.95rem, .15vw + .9rem, 1rem);--text-base: clamp(1.05rem, .25vw + 1rem, 1.2rem);--text-lg: clamp(1.3rem, .7vw + 1.1rem, 1.8rem);--text-xl: clamp(2rem, 2vw + 1.3rem, 3.6rem);--text-display: clamp(3rem, 5vw + 1rem, 6.4rem);--site-max: 76rem;--header-height: 5.5rem;--transition: .18s ease;--focus-ring: 0 0 0 4px rgba(88, 200, 189, .28)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;font-family:Average,Georgia,serif;font-size:var(--text-base);line-height:1.65;color:var(--color-text);background:radial-gradient(circle at top right,rgba(88,200,189,.18),transparent 30%),linear-gradient(180deg,#f6f6f2 0%,var(--color-bg) 32%,#eef4ef 100%)}body.scroll-locked{overflow:hidden}img,picture,video{display:block;max-width:100%}a,button,input,select,textarea,summary{font:inherit}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:none;box-shadow:var(--focus-ring)}main{display:block}.shell{width:min(calc(100% - 2rem),var(--site-max));margin:0 auto}.section,.hero,#top,#about,#location,#photos,#book,#faq{scroll-margin-top:calc(var(--header-height) + .75rem)}.section{padding:var(--space-9) 0}.section-soft{background:#ffffff8a}.section-dark{background:linear-gradient(180deg,#10161aeb,#111b1ee6),linear-gradient(120deg,rgba(88,200,189,.18),transparent 40%);color:var(--color-white)}.section-intro{max-width:38rem;margin-bottom:var(--space-7)}.section-intro-light p,.section-intro-light h2{color:var(--color-white)}.section-kicker,.eyebrow{margin:0 0 var(--space-2);font-size:.82rem;letter-spacing:.24em;text-transform:uppercase;color:var(--color-primary-deep)}.section-dark .section-kicker{color:#ffffffb8}h1,h2,h3,.brand span,.footer-title{margin:0;font-family:Prata,Georgia,serif;font-weight:400;line-height:1.08}h1{font-size:var(--text-display)}h2{font-size:var(--text-xl);margin-bottom:var(--space-3)}h3{font-size:var(--text-lg);margin-bottom:var(--space-3)}p{margin:0;color:var(--color-text-soft)}.section-dark p{color:#ffffffc2}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.25rem;padding:.85rem 1.4rem;border-radius:999px;border:1px solid transparent;text-decoration:none;transition:transform var(--transition),background-color var(--transition),color var(--transition),border-color var(--transition),box-shadow var(--transition)}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--color-primary);color:var(--color-text);box-shadow:0 10px 30px #58c8bd3d}.button-primary:hover{background:#6dd7cd}.button-secondary{border-color:#ffffff42;background:#ffffff14;color:inherit}.section:not(.section-dark) .button-secondary{border-color:var(--color-border);background:transparent}.site-header{position:fixed;inset:0 0 auto;z-index:20;background:#f5f7f4b8;backdrop-filter:blur(18px);border-bottom:1px solid rgba(33,30,38,.08)}.nav-shell{display:flex;align-items:center;justify-content:space-between;min-height:var(--header-height);gap:1rem}.brand{display:inline-flex;align-items:center;gap:.85rem;text-decoration:none}.brand img{width:2.2rem;height:auto}.brand span{font-size:clamp(1.1rem,.7vw + 1rem,1.6rem)}.site-nav ul{display:flex;align-items:center;gap:1.2rem;margin:0;padding:0;list-style:none}.site-nav a{position:relative;text-decoration:none;color:var(--color-text-soft);transition:color var(--transition)}.site-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-.45rem;height:2px;background:var(--color-primary-deep);transform:scaleX(0);transform-origin:left;transition:transform var(--transition)}.site-nav a:hover,.site-nav a[aria-current=true]{color:var(--color-text)}.site-nav a:hover:after,.site-nav a[aria-current=true]:after{transform:scaleX(1)}.menu-toggle{display:none;align-items:center;justify-content:center;width:3rem;height:3rem;padding:0;border:1px solid rgba(88,200,189,.18);border-radius:1rem;background:#ffffffb8;box-shadow:0 10px 25px #121c1f14;transition:border-color var(--transition),background-color var(--transition),transform var(--transition)}.menu-toggle:hover{transform:translateY(-1px);border-color:#58c8bd59;background:#ffffffe6}.menu-toggle img{width:1.4rem;height:1.4rem}.hero{position:relative;min-height:100svh;color:var(--color-white)}.hero-media,.hero-media picture,.hero-media img{position:absolute;inset:0;width:100%;height:100%}.hero-media picture img,.hero-video{object-fit:cover}.hero-video{position:absolute;inset:0;width:100%;height:100%;opacity:1}.hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,#0c1116b8,#0c111652 48%,#0c11167a),linear-gradient(180deg,#0000003d,#0006)}.hero-shell{position:relative;min-height:100svh;display:grid;align-items:end;padding:calc(var(--header-height) + 3rem) 0 5rem}.hero-copy{max-width:39rem}.hero-copy h1{text-shadow:5px 5px 5px rgba(0,0,0,.25)}.hero-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:var(--space-5)}.reveal{animation:hero-rise .7s ease-out both}@keyframes hero-rise{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}.editorial-list{display:grid;gap:var(--space-7)}.editorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:clamp(1.5rem,4vw,4rem)}.editorial-reverse .editorial-copy{order:2}.editorial-reverse .editorial-media{order:1}.editorial-copy{max-width:30rem}.editorial-media{margin:0;aspect-ratio:5 / 4;overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.editorial-media img{width:100%;height:100%;object-fit:cover}.location-shell,.booking-shell,.footer-shell{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,4vw,4rem);align-items:start}.travel-notes{display:grid;gap:var(--space-5);margin-top:var(--space-5)}.map-wrap{height:32rem;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-soft)}.map-wrap iframe{width:100%;height:100%;border:0;display:block}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.gallery-card{margin:0;aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--radius-md)}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition),box-shadow var(--transition),opacity var(--transition)}.gallery-card:hover img{transform:translateY(-2px) scale(1.01);opacity:.94}.booking-copy{max-width:26rem}.booking-form{display:grid;gap:1rem;padding:clamp(1.25rem,2vw,2rem);border-radius:var(--radius-lg);background:#fffc;box-shadow:var(--shadow-soft)}.hidden-field{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0,0,0,0)}.booking-form label{display:grid;gap:.45rem;color:var(--color-text)}.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:1px solid rgba(33,30,38,.12);border-radius:1rem;padding:.9rem 1rem;color:var(--color-text);background:#ffffffe0;transition:border-color var(--transition),box-shadow var(--transition),background-color var(--transition)}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--color-primary-deep)}.booking-form [aria-invalid=true]{border-color:#b44646;box-shadow:0 0 0 3px #b4464624}.form-error{min-height:1.2em;font-size:var(--text-sm);color:#9f3131}.message-field textarea{min-height:10rem;resize:vertical}.form-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:var(--space-2)}.faq-list{border-top:1px solid var(--color-border)}.faq-list details{border-bottom:1px solid var(--color-border)}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.35rem 0;cursor:pointer;font-family:Prata,Georgia,serif;font-size:clamp(1.2rem,.65vw + 1rem,1.55rem)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";font-family:Average,Georgia,serif;font-size:1.6rem;color:var(--color-primary-deep)}.faq-list details[open] summary:after{content:"−"}.faq-answer{padding:0 0 1.4rem;max-width:48rem}.faq-answer p+p{margin-top:.85rem}.faq-answer a{color:var(--color-primary-deep)}.site-footer{padding:2rem 0 3rem}.footer-shell{padding-top:1.5rem;border-top:1px solid rgba(33,30,38,.12)}.footer-title,.footer-meta a{margin-bottom:.45rem}.footer-meta{justify-self:end;text-align:right}.footer-meta a{display:inline-block;color:var(--color-primary-deep);text-decoration:none}.thanks-page{min-height:100svh}.thanks-section{display:grid;align-items:center;min-height:100svh;padding-top:calc(var(--header-height) + var(--space-6))}.thanks-shell{display:grid;gap:1rem;max-width:30rem}@media(max-width:1100px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){:root{--header-height: 4.75rem;--space-8: 5rem;--space-9: 6rem}.menu-toggle{display:inline-flex;margin-left:auto;width:2.9rem;height:2.9rem;border-radius:.95rem}.menu-toggle span{display:none}.site-nav ul{position:absolute;top:calc(100% + .75rem);right:1rem;min-width:min(18rem,calc(100vw - 2rem));padding:1rem;border-radius:1.2rem;background:#f5f7f4fa;box-shadow:var(--shadow-soft);flex-direction:column;align-items:flex-start;gap:.9rem;opacity:0;pointer-events:none;transform:translateY(-.35rem);transition:opacity var(--transition),transform var(--transition)}.site-nav ul[data-open]{opacity:1;pointer-events:auto;transform:translateY(0)}.editorial,.location-shell,.booking-shell,.footer-shell{grid-template-columns:1fr}.editorial-reverse .editorial-copy,.editorial-reverse .editorial-media{order:initial}.footer-meta{justify-self:start;text-align:left}.gallery-grid{display:flex;overflow-x:auto;padding-bottom:.5rem;scroll-snap-type:x mandatory;scrollbar-width:none;gap:.85rem}.gallery-grid::-webkit-scrollbar{display:none}.gallery-card{flex:0 0 72vw;scroll-snap-align:start}}@media(max-width:700px){.shell{width:min(calc(100% - 1.25rem),var(--site-max))}.hero-shell{align-items:end;padding-bottom:3.5rem}.hero-video{opacity:1}.form-actions{flex-direction:column}.map-wrap{height:24rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.hero-video{display:none}}
