.ric-switch-page,
.ric-switch-home,
.ric-why-home {
  --switch-ink: #2b1c24;
  --switch-wine: #7f1f29;
  --switch-paper: #faf7f5;
  --switch-line: #e7dcdd;
  color: var(--switch-ink);
}
.ric-switch-page h1,
.ric-switch-page h2,
.ric-switch-home h2,
.ric-why-home h2 { font-weight: 750; letter-spacing: -.045em; line-height: 1.1; }
.ric-switch-page h1 { font-size: clamp(2.7rem, 4.3vw, 4.6rem); margin-bottom: 1.5rem; }
.ric-switch-page h1 em { display: block; color: var(--switch-wine); font-style: normal; }
.ric-switch-page h2,
.ric-switch-home h2,
.ric-why-home h2 { font-size: clamp(2rem, 3.1vw, 3.3rem); margin-bottom: 1.4rem; }
.ric-switch-page h3 { font-size: 1.25rem; line-height: 1.3; font-weight: 700; }
.ric-switch-page p { line-height: 1.75; }
.ric-switch-eyebrow { font-size: .73rem; line-height: 1.4; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; color: #7f1f29; margin: 0 0 1.25rem; }
.ric-switch-lead { font-size: clamp(1.05rem, 1.25vw, 1.2rem); line-height: 1.75; color: #655861; }
.ric-switch-hero { padding: 9.5rem 0 4rem; background: var(--switch-paper); border-bottom: 1px solid var(--switch-line); }
.ric-switch-hero nav:first-child { display: flex; gap: .65rem; align-items: center; margin-bottom: 3rem; font-size: .78rem; color: #786c73; }
.ric-switch-hero nav:first-child a { color: inherit; }
.ric-switch-button { background: #7f1f29; border: 1px solid #7f1f29; color: #fff; border-radius: .6rem; padding: .95rem 1.35rem; font-weight: 650; font-size: .95rem; line-height: 1.4; min-height: 48px; white-space: normal; }
.ric-switch-button:hover { background: #5e1720; border-color: #5e1720; color: #fff; }
.ric-switch-button-light { color: #681c28; background: #fff; border-color: #fff; }
.ric-switch-button-light:hover { color: #681c28; background: #f3e7e9; border-color: #f3e7e9; }
.ric-switch-text-link { display: inline-flex; gap: .6rem; align-items: center; color: #7f1f29; font-size: .93rem; font-weight: 700; text-decoration: none; min-height: 44px; }
.ric-switch-text-link:hover { color: #4b1720; text-decoration: underline; }
.ric-switch-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.4rem; margin-top: 1.75rem; }
.ric-switch-player { margin: 0; border-radius: 1rem; overflow: hidden; background: #2b1c24; box-shadow: 0 15px 45px #2b1c2414; }
.ric-switch-player video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; background: #2b1c24; }
.ric-switch-player figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .5rem; padding: .85rem 1.15rem; color: #eadfe3; font-size: .72rem; line-height: 1.5; }
.ric-switch-player figcaption span:last-child { color: #c9b8c3; }
.ric-switch-origin { padding-top: 3.5rem; }
.ric-switch-brand-heading { text-align: center; font-size: .8rem; color: #786b74; margin: 0 0 1.1rem; }
.ric-switch-brands { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; border: 1px solid #e7dcdd; background: #e7dcdd; border-radius: .7rem; overflow: hidden; }
.ric-switch-brand { background: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .3rem; padding: 1.35rem .75rem; min-width: 0; min-height: 110px; text-align: center; }
.ric-switch-brand img { max-width: 100%; object-fit: contain; height: 44px; width: 150px; }
.ric-switch-brand[data-brand="fenice"] img { width: 32px; height: 32px; }
.ric-switch-brand[data-brand="pleos"] img { background: #243c54; padding: 9px; border-radius: 5px; height: 48px; }
.ric-switch-brand strong { font-size: 1.1rem; letter-spacing: -.03em; }
.ric-switch-brand small { font-size: .64rem; color: #6e6169; }
.ric-switch-note { font-size: .78rem; line-height: 1.65; color: #756b72; margin-top: 1rem; }
.ric-switch-origin > .ric-switch-note { text-align: center; }
.ric-switch-section { padding: 5.5rem 0; }
.ric-switch-section-heading { max-width: 790px; margin-bottom: 2.6rem; }
.ric-switch-section-heading > p:last-child { color: #6e6169; font-size: 1.05rem; }
.ric-switch-data-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.4rem; }
.ric-switch-data-item { display: flex; gap: 1.1rem; align-items: start; }
.ric-switch-data-item > i { color: #7f1f29; font-size: 1.7rem; flex: 0 0 30px; }
.ric-switch-data-item p { font-size: .91rem; color: #6e6169; margin: .65rem 0 0; }
.ric-switch-independence { display: flex; gap: 1.5rem; align-items: start; margin-top: 3rem; padding: 2rem; border-radius: .8rem; background: #f7f0ee; border-left: 4px solid #7f1f29; }
.ric-switch-independence > i { font-size: 2rem; color: #7f1f29; }
.ric-switch-independence p { margin-bottom: 0; color: #63555f; font-size: .95rem; }
.ric-switch-path { background: #faf7f5; }
.ric-switch-sticky { position: sticky; top: 8rem; }
.ric-switch-steps { margin: 0; padding: 0; list-style: none; }
.ric-switch-steps li { display: flex; gap: 1.6rem; padding: 0 0 2rem; margin: 0 0 2rem; border-bottom: 1px solid #e3d7da; }
.ric-switch-steps li:last-child { margin-bottom: 0; }
.ric-switch-step-number { color: #a3777e; font-size: 1.75rem; line-height: 1; font-weight: 500; letter-spacing: -.08em; flex: 0 0 42px; padding-top: .15rem; }
.ric-switch-steps h3 { font-size: 1.38rem; margin-bottom: .9rem; }
.ric-switch-steps p { margin-bottom: 0; font-size: .95rem; color: #655861; }
.ric-switch-faq-container { max-width: 960px; }
.ric-switch-faq { border-top: 1px solid #e7dcdd; }
.ric-switch-faq details { border-bottom: 1px solid #e7dcdd; padding: 1.3rem 0; }
.ric-switch-faq summary { display: flex; justify-content: space-between; gap: 1.5rem; cursor: pointer; font-weight: 650; line-height: 1.5; list-style: none; }
.ric-switch-faq summary::-webkit-details-marker { display: none; }
.ric-switch-faq details[open] summary > i { transform: rotate(45deg); }
.ric-switch-faq p { margin: 1rem 2.5rem 0 0; font-size: .94rem; color: #6e6169; }
.ric-switch-cta { background: #5e1f29; color: #fff; padding: 4.5rem 0; }
.ric-switch-cta-inner { display: grid; grid-template-columns: 1fr auto; gap: 3rem; align-items: center; }
.ric-switch-cta-inner > div:first-child { max-width: 700px; }
.ric-switch-cta-inner p { color: #ead6dc; margin-bottom: 0; }
.ric-switch-cta-inner .ric-switch-eyebrow { color: #ddb4bd; margin-bottom: 1rem; }
.ric-switch-cta-inner small { display: block; color: #ddc1c9; font-size: .7rem; margin-top: .85rem; text-align: center; }
.ric-switch-home { padding: 4.5rem 0; background: #f8f3f1; }
.ric-switch-home-panel { display: grid; grid-template-columns: 1fr 1.1fr; align-items: center; gap: 3.5rem; margin-bottom: 2.75rem; }
.ric-switch-home-copy > p:not(.ric-switch-eyebrow) { font-size: 1.07rem; color: #6e6169; line-height: 1.75; margin-bottom: 1.6rem; }
.ric-switch-home-steps { display: flex; align-items: center; gap: .9rem; margin-top: 2rem; }
.ric-switch-home-steps span { font-size: .72rem; color: #96626b; border: 1px solid #dec6cc; border-radius: 50%; width: 29px; height: 29px; display: grid; place-items: center; position: relative; }
.ric-switch-home-steps span + span::before { content: ""; height: 1px; background: #dec6cc; width: .9rem; position: absolute; right: 100%; }
.ric-why-home { padding: 5rem 0; background: #fff; }
.ric-why-home-highlights { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; color: #5e1f29; font-size: .78rem; font-weight: 600; }
.ric-why-home-highlights i { margin-right: .35rem; }
.ric-why-index { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #e7dcdd; margin-top: 3.5rem; padding-top: 1.75rem; gap: .85rem 1.5rem; }
.ric-why-index a { display: flex; align-items: start; gap: .7rem; color: #66515d; text-decoration: none; font-size: .79rem; line-height: 1.5; padding: .35rem 0; }
.ric-why-index a:hover { color: #7f1f29; text-decoration: underline; }
.ric-why-index span { color: #a17a82; font-variant-numeric: tabular-nums; }
.ric-why-features { border-top: 1px solid #e7dcdd; }
.ric-why-feature { display: grid; grid-template-columns: 1fr 1.75fr; gap: 3rem; padding: 2.6rem 0; border-bottom: 1px solid #e7dcdd; scroll-margin-top: 8rem; }
.ric-why-feature-heading { display: grid; grid-template-columns: 30px 34px 1fr; gap: .8rem; align-items: start; }
.ric-why-feature-heading h3 { font-size: 1.25rem; margin: .1rem 0 0; }
.ric-why-feature-heading > i { color: #7f1f29; font-size: 1.6rem; line-height: 1; }
.ric-why-feature-number { font-size: .75rem; color: #a17a82; padding-top: .4rem; }
.ric-why-feature-body > p { color: #6b5e67; font-size: .98rem; }
.ric-why-feature-body > .ric-why-benefit { font-size: 1.5rem; line-height: 1.3; font-weight: 650; letter-spacing: -.035em; color: #2b1c24; margin-bottom: 1rem; }
.ric-why-feature-body > .ric-switch-note { font-size: .78rem; }
.ric-switch-admin-logos { display: flex; flex-wrap: wrap; align-items: center; gap: 1.4rem; margin: 1.5rem 0; }
.ric-switch-admin-logos img { width: 110px; height: 38px; object-fit: contain; }
.ric-switch-telephony-logos { display: flex; flex-wrap: wrap; align-items: stretch; gap: .8rem; margin: 1.5rem 0; }
.ric-switch-telephony-brand { display: flex; align-items: center; justify-content: center; gap: .45rem; min-width: 155px; padding: .8rem 1rem; border-radius: .55rem; background: #172a3b; color: #fff; font-size: 1.1rem; font-weight: 650; }
.ric-switch-telephony-brand img { width: 115px; height: 44px; object-fit: contain; }
.ric-switch-telephony-brand[data-brand="asterisk"] img { width: 40px; height: 40px; }
.ric-why-statistics { background: #f5edef; scroll-margin-top: 7rem; }
.ric-why-statistics ul { list-style: none; padding: 0; margin: 0; }
.ric-why-statistics li { display: flex; gap: .8rem; padding: .9rem 0; border-bottom: 1px solid #dfcdd2; font-size: .95rem; line-height: 1.5; }
.ric-why-statistics li > i { color: #7f1f29; font-size: 1.1rem; }
.ric-switch-crosslink { padding: 2rem 0; border-top: 1px solid #e7dcdd; }
.ric-switch-crosslink > .container { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
.ric-switch-crosslink span { font-size: 1.1rem; font-weight: 600; }
.ric-switch-page a:focus-visible,
.ric-switch-home a:focus-visible,
.ric-why-home a:focus-visible,
.ric-switch-faq summary:focus-visible { outline: 3px solid #b88a34; outline-offset: 5px; }
body:has(.ric-switch-page) .whatsapp-container,
body:has(.ric-switch-page) #ai-chatbot-widget { display: none; }
#passa-a-restincloud, #perche-restincloud, #percorso, #importazione-dati { scroll-margin-top: 7rem; }

@media (min-width: 992px) {
  .navbar-incloud .navbar-nav .nav-link { padding-inline: .4rem; font-size: clamp(.78rem, .9vw, .95rem); white-space: nowrap; }
  .navbar-incloud .navbar-brand { margin-right: .8rem; }
}
@media (max-width: 991.98px) {
  .ric-switch-home-panel { grid-template-columns: 1fr; gap: 2rem; }
  .ric-switch-data-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ric-switch-sticky { position: static; }
  .ric-switch-hero { padding-top: 8rem; }
  .ric-switch-cta-inner { grid-template-columns: 1fr; gap: 1.5rem; }
  .ric-switch-cta-inner small { text-align: left; }
  .ric-why-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
  .ric-switch-hero { padding-top: 7.4rem; padding-bottom: 2.5rem; }
  .ric-switch-hero nav:first-child { margin-bottom: 2rem; }
  .ric-switch-section, .ric-switch-home, .ric-why-home { padding: 3.3rem 0; }
  .ric-switch-brands { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ric-switch-brand:last-child { grid-column: 1 / -1; }
  .ric-switch-data-grid { grid-template-columns: 1fr; gap: 1.8rem; }
  .ric-switch-independence { padding: 1.3rem; gap: 1rem; }
  .ric-switch-steps li { gap: 1rem; }
  .ric-switch-step-number { flex-basis: 32px; }
  .ric-why-feature { grid-template-columns: 1fr; gap: 1.25rem; padding: 2rem 0; }
  .ric-why-index { gap: .7rem; }
  .ric-switch-cta { padding: 3rem 0; }
  .ric-switch-page .row, .ric-why-home .row { --bs-gutter-x: 1.5rem; }
}
