/* Форма по мерке — ателье Ирины Тарасовой. Палитра «лён / нитка / мерная лента». */
:root{
  --linen:#F3EDE3;
  --paper:#FBF8F3;
  --sand:#E8DFD0;
  --ink:#1E2633;
  --ink-2:#4A5361;
  --muted:#77706A;
  --navy:#1F2B3D;
  --navy-2:#2B3A51;
  --thread:#B4533A;
  --thread-d:#8F3D29;
  --thread-l:#E7B9A8;
  --tape:#E9C46A;
  --sage:#6F7A5A;
  --line:rgba(30,38,51,.14);
  --radius:6px;
  --shadow:0 1px 2px rgba(30,38,51,.06),0 12px 32px -12px rgba(30,38,51,.22);
  --serif:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;
  --sans:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --hand:"Caveat","Segoe Print","Bradley Hand",cursive;
  --wrap:1180px;
  --gut:clamp(16px,4vw,40px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:76px}
body{margin:0;background:var(--linen);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
@supports (overflow:clip){body{overflow-x:clip}}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.08;letter-spacing:-.01em;margin:0 0 .5em;color:var(--ink)}
h1{font-size:clamp(2.5rem,1.2rem + 4.6vw,4.9rem)}
h2{font-size:clamp(2.1rem,1.3rem + 2.8vw,3.5rem)}
h3{font-size:1.6rem;line-height:1.15}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;z-index:99;border-radius:4px}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--thread);outline-offset:3px;border-radius:3px}

/* ——— Кнопки ——— */
.btn{display:inline-flex;align-items:center;gap:.6em;font:600 1rem/1 var(--sans);text-decoration:none;padding:1rem 1.4rem;border-radius:999px;border:1.5px solid transparent;transition:background .2s,color .2s,border-color .2s,transform .2s;cursor:pointer;white-space:nowrap}
.btn svg{width:1.2em;height:1.2em;flex:none}
.btn-primary{background:var(--thread);color:#fff}
.btn-primary:hover{background:var(--thread-d);transform:translateY(-1px)}
.btn-ghost{border-color:currentColor;color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.btn-light{background:var(--paper);color:var(--navy)}
.btn-light:hover{background:var(--tape)}

/* ——— Шапка ——— */
.top{position:sticky;top:0;z-index:50;background:rgba(243,237,227,.88);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent;transition:border-color .2s}
.top.scrolled{border-bottom-color:var(--line)}
.top-in{display:flex;align-items:center;gap:20px;height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto;flex:none}
.brand svg{width:38px;height:38px;flex:none}
.brand b{display:block;font:600 1.45rem/1 var(--serif);letter-spacing:.005em;white-space:nowrap}
.brand small{display:block;font-size:.76rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-top:3px;white-space:nowrap}
.nav{display:flex;gap:4px}
.nav a{white-space:nowrap;text-decoration:none;font-size:.92rem;font-weight:500;color:var(--ink-2);padding:8px 10px;border-radius:999px}
.nav a:hover{color:var(--ink);background:rgba(30,38,51,.06)}
.top .btn{padding:.7rem 1.1rem;font-size:.92rem}
.burger{display:none;width:44px;height:44px;border:0;background:transparent;border-radius:50%;cursor:pointer;position:relative;color:var(--ink)}
.burger span,.burger span::before,.burger span::after{position:absolute;left:12px;width:20px;height:2px;background:currentColor;border-radius:2px;content:"";transition:transform .25s,top .25s,opacity .2s}
.burger span{top:21px}
.burger span::before{top:-6px;left:0}
.burger span::after{top:6px;left:0}
.menu-open .burger span{background:transparent}
.menu-open .burger span::before{top:0;transform:rotate(45deg)}
.menu-open .burger span::after{top:0;transform:rotate(-45deg)}

/* ——— Первый экран ——— */
.hero{padding:clamp(28px,5vw,72px) 0 clamp(48px,6vw,96px);position:relative}
.hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:.6em;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--thread-d);margin-bottom:1.1rem}
.eyebrow::before{content:"";width:34px;height:2px;background:linear-gradient(90deg,var(--thread) 60%,transparent 0) 0 0/8px 2px repeat-x}
.hero h1 em{font-style:italic;color:var(--thread)}
.lead{font-size:clamp(1.05rem,.95rem + .4vw,1.22rem);color:var(--ink-2);max-width:34em}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin:1.8rem 0 2.2rem}
.facts{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.facts li{padding:1rem 1rem 0 0;font-size:.9rem;color:var(--ink-2);line-height:1.4}
.facts li+li{padding-left:1rem;border-left:1px dashed var(--line)}
.facts b{display:block;font:600 1.5rem/1.1 var(--serif);color:var(--ink);margin-bottom:.25rem}
.hero-art{position:relative;padding:0 0 46px 40px}
.hero-photo{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/4.6;background:var(--sand)}
.hero-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.02)}
.polaroid{position:absolute;left:0;bottom:0;width:44%;background:var(--paper);padding:10px 10px 6px;box-shadow:var(--shadow);transform:rotate(-4deg);border-radius:3px}
.polaroid img{aspect-ratio:1;object-fit:cover;width:100%}
.polaroid figcaption{font:500 1.4rem/1.15 var(--hand);color:var(--ink);text-align:center;padding-top:6px}
.label{position:absolute;right:-10px;top:26px;background:#14181f;color:#f4efe6;font:500 1.55rem/1 var(--hand);padding:.55rem 1.2rem .6rem;transform:rotate(4deg);box-shadow:0 8px 18px -8px rgba(0,0,0,.5);border-radius:2px}
.label::before,.label::after{content:"";position:absolute;top:4px;bottom:4px;width:0;border-left:1.5px dashed rgba(244,239,230,.5)}
.label::before{left:6px}.label::after{right:6px}
.thread-svg{position:absolute;right:6%;bottom:-6px;width:46%;height:auto;color:var(--thread);pointer-events:none}

/* ——— Мерная лента ——— */
.tape{height:46px;background:url(../img/tape.svg) no-repeat 0 0/3000px 46px;box-shadow:0 6px 14px -8px rgba(60,40,10,.35)}
.tape-row{overflow:hidden;padding:18px 0;margin:-18px 0}
.tape-row .tape{transform:rotate(-1.2deg);margin:0 -40px}

/* ——— Секции ——— */
section{position:relative}
.sec{padding:clamp(64px,8vw,120px) 0}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(16px,4vw,64px);align-items:end;margin-bottom:clamp(28px,4vw,52px)}
.sec-head p{color:var(--ink-2);margin:0;font-size:1.05rem}
.kicker{font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--thread-d);margin-bottom:.9rem;display:flex;align-items:center;gap:.7em}
.kicker i{font-style:normal;font:600 1rem/1 var(--serif);color:var(--muted);letter-spacing:0}
.stitch{height:2px;border:0;margin:0;background:linear-gradient(90deg,var(--thread) 55%,transparent 0) 0 0/12px 2px repeat-x;opacity:.55}

/* ——— Услуги ——— */
.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.svc{background:var(--paper);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 0 rgba(30,38,51,.05);border:1px solid var(--line);transition:transform .25s,box-shadow .25s}
.svc:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.svc-img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--sand);position:relative}
.svc-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.svc:hover .svc-img img{transform:scale(1.04)}
.svc-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.svc h3{margin-bottom:.45rem}
.svc p{font-size:.95rem;color:var(--ink-2);margin-bottom:.9rem}
.tags{list-style:none;padding:0;margin:0 0 1.1rem;display:flex;flex-wrap:wrap;gap:6px}
.tags li{font-size:.78rem;font-weight:500;padding:.3rem .65rem;border-radius:999px;background:var(--linen);color:var(--ink-2)}
.price{margin-top:auto;display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:14px;border-top:1.5px dashed var(--line);font-size:.9rem}
.price span{color:var(--muted)}
.price b{font-weight:600;color:var(--ink);text-align:right}
.svc.feature{grid-column:span 2;flex-direction:row}
.svc.feature .svc-img{aspect-ratio:auto;flex:0 0 52%}
.svc.feature .svc-body{padding:30px 32px}
.svc.feature h3{font-size:2.1rem}
.quote-mini{font:500 1.45rem/1.25 var(--hand);color:var(--thread-d);margin:.2rem 0 1rem}
.svc.soft{background:transparent;border-style:dashed}
.price-list{font-size:.86rem;color:var(--ink-2);margin:-.2rem 0 1rem;padding:0;list-style:none}
.price-list li{display:flex;justify-content:space-between;gap:10px;padding:.28rem 0;border-bottom:1px dotted var(--line)}
.price-list li b{font-weight:600;color:var(--ink);white-space:nowrap}
.note{font-size:.8rem;color:var(--muted);margin:0 0 .6rem}

/* ——— Форма для организаций ——— */
.forma{background:var(--navy);color:#E9E4DA;overflow:hidden;overflow:clip}
.forma::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 7px),repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 7px);pointer-events:none}
.forma h2,.forma h3{color:#FBF8F3}
.forma .kicker{color:var(--tape)}
.forma .kicker i{color:rgba(233,228,218,.6)}
.forma .sec-head p{color:rgba(233,228,218,.82)}
.forma-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}
.fcard{position:relative;padding:26px 22px 24px;border-radius:var(--radius);background:rgba(255,255,255,.045)}
.fcard::after{content:"";position:absolute;inset:7px;border:1.5px dashed rgba(233,196,106,.38);border-radius:3px;pointer-events:none}
.fcard .num{font:600 2.4rem/1 var(--serif);color:var(--tape);display:block;margin-bottom:.8rem}
.fcard h3{font-size:1.45rem;margin-bottom:.4rem}
.fcard p{font-size:.93rem;color:rgba(233,228,218,.8);margin:0}
.forma-row{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(20px,4vw,48px);align-items:start}
@media (min-width:981px){.forma-row>.checklist{position:sticky;top:96px}}
.checklist{background:var(--paper);color:var(--ink);border-radius:var(--radius);padding:28px 28px 22px;position:relative}
.checklist::before{content:"";position:absolute;top:-10px;left:28px;width:20px;height:20px;border-radius:50%;background:var(--navy);box-shadow:inset 0 0 0 5px var(--paper),0 0 0 1.5px var(--line)}
.checklist h3{color:var(--ink);font-size:1.6rem}
.checklist ol{margin:0 0 1rem;padding-left:1.3rem}
.checklist li{margin:.35rem 0;color:var(--ink-2)}
.checklist li::marker{color:var(--thread);font-weight:700}
.checklist .terms{font-size:.92rem;padding:12px 14px;background:var(--linen);border-radius:4px;border-left:3px solid var(--thread);margin-bottom:1.2rem}
.forma-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.forma-photos a{display:block;border-radius:4px;overflow:hidden;aspect-ratio:3/4;background:var(--navy-2)}
.forma-photos img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.forma-photos a:hover img{transform:scale(1.04)}
.forma-cap{grid-column:1/-1;font-size:.82rem;color:rgba(233,228,218,.65);margin:2px 0 0}

/* ——— Ремонт ——— */
.remont{background:var(--paper)}
.remont-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ba{margin:0;background:var(--linen);border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
.ba a{display:block;aspect-ratio:1/1;overflow:hidden;background:#fff}
.ba img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ba a:hover img{transform:scale(1.04)}
.ba figcaption{padding:10px 14px 12px;font-size:.8rem;line-height:1.35;color:var(--muted)}
.ba figcaption b{display:block;color:var(--ink);font-weight:600;font-size:.92rem;margin-bottom:2px}
.remont-list{list-style:none;padding:0;margin:0 0 2rem}
.remont-list li{break-inside:avoid;padding:.55rem 0 .55rem 1.6rem;position:relative;border-bottom:1px dashed var(--line)}
.remont-list li::before{content:"";position:absolute;left:0;top:1.05rem;width:12px;height:2px;background:var(--thread)}
.remont-wrap{display:grid;grid-template-columns:.85fr 1.6fr;gap:clamp(24px,4vw,56px);align-items:start}
.remont-side .price{border-top:1.5px dashed var(--line);margin-top:0}

/* ——— Галерея ——— */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.chip{font:500 .9rem/1 var(--sans);padding:.65rem 1rem;border-radius:999px;border:1.5px solid var(--line);background:transparent;color:var(--ink-2);cursor:pointer;transition:all .2s}
.chip:hover{border-color:var(--ink);color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.gallery{columns:4 240px;column-gap:14px}
.gi{break-inside:avoid;margin:0 0 14px;position:relative;border-radius:4px;overflow:hidden;background:var(--sand)}
.gi a{display:block}
.gi img{width:100%;transition:transform .5s,opacity .3s}
.gi a:hover img{transform:scale(1.035)}
.gi figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 12px 10px;font-size:.82rem;font-weight:500;color:#fff;background:linear-gradient(transparent,rgba(20,24,31,.72));opacity:0;transition:opacity .25s;pointer-events:none}
.gi:hover figcaption,.gi a:focus-visible+figcaption{opacity:1}
.gallery .gi[hidden]{display:none!important}

/* ——— О мастере ——— */
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,80px);align-items:start}
.about-photos{position:sticky;top:96px;padding-bottom:70px}
.about-main{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/5}
.about-main img{width:100%;height:100%;object-fit:cover}
.about-second{position:absolute;right:-18px;bottom:0;width:46%;background:var(--paper);padding:8px 8px 4px;transform:rotate(3.5deg);box-shadow:var(--shadow);border-radius:3px}
.about-second img{aspect-ratio:1;object-fit:cover;width:100%}
.about-second figcaption{font:500 1.25rem/1.1 var(--hand);text-align:center;padding:6px 0 2px}
.pull{font:500 italic clamp(1.6rem,1.1rem + 1.6vw,2.4rem)/1.2 var(--serif);color:var(--ink);margin:0 0 1.6rem;padding-left:1.2rem;border-left:3px solid var(--thread)}
.pull cite{display:block;font:500 .85rem/1.4 var(--sans);font-style:normal;color:var(--muted);margin-top:.6rem}
.timeline{list-style:none;padding:0;margin:1.8rem 0;position:relative}
.timeline::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,var(--thread) 55%,transparent 0) 0 0/2px 12px repeat-y;opacity:.6}
.timeline li{position:relative;padding:0 0 1.05rem 32px}
.timeline li::before{content:"";position:absolute;left:0;top:.45rem;width:12px;height:12px;border-radius:50%;background:var(--linen);border:2px solid var(--thread)}
.timeline time{display:block;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--thread-d)}
.timeline span{color:var(--ink-2);font-size:.98rem}
.kit{background:var(--paper);border:1px dashed var(--line);border-radius:var(--radius);padding:18px 20px;font-size:.94rem;color:var(--ink-2)}
.kit b{color:var(--ink)}
.videos{margin-top:1.4rem}
.videos h3{font-size:1.4rem}
.videos ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.videos a{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:.9rem;padding:10px 12px;border-radius:4px;background:var(--paper);border:1px solid var(--line);color:var(--ink-2);transition:border-color .2s,color .2s}
.videos a:hover{border-color:var(--thread);color:var(--ink)}
.videos svg{width:22px;height:22px;flex:none;color:var(--thread)}

/* ——— Как заказать ——— */
.steps-sec{background:var(--sand)}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;position:relative;counter-reset:s}
.steps::before{content:"";position:absolute;left:5%;right:19%;top:31px;height:2px;background:linear-gradient(90deg,var(--thread) 55%,transparent 0) 0 0/12px 2px repeat-x;opacity:.7}
.step{position:relative;counter-increment:s}
.step .dot{width:64px;height:64px;border-radius:50%;background:var(--paper);display:grid;place-items:center;margin-bottom:18px;box-shadow:0 0 0 6px var(--sand),inset 0 0 0 1.5px var(--line);position:relative;z-index:1}
.step .dot svg{width:28px;height:28px;color:var(--thread)}
.step h3{font-size:1.5rem;margin-bottom:.35rem}
.step h3::before{content:counter(s) ". ";color:var(--thread)}
.step p{font-size:.93rem;color:var(--ink-2);margin:0}
.steps-cta{margin-top:40px;display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.steps-cta p{margin:0;font:500 1.6rem/1.2 var(--hand);color:var(--thread-d)}

/* ——— Контакты ——— */
.contacts{background:var(--ink);color:#E9E4DA}
.contacts h2{color:#FBF8F3}
.contacts .kicker{color:var(--tape)}
.contact-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px;margin-top:8px}
.ccard{display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-height:200px;padding:26px;border-radius:var(--radius);text-decoration:none;color:#E9E4DA;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);transition:background .2s,transform .2s}
.ccard:hover{background:rgba(255,255,255,.09);transform:translateY(-2px)}
.ccard svg{width:34px;height:34px}
.ccard b{display:block;font:600 1.8rem/1.1 var(--serif);color:#FBF8F3}
.ccard span{font-size:.92rem;color:rgba(233,228,218,.7)}
.ccard.main{background:var(--thread);border-color:var(--thread)}
.ccard.main:hover{background:var(--thread-d)}
.ccard.main span{color:rgba(255,255,255,.85)}
.contacts .lead{color:rgba(233,228,218,.8)}
footer{background:#151a23;color:rgba(233,228,218,.6);font-size:.85rem;padding:26px 0}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}
footer a{color:rgba(233,228,218,.85)}

/* ——— Лайтбокс ——— */
.lb{position:fixed;inset:0;z-index:100;background:rgba(15,18,24,.94);display:none;align-items:center;justify-content:center;padding:56px 64px}
.lb.open{display:flex}
.lb img{max-width:100%;max-height:100%;object-fit:contain;border-radius:3px;box-shadow:0 20px 60px rgba(0,0,0,.5);user-select:none;-webkit-user-drag:none}
.lb-cap{position:absolute;left:0;right:0;bottom:14px;text-align:center;color:#ddd;font-size:.9rem;padding:0 64px}
.lb button{position:absolute;border:0;background:rgba(255,255,255,.1);color:#fff;width:48px;height:48px;border-radius:50%;cursor:pointer;display:grid;place-items:center;transition:background .2s}
.lb button:hover{background:rgba(255,255,255,.22)}
.lb button svg{width:22px;height:22px}
.lb-close{top:12px;right:12px}
.lb-prev{left:10px;top:50%;margin-top:-24px}
.lb-next{right:10px;top:50%;margin-top:-24px}
.lb-count{position:absolute;top:24px;left:20px;color:#aaa;font-size:.85rem}
body.lb-lock{overflow:hidden}

/* ——— Появление ——— */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .rv{opacity:1;transform:none;transition:none}*{transition:none!important}}

/* ——— Адаптив ——— */
@media (max-width:1180px){
  .nav{position:fixed;left:0;right:0;top:68px;flex-direction:column;gap:0;background:var(--paper);padding:8px var(--gut) 20px;border-bottom:1px solid var(--line);box-shadow:0 20px 30px -20px rgba(0,0,0,.3);transform:translateY(-8px);opacity:0;visibility:hidden;transition:all .22s}
  .nav a{font-size:1.05rem;padding:14px 4px;border-bottom:1px dashed var(--line);border-radius:0}
  .menu-open .nav{transform:none;opacity:1;visibility:visible}
  .burger{display:block}
}
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr}
  .hero-art{max-width:560px;width:100%;margin:0 auto}
  .services{grid-template-columns:repeat(2,minmax(0,1fr))}
  .forma-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .forma-row{grid-template-columns:1fr}
  .remont-wrap{grid-template-columns:1fr}
  .remont-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .about-grid{grid-template-columns:1fr}
  .about-photos{max-width:520px;position:relative;top:auto}
  .steps{grid-template-columns:1fr;gap:0}
  .steps::before{left:31px;right:auto;top:20px;bottom:70px;width:2px;height:auto;background:linear-gradient(180deg,var(--thread) 55%,transparent 0) 0 0/2px 12px repeat-y}
  .step{display:grid;grid-template-columns:64px 1fr;column-gap:20px;padding-bottom:22px}
  .step .dot{grid-row:span 2;margin:0}
  .step h3{margin-top:.6rem}
  .contact-grid{grid-template-columns:1fr 1fr}
  .ccard.main{grid-column:1/-1}
}
@media (max-width:720px){
  body{font-size:16px}
  .top .btn .t-long{display:none}
  .sec-head{grid-template-columns:1fr;gap:12px}
  .services{grid-template-columns:1fr}
  .svc.feature{grid-column:auto;flex-direction:column}
  .svc.feature .svc-img{aspect-ratio:4/3;flex:none}
  .svc.feature .svc-body{padding:20px 22px 22px}
  .svc.feature h3{font-size:1.75rem}
  .facts{grid-template-columns:1fr}
  .facts li,.facts li+li{padding:.85rem 0;border-left:0;border-bottom:1px dashed var(--line);display:flex;align-items:baseline;gap:12px}
  .facts b{font-size:1.25rem;margin:0;flex:0 0 7.2rem}
  .forma-grid{gap:10px}
  .fcard{padding:20px 16px 18px}
  .fcard .num{font-size:1.9rem;margin-bottom:.5rem}
  .fcard h3{font-size:1.25rem}
  .fcard p{font-size:.86rem}
  .svc-img{aspect-ratio:3/2}
  .brand b{font-size:1.25rem}
  .remont-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .gallery{columns:2;column-gap:10px}
  .gi{margin-bottom:10px}
  .gi figcaption{opacity:1;font-size:.8rem;padding:20px 8px 6px}
  .about-second{right:-4px}
  .videos ul{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .ccard{min-height:0}
  .checklist{padding:24px 18px 18px}
  .lb{padding:56px 8px 64px}
  .lb-prev,.lb-next{top:auto;bottom:10px;margin:0}
  .lb-cap{bottom:24px;padding:0 70px;font-size:.8rem}
  .hero-art{padding-left:22px}
  .label{right:-4px;font-size:1.3rem}
}
@media (max-width:400px){
  .brand small{display:none}
  .top .btn{padding:.65rem .8rem}
  .hero-cta .btn{width:100%;justify-content:center}
  .btn{white-space:normal;text-align:center;line-height:1.2;justify-content:center}
  .forma-grid{grid-template-columns:1fr}
}

/* Карточка-приглашение в сетке услуг */
.svc.ask{background:transparent;border:1.5px dashed rgba(180,83,58,.45);justify-content:center;align-items:flex-start;padding:30px 26px;box-shadow:none}
.svc.ask:hover{transform:none;box-shadow:none;background:rgba(255,255,255,.35)}
.svc.ask h3{font-size:1.9rem}
.svc.ask p{font-size:1rem;margin-bottom:1.4rem}
.svc.ask .hand{font:500 1.5rem/1.2 var(--hand);color:var(--thread-d);margin:0 0 .4rem}
/* Галерея: показать все */
.gi.extra{display:none}
.gallery.all .gi.extra{display:block}
.more-wrap{text-align:center;margin-top:24px}
.more-wrap[hidden]{display:none}
@media (max-width:520px){
  .brand{flex:1 1 auto;min-width:0}
  .brand b{overflow:hidden;text-overflow:ellipsis}
  .top-in{gap:8px}
  .top .btn .t-txt{display:none}
  .top .btn{width:44px;height:44px;padding:0;justify-content:center}
}
