/* The native site uses the original Waldorf face with its own readable scale. */
:root { --body:"Waldorf","Trebuchet MS",sans-serif; --radius:26px; }
html { scroll-padding-top:120px; }
.lv-image-link { scroll-margin-block:125px 30px; }
body { font-family:var(--body); font-size:24px; line-height:1.5; background:#fffdf8; }
h1,h2,h3,h4,h5,h6,p { overflow-wrap:anywhere; }
h1,h2,h3,h4,h5,h6 { font-weight:400; }
a { color:#255b42; }
button,input,textarea,select { font:inherit; }
:focus-visible { outline:3px solid #ba6c35; outline-offset:5px; }
.site-topbar { font-size:18px; }
.site-topbar a { color:#fff; }
.brand img { width:78px; height:78px; }
.brand-name { font-size:34px; }
.brand-sub { font-size:11px; font-family:system-ui,sans-serif; }
.header-inner { gap:18px; }
.site-nav a { font-size:21px; font-weight:400; padding:10px; }
.site-nav .sub-menu { width:280px; }
.site-nav .sub-menu a { font-weight:400; font-size:22px; }
.site-nav .sub-menu::before { content:""; position:absolute; height:16px; top:-16px; left:0; width:100%; }
.hero { padding:65px 0 80px; }
.hero h1 { font-size:clamp(70px,8vw,110px); }
.hero-lead { font-size:29px; max-width:640px; }
.hero-note { font-size:22px; }
.hero-mark { max-width:370px; margin-left:auto; width:100%; }
.eyebrow { font-family:system-ui,sans-serif; font-size:12px; font-weight:750; }
.school-card { padding:32px 34px; min-height:360px; padding-right:42%; border-radius:46px 19px 40px 24px; }
.school-card h2 { color:#fff; font-size:48px; margin:18px 0; }
.school-card p { font-size:24px; line-height:1.35; }
.school-kicker { display:block; position:relative; z-index:2; font-family:system-ui,sans-serif; font-size:10px; }
.school-link { color:#fff; font-size:23px; font-weight:400; }
.school-card.turnov { --card-bg:linear-gradient(120deg,#97502d,#b5703a 65%,#dcab6d); }
.school-card.skala { --card-bg:linear-gradient(120deg,#214c39,#407459 65%,#8ca66e); }
.lv-school-photo { position:absolute; right:-16px; top:75px; bottom:42px; width:40%; overflow:hidden; border:8px solid rgba(255,253,248,.7); border-radius:46% 38% 44% 34%; transform:rotate(5deg); }
.skala .lv-school-photo { transform:rotate(-5deg); }
.lv-school-photo img { width:100%; height:100%; object-fit:cover; }
.section { padding:70px 0; }
.section-title { font-size:clamp(40px,4.3vw,60px); line-height:1.07; }
.section-copy { font-size:24px; }
.text-link,.stream-more { font-size:23px; font-weight:400; }
.event-card h3 { font-size:28px; font-weight:400; }
.event-school,.post-school { font-family:system-ui,sans-serif; font-size:10px; letter-spacing:.04em; }
.post-date { font-size:19px; font-weight:400; }
.post-card h3 { font-size:27px; font-weight:400; }
.post-body { padding:20px; }
.post-fallback { font-size:29px; color:#fff; }
.stream-title { font-size:40px; }
.waldorf-band p { font-size:27px; }
.waldorf-band .eyebrow { color:#ddbe8a; }
.button { font-size:24px; font-weight:400; padding:12px 24px; box-shadow:none; }
.footer-brand { font-size:48px; }
.site-footer { font-size:23px; }
.site-footer a,.site-footer .footer-title { color:#fff; }
.footer-title { font-family:system-ui,sans-serif; font-size:12px; }
.footer-bottom { font-size:18px; }

/* Page headings have the soft colours and uneven silhouette of wet watercolour. */
.lv-page-hero { position:relative; isolation:isolate; overflow:hidden; padding:44px 0 58px; background:#f5f0e4; }
.lv-page-hero::after { content:""; position:absolute; z-index:-1; inset:-110px -100px -200px 50%; background:radial-gradient(ellipse at 55% 40%,#96b7a53d 0,#c6d5b64a 30%,#e7b48024 60%,transparent 73%); border-radius:58% 42% 57% 43%; transform:rotate(-13deg); }
.lv-page-hero .entry-title { max-width:1000px; font-size:clamp(45px,6vw,76px); line-height:1.06; }
.lv-back { display:block; margin-bottom:25px; color:var(--muted); text-decoration:none; font-size:20px; }
.lv-page-hero .eyebrow { margin-bottom:12px; }
.lv-page-lead { margin:16px 0 0; font-size:28px; color:#626d59; }
.content-shell { padding:58px 0 80px; }
.entry-content { font-size:25px; line-height:1.55; }
.entry-content > * { max-width:840px; }
.entry-content p { margin-top:0; margin-bottom:1.05em; }
.entry-content h2 { font-family:var(--display); font-size:38px; margin-top:1.35em; margin-bottom:.6em; }
.entry-content h3 { font-size:31px; margin-top:1.2em; }
.entry-content h4,.entry-content h5 { font-size:27px; }
.entry-content ul,.entry-content ol { padding-left:1.1em; }
.entry-content li { margin-bottom:.4em; }
.entry-content .lv-prose { margin-bottom:28px; }
.entry-content .lv-prose>div { margin-bottom:1em; }
.entry-content img { border-radius:18px; }
.entry-content [style*="text-align: justify"] { text-align:left !important; }
.lv-prose p:first-child:first-letter { color:inherit; }
.lv-figure { margin:32px auto; text-align:center; }
.lv-figure img { max-height:780px; width:auto; }
.lv-figure figcaption,.lv-gallery figcaption { margin-top:10px; font-size:20px; line-height:1.3; color:var(--muted); }
.lv-image-link { display:block; cursor:zoom-in; }
.lv-image-link:focus-visible { border-radius:16px; }
.entry-content>.lv-gallery { max-width:1140px; }
.lv-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:40px 0; }
.lv-gallery figure { margin:0; padding:9px 9px 16px; align-self:start; border-radius:5px 13px 9px 15px; background:#fff; box-shadow:0 7px 22px #253e2611; border:1px solid #354a2310; }
.lv-gallery figure:nth-child(3n+1) { transform:rotate(-.7deg); }
.lv-gallery figure:nth-child(3n+2) { transform:rotate(.7deg); }
.lv-gallery img { display:block; aspect-ratio:4/3; width:100%; object-fit:cover; border-radius:6px; }
.lv-gallery figure:only-child { grid-column:1/-1; max-width:800px; margin-inline:auto; }
.lv-gallery figure:only-child img { aspect-ratio:auto; }
.lv-video { margin:30px auto; max-width:920px; }
.lv-video iframe { width:100%; aspect-ratio:16/9; border:0; border-radius:22px; }
.lv-video video { display:block; width:100%; max-height:700px; background:#112d21; border-radius:22px; }
.lv-video-source { text-align:center; font-size:20px; }
.lv-embed { max-width:1100px !important; }
.lv-embed iframe { display:block; width:100%; min-height:650px; border:0; border-radius:20px; }
.lv-facts { list-style:none; padding:0 !important; }
.lv-facts li { margin:0; padding:9px 0; border-bottom:1px solid var(--line); }
.lv-contact-layout { max-width:none !important; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; align-items:start; }
.lv-contact-school { padding:32px; border-radius:24px 36px 19px 31px; background:#fbf0df; }
.lv-contact-school.skala { background:#edf3e8; border-radius:36px 24px 31px 19px; }
.lv-contact-school h2 { margin-top:0; font-size:40px; }
.lv-contact-school h3 { padding-top:23px; border-top:1px solid #72472520; margin-bottom:8px; }
.lv-contact-school h4,.lv-contact-school h5 { font-size:24px; }
.lv-contact-school .lv-facts { font-size:23px; overflow-wrap:anywhere; }
.lv-map { margin-top:30px; }
.lv-map iframe { width:100%; height:310px; border:0; border-radius:22px; }
.lv-map a { font-size:20px; }
.lv-map-cover { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:200px; padding:20px; margin-bottom:10px; border:1px solid #2c654b25; border-radius:30px 17px 28px 18px; background:radial-gradient(ellipse at 20% 30%,#e4c69744,transparent 70%),#fffdf880; }
.lv-map-cover h3 { margin:0 0 15px; padding:0; border:0; }
.lv-map-pin { font:38px system-ui,sans-serif; color:#517253; }
.lv-map-load { border:1px solid var(--line); cursor:pointer; }
.lv-library-link { display:flex; justify-content:space-between; gap:20px; padding:27px; margin-block:15px; border:1px solid var(--line); background:#f4f0df; border-radius:25px 14px 25px 15px; text-decoration:none; font-size:29px; }
.lv-library-link:hover { background:#eaf1e3; }
body.postid-263 .lv-figure { max-width:380px; padding:25px; background:#fff; border:1px solid var(--line); border-radius:23px; }
.lv-school-tabs { display:flex; flex-wrap:wrap; gap:12px; margin:0 0 32px; max-width:none !important; }
.lv-school-tabs a { padding:12px 22px; border:1px solid var(--line); border-radius:40% 30% 38% 32% / 45% 50% 40% 50%; text-decoration:none; background:#faf4e9; }
.lv-school-tabs a:nth-child(2) { background:#edf3e8; }
.wpcf7 { font-size:23px; }
.wpcf7 input:not([type="checkbox"]):not([type="radio"]),.wpcf7 textarea,.wpcf7 select { width:100%; max-width:100%; border:1px solid #335c3d40; border-radius:12px; padding:10px 14px; background:#fffdf8; color:var(--ink); }
.wpcf7 input[type="submit"] { background:var(--forest-dark)!important; color:#fff!important; cursor:pointer; }
.wpcf7 textarea { height:200px; min-height:150px; }
.lv-contact-form { max-width:840px!important; margin:45px auto 0; padding:35px; border:1px solid var(--line); border-radius:30px 17px 32px 20px; background:#f6f1e6; }
.lv-contact-form h4 { margin-top:0; }

/* School contents and people use live WordPress data, without page-builder code. */
.lv-school-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding-block:28px; }
.lv-school-links a { display:flex; align-items:center; justify-content:space-between; gap:15px; min-height:85px; padding:18px 20px; border:1px solid var(--line); background:#fffdf8; border-radius:21px 14px 22px 13px; font-size:24px; line-height:1.2; text-decoration:none; transition:background .2s; }
.lv-school-links a:nth-child(3n+1) { background:#faf0df; }
.lv-school-links a:nth-child(3n+2) { background:#edf3e8; }
.lv-school-links a:nth-child(3n+3) { background:#f4edf0; }
.lv-school-links a:hover { background:#e8ecd9; }
.lv-news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.lv-news-grid .post-card { display:flex; flex-direction:column; }
.lv-news-grid .post-media { display:block; aspect-ratio:4/3; }
.lv-news-grid .post-media img { display:block; width:100%; height:100%; object-fit:cover; }
.lv-news-grid .post-body { align-self:stretch; }
.lv-reading-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:65px; align-items:start; }
.lv-reading-note { position:sticky; top:135px; }
.lv-reading-note .button { margin-top:25px; }
.lv-school-story { font-size:25px; }
.entry-content>.lv-people { max-width:none; }
.lv-people { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.lv-person { display:flex; flex-direction:column; overflow:hidden; border:1px solid #30482d17; border-radius:40px 15px 31px 20px; background:#fbf6ea; }
.lv-person:nth-child(3n+2) { background:#edf3e8; border-radius:18px 37px 20px 33px; }
.lv-person:nth-child(3n+3) { background:#f7efeb; }
.lv-person-portrait { display:block; height:280px; overflow:hidden; background:#e0e9d8; text-decoration:none; }
.lv-person-portrait img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 25%; border-radius:0; }
.lv-person-portrait.no-photo { display:grid; place-items:center; background:radial-gradient(ellipse at 30% 25%,#e6cdad,#c8d6bb 65%,#b0c3ac); }
.lv-person-portrait.no-photo span { font-family:var(--display); font-size:100px; color:#47684a; }
.lv-person-info { flex:1; display:flex; flex-direction:column; padding:25px; }
.lv-person-info h2 { font-size:33px; margin:0 0 10px; }
.lv-person-info h2 a { text-decoration:none; }
.lv-person-role { font-size:23px; line-height:1.3; color:#616c54; }
.lv-person-contacts { margin:4px 0 24px; font-size:22px; line-height:1.5; overflow-wrap:anywhere; }
.lv-person-contacts a { display:block; }
.lv-profile-link { margin-top:auto; display:flex; justify-content:space-between; text-decoration:none; font-size:23px; }
.lv-profile-layout { display:grid; grid-template-columns:300px minmax(0,1fr); gap:65px; padding-block:60px 90px; align-items:start; }
.lv-profile-sidebar { position:sticky; top:130px; }
.lv-profile-photo { overflow:hidden; border-radius:40px 18px 36px 20px; }
.lv-profile-photo img { display:block; width:100%; }
.lv-contact-details { display:grid; gap:10px; margin-top:25px; overflow-wrap:anywhere; }
.lv-bio div:not(:has(div)):not(:has(p)) { margin-bottom:1em; }
.lv-documents { display:grid; gap:12px; margin-block:25px; }
.lv-document { display:flex; align-items:center; gap:20px; padding:20px; background:#fff; border:1px solid var(--line); border-radius:18px 11px 20px 12px; text-decoration:none; }
.lv-document:nth-child(3n+2) { background:#f5f8ef; }
.lv-document:nth-child(3n+3) { background:#fcf4e9; }
.lv-filetype { display:grid; place-items:center; min-width:55px; min-height:65px; padding:6px; background:#e8e8d4; font-family:system-ui,sans-serif; font-size:11px; font-weight:800; border-radius:7px 14px 7px 7px; }
.lv-filename { flex:1; min-width:0; overflow-wrap:anywhere; }
.lv-filename small { display:block; color:var(--muted); font-size:17px; }
.lv-comparison { display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:1140px!important; margin-block:40px; }
.lv-comparison .lv-figure { margin:0; }
.lv-comparison img { width:100%; }
.lv-quotes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; max-width:1100px!important; }
.lv-quotes blockquote { margin:0; padding:27px; background:#f5efdf; border-radius:25px 17px 30px 15px; }
.lv-quotes blockquote:nth-child(2n) { background:#eef3e8; }
.lv-quotes cite { display:block; color:var(--forest); font-size:23px; }
.lv-link-card { padding:26px; margin-block:15px; background:#f3f3e6; border-radius:25px 15px 24px 14px; }
.lv-link-card h2 { margin-top:0; }
.lv-link-card a { text-decoration:none; }
.lv-article-nav { display:flex; justify-content:space-between; gap:25px; max-width:840px; margin:50px auto 0; padding-top:25px; border-top:1px solid var(--line); }
.lv-article-nav>span { max-width:46%; }
.lv-share { max-width:840px; margin:35px auto 0; display:flex; gap:16px; align-items:center; flex-wrap:wrap; font-size:21px; }
.lv-share button { border:1px solid var(--line); cursor:pointer; font-size:21px; }
.pagination .nav-links { display:flex; gap:12px; flex-wrap:wrap; }
.pagination .page-numbers { padding:9px 17px; border-radius:50%; background:#f1ecd9; text-decoration:none; }
.pagination .current { background:var(--forest); color:#fff; }

/* One keyboard-accessible image viewer for all articles, galleries and profiles. */
.lv-lightbox { width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; background:#10261cee; color:#fff; }
.lv-lightbox::backdrop { background:#10261cee; }
.lv-lightbox-stage { position:absolute; inset:60px 74px 76px; display:grid; place-items:center; pointer-events:none; }
.lv-lightbox-stage img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; pointer-events:auto; border-radius:4px; }
.lv-lightbox button { position:absolute; z-index:2; border:1px solid #ffffff40; background:#ffffff16; color:#fff; border-radius:50%; width:48px; height:48px; cursor:pointer; font:32px system-ui,sans-serif; }
.lv-lightbox-close { right:18px; top:15px; }
.lv-lightbox-prev { left:14px; top:calc(50% - 24px); }
.lv-lightbox-next { right:14px; top:calc(50% - 24px); }
.lv-lightbox-caption { position:absolute; inset:auto 70px 18px; text-align:center; font-size:22px; line-height:1.3; }
.lv-lightbox-counter { position:absolute; top:22px; left:24px; font:14px system-ui,sans-serif; }
body.lv-viewing { overflow:hidden; }
@media(max-width:1040px) {
  .site-nav { height:calc(100dvh - 82px); inset:auto 0 auto; top:82px; pointer-events:none; }
  .menu-open .site-nav { pointer-events:auto; }
  .site-nav a { font-size:25px; }
  .hero-grid { grid-template-columns:1fr .65fr; }
  .lv-school-links { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .lv-people { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lv-reading-layout { grid-template-columns:220px minmax(0,1fr); gap:35px; }
  .lv-contact-layout { gap:18px; }
  .lv-contact-school { padding:24px; }
}
@media(max-width:760px) {
  body { font-size:23px; }
  .wrap { width:calc(100% - 36px); }
  .site-nav { top:76px; height:calc(100dvh - 76px); }
  .brand img { width:57px; height:57px; }
  .brand-name { font-size:29px; }
  .hero { padding:42px 0 50px; }
  .hero-grid { display:block; }
  .hero h1 { font-size:76px; }
  .hero-lead { font-size:27px; margin-top:20px; }
  .hero-note { font-size:21px; }
  .eyebrow { font-size:10px; letter-spacing:.1em; }
  .school-card { min-height:315px; padding:29px 40% 29px 25px; }
  .school-card h2 { font-size:43px; }
  .school-card p { font-size:23px; }
  .school-kicker { font-size:9px; letter-spacing:.08em; }
  .school-link { font-size:22px; }
  .school-link::after { width:28px; height:28px; }
  .lv-school-photo { right:-8px; width:39%; top:66px; bottom:38px; border-width:6px; }
  .section { padding:50px 0; }
  .section-title { font-size:43px; }
  .section-copy { font-size:23px; }
  .post-card { grid-template-columns:112px minmax(0,1fr); }
  .post-body { padding:17px; min-width:0; }
  .post-card h3 { font-size:25px; }
  .post-date { font-size:18px; }
  .event-card { padding:24px; }
  .event-card h3 { font-size:28px; }
  .streams { gap:40px; }
  .waldorf-grid { gap:20px; }
  .waldorf-band p { font-size:25px; }
  .waldorf-symbol { display:none; }
  .footer-grid { gap:27px; }
  .lv-page-hero { padding:26px 0 38px; }
  .lv-page-hero .entry-title { font-size:48px; }
  .lv-page-lead { font-size:25px; }
  .content-shell { padding:36px 0 60px; }
  .entry-content { font-size:24px; }
  .entry-content h2 { font-size:34px; }
  .lv-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:25px 0; }
  .lv-gallery figure { padding:5px 5px 10px; }
  .lv-gallery figcaption { font-size:19px; }
  .lv-embed iframe { min-height:650px; }
  .lv-contact-layout,.lv-profile-layout,.lv-reading-layout,.lv-news-grid { grid-template-columns:1fr; gap:30px; }
  .lv-contact-school { padding:25px; }
  .lv-contact-school h2 { font-size:36px; }
  .lv-school-tabs { gap:10px; }
  .lv-school-tabs a { flex:1; min-width:140px; font-size:22px; line-height:1.2; padding:13px 17px; }
  .lv-people { grid-template-columns:1fr; gap:22px; }
  .lv-person { display:grid; grid-template-columns:125px minmax(0,1fr); border-radius:27px 15px 29px 15px; }
  .lv-person-portrait { height:100%; min-height:240px; }
  .lv-person-info { padding:20px 17px; }
  .lv-person-info h2 { font-size:30px; }
  .lv-person-role { font-size:22px; }
  .lv-person-contacts { font-size:21px; }
  .lv-profile-sidebar,.lv-reading-note { position:static; }
  .lv-profile-layout { padding-block:36px 60px; }
  .lv-profile-photo { max-width:300px; }
  .lv-school-links { grid-template-columns:repeat(2,minmax(0,1fr)); padding-block:22px; gap:10px; }
  .lv-school-links a { padding:15px; font-size:23px; }
  .lv-comparison,.lv-quotes { grid-template-columns:1fr; }
  .lv-document { gap:12px; padding:15px; font-size:23px; }
  .lv-filetype { min-width:44px; min-height:56px; font-size:10px; }
  .lv-lightbox-stage { inset:68px 12px 100px; }
  .lv-lightbox-caption { inset:auto 30px 20px; }
  .lv-lightbox-prev,.lv-lightbox-next { top:auto!important; bottom:53px; width:40px!important; height:40px!important; }
}
