/* Titan theme, 2026-10-22. Loaded after site.css on every page.
   Rules: square corners, flat colours, hairline rules, no blur, glow or gradient. */
:root{--ink:#141414;--night:#121212;--night-2:#1b1b1b;--paper:#fff;--sand:#f2f1ec;--line:#d9d7cf;--line-dark:#2c2c2c;--muted:#6b6a64;--red:#dc0010;--red-dark:#a8000c;--ease:cubic-bezier(.2,.7,.2,1)}
body{color:var(--ink);font-family:'Golos Text',Arial,sans-serif;font-feature-settings:'ss01' 0}
h1,h2,h3{font-weight:700;letter-spacing:-.02em}
::selection{background:var(--red);color:#fff}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:3px}

.button{border-radius:0;gap:14px;padding-inline:24px;min-height:54px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;transition:background .15s,border-color .15s,color .15s}
.button .icon{width:18px;height:18px}.button-outline{border-color:var(--ink);color:var(--ink)}.button-outline:hover{background:var(--ink);border-color:var(--ink);color:#fff}

/* Section label: "01  Услуги" set like a drawing index. */
.kicker{display:flex;align-items:baseline;gap:14px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:24px;line-height:1.4}
.kicker{color:var(--red)}.kicker>span{display:none}

.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.js .reveal.is-in{opacity:1;transform:none}

/* Header */
.utility{background:#0b0b0b;color:#8f8e88}
.header{background:var(--night);color:#ececea;border-bottom:1px solid var(--line-dark)}.header-row{min-height:80px}
.main-nav{color:#bdbcb6}.main-nav>a{position:relative}.main-nav>a:hover,.main-nav>a[aria-current],.service-menu[open]>summary,.service-menu>summary:hover{color:#fff}
.main-nav>a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease)}.main-nav>a:hover::after,.main-nav>a[aria-current]::after{transform:scaleX(1)}
.header-contact{border-color:var(--line-dark)}.header-contact>a{color:#fff}.header-contact>a:hover{color:var(--red)}.header-contact>span{color:#8f8e88}
.languages>span{color:#fff}.languages>a{color:#8f8e88}.languages>a:hover{color:#fff}.menu-button{color:#fff}
.mega{background:var(--night-2);border-color:var(--line-dark);box-shadow:none;color:#ececea}.mega-intro p{color:#8f8e88}.mega-links>a{border-color:var(--line-dark);color:#d6d5cf}.mega-links>a:hover{color:#fff}.mega .text-link{border-color:var(--red)}.mega .text-link:hover{color:#fff}
@media(max-width:960px){.main-nav{background:var(--night-2);border-color:var(--line-dark);box-shadow:none}.main-nav>a,.service-menu>summary{border-color:var(--line-dark);color:#ececea}.main-nav>a::after{display:none}.main-nav>a[aria-current]{color:var(--red)}}

.page-heading h1{font-weight:700;letter-spacing:-.025em;line-height:1.12}
.side-contact{background:var(--sand);border-top:3px solid var(--red)}

/* Reviews: three columns divided by rules, no cards. */
.reviews{background:var(--paper);border-top:0}
.reviews-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px}.reviews-head p{color:var(--muted);margin-top:14px}
.rating-card{display:flex;align-items:center;gap:18px;border:1px solid var(--ink);padding:16px 24px 16px 20px;flex-shrink:0;transition:background .15s,color .15s}
.rating-card>b{font-size:56px;font-weight:700;letter-spacing:-.03em;line-height:1}
.rating-card>span{display:flex;flex-direction:column;gap:1px;font-size:13px;color:var(--muted)}.rating-card .rating-link{color:var(--ink);font-weight:700}
.rating-card:hover{background:var(--ink);color:#fff}.rating-card:hover>span,.rating-card:hover .rating-link{color:#fff}
.stars{background:linear-gradient(to right,var(--red) 90%,#cfccc3 90%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:16px;letter-spacing:3px}
.review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--ink)}
.review-grid>.review{display:flex;flex-direction:column;padding:30px 34px 0;border:0;border-left:1px solid var(--line)}
.review-grid>.review:first-child{padding-left:0;border-left:0}.review-grid>.review:last-child{padding-right:0}
.review-stars{color:var(--red);letter-spacing:3px;font-size:14px}
.review-grid .review blockquote{margin:18px 0 28px;font-size:18px;line-height:1.65;letter-spacing:-.005em;color:var(--ink);font-weight:500}
.review-grid .review figcaption{margin-top:auto;display:flex;align-items:center;gap:14px;font-weight:400;font-size:14px}
.review-avatar{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;background:var(--ink);color:#fff;font-weight:700;font-size:17px}
.review figcaption b{display:block;font-size:15px}.review figcaption small{display:block;font-size:12.5px;color:var(--muted);line-height:1.5}
.reviews .fine{margin-top:36px}

/* Contacts */
.contact-section{background:var(--sand)}.contact-head{margin-bottom:40px}
.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:0;align-items:stretch;border:1px solid var(--ink)}
.contact-card{background:var(--night);color:#ececea;padding:clamp(28px,3.4vw,48px)}
.contact-label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8f8e88;font-weight:700;margin-bottom:8px}
.contact-card h3{font-size:clamp(32px,3vw,44px);font-weight:700;letter-spacing:-.025em;line-height:1.05}
.contact-city{color:#a7a6a0;margin:8px 0 30px}
.contact-card .contact-phone{display:block;font-size:clamp(26px,2.4vw,32px);font-weight:800;letter-spacing:-.02em;color:#fff;margin:0}.contact-card .contact-phone:hover{color:var(--red)}
.contact-phone2{display:block;color:#bdbcb6;font-size:16px;margin-top:2px}.contact-phone2:hover{color:#fff}
.contact-card .hours{border-color:var(--line-dark);margin:28px 0}.contact-card .hours dt{color:#a7a6a0}.contact-card .hours dd{color:#fff}
.contact-actions{display:flex;flex-wrap:wrap;gap:10px}.contact-card .button-outline{color:#fff;border-color:#5a5a5a}.contact-card .button-outline:hover{background:#fff;color:var(--ink);border-color:#fff}
.contact-card .social-links{margin-top:24px}.contact-card .social-links a{border-color:#5a5a5a}.contact-card .social-links a:hover{color:#fff;border-color:#fff}.contact-card .fine{color:#8f8e88}
.contact-visual{display:grid;grid-template-rows:minmax(320px,1fr) auto;min-width:0;background:#fff}
.contact-section .contact-map{width:100%;height:100%;min-height:320px;border:0;background:#dedbd2;margin:0;display:block}
.contact-photo-row{display:grid;grid-template-columns:200px 1fr;align-items:center;border-top:1px solid var(--ink)}
.contact-photo{aspect-ratio:3/2;border-right:1px solid var(--ink)}.contact-photo img{width:100%;height:100%;object-fit:cover}
.contact-hint{display:flex;align-items:flex-start;gap:10px;font-size:15px;font-weight:600;line-height:1.5;padding:16px 24px}.contact-hint .icon{color:var(--red);width:20px;height:20px;margin-top:2px}

/* Footer */
.footer{background:var(--night);color:#bdbcb6;padding-top:72px;border-top:4px solid var(--red)}.footer-brand>img{width:150px}.footer h2{color:#fff;font-weight:700;letter-spacing:0}
.footer-brand>p,.footer-services a,.footer-nav a{color:#8f8e88}.footer-phone{color:#fff}.footer a:hover{color:#fff}.footer-bottom{border-color:var(--line-dark);color:#6b6a64}

@media(max-width:960px){
  .review-grid{grid-template-columns:1fr}.review-grid>.review,.review-grid>.review:first-child,.review-grid>.review:last-child{padding:28px 0;border-left:0;border-bottom:1px solid var(--line)}
  .contact-grid{grid-template-columns:1fr}.contact-visual{grid-template-rows:360px auto}
}
@media(max-width:700px){
  .header-row{min-height:70px}
  .reviews-head{display:block;margin-bottom:28px}.rating-card{margin-top:24px}.rating-card>b{font-size:50px}
  .review-grid .review blockquote{font-size:16.5px}
  .contact-visual{grid-template-rows:300px auto}.contact-photo-row{grid-template-columns:1fr}.contact-photo{border-right:0;border-bottom:1px solid var(--ink)}.contact-actions .button{flex:1 1 100%}
  .mobile-actions{background:var(--night);border-color:var(--line-dark);padding-inline:8px;gap:6px}.mobile-actions>a{color:#ececea;border-radius:0;border:1px solid var(--line-dark)}.mobile-actions>a:first-child{background:var(--red);border-color:var(--red)}
}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none}}

/* ===== Facade palette (replaces black): white header, facade blue, navy text, red for calls. ===== */
:root{--navy:#0f2c6e;--blue:#1f55c9;--night:#0f2c6e;--night-2:#0c255e;--line-dark:#2c4d93}
.utility{background:var(--navy);color:#c9d6f2}
.header{background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}
.main-nav{color:var(--navy)}.main-nav>a:hover,.main-nav>a[aria-current],.service-menu[open]>summary,.service-menu>summary:hover{color:var(--red)}
.header-contact{border-color:var(--line)}.header-contact>a{color:var(--navy)}.header-contact>a:hover{color:var(--red)}.header-contact>span{color:var(--muted)}
.languages>span{color:var(--red)}.languages>a{color:var(--muted)}.languages>a:hover{color:var(--navy)}.menu-button{color:var(--navy)}
.mega{background:#fff;border-color:var(--line);box-shadow:0 18px 28px rgba(15,44,110,.08);color:var(--ink)}.mega-intro p{color:var(--muted)}.mega-links>a{border-color:var(--line);color:var(--ink)}.mega-links>a:hover{color:var(--red)}.mega .text-link:hover{color:var(--red)}
@media(max-width:960px){.main-nav{background:#fff;border-color:var(--line);box-shadow:0 18px 28px rgba(15,44,110,.08)}.main-nav>a,.service-menu>summary{border-color:var(--line);color:var(--navy)}}
h2,.page-heading h1{color:var(--navy)}
.kicker{color:var(--blue)}
.button{background:var(--red);border-color:var(--red)}
.review-avatar{background:var(--blue)}
.rating-card{border-color:var(--navy)}.rating-card:hover{background:var(--navy)}
.review-grid{border-top-color:var(--navy)}
.contact-grid{border-color:var(--navy)}
.contact-label,.contact-card .fine{color:#a9bbe3}.contact-city,.contact-card .hours dt{color:#c9d6f2}.contact-card .hours{border-color:var(--line-dark)}
.contact-card .button-outline,.contact-card .social-links a{border-color:#5d78b5}
.contact-photo-row,.contact-photo{border-color:var(--navy)}
.footer{background:var(--sand);color:var(--ink);border-top:4px solid var(--blue)}.footer h2{color:var(--navy)}
.footer-brand>p,.footer-services a,.footer-nav a{color:var(--muted)}.footer-phone{color:var(--navy)}.footer a:hover{color:var(--red)}.footer-bottom{border-color:var(--line);color:var(--muted)}
@media(max-width:700px){.mobile-actions{background:#fff;border-color:var(--line)}.mobile-actions>a{color:var(--navy);border-color:var(--line)}.mobile-actions>a:first-child{color:#fff}}

/* ===== Refinement: cool steel neutrals taken from the facade and sky (replaces warm cream/grey). ===== */
:root{--ink:#16223a;--muted:#5a6680;--sand:#eef2f6;--line:#d8dee8}
body{color:var(--ink)}
h1,h2,h3{font-weight:700}
.header-contact>a,.contact-phone,.contact-phone2,.hours dd,.footer-phone,.side-phone,.dock-call-text b,.help-phone,.hero-facts b{font-variant-numeric:tabular-nums}
.review-grid .review blockquote{color:#25324d}

/* Symptom hub: groups of guides, each a row with title and one-line summary. */
.symptom-hub{display:grid;gap:48px}
.symptom-group h2{font-size:26px;margin-bottom:16px}
.symptom-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;border-top:1px solid var(--line)}
.symptom-cards>a{position:relative;display:block;padding:18px 36px 18px 0;border-bottom:1px solid var(--line)}
.symptom-cards b{display:block;font-size:17px;color:var(--navy);transition:color .15s}
.symptom-cards span{display:block;font-size:14.5px;color:var(--muted);line-height:1.5;margin-top:4px}
.symptom-cards .icon{position:absolute;right:4px;top:22px;width:18px;height:18px;color:var(--red);transition:transform .2s var(--ease)}
.symptom-cards>a:hover b{color:var(--red)}.symptom-cards>a:hover .icon{transform:translateX(4px)}
@media(max-width:700px){.symptom-cards{grid-template-columns:1fr}}

/* Studio credit in the footer: quiet, one line. */
.footer-bottom .credit{color:var(--muted);transition:color .15s}.footer-bottom .credit:hover{color:var(--navy)}

/* ===== Workshop identity, 2026-10-23 (replaces navy/steel palette and Golos).
   Graphite text, warm concrete greys, logo red for calls. Facade blue only in the
   symptoms band. Headings in a condensed grotesque, like the sign on the building. ===== */
:root{--ink:#1c1d1f;--muted:#64615b;--paper:#fff;--sand:#f0eee9;--wash:#f0eee9;--line:#dcd8cf;
  --navy:#1c1d1f;--blue:#1d4fb8;--night:#202123;--night-2:#2a2b2e;--line-dark:#3b3c40;
  --red:#d40f1b;--red-dark:#a90b14;--cond:'Fira Sans Condensed','Arial Narrow',Arial,sans-serif}
body{font-family:'Fira Sans',Arial,sans-serif;font-size:16px;line-height:1.6;color:var(--ink);background:var(--paper)}
h1,h2,h3,.page-heading h1{font-family:var(--cond);font-weight:700;letter-spacing:0;line-height:1.05;color:var(--ink)}
h2{font-size:clamp(32px,3.2vw,46px)}
.article-section h2,.practical-note h2,.side-contact h2,.symptom-group h2{letter-spacing:0;line-height:1.1}
::selection{background:var(--ink);color:#fff}

/* Buttons and small labels: no caps with wide tracking. */
.button{font-family:var(--cond);font-size:19px;font-weight:600;letter-spacing:.01em;text-transform:none;min-height:52px;padding-inline:22px}
.button-outline{background:transparent;border-color:var(--ink);color:var(--ink)}.button-outline:hover{background:var(--ink);color:#fff}
.contact-card .button-outline{background:transparent;color:#fff}.contact-card .button-outline:hover{background:#fff;color:var(--ink)}
.kicker,.section-label,.page-heading .section-label,.contact-label{font-family:var(--cond);font-size:16px;font-weight:600;letter-spacing:.01em;text-transform:none;color:var(--muted)}
.text-link{font-weight:600}

/* Header */
.utility{background:var(--ink);color:#b9b6ae}
.header{background:#fff;border-bottom:1px solid var(--line)}
.main-nav{color:var(--ink);font-weight:500}.main-nav>a:hover,.main-nav>a[aria-current],.service-menu[open]>summary,.service-menu>summary:hover{color:var(--red)}
.header-contact>a{color:var(--ink);font-family:var(--cond);font-size:22px;font-weight:700;letter-spacing:.01em}
.languages>span{color:var(--red)}.languages>a:hover{color:var(--ink)}.menu-button{color:var(--ink)}
/* Second landline under the main one, in case the first is busy. */
.header-contact>a{line-height:1.15}.header-contact>a.header-phone2{font-size:18px;font-weight:600;color:var(--muted);margin-top:2px}.header-contact>a:hover{color:var(--red)}
@media(max-width:700px){.header-contact>a.header-phone2{font-size:14px}}
.mega{box-shadow:0 14px 24px rgba(0,0,0,.08)}
@media(max-width:960px){.main-nav{box-shadow:0 14px 24px rgba(0,0,0,.08)}.main-nav>a,.service-menu>summary{color:var(--ink)}}

/* Inner pages */
.page-heading h1{font-size:clamp(36px,4.2vw,58px)}
.side-contact{background:var(--sand);border-top:4px solid var(--ink)}
.side-phone{font-family:var(--cond);font-weight:700;letter-spacing:.01em}
.side-mob{margin:6px 0 18px!important;font-size:14px;line-height:1.5!important}.side-mob a{color:var(--ink);font-weight:600}.side-mob span{color:var(--muted)}
.service-group h3{font-size:24px}
/* Services catalogue: four equal groups, no orphan row. */
.service-directory{grid-template-columns:repeat(4,minmax(0,1fr))}
.service-group:last-child{grid-column:auto;display:block}
@media(max-width:1100px){.service-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.service-directory{grid-template-columns:1fr}}
.symptom-cards b{color:var(--ink);font-weight:600}

/* Reviews */
.rating-card{border-color:var(--ink)}.rating-card:hover{background:var(--ink)}
.rating-card>b{font-family:var(--cond);font-size:64px;letter-spacing:0}
.review-grid{border-top:3px solid var(--ink)}
.review-avatar{background:var(--sand);color:var(--ink);font-family:var(--cond);font-size:20px}
.review-grid .review blockquote{font-size:17px;font-weight:400;line-height:1.6;color:var(--ink)}

/* Contacts: graphite card, phones first, mobiles with messenger links. */
.contact-grid{border:0;gap:0}
.contact-card{background:var(--night);color:#eceae4}
.contact-label{color:#9d9a92;font-size:15px;margin-bottom:6px}
.contact-card h3{font-size:clamp(36px,3.4vw,50px);color:#fff}
.contact-city,.contact-card .hours dt{color:#b9b6ae}
.contact-card .contact-phone{font-family:var(--cond);font-size:clamp(34px,3vw,42px);font-weight:700;letter-spacing:.01em;line-height:1.05}
.contact-phone2{font-family:var(--cond);font-size:22px;font-weight:600;color:#d8d5ce;margin-top:2px}
.contact-label-mob{margin-top:22px}
.mobiles{list-style:none;margin:0;padding:0}
.mobiles li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:6px 0}
.mob-num{font-family:var(--cond);font-size:22px;font-weight:600;color:#fff}.mob-num:hover{color:var(--red)}
.mob-apps{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:14px}.mob-apps a{color:#b9b6ae;border-bottom:1px solid #55565a}.mob-apps a:hover{color:#fff;border-color:#fff}
.contact-card .hours{border-color:var(--line-dark)}
.contact-card .button-outline,.contact-card .social-links a{border-color:#6a6b70}
.contact-card .fine{color:#9d9a92}
.contact-visual{border:1px solid var(--line);border-left:0}
.contact-photo-row,.contact-photo{border-color:var(--line)}
.contact-hint{display:block;padding:16px 24px;font-size:15px;font-weight:400;line-height:1.5;color:var(--muted)}
.contact-hint b{display:block;font-family:var(--cond);font-size:22px;font-weight:700;color:var(--ink);margin-bottom:2px}
@media(max-width:960px){.contact-visual{border-left:1px solid var(--line);border-top:0}}

/* Messenger buttons: brand colours so people recognise them at a glance; one tap opens the chat. */
.msg-row{display:inline-flex;align-items:center;gap:8px;vertical-align:middle}
.msg{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;color:#fff;transition:transform .15s,filter .15s}
.msg .icon{width:19px;height:19px;fill:currentColor;stroke:none}
.msg-viber{background:#7360f2}.msg-whatsapp{background:#25d366}.msg-telegram{background:#229ed9}
.msg:hover,.msg:focus-visible{transform:translateY(-2px);filter:brightness(1.1)}
/* Social networks: brand icons instead of "Facebook ↗" text links. */
.social-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.soc{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#fff;transition:transform .15s,filter .15s}
.soc .icon{width:21px;height:21px;fill:currentColor;stroke:none}
.soc-facebook{background:#1877f2}.soc-instagram{background:#e1306c}.soc-tiktok{background:#000;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.soc:hover,.soc:focus-visible{transform:translateY(-2px);filter:brightness(1.1)}
.footer .social-row{margin-top:14px}.footer .social-row a{color:#fff}.footer .social-row a:hover{color:#fff}
.mobiles li{align-items:center;gap:8px 16px;padding:7px 0}
.side-mob{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:6px 0 18px;font-size:14px;color:var(--muted)}.side-mob>a{color:var(--ink);font-weight:600}
.contact-hint .addr-label{display:block;font-family:var(--cond);font-size:15px;font-weight:600;color:var(--muted);margin-bottom:2px}
.contact-hint .addr-copy{display:block;font-size:17px;line-height:1.45;color:var(--ink);user-select:all;-webkit-user-select:all;cursor:text}

/* Footer */
.footer{background:var(--sand);color:var(--ink);border-top:4px solid var(--ink)}
.footer h2{font-family:var(--cond);font-size:20px;color:var(--ink)}
.footer-phone{font-family:var(--cond);font-size:26px;font-weight:700;color:var(--ink)}
.footer-mob{font-size:14px;color:var(--muted);margin-top:2px}.footer-mob a{color:var(--ink)}
@media(max-width:700px){.mobile-actions{background:#fff}.mobile-actions>a{color:var(--ink);font-family:var(--cond);font-size:17px;font-weight:600}.mobile-actions>a:first-child{color:#fff;background:var(--red);border-color:var(--red)}}
