:root{--bg:#f8f5f1;--ink:#302027;--muted:#655e61;--accent:#c5a26a;--btnText:#291820;--header:#4a1c2af5;--border:#dfd5d1;--soft:#f1e8e6;--card:#fffdfa;--portrait:#eee5df;--dark:#461b29;--footer:#26171e;--footerInk:#fff;--footerMuted:#d3c1c5}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,textarea{font:inherit}.wrap{max-width:1160px;padding:0 28px;margin:0 auto}.header{position:sticky;top:0;z-index:50;background:var(--header);border-bottom:1px solid var(--border);backdrop-filter:blur(16px)}.nav{min-height:83px;display:flex;align-items:center;gap:30px;justify-content:space-between}.brand{font-size:12px;letter-spacing:.16em;font-weight:800;line-height:1.1;display:flex;gap:13px;align-items:center;white-space:nowrap}.brand small{font-size:11px;font-weight:600;letter-spacing:.13em}.symbol{font-size:32px;color:var(--accent)}nav{display:flex;align-items:center;gap:24px}nav a{font-size:13px;font-weight:700;color:var(--muted)}nav .current{color:var(--ink)}.nav-phone{font-weight:800;font-size:13px}.menu-toggle{display:none;background:none;border:0;font-size:25px;color:var(--ink)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(38px,5.3vw,72px);line-height:1.09;letter-spacing:-.055em;font-weight:800;margin:15px 0 24px}h2{font-size:clamp(30px,3.8vw,46px);line-height:1.16;letter-spacing:-.04em;margin:0 0 19px}h3{font-size:21px;line-height:1.32;letter-spacing:-.02em}p{color:var(--muted)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.24em;color:var(--accent);font-weight:800}.lead{font-size:19px;max-width:650px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:36px;background:var(--accent);color:var(--btnText);border:1px solid var(--accent);border-radius:3px;padding:14px 22px;font-weight:800;font-size:13px;text-decoration:none;cursor:pointer}.btn:hover{filter:brightness(.94);text-decoration:none}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--border)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero{padding:90px 0 85px}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:65px;align-items:center}.hero-art{width:100%;border-radius:8px;box-shadow:0 28px 70px #0002}.section{padding:88px 0}.section.alt{background:var(--soft)}.section-intro{max-width:700px;margin-bottom:32px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{background:var(--card);border:1px solid var(--border);padding:30px;min-height:250px}.service-card .index{display:block;font-size:12px;color:var(--accent);font-weight:800;margin-bottom:24px}.service-card h3{margin-bottom:12px}.service-card p{font-size:14px;margin:0}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.benefit{border-top:2px solid var(--accent);padding-top:20px}.benefit strong{display:block;font-size:19px;margin-bottom:10px}.benefit p{font-size:14px}.experts{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.expert{border:1px solid var(--border);background:var(--card);overflow:hidden}.portrait{background:var(--portrait);color:var(--accent);position:relative;overflow:hidden}.portrait svg{width:100%;display:block;max-height:250px}.portrait span{position:absolute;bottom:14px;left:16px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.expert-text{padding:24px}.expert-text small{color:var(--accent);font-weight:700}.expert-text h3{margin:10px 0}.expert-text p{font-size:14px}.cta{background:var(--dark);color:#fff;padding:68px 0}.cta p{color:#d2d9df}.cta .btn{margin-top:8px}.footer{background:var(--footer);color:var(--footerInk);padding:47px 0 20px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:35px}.footer p{font-size:13px;color:var(--footerMuted);max-width:340px}.footer a{display:block;font-size:13px;margin:0 0 10px}.fine{color:var(--footerMuted);border-top:1px solid #ffffff1c;margin-top:25px;padding-top:18px;font-size:11px}.section.narrow{max-width:800px;margin:0 auto;padding-left:26px;padding-right:26px}.narrow h1{font-size:46px}.list{padding-left:22px;color:var(--muted)}.list li{margin-bottom:10px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.detail-grid article{border-bottom:1px solid var(--border);padding:0 0 28px;margin-bottom:30px}.tag{display:inline-block;border:1px solid var(--border);padding:6px 12px;border-radius:20px;font-size:12px;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contact-grid .phone{font-size:25px;font-weight:800;display:block}.note{font-size:12px;color:var(--muted)}@media(max-width:980px){nav{gap:12px}.nav-phone{display:none}.hero-grid{gap:25px}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.wrap{padding:0 19px}.nav{min-height:70px}.menu-toggle{display:block}nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--header);padding:20px;flex-direction:column;align-items:stretch;box-shadow:0 20px 40px #0002}nav.open{display:flex}.hero{padding:57px 0}.hero-grid,.contact-grid,.detail-grid{grid-template-columns:1fr}.hero-art{max-height:310px;object-fit:cover}.section{padding:60px 0}.cards,.experts,.benefits,.footer-grid{grid-template-columns:1fr}.service-card{min-height:0}h1{font-size:43px}.narrow h1{font-size:36px}.nav-phone{display:none}}
/* ДОРАБОТАННЫЕ КАРТОЧКИ */
.service-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:35px}.service-tile{background:var(--card);border:1px solid var(--border);overflow:hidden}.service-tile>img{display:block;width:100%;aspect-ratio:16/8;object-fit:cover}.service-tile-body{padding:26px 28px 30px}.service-tile h2{font-size:27px;line-height:1.25;margin:12px 0}.service-tile p{font-size:14px;margin-bottom:12px}.card-link{display:inline-block;color:#77603b;font-size:13px;font-weight:800;margin-top:12px}.service-card.illustrated{display:block;min-height:0;padding:0;overflow:hidden;transition:transform .2s,box-shadow .2s}.service-card.illustrated:hover{transform:translateY(-3px);box-shadow:0 12px 30px #0001;text-decoration:none}.service-card.illustrated>img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.tile-copy{padding:24px}.tile-copy .index{margin-bottom:12px}.profiles{display:grid;gap:38px;margin-top:30px}.expert-profile{padding:32px;background:var(--card);border:1px solid var(--border)}.expert-profile-top{display:grid;grid-template-columns:260px 1fr;gap:35px;align-items:center}.expert-profile h2{font-size:32px}.expert-placeholder{background:var(--portrait);height:285px;position:relative;overflow:hidden;display:flex;align-items:end}.expert-placeholder svg{width:100%;height:100%}.expert-placeholder span{position:absolute;bottom:12px;left:12px;font-size:11px;color:var(--muted);z-index:1;background:#f6f4f0df;padding:5px 8px}.docs-heading{font-size:21px;margin:26px 0 7px}.document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:17px}.document{display:block;border:1px solid var(--border);background:#f1ede6;padding:10px;text-align:center}.document img{width:100%;height:210px;object-fit:contain;display:block}.document span{font-size:12px;font-weight:700;display:block;margin:9px 0 3px;color:var(--ink)}.expert-text .card-link{margin-top:2px}@media(max-width:720px){.service-gallery{grid-template-columns:1fr}.expert-profile{padding:20px}.expert-profile-top{grid-template-columns:1fr}.expert-placeholder{max-width:360px}.document-grid{grid-template-columns:repeat(2,1fr)}.document img{height:175px}}

/* Отдельные страницы направлений и экспертов */
.back-link{display:inline-block;margin-bottom:30px;font-size:13px;font-weight:800;color:#79613c}
.detail-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center}
.detail-hero img{width:100%;border:1px solid var(--border);border-radius:7px}
.detail-content{max-width:820px}.detail-content p{font-size:17px}
.profile-intro{display:grid;grid-template-columns:290px 1fr;gap:50px;align-items:center;max-width:960px;margin-bottom:68px}
.profile-intro .expert-placeholder{height:320px}.profile-intro h1{font-size:clamp(32px,4vw,55px)}
.profile-doc-section{margin:45px 0 55px;border-top:1px solid var(--border);padding-top:35px}
.profile-doc-section h2{font-size:30px}.profile-doc-section .document-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.service-tile .card-link{margin-top:16px}
@media(max-width:720px){.detail-hero,.profile-intro{grid-template-columns:1fr;gap:24px}
.profile-intro .expert-placeholder{max-width:340px}.profile-doc-section .document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Просмотр документов во всплывающей галерее */
.profile-doc-section a.document{cursor:zoom-in}
.gallery-open{overflow:hidden}
.gallery-overlay[hidden]{display:none}
.gallery-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;color:white}
.gallery-backdrop{position:absolute;inset:0;background:rgba(8,17,27,.94)}
.gallery-content{position:relative;z-index:1;display:flex;flex-direction:column;width:min(100%,1080px);height:min(95vh,920px);padding:8px 12px}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:4px 2px 8px}
.gallery-counter{font-size:14px;color:#d9d9d9;font-weight:700}
.gallery-close,.gallery-prev,.gallery-next{cursor:pointer;background:#25374a;border:1px solid #607184;color:white;border-radius:5px;font-size:30px;line-height:1;width:48px;height:48px;flex-shrink:0}
.gallery-close{font-size:22px;width:42px;height:42px}
.gallery-prev:disabled,.gallery-next:disabled{opacity:.3;cursor:default}
.gallery-stage{display:flex;align-items:center;justify-content:center;gap:14px;min-height:0;flex:1}
.gallery-image{max-height:100%;max-width:calc(100% - 124px);width:auto;height:auto;object-fit:contain;background:#fffdfa;box-shadow:0 10px 42px #0009}
.gallery-caption{text-align:center;color:white;margin:12px 0 0;font-size:15px;font-weight:700}
.gallery-help{text-align:center;color:#b5c0c7;margin:0;font-size:12px}
.gallery-overlay button:focus-visible{outline:3px solid #b59b70;outline-offset:3px}
@media(max-width:620px){.gallery-overlay{padding:8px}.gallery-content{padding:4px;height:96vh}.gallery-stage{gap:4px}.gallery-prev,.gallery-next{width:32px;height:44px;font-size:25px}.gallery-image{max-width:calc(100% - 72px)}.gallery-help{font-size:11px}}

/* Демонстрационные реальные фотографии вместо декоративных портретов */
.portrait{height:265px;position:relative}.portrait .stock-person-photo{width:100%;height:100%;object-fit:cover;object-position:center 24%;display:block;max-height:none}.portrait .stock-photo-note{position:absolute;left:10px;right:10px;bottom:10px;width:auto;z-index:2;background:rgba(17,23,25,.88);color:#fff;font-size:10px;letter-spacing:0;text-transform:none;line-height:1.45;padding:8px 10px}.expert-placeholder{align-items:stretch}.expert-placeholder .stock-person-photo{width:100%;height:100%;object-fit:cover;object-position:center 25%;display:block}.expert-placeholder .stock-photo-note{position:absolute;z-index:3;left:10px;bottom:10px;right:10px;background:rgba(17,23,25,.89);color:#fff;font-size:11px;padding:9px;line-height:1.4}.service-card.illustrated>img,.service-tile>img{object-fit:cover}.detail-hero img{aspect-ratio:4/3;object-fit:cover}.hero-art{aspect-ratio:4/3;object-fit:cover}


/* Локальные сгенерированные изображения */
.generated-person-photo,
.stock-person-photo{width:100%;height:100%;object-fit:cover;display:block}
.portrait,.expert-placeholder{overflow:hidden}
.portrait img,.expert-placeholder img{width:100%;height:100%;object-fit:cover;display:block}
.service-card img,.service-tile img,.detail-hero img{object-fit:cover}


/* Исправление отображения фотографий специалистов */
.experts{gap:22px}
.portrait{
  min-height: 380px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:18px 18px 42px;
  background: linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.08)), var(--portrait);
}
.portrait img,
.generated-person-photo,
.stock-person-photo{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center top;
  display:block;
}
.portrait span{
  left:14px;
  bottom:12px;
  background: rgba(255,255,255,.92);
  padding:6px 10px;
  border-radius:4px;
}

.profile-intro{
  grid-template-columns:360px 1fr;
  align-items:start;
}
.profile-intro .expert-placeholder{
  height:460px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:20px 20px 44px;
  background: linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.08)), var(--portrait);
}
.profile-intro .expert-placeholder img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center top;
  display:block;
}
.profile-intro .expert-placeholder span{
  left:14px;
  bottom:12px;
  background: rgba(255,255,255,.92);
  padding:6px 10px;
  border-radius:4px;
}

@media (max-width: 980px){
  .portrait{min-height:340px}
  .profile-intro{grid-template-columns:320px 1fr;gap:32px}
  .profile-intro .expert-placeholder{height:410px}
}

@media (max-width: 720px){
  .experts{grid-template-columns:1fr}
  .portrait{min-height:420px}
  .profile-intro{grid-template-columns:1fr;gap:24px}
  .profile-intro .expert-placeholder{
    max-width:420px;
    width:100%;
    height:480px;
    margin:0 auto;
  }
}

/* Развёрнутые тексты страниц: финальная редакция */
.longread{max-width:860px;margin:48px auto 0}
.longread-section{background:var(--card);border:1px solid var(--border);padding:27px 32px;margin:0 0 16px;border-left:3px solid var(--accent)}
.longread-section h2{font-size:25px;margin-bottom:12px}
.longread-section p{font-size:15.5px;line-height:1.8;margin:0}
.longread-section ul{margin:0;padding-left:21px;color:var(--muted)}
.longread-section li{margin-bottom:9px;line-height:1.7}
@media(max-width:720px){.longread-section{padding:22px 20px}.longread-section h2{font-size:22px}}

/* Кликабельные фотографии и заголовки карточек */
.card-image-link{display:block;overflow:hidden}
.card-image-link img{display:block;width:100%;transition:transform .2s ease}
.card-image-link:hover img{transform:scale(1.025)}
.card-title-link{color:inherit;text-decoration:none}
.card-title-link:hover,.card-title-link:focus-visible{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.expert-image-link{display:block;width:100%;height:100%;min-height:0;position:relative;z-index:0}
.expert-image-link img{width:100%;height:100%;object-fit:contain;object-position:center top;display:block}
.expert-image-link:hover img{filter:brightness(.96)}
.card-image-link:focus-visible,.expert-image-link:focus-visible,.card-title-link:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* Сплошное текстовое описание: без карточек внутри подробных страниц */
.longread{max-width:880px;margin:36px auto 0}
.longread h3{font-size:22px;line-height:1.35;margin:30px 0 10px;color:var(--ink);letter-spacing:-.018em}
.longread p{font-size:16px;line-height:1.85;color:var(--muted);margin:0 0 15px}
.longread ul,.longread ol{padding-left:25px;margin:0 0 22px;color:var(--muted);line-height:1.75}
.longread li{margin-bottom:8px}
.longread > h2{margin-bottom:19px}
@media(max-width:720px){.longread{margin-top:24px}.longread h3{font-size:20px;margin-top:25px}}


/* Краповый + золото: финальная экспериментальная тема */
:root{--crimson:#4a1c2a;--crimsonDeep:#31151f;--crimsonLight:#682b3c;--gold:#c5a26a;--goldLight:#e2c692}
.header{background:var(--crimson);border-bottom:1px solid rgba(226,198,146,.38);box-shadow:0 8px 30px rgba(33,13,19,.16)}
.header .brand,.header nav a,.header .nav-phone,.header .menu-toggle{color:#fff7f1}
.header .brand .symbol{color:var(--goldLight)}
.header nav a.current,.header nav a:hover,.header .nav-phone:hover{color:var(--goldLight)}
.header nav a.current{border-bottom:2px solid var(--goldLight);padding-bottom:6px}
.hero{background:radial-gradient(ellipse at 90% 10%,rgba(166,96,105,.18),transparent 55%),linear-gradient(130deg,var(--crimsonDeep),var(--crimson) 55%,#602838);color:#fff9f4;position:relative}
.hero::before{content:'';position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.85}
.hero h1{color:#fff9f4}
.hero p,.hero .lead{color:#f1e5e5}
.hero .eyebrow{color:var(--goldLight)}
.hero .btn.ghost{color:#fff9f4;border-color:rgba(226,198,146,.5)}
.hero .btn.ghost:hover{background:rgba(255,255,255,.09)}
.hero-art{border:2px solid rgba(226,198,146,.65);box-shadow:0 25px 65px rgba(15,5,9,.4)}
.btn{background:var(--gold);border-color:var(--gold);color:#24151b}
.btn:hover{filter:brightness(1.07)}
.btn.ghost{background:transparent;border-color:#b9a9aa;color:var(--ink)}
.eyebrow{color:#8b5362}
.section.alt{background:var(--soft)}
main > .section:first-child{border-top:9px solid var(--crimsonLight)}
main > .section:first-child .eyebrow{color:#8b5362}
main > .section:first-child h1{border-left:5px solid var(--gold);padding-left:20px}
.benefit{border-top-color:var(--gold)}
.card-link,.back-link{color:#7d3446}
.card-link:hover,.back-link:hover{color:#4a1c2a}
.service-tile,.expert,.service-card,.document{box-shadow:0 6px 24px rgba(47,18,27,.035)}
.service-tile:hover,.expert:hover,.service-card.illustrated:hover{border-color:rgba(157,96,72,.42)}
.cta{background:linear-gradient(110deg,var(--crimsonDeep),var(--crimsonLight));color:#fff}
.cta h2,.cta .eyebrow{color:#fff3e4}
.cta .eyebrow{color:var(--goldLight)}
.cta p{color:#ead9dd}
.footer{background:var(--footer);border-top:5px solid var(--gold)}
.footer strong{color:var(--goldLight)}
.gallery-backdrop{background:rgba(24,9,15,.96)}
.gallery-close,.gallery-prev,.gallery-next{background:var(--crimson);border-color:var(--gold)}
.gallery-overlay button:focus-visible{outline-color:var(--goldLight)}
.document{background:#f3ebe5}
.expert-text small{color:#7c3c50}
.stock-photo-note{background:rgba(255,250,246,.95)!important;color:#3e222b!important}
@media(max-width:720px){
 .header nav{background:var(--crimsonDeep);border-bottom:1px solid var(--gold)}
 .header nav a.current{border-bottom:0;border-left:3px solid var(--gold);padding:4px 10px}
 main > .section:first-child h1{padding-left:15px}
}

/* Возврат светлого первого экрана по утверждённому образцу.
   Краповая шапка, золото и остальные страницы сохраняются. */
.hero{background:var(--bg);color:var(--ink)}
.hero::before{display:none}
.hero h1{color:var(--ink)}
.hero p,.hero .lead{color:var(--muted)}
.hero .eyebrow{color:#8b5362}
.hero .btn.ghost{color:var(--ink);border-color:var(--border);background:transparent}
.hero .btn.ghost:hover{background:var(--soft)}
.hero-art{border:0;box-shadow:0 28px 70px #0002}


/* ===================== 2026-10 — единая типографика ===================== */
:root {
  --font-site: 'Manrope', 'Segoe UI', Arial, sans-serif;
  --text-base: 16px;
}
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body, button, input, textarea, select {
  font-family: var(--font-site);
  font-size: var(--text-base);
}
body { line-height: 1.7; font-weight: 400; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6, strong, .btn, .brand, .benefit strong {
  font-family: var(--font-site);
}
h1, h2, h3 { text-wrap: balance; }
h1 { font-weight: 800; line-height: 1.14; letter-spacing: -.038em; }
h2 { font-weight: 800; line-height: 1.2; letter-spacing: -.026em; }
h3 { font-weight: 700; line-height: 1.36; letter-spacing: -.012em; }
p, li { line-height: 1.75; }
p { margin-bottom: 1em; }
.lead { font-size: 18px; line-height: 1.75; font-weight: 400; }
.hero h1 { font-size: clamp(38px, 4.9vw, 65px); max-width: 700px; }
.section h1 { font-size: clamp(37px, 4.3vw, 56px); max-width: 920px; }
.narrow h1 { font-size: clamp(35px, 4.2vw, 45px); }
.profile-intro h1 { font-size: clamp(34px, 4vw, 53px); }
.section h2, .cta h2 { font-size: clamp(29px, 3.4vw, 44px); }
.service-tile h2 { font-size: clamp(23px, 2.4vw, 28px); }
.expert-profile h2 { font-size: clamp(26px, 3vw, 32px); }
.longread h3 { font-size: 21px; line-height: 1.4; }
.longread p, .longread li { font-size: 16px; line-height: 1.8; }
.longread-section h2 { font-size: 25px; }
.longread-section p { font-size: 16px; }
.service-tile p, .service-card p, .benefit p, .expert-text p, .footer p {
  font-size: 15px; line-height: 1.68;
}
.service-card .index, .eyebrow { letter-spacing: .15em; }
.btn { font-size: 13px; letter-spacing: .01em; line-height: 1.4; }
nav a, .footer a { line-height: 1.5; }

/* ===================== Навигация и контакты в подвале ===================== */
.nav { gap: 30px; }
nav a:focus-visible, .footer a:focus-visible {
  outline: 2px solid var(--goldLight); outline-offset: 4px;
}
.footer-heading { display: block; font-size: 13px; font-weight: 800; color: var(--goldLight); margin: 0 0 12px; }
.footer-links { display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.footer-links a { color: #fff8f2; font-size: 14px; }
.footer-contacts a { color: #fff8f2; font-size: 14px; overflow-wrap: anywhere; }
.footer-links a:hover, .footer-contacts a:hover { color:var(--goldLight); }

/* ===================== Страница контактов без формы ===================== */
.contact-section .lead { max-width: 740px; margin-bottom: 34px; }
.contact-methods { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; max-width: 900px; }
.contact-method {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  min-width: 0;
  padding: 30px;
  background: var(--card);
  border: 1px solid var(--border);
  border-top: 3px solid var(--gold);
  text-decoration: none;
  transition: box-shadow .2s, transform .2s;
}
.contact-method:hover { text-decoration: none; box-shadow: 0 10px 30px #2f121b12; transform: translateY(-2px); }
.contact-method:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.contact-method-label { color: #805066; letter-spacing: .13em; text-transform: uppercase; font-size: 11px; font-weight: 800; }
.contact-method strong { font-size: clamp(19px, 2.35vw, 27px); letter-spacing: -.02em; line-height: 1.3; overflow-wrap: anywhere; }
.contact-method-action { color: #7d3446; font-size: 13px; font-weight: 800; }
.contact-legal { margin-top: 56px; padding-top: 28px; border-top: 1px solid var(--border); }
.contact-legal h2 { font-size: 25px; margin: 0 0 19px; }
.contact-legal p { margin: 0 0 6px; }
.contact-legal .note { margin-top: 16px; }

@media (max-width: 1080px) {
  .nav { gap: 14px; }
  .nav nav { gap: 14px; }
  .nav nav a { font-size: 12px; }
  .brand { font-size: 11px; }
  .brand small { font-size: 10px; }
}
@media (max-width: 980px) {
  .nav { display:grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px 14px; min-height: 0; padding-top: 14px; padding-bottom: 11px; }
  .brand { grid-column: 1; grid-row: 1; }
  .menu-toggle { display: block; grid-column: 2; grid-row: 1; justify-self: end; }
  .nav nav { display:none; position:absolute; top:100%; left:0; right:0; padding:18px 28px; flex-direction:column; align-items:stretch; box-shadow:0 20px 40px #0002; }
  .nav nav.open { display:flex; }

}
@media(max-width:720px) {
  .hero h1 { font-size: clamp(37px, 8vw, 47px); }
  .section h1 { font-size: clamp(34px, 7.6vw, 43px); }
  .section h2,.cta h2 { font-size: clamp(28px, 6.3vw, 35px); }
  .profile-intro h1 { font-size: clamp(32px, 7.5vw, 42px); }
  .lead { font-size: 17px; }
  .nav nav { padding-left: 19px; padding-right: 19px; }
  .contact-methods { grid-template-columns: 1fr; }
  .contact-method { padding: 24px; }
  .contact-legal { margin-top: 42px; }
}


/* Длинные ссылки и реквизиты не должны расширять экран на смартфонах. */
.longread p,.longread li,.narrow p,.contact-legal p { overflow-wrap:anywhere; }
/* Длинные заголовки на узких экранах. */
h1,h2,h3 { overflow-wrap:anywhere; hyphens:auto; }


/* ==================== Политика и cookie consent ==================== */
.footer-bottom { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:12px 25px; }
.footer-legal-links { display:flex; align-items:center; flex-wrap:wrap; gap:8px 20px; }
.footer-legal-links a, .footer-legal-links button { color:#f8e0bc; font-size:12px; line-height:1.55; margin:0; }
.footer-legal-links button { background:none; border:0; font:inherit; font-size:12px; padding:0; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.footer-legal-links a:focus-visible, .footer-legal-links button:focus-visible {outline:2px solid var(--goldLight);outline-offset:4px;}
.cookie-settings-trigger[hidden] {display:none;}
.privacy-page { max-width:880px; }
.privacy-page .privacy-lead { color:var(--ink); font-size:19px; font-weight:650; margin:0 0 8px; }
.privacy-updated {font-size:13px; color:var(--muted); margin-bottom:27px;}
.privacy-summary {border-left:4px solid var(--gold); background:var(--soft); padding:20px 24px; margin-bottom:36px;}
.privacy-summary strong {display:block; margin-bottom:9px; color:var(--ink);}
.privacy-summary p {margin:0;}
.privacy-page h2 {font-size:clamp(23px,2.7vw,29px); margin:37px 0 15px;}
.privacy-page ul {padding-left:24px; color:var(--muted);}
.privacy-page li {margin:0 0 11px;line-height:1.75;overflow-wrap:anywhere;}
.privacy-page p {line-height:1.78;overflow-wrap:anywhere;}
.privacy-page a:not(.btn) {color:#7d3446; text-decoration:underline; text-underline-offset:3px;}
.privacy-page code {background:#efe4df; padding:1px 5px; border-radius:3px;}
.cookie-banner[hidden] {display:none;}
.cookie-banner {position:fixed; left:max(16px,env(safe-area-inset-left)); right:max(16px,env(safe-area-inset-right)); bottom:16px; z-index:9997; max-width:960px; margin:0 auto; padding:19px 22px; background:#fffdfa; color:var(--ink); border:1px solid #d6c0a6; border-left:5px solid var(--gold); box-shadow:0 12px 50px #2113183c; border-radius:7px; display:flex; align-items:center; justify-content:space-between; gap:22px;}
.cookie-banner .cookie-title {display:block; font-size:15px; margin-bottom:5px;}
.cookie-banner p {margin:0; font-size:13px; line-height:1.5; color:var(--muted);}
.cookie-banner p a {color:#7d3446; text-decoration:underline;}
.cookie-actions {display:flex; gap:9px; flex-shrink:0;}
.cookie-actions button {background:var(--crimson); color:#fff; padding:10px 13px; border:1px solid var(--crimson); border-radius:4px; font-size:12px; font-weight:700; cursor:pointer;}
.cookie-actions button.cookie-decline {background:transparent; color:var(--ink); border-color:var(--border);}
.cookie-actions button:focus-visible {outline:3px solid var(--gold); outline-offset:3px;}
@media (max-width:680px) {.footer-bottom{flex-direction:column;}.cookie-banner{align-items:stretch;flex-direction:column;gap:14px;padding:16px;}.cookie-actions{width:100%;}.cookie-actions button{flex:1;}}
@media (max-width:350px) {.cookie-actions{flex-direction:column;}}
