*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

        /* Light Mode Neon/Aurora Theme */
        body{font-family:'Inter',sans-serif;background:#f8fafc;color:#0f172a;-webkit-font-smoothing:antialiased;min-height:100vh;padding: 0px 0 0;display:flex;flex-direction:column;align-items:center;overflow-x:hidden}

        /* Lock <main> to its container width. Without this, an unbreakable
           long string in a descendant (e.g. the banner's uppercase letter-spaced
           subhead) lets <main> auto-expand past the viewport since the body
           is a flex column with align-items:center and <main> has no width.
           main is also a flex column with align-items:center so its children
           (.ban, .pr-cards, .ent, .cmp, .faq — none of which have
           `margin: 0 auto`) stay centered horizontally on desktop. */
        main {
            width: 100%;
            max-width: 100%;
            min-width: 0;
            padding: 0 24px 80px;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

     

        body > footer#site-footer {
            width: 100% !important;
            align-self: stretch !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
        }



        /* Ambient Light Neon Glows (Aurora Effect) */
        .bg-glow {
            position: fixed;
            border-radius: 50%;
            filter: blur(120px);
            z-index: -1;
            opacity: 0.25;
            pointer-events: none;
            animation: float 10s infinite alternate ease-in-out;
        }
        .bg-glow-1 {
            width: 600px; height: 600px;
            background: #002bff;
            top: -150px; left: -150px;
        }
        .bg-glow-2 {
            width: 500px; height: 500px;
            background: #38bdf8;
            bottom: -100px; right: -100px;
            animation-delay: -5s;
        }
        /* Added a subtle purple glow to balance the two cards */
        .bg-glow-3 {
            width: 700px; height: 700px;
            background: #a855f7;
            top: 20%; left: 30%;
            opacity: 0.15;
            animation-delay: -2s;
        }
        @keyframes float {
            0% { transform: translate(0, 0) scale(1); }
            100% { transform: translate(50px, 50px) scale(1.1); }
        }

        /* ======= BANNER ======= */
        .ban{width:100%;max-width:1400px;background:transparent;border:none;border-radius:0;padding:48px 0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px;position:relative;overflow:hidden}

        .ban-left{position:relative;z-index:1;flex:1}
        .ban-pills{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap;justify-content:center}
        .ban-pill{font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;padding:8px 24px;border-radius:100px;display:flex;align-items:center;gap:8px;transition:transform 0.2s ease}
        .ban-pill:hover{transform:translateY(-2px)}
        .ban-pill i{width:16px;height:16px;color:#002bff}
        
        /* Light Mode Pills - Premium Glassy */
        .ban-pill.blue, .ban-pill.pink{background:linear-gradient(#f8fafc, #f8fafc) padding-box, linear-gradient(135deg, #002bff, #38bdf8) border-box;border:2px solid transparent;color:#0f172a;box-shadow:0 10px 24px rgba(0,43,255,0.1),inset 0 0 12px rgba(56,189,248,0.05)}
        
        /* Light Mode Headline - Massive & Elegant */
        .ban-headline{font-family:'Instrument Serif',serif;font-size:clamp(64px,9vw,110px);font-weight:400;font-style:italic;letter-spacing:-.02em;text-transform:uppercase;line-height:0.9;margin-bottom:20px;color:#0f172a}
        .ban-headline .hot{color:#0f172a;text-shadow:0 10px 30px rgba(0,43,255,.1)}
        .ban-headline .dim{font-family:'Inter',sans-serif;font-size:clamp(14px,2.5vw,20px);font-weight:800;font-style:normal;vertical-align:top;background:rgba(56,189,248,0.1);color:#002bff;margin-left:8px;padding:6px 14px;border-radius:100px;border:1px solid rgba(56,189,248,0.4);position:relative;top:-10px;display:inline-block;letter-spacing:0.05em;box-shadow:0 4px 15px rgba(56,189,248,0.2)}
        .ban-subhead{font-family:'Inter',sans-serif;font-size:11px;font-weight:800;color:rgba(15,23,42,.4);letter-spacing:.15em;text-transform:uppercase;margin-bottom:16px}
        
        /* Premium Discount Tag */
        .ban-discount{display:inline-block;font-family:'Inter',sans-serif;font-size:clamp(36px,6vw,52px);font-weight:900;letter-spacing:-.04em;background:linear-gradient(135deg,#002bff 0%,#38bdf8 100%);color:#fff;padding:10px 36px;border-radius:100px;box-shadow:0 16px 40px rgba(0,43,255,0.25),inset 0 -4px 12px rgba(0,0,0,0.15),inset 0 4px 12px rgba(255,255,255,0.3);transform:rotate(-3deg);transition:all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);margin-bottom:32px;text-shadow:0 2px 4px rgba(0,0,0,0.2)}
        .ban-discount:hover{transform:rotate(0deg) scale(1.05);box-shadow:0 20px 48px rgba(0,43,255,0.35),inset 0 -4px 12px rgba(0,0,0,0.15),inset 0 4px 12px rgba(255,255,255,0.3)}
        
        /* Sub text */
        .ban-sub{font-size:14px;color:rgba(15,23,42,.6);display:flex;align-items:center;justify-content:center;gap:10px;font-weight:600}
        .ban-sub img{height:22px;width:auto;opacity:.8}

        /* Light Mode Glowing Timer */
        .ban-timer-wrap{position:relative;z-index:1;flex-shrink:0;background:linear-gradient(180deg,#ffffff 0%,#f1f5f9 100%);border:1px solid rgba(56,189,248,.3);border-radius:20px;padding:20px 28px 24px;width:100%;max-width:700px;box-shadow:0 10px 40px rgba(0,43,255,0.08), inset 0 2px 10px rgba(255,255,255,1)}
        .ban-timer-label{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:700;color:rgba(15,23,42,.5);margin-bottom:12px}
        .ban-timer-label i{width:14px;height:14px;color:#002bff;filter:drop-shadow(0 0 4px rgba(56,189,248,0.5))}
        .ban-digits{display:flex;gap:10px;width:100%}
        .ban-unit{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%);border:1px solid rgba(56,189,248,.2);border-bottom:1px solid rgba(0,0,0,.05);border-radius:14px;padding:20px 32px;flex:1;box-shadow:inset 0 2px 10px rgba(255,255,255,1), 0 4px 10px rgba(0,0,0,0.03)}
        .ban-unit span:first-child{font-size:40px;font-weight:800;color:#0f172a;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
        .ban-unit span:last-child{font-size:10px;font-weight:700;color:rgba(15,23,42,.4);margin-top:6px;text-transform:capitalize;letter-spacing:.05em}

        /* ======= HEADING ======= */
        .pr-heading{text-align:center;padding:72px 0 0;max-width:600px;margin:0 auto 32px;}

        /* ======= SCARCITY PILL (per tier) ======= */
        .pr-card-scarcity{
            display:inline-flex;
            align-items:center;
            gap:8px;
            font-family:'Inter',sans-serif;
            font-size:11px;
            font-weight:800;
            letter-spacing:0.1em;
            text-transform:uppercase;
            color:#dc2626;
            background:rgba(220,38,38,0.08);
            border:1px solid rgba(220,38,38,0.25);
            padding:6px 14px;
            border-radius:100px;
            margin-bottom:16px;
            width:fit-content;
        }
        .pr-scarcity-dot{
            width:7px;
            height:7px;
            border-radius:50%;
            background:#dc2626;
            box-shadow:0 0 0 0 rgba(220,38,38,0.5);
            animation:pr-scarcity-pulse 1.6s infinite;
        }
        @keyframes pr-scarcity-pulse{
            0%{box-shadow:0 0 0 0 rgba(220,38,38,0.5)}
            70%{box-shadow:0 0 0 8px rgba(220,38,38,0)}
            100%{box-shadow:0 0 0 0 rgba(220,38,38,0)}
        }
        .pr-heading h1{font-family:'Instrument Serif',serif;font-size:52px;font-weight:400;letter-spacing:-.03em;line-height:1.1;margin-bottom:16px;color:#0f172a}
        .pr-heading h1 span{color:#002bff;font-style:italic;text-shadow:0 0 20px rgba(56,189,248,.3)}
        .pr-heading p{color:rgba(15,23,42,.6);font-size: 18px;line-height:1.7;font-weight:500}


        /* ======================================= */
        /* ======= MULTI-CARD GRID LAYOUT ======== */
        /* ======================================= */

        .pr-cards{width:100%;max-width:1400px;display:grid;grid-template-columns:repeat(3, 1fr);gap:24px;padding:24px 0 0;align-items:start}

        /* Animations */

        .pr-card{
            background: linear-gradient(180deg, rgba(240, 248, 255, 0.95) 0%, rgba(255, 255, 255, 0.85) 15%, rgba(255, 255, 255, 0.85) 100%);
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
            border: 1px solid rgba(56, 189, 248, 0.4);
            border-radius: 24px;
            padding: 44px 36px 36px 36px;
            position: relative;
            overflow: visible;
            width: 100%;
        }
        
        /* Glowing Top Edge (Media Only) */
        .pr-card::before {
            content: '';
            position: absolute;
            top: 0; left: 10%; right: 10%; height: 2px;
            background: linear-gradient(90deg, transparent, #38bdf8, #002bff, #38bdf8, transparent);
            opacity: 0.9;
            border-radius: 100px;
        }
        .pr-card:hover{border-color:rgba(0, 43, 255, 0.5);}

        /* Floating Pulsing Save Badge (Media Only) */
        @keyframes badge-pulse {
            0% { box-shadow: 0 6px 15px rgba(0,43,255,0.3), 0 0 20px rgba(56,189,248,0.2); }
            100% { box-shadow: 0 8px 24px rgba(0,43,255,0.5), 0 0 35px rgba(56,189,248,0.4); transform: scale(1.02); }
        }
        @keyframes badge-pulse-purple {
            0% { box-shadow: 0 6px 15px rgba(126,34,206,0.3), 0 0 20px rgba(192,132,252,0.2); }
            100% { box-shadow: 0 8px 24px rgba(126,34,206,0.5), 0 0 35px rgba(192,132,252,0.4); transform: scale(1.02); }
        }

        .pr-card-save{
            position: absolute;
            top: -16px;
            right: 48px;
            display: inline-flex;
            font-family: 'Inter', sans-serif;
            font-size: 15px;
            font-weight: 800;
            color: #fff;
            background: linear-gradient(135deg, #002bff, #38bdf8);
            padding: 8px 24px;
            border-radius: 100px;
            letter-spacing: 0.02em;
            border: 1px solid rgba(255,255,255,0.4);
            animation: badge-pulse 2s infinite alternate ease-in-out;
            z-index: 10;
        }

        /* Title & Best Value Pill */
        .pr-card-name{font-family:'Instrument Serif',serif;font-size:64px;font-weight:400;font-style:italic;letter-spacing:0;margin-bottom:12px;color:#002bff;text-shadow:0 0 20px rgba(0,43,255,0.4), 0 0 40px rgba(56,189,248,0.2);display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:16px}
        
        .pr-best-value{font-family:'Inter',sans-serif;font-size:12px;font-weight:800;font-style:normal;color:#002bff;background:rgba(56,189,248,0.15);border:1px solid rgba(0,43,255,0.3);padding:6px 14px;border-radius:100px;letter-spacing:0.1em;text-transform:uppercase;text-shadow:none;box-shadow:0 4px 10px rgba(0,43,255,0.1);display:inline-flex;align-items:center;gap:6px;}

        .pr-card-liner{font-size:14px;color:rgba(15,23,42,.6);font-style:italic;line-height:1.6}
        .pr-card-subliner{font-size:13px;color:rgba(15,23,42,.5);font-weight:600;line-height:1.6;margin-top:12px;}
        
        .margin-spacer { margin-bottom: 32px; }

        /* Alignment fixes for side-by-side grid view */
        @media(min-width: 1251px) {
            .pr-card-intro { height: 210px; }
            .pr-stats-block { height: 390px; }
        }

        /* Forbes hero callout */
        .forbes-callout{display:flex;align-items:center;gap:16px;background:linear-gradient(90deg, rgba(56, 189, 248, 0.08), rgba(0, 43, 255, 0.03));border:1px solid rgba(0, 43, 255, 0.15);border-radius:16px;padding:16px 20px;margin-bottom:32px;box-shadow:inset 0 0 15px rgba(255,255,255,1), 0 4px 15px rgba(0,43,255,0.04);transition:transform 0.2s}
        .forbes-callout:hover{transform:translateY(-2px);box-shadow:inset 0 0 15px rgba(255,255,255,1), 0 6px 20px rgba(0,43,255,0.08);}
        .forbes-callout img{height:28px;width:auto;flex-shrink:0;opacity:0.9;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.1))}
        .forbes-callout p{font-size:13px;color:rgba(15,23,42,.8);line-height:1.5;margin:0;text-align:left;font-weight:500}

        /* Stats block */
        .pr-stats-block{background:linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);border:1px solid rgba(0, 43, 255, 0.12);border-radius:16px;padding:24px 28px;margin-bottom:32px;box-shadow:0 8px 32px rgba(0,43,255,0.04);transition:all 0.3s ease}
        .pr-stats-block:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(0,43,255,0.08)}
        .pr-stat-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(15,23,42,.05)}
        .pr-stat-row:last-child{border-bottom:none;padding-bottom:0}
        .pr-stat-row:first-child{padding-top:0}
        .pr-stat-label{font-size:13px;color:rgba(15,23,42,.6);font-weight:500}
        
        .pr-stat-value{font-family:'Instrument Serif',serif;font-size:24px;font-weight:400;font-style:italic;color:#002bff;line-height:1;text-shadow:0 0 10px rgba(56,189,248,0.3)}

        /* Pricing Section */
        .pr-price-block{margin-bottom:28px;padding-top:12px}
        .pr-price-eyebrow{font-size:11px; font-weight:800; color:#002bff; letter-spacing:0.15em; text-transform:uppercase; margin-bottom:8px; display:inline-block; background:rgba(0,43,255,0.06); padding:4px 12px; border-radius:100px;}
        .pr-card-price{display:flex;align-items:baseline;gap:16px;margin-bottom:0;flex-wrap:wrap}
        
        .pr-card-old{font-size:48px;font-weight:500;text-decoration:line-through;text-decoration-thickness:3px;text-decoration-color:#002bff !important;color:rgba(15,23,42,0.35) !important;text-shadow:none}
        .pr-card-new{font-size:48px;font-weight:400;letter-spacing:-0.04em;color:#0f172a;line-height:1}

        /* EXACT BLUE BUTTON STYLES PRESERVED */
        .pr-card-cta{display:flex;align-items:center;justify-content:center;width:100%;padding:20px 0;border-radius:14px;font-family:'Inter',sans-serif;font-size: 18px;font-weight:700;letter-spacing:0.02em;border:none;cursor:pointer;text-decoration:none;transition:all .2s;margin-bottom:12px}
        .pr-card-cta{
            background: linear-gradient(180deg, #2878e8 0%, #35a0ee 40%, #44bcf0 70%, #5cd6f4 100%);
            border: none;
            box-shadow: 0 5px 0 0 #1e6abf, 0 8px 20px rgba(37,120,235,.25);
            color: #fff;
            text-shadow: 0 1px 2px rgba(0,0,0,.15);
        }
        .pr-card-cta:hover{
            transform: translateY(-2px);
            box-shadow: 0 7px 0 0 #1e6abf, 0 12px 28px rgba(37,120,235,.35);
        }
        .pr-card-cta:active{
            transform: translateY(3px);
            box-shadow: 0 1px 0 0 #1e6abf;
        }

        .pr-card-cta-sub{font-size:12px;color:rgba(15,23,42,.5);text-align:center;margin-bottom:48px;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:500}
        .pr-card-cta-sub i{width:14px;height:14px;color:rgba(15,23,42,.3)}

        /* Unified Typography for Titles */
        .pr-sh, .pr-box .pr-box-title, .pr-guar .pr-guar-title, .pr-stats-head, .pr-editors-title {
            font-family: 'Instrument Serif', serif;
            font-size: 28px;
            font-weight: 400;
            font-style: italic;
            letter-spacing: 0;
            color: #0f172a;
            text-transform: none;
            margin: 0 0 16px 0;
            border: none;
            padding: 0;
            display: flex;
            align-items: center;
        }
        
        .pr-sh::before, .pr-box .pr-box-title::before, .pr-guar .pr-guar-title::before, .pr-stats-head::before, .pr-editors-title::before {
            content: '';
            display: inline-block;
            width: 6px;
            height: 6px;
            background: #002bff;
            border-radius: 50%;
            margin-right: 12px;
            box-shadow: 0 0 10px rgba(56,189,248,0.8);
            vertical-align: middle;
            position: relative;
            top: -2px;
        }
        .pr-editors-title { justify-content: center; } 
        .pr-editors-title::before { margin-left: 12px; } 

        .pr-sh { margin: 32px 0 16px; border-bottom: 1px solid rgba(15,23,42,0.06); padding-bottom: 12px; }
        
        .pr-box-sub { font-size:13px; color:rgba(15,23,42,.6); margin-bottom:16px; line-height:1.5; font-style:italic; }

        /* Feature Rows */
        .pr-f{position:relative; display:flex;align-items:center;gap:12px;padding:10px 0;font-size:13.5px;color:rgba(15,23,42,.7);line-height:1.5;border-bottom:1px solid rgba(15,23,42,.04);transition: all 0.2s ease}
        .pr-f:hover{background: linear-gradient(90deg, rgba(56, 189, 248, 0.08) 0%, transparent 100%); border-radius: 6px; padding-left: 12px; margin-left: -12px; width: calc(100% + 12px); border-bottom-color:transparent;}
        .pr-f::before { content: ''; position: absolute; left: -12px; top: 20%; height: 60%; width: 3px; background: #002bff; border-radius: 4px; opacity: 0; transition: all 0.2s ease; transform: scaleY(0.5); }
        .pr-f:hover::before { opacity: 1; transform: scaleY(1); left: 0;}
        .pr-f:last-child{border-bottom:none}
        
        .pr-f .chk{width:18px;height:18px;flex-shrink:0;color:#002bff;filter:drop-shadow(0 2px 4px rgba(56,189,248,0.2))}
        
        /* Disabled Row states */
        .pr-f.off { color: rgba(15,23,42,0.4); background: transparent !important; }
        .pr-f.off:hover { padding-left: 0; margin-left: 0; width: 100%; border-bottom-color:rgba(15,23,42,.04); }
        .pr-f.off::before { display: none; }
        .pr-f.off .cross { width:18px; height:18px; flex-shrink:0; color: rgba(15,23,42,0.3); }
        .pr-f.off .pr-inline-logo { opacity: 0.2 !important; filter: grayscale(1) !important; transform: none !important; }

        .pr-f strong{color:#0f172a;font-weight:600}
        
        /* Neon Tags */
        .pr-f .tag{font-size:10px;font-weight:800;color:#002bff;background:rgba(56,189,248,.1);border:1px solid rgba(56,189,248,.3);padding:4px 10px;border-radius:100px;margin-left:8px;line-height:1;box-shadow:0 2px 5px rgba(56,189,248,0.1)}

        /* Standardized Logos mapped to right - Full Color */
        .pr-inline-logo{height:16px !important;max-width:100px;object-fit:contain;opacity:0.7;margin-left:auto;flex-shrink:0;transition:all 0.2s}
        .pr-f:hover .pr-inline-logo{opacity:1 !important; transform:scale(1.05)}

        /* Tooltips - High Contrast Styling */
        .tip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,43,255,.3);font-size:10px;font-weight:700;color:#002bff;background:transparent;cursor:help;margin-left:6px;flex-shrink:0;transition:all .2s;box-shadow:0 2px 4px rgba(56,189,248,0.1)}
        .tip:hover{border-color:#002bff;color:#fff;background:#002bff;box-shadow:0 0 10px rgba(0,43,255,0.3)}
        .tip .tt{display:none;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);width:260px;padding:14px;background:#ffffff;border:1px solid rgba(56,189,248,0.3);border-radius:10px;font-family:'Inter',sans-serif;font-size:12px;font-style:normal;font-weight:500;color:#0f172a;line-height:1.6;z-index:100;box-shadow:0 10px 30px rgba(0,43,255,0.1), 0 4px 10px rgba(0,0,0,0.05);pointer-events:none;text-align:left}
        .tip:hover .tt{display:block}

        /* Long-form policy popover. Uses the native popover API so the panel
           renders in the browser top-layer, escaping containing blocks created
           by ancestors with backdrop-filter / transform / filter. */
        .tip-btn{
            display:inline-flex;align-items:center;justify-content:center;
            width:16px;height:16px;border-radius:50%;
            border:1px solid rgba(0,43,255,.3);
            font-size:10px;font-weight:700;color:#002bff;
            background:transparent;cursor:pointer;
            margin-left:6px;flex-shrink:0;
            padding:0;line-height:1;
            font-family:inherit;
            vertical-align:middle;
            transition:all .2s;
            box-shadow:0 2px 4px rgba(56,189,248,0.1);
        }
        .tip-btn:hover,.tip-btn:focus-visible{
            border-color:#002bff;color:#fff;background:#002bff;
            box-shadow:0 0 10px rgba(0,43,255,0.3);outline:none;
        }
        .big-tooltip[popover]{
            margin:auto;
            width:min(420px, calc(100vw - 24px));
            height:fit-content;
            max-height:min(78vh, 580px);
            overflow-y:auto;
            padding:22px 24px;
            background:#fff;
            border:1px solid rgba(56,189,248,0.3);
            border-radius:14px;
            font-family:'Inter',sans-serif;
            font-size:13px;line-height:1.6;
            color:#0f172a;
            box-shadow:0 24px 60px rgba(0,43,255,0.2), 0 8px 24px rgba(0,0,0,0.08);
            -webkit-overflow-scrolling:touch;
        }
        .big-tooltip[popover]::backdrop{
            background:rgba(15,23,42,0.4);
            -webkit-backdrop-filter:blur(2px);
            backdrop-filter:blur(2px);
        }
        .big-tooltip strong{
            display:block;
            font-size:14px;font-weight:700;color:#002bff;
            margin:0 0 14px;padding-right:36px;
            letter-spacing:.005em;
        }
        .big-tooltip p{margin:0 0 10px;font-weight:500}
        .big-tooltip p:last-of-type{margin-bottom:0}
        .big-tooltip-close{
            position:absolute;top:12px;right:12px;
            width:28px;height:28px;border-radius:50%;
            border:none;background:rgba(15,23,42,0.06);
            color:#0f172a;font-size:18px;line-height:1;
            cursor:pointer;padding:0;
            transition:background .2s;
        }
        .big-tooltip-close:hover{background:rgba(15,23,42,0.12)}
        @media(max-width:600px){
            .big-tooltip[popover]{
                padding:18px;
                font-size:12.5px;line-height:1.55;
                width:calc(100vw - 16px);
                max-height:82vh;
            }
            .big-tooltip strong{font-size:13px;margin-bottom:12px}
        }

        /* Boxed Layouts to Break Up the Card */
        .pr-box, .pr-guar {
            background: #ffffff;
            border: 1px solid rgba(56,189,248,0.2);
            border-radius: 16px;
            padding: 24px;
            margin-top: 24px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.02);
            transition: all 0.3s ease;
        }
        .pr-box:hover, .pr-guar:hover {
            transform: translateY(-2px);
            box-shadow: 0 12px 30px rgba(0,43,255,0.06);
            border-color: rgba(0,43,255,0.3);
        }
        
        .pr-guar {
            background: linear-gradient(180deg, rgba(56,189,248,0.03) 0%, #ffffff 100%);
            border-color: rgba(56,189,248,0.3);
        }

        /* Editors block */
        .pr-editors{background:linear-gradient(180deg, rgba(248, 250, 252, 0.6), rgba(241, 245, 249, 0.6));border:1px dashed rgba(0,43,255,0.25);border-radius:16px;padding:32px;margin-top:32px;text-align:center;transition: all 0.3s ease}
        .pr-editors:hover {
            transform: translateY(-2px);
            box-shadow: 0 12px 30px rgba(0,43,255,0.04);
            border-color: rgba(0,43,255,0.4);
        }

        .pr-editors-title{display:flex;align-items:center;justify-content:center;margin-bottom:8px;color:#0f172a}
        .pr-editors-sub{font-size:13px;color:rgba(15,23,42,.6);margin-bottom:20px;line-height:1.5;font-style:normal}
        .pr-editors-list{font-size:12.5px;color:rgba(15,23,42,.6);line-height:2}
        .pr-editors-list strong{color:#0f172a;font-weight:600}
        .pr-editors-more{font-size:12px;color:#002bff;margin-top:16px;font-style:italic}


        /* ======================================= */
        /* ======= PURPLE THEME (PREMIUM) ======== */
        /* ======================================= */
        
        .theme-purple {
            background: linear-gradient(180deg, rgba(250, 245, 255, 0.95) 0%, rgba(255, 255, 255, 0.85) 15%, rgba(255, 255, 255, 0.85) 100%);
            border-color: rgba(168, 85, 247, 0.3);
            animation: none; /* Removed animation to demote tier */
            box-shadow: 0 8px 30px rgba(126, 34, 206, 0.05);
        }
        .theme-purple::before {
            display: none; /* Removed glowing top edge to demote tier */
        }
        .theme-purple:hover { 
            border-color: rgba(126, 34, 206, 0.4); 
            box-shadow: 0 12px 40px rgba(126, 34, 206, 0.08); 
        }
        
        /* Inline Badge for Premium (demoted from floating) */
        .pr-card-save-inline {
            display: inline-flex;
            font-family: 'Inter', sans-serif;
            font-size: 13px;
            font-weight: 800;
            color: #fff;
            background: linear-gradient(135deg, #7e22ce, #c084fc);
            padding: 6px 16px;
            border-radius: 100px;
            letter-spacing: 0.02em;
            border: 1px solid rgba(255,255,255,0.4);
            box-shadow: 0 4px 10px rgba(126,34,206,0.2);
            vertical-align: middle;
        }
        
        .theme-purple .pr-card-name {
            color: #7e22ce;
            font-size: 48px; /* Smaller title font size to demote tier */
            text-shadow: 0 0 15px rgba(126,34,206,0.3);
        }
        .theme-purple .pr-price-eyebrow {
            color: #7e22ce;
            background: rgba(126,34,206,0.06);
        }
        .theme-purple .pr-card-old {
            text-decoration-color: #7e22ce !important;
            color: rgba(15,23,42,0.35) !important;
        }
        .theme-purple .pr-stat-value {
            color: #7e22ce;
            text-shadow: 0 0 10px rgba(192,132,252,0.3);
        }
        .theme-purple .pr-sh::before, 
        .theme-purple .pr-box .pr-box-title::before, 
        .theme-purple .pr-guar .pr-guar-title::before, 
        .theme-purple .pr-stats-head::before, 
        .theme-purple .pr-editors-title::before {
            background: #7e22ce;
            box-shadow: 0 0 10px rgba(192,132,252,0.8);
        }
        
        .theme-purple .pr-f:hover {
            background: linear-gradient(90deg, rgba(168, 85, 247, 0.08) 0%, transparent 100%);
        }
        .theme-purple .pr-f::before { background: #7e22ce; }
        .theme-purple .pr-f .chk {
            color: #7e22ce;
            filter: drop-shadow(0 2px 4px rgba(192,132,252,0.2));
        }
        .theme-purple .pr-f .tag {
            color: #7e22ce;
            background: rgba(168,85,247,.1);
            border-color: rgba(168,85,247,.3);
            box-shadow: 0 2px 5px rgba(168,85,247,0.1);
        }
        .theme-purple .tip {
            border-color: rgba(126,34,206,.3);
            color: #7e22ce;
            box-shadow: 0 2px 4px rgba(192,132,252,0.1);
        }
        .theme-purple .tip:hover {
            border-color: #7e22ce;
            background: #7e22ce;
            box-shadow: 0 0 10px rgba(126,34,206,0.3);
        }
        .theme-purple .tip .tt {
            border-color: rgba(192,132,252,0.3);
            box-shadow: 0 10px 30px rgba(126,34,206,0.1), 0 4px 10px rgba(0,0,0,0.05);
        }
        
        .theme-purple .pr-box, .theme-purple .pr-guar { border-color: rgba(192,132,252,0.2); }
        .theme-purple .pr-box:hover, .theme-purple .pr-guar:hover {
            box-shadow: 0 12px 30px rgba(126,34,206,0.06);
            border-color: rgba(126,34,206,0.3);
        }
        .theme-purple .pr-guar {
            background: linear-gradient(180deg, rgba(192,132,252,0.03) 0%, #ffffff 100%);
            border-color: rgba(192,132,252,0.3);
        }
        .theme-purple .pr-stats-block {
            border-color: rgba(126, 34, 206, 0.12);
            box-shadow: 0 8px 32px rgba(126,34,206,0.04);
        }
        .theme-purple .pr-stats-block:hover { box-shadow: 0 12px 40px rgba(126,34,206,0.08); }
        
        /* Purple CTA variant */
        .theme-purple .pr-card-cta {
            background: linear-gradient(180deg, #9333ea 0%, #a855f7 40%, #c084fc 70%, #d8b4fe 100%);
            box-shadow: 0 5px 0 0 #7e22ce, 0 8px 20px rgba(147,51,234,.25);
            color: #fff;
        }
        .theme-purple .pr-card-cta:hover { box-shadow: 0 7px 0 0 #7e22ce, 0 12px 28px rgba(147,51,234,.35); }
        .theme-purple .pr-card-cta:active { box-shadow: 0 1px 0 0 #7e22ce; }


        /* ======================================= */
        /* ======= GRAY THEME (STARTER) ========== */
        /* ======================================= */
        
        .theme-gray {
            background: linear-gradient(180deg, rgba(248, 250, 252, 0.95) 0%, rgba(255, 255, 255, 0.85) 15%, rgba(255, 255, 255, 0.85) 100%);
            border-color: rgba(100, 116, 139, 0.3);
            animation: none; 
            box-shadow: 0 4px 20px rgba(100, 116, 139, 0.05);
        }
        .theme-gray::before {
            display: none; 
        }
        .theme-gray:hover { 
            border-color: rgba(100, 116, 139, 0.4); 
            box-shadow: 0 8px 30px rgba(100, 116, 139, 0.08); 
        }
        
        .theme-gray .pr-card-save-inline {
            background: linear-gradient(135deg, #64748b, #94a3b8);
            box-shadow: 0 4px 10px rgba(100, 116, 139, 0.2);
            border-color: rgba(255,255,255,0.4);
        }
        
        .theme-gray .pr-card-name {
            color: #475569;
            font-size: 40px; /* Smallest title to demote tier */
            text-shadow: none;
        }
        .theme-gray .pr-price-eyebrow {
            color: #475569;
            background: rgba(100, 116, 139, 0.1);
        }
        .theme-gray .pr-card-old {
            text-decoration-color: #94a3b8 !important;
            color: rgba(15,23,42,0.3) !important;
        }
        .theme-gray .pr-stat-value {
            color: #475569;
            text-shadow: none;
        }
        .theme-gray .pr-sh::before, 
        .theme-gray .pr-box .pr-box-title::before, 
        .theme-gray .pr-guar .pr-guar-title::before, 
        .theme-gray .pr-stats-head::before, 
        .theme-gray .pr-editors-title::before {
            background: #64748b;
            box-shadow: none;
        }
        
        .theme-gray .pr-f:hover {
            background: linear-gradient(90deg, rgba(100, 116, 139, 0.05) 0%, transparent 100%);
        }
        .theme-gray .pr-f::before { background: #64748b; }
        .theme-gray .pr-f .chk {
            color: #64748b;
            filter: none;
        }
        .theme-gray .pr-f .tag {
            color: #475569;
            background: rgba(100,116,139,.1);
            border-color: rgba(100,116,139,.2);
            box-shadow: none;
        }
        .theme-gray .tip {
            border-color: rgba(100,116,139,.3);
            color: #64748b;
            box-shadow: none;
        }
        .theme-gray .tip:hover {
            border-color: #64748b;
            background: #64748b;
            color: #fff;
        }
        .theme-gray .tip .tt {
            border-color: rgba(100,116,139,0.3);
            box-shadow: 0 10px 30px rgba(100,116,139,0.1), 0 4px 10px rgba(0,0,0,0.05);
        }
        
        .theme-gray .pr-box, .theme-gray .pr-guar { border-color: rgba(100,116,139,0.15); }
        .theme-gray .pr-box:hover, .theme-gray .pr-guar:hover {
            box-shadow: 0 8px 20px rgba(100,116,139,0.04);
            border-color: rgba(100,116,139,0.25);
        }
        .theme-gray .pr-guar {
            background: linear-gradient(180deg, rgba(100,116,139,0.02) 0%, #ffffff 100%);
            border-color: rgba(100,116,139,0.2);
        }
        .theme-gray .pr-stats-block {
            border-color: rgba(100, 116, 139, 0.15);
            box-shadow: none;
            background: #ffffff;
        }
        .theme-gray .pr-stats-block:hover { box-shadow: 0 8px 20px rgba(100,116,139,0.04); }
        
        /* Gray CTA variant */
        .theme-gray .pr-card-cta {
            background: linear-gradient(180deg, #475569 0%, #64748b 100%);
            box-shadow: 0 4px 0 0 #334155, 0 8px 15px rgba(71,85,105,.2);
            color: #fff;
        }
        .theme-gray .pr-card-cta:hover { box-shadow: 0 6px 0 0 #334155, 0 10px 20px rgba(71,85,105,.25); }
        .theme-gray .pr-card-cta:active { box-shadow: 0 1px 0 0 #334155; }


        /* ======= BLURRED OVERLAY FEATURE GATE ======== */
        .blur-overlay-container {
            position: relative;
            margin-top: 32px;
            border-radius: 16px;
            overflow: hidden;
            display: flex;
            flex-direction: column;
        }
        .blur-content {
            filter: blur(5px);
            opacity: 0.5;
            margin-top: 0 !important;
            pointer-events: none;
            user-select: none;
        }
        .blur-content:hover {
            transform: none !important;
            box-shadow: none !important;
            border-color: rgba(126,34,206,0.25) !important;
        }
        .blur-overlay-text {
            position: absolute;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: 'Inter', sans-serif;
            font-size: 15px;
            font-weight: 700;
            color: #0f172a;
            background: rgba(248, 250, 252, 0.4);
            z-index: 2;
            border-radius: 16px;
            box-shadow: inset 0 0 0 1px rgba(15,23,42,0.05);
        }


        /* ======= RESPONSIVE ======= */
        @media(max-width:1250px){
            .pr-cards{grid-template-columns:1fr;max-width:680px}
        }
        @media(max-width:1000px){
            .ban{flex-direction:column;padding:36px 28px;gap:32px}
            .ban-headline{text-align:center}
            .ban-pills{justify-content:center}
            .ban-sub{justify-content:center}
            .ban-timer-wrap{width:100%}
            .ban-digits{justify-content:center}
            .ban-unit{flex:1;min-width:0}
            .pr-heading h1{font-size:40px}
        }
        @media(max-width:600px){
            .pr-card{padding:44px 20px 24px 20px} 
            .pr-card-save{right:20px; top:-14px}
            .pr-card-name{flex-direction:column;align-items:flex-start;gap:12px;font-size:48px}
            .theme-purple .pr-card-name{font-size:40px}
            .forbes-callout{flex-direction:column;align-items:flex-start;gap:16px}
            .pr-stats-block{padding:24px 20px}
            .pr-box, .pr-guar {padding:20px}
            .pr-editors{padding:24px 20px}
            .pr-card-new, .pr-card-old{font-size:40px}
        }
        @media(max-width:500px){
            .ban-unit span:first-child{font-size:28px}
            .ban-unit{padding:12px 16px}
        }
/* ======= CARD COLLAPSE / EXPAND ======= */
.pr-card.collapsed {
    max-height: var(--collapse-height, 2400px);
    clip-path: inset(-24px -12px 0px -12px);
    position: relative;
}
.pr-card.collapsed::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 200px;
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0.6) 30%, rgba(255,255,255,0.95) 70%, #ffffff 100%);
    pointer-events: none;
    z-index: 5;
    border-radius: 0 0 24px 24px;
}
.pr-card.theme-purple.collapsed::after {
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(253,251,255,0.6) 30%, rgba(253,251,255,0.95) 70%, rgba(253,251,255,1) 100%);
}
.pr-expand-btn {
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #002bff;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(0,43,255,0.2);
    padding: 12px 28px;
    border-radius: 100px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px rgba(0,43,255,0.1);
    letter-spacing: 0.02em;
}
.pr-expand-btn:hover {
    transform: translateX(-50%) translateY(-2px);
    box-shadow: 0 8px 30px rgba(0,43,255,0.15);
    border-color: rgba(0,43,255,0.4);
    background: #fff;
}
.pr-expand-btn i { width: 16px; height: 16px; }
.theme-purple .pr-expand-btn {
    color: #7e22ce;
    border-color: rgba(126,34,206,0.2);
    box-shadow: 0 4px 20px rgba(126,34,206,0.1);
}
.theme-purple .pr-expand-btn:hover {
    box-shadow: 0 8px 30px rgba(126,34,206,0.15);
    border-color: rgba(126,34,206,0.4);
}
.pr-card:not(.collapsed) .pr-expand-btn { display: none; }
.pr-card { transition: max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1); }

/* ======= ENTERPRISE SECTION ======= */
.ent {
    width: 100%;
    max-width: 1400px;
    margin-top: 80px;
    padding: 72px 56px;
    background: linear-gradient(180deg, rgba(240,248,255,0.95) 0%, rgba(255,255,255,0.85) 15%, rgba(255,255,255,0.85) 100%);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(56,189,248,0.3);
    border-radius: 28px;
    position: relative;
    overflow: hidden;
}
.ent::before {
    content: '';
    position: absolute;
    top: 0; left: 15%; right: 15%; height: 2px;
    background: linear-gradient(90deg, transparent, #38bdf8, #002bff, #38bdf8, transparent);
    opacity: 0.9;
    box-shadow: 0 0 10px #38bdf8, 0 0 20px #002bff;
    border-radius: 100px;
}
.ent::after {
    content: '';
    position: absolute;
    top: -200px; right: -200px;
    width: 500px; height: 500px;
    background: radial-gradient(circle, rgba(56,189,248,0.06) 0%, transparent 70%);
    pointer-events: none;
}

.ent-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 64px;
    position: relative;
    z-index: 1;
}
.ent-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #002bff;
    background: rgba(0,43,255,0.06);
    border: 1px solid rgba(0,43,255,0.15);
    padding: 8px 20px;
    border-radius: 100px;
    margin-bottom: 28px;
    box-shadow: 0 4px 15px rgba(0,43,255,0.06);
}
.ent-eyebrow i { width: 14px; height: 14px; }
.ent-title {
    font-family: 'Instrument Serif', serif;
    font-size: 36px;
    font-weight: 400;
    font-style: italic;
    letter-spacing: -0.02em;
    line-height: 1.25;
    color: #0f172a;
    margin-bottom: 20px;
}
.ent-sub {
    font-size: 15px;
    color: rgba(15,23,42,0.5);
    line-height: 1.7;
    font-weight: 400;
}

/* Feature cards */
.ent-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 56px;
    position: relative;
    z-index: 1;
}
.ent-feat {
    background: #ffffff;
    border: 1px solid rgba(56,189,248,0.15);
    border-radius: 16px;
    padding: 32px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}
.ent-feat:hover {
    border-color: rgba(0,43,255,0.25);
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(0,43,255,0.06);
}
.ent-feat-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,43,255,0.06);
    border: 1px solid rgba(56,189,248,0.2);
    border-radius: 10px;
    margin-bottom: 20px;
    color: #002bff;
}
.ent-feat-icon i { width: 20px; height: 20px; filter: drop-shadow(0 2px 4px rgba(56,189,248,0.2)); }
.ent-feat h3 {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 12px;
    letter-spacing: -0.01em;
}
.ent-feat p {
    font-size: 13.5px;
    color: rgba(15,23,42,0.55);
    line-height: 1.65;
}

/* Includes section */
.ent-includes {
    background: #ffffff;
    border: 1px solid rgba(56,189,248,0.15);
    border-radius: 16px;
    padding: 36px;
    margin-bottom: 48px;
    position: relative;
    z-index: 1;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}
.ent-includes-head {
    font-family: 'Instrument Serif', serif;
    font-size: 24px;
    font-style: italic;
    color: #0f172a;
    margin-bottom: 28px;
    text-align: center;
}
.ent-includes-head::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    background: #002bff;
    border-radius: 50%;
    margin-right: 12px;
    box-shadow: 0 0 10px rgba(56,189,248,0.8);
    vertical-align: middle;
    position: relative;
    top: -2px;
}
.ent-includes-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
}
.ent-inc {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 13.5px;
    color: rgba(15,23,42,0.65);
    line-height: 1.5;
    padding: 14px 16px;
    border-bottom: 1px solid rgba(15,23,42,0.04);
    transition: all 0.2s ease;
    position: relative;
}
.ent-inc:nth-last-child(-n+2) { border-bottom: none; }
.ent-inc:hover {
    color: rgba(15,23,42,0.85);
    background: linear-gradient(90deg, rgba(56,189,248,0.06) 0%, transparent 100%);
    border-radius: 8px;
}
.ent-inc i {
    width: 16px;
    height: 16px;
    color: #002bff;
    flex-shrink: 0;
    margin-top: 2px;
    filter: drop-shadow(0 2px 4px rgba(56,189,248,0.2));
}

/* CTA */
.ent-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    padding: 20px 0;
    border-radius: 14px;
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s;
    background: linear-gradient(180deg, #2878e8 0%, #35a0ee 40%, #44bcf0 70%, #5cd6f4 100%);
    border: none;
    box-shadow: 0 5px 0 0 #1e6abf, 0 8px 20px rgba(37,120,235,.25);
    color: #fff;
    text-shadow: 0 1px 2px rgba(0,0,0,.15);
    position: relative;
    z-index: 1;
}
.ent-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 7px 0 0 #1e6abf, 0 12px 28px rgba(37,120,235,.35);
}
.ent-cta:active {
    transform: translateY(3px);
    box-shadow: 0 1px 0 0 #1e6abf;
}

/* Responsive */
@media(max-width:1000px) {
    .ent { padding: 48px 32px; }
    .ent-features { grid-template-columns: 1fr; }
    .ent-includes-grid { grid-template-columns: 1fr; }
    .ent-inc:nth-last-child(2) { border-bottom: 1px solid rgba(15,23,42,0.04); }
    .ent-inc:last-child { border-bottom: none; }
}
@media(max-width:600px) {
    .ent { padding: 36px 20px; margin-top: 56px; }
    .ent-title { font-size: 28px; }
    .ent-feat { padding: 24px; }
}

/* ======= COMPARE PLANS TABLE ======= */
.cmp {
    width: 100%;
    max-width: 1400px;
    margin-top: 100px;
    position: relative;
}
.cmp-header {
    text-align: center;
    margin-bottom: 56px;
}
.cmp-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #002bff;
    background: rgba(0,43,255,0.06);
    border: 1px solid rgba(0,43,255,0.15);
    padding: 8px 20px;
    border-radius: 100px;
    margin-bottom: 24px;
    box-shadow: 0 4px 15px rgba(0,43,255,0.06);
}
.cmp-eyebrow i { width: 14px; height: 14px; }
.cmp-title {
    font-family: 'Instrument Serif', serif;
    font-size: 52px;
    font-weight: 400;
    letter-spacing: -0.03em;
    line-height: 1.1;
    color: #0f172a;
    margin-bottom: 12px;
}
.cmp-title span {
    color: #002bff;
    font-style: italic;
    text-shadow: 0 0 20px rgba(56,189,248,.3);
}
.cmp-sub {
    font-size: 15px;
    color: rgba(15,23,42,0.45);
    font-weight: 400;
}

.cmp-table-wrap {
    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(248,250,252,0.95) 100%);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(56,189,248,0.2);
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 8px 40px rgba(0,43,255,0.04), 0 1px 0 rgba(255,255,255,0.8) inset;
    position: relative;
}
.cmp-table-wrap::before {
    content: '';
    position: absolute;
    top: 0; left: 12%; right: 12%; height: 2px;
    background: linear-gradient(90deg, transparent, #38bdf8, #002bff, #38bdf8, transparent);
    opacity: 0.6;
    z-index: 2;
    border-radius: 100px;
}
.cmp-scroll { -webkit-overflow-scrolling: touch; }
.cmp-table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Inter', sans-serif;
}
.cmp-table td,
.cmp-table th {
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* ---- Plan Header Row ---- */
.cmp-table thead tr {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
}
.cmp-feat-col {
    width: 32%;
    padding: 32px 40px;
    text-align: left;
    vertical-align: middle;
    border-bottom: 1px solid rgba(15,23,42,0.06);
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: rgba(15,23,42,0.25);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.cmp-plan-col {
    width: 22.6%;
    padding: 24px 12px 24px;
    text-align: center;
    vertical-align: bottom;
    border-bottom: 1px solid rgba(15,23,42,0.06);
    position: relative;
}
.cmp-plan-col .cmp-plan-inner {
    background: #fff;
    border: 1px solid rgba(15,23,42,0.06);
    border-radius: 14px;
    padding: 16px 14px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.02);
}
.cmp-plan-col .cmp-plan-inner:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.04);
}
.cmp-plan-col.cmp-col-purple .cmp-plan-inner {
    border-color: rgba(126,34,206,0.12);
}
.cmp-plan-col.cmp-col-purple .cmp-plan-inner:hover {
    box-shadow: 0 8px 24px rgba(126,34,206,0.06);
    border-color: rgba(126,34,206,0.2);
}
.cmp-plan-col.cmp-col-blue .cmp-plan-inner {
    border-color: rgba(0,43,255,0.15);
    background: linear-gradient(180deg, rgba(240,248,255,0.6) 0%, #fff 100%);
    box-shadow: 0 4px 16px rgba(0,43,255,0.04);
}
.cmp-plan-col.cmp-col-blue .cmp-plan-inner:hover {
    box-shadow: 0 8px 24px rgba(0,43,255,0.08);
    border-color: rgba(0,43,255,0.25);
}
.cmp-plan-name {
    font-family: 'Instrument Serif', serif;
    font-size: 26px;
    font-weight: 400;
    font-style: italic;
    margin-bottom: 4px;
}
.cmp-plan-name.gray { color: #475569; }
.cmp-plan-name.purple { color: #7e22ce; text-shadow: 0 0 20px rgba(126,34,206,0.15); }
.cmp-plan-name.blue { color: #002bff; text-shadow: 0 0 20px rgba(0,43,255,0.2); }
.cmp-plan-price {
    font-size: 20px;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.03em;
    margin-bottom: 10px;
}
.cmp-plan-cta {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
    padding: 8px 20px;
    border-radius: 100px;
    text-decoration: none;
    transition: all 0.2s ease;
    cursor: pointer;
}
.cmp-plan-cta.cta-gray {
    color: #475569;
    background: rgba(100,116,139,0.08);
    border: 1px solid rgba(100,116,139,0.15);
}
.cmp-plan-cta.cta-gray:hover { background: rgba(100,116,139,0.12); border-color: rgba(100,116,139,0.25); }
.cmp-plan-cta.cta-purple {
    color: #7e22ce;
    background: rgba(126,34,206,0.06);
    border: 1px solid rgba(126,34,206,0.15);
}
.cmp-plan-cta.cta-purple:hover { background: rgba(126,34,206,0.1); border-color: rgba(126,34,206,0.25); }
.cmp-plan-cta.cta-blue {
    color: #fff;
    background: linear-gradient(135deg, #002bff, #38bdf8);
    border: none;
    box-shadow: 0 4px 12px rgba(0,43,255,0.2);
}
.cmp-plan-cta.cta-blue:hover { box-shadow: 0 6px 20px rgba(0,43,255,0.3); transform: translateY(-1px); }

/* Best value ribbon on Media column */
.cmp-best-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 800;
    color: #002bff;
    background: rgba(56,189,248,0.1);
    border: 1px solid rgba(0,43,255,0.15);
    padding: 4px 10px;
    border-radius: 100px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.cmp-best-pill i { width: 10px; height: 10px; }

/* ---- Blue highlight column stripe ---- */
.cmp-col-blue-bg {
    position: relative;
}
.cmp-col-blue-bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0,43,255,0.015);
    border-left: 1px solid rgba(56,189,248,0.06);
    border-right: 1px solid rgba(56,189,248,0.06);
    pointer-events: none;
}

/* ---- Category rows ---- */
.cmp-cat td {
    font-family: 'Instrument Serif', serif;
    font-size: 22px;
    font-weight: 400;
    font-style: italic;
    color: #0f172a;
    padding: 28px 40px 14px;
    background: rgba(248,250,252,0.6);
    border-bottom: none;
    position: relative;
}
.cmp-cat td:first-child::before {
    content: '';
    display: inline-block;
    width: 5px;
    height: 5px;
    background: #002bff;
    border-radius: 50%;
    margin-right: 12px;
    box-shadow: 0 0 8px rgba(56,189,248,0.6);
    vertical-align: middle;
    position: relative;
    top: -2px;
}
.cmp-cat td:first-child::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 40px;
    right: 40px;
    height: 1px;
    background: linear-gradient(90deg, rgba(0,43,255,0.1), rgba(56,189,248,0.06), transparent);
}

/* ---- Data rows ---- */
.cmp-table tbody tr:not(.cmp-cat) {
    transition: all 0.2s ease;
}
.cmp-table tbody tr:not(.cmp-cat):hover {
    background: linear-gradient(90deg, rgba(56,189,248,0.04) 0%, rgba(56,189,248,0.02) 40%, transparent 100%);
}
.cmp-table tbody td {
    padding: 14px 20px;
    font-size: 13.5px;
    color: rgba(15,23,42,0.55);
    border-bottom: 1px solid rgba(15,23,42,0.025);
    text-align: center;
    font-weight: 600;
    position: relative;
}
.cmp-table tbody td:first-child {
    text-align: left;
    padding-left: 40px;
    color: rgba(15,23,42,0.65);
    font-weight: 500;
}

/* ---- Check & Cross ---- */
.cmp-check {
    color: transparent !important;
}
.cmp-check::after {
    content: '';
    display: inline-block;
    width: 22px;
    height: 22px;
    background: rgba(0,43,255,0.08);
    border-radius: 50%;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 9.5L10.5 14.5L8 12' stroke='%23002bff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: 14px;
    background-repeat: no-repeat;
    background-position: center;
    box-shadow: 0 2px 6px rgba(0,43,255,0.08);
}
.cmp-x {
    color: transparent !important;
}
.cmp-x::after {
    content: '—';
    color: rgba(15,23,42,0.15);
    font-size: 18px;
    font-weight: 300;
}

/* Value cells (non check/cross) */
.cmp-table tbody td:not(:first-child):not(.cmp-check):not(.cmp-x) {
    font-family: 'Instrument Serif', serif;
    font-size: 18px;
    font-style: italic;
    color: #0f172a;
    font-weight: 400;
}

/* Blue column highlight on all rows */
.cmp-table tbody td:last-child,
.cmp-table thead th:last-child {
    background: rgba(0,43,255,0.015);
}
.cmp-table tbody tr:not(.cmp-cat):hover td:last-child {
    background: rgba(0,43,255,0.04);
}

/* Bottom radius */
.cmp-table tbody tr:last-child td:first-child { border-radius: 0 0 0 28px; }
.cmp-table tbody tr:last-child td:last-child { border-radius: 0 0 28px 0; }
.cmp-table tbody tr:last-child td { border-bottom: none; }

/* Responsive */
@media(max-width:1000px) {
    .cmp { margin-top: 64px; }
    .cmp-title { font-size: 40px; }
    .cmp-table-wrap { border-radius: 20px; }
    /* Lock column widths via table-layout:fixed so the cells honor the
       percentages we set below instead of auto-sizing to longest content. */
    .cmp-table { table-layout: fixed; }
    .cmp-feat-col { padding: 24px 18px 20px; width: 34%; }
    .cmp-plan-col { width: 22%; padding: 20px 8px; }
    .cmp-plan-col .cmp-plan-inner { padding: 14px 10px; }
    .cmp-table tbody td { padding: 12px 8px; font-size: 13px; }
    .cmp-table tbody td:first-child { padding-left: 20px; padding-right: 8px; }
    .cmp-cat td { padding: 22px 20px 12px; font-size: 20px; }
    .cmp-cat td:first-child::after { left: 20px; right: 20px; }
    .cmp-table tbody td:not(:first-child):not(.cmp-check):not(.cmp-x) { font-size: 18px; }
    .cmp-check::after { width: 20px; height: 20px; background-size: 13px; }
}
@media(max-width:600px) {
    .cmp-title { font-size: 32px; }
    .cmp-plan-name { font-size: 24px; }
    .cmp-plan-price { font-size: 18px; }
}

/* ======= FAQ SECTION ======= */
.faq {
    width: 100%;
    max-width: 900px;
    margin: 100px auto 80px;
}
.faq-header {
    text-align: center;
    margin-bottom: 48px;
}
.faq-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #002bff;
    background: rgba(0,43,255,0.06);
    border: 1px solid rgba(0,43,255,0.15);
    padding: 8px 20px;
    border-radius: 100px;
    margin-bottom: 24px;
    box-shadow: 0 4px 15px rgba(0,43,255,0.06);
}
.faq-eyebrow i { width: 14px; height: 14px; }
.faq-title {
    font-family: 'Instrument Serif', serif;
    font-size: 52px;
    font-weight: 400;
    letter-spacing: -0.03em;
    line-height: 1.1;
    color: #0f172a;
}
.faq-title span {
    color: #002bff;
    font-style: italic;
    text-shadow: 0 0 20px rgba(56,189,248,.3);
}

.faq-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.faq-item {
    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(248,250,252,0.95) 100%);
    border: 1px solid rgba(56,189,248,0.15);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.01);
}
.faq-item:hover {
    border-color: rgba(0,43,255,0.2);
    box-shadow: 0 4px 20px rgba(0,43,255,0.04);
}
.faq-item.open {
    border-color: rgba(0,43,255,0.25);
    box-shadow: 0 8px 32px rgba(0,43,255,0.06);
}

.faq-q {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 28px;
    background: none;
    border: none;
    cursor: pointer;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #0f172a;
    text-align: left;
    line-height: 1.5;
    transition: color 0.2s ease;
}
.faq-q:hover { color: #002bff; }
.faq-item.open .faq-q { color: #002bff; }
.faq-q i {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    color: rgba(15,23,42,0.25);
    transition: all 0.3s ease;
}
.faq-item.open .faq-q i {
    transform: rotate(180deg);
    color: #002bff;
}

.faq-a {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), padding 0.3s ease;
    padding: 0 28px;
}
.faq-item.open .faq-a {
    max-height: 800px;
    padding: 0 28px 24px;
}
.faq-a p {
    font-size: 14px;
    color: rgba(15,23,42,0.55);
    line-height: 1.75;
    margin-bottom: 12px;
}
.faq-a p:last-child { margin-bottom: 0; }
.faq-a p strong {
    color: #0f172a;
    font-weight: 600;
}

@media(max-width:600px) {
    .faq { margin-top: 64px; }
    .faq-title { font-size: 36px; }
    .faq-q { padding: 18px 20px; font-size: 14px; }
    .faq-a { padding: 0 20px; }
    .faq-item.open .faq-a { padding: 0 20px 20px; }
}

/* ================================================
   MOBILE & TABLET POLISH
   Layered on top of the per-component rules above
   so existing breakpoints stay untouched.
   ================================================ */

/* --- Tablet (≤1024px) --- */
@media(max-width:1024px) {
    body { padding: 120px 20px 64px; }
    .pr-heading { padding: 56px 0 0; }
    .pr-heading h1 { font-size: 36px; }
    .pr-heading p { font-size: 15px; }
    .ban-unit { padding: 16px 20px; }
    .ban-unit span:first-child { font-size: 32px; }
    .ent { margin-top: 64px; padding: 56px 36px; }
    .cmp { margin-top: 80px; }
    .cmp-title { font-size: 44px; }
    .faq { margin: 80px auto 64px; }
    .faq-title { font-size: 44px; }
}

/* --- Mobile (≤640px) --- */
@media(max-width:640px) {
    body { padding: 80px 14px 48px; }
    .pr-heading { padding: 32px 0 0; max-width: 100%; }
    .pr-heading h1 { font-size: 30px; line-height: 1.15; }
    .pr-heading p { font-size: 14px; line-height: 1.6; }
    .pr-cards { padding-top: 12px; gap: 16px; }
    .pr-card-scarcity {
        font-size: 10px;
        padding: 5px 11px;
        gap: 6px;
        margin-bottom: 12px;
        letter-spacing: 0.08em;
    }
    .pr-scarcity-dot { width: 6px; height: 6px; }
    .ban { padding: 28px 18px; gap: 24px; }
    .ban-pill { padding: 7px 18px; font-size: 10px; }
    .ban-discount { padding: 8px 24px; margin-bottom: 24px; }
    .ban-timer-wrap { padding: 16px 18px 18px; }
    .ban-timer-label { font-size: 11px; margin-bottom: 10px; }
    .ban-digits { gap: 8px; }
    .ent { margin-top: 48px; padding: 32px 18px; }
    .ent-title { font-size: 24px; line-height: 1.25; }
    .ent-sub { font-size: 14px; }
    .ent-feat { padding: 20px; }
    .cmp { margin-top: 56px; }
    .cmp-title { font-size: 30px; }
    .cmp-sub { font-size: 13px; }
    .faq { margin: 56px auto 40px; }
    .faq-title { font-size: 32px; }
    .faq-eyebrow { font-size: 11px; padding: 7px 16px; }
}

/* --- Tiny phones (≤380px) --- */
@media(max-width:380px) {
    body { padding: 72px 12px 40px; }
    .pr-heading h1 { font-size: 26px; }
    .ban-discount { padding: 7px 20px; }
    .ban-headline { line-height: 0.95; }
    .pr-card-name { font-size: 36px; }
    .theme-purple .pr-card-name { font-size: 32px; }
    .theme-gray .pr-card-name { font-size: 28px; }
    .pr-card-new, .pr-card-old { font-size: 32px; }
    .cmp-title { font-size: 26px; }
    .faq-title { font-size: 26px; }
}

/* ================================================
   MOBILE POLISH — second pass
   Tightens card chrome, caps the very-tall collapsed
   teaser, dims decorative orbs for paint cost, clamps
   tooltips to viewport, beefs up tap targets.
   ================================================ */

@media(max-width:640px) {
    /* --- Decorative aurora orbs: shrink + dim. 700px blurs are expensive
           on mid-range Androids and the visual effect is lost on small viewports. --- */
    .bg-glow { filter: blur(80px); opacity: 0.15; }
    .bg-glow-1 { width: 320px; height: 320px; top: -100px; left: -100px; }
    .bg-glow-2 { width: 280px; height: 280px; bottom: -80px; right: -80px; }
    .bg-glow-3 { width: 360px; height: 360px; opacity: 0.1; }

    /* --- Breadcrumb (inline-styled in HTML, so override with !important) --- */
    nav[aria-label="Breadcrumb"] { padding: 16px 14px 0 !important; }

    /* --- Card chrome: drop side padding so content actually fits --- */
    .pr-card { padding: 32px 18px 22px; border-radius: 20px; }
    .pr-card.theme-purple,
    .pr-card.theme-gray { padding-top: 24px; }       /* no floating ribbon → no extra top */

    /* --- Cap the collapsed-teaser height. pricing.js sets --collapse-height
           to STARTER's full mobile height which is enormous when stacked. --- */
    .pr-card.collapsed { max-height: 760px; }
    .pr-card.collapsed::after { height: 160px; }

    /* --- Stats & feature rows: tighter rhythm --- */
    .pr-stats-block { padding: 20px 16px; }
    .pr-stat-row { padding: 12px 0; }
    .pr-stat-label { font-size: 12px; }
    .pr-stat-value { font-size: 22px; }
    .pr-f { padding: 9px 0; font-size: 13px; gap: 10px; }
    .pr-f .chk, .pr-f.off .cross { width: 16px; height: 16px; }
    .pr-f .tag { font-size: 9px; padding: 3px 8px; margin-left: 6px; }
    .pr-inline-logo { height: 14px !important; max-width: 70px; }

    /* --- Boxes / guarantees / editors: tighter --- */
    .pr-box, .pr-guar { padding: 18px; margin-top: 18px; border-radius: 14px; }
    .pr-editors { padding: 22px 16px; margin-top: 22px; border-radius: 14px; }
    .pr-sh, .pr-box .pr-box-title, .pr-guar .pr-guar-title,
    .pr-stats-head, .pr-editors-title { font-size: 22px; }
    .pr-sh { margin: 22px 0 12px; padding-bottom: 10px; }
    .pr-box-sub, .pr-editors-sub { font-size: 12px; }
    .pr-sh::before, .pr-box .pr-box-title::before,
    .pr-guar .pr-guar-title::before, .pr-stats-head::before { margin-right: 8px; }

    /* --- Forbes hero callout --- */
    .forbes-callout { padding: 14px 16px; margin-bottom: 24px; gap: 12px; }
    .forbes-callout p { font-size: 12.5px; line-height: 1.45; }
    .forbes-callout img { height: 22px; }

    /* --- Pricing area --- */
    .pr-price-block { margin-bottom: 22px; }
    .pr-price-eyebrow { font-size: 10px; padding: 3px 10px; }

    /* --- CTA: snug under price, beefier tap target --- */
    .pr-card-cta { padding: 18px 0; font-size: 15px; border-radius: 12px; }
    .pr-card-cta-sub { margin-bottom: 24px; font-size: 11px; }

    /* --- Tooltip clamps to viewport so iPhones don't horizontally scroll --- */
    .tip .tt {
        width: min(260px, calc(100vw - 48px));
        font-size: 11px;
        padding: 12px;
    }

    /* --- Banner: tighter spread, headline rails on small phones --- */
    .ban { padding: 24px 16px; gap: 18px; }
    .ban-headline { font-size: clamp(40px, 11vw, 64px); margin-bottom: 16px; }
    .ban-discount { font-size: clamp(28px, 9vw, 40px); }
    .ban-sub { font-size: 13px; }

    /* --- Expand button: pull up so it doesn't crowd the next card --- */
    .pr-expand-btn { padding: 10px 22px; font-size: 13px; bottom: 16px; }

    /* --- Compare table: shrink every cell so the full 4-column
           comparison fits inside a phone viewport without horizontal
           scrolling. (table-layout:fixed inherited from the 1000px rule). --- */
    .cmp-table-wrap { border-radius: 18px; }
    .cmp-table-wrap::before { left: 8%; right: 8%; }

    .cmp-feat-col {
        width: 36%;
        padding: 14px 8px 12px;
        font-size: 9px;
        letter-spacing: 0.06em;
    }
    .cmp-plan-col {
        width: 21.33%;
        padding: 12px 4px;
    }
    .cmp-plan-col .cmp-plan-inner { padding: 10px 4px; border-radius: 10px; }
    .cmp-best-pill {
        font-size: 8px;
        padding: 3px 6px;
        gap: 3px;
        margin-bottom: 4px;
    }
    .cmp-best-pill i { width: 9px; height: 9px; }
    .cmp-plan-name { font-size: 18px; margin-bottom: 2px; }
    .cmp-plan-price { font-size: 13px; margin-bottom: 6px; }
    .cmp-plan-cta {
        padding: 7px 6px;
        font-size: 10.5px;
        letter-spacing: 0;
        display: block;          /* full-width inside the narrow plan col */
    }

    /* Body cells */
    .cmp-table tbody td {
        padding: 10px 4px;
        font-size: 11px;
        text-align: center;
    }
    .cmp-table tbody td:first-child {
        padding: 10px 6px 10px 12px;
        font-size: 11.5px;
        line-height: 1.35;
        text-align: left;
    }

    /* Category dividers */
    .cmp-cat td {
        padding: 18px 12px 8px !important;
        font-size: 18px !important;
    }
    .cmp-cat td:first-child::before {
        width: 4px;
        height: 4px;
        margin-right: 8px;
    }
    .cmp-cat td:first-child::after { left: 12px !important; right: 12px !important; }

    /* Check / cross icons */
    .cmp-check::after {
        width: 18px;
        height: 18px;
        background-size: 12px;
    }
    .cmp-x::after { font-size: 18px; }

    /* Numeric/value cells (e.g. "350M+", "1,000+") */
    .cmp-table tbody td:not(:first-child):not(.cmp-check):not(.cmp-x) {
        font-size: 13px;
    }

    /* Bottom radius matches new wrapper */
    .cmp-table tbody tr:last-child td:first-child { border-radius: 0 0 0 18px; }
    .cmp-table tbody tr:last-child td:last-child { border-radius: 0 0 18px 0; }
}

/* --- Tiny phones (≤380px): final pass for extra room --- */
@media(max-width:380px) {
    .pr-card { padding: 26px 14px 18px; }
    .pr-card.theme-purple,
    .pr-card.theme-gray { padding-top: 20px; }
    .pr-card.collapsed { max-height: 700px; }
    .pr-stats-block { padding: 16px 12px; }
    .pr-box, .pr-guar { padding: 14px; }
    .pr-editors { padding: 18px 12px; }
    .pr-f { font-size: 12.5px; gap: 8px; }
    .pr-card-cta { font-size: 14px; padding: 16px 0; }
    .pr-inline-logo { max-width: 56px; }
    .ban-headline { font-size: clamp(34px, 12vw, 48px); }
    .ban-pill { font-size: 9px; padding: 6px 14px; }
}

/* ================================================
   TIER NAV — phones only (≤640px)
   Cards stack as plain blocks; only the active one
   is visible. Arrow buttons cycle through visual
   order MEDIA → PREMIUM → STARTER.
   ================================================ */

/* Mobile-only nav — hidden on desktop/tablet */
.pr-cards-nav { display: none; }

@media(max-width:640px) {
    /* Cards container becomes a plain block stack — no flex, no scroll */
    .pr-cards {
        display: block;
        max-width: 100%;
        width: 100%;
        padding: 0;
        margin: 0;
        overflow: visible;
    }

    /* Hide every card; JS reveals one via .is-active */
    .pr-card { display: none; margin: 0 0 24px; }
    .pr-card.is-active { display: block; }

    /* No collapse on mobile — show the entire card. */
    .pr-card.collapsed { max-height: none; clip-path: none; }
    .pr-card.collapsed::after { display: none; }
    .pr-expand-btn { display: none; }

    /* ---- Tier nav bar (prev | label | next) ---- */
    .pr-cards-nav {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin: 0 0 18px;
        padding: 6px 4px;
    }
    .pr-current-tier {
        flex: 1;
        text-align: center;
        font-family: 'Inter', sans-serif;
        font-size: 12px;
        font-weight: 800;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: #002bff;
    }
    .pr-carousel-prev,
    .pr-carousel-next {
        flex-shrink: 0;
        width: 44px;
        height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
        border: 1px solid rgba(0,43,255,0.2);
        border-radius: 50%;
        color: #002bff;
        cursor: pointer;
        box-shadow: 0 4px 14px rgba(0,43,255,0.08);
        transition: transform 0.15s ease, box-shadow 0.15s ease;
    }
    .pr-carousel-prev:active,
    .pr-carousel-next:active {
        transform: scale(0.94);
        box-shadow: 0 2px 6px rgba(0,43,255,0.08);
    }
    .pr-carousel-prev:disabled,
    .pr-carousel-next:disabled {
        opacity: 0.35;
        cursor: not-allowed;
        box-shadow: none;
    }
}

/* ================================================
   ADDITIONAL MOBILE OPTIMIZATIONS — third pass
   Things that were still rough on phones beyond
   the carousel + scaling fixes already made.
   ================================================ */

@media(max-width:640px) {
    /* --- Disable the floating bg-glow animation on phones.
           10s float on three 320px+ blurred orbs costs paint
           every frame and the visual effect is mostly invisible
           on a small viewport. --- */
    .bg-glow { animation: none; }

    /* --- Tooltip 'i' icon — 16px is below the 24×24 minimum
           tap target. Bump to 22px on phones. --- */
    .tip { width: 22px; height: 22px; font-size: 12px; margin-left: 8px; }

    /* --- Skip to content link: ensure visible on focus on mobile --- */
    .skip-link:focus {
        top: 8px !important;
        left: 8px !important;
    }

    /* --- Body lock: prevent the carousel's negative margin from
           leaking horizontal scroll to the page itself. --- */
    body { overflow-x: hidden; }

    /* --- Long unbreakable text fixes ---
           These three are why the page rendered with content cut off
           on both sides on a phone: long uppercase letter-spaced text
           and flex containers with no wrap force their parents wider
           than the viewport. --- */
    .ban-subhead {
        width: 100%;
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
        letter-spacing: 0.08em;
        font-size: 10px;
        line-height: 1.5;
        padding: 0 4px;
    }
    .ban-sub {
        flex-wrap: wrap;
        max-width: 100%;
        gap: 6px;
    }
    .ban-sub img { height: 18px; }
    .ban-headline {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    /* Heading copy must be confined to the viewport so it wraps cleanly. */
    .pr-heading,
    .pr-heading h1,
    .pr-heading p {
        width: 100%;
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    /* Timer: tighten unit padding so three units fit a 320–375px viewport
       without flowing past the wrap edges. The default 20×32 padding eats
       most of the unit width, leaving content to overflow visibly. */
    .ban-timer-wrap { padding: 14px 12px 16px; }
    .ban-digits { gap: 6px; }
    .ban-unit { padding: 12px 4px; min-width: 0; }
    .ban-unit span:first-child { font-size: 26px; letter-spacing: -0.03em; }
    .ban-unit span:last-child { font-size: 9px; margin-top: 4px; }
    .ban-timer-label { font-size: 10px; gap: 6px; }

    /* --- Scarcity pill: keep on its own line with a sensible cap
           so it doesn't share a row with the tier name accidentally. --- */
    .pr-card-scarcity { max-width: 100%; }

    /* --- pr-card-cta-sub icons — center the lock icon properly --- */
    .pr-card-cta-sub i { width: 12px; height: 12px; }
}

/* ================================================
   TOUCH-DEVICE HOVER RESET
   On touch devices, :hover sticks after a tap until
   the user taps elsewhere — so transform/lift effects
   freeze "popped up." Reset them on devices without
   true hover capability so taps don't visually glitch.
   ================================================ */

@media (hover: none) {
    .pr-card:hover,
    .pr-box:hover,
    .pr-guar:hover,
    .pr-editors:hover,
    .forbes-callout:hover,
    .pr-card-cta:hover,
    .pr-stats-block:hover,
    .cmp-plan-col .cmp-plan-inner:hover,
    .ent-cta:hover,
    .ent-feat:hover,
    .ban-pill:hover,
    .ban-discount:hover,
    .pr-expand-btn:hover {
        transform: none;
    }

    /* Feature rows have a more elaborate hover that shifts the layout —
       lock it to its resting state on touch devices. */
    .pr-f:hover {
        background: transparent;
        padding-left: 0;
        margin-left: 0;
        width: 100%;
        border-bottom-color: rgba(15,23,42,.04);
        border-radius: 0;
    }
    .pr-f:hover::before { opacity: 0; transform: scaleY(0.5); left: -12px; }
    .pr-f:hover .pr-inline-logo { transform: none; opacity: 0.7; }

    /* Card hover border tint also "sticks" on tap; revert to default. */
    .pr-card:hover { border-color: rgba(56, 189, 248, 0.4); }

    /* Tooltip on tap: keep the visual popover but don't recolor border on hover */
    .tip:hover { background: transparent; color: #002bff; box-shadow: 0 2px 4px rgba(56,189,248,0.1); }
}
