@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-latin.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:'DM Mono';src:url('/assets/fonts/dm-mono-latin.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--bg:#181a18;--panel:#20221f;--ink:#f1f0e9;--muted:#a7aaa1;--line:#383b34;--accent:#d4ed53;--font:Manrope,Arial,sans-serif;--mono:'DM Mono',monospace;--gutter:clamp(22px,4.3vw,80px);--ease:cubic-bezier(.2,.65,.25,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}body:has(.menu-toggle[aria-expanded=true]){overflow:hidden}::selection{background:var(--accent);color:var(--bg)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button:disabled{cursor:default}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}img{max-width:100%;display:block}em{font-style:normal;color:var(--accent)}[hidden]{display:none!important}.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}.skip-link{position:fixed;top:-80px;left:20px;z-index:99;padding:14px;background:var(--accent);color:var(--bg)}.skip-link:focus{top:15px}
.header{height:100px;display:flex;align-items:center;justify-content:space-between;margin:0 var(--gutter);border-bottom:1px solid var(--line);position:relative;z-index:50}.wordmark{font-size:36px;letter-spacing:-2.6px;font-weight:800;line-height:1}.wordmark span{color:var(--accent);display:inline-block;margin-left:3px;font-size:40px;vertical-align:middle}.nav{display:flex;gap:30px;font-size:14px}.nav a{position:relative;color:#b5b7af;transition:color .2s}.nav a:hover,.nav a[aria-current]{color:var(--ink)}.nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--accent);transition:right .3s}.nav a:hover:after,.nav a[aria-current]:after{right:0}.header-contact{font-size:14px;border:1px solid #515448;border-radius:50px;padding:10px 19px;display:flex;gap:25px;align-items:center;transition:background .2s}.header-contact:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}.menu-toggle{display:none}
.hero{padding:53px var(--gutter) 0}.hero-eyebrow{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--muted)}.edition{font-family:var(--mono);font-size:12px;letter-spacing:.08em}.hero-content{position:relative;padding:38px 0 36px}.hero h1{font-size:clamp(60px,7.9vw,134px);line-height:1.08;letter-spacing:-.065em;font-weight:500;max-width:1300px}.hero h1 em{font-weight:500}.hero-symbol{position:absolute;right:3px;top:23px;font-size:clamp(100px,12vw,190px);line-height:1;color:var(--accent);animation:turn 38s linear infinite;transform-origin:50% 52%;pointer-events:none;opacity:.95}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-bottom:51px}.hero-bottom p{font-size:16px;color:#b9bcb2;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:32px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:43px;padding:16px 25px;border-radius:50px;font-size:14px;transition:transform .25s,background .25s;border:1px solid var(--line)}.button:hover{transform:translateY(-3px)}.primary{background:var(--accent);color:#181a18;border-color:var(--accent);font-weight:600}.primary:hover{background:#e0f777}.text-link{display:inline-flex;align-items:center;gap:22px;font-size:14px;border-bottom:1px solid #62665a;padding-bottom:5px}.text-link:hover{color:var(--accent)}.hero-baseline{display:flex;justify-content:space-between;padding:18px 0;border-top:1px solid var(--line);font:11px var(--mono);letter-spacing:.1em;color:#9ca090}.section{padding:89px var(--gutter) 70px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:37px;gap:30px}.eyebrow{font:12px var(--mono);letter-spacing:.09em;color:var(--muted);margin-bottom:21px}.section-heading h2{font-size:clamp(32px,3.25vw,52px);letter-spacing:-.055em;line-height:1.15}.section-heading h2 span{color:#999e91}.section-heading>p{font-size:14px;color:var(--muted)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.filter{border:1px solid var(--line);border-radius:30px;background:transparent;padding:9px 20px;font-size:13px;transition:color .2s,background .2s,border-color .2s}.filter:hover{border-color:#878d79}.filter.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.filter sup{font:10px var(--mono);margin-left:9px;vertical-align:super}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:43px 24px}.project-visual{aspect-ratio:4/3;overflow:hidden;position:relative;border-radius:3px;background:var(--project-color);isolation:isolate}.project-visual img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease),filter .65s}.concept-label{display:grid;place-items:center;height:100%;font-size:60px;font-weight:800;letter-spacing:-.06em;color:#161716}.project-open{position:absolute;right:16px;bottom:16px;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center;font-size:22px;transform:translateY(65px);transition:transform .4s var(--ease)}.project-card a:hover .project-visual img{transform:scale(1.045);filter:brightness(1.04)}.project-card a:hover .project-open,.project-card a:focus-visible .project-open{transform:translateY(0)}.project-caption{display:grid;grid-template-columns:1fr auto;padding:16px 0 0;gap:3px 15px}.project-caption h3{font-size:20px;letter-spacing:-.035em}.project-year{font:12px var(--mono);color:var(--muted);align-self:center}.project-caption p{font-size:12px;color:var(--muted);grid-column:1/-1}.project-note{font:12px var(--mono);color:var(--muted);margin-top:40px}.contact{border-top:1px solid var(--line);padding-bottom:90px}.contact h2{font-size:clamp(58px,8vw,132px);line-height:1.06;letter-spacing:-.055em}.contact>p:last-child{margin-top:32px;color:var(--muted)}.footer{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);padding:35px var(--gutter);font-size:12px;color:var(--muted)}.footer .wordmark{color:var(--ink);font-size:28px}.footer .wordmark span{font-size:34px}.footer>a:last-child:hover{color:var(--accent)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,25px);padding:14px 22px;background:var(--ink);color:var(--bg);border-radius:6px;z-index:100;opacity:0;pointer-events:none;transition:.2s;max-width:90vw}.toast.visible{opacity:1;transform:translate(-50%,0)}.lightbox{border:0;padding:60px 20px 20px;background:#151714;color:var(--ink);max-width:95vw;max-height:95vh}.lightbox::backdrop{background:#000d;backdrop-filter:blur(8px)}.lightbox img{max-height:78vh;margin:auto;object-fit:contain}.lightbox p{font-size:13px;text-align:center;margin-top:12px;color:var(--muted)}.lightbox-close{position:absolute;right:20px;top:8px;background:none;border:0;font-size:36px;width:44px;height:44px}
@keyframes turn{to{transform:rotate(360deg)}}@keyframes enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.reveal.is-visible{animation:enter .65s var(--ease) both}
@media(min-width:1600px){.header,.hero,.section,.footer{max-width:1800px;margin-left:auto;margin-right:auto}.header{padding-left:var(--gutter);padding-right:var(--gutter)}.hero-symbol{right:10px}}
@media(max-width:1150px){.nav{gap:20px}.hero-symbol{font-size:125px;top:20px;right:0}.hero h1{font-size:7.8vw}.header-contact{gap:10px}.hero-content{padding-bottom:40px}.hero-baseline{font-size:10px}.section-heading>p{display:none}}
@media(max-width:1000px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-contact{display:none}.hero-content{padding-top:50px}.hero-symbol{font-size:92px;top:45px}.hero-bottom{align-items:flex-start}.hero-actions{gap:19px}.button{gap:25px;padding:14px 20px}.hero-bottom p{font-size:14px}.footer>span{display:none}.section{padding-top:70px}.hero h1{font-size:8vw}.edition{font-size:11px}.hero-eyebrow{font-size:12px}}
@media(max-width:700px){.header{height:80px}.wordmark{font-size:32px}.nav{display:none;position:fixed;inset:80px 0 0;background:var(--bg);padding:50px var(--gutter);flex-direction:column;gap:28px;font-size:28px}.nav.open{display:flex}.nav a{width:fit-content}.menu-toggle{display:flex;width:44px;height:44px;flex-direction:column;justify-content:center;gap:6px;background:none;border:0}.menu-toggle span{height:1px;width:25px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{padding-top:34px}.hero-eyebrow{font-size:12px;max-width:85%}.edition{display:none}.hero-content{padding:38px 0 30px}.hero h1{font-size:clamp(42px,9.2vw,65px);line-height:1.1;letter-spacing:-.06em}.hero-symbol{font-size:48px;top:-20px;right:0}.hero-bottom{display:block;padding-bottom:36px}.hero-bottom p{font-size:15px;max-width:380px}.hero-actions{margin-top:27px;gap:28px}.hero-baseline{font-size:9px;letter-spacing:.02em}.hero-baseline span:last-child{display:none}.section{padding-top:58px;padding-bottom:50px}.section-heading{margin-bottom:25px}.section-heading h2{font-size:33px;max-width:320px;line-height:1.2}.eyebrow{font-size:11px;margin-bottom:15px}.filters{gap:7px;margin-bottom:25px}.filter{font-size:12px;padding:8px 13px}.project-grid{gap:30px 16px}.project-caption h3{font-size:19px}.contact h2{font-size:64px}.footer{flex-wrap:wrap;padding-top:25px;padding-bottom:25px;gap:20px}.footer p{order:3;width:100%;font-size:11px}.footer>a:last-child{font-size:12px}.project-note{font-size:11px}.toast{width:max-content;font-size:13px}}
@media(max-width:600px){.project-grid{grid-template-columns:1fr}.project-open{transform:none;width:38px;height:38px}.project-caption{padding-top:13px}.project-caption p{font-size:13px}.desktop-break{display:none}}
.header{position:sticky;top:0;background:var(--bg)}
.social{background:#22251e;border-top:1px solid #35392d;border-bottom:1px solid #35392d}.social-intro{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:35px}.social-intro>p{max-width:550px;color:#babdb1;font-size:16px}.social-tags{display:flex;gap:8px;flex-wrap:wrap;max-width:390px;justify-content:flex-end}.social-tags span{font:12px var(--mono);border-bottom:1px solid #646a56;padding:6px 0;margin-left:15px}.social-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.social-grid .project-caption h3{font-size:25px}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,7vw,120px);padding-top:115px;padding-bottom:115px;align-items:center}.about-portrait{position:relative;align-self:stretch;min-height:500px}.about-portrait img{width:100%;height:100%;object-fit:cover;position:absolute;filter:grayscale(1);border-radius:3px}.portrait-caption{position:absolute;bottom:16px;left:16px;background:#181a18d9;color:#e1e3da;padding:4px 10px;font:11px var(--mono)}.about h2{font-size:clamp(32px,3.3vw,52px);letter-spacing:-.05em;line-height:1.18;margin-bottom:30px}.about-copy>p:not(.eyebrow){font-size:16px;color:#b4b8ab;margin-top:16px;max-width:580px}.about-lists{display:grid;grid-template-columns:1.2fr 1fr;gap:25px;margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}.about-lists h3{font:12px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:13px}.about-lists ul{margin:0;padding:0;list-style:none;font-size:14px;line-height:1.9}.about blockquote{margin:28px 0 0;font-size:18px;max-width:470px;color:var(--accent);letter-spacing:-.025em}.contact-top{display:flex;align-items:center;justify-content:space-between}.contact-arrow{font-size:clamp(100px,17vw,260px);line-height:1;color:var(--accent);font-weight:400}.contact-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:50px;gap:50px}.contact-bottom>div>p{font-size:16px;color:var(--muted);line-height:1.8}.email-link{display:flex;align-items:center;gap:60px;width:fit-content;font-size:clamp(23px,3vw,42px);letter-spacing:-.035em;margin-top:23px;padding-bottom:6px;border-bottom:1px solid #6f7461}.email-link:hover{color:var(--accent)}.email-placeholder{color:#d4d7cb}.contact-bottom p.contact-pending{font-size:12px;margin-top:9px}.social-links{display:flex;flex-direction:column;gap:12px;min-width:245px}.social-links a,.pending-social{display:flex;justify-content:space-between;gap:50px;border-bottom:1px solid var(--line);padding-bottom:8px;font-size:14px}.social-links a:hover{color:var(--accent)}.pending-label{font:10px var(--mono);color:#969b8b;align-self:center}.copy-email{background:none;border:0;border-bottom:1px solid var(--line);padding:8px 0;font-size:12px;margin-top:6px}
.project-header{padding-top:48px;padding-bottom:42px}.back-link{font-size:13px;color:var(--muted);display:inline-block;margin-bottom:57px}.back-link:hover{color:var(--accent)}.project-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:25px}.project-title-row .eyebrow{margin-bottom:12px}.project-title-row .eyebrow span{padding:0 15px}.project-title-row h1{font-size:clamp(65px,9vw,148px);line-height:1;letter-spacing:-.06em;max-width:1100px;overflow-wrap:break-word}.concept-badge{border:1px solid var(--line);border-radius:30px;padding:7px 14px;font-size:11px;color:var(--muted);white-space:nowrap;margin-bottom:8px}.project-tagline{font-size:clamp(21px,2.5vw,35px);letter-spacing:-.04em;color:#b8bcaf;margin-top:22px;line-height:1.4}.project-facts{display:grid;grid-template-columns:1fr .6fr 2fr;gap:45px;border-top:1px solid var(--line);margin:35px 0 0;padding-top:25px}.project-facts dt{font:11px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:8px}.project-facts dd{margin:0;font-size:14px}.project-facts dd span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.project-hero{margin:0 var(--gutter);border-radius:3px;overflow:hidden}.gallery-image{padding:0;border:0;width:100%;background:var(--project-color);display:block;position:relative;overflow:hidden;cursor:zoom-in}.project-hero img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.image-expand{position:absolute;bottom:20px;right:20px;border-radius:50%;background:#f3f3e9;color:#161716;display:grid;place-items:center;width:44px;height:44px;font-size:24px;transition:transform .3s}.gallery-image:hover .image-expand{transform:rotate(45deg)}.case-intro{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding-bottom:10px}.case-intro h2{font-size:clamp(28px,3vw,46px);letter-spacing:-.035em;line-height:1.3}.case-story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;padding-top:65px;padding-bottom:70px}.story-item{border-top:1px solid var(--line);padding-top:20px}.story-number{font:12px var(--mono);color:var(--accent)}.story-item h2{font-size:24px;letter-spacing:-.035em;margin:23px 0 14px}.story-item p{font-size:16px;color:var(--muted);line-height:1.8;margin-top:10px}.gallery{padding-top:0;padding-bottom:30px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.gallery-figure{margin:0}.gallery-detail .gallery-image{aspect-ratio:1/1}.gallery-detail img{width:100%;height:100%;object-fit:cover;transform:scale(1.22)}.gallery-detail:nth-child(2) img{transform:scale(1.42)}.gallery-figure figcaption{font:11px var(--mono);color:var(--muted);margin-top:12px}.visual-system{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:85px 0}.visual-system h2,.deliverables h2{font-size:clamp(30px,3.5vw,49px);line-height:1.2;letter-spacing:-.04em}.swatches{display:flex;gap:16px;width:50%;max-width:620px}.swatch{flex:1;min-width:0}.swatch div{height:180px;border-radius:2px}.swatch span{font:11px var(--mono);color:var(--muted);display:block;margin-top:10px}.gallery-full img{width:100%;aspect-ratio:4/3;object-fit:cover}.case-results{max-width:1050px;margin-left:auto;margin-right:auto;padding-top:60px;text-align:center}.case-results h2{font-size:clamp(30px,3.6vw,50px);line-height:1.25;letter-spacing:-.045em}.case-results>p:not(.eyebrow){color:var(--muted);margin:24px auto 0;max-width:680px;font-size:17px}.demo-disclosure{display:block;font:11px var(--mono);color:var(--muted);margin-top:28px}.project-navigation{display:grid;grid-template-columns:1fr auto 1fr;gap:30px;margin:20px var(--gutter) 0;padding:42px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center}.project-navigation a:last-child{text-align:right}.project-navigation a>span{font:12px var(--mono);color:var(--muted);display:block}.project-navigation strong{font-size:clamp(22px,3vw,40px);font-weight:500;letter-spacing:-.05em;display:block;margin-top:8px;line-height:1.2}.project-navigation a:hover strong{color:var(--accent)}.back-all{font-size:13px;border-bottom:1px solid #747964;padding-bottom:4px}.project-contact{padding:50px var(--gutter);display:flex;justify-content:center;gap:40px;align-items:center}.project-contact>p{font-size:20px;letter-spacing:-.025em}.deliverables{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:20px 0 80px}.deliverables p:not(.eyebrow){color:var(--muted);font-size:16px;max-width:470px;margin-top:20px}.deliverables ol{padding:0;margin:0;list-style:none;counter-reset:formats}.deliverables li{counter-increment:formats;padding:20px 0;border-top:1px solid var(--line);font-size:17px}.deliverables li:before{content:'0' counter(formats);font:12px var(--mono);color:var(--accent);margin-right:25px}.not-found{min-height:70vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:30px}.not-found h1{font-size:clamp(45px,6vw,85px);line-height:1.13;letter-spacing:-.05em}.not-found p:not(.eyebrow){color:var(--muted)}
@media(min-width:701px){body:has(.menu-toggle[aria-expanded=true]){overflow:auto}}
@media(max-width:1000px){.about{gap:40px;grid-template-columns:1fr 1.2fr}.about-portrait{min-height:540px}.about-lists{grid-template-columns:1fr;gap:20px}.about-lists ul{display:flex;gap:3px 15px;flex-wrap:wrap}.social-intro{display:block}.social-tags{justify-content:flex-start;margin-top:20px;max-width:none}.social-tags span{margin-left:0;margin-right:15px}.project-title-row h1{font-size:10vw}.case-story{gap:25px}.case-intro{grid-template-columns:1fr 2.3fr}.swatch div{height:140px}.project-contact>p{font-size:17px}.project-title-row{align-items:flex-start}.concept-badge{margin-top:30px}}
@media(max-width:700px){.social-grid{gap:28px}.social-intro>p{font-size:15px}.social-tags{gap:3px}.social-tags span{font-size:11px}.about{grid-template-columns:1fr;gap:35px;padding-top:60px;padding-bottom:60px}.about-portrait{min-height:0;aspect-ratio:4/4.3;max-width:450px;width:100%}.about h2{font-size:34px}.about-copy>p:not(.eyebrow){font-size:15px}.about-lists{grid-template-columns:1.3fr 1fr}.about-lists ul{display:block;font-size:13px}.about blockquote{font-size:17px}.contact-arrow{font-size:95px;align-self:flex-start;margin-top:8px}.contact h2{font-size:clamp(45px,9.8vw,70px)}.contact-bottom{flex-direction:column;align-items:stretch;gap:35px;margin-top:30px}.contact-bottom>div>p{font-size:15px}.social-links{flex-direction:row;flex-wrap:wrap;gap:20px;justify-content:space-between}.pending-social{flex-direction:column;gap:2px;align-items:flex-start;min-width:70px}.pending-label{align-self:flex-start;font-size:9px}.social-links a{gap:15px}.project-header{padding-top:30px;padding-bottom:28px}.back-link{margin-bottom:34px}.project-title-row{display:block}.project-title-row h1{font-size:clamp(50px,12vw,84px)}.project-title-row .eyebrow{font-size:10px}.concept-badge{display:inline-block;margin:20px 0 0}.project-tagline{font-size:22px}.project-facts{grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.project-facts>div:last-child{grid-column:1/-1}.project-facts dd{font-size:13px}.project-hero{margin:0}.project-hero img{aspect-ratio:4/3}.case-intro{display:block;padding-top:50px}.case-intro h2{font-size:29px}.case-story{grid-template-columns:1fr;gap:30px;padding-top:40px;padding-bottom:40px}.story-item h2{font-size:25px;margin-top:14px}.story-item p{font-size:15px}.gallery-grid{gap:14px}.gallery-figure figcaption{font-size:10px;line-height:1.5}.image-expand{width:35px;height:35px;bottom:12px;right:12px;font-size:20px}.visual-system{display:block;padding:45px 0}.visual-system h2{font-size:32px}.swatches{width:100%;margin-top:25px;gap:10px}.swatch div{height:110px}.swatch span{font-size:10px}.case-results{padding-top:25px}.case-results>p:not(.eyebrow){font-size:15px}.case-results h2{font-size:31px}.demo-disclosure{font-size:10px;line-height:1.7}.project-navigation{grid-template-columns:1fr 1fr;padding:30px 0;gap:25px}.back-all{grid-row:2;grid-column:1/-1;justify-self:center}.project-navigation strong{font-size:24px}.project-navigation a>span{font-size:10px}.project-contact{display:block;text-align:center;padding-top:35px;padding-bottom:35px}.project-contact .text-link{margin-top:17px}.deliverables{grid-template-columns:1fr;gap:30px;padding:0 0 45px}.deliverables li{font-size:15px;padding:16px 0}.deliverables p:not(.eyebrow){font-size:15px}}
@media(max-width:600px){.social-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.gallery-detail .gallery-image{aspect-ratio:4/3}}
.lightbox-open{overflow:hidden}.gallery-custom img{transform:none!important}.filter{font-size:14px}.nav a{padding-block:10px}.hero-baseline{font-size:12px}.hero{padding-top:42px}.hero-content{padding-top:29px;padding-bottom:30px}.hero-bottom{padding-bottom:37px}.work{padding-top:66px}.project-caption p{font-size:13px}
@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.2s}
.real-project .project-title-row h1{font-size:clamp(44px,7vw,108px);overflow-wrap:break-word}.real-project .case-intro h2{font-size:clamp(22px,2.35vw,36px);line-height:1.5}.real-project .case-story{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.media-figure{margin:0;min-width:0}.media-figure .gallery-image{display:block;width:100%;padding:0;background:#101110;border:0;position:relative;overflow:hidden}.media-figure img,.media-figure video{display:block;width:100%;height:auto;object-fit:contain;max-height:85vh;background:#101110}.media-figure video{min-height:100px}.media-figure .gallery-image img{transform:none!important;aspect-ratio:var(--media-ratio)}.media-figure figcaption{display:flex;justify-content:space-between;gap:15px;font:11px/1.6 var(--mono);color:var(--muted);padding-top:12px;overflow-wrap:anywhere}.media-figure figcaption span{white-space:nowrap;color:var(--accent)}.real-hero .media-figure figcaption{padding-inline:var(--gutter)}.real-hero img{max-height:80vh;width:100%;object-fit:contain;aspect-ratio:var(--media-ratio)}.real-gallery{padding-top:36px}.media-row{display:grid;gap:30px;align-items:start;margin-bottom:52px}.columns-1{grid-template-columns:1fr}.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.media-heading{font-size:clamp(28px,4vw,48px);letter-spacing:-.04em;margin:35px 0}.collection-intro{font-size:clamp(19px,2vw,27px);line-height:1.6;max-width:850px;margin-top:28px;color:var(--muted)}.collection-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:35px;font:13px var(--mono)}.collection-links [aria-current]{color:var(--accent)}.brand-section{border-top:1px solid var(--line);padding-top:70px}.brand-intro{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;margin-bottom:60px}.brand-intro h2{font-size:clamp(30px,4vw,54px);letter-spacing:-.04em;margin-bottom:20px}.brand-intro p:not(.eyebrow){color:var(--muted);line-height:1.85}.brand-intro .gallery-image{background:transparent;padding:25px}.brand-intro img{background:transparent}.brand-section .columns-1{max-width:1120px;margin-inline:auto;gap:44px}.collection-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 24px;align-items:start}.collection-gallery .media-figure{padding-bottom:8px}.media-fallback{display:block;margin-top:10px;color:var(--accent);font-size:13px}.project-navigation strong{overflow-wrap:anywhere}.social .project-visual img{object-fit:contain;background:#101110}
@media(max-width:1000px){.collection-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-intro{gap:35px}}
@media(max-width:600px){.media-row{gap:14px;margin-bottom:32px}.columns-2,.columns-3,.columns-4{grid-template-columns:1fr}.brand-intro{grid-template-columns:1fr;gap:25px;margin-bottom:35px}.collection-gallery{grid-template-columns:1fr;gap:35px}.brand-section{padding-top:40px}.media-figure img,.media-figure video{max-height:75vh}.collection-links{gap:20px}.real-project .project-facts{grid-template-columns:1fr}.real-project .project-facts>div:last-child{grid-column:auto}.real-gallery{padding-top:20px}}
@media(max-width:700px){.filter{font-size:13px}.hero{padding-top:34px}.hero-content{padding-top:38px}.hero-baseline{font-size:10px}.work{padding-top:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
.social-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.media-figure .gallery-image{aspect-ratio:auto}.media-figure img{aspect-ratio:var(--media-ratio)}
.discipline-section{border-top:1px solid var(--line);padding-block:80px}.discipline-section:nth-of-type(even){background:var(--panel)}.discipline-gallery,.branding-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 26px;align-items:start}.brand-preview-logo{display:flex;align-items:center;justify-content:center;min-height:220px;padding:30px;background:#101110;margin-bottom:22px}.brand-preview-logo img{width:100%;height:160px;object-fit:contain}.branding-preview h3{font-size:24px}.branding-preview p{color:var(--muted);font-size:14px;margin:8px 0 14px}.header .nav{gap:clamp(12px,1.8vw,26px)}
@media(max-width:1000px){.discipline-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.header-contact{display:none}}
@media(max-width:700px){.discipline-section{padding-block:50px}.discipline-gallery,.branding-preview{grid-template-columns:1fr;gap:35px}.header .nav{gap:18px;padding-top:24px}.brand-preview-logo{min-height:180px}}
@media(max-width:700px){.social-grid{grid-template-columns:1fr}}
/* En móvil, mostrar el encuadre completo de las portadas de los proyectos. */
@media(max-width:700px){.work .project-visual img{object-fit:contain;object-position:center;transform:none}.work .project-visual{background:#101110}}
/* Galerías sin pies: celdas regulares y la misma separación en ambos ejes. */
.collection-gallery{gap:24px}.collection-gallery .media-figure{padding:0;aspect-ratio:1}.collection-gallery .gallery-image,.collection-gallery video{width:100%;height:100%;aspect-ratio:1;max-height:none}.collection-gallery .gallery-image img{width:100%;height:100%;aspect-ratio:1;object-fit:contain;max-height:none}.image-expand,.project-open{width:30px;height:30px;font-size:18px;bottom:12px;right:12px}
@media(max-width:600px){.collection-gallery{gap:18px}.image-expand,.project-open{width:27px;height:27px;font-size:17px;bottom:10px;right:10px}}
/* Portadas 16:9; las imágenes de apertura conservan su proporción real. */
.work .project-visual{aspect-ratio:16/9}.real-hero .media-figure,.real-hero .gallery-image,.real-hero img,.real-hero video{background:transparent}.real-hero img,.real-hero video{width:100%;height:auto;max-height:none;aspect-ratio:var(--media-ratio);object-fit:contain}.media-transparent .gallery-image,.media-transparent img{background:transparent}.brand-preview-photo{padding:0;min-height:0;aspect-ratio:16/9;overflow:hidden}.brand-preview-photo img{width:100%;height:100%;object-fit:cover}.lettering-square{max-width:620px;margin-inline:auto}.lettering-square .gallery-image{aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:24px}.lettering-square .gallery-image img{height:auto;width:100%;max-height:none}.lettering-gallery .media-figure,.lettering-gallery .gallery-image,.lettering-gallery video,.lettering-gallery .gallery-image img{aspect-ratio:16/9}.project-title-long .project-title-row h1{font-size:clamp(34px,4.8vw,72px);line-height:1.16;max-width:1200px}.wordmark{font-size:30px;letter-spacing:-1.8px}
@media(max-width:1100px) and (min-width:701px){.header .nav{gap:14px;font-size:13px}.header .wordmark{font-size:27px}.header-contact{display:none}}
@media(max-width:700px){.wordmark{font-size:27px}.project-title-long .project-title-row h1{font-size:36px}.lettering-square .gallery-image{padding:16px}}

/* Personal biography and uncropped portrait. */
.about{align-items:start}
.about-portrait{align-self:start;min-height:0;aspect-ratio:3/4}
.about-portrait img{position:static;display:block;width:100%;height:auto;filter:none}
.about-copy>p:not(.eyebrow){max-width:65ch;line-height:1.8}
.about-tools{margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}
.about-tools h3{font:12px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:13px}
.about-tools ul{display:flex;flex-wrap:wrap;gap:8px 0;list-style:none;padding:0;margin:0;font-size:14px;line-height:1.8}
.about-tools li:not(:last-child)::after{content:"·";padding:0 10px;color:var(--muted)}
.about-text-only{grid-template-columns:1fr}.about-text-only .about-copy{max-width:760px}
@media(max-width:700px){.about-portrait{aspect-ratio:3/4;max-width:450px}.about-tools ul{font-size:13px}}

/* Portrait-led editorial layout and direct project enquiries. */
.about{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.about-portrait{margin:0;aspect-ratio:auto;position:sticky;top:120px;max-width:460px}
.about-portrait img{max-height:calc(100svh - 245px);width:auto;max-width:100%;object-fit:contain;object-position:left top;border-radius:0}
.about-portrait figcaption{display:flex;justify-content:space-between;align-items:start;gap:20px;padding-top:18px}
.about-portrait figcaption strong{font-size:23px;font-weight:500;letter-spacing:-.03em}
.about-portrait figcaption span{font-size:12px;color:var(--muted);text-align:right;line-height:1.6}
.contact-editorial .contact-title{padding-bottom:55px;border-bottom:1px solid var(--line)}
.contact-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,120px);padding-top:55px}
.contact-intro h3{font-size:clamp(26px,2.5vw,38px);line-height:1.2;letter-spacing:-.035em}
.contact-intro>p{max-width:34ch;margin-top:22px;color:var(--muted);line-height:1.8}
.contact-direct{margin-top:36px}.contact-direct>span{display:block;font-size:12px;color:var(--muted);margin-bottom:10px}
.contact-direct a{display:flex;align-items:center;gap:15px;font-size:clamp(16px,1.6vw,22px);overflow-wrap:anywhere}
.contact-direct svg,.contact-submit svg{width:22px;height:22px;flex-shrink:0}
.contact-profiles{display:flex;flex-wrap:wrap;gap:20px;margin-top:28px;font-size:14px}
.contact-form h3{font-size:28px;letter-spacing:-.03em;line-height:1.3}
.form-required{font-size:12px;color:var(--muted);margin-top:9px;margin-bottom:32px}
.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
.contact-field{min-width:0}.contact-field-wide{grid-column:1/-1}
.contact-field label{display:block;font-size:12px;line-height:1.5;margin-bottom:9px}.contact-field label span{color:var(--muted)}
.contact-field input,.contact-field textarea{display:block;width:100%;min-width:0;border:0;border-bottom:1px solid #73786a;border-radius:0;background:transparent;color:var(--ink);font:16px/1.6 var(--font);padding:10px 0 13px;caret-color:var(--accent)}
.contact-field textarea{resize:vertical;min-height:135px;max-height:500px}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--muted);opacity:1}
.contact-field input:focus-visible,.contact-field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-color:var(--accent)}
.contact-field input:user-invalid,.contact-field textarea:user-invalid{border-color:#f4a28e}
.contact-submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:54px;padding:15px 23px;border:1px solid var(--accent);border-radius:0;background:var(--accent);color:var(--bg);font-size:14px;margin-top:30px}
.contact-submit:disabled{background:#363b2b;border-color:#687049;color:#c6cbb8;cursor:not-allowed}
.contact-note,.contact-form-status{font-size:12px;line-height:1.7;color:var(--muted);margin-top:15px;max-width:70ch}
@media(hover:hover){.contact-submit:not(:disabled):hover{background:var(--ink);border-color:var(--ink)}.contact-direct a:hover,.contact-profiles a:hover{color:var(--accent)}}
@media(max-width:1000px){.about,.contact-layout{gap:40px}.about-portrait figcaption{display:block}.about-portrait figcaption span{display:block;text-align:left;margin-top:5px}}
@media(max-width:700px){.about,.contact-layout{grid-template-columns:minmax(0,1fr)}.about-portrait{position:static;max-width:100%}.about-portrait img{width:100%;height:auto;max-height:none}.about-portrait figcaption{display:flex}.about-portrait figcaption span{text-align:right;margin-top:0}.contact-editorial .contact-title{padding-bottom:32px}.contact-layout{padding-top:32px;gap:40px}.contact-fields{grid-template-columns:minmax(0,1fr);gap:23px}.contact-form h3{font-size:26px}.contact-intro>p{max-width:40ch}.contact-editorial{padding-bottom:60px}}
/* Typographic opening: project imagery starts in Trabajos. */
.hero-type{padding:66px var(--gutter) 0}
.hero-type .hero-intro{font-size:13px;color:var(--muted);margin-bottom:32px}
.hero-type h1{font-size:clamp(56px,7.7vw,116px);line-height:1.06;letter-spacing:-.04em;font-weight:600;max-width:none}
.hero-type h1>span{display:block}
.hero-type-bottom{display:flex;justify-content:space-between;align-items:center;gap:35px;margin:42px 0 60px}
.hero-type .hero-description{color:#c2c5b9;font-size:17px;line-height:1.75}
.hero-type .hero-actions{gap:28px;flex-wrap:wrap;margin:0}
.hero-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:20px 0;font-size:11px;color:var(--muted)}
.hero-footer a{color:var(--ink);display:flex;gap:20px}
@media(max-width:1000px){.hero-type-bottom{align-items:flex-start;flex-direction:column;gap:24px}.hero-type h1{font-size:7.7vw}}
@media(max-width:700px){.hero-type{padding-top:38px}.hero-type .hero-intro{font-size:10px;margin-bottom:30px}.hero-type h1{font-size:clamp(40px,12vw,76px);line-height:1.08}.hero-type h1 em{display:block}.hero-type-bottom{margin:26px 0 34px;gap:26px}.hero-type .hero-description{font-size:15px}.hero-type .hero-actions{gap:22px}.hero-type .button{padding:13px 18px;font-size:13px;gap:23px}.hero-type .text-link{font-size:13px}.hero-footer{font-size:10px;gap:12px}.hero-footer a{gap:8px}}

/* About: an editorial spread with a complete biography and clear reading order. */
.about-editorial{background:#22251f;color:var(--ink);padding-block:90px;--about-muted:#bfc4b7;--about-line:#454b3e}
.about-editorial ::selection{background:var(--accent);color:var(--bg)}
.about-opening{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:52px}
.about-opening h2{font-size:clamp(42px,5.5vw,80px);line-height:1.04;letter-spacing:-.04em}.about-opening em{color:var(--accent)}
.about-opening>p{font-size:14px;line-height:1.8;color:var(--about-muted);padding-bottom:5px}
.about-profile{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,7vw,100px);align-items:center}
.about-photo{margin:0;max-width:480px;width:100%}.about-photo img{width:100%;height:auto;aspect-ratio:3/4}
.about-photo figcaption{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;padding-top:14px;font-size:12px}.about-photo figcaption span{color:var(--about-muted)}
.about-lead{font-size:clamp(20px,1.9vw,28px);line-height:1.6;letter-spacing:-.02em;max-width:41ch}
.about-link{display:inline-flex;align-items:center;gap:35px;padding:12px 0 8px;margin-top:18px;border-bottom:1px solid #707965;font-size:14px}
.about-experience{margin-top:42px;padding-top:27px;border-top:1px solid var(--about-line)}
.about-editorial h3{font-size:18px;letter-spacing:-.025em;margin-bottom:14px;line-height:1.35}
.about-experience p,.about-story p,.about-practice p{font-size:15px;line-height:1.85;color:var(--about-muted);max-width:65ch}
.about-story{display:grid;grid-template-columns:.55fr 1fr 1fr;gap:clamp(25px,4vw,64px);border-top:1px solid var(--about-line);padding-top:35px;margin-top:64px}
.about-story h3{font-size:26px;letter-spacing:-.035em}
.about-practice{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,100px);margin-top:42px;padding-top:35px;border-top:1px solid var(--about-line)}
.about-toolbox ul{list-style:none;display:flex;flex-wrap:wrap;gap:9px 0;margin:0;padding:0;font-size:14px;color:var(--about-muted)}
.about-toolbox li:not(:last-child)::after{content:' / ';padding:0 10px;color:var(--about-muted)}
.about-editorial a:focus-visible{outline-color:var(--accent)}
@media(hover:hover){.about-link:hover{color:var(--accent);border-color:var(--accent)}}
@media(max-width:1100px){.about-profile{gap:40px;align-items:start}.about-story{grid-template-columns:1fr 1fr;gap:24px 35px}.about-story h3{grid-column:1/-1}.about-story h3 br{display:none}.about-story h3 br::after{content:' '}.about-lead{font-size:21px}.about-experience{margin-top:28px;padding-top:22px}}
@media(max-width:700px){.about-editorial{padding-block:52px}.about-opening{display:block;margin-bottom:28px}.about-opening h2{font-size:clamp(38px,10.5vw,65px)}.about-opening>p{margin-top:20px;font-size:13px}.about-profile{grid-template-columns:minmax(0,1fr);gap:29px}.about-photo{max-width:410px}.about-photo figcaption{font-size:11px;gap:5px}.about-photo figcaption span{display:block;width:100%}.about-lead{font-size:20px;line-height:1.65}.about-story,.about-practice{grid-template-columns:minmax(0,1fr);gap:24px}.about-story{margin-top:36px;padding-top:28px}.about-story h3{margin:0}.about-story h3 br{display:initial}.about-experience p,.about-story p,.about-practice p{font-size:14px;line-height:1.85}.about-practice{margin-top:30px;padding-top:28px}.about-toolbox ul{font-size:13px}}

body:has(.about-editorial) .header::before{content:"";position:absolute;inset:0 calc(-1 * var(--gutter));z-index:-1;background:var(--bg)}
/* Social cases share the portfolio type, palette and spacing. */
.rrss{border-top:1px solid var(--line);padding-block:90px}
.rrss-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:7vw;align-items:end;margin-bottom:42px}
.rrss h2{font-size:clamp(35px,4.1vw,62px);line-height:1.12;letter-spacing:-.04em}
.rrss-heading>p{font-size:16px;color:var(--muted);line-height:1.8;max-width:43ch}
.rrss-preview-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;font-size:12px;color:var(--muted)}
.rrss-preview-toggle{background:none;border:1px solid #59604e;border-radius:30px;padding:11px 18px;font-size:12px;color:var(--ink);min-height:44px}
.rrss-intro{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.rrss-video-card{margin:0;min-width:0}
.rrss-video-frame{position:relative;background:#101210;aspect-ratio:9/16;overflow:hidden;border-radius:16px}
.rrss-video-frame video{display:block;width:100%;height:100%;object-fit:contain;background:#101210}
.rrss-video-card figcaption{display:flex;justify-content:space-between;gap:10px;padding-top:14px;font-size:12px;color:var(--muted)}
.rrss-intro figcaption{display:block}.rrss-intro figcaption>span{font-size:15px;color:var(--ink)}.rrss-intro figcaption small{display:block;font-size:11px;margin-top:4px}
.rrss-case-nav{display:flex;flex-wrap:wrap;gap:12px 28px;padding:30px 0;margin:25px 0 10px;border-bottom:1px solid var(--line)}
.rrss-case-nav a{font-size:13px;padding:10px 0;min-height:44px}.rrss-case-nav span{color:var(--accent);margin-left:8px}
.rrss-case{padding:65px 0;border-bottom:1px solid var(--line);scroll-margin-top:16px}
.rrss-case-copy{display:flex;justify-content:space-between;gap:35px;align-items:start;margin-bottom:30px}
.rrss-case h3{font-size:clamp(32px,4vw,55px);letter-spacing:-.04em;line-height:1.12}
.rrss-case-copy>p{font-size:15px;color:var(--muted);line-height:1.8;max-width:42ch}
.rrss-case-videos{display:grid;gap:28px;max-width:1050px;margin-left:auto}
.rrss-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rrss-count-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:730px}
.rrss-featured,.rrss-product,.rrss-spotlight{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:6vw}
.rrss-featured .rrss-case-copy,.rrss-product .rrss-case-copy,.rrss-spotlight .rrss-case-copy{display:block}
.rrss-featured .rrss-case-copy p,.rrss-product .rrss-case-copy p,.rrss-spotlight .rrss-case-copy p{margin-top:24px}
.rrss-featured .rrss-case-videos,.rrss-product .rrss-case-videos{width:100%}
.rrss-metrics{list-style:none;margin:0;padding:18px 0 0;display:flex;gap:22px;flex-wrap:wrap}
.rrss-metrics li{display:flex;gap:9px;align-items:center}.rrss-metrics svg{width:21px;height:21px;flex-shrink:0;color:var(--accent)}
.rrss-metrics strong{display:block;font-size:clamp(24px,2.5vw,36px);line-height:1.2;font-weight:500;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.rrss-metrics li>div>span{font-size:10px;color:var(--muted)}
.rrss-featured .rrss-metrics strong{color:var(--accent);font-size:clamp(30px,3vw,43px)}
.rrss-product .rrss-metrics strong{font-size:22px;color:var(--ink)}
.rrss-spotlight{align-items:center}.rrss-count-1{grid-template-columns:minmax(0,1fr);width:100%;max-width:350px;margin-right:10%}
.rrss-spotlight-number{font-size:clamp(85px,12vw,170px);letter-spacing:-.04em;line-height:1.15;color:var(--accent);margin-top:30px}
.rrss-spotlight-number span{display:block;font-size:20px;line-height:1.5;letter-spacing:-.02em;color:var(--ink);margin-top:10px}
.rrss-outro{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:40px}.rrss-outro>p{font-size:clamp(22px,2.5vw,34px);letter-spacing:-.03em}
.rrss-fallback{position:absolute;bottom:60px;left:16px;right:16px;padding:12px;background:var(--accent);color:var(--bg);text-align:center;font-size:14px}
@media(hover:hover) and (pointer:fine){.rrss-case-nav a:hover,.rrss-preview-toggle:hover{color:var(--accent)}.rrss-video-frame{transition:transform 200ms var(--ease)}.rrss-video-frame:hover{transform:translateY(-3px)}}
@media(max-width:1100px){.rrss-heading{gap:35px}.rrss-featured,.rrss-product{grid-template-columns:1fr;gap:20px}.rrss-featured .rrss-case-copy,.rrss-product .rrss-case-copy{display:flex}.rrss-featured .rrss-case-copy p,.rrss-product .rrss-case-copy p{margin:0}.rrss-count-2{max-width:700px;width:100%;margin-inline:auto}.rrss-case-videos{gap:20px}.rrss-metrics{gap:15px}.rrss-metrics strong{font-size:27px}.rrss-intro{gap:14px}.rrss-count-1{margin-right:0}}
@media(max-width:700px){.rrss{padding-block:55px}.rrss-heading{grid-template-columns:1fr;gap:22px;margin-bottom:28px}.rrss h2{font-size:35px}.rrss-heading>p{font-size:15px}.rrss-preview-toolbar{align-items:start;gap:14px}.rrss-preview-toolbar p{max-width:15ch}.rrss-preview-toggle{font-size:11px;padding:10px 13px;white-space:nowrap}.rrss-intro{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.rrss-intro figcaption>span{font-size:13px}.rrss-intro figcaption small{font-size:10px}.rrss-case-nav{gap:4px 20px;padding:20px 0}.rrss-case-nav a{font-size:12px}.rrss-case{padding:38px 0;scroll-margin-top:12px}.rrss-case-copy,.rrss-featured .rrss-case-copy,.rrss-product .rrss-case-copy{display:block}.rrss-case h3{font-size:35px}.rrss-case-copy>p,.rrss-featured .rrss-case-copy p,.rrss-product .rrss-case-copy p{font-size:14px;margin-top:17px}.rrss-count-2,.rrss-count-3{grid-template-columns:minmax(0,1fr);max-width:360px;gap:35px;margin-inline:auto}.rrss-metrics{gap:34px;padding-top:16px}.rrss-metrics strong{font-size:32px}.rrss-featured .rrss-metrics strong{font-size:38px}.rrss-spotlight{grid-template-columns:1fr;gap:25px}.rrss-count-1{max-width:360px;margin-inline:auto}.rrss-spotlight-number{font-size:96px;margin-top:20px}.rrss-spotlight-number span{font-size:18px}.rrss-outro{display:block;padding-top:30px}.rrss-outro .text-link{margin-top:22px}.rrss-outro>p{font-size:27px}}

.rrss-video-frame:has(video:focus-visible){outline:2px solid var(--accent);outline-offset:5px}.rrss-video-frame video{cursor:pointer}

/* Social case studies: editorial copy and explicit units for every result. */
.rrss-editorial-heading{margin-bottom:38px}
.rrss-editorial-heading h2{max-width:1150px;font-size:clamp(34px,3.7vw,55px);line-height:1.13;text-wrap:balance}
.rrss-heading-promise{font-size:clamp(23px,2.6vw,38px);line-height:1.25;color:var(--accent);letter-spacing:-.025em;margin-top:12px;text-wrap:balance;max-width:1000px}
.rrss-service{display:flex;justify-content:space-between;gap:28px;margin-top:28px;padding-bottom:28px;border-bottom:1px solid var(--line);font-size:15px}
.rrss-service>span{color:var(--muted);white-space:nowrap}
.rrss-introduction{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-top:28px;font-size:16px;line-height:1.8;color:var(--muted)}
.rrss-introduction p{max-width:65ch}
.rrss-introduction .rrss-intro-objective{color:var(--ink);font-size:23px;line-height:1.45;letter-spacing:-.02em;margin-top:14px}
.rrss-expanded .rrss-case-copy{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:6vw;margin-bottom:36px}
.rrss-expanded.rrss-featured,.rrss-expanded.rrss-product,.rrss-expanded.rrss-spotlight{align-items:start;gap:38px 6vw}
.rrss-expanded.rrss-featured .rrss-case-copy,.rrss-expanded.rrss-product .rrss-case-copy,.rrss-expanded.rrss-spotlight .rrss-case-copy{display:block;margin-bottom:0}
.rrss-expanded .rrss-case-identity .rrss-sector{font-size:13px;color:var(--muted);margin:12px 0 0;line-height:1.6}
.rrss-facts{display:flex;flex-wrap:wrap;gap:22px 34px;margin:26px 0 0}
.rrss-facts>div{display:flex;flex-direction:column-reverse;gap:6px;max-width:200px}
.rrss-facts dt{font-size:12px;color:var(--muted);line-height:1.5}
.rrss-facts dd{margin:0;font-size:32px;line-height:1.1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.rrss-story h4,.rrss-impact h4{font-size:clamp(23px,2.1vw,29px);line-height:1.3;letter-spacing:-.025em;text-wrap:balance}
.rrss-featured .rrss-story,.rrss-product .rrss-story,.rrss-spotlight .rrss-story{margin-top:30px}
.rrss-expanded .rrss-story p,.rrss-impact p{font-size:15px;line-height:1.8;color:var(--muted);max-width:65ch;margin-top:17px}
.rrss-video-group{min-width:0}
.rrss-result-intro{margin-bottom:20px;font-size:18px}
.rrss-impact{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:6vw;margin-top:36px;padding-top:30px;border-top:1px solid var(--line)}
.rrss-featured .rrss-impact{margin-top:0}
.rrss-impact p:first-child{margin-top:0}
.rrss-metrics li>div>.rrss-metric-unit{display:block;color:var(--ink);font-size:14px;font-weight:600;line-height:1.4;margin-top:3px}
.rrss-metrics li>div>.rrss-metric-platform{display:block;font-size:11px;line-height:1.5;margin-top:3px}
.rrss-expanded .rrss-spotlight-number{font-size:clamp(48px,5.5vw,78px);line-height:1.15;white-space:nowrap}
.rrss-expanded .rrss-spotlight-number span{font-size:17px;margin-top:4px}
.rrss-practice{padding-top:70px}
.rrss-practice>h3{font-size:clamp(30px,3.3vw,46px);line-height:1.2;letter-spacing:-.035em;max-width:1000px;text-wrap:balance}
.rrss-practice-body,.rrss-practice-conclusion{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-top:34px}
.rrss-practice p{font-size:15px;line-height:1.8;color:var(--muted);margin-bottom:18px;max-width:65ch}
.rrss-practice-conclusion{padding-top:30px;border-top:1px solid var(--line)}
.rrss-practice-conclusion h4{font-size:clamp(24px,2.3vw,32px);line-height:1.35;letter-spacing:-.025em;color:var(--accent);text-wrap:balance}
.rrss-practice-conclusion{align-items:start}.rrss-practice-conclusion h4{margin:0}.rrss-practice-conclusion p:first-child{margin-top:0}

/* Continuous biography and the supplied institutional funding notice. */
.about-biography{max-width:86ch;margin:55px auto 0;font-size:16px;line-height:1.9;color:var(--about-muted)}
.about-biography p+p{margin-top:23px}
.about-tools-row{display:grid;grid-template-columns:minmax(160px,.35fr) 1fr;gap:35px;margin-top:44px;padding-top:30px;border-top:1px solid var(--about-line)}
.about-tools-row h3{margin:0}
.aid-notice{padding-block:55px;background:var(--bg)}
.aid-plaque{background:#fff;color:#151515;max-width:1200px;margin-inline:auto;padding:clamp(24px,4.5vw,68px)}
.aid-logos{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-bottom:40px}
.aid-eu{width:440px;height:auto;max-width:52%}
.aid-junta{width:285px;height:auto;max-width:34%}
.aid-plaque h2{font:600 clamp(24px,2.6vw,36px)/1.25 var(--font);letter-spacing:-.02em;max-width:900px}
.aid-programme{font-size:16px;line-height:1.65;margin-top:22px;max-width:80ch}
.aid-beneficiary{font-size:22px;font-weight:600;line-height:1.4;margin-top:32px}
.aid-description{font-size:15px;line-height:1.85;max-width:100ch;margin-top:16px}
.aid-ministry{width:660px;max-width:100%;height:auto;margin-top:35px}
@media(max-width:700px){.about-biography{font-size:14px;line-height:1.85;margin-top:32px}.about-biography p+p{margin-top:20px}.about-tools-row{grid-template-columns:1fr;gap:18px;margin-top:30px;padding-top:24px}.aid-notice{padding-block:35px}.aid-plaque{padding:24px 20px}.aid-logos{flex-direction:column;align-items:start;gap:24px;margin-bottom:28px}.aid-eu{width:100%;max-width:none}.aid-junta{width:225px;max-width:100%}.aid-plaque h2{font-size:24px}.aid-programme{font-size:13px;line-height:1.7;margin-top:18px}.aid-beneficiary{font-size:19px;margin-top:26px}.aid-description{font-size:13px;line-height:1.8}.aid-ministry{margin-top:26px}}
@media(max-width:1100px){.rrss-expanded.rrss-featured .rrss-case-copy,.rrss-expanded.rrss-product .rrss-case-copy{display:grid}.rrss-featured .rrss-story,.rrss-product .rrss-story{margin-top:0}.rrss-expanded .rrss-story p{margin-top:17px}.rrss-expanded .rrss-spotlight-number{font-size:49px}.rrss-expanded.rrss-spotlight{grid-template-columns:1.1fr .9fr;gap:35px}}
@media(max-width:700px){.rrss-service{display:block;font-size:14px;margin-top:22px;padding-bottom:22px}.rrss-service>span{display:block;margin-top:12px}.rrss-editorial-heading h2{font-size:32px;text-wrap:pretty}.rrss-introduction{grid-template-columns:1fr;gap:22px;font-size:14px;margin-top:22px}.rrss-introduction .rrss-intro-objective{font-size:21px}.rrss-expanded .rrss-case-copy,.rrss-expanded.rrss-featured .rrss-case-copy,.rrss-expanded.rrss-product .rrss-case-copy{display:block}.rrss-expanded .rrss-story{margin-top:24px}.rrss-expanded .rrss-story p,.rrss-impact p{font-size:14px;line-height:1.8;margin-top:15px}.rrss-facts{gap:24px;margin-top:22px}.rrss-facts>div{max-width:210px}.rrss-facts dd{font-size:29px}.rrss-facts dt{font-size:11px}.rrss-expanded.rrss-spotlight{grid-template-columns:1fr;gap:28px}.rrss-impact{grid-template-columns:1fr;gap:18px;margin-top:30px;padding-top:25px}.rrss-impact p:first-child{margin-top:0}.rrss-practice{padding-top:44px}.rrss-practice-body,.rrss-practice-conclusion{grid-template-columns:1fr;gap:0;margin-top:25px}.rrss-practice-conclusion{gap:22px}.rrss-practice p{font-size:14px}.rrss-practice>h3{font-size:30px}.rrss-practice-conclusion h4{font-size:25px}.rrss-expanded .rrss-spotlight-number{font-size:56px}}

/* Footer funding disclosure and matching direct-contact links. */
.footer.footer-expanded{display:block;padding:38px var(--gutter) 25px;background:var(--bg)}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:28px}
.footer-links{display:flex;flex-wrap:wrap;gap:16px 30px}
.footer-links a,.contact-profiles a{display:flex;align-items:center;gap:15px;min-height:44px;color:var(--ink)}
.footer-links a{gap:10px;font-size:14px}
.footer-links svg,.contact-profiles svg{width:22px;height:22px;flex-shrink:0}
.contact-profiles{margin-top:10px}
.contact-profiles a{font-size:clamp(16px,1.6vw,22px)}
.footer-links a:hover,.footer-top>a:last-child:hover{color:var(--accent)}
.footer-expanded .aid-notice{padding:38px 0;margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.footer-expanded .aid-plaque{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 6vw;max-width:none;padding:0;background:transparent;color:var(--ink)}
.footer-expanded .aid-logos{grid-column:1/-1;background:#fff;padding:24px 30px;margin-bottom:32px;gap:30px}
.footer-expanded .aid-eu{width:390px;max-width:54%}
.footer-expanded .aid-junta{width:250px;max-width:34%}
.footer-expanded .aid-plaque h2{font-size:clamp(22px,2.2vw,30px);grid-column:1;grid-row:2/4;max-width:26ch}
.footer-expanded .aid-plaque p{order:initial;width:auto}
.footer-expanded .aid-programme{grid-column:2;font-size:14px;line-height:1.7;margin:0;color:var(--muted)}
.footer-expanded .aid-beneficiary{grid-column:2;font-size:16px;margin-top:18px}
.footer-expanded .aid-description{grid-column:2;font-size:13px;line-height:1.85;margin-top:14px;color:var(--muted)}
.footer-expanded .aid-ministry{grid-column:1;grid-row:4;align-self:start;width:420px;margin-top:22px;background:#fff;padding:15px}
.footer-expanded .footer-copyright{margin-top:23px;font-size:12px}
@media(max-width:700px){.footer-top{flex-wrap:wrap;gap:18px}.footer-links{order:3;width:100%;flex-direction:column;gap:2px}.footer-expanded .aid-notice{margin-top:24px;padding:28px 0}.footer-expanded .aid-plaque{grid-template-columns:1fr}.footer-expanded .aid-logos{padding:22px 18px;gap:24px;margin-bottom:26px}.footer-expanded .aid-eu{width:100%;max-width:none}.footer-expanded .aid-junta{width:220px;max-width:100%}.footer-expanded .aid-plaque h2{grid-column:1;grid-row:auto;max-width:none;font-size:24px}.footer-expanded .aid-programme{grid-column:1;margin-top:20px}.footer-expanded .aid-beneficiary,.footer-expanded .aid-description{grid-column:1}.footer-expanded .aid-ministry{grid-column:1;grid-row:auto;width:100%;margin-top:26px}.footer-links a{font-size:14px}}

/* Service pages inherit the portfolio typography, colour and spacing. */
.seo-services h2,.seo-service-work h2{font-size:clamp(32px,4vw,56px);line-height:1.15;letter-spacing:-.035em;margin:16px 0 35px}
.seo-service-list>a{display:grid;grid-template-columns:1fr 1fr 24px;gap:35px;align-items:center;padding:28px 0;border-top:1px solid var(--line)}
.seo-service-list h3{font-size:clamp(22px,2.1vw,30px);font-weight:500;line-height:1.3}.seo-service-list p{color:var(--muted);line-height:1.7;max-width:52ch}.seo-service-list>a:hover h3{color:var(--accent)}
.seo-service-heading .eyebrow{margin-top:44px}.seo-service-heading h1{font-size:clamp(38px,5.5vw,78px);line-height:1.08;letter-spacing:-.035em;max-width:20ch;margin:24px 0}.seo-service-lead{font-size:clamp(19px,2vw,28px);line-height:1.5;max-width:55ch;color:var(--muted);margin-bottom:28px}
.seo-service-body{display:grid;grid-template-columns:1fr 1fr;gap:6vw;border-top:1px solid var(--line)}.seo-service-body h2{font-size:clamp(30px,3.8vw,50px);line-height:1.15;letter-spacing:-.025em}.seo-service-body p,.seo-service-body li{font-size:16px;line-height:1.85;color:var(--muted);max-width:65ch}.seo-service-body h3{font-size:22px;margin:30px 0 14px}.seo-service-body h3:first-child{margin-top:0}.seo-service-body ul{padding-left:20px}.seo-service-note{margin-top:22px}.seo-service-body .text-link{margin-top:25px}.seo-service-body p a{text-decoration:underline;overflow-wrap:anywhere}
.seo-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-bottom:32px}.seo-case-grid img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#101210}.seo-case-grid h3{font-size:22px;line-height:1.4;margin:18px 0 10px}.seo-case-grid p{font-size:13px;color:var(--muted);line-height:1.7}
.seo-related{display:flex;flex-wrap:wrap;gap:25px 35px;border-top:1px solid var(--line)}.seo-related p{width:100%;font-size:22px}.seo-related .text-link{font-size:16px}
.work-motion-aside>.seo-hero-description:first-child{font-size:16px;line-height:1.7;color:var(--muted);letter-spacing:0;margin-bottom:24px}
@media(max-width:1100px){.header .nav{gap:18px}.seo-case-grid{gap:20px}}
@media(max-width:700px){.seo-service-list>a{grid-template-columns:1fr 20px;gap:12px;padding:23px 0}.seo-service-list p{grid-column:1;grid-row:2;font-size:14px}.seo-service-list>a>span{grid-column:2;grid-row:1}.seo-service-body{grid-template-columns:1fr;gap:30px}.seo-case-grid{grid-template-columns:1fr;gap:35px}.seo-service-body p,.seo-service-body li{font-size:15px}.seo-service-heading .eyebrow{margin-top:30px}.seo-related{gap:22px}.seo-related .text-link{font-size:14px}.seo-service-heading h1{overflow-wrap:break-word}.work-motion-aside>.seo-hero-description:first-child{max-width:42ch}}

.seo-breadcrumbs{padding:26px var(--gutter) 0;color:var(--muted);font-size:12px;line-height:1.7}.seo-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px 12px;list-style:none;margin:0;padding:0}.seo-breadcrumbs li+li::before{content:'/';margin-right:12px;color:var(--muted)}.seo-breadcrumbs a:hover{color:var(--accent)}.seo-breadcrumbs [aria-current]{color:var(--ink)}

/* Two remaining brand identities share the available width. */
.branding-preview{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.branding-preview{grid-template-columns:1fr}}
