@font-face{font-family:"Archivo";src:url(fonts/archivo-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Instrument";src:url(fonts/instrument-sans-latin-wght-normal.woff2) format("woff2");font-weight:400 700;font-display:swap}
:root{--ink:#1C1917;--ink2:#2A2522;--oak:#C8A06A;--ash:#ECE9E4;--or:#E8591A;--wa:#25D366;--disp:"Archivo",system-ui,sans-serif;--body:"Instrument",system-ui,sans-serif;--pad:clamp(20px,5vw,80px)}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:100px;overflow-x:clip}
body{font:400 17px/1.55 var(--body);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}a{color:inherit}
:focus-visible{outline:3px solid var(--or);outline-offset:3px}
h1,h2,h3{font-family:var(--disp);line-height:1.02;letter-spacing:-.02em}
h1{font-size:clamp(3rem,10vw,7rem);font-weight:800}
h2{font-size:clamp(2rem,5.2vw,3.6rem);font-weight:800}
h3{font-size:1.4rem;font-weight:700}
.eyebrow{font:700 .85rem/1 var(--body);color:var(--oak);margin-bottom:18px}.eyebrow.dk{color:var(--or)}
.sub{font-size:1.12rem;max-width:56ch;margin:16px 0 28px;opacity:.85}
.demo-bar{background:var(--or);color:#fff;text-align:center;font-size:.9rem;padding:8px 14px;position:relative;z-index:60}
.demo-bar a{font-weight:700}
.btn{display:inline-flex;align-items:center;justify-content:center;font:700 1rem/1 var(--body);padding:15px 26px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:.2s;border-radius:2px}
.btn.sm{padding:11px 18px;font-size:.92rem}.btn.lg{padding:18px 32px}.btn.xl{padding:24px 42px;font:800 clamp(1.3rem,4vw,1.9rem)/1 var(--disp)}
.btn-o{background:var(--or);color:#fff}.btn-o:hover{background:#ff6a2b;transform:translateY(-2px)}
.btn-d{background:var(--ink);color:#fff}.btn-d:hover{background:#000;transform:translateY(-2px)}
.btn-line{border-color:#fff8;color:#fff}.btn-line:hover{background:#fff2;border-color:#fff}
.top{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:26px;padding:12px var(--pad);background:rgba(28,25,23,.92);backdrop-filter:blur(12px);color:#fff}
.brand{font:800 1.3rem var(--disp);text-decoration:none;margin-right:auto;letter-spacing:-.02em}.brand span{color:var(--oak)}
.top nav{display:none;gap:26px}.top nav a{text-decoration:none;opacity:.8;font-weight:600}.top nav a:hover{opacity:1;color:var(--oak)}
@media(min-width:820px){.top nav{display:flex}}
.hero{position:relative;min-height:min(86vh,760px);color:#fff;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink)}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kb 20s ease-in-out infinite alternate}
.hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(28,25,23,.88) 15%,rgba(28,25,23,.25) 70%),linear-gradient(0deg,rgba(28,25,23,.7),transparent 40%)}
.hero-in{position:relative;z-index:2;padding:80px var(--pad) clamp(48px,8vw,90px);max-width:880px}
.hero h1{margin:6px 0 22px}.lead{font-size:clamp(1.1rem,2vw,1.3rem);max-width:46ch;opacity:.92;margin-bottom:30px}
.row{display:flex;flex-wrap:wrap;gap:14px}
.hero-tag{position:absolute;z-index:2;right:var(--pad);bottom:clamp(30px,6vw,70px);background:var(--or);color:#fff;padding:18px 22px;font-size:.95rem;line-height:1.35;transform:rotate(3deg);display:none}
.hero-tag b{font:800 1.3rem var(--disp)}
@media(min-width:760px){.hero-tag{display:block}}
.in1,.in2,.in3,.in4{opacity:0;transform:translateY(24px);animation:rise .8s forwards cubic-bezier(.2,.8,.2,1)}
.in1{animation-delay:.1s}.in2{animation-delay:.25s}.in3{animation-delay:.45s}.in4{animation-delay:.6s}
.hero-tag.in4{transform:rotate(3deg) translateY(24px)}
.sec{padding:clamp(64px,9vw,120px) var(--pad)}.dark{background:var(--ink);color:#fff}.ash{background:var(--ash)}.oc{background:var(--oak)}
.wrapper{max-width:1200px;margin:0 auto}.narrow{max-width:820px}
.split{display:grid;gap:44px;align-items:center}
@media(min-width:900px){.split{grid-template-columns:1fr 1fr}.split.rev{grid-template-columns:.9fr 1.1fr}}
/* visualizer */
.wall{--c:#4A2E1C;position:relative;aspect-ratio:4/5;max-height:620px;width:100%;overflow:hidden;background-color:var(--c);transition:background-color .6s;
  background-image:repeating-linear-gradient(90deg,transparent 0 calc(var(--s) - 4px),rgba(0,0,0,.6) calc(var(--s) - 4px) var(--s)),linear-gradient(90deg,rgba(255,255,255,.2),rgba(0,0,0,.28));
  background-size:100% 100%,var(--s) 100%;--s:clamp(34px,6.5vw,52px);box-shadow:12px 12px 0 var(--or);margin-right:12px;width:calc(100% - 12px)}
.wall:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(0,0,0,.07) 0 1px,transparent 1px 6px),linear-gradient(180deg,rgba(255,255,255,.1),transparent 30%,rgba(0,0,0,.25))}
.wipe{position:absolute;inset:0;background:var(--or);transform:translateX(-101%);z-index:2;pointer-events:none}
.wipe.go{animation:wipe .7s cubic-bezier(.7,0,.3,1)}
.sw{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0}
.sw button{width:58px;height:58px;border:3px solid transparent;background:var(--c);cursor:pointer;position:relative;outline-offset:3px;transition:.2s;box-shadow:inset 0 0 0 2px rgba(255,255,255,.15)}
.sw button:hover{transform:translateY(-4px)}.sw button[aria-checked=true]{border-color:#fff;transform:translateY(-4px) scale(1.08)}
.finish h3{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800}.finish p{opacity:.85;margin-top:8px;max-width:44ch}
.finish .price{margin:18px 0 28px;opacity:1}.price b{font:800 2rem var(--disp);color:var(--oak)}.price span{font-size:.9rem;opacity:.7}
/* calc */
.calc{display:grid;gap:44px}@media(min-width:900px){.calc{grid-template-columns:1fr 1fr;align-items:start}}
.cf{display:grid;gap:16px;grid-template-columns:1fr 1fr}.cf label:last-child{grid-column:1/-1}
label{display:grid;gap:6px;font-weight:700;font-size:.92rem}
input,select{font:600 1.2rem var(--body);padding:15px;border:2px solid var(--ink);background:#fff;color:var(--ink);border-radius:2px;width:100%;min-height:54px}
input:focus,select:focus{outline:3px solid var(--or);outline-offset:0}
.result{background:var(--ink);color:#fff;padding:clamp(24px,4vw,40px);box-shadow:14px 14px 0 var(--oak)}
.r-row,.r-total{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:14px 0;border-bottom:1px solid #fff3}
.r-row b{font:800 1.6rem var(--disp)}
.r-total{border:0;padding:22px 0 26px}.r-total b{font:800 clamp(2rem,6vw,3rem) var(--disp);color:var(--oak)}
.result .btn{width:100%}.fine{font-size:.82rem;opacity:.6;margin-top:16px}
.split img{width:100%;object-fit:cover}
.rise{opacity:0;transform:translateY(30px);transition:.8s cubic-bezier(.2,.8,.2,1)}.rise.on{opacity:1;transform:none}
.gal{display:grid;gap:22px;margin-top:36px}@media(min-width:700px){.gal{grid-template-columns:1fr 1fr}.gal figure:nth-child(2){margin-top:60px}}
.gal img{width:100%;aspect-ratio:4/5;object-fit:cover}
figcaption{font:700 1.1rem var(--disp);margin-top:12px}
.steps{list-style:none;padding:0;display:grid;gap:30px;margin-top:40px}@media(min-width:800px){.steps{grid-template-columns:repeat(3,1fr)}}
.steps li{border-top:3px solid var(--oak);padding-top:20px}.steps b{font:800 3.4rem/1 var(--disp);color:transparent;-webkit-text-stroke:2px var(--oak);display:block;margin-bottom:12px}
.steps p{opacity:.8;margin-top:8px}
.faq{display:grid;gap:0;margin-top:30px;border-top:2px solid var(--ink)}
details{border-bottom:2px solid var(--ink)}
summary{cursor:pointer;font:700 1.2rem var(--disp);padding:22px 0;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}summary:after{content:"+";font-size:1.8rem;line-height:1;color:var(--or);transition:.25s}
details[open] summary:after{transform:rotate(45deg)}details p{padding-bottom:22px;opacity:.85}
.oc h2{color:var(--ink)}.addr{margin-top:28px;font-weight:700}
.map{height:340px;border:4px solid var(--ink);background:var(--ash)}.map iframe{width:100%;height:100%;border:0}
.foot{background:var(--ink);color:#fff;padding:36px var(--pad) 90px;font-size:.95rem}.foot a{color:var(--oak)}
.fab{position:fixed;right:16px;bottom:16px;z-index:60;background:var(--wa);color:#06260F;font-weight:800;padding:16px 22px;border-radius:2px;text-decoration:none;box-shadow:0 6px 0 #12853f}
@keyframes rise{to{opacity:1;transform:none}}
@keyframes kb{to{transform:scale(1.07)}}
@keyframes wipe{0%{transform:translateX(-101%)}50%{transform:translateX(0)}100%{transform:translateX(101%)}}
.hero-tag.in4{animation-name:risetag}@keyframes risetag{to{opacity:1;transform:rotate(3deg)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.in1,.in2,.in3,.in4,.rise{opacity:1!important;transform:none!important}.hero-tag.in4{transform:rotate(3deg)!important}}
