:root {
  --green: #287a20;
  --ink: #333;
  --muted: #52635d;
  --line: #dce7e2;
  --ground: #f5f5f5;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ground); color: var(--ink); font: 16px/1.6 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: 'Merriweather', serif; font-weight: 700; }
a { color: var(--green); }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
.container { max-width: 1200px; margin: 0 auto; padding: 20px; }

.site-header { padding: 40px 20px 20px; text-align: center; }
.brand-logo { display: inline-block; }
.logo-top { display: block; width: 280px; max-width: min(280px, 100%); height: auto; max-height: 110px; object-fit: contain; margin: 0 auto; }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 18px; font-size: .9rem; color: var(--muted); }
.breadcrumbs a { color: var(--green); }

.hero { text-align: center; background: var(--green); color: white; padding: 40px 24px; border-radius: 16px; margin-bottom: 24px; box-shadow: 0 4px 14px rgba(80, 174, 48, .25); }
.hero .eyebrow { margin-bottom: 10px; font-size: .88rem; font-weight: 700; }
.hero h1 { max-width: 760px; margin: 0 auto 12px; font-size: 1.75rem; letter-spacing: -.02em; }
.hero .lead { max-width: 670px; margin: 0 auto 24px; font-size: 1rem; opacity: .95; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 51px; padding: 14px 32px; border-radius: 50px; background: white; color: var(--green); font-weight: 700; font-size: 1.05rem; line-height: 1.3; text-decoration: none; box-shadow: 0 2px 8px rgba(0, 0, 0, .15); transition: transform .2s, box-shadow .2s; }
.button:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, .2); }
.button-green { background: var(--green); color: white; }

.offer-section, .advice > div, .next-step, .catalog-section { background: white; border: 1px solid var(--line); border-radius: 16px; padding: 28px; margin-bottom: 24px; }
.offer-section h2, .advice h2, .next-step h2, .catalog-section h2 { margin: 0 0 14px; color: #183c25; font-size: 1.4rem; }
.section-top { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; margin-bottom: 20px; }
.section-top h2 { margin-bottom: 0; }
.section-top a { flex: none; font-weight: 700; }
.offers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.offer-card { border: 1px solid var(--line); border-radius: 12px; padding: 18px; }
.offer-card h3 { margin: 0 0 7px; font-size: 1.05rem; }
.offer-card p { color: var(--muted); margin: 0 0 12px; }
.offer-card a { font-weight: 700; }
.offer-message { grid-column: 1 / -1; margin: 0; padding: 18px; border-radius: 8px; background: #f3faf1; color: #23552e; }
.advice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.advice p, .next-step p, .catalog-section > p { color: var(--muted); }
.advice ul { margin: 0; padding-left: 22px; }
.advice li + li { margin-top: 10px; }
.next-step { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.next-step p { margin: 0; max-width: 700px; }
.next-step .button { flex: none; }

.catalog-section > p { margin-bottom: 18px; }
.catalog-group { border-top: 1px solid #e1e8e2; }
.catalog-group:last-child { border-bottom: 1px solid #e1e8e2; }
.catalog-group summary { cursor: pointer; padding: 14px 4px; color: #23552e; font-weight: 700; }
.catalog-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 18px; padding: 0 4px 18px; }
.catalog-links a, .current-type { padding: 5px 0; overflow-wrap: anywhere; }
.catalog-links a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.current-type { color: #183c25; font-weight: 700; }

.site-footer { display: grid; grid-template-columns: 1fr minmax(260px, 420px); gap: 22px; padding: 24px 0; }
.footer-links { display: grid; grid-template-columns: repeat(2, minmax(140px, max-content)); align-content: start; gap: 8px 28px; }
.footer-links p { grid-column: 1 / -1; color: #4b5563; margin: 0 0 2px; }
.footer-links a, .footer-support a { color: var(--green); text-decoration: none; }
.footer-links a:hover, .footer-support a:hover { text-decoration: underline; }
.footer-support { padding: 16px 18px; border: 1px solid rgba(80, 174, 48, .24); border-radius: 18px; background: rgba(80, 174, 48, .06); }
.footer-support strong { display: block; margin-bottom: 6px; }
.footer-support p { margin: 0 0 8px; color: #4b5563; font-size: .95rem; }
.footer-support a { font-weight: 700; overflow-wrap: anywhere; }
.cookie-banner { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 1100; max-width: 760px; margin: 0 auto; padding: 16px; border: 1px solid rgba(80, 174, 48, .28); border-radius: 18px; background: white; color: #1f2937; box-shadow: 0 16px 40px rgba(15, 23, 42, .18); }
.cookie-banner[hidden] { display: none; }
.cookie-banner p { margin: 0 0 12px; font-size: .92rem; }
.cookie-banner button { display: block; margin-left: auto; border: 0; border-radius: 999px; padding: 9px 14px; background: var(--green); color: white; font: 700 .85rem 'Roboto', sans-serif; cursor: pointer; }

@media (max-width: 768px) {
  .site-header { padding: 40px 20px 20px; }
  .logo-top { width: 200px; max-height: 80px; }
  .advice { grid-template-columns: 1fr; }
  .catalog-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-footer { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .hero { padding: 28px 20px; }
  .hero h1 { font-size: 1.4rem; }
  .offer-section, .advice > div, .next-step, .catalog-section { padding: 20px; }
  .section-top { align-items: flex-start; flex-direction: column; gap: 7px; }
  .offers, .catalog-links { grid-template-columns: 1fr; }
  .next-step { display: block; }
  .next-step .button { margin-top: 20px; }
  .footer-links { grid-template-columns: 1fr; }
  .footer-links p { grid-column: auto; }
}
