:root {
  --color-bg: #03101a;
  --color-primary: #75AADB;
  --color-primary-dark: #5a8fc2;
  --color-primary-light: #9bc4e8;
  --color-secondary: #000000;
  --color-accent: #FFFFFF;
  --color-dark: #03101a;
  --color-dark-lighter: #0a1e30;
  --color-dark-card: #071522;
  --color-gray: #7a9bb5;
  --color-gray-light: #1a3a55;
  --color-light: #0f2540;
  --color-white: #ffffff;
  --color-success: #10b981;
  --color-warning: #f59e0b;
  --color-error: #ef4444;
  --gradient-primary: linear-gradient(135deg, #75AADB 0%, #5a8fc2 50%, #3a6f9e 100%);
  --gradient-secondary: linear-gradient(135deg, #0a2040 0%, #1a4060 100%);
  --gradient-accent: linear-gradient(135deg, #75AADB 0%, #FFFFFF 100%);
  --gradient-dark: linear-gradient(180deg, #03101a 0%, #0a1e30 100%);
  --gradient-gold: linear-gradient(135deg, #75AADB 0%, #9bc4e8 50%, #75AADB 100%);
  --gradient-hero: radial-gradient(ellipse at top, #0a2040, #03101a);
  --shadow-sm: 0 1px 2px 0 rgba(0,0,0,0.4);
  --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.5), 0 2px 4px -1px rgba(0,0,0,0.4);
  --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.6), 0 4px 6px -2px rgba(0,0,0,0.4);
  --shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.7), 0 10px 10px -5px rgba(0,0,0,0.5);
  --shadow-glow-gold: 0 0 20px rgba(117,170,219,0.3), 0 0 40px rgba(117,170,219,0.1);
  --shadow-glow-blue: 0 0 20px rgba(117,170,219,0.3), 0 0 40px rgba(117,170,219,0.1);
  --spacing-xs: 0.5rem;
  --spacing-sm: 1rem;
  --spacing-md: 1.5rem;
  --spacing-lg: 2rem;
  --spacing-xl: 3rem;
  --spacing-2xl: 4rem;
  --radius-sm: 0.375rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-full: 9999px;
  --transition-fast: 150ms ease;
  --transition-base: 200ms ease;
  --transition-slow: 300ms ease;
  --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-heading: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --container-max: 1280px;
  --container-padding: 2rem;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:16px;overflow-x:clip;}
body{font-family:var(--font-primary);font-size:1rem;line-height:1.6;color:var(--color-white);background:var(--color-bg);background-image:radial-gradient(circle at 20% 50%,rgba(117,170,219,0.07) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(117,170,219,0.05) 0%,transparent 50%);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;color:var(--color-white);margin-bottom:var(--spacing-md);text-shadow:0 2px 10px rgba(0,0,0,0.5);}
h1{font-size:clamp(1.8rem,4.5vw,2.75rem);}
h2{font-size:clamp(1.5rem,3.5vw,2.25rem);}
h3{font-size:clamp(1.25rem,2.5vw,1.75rem);}
h4{font-size:1.375rem;}
p{margin-bottom:var(--spacing-sm);color:rgba(255,255,255,0.85);}
a{color:var(--color-primary);text-decoration:none;transition:all var(--transition-base);}
a:hover{color:var(--color-primary-light);}
strong{font-weight:600;color:var(--color-primary);}
ul,ol{margin-left:1.5rem;margin-bottom:var(--spacing-sm);}
li{margin-bottom:0.5rem;color:rgba(255,255,255,0.8);}
.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding);width:100%;}
/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.75rem 1.5rem;font-family:var(--font-primary);font-size:1rem;font-weight:600;line-height:1;text-decoration:none;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;}
.btn-primary{background:var(--gradient-primary);color:#fff;font-weight:700;box-shadow:var(--shadow-md),var(--shadow-glow-blue);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl),var(--shadow-glow-blue),0 0 30px rgba(117,170,219,0.4);color:#fff;}
.btn-secondary{background:var(--gradient-secondary);color:var(--color-white);font-weight:700;}
.btn-outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary);}
.btn-outline:hover{background:var(--gradient-primary);color:#fff;border-color:transparent;transform:translateY(-2px);}
.btn-sm{padding:0.5rem 1rem;font-size:0.875rem;}
.btn-lg{padding:1rem 2rem;font-size:1.125rem;}
.btn-full{width:100%;}
/* Badges */
.badge{display:inline-flex;align-items:center;padding:0.25rem 0.75rem;font-size:0.875rem;font-weight:600;border-radius:var(--radius-full);}
.badge-success{background:var(--color-success);color:#000;font-weight:700;}
.badge-primary{background:var(--gradient-primary);color:#fff;font-weight:700;}
/* Cards */
.card{background:var(--color-dark-card);border:1px solid rgba(117,170,219,0.15);border-radius:12px;padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:all var(--transition-base);}
.card:hover{box-shadow:var(--shadow-xl),0 0 20px rgba(117,170,219,0.25);transform:translateY(-4px);border-color:rgba(117,170,219,0.35);}
/* Section */
.section{padding:var(--spacing-2xl) 0;}
.section-title{text-align:center;font-size:clamp(1.5rem,3.5vw,2.25rem);font-weight:700;margin-bottom:var(--spacing-xl);background:var(--gradient-gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;filter:drop-shadow(0 0 20px rgba(117,170,219,0.3));position:relative;}
.section-title::after{content:'';position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);width:80px;height:2px;background:var(--gradient-primary);box-shadow:0 0 10px rgba(117,170,219,0.5);}
.section-subtitle{text-align:center;font-size:1.125rem;color:rgba(255,255,255,0.7);margin-bottom:var(--spacing-xl);max-width:760px;margin-left:auto;margin-right:auto;}
.grid{display:grid;gap:var(--spacing-lg);}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));}
/* Hero */
.hero-section{background:var(--gradient-hero);padding:3.5rem 0 3rem;position:relative;}
.hero-content{max-width:920px;margin:0 auto;text-align:center;}
.hero-subtitle{font-size:1.125rem;color:rgba(255,255,255,0.9);margin-bottom:1.5rem;}
.hero-cta-group{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem;}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2rem;}
.stat{text-align:center;}
.stat-num{display:block;font-size:1.75rem;font-weight:700;color:var(--color-primary);}
.stat-label{font-size:0.85rem;color:rgba(255,255,255,0.7);}
/* Brands Grid */
.brands-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;}
.brand-card{background:var(--color-dark-card);border:1px solid rgba(117,170,219,0.15);border-radius:12px;padding:1.5rem;transition:all var(--transition-base);}
.brand-card:hover{border-color:rgba(117,170,219,0.35);transform:translateY(-3px);box-shadow:0 0 20px rgba(117,170,219,0.25);}
.brand-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:0.75rem;}
.brand-initial-lg{width:52px;height:52px;background:var(--gradient-primary);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;flex-shrink:0;}
.brand-card-name{font-size:1.1rem;font-weight:700;margin-bottom:0;}
.brand-card-rating{margin-left:auto;font-size:1.25rem;font-weight:700;color:var(--color-primary);}
.brand-card-bonus{font-size:0.9rem;color:rgba(255,255,255,0.85);margin-bottom:0.75rem;padding:0.5rem;background:rgba(117,170,219,0.08);border-radius:6px;}
.brand-card-payments{display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:1rem;}
.brand-card-actions{display:flex;gap:0.75rem;}
/* Brand initial in table */
.brand-initial{width:44px;height:44px;background:var(--gradient-primary);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;flex-shrink:0;}
/* Info bar */
.info-bar{background:rgba(117,170,219,0.08);border-top:1px solid rgba(117,170,219,0.2);border-bottom:1px solid rgba(117,170,219,0.2);padding:0.875rem 0;}
.info-bar-items{display:flex;flex-wrap:wrap;gap:2rem;}
.info-bar-item{display:flex;flex-direction:column;gap:0.2rem;}
.info-label{font-size:0.75rem;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.5px;}
.info-value{font-size:0.9rem;font-weight:600;color:var(--color-primary);}
/* Review layout */
.review-layout{display:grid;grid-template-columns:1fr 320px;gap:2.5rem;align-items:start;}
.review-main h2{margin-top:2rem;}
.review-main h2:first-child{margin-top:0;}
.review-sidebar{position:sticky;top:100px;}
.sidebar-card{background:var(--color-dark-card);border:1px solid rgba(117,170,219,0.2);border-radius:12px;padding:1.5rem;}
.sidebar-card h4{font-size:1rem;margin-bottom:1rem;color:var(--color-primary);}
.quick-facts-table{width:100%;border-collapse:collapse;font-size:0.9rem;}
.quick-facts-table tr{border-bottom:1px solid rgba(117,170,219,0.1);}
.quick-facts-table td{padding:0.6rem 0;color:rgba(255,255,255,0.8);}
.quick-facts-table td:first-child{color:rgba(255,255,255,0.5);font-size:0.8rem;}
.alt-list{list-style:none;margin:0;}
.alt-list li{padding:0.4rem 0;border-bottom:1px solid rgba(117,170,219,0.1);}
/* Brand hero */
.brand-hero{background:var(--gradient-hero);padding:3rem 0 2.5rem;}
.brand-hero-content{display:grid;grid-template-columns:1fr 300px;gap:2.5rem;align-items:start;}
.breadcrumb{font-size:0.85rem;color:rgba(255,255,255,0.5);margin-bottom:1rem;}
.breadcrumb a{color:rgba(255,255,255,0.6);}
.brand-hero-subtitle{font-size:1.05rem;color:rgba(255,255,255,0.9);margin-bottom:1rem;}
.brand-key-facts{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;}
.key-fact{display:flex;align-items:center;gap:0.5rem;background:rgba(117,170,219,0.1);border:1px solid rgba(117,170,219,0.2);border-radius:30px;padding:0.4rem 0.875rem;font-size:0.9rem;}
.key-fact-icon{font-size:1.1rem;}
.score-card{background:var(--color-dark-card);border:1px solid rgba(117,170,219,0.25);border-radius:16px;padding:1.75rem;text-align:center;}
.score-value{font-size:3rem;font-weight:800;color:var(--color-primary);line-height:1;}
.score-label{font-size:0.85rem;color:rgba(255,255,255,0.5);margin-bottom:0.25rem;}
.score-stars{font-size:1.25rem;color:var(--color-primary);margin-bottom:1rem;}
.bonus-highlight{background:rgba(117,170,219,0.1);border:1px solid rgba(117,170,219,0.2);border-radius:8px;padding:0.75rem;font-size:0.9rem;font-weight:600;margin-bottom:1rem;}
.score-disclaimer{font-size:0.75rem;color:rgba(255,255,255,0.4);margin-top:0.75rem;}
/* FAQ */
.faq-list{display:flex;flex-direction:column;gap:1rem;}
.faq-item{background:var(--color-dark-card);border:1px solid rgba(117,170,219,0.15);border-radius:10px;overflow:hidden;}
.faq-question{width:100%;background:none;border:none;color:var(--color-white);font-family:var(--font-primary);font-size:1rem;font-weight:600;padding:1.25rem 1.5rem;cursor:pointer;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:1rem;}
.faq-question.open{color:var(--color-primary);}
.faq-icon{font-size:1.25rem;color:var(--color-primary);transition:transform 0.2s;}
.faq-question.open .faq-icon{transform:rotate(45deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.3s ease;}
.faq-answer.open{max-height:400px;}
.faq-answer p{padding:0 1.5rem 1.25rem;}
/* Bonus text */
.bonus-text{font-weight:600;color:var(--color-primary);}
/* Icon badges */
.icon-badge{display:inline-flex;align-items:center;gap:0.375rem;padding:0.3rem 0.65rem;background:rgba(117,170,219,0.08);border:1px solid rgba(117,170,219,0.2);border-radius:var(--radius-full);font-size:0.8rem;font-weight:600;color:rgba(255,255,255,0.75);transition:all var(--transition-base);}
.icon-badge.active{background:rgba(117,170,219,0.18);color:var(--color-primary);border-color:rgba(117,170,219,0.4);}
/* Brand type */
.brand-type{font-size:0.72rem;color:#000;background:var(--gradient-primary);text-transform:uppercase;font-weight:700;padding:0.2rem 0.5rem;border-radius:var(--radius-full);display:inline-block;align-self:flex-start;}
/* Footer */
.footer{background:#020d16;border-top:1px solid rgba(117,170,219,0.15);padding:3rem 0 1.5rem;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;margin-bottom:2rem;}
.footer-brand p{font-size:0.9rem;color:rgba(255,255,255,0.5);margin-top:0.75rem;}
.footer-links h4{font-size:1rem;color:var(--color-primary);margin-bottom:1rem;}
.footer-links ul{list-style:none;margin:0;}
.footer-links li{margin-bottom:0.5rem;}
.footer-links a{color:rgba(255,255,255,0.6);font-size:0.9rem;}
.footer-links a:hover{color:var(--color-primary);}
.footer-bottom{border-top:1px solid rgba(117,170,219,0.1);padding-top:1.5rem;}
.disclaimer{font-size:0.8rem;color:rgba(255,255,255,0.4);margin-bottom:0.5rem;}
/* bg-light */
.bg-light{background:linear-gradient(180deg,var(--color-dark) 0%,var(--color-dark-lighter) 100%);}
/* Responsive */
@media(max-width:1024px){
  .review-layout{grid-template-columns:1fr;}
  .review-sidebar{position:static;}
  .brand-hero-content{grid-template-columns:1fr;}
  .hero-stats{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:768px){
  :root{--container-padding:1rem;--spacing-xl:2rem;--spacing-2xl:3rem;}
  .footer-grid{grid-template-columns:1fr;}
  .info-bar-items{gap:1rem;}
  .brands-grid{grid-template-columns:1fr;}
}
@media(max-width:640px){
  html{font-size:15px;}
  .hero-stats{grid-template-columns:repeat(2,1fr);}
}