
:root{--ink:#252035;--muted:#7b7184;--accent:#7350ed;--violet:#7350ed;--soft:#f1ecff;--wash:#faf8ff;--line:#e4dcf3;--bg:#fffaf7}body{background:#fffaf7;color:#252035;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.85}h1,h2,h3{font-weight:650}h2{font-size:29px}h3{line-height:1.6}.eyebrow,.kicker,.number,.label,.num{color:#7350ed}.card,.role-card,.step,.test-card,.gallery-block,.case,.data-panel{border-color:#e4dcf3;border-radius:8px;box-shadow:none}.section{padding:52px 0}.section-head{margin-bottom:23px}.growth-hero{gap:70px;padding:48px 0}.growth-hero h1{font-size:clamp(38px,4.6vw,61px);letter-spacing:-1.5px}.portrait-panel{padding:0;max-width:330px;justify-self:end}.portrait-photo{display:block;width:100%;aspect-ratio:4/4.5;object-fit:cover;object-position:55% 42%;border-radius:7px}.portrait-caption{padding:12px 0}.hero-description{font-size:16px}.growth-strip>div{padding-top:18px;padding-bottom:18px}.project-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-block:1px solid #e4dcf3;padding:24px 0}.project-facts small{color:#7e8876;font-size:12px}.project-facts b{display:block;font-size:17px;margin:6px 0}.project-facts p{font-size:14px;color:#786d84}.case-background{padding:24px 0;max-width:960px}.case-background p{font-size:15px;color:#656d5f}.compact{margin-top:36px}.visual-case{display:grid;grid-template-columns:minmax(210px,310px) 1fr;gap:40px;border:1px solid #e4dcf3;border-radius:10px;padding:28px;margin:23px 0;background:#fff;scroll-margin-top:90px}.case-media{margin:0}.media-frame{position:relative;background:#20172d;border-radius:8px;overflow:hidden}.media-frame video{display:block;width:100%;aspect-ratio:9/16;object-fit:contain}.media-frame>span{position:absolute;top:9px;right:9px;font-size:9px;color:white;background:#18201a88;padding:3px 6px;pointer-events:none}.case-media figcaption{font-size:12px;color:#77816e;margin-top:12px}.case-narrative h3{font-size:24px;margin:11px 0 20px}.case-narrative dl{display:grid;grid-template-columns:1fr;gap:5px;margin:0}.case-narrative dt{font-size:13px;font-weight:700;color:#7350ed;margin-top:9px}.case-narrative dd{margin:0 0 7px;font-size:14px;color:#626c5d;line-height:1.95}.paper{border-radius:10px;box-shadow:none}.hero:not(.growth-hero){background:#f1ecff;border-top-color:#7350ed}.hero h1{color:#252035}.metrics strong,.metric strong{color:#7350ed}.scope span,.chip,.badge{color:#7350ed;background:#f1ecff;border-color:#e5daf8}.ownership,.callout,.direction{background:#f1ecff;border-color:#ff805f}.ownership b{color:#7350ed}.case-title,th{background:#f1ecff}.dark{background:#392057}.button,button{border-radius:5px}.shot img{object-fit:contain;background:#f0f2eb}.gallery-head p{max-width:620px}.detail-evidence{margin:22px 0;padding:20px;border:1px solid #e4dcf3;border-radius:8px;background:#fff}.detail-evidence video{display:block;height:360px;max-width:100%;margin:auto;background:#20172d}.detail-evidence figcaption{font-size:13px;color:#7b7184;margin-top:12px}.content{padding:40px 45px}.hero{padding:42px 45px}.section+.section{margin-top:40px}.section h2{font-size:29px}.shot{flex-basis:170px}.step:after{color:#8a997e}a:focus-visible,button:focus-visible{outline:2px solid #ff805f;outline-offset:4px}@media(max-width:760px){.growth-hero{gap:25px;padding:30px 0}.portrait-panel{justify-self:stretch;max-width:none;grid-template-columns:115px 1fr;display:grid;align-items:center}.portrait-photo{height:145px;width:115px;object-fit:cover}.project-facts{grid-template-columns:1fr;gap:15px}.visual-case{grid-template-columns:1fr;padding:19px;gap:22px}.case-media{width:min(100%,285px);margin:auto}.case-narrative h3{font-size:22px}.content{padding:27px 20px}.hero{padding:32px 22px}.shell{padding:0 16px}.hero h1{font-size:35px}.section h2{font-size:25px}.section{padding:36px 0}.section+.section{margin-top:25px}}@media print{.visual-case{break-inside:avoid}.media-frame video{height:220px}.portrait-photo{max-height:240px}.detail-evidence video{height:220px}}

/* Creative direction: lilac, coral and ink */
body{background:#fffaf7;color:#252035}header{background:#fffaf7f2;border-color:#ece3f3}.growth-hero{position:relative}.growth-hero .eyebrow,.eyebrow,.number,.kicker{color:#7350ed}.growth-hero h1 em{color:#7350ed}.growth-hero h1{font-weight:750;letter-spacing:-2px}.growth-strip{background:#f0e9ff;border:0;border-radius:16px;padding:0 22px}.growth-strip>div{border-color:#dacdf1}.growth-strip b{color:#4d3377}.growth-strip span{color:#8a6fbb}.growth-strip p,.hero-description{color:#82718a}.portrait-photo{border-radius:26px 26px 90px 26px;box-shadow:14px 14px 0 #ffe0cb}.portrait-caption{border:0;padding-top:25px}.tag{border-color:#e3d6f4;color:#765599;background:#fff}.primary{background:#7350ed;border-color:#7350ed;color:white}.button{border-radius:30px}.section{border-color:#ecdfec}.section h2{font-size:clamp(28px,3.5vw,42px);letter-spacing:-1.2px}.creative-star{color:#ff805f;display:inline-block;margin-left:20px;font-size:48px;vertical-align:middle}.gallery-count{font-size:11px;color:#9c85af;letter-spacing:2px}.card{border-color:#eadff3;border-radius:16px}.direction,.ownership,.callout{background:#f3edff;border-color:#ff805f}.flow span{background:#f2eaff}.dark{background:#392057}.material-wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 18px}.material-tile{margin:0;min-width:0}.material-tile video{display:block;width:100%;aspect-ratio:9/16;object-fit:contain;background:#20172d;border-radius:16px}.material-tile figcaption{display:flex;justify-content:space-between;font-size:13px;padding:13px 2px;color:#675578}.material-tile small{color:#ac94bc}.carousel-controls{display:flex;gap:10px}.carousel-controls button{width:44px;height:44px;border:1px solid #ded0ef;border-radius:50%;background:#fff;font-size:21px;color:#7350ed}.carousel-controls button:hover{background:#7350ed;color:#fff}.play-reel{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-color:#b6a0ee #f1eaff;scrollbar-width:thin;padding:8px 4px 23px;overscroll-behavior-x:contain}.inline-play{flex:0 0 280px;scroll-snap-align:start;border-radius:23px;background:#f0e9ff;padding:13px;min-width:0}.inline-play:nth-child(3n+2){background:#ffe8dd}.inline-play:nth-child(3n){background:#ffe9f3}.inline-play-title{display:flex;align-items:center;justify-content:space-between;font-size:11px;gap:9px;padding:4px 3px 12px;color:#7350a5}.inline-play-title b{color:#302039;font-size:13px}.phone-play{aspect-ratio:9/16;background:#20172d;border-radius:14px;overflow:hidden}.phone-play iframe{width:100%;height:100%;border:0;display:block}.inline-play>a{display:block;text-align:right;font-size:11px;color:#715884;padding:10px 4px 0}.play-reel:focus-visible{outline:2px solid #7350ed;outline-offset:5px}.paper{border-color:#e8def2}.hero:not(.growth-hero){background:#f2ecff;border-top-color:#7350ed}.scope span,.chip,.badge{background:#f2ecff;color:#7350ed;border-color:#dfd0f3}.case-title,th{background:#f2ecff}.contact a{color:#7350ed}nav a:hover{color:#7350ed}@media(max-width:900px){.material-wall{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.material-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.inline-play{flex-basis:260px}.growth-strip{padding:0 12px}.portrait-photo{border-radius:14px 14px 40px 14px;box-shadow:7px 7px 0 #ffe0cb}.gallery-count{display:none}.creative-star{font-size:35px}.section-head{gap:15px}.section-head:has(.carousel-controls){flex-direction:row;align-items:center}.growth-hero h1{letter-spacing:-1px}.carousel-controls button{width:35px;height:35px}.material-tile video{border-radius:11px}}@media print{.play-reel{overflow:visible;flex-wrap:wrap}.phone-play{height:260px}.carousel-controls{display:none}}

/* Resume identity: black, white, signal yellow */
:root{color-scheme:dark;--ink:#f4f4ef;--muted:#aaa9a5;--accent:#ffe500;--violet:#ffe500;--soft:#20201b;--wash:#151515;--line:#373737;--bg:#0b0b0b}
body{background:#0b0b0b;color:#f4f4ef}header{background:#0b0b0bf2;border-color:#343434}.brand{color:#fff;font-family:monospace;letter-spacing:2px}nav,nav a{color:#bdbdb6}nav a:hover,.contact a{color:#ffe500}.eyebrow,.kicker,.number,.label,.num,.growth-hero .eyebrow{color:#ffe500;font-family:monospace;font-weight:700;letter-spacing:2px}.growth-hero{padding:60px 0 48px}.growth-hero h1{font-weight:750}.growth-hero h1 em{color:#ffe500}.hero h1{color:#fff}.lead{color:#deded8}.hero-description,.muted,.card p,.experience ul,.portrait-caption p,.portrait-caption small,.project-facts p,.case-background p{color:#b5b5af}.portrait-photo{border-radius:0;box-shadow:10px 10px 0 #ffe500;aspect-ratio:4/4.5}.portrait-caption b span{color:#b5b5af}.tag{background:#deded8;color:#242424;border:0;border-radius:4px}.button{border-radius:0;background:transparent;color:#fff;border-color:#666}.primary,.dark .button{background:#ffe500;border-color:#ffe500;color:#111}.button:hover{background:#f4f4ef;color:#111}.growth-strip{background:transparent;border-block:1px solid #9b9b92;border-radius:0;padding:0}.growth-strip>div{border-color:#373737}.growth-strip b{color:#fff}.growth-strip span{color:#ffe500;font-family:monospace}.growth-strip p{color:#aaa9a5}.section{border-color:#45453d}.section h2{font-size:clamp(28px,3.2vw,40px);letter-spacing:-1px}.creative-star{color:#ffe500}.card,.role-card,.step,.test-card,.gallery-block,.case,.data-panel,.detail-evidence{background:#151515;border-color:#393939;border-radius:0}.direction,.ownership,.callout{background:#20201b;border-color:#ffe500;color:#eee}.ownership b,.metrics strong,.metric strong{color:#ffe500}.scope span,.chip,.badge{background:#292923;border-color:#555540;color:#ffe500}.flow span{background:#20201b;color:#deded8}.flow span:not(:last-child):after{color:#ffe500}.dark,.growth-decision{background:#1e1e19;border:1px solid #555540;color:#fff}.material-tile video{border-radius:0;background:#181818}.material-tile figcaption{color:#e5e5df;font-size:13px}.material-tile small,.gallery-count{color:#96968e}.inline-play,.inline-play:nth-child(3n+2),.inline-play:nth-child(3n){background:#1c1c1a;border:1px solid #45453f;border-radius:0}.inline-play-title{color:#ffe500;font-family:monospace}.inline-play-title b{color:#fff}.inline-play>a{color:#cecec5}.phone-play{border-radius:0;background:#111}.carousel-controls button{background:#151515;border-color:#77776b;color:#ffe500;border-radius:0}.carousel-controls button:hover{background:#ffe500;color:#111}.play-reel{scrollbar-color:#ffe500 #282824}.paper{background:#101010;border-color:#393939}.hero:not(.growth-hero){background:#181816;border-top-color:#ffe500}.case-title,th{background:#25251f;color:#fff}.case-narrative dd,.detail-evidence figcaption,.case-media figcaption{color:#b5b5af}.case-narrative dt{color:#ffe500}.visual-case{background:#151515;border-color:#393939}.experience{border-color:#393939}.footer{color:#96968e}.campaigns img,.shot img{background:#242424}.gallery img{border-radius:0}.section+.section{margin-top:18px}.material-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid #666;border-bottom:1px solid #383838;padding:26px 0;margin:12px 0 0}.material-intro h3{font-size:24px;margin-top:10px}.material-intro p{color:#bcbcb5;font-size:14px}.material-intro .label{font-size:11px}.strategy-work{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:28px 0 36px}.strategy-work article{border-top:2px solid #ffe500;padding-top:14px}.strategy-work span{font:11px monospace;color:#ffe500}.strategy-work h3{font-size:17px;margin:12px 0}.strategy-work p{font-size:13px;color:#b5b5af;line-height:1.9}.material-wall{gap:24px 18px}.material-tile{border-bottom:1px solid #444}.material-tile figcaption{min-height:54px;gap:8px}a:focus-visible,button:focus-visible,.play-reel:focus-visible{outline-color:#ffe500}.step:after{color:#ffe500}
@media(max-width:760px){.material-intro{grid-template-columns:1fr;gap:16px}.strategy-work{grid-template-columns:1fr 1fr;gap:20px}.portrait-photo{box-shadow:6px 6px 0 #ffe500}.growth-hero{padding:34px 0}.section+.section{margin-top:0}}
@media print{body,.paper,.card{background:#fff;color:#111}p,.muted,.card p{color:#333!important}.eyebrow,h1 em{color:#555!important}}
#playable{padding-top:28px;scroll-margin-top:65px}#playable .section-head{margin-bottom:12px}#playable h2{margin:5px 0}.inline-play{flex-basis:clamp(190px,calc((100dvh - 375px)*.5625 + 28px),280px)}.inline-play-title{padding-bottom:8px}.inline-play>a{padding-top:6px}@media(max-width:760px){#playable{scroll-margin-top:100px}.inline-play{flex-basis:clamp(190px,calc((100dvh - 390px)*.5625 + 28px),260px)}}
.campaign-card,.data-card,.decision-card,.delivery,.review,.testing,.strip,.compare,.loop{background:#181818;color:#eee;border-color:#41413b}.campaign-card p,.data-card p,.decision-card p,.section-intro,.note,.gallery-head p,.data-line,.step p,.role-card p{color:#bcbcb5}.metric,.metrics{border-color:#41413b}.back,.wordmark{color:#f4f4ef}.top{border-color:#41413b}.lightbox-img{background:white}

/* Soft editorial / social portfolio */
:root{color-scheme:light;--ink:#29292d;--muted:#7b7b82;--accent:#ed4b60;--violet:#ed4b60;--soft:#fff1f2;--wash:#f6f6f7;--line:#e9e9ec;--bg:#fcfbfa}
body{background:#fcfbfa;color:#29292d}header{background:#fcfbfaf0;border-color:#eeeeef}.brand{color:#303036;font-family:inherit;letter-spacing:1.5px}nav,nav a{color:#77777e}nav a:hover,.contact a{color:#df4056}.eyebrow,.kicker,.number,.label,.num,.growth-hero .eyebrow{color:#dd4c60;font-family:inherit;letter-spacing:1.5px}.growth-hero h1,.hero h1{color:#29292d;font-weight:700}.growth-hero h1 em{color:#e94960}.lead{color:#53535c}.hero-description,.muted,.card p,.experience ul,.portrait-caption p,.portrait-caption small,.project-facts p,.case-background p{color:#777780}.portrait-photo{border-radius:26px;box-shadow:0 12px 35px #49343c10}.portrait-caption b span{color:#888890}.tag{background:#f3f0f1;color:#69616a;border-radius:30px;padding:5px 13px}.button{border-radius:28px;background:white;color:#55545d;border-color:#e5e2e5}.primary,.dark .button{background:#eb4b61;color:white;border-color:#eb4b61}.button:hover{background:#fff0f2;color:#dc4055}.primary:hover{background:#d93d53;color:#fff}.growth-strip{background:#f6f3f3;border:0;border-radius:22px;padding:0 20px}.growth-strip>div{border-color:#e6e1e3}.growth-strip b{color:#424047;font-size:17px}.growth-strip span{color:#c76d79;font-family:inherit}.growth-strip p{color:#8a8288}.section{border-color:#ebe7e9}.section h2{font-size:clamp(27px,3vw,38px);letter-spacing:-.8px}.creative-star{color:#eb4b61}.card,.role-card,.step,.test-card,.gallery-block,.case,.data-panel,.detail-evidence{background:white;border-color:#eeeaec;border-radius:20px}.direction,.ownership,.callout{background:#fff1f3;border-color:#ef8a98;color:#48414a;border-radius:16px}.ownership b,.metrics strong,.metric strong{color:#df4056}.scope span,.chip,.badge{background:#fff0f2;border-color:#f5d9de;color:#df4056}.flow span{background:#f6eff1;color:#7b6670;border-radius:16px}.flow span:not(:last-child):after{color:#cc8592}.dark,.growth-decision{background:#f7eff1;border-color:#ebdfe3;color:#39343b;border-radius:20px}.dark p{color:#776a73}.material-tile video{border-radius:18px;background:#f1eff1}.material-tile{border:0}.material-tile figcaption{color:#53505b}.material-tile small,.gallery-count{color:#a19aa2}.inline-play,.inline-play:nth-child(3n+2),.inline-play:nth-child(3n){background:#f3f1f2;border:1px solid #eae5e8;border-radius:23px;padding:12px}.inline-play-title{color:#c87986;font-family:inherit}.inline-play-title b{color:#59505b}.inline-play>a{color:#8b7e88}.phone-play{border-radius:14px;background:#eee}.carousel-controls button{background:white;border-color:#e9dfe3;color:#dc5267;border-radius:50%}.carousel-controls button:hover{background:#eb4b61;color:#fff}.play-reel{scrollbar-color:#e8b9c2 #f6f1f3}.paper{background:white;border-color:#eeeaec;border-radius:22px}.hero:not(.growth-hero){background:#fff3f4;border-top-color:#ec7182}.case-title,th{background:#fff1f3;color:#54464f}.case-narrative dd,.detail-evidence figcaption,.case-media figcaption{color:#77717b}.case-narrative dt{color:#dc5267}.visual-case{background:white;border-color:#eeeaec;border-radius:20px}.experience{border-color:#ebe7e9}.footer{color:#99919a}.campaigns img,.shot img{background:#f5f2f4;border-radius:14px}.gallery img{border-radius:15px}.material-intro{border-color:#e9e3e6}.material-intro p,.strategy-work p{color:#77717b}.strategy-work article{border-top:2px solid #f2cbd2}.strategy-work span{color:#d66a7c;font-family:inherit}.strategy-work h3{font-weight:600}.campaign-card,.data-card,.decision-card,.delivery,.review,.testing,.strip,.compare,.loop{background:#faf7f8;color:#4e4650;border-color:#eee6e9;border-radius:18px}.campaign-card p,.data-card p,.decision-card p,.section-intro,.note,.gallery-head p,.data-line,.step p,.role-card p{color:#79707a}.metric,.metrics,.top{border-color:#eee6e9}.back,.wordmark{color:#4e4650}a:focus-visible,button:focus-visible,.play-reel:focus-visible{outline-color:#eb4b61}.step:after{color:#dd6c7f}@media(max-width:760px){.portrait-photo{box-shadow:none;border-radius:18px}.growth-strip{padding:0 10px}}
