:root{--site-bg:#f4f5f8;--site-surface:#fff;--site-ink:#172235;--site-muted:#526176;--site-accent:#c64c16;--site-width:1180px;--site-radius:14px;--site-space:clamp(1rem,3vw,2rem)}
body{margin:0;background:var(--site-bg);color:var(--site-ink);font:1rem/1.65 system-ui,sans-serif}*{box-sizing:border-box}a{color:var(--site-accent)}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}.nx-site{min-height:100vh;display:flex;flex-direction:column}.nx-site main{flex:1}.nx-site-container{width:min(100% - 2 * var(--site-space),var(--site-width));margin-inline:auto}.nx-site-header,.nx-site-footer{padding:1.2rem var(--site-space);background:var(--site-surface)}.nx-site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid #ddd}.nx-site-brand{font-size:1.35rem;font-weight:800;text-decoration:none;color:var(--site-ink)}.nx-site nav{display:flex;gap:1rem;flex-wrap:wrap}.nx-site nav a{text-decoration:none}.nx-site-header button{display:none}.nx-site-hero{padding:clamp(3rem,8vw,7rem) 0;background:linear-gradient(120deg,#18243c,#334d72);color:white}.nx-site-hero h1{font-size:clamp(2rem,5vw,4.5rem);line-height:1.1;max-width:16ch;margin:.25em 0}.nx-site-hero p{max-width:60ch}.nx-site-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.85rem}.nx-site-section{padding:3rem 0}.nx-site-grid{display:grid;gap:var(--site-space);padding-block:1.5rem}.nx-site-grid>*{min-width:0}.nx-site-grid-equal{grid-template-columns:1fr 1fr}.nx-site-grid-wide-left{grid-template-columns:2fr 1fr}.nx-site-grid-wide-right{grid-template-columns:1fr 2fr}.nx-site-grid-three{grid-template-columns:repeat(3,1fr)}.nx-site-grid-center{grid-template-columns:1fr 2fr 1fr}.nx-site-content{padding:1rem 0}.nx-site-content p{white-space:pre-line}.nx-site-button{display:inline-block;background:var(--site-accent);color:white;padding:.7rem 1.3rem;border-radius:8px;text-decoration:none;font-weight:700}.nx-site-news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1.5rem}.nx-site-card{background:var(--site-surface);border-radius:var(--site-radius);overflow:hidden;box-shadow:0 5px 24px #1722350d}.nx-site-card>img{width:100%;aspect-ratio:16/9;object-fit:cover}.nx-site-card>div{padding:1.25rem}.nx-site-card h3{line-height:1.3}.nx-site-meta{font-size:.82rem;color:var(--site-muted)}.nx-site-footer{margin-top:3rem;border-top:1px solid #ddd}.nx-site-image{margin:1rem 0}.nx-site-image img{border-radius:var(--site-radius)}
@media(max-width:760px){.nx-site-grid{grid-template-columns:1fr}.nx-site-header{flex-wrap:wrap}.nx-site-header button{display:block}.nx-site-header nav{display:none;width:100%}.nx-site-header nav[data-open]{display:flex;flex-direction:column}}
.nx-site-nav-group{position:relative}.nx-site-nav-group summary{cursor:pointer}.nx-site-nav-group>div{position:absolute;z-index:20;display:grid;min-width:180px;padding:1rem;gap:.6rem;background:var(--site-surface);box-shadow:0 4px 20px #0002}

.nx-site{background:var(--site-bg);color:var(--site-ink)}.nx-site-header{background:var(--nav-bg);color:var(--nav-color)}.nx-site-header a,.nx-site-header summary{color:inherit}.nx-site-header[data-sticky="1"]{position:sticky;top:0;z-index:100}.nx-site-brand img{max-height:48px;max-width:180px;margin-right:12px}.nx-site-footer{background:var(--footer-bg);color:var(--footer-color)}.nx-site-footer a{color:inherit}.nx-site-box{width:min(100% - 2 * var(--site-space),var(--site-width));margin-inline:auto;padding:var(--box-padding);background:var(--box-background);box-sizing:border-box}:where(.nx-site-container,.nx-site-box,.nx-site-grid) .nx-site-box{width:100%}.nx-site-box[data-width=full]{width:100%;max-width:none}.nx-site-box [data-nx-widget]>*{max-width:100%;width:100%;margin-inline:0}

/* The template supplies visual tokens used by existing module widgets. */
.nx-site{
 --site-muted:color-mix(in srgb,var(--site-ink) 65%,var(--site-surface));
 --site-border:color-mix(in srgb,var(--site-ink) 18%,var(--site-surface));
 --nx-color-primary:var(--site-accent);--nx-theme-accent:var(--site-accent);--nx-color-surface:var(--site-bg);--nx-color-on-surface:var(--site-ink);
 --nx-color-card-bg:var(--site-surface);--nx-color-card-body-bg:var(--site-surface);--nx-color-on-card:var(--site-ink);--nx-color-card-border:var(--site-border);
 --nx-color-muted:var(--site-muted);--nx-color-muted-on-card:var(--site-muted);--nx-component-border:var(--site-border);--nx-component-radius:var(--site-radius);--nxm-radius:var(--site-radius);
 --nx-widget-color:var(--site-ink);--nx-widget-link:var(--site-accent);--nx-widget-radius:var(--site-radius);
 --bs-primary:var(--site-accent);--bs-primary-rgb:var(--site-accent-rgb);--bs-body-bg:var(--site-surface);--bs-body-bg-rgb:var(--site-surface-rgb);--bs-body-color:var(--site-ink);--bs-body-color-rgb:var(--site-ink-rgb);
 --bs-emphasis-color:var(--site-ink);--bs-emphasis-color-rgb:var(--site-ink-rgb);--bs-secondary-color:var(--site-muted);--bs-secondary-bg:var(--site-bg);--bs-tertiary-bg:var(--site-bg);--bs-border-color:var(--site-border);--bs-border-radius:var(--site-radius);
 --bs-link-color:var(--site-accent);--bs-link-color-rgb:var(--site-accent-rgb);--bs-link-hover-color:var(--site-accent);--bs-link-hover-color-rgb:var(--site-accent-rgb);
 --bs-primary-text-emphasis:var(--site-accent);--bs-primary-bg-subtle:color-mix(in srgb,var(--site-accent) 12%,var(--site-surface));--bs-primary-border-subtle:color-mix(in srgb,var(--site-accent) 35%,var(--site-surface));
}
.nx-site-hero{background:linear-gradient(120deg,var(--hero-bg),var(--hero-end));color:var(--hero-color)}
.nx-site .card{--bs-card-bg:var(--site-surface);--bs-card-color:var(--site-ink);--bs-card-border-color:var(--site-border);--bs-card-cap-bg:var(--site-bg)}
.nx-site .btn-primary{--bs-btn-bg:var(--site-accent);--bs-btn-border-color:var(--site-accent);--bs-btn-color:var(--site-accent-contrast);--bs-btn-hover-bg:var(--site-accent);--bs-btn-hover-border-color:var(--site-accent);--bs-btn-hover-color:var(--site-accent-contrast);--bs-btn-active-bg:var(--site-accent);--bs-btn-active-border-color:var(--site-accent);--bs-btn-active-color:var(--site-accent-contrast);--bs-btn-disabled-bg:var(--site-accent);--bs-btn-disabled-border-color:var(--site-accent);--bs-btn-disabled-color:var(--site-accent-contrast);color:var(--bs-btn-color)}
.nx-site .btn-outline-primary{--bs-btn-color:var(--site-accent);--bs-btn-border-color:var(--site-accent);--bs-btn-hover-bg:var(--site-accent);--bs-btn-hover-color:var(--site-accent-contrast);--bs-btn-active-bg:var(--site-accent);--bs-btn-active-color:var(--site-accent-contrast)}
.nx-site .nx-site-button{color:var(--site-accent-contrast)}
.nx-site .text-bg-primary{color:var(--site-accent-contrast)!important}

.nx-site{--nx-color-page-bg:var(--site-bg);--nx-page-bg:var(--site-bg);--nx-color-panel-bg:var(--site-surface);--nx-color-surface-soft:var(--site-surface);--nx-color-card-header-bg:var(--site-bg);--nx-color-heading:var(--site-ink);--nx-color-border:var(--site-border);--nx-color-secondary:var(--site-muted);--nx-color-on-primary:var(--site-accent-contrast);--nx-color-link-hover:var(--site-accent);--nx-color-button-bg:var(--site-accent);--nx-color-button-border:var(--site-accent);--nx-color-button-text:var(--site-accent-contrast);--nx-color-button-hover-bg:var(--site-accent);--nx-color-button-hover-border:var(--site-accent);--nx-color-button-hover-text:var(--site-accent-contrast);--nx-color-button-outline-border:var(--site-accent);--nx-color-button-outline-text:var(--site-accent)}
.nx-site{--bs-border-radius-sm:var(--site-radius);--bs-border-radius-lg:var(--site-radius);--bs-border-radius-xl:var(--site-radius);--nx-component-card-bg:var(--site-surface)}
.nx-site .nx-site-box{border-radius:var(--site-radius)}
.nx-site .nx-widget .btn,.nx-site .nx-site-button{border-radius:var(--site-radius)}

/* The host defines the outer box, rather than each module adding its own page gutter. */
.nx-site [data-nx-widget] > :is(div,section,article,aside,form){box-sizing:border-box;width:100%;max-width:100%;margin-inline:0}
.nx-site [data-nx-widget] > :is(.container,.container-fluid,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl){padding-inline:0;max-width:none}
.nx-site-container .nx-site-container{width:100%;max-width:100%;margin-inline:0}