.container{
    width:min(calc(100% - var(--gutter)*2),var(--container));
    margin-inline:auto;
    min-width:0
}
.section{
    padding-block:88px
}
.section-bottom{
    padding-bottom:80px
}
.section-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:32px;
    margin-bottom:36px
}
.section-heading h2{
    max-width:810px
}
.section-heading p{
    margin-top:16px;
    max-width:680px
}
.section-heading>.text-button{
    flex-shrink:0
}
.two-grid,.split-layout{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:36px
}
.split-layout{
    gap:72px;
    align-items:start
}
.split-layout>div>h2{
    margin-bottom:22px
}
.split-layout>div>p{
    max-width:570px
}
.split-layout>div>.button,.split-layout>div>.text-button{
    margin-top:24px
}
.three-grid,.services-grid,.fleet-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px
}
.demo-bar{
    padding:5px var(--gutter);
    font-size:12px;
    letter-spacing:.12em;
    font-weight:650;
    background:var(--color-dark);
    color:var(--color-inverse);
    text-align:center
}
.demo-bar span{
    letter-spacing:.035em;
    font-weight:400;
    margin-left:12px;
    color:var(--color-dark-muted)
}
.site-header{
    position:sticky;
    top:0;
    z-index:30;
    background:rgba(249,249,245,.97);
    border-bottom:1px solid var(--color-border);
    transition:box-shadow .2s
}
.header-inner{
    display:flex;
    align-items:center;
    gap:28px;
    height:88px;
    transition:height .25s
}
.site-header.compact .header-inner{
    height:70px
}
.site-header.compact{
    box-shadow:0 4px 20px #2228
}
.brand{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:28px;
    line-height:1;
    font-weight:800;
    letter-spacing:.035em;
    flex-shrink:0
}
.brand-mark{
    display:grid;
    place-items:center;
    width:43px;
    height:43px;
    border-radius:10px;
    background:#ffc400;
    color:#171b18
}
.brand-mark svg{
    width:100%;
    height:100%;
    display:block
}
.brand small{
    display:block;
    font-size:13px;
    line-height:1;
    letter-spacing:.17em;
    margin-top:8px
}
.header-city{
    font-size:18px;
    display:flex;
    align-items:center;
    gap:6px;
    max-width:268px;
    line-height:1.4
}
.header-city .icon{
    width:17px
}
.desktop-nav{
    display:flex;
    align-items:center;
    gap:24px;
    margin-left:auto;
    white-space:nowrap;
    font-size:18px;
    font-weight:550
}
.nav-link{
    display:flex;
    align-items:center;
    gap:5px;
    padding:10px 0
}
.nav-link .icon{
    width:14px
}
.desktop-nav a[aria-current]{
    text-decoration:underline;
    text-decoration-color:#9a6800;
    text-underline-offset:8px
}
.header-phone{
    font-size:18px;
    font-weight:650;
    white-space:nowrap
}
.header-phone small{
    display:block;
    font-size:13px;
    color:var(--color-muted);
    font-weight:400;
}
.header-phone .status-dot{
    width:5px;
    height:5px
}
.menu-toggle{
    display:none
}
.breadcrumbs{
    display:flex;
    gap:12px;
    padding-top:26px;
    font-size:15px;
    color:var(--color-muted);
    flex-wrap:wrap
}
.breadcrumbs a:hover{
    text-decoration:underline
}
.site-footer{
    background:var(--color-dark);
    color:var(--color-inverse);
    padding:68px 0 24px
}
.footer-main{
    display:grid;
    grid-template-columns:1fr 1.25fr 1fr;
    gap:65px;
    padding-bottom:48px
}
.site-footer p{
    color:var(--color-dark-muted);
    font-size:16px;
    margin-top:22px
}
.site-footer nav{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px 24px;
    align-content:start;
    font-size:16px
}
.site-footer a:hover{
    color:var(--color-accent)
}
.footer-phone{
    font-size:23px;
    font-weight:600
}
.site-footer .text-button{
    margin-top:14px;
    border-color:#566054
}
.footer-bottom{
    display:flex;
    justify-content:space-between;
    gap:24px;
    padding-top:24px;
    border-top:1px solid #465043;
    font-size:14px;
    color:var(--color-dark-muted)
}
.site-footer .legal{
    font-size:14px;
    max-width:900px
}
.mobile-actions{
    display:none
}
.scroll-progress{
    height:2px;
    width:100%;
    transform:scaleX(0);
    transform-origin:left;
    background:var(--color-accent);
    position:fixed;
    top:0;
    left:0;
    z-index:50
}
.to-top{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:25;
    box-shadow:0 5px 20px #0002
}
.to-top .icon{
    transform:rotate(-90deg)
}
 