/* Mae Home · componenti condivisi fra la home e le pagine interne (servizi, lavori…).
   Si carica dopo base.css e prima del css della pagina. Le regole vengono da A2, invariate:
   tre domande, prima/dopo col cursore e fatti con le quote, storie di Antonio, cinque passi,
   telefono dell'area riservata, detrazioni. Il comportamento è in js/componenti.js. */

/* ---------- Le tre domande ---------- */
.qs{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap)}
.qs__head{grid-column:1/span 4;align-self:start;position:sticky;top:calc(var(--hdr) + 40px)}
.qs__list{grid-column:6/-1;list-style:none;margin:0;padding:0}
.q{position:relative;padding:40px 0 clamp(48px,5vw,72px)}
.q:last-child{padding-bottom:0}
.q__rule{position:absolute;top:0;left:0;right:0;height:1px;background:var(--linea-forte);transform-origin:left}
.q__n{font-size:16px;font-weight:600;color:var(--rovere-ink);font-variant-numeric:tabular-nums;padding-top:.7em;overflow:hidden;height:max-content}
.q__t{position:relative;font-weight:300;font-size:clamp(30px,3.7vw,60px);line-height:1.06;letter-spacing:-.035em;color:var(--inchiostro);margin:0 0 22px}
.q__t strong{font-weight:600}
.q__body{position:relative;min-width:0}
.q__m{position:absolute;right:100%;top:0;padding-right:.05em;font-weight:300;font-size:clamp(30px,3.7vw,60px);line-height:1.06;color:var(--inchiostro)}
.q__a p{font-size:19px;line-height:1.7;max-width:34em}
.q__a strong{font-weight:500;color:var(--inchiostro)}
/* dopo le tre domande, l'invito: la risposta vera si dà dopo aver visto la casa */
.qs__cta{grid-column:6/-1;margin-top:clamp(48px,5vw,72px);padding-top:32px;border-top:1px solid var(--linea-forte)}
.qs__cta-t{font-size:19px;line-height:1.65;max-width:34em;color:var(--testo)}
.qs__cta-t strong{font-weight:600;color:var(--inchiostro)}
.qs__cta-act{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px}
@media (max-width:1023px){
  .qs__head{grid-column:1/-1;position:static;margin-bottom:24px}
  .qs__list,.qs__cta{grid-column:1/-1}
}
@media (max-width:599px){.q{padding-left:.55em}.q__a p{font-size:18px}.qs__cta-t{font-size:18px}.qs__cta-act .btn{width:100%}}

/* ---------- Prima/dopo col cursore, fatti con le quote ---------- */
.ba__frame{position:relative;aspect-ratio:3/4;touch-action:pan-y;cursor:ew-resize;user-select:none;-webkit-user-select:none;background:#D8DDE0;--pos:50%}
.ba__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba__after{position:absolute;inset:0;clip-path:inset(0 0 0 50%)}
.ba__line{position:absolute;top:0;bottom:0;left:0;width:0;transform:translateX(50%);z-index:2}
.ba__line::before{content:"";position:absolute;top:0;bottom:0;left:-1px;width:2px;background:#fff;box-shadow:0 0 0 .5px rgba(0,0,0,.12)}
.ba__handle{position:absolute;top:50%;left:0;translate:var(--hx,0px) 0;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:#fff;color:var(--inchiostro);display:grid;place-items:center;box-shadow:0 10px 30px -8px rgba(26,40,52,.45);cursor:grab;transition:transform .4s var(--ease)}
.ba__handle svg{width:24px;height:24px}
.ba__frame:hover .ba__handle{transform:scale(1.06)}
.ba__frame.is-drag .ba__handle{cursor:grabbing;transform:scale(.94)}
.ba__handle:focus-visible{outline:2px solid #fff;outline-offset:3px;box-shadow:0 0 0 5px var(--petrolio)}
.ba__tag{position:absolute;top:16px;z-index:3;padding:7px 12px 8px;font-size:16px;font-weight:600;letter-spacing:.01em;line-height:1;color:#fff;background:rgba(26,26,26,.66)}
.ba__tag--prima{left:16px}
.ba__tag--dopo{right:16px}
.ba__caps{display:grid;gap:2px;margin-top:4px}
.ba__caps .cap{margin-top:12px}
.facts{list-style:none;margin:0;padding:0}
.fact{position:relative;display:grid;grid-template-columns:clamp(150px,13vw,200px) minmax(0,1fr);gap:24px;padding:15px 0 17px}
.fact__rule{position:absolute;left:0;right:0;top:0;height:1px;background:var(--linea)}
.fact__rule::after{content:"";position:absolute;inset:0;background:var(--rovere);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease)}
.fact.is-on .fact__rule::after{transform:scaleX(1)}
.fact__k{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;color:var(--inchiostro);align-self:start}
.fact__num{font-size:clamp(28px,2.4vw,36px);font-weight:300;letter-spacing:-.035em;line-height:1}
.fact__lbl{font-size:18px;font-weight:600;line-height:1.3}
.fact__sub{flex-basis:100%;font-size:16px;font-weight:500;line-height:1.3;color:var(--testo-2)}
.fact__v{font-size:17px;line-height:1.55}
.ann{height:46px;width:auto;color:var(--rovere);overflow:visible}
.ann--quota{height:44px}
.ann__t{opacity:0;transition:opacity .5s var(--ease) .1s}
.ann__l{transform:scaleY(0);transform-box:fill-box;transform-origin:center;transition:transform .8s var(--ease)}
.ann__arc{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s var(--ease) .15s}
.fact.is-on .ann__t{opacity:1}
.fact.is-on .ann__l{transform:none}
.fact.is-on .ann__arc{stroke-dashoffset:0}
.static .fact .fact__rule::after,.shot .fact .fact__rule::after{transform:scaleX(1)}
.static .ann__t,.shot .ann__t{opacity:1}
.static .ann__l,.shot .ann__l{transform:none}
.static .ann__arc,.shot .ann__arc{stroke-dashoffset:0}
@media (max-width:599px){
  .fact{grid-template-columns:1fr;gap:8px}
  .ba__tag{top:12px}
  .ba__tag--prima{left:12px}.ba__tag--dopo{right:12px}
}

/* ---------- Cinque passi (l'unica fascia scura della pagina) ---------- */
.steps :focus-visible{outline-color:#fff}
.steps{background:var(--notte);color:var(--su-scuro-2);position:relative}
.steps__pin{padding-block:var(--sec)}
.steps__track{width:min(100% - 2*var(--gutter),var(--max));margin-inline:auto}
.steps__intro{max-width:46rem;margin-bottom:clamp(56px,6vw,88px)}
.steps__intro .h2{color:#fff}
.steps__pin{position:relative}
.steps__list{list-style:none;margin:0;padding:0;position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--col-gap)}
.steps__rail{position:absolute;left:0;right:0;top:7px;height:1px;background:rgba(255,255,255,.24);pointer-events:none}
.steps__fill{position:absolute;inset:0;background:var(--rovere-chiaro);transform-origin:left}
.step{position:relative;padding-top:44px;min-width:0}
.step__node{position:absolute;top:0;left:0;width:15px;height:15px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:var(--notte);transition:background-color .5s,border-color .5s,transform .5s var(--ease)}
.step.is-on .step__node{background:var(--rovere-chiaro);border-color:var(--rovere-chiaro);transform:scale(1.15)}
.static .step__node,.shot .step__node{background:var(--rovere-chiaro);border-color:var(--rovere-chiaro)}
.step__n{display:block;font-size:clamp(52px,5vw,84px);font-weight:300;letter-spacing:-.05em;line-height:1;color:#fff;margin-bottom:18px}
.step__t{font-size:24px;font-weight:600;letter-spacing:-.015em;color:#fff;margin:0 0 10px}
.step__d{font-size:18px;line-height:1.62;margin:0 0 28px}
.step__img{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;background:rgba(255,255,255,.06)}
.step__img img{width:100%;height:100%;object-fit:cover}
.step__tag{position:absolute;left:10px;top:10px;padding:6px 10px 7px;font-size:16px;font-weight:600;line-height:1;letter-spacing:.01em;color:#fff;background:rgba(26,26,26,.66)}
.step__plate{display:block;background:rgba(255,255,255,.035);color:rgba(232,211,184,.55)}
.plate__draw{position:absolute;inset:0;width:100%;height:100%}
.plate__tag{position:absolute;right:16px;bottom:16px;display:grid;gap:0;padding:8px 14px 10px;border:1px solid rgba(255,255,255,.38);background:var(--notte);color:#fff;font-size:clamp(20px,1.6vw,24px);font-weight:300;line-height:1.15;letter-spacing:.02em}
.plate__tag b{font-weight:300}
.plate__tag b+b{color:var(--rovere-chiaro)}
@media (max-width:1023px){
  .steps__list{grid-template-columns:1fr;gap:56px;padding-left:44px}
  .steps__rail{left:7px;right:auto;top:8px;bottom:0;width:1px;height:auto}
  .steps__fill{transform-origin:top}
  .step{padding-top:0}
  .step__node{left:-44px;top:10px}
  .step__img{aspect-ratio:16/10;max-width:520px}
  .step__n{font-size:48px;margin-bottom:12px}
}
/* su telefono i passi restano testo: cinque foto in fila allungavano la pagina di oltre mille pixel */
@media (max-width:599px){.steps__list{gap:44px}.step__img{display:none}.step__d{margin-bottom:0}}

/* ---------- Il telefono dell'area riservata: l'app vera ridisegnata, dati di esempio ---------- */
.phone{position:relative;width:340px;height:708px;padding:11px;border-radius:56px;background:#15181B;box-shadow:0 70px 120px -60px rgba(28,45,60,.6),0 30px 60px -36px rgba(28,45,60,.4),inset 0 0 0 1.5px #343B42,inset 0 0 0 4px #0B0D0F}
.phone::before,.phone::after{content:"";position:absolute;width:3px;border-radius:2px;background:#2A3036}
.phone::before{left:-3px;top:150px;height:56px}
.phone::after{right:-3px;top:190px;height:86px}
.ph{position:relative;height:100%;border-radius:45px;overflow:hidden;background:#EEF2F5;color:#22303A;font-family:var(--f);isolation:isolate;-webkit-font-smoothing:antialiased}
.ph__status{position:absolute;top:0;left:0;right:0;z-index:3;height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 26px 0 36px;color:#fff;font-size:15px;font-weight:600;letter-spacing:-.01em}
.ph__island{position:absolute;left:50%;top:11px;width:102px;height:30px;margin-left:-51px;border-radius:20px;background:#0A0C0E}
.ph__sys{display:flex;align-items:flex-end;gap:2px}
.ph__sys i{display:block;width:3px;border-radius:1px;background:#fff}
.ph__sys i:nth-child(1){height:5px}.ph__sys i:nth-child(2){height:7px}.ph__sys i:nth-child(3){height:9px}
.ph__sys b{display:block;width:23px;height:11px;margin-left:6px;border:1.5px solid rgba(255,255,255,.85);border-radius:3.5px;position:relative}
.ph__sys b::after{content:"";position:absolute;inset:1.5px;right:4px;background:#fff;border-radius:1px}
.ph__notif{position:absolute;left:9px;right:9px;top:9px;z-index:4;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border-radius:22px;background:rgba(250,251,252,.96);box-shadow:0 14px 34px -12px rgba(0,0,0,.45);transform:translateY(-150%)}
.ph__appicon{width:38px;height:38px;border-radius:10px;background:#527189;display:grid;place-items:center}
.ph__appicon svg{width:22px;height:22px}
.ph__notif-txt{display:grid;font-size:13px;line-height:1.3;color:#22303A}
.ph__notif-txt b{font-size:13px}
.ph__notif-time{align-self:start;font-size:11px;color:#55636D}
.ph__head{position:relative;z-index:1;background:#527189;color:#fff;padding:58px 22px 18px;height:136px}
.ph__brand{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.ph__title{margin-top:8px;font-size:21px;font-weight:600;letter-spacing:-.015em;line-height:1.2}
.ph__demo{flex:none;padding:3px 8px;border-radius:20px;background:#3C5366;color:#fff;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:none}
.ph__view{position:absolute;left:0;right:0;top:136px;bottom:0;overflow:hidden}
.static .ph__view,.shot .ph__view{overflow-y:auto;scrollbar-width:none}
.ph__content{padding:14px 13px 30px;display:flex;flex-direction:column;gap:11px;will-change:transform}
.ph__card{background:#fff;border-radius:18px;padding:15px 15px 16px;box-shadow:0 1px 2px rgba(20,40,60,.06),0 8px 22px -14px rgba(20,40,60,.25)}
.ph__ring-card{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;align-items:center}
.ph__ring{width:88px;height:88px}
.ph__ring-bg{fill:none;stroke:#E4EAEF;stroke-width:9}
.ph__ring-fg{fill:none;stroke:#527189;stroke-width:9;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:32}
.ph__pct{position:absolute;left:15px;top:50%;width:88px;height:88px;margin-top:-44px;display:flex;align-items:baseline;justify-content:center;padding-top:30px;font-size:12px;font-weight:600;color:#22303A}
.ph__pct b{font-size:23px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ph__ring-txt{display:grid;gap:2px}
.ph__ring-txt b{font-size:15.5px;line-height:1.25;margin-bottom:3px}
.ph__leg{display:flex;align-items:center;gap:6px;font-size:12px;line-height:1.5;color:#55636D}
.ph__leg i{width:7px;height:7px;border-radius:50%;background:#C3CDD4}
.ph__leg i.g{background:#2E8B57}.ph__leg i.a{background:#C98412}
.ph__leg em{font-style:normal;font-weight:600;color:#22303A;font-variant-numeric:tabular-nums}
.ph__grp+.ph__grp{margin-top:12px;padding-top:12px;border-top:1px solid #EDF1F4}
.ph__grp-t{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 8px;font-size:13.5px;font-weight:600;line-height:1.3}
.ph__grp-t i{font-style:normal;color:#5F6E79;margin:0 2px}
.ph__grp-t em{font-style:normal;font-size:11.5px;font-weight:600;color:#55636D}
.ph__bar{display:block;height:4px;border-radius:4px;background:#E4EAEF;overflow:hidden}
.ph__bar span{display:block;height:100%;border-radius:4px;background:#2E8B57;transform-origin:left;transform:scaleX(0)}
.ph__phases .ph__grp:first-child .ph__bar span{transform:scaleX(.75)}
.ph__grp--row.is-done .ph__bar span{transform:none}
.ph__list{list-style:none;margin:9px 0 0;padding:0}
.ph__list li{display:flex;align-items:center;gap:9px;padding:5px 0;font-size:13px;line-height:1.3}
.ph__st{position:relative;width:16px;height:16px;flex:none;border-radius:50%;border:1.5px solid #B8C4CC;transition:background-color .35s,border-color .35s}
.ph__st::after{content:"";position:absolute;left:4.5px;top:2px;width:4px;height:7px;border:solid #fff;border-width:0 1.6px 1.6px 0;transform:rotate(45deg) scale(0);transition:transform .35s var(--ease)}
.ph__pill{margin-left:auto;padding:3px 8px;border-radius:20px;background:#EEF1F4;color:#55636D;font-size:10.5px;font-weight:600;white-space:nowrap;transition:background-color .35s,color .35s}
.is-done>.ph__st{background:#2E8B57;border-color:#2E8B57}
.is-done>.ph__st::after{transform:rotate(45deg) scale(1)}
.is-done .ph__pill{background:#E2F2E8;color:#1E6B40}
.is-doing>.ph__st{border-color:#C98412;background:radial-gradient(circle,#C98412 0 3px,transparent 3.6px)}
.is-doing .ph__pill{background:#FCEFD6;color:#7F5208}
.ph__k{display:flex;align-items:center;gap:6px;margin-bottom:10px;font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#55636D}
.ph__k svg{width:14px;height:14px}
.ph__photo{border-radius:12px;overflow:hidden;aspect-ratio:16/10;background:#DDE2E5}
.ph__photo img{width:100%;height:100%;object-fit:cover}
.ph__upd-t{margin-top:10px;font-size:14.5px;font-weight:600;line-height:1.3}
.ph__doc{display:flex;align-items:center;gap:10px;padding:9px 0;font-size:13.5px;font-weight:500;border-top:1px solid #EDF1F4}
.ph__k+.ph__doc{border-top:0;padding-top:2px}
.ph__doc i{margin-left:auto;font-style:normal;color:#5F6E79}
.ph__file{padding:4px 5px;border-radius:5px;background:#FBE9E5;color:#A3392A;font-size:9px;font-weight:700;letter-spacing:.04em}
.ph__ask{margin-top:8px;padding:12px;border-radius:12px;background:#FFF7EA;border:1px solid #F2DDB4}
.ph__ask-k{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#7F5208}
.ph__ask-t{margin:4px 0 11px;font-size:14.5px;font-weight:600;line-height:1.3}
.ph__btn{position:relative;display:grid;height:38px;border-radius:10px;background:#527189;color:#fff;font-size:13.5px;font-weight:600;overflow:hidden}
.ph__btn>span{grid-area:1/1;display:grid;place-items:center;transition:transform .5s var(--ease)}
.ph__btn-b{background:var(--ok);transform:translateY(105%)}
.ph__btn.is-ok .ph__btn-a{transform:translateY(-105%)}
.ph__btn.is-ok .ph__btn-b{transform:none}

/* ---------- Detrazioni ---------- */
.det{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap);row-gap:48px;align-items:end}
.det__text{grid-column:1/span 7}
.det__text .body{margin-top:32px}
.det__figs{grid-column:9/-1;display:grid;grid-template-columns:1fr 1fr;gap:var(--col-gap);margin:0}
.det__fig{padding-top:20px}
.det__num{font-size:clamp(64px,7vw,112px);font-weight:300;letter-spacing:-.055em;line-height:.95;color:var(--inchiostro);font-variant-numeric:tabular-nums}
.det__fig dd{margin:10px 0 0}
.det__links{list-style:none;margin:clamp(56px,6vw,96px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--col-gap)}
.det__links a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:20px 0;color:var(--inchiostro);font-size:clamp(19px,1.5vw,22px);font-weight:500;letter-spacing:-.01em;text-decoration:none;position:relative}
.det__links a::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--inchiostro);transform:scaleX(0);transform-origin:right;transition:transform .7s var(--ease)}
.det__links a:hover::after,.det__links a:focus-visible::after{transform:scaleX(1);transform-origin:left}
.det__links .i{transition:transform .5s var(--ease)}
.det__links a:hover .i{transform:translateX(6px)}
@media (max-width:1023px){
  .det__text,.det__figs{grid-column:1/-1}
  .det__links{grid-template-columns:1fr}
  .det__links li:last-child{border-bottom:1px solid var(--linea-forte)}
}

/* ---------- Le storie di Antonio (video verticale con sottotitoli parola per parola) ---------- */
.story{min-width:0}
.story__frame{position:relative;aspect-ratio:9/16;overflow:hidden;background:#1F2A33;isolation:isolate}
.story__poster,.story__v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.story__poster{transition:transform 1.6s var(--ease)}
.story__frame:hover .story__poster{transform:scale(1.035)}
.story__v{opacity:0;transition:opacity .45s var(--ease)}
.story.is-started .story__v{opacity:1}
.story__frame::before,.story__frame::after{content:"";position:absolute;left:0;right:0;z-index:1;pointer-events:none}
.story__frame::before{top:0;height:28%;background:linear-gradient(rgba(20,26,31,.55),rgba(20,26,31,0))}
.story__frame::after{bottom:0;height:42%;background:linear-gradient(rgba(20,26,31,0),rgba(20,26,31,.72))}
.story__bar{position:absolute;left:14px;right:14px;top:14px;z-index:2;height:2px;background:rgba(255,255,255,.34)}
.story__bar i{display:block;height:100%;background:#fff;transform:scaleX(0);transform-origin:left}
.story__meta{position:absolute;left:14px;top:28px;z-index:2;display:flex;gap:10px;align-items:baseline;font-size:16px;line-height:1.2;color:#fff}
.story__meta b{font-weight:600}
.story__meta span{font-variant-numeric:tabular-nums;opacity:.86}
.story__subs{position:absolute;left:16px;right:16px;bottom:86px;z-index:2;min-height:2.7em;display:flex;flex-wrap:wrap;align-content:flex-end;gap:0 .3em;font-size:18px;font-weight:600;line-height:1.35;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.5)}
.story__subs span{position:relative;opacity:.5;transition:opacity .25s}
.story__subs span.is-said{opacity:1}
.story__subs span.is-now{opacity:1}
.story__subs span.is-now::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:var(--rovere-chiaro)}
.story__play{position:absolute;inset:0;z-index:3;display:grid;place-items:end start;padding:0 0 18px 16px;border:0;background:none;color:var(--inchiostro);cursor:pointer}
.story__play .i{width:22px;height:22px;position:relative;z-index:1;margin:0 0 15px 15px}
.story__play::before{content:"";position:absolute;left:16px;bottom:18px;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.95);box-shadow:0 12px 30px -10px rgba(0,0,0,.5);transition:transform .5s var(--ease),opacity .35s}
.story__play .i-play{margin-left:18px}
.story__play .i-pause,.story.is-playing .story__play .i-play{display:none}
.story.is-playing .story__play .i-pause{display:block}
.story.is-playing .story__play::before,.story.is-playing .story__play .i{opacity:0}
.story.is-playing .story__subs{bottom:24px}
.story.is-playing .story__frame:hover .story__play::before,.story.is-playing .story__frame:hover .story__play .i,.story.is-playing .story__play:focus-visible::before,.story.is-playing .story__play:focus-visible .i{opacity:1}
.story__frame:hover .story__play::before{transform:scale(1.07)}
.story__play:focus-visible{outline:2px solid #fff;outline-offset:-6px}
.story__mute{position:absolute;right:8px;top:22px;z-index:4;width:44px;height:44px;display:none;place-items:center;padding:0;border:0;border-radius:50%;background:rgba(20,26,31,.45);color:#fff;cursor:pointer}
.story.is-started .story__mute{display:grid}
.story__mute .i-off,.story__mute[aria-pressed="true"] .i-on{display:none}
.story__mute[aria-pressed="true"] .i-off{display:block}
.story__q{position:relative;margin-top:20px;font-size:clamp(18px,1.35vw,20px);font-weight:400;line-height:1.5;color:var(--testo);max-width:22em}
