:root{--color-paper: oklch(100% 0 0);--color-paper-2: oklch(98.4% .003 247.9);--color-paper-3: oklch(96.8% .007 247.9);--color-ink: oklch(20.8% .042 265.8);--color-ink-2: oklch(27.9% .041 260);--color-muted: oklch(44.6% .043 257.3);--color-rule: oklch(96.8% .007 247.9);--color-rule-2: oklch(92.9% .013 255.5);--color-accent: oklch(54.6% .245 262.9);--color-accent-hover: oklch(42.4% .199 265.6);--color-accent-lite: oklch(62.3% .214 259.8);--color-accent-ink: oklch(100% 0 0);--color-deep: oklch(37.9% .146 265.5);--color-deepest: oklch(28.2% .091 267.9);--color-wash: oklch(97% .014 254.6);--color-wash-2: oklch(93.2% .032 255.6);--color-focus: oklch(54.6% .245 262.9);--color-hero-ink: var(--color-paper);--color-hero-shade: var(--color-ink);--font-body: "Noto Sans JP", system-ui, sans-serif;--font-display: "Montserrat", system-ui, sans-serif;--space-3xs: .25rem;--space-2xs: .5rem;--space-xs: .75rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4.5rem;--space-3xl: 7rem;--rule-hair: 1px;--radius-card: 1rem;--radius-input: .5rem;--radius-pill: 999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-short: .2s;--dur-medium: .42s;--dur-long: .8s}html,body{overflow-x:clip}body{background-color:var(--color-paper);color:var(--color-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.page-gutter{padding-inline:max(1.25rem,env(safe-area-inset-left),env(safe-area-inset-right))}h1,h2,h3,.display,.lede{line-break:strict;word-break:auto-phrase;overflow-wrap:break-word;min-width:0}h1,h2{text-wrap:balance}p,li,dd,dt{line-break:strict;word-break:auto-phrase}.np{display:inline-block;max-width:100%}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-input)}.on-deep :focus-visible{outline-color:var(--color-paper)}.affordance{white-space:nowrap}@media(pointer:coarse){.affordance{min-height:44px}}.js-anim .reveal{opacity:0;transform:translateY(14px);transition:opacity var(--dur-long) var(--ease-out),transform var(--dur-long) var(--ease-out)}.js-anim .reveal.is-visible{opacity:1;transform:none}.reveal-2{transition-delay:90ms}.reveal-3{transition-delay:.18s}.hero-bg{background-size:cover;background-position:center;position:relative}.hero-bg:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(104deg,color-mix(in oklab,var(--color-deepest) 62%,transparent) 0%,color-mix(in oklab,var(--color-deep) 34%,transparent) 55%,transparent 100%),color-mix(in oklab,var(--color-deepest) 62%,transparent)}.diagnosis-hero-bg:before{background:linear-gradient(96deg,color-mix(in oklab,var(--color-deepest) 58%,transparent) 0%,color-mix(in oklab,var(--color-deep) 26%,transparent) 60%,transparent 100%),color-mix(in oklab,var(--color-deep) 58%,transparent)}.nav-pill{background:color-mix(in oklab,var(--color-paper) 86%,transparent);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%);box-shadow:0 1px color-mix(in oklab,var(--color-ink) 6%,transparent),0 10px 30px -18px color-mix(in oklab,var(--color-deep) 55%,transparent)}.nav-sheet[open] .nav-sheet__bar-1{transform:translateY(4px) rotate(45deg)}.nav-sheet[open] .nav-sheet__bar-2{opacity:0}.nav-sheet[open] .nav-sheet__bar-3{transform:translateY(-4px) rotate(-45deg)}.nav-sheet__bar-1,.nav-sheet__bar-2,.nav-sheet__bar-3{transition:transform var(--dur-short) var(--ease-out),opacity var(--dur-short) var(--ease-out)}.nav-sheet>summary{list-style:none;cursor:pointer}.nav-sheet>summary::-webkit-details-marker{display:none}.tnum{font-variant-numeric:tabular-nums}.hair-t{border-top:var(--rule-hair) solid var(--color-rule-2)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}.nav-pill{background:var(--color-paper);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 2px 8px color-mix(in oklab,var(--color-ink) 5%,transparent)}.affordance:active{text-decoration:underline;text-underline-offset:.2em}.scene-photo{min-width:0;align-self:center}.scene-photo picture{display:block;overflow:clip;border-radius:var(--radius-card)}.scene-photo img{display:block;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover}.scene-photo figcaption{margin-top:var(--space-xs);color:var(--color-muted);font-size:.75rem}@media(prefers-reduced-motion:no-preference){.hero-photo picture{animation:scene-enter var(--dur-medium) var(--ease-out)}.scroll-reveal.is-revealed{animation:content-enter var(--dur-medium) var(--ease-out)}}@keyframes scene-enter{0%{opacity:.65;transform:translateY(var(--space-xs))}to{opacity:1;transform:none}}@keyframes content-enter{0%{opacity:.65;transform:translateY(var(--space-xs))}to{opacity:1;transform:none}}.overlay-hero{position:relative;isolation:isolate;overflow:clip;background:var(--color-hero-shade);color:var(--color-hero-ink)}.overlay-hero__image,.overlay-hero__image img,.overlay-hero:after{position:absolute;inset:0;width:100%;height:100%}.overlay-hero__image{z-index:-2}.overlay-hero__image img{object-fit:cover;object-position:62% center}.overlay-hero:after{content:"";z-index:-1;background:color-mix(in srgb,var(--color-hero-shade) 78%,transparent)}.overlay-hero__content{position:relative;padding-block:calc(var(--space-3xl) + var(--space-lg)) var(--space-xl)}.overlay-hero__copy{min-width:0;max-width:35rem}.overlay-hero__copy p{color:var(--color-hero-ink)}.overlay-hero__copy .overlay-hero__caption{margin-top:var(--space-xl);font-size:.75rem}.overlay-hero .overlay-hero__cta{background:var(--color-hero-ink);color:var(--color-deepest)}.overlay-hero .overlay-hero__cta:hover{background:var(--color-wash)}.overlay-hero .affordance:focus-visible{outline:2px solid var(--color-hero-ink);outline-offset:5px}@media(min-width:960px){.overlay-hero__content{padding-block:calc(var(--space-3xl) + var(--space-xl)) var(--space-2xl)}.overlay-hero__copy{max-width:50%}.overlay-hero:after{background:linear-gradient(90deg,color-mix(in srgb,var(--color-hero-shade) 94%,transparent),color-mix(in srgb,var(--color-hero-shade) 82%,transparent) 55%,color-mix(in srgb,var(--color-hero-shade) 20%,transparent) 85%)}}@media(prefers-reduced-motion:no-preference){.overlay-hero__image{animation:photo-enter var(--dur-medium) var(--ease-out)}}@keyframes photo-enter{0%{opacity:.65}to{opacity:1}}
