
:root{--blue:#1687ff;--blue-dark:#096ee9;--ink:#111827;--muted:#687384;--line:#e7ebef;--soft:#f6f8fb;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;padding:18px 0;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(0,0,0,.04)}.nav-wrap{display:flex;align-items:center;gap:34px}.brand img{width:230px;display:block}.main-nav{display:flex;gap:30px;margin-left:auto}.main-nav a{font-size:14px;font-weight:600}.main-nav a:hover{color:var(--blue)}.nav-actions{display:flex;gap:10px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:13px;padding:12px 20px;font-weight:700;font-size:14px;transition:.2s;border:1px solid transparent}.btn-primary{background:linear-gradient(135deg,#1d8bff,#0e74ef);color:#fff;box-shadow:0 10px 30px rgba(22,135,255,.22)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(22,135,255,.28)}.btn-light{background:#fff;border-color:var(--line)}.btn-outline{border-color:#cfd6de;background:#fff}.btn-white{background:#fff;color:#111827}.btn-lg{padding:15px 24px;border-radius:15px;font-size:15px}.menu-toggle{display:none;border:0;background:#f3f5f7;border-radius:10px;padding:10px 12px;font-size:20px}
.hero{position:relative;overflow:hidden}.hero:before{content:"";position:absolute;left:0;top:0;bottom:0;width:58%;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.96) 68%,rgba(255,255,255,0) 100%);z-index:1}.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;min-height:690px;align-items:center}.hero-copy{position:relative;z-index:3;padding:70px 0}.eyebrow{font-size:13px;letter-spacing:.28em;font-weight:800;line-height:1.8;margin-bottom:25px}.hero h1{font-size:66px;line-height:.98;letter-spacing:-.055em;margin:0 0 24px;max-width:700px}.hero h1 span,.section-head h2 span,.split-cta h2 span{color:var(--blue)}.hero-lead{font-size:21px;line-height:1.45;max-width:610px;color:#2d3744}.hero-lead strong{color:var(--blue)}.hero-buttons{display:flex;gap:14px;margin-top:30px}.play{width:26px;height:26px;border:2px solid var(--blue);border-radius:50%;display:grid;place-items:center;font-size:9px;color:var(--blue)}.hero-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:48px;max-width:680px}.benefit{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}.benefit-icon{width:48px;height:48px;border:1.5px solid var(--blue);border-radius:50%;display:grid;place-items:center;color:var(--blue);font-size:21px;margin-bottom:6px}.benefit b{font-size:12px}.benefit small{font-size:11px;color:var(--muted)}.hero-visual{position:absolute;right:-7%;top:0;width:60%;height:100%;overflow:hidden}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.65),rgba(255,255,255,0) 35%)}.hero-visual img{width:100%;height:100%;object-fit:cover;display:block}.visual-glow{position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(22,135,255,.18);filter:blur(80px);right:30%;top:30%;z-index:2}
.trust-strip{background:rgba(238,244,251,.9);border-top:1px solid #edf0f3;border-bottom:1px solid #edf0f3}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:22px 0}.trust-grid div{padding:0 26px;border-right:1px solid #dfe5eb}.trust-grid div:last-child{border-right:0}.trust-grid strong{display:block;color:var(--blue);font-size:18px}.trust-grid span{font-size:12px;color:var(--muted)}
.section{padding:100px 0}.section-soft{background:var(--soft)}.section-head{margin-bottom:48px}.section-head.centered{text-align:center;max-width:760px;margin:0 auto 52px}.section-kicker{font-size:11px;font-weight:900;letter-spacing:.2em;color:var(--blue);display:block;margin-bottom:14px}.section-kicker.light{color:#78baff}.section-head h2,.split-cta h2{font-size:48px;line-height:1.05;letter-spacing:-.045em;margin:0 0 16px}.section-head p{font-size:17px;color:var(--muted);max-width:650px;line-height:1.6}.centered p{margin-left:auto;margin-right:auto}
.product-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:28px}.product-card{border:1px solid var(--line);border-radius:28px;overflow:hidden;background:#fff}.product-card.featured{display:grid;grid-template-columns:1fr .8fr;background:linear-gradient(135deg,#fff,#f4f8fc)}.product-card-copy{padding:44px}.badge{display:inline-block;background:#e8f3ff;color:#096ee9;padding:7px 10px;border-radius:99px;font-size:11px;font-weight:800}.product-card h3{font-size:34px;margin:18px 0 12px}.product-card p{color:var(--muted);line-height:1.65}.product-card ul,.price-card ul{padding:0;list-style:none;margin:22px 0}.product-card li,.price-card li{padding:8px 0;border-bottom:1px solid #edf0f3;font-size:14px}.device-mock{margin:28px;min-height:430px;background:#0a0b0d;color:#fff;border-radius:22px;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 28px 60px rgba(0,0,0,.25);transform:perspective(1000px) rotateY(-7deg);border:1px solid #2b2d31}.device-logo{font-size:78px;font-weight:900;color:#4285f4}.device-title{text-align:center;font-size:30px;line-height:1.15}.stars{color:#ffc400;font-size:27px;letter-spacing:2px;margin:14px}.tap-row{font-size:22px;margin:15px 0}.tap-row span{font-size:12px}.device-brand{font-size:24px;font-weight:800;margin-top:28px}.device-brand span{color:var(--blue)}.mini-benefits{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mini-benefits article{border:1px solid var(--line);border-radius:20px;padding:24px;background:#fff}.mini-benefits span{color:var(--blue);font-weight:900;font-size:12px}.mini-benefits h3{margin:12px 0 8px}.mini-benefits p{font-size:13px;color:var(--muted);line-height:1.5}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.steps article{background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px}.step-num{width:44px;height:44px;border-radius:14px;background:#e8f3ff;color:var(--blue);font-weight:900;display:grid;place-items:center}.steps h3{font-size:24px;margin:20px 0 10px}.steps p{color:var(--muted);line-height:1.6}
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.price-card{position:relative;border:1px solid var(--line);border-radius:24px;padding:30px;background:#fff;display:flex;flex-direction:column}.price-card.popular{border:2px solid var(--blue);box-shadow:0 18px 45px rgba(22,135,255,.14)}.popular-badge{position:absolute;right:18px;top:18px;background:var(--blue);color:#fff;padding:6px 9px;border-radius:99px;font-size:10px;font-weight:800}.price-type{font-size:10px;letter-spacing:.15em;color:var(--muted);font-weight:800}.price-card h3{font-size:24px;margin:12px 0}.price-value{font-size:34px;font-weight:900;letter-spacing:-.04em}.price-value small{font-size:12px;font-weight:600;color:var(--muted)}.price-card p{color:var(--muted);font-size:13px;line-height:1.5;min-height:60px}.price-card .btn{margin-top:auto}
.section-dark{background:#0e1116;color:#fff}.split-cta{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:60px}.dark-copy{font-size:17px;line-height:1.7;color:#c6ccd5}.dark-copy .btn{margin-top:18px}
.faq-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px}.faq-list details{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:12px;padding:20px 22px}.faq-list summary{font-weight:800;cursor:pointer}.faq-list p{color:var(--muted);line-height:1.6;margin-bottom:0}
.contact-section{background:#fff}.contact-card{background:linear-gradient(135deg,#0d74ec,#1595ff);color:#fff;border-radius:30px;padding:54px;display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-card h2{font-size:40px;margin:8px 0 10px}.contact-card p{max-width:600px;color:#dcecff}.contact-actions{display:flex;flex-direction:column;gap:14px;align-items:flex-end}.staff-link{font-size:12px;color:#e8f4ff}
footer{padding:58px 0 24px;background:#0d1015;color:#d4d9e1}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}.footer-grid img{width:200px;filter:brightness(0) invert(1)}.footer-grid p{font-size:12px;color:#8d98a6}.footer-grid div{display:flex;flex-direction:column;gap:10px}.footer-grid strong{color:#fff;margin-bottom:6px}.footer-grid a{font-size:13px;color:#aeb7c3}.footer-bottom{border-top:1px solid #232832;margin-top:38px;padding-top:20px;font-size:11px;color:#7c8796}
@media(max-width:1000px){.main-nav{display:none}.menu-toggle{display:block}.marketing-menu-open .main-nav{display:flex;position:absolute;left:20px;right:20px;top:88px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;flex-direction:column;box-shadow:0 20px 50px rgba(0,0,0,.12)}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:70px 0 560px}.hero:before{width:100%;height:60%;bottom:auto}.hero-visual{top:auto;bottom:0;right:0;width:100%;height:560px}.hero h1{font-size:54px}.pricing-grid{grid-template-columns:1fr 1fr}.product-grid,.faq-grid,.split-cta{grid-template-columns:1fr}.product-card.featured{grid-template-columns:1fr 1fr}.contact-card{flex-direction:column;align-items:flex-start}.contact-actions{align-items:flex-start}}
@media(max-width:700px){.container{width:min(100% - 26px,1180px)}.site-header{padding:12px 0}.brand img{width:170px}.btn-light{display:none}.nav-actions .btn-primary{display:none}.hero-copy{padding:54px 0 380px}.hero-visual{height:380px}.hero h1{font-size:42px}.hero-lead{font-size:17px}.hero-buttons{flex-direction:column;align-items:stretch}.hero-benefits{grid-template-columns:1fr 1fr}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid div{border-right:0;border-bottom:1px solid #dfe5eb;padding:15px 8px}.section{padding:70px 0}.section-head h2,.split-cta h2{font-size:38px}.product-card.featured{grid-template-columns:1fr}.device-mock{min-height:350px}.mini-benefits{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.pricing-grid{grid-template-columns:1fr}.contact-card{padding:34px 24px}.footer-grid{grid-template-columns:1fr}.footer-grid img{width:180px}}

/* V31 · B2B + Affiliati */
.affiliates-section{background:#fff}
.affiliates-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:34px}
.affiliates-head .section-head{margin-bottom:0}
.affiliate-counter{min-width:190px;padding:22px 24px;border:1px solid var(--line);border-radius:20px;background:#f8fbff;text-align:center}
.affiliate-counter strong{display:block;font-size:42px;line-height:1;color:var(--blue);letter-spacing:-.05em}
.affiliate-counter span{display:block;margin-top:8px;font-size:12px;color:var(--muted)}
.affiliate-map-shell{position:relative;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 18px 60px rgba(17,24,39,.08)}
#affiliate-map{height:520px;background:#edf2f6}
.map-note{position:absolute;z-index:500;left:20px;bottom:20px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);padding:12px 15px;border-radius:14px;box-shadow:0 12px 30px rgba(17,24,39,.12);display:flex;align-items:center;gap:10px}
.map-note b{font-size:12px;display:block}.map-note small{font-size:10px;color:var(--muted);display:block;margin-top:2px}
.affiliate-dot{width:13px;height:13px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 5px rgba(22,135,255,.14)}
.tapreview-public-marker{background:none!important;border:none!important}
.tapreview-public-marker span{display:block;width:20px;height:20px;border-radius:50%;background:#1687ff;border:4px solid #fff;box-shadow:0 4px 16px rgba(22,135,255,.5)}
.public-map-popup{min-width:150px}.public-map-popup b{display:block;font-size:13px;color:#111827}.public-map-popup span{display:block;font-size:11px;color:#667085;margin-top:4px}.public-map-popup small{display:inline-block;margin-top:8px;padding:4px 7px;border-radius:99px;background:#e8f3ff;color:#096ee9;font-weight:700;font-size:9px}
.affiliate-list-wrap{margin-top:25px}.affiliate-list-title{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#697586;margin-bottom:12px}
.affiliate-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.affiliate-chip{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:14px;padding:13px 14px;cursor:pointer;background:#fff;transition:.18s}
.affiliate-chip:hover{border-color:#b9d9ff;transform:translateY(-1px);box-shadow:0 8px 20px rgba(17,24,39,.06)}
.affiliate-chip i{width:9px;height:9px;border-radius:50%;background:var(--blue);flex:0 0 auto}
.affiliate-chip b{display:block;font-size:12px}.affiliate-chip span{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.affiliate-loading,.affiliate-empty{grid-column:1/-1;padding:22px;border:1px dashed #d7dde4;border-radius:14px;color:var(--muted);font-size:12px;text-align:center}
@media(max-width:900px){.affiliates-head{align-items:flex-start;flex-direction:column}.affiliate-counter{width:100%;text-align:left}.affiliate-list{grid-template-columns:1fr 1fr}}
@media(max-width:700px){#affiliate-map{height:410px}.affiliate-list{grid-template-columns:1fr}.map-note{left:10px;right:10px;bottom:10px}}

/* V32 · Brand TapReview + ottimizzazione smartphone */
.brand{display:flex;align-items:center;min-width:0}
.brand img{width:240px;height:auto;max-width:100%;object-fit:contain}
.site-header .nav-wrap{min-height:58px}
@media(max-width:700px){
  .site-header{padding:8px 0}
  .nav-wrap{gap:10px}
  .brand{flex:1;min-width:0}
  .brand img{width:166px;max-width:58vw}
  .nav-actions{gap:6px}
  .menu-toggle{display:block;flex:0 0 auto}
  .main-nav{top:74px}
  .hero-copy{padding-top:44px}
  .hero h1{font-size:40px;line-height:1.02}
  .hero-lead{font-size:16px;line-height:1.5}
  .hero-benefits{gap:10px}
  .benefit-icon{width:44px;height:44px}
  .trust-grid{gap:0}
  .section-head h2,.split-cta h2{font-size:36px}
  .affiliate-counter strong{font-size:36px}
  footer .footer-grid img{width:190px;filter:none}
}
@media(max-width:420px){
  .brand img{width:150px;max-width:60vw}
  .hero h1{font-size:36px}
  .hero-copy{padding-bottom:350px}
  .hero-visual{height:350px}
  .contact-card h2{font-size:32px}
}


/* V37 · Mappa Affiliati stabile, senza tile forzati */
#affiliate-map{
  position:relative;
  background:#e7edf2;
}
#affiliate-map .leaflet-container{
  width:100%;
  height:100%;
}
#affiliate-map .leaflet-tile{
  max-width:none !important;
}
.affiliate-map-shell{
  background:#e7edf2;
}

/* V51 · Chat pubblica */
.public-chat-widget{position:fixed;right:22px;bottom:22px;z-index:5000;font-family:Inter,system-ui,sans-serif}
.public-chat-launch{display:flex;align-items:center;gap:9px;border:0;border-radius:999px;background:#111827;color:#fff;padding:12px 16px;box-shadow:0 16px 42px rgba(15,23,42,.25);cursor:pointer}
.public-chat-launch span{font-size:18px}.public-chat-launch b{font-size:12px}
.public-chat-panel{width:min(380px,calc(100vw - 24px));background:#fff;border:1px solid #e4e9ef;border-radius:18px;box-shadow:0 28px 80px rgba(15,23,42,.24);overflow:hidden}
.public-chat-head{display:flex;justify-content:space-between;align-items:center;padding:14px 15px;background:linear-gradient(135deg,#0d1727,#0f6fe8);color:#fff}
.public-chat-head b,.public-chat-head small{display:block}.public-chat-head small{font-size:9px;color:#c9d7eb;margin-top:3px}.public-chat-head small i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2bd690;margin-right:5px}
.public-chat-head button{border:0;background:rgba(255,255,255,.12);color:#fff;width:28px;height:28px;border-radius:9px;font-size:18px;cursor:pointer}
.public-chat-start{padding:15px}.public-chat-start p{font-size:12px;line-height:1.5;color:#596579;margin:0 0 12px}
.public-chat-start input,.public-chat-start textarea{width:100%;margin:0 0 8px;border:1px solid #dfe5ed;border-radius:10px;padding:10px 11px;font:inherit;font-size:12px}
.public-chat-start button{width:100%;border:0;border-radius:10px;background:#1687ff;color:#fff;padding:10px 12px;font-weight:800;cursor:pointer}
.public-chat-start>small{display:block;color:#d33b53;font-size:10px;margin-top:8px}
.public-chat-live{background:#f7f9fc}
.public-chat-thread{height:330px;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:8px}
.public-chat-bubble-row{display:flex}.public-chat-bubble-row.customer{justify-content:flex-end}.public-chat-bubble-row.staff{justify-content:flex-start}
.public-chat-bubble{max-width:82%;border-radius:14px;padding:9px 10px;background:#fff;border:1px solid #e7ebf0}
.public-chat-bubble-row.customer .public-chat-bubble{background:#1687ff;color:#fff;border-color:#1687ff}
.public-chat-bubble small{display:block;font-size:8px;opacity:.7;margin-bottom:4px}.public-chat-bubble p{font-size:11px;line-height:1.45;margin:0;white-space:pre-wrap}
.public-chat-compose{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;border-top:1px solid #e5e9ef;background:#fff}
.public-chat-compose textarea{resize:none;border:1px solid #dfe5ed;border-radius:10px;padding:9px;font:inherit;font-size:11px}
.public-chat-compose button{border:0;border-radius:10px;background:#1687ff;color:#fff;padding:0 14px;font-weight:800;cursor:pointer}
.public-chat-closed{padding:10px 12px;background:#fff3f5;color:#b72f49;font-size:10px;text-align:center;border-top:1px solid #ffdce2}
@media(max-width:600px){
  .public-chat-widget{right:12px;bottom:12px}
  .public-chat-panel{width:calc(100vw - 24px)}
  .public-chat-thread{height:52vh}
  .public-chat-launch b{display:none}.public-chat-launch{width:48px;height:48px;padding:0;justify-content:center}
}

/* V56 · accesso affiliati */
.main-nav .affiliate-public-link{
  border:1px solid rgba(22,135,255,.22);
  background:#f2f8ff;
  color:#0f6fe8!important;
  border-radius:999px;
  padding:8px 12px;
}


/* =========================================================
   V79 · TAPREVIEW CINEMATIC PUBLIC EXPERIENCE
   Homepage pubblica soltanto
   ========================================================= */
.public-cinematic-home{
  --cin-blue:#0c8df5;
  --cin-cyan:#39c8ff;
  --cin-ink:#0e1726;
  --mx:0;
  --my:0;
  overflow-x:hidden;
}
.public-cinematic-home .site-header{
  backdrop-filter:blur(18px) saturate(1.2);
  background:rgba(255,255,255,.78);
}
.public-cinematic-home .hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.public-cinematic-home .hero:before{
  content:"";
  position:absolute;inset:-15% -10% auto 45%;
  height:90%;
  background:
    radial-gradient(circle at 50% 45%,rgba(46,183,255,.18),transparent 42%),
    radial-gradient(circle at 72% 28%,rgba(91,118,255,.10),transparent 36%);
  pointer-events:none;
  z-index:-1;
}
.public-cinematic-home .hero-copy{
  animation:cinHeroCopy .85s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes cinHeroCopy{
  from{opacity:0;transform:translateY(28px);filter:blur(8px)}
  to{opacity:1;transform:none;filter:none}
}
.cinematic-hero-visual{
  min-height:540px;
  position:relative;
  display:grid;
  place-items:center;
  perspective:1200px;
  transform-style:preserve-3d;
}
.cinematic-hero-visual .visual-glow{
  width:72%;height:72%;border-radius:50%;
  background:radial-gradient(circle,rgba(35,177,255,.25),rgba(71,94,255,.08) 42%,transparent 68%);
  filter:blur(20px);
  animation:cinGlow 4.8s ease-in-out infinite alternate;
}
@keyframes cinGlow{to{transform:scale(1.12);opacity:.72}}
.cinematic-product{
  position:absolute;
  z-index:4;
  width:min(78%,570px)!important;
  max-height:520px;
  object-fit:contain;
  filter:drop-shadow(0 34px 36px rgba(14,23,38,.22));
  transition:transform .15s linear;
  will-change:transform;
}
.cinematic-phone-card{
  position:absolute;
  z-index:6;
  right:1%;
  top:12%;
  width:150px;height:298px;
  padding:7px;
  border-radius:29px;
  background:linear-gradient(145deg,#182334,#05090f 70%);
  box-shadow:0 28px 55px rgba(11,26,47,.25),inset 0 0 0 1px rgba(255,255,255,.16);
  transform:rotate(-5deg);
  transition:transform .14s linear;
  will-change:transform;
}
.phone-notch{position:absolute;top:11px;left:50%;translate:-50% 0;width:56px;height:14px;border-radius:20px;background:#05070a;z-index:2}
.phone-screen{
  width:100%;height:100%;border-radius:23px;
  background:linear-gradient(180deg,#f8fbff,#eef7ff);
  padding:52px 13px 18px;
  text-align:center;
  display:flex;flex-direction:column;align-items:center;
}
.phone-brand-mini{font-size:10px;font-weight:900;color:#178af7}
.phone-rating{font-size:13px;letter-spacing:2px;color:#ffbd16;margin:32px 0 8px}
.phone-copy{font-weight:800;font-size:17px;line-height:1.12;color:#152138}
.phone-copy span{font-weight:500;font-size:9px;color:#7a8798}
.phone-review-btn{margin-top:auto;padding:9px 10px;border-radius:10px;background:#1687ff;color:#fff;font-size:8px;font-weight:800;width:100%}
.cinematic-orbit{
  position:absolute;border:1px solid rgba(17,141,244,.16);border-radius:50%;z-index:1;
  animation:cinOrbit 12s linear infinite;
}
.orbit-one{width:78%;aspect-ratio:1}
.orbit-two{width:58%;aspect-ratio:1;animation-duration:8s;animation-direction:reverse}
@keyframes cinOrbit{to{transform:rotate(360deg)}}
.cinematic-nfc-wave{
  position:absolute;right:20%;top:31%;width:52px;height:52px;border:2px solid rgba(19,149,248,.34);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;z-index:7;
  transform:rotate(45deg);
  animation:nfcWave 2.2s ease-out infinite;
}
.wave-two{animation-delay:.45s}.wave-three{animation-delay:.9s}
@keyframes nfcWave{
  0%{scale:.55;opacity:0}
  20%{opacity:.9}
  100%{scale:1.65;opacity:0}
}
.cinematic-tap-pill{
  position:absolute;z-index:8;right:18%;bottom:15%;
  padding:8px 11px;border-radius:999px;
  background:rgba(255,255,255,.88);border:1px solid rgba(22,135,255,.14);
  box-shadow:0 12px 30px rgba(24,47,88,.10);
  color:#42617f;font-size:8px;font-weight:900;letter-spacing:.12em;
  backdrop-filter:blur(10px);
}
.cinematic-tap-pill span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#18a96c;margin-right:6px;box-shadow:0 0 0 5px rgba(24,169,108,.12)}

/* Sticky scroll story */
.cinematic-story{
  position:relative;
  height:360vh;
  background:
    radial-gradient(circle at 70% 45%,rgba(28,151,255,.15),transparent 32%),
    linear-gradient(180deg,#08101c,#0c1625 58%,#101b2d);
  color:#fff;
}
.cinematic-story-track{
  position:sticky;
  top:0;
  height:100vh;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.cinematic-story-stage{
  width:min(1180px,calc(100% - 44px));
  min-height:620px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  align-items:center;
  gap:50px;
  position:relative;
}
.cinematic-story-copy{position:relative;min-height:380px}
.cinematic-story-copy>.section-kicker{color:#6fcaff}
.cinematic-story-step{
  position:absolute;left:0;top:82px;width:min(100%,520px);
  opacity:0;transform:translateY(30px);filter:blur(8px);
  transition:opacity .38s ease,transform .48s cubic-bezier(.2,.8,.2,1),filter .38s ease;
  pointer-events:none;
}
.cinematic-story-step.is-active{opacity:1;transform:none;filter:none}
.cinematic-story-step small{display:block;color:#58bfff;font-size:11px;font-weight:900;letter-spacing:.2em;margin-bottom:15px}
.cinematic-story-step h2{font-size:clamp(36px,4.1vw,64px);line-height:.98;letter-spacing:-.055em;margin:0 0 22px}
.cinematic-story-step h2 span{color:#58bfff}
.cinematic-story-step p{max-width:440px;color:#aab9cc;font-size:14px;line-height:1.7}

.cinematic-device-scene{
  height:520px;position:relative;perspective:1300px;transform-style:preserve-3d;
}
.scene-light{
  position:absolute;inset:8% 3% 5%;
  background:radial-gradient(circle at 50% 55%,rgba(50,186,255,.28),transparent 52%);
  filter:blur(24px);
}
.scene-phone{
  position:absolute;z-index:6;left:12%;top:16%;
  width:180px;height:360px;padding:7px;border-radius:34px;
  background:linear-gradient(145deg,#202c3e,#04070b 72%);
  box-shadow:0 42px 70px rgba(0,0,0,.4),inset 0 0 0 1px rgba(255,255,255,.17);
  transform:translate3d(120px,-28px,0) rotate(-11deg);
  transform-origin:70% 70%;
  will-change:transform;
}
.scene-phone-screen{
  height:100%;border-radius:27px;padding:20px 12px;
  background:linear-gradient(180deg,#f7fbff,#eaf4ff);
  color:#15223a;
}
.scene-status{text-align:center;font-size:8px;font-weight:800}
.scene-review-card{
  margin-top:88px;padding:19px 12px;border-radius:16px;background:#fff;
  box-shadow:0 12px 30px rgba(20,60,100,.10);text-align:center;
}
.scene-review-card b{display:block;font-size:13px;color:#1687ff}
.scene-review-card div{color:#ffbd17;letter-spacing:2px;margin:9px 0}
.scene-review-card span{font-size:8px;color:#7b899c}
.scene-stand{
  position:absolute;z-index:4;right:9%;bottom:8%;width:245px;height:345px;
  background:linear-gradient(160deg,#252a32,#0b0e13 70%);
  border-radius:16px 16px 9px 9px;
  box-shadow:0 38px 65px rgba(0,0,0,.44),inset 0 0 0 1px rgba(255,255,255,.08);
  display:flex;flex-direction:column;align-items:center;padding:44px 18px 20px;text-align:center;
  transform-origin:50% 100%;will-change:transform;
}
.scene-stand:after{
  content:"";position:absolute;left:-20px;right:-20px;bottom:-18px;height:23px;border-radius:0 0 15px 15px;background:#080a0e;transform:perspective(300px) rotateX(58deg)
}
.scene-stand-logo{font-size:44px;font-weight:900;color:#4285f4;margin-bottom:18px}
.scene-stand b{font-size:24px;line-height:1.05}
.scene-stars{margin-top:18px;color:#ffc31b;letter-spacing:4px}
.scene-stand small{margin-top:auto;color:#cad5e0;font-size:10px}
.scene-pulse{
  position:absolute;z-index:5;right:38%;top:44%;width:66px;height:66px;
  border:2px solid rgba(74,199,255,.7);border-radius:50%;opacity:0;
}
.is-tapping .scene-pulse{animation:storyPulse 1s ease-out infinite}
.pulse-b{animation-delay:.18s!important}.pulse-c{animation-delay:.36s!important}
@keyframes storyPulse{0%{scale:.25;opacity:.9}100%{scale:2.2;opacity:0}}
.scene-success{
  position:absolute;right:12%;top:8%;z-index:9;padding:10px 14px;border-radius:999px;
  background:rgba(19,174,110,.16);border:1px solid rgba(72,228,161,.26);color:#7ff0bd;font-size:10px;font-weight:800;
  backdrop-filter:blur(12px);opacity:0;transition:opacity .2s linear;
}
.is-success .scene-review-card{animation:reviewCardGlow 1.8s ease-in-out infinite alternate}
@keyframes reviewCardGlow{to{box-shadow:0 14px 34px rgba(22,135,255,.22)}}
.cinematic-story-progress{
  position:absolute;left:0;bottom:38px;display:flex;gap:7px
}
.cinematic-story-progress i{display:block;width:24px;height:3px;border-radius:99px;background:rgba(255,255,255,.12);transition:.25s}
.cinematic-story-progress i.is-active{width:48px;background:#38baff}

/* Reveal */
.cinematic-reveal{opacity:0;transform:translateY(28px) scale(.985);filter:blur(5px);transition:opacity .65s ease var(--reveal-delay,0ms),transform .75s cubic-bezier(.2,.8,.2,1) var(--reveal-delay,0ms),filter .65s ease var(--reveal-delay,0ms)}
.cinematic-reveal.is-visible{opacity:1;transform:none;filter:none}
.public-cinematic-home .product-card,
.public-cinematic-home .price-card,
.public-cinematic-home .mini-benefits article,
.public-cinematic-home .steps article{
  transition-property:transform,box-shadow,border-color,opacity,filter;
}
.public-cinematic-home .product-card:hover,
.public-cinematic-home .price-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 60px rgba(27,55,93,.11);
}
.public-cinematic-home .mini-benefits article:hover,
.public-cinematic-home .steps article:hover{
  transform:translateY(-4px);
}

/* Smooth anchor travel */
html{scroll-behavior:smooth}
@media (min-width:901px){
  .public-cinematic-home .section{padding-top:92px;padding-bottom:92px}
}

/* Mobile adaptation */
@media(max-width:900px){
  .cinematic-hero-visual{min-height:430px}
  .cinematic-phone-card{width:112px;height:224px;right:0;top:14%}
  .phone-screen{padding-top:39px}
  .phone-rating{margin-top:20px}
  .phone-copy{font-size:13px}
  .cinematic-tap-pill{right:7%;bottom:12%}

  .cinematic-story{height:320vh}
  .cinematic-story-stage{
    min-height:100vh;
    grid-template-columns:1fr;
    gap:0;
    align-content:center;
    width:calc(100% - 28px);
  }
  .cinematic-story-copy{min-height:250px;z-index:10}
  .cinematic-story-step{top:54px;width:100%}
  .cinematic-story-step h2{font-size:clamp(31px,9vw,46px)}
  .cinematic-story-step p{font-size:12px;max-width:92%}
  .cinematic-device-scene{height:330px;margin-top:8px}
  .scene-phone{width:114px;height:228px;left:9%;top:12%;border-radius:24px}
  .scene-phone-screen{border-radius:18px;padding:13px 7px}
  .scene-review-card{margin-top:48px;padding:10px 7px}
  .scene-review-card b{font-size:9px}.scene-review-card div{font-size:8px}.scene-review-card span{font-size:6px}
  .scene-stand{width:156px;height:220px;right:7%;bottom:5%;padding:24px 10px 12px}
  .scene-stand-logo{font-size:28px;margin-bottom:10px}
  .scene-stand b{font-size:15px}.scene-stars{font-size:8px;letter-spacing:2px;margin-top:10px}.scene-stand small{font-size:7px}
  .cinematic-story-progress{bottom:14px}
}
@media(max-width:560px){
  .cinematic-hero-visual{min-height:350px}
  .cinematic-phone-card{display:none}
  .cinematic-product{width:92%!important}
  .cinematic-nfc-wave{right:16%;top:32%}
  .cinematic-story-stage{align-content:center}
  .cinematic-story-copy{min-height:230px}
  .cinematic-device-scene{height:300px}
}
@media(prefers-reduced-motion:reduce){
  .public-cinematic-home *, .public-cinematic-home *:before,.public-cinematic-home *:after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important
  }
  .cinematic-reveal{opacity:1!important;transform:none!important;filter:none!important}
}


/* =========================================================
   V80 · TAPREVIEW IMMERSIVE / ULTRA-PREMIUM PUBLIC UI
   ========================================================= */
.public-cinematic-home{
  background:#f7fbff;
}
.immersive-bg{
  position:fixed;inset:0;pointer-events:none;z-index:-5;overflow:hidden;
  background:
    radial-gradient(circle at 15% 12%,rgba(53,180,255,.10),transparent 28%),
    radial-gradient(circle at 86% 18%,rgba(98,109,255,.08),transparent 27%),
    linear-gradient(180deg,#fbfdff 0%,#f6faff 52%,#fff 100%);
}
.immersive-orb{
  position:absolute;border-radius:50%;filter:blur(70px);opacity:.35;
  animation:orbDrift 18s ease-in-out infinite alternate;
}
.orb-a{width:420px;height:420px;left:-130px;top:14%;background:#4cbcff}
.orb-b{width:520px;height:520px;right:-180px;top:30%;background:#7479ff;animation-delay:-4s}
.orb-c{width:360px;height:360px;left:40%;bottom:-160px;background:#5de0ff;animation-delay:-8s}
@keyframes orbDrift{to{transform:translate3d(55px,-35px,0) scale(1.12)}}
.immersive-grid{
  position:absolute;inset:0;opacity:.18;
  background-image:
    linear-gradient(rgba(25,82,130,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(25,82,130,.05) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.35),transparent 62%);
}
.immersive-noise{
  position:absolute;inset:0;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}
.immersive-cursor-glow{
  position:fixed;width:440px;height:440px;border-radius:50%;
  background:radial-gradient(circle,rgba(36,166,255,.13),rgba(90,98,255,.05) 34%,transparent 68%);
  filter:blur(10px);opacity:0;transition:opacity .25s ease;will-change:transform;
}

.public-cinematic-home .hero{
  min-height:calc(100vh - 72px);
  display:flex;align-items:center;
}
.public-cinematic-home .hero h1{
  font-size:clamp(52px,6vw,88px);
  line-height:.93;
  letter-spacing:-.065em;
  text-wrap:balance;
}
.public-cinematic-home .hero h1 span{
  background:linear-gradient(90deg,#178ef8 0%,#29bdfc 48%,#736fff 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 14px 40px rgba(34,142,242,.12);
}
.public-cinematic-home .hero-lead{
  max-width:720px;font-size:16px;line-height:1.75;color:#5d6b7e;
}
.public-cinematic-home .hero-buttons .btn{
  min-height:52px;padding-inline:20px;border-radius:14px;
  box-shadow:0 14px 34px rgba(25,110,220,.08);
  transition:transform .16s ease,box-shadow .2s ease,background .2s ease;
}
.public-cinematic-home .btn-primary{
  background:linear-gradient(135deg,#087cf1 0%,#16a2fa 52%,#6366f1 100%);
  box-shadow:0 16px 38px rgba(19,127,237,.25);
}
.public-cinematic-home .btn-primary:hover{
  box-shadow:0 20px 50px rgba(19,127,237,.34);
}

.hero-holo-badge{
  position:absolute;z-index:9;left:7%;bottom:11%;
  display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:15px;
  border:1px solid rgba(255,255,255,.7);
  background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(242,249,255,.65));
  box-shadow:0 18px 45px rgba(40,78,120,.14);
  backdrop-filter:blur(16px) saturate(1.2);
}
.hero-holo-badge .holo-icon{
  width:30px;height:30px;border-radius:10px;display:grid;place-items:center;
  background:linear-gradient(135deg,#108cf5,#755dff);color:#fff;
}
.hero-holo-badge b,.hero-holo-badge small{display:block}
.hero-holo-badge b{font-size:9px}.hero-holo-badge small{font-size:7px;color:#8190a2;margin-top:2px}
.hero-review-float{
  position:absolute;z-index:8;width:132px;padding:10px 11px;border-radius:14px;
  background:rgba(255,255,255,.84);border:1px solid rgba(255,255,255,.82);
  box-shadow:0 18px 42px rgba(32,55,91,.12);backdrop-filter:blur(18px);
  animation:reviewFloat 6s ease-in-out infinite alternate;
}
.hero-review-float span{display:block;color:#ffb915;letter-spacing:1px;font-size:8px}
.hero-review-float b{display:block;font-size:10px;margin-top:3px}.hero-review-float small{display:block;font-size:7px;color:#8b97a7;margin-top:2px}
.review-float-a{left:2%;top:22%}
.review-float-b{right:2%;top:40%;animation-delay:-2s}
.review-float-c{left:14%;bottom:4%;animation-delay:-4s}
@keyframes reviewFloat{to{transform:translateY(-10px) rotate(.8deg)}}

/* product realism */
.device-mock{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 28% 20%,rgba(255,255,255,.13),transparent 28%),
    linear-gradient(145deg,#171c24,#05070b 72%)!important;
  box-shadow:
    0 38px 90px rgba(4,11,22,.34),
    inset 0 0 0 1px rgba(255,255,255,.07),
    inset 0 -80px 120px rgba(0,0,0,.35)!important;
}
.device-mock:before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(110deg,transparent 12%,rgba(255,255,255,.10) 26%,transparent 42%);
  transform:translateX(-120%);animation:deviceSheen 5.5s ease-in-out infinite;
}
@keyframes deviceSheen{55%,100%{transform:translateX(130%)}}

/* impact section */
.impact-section{padding:80px 0 110px;position:relative}
.impact-shell{
  display:grid;grid-template-columns:.82fr 1.18fr;gap:42px;align-items:center;
  min-height:470px;padding:46px;
  border:1px solid rgba(126,167,205,.16);border-radius:30px;
  background:
    radial-gradient(circle at 72% 50%,rgba(38,161,255,.14),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.88),rgba(246,250,255,.74));
  box-shadow:0 38px 100px rgba(30,74,120,.09);
  backdrop-filter:blur(18px);
  transform-style:preserve-3d;transition:transform .16s ease;
}
.impact-copy h2{font-size:clamp(38px,4.5vw,68px);line-height:.98;letter-spacing:-.055em;margin:9px 0 18px}
.impact-copy h2 span{color:#138bf7}
.impact-copy p{max-width:520px;color:#677588;line-height:1.7}
.impact-visual{position:relative;height:360px;display:grid;place-items:center}
.impact-ring{
  position:absolute;border-radius:50%;border:1px solid rgba(24,142,244,.20);
  box-shadow:inset 0 0 35px rgba(28,159,255,.05);
  animation:ringBreath 3.6s ease-in-out infinite alternate;
}
.ring-1{width:310px;height:310px}
.ring-2{width:235px;height:235px;animation-delay:-1.2s}
.ring-3{width:160px;height:160px;animation-delay:-2.4s}
@keyframes ringBreath{to{scale:1.06;opacity:.55}}
.impact-core{
  position:relative;z-index:3;width:170px;height:170px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;gap:9px;
  background:linear-gradient(135deg,#087df1,#24b5fc 56%,#6b67f5);
  color:#fff;box-shadow:0 24px 65px rgba(18,126,232,.30);
  font-size:12px;font-weight:850;
}
.impact-core b{font-size:17px}
.impact-metric{
  position:absolute;z-index:4;min-width:118px;padding:10px 12px;border-radius:13px;
  background:rgba(255,255,255,.86);border:1px solid rgba(120,160,200,.14);
  box-shadow:0 14px 36px rgba(32,65,110,.10);backdrop-filter:blur(14px);
}
.impact-metric small,.impact-metric b{display:block}
.impact-metric small{font-size:7px;color:#8895a6}.impact-metric b{font-size:10px;margin-top:2px}
.metric-a{left:5%;top:8%}.metric-b{right:0;top:23%}.metric-c{left:12%;bottom:5%}

/* premium strip */
.premium-strip{padding:0 0 30px}
.premium-strip-inner{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
}
.premium-strip-inner>div{
  display:grid;grid-template-columns:40px 1fr;gap:3px 10px;align-items:center;
  padding:17px 18px;border-radius:17px;background:#0e1726;color:#fff;
  box-shadow:0 20px 46px rgba(5,14,26,.10);
}
.premium-strip-inner span{
  grid-row:1/3;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;
  background:linear-gradient(135deg,#0f8df6,#725fff);font-size:8px;font-weight:900;
}
.premium-strip-inner b{font-size:11px}.premium-strip-inner small{font-size:8px;color:#94a5bb}

/* richer dark section */
.public-cinematic-home .section-dark{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 78% 20%,rgba(46,178,255,.18),transparent 30%),
    radial-gradient(circle at 22% 90%,rgba(112,94,255,.16),transparent 28%),
    #08111f;
}
.public-cinematic-home .section-dark:after{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:46px 46px;mask-image:linear-gradient(to bottom,transparent,#000 35%,transparent);
  pointer-events:none;
}

/* card material */
.public-cinematic-home .product-card,
.public-cinematic-home .price-card,
.public-cinematic-home .mini-benefits article,
.public-cinematic-home .steps article{
  border:1px solid rgba(121,160,198,.13)!important;
  box-shadow:0 14px 38px rgba(38,72,113,.055);
  background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(249,252,255,.90));
  backdrop-filter:blur(12px);
  transform-style:preserve-3d;
  transition:transform .16s ease,box-shadow .22s ease,border-color .22s ease;
}
.public-cinematic-home .price-card.popular{
  border-color:rgba(26,145,248,.32)!important;
  box-shadow:0 22px 54px rgba(20,124,226,.14);
}

/* responsive */
@media(max-width:980px){
  .hero-review-float{display:none}
  .impact-shell{grid-template-columns:1fr;padding:30px}
  .impact-visual{height:320px}
  .premium-strip-inner{grid-template-columns:1fr}
}
@media(max-width:640px){
  .public-cinematic-home .hero{min-height:auto}
  .public-cinematic-home .hero h1{font-size:clamp(44px,13vw,62px)}
  .hero-holo-badge{left:4%;bottom:6%}
  .impact-section{padding:40px 0 70px}
  .impact-shell{padding:22px;border-radius:22px}
  .impact-copy h2{font-size:38px}
  .impact-visual{height:270px}
  .ring-1{width:240px;height:240px}.ring-2{width:180px;height:180px}.ring-3{width:120px;height:120px}
  .impact-core{width:132px;height:132px}
  .impact-metric{min-width:95px;padding:8px 9px}.metric-a{left:0}.metric-b{right:-4%}.metric-c{left:4%}
}


/* =========================================================
   V81 · PHONE PORTAL — IMMERSIVE NFC STORY
   ========================================================= */
.phone-portal{
  --portal-p:0;
  --portal-frame:0;
  --portal-stand:0;
  --portal-phone:0;
  --portal-tap:0;
  --portal-notif:0;
  --portal-sheet:0;
  height:520vh;
  position:relative;
  background:#050912;
}
.phone-portal-sticky{
  position:sticky;top:0;height:100vh;overflow:hidden;
  background:
    radial-gradient(circle at 50% 42%,rgba(26,126,232,.16),transparent 33%),
    linear-gradient(180deg,#050912,#07101d 70%,#08111f);
  color:#fff;
}
.portal-world{
  position:absolute;inset:0;
  transform-origin:center;
  will-change:transform,filter;
  overflow:hidden;
}
.portal-room-light{
  position:absolute;left:50%;top:17%;width:70vw;height:70vw;translate:-50% -50%;
  background:radial-gradient(circle,rgba(125,199,255,.20),rgba(41,128,214,.06) 36%,transparent 67%);
  filter:blur(20px);
}
.portal-floor{
  position:absolute;left:-10%;right:-10%;bottom:-12%;height:48%;
  background:
    linear-gradient(180deg,rgba(15,27,43,.25),rgba(3,7,13,.95)),
    repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 100px);
  transform:perspective(800px) rotateX(65deg);
  transform-origin:50% 100%;
}
.portal-counter{
  position:absolute;left:0;right:0;bottom:0;height:24%;
  background:linear-gradient(180deg,#1d2530,#0c1118 72%);
  border-top:1px solid rgba(255,255,255,.08);
  box-shadow:0 -30px 80px rgba(0,0,0,.24);
}
.portal-stand{
  position:absolute;left:50%;bottom:12%;z-index:5;
  width:260px;height:352px;margin-left:-130px;
  padding:44px 20px 20px;
  border-radius:20px 20px 11px 11px;
  background:
    radial-gradient(circle at 25% 16%,rgba(255,255,255,.12),transparent 25%),
    linear-gradient(150deg,#30353d 0%,#0e1116 56%,#05070a 100%);
  box-shadow:
    0 60px 120px rgba(0,0,0,.48),
    inset 0 0 0 1px rgba(255,255,255,.09),
    inset 0 -110px 160px rgba(0,0,0,.28);
  display:flex;flex-direction:column;align-items:center;text-align:center;
  opacity:0;will-change:transform,opacity;
}
.portal-stand:after{
  content:"";position:absolute;left:-26px;right:-26px;bottom:-24px;height:31px;
  border-radius:0 0 18px 18px;background:#05070a;
  transform:perspective(380px) rotateX(62deg);
  box-shadow:0 17px 34px rgba(0,0,0,.35);
}
.portal-stand-gloss{
  position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;
}
.portal-stand-gloss:before{
  content:"";position:absolute;top:-20%;left:-70%;width:55%;height:145%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.10),transparent);
  transform:rotate(18deg);animation:portalSheen 5s ease-in-out infinite;
}
@keyframes portalSheen{65%,100%{left:125%}}
.portal-google-g{
  font-size:50px;font-weight:900;
  background:conic-gradient(from -38deg,#4285f4 0 26%,#34a853 26% 49%,#fbbc05 49% 72%,#ea4335 72% 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.portal-stand-title{font-size:29px;font-weight:850;line-height:1.03;margin-top:10px}
.portal-stand-stars{color:#ffc21a;letter-spacing:5px;font-size:15px;margin-top:18px}
.portal-nfc-mark{margin-top:28px;font-size:15px;color:#c8d7e8}.portal-nfc-mark span{font-size:9px;font-weight:900;letter-spacing:.13em}
.portal-brand{margin-top:auto;font-size:12px;font-weight:900;color:#fff}.portal-brand span{color:#22a3fa}

.portal-hand-phone{
  position:absolute;z-index:8;left:50%;bottom:13%;margin-left:70px;
  width:215px;height:430px;opacity:0;will-change:transform,opacity;
  transform-origin:40% 90%;
}
.portal-phone-frame{
  width:100%;height:100%;padding:8px;border-radius:42px;
  background:linear-gradient(145deg,#333d4b,#05070b 58%,#1c2430);
  box-shadow:0 60px 120px rgba(0,0,0,.48),inset 0 0 0 1px rgba(255,255,255,.18);
  position:relative;
}
.portal-phone-speaker{
  position:absolute;top:14px;left:50%;translate:-50% 0;width:70px;height:18px;border-radius:20px;background:#05070b;z-index:3;
}
.portal-phone-ui{
  position:relative;width:100%;height:100%;overflow:hidden;border-radius:34px;
  background:linear-gradient(145deg,#edf7ff,#cfe8ff 55%,#eaf0ff);
}
.portal-statusbar{position:absolute;z-index:3;left:16px;right:16px;top:12px;display:flex;justify-content:space-between;font-size:8px;font-weight:850;color:#102238}
.portal-wallpaper{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 78% 18%,rgba(95,119,255,.42),transparent 30%),
    radial-gradient(circle at 24% 60%,rgba(36,183,255,.48),transparent 34%),
    linear-gradient(145deg,#ebf7ff,#dfe8ff);
}
.portal-google-notification{
  position:absolute;z-index:6;left:10px;right:10px;top:44px;
  display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:8px;
  padding:9px 10px;border-radius:14px;
  background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.78);
  box-shadow:0 15px 34px rgba(32,72,112,.14);backdrop-filter:blur(20px);
  opacity:0;
}
.portal-google-icon{
  width:31px;height:31px;border-radius:9px;background:#fff;display:grid;place-items:center;
  font-size:17px;font-weight:900;color:#4285f4;box-shadow:0 3px 10px rgba(30,65,105,.09)
}
.portal-google-copy b,.portal-google-copy span{display:block}
.portal-google-copy b{font-size:9px;color:#18273b}.portal-google-copy span{font-size:7px;color:#56677a;margin-top:2px}
.portal-now{font-size:6px;color:#99a5b3;align-self:start;margin-top:2px}
.portal-review-sheet{
  position:absolute;z-index:7;left:0;right:0;bottom:0;height:73%;
  border-radius:25px 25px 0 0;background:rgba(255,255,255,.97);color:#162239;
  padding:13px 17px 18px;display:flex;flex-direction:column;align-items:center;text-align:center;
  box-shadow:0 -18px 45px rgba(32,72,112,.16);opacity:0;transform:translateY(100%);
}
.portal-sheet-grab{width:42px;height:4px;border-radius:99px;background:#d8e0e8;margin-bottom:25px}
.portal-business-dot{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#0c8cf7,#5f68f7);display:grid;place-items:center;color:#fff;font-weight:900}
.portal-review-sheet>b{font-size:13px;margin-top:10px}.portal-review-sheet>span{font-size:8px;color:#7c8999;margin-top:4px}
.portal-review-stars{font-size:22px;letter-spacing:4px;color:#fbbc04;margin-top:28px}
.portal-review-button{width:100%;margin-top:auto;padding:11px;border-radius:11px;background:#1687ff;color:#fff;font-size:9px;font-weight:850}
.portal-nfc-pulse{
  position:absolute;z-index:7;left:50%;bottom:36%;width:80px;height:80px;margin-left:-18px;
  border:2px solid rgba(75,198,255,.8);border-radius:50%;opacity:0;
}
.phone-portal.is-tapping .portal-nfc-pulse{animation:portalPulse .9s ease-out infinite}
.phone-portal.is-tapping .pulse-2{animation-delay:.16s}.phone-portal.is-tapping .pulse-3{animation-delay:.32s}
@keyframes portalPulse{0%{scale:.2;opacity:.9}100%{scale:2.7;opacity:0}}

.portal-phone-window{
  position:absolute;z-index:20;left:50%;top:50%;width:100vw;height:100vh;
  border:0 solid #02050a;box-shadow:0 0 0 0 #02050a;
  pointer-events:none;will-change:transform,border-radius;
}
.portal-window-bezel{
  position:absolute;inset:0;border:0 solid #04070c;border-radius:inherit;
  box-shadow:inset 0 0 0 0 rgba(255,255,255,.06);
}
.portal-window-camera{
  position:absolute;z-index:2;left:50%;top:17px;translate:-50% 0;width:0;height:0;border-radius:99px;background:#010206;
  transition:width .2s,height .2s;
}
.phone-portal-sticky:has(.portal-phone-window[style*="scale(0."]) .portal-phone-window{
  border:18px solid #02050a;box-shadow:0 0 0 200vmax #02050a,0 45px 130px rgba(0,0,0,.52);
}
.phone-portal-sticky:has(.portal-phone-window[style*="scale(0."]) .portal-window-camera{
  width:92px;height:25px;
}
.portal-copy{
  position:absolute;z-index:30;left:max(34px,calc((100vw - 1220px)/2));top:50%;translate:0 -50%;
  width:min(500px,40vw);height:300px;pointer-events:none;
}
.portal-copy-step{
  position:absolute;inset:0;opacity:0;transform:translateY(30px);filter:blur(8px);
  transition:.45s cubic-bezier(.2,.8,.2,1);
}
.portal-copy-step.is-active{opacity:1;transform:none;filter:none}
.portal-copy-step>span{display:block;color:#63c6ff;font-size:9px;font-weight:900;letter-spacing:.17em;margin-bottom:14px}
.portal-copy-step h2{font-size:clamp(42px,5vw,76px);line-height:.94;letter-spacing:-.06em;margin:0 0 20px;color:#fff}
.portal-copy-step h2 em{font-style:normal;color:#52bcff}
.portal-copy-step p{max-width:430px;color:#9cadc1;font-size:13px;line-height:1.7}
.portal-progress{
  position:absolute;z-index:31;right:32px;top:50%;translate:0 -50%;
  display:flex;align-items:center;gap:11px;writing-mode:vertical-rl;
}
.portal-progress-line{height:140px;width:2px;background:rgba(255,255,255,.12);overflow:hidden;border-radius:99px}
.portal-progress-line i{display:block;width:100%;height:100%;background:linear-gradient(#4ec5ff,#7068ff);transform:scaleX(0);transform-origin:top}
.portal-progress span{font-size:7px;color:#627185;letter-spacing:.25em;font-weight:900}

@media(max-width:900px){
  .phone-portal{height:430vh}
  .portal-copy{left:20px;right:20px;top:17%;translate:0 0;width:auto;height:190px}
  .portal-copy-step h2{font-size:clamp(35px,10vw,54px)}
  .portal-copy-step p{font-size:11px;max-width:84%}
  .portal-stand{width:180px;height:250px;margin-left:-90px;bottom:9%;padding:28px 12px 12px}
  .portal-google-g{font-size:34px}.portal-stand-title{font-size:19px}.portal-stand-stars{font-size:10px;letter-spacing:3px;margin-top:11px}.portal-nfc-mark{font-size:10px;margin-top:17px}
  .portal-hand-phone{width:145px;height:290px;margin-left:20px;bottom:10%}
  .portal-phone-frame{border-radius:30px;padding:6px}.portal-phone-ui{border-radius:24px}.portal-phone-speaker{width:48px;height:13px}
  .portal-review-stars{font-size:15px}.portal-progress{right:10px}
}
@media(max-width:560px){
  .phone-portal{height:390vh}
  .portal-copy{top:13%;height:180px}
  .portal-copy-step h2{font-size:36px}
  .portal-world{top:80px}
  .portal-stand{left:43%;bottom:10%}
  .portal-hand-phone{left:41%;margin-left:8px}
  .portal-progress{display:none}
}


/* =========================================================
   V89 · FULL DARK TAPREVIEW PUBLIC SITE
   Keeps the V81 immersive NFC animation intact.
   ========================================================= */
.public-dark-v89{
  --v89-bg:#06101b;
  --v89-bg2:#081523;
  --v89-panel:#0b1a2b;
  --v89-panel2:#0e2034;
  --v89-line:rgba(117,174,220,.14);
  --v89-text:#f7fbff;
  --v89-muted:#9fb0c4;
  --v89-blue:#159cff;
  --v89-blue2:#6c5fff;
  background:var(--v89-bg)!important;
  color:var(--v89-text)!important;
}
.public-dark-v89 .site-header{
  background:linear-gradient(180deg,rgba(6,16,27,.96),rgba(6,16,27,.76))!important;
  border-bottom:1px solid rgba(255,255,255,.05)!important;
  backdrop-filter:blur(18px) saturate(1.15)!important;
}
.public-dark-v89 .brand img{filter:brightness(0) invert(1)}
.public-dark-v89 .main-nav a{color:#d5e2ef!important}
.public-dark-v89 .main-nav a:hover{color:#fff!important}
.public-dark-v89 .affiliate-public-link{
  color:#fff!important;
  background:rgba(255,255,255,.05)!important;
  border-color:rgba(255,255,255,.10)!important;
}
.public-dark-v89 .btn-primary{
  background:linear-gradient(135deg,var(--v89-blue),var(--v89-blue2))!important;
  box-shadow:0 14px 34px rgba(21,156,255,.22)!important;
}
.public-dark-v89 .btn-outline{
  color:#fff!important;
  border-color:rgba(120,175,220,.22)!important;
  background:rgba(255,255,255,.025)!important;
}
.public-dark-v89 .hero{
  background:
    radial-gradient(circle at 72% 36%,rgba(34,171,255,.16),transparent 30%),
    radial-gradient(circle at 15% 85%,rgba(103,88,255,.10),transparent 27%),
    linear-gradient(180deg,#06101b,#07121f)!important;
  color:#fff!important;
}
.public-dark-v89 .hero:before{
  opacity:.75!important;
}
.public-dark-v89 .hero h1{
  color:#fff!important;
}
.public-dark-v89 .hero h1 span{
  background:linear-gradient(90deg,#119cff,#38b7ff,#6d61ff)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
}
.public-dark-v89 .hero-lead{color:#b6c4d5!important}
.public-dark-v89 .hero-lead strong{color:#2db4ff!important}
.public-dark-v89 .hero-benefits .benefit{
  background:rgba(7,24,42,.62)!important;
  border:1px solid rgba(80,155,220,.10)!important;
  border-radius:14px!important;
  padding:10px 12px!important;
}
.public-dark-v89 .hero-benefits b{color:#fff!important}
.public-dark-v89 .hero-benefits small{color:#8195aa!important}
.public-dark-v89 .trust-strip{
  background:#07121f!important;
  border-top:1px solid rgba(255,255,255,.05)!important;
  border-bottom:1px solid rgba(255,255,255,.05)!important;
}
.public-dark-v89 .trust-grid>div{border-color:rgba(255,255,255,.06)!important}
.public-dark-v89 .trust-grid strong{color:#fff!important}
.public-dark-v89 .trust-grid span{color:#8295aa!important}

/* All standard sections now share the dark product language */
.public-dark-v89 .section,
.public-dark-v89 .section-soft,
.public-dark-v89 .affiliates-section,
.public-dark-v89 .contact-section{
  background:
    radial-gradient(circle at 78% 20%,rgba(25,145,240,.06),transparent 30%),
    linear-gradient(180deg,#07121f,#06101b)!important;
  color:#fff!important;
  border-top:1px solid rgba(255,255,255,.045);
}
.public-dark-v89 .section-soft{
  background:
    radial-gradient(circle at 20% 80%,rgba(103,88,255,.06),transparent 28%),
    #07121f!important;
}
.public-dark-v89 .section-head h2{color:#fff!important}
.public-dark-v89 .section-head h2 span{color:#1fa8ff!important}
.public-dark-v89 .section-head p{color:#98aabd!important}
.public-dark-v89 .section-kicker{color:#39bdff!important}

/* Product block */
.public-dark-v89 .product-card,
.public-dark-v89 .mini-benefits article,
.public-dark-v89 .steps article,
.public-dark-v89 .price-card,
.public-dark-v89 .affiliate-chip,
.public-dark-v89 .panel,
.public-dark-v89 .faq-item,
.public-dark-v89 details{
  background:linear-gradient(145deg,#0c1b2d,#081421)!important;
  border:1px solid rgba(70,145,205,.14)!important;
  box-shadow:0 16px 42px rgba(0,0,0,.16)!important;
  color:#fff!important;
}
.public-dark-v89 .product-card.featured{
  background:
    radial-gradient(circle at 75% 28%,rgba(25,155,255,.12),transparent 28%),
    linear-gradient(145deg,#0d1d30,#081421)!important;
}
.public-dark-v89 .product-card p,
.public-dark-v89 .mini-benefits p,
.public-dark-v89 .steps p,
.public-dark-v89 .price-card p,
.public-dark-v89 .price-card li,
.public-dark-v89 details p{
  color:#9eafc1!important;
}
.public-dark-v89 .product-card h3,
.public-dark-v89 .mini-benefits h3,
.public-dark-v89 .steps h3,
.public-dark-v89 .price-card h3{
  color:#fff!important;
}
.public-dark-v89 .badge,
.public-dark-v89 .popular-badge{
  background:#118fff!important;
  color:#fff!important;
}
.public-dark-v89 .device-mock{
  background:
    radial-gradient(circle at 35% 20%,rgba(255,255,255,.10),transparent 26%),
    linear-gradient(145deg,#242a34,#080b10 70%)!important;
  box-shadow:0 34px 80px rgba(0,0,0,.40)!important;
}

/* How it works becomes visual cards like the approved design */
.public-dark-v89 .steps{
  gap:14px!important;
}
.public-dark-v89 .steps article{
  min-height:220px!important;
  border-radius:18px!important;
  padding:22px!important;
  position:relative!important;
  overflow:hidden!important;
}
.public-dark-v89 .steps article:before{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(circle at 80% 20%,rgba(35,166,255,.10),transparent 34%);
  pointer-events:none;
}
.public-dark-v89 .step-num{
  background:linear-gradient(135deg,#0e8fff,#655fff)!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(22,143,244,.20)!important;
}

/* Stats strip */
.v89-stats-strip{
  padding:18px 0;
  background:#07121f;
  border-top:1px solid rgba(255,255,255,.05);
  border-bottom:1px solid rgba(255,255,255,.05);
}
.v89-stats-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.v89-stats-grid>div{
  display:grid;
  grid-template-columns:44px 1fr;
  align-items:center;
  column-gap:10px;
  padding:18px 16px;
  background:#081625;
  border:1px solid rgba(70,145,205,.12);
  border-radius:14px;
}
.v89-stats-grid span{
  grid-row:1/3;
  width:40px;height:40px;border-radius:50%;
  display:grid;place-items:center;
  background:#0a294a;
  color:#24aaff;
  font-weight:900;
}
.v89-stats-grid strong{font-size:22px;color:#5fc8ff}
.v89-stats-grid small{font-size:8px;color:#91a3b6}

/* Testimonials */
.v89-testimonials{
  background:#06101b!important;
}
.v89-testimonials .section-head{
  text-align:left!important;
  max-width:520px!important;
  margin-left:0!important;
}
.v89-testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.v89-testimonial-grid article{
  padding:20px;
  background:linear-gradient(145deg,#0b1b2c,#08131f);
  border:1px solid rgba(70,145,205,.14);
  border-radius:16px;
}
.v89-testimonial-grid b{display:block;color:#fff;font-size:12px}
.v89-testimonial-grid div{color:#ffc21a;letter-spacing:3px;margin:8px 0}
.v89-testimonial-grid p{color:#c3cfdb!important;line-height:1.55;font-size:11px}
.v89-testimonial-grid small{color:#6f8296;font-size:8px}

/* Pricing */
.public-dark-v89 .pricing-grid{
  gap:16px!important;
}
.public-dark-v89 .price-card{
  border-radius:18px!important;
}
.public-dark-v89 .price-card.popular{
  border-color:#159cff!important;
  box-shadow:0 0 0 1px rgba(21,156,255,.18),0 22px 50px rgba(17,129,226,.12)!important;
}
.public-dark-v89 .price-value{color:#fff!important}

/* Affiliates */
.public-dark-v89 .affiliates-section{
  background:
    radial-gradient(circle at 70% 35%,rgba(25,157,255,.08),transparent 28%),
    #06101b!important;
}
.public-dark-v89 #affiliate-map{
  filter:saturate(.72) brightness(.68) hue-rotate(170deg)!important;
  border-radius:18px!important;
}
.public-dark-v89 .affiliate-chip{
  color:#fff!important;
}
.public-dark-v89 .affiliate-chip span{color:#8fa1b5!important}

/* FAQ */
.public-dark-v89 details{
  border-radius:12px!important;
}
.public-dark-v89 summary{color:#fff!important}

/* CTA and footer */
.v89-contact-section{
  background:linear-gradient(90deg,#09182a,#0d2138)!important;
}
.public-dark-v89 footer{
  background:#040a11!important;
  color:#7e90a3!important;
  border-top:1px solid rgba(255,255,255,.05)!important;
}

/* keep V81 immersive phone portal untouched visually, only blend edges */
.public-dark-v89 .phone-portal{
  border-top:1px solid rgba(255,255,255,.05)!important;
  border-bottom:1px solid rgba(255,255,255,.05)!important;
  box-shadow:inset 0 50px 100px rgba(0,0,0,.18),inset 0 -50px 100px rgba(0,0,0,.18)!important;
}
.public-dark-v89 .cinematic-story{
  border-top:0!important;
}

/* finer page density, matching approved visual */
.public-dark-v89 .section{
  padding-top:72px!important;
  padding-bottom:72px!important;
}
.public-dark-v89 .section-head{
  margin-bottom:34px!important;
}
.public-dark-v89 .section-head h2{
  font-size:clamp(38px,4vw,60px)!important;
  line-height:.98!important;
  letter-spacing:-.05em!important;
}

@media(max-width:900px){
  .v89-stats-grid{grid-template-columns:1fr 1fr}
  .v89-testimonial-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .v89-stats-grid{grid-template-columns:1fr}
}

/* V90: removed obsolete Effetto TapReview block */
.public-dark-v89 .impact-section{display:none!important;}


/* =========================================================
   V91 · HERO PHOTO AS BACKGROUND
   The existing product photo is no longer a floating card/image:
   it becomes part of the hero environment and fades into the site.
   ========================================================= */
.public-dark-v89 .hero{
  overflow:hidden!important;
}
.public-dark-v89 .hero-grid{
  grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr)!important;
  gap:0!important;
}
.public-dark-v89 .hero-copy{
  position:relative;
  z-index:5;
  padding-right:22px!important;
}
.v91-hero-scene{
  position:relative!important;
  width:100%!important;
  min-height:620px!important;
  height:100%!important;
  overflow:visible!important;
  display:block!important;
  perspective:none!important;
  transform:none!important;
}
.v91-hero-photo{
  position:absolute;
  z-index:1;
  top:3%;
  right:-7%;
  bottom:0;
  left:-12%;
  background-image:url("/static/marketing/hero-product.webp");
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  filter:saturate(.82) contrast(1.03) brightness(.72);
  transform:scale(1.04);
  -webkit-mask-image:
    radial-gradient(ellipse 88% 93% at 60% 50%,#000 52%,rgba(0,0,0,.78) 66%,transparent 96%);
  mask-image:
    radial-gradient(ellipse 88% 93% at 60% 50%,#000 52%,rgba(0,0,0,.78) 66%,transparent 96%);
}
.v91-hero-overlay{
  position:absolute;
  z-index:2;
  inset:-3% -8% 0 -18%;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      #06101b 0%,
      rgba(6,16,27,.98) 6%,
      rgba(6,16,27,.74) 18%,
      rgba(6,16,27,.16) 42%,
      rgba(6,16,27,.06) 70%,
      rgba(6,16,27,.45) 100%),
    linear-gradient(180deg,
      rgba(6,16,27,.50) 0%,
      transparent 18%,
      transparent 72%,
      #06101b 100%);
}
.v91-hero-glow{
  position:absolute;
  z-index:0;
  width:70%;
  aspect-ratio:1;
  right:7%;
  top:13%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(26,155,255,.28),rgba(73,91,255,.10) 43%,transparent 70%);
  filter:blur(42px);
}
.v91-hero-caption{
  position:absolute;
  z-index:4;
  right:8%;
  bottom:10%;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 13px;
  border-radius:14px;
  background:rgba(4,13,23,.58);
  border:1px solid rgba(104,182,240,.13);
  backdrop-filter:blur(16px);
  box-shadow:0 14px 34px rgba(0,0,0,.22);
}
.v91-hero-caption b,
.v91-hero-caption small{
  display:block;
}
.v91-hero-caption b{
  font-size:9px;
  color:#fff;
}
.v91-hero-caption small{
  margin-top:2px;
  font-size:7px;
  color:#8da2b7;
}
.v91-live-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#29c98c;
  box-shadow:0 0 0 6px rgba(41,201,140,.10);
}
@media(max-width:1100px){
  .public-dark-v89 .hero-grid{
    grid-template-columns:1fr .9fr!important;
  }
  .v91-hero-scene{
    min-height:540px!important;
  }
  .v91-hero-photo{
    right:-15%;
    left:-10%;
    background-position:58% center;
  }
}
@media(max-width:900px){
  .public-dark-v89 .hero-grid{
    grid-template-columns:1fr!important;
  }
  .public-dark-v89 .hero-copy{
    padding-right:0!important;
  }
  .v91-hero-scene{
    min-height:380px!important;
    height:42svh!important;
    margin-top:-8px;
  }
  .v91-hero-photo{
    top:0;
    right:-8%;
    left:-8%;
    background-position:center 44%;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 14%,#000 78%,transparent 100%);
    mask-image:linear-gradient(to bottom,transparent 0%,#000 14%,#000 78%,transparent 100%);
  }
  .v91-hero-overlay{
    inset:0 -8%;
    background:linear-gradient(180deg,#06101b 0%,transparent 18%,transparent 70%,#06101b 100%);
  }
  .v91-hero-caption{
    right:6%;
    bottom:12%;
  }
}


/* =========================================================
   V95.8 · MENU & ORDERS + PERFORMANCE REFRESH
   ========================================================= */

/* Prevent "empty/white" frames during fast scrolling:
   content remains paintable while reveal motion stays subtle. */
.cinematic-reveal{
  opacity:1 !important;
  filter:none !important;
  transform:translate3d(0,12px,0) scale(.996);
  transition:transform .52s cubic-bezier(.2,.8,.2,1) var(--reveal-delay,0ms);
}
.cinematic-reveal.is-visible{opacity:1!important;filter:none!important;transform:translate3d(0,0,0) scale(1)}

/* Large fixed blur/noise layers are expensive during fast scroll. */
.immersive-noise{display:none!important}
.immersive-orb{filter:blur(44px);animation:none!important;opacity:.24}
.immersive-cursor-glow{filter:none;width:360px;height:360px}
.public-cinematic-home .product-card,
.public-cinematic-home .price-card,
.public-cinematic-home .mini-benefits article,
.public-cinematic-home .steps article{backdrop-filter:none!important}

/* Make long scroll scenes easier for the compositor. */
.phone-portal{height:420vh}
.phone-portal-sticky,.portal-world,.portal-phone-window,
.cinematic-story-stage,.cinematic-device-scene{
  transform:translateZ(0);
  backface-visibility:hidden;
}
.portal-world{will-change:transform}
.portal-room-light{filter:blur(12px)}
.cinematic-story{height:300vh}

/* Restaurant / QR-NFC ordering showcase */
.orders-showcase{
  position:relative;
  padding:105px 0;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 78% 40%,rgba(22,153,255,.17),transparent 30%),
    radial-gradient(circle at 92% 85%,rgba(104,91,255,.14),transparent 26%),
    linear-gradient(145deg,#06101c,#09182a 60%,#07111e);
}
.orders-showcase:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.32;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to right,#000,transparent 82%);
}
.orders-showcase-shell{
  position:relative;z-index:2;
  display:grid;grid-template-columns:.86fr 1.14fr;gap:64px;align-items:center;
}
.orders-copy h2{
  margin:10px 0 20px;
  font-size:clamp(42px,4.9vw,72px);line-height:.96;letter-spacing:-.055em;
}
.orders-copy h2 span{
  background:linear-gradient(90deg,#42c8ff,#5e8fff 60%,#8c79ff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.orders-copy>p{max-width:590px;color:#a7b7ca;font-size:14px;line-height:1.75}
.orders-flow{display:grid;gap:9px;margin:28px 0}
.orders-flow>div{
  display:grid;grid-template-columns:34px 1fr;gap:1px 11px;align-items:center;
  padding:12px 14px;border-radius:13px;
  border:1px solid rgba(255,255,255,.075);
  background:rgba(255,255,255,.035);
}
.orders-flow i{
  grid-row:1/3;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;
  font-style:normal;font-size:8px;font-weight:900;color:#68cfff;background:rgba(39,161,255,.12);
}
.orders-flow b{font-size:11px}.orders-flow small{font-size:9px;color:#7f91a7;margin-top:2px}
.orders-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:26px}
.orders-addon-note{font-size:9px;color:#8497ac;max-width:250px;line-height:1.5}

.orders-demo{position:relative;height:540px;perspective:1200px}
.orders-table-tag,.orders-phone,.orders-kitchen-ticket{
  position:absolute;will-change:transform;
}
.orders-table-tag{
  left:2%;top:26%;width:168px;height:206px;border-radius:20px;padding:20px 18px;
  background:linear-gradient(150deg,#252d38,#080b10 68%);
  border:1px solid rgba(255,255,255,.11);
  box-shadow:0 28px 70px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.025);
  transform:rotateY(13deg) rotateX(3deg);
}
.orders-table-tag b,.orders-table-tag small{display:block}.orders-table-tag b{font-size:16px;margin-top:14px}.orders-table-tag small{font-size:8px;color:#8193a8;margin-top:3px}
.orders-nfc-rings{font-size:19px;color:#56c7ff;letter-spacing:-3px}
.orders-qr{position:absolute;left:18px;bottom:18px;width:54px;height:54px;padding:5px;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;background:#fff;border-radius:7px}
.orders-qr i{background:#0b1624;border-radius:1px}.orders-qr i:nth-child(2),.orders-qr i:nth-child(4),.orders-qr i:nth-child(8){background:#fff}

.orders-phone{
  z-index:5;left:31%;top:4%;width:220px;height:454px;padding:7px;border-radius:39px;
  background:linear-gradient(145deg,#27313d,#04070b 65%);
  box-shadow:0 48px 100px rgba(0,0,0,.42),0 0 70px rgba(31,153,255,.08);
  transform:rotate(-5deg);
  animation:ordersPhoneFloat 5s ease-in-out infinite alternate;
}
.orders-phone-notch{position:absolute;z-index:4;top:13px;left:50%;translate:-50% 0;width:66px;height:17px;border-radius:16px;background:#05080d}
.orders-phone-screen{height:100%;border-radius:33px;padding:42px 13px 15px;background:linear-gradient(180deg,#f8fbff,#eaf4ff);color:#102033;overflow:hidden}
.orders-phone-top{display:flex;justify-content:space-between;align-items:center;font-size:8px;color:#168df5;font-weight:900}
.orders-phone-top b{color:#52657a}.orders-menu-title{font-size:24px;font-weight:900;letter-spacing:-.045em;margin:22px 0 10px}
.orders-menu-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:10px 0;border-top:1px solid #dce8f3}
.orders-menu-row>span{width:28px;height:28px;border-radius:9px;background:#fff;display:grid;place-items:center;font-size:15px}
.orders-menu-row b,.orders-menu-row small{display:block}.orders-menu-row b{font-size:10px}.orders-menu-row small{font-size:7px;color:#8291a2;margin-top:2px}.orders-menu-row strong{font-size:9px}
.orders-phone-total{display:flex;justify-content:space-between;margin-top:10px;padding-top:11px;border-top:1px solid #dce8f3;font-size:10px}
.orders-phone-total b{font-size:14px}.orders-phone-button{margin-top:12px;border-radius:10px;padding:11px;text-align:center;background:linear-gradient(135deg,#138ef7,#665fff);color:#fff;font-size:9px;font-weight:900}

.orders-signal{position:absolute;z-index:3;left:57%;top:42%;width:90px;height:90px}
.orders-signal span{position:absolute;inset:0;border:1px solid rgba(66,195,255,.35);border-radius:50%;animation:ordersSignal 2.2s ease-out infinite}
.orders-signal span:nth-child(2){animation-delay:.6s}.orders-signal span:nth-child(3){animation-delay:1.2s}

.orders-kitchen-ticket{
  z-index:4;right:0;top:19%;width:245px;padding:17px;border-radius:17px;
  background:#fff;color:#152234;border:1px solid rgba(255,255,255,.65);
  box-shadow:0 32px 85px rgba(0,0,0,.30);
  transform:rotate(4deg);
  animation:ordersTicketFloat 5.8s ease-in-out infinite alternate;
}
.orders-kitchen-ticket header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:12px;border-bottom:1px dashed #dce3ea}
.orders-kitchen-ticket header small,.orders-kitchen-ticket header b{display:block}.orders-kitchen-ticket header small{font-size:7px;color:#168df5;font-weight:900}.orders-kitchen-ticket header b{font-size:19px;margin-top:2px}.orders-kitchen-ticket header>span{font-size:8px;color:#8593a3}
.orders-kitchen-ticket>div:not(.orders-ticket-status){display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #eef2f5;font-size:9px}
.orders-kitchen-ticket footer{display:flex;justify-content:space-between;padding-top:11px}.orders-kitchen-ticket footer span{font-size:9px;color:#758498}.orders-kitchen-ticket footer b{font-size:16px}
.orders-ticket-status{margin-top:13px!important;padding:8px 10px!important;border:0!important;border-radius:9px;background:#e9f8f0;color:#168550;font-size:8px!important;font-weight:900;justify-content:flex-start!important;gap:6px!important}
.orders-ticket-status i{width:6px;height:6px;border-radius:50%;background:#21b66f;box-shadow:0 0 0 4px rgba(33,182,111,.11)}
@keyframes ordersPhoneFloat{to{transform:translateY(-9px) rotate(-3.8deg)}}
@keyframes ordersTicketFloat{to{transform:translateY(8px) rotate(2.5deg)}}
@keyframes ordersSignal{0%{transform:scale(.25);opacity:.8}90%,100%{transform:scale(1.25);opacity:0}}

@media(max-width:980px){
  .orders-showcase-shell{grid-template-columns:1fr;gap:34px}
  .orders-demo{max-width:700px;width:100%;margin:auto}
}
@media(max-width:640px){
  .orders-showcase{padding:70px 0}
  .orders-copy h2{font-size:40px}
  .orders-demo{height:500px;scale:.88;transform-origin:top center;margin-bottom:-55px}
  .orders-table-tag{left:-4%;top:33%;width:145px}
  .orders-phone{left:24%;width:195px;height:415px}
  .orders-kitchen-ticket{right:-5%;width:205px;top:24%}
  .orders-signal{left:53%}
}
@media(prefers-reduced-motion:reduce){
  .orders-phone,.orders-kitchen-ticket,.orders-signal span{animation:none!important}
}

/* keep the page surface available even when scrolling faster than observers */
.public-cinematic-home .section,
.public-cinematic-home .trust-strip,
.public-cinematic-home .premium-strip,
.public-cinematic-home .orders-showcase{
  min-height:1px;
}


/* =========================================================
   V96.0 · SOCIAL CINEMATIC STORY
   Same scroll choreography, adapted to Instagram/Facebook.
   ========================================================= */
.social-cinematic-story{
  background:
    radial-gradient(circle at 73% 38%,rgba(190,45,165,.11),transparent 24%),
    radial-gradient(circle at 87% 55%,rgba(24,119,242,.14),transparent 27%),
    linear-gradient(180deg,#081423 0%,#071321 100%);
}
.social-cinematic-story .section-kicker{color:#42c4ff}
.social-cinematic-story .cinematic-story-step h2 span{
  background:linear-gradient(90deg,#49c4ff,#4aa9ff 45%,#7c78ff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.social-story-cta{
  display:inline-flex;align-items:center;gap:10px;margin-top:19px;
  padding:10px 15px;border-radius:999px;text-decoration:none;
  border:1px solid rgba(80,192,255,.58);color:#eaf7ff;
  font-size:9px;font-weight:900;
  background:linear-gradient(90deg,rgba(28,150,244,.09),rgba(130,83,255,.08));
  transition:.2s ease;
}
.social-story-cta:hover{transform:translateY(-2px);border-color:#68cfff;box-shadow:0 9px 30px rgba(46,163,255,.12)}

.social-device-scene{perspective:1300px}
.social-scene-light{
  background:
    radial-gradient(circle at 43% 35%,rgba(210,52,180,.15),transparent 24%),
    radial-gradient(circle at 76% 55%,rgba(28,125,245,.18),transparent 30%);
  filter:none;
}

.social-scene-phone{
  left:18%;top:8%;width:200px;height:405px;padding:7px;
  border-radius:38px;
  background:linear-gradient(145deg,#3f2b48,#080911 74%);
  box-shadow:
    0 42px 76px rgba(0,0,0,.42),
    0 0 35px rgba(221,54,182,.12),
    inset 0 0 0 1px rgba(255,255,255,.18);
}
.social-scene-phone:before{
  content:"";position:absolute;inset:-2px;border-radius:40px;z-index:-1;opacity:.72;
  background:linear-gradient(145deg,#ff4bc2,#784cff 52%,#358cff);
  filter:blur(4px);
}
.social-phone-screen{
  position:relative;overflow:hidden;padding:18px 10px 10px;
  background:linear-gradient(180deg,#fff,#f5f7fb);color:#141c29;
}
.social-phone-screen:before{
  content:"";position:absolute;left:50%;top:8px;translate:-50% 0;width:62px;height:14px;
  border-radius:99px;background:#090d13;
}
.social-phone-appbar{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;
  margin-top:18px;padding-bottom:9px;border-bottom:1px solid #edf0f4;
}
.social-phone-appbar b{font-size:10px}.social-phone-appbar i{font-style:normal;font-size:8px;color:#7d8998}
.social-mini-logo{width:20px;height:20px;border-radius:7px;display:grid;place-items:center;font-weight:900}
.instagram-mini{color:#fff;background:linear-gradient(135deg,#ff9943,#f12a9b 48%,#665cff)}

.social-profile-head{
  display:grid;grid-template-columns:44px repeat(3,1fr);gap:6px;align-items:center;margin-top:13px;text-align:center;
}
.social-avatar{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  color:#fff;font-size:10px;font-weight:900;
  background:linear-gradient(145deg,#ffb14c,#ea398d 50%,#7359ff);
  border:2px solid #fff;box-shadow:0 0 0 2px #ee55a6;
}
.social-profile-head strong,.social-profile-head small{display:block}
.social-profile-head strong{font-size:9px}.social-profile-head small{font-size:5px;color:#7a8795;margin-top:2px}
.social-profile-name{margin-top:12px}.social-profile-name b,.social-profile-name span{display:block}
.social-profile-name b{font-size:9px}.social-profile-name span{font-size:6px;color:#798797;margin-top:3px}
.social-follow-button{
  margin-top:9px;padding:7px 8px;border-radius:7px;text-align:center;
  background:#168df5;color:#fff;font-size:7px;font-weight:900;
}
.social-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:10px}
.social-post-grid i{
  display:block;aspect-ratio:1;border-radius:3px;background-size:cover;
  background-position:center;
}
.post-a{background:linear-gradient(135deg,#cc8353,#f1c189)!important}
.post-b{background:linear-gradient(135deg,#3c4b58,#cab49d)!important}
.post-c{background:linear-gradient(135deg,#c24d45,#efd7b4)!important}
.post-d{background:linear-gradient(135deg,#677941,#d8c18a)!important}
.post-e{background:linear-gradient(135deg,#8b5d43,#e2c79c)!important}
.post-f{background:linear-gradient(135deg,#465765,#dcb672)!important}

.social-scene-stand{
  right:5%;bottom:8%;width:255px;height:350px;padding:27px 20px 20px;align-items:stretch;text-align:left;
  background:linear-gradient(155deg,#222833,#090c12 72%);
}
.social-scene-stand:before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(145deg,rgba(255,255,255,.075),transparent 28%);
}
.social-stand-brand{font-size:13px;font-weight:900;color:#fff}.social-stand-brand span{color:#36aaff}
.social-stand-kicker{margin:5px 0 23px!important;color:#78889a!important;font-size:7px!important;letter-spacing:.14em}
.social-platform-row{
  display:grid;grid-template-columns:42px 1fr;gap:11px;align-items:center;
  padding:11px 0;border-top:1px solid rgba(255,255,255,.08);
}
.social-platform-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:20px;font-weight:900;color:#fff}
.instagram-icon{background:linear-gradient(135deg,#ffae3d,#f12891 48%,#694eff)}
.facebook-icon{background:#1877f2}
.social-platform-row b,.social-platform-row small{display:block}
.social-platform-row b{font-size:11px}.social-platform-row small{font-size:7px;color:#7e90a4;margin-top:2px}
.social-stand-nfc{
  margin-top:auto;padding-top:15px;border-top:1px solid rgba(255,255,255,.08);
  color:#57c8ff;font-size:12px;font-weight:900;letter-spacing:1px;
}
.social-stand-nfc span{font-size:7px;color:#92a4b8;margin-left:6px}

.social-facebook-card{
  position:absolute;z-index:3;right:0;top:13%;width:180px;padding:9px;border-radius:20px;
  background:#fff;color:#172033;box-shadow:0 30px 65px rgba(0,0,0,.32);
  transform:translate3d(30px,0,0) rotate(6deg);
  border:1px solid rgba(80,150,240,.18);
  animation:socialFacebookFloat 4.8s ease-in-out infinite alternate;
}
.facebook-card-top{display:flex;align-items:center;gap:6px;padding:3px 4px 8px;border-bottom:1px solid #eef1f4}
.facebook-card-top b{font-size:8px;color:#1877f2}.facebook-card-top .facebook-icon{width:18px;height:18px;font-size:12px;border-radius:6px;display:grid;place-items:center;background:#1877f2;color:#fff}
.facebook-cover{height:58px;margin-top:7px;border-radius:10px;background:linear-gradient(135deg,#d1aa78,#475b67 55%,#17212d)}
.facebook-business{display:grid;grid-template-columns:34px 1fr;gap:7px;align-items:center;margin-top:8px}
.facebook-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#142f4b;color:#fff;font-size:8px;font-weight:900}
.facebook-business b,.facebook-business small{display:block}.facebook-business b{font-size:8px}.facebook-business small{font-size:5px;color:#7b8795;margin-top:2px}
.facebook-like-button{margin-top:8px;padding:6px;border-radius:7px;text-align:center;background:#1877f2;color:#fff;font-size:6px;font-weight:900}

.social-float-badge{
  position:absolute;z-index:10;display:flex;align-items:center;gap:7px;padding:9px 11px;border-radius:11px;
  background:rgba(10,18,30,.88);border:1px solid rgba(255,255,255,.12);
  box-shadow:0 12px 35px rgba(0,0,0,.24);backdrop-filter:blur(10px);
  opacity:.88;
}
.social-float-badge span{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-size:8px;font-weight:900}
.social-float-badge b{font-size:8px}
.badge-followers{left:7%;bottom:16%}.badge-followers span{background:#e53b8d;color:#fff}
.badge-visibility{right:0;bottom:18%}.badge-visibility span{background:#1877f2;color:#fff}

.social-scene-success{
  right:14%;top:4%;background:rgba(21,142,247,.14);border-color:rgba(83,184,255,.28);color:#8ed6ff;
}
.social-device-scene.is-success .social-follow-button{
  animation:socialFollowGlow 1.6s ease-in-out infinite alternate;
}
@keyframes socialFollowGlow{to{box-shadow:0 0 0 5px rgba(22,141,245,.11),0 8px 25px rgba(22,141,245,.2)}}
@keyframes socialFacebookFloat{to{transform:translate3d(22px,8px,0) rotate(4deg)}}

@media(max-width:900px){
  .social-scene-phone{width:128px;height:258px;left:7%;top:10%;border-radius:25px}
  .social-phone-screen{border-radius:18px;padding:9px 6px 6px}
  .social-phone-screen:before{width:41px;height:9px;top:5px}
  .social-phone-appbar{margin-top:11px;padding-bottom:5px}.social-phone-appbar b{font-size:7px}
  .social-profile-head{grid-template-columns:28px repeat(3,1fr);gap:3px;margin-top:7px}.social-avatar{width:27px;height:27px;font-size:6px}
  .social-profile-head strong{font-size:6px}.social-profile-head small{font-size:3.5px}
  .social-profile-name{margin-top:6px}.social-profile-name b{font-size:6px}.social-profile-name span{font-size:4px}
  .social-follow-button{margin-top:5px;padding:4px;font-size:5px}.social-post-grid{margin-top:6px;gap:2px}
  .social-scene-stand{width:160px;height:225px;right:4%;bottom:5%;padding:15px 11px}
  .social-stand-brand{font-size:8px}.social-stand-kicker{margin:3px 0 10px!important;font-size:4px!important}
  .social-platform-row{grid-template-columns:28px 1fr;gap:6px;padding:6px 0}.social-platform-icon{width:27px;height:27px;border-radius:8px;font-size:13px}
  .social-platform-row b{font-size:7px}.social-platform-row small{font-size:4px}.social-stand-nfc{padding-top:7px;font-size:7px}.social-stand-nfc span{font-size:4px}
  .social-facebook-card{width:110px;right:1%;top:11%;padding:5px;border-radius:12px}.facebook-cover{height:34px}.facebook-business{grid-template-columns:21px 1fr;gap:4px}.facebook-avatar{width:21px;height:21px;font-size:5px}.facebook-like-button{font-size:4px;padding:4px}
  .social-float-badge{padding:5px 6px;gap:4px}.social-float-badge span{width:14px;height:14px;font-size:5px}.social-float-badge b{font-size:5px}
  .badge-followers{left:2%;bottom:13%}.badge-visibility{right:1%;bottom:14%}
}
@media(max-width:560px){
  .social-facebook-card{display:none}
  .badge-visibility{display:none}
}


/* =========================================================
   V96.4 · SAFE PERFORMANCE FIX
   Sticky scenes and their original heights are preserved.
   ========================================================= */

/* Never hide sections completely while waiting for IntersectionObserver. */
.cinematic-reveal{
  opacity:1!important;
  filter:none!important;
  transform:translate3d(0,8px,0)!important;
  transition:transform .38s cubic-bezier(.2,.8,.2,1)!important;
}
.cinematic-reveal.is-visible{
  opacity:1!important;
  filter:none!important;
  transform:translate3d(0,0,0)!important;
}

/* Expensive global visual effects removed, without touching sticky layout. */
.immersive-noise,
.immersive-cursor-glow{display:none!important}
.immersive-orb{animation:none!important;filter:blur(28px)!important;opacity:.16!important}

/* Keep major animated elements GPU-friendly but do not create paint containment. */
.phone-portal-sticky,
.cinematic-story-stage,
.portal-world,
.portal-phone-window,
.cinematic-device-scene{
  backface-visibility:hidden;
}
.portal-world,
.portal-hand-phone,
.portal-stand,
.scene-phone,
.scene-stand{
  will-change:transform;
}

/* Avoid expensive blur/backdrop passes during scroll. */
.portal-room-light,
.scene-light,
.social-scene-light,
.v91-hero-glow{
  filter:none!important;
}
.scene-success,
.social-float-badge{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Simplify only decorative infinite motion; scroll-driven motion remains unchanged. */
.orders-phone,
.orders-kitchen-ticket,
.social-facebook-card{
  animation:none!important;
}

/* Reduce repaint cost of large shadows. */
.scene-phone,
.scene-stand,
.social-facebook-card,
.orders-phone,
.orders-kitchen-ticket{
  box-shadow:0 18px 44px rgba(0,0,0,.28)!important;
}

html,body{overflow-x:hidden}


/* =========================================================
   V97 · SCROLL-DRIVEN VIDEO ENGINE
   Heavy DOM animation scenes replaced by scrubbed videos.
   ========================================================= */
.scroll-video-section{
  position:relative;
  height:260vh;
  background:#06111f;
  color:#fff;
}
.scroll-video-sticky{
  position:sticky;
  top:0;
  height:100vh;
  overflow:hidden;
  background:#06111f;
}
.scroll-video-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  background:#06111f;
  transform:translateZ(0);
}
.scroll-video-shade{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(4,13,24,.88) 0%,rgba(4,13,24,.52) 35%,rgba(4,13,24,.05) 67%,rgba(4,13,24,.14) 100%),
    linear-gradient(180deg,rgba(4,13,24,.18),transparent 30%,rgba(4,13,24,.30));
}
.scroll-video-ui{
  position:relative;
  z-index:3;
  width:min(1180px,calc(100% - 48px));
  height:100%;
  margin:auto;
  pointer-events:none;
}
.scroll-video-kicker{
  position:absolute;
  top:17%;
  left:0;
  color:#44c5ff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
}
.scroll-video-steps{
  position:absolute;
  left:0;
  top:28%;
  width:min(430px,42vw);
  min-height:210px;
}
.scroll-video-step{
  position:absolute;
  inset:0;
  opacity:0;
  transform:translate3d(0,18px,0);
  transition:opacity .22s linear,transform .28s ease;
}
.scroll-video-step.is-active{
  opacity:1;
  transform:translate3d(0,0,0);
}
.scroll-video-step small{
  display:block;
  margin-bottom:12px;
  color:#45c5ff;
  font-size:10px;
  font-weight:900;
}
.scroll-video-step b{
  display:block;
  max-width:420px;
  font-size:clamp(34px,4vw,58px);
  line-height:.98;
  letter-spacing:-.045em;
  color:#fff;
}
.scroll-video-step span{
  display:block;
  max-width:390px;
  margin-top:18px;
  color:#a8b8cb;
  font-size:13px;
  line-height:1.65;
}
.scroll-video-progress{
  position:absolute;
  left:0;
  bottom:14%;
  display:flex;
  gap:7px;
}
.scroll-video-progress i{
  width:24px;
  height:3px;
  border-radius:99px;
  background:rgba(255,255,255,.16);
  transition:width .18s ease,background .18s ease;
}
.scroll-video-progress i.is-active{
  width:44px;
  background:#3ec1ff;
}

/* Ensure regular content is always paintable during fast scrolling. */
.cinematic-reveal,
.cinematic-reveal.is-visible{
  opacity:1!important;
  filter:none!important;
}
.cinematic-reveal{
  transform:translate3d(0,8px,0)!important;
  transition:transform .32s ease!important;
}
.cinematic-reveal.is-visible{transform:none!important}

/* Disable decorative global effects that do not add to the scroll narrative. */
.immersive-noise,
.immersive-cursor-glow{display:none!important}
.immersive-orb{animation:none!important;filter:none!important;opacity:.10!important}

@media(max-width:900px){
  .scroll-video-section{height:220vh}
  .scroll-video-ui{width:calc(100% - 28px)}
  .scroll-video-kicker{top:12%}
  .scroll-video-steps{top:20%;width:75vw}
  .scroll-video-step b{font-size:clamp(30px,8vw,46px)}
  .scroll-video-step span{font-size:11px;max-width:75vw}
  .scroll-video-shade{
    background:linear-gradient(180deg,rgba(4,13,24,.84) 0%,rgba(4,13,24,.45) 46%,rgba(4,13,24,.18) 100%);
  }
}
@media(max-width:600px){
  .scroll-video-section{height:200vh}
  .scroll-video-media{object-position:center center}
  .scroll-video-steps{width:88vw}
  .scroll-video-step span{max-width:88vw}
  .scroll-video-progress{bottom:9%}
}
@media(prefers-reduced-motion:reduce){
  .scroll-video-section{height:100vh}
  .scroll-video-step{display:none}
  .scroll-video-step:first-child{display:block;opacity:1;transform:none}
}


/* =========================================================
   V97.1 · SAFE VIDEO LAYOUT
   No scroll-scrubbing, no sticky timelines, no overlapping layers.
   ========================================================= */

/* Disable all V97 scroll-video mechanics if any legacy classes remain. */
.scroll-video-section,
.scroll-video-sticky,
.scroll-video-ui,
.scroll-video-steps,
.scroll-video-progress{
  position:static!important;
  height:auto!important;
  min-height:0!important;
  inset:auto!important;
  transform:none!important;
}

/* Stable normal-flow video sections */
.simple-video-section{
  position:relative;
  padding:96px 0;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 42%,rgba(44,145,255,.14),transparent 28%),
    linear-gradient(145deg,#06101c,#091827 62%,#07111e);
  color:#fff;
}
.social-video-block{
  background:
    radial-gradient(circle at 78% 35%,rgba(223,49,177,.12),transparent 22%),
    radial-gradient(circle at 92% 62%,rgba(24,119,242,.15),transparent 26%),
    linear-gradient(145deg,#06101c,#0a1627 62%,#07111e);
}
.orders-video-block{
  background:
    radial-gradient(circle at 78% 40%,rgba(22,153,255,.16),transparent 28%),
    linear-gradient(145deg,#06101c,#09182a 60%,#07111e);
}
.simple-video-grid{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);
  align-items:center;
  gap:58px;
}
.simple-video-copy h2{
  margin:10px 0 18px;
  font-size:clamp(42px,4.8vw,70px);
  line-height:.98;
  letter-spacing:-.055em;
}
.simple-video-copy h2 span{
  background:linear-gradient(90deg,#44c7ff,#478fff 55%,#7a72ff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.simple-video-copy p{
  max-width:560px;
  color:#a5b6c9;
  font-size:14px;
  line-height:1.75;
  margin-bottom:24px;
}
.simple-video-card{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.10);
  background:#07111e;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
}
.simple-video-card:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);
  border-radius:inherit;
}
.simple-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  background:#07111e;
}

/* Existing page reveal must never hide sections. */
.cinematic-reveal,
.cinematic-reveal.is-visible{
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
}
.cinematic-reveal{
  transform:translate3d(0,6px,0)!important;
}
.cinematic-reveal.is-visible{
  transform:none!important;
}

/* Remove old heavy decorative layers globally. */
.immersive-noise,
.immersive-cursor-glow{display:none!important}
.immersive-orb{animation:none!important;filter:none!important;opacity:.08!important}

/* Normal scrolling: absolutely no long sticky spacer sections here. */
#demo-tapreview,
#esperienza,
#menu-orders{
  height:auto!important;
  min-height:0!important;
}

@media(max-width:980px){
  .simple-video-section{padding:72px 0}
  .simple-video-grid{
    grid-template-columns:1fr;
    gap:30px;
  }
  .simple-video-copy{max-width:720px}
  .simple-video-card{max-width:900px}
}
@media(max-width:640px){
  .simple-video-section{padding:58px 0}
  .simple-video-copy h2{font-size:38px}
  .simple-video-copy p{font-size:12px}
  .simple-video-card{
    border-radius:18px;
    aspect-ratio:16/10;
  }
}


/* =========================================================
   V97.2 · STABLE CENTERED VIDEO SECTIONS
   No sticky/scrub, posters always paint first, videos lazy-load.
   ========================================================= */
html,body{background:#07111e!important}
.public-cinematic-home{background:#07111e!important}
.public-cinematic-home main{background:#07111e!important}

.stable-video-section{
  position:relative;
  padding:84px 0 96px;
  background:
    radial-gradient(circle at 50% 35%,rgba(32,142,241,.10),transparent 34%),
    linear-gradient(180deg,#07111e 0%,#081421 100%);
  color:#fff;
  overflow:hidden;
}
.stable-social-section{
  background:
    radial-gradient(circle at 45% 30%,rgba(229,55,150,.10),transparent 24%),
    radial-gradient(circle at 63% 34%,rgba(24,119,242,.11),transparent 28%),
    linear-gradient(180deg,#07111e 0%,#091523 100%);
}
.stable-video-wrap{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.stable-video-copy{
  max-width:820px;
  margin:0 auto 34px;
}
.stable-video-copy h2{
  margin:10px 0 16px;
  font-size:clamp(40px,5vw,72px);
  line-height:.98;
  letter-spacing:-.055em;
}
.stable-video-copy h2 span{
  background:linear-gradient(90deg,#48c8ff,#4f99ff 52%,#8a76ff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.stable-video-copy p{
  max-width:700px;
  margin:0 auto 22px;
  color:#a8b8ca;
  font-size:14px;
  line-height:1.7;
}
.stable-video-frame{
  position:relative;
  width:min(980px,100%);
  aspect-ratio:16/9;
  margin:0 auto;
  border-radius:24px;
  overflow:hidden;
  background:#081421 var(--poster) center/cover no-repeat;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 22px 54px rgba(0,0,0,.28);
}
.stable-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  background:transparent;
}
.video-loading-label{
  position:absolute;
  left:18px;
  bottom:16px;
  z-index:2;
  font-size:8px;
  letter-spacing:.14em;
  font-weight:900;
  color:rgba(255,255,255,.45);
  pointer-events:none;
}

/* Explicit social branding — always visible, even before the video loads. */
.social-video-badges{
  position:absolute;
  z-index:4;
  top:18px;
  right:18px;
  display:flex;
  gap:9px;
  pointer-events:none;
}
.social-brand-badge{
  display:flex;
  align-items:center;
  gap:7px;
  padding:8px 11px;
  border-radius:12px;
  background:rgba(7,17,30,.88);
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 8px 24px rgba(0,0,0,.22);
}
.social-brand-badge b{font-size:9px;color:#fff}
.instagram-mark{
  position:relative;
  width:23px;
  height:23px;
  border-radius:7px;
  display:block;
  background:linear-gradient(135deg,#ffb23f 0%,#f12f8d 47%,#7756ff 100%);
}
.instagram-mark:before{
  content:"";
  position:absolute;
  inset:5px;
  border:2px solid #fff;
  border-radius:5px;
}
.instagram-mark:after{
  content:"";
  position:absolute;
  width:4px;height:4px;
  border-radius:50%;
  background:#fff;
  right:5px;top:5px;
}
.instagram-mark i{
  position:absolute;
  width:5px;height:5px;
  border-radius:50%;
  border:2px solid #fff;
  left:7px;top:7px;
}
.facebook-mark{
  width:23px;height:23px;
  border-radius:7px;
  display:grid;
  place-items:center;
  background:#1877f2;
  color:#fff;
  font:bold 18px/1 Arial,sans-serif;
}

/* Make all standard homepage sections paint immediately; no more white gaps. */
.public-cinematic-home section{
  background-color:#07111e;
}
.public-cinematic-home .section-soft,
.public-cinematic-home .section{
  position:relative;
}
.cinematic-reveal,
.cinematic-reveal.is-visible{
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
  transform:none!important;
}
.reveal-section{
  opacity:1!important;
  visibility:visible!important;
}

/* Remove decorative global layers that can force repainting. */
.immersive-bg,
.immersive-noise,
.immersive-cursor-glow{display:none!important}

@media(max-width:980px){
  .stable-video-section{padding:68px 0 78px}
  .stable-video-copy{margin-bottom:26px}
  .stable-video-frame{width:min(900px,100%)}
}
@media(max-width:640px){
  .stable-video-section{padding:54px 0 64px}
  .stable-video-copy h2{font-size:38px}
  .stable-video-copy p{font-size:12px}
  .stable-video-frame{
    width:100%;
    border-radius:16px;
    aspect-ratio:16/10;
  }
  .social-video-badges{
    top:10px;right:10px;gap:6px;
  }
  .social-brand-badge{padding:6px 8px}
  .social-brand-badge b{font-size:7px}
  .instagram-mark,.facebook-mark{width:20px;height:20px}
}


/* =========================================================
   V97.3 · HEADER STICKY + LIGHTWEIGHT REVIEW/SOCIAL SCENES
   ========================================================= */

/* Header follows the user */
.site-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:9999!important;
  background:rgba(6,16,28,.94)!important;
  border-bottom:1px solid rgba(255,255,255,.07)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.16)!important;
}
.site-header .nav-wrap{
  min-height:84px!important;
}
.public-cinematic-home main{
  padding-top:84px!important;
}

/* New lightweight sections */
.lite-showcase{
  position:relative;
  padding:96px 0;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 78% 42%,rgba(35,146,255,.14),transparent 30%),
    linear-gradient(180deg,#07111e,#081522);
}
.lite-social{
  background:
    radial-gradient(circle at 72% 28%,rgba(233,53,161,.11),transparent 24%),
    radial-gradient(circle at 88% 56%,rgba(24,119,242,.13),transparent 27%),
    linear-gradient(180deg,#07111e,#091522);
}
.lite-showcase-grid{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);
  gap:60px;
  align-items:center;
}
.lite-copy h2{
  margin:10px 0 18px;
  font-size:clamp(42px,4.9vw,72px);
  line-height:.98;
  letter-spacing:-.055em;
}
.lite-copy h2 span{
  background:linear-gradient(90deg,#42c7ff,#4c98ff 52%,#8175ff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.lite-copy p{
  max-width:580px;
  color:#a8b8ca;
  font-size:14px;
  line-height:1.72;
  margin-bottom:24px;
}
.lite-stage{
  position:relative;
  min-height:520px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.09);
  background:
    radial-gradient(circle at 50% 45%,rgba(50,151,255,.12),transparent 34%),
    rgba(5,14,25,.72);
  overflow:hidden;
  box-shadow:0 24px 64px rgba(0,0,0,.28);
}

/* Review */
.review-stage{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:72px;
}
.review-stand-card{
  position:relative;
  width:220px;
  height:310px;
  border-radius:20px 20px 11px 11px;
  background:linear-gradient(160deg,#242a33,#0c0f14 72%);
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 20px 40px rgba(0,0,0,.30);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  animation:reviewStandFloat 4.2s ease-in-out infinite alternate;
}
.review-stand-card:after{
  content:"";
  position:absolute;
  left:-18px;right:-18px;bottom:-14px;height:18px;
  border-radius:0 0 13px 13px;
  background:#070a0e;
  transform:perspective(260px) rotateX(60deg);
}
.review-g{
  font-size:54px;
  font-weight:900;
  color:#4285f4;
  margin-bottom:14px;
}
.review-stand-card b{
  font-size:23px;
  line-height:1.06;
}
.review-stars{
  margin-top:16px;
  color:#ffc21a;
  letter-spacing:3px;
}
.review-stand-card small{
  margin-top:35px;
  font-size:8px;
  color:#78c9ff;
  font-weight:900;
}

.review-phone{
  position:relative;
  width:220px;
  height:430px;
  padding:7px;
  border-radius:38px;
  background:linear-gradient(145deg,#293546,#05080d 70%);
  box-shadow:0 28px 58px rgba(0,0,0,.34);
  transform:rotate(-5deg);
  animation:reviewPhoneFloat 4.8s ease-in-out infinite alternate;
}
.phone-notch{
  position:absolute;
  z-index:3;
  top:12px;
  left:50%;
  translate:-50% 0;
  width:68px;
  height:16px;
  border-radius:99px;
  background:#06090e;
}
.review-screen{
  height:100%;
  border-radius:31px;
  background:linear-gradient(180deg,#f8fbff,#eaf4ff);
  color:#15223a;
  padding:26px 15px;
}
.phone-time{
  display:block;
  text-align:center;
  font-size:8px;
  font-weight:900;
}
.review-popup{
  margin-top:92px;
  padding:20px 14px;
  border-radius:16px;
  background:#fff;
  text-align:center;
  box-shadow:0 12px 28px rgba(28,76,120,.10);
}
.review-popup b{display:block;color:#168df5;font-size:13px}
.review-popup div{margin:8px 0;color:#ffbc15;letter-spacing:2px}
.review-popup small{font-size:8px;color:#7b899b}
.review-open-pill{
  margin-top:18px;
  padding:10px 12px;
  border-radius:10px;
  background:#e9f8f0;
  color:#168550;
  font-size:8px;
  font-weight:900;
  text-align:center;
}
.nfc-ring{
  position:absolute;
  left:50%;
  top:50%;
  width:80px;
  height:80px;
  border-radius:50%;
  border:2px solid rgba(68,195,255,.32);
  transform:translate(-50%,-50%);
  animation:nfcLitePulse 2.4s ease-out infinite;
}
.ring-2{animation-delay:.6s}
.ring-3{animation-delay:1.2s}
@keyframes nfcLitePulse{
  0%{scale:.35;opacity:.9}
  100%{scale:2.3;opacity:0}
}
@keyframes reviewPhoneFloat{
  to{transform:translateY(-10px) rotate(-3deg)}
}
@keyframes reviewStandFloat{
  to{transform:translateY(6px)}
}

/* Social */
.social-stage{
  min-height:560px;
}
.social-phone{
  position:absolute;
  top:62px;
  width:210px;
  height:430px;
  padding:7px;
  border-radius:38px;
  box-shadow:0 24px 54px rgba(0,0,0,.32);
}
.instagram-phone{
  left:16%;
  background:linear-gradient(145deg,#5b315f,#090a12 72%);
  transform:rotate(-6deg);
  animation:igFloat 4.6s ease-in-out infinite alternate;
}
.facebook-phone{
  right:13%;
  background:linear-gradient(145deg,#244b73,#080a10 72%);
  transform:rotate(5deg);
  animation:fbFloat 5s ease-in-out infinite alternate;
}
.social-screen{
  height:100%;
  border-radius:31px;
  background:#f8fbff;
  color:#172033;
  padding:27px 12px 12px;
  overflow:hidden;
}
.social-appbar{
  display:flex;
  align-items:center;
  gap:8px;
  padding-bottom:10px;
  border-bottom:1px solid #e8edf2;
}
.social-appbar b{font-size:11px}
.ig-logo{
  position:relative;
  width:24px;height:24px;
  border-radius:7px;
  display:inline-block;
  background:linear-gradient(135deg,#ffb13d,#ef328f 48%,#6d55ff);
}
.ig-logo:before{
  content:"";
  position:absolute;
  inset:5px;
  border:2px solid #fff;
  border-radius:5px;
}
.ig-logo:after{
  content:"";
  position:absolute;
  width:4px;height:4px;
  border-radius:50%;
  background:#fff;
  right:5px;top:5px;
}
.ig-logo i{
  position:absolute;
  left:8px;top:8px;
  width:4px;height:4px;
  border:1.8px solid #fff;
  border-radius:50%;
}
.fb-logo{
  width:24px;height:24px;
  display:grid;place-items:center;
  border-radius:7px;
  background:#1877f2;
  color:#fff;
  font:bold 18px/1 Arial,sans-serif;
}
.profile-top{
  display:grid;
  grid-template-columns:44px 1fr 1fr;
  align-items:center;
  gap:7px;
  margin-top:14px;
  text-align:center;
}
.profile-avatar{
  width:42px;height:42px;
  border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#ffb04a,#ef3a93 48%,#7657ff);
  color:#fff;
  font-size:9px;
  font-weight:900;
}
.profile-top strong,.profile-top small{display:block}
.profile-top strong{font-size:9px}
.profile-top small{font-size:6px;color:#82909f}
.profile-name{margin-top:12px}
.profile-name b,.profile-name small{display:block}
.profile-name b{font-size:9px}
.profile-name small{font-size:6px;color:#7e8c9c;margin-top:2px}
.profile-action{
  margin-top:10px;
  padding:8px;
  border-radius:8px;
  color:#fff;
  font-size:7px;
  font-weight:900;
  text-align:center;
}
.ig-action{background:#168df5}
.fb-action{background:#1877f2}
.profile-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:3px;
  margin-top:12px;
}
.profile-grid i{
  aspect-ratio:1;
  border-radius:3px;
}
.profile-grid i:nth-child(1){background:#c98756}
.profile-grid i:nth-child(2){background:#586a78}
.profile-grid i:nth-child(3){background:#c45a50}
.profile-grid i:nth-child(4){background:#697f4e}
.profile-grid i:nth-child(5){background:#926a51}
.profile-grid i:nth-child(6){background:#5f6f7c}
.fb-cover{
  height:88px;
  margin-top:12px;
  border-radius:10px;
  background:linear-gradient(135deg,#d2ad7b,#526873 58%,#1d2731);
}
.fb-business{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:8px;
  align-items:center;
  margin-top:10px;
}
.fb-business b,.fb-business small{display:block}
.fb-business b{font-size:9px}
.fb-business small{font-size:6px;color:#7f8d9d}
.fb-avatar{
  background:#18324d;
}
.fb-post{
  height:94px;
  margin-top:12px;
  border-radius:9px;
  background:linear-gradient(135deg,#d9ba80,#a77c4d);
}
.social-badge{
  position:absolute;
  z-index:5;
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(7,17,30,.90);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 10px 26px rgba(0,0,0,.20);
}
.social-badge b{font-size:9px}
.social-badge-ig{left:5%;bottom:72px}
.social-badge-fb{right:5%;bottom:96px}
@keyframes igFloat{to{transform:translateY(-9px) rotate(-4deg)}}
@keyframes fbFloat{to{transform:translateY(8px) rotate(3deg)}}

/* Performance: only transform/opacity animations, no blur/backdrop */
.lite-stage,
.review-phone,
.review-stand-card,
.social-phone{
  backface-visibility:hidden;
  transform-style:preserve-3d;
}
.lite-stage *{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Mobile */
@media(max-width:980px){
  .site-header .nav-wrap{min-height:72px!important}
  .public-cinematic-home main{padding-top:72px!important}

  .lite-showcase{padding:74px 0}
  .lite-showcase-grid{
    grid-template-columns:1fr;
    gap:32px;
  }
  .lite-copy{text-align:center}
  .lite-copy p{margin-left:auto;margin-right:auto}
  .lite-stage{min-height:500px}
}
@media(max-width:640px){
  .site-header .nav-wrap{min-height:64px!important}
  .public-cinematic-home main{padding-top:64px!important}

  .lite-showcase{padding:58px 0}
  .lite-copy h2{font-size:38px}
  .lite-copy p{font-size:12px}
  .lite-stage{min-height:430px;border-radius:18px}
  .review-stage{gap:18px}
  .review-stand-card{width:150px;height:230px}
  .review-g{font-size:38px}
  .review-stand-card b{font-size:15px}
  .review-phone{width:145px;height:295px;border-radius:27px}
  .review-screen{border-radius:20px;padding:18px 9px}
  .review-popup{margin-top:55px;padding:12px 7px}
  .review-popup b{font-size:9px}
  .review-popup div{font-size:8px}
  .review-popup small{font-size:5px}
  .review-open-pill{font-size:5px;padding:7px}

  .social-stage{min-height:470px}
  .social-phone{width:150px;height:315px;border-radius:28px;top:60px}
  .social-screen{border-radius:21px;padding:19px 8px 8px}
  .instagram-phone{left:7%}
  .facebook-phone{right:7%}
  .social-badge-ig{left:3%;bottom:32px}
  .social-badge-fb{right:3%;bottom:48px}
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  .review-phone,
  .review-stand-card,
  .social-phone,
  .nfc-ring{
    animation:none!important;
  }
}


/* =========================================================
   V97.4 · MENU & ORDERS REDESIGN
   Clear 3-step story: table → phone → command
   ========================================================= */
.lite-orders{
  padding:96px 0 108px;
  background:
    radial-gradient(circle at 50% 42%,rgba(28,147,255,.11),transparent 34%),
    linear-gradient(180deg,#07111e,#081522);
}
.orders-head{
  max-width:850px;
  margin:0 auto 46px;
  text-align:center;
}
.orders-head h2{
  margin:10px 0 16px;
  font-size:clamp(42px,5vw,72px);
  line-height:.98;
  letter-spacing:-.055em;
}
.orders-head h2 span{
  background:linear-gradient(90deg,#43c6ff,#4c9bff 52%,#8276ff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.orders-head p{
  max-width:720px;
  margin:0 auto 24px;
  color:#a8b8ca;
  font-size:14px;
  line-height:1.72;
}

.orders-flow-stage{
  position:relative;
  display:grid;
  grid-template-columns:1fr 80px 1fr 80px 1fr;
  align-items:center;
  gap:0;
  max-width:1180px;
  margin:0 auto;
}
.orders-flow-card{
  position:relative;
  min-height:530px;
  padding:24px 22px 22px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.09);
  background:linear-gradient(180deg,rgba(15,29,45,.92),rgba(8,18,30,.94));
  box-shadow:0 22px 54px rgba(0,0,0,.24);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.orders-flow-number{
  align-self:flex-start;
  width:31px;height:31px;
  display:grid;place-items:center;
  border-radius:9px;
  background:linear-gradient(135deg,#178ff5,#645fff);
  color:#fff;
  font-size:9px;
  font-weight:900;
}
.orders-flow-card h3{
  margin:19px 0 6px;
  font-size:18px;
}
.orders-flow-card>p{
  margin:0;
  max-width:245px;
  color:#8496a9;
  font-size:10px;
  line-height:1.55;
}

/* Step 1: table */
.table-device{
  position:relative;
  width:190px;
  height:245px;
  margin-top:62px;
  padding:27px 18px;
  border-radius:20px;
  background:linear-gradient(155deg,#252c35,#090c11 72%);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 22px 42px rgba(0,0,0,.28);
  display:flex;
  flex-direction:column;
  align-items:center;
  animation:ordersTableFloat 4s ease-in-out infinite alternate;
}
.table-nfc{
  color:#55c7ff;
  font-size:27px;
  font-weight:900;
  letter-spacing:-3px;
}
.table-device b{
  margin-top:18px;
  font-size:18px;
}
.table-device small{
  margin-top:5px;
  color:#8394a7;
  font-size:8px;
}
.mini-qr{
  margin-top:28px;
  width:65px;height:65px;
  padding:6px;
  border-radius:8px;
  background:#fff;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:3px;
}
.mini-qr i{background:#0b1521;border-radius:1px}
.mini-qr i:nth-child(2),
.mini-qr i:nth-child(4),
.mini-qr i:nth-child(8){background:#fff}

/* Step 2: phone */
.menu-phone{
  position:relative;
  width:200px;
  height:390px;
  margin-top:23px;
  padding:7px;
  border-radius:36px;
  background:linear-gradient(145deg,#2b3748,#05080d 72%);
  box-shadow:0 26px 52px rgba(0,0,0,.32);
  animation:ordersPhoneFloat2 4.5s ease-in-out infinite alternate;
}
.menu-phone-screen{
  height:100%;
  border-radius:29px;
  padding:31px 12px 12px;
  background:linear-gradient(180deg,#f8fbff,#edf5fd);
  color:#172232;
  text-align:left;
}
.menu-phone-top{
  display:flex;
  justify-content:space-between;
  font-size:7px;
  color:#168df5;
  font-weight:900;
}
.menu-phone-top b{color:#718095}
.menu-phone-screen h4{
  margin:20px 0 9px;
  font-size:20px;
  letter-spacing:-.03em;
}
.menu-item{
  display:flex;
  justify-content:space-between;
  gap:8px;
  padding:9px 0;
  border-top:1px solid #dce6ef;
}
.menu-item b,.menu-item small{display:block}
.menu-item b{font-size:8px}
.menu-item small{font-size:5.5px;color:#7f8c9a;margin-top:2px}
.menu-item strong{font-size:8px}
.menu-total{
  display:flex;
  justify-content:space-between;
  padding-top:10px;
  border-top:1px solid #dce6ef;
  font-size:8px;
}
.menu-total b{font-size:12px}
.menu-send{
  margin-top:10px;
  padding:9px;
  border-radius:9px;
  background:linear-gradient(135deg,#168df5,#645fff);
  color:#fff;
  font-size:7px;
  font-weight:900;
  text-align:center;
}

/* Step 3: command */
.command-panel{
  width:225px;
  min-height:320px;
  margin-top:49px;
  padding:16px;
  border-radius:17px;
  background:#fff;
  color:#172232;
  box-shadow:0 22px 48px rgba(0,0,0,.28);
  text-align:left;
  animation:ordersCommandFloat 4.7s ease-in-out infinite alternate;
}
.command-panel header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  padding-bottom:12px;
  border-bottom:1px dashed #d8e0e7;
}
.command-panel header small,
.command-panel header b{display:block}
.command-panel header small{
  color:#168df5;
  font-size:6px;
  font-weight:900;
}
.command-panel header b{
  margin-top:3px;
  font-size:17px;
}
.command-panel header>span{
  font-size:7px;
  color:#8190a0;
}
.command-line{
  display:flex;
  justify-content:space-between;
  padding:12px 0;
  border-bottom:1px solid #eef2f5;
  font-size:8px;
}
.command-panel footer{
  display:flex;
  justify-content:space-between;
  padding-top:13px;
  font-size:8px;
}
.command-panel footer b{font-size:14px}
.command-status{
  margin-top:16px;
  padding:9px 10px;
  border-radius:9px;
  background:#e8f8f0;
  color:#16834f;
  font-size:7px;
  font-weight:900;
}
.command-status i{
  display:inline-block;
  width:6px;height:6px;
  margin-right:6px;
  border-radius:50%;
  background:#21b66f;
}

/* Animated directional connectors */
.orders-flow-arrow{
  position:relative;
  height:120px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.orders-flow-arrow span{
  position:absolute;
  left:10px;right:10px;
  height:2px;
  overflow:hidden;
  background:rgba(77,178,255,.18);
}
.orders-flow-arrow span:after{
  content:"";
  position:absolute;
  top:0;left:-40%;
  width:40%;
  height:100%;
  background:linear-gradient(90deg,transparent,#53c6ff,transparent);
  animation:ordersSignalMove 1.8s linear infinite;
}
.orders-flow-arrow i{
  position:relative;
  z-index:2;
  width:28px;height:28px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#0d2134;
  border:1px solid rgba(80,192,255,.26);
  color:#59c8ff;
  font-size:20px;
  font-style:normal;
}
.arrow-two span:after{animation-delay:.9s}

/* Summary */
.orders-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  max-width:920px;
  margin:22px auto 0;
}
.orders-summary>div{
  padding:13px 16px;
  border-radius:13px;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.025);
  text-align:center;
}
.orders-summary b,.orders-summary span{display:block}
.orders-summary b{font-size:10px}
.orders-summary span{margin-top:3px;color:#8092a5;font-size:8px}

@keyframes ordersSignalMove{
  to{left:120%}
}
@keyframes ordersTableFloat{
  to{transform:translateY(-6px)}
}
@keyframes ordersPhoneFloat2{
  to{transform:translateY(-8px) rotate(-1.5deg)}
}
@keyframes ordersCommandFloat{
  to{transform:translateY(6px)}
}

@media(max-width:1050px){
  .orders-flow-stage{
    grid-template-columns:1fr;
    gap:14px;
    max-width:650px;
  }
  .orders-flow-arrow{
    height:46px;
    transform:rotate(90deg);
  }
  .orders-flow-card{min-height:auto;padding-bottom:28px}
  .orders-summary{grid-template-columns:1fr}
}
@media(max-width:640px){
  .lite-orders{padding:58px 0 68px}
  .orders-head h2{font-size:38px}
  .orders-head p{font-size:12px}
  .orders-flow-card{border-radius:18px}
}
@media(prefers-reduced-motion:reduce){
  .table-device,
  .menu-phone,
  .command-panel,
  .orders-flow-arrow span:after{
    animation:none!important;
  }
}

/* =========================================================
   TAPREVIEW DESIGNER · MOBILE-ONLY VERSION
   Desktop (>767px) intentionally keeps the original designer files.
   ========================================================= */
@media (max-width: 767px){
  html{overflow-x:hidden;scroll-behavior:smooth}
  body{overflow-x:hidden}
  img,svg,video{max-width:100%;height:auto}
  .container{width:calc(100% - 28px)!important;margin-inline:auto}
  section[id]{scroll-margin-top:72px}

  /* Mobile header */
  .site-header .nav-wrap{position:relative;min-height:64px!important}
  .brand img{width:145px!important;max-width:100%}
  .nav-actions{margin-left:auto}
  .nav-actions>.btn-primary{display:none!important}
  .menu-toggle{display:inline-flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);cursor:pointer}
  .main-nav{display:none!important}
  .marketing-menu-open .main-nav{
    display:flex!important;position:fixed!important;z-index:9999;top:64px!important;left:10px!important;right:10px!important;width:auto!important;
    max-height:calc(100dvh - 76px);overflow:auto;padding:14px!important;gap:4px!important;flex-direction:column;
    border-radius:18px;background:rgba(7,17,30,.98)!important;border:1px solid rgba(255,255,255,.10)!important;
    box-shadow:0 24px 60px rgba(0,0,0,.38)!important;
  }
  .marketing-menu-open .main-nav a{display:flex;align-items:center;width:100%;padding:11px 12px;border-radius:10px;color:#eef7ff!important;font-size:15px;min-height:44px}
  .marketing-menu-open .main-nav a:hover{background:rgba(255,255,255,.06)}
  /* These sections are intentionally hidden from the mobile journey. */
  .marketing-menu-open .main-nav a[href="#prodotti"],
  .marketing-menu-open .main-nav a[href="#come-funziona"]{display:none}

  /* Hero: compact, centered, and without the large blurred visual. */
  .public-cinematic-home main{padding-top:64px!important}
  .hero-grid{grid-template-columns:1fr!important;min-height:0!important}
  .hero-copy{text-align:center;padding:42px 0 30px!important}
  .hero-copy .eyebrow{margin-inline:auto;font-size:10px!important}
  .hero h1{font-size:clamp(38px,11.5vw,50px)!important;line-height:.98!important;letter-spacing:-.055em}
  .hero h1 br{display:none}
  .hero-lead{max-width:620px;margin-inline:auto;font-size:14px!important;line-height:1.62!important}
  .hero-buttons{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;justify-content:center}
  .hero-buttons .btn{width:100%;min-height:46px}
  .hero-visual{display:none!important}

  /* Four main benefits: compact 2x2 grid. */
  .hero-benefits{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;max-width:520px!important;margin:4px auto 0!important}
  .hero-benefits .benefit{min-width:0;min-height:74px;padding:11px 7px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
  .hero-benefits .benefit-icon{font-size:17px!important;margin-bottom:3px!important}
  .hero-benefits b{font-size:11px!important;line-height:1.15!important}
  .hero-benefits small{font-size:8.5px!important;line-height:1.25!important}

  /* Keep only the short social -> table/kitchen -> pricing journey on phones. */
  #demo-tapreview,#prodotti,#come-funziona{display:none!important}

  /* Four quick facts in one clean row. */
  .trust-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;align-items:stretch!important}
  .trust-grid>div{min-width:0!important;padding:13px 3px!important;text-align:center!important;border-right:1px solid rgba(255,255,255,.08)}
  .trust-grid>div:last-child{border-right:0}
  .trust-grid strong{display:block!important;font-size:clamp(9px,2.8vw,13px)!important;line-height:1.15!important;text-align:center!important;white-space:normal!important}
  .trust-grid span{display:block!important;margin-top:4px;font-size:clamp(6.8px,1.95vw,9px)!important;line-height:1.25!important;text-align:center!important}
  .trust-grid>div:last-child strong,.trust-grid>div:last-child span{text-align:center!important}

  /* Social section remains visible and compact. */
  .section,.lite-showcase,.lite-orders{padding-top:52px!important;padding-bottom:52px!important}
  .lite-showcase-grid{grid-template-columns:1fr!important;gap:26px!important}
  .lite-copy{text-align:center!important}
  .lite-copy p{margin-inline:auto;font-size:13px!important;line-height:1.6!important}
  .lite-copy h2{font-size:clamp(31px,9.5vw,40px)!important;line-height:1.03!important}
  .lite-stage{width:100%;max-width:620px;margin-inline:auto}
  .social-stage{min-height:360px!important}
  .social-phone{width:min(42vw,145px)!important;height:300px!important}
  .instagram-phone{left:4%!important}
  .facebook-phone{right:4%!important}
  .social-badge{padding:7px!important}
  .social-badge b{font-size:8px!important}

  /* Table -> kitchen section remains visible. */
  .orders-head{text-align:center!important}
  .orders-head h2{font-size:clamp(32px,9.5vw,40px)!important;line-height:1.03!important}
  .orders-head p{font-size:12px!important;line-height:1.6!important}
  .orders-head .btn{width:100%}
  .orders-flow-stage{grid-template-columns:1fr!important;gap:12px!important;max-width:620px!important;margin-inline:auto}
  .orders-flow-arrow{height:38px!important;transform:rotate(90deg)}
  .orders-flow-card{min-height:0!important;padding:18px 14px 22px!important;border-radius:18px!important}
  .table-device,.menu-phone,.command-panel{max-width:100%!important}
  .orders-summary{grid-template-columns:1fr!important}

  /* Pricing: always a balanced 2x2 grid on phones. */
  #prezzi .section-head{text-align:center!important;align-items:center!important}
  #prezzi .section-head h2,#prezzi .section-head p{text-align:center!important;margin-inline:auto}
  .pricing-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;align-items:stretch!important}
  .price-card{min-width:0!important;height:100%!important;padding:17px 10px!important;border-radius:16px!important;display:flex!important;flex-direction:column!important;text-align:center!important}
  .price-card .price-type{font-size:8px!important;letter-spacing:.08em!important}
  .price-card h3{font-size:15px!important;line-height:1.1!important;margin:7px 0!important;text-align:center!important}
  .price-card .price-value{font-size:18px!important;line-height:1.05!important;text-align:center!important}
  .price-card .price-value small{font-size:9px!important}
  .price-card p{font-size:8.5px!important;line-height:1.4!important;margin:8px 0!important;min-height:0!important}
  .price-card ul{text-align:left!important;font-size:8px!important;line-height:1.35!important;margin:7px 0 12px!important;padding-left:14px!important}
  .price-card li{margin-bottom:4px!important}
  .price-card .btn{width:100%!important;margin-top:auto!important;padding:9px 5px!important;font-size:9px!important;min-height:40px!important}
  .popular-badge{font-size:7px!important;padding:4px 6px!important;top:8px!important;right:8px!important}

  /* FAQ title centered on mobile. */
  #faq .section-head{text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important}
  #faq .section-head h2,#faq .section-head p{margin-inline:auto;text-align:center!important}
  #faq .section-head h2{font-size:clamp(34px,10vw,42px)!important;line-height:1.02!important}
  .faq-grid{grid-template-columns:1fr!important;gap:24px!important}
  .faq-list details{border-radius:14px}
  .faq-list summary{padding-right:40px}

  .contact-card{text-align:center!important;align-items:stretch!important;padding:28px 20px!important}
  .contact-card p{margin-inline:auto}
  .contact-actions,.contact-actions .btn{width:100%}
  .footer-grid{grid-template-columns:1fr!important;gap:24px!important}
  .footer-grid>div{min-width:0}
  .footer-bottom{text-align:center}

  /* Floating chat stays usable without covering the page. */
  .public-chat-widget{right:12px!important;bottom:12px!important;left:12px!important;width:auto!important}
  .public-chat-launch{margin-left:auto}
  .public-chat-panel{width:min(100%,380px)!important;max-height:calc(100dvh - 90px);margin-left:auto}
}

@media (max-width: 380px){
  .container{width:calc(100% - 24px)!important}
  .brand img{width:138px!important}
  .hero-benefits{gap:7px!important}
  .hero-benefits .benefit{min-height:68px!important;padding-inline:5px!important}
  .hero-benefits b{font-size:10px!important}
  .hero-benefits small{font-size:7.5px!important}
  .trust-grid>div{padding-inline:2px!important}
  .trust-grid strong{font-size:8.5px!important}
  .trust-grid span{font-size:6.5px!important}
  .pricing-grid{gap:8px!important}
  .price-card{padding:15px 8px!important}
  .price-card h3{font-size:14px!important}
  .price-card .price-value{font-size:17px!important}
  .price-card p{font-size:8px!important}
  .price-card ul{font-size:7.5px!important}
  .price-card .btn{font-size:8.5px!important}
}
/* SMART NFC SOLUTIONS V2.3 logo safety */
.brand img,.footer-grid img{filter:none!important;background:#fff!important;border-radius:9px;padding:4px 7px;object-fit:contain}
