/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jan 30 2026 | 15:59:00 */
/* ========================================
   2TIO Provider Page - Scoped WordPress Styles
   All styles scoped to .provider-page to prevent conflicts
   ======================================== */

/* ========================================
   1. GOOGLE FONTS (Global)
   ======================================== */
   @import url('https://fonts.googleapis.com/css2?family=Lato:wght@100;300;400;700;900&display=swap');
   @import url('https://fonts.googleapis.com/css2?family=Literata:wght@300;400;700&display=swap');
   
   /* ========================================
      2. CSS VARIABLES (Scoped to .provider-page)
      ======================================== */
   .provider-page {
      /* Primary Brand Colors */
      --color-primary: #FF7A6D;
      --color-primary-dark: #F26355;
      --color-danger: #D51300;
      --color-teal: #0D90A4;
      --color-teal-100: #E1F8F6;
      --color-teal-200: #B6EAE5;
   
      /* Neutral Colors */
      --color-white: #FFFFFF;
      --color-black: #000000;
      --color-text-primary: #343A40;
      --color-text-secondary: #686868;
      --color-text-tertiary: #82939A;
      --color-gray-500: #8C7C70;
   
      /* Background Colors */
      --color-bg-sidebar: #F4F1EE;
      --color-bg-light: #E6DED8;
      --color-bg-card: #F4F1EE;
      --color-bg-info: #DBEEF1;
   
      /* Border Colors */
      --color-border: #D6CEC7;
      --color-border-medium: #C3A58F;
      --color-border-light: #E8E4E0;
      --color-border-teal: #0D90A4;
   
      /* Font Families */
      --font-primary: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
      --font-sans: 'Lato', sans-serif;
      --font-serif: 'Literata', serif;
   
      /* Header Height (for fixed header offset) */
      --header-height: 100px;
      --header-height-mobile: 60px;
   
      /* Base styles for provider page */
      font-family: var(--font-sans);
      line-height: 1.6;
      color: var(--color-text-primary);
       
      overflow-x: hidden;
   
   }
   
   /* ========================================
      3. TYPOGRAPHY (Scoped)
      ======================================== */
   
   /* Headings */
   .provider-page h1, .provider-page .h1 {
       font-family: 'Lato', sans-serif;
       font-size: 52px;
       line-height: 1.1;
       font-weight: 400;
       margin: 0;
   }
   @media screen and (max-width: 767px) {
       .provider-page h1, .provider-page .h1 {
           font-size: 40px;
       }
   }
   
   .provider-page h2, .provider-page .h2 {
       font-family: 'Lato', sans-serif;
       font-size: 54px;
       line-height: 1.1;
       font-weight: 400;
       letter-spacing: 0;
       color: #02101E;
       margin: 0;
   }
   @media screen and (max-width: 1024px) {
       .provider-page h2, .provider-page .h2 {
           font-size: 40px;
       }
   }
   
   .provider-page h3, .provider-page .h3 {
       font-family: 'Lato', sans-serif;
       font-size: 36px;
       line-height: 1.1;
       font-weight: 400;
       letter-spacing: 0;
       margin: 0;
   }
   @media screen and (max-width: 767px) {
       .provider-page h3, .provider-page .h3 {
           font-size: 24px;
       }
   }
   
   .provider-page h4, .provider-page .h4 {
       font-family: 'Lato', sans-serif;
       font-size: 24px;
       line-height: 1.1;
       font-weight: 600;
       letter-spacing: 0;
       margin: 0;
   }
   
   .provider-page h5, .provider-page .h5 {
       font-family: 'Lato', sans-serif;
       font-size: 18px;
       font-weight: 900;
       letter-spacing: 0.2em;
       text-transform: uppercase;
       line-height: 1.4;
       margin: 0;
   }
   @media screen and (max-width: 767px) {
       .provider-page h5, .provider-page .h5 {
           font-size: 14px;
       }
   }
   
   .provider-page h6, .provider-page .h6 {
       font-family: 'Lato', sans-serif;
       font-size: 16px;
       line-height: 1.4;
       font-weight: 700;
       margin: 0;
   }
   
   /* Body Text */
   .provider-page p {
       font-family: 'Literata', serif;
       font-weight: 400;
       font-size: 18px;
       line-height: 1.9;
       letter-spacing: 0;
       margin: 0;
       color: #646464;
   }
   @media screen and (max-width: 767px) {
       .provider-page p {
           font-size: 16px;
           line-height: 1.6;
       }
   }
   
   /* Text Sizes */
   .provider-page .text--display-large {
       font-size: 61px;
       line-height: 1.1;
       font-weight: 400;
   }
   
   .provider-page .text--large {
       font-size: 18px;
       line-height: 1.4;
   }
   
   .provider-page .text--20 { font-size: 20px; }
   .provider-page .text--22 { font-size: 22px; }
   .provider-page .text--24 { font-size: 24px; }
   .provider-page .text--32 { font-size: 32px; }
   .provider-page .text--40 { font-size: 40px; }
   .provider-page .text--48 { font-size: 48px; }
   .provider-page .text--54 { font-size: 54px; }
   .provider-page .text--60 { font-size: 60px; }
   
   .provider-page .text--small {
       font-size: 14px;
       line-height: 1.4;
   }
   
   .provider-page .text--tiny {
       font-size: 12px;
       line-height: 1.4;
   }
   
   /* Text Alignment */
   .provider-page .text--center { text-align: center; }
   .provider-page .text--right { text-align: right; }
   .provider-page .text--left { text-align: left; }
   
   /* Font Weights */
   .provider-page .font--light { font-weight: 300 !important; }
   .provider-page .font--normal { font-weight: 400 !important; }
   .provider-page .font--medium { font-weight: 500 !important; }
   .provider-page .font--semibold { font-weight: 600 !important; }
   .provider-page .font--bold { font-weight: 700 !important; }
   .provider-page .font--extrabold { font-weight: 800 !important; }
   .provider-page .font--heavy { font-weight: 900 !important; }
   
   /* Font Families */
   .provider-page .font--sans { font-family: var(--font-sans) !important; }
   .provider-page .font--serif { font-family: var(--font-serif) !important; }
   
   /* Text Colors */
   .provider-page .text-color--primary { color: var(--color-text-primary); }
   .provider-page .text-color--secondary { color: var(--color-text-secondary); }
   .provider-page .text-color--white { color: var(--color-white); }
   .provider-page .text-color--muted { color: #82939A; }
   .provider-page .text-color--danger { color: var(--color-danger); }
   .provider-page .text-color--teal { color: #0D90A4; }
   .provider-page .text-color--teal-light { color: #17A2B8; }
   .provider-page .text-color--teal-med { color: #2D9DAD; }
   .provider-page .text-color--card { color: #272727; }
   .provider-page .text-color--dark { color: #1B1B1B; }
   .provider-page .text-color--gray-dark { color: #1B1B1B; }
   .provider-page .text-color--gray-med { color: #505050; }
   .provider-page .text-color--gray-light { color: #6D6D6D; }
   .provider-page .text-color--green { color: #16a34a; }
   .provider-page .text-color--red { color: #dc2626; }
   
   /* Line Heights */
   .provider-page .lh--tight { line-height: 1.1 !important; }
   .provider-page .lh--normal { line-height: 1.4 !important; }
   .provider-page .lh--relaxed { line-height: 1.6 !important; }
   .provider-page .lh--tall { line-height: 1.9 !important; }
   
   /* Text Transform */
   .provider-page .text--uppercase { text-transform: uppercase; }
   
   /* Combined Label Style */
   .provider-page .text--label {
       font-size: 14px;
       font-weight: 700;
       line-height: 17px;
       text-transform: uppercase;
       color: var(--color-text-secondary);
   }
   
   /* Eyebrow Style */
   .provider-page .text--eyebrow {
       font-size: 18px;
       font-weight: 900;
       letter-spacing: 0.2em;
       text-transform: uppercase;
   }
   
   /* Description/Subtitle Style */
   .provider-page .text--description {
       font-family: 'Literata', serif;
       font-weight: 400;
       font-size: 18px;
       line-height: 1.9;
       letter-spacing: 0;
   }
   
   /* Specialized Text Utilities */
   .provider-page .text--label-sm {
       font-size: 12px;
       line-height: 110%;
   }
   
   .provider-page .text--body-compact {
       font-size: 16px;
       line-height: 110%;
   }
   
   .provider-page .text--label-uppercase {
       font-size: 14px;
       letter-spacing: 0.5px;
       text-transform: uppercase;
   }
   
   .provider-page .text--label-uppercase-wide {
       font-size: 14px;
       letter-spacing: 0.2em;
       text-transform: uppercase;
   }
   
   .provider-page .text--value-md {
       font-size: 18px;
       line-height: 110%;
       text-transform: none;
       letter-spacing: 0;
   }
   
   .provider-page .text--body-sm {
       font-size: 14px;
       line-height: 140%;
   }
   
   .provider-page .text--badge {
       font-size: 12px;
       line-height: 1;
   }
   
   .provider-page .text--body-relaxed {
       font-size: 16px;
       line-height: 1.5;
   }
   
   .provider-page .text--display-sm {
       font-size: 24px;
       line-height: 1.1;
   }
   
   .provider-page .text--price-lg {
       font-size: 32px;
       line-height: 110%;
   }
   
   /* ========================================
      4. LAYOUT (Scoped)
      ======================================== */
   
   /* Container */
   .provider-page .container {
       flex: 1;
       max-width: 940px;
       margin: 0 auto;
       padding: 40px 0;
       width: 100%;
   }
   
   /* Brochure container - .provider-page.brochure-layout .container */
   .provider-page.brochure-layout .container {
       max-width: 1440px;
       padding: 0 80px;
   }
   
   /* Container width variations */
   .provider-page .container--narrow { max-width: 440px; }
   .provider-page .container--medium { max-width: 680px; }
   .provider-page .container--wide { max-width: 866px; }
   .provider-page .container--large { max-width: 1200px; }
   
   /* Generic content section */
   .provider-page .content {
       padding: 40px 0;
   }
   
   @media screen and (max-width: 1024px) {
       .provider-page.brochure-layout .container {
           padding: 0 40px;
       }
   }
   
   @media screen and (max-width: 767px) {
       .provider-page .container {
           padding: 20px;
           padding-bottom: 100px;
           display: flex;
           flex-direction: column;
       }
   
       .provider-page.brochure-layout .container {
           padding: 0 24px;
       }
   
       .provider-page .container--narrow,
       .provider-page .container--medium,
       .provider-page .container--wide {
           max-width: 100%;
       }
   }
   
   /* ========================================
      5. UTILITY CLASSES (Scoped)
      ======================================== */
   
   /* Width */
   .provider-page .w-100 { width: 100% !important; }
   .provider-page .w-auto { width: auto !important; }
   
   /* Display */
   .provider-page .d-none { display: none !important; }
   .provider-page .d--block { display: block !important; }
   .provider-page .d--inline-block { display: inline-block !important; }
   .provider-page .d--flex { display: flex !important; }
   .provider-page .d--inline-flex { display: inline-flex !important; }
   
   /* Flexbox */
   .provider-page .flex--row { flex-direction: row !important; }
   .provider-page .flex--column { flex-direction: column !important; }
   .provider-page .justify--center { justify-content: center !important; }
   .provider-page .justify--between { justify-content: space-between !important; }
   .provider-page .justify--end { justify-content: flex-end !important; }
   .provider-page .align--center { align-items: center !important; }
   .provider-page .align--start { align-items: flex-start !important; }
   .provider-page .align--end { align-items: flex-end !important; }
   
   /* Gap Utilities */
   .provider-page .gap-4 { gap: 4px !important; }
   .provider-page .gap-8 { gap: 8px !important; }
   .provider-page .gap-12 { gap: 12px !important; }
   .provider-page .gap-16 { gap: 16px !important; }
   .provider-page .gap-20 { gap: 20px !important; }
   .provider-page .gap-24 { gap: 24px !important; }
   .provider-page .gap-32 { gap: 32px !important; }
   .provider-page .gap-40 { gap: 40px !important; }
   .provider-page .gap-48 { gap: 48px !important; }
   .provider-page .gap-60 { gap: 60px !important; }
   
   /* Responsive Gap Utilities - Medium */
   @media screen and (min-width: 768px) {
       .provider-page .gap-md-4 { gap: 4px !important; }
       .provider-page .gap-md-8 { gap: 8px !important; }
       .provider-page .gap-md-12 { gap: 12px !important; }
       .provider-page .gap-md-16 { gap: 16px !important; }
       .provider-page .gap-md-20 { gap: 20px !important; }
       .provider-page .gap-md-24 { gap: 24px !important; }
       .provider-page .gap-md-32 { gap: 32px !important; }
       .provider-page .gap-md-40 { gap: 40px !important; }
       .provider-page .gap-md-48 { gap: 48px !important; }
       .provider-page .gap-md-60 { gap: 60px !important; }
   }
   
   /* Responsive Gap Utilities - Large */
   @media screen and (min-width: 1025px) {
       .provider-page .gap-lg-4 { gap: 4px !important; }
       .provider-page .gap-lg-8 { gap: 8px !important; }
       .provider-page .gap-lg-12 { gap: 12px !important; }
       .provider-page .gap-lg-16 { gap: 16px !important; }
       .provider-page .gap-lg-20 { gap: 20px !important; }
       .provider-page .gap-lg-24 { gap: 24px !important; }
       .provider-page .gap-lg-32 { gap: 32px !important; }
       .provider-page .gap-lg-40 { gap: 40px !important; }
       .provider-page .gap-lg-48 { gap: 48px !important; }
       .provider-page .gap-lg-60 { gap: 60px !important; }
   }
   
   /* Background */
   .provider-page .bg--beige-light { background-color: var(--color-bg-card) !important; }
   .provider-page .bg--beige { background-color: var(--color-bg-light) !important; }
   .provider-page .bg--white { background-color: var(--color-white) !important; }
   .provider-page .bg--black { background-color: var(--color-black) !important; }
   .provider-page .bg--primary { background-color: var(--color-primary) !important; }
   .provider-page .bg--primary-dark { background-color: var(--color-primary-dark) !important; }
   .provider-page .bg--teal { background-color: #17A2B8 !important; }
   .provider-page .bg--teal-100 { background-color: var(--color-teal-100) !important; }
   .provider-page .bg--teal-200 { background-color: var(--color-teal-200) !important; }
   .provider-page .bg--light-teal { background-color: #E1F8F6 !important; }
   
   /* Border Utilities */
   .provider-page .border { border: 1px solid var(--color-border-medium); }
   .provider-page .border--rounded { border-radius: 8px; }
   .provider-page .border--heavy { border-width: 4px; border-style: solid; }
   .provider-page .border--primary { border-color: var(--color-primary); }
   .provider-page .border--teal { border-color: var(--color-border-teal); }
   .provider-page .border--light { border-color: var(--color-border-light); }
   
   /* Border Radius */
   .provider-page .rounded--sm { border-radius: 4px !important; }
   .provider-page .rounded { border-radius: 8px !important; }
   .provider-page .rounded--lg { border-radius: 16px !important; }
   .provider-page .rounded--full { border-radius: 9999px !important; }
   
   /* Max Width */
   .provider-page .max-w-200 { max-width: 200px !important; }
   .provider-page .max-w-xs { max-width: 430px !important; }
   .provider-page .max-w-sm { max-width: 540px !important; }
   .provider-page .max-w-600 { max-width: 600px !important; }
   .provider-page .max-w-md { max-width: 800px !important; }
   
   /* Aspect Ratio */
   .provider-page .aspect-square { aspect-ratio: 1 !important; }
   
   /* Flex Combinations */
   .provider-page .flex-center {
       display: flex !important;
       align-items: center !important;
       justify-content: center !important;
   }
   
   /* Filters */
   .provider-page .filter-white { filter: brightness(0) invert(1) !important; }
   
   /* Text Utilities */
   .provider-page .no-wrap { white-space: nowrap !important; }
   
   @media screen and (min-width: 768px) {
       .provider-page .no-wrap-md { white-space: nowrap !important; }
   }
   
   /* Responsive Width */
   .provider-page .w-sm-100 { width: 100% !important; }
   @media screen and (min-width: 768px) {
       .provider-page .w-sm-100 { width: auto !important; }
       .provider-page .w-md-100 { width: 100% !important; }
       .provider-page .w-md-auto { width: auto !important; }
   }
   @media screen and (min-width: 1025px) {
       .provider-page .w-lg-100 { width: 100% !important; }
       .provider-page .w-lg-auto { width: auto !important; }
   }
   
   /* Responsive Display */
   @media screen and (max-width: 767px) {
       .provider-page .mobile-hide { display: none !important; }
   }
   @media screen and (min-width: 768px) {
       .provider-page .desktop-hide { display: none !important; }
   }
   
   /* Spacing Utilities */
   .provider-page .mb-1 { margin-bottom: 4px !important; }
   .provider-page .mb-2 { margin-bottom: 8px !important; }
   .provider-page .mb-3 { margin-bottom: 12px !important; }
   .provider-page .mb-4 { margin-bottom: 16px !important; }
   .provider-page .mb-5 { margin-bottom: 24px !important; }
   .provider-page .mb-6 { margin-bottom: 32px !important; }
   
   .provider-page .mt-1 { margin-top: 4px !important; }
   .provider-page .mt-2 { margin-top: 8px !important; }
   .provider-page .mt-3 { margin-top: 12px !important; }
   .provider-page .mt-4 { margin-top: 16px !important; }
   .provider-page .mt-5 { margin-top: 24px !important; }
   .provider-page .mt-6 { margin-top: 32px !important; }
   
   .provider-page .mx-2 { margin-left: 8px !important; margin-right: 8px !important; }
   .provider-page .mx-auto { margin-left: auto !important; margin-right: auto !important; }
   .provider-page .ms-2 { margin-left: 8px !important; }
   .provider-page .me-2 { margin-right: 8px !important; }
   
   .provider-page .py-3 { padding-top: 12px !important; padding-bottom: 12px !important; }
   .provider-page .py-5 { padding-top: 24px !important; padding-bottom: 24px !important; }
   .provider-page .py-6 { padding-top: 32px !important; padding-bottom: 32px !important; }
   .provider-page .py-7 { padding-top: 48px !important; padding-bottom: 48px !important; }
   
   .provider-page .px-3 { padding-left: 12px !important; padding-right: 12px !important; }
   .provider-page .px-6 { padding-left: 32px !important; padding-right: 32px !important; }
   
   .provider-page .p-4 { padding: 16px !important; }
   .provider-page .p-5 { padding: 24px !important; }
   .provider-page .p-6 { padding: 32px !important; }
   
   .provider-page .pt-5 { padding-top: 24px !important; }
   .provider-page .pb-3 { padding-bottom: 12px !important; }
   
   @media screen and (min-width: 768px) {
       .provider-page .py-md-4 { padding-top: 16px !important; padding-bottom: 16px !important; }
       .provider-page .px-md-6 { padding-left: 32px !important; padding-right: 32px !important; }
       .provider-page .p-md-5 { padding: 24px !important; }
       .provider-page .p-md-6 { padding: 32px !important; }
   }
   
   @media screen and (min-width: 1025px) {
       .provider-page .py-lg-7 { padding-top: 48px !important; padding-bottom: 48px !important; }
       .provider-page .pt-lg-7 { padding-top: 48px !important; }
   }
   
   /* ========================================
      6. PROVIDER REVIEW COMPONENTS (Scoped)
      ======================================== */
   
   /* Compact Hero for Provider Pages */
   .provider-page .provider-hero {
       padding: 48px 0;
       padding-top: calc(var(--header-height) + 48px);
   }
   
   @media screen and (max-width: 1024px) {
       .provider-page .provider-hero {
           padding-top: calc(var(--header-height-mobile) + 32px);
       }
   }
   
   .provider-page .provider-hero__grid {
       display: flex;
       align-items: center;
       gap: 60px;
       max-width: 1000px;
       margin: 0 auto;
   }
   
   @media screen and (max-width: 900px) {
       .provider-page .provider-hero__grid {
           flex-direction: column;
           align-items: flex-start;
           gap: 32px;
           max-width: 100%;
       }
       .provider-page .provider-hero__card {
           align-self: stretch;
           align-items: center;
       }
       .provider-page .provider-hero__logo-wrapper {
           width: 100%;
           max-width: 280px;
           padding: 24px 32px;
       }
       .provider-page .provider-hero__nps-badge {
           width: 100%;
           max-width: 280px;
           justify-content: center;
       }
   }
   
   .provider-page .provider-hero__content {
       flex: 1;
   }
   
   .provider-page .provider-hero__title {
       font-size: 42px;
       line-height: 1.1;
       margin-bottom: 16px;
   }
   
   @media screen and (max-width: 767px) {
       .provider-page .provider-hero__title {
           font-size: 32px;
       }
   }
   
   .provider-page .provider-hero__description {
       font-size: 18px;
       line-height: 1.6;
       color: var(--color-text-secondary);
       margin-bottom: 24px;
   }
   
   /* Provider Stats - Horizontal Layout */
   .provider-page .provider-hero__stats {
       display: flex;
       gap: 32px;
       padding: 20px 0;
       border-top: 1px solid var(--color-border);
       border-bottom: 1px solid var(--color-border);
       margin-bottom: 24px;
   }
   
   @media screen and (max-width: 767px) {
       .provider-page .provider-hero__stats {
           gap: 24px;
           flex-wrap: wrap;
       }
   }
   
   .provider-page .provider-hero__stat {
       display: flex;
       flex-direction: column;
       gap: 2px;
   }
   
   .provider-page .provider-hero__stat-label {
       font-size: 11px;
       text-transform: uppercase;
       letter-spacing: 0.5px;
       color: var(--color-text-tertiary);
       font-weight: 600;
   }
   
   .provider-page .provider-hero__stat-value {
       font-size: 24px;
       font-weight: 700;
       color: var(--color-text-primary);
   }
   
   /* Provider Card - Logo + NPS Score */
   .provider-page .provider-hero__card {
       display: flex;
       flex-direction: column;
       align-items: center;
       gap: 16px;
   }
   
   .provider-page .provider-hero__logo-wrapper {
       background: white;
       border-radius: 16px;
       padding: 32px 48px;
       box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
       display: flex;
       align-items: center;
       justify-content: center;
   }
   
   .provider-page .provider-hero__logo {
       max-width: 200px;
       max-height: 100px;
       width: auto;
       height: auto;
       object-fit: contain;
   }
   
   .provider-page .provider-hero__nps-badge {
       background: linear-gradient(135deg, #0D90A4 0%, #0A7A8C 100%);
       border-radius: 12px;
       padding: 16px 24px;
       display: flex;
       align-items: center;
       gap: 16px;
       color: white;
       min-width: 200px;
   }
   
   .provider-page .provider-hero__nps-score {
       font-size: 48px;
       font-weight: 300;
       line-height: 1;
   }
   
   .provider-page .provider-hero__nps-details {
       display: flex;
       flex-direction: column;
       gap: 2px;
   }
   
   .provider-page .provider-hero__nps-label {
       font-size: 11px;
       text-transform: uppercase;
       letter-spacing: 0.5px;
       opacity: 0.9;
   }
   
   .provider-page .provider-hero__nps-rating {
       font-size: 18px;
       font-weight: 600;
   }
   
   .provider-page .provider-hero__star-rating {
       display: flex;
       align-items: center;
       gap: 0.25rem;
   }
   .provider-page .provider-hero__star-value {
       font-size: 1.75rem;
       font-weight: 700;
       color: white;
       line-height: 1;
   }
   .provider-page .provider-hero__star-icon {
       width: 20px;
       height: 20px;
   }
   
   /* Provider Stats */
   .provider-page .provider-stats {
       border-top: 1px solid var(--color-border);
       padding-top: 24px;
   }
   
   .provider-page .provider-stat {
       display: flex;
       flex-direction: column;
       gap: 4px;
   }
   
   /* NPS Score Section */
   .provider-page .nps-section__grid {
       display: grid;
       grid-template-columns: 1fr 1fr;
       gap: 60px;
       align-items: start;
   }
   
   @media screen and (max-width: 1024px) {
       .provider-page .nps-section__grid {
           grid-template-columns: 1fr;
           gap: 40px;
       }
   }
   
   /* NPS Gauge Component */
   .provider-page .nps-score-display {
       background: white;
       border-radius: 16px;
       padding: 40px;
       text-align: center;
   }
   
   .provider-page .nps-gauge {
       position: relative;
       width: 240px;
       height: 140px;
       margin: 0 auto 24px;
   }
   
   .provider-page .nps-gauge__svg {
       width: 100%;
       height: 100%;
       overflow: visible;
   }
   
   .provider-page .nps-gauge__track {
       fill: none;
       stroke: #E6DED8;
       stroke-width: 20;
       stroke-linecap: round;
   }
   
   .provider-page .nps-gauge__fill {
       fill: none;
       stroke-width: 20;
       stroke-linecap: round;
       transition: stroke-dashoffset 1s ease-out;
   }
   
   .provider-page .nps-gauge__fill--poor { stroke: #E8C4C0; }
   .provider-page .nps-gauge__fill--fair { stroke: #F0D9A8; }
   .provider-page .nps-gauge__fill--good { stroke: #B6EAE5; }
   .provider-page .nps-gauge__fill--excellent { stroke: #0D90A4; }
   
   .provider-page .nps-gauge__value {
       position: absolute;
       bottom: 0;
       left: 50%;
       transform: translateX(-50%);
       display: flex;
       flex-direction: column;
       align-items: center;
   }
   
   .provider-page .nps-score-display__label {
       margin-top: 16px;
   }
   
   /* NPS Legend */
   .provider-page .nps-legend {
       display: flex;
       justify-content: center;
       gap: 16px;
       flex-wrap: wrap;
       margin-top: 24px;
   }
   
   .provider-page .nps-legend__item {
       display: flex;
       align-items: center;
       gap: 6px;
   }
   
   .provider-page .nps-legend__color {
       width: 12px;
       height: 12px;
       border-radius: 50%;
       flex-shrink: 0;
   }
   
   .provider-page .nps-legend__color--poor { background: #E8C4C0; }
   .provider-page .nps-legend__color--fair { background: #F0D9A8; }
   .provider-page .nps-legend__color--good { background: #B6EAE5; }
   .provider-page .nps-legend__color--excellent { background: #0D90A4; }
   
   /* NPS Subscores */
   .provider-page .nps-subscores {
       background: white;
       border-radius: 16px;
       padding: 32px;
   }
   
   .provider-page .nps-subscore__bar {
       height: 8px;
       background: #E6DED8;
       border-radius: 4px;
       overflow: hidden;
   }
   
   .provider-page .nps-subscore__fill {
       height: 100%;
       border-radius: 4px;
       transition: width 0.8s ease-out;
   }
   
   .provider-page .nps-subscore__fill--poor { background: #E8C4C0; }
   .provider-page .nps-subscore__fill--fair { background: #F0D9A8; }
   .provider-page .nps-subscore__fill--good { background: #B6EAE5; }
   .provider-page .nps-subscore__fill--excellent { background: #0D90A4; }
   
   /* Large Badge Variant */
   .provider-page .badge--green-large,
   .provider-page .badge--good-large,
   .provider-page .badge--excellent-large,
   .provider-page .badge--fair-large,
   .provider-page .badge--poor-large {
       background: #E1F8F6;
       color: #0D90A4;
       padding: 8px 20px;
       font-size: 16px;
       font-weight: 700;
       border-radius: 20px;
       display: inline-block;
   }
   
   .provider-page .badge--fair-large {
       background: #FEF7CD;
       color: #92400E;
   }
   
   .provider-page .badge--poor-large {
       background: #FEE2E2;
       color: #DC2626;
   }
   
   /* PUC Complaints Section */
   .provider-page .puc-chart-container {
       border: 1px solid var(--color-border);
   }
   
   .provider-page .puc-chart-wrapper {
       position: relative;
       height: 300px;
   }
   
   .provider-page .puc-chart-wrapper canvas {
       width: 100% !important;
       height: 100% !important;
   }
   
   /* Chart Legend Dots */
   .provider-page .puc-legend-dot {
       width: 12px;
       height: 12px;
       border-radius: 50%;
       flex-shrink: 0;
   }
   
   .provider-page .puc-legend-dot--billing { background: #FF7A6D; }
   .provider-page .puc-legend-dot--service { background: #0D90A4; }
   .provider-page .puc-legend-dot--slamming { background: #F0D9A8; }
   .provider-page .puc-legend-dot--other { background: #B6EAE5; }
   
   /* Customer Reviews Section */
   .provider-page .reviews-grid {
       display: grid;
       grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
       gap: 24px;
   }
   
   @media screen and (max-width: 767px) {
       .provider-page .reviews-grid {
           grid-template-columns: 1fr;
       }
   }
   
   /* Review Card */
   .provider-page .review-card {
       background: white;
       border-radius: 16px;
       padding: 24px;
       display: flex;
       flex-direction: column;
       gap: 16px;
       border: 1px solid transparent;
       transition: border-color 0.3s ease, box-shadow 0.3s ease;
   }
   
   .provider-page .review-card:hover {
       border-color: var(--color-border);
       box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
   }
   
   .provider-page .review-card--negative {
       border-left: 4px solid #E8C4C0;
   }
   
   .provider-page .review-card__header {
       display: flex;
       justify-content: space-between;
       align-items: center;
   }
   
   .provider-page .review-card__stars {
       display: flex;
       gap: 4px;
   }
   
   .provider-page .review-card__star {
       width: 18px;
       height: 18px;
   }
   
   .provider-page .review-card__star--empty {
       opacity: 0.3;
   }
   
   .provider-page .review-card__text {
       font-family: var(--font-serif);
       font-size: 16px;
       line-height: 1.7;
       color: var(--color-text-secondary);
       flex: 1;
   }
   
   .provider-page .review-card__footer {
       display: flex;
       justify-content: space-between;
       align-items: center;
       padding-top: 12px;
       border-top: 1px solid var(--color-border);
   }
   
   .provider-page .review-card__author {
       font-weight: 700;
       font-size: 14px;
   }
   
   .provider-page .review-card__date {
       font-size: 12px;
       color: var(--color-text-tertiary);
   }
   
   /* Section Icons */
   .provider-page .review-section-icon {
       width: 28px;
       height: 28px;
       border-radius: 50%;
       display: flex;
       align-items: center;
       justify-content: center;
       font-weight: 700;
       font-size: 18px;
       flex-shrink: 0;
   }
   
   .provider-page .review-section-icon--positive {
       background: #E1F8F6;
       color: #0D90A4;
   }
   
   .provider-page .review-section-icon--negative {
       background: #F9E5E3;
       color: #D51300;
   }
   
   /* Verdict Section */
   .provider-page .verdict-score {
       width: 80px;
       height: 80px;
       background: #E1F8F6;
       border-radius: 50%;
       flex-shrink: 0;
   }
   
   .provider-page .verdict-content {
       border: 1px solid var(--color-border);
   }
   
   .provider-page .verdict-pros-cons {
       display: grid;
       grid-template-columns: 1fr 1fr;
       gap: 40px;
       padding-top: 24px;
       border-top: 1px solid var(--color-border);
   }
   
   @media screen and (max-width: 767px) {
       .provider-page .verdict-pros-cons {
           grid-template-columns: 1fr;
           gap: 32px;
       }
   }
   
   .provider-page .verdict-list {
       list-style: none;
       padding: 0;
       margin: 0;
   }
   
   .provider-page .verdict-list li {
       position: relative;
       padding-left: 28px;
       margin-bottom: 12px;
       font-size: 16px;
       line-height: 1.5;
       color: var(--color-text-secondary);
   }
   
   .provider-page .verdict-list li::before {
       position: absolute;
       left: 0;
       top: 2px;
       font-weight: 700;
       font-size: 18px;
   }
   
   .provider-page .verdict-list--pros li::before {
       content: "+";
       color: #0D90A4;
   }
   
   .provider-page .verdict-list--cons li::before {
       content: "-";
       color: #D51300;
   }
   
   /* Verified Badge */
   .provider-page .badge--verified {
       background: #E1F8F6;
       color: #0D90A4;
       padding: 4px 10px;
       font-size: 12px;
       font-weight: 600;
       border-radius: 12px;
       display: inline-flex;
       align-items: center;
       gap: 4px;
   }
   
   .provider-page .badge--verified img {
       width: 12px;
       height: 12px;
   }
   
   /* ========================================
      7. BUTTONS (Scoped)
      ======================================== */
   
   .provider-page .btn {
       display: inline-flex;
       align-items: center;
       justify-content: center;
       gap: 8px;
       padding: 16px 32px;
       font-family: var(--font-sans);
       font-size: 16px;
       font-weight: 700;
       border-radius: 8px;
       cursor: pointer;
       transition: all 0.2s ease;
       border: none;
       text-decoration: none;
   }
   
   .provider-page .btn--primary {
       background: var(--color-primary);
       color: white;
   }
   
   .provider-page .btn--primary:hover {
       background: var(--color-primary-dark);
   }
   
   .provider-page .btn--teal {
       background: var(--color-teal);
       color: white;
   }
   
   .provider-page .btn--teal:hover {
       background: #0B7A8A;
   }
   
   .provider-page .btn--outline {
       background: transparent;
       border: 2px solid var(--color-border);
       color: var(--color-text-primary);
   }
   
   .provider-page .btn--outline:hover {
       border-color: var(--color-teal);
       color: var(--color-teal);
   }
   
   .provider-page .btn--text {
       background: none;
       border: none;
       color: #6b7280;
       cursor: pointer;
       padding: 0.5rem 1rem;
       margin-top: 0.5rem;
   }
   .provider-page .btn--text:hover {
       color: #374151;
   }
   
   .provider-page .btn--large {
       padding: 18px 36px;
       font-size: 18px;
   }
   
   /* ========================================
      8. ARTICLE LAYOUT (Scoped)
      ======================================== */
   
   .provider-page .article-layout__grid {
       display: grid;
       grid-template-columns: 200px 1fr;
       gap: 60px;
   }
   
   @media screen and (max-width: 900px) {
       .provider-page .article-layout__grid {
           grid-template-columns: 1fr;
           gap: 32px;
       }
   }
   
   /* Table of Contents - matches city page card style */
   .provider-page .article-toc {
       position: sticky;
       top: 100px;
       border-radius: 24px;
       overflow: hidden;
   }

   @media screen and (max-width: 900px) {
       .provider-page .article-toc {
           position: static;
       }
   }

   .provider-page .article-toc__header {
       background: #17A2B8;
       color: white;
       padding: 24px 36px;
       font-family: 'Lato', sans-serif;
       font-weight: 900;
       font-size: 14px;
       line-height: 1.1;
       letter-spacing: 0.2em;
       border-radius: 24px 24px 0 0;
       margin-bottom: 0;
   }

   .provider-page .article-toc__nav {
       background: #EAF5F7;
       padding: 0;
       display: flex;
       flex-direction: column;
       gap: 0;
       border-radius: 0 0 24px 24px;
   }

   .provider-page .article-toc__link {
       padding: 16px 36px;
       font-size: 15px;
       line-height: 1;
       text-decoration: none;
       color: var(--color-text-primary);
       position: relative;
       transition: background 0.2s ease;
   }

   .provider-page .article-toc__link::after {
       content: '';
       position: absolute;
       bottom: 0;
       left: 36px;
       right: 36px;
       height: 1px;
       background: #9FC0DE;
   }

   .provider-page .article-toc__link:first-child {
       padding-top: 24px;
   }

   .provider-page .article-toc__link:last-child {
       padding-bottom: 24px;
   }

   .provider-page .article-toc__link:last-child::after {
       display: none;
   }

   .provider-page .article-toc__link:hover {
       background: #F5FAFB;
   }

   @media screen and (max-width: 767px) {
       .provider-page .article-toc {
           border-radius: 19px;
       }
       .provider-page .article-toc__header {
           padding: 18px 28px;
           font-size: 13px;
           border-radius: 19px 19px 0 0;
       }
       .provider-page .article-toc__link {
           padding: 14px 28px;
           font-size: 14px;
       }
       .provider-page .article-toc__link::after {
           left: 20px;
           right: 20px;
       }
   }
   
   /* Article Header */
   .provider-page .article-header__meta {
       display: flex;
       gap: 40px;
   }
   
   .provider-page .article-header__meta-item {
       display: flex;
       align-items: center;
   }
   
   .provider-page .article-header__avatar {
       border-radius: 50%;
   }
   
   .provider-page .article-header__disclaimer {
       display: flex;
       align-items: flex-start;
       background: var(--color-bg-info);
       padding: 16px;
       border-radius: 8px;
       margin-top: 24px;
   }
   
   .provider-page .article-header__disclaimer-logo {
       width: 40px;
       height: 40px;
       flex-shrink: 0;
   }
   
   .provider-page .article-header__disclaimer-text {
       font-size: 14px;
       line-height: 1.6;
       color: var(--color-text-secondary);
   }
   
   .provider-page .article-header__disclaimer-text a {
       color: var(--color-teal);
   }
   
   /* Article Body */
   .provider-page .article-body {
       margin-top: 32px;
   }
   
   .provider-page .article-body p + p {
       margin-top: 24px;
   }
   
   /* ========================================
      9. DATA GRID (Scoped)
      ======================================== */
   
   .provider-page .data-grid__table {
       display: grid;
       grid-template-columns: repeat(3, 1fr);
       gap: 1px;
       background: var(--color-border);
       border-radius: 12px;
       overflow: hidden;
   }
   
   @media screen and (max-width: 767px) {
       .provider-page .data-grid__table {
           grid-template-columns: repeat(2, 1fr);
       }
   }
   
   .provider-page .data-grid__cell {
       background: white;
       padding: 20px 24px;
   }
   
   .provider-page .data-grid__label {
       font-size: 12px;
       color: var(--color-text-tertiary);
       margin-bottom: 4px;
   }
   
   .provider-page .data-grid__value {
       font-size: 24px;
       font-weight: 700;
       color: var(--color-text-primary);
   }
   
   /* ========================================
      10. INFO CARDS (Scoped)
      ======================================== */
   
   .provider-page .info-card {
       border-radius: 12px;
       padding: 24px;
   }
   
   .provider-page .info-card--blue {
       background: var(--color-bg-info);
   }
   
   .provider-page .info-card--beige {
       background: var(--color-bg-card);
   }
   
   .provider-page .info-card--gray {
       background: #f9fafb;
       border: 1px solid #e5e7eb;
   }
   
   .provider-page .info-card__header {
       display: flex;
       gap: 16px;
   }
   
   .provider-page .info-card__icon {
       flex-shrink: 0;
   }
   
   .provider-page .info-card__icon--desktop {
       display: block;
   }
   
   .provider-page .info-card__icon--mobile {
       display: none;
   }
   
   @media screen and (max-width: 767px) {
       .provider-page .info-card__icon--desktop {
           display: none;
       }
       .provider-page .info-card__icon--mobile {
           display: inline-block;
           width: 20px;
           height: 20px;
       }
   }
   
   .provider-page .info-card__title {
       font-size: 18px;
       font-weight: 700;
       margin-bottom: 8px;
       display: flex;
       align-items: center;
   }
   
   .provider-page .info-card__description {
       font-size: 14px;
       line-height: 1.7;
       color: var(--color-text-secondary);
   }
   
   .provider-page .info-card__list {
       margin: 8px 0 0 20px;
       padding: 0;
   }
   
   .provider-page .info-card__list li {
       font-size: 14px;
       line-height: 1.7;
       color: var(--color-text-secondary);
       margin-bottom: 4px;
   }
   
   /* ========================================
      11. ACCORDION (Scoped)
      ======================================== */
   
   .provider-page .accordion-group__container {
       border: 1px solid var(--color-border);
   }
   
   .provider-page .accordion-group--minimal {
       border: none;
   }
   
   .provider-page .accordion-group__item {
       border-bottom: 1px solid var(--color-border);
   }
   
   .provider-page .accordion-group__item:last-child {
       border-bottom: none;
   }
   
   .provider-page .accordion-group__item--bordered {
       border-bottom: 1px solid var(--color-border-light);
   }
   
   .provider-page .accordion-group__trigger {
       width: 100%;
       display: flex;
       justify-content: space-between;
       align-items: center;
       background: none;
       border: none;
       cursor: pointer;
       text-align: left;
       padding: 0;
   }
   
   .provider-page .accordion-group__icon {
       transition: transform 0.3s ease;
       flex-shrink: 0;
   }
   
   .provider-page .accordion-group__trigger[aria-expanded="true"] .accordion-group__icon {
       transform: rotate(180deg);
   }
   
   .provider-page .accordion__content {
       height: 0;
       overflow: hidden;
       transition: height 0.35s ease;
   }
   
   .provider-page .accordion__inner {
       padding-bottom: 16px;
   }
   
   /* ========================================
      12. CTA BANNER (Scoped)
      ======================================== */
   
   .provider-page .cta-banner__content {
       padding: 60px 40px;
   }
   
   @media screen and (max-width: 767px) {
       .provider-page .cta-banner__content {
           padding: 40px 24px;
       }
   }
   
   .provider-page .cta-banner__eyebrow {
       font-size: 14px;
       font-weight: 700;
       letter-spacing: 0.2em;
       opacity: 0.8;
   }
   
   .provider-page .cta-banner__title {
       font-size: 48px;
       margin-bottom: 8px;
   }
   
   .provider-page .cta-banner__subtitle {
       font-size: 24px;
       font-weight: 400;
       opacity: 0.9;
   }
   
   @media screen and (max-width: 767px) {
       .provider-page .cta-banner__title {
           font-size: 32px;
       }
       .provider-page .cta-banner__subtitle {
           font-size: 18px;
       }
   }
   
   /* Bubble Input */
   .provider-page .bubble-input {
       display: flex;
       background: white;
       border-radius: 60px;
       padding: 8px;
       box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
   }
   
   .provider-page .bubble-input__input {
       flex: 1;
       border: none;
       padding: 12px 20px;
       font-size: 16px;
       background: transparent;
       outline: none;
   }
   
   .provider-page .bubble-input__button {
       border-radius: 60px;
       white-space: nowrap;
   }
   
   /* ========================================
      13. PRICING COMPARISON SECTION (Scoped)
      ======================================== */
   
   /* Usage Tabs */
   .provider-page .usage-tabs {
       display: flex;
       gap: 0.5rem;
       flex-wrap: wrap;
   }
   .provider-page .usage-tabs__btn {
       padding: 0.75rem 1.5rem;
       border: 2px solid var(--color-border, #e5e5e5);
       background: white;
       border-radius: 8px;
       font-weight: 600;
       font-size: 0.9375rem;
       color: #1a1a1a;
       cursor: pointer;
       transition: all 0.2s ease;
   }
   .provider-page .usage-tabs__btn:hover {
       border-color: var(--color-teal, #00A699);
       color: var(--color-teal, #00A699);
   }
   .provider-page .usage-tabs__btn--active {
       background: var(--color-teal, #00A699);
       border-color: var(--color-teal, #00A699);
       color: white;
   }
   
   /* Pricing Summary Grid */
   .provider-page .pricing-summary-grid {
       display: grid;
       grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
       gap: 1rem;
   }
   .provider-page .pricing-summary-card {
       background: white;
       border-radius: 12px;
       padding: 1.5rem;
       text-align: center;
   }
   .provider-page .pricing-summary-card__label {
       font-size: 0.875rem;
       color: var(--color-gray, #6b7280);
       margin-bottom: 0.5rem;
   }
   .provider-page .pricing-summary-card__value {
       font-size: 2rem;
       font-weight: 700;
       color: var(--color-dark, #1a1a1a);
   }
   .provider-page .pricing-summary-card__unit {
       font-size: 1rem;
       font-weight: 400;
       color: var(--color-gray, #6b7280);
   }
   .provider-page .pricing-summary-card--green {
       background: #f0fdf4;
       border: 1px solid #bbf7d0;
   }
   
   /* Pricing Table */
   .provider-page .pricing-table-container {
       overflow: hidden;
   }
   .provider-page .pricing-table-scroll {
       overflow-x: auto;
   }
   .provider-page .pricing-table {
       width: 100%;
       border-collapse: collapse;
       font-size: 0.9375rem;
   }
   .provider-page .pricing-table th,
   .provider-page .pricing-table td {
       padding: 0.875rem 1rem;
       text-align: left;
       border-bottom: 1px solid var(--color-border, #e5e5e5);
   }
   .provider-page .pricing-table th {
       font-weight: 600;
       color: var(--color-gray, #6b7280);
       font-size: 0.8125rem;
       text-transform: uppercase;
       letter-spacing: 0.05em;
   }
   .provider-page .pricing-table__row--current {
       background: #fef3c7;
   }
   .provider-page .pricing-table__row--current td {
       font-weight: 600;
   }
   .provider-page .pricing-table__rank {
       font-weight: 700;
       color: var(--color-teal, #00A699);
   }
   .provider-page .pricing-table__price {
       font-weight: 600;
   }
   .provider-page .badge--current {
       display: inline-block;
       background: var(--color-teal, #00A699);
       color: white;
       font-size: 0.6875rem;
       font-weight: 600;
       padding: 0.25rem 0.5rem;
       border-radius: 4px;
       text-transform: uppercase;
       margin-left: 0.5rem;
   }
   
   /* Green Plans Section */
   .provider-page .green-plans-section {
       background: #f0fdf4;
       border-radius: 12px;
       padding: 2rem;
       border: 1px solid #bbf7d0;
   }
   .provider-page .green-plans-icon {
       width: 32px;
       height: 32px;
   }
   .provider-page .pricing-table-container--green {
       background: white;
   }
   .provider-page .pricing-summary-grid--green {
       grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
   }
   
   /* Responsive */
   @media (max-width: 768px) {
       .provider-page .pricing-summary-card__value {
           font-size: 1.5rem;
       }
       .provider-page .pricing-table {
           font-size: 0.875rem;
       }
       .provider-page .pricing-table th,
       .provider-page .pricing-table td {
           padding: 0.625rem 0.5rem;
       }
       /* Hide Lowest/Highest columns on mobile */
       .provider-page .pricing-table .col--range {
           display: none;
       }
       /* Green plans section: reduce padding and use full width */
       .provider-page .green-plans-section {
           padding: 1rem;
           margin-left: -24px;
           margin-right: -24px;
           border-radius: 0;
           border-left: none;
           border-right: none;
       }
       .provider-page .green-plans-section .pricing-table-container--green {
           padding: 0.75rem;
       }
   }
   
   /* ========================================
      14. MODAL SYSTEM (Scoped)
      ======================================== */
   
   /* Base Modal */
   .provider-page .modal {
       position: fixed;
       inset: 0;
       z-index: 999999;
       display: flex;
       align-items: center;
       justify-content: center;
       padding: 1rem;
       opacity: 0;
       visibility: hidden;
       transition: opacity 0.3s ease, visibility 0.3s ease;
   }
   .provider-page .modal.is-open {
       opacity: 1;
       visibility: visible;
   }
   .provider-page .modal__overlay {
       position: absolute;
       inset: 0;
       background: rgba(15, 23, 42, 0.6);
       backdrop-filter: blur(8px);
       -webkit-backdrop-filter: blur(8px);
   }
   .provider-page .modal__content {
       position: relative;
       background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
       padding: 2rem 2.5rem 2.5rem;
       border-radius: 24px;
       max-width: 680px;
       width: 100%;
       max-height: 90vh;
       overflow-y: auto;
       box-shadow:
           0 0 0 1px rgba(0, 166, 153, 0.1),
           0 24px 48px -12px rgba(0, 0, 0, 0.25),
           0 0 120px -20px rgba(0, 166, 153, 0.15);
       transform: scale(0.95) translateY(10px);
       transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
   }
   .provider-page .modal.is-open .modal__content {
       transform: scale(1) translateY(0);
   }
   .provider-page .modal__close {
       position: absolute;
       top: 1.25rem;
       right: 1.25rem;
       width: 36px;
       height: 36px;
       min-width: 36px;
       max-width: 36px;
       min-height: 36px;
       max-height: 36px;
       padding: 0;
       display: flex;
       align-items: center;
       justify-content: center;
       background: #f1f5f9;
       border: none;
       border-radius: 50%;
       font-size: 1.5rem;
       font-weight: 300;
       line-height: 1;
       cursor: pointer;
       color: #64748b;
       transition: background 0.2s ease, color 0.2s ease;
       z-index: 10;
       aspect-ratio: 1 / 1;
   }
   .provider-page .modal__close:hover {
       background: #e2e8f0;
       color: #1e293b;
   }
   .provider-page .modal h2 {
       margin-bottom: 1.5rem;
       padding-right: 2rem;
       font-size: 1.5rem;
       font-weight: 700;
       color: #0f172a;
       letter-spacing: -0.02em;
   }
   .provider-page .modal h4 {
       margin-top: 1.5rem;
       margin-bottom: 0.75rem;
       color: var(--color-teal, #00A699);
   }
   .provider-page .modal p, .provider-page .modal ul {
       color: #4b5563;
       line-height: 1.7;
   }
   .provider-page .modal ul {
       margin-left: 1.25rem;
       margin-top: 0.5rem;
   }
   .provider-page .modal li {
       margin-bottom: 0.5rem;
   }
   
   /* Mobile Modal */
   @media (max-width: 640px) {
       .provider-page .modal__content {
           padding: 1.5rem;
           border-radius: 20px 20px 0 0;
           max-height: 95vh;
           margin-top: auto;
       }
   }
   
   /* ========================================
      15. PLAN SELECTOR MODAL (Scoped)
      ======================================== */
   .provider-page .plan-selector {
       max-width: 960px;
       width: 95%;
       padding: 2rem 2.5rem 2.5rem;
   }
   .provider-page .plan-selector__header {
       text-align: center;
       margin-bottom: 2rem;
   }
   .provider-page .plan-selector__header h2 {
       margin-bottom: 0.5rem;
       font-size: 1.75rem;
       background: linear-gradient(135deg, #0f172a 0%, #334155 100%);
       -webkit-background-clip: text;
       -webkit-text-fill-color: transparent;
       background-clip: text;
   }
   .provider-page .plan-selector__subtitle {
       color: #64748b;
       font-size: 0.9375rem;
   }
   .provider-page .plan-selector__subtitle strong {
       color: var(--color-teal, #00A699);
       font-weight: 600;
   }
   
   /* Step Indicator */
   .provider-page .plan-selector__steps {
       display: flex;
       align-items: center;
       justify-content: center;
       gap: 0.5rem;
       margin-bottom: 2rem;
   }
   .provider-page .plan-step {
       display: flex;
       align-items: center;
       gap: 0.5rem;
       padding: 0.5rem 1rem;
       border-radius: 100px;
       font-size: 0.8125rem;
       font-weight: 600;
       transition: all 0.3s ease;
   }
   .provider-page .plan-step--active {
       background: var(--color-teal, #00A699);
       color: white;
   }
   .provider-page .plan-step--inactive {
       background: #f1f5f9;
       color: #94a3b8;
   }
   .provider-page .plan-step__number {
       width: 20px;
       height: 20px;
       display: flex;
       align-items: center;
       justify-content: center;
       border-radius: 50%;
       font-size: 0.75rem;
       font-weight: 700;
   }
   .provider-page .plan-step--active .plan-step__number {
       background: rgba(255,255,255,0.25);
   }
   .provider-page .plan-step--inactive .plan-step__number {
       background: #e2e8f0;
   }
   .provider-page .plan-step__divider {
       width: 40px;
       height: 2px;
       background: #e2e8f0;
       border-radius: 1px;
   }
   
   /* Usage Tabs - Pill Style */
   .provider-page .plan-selector__tabs {
       display: flex;
       gap: 0;
       margin-bottom: 2rem;
       justify-content: center;
       background: #f1f5f9;
       border-radius: 16px;
       padding: 6px;
       position: relative;
       max-width: 420px;
       margin-left: auto;
       margin-right: auto;
   }
   .provider-page .plan-tab {
       position: relative;
       z-index: 1;
       display: flex;
       flex-direction: column;
       align-items: center;
       padding: 0.875rem 1.5rem;
       border: none;
       border-radius: 12px;
       background: transparent;
       cursor: pointer;
       transition: all 0.3s ease;
       flex: 1;
   }
   .provider-page .plan-tab:hover:not(.active) {
       background: rgba(255,255,255,0.5);
   }
   .provider-page .plan-tab.active {
       background: white;
       box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 166, 153, 0.1);
   }
   .provider-page .plan-tab__icon {
       width: 24px;
       height: 24px;
       margin-bottom: 0.25rem;
       opacity: 0.5;
       transition: opacity 0.3s ease;
   }
   .provider-page .plan-tab.active .plan-tab__icon {
       opacity: 1;
   }
   .provider-page .plan-tab__label {
       font-size: 0.8125rem;
       font-weight: 600;
       color: #64748b;
       transition: color 0.3s ease;
   }
   .provider-page .plan-tab.active .plan-tab__label {
       color: #0f172a;
   }
   .provider-page .plan-tab__kwh {
       font-size: 1rem;
       font-weight: 700;
       color: #94a3b8;
       transition: color 0.3s ease;
   }
   .provider-page .plan-tab.active .plan-tab__kwh {
       color: var(--color-teal, #00A699);
   }
   
   /* Plan Grid */
   .provider-page .plan-selector__grid {
       display: grid;
       grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
       gap: 1rem;
       padding: 0.5rem;
       margin: 0 -0.5rem;
   }
   
   /* Plan Cards */
   .provider-page .plan-card {
       position: relative;
       border: 1px solid #e2e8f0;
       border-radius: 16px;
       padding: 1.5rem;
       cursor: pointer;
       background: white;
       transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
       overflow: hidden;
       animation: cardFadeIn 0.4s ease forwards;
   }
   .provider-page .plan-card::before {
       content: '';
       position: absolute;
       inset: 0;
       background: linear-gradient(135deg, rgba(0, 166, 153, 0.05) 0%, transparent 50%);
       opacity: 0;
       transition: opacity 0.3s ease;
   }
   .provider-page .plan-card:hover {
       border-color: var(--color-teal, #00A699);
       transform: translateY(-4px);
       box-shadow:
           0 12px 24px -8px rgba(0, 166, 153, 0.2),
           0 0 0 1px rgba(0, 166, 153, 0.1);
   }
   .provider-page .plan-card:hover::before {
       opacity: 1;
   }
   .provider-page .plan-card:active {
       transform: translateY(-2px) scale(0.99);
   }
   .provider-page .plan-card__rank {
       position: absolute;
       top: 1rem;
       right: 1rem;
       width: 28px;
       height: 28px;
       display: flex;
       align-items: center;
       justify-content: center;
       background: #f1f5f9;
       border-radius: 8px;
       font-size: 0.75rem;
       font-weight: 700;
       color: #64748b;
   }
   .provider-page .plan-card__rank--top {
       background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
       color: #92400e;
   }
   .provider-page .plan-card__name {
       font-weight: 600;
       font-size: 0.9375rem;
       color: #1e293b;
       margin-bottom: 0.75rem;
       line-height: 1.35;
       padding-right: 2.5rem;
   }
   .provider-page .plan-card__price-wrapper {
       display: flex;
       align-items: baseline;
       gap: 0.25rem;
       margin-bottom: 0.5rem;
   }
   .provider-page .plan-card__price {
       font-size: 2rem;
       font-weight: 800;
       color: var(--color-teal, #00A699);
       line-height: 1;
       letter-spacing: -0.03em;
   }
   .provider-page .plan-card__price-unit {
       font-size: 0.875rem;
       font-weight: 500;
       color: #64748b;
   }
   .provider-page .plan-card__term {
       display: inline-flex;
       align-items: center;
       gap: 0.375rem;
       font-size: 0.8125rem;
       color: #64748b;
       padding: 0.25rem 0.625rem;
       background: #f8fafc;
       border-radius: 6px;
       margin-bottom: 0.75rem;
   }
   .provider-page .plan-card__term-icon {
       width: 14px;
       height: 14px;
       opacity: 0.6;
   }
   .provider-page .plan-card__badges {
       display: flex;
       flex-wrap: wrap;
       gap: 0.375rem;
   }
   .provider-page .plan-card__badge {
       display: inline-flex;
       align-items: center;
       gap: 0.25rem;
       background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
       color: #047857;
       font-size: 0.6875rem;
       font-weight: 600;
       padding: 0.3rem 0.5rem;
       border-radius: 6px;
       text-transform: uppercase;
       letter-spacing: 0.02em;
   }
   .provider-page .plan-card__badge--featured {
       background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
       color: #92400e;
   }
   
   /* Empty State */
   .provider-page .plan-selector__empty {
       text-align: center;
       padding: 3rem 2rem;
       color: #64748b;
   }
   .provider-page .plan-selector__empty-icon {
       width: 48px;
       height: 48px;
       margin: 0 auto 1rem;
       opacity: 0.4;
   }
   
   /* Mobile Optimizations */
   @media (max-width: 640px) {
       .provider-page .plan-selector {
           padding: 1.5rem;
       }
       .provider-page .plan-selector__tabs {
           flex-direction: column;
           max-width: 100%;
       }
       .provider-page .plan-tab {
           flex-direction: row;
           justify-content: center;
           gap: 0.75rem;
           padding: 0.75rem 1rem;
       }
       .provider-page .plan-selector__grid {
           grid-template-columns: 1fr;
           max-height: 50vh;
       }
       .provider-page .plan-selector__steps {
           display: none;
       }
   }
   
   /* ========================================
      16. CONFIRM MODAL (Scoped)
      ======================================== */
   .provider-page .confirm-modal {
       max-width: 420px;
       text-align: center;
       padding: 1.5rem 2rem 1.75rem;
   }
   .provider-page .confirm-modal .modal__close {
       top: 1rem;
       right: 1rem;
   }
   .provider-page .confirm-modal__header {
       display: flex;
       align-items: center;
       justify-content: center;
       gap: 0.75rem;
       margin-bottom: 1.25rem;
   }
   .provider-page .confirm-modal__icon {
       width: 40px;
       height: 40px;
       min-width: 40px;
       background: linear-gradient(135deg, #f0fdfa 0%, #ccfbf1 100%);
       border-radius: 50%;
       display: flex;
       align-items: center;
       justify-content: center;
   }
   .provider-page .confirm-modal__icon svg {
       width: 20px;
       height: 20px;
       color: var(--color-teal, #00A699);
   }
   .provider-page .confirm-modal__title {
       font-size: 1.25rem;
       font-weight: 700;
       color: #0f172a;
       margin: 0;
   }
   .provider-page .confirm-modal__plan-info {
       background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
       padding: 1rem 1.25rem;
       border-radius: 12px;
       margin-bottom: 1rem;
       border: 1px solid #e2e8f0;
   }
   .provider-page .confirm-modal__provider {
       display: block;
       font-size: 0.6875rem;
       font-weight: 600;
       color: #94a3b8;
       margin-bottom: 0.25rem;
       text-transform: uppercase;
       letter-spacing: 0.05em;
   }
   .provider-page .confirm-modal__plan-name {
       display: block;
       font-weight: 600;
       font-size: 1rem;
       color: #0f172a;
       margin-bottom: 0.5rem;
       line-height: 1.3;
   }
   .provider-page .confirm-modal__price {
       display: flex;
       align-items: baseline;
       justify-content: center;
       gap: 0.125rem;
   }
   .provider-page .confirm-modal__price-value {
       font-size: 2rem;
       font-weight: 800;
       color: var(--color-teal, #00A699);
       letter-spacing: -0.03em;
       line-height: 1;
   }
   .provider-page .confirm-modal__price-unit {
       font-size: 0.875rem;
       font-weight: 500;
       color: #64748b;
   }
   .provider-page .confirm-modal__details {
       display: flex;
       justify-content: center;
       gap: 2.5rem;
       margin-bottom: 1.25rem;
       padding-bottom: 1rem;
       border-bottom: 1px solid #e2e8f0;
   }
   .provider-page .confirm-modal__detail {
       text-align: center;
   }
   .provider-page .confirm-modal__detail-label {
       font-size: 0.625rem;
       font-weight: 600;
       color: #94a3b8;
       text-transform: uppercase;
       letter-spacing: 0.05em;
       margin-bottom: 0.125rem;
   }
   .provider-page .confirm-modal__detail-value {
       font-size: 0.875rem;
       font-weight: 600;
       color: #1e293b;
   }
   .provider-page .confirm-modal__powered-by {
       display: flex;
       flex-direction: column;
       align-items: center;
       gap: 0.375rem;
       margin-bottom: 1.25rem;
       padding: 0.875rem;
       background: #f8fafc;
       border-radius: 10px;
   }
   .provider-page .confirm-modal__powered-by-row {
       display: flex;
       align-items: center;
       gap: 0.5rem;
   }
   .provider-page .confirm-modal__powered-by-label {
       font-size: 0.75rem;
       color: #64748b;
   }
   .provider-page .confirm-modal__powered-by img {
       height: 20px;
   }
   .provider-page .confirm-modal__powered-by-note {
       font-size: 0.6875rem;
       color: #94a3b8;
   }
   .provider-page .confirm-modal__cta {
       width: 100%;
       padding: 0.875rem 1.25rem;
       font-size: 0.9375rem;
       font-weight: 600;
       border: none;
       border-radius: 10px;
       cursor: pointer;
       transition: all 0.2s ease;
       background: linear-gradient(135deg, var(--color-teal, #00A699) 0%, #0d9488 100%);
       color: white;
       box-shadow: 0 4px 12px rgba(0, 166, 153, 0.25);
   }
   .provider-page .confirm-modal__cta:hover {
       transform: translateY(-1px);
       box-shadow: 0 6px 16px rgba(0, 166, 153, 0.35);
   }
   .provider-page .confirm-modal__cta-icon {
       display: inline-block;
       margin-left: 0.375rem;
   }
   .provider-page .confirm-modal__back {
       display: inline-block;
       background: none;
       border: none;
       color: #94a3b8;
       font-size: 0.8125rem;
       cursor: pointer;
       padding: 0.625rem 1rem;
       margin-top: 0.5rem;
       transition: color 0.2s ease;
   }
   .provider-page .confirm-modal__back:hover {
       color: #64748b;
   }
   
   @media (max-width: 640px) {
       .provider-page .confirm-modal {
           padding: 1.5rem;
       }
       .provider-page .confirm-modal__details {
           gap: 1rem;
       }
   }
   
   /* ========================================
      17. STICKY CTA BANNER (Scoped)
      ======================================== */
   .provider-page .sticky-cta {
       position: fixed;
       top: 0;
       left: 0;
       right: 0;
       z-index: 99999;
       background: white;
       border-bottom: 1px solid #e2e8f0;
       box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
       transform: translateY(-100%);
       transition: transform 0.3s ease;
   }
   .provider-page .sticky-cta.is-visible {
       transform: translateY(0);
   }
   .provider-page .sticky-cta__container {
       max-width: 1200px;
       margin: 0 auto;
       padding: 0.75rem 1.5rem;
       display: flex;
       align-items: center;
       justify-content: space-between;
       gap: 1rem;
   }
   .provider-page .sticky-cta__left {
       display: flex;
       align-items: center;
       gap: 0.75rem;
   }
   .provider-page .sticky-cta__logo {
       height: 24px;
       opacity: 0.9;
   }
   .provider-page .sticky-cta__divider {
       width: 1px;
       height: 24px;
       background: #e2e8f0;
   }
   .provider-page .sticky-cta__text {
       font-size: 0.9375rem;
       font-weight: 600;
       color: #1e293b;
   }
   .provider-page .sticky-cta__form {
       display: flex;
       align-items: center;
       gap: 0.5rem;
   }
   .provider-page .sticky-cta__input {
       width: 160px;
       padding: 0.5rem 0.75rem;
       border: 1px solid #e2e8f0;
       border-radius: 8px;
       font-size: 0.875rem;
       transition: border-color 0.2s ease;
   }
   .provider-page .sticky-cta__input:focus {
       outline: none;
       border-color: var(--color-teal, #00A699);
   }
   .provider-page .sticky-cta__input::placeholder {
       color: #94a3b8;
   }
   .provider-page .sticky-cta__btn {
       padding: 0.5rem 1rem;
       background: var(--color-primary, #FF7A6D);
       color: white;
       border: none;
       border-radius: 8px;
       font-size: 0.875rem;
       font-weight: 600;
       cursor: pointer;
       white-space: nowrap;
       transition: background 0.2s ease;
   }
   .provider-page .sticky-cta__btn:hover {
       background: var(--color-primary-dark, #F26355);
   }
   @media (max-width: 640px) {
       .provider-page .sticky-cta__container {
           padding: 0.625rem 1rem;
       }
       .provider-page .sticky-cta__text {
           display: none;
       }
       .provider-page .sticky-cta__divider {
           display: none;
       }
       .provider-page .sticky-cta__input {
           width: 130px;
       }
       .provider-page .sticky-cta__btn {
           padding: 0.5rem 0.75rem;
           font-size: 0.8125rem;
       }
   }
   
   /* ========================================
      18. PLAN ACCORDION COMPONENT (Scoped)
      ======================================== */
   
   .provider-page .plan-accordion {
       position: relative;
       background: #FFFFFF;
       border: 1px solid #D6CEC7;
       border-radius: 16px;
       overflow: hidden;
       transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
   }
   
   .provider-page .plan-accordion:hover {
       border-color: #0D90A4;
       box-shadow:
           0 4px 20px -4px rgba(13, 144, 164, 0.12),
           0 0 0 1px rgba(13, 144, 164, 0.05);
       transform: translateY(-1px);
   }
   
   .provider-page .plan-accordion--open {
       border-color: #0D90A4;
       box-shadow:
           0 12px 32px -8px rgba(13, 144, 164, 0.18),
           0 0 0 1px rgba(13, 144, 164, 0.1);
   }
   
   /* Best Price Ribbon */
   .provider-page .plan-accordion--best::before {
       content: 'Best Price';
       position: absolute;
       top: 0;
       right: 24px;
       background: linear-gradient(135deg, #FEF7CD 0%, #FDE68A 50%, #FCD34D 100%);
       color: #92400E;
       font-family: 'Lato', sans-serif;
       font-size: 0.6875rem;
       font-weight: 800;
       letter-spacing: 0.04em;
       text-transform: uppercase;
       padding: 6px 14px;
       border-radius: 0 0 10px 10px;
       box-shadow: 0 2px 8px -2px rgba(146, 64, 14, 0.25);
       z-index: 2;
   }
   
   /* Trigger Button */
   .provider-page .plan-accordion__trigger {
       width: 100%;
       display: flex;
       align-items: center;
       gap: 16px;
       padding: 18px 20px;
       background: transparent;
       border: none;
       cursor: pointer;
       text-align: left;
       transition: background 0.25s ease;
   }
   
   .provider-page .plan-accordion__trigger:hover {
       background: linear-gradient(135deg, rgba(244, 241, 238, 0.6) 0%, rgba(244, 241, 238, 0.3) 100%);
   }
   
   .provider-page .plan-accordion__trigger:focus {
       outline: none;
   }
   
   .provider-page .plan-accordion__trigger:focus-visible {
       outline: 2px solid #0D90A4;
       outline-offset: -2px;
       border-radius: 14px;
   }
   
   /* Rank Badge */
   .provider-page .plan-accordion__rank {
       flex-shrink: 0;
       width: 40px;
       height: 40px;
       display: flex;
       align-items: center;
       justify-content: center;
       background: linear-gradient(145deg, #F4F1EE 0%, #E8E4E0 100%);
       border-radius: 12px;
       font-family: 'Lato', sans-serif;
       font-size: 0.875rem;
       font-weight: 800;
       color: #686868;
       box-shadow: inset 0 1px 0 rgba(255,255,255,0.8);
       transition: all 0.3s ease;
   }
   
   .provider-page .plan-accordion__rank--top {
       background: linear-gradient(145deg, #FEF7CD 0%, #FDE68A 100%);
       color: #92400E;
       box-shadow:
           inset 0 1px 0 rgba(255,255,255,0.6),
           0 2px 6px -2px rgba(146, 64, 14, 0.2);
   }
   
   .provider-page .plan-accordion:hover .plan-accordion__rank {
       transform: scale(1.05);
   }
   
   /* Plan Info Section */
   .provider-page .plan-accordion__info {
       flex: 1;
       min-width: 0;
   }
   
   .provider-page .plan-accordion__name {
       font-family: 'Lato', sans-serif;
       font-size: 0.8125rem;
       font-weight: 700;
       color: #5a6a70;
       text-transform: uppercase;
       letter-spacing: 0.05em;
       margin-bottom: 4px;
   }
   
   .provider-page .plan-accordion__headline {
       font-family: 'Lato', sans-serif;
       font-size: 0.9375rem;
       font-weight: 600;
       color: #3d4f4f;
       margin: 0 0 8px 0;
       line-height: 1.45;
       display: -webkit-box;
       -webkit-line-clamp: 2;
       -webkit-box-orient: vertical;
       overflow: hidden;
   }
   
   .provider-page .plan-accordion__headline:empty {
       display: none;
   }
   
   .provider-page .plan-accordion:hover .plan-accordion__headline {
       color: #555;
   }
   
   .provider-page .plan-accordion__meta {
       display: flex;
       align-items: center;
       gap: 10px;
       flex-wrap: wrap;
   }
   
   /* Term Badge */
   .provider-page .plan-accordion__term {
       display: inline-flex;
       align-items: center;
       gap: 6px;
       font-family: 'Lato', sans-serif;
       font-size: 0.8125rem;
       font-weight: 500;
       color: #686868;
       background: linear-gradient(145deg, #F4F1EE 0%, #EDE9E5 100%);
       padding: 5px 12px;
       border-radius: 8px;
       transition: all 0.2s ease;
   }
   
   .provider-page .plan-accordion__term-icon {
       width: 14px;
       height: 14px;
       opacity: 0.65;
   }
   
   /* Feature Icon Badges */
   .provider-page .plan-accordion__icons {
       display: flex;
       gap: 6px;
   }
   
   .provider-page .plan-accordion__icon-badge {
       display: inline-flex;
       align-items: center;
       justify-content: center;
       width: 30px;
       height: 30px;
       border-radius: 9px;
       transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
       cursor: help;
   }
   
   .provider-page .plan-accordion__icon-badge:hover {
       transform: scale(1.12) rotate(-3deg);
   }
   
   .provider-page .plan-accordion__icon-badge svg {
       width: 16px;
       height: 16px;
   }
   
   .provider-page .plan-accordion__icon-badge--prepay {
       background: linear-gradient(145deg, #FEE2E2 0%, #FECACA 100%);
       color: #DC2626;
       box-shadow:
           inset 0 1px 0 rgba(255,255,255,0.7),
           0 2px 4px -1px rgba(220, 38, 38, 0.15);
   }
   
   .provider-page .plan-accordion__icon-badge--tou {
       background: linear-gradient(145deg, #D1F2F7 0%, #A7E8F1 100%);
       color: #0D90A4;
       box-shadow:
           inset 0 1px 0 rgba(255,255,255,0.7),
           0 2px 4px -1px rgba(13, 144, 164, 0.15);
   }
   
   /* Price Section */
   .provider-page .plan-accordion__price-section {
       display: flex;
       align-items: center;
       gap: 14px;
       flex-shrink: 0;
   }
   
   .provider-page .plan-accordion__price-wrapper {
       display: flex;
       align-items: baseline;
       gap: 2px;
   }
   
   .provider-page .plan-accordion__price {
       font-family: 'Lato', sans-serif;
       font-size: 2rem;
       font-weight: 900;
       color: #0D90A4;
       line-height: 1;
       letter-spacing: -0.03em;
       transition: all 0.25s ease;
   }
   
   .provider-page .plan-accordion:hover .plan-accordion__price {
       color: #0B7A8A;
       transform: scale(1.02);
   }
   
   .provider-page .plan-accordion__price-unit {
       font-family: 'Lato', sans-serif;
       font-size: 0.875rem;
       font-weight: 600;
       color: #82939A;
       letter-spacing: -0.01em;
   }
   
   /* Chevron Icon */
   .provider-page .plan-accordion__chevron {
       width: 22px;
       height: 11px;
       color: #FF7A6D;
       transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
       flex-shrink: 0;
   }
   
   .provider-page .plan-accordion:hover .plan-accordion__chevron {
       color: #F26355;
   }
   
   .provider-page .plan-accordion--open .plan-accordion__chevron {
       transform: rotate(180deg);
       color: #F26355;
   }
   
   /* Accordion Content Area */
   .provider-page .plan-accordion .accordion__content {
       overflow: hidden;
       height: 0;
       transition: height 0.35s cubic-bezier(0.16, 1, 0.3, 1);
   }
   
   /* Expanded Content Inner */
   .provider-page .plan-accordion__inner {
       padding: 0 20px 24px 76px;
       border-top: 1px solid #E8E4E0;
       margin-top: 0;
       padding-top: 20px;
       background: linear-gradient(180deg, rgba(244, 241, 238, 0.3) 0%, transparent 100%);
   }
   
   /* Description */
   .provider-page .plan-accordion__description {
       font-family: 'Lato', sans-serif;
       font-size: 0.9375rem;
       line-height: 1.7;
       color: #686868;
       margin: 0 0 20px 0;
       max-width: 560px;
   }
   
   /* Details Grid */
   .provider-page .plan-accordion__details {
       display: grid;
       grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
       gap: 10px;
       margin-bottom: 24px;
   }
   
   .provider-page .plan-accordion__detail {
       display: flex;
       flex-direction: column;
       gap: 4px;
       padding: 14px 16px;
       background: linear-gradient(145deg, #FFFFFF 0%, #FAFAF8 100%);
       border: 1px solid #E8E4E0;
       border-radius: 12px;
       transition: all 0.2s ease;
   }
   
   .provider-page .plan-accordion__detail:hover {
       border-color: #D6CEC7;
       box-shadow: 0 2px 8px -2px rgba(0,0,0,0.06);
   }
   
   .provider-page .plan-accordion__detail-label {
       font-family: 'Lato', sans-serif;
       font-size: 0.6875rem;
       font-weight: 700;
       color: #82939A;
       text-transform: uppercase;
       letter-spacing: 0.06em;
   }
   
   .provider-page .plan-accordion__detail-value {
       font-family: 'Lato', sans-serif;
       font-size: 0.9375rem;
       font-weight: 700;
       color: #343A40;
       display: flex;
       align-items: center;
       gap: 6px;
   }
   
   .provider-page .plan-accordion__detail-icon {
       width: 16px;
       height: 16px;
   }
   
   /* CTA Button */
   .provider-page .plan-accordion__cta {
       display: inline-flex;
       align-items: center;
       justify-content: center;
       gap: 10px;
       width: 100%;
       padding: 16px 28px;
       background: linear-gradient(145deg, #FF7A6D 0%, #F26355 100%);
       color: #FFFFFF;
       font-family: 'Lato', sans-serif;
       font-size: 1rem;
       font-weight: 700;
       letter-spacing: 0.01em;
       border: none;
       border-radius: 14px;
       cursor: pointer;
       transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
       box-shadow:
           0 4px 14px -4px rgba(242, 99, 85, 0.4),
           inset 0 1px 0 rgba(255,255,255,0.2);
   }
   
   .provider-page .plan-accordion__cta:hover {
       transform: translateY(-2px);
       box-shadow:
           0 8px 24px -6px rgba(242, 99, 85, 0.5),
           inset 0 1px 0 rgba(255,255,255,0.25);
       background: linear-gradient(145deg, #FF8577 0%, #F4716A 100%);
   }
   
   .provider-page .plan-accordion__cta:active {
       transform: translateY(0);
       box-shadow:
           0 2px 8px -2px rgba(242, 99, 85, 0.4),
           inset 0 1px 0 rgba(255,255,255,0.2);
   }
   
   .provider-page .plan-accordion__cta svg {
       width: 18px;
       height: 18px;
       transition: transform 0.2s ease;
   }
   
   .provider-page .plan-accordion__cta:hover svg {
       transform: translateX(3px);
   }
   
   /* Override grid layout for accordions */
   .provider-page .plan-selector__grid:has(.plan-accordion-list),
   .provider-page .plan-selector__grid--accordion {
       display: block !important;
       max-height: 420px;
       overflow-y: auto;
       padding: 8px;
       margin: 0;
   }
   
   /* Accordion list container */
   .provider-page .plan-accordion-list {
       display: flex;
       flex-direction: column;
       gap: 12px;
       width: 100%;
   }
   
   .provider-page .plan-selector__grid::-webkit-scrollbar {
       width: 8px;
   }
   
   .provider-page .plan-selector__grid::-webkit-scrollbar-track {
       background: #F4F1EE;
       border-radius: 4px;
   }
   
   .provider-page .plan-selector__grid::-webkit-scrollbar-thumb {
       background: linear-gradient(180deg, #D6CEC7 0%, #C3B8AE 100%);
       border-radius: 4px;
       border: 2px solid #F4F1EE;
   }
   
   .provider-page .plan-selector__grid::-webkit-scrollbar-thumb:hover {
       background: linear-gradient(180deg, #C3B8AE 0%, #A89E94 100%);
   }
   
   /* Plan Accordion Mobile Responsive */
   @media (max-width: 640px) {
       .provider-page .plan-accordion__trigger {
           flex-wrap: wrap;
           padding: 14px 16px;
           gap: 10px;
       }
   
       .provider-page .plan-accordion__rank {
           width: 34px;
           height: 34px;
           font-size: 0.8125rem;
           border-radius: 10px;
       }
   
       .provider-page .plan-accordion--best::before {
           font-size: 0.625rem;
           padding: 5px 10px;
           right: 16px;
       }
   
       .provider-page .plan-accordion__info {
           flex: 1 1 calc(100% - 50px);
           order: 1;
       }
   
       .provider-page .plan-accordion__headline {
           font-size: 1rem;
           font-weight: 600;
           margin-bottom: 6px;
       }
   
       .provider-page .plan-accordion__meta {
           gap: 8px;
       }
   
       .provider-page .plan-accordion__term {
           font-size: 0.75rem;
           padding: 4px 10px;
       }
   
       .provider-page .plan-accordion__icon-badge {
           width: 26px;
           height: 26px;
           border-radius: 7px;
       }
   
       .provider-page .plan-accordion__icon-badge svg {
           width: 14px;
           height: 14px;
       }
   
       .provider-page .plan-accordion__price-section {
           order: 2;
           width: 100%;
           justify-content: space-between;
           padding-left: 44px;
           border-top: 1px dashed #E8E4E0;
           margin-top: 6px;
           padding-top: 12px;
       }
   
       .provider-page .plan-accordion__price {
           font-size: 1.625rem;
       }
   
       .provider-page .plan-accordion__price-unit {
           font-size: 0.8125rem;
       }
   
       .provider-page .plan-accordion__chevron {
           width: 20px;
           height: 10px;
       }
   
       .provider-page .plan-accordion__inner {
           padding: 16px 16px 20px 16px;
       }
   
       .provider-page .plan-accordion__description {
           font-size: 0.875rem;
           line-height: 1.65;
           margin-bottom: 16px;
       }
   
       .provider-page .plan-accordion__details {
           grid-template-columns: 1fr 1fr;
           gap: 8px;
           margin-bottom: 20px;
       }
   
       .provider-page .plan-accordion__detail {
           padding: 12px 14px;
           border-radius: 10px;
       }
   
       .provider-page .plan-accordion__detail-label {
           font-size: 0.625rem;
       }
   
       .provider-page .plan-accordion__detail-value {
           font-size: 0.875rem;
       }
   
       .provider-page .plan-accordion__cta {
           padding: 14px 24px;
           font-size: 0.9375rem;
           border-radius: 12px;
       }
   
       .provider-page .plan-selector__grid--accordion {
           max-height: 360px;
       }
   }
   
   @media (max-width: 380px) {
       .provider-page .plan-accordion__details {
           grid-template-columns: 1fr;
       }
   
       .provider-page .plan-accordion__price-section {
           padding-left: 0;
       }
   }
   
   /* ========================================
      18b. PLAN ROW COMPONENT (Provider Modal)
      Horizontal row layout for plan selector modal
      ======================================== */
   
   /* Base row container */
   .provider-page .plan-selector .plan-row {
       position: relative;
       background: #FFFFFF;
       border: 1px solid #C1C1C1;
       border-radius: 8px;
       padding: 20px 32px;
       display: grid;
       grid-template-columns: 1fr auto auto auto 146px;
       gap: 24px;
       align-items: center;
       min-height: 90px;
       transition: all 0.25s ease;
   }
   
   .provider-page .plan-selector .plan-row:hover {
       border-color: #0D90A4;
       box-shadow: 0 2px 12px -4px rgba(13, 144, 164, 0.15);
   }
   
   /* Best Price row styling */
   .provider-page .plan-selector .plan-row--best {
       border-color: #0D90A4;
       background: linear-gradient(135deg, rgba(13, 144, 164, 0.02) 0%, transparent 100%);
   }
   
   .provider-page .plan-selector .plan-row--best::before {
       content: 'Best Price';
       position: absolute;
       top: 0;
       left: 24px;
       background: linear-gradient(135deg, #FEF7CD 0%, #FDE68A 50%, #FCD34D 100%);
       color: #92400E;
       font-family: 'Lato', sans-serif;
       font-size: 0.6875rem;
       font-weight: 800;
       letter-spacing: 0.04em;
       text-transform: uppercase;
       padding: 5px 12px;
       border-radius: 0 0 8px 8px;
       box-shadow: 0 2px 6px -2px rgba(146, 64, 14, 0.2);
       z-index: 2;
   }
   
   /* Plan details section */
   .provider-page .plan-selector .plan-row__details {
       min-width: 0;
   }
   
   .provider-page .plan-selector .plan-row__name {
       font-family: 'Lato', sans-serif;
       font-weight: 600;
       font-size: 16px;
       line-height: 1.4;
       color: #0D90A4;
       margin-bottom: 4px;
   }
   
   .provider-page .plan-selector .plan-row__headline {
       font-family: 'Lato', sans-serif;
       font-size: 14px;
       font-weight: 400;
       color: #686868;
       margin: 0 0 8px 0;
       line-height: 1.4;
       display: -webkit-box;
       -webkit-line-clamp: 2;
       -webkit-box-orient: vertical;
       overflow: hidden;
   }
   
   .provider-page .plan-selector .plan-row__headline:empty {
       display: none;
   }
   
   .provider-page .plan-selector .plan-row__badges {
       display: flex;
       flex-direction: row;
       gap: 10px;
       align-items: center;
       flex-wrap: nowrap;
   }
   
   .provider-page .plan-selector .plan-row__badges .badge {
       display: inline-flex;
       align-items: center;
       gap: 4px;
       color: #636970;
       white-space: nowrap;
       font-size: 13px;
   }
   
   .provider-page .plan-selector .plan-row__badges .badge img {
       width: 20px;
       height: 20px;
       flex-shrink: 0;
   }
   
   .provider-page .plan-selector .plan-row__badges .badge--green {
       color: #15803d;
       font-weight: 700;
   }
   
   .provider-page .plan-selector .plan-row__badges .badge--prepay {
       color: #DC2626;
   }
   
   .provider-page .plan-selector .plan-row__badges .badge--tou {
       color: #0D90A4;
   }
   
   /* Terms section */
   .provider-page .plan-selector .plan-row__terms {
       display: flex;
       gap: 10px;
       flex-wrap: wrap;
   }
   
   .provider-page .plan-selector .plan-row__badge {
       background: #F1F1F1;
       padding: 6px 12px;
       border-radius: 4px;
       font-family: 'Lato', sans-serif;
       font-size: 13px;
       color: #636970;
       text-align: center;
       white-space: nowrap;
   }
   
   /* Pricing section (monthly estimate) */
   .provider-page .plan-selector .plan-row__pricing {
       text-align: center;
       min-width: 90px;
   }
   
   .provider-page .plan-selector .plan-row__price {
       font-family: 'Lato', sans-serif;
       font-size: 20px;
       font-weight: 700;
       color: #02101E;
       margin-bottom: 2px;
   }
   
   .provider-page .plan-selector .plan-row__price-label {
       font-family: 'Lato', sans-serif;
       font-size: 11px;
       color: #636970;
       margin: 0;
       line-height: 1.2;
   }
   
   /* Rate section (price per kWh - primary emphasis) */
   .provider-page .plan-selector .plan-row__rate {
       text-align: center;
       min-width: 80px;
   }
   
   .provider-page .plan-selector .plan-row__inline-badge {
       display: inline-block;
       background: #F1F1F1;
       padding: 3px 8px;
       border-radius: 4px;
       font-size: 11px;
       color: #636970;
       margin-bottom: 4px;
   }
   
   .provider-page .plan-selector .plan-row__rate-large {
       font-family: 'Lato', sans-serif;
       font-size: 24px;
       font-weight: 800;
       color: #0D90A4;
       margin-bottom: 2px;
       line-height: 1;
   }
   
   .provider-page .plan-selector .plan-row__rate-label {
       font-family: 'Lato', sans-serif;
       font-size: 11px;
       color: #636970;
       margin: 0;
       line-height: 1.2;
   }
   
   /* Action button section */
   .provider-page .plan-selector .plan-row__action {
       flex-shrink: 0;
   }
   
   .provider-page .plan-selector .plan-row__action .btn {
       width: 146px;
       padding: 14px 20px;
       font-size: 15px;
       border-radius: 10px;
   }
   
   /* Override grid layout for plan rows */
   .provider-page .plan-selector__grid:has(.plan-row-list),
   .provider-page .plan-selector__grid--rows {
       display: block !important;
       max-height: 420px;
       overflow-y: auto;
       padding: 8px;
       margin: 0;
   }
   
   /* Row list container */
   .provider-page .plan-row-list {
       display: flex;
       flex-direction: column;
       gap: 12px;
       width: 100%;
   }
   
   /* Scrollbar styling for plan row list */
   .provider-page .plan-selector__grid--rows::-webkit-scrollbar {
       width: 8px;
   }
   
   .provider-page .plan-selector__grid--rows::-webkit-scrollbar-track {
       background: #F4F1EE;
       border-radius: 4px;
   }
   
   .provider-page .plan-selector__grid--rows::-webkit-scrollbar-thumb {
       background: linear-gradient(180deg, #D6CEC7 0%, #C3B8AE 100%);
       border-radius: 4px;
       border: 2px solid #F4F1EE;
   }
   
   .provider-page .plan-selector__grid--rows::-webkit-scrollbar-thumb:hover {
       background: linear-gradient(180deg, #C3B8AE 0%, #A89E94 100%);
   }
   
   /* Plan Row Tablet Responsive */
   @media (max-width: 900px) {
       .provider-page .plan-selector .plan-row {
           grid-template-columns: 1fr auto auto 120px;
           gap: 16px;
           padding: 16px 20px;
       }
   
       .provider-page .plan-selector .plan-row__terms {
           display: none;
       }
   
       .provider-page .plan-selector .plan-row__action .btn {
           width: 120px;
           padding: 12px 16px;
           font-size: 14px;
       }
   }
   
   /* Plan Row Mobile Responsive */
   @media (max-width: 640px) {
       .provider-page .plan-selector .plan-row {
           display: flex;
           flex-direction: column;
           gap: 0;
           padding: 0;
           overflow: hidden;
       }
   
       .provider-page .plan-selector .plan-row > * {
           width: 100%;
       }
   
       /* Header with plan name */
       .provider-page .plan-selector .plan-row__details {
           order: 1;
           text-align: center;
           background: #EBE3DD;
           padding: 14px 20px;
           margin: 0;
       }
   
       .provider-page .plan-selector .plan-row__name {
           margin-bottom: 0;
           color: #02101E;
           font-size: 15px;
       }
   
       .provider-page .plan-selector .plan-row__headline {
           display: none;
       }
   
       .provider-page .plan-selector .plan-row__badges {
           display: none;
       }
   
       /* Best Price ribbon on mobile */
       .provider-page .plan-selector .plan-row--best::before {
           left: 50%;
           transform: translateX(-50%);
           top: -1px;
       }
   
       .provider-page .plan-selector .plan-row--best .plan-row__details {
           padding-top: 28px;
       }
   
       /* Pricing row */
       .provider-page .plan-selector .plan-row__pricing {
           order: 2;
           display: flex;
           justify-content: space-between;
           align-items: center;
           padding: 10px 20px;
           height: 44px;
           border-bottom: 1px solid #F4F1EE;
           text-align: left;
       }
   
       .provider-page .plan-selector .plan-row__pricing::before {
           content: 'Est. Monthly Bill';
           font-family: 'Lato', sans-serif;
           font-size: 12px;
           font-weight: 400;
           color: #636970;
       }
   
       .provider-page .plan-selector .plan-row__price {
           margin-left: auto;
           margin-bottom: 0;
           font-size: 18px;
       }
   
       .provider-page .plan-selector .plan-row__price-label {
           display: none;
       }
   
       /* Rate row */
       .provider-page .plan-selector .plan-row__rate {
           order: 3;
           display: flex;
           justify-content: space-between;
           align-items: center;
           padding: 10px 20px;
           height: 44px;
           border-bottom: 1px solid #F4F1EE;
           text-align: left;
       }
   
       .provider-page .plan-selector .plan-row__rate::before {
           content: 'Price per kWh';
           font-family: 'Lato', sans-serif;
           font-size: 12px;
           font-weight: 400;
           color: #636970;
       }
   
       .provider-page .plan-selector .plan-row__inline-badge {
           display: none;
       }
   
       .provider-page .plan-selector .plan-row__rate-large {
           margin-left: auto;
           margin-bottom: 0;
           font-size: 18px;
           font-weight: 700;
       }
   
       .provider-page .plan-selector .plan-row__rate-label {
           display: none;
       }
   
       /* Terms row */
       .provider-page .plan-selector .plan-row__terms {
           display: flex;
           order: 4;
           flex-direction: column;
           gap: 0;
           padding: 0;
       }
   
       .provider-page .plan-selector .plan-row__badge {
           background: transparent;
           padding: 10px 20px;
           height: 44px;
           border-bottom: 1px solid #F4F1EE;
           border-radius: 0;
           display: flex;
           justify-content: space-between;
           align-items: center;
           font-size: 18px;
           color: #1A1A1A;
           font-weight: 400;
           width: 100%;
       }
   
       .provider-page .plan-selector .plan-row__badge::before {
           content: attr(data-label);
           font-family: 'Lato', sans-serif;
           font-size: 12px;
           font-weight: 400;
           color: #636970;
       }
   
       /* Action button */
       .provider-page .plan-selector .plan-row__action {
           order: 5;
           padding: 20px;
       }
   
       .provider-page .plan-selector .plan-row__action .btn {
           width: 100%;
       }
   
       .provider-page .plan-selector__grid--rows {
           max-height: 360px;
       }
   }
   
   /* ========================================
      19. DATA SOURCE & MISC (Scoped)
      ======================================== */
   
   /* Data Source Attribution */
   .provider-page .data-source {
       font-size: 0.8125rem;
       color: #9ca3af;
       margin-top: 1rem;
       padding-top: 1rem;
       border-top: 1px solid #e5e7eb;
   }
   .provider-page .data-source a {
       color: var(--color-teal, #00A699);
   }
   
   /* Mobile input zoom fix */
   .provider-page .bubble-input__input,
   .provider-page .modal input,
   .provider-page input[type="text"],
   .provider-page input[type="email"],
   .provider-page input[type="tel"],
   .provider-page input[type="number"] {
       font-size: 16px;
   }
   
   /* ========================================
      20. ANIMATIONS (Global - OK to keep global)
      ======================================== */
   
   @keyframes cardFadeIn {
       from {
           opacity: 0;
           transform: translateY(12px);
       }
       to {
           opacity: 1;
           transform: translateY(0);
       }
   }
   
   @keyframes planCardFadeIn {
       from {
           opacity: 0;
           transform: translateY(12px);
       }
       to {
           opacity: 1;
           transform: translateY(0);
       }
   }
   
   @keyframes shake {
       0%, 100% { transform: translateX(0); }
       20%, 60% { transform: translateX(-5px); }
       40%, 80% { transform: translateX(5px); }
   }
   