
:root{
  --black:#090a09;--black2:#0f100f;--ivory:#f3efe7;--paper:#e8e1d4;--ink:#161511;
  --gold:#c9a96b;--muted:#9e978b;--line:rgba(201,169,107,.32);
  --serif:"Gloock",Georgia,serif;--sans:"Spline Sans",Arial,sans-serif;--nav-h:76px;--brand-gap:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black)}
body{margin:0;background:var(--black);color:var(--ivory);font-family:var(--sans);font-weight:300;overflow-x:hidden}
a{color:inherit;text-decoration:none} button{font:inherit} ::selection{background:var(--gold);color:var(--black)}

/* NAV */
.nav{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,60px);background:linear-gradient(to bottom,rgba(9,10,9,.8),rgba(9,10,9,0));transition:background .4s,border-color .4s}
.nav.is-solid{background:rgba(9,10,9,.95);border-bottom:1px solid rgba(255,255,255,.06);backdrop-filter:blur(10px)}
.navmark{width:34px;height:34px;display:block}.navmark img{display:block;width:100%;height:100%;object-fit:contain}
.navright{display:flex;align-items:center;gap:28px}.navright a{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(243,239,231,.72);transition:color .25s}.navright a:hover{color:var(--gold)}.navright .ex-lang-control{order:10;margin-left:0}.ex-mobile-menu-button{order:11}

/* GLOBAL */
section{position:relative}.display{font-family:var(--serif);font-weight:400;letter-spacing:-.025em;line-height:.98;margin:0}.eyebrow{font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin:0 0 24px}.copy{font-size:clamp(15px,1.18vw,18px);line-height:1.75;color:rgba(243,239,231,.76);margin:0}.copy.dark{color:rgba(22,21,17,.74)}
.reveal{opacity:0;transform:translateY(28px);clip-path:inset(0 0 24% 0);transition:opacity .9s ease,transform 1s cubic-bezier(.2,.7,.2,1),clip-path 1s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none;clip-path:inset(0)}.reveal[data-delay="1"]{transition-delay:.12s}.reveal[data-delay="2"]{transition-delay:.24s}.reveal[data-delay="3"]{transition-delay:.36s}

/* BRAND INTRO */
.brand-intro{min-height:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 36%,rgba(201,169,107,.08),transparent 36%),var(--black);overflow:hidden;padding:calc(var(--nav-h) + var(--brand-gap)) 0 var(--brand-gap)}
.brandframe{width:min(88vw,980px);height:min(23vw,248px);min-height:172px;border:0;display:block;pointer-events:none}
.brand-scroll{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:.34em;text-transform:uppercase;color:rgba(243,239,231,.44)}
.brand-scroll:after{content:"";display:block;width:1px;height:38px;background:linear-gradient(var(--gold),transparent);margin:18px auto 0}

/* HERO: COLLAGE DI STORE */
.store-hero{min-height:92svh;position:relative;overflow:hidden;background:#060706}
.store-mix{position:absolute;inset:0;display:grid;grid-template-columns:1.12fr 1.58fr .92fr;grid-template-rows:56% 44%;gap:8px;padding:8px;background:#090a09}
.store-panel{position:relative;overflow:hidden;background:#151515;isolation:isolate}
.store-panel .panel-layer{position:absolute;inset:-1px;background-position:center;background-size:cover;background-repeat:no-repeat;filter:saturate(.96) contrast(1.035) brightness(.95);opacity:0;transform:scale(1.002);transition:opacity 1.55s cubic-bezier(.22,.61,.36,1),transform 4.8s ease;will-change:opacity,transform}
.store-panel .panel-layer.is-visible{opacity:1;transform:scale(1.018)}
.store-panel .panel-layer.is-next{z-index:2}
.store-panel .panel-layer.is-current{z-index:1}
.store-panel:nth-child(1){grid-column:1;grid-row:1 / span 2}
.store-panel:nth-child(2){grid-column:2;grid-row:1}
.store-panel:nth-child(3){grid-column:2;grid-row:2}
.store-panel:nth-child(4){grid-column:3;grid-row:1 / span 2}
.store-mix:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(5,5,5,.46) 0%,rgba(5,5,5,.12) 34%,rgba(5,5,5,.05) 58%,rgba(5,5,5,.42) 100%),linear-gradient(0deg,rgba(5,5,5,.34),transparent 36%);pointer-events:none}
.store-hero-content{position:relative;min-height:92svh;z-index:2;inset:0;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);grid-template-rows:auto 1fr auto;column-gap:6vw;padding:clamp(88px,8.4vw,126px) clamp(28px,5vw,80px) clamp(38px,5.2vh,60px);text-shadow:0 12px 34px rgba(0,0,0,.34)}
.store-hero .eyebrow{grid-column:1;grid-row:1;margin:0 0 20px;align-self:start}
.store-hero h1{grid-column:1;grid-row:2;align-self:start;font-size:clamp(46px,5.05vw,78px);max-width:9.6ch;line-height:1.08;font-style:italic;margin:0;color:#f7f3eb;overflow:visible}.store-hero h1.reveal{clip-path:none}
.hero-copy-right{grid-column:2;grid-row:3;align-self:end;justify-self:end;width:min(100%,500px);margin-bottom:0}
.hero-editorial{position:relative;isolation:isolate;background:transparent;color:#f7f3eb;padding:18px 20px 20px;border:0;box-shadow:none;text-shadow:none}
.hero-editorial:before{content:"";display:block;width:62px;height:1px;background:rgba(201,169,107,.92);margin-bottom:13px}
.hero-editorial:after{content:"";position:absolute;z-index:-1;inset:-18px -24px -22px -24px;background:linear-gradient(135deg,rgba(10,10,9,.58) 0%,rgba(16,13,9,.43) 56%,rgba(16,13,9,.31) 100%);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);-webkit-mask-image:radial-gradient(ellipse at center,#000 54%,rgba(0,0,0,.88) 68%,rgba(0,0,0,.42) 84%,transparent 100%);mask-image:radial-gradient(ellipse at center,#000 54%,rgba(0,0,0,.88) 68%,rgba(0,0,0,.42) 84%,transparent 100%);pointer-events:none}
.hero-sub-kicker{margin:0 0 10px;font-size:clamp(17px,1.32vw,20px);letter-spacing:.10em;text-transform:uppercase;color:#cfb179;font-weight:500;line-height:1.12}
.store-hero-sub{margin:0;font-family:var(--sans);font-size:clamp(17px,1.32vw,20px);line-height:1.46;color:#f7f3eb;max-width:34ch;font-weight:300;letter-spacing:-.01em}
.store-hero-sub .line{display:block}.store-hero-sub .line + .line{margin-top:.18em}
.hero-cta{display:inline-flex;align-items:center;gap:14px;margin-top:24px;font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:#f7f3eb;border-bottom:1px solid var(--gold);padding:0 0 9px}.hero-cta:after{content:"↘";color:var(--gold);font-size:14px}

/* IDEA */
.idea{background:#f0e7d8;color:var(--ink);padding:clamp(78px,7.2vw,110px) clamp(22px,6vw,86px);overflow:hidden}
.idea-grid{max-width:1540px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.16fr) minmax(390px,.84fr);gap:clamp(48px,5.2vw,86px);align-items:center}
.idea h2{font-size:clamp(42px,3.6vw,62px);font-style:italic;line-height:.98;max-width:none}.idea-copy{padding-top:0;max-width:580px;display:flex;flex-direction:column;justify-content:center;align-self:center}.idea-copy .lead{font-family:var(--serif);font-size:clamp(26px,2.2vw,38px);line-height:1.18;color:var(--ink);font-weight:700;letter-spacing:-.02em;margin:0 0 24px}.idea-copy .copy.dark{font-size:clamp(17px,1.32vw,20px);line-height:1.68;color:rgba(22,21,17,.74)}.idea-highlight{display:block;width:auto;max-width:100%;white-space:normal;background:none;color:var(--ink);padding:0;line-height:1.37;margin:0;hyphens:none;overflow-wrap:normal}
.idea-highlight-text{display:inline;background:var(--gold);padding:.05em .35em .11em .20em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.idea-line{margin-top:24px;padding-top:18px;border-top:1px solid rgba(22,21,17,.18);font-size:15px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.idea-kicker{display:flex;align-items:center;gap:18px;font-size:15px;letter-spacing:.24em;margin-bottom:18px;color:var(--gold)}.idea-kicker .idea-dot{color:var(--gold);font-size:1.65em;line-height:.7;transform:translateY(-1px)}

/* ROLES */
.roles{min-height:98svh;background:var(--black2);display:grid;grid-template-columns:1.12fr .88fr;overflow:hidden}
.roles-visual{position:relative;min-height:640px;background:#0b0c0b;overflow:hidden;filter:saturate(.82)}
.roles-slider{position:absolute;inset:0;z-index:0;overflow:hidden}
.roles-slide{position:absolute;inset:-1px;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0;transform:scale(1.01);transition:opacity .38s ease,transform 1.5s ease;will-change:opacity,transform}
.roles-slide.is-visible{opacity:1;transform:scale(1.025)}
.roles-visual:after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,transparent 48%,var(--black2) 100%),linear-gradient(0deg,rgba(9,10,9,.44),transparent 40%);pointer-events:none}
.live-card{position:absolute;z-index:2;left:clamp(24px,5.2vw,78px);top:clamp(58px,7vw,98px);bottom:clamp(34px,4.5vw,58px);width:min(720px,84%);display:flex;flex-direction:column;background:transparent;border:none;backdrop-filter:none;padding:0;box-shadow:none}.live-card *{text-shadow:0 10px 28px rgba(0,0,0,.46)}
.role-manifesto{font-family:var(--serif);font-size:clamp(46px,5.05vw,78px);font-style:italic;font-weight:400;letter-spacing:-.025em;line-height:1.04;margin:0;max-width:9.6ch;color:#f7f3eb}.role-manifesto .line{display:block}
.roles-copy{display:flex;align-items:center;padding:clamp(54px,6.2vw,96px) clamp(42px,7vw,112px) clamp(54px,6.2vw,96px) clamp(24px,4.8vw,82px)}.roles-copy>div{width:min(100%,620px);margin:auto 0}.roles-copy .copy{max-width:590px;margin:0;font-size:clamp(17px,1.32vw,20px);line-height:1.68}.role-note{margin-top:34px;color:var(--gold);font-size:15px;letter-spacing:.24em;text-transform:uppercase;line-height:1.45}.roles-kicker{display:flex;align-items:center;gap:18px;font-size:15px;letter-spacing:.24em;margin:0 0 32px;color:var(--gold);text-transform:uppercase}.roles-kicker .roles-dot{color:var(--gold);font-size:1.65em;line-height:.7;transform:translateY(-1px)}

/* WORLDS */
.worlds{background:var(--paper);color:var(--ink);padding:clamp(100px,12vw,170px) clamp(22px,6vw,90px)}
.worlds-head{max-width:1330px;margin:0 auto 68px;display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:end}.worlds-head h2{font-size:clamp(56px,6.6vw,104px);max-width:10ch}.worlds-head p{max-width:500px}
.world-grid{max-width:1450px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.world{position:relative;min-height:520px;overflow:hidden;background:#222}.world:before{content:"";position:absolute;inset:-2%;background:var(--bg) center/cover no-repeat;filter:saturate(.75) contrast(1.05);transition:transform 1.2s ease}.world:hover:before{transform:scale(1.025)}.world:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 46%,rgba(0,0,0,.74))}.world-caption{position:absolute;z-index:2;left:22px;right:22px;bottom:22px;color:#fff}.world-caption small{font-size:8px;letter-spacing:.24em;text-transform:uppercase;color:#dfcda8}.world-caption h3{font:400 30px/1.06 var(--serif);margin:9px 0 0}

/* INTERNATIONAL */
.international{min-height:105svh;background:radial-gradient(circle at 75% 42%,rgba(201,169,107,.1),transparent 34%),var(--black);display:grid;place-items:center;padding:120px 24px;overflow:hidden}
.international-inner{width:min(1180px,90vw);display:grid;grid-template-columns:1fr .95fr;gap:clamp(50px,9vw,140px);align-items:center}.international h2{font-size:clamp(60px,7vw,110px);max-width:8.5ch}.international p{max-width:560px}.international-quote{font:400 clamp(28px,2.9vw,46px)/1.2 var(--serif);color:#f6f1e7;margin-bottom:34px}.international-line{width:74px;height:1px;background:var(--gold);margin:0 0 28px}

/* X / INTERSECTION */
.intersection{background:#070807;min-height:68svh;display:grid;place-items:center;padding:72px 24px;text-align:center}.intersection .introline{display:flex;align-items:center;gap:18px;font-size:15px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0 0 40px;text-align:left}.intersection .introline .intro-dot{color:var(--gold);font-size:1.65em;line-height:.7;transform:translateY(-1px)}.xrows{width:min(1120px,94vw)}.xrow{font:400 clamp(46px,7.2vw,112px)/1.12 var(--serif);display:grid;grid-template-columns:auto auto auto;align-items:center;justify-content:center;column-gap:.18em;opacity:.18;transition:opacity .7s,transform .8s;transform:scale(.975);white-space:nowrap}.xrow.active{opacity:1;transform:scale(1)}.xword{display:block}.brand-x{height:.66em;width:auto;display:block;align-self:center;justify-self:center;transform:translateX(6px) translateY(.01em)}.xnote{max-width:680px;margin:44px auto 0;font-size:15px;line-height:1.7;color:rgba(243,239,231,.64)}

/* INVITE */
.invite{background:var(--ivory);color:var(--ink);padding:clamp(68px,4.65vw,82px) clamp(22px,6vw,86px) clamp(78px,6.5vw,110px);overflow:hidden}.invite-inner{max-width:1540px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,1fr);gap:clamp(48px,6vw,120px);align-items:start}.invite-left{display:flex;flex-direction:column;align-items:flex-start}.invite-kicker{display:flex;align-items:center;gap:18px;font-size:15px;letter-spacing:.24em;text-transform:uppercase;margin:0 0 24px;color:var(--gold)}.invite-kicker .invite-dot{color:var(--gold);font-size:1.65em;line-height:.7;transform:translateY(-1px)}.invite h2{font-size:clamp(42px,4.5vw,72px);font-style:italic;line-height:.98;letter-spacing:-.025em;margin:102px 0 0;max-width:none}.invite-gold-line{display:table;width:max-content;max-width:100%;white-space:nowrap;background:var(--gold);color:var(--ink);padding:.05em .38em .11em .20em;line-height:1.08;margin:0 0 .13em;box-decoration-break:clone;-webkit-box-decoration-break:clone}.invite-right{padding-top:clamp(78px,5.4vw,86px);width:100%;max-width:560px;display:flex;flex-direction:column;align-items:flex-start}.invite-text{max-width:700px}.invite .invite-text p{font-size:clamp(17px,1.32vw,20px);line-height:1.72;color:rgba(22,21,17,.74);max-width:700px;margin:0}.invite .invite-text p + p{margin-top:24px}.actions{display:flex;justify-content:center;width:100%;gap:20px;flex-wrap:wrap;margin-top:34px}.action{display:inline-flex;align-items:center;justify-content:center;min-width:240px;padding:16px 24px;border:1px solid rgba(22,21,17,.22);border-radius:14px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;transition:.3s}.action.primary{background:var(--gold);color:#fff;border-color:var(--gold);font-size:12px;letter-spacing:.16em;font-weight:700;text-shadow:0 1px 2px rgba(60,40,15,.28);box-shadow:0 10px 24px rgba(191,159,89,.18)}.action:hover{border-color:var(--gold);color:#765f34}.action.primary:hover{background:#c4a65e;border-color:#c4a65e;color:#fff}

footer{background:var(--black);border-top:1px solid rgba(255,255,255,.07);padding:28px clamp(18px,4vw,58px);display:flex;justify-content:space-between;gap:20px;color:#777166;font-size:9px;letter-spacing:.16em;text-transform:uppercase}

@media  (min-width:621px) and (max-width:1100px) and (max-device-width:899px), (min-width:621px) and (max-width:1100px) and (max-width:599px), (min-device-width:559px) and (max-device-width:990px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop) .invite-inner{grid-template-columns:1fr;gap:36px}html:not(.ex-optical-desktop) .invite h2{margin-top:24px}html:not(.ex-optical-desktop) .invite-right{padding-top:0}html:not(.ex-optical-desktop) .actions{justify-content:flex-start}}
@media  (max-width:980px) and (max-device-width:899px), (max-width:980px) and (max-width:599px), (max-device-width:882px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
 html:not(.ex-optical-desktop) .navright{gap:16px}html:not(.ex-optical-desktop) .navright a:nth-child(2),html:not(.ex-optical-desktop) .navright a:nth-child(3){display:none}
 html:not(.ex-optical-desktop) .store-hero{min-height:118svh}html:not(.ex-optical-desktop) .store-mix{grid-template-columns:1fr 1.18fr;grid-template-rows:54% 46%;gap:6px;padding:6px}html:not(.ex-optical-desktop) .store-panel:nth-child(1){grid-column:1;grid-row:1 / span 2}html:not(.ex-optical-desktop) .store-panel:nth-child(2){grid-column:2;grid-row:1}html:not(.ex-optical-desktop) .store-panel:nth-child(3){grid-column:2;grid-row:2}html:not(.ex-optical-desktop) .store-panel:nth-child(4){display:none}html:not(.ex-optical-desktop) .store-hero-content{grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto;padding:106px 34px 42px}html:not(.ex-optical-desktop) .store-hero .eyebrow{grid-column:1;grid-row:1}html:not(.ex-optical-desktop) .store-hero h1{grid-column:1;grid-row:2;font-size:clamp(46px,7vw,66px);max-width:9.6ch;line-height:1.08}html:not(.ex-optical-desktop) .hero-copy-right{grid-column:1;grid-row:4;width:min(68%,440px);margin-left:auto}
 html:not(.ex-optical-desktop) .idea-grid,html:not(.ex-optical-desktop) .worlds-head,html:not(.ex-optical-desktop) .international-inner{grid-template-columns:1fr}html:not(.ex-optical-desktop) .idea-copy{padding-top:0}html:not(.ex-optical-desktop) .roles{grid-template-columns:1fr;min-height:auto}html:not(.ex-optical-desktop) .roles-visual{min-height:64vh}html:not(.ex-optical-desktop) .roles-visual:after{background:linear-gradient(0deg,var(--black2),transparent 48%)}html:not(.ex-optical-desktop) .roles-copy{padding:64px 26px 80px}html:not(.ex-optical-desktop) .world-grid{grid-template-columns:1fr 1fr}html:not(.ex-optical-desktop) .world{min-height:54vh}
}
@media  (max-width:620px) and (max-device-width:899px), (max-width:620px) and (max-width:599px), (max-device-width:558px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
 html:not(.ex-optical-desktop) .nav{--nav-h:64px;height:var(--nav-h);padding:0 16px}html:not(.ex-optical-desktop) .navright a{display:none}html:not(.ex-optical-desktop) .navright a:last-child{display:block}html:not(.ex-optical-desktop) .navmark{width:30px;height:30px}
 html:not(.ex-optical-desktop) .brand-intro{min-height:0;padding:calc(var(--nav-h) + 22px) 0 22px}html:not(.ex-optical-desktop) .brandframe{width:96vw;height:25vh;min-height:176px}
 html:not(.ex-optical-desktop) .store-hero{min-height:126svh}html:not(.ex-optical-desktop) .store-mix{grid-template-columns:1fr 1fr;grid-template-rows:34% 26% 40%;gap:5px;padding:5px}html:not(.ex-optical-desktop) .store-panel:nth-child(1){grid-column:1;grid-row:1 / span 2}html:not(.ex-optical-desktop) .store-panel:nth-child(2){grid-column:2;grid-row:1}html:not(.ex-optical-desktop) .store-panel:nth-child(3){grid-column:2;grid-row:2}html:not(.ex-optical-desktop) .store-panel:nth-child(4){grid-column:1 / span 2;grid-row:3}html:not(.ex-optical-desktop) .store-panel .panel-layer{filter:saturate(.95) contrast(1.03) brightness(.91)}html:not(.ex-optical-desktop) .store-hero-content{grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto;padding:92px 18px 34px}html:not(.ex-optical-desktop) .store-hero .eyebrow{grid-column:1;grid-row:1}html:not(.ex-optical-desktop) .store-hero h1{grid-column:1;grid-row:2;font-size:10.4vw;max-width:9.4ch;line-height:1.08}html:not(.ex-optical-desktop) .hero-copy-right{grid-column:1;grid-row:4;width:90%;margin-left:auto}html:not(.ex-optical-desktop) .hero-editorial{padding:15px 16px 17px}html:not(.ex-optical-desktop) .hero-editorial:before{width:46px;margin-bottom:10px}html:not(.ex-optical-desktop) .hero-sub-kicker{font-size:10px;letter-spacing:.14em;margin-bottom:7px}html:not(.ex-optical-desktop) .store-hero-sub{font-size:16px;line-height:1.40;max-width:none}
 html:not(.ex-optical-desktop) .idea{padding:54px 18px}html:not(.ex-optical-desktop) .idea h2{font-size:10vw;line-height:1}html:not(.ex-optical-desktop) .idea-copy .lead{font-size:26px;line-height:1.18}html:not(.ex-optical-desktop) .idea-kicker,html:not(.ex-optical-desktop) .idea-line{font-size:12px;letter-spacing:.2em}
 html:not(.ex-optical-desktop) .store-hero{min-height:84svh}html:not(.ex-optical-desktop) .store-hero-content{grid-template-columns:1fr;grid-template-rows:auto auto auto;row-gap:18px;padding:92px 18px 34px}html:not(.ex-optical-desktop) .hero-copy-right{grid-column:1;grid-row:3;justify-self:start;width:min(100%,92vw)}html:not(.ex-optical-desktop) .hero-editorial{padding:14px 14px 16px}html:not(.ex-optical-desktop) .hero-sub-kicker{font-size:15px}html:not(.ex-optical-desktop) .store-hero-sub{font-size:16px;line-height:1.5}html:not(.ex-optical-desktop) .roles-visual{min-height:72vh}html:not(.ex-optical-desktop) .live-card{left:18px;right:18px;top:58px;bottom:22px;width:auto}html:not(.ex-optical-desktop) .role-manifesto{font-size:11.2vw;max-width:9.2ch;line-height:1.02}html:not(.ex-optical-desktop) .roles-copy>div{width:100%}html:not(.ex-optical-desktop) .roles-copy .copy{font-size:16px;line-height:1.62}html:not(.ex-optical-desktop) .roles-kicker{font-size:12px;letter-spacing:.2em;margin-bottom:24px}html:not(.ex-optical-desktop) .roles-kicker .roles-dot{font-size:1.65em}html:not(.ex-optical-desktop) .role-note{font-size:12px;letter-spacing:.2em;margin-top:26px}
 html:not(.ex-optical-desktop) .worlds{padding-left:14px;padding-right:14px}html:not(.ex-optical-desktop) .worlds-head h2{font-size:13vw}html:not(.ex-optical-desktop) .world-grid{grid-template-columns:1fr}html:not(.ex-optical-desktop) .world{min-height:62vh}
 html:not(.ex-optical-desktop) .international h2{font-size:13.5vw}html:not(.ex-optical-desktop) .international-quote{font-size:30px}html:not(.ex-optical-desktop) .xrow{font-size:10.8vw;justify-content:start}html:not(.ex-optical-desktop) .xrows{text-align:left}html:not(.ex-optical-desktop) .xnote{text-align:left}html:not(.ex-optical-desktop) .intersection{text-align:left}html:not(.ex-optical-desktop) .intersection .introline{text-align:left;justify-content:flex-start}
 html:not(.ex-optical-desktop) .invite{padding:72px 18px 86px}html:not(.ex-optical-desktop) .invite-inner{grid-template-columns:1fr;gap:34px}html:not(.ex-optical-desktop) .invite-left,html:not(.ex-optical-desktop) .invite-right{padding-top:0}html:not(.ex-optical-desktop) .invite-kicker{font-size:12px;letter-spacing:.22em;margin-bottom:18px}html:not(.ex-optical-desktop) .invite h2{font-size:clamp(30px,10.5vw,58px);line-height:1.04;margin-top:0}html:not(.ex-optical-desktop) .invite-gold-line{padding:.05em .34em .10em .16em}html:not(.ex-optical-desktop) .invite-text{max-width:100%}html:not(.ex-optical-desktop) .invite .invite-text p{font-size:16px;line-height:1.65}html:not(.ex-optical-desktop) .invite .invite-text p + p{margin-top:18px}html:not(.ex-optical-desktop) .actions{display:grid;width:min(100%,320px);margin-top:28px}html:not(.ex-optical-desktop) .action{min-width:0;width:100%} html:not(.ex-optical-desktop) footer{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important;clip-path:none!important}.store-panel .panel-layer{transform:none!important;transition:none!important}.xrow{opacity:1!important;transform:none!important}}

/* V42 — anchor calibration; menu landing visible below fixed header */
#progetto,#funziona,#contatto{scroll-margin-top:76px}
.action{cursor:pointer;font-family:var(--sans)}
/* Slide-in contact drawer; independent of existing page styles */
.contact-overlay[hidden]{display:none!important}
.contact-overlay{position:fixed;inset:0;z-index:300;display:flex;justify-content:flex-end;background:rgba(4,5,4,.58);opacity:0;transition:opacity .34s ease}
.contact-overlay.is-open{opacity:1}
.contact-panel{position:relative;height:100%;height:100dvh;width:min(100%,540px);overflow-y:auto;overscroll-behavior:contain;background:var(--ivory);color:var(--ink);box-shadow:-18px 0 72px rgba(0,0,0,.22);transform:translateX(100%);transition:transform .36s cubic-bezier(.2,.7,.2,1);padding:clamp(26px,3.2vw,48px);padding-bottom:max(36px,env(safe-area-inset-bottom));}
.contact-overlay.is-open .contact-panel{transform:translateX(0)}
.contact-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}
.contact-eyebrow{font:500 11px/1.4 var(--sans);letter-spacing:.26em;color:#95733c;text-transform:uppercase;margin:0 0 12px}
.contact-title{font:400 clamp(34px,3.4vw,46px)/1.12 var(--serif);letter-spacing:-.025em;margin:0}
.contact-desc{margin:8px 0 28px;color:#625e56;font-size:14px;line-height:1.6}
.contact-close{border:1px solid rgba(22,21,17,.2);border-radius:100%;width:42px;height:42px;flex-shrink:0;background:transparent;color:var(--ink);font-size:24px;font-weight:300;line-height:1;cursor:pointer;display:grid;place-items:center}
.contact-close:hover{border-color:var(--gold);background:#eae1d1}
.contact-form{display:grid;gap:16px}
.contact-form .form-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.contact-field label{font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:500;color:#403c36}
.contact-field input,.contact-field textarea{width:100%;min-height:45px;background:#fffefa;border:1px solid #cec5b6;border-radius:6px;color:#191713;padding:12px 13px;font:400 15px/1.35 var(--sans);outline:none;transition:border-color .15s,box-shadow .15s}
.contact-field textarea{resize:vertical;min-height:126px}
.contact-field input:focus,.contact-field textarea:focus{border-color:#90713d;box-shadow:0 0 0 3px rgba(201,169,107,.2)}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#9c978f}
.form-footnote{font-size:12px;line-height:1.55;color:#756d61;margin:0}
.contact-submit{min-height:50px;border:1px solid var(--gold);border-radius:12px;background:var(--gold);color:#fff;font:700 12px/1.3 var(--sans);letter-spacing:.12em;cursor:pointer;text-transform:uppercase}
.contact-submit:hover{background:#b9985b}
.contact-status{display:none;margin:0;border-left:3px solid #9b6e32;background:#ede3d3;color:#403222;padding:12px 14px;font-size:13px;line-height:1.5}
.contact-status.is-visible{display:block}
body.contact-open{overflow:hidden}
@media  (max-width:620px) and (max-device-width:899px), (max-width:620px) and (max-width:599px), (max-device-width:558px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop) #progetto,html:not(.ex-optical-desktop) #funziona,html:not(.ex-optical-desktop) #contatto{scroll-margin-top:64px}html:not(.ex-optical-desktop) .contact-panel{width:100%;padding:26px 18px 40px}html:not(.ex-optical-desktop) .contact-form .form-pair{grid-template-columns:1fr 1fr;gap:10px}html:not(.ex-optical-desktop) .contact-field label{font-size:10px}html:not(.ex-optical-desktop) .contact-field input,html:not(.ex-optical-desktop) .contact-field textarea{font-size:16px}}
@media  (max-width:360px) and (max-device-width:899px), (max-width:360px) and (max-width:599px), (max-device-width:324px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop) .contact-form .form-pair{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.contact-overlay,.contact-panel{transition:none!important}}
html:lang(it) .role-manifesto .line{white-space:nowrap}


/* V42 original design; only add a discreet fixed navbar selector. */
.navright{gap:clamp(12px,2vw,28px);min-width:0}
.ex-lang-control{display:inline-flex;position:relative;align-items:center;flex:0 0 auto;gap:7px;min-height:37px;padding:0 7px 0 10px;background:rgba(9,10,9,.4);border:1px solid rgba(201,169,107,.6);border-radius:3px;color:#d8c49d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ex-lang-control:focus-within{outline:2px solid rgba(201,169,107,.75);outline-offset:2px}
.ex-lang-icon{height:16px;width:16px;flex:0 0 auto;color:#c9a96b}
.ex-lang-control select{color:#f3efe7;background:transparent;border:0;appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;font:500 11px/1.2 var(--sans);letter-spacing:.015em;padding:7px 18px 7px 1px;max-width:160px;min-width:77px;text-overflow:ellipsis}
.ex-lang-control select option{background:#161713;color:#f3efe7;font:13px Arial,sans-serif}
.ex-lang-chevron{position:absolute;right:9px;top:50%;transform:translateY(-57%);font-size:17px;color:#c9a96b;pointer-events:none}
.ex-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media  (max-width:980px) and (max-device-width:899px), (max-width:980px) and (max-width:599px), (max-device-width:882px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop) .navright{gap:12px}}
@media  (max-width:620px) and (max-device-width:899px), (max-width:620px) and (max-width:599px), (max-device-width:558px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop) .navright a:nth-of-type(3){display:block}html:not(.ex-optical-desktop) .navright{gap:8px}html:not(.ex-optical-desktop) .ex-lang-control{height:34px;min-height:34px;padding-left:7px;gap:4px}html:not(.ex-optical-desktop) .ex-lang-control select{font-size:10px;max-width:130px;padding-right:18px}html:not(.ex-optical-desktop) .ex-lang-icon{height:14px;width:14px}html:not(.ex-optical-desktop) .navright a:last-of-type{font-size:9px;letter-spacing:.08em}}
@media  (max-width:320px) and (max-device-width:899px), (max-width:320px) and (max-width:599px), (max-device-width:288px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop) .navright a{display:none!important}html:not(.ex-optical-desktop) .ex-lang-control select{max-width:122px}}
/* Script-specific, natural text metrics. Web fonts are never bundled or redistributed. */
html:lang(zh-cn){--serif:"Noto Serif SC","Songti SC","SimSun",serif;--sans:"Noto Sans SC","Microsoft YaHei","Segoe UI",sans-serif}
html:lang(ja){--serif:"Noto Serif JP","Yu Mincho",serif;--sans:"Noto Sans JP","Yu Gothic","Meiryo",sans-serif}
html:lang(ko){--serif:"Noto Serif KR","Batang",serif;--sans:"Noto Sans KR","Malgun Gothic",sans-serif}
html:lang(hi){--serif:"Noto Serif Devanagari","Nirmala UI",serif;--sans:"Noto Sans Devanagari","Nirmala UI",sans-serif}
html:lang(ar){--serif:"Noto Naskh Arabic","Traditional Arabic",serif;--sans:"Noto Sans Arabic","Segoe UI","Tahoma",sans-serif}
html:lang(ru){--serif:"Gloock","Georgia",serif;--sans:"Spline Sans","Segoe UI",sans-serif}
html:not(:lang(it)) .invite-gold-line{white-space:normal;width:fit-content;max-width:100%;overflow-wrap:break-word}
html:lang(de) .store-hero h1,html:lang(ru) .store-hero h1,html:lang(hi) .store-hero h1{max-width:13ch;font-size:clamp(40px,4.8vw,74px);line-height:1.12}
html:lang(ar) .store-hero h1{font-size:clamp(40px,4.5vw,72px);max-width:13ch;line-height:1.24}
html:lang(ja) .store-hero h1,html:lang(ko) .store-hero h1,html:lang(zh-cn) .store-hero h1{font-size:clamp(40px,4.5vw,70px);max-width:15ch;line-height:1.22}
html:lang(hi) .idea h2,html:lang(ar) .idea h2,html:lang(ru) .idea h2,html:lang(de) .idea h2{font-size:clamp(30px,3.1vw,53px);line-height:1.19}
html:lang(ja) .idea h2,html:lang(zh-cn) .idea h2,html:lang(ko) .idea h2{font-size:clamp(30px,3vw,52px);line-height:1.17}
html:lang(hi) .role-manifesto,html:lang(ar) .role-manifesto,html:lang(ru) .role-manifesto,html:lang(de) .role-manifesto{font-size:clamp(32px,4.3vw,70px);line-height:1.18}
html:lang(ar) .xrow,html:lang(hi) .xrow,html:lang(ru) .xrow,html:lang(ko) .xrow,html:lang(ja) .xrow,html:lang(zh-cn) .xrow{font-size:clamp(28px,4.6vw,72px)}
html:lang(ar){direction:rtl}
/* Preserve approved left-to-right placements for logo, columns, collage and controls. */
html:lang(ar) body,html:lang(ar) .nav,html:lang(ar) .store-mix,html:lang(ar) .store-hero-content,html:lang(ar) .idea-grid,html:lang(ar) .roles,html:lang(ar) .invite-inner,html:lang(ar) .contact-header,html:lang(ar) .contact-form{direction:ltr}
html:lang(ar) .navright{direction:ltr}
html:lang(ar) .store-hero h1,html:lang(ar) .hero-copy-right,html:lang(ar) .idea,html:lang(ar) .idea-copy,html:lang(ar) .roles-copy,html:lang(ar) .invite,html:lang(ar) .invite-text,html:lang(ar) .contact-panel,html:lang(ar) .contact-field{direction:rtl;text-align:right}
html:lang(ar) .xrows{direction:rtl}
html:lang(ar) input:not([type="email"]):not([type="tel"]),html:lang(ar) textarea{direction:rtl;text-align:right}
html:lang(ar) input[type="email"],html:lang(ar) input[type="tel"]{direction:ltr;text-align:left}
html:lang(ar) .ex-lang-control select{direction:ltr;text-align:left}
html:lang(hi) .contact-field label,html:lang(ar) .contact-field label,html:lang(ja) .contact-field label,html:lang(ko) .contact-field label,html:lang(zh-cn) .contact-field label{text-transform:none;letter-spacing:0}
@media  (max-width:620px) and (max-device-width:899px), (max-width:620px) and (max-width:599px), (max-device-width:558px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
 html:not(.ex-optical-desktop):not(:lang(it)) .store-hero h1{font-size:clamp(31px,8vw,50px);max-width:15ch;line-height:1.16}
 html:not(.ex-optical-desktop):lang(hi) .store-hero h1,html:not(.ex-optical-desktop):lang(ar) .store-hero h1{font-size:clamp(29px,7.5vw,45px)}
 html:not(.ex-optical-desktop):not(:lang(it)) .role-manifesto{font-size:clamp(27px,8.2vw,45px);max-width:100%;overflow-wrap:anywhere}
 html:not(.ex-optical-desktop):lang(ar) .hero-copy-right{justify-self:end}
 html:not(.ex-optical-desktop):lang(ar) .intersection .introline{direction:rtl;text-align:right}
}


/* V45: keep final Italian auction phrase intact, and preserve mixed case CTA. */
html:lang(it) .store-hero-sub .hero-auction-line{white-space:nowrap;letter-spacing:-.025em}
html:not(:lang(it)) .store-hero-sub .hero-auction-line{display:none}
html:lang(it) .invite-heading .invite-gold-line{text-transform:none}
@media  (max-width:520px) and (max-device-width:899px), (max-width:520px) and (max-width:599px), (max-device-width:468px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop):lang(it) .store-hero-sub .hero-auction-line{font-size:clamp(13px,3.6vw,17px)}}


/* V43: shared, elastic geometry; all copy retained from V42 localization. */
html{min-width:0}body{min-width:0;overflow-x:clip}
.nav{gap:clamp(10px,2vw,25px)}
.navright{flex:0 1 auto;min-width:0;gap:clamp(10px,1.9vw,28px)}
.navright a{white-space:nowrap;letter-spacing:clamp(.08em,.14vw,.22em)}
.ex-lang-control{min-width:0;max-width:min(45vw,208px)}
.ex-lang-control select{min-width:0;width:100%;max-width:170px}
/* Desktop hero title and visual editorial text retain their prominent scale. */
.store-hero-content{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);min-width:0}
.store-hero h1,html:lang(de) .store-hero h1,html:lang(ru) .store-hero h1,html:lang(hi) .store-hero h1,html:lang(ar) .store-hero h1,html:lang(ja) .store-hero h1,html:lang(ko) .store-hero h1,html:lang(zh-cn) .store-hero h1{
 font-size:clamp(43px,5vw,78px);max-width:min(100%,17ch);line-height:1.12;min-width:0;overflow-wrap:normal;hyphens:auto;text-wrap:balance
}
.store-hero-sub{max-width:100%;overflow-wrap:normal;hyphens:auto;text-wrap:pretty}
html:not(:lang(it)) .store-hero-sub .line{display:inline}
html:not(:lang(it)) .store-hero-sub .line+.line{margin-top:0}
.hero-copy-right{min-width:0}
.idea-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(30px,4.6vw,82px)}
.idea-grid>*{min-width:0}
.idea h2,html:lang(ar) .idea h2,html:lang(de) .idea h2,html:lang(ru) .idea h2,html:lang(hi) .idea h2,html:lang(zh-cn) .idea h2,html:lang(ja) .idea h2,html:lang(ko) .idea h2{
 font-size:clamp(40px,3.6vw,62px);line-height:1.12;overflow-wrap:normal;hyphens:auto
}
.idea h2{min-width:0;text-wrap:pretty}
.roles{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)}
.roles-copy{min-width:0}
.live-card{max-width:calc(100% - 30px)}
.role-manifesto,html:lang(ar) .role-manifesto,html:lang(hi) .role-manifesto,html:lang(ru) .role-manifesto,html:lang(de) .role-manifesto{
 font-size:clamp(40px,4.5vw,74px);line-height:1.11;max-width:100%;text-wrap:balance;overflow-wrap:normal;hyphens:auto
}
html:not(:lang(it)) .role-manifesto .line{display:inline}
.role-note,.idea-line{overflow-wrap:break-word;line-height:1.4}
/* Editorial equation: same strong type scale for every locale, all three rows. */
.xrows{width:min(1120px,100%);min-width:0}
.xrow,html:lang(ar) .xrow,html:lang(hi) .xrow,html:lang(ru) .xrow,html:lang(ko) .xrow,html:lang(ja) .xrow,html:lang(zh-cn) .xrow{
 width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:clamp(6px,.8vw,18px);
 font-size:clamp(27px,5.75vw,92px);line-height:1.2;white-space:normal;letter-spacing:-.025em
}
.xrow .xword{min-width:0;white-space:nowrap}
.xrow .xword:first-child{justify-self:end;text-align:right}
.xrow .xword:last-child{justify-self:start;text-align:left}
.xrow .brand-x{height:.66em;min-width:.46em;width:auto;max-width:1.2em;transform:translateY(.01em)}
/* Locales should not be punished by an arbitrary language-specific size cap. */
.invite-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,110px)}
.invite-inner>*{min-width:0}
.invite h2{overflow-wrap:normal;hyphens:auto;text-wrap:pretty}
html:not(:lang(it)) .invite-gold-line{
 display:inline;width:auto;max-width:none;white-space:normal;overflow-wrap:normal;hyphens:auto;
 padding:.03em .34em .10em .16em;line-height:1.16;box-decoration-break:clone;-webkit-box-decoration-break:clone
}
.contact-form .form-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.contact-field label{overflow-wrap:break-word}
/* Display and controls, not page-specific hacks for Chrome zoom levels. */
.ex-mobile-menu-button{display:none;border:1px solid var(--line);border-radius:3px;background:rgba(9,10,9,.6);height:38px;width:40px;flex:0 0 auto;cursor:pointer;padding:9px;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:var(--ivory)}
.ex-mobile-menu-button span{display:block;height:1px;width:19px;background:var(--gold)}
.ex-mobile-nav[hidden]{display:none!important}
.ex-mobile-nav{position:fixed;z-index:101;top:76px;left:clamp(12px,3vw,32px);right:clamp(12px,3vw,32px);padding:12px;background:rgba(12,13,12,.98);border:1px solid var(--line);box-shadow:0 20px 40px rgba(0,0,0,.38);display:flex;flex-direction:column;gap:0;backdrop-filter:blur(12px)}
.ex-mobile-nav a{font:500 12px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:13px 12px;border-bottom:1px solid rgba(201,169,107,.17);color:var(--ivory)}
.ex-mobile-nav a:last-child{border-bottom:0}
.ex-mobile-nav a:focus-visible,.ex-mobile-menu-button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media  (max-width:1100px) and (max-device-width:899px), (max-width:1100px) and (max-width:599px), (max-device-width:990px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
 html:not(.ex-optical-desktop) .idea-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,50px)}
 html:not(.ex-optical-desktop) .idea h2{font-size:clamp(37px,4.3vw,54px)}
}
@media  (max-width:980px) and (max-device-width:899px), (max-width:980px) and (max-width:599px), (max-device-width:882px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
 html:not(.ex-optical-desktop) .idea-grid{grid-template-columns:minmax(0,1fr)}
 html:not(.ex-optical-desktop) .roles{grid-template-columns:minmax(0,1fr)}
 html:not(.ex-optical-desktop) .store-hero-content{position:relative;min-height:108svh;display:flex;flex-direction:column;justify-content:space-between;gap:30px}
 html:not(.ex-optical-desktop) .store-hero{min-height:108svh}
 html:not(.ex-optical-desktop) .store-hero h1,html:not(.ex-optical-desktop):lang(de) .store-hero h1,html:not(.ex-optical-desktop):lang(ru) .store-hero h1,html:not(.ex-optical-desktop):lang(hi) .store-hero h1,html:not(.ex-optical-desktop):lang(ar) .store-hero h1,html:not(.ex-optical-desktop):lang(ja) .store-hero h1,html:not(.ex-optical-desktop):lang(ko) .store-hero h1,html:not(.ex-optical-desktop):lang(zh-cn) .store-hero h1{font-size:clamp(44px,6.5vw,66px);max-width:min(100%,17ch)}
 html:not(.ex-optical-desktop) .hero-copy-right{width:min(100%,540px);margin:0 0 0 auto;align-self:flex-end}
 html:not(.ex-optical-desktop) .invite-inner{grid-template-columns:minmax(0,1fr)}
 html:not(.ex-optical-desktop) .invite h2{margin-top:24px}
 html:not(.ex-optical-desktop) .invite-right{padding-top:0}
}
@media  (max-width:980px) and (max-device-width:899px), (max-width:980px) and (max-width:599px), (max-device-width:882px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
 html:not(.ex-optical-desktop) .navright a{display:none!important}
 html:not(.ex-optical-desktop) .ex-mobile-menu-button{display:flex}
 html:not(.ex-optical-desktop) .nav{gap:10px}
}
@media  (max-width:620px) and (max-device-width:899px), (max-width:620px) and (max-width:599px), (max-device-width:558px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
 html:not(.ex-optical-desktop) .nav{--nav-h:64px;padding:0 16px;height:var(--nav-h);min-height:var(--nav-h);gap:10px}html:not(.ex-optical-desktop) .ex-mobile-nav{top:var(--nav-h)}
 html:not(.ex-optical-desktop) .navmark{flex:0 0 auto}
 html:not(.ex-optical-desktop) .navright{margin-left:auto;gap:8px}
 html:not(.ex-optical-desktop) .ex-lang-control{max-width:min(50vw,175px)}
 html:not(.ex-optical-desktop) .ex-lang-control select{max-width:135px;font-size:11px}
 html:not(.ex-optical-desktop) .store-hero{min-height:96svh}
 html:not(.ex-optical-desktop) .store-hero-content{min-height:96svh;padding:90px clamp(17px,4vw,24px) 32px;gap:24px}
 html:not(.ex-optical-desktop) .store-hero h1,html:not(.ex-optical-desktop):lang(de) .store-hero h1,html:not(.ex-optical-desktop):lang(ru) .store-hero h1,html:not(.ex-optical-desktop):lang(hi) .store-hero h1,html:not(.ex-optical-desktop):lang(ar) .store-hero h1,html:not(.ex-optical-desktop):lang(ja) .store-hero h1,html:not(.ex-optical-desktop):lang(ko) .store-hero h1,html:not(.ex-optical-desktop):lang(zh-cn) .store-hero h1{
  font-size:clamp(33px,8.5vw,50px);max-width:min(100%,16ch);line-height:1.15
 }
 html:not(.ex-optical-desktop) .hero-copy-right{width:100%;align-self:stretch;margin:0}
 html:not(.ex-optical-desktop) .store-hero-sub{font-size:clamp(15px,4vw,17px)}
 html:not(.ex-optical-desktop) .idea{padding:66px clamp(18px,5vw,28px)}
 html:not(.ex-optical-desktop) .idea h2,html:not(.ex-optical-desktop):lang(ar) .idea h2,html:not(.ex-optical-desktop):lang(de) .idea h2,html:not(.ex-optical-desktop):lang(ru) .idea h2,html:not(.ex-optical-desktop):lang(hi) .idea h2,html:not(.ex-optical-desktop):lang(zh-cn) .idea h2,html:not(.ex-optical-desktop):lang(ja) .idea h2,html:not(.ex-optical-desktop):lang(ko) .idea h2{
  font-size:clamp(32px,8.8vw,49px);line-height:1.16
 }
 html:not(.ex-optical-desktop) .roles-visual{min-height:max(540px,73svh)}
 html:not(.ex-optical-desktop) .live-card{left:20px;right:20px;top:55px;bottom:auto;width:auto;max-width:none}
 html:not(.ex-optical-desktop) .role-manifesto,html:not(.ex-optical-desktop):lang(ar) .role-manifesto,html:not(.ex-optical-desktop):lang(hi) .role-manifesto,html:not(.ex-optical-desktop):lang(ru) .role-manifesto,html:not(.ex-optical-desktop):lang(de) .role-manifesto{
  font-size:clamp(32px,8.7vw,48px);line-height:1.15;max-width:100%
 }
 html:not(.ex-optical-desktop) .intersection{padding:85px clamp(14px,4vw,24px);min-height:460px}
 html:not(.ex-optical-desktop) .xrow,html:not(.ex-optical-desktop):lang(ar) .xrow,html:not(.ex-optical-desktop):lang(hi) .xrow,html:not(.ex-optical-desktop):lang(ru) .xrow,html:not(.ex-optical-desktop):lang(ko) .xrow,html:not(.ex-optical-desktop):lang(ja) .xrow,html:not(.ex-optical-desktop):lang(zh-cn) .xrow{font-size:clamp(27px,6.5vw,40px);column-gap:6px}
 html:not(.ex-optical-desktop) .xrows{width:100%}
 html:not(.ex-optical-desktop) .invite h2{margin-top:0}
 html:not(.ex-optical-desktop) .invite{padding:74px 19px 82px}
 html:not(.ex-optical-desktop) .contact-form .form-pair{grid-template-columns:minmax(0,1fr)}
 html:not(.ex-optical-desktop) .contact-panel{width:100%}
}
/* Extra compact layout: typography stays legible and the menu remains operable. */
@media  (max-width:350px) and (max-device-width:899px), (max-width:350px) and (max-width:599px), (max-device-width:315px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop) .nav{padding:0 12px}html:not(.ex-optical-desktop) .ex-lang-control{max-width:51vw}html:not(.ex-optical-desktop) .ex-lang-control select{max-width:116px}html:not(.ex-optical-desktop) .store-hero-content{padding:88px 15px 28px}html:not(.ex-optical-desktop) .xrow,html:not(.ex-optical-desktop):lang(ar) .xrow,html:not(.ex-optical-desktop):lang(hi) .xrow,html:not(.ex-optical-desktop):lang(ru) .xrow,html:not(.ex-optical-desktop):lang(ko) .xrow,html:not(.ex-optical-desktop):lang(ja) .xrow,html:not(.ex-optical-desktop):lang(zh-cn) .xrow{font-size:26px}}
/* Directionality without mirroring the original art direction. */
html:lang(ar) .store-hero-content,html:lang(ar) .idea-grid,html:lang(ar) .invite-inner{direction:ltr}
html:lang(ar) .store-hero h1,html:lang(ar) .hero-copy-right,html:lang(ar) .idea-grid>div,html:lang(ar) .idea-copy,html:lang(ar) .invite-inner>div{direction:rtl;text-align:right}
html:lang(ar) .xrow{direction:ltr}
html:lang(ar) .xword{direction:rtl}
@media (prefers-reduced-motion:reduce){.ex-mobile-nav{transition:none}}
@media  (min-width:981px) and (max-device-width:899px), (min-width:981px) and (max-width:599px), (min-device-width:883px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop) .navright{margin-left:auto}html:not(.ex-optical-desktop) .navright .ex-lang-control{order:99}}
@media  (max-width:980px) and (max-device-width:899px), (max-width:980px) and (max-width:599px), (max-device-width:882px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop) .navright{margin-left:auto}html:not(.ex-optical-desktop) .navright .ex-lang-control{order:1}html:not(.ex-optical-desktop) .ex-mobile-menu-button{order:2}}
@media  (min-width:981px) and (max-width:1180px) and (max-device-width:899px), (min-width:981px) and (max-width:1180px) and (max-width:599px), (min-device-width:883px) and (max-device-width:1062px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop){--brand-gap:30px}html:not(.ex-optical-desktop) .brandframe{width:min(86vw,930px);height:min(24vw,240px)}}
@media  (min-width:981px) and (max-device-width:899px), (min-width:981px) and (max-width:599px), (min-device-width:883px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop) .brand-intro{padding-top:calc(var(--nav-h) + var(--brand-gap));padding-bottom:var(--brand-gap)}}



/* V49: dimensioni e spazi compatti; mosaico invariato nei contenuti. */
.demo-section{background:#0d0f0d;color:var(--ivory);padding:clamp(48px,5vw,74px) clamp(16px,5vw,72px) clamp(55px,5.5vw,80px);overflow:hidden}
.demo-container{width:min(100%,1510px);margin-inline:auto}
.demo-kicker{margin:0 0 17px;display:flex;gap:18px;align-items:center;color:var(--gold);letter-spacing:.24em;font-size:15px;font-weight:400;line-height:1.5;text-transform:uppercase;font-family:var(--sans)}
.demo-dot{font-size:1.65em;line-height:.7;transform:translateY(-1px)}
.demo-stage{width:100%;min-width:0}
.demo-poster{position:relative;width:100%;isolation:isolate;border:1px solid rgba(201,169,107,.46);padding:5px;background:#090a09;overflow:hidden}
.demo-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:row dense;grid-auto-rows:clamp(72px,6vw,104px);gap:5px}
.demo-tile{grid-column:span var(--tile-span);min-width:0;min-height:0;overflow:hidden;background:#222}
.demo-tile img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.88) contrast(1.04);transition:transform .7s ease}
.demo-poster:hover .demo-tile img{transform:scale(1.012)}
.demo-poster-shade{position:absolute;inset:5px;background:radial-gradient(ellipse at center,rgba(5,6,5,.71),rgba(5,6,5,.27) 56%,rgba(5,6,5,.1) 100%);pointer-events:none}
/* Il testo del Play e il kicker usano lo stesso font, corpo e letter-spacing. */
.demo-launch{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:20px;padding:18px 22px;cursor:pointer;color:var(--gold);background:rgba(4,5,4,.23);border:0;border-radius:80px;white-space:nowrap;font:400 15px/1.5 var(--sans);letter-spacing:.24em;text-transform:uppercase;text-shadow:0 1px 3px #000}
.demo-play-caption{display:block}
.demo-play-circle{width:90px;height:90px;flex:0 0 90px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:#15120c;box-shadow:0 10px 37px rgba(0,0,0,.55),0 0 0 2px rgba(201,169,107,.4)}
.demo-play-circle svg{display:block;fill:currentColor;width:38px;height:38px;margin-left:5px}
.demo-launch:hover .demo-play-circle{background:#e1c489;transform:scale(1.035)}
.demo-launch:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.demo-player[hidden],.demo-poster[hidden]{display:none!important}
.demo-player{width:100%;background:#000;overflow:hidden}
.demo-player video{display:block;width:100%;height:auto;aspect-ratio:1892/1080;object-fit:contain;background:#000}
.demo-player:fullscreen,.demo-player:-webkit-full-screen{width:100vw;height:100vh;background:#000;display:grid;place-items:center}
.demo-player:fullscreen video,.demo-player:-webkit-full-screen video{width:100%;max-width:100vw;height:100%;max-height:100vh;object-fit:contain}
.demo-player video:fullscreen,.demo-player video:-webkit-full-screen{width:100vw;height:100vh;object-fit:contain;background:#000}
.demo-player.is-immersive-fallback{position:fixed;z-index:10000;inset:0;width:100vw;height:100dvh;display:grid;place-items:center;background:#000}
.demo-player.is-immersive-fallback video{width:100%;height:100%;max-height:100dvh;object-fit:contain}
.demo-video-status{font-size:13px;color:var(--gold);margin:6px 0 0}
.demo-video-status:empty{display:none}
/* Equation: caption starts at same section-top inset as other editorial headings. */
.intersection{display:block;min-height:0;text-align:left;padding:clamp(58px,6vw,92px) clamp(22px,6vw,86px) clamp(65px,6.5vw,96px)}
.intersection>div{width:min(100%,1510px);margin:0 auto}
.intersection .introline{margin:0 0 clamp(24px,3.2vw,44px);font-size:15px;letter-spacing:.24em;align-items:center}
.intersection .xrows{width:min(100%,1120px);margin:0 auto}
@media  (max-width:980px) and (max-device-width:899px), (max-width:980px) and (max-width:599px), (max-device-width:882px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop) .demo-mosaic{grid-auto-rows:clamp(68px,7vw,92px)}}
@media  (max-width:620px) and (max-device-width:899px), (max-width:620px) and (max-width:599px), (max-device-width:558px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
 html:not(.ex-optical-desktop) .demo-section{padding:42px 14px 53px}
 html:not(.ex-optical-desktop) .demo-kicker{font-size:12px;letter-spacing:.17em;gap:11px;margin-bottom:14px}
 html:not(.ex-optical-desktop) .demo-mosaic{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(55px,14vw,75px);gap:3px}
 html:not(.ex-optical-desktop) .demo-poster{padding:3px}html:not(.ex-optical-desktop) .demo-poster-shade{inset:3px}
 html:not(.ex-optical-desktop) .demo-tile{grid-column:span 2!important}
 /* Eliminata regola V49 obsoleta: confliggeva con la griglia V50 a 3 colonne. */
 html:not(.ex-optical-desktop) .demo-launch{gap:11px;padding:10px 12px;font-size:12px;letter-spacing:.17em}
 html:not(.ex-optical-desktop) .demo-play-circle{width:72px;height:72px;flex-basis:72px}
 html:not(.ex-optical-desktop) .demo-play-circle svg{width:32px;height:32px;margin-left:4px}
 html:not(.ex-optical-desktop) .intersection{padding:54px 18px 60px}
 html:not(.ex-optical-desktop) .intersection .introline{font-size:12px;letter-spacing:.2em;gap:12px;margin-bottom:28px}
}
@media  (max-width:360px) and (max-device-width:899px), (max-width:360px) and (max-width:599px), (max-device-width:324px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop) .demo-mosaic{grid-auto-rows:52px}html:not(.ex-optical-desktop) .demo-launch{gap:8px;font-size:11px;letter-spacing:.12em}html:not(.ex-optical-desktop) .demo-play-circle{width:66px;height:66px;flex-basis:66px}html:not(.ex-optical-desktop) .demo-play-circle svg{width:29px;height:29px}}
@media (prefers-reduced-motion:reduce){.demo-tile img{transition:none!important}.demo-poster:hover .demo-tile img{transform:none!important}.demo-launch:hover .demo-play-circle{transform:none!important}}


/* V50 - fixes in auction area and mosaic: scope explicitly, preserve all unrelated V49 design. */
@media  (min-width:981px) and (max-device-width:899px), (min-width:981px) and (max-width:599px), (min-device-width:883px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
  html:not(.ex-optical-desktop) .roles{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);min-height:0;height:clamp(690px,76svh,820px)}
  html:not(.ex-optical-desktop) .roles-visual{min-height:0}
  html:not(.ex-optical-desktop) .roles-copy{padding:clamp(28px,3.3vw,55px) clamp(34px,5.2vw,86px) clamp(28px,3.3vw,55px) clamp(28px,4vw,65px)}
  html:not(.ex-optical-desktop) .roles-copy>div{margin:auto 0;transform:translateY(-2%)}
  html:not(.ex-optical-desktop) .roles-visual .roles-kicker{position:absolute;z-index:4;top:clamp(102px,8vw,128px);left:clamp(24px,5vw,80px);right:16px;margin:0}
  html:not(.ex-optical-desktop) .roles .live-card{left:clamp(24px,5vw,80px);top:clamp(152px,13vw,200px);bottom:clamp(20px,2.8vw,44px);width:min(720px,calc(100% - 64px));justify-content:flex-start}
  html:not(.ex-optical-desktop) .roles .role-manifesto{font-size:clamp(43px,4.35vw,73px);line-height:1.085}
  html:not(.ex-optical-desktop) .roles .roles-slide{background-position:center 51%;background-size:cover}
}
/* Keep heading above the poster, not laid on top of faces. Play on the right. */
.demo-section{padding-top:clamp(58px,5.6vw,92px);padding-bottom:clamp(58px,5.6vw,92px)}
.demo-heading-row{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-bottom:clamp(34px,3.2vw,54px);min-height:62px}
.demo-heading-row .demo-kicker{margin:0;flex:1 1 auto;min-width:0}
.demo-heading-row .demo-launch{position:relative;left:auto;top:auto;transform:none;display:flex;align-items:center;gap:16px;flex:0 0 auto;padding:3px 0 3px 10px;background:transparent;border-radius:0;font-size:15px;line-height:1.5;letter-spacing:.24em;text-shadow:none}
.demo-heading-row .demo-play-circle{width:58px;height:58px;flex-basis:58px;box-shadow:0 3px 20px rgba(0,0,0,.25),0 0 0 1px rgba(201,169,107,.65)}
.demo-heading-row .demo-play-circle svg{width:37px;height:37px;margin-left:4px}
.demo-heading-row .demo-play-caption{font-size:15px;letter-spacing:.24em}
.demo-poster-shade{background:linear-gradient(to bottom,rgba(5,6,5,.05),rgba(5,6,5,.07))}
/* Exactly 17 images fill a 7-column, 3-row mosaic, four feature cells double-width. */
.demo-mosaic{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-flow:row;grid-auto-rows:clamp(120px,10.55vw,175px);gap:5px}
.demo-tile{grid-column:span 1!important;overflow:hidden;min-width:0;min-height:0}
.demo-tile:nth-child(1),.demo-tile:nth-child(5),.demo-tile:nth-child(9),.demo-tile:nth-child(17){grid-column:span 2!important}
.demo-tile img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;display:block;max-width:none;transform:none;aspect-ratio:auto}
.demo-poster:hover .demo-tile img{transform:none}
/* Portrait and scenic subjects: keep faces, heads, storefront objects and principal products in frame. */
.demo-tile:nth-child(1) img{object-position:53% 17%}
.demo-tile:nth-child(2) img{object-position:59% 15%}
.demo-tile:nth-child(3) img{object-position:46% 28%}
.demo-tile:nth-child(4) img{object-position:61% 17%}
.demo-tile:nth-child(5) img{object-position:46% 18%}
.demo-tile:nth-child(6) img{object-position:51% 28%}
.demo-tile:nth-child(7) img{object-position:52% 16%}
.demo-tile:nth-child(8) img{object-position:41% 19%}
.demo-tile:nth-child(9) img{object-position:43% 14%}
.demo-tile:nth-child(10) img{object-position:48% 20%}
.demo-tile:nth-child(11) img{object-position:36% 20%}
.demo-tile:nth-child(12) img{object-position:70% 20%}
.demo-tile:nth-child(13) img{object-position:35% 20%}
.demo-tile:nth-child(14) img{object-position:43% 14%}
.demo-tile:nth-child(15) img{object-position:41% 15%}
.demo-tile:nth-child(16) img{object-position:50% 17%}
.demo-tile:nth-child(17) img{object-position:52% 17%}
@media  (max-width:980px) and (max-device-width:899px), (max-width:980px) and (max-width:599px), (max-device-width:882px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
  /* Vertical reading order remains logical on touch devices. */
  html:not(.ex-optical-desktop) .roles{grid-template-columns:1fr;min-height:0;height:auto}
  html:not(.ex-optical-desktop) .roles-visual{min-height:clamp(540px,72vw,690px)}
  html:not(.ex-optical-desktop) .roles-visual .roles-kicker{position:absolute;z-index:4;top:clamp(26px,5vw,45px);left:clamp(24px,4vw,44px);margin:0}
  html:not(.ex-optical-desktop) .roles .live-card{top:clamp(110px,14vw,150px);bottom:30px;left:clamp(24px,4vw,44px);width:calc(100% - 60px)}
  html:not(.ex-optical-desktop) .roles .roles-slide{background-position:center 48%;background-size:cover}
  html:not(.ex-optical-desktop) .roles-copy{padding:clamp(36px,5vw,56px) clamp(25px,4vw,44px) clamp(46px,6vw,64px)}
  html:not(.ex-optical-desktop) .roles-copy>div{margin:0}
  html:not(.ex-optical-desktop) .demo-mosaic{grid-auto-rows:clamp(104px,12vw,137px)}
}
@media  (max-width:620px) and (max-device-width:899px), (max-width:620px) and (max-width:599px), (max-device-width:558px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
  html:not(.ex-optical-desktop) .demo-section{padding:44px 14px 59px}
  html:not(.ex-optical-desktop) .demo-heading-row{flex-direction:column;align-items:stretch;gap:18px;margin-bottom:29px;min-height:0}
  html:not(.ex-optical-desktop) .demo-heading-row .demo-kicker{font-size:12px;letter-spacing:.17em}
  html:not(.ex-optical-desktop) .demo-heading-row .demo-launch{align-self:flex-end;padding:0 2px;gap:11px}
  html:not(.ex-optical-desktop) .demo-heading-row .demo-play-circle{width:54px;height:54px;flex-basis:54px}
  html:not(.ex-optical-desktop) .demo-heading-row .demo-play-circle svg{width:34px;height:34px;margin-left:4px}
  html:not(.ex-optical-desktop) .demo-heading-row .demo-play-caption{font-size:12px;letter-spacing:.17em}
  html:not(.ex-optical-desktop) .demo-mosaic{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row dense;grid-auto-rows:clamp(86px,25vw,110px);gap:3px}
  html:not(.ex-optical-desktop) .demo-tile{grid-column:span 1!important}
  /* Mobile: six rows instead of an excessively long eleven-row mosaic. */
  html:not(.ex-optical-desktop) .demo-tile:nth-child(1),html:not(.ex-optical-desktop) .demo-tile:nth-child(5),html:not(.ex-optical-desktop) .demo-tile:nth-child(9),html:not(.ex-optical-desktop) .demo-tile:nth-child(17){grid-column:span 1!important}
  html:not(.ex-optical-desktop) .demo-tile:nth-child(3){grid-column:span 2!important}
  html:not(.ex-optical-desktop) .demo-tile img{object-position:50% 25%}
  html:not(.ex-optical-desktop) .demo-tile:nth-child(3) img{object-position:50% 21%}
  html:not(.ex-optical-desktop) .roles-visual{min-height:clamp(460px,135vw,620px)}
  html:not(.ex-optical-desktop) .roles-visual .roles-kicker{top:clamp(27px,6vw,40px);left:20px;right:15px;font-size:12px;letter-spacing:.2em}
  html:not(.ex-optical-desktop) .roles .live-card{top:clamp(108px,19vw,134px);left:20px;right:20px;width:auto;bottom:25px}
  html:not(.ex-optical-desktop) .roles .role-manifesto{font-size:clamp(31px,8vw,45px);line-height:1.11}
  html:not(.ex-optical-desktop) .roles-copy{padding:36px 22px 50px}
}
@media  (max-width:350px) and (max-device-width:899px), (max-width:350px) and (max-width:599px), (max-device-width:315px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
  html:not(.ex-optical-desktop) .demo-mosaic{grid-auto-rows:78px}
  html:not(.ex-optical-desktop) .demo-heading-row .demo-play-caption{letter-spacing:.10em}
  html:not(.ex-optical-desktop) .roles .role-manifesto{font-size:clamp(29px,8.2vw,39px)}
}


/* V51 — Only the three requested sections are changed. */
/* Auction: stationary title on the dark right, both narrative blocks vertically centered. */
.roles-copy{position:relative;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:stretch}
.roles-copy .roles-kicker{position:absolute;z-index:4;top:clamp(52px,5vw,82px);left:clamp(26px,4vw,65px);right:25px;margin:0}
.roles-copy>div{margin:0!important;transform:none!important;width:100%}
.roles-visual .live-card{top:0!important;bottom:0!important;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;margin:0}
.roles-visual .role-manifesto{margin:0}
@media  (min-width:981px) and (max-device-width:899px), (min-width:981px) and (max-width:599px), (min-device-width:883px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
 html:not(.ex-optical-desktop) .roles-copy{padding-top:clamp(100px,9vw,148px);padding-bottom:clamp(25px,3vw,48px)}
 html:not(.ex-optical-desktop) .roles-copy>div{margin:auto 0!important}
 html:not(.ex-optical-desktop) .roles .roles-slide{background-position:center 47%}
}
@media  (max-width:980px) and (max-device-width:899px), (max-width:980px) and (max-width:599px), (max-device-width:882px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
 html:not(.ex-optical-desktop) .roles-copy{padding-top:clamp(84px,11vw,115px);padding-bottom:clamp(42px,5vw,62px)}
 html:not(.ex-optical-desktop) .roles-copy .roles-kicker{top:clamp(28px,5vw,45px);left:clamp(24px,4vw,44px)}
 html:not(.ex-optical-desktop) .roles-visual .live-card{left:clamp(24px,4vw,44px);right:clamp(24px,4vw,44px);width:auto}
}
@media  (max-width:620px) and (max-device-width:899px), (max-width:620px) and (max-width:599px), (max-device-width:558px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
 html:not(.ex-optical-desktop) .roles-copy{padding:90px 22px 46px}
 html:not(.ex-optical-desktop) .roles-copy .roles-kicker{top:29px;left:22px;right:16px}
 html:not(.ex-optical-desktop) .roles-visual .live-card{left:20px;right:20px;width:auto}
}
/* Mosaic: preserve face framing but add >= 1/3 height to every row. */
.demo-mosaic{grid-auto-rows:clamp(160px,14.1vw,235px)}
@media  (min-width:621px) and (max-width:980px) and (max-device-width:899px), (min-width:621px) and (max-width:980px) and (max-width:599px), (min-device-width:559px) and (max-device-width:882px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop) .demo-mosaic{grid-auto-rows:clamp(140px,16vw,190px)}}
@media  (max-width:620px) and (max-device-width:899px), (max-width:620px) and (max-width:599px), (max-device-width:558px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop) .demo-mosaic{grid-auto-rows:clamp(116px,33.5vw,149px)}}
@media  (max-width:350px) and (max-device-width:899px), (max-width:350px) and (max-width:599px), (max-device-width:315px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop) .demo-mosaic{grid-auto-rows:112px}}
/* On mobile, fill the final mosaic row instead of leaving two black cells. */
@media  (max-width:620px) and (max-device-width:899px), (max-width:620px) and (max-width:599px), (max-device-width:558px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop) .demo-mosaic .demo-tile:last-child{grid-column:1 / -1!important}}
/* Smaller golden circle, prominent and optically centred play glyph. */
.demo-heading-row .demo-play-circle{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center}
.demo-heading-row .demo-play-circle svg{width:34px;height:34px;margin:0;transform:translateX(-1.7px);display:block}
.demo-heading-row .demo-launch{min-height:48px;min-width:48px}
@media  (max-width:620px) and (max-device-width:899px), (max-width:620px) and (max-width:599px), (max-device-width:558px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
 html:not(.ex-optical-desktop) .demo-heading-row .demo-play-circle{width:44px;height:44px;flex-basis:44px}
 html:not(.ex-optical-desktop) .demo-heading-row .demo-play-circle svg{width:34px;height:34px;margin:0;transform:translateX(-1.7px)}
 html:not(.ex-optical-desktop) .demo-heading-row .demo-launch{min-height:48px}
}
/* Equation: keep the section title at its previously approved top inset.
   Only one moving line is visible in the enclosed stage. */
.intersection{overflow:hidden;padding-top:clamp(58px,6vw,92px);padding-bottom:clamp(28px,2.9vw,38px)}
.intersection .introline{margin-bottom:clamp(34px,3.1vw,46px)}
.intersection .xrows{position:relative;width:min(100%,1120px);height:clamp(105px,9.4vw,140px);margin:0 auto;overflow:hidden;isolation:isolate}
.intersection .xrow{position:absolute;inset:0;width:100%;height:100%;display:grid;opacity:0;transform:translateX(112%);align-content:center;pointer-events:none;will-change:transform,opacity;transition:none}
.intersection .xrow.active{opacity:0;transform:translateX(112%)}
@media  (max-width:980px) and (max-device-width:899px), (max-width:980px) and (max-width:599px), (max-device-width:882px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop) .intersection .xrows{height:clamp(82px,12vw,120px)}}
@media  (max-width:620px) and (max-device-width:899px), (max-width:620px) and (max-width:599px), (max-device-width:558px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
 html:not(.ex-optical-desktop) .intersection{padding-top:54px;padding-bottom:24px}
 html:not(.ex-optical-desktop) .intersection .introline{margin-bottom:35px}
 html:not(.ex-optical-desktop) .intersection .xrows{height:75px;width:100%}
 html:not(.ex-optical-desktop) .intersection .xrow{font-size:clamp(20px,5.25vw,30px);line-height:1.14;column-gap:4px}
}
@media  (max-width:350px) and (max-device-width:899px), (max-width:350px) and (max-width:599px), (max-device-width:315px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop) .intersection .xrow{font-size:20px}}
@media (prefers-reduced-motion:reduce){
 .intersection .xrow{opacity:0!important;transform:none!important;will-change:auto}
 .intersection .xrow.active{opacity:1!important;transform:none!important}
}


/* V53: captured gray lines physically removed from MP4 (top 3px / bottom 5px), retaining golden frame. */
.demo-player,.demo-player:fullscreen,.demo-player:-webkit-full-screen{border:0!important;outline:0!important;box-shadow:none!important}
.demo-player video{border:0!important;outline:0!important;box-shadow:none!important;pointer-events:none;clip-path:none}
.demo-player video::-webkit-media-controls,.demo-player video::-webkit-media-controls-enclosure,.demo-player video::-webkit-media-controls-panel{display:none!important;opacity:0!important;pointer-events:none!important}
/* Desktop: center both substantive text blocks in the same vertical section, title stays at the upper right. */
@media  (min-width:981px) and (max-device-width:899px), (min-width:981px) and (max-width:599px), (min-device-width:883px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
 html:not(.ex-optical-desktop) .roles-copy{justify-content:center;padding-top:clamp(42px,4.4vw,68px);padding-bottom:clamp(42px,4.4vw,68px)}
 html:not(.ex-optical-desktop) .roles-copy>div{margin:0!important;transform:none!important}
 html:not(.ex-optical-desktop) .roles-visual .live-card{justify-content:center}
}
/* The value equation runs across the complete viewport, not a clipped internal 1120px column. */
.intersection{overflow:clip}
.intersection .xrows{
 position:relative;left:50%;width:100vw;max-width:none;height:clamp(105px,9.4vw,140px);
 transform:translateX(-50%);margin:0;overflow:hidden;isolation:isolate;
}
.intersection .xrow,html:lang(it) .intersection .xrow,html:lang(en) .intersection .xrow{
 position:absolute;inset:auto;top:0;left:50%;width:max-content;max-width:none;height:100%;
 display:flex;align-items:center;justify-content:center;gap:clamp(14px,1.45vw,30px);
 white-space:nowrap;opacity:0;transform:translateX(-50%);pointer-events:none;
 transition:none;will-change:transform;grid-template-columns:none;
}
.intersection .xrow .xword{display:block;flex:none;white-space:nowrap;justify-self:auto;text-align:center}
/* Optical correction for the SVG's asymmetric transparent margins: glyph centered in its slot,
   and the X crossing aligns to the horizontal midline of the letterforms. */
.intersection .xrow .brand-x{flex:none;align-self:center;justify-self:auto;width:auto;min-width:0;max-width:1em;height:.66em;transform:translate(.056em,-.09em)}
@media  (max-width:980px) and (max-device-width:899px), (max-width:980px) and (max-width:599px), (max-device-width:882px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop) .intersection .xrows{height:clamp(82px,12vw,120px)}}
@media  (max-width:620px) and (max-device-width:899px), (max-width:620px) and (max-width:599px), (max-device-width:558px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
 html:not(.ex-optical-desktop) .intersection .xrows{width:100vw;height:75px}
 html:not(.ex-optical-desktop) .intersection .xrow{font-size:clamp(20px,5.25vw,30px);line-height:1.14;gap:clamp(9px,2.25vw,15px)}
}
@media  (max-width:350px) and (max-device-width:899px), (max-width:350px) and (max-width:599px), (max-device-width:315px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop) .intersection .xrow{font-size:20px}}
@media (prefers-reduced-motion:reduce){
 .intersection .xrow{opacity:0!important;transform:translateX(-50%)!important;will-change:auto!important}
 .intersection .xrow.active{opacity:1!important;transform:translateX(-50%)!important}
}


/* V54. Editorial positions are intentional desktop compositions. Responsive revision comes next. */
:root{--ex-kicker-top:clamp(52px,5vw,82px)}
/* Both languages: use explicit line breaks on the 2 large hero / auction texts. */
@media  (min-width:981px) and (max-device-width:899px), (min-width:981px) and (max-width:599px), (min-device-width:883px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
 html:not(.ex-optical-desktop):lang(en) .store-hero h1{max-width:none;text-wrap:initial;hyphens:none;white-space:nowrap}
 html:not(.ex-optical-desktop):lang(en) .store-hero-sub .line{display:block;margin:0;white-space:nowrap}
 html:not(.ex-optical-desktop):lang(en) .store-hero-sub .line+.line{margin-top:.1em}
 html:not(.ex-optical-desktop):lang(en) .role-manifesto .line{display:block;white-space:nowrap}
 html:not(.ex-optical-desktop):lang(en) .invite-gold-line{display:table;width:max-content;max-width:none;white-space:nowrap;margin-bottom:.13em}
 /* Consistent top offset for all small gold section labels, benchmarked to THE LIVE AUCTION. */
 html:not(.ex-optical-desktop) .idea{padding-top:clamp(155px,11vw,205px);padding-bottom:clamp(92px,7vw,130px)}
 html:not(.ex-optical-desktop) .idea-kicker{position:absolute;top:var(--ex-kicker-top);left:clamp(22px,6vw,86px);margin:0}
 html:not(.ex-optical-desktop) .idea-grid{align-items:center}
 html:not(.ex-optical-desktop) .idea-copy{align-self:center;justify-content:center}
 html:not(.ex-optical-desktop) .demo-section{padding-top:var(--ex-kicker-top)}
 html:not(.ex-optical-desktop) .intersection{padding-top:var(--ex-kicker-top)}
 html:not(.ex-optical-desktop) .invite{padding-top:var(--ex-kicker-top)}
}
/* Prevent a 1024px-only overrun of the longest editorial gold line. */
@media  (min-width:981px) and (max-width:1100px) and (max-device-width:899px), (min-width:981px) and (max-width:1100px) and (max-width:599px), (min-device-width:883px) and (max-device-width:990px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop):lang(en) .idea h2{font-size:38px}}
/* Shorter dark shade behind the lower-right hero caption; retain protection at its right edge. */
.hero-editorial:after{inset:-12px -12px -14px 7px;-webkit-mask-image:radial-gradient(ellipse at center,#000 59%,rgba(0,0,0,.83) 74%,rgba(0,0,0,.38) 89%,transparent 100%);mask-image:radial-gradient(ellipse at center,#000 59%,rgba(0,0,0,.83) 74%,rgba(0,0,0,.38) 89%,transparent 100%)}
/* Explicit editorial paragraph and two-line lead boundaries. */
.idea-copy .lead,.roles-copy .copy{white-space:pre-line}
/* Force English heading spans as individual lines on wide layouts; allow reflow on small screens. */
@media  (max-width:980px) and (max-device-width:899px), (max-width:980px) and (max-width:599px), (max-device-width:882px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
 html:not(.ex-optical-desktop):lang(en) .store-hero h1{white-space:normal}
 html:not(.ex-optical-desktop):lang(en) .store-hero-sub .line{display:inline}
 html:not(.ex-optical-desktop):lang(en) .store-hero-sub .line:not(:last-child):after{content:" "}
}

/* V56 — Unica distanza per tre periodi dell'asta e due paragrafi finali, IT ed EN.
   I punti finali dei tre periodi sono ripristinati nelle traduzioni. */
/* Match the actual pixel rhythm, not just the nominal margin. */
html:lang(it),html:lang(en){--ex-editorial-paragraph-gap:18px;--ex-editorial-paragraph-leading:1.68}
@media  (max-width:620px) and (max-device-width:899px), (max-width:620px) and (max-width:599px), (max-device-width:558px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){html:not(.ex-optical-desktop):lang(it),html:not(.ex-optical-desktop):lang(en){--ex-editorial-paragraph-leading:1.62}}
html:lang(it) .roles-copy .copy,html:lang(en) .roles-copy .copy,
html:lang(it) .invite .invite-text p,html:lang(en) .invite .invite-text p{line-height:var(--ex-editorial-paragraph-leading)}
.roles-copy .copy .ex-editorial-paragraph{display:block}
.roles-copy .copy .ex-editorial-paragraph + .ex-editorial-paragraph{margin-top:var(--ex-editorial-paragraph-gap)}
html:lang(it) .invite .invite-text p + p,
html:lang(en) .invite .invite-text p + p{margin-top:var(--ex-editorial-paragraph-gap)}


/* V61: unico componente editoriale nella hero mobile/tablet, a destra fino a 980px.
   La maschera appartiene allo stesso box del testo (dimensioni = testo + padding),
   e non ha più un pannello assoluto con inset indipendenti. */
@media  (max-width:980px) and (max-device-width:899px), (max-width:980px) and (max-width:599px), (max-device-width:882px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
  html:not(.ex-optical-desktop) .store-hero{min-height:max(100svh,700px)}
  html:not(.ex-optical-desktop) .store-hero-content{
    position:relative;display:flex;flex-direction:column;align-items:stretch;
    justify-content:flex-start;min-height:max(100svh,700px);
    gap:clamp(18px,3vw,30px);
    padding:clamp(92px,9vw,112px) clamp(16px,3.2vw,38px) clamp(24px,3.5vw,42px);
  }
  html:not(.ex-optical-desktop) .store-hero .eyebrow{align-self:flex-start;flex:0 0 auto;margin-bottom:0}
  html:not(.ex-optical-desktop) .store-hero h1{align-self:flex-start;flex:0 0 auto;margin:0}
  html:not(.ex-optical-desktop) .hero-copy-right{
    position:relative;grid-column:auto;grid-row:auto;
    flex:0 0 auto;align-self:flex-end;justify-self:end;
    margin:auto 0 0 auto;width:clamp(232px,46vw,450px);max-width:100%;min-width:0;
  }
  html:not(.ex-optical-desktop) .hero-editorial{
    position:relative;isolation:auto;
    width:100%;min-width:0;
    padding:clamp(10px,1.15vw,15px) clamp(11px,1.3vw,17px);
    background:radial-gradient(ellipse at 53% 52%,rgba(7,7,7,.56) 0%,rgba(9,9,9,.43) 60%,rgba(9,9,9,.20) 91%,rgba(9,9,9,.11) 100%);
    border-radius:6px;
  }
  html:not(.ex-optical-desktop) .hero-editorial:after{content:none;display:none}
  html:not(.ex-optical-desktop) .hero-editorial:before{width:clamp(34px,4vw,50px);margin-bottom:clamp(7px,.9vw,11px)}
  html:not(.ex-optical-desktop) .hero-sub-kicker{
    font-size:clamp(11px,calc(8px + .7vw),15px);
    letter-spacing:.12em;margin-bottom:clamp(6px,.8vw,9px)
  }
  html:not(.ex-optical-desktop) .store-hero-sub{
    font-size:clamp(13px,calc(9.7px + .95vw),19px);
    line-height:1.43;max-width:none;overflow-wrap:break-word;hyphens:manual;
  }
  html:not(.ex-optical-desktop):lang(it) .store-hero-sub .hero-auction-line{white-space:normal;letter-spacing:-.01em}
  /* Titolo dell'asta: righe approvate conservate in entrambe le lingue. */
  html:not(.ex-optical-desktop):lang(en) .role-manifesto .line,html:not(.ex-optical-desktop):lang(it) .role-manifesto .line{display:block;white-space:normal}
  html:not(.ex-optical-desktop) .role-manifesto{max-width:100%;overflow-wrap:normal}
}
@media  (max-width:620px) and (max-device-width:899px), (max-width:620px) and (max-width:599px), (max-device-width:558px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
  /* Riabilita il quarto pannello: il vecchio max-width:980 lo nascondeva. */
  html:not(.ex-optical-desktop) .store-panel:nth-child(4){display:block;grid-column:1 / -1;grid-row:3}
  html:not(.ex-optical-desktop) .store-hero,html:not(.ex-optical-desktop) .store-hero-content{min-height:max(105svh,700px)}
  html:not(.ex-optical-desktop) .store-hero-content{padding:90px clamp(15px,4vw,22px) 25px;gap:18px}
  html:not(.ex-optical-desktop) .store-hero h1{font-size:clamp(33px,8.5vw,50px);max-width:min(100%,16ch);line-height:1.12}
  html:not(.ex-optical-desktop):lang(en) .role-manifesto{font-size:clamp(30px,8vw,48px);line-height:1.10}
}
@media  (max-width:400px) and (max-device-width:899px), (max-width:400px) and (max-width:599px), (max-device-width:360px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
  html:not(.ex-optical-desktop) .store-hero,html:not(.ex-optical-desktop) .store-hero-content{min-height:max(108svh,700px)}
  html:not(.ex-optical-desktop) .store-hero-content{padding:82px 15px 24px}
  html:not(.ex-optical-desktop):lang(en) .role-manifesto{font-size:clamp(27px,7.9vw,34px)}
}


/* V62 — Heading del mosaico: <=480px due righe allineate a sinistra; da 481px una riga.
   Un solo punto di rottura, valido per italiano e inglese. */
@media  (max-width:480px) and (max-device-width:899px), (max-width:480px) and (max-width:599px), (max-device-width:432px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
  html:not(.ex-optical-desktop) .demo-heading-row{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:clamp(10px,3vw,16px);min-height:0}
  html:not(.ex-optical-desktop) .demo-heading-row .demo-kicker{align-self:flex-start;flex:0 1 auto;width:100%;margin:0;min-width:0}
  html:not(.ex-optical-desktop) .demo-heading-row .demo-launch{align-self:flex-start;justify-content:flex-start;flex:0 0 auto;min-width:0;padding:0;gap:11px;margin:0}
}
@media  (min-width:481px) and (max-width:620px) and (max-device-width:899px), (min-width:481px) and (max-width:620px) and (max-width:599px), (min-device-width:433px) and (max-device-width:558px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
  html:not(.ex-optical-desktop) .demo-heading-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:clamp(8px,1.6vw,16px);min-height:48px}
  html:not(.ex-optical-desktop) .demo-heading-row .demo-kicker{flex:1 1 auto;min-width:0;width:auto;font-size:clamp(10px,1.8vw,12px);letter-spacing:clamp(.07em,.25vw,.17em);white-space:nowrap}
  html:not(.ex-optical-desktop) .demo-heading-row .demo-launch{align-self:center;flex:0 0 auto;min-width:0;gap:clamp(7px,1.5vw,11px);padding:0;white-space:nowrap}
  html:not(.ex-optical-desktop) .demo-heading-row .demo-play-circle{width:clamp(36px,7.4vw,44px);height:clamp(36px,7.4vw,44px);flex-basis:clamp(36px,7.4vw,44px)}
  html:not(.ex-optical-desktop) .demo-heading-row .demo-play-caption{font-size:clamp(10px,1.8vw,12px);letter-spacing:clamp(.07em,.25vw,.17em)}
}


/* V64 — correzione strutturale mosaico mobile. La vecchia regola V49 dava
   span 3 ai tiles 6,8,11,13,16; la griglia V50 prevede span 1 salvo tile 3.
   Manteniamo una sola geometria coerente per entrambi i linguaggi. */
@media  (max-width:620px) and (max-device-width:899px), (max-width:620px) and (max-width:599px), (max-device-width:558px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
 html:not(.ex-optical-desktop) .demo-mosaic{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row dense}
 html:not(.ex-optical-desktop) .demo-mosaic > .demo-tile{grid-column:span 1!important}
 html:not(.ex-optical-desktop) .demo-mosaic > .demo-tile:nth-child(3),html:not(.ex-optical-desktop) .demo-mosaic > .demo-tile:nth-last-child(2){grid-column:span 2!important}
 html:not(.ex-optical-desktop) .demo-mosaic > .demo-tile:last-child{grid-column:1 / -1!important}
}
/* Le due righe editoriali finali sono blocchi distinti in IT e EN anche
   sulle viewport strette, senza ereditare le vecchie regole inline. */
html:lang(en) .invite-heading .invite-gold-line{
 display:block;width:fit-content;max-width:100%;
}
@media  (max-width:620px) and (max-device-width:899px), (max-width:620px) and (max-width:599px), (max-device-width:558px) and (min-device-width:900px) and (hover:hover) and (pointer:fine) and (min-width:600px){
 html:not(.ex-optical-desktop):lang(it) .invite-gold-line,html:not(.ex-optical-desktop):lang(en) .invite-gold-line{display:block;width:fit-content;max-width:100%}
}
