/* Section headings follow homepage-headings.css. Hero, cards and the contact
 * banner keep their separate hierarchy, as they do on the homepage. */
body:has(#start.service-page) {
    --service-heading-size:44px;
    --service-heading-gap:32px;
}
body:has(#start.service-page) :is(#start, #recording-guide, #texts.game-story) h2:not(:where(.kg-contact-strip *, .s-callback *, .kg-voice *)) {
    margin:0 0 var(--service-heading-gap);
    padding:0;
    max-width:none;
    color:#3b4173!important;
    font-family:Roboto,Arial,sans-serif!important;
    font-size:var(--service-heading-size)!important;
    font-weight:700!important;
    line-height:1.1!important;
    letter-spacing:-.035em!important;
    text-align:left!important;
    text-transform:none;
    text-wrap:pretty;
}
body:has(#start.service-page) :is(#start, #recording-guide, #texts.game-story) h2:not(:where(.kg-contact-strip *, .s-callback *, .kg-voice *))::after { display:none!important }
body:has(#start.service-page) #start :is(.headers__pretitle, .kg-kicker, .game-pricing__eyebrow),
body:has(#start.service-page) #texts.game-story .game-story__eyebrow {
    margin:0 0 12px!important;
    padding:0;
    color:#c1492e!important;
    font:700 12px/1.4 Roboto,Arial,sans-serif!important;
    letter-spacing:.16em!important;
    text-align:left;
    text-transform:uppercase;
}
body:has(#start.service-page) #start :is(.kg-contact-strip, .s-callback) .headers__pretitle { color:#fff!important }
body:has(#start.service-page) #start .headers__pretitle::after { display:none!important }
body:has(#start.service-page) #start .headers:has(>h2):not(:where(.s-callback *, .kg-contact-strip *)) { text-align:left; margin-bottom:var(--service-heading-gap) }
body:has(#start.service-page) #start .headers>h2:not(:where(.s-callback *, .kg-contact-strip *)) { margin-bottom:0 }
body:has(#start.service-page) #start #guarantees .kg-guarantees-documents__layout { display:block; min-height:0 }
body:has(#start.service-page) #start #guarantees .kg-guarantees-documents__intro { padding:0; margin:0 0 var(--service-heading-gap); text-align:left }
body:has(#start.service-page) #start #guarantees h2 { margin:0 }
body:has(#start.service-page) #start #guarantees .kg-guarantees-documents__intro>p { max-width:none; margin:16px 0 0; text-align:left; text-wrap:pretty }
@media(min-width:701px) {
    body:has(#start.service-page) #start #guarantees .kg-guarantees-documents__scene { width:min(100%,1100px); margin:0 auto }
}
@media(max-width:700px) {
    body:has(#start.service-page) { --service-heading-size:32px }
}
/* The cartoon process has its own legacy mobile !important size. */
body:has(#start.service-page) #start #stages.homepage-process .homepage-process__title {
    font-size:var(--service-heading-size)!important;
    margin-bottom:var(--service-heading-gap);
}
