/* Branding only: no page-content, diagram, routing or global type overrides. */
/* navigation-context already measures the rendered header with ResizeObserver.
   Reuse that measurement for legacy sticky offsets without changing navigation JS.
   Set the inherited value on body so explicit .lp-exhibit overrides still win. */
html:has(.brand-header){--header-height:var(--return-header,96px)}
body:has(>.brand-header){--ms-header:var(--return-header,96px)}
.site-header.brand-header{height:96px;min-height:96px;padding:0 64px;gap:24px;background:#fff;border-bottom:1px solid #e3e8ef}
.site-header.brand-header .brand-identity{display:flex;align-items:center;gap:0;flex:none;min-width:0;letter-spacing:0;line-height:1.2}
.brand-header .brand-lockup{width:280px;height:auto;flex:none}
.brand-header.prototype-nav #navigation{gap:26px;flex:none}
.brand-header.prototype-nav #navigation>a,.brand-header.prototype-nav .p10-work-trigger>a,.brand-header.prototype-nav #login-dropdown-toggle{font-size:16px;font-weight:400;color:#1b2a3a}
.brand-header.prototype-nav #navigation>a:last-child{display:flex;align-items:center;justify-content:center;min-height:44px;height:44px;padding:0 24px;border-radius:6px;background:#203d58;color:#fff}
.brand-header :is(a,button):focus-visible,.brand-footer :is(a,button,summary):focus-visible,.brand-contact a:focus-visible{outline:3px solid #10a5a6;outline-offset:5px}
/* Keep the established 1120px menu breakpoint and the full proportional logo.
   Narrow outer padding and navigation gaps only at smaller desktop widths. */
@media(min-width:1121px) and (max-width:1339px){
 .site-header.brand-header{padding-inline:32px;gap:20px}
 .brand-header.prototype-nav #navigation{gap:20px}
}
@media(max-width:1120px){
 .site-header.brand-header{height:88px;min-height:88px;padding:10px 32px;align-items:center;gap:12px}
 .brand-header .brand-lockup{width:240px}
 .brand-header.prototype-nav .menu-toggle{margin-top:0;min-height:40px;height:40px;border-color:#c5ced9;border-radius:999px}
 .brand-header.prototype-nav #navigation{gap:3px;max-height:calc(100dvh - var(--return-header,88px))}
 .brand-header.prototype-nav #navigation>a:last-child{justify-content:flex-start}
}
@media(max-width:480px){
 .site-header.brand-header{height:84px;min-height:84px;padding:10px 20px}
 .brand-header .brand-lockup{width:min(220px,calc(100vw - 140px))}
 .brand-header.prototype-nav #navigation{max-height:calc(100dvh - var(--return-header,84px))}
}
.ms-footer.brand-footer{background:#0f1f38;padding:44px 0 24px;color:#e9eff4}
.ms-footer.brand-footer>.wrap{max-width:none;padding-inline:64px}
.brand-footer .brand-licensing{padding-bottom:32px;margin-bottom:30px;border-bottom:1px solid #ffffff33}
.brand-footer .brand-licensing>h2{font-size:12px;line-height:1.5;letter-spacing:.13em;color:#bdcdd7;font-weight:400;margin:0 0 14px}
.brand-footer .brand-license-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.brand-footer .brand-license-panel{padding:20px 24px 22px;border:1px solid #ffffff29;border-radius:12px;background:#ffffff08;min-width:0}
.brand-footer .brand-state{display:block;font-size:12px;line-height:1.5;letter-spacing:.14em;color:#3fd1c0;margin:0 0 10px}
.brand-footer .brand-license-panel h3{font-size:20px;line-height:1.3;font-weight:500;letter-spacing:.02em;color:#fff;margin:0 0 10px}
.brand-footer .brand-license-panel p{font-size:16px;line-height:1.5;color:#e9eff4;margin:0 0 10px}
.brand-footer .brand-dre{font-size:16px}
.brand-footer .brand-disclosure-links{display:flex;gap:8px 32px;flex-wrap:wrap}
.brand-footer .brand-disclosure-links a{display:inline-flex;align-items:center;min-height:44px;font-size:16px;line-height:1.5;color:#fff;text-decoration:underline;text-underline-offset:4px}
.brand-footer .ms-footer-cols{grid-template-columns:1.35fr 1fr 1fr;gap:40px}
.brand-footer .brand-footer-identity{display:block;width:310px;max-width:100%;line-height:1}
.brand-footer .brand-lockup{width:310px;height:auto;max-width:100%}
.brand-footer .ms-footer-cols>div:first-child>p{font-size:15px;line-height:1.5;color:#e9eff4;margin:14px 0 16px}
.brand-footer .ms-footer-cols>div:first-child>p strong{color:#3fd1c0;font-weight:400}
.brand-footer .ms-footer-cols h2{font-size:14px;line-height:1.5;font-weight:400;margin:0 0 14px}
.brand-footer .ms-footer-cols>div>a:not(.identity):not(.ms-button),.brand-footer .ms-footer-email{font-size:14px}
.brand-footer .ms-button{min-height:46px;border-radius:8px;background:#6cd3c2;color:#0f1f38;border-color:#6cd3c2;padding:10px 22px;font-size:14px}
.brand-footer .p10-icon{width:30px;height:30px}
.brand-footer .ms-social-row>a.ms-social-mark{width:44px;height:44px}
.brand-footer .ms-footer-base{margin-top:24px;padding-top:18px;border-color:#ffffff33}
.brand-footer .ms-footer-base p{font-size:13px;line-height:1.5;color:#d6dee8}
.brand-footer .ms-footer-base button{font-size:14px;white-space:nowrap}
@media(max-width:1120px){.ms-footer.brand-footer>.wrap{padding-inline:32px}.brand-footer .ms-footer-cols{gap:24px}.brand-footer .brand-lockup{max-width:100%}}
@media(max-width:767px){
 .ms-footer.brand-footer{padding-top:36px}
 .ms-footer.brand-footer>.wrap{padding-inline:20px}
 .brand-footer .brand-license-grid{grid-template-columns:1fr;gap:12px}
 .brand-footer .brand-license-panel{padding:18px 18px 16px}
 .brand-footer .brand-disclosure-links{flex-direction:column;gap:8px}
 .brand-footer .ms-footer-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .brand-footer .ms-footer-cols>div:first-child{grid-column:1/-1}
 .brand-footer .brand-footer-identity,.brand-footer .brand-lockup{width:280px}
 .brand-footer .ms-button{display:flex;width:100%;min-height:48px;justify-content:center}
 .brand-footer .ms-footer-base{align-items:flex-start;flex-direction:column;gap:12px}
}
.contact-card.brand-contact{background:#fff;color:#1b2a3a;border:0;border-top:4px solid #2b7a7e;padding:30px 32px 28px;position:static;align-self:start;height:auto;min-height:0;display:block}
.brand-contact .brand-contact-eyebrow{font-size:11px;line-height:1.5;letter-spacing:.16em;color:#2b7a7e;margin:0 0 14px}
.contact-layout .brand-contact h2{font-size:31px;line-height:1.15;margin:0 0 8px;font-weight:500}
.brand-contact .brand-contact-broker{font-size:20px;line-height:1.3;font-weight:500;color:#203d58;margin:0 0 3px}
.brand-contact .brand-contact-state{display:block;font-size:12px;line-height:1.5;letter-spacing:.08em;color:#5b6b7d}
.brand-contact .brand-contact-roles{font-size:16px;line-height:1.5;color:#2a3b4c;margin:16px 0 18px}
.brand-contact .brand-contact-links{border-bottom:1px solid #dce2ea}
.brand-contact .brand-contact-links>a{display:flex;align-items:center;min-height:48px;border-top:1px solid #dce2ea;padding:10px 0;margin:0;font-size:15px;line-height:1.5;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}
.brand-contact .brand-contact-links>a[href^="tel:"]{letter-spacing:.04em}
.brand-contact .brand-contact-licenses{margin-top:22px}
.brand-contact .brand-contact-licenses h3{font-size:11px;line-height:1.5;font-weight:400;letter-spacing:.16em;color:#5b6b7d;margin:0 0 10px}
.brand-contact .brand-contact-licenses>div{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;margin-top:10px}
.brand-contact .brand-state{font-size:12px;letter-spacing:.1em;color:#2b7a7e;line-height:1.875}
.brand-contact .brand-contact-licenses p{font-size:15px;line-height:1.5;color:#1b2a3a;margin:0}
.brand-contact .brand-row-broker{color:#203d58}
.brand-contact .brand-dre{font-size:15px}
.brand-contact .brand-contact-signoff{margin-top:22px;border-top:1px solid #dce2ea;padding-top:18px}
.contact-card.brand-contact .brand-lockup{width:240px;height:auto;max-width:100%;padding:0;margin:0;background:none;mix-blend-mode:normal}
@media(max-width:1120px){.contact-layout:has(>.brand-contact){grid-template-columns:1fr;gap:32px}}
@media(max-width:480px){.contact-card.brand-contact{padding:26px 24px 24px}}
/* Keep existing extra-small footer wrapping unchanged. */
@media(max-width:360px){
 .brand-footer .ms-footer-cols{column-gap:16px}
 .brand-footer .ms-footer-cols>div{min-width:0}
 .brand-footer .ms-social-row.has-marks{gap:6px;flex-wrap:wrap}
}

/* Both tablet and mobile menus start at the measured header border-box edge. */
@media(max-width:1120px){
 .site-header.brand-header.prototype-nav #navigation.open{position:fixed;justify-content:flex-start;top:var(--return-header,88px);bottom:0;max-height:calc(100dvh - var(--return-header,88px))}
}
