.jbm-ppg,
.jbm-ppg * {
    box-sizing: border-box;
}

.jbm-ppg {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: visible;
    background: #ffffff;
    font-family: 'Lato', sans-serif;
    color: #273333;
}

.jbm-ppg__section {
    width: 100%;
    padding: 72px 40px 82px;
}

.jbm-ppg__section--technical {
    background: #f6f9f9;
    border-top: 1px solid #e1eaea;
}

.jbm-ppg__inner {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
}

.jbm-ppg__heading {
    max-width: 840px;
    margin: 0 auto 38px;
    text-align: center;
}

.jbm-ppg__eyebrow {
    margin: 0 0 11px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 1.7px;
    text-transform: uppercase;
    color: #168f92;
}

.jbm-ppg__title {
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(30px, 3vw, 42px) !important;
    line-height: 1.16 !important;
    font-weight: 700 !important;
    color: #162525 !important;
}

.jbm-ppg__line {
    width: 54px;
    height: 3px;
    margin: 20px auto;
    background: #29d8db;
}

.jbm-ppg__intro {
    max-width: 800px;
    margin: 0 auto !important;
    padding: 0 !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
    color: #4a5959 !important;
}

.jbm-ppg .jbm-guide,
.jbm-ppg .jbm-tech-guide {
    display: grid;
    gap: 14px;
    width: 100%;
    margin: 0;
}

.jbm-ppg .jbm-guide-item,
.jbm-ppg .jbm-tech-item {
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #d9e4e4;
    border-left: 4px solid #29d8db;
    border-radius: 4px;
    box-shadow: 0 6px 22px rgba(7, 31, 34, 0.04);
}

.jbm-ppg .jbm-guide-item.is-open,
.jbm-ppg .jbm-tech-item.is-open {
    border-color: #a9d9d9;
    border-left-color: #115f60;
    box-shadow: 0 10px 28px rgba(7, 31, 34, 0.08);
}

.jbm-ppg .jbm-guide-header,
.jbm-ppg .jbm-tech-header {
    width: 100%;
    min-height: 86px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 17px 20px 17px 18px;
    cursor: pointer;
    background: #ffffff;
    transition: background-color .18s ease;
}

.jbm-ppg .jbm-guide-header:hover,
.jbm-ppg .jbm-guide-header:focus-visible,
.jbm-ppg .jbm-tech-header:hover,
.jbm-ppg .jbm-tech-header:focus-visible {
    outline: none;
    background: #f2fbfb;
}

.jbm-ppg .is-open > .jbm-guide-header,
.jbm-ppg .is-open > .jbm-tech-header {
    background: #eef8f8;
    border-bottom: 1px solid #d9e7e7;
}

.jbm-ppg .jbm-guide-header-left,
.jbm-ppg .jbm-tech-header-left {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 18px;
}

.jbm-ppg .jbm-guide-number,
.jbm-ppg .jbm-tech-number {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #7fd7d8;
    border-radius: 50%;
    background: #f5ffff;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #115f60;
}

.jbm-ppg .jbm-guide-title,
.jbm-ppg .jbm-tech-title {
    margin: 0 0 5px;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: .15px;
    color: #173d3e;
}

.jbm-ppg .jbm-guide-subtitle,
.jbm-ppg .jbm-tech-subtitle {
    font-size: 14px;
    line-height: 1.45;
    color: #667575;
}

.jbm-ppg .jbm-guide-toggle,
.jbm-ppg .jbm-tech-toggle {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #87babb;
    border-radius: 50%;
    background: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-size: 22px;
    line-height: 1;
    font-weight: 400;
    color: #115f60;
}

.jbm-ppg .is-open > .jbm-guide-header .jbm-guide-toggle,
.jbm-ppg .is-open > .jbm-tech-header .jbm-tech-toggle {
    background: #115f60;
    border-color: #115f60;
    color: #ffffff;
}

.jbm-ppg .jbm-guide-content,
.jbm-ppg .jbm-tech-content {
    display: none;
    padding: 30px 32px 34px;
    background: #ffffff;
}

.jbm-ppg .jbm-guide-item.is-open > .jbm-guide-content,
.jbm-ppg .jbm-tech-item.is-open > .jbm-tech-content {
    display: block;
}

.jbm-ppg .jbm-guide-content h4,
.jbm-ppg .jbm-tech-content h4 {
    margin: 0 0 9px !important;
    padding: 0 !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 17px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    color: #153f40 !important;
}

.jbm-ppg .jbm-guide-content p,
.jbm-ppg .jbm-tech-content p {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    color: #465555 !important;
}

.jbm-ppg .jbm-intro,
.jbm-ppg .jbm-tech-intro {
    margin: 0 0 24px;
    padding: 0 0 22px;
    border-bottom: 1px solid #e2eaea;
}

.jbm-ppg .jbm-card-grid,
.jbm-ppg .jbm-tech-card-grid,
.jbm-ppg .jbm-stat-grid,
.jbm-ppg .jbm-tech-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 0 0 22px;
}

.jbm-ppg .jbm-card-grid.three,
.jbm-ppg .jbm-tech-card-grid.three,
.jbm-ppg .jbm-stat-grid,
.jbm-ppg .jbm-tech-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jbm-ppg .jbm-info-card,
.jbm-ppg .jbm-tech-card,
.jbm-ppg .jbm-stat,
.jbm-ppg .jbm-tech-stat {
    min-width: 0;
    padding: 20px;
    background: #f7fafa;
    border: 1px solid #dfe9e9;
    border-radius: 3px;
}

.jbm-ppg .jbm-card-line,
.jbm-ppg .jbm-tech-line {
    width: 34px;
    height: 2px;
    margin: 0 0 13px;
    background: #29d8db;
}

.jbm-ppg .jbm-stat,
.jbm-ppg .jbm-tech-stat {
    text-align: center;
}

.jbm-ppg .jbm-stat-value,
.jbm-ppg .jbm-tech-stat-value {
    margin: 0 0 7px;
    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    line-height: 1.15;
    font-weight: 700;
    color: #115f60;
}

.jbm-ppg .jbm-stat-label,
.jbm-ppg .jbm-tech-stat-label {
    font-size: 13px;
    line-height: 1.5;
    color: #596969;
}

.jbm-ppg .jbm-check-panel,
.jbm-ppg .jbm-tech-check-panel {
    margin: 0 0 22px;
    padding: 20px;
    background: #f2fafa;
    border: 1px solid #d5e8e8;
    border-radius: 3px;
}

.jbm-ppg .jbm-section-title,
.jbm-ppg .jbm-tech-section-title {
    margin: 0 0 14px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: .8px;
    text-transform: uppercase;
    color: #115f60;
}

.jbm-ppg .jbm-check-grid,
.jbm-ppg .jbm-tech-check-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 22px;
}

.jbm-ppg .jbm-check,
.jbm-ppg .jbm-tech-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    line-height: 1.5;
    color: #344444;
}

.jbm-ppg .jbm-check-icon,
.jbm-ppg .jbm-tech-check-icon {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #dff7f7;
    font-size: 11px;
    font-weight: 700;
    color: #115f60;
}

.jbm-ppg .jbm-notice,
.jbm-ppg .jbm-tech-notice {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 14px;
    margin: 0 0 22px;
    padding: 18px 20px;
    background: #fffaf0;
    border: 1px solid #eadfca;
    border-left: 3px solid #c99745;
}

.jbm-ppg .jbm-notice-icon,
.jbm-ppg .jbm-tech-notice-icon {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f3e1bd;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    color: #76541c;
}

.jbm-ppg .jbm-highlight,
.jbm-ppg .jbm-tech-highlight {
    margin: 0 0 22px;
    padding: 21px 22px;
    background: #0d4f50;
    border-left: 4px solid #29d8db;
    border-radius: 3px;
}

.jbm-ppg .jbm-highlight-label,
.jbm-ppg .jbm-tech-highlight-label {
    margin: 0 0 8px;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #77edef;
}

.jbm-ppg .jbm-highlight h4,
.jbm-ppg .jbm-tech-highlight h4,
.jbm-ppg .jbm-highlight p,
.jbm-ppg .jbm-tech-highlight p {
    color: #ffffff !important;
}

.jbm-ppg .jbm-flow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 22px;
}

.jbm-ppg .jbm-flow-step {
    padding: 18px 12px;
    text-align: center;
    background: #f2fafa;
    border: 1px solid #d7e8e8;
    border-radius: 3px;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    line-height: 1.45;
    font-weight: 700;
    color: #115f60;
}

.jbm-ppg .jbm-closing {
    padding: 18px 0 0;
    border-top: 1px solid #dfe8e8;
}

@media (max-width: 900px) {
    .jbm-ppg__section {padding: 62px 30px 70px}
    .jbm-ppg .jbm-card-grid.three,
    .jbm-ppg .jbm-tech-card-grid.three,
    .jbm-ppg .jbm-stat-grid,
    .jbm-ppg .jbm-tech-stat-grid {grid-template-columns: 1fr}
}

@media (max-width: 650px) {
    .jbm-ppg__section {padding: 48px 20px 56px}
    .jbm-ppg__heading {margin-bottom: 28px}
    .jbm-ppg__eyebrow {font-size: 12px}
    .jbm-ppg__title {font-size: 28px !important}
    .jbm-ppg__intro {font-size: 15px !important}
    .jbm-ppg .jbm-guide-header,
    .jbm-ppg .jbm-tech-header {min-height: 78px;gap: 12px;padding: 15px 14px 15px 12px}
    .jbm-ppg .jbm-guide-header-left,
    .jbm-ppg .jbm-tech-header-left {gap: 11px}
    .jbm-ppg .jbm-guide-number,
    .jbm-ppg .jbm-tech-number {width: 35px;height:35px;flex-basis:35px;font-size:10px}
    .jbm-ppg .jbm-guide-title,
    .jbm-ppg .jbm-tech-title {font-size:13px}
    .jbm-ppg .jbm-guide-subtitle,
    .jbm-ppg .jbm-tech-subtitle {font-size:12.5px}
    .jbm-ppg .jbm-guide-toggle,
    .jbm-ppg .jbm-tech-toggle {width:32px;height:32px;flex-basis:32px;font-size:19px}
    .jbm-ppg .jbm-guide-content,
    .jbm-ppg .jbm-tech-content {padding:24px 18px 28px}
    .jbm-ppg .jbm-card-grid,
    .jbm-ppg .jbm-tech-card-grid,
    .jbm-ppg .jbm-check-grid,
    .jbm-ppg .jbm-tech-check-grid {grid-template-columns:1fr}
    .jbm-ppg .jbm-flow {grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (prefers-reduced-motion: reduce) {
    .jbm-ppg .jbm-guide-header,
    .jbm-ppg .jbm-tech-header {transition:none}
}

/* =========================================
   V1.1 SEARCHABLE GUIDE LAYOUT
========================================= */
.jbm-ppg-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.jbm-ppg [hidden]{display:none!important}
.jbm-ppg__layout{width:100%;max-width:1536px;margin:0 auto;padding:82px 48px 88px;display:grid;grid-template-columns:300px minmax(0,1fr);gap:46px;align-items:start;background:#fff}
.jbm-ppg__content{min-width:0}
.jbm-ppg-tools{position:-webkit-sticky!important;position:sticky!important;top:28px;align-self:start;height:max-content;padding:26px 22px 24px;background:#f7f9f9;border:1px solid #dce8e8;border-top:4px solid #29d8db}
.jbm-ppg-tools__eyebrow{margin:0 0 7px;font:700 11px/1.2 'Montserrat',sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:#16888a}
.jbm-ppg-tools__title{margin:0 0 19px!important;padding:0!important;font:700 25px/1.2 'Montserrat',sans-serif!important;color:#172127!important}
.jbm-ppg-search{display:block}
.jbm-ppg-search__input{width:100%;height:47px;margin:0!important;padding:0 14px!important;border:1px solid #cbdada!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;font:400 14px/1 'Lato',sans-serif!important;color:#1f2d32!important}
.jbm-ppg-search__input:focus{border-color:#115f60!important;outline:2px solid rgba(41,216,219,.25)!important;outline-offset:0}
.jbm-ppg-search__row{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;font:700 11px/1.3 'Montserrat',sans-serif;color:#677679}
.jbm-ppg-search__clear{padding:3px 0!important;border:0!important;background:transparent!important;box-shadow:none!important;font:700 11px/1.3 'Montserrat',sans-serif!important;color:#115f60!important;text-decoration:underline;cursor:pointer}
.jbm-ppg-nav{margin-top:12px}
.jbm-ppg-nav__group+.jbm-ppg-nav__group{margin-top:23px;padding-top:21px;border-top:1px solid #dce8e8}
.jbm-ppg-nav__group-title{margin:0 0 9px;font:700 11px/1.35 'Montserrat',sans-serif;letter-spacing:1px;text-transform:uppercase;color:#66777a}
.jbm-ppg-nav__items{display:grid;gap:3px}
.jbm-ppg-nav__button{width:100%;min-height:41px;margin:0!important;padding:8px 9px!important;display:grid!important;grid-template-columns:27px minmax(0,1fr);gap:9px;align-items:center;border:0!important;border-left:3px solid transparent!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;text-align:left;cursor:pointer;color:#26363a!important}
.jbm-ppg-nav__button:hover,.jbm-ppg-nav__button:focus-visible,.jbm-ppg-nav__button.is-active{background:#eaf8f8!important;border-left-color:#29d8db!important;color:#0d5556!important}
.jbm-ppg-nav__number{font:700 10px/1 'Montserrat',sans-serif;color:#16888a}
.jbm-ppg-nav__label{font:700 11px/1.35 'Montserrat',sans-serif}
.jbm-ppg__section{padding:0!important;background:#fff!important}
.jbm-ppg__content>.jbm-ppg__heading{margin-bottom:38px!important}
.jbm-ppg__section--technical{border-top:0}
.jbm-ppg-transition{position:relative;width:100%;height:165px;margin:30px 0 38px!important;overflow:hidden;border:1px solid #dce8e8;background:#f7f9f9}
.jbm-ppg-transition::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(17,95,96,.12),rgba(41,216,219,.02) 42%,rgba(255,255,255,.04))}
.jbm-ppg-transition img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 47%}
.jbm-ppg__inner{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.jbm-ppg__heading{text-align:left!important;margin:0 0 34px!important}
.jbm-ppg__eyebrow{color:#16888a!important}
.jbm-ppg__line{margin:18px 0!important}
.jbm-ppg__intro{max-width:780px!important;margin:0!important}
.jbm-ppg .jbm-guide,.jbm-ppg .jbm-tech-guide{display:block!important;border-top:1px solid #dce8e8}
.jbm-ppg .jbm-guide-item,.jbm-ppg .jbm-tech-item{margin:0!important;border:0!important;border-bottom:1px solid #dce8e8!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;scroll-margin-top:28px}
.jbm-ppg .jbm-guide-header,.jbm-ppg .jbm-tech-header{min-height:86px;padding:18px 20px 18px 16px!important;border:0!important;border-radius:0!important;background:#fff!important;color:#172127!important}
.jbm-ppg .jbm-guide-header:hover,.jbm-ppg .jbm-tech-header:hover,.jbm-ppg .jbm-guide-header:focus-visible,.jbm-ppg .jbm-tech-header:focus-visible,.jbm-ppg .is-open>.jbm-guide-header,.jbm-ppg .is-open>.jbm-tech-header{background:#eaf8f8!important;color:#172127!important;outline:none}
.jbm-ppg .jbm-guide-number,.jbm-ppg .jbm-tech-number{background:#115f60!important;border-color:#115f60!important;color:#fff!important;border-radius:3px!important}
.jbm-ppg .jbm-guide-title,.jbm-ppg .jbm-tech-title{color:#172127!important}
.jbm-ppg .jbm-guide-subtitle,.jbm-ppg .jbm-tech-subtitle{color:#5b696c!important}
.jbm-ppg .jbm-guide-toggle,.jbm-ppg .jbm-tech-toggle{background:#fff!important;border-color:#9fbcbc!important;color:#115f60!important}
.jbm-ppg .is-open>.jbm-guide-header .jbm-guide-toggle,.jbm-ppg .is-open>.jbm-tech-header .jbm-tech-toggle{background:#115f60!important;border-color:#115f60!important;color:#fff!important}
.jbm-ppg .jbm-guide-content,.jbm-ppg .jbm-tech-content{padding:31px 28px 36px!important;border-top:1px solid #dce8e8!important;background:#f7f9f9!important}
.jbm-ppg-no-results{padding:35px;border:1px solid #dce8e8;border-left:4px solid #29d8db;background:#f7f9f9;color:#39484b}
.jbm-ppg-no-results strong,.jbm-ppg-no-results span{display:block}
.jbm-ppg-no-results strong{margin-bottom:7px;font:700 18px/1.3 'Montserrat',sans-serif;color:#172127}
.jbm-ppg-no-results span{font:400 15px/1.6 'Lato',sans-serif}
.jbm-ppg-support{width:calc(100% - 96px);max-width:1440px;margin:0 auto 88px;padding:32px 34px;display:grid;grid-template-columns:minmax(240px,.9fr) minmax(300px,1.25fr) auto;gap:30px;align-items:center;background:#f2fafa;border:1px solid #d8eaea;border-left:5px solid #29d8db}
.jbm-ppg-support__eyebrow{display:block;margin-bottom:6px;font:700 11px/1.2 'Montserrat',sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:#16888a}
.jbm-ppg-support__title{margin:0!important;padding:0!important;font:700 24px/1.25 'Montserrat',sans-serif!important;color:#172127!important}
.jbm-ppg-support__text{margin:0!important;font:400 15px/1.65 'Lato',sans-serif!important;color:#465558!important}
.jbm-ppg-support__button{min-height:50px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:14px;background:#115f60;color:#fff!important;font:700 12px/1.2 'Montserrat',sans-serif;text-transform:uppercase;text-decoration:none!important;white-space:nowrap}
.jbm-ppg-support__button:hover{background:#0b4748;color:#fff!important}
@media(max-width:1100px){.jbm-ppg__layout{padding:65px 30px 75px;grid-template-columns:1fr;gap:46px}.jbm-ppg-tools{position:static}.jbm-ppg-nav__items{grid-template-columns:repeat(2,minmax(0,1fr))}.jbm-ppg-support{width:calc(100% - 60px);grid-template-columns:1fr 1fr}.jbm-ppg-support__button{grid-column:1/-1;justify-self:start}}
@media(max-width:700px){.jbm-ppg__layout{padding:48px 20px 58px;gap:38px}.jbm-ppg-tools{padding:22px 18px}.jbm-ppg-nav__items{grid-template-columns:1fr}.jbm-ppg-transition{height:125px;margin:24px 0 30px!important}.jbm-ppg .jbm-guide-content,.jbm-ppg .jbm-tech-content{padding:25px 17px 29px!important}.jbm-ppg-support{width:calc(100% - 40px);margin-bottom:58px;padding:27px 22px;grid-template-columns:1fr;gap:18px}.jbm-ppg-support__button{width:100%;justify-self:stretch}.jbm-ppg-support__title{font-size:21px!important}}
