:root{--black:#050505;--white:#fff;--soft:#cfcfcf;--glass:rgba(0,0,0,.56);--line:rgba(255,255,255,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#050505;color:#fff;font-family:Inter,Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}.loader{position:fixed;inset:0;z-index:99;background:#050505;display:grid;place-items:center;transition:.9s}.loader span{width:80px;height:2px;background:#fff;box-shadow:0 0 24px #fff;animation:load 1.1s infinite alternate}.loaded .loader{opacity:0;pointer-events:none}@keyframes load{to{transform:scaleX(2.2);opacity:.35}}.site-header{position:fixed;top:0;left:0;right:0;z-index:20;height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,58px);background:linear-gradient(180deg,rgba(0,0,0,.88),rgba(0,0,0,.55),transparent);backdrop-filter:blur(8px)}.brand-mini{filter:drop-shadow(0 0 8px rgba(255,255,255,.45))}.logo-text,.logo-main{font-weight:900;letter-spacing:.03em;line-height:1;transform:skew(-8deg);font-family:Arial Black,Impact,sans-serif}.logo-text{font-size:clamp(22px,3vw,38px)}.logo-text em,.logo-main em{font-style:normal;font-size:.55em;margin-left:.22em;letter-spacing:.02em}.logo-text .a,.logo-main .a{display:inline-block;clip-path:polygon(48% 0,100% 100%,76% 100%,65% 76%,29% 76%,18% 100%,0 100%)}.logo-text .r,.logo-main .r{display:inline-block;position:relative}.logo-main{font-size:clamp(62px,13vw,176px);text-shadow:0 0 7px #fff,0 0 24px rgba(255,255,255,.72),0 0 56px rgba(255,255,255,.28);}.nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,44px);font-weight:700;text-transform:uppercase;font-size:14px;letter-spacing:.08em}.nav a:not(.pill){position:relative}.nav a:not(.pill)::after{content:"";position:absolute;left:0;bottom:-10px;width:0;height:1px;background:#fff;transition:.35s}.nav a:hover::after{width:100%}.pill{border:1px solid rgba(255,255,255,.7);border-radius:999px;padding:16px 30px;transition:.25s}.pill:hover,.actions a:hover,.contact-actions a:hover{background:#fff;color:#050505;box-shadow:0 0 30px rgba(255,255,255,.35)}.nav-toggle{display:none;background:none;border:0;width:44px;height:36px}.nav-toggle span{display:block;height:2px;background:#fff;margin:9px 0}.hero{position:relative;min-height:100svh;padding-top:86px;display:grid;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.14) 48%,rgba(0,0,0,.42)),url('hero-concept.png');background-size:cover;background-position:center;filter:contrast(1.04) grayscale(1);transform:scale(1.04)}.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 36%,transparent 0 18%,rgba(255,255,255,.07) 19%,transparent 34%),linear-gradient(180deg,transparent 65%,#050505 100%);mix-blend-mode:screen;opacity:.55;pointer-events:none}.hero-content{position:relative;z-index:3;width:min(980px,92vw);padding-left:clamp(26px,6vw,90px);margin-top:4vh}.hairline{width:min(360px,50vw);height:1px;background:linear-gradient(90deg,transparent,#fff,transparent);margin:24px 0 20px 24%;box-shadow:0 0 15px #fff}.claim{text-transform:uppercase;letter-spacing:.52em;font-size:clamp(18px,2.6vw,32px);margin:0 0 14px;text-shadow:0 0 10px rgba(255,255,255,.55)}.subclaim{text-transform:uppercase;letter-spacing:.34em;font-size:clamp(12px,1.6vw,18px);color:#eee}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.actions a,.contact-actions a{border:1px solid rgba(255,255,255,.6);border-radius:999px;padding:14px 24px;background:rgba(0,0,0,.22);backdrop-filter:blur(10px);transition:.25s}.contact-strip{position:relative;z-index:4;align-self:end;justify-self:center;width:min(1060px,92vw);display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:0;background:rgba(0,0,0,.58);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px);margin-bottom:76px}.contact-strip div{padding:24px 34px;border-right:1px solid var(--line)}.contact-strip div:last-child{border:0}.contact-strip strong{display:block;text-transform:uppercase;font-size:12px;letter-spacing:.16em;color:#dcdcdc;margin-bottom:10px}.contact-strip span,.contact-strip a{color:#fff;line-height:1.55}.scroll{position:absolute;z-index:5;left:50%;bottom:28px;transform:translateX(-50%);width:30px;height:30px}.scroll span{display:block;width:22px;height:22px;border-right:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(45deg);animation:bounce 1.6s infinite}.section{padding:clamp(70px,10vw,135px) clamp(24px,7vw,110px);position:relative;background:#050505}.section::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent,rgba(255,255,255,.035),transparent),radial-gradient(circle at 20% 0,rgba(255,255,255,.08),transparent 34%);pointer-events:none}.intro{text-align:center;background-image:linear-gradient(rgba(5,5,5,.92),rgba(5,5,5,.95)),url('hero-concept.png');background-size:cover;background-position:bottom}.eyebrow{text-transform:uppercase;letter-spacing:.45em;color:#ddd;font-size:13px}.section h1,.section h2{font-size:clamp(32px,5vw,68px);line-height:1.02;margin:18px auto;max-width:980px}.section p{color:#e5e5e5;line-height:1.75;max-width:820px;margin-left:auto;margin-right:auto}.services h2,.gallery h2,.contact h2{margin-left:0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:42px}.cards article{border:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.015));padding:34px;min-height:245px;transition:.35s}.cards article:hover{transform:translateY(-8px);box-shadow:0 20px 60px rgba(255,255,255,.08)}.cards span{font-size:13px;color:#aaa}.cards h3{font-size:24px}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:18px;height:420px;margin-top:40px}.gallery-grid div{background-image:linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.35)),url('hero-concept.png');background-size:cover;border:1px solid rgba(255,255,255,.12);filter:grayscale(1);min-height:260px}.gallery-grid div:nth-child(1){background-position:left center}.gallery-grid div:nth-child(2){background-position:center}.gallery-grid div:nth-child(3){background-position:right center}.contact{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;background:linear-gradient(180deg,#050505,#0b0b0b)}.contact-actions{display:grid;gap:14px}footer{padding:36px clamp(24px,7vw,110px);display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.1);background:#030303;color:#aaa}.reveal{opacity:0;transform:translateY(35px);transition:1s}.reveal.visible{opacity:1;transform:none}@keyframes bounce{50%{transform:rotate(45deg) translate(8px,8px)}}@media (max-width:980px){.nav-toggle{display:block;z-index:21}.nav{position:fixed;top:0;right:0;width:min(360px,86vw);height:100svh;display:flex;flex-direction:column;justify-content:center;background:rgba(0,0,0,.94);transform:translateX(105%);transition:.35s}.nav.open{transform:none}.contact-strip{grid-template-columns:1fr;margin-bottom:58px}.contact-strip div{border-right:0;border-bottom:1px solid var(--line);padding:18px 24px}.cards{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:1fr;height:auto}.contact{grid-template-columns:1fr}.logo-main{font-size:clamp(54px,17vw,120px)}.claim{letter-spacing:.26em}.subclaim{letter-spacing:.18em}.hero-content{margin-top:0}}@media (max-width:620px){.site-header{height:74px}.brand-mini .logo-text{font-size:22px}.hero{padding-top:74px;min-height:104svh}.hero-bg{background-position:62% center}.hero-content{padding-left:22px;width:96vw}.logo-main{font-size:clamp(48px,18vw,82px)}.logo-main em{display:block;margin-left:4px;margin-top:8px;font-size:.48em}.hairline{margin-left:0}.actions a{padding:12px 18px}.cards{grid-template-columns:1fr}.section{padding:68px 22px}.contact-strip{width:92vw}.eyebrow{letter-spacing:.25em}footer{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.logo-text {
  font-family: 'Playfair Display', serif;
  font-size: 28px;
  letter-spacing: -2px;
  text-shadow: 0 0 20px rgba(255,255,255,0.8);
}}

#videoContainer video {
  mix-blend-mode: screen;
  opacity: 0.88;
  filter: contrast(1.08) saturate(0.9);
}

/* Bordi morbidi PROIEZIONE (fade estremo) */
#videoContainer {
  mask-image: 
    linear-gradient(to right, transparent 0%, black 22%, black 78%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, black 22%, black 78%, transparent 100%);
  -webkit-mask-image: 
    linear-gradient(to right, transparent 0%, black 22%, black 78%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, black 22%, black 78%, transparent 100%);
  mask-composite: intersect;
  -webkit-mask-composite: source-in;
}