/* Art direction: dark editorial, silver type, electric blue, architectural lines. */
:root{--ink:#07090e;--panel:#0e1119;--text:#edf0f6;--dim:#a0a7b6;--line:#ffffff26;--blue:#4269ff;--ease:cubic-bezier(.2,.7,.2,1)}
body{font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;-webkit-font-smoothing:antialiased}::selection{background:#4269ff;color:#fff}a,button,summary{touch-action:manipulation}a{transition:color .25s,background .25s,border-color .25s,transform .4s var(--ease)}.reading-progress{position:fixed;left:0;top:0;width:100%;height:2px;background:#4269ff;transform:scaleX(0);transform-origin:left;z-index:100;pointer-events:none}header{padding:25px 5%;position:relative;z-index:10}.logo{font-size:24px;letter-spacing:-.06em}nav a{position:relative;padding:6px 0}nav a:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}nav a:hover:after{transform:scaleX(1)}.wrap{max-width:1440px;padding:0 6%}.eyebrow{font-family:Arial,sans-serif;font-weight:500;font-size:12px;letter-spacing:.16em}.button{border-radius:0;font-size:14px;padding:17px 32px;position:relative;transition:background .3s,transform .3s,border .3s}.button:hover{transform:translateY(-3px)}.button:active{transform:translateY(0)}.textlink{font-size:14px;letter-spacing:.03em;border-bottom:1px solid #6d768b;padding-bottom:6px}.textlink:hover{border-color:#6d8aff;color:#94acff}.section{padding:110px 0}.sectionhead{margin-bottom:60px}.sectionhead h2{margin-top:20px;font-weight:500;letter-spacing:-.045em;font-size:clamp(30px,3.6vw,48px)}.sectionhead p{max-width:400px}.muted{color:var(--dim)}.portfolio-page{background:var(--ink);color:var(--text)}.portfolio-page header{border-color:var(--line);background:#07090ef0}.portfolio-page .logo span{color:#7e98ff!important}.portfolio-page .hero{padding:36px 0 0;position:relative;isolation:isolate}.hero-topline{display:flex;justify-content:space-between;gap:20px;align-items:center}.hero-index{font-size:11px;color:#727b90;letter-spacing:.08em}.hero-composition{position:relative;padding:90px 0 80px}.hero-type{position:relative;z-index:2;pointer-events:none}.hero-word{display:block;font-size:clamp(80px,14.5vw,200px);font-weight:600;letter-spacing:-.075em;line-height:.89;background:linear-gradient(150deg,#fff 5%,#b2bacb 60%,#778299);background-clip:text;-webkit-background-clip:text;color:transparent}.hero-word.outline{font-size:clamp(44px,9.2vw,130px);font-weight:500;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px #929db5;background:none;margin-top:14px}.hero-period{-webkit-text-stroke:0;color:#5277ff}.orbital{position:absolute;right:2%;top:0;width:43%;aspect-ratio:1;z-index:0;perspective:800px;transform:translate3d(var(--pointer-x,0px),var(--pointer-y,0px),0);transition:transform 1.2s var(--ease);opacity:.85}.orbital:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,#4269ff35 0%,#182e8220 40%,transparent 69%)}.orbital-ring{position:absolute;inset:10%;border:1px solid #7591ff9c;border-radius:50%;box-shadow:inset 0 0 15px #4269ff15,0 0 20px #4269ff12}.r1{animation:orbitOne 22s linear infinite}.r2{inset:17%;border-color:#96a8d76b;animation:orbitTwo 29s linear infinite}.r3{inset:24%;border-color:#d5defd80;animation:orbitThree 25s linear infinite}.orbital-core{position:absolute;inset:34%;border:1px solid #f3f5ff5e;border-radius:50%;background:radial-gradient(circle at 32% 23%,#b8c8ff25,#15276e70 50%,#080b16 90%);box-shadow:0 0 90px #4269ff22}.orbital-label{position:absolute;right:10%;bottom:12%;font-size:10px;letter-spacing:.12em;color:#8493b9}.hero-bottom{display:grid;grid-template-columns:1fr auto;gap:55px;padding:0 0 65px}.portfolio-page .hero h1{font-size:clamp(25px,3vw,39px);line-height:1.5;letter-spacing:-.035em;margin:0 0 24px;font-weight:500}.portfolio-page .hero p{font-size:15px;color:#a0a7b6;max-width:590px}.hero-actions{display:flex;flex-direction:column;justify-content:end;align-items:flex-start;gap:20px}.hero-actions .button{margin:0;background:#edf0f6;color:#111622;border-color:#edf0f6;min-width:205px;text-align:center}.hero-actions .button:hover{background:#6687ff;border-color:#6687ff;color:white}.hero-actions .tiny{font-family:Arial;font-size:11px;letter-spacing:.05em}.hero-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:22px 0;font-family:Arial;font-size:10px;letter-spacing:.14em;color:#7b859a;gap:20px}.scroll-line{height:1px;flex:1;max-width:70px;position:relative;background:#2a3347}.scroll-line:before{content:"";position:absolute;height:100%;width:25px;left:0;background:#7797ff;animation:scrollPulse 2.5s ease-in-out infinite}.portfolio-page #works{border-color:var(--line)!important}.portfolio-page .eyebrow{color:#8ea6ff}.projects{display:block}.project-card{display:grid;grid-template-columns:1.6fr 1fr;gap:7%;align-items:center;margin-bottom:90px}.project-card:nth-child(2){grid-template-columns:1fr 1.6fr}.project-card:nth-child(2)>a{order:2}.project-card:nth-child(2) .project-info{order:1}.project-card:last-child{margin-bottom:0}.project-info{position:relative}.project-info:before{display:block;font-family:Arial;font-size:12px;letter-spacing:.14em;color:#637087;margin-bottom:30px}.project-card:nth-child(1) .project-info:before{content:"01 / HOSPITALITY"}.project-card:nth-child(2) .project-info:before{content:"02 / BUSINESS"}.project-card:nth-child(3) .project-info:before{content:"03 / PRODUCT"}.project-card h3{font-size:clamp(27px,3vw,42px);font-weight:500;margin:0 0 24px;letter-spacing:-.045em}.project-info p{font-size:15px;line-height:2}.tag{border:0;border-radius:0;background:#ffffff09;color:#aeb7ca;font-size:12px;letter-spacing:.05em;padding:5px 10px}.project-info .textlink{margin-top:30px}.preview{height:auto;aspect-ratio:1.4;padding:0;position:relative;background:#10141c!important;border:1px solid #ffffff15;overflow:hidden;transition:transform .6s var(--ease),border-color .4s,box-shadow .5s}.project-card>a:hover .preview{transform:translateY(-6px);border-color:#657ead8c;box-shadow:0 25px 80px #0006}.preview-bar{height:35px;padding:0 14px;display:flex;justify-content:space-between;align-items:center;gap:10px;color:#929dae;font-size:9px;font-family:Arial;letter-spacing:.08em;background:#151922}.preview-dots{letter-spacing:3px;font-size:7px;color:#495267}.preview-viewport{position:absolute;inset:35px 0 0;overflow:hidden}.preview iframe{width:1100px;height:760px;border:0;position:absolute;left:0;top:0;transform:scale(var(--preview-scale,.5));transform-origin:top left;pointer-events:none;background:#121619}.preview-open{position:absolute;bottom:18px;right:18px;font-size:10px;letter-spacing:.1em;padding:10px 14px;color:#fff;background:#060912ba;backdrop-filter:blur(8px);border:1px solid #ffffff30;transform:translateY(6px);transition:transform .4s,background .4s}.project-card>a:hover .preview-open{transform:translateY(0);background:#295fff}.portfolio-page .soft{background:#0d1018}.portfolio-page .service{border-color:#303849;padding:28px 0}.portfolio-page .service h3{font-weight:500;font-size:22px;letter-spacing:-.03em;margin:25px 0 20px}.portfolio-page .service p{font-size:15px;line-height:2}.portfolio-page .number{font-family:Arial;color:#839bda;font-size:12px;letter-spacing:.1em}.portfolio-page .grid:not(.projects){gap:45px}.portfolio-page .split{gap:12%;grid-template-columns:1fr 1.1fr}.portfolio-page .split h2{font-weight:500;letter-spacing:-.045em;font-size:clamp(30px,3.4vw,44px);margin-top:25px}.portfolio-page #about h3{font-weight:500;letter-spacing:.04em}.portfolio-page #about p{color:#acb3c2;line-height:2.1;font-size:15px}.portfolio-page .steps{gap:35px}.portfolio-page .step{border-color:#343b4b;padding-top:26px}.portfolio-page .step h3{font-size:18px;font-weight:500}.portfolio-page .step p{font-size:14px;line-height:2}.portfolio-page .contact{padding:110px 6%;background:linear-gradient(120deg,#101725,#07090f 75%);border-top:1px solid #ffffff20;position:relative}.portfolio-page .contact:before{content:"";position:absolute;top:0;left:6%;width:60px;height:2px;background:#6483ff}.portfolio-page .contact h2{font-weight:500;font-size:clamp(30px,3.5vw,48px);letter-spacing:-.045em;margin-top:25px}.portfolio-page .contact h3{font-weight:500;font-size:20px}.portfolio-page .contact p{color:#aab4c9;font-size:15px;max-width:530px}.portfolio-page .contact .tiny{font-size:14px}.portfolio-page .contact summary{border-color:#44516b;font-size:14px}.portfolio-page textarea{background:#0d1421;color:#ccd5e8;border:1px solid #35445f;font-size:14px}.portfolio-page .foot{border-top:1px solid var(--line);color:#758098;font-size:11px;letter-spacing:.06em;padding:30px 6%}.demo-strip{background:#07090e;border-bottom:1px solid #ffffff26;color:#9ba5b9;font-size:12px;letter-spacing:.025em;padding:12px 6%}.demo-strip a{color:#d0d8eb}.demo-hero{padding:85px 0 100px;gap:9%;grid-template-columns:1fr 1.2fr}.demo-hero h1{font-weight:400;line-height:1.3;letter-spacing:-.06em;font-size:clamp(44px,6vw,82px);margin:30px 0}.demo-hero p{font-size:15px;line-height:2.2}.cafe-page{background:#11150f;color:#e8e8df}.cafe-page header{border-color:#e3e7d422}.cafe-page .logo{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:25px;letter-spacing:.12em}.cafe-page nav{color:#b4bcaa}.cafe-page .eyebrow{color:#aab898!important}.cafe-page h1,.cafe-page h2{font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:400}.cafe-page .demo-hero img{height:560px;filter:brightness(.83) saturate(.7);border:1px solid #ffffff18;box-shadow:25px 25px 0 #ffffff04}.cafe-page .button{color:#10150d;background:#d1d8bc!important;border-color:#d1d8bc!important;font-weight:500;letter-spacing:.08em}.cafe-page .button:hover{background:#eef2df!important}.cafe-page .muted{color:#a6af9b}.cafe-page .section{border-top:1px solid #d5deca25}.cafe-page .split{gap:10%}.cafe-page .split h2{font-size:clamp(32px,4vw,49px);line-height:1.6;letter-spacing:-.055em}.cafe-page .menu{border-color:#d5deca25;padding:30px 0;gap:25px}.cafe-page .menu h3{font-weight:400;font-size:20px}.cafe-page .menu span{color:#919b81;font-size:14px;white-space:nowrap}.cafe-page .foot{border-top:1px solid #ffffff20;color:#8b9680}.corp-page{background:#080d14;color:#e6eef7}.corp-page header{border-color:#ffffff20}.corp-page .logo{letter-spacing:.12em;font-weight:500}.corp-page .corp-hero{background:#090f18;position:relative;overflow:hidden;padding:120px 0 100px;isolation:isolate;border-bottom:1px solid #ffffff20}.corp-hero .wrap{position:relative;z-index:2}.corp-page .corp-hero h1{font-size:clamp(44px,7vw,90px);font-weight:400;line-height:1.35;letter-spacing:-.06em;max-width:950px}.corp-page .corp-hero p{color:#aab8ca;font-size:15px}.corp-grid{position:absolute;inset:-30%;background-image:linear-gradient(#60749c22 1px,transparent 1px),linear-gradient(90deg,#60749c22 1px,transparent 1px);background-size:85px 85px;transform:perspective(500px) rotateX(60deg) rotateZ(-18deg);mask-image:linear-gradient(to left,black,transparent);animation:gridDrift 25s linear infinite}.corp-page .corp-hero:after{content:"";position:absolute;right:-15%;top:-50%;width:70%;aspect-ratio:1;background:radial-gradient(circle,#1e3d7345,transparent 65%)}.corp-page .button{background:#d6e3f3;color:#101a28;border-color:#d6e3f3;font-weight:500}.corp-page .button:hover{background:#fff;border-color:white}.corp-page .section{border-bottom:1px solid #ffffff1f}.corp-page .service{border-color:#516079!important;padding:30px 0}.corp-page .service h3{font-weight:400;margin:25px 0}.corp-page .service p,.corp-page .step p{color:#9caabd;font-size:15px;line-height:2}.corp-page h2{font-weight:400;letter-spacing:-.05em}.corp-page .number,.corp-page .eyebrow{color:#8eacd4}.corp-page .step{border-color:#3d4c60}.corp-page .step h3{font-weight:400}.corp-page .muted{color:#9caabd}.corp-page .demo-contact{border-color:#35445a;background:#0f1723;padding:45px}.corp-page .foot{color:#8292aa}.flow-page{background:#f0f2f8;color:#11172b}.flow-page .muted{color:#59677b}.flow-page header{border-color:#17213c20}.flow-page .logo{font-weight:600;letter-spacing:-.07em}.flow-page .flow-hero{position:relative;padding-top:110px;padding-bottom:85px}.flow-label{display:inline-block;font-size:11px;letter-spacing:.1em;padding:9px 14px;border:1px solid #14205040;margin-bottom:35px;color:#4d5a76}.flow-page .flow-hero h1{font-size:clamp(42px,6vw,78px);letter-spacing:-.065em;font-weight:500;line-height:1.3;margin:22px 0 30px}.flow-page .flow-hero p{color:#58647b;line-height:2;font-size:15px}.flow-page .flow-hero .button{background:#111a32;border-color:#111a32}.flow-page .button:hover{background:#4269ff;border-color:#4269ff}.workflow{gap:0;margin-top:65px;border:1px solid #1d315426;box-shadow:0 25px 80px #1724420c}.workflow div{padding:35px;border:0;background:#fff}.workflow .after{background:#1d39b2}.workflow h3{font-size:23px;font-weight:500;margin:20px 0}.workflow .after p{color:#d6dfff!important}.workflow .tiny{font-size:12px}.flow-page .soft{background:#e4e8f1;border-top:1px solid #12244520;border-bottom:1px solid #12244520}.flow-page h2{font-weight:500;letter-spacing:-.04em}.flow-page .service{padding:30px 0;border-color:#a4aec1}.flow-page .service h3{font-weight:500;font-size:23px;margin:24px 0}.flow-page .service p{color:#59677b;font-size:15px;line-height:2}.flow-page .number{font-size:12px;letter-spacing:.1em}.flow-page .faq details{padding:28px 0}.flow-page .faq summary{font-weight:500}.flow-page .faq details p{color:#59677b;font-size:15px}.flow-page .demo-contact{background:#111a32;color:#fff;border:0;padding:45px;margin-top:60px}.flow-page .demo-contact .button{background:white;color:#111a32;border-color:white}.flow-page .foot{border-top:1px solid #12244520;color:#59677b}.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(30px);transition:opacity .85s var(--ease),transform .85s var(--ease)}.motion-ready .reveal.in-view{opacity:1;transform:none}.hero-word{animation:titleEnter 1.2s var(--ease) both}.hero-word.outline{animation-delay:.12s}.hero-bottom{animation:titleEnter 1.2s .25s var(--ease) both}.is-preview .demo-strip,.is-preview .reading-progress{display:none}.is-preview .hero-word,.is-preview .hero-bottom{animation:none}.is-preview .reveal{opacity:1!important;transform:none!important}.is-preview .corp-grid{animation:none}
@keyframes titleEnter{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}@keyframes orbitOne{from{transform:rotateX(65deg) rotateY(15deg) rotateZ(0deg)}to{transform:rotateX(65deg) rotateY(15deg) rotateZ(360deg)}}@keyframes orbitTwo{from{transform:rotateX(20deg) rotateY(65deg) rotateZ(360deg)}to{transform:rotateX(20deg) rotateY(65deg) rotateZ(0deg)}}@keyframes orbitThree{from{transform:rotateX(55deg) rotateY(-45deg) rotateZ(0deg)}to{transform:rotateX(55deg) rotateY(-45deg) rotateZ(360deg)}}@keyframes scrollPulse{0%,100%{transform:translateX(0);opacity:.3}50%{transform:translateX(45px);opacity:1}}@keyframes gridDrift{from{background-position:0 0}to{background-position:85px 85px}}
@media(min-width:1500px){.hero-word{font-size:200px}.hero-word.outline{font-size:130px}}@media(max-width:900px){.project-card,.project-card:nth-child(2){grid-template-columns:1.3fr 1fr;gap:6%}.portfolio-page .grid:not(.projects){gap:25px}.hero-bottom{gap:25px}.orbital{right:-3%;width:52%;top:10%}.portfolio-page .steps{grid-template-columns:1fr 1fr}.demo-hero{gap:6%}.cafe-page .demo-hero img{height:450px}}
@media(max-width:760px){header{padding:20px 6%;gap:14px}nav{font-size:13px;gap:18px}.hero-index{display:none}.hero-topline .eyebrow{font-size:10px}.hero-composition{padding:75px 0 70px}.hero-word{font-size:clamp(82px,22vw,160px)}.hero-word.outline{font-size:clamp(37px,10.2vw,74px);letter-spacing:-.07em}.orbital{width:70%;right:-3%;top:0;opacity:.65}.orbital-label{display:none}.hero-bottom{grid-template-columns:1fr;padding-bottom:40px;gap:30px}.portfolio-page .hero h1{font-size:27px;line-height:1.55}.portfolio-page .hero p{font-size:14px}.hero-actions{gap:15px}.hero-actions .button{padding:14px 25px;min-width:190px}.hero-footer{font-size:9px;gap:12px}.hero-footer span:last-child{display:none}.section{padding:70px 0}.sectionhead{margin-bottom:35px}.sectionhead .tiny{font-size:13px}.project-card,.project-card:nth-child(2){display:flex;flex-direction:column;align-items:stretch;gap:30px;margin-bottom:60px}.project-card:nth-child(2)>a,.project-card:nth-child(2) .project-info{order:initial}.project-info:before{margin-bottom:13px;font-size:10px}.project-card h3{font-size:29px;margin-bottom:18px}.project-info p{font-size:14px}.project-info .textlink{margin-top:20px}.preview{aspect-ratio:1.3}.preview-bar{height:30px;font-size:8px;padding:0 10px}.preview-dots{display:none}.preview-viewport{inset:30px 0 0}.preview-open{font-size:9px;padding:8px 12px;right:12px;bottom:12px}.portfolio-page .split{grid-template-columns:1fr;gap:30px}.portfolio-page .grid:not(.projects){gap:15px}.portfolio-page .service{padding:25px 0}.portfolio-page .service h3{margin:15px 0}.portfolio-page .steps{gap:25px}.portfolio-page .step h3{font-size:16px}.portfolio-page .step p{font-size:13px}.portfolio-page .contact{padding:70px 6%;gap:35px}.portfolio-page .contact h2{font-size:32px}.portfolio-page .foot{font-size:10px}.demo-hero{grid-template-columns:1fr;padding:60px 0;gap:45px}.demo-hero h1{font-size:54px}.cafe-page .demo-hero img{height:400px;box-shadow:12px 12px 0 #ffffff04}.cafe-page .menu h3{font-size:17px}.cafe-page .menu span{font-size:12px}.cafe-page .menu p{font-size:14px}.corp-page .corp-hero{padding:75px 0}.corp-page .corp-hero h1{font-size:49px}.corp-grid{background-size:60px 60px;inset:-10%;opacity:.6}.corp-page .demo-contact,.flow-page .demo-contact{padding:25px}.flow-page .flow-hero{padding-top:70px;padding-bottom:60px}.flow-label{margin-bottom:20px;font-size:10px}.flow-page .flow-hero h1{font-size:45px}.workflow{grid-template-columns:1fr;margin-top:40px}.workflow div{padding:25px}.workflow h3{font-size:21px}.flow-page h2{font-size:30px!important}.flow-page .faq summary{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready .reveal{opacity:1;transform:none}.orbital{transform:none!important}.r1{transform:rotateX(65deg) rotateY(15deg)}.r2{transform:rotateX(20deg) rotateY(65deg)}.r3{transform:rotateX(55deg) rotateY(-45deg)}}
.wrap.section,.wrap.flow-hero{padding-left:6%;padding-right:6%}

.contact-button{background:#edf0f6;color:#111622;border-color:#edf0f6;margin-top:24px}.contact-button:hover{background:#6687ff;color:#fff;border-color:#6687ff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
