/* Official identity. This layer only styles existing UI and brand artwork. */
:root{
 --brand-teal:#0f3d3e;--brand-ivory:#f9f6ee;--brand-red:#e63946;--brand-gold:#f4a261;
 --brand-action-red:#b52635; /* Small white CTA text needs stronger contrast. */
 --color-page:var(--brand-ivory);--color-surface:#fffdf8;--color-ink:var(--brand-teal);
 --color-deep:var(--brand-teal);--color-red:var(--brand-action-red);--color-red-soft:#fbe9e8;
 --color-gold:var(--brand-gold);--teal:var(--brand-teal);--gold:var(--brand-gold);
 --paper:var(--color-page);--card:var(--color-surface);--ink:var(--color-ink);
 --deep:var(--color-deep);--red:var(--color-red);
}
body{background:var(--brand-ivory)}
.brand-logo{display:block;max-width:100%;height:auto;object-fit:contain;direction:ltr;flex-shrink:0}
.brand-plate{display:block;width:min(100%,440px);padding:18px 22px;background:var(--brand-ivory);border:1px solid rgba(15,61,62,.1);border-radius:18px;box-shadow:0 8px 30px rgba(15,61,62,.12)}
.brand-plate .brand-logo{width:100%}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;flex-shrink:0;text-decoration:none}
.brand>.brand-logo{width:154px}
.brand-localized{color:var(--brand-teal);font-size:11px;line-height:1.5;font-weight:600;letter-spacing:0;max-width:100%}
.brand:focus-visible,.public-wordmark:focus-visible{outline:3px solid var(--brand-red);outline-offset:5px;border-radius:6px}
.header-actions{gap:7px;min-width:0}
.language-art-copy .brand-logo{position:static;width:100%;height:auto;object-fit:contain;filter:none;transform:none}
.language-art-copy .brand-plate{margin-bottom:14px}
.language-art-copy p{max-width:33ch;text-shadow:0 1px 5px rgba(0,0,0,.4)}
.language-content{background:var(--brand-ivory)}
.language-content>.wordmark{display:none}
.language-option:hover,.language-option:focus-visible{border-color:var(--brand-red)}
.footer-brand{display:block;line-height:1;letter-spacing:0}
.footer-brand .brand-logo{width:210px;margin-inline:auto}
.public-wordmark{display:block;flex-shrink:0;min-width:0;padding:3px 0}
.public-wordmark .brand-logo{width:210px}
.public-header{gap:20px}
.public-footer>.brand-logo{width:210px;margin-bottom:24px}
.public-document-hero .brand-plate{width:min(100%,390px);margin-bottom:24px}
.public-document-hero .brand-plate .brand-logo{position:static;object-fit:contain;height:auto;filter:none}
.branded-error>.brand-logo{width:min(280px,100%);margin:0 auto 24px}
.branded-error>.eyebrow{display:block;margin-bottom:14px}
#boot{background:var(--brand-ivory);gap:0}
#boot>.brand-logo{width:min(270px,72vw);height:auto}
.city-button{color:var(--brand-teal)}
.emergency-link,.emergency-call{background:var(--brand-action-red);color:#fff}
@media(min-width:768px){
 .brand>.brand-logo{width:190px}
 .brand-localized{font-size:12px}
}
@media(min-width:1024px){
 .brand>.brand-logo{width:210px}
 .language-art-copy .brand-plate{padding:24px 28px}
}
@media(max-width:767px){
 #app>header{column-gap:8px}
 .brand>.brand-logo{width:clamp(132px,38vw,158px)}
 .public-wordmark .brand-logo{width:150px}
 .public-header{gap:12px}
 .public-header>.secondary{max-width:48%;text-align:center;white-space:normal}
 .brand-plate{padding:15px 18px;border-radius:15px}
 .language-art-copy .brand-plate{max-width:330px}
 .public-document-hero .brand-plate{max-width:300px;margin-bottom:18px}
}
