*{box-sizing:border-box}
body{margin:0;background:var(--paper-50);color:var(--text-body);font:var(--type-body)}
a{color:inherit;text-decoration:none}a:hover{color:var(--accent-orange)}
img{display:block;max-width:100%}
section{padding:clamp(64px,9vw,128px) clamp(20px,5vw,72px)}
.eyebrow{font:var(--type-eyebrow);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--text-secondary)}
.mono{font:var(--type-mono-tag);letter-spacing:var(--track-mono);color:var(--text-muted)}
.num{font:400 28px/1 var(--font-impact);color:var(--text-muted)}
.num--xl{font-size:clamp(64px,7vw,104px);color:var(--text-strong);line-height:.85}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--ink-900);color:#fff;font:600 15px/1 var(--font-sans);padding:14px 22px;border-radius:999px;border:0;cursor:pointer;transition:transform .2s,background .2s}
.btn:hover{color:#fff;background:var(--charcoal);transform:translateY(-1px)}
.btn--inv{background:#fff;color:var(--ink-900)}.btn--inv:hover{background:var(--grey-100);color:var(--ink-900)}
.link{font:600 15px/1.2 var(--font-sans);border-bottom:1px solid currentColor;padding-bottom:2px;width:fit-content}
.tag{font:var(--type-mono-tag);color:var(--text-secondary);border:1px solid var(--line-rule);padding:6px 12px;border-radius:999px;white-space:nowrap;width:fit-content}
.tag--orange{color:var(--accent-orange);border-color:currentColor}.tag--teal{color:var(--accent-teal);border-color:currentColor}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(36px,5vw,64px)}
.sec-title{margin:0;font:var(--type-impact-md);text-transform:uppercase;letter-spacing:.01em;color:var(--text-strong)}
.sec-title::after{content:"";display:block;width:38px;height:4px;background:currentColor;margin-top:14px}
/* nav */
.nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px clamp(20px,5vw,72px);background:rgba(247,247,245,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-hairline)}
.nav__logo img{height:26px;width:auto}
.nav__links{display:flex;gap:32px;font:600 15px/1 var(--font-sans)}
.nav__end{display:flex;align-items:center;gap:20px}
.nav__lang{font:var(--type-mono-tag);color:var(--text-muted)}.nav__lang b{color:var(--text-strong);font-weight:700}
/* hero */
.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px clamp(24px,4vw,64px);padding-top:clamp(40px,5vw,72px)}
.hero__top{grid-column:1/-1;display:flex;justify-content:space-between}
.hero__title{grid-column:1;grid-row:2;align-self:start;margin:0;font:400 clamp(88px,13vw,220px)/.86 var(--font-impact);text-transform:uppercase;color:var(--text-strong);letter-spacing:-.005em}
.hero__media{grid-column:2;grid-row:2;align-self:stretch;min-height:280px;position:relative;overflow:hidden;background:var(--ink-900)}
.hero__foot{grid-column:2;grid-row:3;display:flex;flex-direction:column;gap:28px;align-self:end}
.hero__lead{margin:0;font:500 clamp(20px,1.9vw,28px)/1.35 var(--font-display);color:var(--text-strong);max-width:30ch;text-wrap:pretty}
.hero__ctas{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
/* clients */
.clients{padding-top:0}
.clients__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));border-top:1px solid var(--line-rule)}
.clients__grid li{display:flex;flex-direction:column;gap:6px;padding:22px 0;border-bottom:1px solid var(--line-hairline)}
.clients__grid b{font:700 20px/1.1 var(--font-display);color:var(--text-strong)}
.clients__grid span{font:var(--type-mono-tag);color:var(--text-muted)}
/* work */
.work{background:#fff}
.work__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 32px}
.proj{display:flex;flex-direction:column;gap:18px}
.proj--lg{grid-column:1/-1}
.proj__img{aspect-ratio:3/2;overflow:hidden;background:var(--grey-100)}
.proj--lg .proj__img{aspect-ratio:21/9}
.proj__meta{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:start;border-top:1px solid var(--line-rule);padding-top:16px}
.proj h3{margin:0;font:var(--type-h3);color:var(--text-strong)}
.proj p{margin:4px 0 0;color:var(--text-secondary)}
.proj:hover h3{color:var(--accent-orange)}
/* services */
.services__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
.services article{display:flex;flex-direction:column;gap:16px;border-top:1px solid var(--line-strong);padding-top:24px}
.services h3{margin:8px 0 0;font:var(--type-h2);color:var(--text-strong)}
.services p{margin:0;color:var(--text-secondary);max-width:34ch}
.services ul{list-style:none;margin:8px 0 12px;padding:0;display:flex;flex-direction:column}
.services li{padding:10px 0;border-bottom:1px solid var(--line-hairline);font-weight:500}
/* process */
.process__intro{margin:0 0 56px;font:var(--type-h2);max-width:24ch;color:var(--text-strong)}
.process__steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.process__steps li{border-top:1px solid var(--line-rule);padding-top:20px;display:flex;flex-direction:column;gap:12px}
.process__steps h3{margin:0;font:var(--type-impact-md);text-transform:uppercase;color:var(--text-strong)}
.process__steps p{margin:0;color:var(--text-secondary)}
.process__quote{margin:96px 0 0;font:400 clamp(48px,7vw,112px)/.9 var(--font-impact);text-transform:uppercase;color:var(--text-strong)}
/* studio */
.studio__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.studio figure{margin:0;display:flex;flex-direction:column;gap:20px}
.studio img{aspect-ratio:1;object-fit:cover;width:100%;filter:grayscale(1)}
.studio figcaption{display:flex;flex-direction:column;gap:12px}
.studio h3{margin:0;font:var(--type-h2);color:var(--text-strong)}
.studio p{margin:0;color:var(--text-secondary);max-width:46ch}
/* cta */
.cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 64px}
.cta .eyebrow{grid-column:1/-1}
.cta__title{margin:0;font:400 clamp(56px,7vw,112px)/.9 var(--font-impact);text-transform:uppercase;color:var(--text-strong)}
.cta__form{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cta__form label{display:flex;flex-direction:column;gap:8px}
.cta__form label>span{font:var(--type-eyebrow-sm);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--text-secondary)}
.cta__form .wide{grid-column:1/-1}
.cta__form input:not([type=checkbox]),.cta__form textarea{font:var(--type-body);color:#fff;background:transparent;border:0;border-bottom:1px solid var(--line-rule);padding:10px 0;outline:0;resize:vertical}
.cta__form input:focus,.cta__form textarea:focus{border-color:#fff}
.cta__form ::placeholder{color:var(--text-muted)}
.cta__chips{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:var(--text-secondary);font-size:14px}
.cta__chips label{flex-direction:row;align-items:center;gap:8px;border:1px solid var(--line-rule);border-radius:999px;padding:8px 14px;cursor:pointer;color:#fff}
.cta__chips input{accent-color:var(--accent-orange);margin:0}
.cta__form .btn{grid-column:1/-1;justify-self:start}
.cta__direct{grid-column:1/-1;display:flex;gap:40px;flex-wrap:wrap;border-top:1px solid var(--line-hairline);padding-top:28px;font:var(--type-h3)}
/* footer */
.foot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:56px clamp(20px,5vw,72px) 32px;border-top:1px solid var(--line-hairline)}
.foot>.foot__logo{grid-column:1;display:block;align-self:stretch;position:relative;min-height:80px}.foot__logo img{position:absolute;left:0;top:0;width:75%;height:75%;object-fit:contain;object-position:left top}
.foot div{display:flex;flex-direction:column;gap:10px;font-size:15px}
.foot .foot__legal{grid-column:1/-1;flex-direction:row;font:var(--type-mono-tag);color:var(--text-muted);border-top:1px solid var(--line-hairline);padding-top:20px}
/* case */
.case-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 64px}
.case-hero h1{margin:0;font:400 clamp(96px,14vw,220px)/.85 var(--font-impact);text-transform:uppercase;color:var(--text-strong)}
.case-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-top:1px solid var(--line-rule);padding-top:20px;align-self:end}
.case-facts div{display:flex;flex-direction:column;gap:8px}
.case-facts b{font:600 16px/1.3 var(--font-sans);color:var(--text-strong)}
.case-cover{padding:0 clamp(20px,5vw,72px)}.case-cover>div{aspect-ratio:16/8}
.case-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px 64px;border-top:1px solid var(--line-rule);padding-top:28px;margin-top:56px}
.case-body:first-child{margin-top:0}
.case-body p{margin:0 0 16px;font:var(--type-lead);color:var(--text-strong);max-width:58ch;text-wrap:pretty}
.case-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-top:0}
.case-gallery>div{aspect-ratio:4/3}
.case-gallery--masonry{display:block;columns:2;column-gap:24px}.case-gallery--masonry>div{aspect-ratio:auto;break-inside:avoid;margin-bottom:24px;background:none!important}.case-gallery--masonry img{height:auto!important;object-fit:contain!important;display:block}
.case-next{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.case-next a{font:400 clamp(56px,8vw,128px)/.9 var(--font-impact);text-transform:uppercase;color:var(--text-strong)}
.case-next a:hover{color:var(--accent-orange)}
@media (max-width:900px){
.nav__links,.nav__lang{display:none}
.hero,.cta,.case-hero,.case-body{grid-template-columns:1fr}
.hero__title,.hero__media,.hero__foot{grid-column:1;grid-row:auto}
.work__grid,.studio__grid,.case-gallery{grid-template-columns:1fr}.case-gallery--masonry{columns:1}
.services__grid{grid-template-columns:1fr}
.process__steps{grid-template-columns:1fr 1fr}
.cta__form{grid-template-columns:1fr}
.foot{grid-template-columns:1fr}
.proj__meta{grid-template-columns:auto 1fr}.proj__meta .tag{grid-column:2}
}
.pf-hero{padding-bottom:0}.pf-hero h1{margin:0;font:400 clamp(72px,12vw,200px)/.86 var(--font-impact);text-transform:uppercase;color:var(--text-strong)}.pf-hero p{margin:24px 0 0;font:var(--type-lead);color:var(--text-secondary);max-width:52ch}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:48px}.filters button{font:var(--type-mono-tag);background:none;border:1px solid var(--line-rule);border-radius:999px;padding:8px 14px;cursor:pointer;color:var(--text-secondary)}.filters button[aria-pressed="true"]{background:var(--ink-900);border-color:var(--ink-900);color:#fff}.proj[hidden]{display:none}
image-slot{display:block;width:100%;height:100%}
.proj__img img,.hero__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.proj:hover .proj__img img{transform:scale(1.03)}
.proj__meta .tag{white-space:normal;max-width:24ch;text-align:right}
.case-facts{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),max-content));column-gap:40px}.case-facts div:nth-child(2){max-width:36ch}
@media (max-width:900px){.proj__meta .tag{text-align:left;max-width:none}}
.case-facts{align-self:stretch;width:100%}

html[lang=it] [data-l=en],html[lang=en] [data-l=it]{display:none!important}
.nav__lang{display:flex;gap:4px}.nav__lang button{font:inherit;background:none;border:0;padding:4px;cursor:pointer;color:var(--text-muted)}.nav__lang button[aria-pressed="true"]{color:var(--text-strong);font-weight:700}
.reel__frame{position:absolute;inset:0;clip-path:inset(100% 0 0 0);transition:clip-path .9s cubic-bezier(.77,0,.18,1)}.reel__frame.on{clip-path:inset(0 0 0 0)}.reel__frame img{width:100%;height:100%;object-fit:cover;transform:scale(1.15);transition:transform 1.4s cubic-bezier(.22,1,.36,1)}.reel__frame.on img{transform:scale(1)}
.reel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--line-rule);border-left:1px solid var(--line-hairline)}
.logos li{aspect-ratio:3/2;display:grid;place-items:center;padding:12%;border-right:1px solid var(--line-hairline);border-bottom:1px solid var(--line-hairline);background:#fff}
.logos image-slot{filter:grayscale(1)}
.studio__photo{aspect-ratio:16/9;margin-bottom:32px;filter:grayscale(1)}
.studio__names{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.studio__names>div{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--line-rule);padding-top:20px}
.media-block{padding-top:0;display:flex;flex-direction:column;gap:20px}
.browser{border:1px solid var(--line-rule);background:#fff}.browser__bar{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line-hairline);font:var(--type-mono-tag);color:var(--text-muted)}.browser__bar i{width:9px;height:9px;border-radius:50%;background:var(--grey-100)}.browser__view{aspect-ratio:16/10}
.vid{aspect-ratio:16/9;background:var(--ink-900);color:#fff;display:grid;place-items:center;text-align:center}.vid video{width:100%;height:100%;object-fit:cover}.vid p{margin:8px 0 0;font:var(--type-mono-tag);color:var(--grey-100)}.vid b{font:400 40px/1 var(--font-impact);text-transform:uppercase}
.locs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;align-items:end;border-top:1px solid var(--line-rule);padding-top:32px}
.loc{display:flex;flex-direction:column;gap:16px}.loc__plan{position:relative;background:var(--paper-50);border:3px solid var(--ink-900)}.loc__plan.o-n{border-top:2px dashed var(--line-rule)}.loc__plan.o-s{border-bottom:2px dashed var(--line-rule)}.loc__plan.o-e{border-right:2px dashed var(--line-rule)}.loc__plan.o-w{border-left:2px dashed var(--line-rule)}
.loc__wall{position:absolute;left:8%;right:8%;top:8%;height:10%;background:var(--accent-orange)}.loc__desk{position:absolute;left:50%;bottom:14%;width:22%;aspect-ratio:2/1;transform:translateX(-50%);background:var(--accent-teal)}.loc__totem{position:absolute;right:10%;top:30%;width:9%;aspect-ratio:1;background:var(--accent-blue,var(--ink-900))}
.loc h3{margin:0;font:var(--type-h3);color:var(--text-strong)}.loc dl{margin:0;display:flex;flex-direction:column;gap:4px;font-size:15px}.loc dd{margin:0 0 8px}.loc dt{font:var(--type-mono-tag);color:var(--text-muted)}.loc dd{margin:0;font-weight:600;color:var(--text-strong)}
.locs__key{display:flex;gap:24px;flex-wrap:wrap;font:var(--type-mono-tag);color:var(--text-secondary)}.locs__key span{display:flex;align-items:center;gap:8px}.locs__key i{width:14px;height:10px}
@media (max-width:900px){.logos{grid-template-columns:repeat(3,minmax(0,1fr))}.studio__names,.locs{grid-template-columns:1fr}}

.locs-wrap{grid-column:1/-1}.loc h3{min-height:2.4em}

.site-link{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:28px 0;border-top:1px solid var(--line-rule);border-bottom:1px solid var(--line-rule);font:var(--type-h1);color:var(--text-strong);text-decoration:none;transition:color .2s}.site-link:hover{color:var(--accent-orange)}
.vid:has(iframe){position:relative;aspect-ratio:16/9;padding:0}
.stand{padding-top:0;display:flex;flex-direction:column;gap:32px}.stand__head{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1.3fr);gap:32px;align-items:start;border-top:2px solid var(--ink-900);padding-top:28px}.stand__id{display:flex;flex-direction:column;gap:10px}.stand__id h3{margin:0;font:var(--type-h2);color:var(--text-strong)}.stand__specs{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}.stand__specs dt{font:var(--type-mono-tag);color:var(--text-muted);margin-bottom:4px}.stand__specs dd{margin:0;font-size:15px;color:var(--text-strong)}.stand__imgs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.stand__imgs img{width:100%;height:auto;display:block;background:var(--grey-100)}
@media (max-width:900px){.stand__head{grid-template-columns:1fr;gap:16px}.stand__imgs{grid-template-columns:1fr}}
/* WordPress port */
a{color:inherit}a:hover{color:var(--accent-orange)}
.ac-img{display:block;width:100%;height:100%}
.logos .ac-img{object-fit:contain;filter:grayscale(1)}
.studio__photo .ac-img{object-fit:cover}
.cta__sent{font:var(--type-h3);color:#fff}
