
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--navy:#082747;--gold:#cdb27d;--cream:#faf9f5;--text:#273342;--white:#fff;--shadow:0 10px 30px rgba(8,39,71,.12);--radius:10px}
*{box-sizing:border-box;margin:0;padding:0} html{scroll-behavior:smooth} body{font-family:"DM Sans",Arial,sans-serif;color:var(--text);background:var(--cream);line-height:1.6}
a{text-decoration:none;color:inherit} img{display:block;width:100%;height:100%;object-fit:cover}.container{width:min(1180px,92%);margin:auto}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:#fff;padding:14px 24px;border-radius:4px;font-weight:600;text-transform:uppercase;font-size:.82rem;letter-spacing:.03em;transition:.25s;border:0;cursor:pointer}.btn:hover{background:#e1c995;transform:translateY(-2px)}
header{position:fixed;top:0;left:0;right:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(8px)}.nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.logo{display:flex;align-items:center;gap:12px;color:var(--navy)}.logo-mark{font-size:34px}.logo-text{font-family:"Playfair Display",serif;font-size:28px;line-height:1}.logo small{display:block;text-align:center;font-family:"DM Sans";letter-spacing:.35em;font-size:9px;margin-top:5px}
.menu{display:flex;gap:34px;align-items:center;font-size:.88rem}.menu a{position:relative;padding:31px 0}.menu a:after{content:"";position:absolute;left:0;right:0;bottom:25px;height:2px;background:var(--navy);transform:scaleX(0);transition:.2s}.menu a:hover:after{transform:scaleX(1)}.menu-toggle{display:none;border:0;background:none;font-size:28px;color:var(--navy)}
.hero{min-height:720px;display:flex;align-items:center;position:relative;background:linear-gradient(90deg,rgba(5,30,55,.70),rgba(5,30,55,.12) 75%),url("imagenes/hero.png") center/cover}
.hero-content{padding-top:80px;color:#fff;max-width:650px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem}.hero h1{font-size:clamp(3.4rem,7vw,5.8rem);line-height:1.02}.hero h2{font-family:"DM Sans";font-weight:400;font-size:1.65rem;margin:12px 0 18px}.hero p{max-width:580px;margin-bottom:28px}
.section{padding:78px 0}.section-title{text-align:center;margin-bottom:45px}.section-title h2{font-size:2.5rem;color:var(--navy)}.ornament{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:12px;color:var(--gold)}.ornament:before,.ornament:after{content:"";width:58px;height:1px;background:var(--gold)}
.rooms{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid #e9e5dd}.card-image{height:220px}.card-body{text-align:center;padding:25px 20px 28px}.card h3{color:var(--navy);font-size:1.3rem;margin-bottom:10px}.card p{font-size:.9rem;color:#69727c;min-height:67px;margin-bottom:15px}.card .btn{padding:10px 18px;text-transform:none;font-size:.82rem}
.services{background:#fff}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service{text-align:center;color:var(--navy);padding:20px}.icon{width:58px;height:58px;margin:0 auto 12px;border:2px solid var(--navy);border-radius:50%;display:grid;place-items:center;font-size:25px}.service h3{font-family:"DM Sans";font-size:1rem;margin-bottom:7px}.service p{font-size:.86rem;color:#69727c;max-width:290px;margin:auto}
.location-contact{display:grid;grid-template-columns:1fr 1fr}.location{min-height:500px;color:#fff;padding:70px max(5vw,40px);background:linear-gradient(rgba(7,48,82,.65),rgba(7,48,82,.72)),url("imagenes/localizacion.png") center/cover}.location h2,.contact h2{font-size:2.25rem;margin-bottom:25px}.location p{max-width:500px;margin-bottom:22px}.contact{background:var(--navy);color:#fff;padding:70px max(5vw,40px)}.contact-inner{max-width:520px}.contact-info{display:grid;gap:13px;margin-bottom:25px}.contact-row{display:flex;gap:14px}.contact-row b{min-width:20px}form{display:grid;gap:10px}input,textarea{width:100%;padding:14px 15px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;font:inherit;border-radius:3px}input::placeholder,textarea::placeholder{color:#aab7c4}textarea{min-height:115px;resize:vertical}form .btn{width:100%}
footer{background:#06213b;color:#fff;padding:50px 0 0}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px;padding-bottom:38px}.footer-logo{font-family:"Playfair Display";font-size:2rem}footer h3{font-family:"DM Sans";font-size:1rem;margin-bottom:14px}footer a{display:block;color:#d9e1e8;font-size:.9rem;margin:6px 0}.copyright{border-top:1px solid rgba(255,255,255,.14);text-align:center;padding:18px;font-size:.82rem;color:#b7c3ce}
.back-to-top{position:fixed;right:20px;bottom:20px;width:52px;height:52px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:30px;box-shadow:0 8px 25px rgba(0,0,0,.22);z-index:30;opacity:0;pointer-events:none;transition:.25s}.back-to-top.show{opacity:1;pointer-events:auto}.back-to-top:hover{background:var(--gold);transform:translateY(-3px)}
.legal{padding:150px 0 80px}.legal article{background:#fff;padding:45px;box-shadow:var(--shadow);border-radius:var(--radius)}.legal h1{color:var(--navy);font-size:2.8rem;margin-bottom:25px}.legal h2{color:var(--navy);font-size:1.5rem;margin:28px 0 10px}.legal p,.legal li{margin-bottom:10px}.legal ul{padding-left:22px}
@media(max-width:900px){.rooms{grid-template-columns:repeat(2,1fr)}.service-grid{grid-template-columns:repeat(2,1fr)}.location-contact{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.nav{height:70px}.menu-toggle{display:block}.menu{position:absolute;top:70px;left:0;right:0;background:#fff;display:none;flex-direction:column;gap:0;box-shadow:0 12px 25px rgba(0,0,0,.1)}.menu.open{display:flex}.menu a{padding:15px 5%;border-bottom:1px solid #eee}.menu a:after{display:none}.hero{min-height:650px}.hero-content{padding-top:80px}.hero h1{font-size:3.4rem}.hero h2{font-size:1.25rem}.section{padding:58px 0}.section-title h2{font-size:2rem}.rooms,.service-grid{grid-template-columns:1fr}.card-image{height:235px}.location,.contact{padding:55px 7%}.footer-grid{grid-template-columns:1fr}.legal article{padding:25px}.legal h1{font-size:2.2rem}}
