@font-face{font-family:"Archivo Fallback";src:local("Arial");font-weight:100 600;size-adjust:98.9%;ascent-override:89%;descent-override:21.3%;line-gap-override:0%;}@font-face{font-family:"Archivo Fallback";src:local("Arial Bold"),local("Arial");font-weight:700;size-adjust:98.9%;ascent-override:89%;descent-override:21.3%;line-gap-override:0%;}@font-face{font-family:"Archivo Fallback";src:local("Arial Bold"),local("Arial");font-weight:800 900;size-adjust:103%;ascent-override:85.5%;descent-override:20.4%;line-gap-override:0%;}:root{--charcoal:#17181A;--raised:#202226;--raised2:#26282D;--line:#34373D;--line-soft:#2A2C31;--slate:#9AA0AA;--ink:#F2F1EE;--red:#E5171F;--red-deep:#B4121A;--grey:#999b9e;--grey2:#a0a2a6;--card:#ffffff;--text:#1d1e20;--body:#2e2f31;--r:22px;--r-sm:12px;--max:1200px;--gut:60px;--shape:0 var(--r) 0 var(--r);--shape-sm:0 var(--r-sm) 0 var(--r-sm);}*{box-sizing:border-box;}html{scroll-behavior:smooth;}body{margin:0;font-family:'Archivo','Archivo Fallback',Arial,sans-serif;background:var(--charcoal);color:var(--ink);-webkit-font-smoothing:antialiased;}.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut);}h1,h2,h3,h4,p{margin:0;}a{color:inherit;}.label{display:block;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--slate);margin-bottom:14px;}.red{color:var(--red);}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--red);color:#17181A;font-weight:800;letter-spacing:.02em;text-decoration:none;border:0;cursor:pointer;border-radius:var(--shape-sm);transition:background .15s;}.btn:hover{background:var(--red-deep);color:#fff;}.btn.lg{font-size:18px;padding:17px 30px;min-width:300px;border-radius:var(--shape);}.btn.md{font-size:15px;padding:15px 28px;}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);}.btn.ghost:hover{background:var(--raised2);}.btn.light{background:var(--card);color:var(--red);}.bar{position:absolute;inset:0 0 auto 0;height:72px;z-index:5;}.bar .wrap{height:72px;display:flex;align-items:center;justify-content:space-between;}.bar b{font-size:19px;font-weight:800;letter-spacing:-.01em;display:flex;align-items:center;gap:9px;}.bar .logo{height:34px;width:auto;display:block;}.bar nav a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-left:28px;}.hero{position:relative;background:var(--charcoal);padding:130px 0 70px;overflow:hidden;border-bottom:1px solid var(--line-soft);}.hero::before{content:"";position:absolute;inset:0;background:url('/img/hero_halftone.webp') center 38%/cover;opacity:.4;}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,24,26,.15),var(--charcoal));}.hero .wrap{position:relative;z-index:2;}.hero h1{font-size:52px;font-weight:800;line-height:.98;letter-spacing:-1.2px;max-width:700px;}.hero .sub{font-size:18px;line-height:1.35;letter-spacing:-.3px;color:#c9ccd2;margin:20px 0 28px;max-width:620px;}.hero-top{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:start;}.rows{display:flex;flex-direction:column;gap:10px;}.row-btn{display:flex;justify-content:space-between;align-items:center;text-decoration:none;font-size:20px;font-weight:700;padding:22px 26px;border-radius:var(--shape);color:#fff;}.row-btn.design{background:linear-gradient(120deg,#E5171F,#B4121A);}.row-btn.dev{background:linear-gradient(120deg,#41576D,#35495E);}.row-btn.about{background:linear-gradient(120deg,#46494F,#3A3D42);}.row-btn:hover{filter:brightness(1.12);}.hero h2{font-size:28px;font-weight:900;text-transform:uppercase;letter-spacing:-1px;line-height:1.05;margin-top:60px;}.hero .lead{font-size:14px;color:var(--slate);margin:8px 0 18px;}.cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;}.stat-card{background:var(--raised);border:1px solid var(--line-soft);border-radius:var(--shape);min-height:84px;display:flex;align-items:center;padding:0 26px;gap:22px;}.stat-card b{color:var(--red);font-size:52px;font-weight:800;letter-spacing:-1.5px;min-width:150px;}.stat-card span{font-size:15px;font-weight:600;color:#d6d8dc;}.stat-card b{position:relative;display:inline-block;transition:transform .16s ease-out,text-shadow .16s ease-out;}.stat-card:hover b{transform:translate(-5px,-5px);text-shadow:1px 1px 0 #8f0f15,2px 2px 0 #8f0f15,3px 3px 0 #7a0c11,4px 4px 0 #7a0c11,5px 5px 0 #660a0e;}.stat-card b::after{content:attr(data-text);position:absolute;left:0;top:0;white-space:nowrap;pointer-events:none;opacity:0;background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.95) 50%,transparent 62%) 160% 0 / 260% 100% no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}.stat-card:hover b::after{opacity:1;animation:sheen .5s ease-out 1;}@keyframes sheen{from{background-position:160% 0;}to{background-position:-60% 0;}}@media (prefers-reduced-motion:reduce){.stat-card:hover b::after{animation:none;opacity:0;}}.trusted{background:var(--grey);color:var(--text);padding:23px 0;text-align:center;}.trusted h2{font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--body);margin-bottom:13px;}.strip{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);}.strip:hover .strip-track{animation-play-state:paused;}.strip-track{display:flex;width:max-content;align-items:center;animation:slide 55s linear infinite;}.strip-track span{height:30px;margin:0 26px;display:flex;align-items:center;}.strip-track img{height:100%;width:auto;max-width:100px;object-fit:contain;}@keyframes slide{to{transform:translateX(-50%);}}.services{background:var(--grey);color:var(--text);padding:60px 0;}.services-head{display:flex;justify-content:space-between;align-items:center;gap:30px;}.services h2{font-size:60px;font-weight:900;line-height:.98;letter-spacing:-2px;max-width:585px;}.svc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px;}.svc{background:var(--card);border-radius:var(--shape);padding:32px 30px;border-top:4px solid var(--red);}.svc small{font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--red);}.svc h3{font-size:22.85px;font-weight:800;line-height:1.2;letter-spacing:-.46px;margin-top:8px;}.svc p{margin-top:14px;font-size:16px;line-height:24px;color:var(--body);}.chips{background:var(--card);border-radius:var(--shape);padding:26px 34px;margin-top:20px;display:flex;align-items:center;flex-wrap:wrap;gap:12px;}.chips h3{font-size:16px;font-weight:800;margin-right:12px;}.chip{background:var(--grey);border-radius:var(--shape-sm);padding:11px 22px;font-size:15px;font-weight:600;}.work{background:var(--raised);padding:80px 0;border-top:1px solid var(--line-soft);}.row{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;margin-top:60px;}.row.first{margin-top:30px;}.row.flip .shot{order:2;}.shot{aspect-ratio:16/10;border-radius:var(--shape);overflow:hidden;background:#333;}.shot img{width:100%;height:100%;object-fit:cover;display:block;}.shot.contain{background:var(--card);}.shot.contain img{object-fit:contain;padding:26px;}.row h3{font-size:50px;font-weight:800;line-height:1;letter-spacing:-1.5px;margin:6px 0 16px;}.row p{font-size:18px;line-height:1.4;letter-spacing:-.3px;color:#c9ccd2;margin-bottom:24px;}.tags{display:flex;gap:14px;margin:-4px 0 22px;font-size:14px;color:var(--slate);}.process{background:var(--grey2);color:var(--text);padding:70px 0;}.process h2{font-size:58px;font-weight:900;line-height:.95;letter-spacing:-1.5px;text-transform:uppercase;}.steps{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:44px;}.step{background:var(--card);border-radius:var(--shape);padding:32px;}.step small{color:var(--red);font-weight:800;letter-spacing:.16em;text-transform:uppercase;font-size:12px;}.step h3{font-size:34px;font-weight:800;letter-spacing:-1px;margin:8px 0 10px;}.step p{color:var(--body);font-size:17px;line-height:1.5;}.cta{background:var(--red);color:#fff;padding:70px 0;}.cta .wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;align-items:center;}.cta h2{font-size:72px;font-weight:900;line-height:.88;letter-spacing:-.04em;}.cta p{font-size:18px;line-height:1.4;margin-bottom:22px;}footer{background:var(--charcoal);color:var(--slate);padding:30px 0;font-size:14px;}footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;}@media (max-width:900px){:root{--gut:24px;--r:18px;}.hero{padding:110px 0 50px;}.hero h1{font-size:46px;}.hero-top,.cards,.svc-cards,.steps,.row,.cta .wrap{grid-template-columns:1fr;}.row.flip .shot{order:0;}.row{gap:24px;}.stat-card b{font-size:40px;min-width:110px;}.services-head{flex-direction:column;align-items:flex-start;}.services h2{font-size:40px;}.row h3{font-size:36px;}.process h2{font-size:40px;}.cta h2{font-size:52px;}.btn.lg{min-width:0;width:100%;}}.build-word{display:block;width:fit-content;margin-left:auto;}.build-letter{display:inline-block;animation:build-in .55s cubic-bezier(.34,1.56,.64,1) both;}.build-letter:nth-child(1){animation-delay:.05s}.build-letter:nth-child(2){animation-delay:.15s}.build-letter:nth-child(3){animation-delay:.25s}.build-letter:nth-child(4){animation-delay:.35s}.build-letter:nth-child(5){animation-delay:.45s}.build-letter:nth-child(6){animation-delay:.55s}@keyframes build-in{0%{opacity:0;transform:translateY(-.6em) scale(.6)}60%{opacity:1;transform:translateY(.08em) scale(1.08)}100%{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion:reduce){.build-letter{animation:none;}}.gh-cta{margin-bottom:34px;}.bar .logo,.bar b span.nm{animation:pop-in .5s cubic-bezier(.22,1,.36,1) both;display:inline-block;}.bar .logo{animation-delay:.08s;}@keyframes pop-in{0%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.12)}100%{opacity:1;transform:scale(1)}}.hero .wrap,.pagehead .wrap{animation:fade-in .35s ease both;}@keyframes fade-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.bar .logo,.bar b span.nm,.hero .wrap,.pagehead .wrap{animation:none;}}.hero-top{align-items:start;}.hero-top .sub{margin-bottom:0;}.hero-top .rows{height:auto;}.hero-top .rows .row-btn,.hero-top .rows .dl{flex:none;box-sizing:border-box;height:54px;min-width:0;width:100%;padding:0 26px;display:flex;align-items:center;}.hero-top .rows .dl{justify-content:space-between;font-size:20px;font-weight:600;letter-spacing:0;border:1px solid transparent;border-radius:var(--shape);}.hero-top{margin-bottom:56px;align-items:stretch;}.hero-top>div:first-child{container-type:inline-size;display:flex;flex-direction:column;justify-content:center;}.hero-top h1{font-size:min(10.2cqw,66px);line-height:.69;letter-spacing:0 !important;text-align:left;margin:0;width:auto;max-width:none;display:block;}.hero-top h1 .build-word{font-size:3.85em;line-height:.69;display:block;width:fit-content;margin:.09em 0 0 -.052em;}@media (max-width:900px){.hero-top .rows{margin-top:26px;}}.build-word{position:relative;transition:transform .16s ease-out,text-shadow .16s ease-out;}.build-word:hover{transform:translate(-5px,-5px);text-shadow:1px 1px 0 #8f0f15,2px 2px 0 #8f0f15,3px 3px 0 #7a0c11,4px 4px 0 #7a0c11,5px 5px 0 #660a0e,6px 6px 0 #52080b;}.build-word::after{content:attr(data-text);position:absolute;left:0;top:0;white-space:nowrap;pointer-events:none;opacity:0;background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.55) 50%,transparent 62%) 160% 0 / 260% 100% no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}.build-word:hover::after{opacity:1;animation:sheen .5s ease-out 1;}@media (prefers-reduced-motion:reduce){.build-word:hover::after{animation:none;opacity:0;}}@media (max-width:700px){.bar{height:auto;}.bar .wrap{height:auto;flex-wrap:wrap;padding-top:14px;padding-bottom:10px;gap:6px 18px;}.bar nav{display:flex;flex-wrap:wrap;}.bar nav a{margin-left:0;margin-right:16px;font-size:12px;}.hero{padding-top:128px;}.pagehead{padding-top:128px;}}.burger{display:none;}@media (max-width:700px){.bar{height:64px;}.bar .wrap{height:64px;flex-wrap:nowrap;padding-top:0;padding-bottom:0;gap:0;}.hero{padding-top:104px;}.pagehead{padding-top:104px;}.burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0 10px;margin-right:-10px;background:none;border:0;cursor:pointer;position:relative;z-index:7;}.burger span{display:block;height:2px;border-radius:2px;background:var(--ink);transition:transform .25s ease,opacity .2s ease;}.bar.open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}.bar.open .burger span:nth-child(2){opacity:0;}.bar.open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}.bar nav{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;flex-wrap:nowrap;padding:6px 20px 14px;background:color-mix(in srgb,var(--charcoal) 75%,#fff 25%);border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 18px 30px rgba(0,0,0,.45);visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s;z-index:6;overflow:hidden;}.bar.open nav{visibility:visible;opacity:1;transform:none;transition:opacity .2s ease,transform .2s ease,visibility 0s;}.bar nav a{margin:0;padding:15px 2px;font-size:16px;border-bottom:1px solid rgba(255,255,255,.08);}.bar nav a:last-child{border-bottom:0;}.bar.open.first nav a{animation:menu-line .42s cubic-bezier(.22,1,.36,1) both;}.bar.open.first nav a:nth-child(1){animation-delay:.05s;}.bar.open.first nav a:nth-child(2){animation-delay:.17s;}.bar.open.first nav a:nth-child(3){animation-delay:.29s;}.bar.open.first nav a:nth-child(4){animation-delay:.41s;}}@keyframes menu-line{from{opacity:0;transform:translateX(-34px);}to{opacity:1;transform:none;}}.bar{position:fixed;inset:0 0 auto 0;border-bottom:1px solid transparent;transition:background-color .35s ease,box-shadow .35s ease,border-color .35s ease,-webkit-backdrop-filter .35s ease,backdrop-filter .35s ease;}.bar::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s ease;background:linear-gradient(115deg,rgba(255,255,255,.15) 0%,rgba(255,255,255,.03) 28%,rgba(255,255,255,0) 52%,rgba(255,255,255,.10) 100%);}.bar.scrolled{background-color:rgba(26,29,36,.9);-webkit-backdrop-filter:blur(20px) saturate(1.9) brightness(1.12);backdrop-filter:blur(20px) saturate(1.9) brightness(1.12);border-bottom-color:rgba(255,255,255,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -1px 0 rgba(255,255,255,.07),0 10px 32px rgba(0,0,0,.38);}.bar.scrolled::before{opacity:1;}.bar .wrap{position:relative;}.hero::before,.pagehead::before{inset:-150px 0 !important;transform:translate3d(0,var(--py,0px),0);will-change:transform;opacity:.3 !important;background-position:center 38% !important;}.pfx{position:fixed;inset:-220px 0;z-index:-1;pointer-events:none;background:url('/img/hero_halftone.webp') center 38%/cover;opacity:.3;transform:translate3d(0,var(--pfy,0px),0);will-change:transform;}.services,.process{background:transparent !important;}img{height:auto;}.pagehead{position:relative;background:var(--charcoal);padding:130px 0 56px;border-bottom:1px solid var(--line-soft);overflow:hidden;}.pagehead::before{content:"";position:absolute;inset:0;background:url('/img/hero_halftone.webp') center 38%/cover;opacity:.22;}.pagehead::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,24,26,.1),var(--charcoal));}.pagehead .wrap{position:relative;z-index:2;}.pagehead h1{font-size:60px;font-weight:900;line-height:.98;letter-spacing:-2px;}.pagehead p{font-size:18px;line-height:1.4;color:#c9ccd2;margin-top:18px;max-width:680px;}.back{display:inline-block;color:var(--slate);text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:22px;}.back:hover{color:var(--ink);}.section-dark{background:var(--charcoal);padding:60px 0 80px;}.section-light{background:var(--grey);color:var(--text);padding:60px 0 80px;}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px;}.fchip{font:inherit;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);background:transparent;border:1px solid var(--line);border-radius:var(--shape-sm);padding:10px 16px;cursor:pointer;}.fchip:hover{color:var(--ink);border-color:var(--slate);}.fchip.on{background:var(--red);border-color:var(--red);color:#17181A;}.light .fchip{color:#4a4b4d;border-color:#9a9b9e;}.light .fchip.on{color:#17181A;}.design-top{display:grid;grid-template-columns:1.3fr 1fr;gap:36px;align-items:start;margin-bottom:56px;}.map-box{background:var(--raised);border:1px solid var(--line-soft);border-radius:var(--shape);padding:22px;}.map-box h2,.gal-box h2{font-size:26px;font-weight:800;letter-spacing:-.6px;margin:4px 0 6px;}.map-box p,.gal-box p{color:var(--slate);font-size:14px;margin-bottom:14px;}.map-box svg{width:100%;height:auto;display:block;}.map-box svg path{fill:#26282D;stroke:#34373D;stroke-width:2;}.mapwrap{position:relative;}.pin{border:0;cursor:pointer;position:absolute;width:14px;height:14px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(229,23,31,.25);transform:translate(-50%,-50%);}.gal-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:16px;}.gal-grid3 a{aspect-ratio:1;overflow:hidden;background:var(--raised2);display:block;border-radius:0;}.gal-grid3 img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s;}.gal-grid3 a:hover img{transform:scale(1.06);}.post{display:grid;grid-template-columns:200px 1fr;gap:26px;background:var(--raised);border:1px solid var(--line-soft);border-radius:var(--shape);padding:22px;margin-bottom:18px;}.post .ph{aspect-ratio:1;background:var(--raised2);overflow:hidden;display:block;}.post .ph.contain{background:var(--card);}.post .ph img{width:100%;height:100%;object-fit:cover;display:block;}.post .ph.contain img{object-fit:contain;padding:10px;}.post h2{font-size:30px;font-weight:800;letter-spacing:-.8px;line-height:1.05;margin:6px 0 10px;}.post p{color:#c9ccd2;font-size:16px;line-height:1.5;margin-bottom:14px;}.kick{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--red);}.tagrow{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:14px;}.tagrow a{color:var(--slate);text-decoration:none;font-size:13px;}.tagrow a:hover{color:var(--red);}.thumbs{display:flex;gap:8px;margin-bottom:16px;}.thumbs img{width:60px;height:46px;object-fit:cover;background:var(--card);}.detail{max-width:760px;}.detail .hero-img{background:var(--raised);border-radius:var(--shape);overflow:hidden;margin-bottom:34px;}.detail .hero-img.contain{background:var(--card);}.detail .hero-img img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;}.detail p{font-size:18px;line-height:1.65;color:#d4d6da;margin-bottom:20px;}.detail-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:34px;}.detail-gal figure{margin:0;}.detail-gal img{width:100%;display:block;background:var(--card);border-radius:0;}.detail-gal figcaption{color:var(--slate);font-size:13px;margin-top:6px;}.masonry{column-count:4;column-gap:10px;}.masonry a{display:block;margin:0 0 10px;break-inside:avoid;background:var(--raised2);position:relative;overflow:hidden;}.masonry img{width:100%;display:block;}.masonry span{position:absolute;left:0;right:0;bottom:0;padding:22px 10px 8px;font-size:12px;background:linear-gradient(transparent,rgba(23,24,26,.88));opacity:0;transition:opacity .2s;}.masonry a:hover span{opacity:1;}.devpost{background:var(--raised);border:1px solid var(--line-soft);border-radius:var(--shape);margin-bottom:34px;overflow:hidden;}.devmedia{background:#0e0f11;padding:22px;display:flex;flex-wrap:wrap;gap:14px;justify-content:center;}.devmedia video,.devmedia img{max-width:100%;max-height:420px;display:block;}.devmedia figure{margin:0;text-align:center;}.devmedia figcaption{font-size:12px;color:var(--slate);margin-top:6px;}.devmedia svg{max-width:100%;height:auto;}.devbody{padding:30px 34px 34px;}.devbody h2{font-size:38px;font-weight:800;letter-spacing:-1px;margin:6px 0 16px;}.devbody p{color:#c9ccd2;font-size:17px;line-height:1.6;margin-bottom:16px;}.devbody code{background:var(--raised2);padding:1px 6px;font-size:.9em;}.private{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);border:1px solid var(--line);border-radius:var(--shape-sm);padding:10px 16px;}.lede{font-size:22px;line-height:1.5;letter-spacing:-.4px;color:var(--text);max-width:820px;margin-bottom:40px;}.items{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}.item{background:var(--card);border-top:4px solid var(--red);border-radius:var(--shape);padding:32px 30px;color:var(--text);}.item h2{font-size:24px;font-weight:800;letter-spacing:-.5px;margin:8px 0 12px;}.item p{color:var(--body);line-height:1.55;font-size:16px;}.item ul{margin:16px 0 0;padding-left:18px;color:var(--body);line-height:1.7;font-size:15px;}.rcards{display:grid;grid-template-columns:1fr 1fr;gap:20px;}.rcard{background:var(--card);border-radius:var(--shape);padding:34px;color:var(--text);}.rcard h2{font-size:28px;font-weight:800;letter-spacing:-.7px;margin:8px 0 12px;}.rcard p{color:var(--body);line-height:1.55;margin-bottom:22px;}.ract{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}.ract a.v{color:var(--text);font-weight:700;}.post.flash{animation:flash 1.5s ease;}@keyframes flash{0%,100%{border-color:var(--line-soft);box-shadow:none}25%,75%{border-color:var(--red);box-shadow:0 0 0 3px rgba(229,23,31,.25)}}.dp{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:22px;max-width:1100px;margin-bottom:64px;align-items:start;}.dp-media,.dp-info{min-width:0;}.dp-main{background:#000;border-radius:var(--shape);overflow:hidden;aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center;}.dp-main video,.dp-main img{width:100%;height:100%;object-fit:contain;display:block;}.dp-svgmain{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:18px;background:#0e0f11;}.dp-svgmain svg{max-width:100%;max-height:100%;height:auto;}.dp-row{margin-top:6px;}.dp-thumbs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth;}.dp-thumbs::-webkit-scrollbar{display:none;}.dp-tile{flex:0 0 auto;width:118px;height:66px;padding:0;border:2px solid transparent;background:#0e0f11;position:relative;overflow:hidden;cursor:pointer;opacity:.78;transition:opacity .15s ease,border-color .15s ease;}.dp-tile:hover{opacity:1;}.dp-tile.on{opacity:1;border-color:#e6e9ef;}.dp-tile img{width:100%;height:100%;object-fit:cover;display:block;}.dp-svgthumb{display:block;width:100%;height:100%;padding:4px;}.dp-svgthumb svg{width:100%;height:100%;display:block;}.dp-ic{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:50%;background:rgba(14,16,20,.78);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;padding-left:2px;pointer-events:none;border:1px solid rgba(255,255,255,.6);}.dp-ctl{display:flex;align-items:center;gap:6px;margin-top:6px;}.dp-ctl.idle{opacity:.4;pointer-events:none;}.dp-arrow{flex:0 0 auto;width:34px;height:20px;background:#26303c;color:#c9d3df;border:0;cursor:pointer;font-size:16px;line-height:1;border-radius:2px;}.dp-arrow:hover{background:#34414f;color:#fff;}.dp-slider{flex:1 1 auto;height:12px;background:#1a2230;position:relative;border-radius:2px;}.dp-knob{position:absolute;top:0;bottom:0;left:0;width:30%;background:#46576b;border-radius:2px;cursor:grab;}.dp-info{background:var(--raised);border:1px solid var(--line-soft);border-radius:var(--shape);padding:22px 22px 20px;display:flex;flex-direction:column;max-height:max(var(--dp-h,9999px),260px);}.dp.open .dp-info{max-height:none;}.dp-text{position:relative;overflow:hidden;flex:1 1 auto;min-height:0;}.dp-text.clamped::after{content:"";position:absolute;left:0;right:0;bottom:0;height:56px;pointer-events:none;background:linear-gradient(transparent,var(--raised));}.dp.open .dp-text{overflow:visible;}.dp.open .dp-text::after{display:none;}.dp-more{align-self:flex-start;margin-top:12px;background:transparent;border:1px solid var(--line);color:var(--ink);font:inherit;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:9px 16px;cursor:pointer;border-radius:var(--shape-sm);}.dp-more:hover{background:var(--raised2);border-color:var(--slate);}.dp-info h2{font-size:30px;font-weight:700;letter-spacing:-.6px;line-height:1.1;margin:6px 0 14px;}.dp-info p{color:#c9ccd2;font-size:15px;line-height:1.6;margin-bottom:14px;}.dp-info code{background:var(--raised2);padding:1px 6px;font-size:.9em;}.dp-actions{flex:0 0 auto;margin-top:12px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;}@media (max-width:900px){.dp{grid-template-columns:minmax(0,1fr);}.dp-tile{width:96px;height:54px;}.dp-info h2{font-size:26px;}}.lb{position:fixed;inset:0;background:rgba(14,15,17,.94);z-index:100;display:none;align-items:center;justify-content:center;padding:30px;}.lb.open{display:flex;}.lb img{max-width:100%;max-height:100%;object-fit:contain;}.lb button{position:absolute;background:var(--raised);color:var(--ink);border:1px solid var(--line);font-size:28px;width:46px;height:60px;cursor:pointer;}.lb .x{top:20px;right:20px;height:46px;}.lb .p{left:20px;top:50%;}.lb .n{right:20px;top:50%;}.lb figcaption{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:var(--slate);font-size:14px;}@media (max-width:900px){.pagehead{padding:110px 0 40px;}.pagehead h1{font-size:40px;}.design-top,.items,.rcards{grid-template-columns:1fr;}.post{grid-template-columns:1fr;}.masonry{column-count:2;}.devbody{padding:22px;}.devbody h2{font-size:30px;}}.btn{color:#fff;}.btn.light{color:var(--red);background:#fff;}.chip{background:#e6e7e9;color:#1d1e20;}.fchip.on,.light .fchip.on{color:#fff;}.kick{color:#ff5a62;}.bar nav a[style]{color:#ff5a62 !important;}.trusted h2{color:var(--text);}.trusted .label,.services .label,.process .label,.section-light .label,.section-light .kick,.item .kick,.rcard .kick{color:#38393b;}.svc small,.step small,.item .kick,.rcard .kick,.section-light .kick{color:#7d0b11;}.services .label,.process .label,.section-light .label{color:#2a2b2d;}.cta .kick{color:#fff;opacity:1 !important;}.post .ph,.post .ph.contain,.shot,.shot.contain,.detail .hero-img,.detail .hero-img.contain,.detail-gal img,.thumbs img{background:#fff;}.detail-gal figure a{display:block;background:#fff;}.gal-track a,.masonry a{background:#fff;}.pagehead .gh-cta{position:absolute;right:0;top:50%;transform:translateY(-50%);margin:0;}@media (max-width:900px){.pagehead .gh-cta{position:static;transform:none;margin-top:22px;}}.design-top[hidden]{display:none !important;}.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:44px;}.pn{display:block;padding:18px 22px;background:var(--raised);border:1px solid var(--line-soft);border-radius:var(--shape);text-decoration:none;color:var(--ink);transition:border-color .15s ease,transform .15s ease;}.pn.next{text-align:right;}.pn small{display:block;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin-bottom:6px;}.pn b{display:block;font-size:17px;font-weight:800;line-height:1.25;letter-spacing:-.2px;}.pn:hover,.pn:focus-visible{border-color:var(--red);outline:none;transform:translateY(-2px);}@media (max-width:700px){.post-nav{grid-template-columns:1fr;}.pn.next{text-align:left;}}:focus-visible{outline:2px solid #ff5a62;outline-offset:2px;}.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:#fff;color:#111;padding:10px 16px;font-weight:800;text-decoration:none;border-radius:0 12px 0 12px;}.skip:focus{left:12px;}.tagrow{gap:2px 6px;}.tagrow a{display:inline-block;padding:5px 6px;}.post.f-hide,.post.pg-hide{display:none !important;}.more-wrap{text-align:center;margin:30px 0 10px;}.more-wrap[hidden]{display:none;}.fx::after,.stat-card b::after,.build-word::after,.results-grid b::after{text-shadow:none !important;}.design-top{display:block;margin-bottom:44px;}.map-box{width:100%;}.map-box{position:relative;overflow:hidden;container-type:size;height:clamp(340px,42vw,520px);padding:0;border:0;outline:1px solid var(--line-soft);outline-offset:-1px;}.map-box>.label,.map-box>h2,.map-box>p{position:relative;z-index:2;margin-left:24px;margin-right:24px;}.map-box>.label{display:block;padding-top:22px;}.map-box::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(21,25,32,.9) 0%,rgba(21,25,32,.5) 30%,rgba(21,25,32,0) 55%);}.mapwrap{position:absolute;inset:0;margin:0;width:auto;aspect-ratio:auto;overflow:visible;z-index:0;}.mapzoom{position:absolute;left:50%;top:50%;width:calc(max(100cqw,100cqh * 1.3884) * 1.45);aspect-ratio:603.1 / 434.4;transform:translate(-52%,-47%);}.mapzoom svg{position:absolute;inset:0;width:100%;height:100%;}.pin{z-index:3;}.map-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(21,25,32,.9) 0%,rgba(21,25,32,.5) 30%,rgba(21,25,32,0) 55%);}.map-box::after{content:none;}a.pin{display:block;text-decoration:none;transition:box-shadow .15s ease,background .15s ease;}a.pin::before{content:"";position:absolute;inset:-9px;border-radius:50%;}a.pin:hover,a.pin:focus-visible{z-index:9;background:#ff3b44;outline:none;box-shadow:0 0 0 5px rgba(255,59,68,.4),0 0 22px 9px rgba(255,59,68,.65);}.pin-tip{position:absolute;left:50%;bottom:calc(100% + 14px);transform:translateX(-50%);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s ease;background:#0b0d10;color:#fff;border:1px solid #7a0c11;border-radius:0 10px 0 10px;padding:8px 13px;font-size:13px;font-weight:700;line-height:1.25;text-align:left;box-shadow:0 8px 22px rgba(0,0,0,.5);}.pin-tip small{display:block;font-size:11px;font-weight:600;color:#9aa0aa;margin-top:2px;}a.pin:hover .pin-tip,a.pin:focus-visible .pin-tip{opacity:1;}.pin-multi{width:22px;height:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--red);border-radius:50%;box-shadow:0 0 0 5px rgba(229,23,31,.25);transition:box-shadow .15s ease,background .15s ease;}.pin-count{font:800 12px/1 Archivo,'Archivo Fallback',Arial,sans-serif;color:#fff;pointer-events:none;}.pin-multi:hover,.pin-multi:focus-visible,.pin-multi.open{z-index:9;background:#ff3b44;outline:none;box-shadow:0 0 0 5px rgba(255,59,68,.4),0 0 22px 9px rgba(255,59,68,.65);}.pin-list{display:none;}.pin-pop{position:absolute;z-index:12;width:max-content;max-width:min(300px,calc(100% - 20px));max-height:calc(100% - 20px);overflow:auto;text-align:left;background:#151920;border:1px solid #2a313b;border-radius:0 14px 0 14px;padding:12px 14px;box-shadow:0 14px 34px rgba(0,0,0,.55);}.pin-pop[hidden]{display:none;}.pin-pop strong{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#9aa0aa;margin-bottom:6px;}.pin-pop a{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:6px 0;color:#fff;text-decoration:none;font:700 13px/1.25 Archivo,'Archivo Fallback',Arial,sans-serif;border-top:1px solid #232933;}.pin-pop a:hover,.pin-pop a:focus-visible{color:#ff5a62;outline:none;}.pin-pop small{font-size:11px;font-weight:600;color:#9aa0aa;white-space:nowrap;}.gal-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:18px;}.gal-head h2{font-size:26px;font-weight:700;letter-spacing:-.5px;margin:4px 0 6px;}.gal-head p{color:var(--slate);font-size:14px;}.gal-strip{overflow:hidden;margin-bottom:56px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}.gal-track{display:flex;gap:8px;width:max-content;animation:gal-scroll var(--gal-dur,220s) linear infinite;}.gal-strip:hover .gal-track,.gal-strip:focus-within .gal-track{animation-play-state:paused;}.gal-track a{flex:0 0 auto;height:133px;background:var(--raised2);display:block;}.gal-track img{height:100%;width:100%;object-fit:cover;display:block;}@keyframes gal-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}:root{--charcoal:#0e1014;--raised:#151920;--raised2:#1b2028;--line:#2a313b;--line-soft:#1d222a;--slate:#8b94a3;--ink:#d6dae1;--red:#E5171F;--red-deep:#B4121A;--accent:#E5171F;--accent-text:#ff5a62;--grey:#12151a;--grey2:#14181e;--card:#191d24;--text:#d6dae1;--body:#a3acba;--extrude:#2c1215;}body{background:var(--charcoal);color:var(--ink);}h1,h2,h3,h4{color:var(--ink);}.hero h1{font-weight:700;letter-spacing:-.6px;}.hero h2,.results h2{font-weight:700;letter-spacing:-.4px;}.services h2,.process h2,.pagehead h1,.cta h2,.row h3{font-weight:700;letter-spacing:-.8px;}.pagehead h1{letter-spacing:-1px;}.process h2{text-transform:none;}.svc h3,.step h3,.item h2,.rcard h2,.devbody h2,.post h2{font-weight:700;}.hero::before{opacity:.22;}.pagehead::before{opacity:.12;}.hero::after{background:linear-gradient(180deg,rgba(14,16,20,.35),var(--charcoal));}.red,.hero h1 .red{color:var(--accent);}.btn,.btn.lg,.btn.md{background:var(--red);color:#fff;font-weight:700;letter-spacing:.01em;}.btn:hover{background:var(--red-deep);color:#fff;}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink);}.btn.ghost:hover{background:var(--raised2);}.btn.light{background:#fff;color:var(--red);border:0;}.btn.light:hover{background:#f1f1f1;color:var(--red-deep);}.row-btn{font-weight:600;color:#e4e7ec;border:1px solid var(--line-soft);}.row-btn.design{background:linear-gradient(120deg,#E5171F,#B4121A);}.row-btn.dev{background:linear-gradient(120deg,#1f2a38,#18212c);}.row-btn.about{background:linear-gradient(120deg,#23272d,#1a1d22);}.stat-card{background:var(--raised);border:1px solid var(--line-soft);}.stat-card b{color:var(--accent);font-weight:700;}.stat-card span{color:#b3bac6;}.stat-card b::after{background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.45) 50%,transparent 62%) 160% 0 / 260% 100% no-repeat;-webkit-background-clip:text;background-clip:text;}.label{color:var(--slate);}.kick,.svc small,.step small,.item .kick,.rcard .kick,.section-light .kick{color:var(--accent-text);}.services .label,.process .label,.section-light .label,.trusted .label{color:var(--slate);}.bar nav a[style]{color:var(--accent-text) !important;}.bar .logo{filter:brightness(.92);}.trusted{background:#b9bec6;color:#1c1f24;}.trusted h2{color:#1c1f24;}.strip-track img{filter:none;}.services,.process,.section-light{background:var(--grey);color:var(--ink);border-top:1px solid var(--line-soft);}.process{background:var(--grey2);}.svc,.step,.item,.rcard,.chips{background:var(--card);border:1px solid var(--line-soft);color:var(--ink);}.svc{border-top:4px solid var(--red);}.item{border-top:4px solid var(--red);}.svc p,.step p,.item p,.rcard p,.item ul,.lede,.results-grid p{color:var(--body);}.lede{color:#b9c0cc;}.chips h3{color:var(--ink);}.chip{background:#222831;color:#c9ced8;border:1px solid var(--line-soft);}.shot,.shot.contain,.post .ph,.post .ph.contain,.detail .hero-img,.detail .hero-img.contain{background:#fff;}.work{background:var(--raised);}.post,.devpost{background:var(--raised);}.cta{background:var(--red);color:#fff;}.cta .kick{color:#fff;}.cta p{color:#fff;}.cta h2{color:#fff;}.fchip{color:var(--slate);}.fchip.on,.light .fchip.on{background:var(--red);border-color:var(--red);color:#fff;}.pin{background:var(--red);box-shadow:0 0 0 5px rgba(229,23,31,.25);}footer{background:#0b0d10;}@media (hover:hover){.fx{position:relative;display:inline-block;max-width:100%;transition:transform .16s ease-out,text-shadow .16s ease-out;}.fx:hover{transform:translate(-4px,-4px);text-shadow:1px 1px 0 #8f0f15,2px 2px 0 #7a0c11,3px 3px 0 #660a0e,4px 4px 0 #52080b;}.fx::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;opacity:0;white-space:normal;background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.5) 50%,transparent 62%) 160% 0 / 260% 100% no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}.fx:hover::after{opacity:1;animation:sheen .5s ease-out 1;}}@media (prefers-reduced-motion:reduce){.fx:hover::after{animation:none;opacity:0;}}