:root{--bg:#fffefd;--panel:#ffffff;--fg:#344c40;--muted:#637467;--rose:#986372;--sage:#56784f;--border:#526c4c26;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;--sans:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;color:var(--fg);background:var(--bg);font:16px/2 var(--sans);letter-spacing:.025em;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-weight:400}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--rose);outline-offset:6px}.skip-link{position:fixed;top:-100px;left:20px;z-index:1000;background:var(--fg);color:var(--bg);padding:10px 20px}.skip-link:focus{top:12px}
.site-header{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;gap:38px;height:96px;padding:0 5%;border-bottom:1px solid #526c4c25;background:linear-gradient(#fffefdf0,#fffefd99)}.brand{display:block;flex-shrink:0;width:180px}.brand img{width:180px;filter:brightness(0) invert(1);opacity:.94}.site-header nav{margin-left:auto;display:flex;gap:27px;font-size:14px}.site-header nav a{padding:12px 0}.site-header nav a:hover{color:var(--rose)}.header-contact{font-size:14px;padding:10px 18px;border:1px solid #657d638a;white-space:nowrap;transition:background .2s}.header-contact:hover{background:#edf3e8}
.hero{position:relative;isolation:isolate;min-height:max(790px,94svh);display:flex;align-items:center;padding:135px 0 115px;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3;filter:saturate(.65) brightness(1.35);opacity:.84}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fffefdf9 0%,#fffefdeb 32%,#fffefdb8 50%,#fffefd38 82%),linear-gradient(0deg,var(--bg),transparent 38%)}.hero-content{margin-left:max(7%,calc((100% - 1200px)/2));max-width:730px}.eyebrow{font:12px/1.8 Arial,var(--sans);letter-spacing:.19em;color:#627759}.rose{color:var(--rose)}.tiny-dot{display:inline-block;vertical-align:middle;width:6px;height:6px;border-radius:50%;background:var(--rose);margin-right:12px}.hero h1{font:clamp(43px,4.8vw,72px)/1.65 var(--serif);letter-spacing:.11em;margin-top:32px;text-shadow:0 2px 25px #ffffff55}.hero-copy{font-size:17px;color:#536a5c;margin-top:25px;line-height:2.2}.hero-actions{display:flex;flex-wrap:wrap;gap:15px;margin-top:35px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 25px;font-size:15px;letter-spacing:.04em;border:1px solid #647d616b;transition:background .25s,transform .25s,border-color .25s}.primary{color:#ffffff;background:#4c715a;border-color:#4c715a}.primary:hover{background:#3c6049;border-color:#3c6049;transform:translateY(-3px)}.secondary{background:#ffffffb8}.secondary:hover{background:#edf3e8;transform:translateY(-3px)}.hero-bottom{position:absolute;bottom:31px;left:5%;right:5%;display:flex;justify-content:space-between;gap:20px;font:12px/1.8 Arial,sans-serif;letter-spacing:.15em;color:#65785e}
.intro-band{max-width:1200px;margin:auto;padding:33px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:28px;align-items:center}.intro-band>p:last-child{font:20px/1.8 var(--serif)}.intro-band span{color:var(--rose)}.section{max-width:1200px;margin:auto;padding:115px 0}.philosophy{display:grid;grid-template-columns:1fr 1fr;gap:100px}.section-title h2{font:clamp(35px,4vw,56px)/1.65 var(--serif);letter-spacing:.07em;margin-top:26px}.section-title h2 span{color:var(--sage)}.philosophy-copy{padding-top:42px}.philosophy-copy p+p{margin-top:23px;color:var(--muted)}.large-copy{font:27px/1.85 var(--serif);color:var(--fg)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:52px}.section-heading h2{font:clamp(32px,3.5vw,46px)/1.65 var(--serif);letter-spacing:.055em;margin-top:22px}.section-heading>p{color:var(--muted);font-size:15px;line-height:2.2;padding-bottom:7px}.spotlight{position:relative;border:1px solid #78916d38;background:radial-gradient(ellipse at 50% 0%,#f0e3dc66,transparent 65%),var(--panel)}.spotlight:before{content:'';position:absolute;top:-1px;left:22%;right:22%;height:1px;background:linear-gradient(90deg,transparent,#b5ad91,transparent);box-shadow:0 6px 30px #d6b4a126}.course-card{padding:53px}.course-card h3{font:clamp(27px,3vw,37px)/1.7 var(--serif);margin-top:20px}.course-lead{font:25px/1.85 var(--serif);margin:21px 0 20px;color:#536b58}.course-card>p:not(.eyebrow):not(.course-lead){max-width:760px;color:var(--muted);line-height:2.1}.course-facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:35px 0 25px;padding:27px 0}.course-facts>div{padding-left:25px;border-left:1px solid var(--border)}.course-facts>div:first-child{padding-left:0;border:0}.course-facts strong{font:44px/1.4 Georgia,serif;color:#78644e}.course-facts strong span{font:16px/1.8 var(--sans);margin-left:6px}.course-facts p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:8px}.text-link{display:inline-block;padding:9px 0;border-bottom:1px solid #71896b99;font-size:15px;color:#476447;transition:color .2s,border-color .2s}.text-link:hover{color:#8f5a6a;border-color:var(--rose)}.founders-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px}.founder{min-width:0}.portrait{overflow:hidden;background:#f0f4ed}.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:saturate(.8);transition:transform .8s,filter .8s}.founder .portrait{aspect-ratio:4/4.5}.founder h3{font:31px/1.5 var(--serif);margin-top:12px}.member-role{font:13px/1.8 Arial,var(--sans);letter-spacing:.07em;color:var(--rose);margin-top:24px}.member-title{font-size:14px;color:#5e7459;margin-top:8px}.member-description{font-size:16px;line-height:2.1;color:var(--muted);margin-top:20px;max-width:480px}
.contact{background:radial-gradient(ellipse at 50% 100%,#d5e4cc66,transparent 70%),#f3f7ef;border-top:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center}.contact .section{padding:90px 0}.contact h2{font:clamp(33px,4vw,52px)/1.7 var(--serif);letter-spacing:.07em;margin-top:24px}.contact p:not(.eyebrow){margin-top:22px;color:var(--muted)}.contact .button{margin-top:29px;min-width:260px}.contact-email{display:block;width:fit-content;margin:24px auto 0;font-size:15px;color:#516f50}.contact-email:hover{text-decoration:underline;text-underline-offset:5px}.site-footer{max-width:1200px;margin:auto;padding:45px 0 30px;display:flex;flex-wrap:wrap;gap:22px 30px;align-items:center}.footer-brand{font:24px/1.5 var(--serif)}.site-footer>p{font-size:14px;color:var(--muted);margin-left:auto}.site-footer nav{width:100%;display:flex;flex-wrap:wrap;gap:18px 30px;padding-top:24px;border-top:1px solid var(--border);font-size:13px;color:#5b7455}.site-footer nav a:hover{color:var(--rose)}.site-footer small{font:12px/1.8 Arial,sans-serif;color:#65755f;letter-spacing:.05em}
@media(min-width:1500px){.hero-content{margin-left:calc((100% - 1200px)/2)}}
@media(max-width:1300px){.section,.intro-band,.site-footer{margin-left:6%;margin-right:6%}.site-header{gap:25px}.site-header nav{gap:20px}.philosophy{gap:60px}}
@media(max-width:1000px){.site-header{gap:18px}.site-header nav{gap:17px}.brand,.brand img{width:155px}.philosophy{gap:35px}.course-card{padding:35px}.course-facts{gap:16px}.course-facts>div{padding-left:16px}.course-facts strong{font-size:38px}.founders-grid{gap:40px}}
@media(max-width:760px){.site-header{height:82px;padding:0 6%}.site-header nav{display:none}.header-contact{margin-left:auto;padding:9px 13px;font-size:13px}.hero{min-height:max(740px,96svh);padding:122px 0 105px}.hero-content{margin-left:6%;margin-right:6%}.hero h1{font-size:47px;letter-spacing:.08em}.hero-copy{font-size:16px}.hero-image{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#fffefde8,#fffefdbd),linear-gradient(0deg,var(--bg),transparent 38%)}.intro-band{display:block;padding:27px 0}.intro-band>p:last-child{margin-top:12px;font-size:19px}.section{padding:78px 0}.philosophy{grid-template-columns:1fr;gap:22px}.section-title h2{font-size:40px}.philosophy-copy{padding-top:9px}.large-copy{font-size:25px}.section-heading{display:block;margin-bottom:33px}.section-heading h2{font-size:34px}.section-heading>p{margin-top:20px}.course-card{padding:30px}.course-card h3{font-size:28px}.course-lead{font-size:23px}.course-facts{grid-template-columns:repeat(2,1fr);gap:23px 15px;padding:23px 0}.course-facts>div,.course-facts>div:first-child{border:0;padding-left:0}.course-facts strong{font-size:40px}.founders-grid{gap:30px}.founder .portrait{aspect-ratio:3/4}.founder h3{font-size:26px}.member-role{font-size:12px;letter-spacing:.025em}.member-description{font-size:15px}.site-footer{padding-top:35px}.site-footer>p{margin:0;width:100%}.site-footer nav{gap:18px 24px}}
@media(max-width:550px){.brand,.brand img{width:136px}.header-contact{font-size:12px;padding:9px 11px}.hero h1{font-size:40px}.hero-actions{flex-direction:column;align-items:flex-start;gap:12px}.hero-actions .button{min-width:244px}.hero-bottom>span{display:none}.hero-bottom>a{margin-left:auto}.eyebrow{letter-spacing:.12em}.section-title h2{font-size:35px}.section-heading h2{font-size:30px}.course-card{padding:25px 20px}.course-lead{font-size:21px}.course-lead br{display:none}.course-facts p{font-size:13px}.course-facts strong span{font-size:14px}.founders-grid{grid-template-columns:1fr;gap:43px}.founder .portrait{max-height:520px}.member-role{font-size:13px}.member-description{font-size:16px}.contact h2{font-size:34px}.site-footer nav{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;transform:none!important}}

/* White surfaces, soft daylight, and room for the words. */
[hidden]{display:none!important}
.brand{display:flex;align-items:center;gap:10px;width:auto}
.brand-symbol{display:block;width:50px;height:34px;overflow:hidden;flex-shrink:0}
.brand-symbol img{width:278.4px;height:33.6px;max-width:none;filter:none;opacity:.94;position:relative;left:-51.6px}
.brand-name{font:22px/1.5 var(--serif);letter-spacing:.08em;white-space:nowrap}
.hero-rain{position:absolute;inset:0;width:100%;height:100%;z-index:-2;pointer-events:none}
.motion-toggle{color:#65785e;background:transparent;border:0;border-bottom:1px solid #65785e55;padding:0 0 2px;font-size:12px;letter-spacing:.03em;cursor:pointer;margin-left:auto}
.motion-toggle:hover{color:var(--rose)}
.boundary-band{border-block:1px solid var(--border);background:radial-gradient(ellipse at 50% 0,#eddee53b,transparent 66%),#faf5f7;text-align:center;padding:75px 6%}
.boundary-band h2{font:clamp(27px,3vw,39px)/1.8 var(--serif);letter-spacing:.07em;margin:21px 0 18px}
.boundary-band h2 span{color:var(--rose)}
.boundary-band>div>p:last-child{color:var(--muted);font-size:15px}
.approach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.approach-card{padding:35px 29px 39px;transition:border-color .35s,background .35s,transform .35s}
.approach-card h3{font:27px/1.7 var(--serif);margin:24px 0 20px}
.approach-card>p:last-child{font-size:15px;color:var(--muted);line-height:2.15}
.reflection-panel{margin-top:65px;display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;padding:40px 0;border-block:1px solid var(--border)}
.reflection-panel h3{font:28px/1.7 var(--serif);margin:16px 0}
.reflection-panel>div>p:last-child{color:var(--muted);font-size:14px}
.reflection-interactive{padding-left:45px;border-left:1px solid var(--border)}
.reflection-tabs{display:flex;gap:10px;flex-wrap:wrap}
.reflection-tabs button{background:transparent;color:var(--muted);border:1px solid var(--border);padding:7px 24px;font-size:14px;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.reflection-tabs button[aria-pressed=true]{background:#f3e5e8;color:#825363;border-color:#98637270}
.reflection-tabs button:hover{border-color:var(--rose)}
.reflection-question{font:25px/1.9 var(--serif);color:#835d66;margin:24px 0 18px;min-height:95px;white-space:pre-line}
.reflection-note{font-size:13px!important;line-height:1.9}
.course-support{padding:35px 0 0;margin-top:32px;border-top:1px solid var(--border)}
.course-support ul{padding:0;margin:20px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 25px;list-style:none;color:var(--muted);font-size:14px}
.course-support li{padding-left:18px;position:relative}
.course-support li:before{content:'';position:absolute;top:11px;left:0;width:4px;height:4px;border-radius:50%;background:var(--rose)}
.curriculum{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;margin-top:48px;padding-top:40px;border-top:1px solid var(--border)}
.curriculum-heading h4{font:26px/1.8 var(--serif);margin-top:16px}
.curriculum-list details,.faq-list details{border-bottom:1px solid var(--border)}
summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:20px;line-height:1.8;padding:20px 0}
summary::-webkit-details-marker{display:none}
.step-number{font:13px/1.7 Georgia,serif;color:var(--rose);min-width:20px}
.detail-icon{font:22px/1 Georgia,serif;color:var(--sage);margin-left:auto;flex-shrink:0;transition:transform .3s}
details[open] .detail-icon{transform:rotate(45deg)}
.curriculum-list details>p{padding:0 0 24px 40px;color:var(--muted);font-size:14px;line-height:2.1}
.experience-wrap{background:radial-gradient(ellipse at 80% 15%,#ecdde666,transparent 65%),#faf5f6;border-block:1px solid var(--border)}
.experience{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:80px;padding-bottom:80px}
.experience h2{font:clamp(35px,4vw,48px)/1.7 var(--serif);margin-top:23px;letter-spacing:.07em}
.experience-lead{font:18px/2 var(--serif);color:var(--rose);margin-top:22px}
.experience-copy{padding-top:16px;color:var(--muted)}
.experience-copy>p+p{margin-top:21px}
.experience-copy .button{margin-top:28px}
.experience-copy .text-link{display:block;width:fit-content;margin-top:15px}
.executive-heading{margin:70px 0 34px;padding-top:35px;border-top:1px solid var(--border)}
.executive-heading h3{font:28px/1.8 var(--serif);margin:15px 0 8px}
.executive-heading>p:last-child{font-size:15px;color:var(--muted)}
.executives-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.member{min-width:0}
.member .portrait{aspect-ratio:4/4.7}
.member h3{font:27px/1.7 var(--serif);margin-top:7px}
.member small{display:block;font:12px/1.9 Arial,var(--sans);color:#667560;letter-spacing:.04em;margin-top:9px}
.voices-wrap{border-block:1px solid var(--border);background:radial-gradient(ellipse at 15% 25%,#9863720d,transparent 55%),#f7f9f4}
.voices-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px}
.voice-story{padding:38px}
.voice-story h3{font:30px/1.75 var(--serif);margin:24px 0}
.voice-story>p:not(.eyebrow){color:var(--muted);font-size:15px}
.voice-story .note{margin-top:25px;font-size:12px!important;line-height:1.9;color:#697761!important}
.journal-links{border-top:1px solid var(--border)}
.journal-links a{display:block;position:relative;border-bottom:1px solid var(--border);padding:23px 35px 24px 0;transition:padding-left .3s}
.journal-links h3{font:24px/1.8 var(--serif);margin:7px 0}
.journal-links p{font-size:14px;line-height:1.9;color:var(--muted)}
.journal-links a:after{content:'↗';position:absolute;top:45%;right:7px;color:var(--rose);font-size:23px;transition:transform .3s}
.faq-list{max-width:900px;border-top:1px solid var(--border);margin-left:auto}
.faq-list summary{padding:26px 0;font-size:17px;gap:20px}
.faq-list details>p{padding:0 45px 27px 0;color:var(--muted);font-size:15px;line-height:2.1}
.company{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;border-top:1px solid var(--border)}
.company .section-title>p:last-child{color:var(--muted);margin-top:28px;font-size:15px}
.company-details{margin:0;border-top:1px solid var(--border)}
.company-details>div{display:grid;grid-template-columns:130px 1fr;padding:23px 0;gap:20px;border-bottom:1px solid var(--border);font-size:15px}
.company-details dt{color:#617d59}
.company-details dd{margin:0;min-width:0;overflow-wrap:anywhere}
.company-details a:hover{text-decoration:underline;text-underline-offset:5px}
.business-areas{padding-top:30px}
.business-areas h3{font:22px/1.7 var(--serif)}
.business-areas ul{margin:17px 0 0;padding-left:18px;color:var(--muted);font-size:14px;line-height:2.1}
.business-areas li+li{margin-top:6px}
.section-heading,.section-title,.reflection-panel,.course-card,.founder,.executive-heading,.member,.voice-story,.journal-links,.company-details{transition:opacity .7s ease,translate .7s ease}
.reveal-pending{opacity:0;translate:0 16px}
@media(hover:hover) and (pointer:fine){.approach-card:hover{transform:translateY(-5px);border-color:#98b08d88;background-color:#f5f8f2}.founder:hover .portrait img,.member:hover .portrait img{transform:scale(1.035);filter:saturate(.95)}.journal-links a:hover{padding-left:8px}.journal-links a:hover:after{transform:translate(3px,-3px)}}
@media(max-width:1000px){.approach-grid{gap:17px}.approach-card{padding:29px 23px}.approach-card h3{font-size:24px}.reflection-panel{gap:35px}.reflection-interactive{padding-left:30px}.curriculum{gap:30px}.experience{gap:45px}.executives-grid{gap:25px}.voices-grid{gap:30px}.company{gap:40px}}
@media(max-width:760px){.boundary-band{padding:55px 6%}.boundary-band h2{font-size:29px}.approach-grid{grid-template-columns:1fr}.approach-card{padding:31px}.approach-card h3{margin:17px 0 14px;font-size:26px}.reflection-panel{margin-top:40px;grid-template-columns:1fr;gap:20px;padding:30px 0}.reflection-interactive{border-left:0;padding:20px 0 0;border-top:1px solid var(--border)}.reflection-question{font-size:23px;min-height:88px}.course-support ul{grid-template-columns:1fr;gap:10px}.curriculum{grid-template-columns:1fr;gap:20px;margin-top:33px;padding-top:30px}.curriculum-heading h4{font-size:24px}.curriculum-heading h4 br{display:none}.experience{grid-template-columns:1fr;gap:25px;padding-top:65px;padding-bottom:65px}.experience h2{font-size:37px}.experience-copy{padding-top:0}.experience-copy .button{font-size:14px}.executive-heading{margin-top:45px}.executives-grid{gap:20px}.member h3{font-size:22px}.member-title{font-size:13px}.member small{font-size:11px;letter-spacing:0}.voices-grid{grid-template-columns:1fr}.voice-story{padding:30px}.voice-story h3{font-size:28px}.faq-list summary{font-size:16px;padding:24px 0}.company{grid-template-columns:1fr;gap:32px}.company-details>div{grid-template-columns:110px 1fr;font-size:14px}.hero-bottom{font-size:11px;gap:14px}.motion-toggle{font-size:12px}}
@media(max-width:550px){.boundary-band h2{font-size:24px;letter-spacing:.03em}.boundary-band>div>p:last-child{font-size:14px;max-width:300px;margin:auto}.approach-card{padding:28px 25px}.reflection-tabs button{padding:7px 22px}.reflection-question{font-size:21px}.executives-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}.member h3{font-size:21px}.member .member-role{margin-top:18px}.member .portrait{aspect-ratio:3/4}.member .member-title{font-size:12px;line-height:1.8}.company-details>div{grid-template-columns:1fr;gap:6px;padding:20px 0;font-size:15px}.company-details dt{font-size:13px}.experience h2{font-size:34px}.experience-lead{font-size:17px}.curriculum-list details>p{padding-left:0}.journal-links h3{font-size:23px}.motion-toggle{margin-left:0}}
@media(max-width:550px){.brand{gap:7px}.brand-name{font-size:18px}.brand-symbol{width:43px;height:30px}.brand-symbol img{width:248.5px;height:30px;left:-46px}}
@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;translate:none}.hero-rain,.motion-toggle{display:none}.detail-icon{transition:none}.section-heading,.section-title,.reflection-panel,.course-card,.founder,.executive-heading,.member,.voice-story,.journal-links,.company-details{translate:none;transition:none}}
