/* Free Sessions: event typography and an editorial program index. */
.free-sessions-page{background:#fafaf8}
.free-sessions-page .header{z-index:100}
.free-sessions-page .desktop-nav a[aria-current]{color:var(--color-navy)}
.free-sessions-page .section-index{display:block;color:#71578a;font-size:10px;font-weight:600;letter-spacing:1.35px;text-transform:uppercase}
.free-sessions-page h2{font-size:clamp(40px,4.4vw,65px);line-height:1.15;letter-spacing:-3px;font-weight:550}
.sessions-hero{background:#fafaf8;overflow:hidden;border-bottom:1px solid #ddd6e5}
.sessions-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,.78fr);gap:clamp(50px,7vw,115px);align-items:center;min-height:695px;padding-block:80px}
.event-label{display:flex;justify-content:space-between;align-items:center;max-width:560px;border-top:1px solid #b9a8c6;padding-top:16px;color:#6e478e;font-size:10px;font-weight:650;letter-spacing:1.4px;text-transform:uppercase}
.event-label span{color:#6d5c77;font-size:9px}
.sessions-hero h1{font-size:clamp(52px,5.4vw,80px);line-height:1.08;letter-spacing:-4.3px;font-weight:620;max-width:760px;margin-top:28px}
.sessions-hero h1 span{color:#7040b0}
.sessions-hero-copy>p{max-width:590px;color:#5d5762;font-size:15px;line-height:1.85;margin-top:28px}
.sessions-hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:28px}
.sessions-hero-actions .btn{white-space:nowrap}
.sessions-update{display:block;color:#706578;font-size:11px;margin-top:30px}
.sessions-hero-mark{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;min-height:540px;border-left:1px solid #c6b4d4;border-bottom:3px solid #8b4bd0;padding:25px 0 20px 32px;background:linear-gradient(135deg,#f8f5fb 0%,#ebe4f3 100%)}
.sessions-hero-mark:before{content:'';position:absolute;top:24px;right:24px;width:21px;height:21px;border-top:1px solid #a991c0;border-right:1px solid #a991c0}
.mark-top,.mark-foot{font-size:9px;font-weight:600;line-height:1.5;letter-spacing:1.2px;color:#837291}
.sessions-hero-mark strong{font-size:clamp(175px,20vw,290px);font-weight:650;line-height:.75;letter-spacing:-23px;color:#221731;margin:12px 0 0 -18px}
.mark-bottom{font-size:clamp(33px,3.8vw,55px);font-weight:600;line-height:1;letter-spacing:-2px;color:#7445b0;margin-top:-15px}
.mark-foot{border-top:1px solid #cdbdd7;width:100%;padding-top:13px;margin-top:28px}
.sessions-section{padding:105px 0}
.editorial-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(60px,10vw,150px);align-items:start}
.editorial-split h2{margin-top:22px}
.split-copy{padding-top:33px;max-width:575px}
.split-copy p{color:#5d5663;font-size:15px;line-height:1.9;margin-bottom:22px}
.split-copy p:last-child{margin-bottom:0}
.split-copy .lead-line{font-size:clamp(26px,2.5vw,36px);line-height:1.43;letter-spacing:-1px;color:#2a1e35}
.split-copy a{color:#683895;font-weight:550;text-decoration:underline;text-underline-offset:4px}
.why-attend{background:#fff}
.series{background:#f0ebf5}
.series-heading{display:grid;grid-template-columns:180px 1fr auto;gap:35px;align-items:end;margin-bottom:45px}
.series-heading h2{max-width:650px}
.series-heading p{font-size:14px;color:#685e6e;line-height:1.75;margin-top:13px}
.series-count{font-size:12px;color:#6d5c77;letter-spacing:1px;white-space:nowrap}
.session-list{list-style:none;padding:0;margin:0;border-bottom:1px solid #cfc1d8}
.session-row{display:grid;grid-template-columns:180px minmax(0,1.05fr) minmax(0,.8fr) minmax(135px,.58fr);gap:35px;border-top:1px solid #cfc1d8;align-items:center;padding:25px 0}
.session-number strong{display:block;color:#321e43;font-size:clamp(56px,6vw,82px);font-weight:550;line-height:1;letter-spacing:-5px}
.session-number span,.session-row>div>span{display:block;color:#6d5c77;text-transform:uppercase;letter-spacing:1px;font-size:9px;font-weight:600}
.session-number span{margin-top:7px}
.session-topic h3{font-size:clamp(19px,2vw,26px);font-weight:500;line-height:1.35;margin-top:11px}
.session-date p{color:#4e4358;font-size:14px;margin-top:11px}
.session-state .status-label{display:inline-block;color:#61477b;background:#e7dcee;border:1px solid #c9b7d7;font-size:9px;font-weight:600;letter-spacing:.65px;text-transform:uppercase;line-height:1.4;padding:7px 9px;margin-top:10px}
.session-state .status-label[data-status="open"]{color:#155b4b;background:#e1f3ed;border-color:#a9d7c9}
.session-state .status-label[data-status="full"]{color:#735224;background:#f7eddb;border-color:#e3cfaa}
.session-state .status-label[data-status="completed"]{color:#535765;background:#e5e6ea;border-color:#c9cbd3}
.topic-callout{display:flex;justify-content:space-between;align-items:end;gap:40px;border-top:1px solid #cfc1d8;margin-top:75px;padding-top:27px}
.topic-callout h3{font-size:clamp(27px,3vw,40px);margin-top:13px}
.topic-callout p{font-size:14px;color:#63596d;line-height:1.7;margin-top:10px}
.topic-callout .text-link{flex:none;margin-bottom:4px}
.inside-session{background:#fff}
.inside-session .section-heading{display:grid;grid-template-columns:180px 1fr .55fr;gap:35px;align-items:end;margin-bottom:55px}
.inside-session .section-heading p{font-size:14px;color:#6a6370;line-height:1.7;max-width:275px}
.inside-list{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;list-style:none;margin:0;padding:0}
.inside-list li{border-top:1px solid #d8d0dd;padding:18px 0}
.inside-list li>span{color:#775493;font-size:10px;font-weight:600}
.inside-list h3{font-size:clamp(23px,2.4vw,33px);font-weight:520;margin-top:44px}
.inside-list p{font-size:13px;color:#655d69;line-height:1.7;margin-top:13px}
.practical{background:#f5f2f0}
.practical-header{display:grid;grid-template-columns:180px 1fr;gap:35px;align-items:end;margin-bottom:50px}
.practical-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,9vw,125px)}
.practical-grid>div{border-top:1px solid #d8d2d2;padding-top:20px}
.practical-grid h3{font-size:clamp(23px,2.4vw,31px);font-weight:520}
.practical-grid ul{list-style:none;padding:0;margin:25px 0 0}
.practical-grid li{border-top:1px solid #d8d2d2;padding:13px 0;color:#4f4b51;font-size:14px;line-height:1.5}
.practical-grid li:before{content:'—';color:#806299;margin-right:13px}
.practical-notes{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,9vw,125px);margin-top:65px}
.practical-notes>div{border-top:2px solid #9263b9;padding-top:21px}
.practical-notes h3{font-size:18px;font-weight:550}
.practical-notes p{color:#655e68;font-size:13px;line-height:1.75;max-width:440px;margin-top:12px}
.practical-notes a{display:inline-block;color:#673890;font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:3px;margin-top:15px}
.reserve-process{background:#fff}
.process-heading{display:grid;grid-template-columns:180px 1fr .65fr;gap:35px;align-items:end;margin-bottom:55px}
.process-heading p{color:#645d69;font-size:13px;line-height:1.75}
.process-list{list-style:none;padding:0;margin:0;border-bottom:1px solid #dad3df;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.process-list li{border-top:1px solid #dad3df;padding:16px 0 24px}
.process-list span{color:#8969a3;font-size:10px;font-weight:600}
.process-list h3{font-size:clamp(20px,2.2vw,31px);font-weight:500;line-height:1.35;max-width:250px;margin-top:35px}
.process-note{color:#766b7a;font-size:12px;line-height:1.7;margin-top:22px}
.after-session{background:#fafaf8}
.sessions-final{background:#ece5f2;border-top:4px solid #8554b0;padding:90px 0 100px}
.final-layout{display:grid;grid-template-columns:.65fr 1fr;gap:clamp(60px,10vw,140px);align-items:center}
.final-number{font-size:clamp(150px,18vw,260px);font-weight:620;line-height:.8;letter-spacing:-20px;color:#342046}
.final-number span{display:block;color:#754b9b;font-size:18px;line-height:1.3;letter-spacing:2.5px;margin:21px 0 0 12px}
.final-copy h2{font-size:clamp(50px,5.8vw,82px);margin-top:18px}
.final-copy>p{color:#5e5368;font-size:15px;line-height:1.8;max-width:510px;margin-top:21px}
.final-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:30px}
.final-actions .btn{white-space:nowrap}
.final-copy .final-help{font-size:11px;margin-top:30px}
.final-help a{color:#5f2f8d;font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px){
  .sessions-hero-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.77fr);gap:35px;min-height:650px}
  .sessions-hero h1{font-size:clamp(50px,5.7vw,67px)}
  .sessions-hero-mark{min-height:490px}
  .sessions-hero-mark strong{font-size:205px}
  .series-heading,.inside-session .section-heading,.practical-header,.process-heading{grid-template-columns:120px 1fr auto;gap:23px}
  .session-row{grid-template-columns:120px 1fr .8fr 130px;gap:22px}
}
@media(max-width:850px){
  .sessions-hero-grid{grid-template-columns:1fr;min-height:0;padding-block:60px;gap:45px}
  .sessions-hero-copy{max-width:680px}
  .sessions-hero-mark{min-height:330px;max-width:680px;width:100%;padding:20px 28px;display:grid;grid-template-columns:1fr 1.2fr;grid-template-rows:auto 1fr auto;align-items:center}
  .sessions-hero-mark strong{grid-column:1;grid-row:2;font-size:clamp(155px,24vw,225px);margin:0 0 0 -10px}
  .mark-bottom{grid-column:2;grid-row:2;margin:0;font-size:clamp(35px,5vw,55px)}
  .mark-foot{grid-column:1/-1;grid-row:3;margin:0}
  .sessions-section{padding:80px 0}
  .editorial-split{grid-template-columns:1fr;gap:10px}
  .split-copy{padding-top:15px}
  .series-heading{grid-template-columns:1fr auto;gap:14px}
  .series-heading .section-index{grid-column:1/-1}
  .session-row{grid-template-columns:100px 1fr 1fr;gap:17px}
  .session-state{grid-column:3}
  .session-date{grid-column:2}
  .inside-session .section-heading,.process-heading{grid-template-columns:1fr 1fr}
  .inside-session .section-heading .section-index,.process-heading .section-index{grid-column:1/-1}
  .inside-list,.process-list{grid-template-columns:repeat(2,1fr);gap:20px 35px}
  .practical-header{grid-template-columns:1fr;gap:12px}
  .final-layout{grid-template-columns:.6fr 1fr;gap:45px}
  .final-number{font-size:clamp(130px,19vw,185px);letter-spacing:-13px}
}
@media(max-width:600px){
  .sessions-hero-grid{padding-block:42px 48px;gap:36px}
  .event-label{font-size:8px;letter-spacing:1px}
  .event-label span{font-size:7px;letter-spacing:.5px}
  .sessions-hero h1{font-size:clamp(41px,10.2vw,57px);letter-spacing:-2.9px;margin-top:22px}
  .sessions-hero-copy>p{font-size:12px;line-height:1.8;margin-top:22px}
  .sessions-hero-actions{gap:17px;margin-top:25px}
  .sessions-hero-actions .btn,.final-actions .btn{font-size:10px;min-height:48px;padding:13px 16px;gap:12px}
  .sessions-hero-actions .text-link,.final-actions .text-link{font-size:11px}
  .sessions-update{font-size:10px;margin-top:21px}
  .sessions-hero-mark{min-height:230px;padding:15px 20px}
  .mark-top,.mark-foot{font-size:7px}
  .sessions-hero-mark strong{font-size:clamp(125px,35vw,172px);letter-spacing:-11px}
  .mark-bottom{font-size:clamp(25px,7vw,37px);letter-spacing:-1.5px}
  .sessions-section{padding:65px 0}
  .free-sessions-page h2{font-size:clamp(36px,9vw,48px);letter-spacing:-2px}
  .editorial-split h2{margin-top:14px}
  .split-copy{padding-top:13px}
  .split-copy p{font-size:12px;line-height:1.8}
  .split-copy .lead-line{font-size:26px}
  .series-heading{margin-bottom:31px}
  .series-heading p{font-size:11px}
  .series-count{font-size:10px}
  .session-row{grid-template-columns:70px 1fr;gap:11px 16px;padding:21px 0}
  .session-number{grid-row:1/4;align-self:start}
  .session-number strong{font-size:59px;letter-spacing:-4px}
  .session-number span{font-size:7px}
  .session-topic,.session-date,.session-state{grid-column:2}
  .session-row>div>span{font-size:8px}
  .session-topic h3{font-size:20px;margin-top:5px}
  .session-date p{font-size:12px;margin-top:3px}
  .session-state .status-label{margin-top:5px;font-size:8px}
  .topic-callout{display:block;margin-top:48px}
  .topic-callout h3{font-size:28px}
  .topic-callout p{font-size:12px}
  .topic-callout .text-link{margin-top:17px}
  .inside-session .section-heading,.process-heading{grid-template-columns:1fr;gap:13px;margin-bottom:31px}
  .inside-session .section-heading .section-index,.process-heading .section-index{grid-column:auto}
  .inside-session .section-heading p,.process-heading p{font-size:12px}
  .inside-list,.process-list{grid-template-columns:1fr 1fr;gap:23px 16px}
  .inside-list li,.process-list li{padding:12px 0}
  .inside-list h3{font-size:19px;margin-top:27px}
  .inside-list p{font-size:11px}
  .practical-header{margin-bottom:29px}
  .practical-grid,.practical-notes{grid-template-columns:1fr;gap:37px}
  .practical-grid h3{font-size:24px}
  .practical-grid li{font-size:12px}
  .practical-notes{margin-top:45px}
  .process-list h3{font-size:18px;margin-top:25px}
  .process-note{font-size:11px}
  .sessions-final{padding:63px 0 73px}
  .final-layout{grid-template-columns:1fr;gap:30px}
  .final-number{font-size:135px;line-height:.8;letter-spacing:-12px}
  .final-number span{font-size:11px;letter-spacing:1.5px;margin:12px 0 0 7px}
  .final-copy h2{font-size:48px}
  .final-copy>p{font-size:12px}
  .final-actions{gap:17px}
  .final-copy .final-help{font-size:10px}
}
@media(max-width:375px){
  .sessions-hero-actions,.final-actions{align-items:flex-start;flex-direction:column}
  .sessions-hero-mark strong{font-size:123px}
  .session-row{grid-template-columns:65px 1fr}
}
@media(prefers-reduced-motion:reduce){.free-sessions-page *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* The series is a free video library. A row becomes actionable only when its
   page-local configuration supplies a real recording, live URL, or booking URL. */
.featured-session{padding:80px 0;background:#fff;border-bottom:1px solid #e3dce8}
.featured-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(40px,7vw,110px);align-items:center}
.featured-art{position:relative;display:grid;place-items:center;aspect-ratio:16/9;overflow:hidden;background:#eae1f0;color:#7d54a2;font-size:clamp(120px,17vw,220px);font-weight:600;line-height:1;letter-spacing:-18px}
.featured-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.featured-layout h2{margin-top:22px}
.featured-description{color:#63596a;font-size:15px;line-height:1.8;margin:23px 0}
.session-row{grid-template-columns:105px minmax(160px,215px) minmax(0,1fr) minmax(145px,.48fr);gap:30px;align-items:center;padding:26px 0}
.session-number{align-self:center}
.session-number strong{font-size:clamp(51px,5.4vw,75px)}
.session-thumb{position:relative;display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(125deg,#e6dbef,#f6f1f8);border:1px solid #d5c6df;padding:13px 15px;color:#66507b}
.session-thumb:after{content:'';position:absolute;top:12px;right:12px;width:17px;height:17px;border-top:1px solid #aa8bc3;border-right:1px solid #aa8bc3}
.session-thumb strong{font-size:clamp(38px,4.2vw,59px);line-height:1;letter-spacing:-5px;font-weight:600}
.session-thumb span{font-size:7px;font-weight:600;letter-spacing:.8px}
.session-thumb img{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:cover}
.session-content{min-width:0}
.session-type,.session-content .field-label,.session-state .field-label{display:block;color:#6d5c77;text-transform:uppercase;letter-spacing:1px;font-size:9px;font-weight:600}
.session-type{color:#735092;margin-bottom:12px}
.session-title{font-size:clamp(18px,2vw,26px);font-weight:500;line-height:1.35;margin-top:6px}
.session-description{color:#665b6d;font-size:12px;line-height:1.6;margin-top:8px}
.session-extra{display:flex;flex-wrap:wrap;gap:10px 25px;margin:13px 0 0}
.session-extra div{display:flex;gap:7px}
.session-extra dt{color:#86728e;text-transform:uppercase;font-size:9px;letter-spacing:.6px}
.session-extra dd{margin:0;color:#46354f;font-size:11px}
.session-state{align-self:center}
.session-state .status-label{white-space:nowrap;margin-top:7px}
.session-state .status-label[data-status="coming-soon"]{background:#eae5ed;border-color:#d4cbd9;color:#645b6a}
.session-state .status-label[data-status="watch-now"]{background:#e5d8f2;border-color:#bda1d4;color:#59327d}
.session-state .status-label[data-status="live"]{background:#e2eafa;border-color:#a8bee5;color:#254d85}
.session-state .status-label[data-status="reservation-open"]{background:#e1f1ea;border-color:#a5cfb7;color:#215a41}
.session-state .status-label[data-status="completed"]{background:#e8e7eb;border-color:#ccc9d2;color:#55505f}
.session-action{display:block;width:max-content;max-width:100%;color:#5d2e8a;font-size:12px;font-weight:600;line-height:1.5;text-decoration:underline;text-underline-offset:3px;margin-top:13px}
.session-action:hover{color:#30174c}
.free-process{background:#fff}
.audience{background:#f5f2f0}
.youtube-section{background:#fff;border-top:1px solid #e5dce8;border-bottom:1px solid #e5dce8}
.youtube-section .text-link{margin-top:10px}
@media(max-width:1100px){
  .session-row{grid-template-columns:75px minmax(120px,175px) minmax(0,1fr) 135px;gap:18px}
  .session-thumb{padding:10px}
}
@media(max-width:850px){
  .featured-layout{grid-template-columns:1fr;gap:30px}
  .session-row{grid-template-columns:70px minmax(130px,185px) minmax(0,1fr);gap:18px}
  .session-state{grid-column:3}
  .session-content{grid-column:3}
  .session-thumb{grid-column:2;grid-row:1/3}
  .session-number{grid-column:1;grid-row:1/3;align-self:start}
}
@media(max-width:600px){
  .featured-session{padding:60px 0}
  .featured-art{font-size:130px}
  .session-row{grid-template-columns:62px 112px minmax(0,1fr);gap:12px;align-items:start;padding:19px 0}
  .session-number{grid-column:1;grid-row:1/3}
  .session-number strong{font-size:49px;letter-spacing:-4px}
  .session-thumb{grid-column:2;grid-row:1;align-self:start;padding:7px}
  .session-thumb strong{font-size:31px;letter-spacing:-3px}
  .session-thumb span{font-size:4.5px;letter-spacing:0;white-space:nowrap}
  .session-thumb:after{width:10px;height:10px;top:7px;right:7px}
  .session-content{grid-column:3;grid-row:1}
  .session-type,.session-content .field-label,.session-state .field-label{font-size:7px}
  .session-type{margin-bottom:6px}
  .session-title{font-size:16px;line-height:1.3;margin-top:3px}
  .session-state{grid-column:2/4;grid-row:2;display:flex;align-items:center;gap:9px;margin-top:3px}
  .session-state .status-label{margin:0;font-size:7px;white-space:normal}
  .session-action{font-size:10px;margin:0 0 0 auto}
  .session-extra{display:block;margin-top:7px}
  .session-extra div{margin-top:3px}
  .session-extra dt,.session-extra dd{font-size:8px}
}
@media(max-width:375px){
  .session-row{grid-template-columns:55px 95px minmax(0,1fr);gap:9px}
  .session-thumb strong{font-size:28px}
  .session-title{font-size:14px}
}

.session-row .session-action{padding-top:0;text-align:left}.sessions-data-notice{font-size:14px;line-height:1.8;padding:20px 0}

.free-sessions-page .final-actions .text-link{color:#6d5c77}
