/* Shared readability improvements, version 1.2. */
:root{--particle-rgb:218,204,239}
body{font-size:16px}
.brand{flex-direction:row;align-items:center;gap:16px}
.brand>.brand-mark{position:relative;display:block;flex:none;width:62px;height:80px;overflow:hidden;line-height:0}
.brand-mark img{width:100%;height:100%;object-fit:contain}
/* Display the supplied artwork unchanged; blend its inverted paper into the dark header. */
.brand>.brand-mark-source{mix-blend-mode:screen}
.brand-mark-source img{position:absolute;width:120px;height:120px;max-width:none;left:-24px;top:-31px;filter:invert(1) brightness(1.14)}
.brand>.brand-copy{display:flex;flex-direction:column;gap:7px;letter-spacing:0}
.brand-copy>span{font-family:var(--serif);font-size:22px;letter-spacing:.085em;line-height:1.15;white-space:nowrap}
.brand-copy small,.site-footer .brand-copy small{font-size:9px;letter-spacing:.24em;text-align:left;color:var(--muted)}
.header-inner{gap:32px;height:102px}
.navigation{gap:26px}
.navigation a{font-size:15px;color:#d2cadf;min-height:48px;display:inline-flex;align-items:center}
.header-contact{font-size:14px;min-height:48px;padding-left:25px;gap:14px;white-space:nowrap}
.button,.hero-actions .button,.cooperation-content>.button,.contact-form .button{font-size:15px;min-height:52px}
.text-link,.hero-actions .text-link{font-size:15px;min-height:44px}
.hero-actions{flex-wrap:wrap;gap:14px 26px}
.hero-description{font-size:16px;line-height:1.85;max-width:470px;color:#c0b9ce}
.eyebrow,.hero-copy .eyebrow{font-size:12px;letter-spacing:.16em;white-space:normal}
.scroll-note{font-size:11px;color:#b4a9c3}
.portrait-caption p{font-size:10px;letter-spacing:.12em;color:#d0c6db;max-width:none}
.vertical-label{font-size:9px}
.expertise-grid span{font-size:15px}.expertise-grid small{font-size:12px;color:#ada4bc}
.expertise-grid>div{gap:16px}.expertise-grid>div+div{padding-left:26px}
.section-heading>p{font-size:16px;line-height:1.8;max-width:410px}
.event-filters{gap:8px}
.event-filters button{font-size:15px;min-height:48px;padding:11px 17px;color:#c4b9d3;border-color:rgba(200,181,221,.22);line-height:1.5}
.event-filters button[aria-pressed=true]{font-weight:600;background:#d7c6e8;color:#21142c;border-color:#d7c6e8;box-shadow:inset 0 -3px 0 #a68abf}
.view-switch button{font-size:14px;min-height:44px;padding:10px 13px;color:#c2b5d0}
.view-switch button[aria-pressed=true]{font-weight:600;background:#372845;color:#fff}
.view-switch .icon{width:18px;height:18px}
.event-search label>span{font-size:13px;color:#bfb1ce}
.event-search input,.event-search select{font-size:16px;min-height:48px;border-color:#655471;color:#eee5f5;max-width:320px}
.event-search>p{font-size:13px;color:#b6a7c6}
.event-tag{font-size:11px;letter-spacing:.08em;color:#cbb7de}
.event-card{padding:28px;min-height:455px}
.event-card h3{font-size:38px;margin-top:28px}
.event-card p{font-size:15px;line-height:1.85;color:#bcb0cd}
.event-meta{font-size:14px;gap:10px 17px;color:#ded1e9;line-height:1.6}
.event-meta .icon{width:17px;height:17px}
.event-price strong{font-size:23px}.event-price strong.event-external-label{font-size:15px}
.event-price small{font-size:12px;color:#b7a6c8}
.event-card .button{font-size:14px;min-height:50px;gap:12px}
.event-footnote{font-size:12px;color:#b1a2c0}
.calendar-head .eyebrow{font-size:11px}
.calendar-controls .icon-button,.icon-button,.back-top{width:46px;height:46px;flex:none}
.today-button{font-size:14px;min-height:46px}
.weekday{font-size:12px;color:#beb0cd}
.calendar-day{color:#cabbd8}
.calendar-day .day-num{font-size:15px}
.calendar-day.other-month{opacity:.65}
.day-event{font-size:12px;line-height:1.4}.day-dot{width:5px;height:5px}
.calendar-day.selected{box-shadow:inset 0 0 0 1px #c0a6d6}
.agenda-row p{font-size:14px}.agenda-row button{font-size:14px;min-height:44px}
.body-copy{font-size:16px;line-height:1.85}
.values h3{font-size:16px}.values p{font-size:14px;color:#b5a6c4;line-height:1.75}
.about-visual figcaption .eyebrow{font-size:11px}
.cooperation-content>p:not(.eyebrow),.faq-section>div>p:not(.eyebrow),.contact-grid>div>p:not(.eyebrow){font-size:16px;line-height:1.85}
.credo-section .eyebrow{font-size:11px}
.faq-list summary{font-size:16px;color:#e1d6e9;line-height:1.65}
.faq-list details>p{font-size:15px;line-height:1.85}
.social-link,.email-link{font-size:15px;min-height:48px}
.contact-form>label,.contact-form .form-row>label{font-size:14px;color:#cec0da}
.contact-form input:not([type=checkbox]),.contact-form textarea,.contact-form select{font-size:16px;border-bottom-color:#74607f;min-height:50px}
.contact-form .checkbox-label{font-size:12px;line-height:1.8;color:#b9a8c6;min-height:44px}
.checkbox-label input{width:20px;height:20px;flex:none}
.form-response,.form-notice{font-size:14px}
.contact-invitation p{font-size:16px}
.footer-links{font-size:13px;color:#b8aac7;gap:10px 24px}
.footer-links a{display:inline-flex;align-items:center;min-height:44px}
.site-footer>p{font-size:12px;color:#b0a1bd}
.site-footer .brand>.brand-copy{font-size:22px}
.event-dialog p,.event-dialog li{font-size:16px;line-height:1.85}
.event-dialog .eyebrow{font-size:12px}
.dialog-meta{font-size:14px}.dialog-program{color:#c9b8d6}
.booking-card p{font-size:16px}.booking-card small{font-size:13px}
.woocommerce .form-row label{font-size:14px}
.woocommerce input.input-text,.woocommerce textarea,.woocommerce select{font-size:16px!important}
.woocommerce .select2-container .select2-selection__rendered{font-size:16px}
.woocommerce .form-row .description,.woocommerce .woocommerce-privacy-policy-text,.woocommerce .woocommerce-terms-and-conditions-checkbox-text{font-size:13px}
.woocommerce table.shop_table td,.woocommerce table.shop_table th,.woocommerce .woocommerce-checkout-review-order-table th{font-size:14px}
.woocommerce ul.order_details li{font-size:12px}

@media(max-width:1100px){
 .header-inner{gap:22px}.brand{gap:12px}.brand-copy>span{font-size:20px}.navigation{gap:19px}.header-contact{display:none}
 .event-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.event-card:last-child:nth-child(odd){grid-column:1/-1}
 .explorer-toolbar{flex-wrap:wrap}.view-switch{margin-left:auto}
 .hero h1{font-size:65px}.hero-description{max-width:380px}.hero-copy{padding-block:60px}
 .expertise-grid>div+div{padding-left:18px}.expertise-grid span{font-size:14px}.expertise-grid small{font-size:12px}
}
@media(max-width:900px){
 .header-inner{height:86px}.brand>.brand-mark{width:52px;height:70px}.brand-mark-source img{width:104px;height:104px;left:-21px;top:-27px}
 .menu-toggle{display:flex;margin-left:auto;flex-direction:column;gap:6px;width:48px;height:48px;align-items:center;justify-content:center;flex:none}
 .menu-toggle span{display:block;width:25px;height:1px;background:#d2bddf;transition:transform .2s}
 .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
 .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
 .navigation{display:none;position:absolute;left:0;right:0;top:86px;padding:20px 32px;background:#0e0e20;border-bottom:1px solid var(--line)}
 .navigation.open{display:flex;flex-direction:column;gap:5px;align-items:stretch}.navigation ul{flex-direction:column;gap:5px}
 .navigation a{font-size:17px;display:flex;padding:12px;min-height:48px}
 .hero-copy .eyebrow{font-size:11px}.hero h1{font-size:59px}.hero-description{font-size:16px}
 .portrait-caption p{font-size:10px;max-width:260px}
 .expertise-grid{gap:16px}.expertise-grid>div{align-items:flex-start;gap:12px}.expertise-grid .icon{margin-top:5px}
 .about-grid{gap:40px}.about-visual img{width:415px;height:630px}
 .contact-grid,.faq-section{grid-template-columns:1fr;gap:35px}.contact-grid>div>p:not(.eyebrow){max-width:550px}
 .site-footer{gap:28px}.site-footer>p{text-align:left}
 .footer-links{margin-left:0}
}
@media(max-width:680px){
 html{scroll-padding-top:100px}.container,.header-inner{width:calc(100% - 40px)}
 .brand{gap:10px}.brand-copy>span{font-size:19px;letter-spacing:.06em}.brand-copy small{font-size:8px;letter-spacing:.19em}
 .brand>.brand-mark{width:46px;height:65px}.brand-mark-source img{width:98px;height:98px;left:-21px;top:-25px}
 .header-inner{gap:8px}.navigation{padding:16px 20px}
 .hero-copy{padding:42px 0 0}.hero-copy .eyebrow{font-size:11px;max-width:340px;line-height:1.8;margin-bottom:20px}
 .hero h1{font-size:clamp(49px,12.6vw,78px)}.hero-description{font-size:16px;line-height:1.8;max-width:460px;margin-top:20px}
 .hero-actions{display:flex;gap:12px 20px;margin-top:26px}.hero-actions .button{font-size:15px;padding:14px 18px;min-height:52px;gap:18px}
 .hero-actions .text-link{font-size:14px;min-height:44px}
 .hero-visual{margin-top:12px}.portrait-caption p{font-size:10px;max-width:310px;margin:auto}.vertical-label{font-size:8px}
 .expertise-grid{gap:0}.expertise-grid>div{align-items:center;padding:18px 0;gap:18px}
 .expertise-grid>div+div{padding-left:0}.expertise-grid span{font-size:15px}.expertise-grid small{display:block;font-size:12px;margin-left:0;margin-top:3px}
 .eyebrow{font-size:11px}.section-heading>p{font-size:16px;line-height:1.8}
 .explorer-toolbar{display:block;padding-bottom:20px}
 .event-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
 .event-filters button{font-size:15px;min-height:48px;padding:11px 8px}
 .view-switch{margin:16px 0 0;width:100%;padding:4px}.view-switch button{font-size:15px;flex:1;justify-content:center;min-height:44px}
 .event-search{display:grid;grid-template-columns:1fr;gap:16px;padding:22px 0}
 .event-search .search-field,.event-search label:not(.search-field){width:100%}
 .event-search input,.event-search select{font-size:16px;width:100%;max-width:none;min-height:48px}
 .event-search>p{font-size:13px;padding:0;margin:0}
 .event-cards{grid-template-columns:1fr}.event-card{min-height:0;padding:26px}.event-card h3{font-size:40px}
 .event-card p{font-size:15px}.event-tag{font-size:11px}.event-meta{font-size:14px;gap:12px 20px}
 .event-card .card-bottom{display:block;padding-top:26px}.event-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px;margin-bottom:17px}
 .event-price strong{font-size:23px}.event-price small{font-size:12px;margin:0}
 .event-card .button{max-width:none;width:100%;font-size:15px;min-height:50px;margin:0}
 .event-footnote{font-size:12px;align-items:flex-start;text-align:left}
 .calendar-view{padding:20px 10px}.calendar-head{display:block;margin-bottom:20px}.calendar-head h3{font-size:34px}
 .calendar-head .eyebrow{font-size:10px}.calendar-controls{margin-top:17px;justify-content:space-between;gap:10px}
 .calendar-controls .icon-button{width:46px;height:46px}.today-button{font-size:14px;padding-inline:18px}
 .weekday{font-size:11px;letter-spacing:0}.calendar-day .day-num{font-size:15px}.calendar-day{min-height:58px}
 .day-event{font-size:0}.day-dot{width:6px;height:6px}
 .agenda-row{display:block}.agenda-row p{font-size:14px}.agenda-row button{font-size:14px;margin-top:8px}
 .body-copy{font-size:16px}.values h3{font-size:16px}.values p{font-size:14px}.about-visual figcaption .eyebrow{font-size:10px}
 .about-visual{margin-top:35px}.cooperation-content>.button{font-size:14px;gap:12px;padding-inline:16px}
 .cooperation-content>p:not(.eyebrow),.faq-section>div>p:not(.eyebrow),.contact-grid>div>p:not(.eyebrow){font-size:16px}
 .cooperation-topics h3{font-size:29px}.credo-section .eyebrow{font-size:10px}
 .faq-list summary{font-size:16px;gap:20px}.faq-list details>p{font-size:15px;padding-right:0}
 .contact-form>label,.contact-form .form-row>label{font-size:14px}.contact-form .checkbox-label{font-size:12px}
 .footer-links{font-size:13px;gap:8px 22px}.site-footer>p{font-size:12px}
 .event-dialog{padding:65px 24px 29px}.event-dialog p,.event-dialog li{font-size:16px}.dialog-meta{font-size:14px}
 .woocommerce table.shop_table td,.woocommerce table.shop_table th{font-size:14px}
}
@media(max-width:370px){
 .container,.header-inner{width:calc(100% - 30px)}.brand-copy>span{font-size:17px}.brand-copy small{font-size:8px}.brand{gap:8px}
 .hero h1{font-size:49px}.hero-actions{gap:12px}.event-card{padding:22px}
 .cooperation-content>.button .icon:first-child{display:none}
}
