/* Variante al negativo: esclusivamente colori e superfici, stessi movimenti. */
:root{color-scheme:light;--bg:#fff;--panel:#f5f7fb;--fg:#152034;--muted:#5e6b7d;--line:#15203426;--lime:#2355e8;--accent:#2355e8}
::selection{background:#2355e8;color:#fff}
.site-header{background:#fffffff2}
.header-contact:hover,.pill:hover{background:var(--fg);color:#fff}
.hero-top i{box-shadow:0 0 12px #2355e835}
.hero-copy>p{color:#5e6b7d}
.pill.primary{color:#fff}
.pill.primary:hover{background:#153cbd;color:#fff}
.orbit{border-color:#2355e84d}
.ring-two{border-color:#55769c55}
.ring-three{border-color:#2355e82e}
.orbit:after{box-shadow:0 0 25px #2355e850}
.core{background:#f2f5fc;border-color:#2355e84d;box-shadow:inset 0 0 60px #2355e808,0 0 70px #2355e80a}
.core-rim{border-color:#2355e833}
.scroll-icon{border-color:#15203440}
.ticker{background:#f5f7fb}
.solution-symbol,.symbol-tile{background:transparent}
.story:nth-child(even){background:#fafbfc}
.story .pill:hover{color:#152034}
.shop-link{border-bottom-color:#15203445}
.story-watermark{color:#15203404}
.photo-window{background:#f5f6f3}
.about{background:#edf2ff;color:#152034}
.about .micro{color:#4d6082}
.about h2 em{color:transparent;-webkit-text-stroke-color:#2355e8}
.about-bottom{border-top-color:#15203430}
.contact-orbit{border-color:#2355e830}
.contact-orbit:after{border-color:#2355e826}
dialog{border-color:#2355e860}
dialog::backdrop{background:#15203455}
/* R2: barra Sette mondi, nomi +30%; ticker velocità +10% (55s / 1,1). */
.world-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.world-link{background:var(--surface);display:flex;gap:14px;align-items:center;min-height:95px;padding:20px 16px;border-radius:48px;transition:transform .3s}
.world-link:hover{transform:translateY(-5px)}
.world-link>img{width:40px;flex:none}
.world-link>span{font-size:15.6px;min-width:0;overflow-wrap:anywhere}
.world-link>b{font-weight:400;font-size:20px;margin-left:auto}
.ticker-track{gap:0;animation-duration:50s}
.ticker-group{display:flex;align-items:center;gap:35px;padding-right:35px;flex:none}
.ticker-track a{white-space:nowrap;display:inline-block;text-decoration:none}
.ticker-track a:hover{text-decoration:underline;text-underline-offset:6px}
.ticker:hover .ticker-track,.ticker:focus-within .ticker-track{animation-play-state:paused}
.ticker-track a:focus-visible{outline-offset:-2px}
@media(max-width:1100px){.world-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.world-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.world-link{padding:15px 12px;min-height:90px;gap:9px;border-radius:25px}.world-link>img{width:34px}.world-link>span{font-size:14.3px}.world-link>b{font-size:16px}.ticker-group{gap:25px;padding-right:25px}}
@media(max-width:370px){.world-link{gap:7px;padding:12px 9px}.world-link>img{width:29px}.world-link>span{font-size:13px}}
/* R4: mantieni layout e scala originali del sistema. */
.world-links{grid-template-columns:repeat(2,minmax(0,1fr))}
.world-link>span{font-size:31.2px;font-weight:700;line-height:1.15}
.world-link>img{width:52px}
.world-link{min-height:125px;padding:24px;border-radius:65px;gap:20px}
.symbol-tile{width:148px;height:126px;padding:18px}
.ticker-track{animation-duration:41.666667s}
.orbit,.ring-two,.ring-three{border-color:rgba(28,32,38,.38)}
.orbit:after{display:none}
.planet{position:absolute;width:8px;height:8px;offset-path:ellipse(50% 50% at 50% 50%);offset-rotate:0deg;offset-distance:0%;border-radius:50%;background:var(--planet-color);box-shadow:0 0 10px color-mix(in srgb,var(--planet-color) 30%,transparent);animation:planet-travel var(--period) linear var(--start) infinite}
.satellite{font-size:22px}
@keyframes planet-travel{to{offset-distance:100%}}
@media(max-width:1100px){.satellite{font-size:18px}.world-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.satellite{font-size:18px}.world-links{grid-template-columns:1fr}.world-link{padding:22px;min-height:115px;gap:16px}.world-link>span{font-size:28.6px}.world-link>img{width:44.2px}.symbol-tile{width:130px;height:108px;padding:18px}}
@media(max-width:370px){.world-link>img{width:37.7px}.world-link>span{font-size:26px;flex-basis:100%;order:3}.world-link{flex-wrap:wrap;gap:12px;border-radius:35px}.world-link>b{margin-left:auto}}
/* R5: ovali bianchi, contorni di divisione, navigazione e nomi di fondo. */
.world-link{background:#fff;border:1px solid var(--accent)}
.world-link>span{font-weight:400}
.ticker-track{animation-duration:34.722222s}
.story-watermark{color:var(--accent);opacity:.0156862745;font-size:var(--watermark-size,22vw);white-space:nowrap;line-height:1;pointer-events:none}
.world-dock{position:fixed;right:17px;top:50%;translate:0 -50%;z-index:45;display:flex;flex-direction:column;gap:3px;opacity:0;visibility:hidden;transition:opacity .3s;pointer-events:none}
.in-stories .world-dock{opacity:1;visibility:visible;pointer-events:auto}
.world-dock>a{width:30px;height:32px;position:relative;display:grid;place-items:center}
.world-dock i{width:9px;height:9px;border-radius:50%;background:var(--accent)}
.world-dock [aria-current] i{outline:1px solid var(--fg);outline-offset:5px}
.world-dock span{position:absolute;right:36px;padding:5px 10px;background:#fff;color:var(--fg);font-size:10px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}
.world-dock>a:hover span,.world-dock>a:focus-visible span{opacity:1}
@media(max-width:1100px){.world-dock{right:8px}}
@media(max-width:760px){.world-dock{display:none}.story-watermark{left:20px}}
/* R6: tavole fotografiche e avanzamento sezione da Materia in movimento. */
.product-stage{isolation:isolate;padding:25px 12px;transform:translateY(calc((.5 - var(--p)) * 38px))}
.photo-underlay{position:absolute;inset:30px 20px 60px;background:var(--accent);z-index:-1;opacity:.85;transform:translate(calc((var(--p) - .5) * 32px),10px) rotate(calc((.5 - var(--p)) * -8deg))}
.photo-window{clip-path:none;overflow:visible;background:#fff;transform:rotate(calc((.5 - var(--p)) * 5deg));transform-origin:center;transition:transform .12s linear;will-change:transform}
.photo-window:after{display:none!important}
.photo-window img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;transition:none}
.product-stage:hover .photo-window img{transform:none}
.scene-baseline{display:flex;align-items:center;gap:25px;margin-top:35px}
.section-track{height:1px;background:var(--line);flex:1;position:relative;display:block}
.section-fill{position:absolute;inset:0;background:var(--accent);height:2px;transform:scaleX(var(--reading-p,0));transform-origin:left}
.section-cursor{position:absolute;left:calc(var(--reading-p,0) * 100%);top:-3px;width:7px;height:7px;transform:translateX(-50%);border-radius:50%;background:var(--accent)}
.scene-baseline>b{color:var(--accent);font-size:32px;font-weight:400}
.paused .photo-window,.paused .photo-underlay{transform:none!important}
@media(max-width:760px){.product-stage{padding:16px 3px;transform:none}.photo-window{transform:none}.photo-underlay{inset:24px 12px 46px;transform:translate(7px,4px) rotate(-2deg)}.scene-baseline{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.photo-window,.photo-underlay,.product-stage{transform:none!important}}
/* R7: composizione fotografica fissa, inclinazione solo del piano colorato. */
.product-stage,.paused .product-stage{transform:none!important}
.photo-window,.paused .photo-window{transform:none!important;transition:none;will-change:auto}
.photo-underlay,.paused .photo-underlay{transform:translate(-10px,10px) rotate(-3deg)!important}
@media(max-width:760px){.photo-underlay,.paused .photo-underlay{transform:translate(7px,4px) rotate(-3deg)!important}}
/* R8: didascalia separata dalla tavola inclinata; piano ancorato alla foto. */
.product-stage{--caption-offset:44px;--stage-bottom:25px}
.product-stage figcaption{margin-top:var(--caption-offset)}
.photo-underlay{bottom:calc(var(--stage-bottom) + var(--caption-offset) + 15px)}
@media(max-width:760px){.product-stage{--caption-offset:36px;--stage-bottom:16px}}
/* R9: accento istituzionale rosso, colori delle soluzioni invariati. */
:root{--brand-red:#ce2b37;--lime:var(--brand-red);--accent:var(--brand-red)}
.hero h1 em,h2 em{color:var(--brand-red)}
.about h2 em{color:transparent;-webkit-text-stroke-color:var(--brand-red)}
.pill.primary{background:var(--brand-red);border-color:var(--brand-red);color:#fff}
.pill.primary:hover{background:#a4212b;border-color:#a4212b;color:#fff}
.scroll-progress{background:var(--brand-red)}
::selection{background:var(--brand-red);color:#fff}
/* R10: contenuti aggiornati e ottavo servizio. */
.hero h1{font-size:clamp(64px,6.4vw,100px)}
.hero h1 em{font-style:italic}
.satellite-3{max-width:235px}
.satellite-7{top:0;left:0;max-width:275px}
.service-story h2{font-size:clamp(40px,4.4vw,64px)}
.service-poster{background:#e8f4f1;color:#007f73;border:1px solid #007f73;min-height:420px;padding:36px;display:flex;flex-direction:column;justify-content:space-between;gap:35px}
.service-poster>p{font-size:clamp(36px,4vw,58px);letter-spacing:-.05em;line-height:1.1;margin:0}
.service-poster>a{align-self:flex-start;font-size:15px;border-bottom:1px solid currentColor;padding-bottom:8px}
@media(max-width:1100px){.satellite-7{max-width:240px}.satellite-3{max-width:195px}}
@media(max-width:760px){.hero h1{font-size:clamp(58px,12.5vw,90px)}.orbital-system{margin-bottom:150px}.satellite-7{top:100%;left:0;max-width:100%}.orbital-caption{bottom:-40%;left:0}.satellite-3{max-width:185px;right:0}.service-story h2{font-size:43px}.service-poster{min-height:340px;padding:28px}.service-poster>p{font-size:40px}}
/* R11: logo espanso in apertura, ridotto dopo lo scroll. */
.site-header{height:126px;transition:height .25s}
.brand img{width:337.5px;transition:width .25s}
.site-header.is-scrolled{height:92px}
.site-header.is-scrolled .brand img{width:225px}
.satellite-7{top:-3%;left:auto;right:0;max-width:245px}
.site-footer>.micro{font-size:36px;letter-spacing:.08em;line-height:1.35;color:var(--fg)}
.site-footer{gap:30px}
.contact h2{font-size:clamp(65px,8vw,115px);line-height:1}
@media(max-width:1100px){.brand img{width:292.5px}.site-header.is-scrolled .brand img{width:195px}.site-footer>.micro{font-size:36px}}
@media(min-width:761px) and (max-width:1000px){.desktop-nav,.header-contact{display:none}.header-tools{margin-left:auto}.menu-toggle{display:flex;background:none;border:0;min-height:44px;align-items:center;gap:12px}.mobile-nav.open{display:flex;position:absolute;top:126px;left:0;right:0;flex-direction:column;background:#fff;padding:20px;border-bottom:1px solid var(--line)}.mobile-nav a{padding:12px;font-size:20px}.is-scrolled .mobile-nav{top:92px}}
@media(max-width:760px){.site-header{height:154px;flex-wrap:wrap;justify-content:center;gap:0;padding-top:5px;padding-bottom:5px}.brand img{width:258px}.header-tools{margin-left:0;justify-content:center;width:100%;gap:25px}.site-header.is-scrolled{height:78px;flex-wrap:nowrap;justify-content:space-between}.site-header.is-scrolled .brand img{width:172px}.is-scrolled .header-tools{width:auto;gap:12px}.mobile-nav{top:154px}.is-scrolled .mobile-nav{top:78px}.orbital-system{margin-top:80px}.satellite-7{top:-22%;left:0;right:auto;bottom:auto;max-width:100%}.site-footer>.micro{font-size:32px;order:0;width:auto;flex:1}.site-footer .back-top{flex:none}.contact h2{font-size:clamp(44px,11vw,75px)}}
@media(max-width:370px){.brand img{width:217.5px}.site-header.is-scrolled .brand img{width:145px}.is-scrolled .header-tools{gap:8px}}
@media(max-width:760px){.site-header:not(.is-scrolled) .mobile-nav.open{top:154px}}
/* R12: footer in scala originale, contatti a due colonne. */
.site-footer{position:relative;justify-content:center;padding-right:110px;padding-left:110px;min-height:105px}
.site-footer>.micro{font-size:9px;flex:none;width:auto;order:0;text-align:center}
.site-footer .back-top{position:absolute;right:40px;top:50%;transform:translateY(-50%);margin:0}
.contact-heading-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:center;margin-top:40px}
.contact-heading-layout h2{margin:0;font-size:clamp(50px,5.8vw,84px)}
.contact-heading-layout .contact-intro{margin:0;font-size:20px;line-height:1.5;justify-self:end;text-align:left}
@media(max-width:760px){.site-footer{padding-inline:65px;min-height:100px}.site-footer>.micro{font-size:8px}.site-footer .back-top{right:15px}.contact-heading-layout{grid-template-columns:1fr;gap:25px;margin-top:30px}.contact-heading-layout h2{font-size:clamp(42px,11vw,65px)}.contact-heading-layout .contact-intro{justify-self:start;font-size:17px}}
