:root{--tiles:url(img/parquet.jpg);--g:#2D5016;--gd:#1a2f0c;--b:#8B5A2B;--o:#E8833A;--sand:#f4efe6;--ink:#1f2a17;--mut:#5f665a}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font:17px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-weight:800;letter-spacing:-.025em;line-height:1.1;color:var(--gd)}
h2{font-size:clamp(30px,5vw,52px);margin-bottom:48px;max-width:760px}
a{color:inherit}
.w{max-width:1180px;margin:0 auto;padding:0 24px}
section{padding:110px 0}
.alt{background:var(--sand)}
.ph{border-radius:24px;min-height:220px;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;font-size:13px;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.6);
--c:#9c6a3a;background:repeating-linear-gradient(90deg,var(--c) 0 26px,color-mix(in srgb,var(--c) 78%,#000) 26px 28px)}
.btn{display:inline-block;background:var(--o);color:#fff;border:0;border-radius:999px;padding:17px 34px;font:700 16px system-ui;cursor:pointer;text-decoration:none;box-shadow:0 10px 26px -8px rgba(232,131,58,.6);transition:transform .2s,background .2s}
.btn:hover{background:#d3702b;transform:translateY(-2px)}
.btn.ghost{background:transparent;box-shadow:none;border:2px solid currentColor}
.btn.ghost:hover{background:rgba(255,255,255,.14)}
.btn.sm{padding:11px 22px;font-size:14px}
:focus-visible{outline:3px solid var(--o);outline-offset:3px}
header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(0,0,0,.06)}
.bar{display:flex;align-items:center;gap:22px;height:70px}
.logo{margin-right:auto;text-decoration:none;font-weight:800;color:var(--g);font-size:18px;letter-spacing:-.02em}
nav{display:flex;gap:24px}nav a{text-decoration:none;font-size:15px;font-weight:500;color:var(--mut)}nav a:hover{color:var(--g)}
.tel{font-weight:700;text-decoration:none;color:var(--gd)}
.burger{display:none;background:0;border:0;font-size:28px;cursor:pointer;color:var(--gd)}
.hero{position:relative;color:#fff;padding:0;min-height:92vh;display:flex;align-items:flex-end;background:var(--gd);overflow:hidden}
.hero .ph{position:absolute;inset:0;border-radius:0;--c:#5a4630}
.hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(18,34,8,.9) 0%,rgba(18,34,8,.45) 60%,rgba(18,34,8,.3))}
.hero .w{position:relative;z-index:2;padding-top:120px;padding-bottom:72px}
.hero h1{color:#fff;font-size:clamp(40px,7.5vw,84px);max-width:860px;margin-bottom:24px}
.hero .sub{font-size:clamp(17px,2vw,21px);max-width:580px;opacity:.92;margin-bottom:32px}
.badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px}
.badges span{background:rgba(255,255,255,.12);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:9px 18px;font-size:15px}
.cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:28px}
.hero .w>div:last-child{opacity:.85;font-size:15px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.two p{font-size:19px;color:var(--mut)}
.two .ph{min-height:440px!important}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:72px}
.card{background:var(--sand);border-radius:24px;padding:28px}
.card span{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:#fff;font-size:26px;margin-bottom:18px}
.card h3{font-size:20px;margin-bottom:8px}.card p{color:var(--mut);font-size:15px}
.colors{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.colors>div{background:#fff;border-radius:28px;padding:12px 12px 26px;box-shadow:0 18px 40px -22px rgba(26,47,12,.35)}
.colors .ph{border-radius:18px;min-height:230px}
.colors h3{font-size:22px;margin:18px 14px 12px}.colors .btn{margin-left:14px}
.colors>div:nth-child(1) .ph{--c:#c9a06a}.colors>div:nth-child(2) .ph{--c:#4a3328}.colors>div:nth-child(3) .ph{--c:#a7742f}
.colors>div:nth-child(4) .ph{--c:#45484a}.colors>div:nth-child(5) .ph{--c:#8a6f52}.colors>div:nth-child(6) .ph{--c:#d8b98a}
.center{text-align:center;margin-top:48px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;counter-reset:s}
.steps>div{counter-increment:s;position:relative}
.steps>div:before{content:counter(s);position:absolute;top:16px;left:16px;z-index:1;width:42px;height:42px;border-radius:50%;background:var(--o);color:#fff;display:grid;place-items:center;font-weight:800}
.steps .ph{min-height:260px}
.steps h3{font-size:21px;margin:18px 0 6px}.steps p{color:var(--mut)}
table{width:100%;max-width:820px;border-collapse:collapse;background:#fff;border-radius:24px;padding:12px 32px;display:table;box-shadow:0 18px 40px -24px rgba(26,47,12,.3)}
td{padding:17px 28px;border-bottom:1px solid #eee7da}tr:last-child td{border:0}
td:first-child{color:var(--mut)}td:last-child{text-align:right;font-weight:700;color:var(--gd)}
.docs{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.docs button{background:#fff;border:1px solid #d9d0be;border-radius:999px;padding:13px 24px;cursor:pointer;font:600 15px system-ui;color:var(--gd)}
.docs button:hover{border-color:var(--g);background:var(--g);color:#fff}
form{max-width:560px;display:grid;gap:14px}
input,select,textarea{width:100%;padding:16px 18px;border:1.5px solid #ddd5c6;border-radius:14px;font:16px system-ui;background:#fff;color:var(--ink)}
input.err,select.err{border-color:#d33}
.msg{color:#ff9b8f;font-size:14px}
.chk{display:flex;gap:10px;font-size:14px;color:var(--mut);align-items:flex-start}.chk input{width:auto;margin-top:5px}
#calc{background:var(--gd);color:#fff}
#calc h2{color:#fff}#calc .w{max-width:760px}
#calc input,#calc select{border:0}#calc .chk{color:#cfdcc4}
.res{display:none;margin-top:28px;padding:32px;background:#fff;color:var(--ink);border-radius:24px}
.res b{color:var(--g);font-size:26px}
#request .w{max-width:680px}
#request h2{text-align:center;margin-inline:auto}
#lead{margin:0 auto;background:#fff;padding:36px;border-radius:28px;box-shadow:0 24px 50px -28px rgba(26,47,12,.4)}
.thanks{display:none;text-align:center;font-size:26px;font-weight:800;color:var(--g);padding:48px 0}
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.trust>div{background:var(--sand);border-radius:24px;padding:36px}
.trust span{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--g);font-size:28px;margin-bottom:20px}
.trust h3{font-size:22px;margin-bottom:8px}.trust p{color:var(--mut)}
.rev{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:20px}
.rev>div{background:var(--g);color:#fff;border-radius:24px;padding:36px}
.rev p{color:#dbe6d0!important}
#contacts{background:var(--gd);color:#dfe8d6}
#contacts h2{color:#fff}
.contacts{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.contacts p{margin-bottom:10px}
#contacts .ph{--c:#31501d;min-height:280px}
footer{background:#111f08;color:#a9b89b;padding:30px 0;font-size:14px}
footer .w{display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between}
dialog{border:0;border-radius:28px;padding:36px;max-width:480px;width:92%;margin:auto}
dialog::backdrop{background:rgba(10,20,4,.65)}
dialog form{max-width:none}.x{float:right;background:0;border:0;font-size:28px;cursor:pointer}
@media(max-width:768px){
section{padding:72px 0}
.two,.contacts,.trust,.rev{grid-template-columns:1fr}.two{gap:32px}.two .ph{min-height:280px!important}
.cards,.colors,.steps{grid-template-columns:1fr 1fr}
.burger{display:block}.tel{display:none}.bar .btn{display:none}
nav{display:none;position:fixed;inset:70px 0 0 0;background:#fff;flex-direction:column;padding:32px 24px;gap:22px;z-index:19}
nav.open{display:flex}nav a{font-size:22px;font-weight:700;color:var(--gd)}}
@media(max-width:480px){
.cards,.colors,.steps{grid-template-columns:1fr}
.cta .btn{width:100%;text-align:center}
#lead{padding:24px}
table{padding:6px 8px}tr{display:block;padding:10px 12px;border-bottom:1px solid #eee7da}
td{display:block;border:0;padding:2px 0;text-align:left!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

body{background:var(--page,#fff);transition:background-color .6s}
body[data-tone=sand]{--page:#f4efe6}body[data-tone=dark]{--page:#1a2f0c}
.alt{background:none}#calc,#contacts{background:none}
.hero .w{padding-bottom:110px}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:64px;z-index:2;background:linear-gradient(rgba(255,255,255,.5),rgba(255,255,255,.5)) fixed,var(--tiles) 0 0/240px fixed;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 64' preserveAspectRatio='none'%3E%3Cpath d='M0 64V28C240 0 480 60 720 34S1200 6 1440 30V64Z'/%3E%3C/svg%3E") 0 0/100% 100%;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 64' preserveAspectRatio='none'%3E%3Cpath d='M0 64V28C240 0 480 60 720 34S1200 6 1440 30V64Z'/%3E%3C/svg%3E") 0 0/100% 100%}
.stick{position:sticky;top:70px;height:calc(100vh - 70px);display:flex;align-items:center}
.lay{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;width:100%}
.legend{list-style:none;padding:0;display:grid;gap:14px;font-size:19px}
.legend i{display:inline-block;width:14px;height:14px;border-radius:4px;margin-right:12px}
.hint{margin-top:28px;color:var(--mut);font-size:14px}
.scene{perspective:1100px;display:grid;place-items:center;height:440px}
.stack{position:relative;width:240px;height:240px;transform-style:preserve-3d;transform:rotateX(58deg) rotateZ(-38deg)}
.ly{position:absolute;inset:0;border-radius:8px}
.l1{background:repeating-linear-gradient(90deg,#b27c47 0 22.5%,transparent 22.5% 25%);transform:translateZ(calc(var(--p,1)*120px + 20px));filter:drop-shadow(0 8px 8px rgba(0,0,0,.25))}
.l2{background:#3b3f41;transform:translateZ(10px)}
.l3{inset:-10px;border:10px solid var(--o);border-radius:12px;transform:translateZ(calc(var(--p,1)*-100px))}
.viz{display:grid;gap:3px;margin:0 0 22px;max-width:340px}
.viz i{aspect-ratio:1;border-radius:2px;background:repeating-linear-gradient(90deg,var(--c) 0 20%,color-mix(in srgb,var(--c) 70%,#000) 20% 24%);animation:pop .35s both}
@keyframes pop{from{transform:scale(.2);opacity:0}}
.vizn{font-size:13px;color:var(--mut);margin:-14px 0 18px}
@media(max-width:768px){.lay{grid-template-columns:1fr;gap:0}.scene{height:340px}.stack{width:180px;height:180px}}
@media(prefers-reduced-motion:reduce){.viz i{animation:none}body{transition:none}}

/* Фон — уложенный садовый паркет: плитки 30×30, ламели чередуются по шахматке */
body:before,body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none}
body:before{background:var(--tiles) 0 0/240px 240px}
body:after{background:var(--page,#fff);opacity:.82;transition:background-color .6s,opacity .6s}
body[data-tone=dark]:after{opacity:.9}
@media(max-width:768px){body:before{background-size:180px 180px}}

/* Паркет виден: вуаль слабее, тексты лежат на читаемых подложках */
body:after{opacity:.5}body[data-tone=sand]:after{opacity:.55}body[data-tone=dark]:after{opacity:.85}
h2{display:inline-block;background:rgba(255,255,255,.92);padding:.15em .5em;border-radius:18px}
#calc h2,#contacts h2{background:none;padding:0}
.lay h2{background:none;padding:0}
.lay>div:first-child{background:rgba(255,255,255,.92);padding:36px;border-radius:28px}
.card{background:rgba(255,255,255,.92)}
.two>p{background:rgba(255,255,255,.92);padding:32px;border-radius:24px}
.steps>div{background:rgba(255,255,255,.92);border-radius:24px;padding:10px 10px 22px}
.steps h3,.steps p{padding:0 14px}
.trust>div{background:rgba(255,255,255,.92)}
.center p{display:inline-block;background:rgba(255,255,255,.92);padding:10px 22px;border-radius:999px}
#request .w>p{background:rgba(255,255,255,.92);padding:10px 22px;border-radius:999px;width:fit-content;margin:-24px auto 32px!important}
.logo,nav a,.tel,.btn{white-space:nowrap}
.bar{gap:16px}nav{gap:18px}nav a{font-size:14px}.logo{font-size:17px}.tel{font-size:15px}
@media(max-width:1100px){.tel{display:none}}
