/* The fixed course template is fed by the catalog; all detail imagery stays full width. */
.course-story{position:relative;isolation:isolate;overflow:hidden;background:#101215;min-height:690px}
.course-story-image{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.course-story-image>img{width:100%;height:100%;object-fit:cover;object-position:var(--focus-x,50%) var(--focus-y,50%);opacity:.88}
.course-story-image:before,.course-story-image:after{content:"";position:absolute;left:-5%;right:-5%;height:95px;z-index:1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);pointer-events:none}
.course-story-image:before{top:-30px;background:linear-gradient(#101215,transparent);mask-image:linear-gradient(#000,transparent)}
.course-story-image:after{bottom:-25px;background:linear-gradient(transparent,#101215);mask-image:linear-gradient(transparent,#000)}
.course-image-fade{position:absolute;inset:0;background:linear-gradient(180deg,#101215d9 0%,#1012158a 15%,#1012150a 32%,#10121582 49%,#101215d6 66%,#101215ed 91%,#101215 100%)}
.course-title{position:relative;padding:calc(104px + env(safe-area-inset-top,0px)) var(--gutter) 215px;min-height:432px;text-shadow:0 2px 20px #0009}
.course-title>.eyebrow{color:#c7d4e2;font-size:10px;letter-spacing:2.3px}
.course-title h1{margin:13px 0 12px;font-size:30px;font-weight:550;letter-spacing:-.7px;line-height:1.4;overflow-wrap:anywhere}
.course-title p{font-size:12px;line-height:1.9;color:#d7dce5;white-space:pre-line;max-width:90%}
.course-title-rule{display:block;width:42px;height:3px;margin-top:23px;background:linear-gradient(90deg,#81c4ff 0 33%,#16588e 33% 66%,#e7222e 66%)}
.course-story .course-facts{position:relative;background:#10121540;border-color:#ffffff24;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.course-story .course-facts small{color:#c1c6cf;overflow-wrap:anywhere}
.course-story .course-facts b{overflow-wrap:anywhere;letter-spacing:.2px;font-size:15px}
.course-story .course-facts>span:last-child b{font-size:13px;letter-spacing:1px;white-space:nowrap}
.story-highlights{padding-top:35px;padding-bottom:42px}
.story-highlights .section-heading .eyebrow{color:#c1c9d4}
.story-highlights .section-heading h2{font-size:23px;line-height:1.45;overflow-wrap:anywhere}
.story-highlights .highlights{column-gap:24px;row-gap:28px}
.story-highlights .highlights p{color:#c0c7d0;white-space:pre-line;overflow-wrap:anywhere}
.story-highlights .highlights h3{line-height:1.7;overflow-wrap:anywhere}
.story-highlights .car-line{border-top-color:#ffffff25;margin-top:30px;padding-top:24px}
.story-highlights .car-line small{font-size:12px;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere}
.course-long-images{background:#101215;overflow:hidden}
.course-long-images img{display:block;width:100%;height:auto;margin:0}
.session-detail .session-options{gap:9px}
.session-detail .session-option{min-height:78px}
.session-detail .session-option b{font-size:17px;overflow-wrap:anywhere}
.session-detail .session-option small{line-height:1.6}
.session-content{padding-top:34px}
.agenda-heading{padding-bottom:23px}
.agenda-heading h3{font-size:20px;margin-top:7px;font-weight:550}
.agenda-heading>p{font-size:11px;color:#adb5c1;margin-top:8px}
.agenda-day{position:relative;padding:0 0 25px 19px;margin-left:3px;border-left:1px solid #46515f}
.agenda-day:last-child{padding-bottom:0}
.agenda-day:before{content:"";position:absolute;top:5px;left:-3px;width:5px;height:5px;background:#96c6e8;border-radius:50%}
.agenda-day-heading>span{font:500 12px/1.3 "Barlow Condensed",sans-serif;letter-spacing:2px;color:#aac9df}
.agenda-day-heading>h3{font-size:15px;margin-top:7px;line-height:1.7;white-space:pre-line;overflow-wrap:anywhere}
.agenda-day ol{list-style:none;margin:13px 0 0;padding:0}
.agenda-day li{display:flex;gap:13px;padding:10px 0;border-top:1px solid #ffffff09}
.agenda-day time{flex:0 0 73px;font-size:10px;color:#acb6c4;padding-top:2px;line-height:1.8;overflow-wrap:anywhere}
.agenda-day li>div{flex:1;min-width:0}
.agenda-day h4{margin:0;font-size:12px;font-weight:500;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere}
.agenda-day li p{font-size:11px;color:#9da7b4;line-height:1.9;margin-top:5px;white-space:pre-line;overflow-wrap:anywhere}
.session-hotel{display:flex;gap:14px;margin-top:30px;padding:21px 18px;background:#191d23;border:1px solid #303640}
.session-hotel>.icon{color:#a6bacd;margin-top:2px;width:20px;height:20px}
.session-hotel>div{min-width:0}
.session-hotel .eyebrow{font-size:9px;letter-spacing:1.7px}
.session-hotel h3{font-size:15px;margin:5px 0 14px;font-weight:500}
.session-hotel b{display:block;font-size:12px;font-weight:500;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere}
.session-hotel p,.course-notices{font-size:11px;line-height:1.9;color:#aab3c0;white-space:pre-line;overflow-wrap:anywhere}
.session-hotel p{margin-top:6px}
.course-notices{padding-bottom:4px}
.booking-bar .primary-button:disabled{background:#30353d;border-color:#454b54;color:#9ca4af}
.booking-bar small{max-width:160px;overflow-wrap:anywhere}
.catalog-loading{display:grid;place-content:center;min-height:75vh;color:#aab3c0;font-size:13px;letter-spacing:1px}
.course-meta{flex-wrap:wrap}
.course-meta>span:last-child{max-width:100%;overflow-wrap:anywhere;white-space:normal}
[data-page="course"] .app-header>span{max-width:calc(100% - 98px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:370px){.course-title{padding-top:calc(98px + env(safe-area-inset-top,0px));padding-bottom:200px;min-height:410px}.course-title h1{font-size:27px}.story-highlights .highlights{column-gap:18px}.course-story .course-facts b{font-size:13px}.course-story .course-facts>span:last-child b{font-size:11px}.session-detail .session-option b{font-size:15px}.agenda-day time{flex-basis:64px}.agenda-day li{gap:9px}.session-hotel{padding:18px 14px}.booking-bar>.primary-button{min-width:130px}}
