/* Shared page frame. October 2026. */
html{scrollbar-gutter:stable}
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body>main{flex:1 0 auto;min-width:0;width:100%}
body>.site-header,body>.site-footer{flex-shrink:0}
.site-header{width:100%;position:sticky;top:0;z-index:60}
.site-header .nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:32px;min-height:84px;flex-wrap:nowrap}
.site-header .brand{margin:0;order:0;white-space:nowrap;font-size:2rem}
.site-header #navlinks{position:static;display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:26px;margin:0;padding:0;order:0;width:auto;min-width:0;background:transparent;border:0}
.site-header #navlinks>a{font-size:.875rem;line-height:1.35;letter-spacing:0;padding:16px 0;white-space:nowrap;color:var(--muted)}
.site-header #navlinks>a:hover,.site-header #navlinks>a[aria-current="page"]{color:var(--ink)}
.site-header #navlinks>a[aria-current="page"]:after{bottom:7px}
.site-header #navlinks small{font-size:.6rem;opacity:.75}
.site-header .nav-controls{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:0}
.site-header .nav-controls>.language-menu{margin:0;order:0;flex:none}
.site-header .language-menu summary{min-width:58px;min-height:42px;display:flex;align-items:center;justify-content:center;gap:9px;padding:9px 10px;border-radius:8px;line-height:1;font-size:.8rem}
.site-header .language-menu summary:after{margin:0;vertical-align:initial;transform:translateY(-2px) rotate(45deg)}
.site-header .language-menu>div{z-index:80;right:0;left:auto;min-width:160px}
.site-header .nav-controls>.theme-toggle{width:42px;height:42px;order:1;margin:0;flex:none}
.site-header .theme-toggle .icon{width:21px;height:21px}
.site-header .nav-controls>.menu{display:none;order:2;align-items:center;justify-content:center;width:42px;min-height:42px;padding:9px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--ink);flex:none}
.site-header .menu-label{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.site-header .menu .menu-icon{display:block}.site-header .menu .close-icon{display:none}
.site-header .menu[aria-expanded="true"] .menu-icon{display:none}.site-header .menu[aria-expanded="true"] .close-icon{display:block}
.site-footer{width:100%;max-width:none;margin:0;padding:54px 0 28px;background:var(--surface);border-top:1px solid var(--line)}
.site-footer .footer-inner{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.65fr) minmax(0,.8fr);gap:64px;align-items:start}
.site-footer .footer-identity .brand{font-size:2.2rem;line-height:1.15}
.site-footer .footer-identity p{max-width:460px;margin:22px 0 0;font-size:.95rem;line-height:1.75}
.site-footer .footer-links,.site-footer .footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.site-footer .footer-links a,.site-footer .footer-contact a{font-size:.9rem;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
.site-footer .footer-links a:hover,.site-footer .footer-contact a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.site-footer .footer-contact{gap:20px}
.site-footer .footer-contact>a:first-child{color:var(--ink)}
.site-footer .footer-base{border-top:1px solid var(--line);margin-top:38px;padding-top:20px;padding-right:185px;min-height:45px;color:var(--muted)}
.site-footer .footer-base small{font-size:.8rem}
.whatsapp-float{z-index:50}
/* Keep the footer edge continuous even if an older HTML file is briefly cached. */
.seo-footer.wrap{width:100%;max-width:none;margin-inline:0;padding-inline:max(56px,calc((100% - 1280px)/2))}
@media(max-width:1180px){.site-header .nav{column-gap:24px}.site-header #navlinks{gap:20px}.site-header #navlinks>a{font-size:.84rem}.site-footer .footer-inner{gap:35px}}
@media(max-width:1200px){
  .site-header .nav{display:flex;justify-content:space-between;gap:20px;min-height:76px;position:static}
  .site-header .brand{flex:none;margin-right:auto}
  .site-header .nav-controls{margin-left:auto;gap:12px}
  .site-header .nav-controls>.menu{display:inline-flex}
  .site-header #navlinks{position:absolute;top:100%;left:0;right:0;display:none;width:auto;max-height:calc(100vh - 76px);max-height:calc(100dvh - 76px);overflow-y:auto;overscroll-behavior:contain;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:16px 56px 22px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 15px 22px #0002}
  .site-header #navlinks.open{display:flex}
  .site-header #navlinks>a{font-size:1rem;line-height:1.5;white-space:normal;padding:13px 0;border-bottom:1px solid var(--line)}
  .site-header #navlinks>a:last-child{border-bottom:0}
  .site-header #navlinks>a[aria-current="page"]{color:var(--accent)}
  .site-header #navlinks>a[aria-current]:after{display:none}
}
@media(max-width:700px){
  .site-header .nav{min-height:72px;gap:12px}
  .site-header .brand{font-size:1.65rem}
  .site-header .brand-symbol{width:27px;height:27px;margin-right:8px}
  .site-header .nav-controls{gap:8px}
  .site-header .nav-controls>.theme-toggle,.site-header .nav-controls>.menu{width:38px;height:38px;min-height:38px}
  .site-header .language-menu summary{min-width:49px;min-height:38px;padding:8px;font-size:.75rem;gap:7px}
  .site-header #navlinks{padding:12px 18px 18px;max-height:calc(100dvh - 72px)}
  .site-footer{padding:38px 0 80px}
  .site-footer .footer-inner{grid-template-columns:1fr 1fr;gap:28px 24px}
  .site-footer .footer-identity{grid-column:1/-1}
  .site-footer .footer-identity p{max-width:520px;margin-top:17px}
  .site-footer .footer-base{margin-top:28px;padding-right:0}
  .seo-footer.wrap{padding-inline:18px}
}
@media(max-width:360px){.site-header .brand{font-size:1.45rem}.site-header .brand-symbol{width:24px;height:24px;margin-right:6px}.site-header .nav-controls{gap:5px}.site-footer .footer-inner{grid-template-columns:1fr}.site-footer .footer-identity{grid-column:auto}}
@media print{body{display:block}.site-header,.site-footer{display:none}}

/* V3: one stable frame for every language and route. */
body.header-over-hero .site-header{position:sticky;top:0;background:var(--paper);border-bottom:1px solid var(--line)}
.site-header .language-current{display:flex;align-items:center;justify-content:center;min-width:49px;min-height:42px;border:1px solid var(--line);border-radius:8px;font-size:.8rem;color:var(--muted)}
.site-header #navlinks{gap:22px}
.site-header .nav{column-gap:26px}
.language-menu a[aria-current]{color:var(--accent)}
html:lang(de) .hero-copy h1,html:lang(fr) .hero-copy h1,html:lang(es) .hero-copy h1,html:lang(it) .hero-copy h1{font-size:clamp(3rem,5.6vw,6.2rem);overflow-wrap:normal}
@media(max-width:700px){html:lang(de) .hero-copy h1,html:lang(fr) .hero-copy h1,html:lang(es) .hero-copy h1,html:lang(it) .hero-copy h1{font-size:clamp(2.55rem,9.5vw,4.2rem)}}
@media(max-width:1200px){.site-header #navlinks{gap:0}}
