/* XYR HUB / NETWORK — shared navigation and four editorial pages. */

/* Keep the hover light translucent: text always sits on a dark surface. */
.benefit.cyber-panel::before {
  background: radial-gradient(300px circle at var(--mx) var(--my), rgba(var(--accent-rgb), .12), transparent 78%);
}
.benefit.cyber-panel p { color: #b8bcd9; }
.benefit.cyber-panel .benefit-label { color: #9fa5ca; }
.benefit-top { margin-bottom: 26px; }

.intro-strip-inner { gap: 0; padding-block: 0; }
.intro-strip-inner > p { flex: 1.2; padding-right: 24px; }
.intro-strip-inner > a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  align-self: stretch;
  flex: 1;
  min-height: 102px;
  padding: 20px 15px;
  border-left: 1px solid #58e5ee20;
  font-size: 16px;
  font-weight: 600;
  transition: color .25s, background .25s;
}
.intro-strip-inner > a::after {
  content: ''; position: absolute; inset: auto 18px 0; height: 2px;
  background: linear-gradient(90deg, var(--violet), var(--cyan));
  transform: scaleX(0); transform-origin: left; transition: transform .3s;
}
.intro-strip-inner > a:is(:hover,:focus-visible) { color: #ffffff; background: #58e5ee0b; }
.intro-strip-inner > a:is(:hover,:focus-visible)::after { transform: scaleX(1); }
.strip-plus { color: var(--violet); font-size: 23px; font-weight: 400; }
.strip-arrow { margin-left: 6px; color: #80cdd2; transition: transform .25s; }
.intro-strip-inner > a:hover .strip-arrow { transform: translate(2px,-2px); }
.footer-pages { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 32px; border-top: 1px solid var(--line); padding-block: 28px 20px; }
.footer-pages a { font-size: 14px; color: #adb1cb; padding-block: 8px; }
.footer-pages a:hover, .footer-pages a[aria-current] { color: var(--cyan); }
.footer-pages + .site-footer { border-top: 0; }
.mobile-nav { max-height: calc(100svh - 98px); overflow-y: auto; overscroll-behavior: contain; }

.network-page { --page-accent: var(--cyan); }
.network-page.accent-violet { --page-accent: var(--violet); }
.network-page .desktop-nav { gap: 24px; }
.network-page .desktop-nav a { font-size: 14px; }
.network-page .mobile-nav { top: 98px; }
.page-hero { position: relative; isolation: isolate; min-height: 690px; overflow: hidden; border-bottom: 1px solid #58e5ee33; background: #050717; }
.page-hero-image {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 65% center;
  z-index: -3; transform: translate3d(var(--parallax-x,0px), var(--parallax-y,0px), 0) scale(1.035);
  transition: transform .5s ease;
}
.page-hero::before { content: ''; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, #050717ed, #050717b0 32%, #05071730 62%, #0507170a), linear-gradient(0deg, #050717, transparent 25%, transparent 80%, #05071740); }
.page-hero::after { content: ''; position: absolute; z-index: -1; inset: 0; background: url('assets/circuit-field.svg') left bottom / 560px 400px; opacity: .08; mask-image: linear-gradient(90deg, #000000, transparent 55%); pointer-events: none; }
.page-hero-content { padding-block: 30px 85px; position: relative; }
.breadcrumbs { display: flex; gap: 13px; align-items: center; font-size: 13px; color: #969bbf; margin-bottom: 52px; }
.breadcrumbs a { padding-block: 7px; }
.breadcrumbs a:hover { color: var(--cyan); }
.breadcrumbs [aria-current] { color: #d9edee; }
.page-kicker { display: flex; gap: 12px; width: fit-content; font-size: 12px; letter-spacing: 1.8px; color: #b2b8dc; }
.status-light { width: 6px; height: 6px; background: var(--page-accent); box-shadow: 0 0 10px var(--page-accent); }
.page-hero h1 { font-size: clamp(46px, 5.1vw, 74px); line-height: 1.06; letter-spacing: -2.6px; max-width: 790px; margin: 25px 0 26px; font-weight: 700; }
.page-hero h1 > span { color: var(--page-accent); text-shadow: 0 0 32px #58e5ee18; }
.page-hero-content > p { max-width: 520px; color: #b6bad7; font-size: 17px; line-height: 1.85; margin: 0; }
.page-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px 28px; margin-top: 34px; }
.page-hero-actions .button { font-size: 14px; }
.page-hero-actions .text-link { font-size: 14px; }
.page-signal { position: absolute; bottom: 0; left: 0; width: 100%; display: flex; align-items: center; gap: 0; height: 3px; opacity: .85; }
.page-signal > span { height: 1px; background: linear-gradient(90deg, transparent, #58e5ee80, transparent); flex: 1; }
.page-signal > i { width: 28px; height: 2px; background: var(--page-accent); box-shadow: 0 0 12px var(--page-accent); }
.page-hero.fx-visible .page-signal > i { animation: signal-breathe 4s ease-in-out infinite; }
.page-section-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 56px; margin-bottom: 46px; }
.page-section-intro > p { max-width: 400px; color: #adb1cd; font-size: 16px; line-height: 1.85; margin: 0 0 3px; }
.network-page .section-heading > p { font-size: 17px; color: #adb1cd; }
.network-page .section-heading .text-link { margin-top: 28px; }
.network-page .cyber-panel { border-color: rgba(var(--accent-rgb), .38); box-shadow: inset 0 0 0 3px #05071544, 0 15px 40px #00000033; }
.network-page .cyber-panel::before { background: radial-gradient(330px circle at var(--mx) var(--my), rgba(var(--accent-rgb), .11), transparent 78%); }
.network-page .cyber-panel:is(.is-hovered,:focus-visible,:focus-within) { border-color: rgba(var(--accent-rgb), .85); box-shadow: 0 0 25px rgba(var(--accent-rgb), .1), 0 15px 40px #00000044; }
.network-page .cyber-panel p { color: #b4b8d3; font-size: 16px; line-height: 1.8; }
.network-page .cyber-panel svg.xyr-icon { width: 80px !important; height: 80px !important; }
.network-page .cyber-panel h3 { font-size: 26px; line-height: 1.2; letter-spacing: -.6px; margin: 0; }
.network-page .cyber-panel .card-lead { color: #e4e6f5; font-size: 16px; line-height: 1.5; margin: 10px 0; }
.card-head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 25px; }
.card-arrow { font-size: 23px; color: var(--accent); line-height: 1; opacity: .85; }
.role-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 22px; }
.role-card { grid-column: span 2; padding: 30px; display: flex; flex-direction: column; }
.role-card:nth-child(-n+2) { grid-column: span 3; }
.role-card:nth-child(even) { --accent: var(--violet); --accent-rgb: var(--violet-rgb); }
.role-card > p { margin: 8px 0 22px; }
.skill-tags { padding: 0; margin: auto 0 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.skill-tags li { font-size: 12px; color: #b5e2e5; padding: 4px 10px; background: #58e5ee07; border: 1px solid #58e5ee22; border-radius: 2px; }
.card-link { display: flex; align-items: center; justify-content: space-between; gap: 15px; border-top: 1px solid #58e5ee22; padding-top: 19px; margin-top: 24px; color: #c2e6e9; font-size: 13px; }
.collaboration-section, .brief-section, .synergy-section { background: radial-gradient(ellipse at 80% 30%,#151a4460,transparent 65%),#080a1d; border-block: 1px solid var(--line); }
.collaboration-layout { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 110px; }
.connection-steps { padding-left: 30px; border-left: 1px solid #58e5ee30; }
.connection-steps article { position: relative; padding: 0 0 36px 18px; }
.connection-steps article:last-child { padding-bottom: 0; }
.connection-steps h3 { font-size: 22px; margin: 0 0 12px; letter-spacing: -.4px; line-height: 1.3; }
.connection-steps p { color: #afb4d1; margin: 0; line-height: 1.85; }
.step-node { position: absolute; left: -36px; top: 8px; width: 11px; height: 11px; background: #07091c; border: 2px solid var(--cyan); box-shadow: 0 0 18px #58e5ee35; rotate: 45deg; }
.connection-steps article:nth-child(2) .step-node { border-color: var(--violet); }
.business-layout { display: grid; grid-template-columns: .86fr 1.14fr; gap: 85px; align-items: start; }
.business-intro { position: sticky; top: 140px; }
.editorial-note { margin-top: 40px; padding-left: 22px; border-left: 2px solid var(--violet); color: #9fa4c7; font-size: 16px; line-height: 1.8; }
.editorial-note strong { display: block; color: #e7e9f6; font-weight: 500; font-size: 20px; margin-top: 5px; }
.challenge-list { display: grid; gap: 20px; }
.challenge-card { display: flex; align-items: flex-start; gap: 22px; padding: 29px 25px; }
.challenge-card:nth-child(odd) { --accent: var(--violet); --accent-rgb: var(--violet-rgb); }
.network-page .challenge-card h3 { font-size: 23px; }
.challenge-card > div { flex: 1; min-width: 0; }
.challenge-card p { margin: 13px 0 17px; }
.challenge-card .card-arrow { font-size: 20px; }
.challenge-skills { font-size: 12px; color: #afdcdf; }
.brief-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 45px; margin-top: 50px; }
.brief-grid article { border-top: 1px solid #58e5ee50; padding-top: 28px; position: relative; }
.brief-grid article::before { content: ''; width: 6px; height: 6px; border: 1px solid var(--cyan); background: #090b20; position: absolute; top: -4px; left: 0; }
.brief-symbol { color: var(--violet); display: block; font-size: 32px; line-height: 1; margin-bottom: 22px; }
.brief-grid h3 { font-size: 22px; line-height: 1.3; letter-spacing: -.5px; margin: 0 0 14px; }
.brief-grid p { color: #b0b4d1; line-height: 1.85; margin: 0; }
.brief-cta { margin-top: 42px; font-size: 14px; }
.skills-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.skill-panel { padding: 32px; scroll-margin-top: 130px; }
.skill-panel:nth-child(even) { --accent: var(--violet); --accent-rgb: var(--violet-rgb); }
.skill-panel:last-child { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1fr; column-gap: 64px; }
.skill-panel:last-child .skill-title { grid-row: 1; }
.skill-panel:last-child > p { grid-row: 2; }
.skill-panel:last-child .contribution-list { grid-column: 2; grid-row: 1/3; align-self: center; }
.skill-panel:last-child .skill-connection { grid-column: 1/-1; }
.skill-title { display: flex; align-items: center; gap: 23px; margin-bottom: 20px; }
.skill-title .card-lead { margin-bottom: 0 !important; }
.skill-panel > p { margin: 0 0 20px; }
.contribution-list { list-style: none; padding: 0; margin: 0 0 25px; }
.contribution-list li { position: relative; font-size: 15px; color: #cbcee3; padding: 8px 0 8px 20px; }
.contribution-list li::before { content: ''; position: absolute; top: 18px; left: 1px; width: 5px; height: 5px; background: var(--accent); }
.skill-connection { border-top: 1px solid #58e5ee24; padding-top: 18px; display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; }
.skill-connection > span { font-size: 10px; letter-spacing: 1.2px; color: #a0a6cd; }
.skill-connection strong { font-size: 13px; color: #c3f4f7; font-weight: 400; }
.synergy-layout { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 95px; }
/* A single coordinate system drives both the orbit and its connections. */
.synergy-visual { min-width: 0; }
.synergy-orbit { position: relative; width: min(480px,100%); height: 380px; display: grid; place-items: center; margin: auto; isolation: isolate; background: radial-gradient(ellipse, #13194c70, transparent 70%); }
.network-page .synergy-orbit svg.orbit-wiring { z-index: 2; position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.orbit-rail { fill: none; stroke: #58e5ee38; stroke-width: 1; }
.orbit-rail-outer { stroke: #58e5ee12; stroke-dasharray: 3 8; }
.orbit-connection { opacity: 0; transition: opacity .2s; color: var(--orbit-color, #58e5ee); }
.synergy-orbit.has-connection .orbit-connection { opacity: 1; }
.orbit-link-glow { stroke: currentColor; stroke-width: 5; opacity: .18; filter: blur(3px); }
.orbit-link-solid { stroke: currentColor; stroke-width: 1; opacity: .8; }
.orbit-link-flow { stroke: #effeff; stroke-width: 2; stroke-dasharray: 5 35; }
.synergy-orbit.is-running.has-connection .orbit-link-flow { animation: orbit-flow 1.5s linear infinite; }
.orbit-endpoint { fill: #06081f; stroke: currentColor; stroke-width: 1.5; }
.synergy-core { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; width: clamp(94px,calc(100% - 220px),168px); height: 174px; background: radial-gradient(ellipse,#10153f,#07091f 80%); border: 1px solid #58e5ee55; border-radius: 24px 6px; box-shadow: 0 0 35px #58e5ee0d; transition: border-color .3s, box-shadow .3s; }
.synergy-core svg.xyr-icon { position: relative; z-index: 3; width: min(108px,85%) !important; height: 108px !important; }
.synergy-core strong { position: relative; z-index: 3; font-size: 13px; font-weight: 600; text-align: center; line-height: 1.3; margin: 2px 0 8px; letter-spacing: .4px; }
.collaboration-rotator { position: relative; z-index: 3; display: inline-flex; align-items: center; justify-content: center; min-height: 28px; max-width: calc(100% - 26px); padding: 6px 10px; border: 1px solid rgba(88,229,238,.28); border-radius: 10px 3px; background: linear-gradient(135deg, rgba(10,14,39,.88), rgba(16,22,58,.72)); color: #bfc8ea; font-size: 10px; line-height: 1.35; text-align: center; letter-spacing: .25px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.02); }
.collaboration-rotator.is-fading, .synergy-label-text.is-fading { opacity: 0; transform: translateY(4px); }
.collaboration-rotator, .synergy-label-text { transition: opacity .35s ease, transform .35s ease; }
.synergy-label-text { display: block; }
.core-signal { position: absolute; bottom: -1px; width: 24px; height: 2px; background: #58e5ee; box-shadow: 0 0 12px #58e5ee66; }
.synergy-orbit.has-connection .synergy-core { border-color: var(--orbit-color, #58e5ee); box-shadow: 0 0 35px #58e5ee20, inset 0 0 20px #58e5ee09; }
.synergy-label { --node-color: #58e5ee; position: absolute; z-index: 3; width: 104px; min-height: 44px; display: grid; place-items: center; margin: 0; padding: 8px; color: #e3f8fa; font: inherit; font-size: 14px; line-height: 1.2; background: linear-gradient(135deg,#0d1134,#080a1f); border: 1px solid #58e5ee66; border-radius: 9px 2px; box-shadow: 0 0 22px #58e5ee10, inset 0 0 0 3px #05071744; transform: translate(-50%,-50%); cursor: default; touch-action: none; transition: border-color .2s, box-shadow .2s, color .2s; }
.synergy-label::after { content: ''; position: absolute; width: 16px; height: 2px; bottom: -1px; left: 12px; background: var(--node-color); opacity: .7; }
.synergy-label.is-connected { color: #ffffff; border-color: var(--node-color); box-shadow: 0 0 21px #58e5ee30; }
.synergy-label.is-connected::after { width: 30px; box-shadow: 0 0 10px var(--node-color); }
.synergy-label:focus-visible, .orbit-pause:focus-visible { outline: 2px solid #ffffff; outline-offset: 5px; }
.synergy-label{user-select:none;}
.label-design { left: 24%; top: 21%; }
.label-dev { --node-color: #a779ff; left: 24%; top: 80%; border-color: #a779ff66; }
.label-marketing { left: 82%; top: 47%; }
.orbit-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 20px; margin-top: 14px; }
.orbit-toolbar p { color: #a7accf; margin: 0; font-size: 12px; line-height: 1.6; }
.orbit-pause { display: inline-flex; align-items: center; gap: 9px; padding: 9px 3px; min-height: 44px; border: 0; background: transparent; color: #c1e7ea; font: inherit; font-size: 12px; cursor: pointer; }
.orbit-pause[hidden] { display: none; }
.orbit-pause:hover { color: #ffffff; }
.orbit-pause-symbol { width: 8px; height: 10px; border-inline: 2px solid currentColor; }
.orbit-pause[aria-pressed="true"] .orbit-pause-symbol { width: 0; height: 0; border: 5px solid transparent; border-right: 0; border-left: 7px solid currentColor; }
@keyframes orbit-flow { to { stroke-dashoffset: -40; } }

.contact-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 95px; align-items: center; }
.contact-section { border-bottom: 1px solid var(--line); background: radial-gradient(ellipse at 75% 40%,#12174566,transparent 60%),#07091c; }
.contact-channel { padding: 35px 38px; border-radius: 26px 6px; }
.contact-channel-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
.channel-status { display: flex; align-items: center; gap: 9px; font-size: 10px; letter-spacing: 1.5px; color: #bfe1e3; }
.channel-status > span { width: 5px; height: 5px; background: #a779ff; box-shadow: 0 0 10px #a779ff55; }
.network-page .contact-channel h3 { font-size: 30px; }
.contact-channel > p { max-width: 340px; margin: 18px 0 25px; }
.channel-note { color: #a8adce; font-size: 14px; line-height: 1.8; padding-top: 23px; border-top: 1px solid #58e5ee2b; }
.contact-channel .text-link { font-size: 14px; margin-top: 22px; }
.contact-paths { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.contact-path { display: flex; flex-direction: column; padding: 30px; }
.contact-path:nth-child(2) { --accent: var(--violet); --accent-rgb: var(--violet-rgb); }
.contact-path > p { margin: 18px 0 24px; }
.contact-path .card-link { margin-top: auto; }
.page-contatti .related-links { grid-template-columns: repeat(4,minmax(0,1fr)); }
.page-contatti .page-hero::before { background: linear-gradient(90deg,#050717c9,#05071780 37%,#05071710 65%),linear-gradient(0deg,#050717,transparent 23%); }
.page-progetti .page-hero::before { background: linear-gradient(90deg,#050717e8,#050717af 34%,#05071726 62%,#05071700),linear-gradient(0deg,#050717,transparent 25%); }
@media (max-width: 980px) {
  .synergy-layout, .contact-layout { grid-template-columns: 1fr; gap: 45px; }
  .synergy-visual { max-width: 480px; width: 100%; margin: auto; }
  .contact-channel { max-width: 650px; }
  .contact-paths { grid-template-columns: 1fr; }
  .contact-path { padding: 28px; }
  .contact-path .card-link { margin-top: 5px; }
}
@media (max-width: 700px) {
  .page-contatti .related-links { grid-template-columns: 1fr; }
  .contact-channel { padding: 28px; }
  .network-page .contact-channel h3 { font-size: 27px; }
  .page-contatti .page-hero::before, .page-progetti .page-hero::before { background: linear-gradient(90deg,#050717e6,#050717c4 48%,#05071777),linear-gradient(0deg,#050717,transparent 38%); }
  .synergy-label { width: 88px; }
  .synergy-core { height: 155px; }
  .synergy-core svg.xyr-icon { height: 96px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .orbit-link-flow { animation: none !important; }
  .synergy-label, .synergy-core, .orbit-connection { transition: none; }
}
.project-cases { display: grid; gap: 24px; }
.project-case { scroll-margin-top: 130px; }
.project-case:nth-child(odd) { --accent: var(--violet); --accent-rgb: var(--violet-rgb); }
.project-case > summary { list-style: none; display: flex; align-items: center; gap: 30px; padding: 34px 38px; }
.project-case > summary::-webkit-details-marker { display: none; }
.project-case .case-icon svg.xyr-icon { width: 108px !important; height: 108px !important; }
.case-heading { flex: 1; }
.case-label { display: block; font-size: 10px; letter-spacing: 1.5px; color: #949bc7; margin-bottom: 12px; }
.network-page .project-case h3 { font-size: 30px; }
.project-case summary p { margin: 12px 0 16px; }
.case-toggle { display: flex; align-items: center; gap: 16px; color: #c4e7e9; font-size: 13px; }
.case-toggle-sign { position: relative; display: block; width: 42px; height: 42px; border: 1px solid #58e5ee44; border-radius: 50%; }
.case-toggle-sign::before, .case-toggle-sign::after { content: ''; position: absolute; width: 14px; height: 1px; background: var(--accent); top: 20px; left: 13px; transition: rotate .25s; }
.case-toggle-sign::after { rotate: 90deg; }
.case-close-label { display: none; }
.project-case[open] .case-open-label { display: none; }
.project-case[open] .case-close-label { display: inline; }
.project-case[open] .case-toggle-sign::after { rotate: 0deg; }
.case-content { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; padding: 32px 42px 40px; border-top: 1px solid #58e5ee26; }
.project-case[open] .case-content { animation: case-reveal .35s ease both; }
.case-content h4 { font-size: 12px; text-transform: uppercase; letter-spacing: 1.4px; color: #b5e6e9; margin: 0 0 12px; }
.case-content p { margin: 0 0 25px; }
.case-content .text-link { font-size: 14px; }
.case-contributions > div { border-left: 1px solid #58e5ee44; padding-left: 22px; margin-top: 22px; }
.case-contributions strong { font-size: 17px; font-weight: 500; }
.case-contributions p { font-size: 15px !important; margin: 7px 0 0; }
.areas-section { background: #080a20; border-block: 1px solid var(--line); }
.areas-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.area-link { display: flex; align-items: center; flex-direction: column; padding: 26px 20px 30px; gap: 17px; font-weight: 600; text-align: center; font-size: 17px; }
.area-link .card-arrow { position: absolute; right: 16px; top: 16px; font-size: 19px; }
.area-link:nth-child(odd) { --accent: var(--violet); --accent-rgb: var(--violet-rgb); }
.page-related { padding-block: 65px; background: #060818; }
.related-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 25px; margin-bottom: 28px; }
.related-heading .eyebrow { font-size: 11px; letter-spacing: 1.5px; color: #9ba1c8; }
.related-heading h2 { font-size: 25px; line-height: 1.3; letter-spacing: -.7px; margin: 0; }
.related-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; }
.related-links a { border-top: 1px solid #58e5ee40; padding-block: 20px; display: flex; justify-content: space-between; align-items: center; font-size: 20px; transition: color .25s, border-color .25s; }
.related-links a > span:last-child { color: var(--violet); }
.related-links a:hover { color: var(--cyan); border-color: var(--cyan); }
@keyframes signal-breathe { 50% { opacity: .35; } }
@keyframes case-reveal { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

@media (min-width: 1600px) {
  .page-hero { min-height: 740px; }
  .page-hero-content { padding-block: 34px 105px; }
  .page-hero-image { object-position: center 55%; }
}
@media (max-width: 1180px) {
  .network-page .desktop-nav { gap: 17px; }
  .network-page .header-cta { font-size: 12px; padding-inline: 15px; }
  .network-page .brand .brand-logo { width: 190px; }
  .role-card { padding: 25px; }
  .collaboration-layout, .synergy-layout { gap: 60px; }
  .business-layout { gap: 40px; grid-template-columns: .85fr 1.15fr; }
  .challenge-card { padding: 25px 20px; gap: 15px; }
  .network-page .challenge-card svg.xyr-icon { width: 62px !important; height: 62px !important; }
}
@media (max-width: 980px) {
  .network-page .desktop-nav, .network-page .header-cta { display: none; }
  .network-page .menu-toggle { display: flex; }
  .page-hero { min-height: 660px; }
  .page-hero-image { object-position: 62% center; opacity: .85; }
  .page-hero::before { background: linear-gradient(90deg,#050717f5,#050717bc 42%,#05071744),linear-gradient(0deg,#050717,transparent 35%); }
  .page-hero h1 { font-size: 60px; }
  .page-section-intro { align-items: flex-start; flex-direction: column; gap: 24px; }
  .page-section-intro > p { max-width: 630px; }
  .role-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .role-card, .role-card:nth-child(-n+2) { grid-column: auto; }
  .role-card:last-child { grid-column: 1/-1; }
  .business-layout { grid-template-columns: 1fr; gap: 38px; }
  .business-intro { position: static; }
  .business-intro .section-heading > p { max-width: 680px; }
  .editorial-note { margin-top: 27px; }
  .challenge-card { gap: 25px; padding: 27px; }
  .collaboration-layout, .synergy-layout { gap: 40px; }
  .skill-title { gap: 14px; flex-wrap: wrap; }
  .network-page .skill-panel h3 { font-size: 25px; }
  .skill-panel { padding: 26px; }
  .skill-panel:last-child { column-gap: 30px; }
  .project-case > summary { padding: 30px; gap: 22px; }
  .network-page .project-case h3 { font-size: 26px; }
  .case-open-label, .case-close-label, .project-case[open] .case-close-label { display: none; }
  .project-case .case-icon svg.xyr-icon { width: 86px !important; height: 86px !important; }
  .case-content { padding: 30px; gap: 40px; }
  .areas-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .intro-strip-inner { flex-wrap: wrap; }
  .intro-strip-inner > p { flex: 0 0 100%; padding-block: 20px; text-align: center; }
  .intro-strip-inner > a { min-height: 74px; padding-inline: 10px; border-top: 1px solid #58e5ee20; }
  .intro-strip-inner > a:first-of-type { border-left: 0; }
  .strip-arrow { margin-left: 0; }
}
@media (max-width: 700px) {
  .network-page .brand .brand-logo { width: 168px; }
  .network-page .mobile-nav { top: 78px; }
  .mobile-nav { max-height: calc(100svh - 78px); }
  .page-hero { min-height: 720px; }
  .page-hero-content { padding-block: 20px 58px; }
  .breadcrumbs { margin-bottom: 40px; font-size: 12px; }
  .page-kicker { font-size: 10px; letter-spacing: 1.4px; }
  .page-hero h1 { font-size: clamp(39px, 9.4vw, 59px); letter-spacing: -1.8px; line-height: 1.09; margin-top: 25px; }
  .page-hero-content > p { font-size: 16px; max-width: 420px; line-height: 1.85; }
  .page-hero-image { object-position: 67% center; opacity: .7; }
  .page-hero::before { background: linear-gradient(90deg,#050717e6,#050717c4 48%,#05071777),linear-gradient(0deg,#050717,transparent 38%); }
  .page-hero-actions { align-items: flex-start; flex-direction: column; gap: 24px; margin-top: 30px; }
  .page-hero-actions .button { padding: 16px 20px; font-size: 13px; }
  .page-section-intro { gap: 23px; margin-bottom: 32px; }
  .role-grid, .skills-grid { grid-template-columns: 1fr; gap: 20px; }
  .role-card, .role-card:nth-child(-n+2), .role-card:last-child { grid-column: auto; }
  .role-card { padding: 27px; }
  .network-page .role-card h3 { font-size: 27px; }
  .card-head { margin-bottom: 21px; }
  .collaboration-layout, .synergy-layout { grid-template-columns: 1fr; gap: 46px; }
  .connection-steps { margin-left: 5px; padding-left: 23px; }
  .connection-steps article { padding-left: 14px; }
  .step-node { left: -29px; }
  .connection-steps h3 { font-size: 21px; }
  .challenge-card { gap: 18px; padding: 24px; flex-wrap: wrap; }
  .challenge-card > div { flex: 0 0 100%; }
  .challenge-card .card-arrow { position: absolute; right: 24px; top: 24px; }
  .network-page .challenge-card svg.xyr-icon { width: 76px !important; height: 76px !important; }
  .brief-grid { grid-template-columns: 1fr; gap: 34px; }
  .brief-grid article { padding-top: 24px; }
  .brief-symbol { margin-bottom: 18px; }
  .brief-cta { width: 100%; padding-inline: 16px; font-size: 12px; gap: 12px; }
  .skill-panel, .skill-panel:last-child { display: block; padding: 25px; }
  .skill-title { gap: 16px; margin-bottom: 23px; }
  .skill-title > div { flex: 1; min-width: 155px; }
  .skill-title .card-lead { font-size: 15px !important; }
  .synergy-orbit { margin: auto; }
  .project-case > summary { padding: 27px 23px; gap: 20px; align-items: flex-start; flex-wrap: wrap; }
  .case-heading { flex: 0 0 100%; }
  .network-page .project-case h3 { font-size: 27px; }
  .case-label { font-size: 9px; letter-spacing: 1.1px; }
  .case-toggle { position: absolute; right: 24px; top: 45px; }
  .case-content { grid-template-columns: 1fr; gap: 32px; padding: 27px 23px 32px; }
  .case-content .text-link { font-size: 13px; }
  .areas-grid { gap: 15px; }
  .area-link { padding: 25px 15px; font-size: 15px; }
  .network-page .area-link svg.xyr-icon { width: 74px !important; height: 74px !important; }
  .page-related { padding-block: 48px 25px; }
  .related-heading { flex-direction: column; gap: 14px; }
  .related-heading h2 { font-size: 24px; }
  .related-links { grid-template-columns: 1fr; gap: 0; }
  .related-links a { padding-block: 20px; font-size: 20px; }
  .intro-strip-inner { display: grid; grid-template-columns: 1fr 1fr; padding-block: 0; }
  .intro-strip-inner > p { grid-column: 1/-1; padding: 24px 0; margin: 0; }
  .intro-strip-inner > a { font-size: 14px; justify-content: flex-start; padding: 15px 10px; min-height: 68px; gap: 8px; }
  .intro-strip-inner > a:nth-of-type(odd) { border-left: 0; }
  .strip-plus { font-size: 20px; }
  .strip-arrow { margin-left: auto; }
  .footer-pages { gap: 4px 24px; justify-content: flex-start; padding-block: 24px 12px; }
  .footer-pages a { font-size: 13px; }
}
@media (max-width: 359px) {
  .synergy-label { width: 76px; padding-inline: 3px; }
  .synergy-core { width: 70px; height: 120px; border-radius: 15px 4px; }
  .synergy-core svg.xyr-icon { height: 72px !important; }
  .synergy-core strong { font-size: 12px; margin-bottom: 8px; }
  .page-hero h1 { font-size: 35px; letter-spacing: -1.6px; }
  .page-kicker { font-size: 9px; }
  .intro-strip-inner > a { font-size: 12px; padding-inline: 7px; }
  .role-card, .skill-panel, .skill-panel:last-child { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .page-hero-image { transform: none; }
  .page-signal > i { animation: none !important; }
}


/* XYR HUB 4.2 — Collaborazioni */
.collaborations-section{background:linear-gradient(180deg,#06091d 0%,#07091c 55%,#050817 100%)}
.collaborations-intro>p small{display:block;margin-top:12px;color:#777fa9;font-size:11px;letter-spacing:.35px}
.collaborations-list{display:grid;gap:18px}
.collaboration-card{--accent:var(--cyan);--accent-rgb:88,229,238;position:relative;overflow:hidden;border-radius:10px;background:linear-gradient(145deg,#0d1230e8,#080b21ed)}
.collaboration-card:nth-child(even){--accent:var(--violet);--accent-rgb:167,121,255}
.collaboration-card>summary{list-style:none;display:grid;grid-template-columns:58px minmax(0,1fr) minmax(170px,230px) 48px;gap:24px;align-items:center;padding:28px 30px;cursor:pointer;position:relative;z-index:2}
.collaboration-card>summary::-webkit-details-marker{display:none}
.collaboration-index{align-self:start;padding-top:4px;font-size:11px;letter-spacing:1.8px;color:#7880ad}
.collaboration-summary-main{min-width:0}
.collaboration-code{display:block;margin-bottom:8px;color:var(--accent);font-size:9px;letter-spacing:1.6px;font-weight:700}
.collaboration-title{display:block;color:#f3f4ff;font-size:clamp(22px,2vw,30px);font-weight:700;line-height:1.14;letter-spacing:-.6px}
.collaboration-team{display:flex;flex-wrap:wrap;gap:8px 9px;margin-top:17px}
.collaborator-link{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:6px 9px;border:1px solid #3d466f;background:#0b102b;border-radius:3px;color:#dce1f7;transition:border-color .2s,background .2s,color .2s,transform .2s}
.collaborator-link strong{font-size:11px;font-weight:600;white-space:nowrap}
.collaborator-link span{font-size:9px;color:#8f97be;white-space:nowrap}
.collaborator-link:is(:hover,:focus-visible){border-color:var(--accent);background:#10183a;color:white;transform:translateY(-1px)}
.collaboration-price{justify-self:end;min-width:170px;padding-left:22px;border-left:1px solid #3a4168}
.collaboration-price small{display:block;margin-bottom:7px;font-size:8px;letter-spacing:1.5px;color:#7f86ad}
.collaboration-price strong{display:block;color:#e8ebfa;font-size:14px;font-weight:600;line-height:1.45}
.collaboration-toggle{position:relative;width:42px;height:42px;border:1px solid rgba(var(--accent-rgb),.38);border-radius:50%;transition:border-color .2s,background .2s,rotate .28s}
.collaboration-toggle i{position:absolute;left:13px;top:20px;width:14px;height:1px;background:var(--accent);transition:rotate .28s,opacity .28s}
.collaboration-toggle i:last-child{rotate:90deg}
.collaboration-card[open] .collaboration-toggle{border-color:var(--accent);background:rgba(var(--accent-rgb),.07);rotate:180deg}
.collaboration-card[open] .collaboration-toggle i:last-child{rotate:0deg;opacity:0}
.collaboration-content{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:42px;align-items:end;padding:0 30px 32px 112px;border-top:1px solid #343b64;animation:collaboration-reveal .36s cubic-bezier(.2,.7,.25,1) both}
.collaboration-content>div{padding-top:27px;max-width:900px}
.collaboration-content .eyebrow{font-size:9px;letter-spacing:1.5px;color:#9198bf}
.collaboration-content p{margin:13px 0 0!important;color:#bdc3dd!important;font-size:15px!important;line-height:1.85!important}
.collaboration-content .button{white-space:nowrap;margin-bottom:1px}
@keyframes collaboration-reveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(max-width:900px){.collaboration-card>summary{grid-template-columns:42px minmax(0,1fr) 44px;gap:18px;padding:25px}.collaboration-price{grid-column:2;justify-self:start;border-left:0;padding:0;margin-top:-4px}.collaboration-toggle{grid-column:3;grid-row:1;align-self:start}.collaboration-content{grid-template-columns:1fr;padding:0 25px 29px 85px;gap:25px}.collaboration-content .button{justify-self:start}}
@media(max-width:650px){.collaboration-card>summary{grid-template-columns:minmax(0,1fr) 42px;gap:14px;padding:22px 19px}.collaboration-index{display:none}.collaboration-summary-main{grid-column:1}.collaboration-toggle{grid-column:2}.collaboration-price{grid-column:1;min-width:0;margin-top:4px}.collaboration-team{display:grid;grid-template-columns:1fr;gap:7px}.collaborator-link{justify-content:space-between}.collaborator-link span{white-space:normal;text-align:right}.collaboration-content{padding:0 19px 24px;gap:22px}.collaboration-title{font-size:23px}.collaboration-content .button{width:100%;white-space:normal;text-align:center}}
@media(prefers-reduced-motion:reduce){.collaboration-content{animation:none}.collaborator-link,.collaboration-toggle,.collaboration-toggle i{transition:none}}


/* XYR HUB 4.3 — Collaborazioni hero orbit + card summaries */
.collaboration-blurb{
  display:block;
  max-width:760px;
  margin-top:9px;
  color:#9da5c7;
  font-size:12.5px;
  line-height:1.55;
  letter-spacing:.05px;
}
.collaboration-blurb + .collaboration-team{margin-top:13px}

/* Neutral cybernetic base -> interactive orbit -> editorial copy. */
.page-collaborazioni .page-hero{
  min-height:700px;
  background:#040716;
}
.page-collaborazioni .page-hero::before{
  z-index:0;
  background:
    radial-gradient(circle at 78% 38%,rgba(88,229,238,.10),transparent 25%),
    radial-gradient(circle at 88% 74%,rgba(153,76,255,.14),transparent 30%),
    linear-gradient(112deg,#040716 0%,#06091c 43%,#08102b 72%,#050819 100%);
  pointer-events:none;
}
.page-collaborazioni .page-hero::after{
  z-index:1;
  inset:0;
  background-image:
    url('assets/circuit-field.svg'),
    linear-gradient(rgba(88,229,238,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(88,229,238,.022) 1px,transparent 1px);
  background-position:right center,0 0,0 0;
  background-size:760px 540px,46px 46px,46px 46px;
  background-repeat:no-repeat,repeat,repeat;
  opacity:.30;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.45),#000 45%,#000);
  mask-image:linear-gradient(90deg,rgba(0,0,0,.45),#000 45%,#000);
  pointer-events:none;
}
.page-collaborazioni .page-hero-content{
  position:relative;
  z-index:4;
  padding-bottom:90px;
}
.page-collaborazioni .page-hero-content::after{
  content:'';
  position:absolute;
  z-index:-1;
  left:-9vw;
  top:0;
  bottom:25px;
  width:min(920px,72vw);
  background:linear-gradient(90deg,rgba(4,7,22,.97) 0%,rgba(4,7,22,.88) 52%,rgba(4,7,22,.42) 78%,transparent 100%);
  filter:blur(.01px);
  pointer-events:none;
}
.collaboration-hero-orbit{
  position:absolute;
  z-index:2;
  width:min(620px,48vw);
  height:520px;
  right:max(20px,3vw);
  top:110px;
  opacity:.94;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.70) 14%,#000 31%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.70) 14%,#000 31%,#000 100%);
}
.collaboration-hero-orbit::before{
  content:'';
  position:absolute;
  inset:7% 2% 3% 7%;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(25,46,104,.27),rgba(8,11,34,.07) 56%,transparent 74%);
  filter:blur(8px);
  pointer-events:none;
}
.collaboration-hero-orbit .synergy-orbit{
  width:100%;
  height:500px;
  margin:0;
  background:radial-gradient(ellipse,rgba(24,35,93,.40),transparent 69%);
}
.collaboration-hero-orbit .orbit-rail{stroke:#65eef74c}
.collaboration-hero-orbit .orbit-rail-outer{stroke:#9163ff29;stroke-dasharray:3 9}
.collaboration-hero-orbit .synergy-core{
  background:radial-gradient(ellipse,#111746,#07091f 78%);
  border-color:#67eef06b;
  box-shadow:0 0 55px rgba(88,229,238,.09),0 0 90px rgba(143,85,255,.06);
  gap:2px;
}
.collaboration-hero-orbit .synergy-core img.xyr-icon{
  position:relative;
  z-index:3;
  display:block;
  width:min(108px,85%);
  height:108px;
  object-fit:contain;
}
.collaboration-hero-orbit .synergy-label{
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  background:linear-gradient(135deg,rgba(13,17,52,.94),rgba(8,10,31,.90));
}
.page-collaborazioni .page-signal{z-index:5}

@media(max-width:1100px){
  .collaboration-hero-orbit{right:-78px;width:590px;opacity:.72}
  .page-collaborazioni .page-hero-content::after{width:min(800px,80vw)}
}
@media(max-width:800px){
  .page-collaborazioni .page-hero{min-height:760px}
  .page-collaborazioni .page-hero-content{padding-bottom:250px}
  .page-collaborazioni .page-hero-content::after{
    left:-10vw;right:-10vw;top:0;bottom:auto;width:auto;height:520px;
    background:linear-gradient(180deg,rgba(4,7,22,.98) 0%,rgba(4,7,22,.92) 64%,rgba(4,7,22,.42) 86%,transparent 100%);
  }
  .collaboration-hero-orbit{
    width:min(520px,116vw);
    height:390px;
    right:-135px;
    top:auto;
    bottom:10px;
    opacity:.62;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 22%,#000 100%);
    mask-image:linear-gradient(90deg,transparent 0%,#000 22%,#000 100%);
  }
  .collaboration-hero-orbit .synergy-orbit{height:370px}
  .collaboration-hero-orbit .synergy-core{height:145px}
  .collaboration-hero-orbit .synergy-core img.xyr-icon{height:88px;width:88px}
  .collaboration-hero-orbit .synergy-label{width:88px;font-size:12px;min-height:40px}
  }
@media(max-width:520px){
  .page-collaborazioni .page-hero{min-height:790px}
  .page-collaborazioni .page-hero-content{padding-bottom:250px}
  .collaboration-hero-orbit{right:-154px;width:480px;bottom:10px;opacity:.52}
  .collaboration-hero-orbit .synergy-orbit{height:350px}
  .collaboration-blurb{font-size:12px;line-height:1.5;margin-top:8px}
}
@media(prefers-reduced-motion:reduce){
  .collaboration-hero-orbit{opacity:.78}
}
