:root{--green:#23483d;--ink:#263e34;--paper:#f7f7f0;--muted:#778377;--line:#d4dbcf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:14px;line-height:2}h1,h2,h3,.brand,.hero-tag,.contact-name{font-family:'Noto Serif JP',serif;font-weight:500}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #ba9755;outline-offset:6px}.wrap{width:min(1180px,86%);margin:auto}header{position:fixed;z-index:20;top:0;width:100%;height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;color:white;transition:background .4s,color .4s,height .4s}header.scrolled{height:80px;color:var(--green);background:#f7f7f0e8;backdrop-filter:blur(18px);border-bottom:1px solid #23483d16}.brand{display:flex;gap:12px;align-items:center;font-size:18px;letter-spacing:.12em;font-weight:600;line-height:1.7}.brand svg{width:42px;fill:none;stroke:currentColor;stroke-width:1}.brand small{display:block;font-size:10px;letter-spacing:.18em}nav{display:flex;align-items:center;gap:32px;font-size:12px;letter-spacing:.1em}nav a{position:relative}nav a:after{content:'';height:1px;position:absolute;bottom:-5px;left:0;background:currentColor;width:0;transition:width .3s}nav a:hover:after{width:100%}.nav-contact{border:1px solid #ffffff70;padding:10px 22px}.scrolled .nav-contact{border-color:var(--line)}.nav-contact span{margin-left:20px}#menu{display:none}.hero{height:94svh;min-height:640px;position:relative;color:#fff;overflow:hidden;margin:0 0 30px}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 2s,transform 8s linear;transform:scale(1.05)}.hero-image.active{opacity:1;transform:scale(1.12)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0b25256b,#142a2730),linear-gradient(0deg,#112f2c75,transparent 60%)}.hero-copy{position:absolute;left:10%;top:31%;animation:heroIn 1.5s ease both}.eyebrow{font-size:11px;letter-spacing:.2em}.hero h1{font-size:clamp(45px,5.2vw,82px);line-height:1.55;letter-spacing:.12em;margin:20px 0 25px}.hero-tag{font-size:20px;letter-spacing:.2em}.hero-side{position:absolute;right:3.5%;top:42%;writing-mode:vertical-rl;font-size:9px;letter-spacing:.25em}.hero-bottom{position:absolute;bottom:5%;left:10%;right:6%;display:flex;justify-content:space-between;align-items:center}.scroll{font-size:9px;letter-spacing:.18em;display:flex;gap:30px;align-items:center}.scroll span{font-size:22px;animation:float 2s infinite}.slide-controls{display:flex;gap:15px;align-items:center}.slide-controls button{background:none;border:0;color:#ffffff80;font-size:11px;padding:10px}.slide-controls button[aria-pressed=true]{color:white}.slide-controls>span{width:70px;height:1px;background:#ffffff70}.skip{position:fixed;z-index:100;background:white;padding:10px;top:-100px}.skip:focus{top:0}.greeting{padding:130px 0 150px;position:relative;display:grid;grid-template-columns:30% 1fr}.section-label span{font-size:9px;letter-spacing:.2em;color:#7b8879}.section-label p{font-size:13px;margin-top:12px;letter-spacing:.15em}.section-label:before{content:'';display:block;width:26px;height:2px;background:#b39c63;margin-bottom:20px}h2{font-size:clamp(28px,3.1vw,45px);line-height:1.8;letter-spacing:.12em}.greeting-rule{width:60px;height:1px;background:#9dAD99;margin:38px 0}.signature{font-size:12px;letter-spacing:.08em}.vertical-note{position:absolute;right:0;top:170px;writing-mode:vertical-rl;letter-spacing:.4em;color:#8c9b89;font-family:'Noto Serif JP',serif}.activities{padding:100px 0 0;background:#edf0e7;overflow:hidden}.activity-heading{display:grid;grid-template-columns:30% 1fr;position:relative;margin-bottom:90px}.activity-heading>div>p{margin-top:28px;line-height:2.3;color:#60705f;font-size:13px}.big-five{position:absolute;right:0;top:-70px;font-family:Georgia,serif;font-size:250px;color:#dfe5d8;line-height:1;pointer-events:none}.initiative-list{max-width:1440px;margin:auto}.initiative{position:relative;min-height:555px;display:grid;grid-template-columns:repeat(12,1fr);align-items:center;padding:35px 7% 70px;margin-bottom:65px}.wash{position:absolute;inset:90px 0 0 25%;background:#e0e7d8}.initiative:nth-child(2n) .wash{inset:90px 25% 0 0;background:#e3e4d9}.initiative:nth-child(3) .wash{background:#e6e2d6}.initiative:nth-child(4) .wash{background:#dce5e0}.initiative figure{grid-column:1/9;grid-row:1;height:430px;position:relative;z-index:1;overflow:hidden;box-shadow:0 20px 45px #264a3720}.initiative img{height:100%;width:100%;object-fit:cover;transition:transform 1.2s}.initiative:hover img{transform:scale(1.045)}figcaption{position:absolute;bottom:20px;left:25px;font-size:9px;letter-spacing:.25em;color:white;text-shadow:0 1px 5px #000;background:#133a3860;padding:3px 10px;backdrop-filter:blur(8px)}.glass{grid-column:7/13;grid-row:1;z-index:2;position:relative;background:#fafbf3e8;backdrop-filter:blur(20px);padding:50px 42px 40px;margin-top:90px;box-shadow:0 12px 40px #233e3210;border:1px solid #ffffffc0}.glass .eyebrow{font-size:8px;color:#6d806e;letter-spacing:.15em;padding-right:35px}.glass h3{font-size:26px;line-height:1.7;margin:20px 0;letter-spacing:.08em}.glass p{font-size:13px;color:#5f6f61;line-height:2.2}.glass small{display:block;margin:-12px 0 20px;font-size:11px;color:#66735f}.number{position:absolute;right:22px;top:1px;font-family:Georgia,serif;color:#bac8b59c;font-size:76px;line-height:1}.shortline{display:block;width:38px;height:1px;background:#96aa8c;margin-top:25px}.initiative:nth-child(2n) figure{grid-column:5/13}.initiative:nth-child(2n) .glass{grid-column:1/7}.director{display:grid;grid-template-columns:30% 1fr;padding:130px 0}.director h2{font-size:30px}.profile-placeholder{margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:35px 0}.profile-placeholder span{font-size:10px;letter-spacing:.2em;color:#809079}.profile-placeholder p{margin-top:8px;font-size:12px;color:#65735f}.contact{background:var(--green);color:#f4f5ec;padding:100px 0}.contact-heading{display:grid;grid-template-columns:30% 1fr;margin-bottom:60px}.contact .section-label span{color:#b6c5b3}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-name{font-size:23px;line-height:1.8;letter-spacing:.1em;margin-bottom:25px}dl{margin:0}dl>div{padding:18px 0;border-bottom:1px solid #ffffff25;display:grid;grid-template-columns:65px 1fr}dt{font-size:11px;color:#c0ceb9}dd{margin:0;font-size:12px;overflow-wrap:anywhere}dd a{display:flex;justify-content:space-between;gap:8px}dd a:hover{color:#d4c694}.map iframe{width:100%;height:290px;border:0;filter:saturate(.6)}.map>a{display:block;font-size:11px;text-align:right;padding-top:10px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:35px 7%;font-size:11px;letter-spacing:.04em}footer small{color:#778572;font-size:9px}.to-top{border:1px solid var(--line);padding:8px 18px;font-size:20px}.js .reveal{opacity:0;transform:translateY(30px);transition:opacity .95s ease,transform 1s cubic-bezier(.2,.7,.2,1)}.js .reveal.visible{opacity:1;transform:none}.js .initiative figure{transform:translateX(-45px);transition:transform 1.2s}.js .initiative:nth-child(2n) figure{transform:translateX(45px)}.js .initiative.visible figure{transform:none}@keyframes heroIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes float{50%{transform:translateY(8px)}}
@media(min-width:1600px){.hero-copy{left:calc((100% - 1280px)/2)}}@media(max-width:1000px){nav{gap:18px}.brand{font-size:15px}.glass{padding:45px 28px 28px}.glass h3{font-size:23px}.big-five{font-size:200px}.initiative{padding-left:5%;padding-right:5%}.vertical-note{display:none}.contact-grid{gap:35px}}@media(max-width:760px){header{height:80px;padding:0 6%}.brand{font-size:13px}.brand svg{width:32px}.brand small{font-size:8px}#menu{display:block;width:40px;height:40px;background:none;border:0;z-index:25;color:inherit}#menu span{display:block;width:26px;height:1px;background:currentColor;margin:8px auto;transition:transform .3s}header.open{color:var(--green);background:var(--paper)}header.open #menu span:first-child{transform:translateY(4.5px) rotate(45deg)}header.open #menu span:last-child{transform:translateY(-4.5px) rotate(-45deg)}nav{display:none;position:absolute;top:79px;left:0;right:0;background:var(--paper);color:var(--green);padding:25px 8% 40px;box-shadow:0 20px 20px #12321b15}header.open nav{display:flex;flex-direction:column;align-items:stretch;gap:20px}.nav-contact{border-color:var(--line);padding:10px}.hero{height:90svh;min-height:600px}.hero-copy{left:8%;top:32%}.hero h1{font-size:clamp(37px,8vw,58px);letter-spacing:.08em}.hero-tag{font-size:15px;letter-spacing:.12em}.hero-side{display:none}.hero-bottom{left:8%;right:7%}.scroll{font-size:7px;gap:15px}.slide-controls{gap:4px}.slide-controls>span{width:28px}.greeting{padding:75px 0 85px;display:block}.section-label{margin-bottom:35px}.section-label:before{margin-bottom:10px}.section-label p{margin-top:5px}.greeting h2{font-size:28px}.greeting-body{padding-left:10%}.activities{padding-top:65px}.activity-heading{display:block;margin-bottom:50px}.activity-heading h2{font-size:29px}.activity-heading>div>p{font-size:12px}.big-five{top:60px;right:0;font-size:170px;z-index:0}.activity-heading>div{position:relative;z-index:1}.initiative{min-height:0;padding:0 6% 40px;display:block;margin-bottom:50px}.wash,.initiative:nth-child(2n) .wash{inset:65px 0 0 12%}.initiative:nth-child(2n) .wash{inset:65px 12% 0 0}.initiative figure{height:270px;width:94%}.initiative:nth-child(2n) figure{margin-left:6%}.glass,.initiative:nth-child(2n) .glass{margin:-40px 0 0 9%;padding:42px 26px 28px}.initiative:nth-child(2n) .glass{margin:-40px 9% 0 0}.glass h3{font-size:23px}.glass p{font-size:12px}.number{font-size:66px}.glass .eyebrow{font-size:7px}.director{display:block;padding:70px 0}.director h2{font-size:26px}.contact{padding:65px 0}.contact-heading{display:block;margin-bottom:35px}.contact-heading h2{font-size:29px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-name{font-size:20px}.map iframe{height:260px}footer{padding:30px 7%;flex-wrap:wrap}footer>a:first-child{width:75%}footer small{order:3;width:100%}.to-top{padding:5px 15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.js .initiative figure{transform:none}}

/* Director profile */
.director{grid-template-columns:22% 1fr}.director-profile{display:grid;grid-template-columns:minmax(190px,.8fr) 1.3fr;gap:36px;margin-top:32px;align-items:start}.director-photo{position:relative;background:#e6ebdf;padding:16px 16px 0}.director-photo img{display:block;width:100%;height:auto}.director-photo figcaption{position:static;background:transparent;backdrop-filter:none;color:var(--ink);text-shadow:none;padding:20px 0 23px;font-size:11px;letter-spacing:.12em}.director-photo strong{display:block;margin-top:5px;font-family:'Noto Serif JP',serif;font-size:26px;font-weight:500}.director-history section{border-top:1px solid var(--line);padding:18px 0 23px}.director-history h3{font-size:17px;letter-spacing:.12em;margin-bottom:10px}.director-history ul{list-style:none;padding:0;margin:0;color:#5f6f61;font-size:12px;line-height:2.3}.director-history li{padding:4px 0 4px 14px;position:relative}.director-history li:before{content:'';position:absolute;left:0;top:17px;width:4px;height:4px;background:#99aa8e;border-radius:50%}@media(max-width:1000px){.director{grid-template-columns:1fr}.director-profile{grid-template-columns:minmax(180px,.7fr) 1.3fr}}@media(max-width:600px){.director-profile{grid-template-columns:1fr;gap:28px}.director-photo{width:min(100%,300px)}.director-history ul{font-size:12px}.director-history h3{font-size:18px}}

/* Contact form */
#contact-form{scroll-margin-top:105px}.contact-form-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;padding:60px;margin-top:65px;background:#f7f7f0;color:#23483d;border:1px solid #ffffff40}.form-intro h3{font-size:26px;line-height:1.8;margin:15px 0 20px}.form-intro p{font-size:12px;line-height:2.2;color:#63745f}.form-field{margin-bottom:22px}.form-field label{display:block;font-size:13px;margin-bottom:8px;letter-spacing:.05em}.required-mark{font-size:10px;margin-left:10px;color:#567044}.form-field input,.form-field select,.form-field textarea{width:100%;padding:13px 15px;border:1px solid #b8c6b2;background:#fff;color:#23483d;font:inherit;border-radius:0;line-height:1.7}.form-field textarea{min-height:170px;resize:vertical}.form-field input[type=checkbox],.form-field input[type=radio]{width:auto;margin-right:9px}.form-field :focus{outline:2px solid #879e75;outline-offset:2px}.form-field [aria-invalid=true]{border-color:#a63a30}.field-error,.form-error{font-size:12px;color:#9a302b;line-height:1.8}.field-error:not(:empty){margin-top:6px}.form-help{font-size:11px;color:#65735f}.form-privacy{font-size:11px;color:#63745f;line-height:1.9;margin:10px 0 22px}.form-actions{display:flex;gap:16px;margin-top:20px}.form-actions button{border:1px solid #23483d;background:#23483d;color:white;padding:15px 35px;font-size:13px;min-height:52px;letter-spacing:.12em}.form-actions button:hover{background:#3d6050}.form-actions button:disabled{opacity:.5;cursor:wait}.form-actions #form-back{background:transparent;color:#23483d}#form-status{font-size:12px}#form-fields [role=status]{font-size:13px}.simple-header{position:static!important;color:#23483d!important;background:#f7f7f0!important;border-bottom:1px solid #d4dbcf}.thank-you{min-height:72vh;display:grid;place-items:center;padding:70px 7% 90px}.thanks-card{max-width:760px;width:100%;text-align:center;padding:55px 45px;background:#edf0e7;border:1px solid #d4dbcf}.thanks-check{border:1px solid #89a07d;border-radius:50%;width:70px;height:70px;display:grid;place-items:center;margin:0 auto 25px;font-size:30px}.thanks-card h1{font-size:32px;line-height:1.8;margin:18px 0 25px;letter-spacing:.08em}.thanks-card p{font-size:13px;line-height:2.2;color:#596e5e}.thanks-card .return-home{display:inline-block;border:1px solid #23483d;margin-top:35px;padding:12px 30px;font-size:13px}.thanks-card .return-home:hover{background:#23483d;color:white}.thanks-card .eyebrow{font-size:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:900px){.contact-form-panel{padding:35px;gap:30px;grid-template-columns:1fr}.form-intro h3{font-size:24px}}@media(max-width:500px){.contact-form-panel{padding:25px 20px;margin-top:40px}.form-intro h3{font-size:22px}.form-field input,.form-field textarea,.form-field select{font-size:16px}.form-actions button{width:100%}.thanks-card{padding:35px 20px}.thanks-card h1{font-size:24px}.simple-header{height:85px}.simple-header>a:last-child{font-size:11px}.simple-header .brand{font-size:11px}}
