/* Omni-X public site: a single light editorial system with restrained laboratory depth. */
:root {
  --ink: #142f46;
  --ink-soft: #35546b;
  --muted: #58758a;
  --blue: #1269b8;
  --blue-deep: #0a5599;
  --cyan: #39b5d0;
  --paper: #fbfdff;
  --mist: #f1f8fb;
  --line: #d8e7ee;
  --max: 1220px;
}
html { scroll-padding-top: 94px; }
body {
  position: relative;
  isolation: isolate;
  color: var(--ink);
  background:
    radial-gradient(ellipse at 3% 22%, #dff5f944, transparent 34rem),
    radial-gradient(ellipse at 96% 52%, #e8f4ff55, transparent 36rem),
    #fbfdff;
}
body::before {
  position: fixed;
  z-index: -1;
  inset: 0;
  content: "";
  background: url("assets/lab-research-layer.svg") center 22% / min(1600px, 100vw) auto no-repeat;
  opacity: .105;
  pointer-events: none;
}
:focus-visible { outline: 3px solid #168acb; outline-offset: 4px; }
::selection { background: #c9eff8; color: #12334d; }
h1, h2, h3 { color: var(--ink); text-wrap: balance; }
p { text-wrap: pretty; }
.eyebrow { color: #1266a5; letter-spacing: .14em; }
.eyebrow::before { background: linear-gradient(90deg, var(--blue), var(--cyan)); }
.arrow-link { color: var(--blue); transition: color .2s ease; }
.arrow-link:hover { color: var(--blue-deep); }
.button { min-height: 50px; border-radius: 10px; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button-blue {
  background: linear-gradient(112deg, #1269b8, #087fc5);
  box-shadow: 0 10px 25px #176da526;
}
.button-blue:hover { background: linear-gradient(112deg, #0d5da8, #0870b1); box-shadow: 0 14px 30px #176da533; }
.button-plain { border-color: #c7dce8; background: #ffffffc9; }
.button-plain:hover { border-color: #87bfd7; box-shadow: 0 9px 24px #1a567011; }
.site-header {
  height: 78px;
  border-color: #dce9efb8;
  background: #fbfdfff0;
  box-shadow: 0 7px 24px #173d5609;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
.brand-mark { filter: drop-shadow(0 3px 7px #1666ad1c); }
.brand-text strong { color: #17364f; }
.brand-text small { color: #5c788e; }
.site-nav { gap: clamp(15px, 2.2vw, 32px); }
.site-nav > a, .nav-menu > summary { color: #39586d; transition: color .18s ease; }
.site-nav > a:hover, .nav-menu > summary:hover, .nav-menu[open] > summary { color: var(--blue); }
.nav-dropdown {
  padding: 8px;
  border-color: #d9e8ef;
  border-radius: 12px;
  box-shadow: 0 18px 44px #143c551b;
}
.nav-dropdown a:hover { background: #edf8fb; }

/* Home: preserve the existing mark and motion while tightening the stage. */
.page-index .home-hero {
  min-height: 650px;
  background:
    radial-gradient(ellipse at 80% 48%, #b5eafa68 0, transparent 38%),
    linear-gradient(112deg, #fbfdff 0%, #f2f9fc 53%, #eaf6fa 100%);
}
.page-index .home-hero::before { opacity: .53; }
.page-index .home-hero::after {
  background:
    linear-gradient(90deg, #fbfdfff5 0%, #f7fbfce6 32%, #f5fbfcd0 55%, #f1f9fb66 100%),
    radial-gradient(circle at 76% 56%, #ffffffa8, transparent 40%);
}
.page-index .hero-copy h1 { color: #17344c; }
.page-index .hero-copy .hero-lead { color: #3f5d72; }
.page-index .hero-emblem { min-height: 0; }
.page-index .brand-emblem-stage { min-height: 466px; }
.brand-emblem-stage .emblem-halo {
  box-shadow: 0 0 0 25px #3caafa0b, 0 0 0 62px #3caafa05, 0 0 82px #3ebcff2b;
}
.brand-emblem-stage .brand-emblem-mark { filter: drop-shadow(0 18px 27px #17649a31) drop-shadow(0 0 25px #6bcaff58); }
.brand-emblem-caption { margin-top: -42px !important; }
.home-direction { padding-top: 78px; padding-bottom: 82px; }
.section-heading { align-items: end; margin-bottom: 28px; }
.section-heading h2, .featured-heading h2 { color: #17364f; }
.short-values { gap: 16px; border: 0; }
.short-values article, .short-values article:first-child, .short-values article:last-child {
  min-height: 208px;
  padding: 25px 26px;
  border: 1px solid #d5e7ee;
  border-radius: 16px;
  background: linear-gradient(145deg, #fff 12%, #f4fafc 100%);
  box-shadow: 0 8px 24px #183f5507;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.short-values article:hover { border-color: #a9d3e2; box-shadow: 0 14px 30px #183f5510; transform: translateY(-2px); }
.short-values article > span { color: #1673ac; }
.short-values h3 { color: #17364f; }
.short-values p { color: var(--muted); }
.home-benefit {
  position: relative;
  color: var(--ink);
  padding: 56px max(28px, calc((100vw - 1220px)/2));
  border-block: 1px solid #d3e7ef;
  background:
    radial-gradient(ellipse at 88% 50%, #ffffffb8, transparent 32%),
    linear-gradient(105deg, #e9f7fb, #dff1f8 58%, #eaf7fa);
}
.home-benefit .eyebrow { color: #1266a5; }
.home-benefit .eyebrow::before { background: linear-gradient(90deg, var(--blue), var(--cyan)); }
.home-benefit h2 { color: #17364f; }
.home-benefit > div > p:last-child { color: #45667d; }
.home-benefit .button-light { color: #124f7b; border: 1px solid #c5deea; box-shadow: 0 7px 20px #174c6810; }
.home-product {
  min-height: 262px;
  border-bottom: 1px solid #e0ebf0;
  background: radial-gradient(circle at 17% 52%, #ddf2f8a3, transparent 28%), transparent;
}
.product-mark { border-color: #d5e7ef; box-shadow: 0 12px 32px #1e5d770d; }
.home-product h2 { color: #17364f; }
.home-featured {
  position: relative;
  background:
    radial-gradient(ellipse at 88% 12%, #e0f5f9a6, transparent 28rem),
    linear-gradient(138deg, #f0f7fa 0%, #f7fbfd 72%, #eef7fa 100%);
}
.featured-types { gap: 15px; }
.featured-types > a {
  min-height: 178px;
  padding: 23px;
  border-color: #d7e7ed;
  border-radius: 14px;
  box-shadow: 0 6px 20px #173d5507;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.featured-types > a:hover { transform: translateY(-3px); border-color: #a9d1e1; box-shadow: 0 16px 30px #173d5514; }
.featured-types strong { color: #17364f; }
.featured-types span { color: #567187; }
.home-network { min-height: 190px; border-top: 1px solid #dce9ef; }
.home-network h2 { color: #17364f; }

/* Shared page openings: full-width light band, with the existing lab artwork kept translucent. */
.page-hero.wrap {
  position: relative;
  z-index: 0;
  isolation: isolate;
  padding-top: 82px;
  padding-bottom: 78px;
}
.page-hero.wrap::before {
  position: absolute;
  z-index: -2;
  inset: 0 auto 0 50%;
  width: 100vw;
  content: "";
  transform: translateX(-50%);
  border-bottom: 1px solid #dce9ef;
  background:
    linear-gradient(105deg, #f8fcfdf0 0%, #f1f9fbe8 48%, #edf7fae0 100%),
    url("assets/lab-research-layer.svg") center 34% / cover no-repeat;
  pointer-events: none;
}
.page-hero.wrap::after {
  top: 50%;
  right: max(2%, calc((100vw - 1440px) / 2));
  width: min(27vw, 300px);
  opacity: .25;
  transform: translateY(-50%);
}
.page-hero h1 {
  max-width: 970px;
  color: #17364f;
  font-size: clamp(44px, 5.1vw, 68px);
}
.page-hero > p:not(.eyebrow) { color: #46657b; }
.page-hero .eyebrow { margin-bottom: 19px; }
.page-band {
  position: relative;
  padding-block: 58px;
  border-bottom: 1px solid #e1edf1;
  background:
    radial-gradient(ellipse at 84% 50%, #ffffffa8, transparent 34rem),
    linear-gradient(115deg, #eff7fa, #f7fbfc);
}
.two-col-copy { gap: 30px; }
.two-col-copy h2 { color: #17364f; }
.two-col-copy p:last-child { color: #4a697f; }
.section-intro { padding-top: 60px; margin-bottom: 25px; }
.section-intro h2 { color: #17364f; }
.section-intro > p:not(.eyebrow) { color: #526f84; }
.mission-link { border-color: #dce8ee; }
.copy-grid { gap: 16px; padding-top: 12px; padding-bottom: 72px; }
.copy-card, .editorial-card, .press-item, .reading-grid > article, .reading-grid > a,
.partner-panel, .contact-info, .form-panel, .internship-column {
  border: 1px solid #d8e7ed;
  border-radius: 14px;
  background: linear-gradient(145deg, #fff 16%, #f8fcfd 100%);
  box-shadow: 0 7px 24px #173e5508;
}
.copy-card, .editorial-card, .press-item, .reading-grid > article, .reading-grid > a,
.partner-panel, .internship-column {
  transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.copy-card:hover, .editorial-card:hover, .press-item:hover, .reading-grid > article:hover, .reading-grid > a:hover,
.partner-panel:hover, .internship-column:hover {
  border-color: #afd4e1;
  box-shadow: 0 15px 32px #173e5511;
  transform: translateY(-2px);
}
.copy-card { border-top: 2px solid #79c9df; }
.copy-card h2, .copy-card h3, .editorial-card h2, .editorial-card h3, .press-item h3,
.reading-grid h3, .reading-grid h2, .partner-panel h2, .internship-column h2 { color: #17364f; }
.copy-card p, .editorial-card p, .press-heading > p:last-child, .press-item .press-meta { color: #557287; }
.commitments { gap: 15px; padding-top: 24px; padding-bottom: 64px; }
.commitments article, .commitments article:first-child, .commitments article:last-child {
  padding: 25px;
  border: 1px solid #d9e8ee;
  border-radius: 14px;
  background: linear-gradient(145deg, #fff, #f6fbfc);
}
.commitments article > span { color: #1673ac; }
.commitments h2 { margin-top: 19px; color: #17364f; }
.cta-band {
  color: #17364f;
  background:
    radial-gradient(ellipse at 92% 45%, #ffffffb5, transparent 31%),
    linear-gradient(105deg, #e9f6fa, #dceff6);
  border-block: 1px solid #d2e5ed;
}
.cta-band p { color: #4a697e; }
.cta-band .arrow-link { color: #1269b8; }
.team-section { padding-top: 70px; padding-bottom: 80px; }
.team-card img { border: 1px solid #d7e5eb; border-radius: 14px; filter: grayscale(.28) saturate(.82); transition: filter .25s ease, box-shadow .25s ease; }
.team-card:hover img { filter: grayscale(0) saturate(1); box-shadow: 0 12px 26px #173e5516; }
.product-page-hero { min-height: 440px; }
.product-page-hero h1 { color: #17364f; }
.product-page-hero .product-lead { color: #48677e; }
.product-visual {
  border: 1px solid #d6e8ef;
  border-radius: 22px;
  background:
    radial-gradient(circle at 50% 48%, #c9effb 0, #eaf7fb 38%, #f7fbfd 73%);
  box-shadow: inset 0 0 0 8px #ffffff70, 0 15px 35px #17465d0c;
}
.product-note, .page-notice {
  border: 1px solid #d2e6ee;
  border-left: 3px solid #55bed5;
  border-radius: 0 12px 12px 0;
  background: #f0f8fb;
  color: #45657b;
}
.status-line { border: 1px solid #d2e7ef; border-radius: 999px; }
.editorial-grid { gap: 16px; }
.editorial-card { min-height: 205px; padding: 24px; }
.press-section { padding-top: 12px; padding-bottom: 54px; }
.press-grid { gap: 16px; }
.press-item { min-height: 190px; padding: 24px; }
.press-item a { color: #1269b8; }
.reading-grid { gap: 16px; padding-bottom: 74px; }
.reading-grid > article, .reading-grid > a { padding: 25px; }
.selected-readings { border-color: #dce8ee; }
.page-jumps a { border-color: #c5dce7; border-radius: 999px; color: #155e91; background: #ffffffc9; transition: background .2s ease, border-color .2s ease; }
.page-jumps a:hover { border-color: #8fc8dc; background: #eaf8fb; }
.partner-groups { gap: 18px; }
.partner-panel { min-height: 210px; padding: 27px; }
.partner-empty { border-color: #d8e7ed; }
.contact-layout { gap: 20px; }
.contact-info, .form-panel, .internship-column { padding: 28px; }
.contact-info { background: linear-gradient(150deg, #eaf6fa, #f5fafc); }
.form-panel { box-shadow: 0 12px 32px #173e550a; }
.field input, .field textarea, .field select { border-color: #cddfe8; border-radius: 8px; background: #fcfeff; transition: border-color .18s ease, box-shadow .18s ease; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: #62aec9; box-shadow: 0 0 0 4px #31a9ca18; }
.internship-columns { gap: 17px; }
.legal-list > a, .legal-list > div { border-color: #d8e7ed; transition: padding .2s ease, color .2s ease; }
.legal-list > a:hover { padding-inline: 12px; color: var(--blue); }
.site-footer {
  padding-top: 52px;
  padding-bottom: 24px;
  border-top: 1px solid #d5e5ec;
  color: #18374e;
  background:
    radial-gradient(ellipse at 94% 0%, #ffffffa3, transparent 30rem),
    linear-gradient(125deg, #edf6fa, #e7f2f7);
}
.site-footer .brand-text small, .footer-brand-block > p, .footer-bottom { color: #4f6b80; }
.site-footer .footer-col > strong { color: #46657a; }
.site-footer .footer-col > a { color: #35546b; }
.site-footer .footer-col > a:hover { color: #0864b5; }
.footer-main { padding-bottom: 28px; }
.footer-bottom { border-color: #d3e2e9; }

/* Tablet and phone: keep the same hierarchy, reduce air, prevent overflow. */
@media (max-width: 980px) {
  .site-header { padding-inline: 22px; }
  .site-nav { gap: 12px; }
  .site-nav > a, .nav-menu > summary { font-size: 11px; }
  .page-index .home-hero { min-height: 600px; }
  .page-index .brand-emblem-stage { min-height: 420px; }
  .page-hero.wrap { padding-top: 68px; padding-bottom: 62px; }
  .page-hero.wrap::after { width: 220px; opacity: .18; }
  .copy-grid, .editorial-grid, .featured-types { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .commitments { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .commitments article:last-child { grid-column: 1 / -1; }
  .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-main { grid-template-columns: 1.2fr repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 78px; }
  body::before { background-position: 58% 16%; background-size: auto 72vh; opacity: .075; }
  .site-header, .js .site-header { min-height: 70px; height: 70px; padding: 0 18px; }
  .js .site-nav { top: 69px; border-color: #d8e7ed; background: #fbfdfff7; }
  .home-hero, .page-index .home-hero { min-height: 0; padding: 50px 20px 34px; gap: 12px; }
  .page-index .hero-copy h1 { font-size: clamp(43px, 9.7vw, 62px); }
  .page-index .hero-copy .hero-lead { font-size: 16px; }
  .page-index .brand-emblem-stage { min-height: 385px; }
  .brand-emblem-stage .brand-emblem-mark { width: min(44%, 240px); }
  .brand-emblem-stage .emblem-halo { width: min(66%, 285px); }
  .brand-emblem-stage .orbit-particle { width: min(80%, 340px); }
  .brand-emblem-caption { margin-top: -34px !important; font-size: 9px !important; }
  .home-direction { padding-top: 58px; padding-bottom: 62px; }
  .section-heading { display: block; margin-bottom: 22px; }
  .section-heading > p { max-width: 54ch; margin-top: 13px; }
  .short-values { grid-template-columns: 1fr; gap: 10px; }
  .short-values article, .short-values article:first-child, .short-values article:last-child { min-height: 0; padding: 20px; }
  .short-values article > span { font-size: 18px; }
  .short-values h3 { margin: 12px 0 5px; }
  .home-benefit { display: grid; gap: 18px; padding: 38px 20px; }
  .home-benefit h2 { font-size: clamp(30px, 8vw, 38px); }
  .home-benefit .button { justify-self: start; }
  .home-product { grid-template-columns: 78px minmax(0, 1fr); gap: 18px; padding-block: 34px; }
  .product-mark { width: 72px; height: 72px; }
  .product-mark img { width: 54px; }
  .home-product h2 { font-size: 34px; }
  .home-featured { padding: 52px 0 56px; }
  .featured-heading { align-items: flex-start; }
  .featured-types { gap: 10px; }
  .featured-types > a { min-height: 150px; padding: 18px; }
  .home-network { min-height: 0; padding-block: 40px; }
  .page-hero.wrap { padding-top: 53px; padding-bottom: 49px; }
  .page-hero h1 { font-size: clamp(38px, 9vw, 55px); line-height: 1.08; }
  .page-hero > p:not(.eyebrow) { max-width: 58ch; margin-top: 16px; font-size: 16px; line-height: 1.65; }
  .page-hero.wrap::after { top: 50%; right: -2%; width: 150px; opacity: .12; }
  .page-band { padding-block: 38px; }
  .two-col-copy { grid-template-columns: 1fr; gap: 12px; }
  .two-col-copy h2 { font-size: 30px; }
  .section-intro { padding-top: 44px; margin-bottom: 20px; }
  .section-intro h2 { font-size: 30px; }
  .mission-link { flex-direction: column; align-items: flex-start; gap: 16px; padding-block: 25px; }
  .copy-grid, .editorial-grid, .featured-types { grid-template-columns: 1fr; }
  .copy-grid, .editorial-grid { padding-bottom: 54px; }
  .copy-card, .editorial-card, .press-item, .reading-grid > article, .reading-grid > a,
  .partner-panel, .contact-info, .form-panel, .internship-column { padding: 21px; }
  .copy-card:hover, .editorial-card:hover, .press-item:hover, .reading-grid > article:hover, .reading-grid > a:hover,
  .partner-panel:hover, .internship-column:hover { transform: none; }
  .commitments { grid-template-columns: 1fr; gap: 10px; padding-bottom: 48px; }
  .commitments article, .commitments article:first-child, .commitments article:last-child { grid-column: auto; padding: 20px; }
  .commitments h2 { margin: 12px 0 6px; }
  .cta-band { display: grid; justify-items: start; gap: 17px; padding: 30px 20px; }
  .cta-band h2 { font-size: 28px; }
  .team-section { padding-block: 48px 58px; }
  .product-page-hero { min-height: 0; padding-block: 44px; gap: 20px; }
  .product-page-hero h1 { font-size: clamp(44px, 12vw, 60px); }
  .product-visual { min-height: 230px; }
  .product-visual img { width: min(52%, 190px); }
  .press-section { padding-bottom: 35px; }
  .reading-grid { grid-template-columns: 1fr; padding-bottom: 52px; }
  .partner-groups, .contact-layout, .internship-columns, .press-grid { grid-template-columns: 1fr; gap: 12px; }
  .partner-groups, .internship-columns { padding-bottom: 48px; }
  .contact-layout { padding-bottom: 52px; }
  .form-grid { grid-template-columns: 1fr; }
  .field-wide { grid-column: auto; }
  .legal-list { padding-bottom: 50px; }
  .legal-list > a, .legal-list > div { gap: 8px; }
  .site-footer { padding: 40px 20px 20px; }
  .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 16px; }
  .footer-brand-block { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; gap: 8px; }
  .motion-toggle { max-width: calc(100vw - 24px); }
}
@media (max-width: 420px) {
  .wrap { width: min(100% - 32px, var(--max)); }
  .page-index .home-hero { padding-inline: 16px; }
  .hero-actions { align-items: stretch; }
  .hero-actions .button { justify-content: center; }
  .page-index .brand-emblem-stage { min-height: 344px; }
  .brand-emblem-stage .brand-emblem-mark { width: min(46%, 210px); }
  .brand-emblem-caption { margin-top: -30px !important; padding: 7px 10px; font-size: 8px !important; letter-spacing: .045em !important; }
  .home-product { grid-template-columns: 1fr; justify-items: start; gap: 18px; padding-block: 28px; }
  .home-product .product-mark { width: 66px; height: 66px; }
  .featured-heading { display: block; }
  .featured-heading .arrow-link { display: inline-flex; margin-top: 15px; }
  .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 12px; }
  .team-card h3 { font-size: 14px; }
  .team-card p { font-size: 12px; }
  .footer-main { gap: 20px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .copy-card:hover, .editorial-card:hover, .press-item:hover, .reading-grid > article:hover, .reading-grid > a:hover,
  .partner-panel:hover, .internship-column:hover, .short-values article:hover { transform: none; }
}
html[data-motion="reduced"] *, html[data-motion="reduced"] *::before, html[data-motion="reduced"] *::after { transition: none !important; }

/* 2026-11-01: seconda revisione, più presenza e continuità senza nuovi contenuti. */
:root {
  --paper: #f7fbfd;
  --mist: #edf5f8;
  --line: #d0e1e9;
  --ink: #153149;
  --ink-soft: #35566e;
  --muted: #526f82;
}
body {
  background:
    radial-gradient(ellipse at 10% 16%, #d7f0f746, transparent 37rem),
    radial-gradient(ellipse at 92% 46%, #dceeff45, transparent 40rem),
    linear-gradient(180deg, #fbfdfe 0%, #f7fbfd 48%, #fbfdfe 100%);
}
body::before {
  background-position: center 12%;
  background-size: min(1800px, 120vw) auto;
  opacity: .14;
}
.site-header {
  border-bottom-color: #cfe1e9;
  background: #f9fcfdf5;
  box-shadow: 0 8px 26px #173d560d, inset 0 -1px #ffffffc9;
}
.site-nav > a, .nav-menu > summary { color: #2f5168; }
.site-nav > a:hover, .nav-menu > summary:hover, .nav-menu[open] > summary { color: #075ea8; }
.button { border-radius: 12px; }
.button-blue { box-shadow: 0 12px 28px #1269b82b, inset 0 1px #ffffff30; }
.button-plain { border-color: #bcd5e1; box-shadow: 0 5px 16px #143a520a; }

/* La copertina unisce testo e marchio nello stesso ambiente luminoso. */
.page-index .home-hero {
  min-height: clamp(660px, calc(100svh - 78px), 760px);
  grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
  gap: clamp(34px, 5.3vw, 78px);
  background:
    radial-gradient(ellipse at 78% 49%, #a8e4f46b 0, transparent 33%),
    linear-gradient(110deg, #fafdfe 0%, #f0f8fb 53%, #e6f3f8 100%);
}
.page-index .home-hero::before { opacity: .78; }
.page-index .home-hero::after {
  background:
    linear-gradient(90deg, #fafdfeef 0%, #f7fbfce0 34%, #edf7f9a8 61%, #eaf6fa58 100%),
    radial-gradient(ellipse at 78% 50%, #ffffff9c, transparent 40%);
}
.page-index .hero-copy { max-width: 610px; }
.page-index .hero-copy h1 {
  max-width: 640px;
  font-size: clamp(52px, 5.9vw, 78px);
  line-height: 1.02;
  letter-spacing: -.062em;
}
.page-index .hero-copy .hero-lead {
  max-width: 500px;
  color: #35566d;
  font-size: 18px;
}
.page-index .hero-emblem { max-width: 650px; }
.page-index .hero-emblem::before {
  position: absolute;
  inset: 4% 1% 5%;
  content: "";
  border: 1px solid #c6e2ec;
  border-radius: 32px;
  background:
    linear-gradient(135deg, #ffffffa8, #e9f7fb67 52%, #ffffff80),
    repeating-linear-gradient(0deg, transparent 0 47px, #72bbd20c 48px),
    repeating-linear-gradient(90deg, transparent 0 47px, #72bbd20c 48px);
  box-shadow: inset 0 1px #ffffff, 0 24px 56px #1f607711;
  pointer-events: none;
}
.page-index .brand-emblem-stage { min-height: 600px; }
.brand-emblem-stage .emblem-halo {
  box-shadow: 0 0 0 28px #3caafa11, 0 0 0 68px #3caafa08, 0 0 100px #3ebcff38;
}
.brand-emblem-stage .brand-emblem-mark {
  width: min(82.32%, 512.4px);
  filter: drop-shadow(0 20px 30px #17649a40) drop-shadow(0 0 32px #6bcaff6b);
}
.brand-emblem-caption {
  border-color: #b9d8e5;
  background: #faffffed;
  box-shadow: 0 10px 28px #1b4e671c;
}
.page-index .hero-copy .hero-scroll {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 31px;
  padding: 10px 15px 10px 10px;
  border: 1px solid #c6e0e9;
  border-radius: 999px;
  background: #ffffffa8;
}
.page-index .hero-copy .hero-scroll span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #e3f5f9;
}

/* Le sezioni diventano fasce editoriali collegate, con card più leggibili. */
.page-index .home-direction {
  position: relative;
  z-index: 0;
  isolation: isolate;
  padding-top: 88px;
  padding-bottom: 88px;
}
.page-index .home-direction::before,
.page-index .home-product::before,
.page-index .home-network::before {
  position: absolute;
  z-index: -1;
  inset: 0 auto 0 50%;
  width: 100vw;
  content: "";
  transform: translateX(-50%);
  pointer-events: none;
}
.page-index .home-direction::before {
  border-block: 1px solid #d5e6ed;
  background:
    radial-gradient(ellipse at 88% 5%, #dff4f8ad, transparent 33rem),
    linear-gradient(115deg, #eef6f9 0%, #f7fbfc 52%, #edf6f8 100%);
}
.page-index .section-heading {
  align-items: end;
  gap: 36px;
  margin-bottom: 34px;
}
.page-index .section-heading > p {
  max-width: 340px;
  padding: 14px 18px;
  border-left: 2px solid #55b9d1;
  background: #ffffff9c;
}
.page-index .section-heading h2 { max-width: 720px; }
.page-index .short-values { gap: 14px; }
.page-index .short-values article,
.page-index .short-values article:first-child,
.page-index .short-values article:last-child {
  position: relative;
  min-height: 242px;
  overflow: hidden;
  padding: 27px;
  border: 1px solid #c9dfe8;
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, #e3f5f8 0, transparent 46%),
    linear-gradient(145deg, #ffffff 10%, #f4fafc 100%);
  box-shadow: 0 12px 30px #173e550d, inset 0 1px #ffffff;
}
.page-index .short-values article::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  content: "";
  background: linear-gradient(180deg, #43b9d2, #1671b9);
}
.page-index .short-values article > span {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid #bfe0e9;
  border-radius: 15px;
  background: #e9f7fa;
  color: #126cae;
  font-size: 15px;
}
.page-index .short-values h3 { margin-top: 24px; font-size: 22px; }
.page-index .short-values p { max-width: 34ch; line-height: 1.72; }
.page-index .home-benefit {
  padding-block: 65px;
  border-block-color: #bfdeea;
  background:
    radial-gradient(ellipse at 90% 50%, #ffffffd1, transparent 32%),
    linear-gradient(105deg, #e5f5fa 0%, #d9eef5 54%, #eaf7fa 100%);
}
.page-index .home-benefit > div { max-width: 760px; }
.page-index .home-benefit h2 { max-width: 720px; }
.page-index .home-benefit .button-light {
  flex: 0 0 auto;
  min-height: 56px;
  padding-inline: 24px;
  border-radius: 12px;
  background: #ffffffd9;
}
.page-index .home-product {
  position: relative;
  z-index: 0;
  isolation: isolate;
  min-height: 286px;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 44px;
  margin-top: 28px;
  margin-bottom: 28px;
}
.page-index .home-product::before {
  border: 1px solid #d4e6ed;
  border-radius: 26px;
  background:
    radial-gradient(ellipse at 12% 50%, #d1eff6 0, transparent 34%),
    linear-gradient(120deg, #edf7fa, #ffffff 53%, #f0f8fa);
  box-shadow: inset 0 1px #ffffff, 0 14px 35px #173d550b;
}
.page-index .product-mark {
  border: 1px solid #b9dce8;
  background: radial-gradient(circle at 42% 34%, #fff 0%, #dff3f8 72%, #cceaf2 100%);
  box-shadow: 0 14px 30px #1b637b17, inset 0 1px #fff;
}
.page-index .home-product h2 { font-size: 50px; }
.page-index .home-featured {
  position: relative;
  padding-block: 74px 78px;
  border-block: 1px solid #d3e4eb;
  background:
    radial-gradient(ellipse at 4% 0%, #ffffff 0, transparent 34rem),
    repeating-linear-gradient(135deg, transparent 0 52px, #ffffff42 53px 54px),
    linear-gradient(135deg, #eaf4f7 0%, #f4f9fb 54%, #eaf4f7 100%);
}
.page-index .featured-heading { margin-bottom: 32px; }
.page-index .featured-types { gap: 16px; }
.page-index .featured-types > a {
  position: relative;
  min-height: 224px;
  overflow: hidden;
  padding: 25px;
  border: 1px solid #cbdfe7;
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, #e5f5f8 0, transparent 52%),
    linear-gradient(145deg, #fff 10%, #f6fbfc 100%);
  box-shadow: 0 12px 28px #163c520d, inset 0 1px #ffffff;
}
.page-index .featured-types > a::after {
  position: absolute;
  inset: auto 0 0;
  height: 4px;
  content: "";
  background: linear-gradient(90deg, #1674bd, #48bfd2 72%, #d8f3f6);
  transform: scaleX(.34);
  transform-origin: left;
  transition: transform .35s ease;
}
.page-index .featured-types > a:hover::after { transform: scaleX(1); }
.page-index .featured-types > a:hover {
  border-color: #9fcbd9;
  box-shadow: 0 18px 36px #163c5217;
}
.page-index .featured-types strong { font-size: 21px; line-height: 1.28; }
.page-index .featured-types small { color: #1166a8; }
.page-index .home-network {
  position: relative;
  z-index: 0;
  isolation: isolate;
  min-height: 220px;
  margin-top: 25px;
  margin-bottom: 25px;
  padding-inline: 32px;
}
.page-index .home-network::before {
  border: 1px solid #d3e5ec;
  border-radius: 24px;
  background:
    radial-gradient(ellipse at 10% 50%, #dff3f8 0, transparent 38%),
    linear-gradient(120deg, #f0f8fa, #ffffff 58%, #edf6f9);
}

/* Più ritmo anche nelle pagine interne: aperture, fasce e card hanno ruoli distinti. */
.page-hero.wrap {
  padding-top: 70px;
  padding-bottom: 66px;
}
.page-hero.wrap::before {
  background:
    linear-gradient(100deg, #f8fcfdf5 0%, #eef7f9ed 52%, #e9f5f8db 100%),
    url("assets/lab-research-layer.svg") center 38% / cover no-repeat;
}
.page-hero h1 {
  max-width: 1000px;
  font-size: clamp(46px, 5.5vw, 72px);
  line-height: 1.03;
}
.page-hero > p:not(.eyebrow) {
  max-width: 760px;
  color: #385970;
}
.page-band {
  border-block: 1px solid #d5e4ea;
  background:
    radial-gradient(ellipse at 92% 10%, #ffffffb8, transparent 35rem),
    repeating-linear-gradient(135deg, transparent 0 60px, #ffffff4d 61px 62px),
    linear-gradient(120deg, #eaf3f7, #f4f9fb 58%, #edf6f8);
}
.section-intro {
  position: relative;
  padding-top: 68px;
  padding-bottom: 30px;
}
.section-intro h2 { max-width: 880px; }
.mission-link {
  position: relative;
  padding: 32px 24px;
  border: 1px solid #d4e4eb;
  border-radius: 16px;
  background: linear-gradient(110deg, #ffffffeb, #f3f9fbeb);
  box-shadow: 0 10px 28px #173d550b;
}
.copy-grid, .editorial-grid, .press-grid, .partner-groups, .internship-columns { gap: 18px; }
.copy-card, .editorial-card, .press-item, .reading-grid > article, .reading-grid > a,
.partner-panel, .contact-info, .form-panel, .internship-column {
  position: relative;
  overflow: hidden;
  border-color: #cfdfe7;
  border-radius: 17px;
  background:
    radial-gradient(circle at 100% 0%, #e8f6f8 0, transparent 50%),
    linear-gradient(145deg, #fff 14%, #f4f9fb 100%);
  box-shadow: 0 11px 28px #153d550c, inset 0 1px #ffffff;
}
.copy-card::before, .editorial-card::before, .press-item::before, .partner-panel::before,
.contact-info::before, .form-panel::before, .internship-column::before {
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  content: "";
  background: linear-gradient(90deg, #247fba, #56c2d2 58%, #e3f5f7);
}
.copy-card, .editorial-card, .press-item, .partner-panel, .internship-column { min-height: 220px; }
.copy-card:hover, .editorial-card:hover, .press-item:hover, .reading-grid > article:hover,
.reading-grid > a:hover, .partner-panel:hover, .internship-column:hover {
  border-color: #a5ccd9;
  box-shadow: 0 18px 36px #153d5515, inset 0 1px #ffffff;
}
.commitments article, .commitments article:first-child, .commitments article:last-child {
  position: relative;
  min-height: 190px;
  overflow: hidden;
  border: 1px solid #d3e3e9;
  border-radius: 16px;
  background: linear-gradient(140deg, #fff, #f2f8fa);
  box-shadow: 0 10px 26px #153d550a;
}
.commitments article > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  border: 1px solid #bfe0e9;
  border-radius: 14px;
  background: #e8f6f9;
}
.cta-band {
  position: relative;
  overflow: hidden;
  border-block: 1px solid #c6e0e9;
  background:
    radial-gradient(ellipse at 90% 50%, #ffffffd9, transparent 36%),
    linear-gradient(105deg, #e3f3f8, #d5ebf3 57%, #eaf6f8);
}
.cta-band::after {
  position: absolute;
  top: -90px;
  right: 6%;
  width: 260px;
  aspect-ratio: 1;
  content: "";
  border: 1px solid #4ba8ce24;
  border-radius: 50%;
  box-shadow: 0 0 0 26px #4ba8ce0a, 0 0 0 62px #4ba8ce07;
  pointer-events: none;
}
.product-page-hero { gap: clamp(26px, 4vw, 56px); }
.product-page-hero > div:first-child { position: relative; z-index: 1; }
.product-page-hero > .product-visual {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  background:
    repeating-linear-gradient(0deg, transparent 0 44px, #56a8c90d 45px),
    repeating-linear-gradient(90deg, transparent 0 44px, #56a8c90d 45px),
    radial-gradient(circle at 50% 48%, #c9effb 0, #eaf7fb 38%, #f7fbfd 73%);
  box-shadow: inset 0 0 0 9px #ffffff85, 0 22px 48px #17465d17;
}
.press-section, .team-section { position: relative; }
.press-item { min-height: 215px; }
.press-item .press-meta { color: #236c9f; }
.reading-grid > article, .reading-grid > a { min-height: 235px; }
.partner-panel { min-height: 240px; }
.contact-info, .form-panel { min-height: 100%; }
.field input, .field textarea, .field select {
  min-height: 49px;
  border-radius: 10px;
  background: #ffffffd9;
}
.field textarea { min-height: 130px; }
.legal-list > a, .legal-list > div {
  padding: 22px 24px;
  border: 1px solid #d6e5eb;
  border-radius: 13px;
  background: linear-gradient(110deg, #ffffffd9, #f2f8fa);
}
.legal-list { display: grid; gap: 9px; }
.site-footer {
  position: relative;
  border-top: 2px solid #c8e1e9;
  background:
    radial-gradient(ellipse at 3% 0%, #ffffff, transparent 34rem),
    repeating-linear-gradient(135deg, transparent 0 58px, #ffffff42 59px 60px),
    linear-gradient(125deg, #e9f3f7, #e3eff4);
}

/* Riduzione controllata delle superfici a tablet e telefono. */
@media (max-width: 980px) {
  .page-index .home-hero { min-height: 610px; }
  .page-index .brand-emblem-stage { min-height: 440px; }
  .page-index .short-values article,
  .page-index .short-values article:first-child,
  .page-index .short-values article:last-child { min-height: 220px; }
  .page-index .home-product { grid-template-columns: 150px minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 760px) {
  body::before { opacity: .09; background-size: auto 76vh; }
  .page-index .home-hero {
    min-height: 0;
    padding: 44px 20px 32px;
    gap: 12px;
  }
  .page-index .hero-copy h1 { font-size: clamp(43px, 10vw, 62px); }
  .page-index .hero-copy .hero-lead { font-size: 16px; }
  .page-index .hero-emblem { width: 100%; max-width: 570px; }
  .page-index .hero-emblem::before { inset: 3% 0 6%; border-radius: 24px; }
  .page-index .brand-emblem-stage { min-height: clamp(350px, 110vw, 500px); }
  .brand-emblem-stage .brand-emblem-mark { width: min(80.64%, 411.6px); }
  .brand-emblem-stage .emblem-halo { width: min(68%, 295px); }
  .brand-emblem-caption { margin-top: -31px !important; }
  .page-index .home-direction { padding-block: 52px; }
  .page-index .section-heading > p { margin: 14px 0 0; }
  .page-index .short-values article,
  .page-index .short-values article:first-child,
  .page-index .short-values article:last-child { padding: 20px; }
  .page-index .short-values article > span { width: 40px; height: 40px; }
  .page-index .short-values h3 { margin-top: 15px; font-size: 20px; }
  .page-index .home-benefit { padding: 35px 20px; }
  .page-index .home-product {
    min-height: 0;
    grid-template-columns: 72px minmax(0, 1fr);
    margin-block: 14px;
    padding: 24px 18px;
  }
  .page-index .home-product::before { border-radius: 20px; }
  .page-index .product-mark { width: 68px; height: 68px; }
  .page-index .home-product h2 { font-size: 37px; }
  .page-index .home-featured { padding-block: 46px; }
  .page-index .featured-types > a { min-height: 174px; padding: 20px; }
  .page-index .home-network { min-height: 0; margin-block: 16px; padding: 26px 18px; }
  .page-index .home-network::before { border-radius: 18px; }
  .page-hero.wrap { padding-top: 48px; padding-bottom: 42px; }
  .page-hero h1 { font-size: clamp(39px, 9.5vw, 56px); }
  .page-hero.wrap::after { opacity: .1; }
  .page-band { padding-block: 34px; }
  .section-intro { padding-top: 38px; padding-bottom: 20px; }
  .mission-link { padding: 21px; }
  .copy-card, .editorial-card, .press-item, .partner-panel, .internship-column { min-height: 0; }
  .commitments article, .commitments article:first-child, .commitments article:last-child { min-height: 0; }
  .reading-grid > article, .reading-grid > a { min-height: 0; }
  .contact-info, .form-panel { min-height: 0; }
  .legal-list > a, .legal-list > div { padding: 17px; }
  .site-footer { background-size: auto, auto, auto; }
}
@media (max-width: 420px) {
  .page-index .home-hero { padding-inline: 16px; }
  .page-index .hero-copy h1 { font-size: clamp(40px, 10.5vw, 49px); }
  .page-index .brand-emblem-stage { min-height: 350px; }
  .page-index .home-product { grid-template-columns: 1fr; }
  .page-index .home-product .product-mark { width: 62px; height: 62px; }
  .page-index .home-network { display: grid; }
}
@media (prefers-reduced-motion: reduce) {
  .page-index .featured-types > a::after { transition: none; }
}

@media (min-width: 761px) and (max-width: 980px) {
  .page-index .home-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(240px, .88fr);
    align-items: center;
    gap: 10px;
    min-height: 560px;
    padding: 34px 22px;
  }
  .page-index .hero-copy {
    width: 100%;
    max-width: none;
    padding-block: 16px;
  }
  .page-index .hero-copy h1 {
    max-width: 500px;
    font-size: clamp(39px, 5.25vw, 52px);
  }
  .page-index .hero-copy .hero-lead { max-width: 46ch; font-size: 15px; }
  .page-index .hero-actions { gap: 9px; margin-top: 22px; }
  .page-index .hero-actions .button { min-height: 46px; padding-inline: 15px; }
  .page-index .hero-emblem {
    align-self: center;
    justify-self: stretch;
    width: 100%;
    max-width: none;
  }
  .page-index .hero-emblem::before { inset: 5% 0; border-radius: 24px; }
  .page-index .brand-emblem-stage { min-height: 440px; }
  .brand-emblem-stage .brand-emblem-mark { width: min(94%, 369.6px); }
  .brand-emblem-stage .emblem-halo { width: min(75%, 270px); }
  .brand-emblem-stage .orbit-particle { width: min(88%, 310px); }
  .brand-emblem-caption { margin-top: -32px !important; }
  .page-index .home-direction .short-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-index .short-values article:last-child { grid-column: 1 / -1; }
  .page-index .featured-types > a:first-child { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .page-index .featured-types > a:first-child { grid-column: auto; }
}

/* Health-X e Società Benefit condividono la stessa riga sulla home. */
.page-index .home-highlight-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 22px;
  margin-block: 34px 58px;
}
.page-index .home-highlight-row > .home-product,
.page-index .home-highlight-row > .home-benefit {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 340px;
  margin: 0;
  padding: 34px clamp(22px, 2.5vw, 38px);
  border: 1px solid #d4e6ed;
  border-radius: 24px;
  box-shadow: 0 14px 35px #173d550b;
}
.page-index .home-highlight-row > .home-product {
  grid-template-columns: minmax(74px, .42fr) minmax(0, 1fr);
  gap: 24px;
}
.page-index .home-highlight-row > .home-product h2 { font-size: clamp(38px, 4vw, 50px); }
.page-index .home-highlight-row > .home-benefit {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 22px;
  border-block: 1px solid #d4e6ed;
}
.page-index .home-highlight-row > .home-benefit > div { max-width: 100%; }
.page-index .home-highlight-row > .home-benefit h2 { font-size: clamp(30px, 3.2vw, 42px); }

@media (max-width: 900px) {
  .page-index .home-highlight-row { grid-template-columns: 1fr; gap: 16px; margin-block: 24px 44px; }
  .page-index .home-highlight-row > .home-product,
  .page-index .home-highlight-row > .home-benefit { min-height: 0; padding: 28px; }
}
@media (max-width: 520px) {
  .page-index .home-highlight-row > .home-product { grid-template-columns: 1fr; gap: 16px; padding: 24px 20px; }
  .page-index .home-highlight-row > .home-product .product-mark { width: 64px; height: 64px; }
  .page-index .home-highlight-row > .home-benefit { padding: 24px 20px; }
}


.page-index .company-details {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 14px;
  margin: 15px 0 0;
  color: #607890;
  font-size: 12px;
  line-height: 1.6;
}
@media (max-width: 760px) {
  .page-index .company-details { flex-direction: column; gap: 2px; }
}
