/* Focused refinement, preserving the ECORIT palette and artwork. */
[hidden]{display:none!important}
.preview-notice{padding:8px 20px;text-align:center;background:#eee3f3;color:#593666;font-size:12px;line-height:1.5;border-bottom:1px solid #dac6e4}
.header{height:112px}.brand img{width:94px;height:94px}
.hero-stage{grid-template-columns:1.2fr 1fr;padding:40px;gap:24px;overflow:hidden}
.hero .invitation-title{font-size:clamp(48px,4.8vw,70px);line-height:1.02;letter-spacing:-1.5px;margin:0 0 24px}
.hero .invitation-title em{color:#754299;font-size:1em;line-height:1.02;margin-top:9px}
.hero-copy>.invitation-copy{font-size:20px;line-height:1.6;max-width:520px}
.hero-copy>.intro{font-size:18px;margin:18px 0}.hero .event{margin-bottom:20px}
.hero-note{font-size:14px;padding:12px 0;background:none;margin-top:14px}.hero-art img{max-height:500px}
.section{padding-block:72px}.eyebrow{color:#725381}.lead,.statement p,.registration-copy>p{color:#62516b}
.audience-aside .statement{background:none;padding:16px 0}.aside-symbol{max-width:180px}.audience{margin-top:25px}
.teacher-panel{grid-template-columns:1.15fr .8fr;gap:60px;padding:38px}.teacher-photo img{max-height:500px;object-fit:cover;object-position:top}.teacher-facts{display:block;margin-top:25px}
.teacher-facts>div{border-radius:0;background:none;padding:20px 0;border-top:1px solid #e4d7e9}.teacher-facts strong{font:600 23px/1.3 Manrope,Arial,sans-serif;color:#633980;margin-bottom:8px}.teacher-facts span{font-size:17px;color:#62516b}.teacher-context{font-size:17px;color:#62516b;margin-bottom:0}
.program-card h3{font-style:normal}.program-heading{margin-bottom:80px}.program-card>p{min-height:0}.program-cards{align-items:start}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.faq>div>p:not(.eyebrow){font-size:18px;color:#62516b}.faq-list details{border-bottom:1px solid #d9c8e0}.faq-list summary{padding:23px 0;display:flex;justify-content:space-between;gap:20px;cursor:pointer;font-size:19px;font-weight:500;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:#754299}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:17px;color:#62516b;margin:0 0 24px}
.form-card .field-hint{color:#65516e;font-size:13px}.form-card input:not([type=radio]){width:100%;min-width:0}.registration-copy{align-self:start}.registration{padding-top:35px}.form-card{min-width:0}.choice-grid{min-width:0}.choice{min-width:0}
#contact-phone,#contact-email,#contact-telegram{margin:22px 0}.form-card label{color:#4f355d}.form-card fieldset{margin-block:22px}.form-card input:focus-visible{outline:2px solid #754299;outline-offset:3px}
@media(max-width:800px){.header{height:90px}.brand img{width:76px;height:76px}.hero-stage{grid-template-columns:1fr;padding:30px;gap:8px}.hero .invitation-title{font-size:54px}.hero-art{max-width:260px;margin:0 auto}.hero-art img{max-height:260px}.hero-note{margin-bottom:0}.hero-copy>.invitation-copy{font-size:19px}.section{padding-block:50px}.teacher-panel{grid-template-columns:1fr;gap:25px;padding:28px}.teacher-photo{max-width:320px}.teacher-facts{margin-top:20px}.faq{grid-template-columns:1fr;gap:10px}.faq-list summary{font-size:18px}.program-cards{gap:65px}.program-heading{margin-bottom:70px}.registration{padding-top:20px}.teacher-copy>.lead{font-size:20px}.teacher-context{font-size:16px}}
@media(max-width:450px){.hero-stage{padding:26px 22px}.hero .invitation-title{font-size:44px;letter-spacing:-.8px}.hero-copy>.invitation-copy{font-size:17px;line-height:1.55}.hero-copy>.intro{font-size:17px;margin-block:16px}.hero .event span:first-child{font-size:17px}.hero-note{font-size:13px;gap:9px}.hero .button{min-height:54px;padding-block:12px}.hero-art{max-width:210px}.teacher-panel{padding:25px 22px}.teacher-facts strong{font-size:23px}.teacher-facts span{font-size:16px}.form-card{padding:25px 20px}.preview-notice{font-size:11px;padding:7px 16px}.faq-list summary{font-size:17px}.floating-action{width:42px;height:42px}}

/* Text alignment and consistent inner gutters. */
.audience-aside .statement{padding:28px 30px;background:#ffffff80;text-align:left}
.statement strong,.statement p{margin-inline:0;overflow-wrap:break-word}
.statement p{margin-top:16px}
.hero-copy,.teacher-copy,.audience-layout>div,.registration-copy,.faq>div{min-width:0}
.teacher-copy,.audience-layout,.registration-copy,.form-card,.faq-list,.program-card{text-align:left}
.program-cards{align-items:stretch}
.program-card{display:flex;flex-direction:column}
.program-card h3{min-height:0;margin:0 0 20px}
.program-card>p{margin:0 0 24px}
.program-card details{margin-top:auto}
.format-option{grid-template-columns:78px minmax(0,1fr);align-content:start}
.format-option strong,.format-option>span:not(.format-icon),.format-option b{grid-column:2;margin:0;text-align:left}
.format-option b{margin-top:8px}.format-icon{grid-column:1;grid-row:1/4}
.faq-list summary{align-items:baseline}.faq-list summary>span{flex-shrink:0}
.form-card label,.form-card legend,.form-card .field-hint{padding-left:0;text-align:left}
@media(min-width:801px){.program-card h3{min-height:2.32em}.program-card>p{flex:1}.format-option b{align-self:end}}
@media(max-width:800px){.audience-aside .statement{padding:24px}.program-card{max-width:none}.program-heading{text-align:left;margin-inline:0}.program-heading br{display:none}.program-card h3{min-height:0}.program-bottom{align-items:stretch;text-align:left}.format-option{grid-template-columns:65px minmax(0,1fr)}}
@media(max-width:450px){.audience-aside .statement{padding:22px}.statement strong{font-size:22px;line-height:1.35}.statement p{font-size:17px;line-height:1.6}.format-option{grid-template-columns:54px minmax(0,1fr)}.program-card{padding-inline:24px}}
@media(max-width:800px){.program-heading br{display:revert}.program-heading h2{overflow-wrap:break-word;text-wrap:balance}}
