/* Responsive composition: reset fixed desktop tracks and offsets explicitly. */
img{max-width:100%}main>*{min-width:0}p,a,summary,address{overflow-wrap:break-word}
.menu-toggle{display:none}
html{scroll-padding-top:106px}
.header-shell.is-floating:focus-within:not(:has(:focus-visible)){opacity:0;transform:translateY(-100%);pointer-events:none}
.header-shell.is-floating.is-visible,.header-shell.is-floating.menu-open{opacity:1;transform:translateY(0);pointer-events:auto}
@media(max-width:1200px){
 .wrap,.header{width:calc(100% - 64px)}
 .hero-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:44px}
 .hero-photo{height:510px}
 .about .section-inner>h2,.about-editorial,.about-narrative{margin-left:0}
 .about-editorial{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}
 .about-editorial .about-photo img{height:510px}.about-statement .quote{font-size:30px}
 .buy-heading{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px}
 .interlude{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px}
 .work-intro,.concept-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:44px}
 .calendars{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:32px}
 .enjoy-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:48px}
 .gift{width:calc(100% - 128px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}
 .concept-heading{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px}.concept-heading h2{grid-column:auto}
 .concept .events,.siblings-grid,.contact-photo,.contact-layout{margin-left:0}
 .siblings-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}
 .registration-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:64px}
 .contact-layout{gap:36px}.contact-group a{overflow-wrap:anywhere}
 .year .course{margin-left:64px}
}
@media(max-width:1100px){
 .header-shell,.header-spacer{height:86px}.header,.header-shell.is-floating .header{height:86px;gap:20px}
 .header .logo,.header-shell.is-floating .logo{width:82px;height:62px}
 .menu-toggle{display:block;margin-left:auto;border:1px solid var(--color-line);padding:12px 17px;background:white;font:17px var(--font-body);cursor:pointer}
 .header .header-gift{min-width:0;gap:20px;padding:13px 17px}
 .header nav{display:none;position:absolute;left:0;right:0;top:86px;padding:28px 32px;background:#fff;border-bottom:1px solid var(--color-line);grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;font-size:20px}
 .header-shell.menu-open nav{display:grid}.header-shell.menu-open{z-index:110}
 h1{font-size:76px}h2,.buy-heading h2,.interlude h2,.gift h2,.registration-layout h2{font-size:60px;letter-spacing:-1px}
 .hero-top{gap:24px}.hero-top>.eyebrow:last-child{max-width:200px;text-align:right}
 .hero-mantra{font-size:40px}.hero-side>p:not(.hero-mantra){font-size:18px}
 .prose{font-size:19px}.about-narrative{gap:44px}
 .concept-layout{grid-template-columns:minmax(0,1fr);gap:32px}.concept-layout img{height:440px}.concept-layout .prose{max-width:620px;padding:0}
 .concept .list-heading{display:block}.concept .list-heading .eyebrow{display:block;margin-top:16px}
 .siblings-heading{gap:40px}.siblings-heading>p{width:230px}.siblings-grid h3{font-size:40px;max-width:240px}
 .siblings-grid img{width:80px;height:80px}.siblings-grid .location-meta{margin-bottom:52px}
 .list-heading h3{font-size:30px}.list-heading{align-items:start}
}
@media(max-width:800px){
 :root{--space-section:64px;--space-section-large:80px}
 .hero-layout,.buy-heading,.interlude,.work-intro,.enjoy-layout,.registration-layout{grid-template-columns:minmax(0,1fr);gap:36px}
 .hero-photo{height:420px}.hero-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 40px;align-items:start}.hero-side .hours{margin-top:0}.hero-side>.text-link{justify-self:start}
 .hero-mantra{margin-bottom:0}.hero-side>p:not(.hero-mantra){margin-bottom:0}
 .about-editorial{gap:32px}.about-editorial .about-photo img{height:460px}.about-statement .quote{font-size:26px;margin-bottom:28px}.about-statement>img{height:210px}
 .about-narrative{grid-template-columns:minmax(0,1fr);gap:24px}
 .interlude img{height:420px;max-width:450px}.buy-heading .prose{max-width:560px}
 .work-intro>img{height:390px}.work-intro{margin-top:40px}
 .enjoy-layout figure img{height:430px}.enjoy-layout figure{order:-1}
 .calendars{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}.calendars>div{grid-column:1/-1}
 .gift{gap:36px;width:calc(100% - 64px)}.gift-visual img{height:auto}.gift h2{font-size:54px}
 .concept-heading{align-items:start}.concept-heading>p{font-size:17px}
 .siblings-heading{display:block}.siblings-heading>p{width:auto;margin-top:24px}
 .siblings-grid{gap:36px}.siblings-grid img{position:static;margin-bottom:20px}.siblings-grid .location-meta{margin-bottom:22px}.siblings-grid h3{font-size:36px}
 .registration-layout>div>p{max-width:560px}.registration .chapter-label{margin-bottom:36px}
 .contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}.contact-group:last-child{grid-column:1/-1;max-width:350px}
 .gallery{gap:18px}.gallery>a:nth-child(n),.gallery-more .gallery>a:nth-child(n),.work-gallery .gallery>a:nth-child(n),.enjoy>.gallery>a:nth-child(n){grid-column:span 6;margin-top:0}
 .gallery>a:nth-child(n) img,.gallery-more .gallery>a:nth-child(n) img,.work-gallery .gallery>a:nth-child(n) img,.enjoy>.gallery>a:nth-child(n) img{height:270px}
 .full-bleed{padding:52px 0}.year .course{margin-left:24px}.course>summary{font-size:20px}
 .footer-top{gap:28px;flex-wrap:wrap}.footer-top>div{gap:22px;flex-wrap:wrap}
}
@media(max-width:600px){
 .wrap,.header{width:calc(100% - 40px)}
 body{font-size:18px}h1{font-size:56px;letter-spacing:-1px}h2,.buy-heading h2,.interlude h2,.gift h2,.registration-layout h2{font-size:46px;letter-spacing:-.6px}h3{font-size:30px}
 .header,.header-shell.is-floating .header{gap:10px}.header .logo,.header-shell.is-floating .logo{width:66px;height:56px}
 .menu-toggle{font-size:16px;padding:11px 13px}.header .header-gift{font-size:16px;padding:12px;gap:12px}.header .header-gift span{font-size:17px}
 .header nav{grid-template-columns:minmax(0,1fr);max-height:calc(100dvh - 86px);overflow:auto;gap:0;padding:10px 20px 18px}.header nav a{padding:12px 0;border-bottom:1px solid var(--color-line)}
 .hero{padding-top:26px}.hero-top{display:block}.hero-top>.eyebrow:last-child{display:none}.hero-top .eyebrow{font-size:11px;letter-spacing:1px}
 .hero h1{margin:26px 0 32px}.hero-layout{gap:30px}.hero-photo{height:340px}.hero-side{display:block}.hero-mantra{font-size:36px;margin-bottom:24px}.hero-side>p:not(.hero-mantra){margin-bottom:24px}.hero-side .hours{margin-top:30px}
 .chapter-label{margin-bottom:32px;font-size:12px;gap:18px}.eyebrow{font-size:12px;letter-spacing:1px}
 .about .section-inner>h2{margin:0 0 32px}.about-editorial{grid-template-columns:minmax(0,1fr);gap:30px}.about-editorial .about-photo img{height:auto;aspect-ratio:3/4;object-fit:cover}
 .about-statement .quote{font-size:28px;max-width:none}.about-statement>img{max-width:none;height:240px}.about-narrative{margin-top:32px;font-size:18px;padding-top:24px;gap:24px}
 .buy-heading{margin-bottom:36px;gap:24px}.prose{font-size:18px}.interlude{gap:32px}.interlude h2{margin-bottom:24px}.interlude p:last-child{font-size:18px}.interlude img{height:380px;max-width:none}
 .work-heading .eyebrow{line-height:1.8}.work-intro>img{height:280px}.work-intro{gap:28px}
 .calendars{margin-top:44px;gap:24px}.calendars strong{font-size:64px}.calendars>a .eyebrow{font-size:11px;letter-spacing:.5px}.calendars>a>span:last-child{font-size:16px}
 .program,.work-gallery{margin-top:52px}.list-heading{display:block;margin-bottom:24px}.list-heading .eyebrow{display:block;margin-top:12px}
 .year .course{margin-left:0}.year>summary{font-size:32px;padding:22px 0}.course>summary{font-size:19px;padding:21px 0;gap:18px}.course-body{font-size:18px;max-width:100%}.course-body h4{font-size:27px}.course-body h5{font-size:19px}
 summary::after{flex-shrink:0}.gallery-more>summary{font-size:16px}.gallery-more{margin-top:24px}
 .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gallery>a:nth-child(n),.gallery-more .gallery>a:nth-child(n),.work-gallery .gallery>a:nth-child(n),.enjoy>.gallery>a:nth-child(n){grid-column:auto;margin-top:0}
 .gallery>a:nth-child(n) img,.gallery-more .gallery>a:nth-child(n) img,.work-gallery .gallery>a:nth-child(n) img,.enjoy>.gallery>a:nth-child(n) img{height:190px}
 .gallery>a:first-child{grid-column:1/-1}.gallery>a:first-child img{height:300px}
 .enjoy h2{margin-bottom:32px}.enjoy-layout{gap:28px}.enjoy-layout figure img{height:330px}.intro{font-size:21px}.enjoy>.gallery{margin-top:40px}
 .gift{width:calc(100% - 40px);grid-template-columns:minmax(0,1fr);gap:32px;padding:0}.gift-visual{align-items:center}.gift-visual img{max-width:360px;height:auto}.gift>div:last-child{padding-top:0}.gift .shop-note{margin-top:24px}
 .concept-heading{grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:32px}.concept-heading h2{grid-column:auto}.concept-heading>p{margin:0}.concept-layout{gap:28px}.concept-layout img{height:300px}.concept .events{margin-top:40px}.concept .list-heading h3{font-size:29px}
 .siblings-heading{margin-bottom:36px}.siblings-grid{grid-template-columns:minmax(0,1fr);gap:40px}.siblings-grid article:nth-child(2){margin-top:0}.siblings-grid img{position:absolute;width:82px;height:82px}.siblings-grid .location-meta{margin-bottom:42px}.siblings-grid h3{font-size:40px;max-width:240px}
 .registration-layout{gap:32px}.registration-layout h2{margin-bottom:24px}.registration-layout>div>p{max-width:none}.form-grid{grid-template-columns:minmax(0,1fr)}.registration .form-grid{gap:22px}.full{grid-column:auto}input,select,textarea{min-width:0;max-width:100%;font-size:18px}select{width:100%;text-overflow:ellipsis}
 .conditions{font-size:16px}.conditions a,.legal a{overflow-wrap:anywhere}.consent{font-size:16px}.button{width:100%;justify-content:space-between;gap:20px}
 .contact h2{margin-bottom:32px}.contact-photo img{height:310px}.contact-layout{grid-template-columns:minmax(0,1fr);margin-top:32px;gap:32px}.contact-group:last-child{grid-column:auto;max-width:none}.contact-group>.eyebrow{margin-bottom:14px}.contact-group address{font-size:21px}.contact-group .hours{max-width:none}
 .footer{margin-top:44px;padding-bottom:32px}.footer-top{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}.footer-top>div{gap:24px}.legal>div{max-width:100%}.legal h3{font-size:22px}
}
@media(max-width:360px){h1{font-size:49px}h2,.buy-heading h2,.interlude h2,.gift h2,.registration-layout h2{font-size:41px}.header .header-gift{gap:8px;padding:11px 10px}.menu-toggle{padding:10px}.wrap,.header,.gift{width:calc(100% - 32px)}}

.gift-visual img{max-width:100%;height:auto}
