/* ============================================================
   KEPT — the wooden décor store
   Scoped to body.d-kept. 1rem = 10px.
   ============================================================ */
body.d-kept{
  --kp-peach:#fbe4d0;--kp-peach2:#f6d3b6;--kp-cream:#fff8f2;--kp-walnut:#7a3b10;--kp-walnut2:#5c2a08;--kp-ink:#3a1d08;--kp-soft:#6b4a33;--kp-mute:#8a6a52;--kp-line:#eed8c4;--kp-sale:#b4380f;
  --bg-primary:var(--kp-cream);--bg-secondary:var(--kp-peach);--bg-card:#fff;--bg-inset:#fdf0e5;
  --fg-primary:var(--kp-ink);--fg-soft:var(--kp-soft);--fg-muted:var(--kp-mute);--border-color:var(--kp-line);--border-strong:#e2c2a5;
  background:var(--kp-cream);color:var(--kp-ink);font-family:'Assistant',system-ui,sans-serif
}
body.d-kept h1,body.d-kept h2,body.d-kept h3{font-family:'Jost',system-ui,sans-serif;font-weight:600;letter-spacing:-.01em;line-height:1.1;color:var(--kp-ink)}
body.d-kept em{font-style:normal;color:var(--kp-walnut)}
.kp-kick{font-size:1.25rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--kp-walnut);margin-bottom:1.2rem}

body.d-kept .bx-nav{background:rgba(255,248,242,.92)}
body.d-kept .bx-brand-mark{border-radius:10px;background:#fff}
body.d-kept .bx-brand-mark img{object-fit:contain}
body.d-kept .bx-brand-txt b{font-family:'Jost',sans-serif;font-size:2rem;color:var(--kp-walnut)}
body.d-kept .bx-nav-links a{font-size:1.45rem;color:var(--kp-soft)}
body.d-kept .bx-nav-links a::after{background:var(--kp-walnut)}
body.d-kept .bx-nav-cta{background:var(--kp-walnut);border-radius:6px}

/* hero — the lifestyle banner with the line set over it */
.kp-hero{position:relative;overflow:hidden;min-height:min(86vh,820px);margin-top:var(--nav-h);background:var(--kp-peach);display:flex;justify-content:center}
.kp-hero-img{position:absolute;inset:-4% 0 auto;width:100%;height:108%;object-fit:cover;object-position:center bottom;will-change:transform}
.kp-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 52% 46% at 50% 26%,rgba(251,228,208,.92) 0,rgba(251,228,208,.7) 55%,transparent 100%),linear-gradient(180deg,rgba(251,228,208,.7) 0,transparent 50%);pointer-events:none}
.kp-hero-copy{position:relative;z-index:1;max-width:980px;text-align:center;padding:7rem 2.4rem 0}
.kp-hero h1{font-size:clamp(4rem,6.4vw,7.2rem);color:var(--kp-walnut2);font-weight:700}
.kp-lede{font-size:1.85rem;line-height:1.55;color:var(--kp-ink);font-weight:600;text-shadow:0 1px 12px rgba(251,228,208,.9);margin:1.6rem auto 0;max-width:56ch}
.kp-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1.2rem;margin-top:2.8rem}
.kp-btn{display:inline-flex;align-items:center;gap:.9rem;padding:1.5rem 2.6rem;border-radius:6px;font-size:1.55rem;font-weight:700;transition:transform .25s var(--ease),background .25s,color .25s}
.kp-btn-main{background:var(--kp-walnut);color:#fff;box-shadow:0 12px 26px rgba(122,59,16,.25)}
.kp-btn-main:hover{background:var(--kp-walnut2);transform:translateY(-2px)}
.kp-btn-line{background:rgba(255,255,255,.75);color:var(--kp-walnut);border:1.5px solid var(--kp-walnut)}
.kp-btn-line:hover{background:#fff}
.kp-btn-line i{color:#16a34a}

.kp-promise{max-width:var(--max-w);margin:0 auto;padding:0 3rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0;position:relative;z-index:2;transform:translateY(-50%);background:#fff;border-radius:16px;box-shadow:0 20px 50px rgba(58,29,8,.12)}
.kp-promise>div{display:grid;grid-template-columns:auto 1fr;column-gap:1.4rem;align-items:center;padding:2.4rem 2rem}
.kp-promise>div+div{border-left:1px solid var(--kp-line)}
.kp-promise i{grid-row:span 2;width:46px;height:46px;border-radius:50%;background:var(--kp-peach);color:var(--kp-walnut);display:flex;align-items:center;justify-content:center;font-size:1.8rem}
.kp-promise b{font-family:'Jost',sans-serif;font-size:1.6rem;font-weight:600}
.kp-promise small{font-size:1.3rem;color:var(--kp-mute);line-height:1.4}

/* sections */
.kp-sec{padding:7rem 3rem 0}
.kp-sec>*{max-width:var(--max-w);margin-left:auto;margin-right:auto}
.kp-body>.kp-sec:first-child{padding-top:1rem}
.kp-head{margin-bottom:3.2rem;text-align:center}
.kp-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;text-align:left}
.kp-sec h2{font-size:clamp(3rem,4vw,4.4rem)}
.kp-head h2 small{font-family:'Assistant',sans-serif;font-size:1.5rem;font-weight:600;color:var(--kp-mute);margin-left:.8rem;letter-spacing:0}
.kp-head h2 a{color:var(--kp-walnut)}
.kp-more{font-weight:700;font-size:1.45rem;color:var(--kp-walnut);display:inline-flex;gap:.8rem;align-items:center}

.kp-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1.8rem}
.kp-col{display:flex;flex-direction:column;gap:.4rem;padding:0;border:0;background:none;font:inherit;text-align:left;color:inherit;cursor:pointer}
.kp-col-img{display:flex;align-items:center;justify-content:center;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:var(--kp-peach);margin-bottom:1rem}
.kp-col-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.kp-col-img>i{font-size:4rem;color:var(--kp-walnut)}
.kp-col:hover .kp-col-img img{transform:scale(1.06)}
.kp-col b{font-family:'Jost',sans-serif;font-size:1.75rem;font-weight:600;display:flex;align-items:center;gap:.8rem}
.kp-col b i{font-size:1.2rem;color:var(--kp-walnut);transition:transform .25s var(--ease)}
.kp-col:hover b i{transform:translateX(4px)}
.kp-col small{font-size:1.35rem;color:var(--kp-mute)}

/* featured — the piece sits in a turning growth ring */
.kp-feat{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;background:var(--kp-peach);border-radius:24px;padding:4rem;overflow:hidden}
.kp-feat>*{min-width:0}
.kp-feat-img{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.kp-feat-img img{position:relative;z-index:1;width:82%;height:82%;object-fit:cover;border-radius:50%;box-shadow:0 30px 60px rgba(58,29,8,.22)}
.kp-rings{position:absolute;inset:0;will-change:transform}
.kp-rings i{position:absolute;inset:calc(var(--n,0) * 4%);border-radius:50% 48% 51% 49%;border:2px solid rgba(122,59,16,.16);animation:kp-turn 40s linear infinite}
.kp-rings i:nth-child(1){--n:0}.kp-rings i:nth-child(2){--n:1;animation-duration:52s;animation-direction:reverse}.kp-rings i:nth-child(3){--n:2;animation-duration:64s}.kp-rings i:nth-child(4){--n:3;animation-duration:46s;animation-direction:reverse}.kp-rings i:nth-child(5){--n:4;animation-duration:58s}
@keyframes kp-turn{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.kp-rings i{animation:none}}
.kp-feat-copy h2{font-size:clamp(2.8rem,3.4vw,4rem)}
.kp-feat-cat{font-size:1.4rem;color:var(--kp-mute);margin-top:.8rem}
.kp-price{font-size:1.4rem;color:var(--kp-mute)}
.kp-price s{margin-right:.4rem}
.kp-price b{font-size:1.75rem;color:var(--kp-ink)}
.kp-price-l{margin:2rem 0 2.6rem}
.kp-price-l b{font-size:3rem}
.kp-price-l em,body.d-kept .kp-price-l em{display:inline-block;margin-left:.8rem;padding:.4rem 1rem;border-radius:999px;background:var(--kp-sale);color:#fff;font-size:1.25rem;font-weight:700;vertical-align:middle;font-style:normal}
.kp-feat-txt{font-size:1.6rem;line-height:1.6;color:var(--kp-soft);margin-bottom:2.4rem}

/* catalog */
.kp-bar{position:sticky;top:calc(var(--nav-h) + .6rem);z-index:5;display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center;justify-content:space-between;padding:1rem;max-width:calc(var(--max-w) + 2rem);margin:0 auto 2.4rem;border-radius:12px;background:rgba(255,248,242,.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);scroll-margin-top:calc(var(--nav-h) + 1rem)}
.kp-chips{display:flex;gap:.8rem;overflow-x:auto;scrollbar-width:none;min-width:0;flex:1 1 520px;padding:.2rem}
.kp-chips::-webkit-scrollbar{display:none}
.kp-chip{flex:none;padding:.9rem 1.6rem;border-radius:6px;border:1px solid var(--kp-line);background:#fff;font:inherit;font-size:1.4rem;font-weight:600;color:var(--kp-soft);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.kp-chip:hover{border-color:var(--kp-walnut);color:var(--kp-ink)}
.kp-chip.is-on{background:var(--kp-walnut);border-color:var(--kp-walnut);color:#fff}
.kp-find{display:flex;align-items:center;gap:.8rem;flex:0 1 280px;padding:0 1.4rem;border-radius:6px;border:1px solid var(--kp-line);background:#fff}
.kp-find i{color:var(--kp-mute);font-size:1.3rem}
.kp-find input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:1.45rem;padding:1.05rem 0;color:var(--kp-ink)}
.kp-find output{font-size:1.2rem;color:var(--kp-walnut);white-space:nowrap}
.kp-find:focus-within{border-color:var(--kp-walnut)}
.kp-group+.kp-group{margin-top:4.4rem}
.kp-group[hidden]{display:none}
.kp-group-h{font-size:2.2rem;margin-bottom:1.8rem}
.kp-group-h small{font-family:'Assistant',sans-serif;font-size:1.4rem;color:var(--kp-mute);font-weight:600;margin-left:.4rem}
.kp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2.4rem 2rem}
.kp-card{display:flex;flex-direction:column}
.kp-card[hidden]{display:none}
.kp-card-img{position:relative;display:block;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:var(--kp-peach)}
.kp-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.kp-card-img>i.fas{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:4rem;color:var(--kp-walnut)}
.kp-card:hover .kp-card-img img{transform:scale(1.05)}
.kp-sale{position:absolute;left:1rem;bottom:1rem;z-index:1;padding:.4rem 1.1rem;border-radius:999px;background:var(--kp-sale);color:#fff;font-style:normal;font-size:1.2rem;font-weight:700}
.kp-card h3{font-family:'Assistant',sans-serif;font-size:1.6rem;font-weight:600;line-height:1.35;margin:1.2rem 0 .6rem}
.kp-card .kp-price{margin:auto 0 1.2rem}
.kp-card>a{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:1rem 1.4rem;border-radius:6px;border:1.5px solid var(--kp-walnut);color:var(--kp-walnut);font-size:1.4rem;font-weight:700;transition:background .2s,color .2s}
.kp-card>a:hover{background:var(--kp-walnut);color:#fff}
.kp-none{padding:3rem 0;text-align:center;font-size:1.6rem;color:var(--kp-soft)}
.kp-none a{color:var(--kp-walnut);font-weight:700;text-decoration:underline}

/* story */
.kp-story{display:grid;grid-template-columns:.8fr 1fr;gap:5rem;padding:5rem;border-radius:24px;background:var(--kp-walnut);color:#fbe4d0;background-image:repeating-radial-gradient(ellipse 1100px 70px at 15% 30%,rgba(255,255,255,.035) 0 3px,transparent 3px 15px)}
.kp-story>*{min-width:0}
.kp-story .kp-kick{color:var(--kp-peach2)}
.kp-story h2{color:#fff}
.kp-story h2 em{color:var(--kp-peach2)}
.kp-prose p{font-size:1.75rem;line-height:1.75;color:#f3dcc8}
.kp-prose p+p{margin-top:1.6rem}

.kp-gal{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.kp-gal-item{padding:0;border:0;border-radius:12px;overflow:hidden;aspect-ratio:1;cursor:zoom-in;background:var(--kp-peach)}
.kp-gal-item img{width:100%;height:100%;object-fit:cover}
.kp-rev{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}
.kp-rev blockquote{font-size:1.8rem;line-height:1.55}
.kp-rev figcaption{margin-top:1rem;color:var(--kp-mute)}

.kp-contact{display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding:5rem;border-radius:24px;background:var(--kp-peach)}
.kp-contact>*{min-width:0}
.kp-contact-lede{font-size:1.65rem;line-height:1.6;color:var(--kp-soft);margin:1.4rem 0 2.8rem}
.kp-hours{margin-top:2.4rem}
body.d-kept .ci{border-radius:12px;background:rgba(255,255,255,.7)}
body.d-kept .ci-ico{background:var(--kp-walnut);color:#fff}
body.d-kept .contact-form{border-radius:16px}
body.d-kept .contact-form h3{font-size:2.4rem;margin-bottom:1.6rem}
body.d-kept .cf-field input,body.d-kept .cf-field textarea{border-radius:8px}
body.d-kept .btn-onbiz{background:var(--kp-walnut);border-radius:6px}
body.d-kept .hours-card{border-radius:14px}
.kp-map{margin-top:3rem}
.kp-share{max-width:var(--max-w);margin:4rem auto 0;padding:0 3rem}
body.d-kept .bx-foot{background:var(--kp-walnut2);color:#f6dcc6;margin-top:6rem}
body.d-kept .bx-foot p,body.d-kept .bx-foot li,body.d-kept .bx-foot a{color:#e7c6a9}
body.d-kept .bx-foot-col h2{color:var(--kp-peach2)}
body.d-kept .bx-foot .bx-brand-txt b{color:#fff}
body.d-kept .bx-foot .btn-onbiz{background:var(--kp-peach);color:var(--kp-walnut2)}
body.d-kept .bx-foot .btn-outline{border-color:rgba(255,255,255,.3);color:#fff}
body.d-kept .bx-foot-bottom{border-top-color:rgba(255,255,255,.12)}

@media (max-width:980px){
  .kp-promise{transform:none;margin-top:-4rem;grid-template-columns:1fr 1fr}
  .kp-promise>div:nth-child(odd){border-left:0}
  .kp-promise>div:nth-child(n+3){border-top:1px solid var(--kp-line)}
  .kp-body>.kp-sec:first-child{padding-top:6rem}
  .kp-feat,.kp-contact,.kp-story{grid-template-columns:1fr;gap:3rem}
  .kp-grid{grid-template-columns:repeat(3,1fr)}
  .kp-gal{grid-template-columns:repeat(3,1fr)}
  .kp-story,.kp-contact{padding:3.4rem}
}
@media (max-width:640px){
  .kp-hero{min-height:620px}
  .kp-hero-copy{padding:4.4rem 1.6rem 0}
  .kp-lede{font-size:1.6rem}
  .kp-promise{margin:-3rem 1.6rem 0;padding:0;grid-template-columns:1fr}
  .kp-promise>div{border-left:0!important;padding:1.6rem 1.8rem}
  .kp-promise>div+div{border-top:1px solid var(--kp-line)}
  .kp-sec{padding:6rem 1.6rem 0}
  .kp-cols{grid-template-columns:1fr 1fr;gap:1.4rem}
  .kp-feat{padding:2.4rem 1.6rem}
  .kp-grid{grid-template-columns:1fr 1fr;gap:2rem 1.2rem}
  .kp-card h3{font-size:1.45rem}
  .kp-bar{margin:0 0 2rem;padding:.8rem}
  .kp-hero::after{background:linear-gradient(180deg,rgba(251,228,208,.95) 0,rgba(251,228,208,.8) 45%,transparent 75%)}
  .kp-find{flex:1 1 100%}
  .kp-gal{grid-template-columns:1fr 1fr}
  .kp-story,.kp-contact{padding:2.4rem 1.6rem;border-radius:18px}
  .kp-share{padding:0 1.6rem}
}
