@font-face {
  font-family: "Jost";
  src: url("assets/fonts/jost-cyrillic.woff2?v=2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0400-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Jost";
  src: url("assets/fonts/jost-latin.woff2?v=2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Raleway";
  src: url("assets/fonts/raleway-300.ttf") format("truetype");
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: "Raleway";
  src: url("assets/fonts/raleway-700.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  --black: #000;
  --green: rgba(187, 219, 107, .8);
  --ochre: #b37004;
  --grey: #ebebeb;
  --container: 1160px;
}

* { box-sizing: border-box; }
html { overflow-x:hidden; scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  color: var(--black);
  background: #fff;
  font-family: "Raleway", Arial, sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.55;
}
a { color: inherit; }
h1, h2, h3, p, blockquote { margin-top: 0; }
h1, h2, h3, .main-menu, .hero-intro p, .button, .price-row small, .price-row strong, .price-row b, .contact-link {
  font-family: "Jost", Arial, sans-serif;
}
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.section { width: min(var(--container), calc(100% - 104px)); margin: 0 auto; }
.section-narrow { width: min(760px, calc(100% - 48px)); margin: 0 auto; }

.site-header {
  position: fixed;
  z-index: 20;
  top: 20px;
  left: 20px;
  right: 20px;
  height: 52px;
  background: var(--green);
}
.main-menu { height: 100%; padding: 0 112px; display: flex; align-items: center; justify-content: space-between; gap: 0; }
.main-menu a { color: #fff; text-decoration: none; text-transform: uppercase; font-size: 14px; font-weight: 600; letter-spacing: .01em; }
.main-menu a:hover, .main-menu a:focus-visible { text-decoration: underline; text-underline-offset: 4px; }
.menu-toggle { display: none; }

.hero-cover {
  height: clamp(250px, 34vh, 340px);
  background: #f5f5f3 url("assets/images/hero-plants.webp?v=3") center calc(100% + 100px) / cover no-repeat;
}
.hero-intro { min-height: 230px; padding: 0 24px 12px; text-align: center; }
.portrait { display: block; width: 160px; height: 160px; margin: -80px auto 15px; border-radius: 100%; object-fit: cover; position: relative; }
.hero h1 { margin-bottom: 0; font-size: 82px; line-height: 1.23; font-weight: 600; }
.hero-intro p { margin: 10px 0 0; font-size: 24px; line-height: 1.55; font-weight: 700; }

.quote { min-height: 200px; padding: 24px 0 32px; text-align: center; display: flex; flex-direction: column; justify-content: center; }
.quote-mark { height: 28px; margin-bottom: 10px; color: #b5b5b5; font: 44px/1 Georgia, serif; }
.quote blockquote { width: min(560px, 100%); margin: 0 auto; color:rgb(107,106,106); font-family:Georgia, serif; font-size: 18px; font-weight: 300; line-height: 26px; }
.scroll-cue { position: fixed; z-index: 15; left: 50%; bottom: 18px; width: 40px; height: 40px; display: grid; place-items: center; transform: translateX(-50%); border: 1px solid rgba(0,0,0,.2); border-radius: 50%; color: #555; background: rgba(255,255,255,.9); box-shadow: 0 4px 16px rgba(0,0,0,.08); text-decoration: none; font: 22px/1 Arial, sans-serif; opacity: 1; visibility: visible; transition: opacity .28s ease, visibility .28s ease, color .2s ease; animation: scroll-cue 2.4s ease-in-out infinite; }
.scroll-cue:hover, .scroll-cue:focus-visible { color: #111; border-color: rgba(0,0,0,.35); }
.scroll-cue.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; animation: none; }
@keyframes scroll-cue { 0%, 100% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, 5px); } }
.soft-divider { height: 24px; background: linear-gradient(#fff, #f3f3f3, #fff); }

h2 { margin-bottom: 40px; text-align: center; font-size: 52px; line-height: 1.23; font-weight: 600; }
.work.work-editorial { min-height: 0; padding: 88px 0 56px; }
.work-editorial .work-title { max-width: 900px; margin: 0 0 23px; text-align: left; font-size: 52px; line-height: 1.08; letter-spacing: -.025em; }
.work-intro { max-width: 760px; margin: 0 0 40px; color: #606060; font-size: 20px; line-height: 1.55; }
.case-list { border-top: 1px solid #cfcfcf; }
.case-row { display: grid; grid-template-columns: 72px minmax(250px, .9fr) minmax(340px, 1.2fr); gap: 24px; align-items: start; padding: 24px 0; border-bottom: 1px solid #cfcfcf; transition: background-color .25s ease; }
.case-row:hover { background: rgba(187, 219, 107, .09); }
.case-number { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: rgba(187, 219, 107, .62); font-family: "Jost", Arial, sans-serif; font-size: 13px; font-weight: 600; line-height: 1; letter-spacing: .04em; }
.case-row h3 { margin: 1px 0 0; font-size: 26px; font-weight: 600; line-height: 1.15; letter-spacing: -.018em; }
.case-row p { max-width: 570px; margin: 0; color: #555; font-size: 16px; line-height: 1.6; }
.practical-note { margin-top: 40px; padding: 24px 0; display: grid; grid-template-columns: minmax(220px, 1fr) 2fr; gap: 32px; border-top: 2px solid #111; border-bottom: 2px solid #111; }
.practical-label { color: var(--ochre); font-family: "Jost", Arial, sans-serif; font-size: 13px; font-weight: 600; line-height: 1.4; letter-spacing: .11em; text-transform: uppercase; }
.practical-note h3 { margin: 0 0 8px; font-size: 26px; font-weight: 600; line-height: 1.2; }
.practical-note p { max-width: 680px; margin: 0; color: #555; font-size: 18px; line-height: 1.55; }
.tool-pills { margin:20px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px; list-style:none; }
.tool-pills li { padding:5px 10px 6px; border:1px solid #e2e2de; border-radius:999px; color:#3f3f3f; background:#f1f1ee; font-family:"Jost",Arial,sans-serif; font-size:14px; font-weight:450; line-height:1.2; white-space:nowrap; }
.work-cta { width: fit-content; margin: 24px 0 0 auto; display: block; color: #333; font-family: "Jost", Arial, sans-serif; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: none; border-bottom: 1px solid rgba(0,0,0,.35); transition: opacity .2s ease, border-color .2s ease; }
.work-cta:hover, .work-cta:focus-visible { opacity: .65; border-color: transparent; }

.process-note { width: min(960px, calc(100% - 104px)); margin-bottom: 56px; padding: 32px 40px; display: grid; grid-template-columns: 240px 1fr; gap: 40px; border-left: 5px solid var(--green); background: #f5f5f2; }
.process-note h2 { margin: 0; text-align: left; font-size: 30px; line-height: 1.2; }
.process-copy p { margin: 0; color: #454545; font-size: 16px; line-height: 1.62; }
.process-copy p + p { margin-top: 16px; }

.booking-band { min-height: 96px; display: flex; align-items: center; justify-content: center; padding: 24px 20px; }
.button { min-width: 372px; min-height: 56px; padding: 12px 32px; display: inline-flex; align-items: center; justify-content: center; border-radius: 30px; color: #fff; background: #000; text-decoration: none; font-size: 20px; font-weight: 600; line-height: 1.4; }
.button:hover, .button:focus-visible { background: #262626; }

.js .reveal {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition:
    opacity .75s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms),
    transform .75s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
.js .reveal.is-visible { opacity: 1; transform: translate3d(0, 0, 0); }
.js .hero-intro .reveal { --reveal-delay: 100ms; }
.js .hero-intro p.reveal { --reveal-delay: 210ms; }

.education { height: auto; min-height: 0; padding: 80px 0 64px; }
.education h2 { margin-bottom: 32px; }
.degree { width: min(760px, 100%); margin: 0 auto 64px; text-align: center; font-size: 20px; line-height: 1.6; }
.approaches { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; }
.approaches::before { content:""; position:absolute; z-index:0; top: 18px; left: 0; right: 0; height: 1px; background: #aaa; }
.approaches article { position: relative; z-index:1; }
.step { width: 37.2px; height: 37.2px; display: grid; place-items:center; border-radius:50%; color:#fff; background:#222; font-size:16px; font-weight:600; }
.approaches h3 { margin: 16px 0 12px; color: var(--ochre); font-family: Arial, sans-serif; font-size: 24px; line-height: 1.35; }
.approaches h3 span { font-size: .82em; }
.approaches p { margin: 0; font-size: 14px; line-height: 1.45; }

.courses { min-height: 0; margin-bottom: 64px; padding: 0; border-top: 1px solid #d5d5d5; border-bottom: 1px solid #d5d5d5; color: #666; }
.courses summary { min-height: 56px; padding: 16px 42px 16px 0; position: relative; display: flex; align-items: center; cursor: pointer; list-style: none; font-family: "Jost", Arial, sans-serif; font-size: 16px; font-weight: 500; line-height: 1.4; }
.courses summary::-webkit-details-marker { display: none; }
.courses summary::after { content: "+"; position: absolute; right: 2px; top: 50%; transform: translateY(-52%); color: #777; font-family: Arial, sans-serif; font-size: 25px; font-weight: 300; line-height: 1; }
.courses[open] summary::after { content: "−"; }
.courses-content { padding: 7px 0 24px; }
.courses ul { margin: 0; padding: 0; list-style: none; }
.courses li { margin: 0 0 10px; font-size: 15px; line-height: 1.5; }
.courses li::before { content: "▪"; margin-right: 8px; font-size: 11px; }

.prices { min-height: 0; background: var(--grey); }
.prices > .section { height: auto; min-height: 0; padding: 72px 0 56px; }
.prices h2 { margin-bottom: 40px; line-height: 1.1; }
.price-list { width: min(760px, 100%); margin: 0 auto; }
.price-row { display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: start; min-height: 0; padding: 24px 0; border-bottom: 1px solid #d5d5d5; }
.price-row:first-child { padding-top: 0; }
.price-row:last-child { min-height: 0; padding-bottom: 0; border-bottom: 0; }
.price-row small, .price-row strong { display:block; }
.price-row small { margin-bottom: 8px; font-size: 14px; line-height: 1.5; font-weight: 600; }
.price-row strong { font-size: 24px; line-height: 1.2; font-weight: 600; }
.price-row b { padding-top: 29px; color: var(--ochre); font-size: 22px; line-height: 1.35; }
.prices .booking-band { min-height: 96px; }

.blog { min-height:0; color:#fff; background:#fff; }
.blog-main { position:relative; min-height:272px; background:#000 url("assets/images/blog-bg.webp?v=2") center 52% / cover no-repeat; }
.dark-overlay { position:absolute; inset:0; background:rgba(0,0,0,.7); }
.project-overlay { position:absolute; inset:0; background:linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.5)); }
.blog-content { position:relative; z-index:1; min-height:272px; padding:56px 24px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.blog h2 { width:min(1160px, 100%); margin:0 auto 24px; line-height:1.15; }
.blog p { width:min(700px, 100%); height:auto; margin:0 auto; padding:0; font-size:20px; line-height:1.55; }
.social-strip { min-height:96px; padding:24px; display:flex; align-items:center; justify-content:center; background:#000; }
.blog-spacer { height:24px; background:#fff; }
.blog-link {
  color:#fff;
  font-family:"Jost", Arial, sans-serif;
  font-size:20px;
  line-height:1.4;
  font-weight:600;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.7);
  transition:border-color .2s ease, opacity .2s ease;
}
.blog-link:hover, .blog-link:focus-visible { border-color:transparent; opacity:.75; }
.projects-title { min-height:96px; display:flex; align-items:center; justify-content:center; padding:24px 20px; }
.projects-title h2 { margin:0; }
.projects-title h2 { font-size:40px; line-height:1.2; font-weight:500; }
.projects-stage { position:relative; min-height:230px; display:flex; align-items:center; justify-content:center; padding:22px 40px; background:url("assets/images/projects-bg.jpg?v=3") center 48% / cover no-repeat; }
.project-overlay { background:linear-gradient(rgba(0,0,0,.78),rgba(0,0,0,.68)); }
.projects-grid { position:relative; z-index:1; width:min(920px, 100%); display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px; align-items:stretch; }
.project { display:flex; }
.project-card { width:100%; min-height:0; padding:23px 34px 21px; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; background:rgba(255,255,255,.96); text-align:center; }
.project-card h3 { margin:0 0 16px; font-size:24px; line-height:1.2; font-weight:550; }
.project-card p { width:100%; max-width:390px; min-height:48px; height:auto; margin:0 0 12px; font-size:16px; line-height:1.5; }
.project-link { margin-top:0; color:#111; font-family:"Jost",Arial,sans-serif; font-size:15px; line-height:1.4; font-weight:500; text-decoration:none; border-bottom:1px solid rgba(0,0,0,.4); transition:border-color .2s ease, opacity .2s ease; }
.project-link:hover, .project-link:focus-visible { border-color:transparent; opacity:.65; }

.contacts { background:#fff; }
.contacts .section-narrow { height:auto; min-height:0; padding:72px 0 32px; text-align:center; }
.contacts h2 { margin-bottom:0; }
.contacts p { height:auto; margin:0; padding-top:24px; font-size:16px; line-height:1.6; }
.contact-band { display:flex; align-items:center; justify-content:center; padding:12px 20px; background:#fff; }
.telegram-band { height:auto; }
.email-band { height:auto; padding-bottom:48px; }
.contact-link { width:auto; min-height:56px; padding:12px 72px; display:flex; align-items:center; justify-content:center; border-radius:30px; color:#fff; background:#000; text-decoration:none; font-size:20px; line-height:1.4; font-weight:600; }
.contact-link.email { padding-left:63.45px; padding-right:63.45px; color:#222; background:#fff; border:1px solid #b8b8b8; }
.contact-link:hover, .contact-link:focus-visible { text-decoration:underline; text-underline-offset:5px; }

.site-footer {
  min-height: 150px;
  padding: 42px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8f8f8f;
  background: #000;
  text-align: center;
}
.site-footer p { margin: 0; font-size: 13px; line-height: 1.65; }
.site-footer a { color: inherit; text-decoration: none; }
.site-footer a:hover, .site-footer a:focus-visible { color: #c7c7c7; text-decoration: underline; text-underline-offset: 3px; }

@media (min-width: 821px) {
  .blog-main,
  .projects-stage {
    background-attachment: fixed;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .js .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .blog-main,
  .projects-stage { background-attachment: scroll; }
  .scroll-cue { animation: none; }
}

@media (max-width: 820px) {
  .section { width: min(620px, calc(100% - 40px)); }
  .site-header { height: 44px; left: 18px; right:18px; top:18px; }
  .menu-toggle { width:52px; height:44px; margin-left:auto; padding:11px 16px; border:0; display:flex; flex-direction:column; justify-content:center; gap:5px; background:transparent; }
  .menu-toggle span:not(.visually-hidden) { height:2px; width:21px; background:#fff; }
  .main-menu { position:absolute; top:44px; left:0; right:0; height:auto; padding:20px; display:none; flex-direction:column; gap:16px; background:rgba(187,219,107,.97); }
  .main-menu.is-open { display:flex; }
  .hero-cover { height:360px; background-position:center center; }
  .hero-intro { min-height:272px; }
  .portrait { width:112px; height:112px; margin-top:-56px; }
  .hero h1 { font-size:60px; line-height:1.1; }
  .quote { min-height:240px; padding:32px 0 40px; }
  h2 { font-size:42px; line-height:1.15; }
  .work.work-editorial { padding:72px 0 48px; }
  .work-editorial .work-title { font-size:42px; line-height:1.06; }
  .case-row { grid-template-columns:48px 1fr; gap:16px 20px; }
  .case-row h3 { font-size:24px; }
  .case-row p { grid-column:2; }
  .practical-note { grid-template-columns:1fr; gap:15px; }
  .process-note { width:min(620px, calc(100% - 40px)); margin-bottom:56px; grid-template-columns:1fr; gap:16px; }
  .process-note h2 { font-size:28px; }
  .approaches { grid-template-columns:repeat(2, 1fr); gap:50px 35px; }
  .approaches::before { display:none; }
  .projects-stage { min-height:0; padding:26px 30px; }
  .projects-grid { grid-template-columns:1fr; width:min(520px, 100%); gap:28px; }
  .project-card { min-height:0; padding:25px 34px 24px; }
  .project-card p { min-height:0; }
}

@media (max-width: 520px) {
  body { font-size:15px; }
  .section, .section-narrow { width:calc(100% - 40px); }
  .site-header { top:20px; left:19px; right:19px; height:42px; }
  .menu-toggle { width:52px; height:42px; margin-left:0; margin-right:auto; padding:10px; }
  .main-menu { top:42px; align-items:flex-start; padding:20px; }
  .hero-cover { height:193px; background-position:center center; }
  .hero { height:auto; }
  .hero-intro { height:auto; min-height:340px; padding:0 20px 40px; }
  .portrait { width:100px; height:100px; margin-top:-43px; margin-bottom:15px; }
  .hero h1 { max-width:336px; margin:0 auto; font-size:52px; line-height:1.08; }
  .hero-intro p { max-width:336px; margin:12px auto 0; font-size:20px; line-height:1.4; font-weight:700; }
  .quote { width:calc(100% - 40px); height:auto; min-height:248px; padding:40px 0 48px; justify-content:flex-start; }
  .quote-mark { height:30px; margin:0; font-size:30px; line-height:30px; }
  .quote blockquote { width:100%; font-size:18px; line-height:26px; }
  h2 { font-size:40px; line-height:1.1; }
  .work.work-editorial { width:calc(100% - 40px); height:auto; min-height:0; padding:64px 0 40px; }
  .work-editorial .work-title { margin-bottom:19px; font-size:40px; line-height:1.04; letter-spacing:-.02em; }
  .work-intro { margin-bottom:32px; font-size:16px; line-height:1.55; }
  .case-row { grid-template-columns:42px 1fr; gap:12px 14px; padding:24px 0; }
  .case-number { width:34px; height:34px; font-size:12px; }
  .case-row h3 { margin-top:2px; font-size:22px; line-height:1.16; }
  .case-row p { grid-column:2; font-size:15px; line-height:1.5; }
  .practical-note { margin-top:40px; padding:24px 0; }
  .practical-note h3 { font-size:22px; }
  .practical-note p { font-size:16px; line-height:1.5; }
  .tool-pills { margin-top:16px; gap:7px; }
  .tool-pills li { padding:5px 9px; font-size:13px; }
  .work-cta { margin-top:24px; font-size:15px; }
  .process-note { width:calc(100% - 40px); margin-bottom:48px; padding:24px; gap:16px; border-left-width:4px; }
  .process-note h2 { font-size:26px; line-height:1.15; }
  .process-copy p { font-size:15px; line-height:1.55; }
  .process-copy p + p { margin-top:16px; }
  .button { min-width:0; width:336px; max-width:100%; font-size:20px; }
  .education { width:calc(100% - 40px); height:auto; min-height:0; padding:64px 0 40px; }
  .education h2 { margin-bottom:24px; font-size:40px; line-height:1.1; }
  .degree { width:100%; margin-bottom:40px; font-size:20px; line-height:1.4; }
  .approaches { width:calc(100% + 40px); margin-left:-20px; grid-template-columns:1fr; gap:0; }
  .approaches::before { display:block; top:18.6px; bottom:18.6px; left:38.1px; right:auto; width:1px; height:auto; }
  .approaches article { min-height:0; padding:0 20px 34px 79.2px; }
  .step { position:absolute; left:20px; top:0; }
  .approaches h3 { margin:0 0 8px; font-size:24px; line-height:1.35; }
  .approaches p { margin:0; font-size:16px; line-height:1.5; }
  .desktop-break { display:none; }
  .courses { width:calc(100% - 40px); height:auto; min-height:0; margin-bottom:48px; padding:0; }
  .courses summary { min-height:56px; font-size:16px; }
  .courses-content { padding-bottom:22px; }
  .courses li { font-size:14px; line-height:1.5; }
  .prices { min-height:0; }
  .prices > .section { width:calc(100% - 40px); height:auto; padding:64px 0 40px; }
  .prices h2 { margin-bottom:40px; line-height:1.1; }
  .price-row, .price-row:last-child { display:block; min-height:0; padding:24px 0; }
  .price-row:first-child { padding-top:0; }
  .price-row:last-child { padding-bottom:0; }
  .price-row small { margin-bottom:8px; }
  .price-row small { letter-spacing:2.5px; }
  .price-row strong { font-size:24px; line-height:1.2; }
  .price-row b { display:block; margin-top:8px; padding:0; font-size:18px; line-height:1.35; }
  .blog { min-height:0; }
  .blog-main { min-height:280px; background-image:url("assets/images/blog-bg-mobile.webp?v=2"); }
  .blog-content { min-height:280px; padding:48px 20px; }
  .blog h2 { width:315px; max-width:100%; }
  .blog p { width:335px; max-width:100%; height:auto; padding:0 10px; font-size:16px; line-height:23.2px; }
  .blog-spacer { height:24px; }
  .projects-title { height:auto; min-height:88px; }
  .projects-title h2 { white-space:nowrap; font-size:34px; line-height:1.2; letter-spacing:-.5px; }
  .projects-stage { min-height:0; padding:24px 20px; background-position:42% center; }
  .projects-grid { width:336px; max-width:100%; gap:24px; }
  .project-card { width:100%; height:auto; min-height:0; padding:22px 20px 23px; }
  .project-tomato .project-card { padding-bottom:24px; }
  .project-card h3 { margin-bottom:16px; font-size:22px; line-height:1.2; }
  .project-card p { width:296px; height:auto; margin-bottom:16px; font-size:15px; line-height:1.5; }
  .project-link { font-size:15px; }
  .contacts .section-narrow { width:calc(100% - 40px); height:auto; padding:64px 0 32px; }
  .contacts p { height:auto; margin-bottom:16px; padding-top:24px; font-size:16px; line-height:1.5; }
  .contact-band { padding:12px 20px; }
  .telegram-band { height:auto; }
  .email-band { height:auto; padding-bottom:40px; }
  .contact-link { min-height:56px; padding:12px 42px; font-size:18px; line-height:1.4; }
  .contact-link.email { padding-left:35.1px; padding-right:35.1px; }
}

@media (max-width: 380px) {
  .contacts h2 { font-size:36px; line-height:1.08; }
  .contacts .section-narrow { padding-top:56px; padding-bottom:32px; }
  .contacts p { padding-top:20px; font-size:15px; line-height:1.5; }
  .contact-link { width:100%; max-width:320px; padding-left:24px; padding-right:24px; }
}
