@font-face{font-family:Manrope;src:url('/assets/manrope-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/manrope-bold.woff2') format('woff2');font-style:normal;font-weight:600 800;font-display:swap}
:root{--white:#fff;--blue:#2547ff;--ink:#17243a;--muted:#5c687a;--soft:#f3f6fb;--line:#dce3ec;--wrap:1280px;--gutter:48px;--header:88px}
/* Internal editorial structures: shared rhythm, restrained emphasis. */
.expertise-workshop{border-top:1px solid var(--line)}
.workshop-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:40px 0 24px;border-top:2px solid var(--blue)}
.workshop-flow li{padding:28px 28px 12px 0;position:relative}
.workshop-flow li+li{padding-left:28px;border-left:1px solid var(--line)}
.workshop-flow h3{font-size:24px;line-height:1.25;margin:0 0 18px;font-weight:400;letter-spacing:-.035em}
.workshop-flow p,.workshop-note{color:var(--muted);max-width:65ch}
.workshop-note{font-size:15px;margin-bottom:0}
.responsibility-strip{border-top:1px solid var(--line);padding-top:36px;margin-top:40px}
.responsibility-strip h3{font-size:24px;font-weight:400;margin:0 0 24px}
.responsibility-strip dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:0}
.responsibility-strip dt{color:var(--blue);font-size:19px;margin-bottom:12px}
.responsibility-strip dd{margin:0;color:var(--muted);font-size:16px}
.journal-lead>a{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center;text-decoration:none;color:inherit}
.journal-lead img{width:100%;aspect-ratio:3/2;object-fit:cover}
.journal-lead h2{font-size:clamp(28px,3vw,44px);line-height:1.15;letter-spacing:-.045em;margin:18px 0}
.journal-lead .text-link{display:inline-block;margin-top:16px}
.journal-topics{display:flex;gap:32px;flex-wrap:wrap;padding-top:40px;padding-bottom:32px;border-bottom:1px solid var(--line);margin-top:32px}
.journal-topics a{color:var(--ink);text-decoration:none;font-size:15px}.journal-topics a:hover{color:var(--blue)}
.journal-topic>h2{font-size:clamp(28px,3vw,42px);margin-bottom:32px;letter-spacing:-.04em}
.journal-topic+.journal-topic{border-top:1px solid var(--line)}
.result-method{align-self:start;border-top:1px solid currentColor;padding:16px 0}
.result-method summary{cursor:pointer;font-size:15px}.result-method p{font-size:14px;margin-top:16px}
.reference-shortlist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:0 0 56px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0}
.reference-shortlist a{display:grid;gap:10px;text-decoration:none;color:var(--ink)}.reference-shortlist a>span{font-size:14px;color:var(--muted)}.reference-shortlist strong{font-size:28px;font-weight:400;letter-spacing:-.04em}.reference-shortlist a:hover strong{color:var(--blue)}
.secondary-experience{border-top:1px solid var(--line)}.secondary-experience dl{margin:32px 0 0}.secondary-experience dl>div{display:grid;grid-template-columns:1fr 2fr;gap:32px;padding:24px 0;border-top:1px solid var(--line)}.secondary-experience dt{font-size:22px;letter-spacing:-.03em}.secondary-experience dd{margin:0;color:var(--muted)}.result-grid.is-empty{display:none}
.brand-logo-cover{background:var(--white);overflow:hidden}
.project-image.brand-logo-cover img{width:100%;height:100%;object-fit:cover;padding:0;filter:none}
.service-case-image.brand-logo-cover img{width:100%;height:340px;object-fit:cover;padding:0;filter:none}
.next-reference .brand-logo-cover img{width:100%;height:auto;object-fit:cover;padding:0;filter:none}
.case-page .case-brand-logo img{width:100%;height:auto;max-height:570px;object-fit:cover;padding:0;filter:none}
@media(max-width:760px){.secondary-experience dl>div{grid-template-columns:1fr;gap:8px}}
@media(max-width:760px){.reference-shortlist{scrollbar-width:thin;scrollbar-color:var(--line) transparent;--shortlist-width:240px;display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x proximity;margin-bottom:20px;padding-block:18px}.reference-shortlist a{flex:0 0 var(--shortlist-width);scroll-snap-align:start;gap:6px}.reference-shortlist a+a{border-top:0;border-left:1px solid var(--line);padding:0 0 0 20px}.reference-shortlist strong{font-size:24px}.reference-shortlist a>span{font-size:14px}.references-index .page-intro{padding-bottom:28px}.references-index .filter-bar{padding-block:14px 20px}}
@media(max-width:760px){.workshop-flow,.responsibility-strip dl{grid-template-columns:1fr}.workshop-flow li,.workshop-flow li+li{padding:24px 0;border-left:0;border-bottom:1px solid var(--line)}.journal-lead>a{grid-template-columns:1fr;gap:24px}.journal-topics{gap:16px;flex-direction:column}.responsibility-strip dl{gap:24px}}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:calc(var(--header) + 24px);color-scheme:light}
body{margin:0;background:var(--white);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.menu-open,body.film-open{overflow:hidden}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none;text-underline-offset:5px}
button{cursor:pointer}
button:disabled{cursor:default}
button,fieldset{border:0}
img,video{display:block;max-width:100%}
img{height:auto}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
[hidden]{display:none!important}
::selection{background:var(--blue);color:white}
h1,h2,h3,p,figure,dl,dd{margin:0}
h1,h2,h3{font-weight:600;line-height:1.16;text-wrap:balance}
h1{font-size:clamp(48px,5.3vw,72px);letter-spacing:-.052em}
h2{font-size:clamp(34px,3.5vw,46px);letter-spacing:-.04em}
h3{font-size:24px;letter-spacing:-.025em;line-height:1.35}
p{color:var(--muted)}
p+p{margin-top:20px}
strong,b{font-weight:600}
.wrap{width:calc(100% - var(--gutter)*2);max-width:var(--wrap);margin-inline:auto}
.section{padding-block:100px}
.label{font-size:14px;font-weight:600;line-height:1.5;color:var(--blue);margin-bottom:24px;letter-spacing:0}
.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;text-align:center;padding:13px 24px;border:1px solid var(--blue);border-radius:4px;background:var(--blue);color:var(--white);font-size:15px;font-weight:600;line-height:1.5;transition:background-color .18s,border-color .18s,color .18s}
.button:hover{background:var(--ink);border-color:var(--ink)}
.button-secondary{background:var(--white);color:var(--ink);border-color:var(--line)}
.button-secondary:hover{background:var(--soft);color:var(--ink);border-color:var(--ink)}
.text-link{display:inline-block;font-size:15px;font-weight:600;border-bottom:1px solid currentColor;line-height:1.65;padding-block:5px;color:var(--blue)}
.text-link:hover{color:var(--ink)}
.skip-link{position:fixed;top:12px;left:16px;padding:12px 20px;background:white;z-index:1000;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}
.header-inner{height:var(--header);display:flex;align-items:center;gap:40px}
.wordmark{font-size:30px;letter-spacing:-1.8px;line-height:1;font-weight:600;white-space:nowrap}
.wordmark span{color:var(--blue)}
.desktop-nav{display:flex;align-items:center;gap:30px;margin-left:auto}
.desktop-nav a,.header-contact{font-size:14px;font-weight:600;white-space:nowrap}
.desktop-nav a{padding-block:12px}
.desktop-nav a:hover,.desktop-nav a[aria-current],.footer-top nav a:hover{color:var(--blue)}
.header-contact{padding:11px 17px;border:1px solid var(--line);border-radius:4px;transition:background-color .18s,color .18s}
.header-contact:hover,.header-contact[aria-current]{background:var(--blue);color:white;border-color:var(--blue)}
.menu-toggle{display:none;align-items:center;gap:10px;padding:10px 0 10px 16px;background:none;color:var(--ink);font-size:15px;font-weight:600}
.menu-toggle svg{fill:none;stroke:currentColor;stroke-width:1.5}
.menu-panel{border-top:1px solid var(--line);max-height:calc(100dvh - var(--header));overflow:auto;overscroll-behavior:contain;padding-block:24px 36px}
.menu-panel nav{display:grid}
.menu-panel a{padding:14px 0;font-size:23px;font-weight:600;border-bottom:1px solid var(--line)}
.menu-panel a[aria-current]{color:var(--blue)}
.breadcrumbs{padding-top:27px;font-size:13px;color:var(--muted)}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.breadcrumbs li+li::before{content:'/';margin-right:8px;color:var(--muted)}
.breadcrumbs a:hover{text-decoration:underline}
.home-hero{padding-top:48px}







.film-button{display:inline-flex;align-items:center;gap:10px;position:absolute;left:28px;bottom:28px;background:white;color:var(--ink);border-radius:4px;padding:12px 18px;min-height:48px;font-size:14px;font-weight:600;box-shadow:0 2px 12px #17243a18;transition:background-color .18s,color .18s}
.film-button:hover{background:var(--blue);color:white}




.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;margin-bottom:42px}
.section-heading>p,.section-heading>div:last-child:not(:first-child){max-width:465px;justify-self:end}
.section-heading p{font-size:17px}
.section-heading .label{font-size:14px}
.section-heading .text-link{margin-top:18px}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px}
.project-image{display:block;aspect-ratio:1.15;background:var(--soft);overflow:hidden}
.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.project-image:hover img{transform:scale(1.025)}
.project-image.logo-image img{object-fit:contain;padding:60px}
.project-caption{display:flex;justify-content:space-between;gap:24px;padding-top:20px;align-items:end}
.project-caption>div>p{font-size:13px;margin-bottom:4px}
.project-caption .project-card-title{font-size:25px}
.project-caption .project-card-title a:hover{color:var(--blue)}
.project-caption>p{font-size:14px;text-align:right;max-width:220px}
.model-section,.results-section{background:var(--soft)}
.model-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.model-layout h2{max-width:530px}
.model-lead{max-width:440px;margin-top:30px;font-size:19px}
.model-layout .text-link{margin-top:28px}
.model-details>p{font-size:19px;color:var(--ink)}
.model-details dl{margin-top:34px}
.model-details dl>div{border-top:1px solid var(--line);padding-block:22px}
.model-details dl>div:last-child{padding-bottom:0}
.model-details dt{font-size:18px;font-weight:600;margin-bottom:7px}
.model-details dd{font-size:15px;color:var(--muted)}
.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 64px}
.services-grid article{padding:30px 0 34px;border-top:1px solid var(--line)}
.services-grid h3{margin-bottom:15px}
.services-grid h3 a:hover{color:var(--blue)}
.services-grid article>p{max-width:510px}
.services-grid .service-scope{font-size:14px;margin-top:16px;color:var(--muted)}
.services-grid .text-link{margin-top:18px}
.contact-band{background:var(--blue);color:white}
.contact-band-inner{display:grid;grid-template-columns:1.4fr 1fr;gap:90px;align-items:center;padding-block:72px}
.contact-band .label,.contact-band p{color:white}
.contact-band h2{font-size:38px;letter-spacing:-.04em}
.contact-band-inner>div:last-child{max-width:360px;justify-self:end}
.contact-band .button{margin-top:24px;background:white;color:var(--blue);border-color:white}
.contact-band .button:hover{background:var(--ink);color:white;border-color:var(--ink)}
.contact-band a:focus-visible{outline-color:white}
.site-footer{padding-top:65px}
.footer-top{display:grid;grid-template-columns:1.1fr .65fr 1.1fr 1fr;gap:45px;padding-bottom:55px}
.footer-top p{font-size:14px;margin-top:20px}
.footer-top nav{display:grid;gap:13px;align-content:start}
.footer-email{font-size:16px;font-weight:600;overflow-wrap:anywhere}
.footer-top>div:last-child{justify-self:end}
.footer-top>div:last-child p{margin-top:8px}
.footer-bottom{display:flex;gap:30px;align-items:center;border-top:1px solid var(--line);padding-block:24px;font-size:12px;color:var(--muted)}
.footer-bottom>a:last-child{margin-left:auto}
.footer-bottom a:hover,.footer-email:hover{color:var(--blue)}
.page-intro{padding-block:50px 66px}
.page-intro h1{max-width:1040px}
.page-intro .intro-text{max-width:735px;margin-top:28px;font-size:20px;line-height:1.6}
.portfolio-section{padding-bottom:100px}
.filter-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border-top:1px solid var(--line);padding-block:24px 35px}
.filter-bar button{font-size:14px;border-radius:3px;background:white;color:var(--muted);padding:10px 17px;min-height:44px}
.filter-bar button[aria-pressed=true]{background:var(--ink);color:white}
.filter-bar button:hover:not([aria-pressed=true]){background:var(--soft);color:var(--ink)}
#filter-count{margin-left:auto;font-size:13px;color:var(--muted)}
.portfolio-grid .project-image{aspect-ratio:1.2}
.case-intro{padding-block:45px 40px}
.case-intro .label{margin-bottom:15px}
.case-intro h1{font-size:clamp(52px,6vw,82px)}
.case-subtitle{font-size:27px;color:var(--ink);margin-top:16px;letter-spacing:-.02em}
.case-meta{display:grid;grid-template-columns:1fr .65fr 1.6fr;gap:40px;border-top:1px solid var(--line);padding-top:28px;margin-top:40px}
.case-meta dt{font-size:13px;color:var(--muted);margin-bottom:5px}
.case-meta dd{font-size:15px}
.case-visual>div{background:var(--soft);position:relative;display:flex;justify-content:center}
.case-visual img{width:100%;max-height:720px;object-fit:cover;object-position:center}
.case-landscape:not(:has([data-film])) img{height:650px;object-fit:contain}
.case-portrait img{max-height:650px;width:auto;object-fit:contain}
.case-paired>div{display:grid;grid-template-columns:1fr 1fr;gap:24px;background:none}
.case-paired img{width:100%;height:auto;max-height:none;aspect-ratio:4/5;object-fit:cover}
.case-logo img{object-fit:contain;max-height:360px;padding:65px;width:auto}
.case-visual figcaption,.case-gallery figcaption,.founder figcaption{font-size:13px;color:var(--muted);padding-top:15px}
.case-story{display:grid;grid-template-columns:1fr 1.65fr;gap:110px}
.case-story aside{max-width:340px}
.case-story aside h2{font-size:24px;margin-bottom:20px}
.case-story aside p{font-size:14px}
.case-story aside .text-link{margin-top:25px}
.case-story article+article{margin-top:40px}
.case-story article h2{font-size:26px;letter-spacing:-.025em;margin-bottom:15px}
.case-story article p{font-size:19px;line-height:1.75}
.case-gallery{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding-bottom:100px}
.case-gallery img{width:100%;aspect-ratio:4/5;object-fit:cover}
.case-triptych>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:white}
.case-triptych img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;max-height:none}
.case-lookbook{padding-bottom:100px}
.case-lookbook>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.case-lookbook img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.case-lookbook figcaption{font-size:13px;color:var(--muted);padding-top:15px}
.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:35px}
.result-grid>div{display:flex;flex-direction:column-reverse;border-top:1px solid var(--line);padding-block:28px;justify-content:flex-end}
.result-grid dd{font-size:clamp(34px,4.5vw,60px);font-weight:600;letter-spacing:-.06em;line-height:1.15;color:var(--blue)}
.result-grid dt{font-size:15px;margin-top:14px;color:var(--muted)}
.result-explanation{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:25px;padding-top:26px;border-top:1px solid var(--line)}
.result-explanation>p{font-size:17px}
.result-explanation>div p{font-size:14px}
.result-explanation .text-link{font-size:14px;margin-top:12px}
.next-reference{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.next-reference h2{margin-bottom:15px}
.next-reference .text-link{margin-top:20px}
.next-reference>a{height:310px;background:var(--soft)}
.next-reference img{height:100%;width:100%;object-fit:cover}
.expertise-list{padding-bottom:80px}
.expertise-list article{display:grid;grid-template-columns:1fr 1fr;gap:100px;border-top:1px solid var(--line);padding-block:60px}
.expertise-list article h2{font-size:36px;margin-bottom:24px}
.expertise-list .text-link{margin-top:25px}
.expertise-list ul{list-style:none;padding:0;margin:0}
.expertise-list li+li{margin-top:25px}
.expertise-list li h3{font-size:19px;margin-bottom:6px}
.expertise-list li p{font-size:15px}
.split-copy{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.split-copy>div>p{font-size:19px}
.split-copy .text-link,.split-copy .button{margin-top:25px}
.service-context{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:28px;display:grid;grid-template-columns:1fr 1.65fr;gap:100px;align-items:center}
.service-context h2{font-size:22px}
.service-context p{font-size:18px}
.deliverables-section>h2{font-size:34px;max-width:620px;margin-bottom:40px}
.deliverables-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}
.deliverables-grid article{border-top:1px solid var(--line);padding-top:24px}
.deliverables-grid h3{font-size:22px;margin-bottom:16px}
.deliverables-grid p{font-size:16px}
.service-reference{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.service-reference h2{margin-bottom:25px}
.service-reference .text-link{margin-top:25px}
.service-reference-image{display:block;height:400px;background:var(--soft);overflow:hidden}
.service-reference-image img{width:100%;height:100%;object-fit:cover}
.faq{display:grid;grid-template-columns:1fr 1.65fr;gap:100px;border-top:1px solid var(--line)}
.faq h2{font-size:36px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:18px;font-weight:600;line-height:1.5;list-style:none;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--blue)}
.faq summary span{font-size:23px;flex-shrink:0;font-weight:400}
.faq details[open] summary span{transform:rotate(45deg)}
.faq details p{padding-bottom:25px;font-size:16px;max-width:650px}
.method-layout{padding-top:30px;display:grid;grid-template-columns:1fr 1.4fr;gap:100px}
.method-layout>div>p{max-width:340px;margin-top:25px}
.steps{list-style:none;margin:0;padding:0}
.steps li{display:flex;gap:30px;padding-block:30px;border-top:1px solid var(--line)}
.steps li:first-child{padding-top:0;border:0}
.step-index{flex-shrink:0;color:var(--blue);font-weight:600;width:40px;height:40px;border:1px solid var(--line);display:grid;place-items:center;border-radius:50%}
.steps h3{font-size:25px;margin-bottom:14px}
.steps .step-result{font-size:14px;color:var(--ink);margin-top:18px}
.table-scroll{overflow:auto;overscroll-behavior-inline:contain}
table{width:100%;border-collapse:collapse;text-align:left;font-size:15px;line-height:1.7}
caption{text-align:left;font-size:14px;color:var(--muted);padding-bottom:20px}
th,td{padding:22px 26px 22px 0;border-bottom:1px solid var(--line);vertical-align:top;min-width:180px}
thead th{font-size:14px;font-weight:600;color:var(--muted);border-top:1px solid var(--line)}
tbody th{font-weight:600;width:28%}
td{color:var(--muted)}
.table-note{max-width:780px;font-size:14px;margin-top:25px}
.founder{display:grid;grid-template-columns:1fr 1.12fr;gap:100px;padding-bottom:100px;align-items:center}
.founder figure img{max-height:630px;width:100%;object-fit:cover;object-position:50% 25%}
.founder h2{font-size:37px;margin-bottom:26px}
.founder .button{margin-top:28px}
.contact-layout{display:grid;grid-template-columns:.85fr 1.2fr;gap:110px;padding-bottom:90px}
.contact-email{font-size:25px;font-weight:600;letter-spacing:-.02em;color:var(--blue);overflow-wrap:anywhere}
.contact-person{display:flex;align-items:center;gap:22px;margin-top:34px;padding-bottom:35px;border-bottom:1px solid var(--line)}
.contact-person img{width:84px;height:98px;object-fit:cover}
.contact-person h2{font-size:19px;margin-bottom:8px;letter-spacing:-.02em}
.contact-person p{font-size:14px}
.contact-info h3{font-size:18px;margin-top:32px;margin-bottom:12px}
.contact-info>p{font-size:16px}
.contact-info .contact-note{font-size:14px;margin-top:32px}
fieldset{padding:0;margin:0 0 28px}
legend{font-size:15px;font-weight:600;margin-bottom:15px}
.choice-grid{display:flex;flex-wrap:wrap;gap:10px}
.choice-grid label{cursor:pointer;position:relative}
.choice-grid input{position:absolute;opacity:0;inset:0;pointer-events:none}
.choice-grid span{display:block;padding:10px 15px;border:1px solid var(--line);border-radius:3px;font-size:13px;color:var(--muted);min-height:44px}
.choice-grid input:checked+span{border-color:var(--blue);background:var(--soft);color:var(--blue)}
.choice-grid input:focus-visible+span{outline:3px solid var(--blue);outline-offset:3px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
#brief-form>label,.form-row>label{display:block;font-size:14px;font-weight:600;margin-bottom:24px}
.required{font-weight:400;color:var(--muted);font-size:12px}
input:not([type=checkbox]),textarea,select{display:block;width:100%;min-width:0;padding:13px 15px;border:1px solid var(--line);border-radius:3px;background:white;color:var(--ink);font-weight:400;font-size:16px;line-height:1.6;margin-top:9px}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
textarea{resize:vertical}
select{min-height:54px}
#brief-status{font-size:14px;color:var(--blue);margin-top:18px}
#brief-result{padding-top:30px;border-top:1px solid var(--line);margin-top:25px}
#brief-result h2{font-size:25px;margin-bottom:15px}
#brief-result p{font-size:15px;margin-bottom:15px}
#brief-result>label{font-size:14px}
#brief-result textarea{font-size:14px}
.brief-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.brief-actions .button{font-size:13px;padding-inline:17px}
.film-dialog{padding:0;border:0;border-radius:4px;width:min(1000px,calc(100vw - 40px));max-height:90dvh;background:white;color:var(--ink);overscroll-behavior:contain}
.film-dialog::backdrop{background:rgba(8,17,31,.85)}
.film-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 24px}
.film-toolbar h2{font-size:17px;letter-spacing:-.02em}
.film-close{background:none;color:var(--ink);font-size:14px;padding:6px 0 6px 12px;min-height:40px;white-space:nowrap}
.film-close span{font-size:24px;vertical-align:middle;margin-left:10px}
.film-dialog video{width:100%;max-height:60dvh;min-height:180px;background:#000}
.film-description{padding:18px 24px 24px}
.film-description>span{font-size:12px;color:var(--muted)}
.film-description p{font-size:14px;margin-top:7px}
.film-description .text-link{font-size:14px;margin-top:8px}

/* Navigation and contextual routes */
.nav-expertises{border:0}
.noscript-navigation{display:none}
.nav-expertises>summary{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:600;line-height:1.5;padding-block:12px;cursor:pointer;list-style:none}
.nav-expertises>summary::-webkit-details-marker{display:none}
.nav-expertises>summary:hover,.nav-expertises>summary.is-current{color:var(--blue)}
.nav-expertises>summary svg{transition:transform .2s}
.nav-expertises[open]>summary svg{transform:rotate(180deg)}
.expertise-menu{position:absolute;top:100%;left:0;right:0;background:white;border-block:1px solid var(--line);box-shadow:0 16px 28px #17243a0d}
.expertise-menu-inner{display:grid;grid-template-columns:1fr 2fr;gap:75px;padding-block:34px 38px}
.expertise-menu-inner>div>p{font-size:25px;color:var(--ink);letter-spacing:-.03em;line-height:1.35;max-width:260px;margin-bottom:18px}
.expertise-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 35px}
.desktop-nav .expertise-menu-grid a{display:block;white-space:normal;padding:10px 0}
.expertise-menu-grid strong{display:block;font-size:17px;margin-bottom:8px}
.expertise-menu-grid span{display:block;font-size:13px;color:var(--muted);font-weight:400;max-width:260px;line-height:1.65}
.section-nav{display:flex;flex-wrap:wrap;gap:4px 32px;align-items:center;border-block:1px solid var(--line);margin-bottom:32px;padding-block:10px}
.section-nav a{font-size:14px;padding-block:10px;position:relative;color:var(--muted)}
.section-nav a:hover,.section-nav a[aria-current]{color:var(--blue)}
.section-nav a::after{position:absolute;bottom:3px;left:0;right:0;content:'';height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .18s}
.section-nav a[aria-current]::after,.section-nav a:hover::after{transform:scaleX(1)}
[id]{scroll-margin-top:8px}
.service-page .service-context{border-top:0}

/* Hero: one campaign and its context */
.hero-intro{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:56px}
.hero-intro h1{font-size:clamp(48px,5.45vw,76px);line-height:1.1;letter-spacing:-.058em}
.hero-proposition>p{font-size:17px;line-height:1.7;max-width:425px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 22px;margin-top:24px}
.hero-actions .text-link{font-size:14px;white-space:nowrap}
.hero-feature{display:grid;grid-template-columns:minmax(0,2.6fr) minmax(250px,1fr);margin-top:40px;background:var(--soft);border-radius:6px;overflow:hidden}
.hero-media{position:relative;overflow:hidden;aspect-ratio:1.95}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.hero-case{padding:30px;display:flex;flex-direction:column;justify-content:space-between;gap:26px}
.hero-case .label{font-size:12px;margin-bottom:18px;color:var(--muted)}
.hero-case h2{font-size:32px;margin-bottom:11px;letter-spacing:-.04em}
.hero-case-title{font-size:16px;line-height:1.5;color:var(--ink)}
.hero-case .hero-case-description{font-size:14px;line-height:1.7;margin-top:18px}
.hero-case .text-link{font-size:14px}
.hero-case .hero-credit{font-size:12px;line-height:1.6;margin-top:18px}
.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:22px;font-size:13px}
.hero-bottom a{display:flex;align-items:center;gap:14px;padding-block:8px}
.hero-bottom a svg{transition:transform .2s}
.hero-bottom a:hover{color:var(--blue)}
.hero-bottom a:hover svg{transform:translateY(3px)}

/* Expertise explorer: static content enhanced into keyboard-operable tabs */
.expertise-section{border-top:1px solid var(--line)}
.expertise-explorer{display:grid;grid-template-columns:1fr 1.25fr;gap:64px;align-items:start}
.expertise-choices{display:grid}
.expertise-choice{position:relative;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 23px;border-top:1px solid var(--line);min-height:115px}
.expertise-choice:last-child{border-bottom:1px solid var(--line)}
.expertise-choice strong{display:block;font-size:23px;letter-spacing:-.025em;font-weight:600;line-height:1.4}
.expertise-choice>span>span{display:block;font-size:14px;color:var(--muted);margin-top:7px}
.expertise-choice svg{flex-shrink:0;transition:transform .18s}
.expertise-choice::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue);transform:scaleY(0);transform-origin:top;transition:transform .2s}
.expertise-choice[aria-selected=true]{background:var(--soft);color:var(--blue)}
.expertise-choice[aria-selected=true]::before{transform:scaleY(1)}
.expertise-choice:hover strong{color:var(--blue)}
.expertise-choice:hover svg{transform:translateX(3px)}
.expertise-panels{background:var(--soft);border-radius:6px;padding:38px 40px;min-height:525px}
.expertise-panel+.expertise-panel{margin-top:35px;border-top:1px solid var(--line);padding-top:30px}
.is-enhanced .expertise-panels{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}
.is-enhanced .expertise-panel{grid-area:1/1;min-width:0;margin:0;border:0;padding:0}
.is-enhanced .expertise-panel[hidden]{display:block!important;visibility:hidden;pointer-events:none}
.expertise-panel .label{font-size:13px;margin-bottom:13px}
.expertise-panel h3{font-size:29px;max-width:460px;margin-bottom:18px;line-height:1.2;letter-spacing:-.035em}
.expertise-panel>p{font-size:16px}
.expertise-panel dl{margin-block:25px 20px;display:grid;gap:18px}
.expertise-panel dt{font-size:15px;font-weight:600;margin-bottom:5px}
.expertise-panel dd{font-size:14px;line-height:1.65;color:var(--muted)}
.expertise-panel>.text-link{margin-top:5px}

/* The method is the principal colour moment in the page */
.home-method{background:var(--blue);color:white}
.home-method .label,.home-method p,.home-method .text-link{color:white}
.home-method .label{opacity:.8}
.home-method .section-heading{align-items:start;margin-bottom:48px}
.home-method .text-link:hover{opacity:.75}
.home-method a:focus-visible{outline-color:white}
.method-track{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0;padding:0}
.method-track li{position:relative;min-width:0}
.method-track li:not(:last-child)::after{content:'';position:absolute;top:22px;left:45px;right:0;height:1px;background:#ffffff50}
.method-track a{display:block;height:100%;padding-right:30px}
.track-marker{position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff80;border-radius:50%;font-size:15px;background:var(--blue);transition:background-color .2s,color .2s}
.method-track h3{font-size:26px;margin-top:24px;margin-bottom:12px}
.method-track p{font-size:15px;max-width:230px;line-height:1.7}
.track-link{display:inline-flex;align-items:center;gap:18px;font-size:13px;margin-top:25px}
.track-link>span{transition:transform .2s}
.method-track a:hover .track-marker{background:white;color:var(--blue)}
.method-track a:hover .track-link>span{transform:translate(2px,-2px)}
.method-assurance{display:grid;grid-template-columns:1fr 1fr;gap:50px;border-top:1px solid #ffffff40;margin-top:45px;padding-top:25px}
.method-assurance p{font-size:14px;max-width:475px}
.method-assurance p+p{margin:0}
.method-assurance p strong{display:block;font-size:15px;margin-bottom:5px}

/* Human introduction and decision support */
.home-agency{display:grid;grid-template-columns:minmax(240px,.75fr) 1.25fr;gap:110px;align-items:center}
.home-agency figure{position:relative}
.home-agency img{width:100%;height:450px;object-fit:cover;object-position:50% 20%;border-radius:5px}
.home-agency figcaption{border-bottom:1px solid var(--line);padding-block:18px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px}
.home-agency figcaption span{color:var(--muted)}
.home-agency h2{margin-bottom:28px}
.home-agency>div>p:not(.label){max-width:600px;font-size:18px}
.agency-actions{display:flex;flex-wrap:wrap;gap:20px 35px;margin-top:25px}
.faq-heading>p{font-size:16px;max-width:310px;margin-top:20px}
.faq summary span{transition:transform .18s}
.method-route{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--soft);border-radius:5px;margin-bottom:65px}
.method-route a{position:relative;padding:28px 24px;display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center}
.method-route a+a::before{position:absolute;content:'';left:0;top:28px;bottom:28px;width:1px;background:var(--line)}
.method-route a>span{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:13px;color:var(--blue)}
.method-route strong{font-size:18px}
.method-route small{grid-column:1/-1;font-size:13px;line-height:1.65;color:var(--muted);max-width:230px}
.method-route a:hover strong,.method-route a[aria-current] strong{color:var(--blue)}
.method-summary{position:sticky;top:calc(var(--header) + 35px);align-self:start}
.steps .step-index{background:var(--soft);border:0}
.steps .step-result{padding:16px 18px;border-radius:3px;background:var(--soft)}
.result-grid dd{font-variant-numeric:tabular-nums}
.footer-nav h2,.footer-contact h2{font-size:14px;letter-spacing:0;line-height:1.5;margin-bottom:5px}
.footer-contact h2{margin-bottom:22px}
.footer-nav a{font-size:13px;line-height:1.6}
.footer-brand p{line-height:1.8}
.footer-contact .footer-email{font-size:14px}
@keyframes hero-arrive{from{opacity:.65;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes panel-arrive{from{opacity:.5;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
  .home .hero-intro{animation:hero-arrive .5s cubic-bezier(.2,.7,.3,1) both}
  .home .hero-feature{animation:hero-arrive .6s .08s cubic-bezier(.2,.7,.3,1) both}
  .nav-expertises[open] .expertise-menu{animation:panel-arrive .18s ease-out}
  .menu-panel:not([hidden]) nav{animation:panel-arrive .2s ease-out}
  .faq details[open]>p{animation:hero-arrive .18s ease-out}
  .film-dialog[open]{animation:hero-arrive .2s ease-out}
}

@media(max-width:1100px){
  :root{--gutter:32px;--header:80px}
  .hero-intro{gap:40px;grid-template-columns:1.45fr 1fr}.hero-intro h1{font-size:5.6vw}.hero-proposition>p{font-size:16px}.hero-actions{gap:13px 20px}
  .hero-case{padding:25px}.hero-case .hero-case-description{font-size:13px}.hero-feature{grid-template-columns:minmax(0,2.1fr) minmax(250px,1fr)}.hero-media{aspect-ratio:auto;min-height:380px}
  .expertise-explorer{gap:40px;grid-template-columns:1fr 1.25fr}.expertise-choice{padding-inline:18px}.expertise-choice strong{font-size:21px}.expertise-panels{padding:32px;min-height:565px}
  .home-agency{gap:65px}.home-agency h2{font-size:38px}.home-agency>div>p:not(.label){font-size:17px}.home-agency img{height:425px}
  .method-route a{padding:24px 18px}.method-route strong{font-size:17px}
  .header-inner{gap:25px}.desktop-nav{gap:21px}.wordmark{font-size:27px}.header-contact{font-size:13px;padding-inline:13px}
  
  .model-layout,.split-copy,.case-story,.expertise-list article,.service-reference,.method-layout,.founder,.faq,.contact-layout{gap:60px}
  .section-heading{gap:45px}.footer-top{gap:40px}.contact-band-inner{gap:50px}.project-caption{gap:15px}.project-caption>p{max-width:155px}
}
@media(max-width:850px){
  .desktop-nav,.header-contact{display:none}.header-inner{justify-content:space-between}.menu-toggle{display:inline-flex}
  .noscript-navigation{display:flex;flex-wrap:wrap;gap:16px;padding-bottom:18px;font-size:13px}
  .hero-intro{grid-template-columns:1fr;gap:25px}.hero-intro h1{font-size:62px}.hero-proposition{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:start}.hero-actions{margin-top:0;align-items:start;gap:13px}.hero-feature{margin-top:34px;grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr)}.hero-case{padding:24px}.hero-media{min-height:370px}
  .expertise-explorer{gap:26px;grid-template-columns:1fr 1.3fr}.expertise-choice strong{font-size:19px}.expertise-choice>span>span{font-size:13px}.expertise-choice{padding:22px 15px;min-height:115px}.expertise-panels{padding:28px;min-height:630px}.expertise-panel h3{font-size:25px}
  .home-agency{gap:40px;grid-template-columns:1fr 1.1fr}.home-agency h2{font-size:32px}.home-agency img{height:405px}.home-agency figcaption{display:block}.home-agency figcaption span{display:block;margin-top:5px}
  .method-track h3{font-size:23px}.method-track a{padding-right:20px}.method-track p{font-size:14px}.track-link{font-size:12px;gap:10px}
  .method-route{grid-template-columns:1fr 1fr;margin-bottom:48px}.method-route a:nth-child(3)::before{display:none}.method-route a:nth-child(n+3){border-top:1px solid var(--line)}.method-route small{max-width:none}
  
  .section{padding-block:72px}.home-hero{padding-top:42px}.section-heading{gap:35px}.section-heading h2{font-size:35px}
  .model-layout,.split-copy{gap:45px}.model-details>p,.model-lead{font-size:17px}.model-details dt{font-size:17px}
  .project-caption{display:block}.project-caption>p{text-align:left;max-width:none;margin-top:8px}.services-grid{column-gap:35px}
  .footer-top{grid-template-columns:1fr 1fr;gap:35px}.footer-top>div:last-child{justify-self:start}.footer-top nav{justify-self:start}.contact-band-inner{gap:40px;grid-template-columns:1.4fr 1fr}.contact-band h2{font-size:31px}
  .case-story{grid-template-columns:1fr 1.6fr;gap:45px}.case-story article p{font-size:17px}.case-meta{gap:25px;grid-template-columns:1fr .7fr 1.8fr}.case-subtitle{font-size:24px}
  .page-intro h1{font-size:54px}.page-intro .intro-text{font-size:18px}.result-explanation{gap:40px}.result-grid{gap:25px}
  .expertise-list article{gap:45px}.expertise-list article h2{font-size:30px}.service-context{gap:35px;grid-template-columns:1fr 1.7fr}.deliverables-grid{gap:25px}.deliverables-grid h3{font-size:20px}
  .service-reference{gap:40px}.service-reference-image{height:330px}.faq{gap:40px;grid-template-columns:1fr 1.8fr}.method-layout{gap:45px}.steps li{gap:20px}
  .founder{gap:40px;grid-template-columns:.85fr 1fr}.founder h2{font-size:30px}.founder p{font-size:16px}.contact-layout{gap:50px;grid-template-columns:1fr 1.4fr}.contact-email{font-size:21px}.contact-person{gap:15px}.contact-person img{width:65px;height:80px}.form-row{grid-template-columns:1fr;gap:0}
}
@media(max-width:600px){
  :root{--gutter:22px;--header:72px}
  .hero-intro{gap:22px}.hero-intro h1{font-size:clamp(37px,9.4vw,55px);line-height:1.13;letter-spacing:-.05em}.hero-proposition{display:block}.hero-proposition>p{font-size:16px}.hero-actions{margin-top:23px;gap:12px 25px;align-items:center}.hero-actions .text-link{font-size:14px}.hero-feature{margin-top:30px;grid-template-columns:1fr;border-radius:4px}.hero-media{aspect-ratio:1.55;min-height:0}.hero-case{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;padding:22px}.hero-case .label{font-size:11px;margin-bottom:10px}.hero-case h2{font-size:27px;margin-bottom:8px}.hero-case-title{font-size:14px}.hero-case .hero-case-description{display:none}.hero-case .text-link{font-size:13px}.hero-case .hero-credit{font-size:11px;margin-top:15px}.hero-bottom{display:block;padding-top:17px;font-size:12px}.hero-bottom a{margin-top:6px;min-height:40px}
  .expertise-explorer{grid-template-columns:1fr;gap:20px}.expertise-choices{grid-template-columns:1fr 1fr;gap:0 12px}.expertise-choice{padding:16px 12px;min-height:87px;align-items:center}.expertise-choice strong{font-size:17px;letter-spacing:-.02em}.expertise-choice>span>span{display:none}.expertise-choice svg{display:none}.expertise-choice:nth-child(n+3){border-bottom:1px solid var(--line)}.expertise-choice::before{top:auto;bottom:0;width:100%;height:2px;transform:scaleX(0);transform-origin:left}.expertise-choice[aria-selected=true]::before{transform:scaleX(1)}.expertise-panels{padding:28px 24px;min-height:560px}.expertise-panel h3{font-size:27px}.expertise-panel>p{font-size:15px}.expertise-panel dl{gap:18px}.expertise-panel dt{font-size:14px}.expertise-panel dd{font-size:14px}
  .hero-case{grid-template-columns:1fr auto;gap:16px}.hero-case>div:first-child{grid-column:1;grid-row:1}.hero-case>div:last-child{display:contents}.hero-case .text-link{grid-column:2;grid-row:1;align-self:start}.hero-case .hero-credit{grid-column:1/-1;font-size:12px;margin:0}.hero-credit br{display:none}
  .home-method .section-heading{gap:24px;margin-bottom:34px}.method-track{grid-template-columns:1fr 1fr;gap:34px 22px}.method-track li:nth-child(2)::after{display:none}.method-track li:not(:last-child)::after{top:19px;left:38px;right:-22px}.method-track a{padding:0}.track-marker{width:38px;height:38px;font-size:14px}.method-track h3{font-size:22px;margin-top:19px;margin-bottom:11px}.method-track p{font-size:14px}.track-link{font-size:12px;margin-top:19px;gap:8px}.method-assurance{grid-template-columns:1fr;gap:16px;margin-top:34px;padding-top:24px}.method-assurance p{font-size:13px}.method-assurance p strong{font-size:14px}
  .home-agency{grid-template-columns:1fr;gap:35px}.home-agency img{height:auto;max-height:460px;aspect-ratio:4/5}.home-agency figcaption{display:flex;padding-block:16px;font-size:12px}.home-agency figcaption span{margin:0}.home-agency h2{font-size:33px;margin-bottom:23px}.home-agency>div>p:not(.label){font-size:17px}.agency-actions{gap:16px 28px;margin-top:24px}
  .faq-heading>p{max-width:none;font-size:15px;margin-top:16px}.footer-brand,.footer-contact{grid-column:1/-1}.footer-contact h2{margin-bottom:16px}.footer-top .footer-contact p{margin-top:10px}.footer-top .footer-nav{gap:12px}.footer-nav h2{font-size:13px}
  .section-nav{gap:4px 20px;margin-bottom:25px;padding-block:6px}.section-nav a{font-size:12px;padding-block:12px}.method-route{margin-bottom:38px}.method-route a{padding:22px 16px;grid-template-columns:26px 1fr;gap:9px}.method-route a>span{width:26px;height:26px;font-size:12px}.method-route strong{font-size:16px}.method-route small{font-size:12px}.method-summary{position:static}.steps .step-result{padding:14px;font-size:13px}
  body{font-size:16px;line-height:1.65}h1{font-size:43px}h2{font-size:32px}h3{font-size:22px}.wordmark{font-size:28px}.label{font-size:13px;margin-bottom:19px}
  .section{padding-block:60px}.breadcrumbs{font-size:12px;padding-top:21px}.home-hero{padding-top:34px}
  
  
  .film-button{left:16px;bottom:16px;padding:10px 13px;min-height:44px;font-size:13px}
  
  .section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.section-heading h2{font-size:34px}.section-heading>p,.section-heading>div:last-child:not(:first-child){justify-self:start;max-width:100%}.section-heading p{font-size:16px}.section-heading .text-link{margin-top:13px}
  .project-grid{grid-template-columns:1fr;gap:32px}.project-image{aspect-ratio:1.13}.project-caption{display:flex;align-items:end;gap:18px;padding-top:15px}.project-caption .project-card-title{font-size:23px}.project-caption>p{max-width:145px;text-align:right;font-size:12px;margin:0}.project-caption>div>p{font-size:12px}.project-image.logo-image img{padding:40px}
  .model-layout,.split-copy{grid-template-columns:1fr;gap:34px}.model-lead{margin-top:22px}.model-layout .text-link{margin-top:22px}.model-details dl{margin-top:24px}.model-details dt{font-size:17px}.model-details dd{font-size:15px}
  .services-grid{grid-template-columns:1fr}.services-grid article{padding-block:25px}.services-grid h3{font-size:23px}.services-grid article>p{font-size:16px}.services-grid .service-scope{font-size:13px}.services-grid .text-link{margin-top:14px}
  .contact-band-inner{grid-template-columns:1fr;gap:28px;padding-block:45px}.contact-band-inner>div:last-child{justify-self:start;max-width:400px}.contact-band h2{font-size:31px}.contact-band .label{margin-bottom:18px}
  .site-footer{padding-top:45px}.footer-top{grid-template-columns:1fr 1.3fr;gap:30px 22px;padding-bottom:35px}.footer-top nav{justify-self:start;gap:10px}.footer-top p{margin-top:16px}.footer-bottom{font-size:12px;flex-wrap:wrap;gap:15px 25px;padding-block:22px}.footer-bottom>a:last-child{margin-left:0}
  .page-intro{padding-block:34px 40px}.page-intro h1{font-size:42px;letter-spacing:-.045em}.page-intro .intro-text{font-size:17px;margin-top:23px}
  .filter-bar{gap:5px;padding-block:20px 25px}.filter-bar button{font-size:13px;padding:9px 12px}#filter-count{width:100%;margin-left:0;margin-top:12px}.portfolio-section{padding-bottom:60px}
  .case-intro{padding-block:30px}.case-intro h1{font-size:55px}.case-subtitle{font-size:22px;margin-top:13px}.case-meta{grid-template-columns:1fr 1fr;gap:22px;margin-top:28px;padding-top:23px}.case-meta>div:last-child{grid-column:1/-1}.case-meta dt{font-size:12px}.case-meta dd{font-size:14px}
  .case-landscape:not(:has([data-film])) img{height:auto;max-height:570px}.case-portrait img{max-height:560px}.case-logo img{padding:35px;max-height:250px}
  .case-paired>div{gap:12px}
  .case-story{grid-template-columns:1fr;gap:35px}.case-story aside{max-width:100%;border-bottom:1px solid var(--line);padding-bottom:28px}.case-story aside h2{font-size:22px;margin-bottom:12px}.case-story aside .text-link{margin-top:16px}.case-story article+article{margin-top:30px}.case-story article h2{font-size:24px;margin-bottom:12px}.case-story article p{font-size:17px}
  .case-gallery{grid-template-columns:1fr;gap:26px;padding-bottom:60px}.result-grid{grid-template-columns:1fr;gap:0}.result-grid>div{padding-block:22px}.result-grid dd{font-size:46px}.result-grid dt{margin-top:8px}.result-explanation{grid-template-columns:1fr;gap:22px;margin-top:15px}.result-explanation>p{font-size:16px}
  .next-reference{grid-template-columns:1fr;gap:30px}.next-reference>a{height:270px}.next-reference h2{margin-bottom:10px}.next-reference .text-link{margin-top:15px}
  .expertise-list{padding-bottom:20px}.expertise-list article{grid-template-columns:1fr;gap:32px;padding-block:35px}.expertise-list article h2{font-size:29px;margin-bottom:18px}.expertise-list .text-link{margin-top:18px}.expertise-list ul{background:var(--soft);padding:24px}.expertise-list li h3{font-size:18px}
  .split-copy>div>p{font-size:17px}.service-context{grid-template-columns:1fr;gap:18px;padding-block:24px}.service-context h2{font-size:21px}.service-context p{font-size:16px}.deliverables-section>h2{font-size:29px;margin-bottom:30px}.deliverables-grid{grid-template-columns:1fr;gap:28px}.deliverables-grid h3{font-size:21px;margin-bottom:12px}
  .service-reference{grid-template-columns:1fr;gap:30px}.service-reference h2{margin-bottom:20px}.service-reference-image{height:340px}
  .faq{grid-template-columns:1fr;gap:18px}.faq h2{font-size:31px}.faq summary{font-size:16px;padding-block:20px}.faq details p{font-size:15px}
  .method-layout{grid-template-columns:1fr;gap:40px;padding-top:5px}.method-layout>div>p{max-width:none;margin-top:20px}.steps li{gap:18px;padding-block:25px}.step-index{width:34px;height:34px;font-size:14px}.steps h3{font-size:23px}.steps p{font-size:15px}.steps .step-result{font-size:13px}table{font-size:14px}th,td{padding:18px 22px 18px 0;min-width:210px}.table-note{font-size:13px}
  .founder{grid-template-columns:1fr;gap:32px;padding-bottom:60px}.founder figure img{max-height:460px;object-position:50% 20%}.founder h2{font-size:31px;margin-bottom:23px}.founder p{font-size:17px}
  .contact-layout{grid-template-columns:1fr;gap:42px;padding-bottom:60px}.contact-email{font-size:25px}.contact-person{padding-bottom:26px;margin-top:24px}.contact-info h3{margin-top:25px}.contact-info .contact-note{margin-top:25px}.contact-person img{width:72px;height:88px}.contact-person h2{font-size:18px}.form-row{grid-template-columns:1fr 1fr;gap:16px}.form-row>label{font-size:13px}.required{display:block;font-size:11px}.choice-grid span{font-size:12px;padding-inline:12px}.form-row input{font-size:16px;padding-inline:11px}
  .film-dialog{width:calc(100vw - 24px)}.film-toolbar{padding:13px 16px;gap:14px}.film-toolbar h2{font-size:14px}.film-description{padding:15px 16px 20px}.film-dialog video{max-height:55dvh}
}
@media(max-width:360px){:root{--gutter:18px}.page-intro h1{font-size:36px}.project-caption{display:block}.project-caption>p{text-align:left;max-width:none;margin-top:6px}.form-row{grid-template-columns:1fr;gap:0}.required{display:inline}.contact-email{font-size:23px}.case-intro h1{font-size:46px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.project-image:hover img{transform:none}}
.hero-media.hero-media-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));aspect-ratio:2;min-height:0;align-self:center}
.hero-media-pair img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.agency-hero{text-align:center;padding-top:68px}
.agency-hero>.label{margin-bottom:26px}
.agency-hero h1{font-size:clamp(56px,6.4vw,90px);line-height:1.08;letter-spacing:-.055em;margin:0 auto;max-width:1040px}
.agency-hero-copy{font-size:19px;line-height:1.7;max-width:700px;margin:25px auto 0}
.agency-hero-actions{display:flex;justify-content:center;align-items:center;gap:28px;margin-top:28px}
.hero-principles{display:flex;justify-content:center;gap:0;list-style:none;margin:48px 0 0;padding:25px 0;border-top:1px solid var(--line)}
.hero-principles li{padding:0 32px;font-size:14px;line-height:1.5;color:var(--ink)}
.hero-principles li+li{border-left:1px solid var(--line)}
.brand-band{padding:28px 0 32px;border-block:1px solid var(--line);background:var(--soft)}
.brand-band p{font-size:13px;text-align:center;margin-bottom:24px}
.brand-logos{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;gap:34px;list-style:none;padding:0}
.brand-logos li{display:flex;align-items:center;justify-content:center;min-width:0;height:60px}
.brand-logos img{width:100%;max-width:135px;height:42px;object-fit:contain;filter:brightness(0);opacity:.8}
.brand-logos img.compact{max-width:64px;height:55px}
.home-projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.home-projects .project-image{aspect-ratio:1}
.home-projects .project-caption{display:block}
.home-projects .project-caption>p{margin-top:8px;text-align:left;max-width:none}
@media(prefers-reduced-motion:no-preference){.agency-hero-intro{animation:hero-arrive .5s ease-out}}
@media(max-width:850px){
  .agency-hero{padding-top:48px}
  .agency-hero-copy{font-size:17px;max-width:630px}
  .hero-principles li{padding-inline:18px;font-size:13px}
  .brand-logos{gap:20px}
  .brand-logos img{max-width:104px;height:32px}
  .brand-logos img.compact{max-width:48px;height:44px}
  .home-projects{gap:20px}
}
@media(max-width:600px){
  .case-triptych>div{grid-template-columns:1fr}
  .case-lookbook{padding-bottom:60px}
  .case-lookbook>div{grid-template-columns:1fr;gap:18px}
  .agency-hero{padding-top:36px;text-align:left}
  .agency-hero>.label{font-size:12px;max-width:300px;line-height:1.6;margin-bottom:22px}
  .agency-hero h1{font-size:clamp(36px,9.4vw,55px);line-height:1.13;letter-spacing:-.05em}
  .agency-hero-copy{font-size:16px;margin-top:22px}
  .agency-hero-actions{justify-content:flex-start;flex-wrap:wrap;gap:16px 23px;margin-top:24px}
  .agency-hero-actions .text-link{font-size:14px}
  .hero-principles{margin-top:32px;padding-block:18px;display:block}
  .hero-principles li{padding:5px 0;font-size:13px}
  .hero-principles li+li{border-left:0}
  .brand-band{padding-block:24px}
  .brand-band p{text-align:left;max-width:260px;margin-bottom:18px;line-height:1.65}
  .brand-logos{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 18px}
  .brand-logos li{width:calc((100% - 36px)/3);height:48px}
  .brand-logos img{max-width:100px;height:27px}
  .brand-logos img.compact{max-width:40px;height:38px}
  .home-projects{grid-template-columns:1fr;gap:32px}
}

/* Way-mark: a direct promise, a lead reference, then the team behind it. */
.value-hero{padding-top:48px;padding-bottom:48px}
.value-hero>.label{color:var(--ink);font-size:14px;font-weight:400;margin-bottom:26px}
.value-hero h1{color:var(--blue);font-size:clamp(64px,8.4vw,120px);font-weight:600;line-height:1.03;letter-spacing:-.06em;text-wrap:initial}
.value-hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-top:34px}
.value-hero-bottom .hero-subtitle{max-width:470px;font-size:18px;line-height:1.65;color:var(--ink)}
.value-hero-bottom .button{flex-shrink:0;background:var(--blue);border-color:var(--blue);color:white}
.value-hero-bottom .button:hover{background:var(--ink);border-color:var(--ink);color:white}
.home .brand-band{background:white;padding-block:30px}
.brand-band-inner{display:grid;grid-template-columns:240px minmax(0,1fr);gap:42px;align-items:center}
.brand-proof{border-right:1px solid var(--line);padding-right:30px}
.home .brand-proof p{text-align:left;margin:0;max-width:none}
.home .brand-proof .brand-proof-label{font-size:12px;color:var(--ink);margin-bottom:5px}
.home .brand-proof .brand-proof-number{display:flex;align-items:baseline;gap:10px;color:var(--blue);line-height:1.15;white-space:nowrap}
.brand-proof-number strong{font-size:54px;font-weight:600;letter-spacing:-.055em}
.brand-proof-number span{font-size:20px;letter-spacing:-.02em}
.home .brand-proof .brand-proof-scope{font-size:12px;line-height:1.65;margin-top:8px;color:var(--muted)}
.home .brand-logos{gap:24px;margin:0}
.home .brand-logos li{height:50px}
.home .brand-logos img{height:34px;opacity:1;filter:brightness(0) saturate(100%) invert(23%) sepia(98%) saturate(4232%) hue-rotate(232deg) brightness(105%) contrast(102%)}
.home .brand-logos img.compact{height:47px}
.home-work{padding-top:75px}
.home-work .section-heading h2,.home-expertises .section-heading h2{font-size:clamp(40px,4.4vw,60px);line-height:1.07}
.home-work .section-heading>div:last-child p{font-size:15px;max-width:405px}
.featured-work-media{position:relative}
.featured-work-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:white;overflow:hidden}
.featured-work-images img{width:100%;aspect-ratio:1;object-fit:contain}
.featured-work-images:focus-visible{outline-offset:-5px}
.featured-work-caption{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;background:var(--blue);padding:34px 40px;color:white}
.featured-work-caption p,.featured-work-caption .label{color:white}
.featured-work-caption .label{font-size:12px;font-weight:400;margin-bottom:14px}
.featured-work-caption h3{font-size:clamp(27px,2.65vw,38px);line-height:1.2;letter-spacing:-.04em}
.featured-work-caption h3 a:hover{text-decoration:underline;text-decoration-thickness:1px}
.featured-work-caption .featured-work-title{font-size:17px;margin-top:10px}
.featured-work-caption>div:last-child>p{font-size:15px;line-height:1.65}
.featured-work-caption .text-link{color:white;margin-top:15px}
.featured-work-caption .text-link:hover{color:white}
.featured-work-caption .featured-work-credit{font-size:12px!important;margin-top:15px;opacity:.85}
.featured-work-caption a:focus-visible{outline-color:white}
.supporting-work{margin-top:56px;gap:40px}
.supporting-work .project-image{aspect-ratio:1.45}
.supporting-work .project-image img{object-position:50% 30%}
.supporting-work .project-caption .project-card-title{font-size:24px}
.home-expertises{background:var(--soft);border-top:0}
.home-expertises .expertise-explorer{gap:70px;grid-template-columns:1fr 1.1fr}
.home-expertises .expertise-choice{padding-left:0;padding-right:20px;background:none}
.home-expertises .expertise-choice::before{display:none}
.home-expertises .expertise-choice strong{font-size:clamp(21px,2.15vw,30px);transition:color .18s}
.home-expertises .expertise-choice[aria-selected=true] strong{background:var(--blue);color:white;box-shadow:8px 0 var(--blue),-8px 0 var(--blue)}
.home-expertises .expertise-choice strong{display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.home-expertises .expertise-choice[aria-selected=true] svg{color:var(--blue)}
.home-expertises .expertise-panels{background:white;border-radius:0;padding:38px;min-height:500px}
.home-expertises .expertise-panel h3{font-size:clamp(29px,2.6vw,37px);margin-bottom:20px;color:var(--blue);max-width:420px}
.home-expertises .expertise-panel dl{gap:19px;margin-top:28px}
.home-expertises .expertise-panel dt{font-size:16px}
.home-method .section-heading h2{font-size:clamp(38px,4.1vw,56px);line-height:1.12}
.team-map{display:grid;grid-template-columns:minmax(220px,.75fr) 1.6fr;gap:65px;align-items:center;border-block:1px solid #ffffff55;padding-block:34px;margin-bottom:54px}
.team-pilot{position:relative;border-left:4px solid white;padding-left:24px}
.team-pilot::after{content:'';position:absolute;left:100%;top:50%;width:40px;height:1px;background:#ffffff70}
.team-pilot>span{font-size:13px;display:block;margin-bottom:5px}
.team-pilot>strong{font-size:42px;letter-spacing:-.06em;line-height:1.25}
.team-pilot p{font-size:13px;margin-top:7px}
.team-talent>p{font-size:13px;margin-bottom:17px}
.team-talent ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px 24px}
.team-talent li{font-size:22px;letter-spacing:-.025em;border-bottom:1px solid #ffffff35;padding-bottom:8px}
.home-method .track-marker{border-color:white;color:white}
.home-method .method-track a:hover .track-marker{background:white;color:var(--blue)}
.home-method .method-track h3{font-size:27px;margin-top:22px}
.home-method .team-partners{font-size:14px;border-top:1px solid #ffffff40;margin-top:38px;padding-top:22px}
.home .home-agency{grid-template-columns:.9fr 1.1fr;gap:85px;padding-block:110px}
.home-agency figure{padding:20px 20px 0;background:var(--soft)}
.home-agency img{height:400px;border-radius:0;object-position:50% 25%}
.home-agency figcaption{border:0;font-size:12px;align-items:start}
.home-agency figcaption strong{color:var(--blue)}
.home-agency h2{font-size:clamp(38px,4.2vw,57px);line-height:1.12}
.home-agency>div>p:not(.label){font-size:17px;max-width:475px}
.home .faq{padding-top:20px}
.home .faq h2{font-size:44px}
.home .contact-band{background:var(--blue);color:white}
.home .contact-band p,.home .contact-band .label{color:white}
.home .contact-band .button{background:white;border-color:white;color:var(--blue)}
.home .contact-band .button:hover{background:var(--blue);border-color:white;color:white}
.home .contact-band h2{font-size:clamp(38px,4.2vw,58px)}
.home .contact-band a:focus-visible{outline-color:white}
@media(prefers-reduced-motion:no-preference){.value-hero-intro{animation:hero-arrive .55s ease-out}}
@media(max-width:850px){
  .brand-band-inner{grid-template-columns:220px minmax(0,1fr);gap:32px}
  .home .brand-logos{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
  .value-hero{padding-block:42px}
  .value-hero h1{font-size:clamp(62px,9vw,90px)}
  .value-hero-bottom{gap:35px;align-items:start}
  .value-hero-bottom .hero-subtitle{font-size:16px;max-width:350px}
  .featured-work-caption{gap:30px;padding:28px}
  .supporting-work{gap:28px;margin-top:40px}
  .supporting-work .project-caption{display:block}
  .supporting-work .project-caption>p{text-align:left;margin-top:7px;max-width:none}
  .home-expertises .expertise-explorer{gap:38px;grid-template-columns:1fr 1.2fr}
  .home-expertises .expertise-panels{padding:28px}
  .home-expertises .expertise-choice strong{font-size:21px}
  .team-map{gap:45px;grid-template-columns:1fr 1.5fr}
  .team-talent ul{grid-template-columns:1fr 1fr;gap:8px 18px}
  .team-talent li{font-size:18px}
  .team-pilot>strong{font-size:36px}
  .team-pilot::after{width:25px}
  .home .home-agency{gap:40px;padding-block:80px}
  .home-agency img{height:360px}
}
@media(max-width:600px){
  .value-hero{padding-top:32px;padding-bottom:32px}
  .value-hero>.label{font-size:12px;margin-bottom:24px}
  .value-hero h1{font-size:clamp(32px,10.2vw,60px);line-height:1.08;letter-spacing:-.055em}
  .value-hero-bottom{display:flex;flex-direction:column;align-items:start;gap:22px;margin-top:25px}
  .value-hero-bottom .hero-subtitle{order:-1;font-size:16px;max-width:370px}
  .value-hero-bottom .button{min-height:49px}
  .home .brand-band{padding-block:25px}
  .brand-band-inner{grid-template-columns:1fr;gap:24px}
  .brand-proof{border-right:0;border-bottom:1px solid var(--line);padding:0 0 23px}
  .brand-proof-number strong{font-size:48px}
  .home .brand-proof .brand-proof-scope{font-size:13px}
  .home .brand-proof .brand-proof-scope br{display:none}
  .home .brand-logos{gap:18px}
  .home .brand-logos img{height:27px}
  .home .brand-logos img.compact{height:38px}
  .home .brand-logos li{height:40px}
  .home-work{padding-top:54px}
  .home-work .section-heading,.home-expertises .section-heading{gap:23px;margin-bottom:30px}
  .home-work .section-heading h2,.home-expertises .section-heading h2{font-size:39px}
  .featured-work-images{grid-template-columns:1fr 1fr;position:relative}
  .featured-work-images img:first-child{display:none}
  .featured-work-caption{grid-template-columns:1fr;gap:23px;padding:24px}
  .featured-work-caption h3{font-size:29px}
  .featured-work-caption .featured-work-title{font-size:15px}
  .featured-work-caption .label{font-size:11px}
  .featured-work-media .film-button{left:12px;bottom:12px;min-height:40px;padding:8px 12px;font-size:12px}
  .supporting-work{grid-template-columns:1fr;gap:30px;margin-top:32px}
  .supporting-work .project-image{aspect-ratio:1.4}
  .home-expertises .expertise-explorer{grid-template-columns:1fr;gap:22px}
  .home-expertises .expertise-choice{padding:16px 9px;min-height:66px}
  .home-expertises .expertise-choice strong{font-size:15px}
  .home-expertises .expertise-panels{padding:26px;min-height:0}
  .home-expertises .expertise-panel h3{font-size:29px}
  .home-method .section-heading h2{font-size:38px}
  .team-map{grid-template-columns:1fr;gap:25px;padding-block:28px;margin-bottom:38px}
  .team-pilot::after{display:none}
  .team-pilot{padding-left:19px}
  .team-talent ul{grid-template-columns:1fr 1fr;gap:10px 24px}
  .team-talent li{font-size:19px}
  .home .home-agency{grid-template-columns:1fr;gap:35px;padding-block:60px}
  .home-agency figure{padding:15px 15px 0}
  .home-agency img{height:auto;aspect-ratio:1.1;object-position:50% 60%}
  .home-agency h2{font-size:38px;margin-bottom:23px}
  .home .faq h2{font-size:36px}
  .home .contact-band h2{font-size:37px}
}

/* A continuous route: work, expertise, people. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.home-capabilities{padding-top:20px;padding-bottom:100px}
.home-capabilities .section-heading{margin-bottom:48px}
.home-capabilities h2{font-size:clamp(40px,4.4vw,60px);line-height:1.1}
.expertise-lines{border-top:1px solid var(--line)}
.expertise-line{display:grid;grid-template-columns:1.4fr 1fr auto;gap:40px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line);transition:background-color .2s,color .2s}
.expertise-line h3{font-size:clamp(25px,2.75vw,39px);letter-spacing:-.045em;line-height:1.25;font-weight:400;transition:transform .2s}
.expertise-line p{font-size:16px;max-width:340px;line-height:1.6}
.expertise-line-action{color:var(--blue);font-size:14px;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.expertise-line:hover,.expertise-line:focus-visible{background:var(--soft);color:var(--blue)}
.expertise-line:focus-visible{outline-offset:4px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.expertise-line:hover h3{transform:translateX(8px)}}
.expertise-directory{padding-bottom:100px}
.expertise-index .page-intro{padding-bottom:60px}
.expertise-index .page-intro h1,.service-page .page-intro h1{color:var(--blue);font-size:clamp(46px,5.6vw,80px);line-height:1.09;max-width:1000px}
.service-page .page-intro .label{color:var(--ink)}
.service-page .page-intro .intro-text{max-width:780px}
.service-page .service-reference{padding-top:0;padding-bottom:100px}
.service-page .service-reference-image{height:auto;aspect-ratio:1.25}
.service-page .service-reference h2{font-size:clamp(36px,4vw,56px);color:var(--blue)}
.service-page .model-section{background:var(--soft)}
.service-siblings{padding-block:0 80px;border-top:1px solid var(--line)}
.service-siblings>p{font-size:14px;padding-top:24px;margin-bottom:24px}
.service-siblings>div{display:flex;flex-wrap:wrap;gap:20px 40px}
.service-siblings .text-link{font-size:20px}
.agency-teaser{background:var(--blue);color:white}
.agency-teaser-inner{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:100px;align-items:center;padding-block:64px}
.agency-teaser figure{margin:0}
.agency-teaser img{width:100%;height:300px;object-fit:cover;object-position:50% 25%}
.agency-teaser figcaption{font-size:13px;color:white;margin-top:14px}
.agency-teaser h2{font-size:clamp(38px,4.5vw,64px);line-height:1.1;max-width:760px}
.agency-teaser p,.agency-teaser .label{color:white}
.agency-teaser p:not(.label){font-size:18px;max-width:580px;margin-top:25px}
.agency-teaser .label{font-size:14px;margin-bottom:20px}
.agency-teaser .text-link{color:white;font-size:16px;margin-top:28px}
.agency-teaser a:focus-visible{outline-color:white}
.home .contact-band{background:white;color:var(--blue)}
.home .contact-band h2{color:var(--blue)}
.home .contact-band p,.home .contact-band .label{color:var(--ink)}
.home .contact-band .button{background:var(--blue);border-color:var(--blue);color:white}
.home .contact-band .button:hover{background:var(--ink);border-color:var(--ink);color:white}
.home .contact-band a:focus-visible{outline-color:var(--blue)}
.home .site-footer{border-top:1px solid var(--line)}
.agency-opening{display:grid;grid-template-columns:1.5fr .85fr;gap:90px;align-items:center;padding-block:40px 90px}
.agency-opening h1{font-size:clamp(45px,5.6vw,80px);line-height:1.08;color:var(--blue);letter-spacing:-.05em}
.agency-opening .agency-lead{font-size:21px;line-height:1.55;color:var(--ink);margin-top:30px;max-width:620px}
.agency-opening p:not(.label):not(.agency-lead){font-size:16px;max-width:580px;margin-top:20px}
.agency-opening .button{margin-top:28px}
.agency-opening figure{align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.agency-opening img{width:100%;height:480px;object-fit:cover;object-position:50% 25%}
.agency-opening figcaption{display:flex;flex-direction:column;gap:2px;padding-top:16px;font-size:14px;color:var(--muted)}
.agency-opening figcaption strong{font-weight:600;color:var(--ink);font-size:16px}
.agency-approach{background:var(--soft)}
.agency-approach-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:95px;align-items:start}
.approach-heading h2{font-size:clamp(36px,4vw,54px);line-height:1.12;margin-bottom:24px}
.approach-heading p:not(.label){font-size:17px;max-width:460px}
.approach-heading p+p{margin-top:18px}
.approach-list{border-top:1px solid var(--line)}
.approach-list details{border-bottom:1px solid var(--line);scroll-margin-top:120px}
.approach-list summary{display:grid;grid-template-columns:32px 1fr 24px;gap:20px;align-items:center;list-style:none;cursor:pointer;padding-block:24px}
.approach-list summary::-webkit-details-marker{display:none}
.approach-list summary:focus-visible{outline-offset:3px}
.approach-list h3{font-size:29px;font-weight:400;letter-spacing:-.035em}
.approach-index{color:var(--muted);font-size:14px}
.approach-toggle{font-size:23px;color:var(--blue);line-height:1;text-align:center;transition:transform .18s}
.approach-list details[open] .approach-toggle{transform:rotate(45deg)}
.approach-list details[open] h3{color:var(--blue)}
.approach-detail{padding:0 0 28px 52px}
.approach-detail p{font-size:16px}
.approach-detail .approach-result{color:var(--blue);margin-top:15px}
.impact-examples{margin-block:24px;display:grid;gap:16px}
.impact-examples dt{color:var(--ink);font-size:16px;font-weight:600}
.impact-examples dd{color:var(--muted);font-size:15px;margin-top:4px}
.agency-experience .section-heading h2{font-size:clamp(38px,4.3vw,58px)}
.experience-count{font-size:34px;font-weight:600;letter-spacing:-.04em;color:var(--blue)}
.agency-experience .section-heading p+p{margin-top:15px;font-size:15px}
.agency-experience .project-grid{gap:40px}
.agency-experience .project-image{aspect-ratio:1.3}
.agency-page .faq{padding-top:0}
.agency-page .faq h2{font-size:40px}
.agency-page .faq-heading>p{font-size:16px}
@media(max-width:1050px){
  .expertise-line{gap:28px;grid-template-columns:1.4fr 1fr auto}
  .expertise-line p{font-size:15px}
  .agency-teaser-inner{gap:64px;grid-template-columns:280px 1fr}
  .agency-opening{gap:50px}
  .agency-opening img{height:450px}
  .agency-approach-inner{gap:55px}
}
@media(max-width:850px){
  .home-capabilities{padding-bottom:72px}
  .expertise-line{grid-template-columns:1fr auto;gap:13px 30px;padding-block:28px}
  .expertise-line h3{font-size:31px}
  .expertise-line p{grid-column:1;grid-row:2;max-width:520px}
  .expertise-line-action{grid-column:2;grid-row:1/3}
  .agency-teaser-inner{gap:40px;grid-template-columns:230px 1fr;padding-block:50px}
  .agency-teaser h2{font-size:38px}
  .agency-teaser p:not(.label){font-size:16px}
  .agency-opening{gap:36px;grid-template-columns:1.35fr .85fr;padding-bottom:70px}
  .agency-opening h1{font-size:47px}
  .agency-opening .agency-lead{font-size:18px;margin-top:22px}
  .agency-opening img{height:380px}
  .agency-approach-inner{gap:40px;grid-template-columns:1fr 1.1fr}
  .approach-heading h2{font-size:37px}
  .approach-list summary{gap:13px;grid-template-columns:26px 1fr 22px}
  .approach-detail{padding-left:39px}
  .agency-experience .project-grid{gap:28px}
}
@media(max-width:600px){
  .home-capabilities{padding-top:15px;padding-bottom:56px}
  .home-capabilities .section-heading{margin-bottom:30px}
  .home-capabilities h2{font-size:38px}
  .expertise-line{gap:10px 18px;padding-block:26px;grid-template-columns:1fr}
  .expertise-line h3{font-size:29px}
  .expertise-line p{font-size:16px;grid-column:1;grid-row:2}
  .expertise-line-action{grid-column:1;grid-row:3;margin-top:3px;font-size:14px}
  .expertise-directory{padding-bottom:60px}
  .expertise-index .page-intro{padding-bottom:38px}
  .expertise-index .page-intro h1,.service-page .page-intro h1{font-size:39px}
  .agency-teaser-inner{grid-template-columns:1fr;gap:34px;padding-block:40px 50px}
  .agency-teaser figure{order:2;display:grid;grid-template-columns:105px 1fr;gap:20px;align-items:end}
  .agency-teaser img{height:115px}
  .agency-teaser figcaption{font-size:13px;max-width:150px}
  .agency-teaser h2{font-size:39px}
  .agency-teaser p:not(.label){margin-top:20px}
  .agency-opening{grid-template-columns:1fr;gap:35px;padding-block:28px 55px}
  .agency-opening h1{font-size:43px}
  .agency-opening .agency-lead{font-size:19px}
  .agency-opening img{height:360px;object-position:50% 25%}
  .agency-opening figcaption{flex-direction:row;justify-content:space-between;gap:20px;font-size:12px;align-items:baseline}
  .agency-opening figcaption strong{font-size:14px}
  .agency-approach-inner{grid-template-columns:1fr;gap:34px}
  .approach-heading h2{font-size:37px}
  .approach-heading p:not(.label){font-size:16px}
  .approach-list summary{padding-block:21px;gap:16px}
  .approach-list h3{font-size:28px}
  .approach-detail{padding-left:0;padding-bottom:24px}
  .agency-experience .section-heading h2{font-size:38px}
  .agency-experience .project-grid{grid-template-columns:1fr;gap:35px}
  .agency-page .faq h2{font-size:34px}
  .service-page .service-reference{padding-bottom:55px}
  .service-siblings{padding-bottom:50px}
  .service-siblings>div{display:flex;flex-direction:column;align-items:start;gap:18px}
  .service-siblings .text-link{font-size:18px}
}
@media(max-width:360px){.agency-opening h1{font-size:36px}.expertise-line h3{font-size:26px}.agency-teaser h2{font-size:35px}.service-page .page-intro h1,.expertise-index .page-intro h1{font-size:35px}}
/* A compact, manually browsed gallery for the experts' brand references. */
.home .brand-gallery{min-width:0}
.home .brand-logos{--brand-columns:5;display:grid;grid-template-rows:repeat(2,64px);grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--brand-columns) - 1)*28px)/var(--brand-columns));gap:20px 28px;justify-content:normal;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding:4px 0 12px;margin:0}
.home .brand-logos li{width:auto;height:64px;scroll-snap-align:start}
.home .brand-logos img{width:100%;max-width:136px;height:42px;object-fit:contain;filter:none;opacity:1}
.home .brand-logos img.compact{max-width:72px;height:54px}
.home .brand-logos img.legacy{filter:brightness(0) saturate(100%) invert(23%) sepia(98%) saturate(4232%) hue-rotate(232deg) brightness(105%) contrast(102%)}
.brand-logos:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.brand-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px;color:var(--muted);font-size:12px}
.brand-controls[hidden]{display:none}
.brand-position{font-variant-numeric:tabular-nums}
.brand-controls>div{display:flex;gap:20px}
.brand-controls button{appearance:none;background:none;border:0;padding:6px 0;min-height:36px;font:inherit;font-size:13px;font-weight:600;color:var(--blue);cursor:pointer}
.brand-controls button:hover:not(:disabled){text-decoration:underline;text-underline-offset:5px}
.brand-controls button:disabled{color:var(--muted);opacity:.5;cursor:default}
@media(max-width:1100px){.home .brand-logos{--brand-columns:4}}
@media(max-width:850px){.home .brand-logos{--brand-columns:3;gap:18px 20px;grid-auto-columns:calc((100% - (var(--brand-columns) - 1)*20px)/var(--brand-columns))}}
@media(max-width:600px){.home .brand-logos{--brand-columns:3;grid-template-rows:repeat(2,54px);gap:20px 24px;grid-auto-columns:calc((100% - (var(--brand-columns) - 1)*24px)/var(--brand-columns))}.home .brand-logos li{height:54px}.home .brand-logos img{height:34px}.home .brand-logos img.compact{height:44px;max-width:55px}.brand-controls button{min-height:44px}.brand-controls{margin-top:2px}}
@media(max-width:420px){.home .brand-logos{--brand-columns:2}}

.brand-filter{position:absolute;pointer-events:none}
.home .brand-logos img.raster-blue{filter:url(#brand-blue)}
/* Homepage: viewport-aligned opening, direct agency introduction and questions. */
.value-hero-bottom .button{background:#000;border-color:#000}
.value-hero-bottom .button:hover,.value-hero-bottom .button:focus-visible{background:var(--blue);border-color:var(--blue);color:white}
.agency-preview{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(48px,7vw,100px);align-items:center;border-top:1px solid var(--line)}
.agency-preview-copy h2{font-size:clamp(42px,4.5vw,64px);line-height:1.08;color:var(--blue);max-width:650px}
.agency-preview-lead{font-size:18px;line-height:1.65;margin-top:28px;max-width:520px;color:var(--ink)}
.agency-preview-points{margin:30px 0 24px;max-width:520px}
.agency-preview-points>div{padding:20px 0;border-top:1px solid var(--line)}
.agency-preview-points dt{font-size:17px;font-weight:600;line-height:1.5}
.agency-preview-points dd{font-size:16px;line-height:1.6;margin-top:6px;color:var(--muted)}
.agency-preview-portrait{background:var(--blue);margin:0}
.agency-preview-portrait img{width:100%;height:440px;object-fit:cover;object-position:50% 60%;filter:grayscale(1)}
.agency-preview-portrait figcaption{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:24px 28px;color:white}
.agency-preview-portrait strong{display:block;font-size:20px;line-height:1.4}
.agency-preview-portrait figcaption span{font-size:14px}
.agency-preview-location{white-space:nowrap}
.home .faq{padding-block:80px 100px;gap:clamp(40px,7vw,100px)}
.home .faq h2{font-size:clamp(34px,3.5vw,48px);color:var(--blue)}
.home .faq-heading>p{font-size:16px;line-height:1.7;max-width:300px}
.home .faq details:first-child{border-top:1px solid var(--line)}
.home .faq summary{font-size:18px;padding-block:24px}
.home .faq details p{font-size:16px;line-height:1.75}
@media(min-width:851px){
 .home-opening{display:grid;grid-template-rows:1fr auto;min-height:calc(100svh - var(--header))}
 .home-opening .value-hero{display:flex;flex-direction:column;justify-content:center;padding-block:clamp(24px,4svh,48px)}
 .home-opening .value-hero h1{font-size:clamp(64px,min(8.4vw,11.5svh),120px)}
 .home-opening .value-hero>.label{margin-bottom:20px}
 .home-opening .value-hero-bottom{margin-top:28px}
 .home-opening .brand-band{padding-block:20px}
 .home-opening .brand-logos{grid-template-rows:repeat(2,54px);row-gap:12px}
 .home-opening .brand-logos li{height:54px}
}
@media(max-width:850px){
 .agency-preview{gap:36px;grid-template-columns:1.1fr 1fr}
 .agency-preview-portrait img{height:380px}
 .agency-preview-portrait figcaption{display:block;padding:22px}
 .agency-preview-location{display:block;margin-top:14px}
 .agency-preview-lead{font-size:16px}
}
@media(max-width:600px){
 .agency-preview{grid-template-columns:1fr;gap:36px;padding-block:56px}
 .agency-preview-copy h2{font-size:42px}
 .agency-preview-lead{margin-top:22px}
 .agency-preview-points{margin-block:24px 16px}
 .agency-preview-portrait img{height:auto;aspect-ratio:1.15;object-fit:cover}
 .agency-preview-portrait figcaption{display:flex;padding:22px;align-items:start}
 .agency-preview-portrait strong{font-size:18px}
 .agency-preview-location{margin-top:3px;font-size:12px!important}
 .home .faq{padding-block:56px 64px;gap:26px}
 .home .faq summary{font-size:16px;padding-block:21px}
 .home .faq-heading>p{max-width:100%;margin-top:18px}
}

/* Interior journeys: context, scope, evidence. */
.project-context{max-width:65ch;margin-top:14px;font-size:15px;color:var(--muted)}
.references-index .portfolio-grid>.project-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.4fr 1fr;column-gap:48px;align-items:start}
.references-index .portfolio-grid>.project-card:first-child .project-image{grid-row:1/3;aspect-ratio:1.45}
.references-index .portfolio-grid>.project-card:first-child .project-caption{display:block;padding-top:28px}
.references-index .portfolio-grid>.project-card:first-child .project-card-title{font-size:44px;margin:14px 0}
.references-index .portfolio-grid>.project-card:first-child .project-context{font-size:18px;margin-top:0;align-self:start}
.references-index .portfolio-grid>.project-card[hidden]{display:none}
.case-intent{max-width:780px;font-size:20px;line-height:1.65;margin-top:24px;color:var(--muted)}
.expertise-overview{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:60px 0;border-top:1px solid var(--line)}
.expertise-overview h2{font-size:clamp(30px,3.3vw,46px);margin-bottom:22px}
.expertise-overview h2 a{text-decoration:none}
.expertise-overview h2 a:hover{color:var(--blue)}
.expertise-overview h3{font-size:17px;margin-bottom:12px}
.expertise-overview p{max-width:55ch}
.expertise-overview .text-link{margin-top:24px}
.expertise-overview ul{padding-left:20px;margin-top:24px;color:var(--ink)}
.expertise-overview li{margin:8px 0}
.service-context .text-link{margin-top:18px;font-size:15px}
.delivery-example{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.delivery-example h4{font-size:13px;color:var(--blue);font-weight:600;margin-bottom:8px}
.delivery-example p{font-size:15px;color:var(--ink)}
.service-page .service-reference{border-top:1px solid var(--line)}
.service-page .model-section{background:var(--blue);color:white}
.service-page .model-section h2,.service-page .model-section p,.service-page .model-section a{color:white}
.agency-page .section-nav{margin-bottom:0}
@media(max-width:850px){
 .expertise-overview{gap:40px;padding:40px 0}
 .references-index .portfolio-grid>.project-card:first-child{column-gap:28px}
 .references-index .portfolio-grid>.project-card:first-child .project-card-title{font-size:32px}
 .references-index .portfolio-grid>.project-card:first-child .project-context{font-size:16px}
}
@media(max-width:600px){
 .expertise-overview{grid-template-columns:1fr;gap:30px}
 .references-index .portfolio-grid>.project-card:first-child{display:block}
 .references-index .portfolio-grid>.project-card:first-child .project-caption{padding-top:20px}
 .references-index .portfolio-grid>.project-card:first-child .project-context{margin-top:14px}
 .case-intent{font-size:18px}
}

/* Three broad pillars, one continuous agency narrative. */
.pillar-page .page-intro{padding-bottom:70px}
.pillar-page .page-intro h1{max-width:1000px;font-size:clamp(44px,5.8vw,80px)}
.pillar-page .intro-text{max-width:780px}
.pillar-scope{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:70px 100px;border-top:1px solid var(--line)}
.pillar-scope h2{font-size:clamp(30px,3.2vw,44px);margin-bottom:26px}
.pillar-scope p{font-size:18px;max-width:55ch}
.pillar-fields article+article{margin-top:32px}
.pillar-fields h3{font-size:23px;margin-bottom:10px}
.pillar-proof{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center;padding-bottom:100px}
.pillar-proof-image{display:block;overflow:hidden;background:var(--soft)}
.pillar-proof img{width:100%;height:470px;object-fit:cover}
.pillar-proof .pillar-logo img{object-fit:contain;padding:70px}
.pillar-proof h2{margin-bottom:12px}
.pillar-proof .text-link{margin-top:20px}
.pillar-outlook{background:var(--blue);color:white}
.pillar-outlook>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:80px}
.pillar-outlook h2{font-size:clamp(30px,3.5vw,48px)}
.pillar-outlook p,.pillar-outlook a,.pillar-outlook .label{color:white}
.pillar-outlook p{font-size:18px}
.pillar-outlook .text-link{margin-top:20px}
.home .home-capabilities{padding-bottom:85px}
.home .agency-preview{background:var(--blue);color:white;max-width:none;width:100%;padding-inline:max(var(--gutter),calc((100% - 1184px)/2));padding-block:85px;margin:0}
.home .agency-preview p,.home .agency-preview a,.home .agency-preview dt,.home .agency-preview dd,.home .agency-preview .label{color:white}
.home .agency-preview-points{border-color:#ffffff50}
.home .agency-preview-points>div{border-color:#ffffff50}
.home .agency-preview .text-link{border-color:white}
.home .agency-preview-portrait figcaption{background:white;color:var(--ink)}
.home .contact-band{margin-top:0;border-top:0}
.agency-page .agency-opening h1{font-size:clamp(42px,4.8vw,66px)}
.expertise-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:850px){.pillar-scope,.pillar-outlook>.wrap{gap:45px}.pillar-proof{gap:35px}.pillar-proof img{height:370px}.expertise-menu-grid{grid-template-columns:1fr}}
@media(max-width:600px){.pillar-scope,.pillar-proof,.pillar-outlook>.wrap{grid-template-columns:1fr;gap:35px;padding-block:45px}.pillar-proof img{height:340px}.pillar-proof .pillar-logo img{height:230px;padding:45px}.pillar-page .page-intro{padding-bottom:45px}.home .agency-preview{padding:55px 24px}.home .home-capabilities{padding-bottom:55px}.pillar-outlook p,.pillar-scope p{font-size:17px}}

.home .agency-preview h2{color:#fff}


.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.hero-actions .text-link{font-size:14px}.home-opening .value-hero h1{font-size:clamp(56px,min(7.8vw,10.5svh),110px)}@media(max-width:600px){.home-opening .value-hero h1{font-size:clamp(34px,10vw,60px)}.hero-actions{gap:14px}}


/* Clear, full-row expertise navigation. */
.home-capabilities .section-heading{margin-bottom:36px}
.home-capabilities .expertise-line{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 48px;gap:36px;padding:32px 24px;min-height:138px;color:var(--ink);text-decoration:none}
.home-capabilities .expertise-line h3{font-size:clamp(27px,2.6vw,36px);font-weight:500;max-width:410px;transform:none}
.home-capabilities .expertise-line p{font-size:17px;max-width:355px;margin:0}
.home-capabilities .expertise-line-action{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;text-decoration:none;color:var(--blue)}
.home-capabilities .expertise-line:hover,.home-capabilities .expertise-line:focus-visible{background:var(--blue);color:white}
.home-capabilities .expertise-line:hover p,.home-capabilities .expertise-line:focus-visible p,.home-capabilities .expertise-line:hover .expertise-line-action,.home-capabilities .expertise-line:focus-visible .expertise-line-action{color:white;border-color:#ffffff80}
.home-capabilities .expertise-line:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.home .agency-preview{padding-block:72px}
.agency-value-list{list-style:none;padding:0;margin:28px 0 32px;max-width:540px}
.agency-value-list li{font-size:16px;padding:13px 0;border-top:1px solid #ffffff40}
.home .agency-preview-lead{max-width:540px}
.home .agency-preview-portrait img{height:390px}
@media(max-width:850px){.home-capabilities .expertise-line{gap:22px;padding-inline:18px}.home-capabilities .expertise-line h3{font-size:28px}.home-capabilities .expertise-line p{font-size:16px}}
@media(max-width:600px){.home-capabilities .expertise-line{grid-template-columns:minmax(0,1fr) 44px;gap:12px 18px;padding:26px 12px;min-height:0}.home-capabilities .expertise-line h3{font-size:27px;grid-column:1;grid-row:1}.home-capabilities .expertise-line p{grid-column:1;grid-row:2;font-size:16px}.home-capabilities .expertise-line-action{grid-column:2;grid-row:1/3;width:44px;height:44px;margin:0}.home .agency-preview{padding-block:52px}.home .agency-preview-portrait img{height:auto;aspect-ratio:1.15}.agency-value-list{margin-block:22px 26px}.agency-value-list li{font-size:15px}}

.home .home-opening .brand-logos{display:flex;gap:36px;overflow-x:auto;scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:none;padding:4px 0;margin:0}
.home .brand-logos::-webkit-scrollbar{display:none}
.home .home-opening .brand-logos li{flex:0 0 140px;height:64px;scroll-snap-align:none}
.home .brand-controls{justify-content:flex-end;margin-top:4px}
.home .brand-controls .brand-pause{font-size:12px;font-weight:400;min-height:32px;padding:4px 8px}
@media(max-width:600px){.home .home-opening .brand-logos{gap:24px}.home .home-opening .brand-logos li{flex-basis:120px;height:54px}.home .brand-controls .brand-pause{min-height:44px}}
/* Motion supports the portfolio, without delaying access to content. */
.home-work-more{display:flex;justify-content:center;margin-top:44px}
.home .booking-band{background:#fff;color:var(--ink);padding:88px 0;position:relative;overflow:hidden}
.booking-inner{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(48px,8vw,120px);align-items:center;position:relative}
.home .booking-band h2{color:var(--blue);font-size:clamp(36px,4.4vw,62px);line-height:1.1;letter-spacing:-.05em;margin:24px 0}
.home .booking-band p,.home .booking-band .label{color:var(--ink)}
.home .booking-panel p{color:#fff}
.booking-heading>p:last-child{max-width:36ch;font-size:19px}
.booking-panel{padding:32px;background:var(--blue);color:#fff}
.booking-person{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.booking-person img{width:62px;height:62px;object-fit:cover;border-radius:50%}
.booking-person strong,.booking-person span{display:block}
.booking-person span{font-size:13px;opacity:.8}
.booking-panel>p{font-size:17px;margin-bottom:26px}
.home .booking-band .button{background:#fff;color:var(--blue);border-color:#fff;width:100%;justify-content:center}
.home .booking-band .button:hover{background:var(--ink);color:white;border-color:var(--ink)}
.home .booking-band a:focus-visible{outline:2px solid white;outline-offset:5px}
.booking-note{display:block;font-size:12px;line-height:1.6;margin-top:14px;opacity:.85}
.booking-band::before{content:'';position:absolute;left:0;top:0;width:100%;height:1px;background:var(--line);transform-origin:left}
@media(prefers-reduced-motion:no-preference){
 .project-image img,.featured-work-images img,.next-reference img{transition:transform .65s cubic-bezier(.2,.65,.3,1)}
 .project-image:hover img,.project-card:focus-within img,.featured-work-images:hover img,.next-reference a:hover img{transform:scale(1.025)}
 .text-link{transition:background-size .25s,color .25s;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px}
 .text-link:hover{background-size:45% 1px}
 .button{transition:background-color .22s,color .22s,border-color .22s,transform .22s}
 .button:active{transform:translateY(2px)}
 .media-enter{animation:media-unveil .7s cubic-bezier(.2,.65,.3,1) both}
 .booking-enter::before{animation:booking-line 1s cubic-bezier(.2,.65,.3,1) both}
 @keyframes media-unveil{from{clip-path:inset(5% 0 0 0);opacity:.65}to{clip-path:inset(0);opacity:1}}
 @keyframes booking-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}
@media(max-width:750px){.home .booking-band{padding:60px 0}.booking-inner{grid-template-columns:1fr;gap:34px}.booking-panel{padding:24px}.home .booking-band h2{font-size:40px}.home-work-more{margin-top:30px}}
/* Compact agency statement, editorial pause, one clear contact action. */
.agency-edge{display:grid;grid-template-columns:1.25fr 1fr;gap:80px;background:var(--blue);color:#fff;max-width:none;width:100%;padding:64px max(var(--gutter),calc((100% - 1184px)/2));margin:0}
.agency-edge .label,.agency-edge h2,.agency-edge p{color:#fff}
.agency-edge h2{font-size:clamp(32px,3.6vw,50px);line-height:1.12;letter-spacing:-.045em;margin:18px 0 0}
.agency-edge>div:last-child{align-self:center}.agency-edge>div:last-child p{font-size:19px;line-height:1.7;margin-bottom:24px}.agency-edge a:focus-visible{outline-color:#fff}
.home-journal{border-top:1px solid var(--line);padding-top:74px;padding-bottom:84px}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:40px}
.journal-card{display:flex;flex-direction:column;min-width:0}.journal-art{height:210px;background:var(--blue);position:relative;overflow:hidden;margin-bottom:22px;display:flex;align-items:center;justify-content:center}
.journal-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;margin-bottom:15px}
.journal-card h3{font-size:clamp(23px,2.2vw,30px);line-height:1.22;letter-spacing:-.035em;margin:0 0 15px;font-weight:400}.journal-card>p{font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 22px}.journal-read{display:flex;align-items:center;justify-content:space-between;margin-top:auto;color:var(--blue);font-size:14px;padding-block:13px;border-bottom:1px solid var(--line)}
.art-sheet{position:absolute;width:112px;height:142px;background:#fff;transform:rotate(-12deg) translateX(-26px)}.art-sheet:last-child{transform:rotate(9deg) translateX(25px);background:#fff;box-shadow:0 0 0 1px var(--blue)}.art-sheet:before{content:'';position:absolute;inset:26px 20px;background:repeating-linear-gradient(to bottom,var(--blue) 0 2px,transparent 2px 18px)}
.art-measure{align-items:flex-end;padding:40px 60px;gap:16px}.art-measure i{display:block;width:30px;border:1px solid #fff;height:35%}.art-measure i:nth-child(2){height:54%}.art-measure i:nth-child(3){height:73%}.art-measure i:nth-child(4){height:100%;background:#fff}
.art-ai{gap:0}.art-ai span{width:90px;height:90px;border:1px solid white;border-radius:50%;margin-inline:-15px}.art-ai span:nth-child(2){background:#fff}
.home .simple-booking{background:var(--blue);padding:72px 0;color:#fff}.simple-booking-inner{display:flex;align-items:center;justify-content:space-between;gap:60px}.home .simple-booking h2{font-size:clamp(56px,7vw,98px);line-height:.98;letter-spacing:-.06em;color:#fff;margin:22px 0 0}.home .simple-booking .label,.home .simple-booking p{color:#fff}
.booking-link{display:inline-flex;align-items:center;gap:36px;background:#fff;color:var(--blue);padding:10px 10px 10px 28px;border-radius:60px;font-size:18px;font-weight:600}.booking-arrow{display:grid;place-items:center;width:64px;height:64px;background:var(--blue);color:#fff;border-radius:50%;overflow:hidden}.simple-booking-action>p{font-size:13px;margin-top:18px;text-align:center}.booking-link:focus-visible{outline:3px solid white;outline-offset:7px}
.editorial{padding-block:64px 80px}.editorial-heading{max-width:960px;margin-bottom:64px}.editorial-heading h1{font-size:clamp(38px,5.3vw,72px);letter-spacing:-.05em;line-height:1.08;margin:20px 0 28px}.editorial-deck{font-size:22px;max-width:740px}.editorial-byline{font-size:13px;color:var(--muted);margin-top:24px}.editorial-layout{display:grid;grid-template-columns:240px minmax(0,740px);gap:70px;justify-content:space-between}.editorial-toc{position:sticky;top:120px;align-self:start;font-size:14px}.editorial-toc p{font-weight:600}.editorial-toc a{display:block;padding:12px 0;border-bottom:1px solid var(--line);line-height:1.5}.editorial-toc a:hover{color:var(--blue)}.editorial-body section{margin-bottom:52px;scroll-margin-top:120px}.editorial-body h2{font-size:30px;line-height:1.2;margin-bottom:22px;letter-spacing:-.03em}.editorial-body p,.editorial-body li{font-size:18px;line-height:1.85}.editorial-body p{margin-bottom:20px}.editorial-body ul{padding-left:22px}.editorial-body li{margin-bottom:14px}.editorial-body p a{text-decoration:underline;color:var(--blue)}.article-template{padding:28px;background:var(--soft);border-left:3px solid var(--blue);margin:28px 0}.article-template p:last-child{margin:0}.article-table{overflow-x:auto;margin:28px 0}.article-table table{width:100%;border-collapse:collapse;font-size:15px;min-width:540px}.article-table th,.article-table td{text-align:left;padding:16px;border-bottom:1px solid var(--line);vertical-align:top}.article-table th{background:var(--soft);color:var(--blue)}.editorial-next{background:var(--soft);padding:32px}.editorial-next a{display:table;margin-top:18px}
@media(prefers-reduced-motion:no-preference){.journal-art>*{transition:transform .4s}.journal-card:hover .art-sheet:first-child{transform:rotate(-18deg) translateX(-33px)}.journal-card:hover .art-sheet:last-child{transform:rotate(15deg) translateX(30px)}.journal-card:hover .art-measure i{transform:translateY(-6px)}.journal-card:hover .art-ai span:first-child{transform:translateX(-10px)}.journal-card:hover .art-ai span:last-child{transform:translateX(10px)}.booking-link,.booking-arrow{transition:background .25s,color .25s}.booking-arrow svg{transition:transform .3s}.booking-link:hover{background:var(--ink);color:#fff}.booking-link:hover .booking-arrow{background:#fff;color:var(--blue)}.booking-link:hover svg{transform:rotate(45deg)}}
@media(max-width:850px){.agency-edge{gap:32px;grid-template-columns:1fr}.journal-grid{gap:22px}.journal-art{height:170px}.art-measure{padding:30px;gap:10px}.editorial-layout{grid-template-columns:1fr;gap:36px}.editorial-toc{position:static}.simple-booking-inner{gap:38px;align-items:flex-start;flex-direction:column}.simple-booking-action>p{text-align:left}.home .simple-booking h2{font-size:72px}}
@media(max-width:600px){.agency-edge{padding:48px 24px}.agency-edge>div:last-child p{font-size:17px}.home-journal{padding-block:50px}.journal-grid{grid-template-columns:1fr;gap:38px}.journal-art{height:210px}.journal-card h3{font-size:28px}.journal-meta{font-size:13px}.home .simple-booking{padding:52px 0}.home .simple-booking h2{font-size:64px}.booking-link{font-size:16px;gap:20px;padding-left:22px}.booking-arrow{width:52px;height:52px}.editorial{padding-top:35px}.editorial-heading{margin-bottom:38px}.editorial-deck{font-size:19px}.editorial-body p,.editorial-body li{font-size:17px}.editorial-body h2{font-size:27px}.article-template,.editorial-next{padding:22px}}
.editorial-body{min-width:0}.editorial-layout{min-width:0}.editorial-body a{overflow-wrap:anywhere}
/* Portrait and editorial covers share the same restrained, tactile direction. */
.agency-edge{grid-template-columns:minmax(200px,290px) minmax(0,680px);justify-content:center;gap:clamp(36px,7vw,100px);align-items:center}
.agency-edge-portrait{margin:0;align-self:center}
.agency-edge-portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 35%}
.agency-edge-portrait figcaption{font-size:13px;line-height:1.6;padding-top:14px}
.agency-edge-portrait figcaption span{display:block;opacity:.8;font-size:12px}
.agency-edge .agency-edge-message>.label{font-size:13px;margin:0 0 20px}
.agency-edge .agency-edge-message>h2{margin:0 0 26px;font-size:clamp(34px,4vw,54px)}
.agency-edge .agency-edge-message>p:not(.label){max-width:49ch;font-size:18px;line-height:1.75;margin:0 0 28px}
.agency-edge .text-link,.agency-edge .text-link:hover{color:#fff;border-color:currentColor}
.journal-art{height:auto;aspect-ratio:3/2;background:var(--soft);padding:0}
.journal-art img{display:block;width:100%;height:100%;object-fit:cover}
.journal-card:focus-visible{outline:2px solid var(--blue);outline-offset:8px}
.editorial-heading{max-width:980px;margin-bottom:40px}
.editorial-cover{margin:0 0 64px}
.editorial-cover img{width:100%;height:auto;max-height:540px;aspect-ratio:2.2;object-fit:cover;display:block}
.editorial-cover figcaption{font-size:11px;color:var(--muted);margin-top:10px}
.editorial-toc{max-height:calc(100svh - 150px);overflow-y:auto;padding-right:12px;scrollbar-width:thin}
.editorial-toc a{font-size:13px;padding:10px 0}
.editorial-body h3{font-size:23px;line-height:1.35;margin:30px 0 16px;letter-spacing:-.025em}
.editorial-body ol{padding-left:25px}
.editorial-takeaways{padding:30px;border-top:2px solid var(--blue);background:var(--soft);margin-bottom:50px}
.editorial-takeaways .label{font-size:13px;color:var(--blue);margin:0 0 18px;font-weight:600}
.editorial-takeaways ul{padding-left:20px;margin-bottom:24px}
.editorial-takeaways li{font-size:17px;line-height:1.6;margin-bottom:12px}
.editorial-takeaways>a{font-size:14px;color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.article-table caption{text-align:left;font-size:14px;color:var(--muted);padding-bottom:14px}
.article-table:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.editorial-download{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:32px;background:var(--blue);color:#fff}
.editorial-download .label{font-size:12px;margin:0 0 18px;color:#fff}
.editorial-download h2{color:#fff;font-size:28px;margin-bottom:18px}
.editorial-download p:not(.label){color:#fff;font-size:16px;line-height:1.6;margin:0}
.editorial-download .button{background:#fff;color:var(--blue);border-color:#fff;gap:18px}
.editorial-download .button:hover{background:var(--ink);color:white;border-color:var(--ink)}
.editorial-download .button:focus-visible{outline:2px solid #fff;outline-offset:5px}
.editorial-download>span{grid-column:1/-1;font-size:12px;color:#fff}
.editorial-sources{padding-top:25px;border-top:1px solid var(--line)}
.editorial-sources>p,.editorial-sources li p{font-size:14px;line-height:1.7;color:var(--muted)}
.editorial-sources ul{list-style:none;padding:0}
.editorial-sources li{padding:18px 0;border-bottom:1px solid var(--line);margin:0}
.editorial-sources li>a{font-size:15px;color:var(--blue);text-decoration:underline;text-underline-offset:3px;line-height:1.6}
.editorial-sources li p{margin:8px 0 0}
@media(prefers-reduced-motion:no-preference){.journal-card:hover .journal-art img,.journal-card:focus-visible .journal-art img{transform:scale(1.025)}}
@media(max-width:850px){.agency-edge{grid-template-columns:220px 1fr;gap:32px}.agency-edge .agency-edge-message>h2{font-size:36px}.editorial-toc{max-height:none;overflow:visible;padding:0}.editorial-cover{margin-bottom:40px}.editorial-download{grid-template-columns:1fr}.editorial-download .button{justify-self:start}}
@media(max-width:600px){.agency-edge{grid-template-columns:1fr;gap:30px}.agency-edge-portrait{max-width:230px}.agency-edge .agency-edge-message>h2{font-size:37px}.agency-edge .agency-edge-message>p:not(.label){font-size:17px}.journal-art{height:auto}.editorial-cover img{aspect-ratio:3/2}.editorial-takeaways,.editorial-download{padding:24px}.editorial-takeaways li{font-size:16px}.editorial-byline{line-height:1.8}.editorial-toc{columns:1}.editorial-cover figcaption{font-size:10px}}

.journal-index main>.section{padding-top:0}.journal-index .journal-grid{margin-top:0}

/* Editorial journal: distinct imagery, quiet reading interface. */
.journal-read{align-self:flex-start;gap:22px;padding:12px 20px;border:0;border-radius:999px;background:#111;color:#fff;line-height:1.2}.journal-card:hover .journal-read,.journal-card:focus-visible .journal-read{background:var(--blue)}.journal-grid{row-gap:60px}.journal-index .journal-card>p{display:none}.editorial-cover img{aspect-ratio:3/2;max-height:650px;object-fit:cover}.journal-index .journal-art{aspect-ratio:3/2;height:auto}

/* Way-mark motion: show progress and the direction of an interaction. */
.reading-progress{position:absolute;inset:auto 0 -1px;height:2px;pointer-events:none;overflow:hidden}
.reading-progress span{display:block;width:100%;height:100%;background:var(--blue);transform:scaleX(0);transform-origin:left}
.site-header.has-scrolled{box-shadow:0 5px 20px rgb(24 40 65 / 5%)}
.pillar-page .section-nav{position:sticky;top:var(--header);z-index:20;background:white;margin-bottom:0}
.pillar-page #perimetre,.pillar-page #reference,.pillar-page #impact{scroll-margin-top:48px}
.home-capabilities .expertise-line{position:relative}
.home-capabilities .expertise-line::after{content:'';position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:left;pointer-events:none}
.home-capabilities .expertise-line:hover::after,.home-capabilities .expertise-line:focus-visible::after{transform:scaleX(1)}
.home-capabilities .expertise-line:hover .expertise-line-action,.home-capabilities .expertise-line:focus-visible .expertise-line-action{background:white;color:var(--blue);border-color:white}
.booking-link:focus-visible{outline:3px solid var(--blue);outline-offset:6px}
@media(prefers-reduced-motion:no-preference){
 .site-header{transition:box-shadow .2s ease}
 .home-capabilities .expertise-line{transition:background-color .24s ease,color .24s ease}
 .home-capabilities .expertise-line p,.home-capabilities .expertise-line-action{transition:color .24s ease,background-color .24s ease,border-color .24s ease}
 .expertise-line-action svg{transition:transform .24s ease}
 .expertise-line:hover .expertise-line-action svg,.expertise-line:focus-visible .expertise-line-action svg{transform:translateX(3px)}
 .lines-enter .expertise-line::after{animation:expertise-connect .8s cubic-bezier(.2,.65,.3,1)}
 .lines-enter .expertise-line:nth-child(2)::after{animation-delay:.1s}
 .lines-enter .expertise-line:nth-child(3)::after{animation-delay:.2s}
 .lines-enter .expertise-line:nth-child(4)::after{animation-delay:.3s}
 @keyframes expertise-connect{0%{transform:scaleX(0)}65%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
 .nav-expertises[open] .expertise-menu{animation:menu-appear .18s ease-out}
 @keyframes menu-appear{from{opacity:.5;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
}
@media(prefers-reduced-motion:reduce){.reading-progress{display:none}.expertise-line::after{animation:none!important}}
@media(max-width:600px){.pillar-page .section-nav{gap:4px 16px}.pillar-page .section-nav a{font-size:12px;min-height:44px}}

/* Expertise pages: a promise, visible work, scope and relevant evidence. */
.service-opening{padding-block:38px 54px}.service-opening>div{display:grid;grid-template-columns:1.35fr 1fr;gap:70px;align-items:end}.service-opening h1{font-size:clamp(42px,5vw,72px);line-height:1.08;letter-spacing:-.055em;margin:12px 0 0;max-width:760px;font-weight:500}.service-opening>div>div>p{font-size:19px;line-height:1.65;margin:0 0 28px;max-width:510px}.service-opening .button{background:var(--ink);border-color:var(--ink)}.service-opening .button:hover{background:var(--blue);border-color:var(--blue)}
.service-visuals{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:44px}.service-visual{display:block;overflow:hidden}.service-visual>img{width:100%;height:340px;object-fit:cover}.service-visual>span{display:flex;align-items:center;gap:16px;padding-top:14px;font-size:13px}.service-visual strong{font-size:17px;font-weight:600}.service-visual>span>span:last-child{margin-left:auto;font-size:24px}.service-visual>span>span:not(:last-child){color:var(--muted)}
.service-concept{margin-block:0 40px}.service-concept img{width:100%;height:360px;object-fit:cover;object-position:center 43%}.service-concept figcaption{font-size:12px;color:var(--muted);margin-top:12px}
.service-offer .section-heading h2,.service-evidence h2,.service-reading h2{font-size:clamp(32px,3.6vw,48px);line-height:1.15;max-width:580px}.service-offer-rows>div{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:28px 0;border-top:1px solid var(--line)}.service-offer-rows>div:last-child{border-bottom:1px solid var(--line)}.service-offer-rows h3{font-size:25px;font-weight:500;margin:0}.service-offer-rows p{margin:0;color:var(--muted);max-width:560px}
.service-evidence{padding-top:20px}.service-case-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.service-case-image{overflow:hidden;background:var(--soft)}.service-case-image img{width:100%;height:340px;object-fit:cover}.service-case-image.is-logo img{object-fit:contain;padding:65px;background:var(--soft)}.service-case-copy{padding:22px 0}.service-case-copy .label{font-size:13px;margin-bottom:9px}.service-case h3{font-size:32px;font-weight:500;margin:0 0 6px}.service-case-copy>p:not(.label){color:var(--muted);margin:0 0 18px}.service-case-single{grid-template-columns:1fr}.service-case-single .service-case{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.service-case-single .service-case-image img{height:290px}.service-reading{border-top:1px solid var(--line)}.service-reading .journal-grid{grid-template-columns:1fr 1fr}.service-reading .journal-art{height:auto;aspect-ratio:16/9}.service-reading .journal-card h3{max-width:590px}.service-reading .journal-card>p{display:none}.service-page #lectures{scroll-margin-top:48px}
.expertise-visual-directory{padding-block:30px 80px;display:grid;grid-template-columns:1fr 1fr;gap:65px 30px}.directory-visual{display:block;overflow:hidden}.directory-visual img{width:100%;height:320px;object-fit:cover}.expertise-visual-directory h2{font-size:34px;margin:24px 0 12px;font-weight:500}.expertise-visual-directory p{color:var(--muted);max-width:510px;margin:0 0 22px}
.service-case:focus-visible,.service-visual:focus-visible,.directory-visual:focus-visible{outline:3px solid var(--blue);outline-offset:6px}
@media(prefers-reduced-motion:no-preference){.service-case-image img,.directory-visual img,.service-visual>img{transition:transform .5s ease}.service-case:hover img,.directory-visual:hover img,.service-visual:hover>img{transform:scale(1.025)}}
@media(max-width:850px){.service-opening>div{gap:32px;grid-template-columns:1fr 1fr}.service-opening>div>div>p{font-size:17px}.service-visual>img,.service-case-image img{height:260px}.service-visual>span{flex-wrap:wrap;gap:6px 12px}.service-visual>span>span:not(:last-child){flex-basis:100%;order:3}.service-offer-rows>div{gap:30px}.service-case-single .service-case{gap:30px}.directory-visual img{height:240px}}
@media(max-width:600px){.service-opening{padding-block:24px 32px}.service-opening>div{grid-template-columns:1fr;gap:24px}.service-opening h1{font-size:42px;line-height:1.1}.service-opening>div>div>p{font-size:17px}.service-visuals{gap:14px;margin-bottom:30px}.service-visual>img{height:220px}.service-visual strong{font-size:15px}.service-visual>span>span:not(:last-child){font-size:12px}.service-concept img{height:290px}.service-offer-rows>div{grid-template-columns:1fr;gap:12px;padding:24px 0}.service-offer-rows h3{font-size:23px}.service-case-grid,.service-case-single .service-case,.service-reading .journal-grid,.expertise-visual-directory{grid-template-columns:1fr}.service-case-grid{gap:24px}.service-case-single .service-case{gap:0}.service-case-copy{padding-block:20px}.service-case-image img{height:280px}.service-reading .section-heading{gap:20px}.expertise-visual-directory{gap:45px;padding-top:0}.directory-visual img{height:270px}.service-page .section-nav{gap:14px;flex-wrap:nowrap;justify-content:space-between}.service-page .section-nav a{font-size:11px}.service-evidence{padding-top:10px}}

.expertise-photo img{height:auto;aspect-ratio:2.35/1;object-fit:cover;object-position:center}.expertise-image-credit{grid-column:1/-1;font-size:12px;margin:0;color:var(--muted)}.expertise-visual-directory .directory-visual img{height:auto;aspect-ratio:3/2;object-fit:cover}@media(max-width:600px){.expertise-photo img{aspect-ratio:3/2;height:auto}}

/* Editorial agency identity: generous photography, quiet copy, real work separate. */
.agency-editorial{border-top:1px solid var(--line)}
.agency-editorial .section-heading{align-items:start;gap:70px;margin-bottom:44px}
.agency-editorial h2{font-size:clamp(34px,4.1vw,58px);line-height:1.13;letter-spacing:-.045em}
.agency-editorial .section-heading>div:last-child>p{font-size:18px;line-height:1.75;margin:0 0 25px;max-width:520px}
.editorial-studio{margin:0}.editorial-studio img{display:block;width:100%;height:auto;aspect-ratio:1.95/1;object-fit:cover;object-position:center 48%}
.editorial-studio figcaption,.editorial-credit{font-size:12px;line-height:1.6;color:var(--muted);margin-top:12px}
.agency-editorial-bottom{display:flex;justify-content:space-between;gap:40px;align-items:center;padding-top:30px}.agency-editorial-bottom>p{font-size:21px;line-height:1.5;margin:0}
.founder-signature{display:flex;align-items:center;gap:16px;font-size:15px}.founder-signature img{width:64px;height:76px;object-fit:cover;object-position:center 30%}.founder-signature small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.founder-signature>span:last-child{font-size:24px;color:var(--blue);margin-left:20px}.founder-signature:focus-visible{outline:2px solid var(--blue);outline-offset:8px}
.agency-culture{border-bottom:1px solid var(--line)}.agency-culture h2{font-size:clamp(34px,3.8vw,52px);line-height:1.15}.culture-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:26px;align-items:start}.culture-grid figure{margin:0}.culture-grid img{width:100%;height:350px;object-fit:cover}.culture-grid figure:nth-child(2){padding-top:60px}.culture-grid figure:nth-child(3){padding-top:120px}.culture-grid h3{font-size:24px;line-height:1.25;font-weight:500;margin:22px 0 10px}.culture-grid p{font-size:15px;line-height:1.7;color:var(--muted);margin:0}.agency-culture .editorial-credit{margin-top:30px}
@media(max-width:850px){.agency-editorial .section-heading{gap:30px}.agency-editorial .section-heading>div:last-child>p{font-size:17px}.culture-grid{gap:20px;grid-template-columns:1fr 1fr 1fr}.culture-grid img{height:240px}.culture-grid h3{font-size:22px}.founder-signature>span:last-child{margin-left:0}}
@media(max-width:600px){.agency-editorial .section-heading{gap:24px;margin-bottom:30px}.editorial-studio img{aspect-ratio:4/3;object-position:52% center}.agency-editorial-bottom{align-items:start;flex-direction:column;gap:24px;padding-top:22px}.agency-editorial-bottom>p{font-size:19px}.founder-signature{width:100%}.founder-signature>span:last-child{margin-left:auto}.culture-grid{grid-template-columns:1fr;gap:34px}.culture-grid figure:nth-child(2),.culture-grid figure:nth-child(3){padding-top:0}.culture-grid img{height:auto;aspect-ratio:3/2}.culture-grid h3{margin-top:18px}.agency-culture .section-heading{gap:24px}}

/* Real editorial photographs: frame the creative gesture and keep faces visible. */
.expertise-photo img{aspect-ratio:1.9/1}
img[src*="expertise-creation-v29"]{object-position:50% 60%}
img[src*="expertise-strategie-v29"]{object-position:50% 42%}
.editorial-studio img{object-position:50% 45%}
.editorial-studio figcaption a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.expertise-photo img{aspect-ratio:3/2}}

/* Expertise reading rhythm: one clear sequence on all four pages. */
.service-page .service-offer,.service-page .service-evidence,.service-page .service-reading{padding-block:72px}
.service-page .service-evidence,.service-page .service-reading{border-top:1px solid var(--line)}
.service-page .section-heading{align-items:start;margin-bottom:40px}
.service-page .section-heading .label{margin:0 0 18px;color:var(--blue)}
.service-page .service-offer-rows>div{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;padding:32px 0}
.service-offer-detail>p{max-width:620px}
.service-examples{padding:0;margin:20px 0 0;list-style:none;display:flex;flex-wrap:wrap;gap:8px 24px}
.service-examples li{font-size:15px;line-height:1.7;color:var(--ink);position:relative;padding-left:14px}
.service-examples li::before{content:'·';position:absolute;left:0;color:var(--blue);font-weight:700}
.service-page .service-open-scope{font-size:15px;line-height:1.65;max-width:650px;color:var(--muted);margin:24px 0 0}
.service-page #perimetre,.service-page #reference,.service-page #lectures{scroll-margin-top:calc(var(--header) + 70px)}
.service-page .section-nav{gap:32px}
.service-page .section-nav a{font-size:14px;min-height:44px;display:flex;align-items:center}
.photo-credits{padding:0 0 28px;color:var(--muted);font-size:13px;line-height:1.7}
.photo-credits summary{cursor:pointer;width:fit-content;min-height:36px;padding:6px 0}
.photo-credits summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.photo-credits>div{max-width:820px;padding:8px 0 0}.photo-credits p{margin:0 0 10px}.photo-credits a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){
 .service-page .service-offer,.service-page .service-evidence,.service-page .service-reading{padding-block:44px}
 .service-page .section-heading{gap:18px;margin-bottom:28px}
 .service-page .service-offer-rows>div{grid-template-columns:1fr;gap:12px;padding:26px 0}
 .service-examples{display:block;margin-top:14px}.service-examples li{margin-top:6px}
 .service-page .section-nav{gap:18px;justify-content:flex-start}.service-page .section-nav a{font-size:14px}
}

/* Interactive service rows, native details for touch and keyboard. */
.service-disclosure{border-top:1px solid var(--line)}.service-disclosure:last-child{border-bottom:1px solid var(--line)}
.service-disclosure summary{list-style:none;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) 24px;gap:32px;align-items:start;padding:30px 16px;cursor:pointer}
.service-disclosure summary::-webkit-details-marker{display:none}
.service-disclosure summary h3{font-size:25px;font-weight:500;margin:0}
.service-disclosure summary p{margin:0;color:var(--muted)}
.service-disclosure summary:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.service-toggle{font-size:24px;color:var(--blue);line-height:1.3;text-align:center}
.service-disclosure[open]{background:#f5f7ff}.service-disclosure[open] h3{color:var(--blue)}.service-disclosure[open] .service-toggle{transform:rotate(45deg)}
.service-reveal{padding:0 72px 28px calc(40% + 6px)}.service-reveal .service-examples{margin:0}
.simple-booking{background:var(--blue);padding:72px 0;color:#fff}.simple-booking h2{font-size:clamp(52px,7vw,98px);line-height:.98;letter-spacing:-.06em;color:#fff;margin:22px 0 0}.simple-booking .label,.simple-booking p{color:#fff}.simple-booking .booking-link:focus-visible{outline-color:white}
.legal-content{max-width:900px}.legal-content h1{font-size:clamp(40px,6vw,70px);line-height:1.1}.legal-content section{padding-block:28px;border-bottom:1px solid var(--line)}.legal-content h2{font-size:28px}.legal-content p{line-height:1.8}.legal-content a{text-decoration:underline;text-underline-offset:3px}
@media(prefers-reduced-motion:no-preference){.service-disclosure{transition:background .2s}.service-toggle{transition:transform .2s}.service-disclosure[open] .service-examples{animation:examples-in .22s ease both}@keyframes examples-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}}
@media(max-width:600px){.service-disclosure summary{grid-template-columns:1fr 24px;gap:12px;padding:24px 12px}.service-disclosure summary h3{font-size:23px}.service-disclosure summary p{grid-column:1;grid-row:2}.service-toggle{grid-column:2;grid-row:1}.service-reveal{padding:0 12px 24px}.simple-booking{padding:52px 0}.simple-booking h2{font-size:64px}}

/* One editorial grid from opening through proof, related expertise and contact. */
.service-page .service-opening{padding-block:40px 44px}
.service-page .service-opening>div{grid-template-columns:1fr 1fr;align-items:start;gap:64px}
.service-page .service-opening h1{margin-top:0;max-width:620px;font-size:clamp(40px,4.8vw,68px)}
.service-page .service-opening>div>div>p{margin-bottom:24px}
.service-page .expertise-photo{margin-bottom:0}.service-page .expertise-photo img{aspect-ratio:auto;height:clamp(300px,35vw,480px)}
.service-page .section-nav{border-top:0;padding-block:8px}
.service-page .service-offer,.service-page .service-evidence{padding-block:64px}
.service-page .service-evidence .section-heading{margin-bottom:32px}
.service-connections{background:#f5f7ff;border-top:1px solid var(--line);padding:64px 0}
.service-connections-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.service-connections .label{color:var(--blue);margin:0 0 18px}
.service-connections h2{font-size:clamp(32px,3.6vw,48px);font-weight:500;letter-spacing:-.04em;line-height:1.12;margin:0 0 24px}
.service-connections-inner>div>p:last-child{max-width:410px;color:var(--muted);margin:0}
.service-connections nav a{display:grid;grid-template-columns:1fr 24px;gap:9px 20px;padding:24px 0;border-bottom:1px solid var(--line);text-decoration:none}
.service-connections nav a:first-child{border-top:1px solid var(--line)}
.service-connections nav a>span:first-child{font-size:25px;line-height:1.25;letter-spacing:-.03em}
.service-connections nav p{grid-column:1;grid-row:2;font-size:15px;line-height:1.6;margin:0;color:var(--muted)}
.connection-cue{grid-column:2;grid-row:1;color:var(--blue);font-size:24px}
.service-connections nav a:hover>span:first-child{color:var(--blue)}
.service-connections nav a:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
@media(prefers-reduced-motion:no-preference){.service-connections nav a>span{transition:color .2s,transform .2s}.service-connections nav a:hover .connection-cue{transform:rotate(90deg)}}
@media(max-width:700px){.service-page .service-opening>div,.service-connections-inner{grid-template-columns:1fr;gap:26px}.service-page .service-opening{padding-block:26px 32px}.service-page .expertise-photo img{height:280px}.service-page .service-offer,.service-page .service-evidence{padding-block:44px}.service-connections{padding:44px 0}.service-connections nav a{padding:22px 0}.service-connections h2{margin-bottom:18px}}

/* Positionnement : conserver la composition, laisser respirer le discours. */
.home-opening .value-hero h1{max-width:1200px;line-height:1.06}
.home-opening .value-hero-bottom .hero-subtitle{max-width:590px;text-wrap:pretty}
@media(max-width:850px){.home-opening .value-hero-bottom .hero-subtitle{max-width:480px}}
@media(max-width:600px){.hero-line-break{display:none}.home-opening .value-hero h1{text-wrap:balance}.home-opening .value-hero-bottom .hero-subtitle{max-width:none}}

.founder-editorial img{object-position:57% 38%}
.agency-editorial-bottom>p{max-width:680px}
@media(max-width:600px){.founder-editorial img{object-position:57% center}}

/* Journal de la home : une lecture principale, deux prolongements. */
.home .home-journal{padding-block:72px 80px}
.journal-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:38px}
.journal-heading h2{font-size:clamp(36px,4vw,54px);line-height:1.12;margin:18px 0 0;letter-spacing:-.045em}
.journal-heading>.text-link{flex-shrink:0}
.journal-selection{display:grid;grid-template-columns:1.1fr 1fr;gap:64px}
.journal-feature,.journal-compact{display:block;min-width:0}
.journal-selection-image{overflow:hidden;background:var(--soft)}
.journal-selection-image img{display:block;width:100%;height:100%;object-fit:cover}
.journal-feature>.journal-selection-image{aspect-ratio:2/1;margin-bottom:22px}
.journal-selection .journal-meta{display:flex;justify-content:flex-start;gap:18px;font-size:12px;margin-bottom:12px}
.journal-feature h3{font-size:clamp(25px,2.5vw,34px);line-height:1.22;letter-spacing:-.035em;margin:0 0 14px;font-weight:400}
.journal-feature>p{font-size:15px;line-height:1.65;color:var(--muted);max-width:52ch;margin:0 0 20px}
.journal-inline-link{display:inline-flex;align-items:center;gap:20px;font-size:14px;color:var(--blue)}
.journal-secondary>.label{margin-bottom:8px}
.journal-compact{display:grid;grid-template-columns:1fr 112px;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}
.journal-compact .journal-selection-image{aspect-ratio:1}
.journal-compact h3{font-size:clamp(21px,2vw,27px);font-weight:400;line-height:1.25;letter-spacing:-.03em;margin:0 0 18px}
.journal-editorial-note{font-size:14px;line-height:1.65;color:var(--muted);margin:24px 0 0;max-width:38ch}
.journal-feature:focus-visible,.journal-compact:focus-visible{outline:2px solid var(--blue);outline-offset:6px}
.journal-feature:hover h3,.journal-compact:hover h3{color:var(--blue)}
@media(prefers-reduced-motion:no-preference){.journal-selection-image img{transition:transform .35s}.journal-feature:hover img,.journal-compact:hover img{transform:scale(1.025)}}
.home .home-booking{background:var(--blue);color:white;padding:64px 0}
.home .home-booking h2{font-size:clamp(42px,5.2vw,72px);line-height:1.08;letter-spacing:-.05em;margin:18px 0 0;color:white}
.home .home-booking .booking-intro{font-size:18px;line-height:1.6;margin:20px 0 0;max-width:430px}
.home-booking .simple-booking-action{flex-shrink:0}
.home-booking .booking-link{white-space:nowrap}
@media(max-width:850px){.journal-selection{gap:32px}.journal-compact{grid-template-columns:1fr 86px;gap:16px}.journal-selection .journal-meta{flex-wrap:wrap;gap:6px 12px}}
@media(max-width:600px){.home .home-journal{padding-block:48px}.journal-heading{display:block;margin-bottom:28px}.journal-heading>.text-link{margin-top:24px}.journal-selection{grid-template-columns:1fr;gap:36px}.journal-compact{grid-template-columns:1fr 88px;padding-block:24px}.journal-feature h3{font-size:27px}.journal-compact h3{font-size:22px}.journal-editorial-note{margin-top:20px}.home .home-booking{padding-block:48px}.home .home-booking h2{font-size:44px}.home .home-booking .booking-intro{font-size:16px}}

.value-hero-bottom .hero-subtitle{font-weight:400;letter-spacing:normal;margin:0}

/* Agency editorial: conviction, author, principles, execution, then evidence. */
.agency-page{--agency-section-space:88px;--agency-column-gap:72px}
.agency-manifesto{padding-block:42px 58px}
.agency-manifesto h1{max-width:960px;font-size:clamp(40px,5.1vw,70px);line-height:1.13;letter-spacing:-.045em;font-weight:500;color:var(--ink);margin:24px 0}
.manifesto-intro{max-width:760px;font-size:21px;line-height:1.65;color:var(--muted)}
.agency-vision{display:grid;grid-template-columns:minmax(200px,.65fr) minmax(0,1.35fr);gap:var(--agency-column-gap);align-items:center;padding-block:var(--agency-section-space)}
.agency-vision figure{margin:0;max-width:360px}
.agency-vision figure img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 28%}
.agency-vision figcaption{display:flex;flex-direction:column;gap:4px;padding-top:16px;font-size:13px;color:var(--muted)}
.agency-vision figcaption strong{font-size:16px;font-weight:500;color:var(--ink)}
.agency-vision h2,.agency-principles h2,.agency-delivery h2,.agency-proof h2{font-size:clamp(30px,3.4vw,46px);line-height:1.2;letter-spacing:-.04em;font-weight:500;margin:0 0 24px}
.agency-vision-copy{max-width:660px}
.agency-vision-copy>p:not(.label){font-size:18px;line-height:1.75;margin-bottom:20px;color:var(--muted)}
.agency-vision-copy>p.agency-vision-statement{color:var(--ink);border-left:2px solid var(--blue);padding-left:22px;margin-block:28px}
.agency-principles{background:var(--blue);color:white;padding-block:var(--agency-section-space)}
.agency-principles-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--agency-column-gap)}
.agency-principles .label,.agency-principles h2,.agency-principles p{color:white}
.agency-principles-layout>div:first-child>p:last-child{max-width:320px;line-height:1.7}
.agency-principles article{padding-block:26px;border-top:1px solid #ffffff50}
.agency-principles article:first-child{padding-top:0;border-top:0}
.agency-principles article:last-child{padding-bottom:0}
.agency-principles h3{font-size:25px;line-height:1.3;font-weight:500;letter-spacing:-.02em;margin:0 0 13px}
.agency-principles article p{line-height:1.75;margin:0;max-width:620px}
.agency-delivery{padding-block:var(--agency-section-space)}
.agency-delivery-heading{display:grid;grid-template-columns:1fr 1fr;gap:12px var(--agency-column-gap);margin-bottom:40px}
.agency-delivery-heading .label{grid-column:1/-1}
.agency-delivery-heading h2{margin:0}
.agency-delivery-heading>p:last-child{max-width:510px;line-height:1.75;color:var(--muted);align-self:end;margin:0}
.agency-delivery-list{list-style:none;margin:0;padding:0}
.agency-delivery-list li{display:grid;grid-template-columns:1.4fr .6fr;gap:var(--agency-column-gap);padding-block:30px;border-top:1px solid var(--line);align-items:center;scroll-margin-top:calc(var(--header) + 30px)}
.agency-delivery-list h3{font-size:24px;font-weight:500;letter-spacing:-.025em;margin:0 0 12px}
.agency-delivery-list li>div>p{color:var(--muted);max-width:700px;line-height:1.75;margin:0}
.delivery-result{color:var(--blue);font-size:18px;line-height:1.55;max-width:260px;margin:0}
.agency-technology-note{margin-top:30px;padding-top:30px;border-top:1px solid var(--line);display:grid;grid-template-columns:.65fr 1.35fr;gap:8px var(--agency-column-gap)}
.agency-technology-note>p:nth-child(2){color:var(--muted);line-height:1.75;margin:0 0 16px}
.agency-technology-note .text-link{grid-column:2;justify-self:start}
.agency-proof{padding-block:0 var(--agency-section-space)}
.agency-proof-heading h2{max-width:700px}
.agency-proof-heading>p:last-child{max-width:660px;color:var(--muted);margin-bottom:38px;line-height:1.7}
.agency-page .agency-proof .brand-band{margin-bottom:32px}
.agency-proof-cases>.text-link{margin-top:28px}
@media(max-width:850px){.agency-page{--agency-column-gap:36px;--agency-section-space:64px}.agency-vision{grid-template-columns:.75fr 1.25fr}.agency-vision-copy>p:not(.label){font-size:16px}}
@media(max-width:600px){
 .agency-page{--agency-section-space:48px;--agency-column-gap:24px}
 .agency-manifesto{padding-block:26px 32px}.agency-manifesto h1{font-size:38px;margin-block:18px}.manifesto-intro{font-size:17px}
 .agency-vision{grid-template-columns:1fr;gap:30px}.agency-vision figure{max-width:none;display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:end}.agency-vision figcaption{padding:0}
 .agency-principles-layout,.agency-delivery-heading{grid-template-columns:1fr;gap:24px}.agency-principles-layout>div:first-child>p:last-child{max-width:none}
 .agency-principles article:first-child{padding-top:26px;border-top:1px solid #ffffff50}
 .agency-delivery-list li{grid-template-columns:1fr;gap:16px;padding-block:26px}.delivery-result{font-size:16px;max-width:none}
 .agency-technology-note{grid-template-columns:1fr;gap:12px}.agency-technology-note .text-link{grid-column:1}
 .agency-proof{padding-top:0}
}
/* Local campaign assets and agency proof: no remote embeds or autoplay. */
.case-media-section{--media-gap:24px}
.campaign-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px var(--media-gap);align-items:start}
.campaign-item{margin:0;min-width:0}
.campaign-item img,.campaign-item video{display:block;width:100%;height:auto;background:var(--ink);max-height:640px;object-fit:contain}
.campaign-item figcaption{font-size:13px;color:var(--muted);padding-top:12px}
.campaign-gallery:has(>.campaign-item:only-child){grid-template-columns:minmax(0,1fr)}
.case-page .case-logo>div{background:#000}
.case-page .case-logo img{padding:0;width:100%;height:auto;max-height:none;object-fit:cover}
.references-index .logo-image,.next-reference a:has(img[src$="filorga.webp"]),.service-case-image:has(img[src$="filorga.webp"]){background:#000}
.references-index .logo-image img,.next-reference img[src$="filorga.webp"],.service-case-image.is-logo img[src$="filorga.webp"]{width:100%;height:100%;padding:0;object-fit:cover;background:#000}
.agency-page .brand-band{margin-block:0 40px;background:white;padding-block:30px}
.agency-page .brand-gallery{min-width:0}
.agency-page .brand-proof p{text-align:left;margin:0;max-width:none}
.agency-page .brand-proof .brand-proof-label{font-size:12px;margin-bottom:5px}
.agency-page .brand-proof .brand-proof-number{display:flex;align-items:baseline;gap:10px;color:var(--blue);line-height:1.15;white-space:nowrap}
.agency-page .brand-proof .brand-proof-scope{font-size:12px;line-height:1.65;margin-top:8px;color:var(--muted)}
.agency-page .brand-logos{display:flex;flex-wrap:nowrap;justify-content:normal;gap:36px;overflow-x:auto;scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:none;padding:4px 0;margin:0}
.agency-page .brand-logos::-webkit-scrollbar{display:none}
.agency-page .brand-logos li{flex:0 0 140px;width:auto;height:64px}
.agency-page .brand-logos img{width:100%;max-width:136px;height:42px;object-fit:contain;filter:none;opacity:1}
.agency-page .brand-logos img.compact{max-width:72px;height:54px}
.agency-page .brand-logos img.legacy{filter:brightness(0) saturate(100%) invert(23%) sepia(98%) saturate(4232%) hue-rotate(232deg) brightness(105%) contrast(102%)}
.agency-page .brand-logos img.raster-blue{filter:url(#brand-blue)}
.agency-page .agency-opening{padding-bottom:56px}
@media(max-width:700px){.campaign-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.agency-page .brand-band{margin-bottom:24px}}
@media(max-width:460px){.campaign-gallery{grid-template-columns:1fr}.campaign-item video{max-height:70svh}}
/* Internal-page wayfinding: compact bridges, with no changes to home components. */
.expertise-directory-nav{display:flex;flex-wrap:wrap;gap:12px 32px;padding-block:0 32px;border-bottom:1px solid var(--line);margin-bottom:32px}
.expertise-directory-nav a{display:flex;align-items:center;gap:18px;min-height:44px;color:var(--blue)}
.expertise-directory-nav a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.expertise-index .expertise-visual-directory article{scroll-margin-top:calc(var(--header) + 24px)}
.service-connections-compact{--connection-gap:32px;padding-block:40px;background:white}
.service-connections-compact .service-connections-inner{display:block}
.service-connections-compact h2{font-size:28px;margin-bottom:24px}
.service-connections-compact .label{margin-bottom:12px}
.service-connections-compact nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--connection-gap)}
.service-connections-compact nav a{border-top:1px solid var(--line);padding-block:20px}
.service-connections-compact nav a>span:first-child{font-size:22px}
.service-connections-compact nav a:hover .connection-cue{transform:translate(2px,-2px)}
.case-page .case-story aside .label{font-size:12px;color:var(--blue);margin-bottom:16px}
.case-page .case-meta{grid-template-columns:1fr 1fr 1.6fr}
@media(max-width:700px){
 .service-connections-compact nav{grid-template-columns:1fr;gap:0}
 .service-connections-compact nav a:not(:first-child){border-top:0}
 .service-connections-compact{padding-block:32px}
 .service-connections-compact h2{font-size:26px}
 .expertise-directory-nav{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}
 .expertise-directory-nav a{justify-content:space-between;font-size:14px}
 .case-page .case-meta{grid-template-columns:1fr 1fr}
}
/* Agence : sélection compacte, distincte du portfolio et des cas de la home. */
.agency-reference-list{--reference-thumb:132px;--reference-gap:28px;border-top:1px solid var(--line)}
.agency-reference-row{display:grid;grid-template-columns:var(--reference-thumb) 1fr auto;gap:var(--reference-gap);align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}
.agency-reference-row>img{width:100%;height:100px;object-fit:cover}
.agency-reference-row>span:nth-child(2){display:grid;gap:8px}
.agency-reference-row .label{margin:0;font-size:12px}
.agency-reference-row strong{font-size:28px;font-weight:500;letter-spacing:-.03em}
.agency-reference-row>span:nth-child(2)>span:last-child{font-size:15px;color:var(--muted)}
.agency-reference-action{color:var(--blue);font-size:14px;display:flex;gap:20px;align-items:center}
.agency-reference-row:hover strong{color:var(--blue)}
.agency-reference-row:focus-visible{outline:2px solid var(--blue);outline-offset:6px}
@media(max-width:600px){.agency-reference-list{--reference-thumb:88px;--reference-gap:18px}.agency-reference-row{grid-template-columns:var(--reference-thumb) 1fr}.agency-reference-row>img{height:88px}.agency-reference-row strong{font-size:23px}.agency-reference-action{grid-column:2}}

/* Portfolio imagery keeps its original framing. */
.campaign-gallery-editorial{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px var(--media-gap)}
.campaign-gallery-editorial figcaption{font-size:14px;line-height:1.6;max-width:52ch}
@media(max-width:700px){.campaign-gallery-editorial{grid-template-columns:1fr;gap:32px}}

/* Case media: native proportions in detail; intentional portrait crops in cards. */
.case-page .case-visual>div{background:transparent}
.case-page .case-visual img,.case-page .case-brand-logo img,.case-page .case-logo img{display:block;width:100%;height:auto;max-height:none;padding:0;aspect-ratio:auto;object-fit:contain}
.case-page .case-portrait{max-width:680px}
.case-page .case-paired img{width:100%;height:auto;aspect-ratio:auto;align-self:start}
.campaign-item img,.campaign-item video{height:auto;max-height:none;background:transparent;object-fit:contain}
.project-image.brand-logo-cover,.service-case-image.brand-logo-cover{aspect-ratio:3/2;background:transparent}
.project-image.brand-logo-cover img,.service-case-image.brand-logo-cover img,.service-case-image.is-logo img,.project-image.logo-image img{display:block;width:100%;height:100%;padding:0;object-fit:cover;max-height:none}
.service-case-single .service-case-image.brand-logo-cover img{height:100%}
.next-reference a:has(img){overflow:hidden;align-self:start}
.next-reference img{height:auto;max-height:none;display:block}
.project-image img,.service-case-image img{object-position:50% 15%}
.project-image img[src$="tropicana-still.webp"],.service-case-image img[src$="tropicana-still.webp"]{object-position:50% 12%}
.project-image img[src$="fdj-still.webp"],.service-case-image img[src$="fdj-still.webp"]{object-position:50% 12%}
.supporting-work .project-image img{object-position:50% 10%}
.project-image.brand-logo-cover img,.service-case-image.brand-logo-cover img{object-position:center}
.project-image img[src$="drafty-case.webp"]{object-fit:contain;background:rgb(231,46,49)}
.expertise-photo img,.editorial-studio img,.service-concept img{height:auto;max-height:none;aspect-ratio:auto}
@media(max-width:700px){.case-page .case-portrait{max-width:100%}.case-page .case-paired>div{gap:12px}}

/* Audit finish: logo plates are compact; campaign photography keeps native framing. */
.case-page .case-brand-logo{--logo-detail-height:400px}
.case-page .case-brand-logo img{aspect-ratio:3/1;max-height:var(--logo-detail-height);object-fit:contain}
.service-case-image.brand-logo-cover{height:auto;aspect-ratio:3/1;background:var(--white)}
.service-case-image.brand-logo-cover img{object-fit:cover;height:100%}
.project-caption .project-card-title{font-weight:500;line-height:1.2;letter-spacing:-.035em}
@media(max-width:600px){.case-page .case-brand-logo{--logo-detail-height:220px}.case-page .case-brand-logo img{aspect-ratio:3/1}}
.reference-row-arrow{display:inline-block;margin-left:16px;color:var(--blue);font-size:.7em}.secondary-experience dt a:hover,.secondary-experience dt a:focus-visible{color:var(--blue)}.case-key-figures{border-top:1px solid var(--line)}
/* Evidence belongs to the case narrative; complementary services close the reference list. */
.case-impact{margin-top:40px;padding-top:32px;border-top:1px solid var(--line)}
.case-impact h2{font-size:26px;letter-spacing:-.025em;margin-bottom:20px}
.case-impact .result-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0 28px;margin:0}
.case-impact .result-grid>div{padding:20px 0;border-top:0;border-bottom:1px solid var(--line);justify-content:flex-end}
.case-impact .result-grid dd{font-size:clamp(30px,3vw,42px);margin:0;letter-spacing:-.045em}
.case-impact .result-grid dt{font-size:14px;line-height:1.5;margin-top:8px}
.impact-context{margin-top:20px;color:var(--muted);font-size:14px}
.impact-context summary{cursor:pointer;padding-block:8px;text-decoration:underline;text-underline-offset:4px}
.impact-context p{font-size:14px;line-height:1.65;margin-top:12px}
.expertise-continuation{margin-top:48px;padding-top:28px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:32px;align-items:baseline}
.expertise-continuation>p{font-size:14px;color:var(--muted);margin:0}
.expertise-continuation>div{display:flex;gap:16px 28px;flex-wrap:wrap}
.expertise-continuation a{display:inline-flex;align-items:center;gap:14px;padding-block:10px;color:var(--blue);font-size:18px;border-bottom:1px solid var(--line)}
.expertise-continuation a:hover{border-color:var(--blue)}
.expertise-continuation a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
@media(max-width:760px){.expertise-continuation{grid-template-columns:1fr;gap:12px;margin-top:32px}.expertise-continuation>div{gap:8px 24px}.case-impact{margin-top:30px;padding-top:24px}.case-impact .result-grid{gap:0 18px}.case-impact .result-grid dd{font-size:32px}}
@media(max-width:360px){.case-impact .result-grid{grid-template-columns:1fr}}
