:root{
    --dark:#07382e;
    --dark-2:#052a23;
    --green:#0f5a46;
    --green-2:#167058;
    --yellow:#f4bd18;
    --yellow-2:#e2a900;
    --cream:#f7f3ea;
    --light:#f4f7f5;
    --white:#ffffff;
    --text:#17231f;
    --muted:#66736d;
    --border:#dce5e0;
    --radius-sm:10px;
    --radius:16px;
    --radius-lg:22px;
    --shadow:0 18px 55px rgba(7,44,35,.11);
    --shadow-soft:0 10px 32px rgba(7,44,35,.07);
    --container:1180px;
}

*,
*::before,
*::after{box-sizing:border-box}

html{
    scroll-behavior:smooth;
    max-width:100%;
    overflow-x:hidden;
    overflow-x:clip;
}

body{
    margin:0;
    max-width:100%;
    overflow-x:hidden;
    overflow-x:clip;
    background:#fff;
    color:var(--text);
    font-family:Inter,Arial,sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
}

body.nav-open{overflow:hidden}

img,
svg,
video,
iframe{
    display:block;
    max-width:100%;
}

img{height:auto}

a{
    color:inherit;
    text-decoration:none;
}

button,
input,
textarea,
select{font:inherit}

button{color:inherit}

h1,
h2,
h3,
h4{
    margin:0 0 .65em;
    color:inherit;
    font-family:Manrope,Inter,Arial,sans-serif;
    line-height:1.12;
    overflow-wrap:break-word;
    word-break:normal;
    hyphens:none;
}

h1{font-size:clamp(2.45rem,5.4vw,5rem);letter-spacing:-.045em}
h2{font-size:clamp(1.8rem,3.3vw,2.85rem);letter-spacing:-.03em}
h3{font-size:1.08rem}
p{margin:0 0 1rem}
ul,ol{overflow-wrap:anywhere}

.container{
    width:min(calc(100% - 32px),var(--container));
    max-width:100%;
    margin-inline:auto;
}

.container > *,
.hero__grid > *,
.service-directions-modern > *,
.scenario-grid > *,
.work-cards > *,
.pricing-grid > *,
.about-modern > *,
.blog-layout > *,
.article-layout > *,
.contact > *,
.footer-grid > *{
    min-width:0;
}

.section{padding:78px 0}
.section--compact{padding:62px 0}
.section--muted{background:var(--light)}

.section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:32px;
}

.section-head > div{min-width:0}
.section-head h2{margin-bottom:0}
.section-head p{max-width:720px;margin:10px auto 0;color:var(--muted)}
.section-head--center{display:block;text-align:center}

.eyebrow,
.hero__eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:13px;
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.eyebrow--green{color:var(--green)}
.eyebrow--yellow{color:var(--yellow)}
.hero__eyebrow{color:var(--yellow)}

.skip-link{
    position:fixed;
    z-index:99999;
    top:10px;
    left:-9999px;
    padding:10px 14px;
    border-radius:8px;
    background:#fff;
    color:#000;
}

.skip-link:focus{left:10px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

.button{
    display:inline-flex;
    min-height:48px;
    max-width:100%;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:0 22px;
    border:1px solid transparent;
    border-radius:9px;
    cursor:pointer;
    font-weight:850;
    line-height:1.2;
    text-align:center;
    transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;
}

.button:hover{transform:translateY(-1px)}
.button--accent{background:var(--yellow);color:#171d1a;box-shadow:0 10px 26px rgba(244,189,24,.2)}
.button--accent:hover{background:var(--yellow-2)}
.button--green{background:var(--green);color:#fff}
.button--outline{border-color:rgba(255,255,255,.72);background:rgba(4,29,24,.12);color:#fff}
.button--outline:hover{background:#fff;color:var(--dark)}
.button--soft{border-color:#a9c2b7;background:#fff;color:var(--green)}
.button--soft:hover{border-color:var(--green);background:var(--green);color:#fff}
.button--outline-yellow{border-color:var(--yellow);background:transparent;color:var(--yellow)}
.button--outline-yellow:hover{background:var(--yellow);color:var(--dark)}
.button--full{width:100%}
.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

.site-header{
    position:sticky;
    z-index:1000;
    top:0;
    width:100%;
    max-width:100%;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:rgba(5,47,38,.97);
    color:#fff;
    backdrop-filter:blur(15px);
}

body.admin-bar .site-header{top:32px}

.site-header__inner{
    display:flex;
    min-height:74px;
    align-items:center;
    gap:22px;
}

.brand{
    display:flex;
    min-width:160px;
    max-width:220px;
    align-items:center;
    gap:10px;
}

.brand__mark{
    display:grid;
    width:42px;
    height:42px;
    flex:0 0 42px;
    place-items:center;
    border-radius:50%;
    background:#fff;
    color:var(--green);
}

.brand__mark svg{
    width:25px;
    height:25px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.brand__copy{
    display:flex;
    min-width:0;
    flex-direction:column;
    line-height:1.05;
}

.brand__copy strong{
    overflow:hidden;
    font-size:1.03rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.brand__copy small{
    margin-top:5px;
    font-size:.67rem;
    opacity:.74;
}

.custom-logo{
    width:auto;
    max-width:190px;
    max-height:48px;
}

.site-nav{margin-left:auto}
.site-nav__list{
    display:flex;
    align-items:center;
    gap:21px;
    margin:0;
    padding:0;
    list-style:none;
}

.site-nav a{
    display:block;
    padding:8px 0;
    color:rgba(255,255,255,.91);
    font-size:.82rem;
    font-weight:800;
    white-space:nowrap;
}

.site-nav a:hover,
.site-nav .current-menu-item > a{color:var(--yellow)}

.header-phone{
    display:flex;
    align-items:center;
    gap:9px;
    white-space:nowrap;
}

.header-phone__icon{
    display:grid;
    width:32px;
    height:32px;
    place-items:center;
    color:var(--yellow);
}

.header-phone__icon svg,
.footer-contacts svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.header-phone > span:last-child{display:flex;flex-direction:column}
.header-phone a{font-size:.86rem;font-weight:900}
.header-phone small{font-size:.65rem;opacity:.72}
.header-cta{min-height:44px;padding-inline:17px;font-size:.78rem}

.nav-toggle{
    display:none;
    width:42px;
    height:42px;
    margin-left:auto;
    padding:8px;
    border:0;
    background:transparent;
    cursor:pointer;
}

.nav-toggle > span:not(.screen-reader-text){
    display:block;
    width:25px;
    height:2px;
    margin:5px auto;
    border-radius:2px;
    background:#fff;
}

.hero{
    position:relative;
    isolation:isolate;
    width:100%;
    max-width:100%;
    overflow:hidden;
    background-image:var(--bg);
    background-position:center;
    background-size:cover;
    color:#fff;
}

.hero__shade{
    position:absolute;
    z-index:-1;
    inset:0;
    background:
        linear-gradient(90deg,rgba(3,34,27,.98) 0%,rgba(3,34,27,.88) 47%,rgba(3,34,27,.35) 100%),
        linear-gradient(0deg,rgba(3,25,20,.22),rgba(3,25,20,.22));
}

.hero__grid{
    display:grid;
    min-height:650px;
    grid-template-columns:minmax(0,1fr) 390px;
    align-items:center;
    gap:54px;
    padding-block:64px;
}

.hero--service .hero__grid{min-height:585px}
.hero__content{max-width:760px}
.hero h1{max-width:820px}
.hero__lead{max-width:680px;color:rgba(255,255,255,.88);font-size:1.12rem}

.hero__benefits{
    display:grid;
    max-width:800px;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-top:28px;
}

.hero__benefits span{
    display:flex;
    min-width:0;
    align-items:center;
    gap:8px;
    font-size:.76rem;
    font-weight:800;
    line-height:1.35;
}

.hero__benefits svg{
    width:26px;
    height:26px;
    flex:0 0 26px;
    fill:none;
    stroke:var(--yellow);
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.hero-form-card{
    width:100%;
    max-width:100%;
    padding:24px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.35);
    border-radius:var(--radius);
    background:#fff;
    box-shadow:0 24px 70px rgba(0,0,0,.22);
    color:var(--text);
}

.hero-form-card__head{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-bottom:18px;
}

.hero-form-card__head > span{
    display:grid;
    width:42px;
    height:42px;
    flex:0 0 42px;
    place-items:center;
    border-radius:10px;
    background:var(--light);
    color:var(--green);
}

.hero-form-card__head svg{
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
}

.hero-form-card h2{margin-bottom:5px;font-size:1.4rem;letter-spacing:-.02em}
.hero-form-card p{margin:0;color:var(--muted);font-size:.82rem}

.breadcrumbs{
    display:flex;
    max-width:100%;
    flex-wrap:wrap;
    gap:7px;
    margin-bottom:18px;
    color:rgba(255,255,255,.75);
    font-size:.76rem;
}

.breadcrumbs a:hover{color:var(--yellow)}

.lead-form{
    display:grid;
    min-width:0;
    gap:10px;
}

.form-grid{
    display:grid;
    min-width:0;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.form-field,
.file-field{
    display:grid;
    min-width:0;
    gap:5px;
    color:var(--muted);
    font-size:.7rem;
}

.form-field input,
.form-field textarea{
    width:100%;
    min-width:0;
    max-width:100%;
    border:1px solid var(--border);
    border-radius:8px;
    outline:none;
    background:#fff;
    color:var(--text);
}

.form-field input{height:43px;padding:0 11px}
.form-field textarea{min-height:86px;padding:10px 11px;resize:vertical}
.form-field input:focus,
.form-field textarea:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(244,189,24,.17)}

.file-field{
    grid-column:1/-1;
    display:flex;
    align-items:center;
    gap:10px;
    padding:11px;
    border:1px dashed #b9c8c1;
    border-radius:9px;
    cursor:pointer;
}

.file-field__icon{
    display:grid;
    width:35px;
    height:35px;
    flex:0 0 35px;
    place-items:center;
    border-radius:8px;
    background:var(--light);
    color:var(--green);
}

.file-field__icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.file-field strong{display:block;color:var(--text);font-size:.75rem}
.file-field small{display:block}
.file-field input{display:none}

.consent{
    display:flex;
    align-items:flex-start;
    gap:8px;
    color:var(--muted);
    font-size:.67rem;
    line-height:1.35;
}

.consent input{width:auto;margin-top:2px}
.hp{position:absolute!important;left:-9999px!important}
.form-status{min-height:1.25em;font-size:.75rem}
.form-status.success{color:#157641}
.form-status.error{color:#b42318}
.lead-form.loading{pointer-events:none;opacity:.65}

.service-directions-section{padding-top:26px}

.service-directions-modern{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
}

.service-direction-modern{
    display:grid;
    min-width:0;
    grid-template-columns:42% minmax(0,1fr);
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:var(--radius);
    background:linear-gradient(135deg,#fff,var(--cream));
    box-shadow:var(--shadow-soft);
}

.service-direction-modern__media{min-height:320px;overflow:hidden}
.service-direction-modern__media img{width:100%;height:100%;object-fit:cover}
.service-direction-modern__body{position:relative;padding:28px}
.service-direction-modern__icon{
    display:grid;
    width:44px;
    height:44px;
    place-items:center;
    border-radius:50%;
    background:#fff;
    color:var(--green);
    box-shadow:0 8px 20px rgba(7,44,35,.1);
}

.service-direction-modern__icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7}
.service-direction-modern h2{margin-top:14px;font-size:1.75rem}

.check-list{
    margin:18px 0;
    padding:0;
    list-style:none;
}

.check-list li{
    position:relative;
    margin:9px 0;
    padding-left:24px;
}

.check-list li::before{
    position:absolute;
    left:0;
    color:var(--green);
    content:"✓";
    font-weight:900;
}

.check-list--large li{margin:13px 0}
.check-list--light li{color:rgba(255,255,255,.88)}
.check-list--light li::before{color:var(--yellow)}

.scenario-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:14px;
}

.scenario-modern{
    min-height:190px;
    padding:22px 16px;
    border:1px solid #eee7d9;
    border-radius:14px;
    background:linear-gradient(160deg,#fff,#faf6ec);
    text-align:center;
}

.scenario-modern > span{
    display:grid;
    width:46px;
    height:46px;
    margin:0 auto 14px;
    place-items:center;
    border:1px solid #c9d8d1;
    border-radius:50%;
    color:var(--green);
}

.scenario-modern svg{
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.scenario-modern h3{font-size:.94rem}
.scenario-modern p{margin:0;color:var(--muted);font-size:.77rem;line-height:1.45}

.work-cards{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}

.work-card{
    min-width:0;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
    box-shadow:var(--shadow-soft);
}

.work-card__media{
    position:relative;
    height:180px;
    overflow:hidden;
}

.work-card__media img{width:100%;height:100%;object-fit:cover}
.work-card__media > span{
    position:absolute;
    bottom:10px;
    left:10px;
    display:grid;
    width:31px;
    height:31px;
    place-items:center;
    border-radius:50%;
    background:var(--green);
    color:#fff;
    font-size:.78rem;
    font-weight:900;
}

.work-card__body{padding:18px}
.work-card h3{font-size:1rem}
.work-card p{margin:0;color:var(--muted);font-size:.8rem}

.pricing-section{padding-top:46px}

.pricing-panel{
    width:100%;
    max-width:100%;
    overflow:hidden;
    padding:30px;
    border-radius:var(--radius);
    background:linear-gradient(135deg,var(--dark),#0e4b3c);
    box-shadow:0 24px 60px rgba(7,44,35,.18);
    color:#fff;
}

.pricing-panel__head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:23px;
}

.pricing-panel__head h2{margin-bottom:6px}
.pricing-panel__head p{margin:0;color:rgba(255,255,255,.7)}

.pricing-grid{
    display:grid;
    width:100%;
    max-width:100%;
    grid-template-columns:repeat(5,minmax(0,1fr));
    align-items:start;
    align-content:start;
    gap:10px;
}

.price-modern{
    display:flex;
    min-width:0;
    min-height:255px;
    flex-direction:column;
    padding:18px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.28);
    border-radius:12px;
    background:#fff;
    color:var(--text);
}

.price-modern > span{color:var(--muted);font-size:.68rem}
.price-modern h3{margin-top:7px;font-size:.94rem}
.price-modern > strong{margin:5px 0 12px;color:var(--green);font-size:1.35rem}
.price-modern ul{margin:0 0 16px;padding:0;list-style:none;color:var(--muted);font-size:.73rem}
.price-modern li{position:relative;margin:6px 0;padding-left:17px}
.price-modern li::before{position:absolute;left:0;color:var(--green);content:"✓";font-weight:900}
.price-modern > a{
    display:block;
    margin-top:auto;
    padding:8px 10px;
    border:1px solid #adc3b9;
    border-radius:7px;
    color:var(--green);
    font-size:.74rem;
    font-weight:900;
    text-align:center;
}

.pricing-panel__note{margin:14px 0 0;color:rgba(255,255,255,.72);font-size:.72rem;text-align:center}

.service-package-grid{
    display:grid;
    grid-template-columns:250px minmax(0,1fr);
    align-items:start;
    gap:14px;
}

.service-package{
    padding:20px;
    border:1px solid rgba(255,255,255,.25);
    border-radius:12px;
    background:rgba(255,255,255,.07);
}

.service-package h3{font-size:1.25rem}
.pricing-grid--service{
    grid-template-columns:repeat(4,minmax(0,1fr));
    align-items:start;
    align-content:start;
}
.pricing-grid--service .price-modern{
    min-height:0;
    height:auto;
    align-self:start;
}

.about-modern-section{padding-top:48px}

.about-modern{
    display:grid;
    width:100%;
    max-width:100%;
    grid-template-columns:1.05fr .9fr .82fr;
    overflow:hidden;
    border:1px solid #ece4d7;
    border-radius:var(--radius);
    background:linear-gradient(125deg,#fff,#faf5e9);
    box-shadow:var(--shadow-soft);
}

.about-modern__copy,
.about-modern__list{padding:30px}
.about-modern__copy p{color:var(--muted)}
.about-modern__advantages{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:22px 0;
}

.about-modern__advantages span{
    display:flex;
    min-width:0;
    align-items:center;
    gap:8px;
    color:var(--muted);
    font-size:.77rem;
}

.about-modern__advantages svg{
    width:23px;
    height:23px;
    flex:0 0 23px;
    fill:none;
    stroke:var(--green);
    stroke-width:1.7;
}

.about-modern__list{
    display:flex;
    align-items:center;
    border-left:1px solid #ece4d7;
}

.about-modern__media{
    position:relative;
    min-height:350px;
    max-width:100%;
    overflow:hidden;
}

.about-modern__media img{width:100%;height:100%;object-fit:cover}
.about-modern__counter{
    position:absolute;
    right:16px;
    bottom:16px;
    display:flex;
    width:114px;
    height:114px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.45);
    border-radius:50%;
    background:rgba(4,43,34,.9);
    color:#fff;
    text-align:center;
    backdrop-filter:blur(8px);
}

.about-modern__counter strong{font-size:1.65rem}
.about-modern__counter span{max-width:85px;font-size:.65rem;line-height:1.25}
.about-modern--service{grid-template-columns:1.1fr .8fr .75fr}

.cases-section{overflow:hidden}
.section-actions{display:flex;align-items:center;gap:16px}
.text-link{display:inline-flex;align-items:center;gap:7px;color:var(--green);font-size:.8rem;font-weight:900}
.text-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9}

.carousel-buttons{display:flex;gap:6px}
.carousel-buttons button{
    display:grid;
    width:38px;
    height:38px;
    place-items:center;
    border:1px solid var(--border);
    border-radius:50%;
    background:#fff;
    cursor:pointer;
}

.case-carousel,
.case-carousel__viewport{
    width:100%;
    max-width:100%;
    overflow:hidden;
}

.case-carousel__track{
    display:flex;
    width:100%;
    max-width:100%;
    gap:16px;
    overflow-x:auto;
    padding-bottom:10px;
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
}

.case-carousel__track::-webkit-scrollbar{display:none}

.case-card{
    min-width:0;
    flex:0 0 calc((100% - 48px)/4);
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:13px;
    background:#fff;
    scroll-snap-align:start;
}

.case-card__media{position:relative;height:185px;overflow:hidden}
.case-card__media img{width:100%;height:100%;object-fit:cover}
.case-card__tag{
    position:absolute;
    top:10px;
    right:10px;
    padding:5px 8px;
    border-radius:6px;
    background:rgba(4,43,34,.88);
    color:#fff;
    font-size:.62rem;
    font-weight:900;
    text-transform:uppercase;
}

.case-card__body{padding:15px}
.case-card__body h3{font-size:.95rem}
.case-card__body p{display:flex;flex-direction:column;margin:0;color:var(--muted);font-size:.72rem}

.metrics-strip-section{padding:0 0 34px}
.metrics-strip{
    display:grid;
    width:100%;
    max-width:100%;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
    padding:18px 24px;
    overflow:hidden;
    border-radius:12px;
    background:var(--dark);
    color:#fff;
}

.metrics-strip > div{
    display:grid;
    min-width:0;
    grid-template-columns:auto 1fr;
    align-items:center;
    column-gap:10px;
}

.metrics-strip > div > span{grid-row:1/3;color:var(--yellow)}
.metrics-strip svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7}
.metrics-strip strong{font-size:.94rem}
.metrics-strip small{overflow-wrap:anywhere;color:rgba(255,255,255,.66);font-size:.65rem;line-height:1.2}

.process-modern{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:18px;
}

.process-modern__item{position:relative;text-align:center}
.process-modern__item:not(:last-child)::after{
    position:absolute;
    top:42px;
    right:-14px;
    width:24px;
    border-top:1px dashed #9db5aa;
    content:"";
}

.process-modern__number{
    position:absolute;
    top:0;
    left:50%;
    z-index:2;
    display:grid;
    width:22px;
    height:22px;
    place-items:center;
    transform:translate(-32px,-3px);
    border-radius:50%;
    background:var(--green);
    color:#fff;
    font-size:.64rem;
    font-weight:900;
}

.process-modern__icon{
    display:grid;
    width:67px;
    height:67px;
    margin:0 auto 14px;
    place-items:center;
    border-radius:50%;
    background:linear-gradient(145deg,#ffd557,var(--yellow));
    color:var(--green);
}

.process-modern__icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7}
.process-modern h3{font-size:.86rem}
.process-modern p{margin:0;color:var(--muted);font-size:.69rem}

.faq-section{background:linear-gradient(180deg,#fff,#faf7ee)}
.faq{
    width:100%;
    max-width:1000px;
    margin-inline:auto;
}

.faq--columns{
    display:grid;
    max-width:1180px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 18px;
}

.faq__item{
    min-width:0;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:9px;
    background:#fff;
}

.faq__item button{
    display:flex;
    width:100%;
    min-width:0;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:15px 16px;
    border:0;
    background:none;
    cursor:pointer;
    font-size:.78rem;
    font-weight:850;
    text-align:left;
}

.faq__item button > span{min-width:0;overflow-wrap:anywhere}
.faq__item button b{font-size:1.1rem}
.faq__item > div{padding:0 16px 16px;color:var(--muted);font-size:.8rem}

.cta{
    width:100%;
    max-width:100%;
    overflow:hidden;
    padding:36px 0;
    background:
        linear-gradient(90deg,rgba(4,43,34,.98),rgba(8,70,54,.93)),
        url("../images/hero-modern.jpg") center/cover;
    color:#fff;
}

.cta__grid{
    display:grid;
    grid-template-columns:310px minmax(0,1fr);
    align-items:center;
    gap:30px;
}

.cta__copy h2{font-size:1.85rem}
.cta__copy p{margin:0;color:rgba(255,255,255,.72)}

.lead-form--compact{
    display:grid;
    min-width:0;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:10px;
}

.lead-form--compact .form-grid{
    grid-column:1;
    grid-row:1;
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.lead-form--compact .form-field:nth-child(3),
.lead-form--compact .file-field{display:none}

.lead-form--compact .form-field textarea{min-height:43px;height:43px}
.lead-form--compact .button{grid-column:2;grid-row:1;min-width:150px}
.lead-form--compact .consent{grid-column:1/-1;color:rgba(255,255,255,.72)}
.lead-form--compact .form-status{grid-column:1/-1}

.service-anchor-nav{
    position:sticky;
    z-index:100;
    top:74px;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    border-bottom:1px solid var(--border);
    background:rgba(255,255,255,.96);
    box-shadow:0 8px 25px rgba(7,44,35,.05);
    backdrop-filter:blur(12px);
}

body.admin-bar .service-anchor-nav{top:106px}

.service-anchor-nav .container{
    display:flex;
    min-width:max-content;
    gap:7px;
    padding-block:12px;
}

.service-anchor-nav a{
    padding:8px 12px;
    border-radius:7px;
    background:var(--light);
    color:var(--green);
    font-size:.72rem;
    font-weight:850;
}

.service-anchor-nav a:hover{background:var(--green);color:#fff}
#scenarios,#methods,#included,#prices,#details,#cases,#faq,#estimate{scroll-margin-top:145px}

.service-details-section{background:#fff}
.seo-content-intro,
.seo-content-panel{
    max-width:920px;
    margin:0 auto 22px;
    padding:22px;
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--light);
}

.seo-card-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.seo-card{
    position:relative;
    min-width:0;
    padding:25px;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:14px;
    background:linear-gradient(145deg,#fff,#f8faf9);
    box-shadow:var(--shadow-soft);
}

.seo-card--wide{grid-column:1/-1}
.seo-card__number{
    display:inline-flex;
    margin-bottom:13px;
    color:var(--yellow-2);
    font-size:.72rem;
    font-weight:950;
    letter-spacing:.12em;
}

.seo-card h2{font-size:1.35rem}
.seo-card__body{color:var(--muted);font-size:.88rem}
.seo-card__body > :last-child{margin-bottom:0}
.seo-card__body ul{padding-left:20px}
.service-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.service-link-grid a{display:block;padding:13px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--green);font-weight:850}

.blog-hero{
    padding:74px 0;
    background:
        linear-gradient(90deg,rgba(3,37,29,.96),rgba(3,37,29,.45)),
        var(--bg) center/cover;
    color:#fff;
}

.blog-hero p{max-width:650px;color:rgba(255,255,255,.8)}
.search-form{display:flex;max-width:470px;margin-top:20px}
.search-form label{flex:1}
.search-form input{width:100%;height:46px;padding:0 13px;border:0;border-radius:8px 0 0 8px}
.search-submit{padding:0 18px;border:0;border-radius:0 8px 8px 0;background:var(--yellow);font-weight:850}

.category-nav{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    border-bottom:1px solid var(--border);
    background:#fff;
}

.category-nav .container{display:flex;min-width:max-content;gap:7px;padding-block:13px}
.category-nav a{padding:8px 12px;border-radius:7px;color:var(--green);font-size:.75rem;font-weight:850}
.category-nav a:hover{background:var(--light)}

.blog-layout,
.article-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
    gap:28px;
}

.posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.card{
    min-width:0;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
    box-shadow:var(--shadow-soft);
}

.card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.card__body{padding:18px}
.card h2,.card h3{font-size:1.05rem}
.card p{color:var(--muted);font-size:.82rem}
.post-card small,.meta{color:var(--muted);font-size:.75rem}

.sidebar{display:grid;align-content:start;gap:18px}
.box{
    min-width:0;
    padding:22px;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
    box-shadow:var(--shadow-soft);
}

.box--dark{border-color:transparent;background:var(--dark);color:#fff}
.sidebar ul{margin:0;padding:0;list-style:none}
.sidebar li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:.8rem}

.page-hero{
    padding:58px 0;
    background:linear-gradient(135deg,var(--dark),var(--green));
    color:#fff;
}

.article{padding:42px 0 0}
.article > .container > header{max-width:980px;margin-bottom:22px}
.article figure{margin:0 0 22px}
.article figure img{width:100%;max-height:560px;object-fit:cover;border-radius:14px}
.summary{margin-bottom:22px;padding:22px;border:1px solid var(--border);border-radius:12px;background:var(--light)}
.summary h2{font-size:1.15rem}
.article-content{max-width:100%;font-size:1rem}
.article-content h2,.article-content h3{margin-top:1.8em}
.article-content table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse}
.article-content td,.article-content th{padding:10px;border:1px solid var(--border)}
.article-content blockquote{margin:20px 0;padding:16px;border-left:4px solid var(--yellow);background:#fff8d8}
.related-posts{margin-top:40px}
.cards{display:grid;gap:18px}
.cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cards--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cards--6{grid-template-columns:repeat(6,minmax(0,1fr))}

.about,
.contact{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    gap:30px;
}

.about > img{width:100%;border-radius:var(--radius)}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.facts div{padding:16px;border-radius:10px;background:var(--light)}
.before-after{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.before-after img{width:100%;border-radius:10px}

.site-footer{
    width:100%;
    max-width:100%;
    overflow:hidden;
    padding-top:52px;
    background:var(--dark-2);
    color:rgba(255,255,255,.78);
}

.footer-grid{
    display:grid;
    grid-template-columns:1.35fr .85fr .85fr 1.15fr;
    gap:42px;
}

.brand--footer{color:#fff}
.footer-brand p{max-width:330px;margin-top:18px}
.footer-badges{display:flex;flex-wrap:wrap;gap:7px}
.footer-badges span{padding:6px 9px;border:1px solid rgba(255,255,255,.13);border-radius:7px;font-size:.67rem}
.site-footer h3{color:#fff;font-size:.95rem}
.site-footer ul{margin:0;padding:0;list-style:none}
.site-footer li{margin:8px 0;font-size:.78rem}
.site-footer a:hover{color:var(--yellow)}

.footer-contacts li{
    display:flex;
    align-items:flex-start;
    gap:9px;
}

.footer-contacts svg{flex:0 0 18px;color:var(--yellow)}
.footer-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-top:38px;
    padding:18px 0;
    border-top:1px solid rgba(255,255,255,.1);
    font-size:.68rem;
}

.footer-bottom > span:last-child{display:flex;flex-wrap:wrap;gap:18px}

.pagination,
.nav-links{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:7px;
    margin-top:28px;
}

.page-numbers{padding:7px 11px;border:1px solid var(--border);border-radius:7px}
.page-numbers.current{background:var(--green);color:#fff}

.error-page{text-align:center;padding:120px 0}

@media (max-width:1180px){
    .site-nav__list{gap:14px}
    .site-nav a{font-size:.75rem}
    .header-phone{display:none}
    .hero__grid{grid-template-columns:minmax(0,1fr) 360px;gap:34px}
    .scenario-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .pricing-grid--service{grid-template-columns:repeat(3,minmax(0,1fr))}
    .process-modern{grid-template-columns:repeat(3,minmax(0,1fr))}
    .process-modern__item::after{display:none}
}

@media (max-width:960px){
    body.admin-bar .site-header{top:32px}
    .header-cta{display:none}
    .nav-toggle{display:block}
    .site-nav{
        position:fixed;
        z-index:999;
        top:74px;
        right:0;
        left:0;
        max-height:calc(100vh - 74px);
        overflow-y:auto;
        padding:18px 16px 24px;
        transform:translateY(-120%);
        border-top:1px solid rgba(255,255,255,.08);
        background:var(--dark);
        transition:transform .22s ease;
    }
    body.admin-bar .site-nav{top:106px;max-height:calc(100vh - 106px)}
    .site-nav.is-open{transform:translateY(0)}
    .site-nav__list{flex-direction:column;align-items:stretch}
    .site-nav a{padding:11px 4px;font-size:.95rem}
    .hero__grid{grid-template-columns:1fr;min-height:auto;padding-block:58px}
    .hero__content{max-width:820px}
    .hero-form-card{max-width:650px}
    .service-directions-modern{grid-template-columns:1fr}
    .service-direction-modern{grid-template-columns:38% minmax(0,1fr)}
    .work-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
    .service-package-grid{grid-template-columns:1fr}
    .about-modern,
    .about-modern--service{grid-template-columns:1fr 1fr}
    .about-modern__media{grid-column:1/-1;min-height:330px}
    .about-modern__list{border-left:0;border-top:1px solid #ece4d7}
    .case-card{flex-basis:calc((100% - 32px)/3)}
    .metrics-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
    .cta__grid{grid-template-columns:1fr}
    .lead-form--compact{grid-template-columns:1fr}
    .lead-form--compact .form-grid{grid-column:1;grid-row:auto}
    .lead-form--compact .button{grid-column:1;grid-row:auto}
    .blog-layout,.article-layout{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:782px){
    body.admin-bar .site-header{top:46px}
    body.admin-bar .site-nav{top:120px;max-height:calc(100vh - 120px)}
    body.admin-bar .service-anchor-nav{top:120px}
}

@media (max-width:720px){
    .container{width:min(calc(100% - 24px),var(--container))}
    .section{padding:58px 0}
    .section--compact{padding:48px 0}
    h1{font-size:clamp(2.15rem,11vw,3.3rem)}
    .brand{min-width:0}
    .brand__copy small{display:none}
    .hero__grid{padding-block:45px}
    .hero__benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
    .service-direction-modern{grid-template-columns:1fr}
    .service-direction-modern__media{min-height:235px}
    .scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .work-cards{grid-template-columns:1fr}
    .pricing-panel{padding:20px}
    .pricing-panel__head{display:block}
    .pricing-panel__head .button{margin-top:14px}
    .pricing-grid,
    .pricing-grid--service{grid-template-columns:1fr}
    .price-modern{min-height:auto}
    .about-modern,
    .about-modern--service{grid-template-columns:1fr}
    .about-modern__copy,
    .about-modern__list{padding:24px}
    .about-modern__media{grid-column:auto;min-height:280px}
    .about-modern__advantages{grid-template-columns:1fr}
    .case-card{flex-basis:84%}
    .section-head{display:block}
    .section-actions{justify-content:space-between;margin-top:14px}
    .metrics-strip{grid-template-columns:1fr}
    .process-modern{grid-template-columns:repeat(2,minmax(0,1fr))}
    .faq--columns{grid-template-columns:1fr}
    .lead-form--compact .form-grid{grid-template-columns:1fr}
    .lead-form--compact .form-field:nth-child(3){display:grid}
    .service-anchor-nav .container{width:max-content;padding-inline:12px}
    .seo-card-grid{grid-template-columns:1fr}
    .seo-card--wide{grid-column:auto}
    .service-link-grid{grid-template-columns:1fr}
    .posts,.cards--3,.cards--4,.cards--6{grid-template-columns:1fr}
    .about,.contact{grid-template-columns:1fr}
    .facts,.before-after{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr}
    .footer-bottom{align-items:flex-start;flex-direction:column}
}

@media (max-width:480px){
    .hero__benefits{grid-template-columns:1fr}
    .scenario-grid{grid-template-columns:1fr}
    .process-modern{grid-template-columns:1fr 1fr}
    .button-row{flex-direction:column}
    .button-row .button{width:100%}
    .form-grid{grid-template-columns:1fr}
    .file-field{grid-column:auto}
    .hero-form-card{padding:18px}
    .case-card{flex-basis:91%}
}

.hero h1{max-width:820px;text-wrap:balance;overflow-wrap:break-word;word-break:normal;hyphens:none}


/* 0.5.1 — правка карточек услуг */
.pricing-grid--service .price-modern{
    justify-content:flex-start;
    padding:16px;
}
.pricing-grid--service .price-modern > strong{
    margin:8px 0 12px;
    font-size:1.12rem;
    line-height:1.2;
}
.pricing-grid--service .price-modern h3{
    margin-bottom:2px;
    font-size:1.02rem;
    line-height:1.15;
}
.pricing-grid--service .price-modern > span{
    min-height:2.2em;
    display:block;
}
.pricing-grid--service .price-modern > a{
    margin-top:14px;
}
@media (max-width:1180px){
    .pricing-grid--service{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
    .pricing-grid--service{grid-template-columns:1fr}
}



/* 0.5.3 — выпадающее меню услуг */
.site-nav__list > .menu-item{
    position:relative;
}

.site-nav .menu-item-has-children > a{
    display:flex;
    align-items:center;
    gap:7px;
}

.site-nav .menu-item-has-children > a::after{
    width:7px;
    height:7px;
    margin-top:-4px;
    transform:rotate(45deg);
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    content:"";
    transition:transform .18s ease;
}

.site-nav .sub-menu{
    position:absolute;
    z-index:1200;
    top:calc(100% + 15px);
    left:50%;
    width:260px;
    margin:0;
    padding:9px;
    visibility:hidden;
    transform:translate(-50%,10px);
    border:1px solid rgba(255,255,255,.11);
    border-radius:12px;
    background:#fff;
    box-shadow:0 20px 55px rgba(2,31,24,.24);
    opacity:0;
    list-style:none;
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}

.site-nav .sub-menu::before{
    position:absolute;
    top:-7px;
    left:50%;
    width:14px;
    height:14px;
    transform:translateX(-50%) rotate(45deg);
    border-top:1px solid rgba(7,56,46,.08);
    border-left:1px solid rgba(7,56,46,.08);
    background:#fff;
    content:"";
}

.site-nav .sub-menu li{
    position:relative;
    z-index:1;
}

.site-nav .sub-menu a{
    display:flex;
    align-items:center;
    min-height:46px;
    padding:10px 13px;
    border-radius:8px;
    color:var(--text);
    font-size:.82rem;
    font-weight:850;
    white-space:normal;
}

.site-nav .sub-menu a::before{
    width:8px;
    height:8px;
    margin-right:10px;
    flex:0 0 8px;
    border-radius:50%;
    background:var(--yellow);
    content:"";
}

.site-nav .sub-menu a:hover,
.site-nav .sub-menu .current-menu-item > a{
    background:var(--light);
    color:var(--green);
}

.site-nav .menu-item-has-children:hover > .sub-menu,
.site-nav .menu-item-has-children:focus-within > .sub-menu{
    visibility:visible;
    transform:translate(-50%,0);
    opacity:1;
}

.site-nav .menu-item-has-children:hover > a::after,
.site-nav .menu-item-has-children:focus-within > a::after{
    transform:rotate(225deg);
}

.submenu-toggle{
    display:none;
}

@media (max-width:960px){
    .site-nav .menu-item-has-children{
        display:grid;
        grid-template-columns:minmax(0,1fr) 42px;
        align-items:center;
    }

    .site-nav .menu-item-has-children > a{
        grid-column:1;
    }

    .site-nav .menu-item-has-children > a::after{
        display:none;
    }

    .submenu-toggle{
        display:grid;
        width:38px;
        height:38px;
        grid-column:2;
        place-items:center;
        border:1px solid rgba(255,255,255,.16);
        border-radius:8px;
        background:rgba(255,255,255,.06);
        color:#fff;
        cursor:pointer;
    }

    .submenu-toggle::before{
        width:8px;
        height:8px;
        margin-top:-4px;
        transform:rotate(45deg);
        border-right:2px solid currentColor;
        border-bottom:2px solid currentColor;
        content:"";
        transition:transform .18s ease;
    }

    .menu-item-has-children.submenu-open > .submenu-toggle::before{
        transform:rotate(225deg);
    }

    .site-nav .sub-menu{
        position:static;
        display:none;
        width:100%;
        grid-column:1/-1;
        margin:3px 0 8px;
        padding:7px;
        visibility:visible;
        transform:none;
        border:1px solid rgba(255,255,255,.09);
        background:rgba(255,255,255,.055);
        box-shadow:none;
        opacity:1;
    }

    .site-nav .sub-menu::before{
        display:none;
    }

    .site-nav .sub-menu a{
        color:rgba(255,255,255,.88);
    }

    .site-nav .sub-menu a:hover,
    .site-nav .sub-menu .current-menu-item > a{
        background:rgba(255,255,255,.08);
        color:var(--yellow);
    }

    .site-nav .menu-item-has-children.submenu-open > .sub-menu{
        display:block;
    }
}


/* 0.5.4 — переработка верстки по аудиту главной страницы */

/* Более спокойная типографика первого экрана */
.hero--home .hero__grid{
    min-height:610px;
    grid-template-columns:minmax(0,1.35fr) minmax(350px,390px);
    gap:40px;
    padding-block:56px;
}

.hero--home .hero__content{
    max-width:780px;
}

.hero--home h1{
    max-width:760px;
    margin-bottom:20px;
    font-size:clamp(3.15rem,4.3vw,4rem);
    line-height:1.03;
    letter-spacing:-.045em;
    text-wrap:balance;
    overflow-wrap:normal;
}

.hero--service h1{
    max-width:760px;
    font-size:clamp(2.8rem,4.1vw,4rem);
    line-height:1.04;
    text-wrap:balance;
}

.hero--home .hero__lead{
    max-width:680px;
    margin-bottom:0;
    font-size:1.06rem;
    line-height:1.62;
}

.hero--home .hero__benefits{
    max-width:680px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px 22px;
    margin-top:25px;
}

.hero--home .hero__benefits span{
    font-size:.84rem;
}

.hero--home .hero-form-card{
    width:min(100%,390px);
    justify-self:end;
    padding:26px;
}

.hero--home .hero-form-card h2{
    font-size:1.32rem;
}

.hero--home .form-field,
.hero--home .file-field{
    font-size:.75rem;
}

.hero--home .form-field input{
    height:46px;
}

/* Карточки направлений: больше воздуха и одинаковая высота */
.service-directions-section{
    padding-top:40px;
}

.service-directions-modern{
    gap:24px;
}

.service-direction-modern{
    min-height:360px;
    grid-template-columns:minmax(230px,44%) minmax(0,1fr);
}

.service-direction-modern__media{
    min-height:100%;
}

.service-direction-modern__media img{
    object-position:center;
}

.service-direction-modern__body{
    display:flex;
    flex-direction:column;
    padding:30px;
}

.service-direction-modern h2{
    font-size:1.8rem;
}

.service-direction-modern .button{
    align-self:flex-start;
    margin-top:auto;
}

/* Сценарии: вместо шести узких колонок — читаемая сетка 3×2 */
.scenario-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.scenario-modern{
    display:grid;
    min-height:150px;
    grid-template-columns:52px minmax(0,1fr);
    align-content:start;
    align-items:start;
    column-gap:16px;
    padding:22px;
    text-align:left;
}

.scenario-modern > span{
    width:50px;
    height:50px;
    grid-row:1/3;
    margin:0;
}

.scenario-modern h3{
    margin:3px 0 8px;
    font-size:1.02rem;
}

.scenario-modern p{
    font-size:.86rem;
    line-height:1.52;
}

/* Единственный процесс на главной: крупные технологические карточки */
.home-process-section{
    padding-block:82px;
}

.work-cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
}

.work-card{
    display:grid;
    min-height:245px;
    grid-template-columns:44% minmax(0,1fr);
}

.work-card__media{
    height:100%;
    min-height:245px;
}

.work-card__body{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:24px;
}

.work-card h3{
    font-size:1.14rem;
}

.work-card p{
    font-size:.88rem;
    line-height:1.55;
}

/* Прайс: три карточки в первой строке, две крупные — во второй */
.home-pricing-section{
    padding-top:64px;
}

.home .pricing-panel{
    padding:36px;
    border-radius:20px;
}

.home .pricing-panel__head{
    align-items:center;
    margin-bottom:28px;
}

.home .pricing-grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:14px;
}

.home .price-modern{
    min-height:0;
    padding:22px;
    border-radius:14px;
}

.home .price-modern:nth-child(-n+3){
    grid-column:span 2;
}

.home .price-modern:nth-child(n+4){
    grid-column:span 3;
}

.home .price-modern > span{
    min-height:0;
    font-size:.76rem;
    line-height:1.35;
}

.home .price-modern h3{
    margin-top:9px;
    font-size:1.06rem;
}

.home .price-modern > strong{
    font-size:1.45rem;
}

.home .price-modern ul{
    font-size:.82rem;
}

.home .price-modern > a{
    min-height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:18px;
}

/* Блок компании: текст и преимущества слева, фото — отдельной колонкой */
.home .about-modern{
    grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);
    grid-template-areas:
        "copy media"
        "list media";
}

.home .about-modern__copy{
    grid-area:copy;
    padding:34px 36px 18px;
}

.home .about-modern__list{
    grid-area:list;
    align-items:flex-start;
    padding:0 36px 34px;
    border-top:0;
    border-left:0;
}

.home .about-modern__media{
    min-height:500px;
    grid-area:media;
}

.home .about-modern__advantages{
    gap:14px 18px;
}

.home .about-modern__advantages span{
    font-size:.84rem;
}

/* Кейсы: три крупных карточки вместо четырех мелких */
.case-card{
    flex-basis:calc((100% - 32px)/3);
}

.case-card__media{
    height:225px;
}

.case-card__body{
    padding:18px;
}

.case-card__body h3{
    font-size:1.02rem;
}

.case-card__body p{
    font-size:.8rem;
    line-height:1.45;
}

/* FAQ и финальная форма читаются без уменьшения текста */
.faq__item button{
    padding:17px 18px;
    font-size:.88rem;
}

.faq__item > div{
    padding:0 18px 18px;
    font-size:.86rem;
}

.cta{
    padding-block:46px;
}

.cta__grid{
    grid-template-columns:minmax(280px,340px) minmax(0,1fr);
    gap:36px;
}

.lead-form--compact .form-field input,
.lead-form--compact .form-field textarea{
    height:48px;
    min-height:48px;
}

/* Не допускаем чрезмерно мелкую служебную типографику */
.process-modern h3{font-size:.94rem}
.process-modern p{font-size:.78rem}
.metrics-strip small{font-size:.74rem}

@media (max-width:1180px){
    .hero--home .hero__grid{
        grid-template-columns:minmax(0,1fr) 360px;
        gap:32px;
    }

    .hero--home h1{
        font-size:clamp(3rem,4.8vw,3.7rem);
    }

    .home .pricing-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .home .price-modern,
    .home .price-modern:nth-child(-n+3),
    .home .price-modern:nth-child(n+4){
        grid-column:auto;
    }

    .home .price-modern:last-child{
        grid-column:1/-1;
    }
}

@media (max-width:960px){
    .hero--home .hero__grid{
        grid-template-columns:1fr;
        padding-block:54px;
    }

    .hero--home .hero-form-card{
        width:min(100%,650px);
        justify-self:start;
    }

    .service-direction-modern{
        grid-template-columns:40% minmax(0,1fr);
    }

    .scenario-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .work-cards{
        grid-template-columns:1fr;
    }

    .work-card{
        grid-template-columns:38% minmax(0,1fr);
    }

    .home .about-modern{
        grid-template-columns:1fr 1fr;
        grid-template-areas:
            "copy copy"
            "list media";
    }

    .home .about-modern__media{
        min-height:360px;
    }

    .case-card{
        flex-basis:calc((100% - 16px)/2);
    }

    .cta__grid{
        grid-template-columns:1fr;
    }
}

@media (max-width:720px){
    .hero--home h1{
        max-width:100%;
        font-size:clamp(2.35rem,10vw,3rem);
        line-height:1.06;
    }

    .hero--service h1{
        font-size:clamp(2.25rem,9vw,3rem);
    }

    .hero--home .hero__lead{
        font-size:1rem;
    }

    .hero--home .hero__benefits{
        grid-template-columns:1fr;
    }

    .service-direction-modern{
        min-height:0;
        grid-template-columns:1fr;
    }

    .service-direction-modern__media{
        min-height:250px;
    }

    .scenario-grid{
        grid-template-columns:1fr;
    }

    .scenario-modern{
        min-height:0;
    }

    .work-card{
        grid-template-columns:1fr;
    }

    .work-card__media{
        min-height:230px;
    }

    .home .pricing-panel{
        padding:22px;
    }

    .home .pricing-grid{
        grid-template-columns:1fr;
    }

    .home .price-modern:last-child{
        grid-column:auto;
    }

    .home .about-modern{
        grid-template-columns:1fr;
        grid-template-areas:
            "copy"
            "list"
            "media";
    }

    .home .about-modern__copy{
        padding:26px 24px 14px;
    }

    .home .about-modern__list{
        padding:0 24px 26px;
    }

    .home .about-modern__media{
        min-height:300px;
    }

    .case-card{
        flex-basis:88%;
    }

    .case-card__media{
        height:220px;
    }

    .faq__item button{
        font-size:.86rem;
    }
}

/* 0.5.6: дополнительное описание в карточке кейса */
.case-card__description{
    margin:0 0 10px;
    color:var(--muted);
    font-size:.78rem;
    line-height:1.45;
}

/* 0.5.7 — общий шаблон услуг: отдельная подача спила и расчистки без удаления текущего контента */
.service-page .section-head--center{
    max-width:850px;
    margin-right:auto;
    margin-left:auto;
}

.service-page .section-head--center p{
    max-width:760px;
    font-size:.96rem;
    line-height:1.62;
}

.service-page .hero--service .hero__grid{
    min-height:620px;
    grid-template-columns:minmax(0,1fr) minmax(360px,400px);
    gap:46px;
    padding-block:58px;
}

.service-page .hero--service .hero__content{
    max-width:700px;
}

.service-page .hero--service h1{
    max-width:680px;
    margin-bottom:20px;
    font-size:clamp(3rem,4.2vw,4.25rem);
    line-height:1.02;
    letter-spacing:-.045em;
}

.service-page .hero--service .hero__lead{
    max-width:660px;
    margin-bottom:0;
    font-size:1.05rem;
    line-height:1.62;
}

.service-page .hero--service .hero__benefits{
    max-width:670px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px 24px;
    margin-top:25px;
}

.service-page .hero--service .hero__benefits span{
    font-size:.84rem;
}

.service-page .hero--service .hero-form-card{
    padding:25px;
}

.service-page .hero--service .hero-form-card h2{
    font-size:1.3rem;
}

.service-page .service-scenarios-section{
    padding-top:72px;
}

.service-page .scenario-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.service-page .scenario-modern{
    min-height:158px;
    padding:24px;
    border-radius:16px;
    box-shadow:0 8px 24px rgba(7,44,35,.045);
}

.service-page .scenario-modern h3{
    font-size:1.06rem;
}

.service-page .scenario-modern p{
    font-size:.88rem;
    line-height:1.55;
}

.service-page .service-methods-section .work-cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
}

.service-page .service-methods-section .work-card{
    min-height:260px;
    grid-template-columns:43% minmax(0,1fr);
    border-radius:16px;
}

.service-page .service-methods-section .work-card__media{
    min-height:260px;
}

.service-page .service-methods-section .work-card__body{
    padding:26px;
}

.service-page .service-methods-section .work-card h3{
    font-size:1.18rem;
}

.service-page .service-methods-section .work-card p{
    font-size:.9rem;
    line-height:1.58;
}

.service-page .service-pricing-section{
    padding-top:66px;
}

.service-page .pricing-panel{
    padding:36px;
    border-radius:20px;
}

.service-page .pricing-panel__head{
    align-items:center;
    margin-bottom:28px;
}

.service-page .pricing-panel__head > div{
    max-width:780px;
}

.service-page .pricing-panel__head p{
    font-size:.9rem;
    line-height:1.55;
}

.service-page .service-package-grid{
    grid-template-columns:280px minmax(0,1fr);
    gap:18px;
}

.service-page .service-package{
    padding:24px;
}

.service-page .service-package h3{
    margin-bottom:16px;
}

.service-page .service-package .check-list{
    margin-bottom:0;
}

.service-page .pricing-grid--service{
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:14px;
}

.service-page .pricing-grid--service .price-modern{
    min-height:185px;
    grid-column:span 2;
    padding:22px;
}

.service-page .pricing-grid--service .price-modern:nth-last-child(-n+2){
    grid-column:span 3;
}

.service-page .pricing-grid--service .price-modern > span{
    min-height:2.5em;
    font-size:.74rem;
    line-height:1.35;
}

.service-page .pricing-grid--service .price-modern h3{
    min-height:2.25em;
    font-size:1rem;
}

.service-page .pricing-grid--service .price-modern > strong{
    font-size:1.28rem;
}

.service-page .pricing-panel__note{
    max-width:900px;
    margin:20px auto 0;
    font-size:.78rem;
    line-height:1.5;
}

.service-page .service-details-section .seo-card-grid{
    gap:18px;
}

.service-page .service-details-section .seo-card{
    padding:27px;
}

.service-page .service-details-section .seo-card h2{
    font-size:1.3rem;
}

.service-page .service-details-section .seo-card__body{
    font-size:.9rem;
    line-height:1.62;
}

.service-page .about-modern--service{
    grid-template-columns:minmax(0,1.08fr) minmax(260px,.78fr) minmax(280px,.72fr);
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:18px;
}

.service-page .about-modern__copy,
.service-page .about-modern__list{
    padding:34px;
}

.service-page .about-modern__copy h2{
    font-size:clamp(1.75rem,2.4vw,2.45rem);
}

.service-page .about-modern__copy p{
    font-size:.93rem;
    line-height:1.62;
}

.service-page .cases-section .case-card__media{
    height:220px;
}

.service-page .case-card__description{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
}

.service-page .metrics-strip{
    border-radius:14px;
}

.service-page .process-modern h3{
    font-size:.95rem;
}

.service-page .process-modern p{
    font-size:.78rem;
    line-height:1.45;
}

.service-page--clearing .hero__shade{
    background:
        linear-gradient(90deg,rgba(3,34,27,.98) 0%,rgba(3,34,27,.9) 46%,rgba(3,34,27,.3) 100%),
        linear-gradient(0deg,rgba(3,25,20,.18),rgba(3,25,20,.18));
}

@media (max-width:1180px){
    .service-page .hero--service .hero__grid{
        grid-template-columns:minmax(0,1fr) minmax(340px,380px);
        gap:34px;
    }

    .service-page .service-package-grid{
        grid-template-columns:240px minmax(0,1fr);
    }
}

@media (max-width:960px){
    .service-page .hero--service .hero__grid{
        grid-template-columns:1fr;
        padding-block:52px;
    }

    .service-page .hero--service .hero__content{
        max-width:760px;
    }

    .service-page .hero--service .hero-form-card{
        width:min(100%,680px);
    }

    .service-page .service-package-grid{
        grid-template-columns:1fr;
    }

    .service-page .service-package .check-list{
        columns:2;
        column-gap:34px;
    }

    .service-page .about-modern--service{
        grid-template-columns:1fr 1fr;
        grid-template-areas:
            "copy copy"
            "list media";
    }
}

@media (max-width:720px){
    .service-page .hero--service h1{
        font-size:clamp(2.35rem,10vw,3.1rem);
        line-height:1.05;
    }

    .service-page .hero--service .hero__lead{
        font-size:1rem;
    }

    .service-page .hero--service .hero__benefits{
        grid-template-columns:1fr;
    }

    .service-page .scenario-grid{
        grid-template-columns:1fr;
    }

    .service-page .scenario-modern{
        min-height:0;
    }

    .service-page .service-methods-section .work-cards{
        grid-template-columns:1fr;
    }

    .service-page .service-methods-section .work-card{
        min-height:0;
        grid-template-columns:1fr;
    }

    .service-page .service-methods-section .work-card__media{
        min-height:230px;
    }

    .service-page .pricing-panel{
        padding:24px;
    }

    .service-page .pricing-panel__head{
        display:block;
    }

    .service-page .pricing-panel__head .button{
        width:100%;
        margin-top:16px;
    }

    .service-page .service-package .check-list{
        columns:1;
    }

    .service-page .pricing-grid--service{
        grid-template-columns:1fr;
    }

    .service-page .pricing-grid--service .price-modern,
    .service-page .pricing-grid--service .price-modern:nth-last-child(-n+2){
        min-height:0;
        grid-column:auto;
    }

    .service-page .pricing-grid--service .price-modern > span,
    .service-page .pricing-grid--service .price-modern h3{
        min-height:0;
    }

    .service-page .about-modern--service{
        grid-template-columns:1fr;
        grid-template-areas:
            "copy"
            "list"
            "media";
    }

    .service-page .about-modern__copy,
    .service-page .about-modern__list{
        padding:26px 24px;
    }

    .service-page .about-modern__media{
        min-height:310px;
    }

    .service-page .cases-section .case-card__media{
        height:220px;
    }
}


/* 0.5.9 — обновление страницы «О компании» и каталога блога */
.page-hero--compact{
    padding:46px 0 50px;
}

.page-hero--compact h1{
    font-size:clamp(2.7rem,5vw,4.5rem);
}

.page-hero--compact p{
    max-width:680px;
    margin:16px 0 0;
    color:rgba(255,255,255,.78);
    font-size:1rem;
}

.about-narrow{
    width:min(calc(100% - 32px),940px);
}

.about-story{
    display:grid;
    grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);
    align-items:stretch;
    gap:34px;
}

.about-story__content{
    display:flex;
    min-width:0;
    flex-direction:column;
    justify-content:center;
    padding:34px 10px 34px 0;
}

.about-story__content h2{
    max-width:720px;
    margin-bottom:20px;
    font-size:clamp(2rem,3.8vw,3.25rem);
}

.about-story__text{
    color:var(--muted);
}

.about-story__text > :last-child{
    margin-bottom:0;
}

.about-story__content > p{
    margin-top:18px;
    color:var(--muted);
}

.about-story__media{
    position:relative;
    min-height:520px;
    overflow:hidden;
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow);
}

.about-story__media img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.about-story__caption{
    position:absolute;
    right:18px;
    bottom:18px;
    left:18px;
    display:flex;
    flex-direction:column;
    gap:3px;
    padding:16px 18px;
    border:1px solid rgba(255,255,255,.22);
    border-radius:12px;
    background:rgba(4,43,34,.9);
    color:#fff;
    backdrop-filter:blur(10px);
}

.about-story__caption strong{
    font-size:.94rem;
}

.about-story__caption span{
    color:rgba(255,255,255,.72);
    font-size:.74rem;
}

.about-principles{
    display:grid;
    gap:14px;
}

.about-principle{
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    align-items:start;
    gap:20px;
    padding:24px 26px;
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
    box-shadow:var(--shadow-soft);
}

.about-principle__number{
    display:grid;
    width:58px;
    height:58px;
    place-items:center;
    border-radius:50%;
    background:var(--dark);
    color:var(--yellow);
    font-size:.78rem;
    font-weight:950;
    letter-spacing:.08em;
}

.about-principle h3{
    margin-bottom:7px;
    font-size:1.2rem;
}

.about-principle p{
    max-width:720px;
    margin:0;
    color:var(--muted);
    font-size:.9rem;
}

.about-responsibility{
    display:grid;
    gap:14px;
}

.about-responsibility article{
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    align-items:start;
    gap:18px;
    padding:23px 25px;
    border:1px solid var(--border);
    border-radius:14px;
    background:linear-gradient(145deg,#fff,#f8faf9);
}

.about-responsibility article > span{
    display:grid;
    width:52px;
    height:52px;
    place-items:center;
    border-radius:12px;
    background:var(--light);
    color:var(--green);
}

.about-responsibility svg,
.about-clients svg{
    width:25px;
    height:25px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.about-responsibility h3{
    margin-bottom:5px;
}

.about-responsibility p{
    margin:0;
    color:var(--muted);
    font-size:.88rem;
}

.about-clients{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.about-clients article{
    min-width:0;
    padding:26px;
    border:1px solid var(--border);
    border-radius:14px;
    background:#fff;
    box-shadow:var(--shadow-soft);
}

.about-clients article > span{
    display:grid;
    width:48px;
    height:48px;
    margin-bottom:17px;
    place-items:center;
    border-radius:12px;
    background:var(--dark);
    color:var(--yellow);
}

.about-clients h3{
    font-size:1.15rem;
}

.about-clients p{
    margin:0;
    color:var(--muted);
    font-size:.86rem;
}

.blog-hero--simple{
    padding:62px 0;
}

.blog-hero--simple h1{
    margin-bottom:14px;
}

.blog-catalog-section{
    background:var(--light);
}

.posts--catalog{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
}

.posts--catalog .post-card{
    height:100%;
}

.posts--catalog .post-card > a{
    display:flex;
    height:100%;
    flex-direction:column;
}

.posts--catalog .post-card img{
    flex:0 0 auto;
}

.posts--catalog .card__body{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:20px;
}

.posts--catalog .card__body h2{
    margin-top:9px;
    font-size:1.08rem;
    line-height:1.28;
}

.posts--catalog .card__body p{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
}

.posts--catalog .text-link{
    margin-top:auto;
    padding-top:12px;
}

.posts--catalog .pagination,
.posts--catalog .nav-links{
    grid-column:1/-1;
}

@media (max-width:1000px){
    .about-story{
        grid-template-columns:1fr 42%;
    }

    .about-story__media{
        min-height:460px;
    }

    .posts--catalog{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:720px){
    .page-hero--compact{
        padding:38px 0 42px;
    }

    .about-narrow{
        width:min(calc(100% - 24px),940px);
    }

    .about-story{
        grid-template-columns:1fr;
        gap:20px;
    }

    .about-story__content{
        padding:0;
    }

    .about-story__media{
        min-height:360px;
    }

    .about-principle{
        grid-template-columns:52px minmax(0,1fr);
        gap:14px;
        padding:20px;
    }

    .about-principle__number{
        width:48px;
        height:48px;
    }

    .about-responsibility article{
        grid-template-columns:48px minmax(0,1fr);
        padding:20px;
    }

    .about-responsibility article > span{
        width:44px;
        height:44px;
    }

    .about-clients{
        grid-template-columns:1fr;
    }

    .blog-hero--simple{
        padding:48px 0;
    }

    .posts--catalog{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   0.6.4 — системная мобильная адаптация всей темы
   ========================================================= */

@media (max-width:960px){

    html{
        scroll-padding-top:74px;
    }

    body{
        min-width:320px;
    }

    body.nav-open{
        position:fixed;
        width:100%;
        overflow:hidden;
    }

    .site-header{
        height:auto;
    }

    .site-header__inner{
        min-height:68px;
        gap:10px;
    }

    .brand{
        min-width:0;
        max-width:calc(100% - 58px);
        flex:1 1 auto;
    }

    .brand__mark{
        width:42px;
        height:42px;
        flex-basis:42px;
    }

    .brand__copy strong{
        max-width:210px;
        font-size:1rem;
    }

    .custom-logo{
        max-width:210px;
        max-height:46px;
    }

    .nav-toggle{
        position:relative;
        z-index:1003;
        display:block;
        width:46px;
        height:46px;
        flex:0 0 46px;
        margin-left:auto;
        border:1px solid rgba(255,255,255,.12);
        border-radius:10px;
        background:rgba(255,255,255,.04);
    }

    .nav-toggle > span:not(.screen-reader-text){
        width:26px;
        transition:transform .2s ease,opacity .2s ease;
    }

    .nav-toggle[aria-expanded="true"] > span:nth-child(1){
        transform:translateY(7px) rotate(45deg);
    }

    .nav-toggle[aria-expanded="true"] > span:nth-child(2){
        opacity:0;
    }

    .nav-toggle[aria-expanded="true"] > span:nth-child(3){
        transform:translateY(-7px) rotate(-45deg);
    }

    .site-nav{
        position:fixed;
        z-index:1001;
        top:68px;
        right:0;
        bottom:0;
        left:0;
        width:100%;
        height:calc(100dvh - 68px);
        max-height:none;
        padding:18px 18px 28px;
        overflow-x:hidden;
        overflow-y:auto;
        overscroll-behavior:contain;
        transform:translateX(105%);
        border-top:1px solid rgba(255,255,255,.08);
        background:linear-gradient(180deg,var(--dark),var(--dark-2));
        box-shadow:-12px 0 38px rgba(0,0,0,.22);
        transition:transform .24s ease;
    }

    body.admin-bar .site-nav{
        top:100px;
        height:calc(100dvh - 100px);
        max-height:none;
    }

    .site-nav.is-open{
        transform:translateX(0);
    }

    .site-nav__list{
        display:flex;
        width:100%;
        max-width:100%;
        flex-direction:column;
        align-items:stretch;
        gap:2px;
    }

    .site-nav__list > .menu-item{
        position:relative;
        display:block;
        width:100%;
        max-width:100%;
        border-bottom:1px solid rgba(255,255,255,.08);
    }

    .site-nav__list > .menu-item > a{
        display:flex;
        width:100%;
        min-height:54px;
        align-items:center;
        padding:14px 52px 14px 4px;
        color:#fff;
        font-size:1rem;
        font-weight:850;
        line-height:1.25;
        white-space:normal;
    }

    .site-nav .current-menu-item > a,
    .site-nav .current-menu-ancestor > a{
        color:var(--yellow);
    }

    .site-nav .menu-item-has-children{
        position:relative;
        display:block;
        width:100%;
        max-width:100%;
    }

    .site-nav .menu-item-has-children > a{
        display:flex;
        width:100%;
        grid-column:auto;
    }

    .submenu-toggle{
        position:absolute;
        z-index:4;
        top:7px;
        right:0;
        display:grid;
        width:42px;
        height:42px;
        margin:0;
        padding:0;
        place-items:center;
        border:1px solid rgba(255,255,255,.16);
        border-radius:9px;
        background:rgba(255,255,255,.06);
        color:#fff;
    }

    .site-nav .sub-menu{
        position:static!important;
        inset:auto!important;
        display:none;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        margin:0 0 12px!important;
        padding:7px!important;
        visibility:visible;
        overflow:hidden;
        transform:none!important;
        border:1px solid rgba(255,255,255,.11);
        border-radius:11px;
        background:rgba(255,255,255,.055);
        box-shadow:none;
        opacity:1;
    }

    .site-nav .sub-menu::before{
        display:none;
    }

    .site-nav .sub-menu li{
        width:100%;
        max-width:100%;
    }

    .site-nav .sub-menu a{
        display:flex;
        width:100%;
        min-height:46px;
        align-items:center;
        padding:11px 12px;
        border-radius:8px;
        color:rgba(255,255,255,.9);
        font-size:.9rem;
        line-height:1.3;
        white-space:normal;
        overflow-wrap:anywhere;
    }

    .site-nav .sub-menu a::before{
        width:7px;
        height:7px;
        flex:0 0 7px;
    }

    .site-nav .menu-item-has-children:hover > .sub-menu,
    .site-nav .menu-item-has-children:focus-within > .sub-menu{
        display:none;
        transform:none;
    }

    .site-nav .menu-item-has-children.submenu-open > .sub-menu,
    .site-nav .menu-item-has-children.submenu-open:hover > .sub-menu,
    .site-nav .menu-item-has-children.submenu-open:focus-within > .sub-menu{
        display:block;
    }

    .header-phone,
    .header-cta{
        display:none;
    }

    .hero__grid,
    .hero--home .hero__grid,
    .service-page .hero--service .hero__grid{
        min-height:0;
        grid-template-columns:1fr;
        gap:28px;
        padding-block:46px;
    }

    .hero__content,
    .hero--home .hero__content,
    .service-page .hero--service .hero__content{
        max-width:100%;
    }

    .hero-form-card,
    .hero--home .hero-form-card,
    .service-page .hero--service .hero-form-card{
        width:100%;
        max-width:680px;
        justify-self:start;
    }

    .hero__shade,
    .service-page--clearing .hero__shade{
        background:
            linear-gradient(90deg,rgba(3,34,27,.96),rgba(3,34,27,.78)),
            linear-gradient(0deg,rgba(3,25,20,.24),rgba(3,25,20,.24));
    }

    .service-directions-modern,
    .contact,
    .about,
    .blog-layout,
    .article-layout{
        grid-template-columns:1fr;
    }

    .service-direction-modern{
        grid-template-columns:minmax(220px,36%) minmax(0,1fr);
    }

    .scenario-grid,
    .service-page .scenario-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .work-cards,
    .service-page .service-methods-section .work-cards{
        grid-template-columns:1fr;
    }

    .work-card,
    .service-page .service-methods-section .work-card{
        min-height:0;
        grid-template-columns:minmax(210px,36%) minmax(0,1fr);
    }

    .pricing-grid,
    .home .pricing-grid,
    .pricing-grid--service,
    .service-page .pricing-grid--service{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .home .price-modern:last-child,
    .service-page .pricing-grid--service .price-modern,
    .service-page .pricing-grid--service .price-modern:nth-last-child(-n+2){
        grid-column:auto;
    }

    .service-package-grid,
    .service-page .service-package-grid{
        grid-template-columns:1fr;
    }

    .about-modern,
    .about-modern--service,
    .home .about-modern,
    .service-page .about-modern--service{
        grid-template-columns:1fr 1fr;
        grid-template-areas:
            "copy copy"
            "list media";
    }

    .about-modern__copy{grid-area:copy}
    .about-modern__list{grid-area:list}
    .about-modern__media{grid-area:media}

    .process-modern{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .process-modern__item::after{
        display:none;
    }

    .faq--columns{
        grid-template-columns:1fr;
    }

    .cta__grid{
        grid-template-columns:1fr;
    }

    .lead-form--compact{
        grid-template-columns:1fr;
    }

    .lead-form--compact .form-grid{
        grid-column:1;
        grid-row:auto;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .lead-form--compact .button{
        grid-column:1;
        grid-row:auto;
        width:100%;
    }

    .footer-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:30px;
    }

    .footer-brand{
        grid-column:1/-1;
    }

    .posts--catalog{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .about-story{
        grid-template-columns:1fr 42%;
    }

    .cards--3,
    .cards--4,
    .cards--6{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:782px){
    body.admin-bar .site-nav{
        top:114px;
        height:calc(100dvh - 114px);
    }
}

@media (max-width:720px){

    html{
        scroll-padding-top:68px;
    }

    body{
        font-size:15px;
    }

    .container,
    .about-narrow{
        width:min(calc(100% - 32px),var(--container));
    }

    .section{
        padding:48px 0;
    }

    .section--compact{
        padding:42px 0;
    }

    .section-head{
        display:block;
        margin-bottom:24px;
    }

    .section-head h2{
        font-size:clamp(1.72rem,8vw,2.2rem);
        line-height:1.12;
    }

    .section-head p{
        margin-top:9px;
        font-size:.92rem;
        line-height:1.55;
    }

    h1{
        font-size:clamp(2.05rem,10vw,2.75rem);
        line-height:1.04;
        letter-spacing:-.035em;
    }

    h2{
        font-size:clamp(1.65rem,8vw,2.2rem);
    }

    .eyebrow,
    .hero__eyebrow{
        margin-bottom:10px;
        font-size:.69rem;
        letter-spacing:.09em;
    }

    .site-header__inner{
        min-height:66px;
    }

    .brand__mark{
        width:40px;
        height:40px;
        flex-basis:40px;
    }

    .brand__copy strong{
        max-width:190px;
        font-size:.98rem;
    }

    .site-nav{
        top:66px;
        height:calc(100dvh - 66px);
        padding:16px 16px 26px;
    }

    body.admin-bar .site-nav{
        top:112px;
        height:calc(100dvh - 112px);
    }

    .hero__grid,
    .hero--home .hero__grid,
    .service-page .hero--service .hero__grid{
        gap:24px;
        padding-block:38px 42px;
    }

    .hero h1,
    .hero--home h1,
    .hero--service h1,
    .service-page .hero--service h1{
        max-width:100%;
        margin-bottom:16px;
        font-size:clamp(2.05rem,10vw,2.7rem);
        line-height:1.04;
        text-wrap:balance;
    }

    .hero__lead,
    .hero--home .hero__lead,
    .service-page .hero--service .hero__lead{
        font-size:.96rem;
        line-height:1.55;
    }

    .breadcrumbs{
        margin-bottom:13px;
        font-size:.7rem;
    }

    .hero__benefits,
    .hero--home .hero__benefits,
    .service-page .hero--service .hero__benefits{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px;
        margin-top:22px;
    }

    .hero__benefits span,
    .service-page .hero--service .hero__benefits span{
        align-items:flex-start;
        font-size:.76rem;
        line-height:1.35;
    }

    .hero__benefits svg{
        width:23px;
        height:23px;
        flex-basis:23px;
    }

    .button{
        min-height:50px;
        padding-inline:18px;
    }

    .button-row{
        gap:10px;
        margin-top:23px;
    }

    .hero-form-card{
        padding:18px;
        border-radius:14px;
    }

    .hero-form-card__head{
        gap:10px;
        margin-bottom:14px;
    }

    .hero-form-card__head > span{
        width:38px;
        height:38px;
        flex-basis:38px;
    }

    .hero-form-card h2{
        font-size:1.18rem;
        line-height:1.2;
    }

    .form-grid,
    .lead-form--compact .form-grid{
        grid-template-columns:1fr;
    }

    .form-field input,
    .form-field textarea{
        font-size:16px;
    }

    .form-field input{
        height:48px;
    }

    .form-field textarea,
    .lead-form--compact .form-field textarea{
        min-height:92px;
        height:auto;
    }

    .file-field{
        grid-column:auto;
        min-height:58px;
    }

    .consent{
        font-size:.72rem;
    }

    .service-directions-section{
        padding-top:18px;
    }

    .service-directions-modern{
        gap:16px;
    }

    .service-direction-modern{
        grid-template-columns:1fr;
    }

    .service-direction-modern__media{
        min-height:0;
        aspect-ratio:16/9;
    }

    .service-direction-modern__body{
        padding:22px;
    }

    .service-direction-modern h2{
        font-size:1.55rem;
    }

    .check-list{
        margin:15px 0 18px;
    }

    .check-list li{
        margin:8px 0;
        padding-left:22px;
        font-size:.9rem;
        line-height:1.45;
    }

    .scenario-grid,
    .service-page .scenario-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }

    .scenario-modern,
    .service-page .scenario-modern{
        min-height:0;
        padding:17px 12px;
    }

    .scenario-modern > span{
        width:40px;
        height:40px;
        margin-bottom:11px;
    }

    .scenario-modern h3,
    .service-page .scenario-modern h3{
        font-size:.91rem;
    }

    .scenario-modern p,
    .service-page .scenario-modern p{
        font-size:.75rem;
    }

    .work-card,
    .service-page .service-methods-section .work-card{
        grid-template-columns:1fr;
    }

    .work-card__media,
    .service-page .service-methods-section .work-card__media{
        min-height:0;
        height:auto;
        aspect-ratio:16/9;
    }

    .work-card__body,
    .service-page .service-methods-section .work-card__body{
        padding:19px;
    }

    .pricing-section,
    .service-page .service-pricing-section{
        padding-top:42px;
    }

    .pricing-panel,
    .home .pricing-panel,
    .service-page .pricing-panel{
        padding:20px;
        border-radius:15px;
    }

    .pricing-panel__head{
        display:block;
        margin-bottom:18px;
    }

    .pricing-panel__head .button{
        width:100%;
        margin-top:14px;
    }

    .pricing-grid,
    .home .pricing-grid,
    .pricing-grid--service,
    .service-page .pricing-grid--service{
        grid-template-columns:1fr;
        gap:10px;
    }

    .price-modern,
    .service-page .pricing-grid--service .price-modern{
        min-height:0;
        padding:17px;
    }

    .price-modern > span,
    .service-page .pricing-grid--service .price-modern > span{
        min-height:0;
    }

    .price-modern h3,
    .service-page .pricing-grid--service .price-modern h3{
        min-height:0;
    }

    .price-modern > a{
        min-height:42px;
        margin-top:12px;
    }

    .service-package,
    .service-page .service-package{
        padding:18px;
    }

    .about-modern,
    .about-modern--service,
    .home .about-modern,
    .service-page .about-modern--service{
        grid-template-columns:1fr;
        grid-template-areas:
            "copy"
            "list"
            "media";
    }

    .about-modern__copy,
    .about-modern__list,
    .home .about-modern__copy,
    .home .about-modern__list,
    .service-page .about-modern__copy,
    .service-page .about-modern__list{
        padding:22px;
    }

    .about-modern__list{
        border-top:1px solid #ece4d7;
        border-left:0;
    }

    .about-modern__media,
    .home .about-modern__media{
        min-height:280px;
    }

    .about-modern__counter{
        width:92px;
        height:92px;
    }

    .about-modern__counter strong{
        font-size:1.35rem;
    }

    .case-card{
        flex-basis:88%;
    }

    .case-card__media,
    .service-page .cases-section .case-card__media{
        height:auto;
        aspect-ratio:16/10;
    }

    .case-card__body{
        padding:16px;
    }

    .case-card__description{
        display:-webkit-box;
        overflow:hidden;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:4;
    }

    .carousel-buttons button{
        width:42px;
        height:42px;
    }

    .metrics-strip{
        grid-template-columns:1fr;
        padding:16px 18px;
    }

    .process-modern{
        grid-template-columns:1fr;
        gap:12px;
    }

    .process-modern__item{
        display:grid;
        grid-template-columns:58px minmax(0,1fr);
        grid-template-areas:
            "icon title"
            "icon text";
        align-items:center;
        column-gap:14px;
        padding:14px;
        border:1px solid var(--border);
        border-radius:12px;
        background:#fff;
        text-align:left;
    }

    .process-modern__number{
        top:8px;
        left:8px;
        transform:none;
    }

    .process-modern__icon{
        grid-area:icon;
        width:54px;
        height:54px;
        margin:0;
    }

    .process-modern__icon svg{
        width:24px;
        height:24px;
    }

    .process-modern h3{
        grid-area:title;
        margin:0 0 3px;
        font-size:.96rem;
    }

    .process-modern p{
        grid-area:text;
        font-size:.78rem;
        line-height:1.4;
    }

    .faq__item button{
        min-height:54px;
        padding:14px;
        font-size:.86rem;
        line-height:1.35;
    }

    .faq__item > div{
        padding:0 14px 15px;
    }

    .cta{
        padding:38px 0;
    }

    .cta__copy h2{
        font-size:1.65rem;
    }

    .lead-form--compact .form-field:nth-child(3),
    .lead-form--compact .file-field{
        display:grid;
    }

    .page-hero,
    .page-hero--compact{
        padding:38px 0 42px;
    }

    .page-hero h1,
    .page-hero--compact h1{
        font-size:clamp(2.05rem,10vw,2.7rem);
    }

    .page-hero p,
    .page-hero--compact p{
        font-size:.92rem;
        line-height:1.5;
    }

    .box{
        padding:20px;
    }

    .contact{
        gap:16px;
    }

    .contact h2{
        font-size:1.7rem;
    }

    .blog-hero,
    .blog-hero--simple{
        padding:44px 0;
    }

    .posts--catalog{
        grid-template-columns:1fr;
    }

    .post-card .card__body{
        padding:17px;
    }

    .article{
        padding-top:30px;
    }

    .article figure img{
        max-height:none;
        border-radius:11px;
    }

    .summary{
        padding:17px;
    }

    .article-content{
        font-size:.96rem;
        line-height:1.68;
    }

    .article-content h2{
        font-size:1.55rem;
    }

    .article-content h3{
        font-size:1.25rem;
    }

    .article-content table{
        margin-inline:-2px;
        font-size:.82rem;
        -webkit-overflow-scrolling:touch;
    }

    .article-content td,
    .article-content th{
        min-width:125px;
        padding:8px;
    }

    .article-content iframe{
        width:100%;
        height:auto;
        aspect-ratio:16/9;
    }

    .cards--3,
    .cards--4,
    .cards--6{
        grid-template-columns:1fr;
    }

    .about-story{
        grid-template-columns:1fr;
        gap:18px;
    }

    .about-story__content{
        padding:0;
    }

    .about-story__media{
        min-height:0;
        aspect-ratio:4/3;
    }

    .about-principle{
        grid-template-columns:46px minmax(0,1fr);
        gap:12px;
        padding:17px;
    }

    .about-principle__number{
        width:44px;
        height:44px;
    }

    .about-responsibility article{
        grid-template-columns:44px minmax(0,1fr);
        gap:13px;
        padding:17px;
    }

    .about-responsibility article > span{
        width:42px;
        height:42px;
    }

    .about-clients{
        grid-template-columns:1fr;
    }

    .about-clients article{
        padding:20px;
    }

    .seo-content-intro,
    .seo-content-panel{
        padding:18px;
    }

    .seo-card-grid{
        grid-template-columns:1fr;
        gap:12px;
    }

    .seo-card,
    .service-page .service-details-section .seo-card{
        grid-column:auto;
        padding:19px;
    }

    .seo-card h2,
    .service-page .service-details-section .seo-card h2{
        font-size:1.2rem;
    }

    .service-link-grid{
        grid-template-columns:1fr;
    }

    .footer-grid{
        grid-template-columns:1fr;
        gap:26px;
    }

    .footer-brand{
        grid-column:auto;
    }

    .site-footer{
        padding-top:42px;
    }

    .site-footer h3{
        margin-bottom:10px;
        padding-bottom:8px;
        border-bottom:1px solid rgba(255,255,255,.1);
    }

    .footer-bottom{
        align-items:flex-start;
        flex-direction:column;
        gap:12px;
        margin-top:28px;
    }

    .footer-bottom > span:last-child{
        flex-direction:column;
        gap:8px;
    }
}

@media (max-width:480px){

    .container,
    .about-narrow{
        width:min(calc(100% - 24px),var(--container));
    }

    .brand__copy strong{
        max-width:175px;
        font-size:.94rem;
    }

    .hero__benefits,
    .hero--home .hero__benefits,
    .service-page .hero--service .hero__benefits{
        grid-template-columns:1fr;
    }

    .button-row{
        flex-direction:column;
    }

    .button-row .button{
        width:100%;
    }

    .scenario-grid,
    .service-page .scenario-grid{
        grid-template-columns:1fr;
    }

    .case-card{
        flex-basis:92%;
    }

    .section-actions{
        align-items:flex-start;
        flex-direction:column;
    }

    .carousel-buttons{
        align-self:flex-end;
    }

    .about-story__caption{
        right:10px;
        bottom:10px;
        left:10px;
        padding:13px;
    }

    .footer-badges{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* 0.6.5 — юридические страницы и согласие */
.consent a{
    color:var(--green);
    font-weight:800;
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:2px;
}

.hero-form-card .consent a,
.cta .consent a{
    color:inherit;
}

.legal-page-section{
    background:var(--light);
}

.legal-document{
    width:min(100%,920px);
    margin:0 auto;
    padding:42px 48px;
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    background:#fff;
    box-shadow:var(--shadow-soft);
}

.legal-document > :first-child{
    margin-top:0;
}

.legal-document h2{
    margin-top:38px;
    padding-top:4px;
    font-size:1.55rem;
    line-height:1.2;
}

.legal-document p,
.legal-document li{
    color:#34453f;
    line-height:1.72;
}

.legal-document ul{
    padding-left:22px;
}

.legal-document li{
    margin:7px 0;
}

.legal-updated{
    color:var(--muted)!important;
    font-size:.84rem;
}

.legal-notice,
.legal-details{
    margin:22px 0;
    padding:20px 22px;
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--cream);
}

.legal-notice{
    border-left:4px solid var(--yellow);
    color:var(--text);
    line-height:1.65;
}

.legal-details p{
    margin:7px 0;
}

@media (max-width:720px){
    .legal-document{
        padding:24px 20px;
        border-radius:14px;
    }

    .legal-document h2{
        margin-top:30px;
        font-size:1.3rem;
    }

    .legal-document p,
    .legal-document li{
        font-size:.92rem;
        line-height:1.65;
    }

    .legal-notice,
    .legal-details{
        padding:17px;
    }

    .consent{
        font-size:.7rem;
        line-height:1.45;
    }
}


/* 0.6.8 — B2B only */
.form-b2b-note{margin:0 0 10px;padding:8px 10px;border-radius:8px;background:rgba(4,92,71,.08);color:var(--green);font-size:.78rem;font-weight:850;line-height:1.35}.hero-form-card .form-b2b-note{background:#eef7f3}.cta .form-b2b-note{background:rgba(255,255,255,.12);color:#fff}
