:root{--jpi-ink:#182127;--jpi-night:#11191d;--jpi-gold:#e6b95c;--jpi-lotus:#c44736;--jpi-paper:#faf6ed;--jpi-mist:#f1f3ef;--jpi-line:#d9deea;--jpi-muted:#596268}.jpi-page{background:#fff;color:var(--jpi-ink);font-family:inherit;line-height:1.85;overflow:hidden}.jpi-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.jpi-crumb{background:#fff;border-bottom:1px solid var(--jpi-line);font-size:.88rem}.jpi-crumb .jpi-shell{display:flex;gap:10px;padding-block:13px;align-items:center}.jpi-crumb a{color:#4a536a}.jpi-hero{background:radial-gradient(circle at 15% 10%,rgba(214,75,115,.2),transparent 28%),linear-gradient(135deg,#142127,#2c3c3a);color:#fff;padding:80px 0 70px}.jpi-hero__grid{display:grid;grid-template-columns:1.25fr .75fr;gap:58px;align-items:center}.jpi-kicker{color:#b77b00!important;font-size:.78rem!important;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px!important}.jpi-hero .jpi-kicker,.jpi-plan--dark .jpi-kicker,.jpi-final .jpi-kicker{color:var(--jpi-gold)!important}.jpi-hero h1{font-size:clamp(2.4rem,5.7vw,5.3rem);line-height:1.03;letter-spacing:-.04em;margin:0 0 24px;color:#fff!important;max-width:850px}.jpi-lead{font-size:1.17rem;max-width:760px;color:#e8ebf5!important}.jpi-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.jpi-btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:999px;font-weight:800;text-decoration:none!important;min-height:48px}.jpi-btn--gold{background:var(--jpi-gold);color:#17221f!important}.jpi-btn--ghost{border:1px solid rgba(255,255,255,.5);color:#fff!important}.jpi-meta{display:flex;gap:22px;flex-wrap:wrap;padding:0;margin:22px 0 0;list-style:none;color:#cdd3e4}.jpi-map{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);border-radius:28px;padding:28px;box-shadow:0 25px 70px rgba(0,0,0,.25)}.jpi-map__tag{font-weight:900;color:var(--jpi-gold);letter-spacing:.12em;margin-bottom:22px}.jpi-map ol{list-style:none;margin:0;padding:0}.jpi-map li{display:grid;grid-template-columns:62px 1fr;gap:18px;position:relative;padding:0 0 28px}.jpi-map li:not(:last-child):after{content:"";position:absolute;right:30px;top:58px;height:calc(100% - 40px);border-right:2px dashed rgba(244,185,66,.5)}.jpi-map li>span{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--jpi-gold);color:#17221f;font-size:.8rem;font-weight:900;line-height:1.1;text-align:center}.jpi-map b{font-size:1.12rem;color:#fff}.jpi-map small{display:block;color:#cbd1e0}.jpi-map p{color:#cbd1e0!important;margin:5px 0 0!important}.jpi-summary{margin-top:-26px;position:relative;z-index:2}.jpi-summary__grid{display:grid;grid-template-columns:1fr 1fr .82fr;box-shadow:0 18px 50px rgba(24,33,61,.12);border-radius:22px;overflow:hidden}.jpi-summary article,.jpi-summary aside{padding:28px;background:#fff}.jpi-summary article+article,.jpi-summary aside{border-right:1px solid var(--jpi-line)}.jpi-summary span{color:var(--jpi-lotus);font-weight:900;font-size:.78rem}.jpi-summary h2{font-size:1.42rem;margin:4px 0;color:var(--jpi-ink)!important}.jpi-summary p{color:var(--jpi-muted)!important;margin:8px 0!important}.jpi-summary a{color:#a93628;font-weight:800}.jpi-summary aside{background:var(--jpi-paper)}.jpi-section{padding:92px 0}.jpi-section:nth-of-type(even){background:var(--jpi-mist)}.jpi-heading{max-width:820px;margin-bottom:34px}.jpi-heading--split{max-width:none;display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:end}.jpi-heading h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1.1;letter-spacing:-.035em;margin:0 0 15px;color:var(--jpi-ink)!important}.jpi-heading p{color:var(--jpi-muted)!important}.jpi-builder{background:var(--jpi-paper)!important}.jpi-builder__form{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.jpi-builder fieldset{border:1px solid #e0d4bc;border-radius:16px;padding:18px;background:#fff}.jpi-builder legend{font-weight:900;padding:0 7px}.jpi-builder label{display:block;padding:7px 0;cursor:pointer}.jpi-builder input{accent-color:var(--jpi-lotus);margin-left:6px}.jpi-builder__result{margin-top:22px;padding:26px;border-radius:18px;background:var(--jpi-night);color:#fff;border-right:6px solid var(--jpi-gold)}.jpi-builder__result span{color:var(--jpi-gold);font-weight:900}.jpi-builder__result h3{color:#fff!important;font-size:1.55rem;margin:5px 0}.jpi-builder__result p{color:#d8ddeb!important;margin:0!important}.jpi-days{display:grid;gap:14px;position:relative}.jpi-days:before{content:"";position:absolute;right:39px;top:45px;bottom:45px;border-right:2px dashed #c6cad6}.jpi-days article{display:grid;grid-template-columns:82px 1fr;gap:24px;position:relative}.jpi-days article>span{height:82px;width:82px;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--jpi-ink);color:#fff;font-weight:900;font-size:.77rem;z-index:1}.jpi-days article>div{background:#fff;border:1px solid var(--jpi-line);border-radius:18px;padding:22px 26px}.jpi-days article.is-transfer>span{background:var(--jpi-lotus)}.jpi-days h3{margin:0 0 5px;color:var(--jpi-ink)!important;font-size:1.3rem}.jpi-days p{color:var(--jpi-muted)!important;margin:0!important}.jpi-days small{display:block;color:#9d382c;font-weight:800;margin-top:9px}.jpi-plan--dark{background:var(--jpi-night)!important;color:#fff}.jpi-plan--dark .jpi-heading h2,.jpi-plan--dark .jpi-heading p{color:#fff!important}.jpi-variants{display:grid;grid-template-columns:1fr 1fr;gap:22px}.jpi-variants article{background:#fff;color:var(--jpi-ink);border-radius:22px;padding:30px}.jpi-variants>article>span{color:#a93628;font-weight:900}.jpi-variants h3{font-size:1.5rem;color:var(--jpi-ink)!important}.jpi-variants li{padding:6px 0;border-bottom:1px solid #edf0f5}.jpi-variants p{color:var(--jpi-muted)!important}.jpi-stay,.jpi-fit__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.jpi-stay article,.jpi-fit__grid article{border:1px solid var(--jpi-line);border-radius:18px;padding:24px;background:#fff}.jpi-stay span{font-weight:900;color:var(--jpi-lotus);letter-spacing:.1em}.jpi-stay h3,.jpi-fit h3{color:var(--jpi-ink)!important}.jpi-stay p,.jpi-fit p{color:var(--jpi-muted)!important}.jpi-table-wrap{overflow:auto;border-radius:18px;border:1px solid var(--jpi-line)}.jpi-table-wrap table{width:100%;min-width:720px;border-collapse:collapse;background:#fff}.jpi-table-wrap th{background:var(--jpi-night);color:#fff;text-align:right}.jpi-table-wrap th,.jpi-table-wrap td{padding:16px;border-bottom:1px solid var(--jpi-line)}.jpi-weather{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.jpi-weather article{padding:24px;background:var(--jpi-paper);border-radius:18px}.jpi-weather h3{color:var(--jpi-ink)!important}.jpi-weather p{color:var(--jpi-muted)!important}.jpi-weather a{color:#8e3227;font-weight:800}.jpi-mistakes{margin-top:22px;background:var(--jpi-night);color:#fff;border-radius:20px;padding:28px}.jpi-mistakes h3{color:var(--jpi-gold)!important}.jpi-mistakes ul{columns:2;gap:36px}.jpi-mistakes li{margin-bottom:8px}.jpi-faq__grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:60px}.jpi-faq details{border-bottom:1px solid var(--jpi-line);padding:18px 0}.jpi-faq summary{font-weight:900;cursor:pointer;display:flex;justify-content:space-between;gap:20px;list-style:none}.jpi-faq summary span:before{content:"+";font-size:1.5rem;color:var(--jpi-lotus)}.jpi-faq details[open] summary span:before{content:"−"}.jpi-faq details p{color:var(--jpi-muted)!important}.jpi-faq a{color:#8e3227}.jpi-sources{background:var(--jpi-paper)!important}.jpi-sources__grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.jpi-sources h2{color:var(--jpi-ink)!important}.jpi-sources p{color:var(--jpi-muted)!important}.jpi-sources__grid>div:last-child{display:grid;gap:10px}.jpi-sources a{display:block;padding:12px 16px;border:1px solid #e5d5b6;border-radius:12px;background:#fff;color:#7c332b;font-weight:800}.jpi-final{background:linear-gradient(130deg,#0f1731,#354a43);color:#fff;padding:70px 0}.jpi-final__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:45px;align-items:center}.jpi-final h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;color:#fff!important}.jpi-final p{color:#e0e5f1!important}.jpi-final__grid>div:last-child{display:flex;gap:13px;flex-wrap:wrap;align-items:center}.jpi-final__grid>div:last-child>a:not(.jpi-btn){color:#fff;text-decoration:underline}.jpi-review{min-height:65vh;display:grid;place-items:center;padding:60px 20px;background:var(--jpi-mist)}.jpi-review__card{max-width:720px;background:#fff;padding:50px;border-radius:22px;box-shadow:0 20px 60px rgba(0,0,0,.1);text-align:center}.jpi-review h1{color:var(--jpi-ink)!important}.jpi-review p{color:var(--jpi-muted)!important}@media(max-width:900px){.jpi-hero__grid,.jpi-heading--split,.jpi-faq__grid,.jpi-sources__grid,.jpi-final__grid{grid-template-columns:1fr}.jpi-summary__grid{grid-template-columns:1fr}.jpi-summary article+article,.jpi-summary aside{border-right:0;border-top:1px solid var(--jpi-line)}.jpi-builder__form,.jpi-stay,.jpi-fit__grid{grid-template-columns:1fr 1fr}.jpi-variants,.jpi-weather{grid-template-columns:1fr}.jpi-hero{padding-top:55px}.jpi-section{padding:68px 0}}@media(max-width:560px){.jpi-shell{width:min(100% - 26px,1180px)}.jpi-hero h1{font-size:2.45rem}.jpi-builder__form,.jpi-stay,.jpi-fit__grid{grid-template-columns:1fr}.jpi-days:before{right:24px}.jpi-days article{grid-template-columns:52px 1fr;gap:12px}.jpi-days article>span{width:52px;height:52px;font-size:.65rem}.jpi-days article>div{padding:18px}.jpi-mistakes ul{columns:1}.jpi-meta{gap:10px}.jpi-summary{margin-top:0}}
.jpi-meta li{color:#cdd3e4!important}
/* Legacy-theme specificity guard. */
body main.jpi-page h1,body main.jpi-page h2,body main.jpi-page h3,body main.jpi-page b,body main.jpi-page strong{font-family:inherit}body main.jpi-page .jpi-hero h1,body main.jpi-page .jpi-hero b,body main.jpi-page .jpi-plan--dark h2,body main.jpi-page .jpi-final h2{color:#fff!important}body main.jpi-page .jpi-hero p,body main.jpi-page .jpi-plan--dark p,body main.jpi-page .jpi-final p{color:#e8ebf5!important}

/* Contrast and component corrections after live visual review. */
.jpi-btn--red{background:var(--jpi-lotus);color:#fff!important;box-shadow:0 8px 24px rgba(196,71,54,.25)}
body main.jpi-page .jpi-plan--dark .jpi-variants article p{color:var(--jpi-muted)!important}
body main.jpi-page .jpi-mistakes li{color:#f3f5f1!important}
body main.jpi-page .jpi-final__grid>div:last-child>a:not(.jpi-btn){color:#fff!important}

