/* =========================================================
   JK Elementor Sections — base styles
   Colors/typography are overridable from the Elementor sidebar.
   Fonts (Oswald + Open Sans) are enqueued by the plugin.
   ========================================================= */

/* ===================== 1. BEFORE / AFTER ===================== */
.jk-ba{
  --b:#875D21; --bd:#6b4a1a; --bl:#b5894a; --char:#1e1e1e;
  --cream:#f6f3ee; --ink:#262626; --mut:#6f6f6f; --line:#e0d8ca;
  font-family:'Open Sans',sans-serif; background:var(--cream);
  color:var(--ink); padding:72px 22px; box-sizing:border-box;
}
.jk-ba *{box-sizing:border-box;}
.jk-ba .wrap{max-width:1180px;margin:0 auto;}
.jk-ba .head{max-width:660px;margin:0 0 44px;}
.jk-ba .kick{font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:.26em;text-transform:uppercase;font-size:13px;color:var(--b);display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.jk-ba .kick::before{content:"";width:34px;height:2px;background:var(--b);}
.jk-ba .head .jkh{font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(30px,4.2vw,46px);line-height:1.05;margin:0 0 14px;color:var(--char);text-transform:uppercase;letter-spacing:.01em;}
.jk-ba .head p{font-size:16px;line-height:1.7;color:var(--mut);margin:0;}
.jk-ba .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.jk-ba .card{background:#fff;border:1px solid var(--line);padding:14px;}
.jk-ba .meta{display:flex;justify-content:space-between;align-items:baseline;padding:6px 4px 14px;}
.jk-ba .meta .idx{font-family:'Oswald',sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em;color:var(--b);}
.jk-ba .meta .loc{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);}
.jk-ba .meta h3{font-family:'Oswald',sans-serif;font-weight:600;font-size:20px;margin:0;color:var(--char);text-transform:uppercase;letter-spacing:.02em;}
.jk-ba .compare{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;user-select:none;touch-action:pan-y;--pos:50%;cursor:ew-resize;background:#ddd;}
.jk-ba .layer{position:absolute;inset:0;}
.jk-ba .layer img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;pointer-events:none;}
.jk-ba .before{clip-path:inset(0 calc(100% - var(--pos)) 0 0);}
.jk-ba .tag{position:absolute;top:12px;font-family:'Oswald',sans-serif;font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#fff;padding:5px 11px;}
.jk-ba .tag.t-b{left:12px;background:rgba(30,30,30,.78);}
.jk-ba .tag.t-a{right:12px;background:var(--b);}
.jk-ba .handle{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:#fff;transform:translateX(-50%);box-shadow:0 0 10px rgba(0,0,0,.4);}
.jk-ba .grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;background:#fff;border:2px solid var(--b);display:flex;align-items:center;justify-content:center;gap:2px;box-shadow:0 3px 14px rgba(0,0,0,.3);transition:transform .15s ease;}
.jk-ba .compare:hover .grip{transform:translate(-50%,-50%) scale(1.08);}
.jk-ba .grip svg{width:9px;height:12px;fill:var(--b);}
@media (max-width:900px){.jk-ba .grid{grid-template-columns:1fr;max-width:520px;margin:0 auto;}}
@media (max-width:430px){.jk-ba{padding:50px 16px;}}

/* ===================== 2. SPEC PLATE STATS ===================== */
.jk-spec{
  --b:#875D21; --bd:#6b4a1a; --char:#1e1e1e; --cream:#f6f3ee;
  --ink:#262626; --mut:#6f6f6f; --line:#d9cfbd;
  font-family:'Open Sans',sans-serif; color:var(--ink); box-sizing:border-box; padding:72px 22px;
  background:var(--cream);
  background-image:linear-gradient(rgba(135,93,33,.06) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(135,93,33,.06) 1px,transparent 1px);
  background-size:32px 32px;
}
.jk-spec *{box-sizing:border-box;}
.jk-spec .plate{max-width:1080px;margin:0 auto;background:#fff;border:1.5px solid var(--char);position:relative;}
.jk-spec .plate::before,.jk-spec .plate::after{content:"";position:absolute;width:14px;height:14px;border:2px solid var(--b);}
.jk-spec .plate::before{top:-2px;left:-2px;border-right:0;border-bottom:0;}
.jk-spec .plate::after{bottom:-2px;right:-2px;border-left:0;border-top:0;}
.jk-spec .titlebar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 22px;border-bottom:1.5px solid var(--char);background:var(--char);color:#fff;}
.jk-spec .titlebar .t1{font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:.22em;text-transform:uppercase;font-size:13px;}
.jk-spec .titlebar .t2{font-family:'Oswald',sans-serif;font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:var(--b);}
.jk-spec .row{display:grid;grid-template-columns:repeat(4,1fr);}
.jk-spec .cell{padding:38px 24px;border-right:1px solid var(--line);position:relative;transition:opacity .5s ease,transform .5s ease;}
.jk-spec .plate.pre .cell{opacity:0;transform:translateY(18px);}
.jk-spec .cell.in{opacity:1;transform:none;}
.jk-spec .cell:last-child{border-right:0;}
.jk-spec .cell .tick{position:absolute;top:0;left:24px;width:18px;height:3px;background:var(--b);}
.jk-spec .num{font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(42px,5.4vw,62px);line-height:.9;color:var(--char);letter-spacing:-.01em;}
.jk-spec .num .u{color:var(--b);}
.jk-spec .lab{margin-top:14px;font-family:'Oswald',sans-serif;font-weight:500;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);}
.jk-spec .lab small{display:block;font-family:'Open Sans',sans-serif;font-weight:400;letter-spacing:.02em;text-transform:none;color:#9a9182;font-size:11.5px;margin-top:4px;}
@media (max-width:760px){
  .jk-spec .row{grid-template-columns:repeat(2,1fr);}
  .jk-spec .cell:nth-child(2){border-right:0;}
  .jk-spec .cell:nth-child(1),.jk-spec .cell:nth-child(2){border-bottom:1px solid var(--line);}
}
@media (max-width:430px){.jk-spec{padding:50px 14px;}.jk-spec .cell{padding:28px 18px;}}

/* ===================== 3. BUILD SEQUENCE ===================== */
.jk-seq{
  --b:#875D21; --bd:#6b4a1a; --char:#1e1e1e; --cream:#f6f3ee;
  --ink:#262626; --mut:#6f6f6f; --line:#d9cfbd;
  font-family:'Open Sans',sans-serif; color:var(--ink); background:#fff; padding:76px 22px; box-sizing:border-box;
}
.jk-seq *{box-sizing:border-box;}
.jk-seq .wrap{max-width:1140px;margin:0 auto;}
.jk-seq .head{max-width:640px;margin:0 0 56px;}
.jk-seq .kick{font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:.26em;text-transform:uppercase;font-size:13px;color:var(--b);display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.jk-seq .kick::before{content:"";width:34px;height:2px;background:var(--b);}
.jk-seq .head .jkh{font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(30px,4.2vw,46px);line-height:1.05;margin:0 0 14px;color:var(--char);text-transform:uppercase;}
.jk-seq .head p{font-size:16px;line-height:1.7;color:var(--mut);margin:0;}
.jk-seq .grid{display:grid;grid-template-columns:repeat(4,1fr);column-gap:30px;position:relative;}
.jk-seq .grid::before{content:"";position:absolute;top:7px;left:0;right:0;height:0;border-top:2px dashed var(--line);z-index:0;}
.jk-seq .step{position:relative;z-index:1;padding-top:30px;transition:opacity .55s ease,transform .55s ease;}
.jk-seq [data-jk-seq].pre .step{opacity:0;transform:translateY(24px);}
.jk-seq .step.in{opacity:1;transform:none;}
.jk-seq .step .node{position:absolute;top:0;left:0;width:16px;height:16px;background:#fff;border:3px solid var(--b);transform:rotate(45deg);transition:background .3s ease;}
.jk-seq .step:hover .node{background:var(--b);}
.jk-seq .step .sn{font-family:'Oswald',sans-serif;font-weight:600;font-size:12px;letter-spacing:.2em;color:var(--b);text-transform:uppercase;margin-bottom:10px;}
.jk-seq .step h3{font-family:'Oswald',sans-serif;font-weight:600;font-size:21px;margin:0 0 10px;color:var(--char);text-transform:uppercase;letter-spacing:.01em;line-height:1.1;}
.jk-seq .step p{font-size:14.5px;line-height:1.65;color:var(--mut);margin:0;}
@media (max-width:820px){
  .jk-seq .grid{grid-template-columns:1fr;}
  .jk-seq .grid::before{top:0;bottom:0;left:7px;right:auto;width:0;height:auto;border-top:0;border-left:2px dashed var(--line);}
  .jk-seq .step{padding:0 0 38px 40px;}
  .jk-seq .step:last-child{padding-bottom:0;}
  .jk-seq .step .node{top:2px;}
}
@media (max-width:430px){.jk-seq{padding:52px 16px;}}

/* ===================== 4. CTA + STAMP ===================== */
.jk-cta{
  --b:#875D21; --bd:#6b4a1a; --bl:#b5894a; --char:#1e1e1e;
  font-family:'Open Sans',sans-serif; box-sizing:border-box; padding:64px 22px; background:var(--char);
}
.jk-cta *{box-sizing:border-box;}
.jk-cta .panel{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1.55fr 1fr;border:1px solid rgba(181,137,74,.35);}
.jk-cta .left{padding:52px 46px;color:#fff;}
.jk-cta .kick{font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:.24em;text-transform:uppercase;font-size:13px;color:var(--bl);display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.jk-cta .kick::before{content:"";width:30px;height:2px;background:var(--bl);}
.jk-cta .left .jkh{font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(28px,4vw,44px);line-height:1.02;margin:0 0 16px;text-transform:uppercase;color:#fff;}
.jk-cta .left p{font-size:16px;line-height:1.7;color:#cfc8bc;margin:0 0 30px;max-width:430px;}
.jk-cta .acts{display:flex;gap:14px;flex-wrap:wrap;}
.jk-cta .btn{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-family:'Oswald',sans-serif;font-weight:600;font-size:15px;letter-spacing:.04em;text-transform:uppercase;padding:14px 26px;transition:transform .18s ease,background .2s ease;}
.jk-cta .btn.solid{background:var(--b);color:#fff;}
.jk-cta .btn.solid:hover{background:var(--bl);transform:translateY(-2px);}
.jk-cta .btn.ghost{border:2px solid rgba(255,255,255,.5);color:#fff;}
.jk-cta .btn.ghost:hover{border-color:#fff;transform:translateY(-2px);}
.jk-cta .btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;}
.jk-cta .trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;}
.jk-cta .trust span{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:#9a9286;font-family:'Oswald',sans-serif;font-weight:500;display:flex;align-items:center;gap:7px;}
.jk-cta .trust span::before{content:"";width:6px;height:6px;background:var(--b);transform:rotate(45deg);}
.jk-cta .right{background:var(--b);display:flex;align-items:center;justify-content:center;padding:40px;position:relative;overflow:hidden;}
.jk-cta .right::before{content:"";position:absolute;inset:14px;border:1px dashed rgba(255,255,255,.35);}
.jk-cta .stamp{position:relative;width:200px;height:200px;}
.jk-cta .stamp .ring{width:100%;height:100%;animation:jkspin 24s linear infinite;}
.jk-cta .stamp .ring.no-spin{animation:none;}
@keyframes jkspin{to{transform:rotate(360deg);}}
.jk-cta .stamp .ring text{font-family:'Oswald',sans-serif;font-weight:600;font-size:13px;letter-spacing:3px;fill:#fff;text-transform:uppercase;}
.jk-cta .stamp .core{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.jk-cta .stamp .core svg{width:34px;height:34px;stroke:#fff;fill:none;stroke-width:1.8;margin-bottom:6px;}
.jk-cta .stamp .core .big{font-family:'Oswald',sans-serif;font-weight:700;font-size:30px;color:#fff;line-height:.9;}
.jk-cta .stamp .core .sm{font-family:'Oswald',sans-serif;font-weight:500;font-size:11px;letter-spacing:.18em;color:#fff;text-transform:uppercase;margin-top:4px;}
@media (max-width:820px){
  .jk-cta .panel{grid-template-columns:1fr;}
  .jk-cta .right{order:-1;padding:46px;}
  .jk-cta .left{padding:42px 28px;}
}
@media (max-width:430px){.jk-cta{padding:44px 16px;}.jk-cta .btn{flex:1;justify-content:center;}}

/* ===================== reduced motion ===================== */
@media (prefers-reduced-motion:reduce){
  .jk-spec .plate.pre .cell,
  .jk-seq [data-jk-seq].pre .step{opacity:1 !important;transform:none !important;}
  .jk-cta .stamp .ring{animation:none;}
}
