:root{--ink:#1f2824;--muted:#66706b;--paper:#f5f1e9;--cream:#ebe3d6;--sage:#a9b5a5;--sage-dark:#3e5648;--clay:#b87854;--white:#fff;--line:rgba(31,40,36,.14);--shadow:0 24px 70px rgba(39,42,35,.14)}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fbfaf7;font-family:"DM Sans",sans-serif}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}.announcement{height:34px;background:var(--sage-dark);color:#fff;text-align:center;font-size:12px;line-height:34px;letter-spacing:.02em}.announcement a{margin-left:10px;text-decoration:underline}.site-header{height:82px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:rgba(251,250,247,.94);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px}.brand em{font-family:"Newsreader",serif;font-weight:400}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50% 50% 48% 52%;background:var(--sage-dark);color:#fff;font-family:"Newsreader",serif;font-size:15px}.site-header nav{display:flex;gap:30px;font-size:14px}.site-header nav a:hover{color:var(--clay)}.header-actions{display:flex;align-items:center;gap:18px}.text-button{border:0;background:none;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--sage-dark);color:#fff;padding:14px 22px;border-radius:100px;font-weight:600;transition:.2s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(62,86,72,.22)}.button-small{padding:11px 18px;font-size:13px}.hero{min-height:690px;position:relative;display:flex;align-items:flex-end;overflow:hidden}.hero>img{position:absolute;inset:0;height:100%;filter:saturate(.78)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,28,24,.68),rgba(25,28,24,.15) 65%),linear-gradient(0deg,rgba(25,28,24,.35),transparent 50%)}.hero-copy{position:relative;z-index:2;color:#fff;max-width:760px;padding:0 5vw 92px}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--clay);margin:0 0 16px}.eyebrow.light{color:#ddd4c2}.hero h1,.section h2,.studio-copy h2,.info-section h2{font-family:"Newsreader",serif;font-weight:400}.hero h1{font-size:clamp(52px,7vw,92px);line-height:.94;letter-spacing:-.035em;margin:0 0 28px}.hero h1 i{font-weight:400;color:#e0d5c4}.hero-copy>p:not(.eyebrow){font-size:17px;line-height:1.65;max-width:580px;color:rgba(255,255,255,.88)}.hero-actions{display:flex;gap:12px;margin-top:30px}.button-light{background:#fff;color:var(--ink)}.button-ghost{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.55)}.next-class{position:absolute;right:4vw;bottom:0;z-index:3;width:340px;background:#fbfaf7;padding:24px 26px;border-radius:20px 20px 0 0;box-shadow:var(--shadow)}.next-class .date{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}.next-class h3{margin:16px 0 6px;font-family:"Newsreader",serif;font-size:25px}.next-class .spots{display:flex;justify-content:space-between;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:13px}.section{padding:110px 6vw}.section-heading h2,.studio-copy h2,.info-section h2{font-size:clamp(42px,5vw,68px);line-height:1;margin:0}.split{display:flex;justify-content:space-between;align-items:end;gap:60px}.split>p{max-width:440px;color:var(--muted);line-height:1.65}.filter-row{display:flex;gap:8px;margin:46px 0 26px}.filter{border:1px solid var(--line);background:transparent;padding:9px 15px;border-radius:100px;color:var(--muted)}.filter.active{background:var(--ink);color:#fff}.class-list{border-top:1px solid var(--ink)}.class-row{display:grid;grid-template-columns:120px 1.5fr 1fr 160px;align-items:center;gap:30px;padding:28px 8px;border-bottom:1px solid var(--line);transition:.2s}.class-row:hover{background:var(--paper);padding-left:20px;padding-right:20px}.class-date strong{display:block;font-family:"Newsreader",serif;font-size:35px;font-weight:400}.class-date span,.class-meta,.class-teacher small{color:var(--muted);font-size:13px}.class-teacher h3{font-family:"Newsreader",serif;font-size:25px;margin:0 0 7px}.class-teacher span{display:inline-block;margin-top:8px;padding:4px 9px;border-radius:100px;background:var(--cream);font-size:11px}.class-meta{display:grid;gap:7px}.class-action{text-align:right}.class-action button{width:100%}.class-action small{display:block;margin-top:8px;color:var(--muted)}.studio-grid{display:grid;grid-template-columns:1.25fr .9fr;grid-template-rows:auto 220px;background:var(--paper)}.image-frame{overflow:hidden}.image-frame img{height:100%;transition:transform .7s}.image-frame:hover img{transform:scale(1.025)}.studio-main{min-height:690px}.studio-copy{padding:80px 7vw 60px;background:var(--cream)}.studio-copy>p:not(.eyebrow){line-height:1.7;color:var(--muted)}.feature-list{list-style:none;padding:0;margin:34px 0}.feature-list li{padding:15px 0;border-bottom:1px solid var(--line)}.feature-list span{color:var(--clay);font-size:11px;margin-right:16px}.inline-link{font-weight:700;border-bottom:1px solid;padding-bottom:4px}.studio-detail{grid-column:2}.news-section{background:#fbfaf7}.news-grid{margin-top:45px;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:18px}.news-card{border-radius:4px;overflow:hidden;min-height:370px}.news-card.featured{position:relative;color:#fff}.news-card.featured img{position:absolute;height:100%}.news-card.featured:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(24,28,24,.75),transparent)}.news-card.featured div{position:absolute;z-index:2;bottom:0;padding:30px}.news-card span{font-size:11px;text-transform:uppercase;letter-spacing:.15em}.news-card h3{font-family:"Newsreader",serif;font-size:30px;line-height:1.1;margin:12px 0}.news-card p{line-height:1.6}.text-card{background:var(--sage-dark);color:#fff;padding:36px;display:flex;flex-direction:column}.text-card p{color:rgba(255,255,255,.72)}.text-card a{margin-top:auto;font-weight:700}.text-card.warm{background:var(--clay)}.gallery{height:500px;display:grid;grid-template-columns:1.2fr 1fr .8fr}.gallery img{height:100%}.gallery-quote{background:var(--ink);color:#fff;display:grid;place-items:center;padding:45px}.gallery-quote p{font-family:"Newsreader",serif;font-size:31px;line-height:1.25}.info-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;background:var(--paper)}.whatsapp{margin-top:45px;border:1px solid var(--line);padding:16px;display:flex;align-items:center;gap:14px;background:#fff}.whatsapp>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;font-size:12px;font-weight:700}.whatsapp div{display:grid}.whatsapp small{color:var(--muted);margin-top:3px}.whatsapp strong{margin-left:auto}.accordion details{border-top:1px solid var(--line);padding:22px 0}.accordion details:last-child{border-bottom:1px solid var(--line)}.accordion summary{font-family:"Newsreader",serif;font-size:24px;cursor:pointer}.accordion p{color:var(--muted);line-height:1.65;padding-right:40px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:40px 5vw;background:#fff;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}footer>div:last-child{display:flex;gap:20px}
dialog{border:0;border-radius:12px;padding:0;width:min(560px,calc(100% - 30px));box-shadow:var(--shadow);color:var(--ink)}dialog::backdrop{background:rgba(20,26,22,.65);backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:18px;top:15px;border:0;background:none;font-size:28px}.booking-panel{padding:42px}.booking-panel h2{font-family:"Newsreader",serif;font-size:36px;margin:8px 0}.booking-summary{padding:18px;background:var(--paper);margin:24px 0;display:flex;justify-content:space-between}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:700}.field input,.field select{padding:13px;border:1px solid var(--line);background:#fff;font:inherit}.checkbox{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.4}.booking-panel .button{width:100%;margin-top:22px}.toast{position:fixed;right:24px;bottom:24px;background:var(--ink);color:#fff;padding:15px 20px;border-radius:6px;transform:translateY(100px);opacity:0;transition:.3s;z-index:100}.toast.show{transform:none;opacity:1}
.admin-shell{min-height:100vh;background:#f4f5f1;display:grid;grid-template-columns:240px 1fr}.admin-sidebar{background:var(--ink);color:#fff;padding:28px 18px;display:flex;flex-direction:column}.admin-brand{padding:0 10px;margin-bottom:50px}.admin-sidebar nav{display:grid;gap:6px}.admin-nav,.admin-back{border:0;background:transparent;color:rgba(255,255,255,.62);padding:13px 16px;text-align:left;border-radius:6px}.admin-nav.active,.admin-nav:hover{background:rgba(255,255,255,.09);color:#fff}.admin-back{margin-top:auto}.admin-content{padding:44px 5vw}.admin-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px}.admin-topbar h1{font-family:"Newsreader",serif;font-size:42px;font-weight:400;margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-card,.admin-card{background:#fff;border:1px solid rgba(31,40,36,.08);padding:24px;border-radius:8px}.stat-card span{font-size:12px;color:var(--muted)}.stat-card strong{font-family:"Newsreader",serif;font-size:38px;font-weight:400;display:block;margin:10px 0}.stat-card small{color:var(--sage-dark)}.admin-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:18px;margin-top:18px}.admin-card h2{font-family:"Newsreader",serif;font-size:28px;font-weight:400;margin:0 0 20px}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{text-align:left;padding:13px 8px;border-bottom:1px solid var(--line)}.admin-table th{color:var(--muted);font-size:11px;text-transform:uppercase}.status-pill{display:inline-block;padding:4px 8px;border-radius:100px;background:#e3efe6;color:#30583b;font-size:11px}.status-pill.warn{background:#f5e9d8;color:#855625}.progress-item{margin:18px 0}.progress-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px}.progress-bar{height:6px;background:var(--paper);border-radius:5px;overflow:hidden}.progress-bar i{display:block;height:100%;background:var(--sage-dark)}
@media(max-width:900px){.site-header nav{display:none}.next-class{display:none}.hero{min-height:640px}.class-row{grid-template-columns:90px 1fr 140px}.class-meta{display:none}.studio-grid{grid-template-columns:1fr}.studio-detail{grid-column:auto}.news-grid{grid-template-columns:1fr 1fr}.news-card.featured{grid-column:1/-1}.gallery{grid-template-columns:1fr 1fr}.gallery-quote{display:none}.info-section{grid-template-columns:1fr}.admin-shell{grid-template-columns:76px 1fr}.admin-sidebar .brand span:last-child,.admin-nav{font-size:0}.admin-nav:before{content:"•";font-size:20px}.admin-content{padding:30px}.stats{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}}
@media(max-width:600px){.announcement{font-size:10px}.site-header{height:68px}.text-button{display:none}.hero-copy{padding:0 24px 55px}.hero h1{font-size:49px}.section{padding:75px 22px}.split{display:block}.filter-row{overflow:auto}.class-row{grid-template-columns:66px 1fr;padding:22px 0}.class-date strong{font-size:28px}.class-action{grid-column:1/-1;text-align:left}.studio-main{min-height:450px}.studio-copy{padding:60px 24px}.news-grid{grid-template-columns:1fr}.news-card.featured{grid-column:auto}.gallery{height:auto;grid-template-columns:1fr}.gallery img{height:360px}.info-section{padding:75px 22px}.info-section h2{font-size:48px}footer{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.admin-shell{display:block}.admin-sidebar{display:none}.admin-content{padding:24px 14px}.admin-topbar h1{font-size:32px}.stats{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.admin-topbar .button{padding:10px 14px}.admin-table th:nth-child(3),.admin-table td:nth-child(3){display:none}}

/* Lecturer profiles and stabilized lower-page layout. */
.teachers-section{background:#fff}
.teachers-grid{display:grid;gap:28px;margin-top:55px}
.teacher-card{display:grid;grid-template-columns:minmax(280px,.72fr) 1.28fr;height:620px;background:var(--paper);overflow:hidden}
.teacher-card.reverse{grid-template-columns:1.28fr minmax(280px,.72fr)}
.teacher-card.reverse img{order:2}
.teacher-card img{height:100%;min-height:0;object-position:center top}
.teacher-card-copy{align-self:center;padding:38px 5vw}
.teacher-kicker{color:var(--clay);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.teacher-card h3{font-family:"Newsreader",serif;font-size:52px;font-weight:400;margin:10px 0 24px}
.teacher-card p:not(.teacher-kicker){color:var(--muted);line-height:1.58}
.teacher-card blockquote{margin:22px 0 0;padding-left:20px;border-left:2px solid var(--clay);font-family:"Newsreader",serif;font-size:19px;line-height:1.4}
.charity-note{display:inline-block;margin-top:20px;padding:10px 14px;border-radius:3px;background:#e4eee5;color:#31513c;font-size:12px;font-weight:700}
.gallery{height:auto;min-height:500px;overflow:hidden;position:relative;isolation:isolate}
.gallery img{height:500px}
.gallery-quote{min-height:500px}
.info-section{position:relative;z-index:2;align-items:start;overflow:hidden}
.info-section>div{min-width:0}
.admin-teacher{display:grid;grid-template-columns:92px 1fr auto;gap:20px;align-items:center}
.admin-teacher+.admin-teacher{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.admin-teacher img{width:92px;height:110px;border-radius:6px;object-position:center top}
.admin-teacher img[alt="Petr Bena"]{object-position:center bottom}
.admin-teacher h3{margin:0 0 5px;font-family:"Newsreader",serif;font-size:25px;font-weight:400}
.admin-teacher p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.admin-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.admin-setting{padding:14px;background:var(--paper);border-radius:5px;font-size:13px}

@media(max-width:900px){
  .teacher-card,.teacher-card.reverse{grid-template-columns:1fr;height:auto}
  .teacher-card.reverse img{order:0}
  .teacher-card img{height:560px}
}
@media(max-width:600px){
  .teacher-card img{height:420px;min-height:420px}
  .teacher-card-copy{padding:38px 24px}
  .teacher-card h3{font-size:42px}
  .teacher-card blockquote{font-size:19px}
  .gallery{min-height:0}
  .gallery img{height:360px}
  .admin-teacher{grid-template-columns:70px 1fr}
  .admin-teacher img{width:70px;height:86px}
  .admin-teacher .button{grid-column:1/-1}
  .admin-form-row{grid-template-columns:1fr}
}

/* Preserve complete source framing while keeping the studio and lecturer cards compact. */
.studio-grid{grid-template-columns:1.15fr .85fr;grid-template-rows:minmax(520px,auto) 180px}
.studio-main{grid-row:1/3;min-height:0;background:var(--cream)}
.studio-main img{object-fit:contain}
.studio-copy{padding:42px 5vw 30px}
.studio-copy h2{font-size:56px}
.studio-copy .feature-list{margin:20px 0}
.studio-copy .feature-list li{padding:11px 0}
.studio-detail{height:180px}

.teacher-card{grid-template-columns:60% 40%;height:600px}
.teacher-card.reverse{grid-template-columns:60% 40%}
.teacher-card img{height:100%;min-height:0;object-fit:contain;object-position:center;background:var(--paper)}
.teacher-card-copy{padding:34px 4vw}
.teacher-card h3{font-size:48px;margin:8px 0 20px}
.teacher-card p:not(.teacher-kicker){line-height:1.5}
.teacher-card blockquote{margin-top:18px;padding-left:18px;font-size:18px;line-height:1.35}
.charity-note{margin-top:16px;padding:9px 12px}

@media(max-width:900px){
  .studio-grid{grid-template-columns:1fr;grid-template-rows:auto}
  .studio-main{grid-row:auto;height:560px}
  .teacher-card,.teacher-card.reverse{grid-template-columns:1fr;height:auto}
  .teacher-card img{height:auto;max-height:560px;min-height:0}
}

@media(max-width:600px){
  .studio-main{height:480px}
  .teacher-card img{height:auto;max-height:520px;min-height:0}
}

/* Keep photographic compositions stable instead of stretching them on wide screens. */
.hero,.studio-grid,.teachers-grid,.news-grid,.gallery{
  width:min(100%,1440px);
  margin-left:auto;
  margin-right:auto;
}
.section>*{
  width:min(100%,1440px);
  margin-left:auto;
  margin-right:auto;
}
.site-header{
  padding-left:max(4vw,calc((100vw - 1440px)/2));
  padding-right:max(4vw,calc((100vw - 1440px)/2));
}
.hero{min-height:0;aspect-ratio:16/9}
.image-frame:hover img{transform:none}

@media(max-width:900px){
  .hero{min-height:640px;aspect-ratio:auto}
}

.whatsapp-qr{width:174px;padding:0;border:0;background:transparent}
.whatsapp-qr>img{width:174px;height:174px;object-fit:contain}

@media(max-width:600px){
  .whatsapp-qr,.whatsapp-qr>img{width:160px;height:160px}
}

