:root {
  color-scheme: light;
  --bg: #f6f7f6;
  --bg2: #eef2f0;
  --bg3: #f2f4f3;
  --card: #fff;
  --card2: #fafbfa;
  --accent: #007a63;
  --accent-h: #005f4e;
  --accent-lt: #e7f3ef;
  --text: #16231f;
  --text2: #50605a;
  --text3: #68766f;
  --border: #dfe5e2;
  --border2: #c8d1cd;
  --green: #1b714d;
  --red: #b42335;
  --r: 6px;
  --r-sm: 4px;
}
body {
  background: var(--bg);
  color: var(--text);
  font-family: "Segoe UI", Arial, Helvetica, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0;
}
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid #155eef !important;
  outline-offset: 2px;
}
.skip-link { position: fixed; z-index: 1000; top: 8px; left: 8px; transform: translateY(-160%); padding: 10px 14px; border-radius: 2px; background: var(--text); color: #fff; }
.skip-link:focus { transform: translateY(0); }
.header { background: rgba(255,255,255,.98); border-color: var(--border); box-shadow: none; backdrop-filter: none; }
.header-inner, .page-hero-inner, .section-inner { max-width: 1440px; }
.header-inner { min-height: 72px; height: auto; padding-inline: 20px; }
.logo-mark { width: 36px; height: 36px; border-radius: 3px; background: var(--accent); }
.logo-text { color: var(--text); font-size: 1.16rem; font-weight: 700; letter-spacing: -.02em; }
.logo-text span { color: var(--accent); font-weight: 700; }
.nav-link { min-height: 40px; padding-inline: 13px; border-radius: 3px; display: inline-flex; align-items: center; color: var(--text2); }
.nav-link:hover { color: var(--text); background: var(--bg3); }
.nav-link.active { color: var(--accent); background: transparent; box-shadow: inset 0 -2px var(--accent); }
.page-hero { padding: 46px 20px 42px; background: #fff; border-color: var(--border); }
.page-hero::before { display: none; }
.breadcrumb { margin-bottom: 18px; }
.breadcrumb a { color: var(--accent); }
.page-hero h1 { margin-bottom: 12px; font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 680; letter-spacing: -.035em; line-height: 1.1; }
.page-hero p { max-width: 660px; color: var(--text2); font-size: 1.02rem; line-height: 1.65; }
.section, .faq-section { padding: 58px 20px; }
.contact-grid { grid-template-columns: minmax(290px, .75fr) minmax(0, 1.25fr); gap: clamp(34px, 6vw, 86px); }
.contact-info { gap: 0; border-top: 1px solid var(--border); }
.info-card { padding: 20px 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; box-shadow: none; }
.info-icon { width: 36px; height: 36px; border-radius: 3px; background: var(--accent-lt); color: var(--accent); }
.info-label { color: var(--text3); font-size: .7rem; }
.info-val { color: var(--text); font-size: .98rem; }
.info-sub, .form-subtitle, .faq-a { color: var(--text2); }
.work-hours { padding: 12px 14px; border-color: var(--border); border-radius: 3px; background: #fff; }
.contact-form-card { padding: clamp(22px, 4vw, 38px); border-color: var(--border); border-radius: 4px; background: #fff; box-shadow: none; }
.form-title { font-size: clamp(1.35rem, 2.5vw, 1.75rem); font-weight: 680; }
.form-subtitle { margin-bottom: 26px; font-size: .9rem; }
.form-label { color: var(--text2); font-size: .76rem; }
.form-input { min-height: 46px; padding: 11px 13px; border-color: var(--border2); border-radius: 4px; background: #fff; color: var(--text); font-size: .94rem; }
.form-input:focus { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
textarea.form-input { min-height: 140px; resize: vertical; }
.btn-primary { min-height: 46px; border-radius: 4px; background: var(--accent); font-size: .94rem; font-weight: 650; }
.btn-primary:hover { background: var(--accent-h); transform: none; }
.faq-section { background: #fff; border-top: 1px solid var(--border); }
.section-label { color: var(--accent); font-size: .74rem; letter-spacing: .06em; }
.section-title { margin-bottom: 28px; font-size: clamp(1.55rem, 3vw, 2.1rem); font-weight: 680; letter-spacing: -.025em; }
.faq-list { max-width: 860px; gap: 0; border-top: 1px solid var(--border); }
.faq-item { border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: #fff; box-shadow: none; }
.faq-q { min-height: 64px; padding: 16px 4px; color: var(--text); text-align: left; }
.faq-q:hover { background: transparent; color: var(--accent); }
.faq-item.open .faq-a { padding: 0 4px 20px; }
.faq-a { padding-inline: 4px; }
.footer { padding: 30px 20px; border: 0; background: #142b25; }
.footer p { color: #bdcec8; }
.toast { border-color: var(--border); border-radius: 4px; background: #fff; color: var(--text); box-shadow: 0 12px 32px rgba(16,34,29,.14); }
@media(max-width: 800px) {
  .contact-grid { grid-template-columns: 1fr; }
  .nav-links { display: flex; }
  .nav-link:nth-child(2) { display: none; }
}
@media(max-width: 520px) {
  .header-inner { min-height: 62px; padding-inline: 14px; }
  .logo-text { display: block; font-size: 1rem; }
  .nav-link { padding-inline: 9px; font-size: .76rem; }
  .nav-link:first-child { display: none; }
  .section, .faq-section, .page-hero { padding-inline: 16px; }
  .page-hero { padding-block: 32px; }
  .page-hero h1 { font-size: 2rem; }
  .form-row { grid-template-columns: 1fr; }
  .info-card { padding-block: 17px; }
  #toasts { left: 12px; right: 12px; bottom: 12px; }
  .toast { max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
