:root{--color-porcelain:#f8f7fb;--color-paper:#fff;--color-ink:#1e1927;--color-muted:#625b6b;--color-foundation:#34214f;--color-violet:#6b4bc3;--color-violet-dark:#51359b;--color-lavender:#e9e2f4;--color-line:#d9d1e3;--font-display:"Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;--font-body:"Hiragino Sans", "Yu Gothic", "YuGothic", "Noto Sans JP", sans-serif;--radius-sm:.65rem;--radius-md:1.25rem;--radius-lg:2rem;--shadow-soft:0 1.5rem 4rem #34214f1a;--max-width:74rem}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--color-ink);background:var(--color-porcelain);font-family:var(--font-body);margin:0;line-height:1.8}.subpage{width:min(100%,52rem);margin:0 auto;padding:clamp(3rem,8vw,6rem) 1.25rem}.subpage>.eyebrow{color:var(--color-violet);letter-spacing:.14em;margin:0;font-size:.72rem;font-weight:700}.subpage h1,.subpage h2{color:var(--color-foundation);letter-spacing:-.04em;line-height:1.4}.subpage h1{margin:.85rem 0 1.5rem;font-size:clamp(2.25rem,7vw,3.5rem)}.subpage h2{margin:2.75rem 0 .9rem;font-size:clamp(1.4rem,5vw,1.85rem)}.subpage p{margin:1rem 0 0}.subpage a:not(.button){color:var(--color-violet-dark);text-underline-offset:.2em;text-decoration-thickness:.08em}a{color:inherit}:focus-visible{outline:3px solid var(--color-violet);outline-offset:4px}.siteFooter :focus-visible{outline-color:var(--color-paper)}.visuallyHidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skipLink{z-index:20;color:var(--color-paper);background:var(--color-foundation);border-radius:var(--radius-sm);padding:.5rem 1rem;position:fixed;top:.75rem;left:50%;transform:translate(-50%,-180%)}.skipLink:focus{transform:translate(-50%)}.siteHeader{z-index:10;width:100%;min-height:5rem;padding:1rem max(1.5rem, calc((100% - var(--max-width)) / 2));background:var(--color-paper);border-bottom:1px solid var(--color-line);align-items:center;gap:clamp(1.25rem,3vw,2.25rem);margin:0;display:flex;position:sticky;top:0;box-shadow:0 .25rem 1.25rem #34214f0d}.siteHeader:before{content:"";background:var(--color-violet);height:3px;position:absolute;top:0;left:0;right:0}.wordmark{color:var(--color-foundation);letter-spacing:.04em;font-size:1.08rem;font-weight:700;text-decoration:none}.siteHeader nav:not(.mobileMenu),.siteFooter nav{align-items:center;gap:clamp(.8rem,2vw,1.6rem);display:flex}.siteHeader nav:not(.mobileMenu){gap:clamp(1rem,2.4vw,2.25rem);margin-left:auto;font-size:.88rem;font-weight:600}.siteHeader nav:not(.mobileMenu) a,.siteFooter nav a{text-decoration:none}.siteHeader nav:not(.mobileMenu) a{padding-block:.35rem;transition:color .16s;position:relative}.siteHeader nav:not(.mobileMenu) a:after{content:"";background:var(--color-violet);opacity:0;transform-origin:0;height:1px;transition:opacity .16s,transform .2s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(.6)}.siteHeader nav:not(.mobileMenu) a:hover,.siteFooter nav a:hover{color:var(--color-violet)}.siteHeader nav:not(.mobileMenu) a:hover:after{opacity:1;transform:scaleX(1)}.menuToggle{border:1px solid var(--color-line);background:var(--color-paper);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:0;display:none}.menuToggleBars{flex-direction:column;gap:.3rem;display:flex}.menuToggleBars span{background:var(--color-foundation);width:1.05rem;height:2px;transition:transform .18s,opacity .14s;display:block}.menuToggle[aria-expanded=true] .menuToggleBars span:first-child{transform:translateY(.42rem)rotate(45deg)}.menuToggle[aria-expanded=true] .menuToggleBars span:nth-child(2){opacity:0}.menuToggle[aria-expanded=true] .menuToggleBars span:nth-child(3){transform:translateY(-.42rem)rotate(-45deg)}.mobileMenu{background:var(--color-paper);border-bottom:1px solid var(--color-line);padding:.5rem 1rem 1rem;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 1rem 2rem #34214f1f}.mobileMenu a{border-bottom:1px solid var(--color-lavender);color:var(--color-foundation);padding:.9rem .25rem;font-size:.95rem;font-weight:600;text-decoration:none}.mobileMenu a:last-child{border-bottom:0}.mobileMenu[hidden]{display:none!important}.button{letter-spacing:.02em;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:2.9rem;padding:.65rem 1.5rem;font-size:.88rem;font-weight:700;line-height:1.3;text-decoration:none;transition:background-color .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.buttonPrimary{color:var(--color-paper);background:var(--color-violet)}.buttonPrimary:hover{background:var(--color-violet-dark)}.buttonSecondary{color:var(--color-foundation);border-color:var(--color-foundation);background:0 0}.buttonSecondary:hover{background:var(--color-lavender)}.siteFooter{width:100%;padding:2.75rem max(1.5rem, calc((100% - var(--max-width)) / 2));color:var(--color-paper);background:var(--color-foundation);border-top:1px solid #e9e2f438;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:2rem;margin:0;display:grid}.siteFooter strong{letter-spacing:.04em;display:block}.siteFooter p{max-width:22rem;color:var(--color-lavender);margin:.25rem 0 0;font-size:.83rem}.siteFooter nav{flex-wrap:wrap;justify-content:flex-end;font-size:.82rem}.siteFooter small{color:var(--color-lavender);white-space:nowrap;font-size:.75rem}@media (max-width:48rem){.siteHeader{justify-content:flex-start;min-height:4.5rem;padding:.8rem 1rem}.siteHeader nav:not(.mobileMenu){display:none}.siteHeader>.button{margin-left:auto}.menuToggle{display:inline-flex}.mobileMenu{display:grid}.siteFooter{grid-template-columns:1fr;align-items:start;gap:1.5rem;padding:2rem 1.25rem}.siteFooter nav{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
