/* WINSCEND v9 — visuals and clarity: GOAL definition, founder stats, voice timeline, 180-day map, month cycle, recovery art. */

/* ---------- TOP: GOAL definition ---------- */
.term-def{margin-top:14px;display:grid;grid-template-columns:auto 1fr;gap:6px 16px;align-items:baseline;padding:16px 20px;border-left:3px solid var(--blue);background:var(--blue-wash);border-radius:0 var(--r2) var(--r2) 0}
.term-def b{font-size:var(--fs-sm);letter-spacing:.06em;color:var(--blue-ink);white-space:nowrap}
.term-def span{font-size:var(--fs-2);line-height:1.85;color:var(--graphite)}
@media(max-width:600px){.term-def{grid-template-columns:1fr}}

/* ---------- TOP: founder career path + stat tiles ---------- */
.career-path{display:grid;gap:0;margin:26px 0 22px;position:relative}
.career-path li{position:relative;padding:0 0 16px 26px;font-weight:700;font-size:var(--fs-2);color:#fff;line-height:1.5}
.career-path li::before{content:"";position:absolute;left:4px;top:.45em;width:9px;height:9px;border-radius:50%;background:var(--ink);border:1.5px solid var(--blue-soft)}
.career-path li::after{content:"";position:absolute;left:8.5px;top:calc(.45em + 11px);bottom:2px;width:1px;background:var(--dline)}
.career-path li:last-child{padding-bottom:0}
.career-path li:last-child::after{display:none}
.career-path li.is-now::before{background:var(--blue);border-color:var(--blue);box-shadow:0 0 0 4px rgba(41,72,255,.25)}
.career-path small{display:block;font-weight:400;font-size:var(--fs-cap);color:var(--on-dark-3);margin-top:2px}
.stat-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:6px}
.stat-tiles>div{border:1px solid var(--dline);border-radius:var(--r2);padding:16px 16px 14px;background:rgba(255,255,255,.035);display:flex;flex-direction:column;gap:6px}
.stat-tiles>div.wide{grid-column:1/-1}
.stat-tiles dt{font-size:var(--fs-cap);color:var(--blue-soft);letter-spacing:.06em;font-weight:700}
.stat-tiles dd{display:flex;flex-direction:column;gap:4px}
.stat-tiles b{font-family:var(--ff-en);font-size:clamp(1.7rem,2.6vw,2.15rem);line-height:1.1;color:#fff;letter-spacing:.01em}
.stat-tiles .wide b{font-family:var(--ff);font-size:clamp(1.35rem,2vw,1.6rem)}
.stat-tiles b i{font-style:normal;font-size:.5em;margin-left:2px;color:var(--on-dark-2);font-family:var(--ff)}
.stat-tiles span{font-size:var(--fs-cap);line-height:1.7;color:var(--on-dark-2)}
.f-id .proof-note{margin-top:14px}

/* ---------- TOP: voice metric + timeline ---------- */
.voice-metric{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:-6px 0 22px;padding:12px 16px;background:var(--blue-wash);border-radius:var(--r2)}
.voice-metric b{font-size:clamp(1.15rem,1.8vw,1.35rem);color:var(--blue-ink);letter-spacing:.03em}
.voice-metric span{font-size:var(--fs-sm);color:var(--graphite)}
.voice-snapshot{border-top:0;position:relative}
.voice-snapshot>div{position:relative;border-bottom:0;padding:10px 0 14px 26px;grid-template-columns:5em 1fr}
.voice-snapshot>div::before{content:"";position:absolute;left:3px;top:15px;width:9px;height:9px;border-radius:50%;background:#fff;border:1.5px solid #aeb7c5}
.voice-snapshot>div::after{content:"";position:absolute;left:7.5px;top:27px;bottom:-12px;width:1px;background:var(--line)}
.voice-snapshot>div:last-child::after{display:none}
.voice-snapshot>div:last-child::before{background:var(--blue);border-color:var(--blue);box-shadow:0 0 0 4px rgba(41,72,255,.14)}
.voice-snapshot>div:last-child dt{color:var(--blue-ink)}
.voice-snapshot>div:last-child dd{color:var(--ink);font-weight:600}
@media(max-width:600px){.voice-snapshot>div{grid-template-columns:1fr;gap:2px}}

/* ---------- Program: 180-day map ---------- */
.journey-map{margin:clamp(30px,4vw,52px) 0 clamp(26px,3vw,40px);padding:clamp(22px,3vw,36px);border:1px solid var(--dline);border-radius:12px;background:rgba(255,255,255,.03)}
.jm-bar,.jm-scale,.jm-phases{display:grid;grid-template-columns:3fr 3fr 8fr 3fr;column-gap:10px}
.jm-bar{align-items:center;height:30px}
.jm-seg{height:30px;border-radius:999px;display:flex;align-items:center;justify-content:space-around;padding:0 6px}
.jm-seg i{width:9px;height:9px;border-radius:50%;background:#fff;opacity:.9}
.jm-seg--1{background:rgba(154,169,255,.22)}
.jm-seg--2{background:rgba(154,169,255,.42)}
.jm-seg--3{background:linear-gradient(90deg,#3a57ff,#2948ff)}
.jm-goal{display:flex;align-items:center;justify-content:flex-start}
.jm-goal i{width:26px;height:26px;border-radius:50%;border:2px solid #fff;background:var(--ink);box-shadow:0 0 0 5px rgba(154,169,255,.2);position:relative}
.jm-goal i::after{content:"";position:absolute;inset:6px;border-radius:50%;background:#fff}
.jm-scale{margin-top:8px;font-family:var(--ff-en);font-size:.68rem;font-weight:700;letter-spacing:.14em;color:var(--on-dark-3)}
.jm-scale span:nth-child(2),.jm-scale span:nth-child(3){font-family:var(--ff);letter-spacing:.04em}
.jm-phases{margin-top:22px;row-gap:14px}
.jm-phase{border-top:2px solid rgba(154,169,255,.35);padding-top:16px;min-width:0}
.jm-phase--2{border-top-color:rgba(154,169,255,.6)}
.jm-phase--3{border-top-color:var(--blue)}
.jm-phase--4{border-top-color:#fff}
.jm-when{font-size:var(--fs-cap);color:var(--on-dark-3);margin-bottom:10px;line-height:1.6}
.jm-when b{display:block;color:#fff;font-size:var(--fs-sm)}
.jm-views{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.jm-views span{font-family:var(--ff-en);font-size:.64rem;font-weight:700;letter-spacing:.16em;color:var(--blue-soft);border:1px solid rgba(154,169,255,.4);border-radius:999px;padding:3px 9px}
.jm-phase h3{font-size:1rem;line-height:1.6;color:#fff;margin-bottom:10px;letter-spacing:.02em}
.jm-steps{display:grid;gap:7px}
.jm-steps li{display:grid;grid-template-columns:26px 1fr;gap:4px;font-size:var(--fs-sm);line-height:1.6;color:var(--on-dark-2)}
.jm-steps i{font-style:normal;font-family:var(--ff-en);font-size:.72rem;font-weight:700;color:var(--blue-soft);padding-top:2px}
.jm-note{margin-top:22px;padding-top:16px;border-top:1px solid var(--dline);font-size:var(--fs-cap);line-height:1.8;color:var(--on-dark-3)}
@media(max-width:899px){
  .jm-bar,.jm-scale{display:none}
  .jm-phases{grid-template-columns:1fr;margin-top:0;row-gap:0}
  .jm-phase{border-top:0;border-left:2px solid rgba(154,169,255,.35);padding:4px 0 22px 20px;position:relative}
  .jm-phase::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--ink);border:2px solid currentColor;color:rgba(154,169,255,.6)}
  .jm-phase--3{border-left-color:var(--blue)}.jm-phase--3::before{color:var(--blue);background:var(--blue)}
  .jm-phase--4{border-left-color:transparent;padding-bottom:0}.jm-phase--4::before{color:#fff;background:#fff}
}
.jm-detail{margin-top:8px;border-top:1px solid var(--dline);border-bottom:1px solid var(--dline)}
.jm-detail>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-weight:700;font-size:var(--fs-2);color:#fff}
.jm-detail>summary::-webkit-details-marker{display:none}
.jm-detail>summary::after{content:"+";flex:none;width:28px;height:28px;border:1px solid var(--dline);border-radius:50%;display:grid;place-items:center;font-weight:400;color:var(--blue-soft)}
.jm-detail[open]>summary::after{content:"−"}
.jm-detail .steps{margin-top:0;border-top:1px solid var(--dline)}
.jm-detail .steps>li:last-child{border-bottom:0}

/* ---------- Program: month cycle ---------- */
@media(min-width:900px){
  .steps--month{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;border-top:0}
  .steps--month>li{border:1px solid var(--line);border-radius:var(--r2);background:#fff;padding:62px 20px 22px}
  .steps--month>li::before{left:20px;top:18px;font-size:1.5rem}
  .steps--month>li:not(:last-child)::after{content:"→";position:absolute;right:-14px;top:24px;width:24px;height:24px;border-radius:50%;background:var(--blue-wash);color:var(--blue);display:grid;place-items:center;font-size:.8rem;z-index:1}
  .steps--month h3{font-size:1rem;line-height:1.6}
}
.month-loop{margin-top:16px;display:flex;gap:10px;align-items:baseline;font-size:var(--fs-sm);line-height:1.8;color:var(--steel)}
.month-loop span{color:var(--blue);font-size:1.1rem;font-weight:700}

/* ---------- Condition: recovery illustrations ---------- */
.recovery-art{display:block;width:100%;height:auto;aspect-ratio:2/1;border:1px solid var(--line);border-radius:10px;margin-bottom:14px;background:#fff}

/* ---------- TOP: lecture (science × wisdom) ---------- */
.lecture{display:grid;gap:clamp(24px,4vw,56px);align-items:center;margin:clamp(36px,5vw,64px) 0 clamp(28px,3vw,40px);padding:clamp(24px,3.4vw,44px);border:1px solid var(--dline);border-radius:12px;background:linear-gradient(135deg,rgba(41,72,255,.10),rgba(255,255,255,.02) 60%)}
.lecture-label{font-family:var(--ff-en);font-size:.72rem;font-weight:700;letter-spacing:.24em;color:var(--blue-soft);margin-bottom:14px}
.lecture h3{font-size:clamp(1.3rem,2.3vw,1.75rem);line-height:1.55;color:#fff;letter-spacing:.03em;margin-bottom:16px}
.lecture-copy>p:not(.lecture-label){font-size:var(--fs-2);line-height:2;color:var(--on-dark-2)}
.lecture-points{display:grid;gap:12px;margin-top:22px}
.lecture-points li{display:grid;grid-template-columns:9.5em 1fr;gap:12px;padding-top:12px;border-top:1px solid var(--dline);font-size:var(--fs-sm);line-height:1.8;color:var(--on-dark-2)}
.lecture-points b{color:#fff;font-size:var(--fs-2)}
.lecture-art{margin:0}
.lecture-art img{display:block;width:100%;height:auto;max-width:560px;margin-inline:auto}
@media(min-width:960px){.lecture{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}}
@media(max-width:600px){.lecture-points li{grid-template-columns:1fr;gap:2px}}

/* ---------- Plans: what's included (icons) ---------- */
.plan-includes{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 18px}
.plan-includes li{display:inline-flex;align-items:center;gap:6px;padding:6px 11px 6px 9px;border:1px solid var(--line);border-radius:999px;font-size:var(--fs-cap);font-weight:700;color:var(--ink);background:var(--pearl)}
.plan-includes .ic{width:17px;height:17px;color:var(--blue)}
.plan--dark .plan-includes li{border-color:var(--dline);background:rgba(255,255,255,.05);color:#fff}
.plan--dark .plan-includes .ic{color:var(--blue-soft)}

/* ---------- Lecture block, light variant (program) ---------- */
.lecture--light{background:linear-gradient(135deg,var(--blue-wash),#fff 65%);border-color:var(--line)}
.lecture--light .lecture-label{color:var(--blue-ink)}
.lecture--light h3{color:var(--ink)}
.lecture--light .lecture-copy>p:not(.lecture-label){color:var(--graphite)}
.lecture--light .lecture-points li{border-color:var(--line);color:var(--graphite)}
.lecture--light .lecture-points b{color:var(--ink)}
.lecture-art--side{margin-top:clamp(20px,3vw,32px)}
.lecture-art--side img{max-width:440px;margin-inline:0}

/* ---------- Terms: mini timelines ---------- */
.term-line{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:6px 0 20px;position:relative}
.term-line::before{content:"";position:absolute;left:6px;right:6px;top:6px;height:2px;background:var(--line)}
.term-line li{position:relative;padding-top:22px;padding-right:8px;display:flex;flex-direction:column;gap:2px}
.term-line li::before{content:"";position:absolute;left:0;top:0;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #aeb7c5}
.term-line li.is-key::before{background:var(--blue);border-color:var(--blue);box-shadow:0 0 0 4px rgba(41,72,255,.15)}
.term-line b{font-size:var(--fs-sm);color:var(--ink);line-height:1.5}
.term-line li.is-key b{color:var(--blue-ink)}
.term-line span{font-size:var(--fs-cap);color:var(--steel);line-height:1.6}

/* ---------- Cognitive: self-efficacy loop ---------- */
.eff-loop{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0 18px;position:relative}
.eff-loop li{position:relative;border:1px solid var(--line);border-radius:var(--r2);background:#fff;padding:14px 14px 12px;font-size:var(--fs-sm);font-weight:700;line-height:1.6;color:var(--ink)}
.eff-loop i{display:block;font-style:normal;font-family:var(--ff-en);font-size:.7rem;letter-spacing:.14em;color:var(--blue);margin-bottom:6px}
.eff-loop li:not(:last-child)::after{content:"→";position:absolute;right:-12px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;background:var(--blue-wash);color:var(--blue);display:grid;place-items:center;font-size:.72rem;z-index:1}
.eff-loop::after{content:"↺ 次の行動の支えに";position:absolute;right:0;bottom:-24px;font-size:var(--fs-cap);color:var(--blue-ink);font-weight:700}
@media(max-width:600px){.eff-loop{grid-template-columns:1fr}.eff-loop li:not(:last-child)::after{content:"↓";right:auto;left:50%;top:auto;bottom:-12px;transform:translateX(-50%)}}
.eff-loop+.text-reference{display:inline-block;margin-top:18px}

/* ---------- Condition: founder stat tiles (light) ---------- */
.stat-tiles--light{margin:26px 0 22px;max-width:560px}
.stat-tiles--light>div{border-color:var(--line);background:#fff}
.stat-tiles--light dt{color:var(--blue-ink)}
.stat-tiles--light b{color:var(--ink)}
.stat-tiles--light b.ja{font-family:var(--ff);font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.5}
.stat-tiles--light b i{color:var(--steel)}
.stat-tiles--light span{color:var(--steel)}

/* ---------- TOP founder: one method, every field ---------- */
.one-method{margin-top:8px;padding-top:20px;border-top:1px solid var(--dline)}
.om-label{font-family:var(--ff-en);font-size:.68rem;font-weight:700;letter-spacing:.22em;color:var(--blue-soft);margin-bottom:10px}
.om-title{font-size:clamp(1.08rem,1.7vw,1.3rem);font-weight:700;line-height:1.6;color:#fff;margin-bottom:10px}
.om-lead{font-size:var(--fs-sm);line-height:1.85;color:var(--on-dark-2);margin-bottom:16px}
.stat-tiles--fields{grid-template-columns:repeat(6,minmax(0,1fr))}
.stat-tiles--fields>div{grid-column:span 2}
.stat-tiles--fields>div.f-work{grid-column:1/-1}
.stat-tiles--fields dt{display:flex;flex-direction:column;gap:2px;color:#fff;font-size:var(--fs-sm)}
.stat-tiles--fields dt span{font-family:var(--ff-en);font-size:.66rem;letter-spacing:.2em;color:var(--blue-soft)}
.stat-tiles--fields dd{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px 22px;margin-top:6px}
.stat-tiles--fields dd p{display:flex;flex-direction:column;gap:4px;flex:1 1 0;min-width:0}
.stat-tiles--fields b{font-size:clamp(1.5rem,2.2vw,1.9rem)}
.stat-tiles--fields b.ja{font-family:var(--ff);font-size:clamp(1.2rem,1.7vw,1.4rem);line-height:1.35}
@media(max-width:1100px){.stat-tiles--fields>div{grid-column:span 3}.stat-tiles--fields>div.f-body{grid-column:1/-1}}

/* ---------- Plans: fork (STEP 1 → 基本 or 集中) ---------- */
.plan-path--fork li:nth-child(2)::after{content:"or";font-family:var(--ff-en);font-weight:700;font-size:.7rem;letter-spacing:.06em}
.plan-path--fork li.is-core .pp-step{font-family:var(--ff);letter-spacing:.1em}
.plan-path--fork li:not(.is-core) .pp-step{font-family:var(--ff-en)}
.plan-path--fork li:nth-child(3) .pp-step{font-family:var(--ff);letter-spacing:.1em}
