*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--background);color:var(--text);line-height:1.55}a{color:inherit}.wrap{width:min(1180px,92%);margin:auto}.narrow{width:min(720px,92%)}.nav{position:sticky;top:0;z-index:20;background:#111019f2;border-bottom:1px solid #302632}.nav .wrap{display:flex;align-items:center;justify-content:space-between;min-height:70px;gap:20px}.brand{font-weight:900;letter-spacing:.12em;text-decoration:none}.brand span{color:var(--primary)}.links{display:flex;gap:18px;flex-wrap:wrap}.links a{text-decoration:none}.menu-toggle{display:none}.btn{display:inline-block;background:var(--primary);color:#160b12;border:0;border-radius:999px;padding:12px 21px;font-weight:800;text-decoration:none;cursor:pointer}.btn.alt{background:transparent;color:white;border:1px solid var(--primary)}.hero-clean{min-height:640px;background:linear-gradient(90deg,rgba(10,8,12,.92),rgba(10,8,12,.18)),url('../images/hero-clean.webp') center/cover;display:flex;align-items:center}.hero-copy{max-width:610px}.hero-clean h1{font-family:Georgia,serif;font-size:clamp(3.6rem,7vw,6.8rem);line-height:.88;margin:.15em 0}.eyebrow{color:#f279b5;text-transform:uppercase;letter-spacing:.27em}.lead{font-size:1.18rem}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}section{padding:70px 0}.band{background:#17121b}.section-title{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);margin:.2em 0}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--surface);border:1px solid #362b39;border-radius:18px;overflow:hidden}.card img,.detail-image{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:18px}.pad{padding:18px}.pill{display:inline-block;border:1px solid #6c4160;border-radius:99px;padding:4px 9px;font-size:.8rem;color:#f5a6cd}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gallery img,.gallery video{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px}.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:34px}.announcement{background:var(--primary);color:#190d15;padding:10px 0}.session-list{display:grid;gap:10px}.session-list article{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:16px;background:var(--surface);border:1px solid #362b39;border-radius:14px}.session-list article div{display:grid;gap:3px}.facts{display:grid;grid-template-columns:140px 1fr;gap:8px}.facts dt{color:#f279b5}.form-card{display:grid;gap:16px;background:var(--surface);padding:24px;border-radius:18px;border:1px solid #362b39}.form-card label{display:grid;gap:7px;font-weight:700}input,select,textarea{padding:12px;border-radius:10px;border:1px solid #4a3a4d;background:#0d0b10;color:white}.flash{padding:12px 4%;text-align:center}.flash.success{background:#143c2a}.flash.error{background:#5a1f2b}.account-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.qr{background:white;padding:10px;width:max-content;border-radius:10px}.media-item video{width:100%;aspect-ratio:4/3;background:#000;border-radius:12px}.media-item{background:var(--surface);padding:10px;border-radius:16px}.video-card{aspect-ratio:4/3;display:grid;place-items:center;background:#281c2b;border-radius:12px}footer{padding:35px 0;border-top:1px solid #332936;color:#c2b8c1}@media(max-width:780px){.grid,.account-grid,.two-col{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.menu-toggle{display:block;background:#17131b;color:white;border:1px solid #49384c;border-radius:10px;padding:9px 13px}.links{display:none;position:absolute;top:64px;left:4%;right:4%;flex-direction:column;background:#151119;border:1px solid #392c3c;padding:10px;border-radius:14px}.links.open{display:flex}.nav-inner{position:relative}.session-list article{grid-template-columns:1fr}.hero-clean{min-height:560px;background-position:62% center}}
.section-media{margin:24px 0}.section-media img,.section-media video{max-width:100%;border-radius:18px}.faq-list{display:grid;gap:10px}.faq-list details{background:var(--surface);border:1px solid #362b39;border-radius:12px;padding:14px}.faq-list summary{font-weight:800;cursor:pointer}.prose{max-width:850px}

.page-hero{padding:90px 0;background:#17121b;position:relative;overflow:hidden}.page-hero.has-image{min-height:430px;display:flex;align-items:flex-end}.page-hero-bg{position:absolute;top:0;left:50%;width:100vw;max-width:none;height:100%;transform:translateX(-50%);object-fit:cover;object-position:50% 50%;display:block}.page-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,8,12,.92),rgba(10,8,12,.28))}.page-hero-content{position:relative;z-index:1}.page-hero.has-image .page-hero-content{padding-bottom:20px}.schedule-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:20px 0}.view-toggle{display:flex;gap:8px}.view-toggle a{padding:9px 14px;border:1px solid #49384c;border-radius:999px;text-decoration:none}.view-toggle a.active{background:var(--primary);color:#160b12;border-color:var(--primary)}.calendar-nav{display:flex;align-items:center;gap:10px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#392e3c;border:1px solid #392e3c;border-radius:16px;overflow:hidden}.calendar-head{background:#17121b;padding:10px;text-align:center;font-weight:800}.calendar-day{min-height:150px;background:var(--surface);padding:9px;min-width:0}.calendar-day.outside{opacity:.42}.calendar-date{font-weight:800;margin-bottom:7px}.calendar-event{display:block;background:#271b2a;border:1px solid #68425f;border-radius:10px;padding:8px;margin:6px 0;text-decoration:none;font-size:.88rem}.calendar-event strong,.calendar-event span{display:block;overflow:hidden;text-overflow:ellipsis}.calendar-event .time{color:#f5a6cd}.calendar-event:hover{border-color:var(--primary)}@media(max-width:780px){.calendar{grid-template-columns:1fr;background:transparent;border:0;gap:10px}.calendar-head{display:none}.calendar-day{min-height:auto;border:1px solid #392e3c;border-radius:12px}.calendar-day.outside{display:none}}

/* 2026-09-24 surgical v2: viewport-safe hero + reliable calendar layout */
.page-hero{width:100%;max-width:100vw}
.schedule-toolbar .view-toggle a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;white-space:nowrap}
.calendar{width:100%;max-width:100%;margin-top:14px}
.calendar-event{min-width:0;word-break:normal}
@media(min-width:781px){.calendar-day{overflow:hidden}.calendar-event{white-space:normal}}
@media(max-width:780px){.schedule-toolbar{align-items:stretch}.view-toggle{width:100%}.view-toggle a{flex:1;text-align:center}.calendar-nav{width:100%;justify-content:space-between}.calendar-date{font-size:1.05rem}}

/* surgical v3 */
.schedule-page{padding-top:54px}
.schedule-page .wrap{width:min(1240px,94%);margin-left:auto;margin-right:auto}
.calendar-shell{width:100%;overflow-x:auto;padding-bottom:4px}
.calendar{min-width:860px}
@media(max-width:780px){.calendar-shell{overflow:visible}.calendar{min-width:0}}

/* surgical v4: client-side schedule toggle so calendar is always present */
[data-schedule-panel][hidden],[data-calendar-nav][hidden]{display:none!important}
.schedule-view-btn{appearance:none;border:1px solid #49384c;background:transparent;color:inherit;border-radius:999px;padding:9px 14px;font:inherit;font-weight:700;cursor:pointer}
.schedule-view-btn.active{background:var(--primary);color:#160b12;border-color:var(--primary)}
.calendar-date{display:flex;justify-content:space-between;gap:8px;align-items:center}.calendar-weekday{display:none;color:#f5a6cd;font-size:.84rem}
@media(max-width:780px){.schedule-view-btn{flex:1}.calendar-weekday{display:inline}.calendar-day{padding:12px}.calendar-event{font-size:.95rem}}

/* surgical v5: stable calendar month navigation + true circular arrows */
.calendar-nav{gap:14px}
.calendar-nav strong{min-width:160px;text-align:center}
.calendar-arrow{width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;padding:0!important;border-radius:50%!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;font-size:1.35rem!important;flex:0 0 52px!important}
@media(max-width:780px){.calendar-nav{justify-content:center!important}.calendar-nav strong{min-width:138px}.calendar-arrow{width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;flex-basis:46px!important}}

/* surgical v6: media thumbnails and embedded video */
.gallery>a.gallery-image{display:block;text-decoration:none}.gallery>a.gallery-image img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}.gallery .video-embed,.section-media .video-embed{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden}.gallery .video-embed iframe,.section-media .video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.gallery .video-card{aspect-ratio:4/3;display:grid;place-items:center;text-align:center;padding:18px;background:#281c2b;border-radius:14px;text-decoration:none}.section-media img,.section-media video{max-width:100%;border-radius:14px}

/* surgical v7: in-page gallery lightbox + video in gallery cards */
.gallery .gallery-media{width:100%;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#0b0a0d;border:0;padding:0;margin:0;display:block}
.gallery button.gallery-image{appearance:none;cursor:zoom-in;text-align:initial;color:inherit}
.gallery .gallery-media img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0;display:block}
.gallery .video-embed.gallery-media{position:relative;aspect-ratio:4/3}
.gallery .video-embed.gallery-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.gallery video.gallery-media{object-fit:contain;background:#000}
.media-lightbox[hidden]{display:none!important}.media-lightbox{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px}.media-lightbox-backdrop{position:absolute;inset:0;background:rgba(5,4,7,.9);backdrop-filter:blur(4px)}.media-lightbox-dialog{position:relative;z-index:1;width:min(1200px,96vw);height:min(88vh,900px);display:grid;grid-template-columns:58px minmax(0,1fr) 58px;align-items:center;gap:10px}.media-lightbox figure{margin:0;min-width:0;max-height:88vh;display:grid;place-items:center;gap:10px}.media-lightbox img{display:block;max-width:100%;max-height:80vh;width:auto;height:auto;object-fit:contain;border-radius:14px;box-shadow:0 18px 60px #0009}.media-lightbox figcaption{color:#eee;text-align:center;min-height:1.4em}.media-lightbox-close,.media-lightbox-nav{appearance:none;border:1px solid #ffffff55;background:#151119dd;color:#fff;cursor:pointer;display:grid;place-items:center}.media-lightbox-close{position:absolute;right:0;top:-8px;width:46px;height:46px;border-radius:50%;font-size:30px;z-index:2}.media-lightbox-nav{width:50px;height:50px;border-radius:50%;font-size:1.4rem}.media-lightbox-open{overflow:hidden}@media(max-width:700px){.media-lightbox{padding:10px}.media-lightbox-dialog{width:100%;grid-template-columns:42px minmax(0,1fr) 42px}.media-lightbox-nav{width:40px;height:40px}.media-lightbox-close{top:4px;right:4px}.media-lightbox img{max-height:76vh}}


/* surgical v9: single consistent media grid and in-place video playback */
.media-main-section .gallery{align-items:stretch}.gallery .gallery-media,.gallery .gallery-inline-frame{width:100%;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#0b0a0d;border:0;padding:0;margin:0;display:block}
.gallery-video-launch{position:relative;cursor:pointer}.gallery-video-launch img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}.gallery-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:42px;border-radius:12px;background:#ff0033;color:#fff;display:grid;place-items:center;font-size:20px;line-height:1;padding-left:3px;box-shadow:0 8px 24px #0007;pointer-events:none}.gallery-video-launch:hover .gallery-play{transform:translate(-50%,-50%) scale(1.06)}.gallery-inline-frame{border:0!important}.gallery video.gallery-media{object-fit:cover}

/* surgical v10: compact Media page, real hero image, less dead space */
.media-page-hero{padding:52px 0 48px;min-height:0!important;background:#17121b;display:block!important;isolation:isolate}
.media-page-hero.has-image{position:relative;background-image:linear-gradient(90deg,rgba(10,8,12,.88),rgba(10,8,12,.42)),var(--page-hero-image);background-position:center;background-size:cover;background-repeat:no-repeat}
.media-page-hero.has-image:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 55%,rgba(10,8,12,.25))}
.media-page-hero .media-hero-content{position:relative;z-index:1;max-width:1180px}
.media-page-hero .section-title{margin:.12em 0 .16em;font-size:clamp(2.7rem,5vw,4.5rem)}
.media-page-hero .lead{max-width:680px;margin:.25rem 0 0;font-size:1.05rem}
.media-main-section{padding:42px 0 54px}
.media-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:24px}
.media-section-heading .section-title{margin:0;white-space:nowrap}
.media-intro{max-width:650px;margin:0;color:#d5cbd3}
.media-main-section .gallery{margin-top:0}
.media-empty-section{padding:36px 0}
@media(max-width:780px){
  .media-page-hero{padding:40px 0 36px}
  .media-page-hero.has-image{background-position:center}
  .media-section-heading{display:block;margin-bottom:18px}
  .media-section-heading .section-title{white-space:normal;margin-bottom:8px}
  .media-main-section{padding:30px 0 42px}
}
