.header-menu{display:contents}
.nav-group-row{display:contents}.submenu-toggle,.nav-submenu{display:none}
.menu-toggle{display:none}
.header .nav-button svg{flex-shrink:0}
.menu-toggle:focus-visible,.header-menu a:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
@media(max-width:900px){
 .fullwidth-page>.header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"brand language toggle" "navigation navigation navigation";align-items:center;gap:0 8px;width:calc(100% - 20px);min-height:0;margin:10px auto 14px;padding:10px 12px 13px;border-radius:17px}
 .fullwidth-page>.header:after{left:12px;right:12px;height:3px}
 .fullwidth-page>.header .brand{grid-area:brand;width:128px;max-width:100%;min-width:0;padding:4px 5px;border-radius:8px;margin:0}
 .fullwidth-page>.header .brand img{display:block;width:100%;height:auto}
 .fullwidth-page>.header .language-switch{grid-area:language;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 11px;margin:0;font-size:12px;line-height:1;border-radius:13px;box-sizing:border-box}
 .fullwidth-page>.header .menu-toggle{grid-area:toggle;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 10px;background:var(--blue);color:white;border:1px solid var(--blue);border-radius:13px;font:800 13px Nunito,Arial,sans-serif;cursor:pointer;white-space:nowrap}
 .fullwidth-page>.header.nav-ready .menu-toggle{display:inline-flex}
 .fullwidth-page>.header .header-menu{grid-area:navigation;display:flex;flex-direction:column;gap:12px;padding:14px 0 1px;margin-top:10px;border-top:1px solid #dce4f1;min-width:0}
 .fullwidth-page>.header.nav-ready .header-menu{display:none}
 .fullwidth-page>.header.nav-ready.menu-open .header-menu{display:flex}
 .fullwidth-page>.header .header-menu nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;order:initial;gap:8px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font-size:14px}
 .fullwidth-page>.header .header-menu nav a{display:flex;align-items:center;justify-content:flex-start;min-height:48px;padding:10px 12px;border:1px solid #e2e8f2;border-radius:12px;background:white;line-height:1.3;box-sizing:border-box}
 .fullwidth-page>.header .header-menu nav a[aria-current="page"]{border-color:var(--blue);background:#edf3ff;color:var(--blue)}
 .fullwidth-page>.header .header-menu .nav-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:46px;width:100%;margin:0;padding:11px 16px;font-size:14px;border-radius:13px;box-sizing:border-box;box-shadow:none}
}
.back-to-top{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));z-index:81;width:48px;height:48px;border:0;border-radius:50%;background:var(--yellow);color:var(--blue);box-shadow:0 4px 22px #102a5526;cursor:pointer;display:grid;place-items:center}
.back-to-top[hidden]{display:none}.back-to-top:focus-visible,.toc-toggle:focus-visible,.submenu-toggle:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.reading-dock{display:none}
@media(max-width:900px){
 .fullwidth-page>.header{position:sticky;top:0;z-index:100;background:#fff;box-shadow:0 5px 22px #102a5510}
 .fullwidth-page>.header .header-menu{max-height:calc(100dvh - 100px - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
 .fullwidth-page>.header .header-menu nav{display:flex;flex-direction:column;gap:0}
 .nav-group{border-bottom:1px solid #e2e8f2}
 .nav-group-row{display:flex;align-items:center;justify-content:space-between}
 .fullwidth-page>.header .header-menu .nav-group-row>a{border:0;background:transparent;flex:1;font-size:16px;font-weight:800;min-height:54px;padding-left:8px}
 .submenu-toggle{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:0;border-radius:10px;background:#edf3ff;color:var(--blue);cursor:pointer}
 .submenu-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
 .fullwidth-page>.header .header-menu .nav-submenu{display:none;padding:0 4px 10px 16px;border-left:3px solid var(--yellow);margin:0 0 8px 8px}
 .fullwidth-page>.header .header-menu .nav-submenu.is-open{display:block}
 .fullwidth-page>.header .header-menu .nav-submenu a{font-size:14px;min-height:44px;padding:9px 10px;border:0;border-radius:8px;margin:2px 0;background:transparent;font-weight:600}
 .article-body h2{scroll-margin-top:110px}
}
@media(max-width:1050px){
 body.has-reading-dock{padding-bottom:110px}
 .page-toc.toc-enhanced{display:none}
 .reading-dock{display:block;position:fixed;left:max(14px,env(safe-area-inset-left));bottom:calc(16px + env(safe-area-inset-bottom));width:min(430px,calc(100% - 88px));z-index:82;color:var(--navy)}
 .toc-toggle{width:100%;display:flex;align-items:center;gap:10px;text-align:left;min-height:60px;padding:11px 13px;border:1px solid #cbd6e8;border-radius:16px;background:#fff;box-shadow:0 5px 25px #102a5520;color:var(--blue);cursor:pointer}
 .toc-toggle>span{min-width:0;flex:1}.toc-toggle strong{display:block;font:800 14px Nunito,Arial,sans-serif}.toc-toggle small{display:block;font:400 12px Nunito,Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#415471;margin-top:3px}.toc-chevron{flex-shrink:0}.toc-toggle[aria-expanded="true"] .toc-chevron{transform:rotate(180deg)}
 .toc-sheet{background:white;border:1px solid #cbd6e8;border-top:4px solid var(--yellow);border-radius:18px;padding:14px;margin-bottom:10px;box-shadow:0 5px 35px #102a5526;max-height:calc(100dvh - 200px);overflow-y:auto;overscroll-behavior:contain}
 .toc-sheet[hidden]{display:none}.toc-sheet-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font:800 18px Outfit,Arial,sans-serif;margin-bottom:10px}.toc-close{width:44px;height:44px;border:1px solid #dce4f1;background:white;border-radius:12px;color:var(--blue);font-size:26px;cursor:pointer}
 .toc-sheet a{display:block;padding:13px 12px;margin:3px 0;border-radius:10px;color:var(--navy);font:600 14px/1.5 Nunito,Arial,sans-serif;text-decoration:none}.toc-sheet a[aria-current="location"]{background:var(--yellow);font-weight:800}
}
@media(prefers-reduced-motion:reduce){.menu-toggle svg{transition:none}}
