@import url('./site-theme-colors.css');
@import url('./site-themes.css');
@import url('./theme-fidelity.css');
/* Neutral website shell; widget styling and rendering remain in the existing engines. */
:root{color-scheme:light;--blue:#2563eb;--navy:#203451;--ink:#203451;--muted:#64748b;--line:#d7deea;--pale:#f1f6ff;font-family:system-ui,sans-serif;color:var(--ink);background:#fff}
*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}:focus-visible{outline:3px solid #2563eb;outline-offset:3px}
img{max-width:100%;height:auto}.wrap{width:min(1200px,100% - 40px);margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:24px;flex-wrap:wrap}.site-header>a{font-size:20px;font-weight:700;text-decoration:none}#navlinks{display:flex;gap:18px;flex-wrap:wrap}#site-main{min-height:60vh;padding-block:40px}footer.site:not([data-pw-footer-preset]){border-top:1px solid var(--line);padding-block:24px}.builder-page{overflow-wrap:anywhere}.grid{display:grid;gap:24px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{border:1px solid var(--line);border-radius:12px;padding:24px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 20px;background:var(--blue);color:white;border:0;border-radius:6px;text-decoration:none}.menu-branch{position:relative}.menu-branch button{min-height:44px}.menu-submenu{position:absolute;z-index:5;background:white;border:1px solid var(--line);padding:16px;min-width:200px}.menu-submenu a{display:block;padding:10px}.managed-footer-menu{display:flex;gap:20px;flex-wrap:wrap}dialog{width:min(800px,calc(100% - 32px));max-height:85vh;border:1px solid var(--line);border-radius:16px;padding:28px}dialog::backdrop{background:#17203399}.article-body{white-space:pre-wrap;line-height:1.7}.article-image{max-height:360px;object-fit:contain}.article-close{min-height:44px;padding:10px 16px}
@media(max-width:700px){.g2,.g3{grid-template-columns:1fr}.wrap{width:calc(100% - 28px)}.site-header{gap:16px}#site-main{padding-block:24px}.menu-submenu{position:static}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

#company-name{display:inline-flex;align-items:center;gap:12px;max-width:100%}.company-mark-image{display:block;max-width:120px;max-height:64px;width:120px;height:64px;object-fit:contain}

footer.site:not([data-pw-footer-preset]) .settings-social{display:inline-flex;align-items:center;box-sizing:border-box;min-height:44px;max-width:calc(100% - 8px);padding:8px 10px;margin:4px 8px 4px 0;overflow-wrap:anywhere}
#site-language-switcher{display:flex;gap:4px;align-items:center}#site-language-switcher a{display:inline-grid;place-items:center;min-width:44px;min-height:44px;padding:6px;text-decoration:none;border:1px solid transparent;border-radius:6px;font:700 13px system-ui}#site-language-switcher a[aria-current=true]{border-color:currentColor}#site-language-switcher a:hover{background:#64748b18}
/* Edge-to-edge Hero pages own their section spacing, matching the builder canvas. */
#site-main:has(>.builder-page>.pw-hero:first-child){padding-block-start:0}
#site-main:has(>.builder-page>.pw-hero:last-child){padding-block-end:0}
/* A self-contained builder page can supply its own editable header and footer. */
body:has(#site-main .pw-canvas-page) > header.site,
body:has(#site-main .pw-canvas-page) > footer.site:not([data-pw-footer-preset]),
body:has(#site-main .pw-canvas-page) > .utility{display:none}
body:has(#site-main .pw-canvas-page) #site-main{width:100%;max-width:none;padding:0;margin:0}

/* An authored full-bleed first Layout keeps the shared Header and Footer. */
#site-main:has(>.builder-page>.pw-edge-page){width:100%;max-width:none;padding:0;margin:0}
.builder-page>.pw-edge-page,body>.pw-edge-page{width:100%!important;max-width:none!important;margin:0!important}

/* Reveal the completed public shell together, without placeholder text. */
html[data-site-loading="true"] body{visibility:hidden}
