/* Site composition overrides load after each theme. Theme layout remains authored. */
.site-header details.nav-disclosure,.site-header details.nav-disclosure[open]{padding:0;border:0}.site-header .nav-disclosure[open]>.mega-panel{animation:none}.site-header .nav-disclosure>.mega-panel{padding:35px max(5%,calc((100% - var(--site-width))/2))}.menu-style-3 .site-header .nav-disclosure>.mega-panel{padding:28px}.site-header .mega-intro strong{font-family:var(--font-display,var(--headfont,var(--bodyfont,system-ui)));font-size:2rem;line-height:1.12;font-weight:500}.menu-style-2 .site-header .mega-links a{font-family:var(--font-display,var(--headfont,var(--bodyfont,system-ui)));font-size:1.25rem;line-height:1.2;font-weight:500}.menu-style-3 .site-header .mega-intro strong{font-size:1.4rem}.site-header button.menu-close{background:transparent;border:1px solid var(--line);color:var(--ink);font-size:.8rem;min-height:0;padding:8px 15px;box-shadow:none}@media(max-width:850px){.site-header .nav-disclosure>.mega-panel,.menu-style-3 .site-header .nav-disclosure>.mega-panel{padding:28px 24px}}
.page-detail-dialog{width:min(1100px,94vw);max-height:90svh;border:1px solid var(--line);padding:0;background:var(--bg);color:var(--ink);border-radius:8px;box-shadow:0 30px 90px #0003}.page-detail-dialog::backdrop{background:#0008;backdrop-filter:blur(3px)}.detail-dialog-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:var(--surface);border-bottom:1px solid var(--line);font-size:.85rem}.detail-dialog-bar button{background:var(--bg);border:1px solid var(--line);padding:7px 15px;color:var(--ink)}.page-detail-dialog article>section{padding:38px 5%;border-bottom:1px solid var(--line)}.page-detail-dialog h1{font-size:clamp(2rem,4vw,3.6rem)}@media(max-width:650px){.page-detail-dialog{width:96vw;max-height:94svh}.page-detail-dialog article>section{padding:28px 6%}}
.nav-disclosure.compact-nav{display:none}@media(max-width:850px){.nav-disclosure.compact-nav{display:block}}
.site-header .site-brand{flex-shrink:0;min-width:130px}.site-header .site-brand img{width:220px;height:50px;max-width:220px;max-height:50px;object-fit:contain;object-position:left center}@media(max-width:850px){.site-header .site-brand img{width:180px;max-width:180px;height:44px}}@media(max-width:450px){.site-header .site-brand{min-width:100px;max-width:145px}.site-header .site-brand img{width:145px;max-width:145px;height:42px}}
.site-header .site-brand img.brand-symbol{width:34px;max-width:34px;height:34px;flex:none;object-fit:contain}@media(max-width:450px){.site-header .site-brand:has(.brand-symbol){max-width:185px;font-size:1rem;min-width:0}.site-header .site-brand img.brand-symbol{width:24px;max-width:24px;height:24px}}
@media(max-width:1050px){.site-header .primary-nav>a{display:none}.nav-disclosure.compact-nav{display:block}}@media(max-width:850px){.site-header .mega-panel,.site-header.menu-style-3 .mega-panel,.menu-style-3 .site-header .mega-panel{top:var(--menu-top,78px)}}
body.layout-full #main{width:100%;max-width:none;margin:0;padding-left:0;padding-right:0}body.layout-full #main>section{max-width:none;padding-left:5%;padding-right:5%}body.layout-boxed #main{width:calc(100% - 64px);max-width:1180px;margin:32px auto;padding-left:0;padding-right:0;border:1px solid var(--line);box-shadow:0 18px 60px color-mix(in srgb,var(--ink) 8%,transparent)}body.layout-boxed #main>section{padding-left:5%;padding-right:5%}body.layout-centered #main{width:100%;max-width:1080px;margin:auto;padding-left:4%;padding-right:4%}body.layout-centered #main>section{text-align:center}body.layout-centered #main p{margin-left:auto;margin-right:auto}body.layout-centered #main form,body.layout-centered #main table,body.layout-centered #main details{text-align:left}body.layout-centered #main>section:first-child{grid-template-columns:1fr;justify-items:center}body.layout-centered #main>section:first-child>figure{width:min(100%,760px);margin:25px auto 0}body.layout-centered #main .actions{justify-content:center}body.layout-minimal #main{width:100%;max-width:1060px;margin:auto;padding-left:4%;padding-right:4%}body.layout-minimal #main>section{padding-top:44px;padding-bottom:44px;box-shadow:none;border-radius:0}body.layout-minimal #main>section:first-child{min-height:0}body.layout-minimal #main h1{font-size:clamp(2.6rem,5vw,4.5rem)}body.layout-edge #main{width:100%;max-width:none;margin:0;padding:0}body.layout-edge #main>section:first-child{width:100%;max-width:none;margin:0;border-radius:0;padding-left:5%;padding-right:5%;min-height:calc(100svh - 92px)}body.layout-edge #main>section:first-child>figure,body.layout-edge #main>section:first-child>figure img{border-radius:0}body.layout-edge #main>section:not(:first-child){padding-left:max(5%,calc((100% - 1240px)/2));padding-right:max(5%,calc((100% - 1240px)/2))}@media(max-width:850px){body.layout-boxed #main{width:calc(100% - 28px);margin:14px auto}body.layout-centered #main>section:first-child{grid-template-columns:1fr}body.layout-edge #main>section:first-child{min-height:70svh}body.layout-full #main>section,body.layout-edge #main>section{padding-left:6%;padding-right:6%}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Compact header: all three controls share the available width without clipping. */
@media(max-width:850px){.site-header .nav-disclosure>summary{font-size:0;min-height:44px}.site-header button.menu-close{min-height:44px}}
@media(max-width:450px){.site-header .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(74px,102px);gap:10px;padding:14px 16px}.site-header .site-brand,.site-header .site-brand:has(.brand-symbol){min-width:0;max-width:none;font-size:1rem;overflow-wrap:anywhere;gap:6px}.site-header .site-brand img{width:145px;max-width:100%;height:42px}.site-header .site-brand img.brand-symbol{width:24px;max-width:24px;height:24px}.site-header .primary-nav{gap:0}.site-header .header-cta{font-size:.72rem;line-height:1.2;min-height:44px;padding:9px 8px;white-space:normal;text-align:center}}

/* Two-colour focus ring remains visible on both page and inverse brand surfaces. */
:focus-visible{outline:3px solid var(--ink);outline-offset:4px;box-shadow:0 0 0 4px var(--bg)}

/* Theme accordion widths must not constrain the shared mega menu. */
.site-header .nav-disclosure>.mega-panel{max-width:none}.site-header .mega-content,.site-header .mega-links{min-width:0;max-width:none}
