:root{--color-paper:oklch(98% .008 258);--color-paper-2:oklch(95% .012 258);--color-paper-3:oklch(91% .018 258);--color-ink:oklch(22% .055 258);--color-ink-soft:oklch(39% .045 258);--color-rule:oklch(74% .032 258);--color-rule-soft:oklch(88% .02 258);--color-accent:oklch(40% .12 258);--color-accent-strong:oklch(30% .1 258);--color-accent-soft:oklch(89% .035 258);--color-accent-ink:var(--color-paper);--color-focus:oklch(47% .17 258);--color-disabled:oklch(58% .025 258);--color-backdrop:oklch(22% .055 258/.42);--font-display:"Manrope", "Noto Sans JP", sans-serif;--font-body:"Noto Sans JP", "Manrope", sans-serif;--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:9rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.953rem;--text-2xl:2.441rem;--text-3xl:3.052rem;--text-4xl:3.815rem;--text-display:clamp(3.2rem, 7.2vw, 5.5rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.14s;--dur-short:.26s;--dur-long:.72s;--rule-thin:1px;--rule-medium:2px;--page-max:90rem;--page-gutter:clamp(1.25rem, 4vw, 4rem);--section-gap:clamp(5rem, 11vw, 10rem);--nav-height:5.5rem;--z-sticky:200;--z-modal:400;--z-tooltip:600}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{background-color:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);text-rendering:optimizelegibility;margin:0;line-height:1.7;overflow-x:clip}body:has(dialog[open]){overflow:hidden}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}h1,h2,h3,p{margin:0}h1,h2,h3,.wordmark{font-family:var(--font-display);font-weight:600}h1,h2,h3{overflow-wrap:anywhere;min-width:0}:focus-visible{outline:var(--rule-medium) solid var(--color-focus);outline-offset:var(--space-2xs)}main:focus{outline:none}.skip-link{z-index:var(--z-tooltip);padding:var(--space-sm) var(--space-md);border:var(--rule-thin) solid var(--color-accent-strong);background-color:var(--color-paper);color:var(--color-accent-strong);white-space:nowrap;transform:translateY(calc(-100% - var(--space-xl)));font-weight:700;text-decoration:none;position:fixed;inset-block-start:var(--space-sm);inset-inline-start:var(--space-sm)}.skip-link:focus{transform:translateY(0)}.site-header{width:min(100%, var(--page-max));min-height:var(--nav-height);align-items:center;gap:var(--space-2xs) var(--space-md);padding-inline:clamp(var(--space-sm), 3vw, var(--space-lg));border-block-end:var(--rule-thin) solid var(--color-rule-soft);background-color:var(--color-paper);color:var(--color-ink);grid-template-columns:auto minmax(0,1fr) auto;margin-inline:auto;display:grid}.page-tabs{justify-content:end;gap:var(--space-xs);flex-wrap:wrap;grid-area:2/1/auto/-1;min-width:0;display:flex}.language-switch{align-items:center;gap:var(--space-2xs);grid-area:1/3;display:flex}.language-switch a{border-block-end:var(--rule-medium) solid transparent;min-width:2.5rem;min-height:2.75rem;color:var(--color-ink-soft);font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.06em;justify-content:center;align-items:center;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.language-switch a[aria-current=true]{border-block-end-color:var(--color-accent-strong);color:var(--color-accent-strong)}.page-tabs a{border-block-end:var(--rule-medium) solid transparent;min-height:2.75rem;color:var(--color-ink-soft);font-size:clamp(var(--text-xs), 3.4vw, var(--text-sm));white-space:nowrap;transition:color var(--dur-micro) var(--ease-out);justify-content:center;align-items:center;padding-inline:0;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.page-tabs a[aria-current=page]{border-block-end-color:var(--color-accent-strong);color:var(--color-accent-strong)}.site-header>.wordmark{font-size:1.5rem}.wordmark{min-height:2.75rem;color:var(--color-accent-strong);font-size:var(--text-xl);letter-spacing:-.055em;white-space:nowrap;align-items:center;line-height:1;text-decoration:none;display:inline-flex}.hero,.project-carousel,.links-rail,.projects-page,.content-page,.site-footer{width:min(100%, var(--page-max));padding-inline:var(--page-gutter);margin-inline:auto}.hero{min-height:min(30rem, calc(100svh - var(--nav-height)));align-content:space-between;gap:var(--space-3xl);padding-block:var(--space-2xl) clamp(5.25rem, 8vw, 8rem);border-block-end:var(--rule-thin) solid var(--color-rule-soft);grid-template-columns:minmax(0,1fr);display:grid}.hero h1{max-width:11ch;color:var(--color-accent-strong);font-size:var(--text-display);letter-spacing:-.065em;line-height:1.07}.hero-line{display:block;overflow:hidden}.hero-line>span{white-space:nowrap;display:block}.hero__about{min-width:0;border-block-start:var(--rule-thin) solid var(--color-rule);padding-block-start:var(--space-lg)}.hero__about p{max-width:45ch;color:var(--color-ink-soft);font-size:clamp(1.25rem,2.25vw,1.75rem);font-weight:500;line-height:1.55}.hero__action{align-items:center;gap:var(--space-lg);width:fit-content;min-height:3rem;padding:var(--space-sm) var(--space-lg);border:var(--rule-thin) solid var(--color-accent-strong);background-color:var(--color-accent-strong);color:var(--color-accent-ink);font-family:var(--font-display);white-space:nowrap;transition:background-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out), transform var(--dur-micro) var(--ease-out);margin-block-start:var(--space-lg);font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.project-carousel{padding-block:clamp(var(--space-2xl), 7vw, 7rem);border-block-end:var(--rule-thin) solid var(--color-rule-soft);display:block;overflow:hidden}.project-carousel__viewport{overflow:hidden}.project-slide{gap:var(--space-2xl);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.section-heading{display:block}.section-heading h2{color:var(--color-ink-soft);font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:.08em;font-weight:600}.project-title-row{margin-block-start:var(--space-2xl)}.project-title-row h3{color:var(--color-accent-strong);letter-spacing:-.065em;font-size:clamp(3.5rem,8vw,6.75rem);line-height:.95}.project-status{align-items:center;gap:var(--space-sm);color:var(--color-accent);font-size:var(--text-sm);white-space:nowrap;margin-block-start:var(--space-md);font-weight:600;display:inline-flex}.project-status span{width:var(--space-sm);aspect-ratio:1;border:var(--rule-thin) solid var(--color-accent);border-radius:50%}.project-description{max-width:48ch;margin-block:var(--space-xl);color:var(--color-ink-soft);font-size:clamp(1.05rem,1.8vw,1.3rem)}.project-link{align-items:center;gap:var(--space-lg);width:fit-content;min-height:3rem;padding-block:var(--space-sm);border-block-end:var(--rule-thin) solid var(--color-accent);color:var(--color-accent-strong);font-family:var(--font-display);white-space:nowrap;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.carousel-controls{justify-content:flex-end;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-block-start:var(--space-xl);display:flex}.carousel-controls p{color:var(--color-ink-soft);font-variant-numeric:tabular-nums;margin-inline-end:auto}.carousel-controls button{min-width:4.75rem;min-height:2.75rem;padding:var(--space-xs) var(--space-md);border:var(--rule-thin) solid var(--color-rule);background-color:var(--color-paper);color:var(--color-accent-strong);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out), transform var(--dur-micro) var(--ease-out);font-weight:600}.arrow-icon{fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.5px;width:2rem;height:1rem;overflow:visible}.prediction-orbit{width:min(100%,34rem);color:var(--color-accent);place-self:center}.prediction-orbit svg{width:100%;height:auto;display:block;overflow:visible}.project-image{border:var(--rule-thin) solid var(--color-rule-soft);background:var(--color-paper-2);min-width:0;margin:0;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%;min-height:20rem;display:block}.orbit,.orbit-path,.orbit-axis,.orbit-node{vector-effect:non-scaling-stroke}.orbit,.orbit-path,.orbit-axis{fill:none;stroke:currentColor}.orbit{stroke-width:1.25px}.orbit--middle{opacity:.72}.orbit--inner{opacity:.46}.orbit-path{stroke-width:2px}.orbit-path--short{opacity:.62;stroke-dasharray:4 8}.orbit-axis{opacity:.28;stroke-width:1px}.orbit-node{fill:var(--color-paper);stroke:currentColor;stroke-width:2px}.orbit-node--solid{fill:currentColor}.yosouba-preview{width:min(100%,36rem);min-width:0;padding-block:var(--space-lg);border-block:var(--rule-thin) solid var(--color-rule);color:var(--color-accent-strong);place-self:center;margin:0}.yosouba-preview__masthead{justify-content:space-between;align-items:center;gap:var(--space-md);color:var(--color-accent);font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.1em;font-weight:700;line-height:1.2;display:flex}.yosouba-preview__signal{width:var(--space-sm);aspect-ratio:1;border:var(--rule-thin) solid currentColor;border-radius:50%;flex:none}.yosouba-preview__headline{max-width:16ch;margin-block:var(--space-xl);font-family:var(--font-display);font-size:clamp(var(--text-xl), 4vw, var(--text-2xl));letter-spacing:-.045em;text-wrap:balance;font-weight:600;line-height:1.18}.yosouba-preview__topics{border-block-start:var(--rule-thin) solid var(--color-rule-soft);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.yosouba-preview__topics span{min-width:0;padding-block:var(--space-xs);border-block-end:var(--rule-thin) solid var(--color-rule-soft);color:var(--color-ink-soft);font-size:var(--text-xs);white-space:nowrap;font-weight:600}.yosouba-preview__topics span:nth-child(2n){text-align:end}.yosouba-preview__decision{align-items:center;gap:var(--space-md);font-family:var(--font-display);font-size:var(--text-sm);transform-origin:50%;grid-template-columns:auto minmax(0,1fr) auto;margin-block-start:var(--space-lg);font-weight:700;display:grid}.yosouba-preview__line{height:var(--rule-thin);background-color:var(--color-accent)}.yosouba-preview figcaption{color:var(--color-ink-soft);font-size:var(--text-xs);letter-spacing:.04em;margin-block-start:var(--space-md)}.projects-page{min-height:calc(100svh - var(--nav-height));padding-block:clamp(var(--space-2xl), 9vw, var(--space-4xl)) clamp(var(--space-2xl), 8vw, var(--space-3xl))}.content-page{min-height:calc(100svh - var(--nav-height));padding-block:clamp(var(--space-2xl), 9vw, var(--space-4xl)) var(--section-gap)}.content-page__header{gap:var(--space-xl);border-block-end:var(--rule-thin) solid var(--color-rule-soft);grid-template-columns:minmax(0,1fr);padding-block-end:var(--space-2xl);display:grid}.content-page__header h1{min-width:0;color:var(--color-accent-strong);letter-spacing:-.065em;overflow-wrap:anywhere;font-size:clamp(3.25rem,9vw,6.5rem);line-height:1}.content-page__header p{max-width:55ch;color:var(--color-ink-soft);font-size:clamp(var(--text-md), 2vw, var(--text-lg));align-self:end;line-height:1.55}.contact-page__action{justify-items:start;gap:var(--space-md);max-width:42rem;padding-block-start:clamp(var(--space-2xl), 8vw, var(--space-4xl));display:grid}.contact-page__action p{color:var(--color-ink-soft);font-size:var(--text-sm)}.not-found-page{align-content:center;gap:var(--space-2xl);display:grid}.not-found-page .content-page__header{padding-block-end:var(--space-xl)}.not-found-page__code{color:var(--color-accent);font-family:var(--font-display);letter-spacing:.08em;font-weight:700;font-size:var(--text-sm)!important}.about-prose{gap:var(--space-3xl);max-width:65ch;padding-block-start:clamp(var(--space-2xl), 8vw, var(--space-4xl));display:grid}.about-prose__lead{color:var(--color-accent-strong);font-family:var(--font-display);font-size:clamp(var(--text-xl), 4vw, var(--text-2xl));letter-spacing:-.035em;text-wrap:balance;font-weight:600;line-height:1.25}.about-prose section{gap:var(--space-md);display:grid}.about-prose h2,.directory-group h2{color:var(--color-accent-strong);font-size:clamp(var(--text-lg), 3vw, var(--text-xl));letter-spacing:-.035em;line-height:1.2}.about-prose section p{color:var(--color-ink-soft);font-size:clamp(var(--text-base), 1.4vw, var(--text-md));line-height:1.75}.text-link{align-items:center;gap:var(--space-lg);border-block-end:var(--rule-thin) solid var(--color-accent);width:fit-content;min-height:3rem;color:var(--color-accent-strong);font-family:var(--font-display);white-space:nowrap;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.text-link .arrow-icon{transition:transform var(--dur-micro) var(--ease-out)}.link-directory{gap:clamp(var(--space-2xl), 8vw, var(--space-4xl));padding-block-start:clamp(var(--space-2xl), 8vw, var(--space-4xl));display:grid}.content-blocks{gap:0;display:grid}.custom-content-page .content-page__header{grid-template-columns:minmax(0,1fr)}.custom-content-page .content-page__header h1{max-width:16ch}.content-block{gap:var(--space-xl);min-width:0;padding-block:clamp(var(--space-2xl), 8vw, var(--space-4xl));border-block-end:var(--rule-thin) solid var(--color-rule-soft);display:grid}.content-block h2{color:var(--color-accent-strong);font-size:clamp(var(--text-lg), 3vw, var(--text-xl));letter-spacing:-.035em;line-height:1.2}.content-block__copy,.content-block__body{gap:var(--space-md);min-width:0;display:grid}.content-block__body{max-width:65ch;color:var(--color-ink-soft);font-size:clamp(var(--text-base), 1.4vw, var(--text-md));white-space:pre-line;line-height:1.75}.content-block__image{border:var(--rule-thin) solid var(--color-rule-soft);background-color:var(--color-paper-2);min-width:0;margin:0;overflow:hidden}.content-block__image img{aspect-ratio:16/10;object-fit:cover;width:100%;display:block}.content-block__links{border-block-start:var(--rule-thin) solid var(--color-rule-soft);display:grid}.content-block__links a{align-items:center;gap:var(--space-lg);min-height:4.5rem;padding-block:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule-soft);color:var(--color-accent-strong);font-family:var(--font-display);font-size:var(--text-md);grid-template-columns:minmax(0,1fr) auto;font-weight:600;text-decoration:none;display:grid}.content-block__links .arrow-icon{transition:transform var(--dur-micro) var(--ease-out)}.directory-group{gap:var(--space-xl);grid-template-columns:minmax(0,1fr);display:grid}.projects-page__header{gap:var(--space-lg);border-block-end:var(--rule-thin) solid var(--color-rule-soft);flex-direction:column;padding-block-end:var(--space-2xl);display:flex}.projects-page__header h1{min-width:0;max-width:none;color:var(--color-accent-strong);letter-spacing:-.065em;font-size:clamp(2.25rem,7vw,6.5rem);line-height:1}.projects-page__header p{color:var(--color-accent);font-family:var(--font-display);font-size:var(--text-sm);font-variant-numeric:tabular-nums;letter-spacing:.08em;white-space:nowrap;font-weight:700}.project-catalogue{border-block-end:var(--rule-thin) solid var(--color-rule-soft)}.catalogue-item{gap:var(--space-xl);min-width:0;padding-block:clamp(var(--space-2xl), 8vw, var(--space-4xl));grid-template-columns:minmax(0,1fr);display:grid}.catalogue-item+.catalogue-item{border-block-start:var(--rule-thin) solid var(--color-rule-soft)}.catalogue-item__copy{min-width:0}.catalogue-item__title h2{color:var(--color-accent-strong);letter-spacing:-.065em;font-size:clamp(3.2rem,8vw,6rem);line-height:.95}.catalogue-item .project-description{margin-block:var(--space-xl)}.project-links{gap:var(--space-md) var(--space-xl);flex-wrap:wrap;display:flex}.project-links a{align-items:center;gap:var(--space-lg);min-height:3rem;padding-block:var(--space-sm);border-block-end:var(--rule-thin) solid var(--color-accent);color:var(--color-accent-strong);font-family:var(--font-display);white-space:nowrap;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.project-link .arrow-icon,.project-links .arrow-icon,.link-list .arrow-icon{transition:transform var(--dur-micro) var(--ease-out)}.links-rail{gap:var(--space-lg);padding-block:clamp(var(--space-xl), 5vw, var(--space-2xl));border-block-end:var(--rule-thin) solid var(--color-rule-soft);grid-template-columns:minmax(0,1fr);display:grid}.links-rail h2{color:var(--color-ink-soft);font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:.08em;font-weight:600}.links-rail__items{gap:var(--space-sm) var(--space-xl);flex-wrap:wrap;display:flex}.links-rail__items a{align-items:center;gap:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-accent);min-height:2.75rem;color:var(--color-accent-strong);font-family:var(--font-display);white-space:nowrap;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.link-list{border-block-start:var(--rule-thin) solid var(--color-rule)}.link-list a{align-items:center;gap:var(--space-lg);min-height:6rem;padding-block:var(--space-lg);border-block-end:var(--rule-thin) solid var(--color-rule);color:var(--color-accent-strong);grid-template-columns:minmax(0,1fr) auto;text-decoration:none;display:grid}.link-list__name{min-width:0;font-family:var(--font-display);font-size:clamp(var(--text-xl), 4vw, var(--text-2xl));letter-spacing:-.035em;white-space:nowrap;font-weight:600;line-height:1.1}.link-list__destination{color:var(--color-ink-soft);font-size:var(--text-sm);white-space:nowrap;display:none}.catalogue-item .prediction-orbit{width:min(100%,27rem)}.catalogue-item .yosouba-preview{width:min(100%,30rem)}.site-footer{justify-content:space-between;align-items:center;gap:var(--space-lg) var(--space-2xl);background-color:var(--color-paper);min-height:7rem;color:var(--color-ink-soft);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.site-footer p,.site-footer a{white-space:nowrap}.site-footer__links{align-items:center;gap:var(--space-xs) var(--space-xl);flex-wrap:wrap;display:flex}.site-footer a{min-height:2.75rem;color:var(--color-accent-strong);text-underline-offset:var(--space-2xs);align-items:center;line-height:1;display:inline-flex}@media (width>=48rem){.site-header{min-height:var(--nav-height);gap:var(--space-lg);padding-inline:var(--page-gutter)}.site-header>.wordmark{font-size:var(--text-xl)}.page-tabs{justify-content:flex-end;gap:var(--space-lg);grid-area:1/2;display:flex}.language-switch{grid-area:1/3}.page-tabs a{padding-inline:var(--space-xs);font-size:var(--text-sm)}.hero{grid-template-columns:minmax(0,1.35fr) minmax(16rem,.65fr);align-items:end}.hero__about{margin-block-end:var(--space-md)}.project-slide{grid-template-columns:minmax(0,1fr) minmax(20rem,1fr);align-items:center;gap:clamp(4rem,8vw,9rem)}.links-rail{grid-template-columns:minmax(10rem,.45fr) minmax(0,1.55fr);align-items:center}.link-list a{grid-template-columns:minmax(0,1fr) minmax(12rem,.75fr) auto}.link-list__destination{display:block}.projects-page__header{flex-direction:row;justify-content:space-between;align-items:flex-end}.projects-page__header h1{flex:1}.catalogue-item{align-items:center;gap:clamp(var(--space-xl), 5vw, var(--space-3xl));grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr)}.content-page__header{grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);align-items:end}.content-page__header h1:only-child{grid-column:1/-1}.directory-group{align-items:start;gap:clamp(var(--space-xl), 6vw, var(--space-4xl));grid-template-columns:minmax(12rem,.45fr) minmax(0,1.55fr)}.content-block--image-text{align-items:center;gap:clamp(var(--space-xl), 6vw, var(--space-4xl));grid-template-columns:minmax(0,1fr) minmax(20rem,1fr)}.content-block--image-left .content-block__copy{grid-column:2}.content-block--image-left .content-block__image{grid-area:1/1}}@media (hover:hover) and (pointer:fine){.page-tabs a:hover,.language-switch a:hover,.site-footer a:hover{color:var(--color-accent)}.hero__action:hover{background-color:var(--color-paper);color:var(--color-accent-strong)}.project-link:hover .arrow-icon,.project-links a:hover .arrow-icon,.link-list a:hover .arrow-icon,.links-rail__items a:hover .arrow-icon,.text-link:hover .arrow-icon,.content-block__links a:hover .arrow-icon{transform:translateX(var(--space-2xs))}.carousel-controls button:hover{background-color:var(--color-accent-strong);color:var(--color-accent-ink)}}.project-link:focus-visible .arrow-icon,.project-links a:focus-visible .arrow-icon,.link-list a:focus-visible .arrow-icon,.links-rail__items a:focus-visible .arrow-icon,.text-link:focus-visible .arrow-icon,.content-block__links a:focus-visible .arrow-icon{transform:translateX(var(--space-2xs))}.carousel-controls button:disabled{opacity:.55;cursor:not-allowed}.wordmark:active,.page-tabs a:active,.language-switch a:active,.hero__action:active,.project-link:active,.project-links a:active,.link-list a:active,.links-rail__items a:active,.text-link:active,.content-block__links a:active,.carousel-controls button:active,.site-footer a:active{transform:translateY(1px)}@media (width<=30rem){.hero{min-height:40rem}.hero h1{font-size:clamp(2.4rem,12vw,3.5rem)}.projects-page__header h1{white-space:nowrap;font-size:clamp(1.75rem,8vw,2.25rem)}.hero__about{display:block}.project-title-row h3{font-size:clamp(3rem,17vw,4.25rem)}.site-footer{padding-block:var(--space-xl);flex-direction:column;justify-content:center;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
