.hero{
    padding-top:30px
}
.hero-layout{
    display:grid;
    grid-template-columns:1.03fr 1fr;
    gap:24px;
    min-height:565px
}
.hero-copy{
    padding:42px 0 34px;
    position:relative;
    z-index:1
}
.hero-copy>.eyebrow{
    font-size:14px;
    margin-bottom:24px
}
.hero h1{
    font-size:clamp(44px,4.9vw,70px);
    line-height:1.02;
    letter-spacing:-.065em;
    font-weight:700
}
.hero h1>span{
    color:#78816b
}
.hero-copy>p{
    font-size:18px;
    line-height:1.7;
    margin-top:26px;
    max-width:440px
}
.hero-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:28px
}
.hero-buttons .button{
    font-size:15px;
    padding-inline:18px;
    gap:12px
}
.hero-phone{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:28px;
    font-size:22px;
    font-weight:650;
    letter-spacing:-.02em
}
.hero-phone .icon{
    width:18px;
    height:18px
}
.hero-disclaimer{
    display:block;
    font-size:13px;
    color:var(--color-muted);
    margin:4px 0 0 28px
}
.hero-visual{
    position:relative;
    overflow:hidden;
    background:#c9cdc6;
    border-radius:18px;
    isolation:isolate
}
.hero-visual picture,.hero-visual img{
    width:100%;
    height:100%;
    position:absolute;
    inset:0;
    object-fit:cover;
    object-position:62% 50%;
    z-index:-2
}
.hero-visual:after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(180deg,#1820184d,transparent 30%,transparent 70%,#18201880)
}
.hero-topline{
    display:flex;
    justify-content:space-between;
    gap:10px;
    position:absolute;
    top:24px;
    left:24px;
    right:24px;
    font-size:13px;
    letter-spacing:.15em;
    color:white;
    font-weight:600
}
.arrival-card{
    position:absolute;
    left:24px;
    top:78px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:15px 18px;
    background:var(--color-bg);
    border-radius:10px;
    box-shadow:0 10px 20px #0001
}
.arrival-icon{
    width:38px;
    height:38px;
    background:var(--color-accent);
    border-radius:50%;
    display:grid;
    place-items:center
}
.arrival-card strong{
    display:block;
    font-size:24px;
    letter-spacing:-.035em;
    line-height:1.1
}
.arrival-card div>span{
    display:block;
    font-size:14px;
    color:var(--color-muted);
    margin-top:6px
}
.hero-image-caption{
    position:absolute;
    bottom:22px;
    left:24px;
    right:24px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    color:white;
    font-size:15px
}
.hero-image-caption>span{
    font-size:24px
}
.hero-facts{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-top:22px;
    padding:26px 0;
    border-top:1px solid var(--color-border);
    border-bottom:1px solid var(--color-border);
    gap:32px
}
.hero-facts>div{
    display:flex;
    align-items:center;
    gap:14px;
    padding-left:28px;
    border-left:1px solid var(--color-border)
}
.hero-facts>div:first-child{
    padding-left:0;
    border-left:0
}
.hero-facts>.icon{
    width:30px;
    height:30px
}
.hero-facts strong{
    display:block;
    font-size:20px
}
.hero-facts small{
    display:block;
    font-size:18px;
    color:var(--color-muted);
    margin-top:4px
}
.page-intro{
    padding-block:54px 46px
}
.page-intro h1{
    max-width:1000px
}
.page-intro p{
    max-width:730px;
    margin-top:26px;
    font-size:19px
}
.filters{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:16px
}
.filter{
    padding:12px 18px;
    border:1px solid var(--color-border);
    border-radius:30px;
    font-size:15px;
    min-height:44px
}
.filter.active{
    background:var(--color-dark);
    color:var(--color-inverse);
    border-color:var(--color-dark)
}
.filter-status{
    margin:0 0 26px
}
.price-formula{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:28px 32px;
    border:1px solid var(--color-border);
    border-radius:var(--radius);
    margin-bottom:64px;
    background:var(--color-surface)
}
.price-formula div>span{
    display:block;
    font-size:12px;
    letter-spacing:.08em;
    color:var(--color-muted);
    margin-bottom:10px
}
.price-formula strong{
    font-size:18px;
    line-height:1.3;
    display:block
}
.price-formula>b{
    font-size:24px;
    font-weight:400;
    color:#7e876f
}
.price-formula .formula-result{
    background:var(--color-accent);
    padding:18px 20px;
    border-radius:8px
}
.price-layout{
    gap:40px
}
.price-layout h2{
    font-size:32px
}
.price-layout>div>p{
    font-size:17px;
    margin-bottom:24px
}
.table-wrap{
    overflow:auto
}
caption{
    text-align:left;
    font-size:14px;
    color:var(--color-muted);
    padding-bottom:12px
}
th,td{
    text-align:left;
    padding:20px 8px;
    border-bottom:1px solid var(--color-border);
    font-size:17px
}
thead th{
    font-size:14px;
    color:var(--color-muted);
    font-weight:500
}
tbody th{
    font-weight:550
}
th .icon{
    display:inline-block;
    vertical-align:middle;
    margin-right:12px
}
td{
    font-weight:650;
    text-align:right;
    white-space:nowrap
}
.note-card{
    padding:32px;
    border:1px solid var(--color-border);
    border-radius:var(--radius);
    background:var(--color-surface);
    min-width:0
}
.note-card.dark-section{
    background:var(--color-dark)
}
.note-card>h3{
    margin-bottom:18px
}
.note-card>p{
    font-size:17px
}
.note-card>.icon{
    margin-bottom:30px
}
.note-card>.button{
    margin-top:24px
}
.large-rate{
    font-size:48px;
    font-weight:650;
    letter-spacing:-.05em;
    line-height:1.1;
    margin:24px 0
}
.large-rate>small{
    display:block;
    font-size:16px;
    letter-spacing:0;
    font-weight:400;
    margin-top:8px
}
.extras-price-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 50px
}
.extras-price-grid>div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    border-bottom:1px solid #c7cbbe;
    padding:20px 0;
    font-size:17px
}
.extras-price-grid strong{
    white-space:nowrap
}
.example-total{
    display:block;
    margin-top:26px;
    font-size:34px;
    letter-spacing:-.05em
}
.example-total+small{
    display:block;
    color:var(--color-muted);
    margin-top:6px;
    font-size:14px
}
.price-notes{
    margin-top:28px
}
.editorial-hero{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:52px;
    align-items:center;
    padding-block:46px 32px
}
.editorial-hero h1{
    font-size:clamp(38px,4vw,60px)
}
.editorial-hero p{
    margin-top:24px;
    font-size:18px
}
.editorial-hero .button{
    margin-top:28px
}
.editorial-hero>img{
    width:100%;
    height:440px;
    object-fit:cover;
    border-radius:var(--radius)
}
.editorial-hero .section-note{
    font-size:15px
}
.directions{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px
}
.directions>button{
    text-align:left;
    padding:24px;
    border:1px solid var(--color-border);
    border-radius:var(--radius);
    background:var(--color-surface);
    transition:border-color .2s
}
.directions>button:hover{
    border-color:#9b7924
}
.directions>button>span{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:15px;
    flex-wrap:wrap
}
.directions .icon{
    width:17px;
    height:17px
}
.directions strong{
    display:block;
    font-size:29px;
    margin:24px 0 6px;
    letter-spacing:-.04em
}
.directions small{
    font-size:13px;
    color:var(--color-muted)
}
.assistance-card{
    padding:30px;
    border:1px solid var(--color-border);
    border-radius:var(--radius);
    display:flex;
    flex-direction:column;
    background:var(--color-surface)
}
.assistance-card>.icon{
    width:40px;
    height:40px;
    margin-bottom:30px;
    color:#947118
}
.assistance-card h3{
    margin-bottom:18px
}
.assistance-card p{
    font-size:17px;
    margin-bottom:24px
}
.assistance-card .card-bottom{
    margin-top:auto
}
.business-banner{
    position:relative;
    padding:60px;
    background:var(--color-dark);
    color:var(--color-inverse);
    border-radius:var(--radius);
    overflow:hidden
}
.business-banner:after{
    content:"";
    position:absolute;
    right:-90px;
    top:-80px;
    width:430px;
    height:430px;
    border:60px solid #f5cb4718;
    border-radius:50%;
    pointer-events:none
}
.business-banner .eyebrow{
    color:var(--color-accent)
}
.business-banner h2{
    font-size:clamp(32px,4vw,52px);
    max-width:810px
}
.business-tags{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    max-width:800px;
    margin:32px 0
}
.business-tags span{
    border-color:#57634f
}
.business-banner .button{
    position:relative;
    z-index:1
}
.contact-layout{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px
}
.contact-card{
    padding:40px;
    border-radius:var(--radius)
}
.contact-phone{
    display:block;
    font-size:clamp(22px,3.2vw,44px);
    font-weight:650;
    letter-spacing:-.04em;
    margin-top:40px;
    white-space:nowrap
}
.contact-card p{
    margin-block:36px 20px;
    font-size:17px
}
.contact-card>.text-button{
    border-color:#64705d
}
.contact-card>a:not(.contact-phone):not(.text-button){
    text-decoration:underline
}
.contact-card>small{
    display:block;
    font-size:14px;
    max-width:370px
}
.messengers{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin:30px 0
}
.messengers span{
    padding:10px 12px;
    border:1px solid #66705f;
    border-radius:8px;
    font-size:14px;
    color:var(--color-dark-muted)
}
.check-list{
    padding-left:20px;
    color:var(--color-muted);
    font-size:18px
}
.check-list li{
    padding:8px 0
}
.prose{
    max-width:850px
}
.prose h2{
    font-size:28px;
    margin:36px 0 18px
}
.prose p{
    font-size:18px
}
.prose .button{
    margin-top:30px
}
 .price-formula .formula-result>span{
    color:var(--color-text)
}
 .not-found{
    padding-top:44px;
    max-width:1000px
}
.not-found-code{
    font-size:clamp(100px,16vw,190px);
    font-weight:750;
    letter-spacing:-.085em;
    line-height:1;
    color:var(--color-text);
    display:flex;
    align-items:center;
    gap:30px;
    margin-bottom:30px
}
.not-found-code>span{
    width:clamp(65px,12vw,130px);
    height:clamp(65px,12vw,130px);
    border-radius:50%;
    display:grid;
    place-items:center;
    background:var(--color-accent)
}
.not-found-code .icon{
    width:55%;
    height:55%
}
.not-found h1{
    max-width:780px;
    font-size:clamp(34px,4.5vw,60px)
}
.not-found>p{
    max-width:620px;
    margin-top:24px
}
.not-found>.text-button{
    margin-top:20px
}
 .policy-version{
    font-size:15px!important;
    color:var(--color-muted);
    margin-bottom:20px
}
.policy-operator{
    padding:24px;
    border:1px solid var(--color-border);
    border-radius:var(--radius);
    background:var(--color-surface);
    margin-bottom:24px
}
.policy-operator>strong{
    display:block;
    margin-bottom:14px;
    font-size:20px;
    line-height:1.4
}
.policy-operator dl{
    font-size:17px
}
.policy-operator dl>div{
    display:flex;
    justify-content:space-between;
    gap:18px;
    padding:8px 0;
    border-top:1px solid var(--color-border)
}
.policy-operator dt{
    color:var(--color-muted)
}
.policy-operator dd{
    text-align:right;
    overflow-wrap:anywhere
}
.policy p>a,.policy li>a,.policy-operator a{
    color:var(--color-text);
    text-decoration:underline;
    text-underline-offset:3px
}
.policy-navigation{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin:24px 0 36px
}
.policy-navigation a{
    padding:9px 13px;
    border:1px solid var(--color-border);
    border-radius:8px;
    min-height:44px;
    font-size:15px;
    display:flex;
    align-items:center
}
.policy-navigation a:hover{
    background:var(--color-accent)
}
.policy ul{
    padding-left:22px;
    color:var(--color-muted)
}
.policy li{
    margin:12px 0
}
.policy h3{
    margin:26px 0 14px;
    font-size:22px
}
.policy .button{
    max-width:100%
}
@media(max-width:430px){
    .policy-operator{
        padding:20px
    }
    .policy-operator dl>div{
        flex-direction:column;
        gap:3px
    }
    .policy-operator dd{
        text-align:left
    }
    .policy li{
        font-size:17px
    }
}
 