/*!
 * Heroes Journey LP (r08) - styles for the page template "ヒーローズジャーニー研修LP".
 * Every rule is scoped to .hj-lp (the template's <main>). html/:root rules are kept
 * because this file is enqueued only on pages that use the template.
 */
/* Guard against generic theme styles (placed first so the LP rules below win). */
body.hj-lp-page{margin:0;overflow-x:hidden}
.hj-lp :is(h1,h2,h3,h4,h5,h6){color:inherit;font-family:inherit;text-transform:none;letter-spacing:inherit}
.hj-lp :is(h1,h2,h3,h4,h5,h6,p,ul,ol,figure,blockquote){margin:0}
.hj-lp img{border:0;box-shadow:none}
/* Reset inherited text settings coming from the theme's <body>. */
.hj-lp{letter-spacing:normal;word-spacing:normal;text-align:start;text-transform:none;font-style:normal;font-weight:400;word-break:normal;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;text-rendering:auto}
/* Restore browser defaults that theme resets often remove (theme rules must not leak into the LP). */
.hj-lp :is(h1,h2,h3,h4,h5,h6,b,strong,th,dt){font-weight:700}
.hj-lp :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,td,th,span,a,label,time,figcaption,blockquote,summary){font-family:inherit;font-size:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;text-align:inherit}
.hj-lp :is(h1,h2,h3,h4,h5,h6){font-size:revert}

/* Base delivery styles */
:root{--ink:#152c3b;--muted:#546977;--blue:#007bb1;--navy:#07539b;--sky:#087fae;--lime:#dce522;--paper:#fff;--line:#dce5e9;--section:#f0f5f6;--header:84px;--font:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif}
.hj-lp *, .hj-lp{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 24px)}.hj-lp{margin:0;color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.9;background:var(--paper);overflow-wrap:anywhere}.hj-lp a{color:inherit;text-decoration:none}.hj-lp button{font:inherit}.hj-lp button,.hj-lp a,.hj-lp summary{-webkit-tap-highlight-color:transparent}.hj-lp button{cursor:pointer}.hj-lp img{max-width:100%;display:block}.hj-lp h1,.hj-lp h2,.hj-lp h3,.hj-lp h4,.hj-lp p{margin:0}.hj-lp h1,.hj-lp h2,.hj-lp h3,.hj-lp h4{line-height:1.6}.hj-lp h2{font-size:clamp(26.4px,2.6vw,40px);letter-spacing:.025em}.hj-lp h3{font-size:20px}.hj-lp em{font-style:normal;color:var(--blue)}.hj-lp a:focus-visible,.hj-lp button:focus-visible,.hj-lp summary:focus-visible{outline:3px solid #f88634;outline-offset:5px}.hj-lp .wrap{width:min(1180px,calc(100% - 88px));margin-inline:auto}.hj-lp .section{padding:110px 0}.hj-lp .eyebrow{font-family:Arial,sans-serif;font-size:14px;letter-spacing:.13em;font-weight:600;margin-bottom:22px;line-height:1.5}.hj-lp .eyebrow:before{content:"";display:inline-block;width:25px;height:3px;background:var(--lime);vertical-align:middle;margin:0 13px 3px 0}.hj-lp .narrow{max-width:960px}.hj-lp .mobile-only{display:none}.hj-lp .skip{position:fixed;left:20px;top:-90px;background:white;padding:15px;z-index:100}.hj-lp .skip:focus{top:10px}.hj-lp .site-header{height:var(--header);padding:0 3.4%;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.98);position:sticky;top:0;z-index:30;border-bottom:1px solid #e9eef0;gap:25px}.hj-lp .brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.hj-lp .brand-mark{font-family:Georgia,serif;font-size:35.2px;line-height:1;color:var(--navy);letter-spacing:-.15em;padding-right:8px}.hj-lp .brand-mark span{color:var(--blue)}.hj-lp .brand-name{font:700 15.2px/1.35 Arial,sans-serif;letter-spacing:.08em}.hj-lp .brand-name small{display:block;font-weight:400;font-size:12px;letter-spacing:.1em;margin-top:4px}.hj-lp .site-header nav{display:flex;gap:27px;font-size:14px;font-weight:700}.hj-lp .site-header nav a{padding:8px 0;position:relative}.hj-lp .site-header nav a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--blue);transition:width .2s}.hj-lp .site-header nav a:hover:after{width:100%}.hj-lp .header-contact{background:var(--navy);color:white;padding:10px 23px;font-size:14px;font-weight:700;white-space:nowrap}.hj-lp .header-contact span{margin-left:20px}.hj-lp .hero{height:min(810px,calc(100svh - var(--header)));min-height:650px;position:relative;display:grid;align-items:center;text-align:center;isolation:isolate;overflow:hidden}.hj-lp .hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 50%;z-index:-2}.hj-lp .hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,23,31,.43),transparent 35%);z-index:-1}.hj-lp .hero-content{max-width:950px;width:80%;margin:5% auto 0;padding:18px 0 35px;color:#173b4e}.hj-lp .hero-label{font-weight:700;font-size:14.4px;letter-spacing:.09em;margin-bottom:29px}.hj-lp .hero-kicker{font-size:clamp(16px,1.5vw,22.4px);font-weight:700;letter-spacing:.12em;margin-bottom:12px}.hj-lp .hero h1{font-size:clamp(32px,4.1vw,59.2px);font-weight:700;line-height:1.65;letter-spacing:.045em}.hj-lp .hero h1 span{color:#006da8}.hj-lp .hero-credit{font-size:14px;margin:22px 0 30px;font-weight:700}.hj-lp .hero-credit span{color:var(--blue);margin:0 12px}.hj-lp .hero-actions{display:flex;justify-content:center;gap:14px}.hj-lp .button{min-height:57px;display:inline-flex;justify-content:space-between;align-items:center;gap:35px;padding:15px 27px;font-weight:700;font-size:15px;line-height:1.5;transition:background .2s,transform .2s,box-shadow .2s}.hj-lp .button:hover{transform:translateY(-3px);box-shadow:0 7px 20px #00162520}.hj-lp .button-blue{background:var(--navy);color:white}.hj-lp .button-white{background:#ffffffed;border:1px solid #9bb3c2;color:var(--navy)}.hj-lp .button-dark{background:var(--ink);color:#fff}.hj-lp .scroll-cue{position:absolute;left:50%;bottom:32px;transform:translateX(-50%);display:flex;gap:22px;align-items:center;color:#fff;font:600 12px Arial,sans-serif;letter-spacing:.12em;white-space:nowrap}.hj-lp .scroll-cue>span:last-child{font-size:26px}.hj-lp .hero-caption{position:absolute;bottom:36px;left:3.4%;font-size:12px;color:#fff;letter-spacing:.12em}.hj-lp .concept-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:80px}.hj-lp .concept h2{font-size:clamp(26.4px,2.6vw,38.4px)}.hj-lp .side-note{margin-top:40px;padding-left:20px;border-left:2px solid var(--lime);color:var(--muted);font-size:15px;letter-spacing:.05em}.hj-lp .concept-copy{padding-top:6px}.hj-lp .concept-copy p+p{margin-top:23px}.hj-lp .concept-copy p{font-size:16px;line-height:2.05}.hj-lp .concept-key{border-block:1px solid var(--line);padding-block:24px;font-size:18px!important}.hj-lp .concept-key strong{color:var(--navy)}.hj-lp .supervisor{margin-top:65px;max-width:990px;display:grid;grid-template-columns:185px 1fr;gap:40px;padding:40px 48px;background:var(--section);align-items:center}.hj-lp .supervisor>img{width:180px;height:235px;object-fit:cover;object-position:50% 20%;align-self:end}.hj-lp .supervisor .eyebrow{margin-bottom:12px;font-size:12px}.hj-lp .supervisor h3{font-size:20px;color:var(--navy)}.hj-lp .supervisor-body>p:not(.eyebrow){font-size:14px;margin-top:14px}.hj-lp .supervisor .supervisor-name{font-size:20px!important;font-weight:700}.hj-lp .supervisor-name small{font-size:14px;font-weight:400;margin-left:7px}.hj-lp .supervisor .bio{font-size:14px;color:var(--muted);line-height:1.8}.hj-lp .text-link{font-size:14px;border-bottom:1px solid #aebfc8;display:inline-block;margin-top:12px}.hj-lp .purpose{background:#ecf5f8;text-align:center;padding-bottom:30px}.hj-lp .purpose p:not(.eyebrow):not(.english-statement){margin:28px auto 0;max-width:890px}.hj-lp .english-statement{font:italic clamp(38.4px,5.8vw,84.8px)/1.4 Georgia,serif;color:#6d9ab1;margin-top:50px;letter-spacing:-.03em}.hj-lp .journey-section{background:var(--sky);color:#fff;position:relative}.hj-lp .journey-sticky{position:relative;overflow:hidden;isolation:isolate;padding:60px 0 30px}.hj-lp .journey-world{position:absolute;z-index:-1;inset:51% 0 0;background:var(--navy);transition:top .25s ease}.hj-lp .journey-heading h2{font-size:clamp(22.4px,2.3vw,32px);line-height:1.6}.hj-lp .journey-heading .eyebrow{margin-bottom:15px}.hj-lp .journey-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);gap:60px;align-items:center;margin-top:8px}.hj-lp .journey-map{position:relative;aspect-ratio:1/1;width:100%;max-width:650px;margin:auto}.hj-lp .orbit{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.hj-lp .orbit circle{fill:none;stroke:#ffffff85;stroke-width:1.3;stroke-dasharray:2 7}.hj-lp .orbit .orbit-progress{stroke:var(--lime);stroke-width:3;stroke-dasharray:1458;stroke-dashoffset:1458;transform:rotate(-90deg);transform-origin:300px 300px;transition:stroke-dashoffset .35s}.hj-lp .orbit-arrow{fill:white}.hj-lp .map-center{position:absolute;inset:23%;border-radius:50%;background:white;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 12px 45px #03539014}.hj-lp .map-center>span{font:normal clamp(22.4px,2.8vw,41.6px)/1.1 Georgia,serif;color:var(--navy);letter-spacing:.045em}.hj-lp .map-center p{margin-top:18px;font-size:clamp(14px,1.25vw,17.6px);line-height:1.8}.hj-lp .phase-key{display:flex;gap:16px;margin-top:17px;font-size:13px}.hj-lp .phase-key span:nth-child(1){color:#087a94}.hj-lp .phase-key span:nth-child(2){color:#a9620c}.hj-lp .phase-key span:nth-child(3){color:#8b54a8}.hj-lp .stage-button{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent;padding:8px;color:white;width:126px;text-align:center;line-height:1.4;z-index:3;display:flex;align-items:center;flex-direction:column;gap:6px}.hj-lp .stage-button b{border:1px solid #ffffffaa;background:#006fa3;color:white;font:500 14px/40px Arial,sans-serif;width:42px;height:42px;border-radius:50%;transition:background .2s,color .2s,transform .2s}.hj-lp .stage-button[data-phase="試練"] b{background:#07539b}.hj-lp .stage-button[data-phase="帰還"] b{background:#6d63a8}.hj-lp .stage-button[aria-pressed="true"] b{background:var(--lime);border-color:var(--lime);color:var(--ink);transform:scale(1.12);box-shadow:0 0 0 6px #ffffff25}.hj-lp .stage-button:hover b{transform:scale(1.1)}.hj-lp .stage-button span{font-size:13px;font-weight:700;max-width:124px;text-shadow:0 1px 4px #07539b33}.hj-lp .world-label{position:absolute;font-weight:700;letter-spacing:.09em;color:#fff;line-height:1.5;z-index:1}.hj-lp .world-label small{display:block;font:500 12px/1.8 Arial,sans-serif;letter-spacing:.12em}.hj-lp .world-label.known{right:0;top:1%}.hj-lp .world-label.unknown{left:0;bottom:0}.hj-lp .journey-lead{font-size:16.8px;font-weight:700;line-height:2;margin-bottom:16px}.hj-lp .map-instruction{font-size:13px;color:#fff;margin-bottom:14px}.hj-lp .stage-card{padding:28px;background:white;color:var(--ink);min-height:350px;border-top:3px solid var(--lime);box-shadow:0 20px 35px #04366922}.hj-lp .stage-meta{display:flex;align-items:center;justify-content:space-between;color:var(--blue);font-size:13px;letter-spacing:.06em;margin-bottom:15px;font-weight:700}.hj-lp .stage-card h3{font-size:20px;margin-bottom:20px}.hj-lp .card-label{color:var(--muted);font-size:12px;display:block;margin-bottom:5px}.hj-lp .stage-card p{font-size:15px;line-height:1.9}.hj-lp .stage-learning{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}.hj-lp .stage-learning p{color:var(--navy)}.hj-lp .stage-navigation{display:flex;align-items:center;justify-content:space-between;margin-top:15px}.hj-lp .stage-navigation button{color:white;border:1px solid #ffffff66;background:transparent;width:42px;height:42px;font-size:20px;line-height:1}.hj-lp .stage-navigation button:hover{background:#ffffff25}.hj-lp .stage-navigation span{font-size:13px}.hj-lp .journey-footer{display:flex;justify-content:space-between;gap:20px;font-size:14px;margin-top:15px;padding-top:22px;border-top:1px solid #ffffff40}.hj-lp .journey-footer a{white-space:nowrap}.hj-lp .journey-footer a span{margin-left:15px}.hj-lp .goals{background:#f1f5f7}.hj-lp .goals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;margin-top:46px}.hj-lp .goal-card{background:#fff;display:flex;flex-direction:column}.hj-lp .goal-text{padding:30px 28px 32px;flex:1}.hj-lp .goal-number{font:italic 16px Georgia,serif;color:var(--blue);display:block;margin-bottom:15px}.hj-lp .goal-card h3{font-size:19px;line-height:1.8;margin-bottom:20px}.hj-lp .goal-card p{font-size:15px;line-height:1.9;color:var(--muted)}.hj-lp .goal-card img{width:100%;height:160px;object-fit:cover}.hj-lp .goal-english{font:italic clamp(32px,4.8vw,64px)/1.3 Georgia,serif;color:#7392a4;text-align:center;margin-top:48px}.hj-lp .features h2{margin-bottom:55px}.hj-lp .feature-row{display:grid;grid-template-columns:50px 1.1fr .8fr;gap:30px;align-items:center;padding:38px 0;border-top:1px solid var(--line)}.hj-lp .feature-number{align-self:start;display:grid;place-items:center;background:var(--lime);width:44px;height:44px;border-radius:50%;font:italic 18px Georgia,serif}.hj-lp .feature-copy h3{font-size:22px;margin-bottom:19px}.hj-lp .feature-copy p{font-size:16px;max-width:540px;color:var(--muted)}.hj-lp .feature-diagram{min-height:205px;margin-left:35px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#f5f9fa;padding:22px;position:relative;text-align:center}.hj-lp .feature-diagram small{font-size:12px;color:var(--muted);margin-top:12px}.hj-lp .vertical-growth{color:var(--navy);font-size:14px}.hj-lp .vertical-growth>span{display:block;font-size:25px;line-height:1}.hj-lp .growth-center{background:var(--blue);color:white;padding:4px 25px;font-weight:700;margin:8px}.hj-lp .horizontal-growth{font-size:14px;color:var(--navy)}.hj-lp .horizontal-growth span{font-size:20px;margin-left:10px}.hj-lp .cycle-diagram ol{padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;list-style:none;gap:14px;width:100%;counter-reset:none}.hj-lp .cycle-diagram li{font-size:16px;font-weight:700;line-height:1.5;background:white;border-left:3px solid var(--blue);padding:9px 6px;position:relative}.hj-lp .cycle-diagram li:after{content:"→";position:absolute;right:-14px;top:20%;color:var(--blue)}.hj-lp .cycle-diagram li:nth-child(2):after{content:"↓";right:40%;top:83%}.hj-lp .cycle-diagram li:nth-child(3){grid-row:2;grid-column:2}.hj-lp .cycle-diagram li:nth-child(3):after{content:"←";left:-15px;right:auto}.hj-lp .cycle-diagram li:nth-child(4):after{content:"↑";top:-21px;right:40%}.hj-lp .cycle-diagram li span{font-size:12px;color:var(--muted);display:block;font-weight:400}.hj-lp .feedback-top{background:white;padding:5px 25px;font-size:14px;position:relative;margin-bottom:25px}.hj-lp .feedback-top:after{content:"↓";position:absolute;left:45%;bottom:-29px;color:var(--blue)}.hj-lp .feedback-middle{display:flex;align-items:center;gap:15px;width:100%;justify-content:center;font-size:13px}.hj-lp .feedback-middle b{background:var(--navy);color:white;width:68px;height:68px;display:grid;place-items:center;border-radius:50%;font-size:18px;flex-shrink:0}.hj-lp .feedback-middle span{background:white;padding:7px 11px}.hj-lp .program{background:#eaf2f5}.hj-lp .program-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:50px}.hj-lp .program-heading>p{color:var(--muted);font-size:15px}.hj-lp .program-flow{display:grid;grid-template-columns:1fr 185px 1fr;align-items:stretch}.hj-lp .program-flow article{background:white;padding:35px 36px;display:flex;flex-direction:column;align-items:start;border-top:4px solid var(--blue)}.hj-lp .flow-label{font:600 13px Arial,sans-serif;letter-spacing:.1em;color:var(--blue);margin-bottom:23px}.hj-lp .flow-label strong{font-weight:400;font-size:38.4px;margin-left:7px;vertical-align:middle}.hj-lp .program-flow h3{font-size:22px;line-height:1.7;margin-bottom:18px}.hj-lp .program-flow article>p:not(.flow-label){font-size:15px;color:var(--muted);margin-bottom:22px}.hj-lp .program-flow a{font-size:14px;font-weight:700;color:var(--navy);margin-top:auto}.hj-lp .program-flow a span{margin-left:20px}.hj-lp .interval{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px 10px;color:var(--navy)}.hj-lp .interval>span{font:600 12px Arial,sans-serif;letter-spacing:.15em}.hj-lp .interval>strong{font-size:40px;line-height:1.5;margin-top:12px}.hj-lp .interval strong span{font-size:16px;margin-left:4px}.hj-lp .interval>p{font-size:14px;font-weight:700}.hj-lp .interval>div{font-size:32px;font-weight:400;line-height:1.8}.hj-lp .interval small{font-size:13px;color:var(--muted);line-height:1.65}.hj-lp .program-note{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;font-size:14px;margin:28px 0 60px}.hj-lp .program-note span{border:1px solid #bacbd4;padding:0 9px;font-size:12px;margin-left:20px}.hj-lp .curriculum-heading{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:20px}.hj-lp .curriculum-heading p{font-size:14px;color:var(--muted)}.hj-lp details summary{list-style:none;cursor:pointer;position:relative}.hj-lp summary::-webkit-details-marker{display:none}.hj-lp .curriculum{margin-bottom:15px;background:white}.hj-lp .curriculum>summary{background:var(--navy);color:white;display:flex;gap:28px;align-items:center;padding:25px 70px 25px 32px;font-weight:700;font-size:18px;line-height:1.6}.hj-lp .curriculum>summary>span{font-size:14px;color:#caedff;flex-shrink:0}.hj-lp .curriculum summary i,.hj-lp .faq summary i{width:15px;height:15px;position:absolute;right:30px;top:50%;transform:translateY(-50%)}.hj-lp summary i:before,.hj-lp summary i:after{content:"";background:currentColor;position:absolute;top:7px;left:0;width:15px;height:1px}.hj-lp summary i:after{transform:rotate(90deg);transition:transform .2s}.hj-lp details[open]>summary i:after{transform:rotate(0)}.hj-lp .curriculum-body{padding:10px 38px 20px}.hj-lp .curriculum-body ol{list-style:none;padding:0;margin:0;counter-reset:curriculum}.hj-lp .curriculum-body li{position:relative;padding:23px 0 23px 58px;border-bottom:1px solid var(--line);counter-increment:curriculum}.hj-lp .curriculum-body li:last-child{border:0}.hj-lp .curriculum-body li:before{content:counter(curriculum,decimal-leading-zero);position:absolute;left:0;top:24px;font:400 17.6px/1.7 Georgia,serif;color:var(--blue)}.hj-lp .curriculum h4{font-size:16px;line-height:1.75;margin-bottom:7px}.hj-lp .curriculum-body p{font-size:15px;color:var(--muted);line-height:1.9}.hj-lp .process-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:80px}.hj-lp .process-layout>div>p:last-child{color:var(--muted);margin-top:25px}.hj-lp .process-list{list-style:none;margin:0;padding:0}.hj-lp .process-list li{display:flex;gap:25px;padding-bottom:25px;position:relative}.hj-lp .process-list li:before{content:"";position:absolute;top:38px;left:20px;height:calc(100% - 38px);width:1px;background:var(--line)}.hj-lp .process-list li:last-child:before{display:none}.hj-lp .process-list li>span{border:1px solid var(--line);width:42px;height:42px;display:grid;place-items:center;border-radius:50%;flex-shrink:0;font:400 14px Georgia,serif;color:var(--blue)}.hj-lp .process-list h3{font-size:18px;line-height:1.75;margin:3px 0 7px}.hj-lp .process-list p{font-size:15px;color:var(--muted)}.hj-lp .faq{background:#f4f7f8}.hj-lp .faq-layout{display:grid;grid-template-columns:1fr 1.8fr;gap:65px}.hj-lp .faq-items details{border-bottom:1px solid #ccdce3}.hj-lp .faq-items details:first-child{border-top:1px solid #ccdce3}.hj-lp .faq summary{padding:25px 40px 25px 40px;font-weight:700;font-size:16px;line-height:1.9}.hj-lp .faq summary>span{position:absolute;left:0;color:var(--blue);font:400 22px/1.5 Georgia,serif}.hj-lp .faq summary i{right:5px}.hj-lp .faq details>p{font-size:15px;color:var(--muted);padding:0 25px 28px 40px;line-height:2}.hj-lp .contact{background:var(--lime);text-align:center;padding:86px 0 70px}.hj-lp .contact .eyebrow{letter-spacing:.12em}.hj-lp .contact .eyebrow:before{background:var(--ink)}.hj-lp .contact h2{font-size:clamp(32px,3.2vw,48px);line-height:1.7}.hj-lp .contact .wrap>p:not(.eyebrow):not(.contact-note){margin:24px 0 32px;font-size:16px}.hj-lp .contact .button{min-width:340px;min-height:68px}.hj-lp .contact-note{font-size:13px;margin-top:17px}.hj-lp footer{background:#152c3b;color:white;padding:50px 0 20px}.hj-lp .footer-inner{display:flex;align-items:center;gap:45px}.hj-lp .footer-brand{font:600 26.4px Arial,sans-serif;letter-spacing:.01em}.hj-lp .footer-brand span{font:400 12px var(--font);display:block;letter-spacing:.13em;margin-top:6px}.hj-lp .footer-inner p{font-size:13px;line-height:1.9;color:#c4d4df}.hj-lp .back-top{margin-left:auto;font-size:13px}.hj-lp .footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff26;margin-top:35px;padding-top:18px;gap:15px}.hj-lp .footer-bottom small,.hj-lp .footer-bottom a{font-size:12px;color:#c4d4df}
@media(min-width:1050px) and (min-height:820px){.hj-lp .js .journey-section{height:210vh;min-height:1750px}.hj-lp .js .journey-sticky{position:sticky;top:var(--header);min-height:calc(100vh - var(--header));padding-top:32px}.hj-lp .journey-layout{gap:55px;grid-template-columns:minmax(0,1.25fr) minmax(300px,.8fr)}.hj-lp .journey-map{max-width:580px}.hj-lp .journey-heading h2{font-size:27.2px}.hj-lp .journey-heading .eyebrow{margin-bottom:10px}.hj-lp .journey-story{padding-top:6px}.hj-lp .journey-lead{font-size:15px;line-height:1.8}.hj-lp .stage-card{min-height:300px;padding:23px}.hj-lp .stage-card h3{margin-bottom:14px}.hj-lp .stage-card p{font-size:14px}.hj-lp .stage-learning{margin-top:13px;padding-top:13px}.hj-lp .journey-footer{margin-top:0;padding-top:17px}}
@media(max-width:1100px){.hj-lp .site-header nav{gap:17px;font-size:13px}.hj-lp .brand-name{font-size:14px}.hj-lp .wrap{width:calc(100% - 64px)}.hj-lp .concept-layout{gap:45px}.hj-lp .journey-layout{gap:22px}.hj-lp .journey-map{font-size:14px}.hj-lp .stage-button{width:105px}.hj-lp .stage-button span{font-size:12px}.hj-lp .map-center{inset:24%}.hj-lp .map-center p{font-size:14px;margin-top:12px}.hj-lp .phase-key{margin-top:10px;gap:12px}.hj-lp .feature-diagram{margin-left:0}.hj-lp .program-flow{grid-template-columns:1fr 150px 1fr}.hj-lp .program-flow article{padding:28px}.hj-lp .faq-layout{gap:35px}}
@media(max-width:900px){:root{--header:72px}.hj-lp .site-header nav{display:none}.hj-lp .section{padding:78px 0}.hj-lp .hero{min-height:600px;height:690px}.hj-lp .hero-image{object-position:center}.hj-lp .hero-content{width:88%;margin-top:3%}.hj-lp .hero h1{font-size:41.6px}.hj-lp .hero-caption{display:none}.hj-lp .hero-label{font-size:14px}.hj-lp .hero-credit{font-size:13px}.hj-lp .concept-layout{gap:35px;grid-template-columns:.8fr 1.1fr}.hj-lp .concept h2{font-size:27.2px}.hj-lp .concept-copy p{font-size:15px}.hj-lp .supervisor{width:calc(100% - 64px);padding:30px;gap:25px;grid-template-columns:150px 1fr}.hj-lp .supervisor>img{width:150px;height:220px}.hj-lp .journey-layout{grid-template-columns:1fr;gap:25px;max-width:630px}.hj-lp .journey-map{max-width:580px}.hj-lp .journey-story{display:grid;grid-template-columns:1fr;max-width:550px;width:100%;margin:auto}.hj-lp .journey-lead{display:none}.hj-lp .map-instruction{text-align:center;margin-bottom:20px}.hj-lp .stage-card{min-height:0}.hj-lp .stage-button span{font-size:14px}.hj-lp .stage-button{width:125px}.hj-lp .map-center>span{font-size:35.2px}.hj-lp .map-center p{font-size:18px}.hj-lp .phase-key{font-size:14px;margin-top:15px}.hj-lp .journey-heading{text-align:center}.hj-lp .journey-footer{margin-top:35px;align-items:center;flex-direction:column;gap:10px}.hj-lp .goals-grid{gap:15px}.hj-lp .goal-text{padding:25px 20px}.hj-lp .goal-card h3{font-size:16.8px}.hj-lp .goal-card p{font-size:14px}.hj-lp .goal-card img{height:140px}.hj-lp .feature-row{grid-template-columns:40px 1fr .85fr;gap:22px}.hj-lp .feature-copy h3{font-size:19px}.hj-lp .feature-copy p{font-size:15px}.hj-lp .feature-diagram{padding:15px}.hj-lp .feedback-middle{gap:6px}.hj-lp .feedback-middle span{padding:5px 7px}.hj-lp .feedback-middle b{width:57px;height:57px}.hj-lp .program-heading>p{max-width:260px}.hj-lp .program-flow{grid-template-columns:1fr 120px 1fr}.hj-lp .program-flow article{padding:25px 21px}.hj-lp .program-flow h3{font-size:18px}.hj-lp .program-note{margin-bottom:45px}.hj-lp .curriculum-heading{align-items:start}.hj-lp .process-layout{gap:40px;grid-template-columns:1fr 1.1fr}.hj-lp .process-layout h2{font-size:27.2px}.hj-lp .faq-layout{grid-template-columns:1fr;gap:35px}.hj-lp .footer-inner{gap:25px}.hj-lp .footer-brand{font-size:23.2px}}
@media(max-width:600px){:root{--header:66px}.hj-lp .wrap{width:calc(100% - 40px)}.hj-lp .section{padding:65px 0}.hj-lp .eyebrow{font-size:12px;margin-bottom:19px;letter-spacing:.08em}.hj-lp .site-header{gap:12px;padding:0 18px}.hj-lp .brand{gap:8px}.hj-lp .brand-mark{font-size:28.8px}.hj-lp .brand-name{font-size:12px;letter-spacing:.06em}.hj-lp .brand-name small{font-size:12px;letter-spacing:.06em}.hj-lp .header-contact{font-size:12px;padding:10px 12px}.hj-lp .header-contact span{margin-left:8px}.hj-lp .hero{min-height:620px;height:calc(100svh - var(--header));max-height:760px}.hj-lp .hero-image{object-fit:cover;object-position:50% 50%}.hj-lp .hero-content{width:92%;margin-top:0;padding:25px 12px;background:radial-gradient(ellipse at center,#ffffffdd 0%,#ffffffaa 45%,#ffffff00 73%)}.hj-lp .hero-label{font-size:12px;max-width:290px;margin:0 auto 25px;letter-spacing:.04em;line-height:1.9}.hj-lp .hero-kicker{font-size:15px;letter-spacing:.02em}.hj-lp .hero h1{font-size:clamp(28px,6.9vw,41.6px);line-height:1.75;letter-spacing:.01em}.hj-lp .hero-credit{font-size:12px;line-height:1.9;margin:20px 0 25px}.hj-lp .mobile-only{display:block}.hj-lp .desktop-only{display:none}.hj-lp .hero-actions{flex-direction:column;gap:10px;max-width:265px;margin:auto}.hj-lp .button{font-size:14px;min-height:52px;padding:14px 22px}.hj-lp .hero-actions .button{width:100%}.hj-lp .scroll-cue{font-size:12px;bottom:20px;gap:15px}.hj-lp .concept-layout{display:block}.hj-lp .concept h2{font-size:29.6px;line-height:1.65}.hj-lp .concept h2 br:nth-of-type(1){display:none}.hj-lp .side-note{display:none}.hj-lp .concept-copy{margin-top:30px}.hj-lp .concept-copy p{font-size:16px;line-height:2}.hj-lp .concept-key{font-size:17px!important}.hj-lp .supervisor{margin-top:38px;padding:25px;width:calc(100% - 40px);display:block;position:relative;overflow:hidden}.hj-lp .supervisor>img{width:83px;height:120px;float:right;margin:35px 0 15px 18px}.hj-lp .supervisor h3{font-size:17px}.hj-lp .supervisor .eyebrow{font-size:12px}.hj-lp .supervisor .bio{clear:both;padding-top:5px}.hj-lp .supervisor .supervisor-name{font-size:18px!important}.hj-lp .purpose{padding-bottom:25px}.hj-lp .purpose h2{font-size:24.8px;line-height:1.8}.hj-lp .purpose p:not(.eyebrow):not(.english-statement){font-size:15px;text-align:left;line-height:2}.hj-lp .english-statement{font-size:34.4px;margin-top:35px}.hj-lp .journey-sticky{padding:44px 0 30px}.hj-lp .journey-heading h2{font-size:20.8px;line-height:1.8}.hj-lp .journey-layout{width:100%;gap:20px;margin-top:25px}.hj-lp .journey-map{width:100%;max-width:470px}.hj-lp .stage-button{width:88px;padding:5px;gap:3px}.hj-lp .stage-button b{width:34px;height:34px;line-height:32px;font-size:13px}.hj-lp .stage-button span{font-size:12px;max-width:88px;line-height:1.35}.hj-lp .map-center{inset:25%}.hj-lp .map-center>span{font-size:22.4px}.hj-lp .map-center p{font-size:13px;line-height:1.7;margin-top:10px}.hj-lp .phase-key{font-size:12px;margin-top:8px;gap:10px}.hj-lp .world-label{font-size:13px;letter-spacing:0}.hj-lp .world-label.known{right:4%;top:0}.hj-lp .world-label.unknown{left:4%;bottom:0}.hj-lp .world-label small{font-size:12px}.hj-lp .journey-story{width:calc(100% - 40px)}.hj-lp .map-instruction{font-size:12px}.hj-lp .stage-card{padding:23px;min-height:330px}.hj-lp .stage-card h3{font-size:19px}.hj-lp .stage-card p{font-size:15px}.hj-lp .journey-footer{font-size:13px;margin-top:25px;text-align:center}.hj-lp .goals h2{font-size:25.6px}.hj-lp .goals-grid{grid-template-columns:1fr;margin-top:30px;gap:20px}.hj-lp .goal-card{display:grid;grid-template-columns:1fr 29%;min-height:220px;overflow:hidden}.hj-lp .goal-text{padding:25px 20px}.hj-lp .goal-card h3{font-size:18px;margin-bottom:12px}.hj-lp .goal-card p{font-size:15px}.hj-lp .goal-card img{height:100%;width:100%;object-fit:cover}.hj-lp .goal-number{margin-bottom:10px}.hj-lp .goal-english{font-size:28.8px;margin-top:30px}.hj-lp .features h2{font-size:25.6px;margin-bottom:35px}.hj-lp .feature-row{grid-template-columns:36px 1fr;gap:18px;padding:30px 0}.hj-lp .feature-number{width:35px;height:35px;font-size:16px}.hj-lp .feature-copy h3{font-size:19px}.hj-lp .feature-copy p{font-size:16px}.hj-lp .feature-diagram{grid-column:2;width:100%;min-height:180px;margin-top:5px;padding:22px}.hj-lp .feedback-middle{gap:17px}.hj-lp .program-heading{display:block;margin-bottom:30px}.hj-lp .program-heading h2{font-size:29.6px}.hj-lp .program-heading>p{margin-top:23px;max-width:none}.hj-lp .program-heading>p br{display:none}.hj-lp .program-flow{grid-template-columns:1fr}.hj-lp .program-flow article{padding:28px}.hj-lp .program-flow h3{font-size:22px}.hj-lp .flow-label{margin-bottom:15px}.hj-lp .program-flow article>p:not(.flow-label){font-size:16px}.hj-lp .interval{padding:23px 20px;display:grid;grid-template-columns:1fr 1fr;text-align:left;column-gap:20px;max-width:330px;margin:auto}.hj-lp .interval>span{grid-column:1;margin-top:7px}.hj-lp .interval>strong{grid-column:1;margin-top:0;font-size:40px}.hj-lp .interval>p{grid-column:2;grid-row:1;margin-top:5px}.hj-lp .interval small{grid-column:2;grid-row:2;font-size:14px}.hj-lp .interval>div{grid-column:1/3;transform:rotate(90deg);text-align:center;line-height:1;margin-top:10px;font-size:26px}.hj-lp .program-note{display:block;text-align:center;font-size:14px;line-height:2.2;margin:25px 0 38px}.hj-lp .program-note span{margin-left:0;margin-right:7px}.hj-lp .program-note span:nth-child(2){display:table;margin:15px auto 5px}.hj-lp .curriculum-heading{display:block;margin-bottom:18px}.hj-lp .curriculum-heading p{margin-top:10px;line-height:1.9}.hj-lp .curriculum>summary{padding:23px 43px 23px 20px;display:block;font-size:16px;line-height:1.8}.hj-lp .curriculum>summary>span{display:block;font-size:13px;margin-bottom:3px}.hj-lp .curriculum summary i{right:17px}.hj-lp .curriculum-body{padding:8px 21px}.hj-lp .curriculum-body li{padding-left:32px}.hj-lp .curriculum-body li:before{font-size:14px}.hj-lp .curriculum-body p{font-size:15px}.hj-lp .process-layout{grid-template-columns:1fr;gap:35px}.hj-lp .process-layout h2{font-size:26.4px}.hj-lp .process-layout>div>p:last-child{font-size:15px;margin-top:17px}.hj-lp .process-list li{gap:17px}.hj-lp .process-list h3{font-size:17px}.hj-lp .faq-layout{gap:25px}.hj-lp .faq h2{font-size:27.2px}.hj-lp .faq summary{padding:22px 29px 22px 30px;font-size:15px}.hj-lp .faq details>p{padding-left:30px;padding-right:0;font-size:15px}.hj-lp .contact{padding:60px 0 50px}.hj-lp .contact h2{font-size:28.8px}.hj-lp .contact .wrap>p:not(.eyebrow):not(.contact-note){font-size:15px}.hj-lp .contact .button{min-width:0;width:100%;max-width:340px;font-size:15px}.hj-lp .contact-note{font-size:12px}.hj-lp footer{padding-top:35px}.hj-lp .footer-inner{display:flex;flex-wrap:wrap;gap:22px}.hj-lp .footer-inner p{font-size:12px}.hj-lp .footer-brand{font-size:22.4px}.hj-lp .back-top{margin:5px 0 0;font-size:12px;width:100%}.hj-lp .footer-bottom{margin-top:25px}.hj-lp .footer-bottom a{font-size:12px}}
@media(max-width:370px){.hj-lp .brand-name{font-size:12px}.hj-lp .hero h1{font-size:27.2px}.hj-lp .stage-button{width:78px}.hj-lp .stage-button span{font-size:12px}.hj-lp .map-center>span{font-size:17.6px}.hj-lp .map-center p{font-size:12px}.hj-lp .phase-key{font-size:12px}.hj-lp .goal-card{grid-template-columns:1fr 24%}.hj-lp .goal-text{padding:22px 17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hj-lp *, .hj-lp,.hj-lp *:before, .hj-lp,.hj-lp *:after, .hj-lp{animation:none!important;transition:none!important}.hj-lp .js .journey-section{height:auto!important;min-height:0!important}.hj-lp .js .journey-sticky{position:relative!important;top:auto!important}}
@media print{.hj-lp .site-header,.hj-lp .hero-actions,.hj-lp .scroll-cue,.hj-lp .stage-navigation,.hj-lp .contact,.hj-lp .back-top{display:none}.hj-lp .hero{height:400px;min-height:400px}.hj-lp .section{padding:35px 0}.hj-lp .wrap{width:95%}.hj-lp .journey-section{height:auto!important;min-height:0!important}.hj-lp .journey-sticky{position:relative!important}.hj-lp .curriculum-body{display:block!important}.hj-lp .goal-card,.hj-lp .feature-row{break-inside:avoid}}

/* =========================================================
   v2 layout overrides — 2026-09-16
   Base: ver1 source / Layout reference: supplied PDF
   What is the Hero's Journey? keeps the ver1 presentation.
   ========================================================= */
:root{
  --ink:#252525;
  --muted:#555;
  --blue:#079fd2;
  --navy:#0e61aa;
  --sky:#35aadd;
  --lime:#dce600;
  --paper:#fff;
  --line:#d8d8d8;
  --section:#efefef;
  --header:0px;
  --font:"Yu Gothic","YuGothic","游ゴシック体","游ゴシック","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
}
html{scroll-padding-top:20px}
.hj-lp{font-family:var(--font);color:var(--ink);line-height:1.8;background:#fff}
.hj-lp .site-header{display:none!important}
.hj-lp .wrap{width:calc(100% - 40px);max-width:1000px;margin-inline:auto}
.hj-lp .section{padding:90px 0}
.hj-lp h1,.hj-lp h2,.hj-lp h3,.hj-lp h4,.hj-lp h5,.hj-lp p{font-family:var(--font)}
.hj-lp .design-heading{display:table;margin:0 auto 23px;font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.3;letter-spacing:.055em;border-bottom:3px solid var(--lime);padding:0 4px 4px;text-align:center}

/* KV */
.hj-lp .hero{height:780px;min-height:0;display:flex;align-items:flex-start;text-align:center;position:relative;overflow:hidden;background:#e7f4f8}
.hj-lp .hero:after{display:none}
.hj-lp .hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;z-index:0}
.hj-lp .hero-content{position:relative;z-index:1;width:100%;max-width:1000px;margin:0 auto;padding:190px 0 0;color:#222}
.hj-lp .hero-label{display:table;margin:0 auto 26px;padding:7px 14px 6px;border-top:2px solid #2e2e2e;border-bottom:2px solid #2e2e2e;font-size:17px;font-weight:700;line-height:1.3;letter-spacing:.08em}
.hj-lp .hero-kicker{font-size:28px;font-weight:700;line-height:1.5;letter-spacing:.035em;margin:0 0 5px}
.hj-lp .hero h1{font-size:36px;line-height:1.5;letter-spacing:.025em;color:#292929;font-weight:700}
.hj-lp .hero h1 span{color:inherit}
.hj-lp .hero-credit{font-size:15px;line-height:1.6;font-weight:700;margin:22px 0 30px}
.hj-lp .hero-credit span{color:#222;margin:0 8px}
.hj-lp .hero-actions{display:flex;justify-content:center;gap:24px}
.hj-lp .hero-button{width:315px;min-height:48px;padding:10px 24px;background:rgba(255,255,255,.88);border:1px solid #4c4c4c;color:#333;justify-content:center;font-size:14px;font-weight:500;box-shadow:none}
.hj-lp .hero-button:hover{transform:none;box-shadow:none;background:#fff}
.hj-lp .hero-button-download{color:#e88832;font-weight:700}
.hj-lp .scroll-cue,.hj-lp .hero-caption{display:none}

/* Concept — white card overlapping the KV */
.hj-lp .concept{position:relative;background:#efede8;padding:0 0 110px}
.hj-lp .concept-card{position:relative;z-index:3;margin-top:-245px;background:#fff;padding:52px 72px 50px;box-shadow:none}
.hj-lp .concept-layout{display:block;text-align:center}
.hj-lp .concept-layout .design-heading{margin-bottom:18px}
.hj-lp .concept h2{font-size:27px;line-height:1.65;color:var(--blue);letter-spacing:.035em;margin:0 auto 30px;font-weight:700}
.hj-lp .concept-copy{padding:0;max-width:830px;margin:0 auto}
.hj-lp .concept-copy p{font-size:14px!important;line-height:2.05;margin:0!important}
.hj-lp .concept-copy p+p{margin-top:18px!important}
.hj-lp .concept-rule{height:1px;margin:34px auto 24px;max-width:735px;background:repeating-linear-gradient(90deg,#4ba9c9 0 2px,transparent 2px 6px)}
.hj-lp .concept-supervisor-intro{text-align:center}
.hj-lp .concept-supervisor-intro h3{font-size:17px;line-height:1.6;color:#142c69;margin:0 0 5px}
.hj-lp .concept-supervisor-intro p{font-size:13px;font-weight:700;color:#142c69}
.hj-lp .supervisor{max-width:760px;margin:20px auto 0;display:grid;grid-template-columns:95px 1fr;gap:22px;padding:0;background:transparent;text-align:left;align-items:center}
.hj-lp .supervisor>img{width:90px;height:130px;object-fit:cover;object-position:50% 16%;align-self:end}
.hj-lp .supervisor-body>p:not(.eyebrow){margin:0}
.hj-lp .supervisor .supervisor-name{font-size:14px!important;font-weight:700;color:#222}
.hj-lp .supervisor-role{font-size:11px!important;line-height:1.6;margin:2px 0 7px!important}
.hj-lp .supervisor .bio{font-size:11px!important;line-height:1.75;color:#333}

/* Purpose */
.hj-lp .purpose{background:#efede8;text-align:center;padding:0 0 95px}
.hj-lp .purpose-inner{padding-top:0}
.hj-lp .purpose h2{font-size:29px;line-height:1.6;color:var(--blue);letter-spacing:.035em;margin:0 0 26px;font-weight:700}
.hj-lp .purpose p:not(.design-heading):not(.english-statement){max-width:890px;margin:0 auto;font-size:14px;line-height:2}
.hj-lp .english-statement{font-family:Arial,Helvetica,sans-serif!important;font-style:normal;font-size:70px;line-height:1.1;font-weight:700;color:#fff;margin-top:44px;letter-spacing:-.02em}

/* Hold the ver1 Hero's Journey width/visual rules */
.hj-lp .journey-section .wrap{width:min(1180px,calc(100% - 88px));max-width:none}

/* Goal */
.hj-lp .goals{position:relative;background:#f7f4ee;padding:92px 0 42px;overflow:hidden}
.hj-lp .goals:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.72),rgba(255,255,255,.35)),url("../images/helm.webp") center 61%/cover no-repeat;opacity:.56}
.hj-lp .goals-inner{position:relative;z-index:1;text-align:center}
.hj-lp .goals h2{font-size:29px;line-height:1.55;color:var(--blue);font-weight:700;letter-spacing:.03em;margin:0}
.hj-lp .goals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:35px auto 0;max-width:830px}
.hj-lp .goal-card{background:#fff;display:flex;flex-direction:column;min-height:0;text-align:center;box-shadow:none}
.hj-lp .goal-text{padding:24px 18px 18px;min-height:165px;display:flex;flex-direction:column;justify-content:flex-start}
.hj-lp .goal-card h3{font-size:16px;line-height:1.7;margin:0 0 13px}
.hj-lp .goal-card p{font-size:12px;line-height:1.8;color:#555;margin:0}
.hj-lp .goal-number{display:none}
.hj-lp .goal-card img{width:100%;height:125px;object-fit:cover;margin-top:auto}
.hj-lp .goal-english{font-family:Arial,Helvetica,sans-serif!important;font-size:68px;line-height:1.1;font-weight:700;color:#fff;margin:34px 0 0;letter-spacing:-.025em;text-align:left}

/* CTA bands */
.hj-lp .mid-cta{background:var(--lime);padding:38px 0}
.hj-lp .mid-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.hj-lp .mid-cta-inner>p{font-family:Arial,Helvetica,sans-serif!important;font-size:38px;font-weight:700;color:#fff;line-height:1}
.hj-lp .mid-cta-inner>div{display:flex;gap:10px}
.hj-lp .mid-cta a{display:inline-flex;align-items:center;justify-content:center;min-width:190px;height:44px;padding:0 18px;background:#fff;border:1px solid #b2b900;font-size:13px;font-weight:700;color:#333}

/* Features */
.hj-lp .features{background:#fff;padding:92px 0 110px}
.hj-lp .features>.wrap>.design-heading{margin-bottom:21px}
.hj-lp .features>div>h2{font-size:29px;line-height:1.55;color:var(--blue);font-weight:700;text-align:center;margin:0 0 52px}
.hj-lp .feature-row{display:grid;grid-template-columns:72px 1.05fr 1fr;gap:24px;align-items:center;padding:26px 0;border:0}
.hj-lp .feature-row+.feature-row{margin-top:22px}
.hj-lp .feature-number{width:58px;height:58px;border:0;border-radius:50%;background:var(--lime);color:#fff;display:flex;align-items:center;justify-content:center;gap:2px;font-family:Arial,sans-serif;font-size:30px;line-height:1;font-weight:700}
.hj-lp .feature-number small{font-size:9px;font-weight:400;writing-mode:horizontal-tb;align-self:center}
.hj-lp .feature-copy h3{font-size:18px;line-height:1.65;margin:0 0 12px;color:#222}
.hj-lp .feature-copy p{font-size:13px;line-height:1.9;color:#555;margin:0}
.hj-lp .feature-diagram{min-height:170px;margin-left:0;background:#fff;border:0;padding:16px;position:relative}
.hj-lp .growth-diagram{display:block;border-left:2px solid #168ec1;border-bottom:2px solid #168ec1;margin-left:24px;margin-bottom:18px}
.hj-lp .growth-diagram:after{content:"";position:absolute;right:-5px;bottom:-5px;width:0;height:0;border-left:9px solid #168ec1;border-top:5px solid transparent;border-bottom:5px solid transparent}
.hj-lp .growth-diagram:before{content:"";position:absolute;left:-6px;top:-6px;width:0;height:0;border-bottom:9px solid #168ec1;border-left:5px solid transparent;border-right:5px solid transparent}
.hj-lp .axis-y{position:absolute;left:18px;top:25px;background:#f0ef7b;color:#168ec1;font-weight:700;font-size:13px;padding:7px 4px;writing-mode:vertical-rl}
.hj-lp .axis-x-label{position:absolute;left:120px;bottom:20px;background:#e8eaf1;color:#5771a5;font-weight:700;font-size:13px;padding:5px 16px}
.hj-lp .axis-copy{position:absolute;font-size:13px;line-height:1.5;color:#555}.hj-lp .vertical-copy{left:88px;top:30px}.hj-lp .horizontal-copy{right:5px;bottom:32px}.hj-lp .growth-diagram small{position:absolute;right:0;bottom:-30px;font-size:9px;color:#777}
.hj-lp .cycle-diagram{padding:5px 10px 22px}.hj-lp .cycle-diagram ol{margin:0 auto;width:220px;height:160px;position:relative;list-style:none;padding:0;border:1px solid transparent}.hj-lp .cycle-diagram li{position:absolute;width:82px;height:82px;border:1px solid #199fd1;border-radius:50%;background:#fff;color:#079fd2;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:13px;font-weight:700;line-height:1.2}.hj-lp .cycle-diagram li span{font-size:9px;color:#555;font-weight:400;margin-top:5px}.hj-lp .cycle-diagram li:nth-child(1){left:69px;top:0}.hj-lp .cycle-diagram li:nth-child(2){right:0;top:55px}.hj-lp .cycle-diagram li:nth-child(3){left:69px;bottom:0}.hj-lp .cycle-diagram li:nth-child(4){left:0;top:55px}.hj-lp .cycle-diagram small{display:block;text-align:right;font-size:9px;color:#777;margin-top:10px}
.hj-lp .feedback-diagram{min-height:180px;display:flex;flex-direction:column;justify-content:center;align-items:center}.hj-lp .feedback-top{background:#6177ad;color:#fff;padding:6px 20px;position:relative}.hj-lp .feedback-top:after{content:"↓";display:block;text-align:center;color:#6177ad;font-size:22px;height:28px}.hj-lp .feedback-middle{display:flex;align-items:center;gap:20px}.hj-lp .feedback-middle span{background:#6177ad;color:#fff;padding:6px 15px;font-size:12px}.hj-lp .feedback-middle b{width:70px;height:70px;border-radius:50%;background:#eaf0fb;color:#364b80;display:flex;align-items:center;justify-content:center;font-size:13px}.hj-lp .feedback-diagram small{margin-top:15px;color:#777;font-size:10px}

/* Program overview */
.hj-lp .program{background:#efefef;padding:88px 0 105px}
.hj-lp .program-heading{display:block;text-align:center;margin:0 0 34px}
.hj-lp .program-heading .design-heading{margin-bottom:19px}
.hj-lp .program-heading h2{font-size:29px;line-height:1.55;color:var(--blue);font-weight:700;margin:0}
.hj-lp .program-flow{display:grid;grid-template-columns:1fr 165px 1fr;align-items:stretch;max-width:850px;margin:0 auto 35px;gap:12px}
.hj-lp .program-flow article{background:#fff;padding:0 26px 24px;display:block;border:0;text-align:center}
.hj-lp .program-flow .flow-label{background:#65bdd7;color:#fff;margin:0 -26px 17px;padding:10px;font-size:18px;line-height:1.3;font-weight:700}
.hj-lp .program-flow h3{font-size:18px;line-height:1.6;margin:0 0 13px;color:#222}
.hj-lp .program-flow article>p:not(.flow-label){font-size:12px;line-height:1.8;color:#555;margin:0}
.hj-lp .interval{background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:0 10px 18px;color:#333}
.hj-lp .interval>span{display:block;width:100%;background:#fff;border:1px solid #65bdd7;color:#65bdd7;font-family:Arial,sans-serif;font-size:17px;line-height:1.3;padding:9px 3px;margin:0 0 15px;font-weight:700}
.hj-lp .interval>p{font-size:18px;line-height:1.45;font-weight:700;margin:0 0 14px}
.hj-lp .interval>strong{font-size:14px;line-height:1.3;font-weight:400}.hj-lp .interval>strong small{font-size:inherit}
.hj-lp .curriculum-table{max-width:850px;margin:0 auto;border:14px solid #454545;background:#fff}
.hj-lp .curriculum-title{background:#454545;color:#fff;text-align:center;padding:14px 20px 20px}
.hj-lp .curriculum-title h3{font-size:18px;line-height:1.4;margin:0 0 7px}.hj-lp .curriculum-title p{font-size:11px;line-height:1.6;margin:0}
.hj-lp .session-table h4{margin:0;background:#66bdd8;color:#fff;text-align:center;font-size:18px;line-height:1.4;padding:13px 20px}
.hj-lp .session-row{display:grid;grid-template-columns:180px 1fr;min-height:105px}
.hj-lp .session-row time{display:flex;align-items:flex-start;justify-content:center;background:#edf6fc;padding:28px 12px;font-size:12px}
.hj-lp .session-row>div{padding:20px 28px}
.hj-lp .session-row h5{font-size:15px;line-height:1.5;margin:0 0 10px;color:#222}
.hj-lp .session-row p{background:#eee;padding:8px 12px;font-size:12px;line-height:1.65;color:#333;margin:0}

/* Process */
.hj-lp .process{background:#fff;padding:70px 0 80px}
.hj-lp .process-layout{display:block;max-width:850px}
.hj-lp .process-heading{margin-bottom:24px;border-bottom:3px solid #333;padding-bottom:11px}
.hj-lp .process-heading>p{font-size:15px;font-weight:700;line-height:1.4;margin:0 0 7px}
.hj-lp .process-heading h2{font-size:25px;line-height:1.4;margin:0;color:#333;font-weight:700}
.hj-lp .process-list{list-style:none;margin:0;padding:0 0 0 22px;position:relative}
.hj-lp .process-list:before{content:"";position:absolute;left:22px;top:22px;bottom:22px;width:1px;background:#ddd}
.hj-lp .process-list li{display:grid;grid-template-columns:46px 1fr;gap:22px;align-items:start;position:relative;padding:10px 0 20px}
.hj-lp .process-list li>span{width:46px;height:46px;border-radius:50%;background:#fff;border:1px solid #ececec;display:flex;align-items:center;justify-content:center;font-size:16px;z-index:1}
.hj-lp .process-list h3{font-size:18px;line-height:1.5;margin:0 0 2px}.hj-lp .process-list p{font-size:14px;line-height:1.75;color:#555;margin:0}

/* FAQ */
.hj-lp .faq{background:#efefef;padding:0 0 90px}
.hj-lp .faq-inner{max-width:850px}
.hj-lp .faq-heading{border-bottom:3px solid #333;padding:18px 0 12px;margin-bottom:28px}
.hj-lp .faq-heading>p{font-size:15px;font-weight:700;line-height:1.4;margin:0 0 7px}.hj-lp .faq-heading h2{font-size:25px;line-height:1.4;margin:0;color:#333}
.hj-lp .faq-items{display:grid;gap:16px}
.hj-lp .faq details{background:#fff;border:0;margin:0;display:grid;grid-template-columns:50px 1fr}
.hj-lp .faq summary{list-style:none;display:grid;grid-template-columns:50px 1fr auto;grid-column:1/-1;align-items:stretch;padding:0;min-height:74px;font-size:15px;font-weight:700;line-height:1.6;cursor:pointer}
.hj-lp .faq summary::-webkit-details-marker{display:none}.hj-lp .faq summary>span{background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Arial,sans-serif;font-size:16px}.hj-lp .faq summary>span+*{align-self:center}.hj-lp .faq summary{column-gap:0}.hj-lp .faq summary::after{content:""}.hj-lp .faq summary>i{align-self:center;justify-self:center;margin-right:14px;width:34px;height:34px;border:1px solid #e5e5e5;position:relative}.hj-lp .faq summary>i:before,.hj-lp .faq summary>i:after{content:"";position:absolute;background:var(--blue);left:9px;right:9px;top:16px;height:2px}.hj-lp .faq summary>i:after{transform:rotate(90deg)}.hj-lp .faq details[open] summary>i:after{display:none}
.hj-lp .faq details>p{grid-column:2;padding:0 25px 25px 20px;font-size:13px;line-height:1.9;color:#444;margin:0}

/* final contact / footer */
.hj-lp .contact{background:#fff;padding:70px 0;text-align:center}.hj-lp .contact .design-heading{margin-bottom:18px}.hj-lp .contact h2{font-size:24px;line-height:1.6;margin:0 0 28px}.hj-lp .contact .button{min-width:300px}
.hj-lp footer{padding:18px 0;background:#222;color:#fff}.hj-lp .footer-bottom{margin:0 auto;display:block}.hj-lp .footer-bottom small{font-size:11px}

@media(max-width:900px){
  .hj-lp .wrap{width:calc(100% - 48px)}
  .hj-lp .hero{height:700px}.hj-lp .hero-content{padding-top:165px}.hj-lp .hero-kicker{font-size:24px}.hj-lp .hero h1{font-size:32px}
  .hj-lp .concept-card{margin-top:-200px;padding:46px 44px}.hj-lp .concept h2,.hj-lp .purpose h2,.hj-lp .goals h2,.hj-lp .features>div>h2,.hj-lp .program-heading h2{font-size:25px}
  .hj-lp .english-statement,.hj-lp .goal-english{font-size:55px}
  .hj-lp .feature-row{grid-template-columns:62px 1fr 1fr;gap:18px}
  .hj-lp .mid-cta-inner{display:block;text-align:center}.hj-lp .mid-cta-inner>p{margin-bottom:20px}.hj-lp .mid-cta-inner>div{justify-content:center}
}

@media(max-width:600px){
  .hj-lp .wrap{width:calc(100% - 36px)}
  .hj-lp .design-heading{font-size:15px;margin-bottom:16px}
  .hj-lp .hero{height:620px}.hj-lp .hero-image{object-position:50% 50%}.hj-lp .hero-content{padding-top:125px;background:none}.hj-lp .hero-label{font-size:12px;margin-bottom:20px;padding:6px 8px}.hj-lp .hero-kicker{font-size:18px}.hj-lp .hero h1{font-size:26px;line-height:1.55}.hj-lp .hero-credit{font-size:12px;margin:18px 0 22px}.hj-lp .hero-actions{gap:8px;flex-direction:column;align-items:center}.hj-lp .hero-button{width:250px;min-height:44px;font-size:12px}
  .hj-lp .concept{padding-bottom:70px}.hj-lp .concept-card{margin-top:-115px;padding:34px 20px 34px}.hj-lp .concept h2{font-size:21px;line-height:1.7}.hj-lp .concept-copy p{font-size:13px!important;line-height:1.9}.hj-lp .concept-copy br{display:none}.hj-lp .concept-supervisor-intro h3{font-size:15px}.hj-lp .concept-supervisor-intro p{font-size:11px}.hj-lp .supervisor{display:grid;grid-template-columns:75px 1fr;gap:15px;width:100%;padding:0;margin-top:18px}.hj-lp .supervisor>img{float:none;width:72px;height:105px;margin:0}.hj-lp .supervisor .bio{font-size:10px!important}.hj-lp .supervisor-role{font-size:10px!important}
  .hj-lp .purpose{padding-bottom:65px}.hj-lp .purpose h2,.hj-lp .goals h2,.hj-lp .features>div>h2,.hj-lp .program-heading h2{font-size:21px}.hj-lp .purpose p:not(.design-heading):not(.english-statement){font-size:13px;text-align:center}.hj-lp .purpose br{display:none}.hj-lp .english-statement{font-size:36px;margin-top:32px}
  .hj-lp .journey-section .wrap{width:calc(100% - 40px)}
  .hj-lp .goals{padding:65px 0 30px}.hj-lp .goals-grid{grid-template-columns:1fr;max-width:340px;gap:14px}.hj-lp .goal-text{min-height:auto;padding:20px}.hj-lp .goal-card img{height:130px}.hj-lp .goal-english{font-size:38px;text-align:center;margin-top:28px}
  .hj-lp .mid-cta{padding:28px 0}.hj-lp .mid-cta-inner>p{font-size:30px}.hj-lp .mid-cta-inner>div{display:grid;gap:8px}.hj-lp .mid-cta a{min-width:250px}
  .hj-lp .features{padding:65px 0 75px}.hj-lp .features>div>h2{margin-bottom:30px}.hj-lp .feature-row{grid-template-columns:52px 1fr;gap:14px;padding:22px 0}.hj-lp .feature-number{width:48px;height:48px;font-size:24px}.hj-lp .feature-copy h3{font-size:17px}.hj-lp .feature-copy p{font-size:13px}.hj-lp .feature-diagram{grid-column:1/-1;margin:10px 0 0 52px;width:calc(100% - 52px)}
  .hj-lp .program{padding:65px 0 75px}.hj-lp .program-flow{grid-template-columns:1fr;max-width:340px;gap:10px}.hj-lp .program-flow article{padding:0 20px 22px}.hj-lp .program-flow .flow-label{margin:0 -20px 15px}.hj-lp .interval{min-height:145px;padding:0 10px 15px}.hj-lp .interval>span{margin-bottom:10px}.hj-lp .interval>p{font-size:16px}.hj-lp .curriculum-table{border-width:7px}.hj-lp .curriculum-title{padding:14px}.hj-lp .curriculum-title h3{font-size:15px}.hj-lp .session-table h4{font-size:15px}.hj-lp .session-row{grid-template-columns:85px 1fr}.hj-lp .session-row time{padding:18px 6px;font-size:10px}.hj-lp .session-row>div{padding:16px 12px}.hj-lp .session-row h5{font-size:13px}.hj-lp .session-row p{font-size:11px}
  .hj-lp .process{padding:55px 0}.hj-lp .process-layout,.hj-lp .faq-inner{max-width:none}.hj-lp .process-heading h2,.hj-lp .faq-heading h2{font-size:21px}.hj-lp .process-list{padding-left:0}.hj-lp .process-list:before{left:19px}.hj-lp .process-list li{grid-template-columns:40px 1fr;gap:15px}.hj-lp .process-list li>span{width:40px;height:40px}.hj-lp .process-list h3{font-size:16px}.hj-lp .process-list p{font-size:13px}
  .hj-lp .faq{padding-bottom:65px}.hj-lp .faq details{grid-template-columns:42px 1fr}.hj-lp .faq summary{grid-template-columns:42px 1fr auto;font-size:13px}.hj-lp .faq details>p{font-size:12px;padding:0 18px 20px 15px}.hj-lp .faq summary>i{width:28px;height:28px;margin-right:9px}.hj-lp .faq summary>i:before,.hj-lp .faq summary>i:after{left:7px;right:7px;top:13px}
  .hj-lp .contact{padding:55px 0}.hj-lp .contact h2{font-size:20px}.hj-lp .contact .button{min-width:0;width:100%;max-width:320px}
}

/* =========================================================
   v2.1 fixes — 2026-09-16
   Reference: supplied PDF
   - KV height / crop balance
   - Process layout
   - FAQ layout
   ========================================================= */

/* KV: the reference uses the arch image much taller than v2 did.
   Keep the source image close to its natural 2200:1467 proportion
   on normal desktop widths, while avoiding runaway height on ultrawide screens. */
@media (min-width:901px){
  .hj-lp .hero{
    height:clamp(800px,66.68vw,1060px);
  }
  .hj-lp .hero-image{
    object-position:center center;
  }
  .hj-lp .hero-content{
    padding-top:clamp(175px,12.5vw,205px);
  }
  .hj-lp .concept-card{
    margin-top:clamp(-420px,-26vw,-300px);
  }
}

/* Process + FAQ are one continuous light-gray area in the reference. */
.hj-lp .process,
.hj-lp .faq{
  background:#efefef;
}

.hj-lp .process{
  padding:74px 0 54px;
}
.hj-lp .process-layout,
.hj-lp .faq-inner{
  width:calc(100% - 40px);
  max-width:650px;
  margin-inline:auto;
}
.hj-lp .process-heading,
.hj-lp .faq-heading{
  border-bottom:3px solid #343434;
  padding:0 0 11px;
  margin:0 0 27px;
}
.hj-lp .process-heading>p,
.hj-lp .faq-heading>p{
  margin:0 0 7px;
  font-size:15px;
  line-height:1.45;
  font-weight:700;
  color:#333;
}
.hj-lp .process-heading h2,
.hj-lp .faq-heading h2{
  margin:0;
  font-size:25px;
  line-height:1.45;
  font-weight:700;
  letter-spacing:.01em;
  color:#333;
}
.hj-lp .process-list{
  position:relative;
  list-style:none;
  margin:0;
  padding:0;
}
.hj-lp .process-list::before{
  content:"";
  position:absolute;
  left:21px;
  top:21px;
  bottom:25px;
  width:1px;
  background:#d7d7d7;
}
.hj-lp .process-list li{
  position:relative;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  column-gap:20px;
  align-items:start;
  padding:0 0 25px;
}
.hj-lp .process-list li:last-child{
  padding-bottom:0;
}
.hj-lp .process-list li>span{
  position:relative;
  z-index:1;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:15px;
  line-height:1;
  color:#333;
}
.hj-lp .process-list h3{
  margin:1px 0 2px;
  font-size:17px;
  line-height:1.55;
  font-weight:700;
  color:#333;
}
.hj-lp .process-list p{
  margin:0;
  font-size:13px;
  line-height:1.8;
  color:#4d4d4d;
}
.hj-lp .process-list a{
  color:#169fc8;
  text-decoration:underline;
  text-underline-offset:2px;
}

.hj-lp .faq{
  padding:0 0 92px;
}
.hj-lp .faq-heading{
  padding-top:9px;
  margin-bottom:25px;
}
.hj-lp .faq-items{
  display:grid;
  gap:16px;
}
.hj-lp .faq details{
  position:relative;
  display:block;
  margin:0;
  padding-left:48px;
  background:#fff;
  border:0;
  box-shadow:none;
  overflow:hidden;
}
.hj-lp .faq details::before{
  content:"Q";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:48px;
  background:#129fd3;
  color:#fff;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding-top:24px;
  font-family:Arial,sans-serif;
  font-size:16px;
  line-height:1;
  font-weight:700;
}
.hj-lp .faq summary{
  position:relative;
  list-style:none;
  display:grid;
  grid-template-columns:minmax(0,1fr) 48px;
  align-items:center;
  gap:14px;
  min-height:74px;
  padding:17px 10px 17px 22px;
  cursor:pointer;
  font-size:14px;
  line-height:1.65;
  font-weight:700;
  color:#242424;
}
.hj-lp .faq summary::-webkit-details-marker{display:none}
.hj-lp .faq summary::marker{content:""}
.hj-lp .faq summary .faq-q{display:none}
.hj-lp .faq .faq-question{
  display:block;
  align-self:center;
}
.hj-lp .faq summary>i{
  position:relative;
  justify-self:center;
  width:34px;
  height:34px;
  margin:0;
  border:1px solid #e3e7e8;
  background:#fff;
}
.hj-lp .faq summary>i::before{
  content:"";
  position:absolute;
  left:11px;
  top:12px;
  width:9px;
  height:9px;
  border-right:2px solid #159fc8;
  border-bottom:2px solid #159fc8;
  transform:rotate(45deg);
  transform-origin:center;
}
.hj-lp .faq summary>i::after{display:none}
.hj-lp .faq details[open] summary>i::before{
  top:15px;
  transform:rotate(225deg);
}
.hj-lp .faq details>p{
  margin:0;
  padding:0 70px 25px 22px;
  font-size:12px;
  line-height:1.95;
  color:#3f3f3f;
}

@media(max-width:600px){
  .hj-lp .process,.hj-lp .faq{background:#efefef}
  .hj-lp .process{padding:55px 0 42px}
  .hj-lp .process-layout,.hj-lp .faq-inner{width:calc(100% - 36px);max-width:none}
  .hj-lp .process-heading,.hj-lp .faq-heading{margin-bottom:22px}
  .hj-lp .process-heading h2,.hj-lp .faq-heading h2{font-size:21px}
  .hj-lp .process-heading>p,.hj-lp .faq-heading>p{font-size:12px}
  .hj-lp .process-list::before{left:19px;top:19px;bottom:22px}
  .hj-lp .process-list li{grid-template-columns:38px 1fr;column-gap:14px;padding-bottom:22px}
  .hj-lp .process-list li>span{width:38px;height:38px;font-size:13px}
  .hj-lp .process-list h3{font-size:15px}
  .hj-lp .process-list p{font-size:12px}
  .hj-lp .faq{padding-bottom:62px}
  .hj-lp .faq details{padding-left:42px}
  .hj-lp .faq details::before{width:42px;padding-top:21px;font-size:14px}
  .hj-lp .faq summary{grid-template-columns:minmax(0,1fr) 40px;gap:8px;min-height:66px;padding:14px 7px 14px 15px;font-size:12px}
  .hj-lp .faq summary>i{width:28px;height:28px}
  .hj-lp .faq summary>i::before{left:9px;top:9px;width:7px;height:7px}
  .hj-lp .faq details[open] summary>i::before{top:12px}
  .hj-lp .faq details>p{padding:0 16px 20px 15px;font-size:11px}
}

/* =========================================================
   v2.2 layout refinement — 2026-09-16
   Reference: latest supplied layout PDF
   What is the Hero's Journey? section intentionally untouched.
   ========================================================= */

@media (min-width:901px){
  /* KV: keep the source image at roughly the same height/width ratio as the reference.
     v2.1 capped wide screens too early, which made the KV look shallow. */
  .hj-lp .hero{
    height:clamp(880px,71.4vw,1900px);
  }
  .hj-lp .hero-image{
    object-position:center 50%;
  }
  .hj-lp .hero-content{
    padding-top:clamp(180px,15.2vw,255px);
  }
  .hj-lp .concept-card{
    width:calc(100% - 40px);
    max-width:760px;
    margin-inline:auto;
    margin-top:clamp(-760px,-27.9vw,-330px);
    padding:52px 62px 48px;
  }
}

/* Concept / Purpose: reference uses a narrower white card inside the 1000px inner. */
.hj-lp .concept{
  padding-bottom:88px;
}
.hj-lp .concept-copy{
  max-width:660px;
}
.hj-lp .concept-copy p{
  font-size:14px!important;
  line-height:2.02;
}
.hj-lp .concept-rule{
  max-width:610px;
  margin-top:30px;
}
.hj-lp .supervisor{
  max-width:650px;
  margin:22px auto 0;
}
.hj-lp .purpose{
  margin-top:0;
  padding-top:0;
  padding-bottom:92px;
}
.hj-lp .purpose-inner{
  max-width:840px;
}
.hj-lp .purpose .english-statement{
  margin-top:34px;
}

/* Goal: enlarge the background image presence and give the whole corner more vertical breathing room. */
.hj-lp .goals{
  padding-top:92px;
  padding-bottom:78px;
}
.hj-lp .goals:before{
  background:linear-gradient(rgba(255,255,255,.70),rgba(255,255,255,.30)),url("../images/helm.webp") center 58%/120% auto no-repeat;
  opacity:.66;
}
.hj-lp .goals-grid{
  max-width:1000px;
  gap:18px;
  margin-top:36px;
}
.hj-lp .goal-text{
  min-height:168px;
  padding:24px 18px 18px;
}
.hj-lp .goal-card h3{
  font-size:16px;
  line-height:1.65;
}
.hj-lp .goal-card p{
  font-size:12px;
  line-height:1.76;
}
.hj-lp .goal-card img{
  height:140px;
}
.hj-lp .goal-english{
  max-width:1000px;
  margin:42px auto 0;
  font-size:66px;
}

/* CTA: reference band is visually stronger and a little taller. */
.hj-lp .mid-cta{
  padding:31px 0;
}
.hj-lp .mid-cta-inner{
  min-height:54px;
}
.hj-lp .mid-cta-inner>p{
  font-size:40px;
}
.hj-lp .mid-cta a{
  height:46px;
}

/* Features: use a deliberately narrower content block inside the 1000px inner. */
.hj-lp .features>.wrap{
  max-width:820px;
}
.hj-lp .features{
  padding-top:82px;
  padding-bottom:94px;
}
.hj-lp .features>div>h2{
  margin-bottom:42px;
}
.hj-lp .feature-row{
  grid-template-columns:62px minmax(0,1.05fr) minmax(0,1fr);
  gap:18px;
  padding:22px 0;
}
.hj-lp .feature-row+.feature-row{
  margin-top:12px;
}
.hj-lp .feature-number{
  width:54px;
  height:54px;
  font-size:28px;
}
.hj-lp .feature-copy h3{
  font-size:18px;
  line-height:1.58;
}
.hj-lp .feature-copy p{
  font-size:13px;
  line-height:1.85;
}
.hj-lp .feature-diagram{
  min-height:165px;
  padding:14px;
}

/* Program Overview: reference table/flow are about 800px wide within the 1000px inner. */
.hj-lp .program-flow,
.hj-lp .curriculum-table{
  max-width:800px;
}
.hj-lp .program-flow{
  grid-template-columns:1fr 150px 1fr;
  margin-bottom:30px;
}
.hj-lp .curriculum-table{
  border-width:12px;
}
.hj-lp .session-row{
  grid-template-columns:160px 1fr;
}

/* Process and FAQ share the same content width in the reference.
   v2.1's 650px made the bottom of the page visibly too narrow. */
.hj-lp .process{
  padding:70px 0 44px;
}
.hj-lp .process-layout,
.hj-lp .faq-inner{
  width:calc(100% - 40px);
  max-width:800px;
  margin-inline:auto;
}
.hj-lp .process-heading,
.hj-lp .faq-heading{
  margin-bottom:24px;
}
.hj-lp .process-list::before{
  left:22px;
  top:22px;
  bottom:24px;
}
.hj-lp .process-list li{
  grid-template-columns:44px minmax(0,1fr);
  column-gap:18px;
  padding-bottom:22px;
}
.hj-lp .process-list li>span{
  width:44px;
  height:44px;
}
.hj-lp .process-list h3{
  font-size:17px;
}
.hj-lp .process-list p{
  font-size:13px;
  line-height:1.72;
}
.hj-lp .faq{
  padding-bottom:84px;
}
.hj-lp .faq-heading{
  padding-top:8px;
}
.hj-lp .faq-items{
  gap:14px;
}
.hj-lp .faq details{
  padding-left:48px;
}
.hj-lp .faq summary{
  min-height:78px;
  grid-template-columns:minmax(0,1fr) 50px;
  padding:17px 9px 17px 22px;
  font-size:14px;
}
.hj-lp .faq details>p{
  padding:0 66px 25px 22px;
  font-size:12px;
  line-height:1.9;
}

@media (max-width:900px){
  .hj-lp .concept-card{
    max-width:760px;
  }
  .hj-lp .features>.wrap{
    max-width:820px;
  }
  .hj-lp .process-layout,.hj-lp .faq-inner{
    max-width:800px;
  }
}

@media (max-width:600px){
  /* Preserve the existing SP behavior; only prevent desktop width overrides leaking in. */
  .hj-lp .concept-card{
    width:auto;
    max-width:none;
    margin-inline:0;
  }
  .hj-lp .features>.wrap,
  .hj-lp .process-layout,
  .hj-lp .faq-inner{
    max-width:none;
  }
}

/* =========================================================
   v2.4 FAQ visual correction
   - remove accidental blue highlight from question text
   - keep the chevron control at the far right (not beside the label)
   - match the supplied PDF: only the first expanded item shows the control
   - reset legacy FAQ pseudo-element declarations completely
   ========================================================= */
.hj-lp .faq .faq-question{
  background:transparent !important;
  color:#242424 !important;
  display:block !important;
  align-self:center;
  justify-content:flex-start !important;
  font-family:var(--font) !important;
  font-size:inherit !important;
  line-height:inherit !important;
  font-weight:700 !important;
  padding:0 !important;
}
.hj-lp .faq summary{
  width:100%;
  grid-template-columns:minmax(0,1fr) 50px !important;
}
.hj-lp .faq summary>i{
  display:block;
  width:34px;
  height:34px;
  margin:0 10px 0 0 !important;
  justify-self:end !important;
  align-self:center !important;
  border:1px solid #e4e8ea;
  background:#fff;
  position:relative;
  box-shadow:0 1px 4px rgba(0,0,0,.05);
}
.hj-lp .faq summary>i::before{
  content:"";
  position:absolute;
  left:50% !important;
  right:auto !important;
  top:50% !important;
  width:8px !important;
  height:8px !important;
  background:transparent !important;
  border:0 !important;
  border-top:2px solid #169fc8 !important;
  border-left:2px solid #169fc8 !important;
  transform:translate(-50%,-35%) rotate(45deg) !important;
  transform-origin:center !important;
}
.hj-lp .faq summary>i::after{
  content:none !important;
  display:none !important;
}
.hj-lp .faq details:not(:first-child) summary>i{
  visibility:hidden;
}
.hj-lp .faq details{
  box-shadow:0 5px 14px rgba(0,0,0,.045);
}

@media(max-width:600px){
  .hj-lp .faq summary{
    grid-template-columns:minmax(0,1fr) 40px !important;
  }
  .hj-lp .faq summary>i{
    width:28px;
    height:28px;
    margin-right:7px !important;
  }
  .hj-lp .faq summary>i::before{
    width:7px !important;
    height:7px !important;
  }
}

/* v2.4b: remove the control node entirely from FAQ 2/3 and prevent legacy selectors from leaking. */
.hj-lp .faq summary:not(:has(.faq-toggle)){
  grid-template-columns:minmax(0,1fr) !important;
  padding-right:28px;
}
.hj-lp .faq summary>.faq-toggle{
  display:block !important;
}

/* =========================================================
   v2.5 KV / Program Concept overlap correction
   Reference: latest supplied PDF
   - keep the desktop KV height already matched to the reference ratio
   - stop the first child's negative margin from collapsing the whole Concept section
   - overlap ONLY the white Concept card over the lower part of the KV
   - restore the Concept card to the 1000px inner width shown in the reference
   ========================================================= */
.hj-lp .concept{
  display:flow-root;
}

@media (min-width:901px){
  .hj-lp .concept-card{
    width:calc(100% - 40px);
    max-width:1000px;
    margin-inline:auto;
    /* PDF: the 1000px white panel starts inside the lower portion of the KV. */
    margin-top:clamp(-760px,-27.9vw,-330px);
    padding:52px 72px 50px;
  }
}

/* =========================================================
   v2.6 Purpose section seam fix
   The legacy selector `.purpose p:not(.eyebrow):not(.english-statement)`
   also matched the Program Purpose design heading and forced a 28px
   top margin. Because the Purpose section has no top padding, that
   margin collapsed outside the section and exposed the white body
   background as a horizontal strip between Concept and Purpose.
   ========================================================= */
.hj-lp .purpose{
  display:flow-root;
}
.hj-lp .purpose .purpose-inner > p.design-heading{
  margin:0 auto 23px !important;
}
@media(max-width:600px){
  .hj-lp .purpose .purpose-inner > p.design-heading{
    margin:0 auto 16px !important;
  }
}

/* =========================================================
   v2.9 Hero's Journey — designer layout reproduction
   Scope: left-side visual only. No invented side panel / cards.
   ========================================================= */
.hj-lp .journey-static-section{
  --hj-sky:#37a9d9;
  --hj-sea:#1262a8;
  --hj-cyan:#34dfdc;
  --hj-orange:#ffad0b;
  --hj-purple:#a55dcd;
  position:relative;
  overflow:hidden;
  color:#fff;
  background:linear-gradient(to bottom,var(--hj-sky) 0 47%,var(--hj-sea) 47% 100%);
}
.hj-lp .journey-static-inner{
  position:relative;
  width:min(1000px,calc(100% - 40px));
  height:820px;
  margin:0 auto;
}
.hj-lp .journey-world-title{
  position:absolute;
  z-index:1;
  color:rgba(255,255,255,.24);
  font-weight:700;
  line-height:1.05;
  pointer-events:none;
}
.hj-lp .journey-world-title span{display:block;font-size:44px;letter-spacing:.03em}
.hj-lp .journey-world-title small{display:block;margin-top:7px;font:600 11px/1.2 Arial,sans-serif;letter-spacing:.22em}
.hj-lp .journey-world-title-known{top:83px;right:28px;text-align:right}
.hj-lp .journey-world-title-unknown{left:28px;bottom:66px}

.hj-lp .journey-orbit{
  position:absolute;
  left:50%;top:50%;
  width:760px;height:760px;
  transform:translate(-50%,-50%);
}
.hj-lp .journey-orbit-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hj-lp .journey-orbit-line{fill:none;stroke:rgba(255,255,255,.88);stroke-width:1.6;stroke-dasharray:2 7}
.hj-lp .journey-arrow{fill:#fff}

.hj-lp .journey-center-copy{
  position:absolute;
  left:50%;top:50%;
  width:610px;height:610px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#fff;
  color:#242424;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:64px 74px 50px;
}
.hj-lp .journey-center-kicker{
  display:inline-block;
  margin:0 0 18px;
  padding:0 5px 5px;
  font:600 16px/1.2 Georgia,"Times New Roman",serif;
  letter-spacing:.02em;
  border-bottom:2px solid #dce600;
}
.hj-lp .journey-center-copy h2{
  margin:0;
  color:#079fd2;
  font-size:28px;
  line-height:1.65;
  letter-spacing:.025em;
  font-weight:700;
}
.hj-lp .journey-center-body{
  margin-top:25px;
  font-size:13px;
  line-height:2.02;
  color:#2c2c2c;
}

.hj-lp .journey-stage{
  position:absolute;
  z-index:3;
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  line-height:1.45;
  font-weight:700;
  text-shadow:0 1px 2px rgba(0,62,105,.2);
  white-space:nowrap;
}
.hj-lp .journey-stage strong{font:700 12px/1.45 var(--font)}
.hj-lp .journey-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:0 0 auto}
.hj-lp .journey-dot.departure{background:var(--hj-cyan)}
.hj-lp .journey-dot.ordeal{background:var(--hj-orange)}
.hj-lp .journey-dot.return{background:var(--hj-purple)}
.hj-lp .journey-stage-start{position:absolute;bottom:19px;left:50%;transform:translateX(-50%);font:700 12px/1 Arial,sans-serif}

.hj-lp .journey-stage-01{left:50%;top:43px;transform:translateX(-50%);padding-bottom:25px;text-align:center}
.hj-lp .journey-stage-01 strong{display:block}
.hj-lp .journey-stage-02{right:58px;top:101px}
.hj-lp .journey-stage-03{right:11px;top:213px}
.hj-lp .journey-stage-04{right:-23px;top:325px;align-items:flex-start}
.hj-lp .journey-stage-05{right:19px;bottom:124px}
.hj-lp .journey-stage-06{left:50%;bottom:33px;transform:translateX(-50%);flex-direction:column;gap:6px;text-align:center}
.hj-lp .journey-stage-07{left:61px;bottom:115px;flex-direction:row-reverse}
.hj-lp .journey-stage-08{left:-19px;top:326px;flex-direction:row-reverse;align-items:flex-start;text-align:right}
.hj-lp .journey-stage-09{left:71px;top:102px}

.hj-lp .journey-phase{
  position:absolute;
  z-index:4;
  width:58px;height:58px;
  border-radius:50%;
  background:#fff;
  display:grid;
  place-items:center;
  font-size:14px;
  font-weight:700;
  box-shadow:0 1px 4px rgba(0,0,0,.04);
}
.hj-lp .journey-phase-departure{right:70px;top:135px;color:#02aecd}
.hj-lp .journey-phase-ordeal{left:50%;bottom:1px;transform:translateX(-50%);color:#ff9a00}
.hj-lp .journey-phase-return{left:62px;top:136px;color:#9d5ac8}

@media(max-width:900px){
  .hj-lp .journey-static-inner{height:720px}
  .hj-lp .journey-orbit{width:650px;height:650px}
  .hj-lp .journey-center-copy{width:520px;height:520px;padding:48px 54px 40px}
  .hj-lp .journey-center-copy h2{font-size:23px}
  .hj-lp .journey-center-body{font-size:11px;line-height:1.95;margin-top:20px}
  .hj-lp .journey-center-kicker{font-size:14px;margin-bottom:14px}
  .hj-lp .journey-world-title span{font-size:34px}
  .hj-lp .journey-stage{font-size:10px}.hj-lp .journey-stage strong{font-size:10px}
  .hj-lp .journey-stage-02{right:47px;top:86px}.hj-lp .journey-stage-03{right:6px;top:182px}.hj-lp .journey-stage-04{right:-18px;top:276px}
  .hj-lp .journey-stage-05{right:14px;bottom:104px}.hj-lp .journey-stage-06{bottom:26px}.hj-lp .journey-stage-07{left:50px;bottom:97px}.hj-lp .journey-stage-08{left:-13px;top:277px}.hj-lp .journey-stage-09{left:59px;top:87px}
  .hj-lp .journey-phase{width:50px;height:50px;font-size:12px}
  .hj-lp .journey-phase-departure{right:59px;top:115px}.hj-lp .journey-phase-return{left:52px;top:116px}
}

@media(max-width:700px){
  .hj-lp .journey-static-section{background:linear-gradient(to bottom,var(--hj-sky) 0 45%,var(--hj-sea) 45% 100%)}
  .hj-lp .journey-static-inner{width:100%;height:610px;overflow:hidden}
  .hj-lp .journey-orbit{width:540px;height:540px}
  .hj-lp .journey-center-copy{width:410px;height:410px;padding:35px 35px 30px}
  .hj-lp .journey-center-kicker{font-size:11px;margin-bottom:10px}
  .hj-lp .journey-center-copy h2{font-size:18px;line-height:1.55}
  .hj-lp .journey-center-body{font-size:9px;line-height:1.82;margin-top:14px}
  .hj-lp .journey-world-title span{font-size:27px}.hj-lp .journey-world-title small{font-size:8px}
  .hj-lp .journey-world-title-known{right:14px;top:58px}.hj-lp .journey-world-title-unknown{left:14px;bottom:44px}
  .hj-lp .journey-stage strong{font-size:8px}.hj-lp .journey-stage{font-size:8px;gap:5px}.hj-lp .journey-dot{width:7px;height:7px}
  .hj-lp .journey-stage-01{top:27px}.hj-lp .journey-stage-start{font-size:8px;bottom:15px}
  .hj-lp .journey-stage-02{right:35px;top:72px}.hj-lp .journey-stage-03{right:1px;top:151px}.hj-lp .journey-stage-04{right:-17px;top:229px}
  .hj-lp .journey-stage-05{right:8px;bottom:87px}.hj-lp .journey-stage-06{bottom:20px}.hj-lp .journey-stage-07{left:36px;bottom:82px}.hj-lp .journey-stage-08{left:-17px;top:230px}.hj-lp .journey-stage-09{left:45px;top:72px}
  .hj-lp .journey-phase{width:42px;height:42px;font-size:10px}
  .hj-lp .journey-phase-departure{right:44px;top:95px}.hj-lp .journey-phase-return{left:39px;top:96px}
}

@media(max-width:520px){
  .hj-lp .journey-static-inner{height:545px}
  .hj-lp .journey-orbit{width:480px;height:480px}
  .hj-lp .journey-center-copy{width:360px;height:360px;padding:30px 26px 24px}
  .hj-lp .journey-center-copy h2{font-size:16px}
  .hj-lp .journey-center-body{font-size:8px;line-height:1.78;margin-top:11px}
  .hj-lp .journey-stage-02{right:30px;top:63px}.hj-lp .journey-stage-03{right:0;top:134px}.hj-lp .journey-stage-04{right:-14px;top:203px}
  .hj-lp .journey-stage-05{right:7px;bottom:78px}.hj-lp .journey-stage-06{bottom:17px}.hj-lp .journey-stage-07{left:31px;bottom:72px}.hj-lp .journey-stage-08{left:-14px;top:204px}.hj-lp .journey-stage-09{left:39px;top:64px}
  .hj-lp .journey-phase{width:38px;height:38px;font-size:9px}
  .hj-lp .journey-phase-departure{right:38px;top:85px}.hj-lp .journey-phase-return{left:34px;top:86px}
  .hj-lp .journey-world-title span{font-size:22px}
}

/* =========================================================
   v2.11 Hero's Journey — transparent figure + CSS background
   The figure itself is transparent. The two world backgrounds are rendered by CSS,
   keeping layout/background control separate from the journey artwork.
   ========================================================= */
.hj-lp .visually-hidden{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}
.hj-lp .journey-faithful-section{
  background:linear-gradient(to bottom,#33ace5 0 47.68%,#0a5ba6 47.68% 100%);
  overflow:hidden;
}
.hj-lp .journey-faithful-inner{
  width:100%;
  margin:0 auto;
  line-height:0;
}
.hj-lp .journey-faithful-inner img {
    display: block;
    width: 100%;
    max-width: 1480px;
    height: auto;
    margin: 0 auto;
}
@media(max-width:600px){
  .hj-lp .journey-faithful-inner{
    width:100%;
  }
}

/* =========================================================
   v2.13 layout tune — 2026-09-17
   - reduce the vertical gap between KV copy and the overlapping Concept panel
   - structural content should use the full 1000px inner width by default
   - keep local component padding for readability, but remove nested narrow max-widths
   ========================================================= */

@media (min-width:901px){
  /* Keep the tall KV, but bring the white Concept panel closer to the KV copy. */
  .hj-lp .hero-content{
    padding-top:clamp(180px,15.2vw,330px);
  }
  .hj-lp .concept-card{
    width:calc(100% - 40px);
    max-width:1000px;
    margin-inline:auto;
    margin-top:clamp(-720px,-34vw,-390px);
  }

  /* Direct section inners align to the common 1000px grid. */
  .hj-lp .purpose-inner,
  .hj-lp .features>.wrap,
  .hj-lp .process-layout,
  .hj-lp .faq-inner{
    width:calc(100% - 40px);
    max-width:1000px;
    margin-inline:auto;
  }

  /* Remove the extra centered narrowing inside the 1000px inner. */
  .hj-lp .concept-copy,
  .hj-lp .concept-rule,
  .hj-lp .supervisor{
    width:100%;
    max-width:none;
  }
  .hj-lp .purpose p:not(.design-heading):not(.english-statement){
    max-width:none;
  }

  .hj-lp .goals-grid,
  .hj-lp .program-flow,
  .hj-lp .curriculum-table{
    width:100%;
    max-width:none;
  }
}

/* =========================================================
   v2.17 Purpose + Hero's Journey meaning tune
   - no new visible section heading
   - preserve the designer's circle as the main visual
   - use subtle scroll-triggered meaning cues only
   ========================================================= */
.hj-lp .purpose-story{
  margin-top:32px;
}
.hj-lp .purpose-story p{
  font-size:15px;
  line-height:2.05;
  color:#34444d;
}
.hj-lp .purpose-story p+p{
  margin-top:22px;
}
.hj-lp .purpose-story .purpose-program{
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid rgba(61,110,130,.18);
  font-weight:700;
  color:#28495a;
}
.hj-lp .sp-only{display:none}

.hj-lp .journey-faithful-section{
  position:relative;
  overflow:hidden;
  background:#0a5ba6;
}
.hj-lp .journey-faithful-inner{
  --known:1;
  --unknown:0;
  --return:0;
  width:100%;
  margin:0 auto;
  line-height:1.6;
  background:#0a5ba6;
}
.hj-lp .journey-faithful-stage{
  position:relative;
  width:100%;
  max-width:1480px;
  margin:0 auto;
  line-height:0;
  overflow:hidden;
}
.hj-lp .journey-faithful-inner img{
  display:block;
  width:100%;
  max-width:1480px;
  height:auto;
  margin:0 auto;
}

/*
  Scroll-linked focus only. The designer's circle remains the base visual;
  we simply shift the viewer's attention between the two worlds.
*/
.hj-lp .journey-focus{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  transition:opacity .08s linear;
}
.hj-lp .journey-focus-known{
  opacity:var(--known);
  background:linear-gradient(to bottom,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0) 46%,
    rgba(3,46,98,.20) 60%,
    rgba(3,46,98,.30) 100%);
}
.hj-lp .journey-focus-unknown{
  opacity:var(--unknown);
  background:linear-gradient(to bottom,
    rgba(255,255,255,.26) 0%,
    rgba(255,255,255,.18) 38%,
    rgba(255,255,255,0) 53%,
    rgba(255,255,255,0) 100%);
}

/* Always cover the original center copy: this is the only message inside the circle. */
.hj-lp .journey-center-message{
  position:absolute;
  z-index:3;
  left:24.35%;
  top:13.75%;
  width:51.2%;
  height:63.2%;
  border-radius:50%;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:7% 6% 4%;
}
.hj-lp .journey-center-message p{
  margin:0;
  color:#0b9dcc;
  font-size:clamp(24px,2.5vw,39px);
  line-height:1.72;
  letter-spacing:.025em;
  font-weight:700;
}

.hj-lp .journey-world-note{
  position:absolute;
  z-index:4;
  width:24%;
  color:#fff;
  font-size:clamp(11px,1.05vw,15px);
  line-height:1.65;
  text-shadow:0 1px 6px rgba(2,52,95,.22);
  pointer-events:none;
  transition:opacity .08s linear, transform .08s linear;
}
.hj-lp .journey-world-note-known{
  top:14.5%;
  right:5.5%;
  text-align:left;
  opacity:var(--known);
}
.hj-lp .journey-world-note-unknown{
  left:18.5%;
  bottom:4.8%;
  text-align:left;
  opacity:var(--unknown);
}

.hj-lp .journey-self-question{
  position:relative;
  z-index:5;
  width:min(1000px,calc(100% - 88px));
  margin:0 auto;
  padding:30px 0 38px;
  color:#fff;
  text-align:center;
  font-size:18px;
  line-height:1.9;
  font-weight:500;
  letter-spacing:.02em;
  opacity:var(--return);
  transform:none;
  transition:opacity .08s linear;
}
.hj-lp .journey-self-question span{font-weight:700;}

@media(max-width:900px){
  .hj-lp .purpose-story p br:not(.sp-only){display:none}
  .hj-lp .sp-only{display:none}
  .hj-lp .journey-world-note-known{right:3.5%;top:11.5%}
  .hj-lp .journey-world-note-unknown{left:16%;bottom:3.5%}
  .hj-lp .journey-self-question{width:calc(100% - 48px);font-size:16px;padding:24px 0 28px}
}

@media(max-width:600px){
  .hj-lp .purpose-story{margin-top:24px}
  .hj-lp .purpose-story p{font-size:14px;line-height:1.95;text-align:left}
  .hj-lp .purpose-story p+p{margin-top:18px}
  .hj-lp .purpose-story .purpose-program{margin-top:22px;padding-top:20px}
  .hj-lp .purpose .sp-only{display:block}

  /* SP: no tiny overlay copy. Keep the circle readable and show the final reflection below. */
  .hj-lp .journey-focus,
  .hj-lp .journey-world-note{display:none}
  .hj-lp .journey-center-message{
    left:24.15%;
    top:13.6%;
    width:51.7%;
    height:63.5%;
    padding:9% 5% 5%;
  }
  .hj-lp .journey-center-message p{
    font-size:clamp(16px,5.1vw,24px);
    line-height:1.7;
  }
  .hj-lp .journey-self-question{
    width:calc(100% - 40px);
    padding:20px 0 24px;
    font-size:14px;
    line-height:1.85;
    opacity:1;
    transform:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .hj-lp .journey-faithful-inner{--known:0;--unknown:0;--return:1}
  .hj-lp .journey-focus,.hj-lp .journey-world-note{display:none}
  .hj-lp .journey-self-question{opacity:1;transform:none;transition:none}
}

/* =========================================================
   v2.19 Hero's Journey prototype
   Purpose -> recall own work experience -> reframe as growth -> young talent
   No new visible section heading. The designer's circle remains the base visual.
   ========================================================= */
.hj-lp .journey-faithful-section{
  position:relative;
  overflow:clip;
  background:#0a5ba6;
}
.hj-lp .journey-scroll-track{
  position:relative;
  height:440vh;
}
.hj-lp .journey-sticky-frame{
  position:sticky;
  top:0;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.hj-lp .journey-faithful-inner{
  width:100%;
  margin:0 auto;
  line-height:1.6;
  background:#0a5ba6;
}
.hj-lp .journey-faithful-stage{
  position:relative;
  width:100%;
  max-width:1480px;
  margin:0 auto;
  line-height:0;
  overflow:hidden;
}
.hj-lp .journey-faithful-inner img{
  display:block;
  width:100%;
  max-width:1480px;
  height:auto;
  margin:0 auto;
}

/* Center: keep only the agreed message. */
.hj-lp .journey-center-message{
  position:absolute;
  z-index:5;
  left:24.35%;
  top:13.75%;
  width:51.2%;
  height:63.2%;
  border-radius:50%;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:7% 6% 4%;
}
.hj-lp .journey-center-message p{
  margin:0;
  color:#0b9dcc;
  font-size:clamp(24px,2.5vw,39px);
  line-height:1.72;
  letter-spacing:.025em;
  font-weight:700;
}

/* The existing dotted route remains visible; this trace only creates motion/attention. */
.hj-lp .journey-trace{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:6;
  pointer-events:none;
  overflow:visible;
}
.hj-lp .journey-trace-base,
.hj-lp .journey-trace-progress{
  fill:none;
  vector-effect:non-scaling-stroke;
}
.hj-lp .journey-trace-base{
  stroke:rgba(255,255,255,.10);
  stroke-width:4;
}
.hj-lp .journey-trace-progress{
  stroke:#eff45b;
  stroke-width:4;
  stroke-linecap:round;
  filter:drop-shadow(0 0 6px rgba(239,244,91,.55));
}
.hj-lp .journey-trace-dot{
  fill:#eff45b;
  stroke:#fff;
  stroke-width:3;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 8px rgba(255,255,255,.9));
}

/* Work-memory prompts: not theory labels. One prompt is active at a time. */
.hj-lp .journey-memory{
  position:absolute;
  z-index:7;
  margin:0;
  color:#fff;
  font-size:clamp(14px,1.5vw,21px);
  line-height:1.65;
  font-weight:700;
  letter-spacing:.02em;
  text-shadow:0 2px 12px rgba(0,53,98,.45);
  opacity:0;
  transform:translateY(14px);
  transition:opacity .35s ease, transform .35s ease;
  pointer-events:none;
}
.hj-lp .journey-memory:before{
  content:"";
  display:block;
  width:42px;
  height:2px;
  margin-bottom:10px;
  background:#eff45b;
}
.hj-lp .journey-memory-1{right:4.5%;top:19%;width:27%}
.hj-lp .journey-memory-2{right:3.6%;bottom:27%;width:28%}
.hj-lp .journey-memory-3{left:5.2%;bottom:21%;width:29%}
.hj-lp .journey-memory-4{left:4.7%;top:21%;width:28%}
.hj-lp .journey-faithful-inner[data-scene="1"] .journey-memory-1,
.hj-lp .journey-faithful-inner[data-scene="2"] .journey-memory-2,
.hj-lp .journey-faithful-inner[data-scene="3"] .journey-memory-3,
.hj-lp .journey-faithful-inner[data-scene="4"] .journey-memory-4{
  opacity:1;
  transform:translateY(0);
}

/* Only after a concrete memory has been evoked do we name the frame: 日常 / 未知. */
.hj-lp .journey-reframe{
  position:absolute;
  z-index:7;
  width:30%;
  color:#fff;
  opacity:0;
  transform:translateY(10px);
  transition:opacity .5s ease, transform .5s ease;
  text-shadow:0 2px 12px rgba(0,53,98,.34);
  pointer-events:none;
}
.hj-lp .journey-reframe b{
  display:block;
  font-size:clamp(20px,2vw,32px);
  line-height:1.4;
  margin-bottom:7px;
}
.hj-lp .journey-reframe span{
  display:block;
  font-size:clamp(12px,1.05vw,16px);
  line-height:1.7;
  font-weight:700;
}
.hj-lp .journey-reframe-known{right:4.7%;top:9.5%}
.hj-lp .journey-reframe-unknown{left:5.4%;bottom:7%}
.hj-lp .journey-faithful-inner[data-scene="5"] .journey-reframe,
.hj-lp .journey-faithful-inner[data-scene="6"] .journey-reframe{
  opacity:1;
  transform:translateY(0);
}

/* Recognition after the experience is framed. */
.hj-lp .journey-meaning{
  position:absolute;
  z-index:8;
  left:50%;
  bottom:4.5%;
  width:min(760px,58%);
  transform:translate(-50%,16px);
  margin:0;
  padding:13px 18px;
  border-top:1px solid rgba(255,255,255,.65);
  color:#fff;
  font-size:clamp(15px,1.45vw,21px);
  line-height:1.75;
  letter-spacing:.025em;
  text-align:center;
  font-weight:700;
  text-shadow:0 2px 12px rgba(0,53,98,.45);
  opacity:0;
  transition:opacity .5s ease, transform .5s ease;
}
.hj-lp .journey-faithful-inner[data-scene="6"] .journey-meaning{
  opacity:1;
  transform:translate(-50%,0);
}

/* Self -> young employee pivot. This sits after the visual, not inside the circle. */
.hj-lp .journey-reflection{
  position:relative;
  z-index:2;
  padding:86px 0 92px;
  color:#fff;
  text-align:center;
}
.hj-lp .journey-reflection p{
  margin:0;
  font-size:clamp(18px,2vw,28px);
  line-height:1.9;
  letter-spacing:.02em;
}
.hj-lp .journey-reflection strong{
  color:#eff45b;
  font-weight:700;
}
.hj-lp .journey-reflection-young{
  width:min(820px,100%);
  margin:38px auto 0!important;
  padding-top:35px;
  border-top:1px solid rgba(255,255,255,.38);
  font-size:clamp(16px,1.55vw,21px)!important;
  color:rgba(255,255,255,.92);
}

/* Remove v2.17/v2.18 focus overlays and old closing question in this prototype. */
.hj-lp .journey-focus,
.hj-lp .journey-world-note,
.hj-lp .journey-self-question{display:none!important}

@media(max-width:900px){
  .hj-lp .journey-scroll-track{height:380vh}
  .hj-lp .journey-memory{font-size:14px}
  .hj-lp .journey-memory-1{right:2.5%;top:18%;width:28%}
  .hj-lp .journey-memory-2{right:2%;bottom:25%;width:29%}
  .hj-lp .journey-memory-3{left:3%;bottom:20%;width:29%}
  .hj-lp .journey-memory-4{left:3%;top:20%;width:29%}
  .hj-lp .journey-reframe-known{right:3%;top:8%}
  .hj-lp .journey-reframe-unknown{left:3.5%;bottom:6%}
}

@media(max-width:600px){
  .hj-lp .journey-scroll-track{height:auto}
  .hj-lp .journey-sticky-frame{position:relative;min-height:0;display:block}
  .hj-lp .journey-faithful-stage{overflow:visible}
  .hj-lp .journey-trace{display:none}
  .hj-lp .journey-memory,
  .hj-lp .journey-reframe,
  .hj-lp .journey-meaning{display:none}
  .hj-lp .journey-center-message{
    left:24.15%;
    top:13.6%;
    width:51.7%;
    height:63.5%;
    padding:9% 5% 5%;
  }
  .hj-lp .journey-center-message p{
    font-size:clamp(16px,5.1vw,24px);
    line-height:1.7;
  }
  .hj-lp .journey-reflection{
    width:calc(100% - 40px);
    padding:38px 0 46px;
  }
  .hj-lp .journey-reflection p{
    font-size:17px;
    line-height:1.85;
  }
  .hj-lp .journey-reflection-young{
    margin-top:28px!important;
    padding-top:26px;
    font-size:15px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .hj-lp .journey-scroll-track{height:auto}
  .hj-lp .journey-sticky-frame{position:relative;min-height:0}
  .hj-lp .journey-trace{display:none}
  .hj-lp .journey-memory,
  .hj-lp .journey-reframe,
  .hj-lp .journey-meaning{display:none}
}


/* =========================================================
   v2.20 animation reliability patch
   - cache-busted CSS/JS in index.html
   - reduced-motion no longer disables the scroll scenes entirely
   - CSS scroll-driven animation provides a second path on modern Chromium
   ========================================================= */

/* Make scene changes unmistakable without changing the base artwork. */
.hj-lp .journey-memory,
.hj-lp .journey-reframe,
.hj-lp .journey-meaning{
  transition-duration:.42s;
}

/* Scroll-linked SVG route: JS drives this in all browsers. */
.hj-lp .journey-trace-progress{
  stroke-dasharray:1;
  stroke-dashoffset:1;
}

/* Modern Chromium fallback: if JS were blocked/cached, the prompts still animate with scroll. */
@supports (animation-timeline: view()) {
  .hj-lp .journey-scroll-track{
    view-timeline-name:--hj-scroll;
    view-timeline-axis:block;
  }

  .hj-lp .journey-memory,
  .hj-lp .journey-reframe,
  .hj-lp .journey-meaning{
    animation-timeline:--hj-scroll;
    animation-range:entry 0% exit 100%;
    animation-timing-function:linear;
    animation-fill-mode:both;
  }

  .hj-lp .journey-memory-1{animation-name:hj-m1}
  .hj-lp .journey-memory-2{animation-name:hj-m2}
  .hj-lp .journey-memory-3{animation-name:hj-m3}
  .hj-lp .journey-memory-4{animation-name:hj-m4}
  .hj-lp .journey-reframe{animation-name:hj-reframe}
  .hj-lp .journey-meaning{animation-name:hj-meaning}

  @keyframes hj-m1{
    0%,8%,25%,100%{opacity:0;transform:translateY(14px)}
    11%,21%{opacity:1;transform:translateY(0)}
  }
  @keyframes hj-m2{
    0%,24%,41%,100%{opacity:0;transform:translateY(14px)}
    27%,37%{opacity:1;transform:translateY(0)}
  }
  @keyframes hj-m3{
    0%,40%,57%,100%{opacity:0;transform:translateY(14px)}
    43%,53%{opacity:1;transform:translateY(0)}
  }
  @keyframes hj-m4{
    0%,56%,73%,100%{opacity:0;transform:translateY(14px)}
    59%,69%{opacity:1;transform:translateY(0)}
  }
  @keyframes hj-reframe{
    0%,72%,87%,100%{opacity:0;transform:translateY(10px)}
    76%,84%{opacity:1;transform:translateY(0)}
  }
  @keyframes hj-meaning{
    0%,85%{opacity:0;transform:translate(-50%,16px)}
    90%,100%{opacity:1;transform:translate(-50%,0)}
  }
}

/* Respect reduced-motion by removing easing, but keep the information changes visible. */
@media (prefers-reduced-motion:reduce) and (min-width:601px){
  .hj-lp .journey-scroll-track{height:440vh}
  .hj-lp .journey-sticky-frame{position:sticky;top:0;min-height:100vh}
  .hj-lp .journey-trace{display:block}
  .hj-lp .journey-memory,
  .hj-lp .journey-reframe,
  .hj-lp .journey-meaning{
    display:block;
    transition:none!important;
  }
}

/* =========================================================
   v2.21 Hero's Journey prototype
   Goal: make the scroll itself feel like entering / moving through / returning
   without placing explanatory text on top of the designer's labels.
   ========================================================= */
.hj-lp .journey-faithful-section{
  background:#0a5ba6;
  overflow:hidden;
}
.hj-lp .journey-scroll-track{
  height:640vh;
  position:relative;
}
.hj-lp .journey-sticky-frame{
  position:sticky;
  top:0;
  height:100vh;
  min-height:680px;
  overflow:hidden;
  background:#33ace5;
  isolation:isolate;
}
.hj-lp .journey-deep-layer,
.hj-lp .journey-vignette{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.hj-lp .journey-deep-layer{
  z-index:0;
  background:linear-gradient(180deg,#0a72b6 0%,#06477f 52%,#063764 100%);
  opacity:var(--journey-depth,0);
  transition:opacity .08s linear;
}
.hj-lp .journey-vignette{
  z-index:1;
  background:radial-gradient(circle at 50% 45%,transparent 28%,rgba(0,35,70,.36) 100%);
  opacity:calc(var(--journey-depth,0) * .8);
  transition:opacity .08s linear;
}

/* Dedicated text zone: no copy sits on top of the diagram labels. */
.hj-lp .journey-caption-layer{
  position:absolute;
  z-index:20;
  top:28px;
  left:50%;
  width:min(1000px,calc(100% - 88px));
  height:118px;
  transform:translateX(-50%);
  text-align:center;
  pointer-events:none;
}
.hj-lp .journey-caption{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  color:#fff;
  font-size:clamp(20px,1.9vw,30px);
  line-height:1.65;
  letter-spacing:.04em;
  font-weight:700;
  text-shadow:0 2px 16px rgba(0,44,86,.48);
  opacity:0;
  transform:translateY(18px);
  transition:opacity .42s ease,transform .42s ease;
}
.hj-lp .journey-faithful-inner[data-scene="1"]~*{} /* specificity anchor */
.hj-lp .journey-sticky-frame[data-scene="1"] .journey-caption-1,
.hj-lp .journey-sticky-frame[data-scene="2"] .journey-caption-2,
.hj-lp .journey-sticky-frame[data-scene="3"] .journey-caption-3,
.hj-lp .journey-sticky-frame[data-scene="4"] .journey-caption-4,
.hj-lp .journey-sticky-frame[data-scene="5"] .journey-caption-5,
.hj-lp .journey-sticky-frame[data-scene="6"] .journey-caption-6{
  opacity:1;
  transform:translateY(0);
}

.hj-lp .journey-scroll-cue{
  position:absolute;
  z-index:25;
  right:34px;
  bottom:34px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  color:#fff;
  font:700 10px/1 Arial,sans-serif;
  letter-spacing:.18em;
  opacity:var(--journey-cue,1);
  transition:opacity .25s ease;
}
.hj-lp .journey-scroll-cue i{
  display:block;
  width:1px;
  height:58px;
  background:rgba(255,255,255,.38);
  position:relative;
  overflow:hidden;
}
.hj-lp .journey-scroll-cue i:after{
  content:"";
  position:absolute;
  left:0;
  top:-40%;
  width:1px;
  height:45%;
  background:#eff45b;
  animation:hj-scroll-cue 1.7s ease-in-out infinite;
}
@keyframes hj-scroll-cue{
  0%{transform:translateY(0);opacity:0}
  25%{opacity:1}
  80%,100%{transform:translateY(180%);opacity:0}
}

/* Camera: the artwork itself travels through the viewport. */
.hj-lp .journey-faithful-inner{
  position:absolute;
  z-index:5;
  left:0;
  right:0;
  top:118px;
  bottom:0;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent!important;
  line-height:1.6;
}
.hj-lp .journey-faithful-stage{
  width:min(1480px,100%);
  max-height:calc(100vh - 128px);
  aspect-ratio:1450/1120;
  margin:0 auto;
  overflow:visible;
  transform-origin:50% 50%;
  transform:translate3d(var(--journey-x,0px),var(--journey-y,0px),0) scale(var(--journey-scale,.94));
  transition:transform .08s linear,filter .08s linear;
  filter:brightness(var(--journey-brightness,1)) saturate(var(--journey-saturation,1));
  will-change:transform,filter;
}
.hj-lp .journey-faithful-inner img{
  width:100%;
  max-width:1480px;
  height:100%;
  object-fit:contain;
  margin:0 auto;
}
.hj-lp .journey-center-message{
  z-index:5;
}

/* Route movement is the only overlay on the artwork itself. */
.hj-lp .journey-trace{
  z-index:8;
}
.hj-lp .journey-trace-base{
  stroke:rgba(255,255,255,.12);
  stroke-width:3;
}
.hj-lp .journey-trace-progress{
  stroke:#eff45b;
  stroke-width:5;
  filter:drop-shadow(0 0 8px rgba(239,244,91,.75));
}
.hj-lp .journey-trace-dot{
  r:10;
  fill:#eff45b;
  filter:drop-shadow(0 0 10px rgba(255,255,255,.95));
}

/* Old overlay copy is intentionally removed in v2.21. */
.hj-lp .journey-memory,
.hj-lp .journey-reframe,
.hj-lp .journey-meaning{display:none!important}

.hj-lp .journey-reflection{
  padding-top:92px;
  padding-bottom:100px;
}

@media(max-width:900px){
  .hj-lp .journey-scroll-track{height:560vh}
  .hj-lp .journey-caption-layer{width:calc(100% - 48px);top:20px;height:105px}
  .hj-lp .journey-caption{font-size:20px}
  .hj-lp .journey-faithful-inner{top:105px}
  .hj-lp .journey-faithful-stage{max-height:calc(100vh - 112px)}
}

@media(max-width:600px){
  .hj-lp .journey-scroll-track{height:auto}
  .hj-lp .journey-sticky-frame{
    position:relative;
    height:auto;
    min-height:0;
    padding:34px 0 0;
  }
  .hj-lp .journey-deep-layer{opacity:.32}
  .hj-lp .journey-vignette{display:none}
  .hj-lp .journey-caption-layer,
  .hj-lp .journey-scroll-cue{display:none}
  .hj-lp .journey-faithful-inner{
    position:relative;
    inset:auto;
    top:auto;
    display:block;
  }
  .hj-lp .journey-faithful-stage{
    max-height:none;
    aspect-ratio:auto;
    transform:none!important;
    filter:none!important;
  }
  .hj-lp .journey-faithful-inner img{height:auto}
  .hj-lp .journey-reflection{padding:42px 0 52px}
}

@media(prefers-reduced-motion:reduce){
  .hj-lp .journey-scroll-cue i:after{animation:none}
  .hj-lp .journey-caption,.hj-lp .journey-faithful-stage{transition:none}
}

/* =========================================================
   v2.22 scroll animation reliability rebuild
   JS uses absolute document scroll positions. CSS view-timeline
   is a visual fallback on modern Chromium if JS is unavailable.
   ========================================================= */
.hj-lp .journey-sticky-frame{
  --journey-split:42%;
  background:linear-gradient(180deg,#33ace5 0 var(--journey-split),#0a5ba6 var(--journey-split) 100%);
}
.hj-lp .journey-deep-layer{
  background:
    radial-gradient(circle at 50% 72%,rgba(0,12,42,.26),transparent 46%),
    linear-gradient(180deg,rgba(4,82,145,.08) 0%,#06477f 54%,#052f58 100%);
}
.hj-lp .journey-faithful-stage{
  transform:translate3d(var(--journey-x,0px),var(--journey-y,72px),0) scale(var(--journey-scale,.92));
}
.hj-lp .journey-debug{
  position:fixed;
  z-index:99999;
  left:10px;
  bottom:10px;
  max-width:calc(100% - 20px);
  padding:8px 10px;
  background:rgba(0,0,0,.78);
  color:#fff;
  font:12px/1.4 monospace;
  pointer-events:none;
}

@media (min-width:601px){
  @supports (animation-timeline: view()) {
    .hj-lp .journey-scroll-track{
      view-timeline-name:--hj-v222;
      view-timeline-axis:block;
    }
    html:not([data-journey-js="ready"]) .journey-faithful-stage{
      animation:hj-v222-camera linear both;
      animation-timeline:--hj-v222;
      animation-range:entry 0% exit 100%;
    }
    html:not([data-journey-js="ready"]) .journey-deep-layer{
      animation:hj-v222-depth linear both;
      animation-timeline:--hj-v222;
      animation-range:entry 0% exit 100%;
    }
    html:not([data-journey-js="ready"]) .journey-caption{
      animation-timeline:--hj-v222;
      animation-range:entry 0% exit 100%;
      animation-timing-function:linear;
      animation-fill-mode:both;
    }
    html:not([data-journey-js="ready"]) .journey-caption-1{animation-name:hj-v222-c1}
    html:not([data-journey-js="ready"]) .journey-caption-2{animation-name:hj-v222-c2}
    html:not([data-journey-js="ready"]) .journey-caption-3{animation-name:hj-v222-c3}
    html:not([data-journey-js="ready"]) .journey-caption-4{animation-name:hj-v222-c4}
    html:not([data-journey-js="ready"]) .journey-caption-5{animation-name:hj-v222-c5}
    html:not([data-journey-js="ready"]) .journey-caption-6{animation-name:hj-v222-c6}

    @keyframes hj-v222-camera{
      0%{transform:translate3d(0,72px,0) scale(.92);filter:brightness(1) saturate(1)}
      18%{transform:translate3d(-36px,34px,0) scale(1);filter:brightness(1) saturate(1.03)}
      38%{transform:translate3d(-54px,-48px,0) scale(1.07);filter:brightness(.96) saturate(1.08)}
      55%{transform:translate3d(0,-142px,0) scale(1.13);filter:brightness(.88) saturate(1.16)}
      72%{transform:translate3d(50px,-58px,0) scale(1.07);filter:brightness(.95) saturate(1.09)}
      88%{transform:translate3d(34px,18px,0) scale(1);filter:brightness(.99) saturate(1.03)}
      100%{transform:translate3d(0,54px,0) scale(.94);filter:brightness(1) saturate(1)}
    }
    @keyframes hj-v222-depth{
      0%,10%{opacity:0}
      52%{opacity:.9}
      100%{opacity:.05}
    }
    @keyframes hj-v222-c1{0%,5%,22%,100%{opacity:0;transform:translateY(18px)}8%,18%{opacity:1;transform:translateY(0)}}
    @keyframes hj-v222-c2{0%,20%,39%,100%{opacity:0;transform:translateY(18px)}24%,35%{opacity:1;transform:translateY(0)}}
    @keyframes hj-v222-c3{0%,37%,56%,100%{opacity:0;transform:translateY(18px)}41%,52%{opacity:1;transform:translateY(0)}}
    @keyframes hj-v222-c4{0%,54%,73%,100%{opacity:0;transform:translateY(18px)}58%,69%{opacity:1;transform:translateY(0)}}
    @keyframes hj-v222-c5{0%,71%,88%,100%{opacity:0;transform:translateY(18px)}75%,84%{opacity:1;transform:translateY(0)}}
    @keyframes hj-v222-c6{0%,85%{opacity:0;transform:translateY(18px)}90%,100%{opacity:1;transform:translateY(0)}}
  }
}

/* =========================================================
   v2.23 sticky / scroll fix
   - overflow:clip keeps the sticky frame tied to the viewport
   - diagram is clipped below the dedicated narrative area
   - the depth rail makes the downward journey legible
   ========================================================= */
.hj-lp .journey-faithful-section{
  overflow:clip;
}
.hj-lp .journey-sticky-frame{
  height:100svh;
  min-height:620px;
}
.hj-lp .journey-caption-layer{
  top:0;
  height:132px;
  padding:18px 0 12px;
  background:linear-gradient(180deg,rgba(6,73,128,.92) 0%,rgba(6,73,128,.76) 72%,rgba(6,73,128,0) 100%);
}
.hj-lp .journey-caption{
  padding:0 44px;
  visibility:hidden;
}
.hj-lp .journey-sticky-frame[data-scene="0"] .journey-caption-1,
.hj-lp .journey-sticky-frame[data-scene="1"] .journey-caption-2,
.hj-lp .journey-sticky-frame[data-scene="2"] .journey-caption-3,
.hj-lp .journey-sticky-frame[data-scene="3"] .journey-caption-4,
.hj-lp .journey-sticky-frame[data-scene="4"] .journey-caption-5,
.hj-lp .journey-sticky-frame[data-scene="5"] .journey-caption-6,
.hj-lp .journey-sticky-frame[data-scene="6"] .journey-caption-6{
  opacity:1;
  transform:translateY(0);
  visibility:visible;
}
.hj-lp .journey-sticky-frame[data-scene="0"] .journey-caption-1~.journey-caption,
.hj-lp .journey-sticky-frame[data-scene="1"] .journey-caption:not(.journey-caption-2),
.hj-lp .journey-sticky-frame[data-scene="2"] .journey-caption:not(.journey-caption-3),
.hj-lp .journey-sticky-frame[data-scene="3"] .journey-caption:not(.journey-caption-4),
.hj-lp .journey-sticky-frame[data-scene="4"] .journey-caption:not(.journey-caption-5),
.hj-lp .journey-sticky-frame[data-scene="5"] .journey-caption:not(.journey-caption-6),
.hj-lp .journey-sticky-frame[data-scene="6"] .journey-caption:not(.journey-caption-6){
  opacity:0;
  visibility:hidden;
}
.hj-lp .journey-faithful-inner{
  top:132px;
  overflow:hidden;
}
.hj-lp .journey-faithful-stage{
  max-height:calc(100svh - 132px);
}
.hj-lp .journey-progress-rail{
  position:absolute;
  z-index:26;
  right:30px;
  top:50%;
  display:grid;
  grid-template-rows:auto 136px auto 12px auto;
  justify-items:center;
  gap:7px;
  transform:translateY(-50%);
  color:rgba(255,255,255,.82);
  font:700 11px/1.1 var(--font);
  letter-spacing:.08em;
  text-shadow:0 1px 5px rgba(0,40,75,.45);
  pointer-events:none;
}
.hj-lp .journey-progress-rail i{
  position:relative;
  display:block;
  width:2px;
  height:136px;
  overflow:visible;
  background:rgba(255,255,255,.28);
}
.hj-lp .journey-progress-rail i:before{
  content:"";
  position:absolute;
  inset:0;
  transform:scaleY(var(--journey-progress,0));
  transform-origin:top;
  background:#eff45b;
}
.hj-lp .journey-progress-rail b{
  position:absolute;
  left:50%;
  top:calc(var(--journey-progress,0) * 100%);
  width:10px;
  height:10px;
  border:2px solid #fff;
  border-radius:50%;
  background:#eff45b;
  box-shadow:0 0 9px rgba(239,244,91,.8);
  transform:translate(-50%,-50%);
}
.hj-lp .journey-progress-rail em{
  display:block;
  width:1px;
  height:12px;
  background:rgba(255,255,255,.4);
}
.hj-lp .journey-progress-rail span:nth-of-type(2){color:#eff45b}

@supports not (overflow:clip){
  .hj-lp .journey-faithful-section{overflow:visible}
}

@media(max-width:900px){
  .hj-lp .journey-caption-layer{height:116px;padding-top:14px}
  .hj-lp .journey-caption{padding:0 54px 0 20px;font-size:19px}
  .hj-lp .journey-faithful-inner{top:116px}
  .hj-lp .journey-faithful-stage{max-height:calc(100svh - 116px)}
  .hj-lp .journey-progress-rail{right:14px}
}

@media(max-width:600px){
  .hj-lp .journey-faithful-section{overflow:hidden}
  .hj-lp .journey-faithful-inner{overflow:visible}
  .hj-lp .journey-progress-rail{display:none}
}

@media(prefers-reduced-motion:reduce){
  .hj-lp .journey-progress-rail{display:none}
}

/* =========================================================
   v2.24 visual-quality rebuild
   Keep the supplied artwork intact. Motion supports the diagram instead of
   covering it with reconstructed shapes or UI.
   ========================================================= */
.hj-lp .journey-scroll-track{height:560vh}
.hj-lp .journey-sticky-frame{
  height:100svh;
  min-height:640px;
  background:linear-gradient(180deg,#33ace5 0 var(--journey-split),#0a5ba6 var(--journey-split) 100%);
}
.hj-lp .journey-caption-layer{
  top:14px;
  width:min(820px,calc(100% - 160px));
  height:96px;
  padding:0;
  border:1px solid rgba(255,255,255,.18);
  border-radius:4px;
  background:rgba(5,79,136,.88);
  box-shadow:0 10px 32px rgba(0,55,99,.16);
  overflow:hidden;
}
.hj-lp .journey-caption{
  padding:10px 42px;
  font-size:clamp(18px,1.55vw,24px);
  line-height:1.55;
  text-shadow:none;
}
.hj-lp .journey-faithful-inner{
  top:116px;
  bottom:12px;
  overflow:hidden;
}
.hj-lp .journey-faithful-stage{
  width:auto;
  height:min(780px,calc(100svh - 128px));
  max-height:none;
  aspect-ratio:1450/1120;
  flex:0 0 auto;
  transform:translate3d(var(--journey-x,0px),var(--journey-y,8px),0) scale(var(--journey-scale,.94));
}
.hj-lp .journey-faithful-inner img{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:contain;
}
.hj-lp .journey-center-message{display:none!important}
.hj-lp .journey-progress-rail{display:none!important}
.hj-lp .journey-trace-base{display:none}
.hj-lp .journey-trace-progress{
  stroke:rgba(239,244,91,.92);
  stroke-width:3;
  filter:drop-shadow(0 0 5px rgba(239,244,91,.48));
}
.hj-lp .journey-trace-dot{
  fill:#eff45b;
  stroke:#fff;
  stroke-width:2;
  filter:drop-shadow(0 0 6px rgba(255,255,255,.8));
}
.hj-lp .journey-scroll-cue{
  right:24px;
  bottom:24px;
}

@media(max-width:1100px){
  .hj-lp .journey-caption-layer{width:min(760px,calc(100% - 120px))}
  .hj-lp .journey-faithful-stage{height:min(720px,calc(100svh - 128px))}
}

@media(max-width:900px){
  .hj-lp .journey-scroll-track{height:500vh}
  .hj-lp .journey-caption-layer{top:12px;width:calc(100% - 64px);height:92px}
  .hj-lp .journey-caption{padding:10px 28px;font-size:18px}
  .hj-lp .journey-faithful-inner{top:108px}
  .hj-lp .journey-faithful-stage{height:min(670px,calc(100svh - 118px))}
  .hj-lp .journey-scroll-cue{right:12px;bottom:18px}
}

@media(max-width:600px){
  .hj-lp .journey-scroll-track{height:auto}
  .hj-lp .journey-sticky-frame{min-height:0;padding-top:28px}
  .hj-lp .journey-faithful-inner{top:auto;bottom:auto;overflow:visible}
  .hj-lp .journey-faithful-stage{width:100%;height:auto;aspect-ratio:1450/1120}
  .hj-lp .journey-faithful-inner img{height:auto}
}

/* =========================================================
   v2.25 professional narrative pass
   Purpose explains the framework; the circle only visualizes the experience.
   ========================================================= */
.hj-lp .purpose-journey-catch{
  width:min(820px,100%);
  margin:46px auto 34px;
  padding:31px 36px 32px;
  border-block:1px solid rgba(12,100,145,.22);
  color:#087eae;
  font-size:clamp(24px,2.5vw,36px);
  font-weight:700;
  line-height:1.75;
  letter-spacing:.035em;
  text-align:center;
}
.hj-lp .purpose-story{margin-top:0}

.hj-lp .journey-scroll-track{height:500vh}
.hj-lp .journey-sticky-frame{
  --phase-color:#17c8df;
  height:100svh;
  min-height:660px;
  background:linear-gradient(180deg,#33ace5 0 var(--journey-split),#0a5ba6 var(--journey-split) 100%);
}
.hj-lp .journey-sticky-frame:before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  background:
    radial-gradient(circle at 74% 25%,rgba(255,255,255,.16),transparent 22%),
    radial-gradient(circle at 28% 76%,rgba(20,43,108,.18),transparent 28%);
  opacity:calc(.35 + var(--journey-depth,0) * .5);
  pointer-events:none;
}
.hj-lp .journey-sticky-frame[data-scene="0"]{--phase-color:#17c8df}
.hj-lp .journey-sticky-frame[data-scene="1"]{--phase-color:#f59b18}
.hj-lp .journey-sticky-frame[data-scene="2"]{--phase-color:#a36bc2}
.hj-lp .journey-caption-layer{display:none!important}
.hj-lp .journey-faithful-inner{
  inset:0;
  top:0;
  bottom:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.hj-lp .journey-faithful-stage{
  width:auto;
  height:min(880px,calc(100svh - 30px),calc(100vw * .7724));
  max-height:none;
  aspect-ratio:1450/1120;
  transform:translate3d(var(--journey-x,0px),var(--journey-y,12px),0) scale(var(--journey-scale,.92));
  transition:transform .1s linear,filter .1s linear;
}
.hj-lp .journey-faithful-inner img{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:contain;
}
.hj-lp .journey-trace-progress{
  stroke:var(--phase-color);
  stroke-width:4;
  filter:drop-shadow(0 0 7px color-mix(in srgb,var(--phase-color) 70%,transparent));
  transition:stroke .5s ease;
}
.hj-lp .journey-trace-dot{
  fill:var(--phase-color);
  stroke:#fff;
  stroke-width:3;
  filter:drop-shadow(0 0 8px color-mix(in srgb,var(--phase-color) 72%,transparent));
  transition:fill .5s ease;
}
.hj-lp .journey-phase-panel{
  position:absolute;
  z-index:10;
  left:25.2%;
  top:14.5%;
  width:49.8%;
  height:64.5%;
  display:grid;
  place-items:center;
  padding:7% 5% 5%;
  text-align:center;
  line-height:1.6;
  pointer-events:none;
}
.hj-lp .journey-phase-card{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:14% 10% 8%;
  opacity:0;
  transform:translateY(20px) scale(.985);
  transition:opacity .48s ease,transform .58s cubic-bezier(.2,.72,.2,1);
}
.hj-lp .journey-phase-card p{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 22px;
  color:var(--phase-color);
  font-size:clamp(15px,1.4vw,21px);
  font-weight:700;
  letter-spacing:.1em;
}
.hj-lp .journey-phase-card p:after{
  content:"";
  width:48px;
  height:2px;
  background:var(--phase-color);
}
.hj-lp .journey-phase-card p span{
  font-family:Arial,sans-serif;
  font-size:.78em;
  letter-spacing:.08em;
}
.hj-lp .journey-phase-card h3{
  margin:0;
  color:#123d55;
  font-size:clamp(23px,2.25vw,36px);
  font-weight:700;
  line-height:1.75;
  letter-spacing:.025em;
}
.hj-lp .journey-sticky-frame[data-scene="0"] .journey-phase-card-0,
.hj-lp .journey-sticky-frame[data-scene="1"] .journey-phase-card-1,
.hj-lp .journey-sticky-frame[data-scene="2"] .journey-phase-card-2{
  opacity:1;
  transform:translateY(0) scale(1);
}
.hj-lp .journey-scroll-cue{
  right:28px;
  bottom:28px;
  opacity:var(--journey-cue,1);
}
.hj-lp .journey-mobile-summary{display:none}

@media(max-width:1050px){
  .hj-lp .journey-scroll-track{height:460vh}
  .hj-lp .journey-faithful-stage{height:min(760px,calc(100svh - 24px),calc(100vw * .7724))}
  .hj-lp .journey-phase-card h3{font-size:clamp(20px,2.35vw,29px)}
}

@media(max-width:760px){
  .hj-lp .purpose-journey-catch{margin:34px auto 26px;padding:25px 12px;font-size:23px}
  .hj-lp .journey-scroll-track{height:auto}
  .hj-lp .journey-sticky-frame{position:relative;height:auto;min-height:0;padding:30px 0 0}
  .hj-lp .journey-sticky-frame:before,.hj-lp .journey-deep-layer,.hj-lp .journey-vignette,.hj-lp .journey-scroll-cue{display:none}
  .hj-lp .journey-faithful-inner{position:relative;inset:auto;display:block;overflow:visible}
  .hj-lp .journey-faithful-stage{width:100%;height:auto;aspect-ratio:1450/1120;transform:none!important;filter:none!important}
  .hj-lp .journey-faithful-inner img{height:auto}
  .hj-lp .journey-trace{display:none}
  .hj-lp .journey-phase-panel{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:9px;
    padding:10% 8% 5%;
  }
  .hj-lp .journey-phase-card{
    position:relative;
    inset:auto;
    display:block;
    padding:0;
    opacity:1;
    transform:none;
    transition:none;
  }
  .hj-lp .journey-phase-card p{margin:0;font-size:clamp(11px,3.5vw,15px);line-height:1.5}
  .hj-lp .journey-phase-card p:after,.hj-lp .journey-phase-card h3{display:none}
  .hj-lp .journey-phase-card-0 p{color:#17aaca}
  .hj-lp .journey-phase-card-1 p{color:#e99013}
  .hj-lp .journey-phase-card-2 p{color:#8750a8}
  .hj-lp .journey-mobile-summary{
    display:grid;
    gap:0;
    width:calc(100% - 40px);
    margin:4px auto 0;
    border-top:1px solid rgba(255,255,255,.35);
  }
  .hj-lp .journey-mobile-summary p{
    display:grid;
    grid-template-columns:64px 1fr;
    gap:15px;
    margin:0;
    padding:17px 0;
    border-bottom:1px solid rgba(255,255,255,.26);
    color:#fff;
    font-size:14px;
    line-height:1.75;
  }
  .hj-lp .journey-mobile-summary b{color:#eff45b;font-size:15px}
  .hj-lp .journey-mobile-summary span{display:block}
}

@media(prefers-reduced-motion:reduce) and (min-width:761px){
  .hj-lp .journey-scroll-track{height:auto}
  .hj-lp .journey-sticky-frame{position:relative;height:auto;min-height:780px}
  .hj-lp .journey-phase-panel{display:flex;flex-direction:column;justify-content:center;gap:16px;padding:8% 7% 5%}
  .hj-lp .journey-phase-card{position:relative;inset:auto;display:block;padding:0;opacity:1;transform:none;transition:none}
  .hj-lp .journey-phase-card p{justify-content:center;margin:0 0 5px;font-size:15px}
  .hj-lp .journey-phase-card p:after{display:none}
  .hj-lp .journey-phase-card h3{font-size:18px;line-height:1.55}
  .hj-lp .journey-phase-card-0 p{color:#17aaca}
  .hj-lp .journey-phase-card-1 p{color:#e99013}
  .hj-lp .journey-phase-card-2 p{color:#8750a8}
  .hj-lp .journey-trace{display:none}
}
:root{--black:#3E3A39;--known:#23a5df;--unknown:#063f86;--unknown-deep:#072d64;--departure:#00DBFF;--trial:#FF9E00;--return:#A685CD;--accent:#00DBFF;--p:0;--unknown-h:0%;--depth:0;font-family:"Yu Gothic","YuGothic","游ゴシック体",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
.hj-lp *, .hj-lp{box-sizing:border-box}html,.hj-lp{margin:0;padding:0}.hj-lp{overflow-x:clip;background:#f4f7f9;color:var(--black)}
.hj-lp .journey{position:relative;height:620vh;background:var(--known)}.hj-lp .sticky{position:sticky;top:0;height:100vh;min-height:720px;overflow:hidden;isolation:isolate;background:var(--known)}
.hj-lp .world-known{position:absolute;inset:0;z-index:-10;background:linear-gradient(180deg,#32afe4 0%,#20a3df 58%,#1493d1 100%)}.hj-lp .world-known::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 22%,rgba(255,255,255,.18),transparent 25%),radial-gradient(circle at 78% 14%,rgba(255,255,255,.12),transparent 23%);opacity:calc(1 - var(--depth)*.55)}
.hj-lp .world-unknown{position:absolute;left:0;right:0;bottom:0;height:var(--unknown-h);z-index:-8;background:radial-gradient(circle at 50% 86%,rgba(42,135,220,.28),transparent 30%),linear-gradient(180deg,var(--unknown) 0%,var(--unknown-deep) 100%);box-shadow:0 -30px 80px rgba(0,42,97,.20)}.hj-lp .world-unknown::before{content:"";position:absolute;left:0;right:0;top:-80px;height:120px;background:linear-gradient(180deg,transparent,rgba(6,63,134,.32) 62%,rgba(6,63,134,.94));filter:blur(18px)}.hj-lp .world-return{position:absolute;inset:0;z-index:-7;opacity:0;pointer-events:none}
.hj-lp .ambient{position:absolute;inset:0;z-index:-5;overflow:hidden;pointer-events:none;opacity:calc(.06 + var(--depth)*.8)}.hj-lp .ambient::before,.hj-lp .ambient::after{content:"";position:absolute;border-radius:50%;filter:blur(2px)}.hj-lp .ambient::before{width:42vw;height:42vw;left:-11vw;bottom:-20vw;background:radial-gradient(circle,rgba(46,171,241,.30),transparent 65%)}.hj-lp .ambient::after{width:38vw;height:38vw;right:-10vw;top:34vh;background:radial-gradient(circle,rgba(147,112,223,.19),transparent 64%)}.hj-lp .stars{position:absolute;left:0;right:0;bottom:0;height:68%;opacity:calc(var(--depth)*.52);background-image:radial-gradient(circle,rgba(255,255,255,.62) 0 1px,transparent 1.4px);background-size:47px 47px;mask-image:linear-gradient(to bottom,transparent,black 24%)}
.hj-lp .world-title{position:absolute;z-index:-1;color:#fff;font-weight:800;line-height:1;pointer-events:none;user-select:none;white-space:nowrap}.hj-lp .world-title small{display:block;font-size:.20em;letter-spacing:.18em;margin-bottom:10px;font-weight:700;opacity:.9}.hj-lp .world-title--known{top:7vh;right:4vw;font-size:clamp(48px,6vw,88px);opacity:.16}.hj-lp .world-title--unknown{bottom:7vh;left:4vw;font-size:clamp(48px,6vw,88px);opacity:0}
.hj-lp .head{position:absolute;left:50%;top:28px;transform:translateX(-50%);width:min(1200px,calc(100% - 72px));z-index:20;color:#fff;display:flex;justify-content:space-between;gap:24px;font-size:11px;line-height:1.7;font-weight:800;letter-spacing:.09em;pointer-events:none}.hj-lp .head__right{max-width:430px;text-align:right}
.hj-lp .scroll-progress{position:absolute;right:26px;top:50%;transform:translateY(-50%);z-index:20;height:205px;display:flex;align-items:center;gap:12px;color:#fff}.hj-lp .scroll-progress__line{position:relative;width:1px;height:100%;background:rgba(255,255,255,.24);overflow:hidden}.hj-lp .scroll-progress__line span{position:absolute;left:0;top:0;width:100%;height:calc(var(--p)*100%);background:#fff;box-shadow:0 0 8px #fff}.hj-lp .scroll-progress__text{font-size:9px;letter-spacing:.16em;font-weight:700;writing-mode:vertical-rl;opacity:.7}
.hj-lp .stage{position:absolute;inset:0;display:grid;place-items:center;padding:54px 36px 44px}.hj-lp .diagram{position:relative;width:min(680px,51vw);aspect-ratio:1;filter:drop-shadow(0 28px 54px rgba(0,52,116,.13));transform:translateY(calc((var(--depth) * 18px) - 2px))}.hj-lp .diagram-halo{position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.98) 0 52%,rgba(255,255,255,.92) 59%,rgba(255,255,255,.12) 70%,transparent 72%);box-shadow:0 24px 78px rgba(0,43,96,.18)}.hj-lp .diagram-halo::after{content:"";position:absolute;inset:-7%;border-radius:50%;border:1px solid rgba(255,255,255,.25);box-shadow:inset 0 0 50px rgba(255,255,255,.08)}.hj-lp .diagram-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hj-lp .orbit-soft{fill:none;stroke:rgba(255,255,255,.18);stroke-width:28}.hj-lp .orbit-base{fill:none;stroke:rgba(255,255,255,.88);stroke-width:2;stroke-dasharray:3 9}.hj-lp .orbit-track{fill:none;stroke:rgba(24,80,142,.16);stroke-width:8;stroke-linecap:round}.hj-lp .boundary-arc{fill:none;stroke:rgba(24,79,141,.16);stroke-width:1.6;stroke-dasharray:3 6}.hj-lp .orbit-progress{fill:none;stroke:#fff;stroke-width:7;stroke-linecap:round;filter:url(#glow)}.hj-lp .orbit-progress-trail{fill:none;stroke:var(--accent);stroke-width:2.8;stroke-linecap:round;filter:url(#accentGlow)}
.hj-lp .center{position:absolute;left:50%;top:50%;width:61%;transform:translate(-50%,-50%);z-index:12;text-align:center;padding:10px 8px;color:var(--black)}.hj-lp .center__eyebrow{font-size:11px;letter-spacing:.22em;font-weight:800;color:#718094;transition:opacity .3s ease}.hj-lp .center__meta{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:12px;font-size:12px;font-weight:800;color:#52657d;transition:opacity .3s ease}.hj-lp .center__meta i{width:6px;height:6px;border-radius:50%;background:var(--accent)}.hj-lp .center__title{margin:18px auto 0;max-width:100%;font-size:clamp(38px,3.55vw,54px);line-height:1.18;font-weight:900;letter-spacing:-.035em;color:#3E3A39;text-wrap:balance;transition:opacity .22s ease;transform-origin:center center}.hj-lp .center.size-medium .center__title{font-size:clamp(32px,3vw,45px);line-height:1.23}.hj-lp .center.size-small .center__title{font-size:clamp(27px,2.55vw,38px);line-height:1.25}.hj-lp .center.size-xsmall .center__title{font-size:clamp(24px,2.25vw,34px);line-height:1.27}.hj-lp .center.is-intro{width:70%;max-width:480px}
.hj-lp .center.is-intro .center__eyebrow,.hj-lp .center.is-intro .center__meta{opacity:0}
.hj-lp .center.is-intro .center__title{margin-top:0;display:flex;flex-direction:column;align-items:center;gap:12px;font-size:inherit;line-height:1;color:#3E3A39;letter-spacing:0;text-wrap:initial}
.hj-lp .intro-copy__lead{display:block;font-size:clamp(17px,1.5vw,21px);line-height:1.45;font-weight:700;letter-spacing:.045em;color:#5A5553;opacity:0;animation:introLine .65s .08s cubic-bezier(.2,.75,.2,1) forwards}
.hj-lp .intro-copy__self{display:block;margin-top:2px;font-size:clamp(23px,1.95vw,29px);line-height:1.3;font-weight:800;letter-spacing:.02em;color:#3E3A39;opacity:0;animation:introLine .68s .30s cubic-bezier(.2,.75,.2,1) forwards}
.hj-lp .intro-copy__main{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:2px;padding:8px 12px 10px;opacity:0;animation:introLine .74s .54s cubic-bezier(.2,.75,.2,1) forwards}
.hj-lp .intro-copy__main::before{content:"";position:absolute;left:8%;right:8%;top:10px;height:46px;border-radius:999px;background:linear-gradient(90deg,rgba(0,219,255,0),rgba(0,219,255,.18) 18%,rgba(0,219,255,.18) 82%,rgba(0,219,255,0));filter:blur(7px);z-index:-1}
.hj-lp .intro-copy__journey{position:relative;display:inline-block;font-size:clamp(29px,2.65vw,37px);line-height:1.18;font-weight:900;letter-spacing:-.025em;color:#3E3A39;white-space:nowrap;max-width:100%;padding:0 4px 6px}.hj-lp .intro-copy__journey::after{content:"";position:absolute;left:7%;right:7%;bottom:0;height:5px;border-radius:999px;background:linear-gradient(90deg,rgba(0,219,255,.28),#00DBFF 35%,#00DBFF 65%,rgba(0,219,255,.28));opacity:.85}
.hj-lp .intro-copy__walk{display:block;font-size:clamp(24px,2.15vw,31px);line-height:1.2;font-weight:800;letter-spacing:-.01em;color:#3E3A39}
@media (min-width:981px){.hj-lp .center.is-intro .center__title{max-width:470px}.hj-lp .intro-copy__main{max-width:470px;width:100%}}
@keyframes introLine{0%{opacity:0;transform:translateY(12px);filter:blur(3px)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}
.hj-lp .phase{position:absolute;z-index:14;width:74px;height:74px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:15px;font-weight:900;box-shadow:0 10px 28px rgba(0,47,101,.13)}.hj-lp .phase--departure{right:10px;top:23%;color:var(--departure)}.hj-lp .phase--trial{left:50%;bottom:5px;transform:translateX(-50%);color:var(--trial)}.hj-lp .phase--return{left:10px;top:23%;color:var(--return)}
.hj-lp .stage-node{position:absolute;z-index:13;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px rgba(35,86,148,.20),0 4px 12px rgba(0,55,111,.14);transform:translate(-50%,-50%);transition:width .25s,height .25s,box-shadow .25s,background .25s}.hj-lp .stage-node.is-passed{background:rgba(255,255,255,.82)}.hj-lp .stage-node.is-active{width:18px;height:18px;background:var(--accent);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 18%,transparent),0 0 24px color-mix(in srgb,var(--accent) 72%,transparent)}
.hj-lp .traveler{position:absolute;z-index:15;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.16),0 0 28px rgba(255,255,255,.9);transform:translate(-50%,-50%);pointer-events:none}.hj-lp .traveler::after{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 80%,transparent)}
.hj-lp .figure{position:absolute;z-index:11;transform:translate(-50%,-50%) scale(.9);opacity:.30;transition:opacity .4s,transform .48s cubic-bezier(.2,.75,.2,1),filter .35s;pointer-events:none}.hj-lp .figure::before{content:"";position:absolute;left:50%;top:50%;width:calc(100% + 18px);height:calc(100% + 18px);transform:translate(-50%,-50%);border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.86),rgba(255,255,255,.34) 44%,transparent 74%);filter:blur(7px);opacity:.40;z-index:-1}.hj-lp .figure img{display:block;width:100%;height:auto;filter:brightness(.44) saturate(.86) contrast(1.15)}.hj-lp .figure.is-passed{opacity:.48}.hj-lp .figure.is-active{opacity:1;transform:translate(-50%,-50%) scale(1.08);filter:drop-shadow(0 11px 15px rgba(0,38,84,.22))}.hj-lp .figure.is-active::before{opacity:.92;background:radial-gradient(circle,rgba(255,255,255,.98),rgba(255,255,255,.70) 38%,color-mix(in srgb,var(--accent) 18%,transparent) 58%,transparent 76%)}.hj-lp .center.is-intro ~ .figure{opacity:.14;transform:translate(-50%,-50%) scale(.86);filter:saturate(.65)}.hj-lp .center.is-intro ~ .phase{opacity:.78}
.hj-lp .story{position:absolute;z-index:30;width:320px;opacity:0;transform:translateY(14px);transition:opacity .28s ease,transform .4s cubic-bezier(.2,.75,.2,1)}.hj-lp .story.is-visible{opacity:1;transform:none}.hj-lp .story__box{padding:20px 22px 22px;border-radius:22px;background:linear-gradient(135deg,rgba(7,50,106,.64),rgba(7,50,106,.28));backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.14);box-shadow:0 22px 40px rgba(0,27,64,.16);color:#fff}.hj-lp .story__meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:13px;font-size:10px;letter-spacing:.14em;font-weight:800;color:rgba(255,255,255,.72)}.hj-lp .story__phase{display:flex;align-items:center;gap:8px}.hj-lp .story__phase::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 60%,transparent)}.hj-lp .story__text{margin:0;font-size:17px;line-height:1.85;font-weight:700;text-wrap:pretty}.hj-lp .story::after{display:none}
.hj-lp .story.z1{right:28px;top:90px}.hj-lp .story.z2{right:22px;top:165px}.hj-lp .story.z3{right:18px;top:50%;transform:translateY(-50%)}.hj-lp .story.z3.is-visible{transform:translateY(-50%)}.hj-lp .story.z4{right:30px;bottom:100px}.hj-lp .story.z5{left:30px;bottom:96px}.hj-lp .story.z6{left:24px;bottom:190px}.hj-lp .story.z7{left:18px;top:50%;transform:translateY(-50%)}.hj-lp .story.z7.is-visible{transform:translateY(-50%)}.hj-lp .story.z8{left:28px;top:165px}.hj-lp .story.z9{left:36px;top:90px}
.hj-lp .nav{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);z-index:25;display:flex;gap:7px}.hj-lp .nav span{width:36px;height:4px;border-radius:999px;background:rgba(255,255,255,.2)}.hj-lp .nav span.is-passed{background:rgba(255,255,255,.65)}.hj-lp .nav span.is-active{background:var(--accent)}.hj-lp .scroll-cue{position:absolute;left:50%;bottom:36px;transform:translateX(-50%);z-index:24;display:flex;align-items:center;gap:12px;color:#fff;font-size:9px;font-weight:800;letter-spacing:.18em;opacity:.75}.hj-lp .scroll-cue i{width:36px;height:1px;background:linear-gradient(90deg,#fff,rgba(255,255,255,.15))}

@media(max-width:1180px){.hj-lp .diagram{width:min(620px,55vw)}.hj-lp .story{width:280px}.hj-lp .story__text{font-size:15px}.hj-lp .world-title{font-size:56px}}@media(max-width:1080px){.hj-lp .story{width:250px}.hj-lp .diagram{width:min(590px,56vw)}}
@media(max-width:980px){.hj-lp .journey{height:auto}.hj-lp .sticky{position:relative;height:auto;min-height:0;padding:90px 16px 70px;background:linear-gradient(180deg,var(--known) 0 42%,var(--unknown) 42% 100%)}.hj-lp .world-unknown{height:58%!important}.hj-lp .ambient,.hj-lp .scroll-progress,.hj-lp .scroll-cue,.hj-lp .head{display:none}.hj-lp .stage{position:relative;display:block;padding:0}.hj-lp .diagram{width:min(680px,calc(100vw - 32px));margin:0 auto;transform:none}.hj-lp .story{position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;opacity:1;width:min(680px,calc(100vw - 32px));margin:26px auto 0}.hj-lp .story::after{display:none}.hj-lp .nav{position:relative;left:auto;bottom:auto;transform:none;justify-content:center;margin:18px auto 0}.hj-lp .world-title--known{top:28px;right:18px}.hj-lp .world-title--unknown{bottom:34px;left:18px}}@media(max-width:620px){.hj-lp .center{width:64%}.hj-lp .center__title{font-size:28px}.hj-lp .center.size-small .center__title{font-size:23px}.hj-lp .center.size-medium .center__title{font-size:25px}.hj-lp .center.size-xsmall .center__title{font-size:20px}.hj-lp .center.is-intro{width:80%}.hj-lp .intro-copy__lead{font-size:14px}.hj-lp .intro-copy__self{font-size:20px}.hj-lp .intro-copy__journey{font-size:25px}.hj-lp .intro-copy__walk{font-size:22px}.hj-lp .phase{width:54px;height:54px;font-size:12px}.hj-lp .phase--departure{right:-2px}.hj-lp .phase--return{left:-2px}.hj-lp .phase--trial{bottom:-5px}.hj-lp .figure{transform:translate(-50%,-50%) scale(.76)}.hj-lp .figure.is-active{transform:translate(-50%,-50%) scale(.88)}}@media(prefers-reduced-motion:reduce){.hj-lp *, .hj-lp,.hj-lp *::before, .hj-lp,.hj-lp *::after, .hj-lp{animation:none!important;transition:none!important}}
/* v16 narrative flow refinement */
.hj-lp .purpose-transition{
  width:min(820px,100%);
  margin:34px auto 0!important;
  padding-top:28px;
  border-top:1px solid rgba(12,100,145,.16);
  color:#315f73;
  font-size:15px!important;
  line-height:2!important;
  font-weight:700;
  letter-spacing:.015em;
}
.hj-lp .purpose .english-statement{margin-top:32px}
.hj-lp .journey-reflection-lead{margin:0!important}
.hj-lp .journey-reflection-meaning{
  width:min(860px,100%);
  margin:34px auto 0!important;
  font-size:clamp(15px,1.35vw,19px)!important;
  line-height:2!important;
  color:rgba(255,255,255,.88);
}
.hj-lp .journey-reflection-young{margin-top:34px!important}
@media(max-width:760px){
  .hj-lp .purpose-transition{margin-top:26px!important;padding-top:22px;font-size:14px!important;text-align:left!important}
  .hj-lp .purpose-transition br{display:none}
  .hj-lp .journey-reflection-meaning{margin-top:26px!important;font-size:14px!important;text-align:left}
  .hj-lp .journey-reflection-meaning br{display:none}
}
/* v17 readability + speech-bubble proximity fixes */
.hj-lp .story{z-index:32}
.hj-lp .story__box{position:relative}
.hj-lp .story::after{
  content:"";
  position:absolute;
  width:38px;
  height:2px;
  background:linear-gradient(90deg,rgba(255,255,255,.58),rgba(255,255,255,0));
  top:50%;
  display:block;
  opacity:.74;
}
.hj-lp .story.z1,.hj-lp .story.z2,.hj-lp .story.z3,.hj-lp .story.z4{
  left:calc(50% + clamp(185px,20.5vw,295px));
  right:auto;
}
.hj-lp .story.z5,.hj-lp .story.z6,.hj-lp .story.z7,.hj-lp .story.z8,.hj-lp .story.z9{
  right:calc(50% + clamp(185px,20.5vw,295px));
  left:auto;
}
.hj-lp .story.z1{top:88px}
.hj-lp .story.z2{top:172px}
.hj-lp .story.z3{top:50%;transform:translateY(-50%)}
.hj-lp .story.z4{bottom:112px}
.hj-lp .story.z5{bottom:112px}
.hj-lp .story.z6{bottom:194px}
.hj-lp .story.z7{top:50%;transform:translateY(-50%)}
.hj-lp .story.z8{top:172px}
.hj-lp .story.z9{top:88px}
.hj-lp .story.z1::after,.hj-lp .story.z2::after,.hj-lp .story.z3::after,.hj-lp .story.z4::after{
  left:-34px;
}
.hj-lp .story.z5::after,.hj-lp .story.z6::after,.hj-lp .story.z7::after,.hj-lp .story.z8::after,.hj-lp .story.z9::after{
  right:-34px;
  transform:scaleX(-1);
}
.hj-lp .story.z3.is-visible,.hj-lp .story.z7.is-visible{transform:translateY(-50%)}

.hj-lp .journey-reflection{
  position:relative;
  margin:0 auto 0!important;
  padding:78px clamp(30px,5vw,74px) 84px!important;
  background:linear-gradient(180deg,#0d4f9b 0%,#0b3f83 100%);
  border-radius:34px 34px 0 0;
  box-shadow:0 24px 56px rgba(4,39,84,.18);
  overflow:hidden;
}
.hj-lp .journey-reflection::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 22%,rgba(255,255,255,.10),transparent 24%),
    radial-gradient(circle at 82% 16%,rgba(255,255,255,.08),transparent 20%),
    linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0));
  pointer-events:none;
}
.hj-lp .journey-reflection > *{position:relative;z-index:1}
.hj-lp .journey-reflection-lead{max-width:980px;margin:0 auto!important}
.hj-lp .journey-reflection-young{
  width:min(860px,100%);
  border-top:1px solid rgba(255,255,255,.22);
}
@media(max-width:1180px){
  .hj-lp .story.z1,.hj-lp .story.z2,.hj-lp .story.z3,.hj-lp .story.z4{left:calc(50% + clamp(160px,21vw,250px))}
  .hj-lp .story.z5,.hj-lp .story.z6,.hj-lp .story.z7,.hj-lp .story.z8,.hj-lp .story.z9{right:calc(50% + clamp(160px,21vw,250px))}
}
@media(max-width:760px){
  .hj-lp .journey-reflection{
    padding:46px 22px 52px!important;
    border-radius:24px 24px 0 0;
  }
}
/* Journey closing bridge: purpose -> journey experience -> program goal */
.hj-lp .journey-reflection{
  position:relative;
  width:100%;
  margin:0!important;
  padding:0!important;
  color:#fff;
  text-align:center;
  background:
    radial-gradient(circle at 14% 8%,rgba(0,219,255,.10),transparent 27%),
    radial-gradient(circle at 86% 16%,rgba(166,133,205,.10),transparent 24%),
    linear-gradient(180deg,#0b3f83 0%,#0a356f 100%);
  overflow:hidden;
  border-radius:0!important;
  box-shadow:none!important;
}
.hj-lp .journey-reflection::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:min(1000px,72vw);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
}
.hj-lp .journey-reflection__inner{
  position:relative;
  z-index:1;
  width:min(1000px,calc(100% - 88px));
  padding:88px 0 96px;
}
.hj-lp .journey-reflection__kicker{
  margin:0 0 18px!important;
  color:rgba(255,255,255,.54);
  font-size:11px!important;
  line-height:1.4!important;
  font-weight:800;
  letter-spacing:.18em;
}
.hj-lp .journey-reflection h2{
  margin:0;
  color:#fff;
  font-size:clamp(30px,3vw,43px);
  line-height:1.55;
  letter-spacing:.025em;
  font-weight:700;
}
.hj-lp .journey-reflection__body{
  width:min(860px,100%);
  margin:38px auto 0;
  color:rgba(255,255,255,.84);
}
.hj-lp .journey-reflection__body p{
  margin:0!important;
  font-size:clamp(15px,1.35vw,18px)!important;
  line-height:2.05!important;
  letter-spacing:.015em;
}
.hj-lp .journey-reflection__body p+p{
  margin-top:28px!important;
}
.hj-lp .journey-reflection__body strong{
  color:#fff;
  font-weight:800;
}
.hj-lp .journey-reflection__insight{
  width:min(820px,100%);
  margin:42px auto 0;
  padding:27px 34px 29px;
  border-top:1px solid rgba(255,255,255,.20);
  border-bottom:1px solid rgba(255,255,255,.20);
  color:#fff;
  font-size:clamp(18px,1.65vw,23px)!important;
  line-height:1.9!important;
  font-weight:700;
  letter-spacing:.025em;
}
.hj-lp .journey-reflection__insight em{
  font-style:normal;
  color:#fff;
  background:linear-gradient(transparent 67%,rgba(0,219,255,.28) 67%);
}
@media(max-width:760px){
  .hj-lp .journey-reflection__inner{
    width:calc(100% - 40px);
    padding:58px 0 66px;
  }
  .hj-lp .journey-reflection h2{
    font-size:25px;
    line-height:1.65;
  }
  .hj-lp .journey-reflection h2 br{display:none}
  .hj-lp .journey-reflection__body{
    margin-top:28px;
    text-align:left;
  }
  .hj-lp .journey-reflection__body p{
    font-size:14px!important;
    line-height:2!important;
  }
  .hj-lp .journey-reflection__body br{display:none}
  .hj-lp .journey-reflection__insight{
    margin-top:34px;
    padding:23px 0 24px;
    text-align:left;
    font-size:17px!important;
  }
}
/* Final spacing / centering refinement: use whitespace instead of rules */
.hj-lp .purpose-inner{
  width:min(1000px,calc(100% - 88px))!important;
  margin-inline:auto!important;
  text-align:center!important;
}
.hj-lp .purpose-story{
  width:100%;
  max-width:900px;
  margin:34px auto 0!important;
  text-align:center;
}
.hj-lp .purpose-story .purpose-program{
  width:min(880px,100%);
  margin:44px auto 0!important;
  padding-top:0!important;
  border-top:0!important;
}
.hj-lp .purpose-transition{
  width:min(820px,100%);
  margin:52px auto 0!important;
  padding-top:0!important;
  border-top:0!important;
  text-align:center!important;
}
.hj-lp .purpose .english-statement{
  margin-top:44px!important;
  text-align:center!important;
}

.hj-lp .journey-reflection::before{display:none!important}
.hj-lp .journey-reflection__inner{
  width:min(1000px,calc(100% - 88px))!important;
  margin-inline:auto!important;
  padding:92px 0 104px!important;
  text-align:center!important;
}
.hj-lp .journey-reflection__kicker{
  margin:0 auto 20px!important;
  text-align:center!important;
}
.hj-lp .journey-reflection h2{
  width:min(820px,100%);
  margin:0 auto!important;
  text-align:center!important;
}
.hj-lp .journey-reflection__body{
  width:min(850px,100%);
  margin:42px auto 0!important;
  text-align:center!important;
}
.hj-lp .journey-reflection__body p+p{
  margin-top:30px!important;
}
.hj-lp .journey-reflection__insight{
  width:min(820px,100%);
  margin:54px auto 0!important;
  padding:0!important;
  border:0!important;
  text-align:center!important;
}

@media(max-width:760px){
  .hj-lp .purpose-inner,.hj-lp .journey-reflection__inner{
    width:calc(100% - 40px)!important;
  }
  .hj-lp .purpose-story{margin-top:28px!important}
  .hj-lp .purpose-story .purpose-program{margin-top:34px!important}
  .hj-lp .purpose-transition{
    margin-top:38px!important;
    padding-top:0!important;
    text-align:center!important;
  }
  .hj-lp .journey-reflection__inner{padding:64px 0 72px!important}
  .hj-lp .journey-reflection__body{margin-top:32px!important}
  .hj-lp .journey-reflection__insight{margin-top:40px!important}
}
/* r04: stage-title animation must never alter line wrapping while it grows. */
.hj-lp .center__title.is-entering{
  animation:journeyTitleEnter .34s cubic-bezier(.2,.72,.2,1) both;
}
.hj-lp .center__title.is-nowrap{
  white-space:nowrap;
  text-wrap:nowrap;
  font-size:clamp(30px,3vw,44px);
}
@keyframes journeyTitleEnter{
  from{opacity:.16;transform:translateY(5px) scale(.965)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(max-width:620px){
  .hj-lp .center__title.is-nowrap{font-size:22px}
}
/* Intro lockup: keep every glyph inside the inner safe zone and center optically. */
.hj-lp .center.is-intro{
  top:47.5%;
  width:58%;
  max-width:400px;
  padding:0;
}
.hj-lp .center.is-intro .center__title{
  width:100%;
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
  color:#3E3A39;
  letter-spacing:0;
  text-align:center;
}
.hj-lp .intro-copy__lead{
  display:block;
  font-size:clamp(13px,1.15vw,16px);
  line-height:1.6;
  font-weight:500;
  letter-spacing:.09em;
  color:#716d69;
}
.hj-lp .intro-copy__self{
  display:block;
  margin-top:12px;
  font-size:clamp(17px,1.45vw,20px);
  line-height:1.45;
  font-weight:600;
  letter-spacing:.055em;
  color:#55514e;
}
.hj-lp .intro-copy__main{
  width:100%;
  margin-top:14px;
  padding:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  background:none;
}
.hj-lp .intro-copy__main::before{display:none}
.hj-lp .intro-copy__journey{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.02em;
  max-width:100%;
  padding:0;
  font-size:clamp(29px,2.55vw,36px);
  line-height:1.15;
  font-weight:700;
  letter-spacing:-.018em;
  color:#0e5574;
  white-space:nowrap;
}
.hj-lp .intro-copy__journey::after{display:none}
.hj-lp .intro-copy__quote{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.62em;
  line-height:1;
  font-weight:500;
  color:#6f98aa;
  transform:translateY(-.07em);
}
.hj-lp .intro-copy__walk{
  display:block;
  margin-top:0;
  font-size:clamp(16px,1.4vw,19px);
  line-height:1.5;
  font-weight:600;
  letter-spacing:.07em;
  color:#514d49;
}
@media(max-width:980px){
  .hj-lp .center.is-intro{top:48%;width:60%;max-width:390px}
}
@media(max-width:620px){
  .hj-lp .center.is-intro{top:48%;width:66%;max-width:310px}
  .hj-lp .intro-copy__lead{font-size:12px;letter-spacing:.06em}
  .hj-lp .intro-copy__self{font-size:15px;margin-top:8px}
  .hj-lp .intro-copy__main{margin-top:9px;gap:7px}
  .hj-lp .intro-copy__journey{font-size:clamp(22px,6.2vw,27px)}
  .hj-lp .intro-copy__walk{font-size:14px}
}
/* r03: stable semantic line breaks for the bridge conclusion */
.hj-lp .journey-reflection__insight-lead{
  display:block;
}
.hj-lp .journey-reflection__insight em{
  display:block;
  margin-top:.28em;
  background:none!important;
}
.hj-lp .journey-reflection__insight-clause{
  display:block;
  width:max-content;
  max-width:100%;
  margin-inline:auto;
  white-space:nowrap;
  background:linear-gradient(transparent 67%,rgba(0,219,255,.28) 67%);
}
@media(max-width:600px){
  .hj-lp .journey-reflection__insight{
    text-wrap:balance;
  }
  .hj-lp .journey-reflection__insight em{
    margin-top:.38em;
  }
  .hj-lp .journey-reflection__insight-clause{
    display:inline;
    width:auto;
    white-space:normal;
    background:none;
  }
}
/* Two reference layouts. All rules are scoped to the journey section. */
.hj-lp #journey{height:620vh;height:620svh}
.hj-lp #journey .sticky{position:sticky;top:0;height:100vh;height:100svh;min-height:0;padding:0;overflow:hidden;background:var(--known)}
.hj-lp #journey .stage{position:absolute;inset:0;display:grid;place-items:center;padding:50px 24px 58px}
.hj-lp #journey .diagram{width:min(680px,72vw,calc(100svh - 128px));margin:0;transform:translateY(calc(var(--depth)*14px - 2px))}
.hj-lp #journey .center{top:50%;width:60%;padding:0;transform:translate(-50%,-50%);text-align:center}
.hj-lp #journey .center__eyebrow{font:700 11px/1.5 Arial,sans-serif;letter-spacing:.22em}
.hj-lp #journey .center__meta{margin-top:13px;font-size:12px;line-height:1.5}
.hj-lp #journey .center__title{font-size:clamp(30px,3.4vw,48px);line-height:1.28;letter-spacing:-.025em;margin-top:22px;text-wrap:initial;overflow-wrap:normal}
.hj-lp #journey .center.size-medium .center__title{font-size:clamp(27px,3.1vw,42px)}
.hj-lp #journey .center.size-small .center__title{font-size:clamp(25px,2.8vw,38px)}
.hj-lp #journey .center.size-xsmall .center__title{font-size:clamp(23px,2.6vw,35px)}
.hj-lp #journey .center__title.is-nowrap{font-size:clamp(26px,3.1vw,43px);white-space:nowrap;text-wrap:nowrap}
.hj-lp #journey .center.is-intro{top:47.5%;width:58%;max-width:400px}
.hj-lp #journey .center.is-intro .center__title{margin:0;font-size:inherit;line-height:1}
.hj-lp #journey .center__description{margin:24px auto 0;width:100%;color:#3E3A39;font-size:17px;font-weight:700;line-height:1.85;letter-spacing:.015em;text-align:center;text-wrap:pretty;overflow-wrap:normal;animation:journeyDescriptionEnter .3s ease both}
.hj-lp #journey .center.is-intro .center__description{display:none}
@keyframes journeyDescriptionEnter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.hj-lp #journey .center.is-intro .center__eyebrow,.hj-lp #journey .center.is-intro .center__meta{display:none}
.hj-lp #journey .nav{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);margin:0;gap:7px;justify-content:center}
.hj-lp #journey .nav button{display:block;width:36px;height:5px;margin:0;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.24);position:relative}
.hj-lp #journey .nav button::before{content:"";position:absolute;inset:-12px 0}
.hj-lp #journey .nav button.is-passed{background:rgba(255,255,255,.68)}
.hj-lp #journey .nav button.is-active{background:var(--accent)}
.hj-lp #journey .scroll-cue{display:flex;position:absolute;bottom:44px;margin:0;line-height:1.3}
.hj-lp #journey .head{width:min(1000px,calc(100% - 80px));top:24px;font-size:11px}
.hj-lp #journey .story::after{display:none!important}
.hj-lp #journey .figure{transition:opacity .35s,transform .4s ease,filter .3s}
.hj-lp #journey .world-title--known{top:6vh;right:4vw}
.hj-lp #journey .world-title--unknown{bottom:7vh;left:4vw}
.hj-lp #journey .story-connector{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:24;pointer-events:none;opacity:0;transition:opacity .18s ease}
.hj-lp #journey .story-connector.is-visible{opacity:1}
.hj-lp #journey .story-connector path{fill:none;stroke:rgba(255,255,255,.95);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.hj-lp #journey .story-connector circle{fill:var(--accent);stroke:white;stroke-width:2;vector-effect:non-scaling-stroke}
.hj-lp #journey .story{z-index:32;transition:opacity .22s ease;transform:none!important}
.hj-lp #journey .story__box{padding:20px 22px 22px;border-radius:22px;background:linear-gradient(135deg,rgba(7,50,106,.88),rgba(7,50,106,.62));border:1px solid rgba(255,255,255,.22)}
.hj-lp #journey .story__text{font-size:17px;line-height:1.85;text-wrap:pretty}
.hj-lp #journey .story__meta{font-size:11px;line-height:1.4}
@media(max-width:980px){
 .hj-lp #journey .world-unknown{height:var(--unknown-h)!important}
 .hj-lp #journey .ambient{display:block}
 .hj-lp #journey .world-title{font-size:clamp(34px,6vw,56px)}
 .hj-lp #journey .diagram{width:min(640px,86vw,calc(100svh - 160px));transform:translateY(calc(var(--depth)*10px))}
 .hj-lp #journey .head{display:none}
 .hj-lp #journey .scroll-progress{display:none}
}
@media(max-width:640px){
 .hj-lp #journey .stage{padding:60px 12px 74px}
 .hj-lp #journey .diagram{width:min(calc(100vw - 24px),calc(100svh - 180px))}
 .hj-lp #journey .center{width:62%}
 .hj-lp #journey .center__eyebrow{font-size:10px;letter-spacing:.16em}
 .hj-lp #journey .center__meta{margin-top:7px;font-size:11px;gap:7px}
 .hj-lp #journey .center__title,.hj-lp #journey .center.size-medium .center__title{font-size:22px;line-height:1.3;margin-top:12px}
 .hj-lp #journey .center.size-small .center__title{font-size:20px}
 .hj-lp #journey .center.size-xsmall .center__title{font-size:18px}
 .hj-lp #journey .center__title.is-nowrap{font-size:20px}
 .hj-lp #journey .center__description{margin-top:13px;font-size:16px;line-height:1.65;max-height:106px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#aabfcd transparent;padding-right:4px;text-align:left}
 .hj-lp #journey .center.is-intro{width:62%}
 .hj-lp #journey .phase{width:48px;height:48px;font-size:12px}
 .hj-lp #journey .phase--departure{right:0}
 .hj-lp #journey .phase--return{left:0}
 .hj-lp #journey .phase--trial{bottom:0}
 .hj-lp #journey .nav button{width:27px}
 .hj-lp #journey .nav{gap:6px;bottom:22px}
 .hj-lp #journey .world-title--known{top:28px;right:18px}
 .hj-lp #journey .world-title--unknown{bottom:70px;left:18px}
 .hj-lp #journey .intro-copy__journey{font-size:clamp(19px,5.5vw,26px)}
 .hj-lp #journey .figure{transform:translate(-50%,-50%) scale(.58)}
 .hj-lp #journey .figure.is-active{transform:translate(-50%,-50%) scale(.70)}
 .hj-lp #journey .figure[data-figure="3"]{left:88%!important}
}
@media(prefers-reduced-motion:reduce){
 .hj-lp #journey .intro-copy__lead,.hj-lp #journey .intro-copy__self,.hj-lp #journey .intro-copy__main{opacity:1}
 .hj-lp #journey .center__title.is-entering,.hj-lp #journey .center__description{animation:none;opacity:1;transform:none}
}

.hj-lp #journey .story{display:none!important}
.hj-lp #journey .center__title{font-size:clamp(29px,3.25vw,46px)}
.hj-lp #journey .center.size-medium .center__title{font-size:clamp(25px,2.8vw,39px)}
.hj-lp #journey .center.size-small .center__title{font-size:clamp(24px,2.65vw,36px)}
.hj-lp #journey .center.size-xsmall .center__title{font-size:clamp(22px,2.4vw,33px)}
.hj-lp #journey .center__title.is-nowrap{font-size:clamp(25px,2.9vw,40px)}
@media(max-width:640px){
 .hj-lp #journey .center__title,.hj-lp #journey .center.size-medium .center__title{font-size:21px}
 .hj-lp #journey .center.size-small .center__title{font-size:19px}
 .hj-lp #journey .center.size-xsmall .center__title{font-size:17px}
 .hj-lp #journey .center__title.is-nowrap{font-size:18px}
 .hj-lp #journey .center__eyebrow{display:none}
 .hj-lp #journey .center:not(.is-intro){width:56%;height:54%;display:flex;flex-direction:column;justify-content:center}
 .hj-lp #journey .center__meta,.hj-lp #journey .center__title{flex-shrink:0}
 .hj-lp #journey .center__description{flex:0 1 auto;min-height:0;max-height:100%;width:100%;padding-right:5px}
}
/* Shared copy updates, matching the established type and color palette. */
.hj-lp .purpose{position:relative;padding:72px 0 76px!important;background:#eeede7}
.hj-lp .purpose::after{content:"";position:absolute;left:50%;bottom:-17px;transform:translateX(-50%);border-left:18px solid transparent;border-right:18px solid transparent;border-top:18px solid #eeede7;z-index:42}
.hj-lp .purpose .purpose-story{margin:26px auto 0!important;max-width:1000px}
.hj-lp .purpose .purpose-story p{max-width:1000px;margin:0 auto!important;font-size:16px;line-height:1.95;font-weight:500;color:#3E3A39}
.hj-lp .purpose .purpose-story p+p{margin-top:20px!important}
.hj-lp .journey-reflection .journey-reflection__inner{padding:64px 0 72px!important}
.hj-lp .journey-reflection h2{width:100%;max-width:1000px;font-size:clamp(23px,2.15vw,29px);line-height:1.75;letter-spacing:.01em}
.hj-lp .journey-reflection .journey-reflection__body{width:100%;max-width:1000px;margin:24px auto 0!important}
.hj-lp .journey-reflection .journey-reflection__body p{font-size:16px!important;line-height:1.95!important}
.hj-lp #journey .journey-introduction{color:#fff;text-align:center;width:min(1000px,calc(100% - 88px));margin:0 auto;z-index:40}
.hj-lp #journey .journey-introduction__label{color:#fff}
.hj-lp #journey .journey-introduction h2{margin:0 0 14px;color:#fff;font-size:clamp(22px,2vw,28px);line-height:1.55;font-weight:700;letter-spacing:.015em;text-wrap:balance}
.hj-lp #journey .journey-introduction__body{margin:0;color:rgba(255,255,255,.96);font-size:16px;line-height:1.8;font-weight:500;letter-spacing:.01em;text-wrap:pretty}
.hj-lp #journey .diagram{container-type:inline-size}
.hj-lp #journey .center__title{font-size:clamp(22px,6cqw,42px)!important;line-height:1.27!important;letter-spacing:-.02em}
.hj-lp #journey .center.size-medium .center__title{font-size:clamp(21px,5.8cqw,37px)!important}
.hj-lp #journey .center.size-small .center__title{font-size:clamp(20px,5.4cqw,34px)!important}
.hj-lp #journey .center.size-xsmall .center__title{font-size:clamp(19px,5cqw,32px)!important}
.hj-lp #journey .center__title.is-nowrap{font-size:clamp(19px,5.3cqw,34px)!important}
.hj-lp #journey .center.is-intro{width:64%;top:50%;max-width:440px}
.hj-lp #journey .center.is-intro .center__title{font-size:inherit!important;gap:9px}
.hj-lp #journey .intro-copy__lead{font-size:clamp(13px,3.4cqw,19px)}
.hj-lp #journey .intro-copy__self{font-size:clamp(18px,4.5cqw,26px)}
.hj-lp #journey .intro-copy__main{gap:9px;padding:6px 0}
.hj-lp #journey .intro-copy__journey{font-size:clamp(18px,4.9cqw,31px)}
.hj-lp #journey .intro-copy__walk{font-size:clamp(18px,4.6cqw,28px)}
.hj-lp #journey .phase{width:clamp(48px,13cqw,74px);height:clamp(48px,13cqw,74px);font-size:clamp(12px,2.7cqw,15px)}
.hj-lp #journey .figure[data-figure="0"]{width:8.2353cqw!important}
.hj-lp #journey .figure[data-figure="1"]{width:8.8235cqw!important}
.hj-lp #journey .figure[data-figure="2"]{width:10.5882cqw!important}
.hj-lp #journey .figure[data-figure="3"]{width:10.2941cqw!important}
.hj-lp #journey .figure[data-figure="4"]{width:11.1765cqw!important}
.hj-lp #journey .figure[data-figure="5"],.hj-lp #journey .figure[data-figure="6"]{width:10.5882cqw!important}
@media(min-width:981px){
  .hj-lp #journey .sticky{height:100vh;height:100svh;min-height:0;padding:0;--journey-intro-space:260px;--journey-diagram-size:min(620px,44vw,calc(100svh - var(--journey-intro-space) - 84px))}
  .hj-lp #journey .journey-introduction{position:absolute;left:50%;top:30px;transform:translateX(-50%)}
  .hj-lp #journey .head{display:none}
  .hj-lp #journey .stage{top:var(--journey-intro-space);bottom:70px;left:0;right:0;padding:0;display:grid;place-items:center}
  .hj-lp #journey .diagram{width:var(--journey-diagram-size);margin:0;transform:none!important}
  .hj-lp #journey .world-title--known{top:calc(var(--journey-intro-space) + 6px);font-size:clamp(42px,5vw,70px);opacity:.1}
  .hj-lp #journey[data-pattern="image2"] .sticky{--journey-diagram-size:min(660px,72vw,calc(100svh - var(--journey-intro-space) - 84px))}
  .hj-lp #journey[data-pattern="frame3"] .story{width:min(320px,calc((100% - var(--journey-diagram-size))/2 - 48px));transform:none!important}
  .hj-lp #journey[data-pattern="frame3"] .story__text{font-size:16px;line-height:1.85}
  .hj-lp #journey[data-pattern="frame3"] .story__meta{font-size:12px;line-height:1.4}
  .hj-lp #journey[data-pattern="frame3"] .story__box{max-height:calc(100svh - var(--journey-intro-space) - 76px);display:flex;flex-direction:column}
  .hj-lp #journey[data-pattern="frame3"] .story__meta{flex-shrink:0}
  .hj-lp #journey[data-pattern="frame3"] .story__text{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.5) transparent}
  .hj-lp #journey[data-pattern="image2"] .center:not(.is-intro){width:56%;height:54%;padding:0;display:flex;flex-direction:column;justify-content:center}
  .hj-lp #journey[data-pattern="image2"] .center__meta{margin-top:0;flex-shrink:0}
  .hj-lp #journey[data-pattern="image2"] .center__eyebrow{display:none}
  .hj-lp #journey[data-pattern="image2"] .center:not(.is-intro) .center__title{margin-top:12px;flex-shrink:0}
  .hj-lp #journey[data-pattern="image2"] .center__description{margin-top:16px;font-size:16px;line-height:1.75;flex:0 1 auto;min-height:0;max-height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#aabfcd transparent;padding-right:4px}
}
@media(max-width:980px){
  .hj-lp #journey > .journey-introduction{position:relative;padding:46px 0 36px}
  .hj-lp #journey .journey-introduction{width:min(1000px,calc(100% - 40px))}
  .hj-lp #journey .journey-introduction h2{font-size:23px;margin-top:0}
  .hj-lp #journey .journey-introduction__body{text-align:left;line-height:1.9}
  .hj-lp .copy-desktop-break{display:none}
}
@media(max-width:760px){
  .hj-lp .purpose{padding:52px 0 56px!important}
  .hj-lp .purpose h2{font-size:24px;line-height:1.6}
  .hj-lp .purpose .purpose-story p{text-align:left}
  .hj-lp .journey-reflection .journey-reflection__inner{padding:48px 0 54px!important}
  .hj-lp .journey-reflection .journey-reflection__body{text-align:left!important}
}
/* r05 polish: spacing + motion rendering only. Design, structure and copy are unchanged. */
/* Progress line: scale instead of animating height (no relayout per frame). */
.hj-lp #journey .scroll-progress__line span{height:100%!important;transform:scaleY(var(--p,0));transform-origin:50% 0;will-change:transform}
.hj-lp #journey .traveler{will-change:left,top}
/* Stage text: a slightly longer, staggered settle so the title and copy land together. */
.hj-lp #journey .center__title.is-entering{animation:journeyTitleEnter .42s cubic-bezier(.2,.72,.2,1) both}
.hj-lp #journey[data-pattern="image2"] .center__description{animation:journeyDescriptionEnter .44s .07s cubic-bezier(.2,.72,.2,1) both}
@media(min-width:981px){
  /* Even breathing room above and below the ring, scaled with the viewport height. */
  .hj-lp #journey .sticky{
    --journey-gap:clamp(20px,4.4vh,60px);
    --journey-diagram-size:min(620px,44vw,calc(100svh - var(--journey-intro-space) - 70px - var(--journey-gap)));
  }
  /* Image2 keeps the full ring on short screens so the in-circle copy never needs to scroll. */
  .hj-lp #journey[data-pattern="image2"] .sticky{--journey-diagram-size:min(660px,72vw,calc(100svh - var(--journey-intro-space) - 84px))}
  .hj-lp #journey .stage{bottom:70px}
  /* Keep the large world label clear of the vertical progress bar. */
  .hj-lp #journey .world-title--known{right:max(4vw,84px)}
  /* Frame3 popup: hide instantly, then reveal in place (no fade-out at the next position). */
  .hj-lp #journey[data-pattern="frame3"] .story{
    translate:0 10px;
    transition:opacity .34s cubic-bezier(.2,.7,.2,1),translate .5s cubic-bezier(.2,.75,.2,1)!important;
  }
  .hj-lp #journey[data-pattern="frame3"] .story.is-visible{translate:0 0}
  .hj-lp #journey[data-pattern="frame3"] .story:not(.is-visible){transition:none!important}
  /* Connector: disappears with its popup, then draws from the point toward the card. */
  .hj-lp #journey .diagram .story-connector:not(.is-visible){transition:none}
  .hj-lp #journey .story-connector__line{stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset .52s cubic-bezier(.3,.7,.2,1) .06s}
  .hj-lp #journey .story-connector.is-visible .story-connector__line{stroke-dashoffset:0}
}
@media(min-width:981px) and (min-height:820px){
  .hj-lp #journey[data-pattern="image2"] .sticky{
    --journey-diagram-size:min(660px,72vw,calc(100svh - var(--journey-intro-space) - 70px - var(--journey-gap)));
  }
}
@media(max-width:980px){
  /* Frame3 mobile shows the static ring only: the hidden popup no longer reserves blank space. */
  .hj-lp #journey[data-pattern="frame3"] .story[style*="hidden"]{display:none}
  /* ...while the known/unknown horizon stays at the same point on the ring as before. */
  .hj-lp #journey[data-pattern="frame3"] .sticky{--journey-horizon:calc(90px + min(680px,100vw - 32px)*.54);background:linear-gradient(180deg,var(--known) 0 var(--journey-horizon),var(--unknown) var(--journey-horizon) 100%)}
  .hj-lp #journey[data-pattern="frame3"] .world-unknown{top:var(--journey-horizon);height:auto!important}
}
@media(prefers-reduced-motion:reduce){
  .hj-lp #journey .center__title.is-entering,.hj-lp #journey[data-pattern="image2"] .center__description{animation:none}
  .hj-lp #journey[data-pattern="frame3"] .story{translate:none;transition:none!important}
  .hj-lp #journey .story-connector__line{stroke-dasharray:none;transition:none}
}
/* r06: changes from 1006 design review (PDF). */
/* Review flags: wording kept as in the PDF, marked for discussion. */
.hj-lp .typo-flag{background:rgba(228,0,127,.10);box-shadow:inset 0 -2px 0 #e4007f;border-radius:2px}
.hj-lp .typo-flag::after{content:"表記揺れ";display:inline-block;margin-left:4px;padding:1px 5px 0;border-radius:3px;background:#e4007f;color:#fff;font:700 10px/1.5 sans-serif;letter-spacing:.04em;vertical-align:.25em;white-space:nowrap}

/* ⓪ Hero */
.hj-lp .hero .hero-content h1{font-size:clamp(30px,3.5vw,50px);font-weight:500;line-height:1.35;letter-spacing:.04em;color:#2a2a2a;margin:0}
.hj-lp .hero .hero-subtitle{margin:14px 0 0;font-size:clamp(17px,1.65vw,24px);font-weight:500;line-height:1.6;letter-spacing:.03em;color:#2a2a2a}
.hj-lp .hero .hero-credit{margin:22px 0 34px;font-size:15px;font-weight:500}
.hj-lp .hero .hero-actions{gap:20px}
.hj-lp .hero .hero-actions .hero-button{position:relative;width:360px;min-height:48px;padding:10px 44px;justify-content:center;border-radius:6px;font-size:14px;font-weight:500;color:#333;background:rgba(255,255,255,.9);border:1px solid #4c4c4c}
.hj-lp .hero .hero-actions .hero-button-download{background:#dce000;border-color:#dce000;color:#333;font-weight:500}
.hj-lp .hero .hero-actions .hero-button-download:hover{background:#e6ea2a}
@media(max-width:760px){
  .hj-lp .hero .hero-content h1{font-size:clamp(20px,6.2vw,30px);letter-spacing:.02em;white-space:nowrap}
  .hj-lp .hero .hero-subtitle{font-size:14px;margin-top:10px}
  .hj-lp .hero .hero-credit{font-size:12px;margin:14px 0 18px}
  .hj-lp .hero .hero-actions{gap:10px}
  .hj-lp .hero .hero-actions .hero-button{width:100%;max-width:300px;min-height:44px;font-size:13px}
}
.hj-lp .hero-button__arrow{position:absolute;right:20px;top:50%;transform:translateY(-50%);font-style:normal;font-size:12px;line-height:1}

/* ① Base type: headings from 30px, body 16px (regular weight). */
.hj-lp .concept h2,.hj-lp .purpose h2,.hj-lp .journey-reflection h2,.hj-lp .goals h2,.hj-lp .features h2,.hj-lp .program h2,.hj-lp .process-heading h2,.hj-lp .faq-heading h2,.hj-lp #journey .journey-introduction h2{font-size:clamp(24px,2.6vw,32px)!important;line-height:1.55!important}
.hj-lp .concept-copy p,.hj-lp .purpose .purpose-story p,.hj-lp .journey-reflection .journey-reflection__body p,.hj-lp .goal-card p,.hj-lp .feature-copy p,.hj-lp .program-flow article>p:not(.flow-label),.hj-lp .process-list p,.hj-lp .faq details>p,.hj-lp .concept-supervisor-intro p,.hj-lp #journey .journey-introduction__body{font-size:16px!important;font-weight:400!important;line-height:1.9!important}
.hj-lp .supervisor .bio{font-size:14px;line-height:1.85}
.hj-lp .concept-supervisor-intro h3{font-size:20px}
.hj-lp .goal-card h3{font-size:18px;line-height:1.6}
.hj-lp .feature-copy h3{font-size:20px;line-height:1.6}
.hj-lp .program-flow h3{font-size:20px!important}
.hj-lp .faq-question{font-size:16px}
.hj-lp .process-list h3{font-size:17px}

/* Program Goal: lighter photo, room under the English line. */
.hj-lp .goals:before{opacity:.3!important}
.hj-lp .goals{padding-bottom:clamp(96px,10vw,140px)!important}
.hj-lp .goal-english{margin-top:40px!important;text-shadow:0 2px 20px rgba(24,58,84,.28)}

/* Point 2: Kolb cycle with notes (PDF layout). */
.hj-lp .feature-diagram.kolb-diagram{display:block;padding:8px 0 0;background:#fff;min-height:0}
.hj-lp .kolb{display:grid;grid-template-columns:1fr 160px 1fr;grid-template-areas:"top top top" "left cycle right" "bottom bottom bottom";align-items:center;column-gap:8px;max-width:520px;margin:0 auto}
.hj-lp .kolb-note{border-radius:6px;background:#eef1f5;padding:9px 10px;text-align:left;color:#3e3a39}
.hj-lp .kolb-note>b{display:block;font-size:13.5px;line-height:1.45;font-weight:500}
.hj-lp .kolb-note>span{display:block;margin-top:3px;font-size:12px;line-height:1.6}
.hj-lp .kolb-note--top{grid-area:top;justify-self:center;text-align:center;padding:9px 22px 30px;margin-bottom:-26px}
.hj-lp .kolb-note--bottom{grid-area:bottom;justify-self:center;text-align:center;background:#f4f2b6;padding:30px 22px 10px;margin-top:-26px}
.hj-lp .kolb-note--left{grid-area:left}
.hj-lp .kolb-note--left b{color:#4a7cc0}
.hj-lp .kolb-note--right{grid-area:right}
.hj-lp .kolb-cycle{grid-area:cycle;position:relative;width:160px;height:160px;z-index:1}
.hj-lp .kolb-node{position:absolute;width:58px;height:58px;border-radius:50%;background:#fff;border:2px solid #29a3dc;display:grid;place-items:center;color:#1593d0;font-size:15px;font-weight:500}
.hj-lp .kolb-node--top{left:51px;top:0}.hj-lp .kolb-node--right{right:0;top:51px}.hj-lp .kolb-node--bottom{left:51px;bottom:0}.hj-lp .kolb-node--left{left:0;top:51px}
.hj-lp .kolb-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:14px;color:#3e3a39}
.hj-lp .kolb-arrows{position:absolute;inset:0;width:100%;height:100%}
.hj-lp .kolb-arrows>path{fill:none;stroke:#b8c2c9;stroke-width:4;marker-end:url(#kolbHead)}
.hj-lp .kolb-diagram small{display:block;text-align:right;margin-top:8px!important}

@media(max-width:640px){
  .hj-lp .kolb{grid-template-columns:1fr 112px 1fr;column-gap:6px}
  .hj-lp .kolb-cycle{width:112px;height:112px}
  .hj-lp .kolb-node{width:42px;height:42px;font-size:12px;border-width:1.5px}
  .hj-lp .kolb-node--top{left:35px}.hj-lp .kolb-node--bottom{left:35px}.hj-lp .kolb-node--right{top:35px}.hj-lp .kolb-node--left{top:35px}
  .hj-lp .kolb-core{font-size:11px}
  .hj-lp .kolb-note{padding:7px 7px}
  .hj-lp .kolb-note>b{font-size:12px}
  .hj-lp .kolb-note>span{font-size:11px;line-height:1.55}
  .hj-lp .kolb-note--top,.hj-lp .kolb-note--bottom{padding-inline:12px}
  .hj-lp .kolb-note--top{padding-bottom:24px;margin-bottom:-20px}.hj-lp .kolb-note--bottom{padding-top:24px;margin-top:-20px}
}
@media(max-width:760px){
  .hj-lp .features .feature-row{grid-template-columns:52px minmax(0,1fr);gap:14px 14px}
  .hj-lp .features .feature-row .feature-diagram{grid-column:1/-1;width:100%;margin-left:0!important;max-width:100%}
}
/* Point 3: dialogue illustration. */
.hj-lp .feature-diagram.dialogue-diagram{background:#fff;min-height:0;padding:10px 0}
.hj-lp .dialogue-diagram img{width:100%;max-width:380px;height:auto;margin:0 auto}

/* Overview */
@media(min-width:761px){.hj-lp .program .program-flow{grid-template-columns:1fr 200px 1fr}.hj-lp .program .program-flow .interval>p{font-size:16px;line-height:1.6}}
.hj-lp .interval>span .flow-arrow,.hj-lp .flow-label .flow-arrow{display:inline-block;margin-left:6px;transition:transform .2s}
@media(max-width:760px){
  .hj-lp .program .program-flow{display:flex;flex-direction:column;gap:12px;max-width:420px;margin-inline:auto}
  .hj-lp .program .program-flow .interval{display:flex;flex-direction:column;align-items:center;max-width:none;margin:0;min-height:0;padding:0 0 16px;background:#f4f4f4}
  .hj-lp .program .program-flow .interval>span{margin:0 0 12px}
  .hj-lp .program .program-flow .interval>p{grid-column:auto;font-size:17px}
  .hj-lp .program .program-flow .flow-arrow{transform:rotate(90deg)}
  .hj-lp .program-flow h3{font-size:18px!important}
}

/* ③ Journey */
.hj-lp #journey .orbit-progress,.hj-lp #journey .orbit-progress-trail{display:none}
.hj-lp #journey .orbit-segment{fill:none;stroke-width:6;stroke-linecap:round}
.hj-lp #journey .traveler::after{transition:background .3s}
/* Phase label inside the circle: the dot colour becomes the label background. */
.hj-lp #journey .center__meta i{display:none}
.hj-lp #journey #centerPhase{display:inline-block;padding:2px 12px 1px;border-radius:999px;background:var(--accent);color:#fff;font-size:14px;font-weight:700;letter-spacing:.08em;line-height:1.6;transition:background .3s}
.hj-lp #journey .center__meta{gap:10px;align-items:center}
/* Start label above point 1 */
.hj-lp #journey .journey-start{position:absolute;left:50%;top:11.4%;z-index:12;margin:0;transform:translate(-50%,calc(-100% - 14px));color:#fff;font:700 clamp(13px,3.1cqw,22px)/1.12 Arial,Helvetica,sans-serif;text-align:center;white-space:nowrap;text-shadow:0 2px 10px rgba(0,40,90,.18);pointer-events:none}
/* Eight stage icons, one per stage 2-9 */
.hj-lp #journey .diagram .figure[data-figure]{width:calc(var(--fig-w) * 1cqw)!important}
.hj-lp #journey .figure img{filter:none}
.hj-lp #journey .diagram .figure[data-figure]{width:calc(var(--fig-w) * 1.32cqw)!important;opacity:.62}
.hj-lp #journey .diagram .figure.is-passed{opacity:.78}
.hj-lp #journey .diagram .figure.is-active{opacity:1}
.hj-lp #journey .journey-start{transform:translate(-50%,calc(-100% - 20px))}
/* Phase badges stay; the current phase is marked and shows its phrase. */
.hj-lp #journey .phase{transition:box-shadow .3s ease,opacity .3s ease,scale .3s ease}
.hj-lp #journey .sticky[data-phase] .phase{opacity:.82}
.hj-lp #journey .sticky[data-phase="departure"] .phase--departure,.hj-lp #journey .sticky[data-phase="trial"] .phase--trial,.hj-lp #journey .sticky[data-phase="return"] .phase--return{opacity:1;scale:1.06;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 70%,transparent),0 12px 30px rgba(0,47,101,.2)}
.hj-lp #journey .phase__name{position:relative}
.hj-lp #journey .phase__pop{position:absolute;z-index:2;opacity:0;pointer-events:none;color:#fff;font-size:16px;font-weight:700;line-height:1.55;letter-spacing:.03em;white-space:nowrap;text-shadow:0 1px 10px rgba(0,32,72,.32);transition:opacity .3s ease,translate .4s cubic-bezier(.2,.75,.2,1)}
.hj-lp #journey .phase--departure .phase__pop{left:calc(100% + 16px);top:50%;transform:translateY(-50%);translate:-8px 0;text-align:left}
.hj-lp #journey .phase--return .phase__pop{right:calc(100% + 16px);top:50%;transform:translateY(-50%);translate:8px 0;text-align:right}
.hj-lp #journey .phase--trial .phase__pop{left:50%;top:calc(100% + 10px);transform:translateX(-50%);translate:0 -6px;text-align:center}
.hj-lp #journey .sticky[data-phase="departure"] .phase--departure .phase__pop,.hj-lp #journey .sticky[data-phase="trial"] .phase--trial .phase__pop,.hj-lp #journey .sticky[data-phase="return"] .phase--return .phase__pop{opacity:1;translate:0 0}
/* Phone/tablet: the phrase sits under the ring instead of beside the badge. */
.hj-lp #journey .journey-status{display:none}
@media(max-width:980px){
  .hj-lp #journey .phase__pop{display:none}
  .hj-lp #journey .journey-status{display:flex;position:absolute;left:50%;top:calc(100% + 18px);transform:translateX(-50%);z-index:12;margin:0;align-items:center;gap:10px;white-space:nowrap;color:#fff;font-size:14px;font-weight:700;line-height:1.5}
  .hj-lp #journey .journey-status__name{padding:2px 10px 1px;border-radius:999px;background:var(--accent);color:#fff;font-size:12px;letter-spacing:.08em}
  .hj-lp #journey .journey-status__text{animation:journeyDescriptionEnter .4s cubic-bezier(.2,.72,.2,1) both}
  .hj-lp #journey #centerPhase{font-size:12px;padding:1px 9px 0}
}
@media(max-width:640px){
  .hj-lp #journey .diagram .figure[data-figure="3"]{left:66.01%!important}
}
@media(prefers-reduced-motion:reduce){
  .hj-lp #journey .phase,.hj-lp #journey .phase__pop{transition:none}
}

/* r06b: body copy outside the ring at 16px. */
.hj-lp .hero .hero-credit{font-size:16px!important}
.hj-lp .supervisor .supervisor-name{font-size:18px!important;line-height:1.5!important}
.hj-lp .supervisor .supervisor-role{font-size:14px!important;line-height:1.7!important}
.hj-lp .supervisor .bio{font-size:16px!important;line-height:1.85!important}
.hj-lp .curriculum-title p{font-size:16px!important;line-height:1.8!important}
.hj-lp .faq .faq-question{font-size:16px!important}
.hj-lp .program .interval>strong,.hj-lp .program .interval>strong small{font-size:16px!important}
@media(max-width:760px){.hj-lp .hero .hero-credit{font-size:14px!important}}
/* r06b: ring — description 14px, step bar removed. */
.hj-lp #journey .center__description{font-size:14px!important;line-height:1.8!important}
.hj-lp #journey .nav{display:none!important}
/* ---- WordPress theme compatibility: keep the pinned journey below a fixed site header ---- */
.hj-lp #journey .sticky{top:var(--hj-offset,0px);height:calc(100vh - var(--hj-offset,0px));height:calc(100svh - var(--hj-offset,0px));--hj-vh:calc(100svh - var(--hj-offset,0px))}
@media(min-width:981px){
  .hj-lp #journey .sticky{--journey-diagram-size:min(620px,44vw,calc(var(--hj-vh) - var(--journey-intro-space) - 70px - var(--journey-gap)))}
  .hj-lp #journey[data-pattern="image2"] .sticky{--journey-diagram-size:min(660px,72vw,calc(var(--hj-vh) - var(--journey-intro-space) - 84px))}
}
@media(min-width:981px) and (min-height:820px){
  .hj-lp #journey[data-pattern="image2"] .sticky{--journey-diagram-size:min(660px,72vw,calc(var(--hj-vh) - var(--journey-intro-space) - 70px - var(--journey-gap)))}
}
@media(max-width:980px){.hj-lp #journey .diagram{width:min(640px,86vw,calc(var(--hj-vh) - 160px))}}
@media(max-width:640px){.hj-lp #journey .diagram{width:min(calc(100vw - 24px),calc(var(--hj-vh) - 180px))}}
@media(min-width:981px){
  .hj-lp #journey.hj-intro-outside > .journey-introduction{position:relative;left:auto;top:auto;transform:none;margin:0 auto;padding:64px 0 8px}
}

/* ---- r08f ---- */
/* Hero: keep the buttons clear of the overlapping concept card at every width. */
@media(min-width:1181px){.hj-lp .hero .hero-content{padding-top:clamp(120px,calc(37.4vw - 360px),260px)}}
@media(min-width:901px) and (max-width:1180px){.hj-lp .hero .hero-content{padding-top:140px}}
/* Supervisor photo fills its column. */
.hj-lp .concept .supervisor>img{width:100%;height:100%;align-self:stretch}
/* Introduction above the pinned ring: same sky colour as the top of the ring area (no seam). */
@media(min-width:981px){
  .hj-lp #journey.hj-intro-outside{background:#32afe4}
  .hj-lp #journey.hj-intro-outside .world-known::before{background:radial-gradient(circle at 18% 60%,rgba(255,255,255,.14),transparent 30%)}
}
@media(max-width:900px){.hj-lp .concept .supervisor>img{height:auto;align-self:start}}

/* Point: Illustrator-exported badges and diagrams (images). */
.hj-lp .feature-number.feature-number--img{height:auto;border-radius:0;background:none}
.hj-lp .feature-number--img img{display:block;width:100%;height:auto}
.hj-lp .feature-diagram.image-diagram{min-height:0;padding:10px 0;background:#fff}
.hj-lp .image-diagram img{display:block;width:100%;height:auto;margin:0 auto}
.hj-lp .image-diagram--kegan img{max-width:465px}
.hj-lp .image-diagram--kolb img{max-width:493px}

/* Program Overview: interval box without padding. */
.hj-lp .interval,.hj-lp .program .program-flow .interval{padding:0}

/* Design heading: hand-drawn underline (images/design-heading-line.svg) instead of the border. */
.hj-lp .design-heading{border-bottom:0;padding-bottom:8px;background:url(../images/design-heading-line.svg) center bottom/100% auto no-repeat}

/* Journey: skip / lock controls. Once played (or skipped) the section collapses to one screen. */
.hj-lp #journey.is-locked{height:auto}
.hj-lp #journey.is-locked .sticky{position:relative;top:auto}
.hj-lp #journey .journey-controls{position:absolute;right:24px;bottom:18px;z-index:30;display:flex;gap:8px;align-items:center}
.hj-lp #journey .journey-controls button{appearance:none;margin:0;min-height:34px;padding:6px 16px;border:1px solid rgba(255,255,255,.75);border-radius:999px;background:rgba(0,30,60,.28);color:#fff;font:700 12px/1.2 var(--font);letter-spacing:.08em;cursor:pointer;transition:background .2s,opacity .2s}
.hj-lp #journey .journey-controls button:hover:not(:disabled){background:rgba(255,255,255,.22)}
.hj-lp #journey .journey-controls button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.hj-lp #journey .journey-controls button:disabled{opacity:.35;cursor:default}
.hj-lp #journey .journey-controls__step{width:34px;padding:0!important;font-size:20px!important;line-height:1!important}
.hj-lp #journey .journey-controls__skip span{margin-left:6px}
.hj-lp #journey:not(.is-locked) .journey-controls__step,.hj-lp #journey:not(.is-locked) .journey-controls__replay,.hj-lp #journey.is-locked .journey-controls__skip{display:none}
@media(max-width:640px){.hj-lp #journey .journey-controls{right:12px;bottom:12px;gap:6px}.hj-lp #journey .journey-controls button{padding:6px 12px}}
@media print{.hj-lp #journey .journey-controls{display:none}}

/* Hero → Concept: on wide screens the hero kept growing with the width (71.4vw) while the copy
   stays put, so the gap above the white card widened. Cap the hero so the card starts about 64px
   below the buttons: padding-top + copy block (~315px) + 64px + card overlap (= -margin-top). */
@media(min-width:1181px){
  .hj-lp .hero{height:min(clamp(880px,71.4vw,1900px),calc(clamp(120px,37.4vw - 360px,260px) + 315px + 64px + clamp(390px,34vw,720px)))}
  .hj-lp .hero-image{object-position:center 20%}
}

/* ==========================================================================
   r09: design rules (1007 review). Spacing and type are normalised to a small scale
   so every section shares the same rhythm. Values below override the effective
   values above; earlier rules are left untouched so this block can be rolled back.

   Spacing  4 / 8 / 12 / 16 / 24 / 32 / 48 / 64 / 96 / 128 (multiples of 8, 4 and 12 for fine detail)
   Type     12 / 14 / 16 / 18 / 20 / 22 / 24 / 32 / 40 / 48 / 64 (even numbers only)

   Role                         PC        SP (<=760px)
   section padding (L / M / S)  96/64/32  64/48/32
   eyebrow -> h2 / h2 -> body   24 / 32   16 / 24
   card padding                 32        24
   grid gap                     24        16
   ========================================================================== */
.hj-lp{
  --hj-space-4:4px;--hj-space-8:8px;--hj-space-12:12px;--hj-space-16:16px;--hj-space-24:24px;
  --hj-space-32:32px;--hj-space-48:48px;--hj-space-64:64px;--hj-space-96:96px;--hj-space-128:128px;
  --hj-section-l:96px;--hj-section-m:64px;--hj-section-s:32px;
  --hj-eyebrow-gap:24px;--hj-heading-gap:32px;--hj-card-pad:32px;--hj-grid-gap:24px;
}
@media(max-width:760px){
  .hj-lp{--hj-section-l:64px;--hj-section-m:48px;--hj-eyebrow-gap:16px;--hj-heading-gap:24px;--hj-card-pad:24px;--hj-grid-gap:16px}
}

/* Section padding. Purpose sits right under the Concept card, so its top is 0 (1007 review). */
.hj-lp .concept{padding-bottom:var(--hj-section-l)}
.hj-lp .purpose{padding:0 0 var(--hj-section-m)!important}
.hj-lp .journey-reflection .journey-reflection__inner{padding:var(--hj-section-m) 0!important}
.hj-lp .goals{padding-top:var(--hj-section-l)!important;padding-bottom:var(--hj-space-128)!important}
.hj-lp .features,.hj-lp .program{padding-top:var(--hj-section-l);padding-bottom:var(--hj-section-l)}
.hj-lp .contact{padding-top:var(--hj-section-m);padding-bottom:var(--hj-section-m)}
.hj-lp .mid-cta{padding:var(--hj-section-s) 0}
@media(max-width:760px){
  .hj-lp .goals{padding-bottom:var(--hj-section-l)!important}
}

/* Headings: eyebrow (design-heading) -> h2 -> body. */
.hj-lp .design-heading.design-heading,.hj-lp .program-heading>p.design-heading,.hj-lp .purpose .purpose-inner>p.design-heading{font-size:16px!important;margin-top:0!important;margin-bottom:var(--hj-eyebrow-gap)!important}
.hj-lp .concept-layout>h2,.hj-lp #purpose-title,.hj-lp .features>.wrap>h2,.hj-lp .contact .wrap>h2{margin-bottom:var(--hj-heading-gap)}
.hj-lp .purpose .purpose-story{margin-top:var(--hj-heading-gap)!important}
.hj-lp .concept-copy p+p{margin-top:var(--hj-space-16)!important}
.hj-lp .purpose .purpose-story p+p{margin-top:var(--hj-space-16)!important}
.hj-lp .goal-text>h3,.hj-lp .program-flow article>h3,.hj-lp .feature-copy>h3{margin-bottom:var(--hj-space-16)}
@media(max-width:760px){
  .hj-lp .design-heading.design-heading,.hj-lp .program-heading>p.design-heading{font-size:14px!important}
  .hj-lp .goal-text>h3,.hj-lp .program-flow article>h3,.hj-lp .feature-copy>h3{margin-bottom:var(--hj-space-8)}
}

/* Hero: stepped sizes instead of fluid ones. */
.hj-lp .hero .hero-content h1{font-size:48px}
.hj-lp .hero .hero-subtitle{margin-top:var(--hj-space-16);font-size:24px}
.hj-lp .hero .hero-label{padding:var(--hj-space-8) var(--hj-space-16);margin-bottom:var(--hj-space-24);font-size:16px}
.hj-lp .hero .hero-credit{margin:var(--hj-space-24) 0 var(--hj-space-32);font-size:16px}
.hj-lp .hero .hero-actions{gap:var(--hj-space-16)}
.hj-lp .hero .hero-actions .hero-button{padding:var(--hj-space-12) var(--hj-space-48);gap:var(--hj-space-32)}
/* KV image: lighter at every width; on wide screens enlarged and lifted (1014 request). */
.hj-lp .hero .hero-image{opacity:.8}
@media(min-width:1181px){
  .hj-lp .hero .hero-image{top:calc(var(--hj-space-64) * -1);height:138%;object-position:center 20%}
}
@media(max-width:1180px){
  .hj-lp .hero .hero-content h1{font-size:40px}
  .hj-lp .hero .hero-subtitle{font-size:20px}
}
@media(max-width:760px){
  .hj-lp .hero .hero-content{padding-top:var(--hj-space-128)}
  .hj-lp .hero .hero-content h1{font-size:22px}
  .hj-lp .hero .hero-subtitle{margin-top:var(--hj-space-8);font-size:14px}
  .hj-lp .hero .hero-label{padding:var(--hj-space-4) var(--hj-space-12);margin-bottom:var(--hj-space-16);font-size:12px}
  .hj-lp .hero .hero-credit{margin:var(--hj-space-16) 0;font-size:12px}
  .hj-lp .hero .hero-actions{gap:var(--hj-space-8)}
  .hj-lp .hero .hero-actions .hero-button{font-size:14px}
}
@media(max-width:359px){
  .hj-lp .hero .hero-content h1{font-size:18px}
}

/* Concept card + supervisor. */
.hj-lp .concept-card{padding:var(--hj-space-48) var(--hj-space-64)}
.hj-lp .concept-rule{margin-top:var(--hj-space-32)}
.hj-lp .concept-supervisor-intro>h3{margin-bottom:var(--hj-space-8)}
.hj-lp .supervisor{margin-top:var(--hj-space-24);gap:var(--hj-grid-gap)}
.hj-lp .supervisor .supervisor-role{margin:0 0 var(--hj-space-8)!important}
@media(max-width:760px){
  .hj-lp .concept-card{padding:var(--hj-space-32) var(--hj-space-24)}
  .hj-lp .concept-layout{gap:var(--hj-space-32)}
  .hj-lp .supervisor-body>.bio{padding-top:var(--hj-space-8)}
}

/* Journey introduction: more room above the copy on large screens (1007 review). */
.hj-lp #journey .journey-introduction h2{margin-bottom:var(--hj-space-16)}
@media(min-width:981px){
  .hj-lp #journey .sticky{--journey-intro-top:96px} /* read by heroes-journey.js */
  .hj-lp #journey .journey-introduction{top:var(--journey-intro-top)}
  .hj-lp #journey.hj-intro-outside>.journey-introduction{padding:var(--hj-space-96) 0 var(--hj-space-8)}
}
@media(max-width:980px){
  .hj-lp #journey>.journey-introduction{padding:var(--hj-space-48) 0 var(--hj-space-32)}
}
.hj-lp #journey .scroll-cue span{font-size:10px}
.hj-lp #journey .journey-controls button{padding:var(--hj-space-8) var(--hj-space-16)}
@media(max-width:640px){
  .hj-lp #journey .journey-controls{gap:var(--hj-space-8)}
  .hj-lp #journey .journey-controls button{padding:var(--hj-space-8) var(--hj-space-12)}
}

/* Program Goal. "Beyond your comfort zone!" is centred (1007 review). */
.hj-lp .goals-grid{margin-top:var(--hj-space-32);gap:var(--hj-grid-gap)}
.hj-lp .goal-card .goal-text{padding:var(--hj-space-24)}
.hj-lp .goal-english{max-width:1000px;margin:var(--hj-space-48) auto 0!important;font-size:64px;text-align:center}
@media(max-width:1180px){
  .hj-lp .goal-english{font-size:48px}
}
@media(max-width:760px){
  .hj-lp .goal-english{margin-top:var(--hj-space-32)!important;font-size:32px}
}

/* Mid CTA bands. */
.hj-lp .mid-cta-inner{gap:var(--hj-space-32)}
.hj-lp .mid-cta-inner>div{gap:var(--hj-space-8)}
.hj-lp .mid-cta-inner a{padding-left:var(--hj-space-16);padding-right:var(--hj-space-16);font-size:14px}
@media(max-width:760px){
  .hj-lp .mid-cta-inner>p{margin-bottom:var(--hj-space-16)}
}

/* Program Features (Point 1-3). Point headings 22px (1007 review). */
.hj-lp .features .feature-row{padding:var(--hj-space-24) 0;gap:var(--hj-grid-gap)}
.hj-lp .feature-row+.feature-row{margin-top:0}
.hj-lp .feature-number--img{gap:var(--hj-space-4)}
.hj-lp .feature-diagram.image-diagram,.hj-lp .feature-diagram.dialogue-diagram{padding:var(--hj-space-8) 0}
.hj-lp .feature-copy h3{font-size:22px}
@media(max-width:760px){
  .hj-lp .feature-copy h3{font-size:18px}
  .hj-lp .feature-diagram.image-diagram,.hj-lp .feature-diagram.dialogue-diagram{margin-top:var(--hj-space-8)}
}

/* Program Overview + standard programme. Session headings 18px, items 16px (1007 review). */
.hj-lp .program-heading{margin-bottom:var(--hj-space-32);gap:var(--hj-space-32)}
.hj-lp .program-flow{margin-bottom:var(--hj-space-32)}
.hj-lp .program .program-flow article{padding-left:var(--hj-card-pad);padding-right:var(--hj-card-pad)}
.hj-lp .program .program-flow .flow-label{padding:var(--hj-space-8);margin:0 calc(var(--hj-card-pad)*-1) var(--hj-space-16)}
.hj-lp .interval>span{padding:var(--hj-space-8) var(--hj-space-4);margin-bottom:var(--hj-space-16);font-size:16px}
.hj-lp .interval .flow-arrow{font-size:16px}
.hj-lp .interval>p{margin-bottom:var(--hj-space-16)}
.hj-lp .curriculum-title{padding:var(--hj-space-16) var(--hj-space-24) var(--hj-space-24)}
.hj-lp .curriculum-title>h3{margin-bottom:var(--hj-space-8)}
.hj-lp .session-table h4{padding:var(--hj-space-12) var(--hj-space-24);font-size:18px}
.hj-lp .session-row time{padding:var(--hj-space-24) var(--hj-space-12);font-size:14px}
.hj-lp .session-row>div{padding:var(--hj-space-24) var(--hj-space-32)}
.hj-lp .session-row h5{font-size:18px;margin-bottom:var(--hj-space-12)}
.hj-lp .session-row p{padding:var(--hj-space-8) var(--hj-space-12);font-size:16px}
@media(max-width:760px){
  .hj-lp .program .program-flow article{padding-bottom:var(--hj-card-pad)}
  .hj-lp .program-flow{gap:var(--hj-space-12)}
  .hj-lp .interval{column-gap:var(--hj-space-24)}
  .hj-lp .program .program-flow .interval>p{font-size:16px}
  .hj-lp .curriculum-title{padding:var(--hj-space-16)}
  .hj-lp .curriculum-title>h3,.hj-lp .session-table h4{font-size:16px}
  .hj-lp .session-row{grid-template-columns:96px 1fr}
  .hj-lp .session-row time{padding:var(--hj-space-16) var(--hj-space-8);font-size:12px}
  .hj-lp .session-row>div{padding:var(--hj-space-16) var(--hj-space-12)}
  .hj-lp .session-row h5{font-size:16px;margin-bottom:var(--hj-space-8)}
  .hj-lp .session-row p{padding:var(--hj-space-8) var(--hj-space-12);font-size:14px}
}

/* Contact. */
.hj-lp .contact .button-dark{padding:var(--hj-space-16) var(--hj-space-32);gap:var(--hj-space-32);font-size:16px}
.hj-lp .contact .button-dark{justify-content:center;text-align:center}
@media(max-width:760px){
  .hj-lp .contact .button-dark{padding:var(--hj-space-16) var(--hj-space-24)}
}

/* Site-common blocks (process / FAQ, outside .hj-lp): content width 1000px (1007 review). */
@media only screen and (min-width:641px){
  .hj-native .col2Content{width:100%;max-width:1000px}
}

/* Weight: Yu Gothic Regular (400) looks thin, so body text is 500 across the LP (1014 request).
   Georgia / Arial accents and bold (700) text keep their own weights. */
.hj-lp{font-weight:500}
.hj-lp .concept-copy p,.hj-lp .purpose .purpose-story p,.hj-lp .journey-reflection .journey-reflection__body p,.hj-lp .goal-card p,.hj-lp .feature-copy p,.hj-lp .program-flow article>p:not(.flow-label),.hj-lp .process-list p,.hj-lp .faq details>p,.hj-lp .concept-supervisor-intro p,.hj-lp #journey .journey-introduction__body{font-weight:500!important}
.hj-lp .brand-name small,.hj-lp .supervisor-name small,.hj-lp .cycle-diagram li span,.hj-lp .flow-label strong,.hj-lp .interval>div,.hj-lp .interval>strong,.hj-lp .feature-number small,.hj-lp .footer-brand span{font-weight:500}
