html,body{margin:0}img{max-width:100%;display:block}
/* Заголовки: Russo One (одно начертание). Текст: Exo 2, тонкое 300. */

/* Layout: одна картинка лежит под всей страницей и растянута на всю её длину, прокручивается вместе со страницей.
   Первый экран прозрачный — видно верх картинки. Дальше всё закрыто тёмным, и только в словах «ТОКАРКА» и «СВАРКА»
   прорезаны окошки: сквозь буквы видно тот кусок картинки, который под ними. */
:root{
  --black:#08110E; --black-2:#0D1915; --card:#111C18; --blue:#1C597E; --blue-deep:#164A69;
  /* искра: от белого ядра к янтарю и окалине */
  --spark:#FFC94A; --spark-light:#FFF3D1; --spark-deep:#E07A1F;
  --g-1:linear-gradient(137deg,#FFF6DC 0%,#FFC94A 45%,#E8761C 100%);
  --g-2:linear-gradient(137deg,#FFE7A0 0%,#F5A12A 50%,#A8471A 100%);
  --g-3:linear-gradient(137deg,#FFFFFF 0%,#FFD36A 42%,#C9581A 100%);
  /* текст: тёплый белый, ~17:1 на чёрном, ~6.8:1 на синем */
  --text:#F4EEE2; --muted:rgba(244,238,226,.66); --line:rgba(244,238,226,.14);
  --display:"Russo One","Arial Black",sans-serif;
  --body:"Exo 2",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:1120px; --r:2px;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--text);font-family:var(--body);font-weight:300;font-size:17px;line-height:1.45;-webkit-font-smoothing:antialiased;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
a{color:inherit}
:focus-visible{outline:2px solid var(--spark);outline-offset:3px}
section{overflow-x:clip}
.band{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:clamp(56px,8vw,112px)}
.wrap{max-width:var(--wrap);margin-inline:auto}
.b-ink{background:var(--black);--bandc:var(--black)}
.cut-after{padding-top:24px}
/* разделители: щель между секциями, сквозь неё виден общий фон страницы */
main > section,footer{margin-top:2px}
.b-ink2{background:var(--black-2);--bandc:var(--black-2)} .b-blue{background:var(--blue);--bandc:var(--blue)}
.ph{color:var(--spark)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

h1,h2,h3{margin:0;text-wrap:balance}
h2{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(26px,4.4vw,46px);line-height:1.04;letter-spacing:0}
h3{font-weight:600;font-size:clamp(18px,2.2vw,21px);line-height:1.25;letter-spacing:-.01em}
p{margin:0;max-width:62ch}
.eyebrow{font-weight:300;text-transform:uppercase;letter-spacing:.06em;font-size:13px;color:var(--muted)}
.lead{font-size:clamp(17px,2.1vw,20px);font-weight:300;color:var(--muted)}
.head{display:grid;gap:14px;margin-bottom:36px;align-content:start}

/* ===== кнопки: прямоугольные, как в SOSCALE ===== */
.btns{display:flex;flex-wrap:wrap;gap:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 18px;border-radius:2px;
  font:400 14.5px/1 var(--body);text-transform:uppercase;letter-spacing:.02em;text-decoration:none;white-space:nowrap;
  border:1px solid transparent;background:none;color:var(--text);cursor:pointer;transition:filter .15s,border-color .15s,background .15s}
.btn-main{background:var(--spark);color:var(--black)}
.btn-main:hover{filter:brightness(1.08)}
.btn-line{border-color:rgba(244,238,226,.38)}
.btn-line:hover{border-color:var(--text);background:rgba(244,238,226,.05)}

/* ===== фоновые картинки (фото или временная заставка) ===== */
.page{position:relative;isolation:isolate}
.page-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;background-color:var(--black);background-image:var(--img,none),var(--fb,linear-gradient(#1C2A30,#08110E));background-size:cover,100% 100%;background-position:50% 0,0 0;background-repeat:no-repeat}
.page-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s}
.page-bg video.on{opacity:1}

/* ===== ПЕРВЫЙ ЭКРАН ===== */
.hero{position:relative;isolation:isolate;display:grid;grid-template-rows:auto 1fr;min-height:min(100svh,940px)}
.hero > .hnav,.hero > .hcopy{position:relative;z-index:1}
.lids{position:absolute;inset:0;z-index:0;overflow:hidden;display:grid;grid-template-columns:repeat(8,1fr);pointer-events:none}
.lid{background:var(--black);opacity:0;transform-origin:50% 0;margin-right:-1px}
.is-entering .lid{opacity:1}
.is-entering :is(.hnav > *,.hcopy .kicker,.hcopy h1,.hcopy .lead,.facts,.dock){opacity:0}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent 35%,rgba(8,17,14,.6) 70%,var(--black) 100%)}
.hnav{background:var(--black);display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:14px max(16px,env(safe-area-inset-right,0px)) 14px max(16px,env(safe-area-inset-left,0px));
  font-weight:300;font-size:13px;text-transform:uppercase;letter-spacing:.02em;color:#C9C4BA}
.hnav .tel{font-weight:400;font-size:15px;color:var(--text);text-decoration:none;letter-spacing:.01em;word-spacing:0;font-variant-numeric:tabular-nums;white-space:nowrap}
.hcopy{align-self:end;display:grid;gap:22px;
  padding:clamp(200px,50vw,420px) max(16px,env(safe-area-inset-right,0px)) 32px max(16px,env(safe-area-inset-left,0px))}
.hcopy .inner{max-width:var(--wrap);width:100%;margin-inline:auto;display:grid;gap:22px}
.hcopy .kicker{margin:0;display:flex;align-items:center;gap:12px;font-weight:600;font-size:clamp(15px,1.7vw,19px);text-transform:uppercase;letter-spacing:.12em;color:var(--spark)}
.hcopy .kicker::before{content:"";width:28px;height:2px;background:currentColor;flex:none}
.hcopy h1{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(34px,6.2vw,80px);line-height:1.02;letter-spacing:0;max-width:15ch;text-shadow:0 4px 40px rgba(8,17,14,.55)}
.hcopy .lead{color:rgba(244,238,226,.85);max-width:46ch}
.facts{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;font-weight:300;color:rgba(244,238,226,.78);font-variant-numeric:tabular-nums;text-transform:uppercase;letter-spacing:.02em}
.facts b{font-weight:500;color:var(--text)}

/* ===== ВЫРЕЗАННОЕ СЛОВО (токарка, сварка) ===== */
.cutrow{display:block;width:100%;height:auto;margin-bottom:-1px}
.cutrow text{font-family:var(--display);font-weight:400;text-transform:uppercase}

/* ===== СВЕЧЕНИЕ ===== */
.glow{position:relative;isolation:isolate;--g:var(--g-1)}
.glow::before{content:"";position:absolute;inset:0;border-radius:var(--r);background:var(--g);filter:blur(42px);opacity:.5;z-index:-1;pointer-events:none}
.glow-in{border-radius:var(--r);border:2px solid transparent;background:linear-gradient(var(--card),var(--card)) padding-box,var(--g) border-box;padding:26px 24px 28px;display:grid;align-content:start;gap:10px}
.cards .glow-in,.steps .glow-in{height:100%}
.g-1{--g:var(--g-1)} .g-2{--g:var(--g-2)} .g-3{--g:var(--g-3)}
.glow .ico{width:30px;height:30px;color:var(--text);margin-bottom:28px}
.glow p{color:var(--muted);font-size:15.5px}
.cards{display:grid;gap:36px;padding-inline:6px}

.note{margin-top:40px;font-size:18px;font-weight:300}
.note b{font-weight:500}
.cols{display:grid;gap:40px}
.cols > *{min-width:0}

/* списки */
.list{list-style:none;margin:0;padding:0;display:grid}
.list li{padding:17px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:baseline}
.list li:last-child{border-bottom:1px solid var(--line)}
.list li::before{content:"⌀";color:var(--spark);font-weight:500}
.list.weld li::before{content:"✶"}

.batch{margin-top:56px}
.batch .glow-in{padding:30px 26px;gap:16px}
.batch h3{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(20px,2.8vw,30px);line-height:1.08;letter-spacing:0}

/* шаги */
.steps{list-style:none;margin:0;padding:0 6px;display:grid;gap:36px}
.steps .num{font:400 40px/1 var(--display);color:var(--text);margin-bottom:20px}

/* фото-заглушки */
.shot{margin:0;display:grid;gap:12px;align-content:start}
.img{aspect-ratio:4/5;max-width:100%;border-radius:2px;overflow:hidden;
  background:repeating-linear-gradient(135deg,rgba(244,238,226,.045) 0 10px,transparent 10px 20px),var(--card);
  display:grid;place-items:center;color:var(--muted);font-size:13px;text-align:center;padding:12px;border:1px solid var(--line)}
.img img{width:100%;height:100%;object-fit:cover;display:block}
.img:has(img){padding:0;background:var(--card)}  /* с настоящим фото — без полей и штриховки */
.shot figcaption{display:grid;gap:3px;font-size:15px;font-weight:300;color:var(--muted)}
.shot figcaption b{color:var(--text);font-weight:500;font-size:16px}

/* карусель */
.carousel{display:grid;gap:20px}
.c-head{display:flex;justify-content:space-between;align-items:end;gap:16px}
.c-head .head{margin-bottom:0}
.c-nav{display:flex;gap:6px;flex:none}
.c-btn{width:46px;height:46px;border-radius:2px;border:1px solid rgba(244,238,226,.38);background:transparent;color:var(--text);display:grid;place-items:center;cursor:pointer;transition:border-color .15s,opacity .15s}
.c-btn:hover{border-color:var(--text)}
.c-btn:disabled{opacity:.28;cursor:default}
.c-btn svg{width:20px;height:20px}
.track{display:grid;grid-auto-flow:column;grid-auto-columns:78%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.track::-webkit-scrollbar{display:none}
.track > *{scroll-snap-align:start;min-width:0}
/* работы: фото целиком, поля — та же фотография, увеличенная и размытая */
#works .img{aspect-ratio:4/3;position:relative;isolation:isolate}
#works .img::before{content:"";position:absolute;inset:-24px;z-index:-1;background:var(--src,none) center/cover no-repeat;filter:blur(22px) brightness(.7) saturate(1.1)}
#works .img img,.reviews .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
/* отзывы: скриншот по ширине карточки, по центру, сверху и снизу белое поле.
   Пропорция — по самому высокому скриншоту (747×508), поэтому все влезают в одном масштабе и шрифт везде одного размера */
.reviews .img{aspect-ratio:747/510}
.reviews .img:has(img){background:#fff;border-color:#fff;position:relative}
.reviews .img img{object-fit:contain}
.reviews .track{grid-auto-columns:92%}
.dots{display:flex;justify-content:center;gap:8px}
.dot{width:7px;height:7px;border-radius:999px;border:0;padding:0;background:rgba(244,238,226,.25);cursor:pointer;transition:width .25s,background .25s}
.dot[aria-current="true"]{width:24px;background:var(--spark)}

/* о мастере */
.master{display:grid;gap:36px}
.master p + p{margin-top:14px}
.master .after-q{margin-top:32px}
blockquote{margin:32px 0 0;padding:0 0 0 18px;border-left:2px solid var(--spark);font-weight:300;font-size:clamp(20px,2.6vw,26px);line-height:1.3;max-width:28ch}
.photos3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.photos3 .img{aspect-ratio:3/4}

/* цены */
.row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:baseline;padding:18px 0;border-top:1px solid var(--line);font-variant-numeric:tabular-nums;font-weight:300}
.row:last-child{border-bottom:1px solid var(--line)}
.row b{font-family:var(--display);font-weight:400;font-size:clamp(17px,2.4vw,22px);text-align:right}

/* FAQ */
.faqcols > *{min-width:0}
.ask{margin-bottom:44px;padding-inline:6px}
.ask ul{margin:0;padding-left:20px;display:grid;gap:4px;color:var(--muted)}
.ask .free{font-weight:600;color:var(--spark)}
details{border-top:1px solid var(--line)}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;font-weight:500;font-size:18px;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font:300 28px/1 var(--body);color:var(--spark);transition:transform .2s}
details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
details p{padding:0 0 20px;color:var(--muted);font-weight:300}

/* контакты */
.contact{display:grid;gap:36px}
.cinfo{display:grid;gap:18px;font-variant-numeric:tabular-nums}
.cinfo div{display:grid;gap:4px}
.cinfo small{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--spark-light);font-weight:500}
.cinfo .big{font-size:24px;font-weight:500}
.map{aspect-ratio:4/3;max-width:100%;border-radius:2px;background:
  linear-gradient(rgba(244,238,226,.08) 1px,transparent 1px) 0 0/32px 32px,
  linear-gradient(90deg,rgba(244,238,226,.08) 1px,transparent 1px) 0 0/32px 32px,var(--card);
  display:grid;place-items:center;text-align:center;padding:20px;color:var(--muted);font-size:14px}
.map{position:relative;overflow:hidden;border:1px solid var(--line)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
@media (min-width:860px){.map{aspect-ratio:auto;min-height:420px}}
.pin{width:16px;height:16px;border-radius:50%;background:var(--spark);box-shadow:0 0 0 7px rgba(255,201,74,.25),0 0 30px 8px rgba(240,138,36,.45);margin:0 auto 14px}

footer{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:28px;font-size:13px;font-weight:300;color:var(--muted);background:var(--black)}

/* плавающие кнопки */
.toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:30;transform:translate(-50%,12px);opacity:0;pointer-events:none;
  max-width:min(92vw,420px);padding:12px 16px;border-radius:2px;background:var(--spark);color:var(--black);font-size:15px;font-weight:500;line-height:1.35;text-align:center;transition:opacity .2s,transform .2s}
.toast.on{opacity:1;transform:translate(-50%,0)}
.dock{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:1fr 1fr;gap:8px;
  padding:10px max(12px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));
  background:rgba(8,17,14,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line)}
.dock .btn{width:100%}

@media (min-width:600px){
  .track{grid-auto-columns:calc((100% - 14px)/2)}
  .reviews .track{grid-auto-columns:calc((100% - 14px)/2)}
}
@media (min-width:860px){
  .hnav{font-size:14.5px}
  .hcopy{padding-top:clamp(160px,20vw,320px);padding-bottom:48px}
  .cards{grid-template-columns:repeat(3,1fr);gap:14px;padding-inline:0}
  .glow-in{min-height:300px;border-width:3px}
  .batch .glow-in{min-height:0}
  .cols{grid-template-columns:5fr 7fr;gap:64px}
  .steps{grid-template-columns:repeat(3,1fr);gap:14px;padding:0}
  .track{grid-auto-columns:calc((100% - 42px)/4)}
  .reviews .track{grid-auto-columns:calc((100% - 14px)/2)}
  .master{grid-template-columns:7fr 5fr;gap:64px;align-items:start}
  .contact{grid-template-columns:5fr 7fr;gap:64px}
  .faqcols{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start}
  .ask{margin-bottom:0;padding:0}
  .ask .glow-in{min-height:0}
  .dock{left:auto;right:max(24px,env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));width:360px;border:1px solid var(--line);padding:8px;border-radius:2px}
  body{padding-bottom:0}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.dot{transition:none}}
