:root{--forest:#14291b;--forest2:#1d3a28;--cream:#f4efe2;--orange:#ff6a13;--ink:#1b241d;--muted:#5b675e}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:'Figtree',sans-serif;color:var(--ink);background:var(--cream);font-size:1.05rem;line-height:1.65}
h1,h2,h3{font-family:'Fraunces',serif;font-weight:800;line-height:1.08}
a{color:inherit}
.topbar{background:#0d1c13;color:#e9e4d4;font-size:.85rem;padding:.4rem 0;letter-spacing:.02em}
.topbar-em{color:var(--orange);font-weight:600}
.topbar-phone{color:#fff;text-decoration:none;font-weight:700}
.jsk-nav{background:var(--forest);border-bottom:3px solid var(--orange)}
.jsk-nav .navbar-brand{display:flex;align-items:center;gap:.7rem;font-family:'Fraunces',serif;font-weight:800;font-size:1.25rem;color:#fff}
.jsk-nav .navbar-brand img{display:none}
.jsk-nav .nav-link{color:#e9e4d4;font-weight:600;font-size:.95rem}
.jsk-nav .nav-link:hover{color:var(--orange)}
.btn-jsk{background:var(--orange);color:#1b0e04;font-weight:700;border:0;border-radius:3px;padding:.6rem 1.3rem}
.btn-jsk:hover{background:#ff8238;color:#1b0e04}
.btn-lg.btn-jsk,.btn-lg.btn-ghost{padding:.85rem 1.7rem}
.btn-ghost{border:2px solid rgba(255,255,255,.7);color:#fff;border-radius:3px;font-weight:600}
.btn-ghost:hover{background:#fff;color:var(--forest)}
.hero{position:relative;min-height:min(72vh,640px);display:flex;align-items:center;justify-content:center;background:url('img/hero.webp') 22% center/cover no-repeat;overflow:hidden;padding:2.5rem 1rem}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 75% 65% at 50% 48%,rgba(10,30,18,.45) 0%,rgba(10,30,18,.05) 100%),linear-gradient(to bottom,rgba(10,30,18,.30) 0%,rgba(10,30,18,.10) 45%,rgba(10,30,18,.50) 100%)}
.hero-content{position:relative;z-index:2;max-width:760px;padding:2rem 1.5rem;background:rgba(0,0,0,.20);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);color:#fff}
.hero-eyebrow{font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.85rem;color:#ffd9bd;text-shadow:0 0 3px #000,0 1px 12px rgba(0,0,0,.95),0 0 30px rgba(0,0,0,.8)}
.hero-title{font-size:clamp(2.6rem,7vw,5rem);margin:.4rem 0 1rem;text-shadow:0 0 4px #000,0 2px 20px rgba(0,0,0,.95),0 0 60px rgba(0,0,0,.8)}
.hero-subtitle{font-size:1.15rem;max-width:600px;margin:0 auto 1.5rem;text-shadow:0 0 3px #000,0 2px 16px rgba(0,0,0,.95),0 0 40px rgba(0,0,0,.85)}
.hero-cta{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.rings{position:absolute;pointer-events:none}
.rings-hero{right:-90px;bottom:-110px;width:380px;color:rgba(255,255,255,.28);z-index:1}
.cred-strip{background:#fff;border-bottom:1px solid #e3dccb;padding:1.2rem 0}
.cred-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:space-around;gap:1rem 2rem}
.cred-list li{display:flex;align-items:center;gap:.8rem;font-weight:600;font-size:.95rem}
.cred-list img{height:56px;width:auto}
.services{padding:5rem 0}
.eyebrow{font-weight:700;text-transform:uppercase;letter-spacing:.18em;font-size:.8rem;color:#c24e08;margin-bottom:.5rem}
.eyebrow-light{color:var(--orange)}
.section-title{font-size:clamp(2rem,4.4vw,3.2rem);margin-bottom:2rem;max-width:820px}
.text-cream{color:var(--cream)}
.svc-card{background:#fff;padding:0 0 1.4rem;box-shadow:8px 8px 0 var(--orange);height:100%}
.svc-card img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;margin-bottom:1.1rem}
.svc-card h3{font-size:1.5rem;padding:0 1.4rem;margin-bottom:.5rem}
.svc-card p{padding:0 1.4rem;margin:0;color:var(--muted)}
.svc-cards{margin-bottom:4rem}
.index-list{list-style:none;padding:0;margin:0;border-top:2px solid var(--ink)}
.index-list li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(27,36,29,.25);transition:padding .2s}
.index-list li:hover{padding-left:.8rem;color:#c24e08}
.index-list span{font-family:'Fraunces',serif;font-weight:800;font-size:clamp(1.3rem,3vw,2.1rem)}
.index-list em{color:var(--muted);font-size:.95rem;text-align:right}
.about{position:relative;background:var(--forest);color:#dfe6dc;padding:5rem 0;overflow:hidden}
.about .container{position:relative;z-index:2}
.rings-about{left:-140px;top:-120px;width:420px;color:rgba(255,255,255,.07)}
.about strong{color:#fff}
.photo-pair{position:relative;padding-bottom:3rem}
.photo-pair img{display:block;object-fit:cover;border:6px solid var(--cream)}
.pp-a{width:78%;aspect-ratio:350/290;box-shadow:10px 10px 0 var(--orange)}
.pp-b{width:52%;aspect-ratio:1;position:absolute;right:0;bottom:0;box-shadow:-6px 6px 0 rgba(0,0,0,.25)}
.reviews{padding:5rem 0}
.quote{margin:0;height:100%;padding:1.6rem;background:#fff;border-top:4px solid var(--orange)}
.quote blockquote{margin:0 0 1rem;font-size:1.05rem}
.quote figcaption{font-weight:700;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.link-jsk{font-weight:700;color:#c24e08}
.estimate{position:relative;background:var(--forest2);padding:4.5rem 0;overflow:hidden}
.estimate .container{position:relative;z-index:2}
.estimate .section-title{margin-left:auto;margin-right:auto}
.est-lead{color:#dfe6dc;font-size:1.15rem;margin-bottom:1.6rem}
.rings-est{right:-80px;top:-100px;width:360px;color:rgba(255,255,255,.07)}
.contact{padding:5rem 0}
.contact-list dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;color:#c24e08;margin-top:1.1rem}
.contact-list dd{margin:0;font-size:1.1rem}
.contact-list a{text-decoration:none;font-weight:600;border-bottom:2px solid var(--orange)}
.map{width:100%;height:100%;min-height:380px;border:0;box-shadow:10px 10px 0 var(--forest)}
.site-footer{background:#0d1c13;color:#c9d2c6;padding:1.6rem 0;font-size:.9rem}
.site-footer a{color:var(--orange)}
@media(max-width:767px){
  .topbar-em{font-size:.78rem}
  .hero{background-position:18% center;min-height:70vh}
  .hero-content{padding:1.4rem 1rem}
  .hero-title{font-size:2.6rem}
  .hero-subtitle{font-size:1rem}
  .index-list li{flex-direction:column;gap:.1rem}
  .index-list em{text-align:left}
  .services,.about,.reviews,.contact{padding:3.5rem 0}
  .map{min-height:300px}
  .rings-hero{width:260px}
}
