/* Pagina Metodo SIM: variante scura completa, inclusi header e footer. */
.method-sim-page { color: #fff; background: #080a0b; }
.method-sim-page .site-header { border-bottom-color: rgba(255,255,255,.08); background: rgba(15,16,18,.82); box-shadow: none; backdrop-filter: blur(18px) saturate(160%); -webkit-backdrop-filter: blur(18px) saturate(160%); }
.method-sim-page .site-header .brand-logo img { filter: brightness(0) invert(1); }
.method-sim-page .main-nav a { color: rgba(255,255,255,.88); }
.method-sim-page .main-nav a:hover,.method-sim-page .main-nav a.is-current { color: var(--waves-green); }
.method-sim-page .main-nav a.is-current::after { inset: auto 0 0; }
.method-sim-page .header-cta { border-radius: 18px; color: #fff; }
.method-sim-page .site-footer { border-top-color: rgba(255,255,255,.08); color: rgba(255,255,255,.58); background: #080a0b; }
.method-sim-page .footer-column h2,.method-sim-page .footer-contact strong,.method-sim-page .footer-social a { color: #fff; }
.method-sim-page .footer-column a,.method-sim-page .footer-column p,.method-sim-page .footer-brand>p { color: rgba(255,255,255,.58); }
.method-sim-page .footer-bottom { border-top-color: rgba(255,255,255,.08); }
.method-sim-page .footer-logo img { filter: brightness(0) invert(1); }
.method-sim-page .language-switch-desktop .language-switch,.method-sim-page .language-switch { border-color: #fff!important; background: #080a0b!important; box-shadow: none!important; backdrop-filter: none!important; -webkit-backdrop-filter: none!important; }
.method-sim-page .language-switch a { color: #fff; }
.method-sim-page .language-switch > span { background: rgba(255,255,255,.42); }
.method-sim-page .language-switch a:hover,.method-sim-page .language-switch a.is-active { color: #fff; background: rgba(255,255,255,.14); box-shadow: inset 0 0 0 1px #fff; }

.sim-page { overflow: hidden; color: #fff; background: #080a0b; }
.sim-page::before { position: fixed; z-index: 0; inset: 0; background-image: radial-gradient(circle,rgba(5,148,68,.14) 0 1px,transparent 1.4px); background-size: 96px 96px; content: ""; opacity: .10; pointer-events: none; }
.sim-page>section { position: relative; z-index: 1; }
.sim-hero { display: flex; align-items: center; min-height: 100vh; min-height: 100svh; padding: 110px 0 40px; overflow: hidden; background-color: #080a0b; background-image: linear-gradient(90deg,#080a0b 4%,rgba(8,10,11,.86) 28%,rgba(8,10,11,.15) 66%,rgba(8,10,11,.025)),linear-gradient(180deg,rgba(8,10,11,.035),rgba(8,10,11,.22) 68%,rgba(8,10,11,.92) 100%),url("sim-hero.png"); background-position: center,center,103% 30%; background-size: cover,cover,115% auto; background-repeat: no-repeat; }
.sim-hero::before { position: absolute; z-index: 0; inset: 0; background: radial-gradient(circle at 74% 40%,rgba(255,255,255,.065),transparent 32%),radial-gradient(circle at 64% 53%,rgba(5,148,68,.035),transparent 38%); content: ""; opacity: .82; pointer-events: none; mix-blend-mode: screen; }
.sim-hero::after { position: absolute; z-index: 1; inset: auto 0 0; height: 160px; background: linear-gradient(transparent,#080a0b); content: ""; pointer-events: none; }
.sim-hero-inner { position: relative; z-index: 2; }
.sim-hero-copy { max-width: 620px; }
.sim-eyebrow { margin: 0 0 28px; color: var(--waves-green); font-size: 13px; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.sim-eyebrow::before { display: inline-block; width: 25px; height: 1px; margin: 0 10px 4px 0; background: currentColor; content: ""; }
.sim-hero h1 { margin: 0; font-size: clamp(70px,7vw,104px); font-weight: 750; line-height: .91; letter-spacing: -.065em; }.sim-hero h1 span { color: var(--waves-green); }
.sim-hero-copy>p:not(.sim-eyebrow) { max-width: 570px; margin: 34px 0 0; color: rgba(255,255,255,.70); font-size: 20px; line-height: 1.6; text-align:justify; text-align-last:left; }
.sim-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 40px; }
.sim-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 60px; padding: 0 23px; border: 1px solid var(--waves-green); border-radius: 16px; color: #fff; font-size: 14px; font-weight: 700; transition: background .28s ease-out,box-shadow .28s ease-out,transform .28s ease-out; }
.sim-button span { transition: transform .28s ease-out; }
.sim-button:hover { transform: translateY(-2px); }
.sim-button:hover span { transform: translateX(4px); }
.sim-button-primary { background: var(--waves-green); box-shadow: 0 14px 36px rgba(5,148,68,.18); }
.sim-button-primary:hover { background: #047f3a; }
.sim-button-secondary { background: rgba(255,255,255,.025); backdrop-filter: blur(14px); }
.sim-button-secondary:hover { background: var(--waves-green); }

.sim-section { padding: 130px 0; background: #080a0b; }
.sim-section:nth-of-type(even) { background: #0a0c0e; }
.sim-section-head { max-width: 850px; margin-bottom: 60px; }
.sim-section-head.sim-center { margin-inline: auto; text-align: center; }
.sim-section-head.sim-center .sim-eyebrow::before { display: none; }
.sim-section h2 { margin: 0; font-size: clamp(48px,4.6vw,68px); font-weight: 720; line-height: 1.02; letter-spacing: -.052em; }
.sim-section h2 span { color: var(--waves-green); }
.sim-copy-block>p:not(.sim-eyebrow),.sim-final-card>div>p:not(.sim-eyebrow) { max-width: 620px; margin: 32px 0 0; color: rgba(255,255,255,.66); font-size: 19px; line-height: 1.65; }
.sim-glass { border: 1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.045); box-shadow: 0 34px 90px rgba(0,0,0,.24),inset 0 1px 1px rgba(255,255,255,.09); backdrop-filter: blur(24px) saturate(170%); -webkit-backdrop-filter: blur(24px) saturate(170%); transition: border-color .32s ease-out,background .32s ease-out,box-shadow .32s ease-out,transform .32s ease-out; }
.sim-glass:hover { border-color: rgba(5,148,68,.42); background: rgba(255,255,255,.06); box-shadow: 0 40px 100px rgba(0,0,0,.32),0 16px 50px rgba(5,148,68,.07),inset 0 1px 1px rgba(255,255,255,.12); transform: translateY(-6px); }
.sim-icon { display: grid; place-items: center; width: 62px; height: 62px; border: 1px solid rgba(5,148,68,.28); border-radius: 18px; color: var(--waves-green); background: rgba(5,148,68,.055); }
.sim-icon svg { width: 34px; height: 34px; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.sim-meaning-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 26px; }
.sim-letter-card { position: relative; display: flex; flex-direction: column; min-height: 440px; padding: 42px; overflow: hidden; border-radius: 28px; }
.sim-letter-card::after { position: absolute; right: 12%; bottom: -2px; left: 12%; height: 2px; background: var(--waves-green); box-shadow: 0 0 28px 8px rgba(5,148,68,.38); content: ""; }
.sim-letter-row { display: flex; align-items: center; gap: 24px; }
.sim-letter { color: var(--waves-green); font-size: 76px; font-weight: 800; line-height: 1; letter-spacing: -.06em; }
.sim-letter-card h3 { margin: 0 0 4px; font-size: 29px; letter-spacing: -.03em; }
.sim-letter-card strong { color: var(--waves-green); font-size: 14px; }
.sim-letter-card p { margin: 42px 0 35px; color: rgba(255,255,255,.68); font-size: 16px; line-height: 1.65; }
.sim-letter-card .sim-icon { margin-top: auto; }

.sim-split { display: grid; grid-template-columns: minmax(0,42fr) minmax(0,58fr); gap: 90px; align-items: center; }
.sim-small-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.sim-small-card { min-height: 245px; padding: 30px; border-radius: 22px; }
.sim-small-card .sim-icon { width: 54px; height: 54px; border-radius: 16px; }
.sim-small-card h3 { margin: 28px 0 12px; font-size: 22px; }
.sim-small-card p { margin: 0; color: rgba(255,255,255,.62); font-size: 15px; line-height: 1.55; }

.sim-phases .sim-section-head h2 { font-size: clamp(54px,5.2vw,76px); }
.sim-phase-grid { position: relative; display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.sim-phase-grid::before { position: absolute; z-index: -1; top: 71px; right: 10%; left: 10%; height: 1px; background: linear-gradient(90deg,transparent,var(--waves-green),transparent); content: ""; opacity: .45; }
.sim-phase-card { min-height: 360px; padding: 34px; border-radius: 26px; }
.sim-phase-number { float: right; color: rgba(5,148,68,.78); font-size: 13px; font-weight: 700; letter-spacing: .06em; }
.sim-phase-card h3 { margin: 34px 0 16px; font-size: 34px; letter-spacing: -.035em; }
.sim-phase-card p { margin: 0; color: rgba(255,255,255,.65); font-size: 16px; line-height: 1.6; }

.sim-output-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.sim-output-card { display: grid; grid-template-columns: 42px 1fr; gap: 16px; align-items: center; min-height: 92px; padding: 20px; border-radius: 19px; }
.sim-output-card span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; color: var(--waves-green); background: rgba(5,148,68,.06); }
.sim-output-card svg { width: 25px; height: 25px; stroke: currentColor; stroke-width: 2; }
.sim-output-card h3 { margin: 0; font-size: 16px; line-height: 1.35; }

.sim-benefit-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 14px; }
.sim-benefit-card { min-height: 290px; padding: 26px; border-radius: 22px; }
.sim-benefit-card .sim-icon { width: 54px; height: 54px; border-radius: 16px; }
.sim-benefit-card h3 { margin: 30px 0 13px; font-size: 21px; line-height: 1.15; }
.sim-benefit-card p { margin: 0; color: rgba(255,255,255,.62); font-size: 14px; line-height: 1.55; }

/* Landing SIM 2026: risultati di fase, note di perimetro e casi d'uso. */
.sim-problem-card { min-height: 260px; }
.sim-phase-card { display: flex; flex-direction: column; }
.sim-phase-card .sim-phase-detail { margin-top: 18px; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.09); }
.sim-phase-card .sim-phase-detail strong { display: block; margin-bottom: 6px; color: #fff; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.sim-phase-card .sim-phase-detail span { color: rgba(255,255,255,.58); font-size: 14px; line-height: 1.55; }
.sim-output-note { margin-top: 22px!important; color: rgba(255,255,255,.48)!important; font-size: 13px!important; line-height: 1.55!important; }
.sim-output-note a { color: rgba(255,255,255,.82); text-decoration: underline; text-decoration-color: rgba(5,148,68,.55); text-underline-offset: 3px; transition: color .2s ease-out,text-decoration-color .2s ease-out; }
.sim-output-note a:hover { color: #fff; text-decoration-color: var(--waves-green); }
.sim-use-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.sim-use-card { min-height: 285px; padding: 28px; border-radius: 22px; }
.sim-use-card h3 { margin: 28px 0 12px; font-size: 21px; line-height: 1.2; }
.sim-use-card p { margin: 0; color: rgba(255,255,255,.62); font-size: 14px; line-height: 1.58; }
.sim-final-proof { margin-top: 20px!important; color: rgba(255,255,255,.48)!important; font-size: 14px!important; }

.sim-final { padding-top: 50px; }
.sim-final-card { position: relative; display: grid; grid-template-columns: 1.2fr auto; gap: 70px; align-items: center; padding: 72px; overflow: hidden; border-radius: 30px; }
.sim-final-card::before { position: absolute; inset: 0; background-image: linear-gradient(115deg,rgba(5,148,68,.08),transparent 44%),radial-gradient(circle,rgba(5,148,68,.18) 0 1px,transparent 1.4px); background-size: auto,64px 64px; content: ""; opacity: .35; pointer-events: none; }
.sim-final-card>* { position: relative; }
.sim-final-card h2 { font-size: clamp(48px,4.6vw,68px); }
.sim-final-card .sim-actions { flex-direction: column; min-width: 285px; margin: 0; }
.sim-final-card .sim-button { width: 100%; }

body.motion-ready .sim-page .reveal-section { opacity: 0; transform: translateY(35px); }
body.motion-ready .sim-page .reveal-section.is-revealed { opacity: 1; transform: none; transition: opacity .55s cubic-bezier(.22,.61,.36,1),transform .55s cubic-bezier(.22,.61,.36,1); }
body.motion-ready .sim-page .sim-glass.reveal-card.is-revealed:hover { transform: translateY(-6px); }

@media (max-width:1100px) {
  .method-sim-page .main-nav { background: rgba(15,16,18,.98); }
  .method-sim-page .menu-toggle span { background: #fff; }
  .sim-hero { min-height: 840px; background-position: center,right center,62% center; }
  .sim-hero h1 { font-size: clamp(66px,9vw,88px); }
  .sim-section { padding: 100px 0; }
  .sim-meaning-grid { grid-template-columns: 1fr 1fr; }
  .sim-letter-card:last-child { grid-column: 1/-1; min-height: 360px; }
  .sim-split { grid-template-columns: 1fr; gap: 60px; }
  .sim-phase-grid { grid-template-columns: 1fr; }
  .sim-phase-grid::before { top: 8%; bottom: 8%; left: 50px; width: 1px; height: auto; }
  .sim-phase-card { min-height: 0; padding-left: 115px; }
  .sim-phase-card .sim-icon { position: absolute; left: 30px; }
  .sim-benefit-grid { grid-template-columns: repeat(2,1fr); }
  .sim-use-grid { grid-template-columns: 1fr 1fr; }
  .sim-final-card { grid-template-columns: 1fr; }
  .sim-final-card .sim-actions { flex-direction: row; }
}

@media (max-width:700px) {
  .sim-hero { min-height: 760px; padding: 110px 0 70px; background-image: linear-gradient(90deg,rgba(8,10,11,.96),rgba(8,10,11,.58)),linear-gradient(180deg,transparent,#080a0b),url("sim-hero.png"); background-position: center; background-size: cover; }
  .sim-hero h1 { font-size: clamp(54px,16vw,70px); }
  .sim-hero-copy>p:not(.sim-eyebrow) { font-size: 17px; }
  .sim-actions,.sim-final-card .sim-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .sim-button { width: 100%; }
  .sim-section { padding: 80px 0; }
  .sim-section h2 { font-size: 42px; }
  .sim-section-head { margin-bottom: 40px; }
  .sim-meaning-grid,.sim-small-grid,.sim-output-grid,.sim-benefit-grid { grid-template-columns: 1fr; }
  .sim-letter-card,.sim-letter-card:last-child { grid-column: auto; min-height: 390px; padding: 30px; }
  .sim-letter { font-size: 64px; }
  .sim-phase-card { padding: 28px 25px; }
  .sim-phase-card { display: block; }
  .sim-phase-card .sim-icon { position: static; }
  .sim-phase-grid::before { display: none; }
  .sim-final-card { gap: 40px; padding: 38px 26px; }
  .sim-final-card .sim-actions { min-width: 0; }
  .sim-use-grid { grid-template-columns: 1fr; }
}

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