:root{--ink:#203943;--muted:#627279;--paper:#f7f6f2;--line:#d9dfdd;--accent:#9a7259}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.85 "Noto Sans JP","Yu Gothic",Meiryo,system-ui,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid #9a7259;outline-offset:4px}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.4}h1{font-size:clamp(2.5rem,5.5vw,4.8rem);letter-spacing:-.045em;font-weight:650}h2{font-size:clamp(1.8rem,3.4vw,2.7rem);font-weight:600}h3{font-size:1.35rem}.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.skip{position:absolute;top:-100px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}.crumb{display:flex;align-items:center;gap:12px;font-size:.75rem;padding-block:25px;border-bottom:1px solid var(--line);flex-wrap:wrap}.crumb nav{margin-left:auto;display:flex;gap:20px}.crumb nav a{padding:6px 2px}.crumb a[aria-current]{border-bottom:2px solid var(--ink);font-weight:700}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:9%;align-items:center;padding-block:72px 80px}.eyebrow{font-size:.7rem;letter-spacing:.16em;font-weight:700;color:var(--accent);margin-bottom:18px}.hero-line{font-family:"Yu Mincho",Georgia,serif;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.6;margin:25px 0}.lead{font-size:1.05rem;max-width:34em}.intro{font-size:.92rem;color:var(--muted);margin-top:18px}.button{display:inline-flex;background:var(--ink);color:white;min-height:48px;align-items:center;justify-content:center;padding:13px 23px;margin-top:30px;font-size:.9rem;font-weight:600}.button:hover{background:#3b545c}.hero-meta{display:flex;flex-wrap:wrap;gap:12px 22px;border-top:1px solid var(--line);padding-top:22px;margin-top:32px;font-size:.7rem;color:var(--muted)}.hero-portrait{background:#e4e8e6;align-self:stretch;max-height:600px;display:flex;flex-direction:column;position:relative}.hero-portrait>img{width:100%;height:100%;max-height:500px;object-fit:cover;object-position:50% 20%;flex:1;min-height:0}.hero-portrait figcaption{background:var(--ink);color:white;padding:22px 26px}.hero-portrait figcaption span,.hero-portrait small{display:block;font-size:.65rem;color:#d1dedd;letter-spacing:.07em}.hero-portrait strong{font-size:1.5rem;line-height:1.5;display:block}.directory{padding-block:35px 80px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}.section-heading>p{font-size:.82rem;color:var(--muted)}.filters{display:flex;gap:10px;flex-wrap:wrap}.filters button{border:1px solid #bfc9c8;background:transparent;color:var(--ink);padding:10px 18px;min-height:46px;border-radius:3px;font-size:.82rem;cursor:pointer}.filters button span{margin-left:8px;font-size:.7rem;opacity:.7}.filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.count{font-size:.73rem;color:var(--muted);margin:20px 0}.profiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}.profile{background:white;border:1px solid var(--line);overflow:hidden}.profile[hidden]{display:none}.profile>img{width:100%;height:280px;object-fit:cover;object-position:center 22%;background:#e4e8e6}.profile-copy{padding:25px}.discipline{font-size:.65rem;color:var(--accent);font-weight:700;letter-spacing:.08em}.profile h3{margin:10px 0 16px}.profile p{font-size:.83rem;line-height:1.95}.profile .credit{font-size:.74rem;color:var(--muted);padding-top:16px;margin-top:18px;border-top:1px solid var(--line)}.text-profile{border-top:3px solid #789093}.films{background:#e8eeec;padding:70px 0}.films>div>p:not(.eyebrow){max-width:760px;font-size:.9rem;margin-top:20px;color:var(--muted)}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}.video-card{display:flex;gap:24px;align-items:center;background:white;padding:32px;border:1px solid var(--line)}.video-card:hover{border-color:var(--ink)}.video-card .eyebrow{margin-bottom:12px}.video-card h3{font-size:1.1rem;margin-bottom:12px}.video-card span:not(.play){font-size:.75rem}.play{width:54px;height:54px;border:1px solid #7a9098;border-radius:50%;flex-shrink:0;display:grid;place-items:center;padding-left:3px}.consult{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-block:80px}.consult p:not(.eyebrow){color:var(--muted);font-size:.95rem}footer{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:40px;padding-block:35px 70px}footer p{font-size:.72rem;color:var(--muted);margin-top:10px}footer a{font-size:.8rem;text-decoration:underline}footer strong{font-size:1.4rem;letter-spacing:.08em}@media(max-width:850px){.hero{gap:5%;grid-template-columns:1.2fr 1fr}.profiles{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{align-items:start;flex-direction:column;gap:18px}.video-card{padding:22px;gap:16px}}@media(max-width:600px){.wrap{width:calc(100% - 36px)}.crumb{gap:8px;font-size:.65rem;padding-block:15px}.crumb nav{gap:12px}.hero{grid-template-columns:1fr;padding-block:36px 52px;gap:32px}.hero-line{margin-block:20px;font-size:1.9rem}.hero-portrait{max-height:470px}.hero-portrait>img{max-height:350px;object-fit:cover}.hero-meta{margin-top:26px}.hero-portrait figcaption{padding:17px 22px}.profiles{grid-template-columns:1fr;gap:20px}.profile>img{height:330px}.profile-copy{padding:24px}.filters{gap:8px}.filters button{padding:10px 12px}.video-grid,.consult,footer{grid-template-columns:1fr}.video-grid{gap:16px}.films{padding-block:50px}.consult{gap:26px;padding-block:55px}.directory{padding-bottom:55px}footer{gap:20px}.hero .button{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.video-card{text-align:left;font:inherit;color:inherit;cursor:pointer}dialog{border:0;background:var(--paper);color:var(--ink);padding:24px;width:min(900px,94vw);max-height:90vh}dialog::backdrop{background:#12252bcc}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dialog-head button{width:48px;height:48px;font-size:1.8rem;background:none;border:1px solid var(--line);cursor:pointer}#video-player iframe{display:block;width:100%;aspect-ratio:16/9;border:0}#video-link{display:inline-block;padding-top:16px;text-decoration:underline;font-size:.9rem}

/* Keep every instructor photo and source composite fully visible. */
.primary-photo{display:grid;place-items:center;width:100%;height:280px;background:#e9eeeb;padding:12px}.primary-photo img{width:100%;height:100%;object-fit:contain;min-height:0}.photo-link:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.photo-gallery{border-top:1px solid var(--line);margin-top:20px;padding-top:15px}.photo-gallery summary{font-size:.76rem;font-weight:600;cursor:pointer;min-height:35px}.photo-gallery summary span{color:var(--muted);margin-left:8px}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.gallery-photo{display:grid;place-items:center;background:#eef1ed;min-height:120px;padding:5px}.gallery-photo img{width:100%;height:140px;object-fit:contain}.hero-portrait>img{object-fit:contain;background:#e4e8e6}.profile-copy .discipline{font-size:.72rem}@media(max-width:600px){.primary-photo{height:330px}.hero-portrait>img{object-fit:contain}.gallery-photo img{height:150px}}
