@font-face{font-family:"Manrope";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/manrope-cyrillic-400.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Manrope";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/manrope-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/manrope-cyrillic-700.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Manrope";font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/manrope-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/manrope-cyrillic-800.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Manrope";font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/manrope-latin-800.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --white:#fff;--black:#000;
  --muted:#595959;--muted-inv:#b0b0b0;
  --gutter:clamp(20px,5vw,64px);
  --max:1240px;
  --font:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--black);font-family:var(--font);font-size:1.125rem;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,p,ul{margin:0}
ul{padding:0;list-style:none}
a{color:inherit}

.skip{position:absolute;left:12px;top:-60px;background:var(--white);color:var(--black);padding:10px 16px;font-weight:700;z-index:10;border:2px solid var(--black)}
.skip:focus{top:12px}
:focus-visible{outline:3px solid currentColor;outline-offset:4px}

.wrap{width:100%;max-width:calc(var(--max) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.dark{background:var(--black);color:var(--white)}

.btn{white-space:nowrap;display:inline-flex;align-items:center;min-height:56px;padding:0 30px;font:inherit;font-size:1rem;font-weight:700;text-decoration:none;border:2px solid var(--white);background:var(--white);color:var(--black);transition:background .2s,color .2s}
.btn:hover{background:var(--black);color:var(--white)}
.btn--sm{min-height:44px;padding:0 20px;font-size:.9375rem}

.hero{position:relative;overflow:hidden;padding-bottom:clamp(72px,10vw,130px)}
.hero__mark{position:absolute;right:calc(-1*clamp(40px,8vw,140px));top:50%;width:clamp(300px,50vw,720px);transform:translateY(-46%);opacity:.07;pointer-events:none}
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:28px}
.top__logo{display:block;width:clamp(150px,18vw,200px)}
.hero__body{position:relative;padding-top:clamp(40px,7vw,96px)}
h1{font-size:clamp(2.25rem,5.6vw,4.75rem);line-height:1.06;font-weight:800;letter-spacing:-.03em;max-width:15ch;text-wrap:balance}
.lead{margin-top:32px;max-width:36ch;font-size:clamp(1.125rem,1.7vw,1.375rem);line-height:1.55;color:var(--muted-inv)}
.hero__cta{margin-top:44px}

/* одна колонка текста */
.text{padding-block:clamp(72px,10vw,140px)}
.contact{padding-block:clamp(72px,10vw,140px)}
.col{max-width:38rem;margin-left:clamp(0px,12vw,180px)}
h2{font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.25;font-weight:800;letter-spacing:-.02em;text-wrap:balance}
.col p{margin-top:1.1em}
.examples+p{margin-top:1.8em}
.col h2:not(:first-child){margin-top:2.8em}
.examples{margin-top:1.4em;display:grid;gap:1em}
.examples li{padding-left:1.1em;position:relative}
.examples li::before{content:"";position:absolute;left:0;top:.8em;width:.5em;height:2px;background:currentColor}
.examples strong{font-weight:800}
.contact h2{font-size:clamp(1.75rem,3.6vw,2.75rem);line-height:1.15;letter-spacing:-.025em}
.contact p{color:var(--muted-inv)}
.contact__btn{margin-top:1.8em!important}
.contact h3{margin-top:3.5em;font-size:1.125rem;font-weight:800;color:var(--white)}
.contact h3+p{margin-top:.5em}

footer{background:var(--black);color:var(--muted-inv);border-top:1px solid #2e2e2e;padding-block:36px;font-size:.9375rem}
.foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.foot img{width:130px}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .btn{transition:none}
}

/* калькулятор */
.calc-sec{padding-bottom:clamp(72px,10vw,140px)}
.calc{margin-top:2em;padding:clamp(20px,4vw,32px);border:2px solid var(--black);display:grid;gap:1.2em}
[hidden]{display:none!important}
.field{display:grid;gap:.4em}
.field label{font-weight:700;font-size:1rem}
.field input,.field select{font:inherit;font-size:1rem;min-height:52px;width:100%;padding:0 12px;border:2px solid var(--black);border-radius:0;background:var(--white);color:var(--black)}
.field select{appearance:none;-webkit-appearance:none;padding-right:36px;text-overflow:ellipsis;background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center/12px}
.calc__out{min-height:14rem;display:grid;align-content:start;gap:1.2em}
.calc__result{margin:0!important;font-size:1.25rem;font-weight:800;line-height:1.4;letter-spacing:-.01em}
.btn--line{justify-self:start;background:var(--black);color:var(--white);border-color:var(--black)}
.btn--line:hover{background:var(--white);color:var(--black)}
@media (min-width:720px){.calc__out{min-height:10.5rem}}
.calc__note{font-size:.9375rem;color:var(--muted)}

/* список статей */
.articles{padding-bottom:clamp(72px,10vw,140px)}
.alist{margin-top:1.6em;display:grid;gap:1.8em}
.alist a{font-size:1.25rem;font-weight:800;line-height:1.3;letter-spacing:-.015em;text-underline-offset:.2em;text-decoration-thickness:2px}
.alist p{margin-top:.4em!important;color:var(--muted)}

/* страница статьи */
.bar{background:var(--black);color:var(--white)}
.bar .top{padding-block:20px}
.bar .top__logo{width:clamp(110px,14vw,140px)}
.bar__back{font-size:.9375rem;font-weight:700;text-decoration:none;border-bottom:2px solid currentColor}
.article{padding-block:clamp(48px,8vw,100px) clamp(56px,8vw,100px)}
.article__in{max-width:42rem;margin-inline:auto}
.article h1{font-size:clamp(1.875rem,4.4vw,3rem);line-height:1.12;max-width:none;letter-spacing:-.03em}
.article figure{margin:2.2em 0 2.6em}
.article figure img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:#eee}
.article figcaption{margin-top:.6em;font-size:.875rem;color:var(--muted)}
.article p,.article ul{margin-top:1.1em}
.article .lead-p{font-size:1.3125rem;line-height:1.6;margin-top:1.4em}
.article h2{margin-top:2.4em;font-size:clamp(1.375rem,2.4vw,1.75rem)}
.article ul{display:grid;gap:.7em}
.article li{padding-left:1.1em;position:relative}
.article li::before{content:"";position:absolute;left:0;top:.8em;width:.5em;height:2px;background:currentColor}
.article a{text-underline-offset:.2em}
.endcta{padding-block:clamp(56px,8vw,100px)}
.endcta .col{margin-inline:auto;max-width:42rem}
.endcta p{margin-top:0}
.endcta .btn{margin-top:1.6em}
