:root{color-scheme:light;--ink:#1d1d1f;--secondary:#6e6e73;--blue:#0066cc;--paper:#f5f5f7;--line:#d8d8dd;--wrap:1120px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-size:16px;color:var(--ink);background:#fff;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}.wrap{width:min(var(--wrap),calc(100% - 64px));margin-inline:auto}.section{padding-block:120px}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:600}h2{font-size:clamp(2.5rem,4.3vw,3.75rem);line-height:1.06;letter-spacing:-.05em}h2>span{color:var(--secondary)}p{line-height:1.6}.eyebrow{font-size:.875rem;font-weight:600;letter-spacing:.01em;margin-bottom:24px}.skip{position:fixed;top:-100px;left:12px;z-index:100;background:#fff;padding:14px}.skip:focus{top:12px}.global-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.84);backdrop-filter:blur(22px) saturate(160%);border-bottom:1px solid #0000000a}.nav{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:25px}.wordmark{font-size:1.25rem;letter-spacing:-.075em;font-weight:750;white-space:nowrap}.wordmark span{font-weight:450}.wordmark b{font-weight:inherit;color:var(--blue);font-size:1.5em}.nav-links{display:flex;gap:32px;align-items:center;font-size:.875rem}.nav-links a{color:#4e4e53;transition:color .2s}.nav-links a:hover{color:var(--blue)}.nav-cta{padding:9px 17px;background:#1d1d1f;color:#fff;border-radius:999px;font-size:.875rem;white-space:nowrap}.nav-cta span{margin-left:12px}.menu-button{display:none}.hero{background:linear-gradient(#fbfbfd 0%,#f5f5f7 80%,#fff 100%);overflow:hidden;padding-top:82px}.hero-copy{text-align:center}.hero .eyebrow{color:#626267;margin-bottom:24px}.hero h1{font-size:clamp(3.5rem,7.3vw,6.5rem);line-height:1.02;letter-spacing:-.065em}.hero h1 span{color:#727279}.hero-description{font-size:1.25rem;line-height:1.48;color:#6e6e73;margin-top:25px;letter-spacing:-.015em}.actions{display:flex;justify-content:center;align-items:center;gap:28px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;padding:14px 24px;background:#0071e3;color:#fff;font-size:1rem;border-radius:999px;font-weight:450;transition:background .2s,transform .2s}.button:hover{background:#0077ed;transform:translateY(-2px)}.text-link{color:var(--blue);font-size:1rem;display:inline-flex;gap:10px;align-items:center}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.hero-showcase{position:relative;padding-top:62px;max-width:1050px}.showcase-halo{position:absolute;inset:10% -10% 10%;background:radial-gradient(ellipse at center,#acd8f54d,transparent 66%);filter:blur(25px)}.hero-preview{display:block;position:relative;width:100%;padding:7px;background:linear-gradient(145deg,#ebeced,#afb2b6 60%,#eceeef);border-radius:20px;border:1px solid #babec4;box-shadow:0 35px 60px -25px #344f6a66,0 5px 14px #0000000c;transition:transform .5s}.hero-preview:hover{transform:translateY(-4px)}.browser-toolbar{height:35px;background:#f6f6f8;border-radius:12px 12px 0 0;display:flex;align-items:center;justify-content:space-between;padding:0 14px;color:#737378;font-size:.75rem}.window-dots{display:flex;gap:5px}.window-dots span{width:6px;height:6px;border-radius:50%;background:#bfc1c6}.address{font-size:.75rem}.toolbar-symbol{font-size:1rem}.hero-screen{height:490px;overflow:hidden;border-radius:0 0 12px 12px;background:#d8ebf0}.hero-screen img{width:100%;height:auto;transform:translateY(-9%)}.preview-caption{display:flex;justify-content:space-between;gap:24px;position:relative;margin-top:33px;color:#737378;font-size:.75rem}.preview-caption b{font-weight:500;color:#3a3a3e}.introduction{padding-top:140px}.introduction h2{font-size:clamp(2.5rem,4.5vw,4rem)}.intro-bottom{display:grid;grid-template-columns:1fr 1fr;gap:62px;margin-top:38px;max-width:945px}.intro-bottom p{font-size:1.125rem;color:#6e6e73;letter-spacing:-.015em}.work-section{background:var(--paper)}.section-header{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:48px}.section-header .text-link{margin-bottom:6px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project{min-width:0;height:660px;border-radius:26px;overflow:hidden;position:relative;text-align:center;padding:42px 32px 0}.project-light{background:linear-gradient(145deg,#e7eff4,#d0e3ee)}.project-dark{background:linear-gradient(130deg,#24292e,#101317);color:#f5f5f7}.project-copy{position:relative;z-index:2}.category{font-size:.75rem;letter-spacing:.1em;font-weight:600;color:#6e6e73}.project h3{font-size:2.4rem;letter-spacing:-.05em;margin:11px 0 9px}.project-copy>p:not(.category){font-size:1rem;color:#566575}.project-dark .category,.project-dark .project-copy>p:not(.category){color:#aab0b8}.project .text-link{margin-top:19px;font-size:.875rem}.project-dark .text-link{color:#83c6ff}.project-screen{margin-top:40px;padding:6px;background:linear-gradient(145deg,#fcfcfd,#a8abb1);border-radius:15px;box-shadow:0 20px 50px #00000030;transform:rotate(-3deg) translateX(-7px);height:520px;overflow:hidden;transition:transform .5s}.project-screen img{width:100%;border-radius:9px;height:auto}.project-dark .project-screen{transform:rotate(3deg) translateX(7px);background:linear-gradient(#71747a,#25292e)}.project:hover .project-screen{transform:rotate(0) translateY(-7px)}.work-note{font-size:.75rem;color:var(--secondary);margin-top:24px}.services{background:#08090b;color:#f5f5f7}.services-heading{text-align:center}.services h2{font-size:clamp(2.5rem,4.5vw,4rem)}.services h2>span{color:#92959d}.services-heading>p:last-child{color:#a1a1a9;font-size:1.2rem;margin-top:26px}.services .eyebrow{color:#c0c1c6}.service-tabs{width:fit-content;max-width:100%;padding:5px;margin:45px auto 60px;display:flex;gap:4px;background:#222327;border:1px solid #333439;border-radius:999px}.service-tabs button{border:0;background:none;color:#b7b8be;border-radius:999px;padding:12px 24px;font-size:.875rem;white-space:nowrap}.service-tabs button[aria-selected=true]{background:#f5f5f7;color:#1d1d1f;box-shadow:0 2px 6px #0003}.service-panel{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:20px 32px 0;min-height:360px}.service-panel[hidden]{display:none}.service-label{font-size:.75rem;color:#888c98;letter-spacing:.08em}.service-text h3{font-size:2.75rem;line-height:1.08;letter-spacing:-.045em;margin:23px 0}.service-text p{color:#a1a1a9;font-size:1.0625rem;max-width:440px}.service-text .text-link{margin-top:28px;color:#69b7ff}.service-details>div{position:relative;padding:23px 0;border-bottom:1px solid #2a2c31}.service-details>div:first-child{padding-top:0}.service-details>div:last-child{border:0}.service-details h4{font-size:1.125rem;margin-bottom:8px;letter-spacing:-.02em}.service-details p{color:#9699a2;font-size:1rem;line-height:1.45}.section-aside{color:var(--secondary);font-size:1rem}.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:45px;padding:0;margin:64px 0 0}.steps li{border-top:1px solid var(--line);padding-top:26px}.steps h3{font-size:1.5rem;letter-spacing:-.035em;margin:0 0 14px}.steps p{color:var(--secondary);font-size:1rem}.investment{background:var(--paper)}.investment-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:center}.investment h2{font-size:clamp(2.5rem,4.5vw,4rem)}.investment-grid>div>p:not(.eyebrow){margin-top:28px;font-size:1.125rem;color:var(--secondary);max-width:430px}.investment .button{margin-top:28px}.investment-details{background:white;padding:12px 38px;border-radius:24px}.investment-details>div{padding:32px 0}.investment-details>div+div{border-top:1px solid #e8e8ec}.investment-details h3{font-size:1.65rem;letter-spacing:-.035em;margin:12px 0}.investment-details p:not(.category){color:var(--secondary);font-size:1rem}.detail-label{display:block;margin-top:23px;font-weight:550;font-size:.9375rem}.detail-label small{font-weight:400;color:var(--secondary);font-size:.8125rem}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:95px}.questions details{border-bottom:1px solid #dedee3}.questions summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:1.0625rem;font-weight:500;padding:24px 0;line-height:1.4}.questions summary::-webkit-details-marker{display:none}.questions summary span{font-size:1.4rem;color:#8a8a8f;font-weight:400;transition:transform .2s}.questions details[open] summary span{transform:rotate(45deg)}.questions details p{padding:0 35px 24px 0;color:var(--secondary);font-size:1rem}.closing{text-align:center;background:linear-gradient(180deg,#f5f5f7,#f9f9fc);padding-bottom:100px}.closing h2{font-size:clamp(3rem,6vw,5.5rem);letter-spacing:-.06em}.closing h2 span{color:#0066cc}.closing p:not(.eyebrow){font-size:1.2rem;color:var(--secondary);margin:25px 0}.closing .email{display:block;width:fit-content;margin:25px auto 0;font-size:.875rem;color:#6e6e73}.closing .email:hover{text-decoration:underline}.footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:32px}.footer>p{font-size:.75rem;color:var(--secondary)}.footer>div{display:flex;gap:20px;color:var(--secondary);font-size:.75rem}.footer a:hover{color:var(--blue)}:focus-visible{outline:3px solid #0071e3;outline-offset:5px}
.portfolio-section{overflow:hidden;background:#fff}.product-brands{display:flex;align-items:center;gap:52px;padding-block:0 44px}.product-brands img{width:160px;height:44px;object-fit:contain}.portfolio-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:max(32px,calc((100vw - 1120px)/2));padding:8px max(32px,calc((100vw - 1120px)/2)) 28px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#c7c7cd transparent}.portfolio-card{flex:0 0 min(620px,78vw);min-width:0;background:var(--paper);border:1px solid #ededf0;border-radius:26px;overflow:hidden;scroll-snap-align:start;display:flex;flex-direction:column}.portfolio-image{aspect-ratio:1.85;background:#e9edf2;overflow:hidden}.portfolio-image img{width:100%;height:100%;object-fit:cover;object-position:center top}.sweep-image img,.proposal-image img,.hire-image img{object-fit:cover}.portfolio-copy{padding:32px 36px 36px;display:flex;flex:1;flex-direction:column;align-items:flex-start}.portfolio-copy h3{font-size:2rem;letter-spacing:-.045em;margin:10px 0 14px}.portfolio-copy>p:not(.category){color:var(--secondary);font-size:1rem;margin-bottom:24px}.portfolio-copy .text-link,.private-caption{margin-top:auto}.private-caption{font-size:.8125rem;color:#626267}.gallery-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:20px}.gallery-footer>p{color:var(--secondary);font-size:.8125rem;max-width:600px}.gallery-controls{display:flex;gap:10px;flex-shrink:0}.gallery-controls[hidden]{display:none}.gallery-controls button{width:44px;height:44px;border-radius:50%;border:0;background:#e8e8ed;color:var(--ink);font-size:1.3rem}.gallery-controls button:hover{background:#dcdce3}.gallery-controls button:disabled{opacity:.35;cursor:default}.service-tabs{flex-wrap:wrap;justify-content:center;border-radius:28px}
@media(max-width:740px){.product-brands{gap:22px;flex-wrap:wrap;padding-bottom:30px}.product-brands img{width:120px;height:34px}.portfolio-track{gap:16px;padding-inline:20px;scroll-padding-inline:20px}.portfolio-card{flex-basis:86vw;border-radius:20px}.portfolio-copy{padding:25px}.portfolio-copy h3{font-size:1.65rem}.gallery-footer{align-items:flex-start}.gallery-footer>p{font-size:.75rem}.portfolio-image{aspect-ratio:1.6}.service-tabs{justify-content:flex-start}}
.proposal-brand{display:flex;gap:10px;align-items:center;font-weight:600;letter-spacing:-.04em;font-size:1.15rem}.product-brands .proposal-brand img{width:36px;height:36px}.product-brands>img:nth-child(2){width:190px}
@media(max-width:740px){.service-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%;border-radius:24px}.service-tabs button{text-align:center}.product-brands>img:nth-child(2){width:150px}}
@media(min-width:1600px){.hero-screen{height:540px}}
@media(max-width:1000px){.nav-links{gap:19px}.hero-screen{height:410px}.preview-caption{flex-direction:column;gap:7px}.investment-grid,.service-panel{gap:50px}.service-panel{padding-inline:0}.faq{gap:45px}.project{height:570px;padding-inline:24px}.footer>p{display:none}.hero h1{font-size:5rem}.hero{padding-top:70px}}
@media(max-width:740px){.wrap{width:calc(100% - 40px)}.section{padding-block:80px}.nav{min-height:62px;gap:15px}.wordmark{font-size:1.15rem}.nav-cta{font-size:.8125rem;padding:8px 13px}.menu-button{display:block;margin-left:auto;background:none;border:0;color:#555;font-size:.875rem;padding:10px 2px}.nav-links{position:absolute;left:0;right:0;top:62px;background:#fbfbfdee;backdrop-filter:blur(25px);padding:14px 24px 24px;border-bottom:1px solid #ddd;display:none;flex-direction:column;align-items:stretch;gap:0}.nav-links.open{display:flex}.nav-links a{padding:13px 0}.hero{padding-top:52px}.hero h1{font-size:clamp(2.8rem,9.5vw,4.5rem)}.hero-description{font-size:1.0625rem}.hero .eyebrow{font-size:.8125rem;max-width:270px;margin-inline:auto}.actions{gap:20px;flex-wrap:wrap}.button{font-size:.9375rem;padding:13px 21px}.text-link{font-size:.9375rem}.hero-showcase{padding-top:43px}.hero-preview{padding:4px;border-radius:13px}.browser-toolbar{border-radius:8px 8px 0 0;height:26px;padding-inline:8px}.window-dots span{width:4px;height:4px}.hero-screen{height:280px;border-radius:0 0 8px 8px}.hero-screen img{transform:translateY(-5%)}.preview-caption{margin-top:24px;line-height:1.5}.preview-caption b{display:block}.intro-bottom{grid-template-columns:1fr;gap:22px;margin-top:28px}.intro-bottom p{font-size:1.0625rem}.section-header{align-items:flex-start;flex-direction:column;gap:24px}.work-grid{grid-template-columns:1fr}.project{height:595px}.project h3{font-size:2.25rem}.project-screen{max-width:470px;margin-inline:auto}.work-note{line-height:1.5}.services-heading{text-align:left}.services-heading>p:last-child{font-size:1.0625rem}.service-tabs{margin:32px 0 40px}.service-tabs button{padding:11px 14px;font-size:.8125rem}.service-panel{grid-template-columns:1fr;gap:36px;min-height:0}.service-text h3{font-size:2.25rem}.steps{grid-template-columns:1fr;gap:32px;margin-top:32px}.steps li{padding-top:23px}.steps h3{margin:0 0 10px}.investment-grid{grid-template-columns:1fr;gap:42px}.investment-details{padding:0 27px}.faq{grid-template-columns:1fr;gap:30px}.questions summary{font-size:1rem}.closing h2{font-size:clamp(2.7rem,10vw,4rem)}.closing p:not(.eyebrow){font-size:1.0625rem}.footer{flex-direction:column;align-items:flex-start;gap:16px}.footer>div{flex-wrap:wrap}.desktop-break{display:none}}
@media(max-width:390px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:2.7rem}.hero-screen{height:240px}.service-tabs button{padding-inline:10px}.nav-cta span{display:none}.project{padding-inline:18px}}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:appear .8s ease both}.hero-preview{animation:appear 1.1s .12s ease both}@keyframes appear{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.portfolio-section .portfolio-track{width:min(1120px,calc(100% - 64px));margin-inline:auto;padding:8px 0 20px;scroll-padding-inline:0;gap:24px}
.portfolio-section .portfolio-card{flex-basis:calc((100% - 24px)/2)}
.gallery-controls button{border:1px solid #d8d8dd;background:#fff;width:48px;height:48px}
@media(max-width:740px){.portfolio-section .portfolio-track{width:calc(100% - 40px);gap:16px}.portfolio-section .portfolio-card{flex-basis:100%}.gallery-footer{flex-wrap:wrap}.gallery-controls{margin-left:auto}}
@media(max-width:390px){.portfolio-section .portfolio-track{width:calc(100% - 32px)}}
.hero-preview .hero-screen{height:auto;aspect-ratio:2202/964;background:#faf8f2}
.hero-preview .hero-screen img{width:100%;height:auto;transform:none;object-fit:contain}

/* Keep the current SweepSeek headline visible in narrower portfolio cards. */
.sweep-image img{object-position:left top}

/* Keep the homepage introduction connected to the work that follows. */
.introduction .intro-bottom{display:block;max-width:680px}
.introduction{padding-bottom:40px}
.introduction + .portfolio-section{padding-top:32px}
@media(max-width:740px){.introduction{padding-bottom:32px}.introduction + .portfolio-section{padding-top:24px}}
