/* Společné vnější linie obsahu napříč stránkou. */
:root { --content-width:none; --page-gutter:7.5%; }
.header,.hero,.section,.contact,footer { width:calc(100% - 2 * var(--page-gutter)); max-width:var(--content-width); margin-left:auto; margin-right:auto; }
.header-bar { position:sticky; top:0; z-index:100; background:var(--paper); }
html { scroll-padding-top:148px; }
.header { padding:24px 0; }
.hero-copy { padding-left:0; }
.section { padding:90px 0; }
.care { padding-left:var(--page-gutter); padding-right:var(--page-gutter); }
.contact { margin-bottom:55px; }
footer { padding-left:0; padding-right:0; }
.icon-circle { width:96px; height:96px; }
.icon-circle svg { width:58px; height:58px; stroke-width:2; color:#465342; }
.values svg { stroke-width:2; }
@media(max-width:1000px) { .header { padding:20px 0; } .section { padding:65px 0; } .hero-copy { padding-left:0; } .contact { margin-left:auto; margin-right:auto; } }
@media(max-width:700px) { .header { gap:12px; } .header .brand-emblem { width:50px; height:50px; } .brand { gap:8px; } .brand>span { font-size:20px; } .header-phone { font-size:11px; letter-spacing:0; } .header-phone>span { margin-left:4px; } .hero-copy { padding:35px 0 32px; } .section { padding:55px 0; } .contact { margin:0 auto 30px; padding:35px 24px; } footer { padding:0 0 25px; } .icon-circle { width:82px; height:82px; } .icon-circle svg { width:50px; height:50px; } }

.contact-page { padding-top:45px; }
.contact h1 { font-size:45px; letter-spacing:-1px; line-height:1.15; margin-bottom:0; }
.service-columns article>p,.steps p { max-width:42ch; }
@media(min-width:2200px) { .hero { min-height:850px; } .hero-copy { align-self:center; } .service-columns article { padding-left:60px; padding-right:60px; } }
@media(max-width:700px) { :root { --page-gutter:24px; } .contact-page { padding-top:25px; } .contact h1 { font-size:39px; } }

@media(max-width:700px) { html { scroll-padding-top:182px; } }

/* Výraznější navigace ve společném stylu tlačítek. */
.header nav { gap:8px; }
.header nav a { display:flex; align-items:center; justify-content:center; padding:11px 18px; background:transparent; color:var(--sage); box-shadow:inset 0 0 0 1px var(--sage); font-weight:500; white-space:nowrap; }
.header nav a:hover { background:var(--sage); color:white; }
@media(max-width:1000px) and (min-width:701px) { .header nav a { padding:10px 12px; } }
@media(max-width:700px) { .header nav { gap:6px; } .header nav a { flex:1; padding:10px 6px; font-size:11px; } html { scroll-padding-top:190px; } }
