.publicSite{--public-navy:#073454;--public-ink:#183b52;--public-muted:#647b8b;--public-lime:#d6df39;--public-paper:#fff;--public-bg:#f3f6f8;--public-line:#c9d6df}
.publicSite[data-public-theme=dark]{--public-ink:#e5eef5;--public-muted:#b5c6d2;--public-paper:#203643;--public-bg:#122632;--public-line:#4b6372;color-scheme:dark}
.publicSite .siteHeader{width:100%;margin:0;padding:18px clamp(18px,5vw,80px);display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--public-navy);color:#fff;font:16px/1.5 Arial,Helvetica,sans-serif;flex-shrink:0}
.publicSite .brand{display:flex;align-items:center;gap:14px;text-decoration:none;min-width:0;color:#fff}
.publicSite .brand img{width:clamp(44px,4vw,62px);height:clamp(44px,4vw,62px);object-fit:cover;object-position:center 28%;border-radius:50%;border:2px solid #ffffff80;flex:none}
.publicSite .brand strong{font:700 clamp(17px,2vw,25px)/1.2 Georgia,serif;display:block;color:#fff}.publicSite .brand small{display:block;font-size:12px;color:#cbdbe4;margin-top:4px}
.publicSite .contact{flex:none;text-decoration:none;font-size:14px;font-weight:700;border-bottom:2px solid var(--public-lime);padding:6px 0;color:#fff}
.publicSite .siteFooter{padding:12px clamp(18px,5vw,80px) max(12px,env(safe-area-inset-bottom));width:100%;display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;background:var(--public-navy);color:#d4e0e8;font:12px/1.5 Arial,Helvetica,sans-serif;flex-shrink:0;margin-top:auto}
.publicSite .siteFooter nav{display:flex;align-items:center;gap:14px 22px;flex-wrap:wrap}.publicSite .siteFooter a,.publicSite .siteFooter nav>button{border:0;padding:0;background:none;font:inherit;color:#d4e0e8;text-decoration:none;cursor:pointer}.publicSite .siteFooter a:hover,.publicSite .siteFooter nav>button:hover{text-decoration:underline;color:#fff}
.publicSite .publicTheme{border:1px solid #8baabd!important;border-radius:20px!important;padding:8px 12px!important;min-height:40px;white-space:nowrap}
.publicSite :is(a,button,input,select,textarea):focus-visible{outline:3px solid #39a6cf;outline-offset:4px}
.publicSite .publicLegalDialog{position:fixed;inset:0;margin:auto!important;box-sizing:border-box;max-width:min(850px,calc(100vw - 24px));width:850px;max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--public-line);border-radius:16px;background:var(--public-paper);color:var(--public-ink);box-shadow:0 20px 80px #051b3466;font:16px/1.6 Arial,Helvetica,sans-serif;overflow:auto;overscroll-behavior:contain}
.publicLegalDialog::backdrop{background:#04192dbb}.publicSite .publicLegalDialog>header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;background:var(--public-paper);border-bottom:1px solid var(--public-line);z-index:1;color:inherit}.publicSite .publicLegalDialog h2{font:700 26px/1.2 Georgia,serif;margin:0;color:inherit}.publicSite .publicLegalDialog>header button{min-height:44px;min-width:44px;border:1px solid var(--public-line);border-radius:8px;background:var(--public-paper);color:var(--public-ink);font-size:23px;cursor:pointer}
.publicSite .publicLegalText{padding:8px 24px 28px;color:var(--public-ink)}.publicSite .publicLegalText :is(h2,h3){font:700 18px/1.4 Arial,Helvetica,sans-serif;margin:24px 0 8px;color:inherit}.publicSite .publicLegalText p{font-size:15px;line-height:1.75;margin:10px 0;color:inherit}.publicSite .publicLegalText a{color:inherit;text-decoration:underline;overflow-wrap:anywhere}.publicSite .publicLegalText .legalDate{font-size:12px;color:var(--public-muted)}
@media(max-width:700px){.publicSite .siteHeader{padding:15px 17px;gap:12px}.publicSite .brand{gap:10px}.publicSite .brand strong{font-size:18px}.publicSite .siteFooter{padding:12px 18px max(12px,env(safe-area-inset-bottom));flex-direction:column;align-items:flex-start;gap:8px}.publicSite .siteFooter nav{gap:12px 20px}.publicSite .publicLegalDialog>header{padding:16px}.publicSite .publicLegalText{padding:4px 18px 24px}}
.publicSite{color-scheme:light}.publicSite[data-public-theme=dark]{color-scheme:dark}.publicSite .publicTheme{display:inline-flex;align-items:center;gap:6px}

/* V12: the application reset must not change the shared public typography. */
.publicSite .siteHeader .brand strong{font-family:Georgia,serif!important;font-size:25px!important;line-height:1.2!important;font-weight:700!important}.publicSite .siteHeader .brand small{font-family:Arial,Helvetica,sans-serif!important;font-size:12px!important;line-height:1.5!important;font-weight:400!important}.publicSite .siteHeader .contact{font-family:Arial,Helvetica,sans-serif!important;font-size:14px!important;line-height:1.5!important}.publicSite .siteFooter :is(span,nav,a,button){font-family:Arial,Helvetica,sans-serif!important;font-size:12px!important;line-height:1.5!important}.publicSite .publicLegalDialog{margin:auto!important;min-height:0;max-height:calc(100dvh - 32px);overflow-x:hidden}.publicSite[data-public-theme=dark]{background:var(--public-bg)}
@media(max-width:700px){.publicSite .siteHeader .brand strong{font-size:18px!important}}

/* V12.1: identical box metrics as well as typography in both host documents. */
.publicSite .siteHeader,.publicSite .siteFooter,.publicSite .brand,.publicSite .brand *{box-sizing:border-box;letter-spacing:normal;text-transform:none}
.publicSite .siteHeader .brand strong,.publicSite .siteHeader .brand small{margin:0;padding:0;font-style:normal}
.publicSite .siteHeader .brand small{margin-top:4px}
.publicSite .siteFooter :is(span,nav,a,button){font-style:normal;font-weight:400!important;letter-spacing:normal;text-transform:none}
