.scroll-progress{position:fixed;inset:0 auto auto 0;width:0;height:3px;background:var(--gold);z-index:90;pointer-events:none;box-shadow:0 0 18px #d6b47c88}
.site-header{position:fixed!important;transition:background-color .55s ease,box-shadow .55s ease,height .55s var(--ease)}
.site-header.scrolled{height:72px;background:#102a3ddf!important;box-shadow:0 14px 40px #07131c24;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.logo{display:flex;align-items:center;padding:8px 0;isolation:isolate}.logo img{width:158px;mix-blend-mode:screen;opacity:.94;transition:transform .6s var(--ease),opacity .45s ease,filter .6s ease}.logo:hover img{transform:translateY(-2px) scale(1.025);opacity:1;filter:drop-shadow(0 9px 20px #0005)}
.nav-links a{position:relative;border:0!important}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .55s var(--ease)}.nav-links a:hover:after,.nav-links a[aria-current=page]:after{transform:scaleX(1);transform-origin:left}
.hero-img{animation:heroBreath 18s ease-in-out infinite alternate;will-change:transform}.hero-copy>*{animation:heroEnter 1.1s var(--ease) both}.hero-copy>*:nth-child(2){animation-delay:.12s}.hero-copy>*:nth-child(3){animation-delay:.24s}.hero-copy>*:nth-child(4){animation-delay:.36s}.scroll{animation:scrollPulse 2.4s ease-in-out infinite}
.page-hero:after{content:"";position:absolute;width:62vw;height:170px;right:-10vw;top:75px;background:repeating-linear-gradient(to bottom,transparent 0 27px,#d6b47c20 28px 29px);transform:rotate(-12deg);opacity:.7;pointer-events:none}.page-hero:before{content:"♫";position:absolute;right:18vw;top:110px;color:#d6b47c36;font-family:Georgia,serif;font-size:100px;line-height:1;transform:rotate(-10deg);pointer-events:none}.page-hero .shell{position:relative;z-index:1}.page-hero .breadcrumb,.page-hero .page-title,.page-hero .page-lead{animation:heroEnter .7s var(--ease) both}.page-hero .page-title{animation-delay:.08s}.page-hero .page-lead{animation-delay:.16s}
.motion-ready .reveal{opacity:0;transition:opacity .38s ease;transition-delay:0ms}.motion-ready .reveal.is-visible{opacity:1}
.btn,.card,.project,.press-quote,.download,.video,.event{transition:transform .55s var(--ease),box-shadow .55s var(--ease),background-color .4s ease}.btn:hover{transform:translateY(-4px);box-shadow:0 18px 36px #10182028}.card:hover,.project:hover,.press-quote:hover,.download:hover{transform:translateY(-7px);box-shadow:0 24px 60px #10202c17}.event:hover{transform:translateX(8px)}.event .arrow{transition:transform .45s var(--ease)}.event:hover .arrow{transform:translate(4px,-4px)}
.gallery figure,.portrait-grid img,.media-image{overflow:hidden}.gallery img,.portrait-grid img,.video img{transition:transform 1.1s var(--ease),filter .8s ease}.gallery figure:hover img,.video:hover img{transform:scale(1.055);filter:saturate(1.08)}
.archive-gallery{display:grid;grid-template-columns:1.25fr .75fr;gap:14px;margin-top:55px}.archive-gallery figure{margin:0;position:relative;overflow:hidden;min-height:430px}.archive-gallery img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.archive-gallery figure:hover img{transform:scale(1.04)}.archive-gallery figcaption{position:absolute;inset:auto 0 0;padding:55px 24px 20px;color:#fff;background:linear-gradient(transparent,#0b151dcc);font-size:12px;letter-spacing:.05em}.footer-mail{padding:17px 24px;letter-spacing:.06em;font-size:12px;min-width:0}.site-footer .footer-bottom{gap:24px}.site-footer .footer-bottom span:last-child{max-width:48%;text-align:right}.gallery figure:nth-child(7){grid-column:span 7}.gallery figure:nth-child(8){grid-column:span 5}
.status-tag{display:inline-block;margin-top:7px;padding:4px 7px;border:1px solid #9a7d4b;color:#755b2e;font-size:9px;letter-spacing:.11em;text-transform:uppercase}.project.cosmos{background:linear-gradient(145deg,#102b42,#1d4f72);color:#fff}.project.cosmos .tag,.project.cosmos p{color:#c9d9e4}.project.cosmos:before{content:"✦";align-self:flex-end;font-size:28px;color:var(--gold);animation:starPulse 2.8s ease-in-out infinite}
@keyframes heroEnter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes heroBreath{from{transform:scale(1.01)}to{transform:scale(1.075) translate3d(-.5%,.35%,0)}}@keyframes scrollPulse{0%,100%{opacity:.45;transform:translateY(0)}50%{opacity:1;transform:translateY(7px)}}@keyframes starPulse{0%,100%{opacity:.45;transform:scale(.85) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(18deg)}}
@media(max-width:900px){.archive-gallery{grid-template-columns:1fr}.archive-gallery figure{min-height:330px}.site-header.scrolled{height:68px}.logo img{width:142px}.page-hero:after{width:90vw;right:-25vw;top:80px}.page-hero:before{right:15vw;top:115px;font-size:75px}.site-footer .footer-bottom span:last-child{max-width:none;text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-img,.hero-copy>*,.page-hero:after,.page-hero:before,.page-hero .breadcrumb,.page-hero .page-title,.page-hero .page-lead,.project.cosmos:before,.scroll{animation:none!important}.motion-ready .reveal{opacity:1!important;transform:none!important;transition:none!important}*,*:before,*:after{transition-duration:.01ms!important}}
/* Minimal FERDIS wordmark and restrained inner-page treatment. */
.logo img{content:url('images/ferdis-calligraphy-white.png');width:205px;height:64px;object-fit:contain;opacity:.97}
.page-hero:after,.page-hero:before{content:none}
@media(max-width:900px){.logo img{width:170px;height:54px}}
/* Final header and contact refinements. */
.scroll{display:none}
.logo img{width:280px;height:84px}
.footer-mail{margin-top:34px;padding:19px 28px;font-size:12px;letter-spacing:.07em;display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
@media(max-width:900px){.logo img{width:205px;height:62px}.footer-mail{margin-top:28px}}
/* Four-image horizontal archive carousel. */
.archive-carousel{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:10px;gap:16px}
.archive-carousel figure{flex:0 0 min(72%,720px);scroll-snap-align:start}
.archive-carousel::-webkit-scrollbar{height:7px}.archive-carousel::-webkit-scrollbar-thumb{background:#9b8b76;border-radius:99px}
@media(max-width:900px){.archive-carousel figure{flex-basis:86%}}
.site-footer .footer-mail[href$="contatti.html"]{font-size:11px;letter-spacing:.09em}
.site-footer .footer-mail[href$="contatti.html"]:after{content:none}
/* Keep the multimedia proposal calm and vertically balanced. */
.project.cosmos:before{content:none}
#universo,#universe{justify-content:center}
#universo h3,#universe h3{margin-top:24px}
.gallery figure:nth-child(9){grid-column:span 5}.gallery figure:nth-child(10){grid-column:span 7}
.project-requests{border-top:1px solid var(--line)}.project-request{border-bottom:1px solid var(--line);padding:0}.project-request summary{cursor:pointer;list-style:none;padding:22px 42px 22px 0;font-weight:700;font-size:19px;position:relative}.project-request summary::-webkit-details-marker{display:none}.project-request summary:after{content:"+";position:absolute;right:4px;top:18px;font-size:25px;font-weight:400;color:var(--blue)}.project-request[open] summary:after{content:"−"}.project-request form{padding:0 0 28px}.project-request .form-status{margin-top:6px}
/* Larger signature on wide screens, with a safe intermediate size for navigation. */
@media(min-width:1181px){.logo img{width:340px;height:84px}}
@media(min-width:901px) and (max-width:1180px){.logo img{width:265px;height:72px}.nav-links{gap:16px}}
.site-footer .footer-meta{display:flex;flex-direction:column;gap:28px;align-items:flex-start}.footer-offer span,.footer-social>span{display:block;color:#9aa2a8;font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:7px}.footer-offer strong{display:block;color:#fff;font-size:15px;line-height:1.45;font-weight:400}.footer-social{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.footer-social>span{width:100%;margin-bottom:0}.site-footer .footer-social a{display:grid;place-items:center;width:30px;height:30px;margin:0;border:1px solid #ffffff3b;border-radius:50%;transition:background-color .3s ease,transform .3s ease}.footer-social a:hover{background:#d6b47c;transform:translateY(-2px)}.footer-social img{width:14px;height:14px}.footer-social a:hover img{filter:brightness(0) saturate(100%)}
.site-footer .footer-meta{align-items:center;text-align:center}.site-footer .footer-social{justify-content:center}
/* Soft, continuous hover language across navigation and calls to action. */
.nav-links a,.site-footer a,.project a,.download,.video,.event,.btn{transition:color .45s ease,background-color .5s ease,border-color .5s ease,opacity .45s ease,transform .6s var(--ease),box-shadow .6s var(--ease)}
.nav-links a{opacity:.78}.nav-links a:hover,.nav-links a[aria-current=page]{opacity:1}.nav-links a:after{transition:transform .65s var(--ease),opacity .45s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px #10182020}.card:hover,.project:hover,.press-quote:hover,.download:hover{transform:translateY(-4px);box-shadow:0 18px 44px #10202c14}.event:hover{transform:translateX(4px)}
.project a:hover,.site-footer a:hover{opacity:.72}.download:hover,.video:hover{opacity:.92}
.project-enquiry{padding-top:118px;padding-bottom:68px}.project-enquiry .prose{margin-top:26px;margin-bottom:42px}.project-enquiry .project-requests{margin-top:0}.press-request-form .form-status:empty{display:none}@media(max-width:900px){.project-enquiry{padding-top:90px;padding-bottom:64px}.project-enquiry .prose{margin-bottom:34px}}
/* Final hover treatment: fade only, no abrupt positional jump. */
.btn,.card,.project,.press-quote,.download,.video,.event,.gallery figure img,.site-footer .footer-social a{transition:opacity .7s ease,background-color .7s ease,border-color .7s ease,color .7s ease,box-shadow .7s ease,filter .7s ease,transform .7s ease}
.btn:hover,.card:hover,.project:hover,.press-quote:hover,.download:hover,.event:hover,.site-footer .footer-social a:hover{transform:none}.btn:hover{opacity:.9;box-shadow:0 10px 24px #10182018}.card:hover,.project:hover,.press-quote:hover,.download:hover{opacity:.96;box-shadow:0 14px 34px #10202c10}.event:hover{opacity:.78}.gallery figure:hover img{transform:none;opacity:.88}.video:hover{opacity:.9}.site-footer .footer-social a:hover{background:#ffffff18}.site-footer .footer-social a:hover img{filter:none}
@media(min-width:901px){.media-feature{grid-template-columns:1fr 1fr}.media-copy{padding-left:max(7vw,calc((100vw - var(--max))/2 + 42px));padding-right:clamp(42px,7vw,120px)}}
.hero-copy .keep-together{display:inline-block;white-space:nowrap}
/* Editorial hover system: long, quiet cross-fades with no layout movement. */
:root{--hover-ease:cubic-bezier(.22,1,.36,1)}
.logo img,.nav-links a,.nav-links a:after,.btn,.card,.project,.press-quote,.download,.event,.video,.gallery figure,.gallery figure:after,.archive-gallery figure,.archive-gallery figure:after,.gallery figure img,.archive-gallery figure img,.video img,.site-footer a,.site-footer .footer-social a{transition-timing-function:var(--hover-ease)!important}
.logo img{transition:opacity .85s var(--hover-ease),filter .85s var(--hover-ease)!important}
.logo:hover img{transform:none!important;opacity:1;filter:drop-shadow(0 8px 18px #0003)}
.nav-links a{opacity:.72;transition:color .82s var(--hover-ease),opacity .82s var(--hover-ease)!important}
.nav-links a:hover,.nav-links a[aria-current=page]{opacity:1}
.nav-links a:after{opacity:0;transform:scaleX(.38)!important;transform-origin:center!important;transition:transform .9s var(--hover-ease),opacity .72s var(--hover-ease)!important}
.nav-links a:hover:after,.nav-links a[aria-current=page]:after{opacity:1;transform:scaleX(1)!important}
.btn{transition:color .78s var(--hover-ease),background-color .78s var(--hover-ease),border-color .78s var(--hover-ease),opacity .78s var(--hover-ease),box-shadow .9s var(--hover-ease)!important}
.btn:hover{transform:none!important;opacity:.93;box-shadow:0 9px 25px #10182016}
.card,.project,.press-quote,.download,.event{transition:color .82s var(--hover-ease),background-color .82s var(--hover-ease),border-color .82s var(--hover-ease),opacity .82s var(--hover-ease),box-shadow .9s var(--hover-ease)!important}
.card:hover,.project:hover,.press-quote:hover,.download:hover,.event:hover{transform:none!important;opacity:.97;box-shadow:0 12px 32px #10202c0c}
.video,.gallery figure,.archive-gallery figure{position:relative;isolation:isolate}
.video:after,.gallery figure:after,.archive-gallery figure:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(135deg,#0d223614,#d6b47c12);opacity:0;transition:opacity .95s var(--hover-ease)}
.video:hover:after,.gallery figure:hover:after,.archive-gallery figure:hover:after{opacity:1}
.video img,.gallery figure img,.archive-gallery figure img{transform:none!important;transition:opacity .95s var(--hover-ease),filter .95s var(--hover-ease)!important}
.video:hover img,.gallery figure:hover img,.archive-gallery figure:hover img{transform:none!important;opacity:.9;filter:saturate(.94) contrast(.99)}
.video span,.archive-gallery figcaption{z-index:2}
.site-footer a{transition:color .72s var(--hover-ease),opacity .72s var(--hover-ease),background-color .72s var(--hover-ease),border-color .72s var(--hover-ease)!important}
.site-footer a:hover{opacity:.82}
.site-footer .footer-social a:hover{transform:none!important;background:#ffffff16}
/* Keep the typographic voice identical on desktop and mobile browsers. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body,button,input,select,textarea{font-family:Arial,Helvetica,sans-serif;font-synthesis:none}
.display,.page-title,h1,h2,.event h3,.card h3,.project h3,.download strong{font-family:Arial,Helvetica,sans-serif;font-synthesis:none}
.display em,.page-title em,h1 em,h2 em,.quote,.press-quote blockquote{font-family:Georgia,"Times New Roman",serif;font-synthesis:none}
@media(max-width:900px){body,button,input,select,textarea{font-family:Arial,Helvetica,sans-serif!important}.display,.page-title,h1,h2,.event h3,.card h3,.project h3,.download strong{font-family:Arial,Helvetica,sans-serif!important}.display em,.page-title em,h1 em,h2 em,.quote,.press-quote blockquote{font-family:Georgia,"Times New Roman",serif!important}}
/* Avoid coloured emoji substitutions for arrows and video controls on mobile. */
.arrow,.btn,.text-link,.footer-mail{font-family:Arial,Helvetica,sans-serif;font-variant-emoji:text}
.video span{font-size:0;font-family:Arial,Helvetica,sans-serif;font-variant-emoji:text;position:relative}
.video span:before{content:"";position:absolute;left:50%;top:50%;width:0;height:0;margin:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid #111;transform:translate(-42%,-50%)}
.ui-arrow,.event .arrow{font-size:0!important;width:18px;height:18px;display:inline-block;position:relative;flex:none;vertical-align:middle;color:currentColor;font-variant-emoji:text}.ui-arrow:before,.event .arrow:before{content:"";position:absolute;left:3px;top:15px;width:17px;height:1.5px;background:currentColor;transform:rotate(-45deg);transform-origin:left center}.ui-arrow:after,.event .arrow:after{content:"";position:absolute;right:2px;top:2px;width:8px;height:8px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor}
@media(max-width:600px){.event time,.event time small{white-space:nowrap}.event time small{display:inline-block}}
/* Mobile navigation opens as an overlay fade, never as a sudden block. */
@media(max-width:900px){.nav-links{display:flex!important;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);transition:opacity .58s var(--hover-ease),transform .58s var(--hover-ease),visibility 0s linear .58s!important}.nav-links.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .58s var(--hover-ease),transform .58s var(--hover-ease),visibility 0s linear 0s!important}.hero-img{background-position:28% 42%;background-image:linear-gradient(90deg,#0c1720d9 0%,#102638a3 51%,#1026382a 100%),url('images/hero.jpeg')}}
.gallery figure:nth-child(5) img{object-fit:contain;background:var(--cream)}
/* English home: keep the editorial three-line lock-up and the CTA fully visible
   at wide desktop sizes, matching the approved preview composition. */
body[data-lang="en"][data-page="home"] .hero-copy{top:18%;max-width:1180px}
body[data-lang="en"][data-page="home"] .display{font-size:clamp(58px,7.2vw,112px);line-height:.9}
body[data-lang="en"][data-page="home"] .hero-lead{max-width:760px;margin-top:24px}
body[data-lang="en"][data-page="home"] .hero-copy .btn{margin-top:4px}
@media(max-width:900px){body[data-lang="en"][data-page="home"] .hero-copy{top:20%;max-width:none}body[data-lang="en"][data-page="home"] .display{font-size:clamp(52px,14vw,78px)}body[data-lang="en"][data-page="home"] .hero-lead{max-width:560px}}
/* Final header geometry is present before JavaScript runs, preventing logo/menu jumps. */
.logo img{width:280px;height:84px;object-fit:contain}
@media(min-width:1181px){.logo img{width:340px;height:84px}}
@media(min-width:901px) and (max-width:1180px){.logo img{width:265px;height:72px}}
@media(max-width:900px){.logo img{width:205px;height:62px}}
