*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--fondo);color:var(--texto);font-family:var(--cuerpo);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--principal);outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--titulos);line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(3.5rem,7vw,6.25rem);max-width:620px}h2{font-size:clamp(2.3rem,4vw,3.5rem)}h3{font-family:var(--titulos);font-size:1.6rem;line-height:1.2;letter-spacing:-.025em}.wrap{max-width:1200px;margin-inline:auto;padding-inline:40px}.header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:25px;border-bottom:1px solid var(--borde)}.brand{display:flex;align-items:center;gap:12px;font-family:var(--titulos);font-size:1.4rem;white-space:nowrap}.logo{width:42px;height:42px;border-radius:50%;flex-shrink:0}.logo img{object-fit:contain!important}.logo .placeholder-mark{font-size:2rem}.logo .placeholder-label{display:none}.nav{display:flex;gap:30px;font-size:.875rem}.nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:52px;padding:14px 26px;background:var(--principal);color:var(--on-principal,var(--superficie));border:1px solid transparent;border-radius:6px;font-size:.9375rem;font-weight:500;transition:filter .18s,transform .18s}.button:hover{filter:brightness(.9);transform:translateY(-1px)}.header-book{min-height:44px;padding:10px 20px;font-size:.875rem}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:65px;align-items:center;padding-block:66px 76px}.eyebrow{font-size:.75rem;letter-spacing:.16em;font-weight:600;color:var(--principal);margin-bottom:22px}.hero h1{color:var(--principal)}.hero-description{max-width:360px;color:var(--textoSuave);margin-top:26px;line-height:1.75}.actions{display:flex;align-items:center;gap:28px;margin-top:30px}.text-link{background:none;border:0;min-height:48px;display:inline-flex;align-items:center;font-size:.9375rem;text-decoration:underline;text-underline-offset:5px}.location{font-size:.875rem;color:var(--textoSuave);margin-top:32px}.media{position:relative;overflow:hidden;background:var(--secundario)}.media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-image{aspect-ratio:1/1.08;border-radius:48% 48% 6px 6px}.hero-visual figcaption{font-family:var(--titulos);font-style:italic;text-align:center;color:var(--textoSuave);font-size:.9375rem;margin-top:16px}.placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:var(--principal);background:color-mix(in srgb,var(--secundario) 65%,var(--fondo))}.placeholder[hidden]{display:none}.placeholder-mark{font-family:var(--titulos);font-size:5rem;font-style:italic;line-height:1}.placeholder-label{font-size:.75rem;letter-spacing:.1em}.services{padding-block:50px 80px;border-top:1px solid var(--borde)}.section-heading .eyebrow{margin-bottom:16px}.section-heading .muted{margin-top:18px;max-width:430px}.muted{color:var(--textoSuave)}.price-note{font-size:.8125rem;color:var(--textoSuave);margin-top:18px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}.service-image{aspect-ratio:1.2;border-radius:6px}.variation-1 .placeholder{background:color-mix(in srgb,var(--secundario) 35%,var(--fondo))}.variation-2 .placeholder{background:color-mix(in srgb,var(--principal) 12%,var(--fondo))}.service-top{display:flex;justify-content:space-between;gap:8px;font-size:.8125rem;color:var(--textoSuave);margin:19px 0 12px}.service-number{color:var(--principal)}.service-description{font-size:.9375rem;line-height:1.65;margin-top:12px;min-height:74px}.service-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--borde)}.price{font-size:1.0625rem;white-space:nowrap}.reserve{background:none;color:var(--principal);border:0;min-height:48px;padding:8px 0 8px 10px;font-size:.875rem}.reserve:hover{text-decoration:underline;text-underline-offset:4px}.about{display:grid;grid-template-columns:1fr 1fr;gap:80px;background:color-mix(in srgb,var(--secundario) 35%,var(--fondo));padding-block:65px}.about h2{white-space:pre-line}.story{max-width:440px;align-self:center;color:var(--textoSuave);line-height:1.85}.signature{font-family:var(--titulos);font-style:italic;font-size:1.7rem;color:var(--principal);margin-top:24px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:80px}.contact-details{align-self:center}.city{font-size:1.125rem;margin-bottom:16px}.contact-link{display:flex;justify-content:space-between;min-height:54px;align-items:center;border-bottom:1px solid var(--borde);color:var(--principal)}.contact-link:hover{background:color-mix(in srgb,var(--secundario) 25%,transparent)}.final{text-align:center;background:var(--principal);color:var(--on-principal,var(--superficie));padding:64px 24px}.final .eyebrow{color:inherit;opacity:.8}.final h2{margin-bottom:26px}.light{background:var(--secundario);color:var(--on-secondary,var(--texto))}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:26px;font-size:.8125rem;color:var(--textoSuave)}.footer-brand{font-family:var(--titulos);font-size:1.25rem;color:var(--principal)}.back-top{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--borde);border-radius:50%}.booking-dialog{position:fixed;max-width:440px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:38px 28px 26px;border:1px solid var(--borde);border-radius:12px;background:var(--fondo);color:var(--texto)}.booking-dialog::backdrop{background:color-mix(in srgb,var(--texto) 45%,transparent)}.booking-dialog h2{font-size:2.5rem}.booking-dialog p{margin-block:16px}.booking-dialog .eyebrow{font-size:.6875rem}.booking-dialog .button{width:100%;margin-top:10px}.booking-dialog>.text-link{display:flex;margin:8px auto 0}.close{position:absolute;top:6px;right:6px;width:44px;height:44px;border:0;background:none;color:var(--texto);font-size:1.7rem}.selected-service{color:var(--principal);font-weight:600}.skip-link{position:fixed;top:-100px;left:10px;z-index:10;padding:12px;background:var(--fondo)}.skip-link:focus{top:10px}.empty{grid-column:1/-1}
@media(max-width:1000px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.service-description{min-height:50px}.hero{gap:32px}.nav{gap:16px}.about,.contact{gap:40px}}
@media(max-width:650px){.wrap{padding-inline:22px}.header{padding-block:18px;gap:12px}.brand{font-size:1.22rem;gap:9px}.logo{height:35px;width:35px}.header-book{font-size:.8125rem;padding:9px 13px}.nav{display:none}.hero{grid-template-columns:1fr;gap:30px;padding-block:34px 38px}.hero .eyebrow{margin-bottom:18px}.hero h1{font-size:3.6rem;max-width:380px}.hero-description{margin-top:20px;max-width:340px}.actions{gap:25px;margin-top:24px}.location{margin-top:22px}.hero-image{aspect-ratio:1.25;border-radius:45% 45% 5px 5px}.hero-visual figcaption{font-size:.875rem}.services{padding-block:38px 48px}.section-heading .eyebrow{font-size:.6875rem}.section-heading .muted{margin-top:14px}.service-grid{grid-template-columns:1fr;gap:30px;margin-top:26px}.service{display:grid;grid-template-columns:95px minmax(0,1fr);column-gap:16px;padding-bottom:24px;border-bottom:1px solid var(--borde)}.service-image{aspect-ratio:auto;height:124px;margin-top:2px}.service-image .placeholder-mark{font-size:3rem}.service-image .placeholder-label{display:none}.service-top{margin:0 0 9px;font-size:.8125rem}.service h3{font-size:1.45rem}.service-description{font-size:.875rem;min-height:0;margin-top:9px}.service-bottom{margin-top:8px;padding-top:4px;border:0}.service:last-child{padding-bottom:0;border:0}.about{grid-template-columns:1fr;gap:24px;padding-block:42px}.story{font-size:1rem}.signature{margin-top:18px}.contact{grid-template-columns:1fr;gap:24px;padding-block:48px}.final{padding-block:45px}.final h2{font-size:2.65rem;max-width:340px;margin-inline:auto}.final .eyebrow{font-size:.6875rem}.footer{flex-wrap:wrap;gap:8px;padding-block:22px}.footer>span:nth-child(2){order:3;width:100%}.price{font-size:1rem}.placeholder-label{font-size:.6875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* El símbolo conserva su fondo transparente y gana presencia en la cabecera. */
.logo{width:48px;height:48px;background:transparent}
@media(max-width:650px){.logo{width:42px;height:42px}}
.city{margin-bottom:8px}.hours{font-size:.9375rem;color:var(--textoSuave);margin-bottom:16px}
