/* Approved changes are confined to banner layout and overlaid controls. */
.site-header .topbar{position:relative;display:block;height:250px;min-height:0;width:100%;max-width:none;padding:0;overflow:hidden;isolation:isolate}
.site-header .logo{position:absolute;inset:0;width:100%;height:100%;margin:0;background:none;z-index:0}
.site-header .logo::before{display:none;content:none}
.site-header .logo img,.site-header .logo:hover img,.site-header .logo:focus-visible img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center 50%;transform:none;filter:none;animation:none}
.site-header .social,.site-header .header-action{position:absolute;display:flex;z-index:4;bottom:16px}
.site-header .social a,.site-header .header-action,.site-header .menu-button,.whatsapp{border:1.5px solid #17202c!important;box-shadow:0 2px 7px rgba(0,0,0,.22),0 0 0 1px rgba(255,255,255,.7)!important}
.site-header .social{left:3%;gap:8px}.site-header .social a{width:40px;height:40px}.site-header .header-action{right:3%;width:auto;min-height:42px;padding:10px 22px;font-size:14px}.site-header .menu-button{position:absolute;right:3%;top:12px;z-index:5}
body[data-page="cimaterapia"] .site-header .logo img{object-position:center 24%}
@media(min-width:1440px){.site-header .topbar{height:280px}}
@media(max-width:900px){.site-header .topbar{height:220px}.site-header .logo img{height:100%;object-fit:cover}.site-header .social{left:14px;bottom:13px;gap:7px}.site-header .social a{width:36px;height:36px}.site-header .header-action{right:14px;bottom:13px;min-height:38px;padding:9px 15px;font-size:13px}.site-header .menu-button{right:14px;top:10px;font-size:13px;padding:8px 13px}.site-header .nav{top:100%;z-index:6}}
@media(max-width:600px){.site-header .topbar{height:195px}.site-header .logo img{height:100%;width:100%;object-position:center 45%}.site-header .social{left:12px;bottom:12px;gap:6px}.site-header .social a{width:34px;height:34px}.site-header .social svg{width:18px;height:18px}.site-header .header-action{right:12px;bottom:12px;min-height:36px;font-size:12px;padding:8px 12px}.site-header .menu-button{right:12px;top:8px;padding:6px 11px;font-size:12px}body[data-page="cimaterapia"] .site-header .logo img{object-position:40% center}}
@media(max-width:350px){.site-header .social{left:8px;gap:4px}.site-header .social a{width:30px;height:30px}.site-header .header-action{right:8px;font-size:11px;padding:8px 10px}}

/* Cimaterapia artwork is composed inside a safe central strip. */
body[data-page="cimaterapia"] .site-header .topbar{height:max(250px,calc(100vw / 6))}
body[data-page="cimaterapia"] .site-header .logo img{object-position:center center}
@media(max-width:900px){body[data-page="cimaterapia"] .site-header .topbar{height:220px}}
@media(max-width:600px){body[data-page="cimaterapia"] .site-header .topbar{height:195px}}

/* Preserve the complete square artwork in the Cimaterapia service card. */
.service-card img.cimaterapia-card-image,.service-card.tilt-card img.cimaterapia-card-image{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;flex-shrink:0;transform:none}

/* Keep Tarot title and complete cards within the header crop. */
.site-header.tarot-header .logo img{object-position:center center}
@media(min-width:1440px){.site-header.tarot-header .topbar{height:max(280px,calc(100vw / 6))}}

/* The four approved Tarot details reflow into the short header corners. */
.site-header.tarot-header .tarot-element{--art-scale:.38;position:absolute;z-index:1;display:block;width:calc(350px * var(--art-scale));height:calc(205px * var(--art-scale));overflow:hidden;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(0deg,transparent,#000 8%,#000 92%,transparent);mask-composite:intersect}
.site-header.tarot-header .tarot-element img{position:absolute;width:calc(2048px * var(--art-scale));height:calc(683px * var(--art-scale));max-width:none;max-height:none;object-fit:fill;transform:none;animation:none;filter:none}
.site-header.tarot-header .tarot-element-fuego{left:2%;top:3px}
.site-header.tarot-header .tarot-element-fuego img{left:0;top:0}
.site-header.tarot-header .tarot-element-aire{right:2%;top:3px}
.site-header.tarot-header .tarot-element-aire img{left:calc(-1698px * var(--art-scale));top:0}
.site-header.tarot-header .tarot-element-agua{left:2%;bottom:65px}
.site-header.tarot-header .tarot-element-agua img{left:0;top:calc(-478px * var(--art-scale))}
.site-header.tarot-header .tarot-element-tierra{right:2%;bottom:65px}
.site-header.tarot-header .tarot-element-tierra img{left:calc(-1698px * var(--art-scale));top:calc(-478px * var(--art-scale))}
.site-header.amalgama-header .logo img{object-position:55% center}
@media(min-width:901px){.site-header.amalgama-header .topbar{height:max(250px,calc(100vw / 5.5))}}
@media(max-width:900px){.site-header.tarot-header .tarot-element{--art-scale:.25}.site-header.tarot-header .tarot-element-agua,.site-header.tarot-header .tarot-element-tierra{bottom:57px}}
@media(max-width:600px){.site-header.tarot-header .tarot-element{--art-scale:.12}.site-header.tarot-header .tarot-element-fuego,.site-header.tarot-header .tarot-element-agua{left:2px}.site-header.tarot-header .tarot-element-aire,.site-header.tarot-header .tarot-element-tierra{right:2px}.site-header.tarot-header .tarot-element-agua,.site-header.tarot-header .tarot-element-tierra{bottom:49px}.site-header.tarot-header .menu-button{top:39px}}

/* Contact landscape: keep sunlight on the left and title over the right bank. */
.site-header.contacto-header .topbar{height:clamp(250px,20vw,360px)}
.site-header.contacto-header .logo img{object-position:center 43%}
.site-header.contacto-header .contacto-banner-title{position:absolute;z-index:1;left:56%;top:50%;transform:translateY(-50%);width:40%;color:#fff;text-align:center;line-height:1.2;text-shadow:0 2px 5px #14213d,0 0 18px #14213d}
.site-header.contacto-header .contacto-banner-title span{display:block;font-size:clamp(14px,1.6vw,24px);font-weight:500;margin-bottom:8px}
.site-header.contacto-header .contacto-banner-title strong{display:block;font-size:clamp(36px,4.5vw,64px);font-weight:700}
@media(max-width:900px){.site-header.contacto-header .topbar{height:220px}}
@media(max-width:600px){.site-header.contacto-header .topbar{height:195px}.site-header.contacto-header .contacto-banner-title{left:50%;width:47%;top:58%}.site-header.contacto-header .contacto-banner-title span{font-size:12px}.site-header.contacto-header .contacto-banner-title strong{font-size:30px}}

/* Rainbow header: preserve the complete arch from sky to horizon. */
.site-header.historia-header .topbar{height:auto;aspect-ratio:4.1;min-height:0}
.site-header.historia-header .logo img{object-position:center 29%}
.site-header.historia-header .historia-banner-title{position:absolute;z-index:1;left:24%;width:52%;top:53%;transform:translateY(-50%);color:#fff;text-align:center;line-height:1.15;text-shadow:0 1px 3px rgba(20,33,61,.6)}
.site-header.historia-header .historia-banner-title span{display:block;font-size:clamp(12px,1.6vw,24px);font-weight:500;margin-bottom:6px}
.site-header.historia-header .historia-banner-title strong{display:block;font-size:clamp(28px,4.2vw,60px);font-weight:700}
@media(max-width:900px){.site-header.historia-header .topbar{aspect-ratio:3}.site-header.historia-header .logo img{object-position:center 22%}}
@media(max-width:600px){.site-header.historia-header .topbar{aspect-ratio:2.5}.site-header.historia-header .historia-banner-title{top:44%;left:18%;width:64%}.site-header.historia-header .historia-banner-title span{font-size:11px;margin-bottom:3px}.site-header.historia-header .historia-banner-title strong{font-size:26px}}

/* Space the approved outlined menu items apart. */
.site-header .nav{gap:8px;flex-wrap:wrap}

/* Align overlaid controls to a shared height and bottom edge on every banner. */
.site-header .topbar{--banner-control-height:44px;--banner-control-bottom:16px;--banner-control-inset:3%}
.site-header .social{left:var(--banner-control-inset);bottom:var(--banner-control-bottom);height:var(--banner-control-height);align-items:center}
.site-header .social a{width:var(--banner-control-height);height:var(--banner-control-height);flex-shrink:0}
.site-header .header-action{right:var(--banner-control-inset);bottom:var(--banner-control-bottom);height:var(--banner-control-height);min-height:var(--banner-control-height);align-items:center;justify-content:center;padding-block:0;line-height:1.2;white-space:nowrap}
@media(max-width:900px){.site-header .topbar{--banner-control-height:38px;--banner-control-bottom:13px;--banner-control-inset:14px}}
@media(max-width:600px){.site-header .topbar{--banner-control-height:34px;--banner-control-bottom:12px;--banner-control-inset:12px}}
@media(max-width:350px){.site-header .topbar{--banner-control-height:30px;--banner-control-inset:8px}}
