/* JPW homepage v2 — inquiry generation + implementation */
.jpw-home-v2-hero{padding:72px 0 64px}
.jpw-home-v2-hero .jpw-hero-grid{align-items:start}
.jpw-home-v2-hero .jpw-hero-copy{max-width:680px}
.jpw-home-v2-hero .jpw-hero-copy>p:not(.jpw-small){max-width:650px}
.jpw-system-board{display:flex;flex-direction:column;gap:12px}
.jpw-system-board .jpw-board-title{font-size:clamp(24px,2.1vw,34px);line-height:1.45;margin:20px 0 24px}
.jpw-system-step{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px;border:1px solid rgba(217,237,224,.22);background:rgba(255,255,255,.06);border-radius:5px}
.jpw-system-step.is-primary{background:#c5ff63;color:#0c332e;border-color:#c5ff63}
.jpw-system-step b{font-family:Georgia,serif;font-size:21px;font-weight:500;opacity:.78}
.jpw-system-step div{display:grid;gap:2px}
.jpw-system-step strong{font-size:15px;letter-spacing:.08em}
.jpw-system-step small{font-size:12px;opacity:.76}
.jpw-system-step>span{font-size:11px;font-weight:700;letter-spacing:.08em;white-space:nowrap}
.jpw-v2-proof{margin-bottom:10px}

.jpw-empathy{position:relative;overflow:hidden}
.jpw-empathy:before{content:"02";position:absolute;right:4%;top:-50px;font:700 clamp(150px,25vw,360px)/1 Georgia,serif;color:#edf1ea;z-index:0}
.jpw-empathy .jpw-wrap{position:relative;z-index:1}
.jpw-problem-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:52px}
.jpw-problem-card{display:grid;grid-template-columns:48px 1fr;gap:18px;align-items:start;padding:25px 26px;background:#f5f7f2;border:1px solid #dbe3d8;border-radius:4px}
.jpw-problem-card.is-wide{grid-column:1/-1}
.jpw-problem-card span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#0b4039;color:#c5ff63;font:600 14px/1 Georgia,serif}
.jpw-problem-card p{margin:4px 0 0;font-size:16px;line-height:1.8;font-weight:600;color:#153a35}
.jpw-empathy-close{margin:34px 0 0;padding:26px 30px;border-left:5px solid #9be34b;background:#0b4039;color:#eef8f0;font-size:clamp(18px,2vw,25px);line-height:1.8}
.jpw-empathy-close strong{color:#c5ff63}

.jpw-v2-pricing .jpw-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.jpw-v2-pricing .jpw-plan{min-width:0}
.jpw-v2-pricing .jpw-plan-price span{max-width:100%;line-height:1.35}
.jpw-v2-pricing .jpw-pricing-disclaimer{max-width:1060px;margin:24px auto 0;color:#53645f;font-size:12px;line-height:1.9}

.jpw-v2-services .jpw-section-head p{color:#c9d9ce}
.jpw-v2-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:56px}
.jpw-v2-service-card{display:flex;flex-direction:column;min-height:100%;padding:34px 30px;background:rgba(255,255,255,.055);border:1px solid rgba(207,233,215,.2);border-radius:5px}
.jpw-v2-service-index{color:#c5ff63;font:600 12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em}
.jpw-v2-service-card h3{margin:24px 0 18px;color:#fff;font-size:clamp(23px,2vw,30px);line-height:1.45}
.jpw-v2-service-card>p{color:#c9d9ce;line-height:1.9}
.jpw-v2-service-card .jpw-list{margin:25px 0}
.jpw-v2-service-card .jpw-list li{color:#ecf4ee;border-color:rgba(255,255,255,.13)}
.jpw-v2-output{margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);display:grid;gap:7px}
.jpw-v2-output small{color:#9be34b;font-size:10px;letter-spacing:.14em}
.jpw-v2-output strong{color:#fff;font-size:13px;line-height:1.7}
.jpw-v2-services-close{max-width:900px;margin:32px auto 0;padding:20px 25px;text-align:center;border:1px solid rgba(197,255,99,.35);color:#e8f2eb;line-height:1.8}

.jpw-v2-practice{background:#eef3ea}
.jpw-v2-case{background:#fff;border:1px solid #d9e2d7;border-radius:5px;overflow:hidden}
.jpw-v2-case-data{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);margin-top:56px}
.jpw-v2-case-head{padding:38px;background:#0b4039;color:#fff}
.jpw-v2-case-head>span{display:block;color:#c5ff63;font:600 11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}
.jpw-v2-case-head h3{margin:23px 0 0;color:#fff;font-size:clamp(25px,2.5vw,39px);line-height:1.48}
.jpw-v2-case-body{padding:38px;color:#263c38}
.jpw-v2-case-body>p{line-height:1.9}
.jpw-v2-case-body h4{margin:32px 0 12px;font-size:clamp(22px,2vw,30px);color:#0b4039}
.jpw-data-period{display:inline-block;margin:16px 0 20px!important;padding:10px 13px;border:1px solid #f0b343;background:#fff7e6;color:#704b0b;font-size:12px}
.jpw-data-table-wrap{overflow-x:auto;border:1px solid #d7e0d5}
.jpw-data-table{width:100%;min-width:690px;border-collapse:collapse;background:#fff}
.jpw-data-table th,.jpw-data-table td{padding:15px 14px;border-bottom:1px solid #e4eae2;text-align:right;font-variant-numeric:tabular-nums}
.jpw-data-table thead th{background:#e7eee3;color:#23433d;font-size:11px;letter-spacing:.04em;white-space:nowrap}
.jpw-data-table th:first-child,.jpw-data-table tbody th{text-align:left}
.jpw-data-table tbody th{font-size:13px;color:#173b35}
.jpw-data-table tbody td{font:600 16px/1.4 Georgia,serif;color:#0b4039}
.jpw-data-table tbody tr:last-child th,.jpw-data-table tbody tr:last-child td{border-bottom:0}
.jpw-data-table .is-current{background:#f5ffe7}
.jpw-v2-case .jpw-case-tags{margin-top:24px}
.jpw-v2-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.jpw-v2-case-grid .jpw-v2-case:first-child{grid-column:1/-1;display:grid;grid-template-columns:.62fr 1.38fr}
.jpw-v2-case-grid .jpw-v2-case-head{padding:31px}
.jpw-v2-case-grid .jpw-v2-case-head h3{font-size:clamp(22px,2vw,30px)}
.jpw-v2-case-grid .jpw-v2-case-body{padding:31px}
.jpw-v2-case-grid .jpw-actions{gap:22px;flex-wrap:wrap;margin-top:24px}

.jpw-v2-roadmap{list-style:none;margin:50px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#cfdacf;border:1px solid #cfdacf}
.jpw-v2-roadmap li{position:relative;display:grid;gap:26px;padding:31px 26px;background:#f8faf6}
.jpw-v2-roadmap li>span{font:600 28px/1 Georgia,serif;color:#7d928b}
.jpw-v2-roadmap li:not(:last-child):after{content:"→";position:absolute;right:-11px;top:34px;z-index:2;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#0b4039;color:#c5ff63;font-size:11px}
.jpw-v2-roadmap h3{margin:0 0 12px;font-size:19px;color:#123c35}
.jpw-v2-roadmap p{margin:0;color:#52635f;line-height:1.8;font-size:13px}
.jpw-home-final p{max-width:760px}

.jpw-v2-insights{position:relative;overflow:hidden;background:#eef3ea}
.jpw-v2-insights:before{content:"INSIGHT";position:absolute;right:-.03em;top:-.2em;color:rgba(11,64,57,.045);font:700 clamp(120px,21vw,310px)/1 Georgia,serif;letter-spacing:-.07em;pointer-events:none}
.jpw-v2-insights .jpw-wrap{position:relative;z-index:1}
.jpw-v2-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:18px;margin-top:54px}
.jpw-v2-insight-card{display:grid;grid-template-rows:auto 1fr;min-width:0;height:100%;overflow:hidden;border:1px solid #d5dfd2;border-radius:5px;background:#fff;color:#153a35;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}
.jpw-v2-insight-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(11,64,57,.13)}
.jpw-v2-insight-media{display:block;overflow:hidden;aspect-ratio:16/9;background:#0b4039}
.jpw-v2-insight-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.jpw-v2-insight-card:hover .jpw-v2-insight-media img{transform:scale(1.035)}
.jpw-v2-insight-fallback{display:grid;place-items:center;width:100%;height:100%;color:#fff;font:600 42px/1 Georgia,serif}
.jpw-v2-insight-fallback span{color:#c5ff63}
.jpw-v2-insight-copy{display:flex;min-width:0;flex-direction:column;padding:24px}
.jpw-v2-insight-copy small{color:#6b827b;font:600 10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em}
.jpw-v2-insight-copy h3{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;margin:14px 0 12px;color:#0b4039;font-size:clamp(18px,1.45vw,23px);line-height:1.55;letter-spacing:-.025em}
.jpw-v2-insight-copy p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;margin:0 0 20px;color:#586a65;font-size:13px;line-height:1.8}
.jpw-v2-insight-copy strong{margin-top:auto;padding-top:8px;color:#0b4039;font-size:12px;letter-spacing:.08em}
.jpw-v2-insight-copy strong span{color:#67a82e}
.jpw-v2-insight-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:25px;padding-top:25px;border-top:1px solid #ccd8ca}
.jpw-v2-insight-footer p{margin:0;color:#5d706a;font-size:13px}

.jpw-advisor-hero .jpw-hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:58px}
.jpw-advisor-hero .jpw-hero-copy h1{font-size:clamp(44px,5vw,72px);line-height:1.25;letter-spacing:-.035em}
.jpw-advisor-board{display:flex;flex-direction:column;gap:12px;padding:22px;background:#0b4039;color:#fff;border:1px solid rgba(217,237,224,.2);border-radius:6px;box-shadow:0 24px 60px rgba(11,64,57,.2)}
.jpw-why-advisor{max-width:390px;margin:42px 0 0;background:#0b4039;border-radius:5px;overflow:hidden;box-shadow:0 20px 44px rgba(11,64,57,.16)}
.jpw-why-advisor-photo{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.jpw-why-advisor figcaption{display:grid;gap:3px;padding:17px 20px;color:#fff}
.jpw-why-advisor figcaption strong{font:600 19px/1.45 Georgia,serif;letter-spacing:.05em}
.jpw-why-advisor figcaption span{color:#b8cec6;font-size:10px;letter-spacing:.12em}
.jpw-why-advisor figcaption small{margin-top:5px;color:#c5ff63;font-size:10px;font-weight:700;letter-spacing:.05em}
.jpw-advisor-proof em{text-transform:none}
.jpw-v2-why{background:#eef3ea}
.jpw-why-grid{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:80px;align-items:start}
.jpw-why-grid h2{margin:20px 0 0;font-size:clamp(34px,4vw,55px);line-height:1.45}
.jpw-why-copy{max-width:760px}
.jpw-why-copy>p{margin:0 0 24px;color:#324740;line-height:2}
.jpw-why-copy blockquote{margin:34px 0;padding:28px 32px;border:0;border-left:5px solid #9be34b;background:#0b4039;color:#fff}
.jpw-why-copy blockquote strong,.jpw-why-copy blockquote span{display:block;font:600 clamp(20px,2.2vw,29px)/1.65 Georgia,serif}
.jpw-why-copy blockquote span{color:#c5ff63}
.jpw-light-plan{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;margin-top:34px;padding:38px;background:#fff;border:1px solid #cfdacf;border-left:6px solid #0b4039;border-radius:4px}
.jpw-light-plan h3{margin:16px 0 18px;color:#0b4039;font-size:clamp(22px,2.2vw,31px);line-height:1.55}
.jpw-light-plan h3 strong{color:#0b4039}
.jpw-light-plan>div>p{color:#52635f;line-height:1.9}
.jpw-light-plan-detail{padding-left:40px;border-left:1px solid #dbe3d8}
.jpw-light-plan .jpw-plan-price{margin-top:0}
.jpw-light-plan .jpw-plan-link{display:inline-flex;margin-top:18px}
.jpw-web-plan{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:48px;margin-top:34px;padding:clamp(30px,4vw,52px);overflow:hidden;background:linear-gradient(135deg,#082f2a 0%,#0b4039 58%,#11594f 100%);color:#fff;border:1px solid rgba(197,255,99,.34);border-radius:7px;box-shadow:0 26px 60px rgba(11,64,57,.18)}
.jpw-web-plan::after{content:"";position:absolute;z-index:-1;right:-110px;bottom:-150px;width:390px;height:390px;border:1px solid rgba(197,255,99,.18);border-radius:50%;box-shadow:0 0 0 54px rgba(197,255,99,.035),0 0 0 108px rgba(197,255,99,.025)}
.jpw-web-plan-label{display:inline-flex;color:#c5ff63;font-size:11px;font-weight:800;letter-spacing:.16em}
.jpw-web-plan-kicker{margin:20px 0 8px;color:#c9ded7;font-size:13px;font-weight:700;letter-spacing:.03em}
.jpw-web-plan h3{margin:0 0 19px;color:#fff;font:600 clamp(27px,3.2vw,43px)/1.35 Georgia,"Yu Mincho",serif;letter-spacing:.01em}
.jpw-web-plan-copy>p:last-of-type{max-width:680px;margin:0;color:#d9e8e3;line-height:1.9}
.jpw-web-plan-points{display:flex;flex-wrap:wrap;gap:9px 10px;margin:25px 0 0;padding:0;list-style:none}
.jpw-web-plan-points li{position:relative;padding:8px 13px 8px 29px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);border-radius:999px;color:#edf6f2;font-size:12px;font-weight:700}
.jpw-web-plan-points li::before{content:"✓";position:absolute;left:11px;color:#c5ff63;font-weight:900}
.jpw-web-plan-offer{align-self:center;padding:27px;background:rgba(255,255,255,.97);color:#0b4039;border-radius:5px;box-shadow:0 18px 42px rgba(0,0,0,.17)}
.jpw-web-plan-limit{display:inline-flex;padding:5px 10px;background:#e9ffd0;color:#0b4039;border-radius:2px;font-size:11px;font-weight:900;letter-spacing:.08em}
.jpw-web-plan-price{display:flex;align-items:baseline;gap:5px;margin:18px 0 3px}
.jpw-web-plan-price small{margin-right:4px;color:#61766f;font-size:12px;font-weight:800}
.jpw-web-plan-price strong{font:700 clamp(36px,4vw,50px)/1 Georgia,serif;letter-spacing:-.035em}
.jpw-web-plan-price span{font-size:12px;font-weight:700}
.jpw-web-plan-monthly{display:flex;align-items:baseline;gap:6px;margin:0 0 20px;color:#52635f;font-size:12px}
.jpw-web-plan-monthly strong{color:#0b4039;font-size:20px}
.jpw-web-plan-link{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;background:#c5ff63;color:#082f2a!important;border-radius:3px;font-size:13px;font-weight:900;text-decoration:none!important;transition:transform .2s ease,background .2s ease}
.jpw-web-plan-link:hover{background:#dcff9f;transform:translateY(-2px)}
.jpw-web-plan-link:focus-visible{outline:3px solid #0b4039;outline-offset:3px}
.jpw-web-plan-note{display:block;margin-top:12px;color:#6d7d78;font-size:10px;text-align:center}
.jpw-v2-service-card.is-build{background:rgba(197,255,99,.1);border-color:rgba(197,255,99,.45)}
.jpw-v2-service-card.is-build>p{margin:0 0 16px}
.jpw-v2-service-card.is-build>p strong{display:block;color:#c5ff63;font-size:14px}
.jpw-signature span{display:block;margin-top:7px;color:#638077;font-size:12px;font-weight:700;letter-spacing:.08em}

@media (max-width:980px){
  .jpw-advisor-hero .jpw-hero-grid,.jpw-why-grid{grid-template-columns:1fr}
  .jpw-why-grid{gap:36px}
  .jpw-light-plan{grid-template-columns:1fr;gap:28px}
  .jpw-light-plan-detail{padding-left:0;padding-top:28px;border-left:0;border-top:1px solid #dbe3d8}
  .jpw-web-plan{grid-template-columns:1fr;gap:30px}
  .jpw-web-plan-offer{width:100%}
  .jpw-v2-pricing .jpw-pricing-grid{grid-template-columns:1fr}
  .jpw-v2-service-grid{grid-template-columns:1fr}
  .jpw-v2-service-card{min-height:0}
  .jpw-v2-case-data,.jpw-v2-case-grid .jpw-v2-case:first-child{grid-template-columns:1fr}
  .jpw-v2-roadmap{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jpw-v2-roadmap li:nth-child(2):after{display:none}
  .jpw-v2-insight-grid{grid-template-columns:1fr}
  .jpw-v2-insight-card{grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);grid-template-rows:1fr}
  .jpw-v2-insight-media{height:100%;aspect-ratio:auto}
}
@media (max-width:680px){
  .jpw-advisor-hero .jpw-hero-copy h1{font-size:clamp(38px,12vw,54px)}
  .jpw-advisor-board{padding:16px}
  .jpw-why-advisor{max-width:100%;margin-top:30px}
  .jpw-light-plan{padding:27px 21px}
  .jpw-web-plan{gap:24px;padding:29px 20px}
  .jpw-web-plan h3 br{display:none}
  .jpw-web-plan-points{display:grid}
  .jpw-web-plan-points li{width:100%}
  .jpw-web-plan-offer{padding:22px 18px}
  .jpw-web-plan-price strong{font-size:clamp(33px,11vw,45px)}
  .jpw-system-step{grid-template-columns:36px minmax(0,1fr);padding:15px 14px}
  .jpw-system-step>span{grid-column:2}
  .jpw-problem-grid{grid-template-columns:1fr;margin-top:35px}
  .jpw-problem-card.is-wide{grid-column:auto}
  .jpw-problem-card{grid-template-columns:38px 1fr;padding:20px 18px;gap:12px}
  .jpw-problem-card span{width:34px;height:34px}
  .jpw-empathy-close{padding:21px 20px}
  .jpw-v2-case-head,.jpw-v2-case-body,.jpw-v2-case-grid .jpw-v2-case-head,.jpw-v2-case-grid .jpw-v2-case-body{padding:25px 21px}
  .jpw-v2-case-grid{grid-template-columns:1fr}
  .jpw-v2-case-grid .jpw-v2-case:first-child{grid-column:auto}
  .jpw-v2-roadmap{grid-template-columns:1fr}
  .jpw-v2-roadmap li:not(:last-child):after{content:"↓";right:auto;left:28px;top:auto;bottom:-11px}
  .jpw-v2-roadmap li:nth-child(2):after{display:grid}
  .jpw-v2-insight-card{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .jpw-v2-insight-media{height:auto;aspect-ratio:16/9}
  .jpw-v2-insight-copy{padding:22px 20px}
  .jpw-v2-insight-footer{align-items:flex-start;flex-direction:column}
  .jpw-v2-insight-footer .jpw-button{width:100%;text-align:center}
}
