
/* site.css */
:root{--ink:#102c2b;--green:#173f3c;--lime:#d8ff5f;--paper:#f4f4ed;--white:#fff;--muted:#61706d;--line:#d9ded7;--orange:#ed704b;--radius:22px;--display:Inter,"Segoe UI",Arial,sans-serif;--body:Inter,"Segoe UI",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.container{width:min(1180px,calc(100% - 48px));margin:auto}.container--narrow{width:min(790px,calc(100% - 48px))}h1,h2,h3{font-family:var(--display);letter-spacing:-.045em;line-height:1.06;margin:0}h1{font-size:clamp(3.3rem,6.8vw,6.2rem)}h2{font-size:clamp(2.6rem,4.6vw,4.7rem)}p{margin:0}.header{position:sticky;top:0;z-index:20;background:rgba(244,244,237,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(16,44,43,.08)}.header__inner{height:86px;display:flex;align-items:center;gap:36px}.brand{display:flex;align-items:center;gap:10px;margin-right:auto;line-height:1.05}.brand__mark{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ink);color:var(--lime);font:bold 22px var(--display)}.brand b{display:block;font:700 17px var(--display)}.brand small{display:block;margin-top:5px;color:var(--muted);font-size:10px;letter-spacing:.04em}.nav{display:flex;gap:28px;font-size:14px;font-weight:600}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:2px;background:var(--orange);transition:.2s}.nav a:hover:after{right:0}.header__phone{font:600 14px var(--display)}.header__phone small{display:block;color:var(--muted);font:10px var(--body)}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:56px;padding:0 24px;border:0;border-radius:999px;background:var(--ink);color:#fff;font-weight:700;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#20534f}.button--small{min-height:44px;padding:0 19px;font-size:13px}.button--lime{background:var(--lime);color:var(--ink)}.button--lime:hover{background:#e4ff91}.menu-button{display:none;background:none;border:0}.hero{overflow:hidden}.hero__grid{min-height:720px;display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:50px}.hero__content{padding:65px 0}.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:22px;color:#526763;font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.eyebrow:before{content:"";width:24px;height:2px;background:var(--orange)}.eyebrow--light{color:#b8c9c5}.hero h1{max-width:790px}.hero__content>p{max-width:650px;margin-top:28px;color:var(--muted);font-size:19px}.hero__actions{display:flex;align-items:center;gap:30px;margin-top:38px}.text-link{font-weight:700;font-size:14px;border-bottom:1px solid;padding-bottom:3px}.hero__trust{display:flex;gap:38px;margin-top:70px;color:var(--muted);font-size:12px}.hero__trust span{display:flex;align-items:center;gap:8px}.hero__trust b{color:var(--ink);font:700 20px var(--display)}.hero__visual{position:relative;height:570px;background:var(--green);border-radius:320px 320px 28px 28px;overflow:hidden}.orbit{position:absolute;border:1px solid rgba(255,255,255,.14);border-radius:50%}.orbit--one{width:530px;height:530px;left:-80px;top:28px}.orbit--two{width:350px;height:350px;left:10px;top:115px}.hero-card{position:absolute;left:58px;top:165px;width:305px;padding:26px;background:#fff;border-radius:20px;box-shadow:0 24px 50px rgba(0,0,0,.2)}.hero-card span{display:block;color:var(--muted);font-size:12px}.hero-card strong{font:600 28px var(--display)}.hero-card__graph{height:100px;display:flex;align-items:flex-end;gap:10px;margin-top:18px}.hero-card__graph i{flex:1;border-radius:6px 6px 2px 2px;background:#dbe5df}.hero-card__graph i:nth-child(1){height:35%}.hero-card__graph i:nth-child(2){height:52%}.hero-card__graph i:nth-child(3){height:44%}.hero-card__graph i:nth-child(4){height:72%}.hero-card__graph i:nth-child(5){height:95%;background:var(--lime)}.hero-badge{position:absolute;right:25px;top:80px;padding:14px 17px;background:var(--lime);border-radius:12px;font-size:12px;font-weight:700;transform:rotate(4deg)}.hero-badge span{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:5px;border-radius:50%;background:var(--ink);color:white}.hero-year{position:absolute;bottom:38px;right:38px;color:#fff;font-size:13px}.hero-year strong{display:block;font:600 48px var(--display);color:var(--lime)}.section{padding:120px 0}.services{background:#fff}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:56px}.section-heading>p{max-width:440px;color:var(--muted);font-size:17px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{min-height:350px;padding:28px;border-radius:var(--radius);background:var(--paper);display:flex;flex-direction:column;transition:transform .25s,background .25s}.service-card:hover{transform:translateY(-5px);background:var(--lime)}.service-card__top{display:flex;justify-content:space-between}.service-card__top span{color:#84918e;font:500 13px var(--display)}.service-card__top i{font-style:normal;font-size:24px}.service-card h3{margin-top:auto;font-size:29px}.service-card p{margin-top:17px;color:var(--muted);font-size:14px}.service-card strong{margin-top:18px;font-size:13px}.about{background:var(--ink);color:#fff}.about__grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px}.about__aside{display:flex;align-items:flex-end;gap:16px;padding:20px;border-top:1px solid #58706e;height:260px}.about__number{color:var(--lime);font:600 150px/.75 var(--display);letter-spacing:-.08em}.about__aside>span:last-child{font-size:13px;line-height:1.4}.about__content h2{max-width:750px}.about__content .richtext{max-width:690px;margin-top:35px;color:#b8c9c5;font-size:17px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:55px 0 35px;padding:28px 0;border-top:1px solid #58706e;border-bottom:1px solid #58706e}.values span{font-weight:600}.values i{display:block;margin-bottom:20px;color:var(--lime);font:normal 11px var(--body)}.process{background:#e5eadf}.steps{display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:0;list-style:none;border-top:1px solid #b9c3b8}.steps li{min-height:290px;padding:27px 24px;border-right:1px solid #b9c3b8}.steps li:first-child{border-left:1px solid #b9c3b8}.steps span{color:var(--orange);font-size:12px}.steps h3{margin-top:75px;font-size:24px}.steps p{margin-top:15px;color:var(--muted);font-size:13px}.articles{background:var(--paper)}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.article-card{min-height:330px;display:flex;flex-direction:column;padding:28px;background:#fff;border-radius:var(--radius);transition:transform .2s}.article-card:hover{transform:translateY(-5px)}.article-card>div{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;text-transform:uppercase}.article-card h3{margin-top:55px;font-size:26px}.article-card p{margin-top:16px;color:var(--muted);font-size:13px}.article-card i{margin-top:auto;font-style:normal;font-size:12px;font-weight:700}.contact{padding:100px 0;background:var(--green);color:#fff}.contact__grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.contact h2{font-size:clamp(2.5rem,4vw,4rem)}.contact p{margin-top:25px;color:#b8c9c5}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:26px}.contact-form label span{display:block;margin-bottom:8px;color:#b8c9c5;font-size:11px}.contact-form input,.contact-form textarea{width:100%;padding:13px 0;background:transparent;border:0;border-bottom:1px solid #6d817f;outline:0;color:white;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--lime)}.contact-form__wide,.contact-form__footer{grid-column:1/-1}.contact-form__footer{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-form__footer small{max-width:300px;color:#8fa3a0;font-size:9px}.footer{background:#0a211f;color:#fff}.footer__top{display:grid;grid-template-columns:1.2fr .8fr 1fr 1.2fr;gap:35px;padding:60px 0}.brand--light .brand__mark{background:var(--lime);color:var(--ink)}.brand--light small{color:#8fa3a0}.footer__top>div small{display:block;margin-bottom:10px;color:#839592;font-size:10px;text-transform:uppercase}.footer__top>div a,.footer__top>div span{font-size:13px}.footer__bottom{display:flex;justify-content:space-between;padding:20px 0;border-top:1px solid #29403e;color:#82928f;font-size:10px}.page-hero{padding:100px 0 90px;background:#e5eadf}.page-hero--compact{padding:85px 0}.page-hero h1{max-width:950px}.page-hero p{max-width:750px;margin-top:25px;color:var(--muted);font-size:20px}.back{display:block;margin-bottom:45px;color:var(--muted);font-size:13px}.page-price{display:inline-flex;gap:20px;margin-top:35px;padding:15px 20px;border:1px solid #bdc7bd;border-radius:12px;color:var(--muted)}.page-price strong{color:var(--ink)}.content-section{padding:90px 0;background:#fff}.content-grid{display:grid;grid-template-columns:1.5fr .5fr;gap:100px}.content-grid aside{position:sticky;top:120px;height:max-content;padding:28px;border-radius:18px;background:var(--paper)}.content-grid aside h3{font-size:25px}.content-grid aside p{margin:18px 0 25px;color:var(--muted);font-size:13px}.richtext h2{margin:1.4em 0 .5em;font-size:38px}.richtext h3{margin:1.5em 0 .5em;font-size:27px}.richtext p{margin:0 0 1.2em}.richtext ul{padding-left:22px}.richtext a{text-decoration:underline}.article-hero{padding:90px 0 70px;background:#e5eadf}.article-meta{display:flex;gap:20px;margin-bottom:20px;color:var(--muted);font-size:11px;text-transform:uppercase}.article-hero h1{font-size:clamp(2.8rem,5.8vw,5.5rem)}.article-hero p{margin-top:28px;font-size:20px;color:var(--muted)}.article-body{padding-top:75px;padding-bottom:110px;font-size:18px}.article-grid--all{padding-bottom:30px}
@media(max-width:980px){.nav,.header__phone{display:none}.menu-button{display:flex;flex-direction:column;gap:6px;padding:10px}.menu-button span{width:24px;height:2px;background:var(--ink)}.nav.is-open{position:absolute;display:flex;flex-direction:column;top:86px;left:0;right:0;padding:28px;background:var(--paper);font-size:18px}.hero__grid{grid-template-columns:1fr;min-height:auto}.hero__visual{height:470px;margin-bottom:60px}.service-grid,.article-grid{grid-template-columns:repeat(2,1fr)}.about__grid,.contact__grid{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,1fr)}.footer__top{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.content-grid aside{position:static}.about__aside{height:auto}.section{padding:90px 0}}
@media(max-width:640px){.container,.container--narrow{width:min(100% - 30px,1180px)}.header__inner{height:72px}.header__cta{display:none}.nav.is-open{top:72px}.hero__grid{display:block}.hero__content{padding:70px 0 45px}.hero h1{font-size:3.2rem}.hero__content>p{font-size:16px}.hero__actions{align-items:flex-start;flex-direction:column}.hero__trust{gap:18px;overflow:auto;margin-top:45px}.hero__trust span{min-width:120px}.hero__visual{height:380px}.hero-card{left:25px;top:115px;width:265px}.hero-badge{right:8px;top:48px}.hero-year{bottom:18px}.section{padding:70px 0}.section-heading{display:block}.section-heading>p,.section-heading>.text-link{display:block;margin-top:25px}.service-grid,.article-grid{grid-template-columns:1fr}.service-card{min-height:300px}.about__grid{gap:55px}.about__number{font-size:110px}.values{grid-template-columns:1fr}.values span{display:flex;gap:20px}.values i{margin:0}.steps{grid-template-columns:1fr}.steps li{min-height:220px;border-left:1px solid #b9c3b8}.steps h3{margin-top:45px}.contact__grid{gap:50px}.contact-form{grid-template-columns:1fr}.contact-form__footer{align-items:flex-start;flex-direction:column}.footer__top{grid-template-columns:1fr}.footer__bottom{gap:15px;flex-direction:column}.page-hero{padding:70px 0}.page-hero h1{font-size:3rem}.page-hero p{font-size:17px}.content-section{padding:65px 0}.article-body{font-size:16px}}

/* publications.css */
.filters {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  margin: -20px 0 40px;
  padding-bottom: 5px;
}
.filters a {
  white-space: nowrap;
  padding: 10px 16px;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}
.filters a:hover, .filters a.is-active {
  background: var(--ink);
  border-color: var(--ink);
  color: #fff;
}
.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  margin-top: 50px;
}
.pagination a { font-weight: 700; }
.pagination span { color: var(--muted); font-size: 12px; }
.article-body img { max-width: 100%; height: auto; border-radius: 12px; }
.article-body table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.article-body td, .article-body th { padding: 8px; border: 1px solid var(--line); }
.article-body figure { margin: 0 0 42px; }
.article-body figure img { display: block; width: min(100%, 760px); max-height: 520px; object-fit: cover; }

/* heritage.css */
:root {
  --ink: #26452b;
  --green: #35643a;
  --lime: #8ac355;
  --paper: #f7f6ef;
  --muted: #647064;
  --line: #d9dfd3;
  --orange: #ff7b2c;
}

body {
  background-color: var(--paper);
  background-image: radial-gradient(rgba(138, 195, 85, .12) .7px, transparent .7px);
  background-size: 20px 20px;
}

.header {
  background: rgba(42, 79, 47, .96);
  border-bottom: 3px solid var(--lime);
  box-shadow: 0 10px 30px rgba(38, 69, 43, .12);
}
.header__inner { height: 94px; }
.brand { position: static; min-width: 245px; align-items: center; gap: 13px; }
.brand__logo { width: 158px; height: 72px; object-fit: contain; object-position: left center; }
.brand__tagline {
  position: static;
  display: block;
  max-width: 64px;
  padding-left: 12px;
  border-left: 1px solid rgba(255,255,255,.35);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .04em;
  white-space: normal;
}
.header .nav, .header__phone { color: #fff; }
.header .nav { gap: 20px; }
.header__phone small { color: #bbd5a2; }
.header .nav a::after { background: var(--lime); }
.header .button { background: var(--lime); color: var(--ink); }
.header .button:hover { background: #a7d878; }
.menu-button span { background: #fff; }

.hero {
  background:
    linear-gradient(90deg, rgba(138,195,85,.12) 1px, transparent 1px),
    linear-gradient(rgba(138,195,85,.12) 1px, transparent 1px),
    var(--paper);
  background-size: 42px 42px;
}
.hero h1::first-line { color: var(--green); }
.hero__visual {
  border-radius: 30px 230px 30px 30px;
  background:
    linear-gradient(180deg, rgba(38,69,43,.12), rgba(38,69,43,.72)),
    url("../images/brand/heritage-hero.77efef015430.webp") center 41% / cover;
  box-shadow: 24px 24px 0 #bbd5a2;
}
.orbit { border-color: rgba(255,255,255,.28); }
.hero-card { border-top: 6px solid var(--lime); }
.hero-card__graph i:nth-child(5) { background: var(--orange); }
.hero-badge { background: var(--lime); }
.hero-year strong { color: #f6dd5b; }

.button { background: var(--green); }
.button:hover { background: #477c4c; }
.eyebrow::before { background: var(--orange); }
.service-card { border: 1px solid #e2e7dd; background: #fff; }
.service-card:hover { color: #fff; background: var(--green); border-color: var(--green); }
.service-card:hover p, .service-card:hover .service-card__top span { color: #dcebd6; }
.service-card:nth-child(2n):hover { background: #78ad47; border-color: #78ad47; }
.about { background: linear-gradient(135deg, #26452b, #3c7041); }
.about__number { color: #f4dc59; }
.about__aside, .values { border-color: rgba(187,213,162,.35); }
.process { background: #e8f0df; }
.steps, .steps li, .steps li:first-child { border-color: #bfd0b1; }
.article-card { border-top: 4px solid var(--lime); box-shadow: 0 8px 24px rgba(38,69,43,.06); }
.article-card:nth-child(3n+2) { border-top-color: var(--orange); }
.contact { background: linear-gradient(120deg, #315b35, #477c4c); border-top: 8px solid var(--lime); }
.button--lime { background: #f4dc59; color: var(--ink); }
.map-section { position: relative; height: 570px; overflow: hidden; background: #dfe7d8; }
.map-section__canvas, .map-section__canvas iframe { width: 100%; height: 100%; }
.map-section__canvas iframe { display: block; border: 0; filter: saturate(.72) contrast(.95); }
.map-section__overlay { position: absolute; inset: 0; display: flex; align-items: center; pointer-events: none; }
.map-card {
  width: min(390px, 100%);
  padding: 38px;
  border-top: 7px solid var(--lime);
  border-radius: 22px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 24px 70px rgba(38,69,43,.2);
  pointer-events: auto;
}
.map-card h2 { font-size: 48px; }
.map-card p { margin-top: 24px; font-weight: 700; }
.map-card small { display: block; margin: 8px 0 28px; color: var(--muted); }
.footer { background: #1d3822; }
.footer__bottom { color: #b8c9c5; }
.page-hero, .article-hero { background: linear-gradient(135deg, #e6f0dc, #f7f6ef); border-bottom: 1px solid #cbd9bf; }
.filters a:hover, .filters a.is-active { background: var(--green); border-color: var(--green); }
.pagination a { color: var(--green); }

@media (max-width: 980px) {
  .header .nav.is-open { background: #2a4f2f; color: #fff; border-bottom: 3px solid var(--lime); }
  .hero__visual { border-radius: 24px 160px 24px 24px; }
  .map-section { height: 650px; }
  .map-section__overlay { align-items: flex-end; padding-bottom: 20px; }
  .map-card { width: 100%; padding: 28px; }
}
@media (max-width: 640px) {
  .header__inner { height: 78px; }
  .brand { min-width: 145px; }
  .brand__logo { width: 145px; height: 60px; }
  .brand__tagline { display: none; }
  .nav.is-open { top: 78px; }
  .hero__visual { border-radius: 20px 100px 20px 20px; box-shadow: 12px 12px 0 #bbd5a2; }
}

/* motion.css */
@media (prefers-reduced-motion: no-preference) {
  .home-page .hero__content > * {
    opacity: 0;
    transform: translateY(24px);
    animation: hero-rise .75s cubic-bezier(.2,.75,.25,1) forwards;
  }
  .home-page .hero__content > :nth-child(1) { animation-delay: .08s; }
  .home-page .hero__content > :nth-child(2) { animation-delay: .16s; }
  .home-page .hero__content > :nth-child(3) { animation-delay: .25s; }
  .home-page .hero__content > :nth-child(4) { animation-delay: .34s; }
  .home-page .hero__content > :nth-child(5) { animation-delay: .45s; }

  .home-page .hero__visual {
    --tilt-x: 0deg;
    --tilt-y: 0deg;
    opacity: 0;
    transform: perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(.96);
    transform-origin: center;
    animation: visual-enter .95s .2s cubic-bezier(.2,.8,.2,1) forwards;
    transition: transform .25s ease-out, box-shadow .25s ease-out;
  }
  .home-page .hero__visual:hover {
    box-shadow: 30px 32px 0 #bbd5a2, 0 30px 65px rgba(38,69,43,.18);
  }
  .home-page .hero-card { animation: card-float 5s 1.2s ease-in-out infinite; }
  .home-page .hero-badge { animation: badge-float 4s .8s ease-in-out infinite; }
  .home-page .orbit--one { animation: orbit-spin 28s linear infinite; }
  .home-page .orbit--two { animation: orbit-spin 20s linear infinite reverse; }
  .home-page .hero-card__graph i {
    transform: scaleY(0);
    transform-origin: bottom;
    animation: bar-grow .7s cubic-bezier(.2,.8,.25,1) forwards;
  }
  .home-page .hero-card__graph i:nth-child(1) { animation-delay: .8s; }
  .home-page .hero-card__graph i:nth-child(2) { animation-delay: .9s; }
  .home-page .hero-card__graph i:nth-child(3) { animation-delay: 1s; }
  .home-page .hero-card__graph i:nth-child(4) { animation-delay: 1.1s; }
  .home-page .hero-card__graph i:nth-child(5) { animation-delay: 1.2s; }

  .motion-ready .motion-item {
    opacity: 0;
    transform: translateY(34px);
    transition: opacity .65s ease var(--motion-delay, 0ms), transform .75s cubic-bezier(.2,.75,.25,1) var(--motion-delay, 0ms);
  }
  .motion-ready .motion-item.is-visible { opacity: 1; transform: translateY(0); }
  .motion-ready .steps li.motion-item:nth-child(even) { transform: translateY(52px); }
  .motion-ready .steps li.motion-item.is-visible { transform: translateY(0); }

  .home-page .service-card::after,
  .home-page .article-card::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.3) 50%, transparent 65%);
    transform: translateX(-130%);
    transition: transform .65s ease;
    pointer-events: none;
  }
  .home-page .service-card,
  .home-page .article-card { position: relative; overflow: hidden; }
  .home-page .service-card:hover::after,
  .home-page .article-card:hover::after { transform: translateX(130%); }
  .home-page .service-card i,
  .home-page .button span,
  .home-page .article-card i { transition: transform .25s ease; }
  .home-page .service-card:hover i,
  .home-page .button:hover span { transform: translate(4px,-4px); }
  .home-page .article-card:hover i { transform: translateX(5px); }
  .home-page .about__number { animation: number-breathe 5s ease-in-out infinite; }

  @keyframes hero-rise { to { opacity: 1; transform: translateY(0); } }
  @keyframes visual-enter {
    to { opacity: 1; transform: perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(1); }
  }
  @keyframes card-float { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-12px) rotate(1deg); } }
  @keyframes badge-float { 0%,100% { transform: translateY(0) rotate(4deg); } 50% { transform: translateY(9px) rotate(1deg); } }
  @keyframes orbit-spin { to { transform: rotate(360deg); } }
  @keyframes bar-grow { to { transform: scaleY(1); } }
  @keyframes number-breathe { 0%,100% { color: #f4dc59; } 50% { color: #fff19a; } }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* calculator.css */
.calculator-section { padding: 80px 0 110px; background: #eef2e9; }
.calculator-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(320px,.65fr); gap: 28px; align-items: start; }
.calculator { display: grid; gap: 18px; }
.calc-group { margin: 0; padding: 34px; border: 1px solid #d8e0d2; border-radius: 22px; background: #fff; }
.calc-group legend { width: 100%; padding: 0 0 24px; font: 600 25px var(--display); letter-spacing: -.03em; }
.calc-group legend span { display: inline-grid; place-items: center; width: 34px; height: 34px; margin-right: 10px; border-radius: 50%; background: #e8f0df; color: var(--green); font: 700 11px var(--body); vertical-align: middle; }
.choice-grid { display: grid; gap: 10px; }.choice-grid--4 { grid-template-columns: repeat(4,1fr); }
.choice { cursor: pointer; }.choice input { position: absolute; opacity: 0; pointer-events: none; }
.choice span { display: grid; place-items: center; min-height: 66px; padding: 12px; border: 1px solid var(--line); border-radius: 13px; font-weight: 700; font-size: 13px; transition: .2s; }
.choice input:checked + span { border-color: var(--green); background: var(--green); color: #fff; box-shadow: 0 8px 20px rgba(53,100,58,.18); }
.calc-group--columns { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 24px; }.calc-group--columns legend { grid-column: 1/-1; }
.calc-select>span,.employee-control>span { display: block; margin-bottom: 8px; color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.calc-select select { width: 100%; height: 58px; padding: 0 44px 0 16px; border: 1px solid var(--line); border-radius: 12px; background: #fafbf8; color: var(--ink); font-weight: 600; outline: none; }
.calc-select select:focus { border-color: var(--lime); box-shadow: 0 0 0 3px rgba(138,195,85,.2); }
.employee-control>div { display: grid; grid-template-columns: 48px 1fr 48px; height: 58px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fafbf8; }
.employee-control button { border: 0; background: transparent; color: var(--green); font-size: 24px; cursor: pointer; }.employee-control output { display: grid; place-items: center; font: 700 18px var(--display); }
.employee-control input { width: 100%; margin-top: 10px; accent-color: var(--green); }
.switch-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; transition: opacity .2s; }
.switch { display: flex; align-items: center; gap: 12px; min-height: 62px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; transition: border .2s,background .2s; }
.switch input { position: absolute; opacity: 0; }.switch i { position: relative; flex: 0 0 38px; width: 38px; height: 22px; border-radius: 999px; background: #dce2d8; transition: .2s; }.switch i::after { content:""; position:absolute; width:16px; height:16px; left:3px; top:3px; border-radius:50%; background:#fff; box-shadow:0 2px 5px #899; transition:.2s; }
.switch input:checked+i { background: var(--lime); }.switch input:checked+i::after { transform: translateX(16px); }.switch:has(input:checked) { border-color: #a8ca88; background: #f4f9ef; }
.switch span { font-size: 12px; line-height: 1.35; }.switch span b,.switch span small { display:block; }.switch span small { margin-top:3px; color:var(--muted); }
.switch--important { margin-bottom: 14px; background: #f8f9f5; }.is-disabled { opacity: .35; pointer-events: none; }
.calc-result { position: sticky; top: 120px; padding: 34px; border-radius: 24px; background: linear-gradient(145deg,#26452b,#477c4c); color: #fff; box-shadow: 0 25px 60px rgba(38,69,43,.2); }
.calc-result .eyebrow { color: #c9ddbd; }.calc-result__price { margin: 12px 0 32px; padding-bottom: 30px; border-bottom: 1px solid rgba(255,255,255,.2); }.calc-result__price small { font-size: 13px; }.calc-result__price strong { display:block; color:#f4dc59; font:700 clamp(3.4rem,5vw,5rem)/1 var(--display); letter-spacing:-.06em; transition:.2s; }.calc-result__price span { font-size: 12px; color: #c9ddbd; }
.calc-result__line { display:flex; justify-content:space-between; gap:15px; margin:12px 0; font-size:12px; }.calc-result__line span { color:#c9ddbd; }.calc-result p { margin:30px 0 22px; color:#c9ddbd; font-size:11px; }.calc-result .button { width:100%; }.calc-reset { display:block; margin:18px auto 0; border:0; border-bottom:1px dashed #b9cdb0; background:none; color:#d8e8d0; font-size:11px; cursor:pointer; }
@media(max-width:900px){.calculator-layout{grid-template-columns:1fr}.calc-result{position:relative;top:0;order:-1}.choice-grid--4{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.calculator-section{padding:45px 0 75px}.calc-group{padding:24px 18px}.calc-group--columns,.switch-grid{grid-template-columns:1fr}.choice-grid--4{grid-template-columns:1fr 1fr}.calc-group legend{font-size:21px}.calc-result{padding:28px 24px}}

/* directory.css */
.section-directory{display:grid;grid-template-columns:1fr 1fr;gap:12px}.section-directory>a{display:grid;grid-template-columns:45px 1fr auto;gap:14px;align-items:start;min-height:150px;padding:26px;border:1px solid var(--line);border-radius:18px;background:#fff;transition:.25s}.section-directory>a:hover{transform:translateY(-4px);border-color:var(--lime);box-shadow:0 16px 35px rgba(38,69,43,.08)}.section-directory span{color:var(--orange);font-size:11px}.section-directory h2{font-size:25px}.section-directory i{font-style:normal;font-size:22px}.section-directory p{grid-column:2/-1;color:var(--muted);font-size:12px}@media(max-width:700px){.section-directory{grid-template-columns:1fr}}
