:root{--blanco: #f7fbfb;--menta: #22b3a0;--menta-oscura: #17786c;--navy: #14324a;--coral: #ff7a66;--coral-oscuro: #d9503c;--linea: rgba(20, 50, 74, .12);--muted: #5a7385;--display: "Sen", "Arial Rounded MT Bold", sans-serif;--body: "Work Sans", system-ui, sans-serif}body{background:var(--blanco);color:var(--navy);font-family:var(--body);font-size:17px;line-height:1.6;overflow-x:clip}.ib ::selection{background:var(--menta);color:var(--blanco)}.ib a:focus-visible,.ib .btn:focus-visible{outline:3px solid var(--coral-oscuro);outline-offset:3px}.wrap{max-width:1080px;margin:0 auto;padding:0 20px}.hero{padding:48px 0 40px;background:radial-gradient(900px 460px at 12% -12%,rgba(34,179,160,.14),transparent 62%)}.hero-grid{display:grid;grid-template-columns:1fr;gap:32px;align-items:center}.kicker{font-weight:700;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--menta-oscura);margin:0 0 14px}.titulo{margin:0 0 18px;font-family:var(--display);line-height:1.02;display:flex;flex-direction:column}.titulo .t1{font-size:clamp(40px,11vw,68px);font-weight:800;color:var(--navy);letter-spacing:-.01em}.titulo .t2{font-size:clamp(20px,5.4vw,30px);font-weight:700;color:var(--menta-oscura);margin-top:4px}.tagline{font-size:clamp(17px,4.4vw,20px);font-weight:400;color:var(--navy);max-width:42ch;margin:0 0 20px}.chip{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--linea);border-radius:999px;padding:8px 16px;font-weight:600;font-size:14.5px;color:var(--navy);text-decoration:none;background:#ffffffb3}.chip .star{color:var(--coral-oscuro)}.chip:hover{border-color:var(--menta)}.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--body);font-weight:600;font-size:16.5px;text-decoration:none;padding:14px 22px;border-radius:12px;transition:transform .15s ease,background-color .15s ease,border-color .15s ease}.btn:active{transform:scale(.97)}.btn-solid{background:var(--menta);color:#06231f}.btn-solid:hover{background:#29c7b2}.btn-ghost{border:1.5px solid var(--linea);color:var(--navy)}.btn-ghost:hover{border-color:var(--menta);color:var(--menta-oscura)}.btn-ghost-light{border:1.5px solid rgba(247,251,251,.55);color:var(--blanco)}.btn-ghost-light:hover{border-color:var(--blanco)}.btn-sm{font-size:15px;padding:11px 18px}.hero-foto{position:relative;max-width:340px;margin:0 auto}.hero-foto img{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:22px;transform:rotate(-1.4deg);box-shadow:0 22px 48px #14324a38}.hero-badge{position:absolute;left:14px;bottom:-14px;background:var(--navy);color:var(--blanco);font-weight:700;font-size:13.5px;padding:9px 14px;border-radius:999px;box-shadow:0 10px 22px #14324a47;white-space:nowrap}.ruta{padding:46px 0 40px}.ruta-inner{display:flex;align-items:center;gap:12px}.ruta-pin{font-size:24px;flex:none;filter:drop-shadow(0 3px 5px rgba(20,50,74,.22))}.ruta-line{position:relative;flex:1;height:3px;border-top:3px dashed var(--menta)}.ruta-van{position:absolute;top:-15px;left:0;font-size:22px;animation:ruta-drive 5.5s ease-in-out infinite alternate}@keyframes ruta-drive{0%{left:0}to{left:calc(100% - 26px)}}.ruta-text{text-align:center;font-size:15.5px;color:var(--muted);max-width:46ch;margin:18px auto 0}.ruta-text strong{color:var(--navy)}.sec{padding:60px 0}.sec-panel{background:#eef7f6}.sec-kicker{font-weight:700;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--menta-oscura);margin:0 0 10px}.sec-title{font-family:var(--display);font-weight:800;font-size:clamp(30px,7.6vw,46px);line-height:1.06;margin:0 0 26px;color:var(--navy)}.sec-title .menta{color:var(--menta-oscura)}.sobre-grid{display:grid;grid-template-columns:1fr;gap:30px;align-items:start}.about p{max-width:62ch;margin:0 0 16px;color:#3a5468}.about strong{color:var(--navy)}.sobre-foto img{width:100%;max-width:360px;aspect-ratio:3 / 4;object-fit:cover;border-radius:20px;box-shadow:0 18px 40px #14324a29;margin:0 auto}.servicios-grid{display:grid;grid-template-columns:1fr;gap:16px;margin:0 0 26px}.serv-card{background:var(--blanco);border:1.5px solid var(--linea);border-radius:16px;padding:22px}.serv-icono{font-size:28px;display:block;margin-bottom:10px}.serv-card h3{font-family:var(--display);font-weight:800;font-size:19px;margin:0 0 6px;color:var(--navy)}.serv-card p{margin:0;color:var(--muted);font-size:15px}.serv-extra{display:flex;flex-direction:column;gap:14px;align-items:flex-start}.serv-foto{width:100%;max-width:260px}.serv-foto img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:14px;box-shadow:0 14px 30px #14324a24}.nota-acceso{margin:0;color:var(--muted);font-size:14.5px}.reviews{display:grid;grid-template-columns:1fr;gap:16px;margin:0 0 28px}.rev{margin:0;background:var(--blanco);color:var(--navy);border:1.5px solid var(--linea);border-left:5px solid var(--coral);border-radius:14px;padding:20px 22px;box-shadow:0 10px 26px #14324a14}.rev-stars{color:var(--menta-oscura);font-size:16px;letter-spacing:.18em;margin:0 0 10px}.rev blockquote{margin:0 0 14px;font-size:15.5px;line-height:1.58;font-weight:400}.rev figcaption{margin:0;display:flex;flex-direction:column;gap:2px}.rev figcaption strong{font-family:var(--display);font-weight:700;font-size:15.5px}.rev figcaption span{font-size:12.5px;color:var(--muted)}.center{text-align:center}.ubica{display:grid;grid-template-columns:1fr;gap:28px}.ubica-foto{margin:0 0 18px;border-radius:16px;overflow:hidden;box-shadow:0 14px 30px #14324a24}.ubica-foto img{width:100%;aspect-ratio:4 / 3;object-fit:cover}.dir{font-size:17px;font-weight:500;margin:0 0 14px}.horario-titulo{font-family:var(--display);font-weight:800;font-size:18px;margin:28px 0 10px;color:var(--navy)}.horarios{width:100%;max-width:420px;border-collapse:collapse;font-size:15px}.horarios th,.horarios td{padding:9px 10px;border-bottom:1px solid var(--linea);text-align:left}.horarios th{font-weight:500;color:var(--navy)}.horarios td{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.horarios tr.hoy th,.horarios tr.hoy td{color:#06231f;background:var(--menta);font-weight:700}.horarios tr.hoy th{border-radius:8px 0 0 8px}.horarios tr.hoy td{border-radius:0 8px 8px 0}.horarios tr.hoy th:after{content:"hoy";font-family:var(--display);font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:var(--navy);color:var(--blanco);border-radius:4px;padding:2px 7px;margin-left:10px;vertical-align:1px}.mapa iframe{width:100%;height:300px;border:0;border-radius:16px;display:block}.banda{position:relative;padding:70px 0;text-align:center;color:var(--blanco);overflow:hidden}.banda-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.banda-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#14324adb,#14324aeb)}.banda-wrap{position:relative}.banda-title{font-family:var(--display);font-weight:800;font-size:clamp(30px,7.6vw,48px);line-height:1.08;margin:0 0 12px}.banda-sub{margin:0 auto 24px;max-width:42ch;font-weight:400;color:#dcebe8}.banda .cta-row{justify-content:center}.pie{padding:40px 0 96px;text-align:center;border-top:1px solid var(--linea)}.pie-logo{font-family:var(--display);font-weight:800;font-size:22px;color:var(--navy);margin:0 0 10px}.pie-dato{margin:4px 0;color:var(--muted);font-size:14.5px}.pie-dato a{color:var(--navy);text-decoration:none;border-bottom:1px solid var(--menta)}.pie-dato a:hover{color:var(--menta-oscura)}.pie-mini{margin:14px 0 0;color:#8098a8;font-size:12.5px}html.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}html.js .reveal.in{opacity:1;transform:none}@media(min-width:760px){.sec{padding:96px 0}.hero{padding:64px 0 56px}.hero-grid{grid-template-columns:1.15fr .85fr;gap:48px}.hero-copy{order:1}.hero-foto{order:2;max-width:100%}.sobre-grid{grid-template-columns:1.2fr .8fr;gap:48px}.servicios-grid{grid-template-columns:repeat(4,1fr)}.serv-extra{flex-direction:row;align-items:center;justify-content:space-between}.reviews{grid-template-columns:repeat(3,1fr);align-items:start}.ubica{grid-template-columns:1fr 1.2fr;align-items:start}.ubica-foto{margin:0 0 22px}.mapa iframe{height:420px}}
