:root{--ink:#11110f;--paper:#f1efe8;--acid:#d9ff36;--orange:#ff4b19;--line:rgba(17,17,15,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP",sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%}.loader{position:fixed;inset:0;z-index:9999;background:var(--acid);display:grid;place-items:center;transition:transform .8s cubic-bezier(.76,0,.24,1)}.loader.done{transform:translateY(-105%)}.loader__mark{font-family:Anton,sans-serif;font-size:clamp(6rem,20vw,18rem);letter-spacing:-.04em;transform:skew(-8deg)}
.header{position:fixed;z-index:100;top:0;left:0;width:100%;height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;color:#fff;mix-blend-mode:difference}.logo{display:flex;align-items:center;gap:12px;line-height:.9}.logo>span{font:3.2rem/.8 Anton,sans-serif;letter-spacing:-.06em;transform:skew(-7deg)}.logo small{font-size:.55rem;font-weight:900;letter-spacing:.12em}.nav{display:flex;gap:2.6rem;font:700 .75rem/1 sans-serif;letter-spacing:.13em}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:2px;background:currentColor;transition:.3s}.nav a:hover:after{width:100%}.menu-button{display:none;background:none;border:0;width:44px;height:44px;padding:12px}.menu-button i{display:block;height:2px;background:#fff;margin:7px 0;transition:.3s}
.hero{position:relative;min-height:100svh;background:var(--ink);color:#fff;display:flex;align-items:flex-end;overflow:hidden;padding:12rem 6vw 6vh}.hero__noise{position:absolute;inset:0;opacity:.08;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.hero__copy{position:relative;z-index:3;width:100%}.eyebrow,.kicker{font-size:.72rem;font-weight:900;letter-spacing:.24em}.eyebrow:before,.kicker:before{content:"";display:inline-block;width:36px;height:3px;background:var(--acid);margin:0 12px 3px 0}.hero h1{margin:1rem 0 1.5rem;font:clamp(7rem,20vw,19rem)/.75 Anton,sans-serif;letter-spacing:-.045em;position:relative}.hero h1 span{display:block}.hero h1 .outline{color:transparent;-webkit-text-stroke:2px #fff;margin-left:12vw}.hero__bottom{display:flex;align-items:flex-end;justify-content:space-between}.hero__bottom>p{font-size:clamp(1rem,2vw,1.5rem);font-weight:700;letter-spacing:.12em}.circle-link{width:106px;height:106px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:grid;place-items:center;text-align:center;font:700 .6rem/1.7 sans-serif;letter-spacing:.15em;transition:.35s}.circle-link:hover{background:var(--acid);border-color:var(--acid);color:#111;transform:rotate(-8deg)}.circle-link b{font-size:1.1rem}.hero__visual{position:absolute;z-index:2;right:2vw;top:4vh;width:min(54vw,820px);height:86%;pointer-events:none}.hero__visual img{position:absolute;z-index:2;bottom:5%;right:0;max-height:90%;object-fit:contain;filter:drop-shadow(0 25px 35px rgba(0,0,0,.5));animation:float 4s ease-in-out infinite}.sun{position:absolute;width:min(42vw,640px);aspect-ratio:1;border-radius:50%;background:var(--orange);right:2%;top:12%}.speed-lines{position:absolute;inset:18% -20% auto auto;width:100%;height:45%;border-top:2px solid rgba(255,255,255,.3);border-bottom:2px solid rgba(255,255,255,.2);transform:rotate(-18deg)}.hero__side{position:absolute;right:1.3vw;bottom:30%;z-index:4;font:700 .58rem sans-serif;letter-spacing:.2em;writing-mode:vertical-rl}@keyframes float{50%{transform:translateY(-14px) rotate(1deg)}}
.ticker{background:var(--acid);overflow:hidden;white-space:nowrap;transform:rotate(-1.3deg) scale(1.02);position:relative;z-index:5}.ticker div{font:2.5rem/1.7 Anton,sans-serif;letter-spacing:.04em;animation:ticker 22s linear infinite;width:max-content}.ticker span{color:var(--orange);padding:0 1rem}@keyframes ticker{to{transform:translateX(-50%)}}
.section{padding:10rem 6vw}.section-index{font:700 .68rem sans-serif;letter-spacing:.18em;border-top:1px solid var(--line);padding-top:1rem;margin-bottom:5rem}.section-index.light{border-color:rgba(255,255,255,.25)}.about__lead{display:grid;grid-template-columns:1fr 2.4fr;align-items:start}.about__lead .kicker{margin-top:1.2rem}.about h2,.message h2{font-size:clamp(3rem,7vw,7rem);line-height:1.08;letter-spacing:-.07em;margin:0;font-weight:900}.about h2 em{font-style:normal;color:var(--orange)}.about__body{width:min(700px,58%);margin:5rem 0 7rem auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;line-height:2;font-size:.95rem}.values{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.value{padding:2rem 2rem 1rem 0;border-right:1px solid var(--line);min-height:280px}.value+ .value{padding-left:2rem}.value:last-child{border-right:0}.value>b{font:700 .7rem sans-serif;color:var(--orange)}.value h3{font:clamp(2.2rem,4vw,4rem)/.9 Anton,sans-serif;margin:3rem 0 2rem}.value p{font-size:.82rem;line-height:1.8;max-width:240px}
.project{background:var(--ink);color:white}.project__grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.project__title h2{font:clamp(6rem,13vw,13rem)/.76 Anton,sans-serif;letter-spacing:-.04em;margin:2rem 0}.project__title h2 span{color:var(--acid)}.project__tag{font:700 .7rem sans-serif;letter-spacing:.15em;border:1px solid rgba(255,255,255,.4);display:inline-block;padding:.8rem 1rem}.project__info{padding-top:3rem}.photo{position:relative;overflow:hidden;aspect-ratio:4/3}.photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.65))}.photo img{height:100%;object-fit:cover;filter:grayscale(100%);transition:.6s}.photo:hover img{filter:grayscale(0);transform:scale(1.03)}.photo span{position:absolute;z-index:2;bottom:1.2rem;left:1.2rem;font:700 .65rem sans-serif;letter-spacing:.15em}.project__info h3{font-size:clamp(1.7rem,3vw,3rem);line-height:1.45;margin:3rem 0 1.5rem}.project__info>p{color:#aaa;line-height:2;font-size:.9rem}.text-link{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #555;padding:1.2rem 0;margin-top:2rem;font:700 .75rem sans-serif;letter-spacing:.15em}.text-link span{font-size:1.4rem}.stats{margin-top:8rem;border-top:1px solid #444;display:grid;grid-template-columns:repeat(3,1fr)}.stats div{padding:2.5rem 0;border-right:1px solid #444}.stats div+div{padding-left:2.5rem}.stats strong{display:block;font:clamp(3rem,6vw,6rem)/1 Anton,sans-serif;color:var(--acid)}.stats span{font:700 .6rem sans-serif;letter-spacing:.14em;color:#999}
.message__wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:center}.portrait{position:relative;transform:rotate(-2deg);box-shadow:18px 18px 0 var(--acid)}.portrait img{filter:grayscale(100%);aspect-ratio:4/5;object-fit:cover}.portrait span{position:absolute;bottom:0;left:0;background:var(--orange);color:#fff;padding:.8rem 1rem;font:700 .6rem sans-serif;letter-spacing:.13em}.message__text .kicker:before{background:var(--orange)}.message__text h2{margin:2rem 0 3rem}.message blockquote{font-size:1.3rem;font-weight:700;line-height:1.7;margin:0 0 2rem;padding-left:1.5rem;border-left:5px solid var(--acid)}.message__text>p{font-size:.9rem;line-height:2}.signature{margin-top:3rem;border-top:1px solid var(--line);padding-top:1.5rem}.signature strong{font-size:1.4rem;margin-right:1.5rem}.signature span{font-size:.72rem;color:#666}
.contact{background:var(--orange);padding:10rem 6vw;text-align:center;color:#fff}.contact .kicker:before{background:var(--acid)}.contact h2{font:clamp(6rem,16vw,16rem)/.78 Anton,sans-serif;letter-spacing:-.04em;margin:2rem 0}.contact h2 span{color:var(--acid)}.contact>p:not(.kicker){font-size:.9rem;line-height:2}.contact__button{width:min(560px,90%);margin:4rem auto 0;border:2px solid #fff;padding:1.8rem 2rem;display:flex;justify-content:space-between;align-items:center;font:700 .8rem sans-serif;letter-spacing:.18em;transition:.3s}.contact__button b{font-size:1.8rem}.contact__button:hover{background:#fff;color:var(--orange)}footer{background:var(--ink);color:#fff;padding:4rem 6vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;font-size:.7rem}footer>p{text-align:center}footer>div{display:flex;flex-direction:column;align-items:flex-end;gap:1rem;color:#888}.logo--footer{width:max-content}.logo--footer>span{font-size:4rem}.reveal{opacity:0;transform:translateY(45px);transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){.header{height:72px;padding:0 5vw}.logo>span{font-size:2.6rem}.nav{position:fixed;inset:0;background:var(--ink);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2.2rem;font:2.6rem Anton,sans-serif;transform:translateX(100%);transition:.5s;z-index:-1}.nav.open{transform:none}.menu-button{display:block}.menu-button.active i:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-button.active i:last-child{transform:translateY(-4.5px) rotate(-45deg)}.hero{padding:9rem 5vw 4vh;align-items:flex-end}.hero h1{font-size:28vw;line-height:.78;margin-bottom:2.5rem}.hero h1 .outline{margin-left:0}.hero__visual{width:95vw;right:-18vw;top:11vh;height:64%}.sun{width:75vw;right:5%;top:10%}.hero__bottom>p{font-size:.8rem}.circle-link{width:80px;height:80px}.hero__side{display:none}.ticker div{font-size:1.7rem}.section{padding:7rem 5vw}.section-index{margin-bottom:3.5rem}.about__lead{display:block}.about__lead .kicker{margin-bottom:1.5rem}.about__body{width:100%;margin:3.5rem 0 5rem;grid-template-columns:1fr;gap:1rem}.values{grid-template-columns:1fr}.value,.value+ .value{padding:2rem 0;min-height:auto;border-right:0;border-bottom:1px solid var(--line)}.value h3{margin:1.5rem 0 1rem}.project__grid{grid-template-columns:1fr}.project__title h2{font-size:29vw}.project__info{padding-top:0}.stats{margin-top:5rem}.stats div,.stats div+div{padding:1.5rem .5rem}.stats strong{font-size:3rem}.stats span{font-size:.45rem}.message__wrap{grid-template-columns:1fr}.portrait{margin:0 1rem 3rem 0}.signature span{display:block;margin-top:.5rem}.contact{padding:7rem 5vw}.contact h2{font-size:24vw}.contact br{display:none}footer{grid-template-columns:1fr;gap:2rem;text-align:left}footer>p{text-align:left}footer>div{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.loader{display:none}.hero__visual img,.ticker div{animation:none}.reveal{opacity:1;transform:none;transition:none}}
