
.portfolio-page,.project-page{padding:0;overflow:clip}.portfolio-intro,.project-intro{padding:190px 8% 85px}.portfolio-intro h1{font-size:clamp(60px,9vw,145px);max-width:1250px}.portfolio-intro em{color:#1462a8}.portfolio-intro-bottom{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-top:40px}.portfolio-intro-bottom p{max-width:560px;font-size:18px;color:#5f7587}.portfolio-note{font-size:11px;line-height:1.8;color:#718596}.portfolio-grid{padding:0 8% 110px;display:grid;grid-template-columns:1fr 1fr;column-gap:5%;row-gap:65px;align-items:start}.portfolio-card{display:block;text-decoration:none}.portfolio-card:nth-child(even){margin-top:140px}.portfolio-image{height:clamp(280px,34vw,570px);position:relative;background:#e2e9ee;overflow:hidden;border-radius:4px}.portfolio-card:nth-child(3n+2) .portfolio-image{background:#dde6e3}.portfolio-image img{width:100%;height:100%;object-fit:contain;padding:25px;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.portfolio-card:hover img{transform:scale(1.045)}.project-arrow{position:absolute;bottom:22px;right:22px;border:1px solid #ffffffc0;background:#ffffffa0;backdrop-filter:blur(12px);width:50px;height:50px;border-radius:50%;display:grid;place-items:center;font-size:23px;transition:background .25s,color .25s}.portfolio-card:hover .project-arrow{background:#1462a8;color:#fff}.portfolio-meta{display:flex;justify-content:space-between;gap:20px;margin-top:24px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#607b8d}.portfolio-card h2{font-size:clamp(28px,3.2vw,51px);margin:12px 0 7px}.portfolio-card>p{font-size:14px;color:#62788b;margin:0}.portfolio-outro,.project-next{padding:95px 8%;background:#152c43;color:#f3f6f8}.portfolio-outro h2,.project-next h2{font-size:clamp(44px,6vw,94px)}.portfolio-outro>a,.project-next>a{display:inline-block;font-size:20px;text-decoration:none;border-bottom:1px solid #a5c0d3;padding:12px 0}.portfolio-footer{padding:45px 8%;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px}.portfolio-footer img{width:170px}.portfolio-footer a{text-decoration:none}.back-link{text-decoration:none;font-size:12px;color:#62788b}.project-heading{margin-top:70px;max-width:1150px}.project-heading h1{font-size:clamp(52px,7vw,110px)}.project-facts{display:flex;gap:100px;margin-top:45px}.project-facts p{font-size:14px}.project-cover{margin:0 4.5%;padding:50px;background:#e4ebef;border-radius:6px;min-height:350px;display:grid;place-items:center}.project-cover img{display:block;max-width:100%;max-height:850px;width:auto;height:auto}.project-description{padding:100px 8%;display:grid;grid-template-columns:1fr 1fr;gap:10%}.project-description h2{font-size:clamp(35px,4vw,65px);margin:0}.project-description p{font-size:19px;color:#5f7587;margin-top:0}.project-description .archive-note{font-size:11px;margin-top:35px}.portfolio-page .navlink[href],.project-page .navlink[href]{color:inherit}.portfolio-page .navlink:hover,.project-page .navlink:hover{color:#1462a8}
@media(max-width:760px){.portfolio-intro,.project-intro{padding:140px 7% 55px}.portfolio-intro h1{font-size:60px}.portfolio-intro-bottom{display:block}.portfolio-note{display:block;margin-top:20px}.portfolio-grid{grid-template-columns:1fr;padding:0 7% 70px;gap:45px}.portfolio-card:nth-child(even){margin-top:0}.portfolio-image{height:350px}.portfolio-meta{font-size:9px}.portfolio-card h2{font-size:32px}.project-heading{margin-top:45px}.project-heading h1{font-size:48px}.project-facts{gap:30px}.project-cover{padding:15px;margin:0 5%;min-height:200px}.project-description{grid-template-columns:1fr;padding:65px 7%;gap:30px}.project-description p{font-size:17px}.portfolio-footer{flex-wrap:wrap;padding:35px 7%}.portfolio-footer img{width:145px}.portfolio-outro,.project-next{padding:70px 7%}}
@media(prefers-reduced-motion:reduce){.portfolio-image img{transition:none}}
@view-transition{navigation:auto}
::view-transition-group(*){animation-duration:1.15s;animation-timing-function:cubic-bezier(.22,.75,.2,1)}
::view-transition-old(root){animation-duration:.5s}
::view-transition-new(root){animation-duration:.8s}
.projects-loader{text-align:center;padding:0 8% 70px}.load-projects{display:inline-block;text-decoration:none;border:1px solid #a4b6c3;padding:16px 25px;border-radius:40px;font-size:13px}.load-status{font-size:12px;color:#607b8d;min-height:20px}.projects-loader.complete{padding-bottom:30px}.load-projects[hidden]{display:none}.portfolio-card.opening .portfolio-image{transform:scale(1.08);transition:transform .65s cubic-bezier(.22,.75,.2,1);z-index:2}.portfolio-card.opening img{transform:scale(1.1)}
@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.portfolio-card.opening .portfolio-image{transform:none}}

.back-link{display:inline-flex;align-items:center;gap:12px;background:#1462a8;color:#fff;font-size:14px;font-weight:700;border:1px solid #1462a8;border-radius:40px;padding:17px 25px;box-shadow:0 7px 22px #1462a824;transition:background .2s,box-shadow .2s}.back-link:hover{background:#114d83;box-shadow:0 10px 28px #1462a838}.portfolio-card{scroll-margin-top:95px}.project-cover{transition:transform .65s cubic-bezier(.22,.75,.2,1),opacity .65s}.zoom-back .project-cover{transform:scale(.82);opacity:.5}.zoom-back .project-intro{opacity:.5;transition:opacity .65s}@media(prefers-reduced-motion:reduce){.project-cover,.zoom-back .project-cover,.zoom-back .project-intro{transition:none;transform:none;opacity:1}}

/* Una sola animazione prima della navigazione: niente doppio zoom del browser. */
@view-transition{navigation:none}
html{scroll-behavior:auto}
.zoom-layer{position:fixed;z-index:1000;pointer-events:none;overflow:hidden;background:#e4ebef;border-radius:5px;box-shadow:0 20px 80px #152c4333;transform-origin:center center}
.zoom-layer img{display:block;width:100%;height:100%;object-fit:contain;padding:25px}

.project-loading{cursor:progress}.project-loading a{cursor:progress}::view-transition-group(*){animation-duration:1.1s}::view-transition-old(root){animation:none}::view-transition-new(root){animation:project-arrive .6s ease both}@keyframes project-arrive{from{opacity:0}to{opacity:1}}

/* Il titolo riceve il focus per accessibilità, senza un riquadro decorativo. */
.project-heading h1:focus,.portfolio-intro h1:focus{outline:none}
.portfolio-card:target{outline:none;background:transparent}


.project-heading h1:focus,.portfolio-intro h1:focus{outline:none}
.portfolio-card:target{outline:none;background:transparent}
@view-transition{navigation:none}
html{scroll-behavior:auto}
.project-loading,.project-loading a{cursor:progress}
::view-transition-group(*){animation-duration:1.1s}
::view-transition-old(root){animation:none}
::view-transition-new(root){animation:project-arrive .6s ease both}
@keyframes project-arrive{from{opacity:0}to{opacity:1}}
.portfolio-card.card-reveal{opacity:0;transform:translateY(20px);transition:opacity 1.6s cubic-bezier(.2,.65,.3,1),transform 1.75s cubic-bezier(.16,1,.3,1);transition-delay:var(--card-delay,0ms)}
.portfolio-card.card-reveal.card-visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.portfolio-card.card-reveal{opacity:1;transform:none;transition:none}}

.portfolio-controls{padding:0 8% 38px}.project-filters{display:flex;gap:9px;overflow-x:auto;padding:6px 3px 15px;scrollbar-width:thin;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.project-filters button{flex:0 0 auto;min-height:48px;padding:13px 22px;border:1px solid #c9d5de;border-radius:40px;background:transparent;color:#4e687d;font-size:12px;font-weight:600;transition:background .2s,color .2s,border-color .2s}.project-filters button[aria-pressed=true]{background:#152c43;border-color:#152c43;color:#fff}.project-filters button:hover{border-color:#1462a8}.filter-summary{font-size:11px;color:#72899a;margin:5px 0 0}.portfolio-grid[aria-busy=true]{opacity:.6;transition:opacity .2s}.clients-section{padding:105px 8% 85px;background:#f3f5f7}.clients-heading{display:grid;grid-template-columns:1.3fr 1fr;column-gap:8%;align-items:end;margin-bottom:60px}.clients-heading .kicker{grid-column:1/-1}.clients-heading h2{margin-bottom:0}.clients-heading p{font-size:14px;color:#6c8192;line-height:1.8;margin-bottom:5px}.clients-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:#dce4ea;border:1px solid #dce4ea}.client-logo{padding:20px;background:#fff;min-width:0;display:grid;place-items:center;min-height:120px}.client-logo img{width:100%;height:auto;max-height:100px;object-fit:contain;mix-blend-mode:multiply}.client-logo.card-reveal{opacity:0;transform:translateY(14px);transition:opacity 1.3s ease,transform 1.5s cubic-bezier(.16,1,.3,1);transition-delay:var(--card-delay,0ms)}.client-logo.card-visible{opacity:1;transform:none}.project-works{padding:0 8% 70px}.archive-work{border-top:1px solid #d7e1e8;padding:35px 0 50px}.archive-work-copy{max-width:750px;margin-bottom:25px}.archive-work-copy p{font-size:17px;line-height:1.7}.archive-work figure{margin:25px 0 0;background:#e5ebef;padding:30px}.archive-work img{display:block;max-width:100%;max-height:850px;margin:auto;object-fit:contain}
@media(max-width:1000px){.clients-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.portfolio-controls{padding:0 0 30px;position:relative}.project-filters{padding:5px 7% 15px;gap:8px;scroll-padding-inline:7%}.project-filters button{padding:12px 18px;min-height:48px;font-size:11px}.filter-summary{margin-left:7%}.clients-section{padding:70px 7% 60px}.clients-heading{grid-template-columns:1fr;margin-bottom:35px}.clients-heading p{margin-top:25px}.clients-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.client-logo{padding:12px;min-height:90px}.project-works{padding:0 7% 45px}.archive-work figure{padding:10px}.archive-work-copy p{font-size:15px}}
@media(max-width:380px){.clients-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.client-logo.card-reveal{opacity:1;transform:none;transition:none}}

/* Marchi liberi su un’unica superficie, senza celle né bordi. */
.clients-section{background:#fdfdfd}
.clients-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;column-gap:35px;row-gap:25px;background:transparent;border:0}
.client-logo{flex:0 1 calc((100% - 140px)/5);min-height:125px;padding:12px 8px;background:transparent;border:0;box-shadow:none}
.client-logo img{width:100%;max-width:220px;max-height:125px;height:auto;object-fit:contain;mix-blend-mode:multiply;filter:none;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover){.client-logo:hover img{transform:scale(1.06)}}
@media(max-width:1000px){.client-logo{flex-basis:calc((100% - 105px)/4)}}
@media(max-width:760px){.clients-grid{column-gap:20px;row-gap:22px}.client-logo{flex-basis:calc((100% - 40px)/3);min-height:80px;padding:8px 0}.client-logo img{max-height:80px}.clients-heading h2{font-size:clamp(35px,8vw,52px)}}
@media(max-width:380px){.client-logo{flex-basis:calc((100% - 20px)/2)}}
@media(prefers-reduced-motion:reduce){.client-logo img{transition:none}}

/* Cambio filtro: uscita breve, poi ricomposizione morbida dei risultati. */
.portfolio-grid[aria-busy=true]{opacity:1}
.portfolio-grid.filter-leaving .portfolio-card{opacity:0;transform:translateY(5px);transition:opacity .38s ease,transform .38s ease;transition-delay:0s}
.portfolio-card.card-reveal{transition:opacity 1.9s cubic-bezier(.22,.6,.25,1),transform 2s cubic-bezier(.16,1,.3,1);transition-delay:var(--card-delay,0ms)}
@media(prefers-reduced-motion:reduce){.portfolio-grid.filter-leaving .portfolio-card{opacity:1;transform:none;transition:none}.portfolio-card.card-reveal{transition:none}}

/* Marchi: ingresso rapido, indipendente dalla sequenza delle schede. */
.client-logo.card-reveal{transform:translateY(8px);transition:opacity .55s ease,transform .7s cubic-bezier(.16,1,.3,1);transition-delay:var(--card-delay,0ms)}
.client-logo.card-reveal.card-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.client-logo.card-reveal{opacity:1;transform:none;transition:none}}

.client-logo.card-reveal{transform:translateY(6px);transition:opacity .36s ease-out,transform .46s cubic-bezier(.22,1,.36,1);transition-delay:var(--card-delay,0ms)}
.client-logo.card-reveal.card-visible{opacity:1;transform:none}
.clients-section{scroll-margin-top:35px}
.clients-jump{display:flex;align-items:center;gap:14px;margin-top:22px;color:#1462a8;font-size:12px;font-weight:600;line-height:1.6;text-decoration:none;border-bottom:1px solid #b4c9d7;padding-bottom:9px;width:fit-content}
.clients-jump span{font-size:18px}
@media(max-width:760px){.clients-jump{font-size:12px;margin-top:18px;min-height:44px}}
@media(prefers-reduced-motion:reduce){.client-logo.card-reveal{opacity:1;transform:none;transition:none}}

.project-page .project-cover{margin-inline:0;width:100%;border-radius:0;overflow:hidden}
.project-page .archive-work figure{border-radius:0}
@supports(animation-timeline:view()){
 @media(min-width:761px) and (prefers-reduced-motion:no-preference){
  .project-page .project-cover img,.project-page .archive-work figure img{animation:portfolio-depth linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  @keyframes portfolio-depth{from{transform:scale(1.2) translateY(-6%)}to{transform:scale(1.2) translateY(6%)}}
 }
}

.portfolio-search{margin:0 0 28px;max-width:490px}
.portfolio-search label{display:block;font-weight:600;margin-bottom:10px}
.portfolio-search div{display:flex;border-bottom:1px solid #7691a6}
.portfolio-search input{flex:1;min-width:0;padding:12px 8px 12px 0;border:0;background:transparent;color:inherit;font:inherit;font-size:16px}
.portfolio-search button{border:0;background:transparent;color:#1262ac;font:inherit;font-weight:700;padding:8px;cursor:pointer}
.portfolio-search>a{display:inline-block;margin-top:9px;font-size:13px}
.project-page .project-cover{padding-inline:0}

.portfolio-selection-title{margin:.55em 0;color:#1262ac;font-size:clamp(22px,3vw,42px);letter-spacing:-.035em}
.spotlight-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px}
.spotlight-actions button{font:inherit;cursor:pointer}
.spotlight-open{display:inline-flex;align-items:center;gap:12px;border:1px solid #b9cad8;border-radius:999px;padding:11px 22px;background:#fff9;color:#163650}
.spotlight-open span{font-size:26px;line-height:1}
.spotlight-reset{background:transparent;border:0;color:#1262ac;text-decoration:underline}
.project-spotlight{width:min(620px,calc(100% - 32px));max-width:none;inset:0;margin:auto;max-height:calc(100dvh - 40px);box-sizing:border-box;padding:clamp(20px,4vw,36px);border:1px solid #d9e5ee;border-radius:18px;background:#f7fbfff2;color:#142c43;box-shadow:0 25px 95px #10283e55;backdrop-filter:blur(22px)}
.project-spotlight::backdrop{background:#091d3969;backdrop-filter:blur(5px)}
.project-spotlight .portfolio-search{max-width:none;margin:0}
.spotlight-results{list-style:none;margin:0;padding:0}
.spotlight-results li{padding:10px 0;border-bottom:1px solid #d9e5ee}
.spotlight-results a{display:block;padding:4px;color:#163650;text-decoration:none}
.spotlight-results a:hover,.spotlight-results a:focus-visible{color:#1262ac;text-decoration:underline}

.project-spotlight .portfolio-search>div{gap:4px;align-items:center;border:1px solid #a9bfd2;border-radius:12px;background:#fff9}
.project-spotlight .portfolio-search input{padding:14px 12px;border-radius:12px;font-size:16px}
.project-spotlight .portfolio-search input:focus-visible{outline:2px solid #1262ac;outline-offset:-2px}
.spotlight-results li{padding:5px 0}
.spotlight-results a{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px;border-radius:9px}
.spotlight-results a:hover,.spotlight-results a:focus-visible{background:#dcecf8;text-decoration:none}
.spotlight-thumb{display:block;aspect-ratio:4/3;background:#d8e8f5;overflow:hidden;border-radius:5px}
.spotlight-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.spotlight-results strong,.spotlight-results small{display:block}
.spotlight-results small{margin-top:3px;color:#45657f}
.spotlight-arrow{color:#1262ac}

@media(max-width:760px){
 html:has(.project-spotlight[open]){overflow:hidden}
 .project-spotlight{
  position:fixed;inset:var(--spotlight-top,0px) 0 auto;margin:0;width:100%;
  height:var(--spotlight-height,100dvh);max-height:none;border:0;border-radius:0;overflow:hidden;
  padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
  background:#f7fbff;
 }
 .project-spotlight .portfolio-search{display:flex;flex-direction:column;height:100%;min-height:0}
 .project-spotlight .portfolio-search>label,.project-spotlight .portfolio-search>div{flex:none}
 .project-spotlight .spotlight-results{min-height:0;overflow-y:auto;overscroll-behavior:contain}
}

@media(max-width:760px){
 .project-spotlight .portfolio-search>label{display:flex;align-items:center;min-height:44px;padding-right:54px}
 .project-spotlight .portfolio-search .spotlight-close{
  position:absolute;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));
  display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #a9bfd2;
  border-radius:50%;background:#e4eff8;color:#153d60;font-size:27px;line-height:1;
 }
}

.client-logo img[src$="/bari-holiday.png"]{width:76%;max-width:166px}
.client-logo img[src$="/fip.webp"]{width:68%;max-width:145px}
.client-logo img[src$="/berga-blue.webp"]{width:55%;max-width:90px}
.client-logo img[src$="/sparano-palace.svg"],
.client-logo img[src$="/camera49-verde.svg"]{width:86%;max-width:180px}
.client-logo img[src$="/portrans.svg"]{width:86%;max-width:180px}
.client-logo img[src$="/residenze-del-capitano.webp"]{width:auto;max-width:80%;max-height:110px}
@media(max-width:760px){.client-logo img[src$="/residenze-del-capitano.webp"]{max-height:80px}}
.client-logo img[src$="/camera-commercio-bari.webp"]{max-width:190px}
.client-logo img[src$="/comune-bari.webp"]{width:60%;max-width:95px;max-height:100px}
