.elementor-2 .elementor-element.elementor-element-a9655d5{--display:flex;}.elementor-2 .elementor-element.elementor-element-a236be1{--display:flex;}.elementor-2 .elementor-element.elementor-element-87203a5{--display:flex;--justify-content:flex-start;}.elementor-2 .elementor-element.elementor-element-e789ca1{--display:flex;}.elementor-2 .elementor-element.elementor-element-d5eb31e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--gap:12px 12px;--row-gap:12px;--column-gap:12px;}.elementor-2 .elementor-element.elementor-element-d5eb31e.e-con{--align-self:flex-start;}.elementor-2 .elementor-element.elementor-element-e69777b .elementor-button{background-color:#FFFFFF;fill:#B21739;color:#B21739;border-style:solid;border-width:1.5px 1.5px 1.5px 1.5px;border-color:#FFFFFF;}.elementor-2 .elementor-element.elementor-element-e69777b .elementor-button:hover, .elementor-2 .elementor-element.elementor-element-e69777b .elementor-button:focus{background-color:#02010100;color:#FFFFFF;}.elementor-2 .elementor-element.elementor-element-e69777b .elementor-button:hover svg, .elementor-2 .elementor-element.elementor-element-e69777b .elementor-button:focus svg{fill:#FFFFFF;}.elementor-2 .elementor-element.elementor-element-1309733 .elementor-button:hover, .elementor-2 .elementor-element.elementor-element-1309733 .elementor-button:focus{background-color:#FFFFFF14;color:#FFFFFF;}.elementor-2 .elementor-element.elementor-element-1309733 .elementor-button:hover svg, .elementor-2 .elementor-element.elementor-element-1309733 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-2 .elementor-element.elementor-element-1309733 .elementor-button{transition-duration:0.2s;border-style:solid;border-width:1.5px 1.5px 1.5px 1.5px;border-color:#FFFFFF80;padding:16px 26px 16px 26px;}.elementor-2 .elementor-element.elementor-element-a8d79c1{--display:flex;}.elementor-2 .elementor-element.elementor-element-bdb78d8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-354ff78{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-93cdd5f{--display:flex;}.elementor-2 .elementor-element.elementor-element-c25d268{--display:flex;}.elementor-2 .elementor-element.elementor-element-55c0729{--display:flex;}.elementor-2 .elementor-element.elementor-element-0db70e1{--display:flex;}.elementor-2 .elementor-element.elementor-element-e20274d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-5e85016{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-16b988d{--display:flex;}.elementor-2 .elementor-element.elementor-element-ca24eab{--display:flex;}.elementor-2 .elementor-element.elementor-element-fd9039e{--display:flex;--min-height:100%;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-8d995b1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 22px) 0px;}body:not(.rtl) .elementor-2 .elementor-element.elementor-element-a35d416{left:0px;}body.rtl .elementor-2 .elementor-element.elementor-element-a35d416{right:0px;}.elementor-2 .elementor-element.elementor-element-a35d416{bottom:0px;}.elementor-2 .elementor-element.elementor-element-2b2a83c{--display:flex;}.elementor-2 .elementor-element.elementor-element-cf3aef8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-eb62d1e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-8e11a8f{--display:flex;}.elementor-2 .elementor-element.elementor-element-3110530{--display:flex;}body:not(.rtl) .elementor-2 .elementor-element.elementor-element-8dc049e{left:0px;}body.rtl .elementor-2 .elementor-element.elementor-element-8dc049e{right:0px;}.elementor-2 .elementor-element.elementor-element-8dc049e{top:0px;}.elementor-2 .elementor-element.elementor-element-60d8142{--display:flex;}.elementor-2 .elementor-element.elementor-element-85138e6{--display:flex;}.elementor-2 .elementor-element.elementor-element-3e97fa1{--display:flex;}.elementor-2 .elementor-element.elementor-element-5b3c4df{--display:flex;}.elementor-2 .elementor-element.elementor-element-3a6ba80{--display:flex;}.elementor-2 .elementor-element.elementor-element-689ffed{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 14px) 0px;}.elementor-2 .elementor-element.elementor-element-fdb8edf{--display:flex;}.elementor-2 .elementor-element.elementor-element-f9d945c{--display:flex;}.elementor-2 .elementor-element.elementor-element-7ae9f6b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 14px) 0px;}.elementor-2 .elementor-element.elementor-element-fc32eb4{--display:flex;}.elementor-2 .elementor-element.elementor-element-1aee10b{--display:flex;}.elementor-2 .elementor-element.elementor-element-b73d2bc{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 14px) 0px;}.elementor-2 .elementor-element.elementor-element-8cf4062{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-3e19bf8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-5f922dc{--display:flex;}.elementor-2 .elementor-element.elementor-element-9c80da1{--display:flex;}.elementor-2 .elementor-element.elementor-element-f276bf3{--display:flex;}.elementor-2 .elementor-element.elementor-element-8888276{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 22px) 0px;}.elementor-2 .elementor-element.elementor-element-b8541ba{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 22px) 0px;}.elementor-2 .elementor-element.elementor-element-9204db3{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 22px) 0px;}.elementor-2 .elementor-element.elementor-element-3e4417d{--display:flex;}.elementor-2 .elementor-element.elementor-element-f29316c{--display:flex;}.elementor-2 .elementor-element.elementor-element-98cfd4f{--display:flex;}.elementor-2 .elementor-element.elementor-element-905943c{--display:flex;}.elementor-2 .elementor-element.elementor-element-031f75e{--display:flex;}.elementor-2 .elementor-element.elementor-element-0b58eeb{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 14px) 0px;}.elementor-2 .elementor-element.elementor-element-29b8092{--display:flex;}.elementor-2 .elementor-element.elementor-element-58f00d1{--display:flex;}.elementor-2 .elementor-element.elementor-element-059653c{--display:flex;}.elementor-2 .elementor-element.elementor-element-dcc881f{--display:flex;}.elementor-2 .elementor-element.elementor-element-510c644{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 14px) 0px;}.elementor-2 .elementor-element.elementor-element-b885c6b{--display:flex;}.elementor-2 .elementor-element.elementor-element-8c50aa8{--display:flex;}.elementor-2 .elementor-element.elementor-element-a218427{--display:flex;}.elementor-2 .elementor-element.elementor-element-5ab3b24{--display:flex;}.elementor-2 .elementor-element.elementor-element-d3dc485{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 14px) 0px;}.elementor-2 .elementor-element.elementor-element-19853fe{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-b5515a2{--display:flex;}.elementor-2 .elementor-element.elementor-element-b5515a2:not(.elementor-motion-effects-element-type-background), .elementor-2 .elementor-element.elementor-element-b5515a2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://nbflanesbiome.com/wp-content/uploads/2026/06/photo_bacteria.jpg");background-position:center center;background-size:cover;}.elementor-2 .elementor-element.elementor-element-24fc54b{--display:flex;}.elementor-2 .elementor-element.elementor-element-d7a2149{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-2 .elementor-element.elementor-element-2c8730c{--display:flex;}.elementor-2 .elementor-element.elementor-element-8e54021{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-3e804b0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-94de408{--display:flex;}.elementor-2 .elementor-element.elementor-element-6529224{--display:flex;}.elementor-2 .elementor-element.elementor-element-06eaac7{--display:flex;}.elementor-2 .elementor-element.elementor-element-857d89e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 22px) 0px;}.elementor-2 .elementor-element.elementor-element-1b2c0fe{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-bb02cad{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-6b983f6{--display:flex;}.elementor-2 .elementor-element.elementor-element-ff4d735{--display:flex;}.elementor-2 .elementor-element.elementor-element-348a96b{--display:flex;}.elementor-2 .elementor-element.elementor-element-07bd1f8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 22px) 0px;}.elementor-2 .elementor-element.elementor-element-96b10f0{--display:flex;}.elementor-2 .elementor-element.elementor-element-08823ed{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-8c66125{--display:flex;}.elementor-2 .elementor-element.elementor-element-9e2dd37{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-c8d43d5{--display:flex;}.elementor-2 .elementor-element.elementor-element-4dca9b2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-f02e9a0{--display:flex;}.elementor-2 .elementor-element.elementor-element-e042343{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-178fc6c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-85bd792{--display:flex;}.elementor-2 .elementor-element.elementor-element-65e0823{--display:flex;}.elementor-2 .elementor-element.elementor-element-17fce98{--display:flex;}.elementor-2 .elementor-element.elementor-element-ab2341a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 22px) 0px;}.elementor-2 .elementor-element.elementor-element-b1d2c24{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-24f723e{--display:flex;}.elementor-2 .elementor-element.elementor-element-5821c53{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 22px) 0px;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-2 .elementor-element.elementor-element-e69777b{width:100%;max-width:100%;}.elementor-2 .elementor-element.elementor-element-1309733{width:100%;max-width:100%;}}/* Start custom CSS for container, class: .elementor-element-5e85016 */.elementor-2 .elementor-element.elementor-element-5e85016:before {
    content: "";
    position: absolute;
    right: -200px ;
    left: auto;
    top: -100px;
    width: 500px;
    height: 500px;
    transform: rotate(45deg);
    border: 1px solid rgba(179, 23, 57, .1);
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-6eb96f1 */.elementor-2 .elementor-element.elementor-element-6eb96f1 {
    flex:1;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6882ef7 */.elementor-2 .elementor-element.elementor-element-6882ef7  button {
        width: 42px;
    height: 42px;
    border: 1px solid rgba(179, 23, 57, .32);
    background: transparent;
    color: var(--rosso);
    border-radius: 50%;
    cursor: pointer;
    font-family: var(--mono);
    font-size: 15px;
    line-height: 1;
    transition: background .2s ease, color .2s ease, opacity .2s ease;
    padding: 0;
}/* End custom CSS */
/* Start custom CSS *//* ───────────── NAV (sticky) ───────────── */
  .nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 50;
    transition: background .35s ease, box-shadow .35s ease, backdrop-filter .35s ease;
  }
  .nav.scrolled {
    background: rgba(122, 12, 37, .92);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 8px 30px rgba(60,5,15,.30);
  }
  .nav .row {
    display: flex; align-items: center; justify-content: space-between;
    padding: 22px 56px;
    border-bottom: 1px solid rgba(255,255,255,.18);
    transition: padding .3s ease, border-color .3s ease;
  }
  .nav.scrolled .row {
    padding: 14px 56px;
    border-bottom-color: transparent;
  }
  .nav .brand img.wordmark { height: 46px; width: auto; transition: height .3s ease; display: block; }
  .nav.scrolled .brand img.wordmark { height: 40px; }
  .nav .brand img.biome-mark { height: 54px; width: auto; transition: height .3s ease; display: block; }
  .nav.scrolled .brand img.biome-mark { height: 46px; }
  .nav .brand .divider-v { width: 1px; height: 36px; background: rgba(255,255,255,.35); }
  .nav .brand { display: flex; align-items: center; gap: 14px; }
  .nav .brand .vert {
    color: #fff; font-size: 10px; letter-spacing: 0.22em; font-weight: 700;
    border-left: 1px solid rgba(255,255,255,.35); padding-left: 14px; text-transform: uppercase;
  }
  .nav ul { display: flex; gap: 30px; }
  .nav ul a {
    color: rgba(255,255,255,.78); font-size: 11px; font-weight: 600;
    letter-spacing: 0.18em; text-transform: uppercase; padding: 6px 0;
    position: relative;
  }
  .nav ul a:hover { color: #fff; }
  .nav ul a.active { color: #fff; }
  .nav ul a.active::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: -8px; height: 2px;
    background: var(--rosso);
  }
  .nav .cta {
    padding: 11px 20px; border: 1.5px solid rgba(255,255,255,.5); color: #fff;
    font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700;
    transition: background .2s ease;
  }
  .nav .cta:hover { background: rgba(255,255,255,.12); }
  .nav .right { display: flex; align-items: center; gap: 14px; }
  .nav .burger {
    width: 44px; height: 44px;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    border: 1px solid rgba(255,255,255,.35);
    background: transparent; cursor: pointer; gap: 5px;
    transition: all .2s ease;
  }
  .nav .burger:hover { background: rgba(255,255,255,.12); }
  .nav .burger i { width: 20px; height: 1.5px; background: #fff; display: block; }

  /* ───────────── MEGA MENU (slide from right) ───────────── */
  .menu-overlay {
    position: fixed; inset: 0;
    background: rgba(74,12,29,.55);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 90;
    opacity: 0; pointer-events: none;
    transition: opacity .45s ease;
  }
  .menu-overlay.open { opacity: 1; pointer-events: auto; }

  .mega-menu {
    position: fixed; top: 0; right: 0; height: 100%;
    width: min(720px, 72vw);
    background:
      radial-gradient(ellipse at 20% 30%, rgba(120,30,60,.45) 0%, transparent 55%),
      radial-gradient(ellipse at 80% 80%, rgba(60,15,35,.55) 0%, transparent 55%),
      linear-gradient(135deg, #5a0d22 0%, var(--rosso) 50%, #4a0c1d 100%);
    color: #fff;
    z-index: 95;
    transform: translateX(100%);
    transition: transform .55s cubic-bezier(.2,.8,.2,1);
    display: flex; flex-direction: column;
    overflow: hidden;
    box-shadow: -30px 0 80px rgba(0,0,0,.4);
  }
  .mega-menu.open { transform: translateX(0); }
  .mega-menu::before {
    content: ""; position: absolute; inset: 0;
    background-image: radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 3px 3px; opacity: .35; mix-blend-mode: overlay; pointer-events: none;
  }
  .mega-menu .rhombi-bg {
    position: absolute; left: -200px; top: -160px;
    width: 660px; height: 660px; z-index: 0; pointer-events: none; opacity: .35;
  }
  .mega-menu .rhombi-bg .rh {
    position: absolute; transform: rotate(45deg);
  }
  .mega-menu .rhombi-bg .rh.r1 {
    width: 52%; aspect-ratio: 1; top: 6%; left: 8%;
    background: linear-gradient(135deg, rgba(255,255,255,.30) 0%, rgba(255,255,255,.10) 100%);
  }
  .mega-menu .rhombi-bg .rh.r2 {
    width: 36%; aspect-ratio: 1; top: 28%; right: 2%;
    background: linear-gradient(135deg, rgba(213,29,68,.55) 0%, rgba(122,12,37,.30) 100%);
  }
  .mega-menu .rhombi-bg .rh.r3 {
    width: 58%; aspect-ratio: 1; bottom: -4%; right: 10%;
    background: linear-gradient(135deg, rgba(255,255,255,.15) 0%, rgba(255,255,255,.04) 100%);
  }
  .mega-inner {
    position: relative; z-index: 2; flex: 1;
    display: flex; flex-direction: column;
    padding: 30px 56px 28px; overflow-y: auto;
  }
  .mega-top {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 30px; flex-shrink: 0;
  }
  .mega-top img { height: 40px; }
  .mega-top .vert {
    display: inline-block; margin-left: 12px; padding: 4px 10px;
    background: rgba(255,255,255,.15); color: #fff;
    font-family: var(--mono); font-size: 10px; letter-spacing: 0.22em;
    text-transform: uppercase; font-weight: 700;
  }
  .mega-close {
    width: 44px; height: 44px;
    border: 1px solid rgba(255,255,255,.35);
    background: transparent; color: #fff; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 22px; font-weight: 300;
    transition: all .2s ease;
  }
  .mega-close:hover { background: rgba(255,255,255,.12); }

  .mega-search { position: relative; margin-bottom: 28px; flex-shrink: 0; }
  .mega-search input {
    width: 100%; padding: 16px 16px 16px 48px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.20);
    color: #fff;
    font-family: var(--gill); font-size: 14px;
    outline: none;
    transition: border-color .2s ease, background .2s ease;
  }
  .mega-search input::placeholder { color: rgba(255,255,255,.55); }
  .mega-search input:focus {
    border-color: rgba(255,255,255,.5);
    background: rgba(255,255,255,.12);
  }
  .mega-search svg {
    position: absolute; left: 18px; top: 50%; transform: translateY(-50%);
    width: 18px; height: 18px; color: rgba(255,255,255,.65);
  }

  .mega-list { list-style: none; margin: 0 0 28px; padding: 0; flex: 1; }
  .mega-list > li {
    border-bottom: 1px solid rgba(255,255,255,.12); padding: 0;
  }
  .mega-list > li:first-child { border-top: 1px solid rgba(255,255,255,.12); }
  .mega-list > li > a,
  .mega-list > li > .sub-toggle {
    display: flex; align-items: baseline; gap: 16px;
    padding: 16px 0; width: 100%;
    background: transparent; border: 0; text-align: left;
    font-family: var(--gill); font-weight: 300;
    font-size: 30px; line-height: 1.05; letter-spacing: -0.015em;
    color: #fff; text-decoration: none; cursor: pointer;
    transition: padding .25s ease;
    position: relative;
  }
  .mega-list > li:hover > a,
  .mega-list > li:hover > .sub-toggle { padding-left: 12px; }
  .mega-list > li .idx {
    font-family: var(--mono); font-size: 11px; letter-spacing: 0.18em;
    color: rgba(255,255,255,.45); font-weight: 700; min-width: 28px;
  }
  .mega-list > li.has-sub > .sub-toggle::after {
    content: "+"; margin-left: auto; font-weight: 300;
    color: rgba(255,255,255,.55); font-size: 26px; line-height: 1;
    transition: transform .35s ease, color .2s ease;
  }
  .mega-list > li.has-sub.open > .sub-toggle::after {
    transform: rotate(45deg); color: #fff;
  }
  .mega-sub {
    list-style: none; max-height: 0; overflow: hidden;
    margin: 0; padding: 0 0 0 44px; opacity: 0;
    transition: max-height .45s cubic-bezier(.4,0,.2,1), opacity .35s ease, margin .35s ease, padding .35s ease;
  }
  .mega-list > li.has-sub.open > .mega-sub {
    max-height: 360px; opacity: 1; margin: 0 0 16px;
    padding-top: 4px; padding-bottom: 6px;
  }
  .mega-sub a {
    display: inline-flex; align-items: center; gap: 12px;
    padding: 7px 0; color: rgba(255,255,255,.78);
    font-family: var(--gill); font-size: 15px;
    transition: color .2s ease, gap .25s ease;
  }
  .mega-sub a::before {
    content: ""; width: 8px; height: 8px; transform: rotate(45deg);
    background: #fff; display: inline-block;
    transition: background .2s ease;
  }
  .mega-sub li:nth-child(2) a::before { background: rgba(255,255,255,.7); }
  .mega-sub li:nth-child(3) a::before { background: rgba(255,255,255,.5); }
  .mega-sub a:hover { color: #fff; gap: 18px; }

  .mega-bottom {
    flex-shrink: 0;
    display: flex; justify-content: space-between; align-items: center;
    padding-top: 22px; gap: 24px; flex-wrap: wrap;
    border-top: 1px solid rgba(255,255,255,.18);
  }
  .mega-lang {
    display: inline-flex; align-items: center;
    border: 1px solid rgba(255,255,255,.25);
  }
  .mega-lang button {
    background: transparent; border: 0; color: rgba(255,255,255,.65);
    font-family: var(--gill); font-size: 12px; font-weight: 700;
    letter-spacing: 0.18em; text-transform: uppercase;
    padding: 9px 16px; cursor: pointer; transition: all .2s ease;
  }
  .mega-lang button + button { border-left: 1px solid rgba(255,255,255,.25); }
  .mega-lang button.active { background: #fff; color: var(--rosso); }
  .mega-lang button:hover:not(.active) { color: #fff; background: rgba(255,255,255,.08); }
  .mega-contact {
    font-family: var(--mono); font-size: 11px;
    color: rgba(255,255,255,.65); letter-spacing: 0.12em;
    text-transform: uppercase;
  }
  .mega-contact a {
    color: #fff; border-bottom: 1px solid rgba(255,255,255,.35); padding-bottom: 2px;
  }

  /* ───────────── HERO ───────────── */
  .hero {
    position: relative; overflow: hidden; color: #fff;
    padding: 0 0 70px;
    background:
      radial-gradient(ellipse at 28% 35%, rgba(120,30,60,.45) 0%, transparent 55%),
      radial-gradient(ellipse at 80% 80%, rgba(60,15,35,.55) 0%, transparent 55%),
      linear-gradient(135deg, #5a0d22 0%, var(--rosso) 50%, #4a0c1d 100%);
  }
  .hero::before {
    content: ""; position: absolute; inset: 0; z-index: 0;
    background-image: radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 3px 3px; opacity: .45; mix-blend-mode: overlay; pointer-events: none;
  }
  .hero-grid {
    position: relative; z-index: 5;
    display: grid; grid-template-columns: 1.4fr 1fr; gap: 64px; align-items: center;
    padding-top: 140px;
  }
  .eyebrow {
    display: inline-flex; align-items: center; gap: 14px;
    font-size: 11px; letter-spacing: 0.30em; text-transform: uppercase; font-weight: 700;
    color: #fff; margin-bottom: 22px;
  }
  .eyebrow::before { content: ""; width: 32px; height: 2px; background: #fff; }
  .eyebrow .mono { font-family: var(--mono); letter-spacing: 0.10em; font-weight: 400; opacity: .8; }

  .hero h1 {
    font-weight: 300; font-size: 58px; line-height: 1.03; letter-spacing: -0.018em;
    max-width: 20ch; color: #fff; margin-bottom: 20px;
    text-wrap: balance;
  }
  .hero h1 b { font-weight: 700; }
  .hero h1 em {
    font-style: italic; font-family: var(--serif); font-weight: 400;
    color: #fff; letter-spacing: -0.005em;
  }
  .hero .super {
    font-family: var(--mono); font-size: 11px; letter-spacing: 0.18em;
    text-transform: uppercase; color: rgba(255,255,255,.78);
    margin-bottom: 14px;
  }
  .hero .lede {
    font-size: 17px; line-height: 1.5; max-width: 48ch;
    color: rgba(255,255,255,.88); margin-bottom: 30px; font-weight: 300;
  }
  .hero .lede b { font-weight: 600; color: #fff; }
  .hero .ctas { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
  .btn-primary {
    display: inline-flex; gap: 12px; align-items: center;
    padding: 17px 28px; background: #fff; color: var(--rosso); font-weight: 700;
    font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
    border: 1.5px solid #fff;
    transition: all .2s ease;
  }
  .btn-primary:hover { background: transparent; color: #fff; }
  .btn-secondary {
    padding: 16px 26px; background: transparent; color: #fff; font-weight: 700;
    font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
    border: 1.5px solid rgba(255,255,255,.5);
    transition: all .2s ease;
  }
  .btn-secondary:hover { border-color: #fff; background: rgba(255,255,255,.08); }

  /* hero visual — rhombi + molecule */
  .hero-visual { position: relative; aspect-ratio: 1; width: 100%; max-width: 460px; margin-left: auto;
    filter: drop-shadow(0 30px 80px rgba(0,0,0,.4)); }
  .hero-visual .rh { position: absolute; transform: rotate(45deg); opacity: 0; animation: rhombusIn 1.6s cubic-bezier(.2,.7,.2,1) forwards; }
  .hero-visual .rh.r1 { animation-delay: .25s; }
  .hero-visual .rh.r2 { animation-delay: .50s; }
  .hero-visual .rh.r3 { animation-delay: .75s; }
  @keyframes rhombusIn {
    from { transform: translateX(140%) rotate(45deg); opacity: 0; }
    to   { transform: translateX(0) rotate(45deg);    opacity: 1; }
  }
  /* parallax on scroll */
  .hero-visual {
    will-change: transform;
    transform: translate3d(0, var(--parallax-y, 0px), 0);
  }
  .hero-visual .rh.r1 {
    width: 56%; aspect-ratio: 1; top: 4%; left: 6%;
    background: radial-gradient(circle at 30% 28%, #df3358 0%, transparent 60%),
                linear-gradient(135deg, #d51d44 0%, var(--rosso) 55%, var(--rosso-deep) 100%);
    box-shadow: 0 30px 60px rgba(0,0,0,.3), inset 0 0 80px rgba(255,255,255,.08), inset 0 2px 0 rgba(255,255,255,.22);
  }
  .hero-visual .rh.r2 {
    width: 38%; aspect-ratio: 1; top: 26%; right: 0%;
    background: radial-gradient(circle at 30% 28%, rgba(255,255,255,.25) 0%, transparent 60%),
                linear-gradient(135deg, rgba(255,255,255,.15) 0%, rgba(255,255,255,.05) 100%);
    border: 1px solid rgba(255,255,255,.35);
    backdrop-filter: blur(6px);
  }
  .hero-visual .rh.r3 {
    width: 60%; aspect-ratio: 1; bottom: -2%; right: 8%;
    background: radial-gradient(circle at 30% 28%, #ff5b80 0%, transparent 60%),
                linear-gradient(135deg, #e72757 0%, var(--rosso) 50%, var(--rosso-deep) 100%);
    box-shadow: 0 40px 100px rgba(120,8,28,.7), inset 0 0 100px rgba(255,255,255,.08), inset 0 2px 0 rgba(255,255,255,.2);
  }
  .hero-visual .molecule { position: absolute; inset: 0; z-index: 4; }

  /* hero text reveal on load */
  .hero .wrap > .hero-grid > div:first-child > * {
    opacity: 0;
    transform: translateY(28px);
    animation: textIn 1.4s cubic-bezier(.2,.7,.2,1) forwards;
  }
  .hero .wrap > .hero-grid > div:first-child > *:nth-child(1) { animation-delay: .15s; }
  .hero .wrap > .hero-grid > div:first-child > *:nth-child(2) { animation-delay: .30s; }
  .hero .wrap > .hero-grid > div:first-child > *:nth-child(3) { animation-delay: .45s; }
  .hero .wrap > .hero-grid > div:first-child > *:nth-child(4) { animation-delay: .60s; }
  .hero .wrap > .hero-grid > div:first-child > *:nth-child(5) { animation-delay: .75s; }
  @keyframes textIn {
    to { opacity: 1; transform: translateY(0); }
  }

  /* fade-in on scroll */
  [data-fadein] {
    opacity: 0;
    transform: translateY(36px);
    transition: opacity 1s cubic-bezier(.2,.7,.2,1), transform 1s cubic-bezier(.2,.7,.2,1);
  }
  [data-fadein].in {
    opacity: 1;
    transform: translateY(0);
  }

  /* staggered children fade-in */
  [data-fadein-children] > * {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);
  }
  [data-fadein-children].in > * {
    opacity: 1;
    transform: translateY(0);
  }
  [data-fadein-children].in > *:nth-child(1) { transition-delay: 0.00s; }
  [data-fadein-children].in > *:nth-child(2) { transition-delay: 0.10s; }
  [data-fadein-children].in > *:nth-child(3) { transition-delay: 0.20s; }
  [data-fadein-children].in > *:nth-child(4) { transition-delay: 0.30s; }
  [data-fadein-children].in > *:nth-child(5) { transition-delay: 0.40s; }
  [data-fadein-children].in > *:nth-child(6) { transition-delay: 0.50s; }

  /* zoom-in variant for year visual */
  [data-fadein-zoom] {
    opacity: 0;
    transform: scale(.92);
    transition: opacity 1s cubic-bezier(.2,.7,.2,1), transform 1s cubic-bezier(.2,.7,.2,1);
  }
  [data-fadein-zoom].in { opacity: 1; transform: scale(1); }

  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
      animation-duration: 0.001ms !important;
      animation-delay: 0ms !important;
      transition-duration: 0.001ms !important;
    }
    .hero-visual { transform: none !important; }
    [data-fadein], [data-fadein-children] > *, [data-fadein-zoom] { opacity: 1; transform: none; }
  }

  .hero-floor {
    position: relative; z-index: 5;
    margin: 40px 56px 0; padding: 16px 0;
    border-top: 1px solid rgba(255,255,255,.2);
    display: flex; justify-content: space-between; gap: 24px; align-items: center;
    font-family: var(--mono); font-size: 11px; letter-spacing: 0.18em;
    text-transform: uppercase; color: rgba(255,255,255,.65);
  }
  .hero-floor span b { color: #fff; font-weight: 600; }

  /* ───────────── HERO BADGES STRIP (from C) ───────────── */
  .badges {
    position: relative; z-index: 5;
    background: var(--blu-deep); color: #fff;
    border-top: 3px solid var(--rosso);
  }
  .badges::before {
    content: ""; position: absolute; inset: 0;
    background-image: radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px);
    background-size: 3px 3px; opacity: .4; mix-blend-mode: overlay; pointer-events: none;
  }
  .badges .grid {
    position: relative; z-index: 2;
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
  }
  .badges .b {
    padding: 28px 32px; border-right: 1px solid rgba(255,255,255,.14);
    display: flex; flex-direction: column; gap: 6px;
  }
  .badges .b:last-child { border-right: 0; }
  .badges .b .mono {
    font-family: var(--mono); font-size: 10.5px; letter-spacing: 0.20em;
    text-transform: uppercase; color: var(--rosso-soft); font-weight: 700;
  }
  .badges .b .v {
    font-size: 18px; color: #fff; font-weight: 600; letter-spacing: -0.005em;
  }
  .badges .b .s {
    font-size: 12px; color: rgba(255,255,255,.6); font-family: var(--mono);
    letter-spacing: 0.04em;
  }

  /* ───────────── DIVIDER ───────────── */
  .divider {
    background: #fff; padding: 18px 56px;
    display: flex; align-items: center; gap: 22px;
    color: var(--rosso); font-size: 11px; letter-spacing: 0.24em;
    text-transform: uppercase; font-weight: 700; position: relative; z-index: 5;
    border-top: 3px solid var(--rosso);
    border-bottom: 1px solid var(--rule);
    box-shadow: 0 12px 24px -10px rgba(179,23,57,.18);
  }
  .divider .num { font-family: var(--mono); }
  .divider .accent {
    width: 32px; height: 2px;
    background: linear-gradient(90deg, var(--rosso) 0 33%, var(--rosso-bright) 33% 66%, var(--rosso-deep) 66%);
  }
  .divider .line { flex: 1; height: 1px; background: var(--rule-r); }

  /* ───────────── INTRO ───────────── */
  /* ───────────── DOT CLUSTERS (decorative accent) ───────────── */
  .dot-cluster {
    position: absolute;
    width: 96px; height: 80px;
    background-image: radial-gradient(circle, rgba(255,255,255,.50) 1.4px, transparent 1.6px);
    background-size: 16px 16px;
    background-repeat: repeat;
    pointer-events: none; z-index: 3;
  }
  .dot-cluster.on-light {
    background-image: radial-gradient(circle, rgba(179,23,57,.55) 1.4px, transparent 1.6px);
  }
  .dot-cluster.on-blu {
    background-image: radial-gradient(circle, rgba(19,53,121,.55) 1.4px, transparent 1.6px);
  }
  .dot-cluster.sm { width: 80px; height: 64px; }
  .dot-cluster.lg { width: 128px; height: 96px; }

  /* texture (full-bleed) — keep subtle */
  .intro > .dots,
  .sol > .dots,
  .science > .dots,
  .about > .dots,
  .why::before {
    opacity: .20 !important;
  }

  .intro { padding: 100px 0; background: var(--paper); position: relative; overflow: hidden; }
  .intro > .dots {
    position: absolute; inset: 0;
    background-image: radial-gradient(rgba(179,23,57,.10) 1px, transparent 1px);
    background-size: 24px 24px; opacity: .45; pointer-events: none; z-index: 1;
  }
  .intro::before {
    content: ""; position: absolute; right: -200px; top: -100px; width: 500px; height: 500px;
    transform: rotate(45deg); border: 1px solid rgba(179,23,57,.1);
  }
  .intro::after {
    content: ""; position: absolute; right: -120px; top: -40px; width: 300px; height: 300px;
    transform: rotate(45deg); background: rgba(179,23,57,.03);
  }
  .intro-grid { position: relative; z-index: 3; display: grid; grid-template-columns: 1fr 1.1fr; gap: 80px; align-items: start; }
  .section-eyebrow {
    display: inline-flex; align-items: center; gap: 14px;
    font-size: 11px; letter-spacing: 0.30em; text-transform: uppercase; font-weight: 700;
    color: var(--rosso); margin-bottom: 22px;
  }
  .section-eyebrow::before { content: ""; width: 32px; height: 2px; background: var(--rosso); }
  .section-eyebrow.on-dark { color: #fff; }
  .section-eyebrow.on-dark::before { background: #fff; }
  .intro h2 {
    font-weight: 300; font-size: 44px; line-height: 1.05; letter-spacing: -0.012em;
    color: var(--blu); margin-bottom: 28px;
  }
  .intro h2 b { font-weight: 700; color: var(--rosso); }
  .intro h2 em { font-style: italic; font-family: var(--serif); font-weight: 400; color: var(--blu); }
  .intro p { font-size: 16px; line-height: 1.7; color: var(--body); margin-bottom: 18px; max-width: 56ch; }
  .intro p b { font-weight: 700; color: var(--blu); }
  .bullets { display: flex; flex-direction: column; gap: 18px; margin-top: 28px; }
  .bullet { display: flex; gap: 18px; align-items: flex-start; }
  .bullet .dot {
    width: 10px; height: 10px; transform: rotate(45deg); background: var(--rosso);
    margin-top: 8px; flex-shrink: 0;
  }
  .bullet:nth-child(2) .dot { background: var(--rosso-bright); }
  .bullet:nth-child(3) .dot { background: var(--rosso-deep); }
  .bullet p { font-size: 15px; line-height: 1.55; color: var(--body); margin: 0; }
  .bullet b { color: var(--blu); font-weight: 700; }

  /* ───────────── WHY (manifest rows) ───────────── */
  .why {
    padding: 100px 0 110px; position: relative; overflow: hidden;
    background: linear-gradient(180deg, #faf6f5 0%, #f3eceb 100%);
    box-shadow: inset 0 30px 60px -40px rgba(179,23,57,.15);
  }
  .why::before {
    content: ""; position: absolute; inset: 0; z-index: 0;
    background-image: radial-gradient(rgba(179,23,57,.10) 1px, transparent 1px);
    background-size: 24px 24px; opacity: .4;
  }
  .why::after {
    content: ""; position: absolute; right: -160px; top: 40%; width: 360px; height: 360px;
    transform: rotate(45deg); border: 1px solid rgba(179,23,57,.18);
  }
  .why-head {
    position: relative; z-index: 3;
    display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: end;
    max-width: 1280px; margin: 0 auto 56px; padding: 0 56px;
  }
  .why-head h2 {
    font-weight: 300; font-size: 52px; line-height: 1.04; letter-spacing: -0.015em;
    color: var(--blu); max-width: 16ch;
  }
  .why-head h2 b { font-weight: 700; color: var(--rosso); }
  .why-head h2 em { font-style: italic; font-family: var(--serif); font-weight: 400; color: var(--blu); }
  .why-head .head-side p {
    font-size: 16px; line-height: 1.6; color: var(--body); max-width: 44ch;
  }
  .why-head .head-side p b { color: var(--blu); font-weight: 700; }

  .why-rows {
    position: relative; z-index: 3;
    border-top: 1px solid rgba(179,23,57,.22);
  }
  .why-row {
    display: grid;
    grid-template-columns: 140px 1fr 320px;
    gap: 56px;
    align-items: center;
    padding: 48px 0;
    border-bottom: 1px solid rgba(179,23,57,.22);
    position: relative;
    transition: background .25s ease;
  }
  .why-row:hover { background: rgba(255,255,255,.4); }
  .why-row .big-n {
    font-family: var(--gill); font-weight: 300;
    font-size: 110px; line-height: 1; letter-spacing: -0.04em;
    color: var(--rosso);
    text-align: right;
    padding-right: 8px;
  }
  .why-row .big-n sup {
    font-family: var(--mono); font-size: 12px;
    letter-spacing: 0.18em; font-weight: 700;
    vertical-align: top; margin-left: 4px;
    color: var(--rosso); opacity: .65;
  }
  .why-row:nth-child(2) .big-n { color: var(--rosso-bright); }
  .why-row:nth-child(2) .big-n sup { color: var(--rosso-bright); }
  .why-row:nth-child(3) .big-n { color: var(--rosso-deep); }
  .why-row:nth-child(3) .big-n sup { color: var(--rosso-deep); }
  .why-row .content { max-width: 56ch; }
  .why-row .tag {
    display: inline-block;
    font-family: var(--mono); font-size: 11px; letter-spacing: 0.20em;
    text-transform: uppercase; color: var(--rosso); font-weight: 700;
    margin-bottom: 14px;
  }
  .why-row h3 {
    font-family: var(--gill); font-weight: 700;
    font-size: 32px; line-height: 1.1; color: var(--blu);
    letter-spacing: -0.012em; margin-bottom: 14px;
  }
  .why-row h3 em { font-style: italic; font-family: var(--serif); font-weight: 400; color: var(--rosso); }
  .why-row p {
    font-size: 15.5px; line-height: 1.65; color: var(--body); margin-bottom: 18px;
  }
  .why-row .meta {
    display: inline-flex; align-items: center; gap: 10px;
    font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em;
    text-transform: uppercase; color: var(--muted);
    padding-top: 14px; border-top: 1px solid var(--rule);
  }
  .why-row .meta b { color: var(--blu); font-weight: 700; }
  .why-row .meta::before {
    content: ""; width: 8px; height: 8px; transform: rotate(45deg);
    background: var(--rosso); display: inline-block;
  }
  .why-row:nth-child(2) .meta::before { background: var(--rosso-bright); }
  .why-row:nth-child(3) .meta::before { background: var(--rosso-deep); }
  /* visual cluster on the right */
  .why-row .visual {
    position: relative; height: 200px; width: 100%;
  }
  .why-row .visual .rh {
    position: absolute; transform: rotate(45deg);
  }
  .why-row .visual .rh.r1 {
    width: 130px; height: 130px; top: 35px; left: 40px;
    background:
      radial-gradient(circle at 30% 28%, #df3358 0%, transparent 60%),
      linear-gradient(135deg, #d51d44 0%, var(--rosso) 60%, var(--rosso-deep) 100%);
    box-shadow:
      0 20px 40px -10px rgba(179,23,57,.40),
      inset 0 0 30px rgba(255,255,255,.10),
      inset 0 2px 0 rgba(255,255,255,.20);
  }
  .why-row .visual .rh.r2 {
    width: 70px; height: 70px; top: 25px; right: 50px;
    background: rgba(255,255,255,.6);
    border: 1.5px solid var(--rosso);
  }
  .why-row .visual .rh.r3 {
    width: 56px; height: 56px; bottom: 18px; right: 24px;
    background:
      linear-gradient(135deg, var(--rosso-deep) 0%, #4a0816 100%);
  }
  .why-row .visual .label-stamp {
    position: absolute; left: 105px; top: 100px;
    transform: translate(-50%, -50%);
    font-family: var(--mono); font-size: 9px; letter-spacing: 0.14em;
    text-transform: uppercase; color: #fff; font-weight: 700;
    z-index: 2; text-align: center; line-height: 1.35;
    width: 90px; pointer-events: none;
  }
  .why-row .visual .label-stamp b { display: block; font-size: 16px; letter-spacing: 0.10em; margin-bottom: 3px; }
  /* variant per row */
  .why-row:nth-child(2) .visual .rh.r1 {
    background:
      radial-gradient(circle at 30% 28%, #ff5b80 0%, transparent 60%),
      linear-gradient(135deg, #e72757 0%, var(--rosso-bright) 60%, var(--rosso) 100%);
  }
  .why-row:nth-child(2) .visual .rh.r2 { border-color: var(--rosso-bright); }
  .why-row:nth-child(3) .visual .rh.r1 {
    background:
      radial-gradient(circle at 30% 28%, #b32545 0%, transparent 60%),
      linear-gradient(135deg, var(--rosso) 0%, var(--rosso-deep) 60%, #4a0c1d 100%);
  }
  .why-row:nth-child(3) .visual .rh.r2 { border-color: var(--rosso-deep); }

  /* ───────────── SOLUZIONI (with tabs + pack-mock) ───────────── */
  .sol { padding: 110px 0; background: var(--paper); position: relative; overflow: hidden; }
  .sol > .dots {
    position: absolute; inset: 0;
    background-image: radial-gradient(rgba(179,23,57,.10) 1px, transparent 1px);
    background-size: 24px 24px; opacity: .40; pointer-events: none; z-index: 1;
  }
  .sol .wrap { position: relative; z-index: 2; }
  .sol-head { text-align: center; max-width: 75ch; margin: 0 auto 40px; }
  .sol-head .section-eyebrow { justify-content: center; }
  .sol-head h2 {
    font-weight: 300; font-size: 50px; line-height: 1.05; letter-spacing: -0.015em;
    color: var(--blu); margin-bottom: 16px;
  }
  .sol-head h2 b { font-weight: 700; color: var(--rosso); }
  .sol-head h2 em { font-style: italic; font-family: var(--serif); font-weight: 400; color: var(--blu); }
  .sol-head p { font-size: 16px; line-height: 1.55; color: var(--muted); }

  .tabs {
    display: flex; gap: 0; justify-content: center; margin-bottom: 56px;
    border-bottom: 1px solid var(--rule);
  }
  .tabs button {
    background: transparent; border: 0;
    padding: 16px 26px;
    font-family: var(--mono); font-size: 11.5px; letter-spacing: 0.18em;
    text-transform: uppercase; font-weight: 700; color: var(--muted);
    position: relative; cursor: pointer;
    transition: color .2s ease;
  }
  .tabs button:hover { color: var(--blu); }
  .tabs button.on { color: var(--rosso); }
  .tabs button.on::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px;
    background: var(--rosso);
  }

  .sol-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
  .prod {
    background: var(--paper);
    border: 1px solid var(--rule);
    border-top: 3px solid var(--rosso);
    display: flex; flex-direction: column;
    transition: all .25s ease;
    overflow: hidden;
  }
  .prod:nth-child(1) { border-top-color: var(--reuteri-blue); }
  .prod:nth-child(2) { border-top-color: var(--reuteri-gold); }
  .prod:nth-child(3) { border-top-color: var(--reuteri-purple); }
  .prod:hover {
    transform: translateY(-6px);
    box-shadow: 0 30px 50px -16px rgba(179,23,57,.20), 0 8px 20px -8px rgba(0,0,0,.06);
  }
  /* pack-shot area */
  .prod .pack-area {
    position: relative;
    aspect-ratio: 4 / 3;
    background:
      radial-gradient(circle at 50% 50%, rgba(255,255,255,.45) 0%, transparent 60%),
      linear-gradient(135deg, #e1edf6 0%, #b7d4ea 100%);
    border-bottom: 1px solid var(--rule);
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
  }
  .prod:nth-child(2) .pack-area {
    background:
      radial-gradient(circle at 50% 50%, rgba(255,255,255,.45) 0%, transparent 60%),
      linear-gradient(135deg, #faf0d4 0%, #edd092 100%);
  }
  .prod:nth-child(3) .pack-area {
    background:
      radial-gradient(circle at 50% 50%, rgba(255,255,255,.45) 0%, transparent 60%),
      linear-gradient(135deg, #efe1f0 0%, #d2b2d4 100%);
  }
  .prod .pack-area::before {
    content: ""; position: absolute; inset: 0;
    background-image: radial-gradient(rgba(2,97,166,.20) 0.8px, transparent 0.8px);
    background-size: 18px 18px; opacity: .4; pointer-events: none;
  }
  .prod:nth-child(2) .pack-area::before { background-image: radial-gradient(rgba(224,157,24,.22) 0.8px, transparent 0.8px); }
  .prod:nth-child(3) .pack-area::before { background-image: radial-gradient(rgba(142,79,146,.22) 0.8px, transparent 0.8px); }
  /* pack mock */
  .pack-mock {
    width: 48%; height: 78%;
    background: #fff;
    border: 1px solid var(--ink);
    box-shadow: 0 22px 40px -10px rgba(80,10,20,.30), 0 6px 14px -6px rgba(0,0,0,.10);
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 6px; padding: 18px;
    position: relative; z-index: 2;
  }
  .pack-mock .stripe {
    width: 36px; height: 6px; background: var(--reuteri-blue); margin-bottom: 8px;
  }
  .prod:nth-child(2) .pack-mock .stripe { background: var(--reuteri-gold); }
  .prod:nth-child(3) .pack-mock .stripe { background: var(--reuteri-purple); }
  .pack-mock .pack-brand {
    font-family: var(--mono); font-size: 9px; letter-spacing: 0.22em;
    text-transform: uppercase; color: var(--reuteri-blue); font-weight: 700;
  }
  .prod:nth-child(2) .pack-mock .pack-brand { color: var(--reuteri-gold); }
  .prod:nth-child(3) .pack-mock .pack-brand { color: var(--reuteri-purple); }
  .pack-mock .pack-title {
    font-family: var(--gill); font-size: 26px; font-weight: 700; color: var(--blu);
    letter-spacing: -0.01em; line-height: 1; text-align: center;
  }
  .pack-mock .pack-sub {
    font-family: var(--mono); font-size: 8.5px; letter-spacing: 0.16em;
    text-transform: uppercase; color: var(--muted); text-align: center;
  }
  .prod:nth-child(2) .pack-mock .pack-dmd { background: var(--reuteri-gold); }
  .prod:nth-child(3) .pack-mock .pack-dmd { background: var(--reuteri-purple); }
  .pack-mock .pack-dmd {
    width: 12px; height: 12px; transform: rotate(45deg);
    background: var(--reuteri-blue); margin-top: 4px;
  }

  .prod .body {
    padding: 28px 28px 30px;
    display: flex; flex-direction: column; flex: 1;
  }
  .prod .tag {
    font-family: var(--mono); font-size: 10px; color: var(--rosso); font-weight: 700;
    letter-spacing: 0.18em; text-transform: uppercase; margin-bottom: 14px;
  }
  .prod .species { display: flex; gap: 8px; margin-bottom: 18px; flex-wrap: wrap; }
  .prod .chip {
    padding: 4px 10px; border: 1px solid rgba(179,23,57,.35); color: var(--rosso);
    font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase;
  }
  .prod h3 {
    font-weight: 700; font-size: 24px; line-height: 1.1; color: var(--blu); margin-bottom: 10px;
    letter-spacing: -0.01em;
  }
  .prod .dsm {
    font-family: var(--mono); font-size: 11.5px; color: var(--muted); margin-bottom: 16px;
  }
  .prod p { font-size: 14px; line-height: 1.6; color: var(--body); flex: 1; margin-bottom: 20px; }
  .prod .link {
    font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 700;
    color: var(--rosso); border-bottom: 1px solid var(--rosso); padding-bottom: 4px;
    width: fit-content;
  }

  /* ───────────── SCIENZA (new from C) ───────────── */
  .science {
    padding: 110px 0; position: relative; overflow: hidden;
    background: linear-gradient(180deg, #f8f3f1 0%, #efe5e3 100%);
    border-top: 1px solid var(--rule);
  }
  .science > .dots {
    position: absolute; inset: 0;
    background-image: radial-gradient(rgba(179,23,57,.13) 1px, transparent 1px);
    background-size: 22px 22px; opacity: .40; pointer-events: none; z-index: 1;
  }
  .science::before {
    content: ""; position: absolute; left: -240px; bottom: -200px; width: 560px; height: 560px;
    transform: rotate(45deg); border: 1px solid rgba(179,23,57,.10);
  }
  .science::after {
    content: ""; position: absolute; right: -150px; top: -100px; width: 380px; height: 380px;
    transform: rotate(45deg); background: rgba(179,23,57,.04);
  }
  .science .grid {
    position: relative; z-index: 3;
    display: grid; grid-template-columns: 1fr 1.3fr; gap: 80px; align-items: start;
  }
  .science h2 {
    font-weight: 300; font-size: 44px; line-height: 1.04;
    letter-spacing: -0.018em; color: var(--blu); margin-bottom: 22px;
    max-width: 14ch;
  }
  .science h2 b { font-weight: 700; color: var(--rosso); }
  .science h2 em { font-style: italic; font-family: var(--serif); font-weight: 400; color: var(--blu); }
  .science .lede {
    font-size: 16px; line-height: 1.65; color: var(--body); margin-bottom: 24px; max-width: 38ch;
  }
  .science .lede b { color: var(--blu); font-weight: 700; }
  .science .bib-link {
    display: inline-flex; align-items: center; gap: 10px;
    font-family: var(--mono); font-size: 11px; letter-spacing: 0.18em;
    text-transform: uppercase; color: var(--rosso); font-weight: 700;
    border-bottom: 1.5px solid var(--rosso); padding-bottom: 4px;
  }
  .science .studies { display: flex; flex-direction: column; }
  .science .study {
    padding: 24px 0; border-top: 1px solid rgba(179,23,57,.18);
    display: grid; grid-template-columns: 70px 1fr 40px; gap: 20px; align-items: start;
    transition: padding .25s ease;
  }
  .science .study:last-child { border-bottom: 1px solid rgba(179,23,57,.18); }
  .science .study:hover { padding-left: 12px; }
  .science .study .n {
    font-family: var(--mono); font-size: 11px; letter-spacing: 0.18em;
    color: var(--rosso); font-weight: 700;
  }
  .science .study h4 {
    font-family: var(--gill); font-weight: 700; font-size: 17px; line-height: 1.35; color: var(--blu);
    letter-spacing: -0.005em; margin-bottom: 6px;
  }
  .science .study .meta {
    font-family: var(--serif); font-style: italic; font-size: 13.5px; color: var(--muted);
  }
  .science .study .arr {
    width: 36px; height: 36px; border: 1px solid var(--rosso);
    display: flex; align-items: center; justify-content: center; color: var(--rosso);
    font-family: var(--mono); font-size: 14px; font-weight: 700;
    transition: all .2s ease;
  }
  .science .study:hover .arr { background: var(--rosso); color: #fff; }
  .science .studies-pager {
    display: flex; align-items: center; gap: 16px;
    margin-top: 6px; padding-top: 20px; border-top: 1px solid rgba(179,23,57,.18);
  }
  .science .studies-pager button {
    width: 42px; height: 42px; border: 1px solid rgba(179,23,57,.32);
    background: transparent; color: var(--rosso); border-radius: 50%; cursor: pointer;
    font-family: var(--mono); font-size: 15px; line-height: 1;
    transition: background .2s ease, color .2s ease, opacity .2s ease;
  }
  .science .studies-pager button:hover:not(:disabled) { background: var(--rosso); color: #fff; }
  .science .studies-pager button:disabled { opacity: .3; cursor: default; }
  .science .studies-pager .pg-ind {
    font-family: var(--mono); font-size: 11px; letter-spacing: 0.18em; color: var(--blu);
  }
  .science .studies-pager .pg-ind b { color: var(--rosso); }

  /* ───────────── QUALITÀ (rosso band) ───────────── */
  .quality {
    padding: 110px 0; position: relative; overflow: hidden; color: #fff;
    background:
      radial-gradient(ellipse at 30% 35%, rgba(120,30,60,.4) 0%, transparent 55%),
      linear-gradient(135deg, #5a0d22 0%, var(--rosso) 50%, var(--rosso-deep) 100%);
  }
  .quality::before {
    content: ""; position: absolute; inset: 0; z-index: 0;
    background-image: radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 3px 3px; opacity: .4; mix-blend-mode: overlay;
  }
  .quality::after {
    content: ""; position: absolute; right: -200px; top: -100px; width: 460px; height: 460px;
    transform: rotate(45deg); border: 1px solid rgba(255,255,255,.12);
  }
  .quality-grid {
    position: relative; z-index: 3;
    display: grid; grid-template-columns: 1fr 1.05fr; gap: 80px; align-items: center;
  }
  .quality h2 {
    font-weight: 300; font-size: 46px; line-height: 1.05; letter-spacing: -0.012em;
    color: #fff; margin-bottom: 22px;
  }
  .quality h2 b { font-weight: 700; }
  .quality h2 em { font-style: italic; font-family: var(--serif); font-weight: 400; }
  .quality .lede {
    font-size: 16px; line-height: 1.6; color: rgba(255,255,255,.85); margin-bottom: 28px;
    max-width: 50ch;
  }
  .quality-list { display: flex; flex-direction: column; gap: 0; }
  .quality-list .item {
    display: grid; grid-template-columns: 32px 1fr; gap: 18px;
    padding: 22px 0; border-bottom: 1px solid rgba(255,255,255,.18);
  }
  .quality-list .item:first-child { border-top: 1px solid rgba(255,255,255,.18); }
  .quality-list .item .n {
    font-family: var(--mono); font-size: 11px; color: rgba(255,255,255,.5); font-weight: 700;
    letter-spacing: 0.14em;
  }
  .quality-list .item h4 { font-weight: 700; font-size: 17px; margin-bottom: 6px; color: #fff; }
  .quality-list .item p { font-size: 14px; line-height: 1.55; color: rgba(255,255,255,.78); }

  /* ───────────── ABOUT (with 1987 year visual from C) ───────────── */
  .about {
    padding: 110px 0; background: var(--paper); position: relative; overflow: hidden;
  }
  .about > .dots {
    position: absolute; inset: 0;
    background-image: radial-gradient(rgba(179,23,57,.10) 1px, transparent 1px);
    background-size: 24px 24px; opacity: .40; pointer-events: none; z-index: 1;
  }
  .about::before {
    content: ""; position: absolute; right: -100px; bottom: -100px; width: 380px; height: 380px;
    transform: rotate(45deg); border: 1px solid rgba(19,53,121,.15);
  }
  .about-grid { position: relative; z-index: 3; display: grid; grid-template-columns: 1fr 1.1fr; gap: 80px; align-items: center; }
  .year-visual {
    position: relative; aspect-ratio: 4 / 5;
    background:
      linear-gradient(135deg, #f7f1f0 0%, #ece1df 100%);
    border: 1px solid var(--rule);
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 16px; overflow: hidden;
  }
  .year-visual::before {
    content: ""; position: absolute; inset: 0;
    background-image: radial-gradient(rgba(179,23,57,.10) 0.8px, transparent 0.8px);
    background-size: 20px 20px; opacity: .55; pointer-events: none;
  }
  .year-visual::after {
    content: ""; position: absolute; right: -80px; top: -80px; width: 240px; height: 240px;
    transform: rotate(45deg); border: 1.5px solid rgba(179,23,57,.20);
  }
  .year-visual .est {
    font-family: var(--serif); font-style: italic; font-size: 18px; color: var(--blu);
    position: relative; z-index: 2;
  }
  .year-visual .yr {
    font-family: var(--gill); font-weight: 300; font-size: 160px; line-height: 1; color: var(--rosso);
    letter-spacing: -0.04em;
    position: relative; z-index: 2;
    text-shadow: 0 18px 40px rgba(179,23,57,.18);
  }
  .year-visual .yr b { font-weight: 700; }
  .year-visual .place {
    font-family: var(--mono); font-size: 11px; letter-spacing: 0.24em;
    text-transform: uppercase; color: var(--blu); font-weight: 700;
    position: relative; z-index: 2;
  }
  .year-visual .accent-row {
    position: relative; z-index: 2;
    display: flex; gap: 6px; margin-top: 4px;
  }
  .year-visual .accent-row i {
    width: 12px; height: 12px; transform: rotate(45deg); background: var(--rosso);
  }
  .year-visual .accent-row i:nth-child(2) { background: var(--rosso-bright); }
  .year-visual .accent-row i:nth-child(3) { background: var(--rosso-deep); }

  .about h2 {
    font-weight: 300; font-size: 44px; line-height: 1.05; letter-spacing: -0.012em;
    color: var(--blu); margin-bottom: 22px;
  }
  .about h2 b { font-weight: 700; color: var(--rosso); }
  .about h2 em { font-style: italic; font-family: var(--serif); font-weight: 400; color: var(--blu); }
  .about .since {
    font-family: var(--mono); font-size: 11px; color: var(--rosso); font-weight: 700;
    letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 14px;
  }
  .about p { font-size: 15px; line-height: 1.7; color: var(--body); margin-bottom: 18px; max-width: 56ch; }
  .about p b { font-weight: 700; color: var(--blu); }
  .about .link {
    font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 700;
    color: var(--rosso); border-bottom: 1px solid var(--rosso); padding-bottom: 4px;
    display: inline-block; margin-top: 12px;
  }

  /* ───────────── CTA FINALE ───────────── */
  .cta-sec {
    padding: 120px 0; text-align: center; position: relative;
    background: linear-gradient(135deg, var(--blu-deep) 0%, var(--blu) 100%);
    color: #fff; overflow: hidden;
  }
  .cta-sec::before {
    content: ""; position: absolute; inset: 0;
    background-image: radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px);
    background-size: 3px 3px; opacity: .35; mix-blend-mode: overlay;
  }
  .cta-sec::after {
    content: ""; position: absolute; right: -180px; top: 50%; width: 480px; height: 480px;
    transform: translateY(-50%) rotate(45deg); background: rgba(179,23,57,.18);
    box-shadow: -150px 50px 0 -50px rgba(255,255,255,.06);
  }
  .cta-sec .wrap { position: relative; z-index: 3; }
  .cta-sec .section-eyebrow { justify-content: center; color: #fff; }
  .cta-sec .section-eyebrow::before { background: #fff; }
  .cta-sec h2 {
    font-weight: 300; font-size: 56px; line-height: 1.05; letter-spacing: -0.015em;
    color: #fff; max-width: 22ch; margin: 0 auto 22px;
  }
  .cta-sec h2 b { font-weight: 700; }
  .cta-sec h2 em { font-style: italic; font-family: var(--serif); font-weight: 400; }
  .cta-sec p { font-size: 17px; line-height: 1.55; max-width: 56ch; margin: 0 auto 36px; color: rgba(255,255,255,.85); }
  .cta-sec .btn {
    display: inline-flex; gap: 12px; align-items: center;
    padding: 19px 36px; background: var(--rosso); color: #fff; font-weight: 700;
    font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase;
    border: 1.5px solid var(--rosso);
    box-shadow: 0 16px 32px -8px rgba(179,23,57,.55);
    transition: all .2s ease;
  }
  .cta-sec .btn:hover { background: transparent; transform: translateY(-2px); }

  /* ───────────── FOOTER ───────────── */
  .foot {
    background: var(--blu-deep); color: #fff; padding: 70px 0 28px; position: relative; overflow: hidden;
  }
  .foot::before {
    content: ""; position: absolute; left: -180px; top: -180px; width: 420px; height: 420px;
    transform: rotate(45deg); background: rgba(179,23,57,.08);
  }
  .foot .grid {
    position: relative; z-index: 3;
    display: grid; grid-template-columns: 1.4fr 1fr 1.2fr 1fr; gap: 48px;
    padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,.15);
  }
  .foot .brand-block img { height: 44px; margin-bottom: 20px; }
  .foot .brand-block .vert {
    display: inline-block; padding: 4px 10px; background: var(--rosso); color: #fff;
    font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 700;
    margin-bottom: 18px;
  }
  .foot .brand-block p { font-size: 13px; line-height: 1.55; color: rgba(255,255,255,.7); max-width: 32ch; }
  .foot h5 {
    font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: #fff; font-weight: 700;
    margin-bottom: 18px; padding-bottom: 12px; border-bottom: 2px solid var(--rosso); width: fit-content;
  }
  .foot ul li, .foot .info { color: rgba(255,255,255,.78); font-size: 13px; line-height: 1.7; }
  .foot .info b { color: #fff; font-weight: 700; }
  .foot .legal {
    padding-top: 24px; display: flex; justify-content: space-between; gap: 30px; flex-wrap: wrap;
    font-size: 11px; color: rgba(255,255,255,.5); font-family: var(--mono); letter-spacing: 0.06em;
    position: relative; z-index: 3;
  }

/* MOBILE-INJECTED */

  /* ───────────────────────── MOBILE / TABLET ───────────────────────── */
  @media (max-width: 980px) {
    .wrap { padding: 0 24px; }

    /* NAV */
    .nav .row { padding: 14px 20px; }
    .nav.scrolled .row { padding: 10px 20px; }
    .nav .brand img.wordmark { height: 40px; }
    .nav.scrolled .brand img.wordmark { height: 36px; }
    .nav .brand img.biome-mark { height: 46px; }
    .nav.scrolled .brand img.biome-mark { height: 40px; }
    .nav .brand .divider-v { height: 26px; }
    .nav .burger { width: 40px; height: 40px; }

    /* Mega menu */
    .mega-menu { width: 100%; }
    .mega-inner { padding: 24px 24px 24px; }
    .mega-list > li > a, .mega-list > li > .sub-toggle { font-size: 24px; padding: 14px 0; }

    /* DIVIDER */
    .divider { padding: 12px 20px; gap: 12px; font-size: 10px; flex-wrap: wrap; }
    .divider .line { display: none; }

    /* HERO (home) */
    .hero { padding: 0 0 50px; }
    .hero-grid { grid-template-columns: 1fr !important; gap: 36px !important; padding-top: 100px !important; }
    .hero h1 { font-size: 38px !important; max-width: 100% !important; }
    .hero .lede { font-size: 16px; max-width: 100%; }
    .hero-visual { max-width: 320px; margin: 0 auto; }
    .hero-floor { margin: 28px 24px 0; flex-direction: column; gap: 8px; align-items: flex-start; font-size: 10px; }

    /* BADGES strip */
    .badges .grid { grid-template-columns: 1fr 1fr; }
    .badges .b { padding: 20px 22px; border-right: 1px solid rgba(255,255,255,.14); }
    .badges .b:nth-child(2) { border-right: 0; }
    .badges .b:nth-child(1), .badges .b:nth-child(2) { border-bottom: 1px solid rgba(255,255,255,.14); }
    .badges .b .v { font-size: 16px; }

    /* INTRO (home) */
    .intro { padding: 60px 0; }
    .intro-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
    .intro h2 { font-size: 30px !important; }

    /* WHY (home rows) */
    .why { padding: 60px 0 70px; }
    .why-head { grid-template-columns: 1fr !important; gap: 24px !important; padding: 0 24px !important; margin-bottom: 32px !important; }
    .why-head h2 { font-size: 32px !important; max-width: 100% !important; }
    .why-row {
      grid-template-columns: 1fr !important; gap: 16px !important;
      padding: 32px 0 !important;
    }
    .why-row .big-n { font-size: 64px !important; text-align: left !important; padding-right: 0 !important; }
    .why-row h3 { font-size: 24px !important; }
    .why-row .visual { display: none !important; }

    /* SOLUZIONI / GAMMA */
    .sol { padding: 60px 0; }
    .sol-head h2 { font-size: 30px !important; }
    .sol-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
    .tabs { flex-wrap: wrap; }
    .tabs button { padding: 12px 14px; font-size: 10.5px; }

    /* SCIENZA */
    .science { padding: 60px 0; }
    .science .grid { grid-template-columns: 1fr !important; gap: 32px !important; }
    .science h2 { font-size: 30px !important; max-width: 100% !important; }
    .study { grid-template-columns: 40px 1fr 36px !important; gap: 12px !important; padding: 18px 0 !important; }
    .study h4 { font-size: 15px !important; }
    .study .meta { font-size: 12.5px !important; }

    /* QUALITY */
    .quality { padding: 60px 0; }
    .quality-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
    .quality h2 { font-size: 30px !important; }
    .quality-list .item { grid-template-columns: 28px 1fr !important; gap: 14px !important; padding: 16px 0 !important; }

    /* ABOUT */
    .about { padding: 60px 0; }
    .about-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
    .about h2 { font-size: 30px !important; }
    .year-visual { aspect-ratio: auto; padding: 40px 24px; }
    .year-visual .yr { font-size: 100px !important; }

    /* CTA */
    .cta-sec { padding: 60px 0; }
    .cta-sec h2 { font-size: 32px !important; }
    .cta-sec p { font-size: 15px; }
    .cta-sec .btn { padding: 16px 24px; font-size: 11px; }

    /* FOOTER */
    .foot { padding: 50px 0 24px; }
    .foot .grid { grid-template-columns: 1fr 1fr !important; gap: 32px !important; }
    .foot .brand-block { grid-column: 1 / -1; }
    .foot .legal { font-size: 10px; }

    /* dot-cluster — hide on mobile */
    .dot-cluster { display: none; }

    /* ───────────── PRODUCT pages ───────────── */
    .p-hero { padding: 100px 0 60px; }
    .p-hero-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
    .p-hero h1 { font-size: 48px !important; }
    .p-hero .lede { font-size: 15.5px; }
    .p-visual { max-width: 320px; margin: 0 auto; }
    .p-visual-caption { max-width: 320px; flex-wrap: wrap; gap: 10px; font-size: 9.5px; }
    .p-ctas { flex-direction: column; align-items: stretch; }
    .btn-primary, .btn-secondary { width: 100%; justify-content: center; }
    .trust-list { gap: 8px; }
    .trust-list .t { font-size: 10px; padding: 8px 12px; }
    .crumbs { font-size: 10px; flex-wrap: wrap; gap: 6px; }

    .spec-strip .grid { grid-template-columns: 1fr 1fr; }
    .spec-strip .b { padding: 20px 22px; }
    .spec-strip .b:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.14); }
    .spec-strip .b:nth-child(2) { border-right: 0; }
    .spec-strip .b:nth-child(1), .spec-strip .b:nth-child(2) { border-bottom: 1px solid rgba(255,255,255,.14); }
    .spec-strip .b .v { font-size: 18px; }

    .benefits { padding: 60px 0; }
    .benefits .head { grid-template-columns: 1fr !important; gap: 18px !important; margin-bottom: 36px !important; }
    .benefits .head h2 { font-size: 30px !important; max-width: 100% !important; }
    .ben-grid { grid-template-columns: 1fr !important; }

    .tech { padding: 60px 0; }
    .tech .grid { grid-template-columns: 1fr !important; gap: 32px !important; }
    .tech h2 { font-size: 30px !important; max-width: 100% !important; }
    .spec-table .row { grid-template-columns: 1fr !important; }
    .spec-table .row .k { border-right: 0; border-bottom: 1px solid var(--rule); padding: 12px 18px; }
    .spec-table .row .v { padding: 12px 18px; }

    .apps { padding: 60px 0; }
    .apps .grid { grid-template-columns: 1fr !important; gap: 32px !important; }
    .apps h2 { font-size: 30px !important; }
    .apps-list { grid-template-columns: 1fr !important; }

    .studies { padding: 60px 0; }
    .studies .grid { grid-template-columns: 1fr !important; gap: 32px !important; }
    .studies h2 { font-size: 30px !important; max-width: 100% !important; }

    .p-cta { padding: 50px 0 !important; }
    .p-cta h2 { font-size: 30px !important; }
    .p-cta p { font-size: 15px; }

    .disclaimer { padding: 28px 0; }
    .disclaimer p { font-size: 11px; }

    /* ───────────── Partnership ───────────── */
    .part-hero { padding: 100px 0 60px; }
    .part-hero-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
    .part-hero h1 { font-size: 44px !important; max-width: 100% !important; }
    .part-hero .lede { font-size: 16px; }
    .part-hero-visual { max-width: 320px; margin: 0 auto; }
    .part-hero .ctas { flex-direction: column; align-items: stretch; }
    .part-hero .btn-primary, .part-hero .btn-secondary { width: 100%; justify-content: center; }

    .part-intro { padding: 60px 0; }
    .part-intro .grid { grid-template-columns: 1fr !important; gap: 32px !important; }
    .part-intro h2 { font-size: 30px !important; }

    .levels { padding: 60px 0 70px; }
    .levels .head { grid-template-columns: 1fr !important; gap: 18px !important; margin-bottom: 36px !important; }
    .levels .head h2 { font-size: 30px !important; max-width: 100% !important; }
    .levels-grid { grid-template-columns: 1fr !important; gap: 18px !important; }

    .services { padding: 60px 0; }
    .services .head h2 { font-size: 30px !important; }
    .serv-grid { grid-template-columns: 1fr 1fr; }

    .models { padding: 60px 0; }
    .models .head h2 { font-size: 30px !important; }
    .models-grid { grid-template-columns: 1fr !important; gap: 16px !important; }

    /* ───────────── Contatti ───────────── */
    .ct-hero { padding: 100px 0 60px; }
    .ct-hero-grid { grid-template-columns: 1fr !important; gap: 36px !important; }
    .ct-hero h1 { font-size: 44px !important; }
    .ct-hero .lede { font-size: 15.5px; }
    .ct-hq-card { padding: 32px 28px; }
    .ct-hq-card .name { font-size: 26px; }
    .ct-hq-card .pin { width: 50px; height: 50px; bottom: 22px; right: 22px; }
    .ct-hq-card .pin span { font-size: 20px; }

    .ct-map { padding: 60px 0; }
    .ct-map .head { grid-template-columns: 1fr !important; gap: 18px !important; margin-bottom: 36px !important; }
    .ct-map h2 { font-size: 30px !important; max-width: 100% !important; }
    .map-frame { grid-template-columns: 1fr !important; gap: 20px !important; }
    .map-big { padding: 24px 22px; }
    .map-big .value { font-size: 100px !important; }
    .countries { min-height: 380px; padding: 22px; }
    .cc { min-width: 34px; height: 34px; font-size: 10.5px; padding: 0 6px; }
    .cc.hq { min-width: 50px; height: 50px; font-size: 16px; }
    .countries::after { font-size: 9px; bottom: 12px; right: 14px; }

    .ct-form { padding: 60px 0; }
    .ct-form .grid { grid-template-columns: 1fr !important; gap: 36px !important; }
    .ct-form .intro h2 { font-size: 30px !important; max-width: 100% !important; }
    form.form { grid-template-columns: 1fr !important; padding: 24px 22px; gap: 16px 18px; }
    form.form .field.full { grid-column: 1 / -1; }
    form.form .submit-row { flex-direction: column; align-items: stretch; }
    form.form .submit-btn { width: 100%; justify-content: center; }
  }

  /* ───────────── PHONE (≤ 600px) ───────────── */
  @media (max-width: 600px) {
    .wrap { padding: 0 18px; }

    /* Nav: hide wordmark, keep only biome mark to save space */
    .nav .brand img.wordmark { display: none; }
    .nav .brand .divider-v { display: none; }

    /* Hero further reductions */
    .hero h1 { font-size: 32px !important; }
    .p-hero h1 { font-size: 36px !important; }
    .part-hero h1 { font-size: 34px !important; }
    .ct-hero h1 { font-size: 34px !important; }

    /* Badges: 1 col */
    .badges .grid { grid-template-columns: 1fr; }
    .badges .b { border-right: 0 !important; border-bottom: 1px solid rgba(255,255,255,.14); }
    .badges .b:last-child { border-bottom: 0; }

    /* Spec strip: 1 col */
    .spec-strip .grid { grid-template-columns: 1fr; }
    .spec-strip .b { border-right: 0 !important; border-bottom: 1px solid rgba(255,255,255,.14); }
    .spec-strip .b:last-child { border-bottom: 0; }

    /* Foot grid 1 col */
    .foot .grid { grid-template-columns: 1fr !important; }
    .foot .legal { flex-direction: column; gap: 8px; }

    /* Servizi tecnici 1 col on phone */
    .serv-grid { grid-template-columns: 1fr; }

    /* Cards heading downsize */
    .sol-head h2, .why-head h2, .science h2, .quality h2, .about h2,
    .benefits .head h2, .tech h2, .apps h2, .studies h2,
    .part-intro h2, .levels .head h2, .services .head h2, .models .head h2,
    .ct-map h2, .ct-form .intro h2 { font-size: 26px !important; }

    /* Mega menu narrower */
    .mega-list > li > a, .mega-list > li > .sub-toggle { font-size: 20px; }

    /* Divider compact */
    .divider { font-size: 9.5px; gap: 10px; }
    .divider .accent { width: 24px; }

    /* Year visual scale */
    .year-visual .yr { font-size: 80px !important; }

    /* Map countries: smaller cells */
    .cc { min-width: 30px; height: 30px; font-size: 9.5px; }
    .cc.hq { min-width: 44px; height: 44px; font-size: 14px; }
    .countries { min-height: 340px; padding: 16px; }
  }
/* MOBILE-INJECTED */

/* ACCENT-INJECTED */
/* ACCENT-INJECTED */


/* PHOTO-FEATURE */
  .photo-feature {
    position: relative; min-height: 480px;
    display: flex; align-items: center;
    overflow: hidden;
    border-top: 3px solid var(--rosso);
  }
  .photo-feature .pf-bg {
    position: absolute; inset: 0; z-index: 0;
    background-size: cover; background-position: center;
    transform: scale(1.04);
  }
  .photo-feature .pf-ov { position: absolute; inset: 0; z-index: 1; }
  .photo-feature.tint-red .pf-ov {
    background: linear-gradient(90deg, rgba(74,12,29,.92) 0%, rgba(122,12,37,.72) 42%, rgba(122,12,37,.20) 72%, rgba(122,12,37,.05) 100%);
  }
  .photo-feature.tint-blu .pf-ov {
    background: linear-gradient(90deg, rgba(8,20,48,.92) 0%, rgba(11,29,68,.74) 42%, rgba(11,29,68,.24) 72%, rgba(11,29,68,.05) 100%);
  }
  .photo-feature .wrap { position: relative; z-index: 2; }
  .photo-feature .pf-inner { max-width: 52ch; color: #fff; }
  .photo-feature .pf-eyebrow {
    display: inline-flex; align-items: center; gap: 14px;
    font-size: 11px; letter-spacing: 0.30em; text-transform: uppercase; font-weight: 700;
    color: #fff; margin-bottom: 20px;
  }
  .photo-feature .pf-eyebrow::before { content: ""; width: 32px; height: 2px; background: #fff; }
  .photo-feature h2 {
    font-family: var(--gill); font-weight: 300;
    font-size: 46px; line-height: 1.04; letter-spacing: -0.018em;
    color: #fff; margin-bottom: 20px; max-width: 18ch;
  }
  .photo-feature h2 b { font-weight: 700; }
  .photo-feature p {
    font-size: 17px; line-height: 1.6; color: rgba(255,255,255,.90);
    max-width: 46ch;
  }
  .photo-feature p b { color: #fff; font-weight: 700; }
  .photo-feature .pf-credit {
    position: absolute; bottom: 16px; right: 24px; z-index: 2;
    font-family: var(--mono); font-size: 9.5px; letter-spacing: 0.16em;
    text-transform: uppercase; color: rgba(255,255,255,.45);
  }
  @media (max-width: 980px) {
    .photo-feature { min-height: 380px; }
    .photo-feature h2 { font-size: 32px; }
    .photo-feature p { font-size: 15px; }
  }
  @media (max-width: 600px) {
    .photo-feature { min-height: 340px; }
    .photo-feature h2 { font-size: 26px; }
  }
/* /PHOTO-FEATURE *//* End custom CSS */