/* Homepage-derived Builder pieces. All selectors are scoped to theme components. */
.jjp-builder-section{padding:46px clamp(18px,4vw,72px);background:#f3f6f8;color:#10243b;font-family:Poppins,system-ui,sans-serif}
.jjp-builder-inner{max-width:1465px;margin-inline:auto;min-width:0}
.jjp-builder-subtitle{margin:0 0 12px;color:#b91528;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.jjp-builder-section h2{margin:0 0 18px;font-size:clamp(32px,3.4vw,46px);font-weight:800;line-height:1.13;letter-spacing:-.04em;overflow-wrap:anywhere}
.jjp-builder-description{margin:0 0 24px;color:#516173;font-size:15px;line-height:1.75;white-space:pre-line;overflow-wrap:anywhere}
.jjp-builder-heading{margin-bottom:20px}
.jjp-builder-button{display:inline-flex;align-items:center;gap:10px;width:max-content;max-width:100%;min-height:48px;padding:6px 18px 6px 6px;border-radius:999px;background:#d7192d;color:#fff;text-decoration:none;font-size:14px;font-weight:700;line-height:1.4;transition:transform .2s ease,background .2s ease}
.jjp-builder-button>span:last-child{min-width:0;overflow-wrap:anywhere}
.jjp-builder-button-arrow{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:#fff;color:#d7192d}
.jjp-builder-section svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.jjp-builder-button:hover{background:#b91528;transform:translateY(-2px)}
.jjp-builder-section a:focus-visible,.jjp-builder-section button:focus-visible,.jjp-carousel-track:focus-visible{outline:3px solid #12528a;outline-offset:3px}
.jjp-blue-bar{position:relative;z-index:2;padding:0 24px;background:#f3f6f8;font-family:Poppins,system-ui,sans-serif}
.jjp-blue-bar--overlap{margin-top:-43px;background:transparent}
.jjp-blue-bar:first-child{margin-top:0}
.jjp-blue-bar-items{display:grid;grid-template-columns:repeat(var(--jjp-highlight-count,4),minmax(0,1fr));align-items:stretch;width:min(1368px,100%);min-height:152px;margin:0 auto;padding:28px clamp(20px,5vw,80px);list-style:none;background:#0a203a;color:#f6f8fb;box-shadow:0 6px 24px rgba(7,23,43,.08)}
.jjp-blue-bar-item{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:8px clamp(14px,3vw,48px);border-right:2px solid #8290a0;font-size:18px;line-height:1.4;overflow-wrap:anywhere}
.jjp-blue-bar-item:last-child{border-right:0}
.jjp-blue-bar-item p{margin:0}.jjp-blue-bar-item p+p{margin-top:5px}.jjp-blue-bar-item strong{font-weight:800}.jjp-blue-bar-item a{color:inherit}
.jjp-video-hero:has(+.jjp-blue-bar--overlap) .jjp-video-hero-toggle{bottom:63px}
.jjp-page-slider{overflow:hidden}
.jjp-page-slider-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:clamp(30px,4vw,68px);align-items:center}
.jjp-page-slider-intro,.jjp-page-carousel{min-width:0}
.jjp-page-slider-intro h2{max-width:330px;font-size:clamp(32px,3vw,42px)}
.jjp-carousel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
.jjp-carousel-toolbar[hidden]{display:none}
.jjp-carousel-count{margin:0;font-size:14px;font-weight:800;letter-spacing:.08em;font-variant-numeric:tabular-nums}.jjp-carousel-divider{color:#667785;font-weight:500}
.jjp-carousel-buttons{display:flex;gap:8px}
.jjp-carousel-buttons button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid #cbd4dc;border-radius:50%;background:#fff;color:#10243b;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}
.jjp-carousel-buttons button:first-child svg{transform:rotate(180deg)}
.jjp-carousel-buttons button:hover:not(:disabled){background:#d7192d;color:#fff;transform:translateY(-2px)}
.jjp-carousel-buttons button:disabled{opacity:.38;cursor:default}
.jjp-carousel-track{display:flex;gap:18px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:thin;padding:4px 4px 16px}
.jjp-page-carousel.is-enhanced .jjp-carousel-track{scrollbar-width:none;padding-bottom:4px}.jjp-page-carousel.is-enhanced .jjp-carousel-track::-webkit-scrollbar{display:none}
.jjp-page-slide{display:flex;flex:0 0 calc(40% - 11px);flex-direction:column;min-width:0;min-height:400px;border:1px solid #e0e6eb;border-radius:13px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(12,35,63,.08);color:#10243b;text-decoration:none;scroll-snap-align:start;transition:transform .2s ease,box-shadow .2s ease}
.jjp-page-slide:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(12,35,63,.15)}
.jjp-page-slide-image{position:relative;display:block;flex:0 0 180px;background:#dce3e8;overflow:hidden}
.jjp-page-slide-image img{display:block;width:100%;height:100%;position:absolute;object-fit:cover;transition:transform .45s ease}.jjp-page-slide:hover img{transform:scale(1.045)}
.jjp-page-slide-number{position:absolute;top:14px;left:14px;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(8,30,55,.85);color:#fff;font-size:11px;font-weight:700}
.jjp-page-slide-content{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:18px 20px 19px;overflow-wrap:anywhere}
.jjp-page-slide-title{margin-bottom:7px;font-size:19px;font-weight:800;line-height:1.25}
.jjp-page-slide-description{color:#5b6876;font-size:13px;line-height:1.55}
.jjp-page-slide-link{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-top:auto;padding-top:15px;color:#b91528;font-size:12px;font-weight:800}
.jjp-page-slide-link>span{display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border-radius:50%;background:#f8e8eb}.jjp-page-slide-link svg{width:15px;height:15px}
.jjp-carousel-progress{height:3px;margin:21px 2px 0;border-radius:9px;background:#dce2e7;overflow:hidden}.jjp-carousel-progress span{display:block;width:0;height:100%;background:#d7192d}
.jjp-page-links-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.jjp-page-links-panel{display:flex;flex-direction:column;min-width:0;margin:0;border:1px solid #e0e6eb;border-radius:17px;overflow:hidden;background:#fff;box-shadow:0 12px 30px rgba(8,30,55,.1)}
.jjp-page-links-image{position:relative;height:clamp(150px,18vw,220px);overflow:hidden;background:#0a203a}
.jjp-page-links-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,47,.72),rgba(7,26,47,.12) 90%),linear-gradient(0deg,rgba(7,26,47,.36),transparent 65%)}
.jjp-page-links-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.jjp-page-links-panel:hover img{transform:scale(1.035)}
.jjp-page-links-topline{position:absolute;z-index:1;inset:auto 28px 22px;color:#fff;overflow-wrap:anywhere}
.jjp-page-links-topline p{margin:0 0 7px;font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.jjp-page-links-topline h3{margin:0;font-size:clamp(28px,3vw,38px);line-height:1.12;font-weight:800}
.jjp-page-links-content{display:flex;flex:1;flex-direction:column;padding:25px clamp(22px,2.6vw,36px) 30px}
.jjp-page-links-content .jjp-builder-description{font-size:14px}
.jjp-page-links-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:auto}
.jjp-page-links-buttons a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;min-height:58px;padding:8px 10px 8px 15px;border:1px solid #e2e7ec;border-radius:8px;background:#f7f9fb;color:#10243b;text-decoration:none;font-size:14px;font-weight:700;line-height:1.3;overflow-wrap:anywhere;transition:transform .2s ease,background .2s ease}
.jjp-page-links-buttons a>span:first-child{min-width:0}.jjp-page-links-buttons a:hover{transform:translateY(-2px);background:#fff}
.jjp-page-link-arrow{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:#e9eef3;color:#102f53}.jjp-page-links-buttons a:hover .jjp-page-link-arrow{background:#d7192d;color:#fff}
.jjp-coupons{padding-block:clamp(48px,5.4vw,76px)}
.jjp-coupons-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.65fr);gap:32px;align-items:end;margin-bottom:24px}.jjp-coupons-heading h2,.jjp-coupons-heading .jjp-builder-description{margin-bottom:0}
.jjp-coupon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.jjp-coupon-grid--five{grid-template-columns:repeat(12,minmax(0,1fr))}
.jjp-coupon-grid--five>:nth-child(1){grid-column:span 8}.jjp-coupon-grid--five>:nth-child(2){grid-column:span 4}.jjp-coupon-grid--five>:nth-child(3){grid-column:span 3}.jjp-coupon-grid--five>:nth-child(4){grid-column:span 4}.jjp-coupon-grid--five>:nth-child(5){grid-column:span 5}
.jjp-coupon-card{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;gap:20px;min-width:0;min-height:380px;margin:0;padding:clamp(22px,2.5vw,32px);border:1px solid #e0e6eb;border-radius:15px;overflow:hidden;background:#fff;color:#10243b;box-shadow:0 10px 26px rgba(8,30,55,.07);overflow-wrap:anywhere;transition:transform .22s ease,box-shadow .22s ease}
.jjp-coupon-card:hover,.jjp-image-cta:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(8,30,55,.13)}
.jjp-coupon-card::after{content:"";position:absolute;z-index:-1;right:-44px;top:-64px;width:190px;height:190px;border:1px solid rgba(16,47,83,.08);border-radius:50%;box-shadow:0 0 0 18px rgba(16,47,83,.025),0 0 0 38px rgba(16,47,83,.018)}
.jjp-coupon-card:first-child{background:linear-gradient(122deg,#102f53,#0b223d 66%,#173d67);color:#fff;border-color:#102f53}.jjp-coupon-grid--five>.jjp-coupon-card:nth-child(5){background:linear-gradient(120deg,#d7192d,#be1428);color:#fff;border-color:#d7192d}
.jjp-coupon-tagline{align-self:flex-start;margin:0;padding:5px 9px;border-radius:4px;background:#fde8eb;color:#a50e20;font-size:10px;font-weight:800;letter-spacing:.12em;line-height:1.4;text-transform:uppercase}
.jjp-coupon-subtitle{margin:0 0 10px;font-size:clamp(23px,2.25vw,31px);font-weight:800;line-height:1.12;letter-spacing:-.035em}
.jjp-coupon-body h3{margin:0;font-size:clamp(38px,4.5vw,66px);font-weight:800;line-height:1.1;letter-spacing:-.055em}
.jjp-coupon-description{max-width:360px;margin:9px 0 16px;font-size:14px;line-height:1.55}.jjp-coupon-fineprint{margin:0;font-size:11px;line-height:1.45;white-space:pre-line}
.jjp-coupon-card .jjp-builder-button{min-height:40px;padding:6px 12px;border:1px solid currentColor;border-radius:6px;background:transparent;color:inherit;font-size:11px}.jjp-coupon-card .jjp-builder-button-arrow{width:20px;height:20px;flex-basis:20px;border-radius:0;background:transparent;color:inherit}.jjp-coupon-card .jjp-builder-button:hover{background:rgba(128,128,128,.12)}
.jjp-image-cta{position:relative;isolation:isolate;display:block;min-width:0;min-height:380px;margin:0;border:1px solid rgba(16,47,83,.1);border-radius:15px;overflow:hidden;background:#102f53;color:#fff;text-decoration:none;box-shadow:0 10px 26px rgba(8,30,55,.12);transition:transform .22s ease,box-shadow .22s ease}
.jjp-image-cta img{position:absolute;z-index:-2;inset:0;display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.jjp-image-cta:hover img{transform:scale(1.045)}
.jjp-image-cta::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,rgba(5,20,38,.85),rgba(5,20,38,.04) 90%)}
.jjp-image-cta-copy{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;min-height:inherit;padding:22px;overflow-wrap:anywhere}.jjp-image-cta-copy p{margin:0 0 7px;color:#ffb2bb;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.jjp-image-cta-copy h3{margin:0;font-size:20px;font-weight:700;line-height:1.35}.jjp-image-cta-arrow{margin-top:12px}
@media(max-width:1000px){.jjp-coupons-heading{grid-template-columns:minmax(0,1fr);gap:12px}.jjp-coupon-grid--five{grid-template-columns:repeat(2,minmax(0,1fr))}.jjp-coupon-grid--five>:nth-child(n){grid-column:span 1}.jjp-coupon-grid--five>:first-child{grid-column:span 2}.jjp-coupon-card,.jjp-image-cta{min-height:340px}}
@media(max-width:860px){.jjp-blue-bar{padding-inline:18px}.jjp-blue-bar--overlap{margin-top:-50px}.jjp-blue-bar-items{grid-template-columns:repeat(2,minmax(0,1fr));padding:20px;min-height:180px}.jjp-blue-bar-item{padding:12px 18px;font-size:16px;border-right:1px solid #8290a0}.jjp-blue-bar-item:nth-child(2n){border-right:0}.jjp-blue-bar-item:nth-child(n+3){border-top:1px solid #8290a0}.jjp-blue-bar-item:only-child{grid-column:1/-1}.jjp-video-hero:has(+.jjp-blue-bar--overlap) .jjp-video-hero-toggle{bottom:70px}.jjp-page-slider-layout{grid-template-columns:minmax(0,1fr);gap:32px}.jjp-page-slider-intro h2{max-width:440px}.jjp-page-slide{flex-basis:calc(50% - 9px)}.jjp-page-links-grid{gap:16px}}
@media(max-width:760px){.jjp-page-links-grid{grid-template-columns:minmax(0,1fr)}.jjp-page-links-image{height:210px}.jjp-builder-section{padding-block:35px}}
@media(max-width:600px){.jjp-coupon-grid,.jjp-coupon-grid--five{grid-template-columns:minmax(0,1fr)}.jjp-coupon-grid--five>:nth-child(n){grid-column:1}.jjp-coupon-card{min-height:0;padding:22px}.jjp-image-cta{min-height:240px}.jjp-coupons{padding-block:44px}}
@media(max-width:520px){.jjp-blue-bar-items{padding:14px 10px}.jjp-blue-bar-item{font-size:14px;padding:12px 10px}.jjp-page-slide{flex-basis:calc(88% - 12px);min-height:410px}.jjp-page-slide-image{flex-basis:174px}.jjp-carousel-track{gap:14px}.jjp-page-links-content{padding:22px 18px}.jjp-page-slider-intro h2{font-size:34px}.jjp-builder-description{font-size:14px}.jjp-carousel-buttons button{width:38px;height:38px}}
@media(max-width:420px){.jjp-page-links-buttons{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.jjp-carousel-track{scroll-behavior:auto}.jjp-builder-section *{transition:none!important}.jjp-builder-section a:hover,.jjp-builder-section a:hover img,.jjp-carousel-buttons button:hover{transform:none}}
