/* ── Mira · landing in Bulma ─────────────────────────────────────────────────
   Bulma 1.0.4 (static/vendor/bulma) fa griglia e componenti; qui c'è il tema
   Mira (variabili --bulma-*) e le parti su misura: scena del hero, mock
   animati, Miro, omini, candidatura, avviso cookie, pagine legali.
   Contratti JS:
   · landing-fx.js    → html.js/.reduce, [data-scene]+.on, .pop, .at, .tw, .num,
                        .bar, .vb, .ring, [data-orbit] .orb, [data-trailer]
   · landing.js       → .reveal/.in, #cookieBar.in, candidatura (.cand-*, .miro)
   · landing-bulma.js → .navbar-burger/.navbar-menu.is-active, .mira-nav.is-scrolled
   Usato da landing.html e landing_legal.html. */

/* ══ TEMA ══════════════════════════════════════════════════════════════════ */
:root,[data-theme=light]{
  --paper:#FAF6F1; --card:#FFFDF9; --sand:#F3EDE4; --line:#E7DFD3; --line-2:#DAD0C1;
  --ink:#1F1B17; --body:#5D554C; --muted:#766D62;
  --coral:#E8633A; --coral-700:#CF5430; --coral-text:#B04527; --coral-soft:#FBE4D9; --coral-tint:#FDF2EC;
  --violet:#6A5AE0; --violet-text:#5445C8; --violet-soft:#EEEBFC;
  --green:#1F9D6B; --green-text:#17774F; --green-soft:#E1F2E9;
  --sage:#E9EEDF; --sage-line:#D5DFC9; --sage-ink:#4C6B45;
  --font-d:'Space Grotesk',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-t:'Plus Jakarta Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --out:cubic-bezier(.2,.7,.2,1);
  --t:200ms cubic-bezier(.2,.6,.2,1);
  --shadow-sm:0 1px 2px rgba(31,27,23,.05),0 6px 16px -10px rgba(31,27,23,.22);
  --shadow:0 1px 2px rgba(31,27,23,.05),0 22px 44px -26px rgba(31,27,23,.38);
  --shadow-lg:0 2px 6px rgba(31,27,23,.05),0 44px 90px -44px rgba(31,27,23,.55);

  /* Bulma: corallo = azione, indaco = AI, verde = impatto, inchiostro = scuro */
  --bulma-primary-h:14deg; --bulma-primary-s:79%; --bulma-primary-l:57%;
  --bulma-primary-invert-l:100%; --bulma-primary-on-scheme-l:42%;
  --bulma-primary-light-l:95%; --bulma-primary-light-invert-l:38%;
  --bulma-link-h:13deg; --bulma-link-s:64%; --bulma-link-l:42%;
  --bulma-link-invert-l:100%; --bulma-link-on-scheme-l:42%;
  --bulma-info-h:247deg; --bulma-info-s:68%; --bulma-info-l:62%;
  --bulma-info-invert-l:100%; --bulma-info-on-scheme-l:50%;
  --bulma-info-light-l:95%; --bulma-info-light-invert-l:45%;
  --bulma-success-h:156deg; --bulma-success-s:67%; --bulma-success-l:37%;
  --bulma-success-invert-l:100%; --bulma-success-on-scheme-l:29%;
  --bulma-success-light-l:94%; --bulma-success-light-invert-l:27%;
  --bulma-dark-h:30deg; --bulma-dark-s:15%; --bulma-dark-l:11%; --bulma-dark-invert-l:97%;
  --bulma-scheme-h:33; --bulma-scheme-s:28%;
  --bulma-family-primary:var(--font-t); --bulma-family-secondary:var(--font-d);
  --bulma-body-background-color:var(--paper); --bulma-body-color:var(--body);
  --bulma-text-strong:var(--ink); --bulma-strong-color:currentColor;
  --bulma-radius:.75rem; --bulma-radius-large:1.25rem;
  --bulma-box-shadow:var(--shadow); --bulma-box-padding:1.5rem;
  --bulma-navbar-height:4.25rem;
}

/* ══ BASE ══════════════════════════════════════════════════════════════════ */
html{background-color:var(--paper);scroll-behavior:smooth;overflow-x:clip}
body.mira-body{font-family:var(--font-t);color:var(--body);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
[hidden]{display:none!important}
::selection{background:var(--coral-soft);color:var(--ink)}
:focus-visible{outline:2px solid var(--coral);outline-offset:3px;border-radius:6px}
[id]{scroll-margin-top:calc(var(--bulma-navbar-height) + 1.25rem)}
img{display:block;max-width:100%;height:auto}
.title{font-family:var(--font-d);color:var(--ink);letter-spacing:-.03em}
.button{font-family:var(--font-d);font-weight:700;letter-spacing:-.005em}
.dot-coral{color:var(--coral)}
.num{font-variant-numeric:tabular-nums}
.mi{display:inline-block;flex:none;width:1.15em;height:1.15em;vertical-align:-.18em}
.mi--sm{width:1em;height:1em}
.mi--xs{width:.85em;height:.85em;vertical-align:-.1em}
.mira-skip{position:fixed;z-index:600;top:12px;left:12px;transform:translateY(-220%);padding:10px 16px;border-radius:10px;background:var(--ink);color:var(--paper);font-weight:600}
.mira-skip:focus{transform:none;color:var(--paper)}

/* bottoni */
.button.is-rounded{padding-inline:1.45em}
.button.is-medium{font-size:1.06rem;min-height:3.35rem}
.button.is-large{font-size:1.16rem;min-height:3.8rem}
.button>.mi{margin-left:.45em;margin-right:-.15em;transition:transform var(--t)}
.button:hover>.mi{transform:translate(2px,-2px)}
.button.is-primary{transition:background-color var(--t),transform var(--t),box-shadow var(--t)}
.button.is-primary:hover{background-color:var(--coral-700)}
.mira-btn-glow{box-shadow:0 14px 30px -14px rgba(232,99,58,.85)}
.mira-btn-glow:hover{transform:translateY(-2px);box-shadow:0 20px 38px -16px rgba(232,99,58,.9)}
.mira-btn-glow:active{transform:none}
.mira-btn-soft{background:#fff;border:1px solid var(--line);color:var(--ink);box-shadow:var(--shadow-sm);transition:border-color var(--t),transform var(--t)}
.mira-btn-soft:hover{border-color:var(--line-2);color:var(--ink);transform:translateY(-1px)}
.mira-play{display:inline-grid;place-items:center;width:1.9em;height:1.9em;margin:0 .6em 0 -.55em;border-radius:50%;background:var(--coral-soft);color:var(--coral-text)}
.mira-play .mi{width:.85em;height:.85em;margin-left:.1em}

/* ══ ANIMAZIONI D'INGRESSO (contratto landing-fx.js / landing.js) ═════════ */
.rise{animation:riseIn .9s var(--out) both;animation-delay:calc(120ms + var(--i,0) * 80ms)}
@keyframes riseIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .8s var(--out)}
.reveal.in{opacity:1;transform:none}
.reveal--zoom{transform:scale(.96)}
.reveal--zoom.in{transform:none}
:where(html.js) .pop{opacity:0;transform:translateY(18px)}
:where(html.js) .pop--x{transform:translateX(36px)}
:where(html.js) .pop--s{transform:scale(.86)}
:where(html.js) .pop--tilt{transform:translateY(54px) rotate(var(--r,0deg))}
.on .pop,.reveal.in .pop{opacity:1;transform:none;transition:opacity .55s ease,transform .75s var(--out);transition-delay:var(--d,0ms)}
:where(html.js) .at{opacity:0;visibility:hidden}
.at.on{opacity:1;visibility:visible;transition:opacity .35s ease}
.tw{white-space:pre-wrap}
.caret{display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-.12em;background:var(--coral-text);opacity:0}
.typing .caret{opacity:1;animation:caretBlink .9s steps(1) infinite}
@keyframes caretBlink{50%{opacity:0}}
.bar{height:10px;margin-top:.55rem;border-radius:99px;background:#EFE8DE;overflow:hidden}
.bar i{display:block;height:100%;width:var(--w);border-radius:99px;background:linear-gradient(90deg,#F08A63,var(--coral))}
.bar--ink i{background:var(--ink)}
:where(html.js) .bar i{width:0}
.on .bar i{width:var(--w);transition:width 1.3s var(--out) var(--d,0ms)}
.vb{display:flex;align-items:flex-end;gap:clamp(6px,1vw,12px);height:clamp(110px,14vw,160px)}
.vb i{flex:1;height:var(--h);border-radius:8px;background:#F2DDD2;transform-origin:bottom}
.vb i:last-child{background:var(--coral)}
:where(html.js) .vb i{transform:scaleY(0)}
.on .vb i{transform:scaleY(1);transition:transform .9s var(--out) var(--d,0ms)}
.ring{display:block;width:clamp(128px,13vw,168px);height:auto}
.ring__bg{fill:none;stroke:#EFE8DE;stroke-width:24}
.ring__v{fill:none;stroke:var(--violet);stroke-width:24;stroke-linecap:round;stroke-dasharray:578;stroke-dashoffset:calc(578px * (1 - var(--v)));transform:rotate(-90deg);transform-origin:50% 50%}
:where(html.js) .ring__v{stroke-dashoffset:578px}
.on .ring__v{stroke-dashoffset:calc(578px * (1 - var(--v)));transition:stroke-dashoffset 1.5s var(--out) var(--d,0ms)}
.ring text{font-family:var(--font-d);font-weight:700;fill:var(--ink)}
.ring .ring__lab{font-family:var(--font-t);font-weight:500;fill:var(--muted)}
.dots{display:flex;gap:6px;padding:.9rem .25rem .2rem}
.dots i{width:9px;height:9px;border-radius:50%;background:var(--violet);animation:dotPulse 1s ease-in-out infinite}
.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}
@keyframes dotPulse{0%,100%{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}

/* ══ NAVBAR ════════════════════════════════════════════════════════════════ */
.mira-nav{background-color:rgba(250,246,241,.8);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s,background-color .3s}
.mira-nav.is-scrolled{background-color:rgba(250,246,241,.93);border-bottom-color:var(--line);box-shadow:0 12px 30px -26px rgba(31,27,23,.5)}
.mira-nav .container{padding-inline:.75rem}
.mira-brand img{height:30px;width:auto;max-height:none!important}
.mira-nav .navbar-item{font-family:var(--font-d);font-weight:600;font-size:.95rem;color:var(--ink);border-radius:10px}
.mira-nav a.navbar-item:hover,.mira-nav a.navbar-item:focus-visible{background:rgba(232,99,58,.08);color:var(--coral-text)}
.mira-nav .navbar-burger{color:var(--ink);align-self:center;width:2.9rem;height:2.9rem;margin-left:.3rem;border-radius:12px}
.mira-nav .navbar-burger:hover{background:rgba(31,27,23,.05)}
.mira-nav__cta-touch{align-self:center;margin-left:auto;font-size:.9rem;min-height:2.5rem}
@media screen and (max-width:1023px){
  .mira-nav .navbar-menu{margin:0 .75rem .75rem;padding:.5rem;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:var(--shadow)}
  .mira-nav .navbar-menu .navbar-item{padding:.8rem 1rem;font-size:1.05rem}
}
@media screen and (min-width:1024px){
  .mira-nav .navbar-end{align-items:center;gap:.15rem}
  .mira-nav .navbar-end>.navbar-item:last-child{padding-right:0}
}

/* ══ HERO ══════════════════════════════════════════════════════════════════ */
.mira-hero{position:relative;overflow:hidden;background:
  radial-gradient(58rem 34rem at 92% -6%,rgba(232,99,58,.14),transparent 62%),
  radial-gradient(44rem 30rem at -8% 78%,rgba(106,90,224,.08),transparent 62%),
  var(--paper)}
.mira-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(31,27,23,.075) 1px,transparent 1.3px);background-size:22px 22px;-webkit-mask-image:radial-gradient(65% 60% at 28% 42%,#000 25%,transparent 75%);mask-image:radial-gradient(65% 60% at 28% 42%,#000 25%,transparent 75%)}
.mira-hero .hero-body{position:relative;padding:clamp(2.25rem,6vw,5.5rem) 1.5rem clamp(3rem,6vw,5.5rem)}
.mira-eyebrow{display:inline-flex;align-items:center;gap:.6rem;padding:.45rem 1rem .45rem .8rem;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.75);color:var(--ink);font-family:var(--font-d);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;box-shadow:var(--shadow-sm)}
.status-dot{display:inline-block;flex:none;width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(31,157,107,.16);animation:statusPulse 2.4s ease-in-out infinite}
@keyframes statusPulse{50%{box-shadow:0 0 0 7px rgba(31,157,107,.05)}}
.title.mira-h1{margin:1.4rem 0 0;font-size:clamp(2.6rem,4.9vw,4.35rem);line-height:.98;letter-spacing:-.05em;font-weight:700;color:var(--ink)}
.mira-mark{position:relative;display:inline-block;color:var(--coral)}
.mira-mark svg{position:absolute;left:-1%;bottom:-.1em;width:100%;height:.26em;overflow:visible}
.mira-mark path{fill:none;stroke:var(--coral);stroke-width:6;stroke-linecap:round;opacity:.5;stroke-dasharray:1;stroke-dashoffset:1;animation:drawLine 1.1s var(--out) 1s forwards}
@keyframes drawLine{to{stroke-dashoffset:0}}
.subtitle.mira-lead{margin:1.5rem 0 0;max-width:35rem;font-family:var(--font-t);font-size:clamp(1.07rem,1.45vw,1.24rem);line-height:1.65;color:var(--body)}
.mira-hero__cta{margin-top:2rem;gap:.75rem}
.mira-hero__cta .button{margin:0}
@media screen and (max-width:480px){.mira-hero__cta .button{width:100%;justify-content:center}}
.mira-proof{display:flex;flex-wrap:wrap;gap:.5rem 1.3rem;margin-top:1.6rem;color:var(--muted);font-size:.92rem;font-weight:500}
.mira-proof li{display:inline-flex;align-items:center;gap:.45rem}
.mira-proof .mi{color:var(--green);stroke-width:2.8}

/* la scena: Miro al centro, le funzioni in orbita. Tutto in cqi (1cqi = 1% della
   larghezza della scena), così resta proporzionata da 320 a 560px. */
.mira-stage{position:relative;width:min(100%,560px);aspect-ratio:1/1;margin:0 auto;overflow:hidden;isolation:isolate;container-type:inline-size;border-radius:34px;border:1px solid var(--sage-line);background:linear-gradient(160deg,#F2F5EC 0%,var(--sage) 55%,#E0E8D5 100%);box-shadow:var(--shadow-lg)}
.mira-stage::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(55% 48% at 50% 48%,rgba(255,255,255,.7),transparent 72%)}
.mira-stage__top{position:absolute;z-index:10;top:4.4cqi;left:4.8cqi;right:4.8cqi;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-d);font-size:clamp(9px,2cqi,12px);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-ink)}
.mira-stage__top>span:first-child{display:inline-flex;align-items:center;gap:.6rem}
.mira-stage__mark{font-size:2.3em;letter-spacing:-.04em;text-transform:none;color:rgba(31,27,23,.25)}
.mira-stage::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.55;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .32 0 0 0 0 .3 0 0 0 0 .22 0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.mira-dio{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.mira-dio__threads path{fill:none;stroke:#FFFDF8;stroke-width:2.2;stroke-linecap:round}
.mira-dio__threads{filter:drop-shadow(0 1.2px 0 rgba(76,107,69,.28))}
.mira-dio__pulses circle{fill:#EA6B42}
.mira-dio__tags rect{fill:#FFFDF8;stroke:rgba(31,27,23,.1);stroke-width:1}
.mira-dio__tags text{font-family:var(--font-d);font-size:12.5px;font-weight:600;fill:var(--ink);text-anchor:middle}
.mira-dio .pc{filter:drop-shadow(0 1px 0 rgba(64,40,24,.12)) drop-shadow(0 6px 8px rgba(64,40,24,.14))}
.mira-stage__miro{position:absolute;z-index:5;left:50%;top:50%;width:25%;transform:translate(-50%,-50%);filter:drop-shadow(0 22px 34px rgba(31,27,23,.24))}
.mira-stage__miro .miro{width:100%;height:auto;color:var(--ink)}
.mira-stage__hello{position:absolute;z-index:6;left:50%;top:64.5%;transform:translateX(-50%);padding:.2em .75em;border-radius:999px;background:rgba(255,255,255,.85);font-family:var(--font-d);font-size:clamp(10px,2.4cqi,13.5px);font-weight:600;color:var(--sage-ink);white-space:nowrap;box-shadow:0 4px 10px -6px rgba(31,27,23,.3)}
.mira-toast{position:absolute;z-index:12;right:4.5cqi;bottom:10.5cqi;display:flex;align-items:center;gap:2.2cqi;max-width:54cqi;padding:2.3cqi 2.8cqi;border:1px solid var(--line);border-radius:3.4cqi;background:#fff;box-shadow:0 26px 50px -24px rgba(31,27,23,.55);transform:rotate(-2deg);animation:toastIn .8s var(--out) 1.2s both}
@keyframes toastIn{from{opacity:0;transform:translateY(16px) rotate(-2deg)}to{opacity:1;transform:rotate(-2deg)}}
.mira-toast__ic{flex:none;display:grid;place-items:center;width:6.2cqi;height:6.2cqi;min-width:24px;min-height:24px;border-radius:50%;background:var(--green-soft);color:var(--green)}
.mira-toast__ic .mi{width:52%;height:52%;stroke-width:3}
.mira-toast strong{display:block;font-family:var(--font-d);font-size:clamp(11px,2.75cqi,15.5px);font-weight:700;line-height:1.25;color:var(--ink)}
.mira-toast div>span{display:block;margin-top:.15em;font-size:clamp(9.5px,2.15cqi,12.5px);color:var(--muted)}
.mira-toast__spark{flex:none;width:9cqi;color:var(--coral)}
.mira-stage__bottom{position:absolute;z-index:9;left:4.8cqi;right:4.8cqi;bottom:3cqi;display:flex;justify-content:space-between;padding-top:1.8cqi;border-top:1px solid rgba(76,107,69,.2);font-size:clamp(9px,2.1cqi,12.5px);color:var(--sage-ink)}
@media screen and (max-width:1023px){.mira-stage{width:min(100%,520px);margin-top:1rem}}
@media screen and (max-width:600px){.mira-stage{border-radius:26px}.mira-stage__hello,.mira-stage__bottom{display:none}.mira-toast{bottom:3.5cqi}}

/* striscia sotto il hero */
.mira-rail{border-block:1px solid var(--line);background:rgba(255,255,255,.55)}
.mira-rail__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.9rem 2rem;padding:1.15rem 1.5rem}
.mira-rail__claim{font-family:var(--font-d);font-size:1.05rem;font-weight:500;color:var(--muted)}
.mira-rail__claim strong{color:var(--ink);font-weight:700}
.tags.mira-rail__tags{margin:0}
.mira-rail__tags .tag{margin-bottom:0;background:#fff;border:1px solid var(--line);color:var(--ink);font-weight:600;font-size:.9rem}
.mira-rail__link{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;font-family:var(--font-d);font-weight:700;color:var(--ink)}
.mira-rail__link:hover{color:var(--coral-text)}

/* ══ SEZIONI ═══════════════════════════════════════════════════════════════ */
.section.mira-section{padding:clamp(4.5rem,9vw,8rem) 1.5rem}
.mira-white{background:#fff}
.mira-sand{background:var(--sand)}
.mira-dark{background:radial-gradient(70rem 32rem at 50% -12%,rgba(232,99,58,.17),transparent 62%),var(--ink);color:rgba(250,246,241,.72)}
.mira-dark .title{color:#fff}
.mira-kicker{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem;font-family:var(--font-d);font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--coral-text)}
.mira-kicker::before{content:"";flex:none;width:22px;height:2px;border-radius:2px;background:var(--coral)}
.mira-kicker--center{justify-content:center}
.mira-dark .mira-kicker,.mira-invite .mira-kicker{color:#F4A383}
.title.mira-h2{margin-bottom:0;font-size:clamp(2.1rem,4.4vw,3.5rem);line-height:1.04;letter-spacing:-.042em;font-weight:700;text-wrap:balance}
.mira-sub{margin-top:1.1rem;max-width:40rem;font-size:clamp(1.04rem,1.35vw,1.18rem);line-height:1.68;color:var(--body)}
.mira-sub a{color:var(--coral-text);text-decoration:underline;text-underline-offset:3px}
.mira-sub--center,.mira-center .mira-sub{margin-inline:auto}
.mira-dark .mira-sub{color:rgba(250,246,241,.7)}
.mira-center{max-width:54rem;margin:0 auto;text-align:center}
.columns.mira-intro{margin-bottom:clamp(1rem,3vw,2rem)}
@media screen and (min-width:1024px){.mira-intro .column:last-child .mira-sub{margin-top:0}}

/* il problema */
.mira-pains{display:grid;gap:.7rem}
.mira-pains>li{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm);font-family:var(--font-d);font-size:clamp(1.02rem,1.5vw,1.2rem);font-weight:600;letter-spacing:-.01em;color:var(--ink)}
.mira-pains__x{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--coral-soft);color:var(--coral-text)}
.mira-pains__x .mi{width:16px;height:16px;stroke-width:2.8}
.mira-pains>li.mira-pains__better{padding:0;border:0;background:none;box-shadow:none}
.mira-pains__better a{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem 1rem;width:100%;padding:1.3rem 1.5rem;border-radius:18px;background:var(--ink);box-shadow:var(--shadow);transition:transform var(--t),box-shadow var(--t)}
.mira-pains__better a:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.mira-pains__better span{font-size:clamp(1.3rem,2.2vw,1.7rem);font-weight:700;letter-spacing:-.03em;color:var(--coral)}
.mira-pains__better small{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-t);font-size:.86rem;font-weight:600;color:rgba(250,246,241,.75)}

/* trailer */
.mira-trailer__frame{position:relative;max-width:1000px;margin:clamp(2rem,4vw,3rem) auto 0;overflow:hidden;border:1px solid rgba(250,246,241,.14);border-radius:24px;background:#000;line-height:0;box-shadow:0 60px 120px -40px rgba(0,0,0,.85)}
.mira-trailer__frame video{display:block;width:100%;height:auto}
.trailer__play{position:absolute;inset:0;display:grid;place-items:center;width:100%;height:100%;border:0;background:rgba(31,27,23,.14);cursor:pointer;transition:background .3s}
.trailer__play:hover{background:rgba(31,27,23,.03)}
.trailer__play span{display:grid;place-items:center;width:clamp(72px,9vw,108px);height:clamp(72px,9vw,108px);border-radius:50%;background:var(--coral);color:#fff;box-shadow:0 0 0 12px rgba(232,99,58,.2),0 24px 60px -20px rgba(0,0,0,.75);transition:transform .3s var(--out)}
.trailer__play:hover span{transform:scale(1.07)}
.trailer__play svg{width:42%;height:42%;margin-left:6%}
[data-trailer].is-playing .trailer__play,html:not(.js) .trailer__play{display:none}
.mira-trailer__sub{margin-top:1rem;font-size:.9rem;color:rgba(250,246,241,.55)}
@media screen and (max-width:640px){.mira-trailer__frame{border-radius:14px}}

/* ══ FUNZIONI: storie + scene ══════════════════════════════════════════════ */
.tabs.mira-tabs{margin-bottom:clamp(.5rem,2vw,1.5rem)}
.tabs.mira-tabs{scrollbar-width:none}
.tabs.mira-tabs::-webkit-scrollbar{display:none}
.tabs.mira-tabs ul{border-bottom:0}
@media screen and (max-width:768px){.tabs.mira-tabs ul{justify-content:flex-start}}
.tabs.mira-tabs.is-toggle a{gap:.45rem;padding:.55em 1.15em;border-color:var(--line);background:#fff;color:var(--ink);font-family:var(--font-d);font-weight:600;transition:background-color var(--t),border-color var(--t)}
.tabs.mira-tabs.is-toggle a:hover{border-color:#F2CDBA;background:var(--coral-tint)}
.tabs.mira-tabs .mi{color:var(--coral)}
.columns.mira-story{margin-top:0;margin-bottom:0;padding-block:clamp(2.25rem,5vw,4.5rem)}
@media screen and (min-width:1024px){.columns.mira-story{padding-top:clamp(7rem,10vw,9rem)}}
.mira-scene__pc{position:absolute;z-index:4;top:0;right:34px;--h:134px;transform:translateY(-95%)}
.mira-story--flip .mira-scene__pc{right:auto;left:34px}
@media screen and (max-width:1023px){.mira-scene--pc{margin-top:124px}}
.columns.mira-story+.columns.mira-story{border-top:1px solid var(--line)}
@media screen and (min-width:1024px){.columns.mira-story--flip{flex-direction:row-reverse}}
.tag.mira-story__n{height:auto;margin-bottom:1.1rem;padding:.4em 1em;font-family:var(--font-d);font-size:.82rem;font-weight:700;letter-spacing:.01em}
.title.mira-h3{margin-bottom:0;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.08;letter-spacing:-.036em;font-weight:700;text-wrap:balance}
.mira-text{margin-top:1rem;max-width:34rem;font-size:1.05rem;line-height:1.72;color:var(--body)}
.mira-ticks{display:grid;gap:.7rem;margin-top:1.4rem}
.mira-ticks li{display:flex;align-items:flex-start;gap:.7rem;font-size:.98rem;font-weight:500;line-height:1.5;color:var(--ink)}
.mira-ticks .mi{width:22px;height:22px;margin-top:.02rem;padding:4px;border-radius:50%;background:var(--green-soft);color:var(--green-text);stroke-width:3.2}
.mira-ticks--violet .mi{background:var(--violet-soft);color:var(--violet-text)}

.mira-scene{position:relative;isolation:isolate;padding:clamp(1rem,3vw,2.25rem);border:1px solid var(--line);border-radius:30px;background:var(--sand)}
.mira-scene::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background-image:radial-gradient(rgba(31,27,23,.07) 1px,transparent 1.3px);background-size:18px 18px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 80%);mask-image:linear-gradient(180deg,#000,transparent 80%)}
.mira-scene--coral{border-color:#F4D6C6;background:linear-gradient(150deg,#FEF4EE,#FBE2D5)}
.mira-scene--sage{border-color:var(--sage-line);background:linear-gradient(150deg,#F3F6EE,#E3EAD8)}
.mira-scene--violet{border-color:#DDD6F6;background:linear-gradient(150deg,#F7F5FE,#E8E4FA)}
.mira-scene--sand{border-color:var(--line);background:linear-gradient(150deg,#F8F3EB,#EEE5D8)}
.box.mock{margin:0;padding:clamp(1rem,2.2vw,1.5rem);border:1px solid rgba(31,27,23,.06);border-radius:20px;box-shadow:0 1px 2px rgba(31,27,23,.05),0 26px 50px -30px rgba(31,27,23,.45);color:var(--ink)}
.mock-kicker{font-size:.86rem;font-weight:500;color:var(--muted)}
.mock-lab{font-family:var(--font-d);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--coral-text)}
.mock-title{margin-top:.15rem;font-family:var(--font-d);font-size:1.15rem;font-weight:700;line-height:1.25;letter-spacing:-.02em;color:var(--ink)}
.mock-meta{font-size:.84rem;color:var(--muted)}
.mock-huge{margin:.25rem 0 .6rem;font-family:var(--font-d);font-size:clamp(2.1rem,4vw,3.1rem);font-weight:700;line-height:1.05;letter-spacing:-.04em;color:var(--ink)}
.mock-huge--coral{color:var(--coral-text)}
.mock-grid{display:grid;gap:1rem}
@media screen and (min-width:600px){
  .mock-grid--don{grid-template-columns:1.05fr .95fr;align-items:center}
  .mock-grid--mail{grid-template-columns:1.25fr .75fr}
  .mock-grid--ap{grid-template-columns:1fr 1fr}
}
.mock-cta{display:inline-flex;margin-top:1.1rem;padding:.62em 1.2em;border-radius:999px;background:var(--coral);color:#fff;font-family:var(--font-d);font-size:.88rem;font-weight:700;box-shadow:0 10px 22px -12px rgba(232,99,58,.85)}
.mock-chip{display:inline-flex;align-items:center;margin-top:.9rem;padding:.6em 1.05em;border-radius:999px;background:var(--coral);color:#fff;font-size:.86rem;font-weight:700;line-height:1.3}
.mock-chip--ink{background:var(--ink)}

/* 01 · scheda persona */
.mock-person{display:flex;align-items:center;gap:.9rem}
.mock-av{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#F2916C,var(--coral));color:#fff;font-family:var(--font-d);font-size:1.3rem;font-weight:700;box-shadow:0 8px 18px -8px rgba(232,99,58,.85)}
.mock-person__id{flex:1;min-width:0}
.mock-name{font-family:var(--font-d);font-size:1.15rem;font-weight:700;line-height:1.2;letter-spacing:-.02em;color:var(--ink)}
.mock-person__tot{text-align:right}
.mock-person__tot b{display:block;font-family:var(--font-d);font-size:1.45rem;font-weight:700;line-height:1.1;letter-spacing:-.03em;color:var(--ink)}
.mock-person__tot small{font-size:.76rem;color:var(--muted)}
.tags.mock-tags{margin:1rem 0 .3rem}
.mock-tags .tag{font-weight:600}
.mock-tl{display:grid;margin-top:.3rem}
.mock-tl li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;padding:.7rem .1rem;border-top:1px solid #F1EBE2}
.mock-tl b{display:block;font-size:.92rem;font-weight:600;line-height:1.35;color:var(--ink)}
.mock-tl div>span{display:block;font-size:.8rem;color:var(--muted)}
.mock-tl time{font-size:.76rem;color:var(--muted);white-space:nowrap}
.mock-ic{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#F3EEE6;color:var(--ink)}
.mock-ic .mi{width:18px;height:18px}
.mock-ic--coral{background:var(--coral-soft);color:var(--coral-text)}
.mock-ic--violet{background:var(--violet-soft);color:var(--violet-text)}
.mock-ic--green{background:var(--green-soft);color:var(--green-text)}
@media screen and (max-width:480px){.mock-person__tot small{display:none}.mock-tl time{display:none}.mock-tl li{grid-template-columns:auto 1fr}}

/* 02 · donazioni */
.mock-stack{display:grid;gap:.6rem}
.box.mock.mock-row{display:flex;align-items:center;gap:.75rem;padding:.8rem 1rem;border-radius:16px}
.mock-ok{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--green-soft);color:var(--green)}
.mock-ok .mi{width:16px;height:16px;stroke-width:3}
.mock-row b{display:block;font-size:.9rem;font-weight:600;color:var(--ink)}
.mock-row div>span{display:block;font-size:.78rem;color:var(--muted)}

/* 03 · email */
.mock-subj{min-height:2.6em;margin:.3rem 0 1rem;font-family:var(--font-d);font-size:clamp(1.08rem,1.8vw,1.35rem);font-weight:700;line-height:1.3;letter-spacing:-.02em;color:var(--ink)}
.mock-line{height:10px;margin-top:.55rem;border-radius:6px;background:#F0E9DF}
.box.mock.mock-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem}
.mock-click{width:100%}
.mock-click p{display:flex;justify-content:space-between;gap:.5rem;font-size:.84rem;color:var(--muted)}
.mock-click b{font-family:var(--font-d);color:var(--ink)}

/* 04 · appelli */
.mock-signers{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1rem;font-size:.8rem;color:var(--muted)}
.mock-faces{display:flex}
.mock-faces i{display:grid;place-items:center;width:28px;height:28px;margin-left:-8px;border:2px solid #fff;border-radius:50%;background:var(--coral);color:#fff;font-size:.7rem;font-style:normal;font-weight:700}
.mock-faces i:first-child{margin-left:0}
.mock-faces i:nth-child(2){background:var(--violet)}
.mock-faces i:nth-child(3){background:var(--green)}
.mock-faces i:nth-child(4){background:var(--ink)}
.mock-faces i:nth-child(5){background:#C98A2E}

/* 05 · AI */
.mock-ai__head{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem;padding-bottom:.9rem;border-bottom:1px solid #F1EBE2}
.mock-ai__head .tag{margin-left:auto}
.xh{display:block;width:var(--s,64px);height:var(--s,64px);color:var(--ink)}
.xh--sm{--s:30px}
.mock-ai__q{min-height:2.9em;margin-left:12%;padding:.8rem 1rem;border-radius:16px 16px 4px 16px;background:var(--ink);color:#fff;font-size:.95rem;line-height:1.5}
.mock-ai__q .caret{background:#fff}
.mock-ai__a{margin-top:.8rem;padding:1rem;border-radius:16px 16px 16px 4px;background:var(--violet-soft);color:var(--ink);font-size:.93rem}
.mock-ai__a b{color:var(--ink)}
.mock-ai__row{display:flex;align-items:center;gap:.7rem;margin-top:.55rem;padding:.55rem .75rem;border-radius:12px;background:#fff}
.mock-ai__row i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--violet);color:#fff;font-size:.74rem;font-style:normal;font-weight:700}
.mock-ai__row b{flex:1;font-size:.9rem;font-weight:600}
.mock-ai__row em{font-family:var(--font-d);font-style:normal;font-weight:700;color:var(--ink)}

.mira-minicta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem 1.5rem;margin-top:clamp(2rem,4vw,3rem);padding:1.35rem 1.6rem;border:1px solid var(--line);border-radius:24px;background:var(--paper);text-align:center}
.mira-minicta p{font-family:var(--font-d);font-size:1.12rem;font-weight:600;color:var(--ink)}

/* ══ FILTRI → LISTE → INVII ════════════════════════════════════════════════ */
.mock-filter{display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:780px;margin:clamp(2rem,4vw,3rem) auto 0}
.box.mock.mock-search{display:flex;align-items:center;gap:.8rem;width:100%;padding:1rem 1.1rem 1rem 1.3rem;border-radius:999px}
.mock-search>.mi{width:22px;height:22px;color:var(--muted)}
.mock-search__q{flex:1;min-width:0;min-height:1.5em;font-family:var(--font-d);font-size:clamp(.98rem,1.8vw,1.2rem);font-weight:600;color:var(--ink)}
.mock-search .tag{gap:.3rem;font-weight:700}
.mock-filter__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem 1.2rem}
.mock-filter__row .tags{margin:0;justify-content:center}
.mock-filter__row .tags .tag{margin-bottom:0}
.tag.mock-crit{border:1px solid #F2CDBA;background:#fff;color:var(--coral-text);font-weight:600}
.mock-res{display:flex;align-items:baseline;gap:.4rem;font-family:var(--font-d)}
.mock-res .num{font-size:2rem;font-weight:700;letter-spacing:-.03em;color:var(--ink)}
.mock-res small{font-size:.86rem;color:var(--muted)}

.mira-steps{display:grid;gap:2rem 1.25rem;margin:clamp(3rem,6vw,4.5rem) 0 0;padding:0;list-style:none}
@media screen and (min-width:769px){.mira-steps{grid-template-columns:repeat(2,1fr)}}
@media screen and (min-width:1024px){
  .mira-steps{position:relative;grid-template-columns:repeat(4,1fr)}
  .mira-steps::before{content:"";position:absolute;top:1.6rem;left:12.5%;right:12.5%;border-top:2px dashed #E2C7B8}
}
.mira-step{position:relative;z-index:1;padding:0 .75rem;text-align:center}
.mira-step__n{display:grid;place-items:center;width:3.2rem;height:3.2rem;margin:0 auto 1.1rem;border-radius:50%;background:var(--coral);color:#fff;font-family:var(--font-d);font-size:1.25rem;font-weight:700;box-shadow:0 0 0 7px var(--sand),0 14px 26px -10px rgba(232,99,58,.75)}
.mira-step h3{font-family:var(--font-d);font-size:1.3rem;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.mira-step p{margin-top:.5rem;font-size:.97rem;line-height:1.62;color:var(--body)}
.mira-step .tags{justify-content:center;margin-top:.9rem}
.mira-step .tag{border:1px solid var(--line);background:#fff;color:var(--ink);font-size:.78rem;font-weight:600}

.columns.mira-segs{margin-top:clamp(2.5rem,5vw,4rem)}
.box.mock.mock-seg{position:relative;overflow:hidden;height:100%;padding-top:1.6rem}
.box.mock.mock-seg::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--coral),#F5A585)}
.mock-seg__foot{display:flex;align-items:center;gap:.4rem;margin-top:.9rem;font-size:.8rem;color:var(--muted)}
.mira-smart{margin-top:clamp(2.5rem,5vw,3.5rem);text-align:center}
.mira-smart__label{margin-bottom:1rem;font-family:var(--font-d);font-weight:600;color:var(--ink)}
.mira-smart .tag{border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:600}

/* ══ APERTO PER DAVVERO ════════════════════════════════════════════════════ */
.mira-hub{position:relative;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);align-items:center;justify-items:center;width:min(100%,560px);aspect-ratio:1/1;margin:0 auto clamp(2rem,4vw,3rem)}
.mira-hub__lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.mira-hub__lines line{stroke:rgba(250,246,241,.2);stroke-width:1.5;stroke-dasharray:4 7;vector-effect:non-scaling-stroke;animation:dashFlow 1.4s linear infinite}
@keyframes dashFlow{to{stroke-dashoffset:22}}
:where(html.js) .mira-hub__lines line{opacity:0}
.on .mira-hub__lines line{opacity:1;transition:opacity .7s ease var(--d,0ms)}
.mira-hub__node{position:relative;z-index:1;padding:.55em 1em;border:1px solid rgba(250,246,241,.16);border-radius:999px;background:#2B2621;color:#F6F0E8;font-family:var(--font-d);font-size:clamp(.74rem,1.6vw,.95rem);font-weight:600;white-space:nowrap;box-shadow:0 12px 26px -16px rgba(0,0,0,.85)}
.mira-hub__core{position:relative;z-index:1;display:grid;place-items:center;width:clamp(84px,17vw,124px);aspect-ratio:1;border-radius:50%;background:var(--paper);box-shadow:0 0 0 10px rgba(250,246,241,.06),0 0 0 22px rgba(250,246,241,.03),0 30px 60px -20px rgba(0,0,0,.85);animation:hubPulse 3.2s ease-in-out infinite}
@keyframes hubPulse{50%{box-shadow:0 0 0 14px rgba(232,99,58,.12),0 0 0 28px rgba(232,99,58,.05),0 30px 60px -20px rgba(0,0,0,.85)}}
.mira-hub__core .xh{width:62%;height:auto}

/* ══ COSA C'È DENTRO ═══════════════════════════════════════════════════════ */
.mira-inside{display:grid;grid-template-columns:1fr;gap:1rem}
@media screen and (min-width:600px){.mira-inside{grid-template-columns:repeat(2,1fr)}}
@media screen and (min-width:1024px){.mira-inside{grid-template-columns:repeat(5,1fr)}}
@media screen and (min-width:1024px) and (max-width:1215px){.box.mira-feat{padding:1.2rem 1.05rem 1.3rem}.mira-feat li{font-size:.86rem}}
.box.mira-feat{margin:0;padding:1.4rem 1.3rem 1.5rem;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-sm);transition:opacity .7s ease,transform .8s var(--out),translate .2s ease,box-shadow .2s ease,border-color .2s ease}
.box.mira-feat:hover{translate:0 -4px;border-color:var(--line-2);box-shadow:var(--shadow)}
.mira-feat__ic{display:grid;place-items:center;width:44px;height:44px;margin-bottom:1rem;border-radius:14px}
.mira-feat__ic .mi{width:22px;height:22px}
.mira-feat__ic.is-coral{background:var(--coral-soft);color:var(--coral-text)}
.mira-feat__ic.is-violet{background:var(--violet-soft);color:var(--violet-text)}
.mira-feat__ic.is-green{background:var(--green-soft);color:var(--green-text)}
.mira-feat__ic.is-ink{background:var(--ink);color:#fff}
.mira-feat h3{margin-bottom:.75rem;font-family:var(--font-d);font-size:1.12rem;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.mira-feat ul{display:grid;gap:.45rem}
.mira-feat li{position:relative;padding-left:1rem;font-size:.9rem;line-height:1.45;color:var(--body)}
.mira-feat li::before{content:"";position:absolute;top:.58em;left:0;width:6px;height:6px;border-radius:50%;background:var(--coral);opacity:.75}
.box.mira-feat--ai{border-color:#E1DAF7;background:linear-gradient(165deg,#fff,#F4F1FE)}
.mira-feat--ai li::before{background:var(--violet)}

/* ══ PER CHI ═══════════════════════════════════════════════════════════════ */
.columns.mira-aud{margin-top:clamp(1.5rem,4vw,2.75rem)}
.mira-aud__card{display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:var(--shadow-sm);transition:opacity .7s ease,transform .8s var(--out),translate .2s ease,box-shadow .2s ease}
.mira-aud__card:hover{translate:0 -4px;box-shadow:var(--shadow)}
.mira-aud__art{display:flex;align-items:flex-end;justify-content:center;height:262px;padding-bottom:14px;overflow:hidden;--h:214px}
.mira-aud__card--coral .mira-aud__art{background:radial-gradient(120% 90% at 50% 100%,#F7D3C1,#FDF0E9 72%)}
.mira-aud__card--violet .mira-aud__art{background:radial-gradient(120% 90% at 50% 100%,#DAD3F6,#F3F0FD 72%)}
.mira-aud__card--sage .mira-aud__art{background:radial-gradient(120% 90% at 50% 100%,#D2DEC4,#F0F4EA 72%)}
.mira-aud__body{padding:1.5rem 1.6rem 1.8rem}
.mira-aud__body h3{font-family:var(--font-d);font-size:1.4rem;font-weight:700;letter-spacing:-.025em;color:var(--ink)}
.mira-aud__body p{margin-top:.5rem;line-height:1.62;color:var(--body)}

/* ══ CANDIDATURE APERTE ════════════════════════════════════════════════════ */
.mira-posti{position:relative;overflow:hidden;background:radial-gradient(50rem 26rem at 50% 0%,rgba(232,99,58,.11),transparent 65%),var(--paper)}
.mira-posti__k{margin-top:.8rem;font-family:var(--font-d);font-size:clamp(1.15rem,2vw,1.45rem);font-weight:600;color:var(--coral-text)}
.mira-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(.45rem,1.4vw,.9rem);max-width:640px;margin:clamp(1.8rem,4vw,2.6rem) auto}
.mira-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;aspect-ratio:1/1;border:2px dashed #E5B9A4;border-radius:18px;background:#fff;color:var(--coral-text)}
.mira-slot svg{width:38%;height:auto;overflow:visible}
.mira-slot circle{fill:var(--coral);transform-box:fill-box;transform-origin:center;animation:slotPulse 2s ease-in-out infinite}
@keyframes slotPulse{50%{transform:scale(1.3);opacity:.65}}
.mira-slot em{font-size:.7rem;font-style:normal;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.mira-slot.is-taken{border:2px solid var(--ink);background:var(--ink);color:rgba(250,246,241,.62)}
.mira-slot.is-taken path{stroke:rgba(250,246,241,.5);stroke-width:3.2;stroke-linecap:round}
@media screen and (max-width:480px){.mira-slot{border-radius:12px}.mira-slot em{font-size:.54rem;letter-spacing:.02em}}
.mira-posti__line{max-width:40rem;margin:0 auto 1.8rem;font-size:1.05rem;line-height:1.72;color:var(--body)}
.mira-posti__line strong{color:var(--ink);font-weight:700}
.mira-posti__pp{position:absolute;bottom:0;pointer-events:none;--h:190px}
.mira-posti__pp--l{left:max(2rem,6vw)}
.mira-posti__pp--r{right:max(2rem,6vw)}
@media screen and (max-width:1023px){.mira-posti__pp{display:none}}

/* ══ DOMANDE ═══════════════════════════════════════════════════════════════ */
.mira-faq{display:grid;gap:.75rem}
.mira-faq__item{border:1px solid var(--line);border-radius:18px;background:var(--paper);transition:opacity .7s ease,transform .8s var(--out),background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.mira-faq__item[open]{border-color:var(--line-2);background:#fff;box-shadow:var(--shadow-sm)}
.mira-faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;padding:1.1rem 1.3rem;cursor:pointer;list-style:none;font-family:var(--font-d);font-size:1.08rem;font-weight:700;letter-spacing:-.015em;color:var(--ink)}
.mira-faq__item summary::-webkit-details-marker{display:none}
.mira-faq__item summary::after{content:"";flex:none;width:30px;height:30px;border-radius:50%;background:var(--coral-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B04527' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform var(--t)}
.mira-faq__item[open] summary::after{transform:rotate(45deg)}
.mira-faq__item summary:hover{color:var(--coral-text)}
.mira-faq__item p{padding:0 1.3rem 1.25rem;line-height:1.72;color:var(--body)}

/* ══ INVITO AL COLLOQUIO ═══════════════════════════════════════════════════ */
.section.mira-invite-wrap{padding-top:clamp(1rem,3vw,2rem)}
.mira-invite{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,5vw,4rem);border-radius:34px;background:radial-gradient(40rem 22rem at 50% -4%,rgba(232,99,58,.3),transparent 62%),var(--ink);color:rgba(250,246,241,.75);text-align:center;box-shadow:var(--shadow-lg)}
.mira-invite::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(250,246,241,.07) 1px,transparent 1.3px);background-size:20px 20px;-webkit-mask-image:radial-gradient(60% 70% at 50% 30%,#000,transparent 80%);mask-image:radial-gradient(60% 70% at 50% 30%,#000,transparent 80%)}
.mira-invite .title{color:#fff}
.mira-invite .mira-kicker{margin-bottom:0}
.mira-invite__miro .miro{width:112px;height:112px;filter:drop-shadow(0 20px 30px rgba(0,0,0,.4))}
.mira-invite__text{max-width:34rem;font-size:1.08rem;line-height:1.7}
.mira-invite .button{margin-top:.6rem}
.mira-invite__alt{font-size:.9rem;color:rgba(250,246,241,.6)}
.mira-invite__alt a{color:#fff;text-decoration:underline;text-underline-offset:3px}

/* ══ FOOTER ════════════════════════════════════════════════════════════════ */
.footer.mira-footer{padding:clamp(4rem,8vw,6rem) 1.5rem calc(1.25rem + env(safe-area-inset-bottom));background:var(--ink);color:rgba(250,246,241,.6)}
.mira-footer__hero{display:flex;flex-direction:column;align-items:center;gap:1.2rem;padding-bottom:clamp(2.5rem,5vw,3.5rem);border-bottom:1px solid rgba(250,246,241,.1);text-align:center}
.mira-footer__hero .xh{--s:clamp(64px,8vw,96px);color:var(--paper)}
.mira-footer__claim{font-family:var(--font-d);font-size:clamp(2rem,5vw,3.6rem);font-weight:700;line-height:1.02;letter-spacing:-.045em;color:#fff}
.mira-footer__by{font-size:.98rem}
.mira-footer__domain{font-family:var(--font-d);font-weight:700;color:#fff}
.mira-footer__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem 1.5rem;padding-top:1rem;font-size:.84rem}
.mira-footer__row nav{display:flex;flex-wrap:wrap;gap:0 1.25rem}
.mira-footer__row a{display:inline-flex;align-items:center;min-height:44px;color:rgba(250,246,241,.78)}
.mira-footer__row a:hover{color:#fff}
@media screen and (max-width:768px){.mira-footer__row{flex-direction:column;align-items:flex-start}}

/* ══ AVVISO COOKIE (contratto landing.js) ══════════════════════════════════ */
.cookie-bar{position:fixed;z-index:150;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));max-width:980px;margin:0 auto;border:1px solid rgba(250,246,241,.1);border-radius:18px;background:rgba(31,27,23,.96);color:rgba(250,246,241,.8);box-shadow:0 26px 60px -20px rgba(0,0,0,.65);transform:translateY(140%);transition:transform 320ms var(--out)}
.cookie-bar.in{transform:none}
.cookie-bar .launch-wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;padding:.85rem .9rem .85rem 1.4rem}
.cookie-bar p{max-width:70ch;font-size:.9rem;line-height:1.5}
.cookie-bar a{display:inline-block;padding:4px 0;color:#fff;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.cookie-bar__ok{flex:none;min-height:44px;padding:.55rem 1.35rem;border:0;border-radius:999px;background:var(--coral);color:#fff;font-family:var(--font-d);font-size:.9rem;font-weight:700;cursor:pointer;transition:background-color var(--t)}
.cookie-bar__ok:hover{background:var(--coral-700)}
@media screen and (max-width:560px){.cookie-bar .launch-wrap{flex-direction:column;align-items:stretch;padding:1rem}.cookie-bar__ok{width:100%}}

/* ══ MIRO di carta: l'anello aperto del logo + la faccina (markup in _mira_characters.html) ═ */
.miro{display:block;flex-shrink:0;overflow:visible;color:rgba(233,226,218,.62);filter:drop-shadow(0 1.4px 0 rgba(80,40,20,.2)) drop-shadow(0 6px 8px rgba(60,35,20,.15))}
.miro-face{fill:#EA6B42}
.miro-eye__sh{fill:rgba(90,35,12,.28)}
.miro--xl{width:96px;height:96px}
.miro--sm{width:44px;height:44px}
.miro-ring{transform-box:view-box;transform-origin:60px 60px}
.miro-cheek{fill:#FFB49B;opacity:.6}
.miro-brow{fill:none;stroke:#A63F1E;stroke-width:2.7;stroke-linecap:round;opacity:.82;transform-box:view-box;transition:transform .25s ease}
.miro-sclera{fill:#FFFDF8}
.miro-iris{fill:#241C18}
.miro-glint{fill:#FFFFFF}
.miro-pupil{transform:translate(var(--px,0px),var(--py,0px));transition:transform .16s ease}
.miro-eye{transform-box:fill-box;transform-origin:center}
.miro-eye--l{transform:translate(47.5px,55px)}
.miro-eye--r{transform:translate(72.5px,55px)}
.miro.is-blink .miro-eye--l{transform:translate(47.5px,55px) scaleY(.1)}
.miro.is-blink .miro-eye--r{transform:translate(72.5px,55px) scaleY(.1)}
.miro.is-peek .miro-pupil{--px:2.4px;--py:3px}
.miro.is-peek .miro-brow{transform:translateY(1px)}
.miro-mouth{transform-box:view-box;transform-origin:60px 70px;transition:transform .25s ease}
.miro-mouth__in{fill:#62200F}
.miro-mouth__tongue{fill:#FF8C79}
.miro-mouth__teeth{fill:#FFF6EE}
body.cand-thinking .miro--live .miro-pupil{animation:miroWander 1.5s ease-in-out infinite}
body.cand-thinking .miro--live .miro-ring{animation:miroSpin 2.6s linear infinite}
@keyframes miroWander{0%,100%{transform:translate(0,0)}25%{transform:translate(-3px,-1px)}55%{transform:translate(3px,-2px)}80%{transform:translate(0,2px)}}
@keyframes miroSpin{to{transform:rotate(360deg)}}
.miro-joy{fill:none;stroke:#4A1C0C;stroke-width:3.2;stroke-linecap:round;opacity:0}
.miro--happy .miro-joy{opacity:1}
.miro--happy .miro-eye{opacity:0}
.miro--happy .miro-brow{transform:translateY(-2px)}
.miro--happy .miro-mouth{transform:scale(1.22)}
.miro--hero .miro-ring{animation:miroSpin 46s linear infinite}
.miro--hero .miro-pupil{animation:miroWander 6.5s ease-in-out infinite}
.miro--hero .miro-eye--l{animation:miroBlinkL 4.6s ease-in-out infinite}
.miro--hero .miro-eye--r{animation:miroBlinkR 4.6s ease-in-out infinite}
.miro--hero .miro-brow{animation:miroBrow 4.6s ease-in-out infinite}
@keyframes miroBlinkL{0%,90%,100%{transform:translate(47.5px,55px) scaleY(1)}94%{transform:translate(47.5px,55px) scaleY(.1)}}
@keyframes miroBlinkR{0%,90%,100%{transform:translate(72.5px,55px) scaleY(1)}94%{transform:translate(72.5px,55px) scaleY(.1)}}
@keyframes miroBrow{0%,30%,100%{transform:none}40%,60%{transform:translateY(-1.6px)}}

/* ══ PERSONAGGI DI CARTA (markup in _mira_characters.html) ════════════════
   Pezzi di carta con ombra finta (copia scura spostata), fermacampioni ai
   giunti, dischetto sotto i piedi. Braccio/gamba destri = disegno sinistro
   specchiato: --a (spalla) e --f (gomito) con «verso l'esterno = +». */
.pc{overflow:visible}
.pc--solo{display:block;height:var(--h,180px);width:calc(var(--h,180px) * 100 / 206);filter:drop-shadow(0 1.5px 0 rgba(64,40,24,.12)) drop-shadow(0 9px 12px rgba(64,40,24,.13))}
.pc *{transform-box:view-box}
.pc-sh{fill:rgba(64,40,24,.2)}
.pc-brad{fill:#E2C06F;stroke:#A9863C;stroke-width:.5}
.pc__fig{transform-origin:50px 196px;animation:pcSway 5.2s ease-in-out infinite}
.pc__arm{transform-origin:37px 58px;transform:rotate(var(--a,7deg))}
.pc__fore{transform-origin:37px 85px;transform:rotate(var(--f,-5deg))}
.pc__leg{transform-origin:44px 116px}
.pc__head{transform-origin:50px 46px;animation:pcNod 6s ease-in-out infinite}
@keyframes pcSway{0%,100%{transform:rotate(-1.1deg)}50%{transform:rotate(1.1deg)}}
@keyframes pcNod{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2.5deg)}}
.pc--d2 *{animation-delay:-1.1s!important}
.pc--d3 *{animation-delay:-2.3s!important}

/* saluta */
.pc--wave .pc__arm--r{--a:150deg}
.pc--wave .pc__fore--r{animation:pcWave 1.5s ease-in-out infinite}
@keyframes pcWave{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(30deg)}}
/* esulta (salto) */
.pc--cheer .pc__fig{animation:pcJump 2s cubic-bezier(.45,0,.3,1) infinite}
.pc--cheer .pc__arm{animation:pcCheer 2s ease-in-out infinite}
.pc--cheer .pc__fore{--f:12deg}
.pc--cheer .pc__leg{animation:pcTuck 2s ease-in-out infinite}
@keyframes pcJump{0%,68%,100%{transform:translateY(0)}12%{transform:translateY(2px) scale(1.02,.97)}32%,46%{transform:translateY(-18px)}60%{transform:translateY(1px) scale(1.02,.97)}}
@keyframes pcCheer{0%,68%,100%{transform:rotate(128deg)}32%,46%{transform:rotate(158deg)}}
@keyframes pcTuck{0%,68%,100%{transform:rotate(0)}32%,46%{transform:rotate(7deg)}}
.pc__cf{transform-box:fill-box;transform-origin:center;animation:pcConfetti 2.6s linear infinite}
.pc__cf--2{animation-delay:-.6s}.pc__cf--3{animation-delay:-1.2s}.pc__cf--4{animation-delay:-1.7s}.pc__cf--5{animation-delay:-2.2s}
@keyframes pcConfetti{0%{transform:translateY(-14px) rotate(0);opacity:0}15%{opacity:1}100%{transform:translateY(46px) rotate(260deg);opacity:0}}
/* cuore stretto al petto */
.pc--heart .pc__arm{--a:48deg}
.pc--heart .pc__fore{--f:-136deg}
.pc__heart{transform-origin:50px 84px;animation:pcBeat 1.8s ease-in-out infinite}
@keyframes pcBeat{0%,100%{transform:scale(1)}14%{transform:scale(1.08)}28%{transform:scale(1)}42%{transform:scale(1.05)}}
/* dona dal telefono: cuori che salgono */
.pc--phone .pc__arm{--a:40deg}
.pc--phone .pc__fore{--f:-124deg}
.pc__float{transform-box:fill-box;transform-origin:center;opacity:0;animation:pcFloat 2.4s ease-out infinite}
.pc__float--2{animation-delay:.8s}.pc__float--3{animation-delay:1.6s}
@keyframes pcFloat{0%{opacity:0;translate:0 6px;scale:.6}20%{opacity:1}100%{opacity:0;translate:0 -26px;scale:1.2}}
/* firma sul blocco */
.pc--sign .pc__arm--l{--a:36deg}
.pc--sign .pc__fore--l{--f:-112deg}
.pc--sign .pc__arm--r{--a:30deg}
.pc--sign .pc__fore--r{animation:pcWrite .9s ease-in-out infinite}
@keyframes pcWrite{0%,100%{transform:rotate(-116deg)}50%{transform:rotate(-124deg)}}
.pc__scribble{stroke-dasharray:1;stroke-dashoffset:1;animation:pcScribble 3s ease-in-out infinite}
@keyframes pcScribble{0%,10%{stroke-dashoffset:1}60%,90%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
/* megafono e pugno alzato */
.pc--megaphone .pc__arm--l{animation:pcFist 1.6s ease-in-out infinite}
.pc--megaphone .pc__fore--l{--f:16deg}
.pc--megaphone .pc__arm--r{--a:52deg}
.pc--megaphone .pc__fore--r{--f:-150deg}
@keyframes pcFist{0%,100%{transform:rotate(146deg)}50%{transform:rotate(158deg)}}
.pc__waves path{opacity:0;animation:pcWaves 1.6s ease-out infinite}
.pc__waves path:nth-child(2){animation-delay:.2s}.pc__waves path:nth-child(3){animation-delay:.4s}
@keyframes pcWaves{0%{opacity:0}20%{opacity:1}70%,100%{opacity:0}}
/* bandiera */
.pc--flag .pc__arm--r{--a:22deg}
.pc--flag .pc__fore--r{--f:-100deg}
.pc--flag .pc__arm--l{--a:26deg}
.pc--flag .pc__fore--l{--f:-118deg}
.pc__cloth{transform-origin:60px 26px;animation:pcFlag 1.8s ease-in-out infinite}
@keyframes pcFlag{0%,100%{transform:skewY(0) scaleX(1)}50%{transform:skewY(-5deg) scaleX(.94)}}
/* lancia l'aeroplanino (la newsletter) */
.pc--mail .pc__arm--r{animation:pcThrow 3s ease-in-out infinite}
.pc--mail .pc__fore--r{--f:10deg}
@keyframes pcThrow{0%,100%{transform:rotate(118deg)}30%{transform:rotate(104deg)}42%{transform:rotate(162deg)}56%{transform:rotate(150deg)}}
.pc__plane-fly{animation:pcFly 3s ease-in-out infinite}
@keyframes pcFly{0%,30%{transform:translate(64px,4px) rotate(-18deg);opacity:1}42%{transform:translate(78px,-8px) rotate(-22deg);opacity:1}100%{transform:translate(132px,-46px) rotate(-8deg);opacity:0}}
/* evento: alza il calendario */
.pc--event .pc__arm--r{--a:150deg}
.pc--event .pc__fore--r{--f:12deg}
.pc__cal{transform-box:fill-box;transform-origin:center;animation:pcBob 2.4s ease-in-out infinite}
@keyframes pcBob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-3px) rotate(3deg)}}
/* salvadanaio: la moneta cade nella fessura */
.pc--box .pc__arm--r{--a:34deg}
.pc--box .pc__fore--r{--f:-30deg}
.pc__coin{animation:pcCoin 2.2s ease-in infinite}
@keyframes pcCoin{0%,20%{transform:translateY(0);opacity:1}62%{transform:translateY(27px);opacity:1}70%,100%{transform:translateY(30px);opacity:0}}
/* chiacchiera con Mira */
.pc--chat .pc__arm--l{--a:42deg}
.pc--chat .pc__fore--l{animation:pcTalk 2.2s ease-in-out infinite}
@keyframes pcTalk{0%,100%{transform:rotate(-122deg)}50%{transform:rotate(-108deg)}}
.pc__dots circle{animation:pcDot 1.2s ease-in-out infinite}
.pc__dots circle:nth-child(2){animation-delay:.18s}.pc__dots circle:nth-child(3){animation-delay:.36s}
@keyframes pcDot{0%,100%{opacity:.3;translate:0 0}40%{opacity:1;translate:0 -2px}}

/* ══ CANDIDATURA GUIDATA: colloquio a schermo pieno (contratto landing.js) ═ */
.cand-ov{position:fixed;z-index:400;left:0;right:0;top:var(--cand-viewport-top,0px);height:var(--cand-viewport-height,100dvh);display:flex;align-items:center;justify-content:center;padding:28px;background:rgba(31,27,23,.56);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--ink)}
.cand-shell{display:grid;grid-template-columns:340px minmax(0,1fr);width:min(1140px,100%);height:min(840px,100%);overflow:hidden;border:1px solid rgba(255,255,255,.45);border-radius:28px;background:var(--paper);box-shadow:0 40px 120px rgba(20,16,12,.4)}
.cand-side{display:flex;flex-direction:column;gap:30px;padding:34px 30px;border-right:1px solid var(--sage-line);background:var(--sage)}
.cand-logo{width:112px;height:auto}
.cand-side__copy{margin-top:20px}
.cand-kicker{font-size:11px;font-weight:700;letter-spacing:.1em;line-height:1.6;color:var(--sage-ink)}
.cand-side__copy h2{margin-top:16px;font-family:var(--font-d);font-size:36px;font-weight:500;line-height:1.12;letter-spacing:-.05em;color:var(--ink)}
.cand-side__copy h2>span{color:var(--coral-text)}
.cand-side__copy>p{max-width:24ch;margin-top:16px;font-size:15px;line-height:1.75;color:var(--body)}
.cand-steps{display:grid;gap:22px;margin:6px 0 auto;padding:0;list-style:none}
.cand-steps li{display:flex;align-items:flex-start;gap:12px;color:#6b7767}
.cand-steps li>span{flex:none;display:grid;place-items:center;width:32px;height:32px;border:1px solid #c4cfb9;border-radius:50%;font-size:11px;font-weight:600}
.cand-steps strong{display:block;margin-top:2px;font-size:14px;font-weight:600;color:inherit}
.cand-steps small{display:block;max-width:24ch;margin-top:3px;font-size:12px;line-height:1.6}
.cand-steps [aria-current="step"]{color:var(--ink)}
.cand-steps [aria-current="step"]>span{border-color:var(--ink);background:var(--ink);color:var(--paper)}
.cand-steps .is-complete>span{border-color:#bdcdb0;background:#d1dfc5;color:var(--sage-ink)}
.cand-side__foot{display:flex;align-items:center;gap:13px;padding-top:22px;border-top:1px solid #cbd6bf}
.cand-side__foot .miro{width:48px;height:48px;color:var(--sage-ink)}
.cand-side__foot p{font-size:12px;line-height:1.7;color:var(--body)}
.cand-side__foot strong{font-weight:500;color:var(--ink)}
.cand-stage{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;scrollbar-width:thin;scrollbar-color:#bdc9b5 transparent}
.cand-topline{flex-shrink:0;display:flex;align-items:center;gap:20px;min-height:74px;padding:0 82px 0 34px;border-bottom:1px solid var(--line);font-size:13px;font-weight:600;color:var(--ink)}
.cand-step-label{margin-left:auto;font-size:11px;font-weight:500;color:var(--muted);white-space:nowrap}
.cand-x{position:absolute;z-index:5;top:16px;right:22px;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:#fffefa;color:var(--ink);font-size:13px;cursor:pointer;transition:background-color var(--t)}
.cand-x:hover{background:var(--sage)}
.cand-intro{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:22px;padding:32px 48px 34px;scrollbar-width:thin}
.cand-welcome{display:none}
.cand-intro h2{margin-top:10px;font-family:var(--font-d);font-size:38px;font-weight:500;line-height:1.15;letter-spacing:-.04em;color:var(--ink)}
.cand-sub{font-size:16px;line-height:1.75;color:var(--body)}
.cand-intro__heading .cand-sub{margin-top:14px}
.cand-fields{display:grid;gap:9px;width:100%}
.cand-field-label{font-size:14px;font-weight:600;color:var(--ink)}
.cand-field-label:not(:first-child){margin-top:12px}
.cand-fields .input{height:auto;min-height:52px;padding:13px 16px;border:1px solid #ccd5c7;border-radius:12px;background:#fffefa;color:var(--ink);font:inherit;font-size:16px;box-shadow:none}
.cand-fields .input::placeholder{color:#7c857a}
.cand-fields .input:focus{border-color:var(--sage-ink);box-shadow:0 0 0 3px #d9e4d1;outline:0}
.cand-hp{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
.cand-hint{margin:0;font-size:13px;line-height:1.6;color:var(--muted)}
.cand-check{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:12px;margin-top:14px;font-size:13px;line-height:1.65;color:var(--body);cursor:pointer}
.cand-check input{width:19px;height:19px;margin-top:1px;accent-color:var(--sage-ink);cursor:pointer}
.cand-check a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.cand-err{width:100%;padding:12px 15px;border:1px solid #e3bba9;border-radius:10px;background:#f9e7dd;color:#823c27;font-size:14px}
.button.cand-start{flex-shrink:0;justify-content:space-between;width:100%;min-height:54px;padding-inline:22px}
.cand-micro{margin-top:-10px;font-size:13px;line-height:1.65;color:var(--muted)}
.cand-chat{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.cand-head{flex-shrink:0;display:flex;align-items:center;gap:13px;padding:20px 32px;background:#fffefa}
.cand-head .miro{width:45px;height:45px;color:var(--sage-ink)}
.cand-head-id{display:flex;flex-direction:column;gap:1px}
.cand-head-t{font-family:var(--font-d);font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.cand-head-t>span{display:block;font-family:var(--font-t);font-size:12px;font-weight:500;letter-spacing:0;color:var(--muted)}
.cand-status{display:flex;align-items:center;gap:5px;margin-top:2px;font-size:12px;color:var(--sage-ink)}
.cand-status::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
body.cand-thinking .cand-status{color:var(--coral-text)}
.cand-chat-badge{align-self:center;margin-left:auto;padding:7px 10px;border:1px solid #dfe6d5;border-radius:999px;background:#edf1e5;color:var(--sage-ink);font-size:11px;white-space:nowrap}
.cand-bar{flex-shrink:0;height:3px;overflow:hidden;background:#e8eddf}
.cand-bar i{display:block;width:0;height:100%;background:#8fa77c;transition:width .5s ease}
.cand-msgs{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:7px;padding:24px 30px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c2cdbb transparent;scrollbar-gutter:stable}
.cand-msgs::-webkit-scrollbar{width:6px}
.cand-msgs::-webkit-scrollbar-track{background:transparent}
.cand-msgs::-webkit-scrollbar-thumb{border-radius:99px;background:#c9d2c2}
.cand-chat-start{margin-bottom:18px;font-size:11px;letter-spacing:.045em;text-align:center;color:var(--muted)}
.cand-row{flex-shrink:0;display:flex;align-items:flex-end;gap:9px;animation:candIn .24s cubic-bezier(.22,.61,.25,1) both}
.cand-row--ai{justify-content:flex-start}
.cand-row--me{justify-content:flex-end;margin:8px 0 4px}
.cand-row--ai+.cand-row--me,.cand-row--me+.cand-row--ai{margin-top:14px}
.cand-ava{flex-shrink:0;display:grid;place-items:center;width:28px;height:30px}
.cand-ava .miro{width:28px;height:28px;color:var(--sage-ink)}
.cand-ava--ghost{visibility:hidden}
@keyframes candIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.cand-m{max-width:min(85%,500px);padding:14px 18px;border-radius:18px;font-size:16px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.cand-m--ai{border:1px solid #e1e5d9;border-bottom-left-radius:5px;background:#fffefa;color:var(--ink);box-shadow:0 3px 8px rgba(43,68,37,.04)}
.cand-m--me{border:1px solid #d7e0ca;border-bottom-right-radius:5px;background:#e4ebd9;color:#293d2e}
.cand-m--sys{flex-shrink:0;margin:14px auto;padding:15px;border:1px solid #e3c3b1;border-radius:14px;background:#fae9df;color:#843c25;font-size:14px;text-align:center}
.cand-m--sys a,.cand-m--sys button{padding:0;border:0;background:none;color:#843c25;font:inherit;text-decoration:underline;cursor:pointer}
.cand-typing{display:inline-flex;gap:5px;padding:14px 16px}
.cand-typing i{width:7px;height:7px;border-radius:50%;background:#819374;animation:candDot 1.1s ease-in-out infinite}
.cand-typing i:nth-child(2){animation-delay:.18s}
.cand-typing i:nth-child(3){animation-delay:.36s}
@keyframes candDot{0%,100%{opacity:.3;transform:translateY(0)}45%{opacity:1;transform:translateY(-4px)}}
.cand-exit{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 28px 12px;padding:16px;border:1px solid #ded0ba;border-radius:14px;background:#f2eadd;color:var(--ink);font-size:14px}
.cand-exit>span{flex-basis:100%}
.cb-cand{min-height:42px;padding:9px 15px;border:0;border-radius:999px;background:var(--ink);color:#fff;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.cb-cand--ghost{border:1px solid #bfc7b5;background:transparent;color:var(--ink)}
.cand-inputrow{flex-shrink:0;display:flex;align-items:flex-end;gap:12px;margin:0 28px;padding:10px 10px 10px 16px;border:1px solid #cbd5c2;border-radius:18px;background:#fffefa;box-shadow:0 4px 14px rgba(39,62,36,.03)}
.cand-inputrow:focus-within{border-color:#859f73;box-shadow:0 0 0 3px #e2eada}
.cand-inputrow textarea{flex:1;min-width:0;height:44px;min-height:44px;max-height:144px;padding:10px 0;overflow-y:auto;border:0;border-radius:0;outline:0;background:none;color:var(--ink);font:inherit;font-size:16px;line-height:1.5;resize:none}
.cand-inputrow textarea::placeholder{color:#7b8674}
.cand-send{flex-shrink:0;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:13px;background:var(--coral-text);color:#fff;cursor:pointer;transition:background-color var(--t),transform .13s}
.cand-send svg{width:1.2rem;height:1.2rem}
.cand-send:hover{background:#91381f}
.cand-send:active{transform:scale(.94)}
.cand-send:disabled{opacity:.45;cursor:wait}
.cand-input-hint{flex-shrink:0;display:flex;justify-content:space-between;gap:12px;padding:12px 30px 20px;font-size:11px;line-height:1.6;color:var(--muted)}
.cand-key-hint{max-width:25ch;font-size:10px;text-align:right}
.cand-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cand-done{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;min-height:0;overflow-y:auto;padding:55px 48px;text-align:center}
.cand-done h2{font-family:var(--font-d);font-size:36px;font-weight:500;line-height:1.2;letter-spacing:-.04em;color:var(--ink)}
.cand-done .cand-sub{max-width:42ch;overflow-wrap:anywhere}
.cand-done .miro{color:var(--sage-ink)}
.cand-donewrap{position:relative;display:grid;place-items:center;padding:24px}
.cand-donewrap .cand-ring{position:absolute;width:112px;height:112px}
.cand-ring{border:2px solid rgba(166,188,148,.4);border-radius:50%;animation:candRing 1.6s ease-out infinite}
.cand-ring--2{animation-delay:.55s}
@keyframes candRing{from{transform:scale(.7);opacity:.9}to{transform:scale(1.7);opacity:0}}
@media screen and (max-width:1050px){
  .cand-shell{grid-template-columns:285px minmax(0,1fr)}
  .cand-side{padding:30px 24px}.cand-side__copy h2{font-size:31px}.cand-side__foot{gap:10px}.cand-side__foot .miro{width:38px;height:38px}
  .cand-intro{padding:28px 30px}.cand-topline{padding-left:28px}.cand-step-label,.cand-key-hint{display:none}
}
@media screen and (max-width:800px){
  .cand-ov{padding:16px}.cand-shell{grid-template-columns:1fr;max-width:660px;border-radius:22px}.cand-side{display:none}.cand-step-label{display:block}
  .cand-welcome{display:block}.cand-welcome .miro{width:60px;height:60px;color:var(--sage-ink)}
  .cand-intro{padding:26px 34px;gap:20px}.cand-intro h2{font-size:34px}
}
@media screen and (max-width:560px){
  .cand-ov{padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}.cand-shell{height:100%;max-height:none;border:0;border-radius:0}
  .cand-topline{min-height:62px;padding:0 65px 0 20px;font-size:12px;gap:12px}.cand-step-label{font-size:10px}.cand-x{top:11px;right:14px}
  .cand-intro{padding:25px 22px 28px;gap:20px}.cand-intro h2{font-size:32px}.cand-welcome .miro{width:55px;height:55px}
  .cand-intro__heading .cand-kicker{font-size:10px}
  .cand-head{padding:14px 20px;gap:10px}.cand-head .miro{width:38px;height:38px}.cand-chat-badge{display:none}.cand-head-t{font-size:16px}.cand-head-t>span{font-size:11px}
  .cand-msgs{padding:20px 15px}.cand-m{max-width:calc(100% - 34px);padding:12px 14px}.cand-row--me .cand-m{max-width:90%}.cand-ava,.cand-ava .miro{width:24px;height:24px}
  .cand-inputrow{margin:0 14px;padding:8px 8px 8px 13px;gap:8px}.cand-input-hint{padding:10px 18px max(14px,env(safe-area-inset-bottom))}
  .cand-exit{margin-inline:14px;padding:13px;font-size:13px}
  .cand-done{padding:36px 24px;justify-content:flex-start}.cand-done h2{font-size:32px}
}
@media screen and (max-height:700px) and (min-width:801px){.cand-side__copy{margin-top:0}.cand-side{gap:22px}.cand-side__copy h2{font-size:29px}.cand-side__copy>p{font-size:14px}.cand-side__foot{display:none}.cand-steps{gap:16px;margin-top:auto}}
@media screen and (max-height:500px){.cand-ov{padding:0}.cand-shell{grid-template-columns:1fr;border-radius:0}.cand-side{display:none}.cand-topline{min-height:50px}.cand-x{top:5px}.cand-head{padding-block:8px}.cand-head-t>span,.cand-chat-badge,.cand-input-hint,.cand-chat-start{display:none}.cand-inputrow{margin-bottom:max(8px,env(safe-area-inset-bottom))}.cand-intro{padding-top:20px}.cand-welcome{display:none}}

/* ══ PAGINE LEGALI (landing_legal.html) ════════════════════════════════════ */
.mira-nav--solid{background-color:rgba(250,246,241,.95);border-bottom-color:var(--line)}
.mira-nav--solid .navbar-brand{flex-grow:1}
.launch-kicker{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-family:var(--font-d);font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.launch-kicker span{width:22px;height:2px;background:var(--coral)}
.text-link{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;border-bottom:2px solid var(--coral);font-family:var(--font-d);font-size:.95rem;font-weight:600;color:var(--ink)}
.text-link:hover{color:var(--coral-text)}
.text-link svg{width:1rem;height:1rem}
.legal{padding:clamp(2.75rem,5vw,4.25rem) 1.5rem clamp(3.5rem,6vw,5.25rem)}
.legal>.container{max-width:820px!important}
.legal__card{padding:clamp(1.75rem,4vw,3rem);border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow-sm)}
.title.legal__title{margin:2px 0 0;font-size:clamp(2.1rem,5vw,3.2rem);line-height:1.02;letter-spacing:-.05em}
.legal__lead{max-width:58ch;margin-top:16px;font-size:clamp(1rem,1.5vw,1.12rem);line-height:1.7;color:var(--body)}
.legal__updated{margin-top:12px;font-size:12.5px;color:var(--muted)}
.legal__block{max-width:68ch;margin-top:clamp(28px,3.4vw,40px);padding-top:clamp(22px,2.6vw,30px);border-top:1px solid var(--line);scroll-margin-top:calc(var(--bulma-navbar-height) + 1.5rem)}
.legal__block h2{font-family:var(--font-d);font-size:1.22rem;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.legal__block p{margin-top:12px;font-size:15.2px;line-height:1.72;color:var(--body)}
.legal__block strong{font-weight:600;color:var(--ink)}
.legal__block a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--coral);text-underline-offset:3px}
.legal__block a:hover{color:var(--coral-text)}
.legal__list{display:grid;gap:10px;margin-top:14px}
.legal__list li{position:relative;padding-left:18px;font-size:15.2px;line-height:1.7;color:var(--body)}
.legal__list li::before{content:"";position:absolute;top:.75em;left:0;width:8px;height:1.5px;background:var(--coral);opacity:.8}
.legal__back{margin-top:clamp(34px,4vw,48px)}
.legal__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:clamp(34px,4vw,48px)}
.legal__foot .legal__back{margin-top:0}
.legal__print{font:inherit;font-size:14px;font-weight:600;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 16px;cursor:pointer;transition:border-color var(--t)}
.legal__print:hover{border-color:var(--ink)}
.legal__print:focus-visible{outline:2px solid var(--coral);outline-offset:3px}
/* Condizioni e Accordo dati: riassunto, indice, articoli numerati, allegati */
.legal__brief{max-width:68ch;margin-top:clamp(22px,3vw,30px);padding:18px 22px 16px;border:1px solid var(--line);border-radius:18px;background:var(--sand)}
.legal__brief h2{font-family:var(--font-d);font-size:1.02rem;font-weight:700;color:var(--ink)}
.legal__brief .legal__list{margin-top:10px}
.legal__brief .legal__list li{font-size:14.8px}
.legal__brief strong{font-weight:600;color:var(--ink)}
.legal__brief a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--coral);text-underline-offset:3px}
.legal__note{margin-top:10px;font-size:12.5px;color:var(--muted)}
.legal__toc{display:flex;flex-wrap:wrap;gap:6px 8px;max-width:68ch;margin-top:22px}
.legal__toc a{font-size:12.5px;font-weight:600;color:var(--body);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:5px 11px;text-decoration:none;transition:color var(--t),border-color var(--t)}
.legal__toc a:hover{color:var(--coral-text);border-color:var(--coral)}
.legal__n{display:inline-block;min-width:2.5em;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.legal__approve{max-width:68ch;margin-top:clamp(28px,3.4vw,40px);padding:18px 22px;border-radius:18px;background:var(--coral-soft);border:1px solid rgba(232,99,58,.28)}
.legal__approve h2{font-family:var(--font-d);font-size:1.02rem;font-weight:700;color:var(--ink)}
.legal__approve p{margin-top:8px;font-size:14.8px;line-height:1.65;color:var(--body)}
.legal__dl{display:grid;grid-template-columns:minmax(120px,170px) 1fr;gap:12px 18px;margin-top:14px}
.legal__dl dt{font-weight:700;font-size:14px;line-height:1.65;color:var(--ink)}
.legal__dl dd{margin:0;font-size:14.8px;line-height:1.65;color:var(--body)}
.legal__tablewrap{margin-top:14px;overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.legal__table{width:100%;min-width:620px;border-collapse:collapse;font-size:13.8px;line-height:1.5}
.legal__table th{text-align:left;font-weight:700;color:var(--ink);background:var(--sand);padding:10px 12px;border-bottom:1px solid var(--line)}
.legal__table td{vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line);color:var(--body)}
.legal__table tr:last-child td{border-bottom:0}
.legal__table td strong{color:var(--ink)}
.legal__table td span{font-size:12.5px;color:var(--muted)}
@media (max-width:600px){.legal__dl{grid-template-columns:1fr;gap:2px}.legal__dl dd{margin-bottom:10px}}
@media print{
  .mira-nav,.mira-footer,.legal__toc,.legal__foot,.cookie-bar{display:none!important}
  body.has-navbar-fixed-top{padding-top:0!important}
  .legal{padding:0!important}
  .legal__card{border:0!important;box-shadow:none!important;padding:0!important}
  .legal__block,.legal__brief,.legal__approve{max-width:none}
  .legal__block p,.legal__list li{break-inside:avoid}
  .legal__tablewrap{overflow:visible}.legal__table{min-width:0}
}
.footer.mira-footer--slim{padding-top:0}
.mira-footer--slim .mira-footer__row{padding-top:1.25rem}

/* ══ STILE PANNELLO (set. 2026) ═══════════════════════════════════════════
   Lo stesso linguaggio dell'app e dello skin del pannello phpList: menu su
   inchiostro con logo chiaro, icone corallo e voce attiva col filo corallo;
   pulsanti pieni a 10px senza bagliore, secondari bianchi con bordo caldo che
   al passaggio diventano corallo; card bianche con bordi caldi e ombra piatta;
   etichette in chiaro invece del maiuscoletto. Colori come in crm.css. */
:root,[data-theme=light]{
  --line:#E7DDD2; --line-2:#D8CCBF; --sand:#F6F0E9;
  --body:#4A423B; --muted:#6B635B;
  --coral-btn:#C8512A; --coral-btn-hover:#A8431F; --coral-ink:#B8491F;
  --nav-ink:#1F1B17; --nav-text:#E9E1D8;
  --shadow-sm:0 1px 2px rgba(31,27,23,.05);
  --shadow-card:0 1px 2px rgba(31,27,23,.05),0 16px 34px -28px rgba(31,27,23,.4);
}

/* menu */
.mira-nav,.mira-nav.is-scrolled{background-color:var(--nav-ink);-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid rgba(250,246,241,.07)}
.mira-nav.is-scrolled{box-shadow:0 12px 28px -22px rgba(0,0,0,.75)}
.mira-nav .navbar-item{font-family:var(--font-t);font-weight:500;font-size:.92rem;color:var(--nav-text);border-radius:8px}
.mira-nav a.navbar-item{position:relative;display:flex;align-items:center;gap:.55rem}
.mira-nav .mi--nav{width:1.05rem;height:1.05rem;color:var(--coral)}
.mira-nav a.navbar-item:hover,.mira-nav a.navbar-item:focus-visible{background:rgba(250,246,241,.06);color:#fff}
.mira-nav a.navbar-item.is-active{background:rgba(250,246,241,.08);color:#fff}
.mira-nav .navbar-burger{color:var(--nav-text)}
.mira-nav .navbar-burger:hover{background:rgba(250,246,241,.08)}
@media screen and (min-width:1024px){
  .mira-nav a.navbar-item{padding-inline:.8rem}
  .mira-nav a.navbar-item.is-active::after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.3rem;height:3px;border-radius:3px;background:var(--coral)}
}
@media screen and (max-width:1023px){
  .mira-nav .navbar-menu{background:var(--nav-ink);border-color:rgba(250,246,241,.1);box-shadow:0 26px 50px -26px rgba(0,0,0,.85)}
  .mira-nav .navbar-menu .navbar-item{font-size:1rem}
  .mira-nav a.navbar-item.is-active{box-shadow:inset 3px 0 0 var(--coral)}
}

/* pulsanti */
.button{font-family:var(--font-t);font-weight:600;letter-spacing:0}
.button.is-rounded{border-radius:10px;padding-inline:1.15em}
.button.is-medium.is-rounded,.button.is-large.is-rounded{border-radius:12px}
.button.is-primary{background-color:var(--coral-btn);border-color:var(--coral-btn);color:#fff;box-shadow:none}
.button.is-primary:hover,.button.is-primary:focus-visible{background-color:var(--coral-btn-hover);border-color:var(--coral-btn-hover);color:#fff}
.mira-btn-glow,.mira-btn-glow:hover{box-shadow:none;transform:none}
.mira-btn-soft{background:#fff;border:1px solid var(--line-2);color:var(--ink);box-shadow:none}
.mira-btn-soft:hover,.mira-btn-soft:focus-visible{border-color:var(--coral);background:#fff;color:var(--coral-ink);transform:none}
.button.is-primary .mira-play{background:rgba(255,255,255,.2);color:#fff}
.cookie-bar__ok{border-radius:10px;background:var(--coral-btn)}
.cookie-bar__ok:hover{background:var(--coral-btn-hover)}

/* etichette e titoli */
.mira-kicker{font-family:var(--font-t);font-size:.92rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--coral-ink)}
.mira-kicker::before{width:18px;height:3px}
.launch-kicker{font-family:var(--font-t);font-size:.92rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--coral-ink)}
.launch-kicker span{width:18px;height:3px;border-radius:3px}
.mira-eyebrow{font-family:var(--font-t);font-size:.86rem;font-weight:600;letter-spacing:0;text-transform:none;background:#fff;box-shadow:none}
.title.mira-h1{letter-spacing:-.045em}
.title.mira-h2{letter-spacing:-.035em}
.mira-sub a,.mira-faq__item a{color:var(--coral-ink)}

/* card, schede e chip */
.box{border-radius:14px}
.box.mock{border-color:var(--line);box-shadow:var(--shadow-card)}
.box.mira-feat{border-radius:14px;box-shadow:var(--shadow-sm)}
.box.mira-feat:hover{translate:none;border-color:var(--line-2);box-shadow:var(--shadow-card)}
.mira-pains>li{border-radius:12px}
.mira-pains__better a{border-radius:14px}
.mira-aud__card{border-radius:16px}
.mira-aud__card:hover{translate:none;box-shadow:var(--shadow-card)}
.mira-faq__item{border-radius:12px;background:#fff}
.mira-faq__item[open]{border-color:var(--line-2);box-shadow:var(--shadow-sm)}
.mira-rail{background:#fff}
.mira-rail__tags .tag,.mira-step .tag,.mira-smart .tag{border-color:var(--line);background:#fff;color:var(--ink)}
.tabs.mira-tabs.is-toggle ul{gap:.4rem}
.tabs.mira-tabs.is-toggle li+li{margin-left:0}
.tabs.mira-tabs.is-toggle a,.tabs.mira-tabs.is-toggle.is-toggle-rounded li:first-child a,.tabs.mira-tabs.is-toggle.is-toggle-rounded li:last-child a{border-radius:10px}
.tabs.mira-tabs.is-toggle a{border:1px solid var(--line-2);background:#fff;font-family:var(--font-t);font-size:.92rem;font-weight:600}
.tabs.mira-tabs.is-toggle a:hover{border-color:var(--coral);background:#fff;color:var(--coral-ink)}
.mira-trailer__frame{border-radius:16px}
.mira-invite{border-radius:22px}
.mira-posti__cta{margin-top:.25rem}
.legal__card{border-radius:16px;border-color:var(--line);box-shadow:var(--shadow-sm)}

/* ══ MENO MOVIMENTO PER CHI LO CHIEDE ══════════════════════════════════════ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal,.rise,.mira-toast{opacity:1!important;transform:none!important}
  .mira-toast{transform:rotate(-2deg)!important}
  .pop,.at{opacity:1!important;visibility:visible!important;transform:none!important}
  .dots.at{display:none!important}
  .bar i{width:var(--w)!important}.vb i{transform:none!important}
  .ring__v{stroke-dashoffset:calc(578px * (1 - var(--v)))!important}
  .mira-mark path{stroke-dashoffset:0!important}
  .mira-hub__lines line{opacity:1!important}
  .pc--cheer .pc__arm{transform:rotate(150deg)}
  .pc--wave .pc__fore--r{transform:rotate(14deg)}
  .pc--megaphone .pc__arm--l{transform:rotate(150deg)}
  .pc--mail .pc__arm--r{transform:rotate(150deg)}
  .pc--sign .pc__fore--r{transform:rotate(-120deg)}
  .pc--chat .pc__fore--l{transform:rotate(-116deg)}
  .pc__scribble{stroke-dashoffset:0!important}
  .pc__float,.pc__cf,.pc__coin{display:none}
  .pc__plane-fly{transform:translate(96px,-24px) rotate(-14deg)}
}
