@charset "UTF-8";
:root{--ink:#292525;--red:#bd2432;--paper:#fff;--muted:#6b6262;--line:#e8dfdd;--soft:#faf6f3;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:var(--ink);font-family:var(--sans);font-size:16px;scroll-behavior:smooth;scroll-padding-top:110px}*{box-sizing:border-box}body{margin:0;background:var(--paper)}a{color:inherit;text-underline-offset:5px}button,input,textarea{font:inherit}a,button,input,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--red);outline-offset:4px}img{max-width:100%;height:auto;display:block}p{line-height:2}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{font-weight:500}h1,h2{font-family:var(--serif)}h2{font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.5;letter-spacing:.04em}.skip{position:fixed;top:-100px;left:20px;background:white;z-index:10;padding:16px}.skip:focus{top:10px}.preview-notice{padding:10px 20px;background:#fff4d9;text-align:center;font-size:.875rem}header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px max(5vw,24px);border-bottom:1px solid var(--line);background:#fff}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0;font-family:var(--serif);font-size:1.5rem;line-height:1.4}.brand small{display:block;font-family:var(--sans);font-size:.75rem;letter-spacing:.05em}.brand img{object-fit:contain}nav{display:flex;align-items:center;gap:28px;font-size:.9rem}nav a{text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--red);color:white;padding:19px 24px;text-decoration:none;border:0;cursor:pointer;font-weight:600;line-height:1.5;transition:background .15s}.button:hover{background:#802024}.button.compact{padding:13px 18px;gap:10px}.button:disabled{background:#827775;cursor:not-allowed}.eyebrow{display:block;font-size:.75rem;letter-spacing:.15em;font-weight:700;color:var(--red);margin-bottom:22px}.hero{position:relative;display:grid;grid-template-columns:1fr 1.13fr;align-items:center;gap:5vw;max-width:1440px;margin:auto;padding:76px max(5vw,24px) 70px;overflow:hidden}.hero h1{font-size:clamp(3rem,6vw,5.3rem);line-height:1.4;letter-spacing:.06em;margin-bottom:24px}.hero p{max-width:420px;line-height:2.1;color:var(--muted);margin-bottom:30px}.hero-photo{margin:0;position:relative;z-index:1}.hero-photo img{width:100%;aspect-ratio:4/4.2;object-fit:cover}.hero-photo:before{content:"";position:absolute;width:65px;height:6px;top:-6px;background:var(--red)}figcaption{font-size:.75rem;line-height:1.8;color:var(--muted);margin-top:10px}.hero-mark{position:absolute;right:2%;bottom:34px;font:5rem var(--serif);color:#e8ebe8;writing-mode:vertical-rl;z-index:0}.section{padding:80px max(5vw,24px);max-width:1280px;margin:auto}.intro{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:18px 80px}.intro .eyebrow{grid-column:1/-1;margin:0}.intro h2{grid-row:2/4}.intro p{color:var(--muted);margin:5px 0 12px}.text-link{font-weight:600;line-height:1.9;text-decoration:none;border-bottom:1px solid currentColor;width:fit-content;padding-bottom:6px}.section-top{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:36px}.section-top h2{margin:0}.section-top p{color:var(--muted);margin:0}.instructors{background:var(--soft);max-width:none;padding-left:max(5vw,calc((100vw - 1152px)/2));padding-right:max(5vw,calc((100vw - 1152px)/2))}.instructor-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.instructor{background:#fff;display:grid;grid-template-columns:42% 1fr;align-items:stretch}.portrait{width:100%;height:100%;min-height:310px;object-fit:cover;object-position:50% 25%}.type-portrait{display:flex;align-items:center;justify-content:center;background:#f5eae6;color:var(--red)}.type-portrait span{font:2.8rem/1.7 var(--serif);letter-spacing:.1em}.instructor-copy{padding:30px 24px}.instructor-copy .eyebrow{margin-bottom:10px}.instructor h3{font:1.75rem/1.5 var(--serif);margin-bottom:4px}.roman{font-size:.75rem;letter-spacing:.05em;color:var(--muted)}.instructor p{font-size:.9rem;margin-top:22px;margin-bottom:0;line-height:1.9}.practice{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.practice figure{margin:0}.practice figure img{aspect-ratio:4/3;object-fit:cover}.pending{border-left:3px solid var(--red);padding:12px 20px;background:var(--soft)}table{width:100%;border-collapse:collapse;font-size:.875rem}caption{text-align:left;padding:12px 0;font-weight:700}th,td{text-align:left;padding:14px 8px;border-bottom:1px solid var(--line)}.access{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contact .section-heading p{max-width:330px;color:var(--muted)}form label{display:block;font-size:.875rem;font-weight:600;line-height:1.7;margin-bottom:20px}form label>span:not(.optional){font-size:.75rem;color:var(--red);margin-left:6px}.optional{font-size:.75rem;color:var(--muted);margin-left:6px}input:not([type=checkbox]),textarea{display:block;width:100%;border:1px solid #b8aaa6;border-radius:0;background:#fff;padding:13px;margin-top:8px;color:var(--ink);font-size:1rem}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.consent{display:flex;align-items:flex-start;gap:10px;font-weight:400}.consent input{margin-top:6px;width:18px;height:18px;flex-shrink:0}.consent span{color:var(--ink)!important;font-size:.875rem!important;margin:0!important}.form-note,#form-status{font-size:.875rem}#form-status[data-error=true]{color:#9f2225}.simple{min-height:55vh}.simple h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.6}.prose{max-width:900px}.prose h2{font-size:1.5rem;margin-top:40px}footer{background:#f6f0ec;color:var(--ink);padding:54px max(5vw,24px);display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}footer strong{font-family:var(--serif);font-size:1.5rem;font-weight:500}footer p{font-size:.75rem;margin-top:12px}.footer-links{display:flex;gap:22px;align-items:start;font-size:.875rem}footer small{width:100%;font-size:.75rem;opacity:.75}
@media(max-width:1000px){nav{gap:16px}nav>a:not(.button){display:none}.instructor{grid-template-columns:1fr}.portrait{height:280px;min-height:0}.type-portrait{height:280px}.instructor p{max-width:32em}.contact{gap:36px}.hero{gap:30px}.hero h1{font-size:3.8rem}}
@media(max-width:640px){header{padding:18px 20px;gap:10px}.brand{font-size:1.15rem;gap:8px}.brand small{font-size:.625rem}.brand img{width:34px;height:34px}nav .button{font-size:.75rem;padding:10px 12px}.hero{grid-template-columns:1fr;padding:44px 24px}.hero h1{font-size:clamp(2rem,10vw,3rem);line-height:1.55}.hero p{font-size:.9375rem}.hero-photo img{aspect-ratio:4/3}.hero-mark{display:none}.section{padding:52px 24px}.intro{display:block}.intro .eyebrow{margin-bottom:20px}.intro h2{margin-bottom:24px}.intro p{margin-bottom:22px}.section-top{display:block}.section-top p{margin-top:18px}.instructor-grid{grid-template-columns:1fr;gap:24px}.instructor{grid-template-columns:38% 1fr}.portrait,.type-portrait{height:100%;min-height:280px}.type-portrait span{font-size:2rem}.instructor-copy{padding:22px 18px}.instructor h3{font-size:1.4rem}.practice,.contact{grid-template-columns:1fr;gap:28px}.contact h2{margin-bottom:20px}.contact .section-heading p{max-width:none}.form-grid{grid-template-columns:1fr}.button{font-size:.875rem;padding:17px 20px}.footer-links{flex-wrap:wrap;line-height:1.8}footer{padding:40px 24px}.preview-notice{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}

.venue-map{display:block;width:100%;height:420px;border:0;margin:24px 0 12px}.map-note{font-size:.875rem;color:var(--muted)}
@media(max-width:640px){.venue-map{height:320px}}

/* Fuji landscape, warm white paper and the SKIF red. */
header{border-top:4px solid var(--red)}
.hero{max-width:none;min-height:740px;isolation:isolate;display:block;padding:85px max(6vw,calc((100vw - 1160px)/2)) 120px;background:#f8f5f0}
.hero-copy{position:relative;z-index:2;max-width:540px}
.hero h1{font-size:clamp(3.6rem,5.8vw,5.5rem);line-height:1.42;letter-spacing:.08em}
.hero p{color:#4f4745;max-width:385px}
.hero-photo{position:absolute;inset:0;z-index:-2}
.hero-photo img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 60%}
.hero-photo:before{display:none}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,253,249,.98) 0%,rgba(255,253,249,.92) 28%,rgba(255,253,249,.42) 49%,rgba(255,253,249,0) 72%),linear-gradient(0deg,rgba(255,253,249,.92),transparent 28%)}
.hero-seal{position:absolute;right:6vw;top:65px;writing-mode:vertical-rl;border:1px solid var(--red);color:var(--red);font:1.4rem/1.5 var(--serif);letter-spacing:.2em;padding:14px 10px;background:#fff9}
.hero-bottom{position:absolute;bottom:30px;left:max(6vw,calc((100vw - 1160px)/2));right:6vw;display:flex;justify-content:space-between;gap:20px;font-size:.8rem;letter-spacing:.12em}
.hero-bottom a{text-decoration:none}
.intro{padding-top:90px;padding-bottom:90px;border-top:0}
.intro h2{margin-bottom:0}.intro p{align-self:center}
.instructor{border-top:3px solid var(--red)}
.type-portrait{position:relative;background:linear-gradient(155deg,#fff8f4,#ecdcd6);overflow:hidden}
.type-portrait:before{content:"";position:absolute;bottom:0;left:0;right:0;height:55%;background:#bd243211;clip-path:polygon(0 100%,47% 12%,57% 12%,100% 100%)}
.type-portrait span{position:relative}
.contact{background:#fff}.access h3{font-family:var(--serif);font-size:1.5rem}
footer{border-top:4px solid var(--red)}
@media(max-width:1000px){.hero{min-height:690px}.hero h1{font-size:4rem}.hero-photo img{object-position:60% center}}
@media(max-width:640px){.hero{min-height:840px;padding:44px 24px 320px}.hero-copy{max-width:none}.hero h1{font-size:clamp(2.4rem,10vw,3.1rem);margin-bottom:20px}.hero p{max-width:none;font-size:.9rem}.hero-photo{inset:auto 0 0;height:380px}.hero-photo img{object-position:center 65%}.hero:after{background:linear-gradient(180deg,#fffcf8 0%,#fffcf8 48%,rgba(255,252,248,.85) 58%,transparent 77%,rgba(255,252,248,.75) 100%)}.hero-seal{top:auto;bottom:210px;right:24px;font-size:1rem;padding:10px 7px}.hero-bottom{bottom:20px;left:24px;right:24px;font-size:.65rem;letter-spacing:.03em}.intro{padding-top:55px;padding-bottom:55px}.intro h2{margin-bottom:24px}}

/* Keep Japanese copy together at sentence and heading boundaries. */
p{line-break:strict;overflow-wrap:anywhere;text-wrap:pretty}
.copy-line,.heading-line{display:block}
.hero p{max-width:440px;font-size:clamp(.875rem,1.2vw,1rem)}
.intro{grid-template-columns:1.1fr 1fr;gap:18px 48px}
.intro h2{font-size:clamp(1.65rem,3vw,2.7rem)}
.intro .copy-line+.copy-line{margin-top:.5em}
.access h3{margin-bottom:10px}.access h3+p{margin-bottom:24px}
.instructor h3{word-break:keep-all}
@media(max-width:640px){.hero p{font-size:.875rem}.intro h2{font-size:clamp(1.5rem,6.2vw,1.9rem);letter-spacing:.02em}.instructor{grid-template-columns:34% 1fr}.instructor-copy{padding:22px 16px}}

.portrait-frame{overflow:hidden;position:relative;min-height:310px}.portrait-frame .portrait{height:100%;width:100%;object-fit:cover}.portrait-frame.upper-body .portrait{transform:scale(2.15);transform-origin:50% 38%}
@media(max-width:1000px) and (min-width:641px){.portrait-frame{height:320px;min-height:0}.portrait-frame .portrait{object-position:50% 30%}}
@media(max-width:640px){.portrait-frame.upper-body .portrait{transform:scale(3);transform-origin:50% 33%}}

/* Display only the supplied poster portrait; keep original pixels intact. */
.portrait-frame.daizo-poster{background:#000}.portrait-frame.daizo-poster .portrait{position:absolute;max-width:none;width:auto;height:205%;min-height:0;left:50%;top:-50%;transform:translateX(-72%);object-fit:initial;clip-path:inset(26% 5% 24% 51%)}
