body.jp-homepage{
  --jph-ink:#163047;
  --jph-blue:#2F6EA3;
  --jph-body:#4D6474;
  --jph-quiet:#6F8190;
  --jph-warm:#FFFDF9;
  --jph-white:#FFFFFF;
  --jph-cream:#FCFAF6;
  --jph-stone:#E4DDD3;
  --jph-pale:#F7FBFF;
  --jph-line:rgba(22,48,71,.13);
  --jph-shadow:0 28px 70px rgba(22,48,71,.12);
  margin:0;
  color:var(--jph-ink);
  background:var(--jph-warm);
  -webkit-font-smoothing:antialiased;
}
.jp-home-main,.jp-home-footer{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
.jp-home-main *,.jp-home-main *::before,.jp-home-main *::after,.jp-home-footer *,.jp-home-footer *::before,.jp-home-footer *::after{box-sizing:border-box;}
.jp-home-main{overflow-x:clip;background:var(--jph-warm);}
.jp-home-main a:focus-visible,.jp-home-footer a:focus-visible{outline:3px solid rgba(47,110,163,.30);outline-offset:3px;}
.jp-home-main .jp-home-shell,.jp-home-footer .jp-home-shell{width:min(1160px,calc(100% - 48px));margin:0 auto;}
.jp-home-main .jp-home-primary-cta{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:14px 25px;border:1px solid var(--jph-blue);border-radius:2px;background:var(--jph-blue);color:#fff!important;font-size:16px;font-weight:750;text-decoration:none!important;transition:transform 150ms ease,background 150ms ease,box-shadow 150ms ease;}
.jp-home-main .jp-home-primary-cta:hover,.jp-home-main .jp-home-primary-cta:focus{border-color:#245c8a;background:#245c8a;color:#fff!important;box-shadow:0 12px 30px rgba(47,110,163,.22);transform:translateY(-1px);}

/* Hero: one display moment + the real JPDrills Fuji outcome frame. */
.jp-home-main .jp-home-hero{position:relative;min-height:650px;display:flex;align-items:stretch;overflow:hidden;background:#dfe8ed;}
.jp-home-main .jp-home-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;transform:scale(1.015);}
.jp-home-main .jp-home-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,253,249,.98) 0%,rgba(255,253,249,.94) 33%,rgba(255,253,249,.61) 53%,rgba(255,253,249,.08) 79%),linear-gradient(180deg,rgba(22,48,71,.02) 55%,rgba(22,48,71,.22) 100%);}
.jp-home-main .jp-home-hero-inner{position:relative;z-index:2;width:100%;display:flex;align-items:center;padding:74px 0 82px;}
.jp-home-main .jp-home-hero-copy{width:min(650px,60%);}
.jp-home-main .jp-home-cohort{margin:0 0 17px;color:var(--jph-blue);font-size:14px;font-weight:720;letter-spacing:.025em;line-height:1.45;}
.jp-home-main .jp-home-hero h1{max-width:650px;margin:0;color:var(--jph-ink);font-size:clamp(56px,4.8vw,62px);font-weight:690;letter-spacing:-.045em;line-height:1.01;}
.jp-home-main .jp-home-hero-lead{max-width:640px;margin:25px 0 0;color:var(--jph-body);font-size:18px;line-height:1.72;}
.jp-home-main .jp-home-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:30px;}
.jp-home-main .jp-home-hero-note{max-width:230px;color:var(--jph-quiet);font-size:13px;line-height:1.5;}

/* Shared editorial hierarchy: deliberately smaller than hero/conclusion. */
.jp-home-main h2{margin:0;color:var(--jph-ink);font-size:clamp(32px,3vw,37px);font-weight:670;letter-spacing:-.032em;line-height:1.12;}
.jp-home-main p{color:var(--jph-body);}
.jp-home-main .jp-home-label,.jp-home-main .jp-home-direction-label{margin:0 0 12px;color:var(--jph-blue);font-size:13px;font-weight:750;letter-spacing:.04em;line-height:1.4;}

/* Actual practice / explanation proof. */
.jp-home-main .jp-home-proof{padding:104px 0 110px;background:var(--jph-white);}
.jp-home-main .jp-home-proof-grid{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(560px,1.28fr);gap:70px;align-items:center;}
.jp-home-main .jp-home-proof-copy p{margin:21px 0 0;font-size:17px;line-height:1.78;}
.jp-home-main .jp-home-proof-note{padding-top:18px;border-top:1px solid var(--jph-stone);color:var(--jph-quiet)!important;font-size:13px!important;line-height:1.65!important;}
.jp-home-main .jp-home-practice-capture{margin:0;padding:18px;border:1px solid #d9e5ee;background:var(--jph-pale);box-shadow:var(--jph-shadow);}
.jp-home-main .jp-home-practice-capture img{display:block;max-width:100%;height:auto;border:1px solid #d8e3eb;background:#fff;}
.jp-home-main .jp-home-practice-capture-desktop{width:100%;}
.jp-home-main .jp-home-practice-capture-mobile{display:none;width:100%;}
.jp-home-main .jp-home-practice-capture figcaption{margin:12px 2px 0;color:var(--jph-quiet);font-size:12px;line-height:1.5;}

/* FSRS: factual comparison, no hype card wall. */
.jp-home-main .jp-home-fsrs{padding:96px 0 92px;background:var(--jph-cream);}
.jp-home-main .jp-home-section-intro-row{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:72px;align-items:start;}
.jp-home-main .jp-home-fsrs-copy p{margin:0 0 18px;font-size:17px;line-height:1.78;}
.jp-home-main .jp-home-review-compare{margin-top:46px;border-top:1px solid var(--jph-stone);}
.jp-home-main .jp-home-review-row{display:grid;grid-template-columns:minmax(190px,.42fr) minmax(0,1fr);gap:34px;padding:24px 0;border-bottom:1px solid var(--jph-stone);align-items:baseline;}
.jp-home-main .jp-home-review-row strong{color:var(--jph-ink);font-size:15px;font-weight:750;}
.jp-home-main .jp-home-review-row span{color:var(--jph-body);font-size:15px;line-height:1.65;}
.jp-home-main .jp-home-review-row--current strong{color:var(--jph-blue);}

/* Current capabilities: large editorial rows, not a feature wall. */
.jp-home-main .jp-home-capabilities{background:var(--jph-white);}
.jp-home-main .jp-home-capability-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(330px,1.1fr);gap:72px;align-items:center;padding:88px 0;border-bottom:1px solid var(--jph-stone);}
.jp-home-main .jp-home-capability-row--reverse{grid-template-columns:minmax(560px,1.25fr) minmax(300px,.75fr);gap:56px;}
.jp-home-main .jp-home-capability-row--reverse .jp-home-capability-copy{order:2;}
.jp-home-main .jp-home-capability-row--reverse .jp-home-strength-capture{order:1;}
.jp-home-main .jp-home-capability-copy h2,.jp-home-main .jp-home-explanation-callout h2{font-size:clamp(28px,2.5vw,32px);}
.jp-home-main .jp-home-capability-copy p{margin:18px 0 0;font-size:17px;line-height:1.78;}
.jp-home-main .jp-home-pacing-visual{border-top:1px solid #d8e4ec;border-bottom:1px solid #d8e4ec;background:var(--jph-pale);}
.jp-home-main .jp-home-pacing-visual div{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:23px 24px;border-bottom:1px solid #d8e4ec;}
.jp-home-main .jp-home-pacing-visual div:last-child{border-bottom:0;}
.jp-home-main .jp-home-pacing-visual span{color:var(--jph-quiet);font-size:14px;line-height:1.5;}
.jp-home-main .jp-home-pacing-visual strong{color:var(--jph-blue);font-size:14px;font-weight:750;text-align:right;}
.jp-home-main .jp-home-strength-capture{margin:0;padding:14px;border:1px solid #d9e5ee;background:var(--jph-pale);box-shadow:0 20px 48px rgba(22,48,71,.09);}
.jp-home-main .jp-home-strength-capture img{display:block;max-width:100%;height:auto;border:1px solid #d8e3eb;background:#fff;}
.jp-home-main .jp-home-strength-capture-desktop{width:100%;}
.jp-home-main .jp-home-strength-capture-mobile{display:none;width:100%;}
.jp-home-main .jp-home-explanation-callout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:72px;align-items:start;padding:68px 0 76px;}
.jp-home-main .jp-home-explanation-callout p{margin:2px 0 0;font-size:16px;line-height:1.75;}

/* Future bridge: explicitly direction, no speculative UI. */
.jp-home-main .jp-home-future{padding:92px 0;background:var(--jph-pale);}
.jp-home-main .jp-home-future-grid{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:78px;align-items:start;}
.jp-home-main .jp-home-future-grid p{margin:0 0 18px;font-size:17px;line-height:1.78;}

/* Product fit: one quiet trust/fit statement. */
.jp-home-main .jp-home-fit{padding:72px 0 78px;background:var(--jph-warm);}
.jp-home-main .jp-home-fit-grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:74px;align-items:start;padding-top:28px;border-top:1px solid var(--jph-stone);}
.jp-home-main .jp-home-fit-grid h2{font-size:30px;}
.jp-home-main .jp-home-fit-grid p{margin:0;font-size:16px;line-height:1.78;}

/* Philosophy: story first, earned display conclusion second. */
.jp-home-main .jp-home-philosophy{position:relative;padding:100px 0 108px;overflow:hidden;background:linear-gradient(120deg,#10283c 0%,#163047 55%,#1d4668 100%);color:#fff;}
.jp-home-main .jp-home-philosophy::after{content:"";position:absolute;width:560px;height:560px;right:-180px;top:-280px;border-radius:50%;background:rgba(47,110,163,.22);}
.jp-home-main .jp-home-philosophy-inner{position:relative;z-index:1;max-width:900px;}
.jp-home-main .jp-home-philosophy h2{max-width:760px;color:#fff;font-size:clamp(32px,3.1vw,38px);font-weight:620;letter-spacing:-.03em;line-height:1.15;}
.jp-home-main .jp-home-philosophy-story{max-width:720px;margin-top:30px;}
.jp-home-main .jp-home-philosophy-story p{margin:0 0 17px;color:rgba(247,251,255,.84);font-size:17px;line-height:1.78;}
.jp-home-main .jp-home-philosophy-conclusion{max-width:840px;margin-top:54px;padding-top:38px;border-top:1px solid rgba(255,255,255,.18);color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(46px,4.8vw,54px);font-weight:500;letter-spacing:-.035em;line-height:1.08;}
.jp-home-main .jp-home-philosophy-role{max-width:720px;margin:30px 0 0;color:rgba(247,251,255,.86);font-size:16px;line-height:1.78;}
.jp-home-main .jp-home-philosophy-invite{margin:24px 0 0;color:#d7e6f1;font-size:17px;font-weight:650;line-height:1.65;}

.jp-home-main .jp-home-final{padding:72px 0 82px;border-top:1px solid var(--jph-stone);background:var(--jph-cream);text-align:center;}
.jp-home-main .jp-home-final h2{font-size:30px;}
.jp-home-main .jp-home-final p{max-width:590px;margin:17px auto 27px;font-size:16px;line-height:1.72;}

.jp-home-footer{padding:46px 0 54px;border-top:1px solid #E4DDD3;background:#FCFAF6;color:#163047;}
.jp-home-footer .jp-home-footer-grid{display:grid;grid-template-columns:minmax(220px,1.45fr) repeat(3,minmax(120px,.7fr));gap:36px;}
.jp-home-footer .jp-home-footer-brand img{width:54px;height:auto;}
.jp-home-footer .jp-home-footer-brand p{max-width:300px;margin:13px 0 0;color:#6F8190;font-size:13px;line-height:1.65;}
.jp-home-footer h3{margin:0 0 13px;color:#163047;font-size:12px;font-weight:780;letter-spacing:.06em;text-transform:uppercase;}
.jp-home-footer ul{margin:0;padding:0;list-style:none;}.jp-home-footer li{margin:0 0 9px;}
.jp-home-footer a{color:#4D6474;font-size:13px;text-decoration:none;}.jp-home-footer a:hover,.jp-home-footer a:focus{color:#163047;text-decoration:underline;}

@media(max-width:991px){
  .jp-home-main .jp-home-shell,.jp-home-footer .jp-home-shell{width:min(100% - 38px,1160px);}
  .jp-home-main .jp-home-hero{min-height:620px;}
  .jp-home-main .jp-home-hero::before{background:linear-gradient(90deg,rgba(255,253,249,.98) 0%,rgba(255,253,249,.89) 48%,rgba(255,253,249,.30) 76%),linear-gradient(180deg,rgba(22,48,71,.02) 52%,rgba(22,48,71,.24) 100%);}
  .jp-home-main .jp-home-hero-copy{width:68%;}
  .jp-home-main .jp-home-proof-grid,.jp-home-main .jp-home-section-intro-row,.jp-home-main .jp-home-capability-row,.jp-home-main .jp-home-explanation-callout,.jp-home-main .jp-home-future-grid,.jp-home-main .jp-home-fit-grid{grid-template-columns:1fr;gap:38px;}
  .jp-home-main .jp-home-capability-row--reverse{grid-template-columns:1fr;gap:38px;}
  .jp-home-main .jp-home-capability-row--reverse .jp-home-capability-copy,.jp-home-main .jp-home-capability-row--reverse .jp-home-strength-capture{order:initial;}
  .jp-home-main .jp-home-proof-copy,.jp-home-main .jp-home-fsrs-copy,.jp-home-main .jp-home-capability-copy{max-width:760px;}
  .jp-home-footer .jp-home-footer-grid{grid-template-columns:1.4fr 1fr 1fr;}
  .jp-home-footer .jp-home-footer-brand{grid-column:1/-1;}
}

@media(max-width:640px){
  .jp-home-main{overflow-x:clip;}
  .jp-home-main .jp-home-shell,.jp-home-footer .jp-home-shell{width:calc(100% - 28px);}
  .jp-home-main .jp-home-hero{min-height:0;display:block;background:var(--jph-warm);overflow:visible;padding-top:190px;}
  .jp-home-main .jp-home-hero-image{height:220px;object-position:64% 50%;transform:none;}
  .jp-home-main .jp-home-hero::before{height:220px;background:linear-gradient(180deg,rgba(22,48,71,.03) 38%,rgba(255,253,249,.17) 72%,var(--jph-warm) 100%);}
  .jp-home-main .jp-home-hero-inner{padding:24px 0 52px;background:var(--jph-warm);}
  .jp-home-main .jp-home-hero-copy{width:100%;}
  .jp-home-main .jp-home-cohort{margin-bottom:12px;font-size:13px;}
  .jp-home-main .jp-home-hero h1{font-size:39px;line-height:1.03;letter-spacing:-.04em;}
  .jp-home-main .jp-home-hero-lead{margin-top:18px;font-size:16px;line-height:1.58;}
  .jp-home-main .jp-home-hero-actions{align-items:stretch;flex-direction:column;margin-top:24px;}
  .jp-home-main .jp-home-primary-cta{width:100%;}
  .jp-home-main .jp-home-hero-note{text-align:center;max-width:none;}
  .jp-home-main h2{font-size:28px;line-height:1.14;}
  .jp-home-main .jp-home-proof,.jp-home-main .jp-home-fsrs,.jp-home-main .jp-home-future{padding:68px 0 72px;}
  .jp-home-main .jp-home-proof-grid,.jp-home-main .jp-home-section-intro-row,.jp-home-main .jp-home-capability-row,.jp-home-main .jp-home-explanation-callout,.jp-home-main .jp-home-future-grid,.jp-home-main .jp-home-fit-grid{gap:28px;}
  .jp-home-main .jp-home-proof-copy p,.jp-home-main .jp-home-fsrs-copy p,.jp-home-main .jp-home-capability-copy p,.jp-home-main .jp-home-future-grid p{font-size:16px;line-height:1.7;}
  .jp-home-main .jp-home-practice-capture{margin-left:-14px;margin-right:-14px;padding:8px;box-shadow:0 18px 42px rgba(22,48,71,.10);}
  .jp-home-main .jp-home-practice-capture img.jp-home-practice-capture-desktop{display:none;}
  .jp-home-main .jp-home-practice-capture img.jp-home-practice-capture-mobile{display:block;width:100%;margin:0 auto;}
  .jp-home-main .jp-home-practice-capture figcaption{padding:0 6px;}
  .jp-home-main .jp-home-review-compare{margin-top:34px;}
  .jp-home-main .jp-home-review-row{grid-template-columns:1fr;gap:6px;padding:20px 0;}
  .jp-home-main .jp-home-capability-row{padding:64px 0;}
  .jp-home-main .jp-home-capability-copy h2,.jp-home-main .jp-home-explanation-callout h2{font-size:25px;}
  .jp-home-main .jp-home-pacing-visual div{grid-template-columns:1fr;gap:6px;padding:20px 18px;}
  .jp-home-main .jp-home-pacing-visual strong{text-align:left;}
  .jp-home-main .jp-home-strength-capture{margin-left:-14px;margin-right:-14px;padding:8px;}
  .jp-home-main .jp-home-strength-capture img.jp-home-strength-capture-desktop{display:none;}
  .jp-home-main .jp-home-strength-capture img.jp-home-strength-capture-mobile{display:block;width:100%;margin:0 auto;}
  .jp-home-main .jp-home-explanation-callout{padding:54px 0 60px;}
  .jp-home-main .jp-home-fit{padding:58px 0 62px;}
  .jp-home-main .jp-home-fit-grid{padding-top:22px;}
  .jp-home-main .jp-home-fit-grid h2{font-size:27px;}
  .jp-home-main .jp-home-philosophy{padding:76px 0 82px;}
  .jp-home-main .jp-home-philosophy h2{font-size:28px;}
  .jp-home-main .jp-home-philosophy-story{margin-top:24px;}
  .jp-home-main .jp-home-philosophy-story p{font-size:16px;line-height:1.72;}
  .jp-home-main .jp-home-philosophy-conclusion{margin-top:42px;padding-top:30px;font-size:35px;line-height:1.09;}
  .jp-home-main .jp-home-philosophy-role{font-size:16px;line-height:1.72;}
  .jp-home-main .jp-home-philosophy-invite{font-size:16px;}
  .jp-home-main .jp-home-final{padding:60px 0 68px;}
  .jp-home-main .jp-home-final h2{font-size:27px;}
  .jp-home-footer .jp-home-footer-grid{grid-template-columns:1fr 1fr;gap:28px 22px;}
  .jp-home-footer .jp-home-footer-brand{grid-column:1/-1;}
}

@media(max-width:390px){
  .jp-home-footer{padding-bottom:44px;}
  .jp-home-footer .jp-home-footer-grid{gap:24px 18px;}
  .jp-home-footer a{font-size:12.5px;}
}

@media(prefers-reduced-motion:reduce){.jp-home-main .jp-home-primary-cta{transition:none;}}
