:root {
  --ink:#111315;
  --ink-raised:#181b1d;
  --paper:#e8ebed;
  --muted:#a8afb3;
  --line:rgba(232,235,237,.16);
  --accent:#e58a45;
  --accent-hover:#f0a267;
  --button-text:#17120e;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:88px; }
body { margin:0; background:var(--ink); color:var(--paper); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
button,summary { font:inherit; }
::selection { color:var(--ink); background:var(--accent); }
[id] { scroll-margin-top:88px; }

.nav-shell { position:absolute; inset:0 0 auto; z-index:10; height:72px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 clamp(20px,4vw,64px); border-bottom:1px solid var(--line); }
.brand { font-size:19px; font-weight:760; letter-spacing:-.04em; }
.brand span { color:var(--accent); }
.nav-links { display:flex; gap:34px; color:#c0c5c8; font-size:14px; }
.nav-links a,.nav-cta { transition:color .22s cubic-bezier(.16,1,.3,1),transform .22s cubic-bezier(.16,1,.3,1); }
.nav-links a:hover { color:var(--paper); }
.nav-cta { justify-self:end; color:var(--accent); font-size:14px; font-weight:650; }
.nav-cta:hover { color:#ffc08f; }
.nav-cta:active { transform:translateY(1px); }

.hero { min-height:100dvh; display:grid; grid-template-columns:minmax(320px,.86fr) minmax(480px,1.14fr); padding-top:72px; overflow:hidden; }
.hero-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(28px,6vw,90px); position:relative; }
.hero-copy::after { content:''; position:absolute; right:0; top:11%; bottom:11%; width:1px; background:var(--line); }
.eyebrow { margin:0 0 28px; color:var(--accent); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3,p { text-wrap:pretty; }
h1 { margin:0; font-size:clamp(54px,5.4vw,86px); line-height:.9; letter-spacing:-.075em; font-weight:640; }
.hero-lead { margin:34px 0 0; max-width:430px; color:#b9bec1; font-size:clamp(16px,1.4vw,20px); line-height:1.48; }
.hero-actions { display:flex; gap:12px; margin-top:34px; }
.button-primary,.button-ghost { min-height:48px; display:inline-flex; align-items:center; justify-content:center; padding:0 20px; border-radius:10px; font-size:14px; font-weight:680; white-space:nowrap; transition:transform .28s cubic-bezier(.16,1,.3,1),background-color .28s cubic-bezier(.16,1,.3,1),color .2s ease,box-shadow .28s cubic-bezier(.16,1,.3,1); }
.button-primary { background:var(--accent); color:var(--button-text); }
.button-primary:hover { background:var(--accent-hover); transform:translateY(-2px); }
.button-ghost { border:1px solid #3c4144; color:#d4d7d9; }
.button-ghost:hover { background:#1c2022; transform:translateY(-2px); }
.button-primary:active,.button-ghost:active { transform:translateY(1px); }
.hero-visual { position:relative; margin:0; min-height:540px; background:#090a0b; overflow:hidden; }
.hero-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; animation:hero-image 1.4s cubic-bezier(.16,1,.3,1) both; }
.hero-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(17,19,21,.28),transparent 22%); pointer-events:none; }
.hero-visual figcaption { position:absolute; z-index:2; left:0; right:0; bottom:0; display:grid; grid-template-columns:1fr 1fr; padding:18px 22px; color:#f1f2f3; font-size:12px; background:linear-gradient(transparent,rgba(0,0,0,.72)); }
.hero-visual figcaption span:last-child { text-align:right; color:var(--accent); }
.hero-copy>* { animation:hero-copy .9s cubic-bezier(.16,1,.3,1) both; }
.hero-copy>*:nth-child(2) { animation-delay:.07s; }
.hero-copy>*:nth-child(3) { animation-delay:.14s; }
.hero-copy>*:nth-child(4) { animation-delay:.21s; }
@keyframes hero-copy { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:none; } }
@keyframes hero-image { from { opacity:0; transform:scale(1.06); } to { opacity:1; transform:scale(1); } }

.signal-strip { min-height:116px; display:grid; grid-template-columns:repeat(3,auto) 1fr; align-items:center; gap:clamp(20px,4vw,64px); padding:24px clamp(20px,6vw,96px); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.signal-strip>span { font-size:clamp(19px,2.2vw,34px); font-weight:650; letter-spacing:-.055em; color:#d3d7d9; }
.signal-strip p { justify-self:end; max-width:410px; color:var(--muted); font-size:14px; line-height:1.55; }

.section-shell { width:min(100%,1440px); margin:0 auto; padding:clamp(92px,12vw,180px) clamp(20px,6vw,96px); }
.section-intro { max-width:900px; }
.section-intro h2,.scope-head h2,.prices-head h2,.process h2,.faq-title h2,.contact-copy h2 { margin:0; font-size:clamp(42px,6vw,88px); line-height:.97; letter-spacing:-.065em; font-weight:600; }
.section-intro>p { max-width:580px; margin:28px 0 0; color:var(--muted); font-size:17px; line-height:1.6; }

.case-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:clamp(24px,4vw,58px); margin-top:clamp(56px,8vw,112px); }
.case { margin:0; }
.case-wide { grid-column:1/11; }
.case-offset { grid-column:5/13; margin-top:clamp(20px,5vw,72px); }
.case-image { position:relative; aspect-ratio:16/9; overflow:hidden; border-radius:14px; background:#08090a; }
.case-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.16,1,.3,1); }
.case:hover .case-image img { transform:scale(1.025); }
.case-copy { display:grid; grid-template-columns:minmax(190px,.5fr) 1fr; gap:30px; padding-top:22px; }
.case-copy h3 { margin:0; font-size:clamp(21px,2vw,30px); letter-spacing:-.035em; }
.case-copy p { margin:2px 0 0; max-width:500px; color:var(--muted); line-height:1.55; }

.scope { border-top:1px solid var(--line); }
.scope-head { max-width:980px; }
.repair-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:1px; margin-top:clamp(56px,8vw,112px); background:var(--line); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.repair-item { min-height:270px; display:flex; flex-direction:column; justify-content:space-between; padding:clamp(26px,4vw,52px); background:var(--ink); }
.repair-2,.repair-3 { background:var(--ink-raised); }
.repair-top { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.repair-top h3 { margin:0; max-width:340px; font-size:clamp(24px,2.6vw,38px); line-height:1.04; letter-spacing:-.05em; }
.repair-top span { color:var(--accent); font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace; font-size:12px; white-space:nowrap; }
.repair-item>p { margin:42px 0 0; max-width:540px; color:var(--muted); line-height:1.58; }
.exclusions { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(36px,8vw,120px); margin-top:clamp(56px,9vw,126px); padding:clamp(32px,5vw,70px); border:1px solid rgba(229,138,69,.38); border-radius:14px; background:linear-gradient(140deg,rgba(229,138,69,.065),transparent 55%); }
.exclusion-label { margin:0 0 20px; color:var(--accent); font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.exclusions h3 { margin:0; max-width:390px; font-size:clamp(30px,4vw,55px); line-height:1; letter-spacing:-.055em; }
.exclusion-list { display:grid; grid-template-columns:1fr 1fr; align-content:start; gap:28px 34px; }
.exclusion-list p { margin:0; padding-left:18px; border-left:1px solid var(--line); color:#c1c6c9; font-size:15px; line-height:1.5; }

.prices { border-top:1px solid var(--line); }
.prices-head { max-width:960px; }
.prices-head>p:last-child { max-width:690px; margin:28px 0 0; color:var(--muted); font-size:17px; line-height:1.6; }
.price-list { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:clamp(56px,8vw,100px); overflow:hidden; border:1px solid var(--line); border-radius:14px; background:var(--line); }
.price-row { min-height:126px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:24px; padding:26px clamp(22px,3.5vw,46px); background:var(--ink); }
.price-row:nth-child(4n+2),.price-row:nth-child(4n+3) { background:var(--ink-raised); }
.price-row h3 { margin:0; max-width:420px; font-size:clamp(17px,1.7vw,23px); line-height:1.25; letter-spacing:-.025em; font-weight:580; }
.price-row strong { color:var(--accent); font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace; font-size:14px; white-space:nowrap; }
.price-note { max-width:760px; margin:22px 0 0; color:var(--muted); font-size:13px; line-height:1.55; }

.process { padding-top:40px; }
.process h2 { max-width:800px; }
.process-track { display:grid; grid-template-columns:1fr 1.18fr .82fr; margin-top:clamp(50px,8vw,105px); border-top:1px solid var(--line); }
.process-track article { min-height:300px; padding:36px clamp(20px,3vw,42px) 20px 0; border-right:1px solid var(--line); }
.process-track article+article { padding-left:clamp(20px,3vw,42px); }
.process-track article:last-child { border-right:0; }
.process-track span { color:var(--accent); font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.process-track h3 { margin:70px 0 14px; font-size:clamp(22px,2.4vw,34px); line-height:1.08; letter-spacing:-.04em; }
.process-track p { margin:0; max-width:340px; color:var(--muted); line-height:1.55; }

.faq { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(50px,10vw,150px); border-top:1px solid var(--line); }
.faq-title { position:sticky; top:100px; align-self:start; }
.faq-title h2 { font-size:clamp(42px,5vw,72px); }
.faq-title p { margin:22px 0 0; color:var(--muted); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { list-style:none; display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center; padding:28px 0; cursor:pointer; font-size:clamp(18px,2vw,26px); letter-spacing:-.025em; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary { transition:color .22s cubic-bezier(.16,1,.3,1); }
.faq-list summary:hover { color:var(--accent-hover); }
.faq-list summary span { color:var(--accent); font-size:30px; font-weight:300; transition:transform .32s cubic-bezier(.16,1,.3,1); }
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list details p { margin:-8px 0 28px; max-width:620px; color:var(--muted); line-height:1.65; }
.faq-list details[open] p { animation:faq-answer .38s cubic-bezier(.16,1,.3,1) both; }
@keyframes faq-answer { from { opacity:0; transform:translateY(-8px); clip-path:inset(0 0 18%); } to { opacity:1; transform:none; clip-path:inset(0); } }

.contact { display:grid; grid-template-columns:.84fr 1.16fr; gap:clamp(48px,9vw,140px); border-top:1px solid var(--line); }
.contact-copy { align-self:start; position:sticky; top:100px; }
.contact-copy>p:not(.eyebrow) { max-width:520px; margin:28px 0 0; color:var(--muted); font-size:17px; line-height:1.6; }
.contact-phone { display:flex; flex-direction:column; align-items:flex-start; gap:7px; margin-top:46px; transition:transform .28s cubic-bezier(.16,1,.3,1),color .2s ease; }
.contact-phone:hover { transform:translateY(-2px); }
.contact-phone span { color:var(--muted); font-size:13px; }
.contact-phone strong { color:var(--accent); font-size:clamp(24px,3vw,40px); letter-spacing:-.045em; }
.contact-form { position:relative; display:grid; gap:22px; padding:clamp(28px,5vw,64px); border:1px solid var(--line); border-radius:14px; background:var(--ink-raised); }
.field { display:grid; gap:10px; }
.field>span { color:#cbd0d2; font-size:13px; font-weight:650; }
.field input,.field textarea { width:100%; border:1px solid #42484b; border-radius:10px; outline:0; background:var(--ink); color:var(--paper); padding:15px 16px; font:inherit; line-height:1.45; transition:border-color .2s ease,box-shadow .2s ease; }
.field textarea { min-height:148px; resize:vertical; }
.field input::placeholder,.field textarea::placeholder { color:#747d82; opacity:1; }
.field input:focus,.field textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(229,138,69,.16); }
.form-submit { border:0; cursor:pointer; justify-self:start; margin-top:4px; }
.form-consent { margin:-5px 0 0; max-width:520px; color:var(--muted); font-size:12px; line-height:1.5; }
.form-message { display:grid; gap:4px; padding:15px 16px; border-radius:10px; font-size:13px; line-height:1.45; }
.form-message span { color:inherit; opacity:.84; }
.form-success { border:1px solid rgba(83,165,110,.52); background:rgba(83,165,110,.1); color:#b9e9c8; }
.form-error { border:1px solid rgba(229,138,69,.5); background:rgba(229,138,69,.1); color:#ffd0ae; }
.form-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }

.final-cta { padding-top:50px; }
.cta-panel { position:relative; overflow:hidden; display:grid; grid-template-columns:1fr auto; align-items:end; gap:40px; padding:clamp(34px,6vw,86px); min-height:440px; border-radius:14px; background:var(--accent); color:var(--button-text); }
.cta-panel::after { content:'РАСТР'; position:absolute; right:-.03em; top:-.28em; font-size:clamp(160px,26vw,390px); font-weight:800; letter-spacing:-.09em; color:rgba(23,18,14,.06); pointer-events:none; }
.cta-panel>p { position:absolute; top:clamp(28px,5vw,66px); left:clamp(34px,6vw,86px); margin:0; font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace; font-size:12px; letter-spacing:.1em; }
.cta-panel h2 { position:relative; z-index:1; margin:0; max-width:830px; font-size:clamp(42px,6vw,86px); line-height:.96; letter-spacing:-.065em; font-weight:650; }
.cta-panel .button-primary { position:relative; z-index:1; background:var(--button-text); color:#f1f2f3; }
.cta-panel .button-primary:hover { background:#28221d; }

footer { max-width:1440px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:end; gap:30px; padding:48px clamp(20px,6vw,96px) 64px; color:var(--muted); font-size:13px; }
footer>p { margin:0; }
.contact-note { justify-self:end; max-width:320px; text-align:right; }

.mobile-action-bar { display:none; }

.reveal { opacity:1; }
@supports (animation-timeline:view()) {
  .reveal { animation:section-reveal cubic-bezier(.16,1,.3,1) both; animation-timeline:view(); animation-range:entry 2% cover 24%; }
  @keyframes section-reveal { from { opacity:.18; transform:translateY(20px); clip-path:inset(0 0 8%); } to { opacity:1; transform:none; clip-path:inset(0); } }
}

@media (max-width:800px) {
  body { padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
  html { scroll-padding-top:76px; }
  [id] { scroll-margin-top:76px; }
  .nav-shell { grid-template-columns:1fr auto; height:64px; }
  .nav-links { display:none; }
  .nav-cta { font-size:12px; }
  .hero { grid-template-columns:1fr; padding-top:64px; }
  .hero-copy { min-height:58dvh; padding:46px 20px 38px; }
  .hero-copy::after { display:none; }
  .eyebrow { margin-bottom:20px; font-size:9px; }
  h1 { font-size:clamp(50px,16vw,72px); }
  .hero-lead { margin-top:22px; max-width:340px; }
  .hero-actions { margin-top:24px; flex-wrap:wrap; }
  .hero-visual { min-height:42dvh; }
  .signal-strip { grid-template-columns:repeat(3,1fr); gap:14px; min-height:100px; }
  .signal-strip>span { text-align:center; font-size:18px; }
  .signal-strip p { grid-column:1/-1; justify-self:start; margin:10px 0 0; }
  .section-shell { width:100%; padding:88px 20px; }
  .section-intro h2,.scope-head h2,.prices-head h2,.process h2,.faq-title h2,.contact-copy h2 { font-size:clamp(40px,12vw,58px); }
  .case-grid { display:block; margin-top:52px; }
  .case+.case { margin-top:48px; }
  .case-copy { grid-template-columns:1fr; gap:10px; padding-top:18px; }
  .repair-grid { grid-template-columns:1fr; margin-top:50px; }
  .repair-item { min-height:240px; }
  .exclusions { grid-template-columns:1fr; gap:42px; padding:30px 24px; }
  .exclusion-list { grid-template-columns:1fr; gap:22px; }
  .price-list { grid-template-columns:1fr; }
  .price-row { min-height:112px; padding:24px 20px; }
  .price-row:nth-child(odd) { background:var(--ink); }
  .price-row:nth-child(even) { background:var(--ink-raised); }
  .process { padding-top:20px; }
  .process-track { grid-template-columns:1fr; }
  .process-track article,.process-track article+article { min-height:auto; padding:28px 0 34px; border-right:0; border-bottom:1px solid var(--line); }
  .process-track h3 { margin:42px 0 12px; }
  .faq { grid-template-columns:1fr; gap:44px; }
  .faq-title { position:static; }
  .contact { grid-template-columns:1fr; gap:44px; }
  .contact-copy { position:static; }
  .contact-form { padding:28px 20px; }
  .cta-panel { grid-template-columns:1fr; min-height:500px; align-content:end; padding:32px 24px; }
  .cta-panel>p { left:24px; top:28px; }
  .cta-panel .button-primary { justify-self:start; }
  footer { grid-template-columns:1fr; align-items:start; padding:40px 20px 40px; }
  .contact-note { justify-self:start; text-align:left; }
  .mobile-action-bar { position:fixed; z-index:40; right:0; bottom:0; left:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:rgba(17,19,21,.93); -webkit-backdrop-filter:blur(16px) saturate(1.2); backdrop-filter:blur(16px) saturate(1.2); box-shadow:0 -12px 30px rgba(0,0,0,.22); animation:mobile-bar-enter .62s cubic-bezier(.16,1,.3,1) .22s both; }
  .mobile-action { height:52px; min-width:0; display:flex; align-items:center; justify-content:center; border-radius:10px; font-size:13px; font-weight:720; text-align:center; transition:transform .2s cubic-bezier(.16,1,.3,1),background-color .2s ease,color .2s ease; }
  .mobile-action:active { transform:scale(.975); }
  .mobile-action-phone { flex-direction:column; gap:1px; border:1px solid #414649; color:#f0f2f3; }
  .mobile-action-phone span { color:#aeb5b9; font-size:9px; font-weight:650; letter-spacing:.05em; text-transform:uppercase; }
  .mobile-action-phone strong { max-width:100%; overflow:hidden; font-size:12px; font-weight:720; letter-spacing:-.015em; text-overflow:ellipsis; white-space:nowrap; }
  .mobile-action-request { background:var(--accent); color:var(--button-text); }
  @keyframes mobile-bar-enter { from { opacity:0; transform:translateY(100%); } to { opacity:1; transform:none; } }
}

@media (prefers-color-scheme:light) {
  :root { --ink:#e9ecee; --ink-raised:#dde1e3; --paper:#17191a; --muted:#565d61; --line:rgba(17,19,21,.16); --button-text:#17120e; }
  .nav-links { color:#474d51; }
  .hero-lead,.case-copy p,.repair-item>p,.prices-head>p:last-child,.price-note,.process-track p,.faq-list details p,.contact-copy>p:not(.eyebrow),.contact-phone span,.form-consent { color:#50575b; }
  .button-ghost { border-color:#aeb4b7; color:#24282a; }
  .button-ghost:hover { background:#d9dddf; }
  .hero-visual::after { background:linear-gradient(90deg,rgba(233,236,238,.2),transparent 20%); }
  .repair-top span,.nav-cta { color:#a64f15; }
  .exclusions { border-color:rgba(166,79,21,.42); }
  .exclusion-list p { color:#3d4346; }
  .field>span { color:#353b3e; }
  .field input,.field textarea { border-color:#aeb5b8; background:#f4f5f6; color:#17191a; }
  .field input::placeholder,.field textarea::placeholder { color:#6a7276; }
  .form-success { color:#245f37; }
  .form-error { color:#8a3f0f; }
  .mobile-action-bar { background:rgba(233,236,238,.94); box-shadow:0 -12px 30px rgba(17,19,21,.1); }
  .mobile-action-phone { border-color:#aeb4b7; color:#24282a; }
  .mobile-action-phone span { color:#5f676b; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .reveal { opacity:1!important; transform:none!important; }
}
