/* Real work, presented at a readable scale. No rasterised cover typography. */
.digital-stage { --stage-bg:#cfe1dc; --stage-ink:#123e3a; position:relative; isolation:isolate; background:var(--stage-bg); color:var(--stage-ink); padding:52px clamp(24px,5vw,84px) 32px; overflow:hidden; }
.digital-stage-staffa { --stage-bg:#ddc8b7; --stage-ink:#45271f; }
.digital-stage-sante { --stage-bg:#dce1d2; --stage-ink:#17211e; }
.digital-stage-arevo { --stage-bg:#ccff00; --stage-ink:#1a1a1a; }
.digital-stage-lorini { --stage-bg:#ffe34e; --stage-ink:#171a1d; }
.digital-stage-acqua { --stage-bg:#dcebf0; --stage-ink:#193a4e; }
.digital-stage-heading,.digital-stage-footer { max-width:1100px; margin-inline:auto; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.digital-stage-heading { align-items:start; }
.digital-stage-heading>.micro { max-width:145px; font-size:9px; line-height:1.7; }
.digital-stage-heading>.micro:last-child { text-align:right; }
.digital-domain { font-size:clamp(16px,2vw,28px); font-weight:600; letter-spacing:-.04em; line-height:1.4; }
.digital-screens { width:100%; max-width:1050px; margin:52px auto 40px; display:grid; grid-template-columns:minmax(0,760px) minmax(0,190px); gap:clamp(20px,4vw,64px); align-items:center; justify-content:center; }
.digital-desktop { min-width:0; border-radius:8px; overflow:hidden; background:#fff; box-shadow:0 25px 55px -25px #10191566; }
.digital-browser-top { height:28px; display:flex; align-items:center; gap:5px; padding:0 13px; background:#f8f8f5; border-bottom:1px solid #e7e6e1; color:#63635e; font:8px var(--mono); }
.digital-browser-top>i { width:4px; height:4px; border-radius:50%; background:#d4d3cd; }
.digital-browser-top>span:first-of-type { margin:auto; }
.digital-mobile { width:100%; max-width:190px; border:5px solid #20201d; border-radius:23px; background:#20201d; overflow:hidden; box-shadow:0 25px 45px -24px #10191599; }
.digital-stage .digital-screens img { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }
.digital-screens figure { margin:0; }
.digital-screens figcaption:empty { display:none; }
.digital-stage-footer { font-size:8px; opacity:.75; border-top:1px solid #15352733; padding-top:22px; }
.scv-desktop .digital-stage,.l-full-screen .digital-stage { margin:0; }
.scv-desktop { margin:0; }
.scv-responsive { display:block; margin-top:60px; }
.scv-responsive-copy { display:grid; grid-template-columns:.7fr 1.3fr; column-gap:6%; align-items:start; }
.scv-responsive-copy>.micro,.scv-responsive-copy>h3,.scv-responsive-copy>p { grid-column:1; }
.scv-responsive-copy>h3 { margin:20px 0; }
.scv-responsive-copy>.scv-visual { grid-column:2; grid-row:1/4; align-self:center; }
.scv-responsive-copy>.scv-detail-caption { grid-column:2; }
.scv-responsive-copy>p { max-width:34ch; }
.scv-print { max-width:1300px; margin-inline:auto; }
.ar-mobile-row { display:block; max-width:1200px; padding:60px var(--gutter); margin:auto; }
.ar-mobile-row>div { max-width:none; }
.ar-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.ar-map { max-width:1080px; margin-inline:auto; }
.ar-social-cover { max-width:950px; margin-inline:auto; }
.l-mobile { display:block; }
.l-mobile-copy { display:grid; grid-template-columns:1fr 1fr; gap:20px 7%; max-width:1100px; margin:auto; }
.l-mobile-copy>.micro { grid-column:1/-1; }
.l-mobile-copy>h2 { grid-row:2/5; margin:0; }
.l-mobile-copy>p,.l-mobile-copy>.l-scope,.l-mobile-copy>.text-link { grid-column:2; }
.l-category-screen { max-width:920px; margin-inline:auto; }
.m-web-showcase>.m-visual { max-width:1120px; margin-inline:auto; }
.m-web-detail .m-visual { max-width:760px; }
.c-hero-screen,.c-screen-stage>.c-screen { max-width:960px; margin-inline:auto; }
.c-screen-stage { padding:clamp(20px,4vw,65px); }
.l-cover-displays img { transform:none; }
.l-cover-web { width:92%; }
.l-cover-mobile { border-radius:6px; box-shadow:0 15px 35px #443a2044; }
/* A real identity and original app visuals, with native, crisp headline text. */
.work-visual-mappa { aspect-ratio:1.5; }
.mv-cover { width:100%; height:100%; display:grid; grid-template-columns:.8fr 1fr; align-items:center; background:#2855bb; color:#fff; overflow:hidden; container-type:inline-size; }
.mv-cover-copy { padding:9% 0 9% 11%; display:flex; align-items:start; flex-direction:column; gap:5cqw; position:relative; z-index:2; }
.mv-cover-copy>.micro { font-size:1.35cqw; }
.mv-cover-copy>p { font:400 8.1cqw/.99 var(--display); letter-spacing:-.025em; }
.mv-cover-place { font:1.5cqw var(--mono); display:flex; align-items:center; gap:1cqw; }
.mv-cover-place>i { width:1cqw; height:1cqw; border-radius:50%; background:#ffdd46; }
.mv-cover-posters { display:flex; align-items:center; gap:3cqw; padding:4cqw 4cqw 4cqw 3cqw; }
.mv-cover-posters>img { width:calc(50% - 1.5cqw); height:auto; border-radius:1cqw; box-shadow:0 2cqw 3cqw #10255155; transform:rotate(-5deg); }
.mv-cover-posters>img+img { transform:rotate(5deg) translateY(3cqw); }
/* The Carboni cover is an illustrative detail; all data remains fictional. */
.work-visual-carboni { aspect-ratio:1.5; }
.cb-cover { display:grid; grid-template-columns:.9fr 1fr; align-items:center; width:100%; height:100%; overflow:hidden; background:#e8eddd; color:#27391f; container-type:inline-size; padding:5%; gap:4%; }
.cb-cover-copy { display:flex; flex-direction:column; gap:4cqw; }
.cb-cover-copy>.micro { font-size:1.3cqw; line-height:1.8; }
.cb-cover-copy>p { font:400 6.9cqw/1.03 var(--display); letter-spacing:-.02em; }
.cb-interface { width:100%; background:#fbfcf8; border-radius:1.2cqw; box-shadow:0 2cqw 5cqw #30412c20; transform:rotate(-3deg); color:#263321; }
.cb-interface-top { display:flex; justify-content:space-between; padding:2cqw; background:#27391f; color:#fff; border-radius:1.2cqw 1.2cqw 0 0; font-size:1.9cqw; font-weight:700; }
.cb-interface-top i { display:inline-block; width:1cqw; height:1cqw; border-radius:50%; background:#c4e698; margin-right:.6cqw; }
.cb-interface-body { padding:2.6cqw 2cqw 2cqw; }
.cb-interface-body>.micro,.cb-table-head,.cb-interface-note { font-size:.95cqw; line-height:1.6; }
.cb-interface-body>p { font-size:2.5cqw; font-weight:700; letter-spacing:-.05em; margin:1cqw 0 2.7cqw; }
.cb-table-head,.cb-row { display:flex; align-items:center; justify-content:space-between; gap:1cqw; }
.cb-table-head { opacity:.55; margin-bottom:1cqw; }
.cb-row { padding:1.5cqw 0; border-top:1px solid #dce3d5; font-size:1.25cqw; }
.cb-row>b { font-size:1cqw; font-weight:500; background:#e2f1d7; color:#355a21; padding:.5cqw .8cqw; border-radius:.4cqw; }
.cb-row>.cb-reserved { background:#ece5d6; color:#746329; }
.cb-task { background:#edf2e4; padding:1.2cqw; display:flex; align-items:center; gap:1cqw; margin-top:1.4cqw; }
.cb-task>span { font-size:2.5cqw; }.cb-task strong,.cb-task small { display:block; font-size:1.2cqw; line-height:1.7; }.cb-task small { font-size:1cqw; }
.cb-interface-note { padding:0 2cqw 1.5cqw; opacity:.65; }
.home-work-link-mappa .home-work-thumb { background:#fff; padding:15px; display:flex; align-items:center; }
.home-work-link-mappa .home-work-thumb>img { height:auto; object-fit:contain; }
.home-project .work-visual-mappa { aspect-ratio:1.5; }
@media(max-width:760px) {
 .digital-stage { padding:30px 20px 22px; }
 .digital-stage-heading { display:block; }
 .digital-stage-heading>.micro:first-child { display:block; font-size:7px; max-width:none; margin-bottom:8px; }
 .digital-stage-heading>.micro:last-child { display:none; }
 .digital-domain { font-size:19px; overflow-wrap:anywhere; }
 .digital-screens { display:block; position:relative; padding:0 9% 0 0; margin:28px 0 38px; min-height:0; }
 .digital-desktop { border-radius:4px; margin-bottom:16%; }
 .digital-browser-top { height:18px; padding:0 7px; font-size:5px; gap:3px; }
 .digital-browser-top>i { width:3px; height:3px; }
 .digital-mobile { position:absolute; width:28%; right:-1%; bottom:-22%; border-width:3px; border-radius:12px; }
 .digital-stage-footer { margin-top:22px; padding-top:16px; font-size:6px; gap:10px; }
 .scv-responsive { margin-top:34px; }
 .scv-responsive-copy { display:block; }
 .scv-responsive-copy>.scv-visual { margin-top:24px; }
 .scv-responsive-copy>p { max-width:none; }
 .ar-flow { display:block; }
 .l-mobile-copy { display:block; }
 .l-mobile-copy>h2 { margin:22px 0; }
 .l-mobile-copy>.l-scope { margin:22px 0; }
 .l-mobile-copy>.text-link { margin-top:24px; }
 .c-screen-stage { padding:18px; }
 .mv-cover-copy>.micro,.cb-cover-copy>.micro { font-size:1.5cqw; }
 .work-visual-mappa,.work-visual-carboni { aspect-ratio:1.3; }
}
@media(prefers-reduced-motion:reduce){.digital-stage *{scroll-behavior:auto}}
/* Lorini: actual fleet photography from the client's site, web work credited. */
.lorini-editorial { position:relative; display:grid; grid-template-columns:.75fr 1.25fr; width:100%; height:100%; background:#ffe34e; color:#171a1d; container-type:inline-size; overflow:hidden; }
.lorini-editorial-copy { padding:4cqw; display:flex; flex-direction:column; justify-content:space-between; align-items:start; gap:2cqw; }
.lorini-editorial-copy>.micro { font-size:.95cqw; line-height:1.7; }
.lorini-editorial-copy>p { font:400 6.3cqw/1.05 var(--display); letter-spacing:-.025em; }
.lorini-editorial>img { width:100%; height:100%; object-fit:cover; object-position:66% center; }
.arevo-editorial { position:relative; isolation:isolate; overflow:hidden; height:100%; width:100%; padding:4% 5%; container-type:inline-size; background:#ccff00; color:#191d15; display:flex; flex-direction:column; justify-content:space-between; }
.arevo-editorial-top { display:flex; align-items:center; justify-content:space-between; gap:2cqw; font-size:.8cqw; position:relative; z-index:1; }
.arevo-editorial-top .ar-beta { border-color:#191d1550; color:#191d15; font-size:.8cqw; }
.arevo-editorial-wordmark { font:800 22cqw/.95 Inter,Arial,sans-serif; letter-spacing:-.085em; position:relative; z-index:1; }
.arevo-editorial-bottom { display:flex; justify-content:space-between; align-items:end; gap:3cqw; position:relative; z-index:1; }
.arevo-editorial-bottom>p { font-size:3cqw; font-weight:600; line-height:1.15; letter-spacing:-.04em; }
.arevo-editorial-bottom>span { font-size:8cqw; line-height:1; }
.arevo-editorial-lines { position:absolute; inset:0; width:100%; height:100%; opacity:.17; z-index:0; }
@media(max-width:760px){
 .lorini-editorial { grid-template-columns:1fr; grid-template-rows:1fr 1.05fr; }
 .lorini-editorial-copy { padding:5cqw 6cqw; position:relative; }
 .lorini-editorial-copy>.micro { font-size:1.5cqw; }
 .lorini-editorial-copy>.micro:last-child { position:absolute; bottom:5cqw; right:6cqw; font-size:1.3cqw; }
 .lorini-editorial-copy>p { font-size:9.2cqw; line-height:1.02; max-width:75%; margin-top:3cqw; }
 .lorini-editorial-copy>p br { display:none; }
 .lorini-editorial>img { object-position:50% 55%; min-height:0; }
 .arevo-editorial { padding:7%; }
 .arevo-editorial-top,.arevo-editorial-top .ar-beta { font-size:1.5cqw; }
 .arevo-editorial-wordmark { font-size:24cqw; }
 .arevo-editorial-bottom>p { font-size:7cqw; }
 .arevo-editorial-bottom>span { font-size:14cqw; }
}
.work-visual-carboni { padding:0; }
.work-visual-arevo>.work-arrow { display:none; }
.home-work-link-carboni .home-work-thumb { background:#fff; padding:16px; display:flex; align-items:center; }
.home-work-link-carboni .home-work-thumb>img { height:auto; object-fit:contain; }
.home-work-link-lorini .home-work-thumb>img { height:100%; object-fit:cover; }
.c-hero { background:#e8eddd; }
.c-hero-screen { max-width:1200px; }
.c-hero-screen>.cb-cover { height:auto; aspect-ratio:2; }
.c-hero-caption { color:#27391f; }
@media(max-width:760px){.c-hero-screen>.cb-cover{aspect-ratio:1.25}.c-tabs{flex-wrap:wrap;gap:16px}}
.cb-cover { grid-template-rows:minmax(0,1fr); }
.cb-interface { transform:rotate(-3deg) scale(.94); }
.c-hero,.c-hero-label { color:#27391f; }
.c-hero-screen { border:0; border-radius:0; box-shadow:none; }
