/* Presentation contract for the five integrated services, shared by both regions.
   Keep the established Manrope/navy/gold identity and leave legacy routes alone. */.service-content{--step--1:var(--ses-type-secondary);--step-0:var(--ses-type-body);--step-1:var(--ses-type-intro);--step-2:var(--ses-type-h3);--step-3:var(--ses-type-h2);--measure:62ch;font-size:var(--step-0);line-height:1.65}.service-content h2{line-height:1.18}.service-content h3{font-size:var(--step-2);line-height:1.3}.service-content .lede{line-height:1.6}.service-content .geo{gap:32px}.service-content .geo>div>p+p,.service-content .sec>.wrap>.lede+p{margin-top:20px}.service-content .geo>div>p,.service-content .sec>.wrap>p{max-width:var(--measure)}.service-content .wrap>h2+.geo{margin-top:28px}.service-content .geo>div>p+.facts{margin-top:24px}.service-content .wrap>.geo+figure,.service-content .wrap>.steps+figure{margin-top:32px}.service-content figure>.photo+figcaption{font-size:var(--step--1);line-height:1.55;margin-top:12px}/* A row is a row: never three cards plus an orphan in a two-column group. */.service-content .cards{gap:16px;align-items:stretch}.service-content .cards--2{display:grid;grid-template-columns:minmax(0,1fr)}.service-content .card{padding:20px;gap:16px;align-content:start}.service-content .card p{color:var(--ink-2)}.service-content .cards--2:has(.facts--compact)>*{display:grid;align-content:start;gap:16px;padding:20px;border:1px solid var(--line);border-radius:var(--r-2);background:var(--paper);color:var(--ink)}.service-content .cards--2:has(.facts--compact)>*>h3{color:var(--ink)}.service-content .cards--2:has(.facts--compact)>*>p{color:var(--ink-2)}.service-content .cards .facts--compact{grid-template-columns:minmax(0,1fr);font-size:var(--step-0);line-height:1.65;color:var(--ink-2)}.service-content .cards .facts--compact li{padding-block:12px}.service-content .cards .facts--compact li:first-child{padding-top:0;border-top:0}.service-content .cards .facts--compact li+li{border-top:1px solid var(--line)}.service-content .cards .facts--compact li:last-child{padding-bottom:0}.service-content .facts:not(.facts--compact)>li:first-child{padding-top:0}.service-content .steps li{grid-template-columns:32px minmax(0,1fr);gap:16px;padding-block:20px}.service-content .steps li::before{font-size:1.75rem;line-height:1.3}.service-content .steps li>div{max-width:var(--measure)}.service-content .notice{font-size:var(--step-0);padding-left:20px;gap:10px}.service-content .notice>:is(b,strong){display:block;font-size:var(--step-0);font-weight:700;line-height:1.4;color:var(--ink)}.service-content .notice--alert>:is(b,strong){color:var(--alert)}.service-content .ground .notice--alert>:is(b,strong){color:var(--alert-on-dark)}/* A price is one visual unit, including its currency. Non-numeric estimates
   remain free to wrap; long captions must not widen a table. */.service-content .service-money{display:inline-block;white-space:nowrap;font-variant-numeric:tabular-nums}.service-content .price{line-height:1.5}.service-content .price :is(th,td){vertical-align:top}.service-content .price td[data-label^="Цена"]{font-weight:700}/* Explanation under a row name: its own line, regular weight, so the bold row name stays short on phones. */.service-content .price td .price__detail{display:block;margin-top:4px;font-weight:400;font-size:var(--step--1);line-height:1.5;color:var(--ink-2)}.service-content .hero-price-card__price,.service-content .hero-price-chip strong{white-space:nowrap;font-variant-numeric:tabular-nums}.service-content .hero-price-card{padding:28px;border-radius:20px}.service-content .hero-price-card__price{font-size:clamp(2.75rem,4vw,3.75rem);margin:12px 0 14px}.service-content .hero-price-card__note,.service-content .hero-price-card li{font-size:var(--step-0);line-height:1.6}.service-content .hero-price-card ul{gap:12px;margin-top:24px}.service-content .hero-price-card li{padding-left:26px}.service-content .hero-price-card p.hero-price-card__eyebrow{color:var(--gold-ink) !important}.service-content .owner-hero-copy .lede{font-size:var(--step-1);line-height:1.6}.service-content .faq summary{font-size:var(--step-0);line-height:1.5;padding-block:20px}.service-content .faq__body{line-height:1.65}/* Match the service content edge; use the native disclosure before navigation
   and both actions no longer fit. This only affects the integrated routes. */body:has(.service-content) .site-header>.site-shell{width:min(1280px,100%)}@media(min-width:1200px){body:has(.service-content) .site-nav{gap:10px}body:has(.service-content) .site-nav a{font-size:14px}}@media(min-width:1024px) and (max-width:1199px){body:has(.service-content) .site-nav,body:has(.service-content) .site-header__actions{display:none}body:has(.service-content) .site-header>.site-shell{min-height:72px;justify-content:space-between;position:relative}body:has(.service-content) .site-menu{display:block;margin-left:auto}body:has(.service-content) .site-menu summary{padding:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer;list-style:none;border:1px solid #d8dee8;border-radius:8px}body:has(.service-content) .site-menu summary::-webkit-details-marker{display:none}body:has(.service-content) .site-menu summary::before,body:has(.service-content) .site-menu summary::after{content:none}body:has(.service-content) .site-menu nav{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;padding:8px 24px 20px;background:#fff;border-bottom:1px solid #d8dee8;max-height:calc(100svh - 120px);overflow-y:auto}body:has(.service-content) .site-menu nav a{min-height:48px}body:has(.service-content) .site-menu summary:focus-visible{outline:2px solid #0b1b34;outline-offset:3px}}@media(min-width:701px){.service-content .price:has(td[data-label^="Цена"]) th:nth-child(2),.service-content .price td[data-label^="Цена"]{width:18%;min-width:10rem}.service-content .price:has(td[data-label^="Цена"]) th:first-child{width:32%}.service-content .price :is(th,td){padding:18px 24px}}@media(min-width:720px){.service-content .cards--2,.service-content .cards--3:has(>:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}.service-content .cards{gap:24px}.service-content .card,.service-content .cards--2:has(.facts--compact)>*{padding:24px}}@media(min-width:1024px){.service-content .cards--3,.service-content .cards--3:has(>:nth-child(4)){grid-template-columns:repeat(3,minmax(0,1fr))}.service-content .geo{gap:48px}.service-content .steps li{grid-template-columns:40px minmax(0,1fr);gap:20px;padding-block:24px}.service-content>section.sec.sec--tight .hero-price-card .owner-hero-actions--card{gap:10px;margin-top:24px}}@media(min-width:768px) and (max-width:1023px){.service-content>section.sec:first-of-type{grid-template-columns:minmax(0,1fr);grid-template-rows:320px auto;min-height:0;align-items:stretch}.service-content>section.sec:first-of-type>.owner-hero-media{min-height:0;height:320px}.service-content .owner-hero-media>picture{position:absolute;inset:0}.service-content .owner-hero-media img{object-position:center 42%}.service-content .owner-hero-media::after{background:linear-gradient(180deg,transparent 50%,rgba(7,18,35,.5))}.service-content>section.sec:first-of-type>div.wrap{padding:28px 32px 36px!important}.service-content .owner-hero-copy h1{font-size:clamp(2rem,4.6vw,2.625rem) !important;line-height:1.15!important}.service-content .hero-price-card{display:none}.service-content .hero-price-chip{position:absolute;display:grid;left:32px;bottom:20px;gap:2px;padding:10px 14px;border:1px solid rgba(201,162,74,.48);border-radius:14px;background:#071223;color:#fff;z-index:2}.service-content .hero-price-chip>span{color:var(--gold);font-size:.6875rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.service-content .hero-price-chip strong{font-size:1.5rem}.service-content .owner-hero-actions{grid-template-columns:repeat(2,minmax(0,1fr));max-width:420px}}@media(min-width:1024px) and (max-width:1199px){.service-content>section.sec.sec--tight .hero-price-card .owner-hero-actions--card{grid-template-columns:minmax(0,1fr)}}@media(max-width:767px){.service-content .owner-hero-copy .lede{font-size:1.0625rem;line-height:1.6;margin-top:16px}.service-content .owner-hero-copy>.crumbs{font-size:.8125rem;margin-bottom:12px}.service-content .owner-hero-actions{gap:10px;margin-top:22px}.service-content .hero-price-chip{max-width:calc(100% - 32px)}.service-content .hero-price-chip>span{font-size:.6875rem;letter-spacing:.08em}.service-content .hero-price-chip strong{font-size:1.5rem}}@media(max-width:700px){.service-content .price:has(thead) tbody tr{padding:18px;border:1px solid var(--line);border-radius:12px}.service-content .price:has(thead) tbody tr+tr{margin-top:12px}.service-content .price:has(thead) tbody tr td{padding:0;border:0;font-size:var(--step-0);line-height:1.55}.service-content .price:has(thead) tbody tr td:first-child{padding-bottom:12px}.service-content .price:has(thead) tbody tr td+td{padding-top:12px;border-top:1px solid var(--line)}.service-content .price:has(thead) tbody tr td+td+td{margin-top:12px}.service-content .price:has(thead) td[data-label^="Цена"]{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-weight:700}.service-content .price:has(thead) td::before{font-size:.875rem;margin-bottom:4px;line-height:1.5}.service-content .price:has(thead) td[data-label^="Цена"]::before{margin:0;font-weight:500}}@media(max-width:359px){.service-content .owner-hero-actions{grid-template-columns:minmax(0,1fr)}}/* === Home design system on service pages ===================================================
   Components mirror the home page (components/home-refresh.css): tariff cards (.lvl), gold
   numbered steps (.proto-item .n) and lifted cards (.args li). Price tables keep their table
   markup and are only drawn as cards; tables without a price column stay ordinary tables. */.service-content .price:has(td[data-label^="Цена"]),.service-content .price:has(td[data-label^="Цена"]) tbody{display:block;background:none;border:0;box-shadow:none}.service-content .price:has(td[data-label^="Цена"]) thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.service-content .price:has(td[data-label^="Цена"]) tbody{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}.service-content .price:has(td[data-label^="Цена"]) tbody tr{display:flex;flex-direction:column;margin:0;padding:26px 24px 24px;background:#fff;border:1px solid #D8DEE8;border-radius:22px;transition:transform .3s var(--ease,ease),box-shadow .3s var(--ease,ease),border-color .3s}.service-content .price:has(td[data-label^="Цена"]) tbody tr:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(12,26,48,.12);border-color:#C9A24A}.service-content .price:has(td[data-label^="Цена"]) tbody tr>*{display:block;order:2;width:auto;min-width:0;margin:10px 0 0;padding:0;border:0;text-align:left;font:400 15px/1.5 Inter,system-ui,sans-serif;letter-spacing:0;text-transform:none;color:#556377}.service-content .price:has(td[data-label^="Цена"]) tbody tr>*::before{content:none}.service-content .price:has(td[data-label^="Цена"]) tbody tr>:first-child{order:1;margin:0;font:800 14px/1.3 Manrope,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#6E5011}.service-content .price:has(td[data-label^="Цена"]) tbody tr>:first-child .price__detail{margin-top:12px;font:400 15px/1.5 Inter,system-ui,sans-serif;letter-spacing:0;text-transform:none;color:#556377}.service-content .price:has(td[data-label^="Цена"]) tbody tr>td[data-label^="Цена"]{order:3;margin-top:auto;padding-top:20px;font:700 17px/1.3 Manrope,system-ui,sans-serif;color:#0C1A30}.service-content .price:has(td[data-label^="Цена"]) tbody tr>td[data-label^="Цена"] .service-money{display:block;font:800 34px/1.05 Manrope,system-ui,sans-serif;white-space:nowrap}.service-content .price:has(td[data-label^="Цена"]) tbody tr>td[data-label^="Цена"]~td::before{content:attr(data-label) ": ";display:inline;margin:0;font:600 15px/1.5 Inter,system-ui,sans-serif;color:#33415A}.service-content .price:has(td[data-label^="Цена"]) tbody tr.is-hi{background:#0C1A30;border-color:#0C1A30}.service-content .price:has(td[data-label^="Цена"]) tbody tr.is-hi>*{color:#C7D3E4}.service-content .price:has(td[data-label^="Цена"]) tbody tr.is-hi>:first-child{color:#E6CE94}.service-content .price:has(td[data-label^="Цена"]) tbody tr.is-hi>:first-child .price__detail{color:#C7D3E4}.service-content .price:has(td[data-label^="Цена"]) tbody tr.is-hi>td[data-label^="Цена"]{color:#fff}.service-content .price:has(td[data-label^="Цена"]) tbody tr.is-hi>td[data-label^="Цена"]~td::before{color:#E6CE94}.service-content .steps li{align-items:start;padding-block:18px}.service-content .steps li + li{border-top:0}.service-content .steps li::before{display:grid;place-items:center;width:46px;height:46px;border:1px solid #C9A24A;border-radius:50%;font:800 1rem/1 Manrope,system-ui,sans-serif;color:#6E5011}.service-content .ground .steps li::before{color:#E6CE94}.service-content .sec:not(.ground) .card{border-color:#E6E1D4;border-radius:16px;transition:transform .3s var(--ease,ease),box-shadow .3s var(--ease,ease),border-color .3s}.service-content .sec:not(.ground) .card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(12,26,48,.08);border-color:#C9A24A}.service-content .ground .card{border-radius:16px}@media(min-width:1024px){.service-content .price:has(td[data-label^="Цена"]) tbody:has(tr:nth-child(6)){grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:767px){.service-content .price:has(td[data-label^="Цена"]) tbody{grid-template-columns:minmax(0,1fr);gap:12px}.service-content .price:has(td[data-label^="Цена"]) tbody tr{padding:20px}.service-content .price:has(td[data-label^="Цена"]) tbody tr>td[data-label^="Цена"]{padding-top:14px}.service-content .price:has(td[data-label^="Цена"]) tbody tr>td[data-label^="Цена"] .service-money{font-size:30px}.service-content .steps li::before{width:34px;height:34px;font-size:.9rem}}@media(prefers-reduced-motion:reduce){.service-content :is(.price tbody tr,.card){transition:none}.service-content :is(.price tbody tr,.card):hover{transform:none}}/* On navy sections the highlighted tariff needs a gold outline to stand apart from the background. */.service-content .ground .price:has(td[data-label^="Цена"]) tbody tr.is-hi{background:#0C1A30;border-color:#C9A24A}/* A notice that is plain text with an inline price must flow as one paragraph, not as grid rows. */.service-content .notice:not(:has(> p)):not(:has(> b)):not(:has(> strong)){display:block}