/* tap2sip v41 · orchestrated customer/backend flow */
.how-orchestrated{position:relative;padding:92px 0 104px;overflow:hidden;background:
  radial-gradient(circle at 8% 15%,rgba(104,71,232,.11),transparent 31rem),
  radial-gradient(circle at 92% 82%,rgba(31,158,142,.10),transparent 28rem),
  linear-gradient(180deg,#fbfaff 0%,#f5f3fa 100%)}
.how-orchestrated:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(86,66,132,.10) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(to bottom,transparent,black 18%,black 82%,transparent);opacity:.34}
.how-orchestrated>.wrap{position:relative;z-index:1}
.how-orchestrated .eyebrow{color:#6847e8}
.how-orchestrated h2{max-width:900px;margin-bottom:15px;font-size:clamp(40px,5.7vw,68px);line-height:.98}
.how-orchestrated>.wrap>.sub{max-width:820px;font-size:18px;line-height:1.65;color:#625b6e}
.how-demo{--how-accent:#6847e8;--how-mint:#26b99f;position:relative;margin-top:42px;padding:18px;border:1px solid rgba(91,66,148,.14);border-radius:32px;background:rgba(255,255,255,.78);box-shadow:0 35px 90px rgba(42,29,75,.13);backdrop-filter:blur(18px);isolation:isolate}
.how-demo:before{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.8);border-radius:25px;pointer-events:none;z-index:-1}
.how-demo__rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:5px;margin-bottom:16px;border:1px solid #e8e3ef;border-radius:18px;background:#f5f2f9}
.how-demo__tab{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-height:62px;padding:9px 12px;border:0;border-radius:14px;background:transparent;color:#756f7d;text-align:left;cursor:pointer;transition:background .28s ease,color .28s ease,box-shadow .28s ease,transform .28s ease}
.how-demo__tab:hover{background:rgba(255,255,255,.72);color:#342a47}
.how-demo__tab:focus-visible{outline:3px solid rgba(104,71,232,.28);outline-offset:2px}
.how-demo__tab.is-active{background:#fff;color:#241b34;box-shadow:0 9px 24px rgba(49,34,83,.10);transform:translateY(-1px)}
.how-demo__tab-no{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#eae5f5;color:#6b50c8;font:800 13px/1 Inter,system-ui,sans-serif;transition:background .28s ease,color .28s ease,transform .28s ease}
.how-demo__tab.is-active .how-demo__tab-no{background:linear-gradient(145deg,#7651ea,#5332be);color:#fff;transform:scale(1.04)}
.how-demo__tab-label{min-width:0;font:800 12.5px/1.25 Inter,system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.how-demo__tab-progress{position:absolute;left:12px;right:12px;bottom:5px;height:2px;border-radius:99px;background:#e4deec;overflow:hidden;opacity:0;transition:opacity .2s ease}
.how-demo__tab-progress:after{content:"";display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7450e8,#25b89f);transform:scaleX(0);transform-origin:left center}
.how-demo__tab.is-active .how-demo__tab-progress{opacity:1}
.how-demo.is-running .how-demo__tab.is-active .how-demo__tab-progress:after{animation:howProgress 4.8s linear forwards}
@keyframes howProgress{to{transform:scaleX(1)}}
.how-demo__stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr);gap:14px;align-items:stretch;min-height:450px}
.how-demo__side{position:relative;min-width:0;padding:26px;border-radius:25px;overflow:hidden}
.how-demo__side--guest{border:1px solid #e4deec;background:linear-gradient(155deg,#fff,#f7f4fb)}
.how-demo__side--system{border:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,#18141f 0%,#2c2150 70%,#183a37 145%);color:#fff;box-shadow:0 24px 54px rgba(31,22,54,.19)}
.how-demo__side--system:after{content:"";position:absolute;width:300px;height:300px;right:-145px;bottom:-180px;border-radius:50%;background:radial-gradient(circle,rgba(69,219,190,.35),transparent 68%);pointer-events:none}
.how-demo__side-label{position:relative;z-index:2;display:inline-flex;align-items:center;gap:9px;min-height:34px;padding:0 12px;border-radius:999px;font:850 10.5px/1 Inter,system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase}
.how-demo__side--guest .how-demo__side-label{border:1px solid #e2dcec;background:#f4f0fb;color:#6044bb}
.how-demo__side--system .how-demo__side-label{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);color:#bdf5e9}
.how-demo__panels{position:relative;display:grid;margin-top:20px}
.how-demo__panel{grid-area:1/1;display:grid;grid-template-rows:auto auto 1fr;align-content:start;min-width:0;opacity:0;visibility:hidden;transform:translateY(16px) scale(.985);filter:blur(5px);pointer-events:none;transition:opacity .42s ease,transform .42s cubic-bezier(.2,.8,.2,1),filter .42s ease,visibility 0s linear .42s}
.how-demo__panel.is-active{opacity:1;visibility:visible;transform:none;filter:none;pointer-events:auto;transition-delay:.08s}
.how-demo__panel h3{margin:0 0 10px;font-size:clamp(27px,3vw,40px);line-height:1.05}
.how-demo__side--guest .how-demo__panel h3{color:#1d1727}
.how-demo__panel>p{max-width:520px;margin:0;font-size:15px;line-height:1.62}
.how-demo__side--guest .how-demo__panel>p{color:#67606e}
.how-demo__side--system .how-demo__panel>p{color:#ccc5d5}
.how-demo__visual{position:relative;align-self:end;min-height:188px;margin-top:24px;border-radius:21px;overflow:hidden}
.how-demo__side--guest .how-demo__visual{border:1px solid #e7e2ed;background:#fff;box-shadow:0 16px 36px rgba(46,32,75,.08)}
.how-demo__side--system .how-demo__visual{border:1px solid rgba(255,255,255,.10);background:rgba(9,8,14,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
/* abstract customer phone states */
.how-phone{position:absolute;left:50%;top:20px;width:min(82%,330px);height:220px;transform:translateX(-50%);padding:14px;border:1px solid #e2dce9;border-radius:24px 24px 0 0;background:#fcfbfd;box-shadow:0 17px 35px rgba(45,31,74,.13)}
.how-phone__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.how-phone__top:before{content:"";width:52px;height:7px;border-radius:99px;background:#ded8e6}.how-phone__top:after{content:"•••";color:#8f8798;font-size:11px;letter-spacing:2px}
.how-phone__hero{height:45px;border-radius:13px;background:linear-gradient(120deg,#ece6ff,#e9f7f4);position:relative;overflow:hidden}.how-phone__hero:before{content:"";position:absolute;width:32px;height:32px;left:9px;top:7px;border-radius:10px;background:#7552de}.how-phone__hero:after{content:"";position:absolute;left:51px;right:15px;top:12px;height:8px;border-radius:99px;background:#958da0;box-shadow:0 15px 0 #d5cfdb}
.how-phone__rows{display:grid;gap:8px;margin-top:11px}.how-phone__row{height:29px;border:1px solid #ece8f0;border-radius:10px;background:#fff;position:relative;overflow:hidden}.how-phone__row:before{content:"";position:absolute;left:9px;top:8px;width:44%;height:6px;border-radius:99px;background:#c9c3ce}.how-phone__row:after{content:"";position:absolute;right:9px;top:7px;width:35px;height:15px;border-radius:99px;background:#eee9fb}
.how-demo__panel[data-step="1"] .how-phone__row:nth-child(2){border-color:#9e88e8;background:#f5f1ff;transform:translateX(5px)}
.how-demo__panel[data-step="1"] .how-phone__row:nth-child(2):after{background:#7351d7}
.how-demo__panel[data-step="2"] .how-phone__hero{background:linear-gradient(120deg,#e9f7f4,#e8f1ff)}
.how-demo__panel[data-step="2"] .how-phone__row:after{background:#48bca7}
.how-demo__panel[data-step="3"] .how-phone__hero:before{border-radius:50%;background:#35b79f;box-shadow:0 0 0 6px rgba(53,183,159,.12)}
.how-demo__panel[data-step="3"] .how-phone__row:nth-child(1){background:#edfaf6;border-color:#bfeadd}
/* abstract backend states */
.how-engine{position:absolute;inset:18px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:10px}
.how-engine__node{position:relative;display:grid;place-items:center;border:1px solid rgba(255,255,255,.10);border-radius:15px;background:rgba(255,255,255,.055);color:#a9a0b6;transition:background .35s ease,border-color .35s ease,color .35s ease,transform .35s ease,box-shadow .35s ease}.how-engine__node i{font-size:18px}.how-engine__node:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;right:8px;top:8px;background:#5d5865}
.how-engine__node.is-on{border-color:rgba(91,229,199,.46);background:rgba(44,190,160,.16);color:#d8fff6;transform:translateY(-2px);box-shadow:0 12px 26px rgba(10,74,64,.22)}.how-engine__node.is-on:after{background:#61e8cc;box-shadow:0 0 0 6px rgba(97,232,204,.10)}
.how-demo__panel[data-step="0"] .how-engine__node:nth-child(-n+2),.how-demo__panel[data-step="1"] .how-engine__node:nth-child(-n+4),.how-demo__panel[data-step="2"] .how-engine__node:nth-child(n+2):nth-child(-n+5),.how-demo__panel[data-step="3"] .how-engine__node{border-color:rgba(91,229,199,.46);background:rgba(44,190,160,.16);color:#d8fff6;transform:translateY(-2px);box-shadow:0 12px 26px rgba(10,74,64,.22)}
.how-demo__panel[data-step="0"] .how-engine__node:nth-child(-n+2):after,.how-demo__panel[data-step="1"] .how-engine__node:nth-child(-n+4):after,.how-demo__panel[data-step="2"] .how-engine__node:nth-child(n+2):nth-child(-n+5):after,.how-demo__panel[data-step="3"] .how-engine__node:after{background:#61e8cc;box-shadow:0 0 0 6px rgba(97,232,204,.10)}
.how-demo__bridge{position:relative;display:grid;place-items:center;overflow:hidden}
.how-demo__bridge-line{position:absolute;left:50%;top:42px;bottom:42px;width:2px;transform:translateX(-50%);background:linear-gradient(to bottom,transparent,#cfc5e5 18%,#b5dcd4 82%,transparent)}
.how-demo__bridge-pulse{position:absolute;left:50%;top:21%;width:18px;height:18px;border-radius:50%;transform:translate(-50%,-50%);background:#7651e8;box-shadow:0 0 0 8px rgba(118,81,232,.12),0 0 28px rgba(118,81,232,.38);animation:howTravel 2.2s cubic-bezier(.45,0,.55,1) infinite alternate}
@keyframes howTravel{to{top:79%;background:#2bc1a5;box-shadow:0 0 0 8px rgba(43,193,165,.12),0 0 28px rgba(43,193,165,.38)}}
.how-demo__bridge-arrow{position:relative;z-index:2;width:54px;height:54px;display:grid;place-items:center;border:1px solid #ddd5eb;border-radius:18px;background:#fff;color:#6344c5;box-shadow:0 15px 35px rgba(53,38,87,.13);font-size:18px}
.how-demo__footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:16px;padding:15px 17px;border:1px solid #e6e0ed;border-radius:18px;background:linear-gradient(110deg,#f5f1ff,#edf9f6)}
.how-demo__result{min-width:0;display:flex;align-items:center;gap:10px;color:#342b42;font-size:13.5px;line-height:1.45}.how-demo__result>i{width:30px;height:30px;display:grid;place-items:center;flex:none;border-radius:10px;background:#fff;color:#27a88f;box-shadow:0 7px 18px rgba(37,110,95,.10)}.how-demo__result b{color:#5b3cc2}.how-demo__results{display:grid;min-width:0}.how-demo__result-text{grid-area:1/1;opacity:0;transform:translateY(7px);visibility:hidden;transition:.3s ease}.how-demo__result-text.is-active{opacity:1;transform:none;visibility:visible}
.how-demo__controls{display:flex;align-items:center;gap:7px}.how-demo__control{width:38px;height:38px;display:grid;place-items:center;border:1px solid #ddd6e8;border-radius:12px;background:#fff;color:#51465e;cursor:pointer;transition:.18s ease}.how-demo__control:hover{border-color:#b9a9e2;color:#5b3cc2;transform:translateY(-1px)}.how-demo__control:focus-visible{outline:3px solid rgba(104,71,232,.25);outline-offset:2px}
@media(max-width:980px){.how-orchestrated{padding:74px 0 82px}.how-demo__rail{grid-template-columns:repeat(2,minmax(0,1fr))}.how-demo__stage{grid-template-columns:1fr;min-height:0}.how-demo__bridge{min-height:70px}.how-demo__bridge-line{left:35px;right:35px;top:50%;bottom:auto;width:auto;height:2px;transform:translateY(-50%);background:linear-gradient(to right,transparent,#cfc5e5 18%,#b5dcd4 82%,transparent)}.how-demo__bridge-pulse{left:22%;top:50%;animation-name:howTravelHorizontal}@keyframes howTravelHorizontal{to{left:78%;top:50%;background:#2bc1a5;box-shadow:0 0 0 8px rgba(43,193,165,.12),0 0 28px rgba(43,193,165,.38)}}.how-demo__bridge-arrow{transform:rotate(90deg)}.how-demo__side{min-height:410px}}
@media(max-width:680px){.how-orchestrated{padding:58px 0 66px}.how-orchestrated h2{font-size:42px}.how-orchestrated>.wrap>.sub{font-size:16px}.how-demo{margin-top:30px;padding:10px;border-radius:24px}.how-demo__rail{gap:6px;margin-bottom:10px;border-radius:15px}.how-demo__tab{grid-template-columns:34px minmax(0,1fr);min-height:56px;padding:7px 8px}.how-demo__tab-no{width:34px;height:34px}.how-demo__tab-label{font-size:11px}.how-demo__side{min-height:390px;padding:20px;border-radius:20px}.how-demo__panel h3{font-size:29px}.how-demo__panel>p{font-size:14px}.how-demo__visual{min-height:170px}.how-demo__footer{grid-template-columns:1fr;padding:13px}.how-demo__controls{justify-self:end}.how-demo__result{align-items:flex-start}.how-phone{width:90%}}
@media(max-width:440px){.how-demo__rail{grid-template-columns:1fr}.how-demo__tab{min-height:49px}.how-demo__stage{gap:9px}.how-demo__side{min-height:410px}.how-demo__footer{margin-top:10px}.how-demo__controls{justify-self:stretch;justify-content:flex-end}}
@media(prefers-reduced-motion:reduce){.how-demo *,.how-demo *:before,.how-demo *:after{animation:none!important;transition-duration:.01ms!important}.how-demo__panel{filter:none}.how-demo__bridge-pulse{top:50%}}
/* sequenza narrativa: prima l’azione, poi la risposta del sistema */
.how-demo__side--guest .how-demo__panel.is-active{transition-delay:.04s}
.how-demo__side--system .how-demo__panel.is-active{transition-delay:.34s}
.how-demo__result-text.is-active{transition-delay:.58s}
.how-demo__side--system .how-demo__panel.is-active .how-engine__node{animation:howNodeIn .38s cubic-bezier(.2,.8,.2,1) both}
.how-demo__side--system .how-demo__panel.is-active .how-engine__node:nth-child(1){animation-delay:.38s}
.how-demo__side--system .how-demo__panel.is-active .how-engine__node:nth-child(2){animation-delay:.43s}
.how-demo__side--system .how-demo__panel.is-active .how-engine__node:nth-child(3){animation-delay:.48s}
.how-demo__side--system .how-demo__panel.is-active .how-engine__node:nth-child(4){animation-delay:.53s}
.how-demo__side--system .how-demo__panel.is-active .how-engine__node:nth-child(5){animation-delay:.58s}
.how-demo__side--system .how-demo__panel.is-active .how-engine__node:nth-child(6){animation-delay:.63s}
@keyframes howNodeIn{from{opacity:.2;transform:translateY(8px) scale(.96)}to{opacity:1}}
.how-demo.is-running .how-demo__bridge-arrow{animation:howArrowBeat 1.4s ease-in-out infinite}
@keyframes howArrowBeat{50%{transform:translateX(3px);box-shadow:0 18px 40px rgba(83,55,151,.2)}}
@media(max-width:980px){.how-demo.is-running .how-demo__bridge-arrow{animation-name:howArrowBeatMobile}@keyframes howArrowBeatMobile{50%{transform:rotate(90deg) translateX(3px);box-shadow:0 18px 40px rgba(83,55,151,.2)}}}
