:root{--pink:#F4DCDC;--cream:#FFFCE5;--lav:#F4DCDC;--blue:#FFFCE5;--paper:#FFFCE5;--ink:#423F66;--muted:#423F66;--line:#423F6650;--theme-pink:#F4DCDC;--theme-cream:#FFFCE5;--theme-ink:#423F66}
body{background:var(--theme-cream);color:var(--theme-ink);font-family:'Cover Sans','Be Vietnam Pro',Arial,sans-serif;font-weight:400}
.theme-filters{position:absolute;overflow:hidden;pointer-events:none}
.portfolio>section{--page-bg:var(--theme-cream);--page-accent:var(--theme-pink);background:var(--page-bg);color:var(--theme-ink);position:relative}
.portfolio>section[data-tone="pink"]{--page-bg:var(--theme-pink);--page-accent:var(--theme-cream)}
.cover-art{filter:url(#theme-art)}
.cover-meta{background:var(--theme-cream);border-color:var(--line);color:var(--theme-ink)}
.cover-navigation a:hover,.about-navigation a:hover{background:var(--theme-pink)}
a:focus-visible,button:focus-visible{outline-color:var(--theme-ink)}
.creator-label,.pill{background:var(--page-accent);color:var(--theme-ink);border:1px solid var(--line)}
.view-work,.view-work:hover{background:var(--theme-pink);color:var(--theme-ink);border:1px solid var(--line)}
.tools-full h2,.about-description,.about-evidence,.timeline-body .cv-role,.draft-note,.draft-footer,.contact-status,.tools-full p,.automation .draft-note{color:var(--theme-ink)}
.skill-full,.tools-full{background:var(--page-bg)}
.skills-ribbon,.app-dock{background:var(--page-accent);border-color:var(--line)}
.skill-module:nth-child(2){background:var(--page-bg)}
.skill-module:nth-child(3){background:var(--page-accent)}
.skill-module+.skill-module{border-color:var(--line)}
.skill-symbol>span{color:var(--theme-ink)}
.app-icon,.app-canva .app-icon,.app-microsoftoffice .app-icon,.app-openai .app-icon{background:var(--page-bg);border-color:var(--line);box-shadow:none}
.app-icon img,.app-canva img,.app-microsoftoffice img{filter:url(#theme-ink)}
.timeline-node,.timeline-entry:nth-child(2) .timeline-node,.timeline-entry:nth-child(3) .timeline-node{background:var(--page-accent);border-color:var(--page-bg)}
.experience-timeline::before{background:var(--line)}
.timeline-body{border-color:var(--line)}
.timeline-entry:hover .timeline-body{background:var(--page-accent)}
.research-file{background:var(--page-bg);border-color:var(--line)}
.research-illustration,.research-file:nth-child(2) .research-illustration,.research-file:nth-child(3) .research-illustration{background:var(--page-accent);border-color:var(--line)}
.research-illustration>.line-art{background:var(--page-bg)}
.orbit,.art-ring,.research-caption time{border-color:var(--line)}
.activity-1,.activity-2,.activity-3,.activities-editorial .cv-certifications{background:var(--page-accent);border-color:var(--line)}
.activity-art{background:var(--page-bg);border-color:var(--line)}
.art-dot{background:var(--page-accent)}
.social-account{background:var(--page-accent);border:1px solid var(--line);color:var(--theme-ink);box-shadow:none}
.case-media-preview figcaption{color:var(--theme-ink)}
.case-video-frame video{background:var(--page-bg)}
.video-card,.video-card:nth-child(2),.video-card:nth-child(3){background:var(--page-accent);border:1px solid var(--line)}
.video-frame,.video-tag{background:var(--page-bg);border-color:var(--line)}
.video-number{color:var(--theme-ink);opacity:.22}
.video-play{border-color:var(--line)}
.workflow-step,.workflow-step:nth-child(2),.workflow-step:nth-child(3),.workflow-step:nth-child(4),.workflow-step:nth-child(5),.workflow-step:nth-child(6){--step-color:var(--page-accent)}
.workflow-step h3,.workflow-step::before{border-color:var(--line)}
.video-workflow-steps::before{border-color:var(--line)}
.workflow-number{background:var(--page-bg)}
.result-card,.analytics-row>div,.workflow,.workflow-evidence{background:var(--page-accent);border-color:var(--line);color:var(--theme-ink)}
.result-card p{color:var(--theme-ink)}
.tile,.tile:nth-child(4n+2),.tile:nth-child(4n+3),.tile:nth-child(4n){background:var(--page-accent);color:var(--theme-ink);border:1px solid var(--line)}
.highlight-row>div,.highlight-row>div:nth-child(2),.highlight-row>div:nth-child(3),.highlight-row>div:nth-child(4){background:var(--page-accent);border:1px solid var(--line)}
.automation{border-color:var(--line)}
dialog{background:var(--theme-cream);color:var(--theme-ink);border-color:var(--line)}
.page-bridge{display:flex;align-items:center;gap:20px;width:100%;max-width:1024px;margin:48px auto 0;padding-top:20px;border-top:1px solid var(--line);font-size:12px;line-height:1.5;color:var(--theme-ink)}
.page-index{font-variant-numeric:tabular-nums;font-size:14px;letter-spacing:1px}
.bridge-thread{position:relative;flex:1;height:1px;background:var(--line)}
.bridge-thread i{position:absolute;right:0;top:-4px;width:9px;height:9px;border-radius:50%;border:1px solid var(--theme-ink);background:var(--page-accent)}
.page-bridge a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px;text-align:right;max-width:60%}
@media screen{
 .portfolio>section{width:100%;max-width:none;margin:0;border:0;border-radius:0;padding:64px max(28px,calc((100% - 1024px)/2));scroll-margin-top:0}
 .portfolio>.cover{min-height:100svh;max-height:none;padding-top:110px;padding-bottom:30px}
 .cover .cover-art{right:max(30px,calc((100% - 1080px)/2));bottom:155px}
 .cover-footer{width:100%;max-width:1024px;margin-left:auto;margin-right:auto}
 .cover>.page-bridge{margin-top:30px}
 .portfolio>.about-page{display:flex;flex-direction:column;justify-content:center;gap:0}
 .about-layout{max-width:1024px;width:100%;flex:1;gap:7%}
 .portfolio>.toolkit-page{padding:0;display:flex}
 .toolkit-editorial .skill-full{padding:64px max(28px,calc((100% - 1024px)/2)) 32px}
 .toolkit-editorial .tools-full{padding:32px max(28px,calc((100% - 1024px)/2)) 0}
 .toolkit-page>.page-bridge{width:min(1024px,calc(100% - 56px));margin:48px auto 30px}
 .cv-section-heading h2,.toolkit-editorial .toolkit-heading h2{font-size:clamp(30px,3.6vw,46px);font-weight:400;letter-spacing:-1.2px;line-height:1.2}
 .cv-section-heading h2{margin:0}
 .toolkit-editorial .tools-full h2{font-size:40px;letter-spacing:-1px}
 .portfolio>.video-workflow-page{min-height:100svh;padding-top:36px}
 .workflow-page-meta{padding-bottom:18px;border-bottom:1px solid var(--line)}
 .video-workflow-heading{margin:42px auto 40px}
 .video-workflow-heading h2{font-size:clamp(30px,4vw,48px);font-weight:400;letter-spacing:-1.2px}
 .portfolio>.contact{min-height:85svh}
 .contact-footer{margin-top:70px}
}
@media(max-width:850px){
 .video-workflow-steps{border-color:var(--line)}
 .workflow-number{background:var(--page-bg)}
 .page-bridge{margin-top:36px;gap:14px}
 .portfolio>.cover .cover-art{bottom:205px}
}
@media screen and (max-width:700px){
 .portfolio>section{padding:48px 24px}
 .portfolio>.cover{padding-top:110px;padding-bottom:24px;min-height:100svh}
 .cover .cover-art{right:24px;width:170px;bottom:210px}
 .cover>.page-bridge{margin-top:28px}
 .about-layout{gap:30px}
 .toolkit-editorial .skill-full{padding:48px 24px 28px}
 .toolkit-editorial .tools-full{padding:28px 24px 0}
 .toolkit-page>.page-bridge{width:calc(100% - 48px);margin:36px auto 24px}
 .cv-section-heading h2,.toolkit-editorial .toolkit-heading h2{font-size:30px;letter-spacing:-.8px}
 .page-bridge{font-size:12px;gap:12px}
 .page-bridge a{max-width:65%}
 .portfolio>.video-workflow-page{padding-top:30px}
 .video-workflow-heading{margin:32px auto}
}
@media print{
 .portfolio>section{background:var(--page-bg)!important;color:var(--theme-ink);position:relative}
 .page-bridge{margin-top:6mm;padding-top:2mm;font-size:8pt;gap:5mm;break-inside:avoid}
 .page-bridge a{min-height:0;font-size:8pt}
 .page-index{font-size:9pt}
 .bridge-thread i{width:2mm;height:2mm;top:-1mm}
 .toolkit-page>.page-bridge{margin:3mm 12mm 0;width:calc(100% - 24mm)}
 .workflow-number{background:none}
}
.portfolio>section[data-tone]{background:var(--page-bg)!important}@media(min-width:851px){.workflow-number{background:transparent}}
.app-capcut .app-icon img{filter:none}

/* Brand logos retain their original colours; lavender is a portfolio accent. */
:root{--lav:#E0BBE4;--theme-lav:#E0BBE4}
.app-capcut .app-icon{background:#fff}
.app-capcut .app-icon img{filter:none}
.app-canva .app-icon{background:linear-gradient(135deg,#15c3d6,#7f3bef)}
.app-canva .app-icon img{filter:invert(1)}
.app-microsoftoffice .app-icon{background:#fff1e8}
.app-microsoftoffice .app-icon img{filter:invert(29%) sepia(92%) saturate(3157%) hue-rotate(352deg) brightness(93%) contrast(93%)}
.app-openai .app-icon{background:#d8eee3}
.app-openai .app-icon img{filter:none}
.app-dock{background:var(--theme-lav)}
.skill-module:nth-child(3){background:var(--theme-lav)}
.creator-label,.case .pill{background:var(--theme-lav)}
.workflow-step:nth-child(2),.workflow-step:nth-child(4),.workflow-step:nth-child(6){--step-color:var(--theme-lav)}
.timeline-node,.timeline-entry:nth-child(2) .timeline-node,.timeline-entry:nth-child(3) .timeline-node{background:var(--theme-lav)}
.research-file:nth-child(2) .research-illustration{background:var(--theme-lav)}
.activity-3{background:var(--theme-lav)}
.bridge-thread i{background:var(--theme-lav)}
