/* Design 2 v4: the operator's 18 block slices (_meta/design/refs-20261007/blocks, 2026-10-07).
   Loaded after style.css; restyles d2's shared tokens and section kinds, so every page that
   carries a block of the same kind (services, prices, blog, contacts...) gets the same look.
   Copy, headings, alts and links are untouched (SEO parity); only layout, colour and type change. */

:root{
--bg:#fff;--bg-alt:#F5F8F5;--surface:#fff;--mint:#EDF7EE;--leaf:#E3F2E5;
--ink:#16211B;--text:#3E4A43;--muted:#5E6A63;
--primary:#1E8236;--primary-d:#176A2B;--primary-bright:#3CB043;--accent:#1E7A34;
--border:#E4EBE5;--ui-border:#C9D3CC;--focus:#1E7A34;--focus-on-dark:#E6F4E8;
--band:#1B7A31;--band-text-2:#E6F4E8;
--r-sm:10px;--r-md:12px;--r-lg:14px;--r-xl:18px;
--sh-1:0 1px 2px rgb(22 33 27 / .05),0 4px 14px rgb(22 33 27 / .06);--sh-2:0 12px 32px rgb(30 130 54 / .14);
--serif:var(--sans);
--ico-teal:brightness(0) saturate(100%) invert(33%) sepia(55%) saturate(820%) hue-rotate(90deg) brightness(92%) contrast(90%);
}
body{color:var(--text);background:#fff}
a{color:var(--accent)}

/* ---------- type: bold geometric sans, left-aligned section titles (slices 03-16) */
.n-h{font-family:var(--sans);font-weight:800;letter-spacing:-.01em;color:var(--ink)}
.n-p--t1,.n-p--t4,.d2-eqtitle,.modal__title,.item-modal__title{font-family:var(--sans);font-weight:800;letter-spacing:-.01em}
.n-h2,.n-p--t1{font-size:24px;line-height:31px}
.sec--prices .is-title,.sec--steps .is-title,.sec--problems .is-title,.sec--advantages .is-title,.sec--gallery .is-title,
.sec--blogcards .is-title,.sec--gallery .n-p--lead,.d2-thead{text-align:left}
.d2-thead .is-title,.is-title{margin-bottom:8px}
.d2-tsub,.sec--blogcards .n-p--lead,.sec--gallery .n-p--lead{max-width:none;margin:0 0 24px;color:var(--muted);font-size:15px;line-height:22px}
.sec{padding:28px 0}
@media (min-width:768px){.n-h2,.n-p--t1{font-size:28px;line-height:36px}.sec{padding:36px 0}}
@media (min-width:1200px){.n-h2,.n-p--t1{font-size:31px;line-height:38px}.sec{padding:40px 0}}

/* ---------- buttons */
.btn{border-radius:var(--r-sm);font-weight:600;min-height:48px}
.btn--dark,.btn--modal,.sec--hero .btn.is-tel,.d2-btn-wa{background:#fff;border-color:var(--border);color:var(--ink);box-shadow:var(--sh-1)}
.btn--dark:hover,.btn--modal:hover,.sec--hero .btn.is-tel:hover,.d2-btn-wa:hover{background:var(--mint);border-color:var(--primary);color:var(--ink)}
.d2-btn-wa::before{background:var(--primary)}

/* ---------- 01 header */
.hd{background:rgb(255 255 255 / .97);border-bottom:1px solid var(--border)}
.hd__brand{padding:0;background:none;box-shadow:none;border-radius:0}
.hd__logo{height:40px;width:auto}
.hdc__a.is-tel .hdc__img{width:22px;height:22px;padding:0;border-radius:0;background:none;filter:var(--ico-teal)}
.hdc__a.is-wa{border-radius:var(--r-sm);background:var(--primary)}
.hdc__a.is-wa::after{display:none}
.hd__in{max-width:none}
@media (min-width:992px){
.hd__in{display:grid;grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr);min-height:76px;gap:20px;padding:0 clamp(24px,2.5vw,48px)}
.hd__brand{margin:0;justify-self:start}
.hd__nav{margin:0}
.hd__ct{justify-self:end}
.hd__logo{height:46px}
.hd .nav{gap:22px}
.hd .nav__link{font-size:14px;font-weight:500;color:var(--ink)}
.hd .nav__item:first-child>.nav__link{color:var(--accent)}
.hd__ct{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:22px;align-items:center}
.hd__ct .hdc{display:contents}
.hdc__a.is-tel{grid-column:1;grid-row:1;min-height:24px;font-size:16px;line-height:22px;font-weight:700}
.hd__hours{grid-column:1;grid-row:2;padding-left:30px;font-size:12px;line-height:16px}
.hd__hours::before{display:none}
.hdc__a.is-wa{grid-column:2;grid-row:1/span 2;min-height:44px;padding:0 18px;font-size:14px}
.hd .hd__cta{display:none}
}
@media (min-width:992px) and (max-width:1439.98px){.hdc__a.is-tel .hdc__t{position:static;width:auto;height:auto;overflow:visible;clip:auto}}
@media (min-width:992px) and (max-width:1199.98px){.hd .nav{gap:14px}.hd .nav__link{font-size:13px}.hd__logo{height:38px}.hd__hours{display:none}}

/* ---------- 02 hero */
.sec--hero{background:linear-gradient(180deg,#F6FAF6,#fff 85%)}
.sec--hero .n-h1,.sec--hero .n-h1.is-long{color:var(--ink);font-weight:800;letter-spacing:-.02em}
@supports (-webkit-background-clip:text) or (background-clip:text){
.sec--hero .n-h1.is-long{--lh:34px;background:linear-gradient(180deg,var(--ink) 0 var(--lh),var(--primary) var(--lh));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
}
.sec--hero .n-h1.is-long{font-size:26px;line-height:34px}
.sec--hero .n-h2{font-size:16px;line-height:24px;color:var(--text)}
.sec--hero .g--btns,.sec--hero .g--btns:has(.d2-btn-wa){display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.sec--hero .g--btns .btn.is-wa{background:var(--primary);border-color:var(--primary);color:#fff;min-height:54px;padding-inline:22px}
.sec--hero .g--btns .btn.is-wa:hover{background:var(--primary-d);border-color:var(--primary-d)}
.sec--hero .g--btns .d2-btn-wa{min-height:54px;padding-inline:20px}
.sec--hero .g--btns .btn.is-tel,.sec--hero .g--btns .d2-btn-arrow{flex:0 0 auto;min-height:44px;padding:0 4px;background:none;border-color:transparent;box-shadow:none;color:var(--ink);font-weight:600}
.sec--hero .g--btns .btn.is-tel:hover,.sec--hero .g--btns .d2-btn-arrow:hover{background:none;color:var(--accent);text-decoration:underline}
.sec--hero .btn.is-tel::after{color:var(--accent)}
.sec--hero .g--btns:has(.d2-btn-wa) .btn{flex:0 0 auto}
.d2-trust{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.d2-trust li,.d2-trust li:last-child{grid-column:auto;flex:1 1 150px;align-items:center;padding:8px 10px;border-radius:var(--r-sm);background:rgb(255 255 255 / .86);border:1px solid var(--border);font-size:12px;line-height:16px;font-weight:500;color:var(--ink)}
.d2-trust li::before{width:28px;height:28px;background-color:var(--mint);background-size:15px}
.d2-hand{font:italic 600 17px/22px var(--sans);color:var(--ink)}
.d2-float{border-radius:var(--r-md);padding:10px 14px;font-size:13px;line-height:18px}
.d2-deco--hero img{filter:brightness(1.12) saturate(.9)}
@media (min-width:768px){.sec--hero .n-h1.is-long{font-size:34px;line-height:42px;--lh:42px}}
@media (min-width:992px){
.sec--hero{min-height:0;padding:36px 0 28px}
.sec--hero .sec__in>.g--row{grid-template-columns:minmax(0,600px) minmax(0,1fr);min-height:380px}
.d2-deco--hero{width:60%;-webkit-mask:linear-gradient(90deg,transparent,#000 30%),linear-gradient(180deg,#000 80%,transparent);mask:linear-gradient(90deg,transparent,#000 30%),linear-gradient(180deg,#000 80%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.d2-trust{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;max-width:none;margin-top:24px;padding:0;background:none;box-shadow:none}
.d2-trust li{padding:8px 10px}
.d2-hand{top:28px;font-size:20px;line-height:26px;transform:rotate(-4deg)}
.d2-float{bottom:30%;display:flex;align-items:center;gap:10px;max-width:200px}
.d2-float::before{content:"";flex:none;width:32px;height:32px;border-radius:50%;background:var(--mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231E7A34' d='m9.5 16.2-4.2-4.2-1.4 1.4 5.6 5.6 11-11-1.4-1.4z'/%3E%3C/svg%3E") center/18px no-repeat}
}
@media (min-width:1200px){.sec--hero .n-h1.is-long{font-size:40px;line-height:48px;letter-spacing:-.02em;--lh:48px}}
/* home hero backdrop = the operator's sofa + dog photo (asset 1399, slice 02_hero, 2026-10-07): full-bleed on the right, copy over a white fade */
.is-home .sec--hero{background:#fff}
.d2-deco--sofa{margin:20px calc(-1 * var(--gut)) 0;-webkit-mask:linear-gradient(180deg,transparent,#000 22%);mask:linear-gradient(180deg,transparent,#000 22%)}
.d2-deco--sofa img,.d2-deco--sofa img:only-child{display:block;width:100%;aspect-ratio:5/4;object-fit:cover;object-position:68% 50%;border-radius:0;filter:none}
@media (min-width:600px){.d2-deco--sofa img{aspect-ratio:16/9;object-position:62% 50%}}
@media (min-width:992px){
.d2-deco--sofa{position:absolute;z-index:0;top:0;right:0;bottom:0;width:64%;margin:0;-webkit-mask:linear-gradient(90deg,transparent,#000 36%);mask:linear-gradient(90deg,transparent,#000 36%);-webkit-mask-composite:source-over;mask-composite:add}
.d2-deco--sofa img{height:100%;aspect-ratio:auto;object-position:60% 55%}
.is-home .sec--hero .sec__in>.g--row>.g--col{position:relative;z-index:2}
}

/* ---------- 03 prices (slice refs-20261007/prices): photo on top, green round icon + white name pill
   over the photo's lower edge, label rows with mint price pills; five cards over two wide cards at 1280 */
.sec--prices .sec__in>.g--row{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:stretch;gap:14px}
.sec--prices .sec__in>.g--row>.d2-pcard{flex:1 1 100%;min-width:0}
.d2-pcard{display:grid;grid-template-columns:auto minmax(0,1fr);align-content:start;column-gap:0;border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:0 12px 12px}
.d2-pcard::before{display:none}
.d2-pcard>*{grid-column:1/-1;min-width:0}
.d2-pcard__media{margin:0 -12px;padding:8px 8px 0;background:#fff;border-radius:var(--r-lg) var(--r-lg) 0 0;overflow:hidden}
.d2-pcard__media img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.d2-pcard>.d2-pcard__ico{grid-column:1;position:relative;z-index:2;align-self:center;margin-top:-22px;width:44px;height:44px;padding:2px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgb(22 33 27 / .16)}
.d2-pcard__ico img{display:block;width:40px;height:40px}
.d2-pcard>.d2-pcard__ico+.g--col{grid-column:2;align-self:center;position:relative;z-index:1;margin:-22px 0 0 -14px;padding:0}
.d2-pcard>.g--col:has(>.n-h2){padding:10px 0 2px}
.d2-pcard>.d2-pcard__ico+.g--col:has(>.n-h2){padding:0}
.d2-pcard .n-h2{margin:0;font:700 16px/22px var(--sans);color:var(--ink)}
.d2-pcard__ico+.g--col>.n-h2{display:inline-block;max-width:100%;padding:6px 14px 6px 20px;border-radius:0 999px 999px 0;background:#fff;box-shadow:0 2px 8px rgb(22 33 27 / .10)}
.d2-pcard>.g--col:not(:has(>.n-h2)){margin-top:6px}
.d2-pcard>.g--col:has(>.n-h2)+.g--col{margin-top:12px}
.d2-pcard .n-txt{display:flex;flex-wrap:nowrap;align-items:center;gap:4px 6px;min-height:0;padding:5px 5px 5px 9px;border:0;border-radius:8px;background:#F3F7F4;font-size:12.5px;line-height:17px}
.d2-pcard .n-txt span:first-child{flex:1 1 auto;min-width:0;color:var(--text)}
.d2-pcard .n-txt span:last-child{flex:0 0 auto;margin-left:auto;padding:4px 8px;border-radius:6px;background:#E5F4D8;color:var(--ink);font-weight:700;white-space:nowrap}
.d2-pcard .n-txt br{display:none}
/* label and price stay on one line at every width: narrow cards get tighter rows from 600, two columns below 768, five from 1280 */
@media (min-width:600px){.d2-pcard:not(.d2-pcard--wide){padding:0 8px 10px}.d2-pcard:not(.d2-pcard--wide)>.d2-pcard__media{margin:0 -8px}.d2-pcard:not(.d2-pcard--wide) .n-txt{gap:4px;padding:4px 3px 4px 6px;font-size:11.5px;line-height:16px}.d2-pcard:not(.d2-pcard--wide) .n-txt span:last-child{padding:3px 4px}}
@media (min-width:600px) and (max-width:767.98px){.sec--prices .sec__in>.g--row>.d2-pcard:not(.d2-pcard--wide){flex-basis:calc((100% - 14px) / 2)}.d2-pcard__media img{max-height:220px}}
@media (max-width:599.98px){.d2-pcard__media img{max-height:200px}}
@media (min-width:600px){
.sec--prices .sec__in>.g--row>.d2-pcard{flex-basis:calc((100% - 28px) / 3)}
.sec--prices .sec__in>.g--row>.d2-pcard--wide{flex-basis:100%}
.d2-pcard__media img{aspect-ratio:4/3}
.d2-pcard--wide{position:relative;overflow:hidden;min-height:200px;padding:18px 16px 16px;grid-template-columns:auto minmax(0,1fr) 44%}
.d2-pcard--wide>*{grid-column:1/3;position:relative;z-index:1}
.d2-pcard--wide>.d2-pcard__media{grid-column:auto;position:absolute;z-index:0;top:0;right:0;bottom:0;width:42%;margin:0;padding:0;border-radius:0;-webkit-mask:linear-gradient(90deg,transparent,#000 24%);mask:linear-gradient(90deg,transparent,#000 24%)}
.d2-pcard--wide>.d2-pcard__media picture{display:block;height:100%}
.d2-pcard--wide>.d2-pcard__media img{height:100%;aspect-ratio:auto;object-fit:cover}
.d2-pcard--wide>.d2-pcard__ico,.d2-pcard--wide>.d2-pcard__ico+.g--col{margin-top:0}
.d2-pcard--wide>.d2-pcard__ico{z-index:2}
}
@media (min-width:992px){.sec--prices .sec__in>.g--row>.d2-pcard--wide{flex-basis:calc((100% - 14px) / 2)}}
@media (min-width:1280px){.sec--prices .sec__in>.g--row{gap:14px 12px}.sec--prices .sec__in>.g--row>.d2-pcard{flex-basis:calc((100% - 48px) / 5)}.sec--prices .sec__in>.g--row>.d2-pcard--wide{flex-basis:calc((100% - 12px) / 2)}}

/* ---------- 04 about (split text + photo) and the media split */
.v-split:not(.sec--hero) .sec__in>.g--row:first-child .n-img,.sec--media .n-video{border-radius:var(--r-xl)}
.sec--text.v-split .sec__in>.g--row:first-child .n-img{aspect-ratio:16/10}
.sec--text.v-split .is-title,.sec--media .is-title{font-size:24px;line-height:31px}
.sec--text .g--col>.n-p--t3{font-size:14px;line-height:20px;font-weight:700}
.sec--text .g--col>.n-p--t3::before,.d2-eqlist li::before{width:40px;height:40px;background-color:var(--mint);background-size:20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231E7A34' d='m9.5 16.2-4.2-4.2-1.4 1.4 5.6 5.6 11-11-1.4-1.4z'/%3E%3C/svg%3E")}
.sec--text .g--col>.n-p--t3+.n-p{font-size:14px;line-height:21px}
.sec--media{background:#fff}
@media (min-width:768px){.sec--text.v-split .is-title,.sec--media .is-title{font-size:30px;line-height:38px}}
@media (min-width:992px){
.v-split:not(.sec--hero) .sec__in>.g--row:first-child,.sec--media.v-split-rev .sec__in>.g--row:first-child{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:44px}
.sec--text.v-split .sec__in>.g--row+.g--row{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 24px;margin-top:28px}
.sec--media .n-video{max-height:440px}
}

/* 04 on / = the operator's block04 mockup (refs-20261007/block04): kicker, two-tone title, icon notes, photo + badge, four photo cards;
   the leaf sprigs (background) sit on the full-width section, edge to edge, while the content keeps the container width */
.d2-about{position:relative;overflow:clip;background:#fff}
.d2-about__leaf{position:absolute;z-index:0;pointer-events:none;opacity:.9;width:var(--lw);--vis:max(calc(max(var(--gut),(100vw - var(--wrap)) / 2) - 8px),28px)}
.d2-about__leaf img{display:block;width:100%;height:auto}
.d2-about__leaf--l{--lw:72px;top:0;left:min(0px,calc(var(--vis) - var(--lw)))}
.d2-about__leaf--r{--lw:60px;top:30%;right:min(0px,calc(var(--vis) - var(--lw)))}
.d2-about .sec__in>.g--row{position:relative;z-index:1}
.d2-about__top>picture{display:none}
.d2-chip{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;padding:6px 14px;border-radius:999px;background:var(--mint);color:var(--primary-d);font-size:12px;line-height:16px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.d2-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--primary)}
.sec--text.d2-about .is-title{color:var(--ink);font-weight:800;letter-spacing:-.02em;font-size:26px;line-height:33px}
@supports (-webkit-background-clip:text) or (background-clip:text){
.sec--text.d2-about .is-title{--lh:33px;background:linear-gradient(180deg,var(--ink) 0 var(--lh),var(--primary) var(--lh));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
}
.d2-about__top .n-p--lead{font-size:15px;line-height:24px;color:var(--text)}
.d2-about__notes{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.d2-about__notes li{display:flex;align-items:center;gap:10px;font-size:13px;line-height:18px;color:var(--ink);font-weight:500}
.d2-about__notes img{display:block;width:44px;height:44px;flex:none}
.d2-about__media{position:relative}
.d2-about__photo img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:60% 50%;border-radius:var(--r-xl)}
.d2-about__badge{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;gap:10px;max-width:calc(100% - 24px);margin:0;padding:10px 14px 10px 10px;border-radius:var(--r-md);background:#fff;box-shadow:var(--sh-1);color:var(--primary-d);font-size:13px;line-height:17px;font-weight:600}
.d2-about__badge span{max-width:150px}
.d2-about__badge img{display:block;width:32px;height:32px;flex:none}
.sec--text.v-split.d2-about .sec__in>.g--row.d2-about__cards{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:28px}
.d2-acard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--sh-1);padding:0 18px 20px;overflow:visible}
.d2-acard__media{position:relative;margin:0 -18px 34px}
.d2-acard__media>picture img{display:block;width:100%;aspect-ratio:2/1;object-fit:cover;border-radius:var(--r-xl) var(--r-xl) 0 0}
.d2-acard__ico{position:absolute;left:16px;bottom:-26px;width:52px;height:52px;border-radius:50%;background:#fff;box-shadow:0 4px 12px rgb(30 130 54 / .16)}
.d2-acard__ico img{display:block;width:52px;height:52px}
.sec--text .d2-acard>.n-p--t3{display:block;margin:0 0 8px;font-size:15px;line-height:21px;color:var(--ink)}
.sec--text .d2-acard>.n-p--t3::before{display:none}
.sec--text .d2-acard>.n-p--t3+.n-p{padding-left:0;margin:0;font-size:13.5px;line-height:20px;color:var(--text)}
@media (min-width:600px){
.sec--text.v-split.d2-about .sec__in>.g--row.d2-about__cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.d2-about__notes{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.d2-about__notes li{padding:0 10px;gap:8px;font-size:12.5px;line-height:17px}
.d2-about__notes li:first-child{padding-left:0}
.d2-about__notes li+li{border-left:1px solid var(--ui-border)}
.d2-about__badge{left:20px;bottom:20px}
}
@media (min-width:768px){
.sec--text.d2-about .is-title{font-size:34px;line-height:42px;--lh:42px}
.d2-about__leaf--l{--lw:96px}
.d2-about__leaf--r{--lw:80px}
}
@media (min-width:992px){
.v-split.d2-about:not(.sec--hero) .sec__in>.g--row.d2-about__top:first-child{grid-template-columns:minmax(0,1.14fr) minmax(0,1fr);gap:40px;align-items:center}
.d2-about__photo img{aspect-ratio:auto;height:100%;min-height:340px;max-height:400px}
.d2-about__leaf--l{--lw:192px}
.d2-about__leaf--r{--lw:160px}
}
@media (min-width:1200px){
.sec--text.d2-about .is-title{font-size:38px;line-height:46px;--lh:46px}
.sec--text.v-split.d2-about .sec__in>.g--row.d2-about__cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:32px}
.d2-about__leaf--l{--lw:240px}
.d2-about__leaf--r{--lw:200px}
}

/* 04b on / = the operator's block05 mockup (refs-20261007/block05): the armchair photo with a badge in place of the video (left),
   kicker, two-tone title, original copy, three icon notes (right); the soft green wash runs edge to edge on the full-width section */
.sec--media.d2-media{background:radial-gradient(60% 90% at 0 0,var(--mint),transparent 70%),radial-gradient(55% 90% at 100% 100%,var(--mint),transparent 70%),#fff}
.d2-media .d2-media__top>.n-video{display:none}
.sec--media.d2-media .sec__in>.g--row.d2-media__top{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:center}
.d2-media__media{position:relative;min-width:0}
.d2-media__photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-xl);box-shadow:var(--sh-1)}
.d2-media__badge{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;gap:10px;max-width:calc(100% - 24px);margin:0;padding:10px 16px 10px 10px;border-radius:var(--r-lg);background:rgb(255 255 255 / .94);box-shadow:var(--sh-1);color:var(--primary-d);font-size:13px;line-height:17px;font-weight:500}
.d2-media__badge img{display:block;width:48px;height:auto;flex:none}
.d2-media__badge>span{max-width:150px}
.d2-media__badge strong{display:block;font-weight:700;color:var(--primary)}
.sec--media.d2-media .is-title{color:var(--ink);font-weight:800;letter-spacing:-.02em;font-size:24px;line-height:31px}
@supports (-webkit-background-clip:text) or (background-clip:text){
.sec--media.d2-media .is-title{--lh:31px;background:linear-gradient(180deg,var(--ink) 0 var(--lh),var(--primary) var(--lh));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
}
.d2-media__top .n-p--lead{font-size:15px;line-height:24px;color:var(--text)}
.d2-media__notes{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.d2-media__notes li{display:flex;align-items:center;gap:10px;font-size:13px;line-height:18px;color:var(--ink);font-weight:500}
.d2-media__notes img{display:block;width:52px;height:52px;flex:none}
@media (min-width:600px){
.d2-media__notes{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.d2-media__notes li{padding:0 12px;gap:8px;font-size:12.5px;line-height:17px}
.d2-media__notes li:first-child{padding-left:0}
.d2-media__notes li+li{border-left:1px solid var(--ui-border)}
.d2-media__badge{left:20px;bottom:20px;padding:12px 20px 12px 12px;font-size:14px;line-height:19px}
}
@media (min-width:768px){
.sec--media.d2-media .is-title{font-size:30px;line-height:38px;--lh:38px}
}
@media (min-width:992px){
.sec--media.v-split-rev.d2-media .sec__in>.g--row.d2-media__top:first-child{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:44px;align-items:stretch}
.d2-media__photo,.d2-media__photo picture{display:block;height:100%}
.d2-media__photo img{aspect-ratio:auto;height:100%;min-height:380px;max-height:460px}
.d2-media__top>.g--col{align-self:center}
}
@media (min-width:1200px){
.sec--media.d2-media .is-title{font-size:32px;line-height:40px;--lh:40px}
.sec--media.v-split-rev.d2-media .sec__in>.g--row.d2-media__top:first-child{gap:48px}
}

/* ---------- 05 services: product cards, title on top; 06 home and office: the wide card */
.sec--cards .g--row:has(>.g--card){gap:16px}
.sec--cards .g--card{border-radius:var(--r-lg);box-shadow:var(--sh-1)}
.sec--cards .g--card>.g--box{order:-1;flex:0 0 auto;padding:16px 16px 10px}
.sec--cards .g--card .n-p--t4,.sec--cards .g--card .n-p--t5,.sec--cards .g--card .n-h2{font:700 16px/22px var(--sans);color:var(--ink);margin:0 0 4px}
.sec--cards .g--card .n-p:not([class*="--t"]){font-size:13px;line-height:19px}
.sec--cards .g--card small{font-size:13px}
.g--card>.n-video{margin:auto 12px 12px;width:calc(100% - 24px);border-radius:var(--r-md);aspect-ratio:4/3}
.g--card>.btn--item:not([hidden]){position:absolute;right:20px;bottom:20px;min-height:40px;padding:0 14px;border-radius:999px;font-size:14px}
/* wide card = slice 06 "дома и в офисе": copy left, photo right, price rows in a white list card */
.sec--cards .g--card:has(>.g--col){background:linear-gradient(100deg,#F3F9F3 0,#fff 60%);border-color:var(--border)}
.g--card:has(>.g--col)>picture>.n-img{aspect-ratio:4/3;object-fit:contain;background:transparent}
.g--card:has(>.g--col)>.g--col{padding:20px}
.g--card:has(>.g--col) .n-p--t4,.g--card:has(>.g--col) .n-h2{font:800 22px/28px var(--sans) !important}
.g--card>.g--col>.g--row:has(>.n-txt){margin:12px 0 4px;padding:6px 16px;border-radius:var(--r-md);background:#fff;box-shadow:var(--sh-1)}
.g--card>.g--col>.g--row>.n-txt{font-size:14px;min-height:40px;padding:6px 0;border-top-color:#EEF2EF}
.g--card>.g--col>.g--row>.n-txt:first-child{border-top:0}
.g--card:has(>.g--col)>.g--col>.btn{background:var(--primary);border-color:var(--primary);color:#fff}
@media (min-width:768px){.g--card:has(>.g--col){grid-template-columns:5fr 7fr}.g--card:has(>.g--col)>.g--col{padding:28px 32px}}
@media (min-width:992px){
.sec--cards .g--row:has(>.g--card){grid-template-columns:repeat(3,minmax(0,1fr))}
.g--card:has(>.g--col){grid-template-columns:7fr 5fr}
.g--card:has(>.g--col)>picture{order:2}
.g--card:has(>.g--col) .n-p--t4,.g--card:has(>.g--col) .n-h2{font-size:28px !important;line-height:34px !important}
}

/* 05 on / = the operator's block06 mockup (refs-20261007/block06): kicker, two-tone title and a line over three video cards with a
   round icon beside the title, a leaf sprig in the corner and a mint "Подробнее" pill with an arrow. The videos keep autoplay and
   nothing sits on them (no play button, no poster). Leaf strips are section background at the page edges, edge to edge. */
.sec--cards.d2-svc{position:relative;overflow:clip;background:radial-gradient(38% 46% at 0 0,var(--mint),transparent 72%),radial-gradient(38% 46% at 100% 0,var(--mint),transparent 72%),#fff}
.d2-svc>.sec__in{position:relative;z-index:1}
.d2-svc__side{position:absolute;z-index:0;top:0;pointer-events:none;width:var(--lw);--lw:56px;--vis:max(calc(max(var(--gut),(100vw - var(--wrap)) / 2) - 8px),28px)}
.d2-svc__side img{display:block;width:100%;height:auto}
.d2-svc__side--l{left:min(0px,calc(var(--vis) - var(--lw)))}
.d2-svc__side--r{right:min(0px,calc(var(--vis) - var(--lw)));--lw:46px}
@media (max-width:991.98px){.d2-about__leaf,.d2-svc__side{opacity:.5}}
.d2-svc__head{position:relative;max-width:720px;margin:0 auto 24px;text-align:center}
.d2-svc__head .d2-chip{margin-bottom:12px}
.d2-svc__title{margin:0 0 10px;color:var(--ink);font:800 24px/31px var(--sans);letter-spacing:-.02em}
.d2-svc__accent{color:var(--primary)}
.d2-svc__sub{margin:0 auto;max-width:620px;color:var(--muted);font-size:15px;line-height:23px}
.d2-svc__leaf{display:none}
.sec--cards .g--row.d2-svc__row{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.sec--cards .d2-svc__card{background:#fff;border-color:#EEF2EF;border-radius:var(--r-xl)}
.sec--cards .d2-svc__card>.n-video{order:0;margin:12px 12px 0;width:calc(100% - 24px);border-radius:var(--r-lg)}
.sec--cards .d2-svc__card>.g--box{order:0;position:relative;z-index:1;display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:12px;align-items:center;padding:18px 20px 0}
.d2-svc__card>.g--box>*{grid-column:1/-1}
.d2-svc__card>.g--box>.d2-svc__ico{grid-column:1;grid-row:1}
.d2-svc__card>.g--box>.n-p--t4{grid-column:2;grid-row:1;margin:0}
.d2-svc__card>.g--box>.n-hr{display:none}
.d2-svc__ico img{display:block;width:44px;height:44px}
.sec--cards .d2-svc__card .n-p:not([class*="--t"]){margin:10px 0 0;color:var(--muted);font-size:14px;line-height:21px}
.sec--cards .d2-svc__card small{font-size:inherit}
.sec--cards .d2-svc__card .n-p--t4{font-size:18px;line-height:24px;font-weight:800}
.sec--cards .d2-svc__card>.btn--item:not([hidden]){position:relative;z-index:1;right:auto;bottom:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:12px;margin:18px 20px 20px;min-height:44px;padding:0 6px 0 18px;border:0;border-radius:999px;background:var(--mint);color:var(--primary-d);font-size:15px;font-weight:700;box-shadow:none}
.sec--cards .d2-svc__card>.btn--item:hover{background:var(--leaf);color:var(--primary-d)}
.d2-svc__go img{display:block;width:32px;height:32px}
.d2-svc__sprig{position:absolute;z-index:0;right:0;bottom:0;width:72px;pointer-events:none}
.d2-svc__sprig img{display:block;width:100%;height:auto}
@media (min-width:768px){
.sec--cards .g--row.d2-svc__row{grid-template-columns:repeat(3,minmax(0,1fr))}
.d2-svc__title{font-size:30px;line-height:38px}
.d2-svc__head{margin-bottom:32px}
.d2-svc__side{--lw:80px}
.d2-svc__side--r{--lw:64px}
.sec--cards .d2-svc__card>.g--box{padding:16px 14px 0;grid-template-columns:40px minmax(0,1fr);column-gap:10px}
.d2-svc__ico img{width:40px;height:40px}
.sec--cards .d2-svc__card .n-p--t4{font-size:16px;line-height:21px}
.sec--cards .d2-svc__card>.btn--item:not([hidden]){margin:16px 14px 16px}
}
@media (min-width:992px){
.d2-svc__leaf{display:block;position:absolute;width:72px;pointer-events:none}
.d2-svc__leaf img{display:block;width:100%;height:auto}
.d2-svc__leaf--l{left:calc(50% - 460px);top:64px}
.d2-svc__leaf--r{right:calc(50% - 460px);top:40px}
.sec--cards .g--row.d2-svc__row{gap:24px}
.sec--cards .d2-svc__card>.g--box{padding:18px 20px 0;grid-template-columns:44px minmax(0,1fr);column-gap:12px}
.d2-svc__ico img{width:44px;height:44px}
.sec--cards .d2-svc__card .n-p--t4{font-size:20px;line-height:26px}
.sec--cards .d2-svc__card>.btn--item:not([hidden]){margin:18px 20px 20px}
.d2-svc__sprig{width:144px}
.d2-svc__side{--lw:160px}
.d2-svc__side--r{--lw:128px}
}
@media (min-width:1200px){
.d2-svc__title{font-size:34px;line-height:42px}
.d2-svc__side{--lw:200px}
.d2-svc__side--r{--lw:160px}
}

/* 06 on / = the operator's block07 mockup (refs-20261007/block07): the wide "дома и в офисе" card under the videos, with a gap
   above it. Cleaner photo left (the original photo is hidden, kept for parity), two-tone original title, the five original price
   rows as white pills with a round icon and an arrow, a solid "Подробнее" and the original "Все услуги" as an outline button. */
.sec--cards .g--row.d2-fur__row{display:flex;flex-direction:column;align-items:center;gap:24px;margin-top:40px}
.sec--cards .g--card.d2-fur{display:grid;grid-template-columns:minmax(0,1fr);width:100%;overflow:hidden;background:linear-gradient(100deg,#F6FAF6 0,#fff 55%);border-color:#EEF2EF;border-radius:var(--r-xl);box-shadow:0 2px 4px rgb(11 31 53 / .04),0 18px 40px rgb(11 31 53 / .07)}
.d2-fur>picture{display:none}
.d2-fur__media{position:relative;display:flex;align-items:center;justify-content:center;padding:20px 16px 0;background:radial-gradient(circle at 40% 42%,#E6F3E7 0 26%,rgb(230 243 231 / 0) 46%)}
.d2-fur__photo{position:relative;z-index:1;width:100%;max-width:520px}
.d2-fur__photo img{display:block;width:100%;height:auto}
.d2-fur__leaf{position:absolute;z-index:2;pointer-events:none}
.d2-fur__leaf img{display:block;width:100%;height:auto}
.d2-fur__leaf--l{left:-14px;bottom:-34px;width:64px}
.d2-fur__leaf--r{top:-6px;right:-6px;width:56px;z-index:0}
.sec--cards .g--card.d2-fur>.g--col{position:relative;z-index:1;padding:20px 16px 24px}
.sec--cards .g--card.d2-fur .d2-fur__title{margin:0 0 12px;color:var(--ink);font:800 24px/30px var(--sans) !important;letter-spacing:-.02em}
.d2-fur__accent{display:block;color:var(--primary)}
.d2-fur>.g--col>.n-hr{display:none}
.sec--cards .g--card.d2-fur>.g--col>.n-p:not([class*="--t"]){margin:0 0 16px;color:var(--muted);font-size:15px;line-height:23px}
.sec--cards .g--card.d2-fur>.g--col>.g--row.d2-fur__item{display:flex;align-items:center;gap:12px;margin:0 0 10px;padding:8px 10px 8px 8px;border:1px solid #EEF2EF;border-radius:14px;background:#fff;box-shadow:0 1px 2px rgb(11 31 53 / .04),0 4px 12px rgb(11 31 53 / .05)}
.d2-fur__ico,.d2-fur__go{flex:none}
.d2-fur__ico img{display:block;width:40px;height:40px}
.d2-fur__go img{display:block;width:24px;height:24px}
.sec--cards .g--card.d2-fur>.g--col>.g--row>.n-txt{flex:1 1 auto;min-width:0;min-height:0;padding:0;border:0;gap:8px;font-size:14px;line-height:19px}
.sec--cards .g--card.d2-fur .n-txt span:first-child{color:var(--ink)}
.sec--cards .g--card.d2-fur .n-txt span:last-child{color:var(--primary-d);font-weight:800}
.sec--cards .g--card.d2-fur .g--btns{margin-top:18px}
.sec--cards .g--card.d2-fur .btn--item:not([hidden]){gap:14px;min-height:52px;padding:0 26px;border-color:var(--primary-d);border-radius:12px;background:var(--primary-d);color:#fff;font-weight:700;box-shadow:0 8px 18px rgb(23 106 43 / .22)}
.sec--cards .g--card.d2-fur .btn--item:hover{border-color:var(--primary);background:var(--primary);color:#fff}
.sec--cards .g--row.d2-fur__row>.d2-fur__all{gap:14px;min-height:52px;padding:0 28px;border-color:var(--primary);border-radius:12px;background:#fff;color:var(--primary-d);font-weight:700;box-shadow:none}
.sec--cards .g--row.d2-fur__row>.d2-fur__all:hover{background:var(--mint);color:var(--primary-d)}
.d2-fur__arr{display:inline-flex}
.d2-fur__arr svg{display:block}
@media (max-width:599.98px){.sec--cards .g--card.d2-fur>.g--col>.g--row>.n-txt{flex-direction:column;align-items:flex-start;gap:2px}.sec--cards .g--card.d2-fur .n-txt span:last-child{text-align:left}}
@media (min-width:768px){
.sec--cards .g--row.d2-fur__row{margin-top:48px}
.d2-fur__media{padding:28px 32px 0}
.sec--cards .g--card.d2-fur>.g--col{padding:28px 32px 32px}
.sec--cards .g--card.d2-fur .d2-fur__title{font-size:30px !important;line-height:38px !important}
.d2-fur__leaf--l{width:96px;bottom:-44px}
.d2-fur__leaf--r{width:80px}
}
@media (min-width:992px){
.sec--cards .g--row.d2-fur__row{gap:32px;margin-top:64px}
.sec--cards .g--card.d2-fur{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center}
.d2-fur__media{align-self:stretch;padding:32px 0 32px 24px}
.sec--cards .g--card.d2-fur>.g--col{padding:44px 44px 40px 16px}
.sec--cards .g--card.d2-fur .d2-fur__title{font-size:34px !important;line-height:42px !important}
.sec--cards .g--card.d2-fur>.g--col>.n-p:not([class*="--t"]){max-width:470px}
.d2-fur__leaf--l{width:120px;left:-20px;bottom:-40px}
.d2-fur__leaf--r{width:110px;top:-8px;right:-8px}
.sec--cards .g--card.d2-fur>.g--col>.g--row.d2-fur__item{padding:10px 14px 10px 10px;gap:14px}
.sec--cards .g--card.d2-fur>.g--col>.g--row>.n-txt{font-size:15px;line-height:20px}
.d2-fur__ico img{width:44px;height:44px}
.d2-fur__go img{width:28px;height:28px}
}
@media (min-width:1200px){
.sec--cards .g--card.d2-fur .d2-fur__title{font-size:38px !important;line-height:46px !important}
}

/* ---------- 07 how it works (four steps) + 08 the info strip (original three cards) */
.sec--steps,.sec--reviews,.sec--gallery,.sec--equipment{background:#fff}
.d2-steps4{gap:12px;margin:8px 0 20px}
.d2-steps4 li{position:relative;align-items:center;padding:14px 16px;border-radius:var(--r-md);background:#F7F9F7;box-shadow:none;border:1px solid #EEF2EF}
.d2-steps4 li::before{background:var(--primary-bright);color:#fff;font-weight:800}
.d2-steps4 li:nth-child(4)::before{content:"+";font-size:22px}
.d2-steps4 strong{font-size:15px;line-height:21px}
.d2-steps4 span{font-size:13px;line-height:18px}
.sec--steps .sec__in>.g--row{gap:12px}
.sec--steps .g--row>.g--col{display:grid;grid-template-columns:96px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:16px;align-items:start;padding:14px;border-radius:var(--r-lg);background:#F4F7F4;border:1px solid #EAF0EB}
.sec--steps .g--col::before,.sec--steps .g--col::after{display:none !important}
.sec--steps .g--col>picture{grid-row:1/span 3;margin:0}
.sec--steps .g--col .n-img{aspect-ratio:1;padding:10px;border-radius:var(--r-md);background:#fff}
.sec--steps .g--col>.n-p,.sec--steps .g--col>.btn{margin:0}
.sec--steps .n-p--t3{font:700 16px/22px var(--sans);color:var(--ink);margin:4px 0 4px}
.sec--steps .g--col .n-p:not(.n-p--t3){font-size:14px;line-height:20px}
.sec--steps .g--col>.btn{justify-self:start;align-self:start;min-height:44px;margin-top:4px;padding:0;background:none;border:0;box-shadow:none;color:var(--accent);font-size:20px;font-weight:800;letter-spacing:-.01em}
.sec--steps .g--col>.btn:hover{background:none;color:var(--primary-d);text-decoration:underline}
@media (min-width:768px){.d2-steps4{grid-template-columns:repeat(2,minmax(0,1fr))}.sec--steps .sec__in>.g--row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
@media (min-width:768px) and (max-width:991.98px){.sec--steps .g--row>.g--col{grid-template-columns:minmax(0,1fr)}.sec--steps .g--col>picture{grid-row:auto;max-width:96px}}
@media (min-width:1200px){
.d2-steps4{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.d2-steps4 li:not(:last-child)::after{content:"";position:absolute;top:50%;right:-22px;width:16px;height:16px;margin-top:-8px;background:#9AA59E;-webkit-mask:var(--i-arrow) center/contain no-repeat;mask:var(--i-arrow) center/contain no-repeat}
.sec--steps .g--row>.g--col{grid-template-columns:110px minmax(0,1fr);padding:16px}
}

/* 07 on / = the operator's block08 mockup (refs-20261007/block08): "Как мы работаем:" with a short green bar and a two-tone
   original title, the four step cards with a numbered badge and the operator's picture on a mint disc (arrows between them at
   >=992), the three original cards with the van / clock / telephone (original pictures hidden, kept for parity), a solid call
   button with a phone glyph and a leaf spray at the top right. <600 cards are rows (picture left), 600-991 steps 2x2. */
.sec--steps.d2-how{position:relative;overflow:hidden;background:radial-gradient(ellipse 55% 45% at 100% 0,#EDF7EE 0,rgb(237 247 238 / 0) 70%),#fff}
.d2-how>.sec__in{position:relative}
.d2-how__leaves{position:absolute;z-index:0;top:-28px;right:8px;width:76px;pointer-events:none}
.d2-how__leaves img,.d2-how__ico img,.d2-how__pic img{display:block;width:100%;height:auto}
.sec--steps.d2-how .d2-thead{position:relative;z-index:1}
.sec--steps.d2-how .d2-thead::before{content:"";display:block;width:36px;height:4px;margin:0 0 14px;border-radius:2px;background:var(--primary-bright)}
.sec--steps.d2-how .d2-thead .is-title{margin:0 0 20px;color:var(--ink);font-size:30px;line-height:36px;font-weight:800;letter-spacing:-.02em}
.d2-how__accent{color:var(--primary)}
.d2-how .d2-steps4{position:relative;z-index:1;gap:12px;margin:0 0 12px}
.d2-how .d2-steps4 li{position:relative;display:grid;grid-template-columns:84px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:14px;padding:14px 16px 14px 12px;border:1px solid #EEF2EF;border-radius:20px;background:#fff;box-shadow:0 1px 2px rgb(11 31 53 / .04),0 10px 24px rgb(11 31 53 / .06)}
.d2-how .d2-steps4 li::before{position:absolute;z-index:2;top:10px;left:10px;width:30px;height:30px;border-radius:50%;background:var(--primary);color:#fff;font:800 14px/30px var(--sans);box-shadow:0 4px 10px rgb(0 128 60 / .25)}
.d2-how .d2-steps4 li:nth-child(4)::before{content:counter(s4);font-size:14px}
.d2-how__ico{grid-row:1/span 2;align-self:center;width:84px;padding:4px;border-radius:50%;background:radial-gradient(circle,#E8F5E9 0 60%,rgb(232 245 233 / 0) 71%)}
.d2-how .d2-steps4 strong{align-self:end;margin:0 0 4px;color:var(--ink);font-size:16px;line-height:21px;font-weight:800}
.d2-how .d2-steps4 span{align-self:start;color:var(--muted);font-size:14px;line-height:19px}
.sec--steps.d2-how .sec__in>.g--row{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.sec--steps.d2-how .g--row>.g--col{display:grid;grid-template-columns:84px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;align-items:start;column-gap:14px;padding:16px 16px 16px 12px;border:1px solid #EEF2EF;border-radius:20px;background:linear-gradient(100deg,#F6FAF6 0,#fff 60%);box-shadow:0 1px 2px rgb(11 31 53 / .04),0 10px 24px rgb(11 31 53 / .06)}
.d2-how .g--col>picture{display:none}
.d2-how__pic{grid-row:1/span 2;align-self:center;width:84px}
.sec--steps.d2-how .g--col>.n-p--t3{align-self:end;margin:0 0 4px;color:var(--ink);font:800 17px/23px var(--sans)}
.sec--steps.d2-how .g--col>.n-p:not(.n-p--t3){margin:0;color:var(--muted);font-size:14px;line-height:20px}
.sec--steps.d2-how .d2-how__call{display:inline-flex;gap:8px;min-height:48px;margin-top:12px;padding:0 18px;border:1px solid var(--primary);border-radius:12px;background:var(--primary);color:#fff;font:700 16px/22px var(--sans);text-decoration:none;box-shadow:0 8px 18px rgb(0 128 60 / .22)}
.sec--steps.d2-how .d2-how__call:hover{border-color:var(--primary-d);background:var(--primary-d);color:#fff}
.d2-how__tel{display:inline-flex}
.d2-how__tel svg{display:block}
@media (min-width:600px){
.d2-how .d2-steps4{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.d2-how .d2-steps4 li{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:18px 20px 22px}
.d2-how .d2-steps4 li::before{top:16px;left:16px;width:34px;height:34px;font-size:15px;line-height:34px}
.d2-how__ico{align-self:center;width:112px;margin:0 0 12px}
.d2-how .d2-steps4 strong,.d2-how .d2-steps4 span{align-self:stretch}
.sec--steps.d2-how .g--row>.g--col{grid-template-columns:112px minmax(0,1fr);column-gap:20px;padding:18px 22px 18px 16px}
.d2-how__pic{width:112px}
}
@media (min-width:768px){
.sec--steps.d2-how .d2-thead .is-title{font-size:38px;line-height:46px;margin-bottom:28px}
.d2-how__leaves{top:-36px;right:16px;width:128px}
}
@media (min-width:992px){
.d2-how .d2-steps4{grid-template-columns:repeat(4,minmax(0,1fr));gap:36px;margin-bottom:24px}
.d2-how .d2-steps4 li:not(:last-child)::after{content:"";position:absolute;top:50%;right:-28px;width:20px;height:20px;margin-top:-10px;background:var(--primary-bright);-webkit-mask:var(--i-arrow) center/contain no-repeat;mask:var(--i-arrow) center/contain no-repeat}
.sec--steps.d2-how .d2-thead .is-title{font-size:44px;line-height:52px;margin-bottom:32px}
.d2-how__leaves{top:-26px;right:32px;width:176px}
.sec--steps.d2-how .sec__in>.g--row{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sec--steps.d2-how .g--row>.g--col{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;align-content:start;padding:18px 20px 22px}
.d2-how__pic{grid-row:auto;justify-self:start;width:112px;margin:0 0 8px}
}
@media (min-width:1200px){
.sec--steps.d2-how .d2-thead .is-title{font-size:50px;line-height:58px}
.sec--steps.d2-how .g--row>.g--col{grid-template-columns:120px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:16px;padding:20px 20px 20px 14px}
.d2-how__pic{grid-row:1/span 2;align-self:center;width:120px;margin:0}
.d2-how .d2-steps4 strong{font-size:18px;line-height:24px}
.d2-how .d2-steps4 span{font-size:15px;line-height:21px}
.sec--steps.d2-how .g--col>.n-p--t3{font-size:19px;line-height:25px}
.sec--steps.d2-how .g--col>.n-p:not(.n-p--t3){font-size:15px;line-height:21px}
.d2-how .d2-steps4 li:not(:last-child)::after{width:24px;height:24px;margin-top:-12px;right:-30px}
}

/* ---------- 09 WhatsApp quote + lead form (first request block) */
.d2-req{background:linear-gradient(110deg,#EEF7EF,#F7FBF7 55%,#fff);border:1px solid #E6EFE7;border-radius:var(--r-xl)}
.d2-req>.g--row>.g--row>.n-p--t1{color:var(--ink)}
.d2-req .n-p--t1{font-size:26px;line-height:33px}
.d2-req .lead{border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-1)}
.d2-req .lead input,.d2-req .lead textarea{background:#F8FAF8;border-color:var(--border)}
.d2-req .lead__submit,.lead__submit{border-radius:var(--r-sm);background:var(--primary)}
.d2-reqsteps li::before{background:#fff;color:var(--accent);box-shadow:var(--sh-1)}
@media (min-width:768px){.d2-phone{border-color:#1F2A24;border-radius:32px}.d2-phone__bar,.d2-phone__head{background:var(--primary)}.d2-phone__ava{background:#fff}}
@media (min-width:992px){
.d2-req.has-phone{grid-template-columns:minmax(0,1.15fr) 250px minmax(0,1fr);grid-template-areas:"copy photo form";gap:24px 28px;align-items:center;padding:28px}
.d2-req.has-phone>.g--row{grid-area:copy}
.d2-req.has-phone>.lead{grid-area:form;align-self:stretch;align-content:center}
.d2-req.has-phone .d2-phone{width:250px;height:470px}
.d2-req.has-phone .d2-reqsteps{grid-template-columns:minmax(0,1fr)}
.d2-req.has-phone .lead__row{grid-template-columns:minmax(0,1fr)}
.d2-req.has-phone .n-p--t1{font-size:30px;line-height:37px;color:var(--primary-d)}
}

/* ---------- 10 stains we remove: round icon tiles + before/after photo */
.sec--problems .sec__in>.g--row{gap:20px 12px}
.sec--problems .g--col>.g--row::before{width:72px;height:72px;margin-left:-36px;background:#fff;box-shadow:0 2px 10px rgb(22 33 27 / .10);border:1px solid #EEF2EF}
.sec--problems .g--row>.n-img{width:40px;height:40px;margin:16px 0 22px;filter:none}
.sec--problems .g--col .n-p--t5{font-size:13px;line-height:18px;font-weight:700;margin-bottom:2px}
.sec--problems .g--col .n-p:not(.n-p--t5){font-size:12px;line-height:17px}
.d2-stain{display:none}
@media (min-width:768px){.sec--problems .sec__in>.g--row{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1200px){
.sec--problems .sec__in{display:grid;grid-template-columns:minmax(0,1fr) 400px;column-gap:32px;align-items:start}
.sec--problems .sec__in>.d2-thead,.sec--problems .sec__in>.is-title{grid-column:1/-1}
.sec--problems .sec__in>.g--row{grid-column:1;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px 10px}
.d2-stain{display:block;grid-column:2;grid-row:2;position:sticky;top:100px}
.d2-stain img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-xl);box-shadow:var(--sh-1)}
}

/* 10 on / = the operator's block09 mockup (refs-20261007/block09): "Какие проблемы мы решим:" left-aligned with a two-tone
   original title, twelve numbered white cards with the operator's picture above the original title and text (original svg icons
   hidden, kept for parity), no before/after photo. 2 columns <600, 3 at 600-991, 4 at 992-1199, 6 at >=1200. */
.sec--problems.d2-prob .sec__in{display:block}
.sec--problems.d2-prob .d2-thead{text-align:left}
.sec--problems.d2-prob .sec__in .is-title{margin:0 0 8px;color:var(--ink);text-align:left;font-size:30px;line-height:36px;font-weight:800;letter-spacing:-.02em}
.sec--problems.d2-prob .d2-tsub{max-width:none;margin:0 0 24px;text-align:left}
.sec--problems.d2-prob .sec__in>.is-title{margin-bottom:24px} /* inner pages: no home-only subtitle d2-067 under the title */
.sec--problems.d2-prob .sec__in>.g--row{counter-reset:prob;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sec--problems.d2-prob .g--col>.g--row{counter-increment:prob;align-items:stretch;text-align:left;padding:12px 12px 16px;border:1px solid #EEF2EF;border-radius:18px;background:#fff;box-shadow:0 1px 2px rgb(11 31 53 / .04),0 10px 24px rgb(11 31 53 / .06)}
.sec--problems.d2-prob .g--col>.g--row::before{content:counter(prob);z-index:1;top:10px;left:10px;width:28px;height:28px;margin:0;border:0;border-radius:50%;background:var(--mint);box-shadow:none;color:var(--primary);font:800 13px/28px var(--sans);text-align:center}
.sec--problems.d2-prob .g--row>.n-img{display:none}
.d2-prob__pic{margin:24px 0 10px}
.d2-prob__pic img{display:block;width:100%;height:auto}
.sec--problems.d2-prob .g--col .n-p--t5{margin:0 0 6px;color:var(--ink);font-size:14px;line-height:19px;font-weight:800}
.sec--problems.d2-prob .g--col .n-p:not(.n-p--t5){margin:0;color:var(--muted);font-size:13px;line-height:18px}
@media (min-width:600px){.sec--problems.d2-prob .sec__in>.g--row{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media (min-width:768px){
.sec--problems.d2-prob .sec__in .is-title{font-size:38px;line-height:46px}
.sec--problems.d2-prob .d2-tsub{margin-bottom:28px}
.sec--problems.d2-prob .sec__in>.is-title{margin-bottom:28px}
}
@media (min-width:992px){
.sec--problems.d2-prob .sec__in>.g--row{grid-template-columns:repeat(4,minmax(0,1fr))}
.sec--problems.d2-prob .sec__in .is-title{font-size:44px;line-height:52px}
}
@media (min-width:1200px){
.sec--problems.d2-prob .sec__in>.g--row{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.sec--problems.d2-prob .sec__in .is-title{font-size:50px;line-height:58px}
.sec--problems.d2-prob .g--col .n-p--t5{font-size:16px;line-height:21px}
}

/* ---------- 11 why choose us: icon + label strip */
.sec--advantages .sec__in>.g--row{border:0;gap:8px}
.sec--advantages .g--col,.sec--advantages .g--col:nth-child(n){grid-template-columns:44px minmax(0,1fr);column-gap:14px;padding:12px 0;border:0}
.sec--advantages .g--col>.n-img{width:44px;height:44px;padding:9px;border-radius:12px;background:var(--mint);filter:none}
.sec--advantages .g--col .n-p--t5{font-size:14px;line-height:19px;font-weight:700;margin:2px 0 2px}
.sec--advantages .g--col .n-p:not(.n-p--t5){font-size:13px;line-height:19px}
@media (min-width:768px){.sec--advantages .sec__in>.g--row{gap:8px 24px}}
@media (min-width:1200px){.sec--advantages .sec__in>.g--row{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}}
/* 11 on / = the operator's block10 mockup (refs-20261007/block10): "Наши преимущества:" left-aligned, four white cards with the
   operator's icon on a mint tile above the original title and text (original svg icons hidden, kept for parity).
   1 column <600, 2 at 600-991, 4 at >=992. */
.sec--advantages.d2-adv .sec__in{display:block}
.sec--advantages.d2-adv .is-title{margin:0 0 20px;color:var(--ink);text-align:left;font-size:30px;line-height:36px;font-weight:800;letter-spacing:-.02em}
.sec--advantages.d2-adv .sec__in>.g--row{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;border:0}
.sec--advantages.d2-adv .g--col,.sec--advantages.d2-adv .g--col:nth-child(n){display:block;padding:20px 20px 22px;border:1px solid #E3F1E7;border-radius:18px;background:#fff;box-shadow:0 1px 2px rgb(11 31 53 / .04),0 10px 24px rgb(11 31 53 / .06)}
.sec--advantages.d2-adv .g--col>.n-img{display:none}
.d2-adv__ico{display:grid;place-items:center;width:72px;height:72px;margin:0 0 16px;border-radius:16px;background:var(--mint)}
.d2-adv__ico img{display:block;width:54px;height:54px}
.sec--advantages.d2-adv .g--col .n-p--t5{margin:0 0 8px;color:var(--ink);font-size:17px;line-height:22px;font-weight:800}
.sec--advantages.d2-adv .g--col .n-p:not(.n-p--t5){margin:0;color:var(--muted);font-size:14px;line-height:21px}
@media (min-width:600px){.sec--advantages.d2-adv .sec__in>.g--row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media (min-width:768px){.sec--advantages.d2-adv .is-title{margin-bottom:24px;font-size:38px;line-height:46px}}
@media (min-width:992px){
.sec--advantages.d2-adv .sec__in>.g--row{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.sec--advantages.d2-adv .is-title{font-size:44px;line-height:52px}
.sec--advantages.d2-adv .g--col,.sec--advantages.d2-adv .g--col:nth-child(n){padding:22px 22px 26px}
.d2-adv__ico{width:88px;height:88px;margin-bottom:20px;border-radius:18px}
.d2-adv__ico img{width:66px;height:66px}
}
@media (min-width:1200px){.sec--advantages.d2-adv .is-title{font-size:50px;line-height:58px}.sec--advantages.d2-adv .g--col .n-p--t5{font-size:19px;line-height:25px}}

/* ---------- 12 reviews: title above three cards */
@media (min-width:992px){.sec--reviews .sec__in{grid-template-columns:minmax(0,1fr);gap:0}}
.sec--reviews .g--card{position:relative;gap:10px;padding:20px;border-radius:var(--r-lg);background:#F8FAF8;border-color:#EEF2EF;box-shadow:none}
.sec--reviews .g--card>.g--row{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:12px;align-items:center}
.sec--reviews .g--card>.g--row::before{content:"";grid-row:1/span 2;width:44px;height:44px;border-radius:50%;background:var(--leaf) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231E7A34' d='M12 12a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9zm0 2c-4 0-8 2-8 5v2h16v-2c0-3-4-5-8-5z'/%3E%3C/svg%3E") center/24px no-repeat}
.sec--reviews .n-p--t4{font:700 15px/20px var(--sans)}
.sec--reviews .g--box .n-img{width:15px;height:15px}
.sec--reviews .g--card .n-p--lead{font-size:14px;line-height:21px}
.sec--reviews .g--card .n-p--lead em{font-style:normal}

/* ---------- 13 FAQ: title on top, two columns of compact rows */
@media (min-width:992px){.sec--faq .sec__in{grid-template-columns:minmax(0,1fr);gap:0}.d2-faqhead{position:static}.faq{gap:10px 16px}}
.faq{gap:10px}
.faq__item{border-color:#E9EEEA;border-radius:var(--r-sm)}
.faq__q{min-height:48px;padding:10px 16px}
.faq__qh{font:500 14px/20px var(--sans);color:var(--ink)}
.faq__icon::before,.faq__icon::after{background:var(--ink);width:12px;margin-left:-6px}
.faq__a{font-size:14px;line-height:22px}
/* 12 + 13 on / = the operator's block11 mockups (refs-20261007/block11). Reviews: green bar over the left-aligned original title,
   line d2-090, three white cards (avatar, name, five green stars drawn over the original star images, quote mark); 1 column <600,
   2 at 600-991, 3 at >=992. FAQ: two-tone original title, question bubbles top right, the original <details> rows numbered
   01-08 by a CSS counter with a round +/- toggle, first row open; 1 column <992, 2 at >=992. */
.sec--reviews.d2-rev .sec__in{display:block}
.sec--reviews.d2-rev .d2-thead::before{content:"";display:block;width:36px;height:4px;margin:0 0 14px;border-radius:2px;background:var(--primary-bright)}
.sec--reviews.d2-rev .is-title,.sec--faq.d2-faq .is-title{margin:0 0 8px;color:var(--ink);text-align:left;font-size:30px;line-height:36px;font-weight:800;letter-spacing:-.02em}
.sec--reviews.d2-rev .d2-tsub{margin:0 0 20px}
.sec--reviews.d2-rev .sec__in>.g--row{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;overflow:visible;padding:0;margin:0}
.sec--reviews.d2-rev .g--card{display:flex;flex-direction:column;gap:14px;padding:20px 20px 22px;border:1px solid #E3F1E7;border-radius:18px;background:#fff;box-shadow:0 1px 2px rgb(11 31 53 / .04),0 10px 24px rgb(11 31 53 / .06)}
.sec--reviews.d2-rev .g--card::after{content:"\201D";position:absolute;top:10px;right:18px;color:#BFE5CB;font:800 56px/1 Georgia,serif;pointer-events:none}
.sec--reviews.d2-rev .g--card>.g--row{grid-template-columns:52px minmax(0,1fr);column-gap:14px;row-gap:4px;padding-right:36px}
.sec--reviews.d2-rev .g--card>.g--row::before{width:52px;height:52px;background-color:var(--mint);background-size:26px}
.sec--reviews.d2-rev .n-p--t4{font:700 16px/22px var(--sans);color:var(--ink)}
.sec--reviews.d2-rev .g--box{gap:4px;width:max-content;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 16'%3E%3Cpath fill='%2328A745' d='M8 .6l2.3 4.8 5.2.7-3.8 3.6.9 5.2L8 12.4l-4.6 2.5.9-5.2L.5 6.1l5.2-.7z'/%3E%3C/svg%3E") 0 0/20px 16px repeat-x}
.sec--reviews.d2-rev .g--box .n-img{width:16px;height:16px;opacity:0}
.sec--reviews.d2-rev .g--card .n-p--lead{color:var(--text);font-size:15px;line-height:23px}
.sec--faq.d2-faq .d2-faqhead{position:relative;top:auto;margin:0 0 20px;padding-right:96px}
.sec--faq.d2-faq .d2-faq__pic{position:absolute;top:0;right:0;width:88px}
.d2-faq__pic img{display:block;width:100%;height:auto}
.sec--faq.d2-faq .faq{counter-reset:faq;gap:10px}
.sec--faq.d2-faq .faq__item{counter-increment:faq;border:1px solid #E3F1E7;border-radius:16px;background:#fff;box-shadow:0 1px 2px rgb(11 31 53 / .04),0 6px 16px rgb(11 31 53 / .05)}
.sec--faq.d2-faq .faq__item[open]{background:#F3FAF5;border-color:#CDEBD7}
.sec--faq.d2-faq .faq__q{gap:12px;min-height:64px;padding:12px 14px;border-radius:16px;cursor:pointer}
.sec--faq.d2-faq .faq__q::before{content:counter(faq,decimal-leading-zero);content:counter(faq,decimal-leading-zero) / "";flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--mint);color:var(--primary);font:700 14px/1 var(--sans)}
.sec--faq.d2-faq .faq__qh{flex:1;font:600 15px/21px var(--sans);color:var(--ink)}
.sec--faq.d2-faq .faq__q:hover .faq__qh{color:var(--primary)}
.sec--faq.d2-faq .faq__icon{width:36px;height:36px;border-radius:50%;background:#F0F3F1;transition:background-color .15s var(--ease)}
.sec--faq.d2-faq .faq__icon::before,.sec--faq.d2-faq .faq__icon::after{width:12px;margin-left:-6px;background:var(--ink)}
.sec--faq.d2-faq .faq__item[open] .faq__icon{background:var(--primary)}
.sec--faq.d2-faq .faq__item[open] .faq__icon::before,.sec--faq.d2-faq .faq__item[open] .faq__icon::after{background:#fff}
.sec--faq.d2-faq .faq__q:hover .faq__icon{background:var(--mint)}
.sec--faq.d2-faq .faq__item[open] .faq__q:hover .faq__icon{background:var(--primary-d)}
.sec--faq.d2-faq .faq__a{padding:0 16px 18px 66px;color:var(--text);font-size:14px;line-height:23px}
@media (max-width:599px){.sec--faq.d2-faq .faq__a{padding-left:16px}}
@media (min-width:600px){.sec--reviews.d2-rev .sec__in>.g--row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media (min-width:768px){
.sec--reviews.d2-rev .is-title,.sec--faq.d2-faq .is-title{font-size:38px;line-height:46px}
.sec--reviews.d2-rev .d2-tsub{margin-bottom:24px}
.sec--faq.d2-faq .d2-faqhead{margin-bottom:24px;padding-right:160px}
.sec--faq.d2-faq .d2-faq__pic{width:140px}
}
@media (min-width:992px){
.sec--reviews.d2-rev .sec__in>.g--row{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sec--reviews.d2-rev .is-title,.sec--faq.d2-faq .is-title{font-size:44px;line-height:52px}
.sec--reviews.d2-rev .g--card{padding:24px 24px 26px}
.sec--faq.d2-faq .faq{gap:12px 20px}
.sec--faq.d2-faq .faq__q{padding:14px 16px}
.sec--faq.d2-faq .d2-faq__pic{width:180px;top:-8px}
.sec--faq.d2-faq .d2-faqhead{padding-right:200px}
}
@media (min-width:1200px){.sec--reviews.d2-rev .is-title,.sec--faq.d2-faq .is-title{font-size:50px;line-height:58px}}

/* ---------- 14 articles: blog cards */
.sec--blogcards .sec__in>.g--box>.g--row:first-child{max-width:none;margin-bottom:8px}
.sec--blogcards .g--card,.v-blog .sec__in>.g--row:last-child>.g--col{border-radius:var(--r-lg);box-shadow:var(--sh-1)}
.sec--blogcards .g--card{padding:8px}
.sec--blogcards .g--card>picture>.n-img{aspect-ratio:16/8;border-radius:var(--r-md)}
.sec--blogcards .g--card>.g--box,.sec--blogcards .g--card>.g--col{padding:12px 8px 8px}
.sec--blogcards .g--card .n-p--t3{font:700 16px/22px var(--sans)}
.sec--blogcards .g--card .n-p:not([class*="--t"]){font-size:13px;line-height:19px}
.sec--blogcards .g--card .btn,.v-blog .g--col>.btn{min-height:40px;padding:0;background:none;border:0;box-shadow:none;color:var(--accent);font-size:14px}
.sec--blogcards .g--card .btn::after,.v-blog .g--col>.btn::after{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:var(--i-arrow) center/contain no-repeat;mask:var(--i-arrow) center/contain no-repeat}
.sec--blogcards .g--card .btn:hover,.v-blog .g--col>.btn:hover{background:none;color:var(--primary-d);text-decoration:underline}
.sec--blogcards .sec__in>.g--col .btn{min-height:44px}
/* block13 mockup (operator 2026-10-07): home blog. Head = two-tone original title + subtitle, the original "Читать все
   статьи" as a white pill and the prev/next arrows top right (>=992), a scroll-snap row of the three original cards,
   1 / 2 / 3 per view (<768 / 768-991 / >=992). Arrows are shown by theme.js; without it the row still scrolls. */
.sec--blogcards.d2-blog .sec__in>.g--box{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 12px}
.sec--blogcards.d2-blog .d2-blog__head{grid-column:1/-1;max-width:none;margin:0}
.sec--blogcards.d2-blog .is-title,.sec--gallery.d2-ba .is-title{margin:0 0 10px;font-size:30px;line-height:37px}
.sec--blogcards.d2-blog .d2-blog__head .n-p--lead{max-width:520px;margin:0}
.sec--blogcards.d2-blog .sec__in>.g--box>.g--col{grid-row:2;grid-column:1;justify-self:start;display:flex;margin:0;padding:0}
.sec--blogcards.d2-blog .d2-blog__nav{grid-row:2;grid-column:2;display:flex;gap:10px}
.sec--blogcards.d2-blog .d2-blog__nav[hidden]{display:none}
.sec--blogcards.d2-blog .d2-blog__track{grid-row:3;grid-column:1/-1;display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:88%;gap:16px;margin:0 -6px;padding:6px 6px 18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 6px;scrollbar-width:none}
.sec--blogcards.d2-blog .d2-blog__track::-webkit-scrollbar{display:none}
.sec--blogcards.d2-blog .d2-blog__track>.g--card{scroll-snap-align:start;padding:8px;border-radius:var(--r-xl)}
.sec--blogcards.d2-blog .g--card>picture>.n-img{aspect-ratio:2/1;border-radius:var(--r-md)}
.sec--blogcards.d2-blog .g--card>.g--box{display:flex;flex:1;flex-direction:column;padding:16px 10px 6px}
.sec--blogcards.d2-blog .g--card .n-p--t3{margin:0 0 10px;font:700 17px/24px var(--sans);color:var(--ink)}
.sec--blogcards.d2-blog .g--card .n-p:not([class*="--t"]){margin:0 0 14px;font-size:14px;line-height:21px;color:var(--muted)}
.sec--blogcards.d2-blog .g--card .btn{align-self:flex-start;gap:12px;margin-top:auto;min-height:44px;font-weight:700;text-decoration:none}
.sec--blogcards.d2-blog .g--card .btn::after,.sec--blogcards.d2-blog .g--col>.btn::after{content:"";flex:none;width:32px;height:32px;border-radius:50%;-webkit-mask:none;mask:none;background:var(--mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E8236' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .15s var(--ease)}
.sec--blogcards.d2-blog .g--card .btn:hover::after,.sec--blogcards.d2-blog .g--col>.btn:hover::after{transform:translateX(3px)}
.sec--blogcards.d2-blog .g--col>.btn{min-height:48px;gap:14px;padding:6px 6px 6px 20px;border:1px solid var(--border);border-radius:999px;background:var(--surface);box-shadow:var(--sh-1);color:var(--ink);font-size:14px;font-weight:700}
.sec--blogcards.d2-blog .g--col>.btn:hover{border-color:var(--accent);background:var(--mint)}
.sec--blogcards.d2-blog .car__btn,.sec--gallery.d2-ba .car__btn{position:static;width:48px;height:48px;margin:0;color:var(--ink)}
.sec--blogcards.d2-blog .car__btn--next,.sec--gallery.d2-ba .car__btn--next{background:var(--mint);color:var(--accent)}
.sec--blogcards.d2-blog .car__btn[aria-disabled="true"],.sec--gallery.d2-ba .car__btn[aria-disabled="true"]{opacity:.45;cursor:default}
@media (min-width:768px){
.sec--blogcards.d2-blog .is-title,.sec--gallery.d2-ba .is-title{font-size:38px;line-height:46px}
.sec--blogcards.d2-blog .d2-blog__track{grid-auto-columns:calc((100% - 20px) / 2);gap:20px}
}
@media (min-width:992px){
.sec--blogcards.d2-blog .sec__in>.g--box{grid-template-columns:minmax(0,1fr) auto auto;gap:28px 24px}
.sec--blogcards.d2-blog .d2-blog__head{grid-row:1;grid-column:1}
.sec--blogcards.d2-blog .sec__in>.g--box>.g--col{grid-row:1;grid-column:2}
.sec--blogcards.d2-blog .d2-blog__nav{grid-row:1;grid-column:3;margin-left:32px}
.sec--blogcards.d2-blog .d2-blog__track{grid-row:2;grid-auto-columns:calc((100% - 48px) / 3);gap:24px}
}
@media (min-width:1200px){.sec--blogcards.d2-blog .is-title,.sec--gallery.d2-ba .is-title{font-size:50px;line-height:58px}}
.v-blog .n-link .n-h2{font:700 17px/24px var(--sans)}

/* ---------- 15 before/after: four photos per row */
.sec--gallery .sec__in>.g--row{max-width:none;margin:0 0 8px}
.car__slide{padding:0;border-radius:var(--r-md);box-shadow:none;overflow:hidden}
.car__img{border-radius:var(--r-md);object-fit:cover}
.d2-cap{left:10px;top:10px;padding:1px 9px;border-radius:6px;background:rgb(22 33 27 / .78);color:#fff;font-size:12px;box-shadow:none}
.car__btn{color:var(--ink)}
@media (min-width:992px){.car__slide{flex-basis:calc((100% - 48px) / 4)}}
@media (min-width:1200px){.car__track{gap:16px}.car__slide{flex-basis:calc((100% - 48px) / 4)}}
/* block14 mockup (operator 2026-10-07): home before/after. Two-tone original title + lead, the original carousel's
   prev/next as round arrows top right (block13 arrow rules), rounded photo cards 1 / 2 / 4 per view (<768 / 768-991 /
   >=992), dot pagination from theme.js below. .car is display:contents so its track, nav and dots share one grid. */
.sec--gallery.d2-ba .sec__in>.g--row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px 24px;margin:0}
.sec--gallery.d2-ba .sec__in>.g--row>.g--col{grid-column:1/-1;max-width:none;margin:0;padding:0}
.sec--gallery.d2-ba .n-p--lead{max-width:640px;margin:0;color:var(--muted)}
.sec--gallery.d2-ba .car{display:contents}
.sec--gallery.d2-ba .car__nav{grid-row:2;grid-column:2;gap:10px;margin:0}
.sec--gallery.d2-ba .car__track{grid-row:3;grid-column:1/-1;gap:16px;margin:0 -6px;padding:6px 6px 10px;scroll-padding:0 6px}
.sec--gallery.d2-ba .car__slide{flex-basis:100%;border-radius:var(--r-lg);box-shadow:var(--sh-1)}
.sec--gallery.d2-ba .car__img{display:block;aspect-ratio:1;border-radius:var(--r-lg)}
.sec--gallery.d2-ba .d2-dots{grid-row:4;grid-column:1/-1;justify-self:center;display:flex;flex-wrap:wrap;justify-content:center;max-width:100%}
.sec--gallery.d2-ba .d2-dots[hidden]{display:none}
.d2-dots__dot{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:12px;background:none;cursor:pointer}
.d2-dots__dot::before{content:"";width:8px;height:8px;border-radius:4px;background:#8292A5;transition:width .2s var(--ease),background-color .2s var(--ease)}
.d2-dots__dot:hover::before{background:var(--ink)}
.d2-dots__dot[aria-current="true"]::before{width:20px;background:var(--primary)}
.d2-dots__dot:focus-visible{outline:3px solid var(--accent);outline-offset:0}
/* <768: one dot per photo (15); 22px targets fit one row at 390, the 48px arrows do the same job (WCAG 2.5.8 equivalent). */
@media (max-width:767px){.d2-dots__dot{width:22px}}
@media (min-width:768px){.sec--gallery.d2-ba .car__slide{flex-basis:calc((100% - 16px) / 2)}}
@media (min-width:992px){
.sec--gallery.d2-ba .sec__in>.g--row{gap:28px 24px}
.sec--gallery.d2-ba .sec__in>.g--row>.g--col{grid-column:1}
.sec--gallery.d2-ba .car__nav{grid-row:1;align-self:center}
.sec--gallery.d2-ba .car__track{grid-row:2}
.sec--gallery.d2-ba .car__slide{flex-basis:calc((100% - 48px) / 4)}
.sec--gallery.d2-ba .d2-dots{grid-row:3}
}

/* ---------- 16 SEO text: title + two columns split by a rule */
.sec--longtext .g--row,.sec--text.v-flow .g--row{max-width:none}
.sec--longtext .n-h2:not(.is-title),.sec--text.v-flow .n-h2:not(.is-title),.sec--longtext .is-title,.sec--text.v-flow .is-title{font:800 20px/27px var(--sans);margin:20px 0 10px}
.sec--longtext .n-p,.sec--text.v-flow .n-p,.sec--longtext .n-list,.sec--text.v-flow .n-list{font-size:14px;line-height:22px}
.sec--tips .n-p--t3{font:700 18px/25px var(--sans)}
@media (min-width:992px){
.sec--longtext .sec__in>.g--row,.sec--text.v-flow .sec__in>.g--row{columns:2;column-gap:56px;column-rule:1px solid var(--border)}
.sec--longtext .sec__in>.g--row>*,.sec--text.v-flow .sec__in>.g--row>*{break-inside:avoid-column}
.sec--longtext .n-h2,.sec--text.v-flow .n-h2{break-after:avoid-column}
.sec--longtext .sec__in>.g--row>:first-child,.sec--text.v-flow .sec__in>.g--row>:first-child{margin-top:0}
.sec--longtext .n-html,.sec--text.v-flow .n-html{break-inside:avoid}
}

/* ---------- 17 final CTA: green rounded band */
.is-band{background:#fff;padding:24px 0}
.is-band .d2-req{position:relative;isolation:isolate;overflow:hidden;padding:24px var(--pad);border:0;border-radius:var(--r-xl);background:linear-gradient(100deg,#1E8236 0,#1B7A31 45%,#145C26 100%)}
.is-band .n-p--t1{color:#fff}
.is-band .d2-req .n-p--lead,.is-band .d2-reqline,.is-band .d2-bandmeta{color:var(--band-text-2)}
.is-band .d2-btnrow .btn.is-wa{background:#fff;border-color:#fff;color:var(--ink)}
.is-band .d2-btnrow .btn.is-wa::before{background:var(--primary)}
.is-band .d2-btnrow .btn.is-wa:hover{background:var(--mint);border-color:var(--mint);color:var(--ink)}
.is-band .d2-btn-wa{background:#2E9B45;border-color:#2E9B45;color:#fff;box-shadow:none}
.is-band .d2-btn-wa::before{background:#fff}
.is-band .d2-btn-wa:hover{background:#278B3C;border-color:#fff;color:#fff}
.is-band .d2-hours::before{background:#fff}
.is-band .d2-req .lead{color:var(--text)}
@media (min-width:768px){
.is-band{padding:32px 0}
.is-band .d2-req{padding:32px}
.d2-deco--band{z-index:-1;width:46%;-webkit-mask:linear-gradient(90deg,transparent,#000 45%);mask:linear-gradient(90deg,transparent,#000 45%)}
.d2-deco--band::after{background:linear-gradient(90deg,rgb(27 122 49 / .6),rgb(20 92 38 / .25))}
}
@media (min-width:992px){.is-band .d2-req{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px 48px;padding:32px 40px}}

/* ---------- 18 footer */
.ft{padding-top:32px;background:#F6F8F6;border-top:1px solid var(--border);font-size:14px}
.ft__logo{display:block;margin:0 0 12px}
.ft__logo img{display:block;width:auto;height:44px}
.ft__blurb{font-size:13px;line-height:20px;color:var(--muted)}
.ft__h,.fsoc__title,.fsrv__title,.fsoc__share-title{font-size:13px;color:var(--ink)}
.ft__links a,.fsrv__list a{padding:8px 0;font-size:14px;color:var(--text)}
.fsoc__ig,.ft .fsoc__ig{width:40px;height:40px;border-radius:10px;background:var(--primary);color:#fff}
.ft .fsoc__ig:hover{background:var(--primary-d);color:#fff}
.ft__con p{font-size:14px;padding:6px 0}
.ft .fsrv__phone a{font-size:20px;line-height:28px;font-weight:800}
.ft__bot{color:var(--muted);font-size:12px}
.d2-wa{color:var(--accent)}
.d2-wa::before{background:var(--primary)}

/* ---------- inner pages: intro, article, contacts share the same type and cards */
.sec--intro{background:linear-gradient(180deg,#F3F9F3,#fff)}
.sec--intro .sec__in>.g--row>picture>.n-img,.sec--article .sec__in>.g--row picture>.n-img,.sec--article .sec__in>.g--row>.n-img,.sec--tips .g--row>picture>.n-img{border-radius:var(--r-xl)}
.v-svc .sec__in>.g--row>.g:first-child>.n-img{background:var(--mint)}
.v-svc .sec__in>.g--row>picture>.n-img{border-radius:var(--r-xl)}
.modal__title,.item-modal__title{font-weight:800}
.d2-badge{background:var(--primary)}

/* ---------- media crop fixes (VQA 2026-10-07): the videos carry baked-in captions, so show them uncropped */
.sec--cards .g--card>.n-video{aspect-ratio:1/1;object-position:50% 0}
.sec--media .n-video{width:min(100%,320px);height:auto;max-height:none;aspect-ratio:9/16;justify-self:center;object-fit:cover}

/* ---------- block12 (operator mockup refs-20261007/block12, 2026-10-07): every request block is a contact card
   (call + WhatsApp, hours, photo on the right) and d2 has no form; floating WhatsApp + call buttons replace the
   original mobile bar (kept in the DOM, hidden) by restyling the original call widget (.callw, alts unchanged).
   Photo and 3D icons: client uploads, assets 1477-1479. */
.sec--request.d2-cc{padding-block:24px}
.d2-cc .d2-req{position:relative;isolation:isolate;overflow:hidden;display:block;padding:0;border:1px solid #E3EEE5;border-radius:var(--r-xl);background:linear-gradient(115deg,#E9F5EB 0,#F3F9F4 48%,#F4F9F4 100%);box-shadow:var(--sh-1)}
.d2-cc .d2-req>.g--row{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:20px;min-width:0;padding:28px 20px 4px}
.d2-cc .d2-req>.g--row>.g--row{display:flex;flex-direction:column;gap:12px}
.d2-cc .d2-req>.g--row>.g--row>.n-p--t1{margin:0;font-size:34px;line-height:1.1;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.d2-cc .d2-req .n-p--lead,.d2-cc .d2-reqline{margin:0;font-size:16px;line-height:1.55;color:var(--text)}
.d2-cc__gone{display:none!important}
.d2-cc .d2-btnrow{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;width:100%}
.d2-cc__call,.d2-cc .d2-btnrow .btn.is-wa{display:flex;align-items:center;justify-content:flex-start;gap:14px;min-height:72px;padding:12px 12px 12px 10px;border-radius:18px;font-size:17px;font-weight:700;line-height:1.25;text-align:left;text-decoration:none}
.d2-cc__call{border:0;background:linear-gradient(135deg,#2A9A43 0,#1E8236 55%,#176A2B 100%);color:#fff;box-shadow:0 10px 24px rgb(30 130 54 / .28)}
.d2-cc__call:hover{background:linear-gradient(135deg,#238C3B 0,#176A2B 100%);color:#fff}
.d2-cc__ico{flex:none;width:52px;height:52px;border-radius:50%;background-color:#fff;background-position:center;background-size:44px;background-repeat:no-repeat;background-image:url(img/fab-call-128.png);background-image:image-set(url(img/fab-call-128.webp) type("image/webp"),url(img/fab-call-128.png) type("image/png"))}
.d2-cc__txt{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}
.d2-cc__txt small{font-size:15px;font-weight:500;white-space:nowrap}
.d2-cc__go,.d2-cc .d2-btnrow .btn.is-wa::after{content:"";flex:none;width:36px;height:36px;margin-left:auto;border-radius:50%;background:rgb(255 255 255 / .2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/18px no-repeat}
.d2-cc .d2-btnrow .btn.is-wa{border:1px solid var(--border);background:#fff;color:var(--ink);box-shadow:var(--sh-1)}
.d2-cc .d2-btnrow .btn.is-wa:hover{border-color:var(--primary);background:#fff;color:var(--ink)}
.d2-cc .d2-btnrow .btn.is-wa::before{width:52px;height:52px;background:url(img/fab-wa-128.png) center/contain no-repeat;background-image:image-set(url(img/fab-wa-128.webp) type("image/webp"),url(img/fab-wa-128.png) type("image/png"));-webkit-mask:none;mask:none}
.d2-cc .d2-btnrow .btn.is-wa::after{background-color:var(--mint);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E8236' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
.d2-cc__call:focus-visible,.d2-cc .d2-btnrow .btn.is-wa:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.d2-cc .d2-hours{display:flex;align-items:center;gap:10px;margin:0;color:var(--text);font-size:15px;font-weight:500}
.d2-cc .d2-hours::before{width:20px;height:20px;background:var(--accent)}
.d2-cc__photo{position:relative;display:block;aspect-ratio:16/10;margin-top:4px;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 28%);mask-image:linear-gradient(180deg,transparent 0,#000 28%)}
.d2-cc__photo picture,.d2-cc__photo img{display:block;width:100%;height:100%}
.d2-cc__photo img{object-fit:cover;object-position:88% 50%}
@media (min-width:768px){
.d2-cc .d2-req{min-height:400px}
.d2-cc .d2-req>.g--row{width:60%;padding:40px 0 40px 40px}
.d2-cc .d2-req>.g--row>.g--row>.n-p--t1{font-size:42px}
.d2-cc__photo{position:absolute;z-index:0;top:0;right:0;bottom:0;width:56%;margin:0;aspect-ratio:auto;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34%);mask-image:linear-gradient(90deg,transparent 0,#000 34%)}
.d2-cc__photo img{object-position:100% 50%}
}
@media (min-width:992px){
.sec--request.d2-cc{padding-block:32px}
.d2-cc .d2-req{min-height:440px}
.d2-cc .d2-req>.g--row{width:56%;gap:24px;padding:52px 0 48px 56px}
.d2-cc .d2-req>.g--row>.g--row>.n-p--t1{font-size:52px}
.d2-cc .d2-req .n-p--lead,.d2-cc .d2-reqline{font-size:17px}
.d2-cc__photo{width:54%}
}
@media (min-width:1100px){.d2-cc .d2-btnrow{grid-template-columns:repeat(2,max-content)}.d2-cc__call,.d2-cc .d2-btnrow .btn.is-wa{min-width:250px}}
/* request modal: the call button sits where the form was */
.modal__body .d2-cc__call{display:flex;align-items:center;gap:14px;min-height:72px;padding:12px 12px 12px 10px;border-radius:18px;font-size:17px;line-height:1.25;text-align:left;text-decoration:none;border:0;background:linear-gradient(135deg,#2A9A43 0,#1E8236 55%,#176A2B 100%);color:#fff}
.modal__body .d2-cc__ico{flex:none;width:52px;height:52px;border-radius:50%;background:#fff url(img/fab-call-128.png) center/44px no-repeat}
.modal__body .d2-cc__txt{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}
.modal__body .d2-cc__txt small{font-size:15px;font-weight:500}
.modal__body .d2-cc__go{flex:none;width:36px;height:36px;border-radius:50%;background:rgb(255 255 255 / .2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/18px no-repeat}
/* floating buttons: <992 WhatsApp bottom-left + call bottom-right (above the design switcher), >=992 WhatsApp bottom-right */
.mbar{display:none!important}
.callw{display:block}
.callw__a{position:fixed;z-index:900;display:block;width:56px;height:56px;border-radius:50%;background-position:center;background-size:contain;background-repeat:no-repeat;filter:drop-shadow(0 6px 12px rgb(11 31 53 / .25));transition:transform .15s}
.callw__a.is-wa{background-image:url(img/fab-wa-128.png);background-image:image-set(url(img/fab-wa-128.webp) type("image/webp"),url(img/fab-wa-128.png) type("image/png"))}
.callw__a.is-tel{background-image:url(img/fab-call-128.png);background-image:image-set(url(img/fab-call-128.webp) type("image/webp"),url(img/fab-call-128.png) type("image/png"))}
.callw__img{display:block;width:100%;height:100%;opacity:0}
.callw__a:hover{transform:translateY(-2px)}
.callw__a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.callw__a{transition:none}.callw__a:hover{transform:none}}
@media (max-width:991.98px){
:root{--fab-b:calc(14px + env(safe-area-inset-bottom,0px))}
body:has(.hs-switcher){--fab-b:calc(70px + env(safe-area-inset-bottom,0px))}
body{padding-bottom:calc(var(--fab-b) + 68px)}
.callw__a{bottom:var(--fab-b)}
.callw__a.is-wa{left:calc(12px + env(safe-area-inset-left,0px))}
.callw__a.is-tel{right:calc(12px + env(safe-area-inset-right,0px))}
body:has(#d2-nav-cb:checked) .callw{display:none}
}
@media (min-width:992px){
.callw__a{width:64px;height:64px}
.callw__a.is-tel{display:none}
.callw__a.is-wa{right:calc(24px + env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px))}
}

/* ---------- 15 home text block "Химчистка мебели на выезд" ... (operator block15 mockup, section.d2-lt): one column,
   two from 992; left = intro with the sofa photo, "на выезд" card with a check list, "Цены" card with link rows;
   right = headings with icon tiles, a WhatsApp link card and a blog link card. Original nodes and order unchanged. */
.sec--text.d2-lt{--lt-chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E7A34' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m10 7 5 5-5 5'/%3E%3C/svg%3E")}
.sec--text.d2-lt .sec__in>.g--row{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;columns:auto;max-width:none;margin:0}
.d2-lt__col{min-width:0}
.d2-lt__intro{display:flex;flex-direction:column;margin-bottom:20px}
.sec--text.d2-lt .d2-lt__lead{margin:0}
.d2-lt__title{display:block;margin-bottom:12px;font:800 24px/31px var(--sans);color:var(--ink)}
.d2-lt__sofa{order:2;margin-top:12px}
.d2-lt__sofa img{display:block;width:100%;max-width:340px;height:auto;margin:0 auto}
.d2-lt__card{position:relative;margin-bottom:20px;padding:20px 16px;border:1px solid var(--border);border-radius:var(--r-xl);background:#fff;box-shadow:var(--sh-1);container-type:inline-size}
.d2-lt__h{display:flex;align-items:center;gap:14px;margin:28px 0 12px}
.d2-lt__card .d2-lt__h,.d2-lt__col:last-child>.d2-lt__h:first-child{margin-top:0}
.sec--text.d2-lt .d2-lt__h .n-h2{margin:0;font:800 20px/27px var(--sans);color:var(--ink)}
.d2-lt__tile{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--mint)}
.d2-lt__tile img{display:block;width:34px;height:34px}
.sec--text.d2-lt .d2-lt__card .n-p{margin:0;color:var(--muted)}
.sec--text.d2-lt .d2-lt__checks{margin:14px 0 0}
.sec--text.d2-lt .d2-lt__checks li{padding-left:30px;margin-bottom:10px;break-inside:avoid}
.d2-lt__checks li::before{left:0;top:1px;width:20px;height:20px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%233CB043'/%3E%3Cpath d='m5.8 10.2 2.8 2.8 5.6-5.8' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}
.d2-lt__chair{display:none}
@container (min-width:440px){.sec--text.d2-lt .d2-lt__checks{columns:2;column-gap:20px}}
@container (min-width:470px){
.sec--text.d2-lt .d2-lt__checks{margin-right:104px}
.d2-lt__chair{display:block;position:absolute;right:12px;bottom:14px;width:104px}
.d2-lt__chair img{display:block;width:100%;height:auto}
}
.d2-lt .n-html{margin:14px 0 0;overflow:visible}
.d2-lt .n-html table,.d2-lt .n-html tbody{display:flex;flex-direction:column;gap:8px;width:100%;margin:0;border:0}
.d2-lt .n-html tr{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto 30px;align-items:center;column-gap:12px;min-height:56px;padding:6px 8px 6px 6px;border:1px solid var(--border);border-radius:var(--r-md);background:#fff;font-size:14px;line-height:20px;color:var(--ink);white-space:nowrap;transition:border-color .15s,box-shadow .15s}
.d2-lt .n-html tr::after{content:"";width:30px;height:30px;border-radius:50%;background:var(--mint) var(--lt-chev) center/16px no-repeat}
.d2-lt .n-html td{display:contents}
.d2-lt .n-html .ico--star{display:none}
.d2-lt__pic{display:block;width:48px;height:42px;border-radius:8px;background:var(--bg-alt);overflow:hidden}
.d2-lt__pic img{display:block;width:100%;height:100%;object-fit:contain}
.d2-lt .n-html td a{white-space:normal;font-weight:600;color:var(--ink);text-decoration:none}
.d2-lt .n-html td a::before{content:"";position:absolute;inset:0;border-radius:inherit}
.d2-lt .n-html tr:hover{border-color:var(--primary-bright);box-shadow:var(--sh-1)}
.d2-lt .n-html tr:hover a{color:var(--accent)}
@supports selector(:has(a)){
.d2-lt .n-html tr:has(a:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.d2-lt .n-html td a:focus-visible{outline:0}
}
.d2-lt__wa,.d2-lt__blog{position:relative;display:flex;align-items:center;gap:14px;border-radius:var(--r-xl);color:var(--ink);text-decoration:none;transition:box-shadow .15s}
.d2-lt__wa{min-height:96px;margin:4px 0 16px;padding:14px 104px 14px 14px;background:linear-gradient(90deg,var(--mint),#D6EFDA);font-weight:800;font-size:17px;line-height:23px;overflow:hidden}
.d2-lt__waico{flex:none;width:52px;height:52px}
.d2-lt__waico img{display:block;width:100%;height:auto}
.d2-lt__go{flex:none;width:36px;height:36px;margin-left:auto;border-radius:50%;background:#fff var(--lt-chev) center/18px no-repeat;box-shadow:var(--sh-1)}
.d2-lt__phone{position:absolute;right:6px;bottom:-22px;width:88px;pointer-events:none}
.d2-lt__phone img{display:block;width:100%;height:auto;mix-blend-mode:multiply}
.d2-lt__blog{flex-wrap:wrap;margin-top:28px;padding:16px;background:var(--mint)}
.d2-lt__blog .d2-lt__tile{background:#fff}
.d2-lt__btitle{flex:1 1 auto;font:800 18px/24px var(--sans)}
.d2-lt__bbtn{display:inline-flex;align-items:center;gap:6px;padding:10px 14px 10px 18px;border-radius:999px;background:#fff;font-weight:700;font-size:14px;line-height:20px;box-shadow:var(--sh-1)}
.d2-lt__bbtn::after{content:"";width:16px;height:16px;background:var(--lt-chev) center/16px no-repeat}
.d2-lt__wa:hover,.d2-lt__blog:hover{box-shadow:var(--sh-2)}
.d2-lt__wa:hover .d2-lt__watxt,.d2-lt__blog:hover .d2-lt__bbtn{color:var(--accent)}
.d2-lt__wa:focus-visible,.d2-lt__blog:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
@media (min-width:600px){
.d2-lt__intro{display:flow-root}
.d2-lt__sofa{float:right;width:42%;max-width:290px;margin:40px 0 8px 20px}
.d2-lt__title{font-size:30px;line-height:38px}
.d2-lt__card{padding:24px}
.d2-lt__tile{width:56px;height:56px}
.d2-lt__tile img{width:38px;height:38px}
.d2-lt__h--ind+.n-p{padding-left:70px}
.sec--text.d2-lt .d2-lt__h .n-h2{font-size:22px;line-height:29px}
.d2-lt__wa{padding-right:150px;font-size:18px}
.d2-lt__phone{right:16px;bottom:-34px;width:118px}
.d2-lt__blog{flex-wrap:nowrap;padding:18px 20px}
}
@media (min-width:992px){
.sec--text.d2-lt .sec__in>.g--row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:40px;align-items:start}
.d2-lt__card:last-child{margin-bottom:0}
}
@media (min-width:1200px){
.sec--text.d2-lt .sec__in>.g--row{column-gap:56px}
.d2-lt__title{font-size:32px;line-height:40px}
.sec--text.d2-lt .d2-lt__h .n-h2{font-size:24px;line-height:31px}
}

/* block16 mockup (operator 2026-10-07), .sec--equipment.d2-eq on every page with the block (/, /uslugi, /uslugi/divany,
   matrasy, mebel). Home head: two-tone title (first line ink, the rest green; the title is one addition, so ::first-line),
   copy, green star badge, four icon cards (a column on the right from 992, two columns 600-991, one below). The original
   photo carousel: one row of rounded cards at a common height (each photo whole, natural width), round arrows on the
   sides. The certificate carousel (/ only): white cards, each scan at its natural aspect ratio (never cropped), side
   arrows, dots below (theme.js). */
.sec--equipment.d2-eq{background:linear-gradient(180deg,#F4FAF5 0,#fff 70%)}
.d2-eq .d2-eqhead{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:28px;align-items:start}
.d2-eq .d2-eqtitle{max-width:15.8em;margin:0 0 14px;font-size:26px;line-height:33px;color:var(--primary)}
.d2-eq .d2-eqtitle::first-line{color:var(--ink)}
.d2-eq .d2-eqtext{max-width:640px;margin:0;color:var(--muted);font-size:16px;line-height:25px}
.d2-eqbadge{display:inline-flex;align-items:center;gap:10px;margin:20px 0 0;padding:8px 20px 8px 8px;border-radius:999px;background:var(--primary);color:#fff;font-size:14px;line-height:20px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;box-shadow:0 6px 16px rgb(30 130 54 / .25)}
.d2-eqbadge__ico{flex:none;width:30px;height:30px;padding:6px;border-radius:50%;background:rgb(255 255 255 / .2)}
.d2-eq .d2-eqlist{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0;padding:0;list-style:none}
.d2-eq .d2-eqlist li{display:flex;align-items:center;gap:14px;min-width:0;padding:14px 16px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--sh-1);font-size:15px;line-height:20px}
.d2-eq .d2-eqlist li::before{content:none;display:none}
.d2-eq .d2-eqlist strong{min-width:0;color:var(--ink);font-weight:700}
.d2-eq__tile{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--mint);color:var(--primary)}
.d2-eq__ico{width:22px;height:22px}
.d2-eq .car{position:relative}
.d2-eq .car+.car{margin-top:40px}
.d2-eq .car__nav{margin:0}
.d2-eq .car__track{gap:16px;margin:-6px;padding:6px;scroll-padding:6px}
.d2-eq .car__btn{position:absolute;z-index:2;top:50%;width:48px;height:48px;margin:-24px 0 0;border:0;background:#fff;color:var(--ink);box-shadow:0 4px 16px rgb(22 33 27 / .16)}
.d2-eq .car__btn:hover{background:var(--mint);color:var(--primary)}
.d2-eq .car__btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.d2-eq .car__btn[aria-disabled="true"]{opacity:.45;cursor:default}
.d2-eq .car__btn--prev{left:8px;right:auto}
.d2-eq .car__btn--next{right:8px;left:auto}
.d2-eq .d2-eq__photos .car__slide{flex:0 0 auto;height:210px;padding:0;background:#fff;border-radius:20px;box-shadow:var(--sh-1);overflow:hidden}
.d2-eq .d2-eq__photos picture{display:block;height:100%}
.d2-eq .d2-eq__photos .car__img{display:block;width:auto;max-width:none;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:20px;background:#fff}
.d2-eq .d2-eq__certs .car__track{align-items:flex-start}
.d2-eq .d2-eq__certs .car__slide{flex:0 0 calc((100% - 16px) / 1.3);height:auto;padding:12px;background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:var(--sh-1);overflow:visible}
.d2-eq .d2-eq__certs .car__img{display:block;width:100%;height:auto;aspect-ratio:auto 631 / 877;object-fit:contain;border-radius:10px;background:#fff}
.d2-eq .d2-eq__certs .car__btn{top:calc(50% - 20px)}
.d2-eq .d2-dots{display:flex;flex-wrap:wrap;justify-content:center;max-width:100%;margin-top:14px}
.d2-eq .d2-dots[hidden]{display:none}
@media (min-width:600px){.d2-eq .d2-eqlist{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:768px){
.d2-eq .d2-eqtitle{font-size:36px;line-height:44px}
.d2-eq .d2-eq__photos .car__slide{height:250px}
.d2-eq .d2-eq__certs .car__slide{flex-basis:calc((100% - 32px) / 3)}
}
@media (min-width:992px){
.d2-eq .d2-eqhead{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:40px;margin-bottom:32px}
.d2-eq .d2-eqtitle{font-size:30px;line-height:38px}
.d2-eq .d2-eqlist{grid-template-columns:minmax(0,1fr);max-width:400px;justify-self:end;width:100%}
.d2-eq .d2-eq__photos .car__slide{height:260px}
.d2-eq .d2-eq__certs .car__slide{flex-basis:calc((100% - 48px) / 4)}
.d2-eq .car__btn--prev{left:-8px}
.d2-eq .car__btn--next{right:-8px}
}
@media (min-width:1200px){
.d2-eq .d2-eqtitle{max-width:none;font-size:37px;line-height:45px}
.d2-eq .car__track{gap:20px}
.d2-eq .d2-eq__certs .car__slide{flex-basis:calc((100% - 60px) / 4)}
.d2-eq .car__btn--prev{left:-20px}
.d2-eq .car__btn--next{right:-20px}
}
/* block17 mockup (operator 2026-10-07). Tips (.sec--tips.d2-tips, /): the original photo as a rounded card left, the
   original title + intro right (from 992), each original tip as a white card with an outline icon tile, two columns from
   768. Long SEO text (.sec--longtext.d2-seo, / and /uslugi): white cards with an icon pill in two stacked columns from 992,
   the "Наши преимущества:" list as a soft-green panel with check icons, a soft-green note card. Original nodes and order. */
.sec--tips.d2-tips,.sec--longtext.d2-seo,.sec--text.d2-seo{background:linear-gradient(180deg,#F4FAF5 0,#fff 60%)}
.sec--tips.d2-tips .d2-tips__grid,.sec--tips.d2-tips .d2-tips__grid>*{max-width:none;margin-left:0;margin-right:0}
.d2-tips .d2-tips__head{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:center;margin-bottom:28px}
.d2-tips .d2-tips__photo picture{display:block}
.d2-tips .d2-tips__photo .n-img{display:block;width:100%;height:auto;max-width:none;margin:0;aspect-ratio:16/10;object-fit:cover;border-radius:24px;box-shadow:var(--sh-1)}
.d2-tips .d2-tips__copy .is-title{margin:0 0 14px;text-align:left;color:var(--ink);font:800 28px/35px var(--sans);letter-spacing:-.01em}
.d2-tips .d2-tips__copy .n-p{margin:0 0 10px;color:var(--muted);font-size:16px;line-height:25px}
.d2-tips .d2-tips__copy .n-p:last-child{margin-bottom:0}
.d2-tips .d2-tips__cards{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.d2-tips .d2-tips__card{display:flex;align-items:flex-start;gap:16px;min-width:0;padding:20px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--sh-1)}
.d2-tips__tile{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--mint);color:var(--primary)}
.d2-tips__ico{width:26px;height:26px}
.d2-tips .d2-tips__body{min-width:0}
.d2-tips .d2-tips__card .n-p--t3{margin:0 0 6px;color:var(--ink);font:700 17px/24px var(--sans)}
.d2-tips .d2-tips__card .n-p{margin:0;color:var(--muted);font-size:15px;line-height:23px}
.d2-tips .d2-tips__grid>.n-p{margin-top:24px;color:var(--text)}
.sec--longtext.d2-seo .sec__in>.d2-seo__grid,.sec--text.d2-seo .sec__in>.d2-seo__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;max-width:none;columns:auto;column-rule:none}
.d2-seo .d2-seo__col{display:flex;flex-direction:column;gap:16px;min-width:0}
.d2-seo .d2-seo__card{min-width:0;padding:22px 20px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--sh-1)}
.d2-seo__pill{display:inline-flex;align-items:center;justify-content:center;width:40px;height:28px;margin-bottom:12px;border-radius:999px;background:var(--mint);color:var(--primary)}
.d2-seo__ico{width:16px;height:16px}
.d2-seo .d2-seo__card .n-h2{max-width:22em;margin:0 0 12px;text-align:left;color:var(--ink);font:800 20px/27px var(--sans)}
.d2-seo .d2-seo__card .n-p,.d2-seo .d2-seo__note .n-p{margin:0 0 12px;color:var(--text);font-size:14px;line-height:22px}
.d2-seo .d2-seo__card>.n-p:last-child{margin-bottom:0}
.d2-seo .d2-seo__adv{margin:4px 0 14px;padding:14px;border-radius:14px;background:#EEF7F1;border:1px solid #D5EBDC}
.d2-seo .d2-seo__adv>.n-p{margin:0 0 10px;color:var(--primary);font-size:12px;line-height:16px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.d2-seo .d2-seo__adv .n-list{display:grid;gap:8px;margin:0}
.d2-seo .d2-seo__adv li{margin:0;padding:10px 12px 10px 44px;background:#fff;border-radius:12px;color:var(--muted);font-size:13px;line-height:20px}
.d2-seo .d2-seo__adv li::before{content:none;display:none}
.d2-seo__chk{position:absolute;left:12px;top:10px;width:22px;height:22px;color:var(--primary)}
.d2-seo .d2-seo__adv ol.n-list{list-style:none;padding:0;counter-reset:d2s}
.d2-seo .d2-seo__adv ol.n-list li{counter-increment:d2s}
.d2-seo .d2-seo__adv ol.n-list li::before{content:counter(d2s);display:grid;place-items:center;position:absolute;left:12px;top:9px;width:22px;height:22px;border-radius:50%;background:var(--primary);color:#fff;font-size:12px;font-weight:800;line-height:1}
.d2-seo .d2-seo__adv strong{display:block;color:var(--ink);font-size:14px;font-weight:700}
.d2-seo .d2-seo__note{display:flex;align-items:flex-start;gap:14px;padding:18px;border-radius:18px;background:#EEF7F1;border:1px solid #CFE6D6}
.d2-seo__nico{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--primary);color:#fff}
.d2-seo__nico .d2-seo__ico{width:20px;height:20px}
.d2-seo .d2-seo__note .n-p{margin:0;color:var(--ink)}
@media (min-width:768px){
.d2-tips .d2-tips__cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.d2-tips .d2-tips__copy .is-title{font-size:34px;line-height:42px}
.d2-seo .d2-seo__card{padding:26px 26px 24px}
.d2-seo .d2-seo__card .n-h2{font-size:22px;line-height:29px}
}
@media (min-width:992px){
.d2-tips .d2-tips__head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;margin-bottom:36px}
.d2-tips .d2-tips__cards{gap:18px 20px}
.d2-tips .d2-tips__card{padding:22px 24px}
.sec--longtext.d2-seo .sec__in>.d2-seo__grid,.sec--text.d2-seo .sec__in>.d2-seo__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.d2-seo .d2-seo__col{gap:20px}
}
@media (min-width:1200px){
.d2-tips .d2-tips__copy .is-title{font-size:40px;line-height:48px}
}

/* ---------- /about hero (operator mockup refs-20261007/about-hero; client uploads 1489 photo, 1490 background) */
.sec--intro.d2-ah{position:relative;overflow:hidden;padding:36px 0 40px;background:#F3F9F2 url(img/ahero-bg-960.jpg) 50% 50%/cover no-repeat;background-image:image-set(url(img/ahero-bg-960.webp) type("image/webp"),url(img/ahero-bg-960.jpg) type("image/jpeg"))}
.sec--intro.d2-ah .sec__in>.g--row{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:center}
.sec--intro.d2-ah .sec__in>.g--row>picture{display:none}
.sec--intro.d2-ah .sec__in>.g--row>.g--col{gap:20px;min-width:0}
.d2-ah .n-h1{margin:0;color:var(--ink);font-size:29px;line-height:36px;font-weight:800;letter-spacing:-.02em}
.d2-ah__pill{display:flex;width:fit-content;align-items:center;gap:8px;margin:0 0 18px;padding:6px 16px 6px 6px;border-radius:999px;background:rgba(0,128,60,.1);color:var(--ink);font:600 14px/20px var(--sans);letter-spacing:0}
.d2-ah__leaf{flex:none;width:26px;height:26px;padding:5px;border-radius:50%;background:var(--primary);color:#fff}
.d2-ah__l1,.d2-ah__l2{display:block}
.d2-ah__l2{color:var(--primary)}
.d2-ah .n-p--lead{max-width:560px;color:var(--text);font-size:17px;line-height:27px}
.d2-ah .btn--modal{display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:0 26px;border-radius:12px;box-shadow:0 10px 24px rgba(0,128,60,.22)}
.d2-ah .btn--modal::after{content:"";flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:var(--i-arrow) 50%/contain no-repeat;mask:var(--i-arrow) 50%/contain no-repeat;transition:transform .2s}
.d2-ah .btn--modal:hover::after{transform:translateX(3px)}
.d2-ah__photo{min-width:0}
.d2-ah__photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:60% 50%;border-radius:var(--r-xl);box-shadow:0 18px 40px rgba(11,31,53,.12)}
@media (min-width:768px){
.sec--intro.d2-ah{padding:48px 0 56px}
.sec--intro.d2-ah .sec__in>.g--row{grid-template-columns:minmax(0,1fr);gap:36px}
.d2-ah .n-h1{font-size:40px;line-height:48px}
.d2-ah .n-p--lead{font-size:18px;line-height:29px}
.d2-ah__photo img{aspect-ratio:16/10}
}
@media (min-width:992px){
.sec--intro.d2-ah{padding:56px 0 64px;background-image:linear-gradient(90deg,rgba(255,255,255,.6),rgba(255,255,255,0) 50%),url(img/ahero-bg-1920.jpg);background-image:linear-gradient(90deg,rgba(255,255,255,.6),rgba(255,255,255,0) 50%),image-set(url(img/ahero-bg-1920.webp) type("image/webp"),url(img/ahero-bg-1920.jpg) type("image/jpeg"))}
.sec--intro.d2-ah .sec__in>.g--row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px}
.d2-ah .n-h1{font-size:38px;line-height:46px}
.d2-ah__photo img{aspect-ratio:6/5}
}
@media (min-width:1200px){
.sec--intro.d2-ah{padding:56px 0 64px}
.d2-ah .n-h1{font-size:44px;line-height:52px}
}

/* ---------- /uslugi hero (operator mockup refs-20261007/uslugi-hero f3 = f1; client upload 1491 = f2 background). Mockup texts =
   additions d2-150..164 (d2_uhero); the original h1 sits beside the pill. Below 992 the photo sits under the content at full width;
   from 992 it covers the whole section behind a white wash on the left. */
.sec--intro.d2-ah.d2-uh{--uh-img:260px;padding:28px 0 calc(var(--uh-img) + 28px);background:linear-gradient(180deg,#fff 0,#ECE8E4 100%) 0 0/100% calc(100% - var(--uh-img)) no-repeat,url(img/uhero-bg-960.jpg) 72% 100%/auto var(--uh-img) no-repeat #E5E0DB;background:linear-gradient(180deg,#fff 0,#ECE8E4 100%) 0 0/100% calc(100% - var(--uh-img)) no-repeat,image-set(url(img/uhero-bg-960.webp) type("image/webp"),url(img/uhero-bg-960.jpg) type("image/jpeg")) 72% 100%/auto var(--uh-img) no-repeat #E5E0DB}
.d2-uh__top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 14px}
.d2-uh__pill{display:flex;width:fit-content;align-items:center;gap:8px;margin:0;padding:5px 14px 5px 5px;border-radius:999px;background:rgba(30,130,54,.1);color:var(--primary-d);font:700 12px/18px var(--sans);letter-spacing:.04em}
.d2-uh__pill .d2-ah__leaf{width:24px;height:24px}
.d2-ah.d2-uh .n-h1{color:var(--muted);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0}
.d2-uh__title{margin:0 0 14px;color:var(--ink);font:800 34px/40px var(--sans);letter-spacing:-.02em}
.d2-uh__accent{display:block;color:var(--primary)}
.d2-uh__lead{max-width:540px;margin:0 0 22px;color:var(--text);font-size:16px;line-height:25px}
.d2-uh__trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;max-width:600px;margin:0 0 26px;padding:0;list-style:none}
.d2-uh__trust li{display:flex;flex-direction:column;gap:10px;min-width:0}
.d2-uh__ti{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:0 6px 16px rgba(22,33,27,.1);color:var(--primary)}
.d2-uh__ti .ico{width:22px;height:22px}
.d2-uh__tt{display:flex;flex-direction:column;gap:2px;font-size:13px;line-height:18px;color:var(--muted)}
.d2-uh__tt strong{color:var(--ink);font-size:14px;line-height:19px;font-weight:600}
.d2-uh__tt small{font-size:inherit}
.d2-uh__cta{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px}
.d2-uh__btnw{position:relative;display:inline-flex}
.d2-uh__btn{min-height:56px;padding:0 58px 0 28px;border-radius:12px;font-size:16px;font-weight:600;box-shadow:0 10px 24px rgba(30,130,54,.24)}
.d2-uh__arr{position:absolute;top:50%;right:26px;width:18px;height:18px;margin-top:-9px;color:#fff;pointer-events:none;transition:transform .2s}
.d2-uh__btnw:hover .d2-uh__arr{transform:translateX(3px)}
.d2-uh__call{display:flex;align-items:center;gap:12px}
.d2-uh__pi{display:flex;flex:none;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:rgba(30,130,54,.1);color:var(--primary);transition:background .2s}
.d2-uh__pi:hover{background:rgba(30,130,54,.18)}
.d2-uh__pi .ico{width:20px;height:20px}
.d2-uh__ct{display:flex;flex-direction:column}
.d2-uh__or{color:var(--muted);font-size:13px;line-height:18px}
.d2-uh__tel{color:var(--primary);font-size:18px;line-height:24px;font-weight:700;text-decoration:none}
.d2-uh__tel:hover{color:var(--primary-d);text-decoration:underline}
.d2-uh__note{margin:18px 0 0;color:var(--muted);font-size:13px;line-height:19px}
@media (min-width:768px){
.sec--intro.d2-ah.d2-uh{--uh-img:340px;padding:40px 0 calc(var(--uh-img) + 36px)}
.d2-uh__title{font-size:46px;line-height:54px}
.d2-uh__lead{font-size:17px;line-height:27px}
.d2-uh__trust{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:992px){
.sec--intro.d2-ah.d2-uh{padding:52px 0;background:linear-gradient(90deg,rgba(255,255,255,.95) 0,rgba(255,255,255,.9) 40%,rgba(255,255,255,.55) 50%,rgba(255,255,255,0) 62%),url(img/uhero-bg-1920.jpg) 100% 0/cover no-repeat #E5E0DB;background:linear-gradient(90deg,rgba(255,255,255,.95) 0,rgba(255,255,255,.9) 40%,rgba(255,255,255,.55) 50%,rgba(255,255,255,0) 62%),image-set(url(img/uhero-bg-1920.webp) type("image/webp"),url(img/uhero-bg-1920.jpg) type("image/jpeg")) 100% 0/cover no-repeat #E5E0DB}
.d2-uh .sec__in>*{max-width:540px}
.d2-uh .sec__in>.d2-uh__title{max-width:600px}
.d2-uh__title{font-size:50px;line-height:58px}
}
@media (min-width:1200px){
.sec--intro.d2-ah.d2-uh{padding:56px 0}
.d2-uh .sec__in>*{max-width:570px}
.d2-uh .sec__in>.d2-uh__title{max-width:660px}
.d2-uh__title{font-size:54px;line-height:62px}
}
/* /uslugi service categories (operator mockup refs-20261007/uslugi-cats f1): one .d2-cat per category, same rules for all */
.sec--cards.d2-cats{background:radial-gradient(60% 40% at 100% 0,rgba(0,128,60,.06),transparent 70%),radial-gradient(50% 30% at 0 60%,rgba(0,128,60,.05),transparent 70%),#fff}
.d2-cat+.d2-cat{margin-top:64px}
.d2-cat__head{margin:0 0 24px}
.d2-cats .d2-cat__head .n-h2{margin:0;color:var(--ink);font:800 30px/36px var(--sans);letter-spacing:-.02em}
.d2-cat__acc{color:var(--primary)}
.d2-cat__lead{max-width:720px;margin:12px 0 0;color:var(--muted);font-size:16px;line-height:25px}
.d2-cats .d2-cat>.g--row{gap:20px}
.d2-cats .g--card{padding-top:20px;border:1px solid #E8EEEA;border-radius:20px;box-shadow:0 8px 28px rgba(11,31,53,.06);transition:box-shadow .2s var(--ease),transform .2s var(--ease)}
@media (hover:hover){.d2-cats .g--card:hover{box-shadow:0 14px 36px rgba(11,31,53,.12);transform:translateY(-2px)}}
.d2-cats .g--card>.g--box{order:1;flex:1 1 auto;padding:0 20px 16px}
.d2-cats .g--card .n-p--t5{margin:0 0 8px;font:700 18px/24px var(--sans);color:var(--ink)}
.d2-cats .g--card .n-p:not([class*="--t"]){margin:0;color:var(--muted)}
.d2-cats .g--card small{font-size:14px;line-height:20px}
.d2-cats .g--card>.n-imgbtn{order:2;overflow:hidden;background:#F3F5F2;border-radius:48% 48% 0 0/28px 28px 0 0}
.d2-cats .g--card>.n-imgbtn .n-img{aspect-ratio:10/7;object-fit:cover;transition:transform .35s var(--ease)}
@media (hover:hover){.d2-cats .g--card:hover>.n-imgbtn .n-img{transform:scale(1.03)}}
.d2-cats .g--card>.btn--modal{order:3;position:absolute;left:16px;bottom:16px;z-index:1;min-height:44px;margin:0;padding:0 22px;border:1px solid #E3ECE6;border-radius:12px;background:#fff;color:var(--primary);font-size:14px;font-weight:600;box-shadow:0 6px 18px rgba(11,31,53,.12)}
.d2-cats .g--card>.btn--modal:hover{background:var(--mint);border-color:var(--primary);color:var(--primary-d)}
.d2-cat__morew{position:relative;display:flex;grid-column:1/-1;width:fit-content;max-width:100%;margin:12px auto 0}
.d2-cats .d2-cat__morew>.btn{min-height:56px;margin:0;padding:0 58px 0 30px;border-color:var(--primary);border-radius:12px;background:var(--primary);color:#fff;font-size:16px;font-weight:600;text-align:center;box-shadow:0 10px 24px rgba(30,130,54,.24)}
.d2-cats .d2-cat__morew>.btn:hover{background:var(--primary-d);border-color:var(--primary-d);color:#fff}
.d2-cat__arr{position:absolute;top:50%;right:26px;width:18px;height:18px;margin-top:-9px;color:#fff;pointer-events:none;transition:transform .2s}
.d2-cat__morew:hover .d2-cat__arr{transform:translateX(3px)}
@media (min-width:768px){
.d2-cat+.d2-cat{margin-top:80px}
.d2-cats .d2-cat__head .n-h2{font-size:38px;line-height:46px}
.d2-cat__lead{font-size:17px;line-height:27px}
}
@media (min-width:1200px){
.d2-cats .d2-cat__head .n-h2{font-size:44px;line-height:52px}
.d2-cats .d2-cat>.g--row{gap:24px}
}

/* ---------- Single service pages hero (operator mockup refs-20261007/service-hero f1; d2_shero): one hero per page. The
   duplicate v-svc block is merged into it (.d2-sh__dup, repeated title/text hidden), every original .n-img of the hero is
   hidden (operator: "remove n-img images"; kept in the markup for SEO parity), the original "Подробнее" is the button.
   Pill + lead (sofa page) and the trust row are additions d2-166..170. Photo = asset 1399, curved left edge. */
section.sec.d2-sh{position:relative;overflow:hidden;min-height:0;padding:28px 0 32px;background:radial-gradient(70% 55% at 0 0,rgba(30,130,54,.08),transparent 70%),linear-gradient(180deg,#F6FAF6,#fff)}
section.sec.d2-sh .sec__in{display:flex;flex-direction:column;align-items:flex-start}
section.sec.d2-sh .sec__in .g:not(.g--btns),.d2-sh__dup{display:contents}
section.sec.d2-sh .n-img,section.sec.d2-sh .sec__in .g--row>picture,.d2-sh__dup .n-h2,.d2-sh__dup .n-txt{display:none}
.d2-sh__pill{margin:0 0 16px;padding:7px 16px;border-radius:999px;background:rgba(30,130,54,.1);color:var(--primary-d);font:600 12px/18px var(--sans);letter-spacing:.06em}
section.sec.d2-sh .n-h1{max-width:620px;margin:0;color:var(--ink);font:800 31px/37px var(--sans);letter-spacing:-.02em}
.d2-sh__l1,.d2-sh__l2,.d2-sh__l3{display:block}
.d2-sh__l2{color:var(--primary)}
.d2-sh__l3{margin-top:12px;color:var(--text);font-size:15px;line-height:22px;font-weight:500;letter-spacing:0}
.d2-sh__lead,section.sec.d2-sh .n-h2,section.sec.d2-sh .n-txt{max-width:520px;margin:16px 0 0;color:var(--text);font:400 16px/25px var(--sans)}
section.sec.d2-sh .d2-sh__lead~.n-h2{margin-top:10px;color:var(--muted);font-size:14px;line-height:22px}
section.sec.d2-sh.v-svc .sec__in .g--col>.n-txt{margin:16px 0 0}
section.sec.d2-sh.v-svc .sec__in .g--col>.btn--item{margin:26px 0 0}
section.sec.d2-sh .g--btns{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0}
section.sec.d2-sh:has(.btn--item:not([hidden])) .g--btns{display:none}
section.sec.d2-sh .btn--item{display:inline-flex;align-items:center;gap:12px;min-height:54px;margin:26px 0 0;padding:0 26px;border:0;border-radius:12px;background:var(--primary);color:#fff;font-size:16px;font-weight:600;box-shadow:0 10px 24px rgba(30,130,54,.24)}
section.sec.d2-sh .btn--item::after{content:"";flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:var(--i-arrow) 50%/contain no-repeat;mask:var(--i-arrow) 50%/contain no-repeat;transition:transform .2s}
section.sec.d2-sh .btn--item:hover{background:var(--primary-d);color:#fff}
section.sec.d2-sh .btn--item:hover::after{transform:translateX(3px)}
section.sec.d2-sh .btn--item[hidden]{display:none}
.d2-sh__trust{display:grid;gap:8px;margin:28px 0 0;padding:0;list-style:none}
.d2-sh__trust li{display:flex;align-items:center;gap:10px;color:var(--text);font-size:14px;line-height:20px}
.d2-sh__trust li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--primary)}
.d2-sh__photo{align-self:stretch;margin:28px 0 0;min-width:0}
.d2-sh__photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:72% 50%;border-radius:110px 24px 24px 24px/80px 24px 24px 24px}
@media (min-width:600px){
.d2-sh__trust{display:flex;gap:0}
.d2-sh__trust li{max-width:170px;padding:0 20px;font-size:13px;line-height:19px}
.d2-sh__trust li::before{display:none}
.d2-sh__trust li:first-child{padding-left:0}
.d2-sh__trust li+li{border-left:1px solid #D7E2DA}
}
@media (min-width:768px){
section.sec.d2-sh{padding:44px 0 48px}
section.sec.d2-sh .n-h1{font-size:42px;line-height:48px}
.d2-sh__lead,section.sec.d2-sh .n-h2,section.sec.d2-sh .n-txt{font-size:17px;line-height:27px}
section.sec.d2-sh .d2-sh__lead~.n-h2{font-size:15px;line-height:23px}
.d2-sh__photo img{aspect-ratio:16/9;border-radius:180px 28px 28px 28px/120px 28px 28px 28px}
}
@media (min-width:992px){
section.sec.d2-sh{min-height:540px;padding:60px 0 64px}
.d2-sh__pill,section.sec.d2-sh .n-h1,.d2-sh__lead,section.sec.d2-sh .n-h2,section.sec.d2-sh .n-txt,section.sec.d2-sh .g--btns,.d2-sh__trust{max-width:calc(50% - 24px)}
section.sec.d2-sh .n-h1{font-size:40px;line-height:46px}
.d2-sh__photo{position:absolute;z-index:0;top:0;right:0;bottom:0;width:50%;margin:0}
.d2-sh__photo picture{display:block;height:100%}
.d2-sh__photo img{height:100%;aspect-ratio:auto;object-position:78% 50%;border-radius:180px 0 0 60px/240px 0 0 90px}
}
@media (min-width:1200px){
section.sec.d2-sh{min-height:580px;padding:72px 0}
section.sec.d2-sh .n-h1{font-size:46px;line-height:52px}
}
/* Service hero photo = the page's own picture from its second header block (operator 2026-10-07; d2_shero), not 1399. */
section.sec.d2-sh .d2-sh__own .n-img{display:block}
section.sec.d2-sh .d2-sh__photo.d2-sh__own img{width:100%;max-width:none;margin:0;object-position:50% 50%}

/* ---------- /blog (operator mockups refs-20261007/blog: f1 hero, f2 article cards; d2_bloglist). Hero: original h1 split
   (green "Блог -" / dark "Химчистка Сервис"), original lead, chips d2-172..174, button d2-175 (link to /blog, theme.js scrolls to #d2-posts), photo = f1's
   photo region (client upload 1492) bleeding to the right edge from 992. Cards: one per hs_blog_articles() record, reading
   time (hs_article_reading_time + d2-171) above the title; the same .d2-post__meta sits on the home blog row cards. */
section.sec.d2-bl{overflow-x:clip;padding-top:0}
section.sec.d2-bl .sec__in>.d2-bh{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;gap:0;max-width:none;padding:36px 0 32px}
.d2-bh::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);background:radial-gradient(40% 60% at 0 100%,rgba(30,130,54,.09),transparent 70%),linear-gradient(180deg,#F2F8F3,#fff)}
section.sec.d2-bl .sec__in>.d2-bh.g--row>.g--col,section.sec.d2-bl .sec__in>.n-hr{display:none}
section.sec.d2-bl .sec__in>.d2-bh.g--row>*{order:0}
.d2-bh .n-h1{margin:0;color:var(--ink);font:800 36px/42px var(--sans);letter-spacing:-.02em}
.d2-bh .n-h1::before{content:"";display:block;width:36px;height:4px;margin:0 0 16px;border-radius:2px;background:var(--primary)}
.d2-bh__l1,.d2-bh__l2{display:block}
.d2-bh__l1{color:var(--primary)}
section.sec.d2-bl .sec__in>.d2-bh.g--row>.n-txt{max-width:460px;margin:16px 0 0;color:var(--text);font-size:16px;line-height:25px}
.d2-bh__tags{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0;padding:0;list-style:none}
.d2-bh__tags li{display:inline-flex;align-items:center;gap:8px;padding:9px 16px 9px 12px;border-radius:999px;background:#fff;box-shadow:0 4px 14px rgba(11,31,53,.07);color:var(--ink);font-size:15px;line-height:20px;font-weight:500}
.d2-bh__ti{flex:none;width:18px;height:18px;color:var(--primary)}
.d2-bh__btn{display:inline-flex;align-items:center;gap:14px;min-height:56px;margin:30px 0 0;padding:0 26px 0 30px;border:0;border-radius:999px;background:var(--primary);color:#fff;font-size:16px;font-weight:600;text-decoration:none;box-shadow:0 10px 24px rgba(30,130,54,.24)}
.d2-bh__btn:hover{background:var(--primary-d);color:#fff}
.d2-bh__btn::after{content:"";flex:none;width:20px;height:20px;background:currentColor;-webkit-mask:var(--i-arrow) 50%/contain no-repeat;mask:var(--i-arrow) 50%/contain no-repeat;transition:transform .2s}
.d2-bh__btn:hover::after{transform:translateX(3px)}
.d2-bh__photo{align-self:stretch;margin:28px 0 0}
.d2-bh__photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:45% 60%;border-radius:24px}
.d2-posts{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin:28px 0 0}
.d2-post{display:flex;flex-direction:column;min-width:0;padding:12px;border:1px solid #EDF1EE;border-radius:20px;background:var(--surface);box-shadow:0 2px 6px rgba(11,31,53,.05),0 16px 40px rgba(11,31,53,.09)}
.d2-post>.g--card{margin:0;padding:0;border:0;background:none;box-shadow:none}
.d2-post .n-txt>a{display:block;overflow:hidden;border-radius:14px}
.d2-post .n-txt img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;transition:transform .3s}
.d2-post .n-txt>a:hover img{transform:scale(1.03)}
.d2-post .n-txt small{margin:6px 4px 0;font-size:12px;line-height:17px}
.d2-post>.g--col{display:flex;flex:1;flex-direction:column;align-items:flex-start;margin:0;padding:20px 10px 8px;border:0;background:none;box-shadow:none}
.d2-post__meta{display:flex;align-items:center;gap:6px;margin:0 0 12px;color:var(--muted);font-size:13px;line-height:18px}
.d2-post__ico{flex:none;width:16px;height:16px}
.d2-post .n-link .n-h2{margin:0 0 10px;color:var(--ink);font:800 20px/27px var(--sans);letter-spacing:-.01em}
.d2-post .n-link:hover .n-h2{color:var(--primary)}
.d2-post .g--col>.n-p{margin:0 0 20px;color:var(--text);font-size:15px;line-height:23px}
.d2-post .g--col>.btn{margin-top:auto;gap:10px;color:var(--primary);font-size:15px;font-weight:700}
@media (min-width:600px){
.d2-posts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:768px){
section.sec.d2-bl .sec__in>.d2-bh{padding:48px 0 40px}
.d2-bh .n-h1{font-size:46px;line-height:54px}
section.sec.d2-bl .sec__in>.d2-bh.g--row>.n-txt{font-size:17px;line-height:27px}
.d2-bh__photo img{aspect-ratio:16/10}
.d2-posts{gap:24px;margin-top:36px}
}
@media (min-width:992px){
section.sec.d2-bl .sec__in>.d2-bh{min-height:500px;justify-content:center;padding:56px 0}
section.sec.d2-bl .sec__in>.d2-bh.g--row>:is(.n-h1,.n-txt,.d2-bh__tags){max-width:calc(50% - 24px)}
.d2-bh__photo{position:absolute;z-index:-1;top:0;bottom:0;left:44%;right:calc(50% - 50vw);margin:0}
.d2-bh__photo picture{display:block;height:100%}
.d2-bh__photo img{height:100%;aspect-ratio:auto;object-position:30% 45%;border-radius:0;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%);mask-image:linear-gradient(90deg,transparent 0,#000 14%)}
.d2-posts{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:1200px){
section.sec.d2-bl .sec__in>.d2-bh{min-height:560px}
.d2-bh .n-h1{font-size:54px;line-height:62px}
}

/* ---------- mobile floating buttons swapped (operator 2026-10-07): <992 WhatsApp bottom-right, call bottom-left; >=992 unchanged */
@media (max-width:991.98px){
.callw__a.is-wa{left:auto;right:calc(12px + env(safe-area-inset-right,0px))}
.callw__a.is-tel{right:auto;left:calc(12px + env(safe-area-inset-left,0px))}
}

/* ---------- single service hero photo (operator mockup refs-20261007/service-hero f2): lower photo, rounded top-left
   corner and a long sweep at the bottom-left; from 992 the photo is inset from the hero top/bottom and bleeds to the right edge. */
section.sec.d2-sh .d2-sh__photo.d2-sh__own img{aspect-ratio:16/10;border-radius:28px 16px 16px 46%/28px 16px 16px 34%}
@media (min-width:768px){
section.sec.d2-sh .d2-sh__photo.d2-sh__own img{aspect-ratio:21/9;border-radius:40px 20px 20px 42%/40px 20px 20px 36%}
}
@media (min-width:992px){
section.sec.d2-sh{min-height:480px}
section.sec.d2-sh .d2-sh__photo.d2-sh__own{top:50%;bottom:auto;height:min(420px,calc(100% - 56px));transform:translateY(-50%)}
section.sec.d2-sh .d2-sh__photo.d2-sh__own img{aspect-ratio:auto;border-radius:56px 0 0 44%/56px 0 0 30%}
}
@media (min-width:1200px){
section.sec.d2-sh{min-height:500px}
section.sec.d2-sh .d2-sh__photo.d2-sh__own{height:min(440px,calc(100% - 56px))}
}
/* service hero photo kept inside .sec__in (operator follow-up 2026-10-07): right edge = .sec__in content edge, width = half its content */
@media (min-width:992px){
section.sec.d2-sh .d2-sh__photo.d2-sh__own{right:calc((100% - 888px)/2 + 24px);width:420px}
section.sec.d2-sh .d2-sh__photo.d2-sh__own img{border-radius:48px 20px 20px 44%/48px 20px 20px 30%}
}
@media (min-width:1200px){
section.sec.d2-sh .d2-sh__photo.d2-sh__own{right:calc((100% - 1184px)/2 + 32px);width:560px}
section.sec.d2-sh .d2-sh__photo.d2-sh__own img{border-radius:56px 24px 24px 44%/56px 24px 24px 30%}
}
