:root{--igusa:#e9e7dc;--igusa-deep:#ded9cc;--night:#15181a;--ink:#1a1d1b;--ink-soft:#5d625e;--rule:rgba(26, 29, 27, .16);--accent:#2f5049;--accent-hover:#416b62;--display:'Zen Old Mincho', 'Yu Mincho', serif;--body:'Zen Kaku Gothic New', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;--wrap:1180px;--wrap-narrow:700px;--gutter:clamp(20px, 5vw, 48px);--section-y:clamp(72px, 11vw, 148px);--ease:cubic-bezier(.22, .61, .36, 1)}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--igusa);color:var(--ink);font-family:var(--body);font-weight:400;font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}img{display:block;max-width:100%;height:auto}a{color:var(--accent);text-decoration:none;transition:color .25s var(--ease)}a:hover{color:var(--accent-hover)}h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.28;margin:0 0 .6em;letter-spacing:.01em}p{margin:0 0 1.5em}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}.wrap-narrow{max-width:calc(var(--wrap-narrow) + var(--gutter) * 2)}.skip-link{position:absolute;left:-9999px;top:0;z-index:2000;padding:12px 20px;background:var(--ink);color:var(--igusa);font-size:14px}.skip-link:focus{left:0;color:var(--igusa)}.grain{position:fixed;inset:0;z-index:900;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}#site-header{position:fixed;inset:0 0 auto 0;z-index:1000;padding:20px 0;transition:background .35s var(--ease),padding .35s var(--ease),box-shadow .35s var(--ease)}#site-header.is-scrolled{padding:11px 0;background:rgba(233,231,220,.93);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--rule)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:baseline;gap:.5em;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.5)}.brand-kanji{font-family:var(--display);font-size:21px;font-weight:700;letter-spacing:.08em}.brand-latin{font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase}#site-header.is-scrolled .brand{color:var(--ink);text-shadow:none}.nav-menu{display:flex;align-items:center;gap:30px;margin:0;padding:0;list-style:none}.nav-menu>li>a{position:relative;color:rgba(255,255,255,.93);font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-shadow:0 1px 6px rgba(0,0,0,.5)}.nav-menu>li>a::after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.nav-menu>li>a:hover::after{transform:scaleX(1)}#site-header.is-scrolled .nav-menu>li>a{color:var(--ink);text-shadow:none}#site-header.is-scrolled .nav-menu>li>a:hover{color:var(--accent)}.nav-langs{display:flex;align-items:center;gap:10px;padding-left:22px;border-left:1px solid rgba(255,255,255,.3)}#site-header.is-scrolled .nav-langs{border-left-color:var(--rule)}.nav-langs a{color:rgba(255,255,255,.7);font-size:12px;letter-spacing:.1em;text-shadow:0 1px 6px rgba(0,0,0,.5)}.nav-langs a[aria-current=true]{color:#fff;font-weight:700}#site-header.is-scrolled .nav-langs a{color:var(--ink-soft);text-shadow:none}#site-header.is-scrolled .nav-langs a[aria-current=true]{color:var(--ink)}.nav-toggle{display:none;width:42px;height:34px;padding:8px 5px;border:0;background:0 0;cursor:pointer}.nav-toggle span{display:block;height:1.5px;margin:4px 0;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.4);transition:transform .3s var(--ease),opacity .2s var(--ease)}#site-header.is-scrolled .nav-toggle span{background:var(--ink);box-shadow:none}.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--night)}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,12,13,.82) 0%,rgba(10,12,13,.34) 42%,rgba(10,12,13,.28) 100%)}.hero-vertical{position:absolute;top:clamp(90px,14vh,150px);right:clamp(16px,4vw,60px);writing-mode:vertical-rl;font-family:var(--display);font-weight:700;font-size:clamp(38px,6.5vw,88px);letter-spacing:.16em;color:rgba(255,255,255,.3);user-select:none}.js .hero-vertical{clip-path:inset(0 0 100% 0);animation:brush 1.5s var(--ease).25s forwards}@keyframes brush{to{clip-path:inset(0 0 0 0)}}.hero-inner{position:relative;z-index:2;padding-bottom:clamp(90px,15vh,160px);color:#fff}.hero-eyebrow{margin:0 0 18px;font-size:12px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:rgba(255,255,255,.78)}.hero-name{margin:0;font-size:clamp(38px,7.5vw,88px);font-weight:600;line-height:1.06;letter-spacing:-.005em;color:#fff}.hero-honorific{display:block;margin-top:.18em;font-size:.34em;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.8)}.hero-rank{margin:24px 0 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.28);display:inline-block;font-size:14px;letter-spacing:.22em;color:rgba(255,255,255,.9)}.hero-tagline{margin:14px 0 0;font-family:var(--display);font-size:clamp(17px,2.2vw,22px);color:rgba(255,255,255,.82)}.hero-scroll{position:absolute;left:50%;bottom:34px;z-index:3;width:26px;height:44px;transform:translateX(-50%)}.hero-scroll span{position:absolute;left:50%;top:0;width:1px;height:100%;background:rgba(255,255,255,.45);transform-origin:top;animation:drop 2.2s var(--ease)infinite}@keyframes drop{0%{transform:scaleY(0);opacity:0}40%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1)translateY(100%);opacity:0}}.section{position:relative;padding-block:var(--section-y);scroll-margin-top:72px}.section-light{background:var(--igusa)}.section-grey{background:var(--igusa-deep)}.section-dark{background:var(--night);--ink:#eceae2;--ink-soft:#9aa09c;--rule:rgba(236, 234, 226, .18);--accent:#8fb3a8;--accent-hover:#b6d2c9;color:var(--ink)}.section-head{position:relative;margin-bottom:clamp(34px,5vw,56px)}.section-kanji{display:block;margin-bottom:12px;font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:.5em;color:var(--accent)}.section-title{margin:0;font-size:clamp(28px,4.2vw,44px);font-weight:600}.section-title::after{content:"";display:block;width:46px;height:1px;margin-top:22px;background:var(--rule)}@media(min-width:1320px){.section-kanji{position:absolute;top:4px;left:calc(var(--gutter) * -1 - 34px);margin:0;writing-mode:vertical-rl;letter-spacing:.38em;font-size:14px}.wrap-narrow .section-kanji{left:-52px}}.prose{color:var(--ink)}.prose p{margin:0 0 1.55em}.prose p:last-child{margin-bottom:0}.prose a{text-decoration:underline;text-underline-offset:.18em}.prose blockquote{margin:2em 0;padding-left:26px;border-left:2px solid var(--accent);font-family:var(--display);font-size:1.14em;color:var(--ink-soft)}.prose-lead{max-width:60ch;margin-bottom:clamp(30px,4vw,48px);color:var(--ink-soft);font-size:1.05em}.bio-grid{display:grid;grid-template-columns:minmax(0,1.5fr)minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}.bio-portrait{margin:0;position:sticky;top:100px}.bio-portrait img{width:100%}.bio-portrait figcaption{margin-top:12px;color:var(--ink-soft);font-size:12.5px;letter-spacing:.06em}@media(max-width:900px){.bio-grid{grid-template-columns:1fr}.bio-portrait{position:static;order:-1;max-width:400px}}.empty-note{padding:26px 28px;border:1px dashed var(--rule);color:var(--ink-soft);font-size:14px}.empty-note code{font-size:.92em;padding:1px 5px;background:rgba(26,29,27,7%)}.lineage{margin:0 0 clamp(38px,5vw,60px);padding:0;list-style:none;counter-reset:none}.lineage-link{position:relative;display:grid;grid-template-columns:minmax(72px,96px)minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start;padding-block:clamp(24px,3vw,34px)}.lineage-link::before{content:"";position:absolute;left:clamp(36px,4vw,48px);top:0;bottom:0;width:1px;background:var(--rule)}.lineage-link:first-child::before{top:50%}.lineage-link:last-child::before{bottom:50%}.lineage-kanji{position:relative;z-index:1;justify-self:center;padding:8px 4px;background:var(--igusa-deep);writing-mode:vertical-rl;font-family:var(--display);font-size:clamp(19px,2.4vw,25px);font-weight:600;letter-spacing:.14em;color:var(--ink)}.section-light .lineage-kanji{background:var(--igusa)}.section-dark .lineage-kanji{background:var(--night)}.is-current .lineage-kanji{color:var(--accent)}.lineage-body{padding-top:2px}.lineage-name{margin:0 0 4px;font-size:clamp(19px,2.3vw,24px)}.lineage-title{margin:0 0 8px;font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}.lineage-dates{margin-left:.5em;letter-spacing:.12em;color:var(--ink-soft)}.lineage-role{margin:0;max-width:52ch;color:var(--ink-soft);font-size:14.5px;line-height:1.75}.lineage-prose{max-width:62ch}@media(max-width:620px){.lineage-link{grid-template-columns:52px minmax(0,1fr);gap:18px}.lineage-link::before{left:26px}.lineage-kanji{font-size:17px}}.chrono{margin:0;padding:0;list-style:none;border-top:1px solid var(--rule)}.chrono-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:clamp(16px,3vw,32px);padding-block:18px;border-bottom:1px solid var(--rule)}.chrono-year{font-family:var(--display);font-size:16px;font-weight:600;letter-spacing:.06em;color:var(--ink-soft);font-variant-numeric:tabular-nums}.chrono-detail{color:var(--ink);font-size:15px;line-height:1.75}.is-marked .chrono-year,.is-current .chrono-year{color:var(--accent)}.is-marked .chrono-detail{font-weight:500}.is-current .chrono-detail{color:var(--ink);font-weight:500}@media(max-width:560px){.chrono-row{grid-template-columns:1fr;gap:4px}}.gallery{columns:3;column-gap:18px}.photo{position:relative;display:block;margin-bottom:18px;break-inside:avoid;background:rgba(26,29,27,6%);cursor:zoom-in}.photo img{width:100%;transition:opacity .4s var(--ease)}.photo::after{content:"";position:absolute;inset:0;border:1px solid rgba(26,29,27,.1);transition:border-color .3s var(--ease);pointer-events:none}.photo:hover img{opacity:.88}.photo:hover::after{border-color:var(--accent)}.photo-caption{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;background:linear-gradient(to top,rgba(10,12,13,.8),transparent);color:#fff;font-size:12.5px;line-height:1.5;letter-spacing:.02em;opacity:0;transition:opacity .3s var(--ease)}.photo:hover .photo-caption,.photo:focus-visible .photo-caption{opacity:1}@media(max-width:900px){.gallery{columns:2}}@media(max-width:540px){.gallery{columns:1}}.lightbox{position:fixed;inset:0;z-index:1500;display:flex;align-items:center;justify-content:center;background:rgba(12,14,15,.96);opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility .3s}.lightbox.is-open{opacity:1;visibility:visible}.lightbox-stage{max-width:min(92vw,1500px);max-height:86vh;display:flex;flex-direction:column;align-items:center;gap:14px}.lightbox img{max-width:92vw;max-height:78vh;width:auto;height:auto;object-fit:contain}.lightbox-caption{max-width:70ch;color:rgba(236,234,226,.82);font-size:13.5px;text-align:center}.lightbox-btn{position:absolute;display:grid;place-items:center;width:52px;height:52px;border:0;background:0 0;color:rgba(236,234,226,.75);font-size:26px;line-height:1;cursor:pointer;transition:color .25s var(--ease)}.lightbox-btn:hover{color:#fff}.lightbox-close{top:18px;right:18px}.lightbox-prev{left:10px;top:50%;transform:translateY(-50%)}.lightbox-next{right:10px;top:50%;transform:translateY(-50%)}.lightbox-count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:rgba(236,234,226,.55);font-size:12px;letter-spacing:.18em}body.is-locked{overflow:hidden}.teaching-grid{display:grid;grid-template-columns:minmax(0,1.35fr)minmax(0,1fr);gap:clamp(32px,5vw,68px);align-items:start}@media(max-width:860px){.teaching-grid{grid-template-columns:1fr}}.teaching-card{padding:clamp(24px,3vw,34px);background:var(--igusa-deep);border-top:2px solid var(--accent)}.section-grey .teaching-card{background:var(--igusa)}.section-dark .teaching-card{background:rgba(255,255,255,5%)}.card-block+.card-block{margin-top:22px;padding-top:22px;border-top:1px solid var(--rule)}.card-title{margin:0 0 6px;font-size:19px}.card-address{margin:0;color:var(--ink-soft);font-size:14.5px}.card-org{margin:0 0 6px;font-family:var(--display);font-size:16.5px}.card-meta{margin:0;color:var(--ink-soft);font-size:13px;letter-spacing:.04em;line-height:1.7}.card-link{font-size:14.5px}.card-links{margin:0;padding:0;list-style:none;display:grid;gap:8px}.schedule{width:100%;border-collapse:collapse;font-size:14.5px}.schedule th,.schedule td{padding:9px 0;text-align:left;vertical-align:baseline;border-bottom:1px solid var(--rule)}.schedule tr:last-child th,.schedule tr:last-child td{border-bottom:0}.schedule th{font-weight:500;padding-right:14px;white-space:nowrap}.schedule-time{white-space:nowrap;color:var(--ink)}.schedule-note{padding-left:14px;color:var(--ink-soft);font-size:13.5px}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(22px,3vw,36px)}.video{margin:0}.video-facade{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;background:rgba(255,255,255,6%);cursor:pointer;overflow:hidden}.video-facade img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease),opacity .3s var(--ease)}.video-facade:hover img{transform:scale(1.03);opacity:.85}.video-placeholder{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-size:30px;letter-spacing:.4em;color:rgba(236,234,226,.28)}.video-play{position:absolute;left:50%;top:50%;width:62px;height:62px;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.8);border-radius:50%;transition:background .3s var(--ease)}.video-play::after{content:"";position:absolute;left:54%;top:50%;transform:translate(-50%,-50%);border-style:solid;border-width:8px 0 8px 13px;border-color:transparent transparent transparent #fff}.video-facade:hover .video-play{background:rgba(255,255,255,.16)}.video-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-caption{padding-top:14px}.video-title{display:block;font-family:var(--display);font-size:17px}.video-note{display:block;margin-top:3px;color:var(--ink-soft);font-size:13.5px}.listen-list{margin:clamp(28px,4vw,44px)0 0;padding:0;list-style:none;border-top:1px solid var(--rule)}.listen-item{border-bottom:1px solid var(--rule)}.listen-item a{display:flex;align-items:center;gap:18px;padding:18px 0;color:var(--ink)}.listen-item a:hover{color:var(--accent)}.listen-icon{position:relative;flex:none;width:30px;height:30px;border:1px solid var(--rule);border-radius:50%}.listen-icon::before,.listen-icon::after{content:"";position:absolute;left:50%;top:50%;border:1px solid;border-radius:50%;border-color:transparent initial transparent transparent;transform:translate(-70%,-50%)}.listen-icon::before{width:10px;height:10px}.listen-icon::after{width:17px;height:17px;opacity:.5}.listen-body{display:block}.listen-title{display:block;font-family:var(--display);font-size:16.5px}.listen-note{display:block;margin-top:2px;color:var(--ink-soft);font-size:13px;letter-spacing:.04em}#site-footer{padding-block:clamp(52px,7vw,84px);background:var(--night);border-top:1px solid rgba(236,234,226,.1);--ink:#eceae2;--ink-soft:#8f948f;--rule:rgba(236, 234, 226, .16);color:var(--ink);text-align:center}.footer-mark{margin-bottom:22px}.footer-kanji{display:block;font-family:var(--display);font-size:26px;font-weight:700;letter-spacing:.3em;text-indent:.3em}.footer-rank{display:block;margin-top:8px;font-size:11.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-soft)}.footer-links{margin-bottom:26px}.footer-links ul{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 30px;margin:0;padding:0;list-style:none}.footer-links a{color:var(--ink);font-size:13.5px;letter-spacing:.04em;border-bottom:1px solid transparent;padding-bottom:2px;transition:color .25s var(--ease),border-color .25s var(--ease)}.footer-links a:hover{color:var(--accent);border-bottom-color:var(--accent)}.footer-note,.footer-copy{margin:0;color:var(--ink-soft);font-size:12.5px;line-height:1.9}.footer-note{padding-top:22px;border-top:1px solid var(--rule);max-width:46ch;margin-inline:auto}.reveal-ready .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal-ready .reveal.in-view{opacity:1;transform:none}@media(max-width:820px){.nav-toggle{display:block;z-index:2}.nav-menu{position:fixed;inset:0;flex-direction:column;justify-content:center;gap:26px;padding:0;background:var(--igusa);opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s}#site-header.nav-open .nav-menu{opacity:1;visibility:visible;transform:none}.nav-menu>li>a{color:var(--ink);font-size:15px;text-shadow:none}.nav-langs{padding-left:0;padding-top:22px;border-left:0;border-top:1px solid var(--rule)}.nav-langs a{color:var(--ink-soft);text-shadow:none;font-size:14px}.nav-langs a[aria-current=true]{color:var(--ink)}#site-header.nav-open .brand{position:relative;z-index:2;color:var(--ink);text-shadow:none}#site-header.nav-open .nav-toggle span{background:var(--ink);box-shadow:none}#site-header.nav-open .nav-toggle span:nth-child(1){transform:translateY(5.5px)rotate(45deg)}#site-header.nav-open .nav-toggle span:nth-child(2){opacity:0}#site-header.nav-open .nav-toggle span:nth-child(3){transform:translateY(-5.5px)rotate(-45deg)}.hero-vertical{font-size:clamp(30px,9vw,52px);opacity:.8}.lightbox-btn{width:44px;height:44px}.photo-caption{opacity:1}}@media(max-height:560px){.hero-vertical{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal-ready .reveal{opacity:1;transform:none}.js .hero-vertical{clip-path:none;animation:none}.hero-scroll span{animation:none;opacity:.5}}@media print{#site-header,.hero-scroll,.grain,.lightbox,.nav{display:none}body{background:#fff;color:#000}.section{padding-block:24px}.hero{min-height:auto}}