:root{--bg:#f3ebdd;--bg2:#e9dcc5;--panel:#fbf6ec;--ink:#2e2216;--muted:#7a6650;--walnut:#5c3b22;--oak:#b98a4e;--green:#4d5d3a;--rust:#a8532a;--line:#dccdb2;--serif:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;--sans:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
body{background:var(--bg);color:var(--ink);font:16px/1.7 var(--sans)}
h1,h2,h3{font-family:var(--serif);font-weight:700;margin:0}
.eyebrow{margin:0 0 14px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--rust);font-weight:700}
.top{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:22px;padding:14px 5vw;background:#f3ebddee;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}
.rings{width:32px;height:32px;border-radius:50%;background:repeating-radial-gradient(circle,var(--walnut) 0 2px,var(--oak) 2px 6px)}
.logo-word{font:700 22px var(--serif);letter-spacing:.02em}
.logo-word i{font-style:italic;color:var(--rust)}
.nav{display:flex;align-items:center;gap:26px}
.nav a{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--muted)}
.nav a:hover{color:var(--rust)}
.nav .nav-cta{padding:10px 20px;background:var(--walnut);color:#f7ecd9;border-radius:3px}
.nav .nav-cta:hover{background:var(--rust);color:#fff}
.lang-select{color:var(--ink);border-color:var(--line);background:var(--panel)}
.menu-btn{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:3px;background:var(--panel);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.menu-btn span{width:18px;height:2px;background:var(--ink)}

.hero{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:5vw;padding:clamp(40px,8vh,96px) 5vw clamp(56px,9vh,100px);max-width:1240px;margin:0 auto}
.hero h1{font-size:clamp(42px,6vw,82px);line-height:1.04;margin-bottom:20px;color:var(--walnut)}
.lead{max-width:530px;margin:0 0 30px;font-size:18px;color:var(--muted)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;padding:15px 30px;border:2px solid var(--walnut);border-radius:3px;background:var(--walnut);color:#f7ecd9;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s}
.btn:hover{background:var(--rust);border-color:var(--rust);transform:translateY(-2px)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-ghost{background:transparent;color:var(--walnut)}
.btn-ghost:hover{background:var(--walnut);color:#f7ecd9;border-color:var(--walnut)}
.hero-art{position:relative;aspect-ratio:1;border-radius:6px;background:linear-gradient(145deg,#d9bf94,#b98a4e);overflow:hidden;box-shadow:0 30px 60px #5c3b2233}
.grain{position:absolute;inset:0;background:repeating-linear-gradient(100deg,#5c3b2214 0 3px,#0000 3px 11px),repeating-linear-gradient(80deg,#ffffff10 0 2px,#0000 2px 17px)}
.plank{position:absolute;left:10%;right:10%;height:20%;border-radius:3px;box-shadow:0 8px 16px #2e221644}
.p1{top:12%;background:linear-gradient(90deg,#7a4a28,#8e5a31 40%,#6b3f22)}
.p2{top:40%;background:linear-gradient(90deg,#c9a068,#d8b17a 50%,#bd9255)}
.p3{top:68%;background:linear-gradient(90deg,#46301e,#5a3f28 45%,#3d2918)}

.section{max-width:1120px;margin:0 auto;padding:90px 5vw}
.head{max-width:620px;margin-bottom:40px}
.head h2{font-size:clamp(30px,4.2vw,52px);line-height:1.08;color:var(--walnut)}
.head p:last-child{color:var(--muted)}
.woods{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.wood{border:1px solid var(--line);background:var(--panel);overflow:hidden}
.swatch{aspect-ratio:4/3}
.wood-body{padding:18px 20px 22px}
.wood h3{font-size:22px;margin-bottom:4px}
.wood p{margin:0 0 8px;color:var(--muted);font-size:14px}
.wood .tags{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--rust);font-weight:700}

.cfg-sec{max-width:none;background:var(--bg2);border-block:1px solid var(--line)}
.cfg-sec>*{max-width:calc(1120px - 10vw);margin-inline:auto}
.cfg{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:start}
.cfg-controls{display:grid;gap:24px}
fieldset{margin:0;padding:0;border:0}
legend{margin-bottom:10px;font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--rust)}
.chips{display:flex;gap:10px;flex-wrap:wrap}
.chip{padding:11px 18px;border:1.5px solid var(--line);border-radius:3px;background:var(--panel);color:var(--ink);font-size:14px;font-weight:600;cursor:pointer}
.chip:hover{border-color:var(--oak)}
.chip[aria-checked="true"]{background:var(--walnut);border-color:var(--walnut);color:#f7ecd9}
.slider label{display:block;margin-bottom:6px;font-size:14px;font-weight:600}
.slider b{color:var(--walnut)}
.slider input{width:100%;accent-color:var(--rust)}
.cfg-out{position:sticky;top:90px;padding:26px;border:1px solid var(--line);background:var(--panel)}
.preview{position:relative;height:150px;margin-bottom:18px;background:repeating-linear-gradient(0deg,#00000008 0 2px,#0000 2px 8px),var(--bg)}
.top-board{position:absolute;left:50%;top:34px;transform:translateX(-50%);height:24px;width:70%;background:var(--wood,#b98a4e);border-radius:3px;box-shadow:0 10px 16px #2e221633;transition:width .25s}
.leg{position:absolute;top:58px;width:10px;height:70px;background:var(--wood,#b98a4e);filter:brightness(.82)}
.l1{left:calc(50% - var(--w,70%)/2 + 14px)}.l2{left:calc(50% + var(--w,70%)/2 - 24px)}
.out-title{margin:0 0 2px;font:700 24px var(--serif);color:var(--walnut)}
.out-line{margin:0 0 12px;color:var(--muted);font-size:14px}
.out-lines{margin:0 0 12px;padding:0;display:grid;gap:7px}
.out-lines div{display:flex;justify-content:space-between;gap:14px;font-size:14px;border-bottom:1px solid var(--line);padding-bottom:7px}
.out-lines dt,.out-lines dd{margin:0}
.out-total{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding-top:4px}
.out-total span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.out-total strong{font:700 36px var(--serif);color:var(--walnut)}
.out-lead{margin:12px 0 0;padding:10px 14px;background:var(--bg);font-size:14px;font-weight:600}
.out-note{margin:10px 0 0;font-size:12px;color:var(--muted)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.steps li{padding-top:18px;border-top:3px solid var(--oak)}
.steps .num{display:block;margin-bottom:8px;font:italic 700 30px var(--serif);color:var(--rust)}
.steps h3{font-size:21px;margin-bottom:6px}
.steps p{margin:0;color:var(--muted);font-size:14px}
.quote-form{display:grid;gap:12px;max-width:740px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{font-size:13px;font-weight:600}
.quote-form input,.quote-form textarea{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:3px;background:var(--panel);font-size:16px}
.quote-form input:focus,.quote-form textarea:focus{border-color:var(--walnut);outline:0}
.summary{min-height:26px;padding:14px 18px;border:1.5px dashed var(--oak);background:var(--panel);font-size:15px}
.hint{min-height:20px;margin:0;color:#a2381b;font-size:14px;font-weight:600}
.foot{padding:50px 5vw 26px;background:#2a1d12;color:#ead9bd}
.foot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:1120px;margin:0 auto}
.foot p{margin:8px 0 0;color:#b79e7b;font-size:14px}
.foot strong{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--oak)}
.foot-demo{max-width:1120px;margin:34px auto 0!important;padding-top:18px;border-top:1px solid #ffffff22;font-size:12px!important}

@media(max-width:900px){
  .hero,.cfg{grid-template-columns:1fr}.hero-art{max-width:340px}
  .woods,.steps{grid-template-columns:repeat(2,1fr)}.cfg-out{position:static}.foot-grid{grid-template-columns:1fr}
  .row2{grid-template-columns:1fr}
  .menu-btn{display:flex}
  .nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:flex-start;gap:16px;padding:22px 5vw;background:var(--bg);border-bottom:1px solid var(--line)}
  .nav-open .nav{display:flex}
}
@media(max-width:560px){.woods,.steps{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.top-board{transition:none}}
