:root{--color-bg-1: #5eead4;--color-bg-2: #2dd4bf;--color-bg-3: #99f6e4;--color-panel: rgba(255, 255, 255, .9);--color-text: #0f172a;--color-muted: #334155;--color-accent: #0f766e;--color-accent-soft: #ccfbf1;--color-border: rgba(15, 118, 110, .2);--shadow-soft: 0 14px 34px rgba(15, 118, 110, .12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Arial,sans-serif;margin:0;padding:clamp(12px,2.5vw,24px);min-height:100vh;color:var(--color-text);background:linear-gradient(-45deg,var(--color-bg-1),var(--color-bg-2),var(--color-bg-3),#14b8a6);background-size:250% 250%;animation:waterFlow 14s ease infinite}@keyframes waterFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes softFadeIn{0%{opacity:0}to{opacity:1}}@keyframes softFadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.app-shell{width:min(1120px,100%);margin:0 auto;display:grid;justify-items:center;gap:clamp(14px,2vw,22px)}.main-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:clamp(12px,2vw,24px);background:var(--color-panel);border:1px solid var(--color-border);border-radius:clamp(16px,2vw,24px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:clamp(12px,2vw,20px);position:relative;z-index:10;box-shadow:var(--shadow-soft)}.brand-row{display:flex;align-items:center;gap:clamp(12px,2vw,20px);min-width:0}.brand-row img{width:clamp(56px,8vw,86px);height:clamp(56px,8vw,86px);flex:0 0 auto;border-radius:10px;object-fit:cover}.brand-copy{min-width:0;display:grid;gap:4px}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.9rem,5vw,4.2rem);line-height:.95;letter-spacing:-.05em}h2{font-size:clamp(1.75rem,4vw,3.1rem);line-height:1.1;text-align:center}h3{font-size:clamp(1.25rem,2.4vw,1.65rem);text-align:center}p{font-size:clamp(1rem,1.55vw,1.2rem)}.tagline{color:#115e59;font-size:clamp(1rem,2.2vw,1.55rem);line-height:1.25}.menu-wrap{position:relative;flex:0 0 auto}.hamburger-btn{width:clamp(48px,7vw,64px);height:clamp(48px,7vw,64px);font-size:clamp(28px,4vw,38px);background:#0f766e;color:#fff;border:none;border-radius:16px;cursor:pointer;display:grid;place-items:center}.site-nav{display:none;position:absolute;top:calc(100% + 10px);right:0;min-width:min(230px,calc(100vw - 32px));background:#fffffffa;border:1px solid #99f6e4;border-radius:14px;box-shadow:0 16px 28px #0f766e2e;padding:8px;flex-direction:column;gap:6px}.site-nav.open{display:flex}.site-nav-link{color:#0f766e;background:transparent;font:inherit;font-weight:700;border-radius:10px;border:0;padding:10px 12px;text-align:left;cursor:pointer}.site-nav-link:hover,.site-nav-link.active{background:#ccfbf1}main{display:grid;gap:clamp(14px,2vw,22px);width:100%}.panel{scroll-margin-top:130px;width:100%;background:var(--color-panel);border:1px solid var(--color-border);border-radius:clamp(16px,2vw,24px);padding:clamp(18px,3.2vw,34px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-soft);display:grid;gap:clamp(14px,2vw,22px);line-height:1.6}.panel p{max-width:72ch;margin-inline:auto;color:var(--color-muted);text-align:center}.intro-copy{font-size:clamp(1.08rem,2vw,1.35rem);line-height:1.75}.section-heading{display:grid;justify-items:center;gap:8px;max-width:760px;margin:clamp(4px,1vw,10px) auto 0;text-align:center}.eyebrow{color:var(--color-accent);font-size:.8rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.section-heading p{max-width:54ch}.hero-slogan{font-size:clamp(1.05rem,2vw,1.35rem);font-weight:700;color:var(--color-accent);text-align:center}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:clamp(12px,2vw,18px)}.menu-card{background:#fff;border-radius:16px;overflow:hidden;border:1px solid #d1fae5;box-shadow:0 8px 18px #0f766e14;transition:transform .18s ease,box-shadow .18s ease}.menu-card:hover{transform:translateY(-3px);box-shadow:0 14px 24px #0f766e24}.menu-card img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}.menu-card p{padding:12px;font-weight:700;color:var(--color-text);text-align:center;text-transform:capitalize}.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2vw,18px)}.contact-card{background:#ffffffd1;border:1px solid var(--color-border);border-radius:14px;padding:clamp(14px,2vw,20px);display:grid;grid-template-rows:auto 3.2em auto;align-content:start;gap:12px}.contact-card>p{height:3.2em;min-height:3.2em;margin:0 auto;display:flex;align-items:flex-start;justify-content:center}.site-form{display:grid;gap:10px}input,textarea{font:inherit;border-radius:10px;border:1px solid #99f6e4;padding:11px 12px;width:100%}.site-form input{height:46px}.site-form textarea{height:120px;min-height:120px;resize:vertical}.site-form button,.contact-card button{font:inherit;border-radius:10px;padding:11px 12px;height:46px;width:100%;background:var(--color-accent);color:#fff;border:none;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.site-form button:hover,.contact-card button:hover{opacity:.92;transform:translateY(-1px)}.form-message{font-weight:700;color:#0f766e}footer{text-align:center;width:100%;margin:0 0 6px;color:#115e59;font-weight:600}.footer-copy{background:var(--color-panel);border:1px solid var(--color-border);border-radius:12px;padding:clamp(10px,2vw,14px);font-size:clamp(.85rem,1.5vw,1rem)}.text-cyber-gold{color:#ca8a04}.app-shell>*{animation:softFadeIn .5s ease both}.section-menu>*,.section-quienes>*,.section-contacto>*{animation:softFadeInUp .7s ease both}.section-menu>*:nth-child(2),.section-quienes>*:nth-child(2),.section-contacto>*:nth-child(2){animation-delay:.08s}.section-menu>*:nth-child(3),.section-quienes>*:nth-child(3),.section-contacto>*:nth-child(3){animation-delay:.14s}.section-menu>*:nth-child(4),.section-quienes>*:nth-child(4),.section-contacto>*:nth-child(4){animation-delay:.2s}.section-menu>*:nth-child(n+5),.section-quienes>*:nth-child(n+5),.section-contacto>*:nth-child(n+5){animation-delay:.26s}.main-header,.panel,.menu-card,.contact-card,.footer-copy,.site-nav{animation:softFadeInUp .6s ease both}@media (prefers-reduced-motion: reduce){.app-shell>*,.main-header,.panel,.menu-card,.contact-card,.footer-copy,.site-nav,.section-menu>*,.section-quienes>*,.section-contacto>*{animation:none}}@media (min-width: 1024px){.panel p{text-align:center}.section-quienes p{max-width:70ch}.menu-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width: 769px) and (max-width: 1023px){.main-header{align-items:flex-start}.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 768px){body{padding:10px}.main-header{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}.brand-row{gap:10px}.brand-row img{width:54px;height:54px}h1{font-size:clamp(1.7rem,7.5vw,2.4rem);letter-spacing:-.04em}.tagline{font-size:clamp(.95rem,4.2vw,1.2rem)}.panel{scroll-margin-top:108px;line-height:1.55}.panel p{text-align:center}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{grid-template-columns:1fr}}@media (max-width: 480px){.main-header{position:static}.brand-row{align-items:center}.brand-row img{width:48px;height:48px}.brand-copy{text-align:center}.hamburger-btn{width:48px;height:48px;border-radius:14px}.site-nav{position:fixed;top:76px;right:10px;left:10px;width:auto}h1{font-size:clamp(1.6rem,8vw,2rem)}h2{font-size:clamp(1.55rem,8vw,2.1rem)}p{font-size:1rem}.menu-grid{grid-template-columns:1fr}.menu-card img{aspect-ratio:16 / 10}}.menu-content{display:grid;gap:12px}.menu-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px}.filter-btn{border:1px solid var(--color-accent);border-radius:999px;padding:9px 17px;background:#fff;color:var(--color-accent);font:inherit;font-weight:700;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.filter-btn:hover{transform:translateY(-1px)}.filter-btn.active{background:var(--color-accent);color:#fff}.menu-result-count{font-size:.9rem}.menu-card{display:flex;flex-direction:column}.menu-card .menu-category{align-self:center;margin:0 0 12px;padding:4px 10px;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent);font-size:.78rem;font-weight:700}.visit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,22px)}.visit-card{min-width:0;padding:clamp(16px,2.5vw,24px);display:grid;align-content:start;gap:14px;background:#ffffffd1;border:1px solid var(--color-border);border-radius:16px}.visit-card h3{text-align:left}.hours-list{list-style:none;padding:0;margin:0;display:grid;gap:0}.hours-list li{display:grid;gap:5px;padding:13px 0;border-bottom:1px solid var(--color-border)}.hours-list li:first-child{padding-top:0}.hours-list li span{color:var(--color-muted)}.hours-list li strong{color:var(--color-text);font-size:.98rem}.hours-note{font-size:.85rem!important;text-align:left!important}.map-frame{overflow:hidden;border-radius:12px;min-height:300px}.map-frame iframe{width:100%;height:320px;border:0;display:block}.map-link{display:inline-flex;justify-content:center;align-items:center;padding:11px 14px;border-radius:10px;background:var(--color-accent);color:#fff;text-decoration:none;font-weight:700}.map-link:hover{opacity:.9}@media (max-width: 768px){.visit-grid{grid-template-columns:1fr}.map-frame iframe{height:280px}}
