:root { --paper:#f6f1e9; --cream:#fffcf7; --ink:#302d29; --muted:#6e665e; --line:#ded6cb; --coral:#df7459; --coral-dark:#b9513c; --olive:#6d765b; --soft:#eee4d8; --radius:22px; }
* {box-sizing:border-box}
html {scroll-behavior:smooth}
body {margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
a {color:inherit}
button {font:inherit}
::selection {background:#eab7a7}
.wrap {width:min(1160px,calc(100% - 48px));margin:auto}
.nav {position:sticky;top:0;z-index:10;background:rgba(246,241,233,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.nav-inner {display:flex;align-items:center;justify-content:space-between;min-height:77px;gap:20px}
.logo {font-weight:800;font-size:24px;letter-spacing:-1px;text-decoration:none}
.logo span {color:var(--coral)}
.nav-links {display:flex;gap:26px;align-items:center;font-size:13px;font-weight:700}
.nav-links a {text-decoration:none}
.nav-links a:not(.nav-cta):hover {text-decoration:underline}
.nav-cta {border:1px solid var(--ink);border-radius:100px;padding:11px 17px}
.hero {padding:90px 0 106px;overflow:hidden}
.hero-grid {display:grid;grid-template-columns:1.18fr .82fr;gap:45px;align-items:center}
.eyebrow {text-transform:uppercase;letter-spacing:2.2px;font-size:11px;font-weight:800;color:var(--olive);margin:0 0 22px}
.hero h1,.section h2,.outro h2 {font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.07;letter-spacing:-2.6px;margin:0}
.hero h1 {font-size:clamp(53px,6.5vw,91px)}
.hero h1 em,.about-copy h2 em {font-weight:400;color:var(--coral);font-style:italic}
.lead {font-size:20px;max-width:570px;margin:28px 0 30px;color:#4d4841}
.actions {display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.btn {border:1px solid var(--ink);background:var(--ink);color:white;border-radius:100px;text-decoration:none;padding:16px 23px;font-weight:700;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:12px;cursor:pointer}
.btn:hover {background:#4c4138}
.btn.light {background:transparent;color:var(--ink)}
.btn.light:hover {background:var(--soft)}
.tiny {font-size:12px;color:var(--muted);margin-top:24px}
.portrait {min-height:510px;background:#dcc9b8;border-radius:220px 220px 30px 30px;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.portrait:before {content:"";position:absolute;width:410px;height:410px;border-radius:50%;background:#e8d7c6;top:48px;right:-100px}
.portrait .placeholder {position:relative;z-index:1;border:1px dashed #887664;border-radius:18px;padding:22px;max-width:240px;font-size:15px;color:#695747;background:#f6f1e9bd}
.scribble {position:absolute;bottom:22px;left:26px;transform:rotate(-7deg);font-family:Georgia,serif;font-style:italic;color:#694e40;font-size:19px}
.star {position:absolute;right:20px;top:35px;font-size:45px;color:#fff3e5}
.strip {background:var(--ink);color:#fff;padding:19px 0}
.strip-inner {display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;font-size:12px;letter-spacing:.6px;font-weight:700}
.strip span:before {content:"✳";color:#f2a38c;padding-right:14px}
.section {padding:105px 0}
.section h2 {font-size:clamp(41px,5vw,66px);max-width:780px}
.section-head {display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:42px}
.section-head p {max-width:360px;color:var(--muted);margin:0}
.issues {display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.issue {padding:30px 26px;background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);min-height:228px}
.issue b {display:block;color:var(--coral);font-family:Georgia,serif;font-size:34px;font-weight:400;margin-bottom:24px}
.issue h3 {font-size:20px;line-height:1.25;margin:0 0 12px}
.issue p {font-size:14px;color:var(--muted);margin:0}
.consult {background:#e8dfd1}
.consult-grid {display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}
.consult .summary {font-size:18px;max-width:520px;margin:27px 0}
.price {display:inline-block;font-size:38px;font-family:Georgia,serif;margin:0 0 8px}
.price-note {display:block;color:var(--muted);font-size:12px;margin-bottom:28px}
.steps {counter-reset:item;display:grid;gap:0}
.step {position:relative;border-bottom:1px solid #c8bdad;padding:23px 0 23px 57px}
.step:first-child {border-top:1px solid #c8bdad}
.step:before {counter-increment:item;content:"0" counter(item);position:absolute;left:0;top:22px;font-family:Georgia,serif;font-size:22px;color:var(--coral-dark)}
.step h3 {margin:0 0 5px;font-size:17px}
.step p {margin:0;font-size:14px;color:#655b50}
.about-grid {display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;align-items:start}
.quote-card {background:var(--olive);color:#fff;min-height:490px;border-radius:var(--radius);padding:33px;display:flex;flex-direction:column;justify-content:space-between}
.quote-card .asterisk {font-size:75px;line-height:1}
.quote-card p {font-family:Georgia,serif;font-size:clamp(23px,2.4vw,32px);line-height:1.25;margin:20px 0}
.about-copy p {font-size:18px;max-width:650px}
.about-copy .muted {font-size:15px;color:var(--muted)}
.services {background:var(--cream)}
.service-list {border-top:1px solid var(--line)}
.service {display:grid;grid-template-columns:70px 1fr 1fr;gap:20px;padding:26px 0;border-bottom:1px solid var(--line);align-items:center}
.service .number {font-family:Georgia,serif;color:var(--coral);font-size:27px}
.service h3 {margin:0;font-family:Georgia,serif;font-size:29px;font-weight:400}
.service p {margin:0;color:var(--muted);font-size:14px}
.reviews {background:#efe6d9}
.review-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.review-shot {margin:0;background:#fff8ef;border:1px solid #ded1c0;border-radius:24px;padding:10px;box-shadow:0 10px 30px rgba(48,45,41,.05)}
.review-shot img {display:block;width:100%;height:auto;border-radius:18px}
.proof-notice {font-size:12px;color:var(--muted);margin:12px 0 22px}
.outro {background:var(--ink);color:var(--cream);padding:93px 0}
.outro-grid {display:grid;grid-template-columns:1fr 1fr;gap:55px}
.outro h2 {font-size:clamp(43px,5.5vw,76px)}
.outro h2 em {color:#efa28c;font-weight:400}
.outro p {color:#ded5c9}
.contact-card {background:#494039;border-radius:var(--radius);padding:30px}
.contact-card label {display:block;margin-bottom:8px;font-size:13px;color:#f2e7d8}
.contact-card input,.contact-card textarea {width:100%;padding:13px 15px;border:1px solid #83756c;background:#fffaf3;color:var(--ink);border-radius:10px;font:inherit;margin-bottom:18px}
.contact-card textarea {min-height:100px;resize:vertical}
.contact-card .btn {background:#e79981;border-color:#e79981;color:#29221d}
.contact-card .btn:hover {background:#f2ad97}
.privacy-consent {display:flex!important;align-items:flex-start;gap:10px;font-size:12px!important;line-height:1.5;color:#f2e7d8!important;margin:5px 0 14px!important}.privacy-consent input {width:18px!important;height:18px;flex:0 0 18px;margin:1px 0 0!important;accent-color:#e79981}.privacy-consent a {color:#fff;text-underline-offset:3px}.privacy-consent span {flex:1}
.contact-card small {display:block;color:#e0d1c2;font-size:11px;margin-top:15px}
.status {font-size:12px;color:#ffdfb7;min-height:22px;margin:10px 0 0}
.footer {background:#272521;color:#b6aa9f;padding:24px 0;font-size:12px}
.footer .wrap {display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
#about,#consultation,#services,#reviews,#contact,#for-whom {scroll-margin-top:85px}
@media(max-width:850px) {
  .nav-links{display:none}
  .hero{padding:52px 0 70px}
  .hero-grid,.consult-grid,.about-grid,.outro-grid{grid-template-columns:1fr;gap:38px}
  .portrait{min-height:360px;max-width:480px;width:100%;margin:auto}
  .hero h1{font-size:clamp(52px,11vw,75px)}
  .section{padding:75px 0}
  .issues{grid-template-columns:1fr 1fr}
  .section-head{display:block}
  .section-head p{margin-top:18px}
  .service{grid-template-columns:45px 1fr;gap:10px}
  .service p{grid-column:2}
  .outro{padding:72px 0}
  .review-grid{grid-template-columns:1fr}
  .quote-card{min-height:370px}
}
@media(max-width:560px) {
  .wrap{width:min(100% - 36px,1160px)}
  .nav-inner{min-height:66px}
  .logo{font-size:21px}
  .nav-cta{padding:9px 11px}
  .hero h1{letter-spacing:-1.8px}
  .lead{font-size:17px}
  .portrait{min-height:315px}
  .strip-inner{gap:12px;flex-direction:column}
  .section h2{letter-spacing:-1.5px}
  .issues{grid-template-columns:1fr}
  .issue{min-height:auto}
  .service h3{font-size:24px}
  .contact-card{padding:23px}
  .btn{width:100%}
  .actions{display:grid}
  .quote-card{min-height:380px}
  .review-shot{padding:8px;border-radius:18px}
  .review-shot img{border-radius:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Photo uses the original photograph, not an AI reconstruction. */
.portrait { background:#e9e2d8; min-height:510px; border-radius:24px; display:block; overflow:hidden; position:relative; }
.portrait:before { content:none; }
.portrait-photo { width:100%; height:510px; object-fit:cover; object-position:52% 36%; display:block; filter:brightness(1.055) contrast(1.025) saturate(.95); }
.portrait-caption { position:absolute; bottom:16px; left:16px; right:16px; margin:0; padding:14px 16px; border-radius:13px; background:rgba(255,252,247,.96); color:var(--ink); font:normal 14px/1.42 Arial,Helvetica,sans-serif; text-align:left; }
.issues { grid-template-columns:repeat(3,minmax(0,1fr)); }
.issue { overflow-wrap:break-word; }
.threads-link { margin-top:12px; }
.footer a { color:inherit; }
@media(max-width:850px) { .portrait { min-height:0; } .portrait-photo { height:480px; } .issues { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px) { .portrait-photo { height:460px; } .portrait-caption { font-size:12px; padding:11px; left:10px; right:10px; bottom:10px; } .issues { grid-template-columns:1fr; } }

/* Блок результатов: без логотипов, клиентских имён и декоративной графики */
.result-box{margin:0 0 28px;padding:24px 26px;border:1px solid #c8bdad;border-radius:18px;background:#f6f1e9}
.result-box h3{font:400 27px/1.2 Georgia,serif;margin:0 0 10px}
.result-box p{margin:12px 0 0;font-size:15px;line-height:1.6;color:#5b544a}
.result-list{padding-left:22px;margin:16px 0 20px;color:#5b544a;font-size:15px;line-height:1.6}.result-list li+li{margin-top:10px}.case-intro{max-width:760px;margin:0 0 32px}.case-intro p{font-size:16px;line-height:1.65;margin:0 0 12px}
.cases{background:#f6f1e9}
.cases-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.case-card{padding:29px;background:var(--cream);border:1px solid var(--line);border-radius:var(--radius)}
.case-kicker{font-size:11px;letter-spacing:1.1px;text-transform:uppercase;color:var(--olive);font-weight:700}
.case-stat{font:400 clamp(44px,4.8vw,66px)/1.1 Georgia,serif;color:var(--coral-dark);margin:24px 0 10px}
.case-stat-word{font-size:clamp(33px,3.5vw,45px)}
.case-card h3{font-size:20px;line-height:1.3;margin:0 0 14px}
.case-card p{font-size:14px;color:var(--muted);margin:0}
.case-disclaimer{font-size:12px;color:var(--muted);margin:24px 0 0;max-width:780px}
@media(max-width:850px){.cases-grid{grid-template-columns:1fr}}

/* Frequently asked questions */
.faq{background:var(--paper)}
.faq-list{max-width:850px;border-top:1px solid var(--line)}
.faq-item{padding:25px 0;border-bottom:1px solid var(--line)}
.faq-item h3{font-size:19px;line-height:1.3;margin:0 0 9px;font-weight:700}
.faq-item p{font-size:16px;color:var(--muted);margin:0}
/* Review screenshots: click or tap to view at full size */
.review-open{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;text-align:left;border-radius:18px}
.review-open:focus-visible,.review-close:focus-visible{outline:3px solid var(--coral);outline-offset:4px}
.review-open img{display:block;width:100%;height:auto;border-radius:18px}
.review-zoom{border:0;max-width:min(96vw,980px);max-height:96dvh;width:100%;background:var(--cream);border-radius:18px;padding:46px 14px 14px;box-shadow:0 20px 90px rgba(0,0,0,.4);overflow:auto}
.review-zoom::backdrop{background:rgba(22,21,19,.82)}
.review-zoom img{display:block;width:auto;max-width:100%;height:auto;max-height:calc(96dvh - 70px);margin:auto;object-fit:contain}
.review-close{position:absolute;top:3px;right:4px;width:40px;height:40px;border:0;background:transparent;color:var(--muted);border-radius:50%;padding:0;cursor:pointer;font-size:26px;line-height:1}
.review-close:hover{color:var(--ink)}
#faq{scroll-margin-top:85px}
@media(max-width:560px){.review-zoom{padding:43px 8px 8px;max-width:99vw;max-height:98dvh}.review-zoom img{max-height:calc(98dvh - 60px)}}

/* Accessible mobile navigation. Section labels mirror their visible eyebrow headings. */
.menu-toggle{display:none;appearance:none;background:transparent;border:1px solid var(--ink);color:var(--ink);width:48px;height:44px;border-radius:12px;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.menu-toggle:focus-visible,.nav-links a:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
.burger-lines{display:flex;width:21px;flex-direction:column;gap:5px}
.burger-lines span{display:block;width:100%;height:2px;background:currentColor;border-radius:2px;transition:transform .15s ease,opacity .15s ease}
.menu-toggle[aria-expanded="true"] .burger-lines span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .burger-lines span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] .burger-lines span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:1100px){
  .nav-inner{position:relative}
  .menu-toggle{display:inline-flex;margin-left:auto}
  .nav-links{display:none;position:absolute;top:100%;right:0;left:0;background:var(--paper);border:1px solid var(--line);border-top:0;border-radius:0 0 18px 18px;box-shadow:0 16px 25px rgba(48,45,41,.12);padding:12px 18px 20px;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 75px);overflow-y:auto;z-index:30}
  .nav-links.is-open{display:flex}
  .nav-links a,.nav-links a:not(.nav-cta){display:block;padding:13px 10px;font-size:16px;text-decoration:none;border-bottom:1px solid var(--line)}
  .nav-links .nav-cta{margin-top:12px;text-align:center;border:1px solid var(--ink);border-radius:100px;padding:12px}
}
@media(max-width:560px){.nav-inner{min-height:66px}.nav-links{max-height:calc(100dvh - 66px)}}

.analytics-banner{position:fixed;bottom:18px;left:18px;right:18px;max-width:650px;z-index:1000;background:#fffcf7;color:#302d29;border:1px solid #ded6cb;box-shadow:0 14px 50px #302d2930;border-radius:18px;padding:20px;font:14px/1.6 Arial,sans-serif}
.analytics-banner[hidden]{display:none}.analytics-banner p{margin:4px 0 14px}.analytics-actions{display:flex;gap:10px;flex-wrap:wrap}.analytics-actions button{padding:10px 17px;border-radius:30px;border:1px solid #302d29;cursor:pointer;font:inherit}#analytics-accept{background:#302d29;color:white}#analytics-reject{background:transparent;color:#302d29}.analytics-settings{background:transparent;border:0;text-decoration:underline;cursor:pointer;color:inherit;font:inherit;padding:0}
@media(max-width:480px){.analytics-banner{padding:14px;font:13px/1.4 Arial,sans-serif;max-height:70vh;overflow:auto}.analytics-banner p{margin:3px 0 10px}.analytics-actions button{padding:8px 14px}}

/* v19 reliable mobile menu: <details> functions without JavaScript. */
.mobile-menu{display:none}
#draft-form{scroll-margin-top:100px}
#contact{scroll-margin-top:85px}
@media(max-width:1100px){
 .nav-inner{position:relative}
 .desktop-nav{display:none!important}
 .mobile-menu{display:block;margin-left:auto;position:relative;z-index:50}
 .menu-summary{list-style:none;display:flex;align-items:center;justify-content:center;width:48px;height:44px;border:1px solid var(--ink);border-radius:12px;cursor:pointer;color:var(--ink);background:var(--paper)}
 .menu-summary::-webkit-details-marker{display:none}
 .menu-summary::marker{content:''}
 .menu-summary:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
 .mobile-menu[open] .menu-summary{background:var(--soft)}
 .mobile-menu[open] .burger-lines span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .mobile-menu[open] .burger-lines span:nth-child(2){opacity:0}
 .mobile-menu[open] .burger-lines span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .mobile-nav{display:flex!important;position:absolute;top:calc(100% + 4px);right:0;left:auto;width:min(340px,calc(100vw - 36px));max-height:calc(100dvh - 80px);overflow-y:auto;background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 30px rgba(48,45,41,.17);padding:12px 18px;flex-direction:column;align-items:stretch;gap:0;z-index:60}
 .mobile-nav a,.mobile-nav a:not(.nav-cta){display:block!important;font-size:16px;padding:12px 10px;border-bottom:1px solid var(--line);text-decoration:none}
 .mobile-nav .nav-cta{margin:12px 0 0;border:1px solid var(--ink);border-radius:100px;text-align:center}
}
@media(min-width:1101px){.desktop-nav{display:flex!important}}

/* Страница политики обработки данных */
.legal{padding:70px 0 90px}
.legal .wrap{display:block;max-width:760px}
.legal h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(32px,5vw,46px);line-height:1.15;margin:0 0 12px}
.legal h2{font-family:Georgia,serif;font-weight:400;font-size:24px;margin:44px 0 12px}
.legal p,.legal li{font-size:16px;line-height:1.7;color:#4d4841}
.legal ul{padding-left:22px}
.legal .updated{color:var(--muted);font-size:14px;margin:0 0 34px}
.legal mark{background:#fbe3c2;padding:1px 6px;border-radius:6px}
.legal a{color:var(--coral-dark)}

/* Окно результата отправки формы и неактивная кнопка. Утверждённый макет: */
/* scratchpad/form-feedback-mockup/index.html, блок «предлагаемые стили». */
.form-result{background:var(--cream);color:var(--ink);border:0;border-radius:var(--radius);width:min(calc(100vw - 36px),400px);padding:30px 28px 26px;text-align:center;box-shadow:0 20px 90px rgba(0,0,0,.45);border-top:8px solid var(--olive)}
.form-result::backdrop{background:rgba(22,21,19,.82)}
.form-result.is-error{border-top-color:var(--coral-dark)}
.form-result-badge{width:64px;height:64px;border-radius:50%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;background:#e7ecdd;color:var(--olive)}
.form-result.is-error .form-result-badge{background:#fbe3da;color:var(--coral-dark)}
.form-result-badge svg{width:30px;height:30px}
.form-result-badge .icon-error{display:none}
.form-result.is-error .form-result-badge .icon-ok{display:none}
.form-result.is-error .form-result-badge .icon-error{display:block}
.form-result-kicker{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:800;color:var(--olive);margin:0 0 8px}
.form-result.is-error .form-result-kicker{color:var(--coral-dark)}
.form-result h3{font:400 27px/1.15 Georgia,serif;margin:0 0 10px}
.form-result-text{font-size:15px;line-height:1.55;color:#4d4841;margin:0 0 22px}
.form-result-action{width:100%}
.form-result.is-error .form-result-action{background:var(--coral-dark);border-color:var(--coral-dark)}
.form-result-alt{margin-top:14px;font-size:13px;color:var(--muted)}
.form-result-alt a{color:var(--coral-dark)}
.form-result-close{position:absolute;top:10px;right:12px;border:0;background:transparent;font-size:22px;line-height:1;color:var(--muted);cursor:pointer}
.contact-card .btn:disabled{background:#6b6058;border-color:#6b6058;color:#b9aca0;cursor:not-allowed}
.form-hint{font-size:12px;color:#ffdfb7;margin:10px 0 0;min-height:18px}
.form-hint.is-ready{color:#cfd8bd}
.btn-spinner{width:14px;height:14px;border-radius:50%;border:2px solid #29221d55;border-top-color:#29221d;display:inline-block;animation:form-result-spin .8s linear infinite}
@keyframes form-result-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.btn-spinner{animation:none}}

/* Нижняя плашка «Хочу на консультацию»: появляется после первого экрана, прячется у формы. */
.cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:900;background:rgba(48,45,41,.96);color:var(--cream);backdrop-filter:blur(8px);border-top:1px solid #4c4138;box-shadow:0 -10px 40px rgba(0,0,0,.25);transform:translateY(100%);transition:transform .3s ease}
.cta-bar[hidden]{display:block;visibility:hidden}
.cta-bar.is-visible{transform:none;visibility:visible}
.cta-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0}
.cta-bar .cta-text{margin:0;font-size:15px;color:#ded5c9}
.cta-bar .cta-text b{color:var(--cream);font-weight:700}
.cta-bar .btn{background:#e79981;border-color:#e79981;color:#29221d;padding:13px 22px;white-space:nowrap}
.cta-bar .btn:hover{background:#f2ad97}
.cta-bar .btn:focus-visible{outline:3px solid var(--cream);outline-offset:3px}
@media(max-width:560px){.cta-bar .wrap{padding:10px 0}.cta-bar .cta-text{display:none}.cta-bar .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.cta-bar{transition:none}}
/* Пока плашка есть на странице, футер и окно согласия поднимаются над ней. */
body.has-cta-bar .footer{padding-bottom:94px}
body.has-cta-bar .analytics-banner{bottom:88px}
@media(max-width:560px){body.has-cta-bar .footer{padding-bottom:90px}body.has-cta-bar .analytics-banner{bottom:82px}}
