/* Keep the language switch visible independently of the collapsible navigation. */
/* Shared height and page refinements, 26 October 2026. */
.site-header{--header-height:88.8px;padding:21.4px 0}
.site-header.scrolled{--header-height:72px;padding:14px 0}
.site-header .header-inner{min-height:46px}
.site-header.scrolled .header-inner{min-height:44px}
body[data-page="contact"] .contact-page-grid{align-items:stretch}
body[data-page="contact"] .contact-page-grid>.content-card{margin-bottom:0;min-width:0}
.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}
.projects-grid>.project{margin:0;min-width:0;border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.projects-grid .project-hero{aspect-ratio:16/9;margin:0;border-radius:0;box-shadow:none}
.projects-grid .project .content-card{margin:0;padding:30px;border-radius:0;box-shadow:none}
.projects-grid .project h2{font-size:clamp(23px,2.2vw,29px);line-height:1.3}
.project-stage{display:block;margin-top:14px;font:700 13px/1.4 var(--font-head);letter-spacing:.04em;text-transform:uppercase;color:var(--red)}
.project-notice{padding:16px 18px;border-left:4px solid var(--red);border-radius:0 10px 10px 0;background:#fff4f4;color:#6b1721}
@media(max-width:899px){.projects-grid{grid-template-columns:1fr}}
@media(max-width:600px){.projects-grid .project .content-card{padding:24px}}

.site-header .header-inner{gap:20px}
.site-header .main-nav{margin-left:auto;gap:clamp(14px,1.6vw,24px)}
.site-header .header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.site-header .header-actions .lang{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 10px;border:1px solid #00278022;border-radius:999px;color:var(--blue);background:#ffffffa6;text-decoration:none;font:500 13px/1.2 var(--font-head);white-space:nowrap;touch-action:manipulation}
.site-header .header-actions .lang:hover{background:#fff;border-color:#00278066}
.site-header .lang:focus-visible,.site-header .nav-toggle:focus-visible,.site-header .main-nav a:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.site-header .lang-flag{display:block;flex:none;width:24px;height:16px;border-radius:2px;box-shadow:0 0 0 1px #001a5720}
.site-header .lang-code{display:none}
@media(min-width:1101px){.nav-item.has-sub:focus-within .sub-menu{opacity:1;visibility:visible;transform:none}}
@media(max-width:1100px){
 .site-header .header-inner{gap:12px}
 .site-header .header-actions{margin-left:auto;gap:6px}
 .site-header .main-nav{position:fixed;right:0;top:calc(var(--header-height) + 2px);display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:min(320px,90vw);padding:18px;background:#fff;border-radius:0 0 0 var(--radius);box-shadow:var(--shadow-lg);transform:translateX(110%);transition:transform .3s ease;max-height:calc(100dvh - var(--header-height) - 12px);overflow-y:auto;overscroll-behavior:contain;visibility:hidden;pointer-events:none}
 .site-header .main-nav.open{transform:none;visibility:visible;pointer-events:auto}
 .site-header .main-nav a{padding:10px 8px;width:100%}
 .site-header .nav-item{flex-direction:column;align-items:flex-start;width:100%}
 .site-header .sub-menu{position:static;box-shadow:none;border-top:0;padding:4px 0 4px 16px;min-width:auto;opacity:1;transform:none;display:none;background:transparent}
 .site-header .nav-item.sub-open .sub-menu{display:flex;visibility:visible}
 .site-header .nav-toggle{display:block;min-width:44px;min-height:44px;padding:8px}
 .site-header .nav-toggle span{width:26px}
}
@media(max-width:600px){
 .site-header .brand{flex:1 1 auto;min-width:0;max-width:260px}
 .site-header .brand-logo,.site-header.scrolled .brand-logo{height:auto;width:100%;max-width:100%}
 .site-header .header-inner{gap:10px}
 .site-header .header-actions{gap:2px}
 .site-header .header-actions .lang{gap:6px;padding:8px;min-width:60px;font-size:12px}
 .site-header .lang-name{display:none}.site-header .lang-code{display:inline}
 .site-header .lang-flag{width:22px;height:15px}
}

/* Enlarge only the logo; retain the existing header row heights. */
.site-header .header-inner{height:46px}
.site-header.scrolled .header-inner{height:44px}
.site-header .brand-logo{height:53px;width:auto}
.site-header.scrolled .brand-logo{height:53px}
@media(min-width:601px) and (max-width:720px){
 .site-header .brand-logo,.site-header.scrolled .brand-logo{height:39px}
}
@media(max-width:600px){
 .site-header .brand{max-width:299px}
 .site-header .brand-logo,.site-header.scrolled .brand-logo{height:auto;width:100%;max-width:100%}
}
