*,*:before,*:after{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;min-width:320px;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}
:focus-visible{outline:3px solid #72ae83;outline-offset:3px}::selection{background:#d5edda}
.container{width:min(1200px,calc(100% - 56px));margin-inline:auto}
.site-layout{min-height:100vh;display:flex;flex-direction:column}.site-layout main{flex:1}
.skip-link{position:fixed;top:-70px;left:20px;z-index:1000;background:white;border:2px solid var(--primary);padding:10px 14px;border-radius:12px}
.skip-link:focus{top:10px}
.site-header{height:76px;position:sticky;top:0;z-index:100;background:#ffffffef;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.site-header__inner{height:100%;display:flex;align-items:center;gap:25px}
.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}
.brand__logo{display:block;width:58px;height:58px;object-fit:contain;flex:0 0 58px}
/* Совместимость со старой разметкой, где brand__mark был текстовой буквой K. */
.brand__mark:not(img){display:block;width:58px;height:58px;flex:0 0 58px;background:transparent url('/assets/brand/logo.png') center / contain no-repeat;color:transparent;font-size:0;line-height:0;border:0;border-radius:0;overflow:hidden}
.brand__text{display:flex;flex-direction:column;line-height:1.3}
.brand__text strong{font-size:15px;letter-spacing:-.03em}
.brand__text small{font-size:10px;color:var(--muted);white-space:nowrap}
.site-nav{display:flex;align-items:center;gap:2px;margin-left:auto}
.site-nav>a{padding:10px;border-radius:12px;font-size:13px;font-weight:600;color:#45594a;white-space:nowrap}
.site-nav>a:hover{background:#f0f5f0;color:var(--primary)}
.site-nav>a[aria-current=page]{background:var(--primary-soft);color:var(--primary)}
.site-nav__mobile-contact{display:none!important}
.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:11px 22px;border-radius:100px;border:1px solid transparent;font-size:14px;font-weight:650;line-height:1.35;transition:background .14s,border-color .14s,box-shadow .14s;white-space:nowrap}
.button--primary{background:var(--primary);color:white}
.button--primary:hover{background:var(--primary-hover);box-shadow:0 3px 12px #194e3230}
.button--secondary{background:white;border-color:#b5c8b9;color:var(--primary)}
.button--secondary:hover{background:var(--primary-soft)}
.button--outline{background:white;border-color:#bfd0c2;color:var(--primary)}
.button--outline:hover{background:var(--primary-soft)}
.button--block{width:100%;justify-content:space-between}
.button--header{background:var(--primary);color:white;min-height:42px;padding:10px 16px;font-size:13px}
.button--header:hover{background:var(--primary-hover)}
.menu-button{display:none;border:0;background:transparent;padding:10px;border-radius:50%;height:44px;width:44px;flex-shrink:0}
.menu-button span{display:block;width:22px;height:2px;background:var(--primary);margin:5px auto}
.menu-button:hover{background:var(--primary-soft)}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(39px,4.9vw,66px);line-height:1.1;letter-spacing:-.055em;font-weight:750}
h2{font-size:clamp(28px,3vw,39px);line-height:1.2;letter-spacing:-.035em;font-weight:750}
h3{letter-spacing:-.018em;font-weight:700}
.eyebrow{color:var(--primary);font-size:12px;font-weight:700;margin-bottom:14px}
.lead{font-size:17px;color:var(--muted);line-height:1.75;max-width:715px}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:29px}
.section{padding-top:78px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:25px}
.section-heading h2{margin:0}
.section-heading__note{color:var(--muted);max-width:365px;font-size:14px;line-height:1.7;margin-bottom:3px}
.section-footer{display:flex;justify-content:flex-end;margin-top:25px}
.text-link{color:var(--primary);font-weight:700;font-size:14px}
.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.page-intro{padding-top:58px;padding-bottom:15px}
.page-intro__inner{background:var(--surface-alt);border-radius:25px;padding:48px 53px}
.page-intro h1{max-width:950px;margin-bottom:18px}
.page-intro .lead{margin-bottom:0}
