/* Wheel carousel (matches Sourcer pattern) */
      .ad-perspective{perspective:800px}
      .ad-wheel-container{position:relative;overflow:visible;overscroll-behavior:contain;touch-action:pan-y pinch-zoom}
      .ad-wheel-card{position:absolute;width:88%;left:6%;transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .5s cubic-bezier(.4,0,.2,1),filter .5s cubic-bezier(.4,0,.2,1);pointer-events:none}
      .ad-wheel-card[data-position=center]{z-index:10;transform:translateY(0) scale(1);opacity:1;filter:blur(0);pointer-events:auto;cursor:zoom-in}
      .ad-wheel-card[data-position=top]{z-index:5;transform:translateY(-65%) scale(.82);opacity:.5;filter:blur(3px)}
      .ad-wheel-card[data-position=bottom]{z-index:5;transform:translateY(65%) scale(.82);opacity:.5;filter:blur(3px)}
      .ad-wheel-card[data-position=hidden]{z-index:1;transform:translateY(0) scale(.6);opacity:0;filter:blur(6px)}
      @keyframes bounceY{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
      .animate-bounce-y{animation:bounceY 1.5s ease-in-out infinite}
      .ad-swipe-hint{transition:opacity .3s ease}
      .ad-swipe-hint.hidden-hint{opacity:0;pointer-events:none}
      .ad-dot{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;background:transparent!important;border:none;padding:0;cursor:pointer}
      .ad-dot::after{content:'';width:6px;height:6px;border-radius:50%;background:#cbd5e1;transition:background .3s ease,width .3s ease,border-radius .3s ease}
      .ad-dot.active::after{background:#046bfc;width:14px;border-radius:4px}

      /* Lightbox */
      .ad-lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease;padding:2rem}
      .ad-lightbox.visible{opacity:1;pointer-events:auto}
      .ad-lightbox img{max-width:90vw;max-height:85vh;border-radius:12px;box-shadow:0 25px 60px rgba(0,0,0,.5)}

      /* Section blobs */
      .section-blob{position:absolute;border-radius:50%;filter:blur(50px);pointer-events:none;z-index:0}
      .section-blob-blue{background:rgba(4,107,252,.15);mix-blend-mode:multiply}
      .section-blob-orange{background:rgba(255,153,0,.12);mix-blend-mode:multiply}
      .section-blob-green{background:rgba(16,185,129,.12);mix-blend-mode:multiply}

      /* Macrobox dot overlay */
      .macrobox-dot-pattern{background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.3) 1px,transparent 0);background-size:24px 24px}

      /* Skeleton shimmer for lazy images */
      picture{position:relative;display:block;overflow:hidden}
      picture:not(.loaded){background:#e2e8f0}
      picture:not(.loaded)::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,#e2e8f0 8%,#f1f5f9 18%,#e2e8f0 33%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;z-index:1;pointer-events:none}
      picture img{position:relative;z-index:2}
      @keyframes shimmer{to{background-position:-200% 0}}

      /* Toast notification */
      .form-toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(1rem);background:#065f46;color:#fff;padding:.75rem 1.5rem;border-radius:.75rem;font-size:.875rem;font-weight:600;box-shadow:0 10px 25px rgba(0,0,0,.15);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:200}
      .form-toast.visible{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}

      /* Macrobox dark */
      .macrobox-dark{background:#04143d;position:relative;overflow:hidden}
      .macrobox-dark::before{content:'';position:absolute;top:-30%;right:-15%;width:500px;height:500px;background:radial-gradient(circle,rgba(4,107,252,.4) 0%,transparent 60%);pointer-events:none}
      .macrobox-dark::after{content:'';position:absolute;bottom:-25%;left:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(255,153,0,.25) 0%,transparent 60%);pointer-events:none}

      /* FAQ */
      .faq-answer{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1)}
      .faq-item.active .faq-answer{max-height:1200px}
      .faq-item.active .faq-icon{transform:rotate(45deg);background:#046bfc;color:white}
      .faq-tab{padding:10px 20px;border:2px solid #e2e8f0;border-radius:30px;background:white;font-size:14px;font-weight:600;color:#64748b;cursor:pointer;transition:background .3s ease,border-color .3s ease,color .3s ease;display:flex;align-items:center;gap:8px;min-height:44px}
      .faq-tab:hover{border-color:#046bfc;color:#046bfc}
      .faq-tab.active{background:#046bfc;border-color:#046bfc;color:white}
      .faq-category{display:none}
      .faq-category.active{display:block}

      /* Submenu */
      .submenu{position:fixed;top:72px;left:0;right:0;z-index:40;background:rgba(4,20,61,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);transform:translateY(calc(-100% - 80px));opacity:0;pointer-events:none;transition:transform .3s ease,opacity .3s ease}
      .submenu.visible{transform:translateY(0);opacity:1;pointer-events:auto}
      .submenu-link{color:rgba(255,255,255,.85);font-size:13px;font-weight:500;padding:14px 12px;min-height:44px;display:flex;align-items:center;transition:color .2s;white-space:nowrap;position:relative;flex-shrink:0}
      .submenu-link:hover,.submenu-link.active{color:white}
      .submenu-link.active::after{content:'';position:absolute;bottom:0;left:16px;right:16px;height:2px;background:#046bfc;border-radius:2px}
      .progress-bar{position:absolute;bottom:0;left:0;height:2px;background:linear-gradient(90deg,#046bfc,#3d8bfd);width:0%;transition:width .1s linear}
      .submenu .max-w-full{-webkit-overflow-scrolling:touch;justify-content:safe center}
      .submenu .max-w-full{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}
      .submenu .max-w-full::-webkit-scrollbar{height:3px}
      .submenu .max-w-full::-webkit-scrollbar-track{background:transparent}
      .submenu .max-w-full::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:2px}
      @media(max-width:767px){.submenu .max-w-full{scrollbar-width:none;-ms-overflow-style:none}.submenu .max-w-full::-webkit-scrollbar{display:none}}



      /* Sticky CTAs */
      .sticky-cta-mobile{transform:translateY(100%);transition:transform .4s ease-out;padding-bottom:calc(1rem + env(safe-area-inset-bottom))}
      .sticky-cta-mobile.visible{transform:translateY(0)}
      .sticky-cta-desktop{position:fixed;bottom:0;left:0;right:0;z-index:50;background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid #e2e8f0;box-shadow:0 -4px 16px -4px rgba(0,0,0,.06);transform:translateY(100%);transition:transform .4s ease-out;display:none}
      @media(min-width:768px){.sticky-cta-desktop{display:block}}
      .sticky-cta-desktop.visible{transform:translateY(0)}

      /* Back to top */
      .back-to-top{position:fixed;bottom:5rem;right:1.5rem;z-index:60;width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid #e2e8f0;box-shadow:0 4px 12px rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center;color:#64748b;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s,background .2s,color .2s}
      .back-to-top.visible{opacity:1;pointer-events:auto}
      .back-to-top:hover{background:#046bfc;color:#fff;border-color:#046bfc}

      /* Exit-intent */
      .exit-intent-overlay{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;pointer-events:none;transition:opacity .3s ease}
      .exit-intent-overlay.visible{opacity:1;pointer-events:auto}
      .exit-intent-card{background:#fff;border-radius:1.5rem;max-width:480px;width:100%;box-shadow:0 25px 60px rgba(0,0,0,.3);transform:translateY(24px) scale(.96);transition:transform .4s cubic-bezier(.16,1,.3,1);position:relative}
      .exit-intent-overlay.visible .exit-intent-card{transform:translateY(0) scale(1)}
      .exit-intent-close{position:absolute;top:1rem;right:1rem;width:44px;height:44px;border-radius:50%;background:#f1f5f9;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:background .2s,color .2s}
      .exit-intent-close:hover{background:#e2e8f0;color:#1e293b}
      .exit-intent-close:focus-visible{outline:2px solid #046bfc;outline-offset:2px}
      .exit-intent-email{width:100%;height:44px;padding:0 1rem 0 2.5rem;border:1.5px solid #e2e8f0;border-radius:9999px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
      .exit-intent-email::placeholder{color:#94a3b8}
      .exit-intent-email:focus{outline:none;border-color:#046bfc;box-shadow:0 0 0 3px rgba(4,107,252,.15)}
      .exit-intent-email.input-error{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.15)}

      /* Phase 4: Button hover micro-interaction */
      .btn-pill{transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}
      .btn-pill:hover{filter:brightness(1.06)}
      @media(prefers-reduced-motion:reduce){.btn-pill{transition:none!important}}

      /* Phase 4: Input font ≥16px on mobile (prevents iOS zoom) */
      @media(max-width:767px){.exit-intent-email,input[type="email"]{font-size:16px!important}}

      /* Phase 3: Card lift on hover */
      section:not(.macrobox-dark) :is(.rounded-2xl,.rounded-xl).border:not(.shadow-lg):not(.faq-item){transition:transform .3s ease,box-shadow .3s ease}
      section:not(.macrobox-dark) :is(.rounded-2xl,.rounded-xl).border:not(.shadow-lg):not(.faq-item):hover{transform:translateY(-4px);box-shadow:0 8px 25px -5px rgba(15,23,42,.1)}
      @media(prefers-reduced-motion:reduce){section :is(.rounded-2xl,.rounded-xl).border{transition:none!important}}

      /* Phase 3: Card bg overrides for alternated sections */
      #performance .bg-white,#who-its-for .bg-white,#ppc-analytics .bg-white:not(.shadow-lg){background-color:rgb(248 250 252)}

      /* Print */
      @media print{nav,.submenu,.sticky-cta-mobile,.sticky-cta-desktop,.hero-blob,.hero-grid,.section-blob,.macrobox-dark::before,.macrobox-dark::after,footer,#submenu,.exit-intent-overlay{display:none!important}body{background:white!important;color:#000!important;font-size:12pt}section{background:white!important;box-shadow:none!important;break-inside:avoid}.macrobox-dark{background:#f5f5f5!important;color:#000!important}h1,h2,h3,h4,p,li,span,a{color:#000!important}a[href]::after{content:" (" attr(href) ")";font-size:.85em;color:#666!important}a[href^="#"]::after,a[href^="javascript"]::after{content:""!important}.faq-answer{max-height:none!important;overflow:visible!important}.faq-category{display:block!important}}

      /* -- Feature Tour: Sidebar + Scrollable Cards -- */
      .feature-card{background:#fff;border-radius:1.25rem;border:1px solid rgb(226 232 240 / .6);padding:1.75rem 2rem;box-shadow:0 4px 24px rgb(0 0 0 / .06);transition:box-shadow .3s}
      .feature-card:hover{box-shadow:0 8px 32px rgb(0 0 0 / .09)}
      .feature-sidebar{position:sticky;top:8.5rem;max-height:calc(100vh - 9.5rem);overflow-y:auto;scrollbar-width:thin}
      .sidebar-link{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.8125rem;color:#64748b;transition:all .2s;border-left:3px solid transparent;text-decoration:none}
      .sidebar-link:hover{color:#046bfc;background:rgb(4 107 252 / .06)}
      .sidebar-link.active{color:#046bfc;background:rgb(4 107 252 / .08);border-left-color:#046bfc;font-weight:600}
      .stack-details summary{cursor:pointer;list-style:none;display:none}
      .stack-details summary::-webkit-details-marker{display:none}
      .stack-chevron{transition:transform .2s}
      .expand-card-btn .expand-chevron{transition:transform .3s}
      .expand-card-btn[aria-expanded="true"] .expand-chevron{transform:rotate(180deg)}
      .expand-bottom-bar{transition:all .2s}
      .expand-bottom-chevron{transition:transform .3s}
      .expand-all-icon{transition:transform .3s}
      @keyframes pulse-down{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:.8;transform:translateY(4px)}}
      .card-separator-arrow{animation:pulse-down 2s ease-in-out infinite}
      @media(max-width:1023px){.feature-sidebar{display:none}}
      @media(max-width:639px){
        .feature-card{padding:1.25rem 1rem}
        .screenshot-wrap{position:relative;max-height:220px;overflow:hidden}
        .screenshot-wrap.expanded{max-height:none}
        .screenshot-wrap::after{content:'\1F50D Tap to zoom';position:absolute;bottom:0;left:0;right:0;padding:10px 0;text-align:center;font-size:11px;font-weight:600;color:#046bfc;background:linear-gradient(transparent,rgba(255,255,255,.92) 40%,#fff);pointer-events:none;transition:opacity .3s}
      }

      /* Screenshot lightbox overlay */
      .screenshot-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;cursor:zoom-out}
      .screenshot-lightbox.active{opacity:1;visibility:visible}
      .screenshot-lightbox img{max-width:100%;max-height:90vh;border-radius:12px;box-shadow:0 12px 48px rgba(0,0,0,.5);object-fit:contain;transform:scale(.92);transition:transform .3s cubic-bezier(.4,0,.2,1)}
      .screenshot-lightbox.active img{transform:scale(1)}
      .screenshot-lightbox-close{position:fixed;top:1rem;right:1rem;width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);color:#fff;font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;z-index:10000}
      .screenshot-lightbox-close:hover{background:rgba(255,255,255,.3);transform:scale(1.1)}


      /* -- Mobile + UX + Error-state enhancements -- */
      /* Error state for email input */
      .input-error{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.15)!important}
      .form-error-msg{color:#ef4444;font-size:12px;margin-top:4px;display:none}
      .form-error-msg.visible{display:block}
      /* Loading state for form button */
      .btn-loading{opacity:.7;pointer-events:none}
      .btn-loading::after{content:'';display:inline-block;width:14px;height:14px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite;margin-left:6px;vertical-align:middle}
      @keyframes spin{to{transform:rotate(360deg)}}

      /* dvh support for sticky elements */
      @supports(height:100dvh){.back-to-top{bottom:calc(5rem + env(safe-area-inset-bottom,0px))}}
@media(max-width:767px){.section-blob{position:absolute;border-radius:50%;filter:blur(120px);pointer-events:none;z-index:0}.section-blob{display:none!important}.faq-tabs{flex-wrap:wrap!important;overflow-x:visible!important;overflow:visible!important;justify-content:center!important}.faq-tabs::after{display:none!important}}