/* Section 03: manual learning tabs. All stages remain readable without JavaScript. */
#growth.growth-section{--learning-teal:#277c83;--learning-muted:#476873;padding:80px 0 84px;background:#fdfefe;isolation:isolate;font-family:"RIVERST Growth Noto","Noto Sans JP",sans-serif;scroll-margin-top:78px}
#growth::before{content:"";position:absolute;z-index:-1;pointer-events:none;box-sizing:border-box;width:640px;height:640px;left:-460px;top:22%;border:65px solid #e0f0ea;border-radius:50%;opacity:.75}
#growth .growth-inner{width:min(100% - 64px,1120px);position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:72px;align-items:start}
#growth .learning-overview,#growth .learning-switcher{min-width:0}
#growth .learning-overview>.eyebrow{font:400 16px/1.6 "RIVERST Growth Noto","Noto Sans JP",sans-serif;color:var(--ink);letter-spacing:.12em;margin-bottom:24px}
#growth .learning-overview>.eyebrow::after{content:"";display:block;width:33px;height:1px;margin-top:15px;background:#74929a}
#growth h2{font-size:clamp(38px,3.9vw,54px);line-height:1.5;letter-spacing:-.065em;font-weight:700;text-wrap:pretty}
#growth h2 em{font-style:normal;color:var(--learning-teal)}
#growth .learning-intro{font-size:16px;line-height:1.95;letter-spacing:.01em;margin-top:22px;text-wrap:pretty}
#growth .learning-period{margin-top:28px}
#growth .learning-period-label{font-size:16px;line-height:1.7;letter-spacing:.025em}
#growth .learning-period-values{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 25px;margin-top:10px}
#growth .learning-period-values>p{font-size:22px;line-height:1.5;white-space:nowrap;letter-spacing:-.045em;font-weight:400}
#growth .learning-period-values strong{font-size:35px;line-height:1.2;font-weight:700;color:var(--learning-teal);margin:0 4px}
#growth .learning-period-note{margin-top:10px;font-size:14px;line-height:1.7;letter-spacing:.015em}
#growth .learning-tabs[hidden]{display:none}
#growth .learning-tabs{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:6px 0 28px}
#growth .learning-tabs button{--tab-fill:#c9e9f6;--tab-hover:#bee2f0;position:relative;display:grid;place-items:center;min-width:0;appearance:none;border:2px solid #86aab13d;border-radius:999px;background:var(--tab-fill);color:#184c59;font-family:inherit;font-weight:700;font-size:18px;line-height:1.5;min-height:64px;padding:13px 8px 17px;cursor:pointer;white-space:nowrap;transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,transform 120ms ease}
#growth .learning-tabs button:nth-of-type(2){--tab-fill:#f5e7cb;--tab-hover:#efdfbc}
#growth .learning-tabs button:nth-of-type(3){--tab-fill:#d0e9df;--tab-hover:#c1e2d4}
#growth .learning-tabs button:nth-of-type(4){--tab-fill:#dfeef4;--tab-hover:#cfe6ef}
#growth .learning-tabs button::after{content:"";position:absolute;bottom:8px;left:calc(50% - 11px);width:22px;height:2px;border-radius:2px;background:#226c77;transform:scaleX(0);transition:transform 180ms ease}
#growth .learning-tabs button[aria-selected="true"]{color:#124b59;border-color:#226c77}
#growth .learning-tabs button[aria-selected="true"]::after{transform:scaleX(1)}
#growth .learning-tabs button:active{transform:translateY(1px)}
#growth .learning-tabs button:focus-visible,#growth .learning-stage:focus-visible{outline:3px solid #257fa8;outline-offset:5px}
#growth .learning-tab-indicator{display:none}
@media(hover:hover) and (pointer:fine){#growth .learning-tabs button:hover{background:var(--tab-hover);border-color:#276b76;color:#124b59}}
#growth .learning-path{display:flex;flex-direction:column;gap:36px;min-width:0}
#growth.learning-tabs-ready .learning-path{display:grid;gap:0;touch-action:pan-y pinch-zoom}
#growth .learning-stage{min-width:0;position:relative}
#growth.learning-tabs-ready .learning-stage{grid-area:1/1;align-self:start}
#growth.learning-tabs-ready .learning-stage[aria-hidden="true"]{visibility:hidden;pointer-events:none}
#growth .learning-stage-name{font-size:15px;line-height:1.8;letter-spacing:.08em;color:var(--learning-teal);margin-bottom:13px}
#growth .learning-stage h3{font-size:25px;line-height:1.7;letter-spacing:-.035em;font-weight:700;text-wrap:pretty}
#growth .learning-stage h3 em{font-style:normal;font-size:39px;line-height:1.5;letter-spacing:-.05em;color:var(--learning-teal)}
#growth .learning-description{font-size:16px;line-height:1.95;letter-spacing:.01em;margin-top:16px;text-wrap:pretty}
#growth .learning-conversation{position:relative;display:flex;align-items:center;justify-content:space-around;gap:12px;min-height:90px;margin-top:22px;isolation:isolate}
#growth .learning-conversation::before{content:"";position:absolute;width:39%;height:80px;left:31%;top:3px;z-index:-1;transform:rotate(12deg);background:#f6f0e5;border-radius:63% 37% 61% 39% / 49% 61% 39% 51%}
#growth .learning-conversation>span{font-size:26px;line-height:1.6;font-weight:400;letter-spacing:.08em;position:relative;padding-bottom:14px}
#growth .learning-conversation>span:nth-child(2){transform:translateY(13px)}
#growth .learning-conversation svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#8db7c2;stroke-width:.9;pointer-events:none}
#growth .learning-conversation path{stroke-dasharray:1;stroke-dashoffset:0}
@media(min-width:1001px) and (max-width:1200px){#growth .growth-inner{gap:44px}#growth h2{font-size:40px}#growth .learning-stage h3{font-size:23px}#growth .learning-stage h3 em{font-size:35px}#growth .learning-period-values{gap:10px 17px}}
@media(max-width:1000px){
 #growth.growth-section{padding:64px 0 66px}
 #growth .growth-inner{width:min(100% - 48px,720px);display:block}
 #growth h2{font-size:clamp(34px,5.9vw,48px);line-height:1.48;letter-spacing:-.055em}
 #growth .learning-intro{max-width:620px}
 #growth .learning-switcher{margin-top:34px}
 #growth .learning-tabs{margin-top:0}
 #growth::before{width:500px;height:500px;left:-390px;top:27%;border-width:50px}
}
@media(max-width:760px){
 #growth.growth-section{padding:56px 0 52px;scroll-margin-top:64px}
 #growth .growth-inner{width:calc(100% - 40px)}
 #growth .learning-overview>.eyebrow{font-size:15px;margin-bottom:21px}
 #growth h2{font-size:clamp(31px,8.7vw,45px);line-height:1.55;letter-spacing:-.055em}
 #growth .learning-intro{font-size:16px;line-height:1.9;margin-top:20px}
 #growth .learning-intro>br{display:none}
 #growth .learning-period{margin-top:24px}
 #growth .learning-period-values{gap:12px 18px;margin-top:9px}
 #growth .learning-period-values>p{font-size:20px}
 #growth .learning-period-values strong{font-size:30px;margin-inline:3px}
 #growth .learning-period-note{font-size:14px;margin-top:10px}
 #growth .learning-tabs{grid-template-columns:minmax(0,.9fr) minmax(0,.9fr) minmax(0,1.3fr) minmax(0,.9fr);gap:6px;margin-bottom:23px}
 #growth .learning-tabs button{min-height:56px;font-size:16px;padding:9px 4px 13px}
 #growth .learning-tabs button::after{bottom:6px}
 #growth .learning-stage-name{font-size:15px;margin-bottom:10px}
 #growth .learning-stage h3{font-size:22px;line-height:1.65;letter-spacing:-.035em}
 #growth .learning-stage h3 em{font-size:31px;line-height:1.6}
 #growth .learning-description{font-size:16px;line-height:1.9;margin-top:13px;letter-spacing:0}
 #growth .learning-copy-break{display:none}
 #growth .learning-conversation{min-height:80px;margin-top:18px;gap:8px}
 #growth .learning-conversation>span{font-size:23px;letter-spacing:.04em}
 #growth .learning-conversation::before{height:72px}
 #growth::before{width:470px;height:470px;left:-394px;top:22%;border-width:45px;opacity:.65}
}
@media(prefers-reduced-motion:reduce){#growth .learning-stage,#growth .learning-tabs button,#growth .learning-tabs button::after,#growth .learning-tab-indicator,#growth .learning-conversation path{animation:none!important;transition:none!important}}
