/* Homepage palette: Lybra navy, Destination turquoise, Business blue. */
:root{--home-navy:#0b1e34;--home-navy-deep:#071729;--home-ink:#14263c;--home-muted:#4d6175;--home-teal:#00dec1;--home-teal-deep:#087f86;--home-blue:#4166ff;--home-surface:#f3f8fc}
body:has(.home-page){background:#fff;color:var(--home-ink)}
.site-header{background:#0a1b2e;border-bottom:1px solid #74abcc26}
.site-header nav .nav-offer:first-child{color:#65ead9;border-color:#2ebba993}
.site-header nav .nav-offer:nth-child(2){color:#9eafff;border-color:#6c85f299}

/* The atlas needs space of its own before the product routes appear. */
.home-page .cover{min-height:800px;background:radial-gradient(circle at 72% 35%,#12637b55,transparent 42%),linear-gradient(145deg,#0d2b42,#091b31 69%,#061526)}
.home-page .cover:before{background:linear-gradient(130deg,transparent 63%,#55c9e008 63%,transparent 86%)}
.home-page .cover-copy{border:1px solid #dbe9f1;background:linear-gradient(150deg,#fff 56%,#f3fafe);box-shadow:0 22px 72px #01142769}
.home-page .cover-copy>.eyebrow{color:#16739c}
.home-page .cover h1{max-width:590px;color:var(--home-ink);font-size:clamp(39px,3.35vw,51px);line-height:1.09;letter-spacing:-2.25px}
.home-page .cover h1 em{font-size:1em;letter-spacing:-2.25px;color:#087faf}
.home-page .cover-copy>p{max-width:550px;color:var(--home-muted)}
.home-page .cover .data-signals span{color:#40677c}
.home-page .cover .data-signals span:not(:first-child):before{color:var(--home-teal-deep)}
.home-page .cover .commercial-entry>a:first-child{border-top-color:var(--home-teal);background:#e7fbf7}
.home-page .cover .commercial-entry>a:nth-child(2){border-top-color:var(--home-blue);background:#edf1ff}
.home-page .cover .commercial-entry>a:nth-child(2) strong{color:#294cc6}
.home-page .cover .hero-editorial{color:#136990}
.home-page .cover .map-experience{z-index:1}
.home-page .cover .map-overline{color:#bfd8e5}
.home-page .cover .city-preview{border-top-color:var(--home-teal)}
.home-page .cover .map-toolbar{color:#c6deea}
.home-page #city-markers i{background:var(--home-teal)}
.home-page #city-markers [aria-pressed="true"] span{color:var(--home-teal)}
.home-page .cover .map-toolbar{flex-direction:column;align-items:flex-start;gap:8px;bottom:25px}
.home-page .cover .map-capacity-legend{color:#88b8c5;font-size:9px;letter-spacing:.1px;line-height:1.4}

/* Destination and Business use their own accents inside a shared layout. */
.home-page .solutions-section{background:#fff;color:var(--home-ink)}
.home-page .solutions-heading .eyebrow{color:var(--home-teal-deep)}
.home-page .solutions-heading h2 em{color:var(--home-teal-deep)}
.home-page .solution-destination{background:linear-gradient(135deg,#f7fffd,#e7f9f5);border-top:3px solid var(--home-teal);box-shadow:0 18px 40px #154f6114}
.home-page .solution-destination .solution-card-top>span:first-child,.home-page .solution-destination .solution-card-cta{color:#087c79}
.home-page .solution-business{background:radial-gradient(circle at 85% 7%,#365cff6b,transparent 44%),linear-gradient(145deg,#122449,#0b1933 83%);border-top:3px solid var(--home-blue);box-shadow:0 18px 40px #12295c27}
.home-page .solution-business .solution-card-top>span:first-child,.home-page .solution-business .solution-card-cta{color:#b3c3ff}
.home-page .solution-business .commercial-benefits li:before{color:#9cb1ff}

.home-page .home-clients{background:linear-gradient(135deg,#e9f9f5,#eef2fd 78%);color:var(--home-ink)}
.home-page .home-clients-heading .eyebrow,.home-page .home-clients-heading h2 em{color:var(--home-teal-deep)}
.home-page .home-clients-heading>p{color:var(--home-muted)}
.home-page .home-clients-source{color:#557183}
.home-page .home-clients-source a{color:#176b8e}

/* Editorial, data and press sections use the same navy and neutral surfaces. */
.home-page .data-scale{background:radial-gradient(circle at 85% 20%,#21496870,transparent 44%),var(--home-navy);border-top:1px solid #54baa638}
.home-page .data-scale .eyebrow,.home-page .data-scale h2 em,.home-page .coverage-numbers dd{color:#56e2d1}
.home-page .data-catalog{background:var(--home-surface)}
.home-page .data-catalog .eyebrow,.home-page .data-catalog h2 em,.home-page .data-category,.home-page .data-fields,.home-page .data-catalog-note a{color:var(--home-teal-deep)}
.home-page .data-catalog-grid article{border-color:#dbe6ef;box-shadow:0 12px 28px #14314f0d}
.home-page .data-catalog-grid .price-indicator{background:var(--home-navy);border-color:#dbe6ef;border-top:3px solid var(--home-teal);color:#fff}
.home-page .price-indicator .data-category,.home-page .price-indicator .data-fields{color:#77e8dc}
.home-page .home-press{background:#0d263a;color:#f7fbff}
.home-page .home-press .eyebrow,.home-page .home-press h2 em,.home-page .home-press-meta strong,.home-page .home-press-arrow,.home-page .home-press-all{color:#82e6d8}
.home-page .home-press-card{background:#143348;border-color:#426173}
.home-page .home-press-card:hover,.home-page .home-press-card:focus-within{background:#1a4054;border-color:#7ce0d4}
.home-page .home-press-head p,.home-page .home-press-meta{color:#c2d3de}
.home-page .paper-section{background:#fff;color:var(--home-ink)}
.home-page .paper-section .eyebrow,.home-page .section-title h2 em,.home-page .story-meta>span,.home-page .read-link,.home-page .principles>div>span{color:var(--home-teal-deep)}
.home-page .photo-story .story-meta{color:#9ceee3}
.home-page .archive-section{background:#f7fafc}
.home-page .archive-row{border-color:#dce6ed}
.home-page .archive-row a:hover,.home-page .archive-arrow{color:#087f86}
.home-page .faq-teaser{background:#eaf7f7;color:var(--home-ink)}
.home-page .faq-teaser .eyebrow,.home-page .faq-teaser h2 em{color:var(--home-teal-deep)}
.home-page .faq-teaser>a{background:var(--home-navy)}
.home-page .stampa{background:radial-gradient(circle at 10% 0%,#00dec115,transparent 45%),var(--home-navy-deep)}
.home-page .stampa .eyebrow,.home-page .stampa h2 em,.home-page .stampa-passi li>span{color:#70e7d7}
.home-page .stampa-regole li::marker{color:#70e7d7}
.home-page .stampa-modulo{border-top-color:var(--home-teal)}
.home-page .stampa-modulo .button{background:var(--home-teal);color:#07312d}
.home-page .closing-section{background:linear-gradient(130deg,#e4f7f4,#e6edff);color:var(--home-ink)}
.home-page .closing-section h2 em{color:var(--home-teal-deep)}
.home-page .closing-section .button-lime{background:var(--home-navy);color:#fff}
.site-footer{background:#0a1b2e}

/* A side-by-side atlas works only when both halves have room to breathe. */
@media(max-width:1200px){
  .home-page .cover{min-height:0;padding:28px 24px 40px}
  .home-page .cover-copy{width:min(100%,960px);margin:0 auto;padding:43px 48px 40px;overflow:hidden}
  .home-page .cover-copy:after{content:"";position:absolute;top:38px;right:36px;width:195px;height:210px;pointer-events:none;opacity:.12;background:linear-gradient(145deg,var(--home-teal),var(--home-blue));clip-path:polygon(0 0,28% 0,100% 72%,100% 100%,78% 100%,4% 25%,0 25%)}
  .home-page .cover h1{max-width:850px;font-size:clamp(43px,4.5vw,56px);line-height:1.08}
  .home-page .cover-copy>p{max-width:760px}
  .home-page .cover .commercial-entry{max-width:none}
  .home-page .cover .map-experience{position:relative;top:auto;right:auto;width:min(100%,960px);height:645px;margin:22px auto 0;border:1px solid #6ea9ba49;border-radius:16px;background:radial-gradient(circle at 50% 40%,#17677d36,transparent 60%),#09233a;overflow:hidden}
  .home-page .cover .canvas-stage{height:565px}
  .home-page .cover .city-preview{right:18px;bottom:18px}
  .home-page .cover .map-toolbar{left:20px;bottom:25px}
}
@media(min-width:701px) and (max-width:1200px){
  .home-page .cover .city-preview{top:146px;right:22px;bottom:auto;width:282px;padding:20px;border-radius:13px}
  .home-page .cover .city-preview:not(.aperto)>:not(.city-preview-top){display:block}
  .home-page .cover .city-preview:not(.aperto)>.city-title{display:flex}
  .home-page .cover .city-preview:not(.aperto)>.city-all{display:flex}
  .home-page .cover .city-preview .apri-scheda{display:none}
  .home-page .cover .city-preview-top{align-items:flex-start;flex-wrap:wrap}
  .home-page .cover #city-select{max-width:175px}
}
@media(max-width:700px){
  .home-page .cover{padding:16px 14px 26px}
  .home-page .cover-copy{padding:32px 30px}
  .home-page .cover-copy:after{display:none}
  .home-page .cover h1{font-size:clamp(37px,6.2vw,46px)}
  .home-page .cover .map-experience{height:565px;margin-top:16px}
  .home-page .cover .canvas-stage{height:480px}
  .home-page .cover .city-preview{width:315px}
}
@media(max-width:560px){
  .home-page .cover{padding:10px 10px 20px}
  .home-page .cover-copy{margin:0;padding:27px 22px}
  .home-page .cover h1{font-size:clamp(34px,8.3vw,42px);line-height:1.12;letter-spacing:-1.5px}
  .home-page .cover h1 em{letter-spacing:-1.5px}
  .home-page .cover .commercial-entry{grid-template-columns:1fr}
  .home-page .cover .commercial-entry>a{min-height:95px}
  .home-page .cover .map-experience{height:535px;border-radius:12px}
  .home-page .cover .canvas-stage{height:455px}
  .home-page .cover .city-preview{left:10px;right:10px;bottom:12px;width:auto}
  .home-page .cover .map-toolbar{left:12px;right:12px;bottom:96px}
  .home-page .cover .map-credit{display:none}
  .home-page .home-press{padding:55px 22px}
}
/* Map-led opening: no white text panel or boxed map. */
.home-page .cover{min-height:760px;background:radial-gradient(circle at 70% 34%,#0d697975,transparent 43%),linear-gradient(140deg,#0a263f,#07192d 72%)}
.home-page .cover-copy{width:35%;margin:38px 0 30px clamp(38px,3vw,62px);padding:36px 0 24px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#fff;overflow:visible}
.home-page .cover-copy:after{display:none}
.home-page .cover-copy>.eyebrow{color:#77dcd4}
.home-page .cover h1{color:#fff;font-size:clamp(41px,3.55vw,56px);line-height:1.09;letter-spacing:-2.2px;margin:24px 0 20px}
.home-page .cover h1 em{color:#56e1d5;letter-spacing:-2.2px;line-height:1.1}
.home-page .cover-copy>p{color:#c0d4df;line-height:1.68;font-size:16px}
.home-page .cover .data-signals span{color:#afd5df}
.home-page .cover .data-signals span:not(:first-child):before{color:#56e1d5}
.home-page .cover .commercial-entry{gap:10px;margin:24px 0 18px}
.home-page .cover .commercial-entry>a{min-height:104px;background:#ffffff0a;border:1px solid #ffffff3d;border-top-width:3px;box-shadow:none;color:#f5fbff;border-radius:8px}
.home-page .cover .commercial-entry>a:first-child{background:#0b3944c9;border-color:#2fbdaea8;border-top-color:var(--home-teal);color:#fff;box-shadow:none}
.home-page .cover .commercial-entry>a:nth-child(2){background:#152b55cd;border-color:#6d85f18a;border-top-color:var(--home-blue);color:#fff;box-shadow:none}
.home-page .cover .commercial-entry>a:first-child strong{color:#6be6d8}
.home-page .cover .commercial-entry>a:nth-child(2) strong{color:#a7b9ff}
.home-page .cover .commercial-entry>a:first-child span,.home-page .cover .commercial-entry>a:nth-child(2) span{color:#c4d9e5}
.home-page .cover .commercial-entry>a:hover{background:#193e5b;box-shadow:0 12px 30px #0004}
.home-page .cover .hero-editorial{color:#8ee5dd;border-color:#8ee5dd77}
.home-page .cover .map-experience{top:32px;right:0;width:62%;height:680px;background:transparent;border:0;border-radius:0;box-shadow:none}
.home-page .cover .canvas-stage{height:605px}
.home-page .cover .city-preview{background:#0e2a43e8;color:#fff;border:1px solid #65c7bf9c;border-top:4px solid var(--home-teal);backdrop-filter:blur(15px);box-shadow:0 24px 60px #00122399}
.home-page .cover .city-preview-top,.home-page .cover .city-preview>p{color:#bad6df}
.home-page .cover .city-preview-top select{color:#fff;background:#0e2a43}
.home-page .cover .city-title h2{color:#fff}
.home-page .cover .city-title>span{color:#8be8db;border-color:#70cabc86}
.home-page .cover #city-links>a{color:#ecf8fb;border-color:#7aa9b23d}
.home-page .cover .city-all{color:#81e3d6}
.home-page .cover .apri-scheda{color:#9ee8df;border-color:#67c7bd82}
.home-page .cover .city-capacity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0 4px}
.home-page .cover .city-capacity[hidden],.home-page .cover .city-capacity-note[hidden]{display:none!important}
.home-page .cover .city-capacity>div{padding:10px;border:1px solid #87c9d34d;border-radius:5px;background:#ffffff08}
.home-page .cover .city-capacity dt{color:#b8d3df;font-size:10px;line-height:1.3}
.home-page .cover .city-capacity dd{margin:5px 0 0;color:#fff;font:650 19px/1.15 Roboto,Arial,sans-serif}
.home-page .cover .city-capacity-note{color:#a8c2cc;font-size:10px;line-height:1.45;margin:7px 0 15px}
.home-page .cover .city-coverage-heading{margin:13px 0 0;color:#6ee5d6;font-size:9px;letter-spacing:1.2px;font-weight:700}
.home-page .atlas-coverage{position:relative;display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(420px,1.5fr) auto;align-items:center;gap:20px 32px;padding:30px clamp(30px,4vw,72px);background:#0c3447;color:#f5fcff;border-top:1px solid #4bbaaf99;border-bottom:1px solid #47708266}
.home-page .atlas-coverage .eyebrow{color:#68e4d4;font-size:10px}
.home-page .atlas-coverage h2{margin:7px 0 7px;font:600 clamp(20px,2vw,27px)/1.16 Roboto,Arial,sans-serif;letter-spacing:-.7px}
.home-page .atlas-coverage p{max-width:490px;margin:0;color:#bdd5df;font-size:12px;line-height:1.5}
.home-page .atlas-coverage dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.home-page .atlas-coverage dl>div{padding-left:15px;border-left:2px solid #36d5bf}
.home-page .atlas-coverage dt{color:#b4d7df;font-size:10px;line-height:1.3}
.home-page .atlas-coverage dd{margin:4px 0 0;color:#fff;font:650 clamp(21px,2.1vw,30px)/1.1 Roboto,Arial,sans-serif;letter-spacing:-.8px}
.home-page .atlas-coverage>a{align-self:center;color:#81ecde;font-size:12px;font-weight:700;white-space:nowrap;border-bottom:1px solid #6dd6cb8c;padding-bottom:6px}
.home-page .atlas-coverage small{grid-column:1/-1;color:#9ebfc9;font-size:10px;line-height:1.4}
@media(max-width:1050px){.home-page .atlas-coverage{grid-template-columns:1fr 1.2fr}.home-page .atlas-coverage>a{grid-column:1/-1;justify-self:start}.home-page .atlas-coverage small{grid-column:1/-1}}
@media(max-width:700px){.home-page .atlas-coverage{grid-template-columns:1fr;padding:25px 20px;gap:20px}.home-page .atlas-coverage dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 8px}.home-page .atlas-coverage dl>div{padding-left:9px}.home-page .atlas-coverage dt{font-size:10px}.home-page .atlas-coverage dd{font-size:clamp(19px,5vw,25px)}.home-page .atlas-coverage>a,.home-page .atlas-coverage small{grid-column:1}}
@media(max-width:1200px){
  .home-page .cover{min-height:0;padding:30px 28px 18px}
  .home-page .cover-copy{width:min(100%,1040px);margin:0 auto;padding:22px 0 12px}
  .home-page .cover h1{max-width:1000px;font-size:clamp(42px,4.45vw,57px);line-height:1.1}
  .home-page .cover-copy>p{max-width:800px}
  .home-page .cover .commercial-entry{max-width:650px}
  .home-page .cover .map-experience{position:relative;top:auto;right:auto;width:min(100%,1060px);height:690px;margin:0 auto;background:transparent;border:0;border-radius:0;overflow:hidden}
  .home-page .cover .canvas-stage{height:615px}
  .home-page .cover .city-preview{top:145px;right:20px;bottom:auto}
}
@media(max-width:700px){
  .home-page .cover{padding:24px 18px 18px}
  .home-page .cover-copy{padding:8px 0 14px}
  .home-page .cover h1{font-size:clamp(38px,6.4vw,48px)}
  .home-page .cover .map-experience{height:575px}
  .home-page .cover .canvas-stage{height:500px}
  .home-page .cover .city-preview{top:auto;bottom:12px;right:12px}
  .home-page .cover .map-capacity-legend{display:none}
}
@media(max-width:560px){
  .home-page .cover{padding:21px 15px 12px}
  .home-page .cover h1{font-size:clamp(35px,8.4vw,43px);letter-spacing:-1.5px}
  .home-page .cover h1 em{letter-spacing:-1.5px}
  .home-page .cover-copy>p{font-size:15px}
  .home-page .cover .commercial-entry{grid-template-columns:1fr;max-width:none}
  .home-page .cover .commercial-entry>a{min-height:87px}
  .home-page .cover .map-experience{height:535px}
  .home-page .cover .canvas-stage{height:455px}
  .home-page .cover .city-preview{left:10px;right:10px;bottom:10px;width:auto}
}
@media(min-width:701px) and (max-width:1200px){
  .home-page .cover{min-height:740px;padding:30px 28px 24px;overflow:hidden}
  .home-page .cover-copy{position:relative;z-index:3;width:36%;margin:0;padding:20px 0 0}
  .home-page .cover h1{font-size:clamp(38px,3.8vw,47px);line-height:1.08;margin:18px 0 16px;letter-spacing:-1.9px}
  .home-page .cover h1 em{letter-spacing:-1.9px}
  .home-page .cover-copy>p{font-size:15px;line-height:1.5;margin-bottom:16px;padding-right:0}
  .home-page .cover .data-signals{display:none}
  .home-page .cover .commercial-entry{grid-template-columns:1fr;gap:9px;margin:18px 0 14px}
  .home-page .cover .commercial-entry>a{min-height:79px;padding:12px 16px}
  .home-page .cover .commercial-entry strong{font-size:19px;margin:7px 0 5px;letter-spacing:-.55px}
  .home-page .cover .commercial-entry .entry-audience{font-size:10px;min-height:0}
  .home-page .cover .commercial-entry>a span:last-child{font-size:11px}
  .home-page .cover .map-experience{position:absolute;top:28px;right:0;width:66%;height:675px;margin:0;overflow:visible}
  .home-page .cover .map-overline{top:0;right:24px}
  .home-page .cover .canvas-stage{height:605px}
  .home-page .cover .map-toolbar{left:34px;bottom:26px;display:flex;flex-direction:column;align-items:flex-start;gap:9px}
  .home-page .cover .map-toolbar>span{display:block;font-size:10px;color:#a9c8d4}
  .home-page .cover .city-preview{top:auto;right:24px;bottom:26px;width:245px;padding:11px 14px;border-top-width:2px}
  .home-page .cover .city-preview:not(.aperto)>:not(.city-preview-top){display:none}
  .home-page .cover .city-preview:not(.aperto)>.city-title,.home-page .cover .city-preview:not(.aperto)>.city-all{display:none}
  .home-page .cover .city-preview-top{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
  .home-page .cover .city-preview-top>span{grid-column:1/-1}
  .home-page .cover .city-preview .apri-scheda{display:inline-flex;align-items:center;justify-content:center;padding:5px 7px;border:1px solid #67c7bd82;border-radius:4px;background:transparent;color:#9ee8df;font-size:10px;white-space:nowrap}
  .home-page .cover .city-preview.aperto{width:295px;padding:18px;max-height:calc(100vh - 145px);overflow-y:auto}
}
@media(min-width:981px) and (max-width:1200px){
  .home-page .cover .commercial-entry{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-page .cover .commercial-entry>a{min-height:113px;padding:14px 12px}
  .home-page .cover .commercial-entry strong{font-size:17px}
  .home-page .cover .commercial-entry .entry-audience{font-size:9px}
  .home-page .cover .commercial-entry>a span:last-child{font-size:10px}
}
