:root { --hy-fixed-header-height:77px; --hy-admin-offset:0px; --hy-header-glass:rgba(16,42,67,.84); --hy-header-light:rgba(247,249,251,.9); --hy-menu-glass:rgba(16,42,67,.76); --hy-menu-rule:rgba(255,255,255,.2); --hy-menu-hover:rgba(255,255,255,.08); }
html { scroll-padding-top:calc(var(--hy-fixed-header-height) + var(--hy-admin-offset) + 20px); }
.wp-site-blocks > header:has(.hy-header) { height:var(--hy-fixed-header-height); margin:0; }
.hy-header, body.home .hy-header { position:fixed; inset:var(--hy-admin-offset) 0 auto; width:100%; z-index:1000; background:var(--hy-header-light); border-bottom:1px solid rgba(16,42,67,.12); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); box-shadow:none; transition:background-color .2s,border-color .2s,box-shadow .2s; }
body.home .wp-site-blocks > header:has(.hy-header) { height:0; }
body.home .hy-header { background:linear-gradient(180deg,rgba(16,42,67,.65),rgba(16,42,67,0)); border-bottom-color:rgba(255,255,255,.16); backdrop-filter:none; -webkit-backdrop-filter:none; }
.hy-header .hy-brand .wp-block-site-title a,.hy-header .hy-nav .wp-block-navigation-item__content,.hy-header .wp-block-navigation__responsive-container-open { color:var(--hy-ink); }
body.home .hy-header .hy-brand .wp-block-site-title a,body.home .hy-header .hy-nav .wp-block-navigation-item__content,body.home .hy-header .wp-block-navigation__responsive-container-open { color:#fff; }
.hy-header.is-scrolled,body.home .hy-header.is-scrolled { background:var(--hy-header-glass); border-bottom-color:rgba(255,255,255,.16); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); box-shadow:0 3px 16px #102a4314; }
.hy-header.is-scrolled .hy-brand .wp-block-site-title a,.hy-header.is-scrolled .hy-nav .wp-block-navigation-item__content,.hy-header.is-scrolled .wp-block-navigation__responsive-container-open { color:#fff; }
.hy-header .hy-nav { font-size:20px; font-weight:600; }
.hy-header .hy-header-cta { font-size:16px; }
.hy-header .hy-nav-mobile-quote { display:none; }
.hy-header .is-menu-open .hy-nav-mobile-quote { display:flex; }
.hy-header:has(.is-menu-open),body.home .hy-header:has(.is-menu-open) { backdrop-filter:none; -webkit-backdrop-filter:none; z-index:100000; }
/* Use the space between the brand and CTA as a continuous navigation row. */
@media(min-width:1101px) {
 .hy-header .hy-header__inner { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:clamp(12px,1.5vw,24px); }
 .hy-header nav.hy-nav { min-width:0; width:100%; }
 .hy-header nav.hy-nav .wp-block-navigation__responsive-container,
 .hy-header nav.hy-nav .wp-block-navigation__responsive-container-content { width:100%; }
 .hy-header nav.hy-nav .wp-block-navigation__container { width:100%; gap:16px; flex-wrap:nowrap; justify-content:space-evenly; }
 .hy-header nav.hy-nav .wp-block-navigation-item__content { padding-block:12px; white-space:nowrap; }
 .hy-header .hy-header-cta { margin:0; white-space:nowrap; }
}
/* A translucent page overlay, not an opaque replacement screen. Preserve the
   native WordPress dialog, keyboard trap and scroll lock. */
.hy-header nav.hy-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open {
 background:var(--hy-menu-glass); color:#fff;
 backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
 padding:max(16px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));
 animation:hy-menu-feedback 220ms ease-out;
}
.hy-header .hy-nav .is-menu-open .wp-block-navigation__responsive-close { max-width:560px; margin-inline:auto; }
.hy-header .hy-nav .is-menu-open .wp-block-navigation__responsive-dialog { margin:0; }
.hy-header .hy-nav .is-menu-open .wp-block-navigation__responsive-container-close {
 display:grid; place-items:center; width:44px; height:44px; color:#fff;
 border:1px solid var(--hy-menu-rule); border-radius:50%; background:transparent;
}
.hy-header .hy-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top:76px; gap:0; align-items:stretch; }
.hy-header .hy-nav .is-menu-open .wp-block-navigation__container { width:100%; gap:0; align-items:stretch; }
.hy-header .hy-nav .is-menu-open .wp-block-navigation-item { width:100%; }
.hy-header .hy-nav .is-menu-open .wp-block-navigation-item__content,
body.home .hy-header .hy-nav .is-menu-open .wp-block-navigation-item__content {
 box-sizing:border-box; display:flex; align-items:center; justify-content:space-between;
 width:100%; min-height:64px; padding:16px 4px;
 border-bottom:1px solid var(--hy-menu-rule); color:#fff;
 font-family:var(--hy-body); font-size:clamp(21px,5vw,26px); font-weight:500; line-height:1.3;
 text-align:left; text-decoration:none; background-image:none;
 transition:background-color .18s,color .18s,padding .18s;
}
.hy-header .hy-nav .is-menu-open .wp-block-navigation-item__content::after {
 content:''; flex:none; width:8px; height:8px; margin-right:5px;
 border-top:1.5px solid currentColor; border-right:1.5px solid currentColor; transform:rotate(45deg);
}
.hy-header .hy-nav .is-menu-open .wp-block-navigation-item__content:is(:hover,:focus-visible) { background-color:var(--hy-menu-hover); padding-inline:12px; }
.hy-header .hy-nav .is-menu-open .wp-block-navigation-item__content[aria-current] { color:#ffad87; }
.hy-header .hy-nav .is-menu-open .hy-nav-mobile-quote { margin-top:28px; }
.hy-header .hy-nav .is-menu-open .hy-nav-mobile-quote .wp-block-navigation-item__content,
body.home .hy-header .hy-nav .is-menu-open .hy-nav-mobile-quote .wp-block-navigation-item__content {
 min-height:54px; padding:14px 20px; border:0; border-radius:4px;
 background:var(--hy-signal); color:var(--hy-ink); font-size:18px; font-weight:600;
}
.hy-header .hy-nav .is-menu-open .hy-nav-mobile-quote .wp-block-navigation-item__content:is(:hover,:focus-visible) { background:#ffad87; color:var(--hy-ink); }
@media(max-width:360px) {
 .hy-header .hy-header__inner { gap:12px; }
 .hy-header .hy-brand { gap:8px; }
 .hy-header .hy-brand .wp-block-site-title { font-size:24px; }
}
.hy-contact-rail { position:fixed; right:4px; top:50%; transform:translateY(-50%); z-index:900; display:grid; gap:8px; }
.hy-contact-rail__link { position:relative; display:grid; place-items:center; width:48px; height:48px; background:#102a43; color:#fff; border:1px solid #496078; border-radius:8px; box-shadow:0 4px 12px #102a4326; transition:background .18s,color .18s,transform .18s; text-decoration:none; }
.hy-contact-rail__link svg { width:24px; height:24px; }
.hy-contact-rail__link span { position:absolute; right:calc(100% + 10px); padding:8px 12px; border-radius:4px; background:#102a43; color:white; white-space:nowrap; opacity:0; visibility:hidden; transform:translateX(5px); transition:opacity .18s,transform .18s; pointer-events:none; font:500 14px/1.4 var(--hy-body); }
.hy-contact-rail__link:is(:hover,:focus-visible) { background:#ff5b1a; color:#102a43; transform:translateX(-3px); }
.hy-contact-rail__link:is(:hover,:focus-visible) span { opacity:1; visibility:visible; transform:none; }
.hy-contact-rail__link:focus-visible { outline:3px solid #ffad87; outline-offset:3px; }
.hy-contact-rail__link:active { transform:scale(.95); }
body:has(.is-menu-open) .hy-contact-rail,body:has(dialog[open]) .hy-contact-rail,body:has(#hy-cookie-panel:not([hidden])) .hy-contact-rail { display:none; }
.hy-footer-v2__grid { grid-template-columns:1.2fr 1fr .9fr 1.5fr; }
.hy-footer-v2__shell { box-sizing:border-box; padding-right:28px; }
.hy-footer-v2 .hy-footer-v2__grid .hy-footer-contact ul { display:grid; grid-template-columns:1fr; gap:14px; }
.hy-footer-contact li > span { display:block; color:#a9bed0; font-size:12px; margin-bottom:3px; }
.hy-footer-v2 .hy-footer-contact li a { overflow-wrap:anywhere; }
.hy-footer-v2 .hy-footer-contact .hy-footer-whatsapp { display:block; min-height:32px; padding:0; font-size:13px; color:#ffad87; }
.hy-footer-contact address { font-style:normal; color:#c7d3df; font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
.hy-inquiry-consent .hy-inquiry-privacy-link { display:block; width:fit-content; margin-top:6px; }
@media(max-width:960px) { .hy-footer-v2__grid { grid-template-columns:1fr 1fr; } }
@media(min-width:1101px) { .hy-contact-rail__link { width:44px; height:44px; } }
@media(max-width:1100px) {
 html { scroll-padding-bottom:90px; }
 .hy-contact-rail { inset:auto 0 0; transform:none; display:grid; grid-template-columns:1fr 1fr 1.25fr; gap:0; padding:8px max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left)); background:var(--hy-navy); border-top:1px solid #496078; box-shadow:0 -4px 18px #102a4326; }
 .hy-contact-rail__link { width:auto; height:auto; min-height:54px; gap:3px; padding:5px 4px; border:0; border-radius:4px; box-shadow:none; }
 .hy-contact-rail__link svg { width:21px; height:21px; }
 .hy-contact-rail__link--inquiry { background:var(--hy-signal); color:var(--hy-navy); }
 .hy-contact-rail__link:is(:hover,:focus-visible) { transform:none; }
 .hy-contact-rail__link--inquiry:is(:hover,:focus-visible) { background:#ffad87; color:var(--hy-navy); }
 .hy-contact-rail .hy-contact-rail__link span { position:static; padding:0; background:none; color:inherit; opacity:1; visibility:visible; transform:none; font:600 13px/1.3 var(--hy-body); }
 .hy-footer-v2 { padding-bottom:calc(84px + env(safe-area-inset-bottom,0px)); }
 .hy-footer-v2__shell { padding-right:0; }
 body:has(input:focus,textarea:focus,select:focus) .hy-contact-rail { display:none; }
 .hy-footer-v2 .hy-footer-contact { grid-column:1/-1; }
}
@media(prefers-reduced-motion:reduce) { .hy-header,.hy-contact-rail__link,.hy-contact-rail__link span { transition:none; } }
