:root{--canvas:#f1f4f7;--surface:#fff;--surface-alt:#e3eaf0;--ink:#111827;--muted:#334155;--line:#bbc5d0;--control-line:#6b7a8c;--focus-on-dark:#d4eee4;--accent:#07543f;--accent-hover:#033e2e;--accent-soft:#e5f3ed;--on-accent:#fff;--font-display:'Inter',system-ui,sans-serif;--font-body:'Inter',system-ui,sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--radius-control:10px;--radius-card:20px;--container:1184px;--reading:68ch}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{overflow-wrap:anywhere;margin:0;background:var(--canvas);color:var(--ink);font:400 1.125rem/1.7 var(--font-body);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{color:var(--ink)}h1,h2{font-size:clamp(1.875rem,3.6vw,2.75rem);line-height:1.2}h1{font-size:clamp(2.75rem,6vw,4.75rem);line-height:1.04;letter-spacing:-.055em}h2{font-size:clamp(1.75rem,3vw,2.25rem);line-height:1.23}h3{font-size:1.5rem;line-height:1.35;letter-spacing:-.02em}h4{font-size:1.125rem;line-height:1.45;font-weight:600}p{max-width:var(--reading)}p+p{margin-top:var(--space-4)}a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--accent-hover)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{max-width:100%;height:auto}::selection{background:var(--accent-soft);color:var(--ink)}.wrap{width:min(100%,var(--container));margin:0 auto;padding:0 var(--space-8)}.sec-label,.kicker,.camp-tag,.case-tag,.mini-tag,.act-label,.story-source,.n{display:block;color:var(--accent);font:600 .875rem/1.5 var(--font-body);letter-spacing:.025em;margin-bottom:var(--space-3)}section{padding:var(--space-20) 0;scroll-margin-top:0}.sec-title{margin-bottom:var(--space-4);max-width:26ch}.sec-sub{color:var(--muted);max-width:60ch;font-size:1.125rem}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:start;margin-bottom:var(--space-12)}.section-head .sec-title{margin-bottom:0}.section-head .sec-sub{padding-top:var(--space-2)}
nav{position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);min-height:80px}.logo,.brand{display:flex;align-items:center;gap:12px;font-size:.9375rem;line-height:1.35;font-weight:600;color:var(--ink);text-decoration:none;letter-spacing:-.02em}.brand small{display:block;color:var(--muted);font-size:.875rem;font-weight:400}nav ul{display:flex;gap:var(--space-8);list-style:none;margin:0;padding:0}nav ul a{font-size:1rem;font-weight:500;text-decoration:none;color:var(--muted)}nav ul a:hover{color:var(--accent)}.nav-contact{font-size:1rem;font-weight:600}.mobile-nav{display:none}.skip-link{position:absolute;left:16px;top:-100px;background:var(--surface);padding:12px;z-index:100}.skip-link:focus{top:10px}
.cover{padding:var(--space-20) 0 var(--space-12)}.cover-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);gap:var(--space-20);align-items:center}.cover h1{max-width:14ch}.cover h1 em{font-style:normal;color:var(--accent)}.tagline,.hero-lede{margin-top:var(--space-4);color:var(--muted);font-size:1.0625rem;max-width:50ch;line-height:1.7}.hero-role{margin-top:var(--space-6);font-size:.875rem;color:var(--muted)}.hero-role strong{color:var(--ink);font-weight:600}.profile-photo{width:100%;aspect-ratio:1;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:var(--surface)}.profile-photo img{width:100%;height:100%;object-fit:contain;display:block;background:var(--surface)}.portrait-caption{font-size:.875rem;color:var(--muted);margin-top:var(--space-3);text-align:center}.version-pill{display:inline-block;font-size:.875rem;color:var(--muted);margin-bottom:var(--space-6)}.cover-cta{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-8)}.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;font:600 1rem/1.4 var(--font-body);border:1px solid transparent;border-radius:var(--radius-control);text-decoration:none;cursor:pointer;transition:background 180ms,color 180ms,border-color 180ms}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover);color:var(--on-accent)}.btn-ghost{color:var(--ink);border-color:var(--control-line);background:var(--surface)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.scope-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-8);border-top:1px solid var(--line);margin-top:var(--space-4);padding-top:var(--space-6)}.scope-stat{display:flex;align-items:center;gap:var(--space-4);min-width:0}.scope-stat .num{flex-shrink:0;white-space:nowrap;font-size:2rem;font-weight:600;line-height:1.2;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.04em}.scope-stat .lbl{font-size:.875rem;color:var(--muted);max-width:22ch;line-height:1.5}.story-context{margin:var(--space-12) 0 var(--space-4);font-size:.875rem;color:var(--muted)}.story-strip,.campaign-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8);margin-top:var(--space-8)}.story-card,.camp-card{border-bottom:1px solid var(--line);padding:0 0 var(--space-6)}.story-headline{font-size:1.25rem;font-weight:600;line-height:1.4;margin-bottom:var(--space-3)}.story-support,.camp-card p{font-size:1rem;color:var(--muted)}.camp-card h4{font-size:1.25rem}.camp-metric{font-size:1.25rem;color:var(--accent);font-weight:600;margin:var(--space-3) 0}.how-work{margin-top:var(--space-12)}
#cases,#community{background:var(--canvas)}.case-card{margin-top:var(--space-12);padding-top:var(--space-12);border-top:1px solid var(--line)}.case-lede{color:var(--muted);margin-top:var(--space-4);margin-bottom:var(--space-6)}.case-metrics{display:flex;gap:var(--space-8);flex-wrap:wrap;margin:var(--space-8) 0}.cm{min-width:100px}.cm .v{font-size:1.75rem;line-height:1.3;color:var(--accent);font-variant-numeric:tabular-nums}.cm .k{font-size:1rem;color:var(--muted);margin-top:var(--space-2)}.case-action{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);margin:var(--space-8) 0}.act-block p{font-size:1.0625rem;color:var(--muted)}.case-insight{margin-top:var(--space-6);padding:var(--space-6);background:var(--accent-soft);border-radius:var(--radius-control);font-size:1rem;line-height:1.65}.case-insight strong{font-weight:600}.process-visual{display:grid;grid-template-columns:1fr;gap:var(--space-8);align-items:center;margin:var(--space-8) 0}.process-note{display:block;margin-bottom:var(--space-4);font-size:.875rem;color:var(--muted)}.flow{display:grid;gap:var(--space-4);margin-top:var(--space-6)}.flow-step{font-size:1rem;color:var(--muted);padding-left:var(--space-4);border-left:2px solid var(--line)}.flow-step b{display:block;color:var(--ink);font-weight:600}.flow-arrow{display:none}.figs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6);margin:var(--space-8) 0}.figs img{width:100%;height:auto;object-fit:contain;border-radius:var(--radius-card);display:block}.figs figcaption{font-size:.875rem;color:var(--muted);margin-top:var(--space-3)}.figs figcaption b{color:var(--ink);font-weight:600}
.selected-case{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-8);min-width:0}.case-preview{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:start}.case-preview-text{grid-template-columns:1fr}.case-cover{margin:0}.case-cover img{width:100%;height:auto;max-height:360px;object-fit:contain;display:block;border-radius:var(--radius-card)}.case-cover figcaption{font-size:.875rem;color:var(--muted);margin-top:var(--space-3)}.case-preview .case-tag{margin-bottom:var(--space-4)}.case-preview h3{margin-bottom:var(--space-4)}.case-preview p{color:var(--muted);font-size:1rem}.preview-outcome{margin-top:var(--space-6)!important;color:var(--ink)!important}.preview-outcome strong{font-weight:600}.case-detail{margin-top:var(--space-6);padding-top:0;border-top:1px solid var(--line)}details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-6) 0;font:600 1rem/1.5 var(--font-body);color:var(--accent);min-height:44px}details>summary::-webkit-details-marker{display:none}details>summary:after{content:'+';font-size:1.5rem;line-height:1}details[open]>summary:after{content:'−'}.detail-body{padding:var(--space-8) 0}.detail-body .case-card{margin:0;padding:0;border:0}.other-cases{margin-top:var(--space-16)}.other-cases h3{margin-bottom:var(--space-6)}.other-case{border-top:1px solid var(--line)}.other-case summary{color:var(--ink)}.other-case .case-card{padding:0;border:0;margin:0}.chapter-rule{height:1px;border:0;background:var(--line);margin:var(--space-12) 0}
.about-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--space-12);margin-top:var(--space-8)}.about-text{color:var(--muted);font-size:1.0625rem}.about-highlights{display:grid;gap:var(--space-6)}.hl-item{display:flex;gap:var(--space-4);padding-bottom:var(--space-6);border-bottom:1px solid var(--line)}.icon{color:var(--accent);font-size:.875rem;font-variant-numeric:tabular-nums}.hl-title{display:block;font-size:1.125rem;font-weight:600;color:var(--ink);margin-bottom:var(--space-2)}.hl-text,.hl-rows{font-size:1rem;color:var(--muted)}.hl-rows div+div{margin-top:var(--space-2)}.xp-grid,.principle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);margin-top:var(--space-8)}.xp-card,.principle{padding:var(--space-6);border:1px solid var(--line);border-radius:16px;background:var(--surface)}.xp-card h4,.principle h4{margin-bottom:var(--space-4)}.xp-card ul{padding-left:1.15em;margin:0;color:var(--muted);font-size:1rem}.xp-card li+li{margin-top:var(--space-3)}.principle p{font-size:1rem;color:var(--muted)}.auto-grid,.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8);margin-top:var(--space-8)}.auto-card,.role-card{border-top:1px solid var(--line);padding-top:var(--space-6)}.auto-icon{display:none}.auto-card h4,.role-card h4{margin-bottom:var(--space-3)}.auto-card p,.role-desc{font-size:1rem;color:var(--muted)}.boundary{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);margin-top:var(--space-8);padding:var(--space-8);background:var(--surface-alt);border-radius:var(--radius-card)}.boundary h4{margin-bottom:var(--space-3)}.boundary p{color:var(--muted);font-size:1rem}.community-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);margin-top:var(--space-8)}.community-card h3{margin-bottom:var(--space-4)}.community-card p,.community-card ul{font-size:1rem;color:var(--muted)}.community-card ul{padding-left:1.2em;margin-top:var(--space-6)}.community-card li+li{margin-top:var(--space-3)}.community-card .process-visual{grid-template-columns:1fr}.community-card .process-visual .flow{grid-template-columns:1fr 1fr}.community-detail .process-visual{grid-template-columns:1fr}.community-detail .flow{grid-template-columns:1fr 1fr}.community-detail{margin-top:var(--space-4)}#contact{background:var(--ink);color:#fff;padding:var(--space-16) 0}#contact .sec-title{max-width:25ch}.contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);max-width:33rem}
.contact-actions .btn{width:100%;min-height:48px;gap:var(--space-3)}
.contact-icon{display:block;width:1.125rem;height:1.125rem;flex-shrink:0}
.contact-actions .contact-icon{width:1.25rem;height:1.25rem}
.contact-email .contact-icon{width:1rem;height:1rem}
.contact-links{display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr);gap:var(--space-12);max-width:42rem;margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--control-line)}
.contact-group{min-width:0}
.contact-detail-label{display:block;margin-bottom:var(--space-1);color:var(--focus-on-dark);font-size:.875rem;line-height:1.5}
.contact-social-links{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-6)}
.contact-social-link{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;color:var(--focus-on-dark);font-size:1rem;font-weight:600;text-decoration:none}
.contact-social-link:hover{color:var(--on-accent);text-decoration:underline}
@media(max-width:640px){.contact-actions{grid-template-columns:1fr;gap:var(--space-3);max-width:100%}.contact-links{grid-template-columns:1fr;gap:var(--space-4)}}
@media print{.contact-links{border-color:var(--line)}.contact-detail-label,.contact-social-link{color:var(--ink)}}.foot-meta{margin-top:var(--space-8);font-size:.875rem;color:#b3c0bb;max-width:68ch}.reveal{opacity:1;transform:none}
.story-context+.scope-strip{margin-top:var(--space-4)}.xp-card>p{color:var(--muted);font-size:1rem}.supporting-methods{margin-top:var(--space-12)}.detail-body section{padding:var(--space-8) 0}.detail-body section .wrap{padding:0}.detail-body section .sec-title{font-family:var(--font-body);font-size:1.5rem}.detail-body section .sec-sub{font-size:1.0625rem}.positioning-statement{font-size:1.25rem;margin-top:var(--space-6)}.positioning-statement em{font-style:normal}.contact-question{margin:var(--space-6) 0 var(--space-4);font-size:1.25rem;color:#fff}

.brand-mark{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:12px;background:var(--ink);color:#fff;font-size:.8125rem}
nav ul li:last-child a{display:inline-block;background:var(--ink);color:#fff;padding:10px 18px;border-radius:var(--radius-control)}
.cover .kicker{font-size:.9375rem;letter-spacing:0;margin-bottom:var(--space-6)}
.hero-specialism{font-size:1.375rem;font-weight:500;line-height:1.4;letter-spacing:-.025em;margin-top:var(--space-6);max-width:34ch}
.portrait-block{max-width:320px;width:100%;justify-self:end}
#cases{padding-top:var(--space-12)}
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}
.featured-case{grid-column:1/-1}
.featured-case .case-preview{grid-template-columns:1fr 1.05fr;align-items:start;gap:var(--space-12)}
.project-index{display:block;font-size:.875rem;font-weight:600;color:var(--muted);margin-bottom:var(--space-6);letter-spacing:.05em}
.creative-evidence{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:var(--space-3);background:var(--surface-alt);padding:var(--space-4);border-radius:14px}
.creative-evidence img{display:block;width:100%;height:300px;object-fit:contain;border-radius:8px}
.creative-evidence figure{min-width:0}
.creative-evidence figcaption{font-size:.875rem;font-weight:500;color:var(--muted);line-height:1.4;margin-top:var(--space-3)}
.creative-evidence .evidence-caption{grid-column:1/-1;font-size:.875rem;color:var(--muted);margin-top:var(--space-2)}
.project-metrics{display:flex;gap:var(--space-8);flex-wrap:wrap;margin:var(--space-6) 0}
.project-metrics strong{display:block;font-size:1.875rem;letter-spacing:-.04em;font-weight:600;color:var(--ink);line-height:1.2}
.project-metrics span{display:block;font-size:.875rem;color:var(--muted);max-width:16ch;margin-top:6px;line-height:1.5}
.role-note{font-size:.875rem!important;margin-top:var(--space-4);line-height:1.6}
.role-note strong{color:var(--ink);font-weight:600}
.evidence-note{font-size:.875rem!important;color:var(--muted);margin-top:var(--space-4)}
.supporting-evidence{margin-top:var(--space-8)}
.community-card{align-self:start;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:var(--space-6)}
.community-card h3{font-size:1.25rem}
.community-photo{margin:var(--space-6) 0;min-width:0}
.community-photo img,.workflow-illustration img{display:block;width:100%;height:auto;border-radius:var(--radius-control)}
.community-photo figcaption,.workflow-illustration figcaption{margin-top:var(--space-3);font-size:.875rem;line-height:1.6;color:var(--muted)}
.workflow-illustration{margin:0;min-width:0}
.workflow-open-link{display:flex;width:100%;margin-top:var(--space-4)}
.workflow-viewer{width:min(60rem,calc(100% - var(--space-4)));max-width:none;max-height:calc(100dvh - var(--space-8));padding:0;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);color:var(--ink)}
.workflow-viewer[open]{display:flex;flex-direction:column}
.workflow-viewer::backdrop{background:var(--ink);opacity:.5}
.workflow-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line)}
.workflow-viewer-header span{font-size:1rem;font-weight:600}
.workflow-viewer-content{min-height:0;overflow:auto;overscroll-behavior:contain;padding:var(--space-2)}
.workflow-viewer-content img{display:block;width:100%;height:auto}
@media print{.workflow-viewer{display:none!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.community-detail{border-top:1px solid var(--line)}
.skill-detail{margin-top:var(--space-4);border-top:1px solid var(--line)}
#expertise{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#expertise .xp-card{background:var(--canvas)}
#contact .sec-title,#contact .contact-question{color:#fff}
#contact .sec-label{color:#a8d6c9}
#contact .sec-sub{color:#c2cdca}
#contact .btn-primary{background:#d4eee4;color:var(--ink)}
#contact .btn-primary:hover{background:#fff}
#contact .btn-ghost{background:transparent;border-color:#a8b8b2;color:#fff}
#contact a:focus-visible{outline-color:var(--focus-on-dark)}

.case-preview .case-takeaway{color:var(--ink);font-size:1.125rem;font-weight:500;line-height:1.55;margin:0 0 var(--space-6)}
.case-brief{display:grid;gap:var(--space-4);margin:0;padding:0}
.case-brief>div{display:grid;gap:var(--space-1)}
.case-brief dt{font-size:.875rem;line-height:1.5;font-weight:600;color:var(--accent)}
.case-brief dd{margin:0;font-size:1rem;line-height:1.65;color:var(--muted);max-width:var(--reading)}
.case-preview .role-note{border-top:1px solid var(--line);padding-top:var(--space-4);margin-top:var(--space-6)}
.case-chapter+.case-chapter{margin-top:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--line)}
.case-chapter-title{display:flex;align-items:baseline;gap:var(--space-3);font-size:1.125rem;font-weight:600;margin-bottom:var(--space-4)}
.chapter-number{flex-shrink:0;font-size:.875rem;line-height:1.5;color:var(--accent);font-variant-numeric:tabular-nums}
.case-chapter-body>p{font-size:1rem;line-height:1.7;color:var(--muted)}
.case-chapter .case-lede,.case-chapter .case-action,.case-chapter .case-metrics,.case-chapter .figs,.case-chapter .process-visual,.case-chapter .case-insight{margin:0}
.case-chapter .case-action{grid-template-columns:1fr;gap:var(--space-6)}
.featured-case .case-chapter .case-action{grid-template-columns:1fr 1fr}
.case-chapter .act-block p{font-size:1rem}
.case-chapter .act-label{margin-bottom:var(--space-2)}
.case-chapter .case-metrics+.figs{margin-top:var(--space-6)}
.case-story .case-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,7rem),1fr));gap:var(--space-6)}
.case-story .figs{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}
.case-chapter .decision-reason{margin-top:var(--space-6);padding-left:var(--space-4);border-left:2px solid var(--accent);color:var(--ink)}
.case-chapter .evidence-note{margin-top:var(--space-4)}
@media(max-width:640px){.featured-case .case-chapter .case-action{grid-template-columns:1fr}.case-chapter+.case-chapter{margin-top:var(--space-6);padding-top:var(--space-6)}}


.career-timeline{list-style:none;margin:0;padding:0}
.career-entry{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:var(--space-8);padding:var(--space-8) 0;border-top:1px solid var(--line)}
.career-period{font-size:.875rem;font-weight:500;line-height:1.6;color:var(--muted);padding-top:var(--space-1);font-variant-numeric:tabular-nums}
.career-content h3{font-size:1.25rem;line-height:1.4}
.career-organisation{display:flex;align-items:center;gap:var(--space-6);min-width:0;margin-bottom:var(--space-4)}
.career-organisation h3{min-width:0}
.organisation-logo{display:flex;align-items:center;justify-content:center;flex:0 0 6rem;width:6rem;height:4.5rem;padding:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control)}
.organisation-logo img{display:block;min-width:0;min-height:0;width:100%;height:100%;object-fit:contain}
.earlier-roles .career-organisation{gap:var(--space-4);margin-bottom:var(--space-3)}
.earlier-roles .organisation-logo{flex-basis:5rem;width:5rem;height:4rem}
@media(max-width:640px){.career-organisation{gap:var(--space-4)}}
.career-content>p,.earlier-roles p,.automation-origin p{color:var(--muted);font-size:1rem;line-height:1.7}
.career-content .career-role{font-weight:600;color:var(--ink);margin:var(--space-2) 0 var(--space-4)}
.career-progression{display:grid;gap:var(--space-4);list-style:none;margin:var(--space-4) 0 var(--space-6);padding:0 0 0 var(--space-4);border-left:2px solid var(--accent)}
.career-progression strong{display:block;font-size:1rem;font-weight:600;line-height:1.5}
.career-progression span,.career-meta,.earlier-roles .career-meta,.automation-origin .career-meta{display:block;font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:var(--space-1)}
.career-history{min-width:0}.career-history>summary{padding:0;min-height:44px;align-items:baseline;color:var(--ink)}
.career-history>summary:after{flex-shrink:0}.career-history .detail-body{padding:var(--space-6) 0 0}
.earlier-roles{display:grid;gap:var(--space-6);list-style:none;margin:0;padding:0}
.earlier-roles h3{font-size:1.125rem}.earlier-roles p+p{margin-top:var(--space-2)}
.automation-origin{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:var(--space-12);padding:var(--space-8) 0;margin:var(--space-4) 0 var(--space-6);border-top:1px solid var(--line)}
.automation-origin h3{font-size:1.25rem;max-width:24ch}.automation-origin .career-meta{margin-top:var(--space-4)}
.automation-story-copy>p{margin-top:var(--space-4)}
.automation-illustration,.case-concept-illustration{margin:0;min-width:0}
.automation-illustration img,.case-concept-illustration img{display:block;width:100%;height:auto;border-radius:var(--radius-card)}
.automation-illustration figcaption,.case-concept-illustration figcaption{margin-top:var(--space-3);font-size:.875rem;line-height:1.6;color:var(--muted)}
.case-concept-illustration{max-width:22rem;margin:var(--space-6) auto}
@media(max-width:640px){.career-entry,.automation-origin{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.career-entry{padding:var(--space-6) 0}.career-period{padding:0}.automation-origin{gap:var(--space-6);margin-top:0}.career-history>summary{align-items:center}}

@media(max-width:959px){.cover-grid{grid-template-columns:minmax(0,1fr) 240px;gap:var(--space-12)}.xp-grid,.principle-grid{grid-template-columns:1fr}.section-head{gap:var(--space-8)}nav ul{gap:var(--space-6)}.case-preview{gap:var(--space-8)}}
@media(max-width:760px){.cover-grid{grid-template-columns:1fr}.cover .profile-photo{max-width:220px}.cover-grid .portrait-block{order:2;justify-self:start}.portrait-caption{text-align:left}.cover{padding:var(--space-12) 0}.scope-strip{gap:var(--space-6);grid-template-columns:repeat(3,1fr)}.scope-stat{align-items:start;flex-direction:column;gap:var(--space-3)}nav ul{gap:var(--space-4)}.desktop-nav{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{padding:12px 0;color:var(--ink)}.mobile-nav[open] .mobile-links{position:absolute;right:0;top:58px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-6);min-width:230px;box-shadow:0 10px 30px #11182712}.mobile-links{display:flex;flex-direction:column;gap:var(--space-4)}.mobile-links a{font-size:1rem}.section-head{grid-template-columns:1fr;gap:var(--space-4)}.section-head .sec-sub{padding:0}}
@media(max-width:640px){.wrap{padding:0 var(--space-6)}body{font-size:1.0625rem}section{padding:var(--space-12) 0}.cover h1{max-width:17ch}.hero-lede,.tagline{font-size:1.125rem}.story-strip,.campaign-grid,.case-preview,.case-preview-text,.case-action,.process-visual,.about-grid,.auto-grid,.role-grid,.community-grid,.boundary{grid-template-columns:1fr}.case-preview .case-cover{order:0}.project-grid{grid-template-columns:1fr}.featured-case{grid-column:auto}.featured-case .case-preview{grid-template-columns:1fr;gap:var(--space-6)}.creative-evidence{padding:var(--space-3)}.creative-evidence img{height:230px}.featured-case .case-detail{margin-top:var(--space-6);padding-top:0}.selected-case{padding:var(--space-6)}.case-card{margin-top:var(--space-8);padding-top:var(--space-8)}.case-preview{gap:var(--space-6)}.scope-stat .num{font-size:1.75rem}.scope-strip{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.scope-stat{flex-direction:row;align-items:center;gap:12px}.case-metrics{gap:var(--space-6);display:grid;grid-template-columns:1fr 1fr}.community-card .process-visual .flow,.community-detail .flow{grid-template-columns:1fr}.project-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,7rem),1fr));gap:var(--space-4)}.figs{grid-template-columns:1fr 1fr}.boundary{padding:var(--space-6)}.btn{width:auto;max-width:100%;overflow-wrap:anywhere}.community-grid{gap:var(--space-6)}#contact{padding:var(--space-12) 0}}
@media(max-width:760px){nav{position:relative}html{scroll-padding-top:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{nav,.skip-link,.cover-cta{display:none}body{font-size:11pt;background:#fff}.wrap{width:100%;padding:0}section{padding:24px 0}.selected-case,.case-card{break-inside:avoid}.detail-body{display:block!important}details>summary:after{content:''}.project-grid{display:block}.featured-case .case-preview{grid-template-columns:1fr 1fr}.case-cover img{max-height:240px;object-fit:contain}#contact{background:#fff;color:var(--ink)}#contact .sec-title,#contact .contact-question,#contact .sec-sub{color:var(--ink)}}

.campaign-image-link{display:block;border-radius:8px}.campaign-post-link{display:flex;width:100%;margin-top:var(--space-3);padding:10px 12px;font-size:.875rem;white-space:normal;text-align:center}

.work-output,.scope-output{margin-top:var(--space-6)}
.search-flow{list-style:none;padding:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:var(--space-6)}
.scope-output dd{font-size:1rem}
.work-example{margin-top:var(--space-6);font-size:1rem;color:var(--muted)}
.engagement-method{margin-top:var(--space-8);font-size:1rem;color:var(--muted)}
.contact-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-12);margin-top:var(--space-8)}
.contact-route{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.contact-route h3{color:var(--on-accent);font-size:1.25rem;margin-bottom:var(--space-4)}
.contact-route p{color:#c2cdca;font-size:1rem;margin-bottom:var(--space-6)}
.contact-route .btn{margin-top:auto}
.contact-email{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;max-width:100%;color:var(--focus-on-dark);font-size:1rem;overflow-wrap:anywhere}
.contact-email:hover{color:var(--on-accent)}
@media(max-width:640px){.contact-email{font-size:clamp(.875rem,4vw,1rem)}}
@media(max-width:640px){.contact-routes{grid-template-columns:1fr;gap:var(--space-8)}.contact-email{align-self:flex-start}}
@media print{.contact-route h3,.contact-route p,.contact-email{color:var(--ink)}}

.report-evidence{min-width:0;margin:0}
.report-evidence img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius-control)}
.report-evidence figcaption{font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:var(--space-3)}
.report-evidence .btn{display:flex;width:100%;margin-top:var(--space-4)}
.report-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:var(--space-6);margin:var(--space-6) 0}
.report-viewer{width:min(90rem,calc(100% - var(--space-4)))}
.report-viewer .workflow-viewer-header{flex-wrap:wrap}
.report-viewer .workflow-viewer-header h2{font-size:1rem;line-height:1.5;min-width:0;flex:1 1 12rem}
.report-viewer-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}
.evidence-case-link{margin-top:var(--space-4)}
@media print{.report-evidence .btn,.evidence-case-link{display:none}}


.analytics-footer{background:var(--ink);padding:var(--space-6) 0 var(--space-8);border-top:1px solid var(--control-line)}
.analytics-footer .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-6)}
.analytics-footer .business-identity,.analytics-footer .policy-footer>span{flex-basis:100%;max-width:none;margin-bottom:0;color:var(--focus-on-dark);font-size:.875rem;line-height:1.5}
.analytics-footer a{display:inline-flex;align-items:center;min-height:44px;padding:var(--space-2) 0;color:var(--focus-on-dark);font:400 .875rem/1.5 var(--font-body);text-decoration:underline;text-underline-offset:.2em}
.analytics-footer a:hover,.analytics-preferences-link:hover{color:var(--on-accent)}
.analytics-footer a:focus-visible,.analytics-preferences-link:focus-visible{outline-color:var(--focus-on-dark)}

.analytics-preferences-link{min-height:44px;padding:var(--space-2) 0;border:0;background:transparent;color:var(--focus-on-dark);font:400 .875rem/1.5 var(--font-body);text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.analytics-preferences-link:focus-visible{outline-color:var(--focus-on-dark)}
.analytics-preferences{position:fixed;z-index:30;inset:auto var(--space-6) var(--space-6) auto;width:min(36rem,calc(100% - var(--space-12)));max-height:50dvh;overflow:auto;padding:var(--space-6);border:1px solid var(--control-line);border-radius:var(--radius-card);background:var(--surface);color:var(--ink);box-shadow:0 var(--space-2) var(--space-8) #11182726}
.analytics-preferences[hidden],.analytics-preferences-link[hidden]{display:none}
.analytics-preferences h2{font-size:1.125rem;line-height:1.5;margin-bottom:var(--space-2)}
.analytics-preferences p{font-size:.9375rem;line-height:1.6;color:var(--muted)}
.analytics-preview-note{padding-top:var(--space-3);border-top:1px solid var(--line)}
.analytics-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-4)}
.analytics-actions .btn{flex:1 1 10rem}
@media(max-width:640px){.analytics-preferences{inset:auto var(--space-4) var(--space-4);width:auto;padding:var(--space-4)}}
@media print{.analytics-footer,.analytics-preferences{display:none!important}}

/* Public service and project sections */
.professional-context{padding:var(--space-8) 0 var(--space-12);border-top:1px solid var(--line)}
.professional-context h2{font-size:1.25rem;line-height:1.4;letter-spacing:-.02em;margin-bottom:var(--space-6)}
.experience-carousel{--experience-visible:4;--experience-item-width:calc((100% - 72px)/4)}
.experience-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-6)}
.experience-header h2{margin-bottom:0;max-width:35rem}
.experience-controls{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}
.experience-controls[hidden]{display:none}
.experience-counter{font-size:.875rem;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin-right:var(--space-2)}
.experience-toggle{min-width:70px;min-height:46px;padding:8px 12px;border:1px solid var(--control-line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:600 .875rem/1.4 var(--font-body);cursor:pointer}
.experience-toggle:hover{border-color:var(--accent);color:var(--accent)}
.experience-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-6);list-style:none;margin:0;padding:0}
.experience-strip>li{display:grid;grid-template-rows:72px auto auto 1fr auto;min-width:0;padding-left:var(--space-6);border-left:1px solid var(--line)}
.experience-strip>li:nth-child(4n+1){padding-left:0;border-left:0}
.experience-carousel.is-enhanced .experience-strip{position:relative;display:flex;align-items:stretch;overflow-x:auto;scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:none;overscroll-behavior-x:contain;padding-bottom:var(--space-2)}
.experience-carousel.is-enhanced .experience-strip::-webkit-scrollbar{display:none}
.experience-carousel.is-enhanced .experience-strip>li{flex:0 0 var(--experience-item-width);scroll-snap-align:start;scroll-snap-stop:always;padding:0 var(--space-4) var(--space-1) 0;border-left:0;border-right:1px solid var(--line)}
.experience-carousel.is-enhanced .experience-strip>li:last-child{border-right:0}
.experience-strip:focus-visible{outline:3px solid var(--accent);outline-offset:6px;border-radius:var(--radius-control)}
.experience-logo{grid-row:1;align-self:center;display:flex;align-items:center;justify-content:center;width:96px;height:72px;padding:8px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface)}
.experience-logo--earlier{width:80px;height:64px}
.experience-logo img{display:block;width:100%;height:100%;object-fit:contain}
.experience-logo-group{grid-row:1;align-self:center;display:flex;align-items:center;gap:var(--space-2);width:100%;max-width:256px}
.experience-logo-group .experience-logo{flex:1 1 0;min-width:0;max-width:80px;padding:6px}
.experience-strip h3{grid-row:2;margin-top:var(--space-4);font-size:1.0625rem;line-height:1.4;font-weight:600;letter-spacing:0}
.experience-strip .experience-relationship{grid-row:3;margin-top:var(--space-3);font-size:.875rem;line-height:1.5;font-weight:600;color:var(--accent)}
.experience-strip .experience-scope{grid-row:4;margin-top:var(--space-1);font-size:.875rem;line-height:1.6;color:var(--muted)}
.experience-agency-names,.experience-association{grid-row:5;margin-top:var(--space-3);font-size:.8125rem;line-height:1.6;color:var(--muted)}
.experience-context-note{margin-top:var(--space-6);font-size:.8125rem;line-height:1.6;color:var(--muted)}
@media(max-width:1100px){.experience-carousel{--experience-visible:2;--experience-item-width:calc((100% - 24px)/2)}.experience-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.experience-strip>li:nth-child(n){padding-left:var(--space-6);border-left:1px solid var(--line)}.experience-strip>li:nth-child(2n+1){padding-left:0;border-left:0}.experience-header{align-items:flex-start;flex-direction:column;gap:var(--space-4)}}
@media(max-width:640px){.experience-carousel{--experience-visible:1;--experience-item-width:100%}.experience-strip{grid-template-columns:minmax(0,1fr)}.experience-strip>li:nth-child(n){padding-left:0;border-left:0}.experience-strip>li+li{padding-top:var(--space-4);border-top:1px solid var(--line)}.experience-carousel.is-enhanced .experience-strip>li{padding-top:0;border-top:0}.experience-controls{align-self:flex-end}.experience-controls .project-carousel-arrow{width:44px;height:44px}.experience-toggle{min-height:44px}}
@media(prefers-reduced-motion:reduce){.experience-strip{scroll-behavior:auto}}
@media print{.experience-controls{display:none!important}.experience-carousel.is-enhanced .experience-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.experience-carousel.is-enhanced .experience-strip>li{break-inside:avoid}.experience-strip>[data-experience-clone]{display:none!important}}
#services,#about{background:var(--surface)}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8)}.service-card{min-width:0;border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-8);background:var(--surface)}.service-card h3{margin-bottom:var(--space-4)}.service-card p{color:var(--muted);font-size:1rem}.service-output{margin-top:var(--space-6)}.service-enquiry{margin-top:var(--space-8)}.ecosystem-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}.ecosystem-grid a{display:inline-block;margin-top:var(--space-6);font-size:1rem;font-weight:600}#about p{max-width:68ch}@media(max-width:700px){.service-grid,.ecosystem-grid{grid-template-columns:1fr}.service-card{padding:var(--space-6)}}

.service-heading{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6)}.service-heading .mini-tag{margin:0;min-width:0}.service-logos{display:flex;align-items:center;gap:var(--space-6);height:40px}.service-logos img{display:block;object-fit:contain;flex-shrink:0}.service-logo{width:36px;height:36px}.service-logo-meta{width:100px;height:34px}

.service-logo-cloudflare{width:104px;height:36px}.service-logos--web{width:100%;height:auto;min-height:40px;gap:var(--space-4);flex-wrap:wrap}

/* Official Trustpilot review collector, available on the Free plan. */
#reviews{padding:var(--space-12) 0;background:var(--surface)}
.reviews-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-12);align-items:center}
.reviews-copy p{max-width:54ch;color:var(--muted)}
.reviews-actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);min-width:0;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--canvas);text-align:center}
.review-embed{width:100%;min-height:52px}
.review-profile{font-size:1rem;font-weight:600}
@media(max-width:760px){.reviews-layout{grid-template-columns:minmax(0,1fr);gap:var(--space-6)}.reviews-actions{width:100%}}

/* Service evidence uses the existing editorial link and spacing tokens. */
.service-evidence{margin-top:var(--space-4)}.service-evidence a{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;color:var(--accent);font-size:1rem;font-weight:600;text-decoration:underline;text-underline-offset:.2em}
#services .service-card{display:flex;flex-direction:column;align-items:flex-start}
.service-actions{margin-top:auto;padding-top:var(--space-6)}
.service-actions .btn{text-align:center}
