*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--cream:#f7ebdb;--dark:#1c1d21;--red:#d00405;--white:#ffffff;--color-text-primary:var(--dark);--color-text-inverse:var(--cream);--color-surface-page:var(--white);--color-surface-strong:var(--dark);--color-surface-accent:var(--red);--color-border-subtle:rgb(28 29 33/0.1);--color-focus:var(--red);--container-max:100%;--container-pad:28px;--footer-max:100%;--type-micro:12px;--type-label:14px;--type-body:16px;--type-body-strong:18px;--type-heading-sm:20px;--type-heading-md:24px;--type-display-sm:32px;--type-display-md:36px;--type-display-lg:52px;--type-display-xl:60px;--type-stat:72px;--type-stat-plus:40px;--font-size-caption:var(--type-micro);--font-size-label:var(--type-label);--font-size-body:var(--type-body);--font-size-body-strong:var(--type-body-strong);--font-size-heading-sm:var(--type-heading-sm);--font-size-heading-md:var(--type-heading-md);--font-size-display-sm:var(--type-display-sm);--font-size-display-md:var(--type-display-md);--font-size-display-lg:var(--type-display-lg);--font-size-display-xl:var(--type-display-xl);--body-copy-size:var(--type-body-strong);--body-copy-line:1.5;--body-copy-mobile:var(--type-body);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-9:40px;--space-10:48px;--space-11:56px;--space-12:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-pill:999px;--control-gap-sm:var(--space-2);--control-gap-md:10px;--control-gap-lg:var(--space-3);--control-padding-y-sm:var(--space-2);--control-padding-x-sm:14px;--control-padding-y-md:10px;--control-padding-x-md:18px;--control-padding-y-lg:11px;--control-padding-x-lg:24px;--control-padding-y-tag:9px;--control-padding-x-tag:18px}html{scroll-behavior:smooth}body{font-family:Inter,sans-serif;background:var(--color-surface-page);color:var(--color-text-primary);overflow-x:hidden}img{display:block;max-width:100%}a,button,input,textarea{font:inherit}section[id]{scroll-margin-top:96px}nav{position:fixed;top:0;left:0;transform:none;width:100%;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--container-pad);background:rgb(255 255 255/94%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgb(28 29 33/7%)}.nav-btn,.nav-link{border:0;background:none;color:var(--color-text-primary);cursor:pointer;text-decoration:none}.nav-btn{display:flex;align-items:center;gap:var(--control-gap-md);padding:var(--control-padding-y-md) var(--control-padding-x-md);border-radius:var(--radius-md);font-size:var(--font-size-body-strong);font-weight:700;text-transform:uppercase;letter-spacing:.04em;transition:background .2s,color .2s}.nav-btn svg{width:16px;height:16px}.nav-btn:hover,.view-btn:hover{background:var(--color-surface-accent);color:var(--color-text-inverse)}.nav-links{display:flex;align-items:center;gap:52px}.nav-link{font-size:var(--font-size-body);font-weight:700;text-transform:uppercase;letter-spacing:.04em;transition:color .2s}.nav-link.active,.nav-link:hover{color:var(--color-surface-accent)}.nav-menu-btn,.nav-mobile-panel{display:none}.nav-desktop-cta{display:flex;align-items:center}.nav-menu-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;color:var(--color-text-primary);width:44px;height:44px;border-radius:var(--radius-md);align-items:center;justify-content:center;gap:var(--space-1);cursor:pointer;flex-direction:column}.nav-menu-btn span{width:18px;height:2px;border-radius:999px;background:currentColor;transition:transform .2s ease,opacity .2s ease}.nav-menu-btn.is-open span:first-child{transform:translateY(6px) rotate(45deg)}.nav-menu-btn.is-open span:nth-child(2){opacity:0}.nav-menu-btn.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-mobile-panel{position:absolute;top:calc(100% + 10px);left:50%;width:min(720px,calc(100% - (var(--container-pad) * 2)));max-width:720px;padding:var(--space-4);border-radius:var(--radius-lg);background:rgb(255 255 255/.98);border:1px solid rgb(28 29 33/.08);box-shadow:0 18px 36px rgb(28 29 33/.14);opacity:0;pointer-events:none;transform:translate(-50%,-8px);transition:opacity .2s ease,transform .2s ease}.nav-mobile-panel.is-open{opacity:1;pointer-events:auto;transform:translate(-50%)}.nav-mobile-links{display:flex;flex-direction:column;gap:var(--space-1)}.nav-mobile-cta,.nav-mobile-link{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-3) var(--control-padding-x-sm);border-radius:var(--radius-md);border:0;background:none;color:var(--color-text-primary);text-decoration:none;text-transform:uppercase;letter-spacing:.04em;font-size:var(--font-size-label);font-weight:700;cursor:pointer}.nav-mobile-cta,.nav-mobile-link.active{color:var(--color-surface-accent)}.nav-mobile-cta{margin-top:var(--control-gap-md);background:rgb(208 4 5/.06)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}#hero{padding-top:58px;display:flex;flex-direction:column;align-items:center;width:100%;max-width:none;margin:0 auto;padding-inline:var(--container-pad)}.hero-title-wrap{width:min(100%,92%);aspect-ratio:1241/438;position:relative;margin-inline:auto}.hero-title-wrap img{width:100%;height:100%;object-fit:contain}.hero-bottom{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,520px);align-items:start;padding:16px 0 36px;grid-gap:40px;gap:40px}.hero-desc-left{max-width:720px;min-width:0;min-height:0;display:flex;flex-direction:column;justify-content:flex-start;gap:12px;padding-top:10px}.hero-desc-left .title{font-size:var(--type-heading-sm);font-weight:700;margin-bottom:2px}.hero-desc-left .subtitle{max-width:54ch}.hero-desc-extended,.hero-desc-left .subtitle{font-size:var(--body-copy-size);line-height:var(--body-copy-line)}.hero-desc-extended{max-width:48ch;margin-top:8px}.hero-stats{gap:32px;width:-moz-fit-content;width:fit-content;max-width:none;min-width:0;justify-self:end;align-self:start;margin-top:12px}.hero-stats,.stat{display:flex;align-items:flex-start}.stat{flex:0 0 180px;width:180px;min-height:0;flex-direction:column;justify-content:flex-start;text-align:left;min-width:180px;box-sizing:border-box}.stat[data-has-divider=true]{border-left:1px solid var(--dark);padding-left:24px}.stat-num{font-size:82px;font-weight:900;line-height:.92;display:flex;align-items:flex-start;letter-spacing:-.04em}.stat-plus{font-size:44px;margin-top:8px}.stat-label{font-size:18px;margin-top:12px;max-width:none;width:100%;line-height:1.3}.stat-label-line{display:block}#about{padding:32px 0 24px;display:flex;flex-direction:column;align-items:center;gap:20px}.photos-grid{display:flex;gap:8px;justify-content:center;width:100%;max-width:none;padding-inline:var(--container-pad)}.photo-card{flex:1 1;height:460px;border-radius:8px;overflow:hidden;cursor:none;position:relative}.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.photo-card:hover img{transform:scale(1.04)}.photo-card-tag{position:absolute;left:14px;bottom:14px;display:none;padding:var(--control-padding-y-sm) var(--control-padding-x-sm);border-radius:var(--radius-pill);background:rgb(255 255 255/.92);color:var(--color-text-primary);box-shadow:0 10px 24px rgb(28 29 33/.14)}.custom-cursor,.photo-card-tag{font-size:var(--font-size-caption);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.custom-cursor{position:fixed;pointer-events:none;z-index:9999;background:var(--color-surface-accent);color:var(--color-text-inverse);padding:var(--control-padding-y-sm) var(--space-4);border-radius:var(--radius-sm);white-space:nowrap;opacity:0;transition:opacity .15s;transform:translate(12px,12px)}.custom-cursor.visible{opacity:1}.scroll-chevron{width:30px;height:18px}.section{width:100%;max-width:none;margin:0 auto;padding:var(--space-12) 0;padding-inline:var(--container-pad)}.section-header,.section-subheader{display:flex;align-items:flex-end;justify-content:space-between}.section-header{margin-bottom:var(--space-3)}.section-title{font-size:var(--font-size-display-xl);font-weight:900;line-height:1}.section-num{font-size:var(--font-size-label);color:var(--color-surface-accent);padding-bottom:6px}.section-subheader{margin-bottom:var(--space-10)}.section-sub{font-size:var(--body-copy-size);line-height:var(--body-copy-line)}.section-sub-wide{max-width:none;white-space:nowrap}#services .section-subheader{margin-bottom:28px}.view-btn{display:flex;align-items:center;gap:var(--control-gap-md);padding:var(--control-padding-y-lg) var(--control-padding-x-lg);background:var(--color-surface-strong);color:var(--color-text-inverse);border-radius:var(--radius-sm);border:0;font-size:var(--font-size-body);font-weight:700;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;box-shadow:0 10px 28px rgb(28 29 33/12%);transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease;white-space:nowrap}.view-btn svg{width:16px;height:16px;transition:transform .25s ease}.view-btn:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgb(208 4 5/22%)}.view-btn:hover svg{transform:translate(2px,-2px)}.projects-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;align-items:stretch}.card-link{display:block;text-decoration:none;color:inherit}.card-link-project{height:100%}.play-card,.project-card{background:var(--color-surface-strong);border-radius:var(--radius-sm);transition:background .3s,box-shadow .3s}.project-card{overflow:hidden;padding:var(--space-2) var(--space-2) var(--space-6);display:flex;flex-direction:column;gap:14px;height:100%}.play-card-clickable,.project-card-clickable{cursor:pointer}.play-card:hover,.project-card:hover{background:var(--red);box-shadow:0 16px 48px rgb(0 0 0/22%)}.project-thumb,.project-thumb-missing{width:100%;aspect-ratio:1/.86;height:auto;border-radius:4px;overflow:hidden}.project-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project-card:hover .project-thumb img{transform:scale(1.07)}.play-thumb-missing,.project-thumb-missing{background:linear-gradient(135deg,rgb(255 255 255/16%),transparent 48%),linear-gradient(180deg,#d00405,#8f0202);display:flex;align-items:center;justify-content:center}.project-meta{padding:2px 4px 0;flex-direction:column;justify-content:flex-start;gap:4px}.project-meta,.project-title-row{display:flex;align-items:flex-start;min-height:0}.project-title-row{justify-content:space-between;gap:8px;font-size:20px;font-weight:700;color:var(--white);line-height:1.2;width:100%}.project-year{flex-shrink:0}.project-description{margin:4px 0 0;font-size:18px;line-height:var(--body-copy-line);opacity:.8}.project-description,.project-tags{color:var(--cream);display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.project-tags{margin-top:0;font-size:var(--type-micro);font-weight:800;line-height:1.16;letter-spacing:-.005em;text-transform:uppercase;opacity:.92}.play-desc{font-size:18px;line-height:var(--body-copy-line);color:var(--cream);opacity:.8}.asset-note,.missing-label{font-size:var(--type-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cream)}.missing-label{opacity:.72}.services-row{display:flex;align-items:flex-start;justify-content:space-between;gap:40px}.services-list{display:flex;flex-direction:column;flex:1 1;width:auto;gap:10px;margin-left:-24px}.services-img{width:min(30vw,430px);aspect-ratio:.92/1;border-radius:24px;overflow:hidden;flex-shrink:0;background:transparent}.services-img img{width:100%;height:100%;object-fit:contain}.service-item{width:100%;display:block;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;background:none;color:inherit;text-align:left;cursor:pointer}.service-content{border-radius:20px;padding:18px 24px;transition:background .25s ease,color .25s ease}.service-name{font-size:var(--type-display-lg);font-weight:700;line-height:1.05;transition:color .2s}.service-main{display:flex;align-items:center;justify-content:space-between;gap:24px}.service-arrow{flex-shrink:0;width:42px;height:42px;color:var(--dark)}.service-arrow svg{width:42px;height:42px;transition:transform .25s ease}.service-copy-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease,margin-top .3s ease;margin-top:0}.service-copy{overflow:hidden;max-width:720px;font-size:var(--body-copy-size);line-height:var(--body-copy-line);color:rgb(28 29 33/78%)}.service-item.is-open .service-content,.service-item:hover .service-content{background:var(--red)}.service-item.is-open .service-arrow,.service-item.is-open .service-copy,.service-item.is-open .service-name,.service-item:hover .service-arrow,.service-item:hover .service-copy,.service-item:hover .service-name{color:var(--cream)}.service-item.is-open .service-copy-wrap,.service-item:hover .service-copy-wrap{grid-template-rows:1fr;margin-top:14px}.service-item.is-open .service-arrow svg,.service-item:hover .service-arrow svg{transform:rotate(90deg)}.sa{transition:stroke .25s ease;stroke:currentColor}.play-grid{display:flex;gap:8px;align-items:stretch}.play-grid>.card-link{flex:1 1;min-width:0;height:100%}.play-card{padding:10px;display:flex;flex-direction:column;gap:10px;flex:1 1;height:100%}.play-thumb,.play-thumb-missing{width:100%;border-radius:6px;overflow:hidden;aspect-ratio:.82/1;height:auto}.play-thumb img{width:100%;height:100%;object-fit:cover}.play-footer{justify-content:space-between;gap:8px;min-height:88px}.play-footer,.play-info{display:flex;align-items:flex-start}.play-info{flex:1 1;min-width:0;flex-direction:column;justify-content:flex-start;min-height:100%}.play-title{font-size:20px;font-weight:700;color:var(--white);line-height:1.2;margin:0}.play-desc,.play-title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.play-desc{margin-top:4px}#scroll-top,.contact-send svg,.play-arrow,.social-link svg{color:var(--cream)}.play-page{min-height:100vh;padding:112px var(--container-pad) 64px;background:radial-gradient(circle at top left,rgb(208 4 5/10%),transparent 34%),linear-gradient(180deg,#fffaf3,#ffffff)}.play-page-gallery-only{padding-top:88px;padding-bottom:28px;background:#fff}.play-board-section,.play-hero{width:100%}.play-hero{padding:28px 0 52px}.play-eyebrow{font-size:var(--type-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-bottom:18px}.play-hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:36px}.play-hero-copy{max-width:780px}.play-hero-title{font-size:clamp(48px,7vw,104px);line-height:.92;font-weight:900}.play-hero-description{font-size:24px;font-weight:700;margin-top:14px}.play-hero-intro{max-width:520px;font-size:var(--body-copy-size);line-height:var(--body-copy-line)}.play-chip-row{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-7)}.play-chip{padding:var(--control-padding-y-lg) var(--space-4);border-radius:var(--radius-pill);background:rgb(255 255 255/82%);border:1px solid rgb(28 29 33/10%);font-size:var(--font-size-label);text-transform:uppercase;letter-spacing:.06em}.case-study-page{min-height:100vh;padding:104px 0 56px;background:var(--white)}.case-study-shell{width:100%;max-width:1520px;margin-inline:auto;padding-inline:var(--container-pad)}.case-study-hero{padding:24px 0 88px}.case-study-hero-grid{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(620px,.86fr);justify-content:space-between;align-items:stretch;grid-gap:clamp(40px,4.6vw,96px);gap:clamp(40px,4.6vw,96px);margin-top:56px}.case-study-hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;min-height:100%;padding-top:4px;max-width:none}.case-study-eyebrow{display:flex;flex-wrap:wrap;gap:12px;align-items:center;color:var(--dark);font-size:var(--type-body);font-weight:700;letter-spacing:.02em;line-height:1.2;text-transform:uppercase;margin-bottom:14px}.case-study-eyebrow-link{color:inherit;text-decoration:none;transition:color .2s ease,transform .2s ease}.case-study-eyebrow-link:hover{color:var(--red);transform:translateY(-1px)}.case-study-title{max-width:19ch;font-size:clamp(40px,4vw,56px);line-height:.99;font-weight:900;letter-spacing:-.03em;margin-bottom:0;white-space:pre-line}.case-study-hero-kicker{margin-top:6px;max-width:56ch;color:rgb(28 29 33/.96);font-size:var(--type-body);font-weight:800;line-height:1.3;letter-spacing:.01em;text-transform:uppercase}.case-study-summary{max-width:72ch;margin-top:18px;color:rgb(28 29 33/.9);font-size:var(--type-body-strong);line-height:1.58;font-weight:500;white-space:pre-line}.case-study-cta{display:inline-flex;align-items:center;justify-content:center;gap:var(--control-gap-sm);flex:1 1 220px;min-width:0;padding:var(--control-padding-y-tag) var(--control-padding-x-md);border-radius:var(--radius-sm);background:var(--color-surface-strong);color:var(--color-text-inverse);text-decoration:none;font-size:var(--type-body);font-weight:600;line-height:1.2;letter-spacing:.04em;text-transform:uppercase;transition:background .2s ease,color .2s ease,transform .2s ease}.case-study-cta:hover{background:var(--color-surface-accent);color:var(--color-text-inverse);transform:translateY(-1px)}.case-study-cta-icon{width:12px;height:12px}.case-study-hero-media{width:100%;min-height:275px;border-radius:var(--radius-sm);overflow:hidden;background:linear-gradient(0deg,rgb(255 255 255/.82),rgb(255 255 255/.82)),linear-gradient(135deg,rgb(28 29 33/.08),rgb(28 29 33/.02));border:1px solid rgb(28 29 33/.08)}.case-study-hero-stage{aspect-ratio:2.25/1;min-height:0;max-height:58vh;background:#e10600;border-radius:24px;padding:clamp(16px,2.4vw,30px);border:0}.case-study-hero-media.is-placeholder{background:linear-gradient(135deg,rgb(28 29 33/.06) 25%,transparent 0) -18px 0 /36px 36px,linear-gradient(225deg,rgb(28 29 33/.06) 25%,transparent 0) -18px 0 /36px 36px,linear-gradient(315deg,rgb(28 29 33/.06) 25%,transparent 0) 0 0 /36px 36px,linear-gradient(45deg,rgb(28 29 33/.06) 25%,transparent 0) 0 0 /36px 36px,#f5f5f5}.case-study-hero-image{width:100%;height:100%;min-height:0;object-fit:contain;border-radius:18px}.case-study-detail-card{border-radius:0;background:transparent;border:0;box-shadow:none;align-self:stretch;justify-self:end;max-width:820px;min-height:100%;padding:6px 0 0;align-items:flex-start;gap:32px}.case-study-detail-card,.case-study-detail-list{width:100%;display:flex;flex-direction:column;justify-content:space-between}.case-study-detail-list{gap:22px;align-items:stretch;flex:1 1 auto}.case-study-detail-row{display:grid;grid-template-columns:minmax(96px,124px) minmax(0,1fr);align-items:start;grid-gap:22px;gap:22px;padding-top:0;padding-bottom:14px;border-top:0;border-bottom:1px solid rgb(28 29 33/.16)}.case-study-detail-row dd,.case-study-detail-row dt{font-size:var(--type-body);line-height:1.35;text-transform:uppercase}.case-study-detail-row dt{color:var(--red);font-weight:900}.case-study-detail-row dd{font-weight:500;text-align:right;color:rgb(28 29 33/.86)}.case-study-cta-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px;width:100%}.case-study-process-section{padding:18px 0 32px}.case-study-process-list{display:grid;grid-gap:48px;gap:48px}.case-study-process-item{display:grid;grid-gap:22px;gap:22px;padding-top:24px;border-top:1px solid rgb(28 29 33/.12)}.case-study-process-head{display:flex;align-items:baseline;gap:18px}.case-study-process-mark{color:var(--red);font-size:var(--type-body);font-weight:800;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;flex-shrink:0}.case-study-process-title{font-size:var(--type-display-sm);line-height:1.08;font-weight:800;letter-spacing:-.02em}.case-study-process-body{grid-gap:16px;gap:16px;max-width:66ch;line-height:1.58}.case-study-process-body,.case-study-process-bullets{display:grid;font-size:var(--type-body-strong);color:rgb(28 29 33/.82)}.case-study-process-bullets{grid-gap:10px;gap:10px;padding-left:22px;max-width:70ch;line-height:1.5}.case-study-process-gallery{display:grid;grid-gap:14px;gap:14px}.case-study-gallery-featured{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.case-study-process-figure{overflow:hidden;border-radius:18px;border:1px solid rgb(28 29 33/.08);background:#f4f4f4}.case-study-process-image{width:100%;height:auto;object-fit:cover}.case-study-outro{margin-top:72px;padding-top:24px}.case-study-outro-hero{display:grid;justify-items:center;text-align:center;grid-gap:14px;gap:14px}.case-study-outro-kicker{color:rgb(28 29 33/.62);font-size:var(--type-micro);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.case-study-outro-title{max-width:14ch;font-size:clamp(var(--type-display-md),4.5vw,var(--type-display-lg));line-height:.98;font-weight:900;letter-spacing:-.03em;color:var(--dark)}.case-study-outro-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 14px;margin-top:8px;width:min(100%,1320px)}.case-study-outro-actions .case-study-cta{flex:1 1 320px;min-height:58px;border-radius:var(--radius-lg);padding:14px 24px;font-size:clamp(1.1rem,1.2vw,1.45rem);font-weight:700;letter-spacing:.06em}.case-study-outro-bottom{padding:34px 0 42px;margin-top:28px}.case-study-other-works-head{margin-bottom:22px}.case-study-other-works-kicker{color:var(--dark);font-size:var(--type-body);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.case-study-carousel-actions{position:absolute;inset:50% -28px auto;z-index:2;pointer-events:none}.case-study-carousel-button{position:absolute;top:0;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border:1px solid rgb(28 29 33/.14);border-radius:var(--radius-pill);background:rgb(255 255 255/.92);box-shadow:0 18px 34px rgb(16 18 25/.16);color:var(--color-text-primary);cursor:pointer;pointer-events:auto;transition:transform .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease}.case-study-carousel-button:hover:not(:disabled){transform:translateY(-1px) scale(1.02);background:var(--color-surface-strong);border-color:var(--color-surface-strong);color:var(--color-text-inverse)}.case-study-carousel-button:disabled{opacity:.38;cursor:not-allowed}.case-study-carousel-button-icon{width:16px;height:16px}.case-study-carousel-button-icon-left{transform:rotate(225deg)}.case-study-carousel-button-icon-right{transform:rotate(45deg)}.case-study-carousel-button:first-child{left:0}.case-study-carousel-button:last-child{right:0}.case-study-carousel-wrapper{position:relative;padding:0 22px}.case-study-carousel-viewport{overflow:hidden;border-radius:18px}.case-study-carousel-track{display:flex;transition:transform .35s ease;will-change:transform}.case-study-carousel-page{flex:0 0 100%;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px}.case-study-carousel-item{min-width:0}.case-study-carousel-item .card-link{display:block}.case-study-carousel-item .project-card{background:var(--dark);color:var(--cream)}.case-study-carousel-item .project-meta{padding:0}.case-study-carousel-item .project-title-row{color:var(--cream)}.case-study-carousel-item .project-tags,.case-study-carousel-item .project-year{color:rgb(247 235 219/.82)}.case-study-carousel-item .project-thumb,.case-study-carousel-item .project-thumb-missing{border-radius:14px;overflow:hidden;background:rgb(0 0 0/.18)}.case-study-carousel-item .project-thumb img{transition:transform .3s ease}.case-study-carousel-item:hover .project-thumb img{transform:scale(1.03)}.case-study-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:12px;gap:12px;align-items:start}.case-study-gallery-card{height:auto;border-radius:14px;overflow:hidden;background:#d9d9d9}.case-study-gallery-card-featured{min-height:320px}.case-study-gallery-card.has-media{border:1px solid rgb(28 29 33/.08);background:rgb(28 29 33/.04)}.case-study-gallery-card.is-brand{background:#e10600;padding:clamp(18px,3vw,40px)}.case-study-gallery-card.is-placeholder{border:0}.case-study-gallery-hit{display:block;width:100%;border:0;padding:0;background:none;cursor:zoom-in}.case-study-gallery-image{width:100%;height:auto;display:block;object-fit:contain}.case-study-gallery-card.is-brand .case-study-gallery-image{border-radius:20px;object-fit:contain;background:rgb(0 0 0/.18)}.case-study-lightbox{position:fixed;inset:0;z-index:140;display:flex;align-items:center;justify-content:center;padding:28px;background:rgb(10 10 12/.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.case-study-lightbox-panel{width:min(1200px,100%);max-height:calc(100vh - 120px);display:grid;grid-gap:14px;gap:14px;justify-items:center}.case-study-lightbox-panel .case-study-gallery-image{width:auto;max-width:100%;max-height:calc(100vh - 190px);border-radius:18px;background:rgb(255 255 255/.04)}.case-study-lightbox-caption{color:var(--cream);font-size:var(--type-body);text-align:center;max-width:72ch}.case-study-lightbox-close,.case-study-lightbox-nav{position:fixed;border:1px solid rgb(247 235 219/.22);border-radius:999px;background:rgb(16 18 25/.78);color:var(--cream);cursor:pointer}.case-study-lightbox-close{top:24px;right:24px;padding:12px 18px}.case-study-lightbox-nav{top:50%;transform:translateY(-50%);padding:14px 18px}.case-study-lightbox-nav-prev{left:24px}.case-study-lightbox-nav-next{right:24px}.play-catalogue-page{min-height:100vh;padding-top:73px;background:var(--white)}.play-catalogue-stage{position:relative;width:100%}.play-board-viewport{position:relative;min-height:calc(100vh - 73px);overflow:hidden;background:radial-gradient(circle at 50% 0,rgb(255 255 255/14%),transparent 44%),linear-gradient(180deg,#d00405,#d00405);cursor:-webkit-grab;cursor:grab}.play-board-viewport.is-panning{cursor:-webkit-grabbing;cursor:grabbing}.play-board{position:absolute;inset:0 auto auto 0;width:var(--board-w);height:var(--board-h);transform:translate(var(--board-x),var(--board-y));border-radius:44px;background-color:#d00405;background-image:linear-gradient(rgb(250 240 226/.14) 1px,transparent 0),linear-gradient(90deg,rgb(250 240 226/.14) 1px,transparent 0),linear-gradient(rgb(250 240 226/.3) 1px,transparent 0),linear-gradient(90deg,rgb(250 240 226/.3) 1px,transparent 0);background-size:52px 52px,52px 52px,260px 260px,260px 260px;background-position:0 0,0 0,0 0,0 0;box-shadow:inset 0 0 0 2px rgb(250 240 226/.9),inset 0 0 0 18px rgb(0 0 0/.06),0 24px 60px rgb(0 0 0/.28);overflow:hidden}.play-board:before{inset:26px;border-radius:30px;border:2px solid rgb(250 240 226/.9)}.play-board:after,.play-board:before{content:"";position:absolute;pointer-events:none}.play-board:after{inset:0;border-radius:inherit;background:linear-gradient(180deg,rgb(255 255 255/.08),transparent 18%),radial-gradient(circle at 50% 50%,rgb(255 255 255/.03),transparent 68%)}.play-board-grid-frame{position:absolute;inset:0;z-index:1;pointer-events:none}.play-board-axis{position:absolute;display:grid;color:rgb(250 240 226/.96);font-size:34px;line-height:1;letter-spacing:-.03em}.play-board-axis-y{top:62px;bottom:62px;left:34px;width:36px;align-items:center;justify-items:center;grid-template-rows:repeat(18,1fr)}.play-board-crosshair{position:absolute;width:60px;height:60px;opacity:.95}.play-board-crosshair:after,.play-board-crosshair:before{content:"";position:absolute;background:rgb(250 240 226/.96)}.play-board-crosshair:before{top:28px;left:0;width:60px;height:4px}.play-board-crosshair:after{top:0;left:28px;width:4px;height:60px}.play-board-crosshair-right-top{top:294px;right:74px}.play-board-crosshair-right-mid{top:980px;right:74px}.play-board-crosshair-bottom-mid{bottom:128px;left:65%}.play-board-signoff{position:absolute;right:58px;bottom:36px;color:rgb(250 240 226/.96);font-family:Inter,sans-serif;font-size:var(--type-body-strong);font-weight:700;line-height:1.2;letter-spacing:0;white-space:nowrap}.play-board-hero{position:absolute;left:50%;top:50%;z-index:20;display:flex;flex-direction:column;align-items:center;width:min(980px,calc(100vw - (var(--container-pad) * 2)));text-align:center;transform:translate(-50%,-50%);pointer-events:none}.play-board-hero-title{max-width:12ch;margin:0 auto;font-size:clamp(52px,6vw,var(--type-display-xl));line-height:.9;font-weight:900;letter-spacing:-.05em;text-wrap:balance;color:rgb(250 240 226/.98);text-shadow:0 8px 24px rgb(0 0 0/.22)}.play-board-hero-subtitle{max-width:44ch;margin:16px auto 0;font-size:clamp(12px,1vw,16px);line-height:var(--body-copy-line);font-weight:400;color:rgb(250 240 226/.8);text-wrap:balance}.play-board-hero-cta{display:inline-flex;align-items:center;gap:10px;justify-content:center;align-self:center;margin-top:16px;padding:0;border:0;background:transparent;color:rgb(250 240 226/.88);font-size:clamp(9px,.9vw,15px);font-weight:700;letter-spacing:.1em;text-transform:uppercase;box-shadow:none}.play-board-hero-cta svg{width:14px;height:14px;flex-shrink:0}.play-viewport-ui{position:absolute;left:50%;bottom:40px;z-index:10;display:flex;flex-direction:column;align-items:center;gap:14px;transform:translateX(-50%)}.play-board-status{display:inline-flex;align-items:center;gap:12px;max-width:min(520px,calc(100vw - 32px));padding:10px 14px;border-radius:999px;background:rgb(250 240 226/.94);color:#1c1d21;font-size:13px;font-weight:600;box-shadow:0 14px 30px rgb(0 0 0/.16);text-align:center}.play-board-status-loading{color:rgb(100 62 0)}.play-board-status-ready{color:rgb(32 92 42)}.play-board-status-offline{color:rgb(122 25 27)}.play-board-status-action{border:0;border-radius:var(--radius-pill);padding:var(--control-padding-y-sm) var(--space-3);background:var(--color-surface-strong);color:var(--white);font:inherit;cursor:pointer}.play-board-status-action:disabled{opacity:.6;cursor:wait}.play-toolbox{position:relative;z-index:3;display:flex;gap:var(--control-gap-md);padding:var(--control-padding-y-md);border-radius:var(--radius-pill);background:rgb(250 240 226/.94);border:2px solid rgb(250 240 226/.72);box-shadow:0 18px 36px rgb(0 0 0/.2),inset 0 1px 0 rgb(255 255 255/.55);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.play-tool-btn{display:inline-flex;align-items:center;gap:var(--control-gap-sm);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--color-text-primary);font-size:var(--font-size-label);font-weight:700;padding:var(--space-3) var(--control-padding-x-md);cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.play-tool-btn.active,.play-tool-btn:hover{background:var(--color-surface-accent);color:var(--color-text-inverse);transform:translateY(-1px);box-shadow:0 10px 22px rgb(208 4 5/.22)}.play-tool-btn-danger.active,.play-tool-btn-danger:hover{background:var(--color-surface-strong);color:var(--color-text-inverse)}.play-tool-btn svg{width:16px;height:16px;flex-shrink:0}.play-sticker-picker{position:relative;z-index:6;width:264px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;padding:12px;border-radius:20px;background:rgb(255 255 255/96%);border:1px solid rgb(28 29 33/10%);box-shadow:0 18px 38px rgb(28 29 33/12%)}.play-picker-option{min-height:72px;border:0;border-radius:14px;background:#f7ebdb;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:8px;transition:transform .18s ease,box-shadow .18s ease}.play-picker-option:hover{transform:translateY(-2px);box-shadow:0 10px 18px rgb(28 29 33/10%)}.play-picker-option-emoji span{font-size:34px}.play-picker-option-text span{font-size:13px;font-weight:700;text-transform:lowercase}.play-picker-option-image img{width:100%;max-width:54px;height:auto}.play-picker-option-tone-2{background:#ffd8eb}.play-picker-option-tone-3{background:#d7f7ff}.play-sticker{position:absolute;left:var(--sticker-x);top:var(--sticker-y);transform:rotate(var(--sticker-rotate));z-index:2;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;transition:transform .18s ease,filter .18s ease}.play-sticker:hover{filter:drop-shadow(0 10px 18px rgb(28 29 33/16%))}.play-sticker.is-removable.is-erase-mode{cursor:cell}.play-sticker.is-removable.is-erase-mode:hover{filter:drop-shadow(0 12px 22px rgb(208 4 5/22%))}.play-sticker.is-dragging{cursor:-webkit-grabbing;cursor:grabbing;z-index:12}.play-sticker-emoji,.play-sticker-text{display:inline-flex;align-items:center;justify-content:center;min-width:72px;min-height:72px}.play-sticker-emoji span{font-size:54px;line-height:1}.play-sticker-text span{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;background:#fff6be;border:2px solid rgb(28 29 33/14%);font-size:18px;font-weight:700;text-transform:lowercase;white-space:nowrap}.play-sticker-tone-2 span{background:#ffd8eb}.play-sticker-tone-3 span{background:#d7f7ff}.play-sticker-image{display:block;width:var(--sticker-width)}.play-sticker-image img{display:block;width:100%;height:auto;pointer-events:none;filter:drop-shadow(0 10px 14px rgb(28 29 33/12%))}.play-note,.play-note *,.play-sticker-emoji span,.play-sticker-text span{pointer-events:none}.play-note-input{pointer-events:auto}.play-sticker-note{width:var(--sticker-width)}.play-note{width:100%;min-height:160px;padding:14px;border-radius:18px;background:#fff6be;border:2px solid rgb(28 29 33/14%);box-shadow:0 10px 18px rgb(28 29 33/10%)}.play-sticker-tone-2 .play-note{background:#ffd8eb}.play-sticker-tone-3 .play-note{background:#d7f7ff}.play-note-top{display:flex;justify-content:flex-start;margin-bottom:10px}.play-note-chip{display:inline-flex;align-items:center;justify-content:center;padding:4px 9px;border-radius:999px;background:rgb(255 255 255/62%);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.play-note-input{width:100%;min-height:104px;border:0;background:transparent;resize:none;outline:none;color:var(--dark);font:inherit;font-size:18px;line-height:1.35}.play-board-card{position:absolute;left:var(--card-x);top:var(--card-y);width:var(--card-w);min-height:var(--card-h);padding:12px;border-radius:24px;border:1px solid rgb(28 29 33/10%);background:rgb(255 255 255/.98);box-shadow:0 22px 36px rgb(28 29 33/12%);cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:box-shadow .2s ease,transform .2s ease,rotate .2s ease;rotate:var(--card-tilt,0deg)}.play-board-card:hover{transform:translateY(-2px);box-shadow:0 26px 46px rgb(28 29 33/16%)}.play-board-card.is-dragging{cursor:-webkit-grabbing;cursor:grabbing;z-index:10;box-shadow:0 28px 54px rgb(28 29 33/22%);rotate:0deg}.play-board-thumb{position:relative;height:calc(var(--card-h) - 108px);min-height:160px;border-radius:16px;overflow:hidden;border:1px solid rgb(28 29 33/12%)}.play-board-card-1 .play-board-thumb{background:radial-gradient(circle at 20% 20%,rgb(28 29 33/.04),transparent 24%),linear-gradient(180deg,#ffffff,#f6f6f6)}.play-board-card-2 .play-board-thumb{background:radial-gradient(circle at 75% 18%,rgb(28 29 33/.05),transparent 28%),linear-gradient(180deg,#ffffff,#f4f4f4)}.play-board-card-3 .play-board-thumb{background:radial-gradient(circle at 50% 50%,rgb(28 29 33/.04),transparent 32%),linear-gradient(180deg,#ffffff,#f5f5f5)}.play-board-thumb-image{width:100%;height:100%;object-fit:cover}.play-board-label{position:absolute;right:16px;bottom:14px;font-size:clamp(22px,3vw,34px);font-weight:900;color:rgb(28 29 33/.9);text-transform:uppercase}.play-board-meta{display:flex;flex-direction:column;gap:4px;padding:14px 4px 2px}.play-board-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.play-board-card-title{font-size:20px;line-height:1.2;color:var(--dark)}.play-board-card-copy{font-size:16px;line-height:1.35;color:rgb(28 29 33/72%)}.play-board-link{display:inline-flex;align-items:center;justify-content:center;color:var(--dark);text-decoration:none;flex-shrink:0}.play-board-link svg{width:16px;height:16px}.play-board-link-muted{opacity:.42}.play-board-section{padding:28px 0 0}.play-board-section-gallery-only{padding-top:0}.play-board-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.play-board-title{font-size:clamp(30px,4vw,54px);line-height:.96}.play-board-copy{max-width:480px;font-size:var(--body-copy-size);line-height:var(--body-copy-line)}.play-masonry{columns:280px 3;column-gap:16px}.play-masonry-gallery-only{column-gap:12px}.play-gallery-empty{display:flex;align-items:center;justify-content:center;min-height:240px;padding:28px;border:1px dashed rgb(28 29 33/.18);border-radius:22px;background:rgb(255 255 255/.88);color:rgb(28 29 33/.72);font-size:var(--body-copy-size);line-height:var(--body-copy-line);text-align:center}.play-pin{page-break-inside:avoid;break-inside:avoid;min-height:220px;margin-bottom:16px;border-radius:26px;border:1px dashed rgb(28 29 33/18%);background:linear-gradient(180deg,rgb(255 255 255/88%),rgb(247 235 219/62%)),linear-gradient(135deg,rgb(208 4 5/6%),transparent 46%);padding:20px;display:flex;align-items:flex-end}.play-pin-image{min-height:0;padding:0;overflow:hidden;border-style:solid;background:rgb(255 255 255/92%)}.play-page-gallery-only .play-pin-image{border:0;border-radius:0;background:#fff;box-shadow:none;margin-bottom:12px}.play-pin-1{min-height:420px}.play-pin-2{min-height:310px}.play-pin-3{min-height:260px}.play-pin-label{font-size:var(--type-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgb(28 29 33/70%)}.play-template-copy{margin-top:12px}.play-template-copy,.play-template-list{font-size:18px;line-height:1.5;color:rgb(28 29 33/82%)}.play-template-list{margin:12px 0 0;padding-left:18px}.play-pin-media{display:block;width:100%;height:auto}.work-catalogue-page{min-height:100vh;padding-top:112px;padding-bottom:80px;background:var(--white)}.work-catalogue-shell{max-width:none;margin-inline:0;padding-inline:var(--container-pad)}.work-catalogue-header{margin-bottom:18px}.work-catalogue-title{font-size:var(--type-display-xl);line-height:1;font-weight:900}.work-filter-row{display:flex;flex-wrap:wrap;gap:10px 30px;margin-bottom:38px;width:100%}.work-filter{display:inline-flex;align-items:center;gap:var(--control-gap-sm);-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;color:var(--color-text-primary);font-size:var(--font-size-caption);font-weight:700;line-height:1;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:color .2s ease,opacity .2s ease;padding:0}.work-filter svg{width:12px;height:12px;flex-shrink:0}.work-filter.active,.work-filter:hover{color:var(--color-surface-accent);opacity:1}.work-filter:not(.active){opacity:.88}.catalog-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;align-items:stretch}.catalog-grid .project-card{padding:8px 8px 24px;gap:14px}.catalog-grid .project-thumb,.catalog-grid .project-thumb-missing{position:relative;aspect-ratio:1/.86;height:auto;padding-top:0}.catalog-grid .project-thumb img{position:static;inset:auto}.catalog-grid .project-title-row{font-size:20px;gap:8px}.catalog-grid .project-tags{font-size:18px;line-height:var(--body-copy-line)}.catalog-grid .project-meta{padding:0 4px;gap:5px}.catalog-wip{position:relative}.catalog-wip span{font-size:clamp(30px,5vw,48px);font-weight:900;color:var(--cream);text-transform:uppercase}#contact{background:var(--red);padding:110px 0 132px}.contact-inner{max-width:none;width:100%;margin:0 auto;padding-inline:var(--container-pad);display:flex;align-items:flex-end;justify-content:space-between;gap:56px}.contact-left{flex:1 1 auto;max-width:1040px}.contact-headline{font-size:var(--type-display-xl);font-weight:900;color:var(--cream);line-height:.98;margin-bottom:20px;white-space:nowrap}.contact-sub{font-size:var(--body-copy-size);font-weight:700;color:var(--cream);margin-bottom:36px;max-width:940px;line-height:1.35}.contact-form{display:flex;flex-direction:column;gap:var(--space-2);width:min(100%,840px)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-2);gap:var(--space-2)}.contact-input{background:var(--cream);border:none;border-radius:var(--radius-sm);padding:0 var(--control-padding-x-sm);font-family:Inter,sans-serif;font-size:var(--font-size-body);font-weight:500;line-height:1.4;letter-spacing:0;color:var(--color-text-primary);width:100%;outline:none;min-height:50px;resize:none}.contact-input::placeholder{color:var(--color-text-primary);opacity:.95;font-family:Inter,sans-serif;font-size:var(--font-size-body);font-weight:500;text-transform:uppercase;letter-spacing:.01em}.contact-input:focus{box-shadow:inset 0 0 0 2px rgb(28 29 33/14%)}.contact-textarea{min-height:74px;padding-top:14px}.contact-send{background:var(--color-surface-strong);border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;height:74px;width:74px;min-width:74px;padding:0;flex-shrink:0;color:var(--color-text-inverse)}.contact-send:hover{background:var(--cream)}.contact-send:hover,.contact-send:hover svg{color:var(--dark)}.contact-message-row{display:flex;align-items:stretch;gap:10px}.contact-img{flex:0 0 auto;align-self:flex-end}.contact-img img{width:min(28vw,360px);min-width:240px;height:auto}footer{background:var(--red);border-top:1px solid rgb(247 235 219/16%);padding:44px var(--container-pad) 56px;justify-content:center}.footer-inner,footer{display:flex;align-items:center}.footer-inner{max-width:none;width:100%;justify-content:space-between}.social-links{display:flex;gap:32px}.social-link{display:flex;align-items:center;gap:6px;font-size:var(--type-label);text-transform:uppercase;letter-spacing:.05em;color:var(--cream);text-decoration:none;transition:color .2s}.social-link:hover{color:var(--dark)}#scroll-top{position:fixed;bottom:42px;right:var(--container-pad);width:90px;height:90px;background:var(--dark);border-radius:50%;border:2px solid var(--cream);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:200;opacity:0;pointer-events:none;transition:opacity .3s,transform .2s}#scroll-top.visible{opacity:1;pointer-events:all}#scroll-top:hover{transform:scale(1.1)}#scroll-top svg{width:34px;height:34px}.fade-in{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease}.fade-in.animate{opacity:0;transform:translateY(20px)}.fade-in.animate.visible{opacity:1;transform:none}.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}@media (max-width:768px){:root{--container-pad:24px}nav{padding:12px 20px}.nav-links{display:none}.nav-menu-btn{display:inline-flex;margin-left:auto}.nav-mobile-panel{display:block}.nav-desktop-cta{display:none}.nav-btn{gap:7px;padding:8px 10px;font-size:var(--type-label)}.nav-btn svg{width:13px;height:13px}#hero{padding-top:66px}.hero-title-wrap{width:100%}.hero-bottom{flex-direction:column;align-items:center;gap:20px;padding-bottom:24px}.hero-desc-extended,.hero-desc-left{max-width:100%}.hero-desc-left{min-height:auto;display:block;text-align:center;padding-top:0}.hero-stats{gap:24px;width:-moz-fit-content;width:fit-content;max-width:none;margin:0 auto;justify-self:center}.stat{flex-basis:160px;width:160px;min-width:160px;min-height:auto}.stat-num{font-size:48px}.stat-plus{font-size:24px}.hero-desc-left .title{font-size:var(--type-body-strong)}.hero-desc-extended,.hero-desc-left .subtitle{font-size:var(--body-copy-mobile)}.hero-desc-extended{margin-top:14px}.hero-stats{align-self:center}.stat-label{font-size:var(--type-label);max-width:none;margin-top:4px}.photos-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.photo-card{height:200px}.section{padding:32px 0;padding-inline:var(--container-pad)}.section-title{font-size:var(--type-display-md)}.section-header{margin-bottom:10px}.section-subheader{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px}.projects-grid{grid-template-columns:1fr}.project-thumb,.project-thumb-missing{height:280px}.services-row{display:block}.services-list{width:100%;margin-left:0}.service-name{font-size:var(--type-display-sm)}.services-img{width:min(100%,260px);margin:16px auto 0}.service-content{padding:14px 18px}.play-grid{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px;align-items:stretch}#services .section{padding-bottom:20px}#play .section{padding-top:20px}.play-thumb,.play-thumb-missing{aspect-ratio:1/.86}.play-card{min-width:0}.play-footer{align-items:flex-start;min-height:76px}.play-title{font-size:clamp(14px,2vw,16px)}.play-desc{font-size:clamp(12px,1.8vw,14px);line-height:1.35}.case-study-page,.play-page{padding-top:96px}.case-study-gallery-featured,.case-study-gallery-grid,.case-study-hero-grid{grid-template-columns:1fr}.case-study-process-head{gap:8px}.case-study-other-works-head,.case-study-process-head{flex-direction:column;align-items:flex-start}.case-study-carousel-wrapper{padding:0}.case-study-carousel-actions{inset:auto 0 -72px auto;display:inline-flex;gap:10px}.case-study-carousel-button{position:static;width:48px;height:48px}.case-study-outro-actions{flex-direction:column;align-items:stretch}.case-study-outro-link{justify-content:space-between}.case-study-outro-title{max-width:18ch}.case-study-carousel-page{grid-template-columns:1fr}.case-study-hero-copy{gap:24px;padding-top:0}.case-study-title{max-width:none}.case-study-summary{max-width:100%}.case-study-hero-stage{aspect-ratio:1.3/1}.case-study-detail-row{grid-template-columns:1fr;gap:8px;padding-bottom:12px}.case-study-detail-row dd{text-align:left}.case-study-detail-card{max-width:none;padding-top:0}.case-study-hero-image,.case-study-hero-media{min-height:240px}.play-catalogue-page{padding-top:64px}.play-board-header,.play-hero-row{flex-direction:column;align-items:flex-start}.play-hero-description{font-size:20px}.play-board-copy,.play-hero-intro{max-width:100%}.play-title{font-size:18px}.play-board{position:relative;inset:auto;width:auto;height:auto;transform:none;min-height:calc(100vh - 180px)}.play-board,.play-board-viewport{display:grid;grid-gap:8px;gap:8px}.play-board-viewport{min-height:calc(100vh - 64px);cursor:default}.play-board-hero{position:static;left:auto;top:auto;width:min(92vw,620px);margin:0 auto;padding:40px 0 16px;transform:none}.play-board-hero-title{max-width:10ch;font-size:clamp(34px,11vw,52px)}.play-board-hero-subtitle{margin-top:16px;max-width:40ch;font-size:12px}.play-board-hero-cta{display:none}.play-board-axis{font-size:18px}.play-board-axis-y{top:48px;bottom:76px;left:16px;width:22px}.play-board-crosshair{width:34px;height:34px}.play-board-crosshair:before{top:16px;width:34px;height:2px}.play-board-crosshair:after{left:16px;width:2px;height:34px}.play-board-crosshair-right-top{top:180px;right:32px}.play-board-crosshair-right-mid{top:auto;bottom:220px;right:32px}.play-board-crosshair-bottom-mid{bottom:90px;left:62%}.play-board-signoff,.play-sticker,.play-viewport-ui{display:none}.play-board-card{position:static;width:min(100%,240px);margin:0 auto;min-height:auto;padding:7px;transform:none;rotate:0deg;cursor:default}.play-board-card:hover{transform:none}.play-board-thumb{height:150px}.play-board-card-title{font-size:15px}.play-board-card-copy{font-size:12px}.work-catalogue-page{padding-top:88px}.work-catalogue-shell{margin-inline:0;padding-inline:var(--container-pad)}.work-catalogue-title{font-size:var(--type-display-md)}.work-filter-row{gap:8px 16px;margin-bottom:24px}.catalog-grid{grid-template-columns:1fr}.catalog-grid .project-thumb,.catalog-grid .project-thumb-missing{height:280px}.catalog-grid .project-meta,.catalog-grid .project-title-row,.project-meta,.project-title-row{min-height:auto}.play-desc{font-size:16px}.contact-sub,.project-tags,.section-sub,.service-copy,.social-link{font-size:var(--body-copy-mobile)}.contact-inner{flex-direction:column;align-items:center;padding-inline:var(--container-pad);gap:24px}.contact-left{width:100%;max-width:760px;margin:0 auto}.contact-headline{font-size:var(--type-display-md);white-space:normal}.contact-grid{grid-template-columns:1fr}.contact-message-row{flex-direction:column}.contact-sub{margin-bottom:22px;max-width:100%}.contact-form,.contact-input{width:100%}.contact-form{max-width:760px;margin:0 auto}.contact-input{min-height:52px;padding:0 14px;font-size:16px}.contact-input::placeholder{font-size:16px}.contact-textarea{min-height:96px;padding-top:14px}.contact-send{width:64px;min-width:64px;height:64px}.contact-img img{width:min(68vw,240px);min-width:0;max-height:none}.contact-img{align-self:center}footer{padding:28px 20px 40px}.footer-inner,.photos-grid{width:100%}.social-links{flex-wrap:wrap;gap:12px 16px}#scroll-top{bottom:20px;right:20px;width:64px;height:64px}#scroll-top svg{width:24px;height:24px}}@media (max-width:1400px){.hero-bottom{grid-template-columns:1fr;align-items:center;justify-items:center;gap:32px}.hero-desc-left{max-width:min(100%,860px);min-height:auto;display:block;text-align:center}.hero-desc-extended,.hero-desc-left .subtitle{max-width:none;margin-top:14px}.hero-stats{justify-self:center;align-self:auto;gap:24px;max-width:none;margin-top:0}}@media (max-width:1080px){.hero-bottom{gap:28px}.case-study-hero-grid{grid-template-columns:1fr;gap:28px}.case-study-hero-copy{max-width:none}.photos-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.photo-card{height:320px}}@media (max-width:1200px){.contact-headline,.section-sub-wide{white-space:normal}}@media (max-width:520px){nav{gap:10px}.case-study-hero{padding-top:16px}.case-study-title{font-size:40px;max-width:none}.case-study-summary{font-size:var(--body-copy-mobile)}.case-study-hero-image,.case-study-hero-media{min-height:200px}.case-study-hero-stage{padding:18px;border-radius:18px}.case-study-gallery-card{height:auto}.case-study-gallery-card-featured{min-height:0}.case-study-lightbox{padding:18px}.case-study-lightbox-close{top:16px;right:16px}.case-study-lightbox-nav{display:none}.case-study-detail-card{padding-inline:18px}.nav-btn{font-size:13px;letter-spacing:.03em}.hero-stats{gap:12px;width:100%;max-width:420px;margin:0 auto;justify-self:center;align-self:center}.stat{flex:1 1;width:auto;min-width:0;align-items:flex-start;text-align:left}.stat-num{font-size:40px}.stat-plus{font-size:20px;margin-top:6px}.stat-label{font-size:10px;max-width:none;line-height:1.2;text-align:left}.stat-label-line{display:inline}.stat-label-line+.stat-label-line:before{content:" "}.stat[data-has-divider=true]{padding-left:10px}.photo-card{height:180px}.section-title{font-size:32px}.project-title-row{flex-direction:column;align-items:flex-start;gap:4px;font-size:18px}.service-name{font-size:40px}.view-btn{font-size:14px;padding:10px 18px}.play-page{padding-bottom:40px}.play-chip-row{gap:8px}.play-chip{padding:10px 14px}.play-masonry{column-count:1}.work-filter{font-size:13px}.contact-headline{font-size:32px}}@media (pointer:coarse){.custom-cursor{display:none}.photo-card{cursor:default}.photo-card-tag{display:inline-flex;align-items:center;justify-content:center}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;transition:none!important}.fade-in,.fade-in.animate,.fade-in.animate.visible{opacity:1;transform:none}}@media (min-width:768px){:root{--container-pad:28px}}@media (min-width:1024px){:root{--container-pad:56px}}@media (min-width:1440px){:root{--container-pad:96px}}