
:root{--bg:#f7f4ed;--paper:#fffdfa;--ink:#101820;--muted:#687382;--line:#e7ded0;--blue:#087b9a;--blue2:#0da6c8;--gold:#b99d5d;--shadow:0 22px 60px rgba(24,32,40,.10);--radius:28px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 0% 0%,rgba(9,123,154,.12),transparent 28%),radial-gradient(circle at 90% 0%,rgba(185,157,93,.12),transparent 24%),linear-gradient(180deg,#fbfaf6,#f6f0e6 50%,#f7f4ed);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter","Segoe UI",sans-serif;overflow-x:hidden}a{text-decoration:none;color:inherit}img,video{display:block;max-width:100%}
.header{position:sticky;top:0;z-index:30;margin:14px auto 0;width:min(1180px,calc(100% - 28px));display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid rgba(255,255,255,.82);background:rgba(255,255,255,.72);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:999px;box-shadow:0 16px 42px rgba(24,32,40,.10)}
.logo{font-weight:950;font-size:clamp(22px,3vw,34px);letter-spacing:-1px;padding:0 12px}.logo span{color:var(--blue)}.logo em{font-style:normal;color:var(--gold)}
.menu-toggle{display:none}.nav{display:flex;align-items:center;gap:5px}.nav a{padding:11px 14px;border-radius:999px;font-weight:850;color:#253242}.nav a.active,.nav a:hover{background:#eef8fa;color:var(--blue)}.nav-cta{background:linear-gradient(135deg,var(--blue),var(--blue2))!important;color:white!important}
main{max-width:1180px;margin:0 auto}.hero{display:grid;grid-template-columns:1.02fr .98fr;gap:22px;align-items:center;padding:48px 18px 28px}.eyebrow,.section-head span{display:inline-block;text-transform:uppercase;letter-spacing:.22em;color:var(--gold);font-size:12px;font-weight:950}h1,h2,h3{font-family:ui-serif,Georgia,serif;letter-spacing:-1.3px;line-height:1;margin:0 0 12px}h1{font-size:clamp(48px,7vw,86px)}h2{font-size:clamp(34px,4.8vw,58px)}h3{font-size:28px}p{margin:0;color:var(--muted);line-height:1.65;font-size:17px}.hero p{font-size:clamp(18px,2vw,22px)}
.hero-media{border-radius:36px;overflow:hidden;min-height:500px;box-shadow:var(--shadow);position:relative;background:#ddd}.hero-media video,.hero-media img{width:100%;height:100%;object-fit:cover}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.20))}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 18px;border-radius:999px;font-weight:900;border:1px solid var(--line);background:white;box-shadow:0 10px 26px rgba(24,32,40,.06)}.btn.primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:white;border:0}.btn.ghost{background:rgba(255,255,255,.82)}.btn.dark{background:#101820;color:white;border:0}
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:0 18px 34px}.trust-strip div,.panel,.property-card,.booking-box,.reservation-card{background:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.88);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.trust-strip div{padding:20px}.trust-strip b{display:block;color:var(--blue);font-size:26px}.trust-strip span{font-weight:750;color:var(--muted)}
.section,.booking{padding:36px 18px}.section-head{max-width:780px;margin-bottom:22px}.properties-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.property-card{overflow:hidden}.property-image{display:block;position:relative;aspect-ratio:1.15/1;overflow:hidden;border-radius:24px;margin:10px}.property-image img{width:100%;height:100%;object-fit:cover}.property-image span{position:absolute;left:14px;top:14px;background:rgba(255,255,255,.88);padding:9px 12px;border-radius:999px;font-weight:900}.property-body{padding:8px 16px 16px}.property-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.property-title h3{font-size:26px}.property-title p{font-size:15px;font-weight:700}.property-title strong{color:var(--blue);white-space:nowrap}.facts,.chips{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.facts span,.chips span{padding:8px 10px;border-radius:999px;background:#f6f1e8;color:#475363;font-weight:850;font-size:13px}.facts.large span{font-size:14px}.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:12px}.thumbs img{width:100%;aspect-ratio:1.1/1;object-fit:cover;border-radius:14px}
.booking-box{display:grid;grid-template-columns:1.3fr .8fr .8fr .7fr auto;gap:10px;padding:14px}.booking-box label{font-size:12px;color:var(--muted);font-weight:950;text-transform:uppercase;letter-spacing:.09em}.booking-box input,.booking-box select{display:block;width:100%;height:52px;margin-top:7px;border:1px solid var(--line);border-radius:16px;padding:0 12px;background:white;font-weight:850;color:var(--ink)}.quote{grid-column:1/-1;background:#f5fbfc;border:1px solid #d9edf2;border-radius:20px;padding:16px}.quote .price{display:block;color:var(--blue);font-size:34px;font-weight:950;margin:6px 0}.quote-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.property-hero{display:grid;grid-template-columns:1fr 330px;gap:22px;padding:50px 18px 18px;align-items:start}.reservation-card{padding:22px;position:sticky;top:98px}.reservation-card strong{display:block;font-size:28px;color:var(--blue);margin-bottom:8px}.mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:240px 240px;gap:10px}.mosaic img{width:100%;height:100%;object-fit:cover;border-radius:24px;box-shadow:var(--shadow)}.mosaic .m1{grid-row:1/3}.gallery-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.gallery-strip.big{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.gallery-strip.big img{flex:0 0 min(80vw,560px);height:420px;scroll-snap-align:start}.gallery-strip img{width:100%;aspect-ratio:1.1/1;object-fit:cover;border-radius:20px;box-shadow:0 10px 24px rgba(24,32,40,.08)}.two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.panel{padding:22px}.panel ul{margin:14px 0 0;color:var(--muted);font-weight:750;line-height:1.8}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.footer{max-width:1180px;margin:30px auto 20px;width:calc(100% - 36px);padding:26px;border-radius:30px;background:#101820;color:white;display:flex;justify-content:space-between;gap:20px}.footer p{color:#bac6d4}.footer-links{display:grid;gap:8px}.footer a{font-weight:850}.floating-whatsapp{position:fixed;right:18px;bottom:18px;z-index:29;background:#19b466;color:white;font-weight:950;padding:14px 18px;border-radius:999px;box-shadow:0 18px 38px rgba(10,80,40,.22)}
@media(max-width:980px){.menu-toggle{display:inline-flex;align-items:center;justify-content:center;border:0;background:#eef8fa;color:var(--blue);font-weight:950;border-radius:999px;padding:12px 14px}.nav{display:none;position:absolute;left:0;right:0;top:70px;flex-direction:column;align-items:stretch;background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:26px;padding:10px;box-shadow:var(--shadow)}.nav.open{display:flex}.nav a{text-align:center}.hero,.property-hero,.two-col,.info-grid{grid-template-columns:1fr}.reservation-card{position:static}.properties-grid,.guide-grid{grid-template-columns:1fr 1fr}.booking-box{grid-template-columns:1fr 1fr}.booking-box .wide,.quote{grid-column:1/-1}.trust-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.header{width:calc(100% - 20px);margin-top:10px}.logo{font-size:21px}.hero{padding:34px 12px 20px}.hero-media{min-height:330px;border-radius:28px}h1{font-size:42px}.section,.booking,.property-hero{padding-left:12px;padding-right:12px}.properties-grid,.guide-grid,.booking-box,.trust-strip{grid-template-columns:1fr}.property-title{display:block}.thumbs{grid-template-columns:repeat(4,1fr)}.mosaic{display:block}.mosaic img,.gallery-strip.big img{height:280px;margin-bottom:10px}.footer{display:block;margin-bottom:82px}.floating-whatsapp{left:14px;right:14px;text-align:center}.hero-actions .btn,.actions.hero-actions .btn{width:100%}}
