*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:#C62F5F}
body{background:#FFFDF8;color:#211b22;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
input,button,textarea{font:inherit;color:inherit}
[data-consent-choice]{flex:1 1 0}
[data-consent-accept] > span{display:inline-block;transform:translateX(-2.5px)}
summary::-webkit-details-marker{display:none}
::selection{background:#d7f04a;color:#162d59}
a{color:#162d59}
a:hover{color:#0d1d3d}
:focus-visible{outline:3px solid #C62F5F;outline-offset:3px;border-radius:2px}
@keyframes leazrise{from{transform:translateY(108%)}to{transform:translateY(0)}}
@keyframes leazfade{from{opacity:0}to{opacity:1}}
@keyframes leazcue{0%{transform:translateY(-100%)}100%{transform:translateY(300%)}}
@keyframes consentin{from{opacity:0}to{opacity:1}}
[data-anim="on"] [data-rise]{animation:leazrise 1100ms cubic-bezier(.16,.9,.2,1) both}
[data-anim="on"] [data-rise="2"]{animation-delay:120ms}
[data-anim="on"] [data-rise="3"]{animation-delay:220ms}
[data-anim="on"] [data-fade="1"]{animation:leazfade 700ms ease 700ms both}
[data-anim="on"] [data-fade="2"]{animation:leazfade 700ms ease 900ms both}
[data-anim="on"] [data-consent]{animation:consentin 320ms cubic-bezier(.2,.8,.2,1) both}
[data-steps]::-webkit-scrollbar{display:none}
[data-track]::-webkit-scrollbar{display:none}
@media (min-width:901px){[data-showcase]{display:none!important}}
@media (min-width:561px) and (max-height:800px){
  [data-panelinner]:has([data-half]){padding-top:30px!important;padding-bottom:26px!important;gap:16px!important}
  [data-track] > article{padding:15px!important}
}
@media (max-width:900px){
  [data-catalog]{display:none!important}
  #top [data-showcase]{grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important}
  #top [data-intro-caption]{grid-column:1!important;grid-row:1!important}
  #top [data-introgallery]{grid-column:1!important;grid-row:2!important;width:94%!important;justify-self:center!important}
  #top [data-showcase].is-copy-below [data-intro-caption]{grid-row:2!important}
  #top [data-showcase].is-copy-below [data-introgallery]{grid-row:1!important}
  #top [data-intro-controls]{grid-column:1!important;grid-row:3!important}
  [data-creator]{display:flex!important;flex-direction:column}
  [data-phone]{transform:none!important;max-width:260px}
  [data-phone]::before{display:none}
  [data-creator-title]{max-width:none!important}
  [data-titlebreak]{display:none}
}
@media (max-width:560px){
  [data-curtain],[data-panel]{position:relative!important;top:auto!important;height:auto!important;min-height:100svh;overflow:visible!important}
  [data-photo-panel]{overflow:hidden!important;min-height:100svh!important}
  [data-panelinner]{padding:98px 14px 26px!important;transform:none!important;opacity:1!important}
  [data-navlabel]{display:none}
  [data-navicon]{display:inline-flex!important}
  [data-headcta]{padding:11px 16px!important}
  [data-swap]{display:none!important}
  [data-backtop]{display:inline-flex!important}
  [data-calc]{grid-template-columns:1fr!important}
  [data-calc] > div{border-right:0!important}
  #guadagno [data-panelinner]{grid-template-columns:1fr!important}
  /* slide 4 e 7 devono stare in una schermata: chip via, impatto compatto,
     lista noleggi che scrolla dentro la card */
  [data-calcchips]{display:none!important}
  [data-calc] > div{padding:16px!important;gap:14px!important}
  [data-eco]{gap:13px!important}
  [data-eco] > div:first-child{width:60px!important}
  [data-ecodesc],[data-econote]{display:none!important}
  [data-rentlist]{max-height:min(26svh,200px);overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  [data-rentlist]::-webkit-scrollbar{display:none}
  [data-rentfade]{display:block!important}
  [data-rentnote]{display:none!important}
  [data-steps]{position:relative;flex-direction:row!important;height:118px;gap:8px!important;overflow-x:hidden;overflow-y:hidden;scrollbar-width:none;touch-action:pan-y;margin-top:22px}
  [data-step]{flex:0 0 100%!important;min-width:100%;padding:10px 12px!important}
  [data-step-controls]{display:flex!important}
  [data-tile]{height:138px;max-width:none!important;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)!important}
  [data-tilephoto],[data-tileclaim]{aspect-ratio:auto!important}
  [data-footinner]{grid-template-columns:1fr!important;justify-items:center;text-align:center}
  [data-introactions]{display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:14px}
  [data-introactions] a{width:100%;text-align:center;justify-content:center}
  [data-faqanswer]{padding-left:0!important}
  [data-procards]{grid-template-columns:1fr!important}
  [data-panelinner]:has([data-half]){grid-template-columns:1fr!important}
  [data-cardbullets]{display:none!important}
  [data-track] > article{padding:14px!important}
  [data-panelinner]:has([data-half]){gap:30px!important}
  [data-half="b"]{padding:16px!important}
  [data-halfsub]{display:none!important}
  [data-matchgrid]{grid-template-columns:1fr!important}
  [data-matchbar]{padding-left:14px!important;align-items:center!important}
  /* la frase digitata va letta intera: va a capo invece di troncarsi */
  [data-matchbar] > p{white-space:normal!important;text-overflow:clip!important;font-size:clamp(16px,4.5vw,18px)!important;line-height:1.25!important}
  /* su mobile la card parte dalla ricerca: header e sottotesto lungo via */
  [data-matchhead]{display:none!important}
  [data-matchsub]{display:none!important}
  [data-matchhead] + div{padding:10px 14px 12px!important}
  [data-match] > div:last-child{padding:14px!important}
  [data-matchgrid]{row-gap:8px!important}
  [data-faqhead]{order:0!important}
  [data-costrow]{grid-template-columns:1fr 1fr!important;gap:6px 14px!important}
  [data-costrow] > span:nth-child(4){grid-column:1/-1}
  [data-proof]{grid-template-columns:1fr 1fr!important}
  [data-guard]{grid-template-columns:1fr!important}
  [data-partnerband]{grid-column:1!important;grid-row:auto!important}
  /* da mobile queste due fasce diventano slide a sé: piena larghezza,
     un'altezza schermo, spalla arrotondata come gli altri pannelli */
  [data-mobslide]{margin:0 -14px -26px!important;min-height:100svh;padding:clamp(84px,13vh,104px) 18px clamp(30px,5vh,44px)!important;display:flex!important;flex-direction:column;flex-wrap:nowrap!important;justify-content:center;border-radius:18px 18px 0 0;box-shadow:0 -26px 60px -30px rgba(13,29,61,.6)}
  [data-mobslide] > *{flex:0 0 auto!important}
  [data-mobtitle]{font-size:clamp(31px,8.6vw,42px)!important}
  [data-curtain]{height:100dvh!important;min-height:100dvh!important}
  [data-curtain-inner]{justify-content:center!important;gap:clamp(20px,5vh,40px)!important}
  [data-choice]{grid-template-columns:1fr!important;grid-template-rows:auto auto;align-content:center;align-items:center!important;gap:clamp(56px,17vh,150px)!important}
  [data-side="pro"]{align-self:end!important;padding-top:clamp(28px,7vh,64px)!important}
  [data-side="priv"]{align-self:start!important}
  [data-consent]{left:10px!important;right:10px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;padding:14px 16px!important;border-radius:14px!important}
  [data-consent] > div{gap:12px!important}
  [data-consent] p{flex:1 1 100%!important;font-size:13.5px!important;line-height:1.4!important}
  [data-consent] button{flex:1 1 0!important;min-width:0!important;padding:11px 12px!important}
  [data-halfpro]{clip-path:polygon(0 0,100% 0,100% 48%,0 52%)}
  [data-side="pro"]{padding:0!important}
  [data-side="priv"]{align-items:flex-start!important;text-align:left!important;padding:0!important}
  input,textarea{font-size:16px!important}
}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}[data-curtain],[data-panel]{position:static!important;min-height:0!important}}

/* Adattamento statico dell'export Claude Design. */
@keyframes leazcaret { 0%, 48% { opacity: 1; } 49%, 100% { opacity: 0; } }
[data-pro-page] { display: contents; }
[data-gain-title-mobile] { display: none; }
[data-partner-fixed] { display: block; }
[data-partner-fixed] > article { padding: clamp(14px,1.6vw,20px) !important; }
[data-partner-source], [data-partner-dot-source] { display: none !important; }
[data-partner-fixed] + [data-track] { margin-top: 2px; }
[data-profile-only], [data-choice-only], [data-account-only], [data-sent-only] { display: none; }
html[data-profile="pro"] [data-profile-only="pro"],
html[data-profile="priv"] [data-profile-only="priv"],
html[data-profile="pending"] [data-choice-only="pending"],
html:not([data-profile="pending"]) [data-choice-only="chosen"],
html[data-profile="pro"] [data-account-only="azienda"],
html[data-profile="priv"] [data-account-only="privato"] { display: contents; }
[data-faq-head], [data-faq-list] { order: initial; }
html[data-profile="priv"] [data-faq-head] { order: 1; }
html[data-profile="priv"] [data-faq-list] { order: 2; }
html[data-profile="pro"] [data-faq-head] { order: 2; }
html[data-profile="pro"] [data-faq-list] { order: 1; }
[data-swapbtn][aria-selected="true"] { background: #162d59 !important; color: #fdfbf7 !important; border-radius: 999px; }
[data-side]:hover [data-sidecta], [data-magnetic]:hover { transform: translateY(-2px); }
input:focus-visible, button:focus-visible, a:focus-visible { outline: 3px solid #c62f5f; outline-offset: 3px; }
[data-feedback][data-tone="error"] { color: #9c2348 !important; border-color: #9c2348 !important; }
[data-feedback][data-tone="success"] { color: #1f6b45 !important; border-color: #1f6b45 !important; }

/* Il percorso professionisti usa due pannelli distinti anche su desktop. Nel
   primo i quattro vantaggi sono tutti visibili; il secondo conserva solo la
   navigazione manuale del carosello. */
#costo > [data-panelinner] { display: block !important; }
[data-pro-benefit-grid] { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; }
[data-pro-benefit-grid] > article { min-height: 0; }
[data-track-controls] button:hover { background: rgba(22,45,89,.08) !important; }
[data-intro-controls] > button:hover { background: rgba(22,45,89,.08) !important; }
[data-step-controls] > button:hover { background: rgba(247,243,234,.12) !important; }

/* La prima schermata è un gate reale: il documento sotto non partecipa al
   layout finché l'utente non ha scelto un percorso. */
html[data-profile="pending"],
html[data-profile="pending"] body { height: 100%; overflow: hidden !important; overscroll-behavior: none; }
html[data-profile="pending"] [data-shell],
html[data-profile="pending"] header,
html[data-profile="pending"] [data-backtop] { display: none !important; }
html[data-profile="pending"] [data-curtain] { position: fixed !important; inset: 0; height: 100dvh !important; touch-action: none; }

/* La topbar compare stabilmente dalla prima slide di contenuto in poi. */
[data-bar][data-bar-mode="auto"].is-past {
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}
[data-curtainlogo] { margin-left: auto; }

/* Separatore obliquo ma con andamento orizzontale su ogni breakpoint. */
[data-halfpro] {
  clip-path: polygon(0 0, 100% 0, 100% 40%, 0 54%) !important;
  transition: clip-path 560ms cubic-bezier(.2,.8,.2,1), filter 320ms ease !important;
}
[data-choice] {
  grid-template-columns: 1fr !important;
  grid-template-rows: 1fr 1fr !important;
  align-items: center !important;
  height: min(70vh, 630px);
}
[data-side] { transition: filter 320ms ease, opacity 280ms ease, transform 420ms cubic-bezier(.2,.8,.2,1); }
[data-side="pro"] { align-self: center !important; width: min(46vw, 680px); padding: 0 !important; transform: translateY(-10px); }
[data-side="priv"] { align-self: center !important; justify-self: end; width: min(46vw, 680px); padding: 0 clamp(16px, 2vw, 32px) 0 0 !important; transform: translateY(18px); }
[data-side] h1 { font-size: clamp(30px, 4.2vw, 64px) !important; max-width: 10.5em !important; }
[data-curtain-inner] > [data-fade="2"] {
  position: absolute !important;
  left: clamp(22px, 3.2vw, 58px);
  bottom: clamp(20px, 3vw, 44px);
  right: auto !important;
  align-self: auto !important;
}
[data-curtain][data-preview="pro"] [data-halfpro] { clip-path: polygon(0 0, 100% 0, 100% 43%, 0 58%) !important; }
[data-curtain][data-preview="priv"] [data-halfpro] { clip-path: polygon(0 0, 100% 0, 100% 37%, 0 50%) !important; }
[data-curtain][data-preview="pro"] [data-side="priv"],
[data-curtain][data-preview="priv"] [data-side="pro"] { filter: brightness(.78) saturate(.9); }
[data-curtain][data-preview="pro"] [data-side="pro"],
[data-curtain][data-preview="priv"] [data-side="priv"] { filter: none; }

@media (min-width: 561px) {
  #top { justify-content: flex-start !important; }
  #top > [data-panelinner] {
    padding-top: clamp(112px, 15vh, 132px) !important;
    padding-bottom: clamp(18px, 3vh, 30px) !important;
  }
  #top > [data-panelinner] > div { gap: clamp(12px, 1.7vh, 20px) !important; }
  #top [data-catalog] { margin-top: clamp(14px, 2.4vh, 28px); }
  #top [data-catstage] { height: clamp(250px, 37vh, 350px) !important; }
  #top [data-introactions] { margin-top: clamp(4px, 1vh, 10px) !important; }
  [data-saving-title] {
    max-width: none !important;
    white-space: nowrap;
    font-size: clamp(26px, 3vw, 44px) !important;
  }
}

@media (max-width: 560px) {
  [data-bar] { padding: 10px !important; }
  [data-bar-inner] { min-height: 58px !important; }
  [data-choice] { height: min(70vh, 610px); gap: clamp(18px, 4vh, 34px) !important; }
  /* I browser mobile possono estendere il layout viewport dietro la propria
     barra superiore. Il solo safe-area-inset-top non copre sempre quella
     porzione: questa fascia minima mantiene il logo interamente visibile. */
  [data-curtain-inner] {
    justify-content: center !important;
    gap: clamp(12px, 3vh, 28px) !important;
    padding-top: max(64px, calc(env(safe-area-inset-top) + 28px)) !important;
  }
  [data-side="pro"], [data-side="priv"] { align-self: stretch !important; width: auto; }
  [data-side="pro"] { transform: none; }
  [data-side="priv"] { padding-right: 0 !important; transform: translateY(clamp(58px, 8svh, 72px)); }
  [data-side] h1 { font-size: clamp(28px, 9.5vw, 42px) !important; }
  [data-curtain-inner] > [data-fade="2"] {
    left: auto !important;
    right: 22px !important;
    bottom: max(18px, env(safe-area-inset-bottom));
  }

  /* Tutte le slide del reel, eccetto il modulo, hanno una sola fermata e una
     sola altezza viewport. Il contenuto lungo viene compattato internamente. */
  section[data-panel]:not(#lista) {
    height: 100svh !important;
    min-height: 100svh !important;
    max-height: 100svh !important;
    overflow: hidden !important;
  }
  /* Ciascuno dei due pannelli professionisti occupa una fermata mobile. */
  section#costo.panel[data-panel] {
    height: 100svh !important;
    min-height: 100svh !important;
    max-height: 100svh !important;
    overflow: hidden !important;
    justify-content: center !important;
  }
  section#costo.panel[data-panel] > [data-panelinner] {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    padding: clamp(104px, 13svh, 116px) 14px clamp(18px, 3svh, 28px) !important;
    display: block !important;
    transform: none !important;
  }
  section#costo.panel[data-panel] [data-half="a"] {
    flex: none !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: clamp(12px, 2svh, 18px) !important;
    overflow: visible !important;
  }
  section#costo.panel[data-panel] [data-half="a"] > h2 {
    font-size: clamp(29px, 7.8vw, 40px) !important;
  }
  #partner-vetrina [data-half="b"] {
    width: 100% !important;
    min-height: 0 !important;
    padding: clamp(15px, 2.4svh, 20px) !important;
    gap: clamp(12px, 1.8svh, 18px) !important;
  }
  #partner-vetrina [data-pro-page="partner"] > a {
    flex: 0 0 auto;
    align-self: center;
  }
  [data-pro-benefit-grid] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  [data-pro-benefit-grid] > article {
    padding: 10px !important;
    gap: 6px !important;
  }
  [data-pro-benefit-grid] > article > span { font-size: 9.5px !important; }
  [data-pro-benefit-grid] > article > p { font-size: 12px !important; line-height: 1.3 !important; }
  [data-partner-fixed] > article { padding: 12px !important; }
  section[data-panel]:not(#lista) > [data-panelinner] {
    transform: scale(var(--panel-scale, 1)) !important;
    transform-origin: center center;
    padding-top: clamp(104px, 13svh, 116px) !important;
    padding-bottom: clamp(18px, 3svh, 28px) !important;
  }
  /* Queste composizioni possono essere compattate in altezza, ma devono
     continuare a occupare tutta la larghezza della viewport. La larghezza
     pre-transform compensa quindi esattamente la scala uniforme calcolata dal
     runtime: niente più rientri laterali sugli schermi corti. */
  #risparmio > [data-panelinner],
  #crea > [data-panelinner],
  #guadagno > [data-panelinner],
  #esperienze > [data-panelinner],
  #costo > [data-panelinner] {
    width: calc(100% * var(--panel-unscale, 1)) !important;
    max-width: none !important;
    transform: none !important;
    transform-origin: left center !important;
  }
  [data-calcchips] { display: none !important; }
  [data-calc], [data-match], [data-catstage], [data-intro-gallery] { touch-action: pan-y; user-select: none; }
  [data-introgallery] { touch-action: pan-y; user-select: none; }
  [data-introgallery] figure { pointer-events: none; }
  [data-steps], [data-track] { touch-action: pan-y !important; }
  [data-backtop] {
    right: max(14px, env(safe-area-inset-right)) !important;
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(8px) !important;
  }
  [data-backtop].is-visible {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }
  [data-matchhead] { display: flex !important; }
  #esperienze [data-matchhead] { display: none !important; }
  #esperienze > [data-panelinner] > h2 {
    font-size: clamp(32px, 9vw, 46px) !important;
  }
  #risparmio > [data-panelinner] { gap: clamp(16px, 2.5svh, 24px) !important; }
  #risparmio [data-calc] { border-radius: 10px !important; }
  #risparmio [data-calcarrows] { display: flex !important; }
  #crea [data-creator] {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    column-gap: 0 !important;
    row-gap: clamp(16px, 2.4svh, 26px) !important;
    align-items: center !important;
  }
  #crea [data-creator-title] {
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin-bottom: 0 !important;
    max-width: none !important;
    font-size: clamp(29px, 8vw, 44px) !important;
  }
  #crea [data-phonewrap] {
    grid-column: 1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    align-self: center !important;
    justify-self: center !important;
  }
  #crea [data-phone] { width: min(64vw, 360px) !important; max-width: 360px !important; }
  #crea [data-steps] { grid-column: 1 !important; grid-row: 3 !important; margin-top: 0 !important; }
  #crea [data-step-controls] { grid-column: 1 !important; grid-row: 4 !important; margin-top: 0 !important; }
  [data-cardbullets] { display: flex !important; }
  [data-ecodesc], [data-halfsub] { display: block !important; }
  [data-matchsub] { display: inline !important; }
  [data-econote], [data-rentnote] { display: flex !important; }
  [data-renteyebrow] { display: none !important; }
  [data-rentfade] { display: none !important; }
  #guadagno [data-rentlist] { max-height: none !important; overflow: visible !important; }
  #guadagno h2 {
    max-width: none !important;
    white-space: nowrap;
    font-size: clamp(23px, 6.2vw, 30px) !important;
  }
  [data-gain-title-desktop] { display: none !important; }
  [data-gain-title-mobile] { display: inline !important; }
  [data-consent] [data-consent-accept] {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}
[hidden]{display:none!important}
