@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url("./media/space-grotesk-vietnamese-500-normal-BJV4DSHS.woff2") format("woff2"),url("./media/space-grotesk-vietnamese-500-normal-MGE4IPKK.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url("./media/space-grotesk-latin-ext-500-normal-6YC3BUQW.woff2") format("woff2"),url("./media/space-grotesk-latin-ext-500-normal-MRHXUI62.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url("./media/space-grotesk-latin-500-normal-GESQWJQV.woff2") format("woff2"),url("./media/space-grotesk-latin-500-normal-HV4TE4RA.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url("./media/space-grotesk-vietnamese-700-normal-PU32LQ5W.woff2") format("woff2"),url("./media/space-grotesk-vietnamese-700-normal-F4TVIWWM.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url("./media/space-grotesk-latin-ext-700-normal-VUMKC3YE.woff2") format("woff2"),url("./media/space-grotesk-latin-ext-700-normal-GTZL6LEG.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url("./media/space-grotesk-latin-700-normal-I3MXRIUZ.woff2") format("woff2"),url("./media/space-grotesk-latin-700-normal-6Z7GHSI6.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url("./media/inter-cyrillic-ext-400-normal-6VZLC4H3.woff2") format("woff2"),url("./media/inter-cyrillic-ext-400-normal-FIY4AS7B.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url("./media/inter-cyrillic-400-normal-G4TQJ72A.woff2") format("woff2"),url("./media/inter-cyrillic-400-normal-U23O635P.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url("./media/inter-greek-ext-400-normal-JTQ56XIH.woff2") format("woff2"),url("./media/inter-greek-ext-400-normal-RDW6D2QK.woff") format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url("./media/inter-greek-400-normal-24BA4PDP.woff2") format("woff2"),url("./media/inter-greek-400-normal-ZRMMCGZA.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url("./media/inter-vietnamese-400-normal-3ZH4IT4J.woff2") format("woff2"),url("./media/inter-vietnamese-400-normal-VHOS7L4B.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url("./media/inter-latin-ext-400-normal-GKRFIQRI.woff2") format("woff2"),url("./media/inter-latin-ext-400-normal-J3OKVTXA.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url("./media/inter-latin-400-normal-55WT6UWF.woff2") format("woff2"),url("./media/inter-latin-400-normal-FR5HOXA4.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url("./media/inter-cyrillic-ext-500-normal-7YGZWFHX.woff2") format("woff2"),url("./media/inter-cyrillic-ext-500-normal-LJV3DWSQ.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url("./media/inter-cyrillic-500-normal-PQK3XKF6.woff2") format("woff2"),url("./media/inter-cyrillic-500-normal-XH4MSKNN.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url("./media/inter-greek-ext-500-normal-ZPKR4LNJ.woff2") format("woff2"),url("./media/inter-greek-ext-500-normal-PJFKOJVL.woff") format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url("./media/inter-greek-500-normal-6QPUHW6Z.woff2") format("woff2"),url("./media/inter-greek-500-normal-3GRTEB6X.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url("./media/inter-vietnamese-500-normal-PQFGSX3P.woff2") format("woff2"),url("./media/inter-vietnamese-500-normal-UOTTXFJL.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url("./media/inter-latin-ext-500-normal-3G2JDXWM.woff2") format("woff2"),url("./media/inter-latin-ext-500-normal-UGNIJJWL.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url("./media/inter-latin-500-normal-W62DVTXI.woff2") format("woff2"),url("./media/inter-latin-500-normal-ZNGIZ2YB.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url("./media/inter-cyrillic-ext-600-normal-66Z4CWZK.woff2") format("woff2"),url("./media/inter-cyrillic-ext-600-normal-5S66ZLPP.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url("./media/inter-cyrillic-600-normal-F5BISKXR.woff2") format("woff2"),url("./media/inter-cyrillic-600-normal-YOMHVXBS.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url("./media/inter-greek-ext-600-normal-D4Z5GF6D.woff2") format("woff2"),url("./media/inter-greek-ext-600-normal-BCNJL3T4.woff") format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url("./media/inter-greek-600-normal-ZRJSSN4C.woff2") format("woff2"),url("./media/inter-greek-600-normal-J3AMDQNF.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url("./media/inter-vietnamese-600-normal-TVIYLGI7.woff2") format("woff2"),url("./media/inter-vietnamese-600-normal-YXHD7S3I.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url("./media/inter-latin-ext-600-normal-HCYHLWH6.woff2") format("woff2"),url("./media/inter-latin-ext-600-normal-JH5KI6RD.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url("./media/inter-latin-600-normal-R6Y2SZCR.woff2") format("woff2"),url("./media/inter-latin-600-normal-ZYHV6QZT.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--primary:#7C5CFF;--secondary:#22D3EE;--accent:#F4FF6A;--bg:#070912;--surface:#111527;--text:#F7F8FF;--muted:#A7AEC7;--soft:color-mix(in srgb,var(--primary) 10%,var(--surface));--soft-strong:color-mix(in srgb,var(--primary) 25%,var(--surface));--line:color-mix(in srgb,var(--text) 15%,transparent);--focus:#22D3EE;--on-primary:#FFFFFF;--on-secondary:#0B0B0B;--contrast-bg:#111111;--contrast-text:#FFFFFF;--contrast-accent:#F4FF6A;--selection-text:#111;--font-display:"Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-body:"Inter", ui-sans-serif, system-ui, sans-serif;--radius:28px;--radius-pill:999px;--display-tracking:-.055em;--media-tilt:-3deg}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.6;overflow-x:hidden}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}::selection{background:var(--accent);color:var(--selection-text)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;top:12px;left:12px;z-index:1000;padding:.75rem 1rem;background:var(--text);color:var(--bg);transform:translateY(-160%);transition:transform .2s}.skip-link:focus{transform:none}.section-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.site-header{height:84px;width:min(1240px,calc(100% - 32px));margin:16px auto 0;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:sticky;top:16px;z-index:50;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:var(--radius-pill);box-shadow:0 14px 45px color-mix(in srgb,var(--text) 8%,transparent)}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:var(--on-primary);font-family:var(--font-display);font-weight:800}.brand span:last-child{display:grid;line-height:1.05}.brand strong{font-family:var(--font-display);font-size:1.02rem;letter-spacing:-.02em}.brand small{margin-top:4px;color:var(--muted);font-size:.7rem;white-space:nowrap}.primary-nav{display:flex;align-items:center;gap:8px}.primary-nav>a{padding:10px 13px;border-radius:var(--radius-pill);font-size:.86rem;font-weight:700;transition:background .2s,transform .2s,color .2s}.primary-nav>a:hover,.primary-nav>a:focus-visible,.primary-nav>a.active{background:var(--soft)}.primary-nav .nav-cta{background:var(--primary);color:var(--on-primary);padding-inline:18px}.primary-nav .nav-cta:hover,.primary-nav .nav-cta:focus-visible{background:var(--secondary);color:var(--on-secondary);transform:translateY(-2px)}.menu-button{display:none;width:46px;height:46px;border:1px solid var(--line);background:var(--surface);border-radius:50%;align-items:center;justify-content:center;flex-direction:column;gap:4px}.menu-button span:not(.sr-only){width:19px;height:2px;background:currentColor;border-radius:2px;transition:transform .25s,opacity .2s}.menu-button[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-button[aria-expanded=true] span:nth-child(2){opacity:0}.menu-button[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}main{min-height:70vh}.hero{min-height:calc(100vh - 120px);padding:clamp(60px,9vw,130px) 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.92fr);align-items:center;gap:clamp(40px,6vw,90px)}.hero-copy{position:relative;z-index:2}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800;color:var(--primary);margin:0 0 16px}.hero h1,.page-hero h1,.contact-intro h1,.project-detail-hero h1,.page-empty h1{font-family:var(--font-display);font-size:clamp(3.2rem,7.5vw,7.2rem);letter-spacing:var(--display-tracking);line-height:.94;margin:0;text-wrap:balance;max-width:12ch}.hero-summary{font-size:clamp(1rem,1.4vw,1.24rem);color:var(--muted);max-width:59ch;margin:28px 0}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.button{min-height:48px;padding:12px 20px;border:1px solid transparent;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:800;font-size:.9rem;cursor:pointer;transition:transform .22s,background .22s,border-color .22s,color .22s}.button:hover,.button:focus-visible{transform:translateY(-3px)}.button.primary{background:var(--primary);color:var(--on-primary)}.button.primary:hover,.button.primary:focus-visible{background:var(--secondary);color:var(--on-secondary)}.button.ghost{background:var(--surface);border-color:var(--line)}.button.ghost:hover,.button.ghost:focus-visible{border-color:var(--primary)}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:40px 0 0}.hero-stats div{padding-top:16px;border-top:1px solid var(--line)}.hero-stats dt{font-family:var(--font-display);font-size:clamp(1.4rem,2vw,2rem);font-weight:800}.hero-stats dd{margin:2px 0 0;color:var(--muted);font-size:.78rem}.hero-media{position:relative;isolation:isolate;overflow:clip}.hero-media:before{content:"";position:absolute;inset:-5%;border-radius:calc(var(--radius) * 1.3);background:var(--accent);transform:rotate(var(--media-tilt));z-index:-1;opacity:.66}.hero-media picture,.hero-media img{width:100%;aspect-ratio:1.25/1;object-fit:cover;border-radius:var(--radius);overflow:hidden}.hero-media img,.project-image img,.project-wide-image img{opacity:0;transform:scale(1.035);transition:opacity .55s,transform .8s}.hero-media img.is-loaded,.project-image img.is-loaded,.project-wide-image img.is-loaded{opacity:1;transform:scale(1)}.media-note{position:absolute;right:18px;bottom:18px;display:grid;gap:2px;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text);padding:12px 15px;border-radius:calc(var(--radius) * .55);box-shadow:0 12px 30px #0000001f}.media-note span{font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.media-note strong{font-size:.82rem}.marquee{overflow:clip;max-width:100vw;contain:paint;border-block:1px solid var(--line);background:var(--surface)}.marquee>div{width:min(1180px,calc(100% - 40px));margin-inline:auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;padding:16px 0}.marquee span{font-family:var(--font-display);font-size:clamp(1rem,2vw,1.45rem);font-weight:800;white-space:nowrap}.marquee span:after{content:"\2726";margin-left:18px;color:var(--primary)}.services-section,.process-section,.work-results,.final-cta{padding-block:clamp(84px,11vw,150px)}.section-heading{max-width:760px;margin-bottom:44px}.section-heading.row{max-width:none;display:flex;justify-content:space-between;gap:28px;align-items:end}.section-heading h2,.final-cta h2,.case-study-grid h2,.project-dialog h2{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,4.8rem);line-height:1;letter-spacing:var(--display-tracking);margin:0;text-wrap:balance}.section-heading>p:last-child,.final-cta>p{color:var(--muted);max-width:55ch}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{min-height:300px;padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);display:flex;flex-direction:column;transition:transform .25s,border-color .25s,box-shadow .25s}.service-card:hover{transform:translateY(-7px);border-color:var(--primary);box-shadow:0 18px 50px color-mix(in srgb,var(--text) 8%,transparent)}.service-index{font-weight:800;color:var(--primary)}.service-card h3{font-family:var(--font-display);font-size:1.65rem;margin:auto 0 12px}.service-card p{color:var(--muted);font-size:.92rem}.service-card a{font-size:.82rem;font-weight:800;margin-top:18px}.featured-section,.quote-section{background:var(--contrast-bg);color:var(--contrast-text);padding-block:clamp(84px,11vw,150px)}.featured-section .eyebrow{color:var(--contrast-accent)}.text-link{font-weight:800;border-bottom:1px solid currentColor;padding-bottom:4px}.featured-grid,.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(18px,2.4vw,30px)}.project-card{grid-column:span 4;min-width:0}.project-image{position:relative;display:block;overflow:hidden;border-radius:var(--radius);background:var(--soft);aspect-ratio:4/3}.project-image picture,.project-image img{width:100%;height:100%}.project-image img{object-fit:cover;transition:opacity .5s,transform .7s}.project-card:hover .project-image img{transform:scale(1.05)}.image-overlay{position:absolute;right:12px;bottom:12px;padding:9px 12px;border-radius:var(--radius-pill);background:var(--surface);color:var(--text);font-size:.72rem;font-weight:800;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}.project-card:hover .image-overlay,.project-image:focus-visible .image-overlay{opacity:1;transform:none}.project-meta{padding:20px 2px 0}.project-meta>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--primary);font-weight:800}.featured-section .project-meta>span{color:var(--contrast-accent)}.project-meta h3,.project-meta h2{font-family:var(--font-display);font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.05;margin:8px 0}.project-meta p{color:var(--muted);font-size:.9rem}.featured-section .project-meta p{color:color-mix(in srgb,var(--contrast-text) 70%,transparent)}.process-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.process-list li{display:grid;grid-template-columns:80px 1fr;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.process-list span{color:var(--primary);font-weight:800}.process-list strong{font-family:var(--font-display);font-size:clamp(1.35rem,3vw,2.5rem)}.quote-inner{text-align:center;max-width:900px}.quote-inner blockquote{font-family:var(--font-display);font-size:clamp(2rem,5vw,5rem);line-height:1.06;margin:0}.quote-inner p{margin-top:28px;color:color-mix(in srgb,var(--contrast-text) 70%,transparent)}.final-cta{text-align:center}.final-cta h2{max-width:14ch;margin-inline:auto}.final-cta>p{margin:24px auto 30px}.page-hero{padding:clamp(90px,13vw,170px) 0 50px}.page-hero p:last-child{max-width:64ch;color:var(--muted);font-size:1.05rem}.work-tools{position:sticky;top:116px;z-index:25;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:14px;border:1px solid var(--line);border-radius:var(--radius);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.search-field{min-width:230px;flex:1;display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface)}.search-field svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.8}.search-field input{border:0;outline:0;background:transparent;color:inherit;width:100%}.filter-row{display:flex;gap:8px;flex-wrap:wrap}.filter-row button,.reset-button{border:1px solid var(--line);background:var(--surface);padding:9px 13px;border-radius:var(--radius-pill);font-weight:800;font-size:.78rem;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.filter-row button.active,.filter-row button:hover,.filter-row button:focus-visible{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.reset-button{background:transparent;color:var(--muted)}.results-meta{margin-bottom:24px;color:var(--muted)}.work-grid .project-card{grid-column:span 6;margin-bottom:46px}.work-grid .project-meta p{max-width:56ch}.load-more-wrap{text-align:center;margin-top:30px}.empty-state{text-align:center;padding:80px 20px;border:1px dashed var(--line);border-radius:var(--radius);background:var(--surface)}.empty-state>span{display:block;font-family:var(--font-display);font-size:clamp(4rem,12vw,9rem);line-height:1;color:var(--soft-strong)}.empty-state h2,.empty-state h1{font-family:var(--font-display);font-size:clamp(2rem,4vw,4rem);margin:10px 0}.empty-state p{color:var(--muted)}.page-empty{margin-block:120px}.contact-page{padding:clamp(90px,13vw,170px) 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,8vw,120px);align-items:start}.contact-intro{position:sticky;top:130px}.contact-intro p{color:var(--muted);max-width:56ch}.contact-details{display:grid;gap:14px;margin-top:36px}.contact-details div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:14px}.contact-details span{color:var(--muted);font-size:.8rem}.contact-details strong{text-align:right}.contact-form{padding:clamp(24px,4vw,48px);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);display:grid;gap:22px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:grid;gap:8px}.contact-form label>span{font-weight:800;font-size:.84rem}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--text);padding:13px 14px;border-radius:calc(var(--radius) * .55);outline:none;transition:border-color .2s,box-shadow .2s}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.contact-form small{min-height:18px;color:#b23b3b;opacity:0;font-size:.72rem}.contact-form small.visible{opacity:1}.success-message{padding:16px;border-radius:calc(var(--radius)*.55);background:var(--soft);display:grid;gap:4px}.success-message span{color:var(--muted);font-size:.84rem}.project-detail-hero{padding:clamp(90px,13vw,160px) 0 70px;display:grid;grid-template-columns:1.2fr .6fr;gap:60px;align-items:end}.project-detail-hero>div>p:not(.eyebrow){font-size:1.08rem;color:var(--muted);max-width:56ch}.project-detail-hero dl{margin:0;display:grid;gap:16px}.project-detail-hero dl div{padding-top:14px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.project-detail-hero dt{font-size:.75rem;color:var(--muted)}.project-detail-hero dd{margin:0;text-align:right;font-weight:800;font-size:.82rem}.project-wide-image{width:min(1440px,calc(100% - 32px));margin-inline:auto}.project-wide-image picture,.project-wide-image img{width:100%;max-height:78vh;object-fit:cover;border-radius:var(--radius)}.case-study-grid{padding-block:clamp(80px,10vw,140px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,100px)}.case-study-grid p{color:var(--muted);font-size:1.02rem}.outcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-bottom:clamp(80px,10vw,140px)}.outcome-grid article{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.outcome-grid span{color:var(--primary);font-weight:800}.outcome-grid h3{font-family:var(--font-display);font-size:1.5rem}.outcome-grid p{color:var(--muted)}.next-project{border-top:1px solid var(--line);padding-block:40px 100px;display:flex;justify-content:space-between;gap:20px}.next-project span{color:var(--muted)}.next-project a{font-family:var(--font-display);font-size:clamp(1.2rem,3vw,2rem);font-weight:800}.project-dialog{max-width:600px;width:calc(100% - 32px);padding:clamp(28px,5vw,50px);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);box-shadow:0 30px 100px #0000004d}.project-dialog::backdrop{background:#000000a3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.project-dialog[open]{animation:dialogIn .3s ease both}.dialog-close{position:absolute;right:16px;top:16px;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--bg);cursor:pointer;font-size:1.5rem}.project-dialog li{margin:.7rem 0}.site-footer{width:min(1240px,calc(100% - 32px));margin:0 auto 16px;border-radius:var(--radius);padding:clamp(30px,5vw,60px);background:var(--contrast-bg);color:var(--contrast-text);display:grid;grid-template-columns:1.4fr .6fr;gap:50px}.footer-brand{font-family:var(--font-display);font-size:clamp(2rem,4vw,4rem);font-weight:800}.site-footer p{max-width:58ch;color:color-mix(in srgb,var(--contrast-text) 65%,transparent)}.footer-links{display:grid;align-content:start;gap:12px}.footer-links a{font-weight:800}.footer-meta{grid-column:1/-1;border-top:1px solid color-mix(in srgb,var(--contrast-text) 20%,transparent);padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:color-mix(in srgb,var(--contrast-text) 60%,transparent);font-size:.74rem}.reveal-ready{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal-ready.revealed{opacity:1;transform:none}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}@keyframes dialogIn{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:950px){.site-header{height:72px}.menu-button{display:flex}.primary-nav{position:fixed;inset:88px 16px auto;display:grid;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 30px 90px #00000038;opacity:0;transform:translateY(-12px) scale(.98);pointer-events:none;transition:opacity .25s,transform .25s}.primary-nav.open{opacity:1;transform:none;pointer-events:auto}.primary-nav>a{padding:14px}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding-top:30px}.hero-media{max-width:760px}.service-grid{grid-template-columns:1fr}.service-card{min-height:230px}.featured-grid .project-card{grid-column:span 6}.project-detail-hero,.contact-page{grid-template-columns:1fr}.contact-intro{position:static}.outcome-grid{grid-template-columns:1fr}.work-tools{top:104px}.site-footer{grid-template-columns:1fr}.footer-meta{grid-column:auto;flex-wrap:wrap}}@media(max-width:680px){.section-shell{width:min(100% - 28px,1180px)}.site-header{width:calc(100% - 20px);margin-top:10px;top:10px;padding:0 13px}.brand small{display:none}.hero{padding-top:65px}.hero h1,.page-hero h1,.contact-intro h1,.project-detail-hero h1{font-size:clamp(2.75rem,15vw,5rem)}.hero-stats{grid-template-columns:1fr;gap:8px}.hero-stats div{display:flex;justify-content:space-between;align-items:end}.hero-media:before{inset:-2%}.section-heading.row{display:grid;align-items:start}.featured-grid,.work-grid{display:grid;grid-template-columns:1fr}.featured-grid .project-card,.work-grid .project-card{grid-column:auto}.project-card{margin-bottom:30px}.field-grid,.case-study-grid{grid-template-columns:1fr}.project-detail-hero{gap:35px}.project-detail-hero dl div{align-items:flex-start}.work-tools{position:relative;top:auto}.search-field{min-width:100%}.filter-row{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.filter-row button{white-space:nowrap}.footer-meta,.next-project{display:grid}}@media(min-width:1450px){.section-shell{width:min(1280px,calc(100% - 80px))}.site-header,.site-footer{width:min(1340px,calc(100% - 60px))}}::view-transition-old(root),::view-transition-new(root){animation-duration:.28s;animation-timing-function:ease}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal-ready,.hero-media img,.project-image img,.project-wide-image img{opacity:1;transform:none}}body{background-image:radial-gradient(circle at 15% 8%,color-mix(in srgb,var(--primary) 16%,transparent),transparent 32%),radial-gradient(circle at 90% 25%,color-mix(in srgb,var(--secondary) 14%,transparent),transparent 28%)}.site-header{box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 22%,transparent),0 18px 60px #0000004d}.hero-media:after{content:"";position:absolute;inset:12%;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:50%;mix-blend-mode:screen}.service-card,.project-image{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 10%,transparent)}.brand{gap:14px}.brand-logo{display:block;width:clamp(132px,16vw,224px);height:auto;max-height:58px;object-fit:contain;object-position:left center}.brand-tagline{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.footer-logo{display:block;width:min(340px,78vw);height:auto;max-height:92px;object-fit:contain;object-position:left center;margin-bottom:18px}.site-header.header-rail{width:100%;max-width:none;margin:0;border-radius:0;top:0;border-inline:0;padding-inline:clamp(18px,4vw,64px)}.site-header.header-minimal{background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.site-header.header-overlay{background:color-mix(in srgb,var(--contrast-bg) 72%,transparent);color:var(--contrast-text);border-color:color-mix(in srgb,var(--contrast-text) 18%,transparent)}.site-header.header-overlay .brand-tagline{color:color-mix(in srgb,var(--contrast-text) 68%,transparent)}.site-header.header-center{display:grid;grid-template-columns:1fr auto 1fr}.header-center .brand{grid-column:2}.header-center .primary-nav,.header-center .menu-button{grid-column:3;justify-self:end}.site-header.header-split{height:auto;min-height:92px;border-radius:calc(var(--radius)*.55);align-items:flex-end}.header-split .brand{align-items:flex-end}.header-split .brand-logo{width:clamp(170px,20vw,270px)}.hero.hero-editorial{grid-template-columns:minmax(360px,.95fr) minmax(0,1.05fr)}.hero-editorial .hero-media{order:-1}.hero-editorial .hero-media picture,.hero-editorial .hero-media img{aspect-ratio:4/5}.hero.hero-poster{grid-template-columns:minmax(0,.82fr) minmax(440px,1.18fr)}.hero-poster h1{text-transform:uppercase;max-width:9ch;font-size:clamp(4.2rem,9vw,9.2rem)}.hero-poster .hero-media picture,.hero-poster .hero-media img{aspect-ratio:3/4}.hero.hero-stack{grid-template-columns:1fr;padding-top:clamp(70px,8vw,110px)}.hero-stack .hero-copy{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);column-gap:clamp(30px,6vw,90px);align-items:end}.hero-stack .hero-copy .eyebrow,.hero-stack .hero-copy h1{grid-column:1}.hero-stack .hero-summary,.hero-stack .hero-actions{grid-column:2}.hero-stack .hero-stats{grid-column:1/-1}.hero-stack .hero-media picture,.hero-stack .hero-media img{aspect-ratio:16/7}.hero.hero-frame{grid-template-columns:minmax(0,.92fr) minmax(400px,1.08fr)}.hero-frame .hero-media{padding:18px;border:1px solid var(--line);border-radius:calc(var(--radius)*1.35)}.hero-frame .hero-media:before{inset:7%;border-radius:50%;filter:none}.hero-frame .hero-media picture,.hero-frame .hero-media img{aspect-ratio:1/1}.hero.hero-collage{grid-template-columns:minmax(0,1fr) minmax(390px,.9fr)}.hero-collage .hero-copy{padding:clamp(28px,5vw,70px);margin-right:-12%;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 24px 70px color-mix(in srgb,var(--text) 12%,transparent)}.hero-collage .hero-media{transform:rotate(2.5deg)}.hero-collage .hero-media picture,.hero-collage .hero-media img{aspect-ratio:4/5}.hero.hero-sidebar{grid-template-columns:minmax(280px,.62fr) minmax(0,1.38fr)}.hero-sidebar h1{font-size:clamp(3.3rem,6vw,6.6rem)}.hero-sidebar .hero-media picture,.hero-sidebar .hero-media img{aspect-ratio:16/11}.hero.hero-monument{grid-template-columns:1fr;text-align:center;justify-items:center}.hero-monument .hero-copy{display:grid;justify-items:center}.hero-monument .hero-summary{margin-inline:auto}.hero-monument .hero-stats{width:min(760px,100%)}.hero-monument .hero-media{width:min(1080px,100%)}.hero-monument .hero-media picture,.hero-monument .hero-media img{aspect-ratio:16/8}.hero.hero-orbit .hero-media{border-radius:50% 50% 44% 56%/46% 58% 42% 54%}.hero-orbit .hero-media picture,.hero-orbit .hero-media img{border-radius:inherit;aspect-ratio:1/1}.hero-orbit .hero-media:before{border-radius:50%;inset:-2%}.cards-window .project-image{border:10px solid var(--surface);box-shadow:0 0 0 1px var(--line)}.cards-titlebar .project-card{grid-column:span 6;display:grid;grid-template-columns:1.12fr .88fr;gap:22px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.cards-titlebar .project-meta{padding:12px}.cards-titlebar .project-image{aspect-ratio:5/4}.cards-borderless .project-image{border-radius:0;aspect-ratio:16/11}.cards-borderless .project-meta{border-top:1px solid var(--line);margin-top:16px}.cards-stacked .project-card:first-child{grid-column:span 8}.cards-stacked .project-card:first-child .project-image{aspect-ratio:16/10}.cards-stacked .project-card:nth-child(2){grid-column:span 4}.cards-stacked .project-card:nth-child(n+3){grid-column:span 4}.cards-ticket .project-card{padding:14px;border:1px dashed var(--line);border-radius:calc(var(--radius)*.72);background:color-mix(in srgb,var(--surface) 86%,transparent)}.cards-ticket .project-image{border-radius:calc(var(--radius)*.48)}.site-footer.footer-bands{border-radius:0;width:100%;max-width:none;margin-bottom:0;padding-inline:clamp(24px,7vw,110px);background:linear-gradient(110deg,var(--contrast-bg) 0 68%,color-mix(in srgb,var(--primary) 36%,var(--contrast-bg)) 68%)}.site-footer.footer-column{grid-template-columns:.8fr 1.2fr}.footer-column .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.site-footer.footer-editorial{border-radius:0;border-top:1px solid color-mix(in srgb,var(--contrast-text) 20%,transparent);background:transparent;color:var(--text)}.footer-editorial p,.footer-editorial .footer-meta{color:var(--muted)}.site-footer.footer-compact{padding-block:34px;grid-template-columns:1fr auto;align-items:end}.footer-compact .footer-logo{max-width:250px}.site-footer.footer-poster{overflow:hidden;position:relative;min-height:360px;align-items:end}.footer-poster:after{content:"\2726";position:absolute;right:-.05em;bottom:-.35em;font-family:var(--font-display);font-size:18rem;color:color-mix(in srgb,var(--primary) 28%,transparent);line-height:1;pointer-events:none}.project-image:focus-visible img{transform:scale(1.035)}.project-card{transition:transform .25s ease}.project-card:focus-within{transform:translateY(-5px)}.filter-row button,.reset-button{min-height:44px}.search-field input{min-height:48px}.image-overlay{pointer-events:none}@media(max-width:950px){.site-header.header-center{display:flex}.header-center .brand,.header-center .menu-button{grid-column:auto}.hero.hero-editorial,.hero.hero-poster,.hero.hero-frame,.hero.hero-collage,.hero.hero-sidebar{grid-template-columns:1fr}.hero-editorial .hero-media{order:0}.hero-collage .hero-copy{margin-right:0}.hero-collage .hero-media{transform:none}.hero-stack .hero-copy{display:block}.hero-stack .hero-summary{margin-top:24px}.cards-titlebar .project-card{grid-column:1/-1}.cards-stacked .project-card:first-child,.cards-stacked .project-card:nth-child(2),.cards-stacked .project-card:nth-child(n+3){grid-column:span 6}.site-footer.footer-column{grid-template-columns:1fr}}@media(max-width:680px){.brand-logo{width:clamp(116px,42vw,170px)}.brand-tagline{display:none}.site-header.header-split{min-height:72px;align-items:center}.header-split .brand-logo{width:150px}.hero-poster h1{font-size:clamp(3.4rem,18vw,5.8rem)}.hero-stack .hero-media picture,.hero-stack .hero-media img,.hero-monument .hero-media picture,.hero-monument .hero-media img{aspect-ratio:4/3}.cards-titlebar .project-card{display:block}.cards-stacked .project-card:first-child,.cards-stacked .project-card:nth-child(2),.cards-stacked .project-card:nth-child(n+3){grid-column:auto}.site-footer.footer-compact,.footer-column .footer-links{grid-template-columns:1fr}.footer-poster:after{font-size:10rem}.site-footer.footer-bands{background:var(--contrast-bg)}}.hero h1,.page-hero h1,.contact-intro h1,.project-detail-hero h1,.page-empty h1,.section-heading h2,.final-cta h2{overflow-wrap:anywhere}@media(max-width:680px){.work-tools{align-items:stretch}.filter-row{overflow:visible;flex-wrap:wrap;min-width:0}.filter-row button{flex:0 1 auto}}.hero-media.image-error,.project-image.image-error,.project-wide-image.image-error{position:relative;min-height:180px;background:var(--soft)}.image-error img{opacity:0!important}.hero-media.image-error:after,.project-image.image-error:after,.project-wide-image.image-error:after{content:"Image unavailable";position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;font-weight:800;color:var(--muted);background:linear-gradient(135deg,var(--soft),var(--surface));z-index:2}
