:root[data-theme="light"]{--bg:#f4f3ef;--surface:#fffefa;--text:#171715;--muted:#74736d;--line:#deddd6;--accent:#68744d;color-scheme:light}
:root:not([data-theme="light"]){color-scheme:dark}
:root{--sans:'Manrope',Arial,sans-serif}
body{background:var(--bg);color:var(--text);transition:background-color .35s,color .35s}
.topbar{position:fixed;top:16px;left:50%;transform:translateX(-50%);width:min(1060px,calc(100% - 40px));height:58px;padding:0 17px 0 22px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(27,27,25,.72);box-shadow:0 12px 36px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.11);backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%);transition:background-color .35s,border-color .35s}
:root[data-theme="light"] .topbar{background:rgba(255,255,252,.76);border-color:rgba(20,20,18,.1);box-shadow:0 12px 36px rgba(40,38,30,.1),inset 0 1px 0 rgba(255,255,255,.9)}
.wordmark,.topbar .wordmark{font-size:15px;letter-spacing:-.035em;white-space:nowrap;font-family:'Manrope',var(--sans);font-weight:600}.main-nav{gap:28px;margin-left:auto;margin-right:25px}.main-nav a{font-size:11px}.availability{margin-left:0;margin-right:18px;font-size:10px}
:root[data-theme="light"] .main-nav a,:root[data-theme="light"] .availability{color:var(--muted)}
.theme-toggle{height:36px;min-width:70px;padding:3px;display:flex;align-items:center;justify-content:space-between;gap:2px;border:1px solid rgba(255,255,255,.16);border-radius:30px;background:rgba(255,255,255,.07);cursor:pointer}
:root[data-theme="light"] .theme-toggle{border-color:rgba(20,20,18,.1);background:rgba(20,20,18,.045)}
.theme-choice{width:29px;height:28px;display:grid;place-items:center;color:var(--muted);border-radius:50%;transition:background .25s,color .25s,transform .25s}.theme-choice svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
:root:not([data-theme="light"]) .theme-moon,:root[data-theme="light"] .theme-sun{color:var(--text);background:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.16)}
:root[data-theme="light"] .theme-sun{background:rgba(20,20,18,.09);box-shadow:inset 0 1px 0 rgba(20,20,18,.05)}
.intro{max-width:1440px;margin:auto;padding:142px 7% 25px}.intro-copy{margin:34px 0 54px;align-items:flex-end}.intro h1{font-size:clamp(56px,7vw,92px);line-height:.94;letter-spacing:-.075em}.intro h1 em{color:var(--muted);font-style:normal;font-family:var(--sans);font-weight:400}.intro-aside{width:min(310px,30%);padding:0 0 6px 0}.intro-aside p{font-size:12px}.intro-meta{font-size:9px;border-color:var(--line)}
.work-section{max-width:1440px;margin:auto;padding:74px 7% 110px}.section-heading{align-items:flex-end;margin-bottom:24px}.section-heading h2{font-size:26px;font-weight:500;letter-spacing:-.055em}.section-heading h2 span{color:var(--muted)}
.filters{gap:7px}.filter{padding:9px 14px;border:1px solid var(--line);border-radius:30px;background:transparent;color:var(--muted);font-size:10px;transition:background .2s,color .2s,border-color .2s}.filter sup{font-size:8px}.filter.active{border-color:var(--text);background:var(--text);color:var(--bg)}:root[data-theme="light"] .filter.active{border-color:#1c1c19;background:#1c1c19;color:#fff}
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 17px;align-items:start}.project,.project-large,.project-tall,.project-wide{grid-column:auto;grid-row:auto;margin:0}.project-open{border-radius:7px}.project-image,.project-tall .project-image,.project-wide .project-image{height:auto;aspect-ratio:4/3;filter:saturate(.88) brightness(.94)}.project-image.image-panorama-01,.project-image.image-panorama-02,.project-image.image-panorama-03{height:auto;aspect-ratio:16/9}.project-image.image-architecture,.project-image.image-lamborghini,.project-image.image-motocross,.project-image.image-motor-details,.project-image.image-street-riding{height:auto;aspect-ratio:2/3}.project-open:hover .project-image{filter:saturate(1) brightness(1);transform:scale(1.018)}
.project-caption{min-height:56px;margin-top:9px;padding:11px 13px;align-items:center;border-color:rgba(255,255,255,.12);border-radius:11px;background:rgba(255,255,255,.045);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 8px 24px rgba(0,0,0,.08);backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%)}
:root[data-theme="light"] .project-caption{border-color:rgba(30,30,25,.08);background:rgba(255,255,255,.68);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 8px 24px rgba(30,28,20,.055)}
.project-caption h3{font-size:12px;font-weight:500}.project-caption p,.project-caption>span{font-size:9px;color:var(--muted)}.project-index{top:12px;left:12px;font-size:8px;letter-spacing:.07em}.project-arrow{right:11px;bottom:11px;width:31px;height:31px;font-size:14px}
.about-section{max-width:1440px;margin:auto;padding:80px 7% 18px;border-color:var(--line)}.about-content{margin:45px 0 75px}.about-content h2{font-size:clamp(52px,6vw,78px)}.about-content h2 em{color:var(--muted)}.about-bottom{border-color:var(--line);color:var(--muted)}footer{max-width:1440px;margin:auto;padding:76px 7% 0}.footer-top{padding-bottom:76px}.footer-cta{font-size:clamp(56px,7vw,90px)}.footer-cta em{color:var(--muted)}.footer-bottom{border-color:var(--line);color:var(--muted)}
.project-modal{border-radius:14px;background:var(--surface);color:var(--text);border-color:var(--line);box-shadow:0 28px 90px rgba(0,0,0,.28)}.modal-close{background:rgba(20,20,18,.7);backdrop-filter:blur(14px)}:root[data-theme="light"] .modal-close{background:rgba(255,255,255,.8);color:#111}.modal-image{background-color:var(--bg)}.modal-controls{color:var(--muted)}
@media(max-width:900px){.topbar{width:calc(100% - 30px)}.availability{font-size:0;margin-right:14px}.availability span{margin-right:0}.intro{padding-top:125px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 14px}.project-tall .project-image{height:auto}.about-content{gap:5%}}
@media(max-width:600px){.topbar{top:12px;width:calc(100% - 24px);height:54px;padding:0 12px 0 18px}.wordmark,.topbar .wordmark{font-size:13px}.main-nav{gap:14px}.main-nav a{font-size:10px}.availability{display:none}.theme-toggle{min-width:66px;height:34px}.intro{padding:108px 6% 22px}.intro-copy{margin:30px 0 38px}.intro h1{font-size:clamp(47px,11vw,68px)}.intro-aside{width:100%;max-width:320px;padding:25px 0 0}.intro-meta{grid-template-columns:1fr 1fr}.work-section{padding:58px 6% 78px}.section-heading{display:flex;align-items:end}.filters{margin-top:18px;gap:5px;flex-wrap:wrap;justify-content:flex-end}.filter{padding:8px 10px;font-size:9px}.project-grid{gap:26px 11px}.project-caption{min-height:53px;padding:9px 10px}.project-caption h3{font-size:11px}.project-caption p{font-size:8px}.project-caption>span{font-size:8px}.project-index{top:8px;left:8px;padding:6px 8px}.project-arrow{right:8px;bottom:8px;width:28px;height:28px}.about-section{padding:62px 6% 14px}.about-content{display:block;margin:36px 0 54px}.about-content h2{font-size:clamp(48px,10vw,68px);margin-bottom:28px}.about-copy{max-width:390px}.about-bottom{font-size:8px}footer{padding:62px 6% 0}.footer-top{padding-bottom:60px}.footer-cta{font-size:clamp(50px,11vw,75px)}.footer-bottom{font-size:8px;min-height:70px;gap:12px}.footer-bottom>div{gap:10px}}
@media(max-width:420px){.main-nav{gap:10px}.intro h1{font-size:clamp(43px,10.4vw,58px)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-image,.project-tall .project-image,.project-wide .project-image{height:auto;aspect-ratio:4/3}.project-image.image-panorama-01,.project-image.image-panorama-02,.project-image.image-panorama-03{aspect-ratio:16/9}.project-image.image-architecture,.project-image.image-lamborghini,.project-image.image-motocross,.project-image.image-motor-details,.project-image.image-street-riding{aspect-ratio:2/3}.project-caption{margin-top:7px;padding:8px;min-height:51px}.project-caption h3{font-size:10px}.project-caption p{font-size:7px}.section-heading h2{font-size:23px}.filter{padding:7px 8px}.filter sup{margin-left:2px}}
@media(max-width:380px){.topbar{padding:0 8px 0 12px}.topbar .wordmark{font-size:12px}.main-nav{gap:7px;margin-right:12px}.main-nav a{font-size:9px}.theme-toggle{min-width:58px}.theme-choice{width:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

.footer-bottom .wordmark{font-size:12px;letter-spacing:-.025em}
.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:34px 18px;align-items:start}
.project,.project-large,.project-wide,.project-tall{display:block;grid-column:span 4;width:auto;min-width:0;margin:0;position:relative}
.project:nth-child(6n + 2){grid-column:span 5}
.project:nth-child(7n + 4){grid-column:span 3}
.project:nth-child(9n + 6){grid-column:span 6}
.project-panorama{grid-column:span 6!important}
.project-image{position:relative;overflow:hidden}
.project-image .carousel-slide-image{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
.project-open{position:relative;touch-action:pan-y}
.project-open::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 0 0 1px rgba(255,255,255,.08)}
.project[data-gallery] .project-open{cursor:grab}.project[data-gallery] .project-open:active{cursor:grabbing}
.card-carousel-controls{position:absolute;z-index:3;top:10px;right:10px;display:flex;align-items:center;gap:5px;padding:4px;border:1px solid rgba(255,255,255,.22);border-radius:30px;background:rgba(18,18,17,.48);color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.18);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .2s,transform .2s}
.project:hover .card-carousel-controls,.project:focus-within .card-carousel-controls{opacity:1;transform:none;pointer-events:auto}
.card-carousel-controls button{width:29px;height:29px;padding:0;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.11);color:#fff;font:400 15px/1 var(--sans);cursor:pointer;transition:background .2s,transform .2s}
.card-carousel-controls button:hover{background:rgba(255,255,255,.24);transform:scale(1.06)}
.card-carousel-count{min-width:36px;text-align:center;font-size:8px;letter-spacing:.06em;font-variant-numeric:tabular-nums}
:root[data-theme="light"] .card-carousel-controls{border-color:rgba(255,255,255,.7);background:rgba(25,25,24,.45)}
@media(max-width:900px){.project-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:25px 14px}.project,.project-large,.project-wide,.project-tall{grid-column:span 3}.project:nth-child(6n + 2){grid-column:span 4}.project:nth-child(7n + 4){grid-column:span 2}.project:nth-child(9n + 6){grid-column:span 3}.project-panorama{grid-column:span 6!important}}
@media(max-width:600px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 11px}.project,.project-large,.project-wide,.project-tall{grid-column:span 1}.project:nth-child(5n + 2),.project:nth-child(7n + 4){grid-column:span 1}.project-panorama{grid-column:span 2!important}.card-carousel-controls{top:7px;right:7px;gap:3px;padding:3px;opacity:1;transform:none;pointer-events:auto}.card-carousel-controls button{width:25px;height:25px;font-size:14px}.card-carousel-count{min-width:30px;font-size:7px}}
@media(hover:none){.card-carousel-controls{opacity:1;transform:none;pointer-events:auto}}

/* Ritratto personale integrato nella testata */
.intro-copy{align-items:center;gap:clamp(28px,5vw,76px)}
.intro-profile{position:relative;flex:0 0 clamp(220px,24vw,310px);margin:0;padding:8px 8px 9px;overflow:hidden;border:1px solid rgba(255,255,255,.23);border-radius:25px;background:rgba(255,255,255,.075);box-shadow:0 22px 65px rgba(0,0,0,.23),inset 0 1px 0 rgba(255,255,255,.24);backdrop-filter:blur(32px) saturate(155%);-webkit-backdrop-filter:blur(32px) saturate(155%)}
.intro-profile>img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:53% 42%;border-radius:18px;filter:saturate(.86)}
.profile-glass{position:relative;margin:-70px 8px 0;padding:14px 15px 13px;border:1px solid rgba(255,255,255,.27);border-radius:17px;background:rgba(20,20,19,.47);color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.2);backdrop-filter:blur(24px) saturate(155%);-webkit-backdrop-filter:blur(24px) saturate(155%)}
.profile-glass>span{display:block;margin-bottom:6px;color:rgba(255,255,255,.68);font-size:8px;letter-spacing:.12em;text-transform:uppercase}
.profile-glass p{margin:0;font-size:10px;line-height:1.55;color:rgba(255,255,255,.95)}
.profile-glass a{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.2);font-size:9px;color:rgba(255,255,255,.82)}
.profile-glass a b{font-size:13px;font-weight:400}
:root[data-theme="light"] .intro-profile{border-color:rgba(255,255,255,.86);background:rgba(255,255,255,.35);box-shadow:0 22px 65px rgba(40,38,30,.14),inset 0 1px 0 #fff}
@media(max-width:900px){.intro-copy{gap:28px}.intro-profile{flex-basis:230px}.intro h1{font-size:clamp(52px,7.2vw,72px)}}
@media(max-width:600px){.intro-copy{display:flex;flex-direction:column;align-items:stretch;gap:0}.intro h1{font-size:clamp(48px,10.5vw,68px)}.intro-profile{align-self:flex-end;width:min(68%,260px);flex-basis:auto;margin-top:30px;border-radius:21px}.intro-profile>img{aspect-ratio:1/1}.profile-glass{margin:-62px 6px 0;padding:12px 13px 11px}.profile-glass p{font-size:9px}}
.photo-specs{position:absolute;z-index:2;left:auto;right:10px;bottom:10px;display:flex;align-items:center;gap:9px;max-width:calc(100% - 20px);padding:9px 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(19,20,20,.45);color:#fff;box-shadow:0 6px 20px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.2);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);pointer-events:none;font-size:9px;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}
.photo-specs[hidden]{display:none}.modal-image{position:relative}
.photo-specs>span{display:flex;align-items:center;gap:4px}.photo-specs small{font-size:6px;letter-spacing:.08em;color:rgba(255,255,255,.62)}.photo-specs>i{width:1px;height:10px;background:rgba(255,255,255,.3)}
@media(max-width:600px){.photo-specs{right:7px;bottom:7px;gap:7px;padding:8px 10px;font-size:8px}.photo-specs small{font-size:6px}}

/* Motion leggero, coerente con la navigazione e con la lettura */
@keyframes rise-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes soft-reveal{from{opacity:0;filter:blur(7px)}to{opacity:1;filter:blur(0)}}
.intro>.eyebrow,.intro h1,.intro-profile,.intro-meta{animation:rise-in .8s cubic-bezier(.2,.72,.25,1) both}
.intro h1{animation-delay:.08s}.intro-profile{animation-delay:.18s}.intro-meta{animation-delay:.26s}
.topbar{animation:soft-reveal .65s ease-out both}
.project{transition:transform .55s cubic-bezier(.2,.72,.25,1),opacity .35s}
.project:hover{transform:translateY(-5px)}
.project-open{transition:border-radius .4s,box-shadow .4s}
.project-open:hover{box-shadow:0 18px 42px rgba(0,0,0,.2)}
.project-caption h3{transition:transform .3s,color .3s}.project:hover .project-caption h3{transform:translateX(3px);color:var(--accent)}
.photo-specs{transition:transform .3s,background-color .3s,box-shadow .3s}.project:hover .photo-specs{transform:translateY(-2px);background:rgba(19,20,20,.58);box-shadow:0 9px 25px rgba(0,0,0,.23),inset 0 1px 0 rgba(255,255,255,.23)}
.profile-glass{transition:transform .35s,background-color .35s}.intro-profile:hover .profile-glass{transform:translateY(-3px);background:rgba(20,20,19,.55)}
.filter,.theme-toggle,.card-carousel-controls button,.modal-controls button{transition:transform .22s,background-color .22s,color .22s,border-color .22s}
.filter:hover,.theme-toggle:hover,.modal-controls button:hover{transform:translateY(-2px)}
.footer-cta{transition:letter-spacing .35s,color .35s}.footer-cta:hover{letter-spacing:-.065em}
.motion-item{transition:opacity .7s cubic-bezier(.2,.72,.25,1),transform .7s cubic-bezier(.2,.72,.25,1),filter .7s;transition-delay:var(--motion-delay,0ms)}
.motion-ready .motion-item:not(.is-visible){opacity:0;transform:translateY(22px);filter:blur(4px)}
.motion-ready .motion-item.is-visible{opacity:1;transform:none;filter:none}
@media(prefers-reduced-motion:reduce){.intro>.eyebrow,.intro h1,.intro-profile,.intro-meta,.topbar{animation:none!important}.project,.project:hover,.photo-specs,.footer-cta{transition:none!important;transform:none!important}}
.image-people-01{background-image:url('assets/people-01.jpg')}.image-people-02{background-image:url('assets/people-02.jpg')}.image-people-03{background-image:url('assets/people-03.jpg')}
.project-image.image-people-01,.project-image.image-people-02,.project-image.image-people-03{height:auto;aspect-ratio:2/3}
.modal-controls{position:absolute;z-index:5;top:min(31vh,290px);left:15px;right:15px;display:none;align-items:center;justify-content:space-between;transform:translateY(-50%);pointer-events:none}
.project-modal.has-carousel .modal-controls{display:flex}
.modal-controls button{width:48px;height:48px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(23,24,24,.42);color:#fff;font-size:22px;line-height:1;box-shadow:0 10px 28px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.28);backdrop-filter:blur(22px) saturate(165%);-webkit-backdrop-filter:blur(22px) saturate(165%);pointer-events:auto;cursor:pointer}
.modal-controls button:hover{transform:scale(1.08)!important;background:rgba(255,255,255,.19)}
.project-modal{position:relative;border:1px solid rgba(255,255,255,.2);border-radius:23px;background:rgba(24,25,24,.83);backdrop-filter:blur(34px) saturate(155%);-webkit-backdrop-filter:blur(34px) saturate(155%);box-shadow:0 35px 120px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.14);opacity:0;transform:translateY(22px) scale(.975);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.8,.2,1),overlay .35s allow-discrete,display .35s allow-discrete}
.project-modal[open]{opacity:1;transform:none}
.project-modal::backdrop{background:rgba(4,5,7,.64);backdrop-filter:blur(12px) saturate(125%);-webkit-backdrop-filter:blur(12px) saturate(125%);transition:background-color .35s,backdrop-filter .35s}
@starting-style{.project-modal[open]{opacity:0;transform:translateY(24px) scale(.97)}.project-modal[open]::backdrop{background:rgba(4,5,7,0);backdrop-filter:blur(0)}}
.modal-image.image-changing{animation:photo-swap .42s cubic-bezier(.2,.72,.25,1)}
@keyframes photo-swap{from{opacity:.45;transform:scale(1.025);filter:blur(5px)}to{opacity:1;transform:scale(1);filter:blur(0)}}
:root[data-theme="light"] .project-modal{background:rgba(248,248,245,.88);border-color:rgba(255,255,255,.72);box-shadow:0 35px 120px rgba(39,38,32,.22),inset 0 1px 0 #fff}
@media(max-width:600px){.modal-controls{top:min(31vh,240px);left:10px;right:10px}.modal-controls button{width:42px;height:42px;font-size:19px}.project-modal{width:94vw;border-radius:18px}}
@media(prefers-reduced-motion:reduce){.project-modal,.project-modal::backdrop,.modal-image.image-changing{transition:none!important;animation:none!important}}
.topbar{backdrop-filter:blur(30px) saturate(175%);-webkit-backdrop-filter:blur(30px) saturate(175%);border-color:rgba(255,255,255,.2)}
.filters{padding:6px;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:rgba(255,255,255,.055);box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 8px 24px rgba(0,0,0,.1);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%)}
.project-open{border:1px solid rgba(255,255,255,.17);border-radius:15px;box-shadow:0 8px 26px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.18)}
.project-caption{backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid rgba(255,255,255,.17);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 12px 30px rgba(0,0,0,.1)}
.about-copy{max-width:430px;padding:24px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:rgba(255,255,255,.045);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 18px 45px rgba(0,0,0,.09);backdrop-filter:blur(26px) saturate(150%);-webkit-backdrop-filter:blur(26px) saturate(150%)}
.about-bottom,.footer-bottom{padding-left:16px;padding-right:16px;border-radius:0 0 16px 16px;background:rgba(255,255,255,.035);backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%)}
:root[data-theme="light"] .filters,:root[data-theme="light"] .about-copy{border-color:rgba(35,35,30,.1);background:rgba(255,255,255,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 12px 30px rgba(30,28,20,.06)}
:root[data-theme="light"] .project-open{border-color:rgba(255,255,255,.72);box-shadow:0 8px 26px rgba(30,28,20,.1),inset 0 1px 0 rgba(255,255,255,.85)}
.modal-caption .modal-count{display:inline-flex;margin-top:12px;padding:7px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.065);color:var(--muted);font-size:9px;font-variant-numeric:tabular-nums;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.modal-caption .modal-year{color:var(--muted);font-size:11px;padding-right:40px}
.contact-details{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 12px!important;font-size:10px!important}
.contact-details a{color:var(--text);text-decoration:underline;text-decoration-color:rgba(255,255,255,.32);text-underline-offset:3px}
:root[data-theme="light"] .contact-details a{color:#262621;text-decoration-color:rgba(30,30,25,.28)}
.intro{position:relative;isolation:isolate;overflow:hidden}
.intro>.eyebrow,.intro>.intro-copy,.intro>.intro-meta{position:relative;z-index:1}
.hero-video-backdrop{position:absolute;z-index:0;top:0;bottom:0;left:50%;width:100vw;overflow:hidden;transform:translateX(-50%);pointer-events:none;background:#111}
.hero-video{position:absolute;width:100%;height:100%;object-fit:cover;pointer-events:none;transition:opacity 1.6s cubic-bezier(.22,.68,0,1)}
.hero-video-blur{inset:-10%;width:120%;height:120%;filter:blur(clamp(38px,3vw,100px)) brightness(.68) saturate(1.12);opacity:0;transform:scale(1.02);animation:drone-float 40s ease-in-out infinite alternate}
.hero-video-focus{inset:0;width:100%;height:100%;object-fit:contain;filter:brightness(.56) saturate(.9);opacity:0;mask-image:linear-gradient(90deg,transparent 0%,#000 3%,#000 97%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 3%,#000 97%,transparent 100%);animation:drone-focus 44s ease-in-out infinite alternate}
.hero-video-b{opacity:0}
.hero-video-backdrop.is-ready .hero-video-a.hero-video-blur{opacity:.9}
.hero-video-backdrop.is-ready .hero-video-a.hero-video-focus{opacity:.38}
.hero-video-backdrop.is-ready.active-b .hero-video-a{opacity:0}
.hero-video-backdrop.is-ready.active-b .hero-video-b.hero-video-blur{opacity:.9}
.hero-video-backdrop.is-ready.active-b .hero-video-b.hero-video-focus{opacity:.38}
.hero-video-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,17,16,.24),rgba(17,17,16,.08) 48%,rgba(17,17,16,.2)),linear-gradient(0deg,var(--bg) 0%,transparent 22%,rgba(17,17,16,.05) 72%,var(--bg) 100%);backdrop-filter:saturate(92%);-webkit-backdrop-filter:saturate(92%)}
@keyframes drone-float{from{transform:scale(1.02) translate3d(-.5%,0,0)}to{transform:scale(1.05) translate3d(.5%,-.4%,0)}}
@keyframes drone-focus{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.015) translate3d(-.35%,.25%,0)}}
:root[data-theme="light"] .hero-video-shade{background:linear-gradient(90deg,rgba(244,243,239,.5),rgba(244,243,239,.2) 48%,rgba(244,243,239,.34)),linear-gradient(0deg,var(--bg) 0%,transparent 24%,rgba(244,243,239,.16) 72%,var(--bg) 100%)}
@media(max-width:600px){.hero-video-blur{filter:blur(26px) brightness(.3) saturate(1.2)}.hero-video-focus{inset:0;width:100%;height:100%;object-fit:contain;mask-image:linear-gradient(90deg,transparent 0%,#000 3%,#000 97%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 3%,#000 97%,transparent 100%)}.hero-video-shade{background:linear-gradient(90deg,rgba(17,17,16,.44),rgba(17,17,16,.12)),linear-gradient(0deg,var(--bg),transparent 42%,rgba(17,17,16,.24) 80%,var(--bg))}:root[data-theme="light"] .hero-video-shade{background:linear-gradient(90deg,rgba(244,243,239,.72),rgba(244,243,239,.35)),linear-gradient(0deg,var(--bg),transparent 42%,rgba(244,243,239,.4) 80%,var(--bg))}}
@media(prefers-reduced-motion:reduce){.hero-video{animation:none!important}.hero-video-blur{transform:scale(1.02)}}
.hero-video{translate:var(--parallax-x,0px) var(--parallax-y,0px)}
.topbar,.filters,.project-caption,.about-copy,.project-modal{position:relative;isolation:isolate}
.topbar{position:fixed;overflow:hidden}.filters,.project-caption,.about-copy{overflow:hidden}
.topbar::after,.intro-profile::after,.filters::after,.project-caption::after,.about-copy::after,.project-modal::after{content:"";position:absolute;z-index:0;top:-60%;bottom:-60%;left:-42%;width:25%;pointer-events:none;opacity:0;transform:skewX(-22deg);background:linear-gradient(100deg,transparent,rgba(255,255,255,.17),rgba(255,255,255,.035),transparent);animation:glass-sweep 13s ease-in-out infinite}
.topbar>* ,.filters>* ,.project-caption>* ,.about-copy>*{position:relative;z-index:1}
.intro-profile>img,.intro-profile>.profile-glass{position:relative;z-index:1}
.topbar::after{animation-delay:1s}.intro-profile::after{animation-delay:5s}.filters::after{animation-delay:7s}.project-caption::after{animation-delay:3s}.about-copy::after{animation-delay:9s}.project-modal::after{animation-delay:2s}
@keyframes glass-sweep{0%,68%{left:-42%;opacity:0}72%{opacity:.65}84%{opacity:.5}100%{left:125%;opacity:0}}
:root[data-theme="light"] .topbar::after,:root[data-theme="light"] .intro-profile::after,:root[data-theme="light"] .filters::after,:root[data-theme="light"] .project-caption::after,:root[data-theme="light"] .about-copy::after,:root[data-theme="light"] .project-modal::after{background:linear-gradient(100deg,transparent,rgba(255,255,255,.62),rgba(255,255,255,.14),transparent)}
@media(prefers-reduced-motion:reduce){.topbar::after,.intro-profile::after,.filters::after,.project-caption::after,.about-copy::after,.project-modal::after{animation:none!important;display:none}.hero-video{translate:none!important}}
.project-grid>.project-coast-04{grid-column:span 5!important}
.project-grid>.project-coast-04 .project-image{aspect-ratio:3/4;background-size:cover}
.project-grid>.project:nth-child(4n + 1):not(.project-panorama) .project-image{aspect-ratio:3/4}
.project-grid>.project:nth-child(5n + 3):not(.project-panorama) .project-image{aspect-ratio:4/5}
@media(max-width:900px){.project-grid>.project-coast-04{grid-column:span 4!important}}
@media(max-width:600px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 11px}.project,.project-large,.project-wide,.project-tall{grid-column:span 1}.project-panorama,.project-grid>.project-coast-04{grid-column:span 2!important}.project-grid>.project:nth-child(4n + 1):not(.project-panorama) .project-image,.project-grid>.project:nth-child(5n + 3):not(.project-panorama) .project-image{aspect-ratio:2/3}}

/* Griglia editoriale ordinata, con cornici ispirate alle schede del riferimento */
.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px;align-items:start}
.project-grid>.project,.project-grid>.project-large,.project-grid>.project-wide,.project-grid>.project-tall,.project-grid>.project-panorama{grid-column:span 1!important;grid-row:auto;margin:0;padding:12px;border:1px solid rgba(255,255,255,.105);border-radius:25px;background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.022) 54%,rgba(255,255,255,.04));box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 18px 46px rgba(0,0,0,.12);transition:transform .45s cubic-bezier(.2,.72,.25,1),border-color .3s,box-shadow .3s}
.project-grid>.project:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 25px 60px rgba(0,0,0,.2)}
.project-grid>.project-panorama{grid-column:span 2!important}
.project-grid>.project .project-open{border:0;border-radius:18px;background:rgba(0,0,0,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.18);overflow:hidden}
.project-grid>.project .project-open::after{inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.project-grid>.project .project-image{height:auto!important;aspect-ratio:4/3!important;border-radius:17px;filter:saturate(.9) brightness(.96)}
.project-grid>.project .project-image.image-panorama-01,.project-grid>.project .project-image.image-panorama-02,.project-grid>.project .project-image.image-panorama-03{aspect-ratio:21/9!important}
.project-grid>.project .project-image.image-architecture,.project-grid>.project .project-image.image-architecture-detail,.project-grid>.project .project-image.image-mini-london,.project-grid>.project .project-image.image-winter,.project-grid>.project .project-image.image-costa-capri,.project-grid>.project .project-image.image-lamborghini,.project-grid>.project .project-image.image-motocross,.project-grid>.project .project-image.image-motor-details,.project-grid>.project .project-image.image-street-riding,.project-grid>.project .project-image.image-travel,.project-grid>.project .project-image.image-aviation,.project-grid>.project .project-image.image-people-01,.project-grid>.project .project-image.image-people-02,.project-grid>.project .project-image.image-people-03{aspect-ratio:4/5!important}
.project-grid>.project .project-caption{min-height:62px;margin:0;padding:14px 4px 2px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.project-grid>.project .project-caption::after{display:none}
.project-grid>.project .project-caption h3{font-size:15px;letter-spacing:-.025em}
.project-grid>.project .project-caption p,.project-grid>.project .project-caption>span{font-size:10px}
:root[data-theme="light"] .project-grid>.project{border-color:rgba(25,25,20,.09);background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,255,255,.6));box-shadow:inset 0 1px 0 #fff,0 18px 46px rgba(50,45,30,.07)}
:root[data-theme="light"] .project-grid>.project:hover{border-color:rgba(25,25,20,.17);box-shadow:inset 0 1px 0 #fff,0 24px 56px rgba(50,45,30,.12)}
:root[data-theme="light"] .project-grid>.project .project-open{background:rgba(30,30,25,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
@media(max-width:650px){.project-grid{grid-template-columns:1fr;gap:22px}.project-grid>.project,.project-grid>.project-panorama{grid-column:span 1!important;padding:9px;border-radius:20px}.project-grid>.project .project-image{aspect-ratio:4/3!important;border-radius:14px}.project-grid>.project .project-image.image-architecture,.project-grid>.project .project-image.image-architecture-detail,.project-grid>.project .project-image.image-mini-london,.project-grid>.project .project-image.image-winter,.project-grid>.project .project-image.image-costa-capri,.project-grid>.project .project-image.image-lamborghini,.project-grid>.project .project-image.image-motocross,.project-grid>.project .project-image.image-motor-details,.project-grid>.project .project-image.image-street-riding,.project-grid>.project .project-image.image-travel,.project-grid>.project .project-image.image-aviation,.project-grid>.project .project-image.image-people-01,.project-grid>.project .project-image.image-people-02,.project-grid>.project .project-image.image-people-03{aspect-ratio:4/5!important}.project-grid>.project .project-image.image-panorama-01,.project-grid>.project .project-image.image-panorama-02,.project-grid>.project .project-image.image-panorama-03{aspect-ratio:16/9!important}.project-grid>.project .project-caption{padding:12px 3px 2px}.project-grid>.project .project-caption h3{font-size:14px}}
.about-bottom{border-top:0;padding:12px 0 4px;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border-radius:0}
.about-content h2{transform:translateY(-12px)}
@media(max-width:600px){.about-content h2{transform:translateY(-8px)}}
