:root{--clr-accent-500: hsl(212, 78%, 36%);--clr-primary-400: hsl(228, 39%, 23%);--clr-neutral-900: hsl(232, 12%, 13%);--clr-neutral-500: hsl(132, 12%, 13%);--clr-neutral-100: hsl(0 0% 100%);--clr-overlay-mobile-nav: hsl(90 0% 10% / .1);--ff-primary: "IBM Plex Sans", system-ui, sans-serif;--ff-secondary: "Outfit", system-ui, sans-serif;--ff-logo: "Space Grotesk", system-ui, sans-serif;--ff-body: var(--ff-primary);--ff-heading: var(--ff-secondary);--fw-regular: 400;--fw-semi-bold: 500;--fw-bold: 700;--fs-250: .8rem;--fs-300: .875rem;--fs-400: .9375rem;--fs-500: 1rem;--fs-550: 1.125rem;--fs-600: 1.25rem;--fs-650: 1.875rem;--fs-700: 2.125rem;--fs-800: 3rem;--fs-900: 3.5rem;--fs-body: var(--fs-500);--fs-primary-heading: var(--fs-800);--fs-secondary-heading: var(--fs-700);--fs-tertiary-heading: var(--fs-600);--fs-quaternary-heading: var(--fs-550);--fs-nav: var(--fs-500);--fs-button: var(--fs-300);--size-100: .25rem;--size-200: .5rem;--size-300: .75rem;--size-400: 1rem;--size-500: 1.5rem;--size-600: 2rem;--size-700: 3rem;--size-800: 4rem;--size-900: 5rem;--transition-time: .35s;--scroll-offset: 7rem;--page-scroll-buffer: 0px;--space: 1rem;--space-md: calc(var(--space) * 2);--content-max-width: 70ch;--hero-desktop-scale-min: 1;--hero-desktop-scale-max: 1.2;--hero-desktop-scale: var(--hero-desktop-scale-min)}*{margin:0;padding:0;font:inherit}*,*:before,*:after{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth;scroll-padding-top:var(--scroll-offset)}html.has-open-dialog{overflow:hidden}body{min-height:100%;text-rendering:optimizeSpeed;line-height:1.5;padding-bottom:var(--page-scroll-buffer)}img,picture,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}a:not([class]){text-decoration-skip-ink:auto}ul{list-style:none}.wrapper{padding-block:var(--size-500);display:grid;grid-template-columns:[full-start] 1fr [content-start] min(var(--content-max-width),100% - var(--space-md) * 2) [content-end] 1fr [full-end];grid-column-gap:var(--space-md)}.wrapper>*{grid-column:content}.full-bleed{width:100%;grid-column:full}.headline{grid-column:full-start / full-end;padding-block:var(--size-200);margin-block-start:var(--space);margin-block-end:var(--space-md);display:flex;justify-content:center;text-align:center}.headline{color:var(--clr-primary-400);font-family:var(--ff-heading);font-weight:var(--fw-bold);font-size:var(--fs-primary-heading);line-height:1.3;max-width:var(--content-max-width);margin-inline:auto;padding-inline:var(--space-md)}h2{color:var(--clr-primary-400);font-family:var(--ff-heading);font-weight:var(--fw-bold);font-size:var(--fs-secondary-heading);line-height:1.2;text-align:center;margin-block-start:var(--size-700);margin-block-end:var(--size-400)}h3{color:var(--clr-primary-400);font-family:var(--ff-heading);font-weight:var(--fw-bold);font-size:var(--fs-tertiary-heading);line-height:1.1;margin-block-start:var(--size-400);margin-block-end:var(--size-200)}h4,h5{color:var(--clr-primary-400);font-family:var(--ff-heading);font-weight:var(--fw-bold);line-height:1.2}body{color:var(--clr-primary-400);font-size:var(--fs-body);font-family:var(--ff-body);overflow-x:hidden;background:var(--clr-neutral-100)}p{margin-block-end:var(--size-400)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.flex{display:flex;gap:var(--gap, 1rem)}.primary-header{align-items:center;justify-content:space-between;gap:var(--size-500);padding:var(--size-400) var(--space-md)}.brand{display:inline-flex;align-items:center;gap:var(--size-300);min-width:0;flex-shrink:0}.brand-mark{width:2rem;height:2rem;flex-shrink:0}.site-title{color:var(--clr-primary-400);font-family:var(--ff-logo);font-weight:var(--fw-bold);font-size:var(--fs-650);line-height:1;letter-spacing:-.02em;white-space:nowrap}.mobile-nav-toggle{display:none}.primary-navigation{list-style:none;flex-direction:row;align-items:center;font-size:var(--fs-600)}.primary-navigation a:hover,.primary-navigation a:focus,.links-list a:hover,.links-list a:focus,.contact-list a:hover,.contact-list a:focus,.small-link a:hover,.small-link a:focus,.accordion-close:hover,.accordion-close:focus{color:var(--clr-accent-500)}@media (min-width: 35em){.primary-header{width:min(var(--content-max-width),calc(100% - var(--space-md) * 2));margin-inline:auto;padding-inline:0;align-items:baseline}.brand{align-items:baseline;line-height:1}.brand-mark{align-self:center}.primary-header nav{align-self:baseline}.primary-navigation{line-height:1}}.hero{display:grid;gap:var(--size-600);align-items:center;padding-block:var(--size-500) var(--size-500)}.hero-primary{display:grid;justify-items:center;text-align:center}.hero-kicker{margin:0 0 var(--size-300);color:var(--clr-accent-500);font-size:var(--fs-400);letter-spacing:.08em;text-transform:uppercase}.hero-headline{color:var(--clr-primary-400);font-family:var(--ff-heading);font-weight:var(--fw-bold);font-size:clamp(1.7rem,8vw,2.6rem);line-height:1.15;width:fit-content;max-width:100%;margin:0 auto;text-align:center}.hero-line{display:block;white-space:nowrap}.hero-emphasis{color:var(--clr-accent-500)}.hero-summary{max-width:34rem;margin:var(--size-400) auto 0;font-size:var(--fs-600);line-height:1.7}.hero-note-trigger{display:inline;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;line-height:inherit;vertical-align:baseline}.hero-note-trigger:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:.2rem}.hero-secondary{max-width:42rem;margin:0 auto}.hero-secondary p{margin:0;font-size:var(--fs-500);line-height:1.8}.hero-media{width:100%}.hero-media-frame{width:min(100%,32rem);margin:0 auto;aspect-ratio:4 / 5;overflow:hidden;border-radius:1rem}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center bottom;transform:scale(1.32);transform-origin:40% bottom}.hero .button{margin-top:var(--size-500)}.hero+.home-copy .content-wrap{margin-block-start:var(--size-500)}@media (min-width: 50em){.hero{--hero-desktop-scale: clamp( var(--hero-desktop-scale-min), calc( var(--hero-desktop-scale-min) + (var(--hero-desktop-scale-max) - var(--hero-desktop-scale-min)) * ((100vw - 50rem) / 40rem) ), var(--hero-desktop-scale-max) );--hero-desktop-overhang: clamp(4rem, 10vw, 10rem);--hero-desktop-media-width: calc(100% + clamp(.75rem, 3vw, 2.25rem)) ;grid-template-columns:minmax(0,1.05fr) minmax(18rem,.95fr);gap:var(--size-700);align-items:start;padding-block:var(--size-600) var(--size-600)}.hero-primary{grid-column:2;display:flex;flex-direction:column;justify-content:space-between;align-self:stretch;gap:var(--size-400);text-align:left;overflow:visible}.hero-headline{justify-self:start;display:block;width:calc(100% + var(--hero-desktop-overhang) * var(--hero-desktop-scale));max-width:none;margin:0;margin-right:calc(-1 * var(--hero-desktop-overhang) * var(--hero-desktop-scale));font-size:calc(clamp(1.7rem,8vw,2.6rem) * var(--hero-desktop-scale));text-align:left}.hero-line{display:block}.hero-summary{max-width:calc(34rem * var(--hero-desktop-scale));margin:0;font-size:calc(var(--fs-600) * var(--hero-desktop-scale));text-align:left}.hero .button{justify-self:start;margin-inline:0}.hero-media{grid-column:1;grid-row:1;justify-self:end;width:var(--hero-desktop-media-width)}.hero-media-frame{width:100%;margin:0}}.hero-img-element{position:relative;min-height:calc(100vh - 4.5rem)}.hero-img-element img{width:100%;height:100%;object-fit:cover;position:absolute;object-position:center top;inset:0}.content-wrap{text-align:justify;text-justify:inter-character;margin-block:var(--size-800)}.intro-box{text-align:left;float:left;width:min(40%,280px);margin-right:var(--size-700);margin-bottom:var(--size-400);padding:var(--size-500)}.intro-box p{margin:0;font-size:var(--fs-650);font-weight:var(--fw-semi-bold);line-height:1.3;color:var(--clr-primary-400)}.content-wrap>p{font-size:var(--fs-500);line-height:1.8;margin-block-end:var(--size-400)}.content-wrap:after{content:"";display:table;clear:both}.section-block{scroll-margin-top:var(--scroll-offset)}.section-copy{text-align:center;margin-inline:auto;max-width:42rem}.home-copy{margin-top:var(--size-200)}.home-copy-accordion{width:100%}.home-copy-accordion .accordion-panel-inner{padding-left:0}.home-copy-accordion .accordion-item.is-open .accordion-panel-inner{padding:var(--size-200) 0 var(--size-300)}.home-copy-accordion .content-wrap,.hero+.home-copy .home-copy-accordion .content-wrap{margin:0;text-align:left;text-justify:auto}.accordion{margin-top:var(--size-300);display:grid;gap:var(--size-100);justify-items:start}.accordion-item{scroll-margin-top:var(--scroll-offset);width:100%}.accordion-heading{margin:0}.accordion-trigger{display:inline-flex;align-items:center;gap:var(--size-200);padding:0;background:transparent;border:0;color:var(--clr-neutral-900);cursor:pointer;text-align:left;font-family:var(--ff-body);font-weight:var(--fw-semi-bold);font-size:var(--fs-550);line-height:1.35;transition:color var(--transition-time) ease-out}.accordion-trigger[aria-expanded=true]{color:var(--clr-accent-500)}.accordion-trigger:focus-visible{outline:2px solid currentColor;outline-offset:3px}.accordion-icon{width:.65rem;height:.65rem;flex-shrink:0;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform var(--transition-time) ease-out,border-color var(--transition-time) ease-out;margin-top:-.05rem}.accordion-trigger[aria-expanded=true] .accordion-icon{transform:rotate(45deg)}.accordion-panel{height:0;overflow:hidden;transition:height var(--transition-time) ease-out}.accordion-panel-inner{min-height:0;opacity:0;transform:translateY(-.2rem);transition:opacity var(--transition-time) ease-out,transform var(--transition-time) ease-out,padding var(--transition-time) ease-out;padding:0 0 0 1rem}.accordion-item.is-open .accordion-panel-inner{opacity:1;transform:translateY(0);padding:var(--size-200) 0 var(--size-400) 1rem}.accordion-close-row{display:flex;justify-content:center;padding-top:var(--size-200)}.accordion-close{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:transparent;border:0;color:var(--clr-accent-500);cursor:pointer}.accordion-close:focus-visible{outline:2px solid currentColor;outline-offset:3px}.accordion-close-icon{position:relative;width:.65rem;height:.65rem;display:inline-block}.accordion-close-icon:before,.accordion-close-icon:after{content:"";position:absolute;top:50%;left:50%;width:100%;height:2px;background:currentColor;border-radius:999px;transform-origin:center}.accordion-close-icon:before{transform:translate(-50%,-50%) rotate(45deg)}.accordion-close-icon:after{transform:translate(-50%,-50%) rotate(-45deg)}.accordion-panel-inner>:last-child{margin-block-end:0}.itemize,.links-list{list-style:disc;padding-left:1.25rem}.links-list li{margin-block-end:var(--size-200)}.links-list li::marker{color:color-mix(in srgb,var(--clr-accent-500) 82%,white)}.links-list a,.contact-list a,.small-link a{text-decoration:underline}.small-link{margin-top:var(--size-400)}.resource-note{margin-left:.6rem}.section-cta{text-align:center}.button{font-family:var(--ff-body);font-size:var(--fs-button);font-weight:var(--fw-bold);text-decoration:none;text-transform:uppercase;letter-spacing:1px;background:var(--clr-accent-500);color:var(--clr-neutral-100);padding:var(--size-400) var(--size-600);margin-inline:auto;text-align:center;display:inline-block;border:1px;border-radius:1rem;cursor:pointer;transition:all var(--transition-time) ease-out;margin-top:2.3rem}.button:hover,.button:focus{background:color-mix(in srgb,var(--clr-accent-500) 82%,white);color:var(--clr-neutral-100);transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in srgb,var(--clr-accent-500) 28%,white)}.site-footer{background:var(--clr-neutral-100);padding:var(--size-700) var(--space-md);margin-block-start:var(--size-900)}.footer-content{max-width:var(--content-max-width);margin:0 auto;text-align:center}.footer-content p{margin:0;font-size:var(--fs-400);line-height:1.6}.insta-img{width:20px;height:20px;display:inline-block;vertical-align:middle;margin-left:var(--size-200)}.teacher-profile{display:flex;flex-direction:row;gap:var(--size-500);align-items:flex-start;margin-block:var(--size-700)}.accordion-panel-inner .teacher-profile{margin-block:var(--size-400)}.accordion-panel-inner .teacher-profile:first-child{margin-top:0}.teacher-img-button{display:block;padding:0;border:0;background:transparent;border-radius:50%;cursor:zoom-in;flex-shrink:0;margin-top:calc(var(--fs-tertiary-heading) * 1.1 + var(--size-300))}.teacher-img-button:focus-visible{outline:2px solid currentColor;outline-offset:4px}.teacher-img{width:140px;height:140px;border-radius:50%;object-fit:cover;object-position:center}.taiji-popover{position:fixed;z-index:1001;width:max-content;max-width:min(92vw,13.5rem)}.taiji-popover-card{position:relative;background:var(--clr-neutral-100);border:1px solid color-mix(in srgb,var(--clr-accent-500) 22%,var(--clr-neutral-100));border-radius:.9rem;padding:var(--size-500) var(--size-500) var(--size-400);box-shadow:0 1rem 2rem color-mix(in srgb,var(--clr-neutral-900) 14%,transparent)}.taiji-popover-card:before{content:"";position:absolute;left:var(--taiji-popover-arrow-left, 1.5rem);width:.8rem;height:.8rem;background:var(--clr-neutral-100);transform:translate(-50%) rotate(45deg)}.taiji-popover[data-side=bottom] .taiji-popover-card:before{top:-.42rem;border-top:1px solid color-mix(in srgb,var(--clr-accent-500) 22%,var(--clr-neutral-100));border-left:1px solid color-mix(in srgb,var(--clr-accent-500) 22%,var(--clr-neutral-100))}.taiji-popover[data-side=top] .taiji-popover-card:before{bottom:-.42rem;border-right:1px solid color-mix(in srgb,var(--clr-accent-500) 22%,var(--clr-neutral-100));border-bottom:1px solid color-mix(in srgb,var(--clr-accent-500) 22%,var(--clr-neutral-100))}.taiji-popover-close{position:absolute;top:var(--size-200);right:var(--size-200);display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:0;border-radius:999px;background:color-mix(in srgb,var(--clr-accent-500) 10%,var(--clr-neutral-100));color:var(--clr-primary-400);cursor:pointer;font-size:1.2rem;line-height:1}.taiji-popover-close:focus-visible{outline:2px solid currentColor;outline-offset:3px}.taiji-popover-chinese{margin:0 0 var(--size-200);font-family:PingFang TC,Noto Sans CJK TC,Microsoft JhengHei,Heiti TC,sans-serif;font-size:clamp(1.2rem,3.2vw,1.45rem);line-height:1.1}.taiji-popover-meta{margin:0;font-size:var(--fs-400);line-height:1.6}.taiji-popover-meta+.taiji-popover-meta{margin-top:var(--size-100)}.image-lightbox{padding:0;border:0;background:transparent;width:min(92vw,52rem);max-width:min(92vw,52rem)}.image-lightbox::backdrop{background:color-mix(in srgb,var(--clr-neutral-900) 72%,transparent)}.image-lightbox-inner{position:relative;padding:var(--size-700) var(--size-300) var(--size-300);display:grid;justify-items:center}.image-lightbox-img{width:min(80vw,calc(80vh - 5rem),28rem);height:min(80vw,calc(80vh - 5rem),28rem);object-fit:cover;border-radius:50%;box-shadow:0 1rem 2rem color-mix(in srgb,var(--clr-neutral-900) 30%,transparent)}.image-lightbox-close{position:absolute;top:0;right:0;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:0;border-radius:999px;background:var(--clr-neutral-100);color:var(--clr-primary-400);cursor:pointer;font-size:1.75rem;line-height:1}.image-lightbox-close:focus-visible{outline:2px solid currentColor;outline-offset:3px}.teacher-text{flex:1}.teacher-name{font-size:var(--fs-550);margin-block-start:0;margin-block-end:var(--size-300);text-align:right;padding-right:var(--size-600)}.teacher-text p{margin:0;line-height:1.6}.no-break{white-space:nowrap}.contact-name{font-weight:var(--fw-bold);color:var(--clr-primary-400);margin-block-start:var(--size-400)}.info-page{min-height:45vh}.mirror{transform:scaleX(-1)}@media (max-width: 35em){.intro-box{float:none;width:100%;margin-right:0;margin-bottom:var(--size-700)}.primary-navigation{--gap: 1rem;--mobile-nav-transition-time: calc(var(--transition-time) / 2);position:fixed;z-index:1000;inset:0 0 0 30%;flex-direction:column;justify-content:center;padding:0 1.75em;transform:translate(100%);transition:transform var(--mobile-nav-transition-time) ease-out;background:var(--clr-overlay-mobile-nav);backdrop-filter:blur(2.5rem);font-family:var(--ff-heading);font-weight:var(--fw-semi-bold);font-size:var(--fs-600);line-height:1.25;letter-spacing:-.01em}.primary-navigation[data-visible=true]{transform:translate(0)}.mobile-nav-toggle{--burger-width: 22px;--burger-height: 2px;--burger-offset: 7px;z-index:9999;display:block;position:absolute;top:50%;right:var(--space-md);width:2.5rem;height:2.5rem;border:0;padding:0;cursor:pointer;color:var(--clr-primary-400);background-color:transparent;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:center;background-size:var(--burger-width) var(--burger-height);transform:translateY(-50%);transition:background-size var(--mobile-nav-transition-time) ease-out}.mobile-nav-toggle:before,.mobile-nav-toggle:after{content:"";position:absolute;left:50%;top:50%;width:var(--burger-width);height:var(--burger-height);background:currentColor;border-radius:999px;transition:transform var(--mobile-nav-transition-time) ease-out}.mobile-nav-toggle:before{transform:translate(-50%,calc(-50% - var(--burger-offset)))}.mobile-nav-toggle:after{transform:translate(-50%,calc(-50% + var(--burger-offset)))}.mobile-nav-toggle[aria-expanded=true]{background-size:0 0}.mobile-nav-toggle[aria-expanded=true]:before{transform:translate(-50%,-50%) rotate(45deg)}.mobile-nav-toggle[aria-expanded=true]:after{transform:translate(-50%,-50%) rotate(-45deg)}.primary-header{justify-content:space-between;position:fixed;top:0;left:0;right:0;z-index:999;background:var(--clr-neutral-100);padding:var(--size-300) var(--space-md)}body{padding-top:4.5rem}.teacher-img{width:80px;height:80px}.teacher-img-button{margin-top:0}.image-lightbox{width:96vw;max-width:96vw}.image-lightbox-inner{padding-top:calc(var(--size-600) + var(--size-200))}.taiji-popover{width:max-content;max-width:min(calc(100vw - 1rem),13rem)}.taiji-popover-card{padding:var(--size-400) var(--size-400) var(--size-300)}.taiji-popover-close{width:2rem;height:2rem}.taiji-popover-chinese{font-size:1.2rem}.taiji-popover-meta{font-size:var(--fs-300)}.teacher-name{font-size:var(--fs-500)}.teacher-text p{font-size:var(--fs-400)}}.lineage-content[data-astro-cid-5dpclfkc]{display:grid;gap:var(--size-400)}.lineage-summary[data-astro-cid-5dpclfkc],.lineage-dates[data-astro-cid-5dpclfkc]{margin:0}.lineage-list[data-astro-cid-5dpclfkc]{list-style:none;padding:0;margin:0;display:grid;gap:var(--size-500)}.lineage-entry[data-astro-cid-5dpclfkc]{display:flex;align-items:flex-start;gap:var(--size-400);padding-bottom:var(--size-500);border-bottom:1px solid color-mix(in srgb,var(--clr-accent-500) 22%,white)}.lineage-entry[data-astro-cid-5dpclfkc]:last-child{padding-bottom:0;border-bottom:0}.lineage-img[data-astro-cid-5dpclfkc]{width:104px;height:104px;flex-shrink:0;object-fit:cover;object-position:center;border:1px solid color-mix(in srgb,var(--clr-accent-500) 22%,white);filter:grayscale(1) saturate(0)}.lineage-text[data-astro-cid-5dpclfkc]{min-width:0}.lineage-heading[data-astro-cid-5dpclfkc]{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--size-200) var(--size-300);margin-bottom:var(--size-100)}.lineage-name[data-astro-cid-5dpclfkc]{margin:0;font-size:var(--fs-quaternary-heading)}.lineage-dates[data-astro-cid-5dpclfkc]{font-size:var(--fs-400);color:color-mix(in srgb,var(--clr-primary-400) 78%,white)}@media (max-width: 35em){.lineage-entry[data-astro-cid-5dpclfkc]{gap:var(--size-300)}.lineage-img[data-astro-cid-5dpclfkc]{width:80px;height:80px}}
