/* One persistent header geometry for every public route. */
body>.unified-public-head,body.public-menu-open>.unified-public-head,body:has(.home)>.unified-public-head{display:block!important;position:sticky!important;top:0;z-index:104;width:100%;background:transparent;border:0;box-shadow:none;backdrop-filter:none;view-transition-name:public-header}
body:has(.home)>.unified-public-head.scrolled{background:rgba(246,244,239,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(229,224,215,.72);box-shadow:0 8px 24px rgba(41,38,34,.06)}
.unified-public-head[hidden]{display:none!important}
.unified-public-head .in,body.public-menu-open>.unified-public-head .in{display:flex!important;align-items:center;flex-wrap:nowrap;gap:10px;max-width:1230px;width:100%;height:72px;margin:auto;padding:12px 20px}
.unified-public-head .brand,body.public-menu-open>.unified-public-head .brand{display:flex!important;align-items:center;gap:10px;flex:0 1 auto;order:0;min-width:0;text-decoration:none}
.unified-public-head .brand-copy{display:flex!important;flex-direction:column;white-space:nowrap;gap:0;line-height:1.4}
.unified-public-head .brand-copy b{font-size:.88rem;font-weight:800}
.unified-public-head .brand-copy small{font-size:.7rem}
.unified-public-head .avatar-live.brand-mark{width:44px;height:44px;flex:none;display:block}
.unified-public-head .avatar-live img{width:100%;height:100%;max-width:none}
.unified-public-head .public-bell{display:grid;place-items:center;flex:none;width:42px;height:42px;order:1;margin:0;border-radius:50%;color:var(--ink);background:transparent;border:1px solid var(--border);backdrop-filter:none}
.unified-public-head .public-bell svg{width:20px;height:20px}
.unified-public-head .nav-toggle,body.public-menu-open>.unified-public-head .nav-toggle{display:none!important;order:2;flex:none;width:42px;height:42px;min-width:42px;min-height:42px;margin:0;border-radius:50%;background:transparent}
.unified-public-head .pub-nav{flex:1;order:1}
.unified-public-head.scrolled{background:rgba(246,244,239,.86);backdrop-filter:blur(16px)}
::view-transition-old(public-header),::view-transition-new(public-header){animation:none}
@media(max-width:860px){
body:has(.home) .test-banner,.test-banner{display:none!important}
body:has(.home) .home{padding-top:0!important}
.unified-public-head .in,body.public-menu-open>.unified-public-head .in{height:72px;padding:14px;gap:8px}
.unified-public-head .brand,body.public-menu-open>.unified-public-head .brand{flex:1;gap:10px}
.unified-public-head .nav-toggle,body.public-menu-open>.unified-public-head .nav-toggle{display:grid!important;place-items:center}
.unified-public-head .pub-nav{display:none}
body.public-menu-open .pub-nav.open{top:var(--public-menu-top,72px);max-height:calc(100dvh - var(--public-menu-top,72px) - 16px)}
}
@media(max-width:360px){.unified-public-head .brand-copy b{font-size:.8rem}.unified-public-head .brand-copy small{font-size:.63rem}.unified-public-head .in{gap:6px;padding-inline:10px}}
/* The skip link is an inline body child: relative positioning left a 30px line box above the header on non-home routes. */
body>.skip{position:absolute}
@media(min-width:861px){.unified-public-head .in{max-width:1320px;padding-inline:32px;gap:18px}.unified-public-head .brand{flex:0 1 300px}.unified-public-head .brand-copy{min-width:0}.unified-public-head .pub-nav{min-width:0;display:flex;justify-content:center}.unified-public-head .pub-nav a{white-space:nowrap}.unified-public-head .public-bell{margin-inline-start:auto}.home .shortcuts{max-width:1320px;grid-template-columns:repeat(4,minmax(0,1fr))}.home-services,.home>section:not(.home-hero):not(.doc-card):not(.home-services){padding-inline:max(32px,calc((100vw - 1240px)/2))}.home-service-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1240px;margin-inline:auto}.svc-main{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-width:0}.svc-main>*{min-width:0}.svc-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));min-width:0}}
/* Old app.css shrinks .brand img on scroll; the avatar layers must keep their size. */
.unified-public-head.scrolled .avatar-live img{transform:none!important}
