* { box-sizing: border-box; }
html, body, #root { margin: 0; width: 100%; height: 100%; }
body { overflow: hidden; font-family: 'Segoe UI', system-ui, sans-serif; }
button, input, select { font: inherit; }
button { cursor: pointer; }
input:focus-visible, button:focus-visible { outline: 3px solid #26999b; outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.mn-landing{--mn-ink:#233f34;--mn-green:#2c5945;--mn-muted:#6c786f;--mn-line:#dce0d4;width:100%;height:100dvh;overflow-y:auto;overflow-x:hidden;background:#f9f9f2;color:var(--mn-ink);font-family:'Segoe UI',sans-serif;scroll-behavior:smooth;font-size:15px}
.mn-landing *{box-sizing:border-box}.mn-landing h1,.mn-landing h2,.mn-landing h3,.mn-landing p{margin:0}.mn-landing a{color:inherit;text-decoration:none}.mn-landing a:focus-visible{outline:3px solid #9eb65e;outline-offset:5px}.mn-landing section[id]{scroll-margin-top:30px}.mn-container{width:min(1280px,calc(100% - 112px));margin-inline:auto}.mn-header{height:110px;display:flex;align-items:center;justify-content:space-between;gap:30px}.mn-logo{display:inline-flex;align-items:center;gap:9px;font-size:31px;letter-spacing:-1.6px;font-weight:650}.mn-logo-dot{color:#91a664}.mn-header nav{display:flex;gap:34px;font-size:13px;font-weight:500}.mn-header nav a:hover,.mn-text-link:hover{color:#72894b}.mn-button{display:inline-flex;justify-content:center;align-items:center;gap:27px;min-height:53px;padding:14px 23px;background:var(--mn-green);color:#fff!important;border-radius:5px;font-size:13px;font-weight:600;transition:background .2s,transform .2s}.mn-button:hover{background:#1b3e2e;transform:translateY(-2px)}.mn-button svg{width:19px}.mn-button-small{min-height:43px;padding:10px 17px;gap:20px;font-size:12px}.mn-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:44px;padding-top:36px;padding-bottom:72px}.mn-eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:600;letter-spacing:1.8px;line-height:1.7}.mn-eyebrow>span{width:6px;height:6px;border-radius:50%;background:#80995a}.mn-hero h1{font-size:clamp(42px,4.4vw,66px);font-weight:450;line-height:1.12;letter-spacing:-2.8px;margin:24px 0}.mn-landing em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:#607b51}.mn-intro{font-size:15px;line-height:1.9;color:var(--mn-muted);max-width:440px}.mn-hero-actions{display:flex;align-items:center;gap:29px;margin-top:31px}.mn-text-link{display:flex;gap:15px;align-items:center;font-size:12px;font-weight:600}.mn-hero-note{display:flex;align-items:center;gap:11px;font-size:11px;color:var(--mn-muted);margin-top:37px}.mn-note-line{width:25px;height:1px;background:#9da98c}.mn-hero-visual{position:relative;height:540px;border-radius:120px 8px 8px 8px;isolation:isolate;background:#e6eadc}.mn-map-art{width:100%;height:100%;object-fit:cover;border-radius:inherit}.mn-map-caption{position:absolute;top:31px;right:25px;display:flex;align-items:center;gap:8px;font-size:8px;letter-spacing:1.5px;color:#4e6856}.mn-live-dot{width:5px;height:5px;border-radius:50%;background:#607c4c}.mn-north{position:absolute;top:89px;right:28px;display:grid;text-align:center;font-size:9px;gap:3px}.mn-north span{font-size:36px;font-family:serif}.mn-layer-chip{position:absolute;top:45%;left:-22px;display:flex;align-items:center;gap:13px;padding:17px 21px;background:#fffffff2;border:1px solid #e2e6d9;border-radius:7px;box-shadow:0 12px 40px #344d3212;transform:rotate(-3deg)}.mn-layer-chip svg{color:#607b51}.mn-layer-chip strong{display:block;font-size:11px;font-weight:600}.mn-layer-chip span{display:block;font-size:9px;color:#7a8379;margin-top:5px}.mn-map-coordinate{position:absolute;bottom:22px;left:25px;font-family:monospace;font-size:10px;color:#64765d}.mn-map-coordinate span{display:block;font-family:'Segoe UI',sans-serif;font-size:7px;letter-spacing:1px;margin-top:6px}.mn-map-tag{position:absolute;right:24px;bottom:53px;background:#f9faf2f2;border:1px solid #ffffffa3;padding:17px 21px;line-height:1.7;font-size:14px;border-radius:4px;box-shadow:0 8px 30px #2347340a}.mn-map-tag>span{display:block;width:20px;height:2px;background:#7f945e;margin-bottom:9px}.mn-map-tag strong{font-weight:600}.mn-topic-strip{border-block:1px solid var(--mn-line);background:#f1f3e9}.mn-topic-strip>.mn-container{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:87px}.mn-topic-strip span{font-size:8px;letter-spacing:1.4px;color:#7c8672}.mn-topic-strip p{font-size:13px}.mn-topic-strip i{font-size:21px;color:#92a374;font-style:normal}.mn-platform{display:grid;grid-template-columns:1.15fr 1fr;gap:90px;padding-block:93px}.mn-landing h2{font-size:35px;line-height:1.3;font-weight:450;letter-spacing:-1.2px}.mn-platform h2{margin-top:21px}.mn-platform-copy{padding-top:35px;color:var(--mn-muted);font-size:14px;line-height:1.9}.mn-platform-copy p+p{margin-top:14px}.mn-tools{padding-bottom:93px}.mn-section-heading{border-top:1px solid var(--mn-line);padding-top:42px}.mn-section-heading h2{margin-top:15px}.mn-section-heading>p:last-child{color:var(--mn-muted);margin-top:12px;font-size:13px}.mn-tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}.mn-tool{border:1px solid var(--mn-line);border-radius:6px;padding:29px 27px;background:#fdfdf8}.mn-tool-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:31px}.mn-tool-top>svg{width:29px;height:29px}.mn-tool-top>span{font-family:Georgia,serif;font-size:12px;color:#9da78e}.mn-tool h3{font-size:19px;font-weight:500;letter-spacing:-.5px}.mn-tool p{margin-top:13px;font-size:13px;line-height:1.85;color:var(--mn-muted)}.mn-tool-label{display:block;padding-top:21px;margin-top:25px;border-top:1px solid var(--mn-line);font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#6d805e}.mn-portals{background:#edf0e5;padding:75px 0 59px;border-block:1px solid var(--mn-line)}.mn-portals-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end}.mn-portals-heading h2{margin-top:19px}.mn-portals-heading>div>p:not(.mn-eyebrow){font-size:13px;color:var(--mn-muted)}.mn-search{display:flex;align-items:center;gap:12px;border-bottom:1px solid #aebca2;margin-top:22px;padding:12px 0}.mn-search svg{width:19px;flex-shrink:0}.mn-search input{border:0;background:transparent;width:100%;min-width:0;color:var(--mn-ink);padding:5px;font-size:13px}.mn-search input::placeholder{color:#747f6e}.mn-portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.mn-portal{display:block;background:#f9faf3;border:1px solid #d8dfce;border-radius:6px;padding:25px 24px;transition:transform .2s,box-shadow .2s}.mn-portal:hover{transform:translateY(-4px);box-shadow:0 12px 22px #32452a0d}.mn-portal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:29px}.mn-portal-top>span{display:flex;align-items:center;gap:7px;font-size:8px;letter-spacing:1.4px;color:#71825f}.mn-portal-top>span svg{width:15px;height:15px}.mn-portal-top>svg{width:19px;transform:rotate(-40deg)}.mn-portal h3{font-size:21px;font-weight:500;letter-spacing:-.5px}.mn-portal>p{margin-top:10px;font-size:12px;color:var(--mn-muted)}.mn-portal-bottom{display:flex;justify-content:space-between;gap:8px;margin-top:32px;padding-top:17px;border-top:1px solid var(--mn-line);font-size:9px}.mn-portal-bottom>span{color:var(--mn-muted)}.mn-portal-bottom strong{font-weight:600}.mn-results{font-size:11px;color:#69785e;margin-top:18px!important}.mn-data-note{font-size:10px;color:#78846c;margin-top:9px!important}.mn-closing{display:flex;align-items:center;gap:30px;padding-block:77px}.mn-closing-mark{width:70px;height:70px;border:1px solid #d7decc;border-radius:50%;display:grid;place-items:center}.mn-closing-mark svg{width:30px;height:30px}.mn-closing>p{font-size:27px;line-height:1.4;letter-spacing:-.5px}.mn-closing .mn-button{margin-left:auto}.mn-footer{border-top:1px solid var(--mn-line);padding-block:32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.mn-footer .mn-logo{font-size:25px}.mn-footer .mn-logo svg{width:28px}.mn-footer p{font-size:10px;color:var(--mn-muted);margin-top:8px}.mn-footer>span,.mn-footer>a{font-size:10px;color:var(--mn-muted)}.mn-skip{position:absolute;top:10px;left:10px;z-index:10;transform:translateY(-160%);background:white;padding:12px}.mn-skip:focus{transform:translateY(0)}
@media(min-width:1600px){.mn-hero{gap:75px}.mn-hero h1{font-size:66px}.mn-hero-visual{height:580px}}
@media(max-width:1100px){.mn-container{width:calc(100% - 64px)}.mn-header nav{gap:19px}.mn-hero{gap:30px}.mn-hero h1{font-size:48px;letter-spacing:-2px}.mn-hero-visual{height:500px}.mn-hero-actions{gap:18px}.mn-platform{gap:40px}.mn-landing h2{font-size:30px}.mn-tool,.mn-portal{padding:23px 19px}.mn-portal h3{font-size:19px}.mn-portal-bottom{flex-direction:column;gap:8px}.mn-topic-strip>.mn-container{gap:15px}.mn-topic-strip p{font-size:11px}}
@media(max-width:800px){.mn-header{height:88px}.mn-header nav{display:none}.mn-hero{grid-template-columns:1fr;padding-top:26px;gap:40px;padding-bottom:44px}.mn-hero h1{font-size:56px}.mn-intro{max-width:520px}.mn-hero-visual{height:410px;margin-left:15px}.mn-layer-chip{left:-15px}.mn-topic-strip>.mn-container{flex-wrap:wrap;justify-content:center;padding-block:22px;gap:16px}.mn-topic-strip span{width:100%;text-align:center}.mn-platform{grid-template-columns:1fr;gap:0;padding-block:58px}.mn-platform-copy{padding-top:23px}.mn-tools{padding-bottom:58px}.mn-tool-grid{grid-template-columns:1fr;gap:15px}.mn-tool-top{margin-bottom:20px}.mn-tool-label{margin-top:18px;padding-top:15px}.mn-portals{padding-block:52px}.mn-portals-heading{grid-template-columns:1fr;gap:25px}.mn-portal-grid{grid-template-columns:1fr;gap:15px;margin-top:27px}.mn-portal-top{margin-bottom:18px}.mn-portal-bottom{flex-direction:row;margin-top:23px}.mn-closing{flex-wrap:wrap;gap:20px;padding-block:50px}.mn-closing>p{font-size:25px}.mn-closing .mn-button{margin-left:90px}.mn-footer{flex-wrap:wrap}.mn-footer>div{width:100%}}
@media(max-width:450px){.mn-container{width:calc(100% - 40px)}.mn-logo{font-size:27px;gap:6px}.mn-logo>svg{width:29px}.mn-button-small{font-size:10px;gap:8px;padding:9px 12px}.mn-hero h1{font-size:45px;letter-spacing:-1.8px}.mn-intro{font-size:14px}.mn-hero-actions{gap:19px}.mn-hero-actions .mn-button{gap:14px;padding:13px 16px;font-size:12px}.mn-text-link{font-size:11px;gap:6px}.mn-hero-visual{height:365px;border-top-left-radius:85px}.mn-map-caption{font-size:6px;right:15px}.mn-map-tag{right:15px;font-size:12px;bottom:52px}.mn-topic-strip>.mn-container{column-gap:10px}.mn-topic-strip p{font-size:9px}.mn-topic-strip i{font-size:14px}.mn-landing h2{font-size:27px}.mn-closing-mark{width:48px;height:48px}.mn-closing>p{font-size:22px}.mn-closing .mn-button{margin-left:68px}}
@media(prefers-reduced-motion:reduce){.mn-landing{scroll-behavior:auto}.mn-landing *{transition:none!important}}

.mn-portal[hidden] { display: none; }
.mn-map-art--hero { display: block; object-fit: cover; object-position: 78% center; }

/* Hero a tutta larghezza, con contenuti allineati al resto della pagina. */
.mn-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: clamp(640px, 43vw, 820px);
  padding: 64px max(56px, calc((100% - 1280px) / 2));
  overflow: hidden;
  background: #e6eadc;
}
.mn-hero-copy { position: relative; z-index: 2; width: min(100%, 610px); }
.mn-hero .mn-hero-visual {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: 0;
  z-index: 0;
}
.mn-hero .mn-map-art--hero { object-position: center; border-radius: 0; }
.mn-hero-visual::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #f9f9f2ed 0%, #f9f9f2c7 28%, #f9f9f250 47%, transparent 65%);
}
.mn-hero .mn-intro { color: #465b4d; }
.mn-hero .mn-hero-note { color: #53664f; }
@media (max-width: 1100px) {
  .mn-hero { padding-inline: 32px; }
  .mn-hero-copy { max-width: 520px; }
}
@media (max-width: 800px) {
  .mn-hero { align-items: flex-start; min-height: 880px; padding: 48px 32px 330px; }
  .mn-hero .mn-hero-visual { inset: auto 0 0; height: 400px; }
  .mn-hero .mn-map-art--hero { object-position: 78% center; }
  .mn-hero-visual::after { background: linear-gradient(180deg, #e6eadc 0%, #e6eadc80 20%, transparent 48%); }
}
@media (max-width: 450px) {
  .mn-hero { padding: 40px 20px 310px; min-height: 860px; }
  .mn-hero .mn-hero-visual { height: 350px; }
}
