/* JMR sitewide polish v4
   Safe overlay for interior pages to match the tighter live-document index feel. */
:root{
  --jmr-green:#24B040;
  --jmr-green-dark:#1E8F36;
  --jmr-charcoal:#222222;
  --jmr-ink:#17201b;
  --jmr-muted:#5f6b65;
  --jmr-line:rgba(34,34,34,.10);
  --jmr-soft:#f6f8f7;
  --jmr-card:#ffffff;
  --jmr-radius-lg:28px;
  --jmr-radius-md:20px;
  --jmr-shadow-soft:0 18px 48px rgba(23,32,27,.10);
  --jmr-shadow-card:0 12px 30px rgba(23,32,27,.075);
}
html{scroll-behavior:smooth;}
body{background:linear-gradient(180deg,#ffffff 0%,#f7faf8 42%,#ffffff 100%);color:var(--jmr-ink);text-rendering:optimizeLegibility;}
.page{overflow:hidden;}
.nav{backdrop-filter:saturate(130%) blur(14px);-webkit-backdrop-filter:saturate(130%) blur(14px);border-bottom:1px solid rgba(34,34,34,.08);box-shadow:0 8px 26px rgba(0,0,0,.05);}
.nav-links a{transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;}
.nav-links a:hover{transform:translateY(-1px);}
.nav-links a.is-active,.nav-links .is-active{box-shadow:inset 0 -2px 0 var(--jmr-green);}
.nav-cta,.btn-primary,.hero-actions a:first-child,.action-button.primary{box-shadow:0 12px 28px rgba(36,176,64,.20);}
.nav-cta:hover,.btn-primary:hover,.hero-actions a:first-child:hover,.action-button.primary:hover{box-shadow:0 16px 34px rgba(36,176,64,.26);}
.jmr-news-bar{box-shadow:0 8px 22px rgba(0,0,0,.08);}
.hero-media,.hero{position:relative;isolation:isolate;}
.hero-media::after,.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:34%;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.96));pointer-events:none;z-index:0;}
.hero-media .section-inner,.hero .container,.hero .section-inner{position:relative;z-index:1;}
.hero-image,.hero-video{filter:saturate(1.04) contrast(1.04);transform:scale(1.012);}
.hero-overlay{background:linear-gradient(90deg,rgba(15,24,19,.80),rgba(15,24,19,.54) 46%,rgba(15,24,19,.20));}
.hero-title,.section-heading{letter-spacing:-.035em;}
.hero-title{max-width:980px;text-shadow:0 4px 24px rgba(0,0,0,.24);}
.hero-subtitle{max-width:760px;}
.hero-badges span,.hero-badges .badge,.badge,.pill{border:1px solid rgba(255,255,255,.26);box-shadow:0 8px 22px rgba(0,0,0,.12);}
.hero-card,.hero-panel{border:1px solid rgba(255,255,255,.22)!important;box-shadow:0 24px 60px rgba(0,0,0,.24);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
.section{position:relative;}
.section:not(.hero-media):not(.hero){padding-top:clamp(54px,6vw,86px);padding-bottom:clamp(54px,6vw,86px);}
.section-alt{background:linear-gradient(180deg,#f5f8f6 0%,#ffffff 100%);}
.section-heading{position:relative;margin-bottom:.55rem;}
.section-heading::after{content:"";display:block;width:58px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--jmr-green),rgba(36,176,64,.12));margin-top:14px;}
.section-intro{color:var(--jmr-muted);line-height:1.72;}
.card,.buy-card,.metal-card,.info-card,.value-card,.steps-card,.contact-block,.price-card,.quick-card,.hero-metrics,.hero-hours,.result-card,.item-card,.warning-card,.category-card{border:1px solid var(--jmr-line)!important;border-radius:var(--jmr-radius-md)!important;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.92))!important;box-shadow:var(--jmr-shadow-card);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.card:hover,.buy-card:hover,.metal-card:hover,.info-card:hover,.value-card:hover,.steps-card:hover,.contact-block:hover,.price-card:hover,.quick-card:hover,.result-card:hover,.item-card:hover,.warning-card:hover,.category-card:hover{transform:translateY(-3px);box-shadow:var(--jmr-shadow-soft);border-color:rgba(36,176,64,.22)!important;}
.card h3,.buy-card h3,.metal-card h3,.info-card h3,.value-card h3,.contact-block h3,.price-card h3{letter-spacing:-.02em;}
.card-list li, .hero-list li{margin-bottom:.55rem;}
.card-list li::marker{color:var(--jmr-green);}
img{max-width:100%;}
.metal-card img,.gallery-card img,.why-card img,.contact-image img{transition:transform .45s ease,filter .45s ease;}
.metal-card:hover img,.gallery-card:hover img,.why-card:hover img,.contact-image:hover img{transform:scale(1.035);filter:saturate(1.08) contrast(1.04);}
.contact-grid{align-items:stretch;}
.contact-block{position:relative;overflow:hidden;}
.contact-block::before,.card::before,.price-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--jmr-green),transparent);opacity:.85;}
footer{background:linear-gradient(180deg,#202621,#151915);border-top:1px solid rgba(255,255,255,.08);}
.mobile-call-bar{box-shadow:0 -12px 28px rgba(0,0,0,.14);}
a[href^="tel:"],a[href^="mailto:"]{text-underline-offset:3px;}
.table-wrap,table,.prices-table,.restricted-table{border-radius:20px;overflow:hidden;box-shadow:var(--jmr-shadow-card);}
table th,.prices-table th,.restricted-table th{background:#eef6f0;color:#16351f;}
input,select,textarea,.search-input{border-radius:14px!important;border:1px solid rgba(34,34,34,.16)!important;box-shadow:0 6px 18px rgba(23,32,27,.04);}
input:focus,select:focus,textarea:focus,.search-input:focus{outline:3px solid rgba(36,176,64,.20);border-color:rgba(36,176,64,.55)!important;}
.jmr-reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease;}
.jmr-reveal.is-visible{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.nav-links a,.card,.buy-card,.metal-card,.info-card,.value-card,.steps-card,.contact-block,.price-card,.quick-card,.result-card,.item-card,.warning-card,.category-card,.jmr-reveal{transition:none!important}.jmr-reveal{opacity:1;transform:none}.hero-image,.hero-video{transform:none}}
@media (max-width:760px){.section:not(.hero-media):not(.hero){padding-top:44px;padding-bottom:44px}.hero-title{font-size:clamp(2.15rem,10vw,3.3rem)}.hero-overlay{background:linear-gradient(180deg,rgba(15,24,19,.78),rgba(15,24,19,.58))}.card,.buy-card,.metal-card,.info-card,.value-card,.steps-card,.contact-block,.price-card,.quick-card,.hero-card,.hero-panel{border-radius:18px!important}.section-heading::after{margin-top:10px}}


/* JMR polish v3: tighter homepage-style rhythm + cleaner heroes */
.section:not(.hero-media):not(.hero){
  padding-top:clamp(38px,4.8vw,68px) !important;
  padding-bottom:clamp(38px,4.8vw,68px) !important;
}
.hero-media{
  min-height:clamp(430px,56vh,600px) !important;
  padding-top:clamp(72px,8vw,116px) !important;
  padding-bottom:clamp(32px,5vw,58px) !important;
}
.hero-media::after,.hero::after{
  height:46% !important;
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.985) 82%,#fff 100%) !important;
}
.hero-media .hero-grid{
  grid-template-columns:minmax(0,920px) !important;
  align-items:end !important;
  gap:clamp(18px,3vw,34px) !important;
}
.hero-content{max-width:920px !important;}
.hero-title{margin-bottom:clamp(12px,1.8vw,18px) !important;}
.hero-subtitle{margin-bottom:clamp(14px,2vw,20px) !important;}
.hero-badges{margin-bottom:clamp(16px,2vw,22px) !important;}
.hero-actions{margin-bottom:clamp(16px,2vw,22px) !important;}
.hero-meta{
  color:#15231b !important;
  text-shadow:0 1px 0 rgba(255,255,255,.85) !important;
  font-weight:650 !important;
  line-height:1.45 !important;
  max-width:920px !important;
}
.hero-meta strong{color:#07130c !important;}
.hero-card,.hero-panel{display:none !important;}
.section-heading{margin-bottom:.45rem !important;}
.section-intro{margin-bottom:clamp(18px,2.2vw,26px) !important;}
.card,.buy-card,.metal-card,.info-card,.value-card,.steps-card,.contact-block,.price-card,.quick-card,.result-card,.item-card,.warning-card,.category-card{
  box-shadow:0 10px 24px rgba(23,32,27,.065) !important;
}
@media (max-width:760px){
  .section:not(.hero-media):not(.hero){padding-top:34px !important;padding-bottom:34px !important;}
  .hero-media{min-height:480px !important;padding-top:72px !important;padding-bottom:28px !important;}
  .hero-meta{font-size:.92rem !important;}
}


/* JMR polish v4: compact "live document" rhythm for interior pages
   Goal: pages feel active and current, not like long brochures. */
:root{
  --jmr-section-tight:clamp(26px,3.4vw,46px);
  --jmr-section-tighter:clamp(20px,2.6vw,34px);
  --jmr-grid-gap:clamp(14px,2vw,24px);
}
.section:not(.hero-media):not(.hero){
  padding-top:var(--jmr-section-tight) !important;
  padding-bottom:var(--jmr-section-tight) !important;
}
.section + .section:not(.hero-media):not(.hero){
  padding-top:var(--jmr-section-tighter) !important;
}
.section-alt{
  background:linear-gradient(180deg,#f7faf8 0%,#ffffff 82%) !important;
}
.section-inner,.container{
  row-gap:var(--jmr-grid-gap) !important;
}
.section-heading{
  margin-bottom:.28rem !important;
  line-height:1.04 !important;
}
.section-heading::after{
  width:46px !important;
  height:3px !important;
  margin-top:9px !important;
}
.section-intro,
.section-lead,
.lead,
.intro-text{
  margin-top:.35rem !important;
  margin-bottom:clamp(12px,1.6vw,18px) !important;
  line-height:1.58 !important;
}
.grid,
.cards-grid,
.info-grid,
.value-grid,
.steps-grid,
.contact-grid,
.quick-grid,
.metal-grid,
.gallery-grid,
.prices-grid,
.category-grid,
.restricted-grid{
  gap:var(--jmr-grid-gap) !important;
}
.card,.buy-card,.metal-card,.info-card,.value-card,.steps-card,.contact-block,.price-card,.quick-card,.result-card,.item-card,.warning-card,.category-card{
  padding:clamp(16px,2vw,24px) !important;
}
.card h3,.buy-card h3,.metal-card h3,.info-card h3,.value-card h3,.steps-card h3,.contact-block h3,.price-card h3,.quick-card h3,.result-card h3,.item-card h3,.warning-card h3,.category-card h3{
  margin-bottom:.45rem !important;
  line-height:1.12 !important;
}
.card p,.buy-card p,.metal-card p,.info-card p,.value-card p,.steps-card p,.contact-block p,.price-card p,.quick-card p,.result-card p,.item-card p,.warning-card p,.category-card p{
  line-height:1.52 !important;
  margin-bottom:.65rem !important;
}
.card p:last-child,.buy-card p:last-child,.metal-card p:last-child,.info-card p:last-child,.value-card p:last-child,.steps-card p:last-child,.contact-block p:last-child,.price-card p:last-child,.quick-card p:last-child,.result-card p:last-child,.item-card p:last-child,.warning-card p:last-child,.category-card p:last-child{
  margin-bottom:0 !important;
}
.card-list,
.hero-list,
ul.feature-list,
ul.check-list{
  margin-top:.55rem !important;
  margin-bottom:0 !important;
  padding-left:1.15rem !important;
}
.card-list li,
.hero-list li,
ul.feature-list li,
ul.check-list li{
  margin-bottom:.36rem !important;
  line-height:1.42 !important;
}
.hero-media{
  min-height:clamp(390px,50vh,540px) !important;
  padding-bottom:clamp(24px,3.8vw,42px) !important;
}
.hero-actions{
  margin-bottom:clamp(10px,1.4vw,16px) !important;
}
.hero-subtitle{
  line-height:1.48 !important;
}
.hero-meta{
  margin-top:clamp(8px,1.1vw,12px) !important;
}
.table-wrap,
.prices-table,
.restricted-table{
  margin-top:clamp(12px,1.6vw,18px) !important;
}
footer{
  margin-top:0 !important;
}
@media (max-width:760px){
  .section:not(.hero-media):not(.hero){
    padding-top:28px !important;
    padding-bottom:28px !important;
  }
  .section + .section:not(.hero-media):not(.hero){
    padding-top:22px !important;
  }
  .card,.buy-card,.metal-card,.info-card,.value-card,.steps-card,.contact-block,.price-card,.quick-card,.result-card,.item-card,.warning-card,.category-card{
    padding:16px !important;
  }
  .hero-media{
    min-height:430px !important;
  }
}
