*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;overflow-x:hidden;-webkit-font-smoothing:antialiased}
:root{--c1:#BAC4A7;--c1d:#a0b08d;--c1l:#d4dcc7;--c2:#f1b2b2;--c2d:#e49a9a;--c2l:#f8d4d4;--t1:#3f4737;--t2:#6b7560;--w:#fff;--bg1:#f9faf7;--cream:#faf8f5;--sh1:0 2px 8px rgba(0,0,0,.06);--sh2:0 4px 16px rgba(0,0,0,.12);--font-title:'Yeseva One',Georgia,serif;--font-body:'Poppins',sans-serif;--safe-top:env(safe-area-inset-top,0);--safe-bottom:env(safe-area-inset-bottom,0)}
body{font-family:var(--font-body);background:var(--cream);color:var(--t1);overflow-x:hidden;line-height:1.6;font-weight:300}
h1,h2,h3,h4{font-family:var(--font-title);font-weight:400}
input,textarea,select{-webkit-user-select:text;-moz-user-select:text;user-select:text}
header{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:center;padding:1rem 5%;background:rgba(255,255,255,.98);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(0,0,0,.05);z-index:1000;transition:.3s;padding-top:calc(1rem + var(--safe-top))}
header.scrolled{padding:.75rem 5%;padding-top:calc(.75rem + var(--safe-top));box-shadow:var(--sh2)}
.header-inner{width:100%;max-width:1400px;display:flex;align-items:center;justify-content:space-between}
.logo img{height:60px;transition:.3s;pointer-events:auto}
header.scrolled .logo img{height:45px}
nav{display:flex;align-items:center;gap:1.5rem}
nav a{text-decoration:none;color:var(--t2);font-weight:400;font-size:13px;transition:.3s}
nav a:hover{color:var(--c2)}
.btn-cita{border:2px solid var(--c1);padding:.5rem 1.5rem;color:var(--c1);background:0;font-size:14px;transition:.3s}
.btn-cita:hover{background:var(--c2);border-color:var(--c2);color:var(--w)}
.icon-link{padding:0;height:26px}
.instagram-icon{width:26px;height:26px}
.menu-toggle{display:none;width:48px;height:48px;position:relative;cursor:pointer;background:transparent;border:none}
.menu-toggle span{position:absolute;width:22px;height:2.5px;background:var(--c1);left:50%;transform:translateX(-50%);transition:.3s}
.menu-toggle span:nth-child(1){top:14px}
.menu-toggle span:nth-child(2){top:50%;transform:translate(-50%,-50%)}
.menu-toggle span:nth-child(3){bottom:14px}
.menu-toggle.active span:nth-child(1){top:50%;transform:translate(-50%,-50%) rotate(45deg)}
.menu-toggle.active span:nth-child(2){opacity:0}
.menu-toggle.active span:nth-child(3){bottom:50%;transform:translate(-50%,50%) rotate(-45deg)}
.btn-cita-mobile{display:none;border:2px solid var(--c1);padding:.5rem 1rem;color:var(--c1);background:0;text-decoration:none;font-size:13px;min-height:44px;align-items:center;justify-content:center}
body.no-scroll{overflow:hidden;position:fixed;width:100%;height:100%}
.menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:.3s;z-index:10000}
.menu-overlay.active{opacity:1;visibility:visible}
.bottom-sheet{position:fixed;inset:0;background:var(--w);transform:translateX(-100%);transition:.4s cubic-bezier(.4,0,.2,1);z-index:10001;overflow-y:auto;padding:1.5rem;padding-top:calc(1.5rem + var(--safe-top));padding-bottom:calc(1.5rem + var(--safe-bottom))}
.menu-overlay.active .bottom-sheet{transform:translateX(0)}
.menu-header{display:flex;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #eee}
.menu-title{font-size:18px;font-family:var(--font-title);color:var(--t1);position:absolute;left:50%;transform:translateX(-50%)}
.close-menu{width:48px;height:48px;border:0;background:var(--bg1);cursor:pointer;display:flex;align-items:center;justify-content:center}
.close-menu svg{width:20px;height:20px;stroke:var(--t1)}
.menu-items{display:flex;flex-direction:column;gap:.5rem}
.menu-item{display:flex;align-items:center;gap:1rem;padding:1rem;text-decoration:none;color:var(--t1);min-height:64px;transition:.2s}
.menu-item:hover{background:var(--bg1)}
.menu-icon{width:48px;height:48px;background:var(--c1l);display:flex;align-items:center;justify-content:center}
.menu-icon svg{width:22px;height:22px;stroke:var(--t1)}
.menu-text{display:flex;flex-direction:column}
.menu-label{font-weight:500;font-size:15px}
.menu-sublabel{font-size:12px;color:var(--t2)}
.menu-divider{height:1px;background:#eee;margin:.75rem 0}
footer{background:var(--t1);color:var(--w);padding:4rem 5% 2rem;padding-bottom:calc(2rem + var(--safe-bottom))}
.footer-container{max-width:1200px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-column h4{font-size:1.1rem;margin-bottom:1.5rem;color:var(--c1l);font-family:var(--font-body)}
.footer-logo{height:70px;margin-bottom:1.5rem;filter:brightness(0) invert(1)}
.footer-description{font-size:.9rem;color:rgba(255,255,255,.7);line-height:1.7;margin-bottom:1.5rem}
.footer-social{display:flex;gap:1rem}
.footer-social a{width:48px;height:48px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:var(--w);transition:.3s}
.footer-social a:hover{background:var(--c2);transform:translateY(-3px)}
.social-icon{width:22px;height:22px;stroke:currentColor}
.contact-icon{width:18px;height:18px;stroke:var(--c1l);flex-shrink:0;margin-top:2px}
.footer-links{list-style:none}
.footer-links li{margin-bottom:.75rem}
.footer-links a{color:rgba(255,255,255,.7);text-decoration:none;font-size:.9rem;transition:.3s;display:inline-flex;align-items:center;min-height:40px}
.footer-links a:hover{color:var(--c2)}
.footer-contact{list-style:none}
.footer-contact li{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem;color:rgba(255,255,255,.7);font-size:.9rem}
.footer-newsletter{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2rem 0;margin-top:2rem;border-top:1px solid rgba(255,255,255,.1)}
.newsletter-content h4{font-size:1.1rem;color:var(--c1l);margin-bottom:.25rem}
.newsletter-content p{font-size:.85rem;color:rgba(255,255,255,.6);margin:0}
.newsletter-form{flex:1;max-width:400px}
.newsletter-input-wrap{display:flex;gap:0}
.newsletter-input-wrap input{flex:1;padding:.75rem 1rem;border:none;background:rgba(255,255,255,.1);color:var(--w);font-size:14px;font-family:var(--font-body);min-height:48px}
.newsletter-input-wrap input::placeholder{color:rgba(255,255,255,.5)}
.newsletter-input-wrap input:focus{outline:none;background:rgba(255,255,255,.15)}
.newsletter-input-wrap button{padding:.75rem 1.5rem;background:var(--c2);color:var(--w);border:none;font-size:14px;font-family:var(--font-body);cursor:pointer;transition:.3s;white-space:nowrap;min-height:48px}
.newsletter-input-wrap button:hover{background:var(--c2d)}
.newsletter-msg{font-size:12px;margin-top:.5rem}
.newsletter-msg.success{color:#8bc34a}
.newsletter-msg.error{color:var(--c2)}
.footer-legal{padding:1.5rem 0;border-top:1px solid rgba(255,255,255,.1);margin-top:2rem}
.footer-legal-links{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}
.footer-legal-links a{font-size:.85rem;color:rgba(255,255,255,.5);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.footer-legal-links a:hover{color:var(--c2)}
.footer-bottom{padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-bottom p{color:rgba(255,255,255,.5);font-size:.85rem}
.footer-credit{display:flex;align-items:center;gap:.5rem}
.footer-credit span{font-size:.85rem;color:rgba(255,255,255,.5)}
.credit-link{display:flex;align-items:center}
.credit-logo{height:32px}
.footer-mobile-links{display:none;flex-direction:column;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}
.footer-mobile-links a{color:rgba(255,255,255,.8);text-decoration:none;font-size:.9rem;padding:.75rem 1.5rem;border:1px solid rgba(255,255,255,.2);transition:.3s}
.footer-mobile-links a:hover{background:rgba(255,255,255,.1)}
.footer-mobile-location{display:flex;align-items:center;justify-content:center;gap:.5rem;color:rgba(255,255,255,.7);font-size:.9rem;padding:.5rem 0}
.footer-mobile-location svg{width:18px;height:18px;stroke:var(--c1l)}
@media(max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}}
@media(max-width:768px){
  header{padding:.75rem 4%;padding-top:calc(.75rem + var(--safe-top))}
  nav{display:none}
  .menu-toggle{display:block}
  .header-inner{position:relative}
  .menu-toggle{order:1}
  .logo{order:2;position:absolute;left:50%;transform:translateX(-50%)}
  .logo img{height:44px}
  .btn-cita-mobile{display:flex;order:3;font-size:12px;padding:.4rem .8rem;min-height:40px}
  footer{padding:3rem 6% 2rem}
  .footer-grid{grid-template-columns:1fr;text-align:center}
  .footer-column{display:flex;flex-direction:column;align-items:center}
  .footer-column:not(:first-child){display:none}
  .footer-logo{height:60px;margin-bottom:1rem}
  .footer-social{justify-content:center}
  .footer-mobile-links{display:flex}
  .footer-newsletter{flex-direction:column;text-align:center}
  .newsletter-form{max-width:100%;width:100%}
  .footer-bottom{justify-content:center;text-align:center}
  .footer-credit{justify-content:center}
}
