/* Jamroots home-only custom CTA + global footer */
:root{
  --jr-footer-cream:#f7f4ee;
  --jr-footer-line:#ded8cd;
  --jr-footer-brown:#bd814d;
  --jr-footer-brown-dark:#9a6336;
  --jr-footer-ink:#111512;
  --jr-footer-muted:#5f625d;
}

/* Home-only CTA */
.jr-home-custom-cta{
  width:100%;
  padding:28px 24px 34px;
  background:#fff;
}
.jr-custom-cta-inner{
  max-width:1160px;
  min-height:196px;
  margin:0 auto;
  padding:24px 54px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:72px;
  overflow:hidden;
  border:1px solid #eee8de;
  border-radius:12px;
  background:
    radial-gradient(circle at 90% 20%,rgba(255,255,255,.9),transparent 34%),
    linear-gradient(135deg,#f8f5ef 0%,#f2eee7 100%);
  box-shadow:0 9px 28px rgba(51,40,25,.06);
}
.jr-custom-mat-visual{
  position:relative;
  flex:0 0 270px;
  padding:18px 18px 12px 30px;
}
.jr-mat-shape{
  position:relative;
  width:230px;
  aspect-ratio:1.9/1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:5px solid #7c4c29;
  outline:2px solid #c89a65;
  outline-offset:-12px;
  border-radius:7px;
  color:#19130f;
  background:
    repeating-linear-gradient(45deg,rgba(66,40,20,.045) 0 2px,transparent 2px 5px),
    #c79762;
  box-shadow:0 5px 12px rgba(60,38,18,.18);
  transform:perspective(600px) rotateX(2deg);
}
.jr-mat-shape span,.jr-mat-shape strong{
  font-family:Arial,Helvetica,sans-serif;
  font-weight:900;
  line-height:1.02;
  letter-spacing:.025em;
}
.jr-mat-shape span{font-size:22px}
.jr-mat-shape strong{font-size:25px}
.jr-dimension{
  position:absolute;
  color:#4c4c48;
  font:700 9px/1 Arial,sans-serif;
  letter-spacing:.08em;
}
.jr-dimension-top{
  left:50%; top:0; transform:translateX(-42%);
  width:160px; text-align:center;
  border-top:1px dashed #8d8a83;
  padding-top:5px;
}
.jr-dimension-side{
  left:4px; top:50%; transform:translateY(-5%) rotate(-90deg);
  width:85px; text-align:center;
  border-top:1px dashed #8d8a83;
  padding-top:5px;
}
.jr-custom-cta-copy{min-width:360px}
.jr-custom-cta-copy h2{
  margin:0 0 8px;
  color:#0d100e;
  font-family:Arial,Helvetica,sans-serif;
  font-size:38px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.035em;
}
.jr-custom-cta-copy p{
  margin:0 0 18px;
  color:#111512;
  font-size:13px;
  line-height:1.35;
  font-weight:800;
  letter-spacing:.02em;
}
.jr-custom-cta-button{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 23px;
  border-radius:6px;
  color:#fff!important;
  background:var(--jr-footer-brown);
  box-shadow:0 3px 0 var(--jr-footer-brown-dark);
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
  text-decoration:none!important;
  transition:transform .18s ease,background .18s ease;
}
.jr-custom-cta-button:hover{
  background:var(--jr-footer-brown-dark);
  transform:translateY(-1px);
}

/* Footer — global through main layout */
.jr-footer{
  width:100%;
  margin-top:0;
  color:var(--jr-footer-ink);
  background:var(--jr-footer-cream);
  border-top:1px solid #eee8df;
}
.jr-footer-main{
  max-width:1180px;
  margin:0 auto;
  padding:34px 24px 30px;
  display:grid;
  grid-template-columns:.85fr 1fr 1.55fr;
  gap:78px;
  align-items:start;
}
.jr-footer-column h3{
  margin:0 0 15px;
  color:#101310;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  line-height:1;
  font-weight:900;
  letter-spacing:.015em;
}
.jr-social-links{display:flex;align-items:center;gap:10px}
.jr-social-links a{
  width:27px;height:27px;
  display:grid;place-items:center;
  border-radius:50%;
  color:#fff;
  background:#111;
  transition:transform .18s ease,background .18s ease;
}
.jr-social-links a:hover{background:var(--jr-footer-brown);transform:translateY(-2px)}
.jr-social-links svg{width:14px;height:14px;fill:currentColor;stroke:currentColor;stroke-width:1.4}
.jr-footer-links nav{display:flex;flex-direction:column;gap:7px}
.jr-footer-links a{
  width:max-content;
  color:#343731;
  font-size:12px;
  line-height:1.2;
  text-decoration:none;
}
.jr-footer-links a:hover{color:var(--jr-footer-brown-dark)}
.jr-subscribe{
  width:100%;
  max-width:430px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:9px;
}
.jr-subscribe input{
  min-width:0;
  height:43px;
  padding:0 15px;
  border:1px solid #d6d0c7;
  border-radius:6px;
  color:#222;
  background:#fff;
  font-size:12px;
  outline:none;
}
.jr-subscribe input:focus{border-color:var(--jr-footer-brown);box-shadow:0 0 0 3px rgba(189,129,77,.12)}
.jr-subscribe button{
  height:43px;
  padding:0 22px;
  border:0;
  border-radius:6px;
  color:#fff;
  background:var(--jr-footer-brown);
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.jr-subscribe button:hover{background:var(--jr-footer-brown-dark)}
.jr-footer-newsletter p{margin:10px 0 0;color:var(--jr-footer-muted);font-size:10px;line-height:1.4}
.jr-footer-bottom{
  max-width:1180px;
  margin:0 auto;
  padding:16px 24px 18px;
  border-top:1px solid var(--jr-footer-line);
  color:#3d403b;
  font-size:10px;
  font-weight:700;
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(max-width:900px){
  .jr-custom-cta-inner{gap:32px;padding:24px 30px}
  .jr-custom-mat-visual{flex-basis:240px}
  .jr-mat-shape{width:205px}
  .jr-custom-cta-copy{min-width:0}
  .jr-custom-cta-copy h2{font-size:31px}
  .jr-footer-main{grid-template-columns:.8fr .9fr 1.4fr;gap:34px}
}
@media(max-width:700px){
  .jr-home-custom-cta{padding:20px 16px 25px}
  .jr-custom-cta-inner{min-height:0;flex-direction:column;gap:18px;text-align:center;padding:25px 18px}
  .jr-custom-mat-visual{flex:0 0 auto;width:245px;padding-left:22px}
  .jr-custom-cta-copy h2{font-size:29px}
  .jr-footer-main{grid-template-columns:1fr 1fr;gap:30px;padding:30px 20px 26px}
  .jr-footer-newsletter{grid-column:1/-1}
}
@media(max-width:480px){
  .jr-footer-main{grid-template-columns:1fr;gap:26px}
  .jr-footer-newsletter{grid-column:auto}
  .jr-subscribe{grid-template-columns:1fr}
  .jr-subscribe button{width:100%}
  .jr-footer-bottom{padding:15px 20px 18px}
}

/* =====================================================
   HOME CUSTOM CTA V3 — PREMIUM COMPACT REDESIGN
   Homepage only. Footer styles above remain unchanged.
===================================================== */
.jr-home-custom-cta{
  width:100%;
  padding:36px 24px 42px;
  background:#fff;
}

.jr-custom-cta-inner{
  position:relative;
  max-width:1240px;
  min-height:230px;
  margin:0 auto;
  padding:30px 64px;
  display:grid;
  grid-template-columns:340px minmax(0,1fr);
  align-items:center;
  gap:64px;
  overflow:hidden;
  border:1px solid rgba(184,131,70,.22);
  border-radius:24px;
  background:
    radial-gradient(circle at 88% 18%,rgba(255,255,255,.96),transparent 33%),
    linear-gradient(120deg,#fbf8f2 0%,#f5efe6 55%,#f8f5ef 100%);
  box-shadow:0 18px 48px rgba(57,44,28,.10);
}

.jr-custom-cta-inner::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:8px;
  background:linear-gradient(180deg,#0f5a35 0%,#d2a52b 55%,#c22a2a 100%);
}

.jr-custom-cta-inner::after{
  content:"";
  position:absolute;
  right:-80px;
  bottom:-120px;
  width:360px;
  height:360px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(15,90,53,.08),transparent 68%);
  pointer-events:none;
}

.jr-custom-mat-visual{
  position:relative;
  z-index:1;
  width:100%;
  padding:20px 24px 18px 34px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.jr-mat-shape{
  position:relative;
  width:300px;
  aspect-ratio:1.75/1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:7px solid #6f4425;
  outline:3px solid #d1a15f;
  outline-offset:-14px;
  border-radius:12px;
  color:#16110d;
  background:
    repeating-linear-gradient(45deg,rgba(82,51,25,.055) 0 2px,transparent 2px 5px),
    linear-gradient(135deg,#d9ac75 0%,#c28b52 100%);
  box-shadow:0 13px 25px rgba(58,35,16,.24);
  transform:perspective(700px) rotateX(3deg) rotateZ(-1deg);
}

.jr-mat-shape::after{
  content:"";
  position:absolute;
  inset:16px;
  border:2px solid rgba(79,45,18,.48);
  border-radius:5px;
  pointer-events:none;
}

.jr-mat-shape span,
.jr-mat-shape strong{
  position:relative;
  z-index:1;
  font-family:Arial,Helvetica,sans-serif;
  font-weight:900;
  line-height:.98;
  letter-spacing:.025em;
}

.jr-mat-shape span{font-size:26px}
.jr-mat-shape strong{font-size:31px}

.jr-dimension{
  position:absolute;
  color:#68645e;
  font:800 10px/1 Arial,sans-serif;
  letter-spacing:.11em;
}

.jr-dimension-top{
  left:50%;
  top:0;
  transform:translateX(-45%);
  width:210px;
  text-align:center;
  border-top:1px dashed #969188;
  padding-top:6px;
}

.jr-dimension-side{
  left:0;
  top:50%;
  transform:translateY(-2%) rotate(-90deg);
  width:105px;
  text-align:center;
  border-top:1px dashed #969188;
  padding-top:6px;
}

.jr-custom-cta-copy{
  position:relative;
  z-index:2;
  min-width:0;
  max-width:650px;
}

.jr-custom-cta-copy::before{
  content:"PREMIUM CUSTOM SERVICE";
  display:inline-flex;
  align-items:center;
  min-height:28px;
  margin-bottom:12px;
  padding:0 12px;
  border-radius:999px;
  color:#0e5834;
  background:rgba(15,90,53,.09);
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.11em;
}

.jr-custom-cta-copy h2{
  margin:0 0 10px;
  color:#101310;
  font-family:Arial,Helvetica,sans-serif;
  font-size:46px;
  line-height:.98;
  font-weight:900;
  letter-spacing:-.045em;
}

.jr-custom-cta-copy p{
  max-width:520px;
  margin:0 0 22px;
  color:#3e403c;
  font-size:15px;
  line-height:1.55;
  font-weight:700;
  letter-spacing:.01em;
}

.jr-custom-cta-button{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 28px;
  border:1px solid #9b6736;
  border-radius:10px;
  color:#fff!important;
  background:linear-gradient(135deg,#c58b50 0%,#aa6e37 100%);
  box-shadow:0 8px 18px rgba(150,93,41,.22);
  font-size:13px;
  font-weight:900;
  letter-spacing:.04em;
  text-decoration:none!important;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}

.jr-custom-cta-button::after{
  content:"→";
  font-size:18px;
  line-height:1;
}

.jr-custom-cta-button:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(150,93,41,.30);
  filter:saturate(1.08);
}

@media(max-width:980px){
  .jr-custom-cta-inner{
    grid-template-columns:290px minmax(0,1fr);
    gap:36px;
    padding:30px 38px;
  }
  .jr-mat-shape{width:255px}
  .jr-custom-cta-copy h2{font-size:39px}
}

@media(max-width:760px){
  .jr-home-custom-cta{padding:26px 16px 32px}
  .jr-custom-cta-inner{
    min-height:0;
    grid-template-columns:1fr;
    gap:22px;
    padding:30px 24px 34px;
    text-align:center;
  }
  .jr-custom-mat-visual{
    max-width:320px;
    margin:0 auto;
  }
  .jr-custom-cta-copy{margin:0 auto}
  .jr-custom-cta-copy::before{margin-bottom:10px}
  .jr-custom-cta-copy h2{font-size:36px}
  .jr-custom-cta-copy p{margin-left:auto;margin-right:auto}
}

@media(max-width:480px){
  .jr-custom-cta-inner{border-radius:18px;padding:26px 18px 30px}
  .jr-custom-mat-visual{padding-left:24px;padding-right:14px}
  .jr-mat-shape{width:235px}
  .jr-mat-shape span{font-size:22px}
  .jr-mat-shape strong{font-size:27px}
  .jr-custom-cta-copy h2{font-size:31px}
  .jr-custom-cta-copy p{font-size:13px}
  .jr-custom-cta-button{width:100%;max-width:260px}
}
