.absolute{position:absolute}.block{display:block}.contents{display:contents}.hidden{display:none}.min-h-full{min-height:100%}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--ink:#131110;--ink-soft:#2a2623;--paper:#fbf9f5;--paper-dim:#f2ede6;--red:#d3181c;--red-deep:#a3110f;--red-tint:#f7e6e2;--gold:#b6873f;--gold-soft:#d9b884;--line:#1311101f;--line-on-ink:#fbf9f529;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink-soft);-webkit-font-smoothing:antialiased;margin:0;font-family:Noto Sans JP,sans-serif;font-weight:400;line-height:1.6}h1,h2,h3,.serif{color:var(--ink);letter-spacing:-.01em;margin:0;font-family:Playfair Display,serif}.jp{font-family:Noto Serif JP,serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(18px)}.reveal.in{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}html{scroll-behavior:auto}}:focus-visible{outline:2px solid var(--red);outline-offset:3px}.cables{width:100%;height:26px;display:block}.cables path{stroke:var(--red);stroke-width:1.4px;fill:none;opacity:.55}.cables.on-ink path{stroke:var(--gold-soft);opacity:.5}header.nav{z-index:100;background:#fbf9f500;border-bottom:1px solid #0000;transition:background .35s,border-color .35s,-webkit-backdrop-filter .35s,backdrop-filter .35s;position:fixed;top:0;left:0;right:0}header.nav.solid{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#fbf9f5eb}.nav-row{max-width:var(--max);justify-content:space-between;align-items:center;margin:0 auto;padding:20px 32px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-name{color:var(--ink);font-family:Playfair Display,serif;font-size:1.2rem;font-weight:700}.brand-name b{color:var(--red);font-weight:700}.nav-links{align-items:center;gap:32px;display:flex}.nav-links a{color:var(--ink-soft);padding:4px 0;font-family:Noto Sans JP,sans-serif;font-size:.9rem;position:relative}.nav-links a:after{content:"";background:var(--red);width:0;height:1.5px;transition:width .25s;position:absolute;bottom:0;left:0}.nav-links a:hover:after{width:100%}.nav-cta{background:var(--ink);border:1px solid var(--ink);border-radius:2px;padding:10px 20px;font-family:Noto Sans JP,sans-serif;font-size:.88rem;transition:background .25s,color .25s;color:var(--paper)!important}.nav-cta:hover{background:var(--red);border-color:var(--red)}.nav-cta:after{display:none}.burger{cursor:pointer;background:0 0;border:none;padding:8px;display:none}.burger span{background:var(--ink);width:24px;height:2px;margin:5px 0;display:block}@media (max-width:900px){.nav-links{display:none}.burger{display:block}.nav-cta{display:none}}.mobile-menu{background:var(--ink);z-index:99;flex-direction:column;justify-content:center;align-items:center;gap:30px;padding-top:80px;display:none;position:fixed;inset:0}.mobile-menu.open{display:flex}.mobile-menu a{font-size:.9rem;transition:color .25s;color:var(--paper)!important}.mobile-menu a:hover{color:var(--gold-soft)!important}.mobile-menu .btn-primary{color:var(--paper)!important}.mobile-close{font-size:2rem;line-height:1;color:var(--paper)!important}.hero{background:var(--ink);padding:150px 0 0;position:relative;overflow:hidden}.hero-bridge{opacity:.95;width:100%;height:auto;position:absolute;top:0;left:0;right:0}.hero-inner{z-index:2;max-width:var(--max);text-align:center;flex-direction:column;align-items:center;margin:0 auto;padding:70px 32px 120px;display:flex;position:relative}.hero-eyebrow-jp{color:var(--gold-soft);letter-spacing:.14em;margin-bottom:22px;font-family:Noto Serif JP,serif;font-size:1.05rem}.hero h1{color:var(--paper);letter-spacing:-.02em;font-size:clamp(3rem,8vw,6.4rem);font-weight:800;line-height:.98}.hero h1 .rule-b{color:var(--red)}.hero-sub{color:#fbf9f5b8;max-width:520px;margin:26px 0 40px;font-size:1.12rem;font-weight:300}.btn-row{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.btn{border:1px solid #0000;border-radius:2px;padding:15px 30px;font-size:.94rem;transition:transform .2s,background .2s,border-color .2s,color .2s;display:inline-block}.btn-primary{background:var(--red);color:var(--paper)}.btn-primary:hover{background:var(--red-deep);transform:translateY(-2px)}.btn-ghost{color:var(--paper);border-color:#fbf9f566}.btn-ghost:hover{border-color:var(--paper);transform:translateY(-2px)}.hero-stats{z-index:2;border-top:1px solid var(--line-on-ink);background:#0000002e;position:relative}.stats-row{max-width:var(--max);text-align:center;grid-template-columns:repeat(4,1fr);gap:20px;margin:0 auto;padding:26px 32px;display:grid}@media (max-width:760px){.stats-row{grid-template-columns:repeat(2,1fr)}}.stats-row b{color:var(--gold-soft);font-family:Playfair Display,serif;font-size:1.9rem;display:block}.stats-row span{color:#fbf9f599;font-size:.78rem}section{padding:104px 0}.section-head{max-width:640px;margin-bottom:56px}.section-head .kicker{color:var(--red);margin-bottom:14px;font-family:Noto Serif JP,serif;font-size:.98rem;display:block}.section-head h2{font-size:clamp(2rem,4vw,2.7rem);font-weight:700}.section-head p{color:var(--ink-soft);max-width:520px;margin-top:16px;font-size:1.03rem}.center{text-align:center;margin-left:auto;margin-right:auto}.philosophy{background:var(--paper)}.phi-grid{grid-template-columns:.9fr 1.1fr;align-items:center;gap:70px;display:grid}@media (max-width:860px){.phi-grid{grid-template-columns:1fr;gap:40px}}.phi-visual{aspect-ratio:4/5;background:var(--ink);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.phi-visual svg{width:78%;height:78%}.phi-text h3{margin-bottom:20px;font-size:1.9rem;line-height:1.15}.phi-text p{margin-bottom:16px;font-size:1.02rem}.phi-text p:last-of-type{margin-bottom:0}.phi-quote-mark{color:var(--red);margin-bottom:8px;font-family:Playfair Display,serif;font-size:2.4rem;line-height:0;display:block}.courses{background:var(--paper-dim)}.course-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}@media (max-width:860px){.course-grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.course-grid{grid-template-columns:1fr}}.course-card{background:var(--paper-dim);border-top:3px solid var(--red);padding:36px 30px;transition:background .25s;position:relative}.course-card:hover{background:var(--paper)}.course-level{color:var(--ink);font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700}.course-jp{color:var(--gold);margin:6px 0 18px;font-family:Noto Serif JP,serif;font-size:.92rem}.course-card p{color:var(--ink-soft);margin-bottom:20px;font-size:.94rem}.course-meta{color:var(--ink-soft);border-top:1px solid var(--line);justify-content:space-between;padding-top:14px;font-size:.82rem;display:flex}.course-meta b{color:var(--ink)}.pillars{background:var(--paper)}.pillar-grid{grid-template-columns:repeat(3,1fr);gap:50px;display:grid}@media (max-width:860px){.pillar-grid{grid-template-columns:1fr;gap:44px}}.pillar{border-left:1px solid var(--line);padding-left:26px;position:relative}.pillar svg{width:34px;height:34px;margin-bottom:18px}.pillar h4{color:var(--ink);margin-bottom:10px;font-family:Playfair Display,serif;font-size:1.28rem;font-weight:700}.pillar p{color:var(--ink-soft);font-size:.96rem}.teachers{background:var(--ink)}.teachers .section-head h2,.teachers .section-head .kicker{color:var(--paper)}.teachers .section-head .kicker{color:var(--gold-soft)}.teachers .section-head p{color:#fbf9f5a6}.teacher-grid{grid-template-columns:repeat(4,1fr);gap:28px;display:grid}@media (max-width:860px){.teacher-grid{grid-template-columns:1fr 1fr}}@media (max-width:520px){.teacher-grid{grid-template-columns:1fr}}.teacher{text-align:left}.teacher-photo{aspect-ratio:3/3.6;border:1px solid var(--line-on-ink);background:linear-gradient(155deg,#2a2623,#181514);justify-content:center;align-items:center;width:100%;margin-bottom:16px;display:flex;position:relative;overflow:hidden}.teacher-photo span{color:var(--gold-soft);opacity:.6;font-family:Playfair Display,serif;font-size:2.6rem}.teacher h4{color:var(--paper);margin-bottom:4px;font-family:Playfair Display,serif;font-size:1.1rem}.teacher small{color:var(--gold-soft);margin-bottom:8px;font-size:.8rem;display:block}.teacher p{color:#fbf9f599;font-size:.86rem}.testimonials{background:var(--red-tint)}.test-grid{grid-template-columns:repeat(3,1fr);gap:40px;display:grid}@media (max-width:860px){.test-grid{grid-template-columns:1fr}}.test-card .phi-quote-mark{margin-bottom:6px}.test-card p{color:var(--ink);margin-bottom:18px;font-family:Playfair Display,serif;font-size:1.14rem;font-style:italic;line-height:1.5}.test-name{color:var(--ink-soft);font-size:.86rem}.test-name b{color:var(--ink);font-weight:600}.schedule{background:var(--paper)}table.sched{border-collapse:collapse;width:100%}table.sched th,table.sched td{text-align:left;border-bottom:1px solid var(--line);padding:18px 16px;font-size:.94rem}table.sched th{color:var(--red);border-bottom:1px solid var(--ink);font-family:Noto Serif JP,serif;font-size:.86rem;font-weight:500}table.sched td.lvl{color:var(--ink);font-family:Playfair Display,serif;font-size:1.05rem;font-weight:700}table.sched tr td:last-child,table.sched tr th:last-child{text-align:right}.sched-wrap{overflow-x:auto}.cta-band{background:var(--ink);text-align:center;padding:90px 0;position:relative;overflow:hidden}.cta-band h2{color:var(--paper);margin-bottom:18px;font-size:clamp(2rem,4.4vw,3rem)}.cta-band p{color:#fbf9f5a6;max-width:480px;margin:0 auto 34px}.contact{background:var(--paper-dim)}.contact-grid{grid-template-columns:1fr 1fr;gap:70px;display:grid}@media (max-width:860px){.contact-grid{grid-template-columns:1fr;gap:44px}}.info-line{align-items:flex-start;gap:16px;margin-bottom:26px;display:flex}.info-line svg{width:20px;height:20px;color:var(--red);flex:none;margin-top:3px}.info-line h5{color:var(--ink-soft);margin-bottom:4px;font-family:Noto Serif JP,serif;font-size:.82rem}.info-line p{color:var(--ink);font-size:.98rem}form.enroll{flex-direction:column;gap:16px;display:flex}form.enroll input,form.enroll select,form.enroll textarea{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);border-radius:2px;padding:14px 16px;font-family:Noto Sans JP,sans-serif;font-size:.94rem}form.enroll label{color:var(--ink-soft);margin-bottom:6px;font-family:Noto Serif JP,serif;font-size:.78rem;display:block}form.enroll textarea{resize:vertical;min-height:90px}form.enroll button{background:var(--red);color:var(--paper);cursor:pointer;border:none;border-radius:2px;align-self:flex-start;padding:15px 32px;font-size:.94rem;transition:background .2s}form.enroll button:hover{background:var(--red-deep)}footer{background:var(--ink);border-top:1px solid var(--line-on-ink);padding:60px 0 30px}.foot-top{flex-wrap:wrap;justify-content:space-between;gap:40px;margin-bottom:50px;display:flex}.foot-brand{max-width:300px}.foot-brand .brand-name{color:var(--paper)}.foot-brand p{color:#fbf9f58c;margin-top:14px;font-size:.9rem}.foot-cols{flex-wrap:wrap;gap:60px;display:flex}.foot-col h5{color:var(--gold-soft);margin-bottom:16px;font-family:Noto Serif JP,serif;font-size:.82rem}.foot-col a{color:#fbf9f59e;margin-bottom:10px;font-size:.9rem;display:block}.foot-col a:hover{color:var(--paper)}.foot-bottom{border-top:1px solid var(--line-on-ink);flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:26px;display:flex}.foot-bottom span{color:#fbf9f566;font-size:.8rem}.wrap{max-width:var(--max);margin:0 auto;padding:0 32px}@media (max-width:900px){.wrap{padding:0 24px}}.header-logo{object-fit:contain;width:150px;height:auto}@media (max-width:860px){.header-logo{width:120px;height:auto}}@media (max-width:480px){.header-logo{width:100px}}
