:root{--ink:#19211e;--paper:#f2f0e9;--muted:#69706b;--line:#d1d3c9;--dark:#14231d;--mint:#d6edb2;font-family:var(--site-font);color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #df6841;outline-offset:6px}html{scroll-behavior:smooth}::selection{background:#d4e7b1;color:#14231d}.skip{position:absolute;top:-90px;left:20px;background:white;padding:15px;z-index:20}.skip:focus{top:15px}.wrap{width:min(1440px,calc(100% - 96px));margin:auto}.nav{height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px}.wordmark{font-family:var(--site-font);line-height:.92;font-size:22px;letter-spacing:-1px}.wordmark small{font-family:var(--site-font);font-size:10px;font-weight:500;letter-spacing:2px;display:block;margin-top:6px}.nav-links{display:flex;gap:30px;align-items:center;font-size:13px}.nav-links .current{border-bottom:1px solid;padding-bottom:5px}.contact{white-space:nowrap;border:1px solid var(--ink);padding:12px 20px;border-radius:30px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.intro{padding:70px 0 45px;display:grid;grid-template-columns:1.55fr 1fr;gap:70px;align-items:end}.intro .eyebrow{margin:0 0 28px}.intro h1,.case-heading h1{font-family:var(--site-font);font-size:clamp(38px,4.3vw,64px);font-weight:700;letter-spacing:-.03em;line-height:1.02;margin:0}.intro h1 span{color:#637b62}.intro-copy{font-size:16px;line-height:1.65;max-width:390px;margin:0 0 5px}.intro-copy p{margin:0 0 28px}.underlink{font-size:13px;border-bottom:1px solid;padding-bottom:7px}.arrow{display:inline-block;margin-left:17px}.feature{position:relative;overflow:hidden;background:#d5d7d0}.feature img{aspect-ratio:1.97;object-fit:cover;object-position:50% 54%;transition:transform .6s}.feature:hover img{transform:scale(1.012)}.feature-title{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:75px 34px 27px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:white}.feature-title h2{font-size:25px;margin:8px 0 0;font-weight:700;letter-spacing:-.03em}.feature-title .view{white-space:nowrap;font-size:13px;border:1px solid #ffffff77;border-radius:30px;padding:11px 17px}.feature-note{font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.8}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:90px 0 28px}.section-head h2{font-size:32px;letter-spacing:-.03em;font-weight:700;margin:12px 0 0}.filter-list{display:flex;gap:8px;flex-wrap:wrap}.filter-list button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:30px;padding:10px 17px;cursor:pointer;font-size:12px}.filter-list button[aria-pressed=true]{background:var(--dark);border-color:var(--dark);color:white}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px 28px}.project-card[hidden]{display:none}.card-image{background:#dedfd9;overflow:hidden;position:relative}.card-image img{aspect-ratio:4/3;object-fit:cover;transition:transform .5s}.card-image .visualisation{position:absolute;top:16px;left:16px;font-size:9px;text-transform:uppercase;letter-spacing:.13em;background:#f8f7f0e8;padding:7px 9px;border-radius:2px}.project-card:hover img{transform:scale(1.025)}.card-title{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:16px 0 8px}.card-title h3{font-size:21px;letter-spacing:-.04em;font-weight:550;margin:0}.card-title span{font-size:20px}.card-meta{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px;line-height:1.5}.closing{margin-top:90px;background:var(--dark);color:var(--paper);padding:70px 0}.closing .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.closing h2{font-family:var(--site-font);font-size:clamp(27px,4vw,54px);letter-spacing:-.03em;line-height:1.02;max-width:680px;margin:18px 0}.closing .pill{padding:16px 24px;background:var(--mint);border-radius:30px;color:var(--dark);font-size:13px;white-space:nowrap}.foot{padding:28px 0;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:11px;color:var(--muted);line-height:1.6}.foot a{text-decoration:underline;text-underline-offset:3px}.catalog-note{font-size:12px;line-height:1.65;max-width:700px;color:var(--muted);margin-top:38px}.breadcrumb{font-size:12px;display:inline-block;margin:36px 0 0}.case-heading{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:65px;padding:48px 0 38px}.case-heading h1{font-size:clamp(35px,4.8vw,66px);margin-top:23px}.case-heading p{font-size:15px;line-height:1.7;max-width:440px;margin:0}.case-hero{margin:0}.case-hero img{max-height:800px;object-fit:cover}.caption{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);line-height:1.5;margin-top:13px}.caption span:last-child{font-size:9px;text-transform:uppercase;letter-spacing:.1em}.identity-row{margin:55px 0;display:grid;grid-template-columns:1fr 1fr;min-height:300px;gap:30px}.mark-stage{display:flex;align-items:center;justify-content:center;padding:55px;min-height:280px}.mark-stage img{max-width:75%;max-height:220px;object-fit:contain}.identity-copy{padding:30px 15px 30px 35px;display:flex;flex-direction:column;justify-content:center}.identity-copy h2{font-size:28px;font-weight:700;letter-spacing:-.03em;margin:18px 0}.identity-copy p{font-size:14px;line-height:1.7;margin:0;max-width:390px;color:var(--muted)}.swatches{display:flex;gap:7px;margin-top:25px}.swatches i{width:45px;height:12px;border:1px solid #00000015}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:35px 28px}.gallery figure{margin:0}.gallery img{aspect-ratio:4/3;object-fit:cover}.gallery figure:last-child:nth-child(odd){grid-column:1/-1}.gallery figure:last-child:nth-child(odd) img{aspect-ratio:1.7}.evidence{border-top:1px solid var(--line);margin-top:55px;padding-top:25px;font-size:12px;line-height:1.8;color:var(--muted);max-width:800px}.evidence a{text-decoration:underline;text-underline-offset:3px}.next{display:flex;justify-content:space-between;align-items:center;margin:65px 0 0;border-top:1px solid var(--line);padding-top:26px;gap:20px}.next h2{font-size:26px;letter-spacing:-.03em;font-weight:700;margin:9px 0}.loading{padding:100px 0}.status-count{color:var(--muted);font-size:11px}.case-hero img{background:#dfded6}
@media(min-width:1700px){.wrap{width:1440px}}@media(max-width:900px){.wrap{width:calc(100% - 48px)}.intro{gap:35px;padding-top:50px;grid-template-columns:1.3fr 1fr}.intro h1{font-size:50px}.intro-copy{font-size:14px}.section-head{align-items:start;flex-direction:column;margin-top:55px}.case-heading{gap:30px}.nav-links{gap:20px}.feature-title{padding:50px 22px 20px}.case-heading h1{font-size:44px}.identity-copy{padding-left:10px}.closing{padding:45px 0}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.nav{height:76px;gap:12px}.wordmark{font-size:19px}.nav-links{gap:16px;font-size:11px}.nav-links>a:first-child{display:none}.contact{padding:9px 12px}.intro{display:block;padding:36px 0 29px}.intro .eyebrow{font-size:10px;margin-bottom:23px}.intro h1{font-size:32px;letter-spacing:-.03em}.intro-copy{margin-top:25px;font-size:14px;line-height:1.65;max-width:100%}.intro-copy p{margin-bottom:20px}.feature{margin:0 -18px}.feature img{aspect-ratio:1.03;object-position:49% 50%}.feature-title{padding:50px 20px 20px}.feature-title h2{font-size:21px}.feature-title .view{white-space:nowrap;font-size:11px;padding:9px 11px}.feature-note{font-size:8px}.section-head{gap:24px;margin-top:42px}.section-head h2{font-size:28px}.filter-list{gap:6px}.filter-list button{padding:9px 12px;font-size:11px}.project-grid{grid-template-columns:1fr;gap:29px}.card-title{margin-top:13px}.card-title h3{font-size:21px}.card-meta{font-size:10px}.closing{margin-top:48px}.closing .wrap{align-items:start;flex-direction:column;gap:18px}.closing h2{font-size:33px}.foot{font-size:10px}.case-heading{display:block;padding:30px 0}.case-heading h1{font-size:40px;margin:19px 0 22px}.case-heading p{font-size:14px}.case-hero{margin:0 -18px}.case-hero img{aspect-ratio:1.04;object-fit:cover}.case-hero .caption{padding:0 18px}.identity-row{grid-template-columns:1fr;gap:15px;margin:35px 0}.mark-stage{min-height:230px;padding:35px}.mark-stage img{max-height:160px}.identity-copy{padding:15px 0}.identity-copy h2{font-size:24px}.gallery{grid-template-columns:1fr;gap:28px}.gallery figure:last-child:nth-child(odd) img{aspect-ratio:4/3}.caption{font-size:10px}.caption span:last-child{font-size:8px}.breadcrumb{margin-top:27px}.next h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Logo-first collection and purpose-led project views. */
.grid-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:12px 0 25px}.logo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px}.logo-tile{background:var(--tile);color:var(--tile-ink);min-width:0;position:relative;transition:box-shadow .2s,transform .2s}.logo-tile[hidden]{display:none}.logo-cell{height:166px;display:grid;place-items:center;padding:32px}.logo-cell img{width:100%;height:100%;max-height:105px;object-fit:contain;transition:transform .35s}.logo-label{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 16px;font-size:10px;border-top:1px solid #ffffff18;opacity:.8}.logo-label span:first-child{line-height:1.4}.logo-tile:hover,.logo-tile:focus-visible{z-index:1;box-shadow:0 12px 25px #14231d28}.logo-tile:hover img{transform:scale(1.08)}.archive-tile .logo-cell{padding:12px}.archive-tile .logo-cell img{max-height:145px}.in-context .section-head>p{font-size:13px;color:var(--muted)}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px 28px}.context-card img{aspect-ratio:1.65;object-fit:cover;margin-bottom:20px}.context-card:first-child img{object-position:50% 36%}.context-card h3{font-size:25px;letter-spacing:-.04em;font-weight:500;margin:12px 0}.context-card .eyebrow{font-size:9px}.surface-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.surface-tags span{font-size:9px;padding:7px 10px;border:1px solid var(--line);border-radius:20px}.experience-bar{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid var(--line);font-size:11px}.experience-bar .eyebrow{font-size:9px}.experience-frame{display:block;width:100%;height:690px;border:0;background:#e5e4dc;border-radius:3px}.evidence-gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px}.evidence-figure{margin:0}.evidence-figure img{width:100%;max-height:650px;object-fit:contain;background:#e9e7df}.evidence-gallery .evidence-figure img{height:430px}.evidence-figure.case-hero img{max-height:750px;object-fit:contain}.gallery .evidence-figure img{aspect-ratio:4/3;object-fit:cover}.originals .section-head,.case-heading+.identity-row .section-head{margin-top:60px}.evidence-gallery:empty{display:none}
@media(max-width:1100px){.logo-grid{grid-template-columns:repeat(4,1fr)}.grid-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.logo-cell{padding:27px;height:145px}.logo-label{font-size:9px;padding:12px}.experience-frame{height:650px}}
@media(max-width:700px){.logo-grid{grid-template-columns:repeat(2,1fr)}.logo-cell{height:145px;padding:28px}.logo-cell img{max-height:90px}.archive-tile .logo-cell img{max-height:130px}.logo-label{font-size:9px;padding:11px 12px}.grid-toolbar{margin-top:0}.intro h1{font-size:42px}.intro-copy{font-size:14px}.filter-list button{font-size:10px;padding:8px 11px}.feature-grid,.evidence-gallery{grid-template-columns:1fr}.context-card h3{font-size:23px}.experience-frame{height:740px}.experience-bar{font-size:10px;align-items:center}.experience-bar .eyebrow{font-size:8px;max-width:190px;line-height:1.6}.experience-bar a{white-space:nowrap}.evidence-gallery .evidence-figure img{height:auto;max-height:650px}.case-hero img{aspect-ratio:auto}.surface-tags span{font-size:9px}.in-context .section-head{gap:10px}.in-context .section-head>p{margin:0}.case-heading h1{font-size:38px}.originals .section-head{margin-top:45px}}
/* Preserve the complete artwork and safe placement of every supplied render. */
.gallery .evidence-figure img,.gallery figure:last-child:nth-child(odd) img{aspect-ratio:4/3;object-fit:contain;background:#e9e7df}.recognition-list{padding:16px 0 0;margin:0;list-style:none;font-size:10px;color:#456444;line-height:1.9}.live-site{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:24px 28px;background:#e5e8dd;margin:0 0 28px}.live-site p{font-size:12px;color:#566350;margin:9px 0 0}.live-site>a{padding:14px 20px;background:var(--dark);color:white;font-size:12px;white-space:nowrap}.scene-disclosure{border-top:1px solid var(--line);margin-top:42px;padding-top:5px}.scene-disclosure summary{padding:23px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;font-size:18px;letter-spacing:-.025em}.scene-disclosure summary::-webkit-details-marker{display:none}.scene-disclosure summary span{font-size:10px;letter-spacing:0;color:var(--muted)}.scene-disclosure>p{font-size:12px;line-height:1.7;color:var(--muted);max-width:630px;margin:0 0 25px}.scene-disclosure .gallery{padding-top:8px}.scene-disclosure summary:focus-visible{outline:3px solid #df6841;outline-offset:4px}.digital-format-card{aspect-ratio:1.65;background:#063e25;color:#f1f4e8;margin-bottom:20px;padding:20px 7%;overflow:hidden}.digital-format-card>span{display:block;font-size:10px;letter-spacing:.04em;margin-bottom:16px}.digital-format-card>div{display:grid;grid-template-columns:.7fr 1fr 1fr;gap:18px;align-items:end}.digital-format-card figure{margin:0;min-width:0}.digital-format-card img{aspect-ratio:auto!important;object-fit:contain;width:100%;margin:0;border-radius:2px}.digital-format-card figcaption{font-size:9px;margin-top:8px;opacity:.7}
@media(max-width:700px){.live-site{align-items:flex-start;flex-direction:column;padding:22px;gap:20px}.live-site .eyebrow{font-size:9px}.scene-disclosure summary{font-size:16px}.scene-disclosure summary span{font-size:9px;white-space:nowrap}.digital-format-card{padding:16px 6%;aspect-ratio:1.4}.digital-format-card>div{gap:14px}.digital-format-card>span{font-size:9px;margin-bottom:12px}}
/* Optically balanced marks; names are navigation hints on hover / focus. */
.logo-tile{overflow:hidden}.logo-cell,.archive-tile .logo-cell{height:184px;padding:26px 22px;display:flex;align-items:center;justify-content:center}.logo-cell img,.archive-tile .logo-cell img{width:min(100%,var(--mark-width,160px));height:var(--mark-height,110px);max-width:100%;max-height:124px;object-fit:contain;object-position:center}.logo-tile:hover img{transform:scale(1.035)}.logo-label{position:absolute;left:0;bottom:0;right:0;border:0;padding:12px 14px;background:linear-gradient(transparent,#000b);color:#fff;display:block;text-align:center;font-size:10px;line-height:1.35;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s;pointer-events:none}.logo-tile:focus-visible .logo-label{opacity:1;transform:none}.logo-tile:focus-visible{outline:3px solid #df6841;outline-offset:-3px}.mark-stage img{width:min(90%,calc(var(--mark-width,160px)*1.75));height:calc(var(--mark-height,110px)*1.75);max-width:90%;max-height:230px;object-fit:contain}.more-identities{margin-top:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.more-identities summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 0;font-size:18px;letter-spacing:-.03em}.more-identities summary::-webkit-details-marker{display:none}.more-identities summary>span:last-child{font-size:11px;letter-spacing:0;color:var(--muted)}.more-identities summary b{font-size:20px;font-weight:400;display:inline-block;margin-left:12px;transition:transform .2s}.more-identities[open] summary b{transform:rotate(45deg)}.more-identities[open]{padding-bottom:22px}.more-identities summary:focus-visible{outline:3px solid #df6841;outline-offset:4px}.logo-grid[hidden],.more-identities[hidden]{display:none}
@media(hover:hover){.logo-tile:hover .logo-label{opacity:1;transform:none}}
@media(max-width:700px){.logo-cell,.archive-tile .logo-cell{height:154px;padding:25px 18px}.logo-cell img,.archive-tile .logo-cell img{max-height:110px}.logo-label{font-size:9px;padding:11px 8px}.mark-stage{padding:30px}.mark-stage img{max-height:200px}.more-identities summary{font-size:17px;padding:21px 0}}
@media(min-width:701px) and (max-width:900px){.logo-cell img,.archive-tile .logo-cell img{width:min(100%,calc(var(--mark-width,160px)*.85));height:calc(var(--mark-height,110px)*.85)}}
@media(max-width:700px){.logo-cell img,.archive-tile .logo-cell img{width:min(100%,calc(var(--mark-width,160px)*.78));height:calc(var(--mark-height,110px)*.78)}}

.intro-copy .pill{display:inline-flex;align-items:center;padding:12px 22px;border:1px solid var(--ink);border-radius:999px;font-size:13px;line-height:1.2;white-space:nowrap}.intro-copy .pill:hover{background:var(--ink);color:var(--paper)}

/* Three-tier index. Case-page styles and individual brand worlds stay scoped above. */
@property --world-glow{syntax:"<color>";inherits:true;initial-value:#152342}
@property --world-glow-soft{syntax:"<color>";inherits:true;initial-value:#101d36}
.branding-index{--paper:#0b1730;--ink:#f3f6ff;--muted:#a9b9d3;--line:#b9d4ff33;--dark:#071124;--mint:#b9d4ff;background:var(--paper);color:var(--ink);isolation:isolate}
.branding-index::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 8% 18%,var(--world-glow) 0%,transparent 62%),radial-gradient(ellipse at 94% 82%,var(--world-glow-soft) 0%,transparent 65%)}
html:has(.branding-index){background:#0b1730}
.branding-index .wrap{width:min(1120px,calc(100% - 80px))}
.branding-index .nav{height:84px;border-color:currentColor}
.branding-index .wordmark{font-size:24px;font-weight:650;letter-spacing:-.04em}
.branding-index .contact{border-color:currentColor;min-height:44px;display:inline-flex;align-items:center}
.branding-index .nav-links>a{min-height:44px;display:inline-flex;align-items:center}
.branding-index .nav-links .current{padding-bottom:0}
.branding-index .intro{padding:42px 0 54px;grid-template-columns:minmax(0,2fr) minmax(210px,1fr);gap:clamp(28px,3vw,44px);max-width:980px;align-items:end}
.branding-index .intro .eyebrow{margin:0 0 22px;font-size:11px}
.branding-index .intro h1{font-size:clamp(3rem,1.5rem + 5.5vw,6.5rem);line-height:1.02;letter-spacing:-.03em;font-weight:700;text-wrap:balance}
.branding-index .intro-copy{font-size:15px;line-height:1.65;margin:0 0 7px;color:var(--world-muted,var(--muted));max-width:270px}
.collection-section+.collection-section,.deferred-identities+.collection-section{margin-top:100px}
.collection-heading{display:flex;justify-content:space-between;align-items:center;padding-top:18px;margin-bottom:24px;gap:24px}
.branding-index .collection-heading h2,.branding-index .deferred-identities summary h2{font-size:30px;font-weight:600;font-stretch:var(--w-display);text-transform:none;letter-spacing:-.025em;margin:0;line-height:1.2;text-wrap:balance}
.collection-heading>span{font-size:12px;font-weight:600;letter-spacing:.12em;line-height:1.3;font-variant-numeric:tabular-nums;flex:none}
.systems-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
.clients-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px 32px}
.index-card{border:0;padding:0;background:transparent;color:inherit;text-align:left;min-width:0;display:block;cursor:pointer;font:inherit}
.branding-index :is(.index-card,a,button,summary):focus-visible{outline:2px solid currentColor;outline-offset:4px}
.system-media{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--tile);isolation:isolate}
.system-media .system-lead{width:100%;height:100%;object-fit:cover}
.system-card[data-brand=hounds] .system-lead{object-fit:contain;padding:7% 2% 15%;background:#3c414b}
.system-card[data-brand=eskom-green] .system-lead{object-position:45% 50%}
.system-card[data-brand=luthuli] .system-lead{object-fit:contain;padding:6% 3% 10%;background:#123f52}
.system-gradient{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,#0009 100%);pointer-events:none}
.system-media .system-mark{position:absolute;left:6%;bottom:8%;width:28%;height:24%;object-fit:contain;object-position:left center;filter:brightness(0) invert(1)}
.system-kind{position:absolute;right:5%;bottom:8%;font-size:9px;line-height:1.4;letter-spacing:.04em;text-align:right;color:#fff;max-width:40%;text-shadow:0 1px 4px #000}
.index-caption{display:flex;flex-direction:column;gap:6px;padding-top:13px}
.index-name{font-size:17px;font-weight:600;line-height:1.25;display:flex;justify-content:space-between;gap:9px}
.card-arrow{font-size:15px;font-weight:400;flex:none}
.index-meta{font-size:13px;line-height:1.45;color:var(--world-muted,var(--muted));font-variant-numeric:tabular-nums}
.index-scope{font-size:15px;line-height:1.4;max-width:60ch}
.index-media{display:block;position:relative;aspect-ratio:4/3;background:var(--tile);overflow:hidden}
.index-media .index-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:var(--logo-w,70%);height:var(--logo-h,68%);object-fit:contain;filter:var(--mono,none)}
.index-media .index-colour{opacity:0;filter:none}
/* Campaign lockups sit directly on the page, aligned with their captions. */
.client-logo-stage{position:relative;height:160px;display:flex;align-items:flex-end;justify-content:flex-start;padding:8px 0 24px}
.client-logo-stage .client-logo{width:auto;height:auto;max-width:min(100%,205px);max-height:120px;object-fit:contain;object-position:left bottom;filter:var(--client-logo-filter,brightness(1) invert(0)) blur(0);transition:opacity .3s ease,filter .3s ease}
.client-card[data-brand=every-fan]{--client-logo-filter:brightness(0) invert(1)}
.client-card[data-brand=dstv-vi-pitch] .client-logo{max-width:min(100%,165px)}
.client-card .index-caption{padding-top:0}
.client-view{position:absolute;inset:8px 0 24px;display:flex;align-items:center;pointer-events:none;opacity:0;transform:translateY(4px);font-size:13px;font-weight:600;letter-spacing:.02em;text-decoration:underline;text-underline-offset:5px;text-shadow:0 1px 12px #0b1730;transition:opacity .3s ease,transform .3s ease}
.client-card:focus-visible .client-logo{opacity:.24;filter:var(--client-logo-filter,brightness(1) invert(0)) blur(1.5px)}
.client-card:focus-visible .client-view{opacity:1;transform:translateY(0)}
.client-label{display:flex;align-items:center;gap:9px;font-size:12px;line-height:1.4;color:var(--world-muted,var(--muted))}
.client-label .client-mark{width:35px;height:20px;object-fit:contain;flex:none;filter:brightness(0) invert(1)}
.index-award{font-size:11px;line-height:1.55;color:inherit;border-left:2px solid currentColor;padding-left:8px;margin-top:4px}
.marks-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 16px}
.mark-card .index-media{aspect-ratio:1}
.mark-card .index-caption{padding:10px 9px 0;gap:4px}
.mark-card .index-name{font-size:12px;line-height:1.4}
.mark-card .index-meta{font-size:11px;line-height:1.4}
.collection-note{font-size:13px;line-height:1.6;color:var(--muted);margin:-8px 0 26px}
.compact-marks-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:24px 18px;align-items:start}
.compact-mark-card{max-width:250px;width:100%}
.compact-mark-card .index-media{aspect-ratio:1}
.compact-mark-card .index-caption{padding-top:11px;gap:4px}
.compact-mark-card .index-name{font-size:12px;line-height:1.35;gap:5px}
.compact-mark-card .card-arrow{font-size:12px}
.compact-mark-card .index-meta{font-size:10px;line-height:1.4}
.index-media.portfolio-art{background:#171b25}
.index-media.portfolio-art .index-logo{width:100%;height:100%;object-fit:contain;filter:grayscale(1)}
.mark-card[data-brand=beauty-reimagined] .index-logo{filter:brightness(0) invert(1)}
.deferred-identities{margin-top:64px}
.deferred-identities summary{min-height:88px;padding-block:22px;display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;list-style:none;font-size:30px;font-weight:500}
.deferred-identities summary h2{margin:0;font:inherit;font-weight:600;line-height:1.2;letter-spacing:-.025em}
.deferred-identities summary::-webkit-details-marker{display:none}
.deferred-identities summary>span:last-child{font-size:12px;font-variant-numeric:tabular-nums;display:flex;gap:24px;align-items:center}
.deferred-identities summary b{font-size:22px;font-weight:400}
.deferred-identities[open] summary b{transform:rotate(45deg)}
.deferred-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:14px 0 28px}
.deferred-card .index-media .index-logo{width:100%;height:100%;object-fit:contain;filter:none}
.book-card .index-media{aspect-ratio:16/9;background:#141921}
.branding-index .closing{color:#f3f6ff;background:#071124;margin-top:70px;padding:44px 0}
.branding-index .closing h2{font-size:clamp(30px,3vw,44px);font-weight:700;margin:13px 0 0}
.branding-index .foot{color:var(--world-muted,var(--muted));padding-block:24px}
.branding-index .skip{color:#071124}
.mark-dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:24px;border:1px solid #566580;background:#0b1730;color:#f3f6ff;overflow:auto}
.mark-dialog::backdrop{background:#020811cf;backdrop-filter:blur(7px)}
.mark-dialog-head,.mark-dialog-controls{display:flex;align-items:center;justify-content:space-between;gap:20px}
.mark-dialog button{min-height:44px;min-width:44px;border:1px solid #71829e;background:transparent;color:#f3f6ff;padding:9px 15px;cursor:pointer}
.mark-dialog-head .eyebrow{font-size:10px}
.mark-view{display:grid;place-items:center;margin-top:18px;height:min(42vh,380px)}
.mark-view img{height:100%;max-height:min(42vh,380px);width:100%;object-fit:contain;padding:24px}
.mark-view.is-standalone{height:min(34vh,280px)}
.mark-view.is-standalone img{max-width:250px;max-height:250px;padding:12px}
.mark-variant-caption{display:flex;justify-content:space-between;gap:16px;margin:12px 0 8px;font-size:12px;line-height:1.4;color:#b9c8df}
.mark-variant-count{white-space:nowrap;font-variant-numeric:tabular-nums}
.mark-variant-picker{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px}
.mark-variant-picker[hidden]{display:none}
.mark-variant-picker>button{padding:8px}
.mark-variants{display:flex;gap:8px;overflow-x:auto;padding:4px;scrollbar-width:thin}
.mark-variants button{width:72px;height:64px;flex:none;padding:7px}
.mark-variants button[aria-pressed=true]{outline:2px solid #b9d4ff;outline-offset:1px}
.mark-variants img{height:100%;object-fit:contain}
.mark-dialog-copy h2{font-size:26px;letter-spacing:-.03em;margin:20px 0 7px}
.mark-dialog-copy p{font-size:13px;line-height:1.5;margin:6px 0;color:#b9c8df}
.mark-dialog-controls{margin-top:22px;font-size:12px;font-variant-numeric:tabular-nums}
.mark-dialog-open{overflow:hidden}
.index-card:focus-visible .index-media{background:var(--tile-hover)}
.index-card:focus-visible .index-logo{filter:none}
.index-card.has-colour:focus-visible .index-logo:not(.index-colour){opacity:0}
.index-card.has-colour:focus-visible .index-colour{opacity:1}
@media(hover:hover) and (pointer:fine){
 .client-card:hover .client-logo{opacity:.24;filter:var(--client-logo-filter,brightness(1) invert(0)) blur(1.5px)}
 .client-card:hover .client-view{opacity:1;transform:translateY(0)}
 .branding-index{transition:--world-glow 2.8s cubic-bezier(.22,.61,.36,1),--world-glow-soft 3.4s cubic-bezier(.22,.61,.36,1)}
 .index-media,.index-logo{transition:background-color .3s,filter .3s,opacity .3s}
 .index-card:hover .index-media{background:var(--tile-hover)}
 .index-card:hover .index-logo{filter:none}
 .index-card.has-colour:hover .index-logo:not(.index-colour){opacity:0}
 .index-card.has-colour:hover .index-colour{opacity:1}
 .index-card:hover .portfolio-art .index-logo{filter:saturate(.3)}
}
@media(max-width:1100px){
 .branding-index .wrap{width:calc(100% - 64px)}
 .branding-index .intro{padding-block:42px}
 .branding-index .intro h1{font-size:clamp(3rem,1.5rem + 5.5vw,6.5rem)}
 .clients-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .marks-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .mark-card,.mark-card:nth-last-child(-n+4){grid-column:auto}
 .collection-section+.collection-section,.deferred-identities+.collection-section{margin-top:72px}
}
@media(max-width:1100px){
 .compact-marks-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .compact-mark-card{max-width:150px}
}
@media(max-width:700px){
 .compact-marks-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 14px}
 .branding-index .wrap{width:calc(100% - 36px)}
 .branding-index .nav{height:auto;min-height:88px;gap:12px;flex-wrap:wrap;padding-block:14px}
 .branding-index .wordmark{font-size:21px}
 .branding-index .wordmark small{font-size:8px;letter-spacing:1.6px}
 .branding-index .nav-links{gap:14px;font-size:11px;width:100%;justify-content:space-between}
 .branding-index .nav-links>a:first-child{display:inline-flex}
 .branding-index .intro{display:block;padding:28px 0 36px}
 .branding-index .intro h1{font-size:clamp(3rem,1.5rem + 5.5vw,6.5rem);line-height:1.02;letter-spacing:-.03em}
 .branding-index .intro .eyebrow{font-size:9px;margin-bottom:18px}
 .branding-index .intro-copy{max-width:34ch;margin:22px 0 0;font-size:14px}
 .systems-grid{grid-template-columns:1fr;gap:28px}
 .clients-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 20px}
 .client-logo-stage{height:128px;padding-bottom:20px}
 .client-logo-stage .client-logo{max-width:100%;max-height:100px}
 .collection-heading{margin-bottom:20px;padding-top:16px}
 .collection-section+.collection-section,.deferred-identities+.collection-section{margin-top:72px}
 .index-name{font-size:17px}
 .system-kind{font-size:8px}
 .marks-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 2px}
 .mark-card .index-caption{padding-inline:5px}
 .mark-card .index-name{font-size:12px}
 .mark-card .index-meta{font-size:11px}
 .deferred-grid{grid-template-columns:1fr;gap:28px}
 .branding-index .closing .wrap{align-items:flex-start;flex-direction:column;gap:25px}
 .mark-dialog{padding:16px}
 .mark-dialog-head{gap:10px}
 .mark-dialog-copy h2{font-size:23px}
}
@media(prefers-reduced-motion:reduce){.branding-index,.index-media,.index-logo{transition:none!important}}
@media(max-width:450px){
 .compact-marks-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 12px}
}
/* Eight selected marks stay separate from the compact standalone-logo collection. */
@media(min-width:1101px){
 .marks-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 16px}
 .collection-section+.collection-section,.deferred-identities+.collection-section{margin-top:80px}
 .branding-index .intro{padding-bottom:42px}
 .deferred-identities{margin-top:48px}
 .branding-index .closing{margin-top:56px}
}
.client-label .client-mark{filter:brightness(0) invert(var(--client-invert,1))}
.index-award{color:var(--world-ink,#f3f6ff)}
/* A display-only mono treatment lifts the black Prestige symbol off the blue
   portfolio-sheet backdrop. The original artwork is preserved in the viewer. */
.index-card[data-brand=prestige-training-consultants] .portfolio-art .index-logo{filter:url(#prestige-mono);width:86%;height:86%}
.compact-mark-card.index-card .index-media{background:transparent}
.compact-mark-card .index-media .index-logo{width:78%;height:78%;filter:grayscale(1) contrast(1.35);mix-blend-mode:screen}
.index-award{color:var(--world-accent,#bfd7a8)}

/* The cross-section door sits quietly above the existing index CTA. */
.branding-index .closing .section-door { display:block; margin-bottom: 16px; }
@media(min-width:1101px) { .branding-index .closing { margin-top: 32px; padding-block: 32px; } }
