/* Muchu / expressive editorial direction. */
:root{--acid:#d5ff45;--pink:#ffb4d9;--ice:#a6e8ff;--ink:#101110}
::selection{background:var(--pink);color:var(--ink)}
header{height:82px;border-bottom:0}header .brand{font-size:34px}.nav-contact{border-color:var(--acid);border-radius:50%;padding:10px 24px}
.hero{position:relative;overflow:hidden;min-height:820px;background-image:radial-gradient(#4e5241 .6px,transparent .6px);background-size:26px 26px;padding-top:12px}.hero-top{border-top:1px solid #545747;padding-top:15px;font-size:11px}.hero-top span:last-child{color:#a5ab9b}.hero-center{position:relative;text-align:left;padding:16px 0 0}.eyebrow{font-size:11px;margin:0;letter-spacing:.12em}.wordmark{font-size:clamp(120px,23vw,340px);line-height:1.15;letter-spacing:.035em;margin:0 0 25px -0.025em;text-shadow:none}.logo-symbols{left:97%;top:24%}.logo-symbols span{font-size:.13em}.hero-stamp{position:absolute;right:1%;top:35px;background:var(--pink);color:var(--ink);width:110px;height:110px;border-radius:50%;transform:rotate(13deg);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;line-height:1.25;font-size:19px;z-index:1}.hero-stamp span{font-size:26px}.hero-story{display:grid;grid-template-columns:1.15fr 1fr;column-gap:6%;align-items:start;padding-bottom:20px}.hero-story h1{font-size:clamp(32px,4.7vw,68px);line-height:1.45;letter-spacing:0;margin:0;color:var(--acid);grid-row:1 / 3}.hero-desc{font-size:14px;line-height:2.15;margin:6px 0 0;max-width:560px}.button{justify-self:start;margin:24px 0 0;border-radius:0;background:none;color:var(--acid);border-bottom:1px solid var(--acid);box-shadow:none;padding:8px 0;gap:30px}.button:hover{color:var(--pink);background:none;box-shadow:none;transform:translateX(5px);border-color:var(--pink)}.button .pixel{font-size:15px}.mascot-lane{margin:0;height:108px;border-bottom:1px solid #44473e}.hero-bottom{font-size:10px;margin-top:15px}.motion-toggle{border-radius:50%;width:40px;height:40px}.idea-strip{overflow:hidden;background:var(--pink);color:var(--ink);padding:16px 0;border-top:4px solid var(--ink);border-bottom:4px solid var(--ink);font-size:clamp(18px,2.9vw,42px);white-space:nowrap}.idea-strip span{display:block;width:max-content;transform:translateX(-24px)}
.section{padding-top:120px;padding-bottom:120px}.research{background:#111311;gap:9%;grid-template-columns:1fr 1.1fr}.research h2{font-size:clamp(34px,4vw,60px);line-height:1.5}.research .label{font-size:11px}.research-content>p{font-size:15px;line-height:2.25;color:#d2d5ca}.profile-head h3{font-size:27px}.profile-head>span{font-size:12px}.research-notes{grid-template-columns:1fr;gap:0}.research-notes>div{display:grid;grid-template-columns:110px 1fr;align-items:baseline;border-bottom:1px solid #353a30;padding:12px 0}.research-notes p{margin:0}.research-art{position:relative;height:310px;margin-top:35px;isolation:isolate}.orbit{position:absolute;width:90%;height:130px;border:1px solid var(--ice);top:80px;left:0;border-radius:50%;transform:rotate(-30deg)}.orbit-b{transform:rotate(35deg);border-color:var(--pink)}.orbit-core{position:absolute;left:32%;top:35px;font-size:75px;line-height:1.05;color:var(--acid);transform:rotate(-9deg)}.art-caption{position:absolute;bottom:8px;font-size:10px;letter-spacing:.12em;color:var(--ice)}.art-star{position:absolute;left:74%;top:35px;color:var(--pink);font-size:62px;line-height:1;transition:transform .7s}.research-art:hover .art-star{transform:rotate(160deg)}
.services{grid-template-columns:.9fr 1.3fr;background:#f1f0e9;gap:7%}.section-heading h2{font-size:clamp(30px,3.2vw,48px);line-height:1.55}.service{grid-template-columns:68px 1fr;padding:35px 0 48px}.service .number{font-size:48px;line-height:1;color:#747969}.service h3{font-size:27px}.service-en{font-size:11px;letter-spacing:.08em}.tag{transform:rotate(-3deg);padding:4px 12px}.service:nth-child(even) .tag{transform:rotate(2deg)}.service:hover .tag{transform:rotate(0)}.tag{transition:transform .25s}.about{position:relative;overflow:hidden}.about h2{font-size:clamp(38px,5.8vw,84px);line-height:1.4}.about-intro{gap:7%}.steps h3{font-size:clamp(40px,5.5vw,78px);letter-spacing:-.025em}.steps article{padding-top:30px}.steps article:nth-child(2) h3{transform:rotate(-5deg)}.steps article:nth-child(3) h3{transform:rotate(4deg)}.contact{background:#141613}.contact h2{color:var(--acid);font-size:clamp(34px,5vw,72px);line-height:1.5}.closing-mark{overflow:hidden;white-space:nowrap;font-size:25vw;line-height:1.15;letter-spacing:.02em;color:var(--acid);padding:0 3%;border-top:1px solid #44473e}.closing-mark span{font-size:.4em;color:var(--pink);display:inline-block;transform:rotate(-15deg);vertical-align:20%}footer{margin-top:0;border-top:0}footer .brand{display:none}
@media(min-width:1600px){.hero{padding-left:7%;padding-right:7%}.wordmark{font-size:21vw}}
@media(max-width:760px){header{height:72px}.hero{min-height:0;padding:8px 6% 20px}.hero-top{font-size:10px}.hero-center{padding-top:22px}.eyebrow{font-size:9px;letter-spacing:.025em}.wordmark{font-size:23vw;line-height:1.45;margin:14px 0 20px}.hero-stamp{width:56px;height:56px;font-size:10px;top:12px;right:0;transform:rotate(15deg)}.hero-stamp span{font-size:15px}.logo-symbols{left:95%;top:45%}.hero-story{display:block;padding-bottom:12px}.hero-story h1{font-size:clamp(29px,8.4vw,60px);line-height:1.5;margin-bottom:25px}.hero-desc{font-size:13px;line-height:2}.hero-desc br{display:none}.button{display:inline-flex;font-size:12px;margin-top:16px;gap:28px}.mascot-lane{height:100px;margin-top:0}.hero-bottom{font-size:9px}.idea-strip{font-size:22px;padding:12px 0}.section{padding:72px 7%}.research h2{font-size:36px}.research-title{margin-bottom:40px}.research-art{height:245px;max-width:350px;margin:30px auto 0}.orbit{top:55px;height:110px}.orbit-core{top:25px;font-size:62px}.art-star{top:15px;font-size:45px}.profile-head h3{font-size:23px}.research-content>p{font-size:14px}.research-notes>div{grid-template-columns:90px 1fr}.research-notes p{font-size:12px}.service{grid-template-columns:36px 1fr;gap:12px}.service .number{font-size:28px}.service h3{font-size:22px}.service p:not(.service-en),.service ul{font-size:13px}.section-heading h2{font-size:32px}.about h2{font-size:36px}.steps h3{font-size:59px}.steps article:nth-child(2) h3,.steps article:nth-child(3) h3{transform:none}.contact h2{font-size:28px}.closing-mark{font-size:25vw;padding:12px 3%}footer{grid-template-columns:1fr;gap:10px}footer a:not(.brand){margin-left:0}}
@media(prefers-reduced-motion:reduce){.art-star,.tag{transition:none}}
