@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=Italiana&family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,300,0,0&display=swap');

:root{--sand:#f4efe6;--paper:#fbf8f2;--ink:#2b241d;--muted:#766b5d;--brown:#563520;--gold:#b8863f;--orange:#d86b2f;--line:rgba(86,53,32,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}.site{min-height:100vh;background:var(--paper);transition:.25s}.site.dark{--paper:#171512;--sand:#211d18;--ink:#f4eee5;--muted:#bdb2a3;--brown:#e29a54;--gold:#d99242;--line:rgba(255,255,255,.14)}a{color:inherit;text-decoration:none}.header{height:84px;padding:0 4vw;display:flex;align-items:center;gap:32px;position:fixed;top:0;left:0;right:0;z-index:20;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{display:grid;grid-template-columns:auto 22px auto;align-items:center;font-family:'Italiana',serif;font-size:21px;letter-spacing:.12em;color:var(--brown);white-space:nowrap}.brand i{font:500 8px 'DM Sans';text-align:center;color:var(--orange)}.brand small{grid-column:1/4;text-align:center;font:500 7px 'DM Sans';letter-spacing:.5em;margin-left:.5em;color:var(--gold)}.nav{display:flex;gap:24px;margin-left:auto;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.nav a{padding:10px 0;border-bottom:1px solid transparent}.nav a:hover{border-color:var(--gold)}.controls{display:flex;gap:4px}.controls button,.menuBtn{border:1px solid var(--line);background:transparent;color:var(--ink);height:34px;min-width:34px;border-radius:50%;cursor:pointer;font-size:11px}.menuBtn{display:none}.hero{height:max(720px,100svh);position:relative;color:#fff;display:flex;align-items:flex-end;padding:130px 7vw 10vh;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.heroShade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,13,9,.78) 0%,rgba(18,13,9,.35) 55%,rgba(18,13,9,.1)),linear-gradient(0deg,rgba(18,13,9,.55),transparent 45%)}.heroCopy{position:relative;max-width:760px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.22em;margin:0 0 22px}.eyebrow.brown{color:var(--brown)}h1,h2{font-family:'Italiana',serif;font-weight:400;margin:0;line-height:1.03}h1{font-size:clamp(54px,7.3vw,108px);max-width:900px}h2{font-size:clamp(42px,5vw,74px)}.heroCopy>p:not(.eyebrow){font-size:clamp(17px,1.7vw,22px);line-height:1.55;max-width:690px}.heroCopy strong{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-top:28px}.actions{display:flex;gap:12px;margin-top:34px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:0 24px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;border:1px solid transparent}.button.gold{background:var(--gold);color:#fff}.button.glass{border-color:rgba(255,255,255,.6);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}.proof{position:absolute;right:4vw;bottom:36px;font-size:11px;letter-spacing:.08em}.section{padding:120px max(6vw,30px)}.villaIntro{display:grid;grid-template-columns:1fr 1fr;gap:50px}.lead{font-size:18px;line-height:1.75;color:var(--muted);max-width:680px}.featureGrid{grid-column:1/3;display:grid;grid-template-columns:repeat(4,1fr);margin-top:50px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.featureGrid div{min-height:130px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.featureGrid b{font-size:10px;color:var(--gold)}.featureGrid span{font-size:13px}.roomSection{display:grid;grid-template-columns:1.1fr .9fr;background:var(--brown);color:#fff}.roomImage img{width:100%;height:100%;object-fit:cover;min-height:820px}.roomCopy{padding:100px 7vw}.roomCopy h2{margin-bottom:45px}.roomCopy article{display:flex;gap:24px;padding:24px 0;border-top:1px solid rgba(255,255,255,.22)}.roomCopy article>span{font-size:10px;color:#e7b570}.roomCopy h3{margin:0 0 7px;font:400 23px 'Italiana'}.roomCopy article p{margin:0;color:rgba(255,255,255,.7);font-size:13px;line-height:1.5}.sectionTitle{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:44px}.filters{display:flex;flex-wrap:wrap;gap:6px}.filters button{border:1px solid var(--line);background:transparent;color:var(--muted);padding:9px 14px;border-radius:30px;cursor:pointer;font-size:11px}.filters button.active{background:var(--brown);color:var(--paper);border-color:var(--brown)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery figure{margin:0;position:relative;height:390px;overflow:hidden;background:var(--sand)}.gallery figure.wide{grid-column:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:.6s}.gallery figure:hover img{transform:scale(1.035)}.gallery figcaption{position:absolute;left:18px;bottom:16px;background:rgba(20,16,12,.65);backdrop-filter:blur(6px);color:#fff;padding:8px 10px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.tulumSection{display:grid;grid-template-columns:1fr 1fr;background:#29251f;color:#f6f0e8}.tulumPhoto img{width:100%;height:100%;min-height:760px;object-fit:cover}.tulumContent{padding:100px 7vw}.coming{display:inline-block;border:1px solid rgba(255,255,255,.3);padding:8px 10px;margin-bottom:24px;color:#e8b77d;font-size:9px;letter-spacing:.16em}.tulumContent .lead{color:#c7bdb0;margin:28px 0 50px}.tulumCards article{border-top:1px solid rgba(255,255,255,.18);padding:22px 0}.tulumCards h3{font:400 22px 'Italiana';margin:0 0 8px}.tulumCards p{margin:0;color:#aaa094;font-size:13px}.rental>h2{max-width:700px}.termCards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:50px}.termCards article{padding:40px;border:1px solid var(--line);background:var(--sand)}.termCards article.preferred{border-top:4px solid var(--gold)}.termCards>article>span{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--gold)}.termCards h3{font:400 40px 'Italiana';margin:18px 0 35px}.termCards p{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin:0;padding:14px 0;gap:20px;font-size:12px}.termCards p b{font-weight:500}.termCards p em{font-style:normal;color:var(--muted);text-align:right}.contactSection{display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding:120px max(6vw,30px);background:var(--brown);color:#fff}.contactCopy>p:not(.eyebrow){font-size:16px;line-height:1.7;color:rgba(255,255,255,.72);max-width:600px}.location{margin:35px 0 18px;font-size:13px}.social{color:#e7b570;font-size:13px}form{display:grid;grid-template-columns:1fr 1fr;gap:12px}input,textarea{font:400 13px 'DM Sans';padding:16px;border:0;border-bottom:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;outline:none;border-radius:0}input::placeholder,textarea::placeholder{color:rgba(255,255,255,.58)}textarea{grid-column:1/3;min-height:120px;resize:vertical}.submit{grid-column:1/3;margin-top:12px}footer{padding:50px 6vw;background:#15120f;color:#d2c7b8;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px}.footerBrand{color:#eee}.whatsapp{position:fixed;right:24px;bottom:22px;z-index:30;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;border:4px solid rgba(255,255,255,.9);box-shadow:0 8px 28px rgba(0,0,0,.22);font-size:25px}
@media(max-width:900px){.header{height:70px}.menuBtn{display:block;margin-left:auto}.nav{position:absolute;top:70px;left:0;right:0;padding:22px 6vw;background:var(--paper);display:none;flex-direction:column;margin:0;border-bottom:1px solid var(--line)}.nav.open{display:flex}.controls{margin-left:0}.hero{padding-left:6vw;padding-right:6vw}.proof{left:6vw;right:auto}.villaIntro{grid-template-columns:1fr}.featureGrid{grid-column:auto;grid-template-columns:repeat(2,1fr)}.roomSection,.tulumSection,.contactSection{grid-template-columns:1fr}.roomImage img,.tulumPhoto img{min-height:520px}.sectionTitle{align-items:start;flex-direction:column}.gallery{grid-template-columns:1fr 1fr}.gallery figure,.gallery figure.wide{grid-column:span 1;height:320px}.contactSection{gap:60px}}
@media(max-width:600px){.header{padding:0 18px;gap:10px}.brand{font-size:17px}.controls button{width:30px;height:30px}.hero{min-height:760px;padding-bottom:100px}.heroCopy>p:not(.eyebrow){font-size:16px}.actions{flex-direction:column;align-items:stretch}.proof{bottom:28px;font-size:9px}.section{padding:85px 22px}.featureGrid{grid-template-columns:1fr}.featureGrid div{min-height:95px}.roomCopy,.tulumContent{padding:80px 24px}.roomImage img,.tulumPhoto img{min-height:420px}.gallery{grid-template-columns:1fr}.gallery figure{height:290px}.termCards{grid-template-columns:1fr}.termCards article{padding:28px}.contactSection{padding:85px 24px}.contactSection form{grid-template-columns:1fr}input,textarea,.submit{grid-column:1!important}footer{align-items:flex-start;flex-direction:column}.whatsapp{right:16px;bottom:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery img{transition:none}}

/* Feature pictograms and responsive room-heading refinements */
.featureGrid div{min-height:150px}
.featureGrid b.material-symbols-outlined{font-family:'Material Symbols Outlined';font-size:34px;font-weight:300;color:var(--gold);line-height:1}
.featureGrid span{font-size:14px;font-weight:700;line-height:1.35}
.roomSection{overflow:hidden}
.roomCopy{min-width:0;padding-left:min(7vw,90px);padding-right:min(7vw,90px)}
.roomCopy h2{font-size:clamp(42px,4.5vw,68px);overflow-wrap:anywhere}
.roomCopy article{align-items:center;gap:28px}
.roomCopy article>span{width:74px;height:74px;flex:0 0 74px;display:grid;place-items:center;border:1px solid rgba(231,181,112,.62);border-radius:50%;font-family:'Italiana',serif;font-size:30px;line-height:1;color:#e7b570;background:rgba(231,181,112,.055)}
@media(max-width:600px){.featureGrid div{min-height:112px}.roomCopy{padding-left:24px;padding-right:24px}.roomCopy h2{font-size:clamp(38px,12vw,54px)}.roomCopy article{align-items:flex-start;gap:18px}.roomCopy article>span{width:56px;height:56px;flex-basis:56px;font-size:23px}}

/* Multi-page structure */
.logoLink{width:148px;height:58px;display:flex;align-items:center;flex:0 0 auto}.logoLink img{display:block;width:100%;height:48px;object-fit:contain}.langButton{border:1px solid var(--line);height:34px;min-width:34px;border-radius:50%;display:grid;place-items:center;font-size:11px}.nav a.current{color:var(--gold);border-color:var(--gold)}
.pageMasthead{height:clamp(520px,72vh,760px);position:relative;color:#fff;display:flex;align-items:flex-end;padding:150px 7vw 8vh;overflow:hidden}.pageMasthead>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.pageMasthead>div:last-child{position:relative;z-index:2}.pageMasthead h1{font-size:clamp(64px,9vw,128px)}.pageMasthead>div:last-child>p:last-child{font:400 clamp(22px,3vw,40px) 'Italiana',serif;margin:20px 0 0}.galleryLead{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:45px}.filters.standalone{margin-bottom:28px}
.homeEditorial{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:var(--sand)}.homeEditorial>img{width:100%;height:720px;object-fit:cover}.homeEditorial>div{padding:80px 8vw}.textLink{display:inline-block;margin-top:28px;color:var(--brown);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.homeCta,.pageCta{padding:100px max(6vw,30px);text-align:center;background:var(--paper)}.homeCta p{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.homeCta h2,.pageCta h2{max-width:850px;margin:16px auto 32px}
.tulumIntro{display:grid;grid-template-columns:.7fr 1.15fr;gap:50px;align-items:start}.tulumIntro .eyebrow{grid-column:1/3}.tulumIntro .lead{margin:0}.storyGrid{display:grid;grid-template-columns:1fr 1fr}.story{display:grid;grid-template-columns:1.05fr .95fr;min-height:560px;background:var(--sand)}.story>img{width:100%;height:100%;min-height:560px;object-fit:cover}.story>div{padding:60px 4vw;display:flex;flex-direction:column;justify-content:center}.story>div>span{width:58px;height:58px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font:400 24px 'Italiana',serif;margin-bottom:32px}.story h3{font:400 clamp(34px,4vw,58px) 'Italiana',serif;margin:0 0 20px}.story p{font-size:14px;line-height:1.7;color:var(--muted);margin:0}.darkStory{background:#2b251f;color:#fff}.darkStory p{color:#beb3a7}.limitBanner{height:620px;position:relative;display:grid;place-items:center;overflow:hidden}.limitBanner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.limitBanner:after{content:"";position:absolute;inset:0;background:rgba(10,18,11,.34)}.limitBanner blockquote{position:relative;z-index:2;color:#fff;text-align:center;font:400 clamp(42px,7vw,96px) 'Italiana',serif;letter-spacing:.02em;margin:0;padding:24px}.tulumMosaic{display:grid;grid-template-columns:.75fr 1.5fr .75fr;gap:10px;padding:10px;background:#15120f}.tulumMosaic figure{margin:0;height:600px;overflow:hidden}.tulumMosaic img{width:100%;height:100%;object-fit:cover}.tulumMosaic .wide img{object-position:center}.footerLogo{width:145px;height:55px;object-fit:contain}
@media(max-width:1100px){.header{gap:18px}.nav{gap:14px;font-size:10px}.storyGrid{grid-template-columns:1fr}.story:nth-child(even){direction:rtl}.story:nth-child(even)>*{direction:ltr}}
@media(max-width:900px){.logoLink{width:122px}.galleryLead,.tulumIntro{grid-template-columns:1fr}.tulumIntro .eyebrow{grid-column:auto}.homeEditorial{grid-template-columns:1fr}.homeEditorial>img{height:520px}.tulumMosaic{grid-template-columns:1fr 1fr}.tulumMosaic .wide{grid-column:1/3;grid-row:1}.tulumMosaic figure{height:440px}}
@media(max-width:600px){.pageMasthead{height:560px;padding:130px 24px 60px}.pageMasthead h1{font-size:clamp(56px,20vw,82px)}.story{grid-template-columns:1fr;min-height:0}.story:nth-child(even){direction:ltr}.story>img{min-height:390px;height:390px}.story>div{padding:48px 24px}.limitBanner{height:500px}.tulumMosaic{grid-template-columns:1fr}.tulumMosaic .wide{grid-column:auto;grid-row:auto}.tulumMosaic figure{height:420px}.homeEditorial>img{height:420px}.homeEditorial>div{padding:70px 24px}.footerLogo{width:130px}}
