:root{--dark:#27323c;--dark-soft:#384d58;--lime:#b66c59;--paper:#fbfcfd;--ink:#27323c;--muted:#5d6d78;--line:#d7e0e5;--mono:Consolas,"SFMono-Regular",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Yu Gothic,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;font-size:15px;line-height:1.85}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline-offset:6px;outline:3px solid #9b5947}::selection{background:var(--lime);color:var(--dark)}.wrap{width:min(1200px,100% - 112px);margin-inline:auto}.dark-intro,.light-section{background:var(--paper);color:var(--ink)}.eyebrow{font-family:var(--mono);letter-spacing:.13em;font-size:11px;line-height:1.5}.arrow{font-family:Arial,sans-serif;line-height:1;transition:transform .2s;display:inline-block}.header{border-bottom:1px solid #d7e0e5;justify-content:space-between;align-items:center;gap:24px;min-height:112px;display:flex}.brand{letter-spacing:-1px;font-size:28px;font-weight:700;line-height:1.1}.brand-period{color:var(--lime)}.brand-caption{font-family:var(--mono);letter-spacing:.15em;color:#5d6d78;margin-top:10px;font-size:8px;font-weight:400;display:block}.header nav{align-items:center;gap:38px;display:flex}.header nav>a{font-size:12px}.header nav>a>span:not(.arrow):not(.sr-only){font-family:var(--mono);color:#5d6d78;font-size:9px;line-height:1.5;display:block}.header nav>a:hover{color:#9b5947}.nav-github{border:1px solid #b7c8d0;border-radius:24px;align-items:center;gap:22px;padding:10px 18px;display:flex}.hero{grid-template-columns:1.12fr 1fr;align-items:center;gap:54px;padding-block:80px 76px;display:grid}.hero-copy{animation:.65s ease-out both enter}.hero-eyebrow{color:#5d6d78;align-items:center;gap:11px;margin-bottom:30px;display:flex}.live-dot{background:var(--lime);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #b66c5918}h1{letter-spacing:-.055em;white-space:nowrap;font-size:clamp(38px,4.3vw,62px);font-weight:700;line-height:1.5}.hero-description{color:#4b5e6b;letter-spacing:.025em;margin-top:26px;font-size:14px;line-height:2.05}.button{border-radius:5px;align-items:center;gap:42px;padding:16px 24px;font-size:12px;font-weight:700;transition:background .2s,transform .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-lime{background:var(--lime);color:var(--dark);margin-top:32px}.button>span{font-size:18px;font-weight:400}.hero-keywords{color:#5d6d78;gap:0;margin-top:28px;font-size:10px;display:flex}.hero-keywords span+span:before{content:"/";color:#73838d;margin-inline:16px}.hero-feature{min-width:0;margin-top:12px;transition:transform .3s;animation:.8s ease-out backwards enter-feature;display:block;position:relative;transform:rotate(-3deg)}.hero-feature:hover{transform:rotate(-1deg)translateY(-4px)}.feature-topline{color:#9b5947;font-family:var(--mono);letter-spacing:.1em;justify-content:space-between;margin-bottom:16px;font-size:9px;display:flex}.hero-image-frame{background:#fff;border:1px solid #cbd7de;border-radius:8px;overflow:hidden;box-shadow:14px 22px #476a7914,0 30px 70px #253d4d1f}.window-line{color:#5d6d78;height:30px;font-family:var(--mono);background:#f0f4f6;align-items:center;gap:20px;padding-inline:12px;font-size:8px;display:flex}.window-dots{gap:4px;display:flex}.window-dots i{background:#aabdc6;border-radius:50%;width:5px;height:5px}.hero-image-frame img{width:100%;height:auto;display:block}.feature-bottomline{justify-content:space-between;align-items:center;margin-top:22px;font-size:13px;display:flex}.feature-arrow{color:#9b5947;border:1px solid #cbd7de;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.image-note{color:#5d6d78;margin-top:8px;font-size:9px}.intro-bottom{color:#5d6d78;letter-spacing:.05em;border-top:1px solid #d7e0e5;justify-content:space-between;gap:20px;padding-block:24px 26px;font-size:10px;display:flex}.mono{font-family:var(--mono);letter-spacing:.12em;font-size:9px}.mono>span{margin-left:24px}.works{padding-block:84px 72px}.section-top{justify-content:space-between;align-items:center;gap:20px;display:flex}.section-kicker{color:#9b5947}.section-aside{color:var(--muted);font-size:11px}.works-heading{justify-content:space-between;align-items:center;gap:24px;margin-top:23px;margin-bottom:43px;display:flex}.works-heading h2{letter-spacing:-.035em;font-size:38px;font-weight:600;line-height:1.5}.work-count{letter-spacing:-3px;font-size:52px;font-weight:400;line-height:.95}.work-count>span{font-family:var(--mono);letter-spacing:.13em;text-align:right;color:var(--muted);margin-top:10px;font-size:8px;display:block}.featured-project{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:1.14fr 1fr;display:grid;overflow:hidden}.project-visual{min-width:0;position:relative;overflow:hidden}.procurement-visual{background:#e5edf1;flex-direction:column;justify-content:center;min-height:430px;padding:32px 30px 28px;display:flex}.visual-index{font-family:var(--mono);letter-spacing:.08em;font-size:9px;position:absolute;top:24px;left:26px}.project-screen{background:#fff;border:1px solid #cad9e1;border-radius:5px;margin-block:35px 25px;transition:transform .35s;overflow:hidden;transform:rotate(-3deg);box-shadow:4px 15px 35px #324e5e24}.featured-project:hover .project-screen{transform:rotate(-1deg)}.project-screen img{width:100%;height:auto;display:block}.visual-caption{color:#5d6d78;justify-content:space-between;gap:12px;margin-top:6px;font-size:9px;display:flex}.project-info{align-self:center;padding:36px 36px 30px}.project-status{color:#4c6877;align-items:center;gap:6px;font-size:10px;display:flex}.status-dot{background:#678391;border-radius:50%;flex-shrink:0;width:5px;height:5px}.project-type{font-family:var(--mono);letter-spacing:.07em;color:#61717c;margin-left:auto;font-size:8px}.project-en{font-family:var(--mono);color:var(--muted);margin-top:25px;font-size:10px}.project-info h3{letter-spacing:-.04em;margin-top:7px;font-size:30px;line-height:1.55}.project-name{color:var(--muted);margin-top:9px;font-size:11px}.project-description{color:#52636e;margin-top:20px;font-size:14px;line-height:2.05}.tags{flex-wrap:wrap;gap:6px;margin:20px 0 0;padding:0;list-style:none;display:flex}.tags li{border:1px solid var(--line);color:#5d6d78;border-radius:3px;padding:4px 8px;font-size:9px;line-height:1.6}.project-cta{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-top:25px;padding-top:17px;font-size:11px;display:flex}.project-cta>.arrow{font-size:22px}.project-cta:hover,.inline-link:hover{color:#9b5947}.project-cta:hover .arrow,.inline-link:hover .arrow{transform:translate(2px,-2px)}.project-detail{border-top:1px solid var(--line);grid-column:1/-1}.project-detail summary{cursor:pointer;color:#52636e;justify-content:space-between;align-items:center;gap:20px;padding:17px 26px;font-size:11px;list-style:none;display:flex}.project-detail summary::-webkit-details-marker{display:none}.detail-toggle{flex-shrink:0;width:12px;height:12px;position:relative}.detail-toggle:before,.detail-toggle:after{content:"";background:currentColor;width:12px;height:1px;position:absolute;top:5px;left:0}.detail-toggle:after{transform:rotate(90deg)}details[open] .detail-toggle:after{transform:rotate(0)}.detail-body{color:#5d6d78;max-width:900px;padding:8px 26px 26px;font-size:13px;line-height:2}.detail-body p+p{margin-top:14px}.detail-body strong{color:var(--ink);font-size:11px;display:block}.detail-body .detail-note{font-size:11px}.secondary-projects{grid-template-columns:1fr 1fr;gap:28px;margin-top:30px;display:grid}.secondary-project{min-width:0}.secondary-project .project-visual{border-radius:9px;height:300px;display:block}.keiba-visual{color:#27323c;background:#f1ded7}.keiba-visual:after{content:"";pointer-events:none;border:1px solid #ad806b36;border-radius:50%;width:330px;height:420px;position:absolute;inset:-70px -120px auto auto;transform:rotate(32deg)}.keiba-wordmark{letter-spacing:-5px;font-family:Arial,sans-serif;font-size:80px;font-weight:800;line-height:.83;transition:transform .3s;display:block;position:absolute;top:77px;left:36px}.keiba-wordmark>span{margin-top:6px;display:block}.type-period{color:#9b5947}.cover-caption{letter-spacing:.05em;font-size:10px;position:absolute;bottom:22px;left:26px}.cover-link{border:1px solid #9e75634a;border-radius:50%;place-items:center;width:35px;height:35px;font-size:20px;display:grid;position:absolute;bottom:22px;right:26px}.keiba-visual:hover .keiba-wordmark{transform:translate(7px)}.support-visual{color:#5e6a70;background-color:#ebeeed;background-image:linear-gradient(#0000 49.5%,#70838d13 50%,#0000 50.5%),linear-gradient(90deg,#0000 49.5%,#70838d13 50%,#0000 50.5%);background-position:0 0;background-repeat:repeat;background-size:52px 52px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box}.support-wordmark{letter-spacing:-4px;font-family:Arial,sans-serif;font-size:74px;font-weight:400;line-height:.85;position:absolute;top:94px;left:32px}.support-wordmark>span{font-family:var(--mono);letter-spacing:.3em;margin-top:19px;font-size:12px;display:block}.progress-label{border:1px solid #aab7bd;border-radius:3px;padding:4px 10px;font-size:9px;position:absolute;bottom:23px;right:26px}.secondary-info{padding:23px 3px 0}.secondary-info h3{letter-spacing:-.035em;margin-top:16px;font-size:21px;line-height:1.6}.secondary-info>p{color:#52636e;max-width:430px;margin-top:12px;font-size:14px;line-height:2}.secondary-bottom{justify-content:space-between;align-items:center;gap:16px;margin-top:20px;display:flex}.secondary-bottom .tags{margin:0}.inline-link{align-items:center;gap:22px;font-size:11px;display:inline-flex}.inline-link .arrow{font-size:18px}.developing{color:#9b5947}.developing .status-dot{background:#b66c59}.coming-soon{font-family:var(--mono);color:#61717c;font-size:10px}.ctx-trial-link{color:#fbfcfd;background:#2d3f4a;border-radius:4px;justify-content:space-between;align-self:flex-start;align-items:center;gap:22px;width:max-content;max-width:100%;min-height:44px;margin-top:18px;padding:12px 16px;font-size:12px;font-weight:600;text-decoration:none;transition:background-color .2s;display:inline-flex}.ctx-trial-link:hover{color:#fbfcfd;background:#476a79}.ctx-trial-link .arrow{font-size:18px;line-height:1}.work-note{color:#61717c;text-align:right;margin-top:27px;font-size:9px}.about-section{color:#fbfcfd;background:#2d3f4a;padding-block:72px 67px}.about-section .eyebrow{color:#c4d3dc}.about-signature{color:#c0d0d7;font-family:Georgia,serif;font-size:19px;font-style:italic}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:64px;margin-top:40px;display:grid}.about-grid h2{letter-spacing:-.045em;font-size:43px;font-weight:500;line-height:1.65}.about-text{color:#cedae0;font-size:14px;line-height:2.1}.about-text p+p{margin-top:22px}.about-text .about-lead{color:#f0f5f7;margin-bottom:26px;font-size:18px;line-height:1.9}.capabilities{border-top:1px solid #ffffff25;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:54px;padding-top:30px;display:grid}.capability-number{font-family:var(--mono);color:#dbab98;font-size:10px}.capabilities h3{letter-spacing:-.02em;margin-top:12px;font-size:17px;font-weight:500}.capabilities p{color:#bfcdd5;margin-top:10px;font-size:12px}.connect-section{padding-block:72px 80px}.connect-grid{grid-template-columns:1.2fr 1fr;align-items:center;gap:60px;display:grid}.connect-grid h2{letter-spacing:-.035em;margin-top:20px;font-size:35px;font-weight:500;line-height:1.65}.connect-grid p:not(.eyebrow){color:var(--muted);margin-top:19px;font-size:13px}.github-button{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:24px;padding:28px 30px;transition:background .25s,border-color .25s;display:flex}.github-button>span:first-child{letter-spacing:-1px;font-size:30px;font-weight:600;line-height:1.1}.github-handle{font-family:var(--mono);letter-spacing:0;color:var(--muted);margin-top:12px;font-size:10px;font-weight:400;display:block}.github-button>.arrow{font-size:39px;font-weight:300}.github-button:hover{background:var(--lime);border-color:var(--lime)}.github-button:hover .arrow{transform:translate(3px,-3px)}.footer-inner{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding-block:26px 30px;display:flex}.footer-brand{letter-spacing:-.8px;font-size:20px;font-weight:700}.footer-inner p{font-family:var(--mono);letter-spacing:.1em;color:#61717c;font-size:8px}.back-top{font-family:var(--mono);color:#5d6d78;font-size:9px}.back-top>span{margin-left:15px}.mobile-only{display:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:9;background:var(--lime);color:var(--dark);padding:8px 16px;position:absolute;top:8px;left:16px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}@keyframes enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes enter-feature{0%{opacity:0;transform:rotate(-3deg)translateY(18px)}to{opacity:1;transform:rotate(-3deg)translateY(0)}}@media (min-width:1500px){.hero{gap:75px;padding-block:100px}h1{font-size:65px}}@media (max-width:1100px){.wrap{width:calc(100% - 72px)}.hero{gap:30px;padding-block:65px 58px}h1{font-size:4.6vw}.project-info{padding:30px 27px}.project-info h3{font-size:26px}.procurement-visual{padding-inline:22px}.about-grid{gap:40px}.about-grid h2{font-size:36px}.works-heading h2{font-size:33px}.capabilities{gap:24px}.capabilities h3{font-size:15px}}@media (max-width:800px){.wrap{width:calc(100% - 48px)}.header{min-height:95px}.header nav{gap:22px}.brand{font-size:25px}.brand-caption{font-size:7px}.hero{grid-template-columns:1fr;gap:42px;padding-block:48px 45px}.hero-copy{max-width:600px}h1{font-size:clamp(38px,7.5vw,58px)}.hero-eyebrow{margin-bottom:22px}.hero-description{font-size:13px}.hero-feature{justify-self:end;width:85%;max-width:550px;margin:0 10px 5px}.hero-image-frame{box-shadow:8px 12px #476a7914,0 15px 40px #253d4d18}.feature-bottomline{margin-top:20px}.intro-bottom{padding-block:20px}.intro-bottom>.mono{font-size:8px}.works{padding-block:54px}.works-heading{margin-bottom:30px}.works-heading h2{font-size:29px}.featured-project{grid-template-columns:1fr}.procurement-visual{min-height:0;padding:24px 40px 23px}.project-screen{max-width:620px;margin-block:37px 24px}.project-info{padding:28px 30px}.project-info h3{font-size:30px}.project-en{margin-top:21px}.project-description{max-width:600px}.project-type{font-size:8px}.secondary-projects{gap:23px}.secondary-project .project-visual{height:245px}.keiba-wordmark{font-size:66px;top:70px;left:25px}.support-wordmark{font-size:60px;top:86px;left:24px}.support-wordmark>span{letter-spacing:.16em;font-size:10px}.cover-caption{font-size:9px;left:20px}.visual-index{font-size:8px;left:20px}.cover-link{width:28px;height:28px;right:20px}.progress-label{font-size:8px;right:18px}.secondary-info h3{font-size:18px}.secondary-info .project-type{display:none}.secondary-bottom{flex-wrap:wrap;align-items:flex-start;gap:14px}.about-section{padding-block:52px}.about-grid{gap:32px}.about-grid h2{font-size:30px}.about-text .about-lead{font-size:16px}.about-text{font-size:13px}.capabilities{gap:22px}.capabilities h3{font-size:13px}.capabilities p{font-size:11px}.connect-grid{gap:35px}.connect-grid h2{font-size:28px}.github-button{padding:24px}.github-button>span:first-child{font-size:26px}}@media (max-width:520px){.wrap{width:calc(100% - 40px)}.header{gap:14px;min-height:92px}.brand{font-size:23px}.brand-caption{letter-spacing:.08em;margin-top:8px;font-size:6px}.header nav{gap:18px}.header nav>a{font-size:10px}.header nav>a>span:not(.arrow):not(.sr-only){font-size:8px}.header nav .nav-github{border:0;gap:6px;padding:0;font-size:10px}.nav-github .arrow{font-size:13px}.hero{gap:35px;padding-block:38px 35px}.hero-eyebrow{letter-spacing:.07em;margin-bottom:23px;font-size:9px}h1{letter-spacing:-.06em;font-size:clamp(31px,8.1vw,43px);line-height:1.6}.hero-description{letter-spacing:0;margin-top:22px;font-size:12.5px;line-height:2.05}.button{gap:38px;padding:13px 20px;font-size:11px}.button-lime{margin-top:25px}.hero-keywords{margin-top:22px;font-size:9px}.hero-keywords span+span:before{margin-inline:13px}.hero-feature{justify-self:center;width:calc(100% - 12px);margin-right:6px}.feature-topline{margin-bottom:12px;font-size:8px}.window-line{gap:10px;height:24px;padding-inline:9px;font-size:7px}.window-dots{gap:3px}.window-dots i{width:4px;height:4px}.feature-bottomline{margin-top:18px;font-size:11px}.image-note{font-size:8px}.feature-arrow{width:24px;height:24px}.intro-bottom{align-items:center;gap:8px;padding-block:19px;font-size:9px}.intro-bottom .mono{letter-spacing:.01em;font-size:7px}.intro-bottom .mono>span{margin-left:7px}.section-top{gap:12px}.eyebrow{letter-spacing:.07em;font-size:9px}.section-aside{display:none}.works{padding-block:43px 40px}.works-heading{align-items:flex-end;gap:10px;margin-top:19px;margin-bottom:28px}.works-heading h2{letter-spacing:-.045em;font-size:27px;line-height:1.6}.mobile-only{display:block}.work-count{letter-spacing:-2px;font-size:41px}.work-count>span{letter-spacing:.06em;margin-top:9px;font-size:7px}.featured-project{border-radius:8px}.procurement-visual{padding:22px 17px 19px}.visual-index{font-size:8px;top:18px;left:18px}.project-screen{margin-block:30px 18px;transform:rotate(-2deg)}.visual-caption{gap:8px;font-size:8px}.project-info{padding:25px 22px 23px}.project-status{font-size:9px}.project-type{font-size:7px}.project-en{margin-top:21px;font-size:9px}.project-info h3{margin-top:7px;font-size:27px}.project-name{font-size:10px}.project-description{margin-top:17px;font-size:13px}.tags{gap:5px;margin-top:18px}.tags li{padding:4px 7px;font-size:8px}.project-cta{margin-top:22px;padding-top:15px;font-size:10px}.project-detail summary{gap:16px;padding:17px 19px;font-size:10px}.detail-body{padding:6px 19px 23px;font-size:13px}.detail-body .detail-note{font-size:11px}.secondary-projects{grid-template-columns:1fr;gap:34px;margin-top:27px}.secondary-project .project-visual{height:245px}.keiba-wordmark{font-size:74px;top:68px;left:26px}.support-wordmark{font-size:67px;top:80px;left:25px}.support-wordmark>span{letter-spacing:.23em;font-size:10px}.cover-caption{font-size:9px;bottom:20px;left:20px}.cover-link{width:31px;height:31px;bottom:18px}.progress-label{bottom:20px}.secondary-info{padding-top:19px}.secondary-info .project-type{font-size:7px;display:inline}.secondary-info h3{margin-top:13px;font-size:19px}.secondary-info>p{margin-top:10px;font-size:13px}.secondary-bottom{align-items:center;gap:15px;margin-top:17px}.inline-link{gap:18px;font-size:10px}.coming-soon{font-size:9px}.work-note{text-align:left;margin-top:27px;font-size:8px;line-height:1.9}.about-section{padding-block:42px}.about-signature{font-size:17px}.about-grid{grid-template-columns:1fr;gap:29px;margin-top:28px}.about-grid h2{letter-spacing:-.05em;font-size:36px;line-height:1.6}.about-text{font-size:13px;line-height:2.1}.about-text .about-lead{margin-bottom:22px;font-size:17px}.about-text p+p{margin-top:19px}.capabilities{grid-template-columns:1fr;gap:0;margin-top:35px;padding-top:0}.capabilities>div{border-bottom:1px solid #ffffff20;grid-template-columns:27px 1fr;column-gap:9px;padding-block:20px;display:grid}.capability-number{grid-row:1/3;padding-top:5px;font-size:9px}.capabilities h3{margin:0;font-size:16px}.capabilities p{margin-top:6px;font-size:12px}.connect-section{padding-block:42px 45px}.connect-grid{grid-template-columns:1fr;gap:29px}.connect-grid h2{margin-top:21px;font-size:30px}.connect-grid p:not(.eyebrow){margin-top:16px;font-size:12px;line-height:1.9}.github-button{padding:23px 25px}.github-button>span:first-child{font-size:27px}.github-button>.arrow{font-size:36px}.github-handle{margin-top:10px;font-size:9px}.footer-inner{flex-wrap:wrap;gap:12px;padding-block:23px}.footer-brand{font-size:19px}.footer-inner p{letter-spacing:.07em;order:3;width:100%;font-size:7px}.back-top{font-size:9px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.works{background:#eff3f5}:root{--button:#476a79;--accent:#b66c59}.dark-intro{position:relative}.header{z-index:5;border-bottom-color:#476a7924;min-height:100px;position:absolute;top:0;left:50%;transform:translate(-50%)}.nav-github{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff30;border-color:#476a7945}.masthead{isolation:isolate;background:#eaf0f4;position:relative;overflow:hidden}.architecture-photo{z-index:-2;object-fit:cover;object-position:50% 50%;filter:saturate(.72)brightness(1.06)contrast(.96);pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.masthead-shade{z-index:-1;pointer-events:none;background:linear-gradient(90deg,#fbfcfdf0 0%,#fbfcfde0 27%,#fbfcfd85 49%,#fbfcfd21 77%,#fbfcfd14 100%),linear-gradient(#fbfcfded 0%,#fbfcfddb 10%,#fbfcfd00 21%),linear-gradient(#fbfcfd00 65%,#fbfcfda8 87%,#fbfcfdf0 100%);position:absolute;inset:0}.hero{grid-template-columns:1fr 1.05fr;gap:80px;padding-block:174px 72px}h1>span{color:var(--accent)}.hero-description{color:#425561}.button-lime{background:var(--button);color:#fff;box-shadow:0 8px 20px #476a7915}.button-lime:hover{background:#365867}.hero-feature{margin-top:18px}.feature-topline{color:#5b6e78}.hero-image-frame{border-color:#ffffffc9;box-shadow:14px 22px #476a790a,0 26px 65px #253d4d24}.window-line{background:#f6f8f9}.feature-bottomline{color:#27323c}.feature-arrow{color:#476a79;background:#ffffff4d;border-color:#476a7940}.image-note{color:#4e626e}.intro-bottom{color:#4e626e;border-top-color:#476a7924;padding-block:22px 25px;position:relative}.featured-project{border-color:#dde5e9;box-shadow:0 12px 42px #2d3f4a05}.procurement-visual{background:linear-gradient(135deg,#f0f4f6,#e1e9ed)}.project-screen{border-color:#d5e0e5;box-shadow:4px 15px 35px #324e5e24}.keiba-visual{background:#f2e0da}.support-visual{background-color:#ecefee}.about-section{background:linear-gradient(135deg,#2d3f4a,#344b57)}.about-grid h2>span{color:#dbab98}.github-button:hover{background:var(--button);border-color:var(--button);color:#fff}.github-button:hover .github-handle{color:#f0f5f7}.photo-attribution{color:#61717c;font-family:var(--mono);text-align:right;padding-block:0 22px;font-size:9px}.photo-attribution a{text-underline-offset:3px;-webkit-text-decoration:underline #b8c5cd;text-decoration:underline #b8c5cd}.ctx-visual{color:var(--ink);background:linear-gradient(130deg,#f0f4f6,#e1e9ed)}.ctx-wordmark{z-index:1;letter-spacing:-5px;font-family:Arial,sans-serif;font-size:80px;font-weight:700;line-height:1;transition:transform .3s;position:absolute;top:72px;left:36px}.ctx-visual:hover .ctx-wordmark{transform:translate(7px)}.ctx-wordmark>span{font-family:var(--mono);letter-spacing:.24em;margin-top:14px;font-size:12px;font-weight:400;display:block}.ctx-structure{pointer-events:none;width:210px;height:190px;position:absolute;top:48px;right:-22px;transform:rotate(-14deg)}.ctx-structure i{border:1px solid #476a7933;border-radius:4px;width:140px;height:160px;position:absolute}.ctx-structure i:nth-child(2){border-color:#476a794a;transform:translate(22px,18px)}.ctx-structure i:nth-child(3){border-color:#b66c5966;transform:translate(44px,36px)}.secondary-info>.ctx-category{color:var(--muted);margin-top:8px;font-size:11px}@media (max-width:520px){.ctx-wordmark{font-size:74px;top:60px;left:26px}.ctx-structure{top:32px;right:-64px}}@media (prefers-reduced-motion:reduce){.ctx-wordmark{transition:none}}.masthead .hero-copy,.masthead :is(.hero-keywords,.feature-topline>span,.feature-bottomline>span:first-child,.image-note){isolation:isolate;position:relative}.masthead .hero-copy:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#fbfcfd9e 0% 45%,#fbfcfd00 100%);position:absolute;inset:-26px -28px}.masthead :is(.hero-keywords,.feature-topline>span,.feature-bottomline>span:first-child,.image-note):before{content:"";z-index:-1;pointer-events:none;filter:blur(6px);background:linear-gradient(90deg,#fbfcfdf5,#fbfcfdf0);position:absolute;inset:-5px -8px}.masthead :is(.hero-keywords,.image-note):before{width:min(100%,250px)}@media (min-width:1500px){.hero{gap:90px;padding-block:194px 94px}}@media (max-width:1100px){.hero{gap:40px;padding-block:156px 64px}}@media (max-width:800px){.header{min-height:96px}.hero{grid-template-columns:1fr;gap:44px;padding-block:144px 52px}.masthead-shade{background:linear-gradient(#fbfcfdf0 0%,#fbfcfdd6 10%,#fbfcfdcc 22%,#fbfcfdb8 44%,#fbfcfd47 60% 78%,#fbfcfdeb 100%)}.hero-feature{margin-top:0}.hero-image-frame{box-shadow:8px 12px #476a790a,0 15px 40px #253d4d20}}@media (max-width:520px){.header{min-height:92px}.hero{gap:37px;padding-block:132px 43px}.intro-bottom{padding-block:19px 23px}.photo-attribution{text-align:left;padding-bottom:22px;font-size:8px;line-height:1.8}}
:root{--muted:#4d5b66;--line:#bacbd4;--body-text:#35434e}body{font-size:17px;line-height:1.9}.brand-caption{color:var(--body-text);letter-spacing:.09em;font-size:11px}.header nav>a{font-size:15px}.header nav>a>span:not(.arrow):not(.sr-only){color:var(--muted);font-size:12px}.eyebrow,.hero-eyebrow,.mono{letter-spacing:.08em;font-size:12px;line-height:1.7}.hero-eyebrow,.hero-keywords{color:var(--body-text)}.hero h1{letter-spacing:-.045em;white-space:normal;font-size:clamp(42px,4.3vw,62px);line-height:1.45}.hero h1>span{display:inline-block}.hero-description{letter-spacing:.01em;color:var(--body-text);font-size:17px;line-height:1.95}.button{padding:17px 25px;font-size:15px;line-height:1.7}.hero-keywords{flex-wrap:wrap;font-size:13px;line-height:1.8}.hero-keywords span+span:before{color:var(--muted);margin-inline:12px}.masthead{border-bottom:1px solid #afc3ce}.masthead-shade{background:linear-gradient(90deg,#fbfcfdfa 0%,#fbfcfdf2 28%,#fbfcfde6 46%,#fbfcfd57 61%,#fbfcfd0f 82%,#fbfcfd0a 100%),linear-gradient(#fbfcfdf0 0%,#fbfcfde0 10%,#fbfcfd00 23%)}.masthead .hero-copy:before,.masthead :is(.hero-keywords,.feature-topline>span,.feature-bottomline>span:first-child,.image-note):before{content:none}.feature-topline{color:var(--body-text);letter-spacing:.06em;gap:12px;font-size:12px}.feature-topline>span{background:#fbfcfd;border:1px solid #bacbd4;border-radius:3px;padding:3px 7px}.hero-image-frame{border:1px solid #a9bec9;box-shadow:0 20px 44px #20323e3d,0 2px 8px #20323e1f}.window-line{height:36px;color:var(--body-text);border-bottom:1px solid #cbd7de;font-size:11px}.feature-bottomline{background:#fbfcfd;border:1px solid #bacbd4;border-radius:4px 4px 0 0;gap:14px;margin-top:16px;padding:12px 14px;font-size:16px;font-weight:600;line-height:1.7}.feature-arrow{background:#fff;flex-shrink:0}.image-note{color:var(--body-text);background:#fbfcfd;border:1px solid #bacbd4;border-top:0;border-radius:0 0 4px 4px;margin-top:0;padding:0 14px 12px;font-size:12px;line-height:1.8}.intro-bottom{isolation:isolate;color:var(--body-text);border-top-color:#bacbd4;font-size:13px}.intro-bottom:before{content:"";z-index:-1;background:#fbfcfd;width:100vw;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.intro-bottom>.mono{font-size:12px}.works{background:#eff3f5;border-top:1px solid #d8cfc4}.section-kicker,.developing{color:#92503f}.section-aside{font-size:13px}.works-heading h2{font-size:clamp(30px,3vw,38px);line-height:1.6}.work-count>span{font-size:11px}.featured-project,.secondary-project{background:#fff;border:1px solid #bacbd4;border-radius:12px;box-shadow:0 8px 24px #27323c0d}.project-status{color:var(--body-text);flex-wrap:wrap;font-size:13px;line-height:1.7}.project-status.developing{color:#92503f}.project-type,.secondary-info .project-type{color:var(--muted);letter-spacing:.03em;font-size:12px}.project-en{overflow-wrap:anywhere;font-size:13px}.project-name{font-size:14px}.project-description,.secondary-info>p,.detail-body,.about-text,.connect-grid p:not(.eyebrow){letter-spacing:.01em;color:var(--body-text);text-wrap:pretty;font-size:17px;line-height:1.9}.project-info h3{font-size:32px;line-height:1.6}.tags li{color:var(--body-text);border-color:#c1d0d9;padding:5px 9px;font-size:12px}.project-cta,.project-detail summary{color:var(--body-text);font-size:15px;line-height:1.8}.detail-body strong,.detail-body .detail-note{font-size:14px}.visual-index,.visual-caption,.cover-caption,.progress-label{color:var(--body-text);font-size:12px;line-height:1.7}.visual-caption{flex-wrap:wrap}.secondary-projects{align-items:stretch;gap:28px;margin-top:32px}.secondary-project{flex-direction:column;display:flex;overflow:hidden}.secondary-project .project-visual{border-bottom:1px solid #bacbd4;border-radius:0;flex-shrink:0}.secondary-info{flex-direction:column;flex:1;padding:28px 30px 30px;display:flex}.secondary-info h3{font-size:24px;line-height:1.6}.secondary-info>p{max-width:none;margin-top:14px}.secondary-info>.ctx-category{color:var(--muted);margin-top:8px;font-size:14px;font-weight:600;line-height:1.8}.secondary-bottom{flex-wrap:wrap;gap:14px;margin-top:auto;padding-top:24px}.coming-soon,.work-note{color:var(--muted);font-size:13px;line-height:1.8}.ctx-wordmark>span,.support-wordmark>span{color:var(--body-text);font-size:14px}.about-section{background:#2d3f4a}.about-text{color:#e0e7eb}.about-text .about-lead{color:#fbfcfd;font-size:21px;line-height:1.85}.capabilities h3{font-size:18px}.capabilities p{color:#d4dfe5;font-size:16px;line-height:1.9}.capability-number{font-size:13px}.github-handle,.footer-inner p,.back-top,.photo-attribution{color:var(--muted);font-size:13px;line-height:1.8}@media (max-width:1100px){.hero{gap:36px}.project-info h3{font-size:28px}.secondary-info{padding-inline:24px}}@media (max-width:800px){.architecture-photo{object-position:43% 50%;opacity:.65;filter:saturate(.64)brightness(1.06)contrast(.96)}.masthead-shade{background:linear-gradient(#fbfcfdfa 0%,#fbfcfdf5 38%,#fbfcfde6 53%,#fbfcfd40 70% 100%)}.hero h1{font-size:clamp(36px,7.5vw,58px)}.hero-image-frame{box-shadow:0 12px 30px #20323e33,0 2px 7px #20323e1f}.secondary-projects{gap:24px}.secondary-info{padding:24px 22px}.secondary-info h3{font-size:23px}.project-description,.secondary-info>p,.detail-body,.about-text,.connect-grid p:not(.eyebrow),.hero-description{font-size:16px}.works-heading h2{font-size:30px}.intro-bottom{flex-wrap:wrap;gap:10px 24px}}@media (max-width:680px){.secondary-projects{grid-template-columns:1fr}.about-grid,.connect-grid{grid-template-columns:1fr;gap:32px}}@media (max-width:520px){.header{flex-wrap:wrap;align-content:center;gap:18px;min-height:146px;padding-block:20px 16px}.brand-caption{letter-spacing:.07em;font-size:11px}.header nav{justify-content:space-between;gap:18px;width:100%}.header nav>a,.header nav .nav-github{font-size:14px}.header nav>a>span:not(.arrow):not(.sr-only){font-size:12px}.hero{gap:40px;padding-block:188px 46px}.hero h1{font-size:clamp(32px,9.7vw,40px)}.hero-eyebrow{letter-spacing:.035em;font-size:12px}.hero-description{margin-top:24px}.button{gap:32px;padding:16px 22px;font-size:15px}.hero-keywords{margin-top:24px;font-size:12px}.hero-keywords span+span:before{margin-inline:9px}.feature-topline{letter-spacing:.02em;gap:6px;font-size:11px}.window-line{height:32px;font-size:10px}.feature-bottomline{gap:10px;padding:10px 12px;font-size:15px}.image-note{padding:0 12px 10px;font-size:12px}.works-heading{align-items:flex-start;gap:14px}.works-heading h2{min-width:0;font-size:clamp(26px,7.5vw,30px)}.work-count{flex-shrink:0;font-size:44px}.section-top{flex-wrap:wrap;gap:12px}.project-info{padding:26px 22px}.project-info h3{font-size:28px}.project-type,.secondary-info .project-type{font-size:12px}.project-detail summary{font-size:14px}.visual-index,.visual-caption,.cover-caption,.progress-label{font-size:12px}.secondary-info>.ctx-category{font-size:14px}.secondary-bottom .tags{flex:100%}.support-wordmark>span{font-size:12px}.about-grid h2{font-size:36px}.about-text .about-lead{font-size:20px}.capabilities h3{font-size:18px}.capabilities p{font-size:16px}.footer-inner{flex-wrap:wrap}.footer-inner p{letter-spacing:.04em;font-size:12px}.photo-attribution{font-size:12px}}
.hero-showcase{isolation:isolate;min-width:0;margin-top:12px;animation:.8s ease-out backwards enter;position:relative}.showcase-heading{font-family:var(--mono);letter-spacing:.06em;color:#35434e;justify-content:space-between;gap:16px;padding-inline:12px 14px;font-size:12px;line-height:1.8;display:flex}.showcase-heading>span{background:#fbfcfd;border:1px solid #bacbd4;border-radius:3px;padding:3px 8px}.showcase-stack{height:610px;margin-top:18px;position:relative}.showcase-card{color:#27323c;min-width:0;transform:rotate(var(--tilt));-webkit-tap-highlight-color:#476a7920;background:#fff;border:1px solid #a9bec9;border-radius:10px;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;display:block;position:absolute;box-shadow:0 18px 32px #20323e26,0 2px 6px #20323e12}.showcase-card:focus-visible{z-index:5;outline-offset:5px;outline:3px solid #476a79;transform:rotate(0)translateY(-7px)}@media (hover:hover) and (pointer:fine){.showcase-card:hover{z-index:5;transform:rotate(var(--hover-tilt)) translateY(-8px);box-shadow:0 24px 42px #20323e38,0 3px 8px #20323e1a}}.showcase-procurement{--tilt:-3deg;--hover-tilt:-1deg;z-index:3;width:86%;top:280px;left:12%;overflow:hidden}.showcase-screen{background:#fff;border-bottom:1px solid #bacbd4;overflow:hidden}.showcase-screen .window-line{gap:12px;height:28px;padding-inline:12px;font-size:11px}.showcase-screen img{aspect-ratio:2.65;object-fit:cover;object-position:top;width:100%;height:auto;display:block}.showcase-caption{justify-content:space-between;align-items:center;gap:10px;padding:13px 16px 15px;display:flex}.showcase-caption>.showcase-name{min-width:0}.showcase-name{margin-block:2px;font-size:17px;font-weight:700;line-height:1.65;display:block}.showcase-arrow{color:#476a79;background:#fff;border:1px solid #a9bec9;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;line-height:1;display:grid}.showcase-card-top{z-index:1;font-family:var(--mono);color:#35434e;justify-content:space-between;align-items:center;gap:10px;font-size:12px;line-height:1.8;display:flex;position:relative}.showcase-ctx{--tilt:-7deg;--hover-tilt:-2deg;z-index:2;background:#e8eff3;width:76%;height:214px;padding:16px 22px;top:120px;left:1%;overflow:hidden}.showcase-ctx-name{z-index:1;letter-spacing:-.055em;width:max-content;margin-top:7px;font-family:Arial,sans-serif;font-size:54px;font-weight:700;line-height:1.05;display:block;position:relative}.showcase-ctx-name>span{font-family:var(--mono);letter-spacing:.2em;margin-top:5px;font-size:14px;font-weight:400;line-height:1.6;display:block}.showcase-period{color:#92503f}.showcase-planes{width:98px;height:110px;position:absolute;top:66px;right:48px;transform:rotate(17deg)}.showcase-planes i{border:1px solid #9bb1bd;border-radius:4px;position:absolute;inset:0}.showcase-planes i:nth-child(2){transform:translate(17px,-14px)}.showcase-planes i:nth-child(3){border-color:#b9897b;transform:translate(34px,-28px)}.showcase-support{--tilt:6deg;--hover-tilt:2deg;z-index:1;background:#f4f6f5;width:73%;height:188px;padding:16px 22px;top:4px;left:22%;overflow:hidden}.showcase-support-name{z-index:1;letter-spacing:.01em;margin-top:12px;font-size:21px;font-weight:700;line-height:1.55;display:block;position:relative}.showcase-orbit{width:130px;height:130px;position:absolute;top:75px;right:-14px}.showcase-orbit i{border:1px solid #a5b9c3;border-radius:50%;position:absolute;inset:0}.showcase-orbit i+i{border-color:#b9897b;inset:22px}@media (min-width:801px) and (max-width:1100px){.showcase-support{width:80%;left:15%}.showcase-ctx{width:82%;left:0}.showcase-card-top{gap:6px;font-size:11px}.showcase-support-name{font-size:19px}.showcase-name{font-size:16px}.showcase-planes{width:76px;height:90px;right:30px}}@media (max-width:800px){.hero-showcase{justify-self:center;width:100%;max-width:560px;margin-top:0}.showcase-stack{height:640px}.showcase-support{--tilt:5deg;width:82%;top:6px;left:13%}.showcase-ctx{--tilt:-5deg;width:84%;top:140px;left:2%}.showcase-procurement{width:90%;top:282px;left:7%}.showcase-screen img{aspect-ratio:2.4}}@media (max-width:520px){.showcase-heading{letter-spacing:.025em;gap:8px;padding-inline:2px}.showcase-heading>span{padding:3px 6px}.showcase-card{border-radius:8px;box-shadow:0 12px 24px #20323e26,0 2px 5px #20323e12}.showcase-card-top{flex-wrap:wrap;align-items:flex-start;gap:4px 8px;font-size:12px}.showcase-card-top>span:first-child{letter-spacing:0;width:100%;font-size:12px}.showcase-support{height:192px;padding:13px 16px}.showcase-support-name{max-width:calc(100% - 50px);margin-top:13px;font-size:18px}.showcase-orbit{width:90px;height:90px;top:112px;right:-8px}.showcase-ctx{height:208px;padding:13px 16px}.showcase-ctx-name{margin-top:13px;font-size:48px}.showcase-planes{width:59px;height:68px;top:100px;right:40px}.showcase-planes i:nth-child(2){transform:translate(11px,-9px)}.showcase-planes i:nth-child(3){transform:translate(22px,-18px)}.showcase-screen .window-line{gap:8px;height:26px;padding-inline:10px;font-size:10px}.showcase-screen img{aspect-ratio:2}.showcase-caption{padding:12px 12px 14px}.showcase-name{font-size:16px}}@media (prefers-reduced-motion:reduce){.hero-showcase{animation:none}.showcase-card{transition:none}.showcase-card:hover,.showcase-card:focus-visible{transform:rotate(var(--tilt))}}.showcase-caption{min-height:103.25px}.showcase-card-top{min-height:27.6px}.showcase-card-arrow{z-index:1;position:absolute;bottom:16px;right:22px}@media (max-width:520px){.showcase-caption{min-height:101.6px}.showcase-card-top{min-height:0}.showcase-card-arrow{bottom:13px;right:16px}}
.works{background-color:#e6dfd6}
.contact-section{padding-block:72px 80px}.contact-grid{grid-template-columns:1fr 1.3fr;align-items:start}.contact-form{border:1px solid var(--line);background:#fff;border-radius:12px;padding:32px 32px 30px}.contact-form-notice{color:#92503f;background:#f7efe9;border:1px solid #e7d6c8;border-radius:6px;align-items:flex-start;gap:10px;margin-bottom:26px;padding:12px 14px;font-size:12px;line-height:1.7;display:flex}.contact-form-notice .status-dot{background:#9b5947;flex-shrink:0;margin-top:8px}.contact-error{color:#92503f;background:#f7efe9;border:1px solid #e7d6c8;border-radius:6px;margin-bottom:26px;padding:12px 14px;font-size:12px;line-height:1.7}.contact-success{padding:8px 2px}.contact-success-title{color:var(--ink);align-items:center;gap:10px;margin-bottom:12px;font-size:17px;font-weight:700;display:flex}.contact-success-title .status-dot{background:var(--lime)}.contact-success p+p{color:var(--muted);margin-top:10px;font-size:14px;line-height:1.9}.form-field+.form-field{margin-top:20px}.form-field label{color:var(--ink);margin-bottom:8px;font-size:12px;font-weight:700;display:block}.form-field input,.form-field select,.form-field textarea{width:100%;color:var(--ink);border:1px solid var(--line);background:#f5f7f8;border-radius:6px;padding:12px 14px;font-family:inherit;font-size:14px;line-height:1.6}.form-field input::placeholder,.form-field textarea::placeholder{color:#8b9aa3}.form-field textarea{resize:vertical;min-height:110px}.contact-submit{margin-top:28px;font-family:inherit}.contact-submit:disabled{color:#8b9aa3;cursor:not-allowed;background:#e3e8ea;transform:none}@media (max-width:680px){.contact-grid{grid-template-columns:1fr}.contact-form{padding:26px 22px 24px}}
