/* RNSD-1604: home page styles, split at serve time */

        :root {
            /* RNSD-313: Michael's exact design tokens */
            --blue: #46AEF7;
            --black: #080D1A;
            --gray: #4A4E52;
            --light: #F6F8FA;
            --border: #DCE5EE;
            --amber: #F5A623;
            --muted: #6B7280;
            --soft: #EAF7FF;
            /* Legacy mappings */
            --bg-primary: #ffffff;
            --bg-secondary: #f8fafc;
            --text-primary: #080D1A;
            --text-secondary: #182233;
            --accent-primary: #46AEF7;
            /* Dark theme kept for chat/intake pages */
            --dark-bg: #0a0f1a;
            --dark-text: #f9fafb;
        }

        * { box-sizing: border-box; margin: 0; padding: 0; }

        /* iOS/Android text rendering normalization */
        html {
            -webkit-text-size-adjust: 100%;
            -moz-text-size-adjust: 100%;
            text-size-adjust: 100%;
            overflow-x: clip;
            scroll-padding-top: 80px; /* RNSD-790: clear the sticky header on #anchor jumps */
        }

        html, body {
            max-width: 100vw;
            overflow-x: clip; /* RNSD-790: clip (not hidden) so the sticky header isn't trapped in a scroll container */
        }

        body {
            font-family: 'Nunito Sans', Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
            background: #fff;
            color: var(--black);
            line-height: 1.25;
            min-height: 100vh;
            overflow-x: clip; /* RNSD-790 */
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            text-rendering: optimizeLegibility;
        }

        /* Global trademark styling - smaller TM symbols */
        sup, .tm { font-size: 0.55em; vertical-align: super; line-height: 0; }

        /* MASTER RULE: Never split words across lines */
        * {
            -webkit-hyphens: none !important;
            -moz-hyphens: none !important;
            -ms-hyphens: none !important;
            hyphens: none !important;
            word-break: keep-all !important;
            overflow-wrap: break-word;
        }
        .mobile-only { display: none !important; }
        .desktop-only { display: inline !important; }
        @media (max-width: 768px) {
            .mobile-only { display: inline !important; }
            .desktop-only { display: none !important; }
        }

        /* Prevent orphans and widows in text blocks */
        p, h1, h2, h3, h4, h5, h6, li {
            overflow-wrap: break-word;
            word-wrap: break-word;
            -webkit-hyphens: auto;
            hyphens: auto;
        }

        /* ============ LANDING PAGE - RNSD-313: NEW LIGHT DESIGN ============ */
        .landing-page {
            min-height: 100vh;
            background: #ffffff !important;
            color: #1a1a2e !important;
            position: relative;
            overflow-x: clip; /* RNSD-790: was hidden — trapped the sticky header */
        }

        /* Hide old dark theme elements */
        .river-video-container,
        .river-video,
        .river-video-overlay,
        .river-bank-left,
        .river-bank-right,
        .landing-orbs {
            display: none !important;
        }

        /* ===== NEW HEADER - Michael's exact specs ===== */
        .page { max-width: 1180px; margin: 0 auto; padding: 0 32px; }

        .header-wrapper {
            background: #fff;
            border-bottom: 1px solid #edf1f5;
            position: relative;
            z-index: 100;
        }
        .landing-header-new {
            height: 82px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 0 32px;
            max-width: 1180px;
            margin: 0 auto;
            background: #fff;
            position: relative;
            z-index: 100;
        }

        .header-logo {
            display: flex;
            align-items: center;
            text-decoration: none;
            /* RNSD-595 (DD-1): the PNG carries a transparent frame - at the 252px render
               its glyphs start 46px in (measured). -80px overshot the content grid by
               34px; -46px puts the visible wordmark exactly on the container edge. */
            margin-left: -46px;
        }

        .header-right {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 24px;
            flex-shrink: 0;
        }
        .header-logo-img {
            height: 252px;
            width: auto;
        }

        .header-nav {
            display: flex;
            gap: 24px;
            align-items: center;
            white-space: nowrap;
        }

        .header-nav a {
            font-size: 14px;
            font-weight: 800;
            color: #1b2430;
            text-decoration: none;
            letter-spacing: 0.01em;
            transition: color 0.2s;
        }

        .header-nav a:hover {
            color: var(--blue);
        }

        /* Nav Dropdown */
        .nav-dropdown {
            position: relative;
        }
        .nav-dropdown-toggle {
            font-size: 14px;
            font-weight: 800;
            color: #1b2430;
            text-decoration: none;
            letter-spacing: 0.01em;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 4px;
            background: none;
            border: none;
            padding: 0;
            transition: color 0.2s;
        }
        .nav-dropdown-toggle:hover {
            color: var(--blue);
        }
        .nav-dropdown-toggle svg {
            width: 12px;
            height: 12px;
            transition: transform 0.2s;
        }
        .nav-dropdown:hover .nav-dropdown-toggle svg {
            transform: rotate(180deg);
        }
        .nav-dropdown-menu {
            position: absolute;
            top: 100%;
            left: 50%;
            transform: translateX(-50%);
            margin-top: 12px;
            background: #fff;
            border: 1px solid #E3EAF1;
            border-radius: 12px;
            box-shadow: 0 10px 40px rgba(0,0,0,0.12);
            min-width: 220px;
            padding: 8px 0;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.2s, visibility 0.2s;
            z-index: 1000;
        }
        .nav-dropdown:hover .nav-dropdown-menu {
            opacity: 1;
            visibility: visible;
        }
        .nav-dropdown-menu a {
            display: block;
            padding: 12px 20px;
            font-size: 14px;
            font-weight: 600;
            color: #1b2430;
            text-decoration: none;
            transition: background 0.15s;
        }
        .nav-dropdown-menu a:hover {
            background: #F6F9FC;
            color: var(--blue);
        }
        .nav-dropdown-menu .dropdown-divider {
            height: 1px;
            background: #E3EAF1;
            margin: 8px 0;
        }

        /* Nav CTA Button */
        .nav-cta, .header-cta {
            height: 42px;
            padding: 0 22px;
            font-size: 13px;
            background: var(--black);
            color: #fff;
            border: 0;
            border-radius: 999px;
            font-weight:800;
            letter-spacing: 0.01em;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            cursor: pointer;
            transition: all 0.2s;
        }

        .header-cta:hover {
            background: #1a2030;
            transform: translateY(-1px);
        }

        .header-actions {
            display: flex;
            align-items: center;
            gap: 16px;
        }

        /* RNSD-373: Hide hamburger on desktop, hide mobile menu */
        .mobile-menu-toggle {
            display: none;
        }
        .mobile-menu {
            display: none;
        }

        /* RNSD-424: Ensure hamburger visible on small phones */
        @media (max-width: 900px) {
            .mobile-menu-toggle {
                display: flex !important;
                flex-shrink: 0;
            }
        }

        /* RNSD-420: Michael's new header button style */
        .header-login-btn {
            background: #EAF7FF;
            color: #1686D9;
            padding: 0 20px;
            height: 40px;
            border-radius: 999px;
            font-weight: 800;
            font-size: 13px;
            border: 1.5px solid #CFE6FB;
            cursor: pointer;
            transition: all 0.2s;
        }

        .header-login-btn:hover {
            background: #D6EFFF;
            border-color: #A8D8F8;
        }

        /* ===== HERO SECTION - RNSD-420 Michael's Two-Column Design ===== */
        :root {
            --hero-blue:#46AEF7;--hero-g1:#62BDFB;--hero-g2:#2C9AEF;
            --hero-ink:#080D1A;--hero-gray:#4A4E52;--hero-secondary:#33414F;--hero-muted:#6B7280;--hero-slate:#7A8694;
            --hero-border:#DCE5EE;--hero-soft:#EAF7FF;--hero-light:#F6F8FA;--hero-dot:#CBD9E8;
        }
        /* Ambient dot-field background */
        .hero-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
        .hero-bg .wash{position:absolute;inset:0;background:radial-gradient(1200px 660px at 82% -10%,#EDF7FF 0%,rgba(237,247,255,0) 56%),linear-gradient(180deg,#fff 0%,#FBFDFF 100%)}
        .hero-bg .dots{position:absolute;inset:0;
            background-image:radial-gradient(circle,var(--hero-dot) 1.4px,transparent 1.6px);background-size:24px 24px;
            -webkit-mask-image:radial-gradient(100% 100% at 50% 50%,#000 0%,transparent 85%);
            mask-image:radial-gradient(100% 100% at 50% 50%,#000 0%,transparent 85%);opacity:.8}
        .hero-section{position:relative;padding:0 32px;}
        .hero-section .wrap{max-width:1180px;margin:0 auto;position:relative;z-index:1}
        .hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:60px;align-items:center;padding:52px 0 46px}
        /* Left copy */
        .hero-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--hero-slate);margin-bottom:22px}
        .hero-eyebrow .tick{width:9px;height:9px;border-radius:2px;background:linear-gradient(135deg,var(--hero-g1),var(--hero-g2));box-shadow:0 2px 6px rgba(44,154,239,.45)}
        .hero-section h1{margin:0;font-weight:800;letter-spacing:-.045em;line-height:.93;font-size:clamp(47px,5.5vw,77px)}
        .hero-section h1 .blue{color:var(--hero-blue)}
        .hero-lede{margin:24px 0 0;max-width:480px;font-size:clamp(18px,2vw,21px);line-height:1.46;color:var(--hero-secondary);font-weight:400}
        .hero-trio{display:flex;gap:26px;flex-wrap:wrap;margin:30px 0 0;font-size:15px;font-weight:700;color:#222C39}
        .hero-trio span{display:inline-flex;align-items:center;gap:8px}
        /* Right - intake card */
        .hero-stage{position:relative;display:flex;justify-content:center}
        .hero-card{position:relative;z-index:2;width:430px;max-width:100%;background:#fff;border:1px solid var(--hero-border);
            border-radius:34px;box-shadow:0 40px 100px rgba(8,13,26,.14);padding:30px 30px 26px}
        .hero-portrait{width:152px;height:152px;margin:-52px auto 18px;border-radius:50%;padding:6px;
            background:#fff;box-shadow:0 22px 52px rgba(8,13,26,.18);position:relative;z-index:3;cursor:pointer;transition:box-shadow .5s ease}
        .hero-portrait::before{content:'';position:absolute;inset:-4px;border-radius:50%;background:linear-gradient(135deg,var(--hero-g1),var(--hero-g2));opacity:0;z-index:-1;transition:opacity 1.5s ease;filter:blur(8px)}
        .hero-portrait:hover::before{opacity:.55;animation:heroAura 2s ease-in-out infinite;animation-delay:1.5s}
        @media(max-width:980px){.hero-portrait::before{animation:heroAuraMobile 3s ease-in-out infinite;animation-delay:1s;opacity:.5}
        @keyframes heroAuraMobile{0%,100%{opacity:.4;transform:scale(1)}50%{opacity:.6;transform:scale(1.02)}}}
        .hero-portrait:hover{box-shadow:0 22px 52px rgba(44,154,239,.25)}
        @keyframes heroAura{0%,100%{opacity:.45;transform:scale(1)}50%{opacity:.65;transform:scale(1.02)}}
        .hero-portrait .ring{width:100%;height:100%;border-radius:50%;padding:4px;background:#fff}
        .hero-portrait video{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 24%;display:block}
        .hero-portrait video::-webkit-media-controls{display:none!important}
        .hero-area-wrap{position:relative}
        .hero-area{width:100%;border:1.5px solid #D6E0EC;border-radius:18px;background:#FBFCFE;padding:18px;min-height:128px;
            color:#23272F;font-size:15px;line-height:1.5;transition:border-color .15s,box-shadow .15s;resize:none;font-family:inherit}
        .hero-area::placeholder{color:#7A8699}
        .hero-area:hover{border-color:#BBD3EA}
        .hero-area:focus{outline:none;border-color:var(--hero-blue);box-shadow:0 0 0 3px rgba(70,174,247,0.15)}
        .hero-count{position:absolute;right:14px;bottom:11px;font-size:12px;color:#AEB7C2;font-weight:700;pointer-events:none}
        .hero-go{margin-top:18px;width:100%;height:56px;border-radius:999px;background:var(--hero-ink);color:#fff;font-size:16px;font-weight:800;
            display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;border:0;
            box-shadow:0 14px 30px rgba(8,13,26,.22);transition:transform .15s,box-shadow .15s}
        .hero-go:hover{transform:translateY(-1px);box-shadow:0 18px 40px rgba(8,13,26,.30)}
        .hero-micro{margin:14px auto 0;font-size:12.5px;line-height:1.55;text-align:center;color:#7A8492;font-weight:700;max-width:320px}
        .hero-micro strong{color:var(--hero-ink);font-weight:800}
        /* Fact-pills animation */
        .hero-capture{position:absolute;z-index:4;top:34px;left:-140px;display:inline-flex;align-items:center;gap:10px;
            background:#fff;border:1px solid #E4EBF2;border-radius:999px;padding:10px 18px;box-shadow:0 16px 38px rgba(8,13,26,.13);opacity:0;animation:heroFadein .5s ease both .72s}
        .hero-cdot{width:8px;height:8px;border-radius:50%;flex:none;background:linear-gradient(135deg,var(--hero-g1),var(--hero-g2));animation:heroPulse 2s ease-out infinite}
        @keyframes heroPulse{0%{box-shadow:0 0 0 0 rgba(70,174,247,.45)}70%{box-shadow:0 0 0 9px rgba(70,174,247,0)}100%{box-shadow:0 0 0 0 rgba(70,174,247,0)}}
        .hero-rot{position:relative;display:grid;height:18px}
        .hero-rot b{grid-area:1/1;text-align:left;line-height:18px;font-size:13px;font-weight:800;color:#28323E;
            white-space:nowrap;overflow:hidden;
            opacity:0;max-width:0;animation:heroTypeIn 15s linear infinite}
        .hero-rot-mobile{display:none}
        .hero-rot b:nth-child(1){animation-delay:0s}.hero-rot b:nth-child(2){animation-delay:2.5s}
        .hero-rot b:nth-child(3){animation-delay:5s}.hero-rot b:nth-child(4){animation-delay:7.5s}.hero-rot b:nth-child(5){animation-delay:10s}.hero-rot b:nth-child(6){animation-delay:12.5s}
        @keyframes heroTypeIn{
            0%{opacity:1;max-width:0}
            10%{opacity:1;max-width:440px}
            16%{opacity:1;max-width:440px}
            18%{opacity:0;max-width:440px}
            20%{opacity:0;max-width:0}
            100%{opacity:0;max-width:0}
        }
        @keyframes heroUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
        @keyframes heroFadein{from{opacity:0}to{opacity:1}}
        @keyframes heroTypeMobile{
            0%{opacity:1;max-width:0}
            12%{opacity:1;max-width:180px}
            18%{opacity:1;max-width:180px}
            20%{opacity:0;max-width:180px}
            22%{opacity:0;max-width:0}
            100%{opacity:0;max-width:0}
        }
        .hero-copy>*{animation:heroUp .62s cubic-bezier(.22,.61,.36,1) both}
        .hero-copy .hero-eyebrow{animation-delay:.05s}
        .hero-copy h1{animation-delay:.12s}
        .hero-copy .hero-lede{animation-delay:.22s}
        .hero-copy .hero-trio{animation-delay:.30s}
        .hero-card{animation:heroUp .72s cubic-bezier(.22,.61,.36,1) both;animation-delay:.16s}
        /* Tablet */
        @media(max-width:980px){
            .hero-grid{grid-template-columns:1fr;gap:10px;text-align:center;padding:12px 0 10px;justify-items:center}
            .hero-lede{margin-left:auto;margin-right:auto}
            .hero-trio{justify-content:center}
            .hero-stage{margin-top:24px}
            .hero-bg .dots{right:50%;transform:translateX(50%);top:380px}
        }
        /* Mobile */
        @media(max-width:600px){
            .hero-section{padding:0 20px}
            .hero-section h1{font-size:clamp(37px,10.7vw,50px)}
            .hero-lede{font-size:17px;margin-top:12px}
            .hero-trio{gap:10px 16px;margin-top:14px;font-size:14px}
            .hero-card{width:100%;border-radius:28px;padding:26px 18px 22px}
            .hero-portrait{width:126px;height:126px;margin-top:-40px}
            .hero-area{min-height:110px;font-size:14.5px}
            .hero-go{height:54px}
            /* Mobile bubble - clean implementation */
            .hero-stage{position:relative}
            .hero-capture{
                position:absolute;left:50%;top:-30px;transform:translateX(-50%);
                display:inline-flex;align-items:center;gap:8px;
                background:#fff;border:1px solid #E4EBF2;border-radius:999px;
                padding:8px 14px;box-shadow:0 8px 24px rgba(8,13,26,.1);
                opacity:1;animation:none;z-index:10;
            }
            .hero-cdot{width:7px;height:7px}
            .hero-rot{display:none}
            .hero-rot-mobile{
                display:grid;position:relative;height:16px;
            }
            .hero-rot-mobile b{
                grid-area:1/1;text-align:left;line-height:16px;font-size:12px;font-weight:700;color:#28323E;
                white-space:nowrap;overflow:hidden;
                opacity:0;max-width:0;animation:heroTypeMobile 12.5s linear infinite;
            }
            .hero-rot-mobile b:nth-child(1){animation-delay:0s}
            .hero-rot-mobile b:nth-child(2){animation-delay:2.5s}
            .hero-rot-mobile b:nth-child(3){animation-delay:5s}
            .hero-rot-mobile b:nth-child(4){animation-delay:7.5s}
            .hero-rot-mobile b:nth-child(5){animation-delay:10s}
            .hero-card{margin-top:16px}
        }
        @media(max-width:400px){.hero-section{padding:0 20px}}

        /* RNSD-447: Mobile header - Log In left, centered logo, hamburger right */
        @media(max-width:600px){
            .landing-header-new{
                padding:0 16px !important;
                height:64px !important;
                position:relative !important;
                justify-content:flex-start !important;
            }
            /* RNSD-664 (Michael, option A): logo LEFT, hamburger right - the
               TurboTax/Intuit standard. Was absolutely centered. */
            .header-logo{
                position:static !important;
                transform:none !important;
                margin-left:0 !important;
                margin-right:auto !important;
            }
            .header-logo-img{height:100px !important;}
            /* Hide nav on mobile */
            .header-nav{display:none !important;}
            .header-right{
                position:static !important;
            }
            .header-actions{
                gap:0 !important;
            }
            /* Show Log In on left */
            .header-login-btn{
                display:flex !important;
                padding:0 14px !important;
                height:36px !important;
                font-size:12px !important;
            }
            /* Hide Start with Eleanor (it's in hamburger menu) */
            .header-cta{display:none !important;}
            /* Hamburger on far right */
            .mobile-menu-toggle{
                display:flex !important;
                width:40px !important;
                height:40px !important;
                position:absolute !important;
                right:16px !important;
            }
        }

        /* iPhone 13 size (~390px) - hide Log In to prevent overlap */
        @media(max-width:420px){
            .header-login-btn{display:none !important;}
            .header-logo-img{height:90px !important;}
        }

        /* Extra small phones - slightly smaller logo */
        @media(max-width:380px){
            .header-logo-img{height:85px !important;}
            .mobile-menu-toggle{right:12px !important;}
        }
        @media(prefers-reduced-motion:reduce){.hero-area .cursor,.hero-cdot{animation:none!important}.hero-go{transition:none}.hero-rot{height:auto}.hero-rot b{animation:none;position:static;opacity:0;transform:none}.hero-rot b:first-child{opacity:1}.hero-copy>*,.hero-card,.hero-capture{animation:none!important;opacity:1!important;transform:none!important}}

        /* ===== RECOVERY PATH v2 - Sophisticated animated design ===== */
        :root {
            --rp-blue:#46AEF7; --rp-blue-from:#62BDFB; --rp-blue-to:#2C9AEF; --rp-blue-deep:#1F7FCC;
            --rp-gray:#4A4E52; --rp-gray-2:#6B7280; --rp-ink:#080D1A;
            --rp-hair:rgba(8,13,26,.07);
            --rp-ease:cubic-bezier(.22,.61,.36,1); --rp-ease-out:cubic-bezier(.16,1,.3,1);
        }
        .rp {
            position:relative; isolation:isolate; padding:84px 24px 88px;
            font-feature-settings:"ss02" 1; color:var(--rp-ink);
            -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
            background:#fff; overflow:hidden;
            -webkit-hyphens:none; hyphens:none; word-break:normal;
        }
        .rp-brick-layer {
            position:absolute; inset:0; z-index:0; pointer-events:none;
            background-image:url('/static/images/white-brick.jpg');
            background-size:cover; background-position:center;
            filter:grayscale(.2) brightness(1.1);
            opacity:0.35;
        }
        .rp-brick-wash {
            position:absolute; inset:0; z-index:1; pointer-events:none;
            background:linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.88) 50%, rgba(255,255,255,.90) 100%);
        }
        .rp::after {
            content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
            background:
                radial-gradient(105% 70% at 84% 0%, rgba(70,174,247,.15), rgba(70,174,247,0) 56%),
                linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(247,251,255,.55) 50%, rgba(240,247,253,.92) 100%);
        }
        .rp__inner { position:relative; z-index:2; max-width:1140px; margin:0 auto; }
        .rp__top { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:40px; align-items:center; margin-bottom:42px; }
        .rp__eyebrow { display:inline-block; margin:0 0 14px; font-size:12.5px; font-weight:800;
            letter-spacing:.16em; text-transform:uppercase; color:var(--rp-blue-deep); }
        .rp__title { margin:0 0 16px; font-weight:800; font-size:clamp(32px,5vw,38px);
            line-height:1.03; letter-spacing:-.022em; color:var(--rp-ink);
            -webkit-hyphens:none; hyphens:none; word-break:keep-all; overflow-wrap:normal; }
        .rp__title em { font-style:normal; color:var(--rp-blue); }
        .rp__sub { margin:0 0 18px; font-size:clamp(16px,2vw,18.5px); font-weight:500; line-height:1.5; color:var(--rp-gray-2); }
        .rp__sub b { color:var(--rp-gray); font-weight:700; }
        .rp__assure { display:inline-flex; align-items:center; gap:10px; font-size:15px; font-weight:700; color:var(--rp-blue-deep); }
        .rp__assure svg { width:21px; height:21px; flex:none; }
        .rp__map { position:relative; filter:drop-shadow(0 18px 30px rgba(44,154,239,.18)); }
        .rp__map svg { width:100%; height:auto; display:block; }
        .rp-dots { color:#9FD2FA; }
        .rp-dots circle { opacity:0; animation:rp-dotin .5s var(--rp-ease-out) forwards; }
        .rp-arc { fill:none; stroke:var(--rp-blue); stroke-width:1.6; stroke-linecap:round; opacity:.5;
            stroke-dasharray:var(--len); stroke-dashoffset:var(--len); }
        .rp.in .rp-arc { animation:rp-arcdraw 1.4s var(--rp-ease-out) forwards; }
        .rp-endpt { fill:var(--rp-blue); opacity:0; }
        .rp.in .rp-endpt { animation:rp-endin .4s var(--rp-ease-out) forwards; }
        .rp-pulse { opacity:0; }
        .rp.in .rp-pulse { opacity:1; transition:opacity .6s var(--rp-ease) 1.4s; }
        @keyframes rp-dotin { to { opacity:1; } }
        @keyframes rp-arcdraw { to { stroke-dashoffset:0; } }
        @keyframes rp-endin { to { opacity:1; } }
        .rp-node { transform-origin:center; }
        .rp.in .rp-node { animation:rp-nodein .7s var(--rp-ease-out) .2s backwards; }
        @keyframes rp-nodein { 0% { transform:scale(.5); opacity:0; } 100% { transform:scale(1); opacity:1; } }
        .rp-node-ring { fill:none; stroke:var(--rp-blue); stroke-width:1.5; opacity:.5; transform-origin:center; transform-box:fill-box; animation:rp-ringpulse 2.6s var(--rp-ease) infinite; }
        @keyframes rp-ringpulse { 0% { transform:scale(.7); opacity:.55; } 70% { transform:scale(1.55); opacity:0; } 100% { transform:scale(1.55); opacity:0; } }
        .rp__cards { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:54px; }
        .rp-card { position:relative; overflow:hidden; display:flex; flex-direction:column; gap:12px; padding:18px 18px 16px;
            background:#fff; border:1px solid var(--rp-hair); border-radius:18px;
            box-shadow:0 1px 2px rgba(8,13,26,.04), 0 10px 26px -18px rgba(8,13,26,.20);
            transition:transform .5s var(--rp-ease-out), box-shadow .5s var(--rp-ease-out), border-color .5s var(--rp-ease-out); }
        .rp-card::after { content:""; position:absolute; inset:0; z-index:0; opacity:0; transition:opacity .4s var(--rp-ease);
            background:radial-gradient(360px circle at var(--mx,50%) var(--my,0%), rgba(70,174,247,.13), rgba(70,174,247,0) 60%); }
        .rp-card::before { content:""; position:absolute; top:0; left:20px; right:20px; height:2.5px; border-radius:2px; z-index:2;
            background:linear-gradient(90deg,var(--rp-blue-from),var(--rp-blue-deep));
            transform:scaleX(0); transform-origin:left center; transition:transform .5s var(--rp-ease); }
        .rp-card:hover::before { transform:scaleX(1); }
        .rp-card:hover { transform:translateY(-7px); border-color:rgba(70,174,247,.45);
            box-shadow:0 28px 56px -26px rgba(44,154,239,.5), 0 10px 22px -12px rgba(8,13,26,.12); }
        .rp-card:hover::after { opacity:1; }
        .rp-card > * { position:relative; z-index:1; }
        .rp-card__head { display:flex; align-items:center; gap:12px; }
        .rp-tile { position:relative; overflow:hidden; flex:none; display:grid; place-items:center;
            width:52px; height:52px; border-radius:14px; color:#fff;
            background:linear-gradient(155deg, var(--rp-blue-from) 0%, var(--rp-blue-to) 56%, var(--rp-blue-deep) 100%);
            box-shadow:inset 0 1px 1px rgba(255,255,255,.55), inset 0 -3px 7px rgba(16,72,140,.35), 0 8px 18px -8px rgba(44,154,239,.55);
            transition:transform .5s var(--rp-ease-out), box-shadow .5s var(--rp-ease-out); }
        .rp-tile::before { content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
            background:linear-gradient(180deg, rgba(255,255,255,.45) 0%, rgba(255,255,255,.08) 38%, rgba(255,255,255,0) 60%); }
        .rp-tile::after { content:""; position:absolute; top:-30%; left:-60%; width:55%; height:160%; pointer-events:none;
            background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.55), rgba(255,255,255,0));
            transform:translateX(-60%) skewX(-18deg); }
        .rp-gw { position:relative; z-index:1; display:block; line-height:0; }
        .rp-tile svg { width:27px; height:27px; display:block; transform-origin:center; }
        .rp-card:hover .rp-tile { transform:translateY(-1px) scale(1.06);
            box-shadow:inset 0 1px 1px rgba(255,255,255,.6), inset 0 -3px 7px rgba(16,72,140,.35), 0 13px 24px -8px rgba(44,154,239,.7); }
        .rp-card:hover .rp-tile::after { animation:rp-sheen .9s var(--rp-ease); }
        .rp-card__stat { margin:0; font-size:26px; font-weight:800; letter-spacing:-.02em; line-height:1; font-variant-numeric:tabular-nums;
            background:linear-gradient(135deg,#46AEF7,#1F7FCC); -webkit-background-clip:text; background-clip:text; color:transparent; }
        .rp-card__title { margin:0; font-size:15px; font-weight:800; letter-spacing:-.01em; line-height:1.2; color:var(--rp-ink); }
        .rp-card__desc { margin:0; font-size:13px; font-weight:500; line-height:1.45; color:var(--rp-gray-2); }
        .rp-card.in .rp-tile { animation:rp-tilein .7s var(--rp-ease-out) backwards; animation-delay:calc(var(--i,0) * 60ms + 110ms); }
        .rp-card.in .rp-gw { animation:rp-glyphin .55s var(--rp-ease-out) backwards; animation-delay:calc(var(--i,0) * 60ms + 240ms); }
        .rp-card.in .rp-tile::after { animation:rp-sheen 1s var(--rp-ease) calc(var(--i,0) * 60ms + 440ms); }
        @keyframes rp-tilein { 0% { transform:scale(.78) rotate(-7deg); opacity:0; } 100% { transform:none; opacity:1; } }
        @keyframes rp-glyphin { 0% { transform:scale(.5); opacity:0; } 100% { transform:none; opacity:1; } }
        @keyframes rp-sheen { 0% { transform:translateX(-60%) skewX(-18deg); } 100% { transform:translateX(340%) skewX(-18deg); } }
        .rp__flow { position:relative; margin-bottom:40px; }
        .rp__bracket { display:flex; align-items:center; gap:14px; margin:0 0 26px; }
        .rp__bracket::before, .rp__bracket::after { content:""; flex:1; border-top:2px dashed rgba(70,174,247,.5); }
        .rp__bracket span { font-size:12px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; color:var(--rp-blue-deep); white-space:nowrap; }
        .rp__steps { display:grid; grid-template-columns:repeat(5,1fr); position:relative; }
        .rp__steps::before { content:""; position:absolute; top:43px; left:10%; right:10%; height:2.5px; border-radius:2px;
            background:linear-gradient(90deg, rgba(70,174,247,0), #46AEF7 7%, #46AEF7 93%, rgba(70,174,247,0)); opacity:.7;
            transform:scaleX(0); transform-origin:left center; }
        .rp.in .rp__steps::before { animation:rp-linedraw 1.2s var(--rp-ease-out) .3s forwards; }
        @keyframes rp-linedraw { to { transform:scaleX(1); } }
        .rp__steps::after { content:""; position:absolute; top:43px; left:10%; right:10%; height:2.5px; border-radius:2px;
            background:repeating-linear-gradient(90deg, rgba(255,255,255,0) 0 16px, rgba(255,255,255,.95) 16px 24px);
            opacity:0; pointer-events:none; }
        .rp.in .rp__steps::after { opacity:.45; animation:rp-flowdash 1.5s linear 1.7s infinite; }
        @keyframes rp-flowdash { to { transform:translateX(24px); } }
        .rp-step { display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px; position:relative; }
        .rp-step__circle { position:relative; display:grid; place-items:center; width:92px; height:92px;
            background:radial-gradient(130% 130% at 30% 18%, #FFFFFF 0%, #F4FAFF 52%, #E2F0FD 100%);
            border:none; border-radius:50%;
            box-shadow:0 0 0 1.5px rgba(70,174,247,.6), 0 0 0 8px rgba(70,174,247,.07),
                0 16px 30px -12px rgba(44,154,239,.45),
                inset 0 2px 5px rgba(255,255,255,.95), inset 0 -7px 14px rgba(44,154,239,.14);
            color:var(--rp-blue-deep);
            transition:transform .4s var(--rp-ease-out), box-shadow .4s var(--rp-ease-out); }
        .rp-step__circle svg { width:40px; height:40px; display:block; transform-origin:center; fill:url(#sqGlyphGrad); }
        .rp-step__circle--video { overflow:hidden; cursor:pointer; }
        .rp-step__circle--video video { width:100%; height:100%; object-fit:cover; border-radius:50%; }
        a.rp-step { cursor:pointer; }
        .rp-step__num { position:absolute; bottom:-7px; left:50%; transform:translateX(-50%);
            display:grid; place-items:center; width:28px; height:28px; border-radius:50%;
            background:linear-gradient(155deg, var(--rp-blue-from), var(--rp-blue-deep)); color:#fff;
            font-size:13px; font-weight:800; box-shadow:0 4px 10px -3px rgba(44,154,239,.7), inset 0 1px 0 rgba(255,255,255,.4); }
        .rp-step__label { margin:6px 0 0; font-size:15px; font-weight:800; line-height:1.3; color:var(--rp-ink); max-width:170px; }
        .rp-step { opacity:0; transform:translateY(16px); }
        .rp.in .rp-step { animation:rp-stepin .6s var(--rp-ease-out) forwards; animation-delay:calc(.35s + var(--i) * .18s); }
        @keyframes rp-stepin { to { opacity:1; transform:none; } }
        .rp-step:hover .rp-step__circle { transform:translateY(-4px) scale(1.05);
            box-shadow:0 0 0 1.5px rgba(70,174,247,.85), 0 0 0 10px rgba(70,174,247,.1),
                0 22px 42px -12px rgba(44,154,239,.65),
                inset 0 2px 5px rgba(255,255,255,.95), inset 0 -7px 14px rgba(44,154,239,.16); }
        .g-chat { animation:rp-a-bob 3.4s var(--rp-ease) infinite; }
        .g-bolt { animation:rp-a-bolt 3.2s var(--rp-ease) infinite; }
        .g-file { animation:rp-a-bob 3.8s var(--rp-ease) infinite; }
        .g-plane { animation:rp-a-drift 3.0s var(--rp-ease) infinite; }
        .g-gavel { animation:rp-a-gavel 2.8s var(--rp-ease) infinite; transform-origin:62% 38%; }
        .g-lift { animation:rp-a-lift 3.4s var(--rp-ease) infinite; }
        .rp-step:hover .rp-step__circle svg { animation-duration:1.1s; }
        @keyframes rp-a-bob { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-2.5px); } }
        @keyframes rp-a-bolt { 0%,58%,66%,100% { opacity:1; transform:scale(1); } 62% { opacity:.55; transform:scale(1.1); } }
        @keyframes rp-a-drift { 0%,100% { transform:translate(0,0) rotate(0); } 50% { transform:translate(2.5px,-2.5px) rotate(3deg); } }
        @keyframes rp-a-gavel { 0%,52%,100% { transform:rotate(0); } 60% { transform:rotate(-16deg); } 68% { transform:rotate(3deg); } 74% { transform:rotate(-12deg); } 82% { transform:rotate(0); } }
        @keyframes rp-a-lift { 0%,46%,100% { transform:translateY(0); } 58% { transform:translateY(-3.5px); } 72% { transform:translateY(0); } }
        .rpb { transform-box:fill-box; transform-origin:bottom; }
        .rp-card.in .rpb1 { animation:rp-barup .7s var(--rp-ease-out) .5s backwards; }
        .rp-card.in .rpb2 { animation:rp-barup .7s var(--rp-ease-out) .68s backwards; }
        .rp-card.in .rpb3 { animation:rp-barup .7s var(--rp-ease-out) .86s backwards; }
        .rp-card:hover .rpb1 { animation:rp-barup .55s var(--rp-ease-out); }
        .rp-card:hover .rpb2 { animation:rp-barup .55s var(--rp-ease-out) .1s; }
        .rp-card:hover .rpb3 { animation:rp-barup .55s var(--rp-ease-out) .2s; }
        @keyframes rp-barup { from { transform:scaleY(0); } }
        .rpinf { stroke-dasharray:62 38; animation:rp-infflow 2.8s linear infinite; }
        @keyframes rp-infflow { to { stroke-dashoffset:-100; } }
        .g-cert { animation:rp-a-bob 3.6s var(--rp-ease) infinite; }
        .rp__pill { position:relative; overflow:hidden; display:flex; align-items:center; gap:18px; max-width:880px; margin:0 auto;
            padding:16px 26px 16px 18px; background:#fff; border:1px solid var(--rp-hair); border-radius:999px;
            box-shadow:0 1px 2px rgba(8,13,26,.04), 0 14px 32px -18px rgba(8,13,26,.22);
            transition:transform .5s var(--rp-ease-out), box-shadow .5s var(--rp-ease-out), border-color .5s var(--rp-ease-out); }
        .rp__pill:hover { transform:translateY(-4px); border-color:rgba(70,174,247,.45);
            box-shadow:0 26px 52px -26px rgba(44,154,239,.45), 0 10px 22px -12px rgba(8,13,26,.12); }
        .rp__pill:hover .rp-tile::after { animation:rp-sheen .9s var(--rp-ease); }
        .rp__pill-sep { width:1px; align-self:stretch; background:rgba(8,13,26,.1); }
        .rp__pill p { margin:0; font-size:clamp(15px,2vw,18px); font-weight:500; color:var(--rp-gray); line-height:1.4; }
        .rp__pill b { color:var(--rp-blue-deep); font-weight:800; }
        [data-rp-r] { opacity:0; transform:translateY(20px);
            transition:opacity .72s var(--rp-ease-out), transform .72s var(--rp-ease-out); transition-delay:calc(var(--i,0) * 60ms); }
        [data-rp-r].in { opacity:1; transform:none; }
        .rp-ping { transform-origin:center; }
        @media (max-width:980px) {
            .rp__cards { grid-template-columns:repeat(2,1fr); }
            .rp__top { grid-template-columns:1fr; gap:28px; }
            .rp__map { max-width:560px; margin:0 auto; }
        }
        @media (max-width:760px) {
            .rp__steps { grid-template-columns:1fr; gap:26px; justify-items:start; }
            .rp__steps::before { top:0; bottom:0; left:35px; right:auto; width:2.5px; height:auto;
                background:linear-gradient(180deg, rgba(70,174,247,0), #46AEF7 6%, #46AEF7 94%, rgba(70,174,247,0)); opacity:.7;
                transform:scaleY(0); transform-origin:top center; }
            .rp.in .rp__steps::before { animation:rp-linedrawY 1.2s var(--rp-ease-out) .3s forwards; }
            .rp__steps::after { display:none; }
            .rp-step { flex-direction:row; text-align:left; gap:18px; }
            .rp-step__circle { width:72px; height:72px; flex:none; }
            .rp-step__circle svg { width:31px; height:31px; }
            .rp-step__label { margin:0; max-width:none; }
        }
        @keyframes rp-linedrawY { to { transform:scaleY(1); } }
        @media (max-width:560px) {
            .rp { padding:60px 18px 70px; }
            .rp__cards { grid-template-columns:1fr; }
            .rp__pill { border-radius:24px; flex-wrap:wrap; gap:12px; }
            .rp__pill-sep { display:none; }
        }
        @media (prefers-reduced-motion:reduce) {
            .rp *,.rp *::before,.rp *::after { transition:none !important; animation:none !important; }
            [data-rp-r] { opacity:1 !important; transform:none !important; }
            .rp-step { opacity:1 !important; transform:none !important; }
            .rp__steps::before { transform:none !important; }
            .rp-arc { stroke-dashoffset:0 !important; }
            .rp-dots circle,.rp-endpt { opacity:1 !important; }
            .rp-pulse { display:none !important; }
            .rp-ping { display:none !important; }
            .rp__steps::after { display:none !important; }
        }

        /* ===== ELEANOR STAGE - Container for card + orbits ===== */
        .hero-right, .eleanorStage {
            position: relative;
            min-height: 610px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        /* ===== ELEANOR CARD - Michael's exact specs ===== */
        .eleanor-card, .eleanorCard {
            width: 440px;
            padding: 30px;
            border-radius: 36px;
            background: #fff;
            border: 1px solid var(--border);
            box-shadow: 0 30px 80px rgba(8,13,26,0.12);
            position: relative;
            z-index: 2;
        }

        /* Eleanor Portrait - wide ellipse with soft background */
        .eleanorPortrait {
            width: 300px;
            height: 170px;
            border-radius: 50%;
            overflow: hidden;
            margin: -70px auto 20px;
            border: 6px solid #fff;
            box-shadow: 0 22px 55px rgba(8,13,26,0.16);
            /* Soft gradient background - like a soft office/professional setting */
            background: linear-gradient(135deg,
                #f8f9fa 0%,
                #e9ecef 40%,
                #dee2e6 100%);
            position: relative;
        }

        .eleanorPortrait img,
        .eleanorPortrait video {
            width: auto;
            height: 105%;
            max-width: none;
            object-fit: cover;
            object-position: center 25%;
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
        }

        /* Floating orbit chips - exact positions with slow animation */
        @keyframes floatLabel1 {
            0%, 100% { transform: translate(0, 0); }
            25% { transform: translate(8px, -6px); }
            50% { transform: translate(4px, 8px); }
            75% { transform: translate(-6px, 4px); }
        }
        @keyframes floatLabel2 {
            0%, 100% { transform: translate(0, 0); }
            25% { transform: translate(-6px, 8px); }
            50% { transform: translate(8px, 4px); }
            75% { transform: translate(4px, -8px); }
        }
        @keyframes floatLabel3 {
            0%, 100% { transform: translate(0, 0); }
            25% { transform: translate(6px, 6px); }
            50% { transform: translate(-8px, -4px); }
            75% { transform: translate(4px, -6px); }
        }
        @keyframes floatLabel4 {
            0%, 100% { transform: translate(0, 0); }
            25% { transform: translate(-4px, -8px); }
            50% { transform: translate(6px, 6px); }
            75% { transform: translate(-8px, 4px); }
        }

        .floating-label, .orbit, .chip {
            position: absolute;
            z-index: 3;
            padding: 0 16px;
            min-height: 38px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #fff;
            border: 1px solid var(--border);
            border-radius: 999px;
            font-size: 13px;
            font-weight:800;
            color: #263141;
            box-shadow: 0 10px 25px rgba(8,13,26,0.05);
            white-space: nowrap;
        }

        .floating-label.top-left, .orbit.c1 {
            top: 84px;
            left: 6px;
            animation: floatLabel1 8s ease-in-out infinite;
        }

        .floating-label.top-right, .orbit.c2 {
            top: 156px;
            right: 0;
            animation: floatLabel2 9s ease-in-out infinite;
        }

        .floating-label.bottom-left, .orbit.c3 {
            top: 260px;
            left: -12px;
            animation: floatLabel3 7s ease-in-out infinite;
        }

        .floating-label.bottom-right, .orbit.c4 {
            top: 340px;
            right: -12px;
            animation: floatLabel4 10s ease-in-out infinite;
        }

        /* Hide old avatar header - using portrait instead */
        .eleanor-avatar-header {
            display: none;
        }

        .eleanor-avatar-img {
            width: 80px;
            height: 80px;
            border-radius: 12px;
            object-fit: cover;
            border: 3px solid #ffffff;
            margin-right: 1rem;
        }

        .eleanor-avatar-info h3 {
            color: #ffffff;
            font-size: 1.25rem;
            font-weight: 600;
            margin-bottom: 0.25rem;
        }

        .eleanor-avatar-info p {
            color: rgba(255,255,255,0.8);
            font-size: 0.9rem;
        }

        /* Card title */
        .eleanor-card h3, .eleanorCard h3 {
            text-align: center;
            font-size: 30px;
            font-weight:800;
            color: var(--black);
            margin-bottom: 0;
        }

        .eleanor-card h3 .blueText, .eleanorCard h3 .blueText {
            color: var(--blue);
            font-weight:800;
        }

        /* Prompt box inside card */
        .eleanor-form-preview, .eleanorPrompt {
            margin-top: 20px;
            border: 1px solid var(--border);
            border-radius: 22px;
            padding: 22px;
            background: #FBFCFD;
        }

        .eleanor-form-preview h4, .eleanorPrompt label {
            display: block;
            font-size: 18px;
            font-weight:800;
            letter-spacing: -0.02em;
            margin-bottom: 12px;
            color: var(--black);
        }

        .textarea-wrapper {
            position: relative;
        }

        /* Fake textarea / real textarea */
        .eleanor-textarea, .fakeArea {
            width: 100%;
            height: 130px;
            border: 1.5px solid #CBD6E2;
            border-radius: 18px;
            background: #fff;
            padding: 18px;
            color: #7A8699;
            font-size: 15px;
            line-height: 1.45;
            font-family: inherit;
            resize: none;
        }

        .eleanor-textarea:focus {
            outline: none;
            border-color: var(--blue);
            color: var(--black);
        }

        .char-count {
            position: absolute;
            bottom: 12px;
            right: 18px;
            font-size: 12px;
            color: #94a3b8;
        }

        /* Mobile static text - hidden on desktop, shown on mobile instead of textarea */
        .mobile-static-text {
            display: none;
        }

        /* Eleanor CTA button */
        .eleanor-start-btn, .eleanorCard .btn {
            margin-top: 18px;
            width: 100%;
            height: 54px;
            background: var(--black);
            color: #fff;
            border: none;
            border-radius: 999px;
            font-size: 15px;
            font-weight:800;
            cursor: pointer;
            transition: all 0.2s;
        }

        .eleanor-start-btn:hover {
            background: #1a2030;
        }

        /* Micro text under button */
        .eleanor-free-note, .eleanorMicro {
            font-size: 13px;
            line-height: 1.45;
            text-align: center;
            color: #5F6B7A;
            margin: 15px auto 0;
            max-width: 320px;
            font-weight: 750;
            display: flex;
            align-items: center;
            gap: 6px;
            justify-content: center;
        }

        .eleanor-free-note svg {
            width: 14px;
            height: 14px;
            fill: #94a3b8;
        }

        /* Mobile chips - hidden on desktop */
        .mobileChips {
            display: none;
        }

        /* ===== LOWER BAND - "Built to make small claims" ===== */
        .lowerBand {
            background: #F6F8FA;
            border-top: 1px solid #EDF1F5;
            border-bottom: 1px solid #EDF1F5;
            margin-top: 10px;
            padding: 54px 32px;
        }

        .bandGrid {
            display: grid;
            grid-template-columns: 1.1fr .9fr;
            gap: 36px;
            align-items: center;
            max-width: 1180px;
            margin: 0 auto;
        }

        .bandLeft h2 {
            font-size: 38px;
            line-height: 1.05;
            letter-spacing: -0.04em;
            font-weight:800;
            color: var(--black);
            margin-bottom: 16px;
        }

        .bandGrid p, .bandLeft p {
            font-size: 17px;
            line-height: 1.55;
            color: #3A4656;
        }

        .miniList {
            display: grid;
            gap: 12px;
        }

        .miniList div {
            background: #fff;
            border: 1px solid var(--border);
            border-radius: 18px;
            padding: 18px 20px;
            font-weight:800;
            color: #172033;
            font-size: 15px;
        }

        /* ===== HOW SECTION - 3 Steps ===== */
        .how {
            padding: 52px 32px 76px;
            max-width: 1180px;
            margin: 0 auto;
        }

        .sectionHead {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 24px;
            margin: 58px 0 22px;
        }

        .sectionHead h2 {
            font-size: 38px;
            line-height: 1.05;
            letter-spacing: -0.04em;
            font-weight:800;
            color: var(--black);
        }

        .sectionHead p {
            font-size: 15px;
            color: #667085;
            max-width: 520px;
            text-align: right;
        }

        .howGrid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 22px;
        }

        .step {
            padding: 26px;
            min-height: 170px;
        }

        .step.card, .card {
            background: #fff;
            border: 1px solid var(--border);
            border-radius: 24px;
            box-shadow: 0 18px 54px rgba(8,13,26,0.07);
        }

        .stepNum {
            width: 42px;
            height: 42px;
            border-radius: 999px;
            background: var(--black);
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight:800;
            margin-bottom: 20px;
            font-size: 16px;
        }

        .step h3 {
            font-size: 22px;
            margin-bottom: 12px;
            font-weight:800;
            color: var(--black);
        }

        .step p {
            font-size: 15px;
            line-height: 1.5;
            color: #586575;
        }

        /* ===== AUTHORITY SECTION - Egenthal's Authority Band ===== */
        .auth-band {
            display: flex;
            justify-content: center;
            padding: 64px 32px;
            background: radial-gradient(75% 60% at 50% -12%, rgba(70,174,247,.05) 0%, transparent 60%),
                        linear-gradient(180deg, #FFFFFF 0%, var(--light) 100%);
        }
        .auth-plaque {
            width: 100%;
            max-width: 1060px;
            border-radius: 30px;
            overflow: hidden;
            background: #fff;
            border: 1px solid var(--border);
            box-shadow: 0 40px 90px -44px rgba(8,13,26,.55), 0 12px 28px -18px rgba(8,13,26,.18);
            opacity: 1;
            transform: none;
            transition: opacity .7s ease, transform .7s cubic-bezier(.22,.7,.2,1);
        }
        .auth-plaque.pre { opacity: 0; transform: translateY(20px); }
        .auth-plaque.play { opacity: 1; transform: none; }

        .auth-stmt {
            position: relative;
            text-align: center;
            padding: 56px 52px 50px;
            background: linear-gradient(150deg, #5B6066 0%, #4A4E52 48%, #383C41 100%);
        }
        .auth-stmt::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 3px;
            background: var(--blue);
            transform: scaleX(1);
            transform-origin: center;
            transition: transform .9s ease .15s;
        }
        .auth-plaque.pre .auth-stmt::before { transform: scaleX(0); }
        .auth-plaque.play .auth-stmt::before { transform: scaleX(1); }
        .auth-stmt h2 {
            margin: 0 auto;
            max-width: 740px;
            font-weight: 800;
            font-size: clamp(26px, 4vw, 52px);
            line-height: 1.1;
            letter-spacing: -.03em;
            color: #fff;
            word-break: keep-all;
            overflow-wrap: normal;
            hyphens: none;
        }
        .auth-stmt p {
            margin: 14px auto 0;
            max-width: 540px;
            font-weight: 400;
            font-size: clamp(16px, 1.6vw, 19px);
            line-height: 1.55;
            color: rgba(255,255,255,.7);
            word-break: keep-all;
            hyphens: none;
        }

        .auth-hero {
            background: var(--light);
            padding: 48px 32px 42px;
            text-align: center;
            display: flex;
            flex-direction: column;
            align-items: center;
        }
        .auth-hero .auth-gtile {
            width: 54px; height: 54px;
            border-radius: 16px;
            margin-bottom: 16px;
        }
        .auth-hero .auth-stat {
            font-weight: 700;
            font-size: clamp(48px, 6vw, 68px);
            line-height: .92;
            letter-spacing: -.02em;
            margin: 0;
            background: linear-gradient(180deg, #62BDFB, #2C9AEF);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
            font-variant-numeric: tabular-nums;
        }
        .auth-hero .auth-statlabel {
            margin-top: 10px;
            font-weight: 600;
            font-size: clamp(14px, 1.5vw, 16px);
            color: #3A3F45;
        }

        .auth-attrs {
            display: grid;
            grid-template-columns: 1fr 1fr;
            border-top: 1px solid var(--border);
            background: #fff;
        }
        .auth-attr {
            padding: 34px 30px;
            text-align: center;
            display: flex;
            flex-direction: column;
            align-items: center;
            opacity: 1;
            transform: none;
            transition: opacity .55s ease, transform .55s ease;
        }
        .auth-plaque.pre .auth-attr { opacity: 0; transform: translateY(12px); }
        .auth-plaque.play .auth-attr { opacity: 1; transform: none; }
        .auth-plaque.play .auth-attr:nth-child(1) { transition-delay: .5s; }
        .auth-plaque.play .auth-attr:nth-child(2) { transition-delay: .64s; }
        .auth-attr + .auth-attr { box-shadow: inset 1px 0 0 var(--border); }
        .auth-attr .auth-gtile {
            width: 48px; height: 48px;
            border-radius: 14px;
            margin-bottom: 14px;
        }
        .auth-attr h4 {
            font-weight: 700;
            font-size: clamp(18px, 1.8vw, 20px);
            line-height: 1.1;
            letter-spacing: -.01em;
            margin: 0 0 7px;
            color: #1a1a1a;
        }
        .auth-attr p {
            margin: 0;
            max-width: 260px;
            font-weight: 400;
            font-size: 14px;
            line-height: 1.45;
            color: var(--muted);
            word-break: keep-all;
            hyphens: none;
        }

        .auth-gtile {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            flex: none;
            background: linear-gradient(155deg, #69C0FB 0%, #46AEF7 46%, #2E9CF0 100%);
            box-shadow: 0 14px 24px -9px rgba(46,157,241,.6), inset 0 2px 1px rgba(255,255,255,.6),
                        inset 0 -4px 8px rgba(18,108,178,.4), inset 0 0 0 1px rgba(255,255,255,.16);
        }
        .auth-gtile::before {
            content: '';
            position: absolute;
            left: 0; right: 0; top: 0;
            height: 62%;
            background: linear-gradient(180deg, rgba(255,255,255,.5), rgba(255,255,255,.12) 45%, transparent);
        }
        .auth-gtile svg {
            position: relative;
            z-index: 1;
            width: 54%; height: 54%;
            filter: drop-shadow(0 1.5px 1.5px rgba(14,84,140,.45));
        }

        @media (max-width: 820px) {
            .auth-band { padding: 44px 18px; }
            .auth-stmt { padding: 40px 26px 36px; }
            .auth-hero { padding: 40px 26px 36px; }
            .auth-attrs { grid-template-columns: 1fr; }
            .auth-attr + .auth-attr { box-shadow: inset 0 1px 0 var(--border); }
            .auth-attr { padding: 30px 26px; }
        }
        @media (prefers-reduced-motion: reduce) {
            .auth-plaque, .auth-attr { opacity: 1 !important; transform: none !important; transition: none !important; }
            .auth-stmt::before { transform: scaleX(1) !important; }
        }

        /* ===== 4 PATH CARDS - Michael's Package Options ===== */
        .paths {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 18px;
            max-width: 1180px;
            margin: 0 auto;
            padding: 0 32px;
        }

        .path-card {
            position: relative;
            min-height: 368px;
            border: 1px solid var(--border);
            border-radius: 26px;
            background: #fff;
            padding: 24px;
            box-shadow: 0 12px 30px rgba(10,20,35,0.06);
            display: flex;
            flex-direction: column;
            overflow: hidden;
        }

        .path-card.featured {
            border: 2px solid var(--blue);
            box-shadow: 0 20px 48px rgba(70,174,247,0.14);
        }

        .pkg-top {
            display: flex;
            justify-content: space-between;
            gap: 12px;
            align-items: flex-start;
            margin-bottom: 18px;
        }

        .pkg-icon {
            width: 74px;
            height: 74px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 22px;
            background: #F4F8FB;
            border: 1px solid #E0E7EF;
            flex: 0 0 auto;
        }

        .pkg-icon svg {
            width: 54px;
            height: 54px;
            stroke: #070B14;
            stroke-width: 2.6;
            fill: none;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .pkg-icon .blue-stroke {
            stroke: var(--blue);
        }

        .pkg-icon.lightning svg {
            width: 62px;
            height: 62px;
        }

        .human-icon {
            width: 74px;
            height: 74px;
            border-radius: 50%;
            background-image: url('/static/images/eleanor-avatar.jpg');
            background-size: cover;
            background-position: center 18%;
            border: 3px solid #fff;
            box-shadow: 0 0 0 1px #D7E0E9, 0 10px 18px rgba(0,0,0,0.12);
            flex: 0 0 auto;
        }

        .path-badge {
            display: inline-flex;
            padding: 7px 10px;
            border-radius: 999px;
            background: var(--soft);
            color: #096EA6;
            font-weight: 1000;
            font-size: 12px;
            line-height: 1;
            white-space: nowrap;
        }

        .amber-ribbon {
            position: absolute;
            top: 18px;
            right: 18px;
            background: #FFF5E3;
            border: 1px solid #F1C063;
            color: #5B3900;
            border-radius: 999px;
            padding: 8px 11px;
            font-size: 11px;
            font-weight: 1000;
            letter-spacing: 0.01em;
            box-shadow: 0 10px 22px rgba(245,166,35,0.16);
            z-index: 2;
            white-space: nowrap;
        }

        .path-card.featured .pkg-top {
            padding-top: 30px;
        }

        .path-card h3 {
            font-size: 26px;
            line-height: 1.05;
            letter-spacing: -0.035em;
            margin: 0 0 6px;
            color: #0B0F19;
        }

        .path-subtitle {
            font-size: 16px;
            color: #303846;
            font-weight:800;
            line-height: 1.25;
            margin-bottom: 15px;
        }

        .path-desc {
            font-size: 15.5px;
            color: #5A6472;
            margin: 0 0 16px;
        }

        .checks {
            list-style: none;
            padding: 0;
            margin: 0 0 22px;
            display: grid;
            gap: 9px;
        }

        .checks li {
            display: flex;
            gap: 9px;
            align-items: flex-start;
            font-size: 14.5px;
            color: #1F2937;
            font-weight: 750;
            line-height: 1.28;
        }

        .check {
            width: 17px;
            height: 17px;
            border-radius: 50%;
            background: var(--blue);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 auto;
            margin-top: 1px;
        }

        .check:after {
            content: "";
            width: 8px;
            height: 4px;
            border-left: 2px solid #fff;
            border-bottom: 2px solid #fff;
            transform: rotate(-45deg);
            margin-top: -2px;
        }

        .path-card .btn {
            margin-top: auto;
        }

        /* ===== ADD-ONS SECTION ===== */
        .add-ons {
            padding: 64px 0;
            background: #fff;
        }

        .addons-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 22px;
            max-width: 1180px;
            margin: 0 auto;
            padding: 0 32px;
        }

        .addon {
            border: 1px solid var(--border);
            border-radius: 28px;
            padding: 28px;
            background: #fff;
            box-shadow: 0 12px 30px rgba(10,20,35,0.06);
            display: grid;
            grid-template-columns: 78px 1fr;
            gap: 20px;
            align-items: start;
        }

        .addon h3 {
            margin: 0 0 8px;
            font-size: 29px;
            line-height: 1.05;
            letter-spacing: -0.04em;
        }

        .addon p {
            margin: 0;
            color: #5A6472;
            font-size: 16px;
        }

        .addon .price-pill {
            display: inline-flex;
            align-items: center;
            margin-top: 16px;
            font-weight: 1000;
            background: #F4F8FB;
            border: 1px solid #E0E7EF;
            padding: 9px 12px;
            border-radius: 999px;
            font-size: 14px;
        }

        /* ===== FILING COMPARE TABLE ===== */
        .filing-compare {
            padding: 66px 0;
            background: #F7F9FB;
        }

        .compare-box {
            display: grid;
            grid-template-columns: 330px 1fr;
            border: 1px solid var(--border);
            border-radius: 30px;
            overflow: hidden;
            background: #fff;
            box-shadow: 0 12px 30px rgba(10,20,35,0.06);
            max-width: 1180px;
            margin: 0 auto;
        }

        .compare-intro {
            padding: 34px;
            border-right: 1px solid var(--border);
            background: #fff;
        }

        .compare-intro h2 {
            font-size: 38px;
            line-height: 1.04;
            letter-spacing: -0.045em;
            margin: 0 0 14px;
        }

        .compare-intro p {
            margin: 0;
            color: #5D6878;
            font-size: 16px;
        }

        /* Old compare-table styles removed - using new RNSD-325 styles instead */

        /* ===== FINAL FLOW SECTION ===== */
        .final-section {
            padding: 66px 0 80px;
            background: #fff;
        }

        .flow-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 16px;
            max-width: 1180px;
            margin: 0 auto;
            padding: 0 32px;
        }

        .flow-card {
            background: #fff;
            border: 1px solid var(--border);
            border-radius: 26px;
            padding: 24px;
            box-shadow: 0 12px 30px rgba(10,20,35,0.06);
        }

        .flow-num {
            width: 34px;
            height: 34px;
            border-radius: 50%;
            background: #0B0F19;
            color: #fff;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-weight: 1000;
            margin-bottom: 14px;
        }

        .flow-card h3 {
            font-size: 22px;
            line-height: 1.05;
            margin: 0 0 8px;
        }

        .flow-card p {
            margin: 0;
            color: #5D6878;
        }

        /* ===== FOOTER CTA ===== */
        .footer-cta {
            padding: 42px 0;
            background: #0B0F19;
            color: #fff;
        }

        .footer-cta-inner {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 22px;
            max-width: 1180px;
            margin: 0 auto;
            padding: 0 32px;
        }

        .footer-cta h2 {
            margin: 0;
            font-size: 36px;
            letter-spacing: -0.04em;
        }

        .footer-cta p {
            margin: 8px 0 0;
            color: #C7D0DB;
        }

        .footer-cta .btn {
            background: #fff;
            color: #0B0F19;
        }

        /* ===== RESPONSIVE - Michael's exact mobile specs ===== */
        /* RNSD-371: Reduced side padding to minimize white space, Eleanor is the star */
        @media (max-width: 900px) {
            /* Page container - reduced padding for less white space */
            .page, .landing-page {
                max-width: 100%;
                padding: 0 16px;
                margin: 0 auto;
            }

            /* Header - mobile override */
            .landing-header-new {
                display: flex;
                grid-template-columns: unset;
                gap: 0;
                justify-content: space-between;
                height: 64px;
                padding: 0 16px;
                width: 100%;
                box-sizing: border-box;
                overflow: visible;
            }
            .header-logo-img {
                height: 90px;
                transform: scale(1.25) translateX(-16px);
                transform-origin: left center;
            }
            .header-right {
                overflow: visible;
                flex-shrink: 0;
            }
            .header-right {
                display: flex;
                gap: 0;
            }
            .header-nav {
                display: none;
            }
            .header-login-btn {
                display: none;
            }
            /* Keep Start with Eleanor button visible on mobile */
            .header-cta {
                height: 36px;
                padding: 0 14px;
                font-size: 11px;
            }
            .header-actions {
                gap: 8px;
            }

            /* RNSD-373: Mobile Hamburger Menu */
            .mobile-menu-toggle {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 40px;
                height: 40px;
                background: none;
                border: none;
                cursor: pointer;
                padding: 0;
                margin-left: 4px;
                margin-right: 4px;
            }
            .mobile-menu-toggle svg {
                width: 24px;
                height: 24px;
                stroke: #1b2430;
                stroke-width: 2;
                stroke-linecap: round;
            }
            .mobile-menu-toggle .hamburger-x { display: none; }
            .mobile-menu-toggle.open .hamburger-lines { display: none; }
            .mobile-menu-toggle.open .hamburger-x { display: block; }

            /* Mobile Menu Overlay - RNSD-373 */
            .mobile-menu {
                display: none;
                position: fixed;
                top: 64px;
                left: 0;
                right: 0;
                bottom: 0;
                background: #fff;
                z-index: 99999;
                overflow-y: auto;
                padding: 16px 20px 32px;
                animation: mobileMenuSlide 0.25s ease;
                box-shadow: 0 4px 20px rgba(0,0,0,0.15);
            }
            .mobile-menu.open {
                display: block !important;
            }
            @keyframes mobileMenuSlide {
                from { opacity: 0; transform: translateY(-10px); }
                to { opacity: 1; transform: translateY(0); }
            }
            .mobile-menu-nav {
                display: flex;
                flex-direction: column;
                gap: 0;
            }
            .mobile-menu-nav > a,
            .mobile-menu-nav > button {
                display: block;
                padding: 16px 0;
                font-size: 17px;
                font-weight: 700;
                color: #1b2430;
                text-decoration: none;
                border-bottom: 1px solid #E3EAF2;
                background: none;
                border-left: none;
                border-right: none;
                border-top: none;
                text-align: left;
                cursor: pointer;
                width: 100%;
            }
            .mobile-menu-nav > a:last-child,
            .mobile-menu-nav > button:last-child {
                border-bottom: none;
            }
            /* Mobile submenu accordion */
            .mobile-submenu-toggle {
                display: flex;
                justify-content: space-between;
                align-items: center;
            }
            .mobile-submenu-toggle svg {
                width: 20px;
                height: 20px;
                stroke: #667085;
                transition: transform 0.2s ease;
            }
            .mobile-submenu-toggle.open svg {
                transform: rotate(180deg);
            }
            .mobile-submenu {
                display: none;
                padding: 8px 0 8px 16px;
                background: #F6F8FA;
                margin: 0 -20px;
                padding-left: 36px;
                padding-right: 20px;
            }
            .mobile-submenu.open {
                display: block;
            }
            .mobile-submenu a {
                display: block;
                padding: 12px 0;
                font-size: 15px;
                font-weight: 600;
                color: #4A4E52;
                text-decoration: none;
                border-bottom: 1px solid #E3EAF2;
            }
            .mobile-submenu a:last-child {
                border-bottom: none;
            }
            .mobile-menu-cta {
                margin-top: 24px;
                display: flex;
                flex-direction: column;
                gap: 12px;
            }
            .mobile-menu-cta button {
                width: 100%;
                height: 48px;
                border-radius: 999px;
                font-size: 15px;
                font-weight: 700;
                cursor: pointer;
            }
            .mobile-menu-cta .mobile-start-btn {
                background: #080D1A;
                color: #fff;
                border: none;
            }
            .mobile-menu-cta .mobile-login-btn {
                background: #fff;
                color: #1b2430;
                border: 1px solid #E3EAF2;
            }

            /* Hero section - RNSD-377: Edge-to-edge with visual accents */
            .hero-new {
                display: block;
                padding: 36px 0 34px;
                position: relative;
            }
            /* Visual accent: subtle blue gradient glow on edges */
            .hero-new::before {
                content: "";
                position: absolute;
                top: 60px;
                left: 0;
                width: 80px;
                height: 200px;
                background: linear-gradient(90deg, rgba(70,174,247,0.08) 0%, transparent 100%);
                pointer-events: none;
            }
            .hero-new::after {
                content: "";
                position: absolute;
                top: 60px;
                right: 0;
                width: 80px;
                height: 200px;
                background: linear-gradient(-90deg, rgba(70,174,247,0.08) 0%, transparent 100%);
                pointer-events: none;
            }
            .hero-left {
                padding-right: 0;
                text-align: center;
            }

            /* Overline */
            .hero-subtitle, .overline {
                font-size: 11px;
                margin-bottom: 16px;
            }

            /* Headline - RNSD-377: Larger and bolder */
            .hero-title {
                font-size: 52px;
                line-height: 0.94;
                letter-spacing: -0.03em;
            }

            /* Lede/description */
            .hero-description {
                font-size: 16px;
                line-height: 1.48;
                margin-top: 20px;
            }

            /* Eleanor card - RNSD-377: Edge-to-edge with visual accents */
            .hero-right, .eleanorStage {
                min-height: auto;
                display: block;
                padding: 0 14px; /* Reduced side padding for more width */
            }
            .eleanor-card, .eleanorCard {
                margin: 34px auto 0;
                width: 100%;
                padding: 24px;
                border-radius: 28px;
                /* Visual accent: subtle blue glow on edges */
                box-shadow:
                    0 0 0 1px rgba(70,174,247,0.15),
                    0 30px 60px -20px rgba(8,13,26,0.18),
                    -8px 0 30px -15px rgba(70,174,247,0.12),
                    8px 0 30px -15px rgba(70,174,247,0.12);
            }

            /* Eleanor portrait - RNSD-371/377: Edge-to-edge on mobile, Eleanor is the star! */
            .eleanorPortrait {
                width: calc(100% + 48px); /* Bleed outside card padding */
                max-width: none;
                height: 200px;
                margin: -50px -24px 16px -24px; /* Negative margins to go edge-to-edge */
                border: none;
                border-radius: 24px 24px 50% 50% / 24px 24px 35% 35%;
                box-shadow: 0 18px 45px rgba(8,13,26,0.14);
            }

            /* Card title - RNSD-377: Larger on mobile */
            .eleanor-card h3, .eleanorCard h3 {
                font-size: 26px;
                letter-spacing: -0.02em;
            }

            /* CTA button - RNSD-377: Larger and more prominent */
            .eleanor-start-btn, .eleanorCard .btn {
                height: 58px;
                font-size: 17px;
                margin-top: 20px;
                /* Visual accent: blue glow on hover-ready state */
                box-shadow: 0 8px 24px -8px rgba(8,13,26,0.35);
            }

            /* Prompt box */
            .eleanor-form-preview, .eleanorPrompt {
                margin-top: 18px;
                padding: 18px;
                border-radius: 22px;
            }
            .eleanor-form-preview h4, .eleanorPrompt label {
                font-size: 18px;
                margin-bottom: 10px;
            }

            /* Textarea - HIDE on mobile per Michael's feedback */
            /* Mobile shows static text, not interactive textarea */
            .eleanor-textarea, .fakeArea {
                display: none;
            }
            .char-count {
                display: none;
            }
            /* Show static placeholder text on mobile */
            .mobile-static-text {
                display: block;
                width: 100%;
                height: 124px;
                padding: 16px;
                font-size: 14px;
                line-height: 1.42;
                border: 1.5px solid #CBD6E2;
                border-radius: 14px;
                background: #fff;
                color: #7A8699;
                overflow: hidden;
            }

            /* Micro text */
            .eleanor-free-note, .eleanorMicro {
                max-width: 270px;
                font-size: 12.5px;
                line-height: 1.45;
                margin: 14px auto 0;
            }

            /* Hide floating orbit chips, show mobile chips grid */
            .floating-label, .orbit {
                display: none;
            }
            .mobileChips {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 10px;
                margin-top: 20px;
            }
            .mobileChips .chip {
                position: static;
                font-size: 12px;
                min-height: 34px;
                padding: 0 12px;
            }

            /* Trust card */
            .hero-trust-badge, .trustCard {
                margin-top: 28px;
                grid-template-columns: 48px 1fr;
                gap: 14px;
                padding: 18px;
                border-radius: 22px;
            }
            .hero-trust-badge .checkmark, .trustCard .iconBox {
                width: 48px;
                height: 48px;
                border-radius: 14px;
            }
            .hero-trust-badge .checkmark svg {
                width: 24px;
                height: 24px;
            }
            .hero-trust-badge p, .trustCard p {
                font-size: 15px;
                line-height: 1.38;
            }

            /* Lower band section */
            .lowerBand {
                padding: 34px 0 50px;
                margin: 20px -22px 0;
            }
            .bandGrid {
                grid-template-columns: 1fr;
                padding: 0 22px;
            }
            .bandLeft h2 {
                font-size: 28px;
            }
            .bandGrid p, .bandLeft p {
                font-size: 15px;
                line-height: 1.5;
                margin-top: 12px;
                color: #475467;
            }
            .miniList {
                margin-top: 22px;
                gap: 14px;
            }
            .miniList div {
                padding: 18px;
                font-size: 15px;
            }

            /* How section */
            .how {
                padding: 32px 22px 56px;
            }
            .sectionHead {
                flex-direction: column;
                align-items: flex-start;
                margin: 0 0 22px;
            }
            .sectionHead h2 {
                font-size: 28px;
            }
            .sectionHead p {
                text-align: left;
                margin-top: 12px;
            }
            .howGrid {
                grid-template-columns: 1fr;
                gap: 14px;
            }
            .step {
                padding: 18px;
                min-height: auto;
            }
            .step.card {
                border-radius: 22px;
            }
            .stepNum {
                width: 38px;
                height: 38px;
                margin-bottom: 16px;
            }
            .step h3 {
                font-size: 18px;
            }
            .step p {
                font-size: 13px;
                color: #667085;
                margin-top: 4px;
            }

            /* Authority section mobile */
            .authority-grid {
                grid-template-columns: 1fr;
                padding: 0 22px;
            }
            .authority-title strong {
                font-size: 22px;
            }

            /* Path cards mobile */
            .paths {
                grid-template-columns: 1fr;
                gap: 14px;
                padding: 0 22px;
            }
            .path-card {
                min-height: auto;
                padding: 22px;
            }
            .path-card.featured .pkg-top {
                padding-top: 40px;
            }
            .pkg-icon, .human-icon {
                width: 68px;
                height: 68px;
            }
            .pkg-icon svg {
                width: 48px;
                height: 48px;
            }
            .amber-ribbon {
                font-size: 10px;
                top: 14px;
                right: 14px;
            }

            /* Add-ons mobile */
            .addons-grid {
                grid-template-columns: 1fr;
                padding: 0 22px;
            }
            .addon {
                grid-template-columns: 1fr;
            }

            /* Compare table mobile */
            .compare-box {
                grid-template-columns: 1fr;
                margin: 0 22px;
            }
            .compare-intro {
                border-right: 0;
                border-bottom: 1px solid var(--border);
            }
            /* Old compare-table mobile styles removed - using new RNSD-325 styles */

            /* Flow section mobile */
            .flow-grid {
                grid-template-columns: 1fr;
                padding: 0 22px;
            }

            /* Footer CTA mobile */
            .footer-cta-inner {
                display: block;
                padding: 0 22px;
            }
            .footer-cta .btn {
                margin-top: 20px;
                width: 100%;
            }
        }

        .river-bank-left {
            left: 0;
            background: linear-gradient(90deg,
                rgba(5, 10, 15, 0.95) 0%,
                rgba(8, 15, 22, 0.7) 40%,
                transparent 100%);
        }

        .river-bank-right {
            right: 0;
            background: linear-gradient(270deg,
                rgba(5, 10, 15, 0.95) 0%,
                rgba(8, 15, 22, 0.7) 40%,
                transparent 100%);
        }

        /* Accessibility: Pause video for reduced motion preference */
        @media (prefers-reduced-motion: reduce) {
            .river-video {
                animation-play-state: paused !important;
            }
        }

        /* Mobile: Slightly narrower banks */
        @media (max-width: 768px) {
            .river-bank-left,
            .river-bank-right {
                width: 40px;
            }
        }

        /* Remove old decorative elements */
        .landing-orbs, .noise-overlay { display: none; }

        /* Hide fixed footer on landing page - it's a scroll page now */
        .landing-page ~ #siteFooter { display: none; }
        .landing-page.hidden ~ #siteFooter { display: flex; }

        /* ============================================================
           RNSD-313: NEW LIGHT THEME SECTIONS - Michael's design
           ============================================================ */

        /* RNSD-376: Trust Pane - "By The Numbers" with Agent Photo */
        .sq-trust {
            background: linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 50%, #F6F8FA 100%);
            padding: 72px 24px 88px;
            display: flex;
            justify-content: center;
            -webkit-font-smoothing: antialiased;
        }
        .sq-trust__wrap { width: 100%; max-width: 1180px; }

        .sq-pane {
            position: relative;
            display: grid;
            grid-template-columns: 1.32fr 1fr;
            border-radius: 26px;
            overflow: hidden;
            background: radial-gradient(120% 140% at 0% 0%, #FFFFFF 0%, #FFFFFF 38%, #EBF0F5 100%);
            border: 1px solid rgba(8,13,26,.10);
            box-shadow:
                0 1px 0 rgba(255,255,255,.9) inset,
                0 30px 60px -28px rgba(8,13,26,.28),
                0 6px 18px -10px rgba(8,13,26,.14);
        }

        .sq-data {
            position: relative;
            z-index: 2;
            padding: 48px 44px 40px;
            min-width: 0;
        }
        .sq-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            font-size: .74rem;
            font-weight: 800;
            letter-spacing: .18em;
            text-transform: uppercase;
            color: #4A4E52;
            margin: 0 0 30px;
        }
        .sq-eyebrow::before {
            content: "";
            width: 22px;
            height: 2px;
            border-radius: 2px;
            background: linear-gradient(90deg, #62BDFB, #2C9AEF);
        }

        .sq-stats {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
        }
        .sq-stat {
            position: relative;
            padding: 0 22px;
        }
        .sq-stat:first-child { padding-left: 0; }
        .sq-stat + .sq-stat::before {
            content: "";
            position: absolute;
            left: 0;
            top: 6px;
            bottom: 18px;
            width: 1px;
            background: rgba(8,13,26,.10);
        }
        .sq-num {
            font-weight:800;
            font-size: clamp(2.6rem, 4.6vw, 4rem);
            line-height: .92;
            letter-spacing: -.03em;
            color: #080D1A;
            font-variant-numeric: tabular-nums lining-nums;
            white-space: nowrap;
        }
        .sq-num .ast {
            font-size: .5em;
            font-weight: 800;
            vertical-align: super;
            color: #2C9AEF;
            margin-left: 1px;
        }
        .sq-label {
            margin: 14px 0 0;
            font-size: .92rem;
            line-height: 1.42;
            font-weight: 600;
            color: #4A4E52;
            max-width: 18ch;
        }

        /* Precision axis line */
        .sq-axis {
            position: relative;
            margin: 30px 0 0;
            height: 18px;
        }
        .sq-axis__line {
            position: absolute;
            left: 0;
            right: -90px;
            top: 8px;
            height: 1.5px;
            background: linear-gradient(90deg, rgba(70,174,247,.55) 0%, rgba(70,174,247,.55) 70%, rgba(70,174,247,0) 100%);
            transform-origin: left center;
        }
        .sq-axis__ticks {
            position: absolute;
            left: 0;
            right: 0;
            top: 0;
            height: 18px;
        }
        .sq-tick {
            position: absolute;
            top: 4px;
            width: 1.5px;
            background: #46AEF7;
            border-radius: 2px;
        }
        .sq-tick.major { height: 11px; }
        .sq-tick.minor { height: 6px; top: 6px; opacity: .55; }

        .sq-foot {
            margin: 26px 0 0;
            font-size: .74rem;
            line-height: 1.5;
            color: #6B7280;
            max-width: 62ch;
        }

        /* Photo side */
        .sq-photo {
            position: relative;
            z-index: 1;
            min-height: 380px;
            overflow: hidden;
            background: linear-gradient(135deg, #f0f4f8 0%, #e8ecf0 100%);
            border-radius: 0 20px 20px 0;
        }
        .sq-photo img {
            position: absolute;
            right: 0;
            bottom: 0;
            height: 105%;
            width: auto;
            max-width: none;
            object-fit: contain;
            object-position: bottom right;
            pointer-events: none;
            user-select: none;
        }

        /* RNSD-376: Trust Pane Animations */
        @media (prefers-reduced-motion: no-preference) {
            .sq-pane.play .sq-eyebrow { animation: sqRise .5s cubic-bezier(.2,.7,.2,1) both; }
            .sq-pane.play .sq-stat { animation: sqRise .6s cubic-bezier(.2,.7,.2,1) both; }
            .sq-pane.play .sq-stat:nth-child(1) { animation-delay: .06s; }
            .sq-pane.play .sq-stat:nth-child(2) { animation-delay: .14s; }
            .sq-pane.play .sq-stat:nth-child(3) { animation-delay: .22s; }
            .sq-pane.play .sq-axis__line { animation: sqAxis .7s cubic-bezier(.2,.7,.2,1) .28s both; }
            .sq-pane.play .sq-tick { animation: sqTick .4s ease both; }
            .sq-pane.play .sq-photo img { animation: sqFade .8s ease .18s both; }
        }
        @keyframes sqRise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
        @keyframes sqAxis { from { transform: scaleX(0); } to { transform: scaleX(1); } }
        @keyframes sqTick { from { opacity: 0; transform: translateY(4px) scaleY(.4); } to { opacity: 1; transform: none; } }
        @keyframes sqFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

        /* Why Squabble Section with Thought Bubble */
        .sq-why{background:#fff;color:#080D1A;-webkit-font-smoothing:antialiased;padding:64px 32px;display:flex;justify-content:center;position:relative;}
        .sq-why::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg, rgba(255,255,255,1) 0%, transparent 5%, transparent 95%, rgba(255,255,255,1) 100%);pointer-events:none;z-index:10;}
        .sq-why__inner{width:100%;max-width:1180px;}
        .sq-why .panel{position:relative;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 40px 100px rgba(8,13,26,.08), 0 8px 32px rgba(8,13,26,.04);}
        .sq-why .panel::before{content:"";position:absolute;inset:0;border-radius:28px;box-shadow:inset 0 0 60px 30px rgba(255,255,255,0.7);pointer-events:none;z-index:8;}
        .sq-why .hero{position:relative;}
        .sq-why .hero__media{position:relative;width:100%;min-height:400px;aspect-ratio:3/2;background-image:url('/static/images/why-thinking-person.jpg');background-size:cover;background-position:center top;}
        .sq-why .hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg, rgba(248,249,251,.93) 0%, rgba(248,249,251,.72) 30%, rgba(248,249,251,0) 56%);}
        .sq-why .hero__copy{position:absolute;left:clamp(28px,4.5%,64px);top:clamp(40px,9%,72px);max-width:46%;z-index:3;}
        .sq-why .hero__overline{font-size:12px;letter-spacing:.20em;text-transform:uppercase;font-weight:800;color:#6B7280;margin:0 0 16px;}
        .sq-why .hero__h2{margin:0;font-size:clamp(34px,4.4vw,56px);line-height:.98;letter-spacing:-.05em;font-weight:800;color:#080D1A;}
        .sq-why .hero__q{margin:18px 0 26px;font-size:clamp(16px,1.5vw,19px);font-weight:700;color:#3A4656;}
        .sq-why .wbtn{border:0;background:#080D1A;color:#fff;border-radius:999px;height:52px;padding:0 32px;font-family:inherit;font-size:15px;font-weight:800;letter-spacing:.01em;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .16s ease, opacity .16s ease;text-decoration:none;}
        .sq-why .wbtn:hover{transform:translateY(-2px);opacity:.94;}
        .sq-why .think{position:absolute;top:14%;right:13%;z-index:5;width:78px;height:56px;border-radius:28px;background:#fff;border:1px solid #DCE5EE;box-shadow:0 16px 38px rgba(8,13,26,.18);display:flex;align-items:center;justify-content:center;gap:10px;animation:sqFloat 5s ease-in-out infinite;}
        .sq-why .think__trail{position:absolute;z-index:4;background:#fff;border:1px solid #DCE5EE;border-radius:50%;box-shadow:0 8px 20px rgba(8,13,26,.12);animation:sqFloat 5s ease-in-out infinite .15s;}
        .sq-why .t1{width:18px;height:18px;top:31%;right:18%;}
        .sq-why .t2{width:11px;height:11px;top:37%;right:21.5%;}
        .sq-why .wdot{width:13px;height:13px;border-radius:50%;background:#46AEF7;opacity:.4;animation:sqWave 1.5s ease-in-out infinite;}
        .sq-why .wdot--2{animation-delay:.18s;}
        .sq-why .wdot--3{animation-delay:.36s;}
        @keyframes sqWave{0%,62%,100%{transform:translateY(0);opacity:.4;}30%{transform:translateY(-7px);opacity:1;}}
        @keyframes sqFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
        /* RNSD-XXX: Thought Bubble Animation (LOCAL ONLY) */
        .sq-why .tray{position:absolute !important;top:8% !important;right:32% !important;left:auto !important;transform:none !important;z-index:20 !important;background:transparent !important;padding:0 !important;box-shadow:none !important;width:270px !important;margin:0 !important;}
        .sq-why .tray::before,.sq-why .tray::after{content:"";position:absolute;background:#fff;border:1px solid #DCE5EE;border-radius:50%;box-shadow:0 8px 20px rgba(8,13,26,.12);animation:sqFloat 5s ease-in-out infinite .1s;z-index:5;opacity:0.95;}
        .sq-why .tray::before{width:18px;height:18px;bottom:-28px;right:-25px;}
        .sq-why .tray::after{width:11px;height:11px;bottom:-48px;right:-45px;animation-delay:.25s;}
        .sq-why .wcards{position:relative !important;height:120px !important;display:block !important;}
        .sq-why .wcard{position:absolute !important;top:0 !important;left:0 !important;right:0 !important;background:#fff !important;border:1px solid #DCE5EE !important;border-radius:22px !important;box-shadow:0 16px 38px rgba(8,13,26,.18), 0 0 18px rgba(70,174,247,0.25) !important;padding:16px 20px !important;display:flex !important;flex-direction:column !important;overflow:hidden !important;opacity:0;transform:translateY(8px) scale(0.96);animation:sqThoughtBubble 12s ease-in-out infinite !important;}
        .sq-why .wcard:nth-child(1){animation-delay:0s !important;}
        .sq-why .wcard:nth-child(2){animation-delay:4s !important;}
        .sq-why .wcard:nth-child(3){animation-delay:8s !important;}
        @keyframes sqThoughtBubble{
          0%{opacity:0;transform:translateY(8px) scale(0.96);}
          3%{opacity:1;transform:translateY(0) scale(1);}
          30%{opacity:1;transform:translateY(-2px) scale(1);}
          33%{opacity:0;transform:translateY(-6px) scale(0.97);}
          100%{opacity:0;transform:translateY(8px) scale(0.96);}
        }
        .sq-why .wcard h3{opacity:0;animation:sqTextTitle 12s ease-in-out infinite !important;}
        .sq-why .wcard p{opacity:0;animation:sqTextBody 12s ease-in-out infinite !important;}
        .sq-why .wcard:nth-child(1) h3,.sq-why .wcard:nth-child(1) p{animation-delay:0s !important;}
        .sq-why .wcard:nth-child(2) h3,.sq-why .wcard:nth-child(2) p{animation-delay:4s !important;}
        .sq-why .wcard:nth-child(3) h3,.sq-why .wcard:nth-child(3) p{animation-delay:8s !important;}
        @keyframes sqTextTitle{
          0%,2%{opacity:0;transform:translateY(4px);}
          5%{opacity:1;transform:translateY(0);}
          30%{opacity:1;transform:translateY(0);}
          33%{opacity:0;transform:translateY(-4px);}
          100%{opacity:0;}
        }
        @keyframes sqTextBody{
          0%,6%{opacity:0;transform:translateY(6px);}
          10%{opacity:1;transform:translateY(0);}
          30%{opacity:1;transform:translateY(0);}
          33%{opacity:0;transform:translateY(-4px);}
          100%{opacity:0;}
        }
        .sq-why .wcard::before{display:none !important;}
        .sq-why .wcard:hover{transform:none !important;box-shadow:0 16px 38px rgba(8,13,26,.18) !important;border-color:#DCE5EE !important;}
        .sq-why .wcard__num{display:none !important;}
        .sq-why .wcard .iconBox{display:none !important;}
        .sq-why .think,.sq-why .think__trail,.sq-why .t1,.sq-why .t2{display:none !important;}
        .sq-why .iconBox{width:36px;height:36px;border-radius:10px;background:#EFF9FF;border:1px solid #D5F0FF;display:flex;align-items:center;justify-content:center;margin-bottom:10px;flex:none;}
        .sq-why .iconBox svg{width:18px;height:18px;}
        .sq-why .wcard h3{margin:0 0 6px;font-size:17px;line-height:1.25;letter-spacing:-.01em;font-weight:700;color:#1a1a1a;}
        .sq-why .wcard p{margin:0;font-size:14px;line-height:1.45;color:#6b7280;font-weight:400;}
        @media (max-width:820px){
          .sq-why{padding:40px 8px;}
          .sq-why::after{background:linear-gradient(90deg, rgba(255,255,255,1) 0%, transparent 8%, transparent 92%, rgba(255,255,255,1) 100%);}
          .sq-why .panel{border-radius:16px;box-shadow:0 30px 80px rgba(8,13,26,.06), 0 4px 20px rgba(8,13,26,.03);overflow:hidden;}
          .sq-why .panel::before{box-shadow:inset 0 0 50px 25px rgba(255,255,255,0.75);}
          .sq-why .hero{display:flex;flex-direction:column;position:relative;}
          .sq-why .hero__copy{position:static;order:1;max-width:100%;padding:30px 24px 20px;}
          .sq-why .hero__media{order:2;aspect-ratio:3/4;background-size:cover;background-position:center top;min-height:380px;}
          .sq-why .hero__media::after{background:linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0.5) 12%, rgba(255,255,255,0) 30%, rgba(255,255,255,0) 70%, rgba(255,255,255,0.7) 90%, rgba(255,255,255,1) 100%);}
          .sq-why .think{top:8%;right:12%;}
          .sq-why .t1{top:16%;right:19%;}
          .sq-why .t2{top:22%;right:24%;}
          .sq-why .panel{position:relative;}
          .sq-why .tray{position:absolute !important;top:40% !important;left:8% !important;right:auto !important;transform:none !important;z-index:10 !important;padding:0 !important;width:200px !important;background:transparent !important;box-shadow:none !important;margin:0 !important;}
          .sq-why .tray::before,.sq-why .tray::after{display:block !important;opacity:0.95;}
          .sq-why .tray::before{width:14px;height:14px;bottom:-28px;right:-20px;}
          .sq-why .tray::after{width:10px;height:10px;bottom:-48px;right:-40px;}
          .sq-why .wcards{position:relative !important;height:85px !important;display:block !important;}
          .sq-why .wcards::before{content:"";position:absolute;width:7px;height:7px;bottom:-65px;right:-55px;background:#fff;border:1px solid #DCE5EE;border-radius:50%;box-shadow:0 4px 12px rgba(8,13,26,.12);animation:sqFloat 5s ease-in-out infinite .35s;z-index:5;opacity:0.95;}
          .sq-why .wcard{position:absolute !important;top:0 !important;left:0 !important;right:0 !important;padding:14px 16px !important;border-radius:18px !important;background:#fff !important;border:1px solid #DCE5EE !important;box-shadow:0 12px 32px rgba(8,13,26,.15), 0 0 14px rgba(70,174,247,0.25) !important;opacity:0;transform:translateY(8px) scale(0.96);animation:sqThoughtBubble 12s ease-in-out infinite !important;}
          .sq-why .wcard__num{display:none !important;}
          .sq-why .wcard .iconBox{display:none !important;}
          .sq-why .wcard h3{margin:0 0 4px !important;font-size:15px !important;opacity:0;animation:sqTextTitle 12s ease-in-out infinite !important;}
          .sq-why .wcard p{font-size:13px !important;line-height:1.4 !important;opacity:0;animation:sqTextBody 12s ease-in-out infinite !important;}
          .sq-why .wcard:nth-child(1),.sq-why .wcard:nth-child(1) h3,.sq-why .wcard:nth-child(1) p{animation-delay:0s !important;}
          .sq-why .wcard:nth-child(2),.sq-why .wcard:nth-child(2) h3,.sq-why .wcard:nth-child(2) p{animation-delay:4s !important;}
          .sq-why .wcard:nth-child(3),.sq-why .wcard:nth-child(3) h3,.sq-why .wcard:nth-child(3) p{animation-delay:8s !important;}
          .sq-why .think,.sq-why .think__trail,.sq-why .t1,.sq-why .t2{display:none !important;}
        }
        @media (max-width:420px){
          /* Smaller phones like iPhone 13 (390px viewport) */
          .sq-why .tray{top:44% !important;}
        }
        @media (prefers-reduced-motion: reduce){
          .sq-why .wdot,.sq-why .think,.sq-why .think__trail,.sq-why .wcard,.sq-why .tray::before,.sq-why .tray::after{animation:none !important;}
          .sq-why .wdot{opacity:1;}
          .sq-why .wcard{opacity:1;transform:none;}
          .sq-why .wcard:not(:first-child){display:none;}
        }

        /* RNSD-XXX: Why Squabble - Justice should be affordable */
        .wr{position:relative;isolation:isolate;padding:84px 24px 88px;
          font-family:'Nunito Sans',Inter,system-ui,-apple-system,'Segoe UI',sans-serif;font-feature-settings:"ss02" 1;color:#080D1A;
          -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:#fff;overflow:hidden;hyphens:none;word-break:normal;}
        .wr::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
          background:radial-gradient(105% 70% at 84% 0%, rgba(70,174,247,.15), rgba(70,174,247,0) 56%),
                    linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(247,251,255,.55) 50%, rgba(240,247,253,.92) 100%);}
        .wr__inner{position:relative;z-index:2;max-width:1140px;margin:0 auto;}
        .wr__panel{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:1140/636;background:#fff;
          box-shadow:0 1px 2px rgba(8,13,26,.05), 0 44px 96px -52px rgba(8,13,26,.46);border:1px solid rgba(8,13,26,.05);}
        .wr__media{position:absolute;inset:0;overflow:hidden;}
        .wr__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block;
          will-change:transform;animation:wr-drift 34s ease-in-out infinite alternate;}
        @keyframes wr-drift{from{transform:scale(1.015);}to{transform:scale(1.06);}}
        .wr__scrim{position:absolute;inset:0;pointer-events:none;
          background:linear-gradient(96deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.98) 18%, rgba(255,255,255,.82) 38%, rgba(255,255,255,.28) 54%, rgba(255,255,255,0) 66%);}
        .wr__head{position:absolute;z-index:2;left:0;top:0;width:54%;min-width:300px;
          padding:clamp(50px,7vw,84px) 16px 0 clamp(34px,4vw,60px);}
        .wr__eyebrow{display:inline-block;margin:0 0 14px;font-size:12.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#1F7FCC;}
        .wr__title{margin:0;font-weight:800;font-size:clamp(34px,4.6vw,54px);line-height:1.03;letter-spacing:-.022em;color:#080D1A;}
        .wr__title em{font-style:normal;color:#46AEF7;}
        .wr__title .ln{display:block;overflow:hidden;padding:.02em 0;}
        .wr__title .in{display:inline-block;transform:translateY(0);}
        .wr__reasons{position:absolute;z-index:3;top:35%;left:44%;right:5%;display:grid;min-height:1.9em;}
        .wr__reason{grid-area:1/1;align-self:start;font-size:clamp(17px,1.85vw,20px);font-weight:800;line-height:1.4;color:#080D1A;
          letter-spacing:-.012em;text-shadow:0 1px 2px rgba(255,255,255,.6), 0 0 18px rgba(255,255,255,.6);
          opacity:0;transform:translateY(8px);transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1);}
        .wr__reason.on{opacity:1;transform:none;}
        .wr__reason b{color:#1F7FCC;font-weight:800;}
        .wr__foot{position:absolute;z-index:2;left:0;top:42%;width:54%;min-width:300px;
          padding:0 16px 0 clamp(34px,4vw,60px);display:flex;flex-direction:column;}
        .wr__quote{margin:0 0 28px;font-style:italic;font-weight:800;font-size:clamp(17px,1.9vw,21px);line-height:1.3;letter-spacing:-.01em;color:#2E9CF0;max-width:22ch;}
        .wr__cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;cursor:pointer;align-self:flex-start;
          background:#080D1A;color:#fff;border-radius:999px;height:58px;padding:0 40px;font-family:inherit;font-weight:800;font-size:16.5px;
          box-shadow:0 18px 38px -16px rgba(8,13,26,.5);transition:transform .18s ease,box-shadow .18s ease;-webkit-tap-highlight-color:transparent;}
        .wr__cta svg{width:17px;height:17px;stroke:#fff;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s cubic-bezier(.16,1,.3,1);}
        .wr__cta:active{transform:scale(.97);transition-duration:.08s;}
        .wr__cta:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(70,174,247,.5),0 18px 38px -16px rgba(8,13,26,.5);}
        @media (hover:hover){.wr__cta:hover{transform:translateY(-2px);box-shadow:0 24px 46px -16px rgba(8,13,26,.55);}.wr__cta:hover svg{transform:translateX(4px);}}
        .wr.js .wr__panel{opacity:0;transform:translateY(22px) scale(.992);}
        .wr.js .wr__title .in{transform:translateY(115%);}
        .wr.js .wr__eyebrow,.wr.js .wr__quote,.wr.js .wr__cta{opacity:0;transform:translateY(16px);}
        .wr.in .wr__panel{animation:wr-panel 1s cubic-bezier(.16,1,.3,1) both;}
        .wr.in .wr__eyebrow{animation:wr-rise .6s cubic-bezier(.16,1,.3,1) .3s both;}
        .wr.in .wr__title .in{animation:wr-wipe .75s cubic-bezier(.22,.85,.2,1) .34s both;}
        .wr.in .wr__title .ln:nth-child(2) .in{animation-delay:.47s;}
        .wr.in .wr__quote{animation:wr-rise .6s cubic-bezier(.16,1,.3,1) .74s both;}
        .wr.in .wr__cta{animation:wr-rise .55s cubic-bezier(.16,1,.3,1) .86s both;}
        @keyframes wr-panel{from{opacity:0;transform:translateY(22px) scale(.992);}to{opacity:1;transform:none;}}
        @keyframes wr-wipe{from{transform:translateY(115%);}to{transform:translateY(0);}}
        @keyframes wr-rise{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}
        @media (max-width:860px){
          .wr__panel{aspect-ratio:auto;display:flex;flex-direction:column;}
          .wr__head{position:relative;left:auto;top:auto;width:auto;min-width:0;order:1;padding:34px 28px 16px;}
          .wr__foot{position:relative;left:auto;top:auto;width:auto;min-width:0;order:2;padding:4px 28px 16px;}
          .wr__reasons{position:relative;top:auto;left:auto;right:auto;order:3;min-height:2.95em;padding:0 28px;margin-bottom:-60px;z-index:2;}
          .wr__reason{text-shadow:none;align-self:center;}
          .wr__head,.wr__reasons,.wr__foot{align-self:center;width:100%;max-width:620px;text-align:center;}
          .wr__foot{align-items:center;}
          .wr__cta{align-self:center;}
          .wr__quote{max-width:none;}
          .wr__media{position:relative;inset:auto;order:4;width:100%;height:0;padding-bottom:76%;overflow:hidden;}
          .wr__img{object-position:57% 56%;}
          .wr__media::before{content:"";position:absolute;inset:0 0 auto 0;height:34%;z-index:1;pointer-events:none;
            background:linear-gradient(180deg,#fff 0%,#fff 14%,rgba(255,255,255,0) 100%);}
          .wr__scrim{display:none;}
          .wr__title{font-size:clamp(32px,8.2vw,42px);}
        }
        @media (max-width:560px){
          .wr{padding:60px 16px 70px;}
          .wr__head{padding:30px 22px 14px;}
          .wr__reasons{padding:0 22px;min-height:3.1em;}
          .wr__foot{padding:4px 22px 22px;}
          .wr__media{padding-bottom:88%;}
          .wr__reason{font-size:clamp(15px,4.4vw,17px);}
        }
        @media (prefers-reduced-motion:reduce){
          .wr.js .wr__panel,.wr.js .wr__title .in,.wr.js .wr__eyebrow,.wr.js .wr__quote,.wr.js .wr__cta{opacity:1;transform:none;}
          .wr__img{animation:none;transform:none;}
          .wr.in .wr__panel,.wr.in .wr__eyebrow,.wr.in .wr__title .in,.wr.in .wr__quote,.wr.in .wr__cta{animation:none!important;}
          .wr__reason:first-child{opacity:1;transform:none;}
        }

        /* RNSD-465: Disputes "find-your-situation" router */
        .helps{
          --hblue:#46AEF7; --hblue-deep:#1F7FCC; --hink:#080D1A; --hgray:#4A4E52; --hgray-2:#6B7280; --hhair:#DCE5EE;
          position:relative; isolation:isolate; padding:88px 24px 96px;
          font-family:'Nunito Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Inter,system-ui,sans-serif;
          font-feature-settings:"ss02" 1; color:var(--hink); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
          background:radial-gradient(115% 58% at 50% -10%, rgba(70,174,247,.10), rgba(70,174,247,0) 52%),
            linear-gradient(180deg,#FFFFFF 0%,#FAFCFE 55%,#F6F8FA 100%); overflow:hidden;}
        .helps *{font-family:inherit; box-sizing:border-box;}
        .helps__inner{position:relative; max-width:1080px; margin:0 auto;}
        .helps__head{text-align:center; max-width:660px; margin:0 auto 30px;}
        .helps__eyebrow{display:inline-block; margin:0 0 14px; font-size:12.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--hgray-2);}
        .helps__title{margin:0 0 14px; font-weight:800; font-size:clamp(36px,5.6vw,56px); line-height:1.0; letter-spacing:-.03em; color:var(--hink);}
        .helps__sub{margin:0 auto; max-width:560px; font-size:clamp(15.5px,1.7vw,17.5px); line-height:1.5; color:var(--hgray); font-weight:400;}
        .helps__chips{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px; margin:0 auto 40px; max-width:760px;}
        .helps__chips-label{font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--hgray-2); margin-right:2px;}
        .helps__chip{display:inline-flex; align-items:center; gap:5px; padding:9px 15px 9px 17px; background:#fff; border:1px solid var(--hhair); border-radius:999px;
          font-size:14px; font-weight:800; letter-spacing:-.005em; color:var(--hink); text-decoration:none; box-shadow:0 1px 2px rgba(8,13,26,.05);
          transition:transform .18s cubic-bezier(.16,1,.3,1),border-color .18s ease,color .18s ease,box-shadow .18s ease;}
        .helps__chip .helps__chev{color:var(--hblue); transform:translateX(-2px); transition:transform .18s cubic-bezier(.16,1,.3,1); width:14px; height:14px;}
        .helps__chip:hover{transform:translateY(-2px); border-color:rgba(70,174,247,.55); color:var(--hblue-deep); box-shadow:0 8px 20px rgba(70,174,247,.16);}
        .helps__chip:hover .helps__chev{transform:translateX(1px);}
        .helps__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px 26px; align-items:start;}
        .helps__col-label{font-size:11.5px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:var(--hgray-2); padding:0 4px 12px; border-bottom:1px solid var(--hhair); margin-bottom:8px;}
        .helps__col-doors{display:flex; flex-direction:column;}
        .helps__door{display:flex; align-items:center; gap:12px; padding:15px 14px; border-radius:14px; text-decoration:none; color:var(--hink); border:1px solid transparent; background:transparent;
          transition:transform .2s cubic-bezier(.16,1,.3,1),border-color .2s ease,background .2s ease,box-shadow .2s ease;}
        .helps__door-main{display:flex; flex-direction:column; gap:3px; flex:1; min-width:0;}
        .helps__door-name{font-size:16.5px; font-weight:800; letter-spacing:-.012em; line-height:1.2; color:var(--hink);}
        .helps__door-desc{font-size:13px; font-weight:400; line-height:1.42; color:var(--hgray-2);}
        .helps__door .helps__chev{color:#C2CCD7; flex-shrink:0; transform:translateX(-3px); opacity:0; transition:transform .2s cubic-bezier(.16,1,.3,1),opacity .2s ease,color .2s ease;}
        .helps__door:hover{background:#fff; border-color:rgba(70,174,247,.45); transform:translateY(-3px); box-shadow:0 1px 2px rgba(8,13,26,.06),0 14px 30px rgba(8,13,26,.07);}
        .helps__door:hover .helps__chev{color:var(--hblue); transform:translateX(0); opacity:1;}
        .helps__door:hover .helps__door-name{color:var(--hblue-deep);}
        .helps__door:focus-visible{outline:2px solid var(--hblue); outline-offset:2px; background:#fff;}
        .helps__door--catch{margin-top:6px; border:1px dashed #CBD8E4; background:rgba(255,255,255,.45);}
        .helps__door--catch .helps__door-name{color:var(--hgray);}
        .helps__door--catch .helps__chev{color:var(--hblue); opacity:1; transform:translateX(0);}
        .helps__door--catch:hover{background:#fff; border-style:solid; border-color:rgba(70,174,247,.45);}
        .helps__door--catch:hover .helps__door-name{color:var(--hblue-deep);}
        .helps__trust{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px 22px; margin:42px auto 0; max-width:760px;}
        .helps__trust span{display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:700; color:var(--hgray);}
        .helps__ck{width:18px; height:18px; flex-shrink:0;}
        .helps__sep{width:4px; height:4px; border-radius:50%; background:#CBD3DC;}
        .helps__footnote{max-width:720px; margin:18px auto 0; text-align:center; font-size:11.5px; line-height:1.5; color:#94A0AD;}
        @media (max-width:920px){
          .helps__grid{grid-template-columns:repeat(2,1fr); gap:20px 22px;}
          .helps__col:last-child{grid-column:1 / -1;}
          .helps__col:last-child .helps__col-doors{display:grid; grid-template-columns:1fr 1fr; gap:0 22px;}}
        @media (max-width:680px){
          .helps{padding:60px 20px 68px;}
          .helps__grid{grid-template-columns:1fr; gap:22px;}
          .helps__col:last-child{grid-column:auto;}
          .helps__col:last-child .helps__col-doors{display:flex;}
          .helps__door{padding:14px 12px;}
          .helps__door .helps__chev{opacity:1; transform:translateX(0); color:#C2CCD7;}
          .helps__chips{margin-bottom:34px;}
          .helps__sep{display:none;} .helps__trust{flex-direction:column; gap:11px;}}
        @media (max-width:380px){
          .helps{padding:52px 16px 60px;} .helps__title{font-size:30px;}
          .helps__chips-label{flex-basis:100%; text-align:center; margin:0 0 4px;}}
        @media (prefers-reduced-motion:reduce){
          .helps__chip,.helps__door,.helps__door .helps__chev,.helps__chip .helps__chev{transition:none !important;}}

        /* Generic Start Claim Button */
        .btn-start-claim {
            display: inline-block;
            padding: 16px 48px;
            background: #080D1A;
            color: #fff;
            border: none;
            border-radius: 999px;
            font-size: 16px;
            font-weight:800;
            cursor: pointer;
            box-shadow: 0 18px 36px -16px rgba(8,13,26,.5);
            transition: transform .18s ease, box-shadow .18s ease;
            -webkit-tap-highlight-color: transparent;
        }
        .btn-start-claim:hover {
            transform: translateY(-2px);
            box-shadow: 0 24px 44px -16px rgba(8,13,26,.55);
        }
        .btn-start-claim:active {
            transform: scale(.97);
        }

        /* "Simple Process" Section - Two column, light theme */
        .simple-process-section {
            background: linear-gradient(180deg, #fff 0%, #F6F8FA 100%);
            padding: 80px 32px;
        }
        .simple-process-inner {
            max-width: 1100px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr 1.2fr;
            gap: 60px;
            align-items: center;
        }
        .simple-process-left .overline {
            color: #6B7280;
            font-size: 13px;
            font-weight:800;
            text-transform: uppercase;
            letter-spacing: 0.19em;
            margin-bottom: 16px;
        }
        .simple-process-left h2 {
            font-size: 42px;
            font-weight:800;
            color: #080D1A;
            line-height: 1.05;
            margin-bottom: 24px;
            letter-spacing: -0.04em;
        }
        .btn-talk-eleanor {
            display: inline-block;
            padding: 16px 40px;
            background: #080D1A;
            color: #fff;
            border: none;
            border-radius: 999px;
            font-size: 16px;
            font-weight:800;
            cursor: pointer;
            box-shadow: 0 8px 30px rgba(8,13,26,0.15);
            transition: all 0.2s;
        }
        .btn-talk-eleanor:hover {
            transform: translateY(-2px);
            box-shadow: 0 12px 40px rgba(8,13,26,0.2);
        }
        .process-steps {
            display: flex;
            flex-direction: column;
            gap: 16px;
        }
        .process-step {
            background: #fff;
            border: 1px solid #DCE5EE;
            border-radius: 18px;
            padding: 22px 26px;
            display: flex;
            gap: 18px;
            align-items: flex-start;
            box-shadow: 0 4px 16px rgba(8,13,26,.04);
            transition: all 0.2s;
        }
        .process-step:hover {
            border-color: #46AEF7;
            box-shadow: 0 8px 24px rgba(70,174,247,.1);
        }
        .process-step .num {
            width: 40px;
            height: 40px;
            background: #080D1A;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-weight:800;
            flex-shrink: 0;
            font-size: 15px;
        }
        .process-step h4 {
            color: #080D1A;
            font-size: 17px;
            font-weight: 800;
            margin-bottom: 6px;
        }
        .process-step p {
            color: #586575;
            font-size: 15px;
            line-height: 1.5;
        }

        /* "How Squabble helps you get paid" Section */
        .helps-paid-section {
            background: #fff;
            padding: 80px 32px;
            text-align: center;
            border-top: 1px solid #EDF1F5;
        }
        .helps-paid-section h2 {
            font-size: 38px;
            font-weight:800;
            color: #080D1A;
            margin-bottom: 16px;
            letter-spacing: -0.04em;
        }
        .helps-paid-section .section-sub {
            color: #667085;
            font-size: 18px;
            margin-bottom: 48px;
        }
        .helps-grid {
            max-width: 1100px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 24px;
        }
        .helps-card {
            background: #fff;
            border: 1px solid #DCE5EE;
            border-radius: 20px;
            padding: 32px;
            text-align: left;
            box-shadow: 0 4px 16px rgba(8,13,26,.04);
            transition: all 0.2s;
        }
        .helps-card:hover {
            border-color: #46AEF7;
            box-shadow: 0 12px 32px rgba(70,174,247,.1);
            transform: translateY(-4px);
        }
        .helps-card .icon-box {
            width: 56px;
            height: 56px;
            background: #EFF9FF;
            border: 1px solid #D5F0FF;
            border-radius: 16px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 20px;
        }
        .helps-card .icon-box svg {
            width: 28px;
            height: 28px;
            fill: #46AEF7;
        }
        .helps-card h4 {
            color: #080D1A;
            font-size: 20px;
            font-weight: 800;
            margin-bottom: 12px;
        }
        .helps-card p {
            color: #586575;
            font-size: 15px;
            line-height: 1.6;
        }

        /* Section Separator */
        .section-separator {
            max-width: 1100px;
            margin: 0 auto;
            height: 1px;
            background: linear-gradient(90deg, transparent 0%, #e2e8f0 20%, #e2e8f0 80%, transparent 100%);
        }

        /* Pricing Section - Light theme */
        .pricing-section {
            background: linear-gradient(180deg, #F6F8FA 0%, #fff 100%);
            padding: 80px 32px;
            text-align: center;
            border-top: 1px solid #EDF1F5;
        }
        .pricing-section .overline {
            color: #6B7280;
            font-size: 13px;
            font-weight:800;
            text-transform: uppercase;
            letter-spacing: 0.19em;
            margin-bottom: 16px;
        }
        .pricing-section h2 {
            font-size: 42px;
            font-weight:800;
            color: #080D1A;
            margin-bottom: 16px;
            letter-spacing: -0.04em;
        }
        .pricing-section .subtitle {
            color: #667085;
            font-size: 18px;
            max-width: 700px;
            margin: 0 auto 24px;
        }
        .free-demand-link {
            display: inline-block;
            padding: 12px 24px;
            background: #EAF7FF;
            border: 1px solid #D5F0FF;
            border-radius: 999px;
            color: #080D1A;
            text-decoration: none;
            font-size: 14px;
            font-weight: 600;
            margin-bottom: 40px;
            transition: all 0.2s;
        }
        .free-demand-link:hover {
            background: #D5F0FF;
        }
        .free-demand-link span {
            color: #10b981;
            font-weight: 700;
        }
        .pricing-grid {
            max-width: 1100px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 24px;
        }
        .pricing-card {
            background: #fff;
            border: 1px solid #DCE5EE;
            border-radius: 20px;
            padding: 32px;
            text-align: left;
            position: relative;
            box-shadow: 0 4px 16px rgba(8,13,26,.04);
            transition: all 0.2s;
        }
        .pricing-card:hover {
            box-shadow: 0 12px 32px rgba(8,13,26,.08);
            transform: translateY(-4px);
        }
        .pricing-card.popular {
            border-color: #46AEF7;
            box-shadow: 0 12px 40px rgba(70,174,247,.15);
        }
        .pricing-card .badge {
            position: absolute;
            top: -12px;
            left: 50%;
            transform: translateX(-50%);
            background: #46AEF7;
            color: #fff;
            font-size: 11px;
            font-weight: 700;
            padding: 6px 18px;
            border-radius: 999px;
        }
        .pricing-card .tier-label {
            font-size: 12px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 8px;
        }
        .pricing-card .tier-label.green { color: #059669; }
        .pricing-card .tier-label.blue { color: #1686D9; }
        .pricing-card .tier-label.purple { color: #7c3aed; }
        .pricing-card h3 {
            color: #080D1A;
            font-size: 24px;
            font-weight: 800;
            margin-bottom: 8px;
        }
        .pricing-card .price {
            font-size: 38px;
            font-weight:800;
            margin-bottom: 16px;
            letter-spacing: -0.02em;
        }
        .pricing-card .price.green { color: #059669; }
        .pricing-card .price.blue { color: #46AEF7; }
        .pricing-card .price.purple { color: #7c3aed; }
        .pricing-card .price span {
            font-size: 14px;
            font-weight: 500;
            color: #667085;
        }
        .pricing-card .desc {
            color: #586575;
            font-size: 15px;
            line-height: 1.6;
            margin-bottom: 20px;
        }
        .pricing-card ul {
            list-style: none;
            padding: 0;
            margin: 0 0 24px;
        }
        .pricing-card ul li {
            color: #475467;
            font-size: 14px;
            padding: 6px 0;
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .pricing-card ul li .check { color: inherit; }
        .pricing-card ul li .x { color: #ef4444; }
        .pricing-card ul li .check-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 18px;
            height: 18px;
            background: #46AEF7;
            color: #fff;
            border-radius: 50%;
            font-size: 11px;
            font-weight: bold;
            flex-shrink: 0;
        }
        .pricing-card .plan-note {
            font-size: 0.75rem;
            color: #667085;
            margin-top: 1rem;
            padding-top: 0.75rem;
            border-top: 1px solid #e5e7eb;
        }
        /* RNSD-287: Hover glow effects for checkout cards */
        .pricing-card:first-child:hover {
            box-shadow: 0 4px 20px rgba(70, 174, 247, 0.15);
        }
        .pricing-card:nth-child(2):hover {
            box-shadow: 0 4px 24px rgba(70, 174, 247, 0.25);
        }
        .pricing-card--featured {
            position: relative;
            border: 2px solid #46AEF7;
        }
        .pricing-card--featured:hover {
            box-shadow: 0 8px 32px rgba(70, 174, 247, 0.35);
        }
        /* Gold recommended badge for DCA */
        .dca-recommend-badge {
            position: absolute;
            top: -14px;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            align-items: center;
            gap: 6px;
            background: linear-gradient(135deg, #fbbf24, #f59e0b);
            color: #78350f;
            font-size: 0.7rem;
            font-weight: 700;
            padding: 6px 14px;
            border-radius: 20px;
            white-space: nowrap;
            box-shadow: 0 2px 8px rgba(245, 158, 11, 0.3);
        }
        .pricing-card .btn-get {
            width: 100%;
            padding: 14px;
            border: none;
            border-radius: 999px;
            font-size: 15px;
            font-weight: 700;
            cursor: pointer;
            color: #fff;
            transition: all 0.2s;
        }
        .pricing-card .btn-get:hover {
            filter: brightness(1.1);
            transform: translateY(-1px);
        }
        .pricing-card .btn-get.green { background: #059669; }
        .pricing-card .btn-get.blue { background: #46AEF7; }
        .pricing-card .btn-get.purple { background: #7c3aed; }

        /* File Now vs File Later explainer */
        .file-explainer {
            max-width: 900px;
            margin: 40px auto 0;
            background: #F6F8FA;
            border: 1px solid #DCE5EE;
            border-radius: 20px;
            padding: 28px 32px;
            text-align: left;
        }
        .file-explainer h4 {
            color: #080D1A;
            font-size: 17px;
            font-weight: 800;
            margin-bottom: 16px;
        }
        .file-explainer-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 32px;
        }
        .file-explainer-col h5 {
            font-size: 15px;
            font-weight: 700;
            margin-bottom: 8px;
        }
        .file-explainer-col h5.blue { color: #1686D9; }
        .file-explainer-col h5.purple { color: #7c3aed; }
        .file-explainer-col p {
            color: #586575;
            font-size: 14px;
            line-height: 1.5;
        }
        .pricing-note {
            color: rgba(255,255,255,0.5);
            font-size: 14px;
            margin-top: 32px;
        }
        .btn-start-claim-big {
            display: inline-block;
            margin-top: 24px;
            padding: 18px 48px;
            background: #46AEF7;
            color: #fff;
            border: none;
            border-radius: 999px;
            font-size: 17px;
            font-weight: 600;
            cursor: pointer;
            box-shadow: 0 8px 30px rgba(70,174,247,0.4);
        }

        /* ===== INTENT ROUTER SECTION - Michael's "Where are you right now?" ===== */
        #sq-paths{
          --blue:#46AEF7; --black:#080D1A; --gray:#4A4E52; --light:#F6F8FA;
          --border:#DCE5EE; --amber:#F5A623; --muted:#6B7280; --soft:#EAF7FF; --line:#D7E0EA;
          font-family:'Nunito Sans', Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
          color:var(--black); -webkit-font-smoothing:antialiased; line-height:1.25;
          background:radial-gradient(120% 70% at 50% -8%, #F2F9FF 0%, rgba(242,249,255,0) 60%),linear-gradient(180deg,#FFFFFF 0%, #FBFDFF 60%, #F6F9FC 100%);
          padding:96px 0 104px;
        }
        #sq-paths *{box-sizing:border-box; margin:0;}
        #sq-paths .page{max-width:1180px; margin:0 auto; padding:0 32px;}
        #sq-paths .head{text-align:center; max-width:720px; margin:0 auto;}
        #sq-paths .overline{font-size:13px; letter-spacing:.19em; text-transform:uppercase; font-weight:800; color:#6b7280; margin-bottom:18px;}
        #sq-paths .overline .tick{display:inline-block; width:7px; height:7px; border-radius:50%; background:linear-gradient(180deg,#62BDFB,#2C9AEF); margin-right:9px; vertical-align:middle; transform:translateY(-1px);}
        #sq-paths h2{font-size:clamp(28px,5vw,38px); line-height:1.03; letter-spacing:-.04em; font-weight:800;}
        #sq-paths .sub{font-size:clamp(15.5px,2.3vw,18px); line-height:1.5; color:#586072; margin:18px auto 0; max-width:560px; position:relative; z-index:2;}
        #sq-paths .start{display:flex; flex-direction:column; align-items:center; margin-top:52px;}
        #sq-paths .startAvatar{position:relative; width:104px; height:104px; border-radius:50%; background:#fff; padding:6px; box-shadow:0 18px 48px rgba(8,13,26,.14); outline:1.5px solid #E4EEF6;}
        #sq-paths .startAvatar::before{content:""; position:absolute; inset:-7px; border-radius:50%; border:2px solid rgba(70,174,247,.30);}
        #sq-paths .startAvatar img{width:100%; height:100%; border-radius:50%; object-fit:cover; object-position:50% 28%; display:block;}
        #sq-paths .startLabel{margin-top:18px; font-size:17px; font-weight:800; letter-spacing:-.01em;}
        #sq-paths .startLabel b{color:var(--blue);}
        #sq-paths .startHint{margin-top:6px; font-size:13px; font-weight:600; color:#7A8699;}
        /* Animated avatar with floating chips - replaces Eleanor avatar */
        .sb-av-nodewrap{position:relative;width:230px;height:212px;margin:0 auto;display:grid;place-items:center}
        .sb-av-hex{width:108px;height:108px;border-radius:30px;transform:rotate(45deg);position:relative;background:linear-gradient(150deg,#46AEF7 0%,#1E88D9 100%);box-shadow:0 13px 30px rgba(70,174,247,.4),inset 0 4px 9px rgba(255,255,255,.35);animation:sbfloat 4s ease-in-out infinite}
        @keyframes sbfloat{0%,100%{transform:rotate(45deg)}50%{transform:rotate(45deg) translate(-4px,4px)}}
        .sb-av-hex .in{position:absolute;inset:0;transform:rotate(-45deg);display:grid;place-items:center}
        .sb-av-bub{width:52px;height:42px;background:#fff;border-radius:13px;position:relative;display:flex;align-items:center;justify-content:center;gap:5px}
        .sb-av-bub::after{content:"";position:absolute;bottom:-8px;left:14px;border:6px solid transparent;border-top-color:#fff;border-left-color:#fff}
        .sb-av-bub i{width:6.5px;height:6.5px;border-radius:50%;background:#46AEF7;animation:sbtype 1.3s ease-in-out infinite}
        .sb-av-bub i:nth-child(2){animation-delay:.18s}.sb-av-bub i:nth-child(3){animation-delay:.36s}
        @keyframes sbtype{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-5px);opacity:1}}
        .sb-av-chip{position:absolute;display:flex;align-items:center;gap:5px;background:#fff;border:1px solid #E3EAF2;border-radius:999px;padding:5px 11px;font-size:10.5px;font-weight:800;color:#080D1A;box-shadow:0 5px 13px rgba(8,13,26,.1);opacity:0}
        .sb-av-chip svg{width:12px;height:12px;fill:#1E88D9}
        .sb-av-chip.c1{top:6%;left:-7%;animation:sbc1 6s ease-in-out infinite}
        .sb-av-chip.c2{top:1%;right:-9%;animation:sbc2 6s ease-in-out infinite 2s}
        .sb-av-chip.c3{bottom:13%;left:-11%;animation:sbc3 6s ease-in-out infinite 4s}
        @keyframes sbc1{0%{opacity:0;transform:translate(-13px,-9px) scale(.85)}8%,30%{opacity:1;transform:none}44%{opacity:0;transform:translate(34px,42px) scale(.5)}100%{opacity:0}}
        @keyframes sbc2{0%{opacity:0;transform:translate(15px,-11px) scale(.85)}8%,30%{opacity:1;transform:none}44%{opacity:0;transform:translate(-36px,47px) scale(.5)}100%{opacity:0}}
        @keyframes sbc3{0%{opacity:0;transform:translate(-15px,11px) scale(.85)}8%,30%{opacity:1;transform:none}44%{opacity:0;transform:translate(47px,-27px) scale(.5)}100%{opacity:0}}
        @media(prefers-reduced-motion:reduce){.sb-av-nodewrap *,.sb-av-hex{animation:none!important}.sb-av-chip{opacity:1}}
        #sq-paths .fork{position:relative; height:62px; margin:8px auto 0; max-width:980px;}
        #sq-paths .fork i{position:absolute; background:var(--line); display:block;}
        #sq-paths .fork .stem{left:50%; top:0; width:2px; height:31px; transform:translateX(-50%) scaleY(0); transform-origin:top;}
        #sq-paths .fork .bus{left:25%; right:25%; top:30px; height:2px; transform:scaleX(0); transform-origin:center;}
        #sq-paths .fork .dropL{left:25%; top:30px; width:2px; height:32px; transform:scaleY(0); transform-origin:top;}
        #sq-paths .fork .dropR{right:25%; top:30px; width:2px; height:32px; transform:scaleY(0); transform-origin:top;}
        #sq-paths .fork .node{position:absolute; top:28px; width:7px; height:7px; border-radius:50%; background:var(--blue); box-shadow:0 0 0 4px rgba(70,174,247,.14); transform:translate(-50%,-50%) scale(0);}
        #sq-paths .fork .node.l{left:25%;} #sq-paths .fork .node.r{left:75%;}
        #sq-paths .lanes{display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:2px;}
        #sq-paths .lane-divider{display:none!important;}
        #sq-paths .lane{display:flex; flex-direction:column; gap:18px;}
        #sq-paths .intent{display:flex; align-items:flex-start; gap:12px; padding:2px 4px 8px;}
        #sq-paths .quote{font-family:Georgia,'Times New Roman',serif; font-size:54px; line-height:.7; color:var(--blue); font-weight:700; user-select:none;}
        #sq-paths .intent h3{font-size:26px; line-height:1.12; letter-spacing:-.025em; font-weight:800; padding-top:6px;}
        #sq-paths .intent .iSub{display:block; font-size:13.5px; font-weight:600; color:#8A93A0; letter-spacing:.01em; margin-top:5px;}
        #sq-paths .card{position:relative; background:#fff; border:1px solid var(--border); border-radius:20px; box-shadow:0 16px 44px rgba(8,13,26,.06); padding:16px 20px 16px; transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease; display:flex; flex-direction:column;}
        #sq-paths .card:hover{transform:translateY(-4px); box-shadow:0 26px 60px rgba(8,13,26,.11); border-color:#CFE4F6;}
        #sq-paths .card-link{display:flex; flex-direction:column; text-decoration:none; color:inherit; cursor:pointer; flex:1;}
        #sq-paths .card-link .card{flex:1;}
        #sq-paths .card-link:hover .card{transform:translateY(-4px); box-shadow:0 26px 60px rgba(8,13,26,.11); border-color:#CFE4F6;}
        #sq-paths .card-link:hover .card.feature{border-color:#46AEF7; box-shadow:0 28px 64px rgba(44,154,239,.18);}
        #sq-paths .card.feature{border-color:#CDE7FA; box-shadow:0 22px 56px rgba(44,154,239,.12);}
        #sq-paths .cardTop{display:grid; grid-template-columns:auto 1fr auto; grid-template-rows:auto auto; align-items:center; gap:12px 10px; margin:0 0 4px 0 !important; padding:0 !important;}
        #sq-paths .cardTop .iconBox{grid-row:1; grid-column:1; margin:-6px 0 0 -6px;}
        #sq-paths .cardTop .ribbon{grid-row:1; grid-column:3;}
        #sq-paths .cardTop .step{grid-row:2; grid-column:1 / -1; margin:0 0 10px 0;}
        #sq-paths .iconBox{width:40px; height:40px; border-radius:10px; background:#EFF9FF; border:1px solid #D5F0FF; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
        #sq-paths .iconBox svg{width:24px; height:24px;}
        #sq-paths .card .step{display:block; font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:#9AA4B1; margin:0 0 2px 0 !important; padding:0 !important; height:auto !important; min-height:0 !important;}
        #sq-paths .ribbon{margin-left:auto; z-index:1;}
        #sq-paths .card > h4{font-size:20px; line-height:1.1; letter-spacing:-.03em; font-weight:800; margin:0 0 8px 0 !important; padding:0 !important;}
        #sq-paths .price{margin-top:5px; font-size:15px; font-weight:800; color:var(--black); letter-spacing:-.01em;}
        #sq-paths .price span{font-weight:600; font-size:12px; color:#8A93A0; letter-spacing:0; margin-left:2px;}
        #sq-paths .pill{display:inline-flex; align-items:center; justify-content:center; border-radius:999px; font-size:11px; font-weight:800; padding:6px 11px; white-space:nowrap; letter-spacing:.04em;}
        #sq-paths .pill.free{background:linear-gradient(180deg,#62BDFB,#2C9AEF); color:#fff; box-shadow:0 6px 14px rgba(44,154,239,.28);}
        #sq-paths .pill.amber{background:#FFF3D7; color:#714500; border:1px solid #F6D38D;}
        #sq-paths .desc{font-size:15px; line-height:1.5; color:#3D4756; margin-top:0; flex-grow:1;}
        #sq-paths .happens{margin-top:0; padding-top:14px; border-top:1px dashed #E4EAF1;}
        #sq-paths .happens .lbl{font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:#9AA4B1; margin-bottom:8px;}
        #sq-paths .happens p{font-size:14px; line-height:1.5; color:#46505F;}
        #sq-paths .upg{display:inline-flex; align-items:center; gap:7px; margin-top:16px; font-size:13px; font-weight:700; color:#46AEF7;}
        #sq-paths .upg svg{width:15px; height:15px; flex:none;}
        #sq-paths sup{font-size:.62em; font-weight:700; vertical-align:super; line-height:0;}
        #sq-paths .rail{position:relative; margin:40px auto 0; max-width:980px; height:54px; display:flex; align-items:center;}
        #sq-paths .rail .track{position:absolute; left:0; right:0; top:50%; height:2px; background:var(--line); transform:scaleX(0); transform-origin:left;}
        #sq-paths .rail .arrow{position:absolute; right:-1px; top:50%; transform:translateY(-50%); color:var(--blue); opacity:0; transition:opacity .4s ease .5s;}
        #sq-paths .rail .label{position:relative; margin:0 auto; background:#fff; border:1px solid var(--border); border-radius:999px; padding:11px 22px; box-shadow:0 12px 30px rgba(8,13,26,.07); font-size:14px; font-weight:700; color:#2A3340;}
        #sq-paths .rail .label b{color:var(--blue);}
        #sq-paths .svc{margin:28px auto 0; max-width:660px; text-align:center;}
        #sq-paths .svc p{font-size:13.5px; line-height:1.55; color:#6B7480;}
        #sq-paths .svc p b{color:#3D4756; font-weight:700;}
        #sq-paths .addon{display:block; margin:34px auto 0; max-width:980px;}
        #sq-paths .addon .band{position:relative; display:flex; gap:22px; align-items:flex-start; background:linear-gradient(180deg,#F5FBFF 0%,#FFFFFF 70%); border:1px solid #DBEBF8; border-radius:22px; padding:24px 26px; box-shadow:0 16px 44px rgba(8,13,26,.05); cursor:pointer; transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease; text-decoration:none; color:inherit;}
        #sq-paths .addon .band:hover{border-color:#46AEF7; box-shadow:0 20px 50px rgba(70,174,247,.18); transform:translateY(-3px);}
        #sq-paths .addon .aIcon{width:56px; height:56px; border-radius:16px; background:#EFF9FF; border:1px solid #D5F0FF; display:flex; align-items:center; justify-content:center; flex:none;}
        #sq-paths .addon .aIcon svg{width:38px; height:38px;}
        #sq-paths .addon .aBody{flex:1; min-width:0;}
        #sq-paths .addon .aEy{font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:#3D9BE0;}
        #sq-paths .addon .aHead{display:flex; align-items:baseline; gap:11px; flex-wrap:wrap; margin-top:6px;}
        #sq-paths .addon .aHead h4{font-size:21px; font-weight:800; letter-spacing:-.03em; line-height:1;}
        #sq-paths .addon .aHead .aPrice{font-size:15px; font-weight:800; color:var(--black);}
        #sq-paths .addon .aDesc{font-size:14.5px; line-height:1.5; color:#3D4756; margin-top:9px; max-width:720px;}
        #sq-paths .addon .aDesc em{font-style:italic;}
        #sq-paths .addon ul{list-style:none; display:flex; flex-wrap:wrap; gap:9px 24px; margin-top:15px; padding:0;}
        #sq-paths .addon li{position:relative; font-size:13.5px; font-weight:600; color:#46505F; padding-left:23px;}
        #sq-paths .addon li svg{position:absolute; left:0; top:1px; width:16px; height:16px;}
        #sq-paths .addon .aFoot{font-size:11.5px; line-height:1.5; color:#98A0AE; margin-top:16px; max-width:680px;}
        #sq-paths .addon .aCta{flex:none; align-self:center;}
        #sq-paths .addon .aCta a{display:inline-flex; align-items:center; gap:8px; background:#fff; color:var(--black); font-weight:700; font-size:13.5px; border:1.5px solid var(--black); border-radius:999px; padding:11px 20px; text-decoration:none; white-space:nowrap; transition:background .2s ease,color .2s ease;}
        #sq-paths .addon .aCta a:hover{background:var(--black); color:#fff;}
        #sq-paths .addon .aCta svg{width:15px; height:15px;}
        #sq-paths .reveal{opacity:0; transform:translateY(16px); transition:opacity .6s cubic-bezier(.22,.61,.36,1), transform .6s cubic-bezier(.22,.61,.36,1);}
        #sq-paths.in .reveal{opacity:1; transform:none;}
        #sq-paths.in .fork .stem{transform:translateX(-50%) scaleY(1); transition:transform .5s ease .15s;}
        #sq-paths.in .fork .bus{transform:scaleX(1); transition:transform .55s ease .42s;}
        #sq-paths.in .fork .dropL{transform:scaleY(1); transition:transform .4s ease .82s;}
        #sq-paths.in .fork .dropR{transform:scaleY(1); transition:transform .4s ease .82s;}
        #sq-paths.in .fork .node{transform:translate(-50%,-50%) scale(1); transition:transform .35s cubic-bezier(.34,1.56,.64,1) .92s;}
        #sq-paths.in .rail .track{transform:scaleX(1); transition:transform .7s ease .1s;}
        #sq-paths.in .rail .arrow{opacity:1;}
        #sq-paths.in .reveal.d1{transition-delay:.10s;}
        #sq-paths.in .reveal.d2{transition-delay:1.00s;}
        #sq-paths.in .reveal.d3{transition-delay:1.12s;}
        #sq-paths.in .reveal.d4{transition-delay:1.24s;}
        #sq-paths.in .reveal.d5{transition-delay:1.36s;}
        #sq-paths.in .reveal.d6{transition-delay:1.46s;}
        @media (max-width:900px){
          #sq-paths{padding:72px 0 80px;}
          #sq-paths .fork{display:none;}
          #sq-paths .lanes{grid-template-columns:1fr; gap:14px; margin-top:30px;}
          #sq-paths .lane-divider{display:flex!important; align-items:center; justify-content:center; padding:20px 0; font-size:13px; font-weight:800; letter-spacing:.12em; color:#9AA4B1;}
          #sq-paths .lane{position:relative; padding-top:26px;}
          #sq-paths .lane::before{content:""; position:absolute; left:50%; top:-2px; width:2px; height:24px; background:var(--line); transform:translateX(-50%);}
          #sq-paths .lane + .lane{margin-top:18px;}
          #sq-paths .intent{justify-content:center;}
        }
        @media (max-width:600px){
          #sq-paths{padding:60px 0 70px;}
          #sq-paths .page{padding:0 24px;}
          #sq-paths .card{padding:16px; border-radius:18px;}
          #sq-paths .cardTop{display:grid; grid-template-columns:auto auto 1fr auto; grid-template-rows:auto; align-items:center; gap:0 10px; margin-bottom:6px !important;}
          #sq-paths .cardTop .iconBox{grid-row:1; grid-column:1; margin:-4px 0 0 -4px;}
          #sq-paths .cardTop .step{grid-row:1; grid-column:2; margin:0 !important;}
          #sq-paths .cardTop .ribbon{grid-row:1; grid-column:4;}
          #sq-paths .iconBox{width:36px; height:36px; border-radius:10px;}
          #sq-paths .iconBox svg{width:22px; height:22px;}
          #sq-paths .card > h4{font-size:18px; margin:0 0 6px;}
          #sq-paths .rail .label{font-size:12.5px; padding:10px 16px; margin:0 30px 0 0;}
          #sq-paths .addon .band{flex-direction:column; gap:16px; padding:22px 20px;}
          #sq-paths .addon .aCta{align-self:stretch;}
          #sq-paths .addon .aCta a{width:100%; justify-content:center;}
          #sq-paths .addon ul{gap:9px 0; flex-direction:column;}
        }
        @media (max-width:430px){
          #sq-paths{padding:52px 0 62px;}
          #sq-paths .page{padding:0 20px;}
          #sq-paths .start{margin-top:42px;}
          #sq-paths .startAvatar{width:92px; height:92px;}
          .sb-av-nodewrap{width:200px; height:185px;}
          #sq-paths .card{padding:14px 16px; border-radius:16px;}
          #sq-paths .cardTop{gap:0 8px;}
          #sq-paths .iconBox{width:32px; height:32px; border-radius:9px;}
          #sq-paths .iconBox svg{width:20px; height:20px;}
          #sq-paths .cardTitle h4{font-size:18px;}
          #sq-paths .intent h3{font-size:19.4px;}
          #sq-paths .quote{font-size:46px;}
          #sq-paths .desc{font-size:14.5px;}
          #sq-paths .rail .label{font-size:12px; padding:9px 14px; margin:0 26px 0 0;}
          #sq-paths .addon .band{padding:20px 16px; border-radius:18px;}
          #sq-paths .addon .aIcon{width:48px; height:48px;}
          #sq-paths .addon .aIcon svg{width:32px; height:32px;}
        }
        @media (max-width:360px){
          #sq-paths .page{padding:0 13px;}
          #sq-paths .cardTitle h4{font-size:17px; letter-spacing:-.02em;}
          #sq-paths .intent h3{font-size:18px;}
          #sq-paths .rail .label{font-size:11px; letter-spacing:-.01em;}
        }
        @media (prefers-reduced-motion: reduce){
          #sq-paths .reveal{opacity:1 !important; transform:none !important; transition:none !important;}
          #sq-paths .fork i, #sq-paths .fork .node, #sq-paths .rail .track{transition:none !important;}
          #sq-paths .fork .stem{transform:translateX(-50%) scaleY(1) !important;}
          #sq-paths .fork .bus{transform:scaleX(1) !important;}
          #sq-paths .fork .dropL,#sq-paths .fork .dropR{transform:scaleY(1) !important;}
          #sq-paths .fork .node{transform:translate(-50%,-50%) scale(1) !important;}
          #sq-paths .rail .track{transform:scaleX(1) !important;}
          #sq-paths .rail .arrow{opacity:1 !important; transition:none !important;}
          #sq-paths .card{transition:none;}
        }

        /* ===== NEW PACKAGES SECTION - Michael's Design ===== */
        .packages-new {
            position: relative;
            padding: 96px 24px 112px;
            overflow: hidden;
            isolation: isolate;
        }
        .packages-new .packages-container { max-width: 1200px; margin: 0 auto; }
        .packages-new .packages-header { text-align: center; margin: 0 auto 44px; max-width: 720px; }
        .packages-new .pkg-organized-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.18em;
            color: #2BB673;
            text-transform: uppercase;
            margin-bottom: 20px;
            padding: 8px 16px;
            background: #ECFDF5;
            border: 1px solid #A7F3D0;
            border-radius: 100px;
        }
        .packages-new .pkg-eyebrow {
            display: inline-block;
            font-size: 11.5px;
            font-weight: 700;
            letter-spacing: 0.22em;
            color: #4A4E52;
            text-transform: uppercase;
            margin-bottom: 20px;
            padding: 6px 14px;
            background: rgba(255,255,255,0.7);
            border: 1px solid #E5E7EB;
            border-radius: 100px;
        }
        .packages-new .pkg-title {
            font-size: 52px;
            font-weight: 800;
            line-height: 1.05;
            letter-spacing: -0.028em;
            color: #1A1D23;
            margin-bottom: 18px;
        }
        .packages-new .pkg-title em { font-style: normal; color: #46AEF7; }
        .packages-new .pkg-subtitle {
            font-size: 17px;
            font-weight: 400;
            line-height: 1.55;
            color: #4A4E52;
            max-width: 600px;
            margin: 0 auto;
        }
        .packages-new .free-callout {
            display: flex;
            align-items: center;
            gap: 24px;
            max-width: 920px;
            margin: 0 auto 48px;
            background: #fff;
            border: 1px solid #E5E7EB;
            padding: 20px 28px;
            border-radius: 16px;
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06), 0 4px 16px rgba(0, 0, 0, 0.04);
        }
        .packages-new .free-callout-icon {
            flex-shrink: 0;
            width: 52px;
            height: 52px;
            background: #F3F4F6;
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .packages-new .free-callout-content { flex: 1; }
        .packages-new .free-callout-badge {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.12em;
            color: #2BB673;
            text-transform: uppercase;
            margin-bottom: 6px;
        }
        .packages-new .free-callout-title {
            font-size: 18px;
            font-weight: 800;
            color: #1A1D23;
            margin: 0 0 6px;
        }
        .packages-new .free-callout-desc {
            font-size: 14px;
            line-height: 1.5;
            color: #6B7280;
            margin: 0;
        }
        .packages-new .free-callout-cta {
            flex-shrink: 0;
            display: inline-flex;
            align-items: center;
            padding: 12px 24px;
            font-size: 14px;
            font-weight: 700;
            color: #1A1D23;
            background: #fff;
            border: 2px solid #1A1D23;
            border-radius: 100px;
            text-decoration: none;
            transition: all 0.2s ease;
        }
        .packages-new .free-callout-cta:hover {
            background: #1A1D23;
            color: #fff;
        }
        .packages-new .pkg-section-header {
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.2em;
            color: #9CA3AF;
            text-transform: uppercase;
            text-align: left;
            margin-bottom: 24px;
        }
        .packages-new .free-callout strong { color: #1A1D23; font-weight: 700; }
        .packages-new .free-check {
            flex-shrink: 0;
            width: 22px;
            height: 22px;
            border-radius: 50%;
            background: #46AEF7;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
        }
        .packages-new .packages-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 24px;
            align-items: start;
        }
        .packages-new .package {
            position: relative;
            background: #fff;
            border: 2px solid #E5E7EB;
            border-radius: 24px;
            padding: 36px 32px 32px;
            display: flex;
            flex-direction: column;
            box-shadow: 0 12px 28px rgba(14, 34, 54, 0.07), 0 2px 6px rgba(14, 34, 54, 0.04);
            transition: transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.4s cubic-bezier(0.2, 0.7, 0.2, 1), border-color 0.3s ease;
        }
        .packages-new .package:hover { transform: translateY(-4px); box-shadow: 0 24px 56px rgba(14, 34, 54, 0.12), 0 4px 10px rgba(14, 34, 54, 0.05); }
        /* Credible Threat - lightest blue hover */
        .packages-new .package:nth-child(1):hover { border: 2px solid #a8d8f0; }
        /* File Now - medium blue hover */
        .packages-new .package:nth-child(2):hover { border: 2px solid #6bc0eb; }
        /* DCA - darkest blue hover (gradient) */
        .packages-new .package--featured:hover { border: 2px solid transparent; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #46AEF7 0%, #1e88e5 50%, #0d47a1 100%) border-box; }
        .packages-new .package--featured {
            margin-top: -24px;
            padding-top: 60px;
            box-shadow: 0 40px 80px rgba(14, 34, 54, 0.16), 0 8px 18px rgba(14, 34, 54, 0.07);
            border: 2px solid #DCE3EC;
            z-index: 1;
        }
        .packages-new .package--featured:hover { transform: translateY(-8px); }
        .packages-new .pkg-badge {
            position: absolute;
            top: -16px;
            left: 50%;
            transform: translateX(-50%);
            background: linear-gradient(135deg, #F4D589 0%, #D9A949 100%);
            color: #5D4500;
            padding: 9px 18px;
            border-radius: 100px;
            font-size: 12px;
            font-weight: 800;
            letter-spacing: 0.02em;
            white-space: nowrap;
            display: flex;
            align-items: center;
            gap: 6px;
            box-shadow: 0 10px 24px rgba(196, 137, 28, 0.30);
        }
        .packages-new .visual {
            width: 132px;
            height: 132px;
            border-radius: 22px;
            margin-bottom: 28px;
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            flex-shrink: 0;
        }
        .packages-new .visual--icon {
            background: radial-gradient(circle at 30% 25%, rgba(255,255,255,0.6) 0%, transparent 50%), linear-gradient(135deg, #DCEEFE 0%, #B3DAFB 100%);
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), 0 2px 6px rgba(70, 174, 247, 0.12);
        }
        .packages-new .visual--icon svg { width: 64px; height: 64px; color: #46AEF7; }
        .packages-new .visual--photo {
            padding: 3px;
            background: linear-gradient(150deg, #F9FAFB 0%, #D1D5DB 45%, #9CA3AF 100%);
            overflow: hidden;
            box-shadow: inset 0 1px 1px rgba(255,255,255,0.6), 0 6px 18px rgba(14, 34, 54, 0.10);
        }
        .packages-new .visual--photo img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 16px; }
        .packages-new .visual--portrait {
            padding: 3px;
            background: linear-gradient(150deg, #F3F4F6 0%, #B7BCC4 45%, #6B7280 100%);
            box-shadow: inset 0 1px 1px rgba(255,255,255,0.6), 0 6px 18px rgba(14, 34, 54, 0.10);
        }
        .packages-new .portrait-inner {
            width: 100%;
            height: 100%;
            border-radius: 19px;
            overflow: hidden;
            background: #F3F4F6;
        }
        .packages-new .portrait-inner img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; display: block; }
        .packages-new .package-eyebrow {
            font-size: 11px;
            font-weight: 800;
            letter-spacing: 0.20em;
            color: #46AEF7;
            text-transform: uppercase;
            margin-bottom: 8px;
        }
        .packages-new .package--featured .package-eyebrow { color: #C2891C; }
        .packages-new .package-name {
            font-size: 26px;
            font-weight: 800;
            letter-spacing: -0.022em;
            color: #1A1D23;
            line-height: 1.15;
            margin-bottom: 18px;
        }
        .packages-new .package-price { display: flex; align-items: flex-start; gap: 2px; margin-bottom: 14px; }
        .packages-new .price-currency { font-size: 22px; font-weight: 700; color: #4A4E52; margin-top: 6px; }
        .packages-new .price-amount { font-size: 56px; font-weight: 800; line-height: 1; letter-spacing: -0.035em; color: #1A1D23; }
        .packages-new .price-suffix { font-size: 13px; font-weight: 500; color: #8B9098; margin-left: 6px; align-self: flex-end; margin-bottom: 6px; }
        .packages-new .package-desc { font-size: 14.5px; line-height: 1.55; color: #4A4E52; margin-bottom: 22px; min-height: 46px; }
        .packages-new .pkg-features { list-style: none; display: flex; flex-direction: column; gap: 12px; margin-bottom: 22px; flex: 1; padding: 0; }
        .packages-new .pkg-features li { display: flex; align-items: flex-start; gap: 11px; font-size: 14px; line-height: 1.45; color: #1A1D23; }
        .packages-new .pkg-features li svg { flex-shrink: 0; width: 18px; height: 18px; margin-top: 2px; }
        .packages-new .pkg-features li sup { font-size: 0.65em; color: #8B9098; }
        .packages-new .sop-box {
            display: flex;
            align-items: center;
            gap: 10px;
            background: #F4FAFF;
            border: 1px solid #DAEEFD;
            border-radius: 12px;
            padding: 11px 14px;
            font-size: 12.5px;
            color: #4A4E52;
            margin-bottom: 20px;
            line-height: 1.4;
        }
        .packages-new .sop-box strong { color: #1A1D23; font-weight: 700; }
        .packages-new .sop-icon { flex-shrink: 0; width: 18px; height: 18px; color: #46AEF7; }
        .packages-new .pkg-cta {
            width: 100%;
            background: #1A1D23;
            color: #fff;
            border: none;
            padding: 16px 22px;
            border-radius: 100px;
            font-family: inherit;
            font-size: 15px;
            font-weight: 700;
            letter-spacing: -0.005em;
            cursor: pointer;
            transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            text-decoration: none;
        }
        .packages-new .pkg-cta:hover { background: #000; transform: translateY(-1px); box-shadow: 0 8px 20px rgba(14, 34, 54, 0.20); }
        .packages-new .pkg-cta--featured { background: #46AEF7; box-shadow: 0 8px 22px rgba(70, 174, 247, 0.28); }
        .packages-new .pkg-cta--featured:hover { background: #2C9BE5; box-shadow: 0 12px 32px rgba(70, 174, 247, 0.42); }
        .packages-new .pkg-cta svg { width: 14px; height: 14px; transition: transform 0.2s; }
        .packages-new .pkg-cta:hover svg { transform: translateX(3px); }
        .packages-new .pkg-meta {
            text-align: center;
            font-size: 11.5px;
            font-weight: 700;
            letter-spacing: 0.06em;
            color: #C2891C;
            text-transform: uppercase;
            margin-top: 14px;
        }
        .packages-new .pkg-footnote {
            text-align: center;
            font-size: 12px;
            color: #8B9098;
            margin-top: 36px;
            line-height: 1.5;
            font-style: italic;
        }
        @media (max-width: 1440px) {
            .packages-new .packages-container { max-width: 1080px; }
            .packages-new .packages-grid { gap: 20px; }
            .packages-new .package { padding: 28px 24px 26px; }
            .packages-new .package--featured { margin-top: -20px; padding-top: 52px; }
            .packages-new .visual { width: 100px; height: 100px; }
            .packages-new .portrait-inner { width: 94px; height: 94px; }
            .packages-new .price-amount { font-size: 48px; }
            .packages-new .package-name { font-size: 22px; }
            .packages-new .package-desc { font-size: 13.5px; min-height: 42px; margin-bottom: 18px; }
            .packages-new .pkg-features li { font-size: 13px; }
            .packages-new .pkg-cta { height: 50px; font-size: 14px; }
        }
        @media (max-width: 1024px) {
            .packages-new .packages-grid { gap: 18px; }
            .packages-new .package { padding: 26px 22px 24px; }
            .packages-new .package--featured { padding-top: 50px; }
            .packages-new .visual { width: 90px; height: 90px; }
        }
        @media (max-width: 768px) {
            .packages-new { padding: 72px 20px 88px; }
            .packages-new .packages-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; gap: 28px; }
            .packages-new .package--featured { margin-top: 0; padding-top: 56px; }
            .packages-new .packages-header { margin-bottom: 36px; }
            .packages-new .pkg-title { font-size: 38px; }
            .packages-new .free-callout {
                flex-direction: column;
                text-align: center;
                padding: 24px 20px;
                gap: 16px;
            }
            .packages-new .free-callout-icon { display: none; }
            .packages-new .free-callout-badge { justify-content: center; }
            .packages-new .free-callout-title { font-size: 20px; }
            .packages-new .free-callout-desc { font-size: 14px; line-height: 1.55; }
            .packages-new .free-callout-cta {
                width: 100%;
                justify-content: center;
                padding: 14px 24px;
            }
        }
        @media (max-width: 480px) {
            .packages-new { padding: 56px 16px 72px; }
            .packages-new .pkg-title { font-size: 32px; }
            .packages-new .package { padding: 28px 22px 26px; }
            .packages-new .visual { width: 100px; height: 100px; }
            .packages-new .package-name { font-size: 22px; }
            .packages-new .price-amount { font-size: 48px; }
            .packages-new .free-callout { padding: 20px 16px; margin-bottom: 36px; }
            .packages-new .free-callout-title { font-size: 18px; }
            .packages-new .free-callout-desc { font-size: 13px; }
        }

        /* RNSD-501: New Packages Acquisition Section (Michael's Handoff June 25) */
        .pkgs-acq { --ink:#080D1A; --text:#172033; --secondary:#33414F; --muted:#6B7280; --slate:#7A8694; --blue:#46AEF7; --blue-deep:#2C9AEF; --deep:#1F7FCC; --ga:#62BDFB; --gb:#2C9AEF; --amber:#F5A623; --amber-line:#E8A93D; --line:#DCE5EE; --line2:#EAEFF5; --field:#F7FAFC; --paper:#F6F8FA; --soft:#EAF7FF; --e:cubic-bezier(.16,1,.3,1); --sec-pad:clamp(48px,6vw,80px); --sheet:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(8,13,26,.05),0 14px 34px -18px rgba(8,13,26,.12); --sheet-h:inset 0 1px 0 rgba(255,255,255,.95),0 3px 8px rgba(8,13,26,.06),0 40px 80px -30px rgba(8,13,26,.30); background: radial-gradient(120% 75% at 50% 0, #fff, var(--paper) 70%); padding: var(--sec-pad) 0; }
        .pkgs-acq .wrap { max-width: 1120px; margin: 0 auto; padding: 0 24px; }
        .pkgs-acq .phead { text-align: center; max-width: 640px; margin: 0 auto clamp(22px,3vw,30px); }
        .pkgs-acq .eyebrow { font-weight: 800; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--slate); }
        .pkgs-acq .phead h2 { font-weight: 800; font-size: clamp(28px,3.5vw,43px); letter-spacing: -.04em; line-height: 1.04; color: var(--ink); margin: 14px 0 10px; text-wrap: balance; }
        .pkgs-acq .phead .lede { font-weight: 400; font-size: clamp(16px,2vw,19px); line-height: 1.45; color: var(--secondary); margin: 0 auto; max-width: 520px; }
        .pkgs-acq .demand { display: flex; align-items: center; gap: 15px; max-width: 1080px; margin: 0 auto clamp(16px,2vw,22px); background: #fff; border: 1px solid var(--line); border-radius: 15px; padding: 13px 18px; box-shadow: var(--sheet); }
        .pkgs-acq .dfi { width: 38px; height: 46px; border-radius: 6px; background: #fff; border: 1px solid var(--line); position: relative; flex: none; box-shadow: 0 1px 3px rgba(8,13,26,.07); }
        .pkgs-acq .dfi::before { content: ""; position: absolute; top: 8px; left: 8px; right: 8px; height: 2px; background: var(--line); box-shadow: 0 5px 0 var(--line), 0 10px 0 var(--blue); }
        .pkgs-acq .demand .db { flex: 1; min-width: 0; }
        .pkgs-acq .db-eye { font-weight: 800; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--deep); margin-bottom: 2px; }
        .pkgs-acq .demand h3 { margin: 0 0 1px; font-weight: 800; font-size: 15.5px; letter-spacing: -.02em; color: var(--ink); }
        .pkgs-acq .demand p { margin: 0; font-size: 12px; line-height: 1.4; color: var(--muted); }
        .pkgs-acq .demand .gen { flex: none; color: var(--ink); background: #fff; border: 1.5px solid var(--line); border-radius: 10px; padding: 11px 16px; font-family: inherit; font-weight: 800; font-size: 13px; cursor: pointer; transition: border-color .16s, background .16s; }
        .pkgs-acq .demand .gen:hover { border-color: var(--ink); background: var(--paper); }
        .pkgs-acq .deck { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(0,1fr); gap: 18px; align-items: start; }
        .pkgs-acq .pkg-hero { min-width: 0; position: relative; background: linear-gradient(180deg,#FFFDF6,#fff 30%); border: 1.5px solid var(--amber-line); border-radius: 22px; box-shadow: var(--sheet-h); padding: 30px 30px 26px; }
        .pkgs-acq .amber-badge { position: absolute; top: -12px; left: 28px; font-weight: 800; font-size: 10px; letter-spacing: .05em; text-transform: uppercase; color: #5A3D00; background: linear-gradient(135deg,#FBD98C,var(--amber) 75%); border: 1px solid rgba(255,255,255,.5); box-shadow: inset 0 1px 0 rgba(255,255,255,.6),0 5px 14px -5px rgba(150,95,0,.5); padding: 6px 13px; border-radius: 999px; }
        .pkgs-acq .hero-top { display: flex; align-items: center; gap: 15px; flex-wrap: wrap; }
        .pkgs-acq .por { width: 62px; height: 62px; border-radius: 50%; object-fit: cover; object-position: center 12%; flex: none; box-shadow: 0 0 0 3px #fff, 0 0 0 4px rgba(70,174,247,.34), 0 12px 24px -9px rgba(8,13,26,.42); }
        .pkgs-acq .hero-id { flex: 1; min-width: 120px; }
        .pkgs-acq .eye { font-weight: 800; font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--slate); margin-bottom: 5px; }
        .pkgs-acq .hero-id h3 { margin: 0; font-weight: 800; font-size: 25px; letter-spacing: -.035em; line-height: 1.02; color: var(--ink); }
        .pkgs-acq .hero-pr { flex: none; font-weight: 800; font-size: 38px; letter-spacing: -.04em; color: var(--ink); font-variant-numeric: tabular-nums; line-height: 1; }
        .pkgs-acq .hero-pr small { font-weight: 700; font-size: 13px; color: var(--muted); letter-spacing: 0; }
        .pkgs-acq .hero-sub { font-size: 14px; line-height: 1.5; color: var(--secondary); margin: 15px 0 0; max-width: 62ch; }
        .pkgs-acq .hero-sub em { font-style: normal; font-weight: 800; color: var(--deep); }
        .pkgs-acq .hero-body { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 26px; margin: 20px 0 4px; }
        .pkgs-acq .vsp { position: relative; padding: 4px 0; }
        .pkgs-acq .vcn { position: absolute; left: 10px; top: 24px; bottom: 24px; width: 2px; background: var(--line2); border-radius: 2px; }
        .pkgs-acq .vcn-fl { position: absolute; left: 10px; top: 24px; width: 3px; border-radius: 3px; background: linear-gradient(180deg,var(--ga),var(--gb)); box-shadow: 0 0 9px rgba(70,174,247,.55); height: calc(100% - 48px); transform: scaleY(0); transform-origin: top; transition: transform 1s var(--e) .35s; }
        .pkgs-acq .in .vcn-fl { transform: scaleY(1); }
        .pkgs-acq .vrow { position: relative; display: flex; align-items: center; gap: 12px; height: 40px; }
        .pkgs-acq .vrail { width: 22px; display: flex; justify-content: center; flex: none; position: relative; z-index: 1; }
        .pkgs-acq .mk { position: relative; width: 14px; height: 14px; border-radius: 50%; background: #EDF1F6; box-shadow: inset 0 1px 2px rgba(8,13,26,.12), inset 0 -1px 0 rgba(255,255,255,.7); transform: scale(.4); opacity: 0; transition: transform .42s var(--e), opacity .42s var(--e); transition-delay: calc(var(--i) * .1s); }
        .pkgs-acq .in .mk { transform: scale(1); opacity: 1; }
        .pkgs-acq .mk.set { width: 19px; height: 19px; background: radial-gradient(120% 120% at 32% 26%,#7FC6F6,#3AA4F0 60%,#2C9AEF); box-shadow: 0 2px 6px rgba(31,127,204,.34), inset 0 1px 0 rgba(255,255,255,.45); }
        .pkgs-acq .mk.live { width: 24px; height: 24px; background: #fff; box-shadow: 0 0 0 4px rgba(70,174,247,.16), 0 1px 7px rgba(44,154,239,.32), inset 0 0 0 2px var(--blue); }
        .pkgs-acq .mk.live i { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 10px; height: 10px; border-radius: 50%; background: var(--blue); }
        .pkgs-acq .in .mk.live i { animation: pkgBreathe 2.3s var(--e) 1.8s infinite; }
        .pkgs-acq .mk.live::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; box-shadow: 0 0 0 0 rgba(70,174,247,.5); }
        .pkgs-acq .in .mk.live::after { animation: pkgPulse 2.3s var(--e) 1.8s infinite; }
        .pkgs-acq .vlb { font-weight: 800; font-size: 13.5px; letter-spacing: -.01em; color: var(--ink); white-space: nowrap; }
        .pkgs-acq .vrow.live .vlb { color: var(--deep); }
        .pkgs-acq .hero-incl { align-self: center; }
        .pkgs-acq .gfeat { display: flex; flex-direction: column; gap: 9px; }
        .pkgs-acq .fl { min-width: 0; display: flex; align-items: flex-start; gap: 9px; font-size: 12.5px; line-height: 1.4; color: var(--text); }
        .pkgs-acq .fk { width: 14px; height: 14px; color: var(--blue); flex: none; margin-top: 1px; }
        .pkgs-acq .fl.ao { color: var(--secondary); margin-top: 2px; padding-top: 10px; border-top: 1px dotted var(--line); }
        .pkgs-acq .pk { width: 13px; height: 13px; color: var(--deep); flex: none; margin-top: 1px; }
        .pkgs-acq .fl.ao b { color: var(--ink); font-weight: 800; }
        .pkgs-acq .fl.ao i { font-style: normal; font-weight: 800; font-size: 8.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--deep); background: var(--soft); border: 1px solid #CDE8FB; border-radius: 5px; padding: 1px 5px; margin: 0 2px; }
        .pkgs-acq .go { margin-top: 18px; width: 100%; color: #fff; background: var(--ink); border: 0; border-radius: 12px; padding: 14px; font-family: inherit; font-weight: 800; font-size: 14px; cursor: pointer; transition: transform .18s var(--e), box-shadow .18s; }
        .pkgs-acq .go:hover { transform: translateY(-2px); box-shadow: 0 16px 30px -12px rgba(8,13,26,.55); }
        .pkgs-acq .go.alt { margin-top: 14px; padding: 12px; }
        .pkgs-acq .go.ghost { margin-top: 14px; padding: 12px; background: transparent; color: var(--ink); border: 1.5px solid var(--line); }
        .pkgs-acq .go.ghost:hover { border-color: var(--ink); background: var(--paper); box-shadow: none; transform: none; }
        .pkgs-acq .optcol { min-width: 0; display: flex; flex-direction: column; gap: 18px; }
        .pkgs-acq .opt { min-width: 0; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--sheet); padding: 20px; position: relative; overflow: hidden; }
        .pkgs-acq .opt.floor { background: #FCFDFE; }
        .pkgs-acq .opt-h { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
        .pkgs-acq .opt-h h4 { margin: 0; font-weight: 800; font-size: 18px; letter-spacing: -.03em; color: var(--ink); }
        .pkgs-acq .opt-pr { font-weight: 800; font-size: 24px; letter-spacing: -.03em; color: var(--ink); font-variant-numeric: tabular-nums; line-height: 1; white-space: nowrap; }
        .pkgs-acq .opt-pr small { font-weight: 700; font-size: 10.5px; color: var(--muted); }
        .pkgs-acq .htk { margin: 13px 0 0; display: flex; align-items: center; gap: 10px; }
        .pkgs-acq .hdots { display: flex; align-items: center; gap: 0; flex: none; }
        .pkgs-acq .hd { width: 10px; height: 10px; border-radius: 50%; background: #E6EBF1; box-shadow: inset 0 1px 1px rgba(8,13,26,.1); position: relative; }
        .pkgs-acq .hd+.hd { margin-left: 14px; }
        .pkgs-acq .hd+.hd::before { content: ""; position: absolute; right: 10px; width: 14px; height: 2px; top: 50%; transform: translateY(-50%); background: var(--line); }
        .pkgs-acq .hd.set { background: radial-gradient(120% 120% at 32% 26%,#7FC6F6,#3AA4F0 60%,#2C9AEF); box-shadow: 0 1px 3px rgba(31,127,204,.3); }
        .pkgs-acq .hd.set+.hd.set::before { background: linear-gradient(90deg,var(--ga),var(--gb)); }
        .pkgs-acq .hlb { font-weight: 800; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--deep); white-space: nowrap; }
        .pkgs-acq .opt-sub { font-size: 12.5px; line-height: 1.45; color: var(--secondary); margin: 13px 0 0; }
        .pkgs-acq .opt .gfeat { margin-top: 13px; padding-top: 13px; border-top: 1px solid var(--line2); }
        .pkgs-acq .opt .fl { font-size: 11.5px; }
        .pkgs-acq .opt.lead { border-color: #BFE0F8; box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 2px 6px rgba(8,13,26,.05), 0 22px 48px -22px rgba(44,154,239,.32); }
        .pkgs-acq .opt.lead::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg,var(--ga),var(--gb)); }
        .pkgs-acq .opt.lead .opt-h { margin-top: 4px; }
        .pkgs-acq .cbrief { display: flex; align-items: center; gap: 16px; max-width: 1080px; margin: 18px auto 0; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 16px 20px; box-shadow: var(--sheet); }
        .pkgs-acq .cb-ic { width: 46px; height: 54px; border-radius: 7px; background: #fff; border: 1px solid var(--line); position: relative; flex: none; box-shadow: 0 1px 3px rgba(8,13,26,.07); }
        .pkgs-acq .cb-ic::before { content: ""; position: absolute; top: 11px; left: 10px; right: 10px; height: 2px; background: var(--line); box-shadow: 0 6px 0 var(--line), 0 12px 0 var(--line), 0 18px 0 rgba(70,174,247,.65); }
        .pkgs-acq .cb-tx { flex: 1; min-width: 0; }
        .pkgs-acq .cb-tag { font-weight: 800; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--deep); margin-bottom: 3px; }
        .pkgs-acq .cb-tx h3 { margin: 0 0 3px; font-weight: 800; font-size: 16.5px; letter-spacing: -.02em; color: var(--ink); }
        .pkgs-acq .cb-tx h3 span { font-weight: 700; color: var(--muted); font-size: 13px; letter-spacing: 0; }
        .pkgs-acq .cb-tx p { margin: 0; font-size: 12px; line-height: 1.45; color: var(--muted); max-width: 62ch; }
        .pkgs-acq .cb-act { flex: none; display: flex; align-items: center; gap: 14px; }
        .pkgs-acq .cb-pr { font-weight: 800; font-size: 24px; letter-spacing: -.03em; color: var(--ink); font-variant-numeric: tabular-nums; line-height: 1; }
        .pkgs-acq .cbbtn { margin-top: 0; width: auto; white-space: nowrap; padding: 12px 18px; border-radius: 11px; font-size: 13px; }
        .pkgs-acq .cb-disc { max-width: 1080px; margin: 9px auto 0; font-size: 11px; line-height: 1.45; color: var(--muted); text-align: center; }
        .pkgs-acq .disc { max-width: 1080px; margin: 22px auto 0; font-size: 11px; line-height: 1.45; color: var(--muted); text-align: center; }
        .pkgs-acq .disc-2 { display: inline-block; margin-top: 5px; }
        @keyframes pkgBreathe { 0%,100%{ opacity:.7; transform:translate(-50%,-50%) scale(.86); } 50%{ opacity:1; transform:translate(-50%,-50%) scale(1.08); } }
        @keyframes pkgPulse { 0%{ box-shadow:0 0 0 0 rgba(70,174,247,.5); } 70%{ box-shadow:0 0 0 10px rgba(70,174,247,0); } 100%{ box-shadow:0 0 0 0 rgba(70,174,247,0); } }
        @media (prefers-reduced-motion:reduce) { .pkgs-acq .mk{ transition:none; } .pkgs-acq .vcn-fl{ transition:none; } .pkgs-acq .in .mk.live i, .pkgs-acq .in .mk.live::after{ animation:none; } }
        @media (max-width:900px) { .pkgs-acq .deck{ grid-template-columns:minmax(0,1fr); } .pkgs-acq .pkg-hero{ padding:26px 18px 22px; } .pkgs-acq .hero-pr{ font-size:34px; flex-basis:100%; margin-top:6px; } .pkgs-acq .hero-id{ min-width:0; flex-basis:auto; } .pkgs-acq .hero-id h3{ font-size:22px; } .pkgs-acq .hero-top{ gap:14px; } .pkgs-acq .demand{ flex-direction:column; text-align:center; } .pkgs-acq .demand .db{ text-align:center; } .pkgs-acq .hero-body{ grid-template-columns:1fr; gap:18px; } .pkgs-acq .hero-incl{ align-self:stretch; } }
        @media (max-width:760px) { .pkgs-acq .cbrief{ flex-direction:column; text-align:center; align-items:stretch; } .pkgs-acq .cb-ic{ align-self:center; } .pkgs-acq .cb-tx p{ max-width:none; } .pkgs-acq .cb-act{ flex-direction:column; gap:10px; } .pkgs-acq .cbbtn{ width:100%; } }

        /* Testimonial Section - Light theme */
        /* RNSD-324: Testimonial Marquee */
        .testimonial-section {
            background: linear-gradient(180deg, #fff 0%, #F6F8FA 100%);
            padding: 60px 0;
            border-top: 1px solid #EDF1F5;
            overflow: hidden;
        }
        .testimonial-section h2 {
            text-align: center;
            font-size: 36px;
            font-weight:800;
            color: #080D1A;
            margin-bottom: 40px;
            letter-spacing: -0.03em;
        }
        .testimonial-marquee {
            display: flex;
            width: max-content;
            animation: marquee-scroll 60s linear infinite;
            padding-top: 50px;
        }
        .testimonial-marquee:hover {
            animation-play-state: paused;
        }
        @keyframes marquee-scroll {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }
        .testimonial-card {
            flex-shrink: 0;
            width: 420px;
            background: #fff;
            border: 1px solid #DCE5EE;
            border-radius: 20px;
            padding: 32px;
            padding-top: 60px;
            margin: 0 16px;
            box-shadow: 0 8px 32px rgba(8,13,26,.06);
            position: relative;
        }
        .testimonial-card .card-avatar {
            position: absolute;
            top: -40px;
            left: 50%;
            transform: translateX(-50%);
            width: 80px;
            height: 80px;
            border-radius: 50%;
            overflow: hidden;
            background: linear-gradient(135deg, #46AEF7, #2C9AEF);
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-size: 28px;
            font-weight: 700;
        }
        .testimonial-card .card-avatar img {
            width: 120%;
            height: 120%;
            object-fit: cover;
            object-position: center 25%;
            margin: -10%;
        }
        .testimonial-card .card-avatar img.zoom-face {
            width: 220%;
            height: 220%;
            margin: -60%;
            object-position: center 35%;
        }
        .testimonial-card .quote-mark {
            color: #46AEF7;
            font-size: 40px;
            line-height: 1;
            margin-bottom: 12px;
            font-family: Georgia, serif;
        }
        .testimonial-card blockquote {
            color: #253044;
            font-size: 15px;
            font-style: italic;
            line-height: 1.65;
            margin-bottom: 20px;
            min-height: 100px;
        }
        .testimonial-author {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 12px;
            text-align: center;
        }
        .testimonial-author .avatar {
            width: 80px;
            height: 80px;
            border-radius: 50%;
            overflow: hidden;
            flex-shrink: 0;
            border: 3px solid #e5e7eb;
            box-shadow: 0 4px 12px rgba(0,0,0,0.1);
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, #46AEF7, #2C9AEF);
            color: white;
            font-size: 28px;
            font-weight: 700;
        }
        .testimonial-author .avatar img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center top;
        }
        .testimonial-author .info {
            text-align: center;
        }
        .testimonial-author .name {
            color: #080D1A;
            font-weight: 700;
            font-size: 15px;
        }
        .testimonial-author .details {
            color: #667085;
            font-size: 13px;
        }
        /* RNSD-323: Service of Process Section */
        /* ===== Service of Process Section - RNSD-351 ===== */
        .sop-section {
            --blue: #46AEF7;
            font-family: 'Nunito Sans', 'Inter', system-ui, sans-serif;
            color: #fff;
            -webkit-font-smoothing: antialiased;
            padding: 74px 32px 60px;
            overflow: hidden;
            background: radial-gradient(80% 60% at 82% 8%, rgba(70,174,247,.16) 0%, transparent 55%),
                        linear-gradient(165deg, #4E5257 0%, #3A3E43 52%, #2B2E33 100%);
        }
        .sop-inner {
            max-width: 1120px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1.04fr .96fr;
            gap: 54px;
            align-items: center;
        }
        .sop-left, .sop-right { min-width: 0; }
        .sop-h {
            margin: 0;
            font-weight:800;
            font-size: clamp(30px, 4vw, 46px);
            line-height: 1.04;
            letter-spacing: -.03em;
        }
        .sop-h .b { color: var(--blue); }
        .sop-lede {
            margin: 18px 0 34px;
            font-weight: 400;
            font-size: clamp(15px, 1.6vw, 17.5px);
            line-height: 1.55;
            color: rgba(255,255,255,.74);
            max-width: 520px;
        }
        .sop-lede sup { color: var(--blue); font-weight: 800; }
        .sop-asterisk { color: var(--blue); font-weight: 800; font-size: 0.75em; vertical-align: baseline; }
        .sop-section .desktop-only { display: inline; }
        .sop-section .mobile-only { display: none; }
        @media (max-width: 820px) {
            .sop-section .desktop-only { display: none; }
            .sop-section .mobile-only { display: inline; }
        }
        .sop-steps {
            list-style: none;
            margin: 0;
            padding: 0;
            display: flex;
            flex-direction: column;
            gap: 22px;
        }
        .sop-step {
            display: flex;
            gap: 16px;
            align-items: flex-start;
        }
        .sop-num {
            flex: none;
            width: 38px; height: 38px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight:800;
            font-size: 15px;
            color: #fff;
            background: linear-gradient(155deg, #69C0FB, #2E9CF0);
            box-shadow: 0 8px 16px -7px rgba(46,157,241,.7), inset 0 1px 1px rgba(255,255,255,.5);
        }
        .sop-stext h4 {
            margin: 0 0 4px;
            font-weight: 800;
            font-size: 17px;
            letter-spacing: -.01em;
        }
        .sop-stext p {
            margin: 0;
            font-weight: 400;
            font-size: 14.5px;
            line-height: 1.5;
            color: rgba(255,255,255,.66);
            max-width: 430px;
        }
        .sop-card {
            position: relative;
            overflow: hidden;
            max-width: 100%;
            border-radius: 24px;
            padding: 30px;
            text-align: center;
            background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
            border: 1px solid rgba(255,255,255,.10);
            box-shadow: 0 40px 80px -42px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.08);
            display: flex;
            flex-direction: column;
            align-items: center;
        }
        .sop-scene {
            width: 100%;
            max-width: 300px;
            margin: 4px auto 16px;
        }
        .sop-scene svg { width: 100%; height: auto; display: block; overflow: visible; }
        .sop-scene .sop-lbl { fill: rgba(255,255,255,.5); font: 800 8.5px 'Nunito Sans', sans-serif; letter-spacing: 1.2px; }
        /* RNSD-372: Continuous looping mail animation */
        .sop-route { stroke-width: 2.5; stroke-linecap: round; stroke-dasharray: 142; stroke-dashoffset: 0; }
        .sop-envelope { animation: sopMailLoop 2.5s ease-in-out infinite; }
        @keyframes sopMailLoop { 0% { transform: translateX(-105px); opacity: 0; } 10% { opacity: 1; } 50% { transform: translateX(0); opacity: 1; } 60% { opacity: 0; } 100% { transform: translateX(-105px); opacity: 0; } }
        .sop-check { transform-box: fill-box; transform-origin: center; transform: scale(0); opacity: 0; animation: sopCheckLoop 2.5s ease-in-out infinite; animation-delay: 1s; }
        @keyframes sopCheckLoop { 0%,40% { transform: scale(0); opacity: 0; } 50% { transform: scale(1.2); opacity: 1; } 55%,60% { transform: scale(1); opacity: 1; } 70%,100% { transform: scale(0); opacity: 0; } }
        .sop-step, .sop-card { opacity: 0; transform: translateY(16px); }
        /* Final state after animation (applied by animation-fill-mode: both in .play) */
        .sop-card h3 {
            margin: 0 0 12px;
            font-weight:800;
            font-size: 23px;
            line-height: 1.12;
            letter-spacing: -.02em;
        }
        .sop-card .sop-desc {
            margin: 0 0 22px;
            font-weight: 400;
            font-size: 14.5px;
            line-height: 1.55;
            color: rgba(255,255,255,.7);
            max-width: 340px;
        }
        .sop-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 9px 16px;
            border-radius: 999px;
            background: rgba(70,174,247,.12);
            border: 1px solid rgba(70,174,247,.4);
            color: rgba(255,255,255,.9);
            font-weight: 800;
            font-size: 13.5px;
        }
        .sop-badge svg { width: 17px; height: 17px; flex: none; }
        .sop-foot {
            max-width: 1120px;
            margin: 42px auto 0;
            font-size: 12px;
            line-height: 1.5;
            color: rgba(255,255,255,.5);
            text-align: center;
        }
        /* SOP animations - default visible, .play ADDS motion for cards/steps */
        .sop-section.play .sop-step { animation: sopRise .5s ease both; animation-delay: calc(var(--s) * 110ms + .1s); }
        .sop-section.play .sop-card { animation: sopRise .6s ease both; animation-delay: .15s; }
        @keyframes sopRise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
        @media (prefers-reduced-motion: reduce) {
            .sop-section.play .sop-step, .sop-section.play .sop-card { animation: none !important; }
            .sop-envelope, .sop-check { animation: none !important; transform: none; opacity: 1; }
        }
        @media (max-width: 860px) {
            .sop-section { padding: 56px 22px 48px; }
            .sop-inner { grid-template-columns: 1fr; gap: 34px; }
            .sop-lede { max-width: none; }
            .sop-stext p { max-width: none; }
        }
        /* RNSD-325: Comparison Section - Updated Design */
        .compare-section {
            background: linear-gradient(180deg, #f0f4f8 0%, #e8eef5 100%);
            padding: 80px 32px;
            font-family: 'Nunito Sans', system-ui, sans-serif;
        }
        .compare-inner {
            max-width: 1100px;
            margin: 0 auto;
        }
        .compare-logo {
            text-align: center;
            margin-bottom: 24px;
        }
        .compare-logo img {
            height: 60px;
            width: auto;
        }
        .compare-tagline {
            text-align: center;
            margin-bottom: 20px;
        }
        .compare-tagline span {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: #fff;
            padding: 8px 20px;
            border-radius: 20px;
            font-size: 14px;
            color: #46AEF7;
            font-weight: 500;
            border: 1px solid #e2e8f0;
        }
        .compare-tagline svg {
            width: 18px;
            height: 18px;
            stroke: #46AEF7;
            fill: none;
        }
        .compare-section h2 {
            text-align: center;
            font-size: 42px;
            font-weight:800;
            color: #080D1A;
            margin-bottom: 12px;
            letter-spacing: -0.03em;
        }
        .compare-section .section-sub {
            text-align: center;
            color: #667085;
            font-size: 17px;
            margin-bottom: 40px;
        }
        .compare-card {
            background: #fff;
            border-radius: 20px;
            overflow: hidden;
            box-shadow: 0 12px 40px rgba(8,13,26,0.08);
            border: 1px solid #e2e8f0;
        }
        .compare-table {
            width: 100%;
        }
        .compare-header {
            display: grid;
            grid-template-columns: 240px 1fr 1fr 1fr;
        }
        .compare-header > div {
            padding: 6px 24px 16px; /* RNSD-450: Reduced top padding */
            font-weight: 700;
            font-size: 14px;
            text-align: center;
        }
        .compare-header .feature-col {
            background: #fff;
            color: #1e293b;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            font-size: 14px;
            font-weight: 800;
            text-align: left;
        }
        .compare-header .squabble-col {
            background: linear-gradient(135deg, #46AEF7 0%, #3b9ee0 100%);
            color: #fff;
            border-radius: 12px;
            margin: 0 4px;
            box-shadow: 0 4px 16px rgba(70,174,247,0.3);
            position: relative;
            z-index: 2;
        }
        .compare-header .squabble-col .brand-logo {
            height: 28px;
            width: auto;
            margin-bottom: 4px;
        }
        .compare-header .squabble-col .brand-name {
            font-size: 18px;
            font-weight: 800;
        }
        .compare-header .squabble-col .brand-sub {
            font-size: 11px;
            opacity: 0.9;
            margin-top: 4px;
            background: rgba(255,255,255,0.2);
            padding: 3px 10px;
            border-radius: 10px;
            display: inline-block;
        }
        .compare-header .competitor-col {
            background: #9ca3af;
            color: #fff;
        }
        .compare-header .competitor-col:nth-child(3) {
            border-right: 1px solid rgba(255,255,255,0.3);
            border-radius: 12px 0 0 12px;
        }
        .compare-header .competitor-col:nth-child(4) {
            border-radius: 0 12px 12px 0;
        }
        .compare-header .competitor-col .brand-name {
            font-size: 16px;
            font-weight: 700;
        }
        .compare-header .competitor-col .brand-sub {
            font-size: 10px;
            opacity: 0.8;
            margin-top: 4px;
            background: rgba(255,255,255,0.15);
            padding: 3px 8px;
            border-radius: 8px;
            display: inline-block;
        }
        .compare-row {
            display: grid;
            grid-template-columns: 240px 1fr 1fr 1fr;
            border-bottom: 1px solid #f1f5f9;
        }
        .compare-row:last-child { border-bottom: none; }
        .compare-row > div {
            padding: 10px 18px;
            display: flex;
            align-items: center;
        }
        .compare-row .feature-col {
            gap: 12px;
            font-weight: 800;
            color: #1e293b;
            font-size: 15px;
        }
        .compare-row .feature-col .feature-icon {
            width: 36px;
            height: 36px;
            background: #eff6ff;
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
        .compare-row .feature-col .feature-icon svg {
            width: 18px;
            height: 18px;
            stroke: #46AEF7;
            fill: none;
        }
        .compare-row .feature-col .feature-text {
            display: flex;
            flex-direction: column;
        }
        .compare-row .feature-col .key-diff {
            font-size: 10px;
            color: #46AEF7;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.03em;
        }
        .compare-row .squabble-col,
        .compare-row .competitor-col {
            justify-content: flex-start;
            font-size: 14px;
            color: #334155;
            gap: 8px;
        }
        .compare-row .squabble-col {
            background: rgba(70, 174, 247, 0.04);
            margin: 0 4px;
        }
        .compare-row .squabble-col .value {
            color: #46AEF7;
            font-weight: 800;
        }
        .compare-row .big-value {
            font-size: 1.5rem;
            font-weight: 800;
            color: #46AEF7;
        }
        .compare-check {
            width: 20px;
            height: 20px;
            background: #10b981;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
        .compare-check svg {
            width: 12px;
            height: 12px;
            stroke: #fff;
            fill: none;
            stroke-width: 3;
        }
        .compare-x {
            width: 20px;
            height: 20px;
            background: #fee2e2;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
        .compare-x svg {
            width: 10px;
            height: 10px;
            stroke: #ef4444;
            fill: none;
            stroke-width: 3;
        }
        .compare-dash {
            width: 20px;
            height: 20px;
            background: #f1f5f9;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
        .compare-dash svg {
            width: 10px;
            height: 2px;
            background: #94a3b8;
        }
        .compare-row:nth-child(even) {
            background: #fafbfc;
        }
        .compare-row:nth-child(even) .squabble-col {
            background: rgba(70, 174, 247, 0.06);
        }
        .compare-cta-bar {
            background: #f8fafc;
            padding: 24px 32px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
            border-top: 1px solid #e2e8f0;
        }
        .compare-cta-bar .icon {
            width: 40px;
            height: 40px;
            background: #eff6ff;
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .compare-cta-bar .icon svg {
            width: 20px;
            height: 20px;
            stroke: #46AEF7;
            fill: none;
        }
        .compare-cta-bar p {
            font-size: 18px;
            font-weight: 500;
            color: #1e293b;
            margin: 0;
        }
        .compare-cta-bar .typing-cursor {
            font-weight: 400;
            color: #46AEF7;
            animation: blink 1s infinite;
        }
        @keyframes blink {
            0%, 50% { opacity: 1; }
            51%, 100% { opacity: 0; }
        }
        .compare-bottom {
            text-align: center;
            margin-top: 24px;
        }
        .compare-bottom p {
            color: #64748b;
            margin-bottom: 20px;
        }
        .compare-bottom a {
            color: #46AEF7;
            font-weight: 600;
            text-decoration: none;
        }
        .compare-disclaimer {
            text-align: center;
            margin-top: 32px;
            font-size: 12px;
            color: #94a3b8;
            line-height: 1.6;
            max-width: 900px;
            margin-left: auto;
            margin-right: auto;
        }
        @media (max-width: 900px) {
            .compare-header,
            .compare-row {
                grid-template-columns: 180px 1fr 1fr 1fr;
            }
            .compare-header > div,
            .compare-row > div {
                padding: 12px 10px;
                font-size: 12px;
            }
            .compare-row .feature-col .feature-icon {
                width: 28px;
                height: 28px;
            }
            .compare-row .feature-col .feature-icon svg {
                width: 14px;
                height: 14px;
            }
        }
        @media (max-width: 768px) {
            .compare-section h2 { font-size: 28px; }
            .compare-header,
            .compare-row {
                grid-template-columns: 140px repeat(3, 1fr);
            }
            .compare-row .feature-col .feature-icon { display: none; }
            .compare-header .squabble-col .brand-name,
            .compare-header .competitor-col .brand-name { font-size: 12px; }
            .compare-header .squabble-col .brand-sub,
            .compare-header .competitor-col .brand-sub { display: none; }
        }
        /* RNSD-349/355: Mobile comparison table - horizontal scroll with visual hint */
        @media (max-width: 600px) {
            .compare-section {
                padding: 48px 16px;
            }
            .compare-card {
                overflow-x: auto;
                -webkit-overflow-scrolling: touch;
                border-radius: 12px;
                /* Gradient fade hint on right edge to show more content */
                position: relative;
            }
            .compare-card::after {
                content: '';
                position: absolute;
                top: 0;
                right: 0;
                bottom: 0;
                width: 24px;
                background: linear-gradient(90deg, transparent, rgba(255,255,255,0.9));
                pointer-events: none;
                z-index: 10;
                opacity: 1;
                transition: opacity 0.3s;
            }
            .compare-card.scrolled::after {
                opacity: 0;
            }
            .compare-table {
                min-width: 620px;
            }
            .compare-header,
            .compare-row {
                grid-template-columns: 100px 1fr 1fr 1fr;
            }
            .compare-header > div,
            .compare-row > div {
                padding: 10px 8px;
                font-size: 11px;
            }
            .compare-row .feature-col {
                font-size: 12px;
            }
            .compare-header .squabble-col .brand-name,
            .compare-header .competitor-col .brand-name {
                font-size: 11px;
            }
            .compare-header .squabble-col .brand-logo {
                height: 24px;
                width: auto;
            }
            .compare-check, .compare-x, .compare-dash {
                width: 16px;
                height: 16px;
            }
            .compare-check svg, .compare-x svg {
                width: 9px;
                height: 9px;
            }
            .compare-cta-bar {
                padding: 16px;
                flex-direction: column;
                gap: 8px;
            }
            .compare-cta-bar p {
                font-size: 14px;
                text-align: center;
            }
        }
        @media (max-width: 768px) {
            .testimonial-section h2 { font-size: 28px; }
            .testimonial-card { width: 320px; padding: 24px; }
            .testimonial-card blockquote { font-size: 14px; min-height: 120px; }
        }

        /* US Map Section - Light theme */
        /* Section: Built for everyone - RNSD-348 */
        .rights{position:relative;overflow:hidden;background:linear-gradient(180deg,#FFFFFF 0%,#F4F8FC 100%);padding:96px 0 104px}
        .rights__wrap{max-width:1120px;margin:0 auto;padding:0 28px;position:relative}
        .rights__photo{position:absolute;top:-135px;left:50%;transform:translateX(-50%);width:540px;opacity:.18;pointer-events:none;z-index:0;user-select:none}
        .rights__photo img{width:100%;display:block}
        .rights__content{position:relative;z-index:5;max-width:720px;margin-left:auto;margin-right:auto;text-align:center}
        .rights__tick{width:56px;height:5px;border-radius:3px;background:linear-gradient(90deg,#62BDFB,#2C9AEF);margin:0 auto 30px}
        .rights h2{font-weight:800;font-size:clamp(28px,3.9vw,44px);letter-spacing:-.04em;line-height:1.0;color:#080D1A;margin-bottom:28px}
        .rights h2 .blue{color:#46AEF7}
        .rights p{font-weight:400;font-size:clamp(17px,1.5vw,19.5px);line-height:1.62;color:#4A4E52;margin:0 auto 22px;max-width:600px;text-wrap:balance}
        .rights p b{font-weight:800;color:#080D1A}
        .rights__cta{display:inline-flex;align-items:center;gap:11px;background:#080D1A;color:#fff;font-weight:800;font-size:17px;padding:19px 36px;border-radius:999px;text-decoration:none;box-shadow:0 18px 34px -14px rgba(8,13,26,.55);transition:transform .2s,box-shadow .2s;margin-top:10px}
        .rights__cta:hover{transform:translateY(-2px);box-shadow:0 24px 40px -14px rgba(8,13,26,.6)}
        .rights__cta svg{width:18px;height:18px}
        @media (max-width:760px){
          .rights{padding:54px 0 64px}
          .rights__photo{top:-44px;left:50%;right:auto;transform:translateX(-50%);width:118%;max-width:470px;opacity:.16}
          .rights__content{max-width:none;text-align:center;padding-top:210px}
          .rights__tick{margin:0 auto 22px}
          .rights p{margin-left:auto;margin-right:auto}
        }
        @media (max-width:480px){
          .rights__photo{width:128%;max-width:none;top:-30px;left:50%;right:auto;transform:translateX(-50%);opacity:.15}
          .rights__content{padding-top:176px}
        }

        /* Section Dividers for Mobile */
        .section-divider {
            display: none;
            width: 100%;
            max-width: 400px;
            margin: 0 auto;
            padding: 0 24px;
        }
        .section-divider hr {
            border: none;
            height: 1px;
            background: linear-gradient(90deg, transparent, #D1D5DB, transparent);
        }
        @media (max-width: 900px) {
            .section-divider {
                display: block;
                padding: 32px 24px;
            }
        }

        /* RNSD-376: Trust Pane Mobile (below 600px) */
        @media (max-width: 600px) {
            .sq-trust { padding: 44px 14px 52px; }
            .sq-trust__wrap { padding: 0; }
            .sq-pane { flex-direction: column; gap: 0; }
            .sq-data { padding: 32px 24px 28px; border-radius: 20px 20px 0 0; }
            .sq-eyebrow { margin-bottom: 24px; }
            .sq-stats { grid-template-columns: 1fr; gap: 32px; }
            .sq-stat { padding: 0 !important; margin: 0 !important; text-align: left; }
            .sq-stat:first-child { padding-left: 0 !important; }
            /* Remove ALL separator lines and ticks on mobile */
            .sq-stat + .sq-stat::before { display: none !important; content: none !important; }
            .sq-stat::after { display: none !important; content: none !important; }
            .sq-stat::before { display: none !important; content: none !important; }
            .sq-num { font-size: 2.8rem; margin: 0 0 6px 0 !important; padding: 0 !important; text-indent: 0 !important; }
            .sq-label { max-width: none; margin: 0 !important; padding: 0 !important; font-size: 0.95rem; line-height: 1.5; }
            .sq-axis { display: none !important; }
            .sq-axis__line { display: none !important; }
            .sq-tick { display: none !important; }
            .sq-foot { margin-top: 28px; font-size: 0.8rem; }
            .sq-photo { height: auto; overflow: visible; border-radius: 0 0 20px 20px; }
            .sq-photo img {
                position: relative;
                right: auto;
                bottom: auto;
                transform: none;
                width: 100%;
                height: auto;
                display: block;
                object-fit: cover;
            }
        }

        /* Full Footer - RNSD-403: White background to match site design */
        .site-footer-full {
            background: #ffffff;
            padding: 60px 32px 32px;
            border-top: 1px solid #e5e7eb;
        }
        .footer-inner {
            max-width: 1100px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr;
            gap: 36px;
        }
        .footer-brand {
            align-self: start;
            position: relative;
        }
        .footer-brand .logo {
            margin-bottom: 0;
        }
        .footer-tagline {
            font-size: 14px;
            font-weight: 600;
            color: #101828;
            position: absolute;
            top: 25px;
            left: 35px;
        }
        .footer-logo-img {
            height: 168px;
            width: auto;
            margin-top: -75px;
        }
        .footer-social {
            display: flex;
            gap: 16px;
        }
        .footer-social a {
            color: #6b7280;
            font-size: 20px;
            text-decoration: none;
        }
        .footer-social a:hover {
            color: #46AEF7;
        }
        .footer-col h5 {
            color: #101828;
            font-size: 14px;
            font-weight: 700;
            margin-bottom: 16px;
        }
        .footer-col a {
            display: block;
            color: #6b7280;
            font-size: 14px;
            text-decoration: none;
            padding: 6px 0;
        }
        .footer-col a:hover {
            color: #46AEF7;
        }
        .footer-bottom {
            max-width: 1100px;
            margin: 40px auto 0;
            padding-top: 24px;
            border-top: 1px solid #e5e7eb;
            text-align: center;
            color: #6b7280;
            font-size: 13px;
        }
        .payment-bar {
            background: #9ca3af;
            padding: 40px 32px;
            text-align: center;
            color: rgba(255,255,255,0.7);
            font-size: 14px;
        }
        .payment-bar span {
            color: #6366f1;
            font-weight: 600;
        }

        /* Mobile responsive for new sections */
        @media (max-width: 900px) {
            /* RNSD-376: Trust Pane Tablet */
            .sq-trust { padding: 56px 18px 64px; }
            .sq-pane { grid-template-columns: 1fr; }
            .sq-data { padding: 40px 34px 34px; }
            .sq-stat { min-width: 0; padding: 0 14px; }
            .sq-num { font-size: clamp(2.2rem, 5.2vw, 3.4rem); }
            .sq-axis__line { right: 0; }
            .sq-photo {
                order: 2;
                min-height: 0;
                height: 340px;
                border-top: 1px solid rgba(8,13,26,.10);
                background: linear-gradient(180deg, #FFFFFF 0%, #EBF0F5 100%);
            }
            .sq-photo img { height: 120%; right: 0; left: auto; transform: none; object-position: bottom right; }

            .not-alone-section { padding: 48px 22px; }
            .not-alone-section h2 { font-size: 28px; }
            .category-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
            .category-card { padding: 20px 16px; }

            /* RNSD-320: Trust Signals Mobile */
            .trust-signals-section { padding: 48px 22px; }
            .trust-signals-section h2 { font-size: 28px; }
            .trust-grid { grid-template-columns: 1fr; gap: 16px; }
            .trust-card { padding: 24px 20px; }
            .trust-card h4 { font-size: 18px; }

            .simple-process-section { padding: 48px 22px; }
            .simple-process-inner { grid-template-columns: 1fr; gap: 32px; text-align: center; }
            .simple-process-left h2 { font-size: 28px; }

            .helps-paid-section { padding: 48px 22px; }
            .helps-paid-section h2 { font-size: 26px; }
            .helps-grid { grid-template-columns: 1fr; gap: 16px; }

            .pricing-section { padding: 48px 22px; }
            .pricing-section h2 { font-size: 28px; }
            .pricing-grid { grid-template-columns: 1fr; gap: 20px; }
            .file-explainer { padding: 24px; }
            .file-explainer-grid { grid-template-columns: 1fr; gap: 20px; }

            .testimonial-section { padding: 48px 0; }
            .testimonial-section h2 { font-size: 26px; padding: 0 20px; }

            .justice-section { padding: 48px 22px; }
            .justice-inner { grid-template-columns: 1fr; gap: 32px; text-align: center; }
            .justice-left h2 { font-size: 28px; }


            .site-footer-full { padding: 40px 22px 24px; }
            .footer-inner { grid-template-columns: 1fr 1fr; gap: 32px; }
        }
        @media (max-width: 600px) {
            .site-footer-full { padding: 32px 20px 20px; }
            .footer-inner {
                grid-template-columns: 1fr;
                gap: 28px;
                text-align: center;
            }
            .footer-brand {
                display: flex;
                flex-direction: column;
                align-items: center;
            }
            .footer-logo-img { height: 120px; margin-top: 0; }
            .footer-tagline {
                position: static;
                margin-top: -40px;
                order: 2;
            }
            .footer-brand .logo { order: 1; }
            .footer-social { justify-content: center; }
            .footer-col { text-align: center; }
            .footer-col h5 { margin-bottom: 12px; }
            .footer-col a { padding: 4px 0; }
            .footer-bottom {
                margin-top: 28px;
                padding-top: 20px;
                font-size: 12px;
            }
            .footer-bottom a { display: inline-block; margin: 0 6px; color: #46AEF7; }
        }

        /* ============================================================
           POST-INTAKE SELECTOR PAGE - Michael's exact design
           ============================================================ */
        .postIntakePage {
            display: none;
            background: #fff;
            min-height: 100vh;
        }
        .postIntakePage.active {
            display: block;
        }

        .postIntakeInner {
            max-width: 1180px;
            margin: 0 auto;
            padding: 0 32px;
        }

        /* Top gradient section */
        .postIntakeTop {
            background: linear-gradient(110deg, #fff 0%, #fff 48%, #EAF7FF 100%);
            padding-bottom: 56px;
        }

        /* Intro section with summary */
        .postIntakeIntro {
            display: grid;
            grid-template-columns: 1.05fr .95fr;
            gap: 60px;
            padding: 72px 0 36px;
            align-items: start;
        }

        .postIntakeHead .overline {
            font-size: 11px;
            margin-bottom: 14px;
        }

        .postIntakeHead h2 {
            font-size: 26px;
            line-height: 1.05;
            letter-spacing: -0.035em;
            font-weight:800;
            color: var(--black);
        }

        .postIntakeHead p {
            font-size: 14px;
            line-height: 1.5;
            color: #475467;
            margin-top: 10px;
        }

        /* Claim summary card */
        .claimSummary {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 14px 18px;
            padding: 18px;
            background: #fff;
            border: 1px solid var(--border);
            border-radius: 18px;
            margin: 18px 0 22px;
            box-shadow: 0 12px 30px rgba(8,13,26,0.05);
        }

        .sumItem {
            display: flex;
            flex-direction: column;
            gap: 3px;
        }

        .sumItem span {
            font-size: 10px;
            letter-spacing: 0.06em;
            color: #6b7280;
            font-weight: 800;
            text-transform: uppercase;
        }

        .sumItem strong {
            font-size: 14px;
            color: var(--black);
            font-weight:800;
        }

        /* Free area - demand letter + case brief */
        .freeArea {
            display: grid;
            grid-template-columns: 1.1fr .9fr;
            gap: 28px;
            align-items: stretch;
            margin: 18px 0 44px;
        }

        .freeCard {
            padding: 34px;
            display: grid;
            grid-template-columns: 76px 1fr;
            gap: 24px;
            align-items: start;
            background: #fff;
            border: 1px solid var(--border);
            border-radius: 24px;
            box-shadow: 0 18px 54px rgba(8,13,26,0.07);
        }

        .freeCard h3 {
            font-size: 24px;
            line-height: 1.15;
        }

        .freeCard .btn {
            margin-top: 22px;
            min-width: 260px;
        }

        .caseCard {
            padding: 34px;
            display: grid;
            grid-template-columns: 72px 1fr;
            gap: 22px;
            position: relative;
        }

        .caseCard h3 {
            font-size: 22px;
            line-height: 1.18;
            letter-spacing: -0.025em;
        }

        .caseCard .btn {
            margin-top: 22px;
            width: 220px;
        }

        .caseCard p, .freeCard p {
            font-size: 15px;
            line-height: 1.45;
            color: #475467;
            margin-top: 8px;
        }

        /* Paid head section */
        .paidHead {
            display: flex;
            align-items: end;
            justify-content: space-between;
            margin: 40px 0 24px;
        }

        .paidHead p {
            font-size: 15px;
            max-width: 580px;
            color: #667085;
        }

        /* Package cards grid */
        .packages {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 24px;
            align-items: start;
        }

        .package {
            padding: 28px;
            min-height: 480px;
            display: flex;
            flex-direction: column;
            position: relative;
            background: #fff;
            border: 1px solid var(--border);
            border-radius: 24px;
            box-shadow: 0 18px 54px rgba(8,13,26,0.07);
        }

        .package.dca {
            border-color: var(--blue);
            box-shadow: 0 24px 70px rgba(70,174,247,0.14);
        }

        .packageTop {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 16px;
            margin-bottom: 20px;
        }

        .package h3 {
            font-size: 28px;
            margin-top: 2px;
        }

        .package .desc {
            font-size: 15px;
            line-height: 1.42;
            color: #3A4656;
            margin-top: 2px;
            min-height: 42px;
        }

        .package .checklist {
            gap: 12px;
            margin-top: 20px;
        }

        .package .btn {
            margin-top: auto;
            width: 100%;
            height: 50px;
        }

        /* DCA face avatar */
        .dcaFace {
            width: 60px;
            height: 60px;
            border-radius: 50%;
            object-fit: cover;
            object-position: 50% 25%;
            border: 3px solid #fff;
            box-shadow: 0 8px 20px rgba(8,13,26,0.12);
        }

        /* DCA badge */
        .dcaBadge {
            align-self: flex-end;
            margin: 0 0 14px;
        }

        /* Badge (used for prices in package cards) */
        .badge {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            background: #EAF7FF;
            color: #1686D9;
            font-size: 11px;
            font-weight:800;
            padding: 7px 10px;
            white-space: nowrap;
        }

        .badge.amber {
            background: #FFF3D7;
            color: #714500;
            border: 1px solid #F6D38D;
        }

        /* Sub label for pricing */
        .subLabel {
            display: inline-flex;
            align-items: center;
            padding: 5px 11px;
            border-radius: 999px;
            background: #EAF7FF;
            color: #1686D9;
            font-size: 11px;
            font-weight:800;
        }

        /* Service wrap at bottom */
        .serviceWrap {
            background: #F8FCFF;
            border: 1px solid #D7E5F0;
            border-radius: 24px;
            padding: 22px 26px;
            display: grid;
            grid-template-columns: 66px 1fr;
            gap: 20px;
            align-items: center;
            margin-top: 18px;
        }

        .serviceWrap h3 {
            font-size: 20px;
            margin-bottom: 6px;
        }

        .serviceWrap h3 span {
            font-weight: 500;
            color: #3D4A5A;
        }

        .serviceWrap p {
            font-size: 15px;
            color: #475467;
            line-height: 1.45;
        }

        /* Footnotes */
        .footnotes {
            margin: 34px 0 70px;
            display: grid;
            gap: 8px;
        }

        .footnotes .footnote {
            font-style: italic;
        }

        /* Icon boxes */
        .iconBox {
            width: 60px;
            height: 60px;
            border-radius: 18px;
            background: #EFF9FF;
            border: 1px solid #D5F0FF;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .iconBox img {
            width: 44px;
            height: 44px;
            object-fit: contain;
        }

        .iconBox.lg {
            width: 76px;
            height: 76px;
            border-radius: 22px;
        }

        .iconBox.lg img {
            width: 54px;
            height: 54px;
        }

        /* Post-intake buttons */
        .postIntakePage .btn {
            height: 52px;
            padding: 0 30px;
            font-size: 15px;
            line-height: 52px;
            background: var(--black);
            color: #fff;
            border: 0;
            border-radius: 999px;
            font-weight:800;
            letter-spacing: 0.01em;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.2s;
        }

        .postIntakePage .btn:hover {
            background: #1a2030;
            transform: translateY(-1px);
        }

        .postIntakePage .btn.secondary {
            background: #fff;
            color: var(--black);
            border: 1px solid var(--border);
        }

        .postIntakePage .btn.secondary:hover {
            background: var(--light);
            border-color: #c0c8d0;
        }

        .postIntakePage .btn:disabled {
            opacity: 0.6;
            cursor: not-allowed;
        }

        /* Price tags */
        .priceTag,
        .price {
            font-size: 15px;
            font-weight:800;
            color: #475467;
            white-space: nowrap;
            display: inline-block;
        }

        .priceTag.free {
            color: #059669;
        }

        /* Recommended badge */
        .recBadge {
            display: inline-flex;
            align-items: center;
            align-self: flex-end;
            padding: 6px 11px;
            border-radius: 999px;
            background: #FFF3D7;
            color: #714500;
            border: 1px solid #F6D38D;
            font-size: 11px;
            font-weight:800;
            margin-bottom: 14px;
            letter-spacing: 0.01em;
            white-space: nowrap;
        }

        /* Most Popular label */
        .mostPopular {
            font-size: 12px;
            font-weight:800;
            color: var(--blue);
            margin-top: 4px;
        }

        /* Checklist in packages */
        .checklist {
            display: grid;
            gap: 11px;
            margin: 18px 0 0;
            padding: 0;
            list-style: none;
        }

        .checklist li {
            display: grid;
            grid-template-columns: 20px 1fr;
            gap: 10px;
            align-items: start;
            font-size: 14px;
            line-height: 1.35;
            color: #253044;
        }

        .checklist li::before {
            content: '';
            width: 20px;
            height: 20px;
            background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%2346AEF7"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>');
            background-size: contain;
            background-repeat: no-repeat;
        }

        /* Post-intake mobile styles */
        @media (max-width: 900px) {
            .postIntakeInner {
                padding: 0 22px;
            }
            .postIntakeIntro {
                display: block;
                padding: 36px 0 24px;
            }
            .postIntakeHead h2 {
                font-size: 22px;
            }
            .claimSummary {
                margin-top: 20px;
            }
            .freeArea {
                grid-template-columns: 1fr;
                gap: 16px;
                margin: 20px 0 32px;
            }
            .freeCard, .caseCard {
                padding: 20px;
                grid-template-columns: 54px 1fr;
                gap: 16px;
            }
            .freeCard h3, .caseCard h3 {
                font-size: 18px;
            }
            .freeCard .btn, .caseCard .btn {
                width: 100%;
                min-width: auto;
                margin-top: 16px;
            }
            .iconBox {
                width: 54px;
                height: 54px;
                border-radius: 14px;
            }
            .iconBox img {
                width: 34px;
                height: 34px;
            }
            .paidHead {
                flex-direction: column;
                align-items: flex-start;
                gap: 12px;
            }
            .paidHead h2 {
                font-size: 24px;
            }
            .packages {
                grid-template-columns: 1fr;
                gap: 16px;
            }
            .package {
                padding: 22px;
                min-height: auto;
            }
            .package h3 {
                font-size: 22px;
            }
            .serviceWrap {
                grid-template-columns: 48px 1fr;
                gap: 14px;
                padding: 18px;
            }
            .serviceWrap h3 {
                font-size: 16px;
            }
            .footnotes {
                margin: 24px 0 40px;
            }
        }

        /* Minimal header */
        .landing-header {
            position: fixed;
            top: 0; left: 0; right: 0;
            z-index: 100;
            padding: 1rem 3rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            background: transparent;
            transition: background 0.3s ease;
        }

        .landing-header.scrolled {
            background: rgba(10, 10, 15, 0.95);
            backdrop-filter: blur(10px);
        }

        .landing-header.scrolled .landing-logo-img {
            height: 80px;
            transition: height 0.3s ease;
        }

        .landing-logo-img {
            height: 200px;
            width: auto;
        }

        .landing-nav {
            display: flex;
            gap: 3rem;
            align-items: center;
        }

        .landing-nav a {
            color: #46AEF7;  /* SQUABBLE trademark blue */
            text-decoration: none;
            font-size: 0.9rem;
            font-weight: 500;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            transition: color 0.2s ease;
        }

        .landing-nav a:hover { color: #5BC4F0; }  /* Lighter blue on hover */

        /* Header Login Button - RNSD-420: Michael's soft blue style */
        .header-login-btn {
            background: #EAF7FF;
            border: 1.5px solid #CFE6FB;
            color: #1686D9;
            padding: 0 20px;
            height: 40px;
            border-radius: 999px;
            font-size: 13px;
            font-weight: 800;
            cursor: pointer;
            transition: all 0.2s ease;
            display: inline-flex;
            align-items: center;
        }
        .header-login-btn:hover {
            background: #D6EFFF;
            border-color: #A8D8F8;
        }

        /* RNSD-276: Account Dropdown Menu */
        /* RNSD-313: Account dropdown updated for light theme */
        .account-dropdown {
            position: absolute;
            top: 60px;
            right: 4rem;
            background: #ffffff;
            border: 1px solid rgba(0, 0, 0, 0.1);
            border-radius: 12px;
            min-width: 220px;
            box-shadow: 0 10px 40px rgba(0,0,0,0.15);
            z-index: 1000;
        }
        .account-dropdown.hidden { display: none; }
        .account-dropdown-header {
            padding: 1rem;
            border-bottom: 1px solid rgba(0,0,0,0.08);
        }
        .account-dropdown-header span { display: block; }
        .account-dropdown-header span:first-child { font-weight: 600; color: #1a1a2e; font-size: 1rem; }
        .account-dropdown-header span:last-child { font-size: 0.8rem; color: #64748b; margin-top: 0.25rem; }
        .account-dropdown-divider { height: 1px; background: rgba(0,0,0,0.08); }
        .account-dropdown-item {
            display: block;
            width: 100%;
            padding: 0.75rem 1rem;
            text-align: left;
            background: none;
            border: none;
            color: #1a1a2e;
            cursor: pointer;
            font-size: 0.9rem;
            font-family: inherit;
            transition: background 0.2s;
        }
        .account-dropdown-item:hover { background: rgba(70, 174, 247, 0.1); }
        .account-dropdown-item.logout { color: #ef4444; }

        /* RNSD-240: Session Recovery Banner */
        .session-recovery-banner {
            position: fixed;
            top: 0; left: 0; right: 0;
            background: linear-gradient(135deg, #1a5f2a 0%, #0d3518 100%);
            border-bottom: 2px solid #2dd4bf;
            z-index: 9999;
            padding: 0.75rem 1rem;
            animation: slideDown 0.3s ease-out;
        }
        @keyframes slideDown {
            from { transform: translateY(-100%); }
            to { transform: translateY(0); }
        }
        .session-recovery-content {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            gap: 1rem;
            flex-wrap: wrap;
            justify-content: center;
        }
        .session-recovery-icon {
            font-size: 1.5rem;
        }
        .session-recovery-text {
            color: #fff;
            font-size: 0.95rem;
        }
        .session-recovery-text strong {
            display: block;
            font-size: 1rem;
        }
        .session-recovery-text span {
            opacity: 0.8;
            font-size: 0.85rem;
        }
        .session-recovery-actions {
            display: flex;
            gap: 0.5rem;
        }
        .session-continue-btn {
            background: #2dd4bf;
            color: #0a0f19;
            border: none;
            padding: 0.5rem 1.25rem;
            border-radius: 8px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.2s ease;
        }
        .session-continue-btn:hover {
            background: #5eead4;
            transform: scale(1.05);
        }
        .session-new-btn {
            background: transparent;
            color: #fff;
            border: 1px solid rgba(255,255,255,0.3);
            padding: 0.5rem 1rem;
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.2s ease;
        }
        .session-new-btn:hover {
            background: rgba(255,255,255,0.1);
            border-color: rgba(255,255,255,0.5);
        }
        @media (max-width: 600px) {
            .session-recovery-content {
                flex-direction: column;
                text-align: center;
            }
            .session-recovery-actions {
                width: 100%;
                justify-content: center;
            }
        }

        /* RNSD-481: Premium Login Modal - Top-tier SaaS Design */
        .login-modal-overlay {
            position: fixed;
            top: 0; left: 0; right: 0; bottom: 0;
            background: rgba(8, 13, 26, 0.7);
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
            z-index: 10000;
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            animation: loginFadeIn 0.25s ease forwards;
            overflow-y: auto;            /* RNSD-1622: scrolls when the keyboard shrinks the viewport */
            -webkit-overflow-scrolling: touch;
            padding: 12px 0;
            box-sizing: border-box;
        }
        /* RNSD-1622: the sign-in card under a phone keyboard - tighter on phones, top-pinned and
           compact while a browser that never resizes for the keyboard has a field focused. */
        @media (max-width: 600px) {
            .login-modal { padding: 1.5rem 1.25rem 1.25rem; }
            .login-modal-logo { width: 110px; margin-bottom: 0.9rem; }
            .login-modal-title { font-size: 1.35rem; }
            .login-modal-subtitle { margin-bottom: 1rem; }
        }
        body.kb-login .login-modal-overlay { align-items: flex-start; padding-top: 8px; }
        body.kb-login .login-modal { max-height: 52vh; margin: 0 auto; animation: none; transform: none; }
        body.kb-login .login-modal-logo, body.kb-login .login-modal-title, body.kb-login .login-modal-subtitle,
        body.kb-login #gsiBtn, body.kb-login #gsiDivider { display: none; }
        @keyframes loginFadeIn { to { opacity: 1; } }
        @keyframes loginSlideUp { from { opacity: 0; transform: translateY(20px) scale(0.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
        .login-modal {
            background: #fff;
            border-radius: 20px;
            padding: 2.5rem 2.5rem 2rem;
            width: 92%;
            max-width: 400px;
            position: relative;
            box-shadow: 0 25px 80px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.1);
            border: 1px solid #e8edf2;
            animation: loginSlideUp 0.35s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
            max-height: calc(100dvh - 24px);   /* RNSD-1622: the card scrolls instead of clipping Sign In */
            overflow-y: auto;
            margin: auto;
            box-sizing: border-box;
        }
        .login-modal-close {
            position: absolute;
            top: 1.25rem; right: 1.25rem;
            background: none;
            border: none;
            color: #94a3b8;
            font-size: 1.75rem;
            line-height: 1;
            cursor: pointer;
            transition: color 0.15s, transform 0.15s;
            padding: 0;
            width: 32px; height: 32px;
            display: flex; align-items: center; justify-content: center;
            border-radius: 8px;
        }
        .login-modal-close:hover { color: #64748b; background: #f1f5f9; }
        .login-modal-logo {
            display: block;
            width: 140px;
            height: auto;
            margin: 0 auto 1.5rem;
        }
        .login-modal-title {
            color: #080d1a;
            font-size: 1.6rem;
            font-weight: 800;
            margin: 0 0 0.4rem 0;
            text-align: center;
            letter-spacing: -0.02em;
        }
        .login-modal-subtitle {
            color: #64748b;
            text-align: center;
            margin: 0 0 1.75rem 0;
            font-size: 0.95rem;
            font-weight: 500;
        }
        .login-input-group {
            margin-bottom: 1.1rem;
        }
        .login-input-group label {
            display: block;
            color: #475569;
            font-size: 0.8rem;
            font-weight: 600;
            margin-bottom: 0.5rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .login-input-group input {
            width: 100%;
            padding: 0.95rem 1rem;
            border: 2px solid #e2e8f0;
            border-radius: 10px;
            background: #fff;
            color: #1e293b;
            font-size: 1rem;
            font-family: inherit;
            transition: border-color 0.2s, box-shadow 0.2s;
            box-sizing: border-box;
        }
        .login-input-group input:focus {
            outline: none;
            border-color: #46AEF7;
            box-shadow: 0 0 0 3px rgba(70, 174, 247, 0.12);
        }
        .login-input-group input::placeholder {
            color: #94a3b8;
        }
        .login-error {
            background: #fef2f2;
            border: 1px solid #fecaca;
            color: #dc2626;
            padding: 0.85rem 1rem;
            border-radius: 10px;
            font-size: 0.875rem;
            font-weight: 500;
            margin-bottom: 1rem;
            text-align: center;
        }
        .login-submit-btn {
            width: 100%;
            padding: 1rem;
            background: linear-gradient(135deg, #46AEF7 0%, #1e8cd8 100%);
            border: none;
            border-radius: 10px;
            color: #fff;
            font-size: 1rem;
            font-weight: 700;
            cursor: pointer;
            transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
            box-shadow: 0 4px 14px rgba(70, 174, 247, 0.35);
            font-family: inherit;
        }
        .login-submit-btn:hover {
            transform: translateY(-1px);
            box-shadow: 0 6px 20px rgba(70, 174, 247, 0.45);
        }
        .login-submit-btn:active { transform: translateY(0); }
        .login-submit-btn:disabled {
            background: #cbd5e1;
            box-shadow: none;
            cursor: not-allowed;
            transform: none;
        }
        .login-divider {
            display: flex;
            align-items: center;
            margin: 1.5rem 0;
            color: #94a3b8;
            font-size: 0.8rem;
            font-weight: 500;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }
        .login-divider::before, .login-divider::after {
            content: '';
            flex: 1;
            height: 1px;
            background: #e2e8f0;
        }
        .login-divider span { padding: 0 1rem; }
        .login-create-account {
            text-align: center;
            color: #64748b;
            font-size: 0.9rem;
            margin: 0;
            font-weight: 500;
        }
        .login-create-account a {
            color: #46AEF7;
            text-decoration: none;
            font-weight: 600;
        }
        .login-create-account a:hover { text-decoration: underline; }
        .login-forgot {
            text-align: right;
            margin-top: 0.5rem;
            margin-bottom: 1.25rem;
        }
        .login-forgot a {
            color: #64748b;
            font-size: 0.85rem;
            text-decoration: none;
            font-weight: 500;
        }
        .login-forgot a:hover { color: #46AEF7; }

        @keyframes eleanorPulse {
            0%, 100% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.1); opacity: 0.5; }
        }

        /* Case ID Modal */
        .case-modal-overlay {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.7);
            backdrop-filter: blur(5px);
            z-index: 10000;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 1rem;
        }

        .case-modal {
            background: linear-gradient(135deg, #1a1a2e 0%, #0f0f1a 100%);
            border: 1px solid rgba(70, 174, 247, 0.3);
            border-radius: 16px;
            padding: 2rem;
            max-width: 400px;
            width: 100%;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
        }

        .case-modal-title {
            color: #fff;
            font-size: 1.5rem;
            margin-bottom: 0.5rem;
            font-weight: 600;
        }

        .case-modal-text {
            color: rgba(255, 255, 255, 0.7);
            font-size: 0.95rem;
            margin-bottom: 1rem;
        }

        .case-modal-input {
            width: 100%;
            padding: 1rem;
            font-size: 1.1rem;
            border: 2px solid rgba(70, 174, 247, 0.3);
            border-radius: 8px;
            background: rgba(255, 255, 255, 0.05);
            color: #fff;
            margin-bottom: 0.5rem;
            outline: none;
            transition: border-color 0.2s;
        }

        .case-modal-input:focus {
            border-color: rgba(70, 174, 247, 0.8);
        }

        .case-modal-input::placeholder {
            color: rgba(255, 255, 255, 0.4);
        }

        .case-modal-hint {
            color: rgba(255, 255, 255, 0.5);
            font-size: 0.8rem;
            margin-bottom: 1.5rem;
        }

        .case-modal-buttons {
            display: flex;
            gap: 1rem;
        }

        .case-modal-btn {
            flex: 1;
            padding: 0.875rem 1.5rem;
            border-radius: 8px;
            font-size: 1rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.2s;
            border: none;
        }

        .case-modal-cancel {
            background: rgba(255, 255, 255, 0.1);
            color: rgba(255, 255, 255, 0.8);
        }

        .case-modal-cancel:hover {
            background: rgba(255, 255, 255, 0.2);
        }

        .case-modal-submit {
            background: linear-gradient(135deg, #46AEF7 0%, #46AEF7 100%);
            color: #fff;
        }

        .case-modal-submit:hover {
            transform: translateY(-2px);
            box-shadow: 0 5px 20px rgba(70, 174, 247, 0.4);
        }

        /* RNSD-204: Respond to dispute option buttons */
        .respond-option-btn {
            display: flex;
            align-items: center;
            gap: 1rem;
            width: 100%;
            padding: 1rem 1.25rem;
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.15);
            border-radius: 10px;
            color: #fff;
            font-size: 0.95rem;
            cursor: pointer;
            transition: all 0.2s ease;
            text-align: left;
        }
        .respond-option-btn:hover {
            background: rgba(70, 174, 247, 0.15);
            border-color: rgba(70, 174, 247, 0.4);
            transform: translateX(4px);
        }

        /* RNSD-205: Settlement Panel for Respondents */
        .settlement-panel {
            background: linear-gradient(135deg, rgba(30, 41, 59, 0.95), rgba(15, 23, 42, 0.95));
            border: 1px solid rgba(70, 174, 247, 0.3);
            border-radius: 16px;
            padding: 1.5rem;
            margin: 1rem 0;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
        }

        .settlement-header {
            font-size: 1.1rem;
            font-weight: 600;
            color: #fff;
            margin-bottom: 0.75rem;
            text-align: center;
        }

        .settlement-panel p {
            color: rgba(255, 255, 255, 0.7);
            font-size: 0.9rem;
            text-align: center;
            margin-bottom: 1rem;
        }

        .settlement-buttons {
            display: flex;
            gap: 0.75rem;
            justify-content: center;
            flex-wrap: wrap;
        }

        .settlement-btn {
            padding: 0.75rem 1.5rem;
            border-radius: 8px;
            font-size: 0.9rem;
            font-weight: 500;
            cursor: pointer;
            transition: all 0.2s ease;
            border: none;
        }

        .settlement-btn.primary {
            background: linear-gradient(135deg, #46AEF7, #2d8fd9);
            color: #fff;
        }

        .settlement-btn.primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(70, 174, 247, 0.4);
        }

        .settlement-btn.secondary {
            background: rgba(255, 255, 255, 0.1);
            color: rgba(255, 255, 255, 0.8);
            border: 1px solid rgba(255, 255, 255, 0.2);
        }

        .settlement-btn.secondary:hover {
            background: rgba(255, 255, 255, 0.15);
        }

        .settlement-options-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 0.75rem;
            margin-top: 1rem;
        }

        .settlement-option {
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 1rem;
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 12px;
            cursor: pointer;
            transition: all 0.2s ease;
            text-align: center;
        }

        .settlement-option:hover {
            background: rgba(70, 174, 247, 0.1);
            border-color: rgba(70, 174, 247, 0.3);
            transform: translateY(-2px);
        }

        .settlement-option .option-icon {
            font-size: 1.5rem;
            margin-bottom: 0.5rem;
        }

        .settlement-option .option-title {
            font-weight: 600;
            color: #fff;
            font-size: 0.9rem;
            margin-bottom: 0.25rem;
        }

        .settlement-option .option-desc {
            font-size: 0.75rem;
            color: rgba(255, 255, 255, 0.5);
        }

        @media (max-width: 480px) {
            .settlement-options-grid {
                grid-template-columns: 1fr;
            }
        }

        /* RNSD-074: Hero Eleanor Avatar - under the logo */
        .hero-eleanor-container {
            display: flex;
            flex-direction: column;
            align-items: center;
            margin-top: 1.5rem;
            margin-bottom: 1.5rem;
        }

        .hero-eleanor-avatar {
            width: 200px;
            height: 200px;
            border-radius: 50%;
            background: linear-gradient(135deg, #1a1a2e, #0f0f1a);
            border: 3px solid rgba(70, 174, 247, 0.7);  /* RNSD-102: SQUABBLE blue */
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 0 60px rgba(70, 174, 247, 0.4), 0 10px 40px rgba(0, 0, 0, 0.3);
            position: relative;
            cursor: pointer;
            transition: all 0.3s ease;
            overflow: hidden;
        }

        .hero-eleanor-avatar:hover {
            transform: scale(1.05);
            box-shadow: 0 0 80px rgba(70, 174, 247, 0.5), 0 15px 50px rgba(0, 0, 0, 0.4);
            border-color: rgba(70, 174, 247, 0.9);  /* RNSD-102: SQUABBLE blue */
        }

        .hero-eleanor-avatar .eleanor-video {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 50%;
        }

        .hero-eleanor-avatar svg {
            width: 60px;
            height: 60px;
            fill: rgba(70, 174, 247, 0.7);  /* RNSD-102: SQUABBLE blue */
        }

        .hero-eleanor-pulse {
            position: absolute;
            top: -5px; left: -5px; right: -5px; bottom: -5px;
            border-radius: 50%;
            border: 2px solid rgba(70, 174, 247, 0.4);  /* RNSD-102: SQUABBLE blue */
            animation: eleanorPulse 2s ease-in-out infinite;
        }

        .hero-eleanor-name {
            margin-top: 0.75rem;
            font-size: 1rem;
            color: rgba(255, 255, 255, 0.8);
            font-weight: 500;
            letter-spacing: 0.05em;
        }

        /* ===== SCROLL SECTIONS ===== */
        /* RNSD-060: Sections float above the river background */
        .scroll-section {
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            padding: 6rem 4rem;
            z-index: 2;
            /* Let river show through with subtle overlay */
            background: transparent;
        }

        /* Section 1: Hero - transparent to show river */
        .section-hero {
            background: transparent;
            flex-direction: column;
            text-align: center;
            padding-bottom: 8rem; /* Extra padding to keep content above fixed footer */
        }

        .hero-logo-huge {
            margin-bottom: 1rem;
        }

        .hero-logo-huge img {
            height: 500px;  /* RNSD-102: Bigger logo per feedback */
            width: auto;
        }

        .hero-tagline {
            font-size: 2.25rem;
            font-weight: 500;
            color: #fff;
            line-height: 1.2;
            margin-bottom: 1rem;
            margin-top: -1rem;
            letter-spacing: 0.02em;
            text-transform: lowercase;
        }

        .hero-subtitle {
            font-size: 1.25rem;
            color: #fff;
            text-shadow: 0 2px 10px rgba(0,0,0,0.5);
            max-width: 600px;
            margin: 0 auto 3rem;
            line-height: 1.6;
        }

        /* RNSD-074: Subtitle below CTA button */
        .hero-subtitle-below {
            font-size: 1rem;
            color: rgba(255, 255, 255, 0.85);
            text-shadow: 0 2px 10px rgba(0,0,0,0.5);
            margin: 1.25rem 0 0.75rem;
        }

        .scroll-indicator {
            position: absolute;
            bottom: 3rem;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.5rem;
            color: rgba(255,255,255,0.4);
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
        }

        .scroll-indicator svg {
            width: 24px;
            height: 24px;
            fill: currentColor;
            animation: bounce 2s ease-in-out infinite;
        }

        @keyframes bounce {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(8px); }
        }

        /* Section 2: How It Works - dark theme so river shows through */
        /* RNSD-060: Consistent dark theme lets river be visible throughout */
        .section-how-it-works {
            background: rgba(10, 15, 25, 0.75);
            backdrop-filter: blur(3px);
            color: #fff;
        }

        .section-content {
            max-width: 1200px;
            width: 100%;
        }

        .section-label {
            font-size: 0.8rem;
            text-transform: uppercase;
            letter-spacing: 0.15em;
            color: #46AEF7;
            margin-bottom: 1rem;
            font-weight: 600;
        }

        .section-title {
            font-size: 38px;
            font-weight: 800;
            line-height: 1.1;
            margin-bottom: 4rem;
            letter-spacing: -0.03em;
        }

        .steps-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 3rem;
        }

        .step-card {
            padding: 2rem;
            background: rgba(20, 30, 50, 0.4);
            border-radius: 12px;
            border: 1px solid rgba(70, 174, 247, 0.1);
        }

        .step-number {
            font-size: 5rem;
            font-weight:800;
            color: rgba(70, 174, 247, 0.3);
            line-height: 1;
            margin-bottom: 1rem;
        }

        .step-title {
            font-size: 1.5rem;
            font-weight: 700;
            margin-bottom: 1rem;
        }

        .step-desc {
            font-size: 1rem;
            color: rgba(255, 255, 255, 0.6);
            line-height: 1.6;
        }

        /* Section 3: Stats with image - transparent, river shows through */
        /* RNSD-060: Dark section lets river be fully visible */
        .section-stats {
            background: rgba(15, 15, 26, 0.7);
            backdrop-filter: blur(3px);
            padding: 0;
        }

        .stats-layout {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            width: 100%;
            min-height: 100vh;
            text-align: center;
        }

        .stats-content {
            padding: 6rem 4rem;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }

        .stats-image {
            display: none;
        }

        .stat-row {
            display: flex;
            gap: 4rem;
            margin-top: 3rem;
        }

        .stat-item {
            text-align: left;
        }

        .stat-value {
            font-size: 4rem;
            font-weight:800;
            color: #fff;
            line-height: 1;
        }

        .stat-label {
            font-size: 0.9rem;
            color: rgba(255,255,255,0.5);
            text-transform: uppercase;
            letter-spacing: 0.1em;
            margin-top: 0.5rem;
        }

        /* Section 4: Features - dark theme so river shows through */
        /* RNSD-060: Consistent dark theme lets river be visible throughout */
        .section-features {
            background: rgba(10, 15, 25, 0.75);
            backdrop-filter: blur(3px);
            color: #fff;
        }

        .features-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 2rem;
            margin-top: 3rem;
        }

        .feature-card {
            background: rgba(20, 30, 50, 0.6);
            padding: 3rem;
            border-radius: 16px;
            box-shadow: 0 4px 20px rgba(0,0,0,0.3);
            border: 1px solid rgba(70, 174, 247, 0.15);
            backdrop-filter: blur(5px);
            transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
        }
        .feature-card:hover {
            transform: translateY(-4px);
            border-color: rgba(70, 174, 247, 0.5);
            box-shadow: 0 8px 30px rgba(70,174,247,0.15);
        }
        /* RNSD-202: Improved step cards styling */
        .claim-step:hover {
            border-color: rgba(70, 174, 247, 0.5);
            transform: translateX(4px);
        }

        .feature-icon {
            width: 60px;
            height: 60px;
            background: linear-gradient(135deg, #46AEF7 0%, #46AEF7 100%);
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 1.5rem;
        }

        .feature-icon svg {
            width: 30px;
            height: 30px;
            fill: #fff;
        }

        .feature-title {
            font-size: 1.5rem;
            font-weight: 700;
            margin-bottom: 1rem;
        }

        .feature-desc {
            font-size: 1rem;
            color: rgba(255, 255, 255, 0.6);
            line-height: 1.6;
        }

        /* Section 5: Pricing inline - transparent, river shows through */
        /* RNSD-060: Dark section lets river be fully visible */
        .section-pricing {
            background: rgba(10, 10, 15, 0.75);
            backdrop-filter: blur(3px);
            color: #fff;
        }

        /* ===== RNSD-347: "Our Deal With Filers" Section - v2 ===== */
        .our-deal *{ box-sizing:border-box; margin:0; padding:0; -webkit-hyphens:none; hyphens:none; }
        .our-deal{
          --blue:#46AEF7; --blue-lite:#62BDFB; --blue-deep:#1F7FCC;
          --ink:#080D1A; --gray:#4A4E52; --body:#3A3F45; --muted:#5C6168;
          --ring:rgba(70,174,247,.55); --dash:rgba(70,174,247,.42);
          --font:'Nunito Sans',Inter,system-ui,-apple-system,'Segoe UI',sans-serif;
          position:relative; font-family:var(--font); color:var(--ink);
          -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow:hidden;
          padding:clamp(40px,6vw,72px) clamp(20px,5vw,64px) clamp(36px,5vw,56px);
          background:
            radial-gradient(60% 50% at 12% 18%, rgba(98,189,251,.10) 0%, transparent 60%),
            radial-gradient(55% 48% at 96% 88%, rgba(70,174,247,.07) 0%, transparent 58%),
            linear-gradient(180deg,#FFFFFF 0%,#F7FAFD 100%);
        }
        .our-deal::before{ content:''; position:absolute; left:0; right:0; top:0; height:1px;
          background:linear-gradient(90deg, transparent, rgba(70,174,247,.26), transparent); }
        .our-deal__inner{ max-width:1180px; margin:0 auto; }
        .our-deal__head{ text-align:center; max-width:760px; margin:0 auto; }
        .od-eyebrow{ font-weight:800; font-size:clamp(11.5px,1.3vw,13px); letter-spacing:.2em; text-transform:uppercase; color:var(--blue); }
        .our-deal__title{ font-weight:800; font-size:clamp(28px,3.9vw,44px); line-height:.97; letter-spacing:-.045em; color:var(--ink); margin-top:14px; text-wrap:balance; }
        .our-deal__title .accent{ color:var(--blue); }
        .our-deal__subhead{ font-weight:400; font-size:clamp(15px,1.8vw,18px); line-height:1.55; color:var(--muted); margin:16px auto 0; max-width:640px; text-wrap:balance; }
        .our-deal__subhead b{ color:var(--ink); font-weight:700; }
        .od-tile{ position:relative; display:flex; align-items:center; justify-content:center; flex:none; overflow:hidden;
          background:linear-gradient(155deg,#69C0FB 0%,#46AEF7 46%,#2E9CF0 100%);
          box-shadow:0 14px 24px -10px rgba(46,157,241,.5), 0 3px 7px -3px rgba(46,157,241,.42),
            inset 0 2px 1px rgba(255,255,255,.6), inset 0 -4px 8px rgba(18,108,178,.38), inset 0 0 0 1px rgba(255,255,255,.16); }
        .od-tile::before{ content:''; position:absolute; left:0; right:0; top:0; height:62%; border-radius:inherit;
          background:linear-gradient(180deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,.12) 45%, transparent 100%); }
        .od-tile svg{ position:relative; z-index:1; fill:#fff; filter:drop-shadow(0 1.5px 1.5px rgba(14,84,140,.45)); }
        .od-gnode{ position:relative; flex:none; border-radius:50%; background:#fff; border:2px solid var(--ring);
          box-shadow:0 0 0 6px rgba(70,174,247,.07), 0 0 26px rgba(70,174,247,.26), 0 12px 26px -14px rgba(46,157,241,.5);
          display:flex; align-items:center; justify-content:center; animation:od-pulse-lg 3.6s ease-in-out infinite; }
        @keyframes od-flow-x{ to{ background-position:14px 0; } }
        @keyframes od-flow-y{ to{ background-position:0 14px; } }
        @keyframes od-pulse-sm{
          0%,100%{ box-shadow:0 0 0 6px rgba(70,174,247,.06), 0 0 20px rgba(70,174,247,.22), 0 10px 22px -13px rgba(46,157,241,.5); }
          50%{ box-shadow:0 0 0 8px rgba(70,174,247,.11), 0 0 30px rgba(70,174,247,.34), 0 10px 22px -13px rgba(46,157,241,.5); } }
        @keyframes od-pulse-lg{
          0%,100%{ box-shadow:0 0 0 6px rgba(70,174,247,.07), 0 0 26px rgba(70,174,247,.26), 0 12px 26px -14px rgba(46,157,241,.5); }
          50%{ box-shadow:0 0 0 9px rgba(70,174,247,.12), 0 0 38px rgba(70,174,247,.40), 0 12px 26px -14px rgba(46,157,241,.5); } }
        .od-gnode svg{ fill:#2F9DF1; }
        .od-badge{ position:absolute; bottom:-7px; left:50%; transform:translateX(-50%); width:28px; height:28px; border-radius:50%;
          color:#fff; font-weight:800; font-size:13px; display:flex; align-items:center; justify-content:center;
          background:linear-gradient(150deg,#62BDFB,#2C9AEF);
          box-shadow:0 4px 9px -3px rgba(46,157,241,.6), inset 0 1.5px 1px rgba(255,255,255,.5); }
        .od-divider{ display:flex; align-items:center; gap:clamp(12px,2vw,22px); margin:clamp(32px,4.5vw,52px) auto clamp(26px,3.4vw,38px); }
        .od-divider::before,.od-divider::after{ content:''; flex:1; border-top:2px dashed var(--dash); }
        .od-divider span{ font-weight:800; font-size:clamp(11.5px,1.3vw,13px); letter-spacing:.16em; text-transform:uppercase; color:var(--blue); white-space:nowrap; flex:none; }
        .od-summary{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(16px,2.4vw,24px); max-width:780px; margin:clamp(28px,4vw,40px) auto 0; align-items:stretch; }
        .od-statcard{ background:#fff; border:1px solid #E7EEF5; border-radius:20px; padding:clamp(20px,3vw,28px);
          display:flex; flex-direction:column; align-items:center;
          box-shadow:0 24px 50px -34px rgba(28,44,66,.4), 0 6px 16px -12px rgba(28,44,66,.16); }
        .od-donut{ position:relative; width:clamp(190px,42vw,224px); aspect-ratio:1/1; }
        .od-donut svg{ width:100%; height:100%; display:block; transform:rotate(-90deg); }
        .od-arc{ fill:none; stroke-linecap:butt; transition:stroke-dashoffset 1.25s cubic-bezier(.22,.61,.36,1); }
        .od-donut__center{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; pointer-events:none; }
        .od-donut__big{ font-weight:800; font-size:clamp(40px,9vw,52px); line-height:1; letter-spacing:-.02em;
          background:linear-gradient(180deg,#62BDFB,#2C9AEF); -webkit-background-clip:text; background-clip:text; color:transparent; }
        .od-donut__sub{ font-weight:800; font-size:clamp(14px,1.9vw,16px); letter-spacing:-.02em; color:var(--ink); text-align:center; line-height:1.1; margin-top:4px; }
        .od-legend{ display:flex; flex-wrap:wrap; justify-content:center; gap:7px 14px; margin-top:clamp(14px,2vw,18px); }
        .od-chip{ display:flex; align-items:center; gap:8px; font-weight:700; font-size:13px; color:var(--gray); }
        .od-chip .sw{ width:12px; height:12px; border-radius:4px; flex:none; }
        .od-chip .sw.blue{ background:linear-gradient(150deg,#62BDFB,#2C9AEF); }
        .od-chip .sw.gray{ background:linear-gradient(150deg,#5B6066,#3C4045); }
        .od-chip small{ display:block; font-weight:400; font-size:11.5px; color:var(--muted); }
        .od-timecard{ justify-content:center; }
        .od-timecard .row{ display:flex; align-items:center; gap:clamp(14px,2vw,18px); }
        .od-timecard .od-tile{ width:clamp(52px,7vw,60px); height:clamp(52px,7vw,60px); border-radius:17px; }
        .od-timecard .od-tile svg{ width:54%; height:54%; }
        .od-timecard .lbl{ font-weight:400; font-size:14.5px; color:var(--muted); line-height:1.3; }
        .od-timecard .big{ font-weight:800; font-size:clamp(20px,2.8vw,24px); line-height:1.05; letter-spacing:-.025em; margin:3px 0;
          background:linear-gradient(180deg,#4FB3F9,#2F9DF1); -webkit-background-clip:text; background-clip:text; color:transparent; }
        /* ---- WHAT WE HANDLE : horizontal two-row stepper ---- */
        .od-handle{ max-width:1060px; margin:0 auto; display:flex; flex-direction:column; gap:clamp(28px,4vw,46px); }
        .od-hrow{ position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:clamp(8px,1.5vw,16px); }
        .od-hrow::before{ content:''; position:absolute; top:26px; left:10%; right:10%; height:2px; z-index:0;
          background-image:repeating-linear-gradient(to right, var(--dash) 0 7px, transparent 7px 14px); background-size:14px 2px;
          animation:od-flow-x 1.1s linear infinite; }
        .od-hstep{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
        .od-hnode{ width:54px; height:54px; border-radius:50%; background:#fff; border:2px solid var(--ring);
          color:#2F9DF1; font-weight:800; font-size:18px; display:flex; align-items:center; justify-content:center;
          box-shadow:0 0 0 6px rgba(70,174,247,.06), 0 0 20px rgba(70,174,247,.22), 0 10px 22px -13px rgba(46,157,241,.5);
          animation:od-pulse-sm 3.4s ease-in-out infinite; }
        .od-hstep p{ margin-top:13px; font-weight:700; font-size:clamp(13px,1.4vw,14.5px); line-height:1.3; color:#2A2F35; max-width:190px; }
        .od-hstep p .star{ color:var(--blue); font-weight:800; }
        /* ---- YOUR PART : horizontal glowing-node journey ---- */
        .od-journey{ position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(12px,2vw,24px); max-width:880px; margin:0 auto; }
        .od-journey::before{ content:''; position:absolute; top:47px; left:16.667%; right:16.667%; height:2px; z-index:0;
          background-image:repeating-linear-gradient(to right, var(--dash) 0 7px, transparent 7px 14px); background-size:14px 2px;
          animation:od-flow-x 1.3s linear infinite; }
        .od-jstep{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
        .od-jnode{ width:96px; height:96px; }
        .od-jnode svg{ width:42px; height:42px; }
        .od-jstep h4{ font-weight:800; font-size:clamp(15px,1.8vw,18px); line-height:1.1; letter-spacing:-.02em; margin-top:18px;
          background:linear-gradient(180deg,#4FB3F9,#2F9DF1); -webkit-background-clip:text; background-clip:text; color:transparent; }
        .od-jstep p{ font-weight:400; font-size:clamp(13.5px,1.55vw,15px); color:#33373C; line-height:1.4; margin-top:7px; max-width:240px; }
        .od-jstep p .ink{ color:var(--ink); font-weight:700; }
        .od-band{ display:flex; align-items:center; gap:clamp(14px,2.2vw,20px); max-width:760px; margin:clamp(34px,4.5vw,48px) auto 0;
          background:#fff; border:1px solid #EAF0F6; border-radius:999px;
          padding:clamp(14px,2vw,18px) clamp(20px,3vw,30px) clamp(14px,2vw,18px) clamp(14px,2vw,18px);
          box-shadow:0 28px 56px -36px rgba(28,44,66,.42), 0 8px 20px -14px rgba(28,44,66,.16); }
        .od-band .od-tile{ width:clamp(50px,7vw,58px); height:clamp(50px,7vw,58px); border-radius:16px; }
        .od-band .od-tile svg{ width:52%; height:52%; }
        .od-band p{ font-weight:400; font-size:clamp(15px,1.9vw,18px); color:#33373C; line-height:1.32; }
        .od-band p b{ color:var(--blue); font-weight:800; }
        .our-deal__footer{ text-align:center; font-weight:400; font-size:clamp(12px,1.4vw,13.5px); color:#9AA0A7;
          margin-top:clamp(22px,3vw,30px); max-width:820px; margin-left:auto; margin-right:auto; line-height:1.5; }
        .reveal{ opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s cubic-bezier(.22,.61,.36,1); }
        .reveal.in{ opacity:1; transform:none; }
        .od-hstep{ opacity:0; transform:translateY(12px); transition:opacity .5s ease, transform .5s cubic-bezier(.22,.61,.36,1); }
        .od-handle.in .od-hstep{ opacity:1; transform:none; }
        .od-jstep{ opacity:0; transform:translateY(12px); transition:opacity .55s ease, transform .55s cubic-bezier(.22,.61,.36,1); }
        .od-journey.in .od-jstep{ opacity:1; transform:none; }
        @media (prefers-reduced-motion:reduce){ .reveal,.od-hstep,.od-jstep,.od-arc{ transition:none !important; opacity:1 !important; transform:none !important; }
          .od-hnode,.od-gnode,.od-hrow::before,.od-journey::before,.od-jstep:not(:last-child)::before{ animation:none !important; } }
        @media (max-width:760px){
          .od-summary{ grid-template-columns:1fr; max-width:420px; }
          .od-divider{ margin:10px auto 14px; } /* Tighter on mobile */
          .od-handle{ gap:0; max-width:440px; }
          .od-hrow{ grid-template-columns:1fr 1fr; gap:0 clamp(10px,3vw,16px); }
          .od-hrow::before{ display:none; }
          .od-hstep{ padding:16px 4px; }
          .od-hstep p{ max-width:none; }
          .od-hrow .od-hstep:nth-child(5){ grid-column:1 / -1; }
          .od-journey{ grid-template-columns:1fr; gap:0; max-width:420px; }
          .od-journey::before{ display:none; }
          .od-jstep{ flex-direction:row; align-items:flex-start; text-align:left; gap:16px; padding:14px 0; }
          .od-jnode{ width:64px; height:64px; }
          .od-jnode svg{ width:30px; height:30px; }
          .od-jstep .od-badge{ width:24px; height:24px; font-size:12px; bottom:-6px; }
          .od-jstep__body{ padding-top:6px; }
          .od-jstep h4{ margin-top:0; }
          .od-jstep p{ max-width:none; }
          .od-jstep:not(:last-child)::before{ content:''; position:absolute; left:31px; top:64px; bottom:-14px; width:2px; z-index:0;
            background-image:repeating-linear-gradient(to bottom, var(--dash) 0 7px, transparent 7px 14px); background-size:2px 14px;
            animation:od-flow-y 1.1s linear infinite; }
          .od-band{ border-radius:24px; }
        }
        @media (max-width:380px){
          .our-deal{ padding-left:16px; padding-right:16px; }
          .od-hnode{ width:48px; height:48px; font-size:16px; }
          .od-hstep p{ font-size:13px; }
        }

        /* RNSD-306: Manual Entry Option */
        .old-fashioned-link {
            display: block;
            text-align: center;
            margin-top: 12px;
            font-size: 0.85rem;
            color: #94a3b8;
        }
        .old-fashioned-link a {
            color: #64748b;
            text-decoration: underline;
            transition: color 0.2s;
        }
        .old-fashioned-link a:hover {
            color: #46AEF7;
        }

        /* RNSD-307: Statute of Limitations Timer */
        .sol-timer-container {
            background: linear-gradient(135deg, #1a1a2e 0%, #0f172a 100%);
            border: 1px solid rgba(239, 68, 68, 0.3);
            border-radius: 16px;
            padding: 16px 20px;
            margin-top: 16px;
            display: none;
        }
        .sol-timer-container.show {
            display: block;
        }
        .sol-timer-header {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 12px;
        }
        .sol-timer-header svg {
            width: 18px;
            height: 18px;
            stroke: #ef4444;
            fill: none;
        }
        .sol-timer-header span {
            font-size: 0.8rem;
            font-weight: 600;
            color: #ef4444;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }
        .sol-timer-countdown {
            display: flex;
            gap: 12px;
            justify-content: center;
        }
        .sol-timer-unit {
            text-align: center;
            min-width: 60px;
        }
        .sol-timer-unit .value {
            font-size: 1.8rem;
            font-weight: 800;
            color: #fff;
            line-height: 1;
        }
        .sol-timer-unit .label {
            font-size: 0.7rem;
            color: #94a3b8;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            margin-top: 4px;
        }
        .sol-timer-unit .separator {
            font-size: 1.5rem;
            color: #64748b;
            font-weight: 300;
        }
        .sol-timer-note {
            text-align: center;
            margin-top: 12px;
            font-size: 0.75rem;
            color: #64748b;
            line-height: 1.4;
        }
        .sol-timer-note a {
            color: #46AEF7;
            text-decoration: none;
        }

        /* Mobile responsive */
        @media (max-width: 1024px) {
            .six-minutes-content {
                grid-template-columns: 1fr;
                gap: 30px;
            }
            .pie-chart-col {
                flex-direction: row;
                flex-wrap: wrap;
                justify-content: center;
                gap: 30px;
            }
            .upfront-badge {
                margin-top: 0;
            }
        }
        @media (max-width: 768px) {
            .six-minutes-section {
                padding: 50px 20px;
            }
            .six-minutes-header h2 {
                font-size: 2rem;
            }
            .pie-container {
                width: 180px;
                height: 180px;
            }
            .pie-center .big-percent {
                font-size: 2.5rem;
            }
            .six-minutes-timeline {
                flex-direction: column;
                gap: 20px;
                padding: 0;
            }
            .timeline-line {
                display: none;
            }
            .timeline-item {
                max-width: 100%;
            }
        }

        /* Mobile hero logo - hidden on desktop */
        .hero-mobile-logo { display: none; }

        /* Legacy elements - hide */
        .hero { display: none; }
        .eleanor-video-container { display: none; }

        /* Override: Show hero in Why Squabble section */
        .sq-why .hero { display: flex !important; }

        .eleanor-video-ring {
            position: absolute;
            top: -4px; left: -4px; right: -4px; bottom: -4px;
            border-radius: 50%;
            background: conic-gradient(from 0deg, #46AEF7, #46AEF7, #ec4899, #46AEF7, #46AEF7);
            animation: ring-rotate 4s linear infinite;
            z-index: 0;
        }

        /* Outer glow rings */
        .eleanor-video-container::before {
            content: '';
            position: absolute;
            top: -20px; left: -20px; right: -20px; bottom: -20px;
            border-radius: 50%;
            border: 1px solid rgba(70, 174, 247, 0.3);
            animation: pulseRing 3s ease-in-out infinite;
        }

        .eleanor-video-container::after {
            content: '';
            position: absolute;
            top: -40px; left: -40px; right: -40px; bottom: -40px;
            border-radius: 50%;
            border: 1px solid rgba(70, 174, 247, 0.2);
            animation: pulseRing 3s ease-in-out infinite 0.5s;
        }

        @keyframes pulseRing {
            0%, 100% { transform: scale(1); opacity: 0.5; }
            50% { transform: scale(1.05); opacity: 1; }
        }

        @keyframes ring-rotate {
            from { transform: rotate(0deg); }
            to { transform: rotate(360deg); }
        }

        .eleanor-video-glow {
            position: absolute;
            top: -30px; left: -30px; right: -30px; bottom: -30px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(70, 174, 247, 0.10) 0%, transparent 70%);
            animation: glow-pulse 4s ease-in-out infinite;
            z-index: -1;
        }

        @keyframes glow-pulse {
            0%, 100% { opacity: 0.28; transform: scale(1); }
            50% { opacity: 0.49; transform: scale(1.05); }
        }

        .eleanor-video-inner {
            position: relative;
            width: 100%;
            height: 100%;
            border-radius: 50%;
            overflow: hidden;
            background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
            box-shadow: 0 20px 60px rgba(70, 174, 247, 0.21), 0 8px 20px rgba(0, 0, 0, 0.4), inset 0 0 60px rgba(70, 174, 247, 0.07);
            z-index: 1;
        }

        .eleanor-video-inner video,
        .eleanor-video-inner img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        /* Placeholder avatar - Futuristic dark */
        .eleanor-placeholder {
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, #1a1a2e 0%, #0f0f1a 100%);
        }

        .eleanor-placeholder svg {
            width: 120px;
            height: 120px;
            fill: rgba(70, 174, 247, 0.5);
            filter: drop-shadow(0 0 20px rgba(70, 174, 247, 0.3));
            animation: placeholderPulse 2s ease-in-out infinite;
        }

        @keyframes placeholderPulse {
            0%, 100% { opacity: 0.5; transform: scale(1); }
            50% { opacity: 0.8; transform: scale(1.05); }
        }

        /* Hero text - Futuristic */
        .hero-text {
            max-width: 700px;
            margin-bottom: 2.5rem;
        }

        .hero-title {
            font-size: 3rem;
            font-weight: 700;
            line-height: 1.3;
            color: #ffffff;
            margin-bottom: 1rem;
            letter-spacing: -0.02em;
            text-shadow: 0 0 40px rgba(70, 174, 247, 0.3);
        }

        .hero-title .gradient-text {
            background: linear-gradient(135deg, #46AEF7 0%, #46AEF7 50%, #c084fc 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            animation: textGlow 3s ease-in-out infinite;
        }

        @keyframes textGlow {
            0%, 100% { filter: drop-shadow(0 0 10px rgba(70, 174, 247, 0.3)); }
            50% { filter: drop-shadow(0 0 20px rgba(70, 174, 247, 0.6)); }
        }

        .typing-text {
            font-size: 1.15rem;
            color: rgba(255, 255, 255, 0.7);
            line-height: 1.7;
            min-height: 50px;
            transition: opacity 0.4s ease;
        }

        .typing-cursor {
            display: inline-block;
            width: 2px;
            height: 1.2em;
            background: linear-gradient(180deg, #46AEF7, #46AEF7);
            margin-left: 2px;
            animation: cursor-blink 1s step-end infinite;
            vertical-align: text-bottom;
            box-shadow: 0 0 10px rgba(70, 174, 247, 0.5);
        }

        @keyframes cursor-blink {
            0%, 100% { opacity: 1; }
            50% { opacity: 0; }
        }

        /* RNSD-072: CTA Button - matches link color */
        .btn-cta {
            display: inline-block;
            padding: 1.25rem 3rem;
            background: #46AEF7;
            color: white;
            font-size: 1.1rem;
            font-weight: 600;
            border: none;
            border-radius: 999px;
            cursor: pointer;
            transition: transform 0.2s ease, box-shadow 0.2s ease;
            box-shadow: 0 4px 20px rgba(70, 174, 247, 0.4);
        }

        .btn-cta:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 30px rgba(70, 174, 247, 0.5);
        }

        /* My Cases Link - Futuristic */
        .my-cases-link {
            display: block;
            margin-top: 1.5rem;
            color: rgba(255, 255, 255, 0.6);
            font-size: 0.9rem;
            text-decoration: none;
            transition: all 0.3s ease;
        }

        .my-cases-link:hover {
            color: rgba(255, 255, 255, 0.9);
            text-shadow: 0 0 10px rgba(70, 174, 247, 0.5);
        }

        .my-cases-link span {
            color: #46AEF7;
            font-weight: 500;
        }

        /* RNSD-204: Respond to dispute link */
        .respond-link {
            display: block;
            margin-top: 1rem;
            color: rgba(255, 255, 255, 0.5);
            font-size: 0.85rem;
            text-decoration: none;
            transition: all 0.3s ease;
        }
        .respond-link:hover {
            color: rgba(255, 255, 255, 0.85);
            text-shadow: 0 0 10px rgba(70, 174, 247, 0.4);
        }
        .respond-link span {
            color: #46AEF7;
            font-weight: 500;
        }

        /* Stats Section - Futuristic Glass */
        .stats-section {
            display: flex;
            gap: 1.5rem;
            margin-top: 3.5rem;
            flex-wrap: wrap;
            justify-content: center;
        }

        .stat-card {
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(70, 174, 247, 0.2);
            border-radius: 16px;
            padding: 1.5rem 2.5rem;
            text-align: center;
            transition: all 0.3s ease;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2), inset 0 0 30px rgba(70, 174, 247, 0.03);
            backdrop-filter: blur(10px);
            position: relative;
            overflow: hidden;
        }

        .stat-card::before {
            content: '';
            position: absolute;
            top: 0; left: -100%;
            width: 100%; height: 100%;
            background: linear-gradient(90deg, transparent, rgba(70, 174, 247, 0.1), transparent);
            animation: cardShimmer 4s ease-in-out infinite;
        }

        @keyframes cardShimmer {
            0%, 100% { left: -100%; }
            50% { left: 100%; }
        }

        .stat-card:hover {
            border-color: rgba(70, 174, 247, 0.4);
            transform: translateY(-6px);
            box-shadow: 0 12px 40px rgba(70, 174, 247, 0.3), inset 0 0 40px rgba(70, 174, 247, 0.05);
        }

        .stat-value {
            font-size: 2.25rem;
            font-weight: 700;
            background: linear-gradient(135deg, #ffffff 0%, #c7d2fe 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            margin-bottom: 0.25rem;
            position: relative;
            z-index: 1;
        }

        .stat-label {
            font-size: 0.8rem;
            color: rgba(255, 255, 255, 0.6);
            text-transform: uppercase;
            letter-spacing: 0.08em;
            font-weight: 500;
            position: relative;
            z-index: 1;
        }

        /* Mobile responsive for long-scroll landing */
        @media (max-width: 768px) {
            .landing-header {
                padding: 1rem 1.5rem;
            }
            .landing-logo-img {
                height: 80px;
            }
            .landing-nav {
                display: none;
            }
            .scroll-section {
                padding: 4rem 1.5rem;
            }
            .hero-logo-huge img {
                height: 220px;  /* RNSD-102: Bigger logo on mobile */
            }
            .hero-tagline {
                font-size: 1.75rem;
            }
            .hero-subtitle {
                font-size: 1rem;
            }
            .section-title {
                font-size: 2rem;
            }
            .steps-grid {
                grid-template-columns: 1fr;
                gap: 2rem;
            }
            .step-number {
                font-size: 3rem;
            }
            .stats-layout {
                grid-template-columns: 1fr;
            }
            .stats-image {
                display: none;
            }
            .stats-content {
                padding: 4rem 1.5rem;
            }
            .stat-row {
                flex-wrap: wrap;
                gap: 2rem;
            }
            .stat-value {
                font-size: 2.5rem;
            }
            .features-grid {
                grid-template-columns: 1fr;
            }
            /* RNSD-201: Mobile responsive for new landing sections */
            .section-why-squabble .section-content,
            .section-claim-type .section-content {
                grid-template-columns: 1fr !important;
                gap: 2rem !important;
                text-align: center;
            }
            .section-why-squabble .why-left h2,
            .section-claim-type .claim-left h2 {
                font-size: 2rem !important;
            }
            .section-why-squabble .why-left,
            .section-claim-type .claim-left {
                text-align: center;
            }
            .section-why-squabble .why-left > div,
            .section-claim-type .claim-left > div {
                justify-content: center;
            }
            .section-nationwide .features-grid {
                grid-template-columns: 1fr 1fr !important;
            }
            /* RNSD-203: Fix claim step cards - stack vertically on mobile */
            .claim-step {
                flex-direction: column !important;
                align-items: stretch !important;
                gap: 0.75rem !important;
            }
            .claim-step > div:first-child {
                align-self: flex-start;
            }
            .claim-step p {
                text-align: left !important;
            }
            /* Fix buttons layout on mobile */
            .claim-left > div:last-child {
                flex-direction: column;
                gap: 0.75rem;
            }
            .claim-left > div:last-child a {
                text-align: center;
            }
            .btn-cta {
                padding: 1rem 2rem;
                font-size: 1rem;
            }
            /* RNSD-079: Hide scroll indicator on mobile - causes overlap */
            .scroll-indicator {
                display: none;
            }
            /* RNSD-079: Stack footer vertically on mobile */
            .landing-footer {
                padding: 2rem 1.5rem !important;
            }
            .landing-footer > div:first-child {
                grid-template-columns: 1fr !important;
                gap: 2rem !important;
                text-align: center !important;
            }
            .landing-footer > div:first-child > div:first-child > div:last-child {
                justify-content: center !important;
            }
            /* RNSD-301: New scroll sections mobile responsive */
            .section-stats .stats-grid {
                grid-template-columns: 1fr !important;
                gap: 1.5rem !important;
            }
            .section-stats .stat-number {
                font-size: 3rem !important;
            }
            .section-not-alone .claim-types-grid {
                grid-template-columns: 1fr 1fr !important;
                gap: 1rem !important;
            }
            .section-easy-filing .section-content {
                grid-template-columns: 1fr !important;
                gap: 2rem !important;
            }
            .section-easy-filing .easy-left {
                text-align: center;
            }
            .section-easy-filing .easy-left h2 {
                font-size: 2rem !important;
            }
            .section-how-helps .help-grid {
                grid-template-columns: 1fr !important;
                gap: 1.5rem !important;
            }
            /* RNSD-250: Improved testimonial mobile layout */
            .section-testimonial .section-content {
                padding: 2rem 1rem !important;
            }
            .section-testimonial .testimonial-card {
                padding: 1.5rem 1.25rem !important;
            }
            .section-testimonial .testimonial-quote {
                font-size: 2.5rem !important;
                margin-bottom: 0.5rem !important;
            }
            .section-testimonial p {
                font-size: 1rem !important;
                line-height: 1.6 !important;
                margin: 0.75rem 0 1.25rem !important;
            }
            .section-testimonial .testimonial-author {
                gap: 0.75rem !important;
            }
            .section-testimonial .testimonial-avatar {
                width: 44px !important;
                height: 44px !important;
                font-size: 1rem !important;
            }
            .section-testimonial .testimonial-name {
                font-size: 0.95rem !important;
            }
            .section-testimonial .testimonial-details {
                font-size: 0.8rem !important;
            }
            .section-nationwide .features-grid {
                grid-template-columns: 1fr !important;
            }
            .section-payments .section-content {
                flex-direction: column !important;
                gap: 1rem !important;
            }
            .section-payments .section-content > div {
                flex-wrap: wrap !important;
                justify-content: center !important;
            }
        }

        /* Extra small screens */
        @media (max-width: 380px) {
            .hero-tagline {
                font-size: 1.5rem;
            }
            .section-title {
                font-size: 1.75rem;
            }
            .btn-cta {
                padding: 0.875rem 1.5rem;
                font-size: 0.9rem;
            }
            .stat-value {
                font-size: 1.2rem;
            }
            .stat-card {
                padding: 0.6rem 0.75rem;
            }
            /* RNSD-201: Single column features on extra small screens */
            .section-nationwide .features-grid {
                grid-template-columns: 1fr !important;
            }
        }

        /* ============ PRICING PAGE ============ */
        .pricing-page {
            display: none;
            min-height: 100vh;
            background: #f8fafc;
            position: relative;
            overflow: hidden;
        }

        /* Subtle pattern for pricing page */
        .pricing-page::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0; bottom: 0;
            background-image:
                linear-gradient(rgba(70, 174, 247, 0.05) 1px, transparent 1px),
                linear-gradient(90deg, rgba(70, 174, 247, 0.05) 1px, transparent 1px);
            background-size: 60px 60px;
            z-index: 0;
        }

        .pricing-page.active {
            display: block;
        }

        .pricing-content {
            position: relative;
            z-index: 2;
            padding: 8rem 2rem 4rem;
            max-width: 1200px;
            margin: 0 auto;
        }

        .pricing-header {
            text-align: center;
            margin-bottom: 3rem;
        }

        .pricing-logo {
            height: 60px;
            width: auto;
            margin-bottom: 1rem;
        }

        .pricing-title {
            font-size: 2.5rem;
            font-weight: 700;
            color: #1a1a2e;
            margin-bottom: 1rem;
        }

        .pricing-subtitle {
            font-size: 1.125rem;
            color: #4a5568;
            max-width: 600px;
            margin: 0 auto;
        }

        .pricing-subtitle strong {
            color: #1a1a2e;
        }

        .pricing-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2rem;
            margin-top: 3rem;
        }

        .pricing-card {
            background: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 24px;
            padding: 2rem;
            position: relative;
            transition: all 0.3s ease;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
        }

        .pricing-card:hover {
            box-shadow: 0 12px 40px rgba(70, 174, 247, 0.15);
            transform: translateY(-4px);
            border-color: #46AEF7;
        }

        .pricing-card.popular {
            border-color: #46AEF7;
            background: linear-gradient(135deg, rgba(70, 174, 247, 0.08) 0%, rgba(70, 174, 247, 0.04) 100%);
            box-shadow: 0 8px 30px rgba(70, 174, 247, 0.15);
        }

        .popular-badge {
            position: absolute;
            top: -12px;
            left: 50%;
            transform: translateX(-50%);
            background: linear-gradient(135deg, #46AEF7 0%, #46AEF7 100%);
            color: white;
            padding: 0.5rem 1.5rem;
            border-radius: 20px;
            font-size: 0.75rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        /* RNSD-103/1048: recommended banner - canon $2,500+ threshold (RNSD-1134) */
        .recommended-banner {
            position: absolute;
            top: -12px;
            left: 50%;
            transform: translateX(-50%);
            background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
            color: white;
            padding: 0.5rem 1.25rem;
            border-radius: 20px;
            font-size: 0.7rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            white-space: nowrap;
            box-shadow: 0 4px 15px rgba(220, 38, 38, 0.4);
            animation: pulse-red 2s ease-in-out infinite;
        }

        @keyframes pulse-red {
            0%, 100% { box-shadow: 0 4px 15px rgba(220, 38, 38, 0.4); }
            50% { box-shadow: 0 4px 25px rgba(220, 38, 38, 0.6); }
        }

        .plan-icon {
            width: 48px;
            height: 48px;
            background: rgba(70, 174, 247, 0.2);
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 1rem;
        }

        .plan-icon svg {
            width: 24px;
            height: 24px;
            fill: #46AEF7;
        }

        /* RNSD-401: Agent photo for DCA panel */
        .agent-photo-wrapper {
            width: 80px;
            height: 80px;
            border-radius: 16px;
            padding: 3px;
            background: linear-gradient(135deg, #E6EAF0 0%, #4A4E52 50%, #E6EAF0 100%);
            margin: 0 auto 1rem auto;
        }
        .agent-photo-wrapper img {
            width: 100%;
            height: 100%;
            border-radius: 14px;
            object-fit: cover;
        }

        .plan-name {
            font-size: 1.5rem;
            font-weight: 700;
            color: #1a1a2e;
            margin-bottom: 0.5rem;
        }

        .plan-price {
            margin-bottom: 0.5rem;
        }

        .plan-price .amount {
            font-size: 3rem;
            font-weight: 700;
            color: #1a1a2e;
        }

        .plan-price .original {
            font-size: 1.25rem;
            color: #94a3b8;
            text-decoration: line-through;
            margin-right: 0.5rem;
        }

        .plan-type {
            font-size: 0.875rem;
            color: #64748b;
            margin-bottom: 1.5rem;
        }

        .plan-cta {
            width: 100%;
            padding: 1rem;
            background: linear-gradient(135deg, #46AEF7 0%, #46AEF7 100%);
            color: white;
            font-size: 1rem;
            font-weight: 600;
            border: none;
            border-radius: 12px;
            cursor: pointer;
            transition: all 0.3s ease;
            margin-bottom: 1.5rem;
        }

        .plan-cta:hover {
            transform: scale(1.02);
            box-shadow: 0 0 30px rgba(70, 174, 247, 0.4);
        }

        .plan-description {
            font-size: 0.875rem;
            color: #4a5568;
            margin-bottom: 1.5rem;
            line-height: 1.5;
        }

        .plan-features {
            list-style: none;
        }

        .plan-features li {
            display: flex;
            align-items: flex-start;
            gap: 0.75rem;
            padding: 0.5rem 0;
            font-size: 0.875rem;
            color: #4a5568;
        }

        .plan-features li svg {
            width: 18px;
            height: 18px;
            flex-shrink: 0;
            margin-top: 2px;
        }

        .plan-features li svg.check {
            fill: #10b981;
        }

        .plan-features li svg.star {
            fill: #f59e0b;
        }

        .plan-features li.highlight {
            color: #46AEF7;
        }

        .pricing-footer {
            text-align: center;
            margin-top: 3rem;
            padding-top: 2rem;
            border-top: 1px solid #e2e8f0;
        }

        .pricing-disclaimer {
            font-size: 0.75rem;
            color: rgba(255, 255, 255, 0.4);
            max-width: 800px;
            margin: 0 auto 2rem;
            line-height: 1.6;
        }

        .payment-methods {
            display: flex;
            justify-content: center;
            gap: 1rem;
            align-items: center;
            flex-wrap: wrap;
        }

        .payment-methods img {
            height: 30px;
            opacity: 0.7;
            transition: opacity 0.2s;
        }

        .payment-methods img:hover {
            opacity: 1;
        }

        .back-link {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            color: #64748b;
            text-decoration: none;
            font-size: 0.875rem;
            margin-bottom: 2rem;
            transition: all 0.3s ease;
        }

        .back-link:hover {
            color: #46AEF7;
        }

        .back-link svg {
            width: 16px;
            height: 16px;
            fill: currentColor;
        }

        @media (max-width: 968px) {
            .pricing-grid {
                grid-template-columns: 1fr;
                max-width: 400px;
                margin: 3rem auto 0;
            }
            .pricing-card.popular {
                order: -1;
            }
        }

        /* ============ CHECKOUT MODAL - LIGHT THEME ============ */
        .checkout-modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.5);
            z-index: 10000;
            justify-content: center;
            align-items: center;
            padding: 1rem;
            overflow-y: auto;
        }
        .checkout-modal.active {
            display: flex;
        }
        .checkout-content {
            background: #ffffff;
            border: 1px solid #E3EAF2;
            border-radius: 20px;
            max-width: 550px;
            width: 100%;
            max-height: 90vh;
            overflow-y: auto;
            box-shadow: 0 25px 60px -12px rgba(0, 0, 0, 0.25);
            font-family: 'Nunito Sans', system-ui, sans-serif;
        }
        .checkout-header {
            padding: 1.5rem 1.5rem 1rem;
            border-bottom: 1px solid #E3EAF2;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .checkout-header h2 {
            color: #080D1A;
            font-size: 1.35rem;
            font-weight: 800;
            margin: 0;
        }
        .checkout-close {
            background: none;
            border: none;
            color: #9CA3AF;
            cursor: pointer;
            font-size: 1.5rem;
            padding: 0.25rem;
            line-height: 1;
            transition: color 0.2s;
        }
        .checkout-close:hover {
            color: #080D1A;
        }
        .checkout-body {
            padding: 1.5rem;
        }
        .checkout-plan-name {
            color: #46AEF7;
            font-size: 1.2rem;
            font-weight: 800;
            margin-bottom: 1.5rem;
            text-align: center;
        }

        /* Fee Breakdown */
        .fee-breakdown {
            background: #F8FAFC;
            border: 1px solid #E3EAF2;
            border-radius: 12px;
            padding: 1rem 1.25rem;
            margin-bottom: 1.5rem;
        }
        .fee-line {
            display: flex;
            justify-content: space-between;
            padding: 0.6rem 0;
            color: #374151;
            font-size: 0.95rem;
            font-weight: 500;
        }
        .fee-line.additional {
            color: #6B7280;
            font-size: 0.9rem;
            padding-left: 1rem;
        }
        .fee-line.total {
            border-top: 1px solid #E3EAF2;
            margin-top: 0.5rem;
            padding-top: 1rem;
            font-weight: 800;
            color: #080D1A;
            font-size: 1.15rem;
        }
        .fee-amount {
            font-weight: 700;
            color: #080D1A;
        }

        /* Signature Section */
        .signature-section {
            margin-bottom: 1.5rem;
        }
        .signature-label {
            color: #374151;
            font-size: 0.95rem;
            font-weight: 600;
            margin-bottom: 0.75rem;
            display: block;
        }
        .signature-canvas-container {
            border: 2px dashed #46AEF7;
            border-radius: 12px;
            background: #F8FAFC;
            position: relative;
        }
        .signature-canvas {
            width: 100%;
            height: 120px;
            cursor: crosshair;
            display: block;
            touch-action: none;
            background: transparent;
        }
        .signature-placeholder {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            color: #9CA3AF;
            font-size: 0.9rem;
            pointer-events: none;
        }
        .signature-actions {
            display: flex;
            justify-content: flex-end;
            gap: 0.5rem;
            margin-top: 0.5rem;
        }
        .signature-clear {
            background: #ffffff;
            border: 1px solid #E3EAF2;
            color: #6B7280;
            padding: 0.5rem 1rem;
            border-radius: 8px;
            font-size: 0.85rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.2s;
        }
        .signature-clear:hover {
            border-color: #46AEF7;
            color: #46AEF7;
        }

        /* Checkout Add-on Services */
        .checkout-addons {
            margin: 1.5rem 0;
            padding: 1.25rem;
            background: #F8FAFC;
            border: 1px solid #E3EAF2;
            border-radius: 12px;
        }
        .checkout-addons-title {
            font-size: 0.95rem;
            font-weight: 700;
            color: #080D1A;
            margin-bottom: 0.75rem;
        }
        .checkout-addon-item {
            display: flex;
            align-items: flex-start;
            gap: 0.75rem;
            padding: 0.85rem 0;
            border-bottom: 1px solid #E3EAF2;
            cursor: pointer;
        }
        .checkout-addon-item:last-child {
            border-bottom: none;
        }
        .checkout-addon-item input[type="checkbox"] {
            margin-top: 3px;
            accent-color: #46AEF7;
            width: 18px;
            height: 18px;
            cursor: pointer;
        }
        .checkout-addon-info {
            flex: 1;
        }
        .checkout-addon-name {
            font-size: 0.95rem;
            color: #080D1A;
            font-weight: 600;
        }
        .checkout-addon-desc {
            font-size: 0.8rem;
            color: #6B7280;
            margin-top: 0.25rem;
            line-height: 1.4;
        }
        .checkout-addon-price {
            font-size: 0.95rem;
            font-weight: 700;
            color: #46AEF7;
        }

        /* Checkout Disclaimers */
        .checkout-disclaimers {
            margin: 1.5rem 0;
            padding: 1rem 1.25rem;
            background: #FFFBEB;
            border: 1px solid #FDE68A;
            border-radius: 12px;
            font-size: 0.75rem;
            color: #78716C;
            line-height: 1.6;
        }
        .checkout-disclaimers strong {
            color: #57534E;
            font-weight: 700;
        }

        /* Checkout Consent */
        .checkout-consent {
            margin-bottom: 1.5rem;
        }
        .checkout-consent label {
            display: flex;
            align-items: flex-start;
            gap: 0.75rem;
            color: #374151;
            font-size: 0.9rem;
            cursor: pointer;
            margin-bottom: 0.85rem;
            line-height: 1.4;
        }
        .checkout-consent input[type="checkbox"] {
            margin-top: 2px;
            accent-color: #46AEF7;
            min-width: 18px;
            min-height: 18px;
        }
        .checkout-consent a {
            color: #46AEF7;
            text-decoration: none;
            font-weight: 600;
        }
        .checkout-consent a:hover {
            text-decoration: underline;
        }

        /* Payment Button */
        .checkout-pay-btn {
            width: 100%;
            background: #080D1A;
            border: none;
            color: #ffffff;
            padding: 1.1rem;
            border-radius: 12px;
            font-size: 1rem;
            font-weight: 700;
            cursor: pointer;
            transition: all 0.2s ease;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 0.5rem;
            font-family: 'Nunito Sans', system-ui, sans-serif;
        }
        .checkout-pay-btn:hover:not(:disabled) {
            background: #1a2744;
            transform: translateY(-2px);
            box-shadow: 0 10px 25px rgba(8, 13, 26, 0.25);
        }
        .checkout-pay-btn:disabled {
            opacity: 0.5;
            cursor: not-allowed;
        }
        .checkout-pay-btn svg {
            width: 18px;
            height: 18px;
            fill: currentColor;
        }

        .checkout-error {
            color: #DC2626;
            font-size: 0.85rem;
            margin-top: 0.75rem;
            display: none;
            font-weight: 500;
        }

        .checkout-secure-note {
            text-align: center;
            margin-top: 1rem;
            color: #9CA3AF;
            font-size: 0.8rem;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 0.5rem;
        }
        .checkout-secure-note svg {
            width: 14px;
            height: 14px;
            fill: currentColor;
        }

        /* ============ CHAT APP - LIGHT THEME INTAKE ============ */
        .chat-app {
            display: none;
            min-height: 100vh;
            background: linear-gradient(180deg, #f8fafc 0%, #eef4f9 50%, #e8f4fd 100%);
        }

        .chat-app.active {
            display: block;
        }

        /* RNSD-410: Chat Header Navigation */
        .chat-header-nav {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 14px 24px;
            background: #fff;
            border-bottom: 1px solid rgba(0,0,0,0.06);
            position: sticky;
            top: 0;
            z-index: 1000;
        }
        .chat-header-nav .header-logo-img { height: 36px; }
        .chat-header-nav .header-nav {
            display: flex;
            align-items: center;
            gap: 24px;
        }
        .chat-header-nav .header-nav > a {
            font-weight: 700;
            font-size: 14px;
            color: #1a1a2e;
            text-decoration: none;
            transition: color 0.2s;
        }
        .chat-header-nav .header-nav > a:hover { color: #46AEF7; }
        .chat-header-nav .nav-dropdown { position: relative; }
        .chat-header-nav .nav-dropdown-toggle {
            display: flex;
            align-items: center;
            gap: 4px;
            background: none;
            border: none;
            font-family: inherit;
            font-weight: 700;
            font-size: 14px;
            color: #1a1a2e;
            cursor: pointer;
        }
        .chat-header-nav .nav-dropdown-toggle svg { width: 14px; height: 14px; }
        .chat-header-nav .nav-dropdown-toggle:hover { color: #46AEF7; }
        .chat-header-nav .nav-dropdown-menu {
            display: none;
            position: absolute;
            top: 100%;
            left: 0;
            margin-top: 8px;
            background: #fff;
            border: 1px solid rgba(0,0,0,0.08);
            border-radius: 12px;
            padding: 8px 0;
            min-width: 180px;
            box-shadow: 0 10px 40px rgba(0,0,0,0.1);
        }
        .chat-header-nav .nav-dropdown:hover .nav-dropdown-menu { display: block; }
        .chat-header-nav .nav-dropdown-menu a {
            display: block;
            padding: 10px 16px;
            font-weight: 600;
            font-size: 13px;
            color: #1a1a2e;
            text-decoration: none;
        }
        .chat-header-nav .nav-dropdown-menu a:hover {
            background: rgba(70,174,247,0.08);
            color: #46AEF7;
        }
        .chat-header-nav .header-actions {
            display: flex;
            align-items: center;
            gap: 12px;
        }
        .chat-header-nav .header-login-btn {
            font-weight: 800;
            font-size: 14px;
            color: #1a1a2e;
            background: none;
            border: 2px solid #46AEF7;
            border-radius: 8px;
            padding: 8px 16px;
            cursor: pointer;
            transition: all 0.2s;
        }
        .chat-header-nav .header-login-btn:hover {
            background: #46AEF7;
            color: #fff;
        }
        .chat-header-nav .header-cta {
            background: #46AEF7;
            color: #fff;
            padding: 10px 18px;
            font-size: 14px;
            font-weight: 800;
            border-radius: 10px;
            border: none;
            cursor: pointer;
            transition: all 0.2s;
        }
        .chat-header-nav .header-cta:hover {
            background: #2d9ae8;
            transform: translateY(-1px);
        }
        @media (max-width: 768px) {
            .chat-header-nav { padding: 12px 16px; }
            .chat-header-nav .header-nav { display: none; }
            .chat-header-nav .header-logo-img { height: 28px; }
            .chat-header-nav .header-cta { display: none; }
        }

        .landing-page.hidden {
            display: none;
        }

        .bg-gradient {
            position: fixed;
            top: 0; left: 0; right: 0; bottom: 0;
            background:
                radial-gradient(ellipse at 20% 0%, rgba(70, 174, 247, 0.12) 0%, transparent 50%),
                radial-gradient(ellipse at 80% 100%, rgba(70, 174, 247, 0.08) 0%, transparent 50%),
                radial-gradient(ellipse at 50% 50%, rgba(70, 174, 247, 0.03) 0%, transparent 70%);
            z-index: 0;
            pointer-events: none;
        }

        /* ============ DARK MODE TOGGLE ============ */
        .theme-toggle-inline {
            position: absolute;
            top: 130px;
            right: 24px;
            z-index: 100;
            display: flex;
            align-items: center;
            gap: 6px;
            padding: 8px 14px;
            background: rgba(255,255,255,0.95);
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            cursor: pointer;
            font-size: 13px;
            font-weight: 600;
            color: #64748b;
            box-shadow: 0 2px 8px rgba(0,0,0,0.08);
            transition: all 0.2s;
        }
        .theme-toggle-inline:hover { background: #f1f5f9; }
        .theme-toggle-inline svg { fill: currentColor; }
        .theme-toggle-inline .sun-icon { display: none; }
        .theme-toggle-inline .moon-icon { display: block; }
        .chat-app.dark-mode .theme-toggle-inline {
            background: rgba(30,41,59,0.95);
            border-color: #334155;
            color: #94a3b8;
        }
        .chat-app.dark-mode .theme-toggle-inline .sun-icon { display: block; }
        .chat-app.dark-mode .theme-toggle-inline .moon-icon { display: none; }
        @media (max-width: 768px) {
            .theme-toggle-inline { top: 120px; right: 12px; padding: 6px 10px; font-size: 12px; }
            .theme-toggle-inline span { display: none; }
        }

        .theme-toggle {
            position: fixed;
            top: 1rem;
            right: 1rem;
            z-index: 1000;
            display: none;
            align-items: center;
            gap: 0.5rem;
            padding: 0.5rem 1rem;
            background: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 50px;
            cursor: pointer;
            font-size: 0.8rem;
            font-weight: 600;
            color: #64748b;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
            transition: all 0.3s ease;
        }

        .theme-toggle:hover {
            background: #f1f5f9;
            border-color: #cbd5e1;
        }

        .theme-toggle svg {
            width: 18px;
            height: 18px;
            fill: currentColor;
            transition: transform 0.3s ease;
        }

        .theme-toggle .sun-icon { display: block; }
        .theme-toggle .moon-icon { display: none; }

        /* ============ DARK MODE STYLES ============ */
        .chat-app.dark-mode {
            background: linear-gradient(180deg, #0a0f1a 0%, #111827 50%, #0f172a 100%);
        }

        .chat-app.dark-mode .bg-gradient {
            background:
                radial-gradient(ellipse at 20% 0%, rgba(70, 174, 247, 0.15) 0%, transparent 50%),
                radial-gradient(ellipse at 80% 100%, rgba(70, 174, 247, 0.1) 0%, transparent 50%),
                radial-gradient(ellipse at 50% 50%, rgba(16, 185, 129, 0.05) 0%, transparent 70%);
        }

        .chat-app.dark-mode .theme-toggle {
            background: #1e293b;
            border-color: #334155;
            color: #94a3b8;
        }

        .chat-app.dark-mode .theme-toggle:hover {
            background: #334155;
            border-color: #475569;
        }

        .chat-app.dark-mode .theme-toggle .sun-icon { display: none; }
        .chat-app.dark-mode .theme-toggle .moon-icon { display: block; }

        .chat-app.dark-mode .eleanor-title { color: #f1f5f9; }
        .chat-app.dark-mode .eleanor-subtitle { color: #94a3b8; }

        .chat-app.dark-mode .chat-container {
            background: rgba(17, 24, 39, 0.95);
            border-color: rgba(255, 255, 255, 0.1);
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
        }

        .chat-app.dark-mode .messages {
            background: rgba(15, 23, 42, 0.5);
        }

        .chat-app.dark-mode .messages::-webkit-scrollbar-thumb {
            background: #475569;
        }

        .chat-app.dark-mode .message.eleanor {
            background: rgba(30, 41, 59, 0.95);
            border-color: rgba(255, 255, 255, 0.1);
            color: #e2e8f0;
            box-shadow: none;
        }

        .chat-app.dark-mode .copy-response-btn {
            border-color: rgba(255, 255, 255, 0.15);
            color: rgba(255, 255, 255, 0.5);
        }

        .chat-app.dark-mode .copy-response-btn:hover {
            background: rgba(255, 255, 255, 0.1);
            color: rgba(255, 255, 255, 0.8);
            border-color: rgba(255, 255, 255, 0.3);
        }

        .chat-app.dark-mode .input-area {
            background: rgba(17, 24, 39, 0.95);
            border-top-color: rgba(255, 255, 255, 0.1);
        }

        .chat-app.dark-mode #userInput {
            background: rgba(30, 41, 59, 0.8);
            border-color: rgba(255, 255, 255, 0.1);
            color: #f1f5f9;
        }

        .chat-app.dark-mode #userInput:focus {
            border-color: #46AEF7;
            background: rgba(30, 41, 59, 0.95);
        }

        .chat-app.dark-mode #userInput::placeholder {
            color: #64748b;
        }

        .chat-app.dark-mode .btn-icon {
            background: rgba(30, 41, 59, 0.8);
            border-color: rgba(255, 255, 255, 0.1);
            color: #94a3b8;
        }

        .chat-app.dark-mode .btn-icon:hover {
            background: #46AEF7;
            border-color: #46AEF7;
            color: white;
        }

        .chat-app.dark-mode .btn-file-case-chat:disabled {
            background: rgba(30, 41, 59, 0.8);
            color: #64748b;
            border-color: rgba(255, 255, 255, 0.1);
        }

        .chat-app.dark-mode .chat-case-id {
            color: #94a3b8;
        }

        .chat-app.dark-mode .case-panel {
            background: rgba(17, 24, 39, 0.95);
            border-color: rgba(255, 255, 255, 0.1);
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
        }

        .chat-app.dark-mode .panel-header {
            border-bottom-color: rgba(255, 255, 255, 0.1);
        }

        .chat-app.dark-mode .panel-title {
            color: #f1f5f9;
        }

        .chat-app.dark-mode .progress-bar {
            background: rgba(255, 255, 255, 0.1);
        }

        .chat-app.dark-mode .case-field .label {
            color: #94a3b8;
        }

        .chat-app.dark-mode .case-field .value {
            background: rgba(30, 41, 59, 0.6);
            border-color: rgba(255, 255, 255, 0.1);
            color: #e2e8f0;
        }

        .chat-app.dark-mode .case-field .value.empty {
            color: #64748b;
        }

        .chat-app.dark-mode .case-field .value.new {
            background: rgba(16, 185, 129, 0.15);
            border-color: #10b981;
        }

        /* RNSD-434: Dark mode overrides for additional defendants */
        .chat-app.dark-mode .add-def-label {
            color: rgba(255, 255, 255, 0.5);
        }
        .chat-app.dark-mode .add-def-value {
            color: rgba(255, 255, 255, 0.9);
        }
        .chat-app.dark-mode .def-type-badge {
            background: rgba(139, 92, 246, 0.2);
            color: #a78bfa;
        }

        .chat-app.dark-mode .mobile-case-close {
            background: rgba(17, 24, 39, 0.98);
            border-bottom-color: rgba(255, 255, 255, 0.1);
        }

        .chat-app.dark-mode .court-branding {
            background: linear-gradient(135deg, rgba(70, 174, 247, 0.15), rgba(70, 174, 247, 0.05));
            border-color: rgba(255, 255, 255, 0.1);
        }

        .chat-app.dark-mode .court-name {
            color: #f1f5f9;
        }

        .chat-app.dark-mode .jurisdiction-banner {
            background: linear-gradient(135deg, rgba(70, 174, 247, 0.15), rgba(70, 174, 247, 0.05));
            border-color: rgba(70, 174, 247, 0.3);
        }

        .chat-app.dark-mode .jur-value {
            color: #f1f5f9;
        }

        .chat-app.dark-mode .jurisdiction-note {
            color: rgba(255, 255, 255, 0.7);
            border-top-color: rgba(255, 255, 255, 0.1);
        }

        .chat-app.dark-mode .jur-confidence {
            color: rgba(255, 255, 255, 0.6);
        }

        /* RNSD-360: Evidence items in dark mode need visible text */
        .chat-app.dark-mode .evidence-item {
            background: rgba(30, 41, 59, 0.6);
            border-color: rgba(255, 255, 255, 0.1);
        }
        .chat-app.dark-mode .evidence-item .ev-type {
            color: #e2e8f0;
        }
        .chat-app.dark-mode .evidence-item .ev-desc {
            color: #94a3b8;
        }

        /* Light mode (default) - jurisdiction banner needs dark text */
        .chat-app:not(.dark-mode) .jurisdiction-banner {
            background: linear-gradient(135deg, rgba(70, 174, 247, 0.12), rgba(70, 174, 247, 0.04));
        }

        .chat-app:not(.dark-mode) .jur-value {
            color: #1e293b;
        }

        .chat-app:not(.dark-mode) .jurisdiction-note {
            color: #475569;
            border-top-color: rgba(0, 0, 0, 0.1);
        }

        .chat-app:not(.dark-mode) .jur-confidence {
            color: #64748b;
        }

        .chat-app:not(.dark-mode) .courthouse-name-large {
            color: #1e293b !important;
        }

        .chat-app:not(.dark-mode) .courthouse-address-block {
            color: #475569 !important;
        }

        .chat-app:not(.dark-mode) .courthouse-verify-note {
            color: #7c3aed !important;
        }

        @media (max-width: 767px) {
            .theme-toggle {
                top: auto;
                bottom: 1rem;
                right: 1rem;
                padding: 0.4rem 0.8rem;
                font-size: 0.75rem;
            }
            .theme-toggle span { display: none; }
            .theme-toggle svg { width: 20px; height: 20px; }
        }

        .header {
            position: fixed;
            top: 0; left: 0; right: 0;
            z-index: 100;
            padding: 1rem 2rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(20px);
            border-bottom: 1px solid #e2e8f0;
        }

        .logo-img {
            height: 65px;  /* RNSD-050: Larger logo */
            width: auto;
        }

        .header-actions {
            display: flex;
            gap: 1rem;
            align-items: center;
        }

        .btn-ghost {
            padding: 0.5rem 1rem;
            background: transparent;
            border: 1px solid #e2e8f0;
            color: #64748b;
            border-radius: 8px;
            cursor: pointer;
            font-size: 0.875rem;
            transition: all 0.2s;
        }

        .btn-ghost:hover {
            background: #f1f5f9;
            color: #1e293b;
            border-color: #46AEF7;
        }

        .main {
            position: relative;
            z-index: 1;
            min-height: 100vh;
            padding: 2rem 1.5rem;
            display: flex;
            justify-content: center;
        }

        /* Mobile responsive for landing */
        @media (max-width: 768px) {
            .hero-image {
                width: 100%;
                opacity: 0.3;
            }
            .hero-overlay {
                background: linear-gradient(180deg, rgba(248,250,252,0.95) 0%, rgba(248,250,252,0.9) 100%);
            }
            .hero-content {
                padding: 2rem;
                text-align: center;
            }
            .hero-title {
                font-size: 2.5rem;
            }
            .hero-subtitle {
                font-size: 1.1rem;
            }
        }

        .container {
            width: 100%;
            max-width: 1000px;
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
        }

        .eleanor-section {
            text-align: center;
            padding: 2rem 0;
        }

        .eleanor-avatar {
            width: 80px;
            height: 80px;
            border-radius: 50%;
            background: linear-gradient(135deg, #46AEF7, #38bdf8);
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 1rem;
            box-shadow: 0 8px 30px rgba(70, 174, 247, 0.35);
            animation: pulse-glow 3s ease-in-out infinite;
        }

        @keyframes pulse-glow {
            0%, 100% { box-shadow: 0 8px 30px rgba(70, 174, 247, 0.35); }
            50% { box-shadow: 0 8px 40px rgba(70, 174, 247, 0.5), 0 0 60px rgba(70, 174, 247, 0.2); }
        }

        .eleanor-avatar svg { width: 40px; height: 40px; fill: white; }
        .eleanor-title { font-size: 1.25rem; font-weight: 700; color: #1e293b; margin-bottom: 0.25rem; }
        .eleanor-subtitle { color: #64748b; font-size: 0.875rem; }

        .chat-container {
            background: #ffffff;
            border: 1px solid #e8e7e2;
            border-radius: 20px;
            box-shadow: 0 4px 24px rgba(0, 0, 0, 0.05), 0 1px 3px rgba(0, 0, 0, 0.03);
            overflow: hidden;
            display: flex;
            flex-direction: column;
            height: 500px;
        }

        .chat-logo {
            display: flex;
            justify-content: center;
            padding: 1.5rem 0;
        }

        .chat-logo-img {
            height: 60px;  /* RNSD-050: Larger logo */
            width: auto;
            opacity: 0.8;
        }

        /* RNSD-050: File button under chat */
        .chat-file-btn-container {
            padding: 1rem 1.5rem;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.75rem;
        }

        .manual-form-link {
            font-size: 13px;
            font-weight: 600;
            color: #6B7280;
            text-decoration: none;
            transition: color 0.2s;
        }
        .manual-form-link:hover {
            color: #46AEF7;
        }

        .btn-file-case-chat {
            width: 100%;
            padding: 1rem 1.5rem;
            background: linear-gradient(135deg, #46AEF7 0%, #46AEF7 100%);
            border: none;
            border-radius: 12px;
            color: white;
            font-size: 1.1rem;
            font-weight: 600;
            cursor: pointer;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.25rem;
            transition: all 0.3s ease;
            box-shadow: 0 4px 15px rgba(70, 174, 247, 0.4);
        }

        .btn-file-case-chat:hover:not(:disabled) {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(70, 174, 247, 0.5);
        }

        .btn-file-case-chat:disabled {
            background: #f1f5f9;
            color: #64748b;
            cursor: not-allowed;
            box-shadow: none;
            border: 1px solid #e2e8f0;
        }

        .btn-file-case-chat:not(:disabled) .btn-squabble-logo {
            display: inline-block;
            height: 18px;
            width: auto;
            margin-right: 8px;
            vertical-align: middle;
            filter: brightness(0) invert(1);  /* Make logo white */
        }

        .btn-file-case-chat:disabled .btn-squabble-logo {
            display: none;
        }

        .btn-file-case-chat .btn-subtitle {
            font-size: 0.75rem;
            font-weight: 400;
            opacity: 0.8;
        }

        /* RNSD-063: Case ID in chat area for when right panel is hidden */
        .chat-case-id {
            margin-top: 0.5rem;
            font-size: 0.75rem;
            color: #64748b;
            text-align: center;
        }

        .messages {
            flex: 1;
            overflow-y: auto;
            padding: 20px 24px;
            display: flex;
            flex-direction: column;
            gap: 16px;
            background: linear-gradient(180deg, #fafbfc 0%, #ffffff 100%);
        }

        .messages::-webkit-scrollbar { width: 6px; }
        .messages::-webkit-scrollbar-track { background: transparent; }
        .messages::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }

        .message {
            max-width: 100%;
            padding: 14px 18px;
            border-radius: 16px;
            font-size: 15px;
            line-height: 1.55;
            font-family: 'Nunito Sans', system-ui, sans-serif;
            font-weight: 500;
            letter-spacing: -0.01em;
        }

        /* Standalone messages (user, system) get animation - row-wrapped Eleanor messages don't need it */
        .messages > .message {
            animation: message-in 0.3s ease-out;
            max-width: 85%;
        }

        @keyframes message-in {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* RNSD-409: Elite SaaS message styling with Eleanor avatar */
        .message-row {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            max-width: 88%;
            animation: message-in 0.3s ease-out;
        }

        .message-row.eleanor { align-self: flex-start; }
        .message-row.user { align-self: flex-end; flex-direction: row-reverse; }

        .message-avatar {
            flex-shrink: 0;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            background: linear-gradient(135deg, #46AEF7 0%, #1E8BD6 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            box-shadow: 0 2px 8px rgba(70, 174, 247, 0.25);
        }

        .message-avatar img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .message-avatar-fallback {
            color: white;
            font-weight: 700;
            font-size: 14px;
            font-family: 'Nunito Sans', system-ui, sans-serif;
        }

        .message-content {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            flex: 1;
            min-width: 0;
        }

        .message.eleanor {
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            color: var(--ink, #080D1A);
            align-self: flex-start;
            border-bottom-left-radius: 4px;
            box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03);
        }

        /* Copy response button for Eleanor messages */
        .copy-response-btn {
            display: flex;
            align-items: center;
            gap: 6px;
            padding: 5px 10px;
            margin-top: 6px;
            background: transparent;
            border: 1px solid #e8e7e2;
            border-radius: 6px;
            color: #6B7280;
            font-size: 12px;
            font-weight: 500;
            cursor: pointer;
            transition: all 0.2s ease;
            width: fit-content;
            font-family: 'Nunito Sans', system-ui, sans-serif;
        }

        .copy-response-btn:hover {
            background: #f7f6f3;
            color: #46AEF7;
            border-color: #46AEF7;
        }

        .copy-response-btn svg {
            opacity: 0.6;
            fill: currentColor;
        }

        .copy-response-btn:hover svg {
            opacity: 1;
        }

        .message.user {
            background: linear-gradient(135deg, #46AEF7, #1E8BD6);
            color: white;
            align-self: flex-end;
            border-bottom-right-radius: 4px;
            box-shadow: 0 2px 12px rgba(70, 174, 247, 0.2);
            font-weight: 500;
        }

        .message.system {
            background: rgba(16, 185, 129, 0.1);
            border: 1px solid rgba(16, 185, 129, 0.3);
            color: var(--success);
            align-self: center;
            font-size: 0.8125rem;
        }

        /* RNSD-358: Removed checkout-button CSS - using Submit your SQUABBLE button instead */

        .message.thinking {
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            align-self: flex-start;
            padding: 14px 18px;
            box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03);
            border-radius: 16px;
            border-bottom-left-radius: 4px;
        }

        .thinking-dots {
            display: inline-flex;
            gap: 5px;
            align-items: center;
        }

        .thinking-dots span {
            width: 8px;
            height: 8px;
            background: #46AEF7;
            border-radius: 50%;
            animation: thinking-pulse 1.4s ease-in-out infinite;
        }

        .thinking-dots span:nth-child(2) { animation-delay: 0.2s; }
        .thinking-dots span:nth-child(3) { animation-delay: 0.4s; }

        @keyframes thinking-pulse {
            0%, 80%, 100% { transform: scale(0.7); opacity: 0.35; }
            40% { transform: scale(1); opacity: 1; }
        }

        .input-area {
            padding: 16px 20px;
            border-top: 1px solid #e8e7e2;
            background: #ffffff;
            display: flex;
            gap: 12px;
            align-items: center;
        }

        .input-wrapper { flex: 1; position: relative; }

        #userInput {
            width: 100%;
            padding: 14px 16px;
            background: #f7f6f3;
            border: 1px solid #e8e7e2;
            border-radius: 12px;
            color: var(--ink, #080D1A);
            font-size: 15px;
            font-family: 'Nunito Sans', system-ui, sans-serif;
            font-weight: 500;
            outline: none;
            transition: all 0.2s ease;
            resize: none;
            min-height: 48px;
            max-height: 150px;
            overflow-y: auto;
            line-height: 1.45;
        }

        #userInput:focus {
            border-color: #46AEF7;
            background: #ffffff;
            box-shadow: 0 0 0 4px rgba(70, 174, 247, 0.1);
        }

        #userInput::placeholder {
            color: #6B7280;
            font-weight: 400;
        }

        .btn-icon {
            width: 48px;
            height: 48px;
            border-radius: 12px;
            border: 1px solid #e8e7e2;
            background: #f7f6f3;
            color: #6B7280;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.2s ease;
        }

        .btn-icon:hover {
            background: #46AEF7;
            border-color: #46AEF7;
            color: white;
            transform: translateY(-1px);
        }

        .btn-icon svg { width: 20px; height: 20px; fill: currentColor; }

        #sendBtn {
            background: linear-gradient(135deg, #46AEF7, #1E8BD6);
            border: none;
            color: white;
            box-shadow: 0 3px 12px rgba(70, 174, 247, 0.25);
        }

        #sendBtn:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(70, 174, 247, 0.35);
        }

        /* RNSD-017: Voice toggle active state */
        #speakerBtn.voice-active {
            background: linear-gradient(135deg, #10b981, #059669);
            border-color: #10b981;
            color: white;
        }

        #speakerBtn.voice-active:hover {
            background: linear-gradient(135deg, #059669, #047857);
        }

        #sendBtn:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }

        /* RNSD-255: Case Info button in input row - always visible on mobile */
        .mobile-case-info-btn {
            display: none; /* Hidden by default, shown on mobile */
            background: var(--accent-primary) !important;
            border: none !important;
        }

        .mobile-case-info-btn svg {
            fill: white;
        }

        @media (max-width: 767px) {
            .mobile-case-info-btn {
                display: flex;
                align-items: center;
                justify-content: center;
            }
            /* RNSD-409: Mobile avatar and message sizing */
            .message-avatar {
                width: 32px;
                height: 32px;
            }
            .message-row {
                gap: 10px;
                max-width: 92%;
            }
            .message {
                padding: 12px 14px;
                font-size: 14px;
            }
            .messages {
                padding: 16px;
                gap: 14px;
            }
            .input-area {
                padding: 12px 16px;
            }
            #userInput {
                padding: 12px 14px;
                font-size: 14px;
                min-height: 44px;
            }
            .btn-icon {
                width: 44px;
                height: 44px;
            }
        }

        #micBtn.recording {
            background: var(--error);
            border-color: var(--error);
            color: white;
            animation: recording-pulse 1s ease-in-out infinite;
        }

        @keyframes recording-pulse {
            0%, 100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4); }
            50% { box-shadow: 0 0 0 10px rgba(239, 68, 68, 0); }
        }

        .case-panel {
            background: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 16px;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
            padding: 1.5rem;
        }

        /* Court Branding Section */
        .court-branding {
            display: flex;
            align-items: center;
            gap: 1rem;
            padding: 1rem;
            margin-bottom: 1.5rem;
            background: linear-gradient(135deg, rgba(70, 174, 247, 0.1), rgba(70, 174, 247, 0.05));
            border: 1px solid var(--border-subtle);
            border-radius: 12px;
            animation: court-fade-in 0.5s ease-out;
        }

        @keyframes court-fade-in {
            from { opacity: 0; transform: translateY(-10px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .court-seal {
            width: 90px;
            height: 90px;
            object-fit: contain;
            border-radius: 50%;
            background: white;
            padding: 6px;
            box-shadow: 0 4px 12px rgba(0,0,0,0.3);
        }

        .court-info {
            flex: 1;
        }

        .court-name {
            font-size: 1.1rem;
            font-weight: 600;
            color: var(--text-primary);
            line-height: 1.3;
        }

        /* Dual court options container */
        .court-options-container {
            margin-bottom: 1.5rem;
        }

        .court-or-divider {
            text-align: center;
            padding: 0.75rem 0;
            color: var(--text-secondary);
            font-size: 0.9rem;
            font-weight: 500;
            position: relative;
        }

        .court-or-divider span {
            background: var(--bg-secondary);
            padding: 0 1rem;
            position: relative;
            z-index: 1;
        }

        .court-or-divider::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 0;
            right: 0;
            height: 1px;
            background: var(--border-subtle);
        }

        .court-secondary {
            opacity: 0.85;
        }

        /* RNSD-227: Redesigned Jurisdiction Banner */
        .jurisdiction-banner {
            text-align: center;
            padding: 1.25rem 1rem;
            margin-bottom: 1.25rem;
            background: linear-gradient(135deg, rgba(70, 174, 247, 0.1), rgba(70, 174, 247, 0.03));
            border: 1px solid rgba(70, 174, 247, 0.25);
            border-radius: 12px;
            animation: court-fade-in 0.5s ease-out;
        }

        .jur-section {
            margin-bottom: 1rem;
        }

        .jur-section:last-of-type {
            margin-bottom: 0.75rem;
        }

        .jur-label {
            color: #46AEF7;
            font-size: 0.7rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 0.375rem;
        }

        .jur-value {
            font-size: 1.4rem;
            font-weight: 700;
            color: var(--text-primary);
            line-height: 1.2;
        }

        /* Courthouse detail section */
        .courthouse-detail {
            padding-top: 1rem;
            border-top: 1px solid rgba(70, 174, 247, 0.15);
        }

        .courthouse-name-large {
            font-size: 1.1rem;
            font-weight: 600;
            color: var(--text-primary);
            margin-bottom: 0.25rem;
        }

        .courthouse-address-block {
            font-size: 0.85rem;
            color: var(--text-secondary, #6B7280);
            line-height: 1.4;
        }

        /* Alternative courthouse option */
        .alt-courthouse {
            padding-top: 0.75rem;
            margin-top: 0.75rem;
            border-top: 1px dashed var(--border-subtle, rgba(0, 0, 0, 0.1));
        }

        .jur-label-small {
            color: var(--text-secondary, #6B7280);
            font-size: 0.6rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 0.25rem;
        }

        .courthouse-name-small {
            font-size: 0.9rem;
            font-weight: 500;
            color: var(--text-primary, #374151);
        }

        .courthouse-address-small {
            font-size: 0.75rem;
            color: var(--text-secondary, #6B7280);
        }

        .jurisdiction-note {
            font-size: 0.75rem;
            color: var(--text-secondary);
            line-height: 1.5;
            margin-top: 0.75rem;
            padding-top: 0.75rem;
            border-top: 1px solid var(--border-subtle, rgba(0, 0, 0, 0.1));
        }

        .jurisdiction-note em {
            color: #46AEF7;
            font-style: italic;
        }

        /* Legacy classes for compatibility */
        .courthouse-section {
            margin: 1rem 0;
            padding-top: 1rem;
            border-top: 1px solid var(--border-subtle);
        }

        .courthouse-label {
            color: #46AEF7;
            font-size: 0.85rem;
            font-weight: 600;
            margin-bottom: 0.5rem;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .courthouse-name {
            font-size: 1.2rem;
            font-weight: 600;
            color: var(--text-primary);
            margin-bottom: 0.25rem;
        }

        .courthouse-address {
            font-size: 0.9rem;
            color: var(--text-secondary);
            white-space: pre-line;
            line-height: 1.4;
        }

        /* RNSD-226: Multiple courthouse options display */
        .courthouse-options-container {
            margin-top: 1rem;
        }

        .courthouse-option-label {
            color: rgba(255, 255, 255, 0.6);
            font-size: 0.75rem;
            font-weight: 500;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 0.375rem;
        }

        #incidentCourthouseSection,
        #defendantCourthouseSection {
            padding: 0.75rem;
            background: rgba(70, 174, 247, 0.05);
            border-radius: 8px;
            margin-bottom: 0.75rem;
            border-top: none;
            margin-top: 0;
        }

        #incidentCourthouseSection .courthouse-name,
        #defendantCourthouseSection .courthouse-name {
            font-size: 1rem;
        }

        #incidentCourthouseSection .courthouse-address,
        #defendantCourthouseSection .courthouse-address {
            font-size: 0.8rem;
        }

        .courthouse-options-divider {
            text-align: center;
            color: rgba(255, 255, 255, 0.4);
            font-size: 0.75rem;
            font-weight: 600;
            margin: 0.5rem 0;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .jurisdiction-limit {
            font-size: 0.85rem;
            padding-top: 0.75rem;
            border-top: 1px solid var(--border-subtle);
        }

        .limit-label {
            color: var(--text-secondary);
        }

        .limit-value {
            color: #10b981;
            font-weight: 600;
        }

        .panel-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 1.5rem;
            padding-bottom: 1rem;
            border-bottom: 1px solid #e2e8f0;
        }

        .panel-title { font-size: 1rem; font-weight: 700; color: #1e293b; }

        /* RNSD-053: Case ID display */
        .case-id-display {
            background: rgba(70, 174, 247, 0.1);
            border: 1px solid rgba(70, 174, 247, 0.3);
            border-radius: 8px;
            padding: 0.5rem 0.75rem;
            margin-bottom: 0.75rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
        .case-id-label {
            font-size: 0.75rem;
            color: var(--text-secondary);
        }
        .case-id-value {
            font-size: 0.875rem;
            font-weight: 600;
            color: var(--accent-primary);
            font-family: monospace;
        }
        .case-id-copy {
            background: none;
            border: none;
            cursor: pointer;
            font-size: 0.875rem;
            padding: 0.25rem;
            opacity: 0.7;
            transition: opacity 0.2s;
        }
        .case-id-copy:hover {
            opacity: 1;
        }

        .progress-container {
            display: flex;
            align-items: center;
            gap: 0.75rem;
        }

        .progress-bar {
            width: 100px;
            height: 6px;
            background: #e2e8f0;
            border-radius: 3px;
            overflow: hidden;
        }

        .progress-fill {
            height: 100%;
            background: linear-gradient(90deg, #46AEF7, #38bdf8);
            border-radius: 3px;
            transition: width 0.5s ease;
            width: 0%;
        }

        .progress-text { font-size: 0.875rem; font-weight: 600; color: #46AEF7; }

        /* Mobile responsive for Case Progress panel */
        @media (max-width: 480px) {
            .panel-header {
                flex-direction: column;
                align-items: flex-start;
                gap: 0.75rem;
            }
            .panel-title {
                font-size: 1.1rem;
            }
            .progress-container {
                width: 100%;
            }
            .progress-bar {
                flex: 1;
                width: auto;
            }
            .case-id-display {
                width: 100%;
                justify-content: center;
            }
        }

        .case-fields { display: grid; gap: 1rem; }

        .field-group {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 1rem;
        }

        .case-field { display: flex; flex-direction: column; gap: 0.375rem; }

        .case-field .label {
            font-size: 0.6875rem;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            font-weight: 700;
            color: #64748b;
        }

        .case-field .value {
            font-size: 0.875rem;
            color: #1e293b;
            padding: 0.625rem 0.875rem;
            background: #f8fafc;
            border-radius: 8px;
            border: 1px solid #e2e8f0;
            min-height: 38px;
        }

        .case-field .value.empty { color: #94a3b8; font-style: italic; font-weight: 400; }

        .case-field .value.new {
            animation: field-highlight 1s ease-out;
            border-color: #10b981;
            background: #ecfdf5;
        }

        @keyframes field-highlight {
            from { background: rgba(16, 185, 129, 0.2); border-color: #10b981; }
            to { background: #f8fafc; border-color: #e2e8f0; }
        }

        /* RNSD-054: Evidence list styling */
        .evidence-section { margin-top: 0.5rem; }
        .evidence-count {
            font-size: 0.7rem;
            color: var(--text-muted);
            margin-left: 0.25rem;
        }
        .evidence-list {
            display: flex;
            flex-direction: column;
            gap: 0.375rem;
        }
        .evidence-item {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.375rem 0.5rem;
            background: var(--bg-glass);
            border: 1px solid var(--border-subtle);
            border-radius: 6px;
            font-size: 0.8125rem;
        }
        .evidence-item .ev-icon {
            font-size: 0.9rem;
            flex-shrink: 0;
        }
        .evidence-item .ev-type {
            font-weight: 500;
            color: var(--text-primary);
        }
        .evidence-item .ev-desc {
            color: var(--text-secondary);
            font-size: 0.75rem;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        /* RNSD-226: Additional Defendants Styling */
        #additional-defendants-container {
            margin-top: 0.75rem;
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
        }

        .additional-defendant-box {
            background: rgba(70, 174, 247, 0.05);
            border: 1px solid rgba(70, 174, 247, 0.2);
            border-radius: 10px;
            padding: 0.75rem;
        }

        .additional-defendant-header {
            font-size: 0.75rem;
            font-weight: 600;
            color: #46AEF7;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            margin-bottom: 0.5rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .additional-defendant-header .fee-badge {
            font-size: 0.65rem;
            background: rgba(251, 191, 36, 0.2);
            color: #fbbf24;
            padding: 0.125rem 0.375rem;
            border-radius: 4px;
            font-weight: 500;
        }

        .additional-defendant-box .case-field {
            margin-bottom: 0.5rem;
        }

        .additional-defendant-box .case-field:last-child {
            margin-bottom: 0;
        }

        .additional-defendant-box .field-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0.5rem;
        }

        .additional-defendant-content {
            display: flex;
            flex-direction: column;
            gap: 0.375rem;
        }

        .add-def-row {
            display: flex;
            align-items: baseline;
            gap: 0.5rem;
            font-size: 0.8rem;
        }

        /* RNSD-434: Light mode (default) - dark text on light bg */
        .add-def-label {
            color: #667085;
            min-width: 75px;
            flex-shrink: 0;
        }

        .add-def-value {
            color: #1a1a2e;
            display: flex;
            align-items: center;
            gap: 0.375rem;
        }

        .def-type-badge {
            font-size: 0.6rem;
            background: rgba(70, 174, 247, 0.15);
            color: #2C9AEF;
            padding: 0.125rem 0.375rem;
            border-radius: 4px;
            font-weight: 500;
            text-transform: uppercase;
        }

        .voice-toggle {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.8125rem;
            color: var(--text-secondary);
        }

        .toggle-switch {
            appearance: none;
            width: 40px;
            height: 22px;
            background: var(--bg-glass);
            border: 1px solid var(--border-subtle);
            border-radius: 11px;
            position: relative;
            cursor: pointer;
            transition: all 0.2s;
        }

        .toggle-switch::after {
            content: '';
            position: absolute;
            top: 2px;
            left: 2px;
            width: 16px;
            height: 16px;
            background: var(--text-secondary);
            border-radius: 50%;
            transition: all 0.2s;
        }

        .toggle-switch:checked {
            background: var(--accent-primary);
            border-color: var(--accent-primary);
        }

        .toggle-switch:checked::after {
            left: 20px;
            background: white;
        }

        .voice-status { font-size: 0.75rem; color: var(--text-muted); min-height: 1rem; padding: 0 1.5rem; }
        .voice-status.listening { color: var(--accent-primary); }
        .voice-status.speaking { color: var(--success); }

        .download-section {
            margin-top: 1.5rem;
            padding-top: 1.5rem;
            border-top: 1px solid var(--border-subtle);
        }

        .btn-download {
            width: 100%;
            padding: 0.875rem;
            background: linear-gradient(135deg, #10b981, #059669);
            border: none;
            border-radius: 12px;
            color: white;
            font-size: 0.9375rem;
            font-weight: 500;
            cursor: pointer;
            transition: all 0.2s;
        }

        .btn-download:hover:not(:disabled) {
            transform: translateY(-2px);
            box-shadow: 0 4px 20px rgba(16, 185, 129, 0.3);
        }

        .btn-download:disabled { opacity: 0.5; cursor: not-allowed; }

        /* Primary CTA Button - "File My Case" */
        .btn-file-case {
            width: 100%;
            padding: 1rem;
            background: linear-gradient(135deg, #46AEF7, #46AEF7);
            border: none;
            border-radius: 12px;
            color: white;
            font-size: 1rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s;
            margin-bottom: 0.75rem;
            position: relative;
            overflow: hidden;
        }

        .btn-file-case::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
            transition: left 0.5s;
        }

        .btn-file-case:hover:not(:disabled)::before {
            left: 100%;
        }

        .btn-file-case:hover:not(:disabled) {
            transform: translateY(-2px);
            box-shadow: 0 6px 25px rgba(70, 174, 247, 0.4);
        }

        .btn-file-case:disabled {
            opacity: 0.4;
            cursor: not-allowed;
            background: linear-gradient(135deg, #6b7280, #4b5563);
        }

        .btn-file-case .btn-subtitle {
            display: block;
            font-size: 0.75rem;
            font-weight: 400;
            opacity: 0.85;
            margin-top: 0.25rem;
        }

        .download-status {
            text-align: center;
            font-size: 0.75rem;
            margin-top: 0.5rem;
            color: var(--text-muted);
        }

        .download-status.success { color: var(--success); }
        .download-status.error { color: var(--error); }

        #fileInput { display: none; }

        .upload-indicator {
            display: none;
            padding: 0.5rem 1rem;
            background: var(--bg-glass);
            border-radius: 8px;
            font-size: 0.8125rem;
            color: var(--text-secondary);
        }

        .upload-indicator.show { display: block; }

        #uploaded-files-section {
            display: none;
            margin-top: 1rem;
            padding: 1rem;
            background: var(--bg-glass);
            border-radius: 12px;
        }

        .uploaded-title {
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            color: var(--text-muted);
            margin-bottom: 0.5rem;
        }

        #uploaded-files-list { display: flex; flex-direction: column; gap: 0.5rem; }

        .file-preview { max-width: 200px; border-radius: 8px; margin-top: 0.5rem; }

        .chat-column {
            display: flex;
            flex-direction: column;
        }

        @media (min-width: 768px) {
            .container { flex-direction: row; max-width: 1400px; gap: 1.5rem; }
            .chat-column { flex: 1 1 60%; min-width: 0; }
            .chat-container { height: 600px; }
            .case-panel { flex: 0 0 420px; height: fit-content; }
            .eleanor-section { display: none; }
        }

        @media (max-width: 767px) {
            .case-panel {
                display: none; /* Hidden by default on mobile */
                position: fixed;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                z-index: 1000;
                border-radius: 0;
                overflow-y: auto;
                padding-top: calc(80px + env(safe-area-inset-top, 20px));
                padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px));
            }
            .case-panel.mobile-visible {
                display: block;
            }
            .field-group { grid-template-columns: 1fr; }
            .header { padding: 1rem; }
            .logo { font-size: 1.25rem; }
            .chat-container {
                height: calc(100vh - 120px);
                height: calc(100dvh - 120px);
                border-radius: 0;
                border: none;
            }
            .chat-column {
                width: 100%;
            }
            .container {
                padding: 0;
                gap: 0;
            }
            .eleanor-section {
                display: none;
            }
            .main {
                padding: 0;
                padding-top: env(safe-area-inset-top, 0px);
            }
            .chat-logo {
                display: none;
            }
        }

        /* Mobile toggle button for case progress */
        /* RNSD-255: Must stay visible even when Android keyboard is open */
        .mobile-case-toggle {
            display: none;
            position: fixed;
            top: calc(env(safe-area-inset-top, 0px) + 10px);
            right: 10px;
            z-index: 99999; /* Very high to stay above everything including keyboard UI */
            background: var(--accent-primary);
            color: white;
            border: none;
            border-radius: 12px;
            padding: 0.5rem 1rem;
            font-size: 0.8rem;
            font-weight: 600;
            cursor: pointer;
            box-shadow: 0 4px 12px rgba(0,0,0,0.3);
            /* Ensure it doesn't get hidden behind browser chrome */
            transform: translateZ(0);
            -webkit-transform: translateZ(0);
        }

        .mobile-case-toggle svg {
            width: 16px;
            height: 16px;
            fill: white;
            vertical-align: middle;
            margin-right: 4px;
        }

        /* RNSD-255: Hide floating toggle on mobile - use inline button in input area instead */
        @media (max-width: 767px) {
            .mobile-case-toggle {
                display: none !important; /* Hidden - we use the inline button now */
            }
        }

        /* RNSD-408: Mobile keyboard open - ensure Eleanor's message stays visible */
        /* RNSD-353: Add whitespace when typing on mobile for better visibility */
        @media (max-width: 767px) {
            .keyboard-open #messages {
                /* Reduce height to account for keyboard */
                max-height: 35vh;
                padding-bottom: 80px;
            }
            .keyboard-open .chat-container {
                /* Allow container to shrink with keyboard */
                height: auto;
                min-height: 0;
            }
            .keyboard-open .input-area {
                /* Keep input area visible above keyboard with breathing room */
                position: sticky;
                bottom: 0;
                background: #fff;
                padding-top: 12px;
                padding-bottom: 12px;
                border-top: 1px solid #e2e8f0;
                box-shadow: 0 -4px 12px rgba(0,0,0,0.08);
            }
            .keyboard-open .chat-file-btn-container {
                /* Hide the submit button when keyboard is open to save space */
                display: none;
            }
            .keyboard-open #userInput {
                /* Larger text area when typing */
                min-height: 52px;
                font-size: 16px; /* Prevents iOS zoom */
            }
        }

        /* Close button for mobile case panel */
        .mobile-case-close {
            display: none;
            position: sticky;
            top: 0;
            background: #ffffff;
            padding: 1rem;
            margin: -1.5rem -1.5rem 1rem -1.5rem;
            border-bottom: 1px solid #e2e8f0;
            z-index: 10;
        }

        .mobile-case-close button {
            background: #46AEF7;
            color: white;
            border: none;
            border-radius: 8px;
            padding: 0.75rem 1.5rem;
            font-size: 0.9rem;
            font-weight: 600;
            cursor: pointer;
            width: 100%;
        }

        @media (max-width: 767px) {
            .mobile-case-close {
                display: block;
                margin-bottom: 1.5rem;
            }
        }

        /* RNSD-278: Interactive US Map */
        .us-map-container {
            position: relative;
            max-width: 900px;
            margin: 0 auto 2rem;
        }
        .us-map-svg {
            width: 100%;
            height: auto;
        }
        .us-map-svg path {
            fill: rgba(70, 174, 247, 0.2);
            stroke: rgba(70, 174, 247, 0.5);
            stroke-width: 1;
            cursor: pointer;
            transition: all 0.2s ease;
        }
        .us-map-svg path:hover {
            fill: rgba(70, 174, 247, 0.6);
            stroke: #46AEF7;
            stroke-width: 2;
        }
        .us-map-svg path.active {
            fill: #46AEF7;
            stroke: #fff;
            stroke-width: 2;
        }
        .state-info-panel {
            background: rgba(10, 15, 26, 0.95);
            border: 1px solid rgba(70, 174, 247, 0.4);
            border-radius: 12px;
            padding: 1.5rem;
            margin-top: 1rem;
            min-height: 120px;
            backdrop-filter: blur(10px);
        }
        .state-info-panel h3 {
            color: #46AEF7;
            font-size: 1.3rem;
            margin: 0 0 0.75rem 0;
        }
        .state-info-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1rem;
        }
        .state-info-item {
            text-align: center;
        }
        .state-info-item .label {
            color: rgba(255,255,255,0.6);
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        .state-info-item .value {
            color: #fff;
            font-size: 1.1rem;
            font-weight: 600;
            margin-top: 0.25rem;
        }
        .state-info-item .value.highlight {
            color: #46AEF7;
        }
        .state-info-note {
            margin-top: 1rem;
            padding-top: 1rem;
            border-top: 1px solid rgba(255,255,255,0.1);
            color: rgba(255,255,255,0.7);
            font-size: 0.85rem;
        }
        @media (max-width: 768px) {
            .state-info-grid {
                grid-template-columns: 1fr 1fr;
            }
            /* RNSD-371: Make US map larger on mobile - less white space */
            .us-map-container {
                max-width: 100%;
                margin: 0 auto 1rem;
                padding: 0;
            }
            .state-info-panel {
                padding: 1rem;
                margin-top: 0.75rem;
            }
            .state-info-panel h3 {
                font-size: 1.1rem;
            }
        }

        /* RNSD-375: Tap hint removed - CA auto-selects on mobile which fills the space */
        .map-tap-hint {
            display: none;
        }

        /* RNSD-487: Stripe Elements card input styling */
        .stripe-card-container {
            margin-bottom: 20px;
        }
        .stripe-card-label {
            font-size: 14px;
            font-weight: 600;
            color: #080D1A;
            margin-bottom: 8px;
            display: block;
        }
        #card-element {
            border: 1px solid #D1D5DB;
            border-radius: 8px;
            padding: 14px 12px;
            background: #fff;
            transition: border-color 0.15s ease, box-shadow 0.15s ease;
        }
        #card-element:focus-within {
            border-color: #2C9AEF;
            box-shadow: 0 0 0 3px rgba(44, 154, 239, 0.15);
        }
        #card-element.StripeElement--invalid {
            border-color: #EF4444;
        }
        #card-errors {
            color: #EF4444;
            font-size: 13px;
            margin-top: 8px;
            min-height: 20px;
        }
    

.sqchrome-hdr{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.9);-webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid #DCE5EE;font-family:'Nunito Sans',system-ui,-apple-system,sans-serif;}
.landing-page .sqchrome-hdr{border-bottom:none}/*RNSD-851: homepage only - header blends into the dark hero, no divider hairline (Michael). Other pages keep the separator.*/
.sqchrome-hdr-in{max-width:1120px;margin:0 auto;padding:13px 24px;display:flex;align-items:center;gap:24px;}
.sqchrome-logo{display:inline-flex;align-items:center;text-decoration:none;flex:none;}
.sqchrome-logo img{height:30px;width:auto;display:block;}
.sqchrome-nav{display:flex;align-items:center;gap:22px;margin-left:4px;}
.sqchrome-nav a,.sqchrome-dd-toggle{font-weight:700;font-size:14px;color:#33414F;text-decoration:none;transition:color .15s;background:none;border:0;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:5px;padding:0;white-space:nowrap;}
.sqchrome-nav a:hover,.sqchrome-dd-toggle:hover{color:#080D1A;}
.sqchrome-dd{position:relative;}
.sqchrome-dd-toggle svg{width:14px;height:14px;stroke:currentColor;stroke-width:2.4;fill:none;transition:transform .18s;}
.sqchrome-dd:hover .sqchrome-dd-toggle svg{transform:rotate(180deg);}
.sqchrome-dd-menu{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);min-width:234px;background:#fff;border:1px solid #DCE5EE;border-radius:14px;box-shadow:0 18px 44px -14px rgba(8,13,26,.24);padding:8px;display:none;z-index:210;}
.sqchrome-dd:hover .sqchrome-dd-menu{display:block;}
.sqchrome-dd-menu::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px;}
.sqchrome-dd-menu a{display:block;padding:9px 12px;font-size:13.5px;font-weight:700;color:#33414F;text-decoration:none;border-radius:9px;white-space:nowrap;}
.sqchrome-dd-menu a:hover{background:#F6F8FA;color:#080D1A;}
.sqchrome-dd-div{height:1px;background:#EEF4FB;margin:6px 10px;}
.sqchrome-right{margin-left:auto;display:flex;align-items:center;gap:16px;flex:none;}
.sqchrome-login{font-weight:700;font-size:14px;color:#33414F;text-decoration:none;background:none;border:0;cursor:pointer;font-family:inherit;padding:0;}
.sqchrome-login:hover{color:#080D1A;}
.sqchrome-cta{font-weight:800;font-size:13px;color:#fff;background:#080D1A;height:42px;padding:0 20px;border-radius:999px;display:inline-flex;align-items:center;gap:7px;text-decoration:none;transition:transform .18s;white-space:nowrap;}
.sqchrome-cta:hover{transform:translateY(-1px);color:#fff;}
.sqchrome-burger{display:none;width:42px;height:42px;border:1px solid #DCE5EE;border-radius:12px;background:#fff;cursor:pointer;align-items:center;justify-content:center;padding:0;flex:none;}
.sqchrome-burger svg{width:20px;height:20px;}
.sqchrome-menu{display:none;background:#fff;border-top:1px solid #DCE5EE;max-height:calc(100vh - 64px);overflow:auto;}
.sqchrome-hdr.sqchrome-open .sqchrome-menu{display:block;}
.sqchrome-menu-in{max-width:1120px;margin:0 auto;padding:6px 24px 22px;display:flex;flex-direction:column;}
.sqchrome-menu a,.sqchrome-menu button{display:block;text-align:left;width:100%;font-weight:700;font-size:15px;color:#33414F;text-decoration:none;padding:12px 2px;border:0;border-bottom:1px solid #EEF4FB;background:none;cursor:pointer;font-family:inherit;}
.sqchrome-menu a:last-child,.sqchrome-menu button:last-child{border-bottom:0;}
.sqchrome-msub-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;font-weight:700;font-size:15px;color:#33414F;padding:12px 2px;border:0;border-bottom:1px solid #EEF4FB;background:none;cursor:pointer;font-family:inherit;}
.sqchrome-msub-toggle svg{width:16px;height:16px;stroke:#9AA4B1;stroke-width:2.4;fill:none;transition:transform .2s;}
.sqchrome-msub-wrap.open .sqchrome-msub-toggle svg{transform:rotate(180deg);}
.sqchrome-msub-items{display:none;padding:2px 0 6px 12px;}
.sqchrome-msub-wrap.open .sqchrome-msub-items{display:block;}
.sqchrome-msub-items a{font-size:14px;color:#556575;}
.sqchrome-menu .sqchrome-mcta{color:#fff;background:#080D1A;text-align:center;border-radius:999px;margin-top:14px;padding:13px;border:0;}
.sqchrome-mysq{display:none;align-items:center;border:1.5px solid #DCE5EE;border-radius:999px;color:#0B1220;font-weight:800;font-size:14px;padding:9px 16px;text-decoration:none;white-space:nowrap;}.sqchrome-mysq.sqchrome-mysq-on{display:inline-flex;}.sqchrome-mysq:hover{border-color:#B9CBDD;background:#F7FAFC;}.sqchrome-login.sqchrome-door{display:inline-flex;align-items:center;border:1.5px solid #DCE5EE;border-radius:999px;color:#0B1220;font-weight:800;font-size:14px;padding:9px 16px;white-space:nowrap;background:#fff;}.sqchrome-login.sqchrome-door:hover{border-color:#B9CBDD;background:#F7FAFC;color:#0B1220;}
@media(max-width:960px){.sqchrome-nav{display:none;}.sqchrome-login{display:none;}.sqchrome-cta{display:none;}.sqchrome-mysq{display:none !important;}.sqchrome-burger{display:inline-flex;}}
@media(min-width:961px){.sqchrome-menu{display:none !important;}}
.sqchrome-ftr{background:#fff;border-top:1px solid #DCE5EE;padding:56px 0 30px;font-family:'Nunito Sans',system-ui,-apple-system,sans-serif;}
.sqchrome-ftr-in{max-width:1120px;margin:0 auto;padding:0 24px;}
.sqchrome-ftr-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:32px;}
.sqchrome-ftr-brand img{height:26px;width:auto;display:block;}
.sqchrome-ftr-col h5{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#7A8694;font-weight:800;margin:0 0 14px;}
.sqchrome-ftr-col a{display:block;font-size:14px;color:#33414F;text-decoration:none;margin-bottom:10px;}
.sqchrome-ftr-col a:hover{color:#080D1A;}
.sqchrome-ftr-disclaim{max-width:800px;margin:34px auto 0;padding:20px 0 4px;text-align:center;font-size:11px;line-height:1.6;color:#8A96A4;}
.sqchrome-ftr-bottom{margin-top:8px;padding-top:22px;border-top:1px solid #DCE5EE;display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;justify-content:center;font-size:12px;color:#7A8694;}
/* RNSD-1473 (Michael, Aug 26: "this could look a little neater" - mobile footer):
   on phones the trust badges become a tidy left-aligned column centered as a block,
   the Hopkins line wraps against its icon instead of hanging, and the legal lines
   stack with even rhythm. !important only where the inline trust-row styles win. */
@media (max-width:560px){
  .sqchrome-ftr-trust{flex-direction:column;align-items:flex-start !important;row-gap:10px !important;width:max-content;max-width:94%;margin-left:auto !important;margin-right:auto !important;}
  .sqchrome-ftr-trust span{align-items:flex-start !important;text-align:left;line-height:1.45;}
  .sqchrome-ftr-trust svg{flex:none;margin-top:2px;}
  .sqchrome-ftr-bottom{flex-direction:column;gap:6px;padding-top:18px;text-align:center;}
}

.sqchrome-ftr-bottom a{color:#1F7FCC;text-decoration:none;}
@media(max-width:820px){.sqchrome-ftr-top{grid-template-columns:1fr 1fr;gap:28px;}.sqchrome-ftr-brand{grid-column:1 / -1;}}
@media(max-width:520px){.sqchrome-ftr-top{grid-template-columns:1fr;}}

@font-face{font-family:'Nunito Sans';font-weight:400;font-display:swap;src:url(/static/fonts/nunito-sans-400.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:700;font-display:swap;src:url(/static/fonts/nunito-sans-700.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:800;font-display:swap;src:url(/static/fonts/nunito-sans-800.woff2) format('woff2')}
.sqh{--ink:#080D1A;--text:#172033;--secondary:#33414F;--gray:#4A4E52;--muted:#6B7280;--slate:#7A8694;
--blue:#46AEF7;--blue-deep:#2C9AEF;--deep:#1F7FCC;--ga:#62BDFB;--gb:#2C9AEF;
--line:#DCE5EE;--line2:#EAEFF5;--field:#F7FAFC;--paper:#F6F8FA;--soft:#EAF7FF;
--font:'Nunito Sans',Inter,system-ui,-apple-system,'Segoe UI',sans-serif;--e:cubic-bezier(.16,1,.3,1);
--sheet:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(8,13,26,.05),0 22px 48px -24px rgba(8,13,26,.20)}

.sqh *{box-sizing:border-box}
.sqh{font-family:var(--font);color:var(--text);-webkit-font-smoothing:antialiased;
 background:
  radial-gradient(circle, rgba(150,172,198,.30) 1px, transparent 1.4px),
  radial-gradient(900px 440px at 82% -12%, #e9f4ff 0%, rgba(233,244,255,0) 60%),
  radial-gradient(780px 420px at -8% 112%, #eef3fa 0%, rgba(238,243,250,0) 56%),
  #fff;
 background-size:26px 26px,auto,auto,auto;}
/* RNSD-843: let the dot-field (tufting) bleed to the screen edges - "goes to infinity", no white
   side strips. .sqh is inset 16px by .landing-page's fixed 16px padding; pull it back out with a
   negative margin. .landing-page keeps overflow-x:clip as the guard. NO viewport units here - the
   reverted RNSD-842 card change broke iOS Safari with 100vw; this can't, since .sqh just fills the
   landing-page border box exactly. */
.sqh{margin-left:-16px;margin-right:-16px}
.sqh-wrap{max-width:1180px;margin:0 auto;padding:0 calc(clamp(20px,4vw,32px) + 16px)} /* +16px keeps the CONTENT inset unchanged after .sqh's -16px pull-out */ /* RNSD-595 (DD-1): hero on the same 1180/32 grid as the header and every section (was 1200/28, poking 14px past the site grid) */
.sqh-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0 8px}
.sqh-logo{height:30px;width:auto;display:block}
.sqh-nav{display:flex;align-items:center;gap:24px}
.sqh-lnk,.sqh-login{font-weight:800;font-size:14px;color:var(--secondary);cursor:pointer;letter-spacing:-.01em;text-decoration:none}
.sqh-lnk:hover{color:var(--ink)}
.sqh-cta{font-weight:800;font-size:14px;color:#fff;background:var(--ink);border-radius:999px;padding:11px 20px;cursor:pointer;text-decoration:none;transition:transform .16s var(--e),box-shadow .16s}
.sqh-cta:hover{transform:translateY(-1px);box-shadow:0 12px 24px -10px rgba(8,13,26,.5)}

.sqh-hero{overflow-x:clip;display:grid;grid-template-columns:1.12fr 1fr;grid-template-areas:"lead stage" "support stage";grid-template-rows:max-content 1fr;column-gap:clamp(28px,5vw,52px);align-items:start;/* RNSD-1277b: the panel spans both rows and is taller than the text, so its surplus height has to land somewhere. Centering put it at the TOP (Michael's complaint); plain top-align split it into BOTH rows and opened a hole between the tagline and the paragraph. Sizing row 1 to its content and letting row 2 take the remainder packs the text together and drops the surplus at the BOTTOM, where it reads as breathing room. *//* RNSD-1277 (Michael: "still large white space in top left", "everything was spaced properly before"): the answer to what changed - the old headline was longer AND set at 84px, so the left column filled the panel height. Ours is shorter, and align-items:center split the difference, half of it landing above the eyebrow. Top-align both columns; leftover falls at the bottom. */padding:clamp(26px,4.5vw,58px) 0 clamp(26px,3.4vw,44px)} /* RNSD-875: bottom pad trimmed (was clamp(40px,5.5vw,70px)) to pull Court Coverage closer */
.sqh-lead{grid-area:lead;align-self:start}/* RNSD-1277: was end - would re-open the top gap */
.sqh-support{grid-area:support;align-self:stretch;height:100%;display:flex;flex-direction:column;margin-top:16px}/* RNSD-1281: stretch + flex so the path strip can sit ON the grid bottom edge, level with the panel bottom at any viewport - the "even/aligned with the right" ask */
.sqh-stage{grid-area:stage;align-self:center;position:relative;display:flex;justify-content:center}

.sqh-eyebrow{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--slate);margin:0 0 18px}
.sqh-eyebrow .tick{width:22px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--ga),var(--gb))}
.sqh-h1{margin:0;font-weight:800;font-size:clamp(40px,5.6vw,76px);letter-spacing:-.045em;line-height:1.04;/* RNSD-1279 (Nate): bigger to take up more of the column. 84px was proven to break "Get back what" onto three ragged lines, 70px set it in two, so 76px is the largest size with real clearance under that break point. */color:var(--ink);text-wrap:balance}/* RNSD-1275 (Michael): 84px could not fit "Get back what" in a 545px column, so the headline broke into three ragged lines and the short "owed." left a wide hole. 70px sets it in two dense lines - less white without adding anything */
.sqh-h1 .blue{color:var(--blue)}
.sqh-sub{margin:18px 0 0;font-weight:800;font-size:clamp(20px,2.4vw,29px);letter-spacing:-.03em;color:var(--blue);line-height:1.05}/* RNSD-1231j: centered - the kicker of the centered badge zone (chips + trust pills) below the left-aligned prose zone. RNSD-1231l: tightened toward the paragraph */
/* RNSD-1231c: money-first hero - one headline, one explanation, one 3x3 recognition grid, one action (the panel's) */
.sqh-plain{margin:24px 0 0;max-width:640px;font-size:clamp(17px,1.9vw,20px);line-height:1.55;color:#33414F;font-weight:400}/* RNSD-1231l: 560->640 so the paragraph sets in three lines ending "when you're ready." (the nbsp keeps the pair together once there's room) */
.sqh-plain b{color:#080D1A}
.sqh-kinds{display:grid;grid-template-columns:repeat(4,max-content);gap:8px;margin:18px 0 0;justify-content:center}/* RNSD-1231j: centered with the sub line + trust pills */
.sqh-kind{font-size:13px;font-weight:700;color:#33414F;background:#F3F8FD;border:1px solid #DCE5EE;border-radius:999px;padding:6px 12px;text-align:center}
.sqh-path{position:relative;display:grid;grid-template-columns:repeat(6,1fr);margin:auto 0;padding:30px 0;max-width:100%}/* RNSD-1282c: the flexbox version could never be even - flex refuses to shrink an item below its content (min-width:auto), so the nowrap labels silently re-widened the steps and the dots followed the text again. GRID does not negotiate: six equal columns, dots centered in their columns, spacing exact at every width. Labels wrap to two lines, which ends the collision math and lets the whole graphic scale up. */
.sqh-pline{position:absolute;left:calc(100%/12);right:calc(100%/12);top:calc(30px + 29px);height:3.5px;background:linear-gradient(90deg,#9FD2F8,#46AEF7);border-radius:3px;transform:translateY(-50%)}
.sqh-step{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0;position:relative;z-index:1}
.sqh-sdot{width:58px;height:58px;border-radius:50%;background:#fff;border:1.5px solid #CFE3F7;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(8,13,26,.09)}
.sqh-sdot--end{background:#080D1A;border-color:#080D1A}
.sqh-sdot.sqh-sdot--end svg{width:24px;height:24px;fill:none}/* RNSD-1282d: the generic .sqh-sdot svg fill:blue rule outranked the inline fill="none", painting the check path as a blue wedge under its white stroke; doubled class specificity wins regardless of order */
.sqh-sdot svg{width:26px;height:26px;fill:var(--blue)}
.sqh-slab{font-size:13.5px;font-weight:800;letter-spacing:.01em;color:var(--ink);text-align:center;line-height:1.25;max-width:104px}
@media(max-width:920px){.sqh-path{display:none}}
.sqh-lede{margin:0;font-weight:400;font-size:clamp(15px,1.6vw,17.5px);line-height:1.55;color:var(--secondary);max-width:52ch}.sqh-lede-m{display:none}@media(max-width:860px){.sqh-lede-dt{display:none}.sqh-lede-m{display:block}}/* RNSD-1275: 47ch left the paragraph short of the column edge */
.sqh-lede em{font-style:normal;font-weight:800;color:var(--ink)}
/* RNSD-1101b: the hyphen in Triple-Check is a legitimate wrap point, so at desktop width
   the line broke as "Our Triple-" / "Check(TM) team". Never split the product name. */
.sqh-nb{white-space:nowrap}
.sqh-trust{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0 0}
.sqh-tchip{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:12.5px;color:var(--secondary);background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 13px}
.sqh-tchip i{width:6px;height:6px;border-radius:50%;background:linear-gradient(180deg,var(--ga),var(--gb));flex:none}

.sqh-glow{position:absolute;inset:-6% 8px -10% 8px;background:radial-gradient(64% 60% at 60% 38%,rgba(70,174,247,.22),rgba(70,174,247,.06) 55%,transparent 73%);filter:blur(8px);z-index:0;pointer-events:none}
.sqh-panel{position:relative;z-index:1;width:min(432px,100%);background:linear-gradient(180deg,#FFFFFF,#FCFDFE);border:1px solid var(--line);border-radius:22px;box-shadow:var(--sheet);padding:20px 22px 20px}
.sqh-shead{display:flex;flex-direction:row;align-items:center;text-align:left;gap:15px;margin-bottom:13px}
.sqh-ring{position:relative;width:160px;height:160px;border-radius:50%;padding:4px;background:conic-gradient(from 0deg,var(--ga),var(--gb),var(--ga));flex:none}
.sqh-ring .sv{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center 26%;border:2.5px solid #fff;background:#EAF2FA;display:block}
.sqh-ring::after{content:"";position:absolute;inset:-5px;border-radius:50%;box-shadow:0 0 0 0 rgba(70,174,247,0);animation:sqh-halo 4.6s ease-in-out infinite}
.sqh-ring.thinking::after{animation:sqh-pulse 1.9s var(--e) infinite}
@keyframes sqh-pulse{0%{box-shadow:0 0 0 0 rgba(70,174,247,.42)}70%{box-shadow:0 0 0 14px rgba(70,174,247,0)}100%{box-shadow:0 0 0 0 rgba(70,174,247,0)}}
@keyframes sqh-halo{0%,100%{box-shadow:0 0 0 0 rgba(70,174,247,0)}50%{box-shadow:0 0 0 7px rgba(70,174,247,.10)}}
.sqh-shead h3{margin:0;font-weight:800;font-size:18px;letter-spacing:-.02em;color:var(--ink)}
.sqh-shead h3 .blue{color:var(--blue)}
.sqh-shead p{margin:2px 0 0;font-size:12.5px;color:var(--muted);font-weight:600}

.sqh-fieldlab{font-weight:800;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin:2px 0 7px}
/* RNSD-596 (DD-3): the ghost caption is in-flow, and stories wrap 1->3 lines while
   typing - the box grew each cycle, the panel pulsed, and the centered hero grid
   re-centered the LEFT column every pulse (DD: "left column text is shifting").
   90px reserves the tallest wrap up front so the panel height never changes. */
.sqh-fieldwrap{position:relative;min-height:90px;transition:min-height .35s var(--e)}
.sqh-field{position:absolute;inset:0;display:block;width:100%;height:100%;resize:none;background:var(--field);border:1.5px solid var(--line2);border-radius:13px;padding:13px 15px;font-family:var(--font);font-weight:400;font-size:14px;line-height:1.5;color:var(--text);-webkit-appearance:none;appearance:none;outline:none;transition:border-color .2s var(--e),box-shadow .2s var(--e)}
.sqh-field::placeholder{color:var(--muted)}
.sqh-field:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(70,174,247,.13)}
.sqh-ghost{position:relative;min-height:90px;padding:13px 15px;font-size:14px;line-height:1.5;color:var(--text);pointer-events:none;border-radius:13px;transition:opacity .45s var(--e)} /* RNSD-596: 90px = 3 wrapped lines, matches fieldwrap */
.sqh-ghost.done{opacity:0}
.sqh-ghost.rested .sqh-caret{opacity:0}
.sqh-ghost.swap{opacity:0}
.sqh-ghost .ph{color:var(--muted)}
.sqh-caret{display:inline-block;width:2px;height:1.05em;background:var(--blue);vertical-align:-2px;margin-left:1px;animation:sqh-blink 1s steps(1) infinite}
@keyframes sqh-blink{50%{opacity:0}}

.sqh-chips{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0 0}
.sqh-chip{position:relative;display:flex;flex-direction:column;gap:1px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:8px 12px;opacity:.55;transform:translateY(2px);transition:opacity .45s var(--e),border-color .45s var(--e),box-shadow .45s var(--e),transform .45s var(--e)}
.sqh-chip .cl{font-weight:800;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--slate)}
.sqh-chip .cv{font-weight:800;font-size:13.5px;letter-spacing:-.01em;color:var(--ink);min-height:17px}
.sqh-chip .ck{position:absolute;top:8px;right:10px;width:14px;height:14px;border-radius:50%;background:linear-gradient(180deg,var(--ga),var(--gb));display:grid;place-items:center;opacity:0;transform:scale(.4);transition:opacity .3s var(--e),transform .3s var(--e)}
.sqh-chip .ck svg{width:8px;height:8px}
.sqh-chip.filled{opacity:1;transform:none;border-color:rgba(70,174,247,.45);box-shadow:0 8px 20px -12px rgba(44,154,239,.45)}
.sqh-chip.filled .ck{opacity:1;transform:scale(1)}

.sqh-payoff{display:flex;align-items:center;gap:8px;margin:11px 2px 0;font-weight:800;font-size:13px;color:var(--deep);opacity:0;transform:translateY(4px);transition:opacity .5s var(--e),transform .5s var(--e)}
.sqh-payoff.on{opacity:1;transform:none}
.sqh-payoff svg{width:15px;height:15px;flex:none}
.sqh-go{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:13px;color:#fff;background:var(--ink);border:0;border-radius:999px;/*RNSD-581: pill shape to match every other CTA on the page*/padding:14px;font-family:var(--font);font-weight:800;font-size:14.5px;cursor:pointer;text-decoration:none;transition:transform .18s var(--e),box-shadow .18s}
/* RNSD-1028: two half-width CTAs on one row; ghost variant for Learn More */
.sqh-gorow{display:flex;gap:10px;margin-top:13px}
.sqh-gorow .sqh-go{flex:1;margin-top:0;min-height:47px;white-space:nowrap}
.sqh-go2{background:#fff;color:var(--ink);border:1.5px solid #DCE5EE;box-shadow:none}
.sqh-go2:hover{border-color:#B9CBDD;background:#F7FAFC}
/* RNSD-1028b: below ~520px the halves are too narrow and "Start with Eleanor" wraps
   to two lines (Nate's Pixel screenshot) - stack them full-width instead */
@media(max-width:520px){.sqh-gorow{flex-direction:column;gap:9px}}
/* RNSD-1029b: in-card resume strip - visible only when a fresh intake marker exists */
.sqh-resume{display:none;align-items:center;justify-content:center;gap:7px;margin:0 0 13px;
  padding:9px 12px;background:#EAF7FF;border:1px solid #CFEAFE;border-radius:12px;
  color:#1F7FCC;font-size:13px;font-weight:700;line-height:1.3;text-decoration:none;text-align:center}
.sqh-resume b{font-weight:800}
.sqh-resume:not([hidden]){display:flex}
.sqh-resume:hover{border-color:#9ED4FB;background:#DFF2FE}
.sqh-go:hover{transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(8,13,26,.55)}
.sqh-go svg{width:18px;height:18px}
.sqh-micro{margin:11px 0 0;font-size:11.5px;color:var(--muted);font-weight:600;text-align:center}
.sqh-formln{margin-top:9px}
.sqh-formln a{color:#1F7FCC;font-weight:800;text-decoration:underline;text-underline-offset:2px;padding:6px 2px;touch-action:manipulation;white-space:nowrap}
/* RNSD-594: credibility pills (DD-2) - desktop centered under the lede; mobile pair
   under the "6 minutes" line. NEVER stacked - one row at every width (per Nate). */
.sqh-cred{display:flex;justify-content:center;justify-content:safe center;gap:10px;margin:16px 0 0;flex-wrap:nowrap;max-width:min(47ch,100%)} /* RNSD-661: one line always - pills shrink in the narrow-desktop band instead of wrapping; safe center means worst-case overflow aligns to the visible edge instead of clipping. RNSD-1231i: auto side margins - the old width-mate (the lede) is gone, so the capped box now centers under the chip grid (Nate) */
@media(max-width:1180px){.sqh-cred{gap:8px}.sqh-cred .sqh-pill{font-size:9.8px;padding:6px 11px;gap:6px}}
@media(max-width:1020px){.sqh-cred{gap:6px}.sqh-cred .sqh-pill{font-size:9px;padding:5px 9px;gap:5px}} /* RNSD-657: same width cap as the lede so the pills center on the text block, not the full grid column */
.sqh-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;background:#fff;border:1px solid var(--ink,#080D1A);border-radius:999px;box-shadow:0 1px 2px rgba(8,13,26,.05);font-size:10.7px;font-weight:800;letter-spacing:.02em;text-transform:none;color:var(--ink,#080D1A);white-space:nowrap} /* RNSD-630: Michael - sentence case, ink text + border, 7% smaller */
.sqh-pill svg{width:14px;height:14px;flex:none;color:var(--blue,#46AEF7)}
.sqh-jhu{display:flex;align-items:center;justify-content:center;gap:6px;margin:10px 0 0;max-width:min(30rem,100%);font-size:11.5px;font-weight:700;color:var(--ink,#080D1A);opacity:.82;text-align:center;line-height:1.35}/* RNSD-998c originally width-mated this to the lede; RNSD-1231i: lede removed, auto side margins center it under the chip grid with the pills (Nate) */
.sqh-jhu svg{width:13px;height:13px;flex:none;color:var(--blue,#46AEF7)}
/* RNSD-599: the patent pill is a link to the proof page - same look, quiet hover */
a.sqh-pill{text-decoration:none;color:var(--ink,#080D1A);transition:border-color .15s,color .15s}
a.sqh-pill:hover{border-color:var(--blue,#46AEF7);color:#080D1A}
/* RNSD-874 v2 (Michael: not a pill): BBB A+ as a graded-mark lockup filling the space under
   the cred strip - the A+ large with a hand-drawn blue circle (the site's verification-mark
   idiom; a circled grade reads "someone else graded us"), source + view-profile affordance
   beside it. Pure-CSS draw-in, no JS. Still in .sqh-support so mobile renders it BELOW the
   panel and the RNSD-807 CTA-above-the-fold fix is untouched. No BBB seal/torch artwork:
   that mark is licensed to accredited businesses; we are A+ rated, not accredited. */
.sqh-bbb{display:flex;justify-content:safe center;margin:18px 0 0;max-width:min(47ch,100%)}
.sqh-bbb-link{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink,#080D1A)}
/* RNSD-885 (Michael): mark smaller = more premium; circle sized to the text block; colors are
   literally the nationwide map's state style (stroke #A9D4F6 + the 12% blue state fill). */
.sqh-bbb-a{position:relative;font-size:19px;line-height:1;font-weight:800;letter-spacing:-.01em;padding:6px 9px}
/* RNSD-874 v5 (Nate's pick after side-by-side): a geometrically PERFECT circle in the brand
   blue - the hand-drawn wobble read as "slightly off" at 52px. The draw-in animation stays
   (rotate(-90deg) starts the stroke at 12 o'clock like a pen), so the human "circling the
   grade" story lives in the motion while the settled mark stays clean. */
.sqh-bbb-a svg{position:absolute;left:50%;top:50%;width:1.95em;height:1.95em;transform:translate(-50%,-50%) rotate(-90deg);overflow:visible}
.sqh-bbb-a svg circle{fill:rgba(70,174,247,.12);fill-opacity:0;stroke:#A9D4F6;stroke-width:2;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;animation:sqhBbbDraw .8s ease-out .9s forwards,sqhBbbFill .5s ease-out 1.15s forwards}
@keyframes sqhBbbDraw{to{stroke-dashoffset:0}}
@keyframes sqhBbbFill{to{fill-opacity:1}}
.sqh-bbb-tx{display:flex;flex-direction:column;gap:3px;text-align:left}
.sqh-bbb-l1{font-size:13.5px;font-weight:800;letter-spacing:.01em}
.sqh-bbb-l2{font-size:11.5px;font-weight:600;color:var(--secondary,#7A8694);transition:color .15s}
.sqh-bbb-l2 svg{width:11px;height:11px;vertical-align:-1px;margin-left:3px}
.sqh-bbb-link:hover .sqh-bbb-l2{color:var(--ink,#080D1A)}
@media(prefers-reduced-motion:reduce){.sqh-bbb-a svg circle{animation:none;stroke-dashoffset:0;fill-opacity:1}}
@media(max-width:920px){.sqh-bbb{margin:16px auto 0}.sqh-bbb-a{font-size:17px;padding:5px 8px}.sqh-bbb-l1{font-size:12.5px}.sqh-bbb-l2{font-size:10.5px}}
@media(max-width:400px){.sqh-bbb-a{font-size:15.5px}.sqh-bbb-link{gap:9px}}
.sqh-cred-m{display:none}
@media(max-width:920px){
 .sqh-support .sqh-cred{display:none}
 /* payoff line stays hidden on mobile (removed when the pills first replaced it) */
 .sqh-payoff{display:none}
 .sqh-cred-m{display:flex;justify-content:center;gap:8px;margin:12px 0 0}
 .sqh-cred-m .sqh-pill{padding:6px 11px;font-size:9.8px;gap:6px}
 .sqh-cred-m .sqh-pill svg{width:12px;height:12px}
}
@media(max-width:400px){
 .sqh-cred-m{gap:6px}
 .sqh-cred-m .sqh-pill{padding:5px 9px;font-size:8.8px;letter-spacing:.01em;gap:5px}
 .sqh-cred-m .sqh-pill svg{width:11px;height:11px}
}
@media(max-width:340px){
 .sqh-cred-m .sqh-pill{padding:5px 7px;font-size:8.4px;letter-spacing:.01em}
}

@media(prefers-reduced-motion:reduce){
 .sqh-caret{animation:none;display:none}
 .sqh-ring::after,.sqh-ring.thinking::after{animation:none}
 .sqh-chip,.sqh-payoff{transition:none}
}
@media(max-width:920px){
 .sqh-hero{grid-template-columns:1fr;grid-template-rows:none;grid-template-areas:"lead" "stage" "support";align-items:start;text-align:center;row-gap:16px;padding-top:clamp(14px,4vw,34px)}
 .sqh-lead,.sqh-support{align-self:auto;margin-top:0}
 .sqh-stage{align-self:auto}
 .sqh-eyebrow,.sqh-trust{justify-content:center}
 .sqh-lede{margin-left:auto;margin-right:auto}
 .sqh-nav{gap:0}
 .sqh-nav .sqh-lnk,.sqh-nav .sqh-login{display:none}
 .sqh-panel{text-align:left}
 .sqh-field,.sqh-ghost{text-align:left}
 .sqh-eyebrow{margin-bottom:14px}
 .sqh-sub{margin-top:11px}
 .sqh-h1{font-size:clamp(32px,8.4vw,38px)}
 /* RNSD-1231m (Nate): mobile reverts to the pre-1231 stack - headline (new words), sub,
    trust pills, panel. The paragraph, chip wall, and extra eyebrow badges are desktop-only. */
 .sqh-plain{display:none}
 .sqh-kinds{display:none}
 .sqh-eb-x{display:none}
}
@media(max-width:640px){
 .sqh-shead{flex-direction:row;align-items:center;text-align:left;gap:13px;margin-bottom:12px}
 .sqh-ring{width:124px;height:124px}
 .sqh-shead h3{font-size:16px}
 .sqh-panel{padding:20px}
 .sqh-fieldwrap,.sqh-ghost{min-height:92px}
 .sqh-chips{gap:8px;margin-top:12px}
 .sqh-chip{padding:7px 11px}
 .sqh-chip .cv{font-size:13px}
 .sqh-payoff{margin-top:11px}
 .sqh-go{margin-top:13px}
}
@media(max-width:400px){.sqh-logo{height:25px}.sqh-cta{font-size:12.5px;padding:9px 15px}}
@media(max-width:336px){.sqh-logo{height:22px}.sqh-cta{font-size:11px;padding:8px 12px}}
/* RNSD-807: tighten the mobile hero (~95px) so the "Start with Eleanor" CTA clears the iOS Safari
   toolbar and is visible on landing. iPhone 13: hero was 892px with the CTA at 705px, below the
   ~660px visible area. Trims the Eleanor photo, field height, h1, and the stacked margins. Mobile-
   only (<=640px); desktop is untouched (this block never applies above 640px). */
@media(max-width:640px){
 .sqh-hero{row-gap:11px;padding-top:12px}
 .sqh-h1{font-size:clamp(28px,7.6vw,35px)}
 .sqh-eyebrow{margin-bottom:9px}
 .sqh-sub{margin-top:8px}
 .sqh-cred-m{margin-top:9px}
 .sqh-shead{margin-bottom:8px}
 .sqh-ring{width:88px;height:88px}
 .sqh-panel{padding:16px}
 .sqh-fieldwrap,.sqh-ghost{min-height:70px}
 .sqh-soc{margin-top:10px;padding:10px 13px 11px}
 .sqh-soc-grid{gap:7px 16px;margin-top:8px}
 .sqh-go{margin-top:9px}
}

.sqh-soc{margin:12px 0 0;background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px 15px 12px;box-shadow:0 1px 2px rgba(8,13,26,.03)}
.sqh-soc-head{display:flex;align-items:center;gap:8px;padding-bottom:9px;border-bottom:1px solid var(--line2)}
.sqh-soc-head .ic{width:15px;height:15px;color:var(--deep);flex:none}
.sqh-soc-head .ttl{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--slate)}
.sqh-soc-head .auto{margin-left:auto;font-size:10px;font-weight:700;color:var(--muted)}
.sqh-soc-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 16px;margin-top:10px;max-height:360px;overflow:hidden;transition:max-height .35s var(--e),opacity .25s var(--e),margin-top .35s var(--e)}
.sqh-soc-row{display:flex;flex-direction:column;gap:4px;min-width:0}
/* RNSD-575: while the user is typing their own story, give the writing room -
   the field expands and the Statement of Claim folds to its header (its rows
   are empty during user input anyway; the real parse happens in the intake). */
.sqh-panel.sqh-writing .sqh-fieldwrap{min-height:150px}
.sqh-panel.sqh-writing .sqh-soc-grid{max-height:0;opacity:0;margin-top:0}
.sqh-soc-row .rl{font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.sqh-soc-row .rv{position:relative;min-height:20px;display:flex;align-items:center;border-bottom:1.5px solid var(--line);padding:0 17px 4px 1px;font-size:13px;font-weight:800;letter-spacing:-.01em;color:var(--ink);transition:border-color .35s var(--e)}
.sqh-soc-row .rv .val{opacity:0;transform:translateY(3px);transition:opacity .34s var(--e),transform .34s var(--e);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.sqh-soc-row.filled .rv{border-color:rgba(70,174,247,.55)}
.sqh-soc-row.filled .rv .val{opacity:1;transform:none}
.sqh-soc-row .rck{position:absolute;right:0;top:50%;transform:translateY(-50%) scale(.4);opacity:0;width:13px;height:13px;border-radius:50%;background:linear-gradient(180deg,var(--ga),var(--gb));display:grid;place-items:center;transition:opacity .3s var(--e),transform .3s var(--e)}
.sqh-soc-row.filled .rck{opacity:1;transform:translateY(-50%) scale(1)}
.sqh-soc-row .rck svg{width:8px;height:8px}
@media(max-width:360px){.sqh-soc-head .auto{display:none}.sqh-soc-grid{grid-template-columns:1fr;gap:9px}}
@media(prefers-reduced-motion:reduce){.sqh-soc-row .rv,.sqh-soc-row .rv .val,.sqh-soc-row .rck{transition:none}}

@font-face{font-family:'Nunito Sans';font-weight:400;font-display:swap;src:url(/static/fonts/nunito-sans-400.woff2) format('woff2')}@font-face{font-family:'Nunito Sans';font-weight:700;font-display:swap;src:url(/static/fonts/nunito-sans-700.woff2) format('woff2')}@font-face{font-family:'Nunito Sans';font-weight:800;font-display:swap;src:url(/static/fonts/nunito-sans-800.woff2) format('woff2')}.map-section{
  --ink:#080D1A; --body:#172033; --secondary:#33414F; --muted:#6B7280; --slate:#7A8694;
  --blue:#46AEF7; --blue-deep:#2C9AEF; --blue-lite:#69C0FB; --deep:#1F7FCC;
  --ga:#62BDFB; --gb:#2C9AEF;
  --hairline:#DCE5EE; --paper:#F6F8FA; --soft:#EAF7FF; --field:#F6FAFE;
  --font:'Nunito Sans',system-ui,sans-serif;
  --e:cubic-bezier(.16,1,.3,1); --maxw:1180px;
  --sheet:inset 0 1px 0 rgba(255,255,255,.85),0 1px 2px rgba(8,13,26,.045),0 16px 40px -16px rgba(8,13,26,.13);
}.map-section *{box-sizing:border-box;margin:0;padding:0;}.map-section{font-family:var(--font);background:#fff;color:var(--body);-webkit-font-smoothing:antialiased;font-feature-settings:"ss02" 1;}.map-section a{text-decoration:none;color:inherit;}.map-section{position:relative;overflow:hidden;padding:clamp(64px,8vw,112px) 0 clamp(56px,7vw,96px);
  background:
    radial-gradient(110% 60% at 50% -6%, rgba(70,174,247,.10), rgba(70,174,247,0) 60%),
    linear-gradient(180deg,#FBFDFF,#F4FAFF);}.map-section .wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,4vw,32px);}.map-section .map-head{max-width:760px;margin:0 auto;text-align:center;}.map-section .map-head .eyebrow{font-family:'Nunito Sans',system-ui,sans-serif;font-weight:800;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--slate);
  color:var(--slate);margin:0 0 16px;display:inline-flex;align-items:center;gap:10px;}.map-section .eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--blue-deep));}.map-section .map-head h2{margin:0;font-weight:800;font-size:clamp(28px,3.9vw,44px);letter-spacing:-.045em;line-height:1.0;color:var(--ink);text-wrap:balance;}.map-section .map-head h2 .accent{color:var(--blue-deep);}.map-section .map-head p{font-weight:400;font-size:clamp(15px,1.6vw,18px);line-height:1.5;color:var(--secondary);margin:18px auto 0;max-width:540px;}.map-section .map-card{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(18px,3vw,46px);align-items:center;
  margin-top:clamp(36px,5vw,56px);}@media(max-width:920px){.map-section .map-card{grid-template-columns:1fr;gap:0;}}.map-section .map-zone{position:relative;display:flex;flex-direction:column;justify-content:center;}.map-section .map-stage{position:relative;}.map-section .map-stage::before{content:"";position:absolute;inset:4% 2%;border-radius:50%;
  background:radial-gradient(circle at 50% 46%, rgba(70,174,247,.16), rgba(70,174,247,0) 62%);
  filter:blur(6px);z-index:0;pointer-events:none;}.map-section #us-map-svg{position:relative;z-index:1;width:100%;height:auto;display:block;touch-action:manipulation;}.map-section #us-map-svg path,.map-section #us-map-svg circle{
  fill:rgba(70,174,247,.12);stroke:#A9D4F6;stroke-width:1;cursor:pointer;
  -webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;
  transition:fill .18s var(--e),stroke .18s var(--e);}@media (hover:hover){.map-section #us-map-svg path:hover,.map-section #us-map-svg circle:hover{fill:rgba(70,174,247,.42);stroke:var(--blue-deep);}}.map-section #us-map-svg path.active,.map-section #us-map-svg circle.active{fill:var(--blue);stroke:#fff;stroke-width:1.6;}.map-section #us-map-svg path:focus,.map-section #us-map-svg circle:focus{outline:none;}.map-section #us-map-svg path:focus-visible,.map-section #us-map-svg circle:focus-visible{outline:none;fill:rgba(70,174,247,.5);stroke:var(--deep);stroke-width:2.2;}.map-section .map-instruction{margin-top:18px;text-align:center;font-weight:600;font-size:13px;color:var(--muted);}@media(max-width:920px){.map-section .map-instruction .desktop-only{display:none;}}@media(min-width:921px){.map-section .map-instruction .mobile-only{display:none;}}.map-section .panel-rail{position:relative;padding:clamp(22px,2.6vw,30px);border-radius:22px;overflow:hidden;
  background:linear-gradient(165deg,#F4FAFF 0%,#E9F4FE 60%,#E2F0FD 100%);border:1px solid #DDEBF8;
  box-shadow:var(--sheet),inset 0 1px 0 rgba(255,255,255,.7),inset 0 34px 60px -40px rgba(44,154,239,.22);}.map-section .panel-rail::before{content:"";position:absolute;top:-30px;right:-30px;width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle,rgba(70,174,247,.16),transparent 70%);pointer-events:none;}@media(min-width:921px){.map-section #state-info-panel{min-height:340px;}
/* RNSD-605 (#49): the info panel grows when a state populates, and the centered grid
   re-centered the map every time. Top-align and reserve the populated height. */
@media(min-width:921px){.map-section .map-card{align-items:start}.map-section #state-info-panel{min-height:520px}}
/* RNSD-1588: CTA under the map, inside the grid (see the markup note). Row 1 = the map, row 2 = the CTA
   in the map column; the panel rail spans both rows so its reserved height no longer leaves a hole. */
@media(min-width:921px){.map-section .map-card{grid-template-rows:auto 1fr;row-gap:0}.map-section .map-zone{grid-column:1;grid-row:1}.map-section .panel-rail{grid-column:2;grid-row:1/3}.map-section .map-card .map-cta{grid-column:1;grid-row:2;align-self:start;margin-top:clamp(16px,1.8vw,24px)}}}@media(max-width:920px){.map-section .map-card:not(.has-pick) .panel-rail{display:none;}.map-section .panel-rail{margin-top:8px;}}
/* RNSD-612: the info card is invisible until a state is hovered - at rest only the
   pin + prompt float in the reserved space (reservation kept per RNSD-605, so the
   map never shifts). Chrome lives on ::before so it can FADE - gradients cannot
   transition to none. Browsers without :has() keep the card always: safe fallback.
   Desktop only; the mobile tap-overlay panel is untouched. */
@media(min-width:921px){
 .map-section .panel-rail{background:none;border-color:transparent;box-shadow:none}
 /* RNSD-620: chrome lives on ::after - ::before was already the rail's corner-shine
    decoration, and inheriting its 180px width/height produced a stray rounded square. */
 .map-section .panel-rail::after{content:"";position:absolute;inset:0;z-index:0;border-radius:22px;
  background:linear-gradient(165deg,#F4FAFF 0%,#E9F4FE 60%,#E2F0FD 100%);border:1px solid #DDEBF8;
  box-shadow:var(--sheet),inset 0 1px 0 rgba(255,255,255,.7),inset 0 34px 60px -40px rgba(44,154,239,.22);
  opacity:1;transition:opacity .35s ease;pointer-events:none}
 .map-section .panel-rail:has(#state-info-panel.is-empty)::after{opacity:0}
 /* the corner-shine decoration fades with the card */
 .map-section .panel-rail::before{transition:opacity .35s ease;z-index:1}
 .map-section .panel-rail:has(#state-info-panel.is-empty)::before{opacity:0}
}.map-section #state-info-panel{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;}.map-section .mobile-close-btn{display:none;}.map-section .panel-prompt{display:none;flex-direction:column;align-items:center;text-align:center;gap:13px;margin:auto;padding:18px 6px;}.map-section #state-info-panel.is-empty .panel-prompt{display:flex;}.map-section #state-info-panel.is-empty .panel-body{display:none;}.map-section .panel-prompt .pin{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(155deg,var(--blue-lite),var(--blue) 52%,var(--blue-deep));
  box-shadow:0 6px 14px -4px rgba(44,154,239,.55),inset 0 1px 0 rgba(255,255,255,.55);}.map-section .panel-prompt .pin svg{width:23px;height:23px;fill:#fff;}.map-section .panel-prompt p{font-weight:700;font-size:14px;color:var(--secondary);max-width:240px;line-height:1.5;}.map-section .panel-body{display:flex;flex-direction:column;}.map-section .panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;}.map-section #panel-state-name{font-weight:800;font-size:clamp(20px,2.3vw,24px);letter-spacing:-.03em;color:var(--ink);}.map-section .panel-efile-badge{display:none;font-weight:800;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--deep);background:#fff;border:1px solid #CFE9FC;border-radius:999px;padding:5px 11px;white-space:nowrap;
  box-shadow:0 1px 2px rgba(44,154,239,.12);}.map-section .panel-efile-badge.active{display:inline-flex;align-items:center;gap:5px;}.map-section .panel-efile-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--blue);}.map-section .panel-limit-section{display:flex;flex-direction:column;gap:3px;padding:16px 18px;border-radius:14px;
  background:#fff;border:1px solid #E3F0FB;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(8,13,26,.05);}.map-section .limit-label{font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);}.map-section .limit-value{font-weight:800;font-size:clamp(28px,3.4vw,36px);letter-spacing:-.03em;color:var(--blue-deep);line-height:1.05;}.map-section .panel-divider{height:1px;background:rgba(31,127,204,.14);margin:15px 0;}.map-section .info-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;}.map-section .info-label{font-weight:700;font-size:13px;color:var(--muted);}.map-section .info-value{font-weight:800;font-size:13.5px;color:var(--ink);text-align:right;}.map-section .sol-title{display:block;font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin-bottom:12px;}.map-section .sol-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}.map-section .sol-item{background:#fff;border:1px solid #E3F0FB;border-radius:12px;padding:11px 13px;display:flex;flex-direction:column;gap:4px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(8,13,26,.04);}.map-section .sol-type{font-weight:700;font-size:11.5px;color:var(--muted);line-height:1.2;}.map-section .sol-years{font-weight:800;font-size:16px;color:var(--blue-deep);letter-spacing:-.01em;}.map-section .panel-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px;}.map-section .panel-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;font-size:14px;
  border-radius:999px;padding:13px 18px;transition:transform .18s var(--e),box-shadow .18s var(--e),border-color .18s;}.map-section .panel-btn svg{width:15px;height:15px;flex:none;}.map-section .panel-btn-primary{background:var(--ink);color:#fff;box-shadow:0 10px 22px -10px rgba(8,13,26,.5);}.map-section .panel-btn-primary svg{stroke:#fff;}.map-section .panel-btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(8,13,26,.55);}.map-section .panel-btn-ghost{background:#fff;color:var(--ink);border:1px solid #CFE9FC;}.map-section .panel-btn-ghost svg{stroke:var(--deep);}.map-section .panel-btn-ghost:hover{border-color:rgba(70,174,247,.6);color:var(--deep);}.map-section .panel-note{display:none;margin-top:14px;gap:9px;align-items:flex-start;
  background:#fff;border:1px solid #CFE9FC;border-radius:12px;padding:11px 13px;
  font-size:12.5px;line-height:1.5;color:var(--secondary);box-shadow:0 1px 2px rgba(8,13,26,.04);}.map-section .panel-note.active{display:flex;}.map-section .panel-note svg{width:15px;height:15px;fill:var(--deep);flex:none;margin-top:1px;}.map-section .map-placeholder{display:none;}.map-section .map-cta{display:flex;justify-content:center;margin-top:clamp(34px,4vw,46px);}.map-section .btn-start-claim{display:inline-flex;align-items:center;gap:9px;background:var(--ink);
  color:#fff;font-weight:800;font-size:15px;letter-spacing:-.01em;padding:15px 30px;border:0;border-radius:999px;cursor:pointer;
  box-shadow:0 10px 22px -10px rgba(8,13,26,.5);transition:transform .18s var(--e),box-shadow .18s var(--e);}.map-section .btn-start-claim:hover{transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(8,13,26,.55);}.map-section .btn-start-claim svg{width:18px;height:18px;}.map-section .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s var(--e),transform .6s var(--e);}.map-section.in .reveal{opacity:1;transform:none;}.map-section.in .r2{transition-delay:.07s;}.map-section.in .r3{transition-delay:.14s;}.map-section.in .r4{transition-delay:.2s;}@media(prefers-reduced-motion:reduce){.map-section *{transition:none!important;animation:none!important;scroll-behavior:auto!important;}.map-section .reveal{opacity:1;transform:none;}}

@font-face{font-family:'Nunito Sans';font-weight:400;font-display:swap;src:url(/static/fonts/nunito-sans-400.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:700;font-display:swap;src:url(/static/fonts/nunito-sans-700.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:800;font-display:swap;src:url(/static/fonts/nunito-sans-800.woff2) format('woff2')}
#recoveryPath{--ink:#080D1A;--body:#172033;--gray:#4A4E52;--secondary:#33414F;--muted:#6B7280;--slate:#7A8694;--blue:#46AEF7;--blue-deep:#2C9AEF;--blue-lite:#69C0FB;--deep:#1F7FCC;--ga:#62BDFB;--gb:#2C9AEF;--hairline:#DCE5EE;--paper:#F6F8FA;--paper-2:#EEF4FB;--soft:#EAF7FF;--font:'Nunito Sans',Inter,system-ui,-apple-system,'Segoe UI',sans-serif;--sheet:inset 0 1px 0 rgba(255,255,255,.85),0 1px 2px rgba(8,13,26,.045),0 16px 40px -16px rgba(8,13,26,.13);--e:cubic-bezier(.16,1,.3,1);background:var(--paper);font-family:var(--font);color:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;padding:clamp(64px,8vw,104px) 0;overflow-x:clip}
#recoveryPath *,#recoveryPath *::before,#recoveryPath *::after{box-sizing:border-box}
#recoveryPath .wrap{max-width:1140px;margin:0 auto;padding:0 24px}
#recoveryPath .rp-head{text-align:center;max-width:720px;margin:0 auto}
#recoveryPath .rp-eyebrow{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:clamp(11px,1.2vw,13px);letter-spacing:.18em;text-transform:uppercase;color:var(--slate);margin:0 0 18px}
#recoveryPath .rp-eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--blue)}
#recoveryPath .rp-title{font-weight:800;font-size:clamp(28px,3.9vw,44px);letter-spacing:-.045em;line-height:1.04;color:var(--ink);margin:0}
#recoveryPath .rp-title .b{color:var(--blue)}
#recoveryPath .rp-sub{font-size:clamp(15.5px,1.8vw,18px);line-height:1.55;color:var(--secondary);margin:18px auto 0;max-width:900px} /* RNSD-602: widened + capped so each sentence holds one desktop line */
@media(min-width:861px){#recoveryPath .rp-sub .rp-l{display:block}}
#recoveryPath .rp-track{position:relative;margin-top:clamp(46px,6vw,74px)}
/* RNSD-634 (Michael): thin gray upward-opening bracket the length of the timeline,
   small-caps mid-gray caption. Collapses to a plain centered caption when the
   timeline stacks (<=720px) - a horizontal brace over a vertical list reads wrong. */
.rp-brace{position:relative;margin:34px 2px 30px;height:9px;border-left:1.5px solid #C2CBD6;border-right:1.5px solid #C2CBD6;border-bottom:1.5px solid #C2CBD6;border-radius:0 0 7px 7px}
.rp-brace::after{content:"";position:absolute;left:50%;top:100%;width:1.5px;height:9px;background:#C2CBD6;transform:translateX(-50%)} /* RNSD-635: center stem over the Filed-Served midpoint */
.rp-brace-t{position:absolute;top:24px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#8A94A0}
@media(max-width:720px){
 .rp-brace{border:0;height:auto;margin:24px 0 0;text-align:center}
 .rp-brace::after{display:none}
 .rp-brace-t{position:static;transform:none;white-space:normal;display:inline-block;line-height:1.55;max-width:34ch}
}
#recoveryPath .rp-line{position:absolute;top:25px;left:calc(100%/12);right:calc(100%/12);height:4px;background:#D3E9FB;border-radius:4px;overflow:visible}
#recoveryPath .rp-line-fill{position:absolute;inset:0;border-radius:4px;background:linear-gradient(90deg,var(--ga),var(--blue-deep));transform:scaleX(0);transform-origin:left center}
#recoveryPath.in .rp-line-fill{animation:rcv-draw 1.05s var(--e) forwards}
@keyframes rcv-draw{to{transform:scaleX(1)}}
#recoveryPath .rp-nodes{position:relative;display:flex;z-index:1}
#recoveryPath .rp-node{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 7px}
#recoveryPath .rp-dot{width:54px;height:54px;border-radius:50%;background:#fff;border:1.5px solid rgba(70,174,247,.55);display:grid;place-items:center;box-shadow:var(--sheet);position:relative;z-index:1;opacity:0;transform:translateY(9px) scale(.92)}
#recoveryPath.in .rp-dot{animation:rcv-pop .6s var(--e) forwards}
@keyframes rcv-pop{to{opacity:1;transform:none}}
#recoveryPath .rp-dot svg{width:23px;height:23px;fill:var(--blue-deep);display:block}
#recoveryPath .rp-dot--end{background:var(--ink);border-color:var(--ink);box-shadow:none} /* RNSD-604 (#4): the sheet shadow read as a stray dark outline ring on the dark dot */
#recoveryPath .rp-dot--end svg{fill:none;stroke:#fff;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
#recoveryPath .rp-dot--end::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid var(--blue);opacity:0;pointer-events:none}
#recoveryPath.in .rp-dot--end::after{animation:rcv-whole 2.6s var(--e) infinite}
@keyframes rcv-whole{0%,80%{transform:scale(.85);opacity:0}90%{opacity:.6}100%{transform:scale(1.9);opacity:0}}
#recoveryPath .rp-spark{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);width:48px;height:8px;border-radius:8px;background:linear-gradient(90deg,rgba(127,200,251,0),#62BDFB 55%,#DBF1FF);box-shadow:0 0 6px rgba(98,189,251,.55);opacity:0;pointer-events:none}
#recoveryPath.in .rp-spark{animation:rcv-spark 2.6s linear infinite}
@keyframes rcv-spark{0%{left:0%;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:100%;opacity:0}}
#recoveryPath .rp-name{font-weight:800;font-size:clamp(13px,1.5vw,15px);letter-spacing:-.012em;color:var(--ink);margin-top:15px;opacity:0;transform:translateY(7px)}
#recoveryPath .rp-desc{font-size:clamp(11.5px,1.15vw,12.5px);line-height:1.42;color:#4B5563;margin:6px auto 0;max-width:152px;opacity:0;transform:translateY(7px)}
#recoveryPath.in .rp-name{animation:rcv-rise .55s var(--e) forwards}
#recoveryPath.in .rp-desc{animation:rcv-rise .55s var(--e) forwards}
@keyframes rcv-rise{to{opacity:1;transform:none}}
#recoveryPath .rp-node:nth-child(1) .rp-dot{animation-delay:.05s}#recoveryPath .rp-node:nth-child(1) .rp-name,#recoveryPath .rp-node:nth-child(1) .rp-desc{animation-delay:.14s}
#recoveryPath .rp-node:nth-child(2) .rp-dot{animation-delay:.17s}#recoveryPath .rp-node:nth-child(2) .rp-name,#recoveryPath .rp-node:nth-child(2) .rp-desc{animation-delay:.26s}
#recoveryPath .rp-node:nth-child(3) .rp-dot{animation-delay:.29s}#recoveryPath .rp-node:nth-child(3) .rp-name,#recoveryPath .rp-node:nth-child(3) .rp-desc{animation-delay:.38s}
#recoveryPath .rp-node:nth-child(4) .rp-dot{animation-delay:.41s}#recoveryPath .rp-node:nth-child(4) .rp-name,#recoveryPath .rp-node:nth-child(4) .rp-desc{animation-delay:.50s}
#recoveryPath .rp-node:nth-child(5) .rp-dot{animation-delay:.53s}#recoveryPath .rp-node:nth-child(5) .rp-name,#recoveryPath .rp-node:nth-child(5) .rp-desc{animation-delay:.62s}
#recoveryPath .rp-node:nth-child(6) .rp-dot{animation-delay:.65s}#recoveryPath .rp-node:nth-child(6) .rp-name,#recoveryPath .rp-node:nth-child(6) .rp-desc{animation-delay:.74s}
#recoveryPath .rp-close{display:flex;align-items:center;justify-content:center;gap:11px;margin:clamp(48px,6vw,72px) auto 0;max-width:560px;padding:15px 22px;background:var(--soft);border:1px solid #CDE9FB;border-radius:16px}
#recoveryPath .rp-close svg{flex:0 0 auto;width:21px;height:21px;fill:none;stroke:var(--deep);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
#recoveryPath .rp-close p{margin:0;font-size:clamp(13.5px,1.5vw,15px);font-weight:600;color:var(--secondary);line-height:1.4}
#recoveryPath .rp-close b{color:var(--ink);font-weight:800}
@media(max-width:720px){
  #recoveryPath .rp-track{margin-top:40px;padding-left:6px}
  #recoveryPath .rp-line{top:8px;bottom:8px;left:25px;right:auto;width:4px;height:auto}
  #recoveryPath .rp-spark{top:0;left:50%;width:8px;height:48px;background:linear-gradient(180deg,rgba(127,200,251,0),#62BDFB 55%,#DBF1FF)}
  #recoveryPath.in .rp-spark{animation:rcv-sparkV 2.6s linear infinite}
  @keyframes rcv-sparkV{0%{top:0%;opacity:0}10%{opacity:1}90%{opacity:1}100%{top:100%;opacity:0}}
  #recoveryPath .rp-line-fill{transform:scaleY(0);transform-origin:top center}
  #recoveryPath.in .rp-line-fill{animation:rcv-drawV 1.05s var(--e) forwards}
  @keyframes rcv-drawV{to{transform:scaleY(1)}}
  #recoveryPath .rp-nodes{flex-direction:column;gap:26px}
  #recoveryPath .rp-node{flex:0 0 auto;flex-direction:row;align-items:flex-start;text-align:left;padding:0;gap:18px}
  #recoveryPath .rp-dot{width:54px;height:54px;flex:0 0 54px}
  #recoveryPath .rp-name{margin-top:0}
  #recoveryPath .rp-desc{margin-top:5px;max-width:none}
  #recoveryPath .rp-nodetext{padding-top:6px}
}
@media(min-width:721px){#recoveryPath .rp-nodetext{display:contents}#recoveryPath .rp-name{min-height:2.35em;display:flex;align-items:flex-start;justify-content:center}}
@media(prefers-reduced-motion:reduce){
  #recoveryPath .rp-line-fill{transform:none !important;animation:none !important}
  #recoveryPath .rp-dot,#recoveryPath .rp-name,#recoveryPath .rp-desc{opacity:1 !important;transform:none !important;animation:none !important}
  #recoveryPath .rp-dot--end::after,#recoveryPath .rp-spark{display:none}
}


@font-face{font-family:'Nunito Sans';font-weight:400;font-display:swap;src:url(/static/fonts/nunito-sans-400.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:700;font-display:swap;src:url(/static/fonts/nunito-sans-700.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:800;font-display:swap;src:url(/static/fonts/nunito-sans-800.woff2) format('woff2')}
#how-it-works{--ink:#080D1A;--body:#172033;--gray:#4A4E52;--secondary:#33414F;--muted:#6B7280;--slate:#7A8694;--blue:#46AEF7;--blue-deep:#2C9AEF;--blue-lite:#69C0FB;--deep:#1F7FCC;--ga:#62BDFB;--gb:#2C9AEF;--hairline:#DCE5EE;--paper:#F6F8FA;--paper-2:#EEF4FB;--soft:#EAF7FF;--map-dot:#9FD2FA;--font:'Nunito Sans',Inter,system-ui,-apple-system,'Segoe UI',sans-serif;--sheet:inset 0 1px 0 rgba(255,255,255,.85),0 1px 2px rgba(8,13,26,.045),0 16px 40px -16px rgba(8,13,26,.13);--shadow-card:var(--sheet);--shadow-jewel:0 6px 14px -4px rgba(44,154,239,.55),inset 0 1px 0 rgba(255,255,255,.55);--e:cubic-bezier(.16,1,.3,1);font-family:var(--font);font-feature-settings:'ss02' 1;background:#fff;color:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;padding:clamp(60px,8vw,120px) 0}
#how-it-works *{box-sizing:border-box}
#how-it-works .wrap{max-width:1060px;margin:0 auto;padding:0 24px}
#how-it-works .od-head{text-align:center;max-width:680px;margin:0 auto}
#how-it-works .od-eyebrow{font-weight:800;font-size:clamp(11px,1.2vw,13px);letter-spacing:.18em;text-transform:uppercase;color:var(--slate);margin:0 0 16px;display:inline-flex;align-items:center;gap:10px}
#how-it-works .od-eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--blue-deep))}
#how-it-works .od-title{margin:0;font-weight:800;font-size:clamp(28px,3.9vw,44px);letter-spacing:-.045em;line-height:1.0;color:var(--ink);text-wrap:balance}
#how-it-works .od-title .accent{color:var(--blue-deep)}
#how-it-works .od-sub{font-weight:400;font-size:clamp(15px,1.6vw,18px);line-height:1.5;color:var(--secondary);margin:18px auto 0;max-width:540px}
#how-it-works .od-sub b{font-weight:800;color:var(--ink)}
#how-it-works .od-scope{display:inline-flex;align-items:center;gap:8px;margin:18px auto 0;background:var(--soft);border:1px solid #D4ECFD;border-radius:999px;padding:8px 16px 8px 12px;font-weight:800;font-size:13px;letter-spacing:-.01em;color:var(--deep);box-shadow:0 1px 2px rgba(44,154,239,.12)}
#how-it-works .od-scope svg{width:16px;height:16px;fill:var(--blue-deep);flex:none}
#how-it-works .od-hero{display:flex;flex-direction:column;align-items:center;gap:20px;margin:clamp(40px,5vw,60px) 0 0}
#how-it-works .od-wheel{position:relative;width:clamp(228px,26vw,272px);aspect-ratio:1;filter:drop-shadow(0 12px 22px rgba(31,127,204,.30)) drop-shadow(0 3px 7px rgba(31,127,204,.22))}
#how-it-works .od-wheel svg{width:100%;height:100%;transform:rotate(-90deg)}
#how-it-works .od-wheel__c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
#how-it-works .od-wheel__big{font-weight:800;font-size:clamp(48px,6.2vw,62px);letter-spacing:-.045em;line-height:1;background:linear-gradient(160deg,#4FB4F8,#2C9AEF 58%,#1F84DB);-webkit-background-clip:text;background-clip:text;color:transparent}
#how-it-works .od-wheel__sub{margin-top:3px;font-weight:800;font-size:clamp(11px,1.2vw,13px);letter-spacing:.01em;line-height:1.12;color:var(--gray)}
#how-it-works .od-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
#how-it-works .od-chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--hairline);border-radius:999px;padding:7px 14px;font-weight:700;font-size:12.5px;color:var(--secondary);box-shadow:0 1px 2px rgba(8,13,26,.05)}
#how-it-works .od-chip small{color:var(--muted);font-weight:600;margin-left:3px}
#how-it-works .od-chip .sw{width:9px;height:9px;border-radius:50%}
#how-it-works .od-chip .sw.blue{background:linear-gradient(180deg,var(--ga),var(--gb));box-shadow:0 0 0 4px rgba(70,174,247,.16)}
#how-it-works .od-chip .sw.gray{background:var(--ink)}
#how-it-works .od-time{display:inline-flex;align-items:center;gap:9px;margin-top:2px;font-size:13.5px;color:var(--muted);font-weight:600}
#how-it-works .od-time svg{width:18px;height:18px;fill:var(--blue-deep);flex:none}
#how-it-works .od-time b{font-weight:800;color:var(--ink)}
#how-it-works .od-95{margin:clamp(48px,6vw,76px) 0 0}
#how-it-works .od-lab{display:flex;align-items:center;gap:18px;justify-content:center;max-width:600px;margin:0 auto clamp(26px,3.4vw,38px);font-weight:800;font-size:clamp(11px,1.2vw,13px);letter-spacing:.18em;text-transform:uppercase;color:var(--slate)}
#how-it-works .od-lab::before,#how-it-works .od-lab::after{content:"";flex:1;height:1px;background:var(--hairline)}
#how-it-works .od-lab span{white-space:nowrap}
#how-it-works .od-lab b{color:var(--deep)}
#how-it-works .phases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,26px);position:relative}
#how-it-works .phase{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:18px 18px 20px;border-radius:16px;border:1px solid #EAF0F7;background:#FBFCFE;outline:none;-webkit-tap-highlight-color:transparent;cursor:pointer;transition:transform .24s var(--e),box-shadow .24s var(--e),background .24s var(--e),border-color .24s var(--e)}
#how-it-works .phase:hover,#how-it-works .phase:focus-visible,#how-it-works .phase:active,#how-it-works .phase.is-on{background:#fff;border-color:rgba(70,174,247,.34);transform:translateY(-3px);box-shadow:0 1px 2px rgba(8,13,26,.05),0 12px 26px -16px rgba(8,13,26,.13)}
#how-it-works .phase:hover .phase__name,#how-it-works .phase:focus-visible .phase__name,#how-it-works .phase:active .phase__name,#how-it-works .phase.is-on .phase__name{color:var(--blue-deep)}
@media (prefers-reduced-motion:reduce){#how-it-works .phase{transition:none}#how-it-works .phase:hover,#how-it-works .phase.is-on,#how-it-works .phase:active{transform:none}}
#how-it-works .phase__head{display:flex;align-items:center;gap:10px;margin:0 0 16px;width:100%}
#how-it-works .phase__node{position:relative;z-index:1;flex:none;width:28px;height:28px;border-radius:50%;background:#fff;border:2px solid #fff;display:grid;place-items:center;font-weight:800;font-size:13px;color:var(--deep);box-shadow:0 0 0 1.5px #BFE0FB,0 4px 10px -4px rgba(44,154,239,.5)}
#how-it-works .phase__name{font-weight:800;font-size:clamp(15px,1.7vw,17px);letter-spacing:-.02em;color:var(--ink)}
#how-it-works .phase__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
#how-it-works .phase__items li{position:relative;display:grid;grid-template-columns:28px 1fr;gap:0 10px;align-items:start;font-weight:600;font-size:13.5px;line-height:1.45;color:var(--secondary)}
#how-it-works .pchk{justify-self:center;width:17px;height:17px;margin-top:1px}
#how-it-works .phase__items .star{color:var(--blue-deep);font-weight:800}
#how-it-works .od-5{margin:clamp(46px,6vw,72px) auto 0;max-width:760px}
#how-it-works .od-5__lab{display:flex;align-items:center;gap:18px;justify-content:center;margin:0 auto 22px;max-width:560px;font-weight:800;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
#how-it-works .od-5__lab::before,#how-it-works .od-5__lab::after{content:"";flex:1;height:1px;background:var(--hairline)}
#how-it-works .od-5__lab span{white-space:nowrap}
#how-it-works .part-row{display:flex;align-items:stretch;justify-content:center;gap:0}
#how-it-works .part{flex:1;text-align:center;padding:4px 18px;position:relative;display:flex;flex-direction:column;align-items:center;gap:7px}
#how-it-works .part + .part::before{content:"";position:absolute;left:0;top:14%;bottom:14%;width:1px;background:var(--hairline)}
#how-it-works .part__ic{width:24px;height:24px;display:grid;place-items:center}
#how-it-works .part__ic svg{width:20px;height:20px;fill:var(--blue)} /* RNSD-580: Your Part icons in brand blue (was slate) */
#how-it-works .part h3{margin:0;font-weight:800;font-size:13.5px;letter-spacing:-.01em;color:var(--secondary)}  /* RNSD-1119: h5->h3, no h2-to-h5 hierarchy jump */
#how-it-works .part p{margin:0;font-weight:500;font-size:12px;line-height:1.4;color:var(--muted);max-width:190px}
#how-it-works .part p .ink{font-weight:700;color:var(--gray)}
#how-it-works .od-band{display:flex;align-items:center;justify-content:center;gap:12px;margin:clamp(40px,5vw,60px) auto 0;max-width:560px;text-align:center}
#how-it-works .od-band__ic{flex:none;width:40px;height:40px;border-radius:12px;background:var(--soft);border:1px solid #D4ECFD;display:grid;place-items:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
#how-it-works .od-band__ic svg{width:21px;height:21px;fill:var(--blue-deep)}
#how-it-works .od-band p{margin:0;font-weight:600;font-size:clamp(14px,1.6vw,16px);color:var(--secondary)}
#how-it-works .od-band p b{font-weight:800;color:var(--ink)}
#how-it-works .od-foot{margin:clamp(22px,3vw,30px) auto 0;max-width:940px;text-align:center;font-weight:500;font-size:12.5px;line-height:1.5;color:var(--muted)}
@keyframes od4-breath{0%{box-shadow:0 0 0 1.5px #BFE0FB,0 4px 10px -4px rgba(44,154,239,.5),0 0 0 0 rgba(70,174,247,.24)}70%,100%{box-shadow:0 0 0 1.5px #BFE0FB,0 4px 10px -4px rgba(44,154,239,.5),0 0 0 9px rgba(70,174,247,0)}}
@media (prefers-reduced-motion:no-preference){#how-it-works .phase__node{animation:od4-breath 3.4s ease-out infinite}#how-it-works .phase:nth-child(2) .phase__node{animation-delay:-1.1s}#how-it-works .phase:nth-child(3) .phase__node{animation-delay:-2.2s}#how-it-works .phase:nth-child(4) .phase__node{animation-delay:-3.3s}}
@media (max-width:820px){
  #how-it-works .phases{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}
}
@media (max-width:560px){
  #how-it-works .phases{grid-template-columns:1fr;gap:26px}
  #how-it-works .part-row{flex-direction:column;gap:18px;max-width:280px;margin:0 auto}
  #how-it-works .part{flex-direction:row;text-align:left;justify-content:flex-start;gap:13px;padding:0}
  #how-it-works .part + .part::before{display:none}
  #how-it-works .part h3{font-size:14px}
  #how-it-works .part p{font-size:12.5px;max-width:none}
  #how-it-works .part__txt{display:flex;flex-direction:column;gap:2px}
  #how-it-works .od-band{flex-direction:column;gap:10px}
}
#how-it-works .od-cta-wrap{display:flex;justify-content:center;margin:clamp(22px,3vw,30px) 0 0}
#how-it-works .od-cta{display:inline-flex;align-items:center;gap:9px;background:var(--ink);color:#fff;font-weight:800;font-size:15px;letter-spacing:-.01em;padding:14px 26px;border-radius:999px;text-decoration:none;transition:transform .2s var(--e),box-shadow .2s var(--e);box-shadow:0 10px 22px -10px rgba(8,13,26,.5)}
#how-it-works .od-cta:hover{transform:translateY(-2px)}
#how-it-works .od-cta svg{width:18px;height:18px}
@keyframes od4-pop{from{transform:scale(.93);opacity:.45}to{transform:scale(1);opacity:1}}
@keyframes od4-rise{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}
#how-it-works.od-in .od-wheel{animation:od4-pop .7s var(--e) both}
#how-it-works.od-in .phases .phase{animation:od4-rise .55s var(--e) both}
#how-it-works.od-in .phases .phase:nth-child(2){animation-delay:.07s}
#how-it-works.od-in .phases .phase:nth-child(3){animation-delay:.14s}
#how-it-works.od-in .phases .phase:nth-child(4){animation-delay:.21s}
@media(prefers-reduced-motion:reduce){#how-it-works.od-in .od-wheel,#how-it-works.od-in .phases .phase{animation:none}}


:root{--blue:#46AEF7;--ga:#62BDFB;--gb:#2C9AEF;--deep:#1F7FCC;--ink:#080D1A;--body:#172033;--secondary:#33414F;--gray:#4A4E52;--muted:#6B7280;--slate:#7A8694;--hairline:#DCE5EE;--soft:#EAF7FF;--paper:#F6F8FA;--card:#fff;--sheet:inset 0 1px 0 rgba(255,255,255,.85),0 1px 2px rgba(8,13,26,.045),0 16px 40px -16px rgba(8,13,26,.13);--e:cubic-bezier(.22,.61,.36,1);--eo:cubic-bezier(.16,1,.3,1);}
*{box-sizing:border-box;}
@font-face{font-family:'Nunito Sans';font-weight:400;font-display:swap;src:url(/static/fonts/nunito-sans-400.woff2) format('woff2');}
@font-face{font-family:'Nunito Sans';font-weight:700;font-display:swap;src:url(/static/fonts/nunito-sans-700.woff2) format('woff2');}
@font-face{font-family:'Nunito Sans';font-weight:800;font-display:swap;src:url(/static/fonts/nunito-sans-800.woff2) format('woff2');}
.dr{position:relative;isolation:isolate;padding:clamp(62px,8vw,100px) 20px clamp(66px,8vw,104px);background:#fff;color:var(--ink);font-family:'Nunito Sans',Inter,system-ui,-apple-system,sans-serif;font-feature-settings:'ss02' on;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
.dr-head{max-width:600px;margin:0 auto clamp(34px,4.4vw,52px);text-align:center;} /* RNSD-640: 720->600 so the H2 balances onto two lines like every sibling section - measured type sizes were already uniform; the lone single-line 44px title was what read "too big" */
.dr-eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 14px;font-size:13px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--slate);}
.dr-eyebrow::before{content:"";flex:none;width:26px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--gb));}
.dr-title{margin:0 0 14px;font-weight:800;font-size:clamp(28px,3.9vw,44px);line-height:1.0;letter-spacing:-.045em;color:var(--ink);text-wrap:balance;}
.dr-sub{margin:0 auto;max-width:30em;font-size:clamp(15px,1.6vw,17px);line-height:1.5;color:var(--secondary);}
.dr-doors{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(44px,6vw,68px);max-width:1030px;margin:0 auto;}
.dr-door--wide{grid-column:1/-1;}
.dr-door{display:flex;align-items:center;gap:16px;padding:13px 12px 13px 8px;border-bottom:1px solid var(--hairline);border-radius:12px;text-decoration:none;color:var(--ink);-webkit-tap-highlight-color:transparent;transition:padding .22s var(--e),background-color .22s var(--e);}
.dr-door-m{flex:1;min-width:0;}
.dr-door-n{display:block;font-size:16.5px;font-weight:800;letter-spacing:-.012em;line-height:1.2;transition:color .2s;}
.dr-door-d{display:block;font-size:13px;color:#4B5563;line-height:1.44;margin-top:3px;} /* RNSD-611: DD #28 darker-gray fix carried forward */
.dr-door-c{color:#C7D3E0;flex:none;transition:transform .22s var(--e),color .2s;}
.dr-door:hover{padding-left:16px;background:#F7FBFF;}
.dr-door:active{background:var(--soft);}
.dr-door:active .dr-door-n{color:var(--deep);}
.dr-door:hover .dr-door-n{color:var(--deep);}
.dr-door:hover .dr-door-c{color:var(--blue);transform:translateX(3px);}
.dr-door:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:8px;}
.dr-else{grid-column:1/-1;margin-top:26px;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;gap:15px;padding:18px 20px;border:1px solid var(--hairline);border-radius:16px;background:linear-gradient(180deg,#fff,var(--soft));box-shadow:var(--sheet);text-decoration:none;color:var(--ink);transition:transform .2s var(--e),box-shadow .2s var(--e);}
.dr-else:hover{transform:translateY(-1px);box-shadow:var(--sheet),0 18px 36px -22px rgba(8,13,26,.20);}
.dr-else:focus-visible{outline:2px solid var(--blue);outline-offset:3px;}
.dr-else-ic{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#fff;border:1px solid rgba(70,174,247,.28);color:var(--deep);box-shadow:inset 0 1px 0 rgba(255,255,255,.9);}
.dr-else-go{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:54px;padding:0 26px;border-radius:999px;background:#080D1A;color:#fff;font-size:15.5px;font-weight:800;letter-spacing:-.01em;box-shadow:0 14px 30px -14px rgba(8,13,26,.45);transition:transform .2s var(--e),box-shadow .2s var(--e);}
.dr-else:hover .dr-else-go{transform:translateY(-2px);box-shadow:0 20px 40px -16px rgba(8,13,26,.5);}
.dr-else:active .dr-else-go{transform:scale(.98);}
.dr-else-go svg{transition:transform .2s var(--e);}
.dr-else:hover .dr-else-go svg{transform:translateX(3px);}
@media(max-width:680px){.dr-doors{grid-template-columns:1fr;grid-auto-rows:auto;gap:0;}.dr-door{padding:13px 8px;gap:14px;}.dr-doc{width:56px;height:70px;}.dr-doc-front{padding:7px 7px 6px;}.dr-else{flex-wrap:wrap;padding:20px 18px;}.dr-else-go{flex-basis:100%;margin-left:0;margin-top:14px;}}
/* ---- document artifact ---- */
.dr-doc{position:relative;flex:none;width:60px;height:74px;}
.dr-doc-back{position:absolute;inset:5px -4px -5px 4px;background:linear-gradient(180deg,#F0F9FF,#E2F3FF);border:1px solid #CFE6FB;border-radius:7px;transition:transform .25s var(--e);}
.dr-doc-front{position:absolute;inset:0;display:flex;flex-direction:column;gap:4.5px;padding:8px 8px 7px;background:#fff;border:1px solid var(--hairline);border-radius:7px;box-shadow:0 1px 2px rgba(8,13,26,.05),0 8px 18px -10px rgba(8,13,26,.14);transition:transform .25s var(--e),box-shadow .25s var(--e);}
.dr-doc-top{display:flex;align-items:center;margin-bottom:1px;}
.dr-doc-top svg{flex:none;width:14px;height:14px;color:var(--deep);}
.dr-doc-b{display:block;height:3.5px;border-radius:2px;background:#E4E9EF;}
.dr-doc-sig{width:42px;height:11px;margin-top:auto;}
.dr-doc-sig path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s var(--eo);transition-delay:calc(.35s + var(--i)*.09s);}
.dr-in .dr-doc-sig path{stroke-dashoffset:0;}
.dr-door:hover .dr-doc-front,.dr-door:active .dr-doc-front{transform:translate(-1px,-2px);box-shadow:0 1px 2px rgba(8,13,26,.05),0 12px 24px -10px rgba(8,13,26,.20);}
.dr-door:hover .dr-doc-back,.dr-door:active .dr-doc-back{transform:translate(2px,2px);}
/* scroll-replay reveal */
.dr-js .dr-head,.dr-js .dr-door,.dr-js .dr-else{opacity:0;transform:translateY(14px);}
.dr-in .dr-head{opacity:1;transform:none;transition:opacity .6s var(--eo),transform .6s var(--eo);}
.dr-in .dr-door,.dr-in .dr-else{opacity:1;transform:none;transition:opacity .55s var(--eo),transform .55s var(--eo);transition-delay:calc(.12s + var(--i)*.06s);}
@media(prefers-reduced-motion:reduce){.dr-js .dr-head,.dr-js .dr-door,.dr-js .dr-else{opacity:1!important;transform:none!important;}.dr-doc-sig path{stroke-dashoffset:0!important;transition:none!important;}.dr-door,.dr-door-c,.dr-doc-front,.dr-doc-back,.dr-else,.dr-else-go,.dr-else-go svg{transition:none!important;}.dr-door:hover .dr-doc-front,.dr-door:hover .dr-doc-back,.dr-else:hover .dr-else-go,.dr-else:active .dr-else-go{transform:none!important;}}

@font-face{font-family:'Nunito Sans';font-weight:400;font-display:swap;src:url(/static/fonts/nunito-sans-400.woff2) format('woff2')}@font-face{font-family:'Nunito Sans';font-weight:700;font-display:swap;src:url(/static/fonts/nunito-sans-700.woff2) format('woff2')}@font-face{font-family:'Nunito Sans';font-weight:800;font-display:swap;src:url(/static/fonts/nunito-sans-800.woff2) format('woff2')}#pjc{--blue:#46AEF7;--ga:#62BDFB;--gb:#2C9AEF;--deep:#1F7FCC;--gray:#4A4E52;--muted:#6B7280;--ink:#080D1A;--hairline:#DCE5EE;--slate:#7A8694;--track:#C7D5E4;--ease:cubic-bezier(.16,1,.3,1);--sheet:inset 0 1px 0 rgba(255,255,255,.85),0 1px 2px rgba(8,13,26,.045),0 16px 40px -16px rgba(8,13,26,.13)}
#pjc,#pjc *{box-sizing:border-box;}
.pjc{position:relative;isolation:isolate;padding:clamp(62px,8vw,100px) 20px clamp(66px,8vw,104px);background:#fff;color:var(--ink);
  font-family:'Nunito Sans',Inter,system-ui,-apple-system,sans-serif;font-feature-settings:"ss02" 1;-webkit-font-smoothing:antialiased;overflow:hidden;}
.pjc::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(110% 74% at 82% -4%, rgba(70,174,247,.18), rgba(70,174,247,0) 58%),
            linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(247,251,255,.6) 50%, rgba(239,246,253,.95) 100%);}
.pjc__inner{position:relative;z-index:2;max-width:1060px;margin:0 auto;}
.pjc__eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 14px;font-size:13px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--slate);}
.pjc__eyebrow::before{content:"";flex:none;width:26px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--gb));}

.pjc__title{margin:0 auto 16px;max-width:16ch;font-weight:800;font-size:clamp(28px,3.9vw,44px);line-height:1.0;letter-spacing:-.045em;text-align:center;text-wrap:balance;}
.pjc__title em{font-style:normal;color:var(--blue);}
.pjc__sub{margin:0 auto 12px;max-width:60ch;font-size:clamp(15.5px,1.7vw,18px);font-weight:500;line-height:1.55;color:#33414F;text-align:center;}
.pjc__trust{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 18px;margin:0 auto 36px;font-size:12.5px;font-weight:700;color:var(--muted);}
.pjc__trust span{display:inline-flex;align-items:center;gap:6px;}
.pjc__trust svg{width:14px;height:14px;stroke:var(--blue);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;}

.pjc__card{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:0;background:#fff;border:1px solid var(--hairline);border-radius:26px;overflow:hidden;
  box-shadow:var(--sheet),0 30px 64px -36px rgba(8,13,26,.20);
  opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.pjc.in .pjc__card{opacity:1;transform:none;}
.pjc__form{padding:clamp(24px,3vw,38px);display:flex;flex-direction:column;gap:17px;}
.pjc__formhint{font-size:13px;font-weight:700;color:var(--gray);margin:-2px 0 2px;}
.pjc__formhint b{color:var(--ink);font-weight:800;}
.pjc__lab{display:flex;flex-direction:column;gap:7px;font-size:16px;font-weight:800;color:var(--ink);} /* RNSD-618: label/value sizes swapped per Nate */
.pjc__row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.pjc__field{display:flex;align-items:center;border:1.5px solid var(--hairline);border-radius:12px;background:#fff;transition:border-color .15s,box-shadow .15s;overflow:hidden;box-shadow:inset 0 1px 2px rgba(8,13,26,.05);}
.pjc__field:focus-within{border-color:var(--blue);box-shadow:inset 0 1px 2px rgba(8,13,26,.04),0 0 0 3px rgba(70,174,247,.16);}
.pjc__pre,.pjc__suf{padding:0 12px;font-weight:800;color:var(--muted);font-size:13px;}
/* RNSD-618: iOS parity with the standalone calculator (RNSD-592) - WebKit ignores the
   font shorthand on selects/date inputs; family set explicitly; date values left-aligned. */
.pjc input,.pjc select,.pjc button,.pjc textarea{font-family:'Nunito Sans',Inter,system-ui,-apple-system,sans-serif;}
.pjc input[type=date]{text-align:left;}
.pjc input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0;}
.pjc__field input{flex:1;min-width:0;border:0;outline:0;background:transparent;padding:13px 12px;font:inherit;font-weight:700;font-size:13px;color:var(--ink);}
.pjc__pre{border-right:1px solid var(--hairline);}.pjc__suf{border-left:1px solid var(--hairline);}
.pjc input[type=date],.pjc select{width:100%;border:1.5px solid var(--hairline);border-radius:12px;background:#fff;padding:12px;font:inherit;font-weight:700;font-size:13px;color:var(--ink);transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none;}
.pjc select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;}
.pjc input[type=date]:focus,.pjc select:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(70,174,247,.16);}
.pjc__hint{font-size:11.5px;font-weight:600;line-height:1.4;color:var(--muted);}
.pjc__divider{display:flex;align-items:center;gap:12px;margin:4px 0 0;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.pjc__divider::before,.pjc__divider::after{content:"";flex:1;height:1px;background:var(--hairline);}
.pjc__toggle{display:flex;gap:6px;background:#F1F5F9;border-radius:12px;padding:4px;align-self:end;box-shadow:inset 0 1px 2px rgba(8,13,26,.06);}
.pjc__toggle button{flex:1;border:0;background:transparent;border-radius:9px;padding:12px 10px;font:inherit;font-weight:800;font-size:13.5px;color:var(--muted);cursor:pointer;transition:.15s;}
.pjc__toggle button.on{background:#fff;color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(8,13,26,.12),0 2px 5px rgba(8,13,26,.06);}
.pjc__note{font-size:12px;font-weight:600;line-height:1.5;color:var(--gray);background:#F5FAFE;border:1px solid #E2EEF8;border-radius:10px;padding:10px 12px;}
.pjc__note b{color:var(--ink);font-weight:800;}.pjc__note .cite{display:inline-block;margin-left:4px;color:var(--deep);font-weight:800;}
.pjc__note:empty{display:none;}

/* RESULT — the reveal */
.pjc__result{position:relative;padding:clamp(26px,3vw,40px);display:flex;flex-direction:column;justify-content:center;
  background:linear-gradient(165deg,#F4FAFF 0%,#E9F4FE 60%,#E2F0FD 100%);border-left:1px solid var(--hairline);overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 1px 0 0 rgba(255,255,255,.45),inset 0 34px 60px -40px rgba(44,154,239,.22);}
.pjc__result::before{content:"";position:absolute;top:-30%;right:-20%;width:60%;height:80%;pointer-events:none;
  background:radial-gradient(circle,rgba(70,174,247,.18),transparent 70%);}
.pjc__rhead{display:flex;align-items:center;gap:8px;margin:0 0 6px;position:relative;}
.pjc__rhead svg{width:16px;height:16px;stroke:var(--deep);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;}
.pjc__rlabel{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--deep);}
.pjc__total{margin:0 0 12px;font-weight:800;font-size:clamp(38px,5.4vw,58px);line-height:.98;letter-spacing:-.035em;color:var(--ink);position:relative;font-variant-numeric:tabular-nums;}
.pjc__delta{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;margin:0 0 22px;padding:7px 13px;border-radius:999px;
  background:rgba(70,174,247,.14);color:var(--deep);font-weight:800;font-size:13.5px;position:relative;transition:opacity .3s;}
.pjc__delta svg{width:14px;height:14px;stroke:var(--deep);fill:none;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;}
.pjc__bar{position:relative;display:flex;height:13px;border-radius:999px;overflow:hidden;background:#E3ECF5;margin:0 0 12px;}
.pjc__bp{height:100%;background:var(--track);width:0;transition:width .7s var(--ease);}
.pjc__bi{height:100%;background:linear-gradient(90deg,var(--ga),var(--gb));width:0;transition:width .7s var(--ease);min-width:0;}
.pjc__legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0 0 18px;font-size:13px;font-weight:700;color:var(--gray);position:relative;}
.pjc__legend span{display:inline-flex;align-items:center;gap:7px;}
.pjc__legend b{color:var(--ink);font-weight:800;font-variant-numeric:tabular-nums;}
.pjc__dot{width:10px;height:10px;border-radius:3px;flex:0 0 auto;}
.pjc__dot.p{background:var(--track);}.pjc__dot.i{background:var(--blue);}
.pjc__break{margin:0 0 20px;font-size:12px;font-weight:600;line-height:1.5;color:var(--muted);min-height:1.5em;position:relative;}
.pjc__cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;align-self:center;text-decoration:none;cursor:pointer;background:var(--ink);color:#fff;font-weight:800;font-size:15px;letter-spacing:-.01em;padding:14px 26px;border-radius:999px;transition:transform .2s var(--ease),box-shadow .2s var(--ease);box-shadow:0 10px 22px -10px rgba(8,13,26,.5);}
.pjc__cta svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.pjc__cta:hover{transform:translateY(-2px);}
.pjc__cta:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(70,174,247,.5),0 16px 34px -14px rgba(8,13,26,.5);}
.pjc__micro{margin:12px 0 0;font-size:12.5px;font-weight:700;color:var(--muted);position:relative;}
.pjc__micro b{color:var(--deep);font-weight:800;}
.pjc__disc{margin:24px auto 0;max-width:82ch;font-size:12px;font-weight:500;line-height:1.6;color:var(--muted);text-align:center;}

@media(max-width:860px){.pjc__card{grid-template-columns:1fr;}.pjc__result{border-left:0;border-top:1px solid var(--hairline);}}

@media(max-width:480px){.pjc__row{grid-template-columns:1fr;}.pjc__toggle{align-self:stretch;}}
@media(prefers-reduced-motion:reduce){.pjc__card,.pjc__bp,.pjc__bi{transition:none;}}
@font-face{font-family:'Nunito Sans';font-weight:400;font-display:swap;src:url(/static/fonts/nunito-sans-400.woff2) format('woff2')}@font-face{font-family:'Nunito Sans';font-weight:700;font-display:swap;src:url(/static/fonts/nunito-sans-700.woff2) format('woff2')}@font-face{font-family:'Nunito Sans';font-weight:800;font-display:swap;src:url(/static/fonts/nunito-sans-800.woff2) format('woff2')}.pksec{--ink:#080D1A;--text:#172033;--secondary:#33414F;--muted:#6B7280;--slate:#7A8694;
--blue:#46AEF7;--blue-deep:#2C9AEF;--deep:#1F7FCC;--ga:#62BDFB;--gb:#2C9AEF;
--amber:#F5A623;--amber-line:#E8A93D;--line:#DCE5EE;--line2:#EAEFF5;--field:#F7FAFC;--paper:#F6F8FA;--soft:#EAF7FF;
--font:'Nunito Sans',Inter,system-ui,-apple-system,'Segoe UI',sans-serif;--e:cubic-bezier(.16,1,.3,1);--sec-pad:clamp(48px,6vw,80px);
--sheet:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(8,13,26,.05),0 14px 34px -18px rgba(8,13,26,.12);
--sheet-h:inset 0 1px 0 rgba(255,255,255,.95),0 3px 8px rgba(8,13,26,.06),0 40px 80px -30px rgba(8,13,26,.30)}.pksec *{box-sizing:border-box}.pksec{margin:0;font-family:var(--font);color:var(--text);background:radial-gradient(120% 75% at 50% 0,#fff,var(--paper) 70%);-webkit-font-smoothing:antialiased}.pksec .wrap{max-width:1120px;margin:0 auto;padding:var(--sec-pad) 24px}.pksec .phead{text-align:center;max-width:640px;margin:0 auto clamp(22px,3vw,30px)}.pksec .eyebrow{font-weight:800;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--slate)}.pksec .phead h2{font-weight:800;font-size:clamp(28px,3.5vw,43px);letter-spacing:-.04em;line-height:1.04;color:var(--ink);margin:14px 0 10px;text-wrap:balance}.pksec .phead .lede{font-weight:400;font-size:clamp(16px,2vw,19px);line-height:1.45;color:var(--secondary);margin:0 auto;max-width:520px}.pksec /* free band */
.demand{display:flex;align-items:center;gap:15px;max-width:1080px;margin:0 auto clamp(16px,2vw,22px);background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px 18px;box-shadow:var(--sheet)}.pksec .dfi{width:38px;height:46px;border-radius:6px;background:#fff;border:1px solid var(--line);position:relative;flex:none;box-shadow:0 1px 3px rgba(8,13,26,.07)}.pksec .dfi::before{content:"";position:absolute;top:8px;left:8px;right:8px;height:2px;background:var(--line);box-shadow:0 5px 0 var(--line),0 10px 0 var(--blue)}.pksec .demand .db{flex:1;min-width:0}.pksec .db-eye{font-weight:800;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--deep);margin-bottom:2px}.pksec .demand h3{margin:0 0 1px;font-weight:800;font-size:15.5px;letter-spacing:-.02em;color:var(--ink)}.pksec .demand p{margin:0;font-size:12px;line-height:1.4;color:var(--muted)}.pksec .demand .gen{flex:none;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:11px 16px;font-family:var(--font);font-weight:800;font-size:13px;cursor:pointer;transition:border-color .16s,background .16s}.pksec .demand .gen:hover{border-color:var(--ink);background:var(--paper)}.pksec /* asymmetric layout: DCA hero dominant + two step-down options */
.deck{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:18px;align-items:start}.pksec .hero{display:block;min-width:0;position:relative;background:linear-gradient(180deg,#FFFDF6,#fff 30%);border:1.5px solid var(--amber-line);border-radius:22px;box-shadow:var(--sheet-h);padding:30px 30px 26px}.pksec .amber-badge{position:absolute;top:-12px;left:28px;font-weight:800;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:#5A3D00;background:linear-gradient(135deg,#FBD98C,var(--amber) 75%);border:1px solid rgba(255,255,255,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 5px 14px -5px rgba(150,95,0,.5);padding:6px 13px;border-radius:999px}.pksec .hero-top{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.pksec .por{width:62px;height:62px;border-radius:50%;object-fit:cover;object-position:center 12%;flex:none;box-shadow:0 0 0 3px #fff,0 0 0 4px rgba(70,174,247,.34),0 12px 24px -9px rgba(8,13,26,.42)}.pksec .hero-id{flex:1;min-width:120px}.pksec .eye{font-weight:800;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--slate);margin-bottom:5px}.pksec .hero-id h3{margin:0;font-weight:800;font-size:25px;letter-spacing:-.035em;line-height:1.02;color:var(--ink)}.pksec .hero-pr{flex:none;font-weight:800;font-size:38px;letter-spacing:-.04em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}.pksec .hero-pr small{font-weight:700;font-size:13px;color:var(--muted);letter-spacing:0}.pksec .hero-sub{font-size:14px;line-height:1.5;color:var(--secondary);margin:15px 0 0;max-width:62ch}.pksec .hero-sub em{font-style:normal;font-weight:800;color:var(--deep)}.pksec .hero-body{display:grid;grid-template-columns:auto minmax(0,1fr);gap:26px;margin:20px 0 4px}.pksec /* vertical satin spine (hero showcase) */
.vsp{position:relative;padding:4px 0}.pksec .vcn{position:absolute;left:10px;top:24px;bottom:24px;width:2px;background:var(--line2);border-radius:2px}.pksec .vcn-fl{position:absolute;left:10px;top:24px;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--ga),var(--gb));box-shadow:0 0 9px rgba(70,174,247,.55);height:calc(100% - 48px);transform:scaleY(0);transform-origin:top;transition:transform 1s var(--e) .35s}.pksec .in .vcn-fl{transform:scaleY(1)}.pksec .vrow{position:relative;display:flex;align-items:center;gap:12px;height:40px}.pksec .vrail{width:22px;display:flex;justify-content:center;flex:none;position:relative;z-index:1}.pksec .mk{position:relative;width:14px;height:14px;border-radius:50%;background:#EDF1F6;box-shadow:inset 0 1px 2px rgba(8,13,26,.12),inset 0 -1px 0 rgba(255,255,255,.7);transform:scale(.4);opacity:0;transition:transform .42s var(--e),opacity .42s var(--e);transition-delay:calc(var(--i) * .1s)}.pksec .in .mk{transform:scale(1);opacity:1}.pksec .mk.set{width:19px;height:19px;background:radial-gradient(120% 120% at 32% 26%,#7FC6F6,#3AA4F0 60%,#2C9AEF);box-shadow:0 2px 6px rgba(31,127,204,.34),inset 0 1px 0 rgba(255,255,255,.45)}.pksec .mk.live{width:24px;height:24px;background:#fff;box-shadow:0 0 0 4px rgba(70,174,247,.16),0 1px 7px rgba(44,154,239,.32),inset 0 0 0 2px var(--blue)}.pksec .mk.live i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background:var(--blue)}.pksec .in .mk.live i{animation:pkbreathe 2.3s var(--e) 1.8s infinite}.pksec .mk.live::after{content:"";position:absolute;inset:-4px;border-radius:50%;box-shadow:0 0 0 0 rgba(70,174,247,.5)}.pksec .in .mk.live::after{animation:pkpulse 2.3s var(--e) 1.8s infinite}.pksec .vlb{font-weight:800;font-size:13.5px;letter-spacing:-.01em;color:var(--ink);white-space:nowrap}.pksec .vrow.live .vlb{color:var(--deep)}.pksec .hero-incl{align-self:center}.pksec .gfeat{display:flex;flex-direction:column;gap:9px}.pksec .fl{min-width:0;display:flex;align-items:flex-start;gap:9px;font-size:12.5px;line-height:1.4;color:var(--text)}.pksec .fk{width:14px;height:14px;color:var(--blue);flex:none;margin-top:1px}.pksec .fl.ao{color:var(--secondary);margin-top:2px;padding-top:10px;border-top:1px dotted var(--line)}.pksec .pk{width:13px;height:13px;color:var(--deep);flex:none;margin-top:1px}.pksec .fl.ao b{color:var(--ink);font-weight:800}.pksec .fl.ao i{font-style:normal;font-weight:800;font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--deep);background:var(--soft);border:1px solid #CDE8FB;border-radius:5px;padding:1px 5px;margin:0 2px}.pksec .go{margin-top:18px;width:100%;color:#fff;background:var(--ink);border:0;border-radius:12px;padding:14px;font-family:var(--font);font-weight:800;font-size:14px;cursor:pointer;transition:transform .18s var(--e),box-shadow .18s}.pksec .go:hover{transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(8,13,26,.55)}.pksec .go.alt{margin-top:14px;padding:12px}.pksec .go.ghost{margin-top:14px;padding:12px;background:transparent;color:var(--ink);border:1.5px solid var(--line)}.pksec .go.ghost:hover{border-color:var(--ink);background:var(--paper);box-shadow:none;transform:none}.pksec /* step-down options (right column) */
.optcol{min-width:0;display:flex;flex-direction:column;gap:18px}.pksec .opt{min-width:0;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--sheet);padding:20px 20px 20px}.pksec .opt.floor{background:#FCFDFE}.pksec .opt-h{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.pksec .opt-h h4{margin:0;font-weight:800;font-size:18px;letter-spacing:-.03em;color:var(--ink)}.pksec .opt-pr{font-weight:800;font-size:24px;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap}.pksec .opt-pr small{font-weight:700;font-size:10.5px;color:var(--muted)}.pksec .htk{margin:13px 0 0;display:flex;align-items:center;gap:10px}.pksec .hdots{display:flex;align-items:center;gap:0;flex:none}.pksec .hd{width:10px;height:10px;border-radius:50%;background:#E6EBF1;box-shadow:inset 0 1px 1px rgba(8,13,26,.1);position:relative}.pksec .hd+.hd{margin-left:14px}.pksec .hd+.hd::before{content:"";position:absolute;right:10px;width:14px;height:2px;top:50%;transform:translateY(-50%);background:var(--line)}.pksec .hd.set{background:radial-gradient(120% 120% at 32% 26%,#7FC6F6,#3AA4F0 60%,#2C9AEF);box-shadow:0 1px 3px rgba(31,127,204,.3)}.pksec .hd.set+.hd.set::before{background:linear-gradient(90deg,var(--ga),var(--gb))}.pksec .hlb{font-weight:800;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--deep);white-space:nowrap}.pksec .opt-sub{font-size:12.5px;line-height:1.45;color:var(--secondary);margin:13px 0 0}.pksec .opt .gfeat{margin-top:13px;padding-top:13px;border-top:1px solid var(--line2)}.pksec .opt .fl{font-size:11.5px}.pksec .opt{position:relative;overflow:hidden}.pksec .opt.lead{border-color:#BFE0F8;box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 2px 6px rgba(8,13,26,.05),0 22px 48px -22px rgba(44,154,239,.32)}.pksec .opt.lead::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--ga),var(--gb))}.pksec .opt.lead .opt-h{margin-top:4px}.pksec /* Case Brief add-on band (mirrors free-demand band; not a tier) */
.cbrief{display:flex;align-items:center;gap:16px;max-width:1080px;margin:18px auto 0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 20px;box-shadow:var(--sheet)}.pksec .cb-ic{width:46px;height:54px;border-radius:7px;background:#fff;border:1px solid var(--line);position:relative;flex:none;box-shadow:0 1px 3px rgba(8,13,26,.07)}.pksec .cb-ic::before{content:"";position:absolute;top:11px;left:10px;right:10px;height:2px;background:var(--line);box-shadow:0 6px 0 var(--line),0 12px 0 var(--line),0 18px 0 rgba(70,174,247,.65)}.pksec .cb-tx{flex:1;min-width:0}.pksec .cb-tag{font-weight:800;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--deep);margin-bottom:3px}.pksec .cb-tx h3{margin:0 0 3px;font-weight:800;font-size:16.5px;letter-spacing:-.02em;color:var(--ink)}.pksec .cb-tx h3 span{font-weight:700;color:var(--muted);font-size:13px;letter-spacing:0}.pksec .cb-tx p{margin:0;font-size:12px;line-height:1.45;color:var(--muted);max-width:62ch}.pksec .cb-act{flex:none;display:flex;align-items:center;gap:14px}.pksec .cb-pr{font-weight:800;font-size:24px;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}.pksec .cbbtn{margin-top:0;width:auto;white-space:nowrap;padding:12px 18px;border-radius:11px;font-size:13px}.pksec .disc-2{display:inline-block;margin-top:5px}.pksec .cb-disc{max-width:1080px;margin:9px auto 0;font-size:11px;line-height:1.45;color:var(--muted);text-align:center}@media(max-width:760px){.pksec .cbrief{flex-direction:column;text-align:center;align-items:stretch}.pksec .cb-ic{align-self:center}.pksec .cb-tx p{max-width:none}.pksec .cb-act{flex-direction:column;gap:10px}.pksec .cbbtn{width:100%}}.pksec .disc{max-width:1080px;margin:22px auto 0;font-size:11px;line-height:1.45;color:var(--muted);text-align:center}@keyframes pkbreathe{0%,100%{opacity:.7;transform:translate(-50%,-50%) scale(.86)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}}@keyframes pkpulse{0%{box-shadow:0 0 0 0 rgba(70,174,247,.5)}70%{box-shadow:0 0 0 10px rgba(70,174,247,0)}100%{box-shadow:0 0 0 0 rgba(70,174,247,0)}}@media(prefers-reduced-motion:reduce){.pksec .mk{transition:none}.pksec .vcn-fl{transition:none}.pksec .in .mk.live i,.pksec .in .mk.live::after{animation:none}}@media(max-width:900px){.pksec .deck{grid-template-columns:minmax(0,1fr)}.pksec .hero{padding:26px 18px 22px}.pksec .hero-pr{font-size:34px;flex-basis:100%;margin-top:6px}.pksec .hero-id{min-width:0;flex-basis:auto}.pksec .hero-id h3{font-size:22px}.pksec .hero-top{gap:14px}.pksec .demand{flex-direction:column;text-align:center}.pksec .demand .db{text-align:center}.pksec .hero-body{grid-template-columns:1fr;gap:18px}.pksec .hero-incl{align-self:stretch}}@media(max-width:760px){}.pksec .eyebrow{display:inline-flex;align-items:center;gap:10px;letter-spacing:.18em}.pksec .eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--gb))}.pksec .phead h2{font-size:clamp(28px,3.9vw,44px);letter-spacing:-.045em}.pksec a.go,.pksec a.gen{display:block;text-align:center;text-decoration:none;box-sizing:border-box}.pksec a.gen{align-self:center}.pksec .peleanor{display:flex;justify-content:center;margin-bottom:18px}.pksec .peleanor-ring{position:relative;width:96px;height:96px;border-radius:50%;background:#fff;padding:5px;box-shadow:0 16px 42px rgba(8,13,26,.15);outline:1.5px solid #E4EEF6;display:block}.pksec .peleanor-ring::before{content:"";position:absolute;inset:-7px;border-radius:50%;border:2px solid rgba(70,174,247,.32)}.pksec .peleanor-ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 20%;display:block}.pksec .cbpoint{text-align:center;margin:clamp(22px,3.2vw,34px) auto 0;padding:0 16px}.pksec .cbpoint a{text-decoration:none;font-size:15px;font-weight:700;color:var(--secondary);line-height:1.5;transition:color .2s var(--e)}.pksec .cbpoint a b{color:var(--ink);font-weight:800}.pksec .cbpoint a .arr{display:inline-block;margin-left:5px;color:var(--deep);font-weight:800;font-size:16px;transition:transform .2s var(--e)}.pksec .cbpoint a:hover{color:var(--ink)}.pksec .cbpoint a:hover .arr{transform:translateY(3px)}
@font-face{font-family:'Nunito Sans';font-weight:400;font-display:swap;src:url(/static/fonts/nunito-sans-400.woff2) format('woff2');}@font-face{font-family:'Nunito Sans';font-weight:700;font-display:swap;src:url(/static/fonts/nunito-sans-700.woff2) format('woff2');}@font-face{font-family:'Nunito Sans';font-weight:800;font-display:swap;src:url(/static/fonts/nunito-sans-800.woff2) format('woff2');}
:root{--blue:#46AEF7;--ga:#62BDFB;--gb:#2C9AEF;--deep:#1F7FCC;--ink:#080D1A;--body:#172033;--secondary:#33414F;--gray:#4A4E52;--muted:#6B7280;--slate:#7A8694;--hairline:#DCE5EE;--soft:#EAF7FF;--paper:#F6F8FA;--card:#fff;--e:cubic-bezier(.22,.61,.36,1);--eo:cubic-bezier(.16,1,.3,1);}
*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{font-family:'Nunito Sans',system-ui,sans-serif;font-feature-settings:'ss02' on;background:#fff;color:var(--body);-webkit-font-smoothing:antialiased}

/* ============ CASE BRIEF (homepage section) — all rules scoped under .cb ============ */
.cb{background:linear-gradient(180deg,#FAFCFE 0%,#F4F7FB 100%);padding:clamp(62px,8vw,100px) 20px;overflow:hidden}
.cb .cb-head{text-align:center;max-width:840px;margin:0 auto clamp(26px,4vw,42px);padding:0 20px} /* RNSD-624 */
.cb-wrap{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:1fr 1.04fr;gap:clamp(34px,5vw,68px);align-items:center}
.cb .cb-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.18em;color:var(--slate)}
.cb .cb-eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--gb))}
.cb .cb-h{margin-top:18px;font-size:clamp(28px,3.9vw,44px);font-weight:800;letter-spacing:-.045em;line-height:1.02;color:var(--ink);text-wrap:balance}
.cb .cb-h .cb-b{color:var(--blue)}
.cb .cb-lede{margin-top:16px;font-size:clamp(15px,1.7vw,17.5px);line-height:1.6;color:var(--secondary);max-width:450px}
.cb .cb-meta{margin-top:24px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.cb .cb-price{font-size:30px;font-weight:800;color:var(--ink);letter-spacing:-.025em}
.cb .cb-avail{font-size:13.5px;color:var(--muted)}.cb .cb-avail b{color:var(--deep);font-weight:800}
.cb .cb-cta{margin-top:18px;display:block;width:fit-content;margin-left:auto;margin-right:auto;text-decoration:none;background:var(--ink);color:#fff;font-weight:800;font-size:14.5px;padding:14px 26px;border-radius:999px;transition:transform .18s var(--e),box-shadow .2s} /* RNSD-626: centered per Nate + pill per the pressable-is-a-pill rule */
.cb .cb-cta:hover{transform:translateY(-2px);box-shadow:0 18px 34px -14px rgba(8,13,26,.55)}
.cb .cb-cta:focus-visible{outline:3px solid var(--gb);outline-offset:3px}
.cb .cb-disc{margin-top:16px;font-size:11.5px;line-height:1.5;color:var(--muted);max-width:380px}
.cb .cb-badge{display:inline-flex;align-items:center;gap:7px;margin-top:16px;padding:7px 14px;border-radius:999px;background:rgba(70,174,247,.09);border:1px solid rgba(70,174,247,.28);color:var(--deep);font-size:12.5px;font-weight:800;letter-spacing:.01em} /* RNSD-726: attorney-drafted trust badge (Michael req) */
.cb .cb-badge svg{width:14px;height:14px;stroke:var(--blue);flex:none}

/* figure: notes + glow + brief */
.cb .cb-fig{position:relative;width:100%;max-width:352px;margin:0 auto}
.cb .cb-glow{position:absolute;inset:-10% -14% -14% -14%;z-index:0;background:radial-gradient(60% 56% at 50% 46%,rgba(70,174,247,.22),rgba(70,174,247,.06) 55%,transparent 74%);filter:blur(6px);pointer-events:none}
.cb .cb-brief{position:relative;z-index:2;will-change:transform;transition:transform .35s var(--e)}
.cb .cb-glow{opacity:.8;transition:opacity .45s var(--e)}
.cb .cb-brief-in{position:relative;will-change:transform}
.cb .cb-bhead{position:relative;z-index:30;display:flex;align-items:center;gap:11px;padding:17px 20px 15px;background:#fff;border:1px solid #E6ECF3;border-bottom:0;border-radius:18px 18px 0 0}
.cb .cb-bhead .cb-bi{width:22px;height:22px;flex:none;color:var(--blue)}
.cb .cb-bhead .cb-bt{font-size:15.5px;font-weight:800;color:var(--ink);letter-spacing:-.015em}
.cb .cb-bhead .cb-btag{margin-left:auto;font-family:ui-monospace,'SF Mono',SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;font-weight:600;letter-spacing:.14em;color:var(--slate);text-transform:uppercase}
.cb .cb-spine{position:absolute;left:20px;bottom:-1px;display:flex;gap:4px}
.cb .cb-spine i{width:18px;height:3px;border-radius:3px;background:#E2E9F1;transition:background .35s var(--e)}
.cb .cb-spine i.on{background:linear-gradient(90deg,var(--blue),var(--gb))}
.cb .cb-pad{position:relative;height:324px; /* RNSD-621: was 268 - bottom aligns with the left column disclaimer */background:#F1F5F9;border:1px solid #E6ECF3;border-top:0;border-radius:0 0 18px 18px;perspective:1600px;
 box-shadow:0 3px 0 -1px #fff,0 4px 0 -1px #E2E9F1,0 7px 0 -2px #fff,0 8px 0 -2px #E2E9F1,0 11px 0 -3px #fff,0 12px 0 -3px #E6EDF4,0 4px 6px rgba(8,13,26,.05),0 36px 66px -32px rgba(8,13,26,.32)}
.cb .cb-page{position:absolute;inset:0;background:#fff;background-image:linear-gradient(90deg,rgba(70,174,247,.13),rgba(70,174,247,.13));background-size:1px 100%;background-position:13px 0;background-repeat:no-repeat;border-radius:0 0 18px 18px;padding:22px;transform-origin:top center;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 14px 30px -22px rgba(8,13,26,.28)}
.cb .cb-page.flip{-webkit-animation:cbPgFlip 1.18s cubic-bezier(.38,.03,.18,1) forwards;animation:cbPgFlip 1.18s cubic-bezier(.38,.03,.18,1) forwards}
@-webkit-keyframes cbPgFlip{0%{-webkit-transform:rotateX(0);transform:rotateX(0)}100%{-webkit-transform:rotateX(-166deg);transform:rotateX(-166deg)}}
@keyframes cbPgFlip{0%{transform:rotateX(0)}100%{transform:rotateX(-166deg)}}
.cb .cb-shade{position:absolute;inset:0;border-radius:0 0 18px 18px;background:linear-gradient(to top,rgba(8,13,26,0) 52%,rgba(8,13,26,.24) 100%);opacity:0;pointer-events:none}
.cb .cb-page.flip .cb-shade{-webkit-animation:cbPgShade 1.18s cubic-bezier(.38,.03,.18,1) forwards;animation:cbPgShade 1.18s cubic-bezier(.38,.03,.18,1) forwards}
@-webkit-keyframes cbPgShade{0%{opacity:0}48%{opacity:.62}100%{opacity:.88}}
@keyframes cbPgShade{0%{opacity:0}48%{opacity:.62}100%{opacity:.88}}
.cb .cb-ph{display:flex;align-items:baseline;gap:11px;margin-bottom:15px}
.cb .cb-pn{font-size:22px;font-weight:800;color:var(--blue);letter-spacing:-.03em;line-height:1}
.cb .cb-pt{font-size:15.5px;font-weight:800;color:var(--ink);letter-spacing:-.02em}
.cb .cb-tx{font-size:12.5px;line-height:1.42;color:var(--secondary)}
.cb .cb-row{display:flex;align-items:flex-start;gap:10px;margin:11px 0}
.cb .cb-row .cb-tx{flex:1}
.cb p.cb-tx{margin:11px 0}
.cb .cb-chk{width:14px;height:14px;border-radius:4px;border:1.7px solid var(--blue);flex:none;margin-top:1px}
.cb .cb-chk svg{display:block;width:100%;height:100%}
.cb .cb-chk path{fill:none;stroke:var(--blue);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:14;stroke-dashoffset:0}
.cb .cb-page.draw .cb-chk path{stroke-dashoffset:14}
.cb .cb-page.draw.writing .cb-row:nth-of-type(1) .cb-chk path{-webkit-animation:cbChk .45s var(--eo) .56s both;animation:cbChk .45s var(--eo) .56s both}
.cb .cb-page.draw.writing .cb-row:nth-of-type(2) .cb-chk path{-webkit-animation:cbChk .45s var(--eo) .72s both;animation:cbChk .45s var(--eo) .72s both}
.cb .cb-page.draw.writing .cb-row:nth-of-type(3) .cb-chk path{-webkit-animation:cbChk .45s var(--eo) .88s both;animation:cbChk .45s var(--eo) .88s both}
.cb .cb-page.draw.writing .cb-row:nth-of-type(4) .cb-chk path{-webkit-animation:cbChk .45s var(--eo) 1.04s both;animation:cbChk .45s var(--eo) 1.04s both}
@-webkit-keyframes cbChk{to{stroke-dashoffset:0}}
@keyframes cbChk{to{stroke-dashoffset:0}}
.cb .cb-dot{width:8px;height:8px;border-radius:50%;background:var(--blue);flex:none;margin-top:5px;box-shadow:0 0 0 3px rgba(70,174,247,.16)}
.cb .cb-amt{margin-left:auto;font-weight:800;color:var(--deep);font-size:12.5px;white-space:nowrap}
.cb .cb-amtq{margin-left:auto;font-size:11.5px;font-style:italic;color:var(--muted);white-space:nowrap;padding-left:8px}
.cb .cb-pgno{position:absolute;right:16px;bottom:11px;font-family:ui-monospace,'SF Mono',SFMono-Regular,Menlo,Consolas,monospace;font-size:9.5px;font-weight:600;letter-spacing:.14em;color:var(--slate)}
.cb .cb-page.draw .cb-ph,.cb .cb-page.draw .cb-row,.cb .cb-page.draw>.cb-tx{opacity:0;transform:translateY(6px)}
.cb .cb-page.draw.writing .cb-ph{-webkit-animation:cbRowIn .5s var(--eo) .12s both;animation:cbRowIn .5s var(--eo) .12s both}
.cb .cb-page.draw.writing .cb-row,.cb .cb-page.draw.writing>.cb-tx{-webkit-animation:cbRowIn .55s var(--eo) both;animation:cbRowIn .55s var(--eo) both}
.cb .cb-page.draw.writing .cb-row:nth-of-type(1),.cb .cb-page.draw.writing>.cb-tx:nth-of-type(1){animation-delay:.26s}
.cb .cb-page.draw.writing .cb-row:nth-of-type(2),.cb .cb-page.draw.writing>.cb-tx:nth-of-type(2){animation-delay:.42s}
.cb .cb-page.draw.writing .cb-row:nth-of-type(3),.cb .cb-page.draw.writing>.cb-tx:nth-of-type(3){animation-delay:.58s}
.cb .cb-page.draw.writing .cb-row:nth-of-type(4){animation-delay:.74s}
@-webkit-keyframes cbRowIn{from{opacity:0;-webkit-transform:translateY(6px);transform:translateY(6px)}to{opacity:1;-webkit-transform:none;transform:none}}
@keyframes cbRowIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ===== evidence notes: the scattered proof that feeds the Brief ===== */
.cb .cb-notes{pointer-events:none}
.cb .cb-note{position:relative;background:linear-gradient(180deg,#FFFBEE 0%,#FFF6DC 100%);border:1px solid #F0E2B8;border-radius:3px;box-shadow:0 12px 22px -12px rgba(8,13,26,.22);padding:14px 13px 11px;max-width:176px}
.cb .cb-note::before{content:"";position:absolute;top:-6px;left:50%;width:36px;height:12px;margin-left:-18px;background:rgba(255,255,255,.6);border:1px solid rgba(8,13,26,.05);box-shadow:0 1px 2px rgba(8,13,26,.08)}
.cb .cb-note::after{content:"";position:absolute;right:0;bottom:0;width:15px;height:15px;background:linear-gradient(315deg,#F6EAC2 0%,#F6EAC2 46%,#FFFDF4 50%,transparent 54%);border-bottom-right-radius:3px}
.cb .cb-note .cb-ne{display:block;font-weight:800;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-bottom:3px}
.cb .cb-note .cb-nv{display:block;font-weight:700;font-size:12px;line-height:1.4;color:var(--ink);letter-spacing:-.01em}
.cb .cb-notecap{display:none}
@media(min-width:960px){
 .cb .cb-note{position:absolute;z-index:3;opacity:0}
 .cb .cb-note--1{left:-76px;top:5%;--rest:translate(0,0);--scatter:translate(-42px,-28px);--gather:translate(216px,166px)}
 .cb .cb-note--2{right:-70px;top:33%;--rest:translate(0,0);--scatter:translate(46px,-22px);--gather:translate(-224px,52px)}
 .cb .cb-note--3{left:-54px;bottom:15%;--rest:translate(0,0);--scatter:translate(-36px,40px);--gather:translate(206px,-118px)}
 .cb.in .cb-note{-webkit-animation:cbTuck 1.9s var(--e) both;animation:cbTuck 1.9s var(--e) both}
 .cb.in .cb-note--2{animation-delay:.14s}
 .cb.in .cb-note--3{animation-delay:.28s}
}
@media(min-width:960px) and (max-width:1119px){
 .cb .cb-note{max-width:150px}
 .cb .cb-note--1{left:-38px}
 .cb .cb-note--2{right:-34px}
 .cb .cb-note--3{left:-26px}
}
@-webkit-keyframes cbTuck{0%{opacity:0;-webkit-transform:var(--scatter) scale(.94);transform:var(--scatter) scale(.94)}20%{opacity:1;-webkit-transform:var(--rest);transform:var(--rest)}58%{opacity:1;-webkit-transform:var(--rest);transform:var(--rest)}100%{opacity:0;-webkit-transform:var(--gather) scale(.4);transform:var(--gather) scale(.4)}}
@keyframes cbTuck{0%{opacity:0;transform:var(--scatter) scale(.94)}20%{opacity:1;transform:var(--rest)}58%{opacity:1;transform:var(--rest)}100%{opacity:0;transform:var(--gather) scale(.4)}}
@media(max-width:959px){
 .cb .cb-notes{display:flex;justify-content:center;align-items:stretch;gap:10px;flex-wrap:wrap;margin:0 0 12px;position:relative;z-index:2}
 .cb .cb-note{opacity:0;transform:translateY(10px);transition:opacity .55s var(--e),transform .55s var(--e)}
 .cb .cb-note--1{transition-delay:.05s}
 .cb .cb-note--2{transition-delay:.18s}
 .cb .cb-note--3{transition-delay:.31s}
 .cb.in .cb-note{opacity:1;transform:translateY(0)}
 .cb .cb-notecap{display:flex;align-items:center;justify-content:center;gap:7px;margin:0 0 16px;font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);opacity:0;transition:opacity .5s var(--e) .5s}
 .cb.in .cb-notecap{opacity:1}
 .cb .cb-notecap svg{width:13px;height:13px;fill:var(--blue)}
}

/* entrance */
.cb.cb-js .cb-eyebrow,.cb.cb-js .cb-h,.cb.cb-js .cb-lede,.cb.cb-js .cb-meta,.cb.cb-js .cb-cta,.cb.cb-js .cb-disc,.cb.cb-js .cb-badge,.cb.cb-js .cb-fig{opacity:0;transform:translateY(16px);transition:opacity .7s var(--eo),transform .7s var(--eo)}
.cb.cb-js .cb-fig{transition-delay:.1s}
.cb.in .cb-eyebrow,.cb.in .cb-h,.cb.in .cb-lede,.cb.in .cb-meta,.cb.in .cb-cta,.cb.in .cb-disc,.cb.in .cb-badge,.cb.in .cb-fig{opacity:1;transform:none}
@media(hover:hover) and (pointer:fine){.cb .cb-brief:hover{transform:translateY(-3px)}.cb .cb-fig:has(.cb-brief:hover) .cb-glow{opacity:1}}
@media(max-width:820px){.cb .cb-wrap{grid-template-columns:1fr;gap:30px}}
@media(max-width:560px){.cb .cb-meta{flex-direction:column;align-items:flex-start;gap:5px}.cb .cb-price{font-size:28px}.cb .cb-avail{font-size:14px}}
@media(prefers-reduced-motion:reduce){
 .cb .cb-page.flip,.cb .cb-page.flip .cb-shade{-webkit-animation:none;animation:none}
 .cb .cb-page.draw .cb-ph,.cb .cb-page.draw .cb-row,.cb .cb-page.draw>.cb-tx{opacity:1;transform:none}
 .cb .cb-page.draw .cb-chk path{stroke-dashoffset:0;-webkit-animation:none;animation:none}
 .cb .cb-spine i{transition:none}
 .cb .cb-note,.cb.in .cb-note{-webkit-animation:none;animation:none;transition:none;opacity:1;transform:var(--rest,none)}
 .cb .cb-notecap,.cb.in .cb-notecap{transition:none;opacity:1}
 .cb.cb-js .cb-eyebrow,.cb.cb-js .cb-h,.cb.cb-js .cb-lede,.cb.cb-js .cb-meta,.cb.cb-js .cb-cta,.cb.cb-js .cb-disc,.cb.cb-js .cb-badge,.cb.cb-js .cb-fig{opacity:1!important;transform:none!important;transition:none!important}
}
/* RNSD-876 v3 (Michael, mobile screenshot round: "Where it says view sample brief thats
   enough. Just the link."): the section's sample presence is a single centered link line -
   cover thumb + paragraph removed on ALL widths; /case-brief/sample itself carries the
   full context (SAMPLE badge, fictional-parties chip). */
.cb .cb-see{display:flex;justify-content:center;margin:clamp(18px,2.6vw,28px) auto 0;position:relative;z-index:2}
.cb .cb-see-link{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:15px;color:#1F7FCC;text-decoration:none;padding:10px 6px}
.cb .cb-see-link:hover{text-decoration:underline}
.cb .cb-see-link svg{width:16px;height:16px;fill:currentColor}
@media(max-width:700px){.cb .cb-see{margin:12px auto 0}.cb .cb-see-link{font-size:14px}}


@font-face{font-family:'Nunito Sans';font-weight:400;font-display:swap;src:url(/static/fonts/nunito-sans-400.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:700;font-display:swap;src:url(/static/fonts/nunito-sans-700.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:800;font-display:swap;src:url(/static/fonts/nunito-sans-800.woff2) format('woff2')}
.sop{--blue:#46AEF7;--ga:#62BDFB;--gb:#2C9AEF;--deep:#1F7FCC;--ink:#080D1A;--body:#172033;--secondary:#33414F;--gray:#4A4E52;--muted:#6B7280;--slate:#7A8694;--hairline:#DCE5EE;--soft:#EAF7FF;--paper:#F6F8FA;--card:#fff;--sheet:inset 0 1px 0 rgba(255,255,255,.85),0 1px 2px rgba(8,13,26,.045),0 16px 40px -16px rgba(8,13,26,.13);--e:cubic-bezier(.22,.61,.36,1);--eo:cubic-bezier(.16,1,.3,1);}
.sop *{margin:0;padding:0;box-sizing:border-box}
.sop{font-family:'Nunito Sans',system-ui,sans-serif;font-feature-settings:'ss02' on;background:#fff;color:var(--body);-webkit-font-smoothing:antialiased}
.sop{background:#F6F8FA;padding:clamp(62px,8vw,100px) 20px}
.sop .sop-wrap{max-width:880px;margin:0 auto;text-align:center}
.sop .sop-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.18em;color:var(--slate)}
.sop .sop-eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--gb))}
.sop .sop-h{margin-top:18px;font-size:clamp(28px,3.9vw,44px);font-weight:800;letter-spacing:-.045em;line-height:1.05;color:var(--ink);text-wrap:balance}
.sop .sop-h .b{color:var(--blue)}
.sop .sop-lede{margin:16px auto 0;font-size:clamp(15px,1.7vw,17px);line-height:1.6;color:var(--secondary);max-width:540px}
.sop .sop-strip{margin-top:clamp(34px,5vw,48px);background:#fff;border:1px solid var(--hairline);border-radius:22px;box-shadow:0 2px 5px rgba(8,13,26,.04),0 34px 64px -36px rgba(8,13,26,.24);padding:clamp(26px,4vw,40px) clamp(20px,4vw,40px)}
.sop .sop-track{width:100%;max-width:560px;height:auto;display:block;margin:0 auto}
.sop .trk-base{stroke:#DCE5EE;stroke-width:3;stroke-linecap:round}
.sop .trk-fill{stroke:var(--blue);stroke-width:3;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;animation:trkFill 4s var(--e) infinite}
.sop .nd circle{fill:#fff;stroke:#CDD9E5;stroke-width:1.6}
.sop .nd .ndi{stroke:#7A8694;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.sop .env{fill:#fff;stroke:var(--ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;animation:envFly 4s var(--e) infinite}
.sop .chk{fill:var(--blue);transform-box:fill-box;transform-origin:center;animation:chkPop 4s var(--e) infinite}
.sop .chk .ck{stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
@keyframes trkFill{0%,12%{stroke-dashoffset:100}60%,90%{stroke-dashoffset:0}100%{stroke-dashoffset:100}}
@keyframes envFly{0%{transform:translateX(0);opacity:0}10%{opacity:1}12%{transform:translateX(0)}58%{transform:translateX(374px);opacity:1}66%{transform:translateX(374px);opacity:0}90%{opacity:0}100%{transform:translateX(0);opacity:0}}
@keyframes chkPop{0%,56%{transform:scale(0);opacity:0}64%{transform:scale(1.2);opacity:1}72%,88%{transform:scale(1);opacity:1}96%,100%{transform:scale(1);opacity:0}}
.sop .sop-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:22px}
.sop .sop-col .lab{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--deep);margin-bottom:5px}
.sop .sop-col .tx{font-size:13px;line-height:1.45;color:var(--secondary)}
.sop .sop-fine{margin-top:clamp(22px,3vw,28px);font-size:13px;color:var(--secondary)}
.sop .sop-fine b{color:var(--ink);font-weight:800}
.sop .sop-fine .amt{color:var(--deep);font-weight:800}
.sop .sop-foot{margin-top:8px;font-size:11.5px;line-height:1.5;color:var(--muted);max-width:560px;margin-left:auto;margin-right:auto}
/* RNSD-619: inline plan links + Learn More CTA (secondary pill - ink stays reserved for primaries) */
/* RNSD-628: per Nate - plan links are easter eggs. Zero visual tells at rest
   (indistinguishable from plain text); hover reveals the link on desktop. */
.sop-link{color:inherit;font-weight:inherit;text-decoration:none}
.sop-link:hover{color:var(--deep,#1F7FCC);border-bottom:1px solid rgba(70,174,247,.6)}
.sop-ctarow{text-align:center;margin-top:22px}
.sop-more{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;background:#fff;border:1px solid #DCE5EE;border-radius:999px;font-weight:800;font-size:14px;color:var(--ink,#080D1A);text-decoration:none;box-shadow:0 1px 2px rgba(8,13,26,.05);transition:transform .2s,border-color .2s,box-shadow .2s}
.sop-more svg{width:16px;height:16px;flex:none}
@media(hover:hover) and (pointer:fine){.sop-more:hover{transform:translateY(-2px);border-color:rgba(70,174,247,.5);box-shadow:0 8px 20px -8px rgba(8,13,26,.18)}}
.sop-js .sop-eyebrow,.sop-js .sop-h,.sop-js .sop-lede,.sop-js .sop-strip,.sop-js .sop-fine,.sop-js .sop-foot{opacity:0;transform:translateY(16px);transition:opacity .7s var(--eo),transform .7s var(--eo)}
.sop-js .sop-strip{transition-delay:.1s}
.sop.in .sop-eyebrow,.sop.in .sop-h,.sop.in .sop-lede,.sop.in .sop-strip,.sop.in .sop-fine,.sop.in .sop-foot{opacity:1;transform:none}
@media(max-width:560px){
.sop .sop-cols{grid-template-columns:1fr;gap:12px;margin-top:18px;text-align:left}
.sop .sop-col{display:flex;gap:11px;align-items:baseline}
.sop .sop-col .lab{margin-bottom:0;flex:none;width:78px}
}
@media(prefers-reduced-motion:reduce){
.sop .trk-fill{animation:none;stroke-dashoffset:0}
.sop .env{animation:none;transform:translateX(374px);opacity:0}
.sop .chk{animation:none;transform:scale(1);opacity:1}
.sop-js .sop-eyebrow,.sop-js .sop-h,.sop-js .sop-lede,.sop-js .sop-strip,.sop-js .sop-fine,.sop-js .sop-foot{opacity:1!important;transform:none!important;transition:none!important}
}


@font-face{font-family:'Nunito Sans';font-weight:400;font-display:swap;src:url(/static/fonts/nunito-sans-400.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:700;font-display:swap;src:url(/static/fonts/nunito-sans-700.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:800;font-display:swap;src:url(/static/fonts/nunito-sans-800.woff2) format('woff2')}
.reach *{box-sizing:border-box}
.reach{--ink:#080D1A;--body:#172033;--gray:#4A4E52;--secondary:#33414F;--muted:#6B7280;--slate:#7A8694;--blue:#46AEF7;--blue-deep:#2C9AEF;--blue-lite:#69C0FB;--deep:#1F7FCC;--ga:#62BDFB;--gb:#2C9AEF;--hairline:#DCE5EE;--paper:#F6F8FA;--paper-2:#EEF4FB;--soft:#EAF7FF;--map-dot:#9FD2FA;--font:'Nunito Sans',Inter,system-ui,-apple-system,'Segoe UI',sans-serif;--sheet:inset 0 1px 0 rgba(255,255,255,.85),0 1px 2px rgba(8,13,26,.045),0 16px 40px -16px rgba(8,13,26,.13);--shadow-card:var(--sheet);--shadow-jewel:0 6px 14px -4px rgba(44,154,239,.55),inset 0 1px 0 rgba(255,255,255,.55);--e:cubic-bezier(.16,1,.3,1);font-family:var(--font);font-feature-settings:'ss02' 1;color:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;padding:clamp(26px,3vw,40px) 0 clamp(54px,7vw,104px);background:#fff} /* RNSD-875: top pad trimmed (was symmetric clamp(54px,7vw,104px)) to sit closer under the hero; bottom spacing to Recovery Path unchanged */
.reach .wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.reach .eyebrow{font-weight:800;font-size:clamp(11px,1.2vw,13px);letter-spacing:.18em;text-transform:uppercase;color:var(--slate);margin:0 0 16px;display:flex;align-items:center;gap:10px}
.reach .eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--blue-deep))}
.reach__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);gap:clamp(28px,4vw,56px);align-items:center}
.reach h2{margin:0;font-weight:800;font-size:clamp(28px,3.9vw,44px);letter-spacing:-.04em;line-height:1.02;color:var(--ink);text-wrap:balance}
.reach__bsub{display:block;margin-top:10px;font-weight:800;font-size:clamp(18px,2.2vw,26px);letter-spacing:-.03em;line-height:1.12;background:linear-gradient(100deg,var(--blue-lite),var(--blue) 45%,var(--blue-deep));-webkit-background-clip:text;background-clip:text;color:transparent}
.reach .lede{font-weight:400;font-size:clamp(16px,1.7vw,19px);line-height:1.5;color:var(--secondary);margin:20px 0 0;max-width:520px}
.reach .lede b{font-weight:800;color:var(--ink)}
.reach .flags{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0 0}
.reach .flag{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--hairline);border-radius:999px;padding:8px 14px;font-weight:700;font-size:13px;color:var(--secondary);box-shadow:0 1px 2px rgba(8,13,26,.05)}
.reach .flag .dot{width:8px;height:8px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(70,174,247,.18)}
/* RNSD-598 (DD-6): selling points on ONE row wherever the section is two-column - chip
   text scales gently with the viewport so all three fit the column. */
@media(min-width:861px){
 .reach .flags{flex-wrap:nowrap;gap:8px}
 .reach .flag{font-size:clamp(10.5px,0.95vw,12.5px);padding:6px 11px;white-space:nowrap}
 .reach .flag .dot{width:7px;height:7px;box-shadow:0 0 0 3px rgba(70,174,247,.18)}
}
/* RNSD-600/601: on mobile the chips demote to three small-caps label lines (the
   eyebrow voice) - dot-separated prose read as a third grey paragraph, and a wrap
   could strand a separator at line start. Label voice = credentials, not body text.
   Desktop keeps the chips. */
@media(max-width:860px){
 .reach .flags{display:block;text-align:center;margin:16px auto 0}
 .reach .flag{display:block;background:none;border:0;box-shadow:none;padding:0;margin:0 0 7px;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);white-space:nowrap}
 .reach .flag .dot{display:none}
 /* RNSD-832: slash separators so the three labels don't read as one run-on phrase (Michael). Trailing ::after keeps the slash with the preceding label, so a wrap never strands a separator at line start. */
 .reach .flag:not(:last-child)::after{content:"/";margin-left:9px;color:var(--slate);opacity:.5;font-weight:700}
}
.reach .cta-row{margin:28px 0 0}
.reach .btn{font-family:var(--font);font-weight:800;font-size:16px;line-height:1;color:#fff;background:var(--ink);display:inline-flex;align-items:center;gap:10px;height:54px;padding:0 28px;border-radius:999px;border:0;cursor:pointer;text-decoration:none;transition:transform .18s,box-shadow .18s}
.reach .btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px -14px rgba(8,13,26,.55)}
.reach .btn svg{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.reach .btn:hover svg{transform:translateX(3px)}
.reach__mapwrap{position:relative;display:grid;place-items:center;padding:8px;width:100%;max-width:660px;margin:0 auto} /* RNSD-617: badge removed per Nate; map takes the room (was 560px) */
.reach #hubMap{position:relative;z-index:1;width:100%;height:auto;display:block;overflow:visible;filter:drop-shadow(0 16px 34px rgba(44,154,239,.22))}



.reach__mapcol{display:flex;flex-direction:column;align-items:stretch}
.reach #hubMap .rp-dots{color:var(--map-dot)}
.reach #hubMap .rp-dots circle{opacity:1}
.reach #hubMap .rp-arc{fill:none;stroke:var(--blue);stroke-width:1.2;stroke-linecap:round;opacity:.14}
.reach #hubMap .rp-pulse{fill:none;stroke:#62BDFB;stroke-width:1.7;stroke-linecap:round;opacity:0}
.reach.in #hubMap .rp-pulse{opacity:.82;animation:rch-streak var(--pdur,2s) linear infinite}
@keyframes rch-streak{from{stroke-dashoffset:var(--ts)}to{stroke-dashoffset:var(--te)}}
.reach #hubMap .rp-endpt{fill:var(--blue);opacity:.9}
.reach #hubMap .rp-node-ring{fill:none;stroke:var(--blue);stroke-width:1.5;opacity:.5;transform-box:fill-box;transform-origin:center;animation:rch-ringpulse 2.6s cubic-bezier(.22,.61,.36,1) infinite}
@keyframes rch-ringpulse{0%{transform:scale(.7);opacity:.55}70%{transform:scale(1.55);opacity:0}100%{transform:scale(1.55);opacity:0}}
.reach__trust{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:clamp(40px,5vw,60px) 0 0}
.reach .stat{background:#fff;border:1px solid var(--hairline);border-radius:20px;padding:24px 22px;box-shadow:var(--shadow-card);transition:transform .25s var(--e),border-color .25s}
.reach .stat:hover{transform:translateY(-4px);border-color:rgba(70,174,247,.4)}
.reach .jewel{position:relative;width:58px;height:58px;display:grid;place-items:center;margin-bottom:14px;isolation:isolate}
.reach .jw-ring{position:absolute;inset:0;border-radius:50%;border:1.4px solid rgba(70,174,247,.42);z-index:0;transform-origin:center}
.reach .jw-ring2{position:absolute;inset:9px;border-radius:50%;border:1.2px solid rgba(70,174,247,.20);z-index:0}
.reach .jw-core{position:absolute;inset:13px;border-radius:50%;z-index:0;background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.55),rgba(255,255,255,0) 26%),radial-gradient(circle at 50% 52%,#74C4FA,#46AEF7 46%,#2C9AEF);box-shadow:inset 0 1px 1px rgba(255,255,255,.7),inset 0 -5px 10px rgba(16,72,140,.3),0 5px 13px -5px rgba(44,154,239,.6)}
.reach .jewel svg{width:22px;height:22px;position:relative;z-index:1;filter:drop-shadow(0 1px 1px rgba(6,34,78,.4))}
.reach.in .jw-ring{animation:rch-jwbreath 3.8s var(--e) infinite}
.reach .stat:nth-child(2) .jw-ring{animation-delay:.7s}.reach .stat:nth-child(3) .jw-ring{animation-delay:1.4s}
@keyframes rch-jwbreath{0%,100%{transform:scale(1);opacity:.42}50%{transform:scale(1.055);opacity:.2}}
@media(prefers-reduced-motion:reduce){.reach.in .jw-ring{animation:none}}
.reach .stat .val{font-weight:800;font-size:clamp(26px,3vw,33px);letter-spacing:-.04em;line-height:1;color:var(--ink)}
.reach .stat .val .pl{color:var(--blue-deep)}
.reach .stat .lab{font-weight:800;font-size:15px;letter-spacing:-.01em;color:var(--ink);margin:12px 0 4px;line-height:1.2}
.reach .stat .cap{font-weight:500;font-size:13.5px;line-height:1.45;color:var(--secondary);margin:0}
.reach [data-r]{opacity:0;transform:translateY(16px);transition:opacity .7s var(--e),transform .7s var(--e);transition-delay:calc(var(--i,0)*90ms)}
.reach.in [data-r]{opacity:1;transform:none}
@media(max-width:860px){
  .reach__top{grid-template-columns:minmax(0,1fr);gap:30px;text-align:center}
  .reach__mapcol{order:-1;max-width:420px;margin:0 auto;width:100%}
  .reach .lede{margin-left:auto;margin-right:auto}
  .reach .flags,.reach .cta-row{justify-content:center;display:flex}
  .reach .eyebrow{justify-content:center}
  .reach__trust{grid-template-columns:1fr;gap:12px;max-width:440px;margin-left:auto;margin-right:auto;text-align:left}
}
@media(prefers-reduced-motion:reduce){
  .reach [data-r]{opacity:1;transform:none;transition:none}
  .reach #hubMap .rp-dots circle,.reach #hubMap .rp-endpt{opacity:1;animation:none}.reach #hubMap .rp-arc{opacity:.24}.reach #hubMap .rp-pulse{display:none}.reach .stat .rpb,.reach .stat .jewel svg{animation:none}
  .reach #hubMap .rp-arc{stroke-dashoffset:0;animation:none}
  .reach #hubMap .rp-node-ring{animation:none;opacity:.4}
}
.reach .jewel svg{overflow:visible}
.reach .rpb{transform-box:fill-box;transform-origin:bottom}
.reach.in .stat:nth-child(1) .rpb{animation:rch-eq 2.6s var(--e) infinite}.reach.in .stat:nth-child(1) .rpb2{animation-delay:.3s}.reach.in .stat:nth-child(1) .rpb3{animation-delay:.6s}
@keyframes rch-eq{0%,100%{transform:scaleY(.8)}50%{transform:scaleY(1)}}
.reach .g-cert{animation:rch-abob 3.6s cubic-bezier(.22,.61,.36,1) infinite;transform-box:fill-box;transform-origin:center}.reach.in .stat:nth-child(2) .jewel svg{animation:rch-abob 3.6s cubic-bezier(.22,.61,.36,1) infinite;animation-delay:1.2s;transform-box:fill-box;transform-origin:center}
@keyframes rch-abob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
.reach .rp-ping{transform-origin:center}
@media(prefers-reduced-motion:reduce){.reach .g-cert{animation:none}.reach .rp-ping{display:none}.reach__trust.stats-in .rpb1,.reach__trust.stats-in .rpb2,.reach__trust.stats-in .rpb3{animation:none}}

.reach .stat-kick{font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin:0 0 9px}

@font-face{font-family:'Nunito Sans';font-weight:400;font-display:swap;src:url(/static/fonts/nunito-sans-400.woff2) format('woff2');}
@font-face{font-family:'Nunito Sans';font-weight:700;font-display:swap;src:url(/static/fonts/nunito-sans-700.woff2) format('woff2');}
@font-face{font-family:'Nunito Sans';font-weight:800;font-display:swap;src:url(/static/fonts/nunito-sans-800.woff2) format('woff2');}
:root{
  --font:'Nunito Sans',Inter,system-ui,-apple-system,'Segoe UI',sans-serif;
  --blue:#46AEF7;--blue-lite:#69C0FB;--blue-deep:#2C9AEF;--deep:#1F7FCC;--ga:#62BDFB;--gb:#2C9AEF;
  --ink:#080D1A;--secondary:#33414F;--muted:#6B7280;--slate:#7A8694;
  --hairline:#DCE5EE;--soft:#EAF7FF;--paper:#F6F8FA;--paper-2:#EEF4FB;
  --sheet:inset 0 1px 0 rgba(255,255,255,.85),0 1px 2px rgba(8,13,26,.045),0 16px 40px -16px rgba(8,13,26,.13);
  --shadow-card:var(--sheet);
  --shadow-jewel:0 6px 14px -4px rgba(44,154,239,.55),inset 0 1px 0 rgba(255,255,255,.55);
  --e:cubic-bezier(.22,.61,.36,1);--eo:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box;}
.sqc{position:relative;isolation:isolate;padding:clamp(62px,8vw,100px) 20px clamp(66px,8vw,104px);
  background-image:radial-gradient(rgba(70,174,247,.09) 1px,transparent 1.4px),linear-gradient(180deg,var(--paper) 0%,#EDF5FD 50%,var(--paper) 100%);background-size:22px 22px,100% 100%; /* RNSD-615/623: depth band + the hero's dotted-grid texture */color:var(--ink);font-family:var(--font);font-feature-settings:"ss02" 1;
  overflow:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
.sqc::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(234,247,255,.45) 0%,rgba(246,248,250,0) 32%);}
.sqc__in{position:relative;z-index:2;max-width:1040px;margin:0 auto;}

/* header */
.sqc-head{text-align:center;margin-bottom:clamp(22px,2.7vw,34px);}
.sqc-eyebrow{font-weight:800;font-size:clamp(11px,1.2vw,13px);letter-spacing:.18em;text-transform:uppercase;color:var(--slate);
  margin:0 0 18px;display:inline-flex;align-items:center;gap:10px;}
.sqc-eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--blue-deep));}
.sqc-title{margin:0 0 16px;font-weight:800;font-size:clamp(28px,3.9vw,44px);line-height:1.05;letter-spacing:-.045em;color:var(--ink);text-wrap:balance;} /* RNSD-623: matched to the sitewide 28/44 header spec (same as .sop-h) */
.sqc-title em{font-style:normal;color:var(--blue-deep);}
.sqc-sub{margin:0 auto 22px;max-width:540px;font-size:clamp(15px,1.6vw,18px);font-weight:400;line-height:1.5;color:var(--secondary);}
.sqc-sub b{font-weight:800;color:var(--ink);}


/* ---- swipe hint (mobile only) ---- */
.sqc-swipe{display:none;}

/* ---- scroller ---- */
.sqc-scroll{position:relative;max-width:1000px;margin:0 auto;}
.sqc-scrollinner{overflow:visible;}

/* ---- panel ---- */
.sqc-panel{position:relative;display:grid;grid-template-columns:218px 1.28fr 1fr 1fr; /* RNSD-613: rail hugs its longest labels */grid-template-rows:auto repeat(11,auto);
  column-gap:6px;background:#fff;border:1px solid var(--hairline);border-radius:20px;box-shadow:var(--shadow-card);padding:18px 18px 22px;}
/* RNSD-623: texture pass - the card gets a barely-there vertical sheen instead of flat
   white, and cells respond to the pointer so the chart reads alive, not printed. */
.sqc-panel{background:linear-gradient(180deg,#FFFFFF 0%,#FDFEFF 55%,#F8FBFE 100%);}
@media(hover:hover) and (pointer:fine){
 .sqc-cell{transition:background-color .18s ease;border-radius:10px;}
 .sqc-cell:hover{background-color:rgba(70,174,247,.045);}
}
.sqc-col{grid-row:1/-1;display:grid;grid-template-rows:subgrid;min-width:0;}
.sqc-c-feat{grid-column:1;}.sqc-c-sq{grid-column:2;}.sqc-c-b{grid-column:3;}.sqc-c-c{grid-column:4;}
@media (max-width:860px){}


/* Squabble column = .checkcard, lifted */
.sqc-c-sq{position:relative;}
.sqc-c-sq::before{content:"";position:absolute;left:-2px;right:-2px;top:-16px;bottom:-12px;z-index:0;border-radius:20px;
  background:linear-gradient(180deg,#FFFFFF 0%,#F7FBFF 100%);border:1px solid rgba(70,174,247,.3);box-shadow:var(--shadow-card);}
.sqc-c-sq::after{content:"";position:absolute;left:-2px;right:-2px;top:-16px;height:3px;z-index:1;border-radius:20px 20px 0 0;
  background:linear-gradient(90deg,var(--blue-lite),var(--blue-deep),var(--blue-lite),var(--blue-deep));background-size:260% 100%;}
@keyframes sqc-rail{0%{background-position:0% 0;}100%{background-position:260% 0;}}
.sqc-in .sqc-c-sq::after{animation:sqc-rail 1.6s linear 1;}
.sqc-c-sq>*{position:relative;z-index:2;}

.sqc-cell{min-width:0;display:flex;align-items:center;gap:13px;padding:9px 18px;min-height:58px;}

/* heads */
.sqc-h{min-height:58px;flex-direction:column;justify-content:center;gap:10px;align-items:center;text-align:center;}
.sqc-h-feat{align-items:flex-start;text-align:left;padding:0 4px;}
.sqc-feat-h{font-weight:800;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--slate);}
.sqc-logo{display:block;height:21px;width:auto;position:relative;top:-8px;}
.sqc-cname{font-size:16px;font-weight:700;color:var(--slate);line-height:1.2;letter-spacing:-.01em;}
.sqc-csub{display:block;font-size:11px;font-weight:700;color:var(--slate);margin-top:4px;letter-spacing:.06em;text-transform:uppercase;}

/* feature labels + jewel tiles */
/* RNSD-615: rail dot removed per Nate */
/* RNSD-615: section depth - soft radial glow behind the chart, same idiom as the
   hero and Case Brief glows; sits under all content via the section's isolation. */
.sqc::before{content:"";position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:min(1180px,118vw);height:860px;border-radius:50%;z-index:-1;pointer-events:none;
 background:radial-gradient(closest-side,rgba(70,174,247,.15),rgba(70,174,247,.05) 55%,transparent 74%);}
.sqc-lab{min-width:0;}
.sqc-lab b{display:block;font-size:15px;font-weight:800;letter-spacing:-.015em;line-height:1.2;color:var(--ink);word-break:keep-all;}
.sqc-lab b .lw{display:inline;font-size:inherit;font-weight:inherit;letter-spacing:inherit;color:inherit;margin:0;}
.sqc-lab span{display:block;font-size:11px;font-weight:700;color:var(--muted);margin-top:2px;}

/* hairlines */
.sqc-c-feat .sqc-cell:not(.sqc-h){border-top:1px solid #EEF2F7;}
.sqc-c-b .sqc-cell:not(.sqc-h),.sqc-c-c .sqc-cell:not(.sqc-h){border-top:1px solid #EEF2F7;}
.sqc-c-sq .sqc-cell:not(.sqc-h){border-top:1px solid rgba(70,174,247,.13);}

/* values */
.sqc-v{font-size:13px;font-weight:700;color:var(--ink);line-height:1.2;letter-spacing:-.01em;}
.sqc-c-b .sqc-v,.sqc-c-c .sqc-v{font-weight:600;color:var(--muted);font-size:13px;letter-spacing:-.005em;}
.sqc-vlink{display:inline;position:relative;color:var(--deep);text-decoration:none;font-weight:800;border-bottom:1px solid rgba(31,127,204,.32);padding-bottom:1px;}
.sqc-vlink::before{content:"";position:absolute;inset:-12px -10px;}
.sqc-vlink svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s var(--eo);}
.sqc-vlink:hover{border-bottom-color:var(--deep);}.sqc-vlink:hover svg{transform:translate(1.5px,-1.5px);}
.sqc-vwrap{display:flex;flex-direction:column;min-width:0;}
.sqc-cu{color:var(--deep);font-weight:800;font-variant-numeric:tabular-nums;}
.sqc-vsub{font-size:11px;font-weight:700;color:var(--ink);margin-top:2px;letter-spacing:-.005em;}
/* RNSD-613 (Nate): Triple-Check note gray, stat qualifiers match their mains, DCA recommendation amber */
.sqc-vsub--soft{color:var(--muted);font-weight:600;}
.sqc-vsub--eq{font-size:13px;}


/* marks (rounded-square family) */
.sqc-tick{flex:none;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--paper-2);box-shadow:inset 0 0 0 1px rgba(70,174,247,.12);}

.sqc-tick svg{width:16px;height:16px;fill:none;stroke:var(--blue);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.sqc-t2{flex:none;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:#EFF2F6;}
.sqc-t2 svg{width:14px;height:14px;fill:none;stroke:#AEB7C3;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.sqc-par{flex:none;width:22px;height:22px;border-radius:7px;background:#F1F4F8;position:relative;}
.sqc-par::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:9px;height:2px;border-radius:2px;background:#B4BDC9;}
.sqc-x{flex:none;width:22px;height:22px;border-radius:7px;background:#F4F6F9;display:grid;place-items:center;}
.sqc-x svg{width:11px;height:11px;stroke:#AEB7C3;stroke-width:2.2;stroke-linecap:round;}

/* reassurance + cta + foot */
.sqc-reassure{max-width:600px;margin:clamp(30px,4vw,42px) auto 0;text-align:center;}

.sqc-reassure p{margin:0;font-size:clamp(16px,1.8vw,19px);font-weight:700;color:var(--secondary);line-height:1.45;letter-spacing:-.014em;}
.sqc-reassure b{color:var(--ink);font-weight:800;}
.sqc-cta{text-align:center;margin-top:clamp(22px,3vw,30px);}
.sqc-btn{display:inline-flex;align-items:center;gap:9px;background:var(--ink);color:#fff;font-weight:800;font-size:15px;letter-spacing:-.01em;
  padding:15px 28px;border-radius:999px;text-decoration:none;box-shadow:0 10px 22px -10px rgba(8,13,26,.5);transition:transform .2s var(--e),box-shadow .2s var(--e);}
.sqc-btn:hover{transform:translateY(-2px);box-shadow:0 16px 28px -10px rgba(8,13,26,.55);}
.sqc-btn svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s var(--e);}
.sqc-btn:hover svg{transform:translateX(3px);}
.sqc-microcta{margin:13px 0 0;font-size:13px;font-weight:700;color:var(--muted);}
.sqc-foot{max-width:720px;margin:28px auto 0;text-align:center;font-size:11px;line-height:1.5;color:var(--muted);font-weight:500;}
.sqc-ast{font-weight:inherit;color:var(--deep);} /* RNSD-881: Michael - markers "same size as the text"; they were already 11px like the text, but 800-weight blue digits optically read larger, so weight now matches the copy (500) and only the color distinguishes them */
.sqc-fnref{font-size:.6em;font-weight:800;color:var(--deep);vertical-align:.5em;margin-left:1px;}

/* =========================================================
   MOBILE: pinned feature column + horizontal swipe of competitors
   ========================================================= */
@media (max-width:860px){
  .sqc-scroll{margin:0;}            /* bleed to edges for the scroll lane */
  .sqc-swipe{display:flex;align-items:center;justify-content:center;gap:7px;margin:0 0 14px;
    font-size:12px;font-weight:800;letter-spacing:.02em;color:var(--slate);}
  .sqc-swipe svg{width:15px;height:15px;stroke:var(--blue-deep);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;
    animation:sqc-nudge 1.8s var(--e) infinite;}
  @keyframes sqc-nudge{0%,100%{transform:translateX(0);}50%{transform:translateX(4px);}}
  .sqc-scrollinner{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:18px 0 8px;}
  .sqc-scrollinner::-webkit-scrollbar{display:none;}
  .sqc-panel{min-width:634px;grid-template-columns:162px 192px 140px 140px;column-gap:0;
    border-radius:18px;padding:0;overflow:visible;}
  .sqc-cell{min-height:66px;padding:10px 14px;gap:11px;}
  /* pin the feature column */
  .sqc-c-feat{position:sticky;left:0;z-index:5;background:#fff;border-radius:18px 0 0 18px;
    box-shadow:10px 0 16px -10px rgba(8,13,26,.16);}
  .sqc-c-feat .sqc-cell{padding-left:16px;padding-right:12px;}
  .sqc-c-feat .sqc-cell:not(.sqc-h){border-top:1px solid #EEF2F7;}
  .sqc-c-feat .sqc-h{border-top:none;}

  .sqc-c-sq::before{left:0;right:0;top:0;bottom:0;border-radius:0;border-top:none;border-bottom:none;border-left:none;box-shadow:none;}
  .sqc-c-sq::after{left:0;right:0;top:0;}
    .sqc-badge-dca{font-size:9.5px;padding:4px 9px;}
  .sqc-lab b{font-size:13.5px;}.sqc-lab span{font-size:10px;}
  .sqc-logo{height:18px;top:0;}
  .sqc-v{font-size:12px;}.sqc-vsub--eq{font-size:12px;}.sqc-c-b .sqc-v,.sqc-c-c .sqc-v{font-size:12px;}.sqc-vsub--eq{font-size:12px;}
  .sqc-cname{font-size:14px;}.sqc-csub{font-size:9px;}
  /* right edge fade cue */
  .sqc-scroll::after{content:"";position:absolute;top:0;bottom:0;right:0;width:34px;pointer-events:none;z-index:6;
    background:linear-gradient(90deg,rgba(246,248,250,0),var(--paper));}
}
@media (max-width:420px){
  .sqc{padding:54px 14px 60px;}
  .sqc-scroll{margin:0;}
  .sqc-scrollinner{padding:16px 0 8px;}
  .sqc-panel{grid-template-columns:152px 184px 134px 134px;min-width:604px;}
  .sqc-cell{padding:10px 12px;min-height:64px;gap:10px;}
    .sqc-lab b{font-size:12.5px;}.sqc-logo{height:17px;}.sqc-cname{font-size:13px;}
  
}

/* ===== motion ===== */
.sqc-js .sqc-head,.sqc-js .sqc-thesis,.sqc-js .sqc-swipe,.sqc-js .sqc-reassure,.sqc-js .sqc-cta,.sqc-js .sqc-foot{opacity:0;transform:translateY(14px);}
.sqc-js .sqc-cell{opacity:0;transform:translateY(15px);}
.sqc-js .sqc-c-sq .sqc-tick svg path{stroke-dasharray:26;stroke-dashoffset:26;}
.sqc-in .sqc-head,.sqc-in .sqc-thesis,.sqc-in .sqc-swipe,.sqc-in .sqc-reassure,.sqc-in .sqc-cta,.sqc-in .sqc-foot{opacity:1;transform:none;transition:opacity .6s var(--eo),transform .6s var(--eo);}
.sqc-in .sqc-thesis{transition-delay:.16s;}.sqc-in .sqc-swipe{transition-delay:.3s;}.sqc-in .sqc-reassure{transition-delay:.42s;}.sqc-in .sqc-cta{transition-delay:.5s;}.sqc-in .sqc-foot{transition-delay:.58s;}
.sqc-in .sqc-cell{opacity:1;transform:none;transition:opacity .5s var(--eo),transform .55s var(--eo);transition-delay:calc(.06s + var(--r) * .045s);}
.sqc-in .sqc-c-sq .sqc-tick svg path{animation:sqc-fill .9s var(--eo) both;animation-delay:calc(.15s + var(--r) * .1s);}
@keyframes sqc-fill{0%{stroke-dashoffset:26;opacity:0}25%{opacity:1}100%{stroke-dashoffset:0;opacity:1}}
@media (prefers-reduced-motion:reduce){
  .sqc-js .sqc-head,.sqc-js .sqc-swipe,.sqc-js .sqc-reassure,.sqc-js .sqc-cta,.sqc-js .sqc-foot,.sqc-js .sqc-cell,.sqc-c-sq .sqc-tick svg path{stroke-dashoffset:0!important;}
  .sqc-swipe svg{animation:none!important;}.sqc-btn:hover{transform:none;}
  .sqc-c-sq::after{animation:none!important;}
  .sqc-c-sq .sqc-tick svg path{animation:none!important;opacity:1!important;}
}

/* thesis beat */
.sqc-thesis{display:flex;align-items:stretch;justify-content:center;gap:clamp(10px,1.8vw,16px);max-width:720px;margin:0 auto clamp(24px,3.2vw,36px);}
.sqc-th{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;text-align:center;padding:20px 16px;background:#fff;border:1px solid var(--hairline);border-radius:16px;box-shadow:var(--sheet);}
.sqc-th--go{border-color:rgba(70,174,247,.3);background:linear-gradient(180deg,#fff,#F7FBFF);}
.sqc-th-row{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;}
.sqc-th-doc{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#F0F5FA;border:1px solid #E3EBF3;}
.sqc-th-doc svg{width:22px;height:22px;color:#AEB7C3;}
.sqc-th--go .sqc-th-doc{background:var(--soft);border-color:rgba(70,174,247,.28);}
.sqc-th--go .sqc-th-doc svg{color:var(--deep);}
.sqc-th-conn{flex:none;width:20px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--ga),var(--gb));}
.sqc-th-res{flex:none;display:inline-flex;align-items:center;gap:6px;background:var(--ink);color:#fff;font-weight:800;font-size:12.5px;letter-spacing:-.01em;padding:7px 12px 7px 11px;border-radius:999px;}
.sqc-th-res svg{width:13px;height:13px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;}
.sqc-th-cap{margin:0;font-size:13.5px;font-weight:700;color:var(--secondary);line-height:1.35;letter-spacing:-.01em;}
.sqc-th--go .sqc-th-cap{color:var(--ink);}
.sqc-th-vs{flex:none;align-self:center;font-weight:800;font-size:11px;color:var(--slate);text-transform:uppercase;letter-spacing:.12em;}
@media (max-width:560px){.sqc-thesis{flex-direction:column;gap:9px;}}
/* DCA row — amber accents (echoes the DCA package card; amber = DCA-only) */
.sqc-badge-dca{display:inline-flex;align-items:center;align-self:flex-start;margin:0 0 3px;font-weight:800;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:#5A3D00;
  background:linear-gradient(135deg,#FBD98C,#F5A623 75%);border:1px solid rgba(255,255,255,.5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 5px 14px -5px rgba(150,95,0,.4);padding:5px 11px;border-radius:999px;line-height:1;white-space:nowrap;} /* RNSD-637: Michael's r15 original restored verbatim (ink + amber-check iterations reverted) */
.sqc-c-feat .sqc-cell[style*="--r:8"]{border-top-color:rgba(232,169,61,.3);}
.sqc-c-b .sqc-cell[style*="--r:8"],.sqc-c-c .sqc-cell[style*="--r:8"]{border-top-color:rgba(232,169,61,.3);}
.sqc-c-sq .sqc-cell[style*="--r:8"]{border-top-color:rgba(232,169,61,.5);}
/* case-management emphasis */


@font-face{font-family:'Nunito Sans';font-weight:400;font-display:swap;src:url(/static/fonts/nunito-sans-400.woff2) format('woff2');}
@font-face{font-family:'Nunito Sans';font-weight:700;font-display:swap;src:url(/static/fonts/nunito-sans-700.woff2) format('woff2');}
@font-face{font-family:'Nunito Sans';font-weight:800;font-display:swap;src:url(/static/fonts/nunito-sans-800.woff2) format('woff2');}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Nunito Sans','Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* ============ REAL FILERS · manifesto cascade — all rules scoped under .rf ============ */
.rf{--blue:#46AEF7;--gb:#2C9AEF;--ga:#62BDFB;--deep:#1F7FCC;--ink:#080D1A;--body:#172033;--secondary:#33414F;--gray:#4A4E52;--muted:#6B7280;--slate:#7A8694;--hairline:#DCE5EE;--paper:#F6F8FA;
--e:cubic-bezier(.22,.61,.36,1);--eo:cubic-bezier(.16,1,.3,1);
color:var(--body);border-top:1px solid #EDF1F5;background:linear-gradient(180deg,#FFFFFF 0%,#F7FAFC 26%,var(--paper) 100%);
padding:clamp(62px,8vw,100px) 20px clamp(66px,8vw,104px);overflow-x:hidden}
.rf .rf-wrap{max-width:1120px;margin:0 auto}

/* header */
.rf .rf-head{text-align:center;max-width:720px;margin:0 auto clamp(40px,6vw,64px)}
.rf .rf-eyebrow{margin:0 0 16px;font-weight:800;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--slate);display:inline-flex;align-items:center;gap:10px}
.rf .rf-eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--gb))}
.rf .rf-h2{margin:0;font-weight:800;font-size:clamp(28px,3.9vw,44px);letter-spacing:-.045em;line-height:1.0;color:var(--ink);text-wrap:balance}
.rf .rf-lede{margin:18px auto 0;max-width:600px;font-weight:400;font-size:clamp(17px,2vw,20px);line-height:1.5;color:var(--secondary)}

/* cascade */
.rf .rf-man{list-style:none;max-width:800px;margin:0 auto;padding:0}
.rf .rf-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"hk amt" "who amt";column-gap:clamp(18px,3vw,34px);row-gap:6px;align-items:baseline;padding:clamp(20px,3vw,28px) 0}
.rf .rf-item+.rf-item{border-top:1px solid #EDF1F5}
.rf .rf-hk{grid-area:hk;min-width:0;font-weight:800;font-size:clamp(15px,1.95vw,21px);letter-spacing:-.02em;line-height:1.2;color:var(--ink);text-wrap:balance} /* RNSD-641: hooks 25% smaller per Michael via Nate (was clamp(20px,2.6vw,28px)); tracking/leading eased for the smaller size */
.rf .rf-who{grid-area:who;display:flex;align-items:flex-start;gap:7px;font-weight:700;font-size:13px;line-height:1.45;color:var(--muted);min-width:0}
.rf .rf-ck{width:15px;height:15px;flex:none;margin-top:2px}
.rf .rf-ck path{fill:none;stroke:var(--blue);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:19;stroke-dashoffset:0}
.rf.rf-js .rf-ck path{stroke-dashoffset:19;transition:stroke-dashoffset .5s var(--e) .35s}
.rf .rf-item.on .rf-ck path{stroke-dashoffset:0}
.rf .rf-amt{grid-area:amt;text-align:right;white-space:nowrap;align-self:center}
.rf .rf-amt em{display:block;font-style:normal;font-weight:700;font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--slate)}
.rf .rf-amt b{font-weight:800;font-size:clamp(18px,2.1vw,24px);letter-spacing:-.02em;color:var(--deep);font-variant-numeric:tabular-nums}

/* crescendo */
.rf .rf-cres{max-width:800px;margin:0 auto;padding:clamp(30px,4.5vw,46px) 0 0;border-top:2px solid var(--ink);margin-top:clamp(8px,1.5vw,14px)}
.rf .rf-cres .rf-big{font-weight:800;font-size:clamp(25px,3.5vw,38px);letter-spacing:-.04em;line-height:1.08;color:var(--ink);text-wrap:balance}
.rf .rf-cres .rf-n{color:var(--blue);font-variant-numeric:tabular-nums}

/* the field: 13,000 filings, one dot each */
.rf .rf-field{position:relative;max-width:800px;margin:clamp(22px,3.4vw,34px) auto 0;height:clamp(230px,30vw,350px);border:1px solid var(--hairline);border-radius:26px;overflow:hidden;background:linear-gradient(180deg,#FBFDFF 0%,#F3F9FE 100%);background-image:radial-gradient(rgba(70,174,247,.10) 1px,transparent 1.4px);background-size:14px 14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 16px 40px -20px rgba(8,13,26,.10)}
.rf .rf-field canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.rf .rf-coda{max-width:800px;margin:clamp(16px,2.6vw,24px) auto 0;font-weight:800;font-size:clamp(18px,2.3vw,24px);letter-spacing:-.03em;line-height:1.2;color:var(--ink)}
.rf.rf-js .rf-coda{opacity:0;transform:translateY(10px);transition:opacity .7s var(--eo) .15s,transform .7s var(--eo) .15s}
.rf.rf-js .rf-cres.done .rf-coda{opacity:1;transform:none}
.rf .rf-fieldcap{position:absolute;right:14px;bottom:10px;font-weight:700;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);background:rgba(255,255,255,.72);padding:4px 10px;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
/* trust / cta / disclosure */
.rf .rf-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:clamp(44px,6vw,60px) auto 0;max-width:820px}
.rf .rf-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;background:#fff;border:1px solid var(--hairline);border-radius:999px;font-weight:700;font-size:13.5px;color:var(--gray)}
.rf .rf-chip svg{width:16px;height:16px;color:var(--deep)}
.rf .rf-tcline{margin:18px auto 0;max-width:640px;text-align:center;font-weight:600;font-size:12.5px;line-height:1.5;color:var(--slate)}
.rf .rf-cta{display:flex;justify-content:center;margin-top:40px}
.rf .rf-btn{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;font-weight:800;font-size:16px;letter-spacing:.01em;padding:16px 30px;border-radius:999px;text-decoration:none;transition:transform .2s var(--e),box-shadow .2s var(--e);box-shadow:0 10px 26px rgba(8,13,26,.18)}
.rf .rf-btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(8,13,26,.24)}
.rf .rf-btn:focus-visible{outline:3px solid var(--gb);outline-offset:3px}
.rf .rf-btn svg{width:18px;height:18px}
.rf .rf-disc{margin:32px auto 0;max-width:840px;text-align:center;font-weight:600;font-size:12px;line-height:1.55;color:var(--slate)}

/* entrance — per-item reveal, re-triggering */
.rf.rf-js .rf-head,.rf.rf-js .rf-trust,.rf.rf-js .rf-tcline,.rf.rf-js .rf-cta,.rf.rf-js .rf-disc{opacity:0;transform:translateY(16px);transition:opacity .7s var(--eo),transform .7s var(--eo)}
.rf.in .rf-head,.rf.in .rf-trust,.rf.in .rf-tcline,.rf.in .rf-cta,.rf.in .rf-disc{opacity:1;transform:none}
.rf.rf-js .rf-item{opacity:0;transform:translateY(18px);transition:opacity .65s var(--eo),transform .65s var(--eo);transition-delay:calc(var(--i,0)*90ms)}
.rf .rf-item.on{opacity:1;transform:none}
@media(max-width:560px){
 .rf .rf-item{grid-template-areas:"hk hk" "who amt";row-gap:8px;align-items:baseline}
 .rf .rf-amt{align-self:baseline}
 .rf .rf-amt em{display:inline;margin-right:5px}
 .rf .rf-amt b{font-size:17px}
 .rf .rf-who{align-self:baseline}
}
@media(prefers-reduced-motion:reduce){
 .rf.rf-js .rf-head,.rf.rf-js .rf-trust,.rf.rf-js .rf-tcline,.rf.rf-js .rf-cta,.rf.rf-js .rf-disc,.rf.rf-js .rf-item{opacity:1!important;transform:none!important;transition:none!important}
 .rf .rf-btn{transition:none}
 .rf.rf-js .rf-ck path{stroke-dashoffset:0;transition:none}
 .rf.rf-js .rf-coda{opacity:1!important;transform:none!important;transition:none!important}
}


@font-face{font-family:'Nunito Sans';font-weight:400;font-display:swap;src:url(/static/fonts/nunito-sans-400.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:700;font-display:swap;src:url(/static/fonts/nunito-sans-700.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:800;font-display:swap;src:url(/static/fonts/nunito-sans-800.woff2) format('woff2')}
.pf{--blue:#46AEF7;--ga:#62BDFB;--gb:#2C9AEF;--deep:#1F7FCC;--ink:#080D1A;--body:#172033;--secondary:#33414F;--gray:#4A4E52;--muted:#6B7280;--slate:#7A8694;--hairline:#DCE5EE;--soft:#EAF7FF;--paper:#F6F8FA;--card:#fff;--sheet:inset 0 1px 0 rgba(255,255,255,.85),0 1px 2px rgba(8,13,26,.045),0 16px 40px -16px rgba(8,13,26,.13);--e:cubic-bezier(.22,.61,.36,1);--eo:cubic-bezier(.16,1,.3,1);}
.pf *{margin:0;padding:0;box-sizing:border-box}
.pf{font-family:'Nunito Sans',system-ui,sans-serif;font-feature-settings:'ss02' on;background:#fff;color:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.pf{background:#fff;padding:clamp(62px,8vw,100px) 20px clamp(66px,8vw,104px)}
.pf-wrap{max-width:880px;margin:0 auto}
.pf-head{text-align:center;max-width:620px;margin:0 auto}
.pf-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.18em;color:var(--slate)}
.pf-eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--gb))}
.pf-h2{margin-top:18px;font-size:clamp(28px,3.9vw,44px);font-weight:800;letter-spacing:-.045em;line-height:1.0;color:var(--ink);text-wrap:balance}
.pf-lede{margin:18px auto 0;max-width:540px;font-size:clamp(16px,2vw,18.5px);line-height:1.55;color:var(--secondary)}

/* patent plate — the focal credential (dark, contoured, NO blue glow → no navy) */
.pf-plate{position:relative;overflow:hidden;max-width:540px;margin:clamp(40px,6vw,58px) auto 0;background:#080D1A;border-radius:22px;text-align:center;padding:clamp(30px,5vw,42px) clamp(24px,5vw,46px);box-shadow:0 34px 70px -30px rgba(8,13,26,.5),inset 0 1px 0 rgba(255,255,255,.07)}
.pf-plate::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--blue),transparent);opacity:.65}
.pf-plate-ey{display:block;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.2em;color:#8C97A8}
.pf-plate-no{margin-top:12px;font-size:clamp(27px,4.6vw,40px);font-weight:800;letter-spacing:-.02em;color:#fff;line-height:1.0}
.pf-plate-sub{margin:14px auto 0;max-width:380px;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.66)}
.pf-plate-link{display:inline-flex;align-items:center;gap:7px;margin-top:20px;font-size:14.5px;font-weight:700;color:#62BDFB;text-decoration:none}
.pf-plate-link svg{width:15px;height:15px;transition:transform .25s var(--e)}
.pf-plate-link:hover svg{transform:translateX(3px)}

/* two supporting proofs — uniform, distinct small marks */
.pf-points{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,40px);max-width:740px;margin:clamp(36px,5vw,50px) auto 0}
.pf-point{display:flex;gap:13px;align-items:flex-start;text-align:left}
.pf-point-ic{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(180deg,#fff,var(--soft));border:1px solid rgba(70,174,247,.22);color:var(--deep);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.pf-point-ic svg{width:18px;height:18px}
.pf-point h3{font-size:15.5px;font-weight:800;letter-spacing:-.01em;color:var(--ink);margin-bottom:4px}
.pf-point p{font-size:14px;line-height:1.5;color:var(--muted)}

/* scroll-replay */
.pf-js .pf-head,.pf-js .pf-plate,.pf-js .pf-point{opacity:0;transform:translateY(18px);transition:opacity .7s var(--eo),transform .7s var(--eo)}
.pf-js .pf-plate{transition-delay:.08s}
.pf-js .pf-point{transition-delay:.16s}
.pf.in .pf-head,.pf.in .pf-plate,.pf.in .pf-point{opacity:1;transform:none}
/* RNSD-608: the two foundation points become hoverable cards with depth (per Nate) -
   same idiom as the dispute doors and the Case Brief pad. After the reveal lands,
   transform/shadow move to a snappy hover timing. */
.pf-point{background:var(--card);border:1px solid var(--hairline);border-radius:16px;padding:16px 18px;box-shadow:var(--sheet)}
.pf-point-ic{transition:border-color .25s var(--e),box-shadow .25s var(--e),transform .25s var(--e)}
.pf.in .pf-point{transition:opacity .7s var(--eo),transform .28s var(--e),box-shadow .28s var(--e),border-color .28s var(--e)}
@media(hover:hover) and (pointer:fine){
 .pf-point:hover{transform:translateY(-3px);border-color:rgba(70,174,247,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 2px 4px rgba(8,13,26,.05),0 22px 48px -16px rgba(8,13,26,.18)}
 .pf-point:hover .pf-point-ic{border-color:rgba(70,174,247,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 4px 12px -4px rgba(44,154,239,.4);transform:translateY(-1px)}
}
@media(prefers-reduced-motion:reduce){.pf-js .pf-head,.pf-js .pf-plate,.pf-js .pf-point{opacity:1!important;transform:none!important;transition:none!important}.pf-plate-link svg{transition:none!important}}
@media(max-width:560px){.pf-points{grid-template-columns:1fr;gap:18px;max-width:420px}}

@font-face{font-family:'Nunito Sans';font-weight:400;font-display:swap;src:url(/static/fonts/nunito-sans-400.woff2) format('woff2')}@font-face{font-family:'Nunito Sans';font-weight:700;font-display:swap;src:url(/static/fonts/nunito-sans-700.woff2) format('woff2')}@font-face{font-family:'Nunito Sans';font-weight:800;font-display:swap;src:url(/static/fonts/nunito-sans-800.woff2) format('woff2')}.clsec{
  --ink:#080D1A; --body:#172033; --secondary:#33414F; --muted:#6B7280; --slate:#7A8694;
  --blue:#46AEF7; --blue-deep:#2C9AEF; --blue-lite:#69C0FB; --deep:#1F7FCC;
  --ga:#62BDFB; --gb:#2C9AEF;
  --hairline:#DCE5EE; --paper:#F6F8FA; --soft:#EAF7FF;
  --font:'Nunito Sans',Inter,system-ui,-apple-system,'Segoe UI',sans-serif;
  --e:cubic-bezier(.16,1,.3,1); --maxw:1120px;
  --shadow-jewel:0 6px 14px -4px rgba(44,154,239,.55), inset 0 1px 0 rgba(255,255,255,.55);
}.clsec *{box-sizing:border-box;margin:0;padding:0;}.clsec{font-family:var(--font);background:#fff;color:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}.clsec a{text-decoration:none;color:inherit;}.clsec{position:relative;padding:clamp(72px,9vw,128px) 0;overflow:hidden;
  background:
    radial-gradient(120% 70% at 50% -8%, rgba(70,174,247,.10), rgba(70,174,247,0) 60%),
    linear-gradient(180deg,#FBFDFF 0%,#F4FAFF 100%);
  border-top:1px solid var(--hairline);}.cl-inner{max-width:680px;margin:0 auto;padding:0 24px;text-align:center;position:relative;z-index:1;}.cl-mark{position:relative;width:clamp(58px,7vw,66px);aspect-ratio:1;margin:0 auto clamp(22px,3vw,28px);
  border-radius:18px;display:grid;place-items:center;
  background:linear-gradient(155deg,var(--blue-lite),var(--blue) 52%,var(--blue-deep));
  box-shadow:var(--shadow-jewel);}.cl-mark::before{content:"";position:absolute;inset:0;border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.45),transparent 52%);}.cl-mark::after{content:"";position:absolute;inset:-7px;border-radius:24px;
  border:1.5px solid rgba(70,174,247,.4);opacity:0;}.clsec.in .cl-mark::after{animation:clring 3.6s ease-out infinite;}.cl-mark svg{position:relative;width:54%;height:54%;fill:#fff;
  filter:drop-shadow(0 1px 1px rgba(8,13,26,.22));}@keyframes clring{0%{transform:scale(1);opacity:.55}70%,100%{transform:scale(1.22);opacity:0}}.cl-eyebrow{font-weight:800;font-size:clamp(11px,1.2vw,13px);letter-spacing:.18em;
  text-transform:uppercase;color:var(--slate);margin:0 0 16px;
  display:inline-flex;align-items:center;gap:10px;}.cl-eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--blue),var(--blue-deep));}.cl-title{margin:0;font-weight:800;font-size:clamp(28px,3.9vw,44px);letter-spacing:-.045em;
  line-height:1.0;color:var(--ink);text-wrap:balance;}.cl-title .accent{color:var(--blue-deep);}.cl-body{margin:clamp(20px,2.6vw,26px) auto 0;max-width:558px;
  display:flex;flex-direction:column;gap:14px;}.cl-body p{font-weight:400;font-size:clamp(15px,1.6vw,17px);line-height:1.62;color:var(--secondary);margin:0;}.cl-body p b{font-weight:800;color:var(--ink);}.cl-cta-wrap{display:flex;justify-content:center;margin:clamp(28px,3.4vw,36px) 0 0;}.clsec .cl-cta{display:inline-flex;align-items:center;gap:9px;background:var(--ink);color:#fff;
  font-weight:800;font-size:15px;letter-spacing:-.01em;padding:15px 28px;border-radius:999px;
  transition:transform .2s var(--e),box-shadow .2s var(--e);
  box-shadow:0 12px 26px -10px rgba(8,13,26,.5);}.cl-cta:hover{transform:translateY(-2px);box-shadow:0 18px 34px -12px rgba(8,13,26,.55);}.cl-cta svg{width:18px;height:18px;}.cl-fine{margin:16px auto 0;font-weight:600;font-size:13px;color:var(--muted);}.cl-fine b{font-weight:800;color:var(--deep);}.clrev{opacity:0;transform:translateY(16px);transition:opacity .6s var(--e),transform .6s var(--e);}.clsec.in .clrev{opacity:1;transform:none;}.clsec.in .r1{transition-delay:0s;}.clsec.in .r2{transition-delay:.07s;}.clsec.in .r3{transition-delay:.14s;}.clsec.in .r4{transition-delay:.21s;}.clsec.in .r5{transition-delay:.28s;}@media(max-width:560px){.cl-cta{width:100%;justify-content:center;}}@media(prefers-reduced-motion:reduce){.clsec *{transition:none!important;animation:none!important;scroll-behavior:auto!important;}.clrev{opacity:1;transform:none;}}.cl-door{position:relative;width:clamp(212px,30vw,288px);aspect-ratio:1/1.04;margin:0 auto clamp(20px,3vw,30px);filter:drop-shadow(0 22px 40px rgba(44,154,239,.18));}.cl-door::after{content:"";position:absolute;left:50%;top:58%;width:130%;height:158%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse 44% 56% at 50% 40%, rgba(130,196,255,.32), rgba(130,196,255,0) 64%);opacity:0;z-index:-1;pointer-events:none;}.clsec .door3d{position:absolute;inset:0;perspective:1250px;perspective-origin:50% 44%;overflow:hidden;border-radius:18px;}.clsec .door3d-frame{position:absolute;left:27%;bottom:15%;width:46%;height:72%;border:2.4px solid var(--deep);border-bottom:0;border-radius:8px 8px 0 0;transform-style:preserve-3d;box-shadow:0 10px 30px -10px rgba(31,127,204,.4);}.clsec .door3d-frame::after{content:"";position:absolute;left:-26%;right:-26%;bottom:-2.4px;height:2.4px;background:linear-gradient(90deg,transparent,var(--hairline) 30%,var(--hairline) 70%,transparent);border-radius:3px;}.clsec .door3d-light{position:absolute;inset:2.6px;border-radius:6px 6px 0 0;opacity:0;
  background:linear-gradient(180deg, #D7ECFF 0%, #ABD7FF 50%, #7CC0FF 100%);
  box-shadow:inset 10px 0 22px -10px rgba(31,127,204,.28);}.clsec .door3d-beam{position:absolute;inset:2.6px;border-radius:6px 6px 0 0;opacity:0;pointer-events:none;
  background:radial-gradient(40% 27% at 50% 22%, rgba(255,255,255,.8), rgba(255,255,255,0) 74%);}.clsec .door3d-mark{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);width:50%;height:auto;opacity:0;pointer-events:none;filter:drop-shadow(0 0 5px rgba(31,127,204,.5)) drop-shadow(0 1px 2px rgba(31,127,204,.35));}.clsec .door3d-panel{position:absolute;left:calc(27% - 2.4px);bottom:15%;width:calc(46% + 4.8px);height:calc(72% + 2.4px);border:2.4px solid var(--deep);border-radius:8px 8px 0 0;transform-origin:left center;backface-visibility:hidden;transform:rotateY(0deg);
  background:linear-gradient(96deg,#FFFFFF 0%,#F4F9FF 70%,#E9F3FF 100%);overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85), inset -10px 0 22px -14px rgba(31,127,204,.22);}.clsec .door3d-welcome{position:absolute;left:50%;top:50%;transform:translate(-50%,calc(-50% - 1.5px));width:80%;text-align:center;} /* RNSD-651: stack anchored so the blue rule (not the stack center) sits exactly on the handle line - rule + handle read as one line across the door */.clsec .door3d-welcome .ww{display:block;font-family:var(--font);font-weight:800;font-size:clamp(8px,1.05vw,11px);letter-spacing:.16em;text-transform:uppercase;color:var(--deep);line-height:1;}.clsec .door3d-welcome .wr{display:block;height:1.5px;width:50%;margin:6px auto 5px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--blue),var(--blue-deep),transparent);}.clsec .door3d-welcome .wsub{display:block;font-family:var(--font);font-weight:700;font-size:clamp(6.5px,.82vw,8.5px);letter-spacing:.14em;text-transform:lowercase;color:var(--slate);line-height:1;}.clsec .door3d-panel::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.6) 49%,transparent 64%);transform:translateX(-130%);pointer-events:none;}.clsec.in .door3d-panel::before{animation:sheen 1.5s cubic-bezier(.3,0,.2,1) 1.45s forwards;}@keyframes sheen{0%{transform:translateX(-130%)}100%{transform:translateX(130%)}}.clsec .door3d-handle{position:absolute;right:11%;top:50%;width:10%;height:4.5px;margin-top:-2.25px;border-radius:3px;background:linear-gradient(180deg,#46AEF7,#1F7FCC);}.clsec .door3d-pool{position:absolute;left:50%;bottom:11%;width:66%;height:7%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse at center,rgba(120,190,255,.4),rgba(120,190,255,0) 70%);opacity:0;}.clsec.in .door3d-panel{animation:doorOpen 2.15s cubic-bezier(.42,0,.2,1) 1.3s forwards;}.clsec.in .door3d-light{animation:doorLight 1.9s var(--e) 1.35s forwards, lightBreathe 6s ease-in-out 4.3s infinite;}.clsec.in .door3d-pool{animation:doorPool 1.8s var(--e) 1.5s forwards;}.clsec.in .door3d-mark{animation:doorMark 1.5s var(--e) 2.7s forwards, markBreathe 6s ease-in-out 4.3s infinite;}.clsec.in .cl-door::after{animation:doorBloom 2.0s var(--e) 1.7s forwards;}@keyframes doorOpen{0%{transform:rotateY(0deg)}14%{transform:rotateY(-3deg)}72%{transform:rotateY(-95deg)}100%{transform:rotateY(-90deg)}}@keyframes doorLight{0%{opacity:0}100%{opacity:1}}@keyframes lightBreathe{0%,100%{opacity:1}50%{opacity:.92}}@keyframes markBreathe{0%,100%{opacity:.92}50%{opacity:.8}}@keyframes doorPool{0%{opacity:0}100%{opacity:.55}}@keyframes doorBeam{0%{opacity:0}100%{opacity:.5}}@keyframes beamBreathe{0%,100%{opacity:.5}50%{opacity:.66}}@keyframes doorMark{0%{opacity:0;transform:translate(-50%,-48%)}100%{opacity:.95;transform:translate(-50%,-50%)}}@keyframes doorBloom{0%{opacity:0}100%{opacity:1}}@media(prefers-reduced-motion:reduce){.clsec .door3d-panel{transform:rotateY(-91deg);animation:none;}.clsec .door3d-light{opacity:1;animation:none;}.clsec .door3d-beam{opacity:0;animation:none;}.clsec .door3d-mark{opacity:.95;transform:translate(-50%,-50%);animation:none;}.clsec .door3d-pool{opacity:.55;animation:none;}.cl-door::after{opacity:1;animation:none;}}