@charset "UTF-8";
:root{--ink:#202121;--muted:#62686b;--paper:#fafafa;--line:#dedfdf;--surface:#f0f1f2;--accent:#e83a96;--max:1376px;--gutter:clamp(22px,4.5vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8b2370;outline-offset:5px}button{touch-action:manipulation}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}h2{font-size:clamp(34px,3.5vw,50px);letter-spacing:-.045em;line-height:1.12}h3{font-size:21px;letter-spacing:-.025em}button[hidden],[hidden]{display:none!important}.wrap{width:min(100%,var(--max));padding-left:var(--gutter);padding-right:var(--gutter);margin:0 auto}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;line-height:1.5;font-weight:600}.section{padding-top:98px;padding-bottom:102px}.text-link{font-size:15px;display:inline-flex;align-items:center;gap:16px;border-bottom:1px solid var(--ink);padding-bottom:6px;transition:opacity .2s}.text-link:hover{opacity:.58}.link-number{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:52px;padding:14px 24px;background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:4px;font-size:15px;transition:background .2s,transform .2s}.button:hover{background:#3e4444;transform:translateY(-2px)}.button-small{min-height:44px;padding:10px 18px;font-size:14px}.skip-link{position:fixed;left:18px;top:-80px;background:#fff;padding:15px;z-index:20}.skip-link:focus{top:15px}
.header{height:106px;display:flex;align-items:center;gap:40px;position:relative}.wordmark{font-size:30px;letter-spacing:-1.7px;font-weight:700;line-height:1;display:inline-flex;align-items:flex-start}.brand-mark{width:7px;height:7px;border:2px solid var(--ink);margin:1px 0 0 5px}.desktop-nav{margin-left:auto;display:flex;gap:30px;font-size:14px}.desktop-nav a{padding:12px 0;position:relative}.desktop-nav a:after{content:"";position:absolute;bottom:8px;left:0;width:0;height:1px;background:currentColor;transition:width .25s}.desktop-nav a:hover:after{width:100%}.header-cta{margin-left:8px}.menu-toggle,.mobile-nav{display:none}
.hero{padding-top:64px}.hero>.eyebrow{margin-bottom:27px}.hero-row{display:grid;grid-template-columns:1.8fr 1fr;align-items:end;gap:52px}.hero h1{font-size:clamp(52px,7.7vw,108px);line-height:1.02;letter-spacing:-.064em;font-weight:500}.hero h1 span{color:#838989}.hero-description{padding-bottom:9px;max-width:340px;justify-self:end}.hero-description p{font-size:18px;line-height:1.55;letter-spacing:-.015em;color:#4c5254}.hero-description .text-link{margin-top:28px}.hero-footer{margin-top:54px;padding:24px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted)}.hero-footer>div{display:flex;gap:23px}.hero-footer>div span+span:before{content:"/";margin-right:23px;color:#a5aaaa}
.portfolio{padding-top:71px}.section-heading{display:flex;justify-content:space-between;gap:44px;align-items:end;margin-bottom:45px}.section-heading .eyebrow{margin-bottom:20px}.section-note{font-size:15px;color:var(--muted);line-height:1.6;max-width:340px;padding-bottom:4px}.portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:25px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter{border:1px solid var(--line);border-radius:32px;background:transparent;padding:10px 17px;font-size:14px;display:flex;align-items:center;gap:12px;transition:background .2s,color .2s,border-color .2s;min-height:43px}.filter span{font-size:12px;color:var(--muted)}.filter.active{background:var(--ink);border-color:var(--ink);color:white}.filter.active span{color:#cdcece}.filter:not(.active):hover{background:#e9ebeb;border-color:#c4c7c7}.portfolio-caption{font-size:12px;color:var(--muted)}.projects-grid{display:grid;grid-template-columns:1.16fr 1fr;gap:45px 27px}.project{min-width:0}.project-open{display:block;width:100%;border:0;text-align:left;background:transparent;padding:0}.project-image{position:relative;overflow:hidden;background:#ededed;aspect-ratio:1.29;border-radius:4px}.project-image>img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.3,1)}.project-open:hover .project-image>img{transform:scale(1.035)}.image-label{position:absolute;left:19px;top:19px;background:#ffffffeb;padding:6px 10px;border:1px solid #ffffff9c;border-radius:2px;font-size:12px;color:#303535;letter-spacing:.04em}.open-mark{position:absolute;right:19px;bottom:19px;display:grid;place-items:center;background:#fff;color:#202121;width:43px;height:43px;border-radius:50%;font-size:26px;font-weight:400;transition:transform .25s}.project-open:hover .open-mark{transform:rotate(90deg)}.project-meta{display:flex;justify-content:space-between;align-items:start;gap:16px;padding-top:19px}.project-meta h3{font-size:20px;letter-spacing:-.025em;font-weight:500}.project-meta p{font-size:14px;line-height:1.5;color:var(--muted);margin-top:3px}.project-category{font-size:12px;white-space:nowrap;padding-top:5px;color:var(--muted)}.project-wide{grid-column:1/-1}.project-wide .project-open{display:grid;grid-template-columns:1.16fr 1fr;gap:27px;align-items:center}.project-wide .project-image{aspect-ratio:1.5}.project-wide .project-meta{padding:28px 11% 28px 12%;height:100%;flex-direction:column;align-items:flex-start;justify-content:center;background:#f0f1f1;border-radius:4px;gap:16px;position:relative}.project-wide h3{font-size:clamp(35px,5vw,62px);letter-spacing:-.04em}.project-wide .project-meta p{max-width:220px;font-size:17px;line-height:1.5;margin-top:12px}.project-wide .project-category{border-top:1px solid #d4d7d7;padding-top:14px;margin-top:4px}.projects-grid.filtered{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-grid.filtered .project-wide{grid-column:auto}.projects-grid.filtered .project-wide .project-open{display:block}.projects-grid.filtered .project-wide .project-image{aspect-ratio:1.29}.projects-grid.filtered .project-wide .project-meta{display:flex;flex-direction:row;padding:19px 0 0;gap:16px;background:none}.projects-grid.filtered .project-wide h3{font-size:20px}.projects-grid.filtered .project-wide .project-meta p{font-size:14px;max-width:none;margin-top:3px}.projects-grid.filtered .project-wide .project-category{border:0;padding-top:5px;margin:0}.concept-note{font-size:12px;line-height:1.5;color:var(--muted);margin-top:29px}
.services-section{background:#eff1f1;padding:96px 0 103px}.services-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.services-intro h2{margin-top:22px}.services-intro>p:not(.eyebrow){max-width:320px;margin-top:25px;font-size:17px;color:var(--muted);line-height:1.65}.services-intro .text-link{margin-top:31px}.services-list{border-top:1px solid #ccd0d0}.service{border-bottom:1px solid #ccd0d0}.service summary{display:flex;align-items:baseline;gap:19px;list-style:none;padding:24px 0;cursor:pointer;font-size:21px;letter-spacing:-.02em;line-height:1.35}.service summary::-webkit-details-marker{display:none}.service-num{font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted);align-self:center}.details-mark{margin-left:auto;flex:0 0 14px;height:14px;align-self:center;position:relative}.details-mark:before,.details-mark:after{content:"";position:absolute;background:var(--ink)}.details-mark:before{height:1px;left:0;right:0;top:6px}.details-mark:after{width:1px;top:0;bottom:0;left:6px;transition:transform .2s}details[open] .details-mark:after{transform:rotate(90deg)}.service-body{padding:0 26px 26px 34px}.service-body p{font-size:16px;color:#545b5d;line-height:1.65}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:19px}.tags>span{border:1px solid #cbd0d0;padding:5px 9px;border-radius:3px;font-size:12px;color:#545b5d}
.process .section-heading{margin-bottom:53px}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;list-style:none;margin:0;padding:0}.steps li{border-top:1px solid var(--line);padding-top:22px}.step-num{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.steps h3{font-size:19px;margin:28px 0 12px;line-height:1.3}.steps p{font-size:15px;color:var(--muted);line-height:1.65}
.start-section{background:#e9eded;padding:88px 0 90px}.start-layout{display:grid;grid-template-columns:1.45fr 1fr;gap:9%}.start-layout h2{font-size:clamp(34px,4.25vw,60px);margin-top:24px;line-height:1.12}.start-layout h2>span{color:#777f7f}.start-description{margin-top:25px;color:#596164;font-size:17px;line-height:1.65}.download-button{margin-top:30px}.file-type{font-size:12px;padding-left:20px;border-left:1px solid #666b6b;color:#d1d4d4}.download-hint{font-size:12px;color:#596164;margin-top:14px;max-width:420px}.start-checklist{padding-top:5px}.start-checklist h3{font-size:19px;margin-bottom:24px}.start-checklist ul{list-style:none;margin:0;padding:0;border-top:1px solid #cbd1d1}.start-checklist li{display:flex;gap:22px;padding:17px 0;border-bottom:1px solid #cbd1d1;font-size:16px}.start-checklist li>span{font-size:12px;color:var(--muted);padding-top:3px}.start-checklist small{display:block;font-size:14px;line-height:1.5;color:#596164;margin-top:4px}.footer{min-height:130px;display:flex;align-items:center;gap:30px;font-size:12px;color:var(--muted)}.footer .wordmark{font-size:25px;color:var(--ink)}.footer>p{margin-right:auto;font-size:13px}.back-top{font-size:13px;color:var(--ink);padding:12px 0;border-bottom:1px solid var(--line)}
.case-dialog{padding:0;border:0;border-radius:8px;color:var(--ink);background:var(--paper);width:min(1080px,calc(100% - 48px));max-height:90dvh;overflow:auto;overscroll-behavior:contain}.case-dialog::backdrop{background:#0d1414b8;backdrop-filter:blur(6px)}.dialog-close{position:sticky;float:right;top:16px;margin:16px 16px -60px 0;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid #dadede;background:#fff;z-index:2;font-size:31px;line-height:1}.case-content{display:grid;grid-template-columns:1fr 1fr;align-items:start;clear:none}.case-image-wrap{position:sticky;top:0;background:#eeefef;align-self:start;padding-top:60px;min-height:0}.case-image-wrap img{width:100%;height:auto;object-fit:contain}.case-details{padding:60px 38px 40px}.case-details h2{margin-top:12px;font-size:48px}.case-lead{font-size:19px;color:var(--muted);margin-top:14px;line-height:1.5}.case-block{margin-top:26px}.case-block h3{font-size:15px;font-weight:600;letter-spacing:0;margin-bottom:8px}.case-block p,.case-block ul{font-size:15px;line-height:1.6;color:#596164}.case-block ul{padding-left:18px;margin:0}.case-block li+li{margin-top:4px}.case-disclaimer{font-size:12px;color:var(--muted);margin-top:26px;border-top:1px solid var(--line);padding-top:18px}.case-cta{margin-top:24px;font-size:14px;width:100%;padding-left:12px;padding-right:12px}
@media(min-width:1600px){:root{--max:1510px;--gutter:64px}.hero h1{font-size:117px}.hero{padding-top:79px}.hero-footer{margin-top:67px}.project-image{aspect-ratio:1.38}}
@media(max-width:1050px){.header{gap:24px}.desktop-nav{gap:21px}.hero-row{grid-template-columns:1.55fr 1fr;gap:32px}.hero h1{font-size:clamp(59px,8.1vw,90px)}.hero-description p{font-size:16px}.project-meta{flex-wrap:wrap;gap:4px}.project-category{font-size:12px}.services-layout{gap:7%;grid-template-columns:1fr 1.2fr}.service summary{font-size:19px}.steps{gap:22px}.start-layout{gap:7%}.case-details{padding:62px 28px 34px}}
@media(max-width:760px){.header{height:86px;gap:14px}.wordmark{font-size:28px}.desktop-nav{display:none}.header-cta{margin-left:auto;min-height:40px;padding:9px 13px;font-size:13px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:40px;height:44px;background:none;border:0;padding:9px}.menu-toggle span{width:22px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;position:absolute;top:80px;left:var(--gutter);right:var(--gutter);background:#fff;border:1px solid var(--line);flex-direction:column;padding:12px 22px;z-index:10;box-shadow:0 20px 25px #2021210a;border-radius:4px}.mobile-nav a{padding:13px 0;border-bottom:1px solid #eeefef}.mobile-nav a:last-child{border:0}.hero{padding-top:42px}.hero>.eyebrow{margin-bottom:23px}.hero-row{grid-template-columns:1fr;gap:28px}.hero h1{font-size:clamp(52px,11vw,80px);letter-spacing:-.056em}.hero-description{max-width:430px;justify-self:start;padding:0}.hero-description p{font-size:17px;max-width:365px}.hero-description .text-link{margin-top:21px}.hero-footer{margin-top:34px;gap:15px;align-items:start;flex-direction:column;padding:20px 0;font-size:12px}.hero-footer>div{gap:15px}.hero-footer>div span+span:before{margin-right:15px}.section{padding-top:63px;padding-bottom:66px}.section-heading{align-items:start;gap:24px;flex-direction:column;margin-bottom:29px}.section-heading .eyebrow{margin-bottom:17px}.section-note{font-size:14px}.portfolio-toolbar{margin-bottom:20px}.portfolio-caption{display:none}.filter{padding:9px 13px;font-size:13px;gap:9px;min-height:41px}.projects-grid{grid-template-columns:1fr;gap:33px}.project-image{aspect-ratio:1.38}.project-meta{flex-wrap:nowrap;padding-top:15px}.project-meta h3{font-size:21px}.project-meta p{font-size:14px}.project-category{font-size:12px;max-width:110px;text-align:right;white-space:normal}.project-wide{grid-column:auto}.project-wide .project-open{display:block}.project-wide .project-image{aspect-ratio:1.38}.project-wide .project-meta{padding:15px 0 0;display:flex;flex-direction:row;justify-content:space-between;background:transparent;gap:16px;align-items:start}.project-wide h3{font-size:21px}.project-wide .project-meta p{font-size:14px;margin-top:3px;max-width:none}.project-wide .project-category{border:0;padding-top:5px;margin:0}.projects-grid.filtered{grid-template-columns:1fr}.projects-grid.filtered .project-wide .project-image{aspect-ratio:1.38}.concept-note{margin-top:25px}.services-section{padding:63px 0 67px}.services-layout{grid-template-columns:1fr;gap:38px}.services-intro>p:not(.eyebrow){font-size:16px;max-width:420px;margin-top:21px}.services-intro .text-link{margin-top:21px}.service summary{padding:22px 0;font-size:20px;gap:17px}.service-body{padding-left:31px;padding-right:9px}.steps{grid-template-columns:1fr 1fr;gap:32px 25px}.process .section-heading{margin-bottom:35px}.steps h3{font-size:18px;margin-top:21px}.steps p{font-size:14px}.start-section{padding:62px 0 65px}.start-layout{grid-template-columns:1fr;gap:45px}.start-layout h2{font-size:clamp(33px,7.5vw,50px)}.start-description{font-size:16px}.start-checklist{padding-top:0}.footer{display:grid;grid-template-columns:1fr auto;gap:22px 18px;padding-top:30px;padding-bottom:30px}.footer>p{grid-column:1/-1;grid-row:2;font-size:12px}.footer>.wordmark{grid-column:1;grid-row:1}.footer>span{grid-column:1;grid-row:3}.footer>.back-top{grid-column:2;grid-row:3;padding:0}.case-dialog{width:calc(100% - 24px);max-height:93dvh;border-radius:6px}.case-content{display:block}.case-image-wrap{position:static;padding-top:0;min-height:0;aspect-ratio:1.5}.case-image-wrap img{height:100%;max-height:none}.case-details{padding:30px 25px 32px}.case-details h2{font-size:42px}.dialog-close{top:12px;margin:12px 12px -54px 0}.case-lead{font-size:18px}}
@media(max-width:380px){.header-cta{display:none}.menu-toggle{margin-left:auto}.hero h1{font-size:48px}.filters{gap:5px}.filter{padding:9px 11px;font-size:12px}.steps{gap:28px 19px}.steps h3{font-size:17px}.project-meta{flex-direction:column}.project-category{text-align:left;max-width:none}.project-wide .project-meta{flex-direction:column;gap:4px}.start-layout h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Original studio SVG: proportional sizing in the page header. */
.studio-logo{display:flex;align-items:center;flex:0 0 auto}.studio-logo img{display:block;width:auto;height:86px;max-width:118px;object-fit:contain}
@media(max-width:760px){.studio-logo img{height:64px;max-width:88px}}

.site-header{background:#e6e6e6}
