/* Final review: clear steps, consistent controls, and comfortable small screens. */
:root{--header-offset:150px;--focus-ring:#78c9ff}
html{scroll-padding-top:var(--header-offset)}
section,[id]{scroll-margin-top:18px}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px}
.light :focus-visible,.day :focus-visible{outline-color:#593679}
summary{min-height:44px;padding-block:8px;line-height:1.5}
.button{border-radius:8px;min-height:48px;text-align:center;line-height:1.5}
button.text-link{appearance:none;-webkit-appearance:none;background:transparent;color:var(--gold);border:0;font:inherit;cursor:pointer;min-height:44px}
.light .text-link,.day .text-link{color:#604221}
.light .note,.day .note{color:#574260}
.light .button,.day .button{background:#29163d;color:#fff6e9}
.opening-action{padding-inline:16px;gap:16px}
.opening-action>span,.opening-action .button{align-self:center;text-align:center}
.opening-action .button{background:#e9c878;color:#170d29;-webkit-text-fill-color:#170d29}
.opening-action .button:hover{background:#f5dca1}
.opening-action .button:active{background:#dbb85f}
.participation-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;margin:22px 0 32px;padding:18px 0;border-block:1px solid #f1ce8633;counter-reset:steps}
.participation-steps li{min-width:0;counter-increment:steps;font-size:14px;line-height:1.55}
.participation-steps strong{display:block;color:#f1ce86;font-size:16px}
.participation-steps strong::before{content:counter(steps) ". ";font-variant-numeric:tabular-nums}
.participation-steps span{display:block;color:#d5c6e2;margin-top:5px}
.opening-journey .opening-location{margin-bottom:12px}
.opening-option-heading strong{font-family:ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;font-weight:650;font-size:22px;letter-spacing:-.025em}
.opening-option-name{line-height:1.5}
.opening-journey .community-shortcut{margin:16px 0 0;font-size:14px}
.community-shortcut a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.opening-journey .community-contribution{margin:28px 0 0;padding:18px 24px}
.community-contribution>summary{font-size:17px;color:#f1ce86;font-weight:650}
.community-content{padding-top:12px}
.community-contribution .community-content>h3{margin-top:14px}
.opening-journey input,.opening-journey select{scroll-margin-block:150px;font-size:16px}
.opening-journey .opening-submit-row .button{margin:0}
.opening-journey #interest-status:empty{display:none}
.opening-journey #interest-status{padding:14px 16px;border-left:3px solid #f1ce86;background:#ffffff08;max-width:100%;font-size:15px;line-height:1.6}
.opening-journey [aria-invalid=true]{border:2px solid #b52f4d}
.opening-journey .motive-field select{min-height:48px}
.opening-journey .opening-option .explore{font-size:15px}
.experience-panel{position:relative}
.view-navigation{min-height:52px;align-items:center}
.slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
video{max-width:100%}
.welcome-media video,.square-story video{aspect-ratio:1}
.portrait-story video{aspect-ratio:9/16}
@media(max-width:960px){
 :root{--header-offset:106px}
 .avalon-header nav{grid-column:1/-1;grid-row:2}
 .avalon-header nav a{padding:5px 2px}
 .avalon-header .menu-toggle{display:block}
}
@media(max-width:640px){
 .opening-action{gap:7px;padding-inline:12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
 .opening-journey{width:calc(100% - 24px);padding:24px 16px}
 .opening-journey h2{font-size:clamp(28px,7.8vw,40px)}
 .participation-steps{gap:12px;margin:18px 0 24px;padding:16px 0}
 .participation-steps li{font-size:12px;line-height:1.5}
 .participation-steps strong{font-size:14px}
 .opening-journey .community-contribution{padding:14px 16px}
 .community-contribution>summary{font-size:16px}
 .opening-option-heading strong{font-size:23px}
 .slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .opening-contact-grid input{width:100%;min-width:0}
 footer{padding-bottom:32px}
}
@media(max-width:360px){
 .avalon-header{padding-inline:12px}
 .avalon-header .header-house-logo{width:105px}
 .language-switch a{min-width:32px}
 .avalon-header .menu-toggle{min-width:56px;padding-inline:8px}
 .opening-option-heading strong{font-size:21px}
 .recommended-badge{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}

/* Agenda: one compact home entrance and a chronological, bilingual event list. */
.home-agenda-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:2rem 0 1rem;padding:1.25rem 1.5rem;border:1px solid #f1ce8655;border-radius:10px;background:linear-gradient(115deg,#261d30,#191b2d);text-decoration:none}
.home-agenda-link strong{display:block;color:var(--gold);font:400 clamp(1.35rem,3vw,1.75rem)/1.3 Georgia,serif}
.home-agenda-link small{display:block;color:var(--text);font:400 .95rem/1.5 system-ui,sans-serif;margin-top:.4rem}
.home-agenda-arrow{flex:none;color:var(--pink);font-size:1.75rem}
.home-agenda-link:focus-visible{outline:3px solid var(--pink);outline-offset:5px}
.avalon-agenda{max-width:940px;padding-top:2.5rem}
.avalon-agenda h2{font-size:clamp(2.15rem,5vw,3.5rem);line-height:1.1}
.agenda-intro{max-width:650px}
.agenda-list{display:grid;gap:1rem;margin-top:2rem}
.agenda-event{display:grid;grid-template-columns:110px minmax(0,1fr);gap:1.5rem;align-items:start;padding:1.5rem;border:1px solid #f1ce8633;border-radius:10px;background:#191720}
.agenda-date{display:block;text-align:center;color:var(--gold);padding:.6rem 0}
.agenda-date>span{display:block;font:400 clamp(2.6rem,7vw,3.75rem)/1 Georgia,serif}
.agenda-date>small{display:block;margin-top:.65rem;font:650 .7rem/1.5 system-ui,sans-serif;letter-spacing:.09em}
.agenda-event-copy{min-width:0}
.agenda-event-copy .agenda-kind{font:650 .7rem/1.5 system-ui,sans-serif;letter-spacing:.1em;color:var(--pink);margin:0 0 .5rem}
.agenda-event-copy h3{font:400 clamp(1.4rem,3.5vw,1.9rem)/1.2 Georgia,serif;margin:0 0 .6rem;color:var(--text);overflow-wrap:anywhere}
.agenda-event-copy p{margin:.35rem 0;font-size:1rem;line-height:1.5}
.agenda-event-copy .agenda-time{color:var(--gold);font-weight:600}
.agenda-event-copy .text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:.5rem;font-size:.95rem;line-height:1.5}
.agenda-opening{border-color:#ff4db966;background:linear-gradient(120deg,#24182b,#191d31)}
.agenda-venue{margin-top:2rem}
@media(max-width:600px){.home-agenda-link{padding:1rem}.agenda-event{grid-template-columns:75px minmax(0,1fr);gap:1rem;padding:1.1rem .85rem}.agenda-date>small{font-size:.62rem;letter-spacing:.04em}.agenda-event-copy .text-link{font-size:.9rem}.avalon-agenda{padding-top:2rem}}
@media(max-width:360px){.agenda-event{grid-template-columns:60px minmax(0,1fr);gap:.7rem}}

/* Sensory Room photographic collage */
.sensory-photo-collage{margin:1.75rem 0 2rem;overflow:hidden;border:1px solid #8b6ab64d;border-radius:18px;background:#131222}
.sensory-photo-collage img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.sensory-photo-collage figcaption{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.25rem;line-height:1.5;text-align:left}
.sensory-photo-collage figcaption strong{color:var(--text);font-size:1.15rem}
.sensory-photo-collage figcaption span{color:var(--text)}
.sensory-photo-collage figcaption small{color:#c6c0d1;font-size:.82rem}
@media(max-width:600px){.sensory-photo-collage{margin:1.25rem 0;border-radius:12px}.sensory-photo-collage figcaption{padding:.85rem 1rem}}

/* MAGNANIMOUS · confirmed November workshop */
.magnanimous-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:start;margin-top:3rem;padding-top:2rem;border-top:1px solid #f1ce8644;scroll-margin-top:var(--header-offset,110px)}
.magnanimous-art{margin:0;min-width:0}.magnanimous-art img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid #f1ce8644}
.magnanimous-copy{min-width:0}.magnanimous-copy h2{font-size:clamp(1.65rem,3vw,2.8rem);line-height:1.2;overflow-wrap:anywhere}.magnanimous-copy p{font-size:1rem;line-height:1.65}.magnanimous-copy .lead{font-size:1.15rem}.magnanimous-copy .note{font-size:.88rem}
.magnanimous-bonus{padding:1.2rem;border:1px solid #f1ce8688;border-radius:12px;background:linear-gradient(130deg,#292038,#111e36);margin:1.3rem 0}.magnanimous-bonus .eyebrow{color:#ffe0a4;font-size:.85rem}.magnanimous-bonus .magnanimous-price{margin-bottom:0}.magnanimous-price strong{display:block;font:650 clamp(1.8rem,4vw,2.5rem)/1.3 system-ui,sans-serif;color:#ffe0a4}.magnanimous-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;text-align:center;background:#f2cf89!important;color:#171326!important;border-color:#f2cf89!important}.magnanimous-cta:focus-visible{outline:3px solid #f7a9df;outline-offset:4px}.magnanimous-home{border-color:#f1ce8688}
@media(max-width:800px){.magnanimous-feature{grid-template-columns:minmax(0,1fr)}.magnanimous-art{max-width:560px;margin-inline:auto}.magnanimous-copy h2{font-size:clamp(1.65rem,7vw,2.5rem)}.magnanimous-cta{width:100%}}
