/* Original Online Personal refresh: clear hierarchy, compact actions, calm surfaces. */
.op-ux {--op-paper:#f6f5f1;--op-blue:#edf3f8;--op-mint:#edf8ef;--op-ink:#1d2926;--op-muted:#53635c;--op-line:#dce5df;color:var(--op-ink);background:#fff}
.op-ux .section{padding-block:48px}
.op-ux h1,.op-ux h2{letter-spacing:-.035em}
.op-ux h2{font-size:clamp(26px,3vw,38px);margin-bottom:24px}
.op-ux .section-lead{max-width:720px;font-size:16px;line-height:1.55}
.op-ux .eyebrow{font-weight:700}
.op-ux .button{min-height:48px;border-radius:12px;padding:14px 22px;font-size:15px}
.op-ux .button--outline{background:#fff;color:var(--op-ink);border:1px solid #cbd8d0}
.op-ux .button:hover{filter:brightness(.98)}
.op-ux a:focus-visible,.op-ux button:focus-visible,.op-ux summary:focus-visible,.op-ux input:focus-visible,.op-ux select:focus-visible{outline:3px solid #1e7545;outline-offset:3px}
.op-ux .home-hero{background:var(--op-paper);padding:48px 0}
.op-ux .home-hero h1{font-size:clamp(36px,4.5vw,62px);line-height:1.08;margin:12px 0 20px}
.op-ux .home-hero .lead{font-size:18px;line-height:1.5;max-width:550px}
.op-ux .home-hero__grid{gap:36px;grid-template-columns:1.1fr .9fr}
.op-ux .home-hero__offer strong,.op-ux .service-price strong{font-size:30px;line-height:1.2;color:var(--op-ink)}
.op-ux .home-hero__offer p,.op-ux .service-price p{font-size:13px;line-height:1.45;color:var(--op-muted);margin-top:8px}
.op-ux .home-hero__offer ul{margin:16px 0}
.op-hero-photo{border-radius:24px;min-height:370px;background:#e9ebe5}
.op-hero-photo figcaption{background:#ffffffed;backdrop-filter:blur(8px)}
.op-hero-photo figcaption small{display:none}
.op-ux .service-hero{background:var(--op-paper);color:var(--op-ink);min-height:0;padding:0}
.op-ux .service-hero .hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:36px;min-height:0;align-items:center}
.op-ux .service-hero .hero__grid>div{padding:40px 0}
.op-ux .service-hero picture{position:relative;z-index:auto;inset:auto;display:block;order:2;border-radius:22px;overflow:hidden;height:400px;margin-block:32px}
.op-ux .service-hero picture::after{display:none}
.op-ux .service-hero .hero__image{height:100%;object-fit:cover;border-radius:0}
.op-ux .service-hero h1{color:var(--op-ink);font-size:clamp(32px,3.4vw,50px);line-height:1.12}
.op-ux .service-hero .lead{font-size:17px;line-height:1.5;color:var(--op-muted);margin-top:18px}
.op-ux .service-kicker,.op-ux .service-breadcrumbs,.op-ux .service-breadcrumbs a,.op-ux .service-breadcrumbs__mobile{color:#3a6450}
.op-ux .service-hero .service-benefits{color:var(--op-ink);font-size:13px;gap:8px 15px;margin-top:18px}
.op-ux .service-hero__actions{gap:10px;margin-top:22px}
.op-ux .service-price{margin-top:22px}
.op-ux .city-hero,.op-ux .hero--compact{background:var(--op-paper);padding:42px 0}
.op-ux .city-hero h1{font-size:clamp(36px,4vw,56px);line-height:1.12}
.op-ux .service-offer{background:#fff;border:1px solid var(--op-line);border-radius:18px;box-shadow:none}
.op-ux .service-offer>strong{font-size:25px;color:var(--op-ink)}
.op-ux .section--soft{background:var(--op-paper)}
.op-ux .home-catalog{background:#fff}
.op-ux .catalog-group:nth-child(odd){background:var(--op-blue)}
.op-ux .catalog-group:nth-child(even){background:var(--op-paper)}
.op-ux .service-card,.op-ux .city-service-card,.op-ux .feature-card,.op-ux .card{border:1px solid var(--op-line);border-radius:16px;background:#fff;box-shadow:none}
.op-ux .service-card,.op-ux .city-service-card{padding:20px}
.op-ux .service-task{padding:22px}
.op-ux .service-task p{font-size:15px;line-height:1.55;margin-top:8px}
.op-ux .service-task-grid{gap:16px}
.op-ux .section--proof{background:var(--op-blue);padding:32px 0}
.op-ux .section--proof::before{display:none}
.op-ux .section--proof .eyebrow{display:none}
.op-ux .section--proof h2{font-size:24px;margin-bottom:20px}
.op-ux .feature-card--proof{background:transparent;border:0;padding:10px;min-height:0}
.op-ux .feature-card--proof strong{font-size:16px}
.op-ux .feature-card__icon{background:#fff;border-radius:12px}
.op-ux .op-compact-steps{background:#fff;padding:34px 0}
.op-ux .op-compact-steps h2{font-size:24px}
.op-ux .op-compact-steps .feature-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--op-paper)}
.op-ux .op-compact-steps .step-diamond{transform:none;box-shadow:none;margin:0;border-radius:50%;width:34px;height:34px;flex:0 0 34px;background:#dff3e5}
.op-ux .op-compact-steps .step-diamond span{transform:none}
.op-ux .op-compact-steps strong{font-size:15px}
.op-ux .op-intake{background:var(--op-paper);padding:34px 0}
.op-ux .op-intake h2{font-size:25px;margin-bottom:12px}
.op-ux .op-intake .section-lead{margin-bottom:16px}
.op-ux .op-intake details>summary{font-weight:650;cursor:pointer;color:#285b41;min-height:44px;padding:12px 0}
.op-ux .op-intake .service-task-grid{margin-top:12px}
.op-ux .op-home-formats{background:var(--op-blue)}
.op-ux .op-home-formats .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.op-ux .request-cta{background:#eef5ef}
.op-ux .request-cta h2{font-size:30px;margin-bottom:0;color:var(--op-ink)}
.op-ux .request-cta a[href^="tel:"]{color:#216041}
.op-ux .city-note{font-size:13px;line-height:1.5}
.op-ux .op-calc{background:#fff;padding:40px 0}
.op-calc__heading{margin-bottom:20px}
.op-calc__heading h2{margin:0;font-size:32px}
.op-calc__shell{border:1px solid var(--op-line);border-radius:22px;box-shadow:0 10px 40px #20372906}
.op-calc__toggle{padding:20px 24px;font-size:20px;border-bottom:1px solid var(--op-line)}
.op-calc__shell:not([open])>.op-calc__toggle{border-bottom:0}
.op-calc__grid{grid-template-columns:1.15fr 1fr}
.op-calc__inputs{padding:24px;gap:16px}
.op-calc__inputs>label,.op-calc__fields label{font-size:14px}
.op-calc select,.op-calc input[type=number]{background:#fff;border-color:#cad6ce;border-radius:10px;min-height:48px;padding:11px 12px}
.op-calc__place{padding-bottom:12px;color:var(--op-ink);font-weight:600}
.op-calc__fields{gap:14px}
.op-calc__hint{font-size:12px;line-height:1.5;margin-top:6px;color:var(--op-muted)}
.op-calc__result{padding:28px;background:var(--op-blue);color:var(--op-ink);justify-content:center}
.op-calc__eyebrow{color:#45695c;letter-spacing:.08em;font-size:11px;font-weight:700}
.op-calc__amount{font-size:clamp(30px,3vw,44px);line-height:1.15;padding-top:12px;min-height:0;color:var(--op-ink)}
.op-calc__formula{font-size:15px;color:#3d5549;min-height:0;margin:12px 0 0}
.op-calc__note{min-height:0;font-size:13px;line-height:1.5;color:var(--op-muted);margin:12px 0 20px}
.op-calc__result .button{margin-top:0;color:#102518;display:flex;align-items:center;justify-content:center;text-decoration:none}
.op-calc__result .button[aria-disabled=true]{background:#d3ded6;color:#56675c;cursor:not-allowed}
.op-calc__result .op-calc__call{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;margin-top:8px;color:var(--op-ink);font-size:14px;text-decoration:none}
.op-calc__terms{width:100%;border-top:1px solid #ccdbe2;margin-top:20px;padding-top:12px}
.op-calc__terms summary{font-size:12px;line-height:1.6;color:#3e5b4c;cursor:pointer;padding-block:6px}
.op-calc__terms p{font-size:12px;line-height:1.6;color:#53635c;margin:8px 0 0}
.op-calc__fallback{padding:24px}
.op-calc__fallback p{max-width:680px;font-size:14px}
.op-calc__fallback .actions{gap:10px}
.op-ux .lead-modal__dialog{background:#fff;border-color:var(--op-line);border-radius:20px}
.op-ux .lead-modal__dialog h2{font-size:28px;padding-right:35px;margin-bottom:22px}
.op-ux .lead-modal__dialog:has([data-calc-request-preview]:not([hidden]))>.lead-modal__context{display:none}
.op-ux .lead-modal__dialog .form{padding:0;border:0;background:transparent;box-shadow:none}
.op-ux .lead-modal__dialog .form>label:has(input[name=city][readonly]){display:none}
.op-ux .lead-modal__dialog .consent-row{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;font-size:12px;line-height:1.45}
.op-ux .lead-modal__dialog .consent-row input{min-height:18px;width:18px;height:18px;max-width:18px;flex:0 0 18px;margin:0;accent-color:#128342}
.op-ux .lead-modal__dialog .contact-methods{margin-block:0}
.op-calc-request{border:1px solid #ccdfe8;background:var(--op-blue);padding:16px;border-radius:12px;margin:0 0 16px;grid-column:1/-1}
.op-calc-request p{font-size:14px;line-height:1.6;white-space:pre-line;margin:0 0 8px;color:var(--op-ink)}
.op-calc-request button{appearance:none;border:0;background:transparent;color:#216041;font:inherit;font-size:13px;text-decoration:underline;cursor:pointer;min-height:32px;padding:0}
.op-ux .form input[readonly]{background:#f1f4f1;color:#4a6051}
.op-ux .conversion-dock{background:#fff;border:1px solid var(--op-line);box-shadow:0 -4px 20px #142e1e10;padding:8px;gap:8px;border-radius:16px}
.op-ux .conversion-dock a{color:var(--op-ink)}
@media(max-width:900px){.op-ux .service-hero .hero__grid{grid-template-columns:1fr .7fr;gap:24px}.op-ux .service-hero picture{height:340px}.op-ux .service-hero__actions .button{padding:12px 16px}}
@media(max-width:760px){
 .op-ux .section{padding-block:32px}.op-ux .home-hero,.op-ux .city-hero{padding:28px 0}.op-ux .home-hero__grid{grid-template-columns:1fr;gap:24px}
 .op-ux .home-hero h1{font-size:36px}.op-ux .home-hero .lead{font-size:16px}.op-hero-photo{min-height:210px}
 .op-ux .service-hero .hero__grid{grid-template-columns:1fr;gap:0}.op-ux .service-hero .hero__grid>div{padding:28px 0 20px}
 .op-ux .service-hero picture{height:200px;margin:0 0 28px}.op-ux .service-hero h1{font-size:32px}.op-ux .service-hero .lead{font-size:16px;line-height:1.5}
 .op-ux .service-price strong,.op-ux .home-hero__offer strong{font-size:26px}.op-ux .service-hero__actions{display:grid;grid-template-columns:1fr 1fr}.op-ux .service-hero__actions .button:first-child{grid-column:1/-1}
 .op-ux .service-benefits{font-size:12px;display:flex;flex-wrap:wrap;gap:7px 14px}.op-ux .op-home-formats .grid{grid-template-columns:1fr}.op-ux .op-compact-steps .feature-grid{grid-template-columns:1fr 1fr}
 .op-ux .op-compact-steps .feature-card{gap:10px;padding:12px}.op-ux .op-compact-steps strong{font-size:13px}
 .op-calc__heading h2{font-size:28px}.op-calc__grid{grid-template-columns:1fr}.op-calc__inputs,.op-calc__result{padding:20px}.op-calc__inputs{gap:14px}.op-calc__toggle{padding:18px 20px;font-size:19px}
 .op-calc__amount{min-height:0;font-size:36px}.op-calc__note{margin:10px 0 16px}.op-calc__terms{margin-top:14px}.op-calc__fields{gap:12px}.op-calc__fields label{font-size:13px}
 .op-ux .request-cta h2{font-size:26px}.op-ux .lead-modal__dialog{border-radius:16px;padding:22px}
}
@media(prefers-reduced-motion:reduce){.op-ux *{scroll-behavior:auto;transition:none}}

/* Shared visual system. Loaded after structural CSS; body.op-design owns
   typography, spacing and controls on every public template. */
@font-face{font-family:"OP Inter";src:url("/assets/fonts/inter-variable-693b77d4f32e.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
body.op-design{--ink:#202923;--muted:#58645d;--surface:#f5f7f5;--surface-warm:#fafbf9;--surface-green:#edf6ef;--op-paper:#f7f7f3;--op-blue:#f0f4f6;--op-mint:#edf6ef;--op-ink:#202923;--op-muted:#58645d;--op-line:#dfe5df;font-family:"OP Inter",Arial,sans-serif;font-size:16px;line-height:1.6;font-weight:400;color:var(--ink);font-optical-sizing:auto;-webkit-font-smoothing:antialiased}
body.op-design :is(button,input,select,textarea){font-family:inherit}
body.op-design :is(h1,h2,h3,strong,b){font-weight:600}
body.op-design :is(h1,h2,h3){text-transform:none;letter-spacing:-.025em;overflow-wrap:break-word}
body.op-design h1{font-size:clamp(32px,3.7vw,48px);line-height:1.14;font-weight:650;text-wrap:balance}
body.op-design h2{font-size:clamp(26px,2.7vw,34px);line-height:1.2;margin:0 0 24px;font-weight:600;text-wrap:balance}
body.op-design .section h2{font-size:clamp(26px,2.7vw,34px);line-height:1.2}
body.op-design h3{font-size:20px;line-height:1.35;margin:0 0 12px}
body.op-design .section{padding-block:56px}
body.op-design .wrap{width:min(calc(100% - 48px),1180px)}
body.op-design :is(.section-lead,.lead){line-height:1.6;font-weight:400}
body.op-design .section-lead{font-size:16px;max-width:720px;margin:0 0 28px}
body.op-design .eyebrow{font-size:12px;font-weight:600;letter-spacing:.07em;line-height:1.5}
body.op-design .city-note{margin:16px 0 28px;max-width:720px;font-size:14px;line-height:1.6;color:var(--muted)}
body.op-design :is(h2,h3):has(+.city-note){margin-bottom:0}
body.op-design .city-note a{display:inline-block;padding-block:4px;text-underline-offset:4px}
body.op-design :is(.grid,.service-grid,.service-task-grid,.feature-grid){gap:20px}
body.op-design .actions{gap:12px;margin-top:24px}
/* Shared primary/secondary controls. Native buttons and links have equal type. */
body.op-design :is(.button,.catalog-more,.request-cta__phone){min-height:48px;height:auto;padding:12px 22px;border-width:1px;border-radius:10px;font-family:inherit;font-size:15px;font-weight:600;line-height:1.4;text-align:center;box-shadow:none;gap:8px;cursor:pointer;text-decoration:none}
body.op-design .button{background:#12c143;border-color:#12c143;color:#122b1a}
body.op-design .button:hover{background:#10b43d;border-color:#10b43d;filter:none}
body.op-design :is(.button--secondary,.button--outline,.catalog-more){background:#fff;border-color:#bdcbc1;color:#234c32}
body.op-design :is(.button--secondary,.button--outline,.catalog-more):hover{background:#eef6f0;border-color:#789a83;color:#234c32}
body.op-design :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #167238;outline-offset:4px}
body.op-design .header :is(a,button):focus-visible,body.op-design .footer :is(a,button):focus-visible{outline-color:#85e8a0}
/* Cards expand with their content; the gap belongs to the component. */
body.op-design :is(.card,.service-card,.city-service-card,.feature-card,.service-task,.contact-card){border:1px solid #dfe5df;border-radius:16px;box-shadow:none;min-width:0}
body.op-design :is(.card,.service-card,.service-task,.contact-card){padding:24px;background:#fff}
body.op-design :is(.card,.service-card,.city-service-card){height:auto}
body.op-design :is(.card strong,.service-card strong,.city-service-card strong,.feature-card strong){font-size:18px;line-height:1.35;font-weight:600;letter-spacing:-.015em;margin:0 0 10px}
body.op-design :is(.card>span,.service-card>span,.city-service-card small){display:block;font-size:14px;line-height:1.6;color:var(--muted);margin:0}
body.op-design .service-card{padding-right:40px;min-height:146px}
body.op-design .service-card strong{padding-left:0}
body.op-design .service-card strong::before{display:none}
body.op-design .service-card b{right:18px;bottom:18px;font-weight:400}
body.op-design .city-service-card{min-height:100px;padding:20px;overflow:visible;align-content:center}
body.op-design .city-service-card strong{display:block;overflow:visible;-webkit-line-clamp:unset;font-size:16px;margin:0 0 6px}
body.op-design .city-service-card small{display:block;overflow:visible;-webkit-line-clamp:unset;font-size:13px}
body.op-design .city-services__intro{margin-bottom:0}
body.op-design .city-services__intro h2{margin-bottom:0}
body.op-design .service-task b{margin-bottom:16px;font-weight:500;color:#41704f}
body.op-design .service-task h3{font-size:18px;margin-bottom:10px}
body.op-design .service-task p{font-size:15px;line-height:1.6;margin:0;color:var(--muted)}
body.op-design :is(.home-catalog,.home-steps,.reviews,.section--soft) h2::before,body.op-design :is(.home-catalog,.home-steps,.reviews,.section--soft) h2::after{display:none}
/* Calm large sections, clear small components. */
body.op-design :is(.home-hero,.hero--compact,.city-hero){padding-block:48px;background:var(--op-paper)}
body.op-design :is(.home-hero h1,.service-hero h1,.city-hero h1){font-size:clamp(32px,3.7vw,48px);line-height:1.14;font-weight:650;letter-spacing:-.03em}
body.op-design .home-hero__grid{gap:48px}
body.op-design .home-hero .lead{font-size:18px;line-height:1.6;margin:20px 0 0}
body.op-design .service-hero .lead{font-size:17px;line-height:1.6;margin:20px 0 0}
body.op-design .city-hero .lead{font-size:18px;line-height:1.6;margin:20px 0 28px;max-width:680px}
body.op-design .service-offer{padding:28px;margin-top:24px}
body.op-design .service-offer>strong{display:block;font-size:26px;line-height:1.3;letter-spacing:-.02em}
body.op-design .service-offer p{font-size:13px;color:var(--muted);margin:12px 0 0}
body.op-design .service-offer ul{padding-left:20px;margin:20px 0;font-size:14px;line-height:1.6}
body.op-design .service-hero .hero__grid{gap:40px}
body.op-design .service-hero .hero__grid>div{padding-block:48px}
body.op-design .service-hero picture{border-radius:18px}
body.op-design .service-kicker{font-weight:500;font-size:13px;line-height:1.5;margin-bottom:16px}
body.op-design .service-breadcrumbs{font-size:12px;margin-bottom:24px}
body.op-design .service-breadcrumbs__mobile{font-weight:500;min-height:44px;align-content:center;margin-bottom:8px}
body.op-design :is(.service-price,.home-hero__offer){margin-top:28px}
body.op-design :is(.service-price strong,.home-hero__offer strong){font-size:30px;font-weight:600;line-height:1.2;letter-spacing:-.025em}
body.op-design :is(.service-price p,.home-hero__offer p){margin:10px 0 0;font-size:13px;line-height:1.5}
body.op-design :is(.service-benefits,.home-hero__offer ul){font-size:13px;line-height:1.5;font-weight:500;gap:10px 20px;margin:20px 0 0}
body.op-design .op-hero-photo{border-radius:18px}
body.op-design .op-hero-photo figcaption{font-weight:500;font-size:15px;padding:16px}
body.op-design .op-home-formats{background:var(--op-blue)}
body.op-design .op-home-formats .card{min-height:156px;padding:28px;display:flex;flex-direction:column;align-items:start}
body.op-design .op-home-formats .card strong{font-size:21px;margin-bottom:12px}
body.op-design .op-home-formats .card span{font-size:15px;max-width:46ch}
body.op-design .catalog-group{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"business private";gap:24px;background:transparent}
body.op-design .catalog-group>div{padding:24px;gap:20px;border-color:#dfe5df;border-radius:18px;box-shadow:none}
body.op-design .catalog-group .catalog-more{margin-top:auto;align-self:start}
body.op-design .catalog-group .service-grid{gap:12px}
body.op-design .catalog-group .eyebrow{margin:0}
body.op-design .feature-card--proof{border:0;background:transparent;padding:8px 0;gap:16px}
body.op-design .feature-card--proof strong{font-size:16px;margin:0}
body.op-design .op-compact-steps .feature-card{padding:20px;gap:16px}
body.op-design .op-compact-steps strong{font-size:15px;line-height:1.4;margin:0}
body.op-design .request-cta{background:#edf6ef}
body.op-design .request-cta::after{display:none}
body.op-design .request-cta h2{font-size:clamp(26px,2.7vw,34px);line-height:1.2}
body.op-design .request-cta .lead{margin-top:14px;color:var(--muted);font-size:16px}
body.op-design .request-cta__phone{background:#fff;border-color:#b8cfbe;color:#234c32}
body.op-design .nearby-links{gap:12px 20px;margin-top:24px}
body.op-design .nearby-links a{font-weight:500;text-underline-offset:4px}
body.op-design .faq-list{gap:12px}
body.op-design .faq-list summary{padding:18px 20px;min-height:56px;font-size:16px;font-weight:500;line-height:1.5}
body.op-design .faq-list p{padding:0 20px 20px;font-size:15px;line-height:1.65}
body.op-design .faq-list__more{margin-top:8px}
/* Menus and forms use the same font and control sizes as the page. */
body.op-design .header{box-shadow:none}
body.op-design .header__main{gap:16px;grid-template-columns:200px minmax(240px,1fr) auto auto auto}
body.op-design .header__promise strong{font-size:13px;font-weight:500}
body.op-design .header__contacts .phone{font-weight:600;font-size:14px;min-height:28px}
body.op-design .header__badge{min-height:48px}
body.op-design .header__badge strong{font-size:13px;font-weight:600}
body.op-design .header__badge small{font-weight:500}
body.op-design .header__nav :is(a,button){font-weight:500}
body.op-design .header__nav a{min-height:44px;align-content:center}
body.op-design .city-selector>button{min-height:44px;font-size:13px}
body.op-design .city-modal__dialog{padding:32px;border-color:#dfe5df;border-radius:20px}
body.op-design :is(.city-modal__dialog h2,.services-mega__dialog h2,.lead-modal__dialog h2){font-size:28px;line-height:1.2;margin:0 48px 20px 0;padding:0}
body.op-design .city-modal__dialog>p{font-size:14px;line-height:1.6;margin:0 0 24px}
body.op-design :is(.city-modal__group h3,.city-modal__group-toggle){font-size:16px;font-weight:600;line-height:1.5;border-bottom:1px solid #c9d9cd;padding-bottom:12px}
body.op-design .city-modal__options{gap:8px}
body.op-design .city-modal__options a{font-size:14px;font-weight:500;line-height:1.5;min-height:44px}
body.op-design .services-mega__group a{font-size:14px;line-height:1.4;font-weight:500;min-height:44px;padding:8px}
body.op-design .services-mega__group h3{font-size:17px;margin-bottom:12px}
body.op-design .lead-modal__dialog{padding:28px;background:#fff;border:1px solid #dfe5df;border-radius:20px}
body.op-design .lead-modal__context{font-weight:500;font-size:14px;margin-bottom:20px}
body.op-design :is(.lead-modal__close,.city-modal__close,.services-mega__close){width:44px;height:44px;font-weight:400;border:1px solid #d4dfd6;background:#f6f8f6;color:#253d2d}
body.op-design :is(.form,.vacancy-form,.candidate-profile-form){gap:18px;box-shadow:none}
body.op-design :is(.form label,.vacancy-form label,.candidate-profile-form label){font-weight:500;font-size:14px;gap:8px}
body.op-design :is(.form,.vacancy-form,.candidate-profile-form,.op-calc) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px;line-height:1.5;min-height:48px;padding:12px;border:1px solid #bfcdc3;border-radius:10px}
body.op-design .form .contact-method{font-size:12px;min-height:44px;line-height:1.4}
body.op-design .contact-method:focus-within{outline:3px solid #167238;outline-offset:3px}
body.op-design .consent-row{font-weight:400;line-height:1.5;min-height:44px}
body.op-design .lead-modal__dialog .consent-row{font-size:12px}
body.op-design .form .field-hint{font-size:13px;font-weight:400;line-height:1.5}
body.op-design .contact-card h2{font-size:21px;margin-bottom:20px}
body.op-design .legal-hero{padding:56px 0 28px}
body.op-design .legal-hero h1{font-size:clamp(32px,3.7vw,48px);line-height:1.2}
body.op-design .article-copy{max-width:760px}
body.op-design .article-copy :is(p,li){line-height:1.7}
body.op-design .article-copy h2{font-size:26px;margin:36px 0 16px}
body.op-design .footer h2{font-size:26px}
body.op-design .footer__column strong{font-size:16px;font-weight:600}
body.op-design .footer__column{gap:12px}
body.op-design .footer__column a{font-size:14px;line-height:1.6;padding-block:2px}
body.op-design .footer__contacts a{font-size:18px;font-weight:500}
body.op-design .op-work__label{font-family:inherit;font-size:12px;font-weight:500}
body.op-design .op-work__body h3{font-size:20px;line-height:1.35;margin-bottom:12px}
body.op-design .op-work__more{font-weight:500}
body.op-design .op-work__controls button{width:44px;height:44px}
body.op-design .op-work__request h3{font-size:22px;line-height:1.35}
/* Calculator: distinct labels, figures and terms. Business logic is untouched. */
body.op-design .op-calc__heading h2{font-size:clamp(26px,2.7vw,34px)}
body.op-design .op-calc__toggle{font-size:19px;font-weight:600;line-height:1.4;padding:24px}
body.op-design .op-calc__inputs{padding:28px;gap:20px}
body.op-design .op-calc label{font-size:14px;font-weight:500}
body.op-design .op-calc__result{padding:32px}
body.op-design .op-calc__amount{font-size:40px;line-height:1.2;font-weight:600;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
body.op-design .op-calc__formula{font-size:15px;line-height:1.6;margin-top:14px}
body.op-design .op-calc__note{font-size:14px;line-height:1.6;margin:14px 0 24px}
body.op-design .op-calc__hint{font-size:13px;line-height:1.5}
body.op-design .op-calc__terms summary{font-size:13px;min-height:44px;align-content:center}
body.op-design .op-calc__terms p{font-size:13px;line-height:1.6}
body.op-design .op-calc-request button{min-height:44px;font-size:14px}
body.op-design .conversion-dock a{font-size:14px;font-weight:600;min-height:48px;line-height:1.3}
body.op-design .conversion-dock{padding:8px;border-color:#dfe5df;border-radius:16px;background:#fff}
@media(max-width:1100px){
 body.op-design .header__main{grid-template-columns:170px minmax(210px,1fr) auto auto;gap:12px}
 body.op-design .header__badges{display:none}
 body.op-design .header__nav .wrap{gap:12px}
 body.op-design .header__nav :is(a,button){font-size:12px}
}
@media(max-width:900px){
 body.op-design .header__main{grid-template-columns:160px 1fr auto}
 body.op-design .header__promise{grid-column:1/-1;grid-row:2}
 body.op-design .catalog-group{grid-template-columns:1fr;grid-template-areas:"business" "private"}
 body.op-design .service-hero .hero__grid{gap:24px}
}
@media(max-width:760px){
 body.op-design .wrap{width:calc(100% - 40px)}
 body.op-design .section{padding-block:40px}
 body.op-design h2,body.op-design .section h2{font-size:26px;line-height:1.25;margin-bottom:24px}
 body.op-design h3{font-size:18px}
 body.op-design :is(.home-hero,.hero--compact,.city-hero){padding-block:32px}
 body.op-design :is(.home-hero h1,.service-hero h1,.city-hero h1){font-size:32px;line-height:1.16}
 body.op-design :is(.home-hero .lead,.service-hero .lead){font-size:16px;line-height:1.6;margin-top:20px}
 body.op-design .city-hero .lead{font-size:16px}
 body.op-design .service-offer{padding:24px}
 body.op-design .service-offer>strong{font-size:24px}
 body.op-design .home-hero .actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
 body.op-design .home-hero .actions .button{padding:12px 14px}
 body.op-design .home-hero .actions .button:first-child{grid-column:1/-1}
 body.op-design .service-offer .actions{display:grid;grid-template-columns:1fr}
 body.op-design .home-hero__grid{gap:28px}
 body.op-design .service-hero .hero__grid{gap:0}
 body.op-design .service-hero .hero__grid>div{padding-block:24px}
 body.op-design .service-hero picture{margin-bottom:32px}
 body.op-design :is(.service-price strong,.home-hero__offer strong){font-size:28px}
 body.op-design .service-hero__actions .button{padding:12px 14px}
 body.op-design .card,body.op-design .op-home-formats .card{padding:24px;min-height:0}
 body.op-design .op-home-formats .card strong{font-size:20px}
 body.op-design .op-home-formats .grid{gap:16px}
 body.op-design .catalog-group>div{padding:20px;gap:20px}
 body.op-design .catalog-group .service-grid{grid-template-columns:1fr}
 body.op-design .service-card{min-height:120px;padding:22px 42px 22px 22px}
 body.op-design .city-service-card{min-height:104px;padding:18px}
 body.op-design .city-note{font-size:14px;margin:16px 0 28px}
 body.op-design .op-compact-steps .feature-grid{grid-template-columns:1fr}
 body.op-design .op-compact-steps strong{font-size:15px}
 body.op-design .city-modal__dialog{padding:24px 20px}
 body.op-design :is(.city-modal__dialog h2,.services-mega__dialog h2,.lead-modal__dialog h2){font-size:24px;line-height:1.25}
 body.op-design .city-modal__list{columns:1}
 body.op-design .city-modal__group{padding:16px}
 body.op-design .city-modal__options{grid-template-columns:1fr}
 body.op-design .services-mega__dialog{padding:24px 20px}
 body.op-design .lead-modal__dialog{padding:24px 20px}
 body.op-design .op-calc__toggle{font-size:18px;padding:22px}
 body.op-design .op-calc__inputs,body.op-design .op-calc__result{padding:24px 20px}
 body.op-design .op-calc__amount{font-size:36px}
 body.op-design .op-calc__fields{gap:16px}
 body.op-design .op-calc__fields label{font-size:13px}
 body.op-design .op-calc__heading h2{font-size:26px}
 body.op-design .city-services__intro h2{margin-bottom:0}
 body.op-design .contact-card h2{font-size:21px}
 body.op-design .request-cta h2{font-size:26px}
 body.op-design .footer{padding-block:40px 24px}
 body.op-design .footer__grid{gap:32px}
 body.op-design .legal-hero{padding:40px 0 20px}
}
@media(min-width:521px) and (max-width:820px){
 body.op-design .services-mega__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.op-design .header__main{grid-template-columns:140px minmax(0,1fr) auto;gap:12px}
 body.op-design .header__contacts{flex-wrap:wrap;gap:8px}
 body.op-design .header__contacts .phone{font-size:12px}
 body.op-design .header__cta{font-size:13px;padding:10px 14px}
 body.op-design .header__promise{display:flex;align-items:center;justify-content:space-between;gap:16px}
}
@media(max-width:520px){
 body.op-design .header__main{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding-block:12px}
 body.op-design .header__promise{gap:12px;align-items:center;flex-wrap:nowrap}
 body.op-design .header__promise strong{font-size:11px;line-height:1.5;flex:1;min-width:0}
 body.op-design .header__contacts .phone{font-size:12px}
 body.op-design .header__cta{min-width:0;font-size:13px;min-height:44px;padding:10px 14px}
 body.op-design .city-selector>button{font-size:12px;min-height:44px}
 body.op-design .header__nav .header__all-services{min-height:44px;font-size:13px}
 body.op-design .header__nav .wrap{padding-block:8px}
 body.op-design .city-modal__dialog,body.op-design .services-mega__dialog{padding:84px 20px 24px;border-radius:0;max-height:none}
 body.op-design :is(.city-modal__dialog,.services-mega__dialog)::before{font-size:16px;font-weight:600;border-color:#dfe5df}
}
@media(prefers-reduced-motion:reduce){body.op-design{scroll-behavior:auto}body.op-design *{transition:none;animation:none}}

/* Brand colour correction. Layout, text hierarchy and interactions are retained. */
body.op-design{--op-paper:#edf8f0;--op-blue:#e3f6e8;--op-mint:#dff4e6;--surface:#edf8f0;--surface-warm:#f6fbf7;--surface-green:#dff4e6;--op-line:#bbd9c4}
body.op-design .header,body.op-design .footer{background:#191919}
body.op-design .header{border-bottom:2px solid #12c143}
body.op-design :is(.home-hero,.service-hero,.hero--compact,.city-hero){background:linear-gradient(115deg,#191919 35%,#153b28 100%);color:#f6fff8;border-bottom:3px solid #12c143}
body.op-design :is(.home-hero,.service-hero,.hero--compact,.city-hero) :is(h1,h2,.lead,.service-benefits,.home-hero__offer ul){color:#f6fff8}
body.op-design :is(.home-hero,.service-hero,.hero--compact,.city-hero) :is(.eyebrow,.service-kicker,.service-breadcrumbs,.service-breadcrumbs a,.service-breadcrumbs__mobile){color:#91eda9}
body.op-design :is(.service-price strong,.home-hero__offer strong){color:#91eda9}
body.op-design :is(.service-price p,.home-hero__offer p){color:#c8dfcf}
body.op-design .home-hero__services-link{color:#f6fff8;text-decoration-color:#12c143;text-underline-offset:5px}
body.op-design :is(.home-hero,.service-hero,.hero--compact,.city-hero) .button--outline{color:#f6fff8;background:#244232;border-color:#729a80}
body.op-design :is(.home-hero,.service-hero,.hero--compact,.city-hero) .button--outline:hover{background:#31553e;border-color:#91eda9}
body.op-design :is(.home-hero,.service-hero,.hero--compact,.city-hero,.op-calc__result,.section--proof,.request-cta) :is(a,button,summary):focus-visible{outline-color:#91eda9}
body.op-design .service-offer{background:#203d2c;border-color:#548260;box-shadow:inset 4px 0 #12c143;color:#f6fff8}
body.op-design .service-offer>strong{color:#91eda9}
body.op-design .service-offer p{color:#c8dfcf}
body.op-design .op-hero-photo{background:#244232;border:1px solid #528063;width:100%;min-width:0;min-height:0;align-self:center;aspect-ratio:1.28}
body.op-design .op-hero-photo picture{display:block;width:100%;height:100%}
body.op-design .op-hero-photo img{object-position:45% center}
body.op-design .op-hero-photo figcaption{background:#193524;color:#f6fff8;border-left:3px solid #12c143;backdrop-filter:none}
body.op-design .op-home-formats{background:#dff4e6}
body.op-design .op-home-formats .card{border-color:#9dc9ab;border-top:3px solid #12c143;background:#fff}
body.op-design .catalog-group>div{background:#e3f6e8;border-color:#aed3ba}
body.op-design :is(.service-card,.city-service-card){border-color:#bbd9c4}
body.op-design :is(.service-card,.city-service-card):hover{background:#e3f6e8;border-color:#128342}
body.op-design :is(.service-card b,.city-service-card b){color:#127039}
body.op-design .city-services{background:#f2faf4}
body.op-design :is(.section--soft,.op-intake){background:#e3f6e8}
body.op-design .section--proof{background:#203d2c;color:#f6fff8}
body.op-design .section--proof :is(h2,.feature-card--proof strong){color:#f6fff8}
body.op-design .section--proof .feature-card--proof{color:#c8dfcf}
body.op-design .op-compact-steps .feature-card{background:#e3f6e8;border-color:#bbd9c4}
body.op-design .op-compact-steps .step-diamond{background:#12c143;color:#122b1a}
body.op-design .op-calc__shell{border-color:#9dc9ab}
body.op-design .op-calc__toggle{background:#e3f6e8;color:#163d25;border-color:#bbd9c4}
body.op-design .op-calc__result{background:#203d2c;color:#f6fff8}
body.op-design .op-calc__eyebrow{color:#91eda9}
body.op-design .op-calc__amount{color:#f6fff8}
body.op-design :is(.op-calc__formula,.op-calc__note){color:#c8dfcf}
body.op-design .op-calc__result .op-calc__call{color:#f6fff8}
body.op-design .op-calc__terms{border-color:#547762}
body.op-design .op-calc__terms summary{color:#91eda9}
body.op-design .op-calc__terms p{color:#c8dfcf}
body.op-design .op-calc-request{background:#e3f6e8;border-color:#9dc9ab}
body.op-design .request-cta{background:#191919;border-top:3px solid #12c143;color:#f6fff8}
body.op-design .request-cta :is(h2,.request-cta__title){color:#f6fff8}
body.op-design .request-cta a[href^="tel:"]{color:#91eda9}
body.op-design .request-cta .request-cta__phone{background:#244232;border-color:#729a80;color:#f6fff8}
body.op-design .conversion-dock{border-color:#12c143;background:#203d2c}
body.op-design .conversion-dock a[href^="tel:"]{color:#f6fff8}
body.op-design .conversion-dock :is(a,button):focus-visible{outline-color:#91eda9}
body.op-design .lead-modal__dialog{border-top:4px solid #12c143}
body.op-design .city-modal__dialog{border-top:4px solid #12c143}
@media(max-width:760px){body.op-design .op-hero-photo{min-height:0;aspect-ratio:1.35}body.op-design .op-hero-photo figcaption{font-size:13px;left:12px;right:12px;bottom:12px;padding:12px}}
