/* Lybra's data palette: a continuous navy canvas, Destination teal, Business blue. */
:root{--tech-abyss:#071827;--tech-navy:#0b2439;--tech-surface:#10324a;--tech-teal:#65ead9;--tech-teal-bright:#20d7c4;--tech-blue:#6f89ff;--tech-ice:#eef7fb}
@media(min-width:901px){.site-header{position:sticky;top:0;z-index:1000;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}}
.site-header{background:#081a2cef;border-bottom:1px solid #78cdd536;box-shadow:0 10px 36px #03152235}
.site-header nav a{transition:color .2s ease,background-color .2s ease,border-color .2s ease}
.site-header nav a:not(.nav-offer):hover{color:var(--tech-teal)}
.site-footer{background:linear-gradient(130deg,#071524,#0d2b3d);border-top:1px solid #50d7c43d}

/* An illuminated atlas, with motion that never claims to represent live data. */
.home-page .cover{isolation:isolate;background:radial-gradient(ellipse at 72% 39%,#125d735c,transparent 42%),radial-gradient(ellipse at 95% 72%,#4264dd34,transparent 36%),radial-gradient(ellipse at 18% 80%,#24458638,transparent 43%),linear-gradient(135deg,#0b2337,#081a2d 68%,#071625)}
.home-page .cover::before{background:linear-gradient(110deg,transparent 30%,#36d8c90b 53%,transparent 72%);animation:tech-breathe 10s ease-in-out infinite alternate;pointer-events:none}
.home-page .cover-copy{z-index:3}
.home-page .cover-copy>.eyebrow{color:#96eee3}
.home-page .cover h1 em{color:#78ebde;text-shadow:0 0 36px #28e5cc26}
.home-page .cover-copy>p{color:#d2e3ec}
.home-page .cover .map-experience{isolation:isolate}
.home-page .cover .map-experience::before{content:"";position:absolute;inset:54px 3% 60px;z-index:-1;pointer-events:none;background:radial-gradient(circle at 47% 43%,#58efdb16,transparent 46%),repeating-linear-gradient(0deg,transparent 0 74px,#5ee7d60b 75px 76px),repeating-linear-gradient(90deg,transparent 0 74px,#5ee7d60b 75px 76px);mask-image:radial-gradient(ellipse at 52% 47%,#000 22%,transparent 76%);animation:tech-grid-drift 16s ease-in-out infinite alternate}
.home-page .cover .map-experience::after{content:"";position:absolute;left:9%;right:7%;top:42px;height:1px;z-index:2;pointer-events:none;background:linear-gradient(90deg,transparent,#5de8dd4b 44%,transparent 78%);opacity:.75}
.home-page .cover .canvas-stage{z-index:1}
.home-page .cover .map-overline,.home-page .cover .map-toolbar,.home-page .cover .map-credit,.home-page .cover .city-preview{z-index:2}
.home-page #city-markers .map-city.selected i{position:relative;box-shadow:0 0 0 5px #25dbc524,0 0 26px #4debdad9}
.home-page #city-markers .map-city.selected i::after{content:"";position:absolute;inset:-8px;border:1px solid #66f4e3b8;border-radius:50%;animation:tech-marker-pulse 3.6s ease-out infinite;pointer-events:none}
.home-page #city-markers .map-city[data-searched-rooms]::before{content:"";position:absolute;left:50%;top:50%;width:var(--panel-diameter);height:var(--panel-diameter);transform:translate(-50%,-50%);border:1px solid #a2fff3aa;border-radius:50%;background:radial-gradient(circle,#55f8df39,transparent 70%);box-shadow:0 0 18px #47e9d299;pointer-events:none;opacity:.8}
.home-page #city-markers .map-city[data-searched-rooms].selected::before{border-color:#e0fff9;box-shadow:0 0 25px #72ffecbb,0 0 43px #32e5d466;opacity:1}
.home-page #city-markers .map-city.has-report i,.home-page #city-markers .map-city.has-report.selected i{width:15px;height:15px;background:#09243b;border:2px solid #d0fff5;box-shadow:0 0 0 3px #09243b99,0 0 16px #d0fff588}
.home-page #city-markers .map-city.has-report>span{font-weight:700;color:#f0fffb}
.home-page .cover .city-preview{background:linear-gradient(155deg,#123b51ed,#0a253ded);border-color:#6ce9dd80;box-shadow:0 16px 56px #00101cb0,0 0 0 1px #7becdd16 inset;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.home-page .cover .city-preview:focus-within{border-color:#85ffee;box-shadow:0 18px 64px #00101ccd,0 0 28px #57e8d023}
.home-page .cover .city-capacity>div{background:#65e2d90c;border-color:#87ecdf44}
.home-page .cover .city-capacity>.city-flight-row{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:12px;background:#7694ff12;border-color:#8fa7ff72}
.home-page .cover .city-capacity>.city-flight-row[hidden]{display:none!important}
.home-page .cover .city-capacity>.city-flight-row dt{color:#bbcbff}
.home-page .cover .city-capacity>.city-flight-row dd{color:#d9e2ff;white-space:nowrap}
.home-page .cover .city-preview-top #city-select{min-width:0;width:min(205px,58%);padding:6px 8px;border:1px solid #72dbce78;border-radius:4px;background:#08283c;color:#fff;font-size:12px;letter-spacing:0;outline-offset:2px}
.home-page .cover .city-preview-top #city-select::placeholder{color:#b7d5dd}
.home-page .cover .city-all[hidden]{display:none!important}
.home-page .cover .commercial-entry>a{position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.home-page .cover .commercial-entry>a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,currentColor,transparent);opacity:0;transform:translateX(-35%);transition:opacity .3s ease,transform .45s ease}
.home-page .cover .commercial-entry>a:hover,.home-page .cover .commercial-entry>a:focus-visible{transform:translateY(-4px);box-shadow:0 18px 36px #0006}
.home-page .cover .commercial-entry>a:hover::after,.home-page .cover .commercial-entry>a:focus-visible::after{opacity:.6;transform:translateX(0)}
.home-page .cover .commercial-entry>a:first-child{background:linear-gradient(145deg,#104750d9,#0b3346df)}
.home-page .cover .commercial-entry>a:nth-child(2){background:linear-gradient(145deg,#20376cd9,#142a50df)}
.home-page .cover .map-toolbar button,.home-page .cover .apri-scheda{transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease}
.home-page .cover .map-toolbar button:hover,.home-page .cover .map-toolbar button:focus-visible,.home-page .cover .apri-scheda:hover{background:#47e2d525;box-shadow:0 0 18px #3ee4d33f;transform:translateY(-2px)}

/* One visual language carries the product routes and the editorial sections. */
.home-page .atlas-coverage{background:linear-gradient(105deg,#103a4d,#0a293f 58%,#102850);border-top-color:#7be9dd81;border-bottom-color:#466cd75a;box-shadow:inset 0 1px #bffff322}
.home-page .atlas-coverage dl>div{border-left-color:#52e1d2}
.home-page .atlas-coverage dd{color:#f6fffe;text-shadow:0 0 18px #60f3db27}
.home-page .solutions-section{background:linear-gradient(145deg,#f5fbfd,#eaf4f8 64%,#eef2ff)}
.home-page .solution-card{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.home-page .solution-destination{background:radial-gradient(circle at 92% 8%,#8cebdc66,transparent 40%),linear-gradient(135deg,#f8fffd,#daf5f0);box-shadow:0 22px 54px #08515b1c}
.home-page .solution-business{background:radial-gradient(circle at 88% 10%,#567aff7a,transparent 43%),linear-gradient(135deg,#162d5b,#101e3e);box-shadow:0 22px 54px #14235a32}
.home-page .home-clients{background:linear-gradient(135deg,#eaf8f8,#edf2fd 72%)}
.home-page .home-press{background:radial-gradient(circle at 78% 20%,#2875b03b,transparent 43%),linear-gradient(130deg,#0b2036,#09273a)}
.home-page .data-catalog{background:linear-gradient(145deg,#f4fafc,#eaf3f7)}
.home-page .archive-section{background:linear-gradient(145deg,#f8fcfd,#edf5f8)}
.home-page .archive-row{transition:background-color .22s ease,border-color .22s ease,padding-left .22s ease}
.home-page .archive-row:hover,.home-page .archive-row:focus-within{background:#e2f7f4;border-color:#5bcabb;padding-left:12px}

/* The newsroom shares the same navy and teal rather than switching to black. */
.stampa{background:radial-gradient(ellipse at 5% 10%,#1a8b8e36,transparent 40%),radial-gradient(ellipse at 92% 82%,#4166ff24,transparent 43%),linear-gradient(145deg,#0b2439,#071827 72%);border-top:1px solid #65e2d552}
.stampa::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 111px,#85e5dd0b 112px 113px);mask-image:linear-gradient(90deg,transparent,#000 35%,transparent 85%)}
.stampa .eyebrow,.stampa h2 em,.stampa-passi li>span{color:var(--tech-teal)}
.stampa-copy>p{color:#d2e2ed}
.stampa-passi li{border-top-color:#8ddacc42;transition:background-color .2s ease,padding-left .2s ease}
.stampa-passi li:hover{background:#4ddccc0b;padding-left:8px}
.stampa-regole{border-left-color:#6cead97c}
.stampa-modulo{background:linear-gradient(145deg,#f9fdff,#eaf6fa);border-top-color:var(--tech-teal-bright);box-shadow:0 30px 90px #010d1c99,0 0 0 1px #9ce7e030 inset}
.stampa-modulo .button{background:linear-gradient(95deg,#0bc8b4,#61e6d4);color:#073028;transition:filter .2s ease,transform .2s ease,box-shadow .2s ease}
.stampa-modulo .button:hover,.stampa-modulo .button:focus-visible{filter:saturate(1.12);transform:translateY(-2px);box-shadow:0 12px 30px #069f9170}
.press-page .area-hero{background:radial-gradient(circle at 76% 30%,#1b787e4f,transparent 46%),linear-gradient(135deg,#0d2b42,#0a1b31)}

@keyframes tech-breathe{from{opacity:.35;transform:translateX(-2%)}to{opacity:.8;transform:translateX(2%)}}
@keyframes tech-grid-drift{from{opacity:.3;transform:translate3d(-1%,0,0)}to{opacity:.63;transform:translate3d(1%,1%,0)}}
@keyframes tech-marker-pulse{0%{opacity:.9;transform:scale(.55)}70%,100%{opacity:0;transform:scale(2.6)}}
@media(max-width:700px){.home-page .cover .map-experience::before{opacity:.35;animation:none}.home-page .cover .map-experience::after{top:34px}.home-page .atlas-coverage{background:linear-gradient(145deg,#103a4d,#0b2b43)}.home-page .cover .city-preview:not(.aperto)>:not(.city-preview-top){display:none}.home-page .cover .city-preview .apri-scheda{display:inline-flex;align-items:center;justify-content:center;padding:7px 9px;background:#46e2d41a;border:1px solid #7cebd984;border-radius:4px;color:#a4fff0;font-size:11px;white-space:nowrap}.home-page .cover .city-preview-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.home-page .cover .city-preview-top>span{grid-column:1/-1}.home-page .cover #city-select{max-width:none;width:100%}.home-page .cover .city-preview.aperto{max-height:min(410px,calc(100vh - 110px));overflow-y:auto}}
@media(prefers-reduced-motion:reduce){.home-page .cover::before,.home-page .cover .map-experience::before,.home-page #city-markers .map-city.selected i::after{animation:none}.home-page .cover .commercial-entry>a,.home-page .solution-card,.home-page .archive-row,.stampa-modulo .button{transition:none;transform:none!important}}

/* Keep both commercial choices visible in the opening viewport. */
@media(min-width:1201px){
  .home-page .cover{min-height:max(660px,calc(100svh - 94px))}
  .home-page .cover-copy{width:min(40%,650px);margin-top:10px;padding-top:16px;padding-bottom:8px}
  .home-page .cover h1{font-size:clamp(42px,3.3vw,54px);line-height:1.045;margin:16px 0 17px}
  .home-page .cover-copy>p{max-width:620px;font-size:15.5px;line-height:1.52;margin-bottom:15px}
  .home-page .cover .data-signals{gap:5px 12px}
  .home-page .cover .commercial-entry{margin:17px 0 11px;gap:10px}
  .home-page .cover .commercial-entry>a{min-height:94px;padding:12px 15px}
  .home-page .cover .commercial-entry strong{font-size:19px;margin:2px 0}
  .home-page .cover .map-experience{top:9px;width:60%;height:min(680px,calc(100svh - 105px))}
  .home-page .cover .canvas-stage{height:calc(100% - 62px)}
}
@media(max-width:560px){
  .home-page .cover-copy{padding-top:17px;padding-bottom:16px}
  .home-page .cover h1{margin:13px 0 15px;line-height:1.04}
  .home-page .cover-copy>p{line-height:1.52;margin-bottom:15px}
  .home-page .cover .commercial-entry{margin-top:15px;gap:8px}
  .home-page .cover .commercial-entry>a{min-height:84px;padding:11px 14px}
}
