.header .nav-wrap{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px 24px;padding-block:14px;min-height:92px}
.header .brand{grid-column:1;grid-row:1 / 3}
.header #nav{grid-column:2;grid-row:1 / 3;display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.header #nav a{padding:5px 0;font-size:11px;white-space:nowrap}
.header-phone{grid-column:3;grid-row:1;font-size:14px;font-weight:800;color:var(--green);white-space:nowrap;display:flex;align-items:center;gap:8px;justify-content:flex-end;line-height:1.5}
.header-phone svg{width:17px;height:17px;flex:none}
.header .header-book{grid-column:3;grid-row:2;padding:4px 0;background:none;border:0;color:var(--green);font-size:10px;justify-content:flex-end;gap:8px;line-height:1.4}
.header .header-book span{margin-left:0}
.language-dropdown{grid-column:4;grid-row:1 / 3;position:relative;align-self:center}
.language-dropdown summary{list-style:none;display:flex;align-items:center;gap:7px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;font-size:12px;font-weight:800;cursor:pointer;background:#fff;color:var(--green)}
.language-dropdown summary::-webkit-details-marker{display:none}
.language-chevron{transition:transform .2s}.language-dropdown[open] .language-chevron{transform:rotate(180deg)}
.language-options{position:absolute;right:0;top:calc(100% + 9px);z-index:35;width:176px;padding:6px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 12px 35px #123c401a}
.language-options a{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:10px;border-radius:8px;font-size:12px;color:var(--ink)}
.language-options a:hover,.language-options a[aria-current]{background:var(--mint);color:var(--green)}
.language-options small{font-size:10px;color:var(--muted)}
.mobile-menu-toggle{display:none}
.header :focus-visible{outline:3px solid #65b0a6;outline-offset:3px}
.contact-grid .contact-map{min-width:0;align-self:start}
.contact-map-frame{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--mint);height:360px}
.contact-map-frame iframe{display:block;width:100%;height:100%;border:0}
.contact-map-frame .map-card{height:100%;border-radius:0;min-height:0}
.contact-map-footer{padding-top:16px;display:flex;flex-direction:column;align-items:stretch;gap:12px}
.contact-map-footer p{font-size:12px;line-height:1.6;color:var(--muted);margin:0}
.contact-map-footer .button{width:100%;min-height:48px}
.map-embed-help{font-size:12px;color:var(--muted);line-height:1.6}
@media(max-width:1200px){
 .header .nav-wrap{grid-template-columns:minmax(0,1fr) auto auto auto;gap:12px;min-height:78px;padding-block:14px}
 .header .brand{grid-column:1;grid-row:1}.header-phone{grid-column:2;grid-row:1;font-size:13px}
 .language-dropdown{grid-column:3;grid-row:1}
 .mobile-menu-toggle{grid-column:4;grid-row:1;display:flex;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:5px;border:1px solid var(--line);border-radius:12px;background:var(--mint);color:var(--green)}
 .mobile-menu-toggle span{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;transition:transform .2s,opacity .2s}
 .mobile-menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .mobile-menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
 .mobile-menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .header .header-book{display:none}
 .header #nav{grid-column:1 / -1;grid-row:3;display:none;width:100%;padding:14px 0 4px;gap:5px;border-top:1px solid var(--line);max-height:calc(100dvh - 145px);overflow-y:auto}
 .header #nav.open{display:grid;grid-template-columns:1fr 1fr}
 .header #nav a{font-size:13px;padding:13px 14px;min-height:48px;background:#f5f9f7;border-radius:9px;white-space:normal}
 .header #nav a:hover,.header #nav a[aria-current]{background:var(--mint)}
}
@media(max-width:600px){
 .header .nav-wrap{grid-template-columns:minmax(0,1fr) auto auto;gap:8px 10px;padding-block:12px 10px}
 .header .brand{font-size:17px;gap:8px;min-width:0;white-space:normal;line-height:1.25}
 .header .brand img{width:34px;height:34px;flex:none}.header .brand small{font-size:7px;letter-spacing:1.1px;line-height:1.6;margin-top:3px}
 .language-dropdown{grid-column:2;grid-row:1}.language-dropdown summary{padding-inline:10px;gap:5px}
 .mobile-menu-toggle{grid-column:3}
 .header-phone{grid-column:1 / -1;grid-row:2;justify-content:center;background:var(--mint);border-radius:8px;min-height:36px;padding:6px 10px;font-size:13px;letter-spacing:.2px}
 .header #nav{padding-top:10px;max-height:calc(100dvh - 160px)}
 .contact-map-frame{height:340px}.contact-map-footer{padding-top:14px}
}
@media(max-width:360px){.header .brand{font-size:15px}.header .brand small{font-size:6px}.header .brand img{width:29px;height:29px}.header .nav-wrap{gap:8px}.language-dropdown summary{padding-inline:8px}.header #nav.open{grid-template-columns:1fr}}

/* Spacious desktop header; mobile styles above remain unchanged. */
@media(min-width:1201px){
 .header .nav-wrap{grid-template-columns:minmax(0,1fr) auto auto auto;gap:0 24px;padding-block:16px 0;min-height:0}
 .header .brand{grid-column:1;grid-row:1;font-size:22px;gap:12px;align-self:center}
 .header .brand img{width:44px;height:44px}.header .brand small{font-size:8px;letter-spacing:2px;margin-top:3px}
 .header-phone{grid-column:2;grid-row:1;font-size:16px;letter-spacing:.2px;min-height:46px;justify-content:center}
 .header-phone svg{width:19px;height:19px}
 .language-dropdown{grid-column:3;grid-row:1}
 .language-dropdown summary{min-height:46px;border-radius:10px;background:#f7faf8;padding-inline:14px}
 .header .header-book{display:inline-flex;grid-column:4;grid-row:1;min-height:46px;padding:11px 23px;background:var(--green);border:1px solid var(--green);border-radius:10px;color:#fff;font-size:12px;justify-content:center;gap:24px;line-height:1.6}
 .header .header-book:hover{background:#09574f;border-color:#09574f}
 .header #nav{grid-column:1 / -1;grid-row:2;justify-content:center;flex-wrap:nowrap;gap:10px;border-top:1px solid var(--line);margin-top:16px;padding:0;min-height:49px}
 .header #nav a{position:relative;font-size:13px;font-weight:600;padding:13px 18px;line-height:1.7;color:#536c70;transition:color .2s,background .2s}
 .header #nav a::after{content:'';position:absolute;bottom:0;left:18px;right:18px;height:2px;border-radius:2px;background:var(--green);transform:scaleX(0);transition:transform .2s}
 .header #nav a:hover,.header #nav a[aria-current]{color:var(--green);background:#f5f9f7}
 .header #nav a:hover::after,.header #nav a[aria-current]::after{transform:scaleX(1)}
}
