:root{--olive:#39452b;--ink:#262820;--cream:#f8f4eb;--sand:#e9dfd0;--muted:#68685f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fffdf8;font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}h1,h2,h3,.logo,.hero-sub,.foot-logo{font-family:'Playfair Display',Georgia,serif;font-weight:400}h2{font-size:clamp(2.3rem,4vw,4rem);line-height:1.18;margin:14px 0 24px}h3{font-size:1.5rem}a{color:inherit}button,select,input,textarea{font:inherit}button{cursor:pointer}header{position:absolute;z-index:4;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:24px 4%;color:#fff;gap:24px}header .logo{text-decoration:none;display:flex;align-items:center;gap:12px;line-height:1.1;font-size:1.55rem;letter-spacing:.1em;white-space:nowrap}header .logo small{display:block;font:9px 'DM Sans';letter-spacing:.38em;text-align:center;margin-top:7px}.lotus{font-size:3rem;font-weight:300}nav{display:flex;align-items:center;gap:clamp(12px,2vw,28px)}nav a{text-decoration:none;font-size:14px;white-space:nowrap}nav a:hover{text-decoration:underline}nav select{color:white;border:0;background:transparent;cursor:pointer}nav select option{color:#222}.navbook,.button,.bookingbar button,.contactform button{background:var(--olive);color:white;border:1px solid #fff7;padding:13px 23px;text-decoration:none}.navbook{background:#f7f0df;color:var(--ink);border:0}.menu{display:none}.hero{height:min(810px,90svh);min-height:650px;position:relative;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(12,29,34,.48),rgba(15,22,15,.1) 54%,rgba(14,22,17,.2)),url('assets/hero.webp') center center/cover;color:white;text-align:center}.hero-content{padding:90px 20px 150px;text-shadow:0 2px 15px #17231566}.eyebrow{font-size:12px;letter-spacing:.25em;font-weight:700;color:var(--olive)}.eyebrow.light{color:white}h1{font-size:clamp(3.3rem,7vw,6.6rem);margin:15px 0 0;line-height:1.12}.hero-sub{font-style:italic;font-size:clamp(1.35rem,2.8vw,2.4rem);margin:10px 0 38px}.lightbtn{background:rgba(40,50,35,.75);border:1px solid #fff}.bookingbar{position:absolute;bottom:32px;width:min(1100px,92%);display:grid;grid-template-columns:1fr 1fr .8fr 1.3fr;align-items:center;gap:0;background:#fffaf2;color:var(--ink);padding:15px;box-shadow:0 12px 30px #0002;text-align:left}.bookingbar label{padding:0 20px;border-right:1px solid #ddd;display:flex;flex-direction:column}.bookingbar label span{font-size:12px}.bookingbar input,.bookingbar select{border:0;background:transparent;min-width:0;width:100%;font-size:15px;padding:7px 0;color:var(--ink)}.bookingbar button{height:100%;border:0;min-height:57px}.facts{display:grid;grid-template-columns:repeat(6,1fr);padding:30px 5%;background:var(--cream);gap:0;text-align:center}.facts div{padding:8px 12px;border-right:1px solid #d9d0c2;font-size:23px;color:var(--olive)}.facts div:last-child{border:0}.facts strong{display:block;font-size:13px;color:var(--ink);font-weight:500}.section{padding:95px max(5%,calc((100vw - 1280px)/2))}.intro,.split,.contact-section{display:grid;grid-template-columns:1fr 1.12fr;gap:7%;align-items:center}.intro-copy p:not(.eyebrow),.split p:not(.eyebrow){max-width:540px}.intro-photo{position:relative}.intro-photo img,.split img{width:100%;height:480px;object-fit:cover}.rating{position:absolute;top:22px;right:22px;background:#fffaf1;padding:15px 24px;text-align:center;box-shadow:0 5px 20px #0002;border-radius:8px}.rating small{display:block;font-weight:700;color:#e97710}.rating strong{font-family:Georgia,serif;font-size:36px;color:var(--olive);display:block}.rating em{font-size:15px;font-style:normal}.rating span{font-size:11px;display:block;max-width:135px}.outline{display:inline-block;border:1px solid var(--olive);padding:12px 24px;text-decoration:none;margin-top:14px}.outline:hover{background:var(--olive);color:white}.shaded{background:var(--cream)}.center{text-align:center}.amenities{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px}.amenities article{background:#fffdf8;padding:30px}.amenities article>span{font-size:35px;color:var(--olive)}.amenities h3{margin:12px 0}.amenities p{color:var(--muted);font-size:14px}.split{grid-template-columns:1.1fr 1fr}.moraira{background:var(--cream)}.gallery-section{padding-bottom:50px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:35px}.gallery button{border:0;padding:0;background:transparent;overflow:hidden}.gallery img{width:100%;height:270px;object-fit:cover;display:block;transition:transform .3s}.gallery button:hover img{transform:scale(1.05)}.disclaimer{font-size:13px;color:var(--muted)}.reviews{background:#f3ebdf}.reviewgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:45px 0 30px}.reviewgrid blockquote{background:white;margin:0;padding:35px}.reviewgrid blockquote p{font:italic 1.3rem/1.6 Georgia,serif}.reviewgrid footer{font-size:13px;color:var(--olive)}.contact-section{background:#e8e2d6;align-items:start}.contactform{background:#fffdf8;padding:32px;display:grid;gap:15px}.contactform label{display:grid;gap:5px;font-size:13px}.contactform input,.contactform select,.contactform textarea{border:1px solid #d4d0c5;background:#fff;padding:11px;min-width:0;width:100%;border-radius:0}.contactform .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contactform .consent{display:flex;align-items:flex-start;gap:9px}.contactform .consent input{width:auto;margin-top:6px}.contactform button{border:0}.footer{background:#303b2b;color:#fff;text-align:center;padding:55px 20px}.foot-logo{font-size:25px;letter-spacing:.1em}.foot-logo small{display:block;font:10px 'DM Sans';letter-spacing:.4em}.footer a{color:#fff}.footer p{font-size:14px}dialog{border:0;background:#f9f6f0;padding:18px;max-width:min(92vw,1050px)}dialog::backdrop{background:#000b}dialog img{max-width:100%;max-height:75vh;display:block}#closebox{position:absolute;right:15px;top:8px;font-size:35px;background:#fff;border:0}dialog p{font-size:12px}section{scroll-margin-top:20px}@media(max-width:950px){header{padding:18px 5%}.menu{display:block;background:#f8f4eb;color:#293b2a;border:0;font-size:23px;padding:2px 13px}nav{display:none;position:absolute;top:78px;right:4%;left:4%;background:#fffdf8;color:var(--ink);padding:24px;flex-direction:column;align-items:stretch;box-shadow:0 8px 20px #0003}nav.open{display:flex}nav select{color:var(--ink)}.facts{grid-template-columns:repeat(3,1fr);gap:12px}.intro,.split,.contact-section{grid-template-columns:1fr;gap:35px}.amenities{grid-template-columns:repeat(2,1fr)}.section{padding:70px 6%}}@media(max-width:650px){.hero{min-height:720px;height:92svh}.hero-content{padding-bottom:240px}h1{font-size:3.1rem}.bookingbar{bottom:15px;grid-template-columns:1fr 1fr;padding:10px;gap:7px}.bookingbar label{padding:8px;border:0}.bookingbar button{grid-column:1/-1}.facts{grid-template-columns:repeat(2,1fr)}.facts div{font-size:19px}.amenities{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.gallery img{height:185px}.reviewgrid{grid-template-columns:1fr}.intro-photo img,.split img{height:320px}.section{padding:55px 5%}.contactform{padding:22px}}

.faq{background:#f8f5ef}.faq-list{max-width:860px;margin:35px auto 0}.faq-list details{border-bottom:1px solid #d7d0c2;padding:20px 4px}.faq-list summary{cursor:pointer;font-family:'Playfair Display',serif;font-size:1.35rem;color:#343f27}.faq-list p{line-height:1.7;max-width:720px}.rating{text-decoration:none;color:inherit}.rating:hover{transform:translateY(-2px)}:focus-visible{outline:3px solid #b18a43;outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
