@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";.project-civic{grid-template-columns:1fr}.project-civic .project-visual{padding:28px;min-height:0;background:#182331}.resident-preview{display:block;width:100%;overflow:hidden;border:1px solid #526577;border-radius:9px;background:#0d1620}.resident-browser-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;font-size:11px;color:#c0ccd7}.resident-browser-bar span:first-child{color:#9ee8df;letter-spacing:3px}.resident-preview img{width:100%;height:auto;-o-object-fit:contain;object-fit:contain}.resident-zoom{display:block;padding:12px 16px;color:#9ee8df;font-size:12px}.project-civic .project-copy{max-width:900px}.project-civic .concept-caption{margin-top:14px}@media(max-width:760px){.project-civic .project-visual{padding:12px}.resident-browser-bar{font-size:9px;padding:10px}}.collection-heading{margin:100px 0 40px}.app-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.app-card{border:1px solid #293a48;border-radius:22px;overflow:hidden;background:#101e2c;min-width:0;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.app-card:first-child{grid-column:1 / -1;display:grid;grid-template-columns:1.1fr 1fr}.app-stage{display:block;width:100%;position:relative;padding:48px 24px 28px;background:radial-gradient(ellipse at 50% 60%,#344c59,#182a36 75%);border:0;cursor:pointer;overflow:hidden;color:#eaf2f4}.app-fitness .app-stage{background:radial-gradient(ellipse at 50% 70%,#755b39,#242b32 75%)}.app-travel .app-stage{background:radial-gradient(ellipse at 50% 70%,#245e71,#182a36 75%)}.app-pharmacy .app-stage{background:radial-gradient(ellipse at 50% 70%,#435e65,#182a36 75%)}.app-video .app-stage{background:radial-gradient(ellipse at 50% 70%,#4e4b72,#202535 75%)}.screen-count{position:absolute;top:18px;right:22px;font-size:10px;letter-spacing:.12em}.screen-stack{height:365px;display:flex;align-items:center;justify-content:center;gap:16px;perspective:1000px}.stack-image{display:block;height:330px;width:auto;max-width:45%;-o-object-fit:contain;object-fit:contain;border-radius:14px;box-shadow:0 20px 35px #0006;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.stack-0{transform:rotate(-5deg) translateY(8px)}.stack-1{transform:rotate(5deg) translateY(-8px)}.app-rider .stack-0,.app-video .stack-0{transform:rotate(-3deg);max-width:90%}.app-card-copy{padding:32px}.app-card h3{font-size:32px;margin:8px 0 12px}.app-tagline{font-size:18px;color:#e4edee}.app-card-copy .text-link{margin-top:24px}.case-dialog .gallery{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start}.case-dialog .gallery button{flex:0 1 190px;max-width:100%;border:1px solid #455564;border-radius:12px;padding:8px;background:#182735;cursor:zoom-in}.case-dialog .gallery img{width:100%;height:auto;max-height:360px;-o-object-fit:contain;object-fit:contain;display:block}.case-dialog .enlarged img{max-width:100%;width:auto;max-height:none;height:auto;display:block;margin:0 auto}.app-stage:focus-visible,.gallery button:focus-visible{outline:3px solid #9ee8df;outline-offset:-4px}@media(hover:hover)and (prefers-reduced-motion:no-preference){.app-card:hover{transform:translateY(-6px);border-color:#7aa6ad;box-shadow:0 24px 50px #0004}.app-stage:hover .stack-0{transform:rotate(-2deg) translateY(-7px)}.app-stage:hover .stack-1{transform:rotate(2deg) translateY(-17px)}.gallery button{transition:transform .25s ease}.gallery button:hover{transform:translateY(-4px)}}@media(max-width:760px){.app-collection{grid-template-columns:1fr;gap:24px}.app-card:first-child{display:block}.app-card-copy{padding:24px}.screen-stack{height:310px;gap:10px}.stack-image{height:280px}.collection-heading{margin-top:64px}}@media(prefers-reduced-motion:reduce){.app-card,.stack-image,.gallery button{transition:none!important;transform:none!important}}:root{font-family:DM Sans,sans-serif;color:#eeeee9;background:#0a111b;font-synthesis:none;font-weight:400;--muted: #9aa8b8;--cyan: #9ee8df;--line: #26323f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}img{max-width:100%;display:block}button{color:inherit}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:Manrope,sans-serif}h1{font-size:clamp(48px,5.8vw,86px);line-height:1.06;letter-spacing:-4.5px;font-weight:500;margin-bottom:28px}h2{font-size:clamp(32px,3.5vw,49px);font-weight:500;line-height:1.18;letter-spacing:-2px;margin-bottom:24px}h3{font-size:24px;font-weight:500;letter-spacing:-.7px}em{font-style:normal;color:var(--cyan)}p{line-height:1.75}.section{width:min(1200px,calc(100% - 96px));margin-inline:auto}.header{height:94px;display:flex;align-items:center;justify-content:space-between;width:min(1300px,calc(100% - 64px));margin:auto;border-bottom:1px solid var(--line)}.brand{font-family:Manrope,sans-serif;font-size:25px;font-weight:800;display:flex;align-items:center}.monogram{display:grid;place-items:center;font-size:20px;background:var(--cyan);color:#13252b;border-radius:9px;width:34px;height:34px;margin-right:12px}.cyan{color:var(--cyan)}.nav{display:flex;gap:30px;font-size:13px;color:#c1cad3}.nav a:hover,.socials a:hover{color:var(--cyan)}.nav-cta{font-size:13px;border:1px solid #51616c;border-radius:5px;padding:12px 18px;display:flex;gap:22px;align-items:center}.menu-button{display:none;background:none;border:0}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;color:var(--cyan);display:flex;align-items:center;gap:10px;margin-bottom:27px}.status-dot{display:inline-block;width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--cyan)}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;padding-block:75px 65px;align-items:center}.hero-intro{max-width:440px;color:var(--muted);font-size:15px}.hero-intro strong{color:#e2e6e6;font-weight:500}.hero-actions{display:flex;gap:25px;align-items:center;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:23px;font-size:13px;font-weight:600;padding:16px 21px;border-radius:5px;border:1px solid transparent}.primary{background:var(--cyan);color:#102127}.primary:hover{background:#bdf4ed}.text-link{display:inline-flex;gap:12px;align-items:center;background:none;border:0;padding:0;font-size:13px}.hero-visual{position:relative;padding:15px 25px 10px 0}.portrait-frame{height:520px;border-radius:150px 150px 12px 12px;overflow:hidden;border:1px solid #4d5c67;background:#424c52;position:relative;transform:rotate(2deg)}.portrait-frame img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 37%;object-position:center 37%;filter:saturate(.7)}.portrait-frame:after{content:"";position:absolute;top:60%;right:0;bottom:0;left:0;background:linear-gradient(transparent,#101820)}.portrait-caption{position:absolute;bottom:24px;left:28px;font-size:12px;letter-spacing:2px;z-index:1}.portrait-caption span{display:block;font-size:9px;opacity:.7;margin-top:8px}.floating-badge{position:absolute;bottom:70px;left:-40px;display:flex;align-items:center;gap:15px;background:#152630ed;border:1px solid #526570;padding:20px 24px;border-radius:9px;box-shadow:0 20px 40px #0004;transform:rotate(-4deg);font-size:14px}.floating-badge svg{color:var(--cyan)}.floating-badge small{display:block;font-size:10px;color:#a5b5c1;margin-top:5px}.vertical-label{position:absolute;right:-20px;top:100px;writing-mode:vertical-rl;letter-spacing:3px;font-size:9px;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);padding:30px 0}.metrics>div{padding-left:35px;border-left:1px solid var(--line)}.metrics>div:first-child{border:0;padding-left:0}.metrics strong{font:500 40px Manrope,sans-serif;letter-spacing:-2px}.metrics strong span{font-size:21px;color:var(--cyan);letter-spacing:-.5px}.metrics small{display:block;color:var(--muted);font-size:11px;margin-top:9px}.metric-note{font-size:10px;color:#8c9ba9;margin-top:12px}.projects,.expertise,.reviews,.process{padding-top:100px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:35px;gap:30px}.section-heading>p{font-size:13px}.muted{color:var(--muted)}.project{display:grid;grid-template-columns:1.1fr 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:30px;background:#101a26}.project-copy{padding:45px}.project-copy .eyebrow{font-size:9px;margin-bottom:22px}.project-copy h3{font-size:34px;margin-bottom:10px}.project-subtitle{font-size:17px;color:#c7d1db;line-height:1.5}.project-copy>.muted{font-size:13px}.tags{display:flex;flex-wrap:wrap;gap:7px}.tags span{font-size:10px;border:1px solid #394854;padding:6px 10px;border-radius:4px;color:#b6c4cf}.role{font-size:11px;color:var(--muted);margin-top:25px}.project-actions{display:flex;justify-content:space-between;align-items:center;gap:15px}.subtle-link{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}.project-visual{position:relative;overflow:hidden;min-height:470px;display:flex;align-items:center;justify-content:center;background:#192c30}.device-pair{display:flex;gap:24px;transform:rotate(-9deg);padding:35px 20px}.phone{width:160px;background:#0c1015;border:5px solid #273237;padding:0;border-radius:22px;overflow:hidden;box-shadow:15px 25px 30px #0006;transition:transform .3s}.phone img{width:100%;height:auto}.phone-1{transform:translateY(35px)}.phone:hover{transform:translateY(-8px)}.download-stamp{position:absolute;bottom:25px;left:25px;display:flex;align-items:center;gap:9px;background:#122124e8;border:1px solid #476165;padding:12px 16px;border-radius:6px}.download-stamp strong{font-size:23px}.download-stamp span{font-size:8px;max-width:75px;letter-spacing:1px;line-height:1.6}.project-civic .project-visual{background:#232838;flex-direction:column;padding:30px}.civic-art{width:100%;max-width:450px;position:relative;padding:20px 5px 40px;perspective:1000px}.concept-window{background:#edf2ef;color:#30464b;border-radius:8px;overflow:hidden;box-shadow:0 25px 50px #0005;transform:rotateY(-9deg) rotate(-5deg);border:1px solid #657873}.window-bar{display:flex;justify-content:space-between;font-size:8px;background:#d3dfda;padding:13px;letter-spacing:1px}.concept-body{display:flex;min-height:245px}.concept-body aside{width:48px;background:#204c4c;padding:20px 12px;color:#c3e6dc}.concept-body aside i{display:block;background:#71938b;height:5px;border-radius:3px;margin-top:24px}.concept-content{padding:20px;flex:1;min-width:0}.concept-content small{font-size:7px;letter-spacing:2px}.concept-content h4{font-size:17px;margin:9px 0 15px}.map-art{height:115px;background:repeating-linear-gradient(35deg,transparent 0 32px,#f8fcf8 32px 38px),repeating-linear-gradient(120deg,#dbe3d5 0,#dbe3d5 35px,#fcfdfa 35px,#fcfdfa 42px);position:relative;overflow:hidden;border-radius:5px}.river{position:absolute;background:#add8df;width:35px;height:200px;left:50%;top:-40px;transform:rotate(35deg)}.pin{position:absolute;z-index:1;color:#24665d;width:17px}.p1{left:25%;top:20px}.p2{left:70%;top:65px}.p3{left:65%;top:10px}.map-art span{position:absolute;bottom:5px;left:5px;font-size:6px;color:#2e4a48;background:#fff9;padding:3px}.feed-lines{display:flex;gap:8px;margin-top:12px}.feed-lines b{height:24px;background:#d2ded8;flex:1;border-radius:4px}.floating-note{position:absolute;right:-4px;bottom:20px;background:#152f36;color:#fff;display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #62818b;border-radius:6px;font-size:11px;box-shadow:0 15px 30px #0004}.floating-note small{display:block;font-size:8px;color:#a8bdc7;margin-top:5px}.concept-caption{font-size:9px;color:#bac5d2;text-align:center;margin:25px 0 0}.more-work{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:35px}.more-work article{display:flex;gap:24px;padding:30px;border:1px solid var(--line);border-radius:8px}.more-work svg{color:var(--cyan);flex-shrink:0}.more-work small{font-size:8px;letter-spacing:1.5px;color:var(--muted)}.more-work h3{font-size:20px;margin:10px 0}.more-work p{font-size:12px;color:var(--muted);margin-bottom:0}.about-grid{padding-top:120px;display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center}.about-photo{border-radius:10px;overflow:hidden;background:#16232b;position:relative}.about-photo img{width:100%;height:480px;-o-object-fit:cover;object-fit:cover;-o-object-position:center 35%;object-position:center 35%;filter:saturate(.5)}.about-photo>span{position:absolute;bottom:0;background:#10212aeb;width:100%;padding:18px;display:flex;align-items:center;gap:10px;font-size:10px}.about-grid p.muted{font-size:14px}.education{border-block:1px solid var(--line);display:flex;gap:20px;padding:22px 0;margin:25px 0}.award{font-size:40px;color:#d9c6a0}.education strong{font-size:15px}.education p{font-size:12px;color:var(--muted);margin:6px 0}.education small{font-size:11px;color:#d9c6a0}.education small span{padding:0 10px;color:var(--muted)}.socials{display:flex;flex-wrap:wrap;gap:22px}.socials a{display:flex;gap:5px;align-items:center;font-size:12px}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:35px}.services article{padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}.service-number{color:var(--cyan);font-size:11px}.services h3{font-size:18px;margin:28px 0 10px}.services p{font-size:13px;max-width:240px;margin-bottom:0}.services article>svg{position:absolute;right:25px;top:28px;color:#6d8390}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}.review-grid figure{margin:0;background:#101a26;border:1px solid var(--line);border-radius:9px;padding:32px;display:flex;flex-direction:column}.rating{display:flex;align-items:center;gap:12px;font-size:10px}.rating>span:first-child{color:var(--cyan);font-size:15px;letter-spacing:3px}.review-grid blockquote{margin:24px 0;font-size:18px;line-height:1.65;flex:1}.review-grid figcaption strong{font-size:12px}.review-grid figcaption p{font-size:11px;color:var(--muted);margin:8px 0 18px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:40px}.process-grid article{border-top:1px solid #45555e;padding-top:20px}.process-grid span{font-size:11px;color:var(--cyan)}.process-grid h3{font-size:19px;margin:20px 0 10px}.process-grid p{font-size:12px}.contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:80px;padding-block:110px 80px}.contact-grid>div>.muted{font-size:14px;max-width:360px}.email-link{font-size:18px;display:flex;align-items:center;gap:12px;margin:35px 0 25px}.small{font-size:11px!important}.contact-grid .small{margin-top:30px}.contact-form{background:#101a26;border:1px solid var(--line);padding:30px;border-radius:9px}.contact-form label{display:block;font-size:11px;margin-bottom:20px}.contact-form label span{color:var(--muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}input,textarea,select{display:block;width:100%;margin-top:9px;border:1px solid #35424e;background:#0d1620;border-radius:4px;padding:12px;color:#eef1ed;font-size:12px;resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#8596a6}input::placeholder,textarea::placeholder{color:#8596a6}select{height:42px}.form-notice{font-size:11px;line-height:1.5;color:#c4c7b6;background:#202a2b;padding:12px;border-radius:4px}.form-status{font-size:12px;margin:12px 0;line-height:1.5;color:var(--cyan)}.fallbacks{display:flex;gap:25px;margin:18px 0;font-size:12px}.fallbacks a{display:flex;align-items:center;gap:5px}.contact-form>small{font-size:10px;line-height:1.5;display:block}.footer{border-top:1px solid var(--line);padding-block:30px;display:flex;align-items:center;gap:30px;font-size:10px;color:var(--muted)}.footer p{margin:0;flex:1}.footer .brand{color:#fff}.footer>a:last-child{color:#ddd}.case-dialog{background:#111d29;color:#ecede9;border:1px solid #4b616f;border-radius:12px;max-width:830px;width:calc(100% - 32px);max-height:90vh;padding:0;overscroll-behavior:contain}.case-dialog::backdrop{background:#030810dc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}body:has(dialog[open]){overflow:hidden}.close-dialog{position:sticky;top:15px;float:right;margin:15px;z-index:5;background:#253846;border:1px solid #536978;border-radius:50%;width:38px;height:38px;display:grid;place-items:center}.case-content{padding:45px}.case-content h3{font-size:18px;margin-top:30px}.case-content p,.case-content li{font-size:14px;color:#b4c3cd;line-height:1.8}.gallery{display:flex;gap:20px;align-items:flex-start}.gallery button{padding:0;background:none;border:1px solid #536978;border-radius:8px;overflow:hidden;max-width:180px}.enlarged{margin-top:25px}.enlarged img{max-height:750px;margin:auto}.enlarged button{display:block;margin:10px auto;padding:10px;background:#253846;border:1px solid #536978;border-radius:4px}.skip-link{position:fixed;top:-80px;left:15px;z-index:100;background:var(--cyan);color:#111;padding:15px}.skip-link:focus{top:10px}:focus-visible{outline:2px solid #9ee8df;outline-offset:5px}@media(min-width:900px){.hero-copy{animation:arrive .7s ease-out}.hero-visual{animation:arrive 1s ease-out}@keyframes arrive{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}}@media(max-width:1050px){.section{width:calc(100% - 60px)}.hero{gap:35px}.portrait-frame{height:440px}.hero-actions{gap:15px;flex-wrap:wrap}.project-copy{padding:30px}.phone{width:135px}.about-grid{gap:45px}.contact-grid{gap:35px}.nav{gap:20px}.email-link{font-size:15px}}@media(max-width:760px){.section{width:calc(100% - 40px)}.header{width:calc(100% - 40px);height:75px}.header .brand{font-size:22px}.nav-cta{margin-left:auto;margin-right:15px;padding:9px 12px;font-size:11px}.menu-button{display:block;padding:5px}.nav{display:none;position:absolute;left:20px;right:20px;top:75px;background:#16222f;border:1px solid #455762;border-radius:8px;z-index:10;padding:18px}.nav.open{display:flex;flex-direction:column;gap:0}.nav a{padding:14px}.hero{grid-template-columns:1fr;padding-top:40px;gap:40px}.hero h1{font-size:clamp(46px,10.3vw,72px);letter-spacing:-2.5px}.hero .eyebrow{font-size:8px;letter-spacing:1.3px}.hero-intro{font-size:14px}.hero-visual{max-width:450px;width:calc(100% - 20px);margin:auto;padding-right:20px}.portrait-frame{height:450px}.floating-badge{left:-10px;padding:15px;bottom:60px}.vertical-label{right:-5px}.hero-actions{gap:20px}.metrics{grid-template-columns:1fr 1fr;padding:0}.metrics>div{padding:22px!important;border-left:0}.metrics>div:nth-child(2n){border-left:1px solid var(--line)}.metrics>div:nth-child(n+3){border-top:1px solid var(--line)}.metrics strong{font-size:34px}.metrics small{font-size:10px;line-height:1.5}.metric-note{font-size:9px}.projects,.expertise,.reviews,.process{padding-top:65px}.section-heading{display:block;margin-bottom:25px}.section-heading>p{margin-top:20px}.project{grid-template-columns:1fr}.project-visual{min-height:370px}.phone{width:140px}.device-pair{gap:25px}.project-copy{padding:28px}.project-copy h3{font-size:29px}.project-copy>.muted{font-size:13px}.more-work{grid-template-columns:1fr;gap:15px}.more-work article{padding:25px}.about-grid{grid-template-columns:1fr;gap:35px;padding-top:65px}.about-photo{max-width:430px}.about-photo img{height:380px}.services{grid-template-columns:1fr 1fr}.services article{padding:22px}.services h3{font-size:17px}.services p{font-size:12px}.review-grid{grid-template-columns:1fr}.review-grid figure{padding:26px}.review-grid blockquote{font-size:17px}.process-grid{grid-template-columns:1fr 1fr;gap:22px}.contact-grid{grid-template-columns:1fr;gap:30px;padding-top:65px}.contact-form{padding:22px}.email-link{font-size:17px}.form-row{grid-template-columns:1fr;gap:0}.footer{flex-wrap:wrap;gap:18px}.footer p{flex-basis:60%;font-size:9px}.footer>span{flex:1}.case-content{padding:30px 22px}.case-content h2{font-size:29px}.gallery{gap:12px}.concept-content{padding:15px}.concept-content h4{font-size:15px}.civic-art{max-width:390px}.contact-form .button{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.phone:hover{transform:none}}
