/* KMF Living — shared theme layer (Marcellus + Jost, warm ivory / rust / ink) */
:root{
  --ink:#171310; --ink-2:#2a231e; --cream:#f6f1e9; --cream-2:#efe7db;
  --rust:#d4622f; --rust-deep:#a8441c; --muted:#7c6f63; --line:rgba(23,19,16,.12);
  --display:'Marcellus',serif; --body:'Jost',sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--body)!important;background:var(--cream);color:var(--ink);line-height:1.6;overflow-x:hidden}
h1,h2,h3,h4,h5{font-family:var(--display)!important;font-weight:400!important;letter-spacing:-.005em;line-height:1.12;text-wrap:balance}
p,li,td,th,label,input,button,textarea,select{font-family:var(--body)!important}
p{text-wrap:pretty}
a{color:var(--rust);text-decoration:none;transition:color .25s var(--ease)}
a:hover{color:var(--rust-deep)}
img{display:block;max-width:100%}

/* scroll progress */
#kmf-bar{position:fixed;top:0;left:0;height:2px;width:0;background:var(--rust);z-index:9999;transition:width .1s linear}

/* header polish */
header{transition:background .45s var(--ease),box-shadow .45s var(--ease),backdrop-filter .45s}
header.kmf-solid{background:rgba(246,241,233,.88)!important;backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 1px 0 var(--line)}
.logo{font-family:var(--display)!important;font-weight:400!important;letter-spacing:.01em}
.nav-links a{position:relative;padding-block:4px}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:100%;background:var(--rust);transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.6,.05,.1,1)}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:left}

/* scroll reveal (classes applied by theme.js) */
.kmf-rv{opacity:0;transform:translateY(26px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.kmf-rv.kmf-in{opacity:1;transform:none}
.kmf-rv[data-kd="1"]{transition-delay:.07s}.kmf-rv[data-kd="2"]{transition-delay:.14s}
.kmf-rv[data-kd="3"]{transition-delay:.21s}.kmf-rv[data-kd="4"]{transition-delay:.28s}
.kmf-rv[data-kd="5"]{transition-delay:.35s}.kmf-rv[data-kd="6"]{transition-delay:.42s}

/* page-load stagger for hero content */
.kmf-stage{opacity:0;transform:translateY(18px);animation:kmfRise .7s var(--ease) forwards}
.kmf-stage:nth-child(1){animation-delay:.08s}.kmf-stage:nth-child(2){animation-delay:.2s}
.kmf-stage:nth-child(3){animation-delay:.32s}.kmf-stage:nth-child(4){animation-delay:.44s}
@keyframes kmfRise{to{opacity:1;transform:none}}
.kmf-stage.kmf-done{opacity:1;transform:none;animation:none}

/* cards & tiles */
.gallery-item,.card,.custom-item,.spec-card,.testimonial,.trust-item,.step,.product-card,.pcard,.blog-card,.locality-card{
  transition:transform .5s cubic-bezier(.34,1.3,.5,1),box-shadow .5s var(--ease),border-color .4s}
.gallery-item:hover,.card:hover,.custom-item:hover,.spec-card:hover,.testimonial:hover,.trust-item:hover,.step:hover,.product-card:hover,.pcard:hover,.blog-card:hover,.locality-card:hover{
  transform:translateY(-8px);box-shadow:0 22px 48px rgba(23,19,16,.13)}
.gallery-item{overflow:hidden;border-radius:16px}
.gallery-item img{transition:transform .7s cubic-bezier(.16,1,.3,1)}
.gallery-item:hover img{transform:scale(1.05)}

/* buttons */
.btn,.btn-primary,.btn-secondary,.sticky-whatsapp,.sticky-call{
  transition:transform .35s cubic-bezier(.34,1.4,.5,1),box-shadow .35s var(--ease),background .3s,color .3s}
.btn:hover,.btn-primary:hover,.btn-secondary:hover,.sticky-whatsapp:hover,.sticky-call:hover{
  transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.18)}

/* tables & lists */
table tbody tr{transition:background .3s var(--ease)}
table tbody tr:hover{background:rgba(212,98,47,.05)}

/* footer — one treatment sitewide (matches homepage) */
footer{background:var(--ink)!important;color:#fff!important;padding:80px 0 120px!important;margin-top:0!important}
footer .container,footer .wrap{width:min(1280px,100% - 80px)!important;max-width:none!important;margin-inline:auto!important;padding:0!important}
footer .footer-grid{display:grid!important;grid-template-columns:repeat(8,1fr)!important;gap:24px!important;margin-bottom:44px!important}
footer .footer-section h4{font-family:var(--body)!important;font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;color:var(--rust)!important;margin-bottom:16px!important;letter-spacing:.14em!important}
footer .footer-section ul{list-style:none!important;padding:0!important;margin:0!important}
footer .footer-section li{margin-bottom:9px!important}
footer .footer-section a{color:rgba(255,255,255,.66)!important;font-size:13px!important;transition:color .3s var(--ease),padding-left .35s var(--ease)}
footer .footer-section a:hover{color:#fff!important;padding-left:5px}
footer .footer-nap{margin-bottom:8px!important;font-size:13px!important;color:rgba(255,255,255,.66)!important}
footer .footer-nap a{color:var(--rust)!important}
footer .footer-nap strong{color:#fff!important}
footer .footer-bottom{border-top:1px solid rgba(255,255,255,.16)!important;padding-top:22px!important;text-align:center!important;font-size:12px!important;color:rgba(255,255,255,.45)!important}
footer .footer-bottom a{color:rgba(255,255,255,.45)!important}

/* sticky contact bar */
.sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:140;display:flex;gap:10px;padding:12px 20px;background:rgba(246,241,233,.92);backdrop-filter:blur(12px);border-top:1px solid var(--line)}
.sticky-bar button{flex:1;padding:15px;border:none;border-radius:999px;font-weight:600;font-size:14px;cursor:pointer}
.sticky-whatsapp{background:#25d366;color:#fff}
.sticky-call{background:var(--ink);color:#fff}

@media (max-width:1024px){
  footer .footer-grid{grid-template-columns:repeat(4,1fr)!important}
}
@media (max-width:768px){
  .container{padding-left:20px!important;padding-right:20px!important}
  .nav-links{display:none!important}
  h1{font-size:clamp(30px,8vw,40px)!important}
  h2{font-size:clamp(24px,6.4vw,32px)!important}
  section{padding-top:56px!important;padding-bottom:56px!important}
  .gallery-grid,.cards,.quotes,.areas,.faqs,.customization-grid,.footer-grid{grid-template-columns:1fr!important}
  .footer-grid{grid-template-columns:repeat(2,1fr)!important;gap:22px!important}
  footer{padding:56px 0 96px!important}
  footer .container,footer .wrap{width:min(1280px,100% - 40px)!important}
  .steps{grid-template-columns:repeat(2,1fr)!important}
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .btn,.btn-primary,.btn-secondary,button{min-height:46px}
  .sticky-bar{left:0;right:0;padding:10px 14px}
  .sticky-bar button{flex:1;min-height:46px}
  body{padding-bottom:74px}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .kmf-rv{opacity:1;transform:none}.kmf-stage{opacity:1;transform:none;animation:none}
}
