@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#faf9f8;--bg-soft:#f5f4f3;--surface:#fff;--ink:#14181f;--text-2:#4b5563;--text-3:#8a94a6;--brand:#d9222a;--brand-strong:#b2161d;--brand-soft:#d9222a0d;--sky:#ff9e99;--line:#dfe4ec;--line-strong:#050a122e;--card-line:#e3e8f0;--dark:#020305;--dark-2:#06080a;--dark-line:#ffffff26;--dark-ink:#f4f6f5;--dark-ink-2:#c2c9d2;--dark-ink-3:#8a94a6;--font-sans:"Geist", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-h1:clamp(38px, 4.4vw, 60px);--fs-h2:clamp(26px, 3vw, 40px);--fs-statement:clamp(28px, 3.6vw, 48px);--r-sm:8px;--r-md:10px;--r-lg:12px;--shadow-card:0 18px 40px #10264c1a;--shadow-lg:0 18px 48px #10264c29;--container:1200px;--pad:clamp(22px, 4.2vw, 72px);--header-h:73px;--section-pad:clamp(72px, 8vw, 120px);--ease-out:cubic-bezier(.215, .61, .355, 1);font-family:var(--font-sans)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.75}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font-family:inherit}img{max-width:100%}::selection{background:#d9222a29}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section-shell{width:min(var(--container), calc(100% - var(--pad) * 2));margin:0 auto}.page-section{padding:var(--section-pad) 0;scroll-margin-top:var(--header-h);position:relative}.section-intro{max-width:680px}.section-figure{border:1px solid var(--card-line);border-radius:var(--r-md,12px);background:var(--surface);margin:clamp(28px,4vw,48px) 0;overflow:hidden}.section-figure img{aspect-ratio:5/2;object-fit:cover;width:100%;display:block}.about-section .section-figure{margin-bottom:0}.brand-film{background:#0d1c26;position:relative}.brand-film:before,.brand-film:after{content:"";z-index:1;pointer-events:none;position:absolute;left:0;right:0}.brand-film:before{background:linear-gradient(#060203 0%,#0000 100%);height:clamp(60px,12vh,140px);top:0}.brand-film:after{background:linear-gradient(#0000 0%,#0d1c26 100%);height:clamp(90px,18vh,220px);bottom:0}.brand-film video{object-fit:cover;width:100%;height:88vh;transition:opacity .3s;display:block}.brand-film video.is-looping{opacity:0}@media (width<=800px){.brand-film video{aspect-ratio:1280/714;height:auto}}.services-grid{gap:6px;margin-top:clamp(32px,4.5vw,56px);display:flex}.service-card{border-radius:var(--r-sm,10px);isolation:isolate;cursor:pointer;min-width:0;height:clamp(380px,34vw,490px);transition:flex-grow .6s var(--ease-out);background:#0c0405;flex:1 1 0;position:relative;overflow:hidden}.services-grid .service-card:hover{flex-grow:2.6}.service-card-bg{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease-out), filter .6s ease;filter:saturate(.92);position:absolute;inset:0;transform:scale(1.02)}.service-card-overlay{background:linear-gradient(#08050652 0%,#0805066b 55%,#080506a8 100%);transition:background .5s;position:absolute;inset:0}.service-card-body{z-index:1;color:#f4f6f5;text-align:center;transition:transform .5s var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px 16px;display:flex;position:absolute;inset:0}.service-card-icon{color:#fff;margin-bottom:2px}.service-card h3{letter-spacing:.02em;white-space:nowrap;margin:0;font-size:16px;font-weight:600}.service-card-en{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#fff9;white-space:nowrap;font-size:9px}.service-card-desc{color:#ffffffe0;opacity:0;width:300px;max-height:0;margin:2px auto 0;font-size:12.5px;line-height:1.7;overflow:hidden}.service-card:hover .service-card-bg{filter:saturate();transform:scale(1.09)}.service-card:hover .service-card-overlay{background:linear-gradient(#0805066b 0%,#780c1180 60%,#60080db8 100%)}.service-card:hover .service-card-desc{opacity:1;max-height:170px;transition:none}.section-eyebrow{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:12px;margin:0;font-size:11px;display:flex}.section-eyebrow-index{color:var(--brand)}.section-eyebrow-line{background:#d9222a8c;flex:0 0 27px;width:27px;height:1px}.section-intro h2{font-size:var(--fs-h2);letter-spacing:-.02em;text-wrap:balance;margin:24px 0 20px;font-weight:580;line-height:1.2}.title-line{margin-bottom:-.1em;padding-bottom:.1em;display:block;overflow:hidden}.title-line-inner{transition:transform .9s var(--ease-out) calc(.14s + var(--i,0) * 90ms);display:block;transform:translateY(112%)}.reveal.is-visible .title-line-inner{transform:none}.section-intro-desc{max-width:520px;color:var(--text-2);margin:0;font-size:15px;line-height:1.85}.br-wide{display:none}.reveal{opacity:0;transition:opacity 1.1s var(--ease-out) calc(var(--delay,0s) + var(--i,0) * 80ms), transform 1.1s var(--ease-out) calc(var(--delay,0s) + var(--i,0) * 80ms);transform:translateY(72px)}.reveal.is-visible{opacity:1;transform:none}.service-card.reveal{transition:opacity 1.1s var(--ease-out) calc(var(--delay,0s) + var(--i,0) * 80ms), transform 1.1s var(--ease-out) calc(var(--delay,0s) + var(--i,0) * 80ms), flex-grow .75s cubic-bezier(.25, .7, .3, 1)}.hero-enter{opacity:0}body.is-entered .hero-enter{animation:hero-in 1.1s var(--ease-out) calc(var(--delay,0s) + var(--i,0) * 80ms) forwards}@keyframes hero-in{0%{opacity:0;transform:translateY(72px)}to{opacity:1;transform:none}}.splash{z-index:200;background:radial-gradient(circle at 72% 68%,#d9222a24,#0000 46%),#070405;justify-content:center;align-items:center;transition:transform .7s cubic-bezier(.65,0,.35,1);display:flex;position:fixed;inset:0}.splash-inner{flex-direction:column;align-items:center;gap:26px;transition:opacity .28s;display:flex}.splash-logo{align-items:center;gap:14px;display:flex}.splash-logo-mark{object-fit:contain;width:44px;height:44px}.splash-logo-text{flex-direction:column;gap:3px;display:flex}.splash-logo-text strong{color:#f4f6f5;letter-spacing:.14em;font-size:19px;font-weight:600}.splash-logo-text em{color:#ffffff73;font-family:var(--font-mono);letter-spacing:.32em;font-size:10px;font-style:normal}.splash-bar{background:#ffffff1f;border-radius:2px;width:220px;height:2px;overflow:hidden}.splash-bar i{background:var(--brand);width:0;height:100%;animation:splash-fill 1.25s var(--ease-out) forwards;border-radius:2px;display:block}.splash.is-exiting .splash-bar i{width:100%;transition:width .2s;animation:none}@keyframes splash-fill{to{width:86%}}.splash-hint{color:#ffffff61;font-family:var(--font-mono);letter-spacing:.42em;margin:0;font-size:10px;animation:1.4s ease-in-out infinite splash-blink}@keyframes splash-blink{50%{opacity:.35}}.splash.is-exiting{transform:translateY(-100%)}.splash.is-exiting .splash-inner{opacity:0}.site-header{z-index:90;height:var(--header-h);padding:0 max(var(--pad), env(safe-area-inset-right)) 0 max(var(--pad), env(safe-area-inset-left));-webkit-backdrop-filter:blur(13px);background:linear-gradient(#fffffff0,#ffffffc7);border-bottom:1px solid #0a142814;justify-content:space-between;align-items:center;gap:24px;display:flex;position:fixed;inset:0 0 auto}.brand{align-items:center;gap:12px;width:fit-content;display:inline-flex}.brand-mark{object-fit:contain;flex-shrink:0;width:34px;height:34px}.brand-text{flex-direction:column;gap:1px;line-height:1.2;display:flex}.brand-text strong{letter-spacing:.1em;font-size:13px;font-weight:650}.brand-text small{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;font-size:9px}.site-nav{color:var(--text-2);align-items:center;gap:clamp(20px,2.8vw,44px);font-size:13px;display:flex}.site-nav a{min-height:var(--header-h);align-items:center;transition:color .3s;display:inline-flex;position:relative}.site-nav a:after{content:"";background:var(--brand);transform-origin:100%;height:1px;transition:transform .45s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:19px;left:0;right:0;transform:scaleX(0)}.site-nav a:hover,.site-nav a.is-active{color:var(--ink)}.site-nav a:hover:after,.site-nav a.is-active:after{transform-origin:0;transform:scaleX(1)}.site-nav a.nav-cta{background:var(--brand);color:#fff;border-radius:99px;min-height:40px;margin-left:clamp(2px,.6vw,10px);padding:0 20px;font-weight:500;transition:background .3s,transform .3s,box-shadow .3s}.site-nav a.nav-cta:after{display:none}.site-nav a.nav-cta:hover{background:var(--brand-strong);color:#fff;transform:translateY(-1px);box-shadow:0 8px 20px #d9222a47}.site-nav a.nav-lang{border:1px solid var(--line-strong);min-height:40px;color:var(--text-2);font-family:var(--font-mono);letter-spacing:.12em;border-radius:99px;margin-left:clamp(2px,.6vw,10px);padding:0 14px;font-size:11px;transition:color .3s,border-color .3s}.site-nav a.nav-lang:after{display:none}.site-nav a.nav-lang:hover{color:var(--ink);border-color:var(--ink)}.menu-button{width:42px;height:42px;color:var(--ink);cursor:pointer;background:0 0;border:none;place-items:center;display:none}.hero{min-height:100svh;padding-top:var(--header-h);color:var(--dark-ink);background:#060203;flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}.hero-earth{pointer-events:none;position:absolute;inset:0}.hero-earth canvas{width:100%;height:100%;display:block}.hero-earth-labels{position:absolute;inset:0;overflow:hidden}.hero-earth-label{font-family:var(--font-mono);letter-spacing:.16em;color:#ffffffe0;white-space:nowrap;opacity:0;will-change:transform, opacity;align-items:center;gap:7px;font-size:10px;transition:opacity .3s;display:flex;position:absolute;top:0;left:0}.hero-earth-label i{background:#ff8a84;border-radius:50%;width:5px;height:5px;box-shadow:0 0 8px #ff8a84e6}.hero-earth-label.is-accent{color:#ff6d66;border-bottom:1px solid #ff6d668c;padding-bottom:3px;font-weight:600}.hero-earth-label.is-accent i{width:7px;height:7px}.hero-shade{pointer-events:none;background:linear-gradient(90deg,#060203d9 0%,#06020385 46%,#0602032e 100%),linear-gradient(#0000 58%,#0602038c 100%);position:absolute;inset:0}.hero-grid{inset:var(--header-h) 0 0;opacity:.13;pointer-events:none;background-image:linear-gradient(#ffffff1f 1px,#0000 1px),linear-gradient(90deg,#ffffff1f 1px,#0000 1px);background-size:8vw 8vw;position:absolute;-webkit-mask-image:linear-gradient(90deg,#0000 14%,#000 60%,#0000);mask-image:linear-gradient(90deg,#0000 14%,#000 60%,#0000)}.hero-visual{object-fit:cover;opacity:.06;filter:grayscale();mix-blend-mode:screen;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero-canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero-main{z-index:1;padding:clamp(48px,8vh,96px) 0 clamp(40px,6vh,72px);position:relative}.hero-kicker{color:#a7b0ba;font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:12px;margin:0;font-size:11px;display:flex}.hero-kicker>span{background:#ff7a72;width:27px;height:1px}.hero-kicker>.hero-kicker-text{background:0 0;align-items:baseline;width:auto;height:auto;min-height:1em;display:inline-flex}.type-cursor{background:#ff7a72;width:7px;height:1.05em;margin-left:4px;transition:opacity .5s .5s;animation:.9s step-end infinite cursor-blink;display:inline-block;transform:translateY(2px)}.type-cursor.is-done{opacity:0;animation:none}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.hero-title{font-size:var(--fs-h1);letter-spacing:-.01em;margin:30px 0 26px;font-weight:600;line-height:1.15}.hero-line{display:block}.hero-word{white-space:nowrap;display:inline-block}.hero-char-mask{vertical-align:bottom;display:inline-block;overflow:hidden}.hero-char{opacity:0;display:inline-block;transform:translateY(112%)}body.is-entered .hero-char{animation:hero-char-in .8s var(--ease-out) forwards;animation-delay:calc(.24s + var(--i,0) * var(--char-step,46ms))}.hero-char.is-accent{color:#ff6d66}@keyframes hero-char-in{60%{opacity:1}to{opacity:1;transform:translateY(0)}}.hero-fade{opacity:0;transform:translateY(18px)}body.is-entered .hero-fade{animation:hero-fade-in .9s var(--ease-out) forwards;animation-delay:var(--delay,0s)}@keyframes hero-fade-in{to{opacity:1;transform:translateY(0)}}.stroke-text{isolation:isolate;width:fit-content;display:block;position:relative}.stroke-text-outline,.stroke-text-fill{font:inherit;letter-spacing:inherit;white-space:pre}.stroke-text-outline{color:#0000;-webkit-text-fill-color:transparent;-webkit-text-stroke:var(--stroke-width,1.6px) var(--stroke,#96b6ff8c)}.stroke-text-fill{z-index:1;color:var(--stroke-fill,#fff1f0);-webkit-text-fill-color:var(--stroke-fill,#fff1f0);-webkit-text-stroke:var(--stroke-width,1.6px) var(--stroke-fill,#fff1f0);clip-path:inset(100% 0 0);animation:stroke-fill var(--stroke-duration,1.1s) cubic-bezier(.77, 0, .175, 1) var(--stroke-delay,0s) forwards;position:absolute;inset:0}@keyframes stroke-fill{0%{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}.hero-lead{width:min(520px,92%);color:var(--dark-ink-2);margin:0;font-size:15px;line-height:1.8}.hero-links{flex-wrap:wrap;gap:18px 28px;margin-top:26px;display:flex}.hero-link{border-bottom:1px solid #747b81;align-items:baseline;gap:8px;padding-bottom:9px;font-size:13px;transition:border-color .3s,color .3s;display:inline-flex}.hero-link span{color:#ff7a72}.hero-link:hover{border-color:#fff1f0}.hero-metrics{z-index:1;border-top:1px solid var(--dark-line);position:relative}.hero-metrics-inner{grid-template-columns:repeat(4,1fr);display:grid}.metric{flex-direction:column;gap:7px;padding:22px 0 26px;display:flex}.metric+.metric{border-left:1px solid #ffffff14;padding-left:24px}.metric strong{letter-spacing:-.01em;font-size:clamp(19px,1.7vw,24px);font-weight:560}.metric span{color:var(--dark-ink-3);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;font-size:10px}.hero-scroll-cue{right:var(--pad);z-index:1;color:#747d86;font-family:var(--font-mono);letter-spacing:.17em;writing-mode:vertical-rl;align-items:center;gap:14px;font-size:10px;display:flex;position:absolute;bottom:clamp(150px,22vh,220px)}.hero-scroll-cue i{background:#ffffff2e;width:1px;height:58px;overflow:hidden}.hero-scroll-cue i:after{content:"";background:#ff9e99;width:1px;height:22px;animation:2s ease-in-out infinite scroll-drop;display:block}@keyframes scroll-drop{0%{transform:translateY(-24px)}to{transform:translateY(60px)}}.horizon{background:linear-gradient(#0d1c26 0%,#160506 26%,#5c0d12 60%,#a01219 86%,#faf9f8 100%);height:clamp(220px,36vh,420px);position:relative;overflow:hidden}.horizon:before{content:"";opacity:.55;background-image:linear-gradient(#7fa8ff1f 1px,#0000 1px),linear-gradient(90deg,#7fa8ff1f 1px,#0000 1px);background-size:8vw 8vw;position:absolute;inset:4% 0 10%;-webkit-mask-image:radial-gradient(#000,#0000 70%);mask-image:radial-gradient(#000,#0000 70%)}.horizon:after{content:"";aspect-ratio:1;border:1px solid #ff948861;border-radius:50%;width:104vw;position:absolute;bottom:-34vw;left:50%;transform:translate(-50%)rotateX(70deg);box-shadow:0 -25px 100px #d9222a38,inset 0 30px 110px #a0121947}.about-section{background:var(--paper)}.about-grid{grid-template-columns:1.15fr .85fr;gap:clamp(40px,5vw,80px);display:grid}.about-copy{margin-top:32px}.about-copy p{max-width:560px;color:var(--text-2);margin:0 0 24px;font-size:15px;line-height:1.85}.about-copy p:last-child{margin-bottom:0}.about-highlights{align-self:start}.about-highlight{border-top:1px solid var(--line-strong);grid-template-columns:52px 1fr;gap:20px;padding:24px 0 22px;display:grid}.about-highlight:last-child{border-bottom:1px solid var(--line-strong)}.about-highlight-index{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.16em;font-size:11px}.about-highlight h3{letter-spacing:-.01em;margin:0 0 10px;font-size:19px;font-weight:500}.about-highlight p{color:var(--text-2);margin:0;font-size:14px;line-height:1.8}.business-section{background:var(--surface)}.business-list{margin-top:52px}.business-row{border-top:1px solid var(--line);border-radius:var(--r-md);grid-template-columns:52px minmax(150px,.8fr) 1.5fr 40px;align-items:center;gap:24px;min-height:96px;margin-inline:-14px;padding:20px 14px;transition:background .3s;display:grid}.business-row:last-child{border-bottom:1px solid var(--line)}.business-row:hover{background:var(--brand-soft)}.business-index{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.16em;font-size:11px}.business-row h3{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:500}.business-main p{color:var(--text-2);margin:0;font-size:13px;line-height:1.65}.business-scene{color:var(--text-3)!important;margin-top:7px!important;font-size:12px!important}.business-arrow{color:var(--brand);justify-self:end;font-size:16px;transition:transform .3s}.business-row:hover .business-arrow{transform:translate(3px,-3px)}.projects-section{background:var(--paper)}.projects-grid{grid-template-columns:repeat(2,1fr);gap:24px;margin-top:56px;display:grid}.project-card{border:1px solid var(--card-line);border-radius:var(--r-lg);background:var(--surface);cursor:pointer;min-width:0;padding:14px 14px 22px;transition:transform .4s,box-shadow .4s}.project-card:hover{box-shadow:var(--shadow-card);transform:translateY(-4px)}.project-card:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.project-visual{aspect-ratio:1/.5;border-radius:var(--r-sm);background:linear-gradient(135deg,#f1efec,#e7e4e0);position:relative;overflow:hidden}.project-visual img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .35s ease, transform .6s var(--ease-out);display:block}.project-visual.is-loaded img{opacity:1}.project-visual:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(135deg,#06080c85,#0000 42%);position:absolute;inset:0}.project-card:hover .project-visual img{transform:scale(1.025)}.project-visual>span{z-index:2;color:#a4adb2;font-family:var(--font-mono);letter-spacing:.16em;font-size:10px;position:absolute;top:17px;left:17px}.project-body{padding:20px 6px 0}.project-status{border:1px solid var(--line-strong);color:var(--text-2);font-family:var(--font-mono);letter-spacing:.12em;border-radius:99px;padding:5px 11px;font-size:10px;display:inline-block}.project-body h3{letter-spacing:-.01em;margin:14px 0 10px;font-size:20px;font-weight:500}.project-body>p{color:var(--text-2);margin:0;font-size:13px;line-height:1.7}.project-points{border-top:1px solid #e8ecf2;margin:16px 0 0;padding:14px 0 0;list-style:none}.project-points li{color:var(--text-2);align-items:center;gap:10px;padding:3px 0;font-size:13px;display:flex}.project-points li:before{content:"";background:var(--brand);flex-shrink:0;width:10px;height:1px}.project-more{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.16em;align-items:center;gap:6px;margin-top:16px;font-size:10px;transition:color .3s;display:inline-flex}.project-more:after{content:"↗";font-family:inherit;transition:transform .3s}.project-card:hover .project-more{color:var(--brand)}.project-card:hover .project-more:after{transform:translate(2px,-2px)}.project-card--featured{grid-column:1/-1;grid-template-columns:minmax(0,45%) minmax(0,1fr);padding:0;display:grid}.project-card--featured .project-visual{aspect-ratio:auto;border-radius:var(--r-lg) 0 0 var(--r-lg);height:100%;min-height:340px}.project-card--featured .project-body{flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(26px,3vw,42px);display:flex}.project-card--featured .project-body h3{font-size:24px}.project-card--featured .project-body>p{font-size:14px}.project-modal-backdrop{z-index:90;-webkit-backdrop-filter:blur(12px);background:#080607b8;justify-content:center;align-items:center;padding:28px;animation:.3s modal-fade;display:flex;position:fixed;inset:0}.project-modal{border-radius:var(--r-lg);background:var(--paper);width:min(1180px,100%);height:min(86vh,780px);animation:modal-pop .4s var(--ease-out);border:1px solid #fff6;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);display:grid;position:relative;overflow:hidden;box-shadow:0 60px 160px #0504068c}.project-modal-backdrop.is-closing{pointer-events:none;animation:.26s forwards modal-fade-out}.project-modal-backdrop.is-closing .project-modal{animation:modal-pop-out .26s var(--ease-out) forwards}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-fade-out{to{opacity:0}}@keyframes modal-pop{0%{opacity:0;transform:translateY(18px)scale(.98)}}@keyframes modal-pop-out{to{opacity:0;transform:translateY(14px)scale(.98)}}.project-modal-close{z-index:3;border:1px solid var(--card-line);-webkit-backdrop-filter:blur(8px);width:38px;height:38px;color:var(--text-2);cursor:pointer;background:#ffffffe0;border-radius:50%;justify-content:center;align-items:center;transition:color .3s,border-color .3s,transform .3s;display:flex;position:absolute;top:18px;right:18px}.project-modal-close:hover{color:var(--brand);border-color:var(--brand);transform:rotate(90deg)}.project-modal-side{background:linear-gradient(160deg,#181114 0%,#0d0a0c 55%,#130b0e 100%);min-height:320px;position:relative;overflow:hidden}.project-gallery-loading{border:1px solid #ffffff29;border-top-color:var(--brand);border-radius:50%;width:26px;height:26px;margin:-13px 0 0 -13px;animation:.9s linear infinite gallery-spin;position:absolute;top:42%;left:50%}@keyframes gallery-spin{to{transform:rotate(360deg)}}.project-gallery-bg{object-fit:cover;filter:blur(30px)brightness(.5)saturate(1.1);opacity:0;width:100%;height:100%;transition:opacity .45s;position:absolute;inset:0;transform:scale(1.25)}.project-gallery-bg.is-loaded{opacity:1}.project-gallery-image{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity .35s ease, transform .6s var(--ease-out);padding:28px 28px 108px;display:block;position:absolute;inset:0;transform:scale(1.04)}.project-gallery-image.is-loaded{opacity:1;transform:scale(1)}.project-gallery-count{-webkit-backdrop-filter:blur(6px);color:#ffffffbf;font-family:var(--font-mono);letter-spacing:.16em;background:#08090c8c;border-radius:99px;padding:6px 10px;font-size:11px;position:absolute;top:20px;left:22px}.project-gallery-overlay{background:linear-gradient(#0000,#06040673 42%,#060406e6);flex-direction:column;gap:16px;padding:90px 28px 24px;display:flex;position:absolute;bottom:0;left:0;right:0}.project-gallery-caption{color:#ffffffd1;margin:0;font-size:13px;line-height:1.7}.project-gallery-nav{justify-content:space-between;align-items:center;display:flex}.project-gallery-dots{gap:8px;display:flex}.project-gallery-dot{cursor:pointer;background:#ffffff38;border:none;border-radius:2px;width:18px;height:3px;padding:0;transition:background .3s}.project-gallery-dot.is-active{background:var(--brand)}.project-gallery-arrows{gap:8px;display:flex}.project-gallery-arrows button{color:#ffffffb8;cursor:pointer;background:0 0;border:1px solid #ffffff38;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:color .3s,border-color .3s;display:flex}.project-gallery-arrows button:hover{color:#fff;border-color:var(--brand)}.project-modal-body{scrollbar-width:thin;flex-direction:column;padding:44px 48px;display:flex;overflow-y:auto}.project-modal-body>*{animation:modal-rise .55s var(--ease-out) both}.project-modal-body>:first-child{animation-delay:.1s}.project-modal-body>:nth-child(2){animation-delay:.16s}.project-modal-body>:nth-child(3){animation-delay:.22s}.project-modal-body>:nth-child(4){animation-delay:.28s}.project-modal-body>:nth-child(5){animation-delay:.34s}.project-modal-body>:nth-child(6){animation-delay:.4s}.project-modal-body>:nth-child(7){animation-delay:.46s}@keyframes modal-rise{0%{opacity:0;transform:translateY(14px)}}.project-modal-head{justify-content:space-between;align-items:center;gap:16px;padding-right:44px;display:flex}.project-modal-index{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.22em;flex-shrink:0;font-size:11px}.project-modal-body>h3{letter-spacing:-.01em;margin:18px 0 14px;font-size:clamp(24px,2.6vw,32px);font-weight:600}.project-modal-intro{color:var(--text-2);margin:0;font-size:14px;line-height:1.9}.project-modal-points{flex-wrap:wrap;gap:9px;margin:20px 0 0;padding:0;list-style:none;display:flex}.project-modal-points li{border:1px solid var(--card-line);background:var(--surface);color:var(--text-2);border-radius:99px;padding:6px 14px;font-size:12.5px}.project-modal-section{border-top:1px solid var(--card-line);margin-top:26px;padding-top:20px}.project-modal-section h4{align-items:center;gap:10px;margin:0 0 9px;font-size:14px;font-weight:600;display:flex}.project-modal-section h4:before{content:"";background:var(--brand);width:18px;height:2px}.project-modal-section p{color:var(--text-2);margin:0;font-size:13px;line-height:1.9}.project-modal-cta{width:fit-content;color:var(--brand);font-family:var(--font-mono);letter-spacing:.14em;align-items:center;gap:8px;margin-top:auto;padding-top:26px;font-size:12px;transition:gap .3s;display:inline-flex}.project-modal-cta:hover{gap:12px}@media (width<=800px){.project-modal-backdrop{padding:12px}.project-modal{grid-template-columns:1fr;height:auto;max-height:90vh;overflow-y:auto}.project-modal-side{aspect-ratio:16/10;min-height:0}.project-gallery-image{padding:14px 14px 88px}.project-gallery-overlay{padding:60px 18px 16px}.project-modal-body{padding:24px 22px 30px;overflow-y:visible}}@media (prefers-reduced-motion:reduce){.project-modal-backdrop,.project-modal,.project-gallery-image,.project-modal-body>*{animation:none!important}}.process-section{background:var(--bg-soft)}.process-grid{grid-template-columns:repeat(3,1fr);gap:8px 32px;margin-top:56px;display:grid}.process-step{border-bottom:1px solid var(--line);padding:26px 0 30px;position:relative}.process-step:before{content:"";background:var(--line-strong);transform-origin:0;height:1px;transition:transform .9s var(--ease-out) calc(.16s + var(--i,0) * 80ms);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.process-step.is-visible:before{transform:scaleX(1)}.process-step:after{content:"";background:var(--brand);transform-origin:0;height:2px;transition:transform .7s;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.process-step:hover:after{transform:scaleX(1)}.process-index{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.16em;font-size:11px}.process-step h3{letter-spacing:-.01em;margin:14px 0 10px;font-size:20px;font-weight:500}.process-step p{color:var(--text-2);margin:0;font-size:14px;line-height:1.8}.capability-section{background:var(--paper);overflow:hidden}.capability-marquee{margin-top:52px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.marquee-row{padding:5px 0;overflow:hidden}.marquee-track{gap:10px;width:max-content;animation:38s linear infinite marquee-scroll;display:flex}.marquee-track.is-reverse{animation-duration:46s;animation-direction:reverse}.capability-marquee:hover .marquee-track{animation-play-state:paused}@keyframes marquee-scroll{to{transform:translate(-50%)}}.tech-tag{border:1px solid var(--card-line);background:var(--surface);color:var(--text-2);font-family:var(--font-mono);letter-spacing:.1em;white-space:nowrap;border-radius:99px;flex-shrink:0;padding:8px 16px;font-size:11px}.compare-section{background:var(--paper)}.compare-table{margin-top:52px;position:relative}.compare-table:before{content:"";background:var(--line);width:1px;position:absolute;top:0;bottom:0;left:50%}.compare-head{grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding-bottom:30px;display:grid}.compare-head-old{color:var(--text-3);letter-spacing:.02em;text-align:right;font-size:15px;font-weight:500}.compare-head-new{color:var(--brand-strong);letter-spacing:.02em;font-size:15px;font-weight:600}.compare-vs{z-index:1;aspect-ratio:1;border:1px solid var(--line-strong);background:var(--surface);width:46px;color:var(--ink);font-family:var(--font-mono);letter-spacing:.08em;border-radius:50%;place-items:center;font-size:11px;display:grid}.compare-row{border-top:1px solid var(--line);padding:24px 0}.compare-aspect{z-index:1;background:var(--paper);width:fit-content;color:var(--text-3);font-family:var(--font-mono);letter-spacing:.16em;margin:0 auto 14px;padding:3px 12px;font-size:10px;display:block}.compare-cells{grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,72px);display:grid}.compare-cells p{border-radius:var(--r-md);margin:0;padding:14px 18px;font-size:14px;line-height:1.7}.compare-old{background:var(--bg-soft);color:var(--text-2)}.compare-new{color:var(--ink);background:#d9222a0e;border:1px solid #d9222a38}.contact-section{background:var(--paper)}.contact-panel{border-radius:var(--r-lg);background:linear-gradient(#232b3880 1px,#0000 1px) 0 0/100% 120px,linear-gradient(90deg,#232b3880 1px,#0000 1px) 0 0/300px 100%,#14181f;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:stretch;margin-top:48px;display:grid;overflow:hidden}.contact-panel-visual{border-right:1px solid #232b38;justify-content:center;align-items:center;padding:40px;display:flex;position:relative}.contact-panel-visual svg{width:min(100%,320px);height:auto}.contact-panel-tag{color:#ff9e99;font-family:var(--font-mono);letter-spacing:.24em;font-size:11px;position:absolute;bottom:22px;left:28px}.contact-panel-rows{flex-direction:column;justify-content:center;padding:34px 40px;display:flex}.contact-row{border-top:1px solid #232b38;grid-template-columns:150px 1fr;align-items:center;gap:24px;padding:18px 0;display:grid}.contact-row:first-child{border-top:none}.contact-row span{color:#8b93a1;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;font-size:11px}.contact-row strong{color:#e8e9eb;font-size:16px;font-weight:500}.contact-row strong a{color:inherit;border-bottom:1px solid #0000;text-decoration:none;transition:color .3s,border-color .3s}.contact-row strong a:hover{color:#ff9e99;border-color:#ff9e99}.contact-qr-wrap{align-items:center;gap:18px;display:flex}.contact-qr{border-radius:var(--r-sm);background:#fff;width:92px;height:92px;padding:6px}.site-footer{background:var(--dark-2);color:var(--dark-ink);padding:90px 0 34px}.footer-call{justify-content:space-between;align-items:flex-end;gap:40px;padding-bottom:70px;display:flex}.footer-call p{max-width:720px;font-size:var(--fs-statement);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:560;line-height:1.2}.footer-mail{color:var(--dark-ink-2);white-space:nowrap;border-bottom:1px solid #5b6264;flex-shrink:0;align-items:baseline;gap:8px;padding-bottom:10px;font-size:13px;display:inline-flex}.footer-mail span{color:#ff9e99}.footer-links{border-top:1px solid var(--dark-line);color:#899093;flex-wrap:wrap;gap:14px 35px;padding:24px 0;font-size:12px;display:flex}.footer-links a{transition:color .3s}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid var(--dark-line);color:#62696c;grid-template-columns:1fr 1fr 1fr;gap:10px;padding-top:24px;font-size:11px;display:grid}.footer-bottom a{justify-self:end;transition:color .3s}.footer-bottom a:hover{color:#fff}.ai-widget-fab-wrap,.ai-widget-panel,.ai-widget-peek{z-index:100;position:fixed}.ai-widget-fab{background:var(--brand);width:52px;height:52px;box-shadow:var(--shadow-lg);color:#fff;cursor:grab;touch-action:none;border:none;border-radius:50%;place-items:center;transition:transform .16s,background .16s;display:grid}.ai-widget-fab:hover{background:var(--brand-strong);transform:translateY(-2px)}.ai-widget-fab:active{cursor:grabbing}.ai-widget-fab-menu{z-index:10;border:1px solid var(--card-line);border-radius:var(--r-lg);background:var(--surface);min-width:160px;box-shadow:var(--shadow-lg);padding:6px;position:absolute;bottom:calc(100% + 10px);right:0}.ai-widget-fab-menu button{border-radius:var(--r-sm);width:100%;min-height:40px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;padding:8px 12px;font-size:13px;display:block}.ai-widget-fab-menu button:hover{background:var(--brand-soft)}.ai-widget-peek{border:1px solid var(--card-line);border-radius:var(--r-sm) 0 0 var(--r-sm);background:var(--brand);width:16px;height:72px;box-shadow:var(--shadow-card);color:#fff;cursor:grab;touch-action:none;border-right:none;justify-content:center;align-items:center;padding:0;display:flex;right:0}.ai-widget-peek:active{cursor:grabbing}.ai-widget-panel{border:1px solid var(--card-line);border-radius:var(--r-lg);background:var(--surface);width:min(360px,100vw - 32px);height:min(520px,100dvh - 32px);box-shadow:var(--shadow-lg);color:var(--ink);flex-direction:column;display:flex;overflow:visible}.ai-widget-header{border-bottom:1px solid var(--line);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:10px 8px 10px 12px;display:flex}.ai-widget-header:active{cursor:grabbing}.ai-widget-grip{color:var(--text-3);flex-shrink:0}.ai-widget-title{flex:1;font-size:14px;font-weight:600}.ai-widget-header-actions{z-index:5;align-items:center;gap:4px;display:flex;position:relative}.ai-widget-header-menu{z-index:20;border:1px solid var(--card-line);border-radius:var(--r-lg);background:var(--surface);min-width:168px;box-shadow:var(--shadow-lg);padding:6px;position:absolute;top:calc(100% + 8px);right:0}.ai-widget-header-menu button{border-radius:var(--r-sm);width:100%;min-height:40px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;padding:8px 12px;font-size:13px;display:block}.ai-widget-header-menu button:hover{background:var(--brand-soft)}.ai-widget-icon-btn{border-radius:var(--r-sm);width:36px;height:36px;color:var(--text-2);cursor:pointer;background:0 0;border:none;place-items:center;display:grid}.ai-widget-icon-btn:hover{color:var(--ink);background:#14181f0f}.ai-widget-tabs{border-bottom:1px solid var(--line);gap:6px;padding:8px 10px 0;display:flex}.ai-widget-tabs button{border-radius:var(--r-sm) var(--r-sm) 0 0;min-height:38px;color:var(--text-2);cursor:pointer;background:0 0;border:1px solid #0000;flex:1;font-size:13px}.ai-widget-tabs button.is-active{border-color:var(--line);border-bottom-color:var(--surface);background:var(--surface);color:var(--ink);margin-bottom:-1px;font-weight:600}.ai-widget-chat{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.ai-widget-messages{flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px;display:flex;overflow-y:auto}.ai-widget-bubble{border-radius:var(--r-sm);white-space:pre-wrap;max-width:88%;padding:9px 12px;font-size:13px;line-height:1.6}.ai-widget-bubble.is-bot{border:1px solid var(--card-line);background:var(--bg-soft);align-self:flex-start}.ai-widget-bubble.is-user{background:var(--brand);color:#fff;align-self:flex-end}.ai-widget-bubble.is-streaming:after{content:"";vertical-align:-.15em;background:var(--brand);width:2px;height:1em;margin-left:2px;animation:.9s step-end infinite ai-caret-blink;display:inline-block}@keyframes ai-caret-blink{0%,to{opacity:1}50%{opacity:0}}.ai-widget-typing{align-items:center;gap:5px;min-height:1em;display:inline-flex}.ai-widget-typing i{background:var(--text-3);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite ai-typing-bounce}.ai-widget-typing i:nth-child(2){animation-delay:.15s}.ai-widget-typing i:nth-child(3){animation-delay:.3s}@keyframes ai-typing-bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.ai-widget-input-row{border-top:1px solid var(--line);gap:8px;padding:10px 12px 12px;display:flex}.ai-widget-input{border:1px solid var(--card-line);border-radius:var(--r-sm);background:var(--paper);min-width:0;min-height:40px;color:var(--ink);flex:1;padding:0 12px;font-family:inherit;font-size:13px}.ai-widget-input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #d9222a24}.ai-widget-send{border-radius:var(--r-sm);background:var(--brand);color:#fff;cursor:pointer;border:none;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.ai-widget-send:hover{background:var(--brand-strong)}.ai-widget-feedback{flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px;display:flex;overflow-y:auto}.ai-widget-label{color:var(--text-2);font-size:12px;font-weight:600}.ai-widget-textarea{border:1px solid var(--card-line);border-radius:var(--r-sm);background:var(--paper);min-height:0;color:var(--ink);resize:none;flex:1;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.6}.ai-widget-textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #d9222a24}.ai-widget-submit{border-radius:var(--r-sm);background:var(--ink);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:13px;font-weight:600;display:inline-flex}.ai-widget-submit:hover{opacity:.92}.ai-widget-feedback-done-wrap{flex-direction:column;gap:12px;display:flex}.ai-widget-feedback-done{color:var(--ink);margin:0;font-size:13px;line-height:1.7}.ai-widget-link-btn{min-height:32px;color:var(--brand);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:13px;font-weight:600;text-decoration:underline}.ai-widget-footer{padding:0 12px 12px}.ai-widget-contact-btn{border-radius:var(--r-sm);background:var(--brand-soft);width:100%;min-height:42px;color:var(--brand-strong);cursor:pointer;border:1px solid #d9222a52;font-size:13px;font-weight:600}.ai-widget-contact-btn:hover{background:#d9222a1a}.ai-widget-modal-backdrop{z-index:120;background:#050a1280;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.ai-widget-modal{border:1px solid var(--card-line);border-radius:var(--r-lg);background:var(--surface);width:min(420px,100%);max-height:min(80vh,560px);box-shadow:var(--shadow-lg);color:var(--ink);overflow:auto}.ai-widget-modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 12px 10px 18px;display:flex}.ai-widget-modal-head h2{margin:0;font-size:18px;font-weight:600}.ai-widget-modal-note{color:var(--text-2);margin:0;padding:12px 18px;font-size:12px;line-height:1.6}.ai-widget-contact-list{margin:0;padding:0 18px 16px;list-style:none}.ai-widget-contact-list li{border-bottom:1px solid var(--line);gap:4px;padding:10px 0;display:grid}.ai-widget-contact-list li:last-child{border-bottom:none}.ai-widget-contact-label{color:var(--text-3);font-size:12px}.ai-widget-contact-value{font-size:14px;font-weight:600}.ai-widget-qr{border:1px solid var(--card-line);border-radius:var(--r-sm);background:#fff;width:96px;height:96px;margin-bottom:8px;padding:5px;display:block}@media (width>=901px){.br-wide{display:block}}@media (width<=900px){.stroke-text{--stroke-width:1.2px}.about-grid{grid-template-columns:1fr;gap:48px}.business-row{grid-template-columns:38px 1fr auto;gap:16px}.business-arrow{grid-area:1/3;align-self:start;padding-top:6px}.business-main{grid-column:2/-1}.process-grid{grid-template-columns:repeat(2,1fr);gap:8px 28px}.capability-marquee,.compare-table{margin-top:40px}.compare-head{padding-bottom:24px}.hero-scroll-cue{display:none}.services-grid{grid-template-columns:repeat(3,1fr);display:grid}.service-card{aspect-ratio:5/6.8;height:auto}.service-card-desc{width:100%}}@media (width<=800px){.site-nav{padding:10px var(--pad) 18px;-webkit-backdrop-filter:blur(15px);background:#fffffff7;border-bottom:1px solid #0a14281a;flex-direction:column;align-items:stretch;gap:0;display:none;position:absolute;top:100%;left:0;right:0}.site-nav.is-open{display:flex}.site-nav a{border-bottom:1px solid #0a142814;min-height:0;padding:14px 0;font-size:13px}.site-nav a:after{width:28px;bottom:8px;right:auto}.site-nav a.nav-cta{border-bottom:none;justify-content:center;min-height:44px;margin:14px 0 4px;padding:0 20px}.site-nav a.nav-lang{justify-content:center;min-height:44px;margin:0;padding:0 20px}.menu-button{display:grid}}@media (width<=620px){:root{--pad:20px;--section-pad:72px}.site-header{height:66px}.brand-text small{display:none}.hero-grid{background-size:20vw 20vw}.hero-title{margin:24px 0 20px;font-size:clamp(32px,9vw,42px);line-height:1.15}.hero-lead{width:92%;font-size:13px;line-height:1.7}.hero-metrics-inner{grid-template-columns:repeat(2,1fr)}.metric{padding:16px 0 18px}.metric+.metric{padding-left:16px}.metric:nth-child(odd){border-left:none;padding-left:0}.metric:nth-child(n+3){border-top:1px solid #ffffff14}.horizon{height:clamp(180px,28vh,280px)}.business-list,.projects-grid,.process-grid,.contact-panel{margin-top:40px}.business-row{border-radius:0;grid-template-columns:38px 1fr auto;margin-inline:0;padding:18px 0}.compare-head{gap:14px}.compare-head-old,.compare-head-new{font-size:13px}.compare-vs{width:40px;font-size:10px}.compare-cells{gap:20px}.compare-cells p{padding:12px;font-size:12.5px}.projects-grid{grid-template-columns:1fr}.project-card--featured{grid-template-columns:1fr;padding:14px 14px 22px}.project-card--featured .project-visual{aspect-ratio:1/.5;border-radius:var(--r-sm);height:auto;min-height:0}.project-card--featured .project-body{padding:20px 6px 0;display:block}.project-card--featured .project-body h3{font-size:20px}.project-card--featured .project-body>p{font-size:13px}.process-grid{grid-template-columns:1fr;gap:0}.services-grid{grid-template-columns:repeat(2,1fr);gap:8px}.service-card{aspect-ratio:5/7.2;height:auto}.service-card-body{justify-content:flex-end;padding-bottom:18px}.service-card-en{white-space:normal}.service-card-desc{opacity:1;width:100%;max-height:none;font-size:12px;line-height:1.6;transform:none}.contact-panel{grid-template-columns:1fr}.contact-panel-visual{border-bottom:1px solid #232b38;border-right:none;padding:30px 24px 56px}.contact-panel-rows{padding:10px 22px 22px}.contact-row{grid-template-columns:1fr;gap:6px;padding:16px 0}.site-footer{padding:70px 0 28px}.footer-call{padding-bottom:56px;display:block}.footer-call p{margin-bottom:32px;font-size:9vw}.footer-links{gap:12px 25px}.footer-bottom{grid-template-columns:1fr;padding-right:72px}.footer-bottom a{justify-self:start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}.hero-enter{opacity:1;animation:none}.hero-char,.hero-fade{opacity:1;animation:none;transform:none}.stroke-text-fill{clip-path:inset(0);animation:none}.marquee-track,.type-cursor{animation:none}.title-line-inner{transform:none}.process-step:before{transform:scaleX(1)}}:lang(en) .service-card h3{white-space:normal;line-height:1.35}:lang(en) .hero-title{font-size:clamp(34px,3.9vw,54px)}@media (width<=620px){:lang(en) .hero-title{font-size:clamp(30px,8vw,38px)}}
