:root{--ink:#1c1b19;--char:#3a3a3a;--mute:#6b665e;--paper:#f5f1ea;--line:#e4ddd1;--red:#c62f2f;--red-d:#a32222;--white:#fff;--r:14px;--shadow:0 1px 2px rgba(28,27,25,.06),0 8px 24px rgba(28,27,25,.08);--hd:"Archivo",system-ui,sans-serif;--bd:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:400 17px/1.6 var(--bd);color:var(--ink);background:#fff}
img{max-width:100%;height:auto;display:block}picture{display:block}
a{color:inherit}h1,h2,h3{font-family:var(--hd);line-height:1.08;margin:0 0 .5em;letter-spacing:-.02em}
p{margin:0 0 1em}.wrap{width:min(1200px,100% - 40px);margin-inline:auto}.narrow{width:min(820px,100% - 40px)}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:8px 12px}
.i{width:1.1em;height:1.1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.btn{display:inline-flex;align-items:center;gap:.55em;padding:.78em 1.25em;border-radius:999px;font:600 15px/1 var(--bd);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}.btn-lg{padding:1em 1.5em;font-size:16px}.btn-sm{padding:.6em 1em;font-size:14px}
.btn-red{background:var(--red);color:#fff;box-shadow:0 6px 18px rgba(198,47,47,.3)}.btn-red:hover{background:var(--red-d)}
.btn-ghost{border-color:var(--line);background:#fff;color:var(--ink)}.btn-ghost:hover{border-color:var(--char)}
.btn-glass{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.35);backdrop-filter:blur(6px)}
.btn-white{background:#fff;color:var(--ink)}.btn-outline-w{border-color:rgba(255,255,255,.5);color:#fff}
/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:24px;height:72px}.brand img{height:34px;width:auto}
.nav{display:flex;gap:22px;margin-left:auto}.nav a{text-decoration:none;font-weight:500;font-size:15px;color:var(--char);padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{color:var(--ink);border-color:var(--red)}
.hdr-cta{display:flex;gap:10px;align-items:center}.burger{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer;position:relative}
.burger span{position:absolute;left:9px;right:9px;height:2px;background:var(--ink);transition:.2s}.burger span:first-child{top:15px}.burger span:last-child{top:23px}
.burger[aria-expanded=true] span:first-child{top:19px;transform:rotate(45deg)}.burger[aria-expanded=true] span:last-child{top:19px;transform:rotate(-45deg)}
/* hero */
.hero{position:relative;color:#fff;min-height:min(88vh,760px);display:flex;align-items:flex-end;overflow:hidden;background:var(--ink)}
.hero-bg,.hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,17,15,.92) 0%,rgba(18,17,15,.7) 45%,rgba(18,17,15,.15) 100%),linear-gradient(0deg,rgba(18,17,15,.7),transparent 50%)}
.hero-in{position:relative;z-index:1;padding:120px 0 56px}
.hero h1{font-size:clamp(46px,8vw,104px);font-weight:900;letter-spacing:-.04em;line-height:.95;margin-bottom:.35em}.hero h1 span{color:#ff6b5e}
.hero-lede{font-size:clamp(18px,2vw,21px);max-width:620px;color:#ece7df}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}
.trust{list-style:none;padding:22px 0 0;margin:8px 0 0;display:flex;flex-wrap:wrap;gap:12px 34px;border-top:1px solid rgba(255,255,255,.18);font-size:15px;color:#e7e1d7}
.trust li{display:flex;gap:9px;align-items:center}.trust .i{color:#ff6b5e}.trust strong{color:#fff}
.eyebrow{font:700 13px/1 var(--hd);text-transform:uppercase;letter-spacing:.14em;color:var(--red);margin-bottom:14px}.on-dark{color:#ff8a7f!important}
/* sections */
.sec{padding:clamp(64px,9vw,112px) 0}.pt0{padding-top:28px}.sec-paper{background:var(--paper)}.sec-dark{background:var(--ink);color:#fff}
.sec-head{max-width:760px;margin-bottom:44px}.sec-head.row{max-width:none;display:flex;justify-content:space-between;align-items:end;gap:20px}
.h1{font-size:clamp(36px,5vw,62px);font-weight:900;letter-spacing:-.035em}.h2{font-size:clamp(30px,3.6vw,46px);font-weight:800}.h3{font-size:22px;font-weight:700}
.lede{font-size:19px;color:var(--mute)}.lede.on-dark,.sec-dark .lede{color:#cfc8bd}.muted{color:var(--mute)}.center{text-align:center}.mt{margin-top:28px}
.link{display:inline-flex;gap:.4em;align-items:center;font-weight:600;color:var(--red);text-decoration:none}.link:hover{text-decoration:underline}
/* answer */
.answer-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:start}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:28px 0 0}
.facts div{background:#fff;padding:16px 18px}.facts dt{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--mute);font-weight:600}.facts dd{margin:4px 0 0;font-weight:600}
/* services */
.svcs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.svc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 22px;text-decoration:none;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s}
.svc:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}
.svc-ic{width:48px;height:48px;border-radius:12px;background:#fbe9e7;color:var(--red);display:grid;place-items:center;margin-bottom:18px}.svc-ic .i{width:24px;height:24px}
.svc h3{font-size:20px;margin-bottom:.35em}.svc p{color:var(--mute);font-size:15px;flex:1}.more{display:inline-flex;gap:.4em;align-items:center;font-weight:600;font-size:14px;color:var(--red)}
/* steps */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:s}
.steps li{border-top:3px solid var(--ink);padding-top:20px}.steps span{font:900 44px/1 var(--hd);color:var(--red);display:block;margin-bottom:14px}.steps h3{font-size:21px}.steps p{color:var(--mute);font-size:15px}
/* projects */
.ptiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pt{margin:0;position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:#2a2826}
.pt picture,.pt img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.pt:hover img{transform:scale(1.05)}
.pt figcaption{position:absolute;inset:auto 0 0 0;padding:44px 18px 16px;background:linear-gradient(0deg,rgba(0,0,0,.85),transparent);color:#fff;display:flex;flex-direction:column;gap:3px}
.pt figcaption strong{font-family:var(--hd);font-size:18px}.pt figcaption span:not(.tag){font-size:14px;color:#ddd}
.tag{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--red);padding:4px 8px;border-radius:4px}
.clients{list-style:none;padding:0;margin:40px 0 36px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 30px;font:700 18px var(--hd);color:#8f877b}.clients.light{color:var(--mute)}
/* reviews */
.revs{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:28px}
.rev{margin:0;background:#fff;border-radius:var(--r);padding:32px;box-shadow:var(--shadow)}
.rev blockquote{margin:14px 0 20px;font:600 21px/1.4 var(--hd);letter-spacing:-.01em}.rev figcaption{display:flex;flex-direction:column;font-size:14px;color:var(--mute)}.rev figcaption strong{color:var(--ink);font-size:16px}
.stars{display:inline-flex;gap:2px;color:#f2a516}.st{width:18px;height:18px;fill:currentColor;stroke:none}
/* kyle */
.kyle{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center}
.kyle-img img{border-radius:var(--r);aspect-ratio:4/5;object-fit:cover;width:100%;box-shadow:var(--shadow)}
/* areas */
.areas{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.area{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;text-decoration:none;display:flex;flex-direction:column;gap:8px;transition:.2s}
.area:hover{border-color:var(--red);transform:translateY(-2px)}.area span{display:flex;gap:7px;align-items:center;font:700 18px var(--hd)}.area span .i{color:var(--red)}.area small{color:var(--mute);font-size:14px}
/* furniture */
.fminis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.fmini{text-decoration:none;display:flex;flex-direction:column;gap:4px}.fmini img{border-radius:var(--r);aspect-ratio:3/4;object-fit:cover;width:100%;margin-bottom:10px;background:var(--paper)}
.fmini span{font-weight:600}.fmini small{color:var(--mute)}
.fcards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:36px}
.fcard{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;background:#fff;scroll-margin-top:90px}
.fcard img{aspect-ratio:3/4;object-fit:cover;width:100%}.fbody{padding:22px;display:flex;flex-direction:column;flex:1}.fbody h2{font-size:21px}.fbody p{color:var(--mute);font-size:15px;flex:1}
.frow{display:flex;justify-content:space-between;align-items:center;gap:10px}.price{font:800 20px var(--hd)}
/* service page */
.svc-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.svc-img img{border-radius:var(--r);width:100%;aspect-ratio:4/3;object-fit:cover;box-shadow:var(--shadow)}
.two{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:start}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:12px}.ticks li{display:flex;gap:12px;align-items:flex-start;font-size:18px;background:#fff;border-radius:10px;padding:14px 16px;border:1px solid var(--line)}.ticks .i{color:var(--red);margin-top:4px}
.note{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px}.note h3{font-size:16px;text-transform:uppercase;letter-spacing:.08em;margin-top:18px}.note h3:first-child{margin-top:0}.note.wide{background:var(--paper);border:0;padding:40px}
.sec-paper .note{border:0;box-shadow:var(--shadow)}
.chips{display:flex;flex-wrap:wrap;gap:10px}.chips a{padding:8px 14px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:15px;font-weight:500}.chips a:hover{border-color:var(--red);color:var(--red)}
.svc-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.svc-list a{display:flex;flex-direction:column;background:#fff;border-radius:10px;padding:14px 16px;text-decoration:none;border:1px solid var(--line)}.svc-list span{color:var(--mute);font-size:15px}.svc-list a:hover{border-color:var(--red)}
.pins{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:8px}.pins li{display:flex;gap:8px;align-items:center;font-weight:600}.pins .i{color:var(--red)}
.crumbs{font-size:14px;color:var(--mute);padding-top:24px}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--red)}
/* faq */
.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font:700 19px/1.35 var(--hd);position:relative}.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:4px;top:14px;font:400 30px var(--bd);color:var(--red);transition:transform .2s}.faq details[open] summary:after{transform:rotate(45deg)}
.faq p{color:var(--mute);padding-bottom:20px;margin:0}
/* form */
.qform{display:grid;gap:16px;margin-top:24px}.qform label{display:grid;gap:6px;font-weight:600;font-size:15px}
.qform input,.qform select,.qform textarea{font:inherit;padding:13px 14px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
.qform input:focus,.qform select:focus,.qform textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(198,47,47,.15)}
.qform .err{border-color:var(--red)}.qbtns{display:flex;flex-wrap:wrap;gap:12px}
.big{display:flex;gap:10px;align-items:center;font:700 20px var(--hd);text-decoration:none}.big .i{color:var(--red)}address{font-style:normal;margin-bottom:12px}
/* cta + footer */
.cta-band{background:var(--red);color:#fff;padding:56px 0}.cta-in{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.cta-band h2{font-size:clamp(28px,3.4vw,42px);font-weight:900;margin:0 0 6px}.cta-band p{margin:0;opacity:.9}.cta-btns{display:flex;gap:12px;flex-wrap:wrap}
.ftr{background:var(--ink);color:#d8d2c7;padding:64px 0 24px;font-size:15px}
.ftr-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}.ftr h3{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.12em}
.ftr ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.ftr a{text-decoration:none}.ftr a:hover{color:#fff;text-decoration:underline}.ftr img{height:40px;width:auto;margin-bottom:16px}
.ftr .muted{color:#a69f93}.nap{line-height:1.7}.legal{border-top:1px solid #34322e;margin-top:44px;padding-top:20px;color:#8c857a;font-size:13px}
.mbar{display:none}
/* responsive */
@media (max-width:1080px){.nav{display:none}.burger{display:block}
 .nav.open{display:flex;position:absolute;top:72px;left:0;right:0;flex-direction:column;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:8px 20px 16px}
 .nav.open a{padding:14px 0;border-bottom:1px solid var(--line);font-size:17px}
 .svcs{grid-template-columns:repeat(2,1fr)}.areas{grid-template-columns:repeat(2,1fr)}.ftr-grid{grid-template-columns:1fr 1fr}}
@media (max-width:760px){body{font-size:16px}.hide-sm{display:none}.hdr-in{height:64px;gap:12px}.brand img{height:28px}.nav.open{top:64px}
 .hero{min-height:auto}.hero-in{padding:72px 0 36px}.hero-btns .btn{width:100%;justify-content:center}
 .answer-grid,.kyle,.svc-hero,.two{grid-template-columns:1fr;gap:32px}.steps{grid-template-columns:1fr 1fr}
 .ptiles,.revs,.fcards{grid-template-columns:1fr}.fminis{grid-template-columns:1fr 1fr}.svcs{grid-template-columns:1fr}.areas{grid-template-columns:1fr}
 .facts{grid-template-columns:1fr}.ftr-grid{grid-template-columns:1fr}.sec-head.row{flex-direction:column;align-items:start}
 .mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(0,0,0,.08);padding-bottom:env(safe-area-inset-bottom)}
 .mbar a{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px;font-weight:700;text-decoration:none}.mbar-wa{background:#25d366;color:#fff}
 body{padding-bottom:56px}.kyle-img{max-width:420px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
