:root{--bg:#111019;--fg:#f3edf5;--muted:#aca0b4;--line:#393041;--pink:#efa4d3;--purple:#b39af7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:radial-gradient(ellipse at 100% 12%,#46265340,transparent 40%),var(--bg);color:var(--fg);font-family:Inter,Manrope,"Noto Sans JP",system-ui,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--pink);outline-offset:4px}.wrap{width:min(1190px,calc(100% - 80px));margin:auto}header{height:88px;border-bottom:1px solid #ffffff17;display:flex;align-items:center;justify-content:space-between;padding:0 max(40px,calc((100vw - 1190px)/2));gap:22px;position:relative;z-index:5}.logo{font-weight:800;letter-spacing:-1px;font-size:21px;white-space:nowrap}.logo span{color:var(--pink)}header nav{display:flex;gap:30px}header nav a{font-size:13px;color:#d0c3d4}header nav a:hover{color:var(--pink)}.controls{display:flex;gap:12px;align-items:center}.languages{position:relative}.languages>button{background:#ffffff0a;border:1px solid #53455e;border-radius:8px;padding:11px 15px;color:var(--fg);font-size:12px;white-space:nowrap}.languages>button:first-letter{color:var(--pink)}#languageMenu{position:absolute;top:calc(100% + 8px);right:0;min-width:155px;background:#262030;border:1px solid #53455e;border-radius:10px;padding:6px;box-shadow:0 18px 40px #0006}#languageMenu[hidden]{display:none}#languageMenu button{display:block;background:transparent;border:0;border-radius:6px;color:var(--fg);width:100%;padding:11px;text-align:left}#languageMenu button:hover,#languageMenu button[aria-checked=true]{background:#a789cb30;color:#f3b4e1}#menuButton{display:none;background:transparent;border:0;color:var(--fg);font-size:24px}.hero{padding-top:105px}.eyebrow{display:flex;gap:16px;align-items:center;color:#d5b7e0;font-size:10px;letter-spacing:1.7px}.code{color:#93829d}.hero-grid{display:grid;grid-template-columns:1.35fr .65fr;align-items:center;gap:30px;padding-top:80px}.hero small,.contact small{font-size:11px;color:var(--purple);letter-spacing:2px}.hero h1{font-size:clamp(50px,7.2vw,98px);letter-spacing:-5px;line-height:1.13;margin:20px 0 28px;font-weight:850}.hero h1 em{font-style:normal;white-space:nowrap;background:linear-gradient(100deg,#e4d8ff,#bba0f7 50%,#f3a0d1);background-clip:text;-webkit-background-clip:text;color:transparent}.hero p{max-width:570px;color:#bcb1c3;line-height:1.9;font-size:16px}.actions{display:flex;align-items:center;gap:27px;margin-top:35px;flex-wrap:wrap}.actions a{font-size:13px}.cta{background:linear-gradient(110deg,#ad8ce5,#e7a0c9);color:#211427;border-radius:8px;padding:17px 22px;font-weight:750}.cta:hover{box-shadow:0 10px 35px #bb81e04d}.planet-area{min-width:0}.planet{width:min(100%,320px);aspect-ratio:1;position:relative;margin:auto;display:grid;place-items:center}.planet-body{width:75%;height:75%;border-radius:50%;background:radial-gradient(circle at 27% 23%,#ffe4fa,#c29af3 19%,#7754aa 48%,#211832 85%);box-shadow:0 0 90px #9a63cd40,inset -20px -22px 35px #140e2c;animation:float 7s ease-in-out infinite}.planet-ring{position:absolute;inset:32% 0;border:1px solid #d6aff08a;border-radius:50%;transform:rotate(-33deg)}.planet>span{position:absolute;right:7%;top:15%;color:#f5c1df;font-size:32px}.planet-caption{display:flex;justify-content:space-between;gap:10px;color:#93839d;font-size:9px;letter-spacing:1px}@keyframes float{50%{transform:translateY(-12px)}}.hero-foot{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding:85px 0 40px}.hero-foot small{color:#a497b0;font-size:10px;letter-spacing:1.3px}.clock{display:flex;gap:15px;align-items:baseline;margin:10px 0}.clock time{font-size:28px;font-weight:750;font-variant-numeric:tabular-nums}.clock span{color:var(--purple);font-size:11px}#date{color:#a99aaf;font-size:12px}.scroll{font-size:11px;color:#a597ac}.section{padding-top:125px}.section-id{display:flex;gap:25px;align-items:center;font-size:11px;letter-spacing:2px;color:var(--purple)}.section-id i{height:1px;background:var(--line);flex:1}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:60px}h2{font-size:clamp(40px,5vw,66px);letter-spacing:-3px;line-height:1.15;margin:0}.about-grid p,.contact p{color:#b2a7b8;line-height:1.95;font-size:15px}.about-grid .lead{font-size:20px;color:#eee2f0;line-height:1.7;margin-top:0}.tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}.tags span{border:1px solid #5a4564;border-radius:6px;color:#dec5e6;padding:9px 13px;font-size:12px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:65px 0 35px}.section-title p{color:#ac9fb3;font-size:14px}.projects{display:grid;grid-template-columns:1fr 1fr;gap:22px}.project{background:#1b1722;border:1px solid #403447;border-radius:12px;overflow:hidden;transition:transform .2s,border-color .2s}.project:hover{transform:translateY(-5px);border-color:#b28cc8}.art{height:300px;position:relative;padding:22px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.art small{font-size:9px;letter-spacing:1.8px;color:#d6c2db;position:relative;z-index:1}.rain{background:radial-gradient(ellipse at 70% 50%,#67466a88,transparent 60%),repeating-linear-gradient(102deg,#1c1b29 0 19px,#343041 20px,#1c1b29 21px 43px)}.rain strong{font-size:clamp(38px,5vw,65px);letter-spacing:-3px;line-height:.98;position:relative;z-index:1}.observatory{background:radial-gradient(circle,#614b7d,#252039 55%,#121522)}.radar{position:absolute;width:210px;height:210px;border:1px solid #c4a7df66;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;background:repeating-radial-gradient(circle,transparent 0 39px,#b49acb4d 40px,transparent 41px)}.radar:before,.radar:after{content:'';position:absolute;background:#b49acb50}.radar:before{width:1px;height:100%}.radar:after{height:1px;width:100%}.radar span{color:#f1b1d9;font-size:40px;z-index:1}.project-text{padding:24px;display:flex;justify-content:space-between;gap:15px}.project-text small{color:var(--pink);font-size:10px;letter-spacing:1px;text-transform:uppercase}.project-text h3{font-size:22px;margin:9px 0}.project-text p{font-size:13px;color:#aea1b3;line-height:1.6;margin:0}.project-text b{color:var(--pink);font-size:25px}.contact{padding-bottom:145px}.contact-grid{display:flex;justify-content:space-between;align-items:end;gap:40px;padding-top:70px}.contact h2{margin:20px 0}.contact p{max-width:430px}.contact-grid>a{display:flex;justify-content:space-between;gap:55px;white-space:nowrap;border-bottom:1px solid var(--pink);padding-bottom:13px;color:#f2c9e5;font-size:14px}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;padding:32px 0 40px}footer small{font-size:10px;color:#9d8ca5}@media(max-width:850px){header nav{gap:13px}.hero-grid{gap:10px}.hero h1{font-size:clamp(50px,7vw,75px)}.about-grid{gap:35px}}@media(max-width:680px){.wrap{width:calc(100% - 40px)}header{height:70px;padding:0 20px}header nav{display:none;position:absolute;top:70px;left:0;right:0;background:#261e30;padding:22px;flex-direction:column;gap:22px;border-bottom:1px solid #564260}header nav.open{display:flex}#menuButton{display:block}.hero{padding-top:65px}.eyebrow{font-size:9px;gap:8px;letter-spacing:.7px}.hero-grid{display:flex;flex-direction:column;align-items:stretch;padding-top:55px;gap:30px}.hero h1{font-size:clamp(43px,10vw,65px);letter-spacing:-3px}.hero p{font-size:14px}.planet-area{width:min(270px,100%);align-self:center}.planet{width:215px}.hero-foot{padding:55px 0 35px}.scroll{display:none}.section{padding-top:90px}.about-grid,.projects{grid-template-columns:1fr}.about-grid{gap:20px;padding-top:40px}.section-title{align-items:start;flex-direction:column;gap:10px;margin:45px 0 25px}.section-title p{margin:0}.art{height:265px}.rain strong{font-size:55px}.contact{padding-bottom:95px}.contact-grid{align-items:start;flex-direction:column;padding-top:45px}footer{flex-wrap:wrap}footer small:last-child{width:100%}h2{letter-spacing:-2px}}@media(max-width:380px){.hero h1{font-size:41px}.logo{font-size:18px}.languages>button{padding:9px 8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}