/* ==========================================================================
   DIMAZONE — Sito marketing (landing + piani)
   Design system condiviso
   Tema: strumento diagnostico / telemetria · dark · accent #ff6200
   Type: Saira (display) · Inter (body) · JetBrains Mono (dati/eyebrow)
   ========================================================================== */

:root{

  /* Palette — "asfalto all'alba" */
  --bg:        #0E1116;
  --bg-2:      #141A21;
  --bg-3:      #1A222C;
  --bg-card:   #161D26;
  --line:      #27303C;
  --line-soft: #1F2832;

  --ink:       #EDF1F6;
  --ink-2:     #AEB9C6;
  --ink-3:     #7C8794;

  --accent:    #ff6200;   /* DIMAZONE orange — l'unica nota audace */
  --accent-h:  #ff7a26;
  --accent-dim:#ff620022;
  --green:     #1D9E75;   /* nutrizione */
  --green-dim: #1D9E7522;
  --steel:     #5C95C9;   /* linea dati secondaria (solo nei grafici) */

  --zone1: #4C9A6B;
  --zone2: #6FB85B;
  --zone3: #E3C04B;
  --zone4: #E8893D;
  --zone5: #E1564B;

  /* Type */
  --f-display: "Saira", system-ui, sans-serif;
  --f-body:    "Inter", system-ui, sans-serif;
  --f-mono:    "JetBrains Mono", ui-monospace, monospace;

  /* Misure */
  --maxw: 1180px;
  --radius: 14px;
  --radius-sm: 10px;
  --pad-section: clamp(64px, 9vw, 132px);
  --ease: cubic-bezier(.22,.61,.36,1);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--f-body);
  font-size: 17px;
  line-height: 1.65;
  letter-spacing: .01em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }

::selection { background: var(--accent); color: #1a0d04; }

/* --- Layout helpers --- */
.wrap { width: 100%; max-width: var(--maxw); margin-inline: auto; padding-inline: 24px; }
.section { padding-block: var(--pad-section); position: relative; }
.section--tight { padding-block: clamp(48px, 6vw, 80px); }

.eyebrow {
  font-family: var(--f-mono);
  font-size: 12.5px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--accent);
  margin: 0 0 18px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.eyebrow::before {
  content: "";
  width: 26px; height: 1px;
  background: var(--accent);
  opacity: .8;
}
.eyebrow--green { color: var(--green); }
.eyebrow--green::before { background: var(--green); }
.eyebrow--muted { color: var(--ink-3); }
.eyebrow--muted::before { background: var(--ink-3); }

/* --- Titoli --- */
h1, h2, h3 { font-family: var(--f-display); font-weight: 700; line-height: 1.04; margin: 0; letter-spacing: -.01em; }

.h-display {
  font-size: clamp(40px, 6.4vw, 76px);
  font-weight: 800;
  line-height: .98;
  letter-spacing: -.02em;
}
.h-section {
  font-size: clamp(30px, 4.2vw, 50px);
  font-weight: 700;
  line-height: 1.02;
  max-width: 18ch;
}
.em { color: var(--accent); font-style: italic; }
.em-green { color: var(--green); font-style: italic; }

.lead {
  font-size: clamp(15px, 1.6vw, 18px);
  color: var(--ink-2);
  max-width: 56ch;
  line-height: 1.6;
}

/* --- Bottoni --- */
.btn {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 16px;
  letter-spacing: .01em;
  padding: 14px 24px;
  border-radius: 999px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease);
  white-space: nowrap;
}
.btn:active { transform: translateY(1px); }
.btn--primary { background: var(--accent); color: #190c03; }
.btn--primary:hover { background: var(--accent-h); transform: translateY(-2px); }
.btn--ghost { background: transparent; color: var(--ink); border-color: var(--line); }
.btn--ghost:hover { border-color: var(--accent); color: var(--accent); }
.btn--lg { padding: 17px 30px; font-size: 17.5px; }
.btn .arrow { transition: transform .2s var(--ease); }
.btn:hover .arrow { transform: translateX(3px); }

/* --- Nav --- */
.nav {
  position: sticky; top: 0; z-index: 50;
  background: color-mix(in srgb, var(--bg) 82%, transparent);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line-soft);
}
.nav__inner { display: flex; align-items: center; justify-content: space-between; height: 68px; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 11px; font-family: var(--f-display); font-weight: 800; font-size: 21px; letter-spacing: .02em; }
.brand__mark { width: 30px; height: 30px; flex: none; }
.brand b { color: var(--accent); font-weight: 800; }
.nav__links { display: flex; gap: 30px; align-items: center; }
.nav__links a { font-size: 15px; color: var(--ink-2); transition: color .15s; font-weight: 500; }
.nav__links a:hover { color: var(--ink); }
.nav__cta { display: flex; align-items: center; gap: 14px; }
.nav__login { font-size: 15px; color: var(--ink-2); font-weight: 500; }
.nav__login:hover { color: var(--ink); }
.nav__toggle { display: none; background: none; border: 1px solid var(--line); border-radius: 8px; width: 42px; height: 38px; color: var(--ink); cursor: pointer; }

/* --- Badge fila fiducia --- */
.trust { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 30px; }
.trust span { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--ink-3); font-family: var(--f-mono); letter-spacing: .02em; }
.trust svg { width: 16px; height: 16px; color: var(--accent); flex: none; }

/* --- Strip metriche --- */
.metrics { border-block: 1px solid var(--line-soft); background: var(--bg-2); }
.metrics__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.metric { padding: 34px 26px; border-left: 1px solid var(--line-soft); }
.metric:first-child { border-left: none; }
.metric__num { font-family: var(--f-display); font-weight: 800; font-size: clamp(34px, 4vw, 46px); line-height: 1; color: var(--ink); letter-spacing: -.02em; }
.metric__num b { color: var(--accent); }
.metric__lab { font-size: 13.5px; color: var(--ink-3); margin-top: 9px; line-height: 1.4; }

/* --- Blocco feature (testo + mockup) --- */
.feature { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 6vw, 88px); align-items: center; }
.feature + .feature { margin-top: clamp(72px, 9vw, 128px); }
.feature--rev .feature__media { order: -1; }
.feature__num { font-family: var(--f-mono); font-size: 12.5px; letter-spacing: .2em; color: var(--accent); text-transform: uppercase; margin-bottom: 16px; }
.feature h2 { font-size: clamp(27px, 3.4vw, 42px); margin-bottom: 18px; line-height: 1.05; }
.feature p { color: var(--ink-2); margin: 0 0 22px; max-width: 46ch; }

.checks { list-style: none; padding: 0; margin: 0; display: grid; gap: 13px; }
.checks li { display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; font-size: 13.5px; color: var(--ink-2); }
.checks svg { width: 20px; height: 20px; color: var(--accent); margin-top: 1px; }
.checks--green svg { color: var(--green); }

/* --- Mockup / pannelli strumento --- */
.panel {
  background: linear-gradient(180deg, var(--bg-3), var(--bg-card));
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 20px;
  box-shadow: 0 24px 60px -30px rgba(0,0,0,.8), inset 0 1px 0 rgba(255,255,255,.03);
  position: relative;
  overflow: hidden;
}
.panel__bar { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.panel__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--line); }
.panel__dot--on { background: var(--accent); }
.panel__title { font-family: var(--f-mono); font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); margin-left: auto; }

.readout { font-family: var(--f-mono); font-size: 12px; color: var(--ink-3); letter-spacing: .04em; }
.readout b { color: var(--ink); }
.readout .hot { color: var(--accent); }

/* zone bars */
.zonebars { display: grid; grid-template-columns: repeat(5,1fr); gap: 6px; margin-top: 14px; }
.zonebars > div { height: 46px; border-radius: 6px 6px 3px 3px; position: relative; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 5px; }
.zonebars span { font-family: var(--f-mono); font-size: 9.5px; color: #0c1116; font-weight: 700; }

/* mini calendario */
.weekgrid { display: grid; grid-template-columns: repeat(7,1fr); gap: 6px; }
.weekgrid .day { background: var(--bg-2); border: 1px solid var(--line-soft); border-radius: 8px; min-height: 86px; padding: 7px 6px; }
.weekgrid .dlabel { font-family: var(--f-mono); font-size: 9.5px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .08em; }
.chip { font-size: 10px; border-radius: 5px; padding: 4px 5px; margin-top: 5px; line-height: 1.25; font-weight: 600; }
.chip--key { background: var(--accent-dim); color: var(--accent-h); border: 1px solid #ff620055; }
.chip--easy { background: #5c95c91f; color: #9cc4e6; border: 1px solid #5c95c93a; }
.chip--rest { background: #ffffff0a; color: var(--ink-3); border: 1px dashed var(--line); }
.chip--nut { background: var(--green-dim); color: #5fd4ab; border: 1px solid #1d9e7544; }

/* RPE selector */
.rpe { display: grid; grid-template-columns: repeat(10, 1fr); gap: 4px; margin-top: 6px; }
.rpe > div { aspect-ratio: 1; border-radius: 5px; display: flex; align-items: center; justify-content: center; font-family: var(--f-mono); font-size: 10.5px; font-weight: 700; color: #0c1116; }
.rpe .sel { outline: 2px solid var(--ink); outline-offset: 1px; }

/* badge */
.badge-done { display: inline-flex; align-items: center; gap: 6px; font-family: var(--f-mono); font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--green); background: var(--green-dim); border: 1px solid #1d9e7544; padding: 4px 9px; border-radius: 999px; }

/* griglia 5 pannelli analisi */
.fivepanel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.fivepanel .mini { background: var(--bg-2); border: 1px solid var(--line-soft); border-radius: 7px; padding: 8px; min-height: 58px; }
.fivepanel .mini .k { font-family: var(--f-mono); font-size: 8.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); }
.fivepanel .mini .v { font-family: var(--f-display); font-weight: 700; font-size: 18px; margin-top: 2px; }
.fivepanel .mini .v small { font-size: 10px; color: var(--ink-3); font-weight: 500; }

/* nutrizione card */
.nutcard { border-color: #1d9e7540; }
.nutcard .panel__dot--on { background: var(--green); }
.nut-row { display: flex; justify-content: space-between; align-items: baseline; padding: 9px 0; border-bottom: 1px solid var(--line-soft); }
.nut-row:last-child { border-bottom: none; }
.nut-row .lab { font-size: 13px; color: var(--ink-2); }
.nut-row .val { font-family: var(--f-mono); font-size: 13px; color: #5fd4ab; }

/* --- Confronto problema/soluzione --- */
.versus { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 44px; }
.vcard { border-radius: var(--radius); padding: 30px; border: 1px solid var(--line); }
.vcard--bad { background: var(--bg-2); }
.vcard--good { background: linear-gradient(180deg, #1b130b, var(--bg-card)); border-color: #ff620040; }
.vcard h3 { font-family: var(--f-display); font-size: 21px; margin-bottom: 18px; }
.vcard ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 13px; }
.vcard li { display: grid; grid-template-columns: 22px 1fr; gap: 11px; font-size: 13px; color: var(--ink-2); align-items: start; }
.vcard .ic { width: 20px; height: 20px; margin-top: 1px; }
.vcard--bad .ic { color: var(--zone5); }
.vcard--good .ic { color: var(--accent); }

/* --- Batteria test (Metodo DIMA) --- */
.battery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; margin-top: 40px; }
.tcell { padding: 22px 24px; border-top: 1px solid var(--line-soft); border-left: 1px solid var(--line-soft); display: flex; gap: 16px; align-items: flex-start; transition: background .2s; }
.tcell:nth-child(-n+2) { border-top: none; }
.tcell:nth-child(odd) { border-left: none; }
.tcell:hover { background: var(--bg-2); }
.tcode { font-family: var(--f-mono); font-size: 12px; font-weight: 700; color: var(--accent); border: 1px solid #ff620050; border-radius: 7px; padding: 6px 8px; min-width: 42px; text-align: center; flex: none; letter-spacing: .02em; }
.tinfo h4 { font-family: var(--f-display); font-weight: 600; font-size: 16.5px; margin: 0 0 3px; line-height: 1.2; }
.tinfo p { font-size: 11.5px; color: var(--ink-3); margin: 0; line-height: 1.45; }

/* --- Testimonial --- */
.quotes { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 44px; }
.qcard { background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; display: flex; flex-direction: column; }
.qcard .res { font-family: var(--f-display); font-weight: 700; font-size: 19px; color: var(--accent); margin-bottom: 14px; }
.qcard p { font-size: 13px; color: var(--ink-2); margin: 0 0 22px; flex: 1; }
.qcard .who { display: flex; align-items: center; gap: 12px; }
.avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--bg-3); border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; font-family: var(--f-display); font-weight: 700; font-size: 14px; color: var(--accent); flex: none; }
.qcard .who b { font-size: 14.5px; display: block; font-weight: 600; }
.qcard .who small { font-size: 12.5px; color: var(--ink-3); }

/* --- Gran Fondo teaser --- */
.gf {
  background:
    radial-gradient(120% 140% at 100% 0%, #ff62001a, transparent 55%),
    linear-gradient(180deg, var(--bg-2), var(--bg-card));
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: clamp(34px, 5vw, 60px);
  position: relative;
  overflow: hidden;
}
.gf__flag { display: inline-block; font-family: var(--f-mono); font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); border: 1px solid #ff620050; border-radius: 999px; padding: 5px 14px; margin-bottom: 20px; }

/* --- CTA finale --- */
.bigcta { text-align: center; }
.bigcta .h-display { margin-inline: auto; max-width: 16ch; }

/* --- FAQ --- */
.faq { max-width: 820px; margin-inline: auto; margin-top: 40px; }
.faq details { border-bottom: 1px solid var(--line-soft); }
.faq summary { list-style: none; cursor: pointer; padding: 22px 4px; display: flex; justify-content: space-between; gap: 20px; align-items: center; font-family: var(--f-display); font-weight: 600; font-size: 18.5px; color: var(--ink); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary .pm { font-family: var(--f-mono); color: var(--accent); font-size: 22px; transition: transform .25s var(--ease); flex: none; }
.faq details[open] summary .pm { transform: rotate(45deg); }
.faq .ans { padding: 0 4px 24px; color: var(--ink-2); font-size: 15.5px; max-width: 70ch; }

/* --- Footer --- */
.footer { border-top: 1px solid var(--line-soft); background: #000; padding-block: 56px; }
.footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; }
.footer h5 { font-family: var(--f-mono); font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); margin: 0 0 16px; }
.footer a { display: block; color: var(--ink-2); font-size: 14.5px; padding: 5px 0; }
.footer a:hover { color: var(--accent); }
.footer__brand p { color: var(--ink-3); font-size: 14px; max-width: 38ch; margin: 14px 0 0; }
.footer__legal { border-top: 1px solid var(--line-soft); margin-top: 40px; padding-top: 24px; font-size: 12.5px; color: var(--ink-3); font-family: var(--f-mono); letter-spacing: .02em; display: flex; flex-wrap: wrap; gap: 8px 18px; justify-content: space-between; }
.powered { font-family: var(--f-mono); font-size: 12px; color: var(--ink-3); letter-spacing: .04em; }
.powered b { color: var(--accent); }

/* ==========================================================================
   PAGINA PIANI
   ========================================================================== */
.toggle { display: inline-flex; align-items: center; gap: 14px; background: var(--bg-2); border: 1px solid var(--line); border-radius: 999px; padding: 6px; margin-top: 8px; }
.toggle button { font-family: var(--f-mono); font-size: 13px; letter-spacing: .04em; text-transform: uppercase; padding: 9px 18px; border-radius: 999px; border: none; background: transparent; color: var(--ink-3); cursor: pointer; transition: all .18s var(--ease); }
.toggle button.on { background: var(--accent); color: #190c03; }
.toggle .save { font-size: 12px; color: var(--green); font-family: var(--f-mono); }

.plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 50px; align-items: stretch; }
.plan { background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius); padding: 32px 28px; display: flex; flex-direction: column; position: relative; }
.plan--hot { border-color: var(--accent); box-shadow: 0 30px 70px -40px #ff620066; }
.plan--soon { opacity: .82; }
.plan__tag { position: absolute; top: -12px; left: 28px; font-family: var(--f-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; background: var(--accent); color: #190c03; padding: 5px 12px; border-radius: 999px; font-weight: 700; }
.plan__tag--soon { background: var(--bg-3); color: var(--ink-2); border: 1px solid var(--line); }
.plan__name { font-family: var(--f-display); font-weight: 800; font-size: 24px; letter-spacing: .01em; }
.plan__desc { color: var(--ink-3); font-size: 14px; margin: 6px 0 22px; min-height: 40px; }
.plan__price { display: flex; align-items: baseline; gap: 6px; }
.plan__price .cur { font-family: var(--f-display); font-weight: 700; font-size: 22px; color: var(--ink-2); }
.plan__price .amt { font-family: var(--f-display); font-weight: 800; font-size: 52px; line-height: 1; letter-spacing: -.02em; }
.plan__price .per { font-size: 14px; color: var(--ink-3); }
.plan__sub { font-size: 13px; color: var(--ink-3); margin-top: 8px; min-height: 20px; font-family: var(--f-mono); }
.plan .btn { margin: 24px 0 22px; justify-content: center; }
.plan__feats { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.plan__feats li { display: grid; grid-template-columns: 20px 1fr; gap: 10px; font-size: 12.5px; color: var(--ink-2); align-items: start; }
.plan__feats svg { width: 18px; height: 18px; color: var(--accent); margin-top: 1px; }
.plan__feats li.off { color: var(--ink-3); }
.plan__feats li.off svg { color: var(--ink-3); opacity: .5; }

.trialbar { background: linear-gradient(90deg, #1b130b, var(--bg-card)); border: 1px solid #ff620040; border-radius: var(--radius); padding: 28px 32px; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 40px; }
.trialbar .big { font-family: var(--f-display); font-weight: 800; font-size: 30px; color: var(--accent); flex: none; }
.trialbar p { margin: 0; color: var(--ink-2); font-size: 13.5px; flex: 1; min-width: 240px; }

/* tabella confronto */
.cmp { width: 100%; border-collapse: collapse; margin-top: 50px; font-size: 15px; }
.cmp th, .cmp td { padding: 15px 16px; text-align: left; border-bottom: 1px solid var(--line-soft); }
.cmp thead th { font-family: var(--f-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); font-weight: 600; }
.cmp tbody td { color: var(--ink-2); }
.cmp .col-feat { width: 46%; }
.cmp td.c { text-align: center; }
.cmp th.c { text-align: center; }
.cmp .hot { color: var(--accent); }
.cmp .yes { color: var(--accent); }
.cmp .no { color: var(--ink-3); opacity: .5; }
.cmp tbody tr:hover { background: var(--bg-2); }
.cmp .grp td { font-family: var(--f-mono); font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); background: var(--bg-2); }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 900px) {
  .nav__links { display: none; }
  .nav__login { display: none; }
  .metrics__grid { grid-template-columns: repeat(2, 1fr); }
  .metric:nth-child(3) { border-left: none; }
  .metric { border-top: 1px solid var(--line-soft); }
  .metric:nth-child(-n+2) { border-top: none; }
  .feature { grid-template-columns: 1fr; gap: 30px; }
  .feature--rev .feature__media { order: 0; }
  .versus { grid-template-columns: 1fr; }
  .battery { grid-template-columns: 1fr; }
  .tcell { border-left: none !important; }
  .tcell:nth-child(2) { border-top: 1px solid var(--line-soft); }
  .quotes { grid-template-columns: 1fr; }
  .plans { grid-template-columns: 1fr; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  body { font-size: 16px; }
  .fivepanel { grid-template-columns: repeat(2, 1fr); }
  .footer__grid { grid-template-columns: 1fr; }
  .trust { gap: 14px; }
  .cmp .col-feat { width: 52%; }
  .plan__price .amt { font-size: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* reveal on scroll */
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
.reveal.in { opacity: 1; transform: none; }

/* S74 mobile polish */
.feature,
.feature > *,
.metrics__grid,
.zonebars,
.weekgrid,
.rpe,
.fivepanel,
.versus,
.battery,
.quotes,
.plans,
.plan,
.plan > *,
.card,
.panel {
  min-width: 0;
}

.zonebars { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.weekgrid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.rpe { grid-template-columns: repeat(10, minmax(0, 1fr)); }

.weekgrid .day {
  min-width: 0;
  overflow: hidden;
}

.checks li,
.plan__feats li {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: manual;
}

@media (max-width: 560px) {
  .wrap { padding-inline: 20px; }
  .feature { overflow-x: hidden; }
  .feature p { max-width: 100%; }
  .plans { gap: 18px; }
  .plan { padding: 28px 24px; }
  .plan__feats { gap: 14px; }
  .weekgrid { gap: 5px; }
  .weekgrid .day { padding: 6px 4px; }
}

@media (max-width: 380px) {
  .wrap { padding-inline: 18px; }
  .plan { padding: 26px 22px; }
}

/* S75B_BODYCOPY_MINUS2_APPLIED_START */
main section p,
main section li,
main .lead,
main .copy,
main .bodycopy,
main .description,
main .desc,
main .intro,
main .section-copy,
main .feature-copy,
main .card-copy {
  font-size: calc(1em - 2px);
}
/* S75B_BODYCOPY_MINUS2_APPLIED_END */

/* S75B_PERCORSO_REWRITE_START */
.s75b-fit-section{
  padding:clamp(56px,7vw,88px) 0;
  background:#111820;
  color:#fff;
  overflow:hidden;
}

.s75b-fit-section > .s75b-fit-wrap{
  max-width:1180px !important;
  width:calc(100% - 72px) !important;
  margin-inline:auto !important;
}

.s75b-fit-grid{
  display:grid !important;
  grid-template-columns:minmax(0,670px) 430px !important;
  column-gap:80px !important;
  row-gap:36px !important;
  align-items:start !important;
  justify-content:center !important;
}

.s75b-fit-copy{
  min-width:0 !important;
  max-width:670px !important;
  padding-top:0 !important;
}

.s75b-fit-eyebrow{
  margin:0 0 16px;
  color:#ff6200;
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.s75b-fit-title{
  max-width:670px !important;
  margin:0 0 20px;
  color:#fff;
  font-size:clamp(40px,4.3vw,58px);
  line-height:1.02;
  font-weight:900;
  letter-spacing:-.04em;
}

.s75b-fit-title span{
  color:#ff6200;
  font-style:italic;
}

.s75b-fit-lead,
.s75b-fit-note{
  max-width:670px !important;
  color:rgba(255,255,255,.86);
  font-size:18px;
  line-height:1.52;
  letter-spacing:0;
}

.s75b-fit-lead{
  margin:0 0 26px;
}

.s75b-fit-note{
  margin:24px 0 0;
}

.s75b-fit-blocks{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  max-width:670px !important;
}

.s75b-fit-card{
  min-height:166px;
  padding:18px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  background:rgba(255,255,255,.035);
  box-shadow:0 18px 50px rgba(0,0,0,.20);
}

.s75b-fit-card span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  margin:0 0 14px;
  border-radius:13px;
  background:rgba(255,98,0,.15);
  color:#ff6200;
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.04em;
}

.s75b-fit-card h3{
  margin:0 0 8px;
  color:#fff;
  font-size:19px;
  line-height:1.12;
  font-weight:900;
  letter-spacing:-.02em;
}

.s75b-fit-card p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:14px;
  line-height:1.4;
}

.s75b-fit-media{
  width:430px !important;
  max-width:430px !important;
  min-width:430px !important;
  margin:0 !important;
  justify-self:end !important;
  align-self:start !important;
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background:#05070b;
  box-shadow:0 26px 70px rgba(0,0,0,.28);
}

.s75b-fit-media img{
  display:block;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}

@media (max-width:1180px){
  .s75b-fit-grid{
    grid-template-columns:minmax(0,1fr) 390px !important;
    column-gap:60px !important;
  }

  .s75b-fit-media{
    width:390px !important;
    max-width:390px !important;
    min-width:390px !important;
  }
}

@media (max-width:980px){
  .s75b-fit-section > .s75b-fit-wrap{
    width:calc(100% - 36px) !important;
  }

  .s75b-fit-grid{
    grid-template-columns:1fr !important;
    gap:34px !important;
  }

  .s75b-fit-copy,
  .s75b-fit-title,
  .s75b-fit-lead,
  .s75b-fit-note,
  .s75b-fit-blocks{
    max-width:100% !important;
  }

  .s75b-fit-blocks{
    grid-template-columns:1fr;
  }

  .s75b-fit-media{
    width:min(100%,520px) !important;
    max-width:520px !important;
    min-width:0 !important;
    justify-self:start !important;
  }
}
/* S75B_PERCORSO_REWRITE_END */

/* S75B_ALTERNATING_BLOCKS_START */

/* 1) Blocco problema: resta testo sinistra / foto destra */
.s75b-problem-section .s75b-problem-copy{
  grid-column:1 !important;
}

.s75b-problem-section .s75b-problem-visual{
  grid-column:2 !important;
}

/* 2) Blocco obiettivo-livello-età: foto sinistra / testo destra */
#percorso .s75b-fit-grid{
  display:grid !important;
  grid-template-columns:430px minmax(0,670px) !important;
  column-gap:80px !important;
  row-gap:36px !important;
  align-items:start !important;
  justify-content:center !important;
}

#percorso .s75b-fit-media{
  grid-column:1 !important;
  grid-row:1 !important;
  justify-self:start !important;
  align-self:start !important;
  width:430px !important;
  max-width:430px !important;
  min-width:430px !important;
}

#percorso .s75b-fit-copy{
  grid-column:2 !important;
  grid-row:1 !important;
  max-width:670px !important;
  min-width:0 !important;
}

/* 3) Blocco calendario: testo sinistra / screenshot destra */
#calendario .wrap.two{
  max-width:1180px !important;
  width:calc(100% - 72px) !important;
  margin-inline:auto !important;
  display:grid !important;
  grid-template-columns:minmax(0,670px) 430px !important;
  column-gap:80px !important;
  row-gap:36px !important;
  align-items:start !important;
  justify-content:center !important;
}

#calendario .wrap.two > figure{
  grid-column:2 !important;
  grid-row:1 !important;
  width:430px !important;
  max-width:430px !important;
  min-width:430px !important;
  margin:0 !important;
  justify-self:end !important;
}

#calendario .wrap.two > div{
  grid-column:1 !important;
  grid-row:1 !important;
  max-width:670px !important;
  min-width:0 !important;
}

#calendario .s75b-calendar-shot img{
  width:100% !important;
  height:auto !important;
  display:block !important;
}

/* Responsive: su mobile torna tutto in colonna, visual dopo o prima secondo ordine naturale */
@media (max-width:1180px){
  #percorso .s75b-fit-grid{
    grid-template-columns:390px minmax(0,1fr) !important;
    column-gap:60px !important;
  }

  #percorso .s75b-fit-media{
    width:390px !important;
    max-width:390px !important;
    min-width:390px !important;
  }

  #calendario .wrap.two{
    grid-template-columns:minmax(0,1fr) 390px !important;
    column-gap:60px !important;
  }

  #calendario .wrap.two > figure{
    width:390px !important;
    max-width:390px !important;
    min-width:390px !important;
  }
}

@media (max-width:980px){
  .s75b-problem-section .s75b-problem-copy,
  .s75b-problem-section .s75b-problem-visual,
  #percorso .s75b-fit-copy,
  #percorso .s75b-fit-media,
  #calendario .wrap.two > figure,
  #calendario .wrap.two > div{
    grid-column:auto !important;
    grid-row:auto !important;
  }

  #percorso .s75b-fit-grid,
  #calendario .wrap.two{
    grid-template-columns:1fr !important;
    width:calc(100% - 36px) !important;
    gap:34px !important;
  }

  #percorso .s75b-fit-media,
  #calendario .wrap.two > figure{
    width:min(100%,520px) !important;
    max-width:520px !important;
    min-width:0 !important;
    justify-self:start !important;
  }
}

/* S75B_ALTERNATING_BLOCKS_END */

/* S75B_COME_FUNZIONA_REWRITE_START */
.s75b-journey-section{
  position:relative;
  padding:clamp(64px,7vw,92px) 0;
  background:
    radial-gradient(circle at 10% 0%, rgba(255,98,0,.14), transparent 34%),
    radial-gradient(circle at 90% 100%, rgba(255,98,0,.08), transparent 30%),
    var(--bg);
  overflow:hidden;
}

.s75b-journey-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(180deg, transparent, #000 16%, #000 78%, transparent);
  opacity:.28;
}

.s75b-journey-wrap{
  position:relative;
  max-width:1180px !important;
  width:calc(100% - 72px) !important;
  margin-inline:auto !important;
}

.s75b-journey-head{
  max-width:900px;
  margin-bottom:34px;
}

.s75b-journey-eyebrow{
  margin:0 0 16px;
  color:#ff6200;
  font-size:12px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.s75b-journey-title{
  max-width:900px;
  margin:0;
}

.s75b-journey-lead{
  max-width:940px !important;
  margin-top:22px !important;
  color:rgba(255,255,255,.88);
}

.s75b-journey-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.s75b-journey-card{
  position:relative;
  min-height:300px;
  padding:24px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.025)),
    #141922;
  box-shadow:0 24px 70px rgba(0,0,0,.24);
  overflow:hidden;
}

.s75b-journey-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:28px;
  padding:1px;
  background:linear-gradient(135deg, rgba(255,98,0,.68), rgba(255,255,255,.08), rgba(255,98,0,.16));
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:.36;
  pointer-events:none;
}

.s75b-journey-card::after{
  content:"";
  position:absolute;
  width:170px;
  height:170px;
  right:-70px;
  top:-70px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,98,0,.28), transparent 64%);
  pointer-events:none;
}

.s75b-journey-badge{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:24px;
}

.s75b-journey-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  border-radius:18px;
  background:linear-gradient(135deg, #ff6200, #ff8a3d);
  color:#fff;
  font-size:15px;
  line-height:1;
  font-weight:950;
  letter-spacing:.04em;
  box-shadow:0 16px 38px rgba(255,98,0,.28);
}

.s75b-journey-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:16px;
  color:#ff6200;
  background:rgba(255,98,0,.12);
  border:1px solid rgba(255,98,0,.24);
  font-size:22px;
  font-weight:900;
}

.s75b-journey-card-copy{
  position:relative;
  z-index:1;
}

.s75b-journey-kicker{
  margin:0 0 12px;
  color:#ff6200;
  font-size:12px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.s75b-journey-card h3{
  margin:0 0 14px;
  color:#fff;
  font-size:23px;
  line-height:1.12;
  font-weight:950;
  letter-spacing:-.025em;
}

.s75b-journey-card p:not(.s75b-journey-kicker){
  margin:0;
  color:rgba(255,255,255,.76);
  font-size:16px;
  line-height:1.48;
}

@media (max-width:1100px){
  .s75b-journey-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:760px){
  .s75b-journey-wrap{
    width:calc(100% - 36px) !important;
  }

  .s75b-journey-grid{
    grid-template-columns:1fr;
  }

  .s75b-journey-card{
    min-height:auto;
  }
}
/* S75B_COME_FUNZIONA_REWRITE_END */

/* S75B_CALENDAR_FULLWIDTH_START */
#calendario .wrap.two{
  max-width:1180px !important;
  width:calc(100% - 72px) !important;
  margin-inline:auto !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:38px !important;
  align-items:start !important;
}

#calendario .wrap.two > figure{
  grid-column:1 !important;
  grid-row:1 !important;
  width:100% !important;
  max-width:1180px !important;
  min-width:0 !important;
  margin:0 !important;
  justify-self:stretch !important;
}

#calendario .wrap.two > div{
  grid-column:1 !important;
  grid-row:2 !important;
  max-width:760px !important;
  min-width:0 !important;
}

#calendario .s75b-calendar-shot{
  border-radius:28px !important;
  overflow:hidd n !important;
  box-shadow:0 28px 90px rgba(0,0,0,.38) !important;
}

#calendario .s75b-calendar-shot img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}

@media (max-width:980px){
  #calendario .wrap.two{
    width:calc(100% - 36px) !important;
    gap:30px !important;
  }

  #calendario .wrap.two > div{
    max-width:100% !important;
  }
}
/* S75B_CALENDAR_FULLWIDTH_END */

/* S75B_REPLACE_SESSIONI_WITH_HOW_START */
.s75b-session-how-section{
  position:relative;
  padding:clamp(64px,7vw,92px) 0;
  background:#0f131a;
  border-top:1px solid var(--line-soft);
  border-bottom:1px solid var(--line-soft);
  overflow:hidden;
}

.s75b-session-how-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 0%, rgba(255,98,0,.12), transparent 32%),
    radial-gradient(circle at 88% 100%, rgba(255,98,0,.08), transparent 34%);
}

.s75b-session-how-wrap{
  position:relative;
  max-width:1180px !important;
  width:calc(100% - 72px) !important;
  margin-inline:auto !important;
}

.s75b-session-how-head{
  max-width:920px;
  margin:0 auto 42px;
  text-align:center;
}

.s75b-session-how-eyebrow{
  margin:0 0 16px;
  color:#ff6200;
  font-size:12px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.s75b-session-how-title{
  margin:0 auto;
  max-width:900px;
}

.s75b-session-how-lead{
  max-width:880px !important;
  margin:22px auto 0 !important;
  color:rgba(255,255,255,.86);
}

.s75b-session-how-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
}

.s75b-session-how-card{
  min-width:0;
  text-align:center;
  padding:22px 16px 10px;
}

.s75b-session-how-visual{
  height:128px;
  margin:0 auto 24px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}

.s75b-session-how-card h3{
  margin:0 auto 14px;
  max-width:230px;
  color:#fff;
  font-size:22px;
  line-height:1.13;
  font-weight:950;
  letter-spacing:-.025em;
}

.s75b-session-how-card p{
  margin:0 auto;
  max-width:250px;
  color:rgba(255,255,255,.76);
  font-size:16px;
  line-height:1.48;
}

.s75b-session-how-chip,
.s75b-session-how-core,
.s75b-session-how-source,
.s75b-session-how-minirow span,
.s75b-session-how-score{
  box-shadow:0 18px 40px rgba(0,0,0,.24);
}

.s75b-session-how-visual--sensors{
  gap:10px;
}

.s75b-session-how-chip{
  width:58px;
  height:58px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#1b232d;
  border:1px solid rgba(255,255,255,.10);
  color:#ff6200;
  font-weight:950;
  font-size:20px;
}

.s75b-session-how-core{
  width:78px;
  height:78px;
  border-radius:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#ff6200;
  color:#fff;
  font-weight:950;
  letter-spacing:-.04em;
}

.s75b-session-how-visual--import{
  flex-direction:column;
  gap:8px;
}

.s75b-session-how-source{
  width:132px;
  min-height:30px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#111820;
  font-size:12px;
  line-height:1;
  font-weight:950;
  letter-spacing:.08em;
}

.s75b-session-how-source:nth-child(2){
  background:#ff6200;
  color:#fff;
}

.s75b-session-how-source:nth-child(3){
  background:#1b232d;
  color:#fff;
  border:1px solid rgba(255,255,255,.10);
}

.s75b-session-how-visual--plan{
  flex-direction:column;
  gap:12px;
}

.s75b-session-how-week{
  width:170px;
  height:72px;
  border-radius:18px;
  background:#fff;
  padding:12px;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:7px;
  box-shadow:0 20px 44px rgba(0,0,0,.24);
}

.s75b-session-how-week span{
  border-radius:8px;
  background:#d9e1ea;
}

.s75b-session-how-week span:nth-child(2),
.s75b-session-how-week span:nth-child(4){
  background:#ff6200;
}

.s75b-session-how-bars{
  width:160px;
  display:flex;
  gap:7px;
  justify-content:center;
}

.s75b-session-how-bars i{
  display:block;
  width:42px;
  height:8px;
  border-radius:999px;
  background:#2c3542;
}

.s75b-session-how-bars i:nth-child(2){
  background:#ff6200;
}

.s75b-session-how-visual--where{
  flex-direction:column;
  gap:12px;
}

.s75b-session-how-minirow{
  display:flex;
  gap:6px;
}

.s75b-session-how-minirow span{
  min-width:58px;
  height:28px;
  border-radius:999px;
  padding:0 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#111820;
  font-size:10px;
  line-height:1;
  font-weight:950;
}

.s75b-session-how-minirow span:nth-child(3){
  background:#ff6200;
  color:#fff;
}

.s75b-session-how-visual--progress{
  flex-direction:column;
  gap:14px;
}

.s75b-session-how-score{
  width:132px;
  height:82px;
  border-radius:20px;
  background:#1b232d;
  border:1px solid rgba(255,255,255,.10);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:50px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.06em;
}

.s75b-session-how-progress-line{
  width:154px;
  display:flex;
  gap:7px;
}

.s75b-session-how-progress-line span{
  height:9px;
  flex:1;
  border-radius:999px;
  background:#2c3542;
}

.s75b-session-how-progress-line span:nth-child(1),
.s75b-session-how-progress-line span:nth-child(2){
  background:#ff6200;
}

@media (max-width:1180px){
  .s75b-session-how-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:820px){
  .s75b-session-how-wrap{
    width:calc(100% - 36px) !important;
  }

  .s75b-session-how-grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .s75b-session-how-card{
    padding-inline:0;
  }

  .s75b-session-how-card h3,
  .s75b-session-how-card p{
    max-width:420px;
  }
}
/* S75B_REPLACE_SESSIONI_WITH_HOW_END */

/* S75-B calendar rebuilt: testo sopra, screenshot sotto — local only */
#calendario.s75b-calendar-rebuilt-text-top {
  display: block;
}

#calendario.s75b-calendar-rebuilt-text-top .s75b-calendar-copy-top {
  max-width: 760px;
  margin: 0 0 clamp(28px, 4vw, 56px);
}

#calendario.s75b-calendar-rebuilt-text-top .s75b-calendar-copy-top h2,
#calendario.s75b-calendar-rebuilt-text-top .s75b-calendar-copy-top .section-title {
  margin-top: 0;
}

#calendario.s75b-calendar-rebuilt-text-top .s75b-calendar-visual-bottom {
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
}

#calendario.s75b-calendar-rebuilt-text-top .s75b-calendar-visual-bottom figure,
#calendario.s75b-calendar-rebuilt-text-top .s75b-calendar-visual-bottom picture,
#calendario.s75b-calendar-rebuilt-text-top .s75b-calendar-visual-bottom img {
  width: 100%;
  max-width: 100%;
}

#calendario.s75b-calendar-rebuilt-text-top .s75b-calendar-visual-bottom img {
  display: block;
  height: auto;
}

/* BEGIN S75B CALENDAR CENTER COPY */
#calendario.s75b-calendar-rebuilt-text-top {
  padding-left: clamp(22px, 5vw, 72px);
  padding-right: clamp(22px, 5vw, 72px);
  box-sizing: border-box;
}

#calendario.s75b-calendar-rebuilt-text-top .s75b-calendar-copy-top {
  width: min(100%, 820px);
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: clamp(34px, 5vw, 64px);
  text-align: center;
}

#calendario.s75b-calendar-rebuilt-text-top .s75b-calendar-copy-top h2,
#calendario.s75b-calendar-rebuilt-text-top .s75b-calendar-copy-top .section-title {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

#calendario.s75b-calendar-rebuilt-text-top .s75b-calendar-copy-top p {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

#calendario.s75b-calendar-rebuilt-text-top .s75b-calendar-copy-top ul {
  display: inline-block;
  max-width: 760px;
  margin: clamp(18px, 2.5vw, 28px) auto 0;
  padding-left: 1.2em;
  text-align: left;
}

#calendario.s75b-calendar-rebuilt-text-top .s75b-calendar-copy-top li {
  margin-bottom: 0.35em;
}

#calendario.s75b-calendar-rebuilt-text-top .s75b-calendar-visual-bottom {
  width: min(100%, 1160px);
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 720px) {
  #calendario.s75b-calendar-rebuilt-text-top {
    padding-left: 20px;
    padding-right: 20px;
  }

  #calendario.s75b-calendar-rebuilt-text-top .s75b-calendar-copy-top {
    text-align: left;
  }

  #calendario.s75b-calendar-rebuilt-text-top .s75b-calendar-copy-top h2,
  #calendario.s75b-calendar-rebuilt-text-top .s75b-calendar-copy-top .section-title,
  #calendario.s75b-calendar-rebuilt-text-top .s75b-calendar-copy-top p {
    text-align: left;
  }

  #calendario.s75b-calendar-rebuilt-text-top .s75b-calendar-copy-top ul {
    display: block;
    text-align: left;
  }
}
/* END S75B CALENDAR CENTER COPY */

/* BEGIN S75B CALENDAR KICKER */
#calendario .s75b-calendar-kicker {
  color: #ff6200;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.14em;
  line-height: 1.2;
  text-transform: uppercase;
  text-align: center;
  margin: 0 auto 16px;
}

@media (max-width: 720px) {
  #calendario .s75b-calendar-kicker {
    font-size: 12px;
    letter-spacing: 0.14em;
    text-align: left;
    margin-bottom: 14px;
  }
}
/* END S75B CALENDAR KICKER */

/* BEGIN S75B SESSION FLAT ICONS */
.s75b-session-flat-icon{
  width:220px;
  max-width:100%;
  height:142px;
  margin:0 auto 24px;
  display:grid;
  place-items:center;
  filter:drop-shadow(0 22px 24px rgba(0,0,0,.28));
}
.s75b-session-flat-icon svg{
  width:100%;
  height:auto;
  display:block;
  overflow:visible;
}
.s75b-session-how-card h3{
  margin-top:0;
}
@media (max-width: 900px){
  .s75b-session-flat-icon{
    width:190px;
    height:124px;
    margin-bottom:18px;
  }
}
@media (max-width: 720px){
  .s75b-session-flat-icon{
    width:176px;
    height:116px;
  }
}
/* END S75B SESSION FLAT ICONS */

/* BEGIN S75B TESTS SHOWCASE */
.s75b-tests-showcase{
  padding:clamp(74px,8vw,116px) 0;
  background:
    radial-gradient(circle at 16% 0%, rgba(255,98,0,.13), transparent 33%),
    linear-gradient(180deg, rgba(11,16,22,.98), rgba(12,18,25,1));
}

.s75b-tests-showcase-wrap{
  max-width:1180px;
  margin:0 auto;
}

.s75b-tests-showcase-head{
  max-width:920px;
  margin:0 0 42px;
}

.s75b-tests-showcase-kicker{
  margin:0 0 18px;
  color:#ff6200;
  font-size:12px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.s75b-tests-showcase-head .h-section{
  margin:0;
  max-width:940px;
}

.s75b-tests-showcase-head .lead{
  margin:24px 0 0;
  max-width:900px;
}

.s75b-tests-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap: 12px;
}

.s75b-tests-card{
  min-height: 158px;
  padding: 16px 16px 15px;
  border-radius:24px;
  background:
    radial-gradient(circle at 88% 0%, rgba(255,98,0,.12), transparent 32%),
    linear-gradient(180deg, rgba(28,38,49,.96), rgba(20,29,39,.98));
  border:1px solid rgba(151,170,190,.18);
  box-shadow:0 18px 38px rgba(0,0,0,.22);
}

.s75b-tests-type{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 24px;
  padding: 0 9px;
  border-radius:999px;
  background:rgba(255,98,0,.12);
  border:1px solid rgba(255,98,0,.22);
  color:#ff6200;
  font-size: 9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin: 0 0 9px;
}

.s75b-tests-card h3{
  margin: 0 0 8px;
  color:#fff;
  font-size: clamp(19px,1.55vw,23px);
  line-height:1;
  letter-spacing:-.03em;
}

.s75b-tests-card p{
  margin:0;
  color:rgba(255,255,255,.76);
  font-size: 14px;
  line-height: 1.36;
}

@media (max-width: 980px){
  .s75b-tests-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 720px){
  .s75b-tests-grid{
    grid-template-columns:1fr;
  }
  .s75b-tests-card{
    min-height:auto;
  }
}
/* END S75B TESTS SHOWCASE */

/* S75B center tests showcase heading */
.s75b-tests-showcase-head{
  margin:0 auto 42px !important;
  text-align:center !important;
}
.s75b-tests-showcase-head .h-section{
  margin:0 auto !important;
}
.s75b-tests-showcase-head .lead{
  margin:24px auto 0 !important;
}

/* BEGIN S75B JOURNEY CLEAN */
.s75b-journey-clean{
  padding:clamp(74px,8vw,112px) 0;
  background:linear-gradient(180deg, rgba(11,16,22,.98), rgba(12,18,25,1));
}

.s75b-journey-clean-wrap{
  max-width:1180px;
  margin:0 auto;
}

.s75b-journey-clean-head{
  max-width:920px;
  margin:0 0 42px;
}

.s75b-journey-clean-kicker{
  margin:0 0 18px;
  color:#ff6200;
  font-size:12px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.s75b-journey-clean-head .h-section{
  margin:0;
  max-width:960px;
}

.s75b-journey-clean-head .lead{
  margin:24px 0 0;
  max-width:920px;
}

.s75b-journey-clean-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.s75b-journey-clean-card{
  min-height:360px;
  padding:28px 24px 26px;
  border-radius:26px;
  background:linear-gradient(180deg, rgba(28,38,49,.96), rgba(20,29,39,.98));
  border:1px solid rgba(151,170,190,.18);
  box-shadow:0 18px 38px rgba(0,0,0,.22);
}

.s75b-journey-clean-icon{
  width:76px;
  height:76px;
  margin:0 0 24px;
  display:grid;
  place-items:center;
  color:#fff;
}

.s75b-journey-clean-icon svg{
  width:76px;
  height:76px;
  display:block;
  overflow:visible;
}

.s75b-journey-clean-num{
  width:46px;
  height:46px;
  border-radius:14px;
  display:grid;
  place-items:center;
  margin:0 0 18px;
  background:#ff6200;
  color:#fff;
  font-size:14px;
  font-weight:900;
  letter-spacing:.04em;
}

.s75b-journey-clean-label{
  margin:0 0 12px;
  color:#ff6200;
  font-size:11px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.s75b-journey-clean-card h3{
  margin:0 0 16px;
  color:#fff;
  font-size:clamp(22px,1.75vw,27px);
  line-height:1.02;
  letter-spacing:-.03em;
}

.s75b-journey-clean-card p:not(.s75b-journey-clean-label){
  margin:0;
  color:rgba(255,255,255,.74);
  font-size:17px;
  line-height:1.44;
}

@media (max-width: 1050px){
  .s75b-journey-clean-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 720px){
  .s75b-journey-clean-grid{
    grid-template-columns:1fr;
  }
  .s75b-journey-clean-card{
    min-height:auto;
  }
}
/* END S75B JOURNEY CLEAN */

.profile-calendar-visual{
  width:100%;
}

.profile-calendar-annotated{
  position:relative;
  width:100%;
  margin:0;
  border-radius:28px;
  overflow:hidden;
  background:#000;
}

.profile-calendar-annotated img{
  display:block;
  width:100%;
  height:auto;
}

.pc-tag{
  position:absolute;
  color:#fff;
  font-weight:700;
  font-size:clamp(13px, 1.35vw, 22px);
  line-height:1.2;
  letter-spacing:0.02em;
  text-transform:uppercase;
  max-width:22ch;
  text-wrap:balance;
  text-shadow:0 2px 10px rgba(0,0,0,.65);
}

.pc-tag--top-left{
  top:14%;
  left:5%;
}

.pc-tag--top-right{
  top:21%;
  right:5%;
  text-align:left;
}

.pc-tag--bottom-left{
  top:57%;
  left:5%;
}

.pc-tag--bottom-right{
  top:55%;
  right:5%;
  text-align:left;
}

@media (max-width: 900px){
  .pc-tag{
    font-size:clamp(12px, 2.7vw, 16px);
    max-width:14ch;
  }

  .pc-tag--top-left{ top:13%; left:4%; }
  .pc-tag--top-right{ top:20%; right:4%; }
  .pc-tag--bottom-left{ top:58%; left:4%; }
  .pc-tag--bottom-right{ top:56%; right:4%; }
}

/* S75B profile-calendar split */
.profile-calendar-split{
  display:grid;
  grid-template-columns:minmax(320px,420px) minmax(620px,780px);
  gap:clamp(48px,6vw,96px);
  align-items:center;
  justify-content:center;
}

.profile-calendar-split__media{
  width:100%;
  max-width:420px;
  justify-self:center;
  align-self:center;
  margin:0;
  border-radius:30px;
  overflow:hidden;
  background:#000;
  box-shadow:0 24px 80px rgba(0,0,0,.32);
}

.profile-calendar-split__media img{
  display:block;
  width:100%;
  height:auto;
}

.profile-calendar-text-list strong{
  color:#fff;
}

.profile-calendar-split__copy{
  max-width:760px;
  justify-self:start;
  align-self:center;
  padding-top:0;
}

.profile-calendar-kicker{
  margin:0 0 18px;
  color:#ff6200;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.24em;
  text-transform:uppercase;
}

.profile-calendar-split__copy h2{
  margin:0;
  max-width:14.5ch;
  font-size:clamp(3.05rem,4.2vw,4.35rem);
  line-height:1.02;
  letter-spacing:-0.035em;
}

.profile-calendar-split__copy h2 .em{
  display:block;
  margin-top:.04em;
  font-size:.94em;
  line-height:1;
}

.profile-calendar-lead{
  margin:26px 0 0;
  max-width:52ch;
  color:rgba(255,255,255,.88);
  font-size:clamp(1.08rem,1.42vw,1.28rem);
  line-height:1.62;
}

.profile-calendar-text-list{
  display:grid;
  gap:14px;
  margin-top:30px;
  max-width:52ch;
}

.profile-calendar-text-list p{
  margin:0;
  padding:0 0 0 18px;
  border-left:3px solid #ff6200;
  color:rgba(255,255,255,.82);
  font-size:clamp(1rem,1.12vw,1.1rem);
  line-height:1.55;
}

@media (max-width: 1200px){
  .profile-calendar-split__copy h2{
    max-width:13.5ch;
    font-size:clamp(2.7rem,4.2vw,3.85rem);
  }
}

@media (max-width: 920px){
  .profile-calendar-split__copy h2,
  .profile-calendar-lead,
  .profile-calendar-text-list{
    max-width:none;
  }

  .profile-calendar-split__copy h2{
    font-size:clamp(2.25rem,8vw,3.35rem);
  }
}

@media (max-width: 1200px){
  .profile-calendar-split{
    grid-template-columns:minmax(280px,380px) minmax(520px,1fr);
    gap:40px;
  }

  
}

@media (max-width: 920px){
  .profile-calendar-split{
    grid-template-columns:1fr;
    gap:28px;
    justify-content:start;
  }

  .profile-calendar-split__media{
    max-width:360px;
    justify-self:start;
  }

  

  .profile-calendar-split__copy h2,
  .profile-calendar-lead,
  

  
}
/* S75B override: profile-calendar title same size as COME FUNZIONA */
.profile-calendar-split__copy h2{
  font-size:clamp(3.2rem,4.8vw,5rem);
  line-height:1.03;
  letter-spacing:-0.03em;
}

.profile-calendar-split__copy h2 .em{
  font-size:1em;
  line-height:1.03;
}

/* S75B FINAL override: profile-calendar match COME FUNZIONA */
.profile-calendar-split{
  display:grid;
  grid-template-columns:minmax(300px,420px) minmax(0,820px);
  gap:clamp(48px,6vw,86px);
  align-items:center;
  justify-content:center;
}

.profile-calendar-split__media{
  width:100%;
  max-width:420px;
  justify-self:center;
  align-self:center;
  margin:0;
  border-radius:30px;
  overflow:hidden;
  background:#000;
  box-shadow:0 24px 80px rgba(0,0,0,.32);
}

.profile-calendar-split__media img{
  display:block;
  width:100%;
  height:auto;
}

.profile-calendar-split__copy{
  max-width:820px;
  justify-self:start;
  align-self:center;
  padding-top:0;
  text-align:center;
}

.profile-calendar-kicker{
  margin:0 0 18px;
  color:#ff6200;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.24em;
  text-transform:uppercase;
  text-align:center;
}

.profile-calendar-split__copy h2{
  margin:0 auto;
  max-width:820px;
  font-size:clamp(3.05rem,4.45vw,4.55rem);
  line-height:1.03;
  letter-spacing:-0.032em;
  text-align:center;
}

.profile-calendar-split__copy h2 .em{
  display:block;
  margin-top:.02em;
  color:#ff6200;
  font-size:1em;
  line-height:1.03;
  font-style:italic;
}

.profile-calendar-lead{
  margin:26px auto 0;
  max-width:820px;
  color:rgba(255,255,255,.88);
  font-size:clamp(1.08rem,1.42vw,1.25rem);
  line-height:1.62;
  text-align:center;
}

.profile-calendar-text-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 18px;
  margin:30px auto 0;
  max-width:820px;
  text-align:left;
}

.profile-calendar-text-list p{
  margin:0;
  padding:0 0 0 18px;
  border-left:3px solid #ff6200;
  color:rgba(255,255,255,.82);
  font-size:clamp(.96rem,1.05vw,1.06rem);
  line-height:1.5;
}

.profile-calendar-text-list strong{
  color:#fff;
}

@media (max-width: 1200px){
  .profile-calendar-split{
    grid-template-columns:minmax(270px,380px) minmax(0,720px);
    gap:42px;
  }

  .profile-calendar-split__copy h2{
    font-size:clamp(2.75rem,4.1vw,3.9rem);
  }
}

@media (max-width: 920px){
  .profile-calendar-split{
    grid-template-columns:1fr;
    gap:28px;
    justify-content:start;
  }

  .profile-calendar-split__media{
    max-width:360px;
    justify-self:center;
  }

  .profile-calendar-split__copy{
    max-width:none;
    justify-self:stretch;
  }

  .profile-calendar-split__copy h2,
  .profile-calendar-lead,
  .profile-calendar-text-list{
    max-width:none;
  }

  .profile-calendar-split__copy h2{
    font-size:clamp(2.25rem,8vw,3.35rem);
  }

  .profile-calendar-text-list{
    grid-template-columns:1fr;
  }
}

/* S75B FINAL override: profile-calendar title 50-58px */
.profile-calendar-split__copy h2{
  font-size:clamp(3.125rem,3.5vw,3.625rem);
  line-height:1.03;
  letter-spacing:-0.03em;
}

.profile-calendar-split__copy h2 .em{
  font-size:1em;
  line-height:1.03;
}

/* S75B FINAL override: profile-calendar all text left */
.profile-calendar-split__copy{
  text-align:left;
}

.profile-calendar-kicker{
  text-align:left;
}

.profile-calendar-split__copy h2{
  margin-left:0;
  margin-right:0;
  text-align:left;
  font-size:clamp(3.125rem,3.5vw,3.625rem);
  line-height:1.03;
  letter-spacing:-0.03em;
}

.profile-calendar-split__copy h2 .em{
  display:block;
  text-align:left;
  font-size:1em;
  line-height:1.03;
}

.profile-calendar-lead{
  margin-left:0;
  margin-right:0;
  text-align:left;
}

.profile-calendar-text-list{
  margin-left:0;
  margin-right:0;
  text-align:left;
}

/* S75B FINAL override: profile-calendar lead same as COME FUNZIONA lead */
.profile-calendar-lead{
  font-size:18px;
  line-height:28.8px;
  font-family:Inter, system-ui, sans-serif;
  font-weight:400;
}

/* S75B nutrition creative badges */
.nutrition-badges{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
  max-width:1200px;
  margin:0 auto;
}

.nutrition-badge{
  position:relative;
  min-height:240px;
  padding:26px 24px 24px;
  border-radius:28px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(20,31,44,.96) 0%, rgba(12,18,27,.96) 100%);
  border:1px solid rgba(255,255,255,.07);
  box-shadow:0 20px 60px rgba(0,0,0,.20);
}

.nutrition-badge::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg, rgba(255,98,0,.95) 0%, rgba(255,98,0,.15) 100%);
}

.nutrition-badge__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}

.nutrition-badge__phase{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,98,0,.08);
  color:#ff6200;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.nutrition-badge__icon{
  width:48px;
  height:48px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#ff6200;
  background:rgba(255,98,0,.10);
  border:1px solid rgba(255,98,0,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.nutrition-badge__icon svg{
  width:24px;
  height:24px;
}

.nutrition-badge h3{
  margin:0 0 12px;
  color:#fff;
  font-size:clamp(1.45rem, 2vw, 1.8rem);
  line-height:1.08;
  letter-spacing:-0.02em;
}

.nutrition-badge p{
  margin:0;
  color:rgba(255,255,255,.86);
  font-size:clamp(1rem, 1.15vw, 1.08rem);
  line-height:1.58;
  max-width:30ch;
}

.nutrition-badge--before .nutrition-badge__icon{
  background:rgba(255,98,0,.11);
}

.nutrition-badge--during .nutrition-badge__icon{
  background:rgba(255,255,255,.06);
}

.nutrition-badge--after .nutrition-badge__icon{
  background:linear-gradient(180deg, rgba(255,98,0,.10), rgba(255,255,255,.04));
}

@media (max-width: 980px){
  .nutrition-badges{
    grid-template-columns:1fr;
  }

  .nutrition-badge{
    min-height:auto;
  }

  .nutrition-badge p{
    max-width:none;
  }
}

/* S75B nutrition head restore */
.nutrition-head{
  max-width:760px;
  margin:0 0 34px;
}

.nutrition-head .lead{
  margin-top:18px;
}

.nutrition-head .s75b-note{
  margin-top:16px;
  color:rgba(255,255,255,.72);
}

/* S75B FINAL override: nutrition head centered */
.nutrition-head{
  max-width:860px;
  margin:0 auto 38px;
  text-align:center;
}

.nutrition-head .h-section{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

.nutrition-head .lead{
  margin-left:auto;
  margin-right:auto;
  max-width:820px;
  text-align:center;
}

.nutrition-head .s75b-note{
  margin-left:auto;
  margin-right:auto;
  max-width:780px;
  text-align:center;
}

/* S75B FINAL override: footer pure black */
.footer{
  background:#000 !important;
}

.footer::before,
.footer::after{
  background:#000 !important;
}

.footer .wrap{
  background:transparent !important;
}

/* S75B FINAL override: problem COME FUNZIONA eyebrow */
.s75b-problem-eyebrow{
  margin:0 0 18px;
  color:#ff6200;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.24em;
  text-transform:uppercase;
}

/* S75B FINAL override: nutrition green theme */
#nutrizione{
  --nutrition-green:#2fc58d;
}

#nutrizione .em-green{
  color:var(--nutrition-green) !important;
}

#nutrizione .nutrition-badge::before{
  background:linear-gradient(90deg, var(--nutrition-green) 0%, rgba(47,197,141,.15) 100%) !important;
}

#nutrizione .nutrition-badge__phase{
  color:var(--nutrition-green) !important;
  background:rgba(47,197,141,.08) !important;
}

#nutrizione .nutrition-badge__icon{
  color:var(--nutrition-green) !important;
  background:rgba(47,197,141,.10) !important;
  border-color:rgba(47,197,141,.20) !important;
}

#nutrizione .nutrition-badge{
  border-color:rgba(47,197,141,.12);
}

#nutrizione .nutrition-badge--before .nutrition-badge__icon,
#nutrizione .nutrition-badge--during .nutrition-badge__icon,
#nutrizione .nutrition-badge--after .nutrition-badge__icon{
  background:rgba(47,197,141,.10) !important;
}

/* S75B FINAL override: nav font -2px */
.nav__links a,
.nav__login,
.nav__cta .btn{
  font-size:calc(1em - 2px);
}

/* S75B_PIANI_EYEBROW_NO_LINE_START */
.piani-eyebrow-no-line::before {
  display: none !important;
  content: none !important;
}
/* S75B_PIANI_EYEBROW_NO_LINE_END */

/* S75B_PRICING_OUTLINE_CTA_START */
.plans .plan .btn--ghost {
  border-color: var(--accent) !important;
  color: var(--accent) !important;
  background: transparent !important;
  box-shadow: inset 0 0 0 1px var(--accent);
}

.plans .plan .btn--ghost:hover,
.plans .plan .btn--ghost:focus-visible {
  border-color: var(--accent) !important;
  color: #111 !important;
  background: linear-gradient(180deg, var(--accent-h), var(--accent)) !important;
  box-shadow: 0 16px 40px rgba(255,98,0,.22);
}
/* S75B_PRICING_OUTLINE_CTA_END */

/* S75B_PRICING_TOGGLE_RELOCATE_MARKUP_START */
.pricing-toggle-close {
  width: max-content;
  max-width: 100%;
  margin: 0 auto 28px !important;
}

.pricing-toggle-close + .pricing-plans-close,
.pricing-toggle-close + .plans {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.pricing-plans-close {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media (max-width: 760px) {
  .pricing-toggle-close {
    margin-bottom: 20px !important;
  }
}
/* S75B_PRICING_TOGGLE_RELOCATE_MARKUP_END */

/* S75B_PRICING_TOGGLE_BETWEEN_BASE_PLUS_START */
.pricing-plans-paid-toggle {
  align-items: start;
}

.pricing-plans-paid-toggle > .pricing-toggle-over-paid {
  grid-column: 2 / 4;
  justify-self: center;
  align-self: center;
  width: max-content;
  max-width: 100%;
  margin: 0 0 40px !important;
}

@media (max-width: 980px) {
  .pricing-plans-paid-toggle > .pricing-toggle-over-paid {
    grid-column: 1 / -1;
    margin-bottom: 24px !important;
  }
}
/* S75B_PRICING_TOGGLE_BETWEEN_BASE_PLUS_END */

/* S75B_PRICING_TOGGLE_CENTER_ALL_START */
.pricing-plans-paid-toggle > .pricing-toggle-over-paid {
  grid-column: 1 / -1 !important;
  justify-self: center !important;
  align-self: center;
  width: max-content;
  max-width: 100%;
  margin: 0 auto 40px !important;
}

@media (max-width: 980px) {
  .pricing-plans-paid-toggle > .pricing-toggle-over-paid {
    grid-column: 1 / -1 !important;
    margin-bottom: 24px !important;
  }
}
/* S75B_PRICING_TOGGLE_CENTER_ALL_END */

/* S75B_CONFRONTO_HEADING_CLEAN_START */
.compare-heading-clean .eyebrow::before,
.compare-heading-clean .eyebrow:before {
  display: none !important;
  content: none !important;
}

.compare-heading-clean .eyebrow {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.compare-heading-clean h1 em,
.compare-heading-clean h2 em,
.compare-heading-clean h3 em {
  color: var(--accent, #ff6200);
  font-style: italic;
  white-space: nowrap;
}
/* S75B_CONFRONTO_HEADING_CLEAN_END */

/* S75B_COMPARE_VISIBLE_TABLE_HARDFIX_START */
.s75b-compare-wrap,
.compare-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.s75b-compare-table {
  width: 100%;
  border-collapse: collapse;
}

.s75b-compare-table th,
.s75b-compare-table td {
  border-bottom: 1px solid rgba(255,255,255,.08);
  padding: 18px 16px;
}

.s75b-compare-table th {
  color: rgba(255,255,255,.72);
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  text-align: center;
}

.s75b-compare-table th:first-child,
.s75b-compare-table td:first-child {
  text-align: left;
}

.s75b-compare-table td.yes,
.s75b-compare-table td.no {
  width: 120px;
  text-align: center;
  font-weight: 900;
}

.s75b-compare-table td.yes {
  color: var(--accent, #ff6200);
}

.s75b-compare-table td.no {
  color: rgba(255,255,255,.34);
}

@media (max-width: 760px) {
  .s75b-compare-table th,
  .s75b-compare-table td {
    padding: 14px 10px;
  }

  .s75b-compare-table td.yes,
  .s75b-compare-table td.no {
    width: 58px;
  }
}
/* S75B_COMPARE_VISIBLE_TABLE_HARDFIX_END */

/* S75B_COMPARE_GRAPHIC_LIKE_PREVIOUS_START */
.s75b-compare-wrap,
.compare-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.s75b-compare-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  table-layout: fixed;
  background: transparent;
}

.s75b-compare-table thead th {
  padding: 0 16px 18px;
  border-bottom: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.72);
  font-size: 12px;
  line-height: 1;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-align: center;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-weight: 700;
}

.s75b-compare-table thead th:first-child {
  text-align: left;
}

.s75b-compare-table tbody td {
  padding: 18px 16px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.92);
  font-size: 16px;
  line-height: 1.45;
  vertical-align: middle;
  background: transparent !important;
}

.s75b-compare-table tbody tr:last-child td {
  border-bottom: 0;
}

.s75b-compare-table th:first-child,
.s75b-compare-table td:first-child {
  width: auto;
  text-align: left;
  padding-left: 16px;
}

.s75b-compare-table th:nth-child(2),
.s75b-compare-table th:nth-child(3),
.s75b-compare-table td:nth-child(2),
.s75b-compare-table td:nth-child(3) {
  width: 118px;
  text-align: center;
}

.s75b-compare-table td.yes,
.s75b-compare-table td.no {
  font-size: 16px;
  font-weight: 900;
}

.s75b-compare-table td.yes {
  color: var(--accent, #ff6200);
}

.s75b-compare-table td.no {
  color: rgba(255,255,255,.28);
}

@media (max-width: 760px) {
  .s75b-compare-table {
    min-width: 640px;
  }

  .s75b-compare-table tbody td {
    padding: 16px 12px;
    font-size: 15px;
  }

  .s75b-compare-table th:nth-child(2),
  .s75b-compare-table th:nth-child(3),
  .s75b-compare-table td:nth-child(2),
  .s75b-compare-table td:nth-child(3) {
    width: 76px;
  }
}
/* S75B_COMPARE_GRAPHIC_LIKE_PREVIOUS_END */

/* S75B_COMPARE_GENERATORE_PIANO_ORANGE_START */
.s75b-compare-table td.s75b-orange-row-label {
  color: var(--accent, #ff6200) !important;
  font-weight: 800;
}
/* S75B_COMPARE_GENERATORE_PIANO_ORANGE_END */

/* S75B_COMPARE_GENERATORE_SUBMENU_START */
.s75b-compare-table tr.s75b-generator-subrow td {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  font-size: 15px;
  color: rgba(255,255,255,.78);
  border-bottom-color: rgba(255,255,255,.055);
}

.s75b-compare-table tr.s75b-generator-subrow td:first-child {
  padding-left: 42px !important;
  position: relative;
}

.s75b-compare-table tr.s75b-generator-subrow td:first-child::before {
  content: "•";
  position: absolute;
  left: 22px;
  color: var(--accent, #ff6200);
  font-weight: 900;
}

.s75b-compare-table tr.s75b-generator-subrow td.yes {
  color: var(--accent, #ff6200);
  font-weight: 900;
}

.s75b-compare-table tr.s75b-generator-subrow td.no {
  color: rgba(255,255,255,.28);
}

@media (max-width: 760px) {
  .s75b-compare-table tr.s75b-generator-subrow td:first-child {
    padding-left: 32px !important;
  }

  .s75b-compare-table tr.s75b-generator-subrow td:first-child::before {
    left: 14px;
  }
}
/* S75B_COMPARE_GENERATORE_SUBMENU_END */

/* S75B_COMPARE_EXTRA_SUBMENUS_START */
.s75b-compare-table tr.s75b-compare-subrow td {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  font-size: 15px;
  color: rgba(255,255,255,.78);
  border-bottom-color: rgba(255,255,255,.055);
}

.s75b-compare-table tr.s75b-compare-subrow td:first-child {
  padding-left: 42px !important;
  position: relative;
}

.s75b-compare-table tr.s75b-compare-subrow td:first-child::before {
  content: "•";
  position: absolute;
  left: 22px;
  color: var(--accent, #ff6200);
  font-weight: 900;
}

.s75b-compare-table tr.s75b-compare-subrow td.yes {
  color: var(--accent, #ff6200);
  font-weight: 900;
}

.s75b-compare-table tr.s75b-compare-subrow td.no {
  color: rgba(255,255,255,.28);
}

@media (max-width: 760px) {
  .s75b-compare-table tr.s75b-compare-subrow td:first-child {
    padding-left: 32px !important;
  }

  .s75b-compare-table tr.s75b-compare-subrow td:first-child::before {
    left: 14px;
  }
}
/* S75B_COMPARE_EXTRA_SUBMENUS_END */

/* S75B_COMPARE_PLAN_FUNCTIONS_HARDFIX_START */
.s75b-compare-table tr.s75b-plan-functions-subrow td {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  font-size: 15px;
  color: rgba(255,255,255,.78);
  border-bottom-color: rgba(255,255,255,.055);
}

.s75b-compare-table tr.s75b-plan-functions-subrow td:first-child {
  padding-left: 42px !important;
  position: relative;
}

.s75b-compare-table tr.s75b-plan-functions-subrow td:first-child::before {
  content: "•";
  position: absolute;
  left: 22px;
  color: var(--accent, #ff6200);
  font-weight: 900;
}

.s75b-compare-table tr.s75b-plan-functions-subrow td.yes {
  color: var(--accent, #ff6200);
  font-weight: 900;
}

.s75b-compare-table tr.s75b-plan-functions-subrow td.no {
  color: rgba(255,255,255,.28);
}
/* S75B_COMPARE_PLAN_FUNCTIONS_HARDFIX_END */

/* S75B_COMPARE_SUBMENUS_CANONICAL_START */
.s75b-compare-table tr.s75b-compare-subrow td {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  font-size: 15px;
  color: rgba(255,255,255,.78);
  border-bottom-color: rgba(255,255,255,.055);
}

.s75b-compare-table tr.s75b-compare-subrow td:first-child {
  padding-left: 42px !important;
  position: relative;
}

.s75b-compare-table tr.s75b-compare-subrow td:first-child::before {
  content: "•" !important;
  display: block !important;
  position: absolute;
  left: 22px;
  color: var(--accent, #ff6200);
  font-weight: 900;
}

.s75b-compare-table tr.s75b-compare-subrow td.yes {
  color: var(--accent, #ff6200);
  font-weight: 900;
}

.s75b-compare-table tr.s75b-compare-subrow td.no {
  color: rgba(255,255,255,.28);
}

.s75b-compare-table td.s75b-orange-row-label {
  color: var(--accent, #ff6200) !important;
  font-weight: 800;
}
/* S75B_COMPARE_SUBMENUS_CANONICAL_END */

/* S75B_GENERATOR_MAIN_FORCE_WHITE_START */
.s75b-compare-table td.s75b-generator-main-white,
.s75b-compare-table td.s75b-generator-main-white * {
  color: rgba(255,255,255,.92) !important;
  font-weight: 400 !important;
}
/* S75B_GENERATOR_MAIN_FORCE_WHITE_END */
