/* Explore and Courses extend the approved home; homepage geometry stays in refinement.css. */
[hidden]{display:none!important}
:root{--detail-paper:#f7f8f8;--course-ease:cubic-bezier(.4,0,.2,1)}
.navigation-overlay,.course-panel,#courses-view,.course-explore{font-family:Arial,'Noto Sans SC','Microsoft YaHei',sans-serif;font-weight:400}
.navigation-overlay button:focus-visible,.navigation-overlay a:focus-visible{outline-color:#edf2f4}
.hero-content{transition:opacity 400ms var(--course-ease)}
body.navigation-open .hero-content{visibility:visible;opacity:0;pointer-events:none}
body.navigation-open .site-header{opacity:0;pointer-events:none}
body.navigation-open .hero-meta,body.navigation-open .course-credit{visibility:hidden}
body.detail-open .course-scroll{overflow-y:hidden}
body.navigation-open .explore::after{width:calc(100% + 26px)}
.navigation-overlay{background:rgba(15,28,37,.66);overflow:auto;opacity:0;transition:opacity 400ms var(--course-ease)}
.navigation-overlay[open]{animation:none}
.navigation-overlay.is-visible{opacity:1}
.overlay-brand{position:absolute;left:var(--gutter);top:40px;width:120px;z-index:2}
.overlay-brand img{width:120px;height:auto}
.navigation-close{position:absolute;right:var(--gutter);top:40px;display:flex;align-items:center;gap:24px;min-height:44px;padding:0;color:#edf2f4;font-size:14px;letter-spacing:.06em;z-index:2}
.navigation-close .plus,.detail-close .plus{transform:rotate(45deg)}
.explore-layout{min-height:100dvh;display:grid;grid-template-columns:48% 52%;align-items:center;padding:170px var(--gutter) 100px}
.explore-directory{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.explore-directory button{display:flex;align-items:baseline;gap:28px;text-align:left;padding:5px 0;font-size:clamp(28px,2.6vw,43px);line-height:1.35;letter-spacing:.065em;color:#f2f5f6;opacity:.4;transform:translateY(12px);transition:opacity 350ms var(--course-ease),transform 350ms var(--course-ease)}
.explore-directory button:nth-child(6){margin-top:25px}
.explore-directory .nav-number{font-family:Manrope,Arial,sans-serif;font-size:13px;letter-spacing:.08em;align-self:center;opacity:.7}
.navigation-overlay.is-visible .explore-directory button{transform:translateY(0);transition-delay:calc(var(--item) * 45ms)}
.navigation-overlay.is-visible .explore-directory button.is-active{opacity:1;transform:translateX(10px)}
.navigation-overlay.is-ready .explore-directory button{transition-delay:0ms}
.explore-story{max-width:530px;padding-left:4%;opacity:0;transform:translateY(8px);transition:opacity 350ms var(--course-ease),transform 350ms var(--course-ease)}
.navigation-overlay.is-visible .explore-story{opacity:1;transform:none;transition-delay:200ms}
.explore-story h2{font-weight:400;font-size:clamp(25px,2vw,34px);line-height:1.6;letter-spacing:.04em;text-wrap:balance}
.explore-story p{margin-top:30px;font-size:18px;line-height:2.1;white-space:pre-line;color:#e1e7eb;letter-spacing:.055em}
.explore-story p:empty{display:none}
.overlay-credit{position:absolute;bottom:18px;right:var(--gutter);left:var(--gutter);font-size:11px;line-height:1.5;text-align:right;color:#c4d0d8}
.course-explore{align-items:center;gap:22px;padding:0;min-height:44px;margin-left:auto;font-size:13px;letter-spacing:.05em;color:#17242D}
.courses-page .course-explore{display:flex}
.courses-page .language-picker{margin-left:36px}
.courses-page .site-header{position:fixed}
#courses-view{position:fixed;inset:0;color:#17242D;background:#b1c4d4}
.course-picture,.course-picture img{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.course-picture img{object-fit:cover;object-position:50% 50%}
.course-scroll{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y proximity;scrollbar-width:none;outline:0}
.course-scroll::-webkit-scrollbar{display:none}
.course-story,.course-choices{position:relative;min-height:100vh;min-height:100dvh;scroll-snap-align:start}
.course-story{display:flex;align-items:flex-end;padding:180px var(--gutter) 18vh}
.course-story-copy{width:42%;max-width:620px}
.course-story h1{font-size:clamp(38px,3.4vw,58px);font-weight:400;line-height:1.35;letter-spacing:.035em;outline:0}
.story-lines{font-size:21px;line-height:1.95;letter-spacing:.055em;white-space:pre-line;margin-top:30px}
.story-end{font-size:17px;letter-spacing:.06em;margin-top:46px;line-height:1.8}
.course-choices{display:flex;align-items:center;padding:160px var(--gutter) 90px}
.course-list-wrap{width:39%;max-width:600px;min-width:360px}
.course-choices h2{font-size:30px;font-weight:400;letter-spacing:.06em;margin:0 0 30px}
.course-choices h3{font-size:15px;font-weight:400;letter-spacing:.09em;margin:36px 0 12px;color:#3C4B54}
.course-row{width:100%;display:flex;align-items:center;gap:22px;min-height:69px;padding:12px 0;text-align:left;border-bottom:1px solid rgba(23,36,45,.23);font-size:25px;letter-spacing:.05em}
.course-row .course-number{font-family:Manrope,Arial,sans-serif;font-size:12px;letter-spacing:.1em;color:#3C4B54}
.course-row .plus{margin-left:auto}
.course-row:hover .plus,.course-row:focus-visible .plus{transform:rotate(45deg)}
.course-row .course-name{transition:transform 350ms var(--course-ease)}
.course-row:hover .course-name{transform:translateX(6px)}
.more-courses .course-row{font-size:19px;min-height:51px}
.course-credit{position:absolute;bottom:18px;right:var(--gutter);left:var(--gutter);text-align:right;font-size:11px;line-height:1.5;color:#405666;pointer-events:none}
.course-credit a{pointer-events:auto}
.course-credit a:hover{text-decoration:underline;text-underline-offset:3px}
@media(min-width:801px){body.detail-open .course-credit{text-align:left;right:50%}}
.course-panel{position:fixed;inset:0 0 0 auto;width:38.5vw;max-width:48vw;height:100vh;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;padding:96px 3.5vw 40px;background:var(--detail-paper);color:#17242D;box-shadow:none;overflow:auto;overscroll-behavior:contain;transform:translateX(100%);transition:transform 400ms var(--course-ease);scrollbar-width:thin}
.course-panel::backdrop{background:rgba(15,28,37,.12);opacity:0;transition:opacity 400ms var(--course-ease)}
.course-panel.is-visible{transform:none}.course-panel.is-visible::backdrop{opacity:1}
.detail-close{position:absolute;top:34px;right:3.5vw;min-height:44px;width:44px;padding:15px;display:flex;align-items:center;justify-content:center}
.course-panel button:focus-visible{outline:1px solid #53616A;outline-offset:5px}
.detail-heading h2{font-size:34px;font-weight:400;letter-spacing:.045em;line-height:1.4;margin:0}
.detail-copy{font-size:16px;line-height:1.85;letter-spacing:.015em;white-space:pre-line;color:#3C4B54;margin-top:19px}
.region-tabs{display:flex;gap:30px;border-bottom:1px solid rgba(23,36,45,.18);margin-top:30px}
.region-tabs button{position:relative;padding:0 0 13px;font-size:15px;color:#53616A;line-height:1.6}
.region-tabs button[aria-selected=true]{color:#17242D}
.region-tabs button[aria-selected=true]::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:#17242D}
.region-resorts{font-size:13px;line-height:1.8;color:#53616A;margin-top:15px;min-height:24px}
.price-content{margin-top:25px}
.price-table{width:100%;border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums;font-size:19px;line-height:1.5}
.price-table caption{text-align:left;font-size:15px;letter-spacing:.02em;padding:0 0 12px;caption-side:top;color:#17242D}
.price-table th{font-size:14px;font-weight:400;color:#53616A;text-align:right;padding:0 0 10px;border-bottom:1px solid rgba(23,36,45,.15)}
.price-table th:first-child,.price-table td:first-child{text-align:left;width:26%}
.price-table td{padding:14px 0;text-align:right;border-bottom:1px solid rgba(23,36,45,.10);white-space:nowrap}
.price-table td:first-child{font-size:15px;color:#3C4B54}
.price-table + .price-table{margin-top:28px}
.pricing-notes{margin-top:32px;padding-top:21px;border-top:1px solid rgba(23,36,45,.18);font-size:14px;line-height:1.75;letter-spacing:.01em;color:#53616A}
.pricing-notes p+p{margin-top:6px}
.pricing-notes .arrangement-note{margin-top:14px;opacity:.85;font-size:12px}
.course-panel[data-course=advanced]{padding-top:72px}
.course-panel[data-course=advanced] .detail-copy{margin-top:14px}
.course-panel[data-course=advanced] .region-tabs{margin-top:24px}
.course-panel[data-course=advanced] .price-table td{padding:7px 0}
.course-panel[data-course=advanced] .price-table caption{padding-bottom:8px}
.course-panel[data-course=advanced] .price-table + .price-table{margin-top:18px}
.course-panel[data-course=advanced] .pricing-notes{margin-top:20px;padding-top:16px}
.pending-price{padding:28px 0 35px;font-size:21px;line-height:1.6;letter-spacing:.04em}
.mountain-price{padding:58px 0 47px}
.mountain-price p{font-size:16px;letter-spacing:.045em;color:#3C4B54}
.mountain-price strong{display:block;font-family:Manrope,Arial,sans-serif;font-weight:400;font-size:52px;letter-spacing:-.03em;margin-top:20px;line-height:1.4}
.course-panel.is-placeholder[open]{display:flex;align-items:center;justify-content:flex-start}
.course-panel.is-placeholder .detail-heading h2{font-size:27px}
html[lang=en] .explore-directory button{letter-spacing:-.02em}
html[lang=en] .explore-story h2{letter-spacing:-.025em}
html[lang=en] .explore-story p{letter-spacing:0}
html[lang=en] .course-story-copy{width:43%;max-width:650px}
html[lang=en] .course-story h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(38px,3.2vw,54px);letter-spacing:-.035em}
html[lang=en] .story-lines{font-size:18px;letter-spacing:0;white-space:normal;max-width:500px}
html[lang=en] .story-end{letter-spacing:0}
html[lang=en] .course-row,html[lang=en] .course-choices h2{letter-spacing:-.015em}
html[lang=en] .course-row{font-size:23px}
html[lang=en] .more-courses .course-row{font-size:18px}
html[lang=en] .detail-heading h2{font-family:Manrope,Arial,sans-serif;font-size:31px;letter-spacing:-.025em}
html[lang=en] .detail-copy{white-space:normal;font-size:14px;line-height:1.8}
@media(max-height:760px) and (min-width:801px){
 .explore-layout{padding-top:140px;padding-bottom:60px}.explore-directory{gap:5px}.explore-directory button{font-size:30px}.explore-directory button:nth-child(6){margin-top:15px}
 .course-story{padding-bottom:12vh}.course-choices{padding-top:140px;padding-bottom:70px}.course-choices h2{margin-bottom:15px}.course-row{min-height:58px}.course-choices h3{margin-top:24px}.more-courses .course-row{min-height:46px}
 .course-panel{padding-top:77px}.detail-close{top:20px}.detail-heading h2{font-size:30px}.course-panel[data-course=advanced]{padding-top:68px}
}
@media(max-width:1000px) and (min-width:801px){.course-panel{width:44vw;max-width:48vw;padding-left:3vw;padding-right:3vw}.explore-directory button{font-size:29px}.explore-story h2{font-size:24px}.explore-story p{font-size:16px}.course-list-wrap{width:45%}.story-lines{font-size:18px}.course-story-copy{width:46%}}
@media(max-width:800px){
 .overlay-brand{top:26px;width:90px}.overlay-brand img{width:90px}.navigation-close{top:26px;gap:17px}.explore-layout{display:flex;flex-direction:column;align-items:stretch;padding:150px var(--gutter) 50px;gap:42px}.explore-directory{gap:7px}.explore-directory button{font-size:27px;gap:22px}.explore-directory button:nth-child(6){margin-top:16px}.explore-story{padding-left:0;min-height:120px}.explore-story h2{font-size:22px}.explore-story p{font-size:15px;margin-top:15px;line-height:1.8}
 .overlay-credit{position:relative;inset:auto;margin:0 var(--gutter) 20px;text-align:left;font-size:10px}
 .courses-page .language-picker{margin-left:20px}.course-explore{font-size:11px;gap:11px;margin-left:auto}.course-explore .plus{flex-basis:11px;transform:scale(.85)}.courses-page .site-header{gap:12px}
 .course-story{padding:150px var(--gutter) 14vh}.course-story-copy,html[lang=en] .course-story-copy{width:100%;max-width:500px}.course-story h1{font-size:36px}.story-lines{font-size:17px;margin-top:25px;line-height:1.9}.story-end{font-size:14px;margin-top:34px}
 .course-choices{padding:140px var(--gutter) 80px}.course-list-wrap{width:100%;min-width:0;max-width:470px}.course-choices h2{font-size:27px}.course-row{font-size:23px;min-height:65px}.more-courses .course-row{font-size:18px}.course-credit{text-align:left;font-size:10px;bottom:12px}
 .course-panel{width:100%;max-width:100%;padding:90px 28px 40px}.course-panel[data-course=advanced]{padding-top:80px}.detail-close{right:17px;top:24px}.detail-heading h2{font-size:30px}.detail-copy{font-size:15px}.price-table{font-size:18px}.pricing-notes{font-size:12px}.region-resorts{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.navigation-overlay,.explore-directory button,.explore-story,.course-panel,.course-panel::backdrop,.hero-content{transition:none!important;animation:none!important}}
