:root{--bg:#fbfaf7;--paper:#fff;--ink:#1b1a18;--muted:#6b665f;--gold:#b79a57;--gold2:#8e7133;--sand:#efe8dc;--green:#294438;--line:#ded6c9;--shadow:0 18px 45px rgba(32,25,15,.12);--radius:26px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.skip{position:fixed;left:12px;top:-80px;z-index:9999;background:#111;color:#fff;padding:.7rem 1rem;border-radius:10px}.skip:focus{top:12px}.wrap{width:min(calc(100% - 32px),var(--max));margin-inline:auto}.topbar{position:sticky;top:0;z-index:1000;background:rgba(251,250,247,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(183,154,87,.22)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:12px;min-width:210px}.brand img{width:180px;height:54px;object-fit:contain}.menu{display:flex;align-items:center;gap:20px;font-size:.94rem}.menu a{padding:8px 2px;position:relative}.menu a:after{content:"";position:absolute;left:0;bottom:3px;width:0;height:1px;background:var(--gold2);transition:.25s}.menu a:hover:after,.menu a:focus-visible:after{width:100%}.nav-actions{display:flex;gap:9px;align-items:center}.lang{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:9px 12px;font-weight:700;cursor:pointer}.hamb{display:none;border:0;background:transparent;font-size:1.6rem;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 19px;border-radius:999px;font-weight:800;border:1px solid transparent;transition:.22s;cursor:pointer}.btn-primary{background:var(--green);color:#fff;box-shadow:0 10px 26px rgba(41,68,56,.2)}.btn-primary:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:#17130c}.btn-outline{border-color:var(--gold);color:var(--gold2);background:transparent}.hero{min-height:calc(100vh - 82px);position:relative;display:grid;place-items:center;overflow:hidden;background:#17221c}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,19,16,.88) 0%,rgba(12,19,16,.65) 43%,rgba(12,19,16,.12) 78%),url('../images/jardin-tepozteco.webp') center/cover no-repeat;transform:scale(1.01)}.hero:after{content:"";position:absolute;inset:auto 0 0;height:180px;background:linear-gradient(transparent,var(--bg))}.hero-content{position:relative;z-index:2;padding:90px 0 150px;color:white;max-width:770px;margin-right:auto}.eyebrow{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:900;color:#f1d99d}.eyebrow:before{content:"";width:34px;height:1px;background:currentColor}.hero h1,.section h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.035em}.hero h1{font-size:clamp(3rem,7vw,6.6rem);line-height:.94;margin:20px 0 22px}.hero p{font-size:clamp(1.05rem,2vw,1.35rem);max-width:690px;color:rgba(255,255,255,.88);margin:0 0 28px}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}.hero-stats{margin-top:45px;display:flex;gap:28px;flex-wrap:wrap}.stat strong{font-size:1.35rem}.stat span{display:block;color:rgba(255,255,255,.72);font-size:.88rem}.section{padding:105px 0}.section.alt{background:var(--paper)}.head{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:end;margin-bottom:48px}.head h2{font-size:clamp(2.4rem,5vw,4.7rem);line-height:1;margin:10px 0}.head p{color:var(--muted);font-size:1.04rem;max-width:620px}.kicker{color:var(--gold2);font-weight:900;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 30px rgba(28,24,18,.05)}.card-media{aspect-ratio:4/3;overflow:hidden}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.card:hover .card-media img{transform:scale(1.045)}.card-body{padding:26px}.card h3{font-family:Georgia,serif;font-size:1.55rem;margin:0 0 10px}.card p{color:var(--muted);margin:0 0 17px}.pill{display:inline-block;border-radius:999px;background:var(--sand);padding:6px 10px;font-size:.78rem;font-weight:800;color:#67542c}.story{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}.story-image{border-radius:36px 36px 140px 36px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/5}.story-image img{width:100%;height:100%;object-fit:cover}.story-copy h2{font-family:Georgia,serif;font-size:clamp(2.4rem,5vw,4.5rem);line-height:1.02;margin:10px 0 22px}.story-copy p{color:var(--muted)}.values{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:25px}.value{padding:18px;border-radius:18px;background:var(--sand)}.value strong{display:block;margin-bottom:4px}.value span{color:var(--muted);font-size:.92rem}.featureband{background:var(--green);color:#fff;border-radius:38px;padding:44px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.featureband strong{font-family:Georgia,serif;font-size:1.35rem;display:block;margin-bottom:7px}.featureband span{color:rgba(255,255,255,.73);font-size:.9rem}.allinclusive{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;align-items:stretch}.offer{background:linear-gradient(140deg,#171d19,#304a3f);color:#fff;padding:45px;border-radius:34px;display:flex;flex-direction:column;justify-content:center}.offer h2{font-family:Georgia,serif;font-size:clamp(2.3rem,4vw,4rem);line-height:1;margin:12px 0}.offer .price{font-size:2.5rem;font-weight:900;color:#efd796}.offer small{color:rgba(255,255,255,.65)}.offer ul{padding-left:20px;color:rgba(255,255,255,.87)}.offer-photo{border-radius:34px;overflow:hidden;min-height:520px}.offer-photo img{height:100%;width:100%;object-fit:cover}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.gitem{border:0;padding:0;background:none;overflow:hidden;border-radius:20px;cursor:zoom-in;min-height:230px}.gitem img{width:100%;height:100%;object-fit:cover;transition:.4s}.gitem:hover img{transform:scale(1.035)}.gitem:nth-child(1),.gitem:nth-child(6){grid-column:span 7}.gitem:nth-child(2),.gitem:nth-child(5){grid-column:span 5}.gitem:nth-child(3),.gitem:nth-child(4){grid-column:span 6}.lightbox{position:fixed;inset:0;z-index:3000;background:rgba(0,0,0,.93);display:none;place-items:center;padding:28px}.lightbox.open{display:grid}.lightbox img{max-width:94vw;max-height:86vh;object-fit:contain}.lightbox button{position:absolute;top:22px;right:22px;background:#fff;color:#111;border:0;border-radius:999px;width:46px;height:46px;font-size:1.35rem;cursor:pointer}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center}.video-frame{background:#121212;border-radius:28px;overflow:hidden;aspect-ratio:9/16;max-height:720px;box-shadow:var(--shadow);display:grid;place-items:center}.video-frame iframe{width:100%;height:100%;border:0}.video-copy h2{font-family:Georgia,serif;font-size:clamp(2.4rem,5vw,4.5rem);line-height:1.04;margin:10px 0 18px}.video-copy p{color:var(--muted)}.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.quote{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:26px}.stars{color:#a9812a;letter-spacing:.08em}.quote p{color:var(--muted)}.quote strong{display:block}.faq{max-width:850px;margin:auto}.faq details{background:var(--paper);border:1px solid var(--line);border-radius:18px;margin:10px 0;padding:0 20px}.faq summary{cursor:pointer;font-weight:850;padding:20px 32px 20px 0;position:relative}.faq summary:after{content:"+";position:absolute;right:0;font-size:1.3rem}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--muted);margin:0 0 20px}.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:22px}.contact-panel{background:var(--green);color:#fff;border-radius:32px;padding:38px}.contact-panel h2{font-family:Georgia,serif;font-size:2.6rem;line-height:1.05;margin:8px 0 22px}.contact-panel p,.contact-panel a{color:rgba(255,255,255,.78)}.contact-list{display:grid;gap:15px;margin:25px 0}.map{border-radius:32px;overflow:hidden;min-height:500px;border:1px solid var(--line);background:#ddd}.map iframe{width:100%;height:100%;min-height:500px;border:0}.form{margin-top:22px;display:grid;gap:11px}.form input,.form textarea,.form select{width:100%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:white;border-radius:13px;padding:13px 14px}.form option{color:#111}.form ::placeholder{color:rgba(255,255,255,.6)}.form textarea{min-height:100px;resize:vertical}.footer{background:#151714;color:#eee;padding:58px 0 25px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:34px}.footer img{width:210px;background:#fff;border-radius:14px;padding:8px}.footer p,.footer a{color:#aaa}.footer-links{display:grid;gap:8px}.footer-bottom{border-top:1px solid #2d312d;margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.9rem}.float-wa{position:fixed;right:18px;bottom:20px;z-index:1000;background:#25D366;color:#08160d;border-radius:999px;padding:14px 18px;font-weight:900;box-shadow:0 12px 28px rgba(0,0,0,.25)}.to-top{position:fixed;right:20px;bottom:86px;z-index:1000;width:45px;height:45px;border-radius:50%;border:0;background:#181b18;color:#fff;cursor:pointer;opacity:0;pointer-events:none;transition:.2s}.to-top.show{opacity:1;pointer-events:auto}.reveal{opacity:0;transform:translateY(22px);transition:.7s}.reveal.visible{opacity:1;transform:none}.social-row{display:flex;gap:10px;flex-wrap:wrap}.social-chip{border:1px solid rgba(255,255,255,.28);padding:9px 13px;border-radius:999px;color:#fff!important}.privacy{padding:80px 0}.privacy h1{font-family:Georgia,serif;font-size:3rem}.privacy h2{font-family:Georgia,serif;margin-top:2rem}.privacy p,.privacy li{color:var(--muted)}
@media(max-width:980px){.menu{position:fixed;inset:82px 14px auto;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:18px;display:none;flex-direction:column;align-items:stretch}.menu.open{display:flex}.hamb{display:block}.nav-actions .btn{display:none}.head,.story,.allinclusive,.video-grid,.contact{grid-template-columns:1fr}.grid3,.testimonials{grid-template-columns:1fr 1fr}.featureband{grid-template-columns:1fr 1fr}.offer-photo{min-height:360px}.video-frame{max-height:600px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:680px){.nav{height:72px}.brand img{width:150px}.menu{inset:72px 10px auto}.hero{min-height:86vh}.hero-content{padding:72px 0 120px}.hero h1{font-size:3.5rem}.section{padding:76px 0}.head{gap:15px}.grid3,.testimonials,.featureband,.values,.footer-grid{grid-template-columns:1fr}.featureband{padding:28px}.gallery{grid-template-columns:1fr}.gitem,.gitem:nth-child(n){grid-column:1;min-height:250px}.offer{padding:30px}.contact-panel{padding:28px}.footer-grid>div:first-child{grid-column:auto}.float-wa{left:14px;right:14px;text-align:center}.to-top{right:16px;bottom:82px}.hero-stats{gap:18px}.hero-buttons .btn{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
