@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+JP:wght@400;500;600;700;900&display=swap');
:root{--ink:#171a17;--paper:#f2f0e8;--lime:#c7f36b;--orange:#ff6b3d;--muted:#777b72;--line:rgba(23,26,23,.18);--mono:'DM Mono',monospace;--display:'Manrope','Noto Sans JP',sans-serif;--body:'Noto Sans JP',sans-serif;--pad:clamp(22px,5vw,76px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}::selection{background:var(--lime);color:var(--ink)}.mono,.eyebrow,.nav-label,.tag,.footnote{font-family:var(--mono);text-transform:uppercase;letter-spacing:.09em}.eyebrow{font-size:.72rem;display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:24px;height:2px;background:currentColor}.site-header{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px var(--pad);background:rgba(242,240,232,.9);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:.25s}.site-header.scrolled{border-color:var(--line)}.brand{display:flex;align-items:center;flex-shrink:0}.brand-logo{display:block;width:clamp(138px,15vw,205px);height:auto;max-height:40px;object-fit:contain;object-position:left center}.footer-brand{display:inline-flex;align-items:center}.footer-logo{display:block;width:clamp(170px,19vw,250px);height:auto;object-fit:contain;object-position:left center}.header-right{display:flex;align-items:center;gap:25px}.nav-label{font-size:.68rem}.menu-trigger{border:0;background:var(--ink);color:var(--paper);padding:12px 16px;display:flex;align-items:center;gap:14px;font:500 .7rem var(--mono);letter-spacing:.08em}.menu-trigger .bars{display:grid;gap:4px}.bars i{width:17px;height:1px;background:currentColor;display:block;transition:.2s}.menu-trigger[aria-expanded=true] .bars i:first-child{transform:translateY(2.5px) rotate(45deg)}.menu-trigger[aria-expanded=true] .bars i:last-child{transform:translateY(-2.5px) rotate(-45deg)}.menu-overlay{position:fixed;z-index:19;inset:0;background:var(--ink);color:var(--paper);padding:110px var(--pad) 40px;display:flex;flex-direction:column;justify-content:space-between;transform:translateY(-105%);transition:transform .55s cubic-bezier(.7,0,.2,1);visibility:hidden}.menu-overlay.open{transform:translateY(0);visibility:visible}.menu-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}.menu-links a{font:800 clamp(2.5rem,8vw,7rem)/1.1 var(--display);letter-spacing:-.08em;border-bottom:1px solid #41443f;padding:12px 0;transition:color .2s, padding-left .2s}.menu-links a:hover{color:var(--lime);padding-left:12px}.menu-links small{font:400 .68rem var(--mono);letter-spacing:.1em;display:block;color:#a5a89f;margin-bottom:8px}.menu-bottom{display:flex;justify-content:space-between;color:#a5a89f;font-size:.8rem}.hero{min-height:100svh;padding:145px var(--pad) 55px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.hero-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.hero-kicker{font:500 .72rem var(--mono);letter-spacing:.12em}.hero-title{font:800 clamp(4.2rem,13.6vw,13.5rem)/.78 var(--display);letter-spacing:-.105em;margin:7vh 0 4vh;position:relative;z-index:1}.hero-title span{display:block}.hero-title .second{padding-left:clamp(12px,12vw,180px);color:var(--orange)}.hero-title .third{padding-left:clamp(30px,25vw,370px)}.hero-title .dot{color:var(--orange)}.orbit{position:absolute;width:clamp(170px,25vw,340px);aspect-ratio:1;border:1px solid rgba(23,26,23,.25);border-radius:50%;right:12%;top:28%;pointer-events:none;animation:spin 26s linear infinite}.orbit:before,.orbit:after{content:'';position:absolute;border:1px solid rgba(23,26,23,.2);border-radius:50%;inset:13%;transform:rotate(45deg) scaleX(.45)}.orbit:after{inset:25%;transform:rotate(-45deg) scaleX(.6);background:var(--lime);border:0;opacity:.8}.hero-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px;align-items:end}.hero-copy{font-size:clamp(.95rem,1.4vw,1.15rem);max-width:500px;line-height:1.9}.hero-copy strong{font-weight:700}.scroll-cue{justify-self:center;font: .68rem var(--mono);writing-mode:vertical-rl;display:flex;gap:14px;align-items:center}.scroll-cue:before{content:'';height:46px;width:1px;background:var(--ink)}.hero-index{justify-self:end;text-align:right;font: .68rem/1.8 var(--mono)}.section{padding:clamp(80px,12vw,170px) var(--pad)}.section.dark{background:var(--ink);color:var(--paper)}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:25px;margin-bottom:70px}.section-head h2{font:800 clamp(2.8rem,7vw,7rem)/.9 var(--display);letter-spacing:-.085em;margin:0}.section-head p{max-width:490px;color:var(--muted);margin:18px 0 0}.dark .section-head p{color:#a5a89f}.split-intro{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start}.statement{font:700 clamp(2rem,4.5vw,4.8rem)/1.15 var(--display);letter-spacing:-.06em;margin:0}.statement em{font-style:normal;color:var(--orange)}.body-copy{max-width:520px;color:var(--muted)}.dark .body-copy{color:#a5a89f}.service-list{margin-top:80px;border-top:1px solid #41443f}.service-row{display:grid;grid-template-columns:80px 1fr 1fr 44px;gap:25px;align-items:center;padding:26px 0;border-bottom:1px solid #41443f;transition:padding .25s,color .25s}.service-row:hover{padding-left:14px;color:var(--lime)}.service-row .num{font: .75rem var(--mono);color:#a5a89f}.service-row h3{font:700 clamp(1.3rem,3vw,2.5rem)/1.15 var(--display);letter-spacing:-.05em;margin:0}.service-row p{font-size:.88rem;color:#a5a89f;margin:0}.service-row .arrow{font-size:1.6rem;text-align:right}.feature-band{display:grid;grid-template-columns:1.1fr .9fr;min-height:440px;background:var(--lime);color:var(--ink);overflow:hidden}.feature-text{padding:clamp(28px,5vw,72px);display:flex;flex-direction:column;justify-content:space-between}.feature-text h3{font:800 clamp(2.5rem,6vw,6rem)/.92 var(--display);letter-spacing:-.09em;margin:35px 0}.feature-text p{max-width:420px}.abstract-art{position:relative;min-height:350px;overflow:hidden;background:#e2edc3}.abstract-art .ring{position:absolute;width:68%;aspect-ratio:1;border:clamp(12px,2vw,28px) solid var(--ink);border-radius:50%;top:12%;left:12%;mix-blend-mode:multiply}.abstract-art .ring.r2{width:52%;left:39%;top:29%;border-color:var(--orange);border-width:clamp(9px,1.5vw,20px)}.abstract-art .grid-lines{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 29px,rgba(23,26,23,.13) 30px),repeating-linear-gradient(0deg,transparent 0 29px,rgba(23,26,23,.13) 30px);transform:rotate(-18deg) scale(1.3)}.work-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.filter-btn{border:1px solid var(--line);background:transparent;padding:9px 14px;font: .68rem var(--mono);text-transform:uppercase;letter-spacing:.06em}.filter-btn.active,.filter-btn:hover{background:var(--ink);color:var(--paper)}.work-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.work-card{grid-column:span 4;border-top:1px solid var(--ink);padding-top:14px;display:flex;flex-direction:column;min-height:300px}.work-card:nth-child(2),.work-card:nth-child(5){grid-column:span 5}.work-card:nth-child(3),.work-card:nth-child(6){grid-column:span 3}.work-card[hidden]{display:none}.work-art{height:190px;position:relative;overflow:hidden;background:#dedbd0;margin-bottom:18px}.work-art:before,.work-art:after{content:'';position:absolute;transition:transform .6s}.work-card:hover .work-art:before{transform:rotate(22deg) scale(1.2)}.art-it{background:#c7f36b}.art-it:before{width:60%;height:150%;border:20px solid var(--ink);border-radius:50%;left:20%;top:-25%}.art-music{background:#ff6b3d}.art-music:before{width:70%;height:70%;border:2px solid var(--ink);border-radius:50%;left:15%;top:15%;box-shadow:0 0 0 15px rgba(23,26,23,.08),0 0 0 30px rgba(23,26,23,.08)}.art-design{background:#c9c5df}.art-design:before{width:80%;height:100%;background:var(--ink);left:10%;top:0;clip-path:polygon(0 0,100% 15%,65% 100%,20% 70%)}.art-dx{background:#dfd9cb}.art-dx:before{inset:15%;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 18px);transform:skewY(-12deg)}.art-event{background:#b9d6dc}.art-event:before{width:90%;height:90%;border:2px solid var(--ink);left:5%;top:5%;transform:rotate(45deg)}.art-live{background:#222522}.art-live:before{width:60%;height:160%;background:var(--lime);left:20%;top:-30%;clip-path:polygon(50% 0,100% 100%,0 100%)}.work-card:hover .work-art:after{transform:translate(8px,-8px)}.work-meta{display:flex;justify-content:space-between;gap:10px;font: .65rem var(--mono);color:var(--muted);text-transform:uppercase}.work-card h3{font-size:1.1rem;margin:8px 0 5px}.work-card p{font-size:.82rem;color:var(--muted);margin:0 0 20px}.work-card .read{margin-top:auto;font: .68rem var(--mono);text-transform:uppercase;letter-spacing:.08em}.about-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:10vw}.about-stamp{border:1px solid var(--line);aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;max-width:280px;font:800 clamp(2.8rem,7vw,5rem) var(--display);letter-spacing:-.1em}.about-stamp:before{content:'SYSTEMS × EXPRESSION';position:absolute;top:13%;font:.58rem var(--mono);letter-spacing:.12em}.about-stamp:after{content:'';position:absolute;width:16px;height:16px;background:var(--orange);border-radius:50%;right:14%;bottom:18%}.principles{margin-top:50px;border-top:1px solid var(--line)}.principle{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.principle .num{font:.7rem var(--mono);color:var(--muted)}.principle h3{font-size:1.05rem;margin:0 0 5px}.principle p{margin:0;color:var(--muted);font-size:.86rem}.contact-panel{background:var(--orange);padding:clamp(30px,7vw,100px);display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:end}.contact-panel h2{font:800 clamp(3.5rem,10vw,10rem)/.8 var(--display);letter-spacing:-.11em;margin:25px 0}.contact-panel p{max-width:420px}.contact-link{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink);padding:18px 0;font:500 .8rem var(--mono);text-transform:uppercase;letter-spacing:.06em}.contact-link span:last-child{font-size:1.5rem}.footer{background:var(--ink);color:var(--paper);padding:45px var(--pad) 24px}.footer-top{display:flex;justify-content:space-between;gap:25px;align-items:start;padding-bottom:55px}.footer-brand{font:800 clamp(1.5rem,3vw,2.5rem) var(--display);letter-spacing:-.08em}.footer-note{color:#a5a89f;font-size:.8rem;max-width:280px}.footer-bottom{border-top:1px solid #41443f;padding-top:18px;display:flex;justify-content:space-between;gap:15px;color:#a5a89f;font:.65rem var(--mono);text-transform:uppercase}.page-hero{padding:160px var(--pad) 70px;background:var(--ink);color:var(--paper)}.page-hero h1{font:800 clamp(4rem,12vw,11rem)/.85 var(--display);letter-spacing:-.1em;margin:55px 0 25px}.page-hero p{max-width:580px;color:#a5a89f}.detail-list{border-top:1px solid var(--line)}.detail-row{display:grid;grid-template-columns:90px 1fr 1fr;gap:24px;padding:30px 0;border-bottom:1px solid var(--line)}.detail-row h2{font:700 clamp(1.4rem,3vw,2.4rem)/1.1 var(--display);letter-spacing:-.05em;margin:0}.detail-row p{margin:0;color:var(--muted)}.contact-form{max-width:800px}.field{margin:24px 0}.field label{display:block;font:.7rem var(--mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.field input,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);padding:14px 0;outline:none}.field input:focus,.field textarea:focus{border-color:var(--orange)}.submit{background:var(--ink);color:var(--paper);border:0;padding:16px 22px;font:.7rem var(--mono);text-transform:uppercase;letter-spacing:.08em}.notice{font-size:.78rem;color:var(--muted)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}.back-top{position:fixed;right:20px;bottom:20px;z-index:10;background:var(--lime);border:0;width:44px;height:44px;border-radius:50%;font-size:1.2rem;opacity:0;pointer-events:none;transition:.2s}.back-top.show{opacity:1;pointer-events:auto}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}@media(max-width:760px){.header-right .nav-label{display:none}.hero{padding-top:125px;min-height:92svh}.hero-title{font-size:clamp(3.7rem,16vw,7rem);margin:9vh 0}.hero-title .second{padding-left:4vw}.hero-title .third{padding-left:15vw}.orbit{right:-8%;top:30%;opacity:.65}.hero-bottom{grid-template-columns:1fr 1fr}.scroll-cue{display:none}.hero-index{grid-column:2}.section-head,.split-intro,.feature-band,.about-grid,.contact-panel{grid-template-columns:1fr}.section-head{gap:18px;margin-bottom:45px}.service-row{grid-template-columns:35px 1fr 30px;gap:12px}.service-row p{grid-column:2;grid-row:2}.service-row .arrow{grid-column:3;grid-row:1/3}.work-card,.work-card:nth-child(n){grid-column:span 6}.work-art{height:150px}.abstract-art{min-height:280px}.about-stamp{max-width:180px}.footer-top{flex-direction:column}.detail-row{grid-template-columns:45px 1fr;gap:10px}.detail-row p{grid-column:2}.page-hero h1{margin-top:65px}.menu-links{grid-template-columns:1fr}.menu-links a{font-size:clamp(2.6rem,12vw,5rem)}.menu-bottom{font-size:.68rem}}@media(max-width:430px){.work-card,.work-card:nth-child(n){grid-column:span 12}.work-art{height:190px}.hero-top{align-items:flex-start;flex-direction:column}.hero-index{font-size:.6rem}}

/* Company information visual */
.company-details-visual{margin-top:48px;padding:clamp(22px,4vw,48px);border:1px solid #41443f;background:#20231f}
.company-details-visual .eyebrow{color:var(--lime);margin-bottom:24px}
.company-details-visual img{display:block;width:100%;max-width:1000px;height:auto}
.company-details-visual .notice{margin:18px 0 0;color:#a5a89f}

/* Business-linked capability visuals */
.capability-visual{display:grid;grid-template-columns:1.15fr .85fr;min-height:360px;margin:0 0 64px;overflow:hidden;border:1px solid var(--line)}
.capability-art{position:relative;min-height:360px;overflow:hidden}
.tech-art{background:#c7f36b;background-image:linear-gradient(rgba(23,26,23,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(23,26,23,.09) 1px,transparent 1px);background-size:28px 28px}
.server-stack{position:absolute;left:13%;top:16%;width:29%;height:69%;display:flex;flex-direction:column;gap:10px;transform:skewY(-5deg)}
.server-stack i{display:block;flex:1;background:#171a17;border:2px solid #171a17;box-shadow:8px 8px 0 rgba(23,26,23,.14);position:relative}
.server-stack i:before{content:'';position:absolute;left:12%;top:30%;width:10px;height:10px;border-radius:50%;background:var(--lime);box-shadow:20px 0 0 var(--orange)}
.server-stack i:after{content:'';position:absolute;right:10%;top:38%;width:38%;height:2px;background:#777b72;box-shadow:0 7px 0 #777b72}
.network-lines{position:absolute;left:40%;top:15%;width:30%;height:72%;border-top:1px solid rgba(23,26,23,.5);border-bottom:1px solid rgba(23,26,23,.5)}
.network-lines b{position:absolute;width:10px;height:10px;border:2px solid var(--ink);border-radius:50%;background:var(--orange)}
.network-lines b:nth-child(1){left:0;top:12%}.network-lines b:nth-child(2){right:0;top:30%}.network-lines b:nth-child(3){left:35%;top:48%}.network-lines b:nth-child(4){left:0;bottom:10%}.network-lines b:nth-child(5){right:0;bottom:4%}
.network-lines:before,.network-lines:after{content:'';position:absolute;left:4%;top:20%;width:94%;height:58%;border-top:1px solid var(--ink);border-right:1px solid var(--ink);transform:skewY(20deg)}
.network-lines:after{top:40%;transform:skewY(-20deg)}
.cloud-node{position:absolute;right:8%;top:35%;padding:24px 18px;border:2px solid var(--ink);border-radius:40px;background:var(--paper);font:500 .68rem var(--mono);letter-spacing:.12em;box-shadow:8px 8px 0 var(--orange)}
.capability-caption{padding:clamp(26px,4vw,54px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.capability-caption .mono{font-size:.65rem;color:var(--muted);margin-bottom:28px}
.capability-caption strong{font:800 clamp(2.5rem,5.5vw,5.5rem)/.87 var(--display);letter-spacing:-.09em}
.capability-caption p{max-width:320px;color:var(--muted);font-size:.9rem;margin:25px 0 0}
.creative-visual{border-color:#41443f;background:#222522;color:var(--paper)}
.creative-art{background:#ff6b3d;min-height:360px}
.browser-frame{position:absolute;left:9%;top:13%;width:52%;height:70%;background:var(--paper);border:2px solid var(--ink);box-shadow:12px 12px 0 rgba(23,26,23,.22);transform:rotate(-5deg)}
.browser-frame>span{display:inline-block;width:7px;height:7px;margin:11px 0 0 9px;border-radius:50%;background:var(--ink)}
.browser-block{position:absolute;left:10%;top:28%;width:78%;height:42%;background:#c7f36b;clip-path:polygon(0 0,100% 15%,74% 100%,14% 76%)}
.browser-line{position:absolute;left:10%;bottom:12%;width:60%;height:3px;background:var(--ink);box-shadow:0 8px 0 rgba(23,26,23,.35)}
.sound-wave{position:absolute;z-index:2;right:7%;top:20%;height:55%;display:flex;align-items:center;gap:5px;transform:rotate(7deg)}
.sound-wave i{display:block;width:5px;border-radius:5px;background:var(--paper);animation:wave-pulse 1.8s ease-in-out infinite alternate}
.sound-wave i:nth-child(3n){background:var(--ink)}.sound-wave i:nth-child(1),.sound-wave i:nth-child(15){height:18%}.sound-wave i:nth-child(2),.sound-wave i:nth-child(14){height:36%}.sound-wave i:nth-child(3),.sound-wave i:nth-child(13){height:60%}.sound-wave i:nth-child(4),.sound-wave i:nth-child(12){height:82%}.sound-wave i:nth-child(5),.sound-wave i:nth-child(11){height:100%}.sound-wave i:nth-child(6),.sound-wave i:nth-child(10){height:68%}.sound-wave i:nth-child(7),.sound-wave i:nth-child(9){height:42%}.sound-wave i:nth-child(8){height:78%}
.frame-mark{position:absolute;right:7%;bottom:9%;font:500 .68rem/1.5 var(--mono);letter-spacing:.1em;color:var(--ink);border:1px solid var(--ink);padding:9px 12px;transform:rotate(7deg)}
.creative-visual .capability-caption .mono{color:var(--lime)}.creative-visual .capability-caption p{color:#a5a89f}
@keyframes wave-pulse{from{transform:scaleY(.65)}to{transform:scaleY(1)}}
@media(max-width:760px){.capability-visual{grid-template-columns:1fr}.capability-art{min-height:270px}.capability-caption{padding:28px}.capability-caption .mono{margin-bottom:18px}.capability-visual{margin-bottom:45px}}
@media(prefers-reduced-motion:reduce){.sound-wave i{animation:none}}
