/* ── Mira · sito pre-lancio ─────────────────────────────────────────────────
   CSS vanilla, niente framework e niente trucchi: fasce piene, illustrazioni
   in carta ritagliata, un solo effetto (lo scroll-reveal, che senza JS non
   parte: il noscript in pagina rende tutto visibile). Le classi launch-*,
   legal-* e cookie-bar sono condivise con le pagine legali. */

:root{
  --paper:#FAF6F1; --surface:#F1EBE3; --ink:#1F1B17;
  --coral:#E8633A; --coral-text:#b04527; --coral-700:#cf5430;
  --line:#E0D8CD; --muted:#6E665C; --body:#6B645B; --green:#1F9D6B;
  --font-d:'Space Grotesk',system-ui,sans-serif;
  --font-t:'Plus Jakarta Sans',system-ui,sans-serif;
  --t:200ms cubic-bezier(.2,.6,.2,1);
  --radius-img:14px 14px 44px 14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip}
.launch-body{
  font-family:var(--font-t);color:var(--ink);background:var(--paper);
  line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--coral-text)}
:focus-visible{outline:2px solid var(--coral);outline-offset:2px;border-radius:4px}
.launch-wrap{width:min(100%,1120px);margin:0 auto;padding-inline:clamp(20px,4.5vw,52px)}
.launch-skip{position:fixed;z-index:200;top:12px;left:12px;transform:translateY(-160%);padding:10px 14px;border-radius:8px;background:var(--ink);color:var(--paper);font-weight:600}
.launch-skip:focus{transform:none}
.dot-coral{color:var(--coral)}

/* ── barra in alto ── */
.launch-nav{position:sticky;top:0;z-index:100;background:rgba(250,246,241,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.launch-nav--solid{position:sticky}
.launch-nav__inner{display:flex;align-items:center;justify-content:space-between;min-height:60px}
.brand{display:inline-flex;align-items:center;text-decoration:none}
.brand__img{height:30px;width:auto;display:block}
.launch-nav__menu{display:flex;align-items:center;gap:clamp(14px,2.4vw,26px);margin-left:auto;margin-right:clamp(14px,2.4vw,26px)}
.launch-nav__menu a{color:var(--ink);text-decoration:none;font-family:var(--font-d);font-size:.85rem;font-weight:600;min-height:44px;display:inline-flex;align-items:center;border-bottom:2px solid transparent;transition:border-color var(--t)}
.launch-nav__menu a:hover{border-bottom-color:var(--coral)}
@media (max-width:760px){.launch-nav__menu{display:none}}
@media (max-width:640px){
  .launch-nav__inner{min-height:56px}
  .launch-nav__link{white-space:nowrap;padding:6px 14px;font-size:.8rem}
  .brand__img{height:26px}
}
.launch-nav__link{display:inline-flex;align-items:center;min-height:44px;padding:6px 16px;border:1.5px solid var(--ink);border-radius:10px;color:var(--ink);text-decoration:none;font-family:var(--font-d);font-size:.85rem;font-weight:600;transition:background var(--t),color var(--t)}
.launch-nav__link:hover{background:var(--ink);color:var(--paper)}

/* ── fasce ── */
.band{padding:clamp(52px,7.5vw,96px) 0}
.band--white{background:#fff}
.band--surface{background:var(--surface)}
.band--coral{background:linear-gradient(rgba(232,99,58,.06),rgba(232,99,58,.06)),var(--paper)}
.band__title{font-family:var(--font-d);font-weight:600;font-size:clamp(1.7rem,3.6vw,2.5rem);letter-spacing:-.035em;line-height:1.05;text-wrap:balance}
.band__sub{margin-top:10px;max-width:56ch;color:var(--body)}

/* titoli e testi */
h1,h2,h3{font-family:var(--font-d);font-weight:600;letter-spacing:-.03em}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--muted);font-size:.85rem;font-style:italic}
.lead{color:var(--body);font-size:clamp(1.02rem,1.6vw,1.18rem);max-width:52ch}

/* bottoni */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 26px;border:0;border-radius:12px;background:var(--coral);color:#fff;text-decoration:none;font-family:var(--font-d);font-weight:600;font-size:1rem;cursor:pointer;transition:transform var(--t),background var(--t),box-shadow var(--t)}
.btn:hover{transform:translateY(-2px);background:var(--coral-700);box-shadow:0 14px 28px -16px rgba(232,99,58,.7)}
.btn:active{transform:none}
.btn--full{width:100%}

/* ── hero ── */
.hero{padding:clamp(40px,6vw,84px) 0}
.hero__grid{display:grid;gap:clamp(26px,4.5vw,60px);align-items:center}
@media (min-width:920px){.hero__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}}
.hero h1{font-size:clamp(2.2rem,5.2vw,3.8rem);line-height:1.04;letter-spacing:-.04em;margin-top:14px}
.hero .lead{margin-top:18px}
.hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:26px}
.hero__note{max-width:34ch;color:var(--muted);font-size:.84rem;line-height:1.55}
.hero__art,.feat__art{position:relative}
.hero__art img{border-radius:var(--radius-img);border:1px solid var(--line)}
/* il BLOOM: una pallina corallo pulsa e il disegno le sboccia intorno, in
   cerchio, fino a riempire la cornice. Il clip sta sull'IMG (figlia): mai
   sull'elemento osservato, così l'IntersectionObserver non si accieca. */
.bloom{display:block;position:relative}
.bloom img{clip-path:circle(0% at 50% 54%);transform:scale(.96)}
.reveal.in .bloom img{animation:bloomIn 1s cubic-bezier(.3,.55,.25,1) .22s both}
@keyframes bloomIn{
  0%{clip-path:circle(0% at 50% 54%);transform:scale(.96)}
  100%{clip-path:circle(75% at 50% 54%);transform:none}
}
.bloom::after{content:"";position:absolute;left:50%;top:54%;width:15px;height:15px;margin:-8px 0 0 -8px;border-radius:50%;background:var(--coral);transform:scale(0);pointer-events:none;z-index:2}
.reveal.in .bloom::after{animation:dotPop .6s cubic-bezier(.3,.6,.3,1) both}
@keyframes dotPop{0%{transform:scale(0)}40%{transform:scale(1.25)}70%{transform:scale(.9)}100%{transform:scale(0)}}

/* ── storie con illustrazione, alternate ── */
.feat{display:grid;gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(26px,4vw,44px) 0}
.feat+.feat{border-top:1px solid var(--line)}
@media (min-width:920px){
  .feat{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
  .feat--flip .feat__art{order:2}
}
.feat__art img{border-radius:var(--radius-img);border:1px solid var(--line)}
.feat h2{font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.12}
.feat__copy>p{margin-top:14px;color:var(--body);max-width:54ch}
.ticks{list-style:none;margin-top:18px;display:grid;gap:9px}
.ticks li{position:relative;padding-left:30px;color:var(--body);font-size:.95rem}
.ticks li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;background:rgba(31,157,107,.12)}
.ticks li::after{content:"";position:absolute;left:5px;top:7px;width:8px;height:5px;border-left:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(-45deg)}

/* ── il flusso del database: filtro → lista → invio → scheda ── */
.flow{display:grid;gap:12px;margin-top:clamp(24px,3.6vw,40px);counter-reset:step}
@media (min-width:920px){.flow{grid-template-columns:repeat(4,1fr)}}
.flow__step{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}
@media (min-width:920px){
  .flow__step:not(:last-child)::after{content:"";position:absolute;top:50%;right:-13px;width:14px;height:2px;background:var(--coral);z-index:1}
  .flow__step:not(:last-child)::before{content:"";position:absolute;top:calc(50% - 3px);right:-13px;width:8px;height:8px;border-top:2px solid var(--coral);border-right:2px solid var(--coral);transform:rotate(45deg);z-index:1}
}
.flow__n{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--coral);color:#fff;font-family:var(--font-d);font-weight:700;font-size:.82rem}
.flow__step h3{margin-top:10px;font-size:1.02rem}
.flow__step>p{margin-top:7px;color:var(--body);font-size:.86rem;line-height:1.55}
.flow__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.flow__chips em{font-style:normal;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--body);font-size:.72rem;white-space:nowrap}
.smart{margin-top:clamp(20px,3vw,30px)}
.smart__label{color:var(--body);font-size:.92rem}
.smart__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.smart__chips span{padding:8px 15px;border:1.5px solid var(--ink);border-radius:999px;background:#fff;font-family:var(--font-d);font-weight:600;font-size:.83rem}

/* ── cosa c'è dentro: la griglia dettagliata ── */
.inside{display:grid;gap:14px;margin-top:clamp(22px,3.4vw,36px);grid-template-columns:repeat(auto-fill,minmax(192px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px 15px}
.card__art{width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px;border:1px solid var(--line);margin-bottom:12px}
.card h3{font-size:.98rem;padding-bottom:9px;border-bottom:1px solid var(--line)}
.card ul{list-style:none;margin-top:10px;display:grid;gap:6px}
.card li{position:relative;padding-left:14px;color:var(--body);font-size:.85rem;line-height:1.45}
.card li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:1.5px;background:var(--coral);opacity:.8}

/* ── per chi è ── */
.aud{display:grid;gap:14px;margin-top:clamp(22px,3.4vw,34px)}
@media (min-width:760px){.aud{grid-template-columns:repeat(3,1fr)}}
.aud__card{background:#fff;border:1.5px solid var(--ink);border-radius:12px;padding:20px}
.aud__card:nth-child(1){transform:rotate(-.5deg)}
.aud__card:nth-child(3){transform:rotate(.5deg)}
.aud__card h3{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--coral-text);padding-bottom:9px;border-bottom:1px solid var(--line)}
.aud__card p{margin-top:11px;color:var(--body);font-size:.95rem}

/* ── i dieci posti ── */
.posti{display:flex;align-items:center;gap:clamp(14px,3vw,28px)}
.posti__big{font-family:var(--font-d);font-weight:700;font-size:clamp(4.6rem,12vw,8rem);line-height:.85;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:3px var(--ink)}
.posti h2{font-size:clamp(1.5rem,3.4vw,2.4rem);line-height:1.06}
.slots{display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(18px,3vw,28px)}
.slot{position:relative;flex:0 0 auto;width:clamp(52px,7vw,80px);aspect-ratio:3/4;border:2px dashed var(--ink);border-radius:6px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:5px}
.slot--taken{border-style:solid;background:#fff}
.slot em{font-style:normal;font-size:.55rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.slot--taken em{color:var(--coral-text)}
.slot svg{position:absolute;inset:8% 10% 26%;width:80%;height:auto}
.slot svg path{stroke:var(--coral);stroke-width:6;stroke-linecap:round;opacity:.85}
.posti__line{margin-top:18px;max-width:56ch;color:var(--body)}
@media (max-width:640px){
  .slot{width:clamp(40px,10.5vw,56px);border-width:1.5px}
  .slot em{display:none}
  .slot svg{inset:14% 14% 14%}
}
.band--coral .btn{margin-top:22px}

/* ── modulo lista d'attesa ── */
.form-stage{max-width:620px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(24px,4vw,40px);transition:box-shadow .3s ease}
.form-stage:focus-within{box-shadow:0 30px 70px -40px rgba(31,27,23,.45)}
.form-t{font-size:clamp(1.5rem,3vw,2rem)}
.form-s{margin-top:6px;color:var(--body);font-size:.9rem}
.form-stage form{display:grid;gap:12px;margin-top:20px}
.frow{display:grid;gap:12px}
@media (min-width:640px){.frow{grid-template-columns:1fr 1fr}}
.launch-field{display:grid;gap:5px}
.launch-field label{font-family:var(--font-d);font-size:.78rem;font-weight:700}
.launch-field label span{color:var(--muted);font-weight:500}
.launch-field input{width:100%;min-height:48px;padding:10px 14px;border:1.5px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:inherit;font-size:16px;transition:border-color var(--t),box-shadow var(--t)}
.launch-field input:hover{border-color:#b7ada1}
.launch-field input:focus{outline:0;border-color:var(--coral);box-shadow:0 0 0 3px rgba(232,99,58,.16)}
.launch-field input::placeholder{color:#9a9187}
.launch-field textarea{width:100%;min-height:88px;padding:10px 14px;border:1.5px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:inherit;font-size:16px;resize:vertical;transition:border-color var(--t),box-shadow var(--t)}
.launch-field textarea:hover{border-color:#b7ada1}
.launch-field textarea:focus{outline:0;border-color:var(--coral);box-shadow:0 0 0 3px rgba(232,99,58,.16)}
.launch-field textarea::placeholder{color:#9a9187}
.launch-check{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;cursor:pointer}
.launch-check:hover{border-color:#b7ada1}
.launch-check input{width:19px;height:19px;margin:1px 0 0;accent-color:var(--coral);cursor:pointer}
.launch-check span{color:var(--body);font-size:12.8px;line-height:1.5}
.launch-check a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.launch-error{padding:10px 12px;border:1px solid rgba(232,99,58,.35);border-radius:9px;background:rgba(232,99,58,.08);color:var(--ink);font-size:13px}
.launch-note{color:var(--muted);font-size:11.5px;line-height:1.55;text-align:center}
.f-hp{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.wait-done{padding:20px 0;text-align:center}
.launch-done-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;border-radius:50%;background:rgba(31,157,107,.1);color:#147049;font-family:var(--font-d);font-size:27px;font-weight:700}
.wait-done h2{font-size:1.5rem}
.wait-done p{margin-top:10px;color:var(--body);max-width:44ch;margin-inline:auto}

/* ── footer ── */
.launch-footer{background:var(--ink);color:rgba(250,246,241,.55)}
.launch-footer .launch-wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;padding-top:22px;padding-bottom:calc(22px + env(safe-area-inset-bottom));font-size:.76rem}
.launch-footer a{color:rgba(250,246,241,.7);text-decoration:none;margin-right:18px;display:inline-flex;align-items:center;min-height:44px}
.launch-footer a:hover{color:var(--paper)}
@media (max-width:640px){.launch-footer .launch-wrap{flex-direction:column;align-items:flex-start;gap:2px}}
@media (max-width:640px){
  /* Su telefono la miniatura a fianco lasciava ~197px al testo: ogni voce
     andava a capo due volte. Card a colonna piena, illustrazione a fascia. */
  .card{padding:0;overflow:hidden}
  .card__art{width:100%;aspect-ratio:16/9;object-fit:cover;border:0;border-radius:0;margin:0;border-bottom:1px solid var(--line)}
  .card h3{padding:14px 16px 10px}
  .card ul{margin-top:0;padding:12px 16px 15px}
  .card li{font-size:.9rem}
}

/* ── scroll-reveal (contratto landing.js) ── */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

/* ── avviso cookie (contratto landing.js) ── */
.cookie-bar{position:fixed;z-index:150;left:0;right:0;bottom:0;border-top:1px solid rgba(255,255,255,.14);background:rgba(31,27,23,.97);color:rgba(250,246,241,.78);transform:translateY(101%);transition:transform 320ms cubic-bezier(.2,.7,.2,1)}
.cookie-bar.in{transform:none}
.cookie-bar__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 26px;padding-top:13px;padding-bottom:max(13px,env(safe-area-inset-bottom))}
.cookie-bar p{max-width:74ch;font-size:13.5px;line-height:1.55}
.cookie-bar a{color:var(--paper);text-decoration:underline;text-underline-offset:3px;white-space:nowrap;display:inline-block;padding:6px 0}
.cookie-bar__ok{flex:none;min-height:44px;padding:9px 20px;border:0;border-radius:9px;background:var(--coral);color:#fff;font-family:var(--font-d);font-size:13.5px;font-weight:700;cursor:pointer;transition:background var(--t)}
.cookie-bar__ok:hover{background:var(--coral-700)}
@media (max-width:560px){.cookie-bar__inner{flex-direction:column;align-items:stretch}.cookie-bar__ok{width:100%}}

/* ── pagine legali (landing_legal.html) ── */
.launch-kicker{display:flex;align-items:center;gap:10px;margin-bottom:18px;color:var(--muted);font-family:var(--font-d);font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.launch-kicker span{width:22px;height:2px;background:var(--coral)}
.text-link{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;color:var(--ink);font-family:var(--font-d);font-weight:600;font-size:.9rem;text-decoration:none;border-bottom:2px solid var(--coral)}
.text-link svg{width:1rem;height:1rem}
.legal{padding:clamp(44px,5vw,68px) 0 clamp(56px,6vw,84px)}
.legal .launch-wrap{max-width:820px}
.legal__title{margin-top:2px;font-size:clamp(2.1rem,5vw,3.2rem);line-height:1.02;letter-spacing:-.05em}
.legal__lead{max-width:58ch;margin-top:16px;color:var(--body);font-size:clamp(1rem,1.5vw,1.12rem);line-height:1.7}
.legal__updated{margin-top:12px;color:var(--muted);font-size:12.5px}
.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:84px}
.legal__block h2{font-size:1.22rem}
.legal__block p{margin-top:12px;color:var(--body);font-size:15.2px;line-height:1.72}
.legal__block strong{color:var(--ink);font-weight:600}
.legal__block a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--coral)}
.legal__block a:hover{color:var(--coral-text)}
.legal__list{display:grid;gap:10px;margin-top:14px;list-style:none}
.legal__list li{position:relative;padding-left:18px;color:var(--body);font-size:15.2px;line-height:1.7}
.legal__list li::before{content:"";position:absolute;left:0;top:.75em;width:8px;height:1.5px;background:var(--coral);opacity:.8}
.legal__note{color:var(--muted);font-size:13.4px;font-style:italic}
.legal__back{margin-top:clamp(34px,4vw,48px)}

/* ── accessibilità: meno movimento per chi lo chiede ── */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1!important;transform:none!important}
  .bloom img{clip-path:none!important;transform:none!important}
  .bloom::after{display:none!important}
}


/* ══ CANDIDATURA GUIDATA — il palcoscenico a schermo pieno ═══════════════════
   Fondo inchiostro con bagliore corallo, la pallina del sito come volto
   dell'assistente (respira; pulsa quando pensa), chat essenziale. */
.cand-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px;max-width:620px;margin:0 auto 14px;padding:14px 18px;background:var(--ink);color:rgba(250,246,241,.85);border-radius:14px}
.cand-banner__txt{flex:1;min-width:220px;font-size:.92rem;line-height:1.5}
.cand-banner__txt strong{color:#fff;font-family:var(--font-d)}
.cand-banner .btn{min-height:44px;padding:10px 20px;font-size:.9rem}

.cand-ov{position:fixed;inset:0;z-index:400;display:flex;align-items:stretch;justify-content:center;background:
  radial-gradient(900px 600px at 50% -10%,rgba(232,99,58,.16),transparent 60%),var(--ink);color:var(--paper)}
.cand-ov[hidden]{display:none}
.cand-stage{position:relative;width:min(100%,720px);display:flex;flex-direction:column;padding:clamp(18px,4vw,40px)}
.cand-x{position:absolute;top:14px;right:14px;z-index:5;width:42px;height:42px;border:1px solid rgba(250,246,241,.25);border-radius:50%;background:none;color:rgba(250,246,241,.8);font-size:1rem;cursor:pointer;transition:background var(--t),color var(--t)}
.cand-x:hover{background:rgba(250,246,241,.1);color:#fff}

/* ── MIRO, il robottino-mirino: occhi vivi, ammicca, sbircia, sorride ── */
.miro{color:rgba(233,226,218,.6);display:block;flex-shrink:0}
.miro--xl{width:96px;height:96px}
.miro--sm{width:44px;height:44px}
.miro-face{fill:var(--coral)}
.miro-ring{transform-origin:60px 60px}
.miro-sclera{fill:#FAF6F1}
.miro-pupil{fill:#1F1B17;transform:translate(var(--px,0px),var(--py,0px));transition:transform .16s ease}
.miro-mouth{fill:none;stroke:#FAF6F1;stroke-width:4;stroke-linecap:round}
.miro-eye{transform-box:fill-box;transform-origin:center}
.miro-eye--l{transform:translate(46px,56px)}
.miro-eye--r{transform:translate(74px,56px)}
.miro.is-blink .miro-eye--l{transform:translate(46px,56px) scaleY(.1)}
.miro.is-blink .miro-eye--r{transform:translate(74px,56px) scaleY(.1)}
.miro.is-peek .miro-pupil{--px:2.6px;--py:3.2px}
/* mentre pensa: pupille a spasso e mirino che gira piano */
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)}}
/* felice: occhi a mezzaluna e sorriso largo */
.miro--happy .miro-eye--l{transform:translate(46px,56px) scaleY(.32)}
.miro--happy .miro-eye--r{transform:translate(74px,56px) scaleY(.32)}
.miro--happy .miro-mouth{d:path("M47 74 Q60 88 73 74")}
.cand-donewrap{position:relative;display:grid;place-items:center}
.cand-donewrap .cand-ring{position:absolute;width:112px;height:112px;inset:auto}

/* stadio 1 · intro */
.cand-intro[hidden]{display:none}
.cand-intro{margin:auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;max-width:520px;width:100%}
.cand-intro h2{font-size:clamp(1.9rem,5vw,2.7rem);letter-spacing:-.04em;color:#fff}
.cand-sub{color:rgba(250,246,241,.75);line-height:1.65;max-width:46ch}
.cand-fields{display:grid;gap:10px;width:100%;text-align:left}
.cand-fields input[type=text],.cand-fields input[type=email]{width:100%;min-height:50px;padding:12px 16px;border:1.5px solid rgba(250,246,241,.25);border-radius:12px;background:rgba(250,246,241,.06);color:#fff;font:inherit;font-size:16px;transition:border-color var(--t)}
.cand-fields input::placeholder{color:rgba(250,246,241,.45)}
.cand-fields input:focus{outline:0;border-color:var(--coral)}
.cand-hp{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
.cand-check{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;cursor:pointer;font-size:12.6px;line-height:1.5;color:rgba(250,246,241,.7)}
.cand-check input{width:18px;height:18px;margin-top:1px;accent-color:var(--coral);cursor:pointer}
.cand-check a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.cand-err{padding:9px 12px;border:1px solid rgba(232,99,58,.5);border-radius:9px;background:rgba(232,99,58,.14);color:#fff;font-size:13px;width:100%}
.cand-start{width:100%;max-width:340px}
.cand-micro{color:rgba(250,246,241,.5);font-size:.8rem}
.cand-micro a{color:rgba(250,246,241,.75)}

/* stadio 2 · colloquio */
.cand-chat{flex:1;display:flex;flex-direction:column;min-height:0;padding-top:6px}
.cand-chat[hidden]{display:none}
.cand-head{display:flex;align-items:center;gap:12px;padding:6px 48px 12px 0}
.cand-head-id{display:flex;flex-direction:column;gap:1px}
.cand-head-t{font-family:var(--font-d);font-weight:700;font-size:1.05rem;color:#fff;letter-spacing:-.01em}
.cand-status{font-size:.74rem;color:#7ED4A6}
body.cand-thinking .cand-status{color:rgba(250,246,241,.6)}
.cand-bar{height:2px;background:rgba(250,246,241,.1);border-radius:2px;overflow:hidden}
.cand-bar i{display:block;height:100%;width:0;background:var(--coral);transition:width .5s var(--t,ease)}
.cand-msgs{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding:20px 8px 20px 2px;scrollbar-width:thin;scrollbar-color:rgba(250,246,241,.22) transparent}
.cand-msgs::-webkit-scrollbar{width:6px}
.cand-msgs::-webkit-scrollbar-track{background:transparent}
.cand-msgs::-webkit-scrollbar-thumb{background:rgba(250,246,241,.18);border-radius:99px}
.cand-msgs::-webkit-scrollbar-thumb:hover{background:rgba(250,246,241,.32)}
.cand-stage{scrollbar-width:thin;scrollbar-color:rgba(250,246,241,.22) transparent}
.cand-stage::-webkit-scrollbar{width:6px}
.cand-stage::-webkit-scrollbar-track{background:transparent}
.cand-stage::-webkit-scrollbar-thumb{background:rgba(250,246,241,.18);border-radius:99px}
.cand-row{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{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center}
.cand-ava .miro{width:30px;height:30px}
.cand-ava--ghost{visibility:hidden}
@keyframes candIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.cand-m{max-width:min(78%,520px);padding:11px 15px;border-radius:18px;font-size:.98rem;line-height:1.6}
.cand-m--ai{background:rgba(250,246,241,.09);border:1px solid rgba(250,246,241,.13);border-bottom-left-radius:5px;color:rgba(250,246,241,.94);box-shadow:0 6px 18px -12px rgba(0,0,0,.6)}
.cand-m--me{background:var(--paper);color:var(--ink);border-bottom-right-radius:5px;box-shadow:0 8px 22px -14px rgba(0,0,0,.7)}
.cand-m--sys{margin:8px auto;background:rgba(232,99,58,.14);border:1px solid rgba(232,99,58,.4);color:#fff;font-size:.86rem;text-align:center;border-radius:14px}
.cand-m--sys a,.cand-m--sys button{color:#fff;text-decoration:underline;background:none;border:0;font:inherit;cursor:pointer}
.cand-typing{display:inline-flex;gap:5px;padding:14px 16px}
.cand-typing i{width:7px;height:7px;border-radius:50%;background:rgba(250,246,241,.6);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{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;color:rgba(250,246,241,.85);font-size:.88rem}
.cand-exit[hidden]{display:none}
.cb-cand{border:1px solid rgba(250,246,241,.4);border-radius:9px;background:var(--coral);color:#fff;font:inherit;font-size:.82rem;font-weight:600;padding:7px 14px;cursor:pointer}
.cb-cand--ghost{background:none;color:rgba(250,246,241,.85)}
.cand-inputrow{display:flex;gap:10px;padding-top:12px;border-top:1px solid rgba(250,246,241,.12)}
.cand-inputrow input{flex:1;min-width:0;min-height:52px;padding:12px 16px;border:1.5px solid rgba(250,246,241,.25);border-radius:13px;background:rgba(250,246,241,.06);color:#fff;font:inherit;font-size:16px}
.cand-inputrow input::placeholder{color:rgba(250,246,241,.4)}
.cand-inputrow input:focus{outline:0;border-color:var(--coral)}
.cand-send{width:52px;height:52px;border:0;border-radius:13px;background:var(--coral);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background var(--t),transform .13s}
.cand-send svg{width:1.2rem;height:1.2rem}
.cand-send:hover{background:var(--coral-700)}
.cand-send:active{transform:scale(.94)}
.cand-send:disabled{opacity:.45;cursor:default}

/* stadio 3 · inviata */
.cand-done{margin:auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;max-width:480px}
.cand-done[hidden]{display:none}
.cand-done h2{font-size:clamp(1.8rem,4.6vw,2.5rem);letter-spacing:-.04em;color:#fff}
.cand-orb--done{position:relative;animation:none}
.cand-ring{position:absolute;inset:-16px;border:2px solid rgba(232,99,58,.5);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 (max-width:560px){
  .cand-stage{padding:14px}
  .cand-m{max-width:94%}
}
@media (prefers-reduced-motion:reduce){
  .cand-ring,.cand-typing i,.cand-m,.cand-row,.miro-pupil,.miro-ring{animation:none!important}
  .miro-pupil{transition:none!important}
}


/* ── l'invito al colloquio (il modulo classico non esiste più) ── */
.cand-invite{max-width:560px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(26px,4vw,44px);text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
.cand-invite .form-s{max-width:44ch}
.cand-invite .btn{min-width:min(100%,300px)}
.cand-invite__alt{color:var(--muted);font-size:.82rem}
.cand-invite__alt a{color:var(--ink)}

.cand-hint{margin:-4px 0 2px;font-size:.78rem;line-height:1.35;color:rgba(233,226,218,.62)}


/* ── banda trailer: il video subito dopo l'hero ── */
.band--ink{background:var(--ink)}
.trailer__title{color:var(--paper);text-align:center}
.trailer__frame{max-width:960px;margin:1.6rem auto 0;border-radius:18px;overflow:hidden;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.6);border:1px solid rgba(250,246,241,.14);
  background:#000;line-height:0}
.trailer__frame video{width:100%;height:auto;display:block}
.trailer__sub{margin:0.9rem auto 0;text-align:center;font-size:.85rem;color:rgba(250,246,241,.55)}
@media (max-width:640px){.trailer__frame{border-radius:12px}}
