:root{--paper: #fbfcfc;--white: #fff;--blue-50: #edf5f9;--blue-300: #a8c7da;--blue-500: #5b99c7;--blue-700: #3f7faa;--ink: #323538;--muted: #727a7f;--line: rgba(91, 153, 199, .28);--serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;--sans: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;color:var(--ink);font-family:var(--sans);font-synthesis:none;background:var(--paper);scroll-behavior:smooth}*{box-sizing:border-box}html{scroll-padding-top:40px}body{margin:0;min-width:320px;min-height:100vh;-webkit-font-smoothing:antialiased;background:var(--paper);color:var(--ink)}body,button,a{font-family:var(--sans)}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--blue-700);outline-offset:5px}.site-header{height:116px;padding:0 clamp(28px,5.5vw,88px);display:flex;align-items:center;justify-content:space-between;background:#fbfcfcf5;position:relative;z-index:10}.brand{width:176px;height:88px;overflow:hidden}.brand img{width:100%;height:100%;object-fit:cover}.nav{display:flex;align-items:center;gap:clamp(24px,3vw,52px);font-size:14px;letter-spacing:.05em}.nav a{padding:12px 0;position:relative}.nav a:after{content:"";position:absolute;height:1px;left:0;right:100%;bottom:4px;background:var(--blue-500);transition:right .18s ease}.nav a:hover:after,.nav a:focus-visible:after{right:0}.menu-button{display:none;border:0;background:transparent;color:var(--blue-700);font-size:12px;letter-spacing:.18em;cursor:pointer}.hero{min-height:760px;padding:28px clamp(28px,6vw,96px) 88px;display:grid;grid-template-columns:.95fr 1.35fr;gap:clamp(44px,5vw,78px);align-items:center;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:15vw;min-width:145px;height:220px;right:0;top:-116px;background:var(--blue-300);z-index:-1}.hero-copy{padding-left:clamp(0px,1vw,20px)}.kicker,.eyebrow{margin:0 0 20px;color:var(--blue-700);font-size:11px;font-weight:500;letter-spacing:.24em}.hero h1,.section-intro h2,.center-heading h2,.contact h2{margin:0;font-family:var(--serif);font-weight:500;letter-spacing:.08em}.hero h1{font-size:clamp(36px,3.4vw,52px);line-height:1.55}.hero h1 span{color:var(--blue-700)}.hero h1 span{white-space:nowrap}.hero-description{margin:36px 0 32px;font-family:var(--serif);font-size:15px;line-height:2.15;letter-spacing:.08em;color:#565d61}.text-link,.outline-link{display:inline-flex;align-items:center;gap:28px;color:var(--blue-700);font-size:14px;letter-spacing:.08em;border-bottom:1px solid var(--blue-300);padding:10px 2px;transition:gap .18s ease,color .18s ease}.text-link:hover,.outline-link:hover{gap:36px;color:#245f88}.hero-visual{min-height:610px;position:relative}.hero-photo{margin:0;position:absolute;overflow:hidden;background:var(--blue-50)}.hero-photo img,.experience-photo img,.contact-photo img{width:100%;height:100%;object-fit:cover}.hero-photo-mama{width:55%;height:83%;left:0;top:0}.hero-photo-child{width:48%;height:73%;right:0;bottom:0;border:12px solid var(--paper)}.about{padding:110px clamp(28px,9vw,150px);display:grid;grid-template-columns:1fr 1fr .72fr;align-items:center;gap:clamp(40px,7vw,112px);background:var(--blue-50);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-intro h2,.center-heading h2,.contact h2{color:var(--blue-700);font-size:clamp(30px,3vw,46px);line-height:1.65}.about-copy{font-family:var(--serif);font-size:15px;line-height:2.1;letter-spacing:.04em}.about-copy p{margin:0 0 20px}.about-mark{width:min(100%,250px);justify-self:end;mix-blend-mode:multiply}.experience{padding:124px clamp(28px,7vw,112px)}.center-heading{text-align:center;margin:0 auto 76px}.center-heading>p:last-child{margin:24px auto 0;max-width:620px;font-family:var(--serif);font-size:15px;line-height:2}.experience-list{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr)}.experience-row{display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;min-width:0;border-left:1px solid var(--line)}.experience-row:last-child{border-right:1px solid var(--line)}.experience-row:nth-child(2n){grid-template-columns:1fr}.experience-row:nth-child(2n) .experience-copy{order:1}.experience-copy,.experience-row:nth-child(2n) .experience-copy{padding:8px clamp(22px,3vw,44px) 38px}.experience-copy h3{margin:0 0 24px;font-family:var(--serif);font-size:clamp(27px,2.35vw,36px);font-weight:500;line-height:1.55;letter-spacing:.08em;color:var(--blue-700)}.experience-copy h3 span{display:block}.experience-copy>p:not(.eyebrow){max-width:450px;margin:0;font-family:var(--serif);font-size:15px;line-height:2}.tag-list{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:30px 0 0;list-style:none}.tag-list li{border:1px solid var(--blue-300);border-radius:999px;padding:8px 15px;color:var(--blue-700);font-size:12px;letter-spacing:.05em;background:var(--white)}.experience-photo{height:300px;margin:0 clamp(18px,2vw,30px);overflow:hidden}.events{padding:124px clamp(28px,6vw,96px);background:var(--blue-50)}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,44px);max-width:1180px;margin:0 auto}.event-card a{display:block}.event-card img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top;filter:saturate(.74);transition:filter .18s ease,transform .18s ease}.event-card a:hover img{filter:saturate(.98);transform:translateY(-4px)}.event-meta{display:block;padding-top:18px}.event-meta strong,.event-meta small{display:block}.event-meta strong{font-family:var(--serif);font-size:18px;font-weight:500;letter-spacing:.07em}.event-meta small{margin-top:8px;color:var(--muted);font-size:12px}.next-event{max-width:1180px;margin:100px auto 0;min-height:250px;display:grid;grid-template-columns:210px 1fr auto;align-items:center;gap:clamp(24px,5vw,72px);padding:38px clamp(28px,5vw,68px);background:var(--white)}.next-event img{width:190px}.next-event h3{margin:0 0 16px;font-family:var(--serif);color:var(--blue-700);font-size:36px;font-weight:500;letter-spacing:.12em}.next-event p:not(.eyebrow){margin:0;font-family:var(--serif);font-size:14px;line-height:1.9}.outline-link{border:1px solid var(--blue-300);border-radius:999px;padding:15px 22px;white-space:nowrap}.contact{display:grid;grid-template-columns:.9fr 1.18fr .55fr;min-height:520px;background:var(--white)}.contact-photo{min-height:520px;margin:0;overflow:hidden}.contact-photo img{object-position:center}.contact-copy{padding:88px clamp(34px,6vw,96px);align-self:center}.contact h2{font-size:clamp(30px,2.6vw,40px);white-space:nowrap}.contact-copy>p:not(.eyebrow){margin:24px 0 30px;max-width:480px;font-family:var(--serif);font-size:14px;line-height:2}.contact-links{display:grid;gap:11px;font-size:14px}.contact-links a{width:fit-content;border-bottom:1px solid transparent}.contact-links a:hover{border-bottom-color:var(--blue-300)}.contact-brand{display:grid;place-items:center;padding:28px;background:var(--blue-300)}.contact-brand img{width:220px;mix-blend-mode:multiply}footer{min-height:84px;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(28px,6vw,96px);background:var(--paper);color:var(--muted);font-size:11px;letter-spacing:.08em}footer a:hover{color:var(--blue-700)}@media(max-width:900px){.site-header{height:90px}.brand{width:140px;height:74px}.menu-button{display:block;position:relative;z-index:20}.nav{position:absolute;top:0;left:0;right:0;padding:108px 28px 34px;background:var(--white);border-bottom:1px solid var(--line);display:grid;gap:8px;transform:translateY(-120%);opacity:0;transition:transform .22s ease,opacity .22s ease}.nav.is-open{transform:translateY(0);opacity:1}.hero{min-height:auto;grid-template-columns:1fr;padding-top:64px}.hero-visual{min-height:550px}.about{grid-template-columns:1fr 1fr}.about-mark{display:none}.experience-list{grid-template-columns:1fr 1fr;gap:64px 0}.experience-row,.experience-row:nth-child(2n){grid-template-columns:1fr}.experience-row:last-child{border-right:1px solid var(--line)}.next-event{grid-template-columns:140px 1fr}.next-event .outline-link{grid-column:2;justify-self:start}.contact{grid-template-columns:.9fr 1.1fr}.contact-brand{display:none}}@media(max-width:640px){.site-header{padding-inline:20px}.hero{padding:48px 22px 72px;gap:52px}.hero h1{font-size:clamp(34px,10.8vw,46px);line-height:1.5}.hero h1 span,.contact h2{white-space:normal}.hero-description{font-size:14px}.hero-visual{min-height:430px}.hero-photo-mama{width:65%;height:82%}.hero-photo-child{width:53%;height:70%;border-width:7px}.about{padding:82px 24px;grid-template-columns:1fr;gap:38px}.section-intro h2,.center-heading h2,.contact h2{font-size:29px}.experience,.events{padding:90px 22px}.center-heading{margin-bottom:52px;text-align:left}.experience-list{grid-template-columns:1fr;gap:0}.experience-row,.experience-row:nth-child(2n){grid-template-columns:1fr;padding:52px 0;border-left:0;border-top:1px solid var(--line)}.experience-row:last-child{border-right:0;border-bottom:1px solid var(--line)}.experience-row:nth-child(2n) .experience-copy,.experience-copy{order:1;padding:0 4px 34px}.experience-photo,.experience-row:nth-child(2n) .experience-photo{order:2;height:390px}.event-grid{grid-template-columns:1fr;gap:46px}.event-card img{aspect-ratio:5/4}.next-event{margin-top:72px;grid-template-columns:1fr;padding:34px 28px 42px}.next-event img{width:150px}.next-event h3{font-size:30px}.next-event .outline-link{grid-column:auto}.contact{grid-template-columns:1fr}.contact-photo{min-height:320px}.contact-copy{padding:70px 24px}footer{min-height:104px;align-items:flex-start;justify-content:center;flex-direction:column;gap:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.001ms!important}}
