:root{--paper:#faf9f6;--ink:#25282e;--muted:#686b6b;--line:#c9c8bf;--accent:#84896b;--pale:#eeeee6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font:300 17px/1.65 'Helvetica Neue','Segoe UI',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:2px}.wrap{width:min(1440px,calc(100% - 112px));margin:auto}.site-header{min-height:106px;display:flex;align-items:center;gap:32px;border-bottom:1px dotted var(--line)}.wordmark{font-size:39px;font-weight:300;letter-spacing:-3px;line-height:1}.wordmark span{color:var(--accent)}nav{display:flex;justify-content:center;flex:1;gap:clamp(25px,4.6vw,76px)}nav a{font-size:15px;letter-spacing:.02em;color:var(--muted);padding:10px 0}nav a:hover,.text-link:hover{color:var(--accent)}.languages{display:flex;gap:8px;align-items:center;font-size:13px;letter-spacing:.08em}.languages button{padding:10px 3px;font-size:13px;border-bottom:2px solid transparent}.languages button[aria-pressed=true]{border-color:var(--accent);font-weight:500}.languages span{color:var(--line)}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:6%;padding:95px 0 78px;min-height:620px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.27em;color:var(--muted);font-size:12px;font-weight:400;margin:0 0 29px}h1{font-weight:300;font-size:clamp(44px,5.1vw,76px);line-height:1.07;letter-spacing:-.055em;margin:0 0 13px}.subtitle{font-size:clamp(23px,2.42vw,36px);font-weight:300;line-height:1.35;letter-spacing:-.04em;margin:0 0 32px}.intro-copy{font-size:clamp(17px,1.4vw,21px);line-height:1.6;color:var(--intro);max-width:610px}.intro-copy p{margin:0 0 25px}.text-link{display:inline-block;border-bottom:1px solid var(--accent);padding-bottom:3px;margin-top:6px;font-size:16px}.section{border-top:1px dotted var(--line);padding:37px 0 67px;scroll-margin-top:30px}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.section-head .eyebrow{margin-bottom:27px}.filters{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 27px}.filters button{font-size:14px;padding:5px 0;border-bottom:1px solid transparent;color:var(--muted)}.filters button[aria-pressed=true]{color:var(--ink);border-color:var(--accent)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.project-link{display:flex;flex-direction:column;position:relative;padding:23px 25px 25px 0;min-height:150px;border-bottom:1px dotted var(--line)}.project-link:nth-child(3n+2),.project-link:nth-child(3n){padding-left:30px;border-left:1px dotted var(--line)}.project-number{font-size:12px;letter-spacing:.16em;color:var(--muted);margin-bottom:10px}.project-title{font-size:23px;font-weight:300;letter-spacing:-.025em;line-height:1.25;margin:0 0 9px}.project-link:hover .project-title{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:6px}.project-role{font-size:14px;color:var(--muted)}.project-brand{font-size:12px;letter-spacing:.08em;color:var(--muted);margin-top:10px}.empty-note{font-size:18px;color:var(--muted)}.static-reserve{display:grid;grid-template-columns:1fr 2fr;gap:30px;align-items:start}.static-reserve .eyebrow{margin-top:8px}.static-reserve h2{font-size:30px;font-weight:300;letter-spacing:-.03em;line-height:1.3;margin:0 0 12px}.static-reserve p{color:var(--muted);max-width:540px;font-size:16px;margin:0}.about{display:grid;grid-template-columns:1fr 2fr;gap:30px}.about-copy p{font-size:18px;line-height:1.8;margin:0 0 22px}.about-copy{max-width:820px}.career{margin-top:35px}.career summary{cursor:pointer;font-size:16px;padding:12px 0;border-bottom:1px dotted var(--line)}.career-row{display:grid;grid-template-columns:120px 1fr;gap:15px;padding:17px 0;border-bottom:1px dotted var(--line);font-size:15px}.career-row small{font-size:12px;color:var(--muted)}.career-row p{margin:0;font-size:15px}.career-row strong{font-weight:400}.contact{display:flex;justify-content:space-between;gap:40px;align-items:center}.contact h2{font-weight:300;font-size:38px;letter-spacing:-.04em;margin:0}.contact p{color:var(--muted);font-size:16px;margin:12px 0 0}.contact-links{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.contact-links a{border-bottom:1px solid var(--line)}footer{padding:25px 0 35px;border-top:1px dotted var(--line);display:flex;gap:24px;justify-content:space-between;font-size:13px;color:var(--muted)}.case-head{padding:62px 0 43px;border-bottom:1px dotted var(--line)}.back-link{font-size:14px;border-bottom:1px solid var(--line)}.case-head .eyebrow{margin-top:45px;margin-bottom:20px}.case-head h1{max-width:1000px;font-size:clamp(42px,5.7vw,78px)}.case-role{font-size:16px;color:var(--muted);margin-top:23px}.case-intro{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding:50px 0}.case-intro h2{font-size:28px;line-height:1.4;font-weight:300;letter-spacing:-.03em;margin:0}.case-text{max-width:820px}.case-text p{font-size:18px;line-height:1.8;margin:0 0 23px}.result{border-top:1px dotted var(--line);margin-top:28px;padding-top:24px}.result b{font-size:42px;font-weight:300;letter-spacing:-.04em;display:block;line-height:1.2}.result span{font-size:15px;color:var(--muted)}.media-section{border-top:1px dotted var(--line);padding:35px 0 55px}.media-label{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:13px;margin-bottom:25px}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.media-grid.single{grid-template-columns:1fr;max-width:420px;margin:auto}.media-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:960px;margin:auto}.media-item{margin:0;min-width:0}.media-item video{display:block;width:100%;aspect-ratio:9/16;background:var(--pale);object-fit:contain;border-radius:3px}.media-item img{display:block;width:100%;height:auto;border-radius:3px}.media-item figcaption{font-size:14px;color:var(--muted);padding-top:13px}.image-button{display:block;width:100%;padding:0}.live-site{border-top:1px dotted var(--line);padding:25px 0;margin-top:30px}.next-case{border-top:1px dotted var(--line);padding:35px 0 60px;display:flex;justify-content:space-between;align-items:center;gap:25px}.next-case a{font-size:23px;border-bottom:1px solid var(--line)}.skip{position:absolute;left:15px;top:-100px;z-index:5;background:var(--paper);padding:12px}.skip:focus{top:15px}dialog{border:none;padding:55px 22px 22px;max-width:min(92vw,1100px);max-height:94vh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#101715b8}dialog img{max-width:100%;max-height:77vh;display:block;object-fit:contain;margin:auto}dialog p{font-size:14px;margin:10px 0 0}.close-lightbox{position:absolute;right:15px;top:0;font-size:32px;padding:0 10px}.site-header a,.languages button{transition:color .15s}strong{font-weight:500}
@media(min-width:1600px){.hero{padding-top:115px;padding-bottom:105px}.intro-copy{font-size:21px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.site-header{gap:22px;min-height:95px}nav{gap:24px}nav a{font-size:14px}.hero{gap:4%;padding:70px 0 65px}h1{font-size:51px}.subtitle{font-size:26px}.map-node{font-size:13px}.project-title{font-size:21px}.intro-copy{font-size:17px}.case-intro{gap:35px}}
@media(max-width:720px){.wrap{width:calc(100% - 40px)}.site-header{display:grid;grid-template-columns:1fr auto;padding:22px 0 13px;gap:18px}.wordmark{font-size:35px}.languages{grid-column:2;grid-row:1}nav{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:10px}nav a{font-size:13px;white-space:nowrap}.hero{grid-template-columns:1fr;gap:58px;padding:49px 0 45px;min-height:0}.eyebrow{font-size:12px;letter-spacing:.22em;margin-bottom:22px}h1{font-size:clamp(44px,9vw,61px);letter-spacing:-.05em}.subtitle{font-size:25px;margin-bottom:27px}.intro-copy{font-size:17px;max-width:none}.intro-copy p{margin-bottom:22px}.map-area{padding:0 6px}.map-area>.eyebrow{margin-left:0}.map{max-width:520px;width:100%;margin:0 auto 14px}.map-node{font-size:13px;min-width:80px}.n-international{left:86%;top:82%}.project-grid{grid-template-columns:1fr}.project-link,.project-link:nth-child(3n+2),.project-link:nth-child(3n){padding:22px 0;border-left:0;min-height:0}.project-title{font-size:24px}.project-role{font-size:15px}.section{padding-top:30px;padding-bottom:42px}.filters{gap:16px}.filters button{font-size:14px}.static-reserve,.about{grid-template-columns:1fr;gap:15px}.static-reserve .eyebrow,.about .eyebrow{margin-bottom:7px}.static-reserve h2{font-size:28px}.about-copy p{font-size:17px}.contact{flex-direction:column;align-items:flex-start;gap:25px}.contact h2{font-size:33px}.contact-links a{font-size:16px}.case-head{padding-top:35px}.case-head .eyebrow{margin-top:32px}.case-head h1{font-size:43px}.case-intro{grid-template-columns:1fr;gap:24px;padding:30px 0}.case-intro h2{font-size:25px}.case-text p{font-size:17px}.media-grid,.media-grid.two{grid-template-columns:1fr;max-width:440px;margin:auto;gap:30px}.media-label{flex-direction:column;gap:5px}.media-label .eyebrow{margin-bottom:0}.next-case{flex-direction:column;align-items:flex-start;gap:8px}.next-case .eyebrow{margin:0}.next-case a{font-size:21px}.career-row{grid-template-columns:90px 1fr;gap:10px}footer{flex-wrap:wrap;gap:14px;font-size:12px}footer a{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* More work: artwork stays intact; translations sit alongside each original. */
.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}
.gallery-heading{display:flex;align-items:baseline;justify-content:space-between;gap:25px;margin:0 0 25px}
.gallery-heading h2{font-size:36px;line-height:1.2;letter-spacing:-.035em;font-weight:300;margin:0}
.gallery-heading>span{font-size:14px;color:var(--muted)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 28px}
.gallery-card{display:block;min-width:0;padding-bottom:23px;border-bottom:1px dotted var(--line)}
.gallery-cover{position:relative;aspect-ratio:4/5;background:var(--pale);overflow:hidden;border-radius:2px;display:flex;align-items:center;justify-content:center}
.gallery-cover img{display:block;width:100%;height:100%;object-fit:contain;transition:opacity .2s}
.gallery-card:hover .gallery-cover img{opacity:.9}
.gallery-card-meta{display:flex;justify-content:space-between;gap:12px;margin-top:15px;color:var(--muted);font-size:13px;line-height:1.5}
.gallery-card-meta span:last-child{white-space:nowrap}
.gallery-card h3{font-size:22px;line-height:1.3;font-weight:300;letter-spacing:-.025em;margin:8px 0 0}
.gallery-card:hover h3{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px}
.play-mark{position:absolute;left:16px;bottom:16px;border:1px solid #ffffff9c;background:#161b20c9;color:white;border-radius:50%;width:43px;height:43px;display:grid;place-items:center;font-size:17px;padding-left:2px}
.work-head{padding-bottom:30px}
.work-description{font-size:19px;max-width:720px;margin:22px 0 0;line-height:1.65}
.work-head .case-role{margin:15px 0 0;font-size:14px}
.work-viewer{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(30px,5vw,80px);padding:40px 0 65px;align-items:start;max-width:1180px;margin:auto}
.work-media-column,.translation-panel{min-width:0}
.artwork-stage{position:relative;display:grid;place-items:center;min-height:300px;height:min(70svh,740px);background:var(--pale);border-radius:2px;touch-action:pan-y}
.artwork-button{display:block;width:100%;height:100%;min-height:0;padding:0;cursor:zoom-in}
.artwork-stage .artwork{display:block;width:100%;height:100%;min-height:0;max-height:min(70svh,740px);object-fit:contain}
.carousel-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:14px;font-size:14px}
.carousel-controls button{min-height:44px;padding:6px 12px;border:1px solid var(--line);border-radius:2px;font-size:14px}
.carousel-controls button:disabled{opacity:.35;cursor:default}
.carousel-controls button:not(:disabled):hover{background:var(--pale)}
.carousel-controls>span{color:var(--muted);font-variant-numeric:tabular-nums}
.slide-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:14px 3px 8px;scrollbar-width:thin}
.slide-thumbnails button{flex:0 0 54px;padding:0 0 4px;border-bottom:2px solid transparent;opacity:.6;line-height:1.2}
.slide-thumbnails button[aria-current=true]{opacity:1;border-color:var(--accent)}
.slide-thumbnails img{width:54px;height:66px;object-fit:contain;background:var(--pale);display:block}
.slide-thumbnails span{display:block;font-size:12px;color:var(--muted);padding-top:4px}
.translation-panel{padding-top:10px;position:sticky;top:35px}
.translation-panel .eyebrow{margin-bottom:15px}
.copy-languages{display:flex;gap:20px;margin-bottom:25px;border-bottom:1px dotted var(--line)}
.copy-languages button{padding:9px 1px;font-size:14px;color:var(--muted);border-bottom:2px solid transparent}
.copy-languages button[aria-pressed=true]{color:var(--ink);border-color:var(--accent)}
.translated-copy{margin:0;font-size:clamp(19px,1.8vw,25px);line-height:1.6;font-weight:300;white-space:pre-line;overflow-wrap:anywhere}
.culture-note{font-size:16px;color:var(--muted);padding-top:20px;border-top:1px dotted var(--line);margin:25px 0 0}
.translation-note{font-size:14px;line-height:1.6;color:var(--muted);margin:27px 0 0;max-width:400px}
.translation-context{font-size:22px;line-height:1.6;margin:0}
.video-note{font-size:14px;line-height:1.6;color:var(--muted);margin:13px 0 0}
.subtitle-control{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:15px;font-size:14px}
.subtitle-control select{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:2px;font:inherit;padding:9px 12px;min-height:42px}
video::cue{font-family:Arial,sans-serif;background:#111e;color:#fff;font-size:18px}
.media-error{position:absolute;bottom:10px;left:10px;right:10px;background:var(--paper);padding:12px;font-size:14px}
.media-error a{text-decoration:underline}
.modal-open{overflow:hidden}
@media(min-width:1500px){.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){.gallery-grid{gap:30px 20px}.gallery-card-meta{flex-direction:column;gap:3px}.gallery-card h3{font-size:21px}.work-viewer{gap:30px}.translated-copy{font-size:21px}}
@media(max-width:720px){.gallery-heading h2{font-size:30px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 15px}.gallery-card{padding-bottom:17px}.gallery-card h3{font-size:19px}.gallery-card-meta{font-size:12px}.gallery-filters{gap:10px 19px}.gallery-filters button{min-height:38px}.work-description{font-size:17px}.work-head h1{font-size:37px}.work-viewer{grid-template-columns:minmax(0,1fr);gap:28px;padding:28px 0 40px}.artwork-stage{height:min(64svh,650px);min-height:260px}.artwork-stage .artwork{max-height:min(64svh,650px)}.translation-panel{position:static;padding-top:22px;border-top:1px dotted var(--line)}.translated-copy{font-size:22px}.translation-note{margin-top:20px}.copy-languages{margin-bottom:20px}.play-mark{width:35px;height:35px;left:10px;bottom:10px;font-size:14px}nav a{font-size:14px}nav{gap:8px;flex-wrap:wrap}.languages button{font-size:14px}}
@media(max-width:360px){.gallery-grid{grid-template-columns:minmax(0,1fr)}.gallery-card-meta{flex-direction:row}.work-head h1{font-size:33px}}

/* Day / night share the same reading order and original artwork. */
:root{--intro:#565a5b;--coast:#92998d;--route:#737d57;--theme-surface:#eeeee6;--map-label:#4f574c;color-scheme:light}
:root[data-theme=night]{--paper:#14191f;--ink:#e7e9eb;--muted:#a7afb8;--intro:#b9c0c7;--line:#3b444f;--accent:#bec39c;--pale:#1e252d;--coast:#8b98a7;--route:#c1c8a2;--theme-surface:#303840;--map-label:#d0d6c7;color-scheme:dark}
body{transition:background-color .25s,color .25s}
.header-tools{display:flex;align-items:center;justify-content:flex-end;gap:22px;flex-shrink:0}
.theme-control{display:flex;align-items:center;border:1px solid var(--line);border-radius:30px;padding:3px;gap:2px}
.theme-control button{display:flex;align-items:center;gap:6px;font-size:14px;line-height:1.25;min-height:36px;padding:8px 10px;border-radius:25px;color:var(--muted);white-space:nowrap}
.theme-control button[aria-pressed=true]{background:var(--theme-surface);color:var(--ink)}
.theme-control svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.theme-control button:focus-visible{outline-offset:3px}
.map-area{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding-top:18px}
.map-area>.eyebrow{margin:0 0 20px;text-align:center;letter-spacing:.25em}
.map{position:relative;aspect-ratio:760/450;width:100%}
.world-map{display:block;width:100%;height:100%;overflow:visible}
.world-coast path{fill:none;stroke:var(--coast);stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:.15 4.1;opacity:.67}

.location-halo{fill:var(--paper);stroke:var(--route);stroke-width:.8;opacity:.9}
.location-dot{fill:var(--route)}
.location-label{font:400 19px 'Helvetica Neue','Segoe UI',Arial,sans-serif;fill:var(--map-label);letter-spacing:.02em;paint-order:stroke;stroke:var(--paper);stroke-width:6px;stroke-linejoin:round}
.map-filters{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:22px}
.map-node{position:static;transform:none;display:block;min-width:0;min-height:42px;padding:8px 0;font-size:14px;font-weight:300;line-height:1.4;color:var(--muted);border-bottom:1px solid transparent}
.map-node:hover,.map-node.active{color:var(--ink);border-color:var(--accent)}
.contact-links .contact-location{font-size:15px;margin:0;color:var(--muted)}
:root[data-theme=night] dialog::backdrop{background:#05090ce6}
:root[data-theme=night] .artwork-stage{background:#1a2128}
:root[data-theme=night] .text-link:hover,:root[data-theme=night] nav a:hover{color:var(--accent)}
@media(max-width:1150px){.site-header{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:23px 0 13px}.site-header nav{grid-column:1/-1;grid-row:2;justify-content:center;gap:35px}.header-tools{grid-column:2;grid-row:1}.header-tools .languages{display:flex}.map-filters{gap:10px 17px}}
@media(max-width:720px){.header-tools{gap:12px}.header-tools .languages{gap:6px}.theme-control button{min-height:34px;font-size:13px;padding:7px 8px;gap:4px}.theme-control svg{width:14px;height:14px}.site-header nav{gap:10px;justify-content:space-between}.map-area{padding:0}.map-area>.eyebrow{margin:0 0 15px}.map{max-width:600px;margin:0 auto}.world-coast path{stroke-width:1.8;stroke-dasharray:.1 4.7}.location-label{font-size:24px}.map-filters{gap:8px 18px;margin-top:15px}.map-node{font-size:14px}.hero{gap:42px}.contact-links{gap:14px}}
@media(max-width:370px){.header-tools{gap:7px}.header-tools .languages{gap:3px}.theme-control button{padding:7px}.theme-control svg{display:none}}

/* Career mode: the coastlines stay quiet while the categories become destinations. */
.map-area{padding-top:0}
.map-area>.eyebrow{margin-bottom:4px}
.map{aspect-ratio:760/540;min-height:340px;isolation:isolate}
.map-geometry{position:absolute;inset:auto 0;top:50%;aspect-ratio:760/450;transform:translateY(-50%);pointer-events:none}
.world-map{width:100%;height:auto}
.rome-label{position:absolute;left:52.816%;top:24.667%;transform:translate(-50%,calc(-100% - 12px));margin:0;text-align:center;white-space:nowrap;padding:2px 7px;background:var(--paper);background:color-mix(in srgb,var(--paper) 90%,transparent);color:var(--map-label);line-height:1.35}
.rome-here{display:block;font-size:12px;font-weight:300;letter-spacing:.04em}
.rome-city{display:block;font-size:16px;font-weight:400;letter-spacing:.015em}
.map-filters{position:absolute;inset:0;display:block;margin:0}
.map-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:10px;min-height:52px;min-width:0;padding:0;border:0;font-size:14px;font-weight:400;line-height:1.4;color:var(--ink);white-space:nowrap}
.map-node span{padding:4px 7px;background:var(--paper);background:color-mix(in srgb,var(--paper) 90%,transparent);border-bottom:1px dotted var(--line);transition:border-color .2s,color .2s}
.map-node::after{content:"";display:block;width:6px;height:6px;border:1px solid var(--accent);border-radius:50%;background:var(--paper);box-shadow:0 0 0 4px var(--paper);transition:background-color .2s,box-shadow .2s}
.map-node:hover span,.map-node.active span{color:var(--accent);border-bottom:1px solid var(--accent)}
.map-node:hover::after,.map-node.active::after{background:var(--accent);box-shadow:0 0 0 4px var(--paper),0 0 0 5px var(--line)}
.n-campaign{--x:22%;--y:19%}
.n-sport{--x:79%;--y:49%}
.n-entertainment{--x:24%;--y:63%}
.n-international{--x:78%;--y:17%}
.n-more{--x:62%;--y:85%}
#projetos:focus{outline:none}
/* Selected projects: original frames and artwork, with room for the copy. */
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.project-link,.project-link:nth-child(3n+2),.project-link:nth-child(3n){display:flex;flex-direction:column;gap:22px;min-width:0;min-height:0;padding:26px;border:0;border-bottom:1px dotted var(--line)}
.project-link:nth-child(3n+1){padding-left:0}
.project-link:nth-child(3n+2),.project-link:nth-child(3n){border-left:1px dotted var(--line)}
.project-link:nth-child(3n){padding-right:0}
.project-cover{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--pale);border-radius:2px}
.project-cover img{display:block;max-width:100%;width:100%;height:100%;object-fit:contain;transition:opacity .2s}
.project-link:hover .project-cover img{opacity:.9}
.project-summary{display:flex;flex-direction:column;min-width:0}
.project-number{font-size:12px;margin-bottom:10px}
.project-title{font-size:24px;line-height:1.28;margin-bottom:10px;overflow-wrap:anywhere}
.project-role{font-size:14px;line-height:1.6}
.project-brand{font-size:13px;margin-top:15px}
@media(max-width:1100px) and (min-width:721px){
 .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .project-link,.project-link:nth-child(3n+2),.project-link:nth-child(3n){padding:24px;border-left:0}
 .project-link:nth-child(odd){padding-left:0}
 .project-link:nth-child(even){padding-right:0;border-left:1px dotted var(--line)}
}
@media(max-width:720px){
 .map-area>.eyebrow{margin-bottom:0}
 .map{min-height:340px;max-width:600px}
 .map-node{font-size:14px}
 .project-grid{grid-template-columns:minmax(0,1fr)}
 .project-link,.project-link:nth-child(3n+2),.project-link:nth-child(3n){display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:22px;padding:25px 0;border-left:0;align-items:center}
 .project-cover{aspect-ratio:3/4}
 .project-title{font-size:22px}
 .project-role{font-size:14px}
 .project-brand{font-size:12px;margin-top:12px}
}
@media(max-width:380px){
 .map{min-height:350px}
 .project-link,.project-link:nth-child(3n+2),.project-link:nth-child(3n){gap:17px;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr)}
 .project-title{font-size:20px}
}

.project-image-credit{position:absolute;right:0;bottom:0;font-size:12px;line-height:1.4;padding:3px 7px;color:#fff;background:#14191fcc}

/* Selected image projects: artwork first, translation directly below. */
.collection-below{grid-template-columns:minmax(0,1fr);max-width:900px;border-top:1px dotted var(--line);gap:32px}
.collection-below .work-media-column{width:100%;min-width:0}
.collection-below .translation-panel{position:static;max-width:760px;width:100%;margin:auto;border-top:1px dotted var(--line);padding-top:28px}
.collection-below .translated-copy{font-size:clamp(18px,2vw,22px);line-height:1.65}
.collection-below .artwork-notice{font-size:13px;color:var(--muted);white-space:pre-line;line-height:1.65;margin-top:25px}
.collection-below .translation-note{font-size:13px}
.team-picker{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px;font-size:14px;color:var(--muted)}
.team-picker select{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:12px;max-width:70%;min-width:0;border-radius:2px}
.team-picker select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.full-image-link{font-size:13px;margin-top:15px}
.collection-wide{max-width:1440px}
.collection-wide .artwork-stage{height:auto;min-height:0;background:none}
.collection-wide .artwork-button{height:auto}
.collection-wide .artwork-stage .artwork{height:auto;max-height:none;aspect-ratio:2048/682;object-fit:contain}
@media(max-width:720px){.team-picker{align-items:flex-start;flex-direction:column;gap:8px}.team-picker select{max-width:100%;width:100%}.collection-below{gap:25px}.collection-wide .artwork-stage{min-height:0}}

/* Downloadable, language-specific one-page CVs. */
.cv-download{max-width:295px;margin-top:32px;padding-top:23px;border-top:1px dotted var(--line);scroll-margin-top:30px}
.cv-title{font-size:16px;font-weight:400;margin:0 0 13px}
.cv-primary{display:inline-block;font-size:15px;line-height:1.4;padding:12px 14px;border:1px solid var(--line);border-radius:2px}
.cv-primary:hover{border-color:var(--accent);background:var(--pale)}
.cv-format{font-size:13px;color:var(--muted);margin:9px 0 13px}
.cv-languages{display:flex;flex-wrap:wrap;gap:18px;font-size:14px}
.cv-languages a{border-bottom:1px solid var(--line)}
@media(max-width:720px){.cv-download{margin:18px 0 12px;max-width:none}.cv-languages a{padding:5px 0}}

/* Category symbols follow the site's fine-line typography and theme. */
.category-icon{display:inline-block;width:20px;height:20px;flex:0 0 20px;vertical-align:middle}
.category-label,.gallery-brand{display:inline-flex;align-items:center;gap:7px;min-width:0}
.filters button{display:inline-flex;align-items:center;gap:7px}
.map-node>span{display:inline-flex;align-items:center;gap:7px}
.map-node .category-icon{width:18px;height:18px;flex-basis:18px}
.project-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:12px;color:var(--muted);font-size:14px;line-height:1.4}
.project-meta .project-number{margin:0}
.project-meta .category-icon{width:18px;height:18px;flex-basis:18px}
.case-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}
.case-meta .category-label{font-size:14px;letter-spacing:.08em}
.gallery-card-meta .gallery-brand{white-space:normal}
.gallery-brand .category-icon{width:18px;height:18px;flex-basis:18px}
/* Supplied homepage capture stays complete and can be opened at full size. */
.case-showcase{margin:34px 0 0}
.showcase-button{cursor:zoom-in;overflow:hidden;border:1px solid var(--line);border-radius:2px;background:#000}
.case-showcase img{display:block;width:100%;height:auto}
.case-showcase figcaption{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px 24px;padding-top:14px;color:var(--muted);font-size:14px;line-height:1.5}
.case-showcase figcaption a{border-bottom:1px solid var(--line)}
.case-showcase figcaption a:hover{color:var(--ink)}
dialog.wide-image{width:min(96vw,1938px);max-width:96vw}
@media(max-width:720px){.case-showcase{margin-top:24px}.case-meta{gap:12px 18px}.project-meta{gap:8px 12px}.gallery-card-meta .gallery-brand{align-items:flex-start}.gallery-brand .category-icon{margin-top:1px}}

/* One FM mark, clear first-screen contact details, and a contained career map. */
.wordmark{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;letter-spacing:normal;color:var(--ink)}
.brand-mark{display:block;width:44px;height:44px}
.wordmark:hover{color:var(--accent)}
.hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.intro,.map-area,.map,.map-geometry,.contact-intro,.contact-form{min-width:0}
.map,.map-geometry,.world-map{max-width:100%}
.map-node{max-width:46%;white-space:normal}
.map-node>span{max-width:100%;justify-content:center;text-align:center;white-space:normal}
.hero-contacts{display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px;margin:18px 0 26px}
.hero-contacts a{display:inline-flex;align-items:center;gap:9px;min-height:36px;font-size:15px;font-weight:400;line-height:1.5;max-width:100%}
.hero-contacts a span{overflow-wrap:anywhere}
.hero-contacts svg{width:17px;height:17px;flex:none;color:var(--muted)}
.hero-contacts a:hover{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px}

/* A short enquiry form complements the direct email and phone links. */
.contact{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,6vw,96px);align-items:start;padding-top:48px;padding-bottom:64px}
.contact-intro>.eyebrow{margin:0 0 18px}
.contact-intro>.contact-links{margin-top:28px}
.contact-links a{max-width:100%;overflow-wrap:anywhere}
.contact-form{display:grid;gap:20px}
.contact .contact-required{font-size:14px;line-height:1.5;margin:0;color:var(--muted)}
.contact-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.contact-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.contact-field label{font-size:15px;font-weight:400;line-height:1.5}
.contact-field input,.contact-field select,.contact-field textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);font:inherit;font-size:16px;line-height:1.5}
.contact-field textarea{min-height:150px;resize:vertical}
.contact-field textarea::placeholder{color:var(--muted);opacity:1}
.contact-field input:focus-visible,.contact-field select:focus-visible,.contact-field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-color:var(--accent)}
.contact-form-footer{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.contact-submit{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 24px;border:1px solid var(--ink);border-radius:4px;background:var(--ink);color:var(--paper);font-size:16px;font-weight:400;line-height:1.5}
.contact-submit:hover{opacity:.86}
.contact-submit:disabled{opacity:.65;cursor:wait}
.contact .contact-note{margin:0;font-size:14px;line-height:1.6;color:var(--muted);max-width:38em}
.contact .contact-status{margin:0;padding-top:18px;border-top:1px dotted var(--line);font-size:16px;color:var(--ink)}
.form-trap{display:none}

@media(max-width:900px){
 .contact{grid-template-columns:minmax(0,1fr);gap:36px}
 .contact-form{max-width:700px;width:100%}
}
@media(max-width:720px){
 .hero{grid-template-columns:minmax(0,1fr);gap:34px;padding-top:36px}
 .hero-contacts{margin:14px 0 24px;gap:3px 20px}
 .hero-contacts a{min-height:40px;font-size:15px}
 .map-area{width:100%;max-width:100%;padding:0}
 .map-area>.eyebrow{margin-bottom:12px}
 .map{width:100%;max-width:600px;min-height:0;height:clamp(330px,65vw,410px);aspect-ratio:auto;margin:0 auto}
 .map-geometry{left:0;right:0;width:100%;min-height:0;aspect-ratio:760/450}
 .world-map{width:100%;height:auto;overflow:hidden}
 .map-node{font-size:14px;min-height:48px;max-width:47%}
 .n-campaign{left:0;right:auto;top:10%;transform:translateY(-50%)}
 .n-international{left:auto;right:0;top:10%;transform:translateY(-50%)}
 .n-entertainment{left:0;right:auto;top:62%;transform:translateY(-50%)}
 .n-sport{left:auto;right:3%;top:56%;transform:translateY(-50%)}
 .n-more{left:50%;right:auto;top:88%;transform:translate(-50%,-50%)}
 .contact{padding-top:36px;padding-bottom:44px}
 .contact-field-row{grid-template-columns:minmax(0,1fr);gap:20px}
}
@media(max-width:400px){
 .site-header{grid-template-columns:44px minmax(0,1fr);column-gap:12px}
 .header-tools{min-width:0;gap:10px}
 .header-tools .languages{gap:3px}
 .theme-control button{width:34px;min-width:34px;min-height:34px;padding:7px;justify-content:center}
 .theme-control button>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .theme-control svg{display:block;width:17px;height:17px;flex:none}
 .map-node>span{flex-direction:column;gap:3px;padding:4px}
 .map-node{gap:8px}
 .map{height:350px}
}
