/* Contacts page */
.ct{--ct-gap:20px;--ct-pad:28px;--ct-sec:clamp(40px,5vw,72px)}
.ct-sec{padding-bottom:var(--ct-sec)}
.ct>.ct-sec:last-child{padding-bottom:0}
.ct-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:12px 32px;margin-bottom:24px}
.ct-head h2{font-size:clamp(26px,2.6vw,36px)}
.ct-head p{margin:8px 0 0;color:var(--muted);max-width:62ch}
.ct-head .link-arrow{color:var(--deep);white-space:nowrap}
.ct-head .link-arrow:hover{color:var(--deep-2)}

.ct-card{display:flex;flex-direction:column;min-width:0;padding:var(--ct-pad);background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.ct-ic{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--blue-soft);color:var(--deep)}
.ct-ic--accent{background:#fdeae5;color:var(--accent)}

.btn--deep{border-color:var(--deep);color:var(--deep);background:#fff}
.btn--deep:hover{background:var(--deep);border-color:var(--deep);color:#fff}
.btn--deep.is-done,.btn--accent.is-done{background:#1f9d5c;border-color:#1f9d5c;color:#fff;box-shadow:none}

/* Quick contacts: equal cards, footers pinned to the bottom */
.ct-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ct-gap);align-items:stretch}
.ct-quick--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ct-q__t{margin:20px 0 6px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ct-quick{--ct-pad:24px}
.ct-q__v{margin:0;font-size:clamp(18px,1.3vw,20px);font-weight:800;line-height:1.3;letter-spacing:-.01em;color:var(--ink);overflow-wrap:anywhere}
a.ct-q__v:hover{color:var(--deep)}
.ct-q__s{margin:8px 0 22px;font-size:14px;line-height:1.5;color:var(--muted)}
.ct-q__f{margin-top:auto}
.ct-msgs{list-style:none;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px}
.ct-msg{display:grid;place-items:center;height:48px;border:1.5px solid var(--line);border-radius:10px;background:#fff;transition:border-color .2s,transform .15s var(--ease)}
.ct-msg:hover{border-color:var(--deep)}
.ct-msg:active{transform:translateY(1px)}
.ct-hours{display:grid;gap:8px;margin:0 0 22px}
.ct-hours div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:8px;border-bottom:1px dashed var(--line)}
.ct-hours div:last-child{border-bottom:0;padding-bottom:0}
.ct-hours dt{font-size:14px;color:var(--muted)}
.ct-hours dd{margin:0;font-size:16px;font-weight:800;text-align:right}

/* Addresses */
.ct-addr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ct-gap);align-items:stretch}
.ct-addr__head{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.ct-addr__k{margin:0 0 4px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ct-addr__h{font-size:22px;line-height:1.2}
.ct-addr__v{margin:0 0 20px;padding:16px 18px;border-radius:var(--r-sm);background:var(--bg);font-style:normal;font-size:17px;font-weight:700;line-height:1.45;overflow-wrap:anywhere}
.ct-list{list-style:none;display:grid;gap:12px;margin:0 0 26px;padding:0;font-size:15px;line-height:1.5;color:var(--ink-2)}
.ct-list li{display:flex;align-items:flex-start;gap:12px;min-width:0}
.ct-list li>span{min-width:0;overflow-wrap:anywhere}
.ct-list .ic{color:var(--deep);margin-top:1px}
.ct-list a{color:var(--deep);text-decoration:underline;text-underline-offset:2px}
.ct-acts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:auto}
.ct-acts .btn{padding-left:16px;padding-right:16px;text-align:center}
.is-num{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.ct-nw{white-space:nowrap}

/* Map: placeholder underneath, iframe on top once loaded */
.ct-map{position:relative;height:460px;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);
  background:
    linear-gradient(118deg,transparent 46%,#fff 46%,#fff 48.5%,transparent 48.5%),
    linear-gradient(28deg,transparent 61%,#fff 61%,#fff 62.6%,transparent 62.6%),
    linear-gradient(rgba(24,59,128,.07) 1px,transparent 1px) 0 0/44px 44px,
    linear-gradient(90deg,rgba(24,59,128,.07) 1px,transparent 1px) 0 0/44px 44px,
    #eaf0f8}
.ct-map iframe{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;border:0}
.ct-map__ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center}
.ct-map__ph b{max-width:32ch;font-size:18px;line-height:1.35}
.ct-map__c{font-size:14px;color:var(--muted)}
.ct-map__ph .btn{margin-top:10px}
.ct-map__pin{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--accent);color:#fff;box-shadow:0 0 0 10px rgba(239,90,60,.16),0 12px 28px rgba(239,90,60,.35)}
.ct-map.is-loading .ct-map__ph .btn{pointer-events:none;opacity:.6}

/* Production gallery: equal tiles */
.ct-gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ct-gap)}
.ct-gal__it{position:relative;margin:0;overflow:hidden;border-radius:var(--r);background:var(--navy);box-shadow:var(--shadow)}
.ct-gal__it img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;transition:transform .6s var(--ease)}
.ct-gal__it:hover img{transform:scale(1.04)}
.ct-gal__it figcaption{position:absolute;inset:auto 0 0;padding:36px 18px 16px;font-size:15px;font-weight:700;line-height:1.3;color:#fff;background:linear-gradient(0deg,rgba(10,22,49,.88),rgba(10,22,49,0))}

/* Requisites */
.ct-req__head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px 24px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.ct-req__head h2{font-size:clamp(26px,2.6vw,36px)}
.ct-req__head p{margin:6px 0 0;color:var(--muted)}
.ct-req__acts{display:flex;flex-wrap:wrap;gap:12px}
.ct-req__body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px}
.ct-req__col{min-width:0}
.ct-req__g{margin:26px 0 4px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--deep)}
.ct-req__dl{display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);margin:0}
.ct-req__dl dt,.ct-req__dl dd{margin:0;padding:11px 0;border-bottom:1px solid var(--line)}
.ct-req__dl dt{padding-right:16px;font-size:14px;color:var(--muted)}
.ct-req__dl dd{font-size:15px;font-weight:600;overflow-wrap:anywhere}
.ct-req__dl dd.is-num{word-break:break-all}
.ct-req__dl>dt:last-of-type,.ct-req__dl>dd:last-of-type{border-bottom:0}
.ct-req__dl--grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px}
.ct-req__dl--grid>div{min-width:0;padding:11px 0;border-bottom:1px solid var(--line)}
.ct-req__dl--grid>div:nth-last-child(-n+3){border-bottom:0}
.ct-req__dl--grid dt,.ct-req__dl--grid dd{padding:0;border:0}
.ct-req__dl--grid dd{margin-top:2px}
.ct-req__empty{margin:20px 0 0;color:var(--muted)}

@media (max-width:1180px){
  .ct-quick{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-quick--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ct-gal{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1024px){
  .ct-addr-grid{grid-template-columns:1fr}
  .ct-req__body{grid-template-columns:1fr}
  .ct-quick--3{grid-template-columns:1fr}
}
@media (max-width:760px){
  .ct,.ct-quick{--ct-gap:14px;--ct-pad:20px}
  .ct-quick{grid-template-columns:1fr}
  .ct-q__t{margin-top:16px}
  .ct-addr__h{font-size:20px}
  .ct-addr__v{font-size:16px;padding:14px}
  .ct-acts{grid-template-columns:1fr}
  .ct-map{height:320px}
  .ct-gal{gap:10px}
  .ct-gal__it figcaption{padding:28px 12px 10px;font-size:13px}
  .ct-req__head .btn,.ct-req__acts{width:100%}
  .ct-req__dl{grid-template-columns:1fr}
  .ct-req__dl dt{padding:10px 0 0;border-bottom:0}
  .ct-req__dl dd{padding:2px 0 10px}
  .ct-req__dl--grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
  .ct-req__dl--grid>div{padding:10px 0;border-bottom:1px solid var(--line)}
  .ct-req__dl--grid>div:nth-last-child(-n+3){border-bottom:1px solid var(--line)}
  .ct-req__dl--grid>div:nth-last-child(-n+2){border-bottom:0}
  .ct-req__dl--grid dt,.ct-req__dl--grid dd{padding:0}
}
@media (min-width:1920px){
  .ct{--ct-gap:24px;--ct-pad:32px}
  .ct-q__v{font-size:22px}
}
@media (min-width:2560px){
  .ct{--ct-gap:28px;--ct-pad:40px}
  .ct-quick{--ct-pad:36px}
  .ct-ic{width:60px;height:60px;border-radius:14px}
  .ct-ic .ic{width:30px;height:30px}
  .ct-q__t,.ct-addr__k,.ct-req__g{font-size:14px}
  .ct-q__v{font-size:28px}
  .ct-q__s,.ct-list,.ct-hours dt,.ct-req__dl dt{font-size:17px}
  .ct-hours dd,.ct-req__dl dd{font-size:19px}
  .ct-msg{height:54px}
  .ct-addr__h{font-size:30px}
  .ct-addr__v{font-size:21px}
  .ct-head h2,.ct-req__head h2{font-size:48px}
  .ct-head p{font-size:19px}
  .ct-map{height:600px}
  .ct-map__ph b{font-size:22px}
  .ct-gal__it figcaption{font-size:19px;padding:44px 24px 20px}
}
