@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat Fallback;src:local("Arial");ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.00%;size-adjust:112.83%}.__className_b22215{font-family:Montserrat,Montserrat Fallback;font-style:normal}.__variable_b22215{--font-montserrat:"Montserrat","Montserrat Fallback"}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_e10f34{font-family:Inter,Inter Fallback;font-style:normal}.__variable_e10f34{--font-inter:"Inter","Inter Fallback"}:root{--color-red:#b72e2e;--color-red-dark:#8f2424;--color-ink:#1f1f1f;--color-ink-soft:#4a4a4a;--color-bg:#f7f4ef;--color-sand:#e7ddcf;--color-gold:#c4a35a;--color-white:#ffffff;--surface:var(--color-bg);--surface-alt:var(--color-white);--border:rgba(31,31,31,0.12);--shadow:0 10px 30px -12px rgba(31,31,31,0.25);--font-heading:var(--font-montserrat),"Montserrat",system-ui,sans-serif;--font-body:var(--font-inter),"Inter",system-ui,sans-serif;--max-width:1180px;--gutter:clamp(1rem,4vw,2.5rem);--radius:14px;--section-pad:clamp(3.5rem,8vw,6rem)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-body);color:var(--color-ink);background:var(--surface);line-height:1.6;font-size:1rem;overflow-x:hidden}img,picture,svg,video{display:block;max-width:100%;height:auto}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;line-height:1.12;margin:0 0 .5em;letter-spacing:-.01em}p{margin:0 0 1rem}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}:focus-visible{outline:3px solid var(--color-gold);outline-offset:2px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:.5rem;top:-3rem;z-index:100;background:var(--color-red);color:var(--color-white);padding:.6rem 1rem;border-radius:8px;transition:top .2s ease}.skip-link:focus{top:.5rem}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--section-pad)}.section--alt{background:var(--surface-alt)}.section--sand{background:var(--color-sand)}.section--ink{background:var(--color-ink);color:var(--color-bg)}.section__kicker{display:inline-block;font-family:var(--font-heading);font-weight:700;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-red);margin-bottom:.75rem}.section--ink .section__kicker{color:var(--color-gold)}.section__title{font-size:clamp(1.7rem,4.2vw,2.6rem)}.section__lead{max-width:60ch;color:var(--color-ink-soft);font-size:1.05rem}.section--ink .section__lead{color:rgba(247,244,239,.82)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-family:var(--font-heading);font-weight:700;font-size:.98rem;line-height:1;padding:.95rem 1.6rem;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .15s ease}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--color-red);color:var(--color-white)}.btn--primary:hover{background:var(--color-red-dark)}.btn--ghost{background:transparent;color:var(--color-ink);border-color:var(--border)}.btn--ghost:hover{border-color:var(--color-red);color:var(--color-red)}.btn--on-dark{background:var(--color-white);color:var(--color-ink)}.btn--on-dark:hover{background:var(--color-gold)}.btn--outline-light{background:transparent;color:var(--color-white);border-color:rgba(255,255,255,.5)}.btn--outline-light:hover{border-color:var(--color-white)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:rgba(247,244,239,.9);-webkit-backdrop-filter:saturate(140%) blur(8px);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--border)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px}.site-header__nav{display:flex;align-items:center;gap:1.5rem}.site-header__links{display:flex;gap:1.4rem}.site-header__links a{font-size:.95rem;font-weight:500;color:var(--color-ink-soft);transition:color .2s ease;white-space:nowrap}.site-header__links a:hover{color:var(--color-red)}.site-header__actions{display:flex;align-items:center;gap:.75rem}.brand,.site-header__inner{min-width:0}@media (max-width:960px){.site-header__links{display:none}}@media (max-width:1024px){.site-header__store{padding:.7rem}.site-header__store .btn__label{display:none}}@media (max-width:600px){.site-header__nav{gap:.6rem}.site-header__actions{gap:.5rem}.site-header__cta{padding:.7rem}.site-header__cta .btn__label{display:none}}@media (max-width:380px){.brand__mark{width:36px;height:36px}.brand__word strong{font-size:.82rem}.brand__word span{font-size:.6rem}.locale-switcher a{padding:.28rem .42rem}}.brand{display:inline-flex;align-items:center;gap:.7rem}.brand__mark{width:42px;height:42px;border-radius:9px;flex:none;box-shadow:0 2px 8px -2px rgba(31,31,31,.35)}.brand__word{display:flex;flex-direction:column;line-height:1.05}.brand__word strong{font-weight:800;font-size:.95rem;letter-spacing:.04em;color:var(--color-ink)}.brand__word span,.brand__word strong{font-family:var(--font-heading);text-transform:uppercase;white-space:nowrap}.brand__word span{font-weight:700;font-size:.7rem;letter-spacing:.22em;color:var(--color-red)}.brand--on-dark .brand__word strong{color:var(--color-white)}.brand--on-dark .brand__word span{color:var(--color-gold)}.locale-switcher{display:inline-flex;align-items:center;gap:.15rem;border:1px solid var(--border);border-radius:999px;padding:.2rem;background:var(--color-white)}.locale-switcher a{font-family:var(--font-heading);font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.3rem .55rem;border-radius:999px;color:var(--color-ink-soft);transition:background-color .2s ease,color .2s ease}.locale-switcher a[aria-current=true]{background:var(--color-red);color:var(--color-white)}.hero{position:relative;color:var(--color-white);background:linear-gradient(135deg,#7c1f1f 0,var(--color-red) 55%,#9a2727 100%);overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.08),transparent 45%),radial-gradient(circle at 80% 70%,rgba(0,0,0,.18),transparent 50%);pointer-events:none}.hero__inner{position:relative;z-index:1;display:grid;grid-gap:clamp(2rem,5vw,3.5rem);gap:clamp(2rem,5vw,3.5rem);grid-template-columns:1.1fr .9fr;align-items:center;padding-block:clamp(3.5rem,9vw,6.5rem)}@media (max-width:880px){.hero__inner{grid-template-columns:1fr;text-align:center}}.hero__title{font-size:clamp(2.2rem,6vw,4rem);font-weight:800;letter-spacing:-.02em;margin-bottom:.4em}.hero__tagline{font-size:clamp(1.05rem,2.4vw,1.4rem);color:rgba(255,255,255,.92);max-width:36ch;margin-bottom:2rem}@media (max-width:880px){.hero__tagline{margin-inline:auto}}.hero__actions{display:flex;gap:.9rem;flex-wrap:wrap}@media (max-width:880px){.hero__actions{justify-content:center}}.hero__since{margin-top:1.8rem;font-family:var(--font-heading);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.75)}.hero__media{position:relative;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;box-shadow:0 24px 60px -24px rgba(0,0,0,.6);border:4px solid rgba(255,255,255,.12)}.hero__media img{width:100%;height:100%;object-fit:cover}.frame{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--color-sand)}.frame img{width:100%;height:100%;object-fit:cover}.about__grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(2rem,5vw,4rem);gap:clamp(2rem,5vw,4rem);align-items:center}@media (max-width:880px){.about__grid{grid-template-columns:1fr}}.about__media{aspect-ratio:4/3}.principles{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:clamp(1.2rem,3vw,2rem);gap:clamp(1.2rem,3vw,2rem);margin-top:2.5rem}@media (max-width:720px){.principles{grid-template-columns:1fr}}.principle{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:clamp(1.5rem,3vw,2.2rem)}.principle__jp{font-family:var(--font-heading);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-gold);margin-bottom:.5rem}.principle h3{font-size:1.3rem;margin-bottom:.5rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:clamp(1.2rem,3vw,1.8rem);gap:clamp(1.2rem,3vw,1.8rem);margin-top:2.5rem}.card{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-4px)}.card__badge{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--color-sand);color:var(--color-red);font-family:var(--font-heading);font-weight:800;margin-bottom:1rem}.card h3{font-size:1.2rem;margin-bottom:.4rem}.card p{color:var(--color-ink-soft);font-size:.97rem;margin:0}.teachers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:clamp(1.25rem,2.5vw,2rem);gap:clamp(1.25rem,2.5vw,2rem);margin-top:2.5rem}.teacher{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.teacher__photo{aspect-ratio:1/1;background:var(--color-sand)}.teacher__body{padding:1.4rem 1.5rem 1.7rem}.teacher__name{font-size:1.25rem;margin-bottom:.15rem}.teacher__role{font-family:var(--font-heading);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-red);margin-bottom:.8rem}.teacher__bio{color:var(--color-ink-soft);font-size:.97rem;margin:0}@media (max-width:880px){.teachers{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.teachers{grid-template-columns:minmax(0,1fr);max-width:420px;margin-inline:auto}}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:.9rem;gap:.9rem;margin-top:2.5rem}.gallery .frame{aspect-ratio:1/1}.gallery .frame:first-child{grid-column:span 2;grid-row:span 2}@media (max-width:560px){.gallery .frame:first-child{grid-column:auto;grid-row:auto}}.diffs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:clamp(1.2rem,3vw,2rem);gap:clamp(1.2rem,3vw,2rem);margin-top:2.5rem}.diff{display:flex;flex-direction:column;gap:.5rem}.diff__num{font-family:var(--font-heading);font-weight:800;font-size:2rem;color:var(--color-gold);line-height:1}.section--ink .diff h3{color:var(--color-white)}.schedule__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-gap:clamp(2rem,5vw,3.5rem);gap:clamp(2rem,5vw,3.5rem);align-items:start}.schedule__grid>*{min-width:0}@media (max-width:880px){.schedule__grid{grid-template-columns:1fr}}@media (max-width:400px){.schedule-table td,.schedule-table th{padding:.6rem .65rem;font-size:.85rem}}.table-wrap{min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;box-shadow:var(--shadow)}.schedule-table,.table-wrap{width:100%;border-radius:var(--radius)}.schedule-table{border-collapse:collapse;background:var(--surface-alt);overflow:hidden}.schedule-table td,.schedule-table th{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--border);font-size:.95rem}.schedule-table th{font-family:var(--font-heading);background:var(--color-sand);color:var(--color-ink);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}.schedule-table tr:last-child td{border-bottom:none}.map-frame{border:0;width:100%;aspect-ratio:4/3;border-radius:var(--radius);box-shadow:var(--shadow)}.address-card{margin-top:1.2rem;padding:1.2rem 1.4rem;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius)}.address-card p{margin:0 0 .3rem}.schedule__locations{display:flex;flex-direction:column;gap:2rem}.schedule__location-name{font-size:1.15rem;margin-bottom:.2rem}.schedule__location-address{color:var(--color-ink-soft);font-size:.92rem;margin:0 0 .8rem}.events__group{margin-top:2.5rem}.events__group+.events__group{margin-top:3rem}.events__group-title{font-family:var(--font-heading);font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-gold);margin-bottom:1.2rem;padding-bottom:.6rem;border-bottom:1px solid rgba(255,255,255,.14)}.events__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));grid-gap:clamp(1.2rem,3vw,1.8rem);gap:clamp(1.2rem,3vw,1.8rem)}.event-card{display:flex;flex-direction:column;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);overflow:hidden;transition:transform .2s ease,border-color .2s ease}.event-card:hover{transform:translateY(-4px);border-color:var(--color-gold)}.event-card__media{aspect-ratio:16/9;background:rgba(255,255,255,.08)}.event-card__media img{width:100%;height:100%;object-fit:cover}.event-card__body{padding:1.4rem 1.5rem 1.6rem;display:flex;flex-direction:column;gap:.4rem}.event-card__date{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-heading);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-gold);margin:0}.event-card__date .icon{width:1em;height:1em}.event-card__title{font-size:1.25rem;color:var(--color-white);margin:0}.event-card__location{display:inline-flex;align-items:center;gap:.4rem;color:rgba(247,244,239,.82);font-size:.92rem;margin:0}.event-card__location .icon{width:1em;height:1em}.event-card__desc{color:rgba(247,244,239,.78);font-size:.95rem;margin:.2rem 0 0}.event-card--past{opacity:.82}.event-card--past .event-card__date{color:rgba(247,244,239,.7)}.events__grid--past{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}.contact__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:clamp(1.2rem,3vw,1.8rem);gap:clamp(1.2rem,3vw,1.8rem);margin-top:2.5rem}.contact-card{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:1.6rem;transition:border-color .2s ease,transform .2s ease}.contact-card:hover{border-color:var(--color-gold);transform:translateY(-3px)}.contact-card h3{font-size:1.1rem;margin:0;color:var(--color-white)}.contact-card p{margin:0;color:rgba(247,244,239,.8);font-size:.95rem;word-break:break-word}.contact-card__icon{width:40px;height:40px}.crosspromo{display:flex;align-items:center;gap:clamp(1.5rem,4vw,3rem);background:var(--surface-alt);border:1px solid var(--border);border-left:5px solid #8fa691;border-radius:var(--radius);padding:clamp(1.5rem,4vw,2.6rem);box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}.crosspromo:hover{transform:translateY(-3px);box-shadow:0 16px 40px -16px rgba(31,31,31,.35)}.crosspromo__logo{flex:none;width:clamp(96px,18vw,150px)}.crosspromo__logo img{width:100%;height:auto}.crosspromo__title{font-size:clamp(1.4rem,3.5vw,2rem);margin-bottom:.5rem}.crosspromo__text{color:var(--color-ink-soft);max-width:56ch;margin-bottom:1.2rem}.crosspromo__cta{pointer-events:none}@media (max-width:720px){.crosspromo{flex-direction:column;text-align:center;align-items:center}.crosspromo__text{margin-inline:auto}}.supplypromo{display:flex;align-items:center;justify-content:space-between;gap:clamp(1.5rem,4vw,3rem);background:linear-gradient(135deg,var(--color-red),var(--color-red-dark));color:var(--color-white);border-radius:var(--radius);padding:clamp(1.6rem,4vw,2.8rem);box-shadow:var(--shadow)}.supplypromo__kicker{display:block;font-family:var(--font-heading);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-gold);margin-bottom:.6rem}.supplypromo__title{font-size:clamp(1.4rem,3.5vw,2.1rem);color:var(--color-white);margin-bottom:.5rem}.supplypromo__text{color:rgba(255,255,255,.9);max-width:60ch;margin:0}.supplypromo__cta{flex:none}@media (max-width:720px){.supplypromo{flex-direction:column;align-items:flex-start}}.site-footer{background:var(--color-ink);color:rgba(247,244,239,.78);padding-block:clamp(2.5rem,5vw,3.5rem)}.site-footer__inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.5rem;align-items:center}.site-footer__social{display:flex;gap:1rem}.site-footer__social a{color:rgba(247,244,239,.78);transition:color .2s ease}.site-footer__social a:hover{color:var(--color-gold)}.site-footer__legal{width:100%;border-top:1px solid rgba(255,255,255,.12);margin-top:1.5rem;padding-top:1.5rem;font-size:.85rem;color:rgba(247,244,239,.55)}.site-footer__legal a{color:var(--color-gold);text-decoration:underline;text-underline-offset:2px}.icon{width:1.25em;height:1.25em;fill:currentColor;flex:none}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.btn,.card,.contact-card,.reveal{transition:none}*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important}}