/* Стили шаблона «contacts» — дословно из contacts.html пилота.
   Собирается scripts/extract-pilot-css.mjs, руками не править. */

/* Фирменная типографика Механит: Magistral (заголовки) + Golos Text (текст) + PT Root UI (интерфейс) */
@font-face{font-family:'Magistral';src:url('fonts/Magistral-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Magistral';src:url('fonts/Magistral-Bold.woff2') format('woff2');font-weight:600 700;font-style:normal;font-display:swap}
@font-face{font-family:'PT Root UI';src:url('fonts/PT-Root-UI_Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'PT Root UI';src:url('fonts/PT-Root-UI_Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'PT Root UI';src:url('fonts/PT-Root-UI_Bold.woff2') format('woff2');font-weight:600 700;font-style:normal;font-display:swap}
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bm:#1A1A1A;--sg:#3D3D3D;--sg2:#2B2E31;--mid:#696D71;--muted:#8A9096;
  --ce:#6B2D8B;--ce2:rgba(107,45,139,.10);--ce3:rgba(107,45,139,.20);--ceHover:#7d3aa0;
  --gold:#C9A227;
  --tl:#EAEAE6;--tl2:#F5F5F3;--paper:#EDEEF0;--paper2:#E4E5E8;--white:#fff;
  --line:rgba(26,26,26,.10);--line2:rgba(234,234,230,.08);
  --max:1600px;--shadow:0 24px 70px rgba(26,26,26,.10);
}
html{scroll-behavior:smooth}
body{font-family:'Golos Text',sans-serif;background:var(--paper);color:var(--bm);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding-inline:clamp(24px,4.4vw,84px)}

/* buttons (реиспользованный компонент) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1.5px solid transparent;min-height:48px;padding:0 26px;font-family:'PT Root UI',sans-serif;font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;transition:.22s;border-radius:10px}
.btn-dark{background:var(--bm);color:var(--tl2);border-color:var(--bm)}.btn-dark:hover{background:var(--sg)}
.btn-ce{background:linear-gradient(120deg,#7a3c9c 0%,#6B2D8B 50%,#63297e 100%);color:#fff;border-color:transparent}
.btn-ce:hover{filter:brightness(1.12)}
.btn:focus-visible{outline:2px solid var(--ce);outline-offset:3px}

.contacts-page{padding:clamp(12px,1.4vw,18px) 0}
.contacts-hero{padding:clamp(4px,1vw,14px) 0 clamp(18px,2.2vw,28px)}
.eq-hero-top{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:40px;align-items:center}
.sol-title{font-family:'Magistral',sans-serif;font-weight:700;font-size:clamp(32px,4.4vw,58px);line-height:1.05;letter-spacing:-.015em;color:var(--bm);margin:0;max-width:900px}
.title-row{display:flex;align-items:center;gap:16px;min-width:0}
.title-dash{flex:0 0 auto;width:40px;height:3px;background:linear-gradient(90deg,var(--gold),var(--ce))}
.title-text{min-width:0;overflow-wrap:break-word}
.sol-intro{font-family:'Golos Text',sans-serif;font-weight:400;font-size:15.5px;line-height:1.65;color:var(--mid);max-width:480px;margin:0}
@media(max-width:1180px){.eq-hero-top{grid-template-columns:1fr;gap:16px}}
@media(max-width:560px){.sol-title{font-size:clamp(20px,6.2vw,34px)}.title-row{flex-direction:column;align-items:flex-start;gap:10px}}
.contacts-page::before{content:'';display:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.contacts-grid{display:flex;flex-direction:column;gap:clamp(14px,1.3vw,18px)}
.contacts-row{display:grid;gap:clamp(14px,1.3vw,18px)}
.contacts-row--3col{grid-template-columns:repeat(3,1fr)}
.contacts-row--2col{grid-template-columns:1fr 1fr}
.contact-card{position:relative;background:#fff;border:1px solid rgba(26,26,26,.08);border-radius:24px;box-shadow:0 14px 36px rgba(26,26,26,.05);padding:clamp(18px,1.7vw,24px);display:flex;flex-direction:column;align-items:flex-start}
.contact-card h2{font-family:'Magistral',sans-serif;font-weight:600;font-size:clamp(17px,1.15vw,20px);letter-spacing:-.02em;line-height:1.15;color:var(--bm)}

/* иконка-плашка (переиспользуется во всех карточках) */
.cc-card-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.cc-icon{width:44px;height:44px;flex:0 0 auto;display:grid;place-items:center;border-radius:13px;background:rgba(107,45,139,.09);color:var(--ce)}
.cc-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7}
.cc-icon--sm{width:36px;height:36px;border-radius:11px}
.cc-icon--sm svg{width:17px;height:17px}

/* служебные подписи (PT Root UI) */
.cc-label{display:block;font-family:'PT Root UI',sans-serif;font-weight:600;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ce);margin-bottom:2px}
.cc-note{display:block;font-family:'PT Root UI',sans-serif;font-weight:500;font-size:12px;color:var(--muted);margin-top:3px}
.cc-divider{width:100%;height:1px;background:var(--line);margin:14px 0}

/* Карточка «Связаться с нами» (широкая, ряд 1) */
.cc-wide-title{font-family:'Magistral',sans-serif;font-weight:600;font-size:clamp(21px,1.7vw,27px);letter-spacing:-.02em;color:var(--bm);margin-bottom:18px}
.cc-phone-main{display:block;font-family:'Golos Text',sans-serif;font-weight:600;font-size:clamp(19px,1.3vw,22px);line-height:1.2;color:var(--bm);transition:color .18s}
.cc-phone-main:hover{color:var(--ce)}
.cc-phone-main:focus-visible{outline:2px solid var(--ce);outline-offset:3px;border-radius:4px}
.cc-phone-second{display:block;font-family:'Golos Text',sans-serif;font-weight:500;font-size:clamp(16px,1.05vw,18px);line-height:1.2;color:var(--bm);margin-top:10px;transition:color .18s}
.cc-phone-second:hover{color:var(--ce)}
.cc-phone-second:focus-visible{outline:2px solid var(--ce);outline-offset:3px;border-radius:4px}
.cc-mail{display:block;font-family:'Golos Text',sans-serif;font-weight:600;font-size:clamp(17px,1.15vw,19px);color:var(--bm);transition:color .18s}
.cc-mail:hover{color:var(--ce)}
.cc-mail:focus-visible{outline:2px solid var(--ce);outline-offset:3px;border-radius:4px}
.cc-mail-list{display:flex;flex-direction:column;gap:11px}
.cc-mail-item{display:block}
.cc-mail-dept{display:block;font-family:'PT Root UI',sans-serif;font-weight:500;font-size:11.5px;color:var(--muted);margin-bottom:2px}
.cc-mail-list .cc-mail{font-size:clamp(14.5px,1vw,15.5px)}

/* Карточка «Главный офис» */
.cc-address{font-family:'Golos Text',sans-serif;font-style:normal;font-weight:500;font-size:clamp(14px,.9vw,15.5px);line-height:1.5;color:var(--sg);transition:color .18s}
.cc-address:hover{color:var(--ce)}
.cc-address:focus-visible{outline:2px solid var(--ce);outline-offset:3px;border-radius:4px}
.cc-hours{font-family:'Golos Text',sans-serif;font-weight:500;font-size:clamp(14px,.9vw,15.5px);color:var(--bm)}
.cc-subhead{display:flex;align-items:center;gap:9px;margin-bottom:8px}

/* Карточка «Реквизиты» */
.cc-dl{width:100%;margin:0}
.cc-dl div{display:grid;grid-template-columns:38% 1fr;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}
.cc-dl div:last-child{border-bottom:0}
.cc-dl dt{font-family:'PT Root UI',sans-serif;font-weight:500;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}
.cc-dl dd{font-family:'Golos Text',sans-serif;font-weight:600;font-size:clamp(13px,.85vw,14.5px);color:var(--bm);margin:0;align-self:center}

/* Карточка «Возникли вопросы?» — форма */
.contact-card--form{background:#fff}
.cc-form{width:100%;display:flex;flex-direction:column;flex:1 1 auto}
.cc-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cc-field{margin-bottom:12px}
.cc-field label{display:block;font-family:'PT Root UI',sans-serif;font-weight:500;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.cc-input{width:100%;height:44px;background:#fff;border:1px solid rgba(26,26,26,.14);border-radius:10px;padding:0 14px;color:var(--bm);font-family:'Golos Text',sans-serif;font-weight:400;font-size:14px;transition:border-color .18s ease,background .18s ease}
.cc-input::placeholder{color:var(--muted)}
.cc-input:focus{outline:none;border-color:var(--ce);background:#fff}
.cc-input:focus-visible{outline:2px solid var(--ce);outline-offset:2px}
.cc-input[aria-invalid="true"]{border-color:#b3261e}
.cc-err{display:none;margin-top:6px;font-family:'PT Root UI',sans-serif;font-weight:500;font-size:12px;color:#b3261e}
.cc-err.is-shown{display:block}
.cc-consent{display:flex;align-items:flex-start;gap:9px;margin:2px 0 14px;cursor:pointer;font-family:'PT Root UI',sans-serif;font-weight:400;font-size:12px;line-height:1.4;color:var(--sg)}
.cc-consent input{accent-color:var(--ce);width:16px;height:16px;min-width:16px;margin-top:1px;cursor:pointer}
.cc-consent a{color:var(--ce);text-decoration:underline;text-underline-offset:2px}
.cc-consent a:hover{color:var(--ceHover)}
.cc-consent a:focus-visible{outline:2px solid var(--ce);outline-offset:2px}
.cc-form-bottom{margin-top:auto}
.cc-form .btn{width:100%;min-height:46px}
.cc-form .btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2}
.cc-form-status{display:none;margin-top:12px;padding:10px 14px;border-radius:10px;font-family:'PT Root UI',sans-serif;font-weight:500;font-size:12.5px;line-height:1.4}
.cc-form-status.is-shown{display:block}
.cc-form-status.ok{background:rgba(43,138,62,.1);color:#1e6b34}
.cc-form-status.fail{background:rgba(179,38,30,.08);color:#b3261e}

/* Карта */
.contacts-map{grid-column:1 / -1;display:flex;flex-direction:column;background:#fff;border:1px solid rgba(26,26,26,.08);border-radius:24px;box-shadow:0 14px 36px rgba(26,26,26,.05);padding:14px}
.contacts-map-frame{position:relative;width:100%;height:clamp(180px,15vw,216px);border-radius:14px;overflow:hidden;background:var(--paper2)}
.contacts-map-frame ymaps,.contacts-map-frame [class*="ymaps"]{border-radius:14px}
.contacts-map-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--muted);font-family:'PT Root UI',sans-serif;font-size:12px;text-align:center;padding:16px}
.contacts-map-placeholder b{font-family:'Golos Text',sans-serif;font-size:13px;color:var(--sg)}
.contacts-map-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 4px 2px}
.contacts-map-addr{font-family:'Golos Text',sans-serif;font-size:13px;color:var(--sg)}
.contacts-map-addr b{color:var(--bm);font-weight:600}
.contacts-map-link{display:inline-flex;align-items:center;gap:7px;font-family:'PT Root UI',sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--ce);transition:color .18s}
.contacts-map-link:hover{color:var(--ceHover)}
.contacts-map-link:focus-visible{outline:2px solid var(--ce);outline-offset:3px;border-radius:4px}
.contacts-map-link svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}

@media(max-width:900px){
  .contacts-row--3col,.contacts-row--2col{grid-template-columns:1fr}
  .cc-form-row{grid-template-columns:1fr}
}

