/* Jambo Wood Works — public website styles */
:root{
  --jw-espresso:#24160d; --jw-walnut:#3b2415; --jw-oak:#6b4a2b; --jw-amber:#c8872b; --jw-amber-d:#a86d1c;
  --jw-cream:#f7f2ea; --jw-sand:#efe6da; --jw-ink:#2b2016; --jw-muted:#7a6652; --jw-line:#e5dacb;
  --bs-body-font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --bs-body-color:var(--jw-ink); --bs-link-color:var(--jw-amber-d); --bs-link-hover-color:var(--jw-walnut);
}
body{background:#fff}
h1,h2,h3,.display-font{font-family:'Fraunces',Georgia,serif;letter-spacing:-.01em}
.text-amber{color:var(--jw-amber)!important}.bg-cream{background:var(--jw-cream)}.bg-sand{background:var(--jw-sand)}
.bg-walnut{background:var(--jw-walnut);color:#fff}.bg-espresso{background:var(--jw-espresso);color:#e9dccb}
.btn-amber{--bs-btn-bg:var(--jw-amber);--bs-btn-border-color:var(--jw-amber);--bs-btn-color:#fff;--bs-btn-hover-bg:var(--jw-amber-d);--bs-btn-hover-border-color:var(--jw-amber-d);--bs-btn-hover-color:#fff;--bs-btn-active-bg:var(--jw-amber-d)}
.btn-walnut{--bs-btn-bg:var(--jw-walnut);--bs-btn-border-color:var(--jw-walnut);--bs-btn-color:#fff;--bs-btn-hover-bg:var(--jw-espresso);--bs-btn-hover-color:#fff}
.btn-outline-walnut{--bs-btn-color:var(--jw-walnut);--bs-btn-border-color:var(--jw-walnut);--bs-btn-hover-bg:var(--jw-walnut);--bs-btn-hover-color:#fff}
.topbar{background:var(--jw-espresso);color:#d8c7b2;font-size:.82rem}
.topbar a{color:#f0e2cf;text-decoration:none}
.navbar-jw{background:#fff;border-bottom:1px solid var(--jw-line)}
.navbar-jw .nav-link{color:var(--jw-ink);font-weight:500}
.navbar-jw .nav-link.active,.navbar-jw .nav-link:hover{color:var(--jw-amber-d)}
.brand-mark{width:42px;height:42px;border-radius:10px;background:var(--jw-walnut);color:#fff;display:grid;place-items:center;font-family:'Fraunces',serif;font-weight:700;font-size:1.25rem}
.brand-name{font-family:'Fraunces',serif;font-weight:700;color:var(--jw-walnut);line-height:1}
.brand-name small{display:block;font-family:'Inter';font-weight:500;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--jw-muted);margin-top:3px}
/* Hero */
.hero{position:relative;min-height:78vh;display:flex;align-items:center;color:#fff;overflow:hidden;background:var(--jw-espresso)}
.hero .hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(36,22,13,.92) 0%,rgba(36,22,13,.55) 55%,rgba(36,22,13,.2) 100%)}
.hero .container{position:relative;z-index:2}
.hero h1{font-size:clamp(2.2rem,5vw,4rem);font-weight:700;line-height:1.05}
.hero .lead{color:#eadccb;max-width:620px}
.hero-stats{border-top:1px solid rgba(255,255,255,.18)}
.hero-stats .n{font-family:'Fraunces',serif;font-size:2rem;color:var(--jw-amber)}
.eyebrow{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--jw-amber-d)}
.section{padding:80px 0}.section-sm{padding:48px 0}
.section-title{font-size:clamp(1.7rem,3vw,2.5rem)}
/* Cards */
.cat-card{position:relative;border-radius:14px;overflow:hidden;display:block;color:#fff;text-decoration:none;aspect-ratio:4/3;background:var(--jw-sand)}
.cat-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cat-card:hover img{transform:scale(1.06)}
.cat-card .cap{position:absolute;inset:auto 0 0 0;padding:18px;background:linear-gradient(transparent,rgba(20,12,6,.85))}
.cat-card .cap h3{font-size:1.25rem;margin:0}
.p-card{border:1px solid var(--jw-line);border-radius:14px;overflow:hidden;background:#fff;height:100%;transition:box-shadow .2s,transform .2s}
.p-card:hover{box-shadow:0 14px 30px rgba(59,36,21,.12);transform:translateY(-2px)}
.p-card .thumb{aspect-ratio:1/1;background:var(--jw-sand);overflow:hidden}
.p-card .thumb img{width:100%;height:100%;object-fit:cover}
.p-card .price{font-weight:700;color:var(--jw-walnut)}
.p-card a{text-decoration:none;color:inherit}
.feature-ico{width:54px;height:54px;border-radius:12px;background:var(--jw-sand);color:var(--jw-walnut);display:grid;place-items:center;font-size:1.5rem}
.ba-wrap{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/3;user-select:none;background:var(--jw-sand)}
.ba-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-wrap .ba-after{clip-path:inset(0 0 0 50%)}
.ba-wrap .ba-handle{position:absolute;top:0;bottom:0;left:50%;width:3px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.ba-wrap .ba-handle::after{content:"⇆";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;background:#fff;color:var(--jw-walnut);display:grid;place-items:center;font-weight:700}
.ba-wrap input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:3}
.ba-label{position:absolute;top:12px;z-index:2;background:rgba(0,0,0,.6);color:#fff;font-size:.72rem;padding:3px 9px;border-radius:20px;letter-spacing:.08em;text-transform:uppercase}
.testi{border:1px solid var(--jw-line);border-radius:14px;padding:24px;background:#fff;height:100%}
.testi .stars{color:var(--jw-amber)}
.testi img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.cta-band{background:var(--jw-walnut);color:#fff;border-radius:18px}
.page-hero{background:var(--jw-cream);border-bottom:1px solid var(--jw-line);padding:48px 0 36px}
.page-hero h1{font-size:clamp(1.8rem,3.5vw,2.8rem)}
.breadcrumb a{color:var(--jw-muted);text-decoration:none}
.footer{background:var(--jw-espresso);color:#cdbba5;font-size:.92rem}
.footer a{color:#e9dccb;text-decoration:none}.footer a:hover{color:var(--jw-amber)}
.footer h6{color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:1050;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-size:1.8rem;box-shadow:0 8px 20px rgba(0,0,0,.25)}
.wa-float:hover{color:#fff;transform:scale(1.05)}
.form-control,.form-select{border-color:var(--jw-line)}
.form-control:focus,.form-select:focus{border-color:var(--jw-amber);box-shadow:0 0 0 .2rem rgba(200,135,43,.18)}
.card-jw{border:1px solid var(--jw-line);border-radius:14px}
.estimate-box{background:var(--jw-cream);border:1px solid var(--jw-line);border-radius:14px}
.estimate-box .total{font-family:'Fraunces',serif;font-size:2rem;color:var(--jw-walnut)}
.swatch{width:100%;aspect-ratio:1/1;border-radius:10px;border:2px solid transparent;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.swatch.active{border-color:var(--jw-walnut);box-shadow:0 0 0 3px #fff inset}
.room-vis{position:relative;border-radius:14px;overflow:hidden;background:#ddd;aspect-ratio:16/10}
.room-vis .wall{position:absolute;inset:0;transition:background .3s}
.room-vis img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.room-vis svg{position:absolute;inset:0;width:100%;height:100%}
.track-steps{display:flex;justify-content:space-between;position:relative;counter-reset:s}
.track-steps::before{content:"";position:absolute;top:18px;left:6%;right:6%;height:4px;background:var(--jw-line)}
.track-steps .st{position:relative;text-align:center;flex:1;font-size:.8rem;color:var(--jw-muted)}
.track-steps .dot{width:40px;height:40px;border-radius:50%;background:#fff;border:4px solid var(--jw-line);margin:0 auto 8px;display:grid;place-items:center;position:relative;z-index:1}
.track-steps .st.done .dot{background:var(--jw-amber);border-color:var(--jw-amber);color:#fff}
.track-steps .st.current .dot{border-color:var(--jw-amber);color:var(--jw-amber)}
.track-steps .st.done,.track-steps .st.current{color:var(--jw-ink);font-weight:600}
.gallery-filter .btn{border-radius:30px}
.cnc-preview{background:#fff;border:1px dashed var(--jw-oak);border-radius:12px;min-height:320px;display:grid;place-items:center;overflow:hidden}
.cnc-preview svg{max-width:100%;max-height:420px}
.dim-hint{font-size:.72rem;color:var(--jw-muted)}
img[data-placeholder]{background:var(--jw-sand)}
@media (max-width:767px){.section{padding:56px 0}.hero{min-height:88vh}.track-steps .st span{display:none}}
