@font-face{font-family:Syne;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ab624315db63c58d-s.1487dfs7-.~d~.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e94b8ab81811a983-s.02fsf_1p_avhz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Syne;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Syne;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ab624315db63c58d-s.1487dfs7-.~d~.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e94b8ab81811a983-s.02fsf_1p_avhz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Syne;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Syne;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ab624315db63c58d-s.1487dfs7-.~d~.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e94b8ab81811a983-s.02fsf_1p_avhz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Syne;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ab624315db63c58d-s.1487dfs7-.~d~.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e94b8ab81811a983-s.02fsf_1p_avhz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Syne;font-style:normal;font-weight:800;font-display:swap;src:url(../media/ab624315db63c58d-s.1487dfs7-.~d~.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e94b8ab81811a983-s.02fsf_1p_avhz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Syne;font-style:normal;font-weight:800;font-display:swap;src:url(../media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Syne Fallback;src:local(Arial);ascent-override:93.93%;descent-override:27.93%;line-gap-override:0.0%;size-adjust:98.47%}.syne_eed1340e-module__Coqaeq__className{font-family:Syne,Syne Fallback;font-style:normal}.syne_eed1340e-module__Coqaeq__variable{--font-syne:"Syne", "Syne Fallback"}
@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.0y1-r_vehenvp.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.10_7676vm7pyy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.0hck6o0i8wq3a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.0gq7fw9.sy_5..woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_bed06b21-module__swPsvG__className{font-family:Instrument Serif,Instrument Serif Fallback;font-weight:400}.instrument_serif_bed06b21-module__swPsvG__variable{--font-instrument-serif:"Instrument Serif", "Instrument Serif Fallback"}
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.06d3mdzz5bre_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.11.cyxs5p-0z~.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_dbbf8c4b-module__5qCx7q__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_dbbf8c4b-module__5qCx7q__variable{--font-geist:"Geist", "Geist Fallback"}
:root{--bg:#fff;--bg2:#f5f5f7;--bg3:#ebebed;--fg:#1d1d1f;--fg2:#3d3d3f;--fg3:#6e6e73;--fg4:#aeaeb2;--red:#c8001e;--red-light:#fef0f2;--line:#00000014;--line2:#0000000d;--radius:18px;--radius-sm:12px;--nav-h:64px}[data-theme=dark]{--bg:#000;--bg2:#111;--bg3:#1c1c1e;--fg:#f5f5f7;--fg2:#d1d1d6;--fg3:#8e8e93;--fg4:#48484a;--red:#ff3b52;--red-light:#1a0009;--line:#ffffff14;--line2:#ffffff0a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:var(--font-geist), -apple-system, sans-serif;background:var(--bg);color:var(--fg);transition:background .4s,color .4s;overflow-x:hidden}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}.t-display{font-family:var(--font-syne), sans-serif;letter-spacing:-.03em;font-size:clamp(52px,7.5vw,112px);font-weight:800;line-height:.95}.t-headline{font-family:var(--font-syne), sans-serif;letter-spacing:-.025em;font-size:clamp(32px,4vw,56px);font-weight:700;line-height:1.05}.t-title{font-family:var(--font-syne), sans-serif;letter-spacing:-.02em;font-size:clamp(22px,2.5vw,32px);font-weight:600;line-height:1.15}.t-serif{font-family:var(--font-instrument-serif), serif;font-size:clamp(26px,3vw,42px);font-style:italic;font-weight:400;line-height:1.3}.t-body{color:var(--fg3);font-size:17px;font-weight:400;line-height:1.7}.t-small{letter-spacing:.04em;color:var(--fg3);font-size:13px;font-weight:500}.t-label{letter-spacing:.12em;text-transform:uppercase;color:var(--fg4);font-size:11px;font-weight:600}.t-red{color:var(--red)}.wrap{max-width:1200px;margin:0 auto;padding:0 24px}.wrap-wide{max-width:1400px;margin:0 auto;padding:0 24px}nav{height:var(--nav-h);z-index:1000;align-items:center;transition:background .3s,border-color .3s;display:flex;position:fixed;inset:0 0 auto}nav.frosted{border-bottom:1px solid var(--line);-webkit-backdrop-filter:saturate(180%)blur(20px);background:#ffffffd1}[data-theme=dark] nav.frosted{background:#000000d1}.nav-inner{justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:0 24px;display:flex}.nav-logo{font-family:var(--font-syne), sans-serif;letter-spacing:-.02em;color:var(--fg);align-items:center;gap:2px;margin-right:auto;font-size:20px;font-weight:800;display:flex}.nav-logo .dot{color:var(--red)}.nav-center{align-items:center;gap:8px;display:flex}.nav-center a{color:var(--fg);border-radius:100px;padding:6px 14px;font-size:14px;font-weight:500;transition:color .2s,background .2s}.nav-center a:hover{color:var(--fg);background:var(--bg3)}.nav-right{align-items:center;gap:12px;display:flex}.btn-theme{background:var(--bg3);cursor:pointer;width:36px;height:36px;color:var(--fg2);border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .2s;display:flex}.btn-theme:hover{background:var(--bg3)}.btn-nav-cta{background:var(--fg);color:var(--bg);cursor:pointer;letter-spacing:-.01em;border:none;border-radius:100px;align-items:center;gap:6px;padding:9px 20px;font-size:14px;font-weight:600;transition:opacity .2s,transform .2s;display:inline-flex}.btn-nav-cta:hover{opacity:.8;transform:scale(.98)}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.hamburger span{background:var(--fg);border-radius:2px;width:22px;height:1.5px;transition:all .3s;display:block}.mobile-menu{inset:var(--nav-h) 0 0 0;background:var(--bg);z-index:999;flex-direction:column;gap:8px;padding:32px 24px;display:none;position:fixed}.mobile-menu.open{display:flex}.mobile-menu a{font-family:var(--font-syne), sans-serif;color:var(--fg);border-bottom:1px solid var(--line);letter-spacing:-.02em;padding:12px 0;font-size:28px;font-weight:700}.marquee-wrap{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg2);padding:16px 0;overflow:hidden}.marquee-track{width:max-content;animation:28s linear infinite marquee;display:flex}.marquee-item{font-family:var(--font-syne), sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--fg4);white-space:nowrap;align-items:center;gap:16px;padding:0 32px;font-size:13px;font-weight:600;display:flex}.marquee-sep{color:var(--red);font-size:18px;line-height:1}.section{padding:100px 0}.section-sm{padding:64px 0}.section-header{margin-bottom:64px}.section-header.centered{text-align:center}.section-header.centered .section-sub{margin:16px auto 0}.section-sub{max-width:500px;color:var(--fg3);margin-top:16px;font-size:17px;font-weight:300;line-height:1.65}.btn-primary{background:var(--fg);color:var(--bg);letter-spacing:-.01em;border-radius:100px;align-items:center;gap:8px;padding:14px 28px;font-size:15px;font-weight:600;transition:opacity .2s,transform .2s;display:inline-flex}.btn-primary:hover{opacity:.8;transform:translateY(-1px)}.btn-secondary{background:var(--bg2);color:var(--fg);letter-spacing:-.01em;border-radius:100px;align-items:center;gap:8px;padding:14px 28px;font-size:15px;font-weight:500;transition:background .2s,transform .2s;display:inline-flex}.btn-secondary:hover{background:var(--bg3);transform:translateY(-1px)}.pill{color:var(--fg2);background:var(--bg3);letter-spacing:.01em;border-radius:100px;padding:5px 12px;font-size:12px;font-weight:600}.hero-banner{flex-direction:column;justify-content:flex-end;align-items:stretch;width:100%;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero-banner-media{object-fit:cover;z-index:0;width:100%;height:100%;display:block;position:absolute;inset:0}.hero-banner-overlay{z-index:1;background:linear-gradient(#0000008c 0%,#00000059 40%,#0009 100%);position:absolute;inset:0}[data-theme=light] .hero-banner-overlay{background:linear-gradient(#00000073 0%,#00000040 40%,#0000008c 100%)}.hero-banner-fallback{z-index:0;background:linear-gradient(135deg,#0a0a0a 0%,#1a0808 50%,#0a0a0a 100%);position:absolute;inset:0}.hero-banner-content{z-index:2;width:100%;max-width:1200px;margin:0 auto;padding:0 60px 60px;position:relative}.hero-banner-tag{-webkit-backdrop-filter:blur(12px);color:#ffffffe6;letter-spacing:.06em;text-transform:uppercase;background:#ffffff1f;border:1px solid #fff3;border-radius:100px;align-items:center;gap:8px;margin-bottom:24px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-flex}.hero-banner-dot{background:var(--red);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse}.hero-banner-title{font-family:var(--font-syne), sans-serif;letter-spacing:-.03em;color:#fff;margin-bottom:28px;font-size:clamp(52px,8vw,120px);font-weight:800;line-height:.95}.hero-banner-sub{color:#ffffffa6;max-width:500px;margin-bottom:36px;font-size:17px;font-weight:300;line-height:1.65}.hero-banner-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:40px;display:flex}.hero-banner-clients{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.hero-banner-clients-label{color:#ffffff73;letter-spacing:.04em;font-size:12px;font-weight:500}.hero-banner-pill{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fffc;background:#ffffff1a;border:1px solid #ffffff26;border-radius:100px;padding:5px 12px;font-size:12px;font-weight:600}.hero-view-work{color:#ffffffb3;align-items:center;gap:8px;font-size:15px;font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex}.hero-view-work:hover{color:#fff}.services-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.service-card{aspect-ratio:3/4;cursor:pointer;background:var(--bg3);border-radius:24px;text-decoration:none;transition:transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s;display:block;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000012}[data-theme=dark] .service-card{box-shadow:0 4px 28px #00000061}.service-card:hover{transform:translateY(-6px);box-shadow:0 16px 48px #00000021}[data-theme=dark] .service-card:hover{box-shadow:0 16px 48px #00000085}.service-card.sc-has-media{outline-offset:0;outline:1px solid #00000021}[data-theme=dark] .service-card.sc-has-media{outline:1px solid #ffffff1f}.service-card.sc-has-media{box-shadow:0 4px 20px #00000012,0 16px 40px #00000014}[data-theme=dark] .service-card.sc-has-media{box-shadow:0 4px 28px #00000061,0 16px 48px #ffffff0a}.sc-media-wrap{width:100%;height:100%;position:absolute;inset:0}.sc-media-wrap img,.sc-media-wrap video{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.service-card:hover .sc-media-wrap img,.service-card:hover .sc-media-wrap video{transform:scale(1.05)}.sc-media-overlay{z-index:1;background:linear-gradient(#0000 35%,#00000073 65%,#000000c7 100%);position:absolute;inset:0}.sc-media-empty{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.sc-emoji{opacity:.5;font-size:48px;line-height:1}.sc-body{z-index:2;padding:20px 22px 24px;position:absolute;bottom:0;left:0;right:0}.sc-name{font-family:var(--font-syne), sans-serif;color:#fff;letter-spacing:-.02em;text-shadow:0 1px 8px #0006;margin-bottom:5px;font-size:19px;font-weight:700;line-height:1.2}.sc-desc{color:#ffffffb3;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-weight:400;line-height:1.5;display:-webkit-box;overflow:hidden}.sc-btn{z-index:3;-webkit-backdrop-filter:blur(16px);color:#fff;font-family:var(--font-geist), -apple-system, sans-serif;cursor:pointer;letter-spacing:.02em;white-space:nowrap;background:#ffffff26;border:1px solid #ffffff40;border-radius:100px;align-items:center;gap:6px;padding:7px 14px 7px 10px;font-size:11px;font-weight:600;transition:background .2s,transform .15s;display:inline-flex;position:absolute;top:14px;right:14px}.sc-btn:hover{background:#ffffff4d;transform:scale(1.05)}.sc-dot{background:var(--red);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.8s ease-in-out infinite scDotPulse}.work-section{background:var(--bg2);padding:100px 0}.work-section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:48px;display:flex}.projects-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.project-card{background:var(--bg);cursor:pointer;border:1px solid var(--line);border-radius:16px;text-decoration:none;transition:transform .3s,box-shadow .3s;display:block;overflow:hidden}.project-card:hover{transform:translateY(-6px);box-shadow:0 20px 60px #00000026}[data-theme=dark] .project-card:hover{box-shadow:0 20px 60px #00000080}.project-card-thumb{aspect-ratio:16/10;background:var(--bg3);width:100%;position:relative;overflow:hidden}.project-card-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.project-card:hover .project-card-thumb img{transform:scale(1.05)}.thumb-placeholder{width:100%;height:100%;font-family:var(--font-syne), sans-serif;color:var(--bg2);letter-spacing:-.04em;justify-content:center;align-items:center;font-size:48px;font-weight:800;display:flex}.thumb-gradient{background:linear-gradient(#0000 40%,#0000004d 100%);position:absolute;inset:0}.project-card-cat-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffd9;letter-spacing:.1em;text-transform:uppercase;background:#0000008c;border-radius:100px;padding:4px 10px;font-size:10px;font-weight:600;position:absolute;top:14px;left:14px}.project-card-mc{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffd9;background:#0000008c;border-radius:100px;align-items:center;gap:4px;padding:4px 10px;font-size:10px;font-weight:600;display:flex;position:absolute;bottom:14px;right:14px}.project-card-body{padding:20px 22px 22px}.project-card-meta{align-items:center;gap:8px;margin-bottom:8px;display:flex}.project-card-client{color:var(--red);font-size:12px;font-weight:600}.project-card-year{color:var(--fg4);font-size:12px}.project-card-dot{background:var(--fg4);border-radius:50%;width:3px;height:3px}.project-card-title{font-family:var(--font-syne), sans-serif;color:var(--fg);letter-spacing:-.02em;margin-bottom:8px;font-size:18px;font-weight:700;line-height:1.2}.project-card-desc{color:var(--fg3);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:16px;font-size:13px;font-weight:300;line-height:1.6;display:-webkit-box;overflow:hidden}.project-card-footer{justify-content:space-between;align-items:center;display:flex}.project-card-tags{flex-wrap:wrap;gap:6px;display:flex}.project-card-tag{color:var(--fg4);background:var(--bg2);border-radius:100px;padding:3px 9px;font-size:11px;font-weight:600}.project-card-arrow{background:var(--bg2);width:30px;height:30px;color:var(--fg3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex}.project-card:hover .project-card-arrow{background:var(--fg);color:var(--bg)}.work-empty{text-align:center;color:var(--fg4);grid-column:1/-1;padding:80px 20px;font-size:15px}.work-loading{color:var(--fg4);grid-column:1/-1;justify-content:center;align-items:center;gap:12px;padding:80px 20px;font-size:14px;display:flex}.stats-row{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.stat-box{background:var(--bg2);padding:36px 32px;transition:background .2s}.stat-box:hover{background:var(--bg3)}.stat-n{font-family:var(--font-syne), sans-serif;letter-spacing:-.04em;color:var(--fg);margin-bottom:6px;font-size:44px;font-weight:800;line-height:1}.stat-n .sup{color:var(--red);font-size:28px}.stat-l{color:var(--fg3);font-size:14px;font-weight:400}.partners-section{background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:64px 0;overflow:hidden}.partners-label{text-align:center;letter-spacing:.12em;text-transform:uppercase;color:var(--fg4);margin-bottom:32px;font-size:11px;font-weight:600}.partners-marquee-wrap{position:relative;overflow:hidden}.partners-marquee-wrap:before,.partners-marquee-wrap:after{content:"";z-index:2;pointer-events:none;width:100px;position:absolute;top:0;bottom:0}.partners-marquee-wrap:before{background:linear-gradient(to right, var(--bg), transparent);left:0}.partners-marquee-wrap:after{background:linear-gradient(to left, var(--bg), transparent);right:0}.partners-track{width:max-content;animation:28s linear infinite pScroll;display:flex}.partners-track:hover{animation-play-state:paused}.partner-item{flex-shrink:0;justify-content:center;align-items:center;height:80px;padding:0 48px;display:flex}.partner-item img{object-fit:contain;filter:grayscale();opacity:.55;width:auto;max-width:140px;height:52px;transition:opacity .4s,filter .4s}.partner-item img:hover{filter:grayscale(0%);opacity:1}.partner-text{font-family:var(--font-syne), sans-serif;color:var(--fg4);letter-spacing:-.02em;white-space:nowrap;font-size:18px;font-weight:700;transition:color .3s}.partner-item:hover .partner-text{color:var(--fg)}.partner-sep{color:var(--fg4);opacity:.25;font-size:20px}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.about-visual-block{background:var(--bg2);border-radius:var(--radius);aspect-ratio:4/5;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.about-visual-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.about-visual-overlay{background:linear-gradient(#0000 0%,#00000026 40%,#000000b3 100%);position:absolute;inset:0}.about-big{font-family:var(--font-syne), sans-serif;color:var(--bg3);letter-spacing:-.05em;-webkit-user-select:none;user-select:none;z-index:1;font-size:clamp(80px,12vw,160px);font-weight:800;position:relative}.about-stat-row{z-index:2;flex-direction:column;gap:8px;display:flex;position:absolute;top:24px;right:24px}.about-stat-chip{-webkit-backdrop-filter:blur(16px);text-align:right;background:#ffffff1f;border:1px solid #fff3;border-radius:14px;padding:10px 16px}[data-theme=light] .about-stat-chip{background:#ffffffd9;border:1px solid #0000001a}.about-stat-n{font-family:var(--font-syne), sans-serif;color:#fff;letter-spacing:-.03em;font-size:22px;font-weight:800;line-height:1}[data-theme=light] .about-stat-n{color:var(--fg)}.about-stat-l{color:#fff9;margin-top:2px;font-size:11px;font-weight:500}[data-theme=light] .about-stat-l{color:var(--fg3)}.about-badge{-webkit-backdrop-filter:blur(16px);color:#fff;letter-spacing:.02em;z-index:2;background:#ffffff26;border:1px solid #fff3;border-radius:100px;padding:10px 18px;font-size:12px;font-weight:600;position:absolute;bottom:24px;left:24px}[data-theme=light] .about-badge{background:var(--fg);color:var(--bg)}.manifesto-text{font-family:var(--font-instrument-serif), serif;color:var(--fg);margin-bottom:32px;font-size:clamp(24px,2.8vw,38px);line-height:1.4}.manifesto-text em{color:var(--fg3)}.about-points{flex-direction:column;gap:0;margin-bottom:36px;display:flex}.about-point{border-bottom:1px solid var(--line);align-items:flex-start;gap:16px;padding:18px 0;display:flex}.about-point:first-child{border-top:1px solid var(--line)}.ap-index{color:var(--fg4);min-width:28px;margin-top:2px;font-size:12px;font-weight:600}.ap-text{color:var(--fg3);font-size:15px;font-weight:300;line-height:1.6}.process-list{flex-direction:column;gap:0;display:flex}.process-item{border-bottom:1px solid var(--line);grid-template-columns:80px 1fr auto;align-items:start;gap:32px;padding:36px 0;transition:padding-left .2s;display:grid}.process-item:first-child{border-top:1px solid var(--line)}.process-item:hover{padding-left:12px}.p-num{font-family:var(--font-syne), sans-serif;color:var(--fg4);letter-spacing:.06em;padding-top:4px;font-size:13px;font-weight:700}.p-title{font-family:var(--font-syne), sans-serif;color:var(--fg);letter-spacing:-.02em;margin-bottom:8px;font-size:22px;font-weight:700}.p-desc{color:var(--fg3);max-width:480px;font-size:15px;font-weight:300;line-height:1.6}.p-badge{background:var(--bg2);color:var(--fg3);white-space:nowrap;border-radius:100px;align-self:start;margin-top:4px;padding:6px 14px;font-size:12px;font-weight:600}.why-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.why-card{background:var(--bg2);border-radius:var(--radius);padding:36px 32px;transition:background .25s,transform .25s}.why-card:hover{background:var(--bg3);transform:translateY(-2px)}.why-card.accent{background:var(--fg);color:var(--bg)}.why-card.accent .why-body{color:#ffffff8c}[data-theme=dark] .why-card.accent{background:var(--bg3)}[data-theme=dark] .why-card.accent .why-head{color:var(--fg)}[data-theme=dark] .why-card.accent .why-body{color:var(--fg3)}.why-icon{background:var(--bg3);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:20px;font-size:18px;display:flex}.why-card.accent .why-icon{background:#ffffff1f}.why-head{font-family:var(--font-syne), sans-serif;letter-spacing:-.02em;color:var(--fg);margin-bottom:10px;font-size:20px;font-weight:700}.why-card.accent .why-head{color:var(--bg)}.why-body{color:var(--fg3);font-size:15px;font-weight:300;line-height:1.6}.reviews-section{background:var(--bg);padding:80px 0 0}.reviews-section-header{text-align:center;margin-bottom:48px}.reviews-marquee-outer{padding:8px 0;position:relative;overflow:hidden}.reviews-marquee-outer:before,.reviews-marquee-outer:after{content:"";z-index:2;pointer-events:none;width:120px;position:absolute;top:0;bottom:0}.reviews-marquee-outer:before{background:linear-gradient(to right, var(--bg), transparent);left:0}.reviews-marquee-outer:after{background:linear-gradient(to left, var(--bg), transparent);right:0}.reviews-track{gap:20px;width:max-content;animation:40s linear infinite rScroll;display:flex}.reviews-track:hover{animation-play-state:paused}.review-card{background:var(--bg2);border:1px solid var(--line);border-radius:20px;flex-direction:column;flex-shrink:0;gap:12px;width:300px;padding:24px;display:flex}.review-top{align-items:center;gap:12px;display:flex}.review-avatar{object-fit:cover;background:var(--bg3);width:44px;height:44px;font-family:var(--font-syne), sans-serif;color:var(--fg3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:800;display:flex;overflow:hidden}.review-avatar img{object-fit:cover;width:100%;height:100%}.review-name{font-family:var(--font-syne), sans-serif;color:var(--fg);letter-spacing:-.01em;font-size:14px;font-weight:700}.review-role{color:var(--fg4);margin-top:1px;font-size:11px}.review-stars{gap:2px;display:flex}.review-star{color:#f59e0b;font-size:14px}.review-star.empty{color:#d1d1d6}[data-theme=dark] .review-star.empty{color:#3a3a3c!important}.review-text{color:var(--fg3);font-size:13px;font-weight:300;line-height:1.65}.leave-review-section{background:var(--bg);padding:56px 0 80px}.leave-review-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;display:flex}.leave-review-text h3{font-family:var(--font-syne), sans-serif;letter-spacing:-.02em;color:var(--fg);margin-bottom:6px;font-size:28px;font-weight:800}.leave-review-text p{color:var(--fg3);font-size:15px;font-weight:300}.btn-leave-review{background:var(--fg);color:var(--bg);font-family:var(--font-geist), -apple-system, sans-serif;cursor:pointer;letter-spacing:-.01em;border:none;border-radius:100px;flex-shrink:0;align-items:center;gap:8px;padding:13px 24px;font-size:14px;font-weight:600;transition:opacity .2s,transform .2s;display:inline-flex}.btn-leave-review:hover{opacity:.8;transform:translateY(-1px)}.review-modal-overlay{-webkit-backdrop-filter:blur(12px);z-index:2000;opacity:0;pointer-events:none;background:#0009;justify-content:center;align-items:center;padding:20px;transition:opacity .3s;display:flex;position:fixed;inset:0}.review-modal-overlay.open{opacity:1;pointer-events:all}.review-modal-box{background:var(--bg);border:1px solid var(--line);border-radius:24px;width:100%;max-width:500px;padding:36px;transition:transform .3s;transform:scale(.95)translateY(20px)}.review-modal-overlay.open .review-modal-box{transform:scale(1)translateY(0)}.review-modal-title{font-family:var(--font-syne), sans-serif;letter-spacing:-.02em;color:var(--fg);margin-bottom:6px;font-size:22px;font-weight:800}.review-modal-sub{color:var(--fg3);margin-bottom:28px;font-size:14px}.star-picker{gap:6px;margin-bottom:24px;display:flex}.star-btn{cursor:pointer;color:#f59e0b;opacity:.25;background:0 0;border:none;padding:0;font-size:28px;transition:opacity .2s,transform .15s}.star-btn.active,.star-btn:hover{opacity:1;transform:scale(1.15)}[data-theme=dark] .star-btn{opacity:.2}[data-theme=dark] .star-btn.active,[data-theme=dark] .star-btn:hover{opacity:1}.rform-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.rform-label{letter-spacing:.06em;text-transform:uppercase;color:var(--fg4);font-size:11px;font-weight:600}.rform-input,.rform-textarea{background:var(--bg2);border:1px solid var(--line);width:100%;color:var(--fg);font-family:var(--font-geist), -apple-system, sans-serif;border-radius:12px;outline:none;padding:12px 14px;font-size:14px;transition:border-color .2s}.rform-input:focus,.rform-textarea:focus{border-color:var(--fg)}.rform-textarea{resize:none;height:90px;line-height:1.6}.rform-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.rform-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.btn-rsubmit{background:var(--fg);color:var(--bg);font-family:var(--font-geist), -apple-system, sans-serif;cursor:pointer;border:none;border-radius:100px;padding:12px 24px;font-size:14px;font-weight:600;transition:opacity .2s}.btn-rsubmit:hover{opacity:.8}.btn-rcancel{background:var(--bg2);color:var(--fg3);font-family:var(--font-geist), -apple-system, sans-serif;cursor:pointer;border:none;border-radius:100px;padding:12px 20px;font-size:14px;font-weight:500;transition:background .2s}.btn-rcancel:hover{background:var(--bg3)}.review-success{text-align:center;padding:20px 0}.review-success-icon{margin-bottom:12px;font-size:48px}.review-success h4{font-family:var(--font-syne), sans-serif;color:var(--fg);margin-bottom:6px;font-size:20px;font-weight:800}.review-success p{color:var(--fg3);font-size:14px}.contact-grid{grid-template-columns:1fr 1.1fr;align-items:start;gap:80px;display:grid}.contact-details-list{flex-direction:column;gap:0;margin-top:40px;display:flex}.cd-item{border-bottom:1px solid var(--line);flex-direction:column;gap:3px;padding:18px 0;display:flex}.cd-item:first-child{border-top:1px solid var(--line)}.cd-label{letter-spacing:.1em;text-transform:uppercase;color:var(--red);font-size:11px;font-weight:600}.cd-val{color:var(--fg);font-size:16px;font-weight:400}.contact-form{background:var(--bg2);border-radius:var(--radius);padding:40px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-group{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.form-label{letter-spacing:.06em;text-transform:uppercase;color:var(--fg4);font-size:12px;font-weight:600}.form-input,.form-select,.form-textarea{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--fg);font-family:var(--font-geist), sans-serif;-webkit-appearance:none;outline:none;padding:13px 16px;font-size:15px;font-weight:400;transition:border-color .2s,box-shadow .2s}.form-input::placeholder,.form-textarea::placeholder{color:var(--fg4)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--fg);box-shadow:0 0 0 3px var(--line2)}.form-select{cursor:pointer}.form-select option{background:var(--bg)}.form-textarea{resize:none;height:110px;line-height:1.6}.form-cta{background:var(--fg);width:100%;color:var(--bg);font-family:var(--font-geist), sans-serif;cursor:pointer;letter-spacing:-.01em;border:none;border-radius:100px;justify-content:center;align-items:center;gap:8px;margin-top:24px;padding:16px 24px;font-size:15px;font-weight:600;transition:opacity .2s,transform .2s;display:flex}.form-cta:hover{opacity:.8;transform:scale(.99)}.form-cta:disabled{opacity:.5;cursor:not-allowed}.form-toast{border-radius:12px;align-items:center;gap:10px;margin-top:16px;padding:14px 18px;font-size:14px;font-weight:500;display:none}.form-toast.success{color:#15803d;background:#f0fdf4;display:flex}.form-toast.error{color:#dc2626;background:#fef2f2;display:flex}[data-theme=dark] .form-toast.success{color:#34d399;background:#022c22}[data-theme=dark] .form-toast.error{color:#ff3b52;background:#1a0009}@keyframes fieldPulse{0%{border-color:var(--red);box-shadow:0 0 0 3px #c8001e2e}60%{border-color:var(--red);box-shadow:0 0 0 5px #c8001e14}to{border-color:var(--red);box-shadow:0 0 #c8001e00}}@keyframes formShake{0%,to{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(6px)}45%{transform:translate(-4px)}60%{transform:translate(4px)}75%{transform:translate(-2px)}90%{transform:translate(2px)}}.form-field-highlight{animation:.8s forwards fieldPulse;border-color:var(--red)!important}.form-shake{animation:.45s formShake}footer{border-top:1px solid var(--line);padding:48px 0}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.footer-logo{font-family:var(--font-syne), sans-serif;letter-spacing:-.02em;color:var(--fg);font-size:17px;font-weight:800}.footer-logo .dot{color:var(--red)}.footer-copy{color:var(--fg4);font-size:13px}.footer-links{gap:24px;display:flex}.footer-links a{color:var(--fg3);font-size:13px;font-weight:500;transition:color .2s}.footer-links a:hover{color:var(--fg)}.chat-widget{z-index:2000;font-family:var(--font-geist), -apple-system, sans-serif;will-change:transform;position:fixed;bottom:24px;right:24px}.chat-toggle{background:var(--fg);width:72px;height:72px;color:var(--bg);cursor:pointer;will-change:width;border:none;border-radius:16px;justify-content:flex-end;align-items:center;padding:0 16px;transition:width .35s cubic-bezier(.4,0,.2,1),box-shadow .35s,padding .35s;display:flex;transform:translateZ(0);box-shadow:0 4px 16px #00000026}.chat-toggle-content{white-space:nowrap;align-items:center;gap:12px;display:flex}.chat-toggle-text{letter-spacing:-.01em;opacity:0;font-size:0;font-weight:600;transition:font-size .35s cubic-bezier(.4,0,.2,1)}.chat-toggle:hover{width:200px;padding:0 20px;box-shadow:0 8px 24px #0003}.chat-toggle:hover .chat-toggle-text{opacity:1;font-size:14px}.chat-toggle-icon{width:35px;height:35px}.chat-box{background:var(--bg);border:1px solid var(--line);opacity:0;will-change:transform, opacity;border-radius:18px;flex-direction:column;width:320px;height:460px;transition:opacity .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1);display:none;position:absolute;bottom:80px;right:0;overflow:hidden;transform:translate(420px);box-shadow:0 8px 32px #0000001f}.chat-box.open{opacity:1;display:flex;transform:translate(0)translateZ(0)}.chat-header{background:var(--fg);color:var(--bg);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px;display:flex}.chat-header h3{font-family:var(--font-syne), sans-serif;letter-spacing:-.01em;margin:0;font-size:16px;font-weight:700}.chat-close{cursor:pointer;color:var(--bg);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .2s;display:flex}.chat-close:hover{background:#ffffff26}.chat-messages{scrollbar-color:var(--fg4) transparent;scrollbar-width:thin;flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.chat-message{animation:.3s slideIn;display:flex}.chat-message.user{justify-content:flex-end}.chat-bubble{word-wrap:break-word;white-space:pre-wrap;border-radius:14px;max-width:75%;padding:10px 14px;font-size:13px;line-height:1.5}.chat-message.bot .chat-bubble{background:var(--bg2);color:var(--fg);border-bottom-left-radius:4px}.chat-message.user .chat-bubble{background:var(--fg);color:var(--bg);border-bottom-right-radius:4px}.chat-input-wrap{border-top:1px solid var(--line);background:var(--bg);align-items:center;gap:8px;padding:12px 14px;display:flex}.chat-input{background:var(--bg2);border:1px solid var(--line);color:var(--fg);font-size:13px;font-family:var(--font-geist), sans-serif;border-radius:12px;outline:none;flex:1;padding:9px 12px;transition:border-color .2s}.chat-input::placeholder{color:var(--fg4)}.chat-input:focus{border-color:var(--fg)}.chat-send{background:var(--fg);color:var(--bg);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;width:34px;height:34px;transition:opacity .2s,transform .2s;display:flex}.chat-send:hover{opacity:.8;transform:scale(.95)}.typing-indicator{align-items:center;gap:5px;min-width:40px;padding:4px 2px;display:flex}.typing-indicator span{background:var(--fg3);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite typingBounce;display:inline-block}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}.work-spinner{border:2px solid var(--line);border-top-color:var(--fg4);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite wspin}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes pScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes rScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes wspin{to{transform:rotate(360deg)}}@keyframes scDotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.fade-up{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(28px)}.fade-up.in{opacity:1;transform:translateY(0)}.d1{transition-delay:50ms}.d2{transition-delay:.12s}.d3{transition-delay:.19s}.d4{transition-delay:.26s}.d5{transition-delay:.33s}@media (max-width:1024px){.services-grid,.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.nav-center,.btn-nav-cta{display:none}.hamburger{display:flex}.section{padding:72px 0}.section-header{margin-bottom:40px}.about-grid{grid-template-columns:1fr;gap:40px}.about-visual-block{aspect-ratio:3/2}.about-visual-img{object-fit:cover;object-position:top;width:100%;height:100%;position:absolute;inset:0}.stats-row{grid-template-columns:1fr 1fr}.process-item{grid-template-columns:56px 1fr}.p-badge{display:none}.why-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr;gap:40px}.form-row{grid-template-columns:1fr}.footer-inner{flex-direction:column;align-items:flex-start}.chat-toggle-icon{width:28px;height:28px}}@media (max-width:768px){.hero-banner-content{padding:0 24px 48px}.hero-banner-title{font-size:clamp(40px,10vw,72px)}.projects-grid{grid-template-columns:1fr}.work-section{padding:64px 0}.partners-section{padding:40px 0}.review-card{width:260px}.rform-row{grid-template-columns:1fr}.leave-review-inner{flex-direction:column;align-items:flex-start}}@media (max-width:600px){.services-grid{grid-template-columns:1fr}.about-visual-block{aspect-ratio:9/16}.about-stat-row{z-index:2;flex-direction:column;gap:8px;display:flex;position:absolute;bottom:24px;right:24px}}@media (max-width:540px){.hero-banner-title{font-size:clamp(30px,8vw,52px)}.chat-toggle{width:50px;height:50px}.chat-box{border-radius:0;width:100vw;max-width:100%;height:100vh;bottom:0;right:0}.chat-widget{bottom:16px;right:16px}.stats-row{text-align:center;grid-template-columns:1fr}.why-grid{grid-template-columns:1fr}}
