.port-v2 .wall{content-visibility:auto;contain-intrinsic-size:auto 480px}.port-v2{padding:clamp(40px,5vw,80px) 0 clamp(72px,9vw,128px)}.port-v2 .header{margin-bottom:clamp(28px,3.5vw,44px)}.port-v2 .header h1{font-family:var(--serif);font-weight:600;font-size:var(--type-h1);line-height:var(--lh-h1);letter-spacing:var(--ls-h1);margin:14px 0 0}.port-v2 .header .sub{font-family:var(--serif);font-style:italic;font-size:var(--type-lead);color:var(--ink-soft);max-width:var(--measure-lead);margin:16px 0 0;line-height:1.45}.port-v2 .filters{flex-wrap:wrap;gap:10px;margin:clamp(28px,3.5vw,40px) 0 clamp(32px,4vw,48px);display:flex}.port-v2 .cal-empty{text-align:center;color:var(--ink-soft);font-size:var(--type-sm);background:linear-gradient(180deg, #ece5d88c, #faf7f1e6), var(--canvas-warm);border-radius:var(--r-md);border:1px dashed var(--line-strong);margin:0 0 clamp(24px,3vw,32px);padding:clamp(24px,3vw,32px) clamp(20px,3vw,28px);line-height:1.55}.port-v2 .cal-empty strong{color:var(--cobalto);font-weight:700}.port-v2 .cal-empty.is-hidden{display:none}.port-v2 .wall{columns:3;column-gap:clamp(20px,2.5vw,32px)}.port-v2 .piece{break-inside:avoid;background:var(--paper);transition:transform var(--dur-hover) var(--ease-out-quart);margin-bottom:clamp(20px,2.5vw,32px);padding:clamp(14px,1.8vw,22px);position:relative}.port-v2 .piece.is-hidden{display:none}.port-v2 .piece .frame{color:var(--line-strong);pointer-events:none;position:absolute;inset:0}.port-v2 .piece:hover{transform:translateY(-3px)}.port-v2 .piece:hover .frame{color:var(--primary)}.port-v2 .piece img{aspect-ratio:3/4;width:100%;height:auto;display:block;position:relative}.port-v2 .piece[data-h="300"] img{aspect-ratio:3}.port-v2 .piece[data-h="340"] img{aspect-ratio:900/340}.port-v2 .piece[data-h="360"] img{aspect-ratio:5/2}.port-v2 .piece[data-h="380"] img{aspect-ratio:900/380}.port-v2 .piece[data-h="420"] img{aspect-ratio:900/420}.port-v2 .piece .cap{font-family:var(--sans);justify-content:space-between;align-items:baseline;gap:12px;margin-top:14px;display:flex}.port-v2 .piece .cap .title{font-family:var(--serif);color:var(--ink);font-size:16px;font-style:italic;font-weight:500;line-height:1.3}.port-v2 .piece .cap .cat{font-size:var(--type-micro);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap;font-weight:600}.port-v2 .piece[data-item-cat=Ritratti] .cap .cat{color:var(--rosa)}.port-v2 .piece[data-item-cat=Astratti] .cap .cat{color:var(--cobalto)}.port-v2 .piece[data-item-cat=Eventi] .cap .cat{color:var(--terracotta)}.portfolio-stories{background:var(--ink);border-radius:var(--r-lg);color:var(--paper);margin:0 0 clamp(48px,8vw,96px);padding:clamp(24px,4vw,44px)}.portfolio-stories>header{max-width:680px;margin-bottom:clamp(24px,4vw,42px)}.portfolio-stories>header .eyebrow{color:var(--rosa-soft)}.portfolio-stories>header h2{color:var(--paper);font-family:var(--serif);font-size:var(--type-h2);margin:8px 0 10px;font-weight:600;line-height:1}.portfolio-stories>header p{color:var(--cream-soft);font-size:var(--type-sm);margin:0}.portfolio-stories__list{gap:18px;display:grid}.portfolio-story{border-radius:var(--r-md);background:#faf7f10e;border:1px solid #faf7f124;grid-template-columns:minmax(240px,.9fr) minmax(0,1.1fr);display:grid;overflow:hidden}.portfolio-story__media{background:#faf7f10a;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:2px;display:grid;position:relative}.portfolio-story__asset{background:var(--ink-soft);min-height:140px;margin:0;position:relative;overflow:hidden}.portfolio-story__asset[data-lead=true]{grid-column:1/-1;min-height:280px}.portfolio-story__asset[data-orientation=portrait]{min-height:220px}.portfolio-story__asset[data-lead=true][data-orientation=portrait]{min-height:420px}.portfolio-story__asset img,.portfolio-story__asset video{object-fit:contain;background:#252421ad;width:100%;height:100%;display:block}.portfolio-story__asset>a{width:100%;height:100%;min-height:inherit;color:var(--paper);flex-direction:column;justify-content:center;align-items:center;gap:10px;text-decoration:none;display:flex}.portfolio-story__asset figcaption{color:var(--cream);border-radius:var(--r-xs);text-overflow:ellipsis;white-space:nowrap;background:#252421d1;padding:6px 8px;font-size:12px;line-height:1.35;position:absolute;bottom:8px;left:8px;right:8px;overflow:hidden}.portfolio-story__placeholder{background:radial-gradient(circle at 30% 35%, #cb5a635c, transparent 32%), radial-gradient(circle at 70% 60%, #3e6f9461, transparent 35%), var(--ink-soft);grid-column:1/-1;width:100%;min-height:280px}.portfolio-story__copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(24px,4vw,44px);display:flex}.portfolio-story__copy time{color:var(--rosa-soft);font-size:var(--type-micro);letter-spacing:.14em;text-transform:uppercase;font-weight:700}.portfolio-story__copy h3{color:var(--paper);font-family:var(--serif);font-size:var(--type-h3);margin:9px 0;font-weight:600;line-height:1.05}.portfolio-story__copy h3 a{color:inherit;text-decoration:none}.portfolio-story__copy h3 a:hover{color:var(--rosa-soft)}.portfolio-story__copy p{max-width:65ch;color:var(--cream-soft);margin:0 0 18px;line-height:1.6}.portfolio-story__copy>span{color:var(--cream-soft);align-items:center;gap:7px;font-size:14px;display:inline-flex}.portfolio-story__actions{flex-wrap:wrap;gap:9px;margin-top:18px;display:flex}.portfolio-story__actions>a,.portfolio-story__actions>button{min-height:44px;color:var(--rosa-soft);border-radius:var(--r-pill);cursor:pointer;font-family:var(--sans);background:0 0;border:1px solid #faf7f147;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-weight:700;text-decoration:none;display:inline-flex}.portfolio-story__actions>a{color:var(--ink);background:var(--rosa-soft);border-color:var(--rosa-soft)}.portfolio-story__actions>a:hover{background:var(--paper);border-color:var(--paper)}.portfolio-story__actions>button:hover{color:var(--cream);border-color:var(--rosa-soft)}.portfolio-story__copy h3 a:focus-visible,.portfolio-story__actions>a:focus-visible,.portfolio-story__actions>button:focus-visible,.portfolio-story__asset>a:focus-visible{outline:3px solid var(--rosa-soft);outline-offset:3px}.portfolio-story-skeleton{border-radius:var(--r-md);border:1px solid #faf7f124;grid-template-columns:minmax(240px,.9fr) minmax(0,1.1fr);min-height:280px;display:grid;overflow:hidden}.portfolio-story-skeleton span{background:#faf7f10f}.portfolio-story-skeleton span+span{background:linear-gradient(#faf7f11f,#faf7f11f) 0 0/42% 12px no-repeat,linear-gradient(#faf7f114,#faf7f114) 0 36px/82% 16px no-repeat,linear-gradient(#faf7f114,#faf7f114) 0 66px/68% 16px no-repeat;margin:clamp(24px,4vw,44px)}.portfolio-stories--unavailable>p{max-width:65ch;color:var(--cream-soft);margin:0}.story-page{padding-bottom:clamp(80px,10vw,144px)}.story-page__hero{background:radial-gradient(circle at 82% 20%, #cb5a631f, transparent 28rem), linear-gradient(180deg, var(--canvas-warm), var(--paper));border-bottom:1px solid var(--line);padding:clamp(56px,8vw,112px) 0 clamp(42px,7vw,88px)}.story-page__back{min-height:44px;color:var(--ink-soft);font-size:var(--type-sm);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.story-page__back:hover{color:var(--cobalto)}.story-page__heading{max-width:920px;margin-top:clamp(30px,5vw,68px)}.story-page__heading h1{max-width:13ch;font-family:var(--serif);letter-spacing:-.055em;margin:12px 0 18px;font-size:clamp(3rem,8vw,7.4rem);font-weight:550;line-height:.88}.story-page__heading>p{max-width:62ch;color:var(--ink-soft);font-family:var(--serif);margin:0;font-size:clamp(1.25rem,2.4vw,2rem);font-style:italic;line-height:1.4}.story-page__meta{color:var(--ink-faint);font-size:var(--type-micro);letter-spacing:.13em;text-transform:uppercase;flex-wrap:wrap;gap:8px 22px;margin-top:26px;font-weight:700;display:flex}.story-page__lead{width:min(1440px, calc(100% - 2 * var(--wrap-x)));margin:clamp(36px,6vw,80px) auto 0}.story-page__lead[data-orientation=portrait]{width:min(720px, calc(100% - 2 * var(--wrap-x)))}.story-page__lead[data-orientation=square]{width:min(980px, calc(100% - 2 * var(--wrap-x)))}.story-page__lead img{object-fit:contain;background:var(--canvas-warm);width:100%;height:auto;max-height:min(86vh,1080px);display:block}.story-page__lead figcaption,.story-page__gallery figcaption{color:var(--ink-faint);font-family:var(--serif);margin-top:10px;font-size:14px;font-style:italic;line-height:1.45}.story-page__layout{grid-template-columns:minmax(0,720px) minmax(220px,300px);justify-content:center;gap:clamp(42px,8vw,112px);padding-top:clamp(52px,8vw,108px);display:grid}.story-page__body{min-width:0}.story-page__body>p{color:var(--ink-soft);font-family:var(--serif);margin:0 0 1.55em;font-size:clamp(1.2rem,1.7vw,1.48rem);line-height:1.72}.story-page__body>p:first-child:first-letter{float:left;color:var(--terracotta);margin:.05em .12em 0 0;font-size:4.6em;line-height:.78}.story-page__body h2{font-family:var(--serif);letter-spacing:-.035em;margin:2.25em 0 .65em;font-size:clamp(2rem,4vw,3.35rem);font-weight:600;line-height:1}.story-page__body blockquote{color:var(--cobalto);background:color-mix(in srgb, var(--cobalto) 7%, var(--paper));border:1px solid color-mix(in srgb, var(--cobalto) 28%, var(--line));border-radius:var(--r-md);font-family:var(--serif);margin:2.2em 0;padding:clamp(18px,3vw,28px);font-size:clamp(1.6rem,3vw,2.5rem);font-style:italic;line-height:1.25}.story-page__aside{background:var(--canvas-warm);border:1px solid var(--line);border-radius:var(--r-md);align-self:start;padding:24px;position:sticky;top:108px}.story-page__aside dl{margin:18px 0 22px}.story-page__aside dl>div{border-top:1px dashed var(--line-strong);padding:12px 0}.story-page__aside dt{color:var(--ink-faint);font-size:var(--type-micro);letter-spacing:.12em;text-transform:uppercase;font-weight:700}.story-page__aside dd{color:var(--ink-soft);font-family:var(--serif);margin:4px 0 0;font-size:1.05rem}.story-page__aside button{width:100%;min-height:44px;color:var(--paper);background:var(--ink);border:1px solid var(--ink);border-radius:var(--r-pill);cursor:pointer;font:700 var(--type-sm) var(--sans);padding:0 16px}.story-page__aside button:hover{background:var(--cobalto);border-color:var(--cobalto)}.story-page__aside button:focus-visible,.story-page__back:focus-visible{outline:3px solid var(--cobalto);outline-offset:3px}.story-page__gallery{padding-top:clamp(72px,10vw,136px)}.story-page__gallery>header{max-width:640px;margin-bottom:30px}.story-page__gallery h2{font-family:var(--serif);font-size:var(--type-h2);margin:8px 0 0;font-weight:600;line-height:1}.story-page__gallery>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,36px);display:grid}.story-page__gallery figure{margin:0}.story-page__gallery img,.story-page__gallery video,.story-page__gallery figure>a{object-fit:contain;background:var(--canvas-warm);justify-content:center;align-items:center;width:100%;display:flex}.story-page__gallery img,.story-page__gallery video{height:auto;max-height:min(80vh,900px)}.story-page__gallery figure[data-orientation=portrait]{justify-self:center;width:min(100%,520px)}.story-page__gallery figure[data-orientation=landscape]{grid-column:1/-1}.story-page__gallery figure>a{aspect-ratio:4/3;min-height:260px;color:var(--cobalto);border:1px solid var(--line);font-weight:700;text-decoration:none}.story-page__missing{min-height:62vh;padding-top:clamp(72px,10vw,140px);padding-bottom:clamp(80px,10vw,140px)}.story-page__missing h1{max-width:15ch;font-family:var(--serif);font-size:var(--type-h1);margin:12px 0;font-weight:600;line-height:.95}.story-page__missing p{max-width:58ch;color:var(--ink-soft);margin:0 0 28px;line-height:1.6}@media (width<=1024px){.port-v2 .wall{columns:2}}@media (width<=880px){.port-v2 .wall{columns:1}.portfolio-story{grid-template-columns:1fr}.portfolio-story__media,.portfolio-story__asset[data-lead=true],.portfolio-story__placeholder{min-height:230px}.portfolio-story-skeleton,.story-page__layout{grid-template-columns:1fr}.story-page__aside{order:-1;position:static}.story-page__gallery>div{grid-template-columns:1fr}}@media (hover:none){.port-v2 .piece:hover{transform:none}.port-v2 .piece:hover .frame{color:var(--line-strong)}}@media (width<=480px){.port-v2 .filters{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-inline:calc(-1 * var(--wrap-x));padding-inline:var(--wrap-x);flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.port-v2 .filters::-webkit-scrollbar{display:none}.port-v2 .filters .fchip{flex:none}.story-page__heading h1{font-size:clamp(2.8rem,17vw,4.6rem)}.story-page__lead{width:100%}.story-page__lead figcaption{padding-inline:var(--wrap-x)}}
