/* Full-width photographic masthead and compact, readable service cards. */
.brand .brand-mark{border-radius:50%}
.header-languages{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;margin-left:2px}.header-languages img{width:28px;height:18px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px #0f3a5e12}
@media(max-width:767px){.header-languages{gap:5px;margin-left:0}.header-languages img{width:24px;height:16px}.site-header .header-actions{gap:7px}.site-header .header-actions .whatsapp{display:inline-flex;width:36px;height:40px}.site-header .header-book{padding-inline:10px}.site-header .menu-toggle{width:36px;height:40px}}
@media(max-width:480px){.site-header .brand-name{display:none}.site-header .header-inner{gap:8px}}
.contact-section .contact-grid{grid-template-columns:minmax(280px,.8fr) minmax(0,1.6fr);gap:40px;align-items:center}
.contact-section .contact-copy{grid-column:auto}
.contact-section .contact-map iframe{height:420px;min-height:420px}
@media(max-width:767px){.contact-section .contact-grid{grid-template-columns:1fr;gap:28px}.contact-section .contact-map iframe{height:320px;min-height:320px}}
.hero.hero--panoramica{padding:0;background:var(--paper);isolation:isolate}
.hero--panoramica .hero-grid{position:static;display:flex;min-height:540px;padding-block:76px}
.hero--panoramica .hero-copy{position:relative;z-index:2;width:min(590px,55%);animation:gb-title-enter .9s .12s both}
.hero--panoramica .hero-title{font-size:clamp(36px,3.35vw,48px);line-height:1.2;max-width:590px;text-wrap:balance}
.hero--panoramica .hero-media{position:absolute;inset:0;margin:0;z-index:-1;border-radius:0}
.hero--panoramica .hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fdfcfbf5 0%,#fdfcfbea 36%,#fdfcfb50 64%,#fdfcfb00 87%)}
.hero--panoramica .hero-media>img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 0%;border-radius:0;box-shadow:none;transform:translateY(var(--hero-offset,0px)) scale(1.045);animation:gb-photo-enter 1.8s ease-out both}
.hero.hero--editorial{padding:46px 0 0;background:var(--paper)}
.hero--editorial .hero-grid{display:flex;flex-direction:column;gap:30px;width:100%;max-width:none}
.hero--editorial .hero-copy{width:min(900px,calc(100% - 48px));text-align:center;animation:gb-title-enter .9s .12s both}
.hero--editorial .hero-title{font-size:clamp(32px,3vw,42px);line-height:1.2;max-width:none;text-wrap:balance}
.hero--editorial .button-row{justify-content:center;margin-top:24px}
.hero--editorial .hero-media{width:100%;height:300px;margin:0;border-radius:0;overflow:hidden}
.hero--editorial .hero-media>img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 24%;border-radius:0;box-shadow:none;animation:gb-photo-enter 1.8s ease-out both;transform:scale(1.045)}
@keyframes gb-title-enter{from{opacity:0;translate:0 25px;clip-path:inset(0 0 100% 0)}to{opacity:1;translate:0 0;clip-path:inset(0)}}
@keyframes gb-photo-enter{from{opacity:.65;transform:translateY(var(--hero-offset,0px)) scale(1.12)}to{opacity:1;transform:translateY(var(--hero-offset,0px)) scale(1.045)}}
.site-header .header-inner,.site-header .brand-mark{transition:min-height .25s ease,width .25s ease,height .25s ease}
.site-header.is-scrolled{box-shadow:0 5px 24px #0f3a5e12}.site-header.is-scrolled .header-inner{min-height:74px}.site-header.is-scrolled .brand-mark{width:52px;height:52px}
.treatments-section{padding-block:62px}.treatments-section .section-heading{margin-bottom:26px}
.treatments-section .treatments-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.treatments-section .treatment-card{display:grid;grid-template-columns:160px minmax(0,1fr);padding:0;gap:0;border-radius:12px;min-height:170px;transition:background .3s ease,box-shadow .3s ease,border-color .3s ease,transform .3s ease}
.treatments-section .treatment-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--blue);z-index:2;transform:scaleY(0);transform-origin:bottom;transition:transform .3s ease}
.treatments-section .treatment-photo{aspect-ratio:auto;min-height:170px;height:100%;align-self:stretch}
.treatments-section .treatment-photo img{object-fit:cover;object-position:center;transition:transform .55s cubic-bezier(.2,.65,.3,1)}
.treatments-section .treatment-card-copy{padding:20px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.treatments-section .treatment-card-heading{gap:9px}.treatments-section .treatment-card-heading h3{font-size:14px;line-height:1.4}
.treatments-section .treatment-icon .icon{width:19px;height:19px}
.treatments-section .treatment-card-copy>p{font-size:12px;line-height:1.7;margin-top:9px}.treatments-section .treatment-card-copy>.treatment-subtitle{font-size:10px;margin-top:5px}
.treatments-section .treatment-card:is(:hover,:focus-within){background:#f3f9fc;border-color:#99c5dd;transform:translateY(-3px);box-shadow:0 10px 25px #123e5e12}
.treatments-section .treatment-card:is(:hover,:focus-within)::before{transform:scaleY(1)}
.treatments-section .treatment-card:is(:hover,:focus-within) .treatment-photo img{transform:scale(1.10)}
.treatment-dialog[open]{animation:gb-dialog-enter .26s ease-out}.treatment-dialog[open]::backdrop{animation:gb-backdrop-enter .22s ease-out}
@keyframes gb-dialog-enter{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
@keyframes gb-backdrop-enter{from{opacity:0}to{opacity:1}}
@media(max-width:1199px){.hero--panoramica .hero-copy{width:min(570px,58%)}.treatments-section .treatment-card{grid-template-columns:130px minmax(0,1fr)}.treatments-section .treatment-card-copy{padding:17px}}
@media(max-width:900px){.hero--panoramica .hero-copy{width:62%}.hero--panoramica .hero-title{font-size:36px}.treatments-section .treatment-card{grid-template-columns:100px minmax(0,1fr)}.treatments-section .treatment-card-copy{padding:15px}.treatments-section .treatment-card-heading h3{font-size:13px}}
@media(max-width:767px){.hero--panoramica .hero-grid{min-height:490px;padding-block:46px;align-items:flex-start}.hero--panoramica .hero-copy{width:100%;max-width:470px}.hero--panoramica .hero-title{font-size:clamp(30px,7.7vw,38px);line-height:1.22}.hero--panoramica .hero-media>img{object-position:76% 50%}.hero--panoramica .hero-media::after{background:linear-gradient(180deg,#fdfcfbf5 0%,#fdfcfbe8 47%,#fdfcfb30 90%)}.hero.hero--editorial{padding-top:36px}.hero--editorial .hero-grid{gap:28px}.hero--editorial .hero-copy{width:calc(100% - 36px)}.hero--editorial .hero-title{font-size:30px}.hero--editorial .hero-media{height:230px}.hero--editorial .hero-media>img{object-position:75% 40%}.treatments-section{padding-block:42px}.treatments-section .treatments-grid{grid-template-columns:1fr;gap:12px}.treatments-section .treatment-card{grid-template-columns:94px minmax(0,1fr);min-height:150px}.treatments-section .treatment-photo{min-height:150px}.treatments-section .treatment-card-copy{padding:15px}.treatments-section .treatment-card-heading h3{font-size:13px}.treatments-section .treatment-card-copy>p{font-size:12px;line-height:1.75}.site-header.is-scrolled .header-inner{min-height:76px}.site-header.is-scrolled .brand-mark{width:48px;height:48px}}
@media(max-width:359px){.treatments-section .treatment-card{grid-template-columns:76px minmax(0,1fr)}.treatments-section .treatment-card-copy{padding:13px}.hero--panoramica .hero-grid{min-height:515px}}
@media(max-width:767px){.hero--panoramica .hero-grid{min-height:0;padding:38px 0 264px}.hero--panoramica .hero-media{background:var(--paper)}.hero--panoramica .hero-media::after{display:block;inset:auto 0 0;height:240px;background:linear-gradient(180deg,var(--paper) 0%,#fdfcfb00 28%,#fdfcfb00 88%,var(--paper) 100%);pointer-events:none}.hero--panoramica .hero-media>img{position:absolute;bottom:0;width:100%;height:240px;object-position:76% 35%;animation:gb-mobile-photo-enter 2s .25s ease-out both;transform:none}.hero--panoramica+.treatments-section{padding-top:72px}}
@keyframes gb-mobile-photo-enter{from{opacity:0;filter:blur(9px)}to{opacity:1;filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.hero .hero-copy,.hero .hero-media>img,.treatment-dialog[open],.treatment-dialog[open]::backdrop{animation:none}.hero .hero-media>img{transform:none}.site-header .header-inner,.site-header .brand-mark,.treatments-section .treatment-card,.treatments-section .treatment-photo img,.treatments-section .treatment-card::before{transition:none}.treatments-section .treatment-card:is(:hover,:focus-within),.treatments-section .treatment-card:is(:hover,:focus-within) .treatment-photo img{transform:none}}
