/* Public-site polish: typography, section rhythm and consistent action buttons.
   Loaded before dashboard overrides; navigation, footer and motion remain independent. */
:root{--sg-section-space:80px;--sg-section-space-small:48px}
:where(.faithful) main :is(h1,h2,h3){text-wrap:balance;word-break:normal;hyphens:manual}
:where(.faithful) main .section{padding-block:var(--sg-section-space)}
.faithful main .about-grid{padding-top:0}
.faithful main .company-layout{padding-top:var(--sg-section-space);padding-bottom:var(--sg-section-space)}
:where(.faithful) main .about-brand{padding-block:var(--sg-section-space-small)}
:where(.faithful) main .about-tabs-section{padding-top:32px;padding-bottom:var(--sg-section-space-small)}
:where(.faithful) main .about-experience{padding-block:var(--sg-section-space)}
:where(.faithful) main .page-head{padding-block:64px}
:where(.faithful) main .news-original{padding-block:var(--sg-section-space)}
:where(.faithful) main .editorial-columns{padding-top:var(--sg-section-space-small);padding-bottom:var(--sg-section-space)}
:where(.faithful) main .application-downloads{padding-top:32px;padding-bottom:var(--sg-section-space-small)}
:where(.faithful) :where(main,.closing) .button{min-height:48px;padding:14px 22px;gap:12px;font-size:12px;font-weight:650;line-height:1.35;border-radius:40px;text-align:center;max-width:100%;white-space:normal;touch-action:manipulation}
:where(.faithful) :where(main,.closing) .button::after{flex:none;line-height:1;font-size:17px}
.faithful .hero .hero-actions .button{min-height:48px;padding:14px 24px;font-size:12px;gap:12px}
:where(.faithful) main .form-actions{gap:12px}
:where(.faithful) .closing .wrap{padding-block:56px}
@media(max-width:767px){
 :root{--sg-section-space:48px;--sg-section-space-small:36px}
 :where(.faithful) main .page-head{padding-block:40px}
 .faithful main :is(.company-hero,.about-hero,.contact-hero,.section-hero,.page-head) h1{font-size:clamp(28px,7.7vw,36px);line-height:1.18;letter-spacing:-.025em;max-width:22ch;margin-inline:auto;overflow-wrap:break-word}
 .faithful main .page-head h1{margin-inline:0}
 .faithful main :is(.about-grid,.quote-grid,.section-head) h2{font-size:clamp(25px,6.8vw,32px);line-height:1.22;letter-spacing:-.025em;max-width:24ch}
 .faithful main .about-brand h2{font-size:clamp(25px,6.7vw,31px);line-height:1.3}
 .faithful main .about-panel-text h2{font-size:clamp(23px,6.2vw,28px);line-height:1.3}
 .faithful main .service-introduction h2{font-size:clamp(25px,6.7vw,32px);line-height:1.24}
 .faithful main .section-brand .company-highlight{font-size:clamp(25px,6.7vw,32px);line-height:1.3}
 .faithful .closing h2{font-size:clamp(25px,6.8vw,32px);line-height:1.25;text-wrap:balance}
 .faithful .closing .wrap{padding-block:40px;gap:24px}
 .faithful [data-hero-carousel] .hero-slide-title{font-size:clamp(23px,6.4vw,30px);line-height:1.18;text-wrap:balance;overflow-wrap:break-word;max-width:24ch}
 .faithful [data-hero-carousel] .hero-slide-title.is-long{font-size:clamp(20px,5.7vw,26px)}
 .faithful .hero .hero-actions .button{min-height:48px;padding:13px 18px;font-size:11px;gap:10px}
}
@media(max-width:360px){.faithful .hero .hero-actions .button{padding-inline:12px;font-size:10px;gap:8px}}

