:root{--paper:#f3efe7;--ink:#101315;--muted:#686a68;--line:#cbc5ba;--accent:#d96a2b;--blue:#dfeaf1;--sand:#e8dcc9;--max:1440px;--pad:clamp(22px,4.5vw,72px);--display:Georgia,'Yu Mincho','Hiragino Mincho ProN',serif;--sans:Inter,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.7}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.site-head{height:74px;padding:0 var(--pad);display:grid;grid-template-columns:auto 1fr auto;align-items:center;border-bottom:1px solid var(--line);background:rgba(243,239,231,.95);position:sticky;top:0;z-index:30;backdrop-filter:blur(10px)}.brand{font:700 27px/1 var(--display);letter-spacing:.03em}.brand small{display:block;font:600 8px/1.2 var(--sans);letter-spacing:.14em;margin-top:4px}.site-head nav{display:flex;justify-content:center;gap:28px;font-size:12px}.head-cta,.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;background:var(--ink);color:#fff;border-radius:999px;font-size:12px;font-weight:700}.eyebrow,.index{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}h1,h2,h3,p{margin-top:0}.display{font-family:var(--display)}.reveal{opacity:0;transform:translateY(10px);transition:opacity .55s ease,transform .55s ease}.reveal.in{opacity:1;transform:none}
/* HOME */
.home-hero{min-height:calc(100vh - 74px);display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:auto 1fr auto;gap:22px;padding:68px var(--pad) 40px;max-width:var(--max);margin:auto}.home-hero .hero-copy{grid-column:1/span 7;align-self:start}.home-hero h1{font:500 clamp(52px,6vw,92px)/1.06 var(--display);letter-spacing:-.045em;margin:10px 0 24px}.home-hero h1 em{font-style:normal;display:block;color:var(--accent)}.hero-support{font-size:16px;max-width:660px}.hero-actions{display:flex;gap:22px;align-items:center;margin-top:28px}.text-link{font-size:12px;font-weight:700}.hero-visual{grid-column:8/span 5;grid-row:1/span 2;align-self:stretch;margin:0;overflow:hidden;background:#d8d2c9}.hero-visual img{width:100%;height:100%;object-fit:cover}.hero-visual figcaption{font-size:9px;letter-spacing:.12em;padding:8px 0;color:var(--muted)}.hero-teacher{grid-column:1/span 7;display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:end;border-top:1px solid var(--ink);padding-top:18px}.hero-teacher img{width:180px;height:120px;object-fit:cover;object-position:center 22%}.hero-teacher strong{font:500 25px/1.3 var(--display)}
.journey{display:grid;grid-template-columns:4fr 8fr;min-height:1300px;background:#111619;color:#fff}.journey-intro{padding:110px var(--pad);position:sticky;top:74px;height:max-content}.journey-intro h2{font:500 clamp(44px,5vw,70px)/1.14 var(--display);margin:12px 0 28px}.journey-intro figure{margin:44px 0 0;max-width:360px}.journey-intro figure img{width:100%}.journey-intro figcaption{font-size:9px;color:#aaa;margin-top:8px}.journey-steps{padding:70px var(--pad) 120px;border-left:1px solid #3b3f41}.jstep{min-height:235px;padding:42px 0 52px;border-bottom:1px solid #3a3f42;display:grid;grid-template-columns:90px 1fr;gap:24px}.jstep span{font:700 11px/1 var(--sans);color:#a8a8a8}.jstep h3{font:500 clamp(32px,3.2vw,50px)/1.2 var(--display);margin:0 0 12px}.jstep p{max-width:640px;color:#d5d5d2}.jstep.active h3{color:#f4a06e}
.profile{display:grid;grid-template-columns:5fr 7fr;min-height:760px}.profile figure{margin:0;min-height:760px}.profile figure img{width:100%;height:100%;object-fit:cover}.profile-copy{padding:100px var(--pad)}.profile-copy h2{font:500 clamp(44px,5vw,72px)/1.1 var(--display)}.profile-belief{font:500 28px/1.5 var(--display);margin:36px 0}.profile-evidence{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--line);padding-top:26px}.profile-evidence b{display:block;font-size:10px;letter-spacing:.14em;margin-bottom:10px}.records{background:#121619;color:#fff;padding:110px var(--pad)}.records h2{font:500 clamp(48px,5vw,74px)/1 var(--display)}.record-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#373b3d;border:1px solid #373b3d;margin-top:48px}.record{background:#121619;padding:28px}.record small{color:#aaa}.record strong{display:block;font:500 clamp(28px,3vw,44px)/1.2 var(--display);margin:38px 0 16px}.record p{font-size:12px;color:#ccc}.courses-home{padding:110px var(--pad);max-width:var(--max);margin:auto}.courses-home h2{font:500 clamp(48px,5vw,76px)/1.1 var(--display)}.course-chapter{display:grid;grid-template-columns:2fr 4fr 5fr;gap:28px;padding:54px 0;border-top:1px solid var(--ink);align-items:center}.course-chapter img{width:100%;aspect-ratio:4/3;object-fit:cover}.course-chapter h3{font:500 40px/1.1 var(--display);margin:6px 0 12px}.experience{display:grid;grid-template-columns:5fr 7fr;background:#ded4c4}.experience-copy{padding:110px var(--pad)}.experience-copy h2{font:500 64px/1 var(--display)}.experience figure{margin:0}.experience figure img{width:100%;height:100%;object-fit:cover}
/* COURSE */
.course-hero{display:grid;grid-template-columns:7fr 5fr;min-height:620px;border-bottom:1px solid var(--line)}.course-hero-copy{padding:90px var(--pad)}.course-hero h1{font:500 clamp(58px,6vw,88px)/1.04 var(--display);letter-spacing:-.04em}.course-hero figure{margin:0;overflow:hidden}.course-hero figure img{width:100%;height:100%;object-fit:cover}.depth-map{display:grid;grid-template-columns:repeat(3,1fr);max-width:var(--max);margin:-68px auto 0;position:relative;z-index:2;padding:0 var(--pad)}.depth-card{padding:24px;background:rgba(243,239,231,.96);border:1px solid var(--line);min-height:160px}.depth-card:nth-child(2){background:#e5edf1}.depth-card:nth-child(3){background:#e8dcc9}.depth-card b{font:500 26px/1.2 var(--display);display:block;margin:8px 0}.learning-path{padding:120px var(--pad);min-height:760px}.learning-path .path-shell{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:start}.path-standard{background:#f6f2ea}.path-standard .path-copy{grid-column:1/span 5}.path-standard .path-visual{grid-column:7/span 6}.path-technical{background:#0f161a;color:#fff}.path-technical .path-visual{grid-column:1/span 7}.path-technical .path-copy{grid-column:8/span 5}.path-executive{background:#e5dac9}.path-executive .path-copy{grid-column:1/span 5}.path-executive .path-visual{grid-column:6/span 7}.path-visual{margin:0}.path-visual img{width:100%;aspect-ratio:4/3;object-fit:cover}.path-copy h2{font:500 clamp(46px,5vw,72px)/1.04 var(--display);margin:8px 0 16px}.path-copy .proposition{font:500 26px/1.45 var(--display);margin:26px 0}.path-facts{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid currentColor}.path-facts li{padding:11px 0;border-bottom:1px solid currentColor;font-size:13px}.duration{display:flex;justify-content:space-between;gap:20px;margin-top:28px;font-size:12px;font-weight:700}.course-cta{padding:100px var(--pad);text-align:center}.course-cta h2{font:500 clamp(44px,5vw,70px)/1.16 var(--display);max-width:860px;margin:0 auto 30px}
/* COMPANY */
.company-hero{display:grid;grid-template-columns:7fr 5fr;min-height:570px}.company-hero-copy{padding:90px var(--pad);display:flex;flex-direction:column;justify-content:center}.company-hero h1{font:500 clamp(50px,5.5vw,80px)/1.12 var(--display)}.company-hero figure{margin:0}.company-hero figure img{width:100%;height:100%;object-fit:cover}.charter{padding:100px var(--pad);max-width:var(--max);margin:auto}.charter h2{font:500 58px/1.1 var(--display)}.charter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:44px}.charter-grid article{background:var(--paper);padding:30px}.responsibility{display:grid;grid-template-columns:5fr 7fr;background:#161b1e;color:#fff}.responsibility figure{margin:0}.responsibility figure img{width:100%;height:100%;object-fit:cover}.responsibility-copy{padding:100px var(--pad)}.responsibility-copy h2{font:500 56px/1.15 var(--display)}.company-data{padding:100px var(--pad);max-width:var(--max);margin:auto}.company-data dl{display:grid;grid-template-columns:240px 1fr;margin:32px 0 0;border-top:1px solid var(--ink)}.company-data dt,.company-data dd{margin:0;padding:18px 0;border-bottom:1px solid var(--line)}
footer{padding:36px var(--pad);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;font-size:10px;letter-spacing:.08em}
@media(max-width:900px){.site-head{height:58px;grid-template-columns:1fr auto}.site-head nav{display:none}.head-cta{min-height:38px;padding:0 14px;font-size:10px}.brand{font-size:23px}.home-hero{display:block;min-height:auto;padding:42px 22px 28px}.home-hero h1{font-size:47px}.hero-visual{height:360px;margin-top:32px}.hero-teacher{grid-template-columns:120px 1fr;margin-top:24px}.hero-teacher img{width:120px;height:96px}.journey{display:block;min-height:0}.journey-intro{position:static;padding:70px 22px 20px}.journey-intro figure{max-width:none}.journey-steps{padding:10px 22px 72px;border-left:0}.jstep{min-height:0;grid-template-columns:44px 1fr;padding:34px 0}.jstep h3{font-size:34px}.profile{display:flex;flex-direction:column}.profile figure{min-height:420px;height:420px}.profile-copy{padding:64px 22px}.profile-copy h2{font-size:48px}.profile-evidence{grid-template-columns:1fr}.record-grid{grid-template-columns:1fr 1fr}.records{padding:70px 22px}.courses-home{padding:70px 22px}.course-chapter{grid-template-columns:1fr;gap:18px}.course-chapter img{aspect-ratio:16/10}.experience{display:flex;flex-direction:column}.experience-copy{padding:70px 22px}.experience-copy h2{font-size:48px}.experience figure{height:330px}.course-hero{display:flex;flex-direction:column}.course-hero-copy{padding:64px 22px 44px}.course-hero h1{font-size:58px}.course-hero figure{height:330px}.depth-map{display:block;margin:0;padding:0 22px 54px}.depth-card{min-height:0;margin-top:8px}.learning-path{padding:72px 22px}.learning-path .path-shell{display:flex;flex-direction:column}.path-copy,.path-visual{grid-column:auto!important}.path-standard .path-copy{order:1}.path-standard .path-visual{order:2}.path-technical .path-copy{order:1}.path-technical .path-visual{order:2}.path-executive .path-copy{order:1}.path-executive .path-visual{order:2}.path-copy h2{font-size:46px}.path-copy .proposition{font-size:23px}.path-visual img{aspect-ratio:5/4}.course-cta{padding:76px 22px}.course-cta h2{font-size:42px}.company-hero{display:flex;flex-direction:column}.company-hero-copy{padding:64px 22px}.company-hero h1{font-size:46px}.company-hero figure{height:340px}.charter{padding:72px 22px}.charter h2{font-size:46px}.charter-grid{grid-template-columns:1fr}.responsibility{display:flex;flex-direction:column}.responsibility figure{height:420px}.responsibility-copy{padding:70px 22px}.responsibility-copy h2{font-size:46px}.company-data{padding:70px 22px}.company-data dl{grid-template-columns:1fr}.company-data dt{font-weight:700;padding-bottom:4px}.company-data dd{padding-top:0}footer{padding:28px 22px;display:block}footer span{display:block;margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1!important;transform:none!important;transition:none!important}}
@media(max-width:900px){.record strong{font-size:clamp(22px,7vw,32px);overflow-wrap:anywhere}.student-dossier{max-width:100%;overflow:hidden}.student-dossier .record-grid{grid-template-columns:1fr 1fr}.student-dossier .record{min-width:0}.records{overflow:hidden}.home-hero,.journey,.profile,.records,.courses-home,.experience{max-width:100vw;overflow:hidden}}
.experience-no-photo{grid-template-columns:5fr 7fr}.experience-place{padding:110px var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:18px 36px;align-content:center;background:#d8c8b3}.experience-place span{font-size:9px;letter-spacing:.18em}.experience-place strong{font:500 clamp(34px,4vw,56px)/1.1 var(--display)}.experience-place i{grid-column:1/-1;height:1px;background:rgba(16,19,21,.35)}
@media(max-width:900px){.experience-no-photo{display:flex}.experience-place{padding:54px 22px 70px;grid-template-columns:1fr}.experience-place i{grid-column:1}.experience-place strong{font-size:40px}}

/* V15 direction lock 2026-09-06: mountain only for Hero/Course; learning stays research-led. */
.home-hero .hero-visual{grid-column:8/span 5;grid-row:1/span 3;min-height:620px;background:#c9c1b3}
.home-hero .hero-visual img{object-position:50% 45%;filter:saturate(.88) contrast(.98)}
.journey-intro figure{max-width:100%;overflow:hidden;border-top:1px solid #3a3f42;border-bottom:1px solid #3a3f42;padding:14px 0}
.journey-intro figure img{width:100%;aspect-ratio:2.65/1;object-fit:cover;filter:saturate(.72) contrast(1.02)}
.journey-intro figcaption{letter-spacing:.14em}
.course-hero figure{position:relative}
.course-hero figure:after{content:'CONCEPTUAL COURSE DEPTH VISUAL';position:absolute;left:18px;bottom:14px;font:600 9px/1 var(--sans);letter-spacing:.16em;color:rgba(255,255,255,.82);text-shadow:0 1px 5px rgba(0,0,0,.45)}
@media(max-width:900px){.home-hero .hero-visual{min-height:420px;height:420px}.journey-intro figure img{aspect-ratio:16/7}.course-hero figure:after{font-size:8px;left:12px;bottom:10px}}
/* Mobile course path index repair */
.depth-card{display:block}
@media(max-width:900px){
  .depth-map{display:grid;grid-template-columns:1fr;gap:0;margin:0;padding:0 22px 48px;background:var(--paper)}
  .depth-card{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:12px;min-height:74px;margin:0;padding:16px 0;border:0;border-bottom:1px solid var(--line);background:transparent!important}
  .depth-card span{font-size:9px;letter-spacing:.08em}
  .depth-card b{font-size:20px;margin:0}
  .depth-card small{font-size:10px;text-align:right}
  .journey-intro figure{padding:18px 0;margin-top:32px}
  .journey-intro figure img{height:118px;aspect-ratio:auto;object-fit:cover}
}

/* 2026-09-06 learning experience rebuild: research-led, no mountain metaphor */
.journey{display:block;min-height:0;background:#111619;color:#fff;padding:110px var(--pad) 120px}
.journey-header{max-width:920px;margin:0 auto 62px}
.journey-header h2{font:500 clamp(48px,5.6vw,78px)/1.08 var(--display);margin:12px 0 24px;letter-spacing:-.035em}
.journey-header>p:last-child{max-width:780px;color:#d8d8d3;font-size:15px}
.journey-body{max-width:var(--max);margin:auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(38px,5vw,82px);align-items:start}
.journey-media{position:sticky;top:110px;margin:0;align-self:start}
.journey-media-stack{position:relative;aspect-ratio:4/3;overflow:hidden;background:#23292c;border:1px solid #3b4144}
.journey-media-stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.025);transition:opacity .38s ease,transform .7s ease;filter:saturate(.78) contrast(1.02)}
.journey-media-stack img.active{opacity:1;transform:scale(1)}
.journey-mobile-sequence{display:none}
.journey-media figcaption{font-size:9px;letter-spacing:.13em;color:#9ea3a5;margin-top:10px}
.journey-steps{padding:0;border-left:0}
.jstep{min-height:235px;padding:34px 0 48px;border-bottom:1px solid #3a3f42;display:grid;grid-template-columns:78px 1fr;gap:24px;align-content:center}
.jstep:first-child{border-top:1px solid #3a3f42}
.jstep span{font:700 10px/1 var(--sans);color:#7f878a;letter-spacing:.12em;padding-top:10px}
.jstep h3{font:500 clamp(38px,4vw,58px)/1.12 var(--display);margin:0 0 14px;letter-spacing:-.02em;color:#f2f0eb;transition:color .25s ease}
.jstep p{max-width:650px;color:#bfc3c3;font-size:14px}
.jstep.active h3{color:#f0a06c}
.jstep.active span{color:#f0a06c}
@media(max-width:900px){
  .journey{padding:68px 22px 76px}
  .journey-header{margin:0 0 34px}
  .journey-header h2{font-size:48px}
  .journey-header>p:last-child{font-size:13px}
  .journey-body{display:block}
  .journey-media{position:static;margin:0 0 24px}
  .journey-media-stack{display:none}
  .journey-mobile-sequence{display:block;width:100%;height:132px;object-fit:cover;border-top:1px solid #3b4144;border-bottom:1px solid #3b4144;padding:12px 0;filter:saturate(.78) contrast(1.02)}
  .journey-media figcaption{margin-top:8px;font-size:8px}
  .journey-steps{padding:0}
  .jstep{min-height:0;grid-template-columns:42px 1fr;padding:28px 0 32px}
  .jstep h3{font-size:34px}
  .jstep p{font-size:12px;line-height:1.8}
}
@media(prefers-reduced-motion:reduce){.journey-media-stack img{transition:none!important;transform:none!important}}

/* 2026-09-06 COURSE hero reconstruction: depth as a spatial journey */
.course-hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));min-height:0;padding:84px var(--pad) 0;border-bottom:0;background:var(--paper)}
.course-hero-copy{grid-column:1/span 6;padding:0 0 54px;max-width:760px}
.course-hero h1{margin:10px 0 24px}
.course-depth-visual{grid-column:1/-1;position:relative;margin:0;height:500px;overflow:hidden;background:#27302f;border-top:1px solid var(--line)}
.course-depth-visual img{width:100%;height:100%;object-fit:cover;object-position:50% 71%;filter:saturate(.84) contrast(1.03) brightness(.94)}
.course-depth-visual:after{content:'CONCEPTUAL COURSE DEPTH VISUAL';position:absolute;left:18px;bottom:12px;font:600 8px/1 var(--sans);letter-spacing:.15em;color:rgba(255,255,255,.76);text-shadow:0 1px 5px rgba(0,0,0,.45)}
.course-depth-visual figcaption{position:absolute;right:18px;bottom:12px;margin:0;font-size:8px;letter-spacing:.13em;color:rgba(255,255,255,.7);text-shadow:0 1px 5px rgba(0,0,0,.45)}
.course-depth-stage{position:absolute;z-index:2;min-width:210px;padding:14px 16px;background:rgba(243,239,231,.94);border:1px solid rgba(16,19,21,.16);box-shadow:0 8px 28px rgba(16,19,21,.12);backdrop-filter:blur(6px)}
.course-depth-stage span{display:block;font:700 8px/1.2 var(--sans);letter-spacing:.12em;color:#6b6b67;margin-bottom:7px}
.course-depth-stage b{display:block;font:500 21px/1.15 var(--display);color:var(--ink)}
.stage-standard{left:11%;bottom:16%}.stage-technical{left:48%;bottom:43%}.stage-executive{right:8%;top:14%}
.depth-map{margin:-48px auto 0}
@media(max-width:900px){
  .course-hero{display:block;padding:60px 22px 0}
  .course-hero-copy{padding:0 0 34px}
  .course-depth-visual{height:430px;margin:0 -22px;width:calc(100% + 44px);border-top:1px solid var(--line)}
  .course-depth-visual img{object-position:57% 68%;filter:saturate(.84) contrast(1.03) brightness(.92)}
  .course-depth-stage{min-width:142px;padding:10px 12px}
  .course-depth-stage b{font-size:18px}
  .stage-standard{left:18px;bottom:16px}.stage-technical{left:50%;transform:translateX(-50%);bottom:152px}.stage-executive{right:18px;top:32px}
  .course-depth-visual figcaption{display:none}
  .course-depth-visual:after{left:18px;bottom:104px;font-size:7px}
  .depth-map{margin:0}
}
/* QA repairs */
@media(max-width:900px){
  .course-hero .course-depth-visual{margin-left:-22px;margin-right:-22px;width:calc(100% + 44px)}
}
@media(min-width:901px){.stage-technical{bottom:62%}}
@media(min-width:901px){.stage-technical{bottom:62%;min-width:230px;min-height:88px;padding:18px 18px 28px}}
