@charset "UTF-8";
:root{--blue:#1702CD;--ink:#141414;--paper:#f6f5f1;--pad:clamp(22px,4vw,72px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:6px}.skip{position:absolute;top:-90px;left:20px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}header{position:relative;display:flex;justify-content:space-between;align-items:center;padding:26px var(--pad);z-index:10}header img{width:100px;height:auto;display:block}.header-right{display:flex;gap:50px;align-items:center}.location,.micro,.project-meta,.eyebrow,.section-num{font-size:11px;font-weight:500;line-height:1.5;letter-spacing:.08em;text-transform:uppercase}.menu-toggle{border:0;border-bottom:1px solid;background:none;padding:8px 0;min-height:44px;cursor:pointer;font-size:13px;display:flex;gap:34px;align-items:center}.menu-toggle span{font-size:25px;font-weight:400;transition:transform .3s}.menu-toggle[aria-expanded=true] span{transform:rotate(45deg)}nav{position:absolute;right:var(--pad);top:95px;background:var(--blue);color:white;padding:26px;min-width:280px;display:none;box-shadow:0 15px 40px #0002}nav.open{display:grid;gap:14px}nav a{font-size:17px}nav .sep{display:none}nav a.idioma{font-size:12px;display:inline-block}.hero{padding:36px var(--pad) 0;position:relative;min-height:700px}.hero-top{display:flex;justify-content:space-between;border-top:1px solid #17171733;padding-top:14px}.hero-title{font-size:clamp(54px,8.7vw,150px);font-weight:500;letter-spacing:-.072em;line-height:1.01;color:var(--blue);margin:45px 0 20px;position:relative;z-index:2;width:75%;pointer-events:none}.hero-title .line{display:block}.hero-title .offset{padding-left:11vw}.hero-title .outline{-webkit-text-stroke:1.2px var(--blue);color:transparent}.hero-aside{position:absolute;right:var(--pad);top:224px;width:25%;z-index:1}.hero-aside img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}.hero-aside .micro{margin-top:12px;display:block}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:24px 0 42px}.hero-bottom p{font-size:14px;line-height:1.7;max-width:350px;margin:0}.round-link{display:flex;gap:16px;align-items:center;font-size:12px}.arrow-circle{width:55px;height:55px;border:1px solid;border-radius:50%;display:grid;place-items:center;font-size:25px;transition:background .25s,color .25s,transform .3s}.round-link:hover .arrow-circle{background:var(--blue);color:white;transform:rotate(-35deg)}.section-head{display:flex;justify-content:space-between;align-items:baseline;padding:24px 0;border-top:1px solid #17171740}.section-head h2{font-size:15px;font-weight:500;margin:0}.section-head a{font-size:12px;border-bottom:1px solid;padding-bottom:4px}.work{padding:30px var(--pad) 90px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px 26px}.project:first-child{grid-column:1/-1}.project:nth-child(3){margin-top:110px}.project:nth-child(4){grid-column:1/-1;width:83%;margin:0 auto}.project:nth-child(6){margin-top:90px}.image-frame{overflow:hidden;position:relative;background:#e8e7e2}.image-frame img{height:auto;display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1s cubic-bezier(.2,.6,.2,1)}.project:first-child img{aspect-ratio:1.95}.project:nth-child(4) img{aspect-ratio:1.75}.image-frame:after{content:'↗';position:absolute;right:20px;bottom:20px;background:var(--paper);width:44px;height:44px;display:grid;place-items:center;border-radius:50%;font-size:24px;transform:translateY(80px);transition:transform .3s}.project:hover .image-frame:after,.project:focus .image-frame:after{transform:none}.project-caption{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding-top:15px}.project h3{font-size:11px;font-weight:500;letter-spacing:0;line-height:1.5;margin:0;text-transform:uppercase}.project-meta{text-transform:none;letter-spacing:0;font-size:11px;text-align:right}.manifesto{padding:75px var(--pad) 100px;border-top:1px solid #17171740}.manifesto-grid{display:grid;grid-template-columns:1fr 3fr;gap:30px;margin-top:45px}.manifesto h2{font-size:clamp(34px,4.6vw,74px);font-weight:500;letter-spacing:-.055em;line-height:1.12;margin:0}.manifesto p{max-width:500px;font-size:15px;line-height:1.8;margin:28px 0 0}.services{padding:0 var(--pad) 0}.services-list{margin-left:25%}.service-row{padding:22px 0;border-bottom:1px solid #17171740;display:grid;grid-template-columns:42px 1fr 24px;align-items:baseline;gap:14px}.service-row span:first-child{font-size:11px}.service-row h3{font-size:clamp(25px,3.2vw,48px);font-weight:400;letter-spacing:-.05em;margin:0}.service-row:hover{color:var(--blue)}.services-stage>.ia{grid-column:1/-1;margin:100px calc(var(--pad)*-1) 0;}
.services-sticky.hide-band{opacity:0;pointer-events:none;transition:opacity .3s}.ia[data-band]{display:block}.ia[data-band] .ia-grid{display:grid;grid-template-columns:1fr 3fr;gap:30px;margin-top:45px}.ia{background:var(--blue);color:white;padding:70px var(--pad);display:grid;grid-template-columns:1fr 3fr;gap:30px}.ia h2{font-size:clamp(36px,5.7vw,88px);font-weight:500;line-height:1.04;letter-spacing:-.055em;margin:0 0 26px}.ia p{font-size:15px;line-height:1.7;max-width:550px}.ia .round-link{margin-top:35px}.ia a:hover .arrow-circle{background:white;color:var(--blue)}.contact{padding:90px var(--pad) 60px}.contact h2{margin:26px 0 35px;font-size:clamp(58px,13vw,190px);font-weight:500;line-height:.95;letter-spacing:-.075em;color:var(--blue)}.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.contact-bottom p{font-size:14px;max-width:320px;line-height:1.7}.contact a{font-size:20px;border-bottom:1px solid;padding:8px 0}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #17171740;padding:28px var(--pad);font-size:11px}footer img{width:66px}footer a{padding:12px 8px}.in-view{animation:rise .85s both}@keyframes rise{from{opacity:.2;transform:translateY(35px)}to{opacity:1;transform:none}}.hero-title .line{animation:rise .9s both}.hero-title .line:nth-child(2){animation-delay:.1s}.hero-title .line:nth-child(3){animation-delay:.2s}.hero-title .line:nth-child(4){animation-delay:.3s}
@media(min-width:1600px){.hero{min-height:850px}.hero-aside{top:270px}}@media(max-width:760px){header{padding-top:20px;padding-bottom:20px}header img{width:80px}.location{display:none}.hero{padding-top:20px;min-height:0}.hero-top{font-size:9px;gap:20px}.hero-title{font-size:clamp(48px,10.9vw,82px);width:100%;margin-top:35px;line-height:1.05}.hero-title .offset{padding-left:12vw}.hero-aside{position:relative;right:auto;top:auto;width:62%;margin:30px 0 20px auto}.hero-aside img{aspect-ratio:1.45}.hero-bottom{padding:10px 0 30px;align-items:start;flex-direction:column;gap:24px}.hero-bottom p{font-size:13px;max-width:300px}.arrow-circle{width:44px;height:44px}.work{padding-top:20px;padding-bottom:50px}.section-head h2{font-size:13px}.section-head a{font-size:10px}.project-grid{grid-template-columns:1fr;gap:34px}.project:first-child,.project:nth-child(4){grid-column:auto;width:100%}.project:nth-child(3),.project:nth-child(6){margin-top:0}.project:first-child img,.project:nth-child(4) img{aspect-ratio:1.33}.project-caption{gap:12px}.project h3{font-size:10px}.project-meta{font-size:10px;max-width:45%}.image-frame:after{transform:none;width:34px;height:34px;right:12px;bottom:12px;font-size:20px}.manifesto{padding-top:40px;padding-bottom:50px}.manifesto-grid,.ia{grid-template-columns:1fr;gap:24px}.ia[data-band] .ia-grid{grid-template-columns:1fr;gap:24px;margin-top:28px}.manifesto-grid{margin-top:28px}.manifesto p,.ia p{font-size:13px}.services{padding-bottom:0}.services-stage>.ia{margin-top:50px}.services-list{margin-left:0}.service-row{grid-template-columns:26px 1fr 20px}.service-row h3{font-size:26px}.ia{padding-top:42px;padding-bottom:45px}.contact{padding-top:55px;padding-bottom:35px}.contact-bottom{align-items:start;flex-direction:column}.contact-bottom a{font-size:17px}footer{flex-wrap:wrap}footer span:last-child{width:100%;padding-top:8px}.hero-title .outline{-webkit-text-stroke:1px var(--blue)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;transform:none!important}}
/* Home motion study: image trails + scroll-led service index. */
header{position:sticky;top:0;background:var(--paper);transition:padding .35s,box-shadow .35s}header.compact{padding-top:12px;padding-bottom:12px;box-shadow:0 1px 0 #14141420}.hero-title{pointer-events:auto;cursor:crosshair;outline-offset:10px}.image-trail{position:absolute;inset:0;pointer-events:none;z-index:4;overflow:hidden}.image-trail img{position:absolute;left:0;top:0;width:clamp(130px,19vw,280px);aspect-ratio:4/3;object-fit:cover;opacity:0;will-change:transform,opacity;box-shadow:0 14px 30px #1414141a}.services-stage{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.services-sticky{position:sticky;top:150px;min-height:360px;padding-top:45px;color:var(--blue)}
.services-sticky.on-ia{color:#fff}.service-counter{font-size:12px;margin-top:60px;letter-spacing:.1em}.service-display{font-size:clamp(36px,4.5vw,70px);font-weight:500;line-height:1.06;letter-spacing:-.06em;max-width:550px;margin-top:18px}.service-orbit{display:grid;place-items:center;width:70px;height:70px;border:1px solid;border-radius:50%;font-size:32px;margin-top:35px;transition:transform .6s}.services-list{margin-left:0}.service-row{min-height:42vh;align-content:center;opacity:.35;transition:opacity .5s,color .5s}.service-row.active{opacity:1;color:var(--blue)}.service-display.swap{animation:service-in .55s both}@keyframes service-in{from{opacity:.2;transform:translateY(26px)}to{opacity:1;transform:none}}
@media(max-width:760px){.image-trail img{width:160px}.services-stage{display:block}.services-sticky{display:none}.service-row{min-height:100px;opacity:1}.hero-title{cursor:auto}.header-right{gap:20px}header.compact{padding-top:12px;padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){.image-trail{display:none}.services-stage{display:block}.services-sticky{display:none}.service-row{min-height:100px;opacity:1}.services-list{margin-left:25%}}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.services-list{margin-left:0}}
.service-row.in-view{animation:none}
@media(max-width:760px){.hero-aside{transform:none!important}.hero-aside .micro{position:relative}.image-trail{bottom:180px}}

/* Home v2 (27/10/2026): hero project carousel + hover photo cycling, no zoom. */
a.hero-aside{display:block;color:inherit}
.hero-carousel-frame{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#e8e7e2}
.hero-carousel-frame .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .55s ease}
.hero-carousel-frame .slide.on{opacity:1}
.hero-aside .micro{margin-top:12px;display:block}
a.hero-aside:hover .micro{color:var(--blue)}
@media(max-width:760px){.hero-carousel-frame{aspect-ratio:1.45}.hero-carousel-frame .slide{position:absolute;inset:0;width:100%;height:100%}}
.image-frame img.swap{transition:none}
/* linia sota header a pagines interiors (hero-top fora de .hero) */
body>.hero-top{margin:0 var(--pad)}

.legal-links{display:flex;gap:1.2rem;flex-wrap:wrap}
.legal-links a{text-decoration:none}
nav.open{grid-template-columns:repeat(3,max-content);justify-content:start;column-gap:22px}nav.open a:not(.idioma){grid-column:1/-1}nav.open .sep{display:block;grid-column:1/-1;height:1px;background:rgba(255,255,255,.35);font-size:0;line-height:0;margin:8px 0 2px;overflow:hidden}nav a.idioma{font-size:13px;letter-spacing:.06em;text-transform:uppercase}nav a.idioma.activa{text-decoration:underline;text-underline-offset:4px}
footer{padding-bottom:84px}
/* Canvis PDF Glòria (28/10/2026) */
.hero-title .outline{color:var(--paper);-webkit-text-stroke:2.6px var(--blue);paint-order:stroke fill;text-rendering:geometricPrecision}
.hero-bottom p.hero-lead{font-size:clamp(15px,1.2vw,18px);line-height:1.65;max-width:620px}
.project-grid.tiles{grid-template-columns:repeat(3,1fr);gap:0;margin:0 calc(-1*var(--pad))}
.project-grid.tiles .project{grid-column:auto;width:auto;margin:0;position:relative}
.project-grid.tiles .image-frame img{aspect-ratio:1600/788}
.project-grid.tiles .image-frame:after{display:none}
.project-grid.tiles .project-caption{position:absolute;left:0;right:0;bottom:0;padding:26px 16px 12px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;opacity:0;transition:opacity .25s}
.project-grid.tiles .project:hover .project-caption,.project-grid.tiles .project:focus-visible .project-caption{opacity:1}
.project-grid.tiles .project-meta{color:#fff}
@media(hover:none){.project-grid.tiles .project-caption{display:none}}
.project-grid.uniform{grid-template-columns:repeat(3,1fr);gap:34px 22px}
.project-grid.uniform .project{grid-column:auto;width:auto;margin:0}
.project-grid.uniform .image-frame img{aspect-ratio:1600/788}
@media(max-width:760px){.project-grid.uniform{grid-template-columns:1fr 1fr;gap:24px 12px}}
@media(max-width:480px){.project-grid.uniform{grid-template-columns:1fr}}
.clients{padding:20px 0 70px}
.clients .section-head{margin:0 var(--pad)}
.clients-marquee{overflow:hidden;margin-top:10px}
.clients-track{display:flex;width:max-content;animation:clients-scroll 55s linear infinite}
.clients-track img{height:72px;width:auto;display:block;mix-blend-mode:multiply;margin-right:28px}
@keyframes clients-scroll{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.clients-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}}
/* Serveis: bento + tecnologies (PDF Glòria) */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;padding:10px var(--pad) 60px}
.bento-tile{display:flex;flex-direction:column;justify-content:space-between;min-height:150px;padding:20px 22px;background:#fff;border:1px solid #17171718;border-radius:14px;color:var(--ink);text-decoration:none;grid-column:span 2;transition:background .3s,color .3s,transform .35s cubic-bezier(.2,.6,.2,1)}
.bento-tile.t4,.bento-tile.t5{grid-column:span 3;min-height:170px}
.bento-num{font-size:11px;letter-spacing:.08em}
.bento-name{font-size:clamp(17px,1.6vw,24px);line-height:1.2;font-weight:500;margin:22px 0 14px}
.bento-arrow{font-size:20px;align-self:flex-end}
.bento-tile:hover,.bento-tile:focus-visible{background:var(--blue);color:#fff;transform:translateY(-4px)}
.svc{scroll-margin-top:100px}
@media(max-width:760px){.bento{grid-template-columns:1fr 1fr;gap:10px}.bento-tile,.bento-tile.t4,.bento-tile.t5{grid-column:span 1;min-height:130px;padding:16px}.bento-name{font-size:16px}}
.tech{padding:30px var(--pad) 90px}
.tech-grid{display:grid;grid-template-columns:minmax(180px,1fr) 3fr;gap:40px;padding-top:30px}
.tech-grid>h2{font-size:clamp(20px,2vw,28px);font-weight:500;margin:0;line-height:1.2}
.tech-row{display:grid;grid-template-columns:minmax(150px,200px) 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--blue)}
.tech-row h3{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);margin:0}
.tech-row ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center}
.tech-chip{display:flex;align-items:center;gap:9px;font-size:14px;color:#6b6b6b;filter:grayscale(1)}
.tech-chip svg{width:22px;height:22px;flex:none}
@media(max-width:760px){.tech-grid{grid-template-columns:1fr;gap:18px}.tech-row{grid-template-columns:1fr;gap:12px}}
/* Pàgina Clients (proposta) */
.cl-sector{padding:30px var(--pad) 40px}
.cl-grid{display:grid;grid-template-columns:minmax(200px,1fr) 3fr;gap:40px;padding-top:24px;border-top:1px solid var(--blue)}
.cl-grid h2{font-size:clamp(20px,2vw,28px);font-weight:500;line-height:1.2;margin:0;color:var(--blue)}
.cl-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.cl-card{background:#fff;border:1px solid #17171718;border-radius:14px;padding:18px 18px 20px;display:flex;flex-direction:column;gap:6px;opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s cubic-bezier(.2,.6,.2,1),box-shadow .35s}
.cl-card.in{opacity:1;transform:none}
.cl-card:hover{transform:translateY(-5px);box-shadow:0 14px 30px #14141414}
.cl-logo{height:64px;display:flex;align-items:center;margin-bottom:10px}
.cl-logo img{max-width:100%;max-height:100%;width:auto;height:auto;filter:grayscale(1);mix-blend-mode:multiply;transition:filter .3s}
.cl-word{font-size:15px;font-weight:600;color:#8a8a8a;letter-spacing:.02em}
.cl-card h3{font-size:13px;font-weight:600;margin:0;text-transform:uppercase;letter-spacing:.04em}
.cl-card p{font-size:13px;line-height:1.5;margin:0;color:#555}
@media(max-width:760px){.cl-grid{grid-template-columns:1fr;gap:18px}.cl-list{grid-template-columns:1fr 1fr;gap:10px}}
@media(prefers-reduced-motion:reduce){.cl-card{opacity:1;transform:none;transition:none}}
.clients-marquee{background:#fff;padding:12px 0}
.clients-track img{margin-right:0;mix-blend-mode:normal;height:64px}
/* projectes.css (masonry) override + contorn net */
.project-grid.uniform{display:grid!important;column-count:auto!important;grid-template-columns:repeat(3,1fr)!important;gap:34px 22px!important}
.project-grid.uniform .project{margin:0!important;width:auto!important;grid-column:auto!important}
.project-grid.uniform .project img{aspect-ratio:1600/788!important}
@media(max-width:760px){.project-grid.uniform{grid-template-columns:1fr 1fr!important;gap:24px 12px!important}}
@media(max-width:480px){.project-grid.uniform{grid-template-columns:1fr!important}}
.hero-projects .hero-title .outline{color:var(--paper);-webkit-text-stroke:2.6px var(--blue);paint-order:stroke fill}
/* Projectes: proporció real de cada imatge, sense retall */
.project-grid.uniform{align-items:start!important}
.project-grid.uniform .project img{aspect-ratio:auto!important;height:auto!important;object-fit:contain!important}
.clients-hero{padding:70px var(--pad) 10px}
.clients-hero .micro{color:var(--blue);margin:0 0 14px}
.clients-hero .hero-title{width:100%;margin:0 0 20px}
.clients-hero .page-sub{max-width:640px;margin:0;font-size:17px;line-height:1.5}

.tech-chip img{width:22px;height:22px;flex:none;object-fit:contain}
