:root{--color-green: #4a7c59;--color-terracotta: #944931;--color-cream: #fcf9f4;--color-sand: #f6f3ee;--color-ink: #1c1c19;--color-warm-grey: #54433e;--color-white: #ffffff;--color-peach-tint: #f8dac5;--color-sage-tint: #d5e8d2}:root{--color-green-hover: color-mix(in srgb, var(--color-green) 82%, black);--color-terracotta-hover: color-mix(in srgb, var(--color-terracotta) 70%, black);--color-terracotta-tint-hover: color-mix(in srgb, var(--color-terracotta) 3%, var(--color-cream));--color-peach-tint-text: color-mix(in srgb, var(--color-warm-grey) 82%, var(--color-peach-tint));--color-sage-tint-text: color-mix(in srgb, var(--color-ink) 93%, var(--color-sage-tint));--color-border: color-mix(in srgb, var(--color-terracotta) 30%, var(--color-cream));--color-border-muted: color-mix(in srgb, var(--color-warm-grey) 13%, var(--color-cream));--color-text-muted: color-mix(in srgb, var(--color-warm-grey) 72%, var(--color-cream));--color-cream-a92: color-mix(in srgb, var(--color-cream) 92%, transparent);--color-terracotta-a20: color-mix(in srgb, var(--color-terracotta) 20%, transparent);--color-terracotta-a8: color-mix(in srgb, var(--color-terracotta) 8%, transparent);--color-terracotta-a5: color-mix(in srgb, var(--color-terracotta) 5%, transparent)}.btn-green{background:var(--color-green);color:var(--color-white);padding:16px 32px;border-radius:999px;font-size:14px;font-weight:500;text-decoration:none;box-shadow:0 8px 16px -8px color-mix(in srgb, var(--color-green) 50%, transparent);transition:background .15s;display:inline-flex;align-items:center;justify-content:center}.btn-green:hover{background:var(--color-green-hover);color:var(--color-white)}.btn-outline{border:2px solid var(--color-terracotta);color:var(--color-terracotta);padding:14px 32px;border-radius:999px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:inline-block}.btn-outline:hover{background:var(--color-terracotta);color:var(--color-white)}.ig-btn{display:inline-flex;align-items:center;gap:8px;background:var(--color-white);padding:12px 22px;border-radius:999px;font-size:14px;font-weight:600;text-decoration:none;color:var(--color-terracotta);box-shadow:0 4px 12px rgba(0,0,0,.06);transition:background .15s}.ig-btn:hover{background:var(--color-terracotta-tint-hover)}.text-sm{font-size:12px}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-terracotta)}.text-center{text-align:center}.pretitle{display:block;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}.gap-sm{gap:8px}.gap-md{gap:24px}.gap-lg{gap:32px}.mb-sm{margin-bottom:8px}.mb-md{margin-bottom:24px}.mb-lg{margin-bottom:32px}.mt-sm{margin-top:8px}.mt-md{margin-top:24px}.mt-lg{margin-top:32px}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.grid-2{display:grid;grid-template-columns:1fr 1fr;align-items:center}.grid-2.skew{grid-template-columns:1.4fr 1fr}.grid-2.skew.reverse{grid-template-columns:1fr 1.4fr}.grid-3{display:grid;grid-template-columns:repeat(3, 1fr);align-items:center}.grid-3.skew{grid-template-columns:1.4fr 1fr 1fr}.grid-wrap{display:grid;grid-template-columns:repeat(auto-fit, minmax(260px, 1fr))}@media(max-width: 899px){.grid-2,.grid-3{grid-template-columns:1fr !important}}.msi{font-family:"Material Symbols Outlined";font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24;font-size:24px;line-height:1}.msi.icon-sm{font-size:18px}.msi.icon-md{font-size:20px}a{color:var(--color-terracotta)}a:hover{color:var(--color-terracotta-hover)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.12;font-weight:600;letter-spacing:-0.02em;color:var(--color-ink)}h1{font-size:54px;margin-bottom:24px}h2{font-size:36px;margin-bottom:20px}h2.underline{text-align:center}h2.underline::after{content:"";display:block;width:80px;height:4px;background:var(--color-terracotta);border-radius:999px;margin:12px auto 0}h3{font-size:24px;margin-bottom:12px}h4{font-size:20px}@media(max-width: 899px){h1{font-size:36px}h2{font-size:28px}}section{padding:72px 24px 96px}section>div{max-width:1200px;margin:0 auto}section .intro{max-width:720px;margin:0 auto 52px;text-align:center}section.alternate{background:var(--color-sand)}@media(max-width: 899px){section{padding:40px 20px 52px}}#home p{max-width:480px}#home .actions{flex-wrap:wrap}#home .blob{position:absolute;top:-40px;right:0;width:260px;height:260px;background:var(--color-peach-tint);opacity:.5;border-radius:50%;filter:blur(30px)}#home .photo-frame{position:relative;border-radius:60% 40% 30% 70%/60% 30% 70% 40%;box-shadow:0 20px 50px -20px color-mix(in srgb, var(--color-terracotta) 30%, transparent);aspect-ratio:1/1}#teacher .blob{position:absolute;inset:-16px;background:var(--color-sage-tint);opacity:.6;border-radius:50%;filter:blur(50px);z-index:0}#teacher .photo-frame{position:relative;z-index:1;border-radius:50%;aspect-ratio:1/1;box-shadow:0 20px 50px -20px color-mix(in srgb, var(--color-green) 30%, transparent)}#gallery .header{justify-content:space-between;align-items:flex-end;margin-bottom:48px;flex-wrap:wrap}#gallery .header .text{max-width:600px}#register .grid{align-items:stretch}#register .card-header{align-items:center;margin-bottom:12px}#register .note{margin-bottom:24px}#register .row{align-items:center;justify-content:space-between;padding:16px 20px;background:var(--color-sand);border-radius:16px}#register .row .label{font-size:14px;font-weight:600;margin-bottom:4px}#register .row .value{font-size:18px;font-weight:600}#register .row .meta{text-align:right}#register .row .meta .value{font-size:14px}#register .card.accent .cta-text{margin-bottom:24px}#contact .wrap{text-align:center}#contact .iframe{display:block;border:none}.topic-card{background:var(--color-white);border:1px solid var(--color-border-muted);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s ease}.topic-card:hover{transform:translateY(-4px)}.topic-card .photo{aspect-ratio:4/3}.topic-card .content{padding:20px;flex-grow:1}.topic-card .content p{flex-grow:1}.topic-card .content a{display:inline-flex;align-items:center;font-weight:600;text-decoration:none}.card{background:var(--color-white);border:1px solid var(--color-border-muted);border-radius:24px;padding:40px;box-shadow:0 10px 30px -10px var(--color-terracotta-a8)}.card.accent{background:var(--color-terracotta-a5);border:2px solid var(--color-terracotta-a20);text-align:center;display:flex;flex-direction:column;justify-content:center}.card.flush{padding:0;overflow:hidden}.photo{position:relative;overflow:hidden}.photo img{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.photo.photo-square{border-radius:16px;aspect-ratio:1/1}.photo.photo-wide{border-radius:24px;aspect-ratio:4/3}.badge{display:inline-block;padding:6px 16px;border-radius:999px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:16px;width:-moz-fit-content;width:fit-content}.badge.peach{background:var(--color-peach-tint);color:var(--color-peach-tint-text)}.badge.green{background:var(--color-sage-tint);color:var(--color-sage-tint-text)}header{position:sticky;top:0;z-index:50;background:var(--color-cream-a92);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border)}header nav{max-width:1200px;margin:0 auto;padding:12px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px}header nav a{display:flex;align-items:center;flex-shrink:0}header nav a img{height:40px;width:auto;display:block}header nav .nav-items{align-items:center;gap:24px}header nav .nav-items .nav-link{font-size:14px;font-weight:500;text-decoration:none;color:var(--color-warm-grey);white-space:nowrap;transition:color .15s}header nav .nav-items .nav-link:hover,header nav .nav-items .nav-link.active{color:var(--color-terracotta)}header nav .nav-items .nav-link.active{font-weight:700}header nav .nav-items .enroll{padding:8px 24px}header nav .mobile-toggle{background:none;border:none;color:var(--color-warm-grey);padding:8px;cursor:pointer}header .mobile-nav.nav-items{padding:12px 24px 20px;flex-direction:column;gap:16px;border-top:1px solid var(--color-border)}header .mobile-nav.nav-items .nav-link{font-size:16px;font-weight:500;text-decoration:none;color:var(--color-warm-grey);transition:color .15s}header .mobile-nav.nav-items .nav-link:hover{color:var(--color-terracotta)}header .mobile-nav.nav-items .enroll{text-align:center}.mobile-toggle,.mobile-nav{display:none}.desktop-nav{display:flex}@media(max-width: 899px){.desktop-nav{display:none}.mobile-toggle{display:block}}footer{background:var(--color-border-muted);border-top:1px solid var(--color-border)}footer>div{max-width:1200px;margin:0 auto;padding:48px 24px;align-items:start}footer .logo{height:56px;width:auto;display:block;margin-bottom:16px}footer .tagline{max-width:280px}footer .col-title{font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:18px}footer .link{font-size:13px;color:var(--color-warm-grey);text-decoration:none;transition:color .15s}footer .link:hover{color:var(--color-terracotta)}footer .social-buttons{width:40px;height:40px;border-radius:50%;background:var(--color-border-muted);display:flex;align-items:center;justify-content:center;color:var(--color-warm-grey);text-decoration:none;transition:background .15s,color .15s}footer .social-buttons:hover{background:var(--color-terracotta);color:var(--color-white)}html{scroll-behavior:smooth}body{margin:0;-webkit-font-smoothing:antialiased;font-family:"Lexend",sans-serif;background:var(--color-cream);color:var(--color-warm-grey);line-height:1.6}.photo-frame-wrap{position:relative}