/* ============================================================
   Консул Прайм — лендинг. Оливково-серая премиум-палитра.
   Шрифты: PT Serif (заголовки) + PT Sans (текст), самохостинг.
   ============================================================ */

/* ---------- Шрифты ---------- */
@font-face{font-family:"PT Serif";font-style:normal;font-weight:400;font-display:swap;
  src:url("../assets/fonts/pt-serif-cyrillic-400.woff2") format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:"PT Serif";font-style:normal;font-weight:400;font-display:swap;
  src:url("../assets/fonts/pt-serif-latin-400.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+2000-206F,U+2122;}
@font-face{font-family:"PT Serif";font-style:normal;font-weight:700;font-display:swap;
  src:url("../assets/fonts/pt-serif-cyrillic-700.woff2") format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:"PT Serif";font-style:normal;font-weight:700;font-display:swap;
  src:url("../assets/fonts/pt-serif-latin-700.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+2000-206F,U+2122;}
@font-face{font-family:"PT Sans";font-style:normal;font-weight:400;font-display:swap;
  src:url("../assets/fonts/pt-sans-cyrillic-400.woff2") format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:"PT Sans";font-style:normal;font-weight:400;font-display:swap;
  src:url("../assets/fonts/pt-sans-latin-400.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+2000-206F,U+2122;}
@font-face{font-family:"PT Sans";font-style:normal;font-weight:700;font-display:swap;
  src:url("../assets/fonts/pt-sans-cyrillic-700.woff2") format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:"PT Sans";font-style:normal;font-weight:700;font-display:swap;
  src:url("../assets/fonts/pt-sans-latin-700.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+2000-206F,U+2122;}

/* ---------- Токены ---------- */
:root{
  --olive-900:#2b3320; --olive-800:#3a472c; --olive-700:#4a5a38;
  --olive-600:#5e6b43; --olive-500:#76845a; --olive-400:#9aa77c;
  --olive-100:#e9ede0; --olive-50:#f2f4ec;
  --brass:#b9a06b; --brass-600:#a88b54; --brass-700:#8f7544;
  --ink:#23241f; --gray-700:#44473f; --gray-500:#6e7167; --gray-400:#9a9c92;
  --bg:#f6f6f1; --bg-alt:#eeefe8; --white:#fff;
  --line:rgba(43,51,32,.10); --line-strong:rgba(43,51,32,.18);
  --shadow-sm:0 1px 3px rgba(43,51,32,.06),0 1px 2px rgba(43,51,32,.04);
  --shadow:0 10px 30px -12px rgba(43,51,32,.18);
  --shadow-lg:0 24px 60px -20px rgba(43,51,32,.28);
  --serif:"PT Serif",Georgia,"Times New Roman",serif;
  --sans:"PT Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --container:1200px; --radius:14px; --radius-sm:10px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- База ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background-color:var(--olive-900);}
body{
  margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg);
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;overflow-x:hidden;
}
h1,h2,h3,h4{font-family:var(--serif);font-weight:700;line-height:1.18;color:var(--olive-900);margin:0 0 .5em;}
h1{font-size:clamp(2rem,4.6vw,3.4rem);letter-spacing:-.01em;}
h2{font-size:clamp(1.7rem,3.2vw,2.5rem);text-wrap:balance;}
h3{font-size:1.2rem;line-height:1.3;}
p{margin:0 0 1rem;}
a{color:var(--olive-700);text-decoration:none;transition:color .2s var(--ease);}
a:hover{color:var(--brass-700);}
img{max-width:100%;display:block;}
ul{margin:0;padding:0;list-style:none;}
:focus-visible{outline:3px solid var(--olive-900);outline-offset:2px;border-radius:4px;}
.hero :focus-visible,.facts :focus-visible,.midcta :focus-visible,.cta :focus-visible,.footer :focus-visible{outline-color:var(--brass);}

.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px;}
.section{padding:clamp(60px,8vw,110px) 0;}
.section--alt{background:var(--bg-alt);}
.eyebrow{
  display:inline-flex;align-items:center;gap:.55em;font-weight:700;font-size:.82rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--olive-600);margin-bottom:1rem;
}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--brass);display:inline-block;}
.section__head{max-width:720px;margin-bottom:clamp(34px,5vw,56px);}
.section__head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section__head p{color:var(--gray-500);font-size:1.08rem;margin:0;}
.lead{font-size:1.15rem;color:var(--gray-700);}

/* ---------- Кнопки ---------- */
.btn{
  --b:var(--olive-700);
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  font-family:var(--sans);font-weight:700;font-size:1rem;line-height:1;cursor:pointer;
  padding:16px 30px;border-radius:var(--radius-sm);border:1.5px solid transparent;
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease),color .2s var(--ease);
  white-space:nowrap;text-align:center;
}
.btn svg{width:1.15em;height:1.15em;flex:none;}
.btn--primary{background:var(--olive-700);color:#fff;box-shadow:var(--shadow);}
.btn--primary:hover{background:var(--olive-800);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-lg);}
.btn--gold{background:var(--brass);color:var(--olive-900);box-shadow:var(--shadow);}
.btn--gold:hover{background:var(--brass-600);color:var(--olive-900);transform:translateY(-2px);box-shadow:var(--shadow-lg);}
.btn--ghost{background:transparent;color:var(--olive-800);border-color:var(--line-strong);}
.btn--ghost:hover{border-color:var(--olive-600);color:var(--olive-800);background:rgba(94,107,67,.06);}
.btn--light{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.4);backdrop-filter:blur(4px);}
.btn--light:hover{background:rgba(255,255,255,.22);color:#fff;}
.btn--wa{background:#25a36a;color:#fff;}
.btn--wa:hover{background:#1f8d5b;color:#fff;transform:translateY(-2px);}
.btn--tg{background:#2f9fdc;color:#fff;}
.btn--tg:hover{background:#2589c0;color:#fff;transform:translateY(-2px);}
.btn--max{background:linear-gradient(135deg,#2d8cff,#7a5cff);color:#fff;}
.btn--max:hover{filter:brightness(1.07);transform:translateY(-2px);color:#fff;}

/* ---------- Шапка ---------- */
.header{
  position:fixed;top:0;left:0;right:0;z-index:50;
  background:rgba(246,246,241,.82);backdrop-filter:saturate(140%) blur(12px);
  border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s,background .3s;
}
.header.scrolled{border-bottom-color:var(--line);box-shadow:var(--shadow-sm);background:rgba(246,246,241,.94);}
.header__inner{display:flex;align-items:center;justify-content:space-between;height:100px;gap:20px;}
.brand{display:flex;align-items:center;gap:13px;flex:none;}
.brand__mark{width:76px;height:76px;flex:none;}
.brand__name{font-family:var(--serif);font-weight:700;font-size:1.62rem;color:var(--olive-900);line-height:1;letter-spacing:.01em;}
.brand__name small{display:block;font-family:var(--sans);font-weight:400;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--olive-500);margin-top:4px;}
.nav{display:flex;align-items:center;gap:24px;}
.nav a{color:var(--gray-700);font-weight:400;font-size:.98rem;position:relative;white-space:nowrap;}
.nav a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--brass);transition:width .25s var(--ease);}
.nav a:hover{color:var(--olive-900);}
.nav a:hover::after{width:100%;}
.header__cta{display:flex;align-items:center;gap:14px;flex:none;}
.header__cta .btn--gold{padding:11px 22px;font-size:.95rem;border-radius:9px;}
.header__phone{font-weight:700;color:var(--olive-900);white-space:nowrap;}
.header__phone:hover{color:var(--brass-700);}
.burger{display:none;width:46px;height:46px;border:1px solid var(--line-strong);background:transparent;border-radius:10px;cursor:pointer;padding:0;align-items:center;justify-content:center;}
.burger span,.burger span::before,.burger span::after{content:"";display:block;width:20px;height:2px;background:var(--olive-900);transition:.25s var(--ease);position:relative;}
.burger span::before{position:absolute;top:-6px;}
.burger span::after{position:absolute;top:6px;}
body.menu-open .burger span{background:transparent;}
body.menu-open .burger span::before{top:0;transform:rotate(45deg);}
body.menu-open .burger span::after{top:0;transform:rotate(-45deg);}

/* ---------- Hero ---------- */
.hero{position:relative;isolation:isolate;min-height:min(92vh,820px);display:flex;align-items:center;padding:120px 0 80px;overflow:hidden;}
.hero__bg{position:absolute;inset:0;z-index:-2;}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center right;}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,rgba(33,40,24,.93) 0%,rgba(38,46,28,.78) 40%,rgba(40,48,30,.30) 72%,rgba(40,48,30,.05) 100%);}
.hero__inner{max-width:640px;color:#fff;}
.hero .eyebrow{color:#dfe6cf;}
.hero .eyebrow::before{background:var(--brass);}
.hero h1{color:#fff;margin-bottom:.6em;font-size:clamp(1.7rem,3.6vw,3rem);line-height:1.14;letter-spacing:-.015em;text-wrap:balance;}
.hero h1 em{font-style:normal;display:inline-block;line-height:.7;vertical-align:baseline;color:var(--olive-900);
  background:linear-gradient(180deg,#c9b079 0%,var(--brass) 55%,var(--brass-600) 100%);
  padding:.05em .16em .09em;border-radius:.12em;
  box-shadow:0 2px 9px -3px rgba(20,26,14,.45);background-clip:padding-box;}
.hero__sub{font-size:1.16rem;line-height:1.6;color:rgba(255,255,255,.9);max-width:560px;margin-bottom:2rem;}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px;}
.hero__trust{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:2.4rem;}
.hero__trust li{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.86);font-size:.93rem;text-shadow:0 1px 6px rgba(20,26,14,.55);}
.hero__trust b{color:#fff;font-weight:700;}
.hero__trust svg{width:18px;height:18px;color:var(--brass);flex:none;}

/* ---------- Полоса доверия ---------- */
.facts{background:var(--olive-900);color:#fff;}
.facts__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:40px 0;}
.fact{text-align:center;}
.fact__n{font-family:var(--serif);font-weight:700;font-size:1.8rem;color:var(--brass);line-height:1.15;margin-bottom:8px;min-height:1.15em;}
.fact__t{font-size:.96rem;color:rgba(255,255,255,.78);}

/* ---------- Услуги ---------- */
.services__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;}
.scard{
  position:relative;flex:1 1 270px;max-width:340px;display:flex;flex-direction:column;
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 26px 28px;overflow:hidden;transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease);
}
.scard::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--olive-600),var(--brass));transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);}
.scard:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:transparent;}
.scard:hover::before{transform:scaleX(1);}
.scard__icon{width:62px;height:62px;border-radius:14px;background:var(--olive-50);display:flex;align-items:center;justify-content:center;margin-bottom:18px;transition:background .28s var(--ease);}
.scard__icon img{width:42px;height:42px;}
.scard:hover .scard__icon{background:var(--olive-100);}
.scard h3{margin-bottom:.4em;}
.scard p{color:var(--gray-500);font-size:.96rem;margin:0;}

/* ---------- Преимущества ---------- */
.adv__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.adv{padding:6px 4px;}
.adv__ic{width:54px;height:54px;border-radius:50%;background:var(--olive-100);color:var(--olive-700);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.adv__ic svg{width:26px;height:26px;}
.adv h3{font-size:1.12rem;}
.adv p{color:var(--gray-700);font-size:.96rem;margin:0;}

/* ---------- Этапы ---------- */
.steps__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:step;}
.step{position:relative;padding:30px 24px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);}
.step__n{font-family:var(--serif);font-weight:700;font-size:1.5rem;color:#fff;width:50px;height:50px;border-radius:12px;background:var(--olive-700);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.step h3{font-size:1.1rem;}
.step p{color:var(--gray-500);font-size:.95rem;margin:0;}

/* ---------- О компании ---------- */
.about__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,64px);align-items:stretch;}
.about__media{position:relative;min-height:340px;}
.about__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-lg);}
.about__badge{position:absolute;right:-14px;bottom:-14px;background:var(--brass);color:var(--olive-900);border-radius:14px;padding:16px 20px;box-shadow:var(--shadow);max-width:210px;}
.about__badge b{font-family:var(--serif);font-size:1.05rem;display:block;}
.about__badge span{font-size:.82rem;}
.about p{color:var(--gray-700);}
.req{margin-top:24px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px;display:grid;grid-template-columns:repeat(2,1fr);gap:14px 28px;}
.req div{font-size:.96rem;}
.req dt{color:var(--gray-500);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;}
.req dd{margin:2px 0 0;font-weight:700;color:var(--olive-900);}

/* ---------- CTA ---------- */
.cta{position:relative;color:#fff;overflow:hidden;background:var(--olive-800);}
.cta__bg{position:absolute;inset:0;z-index:0;opacity:.22;}
.cta__bg img{width:100%;height:100%;object-fit:cover;}
.cta::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(43,51,32,.86),rgba(43,51,32,.92));z-index:1;}
.cta__inner{position:relative;z-index:2;text-align:center;max-width:720px;margin:0 auto;}
.cta h2{color:#fff;}
.cta p{color:rgba(255,255,255,.85);font-size:1.1rem;margin-bottom:2rem;}
.cta__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:620px;margin:0 auto;}
.cta__actions .btn{width:100%;}

/* ---------- Подвал ---------- */
.footer{background:var(--olive-900);color:rgba(255,255,255,.72);padding:64px 0 30px;font-size:.95rem;}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.12);}
.footer__brand{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.footer__brand img{width:46px;height:46px;}
.footer__brand b{font-family:var(--serif);font-size:1.25rem;color:#fff;}
.footer p{color:rgba(255,255,255,.6);margin:0 0 .6rem;max-width:320px;}
.footer h4{font-family:var(--sans);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brass);margin:0 0 16px;}
.footer__links li{margin-bottom:10px;}
.footer__links a{color:rgba(255,255,255,.72);}
.footer__links a:hover{color:#fff;}
.footer__contacts li{margin-bottom:12px;display:flex;gap:10px;align-items:flex-start;}
.footer__contacts svg{width:18px;height:18px;color:var(--brass);flex:none;margin-top:2px;}
.footer__contacts a{color:#fff;font-weight:700;}
.footer__bottom{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;padding-top:24px;color:rgba(255,255,255,.5);font-size:.86rem;}
.footer__bottom a{color:rgba(255,255,255,.6);}

/* ---------- Анимация появления ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.08s;} .reveal.d2{transition-delay:.16s;} .reveal.d3{transition-delay:.24s;}

/* ---------- Доп. правки по ревью ---------- */
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--olive-800);color:#fff;padding:10px 18px;border-radius:8px;font-weight:700;box-shadow:var(--shadow);transition:top .2s var(--ease);}
.skip-link:focus{top:12px;color:#fff;}
.cta__note{margin-top:18px;font-size:.95rem;color:rgba(255,255,255,.82);}
.midcta{background:var(--olive-700);color:#fff;padding:clamp(34px,5vw,52px) 0;}
.midcta__inner{display:flex;align-items:center;justify-content:space-between;gap:22px 40px;flex-wrap:wrap;}
.midcta h2{color:#fff;margin:0 0 .35em;font-size:clamp(1.4rem,2.6vw,1.95rem);}
.midcta p{color:rgba(255,255,255,.85);margin:0;max-width:540px;}
.midcta__actions{display:flex;gap:12px;flex-wrap:wrap;flex:none;}

/* ---------- Юридическая страница + cookie ---------- */
.legal-section{padding-top:140px;}
.legal{max-width:820px;margin:0 auto;}
.legal h1{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:.6em;}
.legal h2{font-size:1.25rem;margin:1.7em 0 .5em;}
.legal p,.legal li{color:var(--gray-700);font-size:1.02rem;}
.legal ul{padding-left:1.2em;list-style:disc;margin:0 0 1rem;}
.legal li{margin-bottom:.45em;}
.legal a{text-decoration:underline;text-underline-offset:2px;}
.legal__note{background:var(--olive-100);border-left:3px solid var(--brass);padding:12px 16px;border-radius:8px;color:var(--olive-800)!important;font-size:.95rem;}
.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:760px;margin:0 auto;display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center;background:var(--olive-900);color:rgba(255,255,255,.9);padding:16px 22px;border-radius:14px;box-shadow:var(--shadow-lg);}
.cookie p{margin:0;font-size:.92rem;flex:1 1 320px;}
.cookie a{color:var(--brass);text-decoration:underline;}
.cookie .btn{padding:11px 24px;flex:none;}
.cookie[hidden]{display:none;}
.footer__legal a{color:rgba(255,255,255,.6);}
.footer__legal a:hover{color:#fff;}

/* ---------- Мобильное меню / адаптив ---------- */
.mobile-nav{position:fixed;inset:100px 0 0;z-index:45;background:var(--bg);transform:translateX(100%);transition:transform .32s var(--ease);padding:30px 24px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;}
body.menu-open .mobile-nav{transform:none;}
.mobile-nav a{padding:14px 8px;font-size:1.15rem;border-bottom:1px solid var(--line);color:var(--olive-900);}
.mobile-nav .btn{margin-top:18px;}

@media (max-width:1180px){
  .nav{display:none;}
  .burger{display:flex;}
}
@media (max-width:1040px){
  .footer__grid{grid-template-columns:1fr 1fr;gap:32px;}
  .adv__grid,.steps__grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:860px){
  .about__grid{grid-template-columns:1fr;}
  .about__media{order:-1;max-width:520px;margin-inline:auto;min-height:0;}
  .about__media img{position:static;height:auto;}
  .facts__grid{grid-template-columns:repeat(2,1fr);gap:24px;}
}
@media (max-width:560px){
  body{font-size:16px;}
  .header__phone{display:none;}
  .hero{min-height:auto;padding:110px 0 64px;}
  .hero__actions .btn{flex:1 1 100%;}
  .cta__actions{grid-template-columns:1fr;}
  .req{grid-template-columns:1fr;}
  .footer__grid{grid-template-columns:1fr;}
  .adv__grid,.facts__grid{grid-template-columns:1fr;}
  .steps__grid{grid-template-columns:repeat(2,1fr);gap:14px;}
  .about__badge{position:static;margin-top:16px;max-width:none;}
  .header__inner{gap:12px;height:82px;}
  .brand__mark{width:58px;height:58px;}
  .brand__name{font-size:1.4rem;}
  .brand__name small{font-size:.56rem;}
  .mobile-nav{inset:82px 0 0;}
  .header__cta{gap:10px;}
  .header__cta .btn--gold{display:none;}
  .scard{padding:24px 20px;}
  .scard__icon{width:52px;height:52px;margin-bottom:14px;}
  .midcta__inner{flex-direction:column;align-items:flex-start;}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;}
  .reveal{opacity:1!important;transform:none!important;transition:none!important;}
}

/* — Офисы + карта (секция контактов) — */
.offices{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:760px;margin:28px auto 0;}
.office{display:flex;gap:12px;align-items:flex-start;text-align:left;padding:16px 18px;border-radius:14px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);color:#eef1e6;text-decoration:none;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;}
.office:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);transform:translateY(-2px);}
.office:focus-visible{outline:2px solid var(--brass);outline-offset:3px;}
.office__dot{flex:0 0 auto;width:14px;height:14px;margin-top:5px;border-radius:50%;box-shadow:0 0 0 4px rgba(255,255,255,.14);}
.office__dot--main{background:#e8513c;}
.office__dot--alt{background:#3b7ded;}
.office__body{display:flex;flex-direction:column;gap:3px;min-width:0;}
.office__body b{font-size:1.04rem;color:#fff;font-weight:700;}
.office__body>span{font-size:.93rem;line-height:1.45;color:#dde2d2;}
.office__meta{color:#bfc6ad !important;font-size:.84rem !important;}
.map{position:relative;z-index:2;max-width:1040px;margin:20px auto 0;border-radius:18px;overflow:hidden;
  border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 50px rgba(0,0,0,.28);background:#e9eadf;}
.map iframe{display:block;width:100%;height:420px;border:0;}
@media (max-width:720px){
  .offices{grid-template-columns:1fr;max-width:520px;}
  .map iframe{height:330px;}
}
