/* Shared layout contract. Load last; new pages inherit these entry offsets. */
:root{--page-entry-gap:48px;--page-gutter:5vw;--entry-title-gap:24px}
@media(max-width:700px){:root{--page-entry-gap:24px;--page-gutter:6vw}}
#header{padding-inline:var(--page-gutter)}
#main .section{padding-inline:var(--page-gutter)}
#main>section:first-child,#main>div:first-child>section:first-child{padding-top:var(--page-entry-gap)}
/* A tall illustration must never push the opening text down. */
#main .ap-hero{align-items:start}
#main .ap-hero>div:first-child{align-self:start;padding-top:0;margin-top:0}
#main :is(.hero-top,.service-kicker){margin-top:0;min-height:16px;align-items:start}
#main :is(.hero-top,.service-kicker)> .micro,
#main :is(.web-hero,.mk-hero,.legal,.web-detail-hero)> .micro,
#main .ap-hero>div:first-child> .micro{display:block;line-height:16px;margin-top:0;padding-top:0}
#main .service-kicker .mini-star{display:none}
#main .web-detail-hero .web-back{margin:24px 0 0}
#main :is(.hero,.service-hero,.web-hero,.mk-hero,.ap-hero,.legal,.web-detail-hero) h1{margin-top:var(--entry-title-gap)}
