/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */.absolute{position:absolute}.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;overflow-x:hidden}.serif,h1,h2,h3{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}header.nav:not(.solid) .nav-links a{color:var(--paper)}header.nav:not(.solid) .burger span{background:var(--paper)}header.nav:not(.solid) .nav-cta{background:var(--red);border-color:var(--red)}.nav-row{max-width:var(--max);justify-content:space-between;margin:0 auto;padding:20px 32px}.brand,.nav-row{align-items:center;display:flex}.brand{gap:12px}.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)}.burger,.nav-cta:after{display:none}.burger{cursor:pointer;background:0 0;border:none;padding:8px}.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{z-index:200;background:radial-gradient(circle at 88% 12%,#b6873f1f,transparent 30%),linear-gradient(145deg,#171413 0,var(--ink) 52%,#0d0c0b 100%);color:var(--paper);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .34s,transform .34s,visibility 0s linear .34s;position:fixed;inset:0;overflow:hidden auto;transform:translateY(-12px)}.mobile-menu.open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translateY(0)}.mobile-menu-bridge{opacity:.42;pointer-events:none;width:100%;height:170px;position:absolute;inset:0 0 auto}.mobile-menu-bridge path{fill:none;stroke:var(--red);stroke-width:1.1px;vector-effect:non-scaling-stroke}.mobile-menu-shell{z-index:1;flex-direction:column;width:100%;max-width:720px;min-height:100%;margin:0 auto;padding:18px 24px 24px;display:flex;position:relative}.mobile-menu-topbar{border-bottom:1px solid var(--line-on-ink);justify-content:space-between;align-items:center;min-height:66px;display:flex}.mobile-menu-brand{width:132px;display:block}.mobile-menu-brand img{width:100%;height:auto}.mobile-close{appearance:none;width:46px;height:46px;color:var(--paper);cursor:pointer;background:#fbf9f509;border:1px solid #d9b8848c;border-radius:50%;flex:none;margin:0;padding:0;transition:background .22s,border-color .22s,transform .22s;position:relative}.mobile-close span{background:var(--paper);transform-origin:50%;border-radius:2px;width:19px;height:1.5px;margin:0;position:absolute;top:50%;left:50%}.mobile-close span:first-child{transform:translate(-50%,-50%)rotate(45deg)}.mobile-close span:last-child{transform:translate(-50%,-50%)rotate(-45deg)}.mobile-close:hover{background:var(--red);border-color:var(--red);transform:rotate(4deg)}.mobile-close:focus-visible{outline-color:var(--gold-soft)}.mobile-menu-content{flex-direction:column;flex:1;justify-content:center;padding:34px 0 28px;display:flex}.mobile-menu-heading{color:var(--gold-soft);justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:18px;display:flex}.mobile-menu-heading .jp{letter-spacing:.16em;font-size:.78rem}.mobile-menu-heading p{color:#fbf9f56b;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.7rem}.mobile-menu-nav{border-top:1px solid var(--line-on-ink)}.mobile-menu-nav a{border-bottom:1px solid var(--line-on-ink);min-height:61px;color:var(--paper);opacity:0;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;transition:color .22s,padding-left .22s,opacity .34s,transform .34s;display:grid;transform:translateY(10px)}.mobile-menu.open .mobile-menu-nav a{opacity:1;transform:translateY(0)}.mobile-menu.open .mobile-menu-nav a:first-child{transition-delay:60ms}.mobile-menu.open .mobile-menu-nav a:nth-child(2){transition-delay:90ms}.mobile-menu.open .mobile-menu-nav a:nth-child(3){transition-delay:.12s}.mobile-menu.open .mobile-menu-nav a:nth-child(4){transition-delay:.15s}.mobile-menu.open .mobile-menu-nav a:nth-child(5){transition-delay:.18s}.mobile-menu.open .mobile-menu-nav a:nth-child(6){transition-delay:.21s}.mobile-menu-nav a>span{color:var(--red);letter-spacing:.08em;font-family:Noto Serif JP,serif;font-size:.68rem}.mobile-menu-nav strong{font-family:Playfair Display,serif;font-size:clamp(1.45rem,6vw,2rem);font-weight:600;line-height:1}.mobile-menu-nav i{color:var(--gold-soft);font-size:.86rem;font-style:normal;transition:transform .22s}.mobile-menu-nav a:hover{color:var(--gold-soft);padding-left:6px}.mobile-menu-nav a:hover i{transform:translate(3px,-3px)}.mobile-menu-footer{border-top:1px solid var(--line-on-ink);grid-template-columns:1fr auto;align-items:center;gap:22px;padding-top:20px;display:grid}.mobile-menu-footer p{color:#fbf9f575;max-width:190px;margin:0;font-size:.68rem;line-height:1.5}.mobile-menu-cta{background:var(--red);color:var(--paper);letter-spacing:.02em;align-items:center;gap:18px;padding:13px 17px;font-size:.76rem;font-weight:600;transition:background .22s,transform .22s;display:inline-flex}.mobile-menu-cta:hover{background:var(--red-deep);transform:translateY(-2px)}.mobile-menu-cta span{color:var(--gold-soft)}@media (min-width:901px){.mobile-menu{display:none}}@media (max-height:700px){.mobile-menu-shell{padding-top:12px}.mobile-menu-topbar{min-height:56px}.mobile-menu-content{padding:18px 0}.mobile-menu-nav a{min-height:48px}.mobile-menu-nav strong{font-size:1.35rem}}@media (max-width:390px){.mobile-menu-shell{padding-left:20px;padding-right:20px}.mobile-menu-footer{grid-template-columns:1fr;gap:14px}.mobile-menu-footer p{display:none}.mobile-menu-cta{justify-content:space-between;width:100%}}@media (prefers-reduced-motion:reduce){.mobile-close,.mobile-menu,.mobile-menu-cta,.mobile-menu-nav a{transition:none}.mobile-menu-nav a{transform:none}}.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-path{z-index:2;border-top:1px solid var(--line-on-ink);color:#fbf9f5b8;letter-spacing:.04em;background:#0000002e;justify-content:center;align-items:center;gap:22px;padding:24px 32px;font-size:.86rem;display:flex;position:relative}.hero-path span[aria-hidden=true]{color:var(--gold-soft)}section{padding:104px 0;scroll-margin-top:90px}.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}.kicker{color:var(--red);margin-bottom:14px;font-family:Noto Serif JP,serif;font-size:.98rem;display:block}.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 h2{margin-bottom:20px;font-size:clamp(2rem,4vw,2.7rem);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}.phi-differentiators{gap:18px;margin-top:32px;display:grid}.phi-diff-item{border-left:2px solid var(--gold);padding-left:18px}.phi-diff-item h4{color:var(--ink);margin:0 0 4px;font-family:Playfair Display,serif;font-size:1.08rem}.phi-diff-item p{margin:0;font-size:.9rem}.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);flex-direction:column;min-width:0;padding:32px 28px;transition:background .25s;display:flex;position:relative}.course-card:hover{background:var(--paper)}.course-card .course-level{letter-spacing:.06em;text-transform:uppercase;color:var(--red);margin:0 0 7px;font-family:Noto Serif JP,serif;font-size:.82rem;font-weight:600}.course-card h3{margin-bottom:24px;font-size:1.55rem;line-height:1.2}.course-card p{color:var(--ink-soft);margin:0;font-size:.9rem}.course-card span{color:var(--gold);letter-spacing:.04em;margin-bottom:6px;font-family:Noto Serif JP,serif;font-size:.76rem;font-weight:600;display:block}.course-audience,.course-learning,.course-outcome{margin-bottom:20px}.course-learning ul{grid-template-columns:1fr 1fr;gap:7px 14px;margin:0;padding:0;list-style:none;display:grid}.course-learning li{padding-left:13px;font-size:.84rem;line-height:1.45;position:relative}.course-learning li:before{content:"";background:var(--red);border-radius:50%;width:4px;height:4px;position:absolute;top:.63em;left:0}.course-outcome{border-top:1px solid var(--line);padding-top:16px}.cta-small{color:var(--red);margin-top:auto;padding-top:4px;font-size:.86rem;font-weight:600}.cta-small span{color:inherit;font-family:inherit;font-size:inherit;margin:0 0 0 4px;transition:margin-left .2s;display:inline}.cta-small:hover span{margin-left:8px}.preparation-block{padding-top:92px;scroll-margin-top:100px}.course-grid--preparation{grid-template-columns:minmax(0,1fr);max-width:760px}.course-grid--preparation .course-learning ul{grid-template-columns:repeat(3,minmax(0,1fr))}.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 h3{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 .kicker,.teachers .section-head h2{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-size:2.6rem}.teacher h4,.teacher-photo span{font-family:Playfair Display,serif}.teacher h4{color:var(--paper);margin-bottom:4px;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)}.schedule-panel{border:1px solid var(--line);border-top:3px solid var(--red);background:var(--paper-dim);justify-content:space-between;align-items:center;gap:36px;padding:32px;display:flex}.schedule-panel>div{max-width:650px}.schedule-label{color:var(--gold);font-family:Noto Serif JP,serif;font-size:.78rem}.schedule-panel h3{margin:5px 0 10px;font-size:1.45rem}.schedule-panel p{margin:0;font-size:.94rem}.schedule-panel .btn{flex:none}.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-inner{text-align:center}.contact-inner h2{font-size:clamp(2rem,4vw,2.7rem)}.contact-intro{max-width:560px;margin:16px auto 42px}.contact-details{border:1px solid var(--line);background:var(--paper);text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.contact-item{min-width:0;padding:28px}.contact-item+.contact-item{border-left:1px solid var(--line)}.contact-item h3{color:var(--red);margin-bottom:12px;font-family:Noto Serif JP,serif;font-size:.82rem}.contact-item address,.contact-item p{overflow-wrap:anywhere;margin:0;font-size:.94rem;font-style:normal}.contact-item a:hover{color:var(--red)}.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}}@media (max-width:760px){section{padding:76px 0}.hero{padding-top:110px}.hero-inner{padding:55px 24px 76px}.hero-path{flex-wrap:wrap;gap:10px;padding:20px 18px;font-size:.76rem}.section-head{margin-bottom:38px}.preparation-block{padding-top:72px}.course-grid--preparation .course-learning ul{grid-template-columns:1fr 1fr}.schedule-panel{flex-direction:column;align-items:flex-start;padding:26px}.contact-details{grid-template-columns:1fr}.contact-item+.contact-item{border-left:0;border-top:1px solid var(--line)}}@media (max-width:430px){.nav-row{padding:16px 20px}.wrap{padding:0 20px}.hero h1{font-size:clamp(2.55rem,13vw,3.4rem)}.hero-sub{font-size:1rem}.btn-row,.btn-row .btn{width:100%}.btn-row .btn{text-align:center}.course-card{padding:28px 22px}.course-grid--preparation .course-learning ul,.course-learning ul{grid-template-columns:1fr}.schedule-panel .btn{text-align:center;width:100%}.foot-cols{gap:34px}}.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}}