/* Post-launch corrections: preserve every preview and stabilise narrow layouts. */
.eco-preview { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); }
.eco-preview { background: rgba(178, 79, 56, .14); }
.eco-preview img { object-fit: contain; background: transparent; border: 0; }
.workbook-preview { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: minmax(0, 1fr); place-items: center; gap: 12px; }
.workbook-preview img { display: block; min-width: 0; width: 100%; height: 100%; object-fit: contain; background: #e5f0f0; border-radius: 10px; box-shadow: 0 3px 8px rgba(0,0,0,.11); }
.social-preview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.social-preview img { display: block; width: 100%; height: 100%; object-fit: contain; border: 0; }
.modal--social .modal__content { width: min(100%, 560px); margin-inline: auto; gap: 24px; }
.modal--social .modal__content img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: contain; }
.modal { overflow-y: auto; }
.modal--social { background: #d9d4cb; }
.modal__content img { border-radius: 12px; }
body { font-family: "Manrope", Arial, sans-serif; }
button, input, select, textarea { font-family: "Manrope", Arial, sans-serif; }
.site-header { position: sticky; top: 0; z-index: 10; }
section[id] { scroll-margin-top: 86px; }
.nav a { font-size: 16px; line-height: 20px; }
.nav a { transition: color .18s ease; }
.nav a:hover, .nav a:focus-visible { color: var(--accent); }
.contact__links a, .contact__links button { font-family: inherit; font-size: 16px; line-height: 24px; }
.hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 440px); align-items: center; gap: 0; padding-block: clamp(64px, 7vw, 104px); }
.hero__copy { position: relative; z-index: 2; max-width: 900px; padding-bottom: 0; }
.hero__eyebrow { margin: 0 0 18px; color: var(--muted); font-size: 15px; font-weight: 500; line-height: 1.35; }
.hero h1 { max-width: 880px; font-size: clamp(58px, 7vw, 104px); line-height: .9; letter-spacing: -.065em; }
.hero p:not(.hero__eyebrow) { max-width: 500px; margin-top: 30px; font-size: 19px; line-height: 1.4; }
.hero__portrait { position: relative; z-index: 1; display: grid; width: min(100%, 440px); margin-left: 0; justify-self: end; place-items: end; overflow: hidden; background: transparent; }
.portrait { display: block; width: 100%; height: auto; object-fit: contain; object-position: center bottom; }
.section { padding-block: 88px; }
.section h2 { margin-bottom: 30px; }
.rule { display: none; }
.service-grid, .case-grid { margin-top: 0; }
.case-grid { align-items: stretch; }
.case { display: flex; flex-direction: column; height: 100%; }
.case__visual {
  flex: 0 0 auto;
  height: auto;
  aspect-ratio: 4 / 3;
  padding: clamp(14px, 2vw, 26px);
}
.case .eyebrow { min-height: 20px; }
.case strong { min-height: 62px; }
.case small { margin-top: auto; }
.service-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.service-grid article { display: flex; flex-direction: column; min-height: 0; padding: 22px; }
.service-grid p, .case small { margin: 0; font-size: 19px; line-height: 1.4; }
.case small { margin-top: 22px; }
.service-grid p { margin-top: 22px; }
.workbook-preview { background: rgba(178, 79, 56, .14); }
.eyebrow { margin-top: 18px; font-size: 14px; letter-spacing: .02em; }
.case strong { margin-top: 10px; }
.about { justify-content: flex-start; }
.about__copy { max-width: 850px; }
.about p { max-width: 760px; margin-top: 18px; font-size: 19px; line-height: 1.5; }
.contact__telegram, .contact__email { display: inline-flex !important; align-items: center; gap: 10px; padding: 13px 20px !important; border-radius: 999px !important; background: var(--bg) !important; color: var(--ink) !important; font-size: 18px !important; line-height: 24px !important; text-decoration: none; }
.contact__telegram img, .contact__email img { width: 22px; height: 22px; object-fit: contain; filter: none; }
.contact__links { width: 264px; gap: 14px; }
.contact__links a, .contact__links button { width: 100% !important; justify-content: center; }
.footer__inner { display: grid; gap: 18px; }
.site-footer, .site-footer .contact__telegram, .site-footer .contact__email { font-family: "Manrope", Arial, sans-serif !important; }
.site-footer .contact__telegram, .site-footer .contact__email { font-weight: 400 !important; }
.site-footer .contact__links { width: 232px; margin: 0; gap: 10px; }
.site-footer .contact__telegram, .site-footer .contact__email { padding: 10px 16px !important; border: 1px solid var(--light); background: var(--light) !important; color: var(--ink) !important; font-size: 16px !important; line-height: 22px !important; transition: background-color .18s ease, border-color .18s ease, color .18s ease; }
.site-footer .contact__telegram img, .site-footer .contact__email img { width: 20px; height: 20px; }
.site-footer .contact__telegram:hover, .site-footer .contact__telegram:focus-visible, .site-footer .contact__email:hover, .site-footer .contact__email:focus-visible { border-color: var(--accent); background: var(--accent) !important; color: var(--light) !important; }
.site-footer .contact__telegram:hover img, .site-footer .contact__telegram:focus-visible img, .site-footer .contact__email:hover img, .site-footer .contact__email:focus-visible img { filter: invert(1); }
.contact__content { display: grid; grid-template-columns: minmax(0, 760px); gap: 52px; margin-top: 30px; align-items: start; }
.contact__copy p { max-width: 380px; margin: 0; color: var(--bg); font-size: 19px; line-height: 1.5; }
.contact.section { background: transparent; color: var(--ink); }
.contact.section .contact__copy p { color: var(--muted); }
.contact.section .contact__telegram, .contact.section .contact__email { border: 1px solid var(--ink); background: var(--light) !important; color: var(--ink) !important; }
.contact__links--main { width: 264px; margin: 0; }
.contact.section .contact__telegram, .contact.section .contact__email { transition: background-color .18s ease, border-color .18s ease, color .18s ease; }
.contact.section .contact__telegram:hover, .contact.section .contact__telegram:focus-visible, .contact.section .contact__email:hover, .contact.section .contact__email:focus-visible { border-color: var(--accent); background: var(--accent) !important; color: var(--light) !important; opacity: 1; }
.contact.section .contact__telegram:hover img, .contact.section .contact__telegram:focus-visible img, .contact.section .contact__email:hover img, .contact.section .contact__email:focus-visible img { filter: invert(1); }
@media (max-width: 767px) {
  section[id] { scroll-margin-top: 124px; }
  .hero { display: flex; gap: 32px; padding-block: 52px; }
  .hero__copy { padding-bottom: 0; }
  .hero h1 { font-size: clamp(42px, 12vw, 58px); }
  .hero p:not(.hero__eyebrow) { margin-top: 22px; font-size: 18px; }
  .hero__portrait { width: 100%; margin-left: 0; place-items: end center; background: transparent; }
  .portrait { width: min(100%, 380px); height: auto; }
  .section { padding-block: 58px; }
  .section h2 { margin-bottom: 24px; }
  .service-grid { grid-template-columns: 1fr; gap: 12px; }
  .service-grid article { min-height: 190px; padding: 20px; }
  .service-grid p, .case small { font-size: 18px; }
  .case__visual { padding: clamp(12px, 4vw, 18px); }
  .case strong { min-height: 56px; }
  .workbook-preview { gap: 8px; }
  .modal--social .modal__content { width: 100%; gap: 16px; }
  .about p { font-size: 18px; }
  .contact__content { grid-template-columns: 1fr; gap: 44px; margin-top: 24px; }
  .contact__copy p { font-size: 18px; }
  .contact__links--main { width: min(264px, 100%); }
}
