.contact-page{background:#171d27}.contact-scene{position:relative;isolation:isolate;overflow:hidden;color:#f5f7fc;background:#171b23}.contact-map{position:absolute;inset:0;z-index:-3;background:url('/assets/map-krasnodar.webp') center/cover;filter:grayscale(1) invert(1) contrast(.65) brightness(.9)}.contact-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#111720ed 0%,#111720aa 40%,#11172033 75%),linear-gradient(0deg,#121924cc,transparent 60%)}.contact-wrap{max-width:1200px;padding:0 32px;margin:auto}.contact-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:100px;align-items:center;min-height:680px;padding:76px 0 64px}.contact-eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#b7c5dd;margin:0 0 24px}.contact-page :is(h1:not(.page-name),.page-hero-title){font-size:clamp(36px,3.5vw,50px);line-height:1.08;letter-spacing:-.035em;font-weight:600;color:#fff;background:none;-webkit-text-fill-color:currentColor;margin:0 0 26px}.contact-page :is(h1:not(.page-name),.page-hero-title) span{background:linear-gradient(100deg,#abc6ff,#c9b4ef 60%,#e8b2d5);background-clip:text;-webkit-text-fill-color:transparent}.contact-intro{font-size:15px;line-height:1.65;color:#c4cbda;max-width:430px;margin-bottom:28px}.contact-phone{font-size:clamp(25px,2.8vw,38px);font-weight:600;letter-spacing:-.035em;text-decoration:none;color:#fff;white-space:nowrap;display:inline-block}.contact-phone:hover{color:#bfd0ff}.contact-address{font-size:14px;line-height:1.5;margin:22px 0 26px;max-width:320px}.contact-address p{margin-bottom:10px;color:#d9dfeb}.contact-address a,.contact-bottom a{color:#b9cbfa;text-decoration:none}.contact-address a:hover,.contact-bottom a:hover{text-decoration:underline}.contact-page .sv-button{background:linear-gradient(110deg,#3268c6,#6656bc);min-height:48px}.contact-messengers{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.contact-messengers a{display:inline-flex;align-items:center;gap:7px;color:#d7e0f1;text-decoration:none;font-size:12px;border:1px solid #becce62b;border-radius:999px;padding:8px 12px;background:#ffffff08;transition:background .2s,border-color .2s}.contact-messengers a:hover{background:#899fdb25;border-color:#a7b7e574}.office-card{justify-self:end;width:100%;max-width:300px;padding:26px;border:1px solid #bbc9e12e;border-radius:24px;background:linear-gradient(140deg,#36425685,#202a3d88);backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 #ffffff13,0 20px 48px #0002;position:relative;margin-top:60px}.office-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:linear-gradient(140deg,#5f7ed044,#9c78c633);border:1px solid #c6d3ff33;color:#c8d7ff;margin-bottom:24px}.office-icon svg{width:27px;height:27px}.office-card .contact-eyebrow{display:block;font-size:10px;margin-bottom:8px}.office-card h2{font-size:26px;margin:0 0 18px;color:#fff}.office-card p{font-size:13px;line-height:1.6;color:#d1d9e7}.office-hours{opacity:1}.office-card button{background:none;border:0;border-top:1px solid #b7c6dd26;color:#d4dfff;display:flex;justify-content:space-between;width:100%;padding:18px 0 0;margin-top:22px;cursor:pointer;font:inherit;font-size:13px}.office-card button:hover{color:#fff}.contact-bottom{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;padding:28px 0 36px;border-top:1px solid #c6d2e42b}.contact-bottom h3{font-size:13px;margin:0 0 16px;letter-spacing:0;font-weight:600;color:#fff}.contact-bottom p,.contact-bottom a,.contact-bottom span{font-size:12px;line-height:1.6}.contact-bottom p{margin:0 0 8px;color:#c5cede}.contact-bottom>div>span{color:#93a0b5}.contact-bottom button{font:inherit;font-size:12px;border:0;background:none;color:#b9cbfa;padding:4px 0;cursor:pointer}.contact-bottom button:hover{color:white}.contact-page site-footer-v2{margin-top:0}.contact-page .sv-dialog{color:var(--color-text)}.contact-page .sv-dialog h2{font-size:28px;background:var(--text-spectrum);background-clip:text;-webkit-text-fill-color:transparent}.contact-page dialog::backdrop{background:#0d1422b0;backdrop-filter:blur(6px)}.map-dialog{width:min(1100px,calc(100% - 32px));height:min(720px,80dvh);padding:44px 0 0;border:1px solid #53617b;border-radius:20px;overflow:hidden;background:#202837;color:#fff}.map-dialog .sv-close{color:#fff}.map-dialog #contact-map-slot,.map-dialog iframe{width:100%;height:100%;border:0}.map-dialog iframe{filter:grayscale(1) invert(.9) hue-rotate(180deg)}
@media(max-width:900px){.contact-layout{gap:40px;grid-template-columns:1.4fr 1fr}.contact-wrap{padding:0 24px}.contact-phone{font-size:28px}.contact-layout{padding-top:56px}}
@media(max-width:700px){.contact-wrap{padding:0 20px}.contact-layout{grid-template-columns:1fr;gap:30px;padding:44px 0 36px;min-height:0}.contact-page :is(h1:not(.page-name),.page-hero-title){font-size:36px}.contact-phone{font-size:28px}.office-card{justify-self:stretch;max-width:none;margin:0;padding:22px}.office-icon{float:right;margin:0 0 12px 16px}.contact-bottom{grid-template-columns:1fr;gap:24px;padding:28px 0}.contact-map{background-position:60% center}.contact-shade{background:linear-gradient(90deg,#111720df,#11172088)}.contact-intro{font-size:14px}.contact-messengers{gap:8px}}
@media(prefers-reduced-motion:reduce){.contact-messengers a{transition:none}}

/* Keep the brand marker in full colour; darken only map tiles. */
#contact-map-slot [class*='ground-pane']{filter:grayscale(1) invert(.9) hue-rotate(180deg)}
#contact-map-slot{background:#202837;color:#202837}

#contact-map-slot{color:#f5f7fc}#contact-map-slot > [class*="map"]{color:#202837}

/* Edge-to-edge map: the close control floats over the map, without a header strip. */
.contact-page .map-dialog{padding:0;border:0;background:#202837;box-shadow:0 24px 80px #0005}
.contact-page .map-dialog .sv-close{top:12px;right:58px;width:36px;height:36px;display:grid;place-items:center;margin:0;padding:0;border:1px solid #ffffff30;border-radius:50%;background:#17213299;color:#fff;backdrop-filter:blur(12px);z-index:10;line-height:1;font-size:24px;cursor:pointer}
.contact-page .map-dialog .sv-close:hover{background:#354768dd}
.contact-page .map-dialog #contact-map-slot{height:100%;width:100%}

/* Translucent information surfaces shared by both contact themes. */
.contact-page .office-card{background:linear-gradient(135deg,#c5d5ef14,#8c9ecb08);border-color:#c4d4ed30;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:inset 0 1px 0 #ffffff1a,0 16px 44px #07101e1a}
.contact-page .contact-bottom{border-top:0;gap:16px}
.contact-page .contact-bottom>div{padding:22px;border:1px solid #c4d4ed25;border-radius:20px;background:linear-gradient(135deg,#c5d5ef0e,#8c9ecb05);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 #ffffff0e}
.contact-page .contact-messengers a{background:#d2def00a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.contact-page #contact-dialog{background:color-mix(in srgb,var(--color-surface) 78%,transparent);backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%)}

/* Light theme: bright glass over a readable, low-contrast city map. */
html:not([data-theme=dark]) .contact-page{background:#f2f5fa}
html:not([data-theme=dark]) .contact-scene{background:#eef2f7;color:#253249}
html:not([data-theme=dark]) .contact-map{filter:grayscale(1) contrast(.8) brightness(1.08)}
html:not([data-theme=dark]) .contact-shade{background:linear-gradient(90deg,#f4f7fbed 0%,#f4f7fba8 42%,#f4f7fb33 80%),linear-gradient(0deg,#edf2f8a6,transparent 60%)}
html:not([data-theme=dark]) .contact-page :is(h1:not(.page-name),.page-hero-title),html:not([data-theme=dark]) .contact-phone,html:not([data-theme=dark]) .office-card h2,html:not([data-theme=dark]) .contact-bottom h3{color:#202b3d}
html:not([data-theme=dark]) .contact-page :is(h1:not(.page-name),.page-hero-title) span{background-image:linear-gradient(100deg,#365ecb,#7440bf 58%,#b53e79)}
html:not([data-theme=dark]) .contact-eyebrow{color:#536685}
html:not([data-theme=dark]) .contact-intro,html:not([data-theme=dark]) .contact-address p,html:not([data-theme=dark]) .office-card p,html:not([data-theme=dark]) .contact-bottom p{color:#46566d}
html:not([data-theme=dark]) .contact-address a,html:not([data-theme=dark]) .contact-bottom a,html:not([data-theme=dark]) .contact-bottom button,html:not([data-theme=dark]) .office-card button{color:#365b9d}
html:not([data-theme=dark]) .contact-bottom>div>span{color:#62718a}
html:not([data-theme=dark]) .contact-page .office-card,html:not([data-theme=dark]) .contact-page .contact-bottom>div{background:linear-gradient(135deg,#ffffff62,#edf3ff24);border-color:#ffffffb3;box-shadow:inset 0 1px 0 #ffffffcc,0 12px 38px #2940610d}
html:not([data-theme=dark]) .office-icon{background:linear-gradient(135deg,#668bd523,#9c78c61a);color:#5271b3;border-color:#7b95c330}
html:not([data-theme=dark]) .office-card button{border-color:#7488ad30}
html:not([data-theme=dark]) .contact-page .contact-messengers a{color:#3b547a;background:#ffffff40;border-color:#91a5c547}
html:not([data-theme=dark]) .contact-page .contact-messengers a:hover{background:#ffffff90;border-color:#6988bc80}
html:not([data-theme=dark]) #contact-map-slot [class*='ground-pane'],html:not([data-theme=dark]) .map-dialog iframe{filter:grayscale(.65)}
html:not([data-theme=dark]) .contact-page dialog::backdrop{background:#24355055}
@media(max-width:700px){.contact-page .contact-bottom{gap:12px}.contact-page .contact-bottom>div{padding:20px}.contact-page .map-dialog{width:calc(100% - 20px);height:85dvh}}
