/* Shared twelve-column system, scoped to this homepage. */
body.system-home{--ink:#1a1a1a;--edge:48px;--gutter:48px;--section-space:128px;--display:96px;--lead:24px;--body:18px;--label:14px;color:var(--ink);overflow-x:clip}
body.system-home :is(h1,h2,h3,p,a,span,address,summary,li,label,button,input,textarea){color:var(--ink)}
body.system-home>main{width:calc(100% - 2*var(--edge))!important;max-width:1440px!important;margin:0 auto!important;padding:0!important}
body.system-home>header{left:50%!important;transform:translateX(-50%)!important;width:calc(100% - 2*var(--edge));max-width:1440px!important;padding:24px 0!important;mix-blend-mode:normal;color:var(--ink)!important}
body.system-home>header .logo{filter:brightness(0)!important}
body.system-home>header nav{background:#fffffff2;padding:10px 14px;gap:6px}
body.system-home>header nav a,body.system-home .text-link,body.system-home .back,body.system-home .archive-jump a,body.system-home .eyebrow,body.system-home .brand-ticker-toggle,body.system-home>footer{font-size:var(--label)!important;font-weight:600;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)!important}
body.system-home>.top-text-ticker{background:#fff;border-bottom:1px solid #d4d4d0;color:var(--ink);padding:14px var(--edge);width:100%;line-height:21px}
body.system-home .top-text-ticker .ribbon-track,body.system-home .top-text-ticker span,body.system-home .top-text-ticker b{font-size:var(--label);font-weight:600;line-height:1.5;letter-spacing:.08em;color:var(--ink)!important}
body.system-home #work{padding:0!important}
body.system-home #work>.archive-jump{padding:32px 0!important;width:100%;margin:0!important}
body.system-home #work>.archive-jump span{font-size:var(--body);line-height:1.6;color:var(--ink)}
body.system-home #work .mosaic-grid .meta{background:#fffffff2!important;color:var(--ink)!important;padding:18px 20px!important;bottom:0!important;max-width:100%;text-shadow:none!important}
body.system-home #work .mosaic-grid .meta h3{font-size:var(--lead)!important;font-weight:700;line-height:1.5;color:var(--ink)!important;text-shadow:none!important;margin:0!important;letter-spacing:-.03em}
body.system-home #work .mosaic-grid .meta p{font-size:var(--body)!important;font-weight:400;line-height:1.6;color:var(--ink)!important;text-shadow:none!important;max-width:none;margin:0}
body.system-home .homepage-intro,body.system-home main>.studio,body.system-home main>.collaborators,body.system-home main>.contact{width:100%;max-width:none;margin:0!important;padding:var(--section-space) 0!important}
body.system-home .homepage-intro,body.system-home main>.studio{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);row-gap:64px;align-items:start}
body.system-home .homepage-intro>div:first-child,body.system-home .studio-heading{grid-column:1/span 6}
body.system-home .homepage-intro-copy,body.system-home .studio-intro{grid-column:7/span 6;padding-top:37px;max-width:none}
body.system-home :is(.homepage-intro h1,.studio-heading h2,.collaborators h2,#contact.refined-contact .contact-heading h2){font-size:var(--display)!important;font-weight:700!important;line-height:1!important;letter-spacing:-.03em!important;max-width:none;margin:16px 0 0!important;text-align:left}
body.system-home .homepage-intro-copy p,body.system-home .studio-intro p{font-size:var(--lead)!important;font-weight:400;line-height:1.5;letter-spacing:0;margin:0 0 24px;max-width:none;color:var(--ink)}
body.system-home #studio>.service-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);padding:32px 0 0;margin:0;border-top:1px solid var(--ink);width:100%}
body.system-home #studio>.service-list article{grid-column:span 4;border:0!important;padding:0!important;margin:0;min-width:0;max-width:none}
body.system-home #studio>.service-list h3{font-size:var(--lead);font-weight:400;line-height:1.5;margin:0 0 16px;letter-spacing:-.03em}
body.system-home #studio>.service-list p{font-size:var(--body);line-height:1.6;font-weight:400;max-width:none;margin:0 0 24px;color:var(--ink)}
body.system-home main>.collaborators{padding-bottom:0!important}
body.system-home .collaborator-intro{font-size:var(--body);font-weight:400;line-height:1.6;margin:24px 0 0;max-width:66ch;color:var(--ink)}
body.system-home .grid-brand-ticker{width:100%;max-width:none;margin:40px 0 32px!important;padding:0;border:0;background:transparent;overflow:visible}
body.system-home .grid-brand-ticker .brand-ticker-window{width:100%;overflow:hidden;mask-image:none;padding:0}
body.system-home .grid-brand-ticker .brand-ticker-track{display:flex;width:max-content;gap:0;animation:brand-grid-loop 40s linear infinite;will-change:transform}
body.system-home .grid-brand-ticker .brand-ticker-group{display:flex;align-items:center;gap:64px;padding:0 64px 0 0;margin:0;flex:none;width:max-content}
body.system-home .grid-brand-ticker .brand-logo{display:flex;align-items:center;height:40px;min-width:0;flex:none;padding:0;margin:0;width:auto}
body.system-home .grid-brand-ticker .brand-logo img{display:block;height:40px!important;width:auto!important;max-width:none!important;object-fit:contain;opacity:1;filter:none}
body.system-home .grid-brand-ticker .brand-ticker-toggle{display:block;position:static;float:none;min-height:44px;margin:12px 0 0;padding:8px 0;background:none;border:0;border-radius:0;text-align:left;cursor:pointer}
body.system-home .grid-brand-ticker.is-paused .brand-ticker-track{animation-play-state:paused}
@keyframes brand-grid-loop{to{transform:translateX(-50%)}}
body.system-home #collaborators .collaborator-details{padding:24px!important;margin:0!important;width:100%;border-top:1px solid #b6b6b0;border-bottom:0}
body.system-home #collaborators .creative-collaborators{margin:0;padding:0}
body.system-home #collaborators .creative-collaborators>.collaborator-details:last-child{border-bottom:1px solid #b6b6b0}
body.system-home #collaborators .collaborator-details summary{font-size:var(--label);font-weight:600;line-height:1.5;text-transform:uppercase;letter-spacing:.08em;color:var(--ink)}
body.system-home #collaborators .collaborator-details summary:after{font-size:var(--body);line-height:1.6;color:var(--ink)}
body.system-home #collaborators .collaborator-names{padding:0;gap:24px var(--gutter)}
body.system-home #collaborators .collaborator-names li{font-size:var(--body);line-height:1.6;font-weight:400;color:var(--ink)}
body.system-home #contact.refined-contact{--contact-heading:var(--display);--contact-value:var(--lead);--contact-body:var(--body);--contact-label:var(--label);padding:var(--section-space) 0!important}
body.system-home #contact.refined-contact .contact-heading{display:block;gap:0;margin:0 0 64px}
body.system-home #contact.refined-contact .contact-heading .eyebrow{display:block;font-size:var(--label);line-height:1.5;font-weight:600;letter-spacing:.08em;color:var(--ink)}
body.system-home #contact.refined-contact .contact-directory{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:48px var(--gutter);width:100%;margin:0}
body.system-home #contact.refined-contact .contact-enquiries,body.system-home #contact.refined-contact .contact-offices{display:contents}
body.system-home #contact.refined-contact .contact-enquiries>div{gap:16px;min-width:0}
body.system-home #contact.refined-contact .contact-enquiries>div:nth-child(1){grid-column:1/span 3;grid-row:1}
body.system-home #contact.refined-contact .contact-enquiries>div:nth-child(2){grid-column:1/span 3;grid-row:2}
body.system-home #contact.refined-contact .contact-enquiries>div:nth-child(3){grid-column:4/span 3;grid-row:1}
body.system-home #contact.refined-contact .contact-enquiries>div:nth-child(4){grid-column:4/span 3;grid-row:2}
body.system-home #contact.refined-contact .contact-offices>div{display:flex;flex-direction:column;align-items:flex-start;gap:16px;grid-row:1;min-width:0}
body.system-home #contact.refined-contact .contact-offices>div:nth-child(1){grid-column:7/span 3}
body.system-home #contact.refined-contact .contact-offices>div:nth-child(2){grid-column:10/span 3}
body.system-home #contact.refined-contact h3,body.system-home #contact.refined-contact form label{font-size:var(--label);font-weight:600;line-height:1.5;letter-spacing:.08em;color:var(--ink)}
body.system-home #contact.refined-contact .contact-enquiries a{font-size:var(--lead);font-weight:500;line-height:1.5;letter-spacing:0;color:var(--ink)}
body.system-home #contact.refined-contact .contact-offices address,body.system-home #contact.refined-contact .contact-offices a{font-size:var(--body);font-weight:400;line-height:1.6;letter-spacing:0;color:var(--ink);margin:0;padding:0}
body.system-home #contact.refined-contact .contact-offices address{min-height:calc(4 * var(--body) * 1.6)}
body.system-home #contact.refined-contact .contact-offices a{align-self:auto;white-space:nowrap}
body.system-home #contact.refined-contact .brief-builder{margin:48px 0 0;padding:64px 0 0;border-top:1px solid var(--ink)}
body.system-home #contact.refined-contact .brief-builder>summary{font-size:18px;font-weight:500;line-height:1.6;padding:18px 28px;border-radius:2px;background:var(--ink);border:0;color:#fff;gap:12px;min-height:64px}
body.system-home #contact.refined-contact .brief-builder>summary::after{content:'';display:block;width:8px;height:8px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg);transition:translate .18s ease}
body.system-home #contact.refined-contact .brief-builder>summary:hover{background:#000}
body.system-home #contact.refined-contact .brief-builder>summary:hover::after{translate:3px 0}
body.system-home #contact.refined-contact :is(.brief-builder p,input,textarea,form button){font-size:var(--body);font-weight:400;line-height:1.6;color:var(--ink)}
body.system-home>footer{max-width:1440px;width:calc(100% - 2*var(--edge));margin:0 auto;padding:48px 0;gap:var(--gutter);font-size:var(--label)}
body.system-home>footer a,body.system-home>footer span{font-size:var(--label);font-weight:600;line-height:1.5;letter-spacing:.08em;color:var(--ink)}
body.system-home>.sticky-back{display:none!important}
@media(max-width:767px){
 body.system-home{--edge:24px;--gutter:24px;--section-space:80px;--display:56px;--lead:20px;--body:16px;--label:13px}
 body.system-home>header{padding:20px 0!important}
 body.system-home .homepage-intro,body.system-home main>.studio{row-gap:40px}
 body.system-home .homepage-intro>div:first-child,body.system-home .studio-heading,body.system-home .homepage-intro-copy,body.system-home .studio-intro{grid-column:1/-1;padding-top:0;min-width:0}
 body.system-home #studio>.service-list{row-gap:40px}
 body.system-home #studio>.service-list article{grid-column:1/-1}
 body.system-home .grid-brand-ticker .brand-ticker-group{gap:40px;padding-right:40px}
 body.system-home .grid-brand-ticker .brand-logo,body.system-home .grid-brand-ticker .brand-logo img{height:32px!important}
 body.system-home #collaborators .collaborator-names{grid-template-columns:1fr;gap:16px}
 body.system-home #contact.refined-contact .contact-directory{display:flex;flex-direction:column;gap:48px}
 body.system-home #contact.refined-contact .contact-offices address{min-height:0}
 body.system-home #contact.refined-contact .brief-builder>summary{width:100%;font-size:var(--body);padding:18px 28px;min-width:0;text-align:left}
 body.system-home>footer{flex-wrap:wrap;gap:24px}
 body.system-home :is(p,h1,h2,h3,a){overflow-wrap:break-word}
}
@media(prefers-reduced-motion:reduce){
 body.system-home .grid-brand-ticker .brand-ticker-track{animation:none;transform:none;display:block;width:100%}
 body.system-home .grid-brand-ticker .brand-ticker-group{width:100%;display:flex;flex-wrap:wrap;justify-content:flex-start;padding:0;gap:32px 64px}
 body.system-home .grid-brand-ticker .brand-ticker-group[aria-hidden="true"]{display:none}
 body.system-home .grid-brand-ticker .brand-logo{visibility:visible!important}
 body.system-home .grid-brand-ticker .brand-ticker-toggle{display:none}
}
@media(prefers-reduced-motion:reduce) and (max-width:767px){body.system-home .grid-brand-ticker .brand-ticker-group{gap:24px 40px}}

body.system-home{font-size:var(--body);line-height:1.6}
body.system-home #work .archive-jump p{font-size:var(--body);font-weight:400;line-height:1.6;color:var(--ink)}
body.system-home :is(.homepage-intro h1,.studio-heading h2,.collaborators h2,.contact-heading h2){overflow-wrap:anywhere}
body.system-home #contact.refined-contact .contact-offices address{flex:1}
body.system-home #contact.refined-contact .contact-offices a{white-space:normal}

/* Restore only the original opening; retain the current lower-page grid. */
body.system-home>main{width:100%!important;max-width:none!important;margin:0!important}
body.system-home .homepage-intro,body.system-home main>.studio,body.system-home main>.collaborators,body.system-home main>.contact{width:calc(100% - 2*var(--edge));max-width:1440px;margin-left:auto!important;margin-right:auto!important}
body.system-home>.top-text-ticker{padding:14px 0;background:#e7a2ff;border-bottom:1px solid #2222;line-height:20px}
body.system-home .top-text-ticker .ribbon-track{font-size:13px;font-weight:400;line-height:normal;letter-spacing:1.5px;gap:60px;animation:marquee 38s linear infinite}
body.system-home .top-text-ticker span,body.system-home .top-text-ticker b{font-size:13px;font-weight:400;line-height:normal;letter-spacing:1.5px}
body.system-home .top-text-ticker .ribbon-track span:nth-child(4n+1){color:#38205c!important}
body.system-home .top-text-ticker .ribbon-track span:nth-child(4n+2){color:#6d1536!important}
body.system-home .top-text-ticker .ribbon-track span:nth-child(4n+3){color:#103e4d!important}
body.system-home .top-text-ticker .ribbon-track span:nth-child(4n){color:#233d21!important}
body.system-home .top-text-ticker .ribbon-track span b{color:inherit!important}
body.system-home>header{position:absolute;top:var(--top-ticker-height,49px)!important;left:0!important;transform:none!important;width:100%;max-width:none!important;min-height:120px;padding:25px 28px!important;background:transparent!important;border:0;align-items:start;mix-blend-mode:difference;color:#fff!important;pointer-events:none}
body.system-home>header .logo{width:78px;height:70px;filter:brightness(0) invert(1)!important}
body.system-home>header nav{background:transparent;padding:0;display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:11px;font-weight:600;line-height:1.25;letter-spacing:.03em;text-align:right}
body.system-home>header nav a{font-size:11px!important;font-weight:600;line-height:1.25;letter-spacing:.03em;color:#fff!important}
body.system-home>header>a,body.system-home>header nav{pointer-events:auto}
body.system-home #work .mosaic-grid .mosaic-tile .meta{background:linear-gradient(transparent,rgba(0,0,0,.45))!important;padding:60px 24px 25px!important;color:#fff!important;bottom:0!important}
body.system-home #work .mosaic-grid .mosaic-tile .meta h3{font-size:clamp(26px,3.1vw,56px)!important;font-weight:750;line-height:.98;letter-spacing:-.035em;color:#fff!important;margin:0 0 10px!important;text-wrap:balance;text-shadow:0 1px 12px #0004!important}
body.system-home #work .mosaic-grid .mosaic-tile .meta p{font-size:clamp(11px,1vw,15px)!important;font-weight:500;line-height:1.4;letter-spacing:normal;color:#fff!important;margin:0;max-width:32ch;text-shadow:0 1px 6px #0008!important}
body.system-home #work .mosaic-tile:is([href="/work/gentle-monster/"],[href="/work/gentle-monster-the-endgame/"]) .meta{bottom:55px!important;background:linear-gradient(transparent,rgba(0,0,0,.18))!important}
@media(max-width:1000px){body.system-home #work .mosaic-grid .mosaic-tile .meta h3{font-size:clamp(28px,4.8vw,48px)!important}body.system-home #work .mosaic-grid .mosaic-tile .meta{padding:50px 20px 22px!important}}
@media(max-width:600px){body.system-home>header{padding:18px!important;min-height:100px}body.system-home>header .logo{width:58px;height:54px}body.system-home #work .mosaic-grid .mosaic-tile .meta h3{font-size:38px!important}body.system-home #work .mosaic-grid .mosaic-tile .meta p{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){body.system-home .top-text-ticker .ribbon-track{animation:none!important}}
body.system-home>.top-text-ticker{font-size:16px;font-weight:400;color:#222}
body.system-home .top-text-ticker .ribbon-track,body.system-home .top-text-ticker span,body.system-home .top-text-ticker b{line-height:20px}
body.system-home .top-text-ticker .ribbon-track{color:#222!important}
body.system-home>header{font-size:16px;line-height:normal}
body.system-home #work .mosaic-grid{font-size:16px;line-height:normal;color:#1d1d1b}
/* Continuous logo track: let marks enter and leave naturally, without blank slots. */
body.system-home .grid-brand-ticker .brand-logo{visibility:visible!important}

/* Reduced motion keeps tickers horizontal rather than turning them into galleries. */
@media(prefers-reduced-motion:reduce){
 body.system-home>.top-text-ticker{height:49px;overflow:hidden}
 body.system-home .top-text-ticker .ribbon-track{width:max-content;flex-wrap:nowrap;justify-content:flex-start;gap:60px;transform:none}
 body.system-home .grid-brand-ticker .brand-ticker-window{overflow-x:auto;overflow-y:hidden}
 body.system-home .grid-brand-ticker .brand-ticker-track{display:flex;width:max-content;animation:brand-grid-loop 40s linear infinite;animation-play-state:running}
 body.system-home .grid-brand-ticker.is-paused .brand-ticker-track{animation-play-state:paused}
 body.system-home .grid-brand-ticker .brand-ticker-group{width:max-content;flex-wrap:nowrap;gap:64px;padding-right:64px}
 body.system-home .grid-brand-ticker .brand-ticker-group[aria-hidden="true"]{display:flex}
 body.system-home .grid-brand-ticker.is-paused .brand-ticker-group[aria-hidden="true"]{display:none}
 body.system-home .grid-brand-ticker .brand-ticker-toggle{display:block}
}
@media(prefers-reduced-motion:reduce) and (max-width:767px){body.system-home .grid-brand-ticker .brand-ticker-group{gap:40px;padding-right:40px}}

body.system-home #work .lower-case-grid{width:100%;max-width:100%;margin:0;padding:0;gap:0;overflow:hidden}
body.system-home #work .lower-case-grid .project{position:relative;display:block;margin:0;padding:0;min-width:0;border:0;overflow:hidden}
body.system-home #work .lower-case-grid .image{display:block;height:auto!important;aspect-ratio:auto!important;margin:0;overflow:hidden}
body.system-home #work .lower-case-grid img{display:block;width:100%!important;height:auto!important;object-fit:contain;transition:transform .4s ease}
body.system-home #work .lower-case-grid .meta{position:absolute!important;left:0;right:0;bottom:0;display:block;pointer-events:none}
body.system-home #work .lower-case-grid .meta h3{color:#fff!important}
body.system-home #work .lower-case-grid .meta p{font-weight:400!important;color:#fff!important}
body.system-home #work .lower-case-grid .view{display:none}
body.system-home #work .lower-case-grid a:hover img{transform:scale(1.025)}
body.system-home #work>.lower-archive-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:0 4vw!important;margin:48px 0 0!important;box-sizing:border-box;max-width:100%;width:100%}
@media(max-width:767px){body.system-home #work>.lower-archive-row{flex-wrap:wrap;padding:0 24px!important}body.system-home #work .lower-case-grid .meta h3{font-size:38px!important}}
@media(prefers-reduced-motion:reduce){body.system-home #work .lower-case-grid a:hover img{transform:none}}

/* Group accounting with its office without changing contact typography. */
body.system-home #contact.refined-contact .contact-enquiries{display:flex;flex-direction:column;gap:48px;grid-column:1/span 3;grid-row:1;min-width:0}
body.system-home #contact.refined-contact .contact-enquiries>div{display:flex;flex-direction:column;gap:16px}
body.system-home #contact.refined-contact .contact-offices>.office-accounting{grid-column:auto}
body.system-home #contact.refined-contact .contact-offices .office-accounting{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:32px;min-width:0;width:100%}
body.system-home #contact.refined-contact .contact-offices .office-accounting a{font-size:var(--lead);font-weight:500;line-height:1.5;letter-spacing:0;white-space:normal;overflow-wrap:anywhere;max-width:100%}
body.system-home #contact.refined-contact .contact-directory h3{margin:0}
@media(max-width:767px){
 body.system-home #contact.refined-contact .contact-enquiries{display:contents}
 body.system-home #contact.refined-contact .contact-offices>div{width:100%}
}

body.system-home #collaborators .featured-talent{border-top:0;border-bottom:1px solid #b6b6b0}
body.system-home #collaborators .featured-talent summary{font-weight:400}
body.system-home #collaborators .talent-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:28px;gap:var(--gutter)}
body.system-home #collaborators .talent-column{min-width:0}
body.system-home #collaborators .talent-column+ .talent-column{border-left:1px solid #b6b6b0;padding-left:var(--gutter)}
body.system-home #collaborators .talent-column h3{font-size:var(--label);font-weight:400;line-height:1.5;text-transform:uppercase;letter-spacing:.08em;color:#1a1a1a;margin:0 0 24px}
body.system-home #collaborators .talent-column .collaborator-names{display:grid;grid-template-columns:1fr;margin:0;gap:24px}
body.system-home #collaborators .talent-column li{font-weight:400;color:#1a1a1a}
@media(max-width:767px){body.system-home #collaborators .talent-columns{grid-template-columns:1fr;gap:32px}body.system-home #collaborators .talent-column+ .talent-column{border-left:0;border-top:1px solid #b6b6b0;padding:32px 0 0}body.system-home #collaborators .talent-column .collaborator-names{gap:16px}}

body.system-home #collaborators .talent-column .sport-group{margin:0 0 32px}
body.system-home #collaborators .talent-column .sport-group:last-child{margin-bottom:0}
body.system-home #collaborators .talent-column .sport-group h4{font-size:var(--label);font-weight:400;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:#1a1a1a;margin:0 0 24px}
