        :root {

            --green: #1D9E75;
            --green-lt: #E1F5EE;
            --green-dk: #085041;

            --blue: #378ADD;
            --blue-lt: #E6F1FB;
            --blue-dk: #0C447C;

            --amber: #BA7517;
            --amber-lt: #FAEEDA;
            --amber-dk: #412402;

            --purple: #534AB7;
            --purple-lt: #EEEDFE;
            --purple-dk: #3C3489;

            --coral: #D85A30;
            --coral-lt: #FAECE7;
            --coral-dk: #712B13;

            --gray: #5F5E5A;
            --gray-lt: #F1EFE8;
            --gray-dk: #2C2C2A;

            --teal-border: #5DCAA5;

            --bg: #fff;
            --bg2: #F8F8F6;
            --bg3: #F1EFE8;

            --text: #1a1a18;
            --text2: #5F5E5A;
            --text3: #888780;

            --border: #e5e4de;
            --border2: #d0cfc8;

            --radius: 10px;
            --radius-lg: 14px;

            --shadow: 0 1px 3px rgba(0, 0, 0, .08);

        }

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

        body {
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
            background: var(--bg2);
            color: var(--text);
            font-size: 15px;
            line-height: 1.5
        }

        a {
            color: var(--blue);
            text-decoration: none
        }

        a:hover {
            text-decoration: underline
        }

        button {
            font-family: inherit;
            cursor: pointer
        }

        input,
        select,
        textarea {
            font-family: inherit
        }



        /* layout */

        .app {
            min-height: 100vh;
            display: flex;
            flex-direction: column
        }

        .topnav {
            background: var(--bg);
            border-bottom: 1px solid var(--border);
            padding: 12px 20px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            flex-wrap: wrap;
            position: sticky;
            top: 0;
            z-index: 100
        }

        .logo {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 16px;
            font-weight: 600;
            color: var(--text)
        }

        .logo-dot {
            width: 11px;
            height: 11px;
            border-radius: 50%;
            background: var(--green)
        }

        .nav-actions {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap
        }

        .type-tabs {
            display: flex;
            gap: 4px
        }

        .type-tab {
            padding: 6px 14px;
            border-radius: 7px;
            border: none;
            font-size: 13px;
            cursor: pointer;
            background: var(--bg2);
            color: var(--text2);
            font-weight: 400;
            transition: .15s
        }

        .type-tab.active {
            background: var(--green);
            color: #fff;
            font-weight: 500
        }

        .page {
            flex: 1;
            padding: 20px;
            max-width: 1100px;
            margin: 0 auto;
            width: 100%
        }

        /* global footer — shown together with .topnav on shopping/comparison screens */
        .site-footer {
            background: var(--bg);
            border-top: 1px solid var(--border);
            padding: 22px 20px
        }

        .site-footer-inner {
            max-width: 1100px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 16px;
            flex-wrap: wrap
        }

        .site-footer .logo {
            margin-bottom: 6px
        }

        .site-footer-copy {
            font-size: 12px;
            color: var(--text3);
            line-height: 1.6;
            max-width: 480px
        }

        .site-footer-links {
            display: flex;
            gap: 18px;
            flex-wrap: wrap
        }

        .site-footer-links a {
            font-size: 12px;
            color: var(--text2)
        }

        @media(max-width:500px) {
            .site-footer-inner {
                flex-direction: column
            }
        }

        .two-col {
            display: grid;
            grid-template-columns: 1fr 280px;
            gap: 16px;
            align-items: start
        }



        /* cards */

        .card {
            background: var(--bg);
            border: 1px solid var(--border);
            border-radius: var(--radius-lg);
            padding: 20px
        }

        .card-sm {
            background: var(--bg);
            border: 1px solid var(--border);
            border-radius: var(--radius);
            padding: 14px
        }



        /* banners */

        .banner {
            padding: 10px 20px;
            font-size: 13px;
            line-height: 1.6
        }

        .banner.green {
            background: var(--green-lt);
            border-bottom: 1px solid var(--teal-border);
            color: var(--green-dk)
        }

        .banner.amber {
            background: var(--amber-lt);
            border-bottom: 1px solid #FAC775;
            color: var(--amber-dk)
        }

        .banner strong {
            font-weight: 600
        }



        /* buttons */

        .btn {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 9px 20px;
            border-radius: 8px;
            font-size: 14px;
            font-weight: 500;
            border: 1px solid var(--border2);
            background: var(--bg);
            color: var(--text2);
            cursor: pointer;
            transition: .15s
        }

        .btn:hover {
            background: var(--bg2)
        }

        .btn.primary {
            background: var(--green);
            color: #fff;
            border-color: var(--green)
        }

        .btn.primary:hover {
            background: #179060
        }

        .btn.primary:disabled {
            background: var(--border);
            border-color: var(--border);
            color: var(--text3);
            cursor: default
        }

        .btn.blue {
            background: var(--blue);
            color: #fff;
            border-color: var(--blue)
        }

        .btn.orange {
            background: var(--coral);
            color: #fff;
            border-color: var(--coral)
        }

        .btn.sm {
            padding: 6px 14px;
            font-size: 12px
        }

        .btn.full {
            width: 100%;
            justify-content: center
        }



        /* tags */

        .tag {
            display: inline-block;
            font-size: 10px;
            font-weight: 500;
            padding: 2px 8px;
            border-radius: 10px;
            white-space: nowrap
        }

        .tag.green {
            background: var(--green-lt);
            color: var(--green-dk)
        }

        .tag.blue {
            background: var(--blue-lt);
            color: var(--blue-dk)
        }

        .tag.amber {
            background: var(--amber-lt);
            color: var(--amber-dk)
        }

        .tag.purple {
            background: var(--purple-lt);
            color: var(--purple-dk)
        }

        .tag.gray {
            background: var(--bg3);
            color: var(--text2)
        }



        /* stars */

        .stars {
            color: #BA7517;
            font-size: 13px;
            letter-spacing: 1px
        }

        .stars span {
            font-size: 11px;
            color: var(--text3);
            margin-left: 4px
        }



        /* form */

        .field {
            margin-bottom: 12px
        }

        .field label {
            display: block;
            font-size: 12px;
            color: var(--text2);
            margin-bottom: 5px;
            font-weight: 500
        }

        .field input,
        .field select,
        .field textarea {
            width: 100%;
            padding: 9px 12px;
            border-radius: 8px;
            border: 1px solid var(--border2);
            background: var(--bg);
            font-size: 14px;
            color: var(--text);
            outline: none;
            transition: .15s
        }

        .field input:focus,
        .field select:focus,
        .field textarea:focus {
            border-color: var(--green);
            box-shadow: 0 0 0 3px rgba(29, 158, 117, .1)
        }

        .field textarea {
            height: 72px;
            resize: none
        }



        /* chips */

        .chip {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            background: var(--green-lt);
            border: 1px solid var(--teal-border);
            border-radius: 20px;
            padding: 4px 10px;
            font-size: 12px;
            color: var(--green-dk)
        }

        .chip .rm {
            cursor: pointer;
            opacity: .6;
            font-size: 14px;
            line-height: 1
        }

        .chip.blue {
            background: var(--blue-lt);
            border-color: #85B7EB;
            color: var(--blue-dk)
        }

        .chips {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
            margin-top: 6px
        }



        /* progress */

        .progress {
            height: 4px;
            background: var(--bg3);
            border-radius: 2px;
            margin-bottom: 20px
        }

        .progress-fill {
            height: 100%;
            background: var(--green);
            border-radius: 2px;
            transition: .3s
        }



        /* plan card */

        .plan-card {
            background: var(--bg);
            border: 1px solid var(--border);
            border-radius: var(--radius-lg);
            padding: 16px;
            margin-bottom: 10px;
            transition: .15s
        }

        .plan-card:hover {
            border-color: var(--border2)
        }

        .plan-card.rec {
            border-color: var(--teal-border);
            border-width: 1.5px
        }

        .plan-card.in-compare {
            border-color: var(--blue);
            border-width: 2px
        }

        .plan-meta {
            display: flex;
            gap: 12px;
            align-items: flex-start
        }

        .plan-info {
            flex: 1;
            min-width: 0
        }

        .plan-price-block {
            text-align: right;
            flex-shrink: 0;
            min-width: 110px
        }

        .plan-name {
            font-size: 15px;
            font-weight: 600;
            color: var(--text);
            margin-bottom: 2px
        }

        .plan-carrier {
            font-size: 12px;
            color: var(--text3);
            margin-bottom: 5px
        }

        .plan-notes {
            font-size: 12px;
            color: var(--text2);
            font-style: italic;
            margin-bottom: 6px;
            line-height: 1.5
        }

        .plan-premium {
            font-size: 26px;
            font-weight: 700;
            color: var(--text);
            line-height: 1
        }

        .plan-freq {
            font-size: 12px;
            font-weight: 400
        }

        .plan-sub {
            font-size: 11px;
            color: var(--text3);
            margin-top: 2px
        }

        .plan-annual {
            font-size: 13px;
            color: var(--green);
            font-weight: 600;
            margin-top: 4px
        }

        .plan-actions {
            display: flex;
            gap: 8px;
            margin-top: 12px;
            flex-wrap: wrap;
            align-items: center
        }



        /* compare bar */

        .compare-bar {
            background: var(--blue-lt);
            border: 1px solid #85B7EB;
            border-radius: var(--radius-lg);
            padding: 14px;
            margin-bottom: 14px
        }

        .compare-grid {
            display: grid;
            gap: 10px;
            margin-top: 10px
        }

        .compare-item {
            background: var(--bg);
            border-radius: var(--radius);
            padding: 12px;
            font-size: 12px
        }



        /* filter bar */

        .filter-bar {
            background: var(--bg);
            border: 1px solid var(--border);
            border-radius: var(--radius);
            padding: 12px 14px;
            margin-bottom: 14px;
            display: flex;
            gap: 12px;
            align-items: center;
            flex-wrap: wrap
        }

        .filter-bar select {
            padding: 6px 10px;
            border-radius: 6px;
            border: 1px solid var(--border2);
            font-size: 12px;
            background: var(--bg);
            color: var(--text)
        }

        .filter-bar input[type=range] {
            flex: 1;
            min-width: 100px
        }

        .filter-label {
            font-size: 12px;
            color: var(--text2);
            white-space: nowrap
        }



        /* subtype pills */

        .pill-row {
            display: flex;
            gap: 5px;
            flex-wrap: wrap
        }

        .pill {
            padding: 4px 12px;
            border-radius: 20px;
            border: 1px solid var(--border2);
            font-size: 11px;
            cursor: pointer;
            background: var(--bg);
            color: var(--text2);
            transition: .15s
        }

        .pill.active {
            background: var(--text);
            color: #fff;
            border-color: var(--text)
        }



        /* sidebar */

        .sidebar-advisor {
            background: var(--green);
            border-radius: var(--radius-lg);
            padding: 18px;
            color: #fff;
            margin-bottom: 12px
        }

        .sidebar-advisor h3 {
            font-size: 14px;
            font-weight: 600;
            margin-bottom: 6px
        }

        .sidebar-advisor p {
            font-size: 12px;
            opacity: .92;
            line-height: 1.7;
            margin-bottom: 10px
        }

        .sidebar-advisor .phone {
            font-size: 14px;
            font-weight: 600;
            margin-bottom: 2px
        }

        .sidebar-advisor .email {
            font-size: 12px;
            opacity: .85;
            margin-bottom: 12px
        }

        .sidebar-advisor button {
            width: 100%;
            padding: 9px;
            border-radius: 7px;
            border: 2px solid rgba(255, 255, 255, .5);
            background: transparent;
            color: #fff;
            font-size: 13px;
            font-weight: 500;
            cursor: pointer
        }

        .sidebar-advisor button:hover {
            background: rgba(255, 255, 255, .1)
        }



        /* warning / info boxes */

        .warn-box {
            background: var(--amber-lt);
            border-left: 3px solid var(--amber);
            border-radius: 0 8px 8px 0;
            padding: 10px 14px;
            font-size: 12px;
            color: var(--amber-dk);
            line-height: 1.6;
            margin-bottom: 12px
        }

        .info-box {
            background: var(--green-lt);
            border-left: 3px solid var(--teal-border);
            border-radius: 0 8px 8px 0;
            padding: 10px 14px;
            font-size: 12px;
            color: var(--green-dk);
            line-height: 1.6;
            margin-bottom: 12px
        }

        .warn-box strong,
        .info-box strong {
            font-weight: 600
        }



        /* drawer overlay */

        .overlay {
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, .4);
            z-index: 500;
            display: flex;
            align-items: stretch;
            justify-content: flex-end
        }

        .drawer {
            background: var(--bg);
            width: min(480px, 100vw);
            overflow-y: auto;
            padding: 20px;
            box-shadow: -4px 0 24px rgba(0, 0, 0, .12)
        }



        /* modal overlay */

        .modal-overlay {
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, .45);
            z-index: 600;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 16px
        }

        .modal {
            background: var(--bg);
            border-radius: 16px;
            padding: 24px;
            max-width: 460px;
            width: 100%;
            max-height: 90vh;
            overflow-y: auto
        }



        /* entry gate */

        .gate-card {
            background: var(--bg);
            border: 1px solid var(--border);
            border-radius: var(--radius-lg);
            padding: 20px;
            cursor: pointer;
            transition: .15s;
            margin-bottom: 12px
        }

        .gate-card:hover {
            border-color: var(--green);
            transform: translateY(-1px)
        }

        .gate-card.blue-hover:hover {
            border-color: var(--blue)
        }

        .gate-arrow {
            font-size: 22px;
            flex-shrink: 0;
            margin-top: 2px
        }



        /* wizard */

        .q-hint {
            background: var(--bg2);
            border-radius: 8px;
            padding: 12px 14px;
            font-size: 13px;
            color: var(--text2);
            line-height: 1.65;
            margin-bottom: 18px
        }

        .opt-card {
            padding: 14px 16px;
            border-radius: 10px;
            border: 1px solid var(--border);
            cursor: pointer;
            margin-bottom: 8px;
            font-size: 14px;
            color: var(--text);
            line-height: 1.5;
            transition: .15s
        }

        .opt-card:hover {
            border-color: var(--green);
            background: var(--green-lt)
        }

        .opt-card.selected {
            border: 2px solid var(--green);
            background: var(--green-lt)
        }



        /* result screen */

        .result-header {
            border-radius: var(--radius-lg);
            padding: 20px;
            margin-bottom: 18px
        }

        .result-header.green {
            background: var(--green-lt);
            border: 1px solid var(--teal-border)
        }

        .result-header.blue {
            background: var(--blue-lt);
            border: 1px solid #85B7EB
        }

        .result-header.amber {
            background: var(--amber-lt);
            border: 1px solid #FAC775
        }

        .result-tag {
            font-size: 11px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: .06em;
            margin-bottom: 5px
        }

        .result-title {
            font-size: 20px;
            font-weight: 600;
            margin-bottom: 8px
        }

        .result-desc {
            font-size: 13px;
            color: var(--text2);
            line-height: 1.7
        }



        /* ZIP / type screens */

        .center-page {
            max-width: 520px;
            margin: 0 auto;
            padding: 28px 0
        }

        .back-link {
            font-size: 12px;
            color: var(--text3);
            background: none;
            border: none;
            cursor: pointer;
            margin-bottom: 18px;
            padding: 0;
            display: flex;
            align-items: center;
            gap: 4px
        }

        .back-link:hover {
            color: var(--text)
        }



        /* cost table */

        .cost-row {
            display: flex;
            justify-content: space-between;
            padding: 7px 0;
            border-bottom: 1px solid var(--border);
            font-size: 13px
        }

        .cost-row:last-child {
            border: none;
            font-weight: 600;
            font-size: 14px;
            padding-top: 10px
        }

        .cost-row .val {
            color: var(--text)
        }

        .cost-row.total .val {
            color: var(--green)
        }



        /* enrollment dates */

        .enroll-dates {
            background: var(--bg2);
            border-radius: var(--radius);
            padding: 12px;
            font-size: 12px;
            color: var(--text2);
            line-height: 1.8
        }

        .enroll-dates strong {
            color: var(--text)
        }



        /* why advisor list */

        .check-list li {
            display: flex;
            align-items: flex-start;
            gap: 8px;
            margin-bottom: 7px;
            font-size: 12px;
            color: var(--text2);
            line-height: 1.5;
            list-style: none
        }

        .check-list li::before {
            content: "✓";
            color: var(--green);
            flex-shrink: 0;
            font-weight: 600
        }



        /* profile screen */

        .prof-section {
            margin-bottom: 20px
        }

        .prof-section h3 {
            font-size: 14px;
            font-weight: 600;
            color: var(--text);
            margin-bottom: 4px
        }

        .prof-section p {
            font-size: 12px;
            color: var(--text2);
            margin-bottom: 10px;
            line-height: 1.5
        }

        .search-input-wrap {
            display: flex;
            gap: 8px;
            margin-bottom: 8px
        }

        .search-input-wrap input {
            flex: 1;
            padding: 9px 12px;
            border-radius: 8px;
            border: 1px solid var(--border2);
            font-size: 13px;
            outline: none
        }

        .search-input-wrap input:focus {
            border-color: var(--green)
        }

        .search-results {
            background: var(--bg);
            border: 1px solid var(--border2);
            border-radius: 8px;
            overflow: hidden;
            margin-top: -4px;
            margin-bottom: 8px
        }

        .search-result-item {
            padding: 9px 12px;
            font-size: 13px;
            cursor: pointer;
            border-bottom: 1px solid var(--border)
        }

        .search-result-item:last-child {
            border: none
        }

        .search-result-item:hover {
            background: var(--bg2)
        }

        .search-result-item .sub {
            font-size: 11px;
            color: var(--text3)
        }



        /* step bar */

        .step-bar {
            display: flex;
            align-items: center;
            margin-bottom: 20px
        }

        .step-item {
            display: flex;
            align-items: center;
            gap: 6px;
            font-size: 11px;
            color: var(--text3);
            flex: 1
        }

        .step-item.active {
            color: var(--text);
            font-weight: 500
        }

        .step-item.done {
            color: var(--green)
        }

        .step-circle {
            width: 22px;
            height: 22px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 11px;
            font-weight: 600;
            flex-shrink: 0;
            border: 1.5px solid var(--border2);
            background: var(--bg);
            color: var(--text3)
        }

        .step-circle.active {
            background: var(--blue);
            border-color: var(--blue);
            color: #fff
        }

        .step-circle.done {
            background: var(--green);
            border-color: var(--green);
            color: #fff
        }

        .step-line {
            flex: 1;
            height: 1px;
            background: var(--border);
            margin: 0 4px
        }

        .step-line.done {
            background: var(--green)
        }



        /* detail rows */

        .detail-row {
            display: flex;
            justify-content: space-between;
            padding: 7px 0;
            border-bottom: 1px solid var(--border);
            font-size: 13px
        }

        .detail-row .lbl {
            color: var(--text2)
        }

        .benefit-row {
            display: flex;
            align-items: flex-start;
            gap: 8px;
            padding: 5px 0;
            border-bottom: 1px solid var(--border);
            font-size: 12px;
            color: var(--text2)
        }

        .benefit-row .ck {
            color: var(--green);
            flex-shrink: 0;
            font-weight: 600
        }



        /* confirm screen */

        .confirm-icon {
            width: 56px;
            height: 56px;
            border-radius: 50%;
            background: var(--green-lt);
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 16px;
            font-size: 24px;
            color: var(--green)
        }




        /* Medicare.gov-style Plan Compare flow */
        .mc-shell{max-width:760px;margin:0 auto;padding:22px 0}
        .mc-back{background:none;border:0;color:var(--blue);font-size:13px;padding:0;margin-bottom:18px}
        .mc-title{font-size:24px;line-height:1.3;font-weight:700;margin-bottom:10px}
        .mc-copy{font-size:14px;color:var(--text2);line-height:1.7;margin-bottom:20px}
        .mc-choice{border:1px solid var(--border2);border-radius:10px;background:#fff;padding:15px 16px;margin:9px 0;cursor:pointer}
        .mc-choice:hover,.mc-choice.selected{border-color:var(--green);background:var(--green-lt)}
        .mc-choice.selected{border-width:2px}
        .mc-choice-title{font-size:15px;font-weight:600}
        .mc-choice-sub{font-size:12px;color:var(--text2);line-height:1.55;margin-top:5px}
        .mc-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}
        .mc-link{background:none;border:0;color:var(--blue);padding:0;font-size:13px}
        .mc-location{font-size:13px;color:var(--text2);margin:5px 0 18px}
        .mc-med-form{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px;margin-bottom:18px}
        .mc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
        .mc-radio-row{display:flex;gap:8px;flex-wrap:wrap}
        .mc-radio{border:1px solid var(--border2);border-radius:8px;padding:8px 13px;cursor:pointer;background:#fff}
        .mc-radio.active{border-color:var(--green);background:var(--green-lt)}
        .mc-result-head{margin-bottom:16px}
        .mc-filterchips{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}
        .mc-filterchip{border:1px solid var(--border2);background:#fff;border-radius:20px;padding:7px 12px;font-size:12px}
        .mc-plan{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px;margin-bottom:12px}
        .mc-plan h3{font-size:17px;margin-bottom:3px}
        .mc-plan .carrier{font-size:12px;color:var(--text3);margin-bottom:12px}
        .mc-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
        .mc-metric{background:var(--bg2);border-radius:8px;padding:10px}
        .mc-metric .k{font-size:11px;color:var(--text3)}
        .mc-metric .v{font-size:18px;font-weight:650;margin-top:2px}
        .mc-benefits{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
        .mc-benefit{font-size:12px;background:var(--green-lt);color:var(--green-dk);padding:4px 8px;border-radius:12px}
        .mc-notice{background:var(--amber-lt);border-left:3px solid var(--amber);padding:11px 13px;border-radius:0 8px 8px 0;font-size:12px;line-height:1.6;margin:12px 0}
        .mc-drugbox{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px}
        @media(max-width:600px){.mc-form-grid,.mc-metrics{grid-template-columns:1fr}}


        .drug-search-premium{position:relative}
        .drug-search-premium input{height:54px;border-radius:12px;font-size:16px;padding-left:16px}
        .drug-search-premium .btn{height:54px;border-radius:12px;min-width:100px;font-size:15px}
        .drug-suggest{border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.08);overflow:hidden;margin-top:8px}
        .drug-suggest-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid var(--border);cursor:pointer}
        .drug-suggest-item:last-child{border-bottom:0}.drug-suggest-item:hover{background:var(--green-lt)}
        .drug-suggest-name{font-weight:600;font-size:14px}.drug-suggest-sub{font-size:12px;color:var(--text3);margin-top:2px}
        .drug-type-pill{font-size:10px;padding:3px 8px;border-radius:12px;background:var(--blue-lt);color:var(--blue-dk);white-space:nowrap}
        .popular-drugs{margin-top:18px}.popular-title{font-size:12px;color:var(--text3);margin-bottom:8px}
        .popular-grid{display:flex;flex-wrap:wrap;gap:7px}.popular-pill{border:1px solid var(--border);background:#fff;border-radius:18px;padding:7px 11px;font-size:12px;cursor:pointer}
        .popular-pill:hover{border-color:var(--green);background:var(--green-lt)}
        .selected-drug-card{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--green-lt);border:1px solid var(--teal-border);border-radius:10px;padding:10px 12px;margin-top:8px}


        /* Premium visual pass */
        body{background:linear-gradient(180deg,#fbfcfb 0%,#f7faf8 100%);letter-spacing:-.005em}
        header{background:rgba(255,255,255,.92);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(15,23,42,.05)}
        .card,.mc-plan,.mc-med-form,.mc-drugbox{box-shadow:0 8px 28px rgba(15,23,42,.045)}
        .mc-shell{max-width:900px}
        .mc-title{font-size:30px;letter-spacing:-.025em}
        .mc-copy{font-size:15px;max-width:850px}
        .mc-choice{padding:18px 20px;border-color:#dfe4e1;box-shadow:0 3px 12px rgba(15,23,42,.025);transition:.18s ease}
        .mc-choice:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(15,23,42,.07)}
        .mc-choice.selected{box-shadow:0 0 0 3px rgba(15,118,110,.09)}
        .mc-choice-title{font-size:16px}
        .mc-choice-sub{font-size:13px;max-width:760px}
        .mc-none-wrap{margin-top:26px;padding-top:22px;border-top:1px solid #dfe4e1}
        .mc-none-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text3);margin-bottom:9px;font-weight:600}
        .mc-none-choice{background:#f8faf9;border-style:solid}
        .btn.primary{box-shadow:0 5px 14px rgba(15,118,110,.18)}
        .zip-premium{max-width:610px;margin:0 auto}
        .zip-premium .zip-card{padding:26px;border-radius:16px;box-shadow:0 14px 40px rgba(15,23,42,.07)}
        .zip-status{margin-top:12px;border-radius:10px;padding:11px 13px;font-size:12px;line-height:1.55;background:var(--bg2);color:var(--text2)}
        .zip-status.ok{background:var(--green-lt);color:var(--green-dk)}
        .zip-status.err{background:var(--red-lt);color:var(--red)}


        .drug-detail-card,.pharmacy-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px;box-shadow:0 8px 26px rgba(15,23,42,.045)}
        .drug-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.drug-detail-grid .wide{grid-column:1/-1}
        .review-drug{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:14px;padding:17px;margin-bottom:10px;box-shadow:0 5px 16px rgba(15,23,42,.04)}
        .review-drug-name{font-weight:650;font-size:15px}.review-drug-meta{font-size:12px;color:var(--text2);margin-top:5px}
        .pharmacy-toolbar{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin:14px 0 18px}
        .pharmacy-row{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--border)}
        .pharmacy-row:last-child{border-bottom:0}.pharmacy-num{font-weight:650;color:var(--text3)}
        .pharmacy-name{font-size:14px;font-weight:650}.pharmacy-meta{font-size:12px;color:var(--text2);line-height:1.5;margin-top:3px}
        .selected-count{position:sticky;bottom:0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--border);padding:13px 0;display:flex;justify-content:space-between;align-items:center;gap:12px}
        @media(max-width:650px){.drug-detail-grid,.pharmacy-toolbar{grid-template-columns:1fr}.drug-detail-grid .wide{grid-column:auto}}


        .result-context{background:linear-gradient(135deg,#f4fbf8,#f7f9ff);border:1px solid #dbe9e3;border-radius:16px;padding:16px 18px;margin:12px 0 18px;box-shadow:0 8px 26px rgba(15,23,42,.04)}
        .result-context-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--green-dk);margin-bottom:9px}
        .context-chips{display:flex;gap:7px;flex-wrap:wrap}.context-chip{background:#fff;border:1px solid #dce5e1;border-radius:18px;padding:6px 10px;font-size:11px;color:var(--text2)}
        .match-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 2px}
        .match-score{font-size:12px;font-weight:700;color:var(--green-dk);background:var(--green-lt);padding:5px 9px;border-radius:14px}
        .match-reasons{font-size:11px;color:var(--text3);line-height:1.55;margin-top:5px}
        .demo-badge{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:#eef2ff;color:#4338ca;border-radius:12px;padding:4px 7px}
        .plan-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
        .plan-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(15,23,42,.08)}


        .mg-live-price{font-size:27px;font-weight:750;letter-spacing:-.03em;margin:5px 0}
        .mg-live-sub{font-size:11px;color:var(--text3)}
        .mg-summary{background:var(--green-lt);border:1px solid var(--teal-border);border-radius:10px;padding:10px 12px;margin-top:14px;font-size:12px;color:var(--green-dk)}
        .mg-updated{display:inline-block;font-size:10px;font-weight:700;background:#eef2ff;color:#4338ca;border-radius:12px;padding:4px 7px;margin-left:7px}


        /* Premium Medigap result cards */
        .mg-card{position:relative;overflow:hidden}
        .mg-card-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
        .mg-letter{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;border-radius:12px;background:var(--green-lt);color:var(--green-dk);font-size:21px;font-weight:750}
        .mg-title-wrap{display:flex;gap:12px;align-items:center}
        .mg-price-box{text-align:right;min-width:160px}
        .mg-price-box .big{font-size:30px;font-weight:780;letter-spacing:-.04em}
        .mg-price-box .small{font-size:11px;color:var(--text3)}
        .mg-benefit-chips{display:flex;gap:6px;flex-wrap:wrap;margin:13px 0}
        .mg-benefit-chip{font-size:10px;font-weight:650;border-radius:14px;padding:5px 8px;background:#f2f7f5;color:var(--text2)}
        .mg-benefit-chip.yes{background:var(--green-lt);color:var(--green-dk)}
        .mg-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:15px;padding-top:14px;border-top:1px solid var(--border)}
        .mg-details{margin-top:14px;padding-top:14px;border-top:1px dashed var(--border)}
        .mg-comparebar{position:sticky;bottom:12px;z-index:20;background:rgba(18,33,29,.96);color:white;border-radius:14px;padding:12px 15px;display:flex;justify-content:space-between;align-items:center;gap:12px;box-shadow:0 14px 35px rgba(15,23,42,.22);margin-top:15px}
        .mg-comparebar.hidden{display:none}
        .mg-compare-items{font-size:12px;line-height:1.5}
        .mg-compare-table{overflow:auto;margin-top:16px;background:#eaf4ff;border:1px solid #8dc2ff;border-radius:16px;padding:16px}
        .mg-compare-table table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}
        .mg-compare-table th,.mg-compare-table td{padding:11px 12px;border-bottom:1px solid var(--border);text-align:left;font-size:12px}
        .mg-compare-table th{background:var(--bg2);font-weight:700}
        .mg-compare-table tr:last-child td{border-bottom:0}
        @media(max-width:650px){.mg-card-top{display:block}.mg-price-box{text-align:left;margin-top:12px}.mg-actions .btn{flex:1}.mg-comparebar{bottom:6px}}


        .unified-note{font-size:11px;color:var(--text3);margin-top:8px}
        .mg-actions .btn{min-height:38px}
        .mg-actions .btn.primary{box-shadow:0 5px 14px rgba(15,118,110,.16)}
        /* mobile */

        @media(max-width:700px) {

            .two-col {
                grid-template-columns: 1fr
            }

            .plan-premium {
                font-size: 20px
            }

            .page {
                padding: 12px
            }

        }

        @media(max-width:500px) {

            .nav-actions {
                gap: 4px
            }

            .type-tab {
                padding: 5px 10px;
                font-size: 12px
            }

        }



        .hidden {
            display: none !important
        }

        .divider {
            border: none;
            border-top: 1px solid var(--border);
            margin: 14px 0
        }
