@import url('/assets/fonts/adb9af761a60.css');
:root{--jade:#143b33;--deep:#102d28;--paper:#f7f4ec;--gold:#d7bc85;--ink:#1e3831;--line:#d7d9ce}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ab813d;outline-offset:6px}header{padding:26px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font:27px/1.15 'Playfair Display',Georgia,serif}.brand span{display:block;font:12px/1.4 'DM Sans',sans-serif;letter-spacing:3.4px;margin-top:6px}nav{display:flex;gap:34px;align-items:center;font-size:14px}.nav-contact{border-bottom:1px solid;padding:5px 0}.hero{background:var(--jade);color:var(--paper);padding:36px 6% 0}.hero-top,.hero-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:500}.edition{font-size:12px;letter-spacing:2px;color:var(--gold)}.hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;padding:65px 0 60px;align-items:center}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400}h1{font-size:clamp(48px,6.3vw,90px);line-height:1.08;letter-spacing:-2px}h1 i{color:var(--gold)}.hero p{margin:27px 0;font-size:17px;color:#d4ded6}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding:16px 22px;font-size:14px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.light{background:var(--paper);color:var(--jade)}.dark{background:var(--jade);color:var(--paper)}.hero-type{border:1px solid #738578;border-radius:180px 180px 0 0;min-height:385px;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;padding:55px 35px 30px;background:linear-gradient(135deg,#244d42,#102f29)}.hero-type>div{font:clamp(50px,5.5vw,76px)/1.05 'Playfair Display',Georgia,serif;letter-spacing:-2px;align-self:center}.hero-type em{color:var(--gold)}.vertical{position:absolute;left:20px;bottom:25px;writing-mode:vertical-rl;font-size:12px;letter-spacing:2px}.type-footer{font-size:12px;margin-top:28px;color:#c7d3c8}.hero-bottom{border-top:1px solid #527167;padding:21px 0;font-size:13px;color:#d5dfd5}.hero-bottom a{font-size:24px;color:var(--gold)}.collection{padding:75px 6%}.section-intro{display:grid;grid-template-columns:1fr 1.4fr;column-gap:40px;margin-bottom:40px}.section-intro>.eyebrow{grid-column:1/-1;margin-bottom:22px}.section-intro p{align-self:end;color:#5b6b60;font-size:16px}h2{font-size:clamp(35px,4.1vw,55px);line-height:1.13;letter-spacing:-1px}h2 i{color:#6b7d69}.bootcamp{display:grid;grid-template-columns:.95fr 1.2fr;border:1px solid var(--line)}.course-cover{background:#d9dfd1;padding:40px;display:flex;flex-direction:column;justify-content:space-between;min-height:470px;position:relative;overflow:hidden}.course-cover:after{content:'05';font:190px/1 Georgia,serif;position:absolute;right:-10px;bottom:25px;color:#c0cbb8;z-index:0}.course-cover>*{z-index:1;position:relative}.cover-word{font:clamp(60px,6.5vw,92px)/.95 'Playfair Display',Georgia,serif;letter-spacing:-3px}.cover-word i{font-weight:400}.cover-foot{font-size:12px;letter-spacing:2px}.course-info{padding:40px}h3{font-size:36px;line-height:1.15}.course-info h3{margin:13px 0 20px}.course-info>p{color:#59695e;font-size:16px}.city-picker{display:flex;gap:8px;margin:26px 0}.city-picker button{padding:10px 22px;border:1px solid #b6c3b2;border-radius:24px;background:transparent;color:var(--jade);font-size:14px}.city-picker button[aria-pressed=true]{background:var(--jade);color:var(--paper);border-color:var(--jade)}.booking{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:18px}.meta-label{display:block;font-size:12px;letter-spacing:1.5px;margin-bottom:6px}.booking strong{font-size:16px;font-weight:500}.course-info .fee-note{font-size:12px;margin:12px 0 20px;min-height:38px}.availability{display:block;font-size:12px;color:#59695e;margin-top:10px}.residency{background:#e7e8de;padding:65px 6%}.res-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:end}.res-heading .eyebrow{display:block;margin-bottom:20px}.res-heading h3{font-size:29px}.res-heading p{margin:13px 0;color:#536555}.res-price{font-size:23px}.res-price small{font-size:13px;display:inline-block}.res-heading .cohort{font-size:13px}.timeline{display:grid;grid-template-columns:repeat(4,1fr);margin-top:42px}.timeline button{background:transparent;border:0;border-top:2px solid #a5b19c;text-align:left;padding:22px 16px;color:var(--jade)}.timeline button[aria-pressed=true]{background:var(--jade);color:var(--paper);border-color:var(--jade)}.timeline span{font-size:12px;letter-spacing:1px}.timeline strong{font:24px 'Playfair Display',Georgia,serif;display:block;margin:13px 0}.timeline small{font-size:12px;display:block}.module-detail{display:flex;gap:27px;padding:30px 16px;border-bottom:1px solid #c7cebf;min-height:145px;align-items:center}.module-detail>span{font:50px 'Playfair Display',Georgia,serif;color:#738269}.module-detail p{margin-top:8px;max-width:750px}.text-link{display:inline-flex;gap:45px;border-bottom:1px solid;padding:10px 0;margin-top:15px;font-size:14px}.archive{padding:70px 6%;display:grid;grid-template-columns:1fr 1.3fr;gap:50px}.archive h2{margin-top:20px}.archive-list details{border-bottom:1px solid var(--line);padding:20px 0}.archive-list summary{display:flex;gap:20px;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;font:24px 'Playfair Display',Georgia,serif}.archive-list summary::-webkit-details-marker{display:none}.archive-list summary small{display:block;font:12px/1.6 'DM Sans',sans-serif;margin-top:8px;color:#687563}.archive-list .plus{font:24px 'DM Sans',sans-serif;transition:transform .2s}.archive-list details[open] .plus{transform:rotate(45deg)}.archive-list p{margin:20px 0 12px}.archive-list a{font-size:14px;text-decoration:underline;text-underline-offset:5px}.closing{text-align:center;padding:60px 6%;background:var(--deep);color:var(--paper)}.closing h2{margin:24px 0 30px}.closing h2 i{color:var(--gold)}footer{display:flex;justify-content:space-between;align-items:center;padding:35px 6%;gap:25px}footer>a:not(.brand),footer>span{font-size:12px}footer .brand{font-size:23px}footer .brand span{font-size:12px}
@media(min-width:1500px){header,main,footer{max-width:1600px;margin:auto}}@media(max-width:760px){header{padding:22px 5%}nav{gap:16px}nav a:not(.nav-contact){display:none}.brand{font-size:24px}.hero{padding:28px 5% 0}.hero-top{align-items:start}.edition{max-width:90px;text-align:right}.hero-grid{grid-template-columns:1fr;padding:42px 0;gap:38px}.hero-type{min-height:320px;max-width:450px;width:100%;justify-self:center}.hero-type>div{font-size:64px}.hero-bottom{font-size:12px}.hero-bottom span:nth-child(2){max-width:160px;text-align:right}.collection,.residency,.archive{padding:50px 5%}.section-intro,.res-heading,.archive{grid-template-columns:1fr;gap:25px}.section-intro>.eyebrow{margin-bottom:0}.bootcamp{grid-template-columns:1fr}.course-cover{min-height:330px;padding:28px}.cover-word{font-size:75px}.course-info{padding:28px}.timeline{grid-template-columns:1fr 1fr}.timeline button{padding:18px 12px;min-height:140px}.module-detail{padding:24px 0;gap:18px}.module-detail>span{font-size:40px}.booking{flex-wrap:wrap}.archive{gap:20px}footer{flex-direction:column;align-items:start}h1{letter-spacing:-1.5px;font-size:clamp(44px,10vw,70px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Knowledge, one grain at a time. */
.jar-hero{grid-template-columns:1.2fr 1fr;gap:20px;padding-top:35px;padding-bottom:38px;min-height:530px}.jar-hero h1{font-size:clamp(48px,5.6vw,80px);max-width:780px;line-height:1.1}.jar-hero h1 i{display:inline}.hero-kicker{display:block;font-size:12px;letter-spacing:2.5px;color:var(--gold);margin-bottom:22px}.jar-scene{min-width:0;align-self:center}.jar-animation{width:100%;aspect-ratio:1;position:relative;isolation:isolate;overflow:hidden;background:var(--jade);border-radius:0}.jar-caption{display:flex;gap:14px;justify-content:space-between;align-items:center;padding:14px 6px;color:#d4dfd4}.jar-caption>span{font-size:12px;letter-spacing:1.5px;max-width:210px}.jar-caption button{background:none;color:var(--gold);border:0;border-bottom:1px solid #8a977e;padding:10px 0;font-size:12px;white-space:nowrap;min-height:44px}.hero-copy{position:relative;z-index:1}@media(max-width:760px){.jar-hero{grid-template-columns:1fr;gap:16px;padding-top:35px}.jar-hero h1{font-size:clamp(43px,9.4vw,67px)}.jar-scene{width:100%;max-width:460px;justify-self:center}.jar-caption{padding-top:0}.hero-kicker{font-size:12px}.hero-copy>p{font-size:16px}.jar-animation{margin-top:-10px}}

.jar-animation{mask-image:none;-webkit-mask-image:none;contain:layout paint}.jar-animation video,.jar-animation img{display:block;width:100%;height:100%;object-fit:cover}.jar-animation [hidden]{display:none}

/* Static edge feathering blends both the video and still into the hero. */
.jar-animation::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,var(--jade) 0%,transparent 19%,transparent 81%,var(--jade) 100%),linear-gradient(to bottom,var(--jade) 0%,transparent 12%,transparent 84%,var(--jade) 100%)}
.res-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:38px;padding:22px 0;gap:20px}.res-stats>div{display:flex;flex-direction:column;gap:4px}.res-stats strong{font:46px/1.15 'Playfair Display',Georgia,serif}.res-stats span{font-size:14px;color:#59695e}.residency-word{font-size:clamp(42px,5vw,72px);letter-spacing:-2px}.course-cover:after{content:'27'}.date-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;flex-wrap:wrap}.date-row strong{font-weight:500}.res-booking .booking{border:0;padding-top:20px}.res-booking #course-price{font:29px 'Playfair Display',Georgia,serif}.course-info .payment-note{font-size:14px;margin:20px 0 10px}.course-info .payment-options{font-size:14px;margin-bottom:22px}.brochure-link{display:block;margin-top:14px;font-size:14px;text-decoration:underline;text-underline-offset:4px}.curriculum-panel{padding:35px 0 0}.curriculum-panel[hidden],[hidden]{display:none!important}.curriculum-panel :is(h1,h3){margin:12px 0;font-size:32px;max-width:900px}.module-intro{color:#536555;max-width:800px}.curriculum-columns{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:25px}.curriculum-columns h4{font:23px 'Playfair Display',Georgia,serif;margin:0 0 14px}.curriculum-columns ul{padding-left:20px;margin:0}.curriculum-columns li{padding-left:3px;margin-bottom:12px;font-size:16px}.case-examples{margin-top:28px;border-top:1px solid #c7cebf;padding-top:18px}.case-examples summary{cursor:pointer;font-size:16px;min-height:44px}.case-examples img{display:block;width:100%;max-width:540px;height:auto;margin:18px auto 0}.timeline strong{font-size:22px}.res-heading>p{max-width:430px}@media(max-width:760px){.res-stats{grid-template-columns:1fr 1fr;gap:22px}.res-stats strong{font-size:38px}.curriculum-columns{grid-template-columns:1fr;gap:25px}.curriculum-panel :is(h1,h3){font-size:28px}.residency-word{font-size:clamp(42px,10vw,70px)}.course-cover{min-height:300px}}

/* A quieter, compact opening. */
.hero{padding:16px 6% 20px}.jar-hero{min-height:0;grid-template-columns:1.25fr 1fr;padding:18px 0 12px;gap:24px;align-items:center}.jar-hero h1{font-size:clamp(40px,4.4vw,64px);line-height:1.12;letter-spacing:-1.4px;margin-bottom:28px}.hero-kicker{margin-bottom:18px;letter-spacing:2px}.jar-scene{width:100%;max-width:370px;justify-self:end}.jar-caption{justify-content:center;padding:0}.jar-caption button{border-bottom:0;padding:7px 12px;min-height:40px;color:#cfdbcF;font-size:12px}.hero-copy .button{padding:13px 20px;gap:30px}@media(max-width:760px){.hero{padding:24px 5% 18px}.jar-hero{grid-template-columns:1fr;gap:6px;padding:0}.jar-hero h1{font-size:clamp(36px,8vw,54px);margin-bottom:22px}.jar-scene{max-width:310px;justify-self:center}.hero-kicker{margin-bottom:14px}.jar-animation{margin-top:0}.jar-caption{margin-top:-6px}}

.course-pathways{display:flex;flex-wrap:wrap;gap:12px}.course-pathways button{border:0;font-family:inherit;cursor:pointer}.course-pathways .button{gap:16px;font-size:14px;min-height:48px}.residency-choice{background:transparent;color:var(--paper);border:1px solid #879e91}.jar-hero .bootcamp-title{font-size:clamp(36px,4.1vw,60px);letter-spacing:-1.2px;line-height:1.15}.five-day-course{padding:38px 6%;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;background:#e7e8de}.five-day-course h2{font-size:34px;margin:14px 0}.five-day-course p{margin-bottom:22px}.five-day-course>button{border:0;background:transparent;color:var(--jade);font:14px 'DM Sans',sans-serif;padding:12px;white-space:nowrap;cursor:pointer}@media(max-width:760px){.jar-hero .bootcamp-title{font-size:clamp(32px,7.4vw,52px)}.course-pathways{gap:10px}.course-pathways .button{padding:12px 14px;font-size:14px}.five-day-course{padding:28px 5%;gap:10px}.five-day-course h2{font-size:28px}}
/* Full-screen opening with a compact, vertically centred composition. */
:root{--site-header-height:96px}.hero{min-height:calc(100svh - var(--site-header-height));display:grid;align-items:center;padding:28px 6%;box-sizing:border-box}.jar-hero{width:100%;max-width:1120px;margin:0 auto;padding:0;gap:clamp(24px,4vw,60px)}.jar-scene{max-width:390px}.jar-hero .bootcamp-title{font-size:clamp(36px,4.1vw,60px);margin-bottom:26px}.course-pathways{gap:12px}@media(max-width:760px){.hero{padding:26px 5%;min-height:calc(100svh - var(--site-header-height))}.jar-hero{max-width:500px;gap:14px}.hero-copy{text-align:center}.course-pathways{justify-content:center}.jar-scene{max-width:min(310px,38svh);justify-self:center}.jar-hero .bootcamp-title{font-size:clamp(32px,7.4vw,48px);margin-bottom:22px}}@media(max-height:650px) and (min-width:761px){.hero{padding-top:18px;padding-bottom:18px}.jar-scene{max-width:310px}.jar-hero .bootcamp-title{font-size:clamp(34px,4vw,52px)}}
/* Equal emphasis for both course pathways. */
.course-pathways .button{background:transparent;color:var(--paper);border:1px solid #879e91;transition:background .18s ease,color .18s ease,border-color .18s ease;transform:none}.course-pathways .button:hover,.course-pathways .button:focus-visible{background:var(--gold);color:var(--deep);border-color:var(--gold);transform:none}@media(prefers-reduced-motion:reduce){.course-pathways .button{transition:none}}
/* A quiet, one-time introduction for the learning tagline. */
.hero-tagline{max-width:450px;margin:0 0 24px!important;font-size:clamp(16px,1.55vw,21px)!important;line-height:1.55;color:#d8e2da!important}.hero-tagline span{display:inline;animation:tagline-arrive 1s ease-out both}.hero-tagline .tagline-emphasis{color:var(--gold);animation-delay:.4s}@keyframes tagline-arrive{from{opacity:0;filter:blur(3px)}to{opacity:1;filter:blur(0)}}@media(max-width:760px){.hero-tagline{margin:0 auto 22px!important;max-width:330px}}@media(prefers-reduced-motion:reduce){.hero-tagline span{animation:none}}
/* Prominent learning message with a restrained, staggered reveal. */
.hero-tagline{max-width:540px;margin:0 0 30px!important;font-size:clamp(24px,2.55vw,36px)!important;font-weight:600;line-height:1.28;letter-spacing:-.55px;color:var(--paper)!important}.hero-tagline span{display:block;animation:knowledge-reveal .9s cubic-bezier(.2,.75,.25,1) both}.hero-tagline .tagline-emphasis{color:var(--gold);animation-delay:.25s;margin-top:5px}@keyframes knowledge-reveal{from{opacity:0;transform:translateY(16px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.jar-scene{position:relative;padding-right:52px;max-width:430px}.jar-caption{position:absolute;right:0;top:50%;transform:translateY(-50%);padding:0;margin:0}.jar-caption button{min-height:44px;min-width:44px;padding:8px 4px;color:var(--gold);font-size:12px;border-bottom:1px solid rgba(215,188,133,.45);transition:color .2s ease,border-color .2s ease}.jar-caption button:hover{color:var(--paper);border-color:var(--paper)}@media(max-width:760px){.hero-tagline{font-size:clamp(22px,5.4vw,29px)!important;max-width:390px;margin:0 auto 26px!important;line-height:1.3}.jar-scene{max-width:min(360px,calc(38svh + 50px));padding-right:50px}.jar-caption{margin:0}.jar-caption button{font-size:12px}}@media(max-height:650px) and (min-width:761px){.hero-tagline{font-size:25px!important;margin-bottom:22px!important}.jar-scene{max-width:360px}}@media(prefers-reduced-motion:reduce){.hero-tagline span{animation:none;transform:none;filter:none}.jar-caption button{transition:none}}
/* A coordinated motion system: editorial reveals, quiet hover movement. */
:root{--course-ease:cubic-bezier(.22,1,.36,1)}
@media(prefers-reduced-motion:no-preference){
.hero-copy .bootcamp-title{animation:opening-title 1s var(--course-ease) both}.hero-tagline span{animation:opening-detail .85s var(--course-ease) .18s both}.hero-tagline .tagline-emphasis{animation-delay:.34s}.course-pathways{animation:opening-detail .8s var(--course-ease) .48s both}.jar-scene{animation:opening-object 1.2s var(--course-ease) .12s both}
@keyframes opening-title{from{opacity:0;transform:translateY(22px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
@keyframes opening-detail{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes opening-object{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.motion-pending{opacity:0;transform:translateY(22px)}.motion-revealed{opacity:1;transform:none;transition:opacity .8s var(--course-ease),transform .8s var(--course-ease);transition-delay:var(--reveal-delay,0ms)}
}
.course-pathways .button{transition:background .25s ease,color .25s ease,border-color .25s ease;overflow:hidden}.course-pathways .button>span{display:inline-block;transition:transform .35s var(--course-ease)}.course-pathways .button:hover>span,.course-pathways .button:focus-visible>span{transform:translate(3px,3px)}
.timeline button{transition:background .3s ease,color .3s ease,border-color .3s ease}.timeline button:hover:not([aria-pressed=true]){background:rgba(20,59,51,.07)}.city-picker button{transition:background .25s ease,color .25s ease,border-color .25s ease}
.case-examples>a{display:block;max-width:540px;margin:18px auto 0;overflow:hidden}.case-examples img{margin:0;transition:transform .75s var(--course-ease)}@media(hover:hover) and (pointer:fine){.case-examples>a:hover img{transform:scale(1.025)}}
nav a{position:relative}nav a:not(.nav-contact)::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--course-ease)}nav a:hover::after,nav a:focus-visible::after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){.hero-copy .bootcamp-title,.hero-tagline span,.course-pathways,.jar-scene{animation:none!important;transform:none!important;opacity:1!important}.motion-pending,.motion-revealed{opacity:1;transform:none;transition:none}.course-pathways .button>span,.case-examples img{transform:none!important;transition:none!important}}
/* Elevated heading, expressive learning message and an uninterrupted photo ribbon. */
.hero{grid-template-rows:auto 1fr;align-items:stretch;padding-top:30px;padding-bottom:28px;row-gap:12px}.hero>.bootcamp-title{width:100%;max-width:1120px;margin:0 auto;font-size:clamp(30px,3.3vw,48px);line-height:1.13;letter-spacing:-1px;animation:opening-detail .9s var(--course-ease) both}.hero>.bootcamp-title br{display:none}.hero>.bootcamp-title i{white-space:nowrap}.jar-hero{align-self:center}.hero-tagline{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(36px,4.5vw,62px)!important;font-weight:600;line-height:1.05;letter-spacing:-1.2px;max-width:610px;margin-bottom:30px!important}.hero-tagline .tagline-emphasis{font-style:italic;margin-top:8px}.workshop-ribbon{background:var(--deep);color:var(--paper);padding:18px 0 24px;overflow:hidden}.ribbon-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 6% 14px;font-size:12px;letter-spacing:2px}.ribbon-top button{font:12px 'DM Sans',sans-serif;letter-spacing:0;background:transparent;color:var(--gold);border:0;min-height:36px;padding:6px;cursor:pointer}.ribbon-window{overflow:hidden}.ribbon-track{display:flex;width:max-content;animation:course-ribbon 65s linear infinite}.ribbon-group{display:flex;gap:14px;padding-right:14px;flex-shrink:0}.ribbon-group img{display:block;width:clamp(250px,27vw,390px);height:clamp(150px,15vw,220px);object-fit:cover;border-radius:3px;flex-shrink:0}.workshop-ribbon.is-paused .ribbon-track,.workshop-ribbon.is-offscreen .ribbon-track{animation-play-state:paused}@keyframes course-ribbon{to{transform:translateX(-50%)}}@media(max-width:760px){.hero{padding-top:22px;row-gap:28px}.hero>.bootcamp-title{text-align:center;font-size:clamp(28px,6.2vw,40px)}.hero>.bootcamp-title br{display:block}.hero-tagline{font-size:clamp(34px,8.7vw,47px)!important;max-width:440px;line-height:1.06}.jar-hero{gap:20px}.ribbon-group img{width:260px;height:160px}.ribbon-track{animation-duration:55s}}@media(prefers-reduced-motion:reduce){.hero>.bootcamp-title{animation:none}.ribbon-track{animation:none}.ribbon-group[aria-hidden=true]{display:none}.ribbon-window{overflow-x:auto}.ribbon-top button{display:none}}
/* Product-story motion: measured entrances and scroll-linked depth. */
@media(prefers-reduced-motion:no-preference){
.hero-tagline span{animation:message-focus 1.1s var(--course-ease) .22s both}
.hero-tagline .tagline-emphasis{animation-delay:.42s}
@keyframes message-focus{from{opacity:0;transform:translateY(24px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}
.course-pathways{animation-delay:.65s}
.jar-scene{animation-duration:1.5s}
@supports(animation-timeline:view()){
.hero{view-timeline-name:--hero-exit;view-timeline-axis:block}
.jar-animation{animation:jar-depth linear both;animation-timeline:--hero-exit;animation-range:exit 0% exit 90%}
@keyframes jar-depth{from{transform:translateY(0) scale(1)}to{transform:translateY(35px) scale(.94)}}
}
}
.ribbon-window{mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)}
.ribbon-group{align-items:center;padding-top:8px;padding-bottom:8px}
.ribbon-group img{border-radius:10px;transition:transform .65s var(--course-ease),box-shadow .65s var(--course-ease)}
.course-pathways .button{border-radius:999px;padding-left:22px;padding-right:22px}
.jar-caption button,.ribbon-top button{border-radius:50px;transition:background .25s ease,color .25s ease}
.jar-caption button:hover,.ribbon-top button:hover{background:rgba(215,188,133,.1)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
.ribbon-group img:hover{transform:translateY(-4px) scale(1.015);box-shadow:0 10px 20px rgba(0,0,0,.18)}
}
@media(prefers-reduced-motion:reduce){.jar-animation{animation:none;transform:none}.ribbon-group img{transition:none}.hero-tagline span{clip-path:none}}

/* Keep the complete opening story and photo ribbon in one viewport. */
.opening-screen{min-height:calc(100svh - var(--site-header-height));display:grid;grid-template-rows:1fr auto;background:var(--jade)}
.opening-screen .hero{min-height:0;display:flex;align-items:center;padding:24px 6%;}
.opening-screen .jar-hero{align-self:auto;gap:36px}
.opening-screen .bootcamp-title{font-family:'DM Sans',sans-serif;font-size:clamp(24px,2.5vw,35px);font-weight:600;line-height:1.2;letter-spacing:-.8px;margin:0 0 20px;max-width:620px}
.opening-screen .bootcamp-title br{display:none}
.opening-screen .bootcamp-title i{font-style:normal;white-space:nowrap}
.opening-screen .hero-tagline{font-size:clamp(36px,4.2vw,58px)!important;line-height:1.04;margin-bottom:24px!important}
.opening-screen .jar-scene{max-width:min(400px,calc(49svh + 30px))}
.opening-screen .workshop-ribbon{padding:8px 0 12px}
.opening-screen .ribbon-top{margin-bottom:4px;min-height:32px}
.opening-screen .ribbon-group img{height:clamp(105px,17svh,160px);width:clamp(230px,25vw,340px)}
@media(max-width:760px){
.opening-screen .hero{padding:20px 5% 10px}
.opening-screen .jar-hero{gap:8px}
.opening-screen .bootcamp-title{font-size:clamp(22px,5.2vw,29px);margin:0 auto 14px;max-width:380px;letter-spacing:-.5px}
.opening-screen .hero-tagline{font-size:clamp(32px,7.8vw,43px)!important;margin-bottom:18px!important;max-width:430px}
.opening-screen .jar-scene{max-width:min(275px,calc(23svh + 50px))}
.opening-screen .course-pathways{gap:8px}
.opening-screen .course-pathways .button{padding:10px 14px;min-height:44px}
.opening-screen .ribbon-group img{height:clamp(90px,13svh,120px);width:210px}
.opening-screen .ribbon-top{font-size:12px;letter-spacing:1px}
}
@media(max-height:650px) and (min-width:761px){
.opening-screen .hero{padding-top:16px;padding-bottom:16px}
.opening-screen .bootcamp-title{font-size:25px;margin-bottom:14px}
.opening-screen .hero-tagline{font-size:38px!important;margin-bottom:18px!important}
.opening-screen .jar-scene{max-width:290px}
}

/* Clean product headline and quiet, icon-only playback controls. */
.opening-screen .bootcamp-title{font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue','Segoe UI',Arial,sans-serif;font-weight:600;font-size:clamp(36px,4vw,54px);line-height:1.06;letter-spacing:-.035em;margin-bottom:18px}
.opening-screen .bootcamp-title br{display:block}
.jar-caption button,.ribbon-top button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid rgba(215,188,133,.3);border-radius:50%;flex-shrink:0}
.jar-caption button svg,.ribbon-top button svg{display:block;fill:currentColor}
@media(max-width:760px){.opening-screen .bootcamp-title{font-size:clamp(32px,7.8vw,42px);letter-spacing:-.035em;margin-bottom:14px}.opening-screen .ribbon-top{min-height:44px}}
@media(max-height:650px) and (min-width:761px){.opening-screen .bootcamp-title{font-size:34px;margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.ribbon-top button{display:none}}
/* Stagger the opening text to give each thought its own position. */
.opening-screen .hero-tagline{margin-left:28px!important;max-width:calc(100% - 28px);text-align:left}
.opening-screen .hero-tagline .tagline-emphasis{margin-left:24px;max-width:calc(100% - 24px)}
@media(max-width:760px){
.opening-screen .hero-copy{text-align:left}
.opening-screen .bootcamp-title{margin-left:0;margin-right:0;text-align:left}
.opening-screen .hero-tagline{margin-left:14px!important;margin-right:0!important;max-width:calc(100% - 14px)}
.opening-screen .hero-tagline .tagline-emphasis{margin-left:14px;max-width:calc(100% - 14px)}
.opening-screen .course-pathways{justify-content:flex-start}
}

/* Radian-inspired centred identity with an unobtrusive course navigation. */
body>.site-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;gap:20px;padding:14px 4%;max-width:none;background:var(--jade);color:var(--paper);border-bottom:1px solid rgba(215,188,133,.16)}
.site-header .brand{text-align:center;font-size:25px;line-height:1.1}
.site-header .brand span{font-size:12px;letter-spacing:2.6px;margin-top:5px}
.site-header nav{gap:24px;font-size:14px;min-width:0}
.site-header .nav-start{justify-self:start}
.site-header .nav-end{justify-self:end}
.site-header nav a{display:inline-flex;align-items:center;white-space:nowrap;min-height:44px}
.site-header .nav-contact{background:var(--gold);color:var(--deep);border:0;border-radius:4px;padding:8px 14px;gap:14px;transition:background .25s ease}
.site-header .nav-contact span{display:grid;place-items:center;width:24px;height:24px;border:1px solid currentColor;border-radius:50%;font-size:17px}
.site-header .nav-contact:hover{background:#e7cf9f}
html{scroll-padding-top:calc(var(--site-header-height) + 20px)}
.opening-screen .ribbon-group img{width:clamp(340px,35vw,490px);height:clamp(180px,25svh,245px)}
.opening-screen .ribbon-group{gap:20px;padding-right:20px;padding-top:12px;padding-bottom:12px}
@media(hover:hover) and (pointer:fine){.ribbon-window:hover .ribbon-track{animation-play-state:paused}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.opening-screen .ribbon-group img:hover{transform:scale(1.04);box-shadow:0 8px 22px rgba(0,0,0,.24)}}
@media(max-width:760px){
body>.site-header{grid-template-columns:1fr auto;gap:10px 16px;padding:12px 5%}
.site-header .brand{grid-column:1;grid-row:1;text-align:left;font-size:23px}
.site-header .nav-start{grid-column:1;grid-row:2}
.site-header .nav-end{display:contents}
.site-header .nav-end>a:not(.nav-contact){grid-column:2;grid-row:2;justify-self:end;display:inline-flex;font-size:14px;min-height:36px}
.site-header .nav-contact{grid-column:2;grid-row:1;justify-self:end;font-size:14px}
.site-header .nav-start a{min-height:36px}
.opening-screen .ribbon-group img{width:310px;height:180px}
}

/* Course choices share the final line of the learning message. */
.opening-screen .jar-hero{max-width:1200px;grid-template-columns:1.65fr 1fr;gap:24px}
.opening-screen .hero-tagline{margin-bottom:0!important}
.knowledge-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin-left:52px}
.knowledge-word{font:italic 600 clamp(36px,4.2vw,58px)/1.04 'Cormorant Garamond',Georgia,serif;letter-spacing:-1.2px;color:var(--gold)}
.knowledge-actions .course-pathways{gap:8px;flex-wrap:nowrap}
.knowledge-actions .course-pathways .button{font-size:14px;padding:11px 13px;gap:8px;white-space:nowrap;min-height:44px}
body>.site-header{transition:background .3s ease,border-color .3s ease}
body>.site-header.is-scrolled{background:rgba(42,47,45,.62);border-bottom-color:rgba(255,255,255,.15);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
@media(min-width:1100px){.knowledge-actions{flex-wrap:nowrap;gap:14px;margin-left:28px}.knowledge-word{font-size:clamp(36px,3.8vw,52px)}}
@media(max-width:760px){.opening-screen .jar-hero{grid-template-columns:1fr}.knowledge-actions{margin-left:28px;gap:14px}.knowledge-word{font-size:clamp(32px,7.8vw,43px)}.knowledge-actions .course-pathways{flex-wrap:wrap}.knowledge-actions .course-pathways .button{padding:10px 12px}}
@media(prefers-reduced-motion:no-preference){.knowledge-word{animation:opening-detail .9s var(--course-ease) .42s both}}

/* Unlabelled automatic gallery, with a more generous hover enlargement. */
.opening-screen .workshop-ribbon{padding:0}
.opening-screen .ribbon-group{padding-top:24px;padding-bottom:24px;gap:26px;padding-right:26px}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
.opening-screen .ribbon-group img:hover{position:relative;z-index:2;transform:scale(1.16);box-shadow:0 12px 28px rgba(0,0,0,.3)}
}
@media(max-width:760px){.opening-screen .ribbon-group{padding-top:18px;padding-bottom:18px}}

/* Preserve the original course-photo proportions without cropping. */
.opening-screen .ribbon-group img{width:clamp(380px,38vw,530px);height:auto;aspect-ratio:1920/893;object-fit:contain}
@media(max-width:760px){.opening-screen .ribbon-group img{width:min(88vw,380px);height:auto}}
/* Five full photos across the desktop ribbon, with their native ratio. */
.opening-screen .ribbon-group{gap:16px;padding-right:16px}
.opening-screen .ribbon-group img{width:calc((min(100vw,1600px) - 80px)/5);height:auto;aspect-ratio:1920/893}
.opening-screen .ribbon-window{mask-image:none;-webkit-mask-image:none}
.opening-screen .knowledge-actions{margin-left:0;gap:8px}
@media(max-width:1000px){.opening-screen .ribbon-group img{width:calc((100vw - 48px)/3)}}
@media(max-width:600px){.opening-screen .ribbon-group img{width:calc((100vw - 32px)/2)}}

/* Open the learning sentence into the centre of the composition. */
.opening-screen .hero-tagline{margin-left:clamp(36px,5vw,76px)!important;max-width:calc(100% + 20px);width:calc(100% + 20px);margin-bottom:20px!important}
.opening-screen .hero-tagline .tagline-emphasis{margin-left:0;max-width:100%;text-wrap:balance}
.opening-screen .knowledge-actions{margin-left:clamp(36px,5vw,76px);justify-content:center}
@media(max-width:760px){
.opening-screen .hero-tagline{margin-left:16px!important;width:calc(100% - 16px);max-width:calc(100% - 16px)}
.opening-screen .knowledge-actions{margin-left:16px;justify-content:center}
}
/* Three larger photos across the slideshow. */
.opening-screen .ribbon-group img{width:calc((min(100vw,1600px) - 48px)/3);height:auto;aspect-ratio:1920/893}
@media(max-width:600px){.opening-screen .ribbon-group img{width:calc((100vw - 32px)/2)}}

/* Allow descenders to clear the animated text mask. */
.opening-screen .hero-tagline{line-height:1.18;overflow:visible}
.opening-screen .hero-tagline span{padding-bottom:.18em;margin-bottom:-.18em}
@keyframes message-focus{from{opacity:0;transform:translateY(24px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(-.2em -.1em -.3em -.1em)}}
.opening-screen .knowledge-actions{margin-top:12px}
/* Zoom within each frame so soft source-image edges move outside the crop. */
.ribbon-photo{flex:none;width:calc((min(100vw,1600px) - 48px)/3);aspect-ratio:1920/893;overflow:hidden;border-radius:10px;isolation:isolate}
.opening-screen .ribbon-photo img{width:100%!important;height:100%!important;max-width:none;aspect-ratio:auto;object-fit:cover;border-radius:0;transform:scale(1.12);box-shadow:none;transition:transform .7s var(--course-ease)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.opening-screen .ribbon-photo:hover img{transform:scale(1.28);box-shadow:none}}
@media(max-width:600px){.ribbon-photo{width:calc((100vw - 32px)/2)}}
@media(prefers-reduced-motion:reduce){.opening-screen .hero-tagline span{clip-path:none}.opening-screen .ribbon-photo img{transition:none}}

/* An instructor-led heading and a quiet gold trace around each course tab. */
.opening-screen .bootcamp-title .instructor-line{display:block;font-size:.53em;font-weight:500;line-height:1.35;letter-spacing:-.015em;margin-top:9px;white-space:normal}
@property --tab-trace-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.course-pathways .button{position:relative;isolation:isolate;border-color:rgba(215,188,133,.55)}
.course-pathways .button::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;background:conic-gradient(from var(--tab-trace-angle),transparent 0deg,transparent 235deg,rgba(215,188,133,.4) 280deg,#f5dfa9 315deg,transparent 350deg);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}
@media(prefers-reduced-motion:no-preference){.course-pathways .button::before{animation:tab-outline-trace 5s linear infinite}.course-pathways .button:nth-child(2)::before{animation-delay:-2.5s}@keyframes tab-outline-trace{to{--tab-trace-angle:360deg}}}
.course-pathways .button:hover::before,.course-pathways .button:focus-visible::before{opacity:0}
@media(prefers-reduced-motion:reduce){.course-pathways .button::before{display:none}}
/* Keep the instructor on the same heading line. */
.opening-screen .bootcamp-title{font-size:clamp(24px,2.6vw,38px);white-space:nowrap}
.opening-screen .bootcamp-title br{display:none}
.opening-screen .bootcamp-title .instructor-line{display:inline;margin-top:0;margin-left:.25em;white-space:nowrap}
@media(max-width:760px){.opening-screen .bootcamp-title{font-size:clamp(17px,3.9vw,29px);letter-spacing:-.035em}}

/* The hands-on percentage rolls once as the residency statistics appear. */
.hands-on-counter{display:inline-flex;align-items:baseline;line-height:1.15}
.hands-on-counter span{font:inherit;color:inherit;letter-spacing:inherit}
.hands-on-counter .rolling-number{display:inline-block;height:1.15em;overflow:hidden;vertical-align:bottom;min-width:2ch;text-align:right;font-variant-numeric:tabular-nums}
.hands-on-counter .number-reel{display:flex;flex-direction:column}
.hands-on-counter .number-reel>span{display:block;flex:none;height:1.15em;line-height:1.15}
/* Photographic cards follow a gentle curved path through the gallery. */
.ribbon-track{position:relative}
.opening-screen .ribbon-group{padding-top:34px;padding-bottom:40px}
.ribbon-photo{border:5px solid #eee9dc;border-radius:18px;background:#eee9dc;box-shadow:0 14px 26px rgba(0,0,0,.25);transform-origin:center;backface-visibility:hidden}
.opening-screen .ribbon-photo img{border-radius:11px}
@media(prefers-reduced-motion:reduce){.ribbon-photo{transform:none!important}}

@media(prefers-reduced-motion:no-preference){.ribbon-photo{transition:transform .18s ease-out}}
/* Compact, configurable residency package. */
.collection{padding-top:42px;padding-bottom:42px}.section-intro{margin-bottom:24px}.section-intro h2,.res-heading h2{font-size:clamp(30px,3vw,42px)}
.res-stats{padding:16px 0;margin-bottom:24px}.residency-builder{display:block;padding:26px;border-radius:16px;background:#fffdf8}.builder-heading,.builder-footer{display:flex;justify-content:space-between;align-items:center;gap:24px}.builder-heading h3{font-size:30px;margin-top:6px}.builder-heading .city-picker{margin:0}.module-choices{margin-top:22px}.module-choice{display:grid;grid-template-columns:1.2fr .75fr 1fr;align-items:center;gap:20px;padding:16px 0;border-top:1px solid var(--line)}.module-choice h4{font-size:16px;font-weight:500;margin:0}.module-choice .meta-label{margin-bottom:3px}.module-choice select{width:100%;min-height:44px;padding:10px 32px 10px 12px;background:var(--paper);color:var(--jade);border:1px solid #9cab9e;border-radius:8px;font:16px 'DM Sans',sans-serif}.module-choice select:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.module-choice>strong{text-align:right;font-size:15px;font-weight:500}.mentorship-note{font-size:14px;padding:14px 0;border-top:1px solid var(--line);color:#536555}.builder-footer{border-top:1px solid var(--line);padding-top:18px}.residency-builder #course-price{font:28px 'Playfair Display',Georgia,serif}.residency-builder .fee-note{font-size:14px;margin:6px 0 0;min-height:0}.payment-details{font-size:14px;margin-top:16px}.payment-details summary,.curriculum-details summary{cursor:pointer;min-height:44px;padding:10px 0}.payment-details p{max-width:700px}.residency{padding-top:40px;padding-bottom:40px}.timeline{margin-top:24px}.timeline button{padding:16px}.curriculum-panel{padding-top:22px}.curriculum-panel :is(h1,h3){font-size:28px}.curriculum-details{margin-top:12px;border-top:1px solid var(--line)}.curriculum-columns{margin-top:12px}.case-examples{margin-top:10px;padding-top:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:760px){.residency-builder{padding:18px}.builder-heading,.builder-footer{align-items:flex-start;flex-direction:column;gap:16px}.builder-heading .city-picker{flex-wrap:wrap}.module-choice{grid-template-columns:1fr 1fr;gap:10px}.module-choice>div{grid-column:1/-1}.module-choice>strong{font-size:14px}.builder-footer .button{width:100%}.timeline button{min-height:110px}.timeline strong{font-size:20px}}

/* Refined heading typography; preserve the inline instructor credit. */
.opening-screen .bootcamp-title{font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:700;letter-spacing:-.035em}
.opening-screen .bootcamp-title .instructor-line{font-family:inherit;font-weight:500;letter-spacing:-.01em}

/* Noho-inspired editorial filmstrip: clean edges, light space and even rhythm. */
.opening-screen .workshop-ribbon{background:var(--paper);padding:0}
.opening-screen .ribbon-group{gap:16px;padding:28px 16px 28px 0}
.ribbon-photo{border:0;border-radius:0;background:transparent;box-shadow:none;transform:none;transition:none}
.opening-screen .ribbon-photo img{border-radius:0;box-shadow:none;transform:scale(1.12)}
.ribbon-track{animation-duration:75s}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.opening-screen .ribbon-photo:hover img{transform:scale(1.24);box-shadow:none}}
@media(max-width:600px){.opening-screen .ribbon-group{gap:12px;padding:20px 12px 20px 0}.ribbon-photo{width:calc((100vw - 24px)/2)}}
/* A cohesive product-page rhythm, inspired by Apple's typography and restraint. */
:root{--product-font:-apple-system,BlinkMacSystemFont,'Helvetica Neue','Segoe UI',Arial,sans-serif}
body{font-family:var(--product-font);-webkit-font-smoothing:antialiased}
h1,h2,h3,.opening-screen .bootcamp-title,.timeline strong,.curriculum-columns h4,.archive-list summary{font-family:var(--product-font);font-weight:600;letter-spacing:-.035em}
.opening-screen .hero-tagline{font-family:var(--product-font);font-weight:600;font-size:clamp(32px,3.65vw,50px)!important;line-height:1.14;letter-spacing:-.04em}
.opening-screen .hero-tagline .tagline-emphasis{font-style:normal;color:var(--gold)}
h2 i,.archive h2 i,.closing h2 i{font-style:normal}
.section-intro h2,.res-heading h2{font-size:clamp(34px,3.8vw,50px);line-height:1.06}
.section-intro p,.res-heading>p{font-size:17px;line-height:1.5;color:#617168}
.collection{background:#f5f5f1;padding-top:48px;padding-bottom:48px}
.res-stats{border:0;gap:12px;padding:0;margin:28px 0}
.res-stats>div{background:#fff;border-radius:20px;padding:20px 22px;gap:8px}
.res-stats strong{font-family:var(--product-font);font-size:44px;font-weight:600;letter-spacing:-.045em}
.res-stats span{font-size:14px}
.residency-builder{background:#fff;border:1px solid rgba(20,59,51,.07);border-radius:24px;padding:28px;box-shadow:0 8px 28px rgba(16,45,40,.035)}
.builder-heading h3{font-size:28px}.residency-builder #course-price{font:600 28px/1.2 var(--product-font);letter-spacing:-.035em}
.module-choice{padding:15px 0}.module-choice select{font-family:var(--product-font);background:#f6f7f4;border-color:#cbd2cc;border-radius:12px;transition:border-color .25s,box-shadow .25s}
.module-choice select:hover{border-color:var(--jade)}
.city-picker{padding:4px;background:#f0f2ee;border-radius:30px;gap:4px}
.city-picker button{border-color:transparent;font-family:var(--product-font);min-height:44px}
.builder-footer .button,.closing .button{border-radius:99px;font-family:var(--product-font)}
.residency{background:#edf0e9;padding-top:48px;padding-bottom:48px}
.timeline{gap:10px}.timeline button{border:1px solid transparent;border-radius:18px;background:rgba(255,255,255,.65);padding:18px;min-height:120px}
.timeline button[aria-pressed=true]{box-shadow:0 8px 18px rgba(16,45,40,.1)}
.timeline strong{font-size:21px;margin:8px 0}.timeline small{opacity:.8}
.curriculum-panel{margin-top:18px;padding:26px;background:#fff;border-radius:22px}
.curriculum-panel :is(h1,h3){font-size:clamp(24px,2.5vw,32px);line-height:1.15}
.curriculum-columns h4{font-size:21px}.module-intro{font-size:16px;max-width:780px}
.archive{padding-top:48px;padding-bottom:48px}.archive-list summary{font-size:22px}
@media(prefers-reduced-motion:no-preference){
.res-stats>div.motion-pending{transform:translateY(18px) scale(.96)}
.res-stats>div.motion-revealed{transform:none;transition-duration:.9s}
.residency-builder.motion-pending{transform:translateY(26px) scale(.985)}
.residency-builder.motion-revealed{transform:none;transition-duration:1s}
.curriculum-details[open] .curriculum-columns,.payment-details[open] p{animation:detail-unfold .4s var(--course-ease) both}
@keyframes detail-unfold{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.timeline button{transition:background .3s,color .3s,box-shadow .3s,transform .35s var(--course-ease)}
.timeline button:hover{transform:translateY(-3px)}
}
@media(max-width:760px){
.opening-screen .hero-tagline{font-size:clamp(30px,7.2vw,42px)!important}
.res-stats>div{padding:18px}.res-stats strong{font-size:38px}
.residency-builder{padding:20px}.curriculum-panel{padding:20px}.timeline button{min-height:110px;padding:14px}
.collection,.residency,.archive{padding-top:36px;padding-bottom:36px}
}

/* Compact 2027 five-day programme, with source brochures on demand. */
.five-day-course{display:block;background:#f5f5f1;padding:42px 6%;scroll-margin-top:90px}.five-day-course[hidden]{display:none}.bootcamp-content{max-width:1320px;margin:auto}.bootcamp-heading{display:flex;justify-content:space-between;gap:20px}.bootcamp-heading h2{font-family:var(--product-font);font-size:clamp(28px,3vw,42px);letter-spacing:-1.2px}.bootcamp-heading p{font-size:16px;line-height:1.5}.bootcamp-heading button{align-self:flex-start;border:0;background:transparent;font:inherit;color:var(--jade);padding:12px;cursor:pointer;white-space:nowrap}.bootcamp-booking{display:grid;grid-template-columns:1fr 1fr auto;gap:26px;align-items:center;background:white;border-radius:20px;padding:24px;margin:8px 0 24px}.bootcamp-booking label{display:grid;gap:8px;font-size:14px}.bootcamp-booking select{width:100%;font:inherit;font-size:16px;padding:12px;border:1px solid #bdc6bf;border-radius:10px;background:#f7f8f6;color:var(--jade)}.bootcamp-booking strong,.bootcamp-booking small{display:block}.bootcamp-booking strong{font-size:26px;letter-spacing:-.7px;margin:6px 0}.bootcamp-booking small{font-size:13px;color:#58695f}.bootcamp-days{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}.bootcamp-days>div{background:#e8ede8;border-radius:16px;padding:18px}.bootcamp-days span{font-size:12px;letter-spacing:1.3px;color:#4b6558}.bootcamp-days h3{font-family:var(--product-font);font-size:17px;line-height:1.35;font-weight:600;margin:12px 0 0}.bootcamp-detail{border-top:1px solid #ccd3cc;padding:16px 0}.bootcamp-detail summary{cursor:pointer;font-size:16px;font-weight:600}.bootcamp-detail p{line-height:1.7;max-width:900px;margin:18px 0 4px}.bootcamp-brochures{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}.bootcamp-brochures a{display:block;font-size:14px;line-height:1.5}.bootcamp-brochures img{display:block;width:100%;height:auto;border-radius:10px;margin-bottom:10px}.bootcamp-quotes{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:20px 0}.bootcamp-quotes blockquote{margin:0;padding:22px;background:white;border-radius:16px;font-size:20px;line-height:1.5}.bootcamp-quotes cite{display:block;font-style:normal;font-size:13px;color:#58695f;margin-top:14px}.five-day-course .bootcamp-contact{font-size:14px;margin:18px 0 0}.bootcamp-contact a{text-decoration:underline}.module-extra-examples{display:flex;flex-wrap:wrap;gap:16px;margin:18px 0;font-size:14px}.module-extra-examples a{text-decoration:underline}@media(max-width:800px){.bootcamp-booking{grid-template-columns:1fr 1fr;gap:20px}.bootcamp-booking .button{grid-column:1/-1;justify-content:center}.bootcamp-days{grid-template-columns:repeat(2,1fr)}.bootcamp-days>div:last-child{grid-column:1/-1}.bootcamp-brochures{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.five-day-course{padding:30px 5%}.bootcamp-heading{gap:8px}.bootcamp-heading h2{font-size:28px}.bootcamp-booking{grid-template-columns:1fr;padding:20px}.bootcamp-booking .button{grid-column:auto}.bootcamp-quotes,.bootcamp-brochures{grid-template-columns:1fr}.bootcamp-days h3{font-size:16px}}

/* Reference direction: architectural arches, mineral colours and warm brass. */
:root{--paper:#f5f1e8;--ink:#283e37;--line:#d8d6c9;--mineral-sage:#bcc7b3;--mineral-blue:#234958;--ochre:#bd9554}
body{background:var(--paper)}
header{border-bottom:1px solid rgba(125,119,98,.16)}
.opening-screen .bootcamp-title{font-weight:600;letter-spacing:-.045em}
.opening-screen .bootcamp-title .instructor-line{font-weight:400;color:#e4c997}
.opening-screen .hero-tagline .tagline-emphasis{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-style:italic;letter-spacing:-.025em;font-size:1.18em;line-height:1.12;color:#ead3a7}
.opening-screen .course-pathways .button{border-radius:999px;padding-inline:24px}
.opening-screen .workshop-ribbon{background:#343c36;margin:0 20px 20px;border-radius:28px;overflow:hidden;border:1px solid #576052}
.opening-screen .ribbon-group{gap:22px;padding:24px 22px 24px 0}
.opening-screen .ribbon-photo{width:calc((min(100vw,1600px) - 106px)/3);aspect-ratio:1.85;border:1px solid rgba(232,216,177,.38);border-radius:46% 46% 18px 18px;background:#283c34;box-shadow:0 8px 18px #0002;transform:translateZ(0);transition:box-shadow .6s ease}
.opening-screen .ribbon-photo img{border-radius:0;transform:scale(1.12);transition:transform 1s cubic-bezier(.22,.61,.36,1),filter 1s ease;filter:saturate(.87)}
.opening-screen .ribbon-photo:nth-child(3n+2){border-color:#b5c7b3}
.opening-screen .ribbon-photo:nth-child(3n){border-color:#bfa36e}
.collection{background:#eeeade}
.section-intro h2 i,.res-heading h2 i,.archive h2 i{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;letter-spacing:-.02em;color:#597060}
.res-stats{gap:14px}.res-stats>div{border:1px solid #d6d6c9;border-radius:36px 36px 16px 16px;background:#f9f7f0;box-shadow:none}
.res-stats>div:nth-child(2){background:#dce3d5}.res-stats>div:nth-child(3){background:#e6dfcc}.res-stats>div:nth-child(4){background:#dce5e7}
.residency-builder{background:#fcfaf4;border:1px solid #d0d3c3;border-radius:26px;box-shadow:0 12px 36px #35443908}
.builder-heading h3{font-weight:500}.module-choice select{background:#f1f2e9;border-color:#b5bfaf}
.residency{background:#f7f4ed}.timeline{gap:14px}.timeline button{position:relative;overflow:hidden;border-radius:30px 30px 14px 14px;border:1px solid #bdc7b7;background:#e3e8dc;padding-top:24px}
.timeline button:nth-child(2){background:#e8deca;border-color:#c4b590}.timeline button:nth-child(3){background:#dce6e8;border-color:#aac0c6}.timeline button:nth-child(4){background:#e5e5d8;border-color:#bdbeaa}
.timeline button[aria-pressed="true"]{background:#21493f;color:#fff7e8;border-color:#c7aa70;box-shadow:inset 0 -3px #c7aa70,0 8px 20px #1f3f3214}
.timeline button[aria-pressed="true"] span,.timeline button[aria-pressed="true"] small{color:#e5d5b0}
.curriculum-panel{background:#fcfaf5;border:1px solid #dedccf;border-radius:24px}
.five-day-course{background:#eeeade}.bootcamp-booking{background:#fcfaf5;border:1px solid #d6d6c9;border-radius:24px}.bootcamp-days>div{background:#dce3d5;border-radius:28px 28px 14px 14px;padding-top:23px}.bootcamp-days>div:nth-child(2n){background:#e8deca}.bootcamp-days>div:nth-child(3){background:#dce6e8}.bootcamp-quotes blockquote{background:#fcfaf5;border-left:2px solid #bd9554}.bootcamp-brochures img{border-radius:16px;border:1px solid #d6d0bc}
.archive{background:#e8e8dc}.archive-list details{border-color:#bec8b7}
@media(hover:hover) and (pointer:fine){.timeline button:hover{box-shadow:0 8px 20px #223f321a}.opening-screen .ribbon-photo:hover{box-shadow:0 12px 24px #0003}.opening-screen .ribbon-photo:hover img{transform:scale(1.23);filter:saturate(1)}}
@media(max-width:760px){.opening-screen .workshop-ribbon{margin:0 10px 12px;border-radius:22px}.opening-screen .ribbon-group{gap:14px;padding:18px 14px 18px 0}.opening-screen .ribbon-photo{width:calc((100vw - 48px)/2);aspect-ratio:1.25;border-radius:46% 46% 12px 12px}.opening-screen .hero-tagline .tagline-emphasis{font-size:1.12em}.res-stats>div{border-radius:24px 24px 12px 12px}.timeline{gap:10px}.timeline button{border-radius:24px 24px 12px 12px}}
@media(prefers-reduced-motion:reduce){.opening-screen .ribbon-photo,.opening-screen .ribbon-photo img{transition:none}.opening-screen .ribbon-photo:hover img{transform:scale(1.12)}}

/* Reserve space between the glass and the slideshow at every viewport size. */
.opening-screen{grid-template-rows:minmax(min-content,1fr) auto;row-gap:8px}
.opening-screen .hero{min-height:min-content;padding-bottom:32px}
.opening-screen .jar-scene{padding-bottom:12px}
@keyframes jar-depth{from{transform:translateY(0) scale(1)}to{transform:translateY(0) scale(.94)}}
@media(max-width:760px){.opening-screen{row-gap:6px}.opening-screen .hero{padding-bottom:24px}.opening-screen .jar-scene{padding-bottom:10px}}

/* Stained-glass light, fine orbital lines and mosaic details from the references. */
.opening-screen .jar-scene::before{content:"";position:absolute;inset:7% 52px 10% 0;border:1px solid rgba(225,205,161,.3);border-radius:50%;pointer-events:none;z-index:2}
.opening-screen .jar-scene::after{content:"";position:absolute;width:8px;height:8px;right:calc(52px + 5%);top:25%;border-radius:50%;background:#ecd9b1;box-shadow:0 0 14px #d7bc8580;pointer-events:none;z-index:2}
.course-pathways .button{background:rgba(250,244,222,.06);box-shadow:inset 0 1px rgba(255,255,255,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.collection,.residency{position:relative;isolation:isolate}
.collection::before,.residency::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(90deg,#eeeade 45%,rgba(238,234,222,.89) 75%,rgba(238,234,222,.68)),url('design/mosaic-glass.webp');background-size:cover;background-position:center}
.residency::before{background-image:linear-gradient(90deg,rgba(247,244,237,.86),#f7f4ed 38%),url('design/mosaic-glass.webp');background-position:left center}
.res-stats>div{background:rgba(255,253,246,.83);border-color:#c6cbbd;box-shadow:inset 0 1px #fff,0 8px 24px #263d2c08}
.res-stats>div:nth-child(2){background:rgba(220,230,211,.88)}.res-stats>div:nth-child(3){background:rgba(235,221,191,.88)}.res-stats>div:nth-child(4){background:rgba(214,228,228,.88)}
.residency-builder{position:relative;overflow:hidden;border-top:0;padding-top:40px;background:rgba(253,251,245,.96)}
.residency-builder::before{content:"";position:absolute;inset:0 0 auto;height:12px;background:url('design/mosaic-glass.webp') center 52%/cover;pointer-events:none}
.curriculum-panel{box-shadow:0 14px 40px rgba(35,59,46,.045)}
.timeline button>span{display:inline-flex;align-items:center;gap:8px}.timeline button>span::before{content:"";width:6px;height:6px;border:1px solid currentColor;border-radius:50%}.timeline button[aria-pressed=true]>span::before{background:var(--gold);border-color:var(--gold)}
.bootcamp-booking{box-shadow:inset 0 1px white,0 10px 26px #33472f08}
.bootcamp-quotes blockquote{position:relative;border-radius:24px 24px 24px 4px;box-shadow:0 8px 24px #283e3708}
.opening-screen .workshop-ribbon{position:relative;background-image:linear-gradient(#293c32db,#293c32db),url('design/mosaic-glass.webp');background-size:cover;background-position:center 48%}
.opening-screen .ribbon-photo{border-color:rgba(236,217,177,.58)}
@media(prefers-reduced-motion:no-preference){.opening-screen .jar-scene::after{animation:glass-light 6s ease-in-out infinite}@keyframes glass-light{0%,100%{opacity:.4}50%{opacity:1}}}
@media(max-width:760px){.collection::before{background-image:linear-gradient(90deg,#eeeade 25%,rgba(238,234,222,.89)),url('design/mosaic-glass.webp')}.opening-screen .jar-scene::before{right:50px}.opening-screen .jar-scene::after{right:calc(50px + 5%)}.residency-builder{padding-top:32px}}

/* Restore the unframed glass and extend the mosaic finishing. */
.opening-screen .jar-scene::before,.opening-screen .jar-scene::after{content:none;display:none;animation:none}
.residency-builder::before{height:40px;background-position:center 48%}
.residency-builder{padding-top:66px}
.opening-screen .workshop-ribbon{background-image:linear-gradient(#293c32a6,#293c32a6),url('design/mosaic-glass.webp')}
.opening-screen .ribbon-group{padding-top:32px;padding-bottom:32px}
.bootcamp-booking,.archive,.closing{position:relative;isolation:isolate}
.bootcamp-booking{overflow:hidden;padding-top:62px}
.bootcamp-booking::before,.archive::before,.closing::before{content:"";position:absolute;inset:0 0 auto;height:38px;background:url('design/mosaic-glass.webp') center 38%/cover;pointer-events:none}
.archive{padding-top:100px}.archive::before{height:48px;background-position:center 66%}
.closing{padding-top:110px}.closing::before{height:54px;background-position:center 52%}
@media(max-width:760px){.residency-builder{padding-top:52px}.residency-builder::before{height:32px}.opening-screen .ribbon-group{padding-top:24px;padding-bottom:24px}.bootcamp-booking{padding-top:54px}.bootcamp-booking::before{height:30px}.archive{padding-top:78px}.archive::before{height:36px}.closing{padding-top:90px}.closing::before{height:40px}}

/* A tactile city-ticket planner with three module destinations. */
.residency-builder .builder-heading h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(32px,3.3vw,46px);line-height:1.12}
.planner-instruction{font-size:15px;color:#536555;margin:14px 0 18px}
.city-tickets{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.city-ticket{display:flex;align-items:center;gap:12px;min-height:92px;padding:16px;border:1px solid #bdc6b8;border-radius:16px;background:#e3e9dc;color:var(--jade);text-align:left;cursor:grab;touch-action:auto;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;box-shadow:0 5px 0 #d0d7c9;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.city-ticket:nth-child(2){background:#eee3ce;box-shadow:0 5px 0 #ddd0b5}.city-ticket:nth-child(3){background:#dce7e9;box-shadow:0 5px 0 #c8d7da}.city-ticket:nth-child(4){background:#e9e3d9;box-shadow:0 5px 0 #d9d2c7}
.ticket-code{font-size:23px;font-weight:600;letter-spacing:-1px;border-right:1px dashed #9ba990;padding-right:12px}.city-ticket strong{font-size:15px;display:block}.city-ticket small{font-size:12px;display:block;color:#536555;margin-top:3px}.ticket-grip{margin-left:auto;color:#637960;font-size:23px}
.city-ticket[aria-pressed=true]{border-color:#976d2e;outline:2px solid #c9aa6d;outline-offset:3px;transform:translateY(-3px)}
.planner-status{font-size:14px;color:#526951;min-height:24px;margin:20px 0 10px}
.residency-builder .journey-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 20px}
.residency-builder .module-choice{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:13px;padding:22px;background:#f6f4ec;border:1px solid #cbd1c3;border-radius:22px;min-width:0;transition:border-color .2s,background .2s,box-shadow .2s}
.module-step{font-family:'Cormorant Garamond',Georgia,serif;font-size:38px;line-height:1;color:#89967a}.module-choice h4{min-height:44px}.residency-builder .module-choice>strong{text-align:left;font-size:14px}.residency-builder .module-choice select{background:#fffdf7;border-radius:12px;font-family:var(--product-font);font-size:16px}
.place-city{min-height:40px;border:1px dashed #a5b297;border-radius:10px;background:transparent;color:var(--jade);font-size:14px;margin-top:auto;padding:7px 10px}.place-city:disabled{opacity:.45;cursor:default}.place-city:not(:disabled){background:#e3ebd9;border-style:solid}
.module-choice.drop-eligible{border-color:#8ea277}.module-choice.drop-over{border:2px solid #a98947;padding:21px;background:#e8efdf;box-shadow:0 0 0 5px #cdb77925}.module-choice.drop-unavailable{opacity:.55}
.city-drag-ghost{position:fixed;z-index:10000;pointer-events:none;background:var(--jade);color:#fff8e9;border:1px solid var(--gold);border-radius:14px;padding:12px 20px;font-size:17px;font-weight:600;box-shadow:0 12px 30px #0003;transform:translate(-50%,-120%) rotate(-4deg)}
.city-ticket.drag-active{opacity:.5;cursor:grabbing}.residency-builder .mentorship-note{border-radius:12px;padding:14px 18px;background:#e6eadd;border:0}
@media(hover:hover){.city-ticket:hover{transform:translateY(-3px)}.place-city:not(:disabled):hover{background:#cfdcbd}}
@media(max-width:1050px){.city-tickets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.residency-builder .journey-board{grid-template-columns:1fr;gap:14px}.residency-builder .module-choice{display:grid;grid-template-columns:42px 1fr;gap:10px 14px;padding:18px}.module-choice .module-step{grid-column:1;grid-row:1/3}.residency-builder .module-choice>div,.residency-builder .module-choice>label,.residency-builder .module-choice>strong,.residency-builder .module-choice>.place-city{grid-column:2}.module-choice h4{min-height:0}.city-ticket{padding:12px;gap:9px;min-height:82px}.ticket-code{font-size:20px;padding-right:9px}.city-ticket strong{font-size:14px}.ticket-grip{display:none}.residency-builder .module-choice.drop-over{padding:17px}.planner-status{font-size:14px}}
@media(prefers-reduced-motion:reduce){.city-ticket,.residency-builder .module-choice{transition:none}}

/* The dropped city is the focal point of each module. */
.residency-builder .module-choice .placed-location{display:flex;flex-direction:column;justify-content:center;gap:8px;min-height:108px;padding:18px 14px;background:#e3e9dc;border:1px solid #becbb3;border-radius:14px;text-align:center}
.placed-city-label{font-size:11px;letter-spacing:1.8px;color:#536555;font-weight:500}
.residency-builder .placed-location strong{font-family:var(--product-font);font-size:clamp(25px,2.7vw,38px);font-weight:600;letter-spacing:-1.3px;line-height:1.2;color:var(--jade);overflow-wrap:anywhere}
.residency-builder .module-choice>strong[data-date]{text-align:center}
.residency-builder .module-choice.drop-over .placed-location{background:#d6e3c9;border-color:#a98947}
@media(max-width:760px){.residency-builder .module-choice .placed-location{min-height:90px;padding:14px 10px}.residency-builder .placed-location strong{font-size:32px}.residency-builder .module-choice>strong[data-date]{font-size:14px}}

/* Residency overview and confirmed city instalments. */
.residency-overview{max-width:940px;margin:0 0 24px;padding:22px 26px;border-left:3px solid var(--gold);background:#fbf9f0de;border-radius:0 18px 18px 0}
.residency-overview h3{font-size:clamp(23px,2.2vw,30px);line-height:1.25;margin:10px 0}.residency-overview h3 span{font-size:.7em;white-space:nowrap;font-weight:400}.residency-overview .residency-motto{font-family:'Cormorant Garamond',Georgia,serif;font-size:27px;font-weight:600;color:#55705d;margin:8px 0}.residency-overview p{font-size:16px;line-height:1.6}
.residency-fee-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:14px 0}.residency-fee-cards article{padding:24px;background:#f4f2e8;border:1px solid #ccd3c1;border-radius:18px}.residency-fee-cards h4{font-size:24px;margin:8px 0}.residency-total{font-size:30px;font-weight:600}.residency-total small{font-size:16px;font-weight:400}.residency-fee-cards dl{margin:18px 0}.residency-fee-cards dl>div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid #d7dccf}.residency-fee-cards dt small{display:block;font-size:12px;color:#536555}.residency-fee-cards dd{margin:0;white-space:nowrap}.residency-fee-cards .button{width:100%;justify-content:center;font-size:14px}.residency-info-contact{font-size:14px;margin-top:20px;overflow-wrap:anywhere}.residency-info-contact a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.residency-fee-cards{grid-template-columns:1fr}.residency-overview{padding:18px}.residency-fee-cards article{padding:18px}}

/* Allow GST-inclusive instalments to wrap cleanly on phones. */
.residency-fee-cards dd{white-space:normal;text-align:right;font-variant-numeric:tabular-nums}
.residency-total small{display:inline-block;font-size:14px}

/* Emphasise the included clinical mentorship after the location modules. */
.residency-builder .mentorship-note{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin:24px 0;padding:clamp(24px,4vw,44px);background:#173d35;color:#fffdf8;border:1px solid #c7aa64;border-left:6px solid #d9be7e;border-radius:18px;box-shadow:0 12px 28px #173d3512}
.mentorship-note .mentorship-module{font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#ead39c}
.mentorship-note h4{margin:0;font-family:inherit;font-size:clamp(27px,3.2vw,42px);font-weight:750;line-height:1.12;letter-spacing:-.025em;color:#fffdf8}
.mentorship-note .mentorship-included{display:inline-block;padding:8px 14px;border-radius:999px;background:#ead39c;color:#173d35;font-size:14px;font-weight:700;line-height:1.4}
@media(max-width:600px){.mentorship-break{display:none}.residency-builder .mentorship-note{padding:24px 20px;gap:12px}}

/* Quiet editorial motion: a measured entrance, fine lines and lingering image transitions. */
:root{--elegant-ease:cubic-bezier(.22,1,.36,1)}
@media(prefers-reduced-motion:no-preference){
 .opening-screen .hero-copy .bootcamp-title{animation:editorial-arrive 1.35s var(--elegant-ease) .08s both}
 .opening-screen .hero-tagline span{animation:editorial-arrive 1.5s var(--elegant-ease) .3s both;clip-path:none}
 .opening-screen .hero-tagline .tagline-emphasis{animation-delay:.52s}
 .opening-screen .course-pathways{animation:editorial-arrive 1.2s var(--elegant-ease) .78s both}
 .opening-screen .jar-scene{animation:opening-object 1.8s var(--elegant-ease) .25s both}
 @keyframes editorial-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
 .motion-pending{opacity:0;transform:translateY(20px)}
 .motion-revealed,.residency-builder.motion-revealed,.res-stats>div.motion-revealed{transition-duration:1.25s;transition-timing-function:var(--elegant-ease)}
 .mentorship-note.motion-revealed .mentorship-included{animation:editorial-arrive 1.1s var(--elegant-ease) .3s both}
 .opening-screen .ribbon-track{animation-duration:95s}
 .opening-screen .ribbon-photo img{transition:transform 1.7s var(--elegant-ease),filter 1.3s ease}
 .course-pathways .button::before{animation-duration:10s}
 .course-pathways .button:nth-child(2)::before{animation-delay:-5s}
 .button,.timeline button,.city-ticket{transition:background-color .5s ease,color .5s ease,border-color .5s ease,box-shadow .6s ease,transform .65s var(--elegant-ease)}
 .button>span{transition:transform .65s var(--elegant-ease)}
 .text-link{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-size:0 1px;background-position:left bottom;transition:background-size .65s var(--elegant-ease);text-decoration:none;padding-bottom:4px}
 .text-link:hover,.text-link:focus-visible{background-size:100% 1px}
 .bootcamp-brochures a{overflow:hidden}
 .bootcamp-brochures img{transition:transform 1.5s var(--elegant-ease)}
 .curriculum-details[open] .curriculum-columns,.payment-details[open] p{animation-duration:.7s}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .opening-screen .ribbon-photo:hover img{transform:scale(1.23)}
 .bootcamp-brochures a:hover img{transform:scale(1.025)}
 .button:hover>span{transform:translate(3px,-2px)}
}
@media(prefers-reduced-motion:reduce){
 .mentorship-note.motion-pending,.mentorship-note.motion-revealed{opacity:1;transform:none;transition:none}
 .mentorship-included{animation:none!important}
}

/* Keep Module 04 prominent on the natural page background. */
.residency-builder .mentorship-note{background:transparent;color:#173d35;box-shadow:none}
.mentorship-note h4{color:#173d35}
.mentorship-note .mentorship-module{color:#785b27}

/* Always-visible residency fees and registration links. */
.residency-payments{padding-top:24px;border-top:1px solid var(--line);margin-top:28px}
.residency-payments>h3{font-family:inherit;font-size:clamp(24px,2.5vw,32px);line-height:1.2;margin:0 0 8px}
.residency-payments .fees-gst-label{font-size:14px;margin:0 0 18px;color:#536555}

/* Introduce the residency and its four key figures before the module journey. */
.residency-first-slide{margin-bottom:40px}
.residency-first-slide .section-intro{margin-bottom:22px}
.residency-first-slide .residency-overview{max-width:none}
.residency-first-slide .res-stats{margin-bottom:0}
@media(max-width:760px){.residency-first-slide{margin-bottom:28px}}

/* Separate home and course views; hidden content never occupies page space. */
[hidden]{display:none!important}
.course-back-row{padding:24px 6% 0;background:#f7f4ed}
.course-back-row .text-link{display:inline-block;font-size:14px;min-height:40px;padding:10px 0;color:var(--jade)}

/* Match the residency statistics on the five-day course page. */
.bootcamp-stats{grid-template-columns:repeat(2,minmax(0,1fr));max-width:680px;margin:22px 0 28px}

/* A narrower final module tab and one payment card for the selected itinerary. */
.timeline button[data-module="3"]{width:90%;justify-self:start}
.residency-fee-cards.selected-fee-card{grid-template-columns:minmax(0,1fr);max-width:700px}
.selected-fee-card h4{overflow-wrap:anywhere}
.selected-fee-card .button{white-space:normal}
@media(max-width:760px){.timeline button[data-module="3"]{width:94%}}

.bootcamp-stats{grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px}
@media(max-width:500px){.bootcamp-stats{gap:8px}.bootcamp-stats>div{padding:18px 8px}.bootcamp-stats strong{font-size:32px}.bootcamp-stats>div>span{font-size:12px}}

/* Identical typography for all three Boot Camp statistics, including the rolling digits. */
.bootcamp-stats strong{font-family:var(--product-font);font-size:38px;font-weight:600;line-height:1.15;letter-spacing:-.045em}
.bootcamp-stats .hands-on-counter span{font:inherit;letter-spacing:inherit;color:inherit}
.bootcamp-stats .rolling-number{min-width:0}
.bootcamp-days>div{padding:0;overflow:visible}
.bootcamp-days button{display:flex;flex-direction:column;width:100%;height:100%;gap:12px;text-align:left;padding:23px 18px 18px;border:1px solid transparent;border-radius:28px 28px 14px 14px;background:transparent;color:var(--jade);transition:background .3s,color .3s}
.bootcamp-days button strong{font:600 17px/1.35 var(--product-font)}
.bootcamp-days button[aria-pressed="true"]{background:#21493f;color:#fff7e8;border-color:#c7aa70;box-shadow:inset 0 -3px #c7aa70}
.bootcamp-days button[aria-pressed="true"] span{color:#ead39c}
.day-objectives{margin:0 0 24px;padding:24px 28px;background:#fcfaf5;border:1px solid #d6d6c9;border-radius:20px}
.day-objectives h3{font-family:var(--product-font);font-size:24px;line-height:1.25;margin:10px 0 16px}
.day-objectives ul{margin:0;padding-left:20px;line-height:1.7}
.day-objectives li+li{margin-top:6px}
@media(max-width:500px){.bootcamp-stats strong{font-size:32px}.bootcamp-days button{padding:18px 14px}.bootcamp-days button strong{font-size:16px}.day-objectives{padding:20px}}

/* Keep the residency counter identical to the other key figures. */
.res-stats .hands-on-counter span{font:inherit;letter-spacing:inherit;color:inherit}
.res-stats .hands-on-counter .rolling-number{min-width:0}
.selected-fee-dates{list-style:none;padding:0;margin:14px 0 22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.selected-fee-dates li{border-left:2px solid #c7aa70;padding-left:12px}
.selected-fee-dates strong{display:block;font-size:14px;font-weight:600}
.selected-fee-dates span{display:block;font-size:13px;line-height:1.5;margin-top:4px;color:#536555}
@media(max-width:600px){.selected-fee-dates{grid-template-columns:1fr;gap:12px}}

#brochure-viewer{width:min(1150px,94vw);max-height:92dvh;padding:0 20px 20px;border:1px solid #c7aa70;border-radius:18px;background:#fcfaf5;color:#173d35;overflow:auto}
#brochure-viewer::backdrop{background:#102d28cc}
.brochure-toolbar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;background:#fcfaf5}
.brochure-toolbar h2{font:600 18px/1.3 var(--product-font);letter-spacing:0}
.brochure-toolbar button{flex:none;border:1px solid #a7b3a9;border-radius:30px;padding:10px 16px;background:transparent;color:inherit}
#brochure-image{display:block;width:100%;height:auto;margin:0 auto 16px}
#brochure-status{padding:24px 0}
#brochure-original{display:inline-block;font-size:14px;text-decoration:underline}
@media(max-width:600px){#brochure-viewer{padding:0 12px 16px}.brochure-toolbar h2{font-size:15px}}

.brochure-download-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 26px}
.brochure-download-row>span{font-size:13px;color:#536555}
#brochure-viewer,#brochure-image{animation:none;transition:none}

.brochure-view-link{font-size:15px;font-weight:600;color:#244d3a;text-underline-offset:4px;padding:12px 0}.brochure-download-row a:focus-visible{outline:2px solid #a88b45;outline-offset:5px}

#full-brochure-reader{width:min(1100px,96vw);max-height:94dvh;box-sizing:border-box;padding:0 18px 20px;border:1px solid #c7aa70;border-radius:16px;background:#fcfaf5;color:#173d35;overflow:auto;overscroll-behavior:contain}
#full-brochure-reader::backdrop{background:#102d28dd}
.full-brochure-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;background:#fcfaf5}
.full-brochure-toolbar h2{font:600 18px/1.3 var(--product-font);letter-spacing:0;margin:0}
.full-brochure-toolbar button{flex:none;padding:10px 16px;border:1px solid #a7b3a9;border-radius:24px;background:transparent;color:inherit;cursor:pointer}
.full-brochure-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px}
#full-brochure-count{font-size:14px}
#full-brochure-pages figure{margin:0 0 20px}
#full-brochure-pages figcaption{font-size:14px;margin-bottom:8px}
#full-brochure-pages img{display:block;width:100%;height:auto;border-radius:4px}
@media(max-width:600px){#full-brochure-reader{padding:0 10px 14px}.full-brochure-toolbar h2{font-size:16px}.full-brochure-actions .button{padding:13px 18px}}

/* The residency heading receives focus on navigation, without a visible control outline. */
#residency .section-intro h2:focus{outline:none}

.brochure-download-row .brochure-view-link{color:var(--cream,#fcfaf5);padding:16px 24px}
#course-contact{width:min(520px,92vw);box-sizing:border-box;padding:28px;border:1px solid #c7aa70;border-radius:18px;background:#fcfaf5;color:#173d35;max-height:90dvh;overflow:auto}
#course-contact::backdrop{background:#102d28cc}
.contact-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.contact-dialog-heading h2{font:600 25px/1.2 var(--product-font);letter-spacing:-.5px;margin:0}
.contact-dialog-heading button{flex:none;padding:10px 14px;border:1px solid #a7b3a9;border-radius:24px;background:transparent;color:inherit;cursor:pointer}
#course-contact p{font-size:16px;line-height:1.5;margin:20px 0}
.contact-detail{display:block;border-top:1px solid #cbd1c5;padding:20px 0;color:inherit;text-decoration:none}
.contact-detail span{display:block;font-size:14px;margin-bottom:8px}.contact-detail strong{display:block;font-size:clamp(16px,4vw,22px);line-height:1.4;overflow-wrap:anywhere}
.contact-detail:hover strong{text-decoration:underline;text-underline-offset:5px}

/* Larger course choices with enough room to wrap beside the tagline. */
.opening-screen .knowledge-actions{flex-wrap:wrap}
.opening-screen .knowledge-actions .course-pathways{gap:12px;flex-wrap:wrap;max-width:100%}
.opening-screen .knowledge-actions .course-pathways .button{font-size:18px;font-weight:600;min-height:60px;padding:16px 26px;gap:14px}
@media(max-width:760px){.opening-screen .knowledge-actions .course-pathways .button{font-size:17px;min-height:56px;padding:14px 20px}}

.site-header .nav-end{display:flex;align-items:center;gap:12px}
.nav-interest{font:600 14px/1.3 var(--product-font);color:var(--gold);border:1px solid var(--gold);background:transparent;border-radius:4px;min-height:44px;padding:10px 14px;cursor:pointer;white-space:nowrap}
.nav-interest:hover{background:#d7bc851a}
#interest-dialog{width:min(620px,94vw);box-sizing:border-box;max-height:90dvh;overflow:auto;padding:28px;border:1px solid #c7aa70;border-radius:18px;background:#fcfaf5;color:#173d35}
#interest-dialog::backdrop{background:#102d28cc}
#interest-dialog p{font-size:16px;line-height:1.5;margin:18px 0}
.interest-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#interest-form label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600}
#interest-form label span{font-weight:400}
#interest-form input,#interest-form select,#interest-form textarea{box-sizing:border-box;width:100%;min-width:0;min-height:46px;border:1px solid #a7b3a9;border-radius:7px;padding:10px;background:white;color:#173d35;font:16px/1.4 var(--product-font)}
.interest-message{margin-top:16px}#interest-form textarea{resize:vertical}#interest-form .interest-hint,#interest-status{font-size:14px}
@media(max-width:1050px){body>.site-header{grid-template-columns:1fr auto}.site-header .nav-start{display:none}.site-header .brand{text-align:left}}
@media(max-width:760px){.site-header .nav-end{grid-column:1/-1;grid-row:2;justify-self:stretch;justify-content:flex-end}.site-header .nav-end .nav-contact{font-size:14px}.nav-interest{font-size:14px}.site-header .brand{grid-column:1/-1}#interest-dialog{padding:20px}.interest-fields{grid-template-columns:1fr}}

/* One clear module heading replaces the duplicate standalone number. */
.residency-builder .module-choice .meta-label{display:block;font:650 28px/1.2 var(--product-font);letter-spacing:-.5px;text-transform:none;color:var(--jade);margin-bottom:12px}
.timeline button:nth-child(-n+3)>span,.curriculum-panel:nth-of-type(-n+3)>.eyebrow{font:650 22px/1.25 var(--product-font);letter-spacing:0;text-transform:none}
@media(max-width:760px){.residency-builder .module-choice{display:flex;flex-direction:column}.residency-builder .module-choice .meta-label{font-size:26px}}

/* Residency workshop photographs, extracted from the supplied PDF. */
:is(#residency-page,#five-day-course) .course-gallery{margin:0 20px 18px;padding:0;border-radius:24px;background:linear-gradient(#293c32ad,#293c32ad),url('design/mosaic-glass.webp') center/cover;border:1px solid #576052}
.course-gallery .ribbon-group{gap:10px;padding:11px 10px 11px 0}
.course-gallery .ribbon-track{animation-duration:190s}
.course-gallery .ribbon-photo{width:calc((100vw - 100px)*.35/3);height:clamp(110px,14.5vw,175px);flex-shrink:0;overflow:hidden;border:1px solid #d7bc8560;border-radius:11px;background:#1d3028;box-shadow:0 8px 18px #0002}
.course-gallery .ribbon-photo img{width:100%;height:100%;object-fit:contain;border-radius:0;transform:none;transition:transform 1.4s cubic-bezier(.22,.61,.36,1)}
@media(hover:hover){.course-gallery:hover .ribbon-track{animation-play-state:paused}.course-gallery .ribbon-photo:hover img{transform:scale(1.07)}}
@media(max-width:760px){:is(#residency-page,#five-day-course) .course-gallery{margin:0 10px 12px;border-radius:18px}.course-gallery .ribbon-group{gap:6px;padding:7px 6px 7px 0}.course-gallery .ribbon-photo{width:25.2vw;height:130px;border-radius:8px}}
@media(prefers-reduced-motion:reduce){.course-gallery .ribbon-track{animation:none}.course-gallery .ribbon-photo img{transition:none}.course-gallery .ribbon-photo:hover img{transform:none}}

/* Direct module location selection. */
.residency-builder .module-city-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;width:100%}
.residency-builder .module-city-buttons button{flex:1 1 100px;min-height:44px;padding:10px 14px;border:1px solid #8c9a8c;border-radius:12px;background:transparent;color:var(--jade);font:600 15px/1.3 var(--product-font);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.residency-builder .module-city-buttons button:hover{background:#e7e9df;border-color:var(--jade)}
.residency-builder .module-city-buttons button[aria-pressed="true"]{background:var(--jade);border-color:var(--jade);color:var(--paper)}
.residency-builder .module-city-buttons button:focus-visible{outline:2px solid #ab8544;outline-offset:3px}

.residency-first-slide .residency-simple-intro{display:block;max-width:980px;margin-bottom:28px}
.residency-simple-intro h2{font-family:var(--product-font);font-size:clamp(28px,3.3vw,46px);font-weight:600;line-height:1.18;letter-spacing:-.025em;margin:0 0 14px}
.residency-simple-intro h2 span{font-size:.72em;font-weight:400}
.residency-simple-intro .residency-motto{max-width:none;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(23px,2.3vw,30px);line-height:1.3;font-weight:700;color:var(--jade);margin:0}

/* Compact course overviews, with detailed information on demand. */
:is(#five-day-course,#residency-page){font-size:15px}
#five-day-course{padding:14px 5% 24px}
#residency-page .course-back-row{padding:8px 5%;margin:0}
.course-lead-photo{position:relative;max-width:1100px;margin:0 auto 16px;height:clamp(150px,25vh,240px);overflow:hidden;border-radius:14px;background:#24392f}
.course-lead-photo img{display:block;width:100%;height:100%;object-fit:contain}
.course-lead-photo .lead-next{position:absolute;right:10px;bottom:10px;border:1px solid #fff8;border-radius:30px;background:#173c30e6;color:white;font:14px var(--product-font);min-height:36px;padding:6px 12px;cursor:pointer}
#residency-page>.course-lead-photo{margin-left:5%;margin-right:5%;max-width:none}
#residency-page .residency,#residency-page .collection{padding:16px 5%}
#residency-page .residency-first-slide{margin-bottom:14px}
#residency-page .residency-simple-intro{margin-bottom:14px;max-width:900px}
#residency-page .residency-simple-intro h2,#five-day-course .bootcamp-heading h2{font-size:clamp(23px,2.4vw,32px);line-height:1.2;margin:0 0 8px;letter-spacing:-.02em}
#residency-page .residency-simple-intro .residency-motto{font-size:22px;margin:0}
#five-day-course .bootcamp-heading p{font-size:15px;line-height:1.4;margin:0 0 10px}
:is(#five-day-course,#residency-page) .res-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0;padding:0}
#five-day-course .res-stats{grid-template-columns:repeat(3,1fr)}
:is(#five-day-course,#residency-page) .res-stats>div{padding:10px 8px;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:2px}
:is(#five-day-course,#residency-page) .res-stats strong{font:600 28px/1.1 var(--product-font);letter-spacing:-.03em}
:is(#five-day-course,#residency-page) .res-stats>div>span{font-size:13px}
:is(#five-day-course,#residency-page) .brochure-download-row{margin:10px 0;gap:12px;padding:0}
:is(#five-day-course,#residency-page) .button{font-size:14px;min-height:42px;padding:10px 16px}
#five-day-course .bootcamp-booking{padding:12px;margin:12px 0;gap:12px;border-radius:12px}
#five-day-course .bootcamp-booking strong{font-size:21px}
#five-day-course .bootcamp-booking select{padding:8px;font-size:16px}
.course-expand{border-top:1px solid #bdc7bb;margin:8px 0}
.course-expand>summary{padding:14px 2px;cursor:pointer;font:600 16px/1.3 var(--product-font);color:var(--jade)}
:is(#five-day-course,#residency-page) h3{font-size:22px}
#residency-page .section-intro h2,#residency-page .res-heading h2{font-size:28px}
#residency-page .residency-builder{padding:16px}
#residency-page .module-choice{padding:14px;gap:10px}
#residency-page .module-choice .meta-label{font-size:21px}
#residency-page .placed-location strong{font-size:24px}
#residency-page .mentorship-note{padding:16px}
#residency-page .mentorship-note h4{font-size:24px}
#residency-page .timeline button{padding:12px;border-radius:12px}
#residency-page .timeline button>span{font-size:17px}
#residency-page .curriculum-panel{padding:16px}
#residency-page .residency-fee-cards article{padding:16px}
@media(max-width:760px){
.course-lead-photo{height:160px;margin-bottom:12px}
#residency-page .residency,#residency-page .collection{padding-top:8px;padding-bottom:8px}
#residency-page .residency-simple-intro h2,#five-day-course .bootcamp-heading h2{font-size:23px}
#residency-page .residency-simple-intro .residency-motto{font-size:20px}
:is(#five-day-course,#residency-page) .res-stats strong{font-size:24px}
:is(#five-day-course,#residency-page) .res-stats>div{padding:8px 4px}
#five-day-course .bootcamp-booking{grid-template-columns:1fr 1fr;gap:10px}
#five-day-course .bootcamp-booking .button{grid-column:1/-1;padding:8px}
#five-day-course .bootcamp-booking strong{font-size:18px}
#five-day-course .bootcamp-booking #bootcamp-date{font-size:14px}
#residency-page .timeline{grid-template-columns:repeat(2,1fr);gap:8px}
#residency-page .mentorship-note h4{font-size:21px}
#residency-page .residency-builder .module-choice{gap:8px}
}

/* A continuous editorial course story, with the supplied posters always visible. */
html{scroll-behavior:smooth}
#five-day-course,#residency-page,#collection{scroll-margin-top:calc(var(--site-header-height,100px) + 12px)}
#five-day-course{padding:40px 5%;background:#f8f8f5;border-top:1px solid #d6dcd5}
#residency-page{background:#f0f2ed}
#residency-page .residency{padding:40px 5% 16px;background:transparent}
.course-overview-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,4vw,60px);align-items:center;max-width:1200px;margin:0 auto 22px}
.course-poster{display:block;overflow:hidden;border-radius:16px;background:#000;line-height:0;box-shadow:0 16px 45px #18352918}
.course-poster img{display:block;width:100%;height:auto;max-height:640px;object-fit:contain}
.residency-first-slide.course-overview-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.residency-first-slide .course-poster{max-width:430px;justify-self:center}
.course-summary{min-width:0}
#five-day-course .bootcamp-booking{grid-template-columns:1fr 1fr}
#five-day-course .bootcamp-booking .button{grid-column:1/-1;justify-content:center}
:is(#five-day-course,#residency-page) .course-expand{max-width:1200px;margin:12px auto}
#residency-page .collection{background:transparent;padding-top:0}
@media(max-width:760px){
#five-day-course{padding:24px 5%}
#residency-page .residency{padding:24px 5% 10px}
.course-overview-grid,.residency-first-slide.course-overview-grid{grid-template-columns:1fr;gap:18px;margin-bottom:18px}
.course-poster{width:100%;border-radius:10px}
.residency-first-slide .course-poster{max-width:310px;width:100%}
.course-poster img{max-height:none}
#residency-page .residency-simple-intro h2,#five-day-course .bootcamp-heading h2{font-size:23px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Open course information with plain backgrounds. */
#five-day-course .bootcamp-booking::before,#residency-page .residency::before,#residency-page .collection::before,#residency-page .residency-builder::before{content:none;display:none;background:none}
:is(#five-day-course,#residency-page) .course-section-title{font:600 22px/1.3 var(--product-font);letter-spacing:-.02em;margin:20px 0 16px;padding:0;color:var(--jade)}
:is(#five-day-course,#residency-page) section.course-expand{padding-top:12px;margin-top:24px}
:is(#five-day-course,#residency-page) .curriculum-details>.course-section-title,:is(#five-day-course,#residency-page) .case-examples>.course-section-title{font-size:18px;margin:16px 0 12px}
#five-day-course .bootcamp-booking{padding:12px}
#residency-page .residency-builder{padding:16px}

/* Clear course navigation and a lighter editorial reading rhythm. */
body>.site-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.site-header .nav-start{display:flex;align-items:center;gap:16px}
.site-header .nav-start a{font:500 13px/1.2 var(--product-font);position:relative;color:inherit;text-decoration:none}
.site-header .nav-start a::after{content:'';position:absolute;bottom:4px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.site-header .nav-start a:hover::after,.site-header .nav-start a:focus-visible::after{transform:scaleX(1)}
.pamphlet-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:12px 0}
.pamphlet-heading .course-section-title{margin:0!important}
.pamphlet-download{display:inline-flex;align-items:center;gap:20px;min-height:44px;padding:8px 16px;border:1px solid #9aa99b;border-radius:99px;color:var(--jade);font:500 13px/1.2 var(--product-font);text-decoration:none;transition:background .25s,color .25s}
.pamphlet-download:hover{background:var(--jade);color:white}
#residency-page .curriculum-panel{padding-top:24px}
#residency-page .curriculum-panel>h3{max-width:740px;font:600 clamp(21px,2.3vw,29px)/1.2 var(--product-font);letter-spacing:-.035em}
#residency-page .module-intro{font-size:16px;line-height:1.6;max-width:650px}
#residency-page .curriculum-details{border-top:0}
#residency-page .curriculum-columns{gap:30px;margin:24px 0}
#residency-page .curriculum-columns>div{border-top:2px solid #bca171;padding-top:18px}
#residency-page .curriculum-columns h4{font:600 19px/1.3 var(--product-font);letter-spacing:-.025em;margin:0 0 14px}
#residency-page .curriculum-columns ul{list-style:none;padding:0}
#residency-page .curriculum-columns li{position:relative;margin:0;padding:10px 0 10px 19px;font-size:14px;line-height:1.55;border-bottom:1px solid #234c3f12;color:#384e43}
#residency-page .curriculum-columns li::before{content:'';position:absolute;left:0;top:19px;width:5px;height:5px;border-radius:50%;background:#b4955a}
.bootcamp-brochures{gap:22px}
.bootcamp-brochures a{padding-bottom:14px;border-bottom:1px solid #b5bfb2}
.bootcamp-brochures a span{font:500 13px/1.4 var(--product-font)}
.bootcamp-brochures img{transition:transform .35s,box-shadow .35s}
@media(hover:hover){.bootcamp-brochures a:hover img{transform:translateY(-4px);box-shadow:0 12px 24px #153a2620}}
@media(max-width:1150px){body>.site-header{grid-template-columns:1fr auto}.site-header .brand{grid-column:1;grid-row:1;text-align:left}.site-header .nav-end{grid-column:2;grid-row:1}.site-header .nav-start{grid-column:1/-1;grid-row:2;justify-self:center;gap:32px}.site-header .nav-start a{min-height:36px}}
@media(max-width:600px){body>.site-header{padding:10px 5%;gap:4px 8px}.site-header .brand{font-size:19px}.site-header .brand span{font-size:9px;letter-spacing:1.6px}.site-header .nav-end{gap:6px;justify-self:end}.site-header .nav-interest{font-size:11px;padding:8px;max-width:94px;white-space:normal}.site-header .nav-end .nav-contact{font-size:12px;padding:7px 9px}.site-header .nav-contact span{display:none}.site-header .nav-start{width:100%;justify-content:center;gap:26px;border-top:1px solid #ffffff15;margin-top:5px}.site-header .nav-start a{font-size:13px;min-height:40px}#residency-page .curriculum-columns{gap:22px}.pamphlet-heading{gap:10px}.pamphlet-download{font-size:12px;padding:8px 12px}.bootcamp-brochures{grid-template-columns:1fr 1fr;gap:14px}}
@media(prefers-reduced-motion:reduce){.bootcamp-brochures img,.pamphlet-download,.site-header .nav-start a::after{transition:none}}

/* Course titles lead the posters; statistics share a single type scale. */
.site-header .nav-start a{font-size:18px;font-weight:600;min-height:46px}
.site-header .nav-start{gap:24px}
:is(#five-day-course,#residency-page) .course-display-title{max-width:1200px;margin:0 auto 28px;font:600 clamp(30px,3.8vw,52px)/1.12 var(--product-font);letter-spacing:-.04em;color:var(--jade);text-wrap:balance}
#residency-page{border-top:2px solid #b5a17c}
#residency-page .residency{padding-top:40px}
:is(#five-day-course,#residency-page) .res-stats .hands-on-counter span{font:inherit;letter-spacing:inherit;color:inherit}
:is(#five-day-course,#residency-page) .res-stats .hands-on-counter{line-height:1.15}
#residency-page .timeline{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#residency-page .timeline button{width:100%;min-width:0;justify-self:stretch}
#residency-page .timeline button>span{font:600 18px/1.25 var(--product-font);letter-spacing:0}
#residency-page .curriculum-columns h4{font-size:23px}
#residency-page .curriculum-columns li{font-size:17px;line-height:1.6}
#five-day-course .day-objectives li{font-size:17px;line-height:1.6}
@media(max-width:760px){
.site-header .nav-start a{font-size:16px}
.site-header .nav-start{gap:22px}
:is(#five-day-course,#residency-page) .course-display-title{font-size:30px;margin-bottom:22px}
#residency-page .timeline{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:10px;padding-bottom:10px;scroll-snap-type:x proximity}
#residency-page .timeline button{flex:0 0 155px;scroll-snap-align:start}
#residency-page .curriculum-columns h4{font-size:21px}
#residency-page .curriculum-columns li,#five-day-course .day-objectives li{font-size:16px}
}

/* Prominent five-day city, date, fee and enquiry controls. */
#five-day-course .bootcamp-booking{padding:24px;gap:24px 20px;margin:22px 0;border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#five-day-course .bootcamp-booking label{font-size:18px;font-weight:500;gap:12px}
#five-day-course .bootcamp-booking select{font-size:20px;min-height:56px;padding:13px 32px 13px 14px;border-radius:10px}
#five-day-course .bootcamp-booking #bootcamp-date{display:block;font-size:19px;line-height:1.4}
#five-day-course .bootcamp-booking #bootcamp-price{font:600 clamp(25px,2.4vw,32px)/1.25 var(--product-font);letter-spacing:-.025em;margin:10px 0 0}
#five-day-course .bootcamp-booking .button{font-size:18px;line-height:1.4;min-height:58px;padding:15px 20px;text-align:center;white-space:normal}
@media(max-width:760px){#five-day-course .bootcamp-booking{padding:20px;gap:20px;grid-template-columns:1fr}#five-day-course .bootcamp-booking .button{grid-column:1;padding:14px 16px}#five-day-course .bootcamp-booking #bootcamp-price{font-size:28px}}

/* All course objectives: two typography steps larger. */
#five-day-course .day-objectives-panel .eyebrow{font-size:16px;line-height:1.5}
#five-day-course .day-objectives-panel h3{font-size:26px;line-height:1.3}
#five-day-course .day-objectives-panel li{font-size:21px;line-height:1.6}
@media(max-width:760px){#five-day-course .day-objectives-panel li{font-size:20px}}

#residency-page .curriculum-panel>.eyebrow{font-size:20px;line-height:1.5}
#residency-page .curriculum-panel>h3{font-size:clamp(25px,2.3vw + 4px,33px);line-height:1.3}
#residency-page .curriculum-columns h4{font-size:27px;line-height:1.3}
#residency-page .curriculum-columns li{font-size:21px;line-height:1.6}
@media(max-width:760px){#residency-page .curriculum-columns h4{font-size:25px}#residency-page .curriculum-columns li{font-size:20px}}

/* Looping course reel beside the five-day booking details. */
#five-day-course .course-video{width:100%;max-width:360px;justify-self:center;background:#000;aspect-ratio:9/16}
#five-day-course .course-video video{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}
@media(max-width:760px){#five-day-course .course-video{max-width:300px}}

/* Clearly visible bullet markers throughout the residency objectives. */
#residency-page .curriculum-columns li{padding-left:28px}
#residency-page .curriculum-columns li::before{width:10px;height:10px;top:calc(10px + .8em - 5px);background:var(--jade);border-radius:50%}

/* A compact editorial rhythm, with quiet motion and readable objectives. */
#residency-page .curriculum-panel{padding:18px 0 0}
#residency-page .curriculum-panel>.eyebrow,#five-day-course .day-objectives-panel .eyebrow{font:500 12px/1.4 var(--product-font);letter-spacing:.09em}
#residency-page .curriculum-panel>h3,#five-day-course .day-objectives-panel h3{font:600 clamp(22px,2vw,28px)/1.2 var(--product-font);letter-spacing:-.025em;margin:8px 0 12px}
#residency-page .module-intro{font-size:15px;line-height:1.5;margin:0 0 12px}
#residency-page .curriculum-columns{gap:32px;margin:16px 0}
#residency-page .curriculum-columns>div{border-top:1px solid #afbaa9;padding-top:12px}
#residency-page .curriculum-columns h4{font:600 18px/1.3 var(--product-font);letter-spacing:-.01em;margin:0 0 8px}
#residency-page .curriculum-columns li,#five-day-course .day-objectives-panel li{font:400 16px/1.5 var(--product-font);letter-spacing:0;color:#263d33}
#residency-page .curriculum-columns li{padding:5px 0 5px 16px;border-bottom:0;margin:0}
#residency-page .curriculum-columns li::before{width:5px;height:5px;top:14px;background:#486251}
#five-day-course .day-objectives{padding:20px 24px;border:0;border-radius:14px;background:#fff;margin-bottom:20px}
#five-day-course .day-objectives-panel ul{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px;padding-left:19px}
#five-day-course .day-objectives-panel li+li{margin-top:0}
#five-day-course .bootcamp-days{gap:8px;margin-bottom:14px}
#five-day-course .bootcamp-days>div,#five-day-course .bootcamp-days button{border-radius:10px}
#five-day-course .bootcamp-days button{padding:14px;gap:7px}
#five-day-course .bootcamp-days button strong{font-size:15px;line-height:1.35}
#residency-page .res-heading{gap:12px;margin-bottom:12px}
#residency-page .res-heading h2{font:600 25px/1.2 var(--product-font);letter-spacing:-.025em}
#residency-page .res-heading h2 br{display:none}
#residency-page .res-heading h2 i{font-style:normal}
#residency-page .res-heading>p{display:none}
#residency-page .timeline{margin:16px 0 10px}
#residency-page .timeline button{min-height:110px;padding:14px}
#residency-page .timeline strong{font:500 16px/1.3 var(--product-font);margin:8px 0}
#residency-page .case-examples{margin-top:18px;padding-top:12px}
#residency-page .case-examples>a{max-width:200px;margin:12px 0}
#residency-page .case-examples img{max-width:200px}
#five-day-course .bootcamp-brochures{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
#five-day-course .bootcamp-detail p{font-size:13px;margin:8px 0;line-height:1.5}
@media(max-width:760px){
#residency-page .curriculum-columns{gap:20px}
#five-day-course .day-objectives{padding:18px}
#five-day-course .day-objectives-panel ul{grid-template-columns:1fr;gap:7px}
#five-day-course .bootcamp-days{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:6px}
#five-day-course .bootcamp-days>div{flex:0 0 145px;scroll-snap-align:start}
#five-day-course .bootcamp-brochures{display:flex;overflow-x:auto;gap:14px;padding:4px 0 12px;scroll-snap-type:x proximity}
#five-day-course .bootcamp-brochures>a{flex:0 0 180px;scroll-snap-align:start}
#residency-page .timeline button{min-height:100px}
}
@media(prefers-reduced-motion:no-preference){
.day-objectives-panel:not([hidden]),.curriculum-panel:not([hidden]) .curriculum-columns>div{animation:objective-arrive .45s cubic-bezier(.22,1,.36,1) both}
.curriculum-panel:not([hidden]) .curriculum-columns>div:nth-child(2){animation-delay:.06s}
@keyframes objective-arrive{from{opacity:.25;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
}

/* Main slide gives the glass room to breathe after removing course buttons. */
.opening-screen .jar-hero{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.opening-screen .jar-scene{width:100%;max-width:min(450px,42vw);justify-self:center}
@media(max-width:760px){.opening-screen .jar-hero{grid-template-columns:1fr;gap:12px}.opening-screen .jar-scene{width:min(88vw,390px);max-width:none;justify-self:center;margin:0 auto}.opening-screen .jar-animation{width:100%;margin:0}.opening-screen .hero{padding-bottom:14px}}

/* Restore the original jade opening slide and its seamless jar edge. */
.opening-screen{background:var(--jade)}
.opening-screen .hero{background:var(--jade)}
.opening-screen .hero::before{content:none}
.opening-screen .jar-animation{background:var(--jade);mask-image:none;-webkit-mask-image:none}
.opening-screen .jar-animation::after{display:block}
.opening-screen .bootcamp-title{font-size:clamp(28px,3.05vw,44px);letter-spacing:-.038em;text-shadow:0 2px 22px rgba(14,39,31,.3)}
@media(prefers-reduced-motion:no-preference){.opening-screen .hero-copy .bootcamp-title{animation:title-unveil 1.45s var(--elegant-ease) .08s both}@keyframes title-unveil{from{opacity:0;transform:translateY(18px);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}}
@media(max-width:760px){.opening-screen .bootcamp-title{font-size:clamp(20px,4.5vw,32px);white-space:normal;line-height:1.13}}
@media(prefers-reduced-motion:reduce){.opening-screen .hero-copy .bootcamp-title{animation:none;filter:none}}

/* Two cinematic program choices: a scroll reveal and a quiet photographic push. */
.program-portal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:2px;background:#d4c5ab}
.program-portal-card{position:relative;display:flex;align-items:end;min-height:clamp(320px,37vw,510px);overflow:hidden;isolation:isolate;color:#fffaf0;background:#263d36}
.program-portal-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,29,26,.12) 12%,rgba(13,29,26,.46) 50%,rgba(13,29,26,.92) 100%);transition:background .7s}
.program-portal-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;z-index:-2;opacity:.7;transform:scale(1.025);transition:transform 1.3s var(--elegant-ease),opacity 1s ease}
.program-portal-card:first-child img{object-position:center 42%}
.portal-copy{display:flex;flex-direction:column;width:100%;padding:clamp(24px,4vw,52px);gap:15px}
.portal-index{font:600 13px/1.3 var(--product-font);letter-spacing:.14em;color:#e9d4a7}
.portal-copy strong{font:600 clamp(40px,5.4vw,76px)/.98 var(--product-font);letter-spacing:-.055em;text-wrap:balance}
.portal-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #fff9;padding-top:15px;font:500 16px/1.3 var(--product-font)}
.portal-foot span{display:grid;place-items:center;width:40px;height:40px;border:1px solid #fffb;border-radius:50%;font-size:22px;transition:transform .6s var(--elegant-ease),background .4s}
.program-portal-card:hover img,.program-portal-card:focus-visible img{transform:scale(1.09);opacity:.84}
.program-portal-card:hover .portal-foot span,.program-portal-card:focus-visible .portal-foot span{transform:translate(4px,-4px);background:#ffffff2b}
.program-portal-card:focus-visible{outline:4px solid #e9d4a7;outline-offset:-4px;z-index:1}
@media(prefers-reduced-motion:no-preference){.program-portal-card.motion-pending{opacity:0;transform:translateY(35px) scale(.97)}.program-portal-card.motion-revealed{opacity:1;transform:none;transition:opacity 1s var(--elegant-ease) var(--reveal-delay,0ms),transform 1s var(--elegant-ease) var(--reveal-delay,0ms)}}
@media(max-width:760px){.program-portal{grid-template-columns:1fr}.program-portal-card{min-height:280px}.program-portal-card img{object-position:center 38%}.portal-copy{padding:25px}.portal-copy strong{font-size:clamp(39px,10vw,54px)}.portal-foot{font-size:15px}}
@media(prefers-reduced-motion:reduce){.program-portal-card img,.portal-foot span{transition:none}.program-portal-card.motion-pending,.program-portal-card.motion-revealed{opacity:1;transform:none}}

/* Gallery-inspired choreography: image settles, type comes into focus, rule draws across. */
.program-portal-card .portal-index,.program-portal-card .portal-copy strong,.program-portal-card .portal-foot{display:block;transition:opacity .9s var(--elegant-ease),transform .9s var(--elegant-ease),filter .9s var(--elegant-ease)}
.program-portal-card .portal-foot{display:flex}
.program-portal-card .portal-foot{border-top:0;padding-top:16px;background:linear-gradient(#fff9,#fff9) left top/100% 1px no-repeat;transition:opacity .9s var(--elegant-ease),transform .9s var(--elegant-ease),filter .9s var(--elegant-ease),background-size 1.1s var(--elegant-ease)}
@media(prefers-reduced-motion:no-preference){
 .program-portal-card.motion-pending img{transform:scale(1.16);opacity:.28}
 .program-portal-card.motion-revealed img{transition:transform 1.6s var(--elegant-ease) .12s,opacity 1.2s ease .12s}
 .program-portal-card.motion-pending .portal-index,.program-portal-card.motion-pending .portal-copy strong,.program-portal-card.motion-pending .portal-foot{opacity:0;transform:translateY(28px);filter:blur(7px)}
 .program-portal-card.motion-pending .portal-foot{background-size:0 1px}
 .program-portal-card.motion-revealed .portal-index{transition-delay:.18s}
 .program-portal-card.motion-revealed .portal-copy strong{transition-delay:.29s}
 .program-portal-card.motion-revealed .portal-foot{transition-delay:.42s}
 .program-portal-card.motion-revealed .portal-foot{transition-delay:.42s,.42s,.42s,.48s}
 :is(#five-day-course,#residency-page) .course-display-title.motion-pending{opacity:0;transform:translateY(25px);filter:blur(8px)}
 :is(#five-day-course,#residency-page) .course-display-title.motion-revealed{opacity:1;transform:none;filter:blur(0);transition:opacity 1s var(--elegant-ease),transform 1s var(--elegant-ease),filter 1s var(--elegant-ease)}
}
@media(prefers-reduced-motion:reduce){.program-portal-card .portal-index,.program-portal-card .portal-copy strong,.program-portal-card .portal-foot{transition:none!important;filter:none!important}}

/* Program panels recede gently until the visitor focuses on one. */
.program-portal-card img{opacity:.43;filter:grayscale(.42) saturate(.75);transition:transform 1.3s var(--elegant-ease),opacity .8s ease,filter .8s ease}
.program-portal-card.motion-revealed img{transition:transform 1.6s var(--elegant-ease) .12s,opacity .8s ease,filter .8s ease}
.program-portal-card:hover img,.program-portal-card:focus-visible img{opacity:.91;filter:none;transform:scale(1.08)}
.program-portal-card:nth-child(2) img{object-position:center top}
.program-portal-card:nth-child(2)::after{background:linear-gradient(180deg,rgba(13,29,26,.28) 0%,rgba(13,29,26,.25) 30%,rgba(13,29,26,.9) 100%)}

/* A restrained 3D carousel for genuine workshop photographs. */
.course-orbit{display:grid;grid-template-columns:minmax(210px,.65fr) minmax(0,1.35fr);align-items:center;gap:20px;min-height:425px;padding:34px 6%;overflow:hidden;background:#17352f;color:#f7f4ec;border-top:1px solid #bbad80}
.orbit-heading{align-self:center;max-width:370px}
.orbit-heading span{display:block;color:#dcc58d;font:600 12px/1.4 var(--product-font);letter-spacing:.16em;margin-bottom:16px}
.orbit-heading strong{display:block;font:600 clamp(32px,3.7vw,54px)/1.05 var(--product-font);letter-spacing:-.045em}
.orbit-viewport{height:350px;display:grid;place-items:center;perspective:950px;overflow:visible;contain:layout}
.orbit-ring{position:relative;width:170px;height:230px;transform-style:preserve-3d;animation:course-orbit-turn 32s linear infinite}
.orbit-photo{position:absolute;inset:0;border:1px solid #d2bc8e88;border-radius:8px;overflow:hidden;backface-visibility:hidden;transform:rotateY(calc(var(--i)*60deg)) translateZ(245px);background:#132f2b;box-shadow:0 12px 28px #06120e55}
.orbit-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.course-orbit:hover .orbit-ring,.course-orbit:focus-within .orbit-ring{animation-play-state:paused}
@keyframes course-orbit-turn{from{transform:rotateY(0)}to{transform:rotateY(-360deg)}}
@media(max-width:760px){.course-orbit{grid-template-columns:1fr;gap:8px;padding:30px 5% 18px;min-height:0}.orbit-heading{max-width:none;text-align:center}.orbit-heading span{margin-bottom:6px}.orbit-heading strong{font-size:clamp(29px,7vw,40px)}.orbit-viewport{height:280px;perspective:700px}.orbit-ring{width:120px;height:165px}.orbit-photo{transform:rotateY(calc(var(--i)*60deg)) translateZ(160px)}}
@media(prefers-reduced-motion:reduce){.orbit-viewport{height:auto;display:block;overflow-x:auto;perspective:none}.orbit-ring{display:flex;gap:10px;width:max-content;height:auto;transform:none;animation:none}.orbit-photo{position:static;flex:0 0 150px;width:150px;height:175px;transform:none}.program-portal-card img{transition:none}}

/* A spacious 3D image orbit: six photographs travel around the centre together. */
.course-orbit{display:block;min-height:clamp(710px,88svh,870px);padding:clamp(42px,5vw,64px) 5% 25px;background:radial-gradient(circle at 50% 52%,#28493f 0%,#17352f 65%,#102a25 100%)}
.orbit-heading{max-width:none;margin:0 auto;text-align:center}
.orbit-heading strong{font-size:clamp(38px,4.5vw,62px)}
.orbit-viewport{--orbit-x:clamp(230px,32vw,365px);--orbit-diagonal:clamp(180px,25vw,285px);height:clamp(580px,68svh,670px);max-width:1180px;margin:0 auto;perspective:1000px;overflow:visible;contain:none}
.orbit-ring{width:100%;height:100%;transform:none;animation:none;transform-style:preserve-3d}
.orbit-photo{inset:auto;left:50%;top:50%;width:clamp(170px,21vw,255px);height:clamp(145px,16vw,195px);translate:-50% -50%;border-radius:7px;backface-visibility:visible;transform-origin:center;animation:gallery-orbit 36s linear infinite;animation-delay:var(--delay);box-shadow:0 15px 35px #06151088;will-change:transform}
.orbit-photo img{object-fit:cover;object-position:center;transition:transform .5s ease}
.orbit-photo:hover img{transform:scale(1.08)}
.course-orbit:hover .orbit-photo,.course-orbit.is-offscreen .orbit-photo{animation-play-state:paused}
@keyframes gallery-orbit{
 0%,100%{transform:translate3d(0,-188px,-100px) rotateY(0deg) scale(.84)}
 16.666%{transform:translate3d(var(--orbit-diagonal),-122px,20px) rotateY(-22deg) scale(.95)}
 33.333%{transform:translate3d(var(--orbit-x),105px,95px) rotateY(-28deg) scale(1)}
 50%{transform:translate3d(0,207px,150px) rotateY(0deg) scale(1.08)}
 66.666%{transform:translate3d(calc(0px - var(--orbit-x)),105px,95px) rotateY(28deg) scale(1)}
 83.333%{transform:translate3d(calc(0px - var(--orbit-diagonal)),-122px,20px) rotateY(22deg) scale(.95)}
}
@media(max-width:760px){.course-orbit{min-height:0;padding:38px 5% 32px}.orbit-heading{margin-bottom:22px}.orbit-heading strong{font-size:clamp(32px,8vw,45px)}.orbit-viewport{height:auto;display:block;overflow:visible;perspective:none}.orbit-ring{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;height:auto;transform:none}.orbit-photo,.orbit-photo:nth-child(n){position:relative;inset:auto;left:auto;top:auto;margin:0;width:100%;height:auto;aspect-ratio:1.15;translate:none;transform:none;animation:none;will-change:auto}.orbit-photo:nth-child(2),.orbit-photo:nth-child(5){translate:0 12px}}
@media(prefers-reduced-motion:reduce){.orbit-viewport{height:auto;perspective:none}.orbit-ring{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%;height:auto}.orbit-photo,.orbit-photo:nth-child(n){position:relative;inset:auto;left:auto;top:auto;translate:none;transform:none;animation:none;will-change:auto;width:100%;height:auto;aspect-ratio:1.3}}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.orbit-ring{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* New opening: Dr Sid in the course room, with editorial type arriving from the side. */
.feature-opening{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:flex-end;min-height:calc(100svh - var(--site-header-height));overflow:hidden;background:#0d2534;color:#f5f6f2}
.feature-opening-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:saturate(.72) contrast(1.08)}
.feature-opening-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,28,41,.10) 0%,rgba(8,28,41,.16) 35%,rgba(8,28,41,.70) 59%,rgba(8,28,41,.92) 100%)}
.feature-opening-content{width:min(57%,780px);padding:60px 5.5% 70px 0;text-align:left}
.feature-opening-kicker{display:block;margin-bottom:22px;color:#b9dfdc;font:600 13px/1.3 var(--product-font);letter-spacing:.18em}
.feature-opening h1{margin:0;color:#f8f8f4;font:600 clamp(42px,5.2vw,82px)/.99 var(--product-font);letter-spacing:-.065em}
.feature-opening h1 span{display:block;white-space:nowrap}
.feature-opening h1 span+span{color:#d7e4e0}
.feature-opening-content p{margin:28px 0 0;color:#f5f6f2;font:500 clamp(19px,2vw,28px)/1.25 var(--product-font);letter-spacing:-.02em}
.feature-opening-side{position:absolute;right:26px;bottom:32px;writing-mode:vertical-rl;font:600 11px/1.2 var(--product-font);letter-spacing:.18em;color:#d3e0dd}
@media(prefers-reduced-motion:no-preference){.feature-opening-photo{animation:opening-photo-settle 1.8s cubic-bezier(.22,1,.36,1) both}.feature-opening-kicker,.feature-opening h1 span,.feature-opening-content p{animation:opening-type-side 1.05s cubic-bezier(.22,1,.36,1) both}.feature-opening-kicker{animation-delay:.2s}.feature-opening h1 span:first-child{animation-delay:.38s}.feature-opening h1 span:nth-child(2){animation-delay:.54s}.feature-opening-content p{animation-delay:.73s}@keyframes opening-photo-settle{from{opacity:.6;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes opening-type-side{from{opacity:0;transform:translateX(55px);filter:blur(7px)}to{opacity:1;transform:translateX(0);filter:blur(0)}}}
@media(max-width:760px){.feature-opening{align-items:end;justify-content:stretch;min-height:calc(100svh - var(--site-header-height))}.feature-opening-photo{object-position:26% center}.feature-opening-shade{background:linear-gradient(180deg,rgba(8,28,41,.05) 0%,rgba(8,28,41,.12) 35%,rgba(8,28,41,.66) 62%,rgba(8,28,41,.96) 100%)}.feature-opening-content{width:100%;padding:28px 6% 60px}.feature-opening-kicker{font-size:12px;margin-bottom:15px}.feature-opening h1{font-size:clamp(30px,8.1vw,50px);line-height:1.04}.feature-opening-content p{font-size:20px;margin-top:16px}.feature-opening-side{display:none}}
@media(prefers-reduced-motion:reduce){.feature-opening-photo,.feature-opening-kicker,.feature-opening h1 span,.feature-opening-content p{animation:none;filter:none}.feature-opening-photo{filter:saturate(.72) contrast(1.08)}}
/* Portrait-led opening, inspired by the supplied monochrome reference. */
.feature-opening{background:#171b20}
.feature-opening-photo{object-position:center 35%;filter:grayscale(1) brightness(.62) contrast(1.12)}
.feature-opening-shade{background:linear-gradient(90deg,rgba(17,20,24,.22) 0%,rgba(17,20,24,.1) 35%,rgba(17,20,24,.75) 60%,#171b20 100%)}
.feature-opening-content{position:relative;z-index:1;width:min(56%,760px);padding-right:8%;}
.feature-opening-kicker{color:#a7c5e1}
.feature-opening h1 span+span{color:#f1f0eb}
.feature-opening-content p{color:#a7c5e1}
.feature-opening-content::before{content:"";position:absolute;width:clamp(48px,6.5vw,96px);aspect-ratio:1;border-radius:50%;background:#9ebddc;left:-105px;top:-95px;opacity:.9}
.feature-opening-content::after{content:"";position:absolute;width:clamp(30px,4vw,58px);aspect-ratio:1;border:clamp(12px,1.4vw,22px) solid #f1f0eb;box-sizing:border-box;border-radius:50%;left:-54px;bottom:-122px}
.feature-opening-side{color:#a7c5e1}
@media(max-width:760px){.feature-opening-photo{object-position:30% center;filter:grayscale(1) brightness(.72) contrast(1.1)}.feature-opening-shade{background:linear-gradient(180deg,rgba(17,20,24,.2) 0%,rgba(17,20,24,.08) 38%,rgba(17,20,24,.7) 68%,#171b20 100%)}.feature-opening-content{width:100%;padding:30px 7% 72px}.feature-opening-content::before{width:38px;left:auto;right:9%;top:-90px}.feature-opening-content::after{width:38px;border-width:12px;left:auto;right:21%;bottom:24px}}
@media(prefers-reduced-motion:reduce){.feature-opening-photo{filter:grayscale(1) brightness(.62) contrast(1.12)}}
/* Supplied portrait: keep Dr Sid visible on the right and set the title at left. */
.feature-opening{justify-content:flex-start}
.feature-opening-photo{object-position:center 36%}
.feature-opening-shade{background:linear-gradient(90deg,#171b20 0%,rgba(17,20,24,.94) 20%,rgba(17,20,24,.73) 39%,rgba(17,20,24,.13) 70%,rgba(17,20,24,.14) 100%)}
.feature-opening-content{width:min(55%,760px);padding:60px 0 70px 7%}
.feature-opening-content::before{left:auto;right:3%;top:-80px}
.feature-opening-content::after{left:auto;right:17%;bottom:-102px}
@media(max-width:760px){.feature-opening{align-items:end}.feature-opening-photo{object-position:65% center}.feature-opening-shade{background:linear-gradient(180deg,rgba(17,20,24,.15) 0%,rgba(17,20,24,.06) 38%,rgba(17,20,24,.8) 70%,#171b20 100%)}.feature-opening-content{width:100%;padding:30px 7% 72px}.feature-opening-content::before{right:9%;top:-90px}.feature-opening-content::after{right:21%;bottom:24px}}
/* Lift the supplied portrait out of the dark backdrop while retaining the editorial mood. */
.feature-opening-photo{filter:grayscale(.38) brightness(1.04) contrast(1.06);object-position:center 39%;transition:transform 1.2s cubic-bezier(.22,1,.36,1),filter 1.2s ease;will-change:transform}
.feature-opening-shade{background:linear-gradient(90deg,rgba(18,24,31,.96) 0%,rgba(18,24,31,.89) 19%,rgba(18,24,31,.57) 38%,rgba(18,24,31,.04) 65%,rgba(18,24,31,.02) 100%)}
.feature-opening-content{text-shadow:0 8px 30px rgba(0,0,0,.25)}
.feature-opening-content::before{box-shadow:inset -18px -15px 26px rgba(27,45,66,.34),10px 14px 30px rgba(0,0,0,.25);transform:translateZ(0);transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
.feature-opening-content::after{box-shadow:10px 14px 24px rgba(0,0,0,.2);transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.feature-opening:hover .feature-opening-photo{animation:none;transform:scale(1.035) translateX(-.4%)}.feature-opening:hover .feature-opening-content::before{transform:translate(10px,-9px)}.feature-opening:hover .feature-opening-content::after{transform:translate(-7px,8px)}}
@media(max-width:760px){.feature-opening-photo{filter:grayscale(.38) brightness(1.08) contrast(1.05);object-position:67% center}.feature-opening-shade{background:linear-gradient(180deg,rgba(18,24,31,.03) 0%,rgba(18,24,31,.02) 42%,rgba(18,24,31,.72) 71%,#171b20 100%)}}
@media(prefers-reduced-motion:reduce){.feature-opening-photo{filter:grayscale(.38) brightness(1.04) contrast(1.06);transition:none}}
/* Editorial course title, restrained motion and a reusable year marker. */
.feature-opening h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(46px,6vw,95px);font-weight:400;line-height:1.02;letter-spacing:-.045em;text-shadow:0 14px 38px rgba(0,0,0,.28)}
.feature-opening h1 span{overflow:hidden;padding:.07em .04em .12em 0;margin:-.07em 0 -.12em}
.feature-opening h1 span+span{font-style:italic;letter-spacing:-.055em;color:#f1f0eb}
.feature-opening-content .feature-opening-byline{display:flex;flex-direction:column;gap:6px;margin-top:29px;font:400 clamp(19px,2vw,26px)/1.2 Georgia,'Times New Roman',serif;color:#f6f4ee;letter-spacing:0}
.feature-opening-byline span{font:500 13px/1.4 var(--product-font);letter-spacing:.16em;text-transform:uppercase;color:#bed3e6}
.site-header .nav-start .nav-year{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 12px;border:1px solid currentColor;border-radius:100px;font-size:14px;font-weight:600;letter-spacing:.04em}
.site-header .nav-start .nav-year::after{display:none}
.site-header .nav-start .nav-year:hover,.site-header .nav-start .nav-year:focus-visible{background:rgba(255,255,255,.13)}
@media(prefers-reduced-motion:no-preference){.feature-opening h1 span{animation:opening-serif-reveal 1.35s cubic-bezier(.19,1,.22,1) both}.feature-opening h1 span:first-child{animation-delay:.26s}.feature-opening h1 span:nth-child(2){animation-delay:.48s}.feature-opening-content .feature-opening-byline{animation:opening-serif-reveal 1s cubic-bezier(.19,1,.22,1) .72s both}@keyframes opening-serif-reveal{from{opacity:0;transform:translate3d(0,35px,0);filter:blur(4px)}to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}}}
@media(max-width:760px){.feature-opening h1{font-size:clamp(40px,9.2vw,64px);line-height:1.04}.feature-opening-content .feature-opening-byline{font-size:19px;margin-top:20px}.feature-opening-byline span{font-size:11px}.site-header .nav-start{gap:clamp(8px,2.5vw,22px)}.site-header .nav-start a{font-size:clamp(11px,3vw,14px)}.site-header .nav-start .nav-year{font-size:12px;min-height:30px;padding:4px 9px}}
@media(prefers-reduced-motion:reduce){.feature-opening h1 span,.feature-opening-content .feature-opening-byline{animation:none;filter:none}}
/* Clean editorial opening: charcoal navigation, precise serif type, quiet motion. */
body>.site-header{background:#191d22;color:#f4f1eb;border-bottom:1px solid rgba(244,241,235,.14)}
body>.site-header.is-scrolled{background:rgba(25,29,34,.88);border-bottom-color:rgba(244,241,235,.15)}
.site-header .nav-contact{background:#ece9e2;color:#191d22;border-radius:2px}
.site-header .nav-contact:hover{background:#fff}
.site-header .nav-start a::after{background:#f4f1eb}
.feature-opening{background:#191d22}
.feature-opening h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(55px,7vw,112px);font-weight:500;line-height:.92;letter-spacing:-.035em;text-shadow:0 8px 28px rgba(0,0,0,.14)}
.feature-opening h1 span+span{font-style:normal;letter-spacing:-.035em;color:#f6f3ed}
.feature-opening-kicker{color:#f4f1eb;letter-spacing:.22em}
.feature-opening-content .feature-opening-byline{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(24px,2.7vw,34px);color:#f6f3ed}
.feature-opening-byline span{font-size:12px;color:#eeeae2}
.feature-opening-content::before,.feature-opening-content::after,.feature-opening-side{display:none}
.feature-opening-shade{background:linear-gradient(90deg,rgba(25,29,34,.95) 0%,rgba(25,29,34,.85) 22%,rgba(25,29,34,.51) 43%,rgba(25,29,34,.02) 70%,rgba(25,29,34,0) 100%)}
@media(max-width:760px){.feature-opening h1{font-size:clamp(51px,12vw,76px);line-height:.94}.feature-opening-content .feature-opening-byline{font-size:25px}.feature-opening-shade{background:linear-gradient(180deg,rgba(25,29,34,.04) 0%,rgba(25,29,34,.04) 41%,rgba(25,29,34,.79) 73%,#191d22 100%)}}
/* Restore natural colour in Dr Sid's portrait. */
.feature-opening-photo{filter:grayscale(.12) brightness(1.08) contrast(1.035) saturate(.94)}
@media(max-width:760px){.feature-opening-photo{filter:grayscale(.12) brightness(1.1) contrast(1.035) saturate(.94)}}
@media(prefers-reduced-motion:reduce){.feature-opening-photo{filter:grayscale(.12) brightness(1.08) contrast(1.035) saturate(.94)}}
.feature-opening h1{font-size:clamp(44px,5.2vw,82px);font-weight:500;line-height:1;letter-spacing:-.018em}
.feature-opening h1 span+span{letter-spacing:-.018em}
@media(max-width:760px){.feature-opening h1{font-size:clamp(32px,8.5vw,55px);line-height:1.02;letter-spacing:-.02em}.feature-opening h1 span+span{letter-spacing:-.02em}}
@media(prefers-reduced-motion:no-preference){.feature-opening h1 span:nth-child(3){animation-delay:.65s}}
/* Quiet orbital motif shared with the practice identity. */
.feature-opening{isolation:isolate}
.hero-orbit{position:absolute;z-index:0;pointer-events:none;left:3%;top:13%;width:min(57vw,720px);height:76%;opacity:.72;transform:rotate(-18deg)}
.hero-orbit-track{position:absolute;inset:0;border:1px solid rgba(227,205,167,.28);border-radius:50%}
.hero-orbit-track::after{content:"";position:absolute;left:50%;top:-4px;width:8px;height:8px;border-radius:50%;background:#e6cda6;box-shadow:0 0 12px rgba(230,205,166,.7)}
.hero-orbit-track--inner{inset:12% 9%;border-color:rgba(176,202,218,.2);transform:rotate(26deg)}
.hero-orbit-track--inner::after{width:5px;height:5px;top:-3px;background:#c4d4e0;box-shadow:0 0 9px rgba(196,212,224,.65)}
.feature-opening h1{color:#fffaf1}
.feature-opening h1 span:nth-child(2){color:#e7cfad}
.feature-opening h1 span:nth-child(3){color:#fffaf1}
.feature-opening-kicker,.feature-opening-byline span{color:#cad8df}
.feature-opening-content .feature-opening-byline{color:#fffaf1}
@media(prefers-reduced-motion:no-preference){.hero-orbit-track{animation:course-orbit-turn 38s linear infinite}.hero-orbit-track--inner{animation:course-orbit-turn-reverse 31s linear infinite}.hero-orbit{animation:course-orbit-arrive 1.8s ease-out both}@keyframes course-orbit-turn{to{transform:rotate(360deg)}}@keyframes course-orbit-turn-reverse{from{transform:rotate(26deg)}to{transform:rotate(-334deg)}}@keyframes course-orbit-arrive{from{opacity:0;scale:.94}to{opacity:.72;scale:1}}}
@media(max-width:760px){.hero-orbit{left:-22%;top:41%;width:110vw;height:49%;opacity:.38}.feature-opening h1 span:nth-child(2){color:#e8d0ae}}
@media(prefers-reduced-motion:reduce){.hero-orbit{opacity:.4}.hero-orbit-track,.hero-orbit-track--inner{animation:none}}
/* Light blue headline and byline to match the opening labels. */
.feature-opening h1,.feature-opening h1 span:nth-child(3),.feature-opening-content .feature-opening-byline{color:#cad8df}
.feature-opening-content .feature-opening-tagline{margin:25px 0 0;color:#f0e9dc;font:400 clamp(18px,1.65vw,23px)/1.35 var(--product-font);letter-spacing:-.015em}
.feature-opening-content .feature-opening-byline{margin-top:18px}
@media(prefers-reduced-motion:no-preference){.feature-opening-tagline{animation:opening-serif-reveal .95s cubic-bezier(.19,1,.22,1) .78s both}}
@media(max-width:760px){.feature-opening-content .feature-opening-tagline{margin-top:17px;font-size:16px}.feature-opening-content .feature-opening-byline{margin-top:14px}}
@media(prefers-reduced-motion:reduce){.feature-opening-tagline{animation:none}}
/* Rebalance the opening hierarchy around the clinical-practice message. */
.feature-opening h1{font-size:clamp(39px,4.4vw,69px);line-height:1.02}
.feature-opening-content .feature-opening-tagline{max-width:590px;margin-top:30px;color:#f0e9dc;font:italic 500 clamp(30px,3.25vw,48px)/1.08 'Cormorant Garamond',Georgia,serif;letter-spacing:-.025em;text-wrap:balance}
@media(max-width:760px){.feature-opening h1{font-size:clamp(28px,7.25vw,46px);line-height:1.04}.feature-opening-content .feature-opening-tagline{font-size:clamp(27px,7.2vw,38px);margin-top:20px;line-height:1.05}}
/* Year selector and lighter course navigation. */
.site-header .nav-start{gap:18px}
.site-header .nav-start>a{font-size:14px;font-weight:500;min-height:36px}
.year-menu{position:relative;z-index:25;flex:none}
.year-menu summary{list-style:none;display:inline-flex;align-items:center;gap:9px;min-height:35px;padding:6px 12px;border:1px solid currentColor;border-radius:100px;font:600 14px/1.2 var(--product-font);letter-spacing:.03em;cursor:pointer;white-space:nowrap}
.year-menu summary::-webkit-details-marker{display:none}
.year-menu summary span{font-size:18px;line-height:0;transition:transform .25s ease}
.year-menu[open] summary span{transform:rotate(180deg)}
.year-menu summary:hover,.year-menu summary:focus-visible{background:rgba(255,255,255,.12)}
.year-menu-list{position:absolute;left:0;top:calc(100% + 9px);width:218px;padding:8px;background:#232a30;border:1px solid rgba(218,224,225,.25);border-radius:8px;box-shadow:0 16px 30px rgba(0,0,0,.25)}
.site-header .nav-start .year-menu-list a{display:block;min-height:42px;padding:10px 12px;font-size:14px;font-weight:500;white-space:normal;border-radius:4px}
.site-header .nav-start .year-menu-list a::after{display:none}
.site-header .nav-start .year-menu-list a:hover,.site-header .nav-start .year-menu-list a:focus-visible{background:rgba(202,216,223,.14)}
.feature-opening-shade{background:linear-gradient(90deg,rgba(25,29,34,.95) 0%,rgba(25,29,34,.85) 22%,rgba(25,29,34,.51) 43%,rgba(25,29,34,.02) 70%,rgba(25,29,34,0) 100%)}
@media(max-width:760px){.site-header .nav-start{gap:clamp(7px,2vw,14px)}.site-header .nav-start>a{font-size:clamp(10px,2.65vw,13px);min-height:34px}.year-menu summary{font-size:12px;min-height:32px;padding:5px 9px}.year-menu-list{width:196px}}
@media(prefers-reduced-motion:reduce){.year-menu summary span{transition:none}}
.year-menu-list{left:auto;right:0}
@media(max-width:760px){.site-header .nav-start{justify-content:flex-start}.year-menu-list{right:0;left:auto}}
/* Give the first slide clearer colour and contrast without an extra portrait layer. */
.feature-opening{background:#111b27}
.feature-opening-photo{filter:brightness(1.12) contrast(1.08) saturate(1.16)}
.feature-opening-shade{background:linear-gradient(90deg,rgba(12,25,39,.94) 0%,rgba(12,25,39,.78) 25%,rgba(12,25,39,.34) 47%,rgba(12,25,39,0) 68%)}
.feature-opening h1,.feature-opening h1 span:nth-child(3){color:#d8eaf5;text-shadow:0 7px 20px rgba(4,14,29,.4)}
.feature-opening h1 span:nth-child(2){color:#f1d6ae}
.feature-opening-content .feature-opening-tagline{color:#fff5e7;text-shadow:0 5px 20px rgba(4,14,29,.42)}
.feature-opening-content .feature-opening-byline{color:#d8eaf5}
.hero-orbit-track{border-color:rgba(233,204,157,.39)}
.hero-orbit-track--inner{border-color:rgba(176,214,237,.3)}
@media(max-width:760px){.feature-opening-photo{filter:brightness(1.14) contrast(1.08) saturate(1.16)}.feature-opening-shade{background:linear-gradient(180deg,rgba(12,25,39,.02) 0%,rgba(12,25,39,.04) 38%,rgba(12,25,39,.72) 70%,#111b27 100%)}}
@media(prefers-reduced-motion:reduce){.feature-opening-photo{filter:brightness(1.12) contrast(1.08) saturate(1.16)}}
.feature-opening-tagline span{display:inline-block}
@media(prefers-reduced-motion:no-preference){.feature-opening-tagline span{animation:tagline-drift 7s ease-in-out 1.8s infinite alternate}@keyframes tagline-drift{from{transform:translateX(-9px)}to{transform:translateX(13px)}}}
@media(max-width:760px) and (prefers-reduced-motion:no-preference){.feature-opening-tagline span{animation-name:tagline-drift-small}@keyframes tagline-drift-small{from{transform:translateX(-4px)}to{transform:translateX(5px)}}}
@media(prefers-reduced-motion:reduce){.feature-opening-tagline span{animation:none}}
/* Full-screen typographic interlude before the course choices. */
.statement-slide{position:relative;isolation:isolate;min-height:min(900px,100svh);display:grid;place-items:center;overflow:hidden;padding:7rem 6% 9rem;background:#161c25;color:#f5f3ec;text-align:center}
.statement-slide::before,.statement-slide::after{content:"";position:absolute;z-index:-1;width:min(85vw,1000px);aspect-ratio:1;border:1px solid rgba(173,198,216,.085);border-radius:50%;left:-25%;top:-37%;transform:rotate(-20deg)}
.statement-slide::after{left:auto;right:-24%;top:22%;width:min(65vw,780px);border-color:rgba(238,211,171,.075)}
.statement-glow{position:absolute;z-index:-1;width:min(42vw,520px);height:min(42vw,520px);left:36%;top:25%;border-radius:50%;background:radial-gradient(circle,rgba(87,139,182,.32),rgba(101,131,160,.16) 34%,rgba(191,132,91,.10) 55%,transparent 73%);filter:blur(20px);pointer-events:none}
.statement-lines{position:relative;z-index:2;max-width:1100px}
.statement-label{display:block;margin-bottom:28px;color:#aac7d9;font:600 12px/1.2 var(--product-font);letter-spacing:.22em}
.statement-slide h2{margin:0;font:650 clamp(52px,7.8vw,124px)/1.04 var(--product-font);letter-spacing:-.035em;text-transform:uppercase;text-wrap:balance}
.statement-slide h2 span{display:block;white-space:nowrap}
.statement-slide h2 .statement-accent{color:#b6d4e9;text-shadow:0 0 38px rgba(94,153,196,.35)}
.statement-image{position:absolute;z-index:1;width:clamp(130px,17vw,240px);aspect-ratio:4/3;overflow:hidden;border:1px solid rgba(255,255,255,.28);border-radius:6px;box-shadow:0 25px 60px rgba(0,0,0,.4)}
.statement-image img{display:block;width:100%;height:100%;object-fit:cover}
.statement-image--left{left:5%;bottom:5%;transform:rotate(-10deg)}
.statement-image--right{right:6%;bottom:8%;transform:rotate(9deg)}
@media(prefers-reduced-motion:no-preference){.statement-slide.in-view h2 span{animation:statement-rise .95s cubic-bezier(.19,1,.22,1) both}.statement-slide.in-view h2 span:nth-child(2){animation-delay:.12s}.statement-slide.in-view h2 span:nth-child(3){animation-delay:.24s}.statement-slide.in-view h2 span:nth-child(4){animation-delay:.36s}.statement-glow{animation:statement-breathe 8s ease-in-out infinite alternate}.statement-image--left{animation:statement-float-left 7s ease-in-out infinite alternate}.statement-image--right{animation:statement-float-right 8s ease-in-out infinite alternate}@keyframes statement-rise{from{opacity:0;transform:translateY(42px);filter:blur(9px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes statement-breathe{to{transform:translate(30px,-18px) scale(1.12)}}@keyframes statement-float-left{to{transform:translateY(-15px) rotate(-7deg)}}@keyframes statement-float-right{to{transform:translateY(-18px) rotate(6deg)}}}
@media(max-width:760px){.statement-slide{min-height:calc(100svh - var(--site-header-height));padding:5rem 5% 10rem}.statement-label{font-size:10px;letter-spacing:.16em;margin-bottom:24px}.statement-slide h2{font-size:clamp(35px,8.7vw,64px);line-height:1.08;letter-spacing:-.035em}.statement-image{width:clamp(105px,29vw,175px)}.statement-image--left{left:8%;bottom:5%}.statement-image--right{right:7%;bottom:7%}.statement-glow{width:80vw;height:80vw;left:10%;top:28%}}
@media(prefers-reduced-motion:reduce){.statement-glow,.statement-image,.statement-slide h2 span{animation:none!important}}
/* Scroll-linked handoff: each line arrives from the right at its own pace. */
.statement-slide .statement-label{opacity:var(--statement-opacity,1);transform:translate3d(var(--statement-shift-0,0px),0,0)}
.statement-slide h2 span{opacity:var(--statement-opacity,1);transform:translate3d(var(--statement-shift-1,0px),0,0);will-change:transform}
.statement-slide h2 span:nth-child(2){transform:translate3d(var(--statement-shift-2,0px),0,0)}
.statement-slide h2 span:nth-child(3){transform:translate3d(var(--statement-shift-3,0px),0,0)}
.statement-slide h2 span:nth-child(4){transform:translate3d(var(--statement-shift-4,0px),0,0)}
@media(prefers-reduced-motion:no-preference){.statement-slide.in-view h2 span{animation:none}}
@media(prefers-reduced-motion:reduce){.statement-slide .statement-label,.statement-slide h2 span{opacity:1;transform:none;will-change:auto}}
/* Expansive workshop gallery: layered cards move into place as the statement arrives. */
.statement-slide{min-height:max(850px,110svh);padding:4rem 0 0;display:block;background:#1c1d20}
.statement-lines{position:relative;z-index:3;width:min(94%,1500px);max-width:none;margin:0 auto;text-align:center;pointer-events:none}
.statement-label{margin-bottom:1.1rem}
.statement-slide h2{font-size:clamp(55px,7.1vw,122px);line-height:.95;letter-spacing:-.035em}
.statement-gallery{position:absolute;inset:0;z-index:2;overflow:hidden;perspective:1000px;pointer-events:none}
.statement-gallery img{position:absolute;display:block;width:clamp(135px,18vw,310px);height:clamp(130px,20vw,320px);object-fit:cover;border-radius:3px;box-shadow:0 18px 50px rgba(0,0,0,.45);opacity:var(--gallery-opacity,1);transform:translate3d(var(--gallery-shift,0px),0,0) rotate(var(--angle)) rotateY(var(--depth));transition:filter .4s ease;filter:saturate(.85)}
.statement-gallery img:nth-child(1){left:-5%;top:49%;--angle:-13deg;--depth:22deg;z-index:1}
.statement-gallery img:nth-child(2){left:8%;top:61%;--angle:8deg;--depth:-10deg;z-index:3}
.statement-gallery img:nth-child(3){left:21%;top:50%;--angle:-8deg;--depth:13deg;z-index:2}
.statement-gallery img:nth-child(4){left:33%;top:68%;--angle:6deg;--depth:-9deg;z-index:5}
.statement-gallery img:nth-child(5){left:47%;top:55%;--angle:-6deg;--depth:8deg;z-index:4}
.statement-gallery img:nth-child(6){left:61%;top:69%;--angle:12deg;--depth:-13deg;z-index:6}
.statement-gallery img:nth-child(7){left:76%;top:50%;--angle:-10deg;--depth:15deg;z-index:4}
.statement-gallery img:nth-child(8){left:89%;top:63%;--angle:9deg;--depth:-22deg;z-index:2}
.statement-gallery img:nth-child(9){left:1%;top:82%;--angle:6deg;--depth:-12deg;z-index:2}
.statement-gallery img:nth-child(10){left:26%;top:88%;--angle:-9deg;--depth:14deg;z-index:3}
.statement-gallery img:nth-child(11){left:55%;top:86%;--angle:7deg;--depth:-14deg;z-index:3}
.statement-gallery img:nth-child(12){left:82%;top:86%;--angle:-8deg;--depth:10deg;z-index:3}
.statement-slide .statement-glow{z-index:1;left:30%;top:25%;width:55vw;height:55vw;filter:blur(35px)}
@media(max-width:760px){.statement-slide{min-height:max(720px,104svh);padding:6rem 0 0}.statement-lines{width:96%}.statement-slide h2{font-size:clamp(35px,8.3vw,64px);line-height:1.02}.statement-gallery img{width:35vw;height:39vw}.statement-gallery img:nth-child(1){left:-15%;top:47%}.statement-gallery img:nth-child(2){left:12%;top:57%}.statement-gallery img:nth-child(3){left:43%;top:49%}.statement-gallery img:nth-child(4){left:72%;top:61%}.statement-gallery img:nth-child(5){left:-17%;top:73%}.statement-gallery img:nth-child(6){left:25%;top:77%}.statement-gallery img:nth-child(7){left:63%;top:81%}.statement-gallery img:nth-child(n+8){display:none}}
@media(prefers-reduced-motion:reduce){.statement-gallery img{opacity:1;transform:rotate(var(--angle)) rotateY(var(--depth))}}
/* Slide 2 holds the message; slide 3 carries the revolving workshop gallery. */
.statement-slide{min-height:100svh;display:grid;place-items:center;padding:6rem 2% 5rem;background:#1c1d20}
.statement-lines{width:min(96%,1550px)}
.statement-slide h2{font-size:clamp(62px,8.4vw,150px);line-height:.98}
.workshop-carousel{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;background:radial-gradient(ellipse at 50% 60%,#29323a 0%,#1c1d20 63%);color:#f6f3ec;padding:clamp(6rem,10vh,9rem) 0 1rem}
.workshop-carousel-heading{position:relative;z-index:2;text-align:center;pointer-events:none}
.workshop-carousel-heading span{font:600 12px/1.3 var(--product-font);letter-spacing:.2em;color:#aac7d9}
.workshop-carousel-heading h2{margin:.7rem 0 0;font:500 clamp(34px,4vw,65px)/1.1 var(--product-font);letter-spacing:-.04em}
.carousel-stage{position:relative;width:100%;height:min(72vh,680px);min-height:470px;perspective:1250px;perspective-origin:50% 48%;overflow:visible}
.carousel-ring{position:absolute;left:50%;top:49%;width:0;height:0;transform-style:preserve-3d;animation:workshop-circle 48s linear infinite;will-change:transform}
.carousel-card{position:absolute;left:0;top:0;width:clamp(180px,19vw,300px);height:clamp(210px,25vw,360px);margin-left:calc(clamp(180px,19vw,300px)/-2);margin-top:calc(clamp(210px,25vw,360px)/-2);overflow:hidden;border-radius:6px;background:#122027;border:1px solid rgba(255,255,255,.25);box-shadow:0 25px 65px rgba(0,0,0,.5);backface-visibility:hidden;transform:rotateY(calc(var(--card)*30deg)) translateZ(min(44vw,590px));transition:filter .4s ease}
.carousel-card img{display:block;width:100%;height:100%;object-fit:cover}
.workshop-carousel:hover .carousel-ring,.workshop-carousel:focus-within .carousel-ring{animation-play-state:paused}
@keyframes workshop-circle{to{transform:rotateY(-360deg)}}
@media(max-width:760px){.statement-slide{min-height:calc(100svh - var(--site-header-height));padding:4rem 1%}.statement-slide h2{font-size:clamp(35px,8.4vw,65px);line-height:1.05}.workshop-carousel{min-height:82svh;padding:5rem 0 1rem}.workshop-carousel-heading h2{font-size:clamp(34px,8vw,52px)}.workshop-carousel-heading span{font-size:10px}.carousel-stage{height:58vh;min-height:350px;perspective:800px}.carousel-ring{top:52%}.carousel-card{width:36vw;height:48vw;margin-left:-18vw;margin-top:-24vw;transform:rotateY(calc(var(--card)*30deg)) translateZ(43vw)}}
@media(prefers-reduced-motion:reduce){.carousel-stage{overflow-x:auto;perspective:none;height:auto;min-height:0;padding:3rem 4%}.carousel-ring{position:static;display:flex;gap:1rem;width:max-content;height:auto;transform:none;animation:none}.carousel-card{position:static;flex:0 0 180px;width:180px;height:230px;margin:0;transform:none;backface-visibility:visible}}
/* Gallery Play inspired: cards travel around a broad on-screen ellipse, not a spinning cylinder. */
.carousel-stage{perspective:1100px}
.carousel-ring{animation:none;transform:none;width:0;height:0}
.carousel-card{backface-visibility:visible;transform:none;will-change:transform,opacity}
.carousel-card img{filter:saturate(.94)}
@media(max-width:760px){.carousel-stage{perspective:700px}.carousel-card{width:38vw;height:48vw;margin-left:-19vw;margin-top:-24vw}}
@media(prefers-reduced-motion:reduce){.carousel-ring{position:static;display:flex;width:max-content;height:auto}.carousel-card{position:static;flex:0 0 180px;width:180px;height:230px;margin:0;transform:none!important;opacity:1!important;will-change:auto}}
/* Keep the moving photo circle immediately beneath the statement. */
.statement-slide{display:block;min-height:100svh;padding:clamp(4rem,8vh,6rem) 0 0;overflow:hidden}
.statement-slide h2{font-size:clamp(55px,6.4vw,112px);line-height:.94}
.statement-slide .carousel-stage{height:clamp(380px,58vh,650px);min-height:0;margin-top:clamp(10px,2vh,28px);perspective:1100px}
.statement-slide .carousel-ring{top:49%}
@media(max-width:760px){.statement-slide{min-height:100svh;padding:clamp(4.5rem,9vh,6rem) 0 0}.statement-slide h2{font-size:clamp(35px,8.4vw,65px);line-height:1.04}.statement-slide .carousel-stage{height:clamp(330px,50vh,460px);margin-top:1rem;perspective:700px}}
/* Give the tilted floating cards enough room to complete each orbit in view. */
.statement-slide{padding-bottom:clamp(24px,4vh,50px)}
.statement-slide .carousel-stage{height:clamp(680px,78vh,860px);margin-top:1rem}
.statement-slide .carousel-ring{top:42%}
@media(max-width:760px){.statement-slide .carousel-stage{height:clamp(430px,60vh,620px);margin-top:1rem}.statement-slide .carousel-ring{top:44%}.statement-slide .carousel-card{width:32vw;height:40vw;margin-left:-16vw;margin-top:-20vw}}
/* Eight large cards keep the orbit legible and closer to the reference scale. */
.statement-slide .carousel-stage{height:clamp(900px,96vh,1100px)}
.statement-slide .carousel-ring{top:43%}
.statement-slide .carousel-card{width:clamp(230px,23vw,390px);height:clamp(280px,29vw,480px);margin-left:calc(clamp(230px,23vw,390px)/-2);margin-top:calc(clamp(280px,29vw,480px)/-2)}
@media(max-width:760px){.statement-slide .carousel-stage{height:clamp(480px,68vh,650px)}.statement-slide .carousel-ring{top:47%}.statement-slide .carousel-card{width:42vw;height:52vw;margin-left:-21vw;margin-top:-26vw}}
.statement-slide .carousel-card{cursor:zoom-in}
@media(hover:hover){.statement-slide .carousel-stage:hover .carousel-card{transition:transform .35s ease,opacity .35s ease,filter .35s ease}.statement-slide .carousel-card:hover{filter:brightness(1.13) saturate(1.08)}}
/* A little more space around each photo in the circular gallery. */
.statement-slide .carousel-card{width:clamp(185px,18.5vw,312px);height:clamp(225px,23.5vw,385px);margin-left:calc(clamp(185px,18.5vw,312px)/-2);margin-top:calc(clamp(225px,23.5vw,385px)/-2)}
@media(max-width:760px){.statement-slide .carousel-card{width:34vw;height:42vw;margin-left:-17vw;margin-top:-21vw}}
/* Further reduce each card without shrinking the orbit itself. */
.statement-slide .carousel-card{width:clamp(130px,13vw,220px);height:clamp(158px,16.5vw,270px);margin-left:calc(clamp(130px,13vw,220px)/-2);margin-top:calc(clamp(158px,16.5vw,270px)/-2)}
@media(max-width:760px){.statement-slide .carousel-card{width:24vw;height:30vw;margin-left:-12vw;margin-top:-15vw}}
@media(hover:hover){.statement-slide .carousel-stage:hover .carousel-card{transition:none}.statement-slide .carousel-stage.is-paused .carousel-card{transition:transform .35s ease,opacity .35s ease}}
/* The photo circle follows the final headline line without a long empty interval. */
.statement-slide .carousel-stage{height:clamp(620px,74vh,780px);margin-top:0;opacity:var(--stage-opacity,1);transform:translate3d(0,var(--stage-rise,0px),0)}
.statement-slide .carousel-ring{top:45%}
@media(max-width:760px){.statement-slide .carousel-stage{height:clamp(360px,48vh,500px);margin-top:0}.statement-slide .carousel-ring{top:45%}}
@media(prefers-reduced-motion:reduce){.statement-slide .carousel-stage{opacity:1;transform:none}}
/* Phone presentation: crisp type and an image reel within the second screen. */
@media(max-width:760px){
 .feature-opening h1 span,.feature-opening-kicker,.feature-opening-content p,.feature-opening-tagline,.feature-opening-tagline span{animation:none!important;filter:none!important;transform:none!important;text-shadow:none!important}
 .feature-opening h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px,7.25vw,46px);line-height:1.07;letter-spacing:-.015em;text-shadow:none}
 .feature-opening h1 span{overflow:visible;margin:0;padding:0}
 .feature-opening-content{padding-bottom:max(42px,env(safe-area-inset-bottom))}
 .statement-slide{display:flex;flex-direction:column;justify-content:center;min-height:calc(100svh - var(--site-header-height));padding:30px 0 max(30px,env(safe-area-inset-bottom))}
 .statement-lines{flex:none;width:94%;margin:0 auto}
 .statement-label{margin-bottom:16px;font-size:11px}
 .statement-slide h2{font-size:clamp(29px,7.8vw,48px);line-height:1.03}
 .statement-slide .carousel-stage{flex:none;width:100%;height:clamp(200px,32svh,310px);margin-top:22px;overflow:hidden;perspective:none;opacity:1!important;transform:none!important}
 .statement-slide .carousel-ring{top:50%;transform:none}
 .statement-slide .carousel-card{width:clamp(128px,40vw,180px);height:clamp(154px,49vw,222px);margin-left:calc(clamp(128px,40vw,180px)/-2);margin-top:calc(clamp(154px,49vw,222px)/-2);backface-visibility:visible}
}
@media(max-width:760px) and (prefers-reduced-motion:reduce){
 .statement-slide .carousel-stage{height:auto;min-height:220px;overflow-x:auto;padding:20px 5%}
 .statement-slide .carousel-ring{position:static;display:flex;gap:12px;width:max-content;height:auto}
 .statement-slide .carousel-card{position:static;flex:0 0 150px;width:150px;height:190px;margin:0;opacity:1!important;transform:none!important}
}
.mobile-carousel-controls{display:none}
@media(max-width:760px){
 .statement-slide .carousel-stage{height:clamp(215px,35svh,330px);margin-top:18px;touch-action:pan-y}
 .statement-slide .carousel-ring{top:50%}
 .statement-slide .carousel-card{width:min(68vw,285px);height:clamp(185px,31svh,270px);margin-left:calc(min(68vw,285px)/-2);margin-top:calc(clamp(185px,31svh,270px)/-2);border-radius:10px;box-shadow:0 16px 35px #0008;transition:transform .65s cubic-bezier(.22,1,.36,1),opacity .65s ease,visibility .65s}
 .mobile-carousel-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin:0 auto;color:#f5f3ec}
 .mobile-carousel-controls button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #a7bcc8;border-radius:50%;background:rgba(255,255,255,.06);color:inherit;font-size:22px;line-height:1;touch-action:manipulation}
 .mobile-carousel-controls button:focus-visible{outline:2px solid #f1d6ae;outline-offset:3px}
 .mobile-carousel-count{min-width:64px;text-align:center;font:600 13px/1 var(--product-font);letter-spacing:.12em;font-variant-numeric:tabular-nums}
}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.mobile-carousel-controls{display:none}.statement-slide .carousel-stage{touch-action:auto}.statement-slide .carousel-card{transition:none}}
/* Editorial course chooser immediately after the animated statement. */
.pathway-slide{background:#e9eef0;color:#162b34;padding:clamp(72px,9vw,140px) clamp(24px,6vw,100px);min-height:100svh;display:grid;align-items:center}
.pathway-inner{width:min(100%,1440px);margin:auto}
.pathway-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-bottom:clamp(32px,5vw,70px)}
.pathway-heading .eyebrow{font:600 12px/1.3 var(--product-font);letter-spacing:.18em;color:#3c6a79;white-space:nowrap}
.pathway-heading h2{max-width:850px;margin:0;font:500 clamp(46px,5.5vw,94px)/.98 var(--product-font);letter-spacing:-.055em}
.pathway-heading em,.workshops-preview em{font-family:Georgia,serif;font-weight:400;color:#386b80}
.pathway-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #90a5ab;border-left:1px solid #90a5ab}
.pathway-option{position:relative;display:flex;flex-direction:column;min-height:clamp(270px,25vw,390px);padding:clamp(26px,3vw,48px);border-right:1px solid #90a5ab;border-bottom:1px solid #90a5ab;color:inherit;text-decoration:none;overflow:hidden;transition:background .45s ease,color .45s ease}
.pathway-option::before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:#39738b;transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.pathway-option:hover,.pathway-option:focus-visible{background:#d8e5e9}
.pathway-option:hover::before,.pathway-option:focus-visible::before{transform:scaleX(1)}
.pathway-type{font:600 11px/1.2 var(--product-font);letter-spacing:.16em;color:#477386}
.pathway-option strong{display:block;margin:clamp(25px,3vw,46px) 0 18px;font:500 clamp(32px,3.1vw,52px)/1.04 var(--product-font);letter-spacing:-.045em}
.pathway-description{max-width:33ch;color:#4d6068;font:400 clamp(16px,1.3vw,19px)/1.45 var(--product-font)}
.pathway-action{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;margin-top:auto;padding-top:28px;font:600 15px/1.2 var(--product-font)}
.pathway-action span{display:grid;place-items:center;width:36px;height:36px;border:1px solid #8aa7af;border-radius:50%;font-size:20px;transition:transform .4s ease,background .4s ease}
.pathway-option:hover .pathway-action span,.pathway-option:focus-visible .pathway-action span{transform:translate(3px,-3px);background:#bcd2da}
.pathway-slide.motion-ready .pathway-option:not(.is-visible){opacity:0;transform:translateY(28px)}
.pathway-option.is-visible{opacity:1;transform:none;transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1),background .45s ease}
.pathway-option:nth-child(2){transition-delay:.1s}.pathway-option:nth-child(3){transition-delay:.18s}.pathway-option:nth-child(4){transition-delay:.26s}
.workshops-preview{padding:clamp(60px,9vw,130px) 6%;background:#dae5e9;color:#162b34;scroll-margin-top:90px}
.workshops-preview h1{max-width:900px;margin:14px 0 22px;font:500 clamp(38px,5vw,76px)/1.04 var(--product-font);letter-spacing:-.05em}
.workshops-preview p{max-width:640px;font:400 clamp(17px,1.5vw,22px)/1.5 var(--product-font)}
.workshops-preview a{display:inline-flex;gap:1rem;margin-top:24px;padding-bottom:9px;border-bottom:1px solid currentColor;color:inherit;text-decoration:none;font-weight:600}
#individual-modules{scroll-margin-top:100px}
@media(max-width:760px){.pathway-slide{padding:64px 20px;min-height:0}.pathway-heading{display:block}.pathway-heading .eyebrow{display:block;margin-bottom:20px}.pathway-heading h2{font-size:clamp(41px,10vw,62px)}.pathway-grid{grid-template-columns:1fr}.pathway-option{min-height:250px;padding:26px}.pathway-option strong{font-size:clamp(33px,8vw,48px);margin:22px 0 14px}.pathway-description{font-size:16px}.pathway-action{padding-top:18px}}
@media(prefers-reduced-motion:reduce){.pathway-slide.motion-ready .pathway-option:not(.is-visible){opacity:1;transform:none}.pathway-option,.pathway-action span,.pathway-option::before{transition:none!important}}
.individual-module-note{margin:0 0 20px;font:400 16px/1.5 var(--product-font)}
.individual-module-note a{color:inherit;text-decoration-color:currentColor;text-underline-offset:4px;font-weight:600}
/* Motion language for the pathway chapter: opposing reveals and restrained cursor light. */
.pathway-heading h2>span,.pathway-heading h2 em span{display:inline-block}
.pathway-slide.motion-ready .pathway-heading:not(.is-visible) h2>span{opacity:0;transform:translate3d(-55px,0,0);filter:blur(6px)}
.pathway-slide.motion-ready .pathway-heading:not(.is-visible) h2 em span{opacity:0;transform:translate3d(55px,0,0);filter:blur(6px)}
.pathway-heading h2>span,.pathway-heading h2 em span{transition:transform 1.15s cubic-bezier(.19,1,.22,1),opacity .85s ease,filter .95s ease}
.pathway-heading h2 em span{transition-delay:.12s}
.pathway-slide.motion-ready .pathway-option:nth-child(odd):not(.is-visible){transform:translate3d(-32px,18px,0)}
.pathway-slide.motion-ready .pathway-option:nth-child(even):not(.is-visible){transform:translate3d(32px,18px,0)}
.pathway-option{isolation:isolate}
.pathway-option::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle 250px at var(--light-x,50%) var(--light-y,50%),rgba(136,193,213,.44),transparent 72%);opacity:0;transition:opacity .45s ease}
.pathway-option>*{position:relative;z-index:1}
.pathway-option:hover::after,.pathway-option:focus-visible::after{opacity:1}
.pathway-option.is-visible:hover,.pathway-option.is-visible:focus-visible{transform:translateY(-6px);box-shadow:0 16px 35px rgba(25,57,70,.1);z-index:2}
.pathway-option.is-visible .pathway-action{transition:transform .55s cubic-bezier(.22,1,.36,1)}
.pathway-option.is-visible:hover .pathway-action{transform:translateX(5px)}
@media(max-width:760px){.pathway-slide.motion-ready .pathway-option:nth-child(n):not(.is-visible){transform:translate3d(0,24px,0)}.pathway-heading h2>span,.pathway-heading h2 em span{display:block}}
@media(prefers-reduced-motion:reduce){.pathway-slide.motion-ready .pathway-heading:not(.is-visible) h2 span,.pathway-slide.motion-ready .pathway-option:nth-child(n):not(.is-visible){opacity:1;filter:none;transform:none}.pathway-heading h2 span,.pathway-option::after,.pathway-option .pathway-action{transition:none!important}}
/* Keep the four pathways together in a concise chapter. */
.pathway-slide{min-height:0;padding:clamp(48px,5vw,78px) clamp(24px,6vw,100px)}
.pathway-heading{padding-bottom:clamp(22px,3vw,38px)}
.pathway-heading h2{font-size:clamp(42px,4.5vw,72px)}
.pathway-option{min-height:clamp(210px,19vw,280px);padding:clamp(20px,2.2vw,32px)}
.pathway-option strong{margin:clamp(16px,1.8vw,25px) 0 10px;font-size:clamp(29px,2.6vw,40px)}
.pathway-description{font-size:clamp(15px,1.1vw,17px);line-height:1.35}
.pathway-action{padding-top:16px;font-size:14px}
.pathway-action span{width:30px;height:30px;font-size:17px}
@media(max-width:760px){.pathway-slide{padding:44px 20px}.pathway-heading{padding-bottom:24px}.pathway-heading .eyebrow{margin-bottom:12px}.pathway-heading h2{font-size:clamp(36px,9vw,52px)}.pathway-option{min-height:0;padding:18px 20px}.pathway-option strong{font-size:clamp(28px,7vw,36px);margin:12px 0 8px}.pathway-description{font-size:15px}.pathway-action{padding-top:12px}}
/* Soft sculpted cards with gentle depth, without enlarging the chapter. */
.pathway-grid{gap:clamp(10px,1.3vw,18px);border:0;perspective:1200px}
.pathway-option{border:1px solid rgba(102,137,150,.42);border-radius:clamp(18px,2vw,28px);background:linear-gradient(145deg,#fff 0%,#e7f0f2 64%,#dce9ed 100%);box-shadow:inset 1px 1px 0 rgba(255,255,255,.9),inset -2px -2px 7px rgba(96,132,145,.08),0 9px 18px rgba(28,58,69,.10),0 24px 44px rgba(28,58,69,.07);transform-style:preserve-3d;transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1),box-shadow .6s ease,background .45s ease}
.pathway-option::before{height:3px;border-radius:28px 28px 0 0}
.pathway-option:hover,.pathway-option:focus-visible{background:linear-gradient(145deg,#fff 0%,#e3eef2 58%,#cadfe7 100%)}
.pathway-option.is-visible:hover,.pathway-option.is-visible:focus-visible{transform:translateY(-9px) rotateX(2deg) rotateY(-2deg);box-shadow:inset 1px 1px 0 rgba(255,255,255,.95),0 20px 34px rgba(28,58,69,.16),0 32px 54px rgba(28,58,69,.11)}
@media(max-width:760px){.pathway-grid{gap:12px}.pathway-option{border-radius:20px}.pathway-option.is-visible:hover,.pathway-option.is-visible:focus-visible{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.pathway-option.is-visible:hover,.pathway-option.is-visible:focus-visible{transform:none}}
/* The main page offers a short index; each module has its own reading page. */
.module-directory{padding:clamp(30px,4vw,60px) 0}
.module-directory .res-heading{margin-bottom:24px}
.module-directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.module-directory-card{position:relative;display:flex;flex-direction:column;gap:11px;min-height:195px;padding:22px;border:1px solid #b7c8c8;border-radius:20px;background:#f8faf8;color:#193d40;text-decoration:none;box-shadow:0 10px 26px rgba(31,64,66,.06);transition:transform .35s ease,box-shadow .35s ease,background .35s ease}
.module-directory-card:hover,.module-directory-card:focus-visible{transform:translateY(-5px);background:#eaf4f2;box-shadow:0 18px 32px rgba(31,64,66,.12)}
.module-directory-card span{font:600 11px/1.4 var(--product-font);letter-spacing:.12em;color:#56787b}
.module-directory-card strong{font:500 clamp(21px,2vw,30px)/1.05 var(--product-font);letter-spacing:-.035em}
.module-directory-card small{font:400 14px/1.4 var(--product-font);color:#4b6668}
.module-directory-card b{position:absolute;right:19px;bottom:17px;font-size:21px;font-weight:400}
.module-directory .individual-module-note{margin:24px 0 0}
.module-detail-page{background:#edf2f0;color:#173d3c}
.module-page-header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px clamp(20px,5vw,80px);border-bottom:1px solid #c4d2cf}
.module-page-header .brand{position:static;transform:none}
.module-page-header>a:last-child,.module-page-footer a,.module-page-nav a{color:inherit;text-decoration:none}
.module-page-header>a:last-child:hover,.module-page-footer a:hover,.module-page-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.module-page-main{max-width:1100px;margin:0 auto;padding:clamp(32px,5vw,70px) 20px 90px}
.module-page-intro{display:flex;justify-content:space-between;align-items:center;gap:16px;font:600 13px/1.3 var(--product-font);letter-spacing:.07em}
.module-page-intro p{margin:0}
.module-detail-page .curriculum-panel{margin-top:22px;padding:clamp(24px,4vw,54px);border-radius:24px;box-shadow:0 22px 55px rgba(31,64,66,.08)}
.module-detail-page .curriculum-panel :is(h1,h3){font-size:clamp(29px,3.4vw,48px);max-width:850px}
.module-page-nav{display:flex;justify-content:space-between;gap:18px;margin:34px 0 24px;font-weight:600}
.module-page-enquiry{font-size:16px}.module-page-enquiry a{color:inherit;text-underline-offset:4px}
.module-page-footer{display:flex;justify-content:center;gap:28px;padding:28px 20px;border-top:1px solid #c4d2cf}
@media(max-width:950px){.module-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.module-directory-grid{grid-template-columns:1fr}.module-directory-card{min-height:0;padding:18px 45px 18px 20px;gap:6px}.module-page-header{padding:18px 20px}.module-page-header .brand{font-size:18px}.module-page-header>a:last-child{font-size:13px}.module-page-main{padding-top:32px}.module-page-intro{font-size:11px}}
@media(prefers-reduced-motion:reduce){.module-directory-card{transition:none}.module-directory-card:hover,.module-directory-card:focus-visible{transform:none}}
/* Dedicated course pages keep the landing page free of long course sections. */
.course-subpage{background:#edf2f0}
.course-page-return{padding:18px clamp(20px,5vw,80px);background:#edf2f0}
.course-page-return a{color:#254d55;font:600 14px/1.3 var(--product-font);text-decoration:none}
.course-page-return a:hover,.course-page-return a:focus-visible{text-decoration:underline;text-underline-offset:5px}
.course-subpage .five-day-course,.course-subpage .residency{scroll-margin-top:var(--site-header-height,80px)}
/* Short facts make each learning pathway scannable at a glance. */
.pathway-description>span{display:block;margin-bottom:5px}
.pathway-description>span:last-child{margin-bottom:0}
.pathway-option:first-child .pathway-description>span:not(:first-child),.pathway-option:nth-child(2) .pathway-description>span:not(:first-child){font-weight:600;color:#2a5661}
/* A concise, filterable 2027 calendar after the pathway chooser. */
.course-calendar{padding:clamp(56px,7vw,110px) clamp(20px,6vw,100px);background:#f4f6f3;color:#19343b;scroll-margin-top:var(--site-header-height,80px)}
.calendar-inner{max-width:1440px;margin:auto}
.calendar-heading{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px 30px;margin-bottom:28px}
.calendar-kicker{grid-column:1/-1;color:#527278;font:600 12px/1.4 var(--product-font);letter-spacing:.16em}
.calendar-heading h2{margin:0;font:500 clamp(38px,5vw,72px)/1 var(--product-font);letter-spacing:-.055em}
.calendar-heading h2 em{color:#3c6e7d;font:400 1em/1 Georgia,serif}
.calendar-heading p{max-width:280px;margin:0 0 4px;color:#5b6c70;font:400 15px/1.4 var(--product-font)}
.calendar-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.calendar-filters button{border:1px solid #aebfc2;border-radius:999px;padding:10px 16px;background:transparent;color:inherit;font:600 14px/1.2 var(--product-font);cursor:pointer;transition:background .3s ease,color .3s ease,transform .3s ease}
.calendar-filters button:hover{transform:translateY(-2px);background:#e1ecee}
.calendar-filters button[aria-pressed="true"]{background:#274e5c;border-color:#274e5c;color:#fff}
.calendar-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.calendar-event{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:12px;min-height:96px;padding:16px 20px;border:1px solid #c6d4d4;border-radius:17px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 5px 16px rgba(27,61,69,.035);transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease,border-color .4s ease}
.calendar-event[hidden]{display:none}
.calendar-event:hover,.calendar-event:focus-visible{transform:translateY(-4px);box-shadow:0 14px 30px rgba(27,61,69,.12);border-color:#81a8b1}
.calendar-month{display:flex;flex-direction:column;gap:2px;font:600 24px/1 var(--product-font);letter-spacing:-.045em;color:#316679}
.calendar-month small{font:500 12px/1.2 var(--product-font);letter-spacing:0;color:#6b7e81}
.calendar-info{display:flex;flex-direction:column;gap:6px;min-width:0}
.calendar-info strong{font:600 clamp(16px,1.5vw,20px)/1.15 var(--product-font)}
.calendar-info>span{font:400 14px/1.3 var(--product-font);color:#607379}
.calendar-arrow{font:400 22px/1 var(--product-font);transition:transform .3s ease}
.calendar-event:hover .calendar-arrow,.calendar-event:focus-visible .calendar-arrow{transform:translate(3px,-3px)}
@media(max-width:800px){.calendar-heading{grid-template-columns:1fr}.calendar-heading p{max-width:none}.calendar-events{grid-template-columns:1fr}}
@media(max-width:480px){.course-calendar{padding:52px 18px}.calendar-heading h2{font-size:clamp(36px,10vw,48px)}.calendar-filters button{font-size:13px;padding:9px 12px}.calendar-event{grid-template-columns:58px 1fr auto;gap:10px;min-height:83px;padding:13px 14px}.calendar-month{font-size:20px}.calendar-info strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){.calendar-event,.calendar-filters button,.calendar-arrow{transition:none}.calendar-event:hover,.calendar-event:focus-visible,.calendar-filters button:hover{transform:none}}
/* Ease from the pale pathway section into the site's dark editorial palette. */
.course-calendar{padding-top:clamp(108px,12vw,170px);background:linear-gradient(180deg,#e9eef0 0,#70868c 72px,#283f47 145px,#1e3038 100%);color:#f2f5f4}
.calendar-kicker{color:#a9cfda}
.calendar-heading h2 em{color:#a9d1df}
.calendar-heading p{color:#c1d0d3}
.calendar-filters button{border-color:#68828a;color:#ecf4f5}
.calendar-filters button:hover{background:#3a5660}
.calendar-filters button[aria-pressed="true"]{background:#a9d1df;border-color:#a9d1df;color:#172b32}
.calendar-event{border-color:#55717a;background:linear-gradient(145deg,#39545d,#2c454e);color:#f2f5f4;box-shadow:0 9px 25px rgba(9,25,31,.12)}
.calendar-event:hover,.calendar-event:focus-visible{border-color:#add3df;box-shadow:0 18px 35px rgba(6,21,27,.26)}
.calendar-month{color:#b9dce6}
.calendar-month small,.calendar-info>span{color:#c2d3d7}
.calendar-info>span{font-size:clamp(17px,1.35vw,19px);font-weight:500;line-height:1.35}
/* Editorial motion: text and date cards enter in sequence; interaction remains light. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.pathway-option.is-visible:hover{transform:translateY(-8px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}}
.course-calendar.motion-ready:not(.is-visible) .calendar-heading h2,.course-calendar.motion-ready:not(.is-visible) .calendar-heading p{opacity:0;transform:translate3d(0,28px,0)}
.calendar-heading h2,.calendar-heading p{transition:opacity .8s ease,transform 1s cubic-bezier(.22,1,.36,1)}
.calendar-heading p{transition-delay:.12s}
.course-calendar.motion-ready:not(.is-visible) .calendar-event{opacity:0;transform:translate3d(0,20px,0)}
.course-calendar.motion-ready .calendar-event{transition:opacity .7s ease,transform .75s cubic-bezier(.22,1,.36,1),box-shadow .4s ease,border-color .4s ease}
.course-calendar.motion-ready .calendar-event:nth-child(4n+2){transition-delay:.07s}
.course-calendar.motion-ready .calendar-event:nth-child(4n+3){transition-delay:.14s}
.course-calendar.motion-ready .calendar-event:nth-child(4n+4){transition-delay:.21s}
.course-calendar.is-visible .calendar-event:hover,.course-calendar.is-visible .calendar-event:focus-visible{transition-delay:0s}
.calendar-inner{position:relative}
.calendar-inner::before{content:"";position:absolute;top:-22px;left:0;width:100%;height:1px;background:linear-gradient(90deg,#a9d1df,transparent);transform-origin:left;transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.course-calendar.motion-ready:not(.is-visible) .calendar-inner::before{transform:scaleX(0)}
.site-header nav a:not(.nav-contact){position:relative}
.site-header nav a:not(.nav-contact)::after{content:"";position:absolute;left:0;right:0;bottom:5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.site-header nav a:not(.nav-contact):hover::after,.site-header nav a:not(.nav-contact):focus-visible::after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){.calendar-heading h2,.calendar-heading p,.course-calendar.motion-ready .calendar-event,.calendar-inner::before,.site-header nav a:not(.nav-contact)::after{transition:none!important;transform:none!important;opacity:1!important}}
/* Course policy page and a compact entry in the shared navigation. */
.policy-nav-short{display:none}
@media(max-width:1100px){.policy-nav-full{display:none}.policy-nav-short{display:inline}}
.policy-page{background:#e9eef0;color:#20363e}
.policy-main{min-height:70vh}
.policy-hero{padding:clamp(45px,7vw,105px) clamp(22px,7vw,105px) clamp(45px,6vw,80px);background:linear-gradient(135deg,#182b35,#2c4e59);color:#f3f5f1}
.policy-back{display:inline-block;margin-bottom:clamp(40px,6vw,80px);font:600 14px/1.2 var(--product-font);text-decoration:none;color:#c6e1e8}
.policy-back:hover{text-decoration:underline;text-underline-offset:5px}
.policy-eyebrow{display:block;color:#add1dc;font:600 12px/1.4 var(--product-font);letter-spacing:.15em}
.policy-hero h1{max-width:1000px;margin:14px 0 16px;font:500 clamp(44px,6vw,92px)/.98 var(--product-font);letter-spacing:-.065em}
.policy-hero h1 em{font:400 1em/.98 Georgia,serif;color:#b9d9e3}
.policy-hero p{margin:0;color:#c9d8dc;font:400 18px/1.5 var(--product-font)}
.policy-layout{display:grid;grid-template-columns:minmax(190px,260px) minmax(0,860px);gap:clamp(34px,6vw,90px);max-width:1440px;margin:auto;padding:clamp(48px,6vw,90px) clamp(22px,7vw,105px)}
.policy-sections{position:sticky;top:calc(var(--site-header-height,85px) + 22px);align-self:start;display:flex;flex-direction:column;gap:13px}
.policy-sections>span{margin-bottom:8px;color:#58717a;font:700 12px/1.3 var(--product-font);letter-spacing:.14em}
.policy-sections a{color:#36545e;font:500 14px/1.4 var(--product-font);text-decoration:none}
.policy-sections a:hover,.policy-sections a:focus-visible{color:#15323c;text-decoration:underline;text-underline-offset:4px}
.policy-content{font:400 17px/1.65 var(--product-font)}
.policy-content p{margin:0 0 17px}
.policy-content ul{margin:12px 0 20px;padding-left:23px}
.policy-content li{margin:8px 0}
.policy-content section{padding:42px 0;border-top:1px solid #b6c7ca;scroll-margin-top:calc(var(--site-header-height,85px) + 24px)}
.policy-content section h2{max-width:720px;margin:6px 0 22px;font:500 clamp(27px,3vw,38px)/1.1 var(--product-font);letter-spacing:-.035em}
.policy-content section h3{margin:26px 0 10px;font:600 19px/1.25 var(--product-font)}
.policy-number{color:#4d7a88;font:700 12px/1.2 var(--product-font);letter-spacing:.14em}
.policy-rights{padding:25px 28px 13px;margin-bottom:37px;background:#d6e5e9;border-left:3px solid #638f9f;border-radius:0 14px 14px 0}
.policy-rights strong{display:block;margin-bottom:10px;font-size:19px}
.policy-timeframes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}
.policy-timeframes>div{padding:6px 20px 12px;background:#f7f9f8;border:1px solid #ccd7d8;border-radius:15px}
.policy-timeframes h3{font-size:17px!important}
.policy-timeframes ul{font-size:15px;line-height:1.5}
.policy-content section a,.policy-contact a{color:#215d73;text-decoration:underline;text-underline-offset:4px}
.policy-contact{padding:34px;border-radius:18px;background:#dce9ec}
.policy-contact h2{margin:0 0 10px;font:500 28px/1.15 var(--product-font);letter-spacing:-.03em}
.policy-contact p{margin:0;overflow-wrap:anywhere}
.policy-footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:28px clamp(22px,7vw,105px);background:#1e3038;color:#e5f0f1}
.policy-footer a{text-decoration:none}.policy-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.module-page-footer{flex-wrap:wrap}
@media(max-width:760px){.policy-layout{grid-template-columns:1fr;gap:28px;padding:38px 20px 70px}.policy-sections{position:static;flex-direction:row;flex-wrap:wrap;gap:9px}.policy-sections>span{width:100%;margin-bottom:0}.policy-sections a{padding:7px 10px;border:1px solid #a9c0c6;border-radius:30px;font-size:12px}.policy-content{font-size:16px}.policy-hero{padding:45px 20px 50px}.policy-back{margin-bottom:48px}.policy-timeframes{grid-template-columns:1fr}.policy-content section{padding:34px 0}}
/* The rotating gallery opens into an editorial film frame for Dr Sid. */
.meet-slide{--meet-progress:0;position:relative;isolation:isolate;min-height:100svh;display:grid;align-items:center;overflow:hidden;background:radial-gradient(circle at 73% 44%,#314350 0%,#202b35 45%,#1c1d20 90%);color:#f5f5f1;padding:clamp(85px,9vw,140px) clamp(22px,6vw,110px)}
.meet-slide::before{content:"";position:absolute;inset:-1px 0 auto;height:110px;background:linear-gradient(#1c1d20,transparent);pointer-events:none}
.meet-slide::after{content:"";position:absolute;inset:auto 0 -1px;height:110px;background:linear-gradient(transparent,#e9eef0);pointer-events:none;z-index:4}
.meet-orbit{position:absolute;width:min(76vw,1080px);aspect-ratio:1;border:1px solid rgba(195,219,232,.2);border-radius:50%;right:-15%;top:50%;transform:translateY(-50%) rotate(var(--meet-angle,0deg)) scale(var(--meet-ring-scale,1));opacity:var(--meet-ring-opacity,1);pointer-events:none}
.meet-orbit::before,.meet-orbit::after{content:"";position:absolute;inset:12%;border:1px solid rgba(215,192,154,.16);border-radius:50%}.meet-orbit::after{inset:29%;border-color:rgba(195,219,232,.12)}
.meet-inner{position:relative;z-index:2;width:min(100%,1480px);margin:auto;display:grid;grid-template-columns:minmax(300px,.82fr) minmax(430px,1.18fr);align-items:center;gap:clamp(28px,6vw,100px)}
.meet-copy{opacity:var(--meet-opacity,1);transform:translate3d(var(--meet-copy-x,0px),0,0)}
.meet-kicker{display:block;color:#a9cde4;font:600 12px/1.4 var(--product-font);letter-spacing:.2em;margin-bottom:clamp(18px,3vw,40px)}
.meet-copy h2{font:500 clamp(50px,6.2vw,105px)/.98 var(--product-font);letter-spacing:-.055em;margin:0 0 30px}.meet-copy h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:#d8eaf5;letter-spacing:-.045em;white-space:nowrap}
.meet-role{color:#d4bb91;font-size:clamp(16px,1.5vw,20px);margin:0 0 18px}.meet-intro{max-width:440px;font-size:clamp(17px,1.65vw,21px);line-height:1.5;color:#d4dde2;margin:0}
.meet-film{position:relative;min-width:0;transform:translate3d(var(--meet-film-x,0px),0,0) scale(var(--meet-film-scale,1));opacity:var(--meet-film-opacity,1)}
.meet-film video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:18px;background:#172029;box-shadow:0 35px 95px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.24)}
.meet-film-caption{display:block;margin-top:15px;text-align:right;color:#b7c7d0;font-size:13px;letter-spacing:.04em}
@media(max-width:900px){.meet-slide{min-height:auto;padding:100px 6% 140px}.meet-inner{grid-template-columns:1fr;gap:34px}.meet-orbit{width:110vw;right:-45%;top:25%}.meet-copy h2{font-size:clamp(50px,9vw,80px);margin-bottom:18px}}
@media(max-width:600px){.meet-slide{padding:85px 5% 125px}.meet-copy h2{font-size:clamp(44px,10.8vw,64px)}.meet-copy h2 em{white-space:normal}.meet-intro{font-size:16px}.meet-film video{border-radius:10px}.meet-film-caption{font-size:12px}}
@media(prefers-reduced-motion:reduce){.meet-slide{--meet-progress:1!important}.meet-copy,.meet-film,.meet-orbit{transform:none;opacity:1}.meet-orbit{top:0;right:-15%}}

/* Let the educator's name arrive independently of the scroll-driven section. */
.meet-heading-content{display:inline-block}
.meet-slide.meet-motion-ready .meet-copy h2{opacity:0;transform:translate3d(-54px,0,0)}
.meet-slide.meet-motion-ready.is-meet-visible .meet-copy h2{animation:meet-heading-arrive 1.15s cubic-bezier(.16,1,.3,1) both}
.meet-slide.is-meet-visible .meet-heading-content{animation:meet-heading-float 6s ease-in-out 1.15s infinite}
@keyframes meet-heading-arrive{from{opacity:0;transform:translate3d(-54px,0,0);filter:blur(5px)}to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}}
@keyframes meet-heading-float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(5px,-5px,0)}}
@media(prefers-reduced-motion:reduce){.meet-slide.meet-motion-ready .meet-copy h2{opacity:1;transform:none;animation:none}.meet-slide.is-meet-visible .meet-heading-content{animation:none}}

/* Give the opening label enough presence to read clearly over the portrait. */
.feature-opening-kicker{font:700 clamp(16px,1.45vw,20px)/1.25 var(--product-font);letter-spacing:.16em;color:#edf5f9;text-shadow:0 2px 12px rgba(9,20,27,.6)}
@media(max-width:760px){.feature-opening-kicker{font-size:clamp(16px,4.2vw,19px);letter-spacing:.14em}}

/* Centre the residency fee introduction while keeping the itinerary easy to scan. */
.residency-payments{text-align:center}
.residency-payments .fees-gst-label{margin-bottom:14px}
.residency-payments .residency-pdf-download{margin:0 auto 18px}
.residency-payments .selected-fee-card{margin:14px auto;text-align:left}
@media(max-width:600px){.residency-payments>h3{font-size:clamp(24px,6vw,32px)}.residency-pdf-download{text-align:center}}

/* Separate pamphlet downloads inside the two relevant learning-pathway cards. */
.pathway-option>.pathway-hit{position:absolute;inset:0;z-index:2;display:block}
.pathway-option>.pathway-pdf{position:relative;z-index:3;align-self:flex-start;display:inline-flex;align-items:center;min-height:40px;margin-top:10px;padding:7px 13px;border:1px solid #7d9caa;border-radius:99px;color:#204b60;background:rgba(255,255,255,.65);font:600 13px/1.25 var(--product-font);text-decoration:none;transition:background .2s ease,transform .2s ease}
.pathway-option>.pathway-pdf:hover,.pathway-option>.pathway-pdf:focus-visible{background:#d0e5ed;transform:translateY(-2px)}
.pathway-option:focus-within{background:#d8e5e9}
.pathway-option:focus-within::before{transform:scaleX(1)}
@media(max-width:760px){.pathway-option>.pathway-pdf{font-size:13px;margin-top:8px}}

/* Testimonial film closes the course story; thematic words follow playback. */
.feedback-slide{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 34%,#344855 0%,#1e2b34 55%,#17232c 100%);color:#f7f5ef;padding:clamp(70px,8vw,120px) clamp(20px,5vw,90px) clamp(85px,8vw,120px)}
.feedback-slide::before{content:"";position:absolute;inset:0 0 auto;height:100px;background:linear-gradient(#1d2d37,transparent);pointer-events:none}
.feedback-inner{position:relative;width:min(100%,1400px);margin:auto}
.feedback-intro{text-align:center;margin:0 auto clamp(28px,4vw,55px)}
.feedback-eyebrow{display:block;color:#b5cbd4;font:600 12px/1.3 var(--product-font);letter-spacing:.21em;margin-bottom:15px}
.feedback-intro h2{font:500 clamp(45px,6vw,92px)/1 var(--product-font);letter-spacing:-.05em;margin:0 0 16px}
.feedback-intro h2 em{font-family:Georgia,'Times New Roman',serif;color:#d4c09b;font-weight:400}
.feedback-intro p{font-size:clamp(16px,1.5vw,20px);color:#c6d5dc;line-height:1.45;max-width:590px;margin:auto}
.feedback-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,600px) minmax(0,1fr);align-items:center;gap:clamp(12px,3vw,46px)}
.feedback-video-wrap{position:relative;min-width:0;isolation:isolate;border-radius:26px;overflow:hidden;background:#182832;box-shadow:0 22px 60px rgba(3,13,19,.24),0 2px 18px rgba(3,13,19,.12)}
.feedback-video-wrap::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(221,234,235,.13),inset 0 0 35px 8px rgba(18,35,43,.26);background:linear-gradient(145deg,rgba(190,216,222,.07),transparent 32%,transparent 72%,rgba(10,26,34,.1))}
.feedback-video-wrap video{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:inherit;background:#182832}
.feedback-words{position:relative;height:290px;min-width:0}
.feedback-word{position:absolute;left:0;top:50%;width:100%;font:500 clamp(22px,2.8vw,45px)/1.03 var(--product-font);letter-spacing:-.05em;overflow-wrap:anywhere;color:#e6dcc8;opacity:0;transform:translate3d(0,20px,0) scale(.94);transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1)}
.feedback-words--left{text-align:right}.feedback-words--right{text-align:left}
.feedback-word.is-current{opacity:1;transform:translate3d(0,0,0) scale(1)}
.feedback-footnote{text-align:center;font-size:14px;letter-spacing:.04em;color:#aec2cb;margin:34px 0 0}
@media(max-width:800px){.feedback-stage{grid-template-columns:1fr 1fr;gap:16px}.feedback-video-wrap{grid-column:1/-1;grid-row:1;width:min(100%,550px);justify-self:center}.feedback-words{height:74px}.feedback-words--left{text-align:right}.feedback-words--right{text-align:left}.feedback-word{font-size:clamp(21px,5vw,34px);top:12px}.feedback-slide{padding:70px 5% 80px}}
@media(prefers-reduced-motion:reduce){.feedback-word{transition:none;transform:none}}

/* Compact film on the left, accumulated take-home themes on the right. */
.feedback-intro{margin-bottom:clamp(25px,4vw,48px)}
.feedback-stage--takeaways{width:min(100%,1120px);margin:0 auto;grid-template-columns:minmax(240px,380px) minmax(0,1fr);gap:clamp(30px,6vw,90px);align-items:center}
.feedback-stage--takeaways .feedback-video-wrap{width:100%;max-width:380px;margin:0 auto}
.feedback-takeaways{min-width:0}
.feedback-takeaways-label{display:block;color:#adcad8;font:600 12px/1.3 var(--product-font);letter-spacing:.2em;margin-bottom:15px}
.feedback-takeaways ol{list-style:none;margin:0;padding:0;border-top:1px solid rgba(203,219,225,.3)}
.feedback-point{display:flex;align-items:center;gap:clamp(16px,2vw,30px);min-height:clamp(78px,8vw,108px);padding:15px 0;border-bottom:1px solid rgba(203,219,225,.3);font:500 clamp(22px,2.4vw,38px)/1.12 var(--product-font);letter-spacing:-.04em;color:#d7e2e6;opacity:.58;transition:opacity .55s ease,color .55s ease,transform .75s cubic-bezier(.22,1,.36,1),background .55s ease}
.feedback-point.is-revealed{opacity:1;color:#fff9ee;transform:translateX(10px)}
.feedback-point-number{font:600 13px/1 var(--product-font);letter-spacing:.08em;color:#d6bb89;flex:0 0 26px}
@media(max-width:760px){.feedback-stage--takeaways{grid-template-columns:minmax(0,1fr);gap:34px}.feedback-stage--takeaways .feedback-video-wrap{max-width:min(100%,340px)}.feedback-takeaways{width:min(100%,550px);margin:0 auto}.feedback-point{min-height:70px;font-size:clamp(20px,5vw,29px)}.feedback-slide{padding-top:65px}}
@media(prefers-reduced-motion:reduce){.feedback-point{transition:none}.feedback-point.is-revealed{transform:none}}

/* Each numbered takeaway enters from the right and remains in the list. */
.feedback-point{min-height:clamp(55px,5.2vw,70px);font-size:clamp(19px,1.9vw,29px);opacity:0;transform:translate3d(56px,0,0);transition:none}
.feedback-point.is-revealed{opacity:1;transform:none;animation:feedback-takeaway-in .75s cubic-bezier(.19,1,.22,1) both}
@keyframes feedback-takeaway-in{from{opacity:0;transform:translate3d(56px,0,0);filter:blur(5px)}to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}}
@media(max-width:760px){.feedback-point{min-height:56px;font-size:clamp(19px,4.8vw,25px)}}
@media(prefers-reduced-motion:reduce){.feedback-point.is-revealed{animation:none;filter:none}}

/* Verbatim excerpts keep their spoken order beside the film. */
.feedback-point{min-height:clamp(49px,4.7vw,62px);padding:9px 0;font-size:clamp(18px,1.65vw,26px)}
@media(max-width:760px){.feedback-point{min-height:50px;font-size:clamp(18px,4.5vw,23px)}}

/* Make the first takeaway's entrance unmistakable when its row becomes visible. */
.feedback-point:first-child.is-revealed{animation:feedback-takeaway-first 1s cubic-bezier(.16,1,.3,1) both}
@keyframes feedback-takeaway-first{from{opacity:0;transform:translate3d(105px,0,0);filter:blur(8px)}to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.feedback-point:first-child.is-revealed{animation:none}}

/* Speech-paced writing: small, clear type with a restrained live cursor. */
.feedback-point{font-size:clamp(16px,1.3vw,20px);line-height:1.45;letter-spacing:-.01em;min-height:47px;padding:9px 0;gap:18px;align-items:flex-start;transform:none}
.feedback-point.is-revealed,.feedback-point:first-child.is-revealed{animation:none;transform:none;filter:none}
.feedback-point-number{font-size:12px;line-height:1.9;flex-basis:25px}
.feedback-point-text{display:grid;min-width:0}
.feedback-point-text::after{content:attr(data-full-text);visibility:hidden;grid-area:1/1;pointer-events:none}
.feedback-point-ink{grid-area:1/1}
.feedback-point.is-writing .feedback-point-ink::after{content:"";display:inline-block;width:1px;height:.95em;margin-left:3px;background:#d6bb89;vertical-align:-.08em}
@media(max-width:760px){.feedback-point{font-size:16px;line-height:1.5;min-height:46px;padding:9px 0;gap:13px}.feedback-point-number{font-size:12px;flex-basis:23px}}

/* A handwritten accent identifies the education pages without crowding the practice name. */
.brand .brand-courses{display:inline-block;margin-left:8px;color:#ead3a5;font:400 25px/1 Allura,'Brush Script MT',cursive;letter-spacing:0;text-transform:none;transform:rotate(-4deg) translateY(3px);transform-origin:center;white-space:nowrap}
@media(max-width:600px){.site-header .brand .brand-courses{font-size:20px;margin-left:3px;transform:rotate(-4deg) translateY(2px)}}

/* A fine red stroke draws beneath the header's handwritten Courses, then curls into a loop. */
.brand .brand-courses{position:relative}
.brand .brand-courses::after{content:"";position:absolute;left:1%;right:2%;bottom:-6px;height:7px;border-bottom:2px solid #cf514b;border-radius:0 0 55% 70%;transform:scaleX(0) rotate(-2deg);transform-origin:left center;animation:courses-stroke 1s .35s ease-out forwards;pointer-events:none}
.brand .brand-courses::before{content:"";position:absolute;right:-9px;bottom:-10px;width:15px;height:9px;border:2px solid #cf514b;border-left-color:transparent;border-radius:50%;transform:rotate(-23deg) scale(0);animation:courses-loop .55s 1.18s ease-out forwards;pointer-events:none}
.brand:hover .brand-courses::after{animation:courses-stroke .65s ease-out forwards}
.brand:hover .brand-courses::before{animation:courses-loop .4s .5s ease-out forwards}
@keyframes courses-stroke{to{transform:scaleX(1) rotate(-2deg)}}
@keyframes courses-loop{to{transform:rotate(-23deg) scale(1)}}
@media(prefers-reduced-motion:reduce){.brand .brand-courses::after{animation:none;transform:scaleX(1) rotate(-2deg)}.brand .brand-courses::before{animation:none;transform:rotate(-23deg) scale(1)}}

/* Keep the lower Courses signature legible on the light footer. */
footer .brand .brand-courses{color:#143b33;font-size:25px;opacity:1}
footer .brand{overflow:visible;padding-bottom:14px}

/* After five seconds of inactivity, redraw the signature stroke at a calm pace. */
header .brand.idle-ready:not(.is-idle) .brand-courses::after{animation:none;transform:scaleX(1) rotate(-2deg)}
header .brand.idle-ready:not(.is-idle) .brand-courses::before{animation:none;transform:rotate(-23deg) scale(1)}
header .brand.idle-ready:not(.is-idle):hover .brand-courses::after{animation:courses-stroke .65s ease-out forwards}
header .brand.idle-ready:not(.is-idle):hover .brand-courses::before{animation:courses-loop .4s .5s ease-out forwards}
header .brand.is-idle .brand-courses::after{animation:courses-idle-stroke 4s ease-in-out infinite}
header .brand.is-idle .brand-courses::before{animation:courses-idle-loop 4s ease-in-out infinite}
@keyframes courses-idle-stroke{0%,10%{transform:scaleX(1) rotate(-2deg)}18%{transform:scaleX(0) rotate(-2deg)}52%,100%{transform:scaleX(1) rotate(-2deg)}}
@keyframes courses-idle-loop{0%,10%{transform:rotate(-23deg) scale(1)}18%,45%{transform:rotate(-23deg) scale(0)}55%,100%{transform:rotate(-23deg) scale(1)}}
@media(prefers-reduced-motion:reduce){header .brand.is-idle .brand-courses::after,header .brand.is-idle .brand-courses::before{animation:none}}

/* Course reviews from the original course page */
.course-review-area{margin:clamp(62px,7vw,105px) auto 0;max-width:1220px;border-top:1px solid rgba(221,234,235,.22);padding-top:clamp(28px,4vw,48px)}
.course-review-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:24px}
.course-review-heading h3{margin:0;font:500 clamp(27px,3.1vw,44px)/1.12 var(--product-font);letter-spacing:-.04em}
.course-review-heading span{font:400 14px/1.5 var(--product-font);color:#bdd0d8}
.course-review-list{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,33%);gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding-bottom:18px;scrollbar-color:#a8bfca transparent}
.course-review{scroll-snap-align:start;display:flex;flex-direction:column;justify-content:space-between;min-height:225px;margin:0;padding:clamp(22px,2.5vw,32px);background:rgba(236,242,241,.065);border:1px solid rgba(221,234,235,.18);border-radius:18px}
.course-review p{font:400 clamp(17px,1.5vw,21px)/1.43 var(--product-font);letter-spacing:-.016em;margin:0 0 30px;color:#f2f4f0}
.course-review footer{font:500 14px/1.4 var(--product-font);color:#d4c09b}
.course-review-source{display:inline-block;margin-top:13px;color:#d2e6ee;font:500 14px/1.5 var(--product-font);text-underline-offset:4px}
.course-review-source:hover,.course-review-source:focus-visible{color:#fff}
@media(max-width:760px){.course-review-heading{display:block}.course-review-heading span{display:block;margin-top:7px}.course-review-list{grid-auto-columns:minmax(245px,83%)}.course-review{min-height:215px}}

.course-video-area{margin:clamp(46px,6vw,80px) auto 0;max-width:1220px;border-top:1px solid rgba(221,234,235,.22);padding-top:clamp(28px,4vw,48px)}
.course-video-list{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,24%);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;padding:0 0 20px;scrollbar-color:#a8bfca transparent}
.course-video-card{scroll-snap-align:start;min-width:0;margin:0}
.course-video-card video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:16px;background:#101e26;border:1px solid rgba(221,234,235,.22)}
.course-video-card figcaption{font:500 clamp(15px,1.3vw,18px)/1.35 var(--product-font);color:#eef1ed;margin:13px 2px}
@media(max-width:760px){.course-video-list{grid-auto-columns:minmax(180px,57%)}.course-video-card video{border-radius:12px}}

/* One editorial field of reviews and course films */
.course-placards{max-width:1220px;margin:clamp(54px,6vw,90px) auto 0;padding-top:clamp(28px,4vw,48px);border-top:1px solid rgba(221,234,235,.22)}
.course-placard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:175px;grid-auto-flow:row dense;gap:18px;align-items:stretch;padding:12px 5px 22px}
.course-placard-grid .course-review,.course-placard-grid .course-video-card{position:relative;min-width:0;min-height:0;margin:0;border:1px solid rgba(229,237,239,.22);border-radius:5px;box-shadow:0 15px 30px rgba(4,12,17,.22);transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease;overflow:hidden}
.course-placard-grid > :nth-child(4n+1){transform:rotate(-.75deg)}
.course-placard-grid > :nth-child(4n+2){transform:rotate(.85deg)}
.course-placard-grid > :nth-child(4n+3){transform:rotate(-.45deg)}
.course-placard-grid > :nth-child(4n){transform:rotate(.45deg)}
.course-placard-grid > :hover,.course-placard-grid > :focus-within{z-index:2;transform:translateY(-6px) rotate(0);box-shadow:0 23px 38px rgba(0,0,0,.32)}
.course-placard-grid .course-review{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(18px,1.8vw,25px);background:linear-gradient(145deg,#3a4b53,#243640);color:#f2f4f0}
.course-placard-grid .course-review p{font:400 clamp(15px,1.14vw,18px)/1.38 var(--product-font);letter-spacing:-.015em;margin:0 0 12px}
.course-placard-grid .course-review footer{font:500 13px/1.35 var(--product-font);color:#dbc9a9}
.course-placard-grid .course-video-card{grid-row:span 2;display:flex;flex-direction:column;background:#15242b}
.course-placard-grid .course-video-card video{display:block;width:100%;height:calc(100% - 48px);min-height:0;aspect-ratio:auto;object-fit:contain;background:#101b21;border:0;border-radius:0}
.course-placard-grid .course-video-card figcaption{height:48px;display:flex;align-items:center;margin:0;padding:0 14px;color:#e9efed;font:500 14px/1.25 var(--product-font)}
.course-placards .course-review-source{margin:12px 4px 0}
@media(max-width:1050px){.course-placard-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:195px}}
@media(max-width:760px){.course-placard-grid{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-template-rows:repeat(2,175px);grid-auto-columns:minmax(240px,68vw);gap:12px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding:10px 7px 24px}.course-placard-grid > *{scroll-snap-align:start;transform:none!important}.course-placard-grid .course-video-card{grid-row:span 2}.course-placard-grid .course-review p{font-size:15px}.course-placard-grid .course-video-card video{height:calc(100% - 48px)}}
@media(prefers-reduced-motion:reduce){.course-placard-grid > *{transform:none!important;transition:none!important}}
.course-placard-grid{grid-auto-rows:220px}
@media(max-width:1050px){.course-placard-grid{grid-auto-rows:220px}}
@media(max-width:760px){.course-placard-grid{grid-template-rows:repeat(2,215px)}}

/* Feedback film begins in the centre and makes room for spoken takeaways on play. */
.feedback-stage--takeaways{grid-template-columns:minmax(0,1fr) minmax(0,0fr);gap:0;transition:grid-template-columns .9s cubic-bezier(.22,1,.36,1),gap .9s cubic-bezier(.22,1,.36,1)}
.feedback-stage--takeaways.is-playing-feedback{grid-template-columns:minmax(240px,380px) minmax(0,1fr);gap:clamp(30px,6vw,90px)}
.feedback-stage--takeaways .feedback-takeaways{visibility:hidden;opacity:0;max-height:0;overflow:hidden;transition:opacity .5s ease,visibility .5s ease,max-height .8s ease}
.feedback-stage--takeaways.is-playing-feedback .feedback-takeaways{visibility:visible;opacity:1;max-height:1100px;transition:opacity .55s ease .25s,visibility 0s,max-height .8s ease}
@media(max-width:760px){.feedback-stage--takeaways,.feedback-stage--takeaways.is-playing-feedback{grid-template-columns:minmax(0,1fr);gap:0}.feedback-stage--takeaways.is-playing-feedback{gap:30px}}
@media(prefers-reduced-motion:reduce){.feedback-stage--takeaways,.feedback-stage--takeaways .feedback-takeaways{transition:none!important}}
/* Bring the course-room placards into the feedback composition. */
.course-placards{margin-top:clamp(22px,3vw,38px);padding-top:clamp(20px,2.6vw,32px)}
.course-placard-grid .course-review{animation:course-review-float 7s ease-in-out infinite;will-change:translate}
.course-placard-grid .course-review:nth-child(3n+1){animation-delay:-1.5s;animation-duration:7.8s}
.course-placard-grid .course-review:nth-child(3n+2){animation-delay:-3.2s;animation-duration:6.5s}
.course-placard-grid .course-review:nth-child(3n){animation-delay:-4.6s;animation-duration:8.4s}
@keyframes course-review-float{0%,100%{translate:0 2px}50%{translate:0 -7px}}
.course-placard-grid .course-review:hover,.course-placard-grid .course-review:focus-within{animation-play-state:paused;translate:0 -7px}
@media(prefers-reduced-motion:reduce){.course-placard-grid .course-review{animation:none;will-change:auto;translate:none}}
/* The lead feedback film rests as a muted image until invited into focus. */
.feedback-stage--takeaways:not(.is-playing-feedback) .feedback-video-wrap video{filter:blur(9px) brightness(.88);transform:scale(1.045);transition:filter .5s ease,transform .5s ease}
.feedback-stage--takeaways:not(.is-playing-feedback) .feedback-video-wrap:hover video,.feedback-stage--takeaways:not(.is-playing-feedback) .feedback-video-wrap:focus-within video{filter:none;transform:scale(1)}
.feedback-stage--takeaways.is-playing-feedback .feedback-video-wrap video{filter:none;transform:scale(1)}
@media(hover:none){.feedback-stage--takeaways:not(.is-playing-feedback) .feedback-video-wrap video{filter:blur(5px) brightness(.9)}}
@media(prefers-reduced-motion:reduce){.feedback-stage--takeaways .feedback-video-wrap video{transition:none}}

.course-placard-grid .course-review--expandable{gap:8px}
.course-review-expand{align-self:flex-start;border:0;background:none;padding:4px 0;color:#dcebf1;font:600 13px/1.25 var(--product-font);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.course-review-expand:hover,.course-review-expand:focus-visible{color:#fff}
.course-review-dialog{width:min(620px,calc(100% - 32px));max-height:min(82vh,740px);padding:clamp(22px,4vw,38px);border:1px solid #d4c09b;border-radius:16px;background:#23343e;color:#f6f4ef;box-shadow:0 30px 80px #0009}
.course-review-dialog::backdrop{background:rgba(5,15,21,.76);backdrop-filter:blur(6px)}
.course-review-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #ffffff3b;padding-bottom:15px}
.course-review-dialog-head h2{font:500 clamp(24px,3vw,34px)/1.15 var(--product-font);margin:0}
.course-review-dialog-head button{border:1px solid #ffffff55;border-radius:20px;background:transparent;color:inherit;padding:8px 14px;cursor:pointer;font:500 14px var(--product-font)}
.course-review-dialog p{font:400 clamp(17px,2vw,21px)/1.55 var(--product-font);margin:22px 0}
.course-review-dialog cite{font:500 15px/1.4 var(--product-font);color:#d6c5a4;font-style:normal}
/* Editorial image entrances: a soft lateral exposure, once per viewport. */
@media (prefers-reduced-motion:no-preference) {
  .course-poster.media-reveal-ready,
  .course-review.media-reveal-ready,
  .course-video-card.media-reveal-ready {
    opacity:.52;
    clip-path:inset(0 9% 0 0 round 16px);
    transform:translate3d(0,18px,0) scale(.985);
    transition:opacity .8s ease,clip-path 1.15s cubic-bezier(.19,1,.22,1),transform 1.15s cubic-bezier(.19,1,.22,1);
  }
  .course-poster.media-in-view,
  .course-review.media-in-view,
  .course-video-card.media-in-view {
    opacity:1;
    clip-path:inset(0 0 0 0 round 16px);
    transform:translate3d(0,0,0) scale(1);
  }
  .course-poster.media-reveal-ready img {transform:scale(1.055);transition:transform 1.4s cubic-bezier(.19,1,.22,1)}
  .course-poster.media-in-view img {transform:scale(1)}
}
