/* Community Page Specific Styles */

/* Target the first div on the page that contains pricing/community content */
body > div:has(.container.pricing-page),
body > div:has(.container.community-page) {
    background-color: #ffffff !important;
}

/* Body and HTML background overrides for community pages */
body.bulma-page:has(.community-page) {
    background-color: #ffffff !important;
}

/* Fallback for browsers without :has() support - multiple possible page classes */
body.bulma-page.page-community,
body.bulma-page.page-general:has(.community-page) {
    background-color: #ffffff !important;
}

/* Keep footer dark on community pages */
body.bulma-page:has(.community-page) footer {
    background-color: #0a0a0a !important;
}

/* === ANCHOR LINK SCROLL OFFSET === */
/* Offset anchor links to account for fixed navbar */
section[id] {
    scroll-margin-top: 80px;
}

/* Hero Section Styling */
.hero-section {
  background-image: url('../img/hero-skinny.webp');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  min-height: 400px;
  padding: 3rem 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-top: 0;
  color-scheme: light; /* D12 */
}

/* Hero overlay for better text readability */
.hero-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
}

/* Hero content styling */
.hero-content {
  text-align: center;
  color: white;
  z-index: 2;
  position: relative;
  max-width: 800px;
  padding: 0 20px;
}

.hero-title {
  font-size: 3rem;
  font-weight: 500;
  margin-bottom: 0.75rem;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
  line-height: 1.1;
}

.hero-subtitle {
  white-space: normal !important;
  max-width: 900px;
  font-size: 2.25rem;
  font-weight: 400;
  margin-bottom: 1rem;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
  opacity: 0.95;
}

.hero-text {
  font-size: 1.25rem;
  font-weight: 300;
  margin-bottom: 1.5em;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
  opacity: 0.95;
}

/* Responsive hero styling */
@media (max-width: 768px) {
  .hero-section {
    min-height: 300px;
    padding: 2.5rem 0;
  }

  .hero-title {
    font-size: 2.5rem;
  }

  .hero-subtitle {
    font-size: 1.2rem;
    white-space: normal; /* Allow wrapping on tablets */
  }
}

@media (max-width: 480px) {
  .hero-section {
    min-height: 250px;
    padding: 2rem 0;
  }

  .hero-title {
    font-size: 2rem;
  }

  .hero-subtitle {
    font-size: 1rem;
    white-space: normal; /* Allow wrapping on mobile */
  }
}

/* Make the main community page content area white */
.community-page {
  background-color: #ffffff !important;
  min-height: 80vh; /* Ensure content area takes up enough space */
  color-scheme: light; /* D12: a light-only page; keep native controls (audio, details) light */
}

.community-page .section {
  background-color: #ffffff !important;
}

/* Override the container backgrounds for other elements */
.bulma-page .columns,
.bulma-page .column {
  background-color: transparent !important;
}

/* Override text colors for headers and content within community page except white sections.
   .has-accent-color opts an element (tier icons, tier-extra bullets, pillar icons) out of the
   page-wide #222 so its own colour rule applies without another !important. */
.community-page,
.community-page *:not(.quote-highlight *):not(.has-accent-color) {
  color: #222222 !important;
}

.community-page h1,
.community-page h2,
.community-page h3,
.community-page h4,
.community-page h5,
.community-page h6 {
  color: #222222 !important;
}

/* Override Bulma's text color utilities for light theme */
.community-page .has-text-white {
  color: #222222 !important;
}

.community-page .has-text-light {
  color: #333333 !important;
}

.community-page .has-text-grey-light {
  color: #555555 !important;
}

.community-page .has-text-grey {
  color: #666666 !important;
}

.community-page .has-text-grey-dark {
  color: #777777 !important;
}

/* Links styling for light theme */
.community-page a,
.community-page .has-text-link {
  color: #286090 !important;
}

.community-page a:hover {
  color: #1d496a !important;
}

/* Button overrides for light theme */
.community-page .button {
  background-color: #f5f5f5;
  color: #222222;
  border-color: #ddd;
}

.community-page .button:hover {
  background-color: #e8e8e8;
  border-color: #ccc;
}

.community-page .button.is-primary {
  background-color: #286090 !important;
  color: white !important;
  border-color: #286090 !important;
}

.community-page .button.is-primary:hover {
  background-color: #1d496a !important;
  border-color: #1d496a !important;
}

/* Form elements for light theme */
.community-page .input,
.community-page .textarea,
.community-page .select select {
  background-color: #ffffff;
  color: #222222;
  border-color: #ddd;
}

.community-page .input:focus,
.community-page .textarea:focus,
.community-page .select select:focus {
  border-color: #286090;
  box-shadow: 0 0 0 0.125em rgba(40, 96, 144, 0.25);
}

/* Table styling for light theme */
.community-page .table {
  background-color: #ffffff;
  color: #222222;
}

.community-page .table th,
.community-page .table td {
  border-color: #ddd;
  background-color: #ffffff;
  color: #222222;
}

.community-page .table.is-hoverable tbody tr:hover {
  background-color: #f5f5f5;
}

/* Card styling for light theme */
.community-page .card {
  background-color: #ffffff;
  color: #222222;
  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
}

.community-page .card-header {
  background-color: #f5f5f5;
  border-bottom: 1px solid #ddd;
}

.community-page .card-header-title {
  color: #222222;
}

.community-page .card-content {
  background-color: #ffffff;
}

/* Box styling for light theme */
.community-page .box {
  background-color: #ffffff;
  color: #222222;
  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
}

/* Message/notification styling for light theme */
.community-page .message {
  background-color: #f8f9fa;
  color: #222222;
}

.community-page .message.is-info {
  background-color: #e3f2fd;
  color: #0d47a1;
}

.community-page .message.is-success {
  background-color: #e8f5e8;
  color: #2e7d32;
}

.community-page .message.is-warning {
  background-color: #fff8e1;
  color: #f57f17;
}

.community-page .message.is-danger {
  background-color: #ffebee;
  color: #c62828;
}

/* Content styling for light theme */
.community-page .content p,
.community-page .content li,
.community-page .content blockquote {
  color: #222222;
}

.community-page .content blockquote {
  background-color: #f5f5f5;
  border-left: 4px solid #286090;
}

.community-page .content code {
  background-color: #f5f5f5;
  color: #222222;
}

.community-page .content pre {
  background-color: #f5f5f5;
  color: #222222;
}

.community-page .content pre code {
  background-color: transparent;
}

/* Icon styling for light theme */
.community-page .icon {
  color: #222222;
}

/* Pagination styling for light theme */
.community-page .pagination-link,
.community-page .pagination-ellipsis {
  background-color: #ffffff;
  color: #222222;
  border-color: #ddd;
}

.community-page .pagination-link:hover {
  background-color: #f5f5f5;
  border-color: #ccc;
}

.community-page .pagination-link.is-current {
  background-color: #286090;
  color: white;
  border-color: #286090;
}

/* Tag styling for light theme */
.community-page .tag {
  background-color: #f5f5f5;
  color: #222222;
}

.community-page .tag.is-primary {
  background-color: #286090;
  color: white;
}

/* Progress bar styling for light theme */
.community-page .progress {
  background-color: #f5f5f5;
}

.community-page .progress::-webkit-progress-value {
  background-color: #286090;
}

.community-page .progress::-moz-progress-bar {
  background-color: #286090;
}

/* Override any remaining dark elements */
.community-page * {
  border-color: #ddd !important;
}

/* Make sure text is dark everywhere in community page except white sections */
.community-page,
.community-page *:not(.button):not(.tag):not(.message):not(.quote-highlight *):not(.button.is-primary):not(.has-accent-color) {
  color: #222222 !important;
}

/* But preserve button text colors (except primary buttons which should be white) */
.community-page .button:not(.is-primary) {
  color: #222222 !important;
}

.community-page .button.is-primary,
.community-page .button.is-success,
.community-page .button.is-danger,
.community-page .button.is-warning,
.community-page .button.is-info {
  color: white !important;
}

/* Ensure proper contrast for links */
.community-page a:not(.button) {
  color: #286090 !important;
  text-decoration: none;
}

.community-page a:not(.button):hover {
  color: #1d496a !important;
  text-decoration: underline;
}

/* Navbar styling for community pages only */
body:has(.community-page) .navbar,
body:has(.community-page) .navbar.is-dark {
  background-color: #181e23 !important;
}

/* Fallback for browsers without :has() support */
.page-community .navbar,
.page-community .navbar.is-dark,
.page-general:has(.community-page) .navbar,
.page-general:has(.community-page) .navbar.is-dark {
  background-color: #181e23 !important;
}

/* Ensure navbar items maintain proper contrast on the new background */
body:has(.community-page) .navbar-item,
body:has(.community-page) .navbar-link {
  color: #9d9d9d !important;
}

body:has(.community-page) .navbar-item:hover,
body:has(.community-page) .navbar-item:focus,
body:has(.community-page) .navbar-link:hover,
body:has(.community-page) .navbar-link:focus {
  color: #fff !important;
  background-color: transparent !important;
}

/* Keep logo colors vibrant on the new background */
body:has(.community-page) .navbar .navbar-item .logo-var {
  color: #fff !important;
}

body:has(.community-page) .navbar .navbar-item .logo-operator {
  color: #fff !important;
}

body:has(.community-page) .navbar .navbar-item .logo-key {
  color: #f0db4f !important;
}

/* ===== COMMUNITY LANDING PAGE STYLES ===== */

/* Hero Section Enhancements */

.hero-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

/* Returning members: a quieter row under the join CTAs */
.hero-member-login {
  margin-top: 1.5rem;
  display: flex;
  gap: 0.75rem;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

/* The shadow lives on the label only: on the <p> it inherited into the button text and smudged it */
.hero-member-login-text {
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
  opacity: 0.9;
}

/* The hero's translucent white-outlined ghost buttons ("Hear a sample", "Member dashboard").
 * Deliberately not .is-light: bulma-overrides.css pins .button.is-light to a solid #f5f5f5 with
 * !important, which no scoped rule can beat without another !important. Specificity (0,3,0) beats
 * Bulma's own .button / .button:hover. */
.hero-content .button.hero-ghost {
  background-color: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.5);
  color: #ffffff;
  text-shadow: none;
}

.hero-content .button.hero-ghost:hover,
.hero-content .button.hero-ghost:focus-visible {
  background-color: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.8);
  color: #ffffff;
}

/* Pillar Icons Section */
.pillar-icon {
  margin-bottom: 1.5rem;
  color: #286090;
  position: relative;
}

.pillar-icon::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80px;
  height: 80px;
  border-radius: 50%;
  z-index: -1;
  transition: all 0.3s ease;
}

.pillar-icon i {
  transition: all 0.3s ease;
  position: relative;
  z-index: 1;
}

.pillar-icon:hover i {
  transform: scale(1.15);
}

.pillar-icon:hover::before {
  width: 90px;
  height: 90px;
}

/* Individual Pillar Color Themes */
#why-join .column:nth-child(1) .pillar-icon i {
  color: #4a90e2;
}

#why-join .column:nth-child(1) .pillar-icon::before {
  background: linear-gradient(135deg, rgba(74, 144, 226, 0.1), rgba(40, 96, 144, 0.1));
}

#why-join .column:nth-child(1) .pillar-icon:hover::before {
  background: linear-gradient(135deg, rgba(74, 144, 226, 0.2), rgba(40, 96, 144, 0.2));
}

#why-join .column:nth-child(2) .pillar-icon i {
  color: #1fc75f;
}

#why-join .column:nth-child(2) .pillar-icon::before {
  background: linear-gradient(135deg, rgba(31, 199, 95, 0.1), rgba(39, 174, 96, 0.1));
}

#why-join .column:nth-child(2) .pillar-icon:hover::before {
  background: linear-gradient(135deg, rgba(31, 199, 95, 0.2), rgba(39, 174, 96, 0.2));
}

#why-join .column:nth-child(3) .pillar-icon i {
  color: #DAA520;
}

#why-join .column:nth-child(3) .pillar-icon::before {
  background: linear-gradient(135deg, rgba(218, 165, 32, 0.1), rgba(184, 134, 11, 0.1));
}

#why-join .column:nth-child(3) .pillar-icon:hover::before {
  background: linear-gradient(135deg, rgba(218, 165, 32, 0.2), rgba(184, 134, 11, 0.2));
}

#why-join .column:nth-child(4) .pillar-icon i {
  color: #ff8c00;
}

#why-join .column:nth-child(4) .pillar-icon::before {
  background: linear-gradient(135deg, rgba(255, 140, 0, 0.1), rgba(255, 107, 53, 0.1));
}

#why-join .column:nth-child(4) .pillar-icon:hover::before {
  background: linear-gradient(135deg, rgba(255, 140, 0, 0.2), rgba(255, 107, 53, 0.2));
}

/* Feature Cards */
.feature-card {
  display: flex;
  align-items: flex-start;
  padding: 2rem;
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  border-radius: 16px;
  height: 100%;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(40, 96, 144, 0.1);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.feature-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #4a90e2, #286090, #1fc75f, #DAA520);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.feature-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 8px 35px rgba(40, 96, 144, 0.15);
  border-color: rgba(40, 96, 144, 0.2);
}

.feature-card:hover::before {
  opacity: 1;
}

.feature-icon {
  margin-right: 1.5rem;
  color: #286090;
  flex-shrink: 0;
  position: relative;
}

.feature-icon i {
  filter: drop-shadow(0 2px 4px rgba(40, 96, 144, 0.2));
  transition: all 0.3s ease;
}

.feature-card:hover .feature-icon i {
  transform: scale(1.05);
  filter: drop-shadow(0 4px 8px rgba(40, 96, 144, 0.3));
}

.feature-content {
  flex-grow: 1;
}

.feature-badge {
  margin-top: 0.75rem;
}

.feature-badge .tag.is-info {
  background: linear-gradient(135deg, #4a90e2, #286090);
  color: white !important;
  border: none;
  box-shadow: 0 2px 8px rgba(40, 96, 144, 0.2);
}

/* Extra specificity to ensure white text in feature badges */
.community-page .feature-badge .tag.is-info,
.community-page .feature-card .feature-badge .tag.is-info {
  color: white !important;
}

.feature-link {
  margin-top: 0.75rem;
}

.feature-link a {
  font-weight: 600;
  text-decoration: none;
  color: #286090;
  position: relative;
  transition: all 0.3s ease;
}

.feature-link a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, #4a90e2, #286090);
  transition: width 0.3s ease;
}

.feature-link a:hover::after {
  width: 100%;
}

.feature-link a:hover {
  text-decoration: none;
  color: #1d496a;
}

/* Audio Cards */
.audio-card {
  background: linear-gradient(135deg, #e8f4fd 0%, #ffffff 100%);
  padding: 2rem;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(74, 144, 226, 0.1);
  border: 1px solid rgba(74, 144, 226, 0.15);
  height: 100%;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}

.audio-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #4a90e2, #74c0fc);
}

.audio-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 30px rgba(74, 144, 226, 0.2);
  border-color: rgba(74, 144, 226, 0.3);
}

.audio-card h4 {
  margin-bottom: 1.5rem;
  color: #1a365d !important;
  font-weight: 600;
  position: relative;
}

.audio-card h4::before {
  content: '🎧';
  margin-right: 0.5rem;
  font-size: 1.2em;
}

.audio-player {
  margin-bottom: 0rem;
  position: relative;
}

.audio-player audio {
  width: 100%;
  border-radius: 8px;
  filter: drop-shadow(0 2px 8px rgba(74, 144, 226, 0.15));
}

.audio-fallback {
  font-size: 0.9rem;
  opacity: 0.8;
  color: #64748b;
}

/* Extra specificity to ensure white text in tiers section button */
.community-page #tiers-overview .button.is-primary,
.community-page #tiers-overview a.button.is-primary {
  color: white !important;
}

.light-access-link {
  color: #d32f2f !important;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px dotted rgba(211, 47, 47, 0.5);
  transition: all 0.3s ease;
}

.light-access-link:hover {
  color: #b71c1c !important;
  border-bottom-style: solid;
}

/* Community Vibe Section */
/* .vibe-content {
  padding: 3rem 0;
} */

.quote-highlight {
  background: linear-gradient(135deg, #4a90e2 0%, #286090 100%);
  border: none;
  padding: 3rem 2rem;
  border-radius: 20px;
  margin: 0 auto;
  max-width: 900px;
  box-shadow: 0 8px 32px rgba(40, 96, 144, 0.25);
  position: relative;
  overflow: hidden;
}

.quote-highlight::before {
  content: '"';
  position: absolute;
  top: -10px;
  left: 20px;
  font-size: 8rem;
  color: rgba(255, 255, 255, 0.1);
  font-family: Georgia, serif;
  line-height: 1;
  z-index: 0;
}

.quote-highlight::after {
  content: '"';
  position: absolute;
  bottom: -60px;
  right: 20px;
  font-size: 8rem;
  color: rgba(255, 255, 255, 0.1);
  font-family: Georgia, serif;
  line-height: 1;
  z-index: 0;
}

.quote-highlight p {
  margin: 0;
  font-style: italic;
  color: white !important;
  font-weight: 600;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 1;
  line-height: 1.4;
}

/* Extra specificity to ensure white text in quote section */
.community-page .quote-highlight p,
.community-page #vibe .quote-highlight p,
.community-page .vibe-content .quote-highlight p {
  color: white !important;
}

/* Step Cards */
.step-card {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  padding: 2.5rem;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  height: 100%;
  transition: all 0.3s ease;
  position: relative;
  border: 1px solid rgba(40, 96, 144, 0.1);
}

.step-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 8px 30px rgba(40, 96, 144, 0.15);
  border-color: rgba(40, 96, 144, 0.2);
}

/* Step Numbers with Gradient Backgrounds */
#how-it-works .column:nth-child(1) .step-card {
  border-top: 4px solid #4a90e2;
}

#how-it-works .column:nth-child(1) .step-card h3::before {
  content: '1';
  display: inline-block;
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, #4a90e2, #2980b9);
  color: white;
  border-radius: 50%;
  text-align: center;
  line-height: 40px;
  font-size: 1.2rem;
  font-weight: bold;
  margin-right: 1rem;
  box-shadow: 0 3px 10px rgba(74, 144, 226, 0.3);
}

#how-it-works .column:nth-child(2) .step-card {
  border-top: 4px solid #1fc75f;
}

#how-it-works .column:nth-child(2) .step-card h3::before {
  content: '2';
  display: inline-block;
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, #1fc75f, #27ae60);
  color: white;
  border-radius: 50%;
  text-align: center;
  line-height: 40px;
  font-size: 1.2rem;
  font-weight: bold;
  margin-right: 1rem;
  box-shadow: 0 3px 10px rgba(31, 199, 95, 0.3);
}

#how-it-works .column:nth-child(3) .step-card {
  border-top: 4px solid #DAA520;
}

#how-it-works .column:nth-child(3) .step-card h3::before {
  content: '3';
  display: inline-block;
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, #DAA520, #B8860B);
  color: white;
  border-radius: 50%;
  text-align: center;
  line-height: 40px;
  font-size: 1.2rem;
  font-weight: bold;
  margin-right: 1rem;
  box-shadow: 0 3px 10px rgba(218, 165, 32, 0.4);
}

.step-number {
  margin-bottom: 1.5rem;
}

.step-number .tag {
  font-size: 1.5rem;
  font-weight: bold;
}

.step-card h3 {
  margin-bottom: 1.5rem;
  color: #222 !important;
  font-weight: 600;
  display: flex;
  align-items: center;
}

.step-card p {
  color: #555;
  line-height: 1.6;
  margin-bottom: 0.75rem;
}

.step-card p:last-child {
  margin-bottom: 0;
}

/* Add connecting arrows between steps on larger screens */
@media (min-width: 769px) {
  #how-it-works .column:nth-child(1)::after,
  #how-it-works .column:nth-child(2)::after {
    content: '→';
    position: absolute;
    top: 50%;
    right: -15px;
    transform: translateY(-50%);
    font-size: 2rem;
    color: #4a90e2;
    z-index: 10;
    font-weight: bold;
    text-shadow: 0 2px 4px rgba(74, 144, 226, 0.3);
  }
  
  #how-it-works .column {
    position: relative;
  }
}

/* Tier Cards */
.tier-card {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  padding: 2.5rem;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  height: 100%;
  transition: all 0.3s ease;
  position: relative;
  border: 1px solid rgba(40, 96, 144, 0.1);
  overflow: hidden;
}

.tier-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  transition: all 0.3s ease;
}

.tier-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
  border-color: rgba(40, 96, 144, 0.2);
}

/* REPL Regular - Blue Theme */
#tiers-overview .column:nth-child(1) .tier-card::before {
  background: linear-gradient(90deg, #4a90e2, #74c0fc);
}

#tiers-overview .column:nth-child(1) .tier-card h3 {
  color: #2c5aa0 !important;
  border-bottom-color: #4a90e2;
}

/* Virtual Env VIP - Green Theme */
#tiers-overview .column:nth-child(2) .tier-card::before {
  background: linear-gradient(90deg, #1fc75f, #51f085);
}

#tiers-overview .column:nth-child(2) .tier-card {
  background: linear-gradient(135deg, #f8fff9 0%, #f1fcf3 100%);
  border-color: rgba(31, 199, 95, 0.2);
}

#tiers-overview .column:nth-child(2) .tier-card h3 {
  color: #0d7835 !important;
  border-bottom-color: #1fc75f;
}

#tiers-overview .column:nth-child(2) .tier-card:hover {
  box-shadow: 0 8px 30px rgba(31, 199, 95, 0.2);
  border-color: rgba(31, 199, 95, 0.3);
}

/* Core Dev Circle - Premium Gold Theme */
#tiers-overview .column:nth-child(3) .tier-card::before {
  background: linear-gradient(90deg, #DAA520, #FFD700);
}

#tiers-overview .column:nth-child(3) .tier-card {
  background: linear-gradient(135deg, #FFFBF0 0%, #FFF8DC 100%);
  border-color: rgba(218, 165, 32, 0.3);
}

#tiers-overview .column:nth-child(3) .tier-card h3 {
  color: #8a6508 !important;
  border-bottom-color: #DAA520;
}

#tiers-overview .column:nth-child(3) .tier-card:hover {
  box-shadow: 0 8px 30px rgba(218, 165, 32, 0.3);
  border-color: rgba(218, 165, 32, 0.5);
}

.tier-card h3 {
  color: #286090 !important;
  margin-bottom: 2rem;
  border-bottom: 2px solid #286090;
  padding-bottom: 0.75rem;
  font-weight: 600;
  font-size: 1.5rem;
}

.tier-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.tier-card li {
  padding: 0.75rem 0;
  padding-left: 2rem;
  position: relative;
  color: #333;
  line-height: 1.5;
  font-weight: 500;
}

.tier-card li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 0.75rem;
  color: #1fc75f;
  font-weight: bold;
  font-size: 1.1rem;
  text-shadow: 0 1px 2px rgba(31, 199, 95, 0.3);
}

.tier-card li.additional-benefit {
  color: #8a6508;
  font-weight: 600;
}

/* D3: VIP extras read green on /community, Core Dev extras gold (text #8a6508) */
.tier-card.is-vip li.additional-benefit {
  color: #0d7835;
}

/* Glyphs sit on the first line, so a wrapped bullet doesn't float its star mid-paragraph (D3) */
.tier-card li.additional-benefit::before {
  content: '★';
  position: absolute;
  left: 0;
  top: 0.75rem;
  color: #DAA520;
  font-size: 1.2rem;
  text-shadow: 0 1px 2px rgba(218, 165, 32, 0.4);
}

/* D4: tier icons coloured by CSS (REPL blue, VIP green, Core Dev gold) */
.tier-card-icon {
  margin-right: 0.5rem;
}

.tier-card.is-repl .tier-card-icon {
  color: #4a90e2;
}

.tier-card.is-vip .tier-card-icon {
  color: #1fc75f;
}

.tier-card.is-core .tier-card-icon {
  color: #DAA520;
}

.tier-card-price {
  margin-top: -1.25rem;
  margin-bottom: 1.25rem;
  font-weight: 600;
}

/* Print-edition caveat on the Core Dev signed-book perk (Michael, 2026-09-26): a small asterisk
   and one muted footnote under the list it applies to. */
.caveat-mark {
  font-size: 0.7em;
  margin-left: 0.1em;
}

.tier-footnote {
  margin-top: 0.75rem;
  font-size: 0.8rem;
  color: #666666;
}

/* FAQ Cards */
.faq-card {
  background: #f8f9fa;
  padding: 1.5rem;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  height: 100%;
  transition: transform 0.3s ease;
}

.faq-card:hover {
  transform: translateY(-2px);
}

.faq-card h3 {
  color: #286090 !important;
  margin-bottom: 1rem;
}

.faq-card p {
  color: #555;
  line-height: 1.6;
}

/* Compact FAQ Sections */
.faq-section-compact {
  margin-bottom: 2rem;
}

.faq-category-header {
  color: #286090 !important;
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
  border-bottom: 1px solid #e1e8ed;
  padding-bottom: 0.25rem;
}

.faq-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.faq-list li {
  margin-bottom: 0.25rem;
}

.faq-item-compact {
  margin: 0;
  border-radius: 4px;
  transition: all 0.2s ease;
}

.faq-item-compact[open] {
  background-color: #d4f5f9;
  border: 1px solid #1cbed2;
  padding: 0.5rem;
  margin: 0.5rem 0;
}

.faq-item-compact[open] .faq-link {
  font-weight: bold;
}

.faq-link {
  color: #007acc;
  cursor: pointer;
  font-weight: normal;
  text-decoration: none;
  padding: 0;
  margin: 0;
  display: inline;
  background: none;
  border: none;
  outline: none;
  font-size: inherit;
  line-height: 1.4;
}

.faq-link:hover {
  text-decoration: underline;
}

.faq-link::marker {
  display: none;
}

.faq-link::-webkit-details-marker {
  display: none;
}

.faq-answer-compact {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  padding-left: 0;
}

.faq-item-compact[open] .faq-answer-compact {
  margin-top: 0.75rem;
  margin-bottom: 0;
}

.faq-answer-compact p {
  margin-bottom: 0.75rem;
  line-height: 1.5;
  color: #333;
  font-size: 0.95rem;
}

.faq-answer-compact p:last-child {
  margin-bottom: 0;
}

.faq-answer-compact ul, .faq-answer-compact ol {
  margin: 0.5rem 0;
  padding-left: 1.25rem;
}

.faq-answer-compact li {
  margin-bottom: 0.25rem;
  line-height: 1.5;
  font-size: 0.95rem;
}

.faq-answer-compact strong {
  color: #286090;
}

.faq-answer-compact a {
  color: #007acc;
  text-decoration: none;
}

.faq-answer-compact a:hover {
  text-decoration: underline;
}

/* Section Spacing and Full-Width Backgrounds */
.section {
  padding: 3rem 0;
  width: 100%;
}

#why-join {
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 50%, #f1f3f4 100%);
  width: 100%;
  position: relative;
}

#why-join::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: 
    radial-gradient(circle at 20% 80%, rgba(74, 144, 226, 0.03) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(40, 96, 144, 0.03) 0%, transparent 50%);
  z-index: 0;
}

#why-join .container {
  position: relative;
  z-index: 1;
}

/* Pillar cards (designer D1+D2, Option B): a compact 4-up strip - icon, title, one line.
   Styled by class, not by Bulma column width, so a column change can't unstyle them again;
   the column is a flex container so every card in a row is the same height. */
#why-join .column {
  display: flex;
}

.pillar-card {
  width: 100%;
  padding: 1.5rem 1.25rem;
  border-radius: 16px;
  border: 1px solid rgba(74, 144, 226, 0.1);
  background: linear-gradient(135deg, rgba(74, 144, 226, 0.05), rgba(255, 255, 255, 0.8));
  box-shadow: 0 4px 20px rgba(74, 144, 226, 0.08);
  transition: all 0.3s ease;
}

.pillar-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

.pillar-card .title {
  margin-bottom: 0.5rem;
}

.pillar-card p {
  line-height: 1.5;
}

#why-join .column:nth-child(2) .pillar-card {
  background: linear-gradient(135deg, rgba(34, 139, 34, 0.05), rgba(255, 255, 255, 0.8));
  box-shadow: 0 4px 20px rgba(34, 139, 34, 0.08);
}

#why-join .column:nth-child(3) .pillar-card {
  background: linear-gradient(135deg, rgba(218, 165, 32, 0.05), rgba(255, 255, 255, 0.8));
  box-shadow: 0 4px 20px rgba(218, 165, 32, 0.08);
}

#why-join .column:nth-child(4) .pillar-card {
  background: linear-gradient(135deg, rgba(255, 140, 0, 0.05), rgba(255, 255, 255, 0.8));
  box-shadow: 0 4px 20px rgba(255, 140, 0, 0.08);
}

#features {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 50%, #f8f9fa 100%);
  width: 100%;
  position: relative;
}

#features::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: 
    radial-gradient(circle at 70% 30%, rgba(74, 144, 226, 0.02) 0%, transparent 50%),
    radial-gradient(circle at 30% 70%, rgba(31, 199, 95, 0.02) 0%, transparent 50%);
  z-index: 0;
}

#features .container {
  position: relative;
  z-index: 1;
}

#samples {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 50%, #ffffff 100%);
  width: 100%;
  position: relative;
}

#samples::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: 
    radial-gradient(circle at 80% 80%, rgba(74, 144, 226, 0.02) 0%, transparent 50%);
  z-index: 0;
}

#samples .container {
  position: relative;
  z-index: 1;
}

#vibe {
  background: linear-gradient(135deg, #f1f3f4 0%, #e9ecef 50%, #f1f3f4 100%);
  width: 100%;
  position: relative;
}

#vibe::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: 
    radial-gradient(circle at 50% 50%, rgba(40, 96, 144, 0.03) 0%, transparent 70%);
  z-index: 0;
}

#vibe .container {
  position: relative;
  z-index: 1;
}

#how-it-works {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 50%, #ffffff 100%);
  width: 100%;
  position: relative;
}

#how-it-works::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: 
    radial-gradient(circle at 10% 80%, rgba(74, 144, 226, 0.02) 0%, transparent 50%),
    radial-gradient(circle at 90% 20%, rgba(31, 199, 95, 0.02) 0%, transparent 50%),
    radial-gradient(circle at 50% 50%, rgba(218, 165, 32, 0.02) 0%, transparent 50%);
  z-index: 0;
}

#how-it-works .container {
  position: relative;
  z-index: 1;
}

#tiers-overview {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 50%, #f8f9fa 100%);
  width: 100%;
  position: relative;
}

#tiers-overview::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: 
    radial-gradient(circle at 33% 20%, rgba(74, 144, 226, 0.03) 0%, transparent 50%),
    radial-gradient(circle at 66% 50%, rgba(31, 199, 95, 0.03) 0%, transparent 50%),
    radial-gradient(circle at 100% 80%, rgba(218, 165, 32, 0.03) 0%, transparent 50%);
  z-index: 0;
}

#tiers-overview .container {
  position: relative;
  z-index: 1;
}

#faq {
  background: #ffffff;
  width: 100%;
  margin-top: 0;
  padding-top: 0;
}

#final-cta {
  background: linear-gradient(135deg, #4a90e2 0%, #286090 100%);
  width: 100%;
  padding: 5rem 0;
  position: relative;
  overflow: hidden;
}

#final-cta::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: 
    radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 70% 70%, rgba(255, 255, 255, 0.05) 0%, transparent 50%);
  z-index: 0;
}

#final-cta .container {
  position: relative;
  z-index: 1;
}

#final-cta h2 {
  color: white !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  font-weight: 600;
  margin-bottom: 2rem;
}

#final-cta .button.is-primary {
  background: linear-gradient(135deg, #ffffff, #f8f9fa);
  color: #286090 !important;
  border: none;
  font-weight: 600;
  font-size: 1.1rem;
  padding: 1rem 2rem;
  box-shadow: 0 4px 20px rgba(255, 255, 255, 0.2);
  transition: all 0.3s ease;
}

#final-cta .button.is-primary:hover {
  background: linear-gradient(135deg, #f8f9fa, #e9ecef);
  transform: translateY(-3px);
  box-shadow: 0 6px 25px rgba(255, 255, 255, 0.3);
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .hero-buttons {
    flex-direction: column;
    align-items: center;
  }

  .hero-buttons .button {
    width: 100%;
    max-width: 300px;
  }

  .feature-card {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }

  .feature-icon {
    margin-right: 0;
    margin-bottom: 1rem;
    flex-shrink: 0;
  }

  .feature-content {
    width: 100%;
  }

  .columns.is-variable.is-8 {
    margin: 0 -0.75rem;
  }

  .pillar-icon {
    margin-bottom: 1rem;
  }

  /* Reduce section spacing on tablets */
  .section {
    padding: 2rem 0;
  }

  /* Feature cards should stack on tablets too for better mobile experience */
  #features .column.is-6 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  /* FAQ Section Tablet Padding */
  #faq .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

@media (max-width: 480px) {
  /* Reduce section spacing significantly on mobile */
  .section {
    padding: 1.5rem 0;
  }

  .feature-card,
  .audio-card,
  .step-card,
  .tier-card,
  .faq-card {
    padding: 1.25rem;
  }

  /* Reduce pillar icon spacing and add 8px buffer on mobile */
  .pillar-icon {
    margin-bottom: calc(0.75rem + 8px);
  }

  /* Why Join Section Mobile Padding - reduced spacing */
  #why-join .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .pillar-card {
    padding: 1.25rem;
  }

  /* Reduce title spacing */
  .title.is-2.has-text-centered {
    margin-bottom: 1.5rem !important;
  }

  /* FAQ Section Mobile Padding */
  #faq .container {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .faq-section-compact {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    margin-bottom: 1.5rem;
  }

  .faq-category-header {
    font-size: 1.1rem;
  }

  .faq-link {
    font-size: 0.9rem;
  }

  .faq-answer-compact p,
  .faq-answer-compact li {
    font-size: 0.9rem;
  }

  .quote-highlight {
    padding: 1.25rem;
  }

  /* Feature cards should stack on mobile */
  #features .column.is-6 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  /* Reduce card spacing on mobile */
  .columns.is-variable.is-8.mb-6 {
    margin-bottom: 1rem !important;
  }

  .columns.is-variable.is-8.mb-3 {
    margin-bottom: 0.75rem !important;
  }

  /* Better feature card spacing on mobile */
  #features .feature-card {
    margin-bottom: 1rem;
  }
}

/* ========================================
   PRICING PAGE STYLES
   ======================================== */

.pricing-page {
  background-color: #ffffff;
  min-height: 100vh;
}

/* Billing Toggle */
.billing-toggle-container {
  margin: 2rem 0;
}

.billing-toggle {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.5rem;
}

.billing-label {
  font-weight: 500;
  color: #666;
  transition: all 0.3s ease;
}

.billing-label-active {
  color: #e11010;
  font-weight: 600;
}

.billing-subtitle {
  color: #666;
  margin-top: 0.5rem;
}

/* Toggle Switch */
.switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 34px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: 0.4s;
  border-radius: 34px;
}

.slider:before {
  position: absolute;
  content: "";
  height: 26px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  transition: 0.4s;
  border-radius: 50%;
}

input:checked + .slider {
  background-color: #00c8ff;
}

input:checked + .slider:before {
  transform: translateX(26px);
}

/* Pricing Cards */
.pricing-cards-container {
  display: flex;
  gap: 1rem;
  margin-top: 3rem;
  width: 100%;
  max-width: 72rem;
  margin-left: auto;
  margin-right: auto;
}

/* D10: /members links deep-link to a tier's card; keep it clear of the fixed navbar */
.pricing-card-wrapper[id] {
  scroll-margin-top: 80px;
}

.pricing-card-wrapper {
  flex: 1;
  min-width: 0;
}

.pricing-card {
  background: #ffffff;
  border: 2px solid #e9ecef;
  border-radius: 16px;
  /* padding: 3rem 3.5rem; */

    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 20px;
    padding-right: 20px;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.pricing-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
  border-color: #286090;
}

/* Featured Card (VIP) */
.pricing-card.featured {
  border-color: #1fc75f;
  position: relative;
  background: linear-gradient(135deg, #f8fff9 0%, #f1fcf3 100%);
}

.pricing-card.featured:hover {
  border-color: #1fc75f;
  box-shadow: 0 8px 30px rgba(31, 199, 95, 0.25);
}

/* Premium Card (Core Dev) */
.pricing-card.premium {
  border-color: #DAA520;
  background: linear-gradient(135deg, #FFFBF0 0%, #FFF8DC 100%);
}

.pricing-card.premium:hover {
  border-color: #DAA520;
  box-shadow: 0 8px 30px rgba(218, 165, 32, 0.25);
}

/* Popular Badge */
.popular-badge {
  position: absolute;
  top: -2px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #1fc75f, #51f085);
  color: white;
  padding: 0.5rem 1.5rem;
  border-radius: 0 0 12px 12px;
  font-weight: 600;
  font-size: 0.875rem;
  z-index: 2;
}

/* Tier Header */
.tier-header {
  text-align: center;
  margin-bottom: 1.5rem;
}

.tier-icon {
  background: linear-gradient(135deg, #286090, #4a90e2);
  width: 70px;
  height: 70px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
  color: white;
  font-size: 1.75rem;
}

.pricing-card.featured .tier-icon {
  background: linear-gradient(135deg, #1fc75f, #51f085);
}

.pricing-card.premium .tier-icon {
  background: linear-gradient(135deg, #DAA520, #FFD700);
}

.tier-name {
  font-size: 1.4rem;
  font-weight: 600;
  color: #286090;
  margin-bottom: 0.25rem;
}

.pricing-card.featured .tier-name {
  color: #0d7835;
}

.pricing-card.premium .tier-name {
  color: #8a6508;
}

.tier-description {
  color: #666;
  font-size: 0.95rem;
  margin-bottom: 0;
  line-height: 1.3;
}

/* Pricing Section */
.pricing-section {
  text-align: center;
  margin-bottom: 1.5rem;
  padding: 1.25rem 0;
  border-top: 1px solid #e9ecef;
  border-bottom: 1px solid #e9ecef;
}

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

.price-amount {
  font-size: 3rem;
  font-weight: 700;
  color: #286090;
  line-height: 1;
}

.pricing-card.featured .price-amount {
  color: #0d7835;
}

.pricing-card.premium .price-amount {
  color: #8a6508;
}

.price-period {
  font-size: 1.25rem;
  color: #666;
  font-weight: 500;
}

.billing-details {
  color: #666;
  font-size: 0.95rem;
  white-space: nowrap;
}

/* Features Section */
.features-section {
  flex-grow: 1;
  margin-bottom: 1.5rem;
}

.features-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.features-list li {
  padding: 0.35rem 0;
  padding-left: 1.5rem;
  position: relative;
  color: #333;
  line-height: 1.5;
  font-weight: 500;
  font-size: 0.9375rem;
  border-bottom: 1px solid #f8f9fa;
}

.features-list li:last-child {
  border-bottom: none;
}

.features-list li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 0.35rem;
  color: #1fc75f;
  font-weight: bold;
  font-size: 1.1rem;
}

.features-list li.premium-feature {
  color: #0d7835;
  font-weight: 600;
}

.pricing-card.premium .features-list li.premium-feature {
  color: #8a6508;
}

.features-list li.premium-feature::before {
  content: '★';
  position: absolute;
  left: 0;
  top: 0.35rem;
  color: #DAA520;
  font-size: 1.2rem;
  text-shadow: 0 1px 2px rgba(218, 165, 32, 0.4);
}

/* CTA Section */
.cta-section {
  margin-top: auto;
}

.subscribe-btn {
  display: block;
  width: 200px;
  margin: 0 auto;
  background: linear-gradient(135deg, #286090, #4a90e2);
  color: white;
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  text-align: center;
}

.subscribe-btn:hover {
  background: linear-gradient(135deg, #1f4870, #286090);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(40, 96, 144, 0.3);
}

.pricing-card.featured .subscribe-btn {
  background: linear-gradient(135deg, #1fc75f, #51f085);
}

.pricing-card.featured .subscribe-btn:hover {
  background: linear-gradient(135deg, #0d7835, #1fc75f);
  box-shadow: 0 4px 15px rgba(31, 199, 95, 0.3);
}

.pricing-card.premium .subscribe-btn {
  background: linear-gradient(135deg, #DAA520, #FFD700);
  color: #333;
}

.pricing-card.premium .subscribe-btn:hover {
  background: linear-gradient(135deg, #B8860B, #DAA520);
  color: white;
  box-shadow: 0 4px 15px rgba(218, 165, 32, 0.3);
}

/* FAQ and Details Sections */
.pricing-faq-section,
.pricing-details-section {
  border-radius: 12px;
  max-width: 42rem; /* D9: a readable line length */
  margin-left: auto;
  margin-right: auto;
}

.pricing-faq-section a,
.pricing-details-section a {
  text-decoration: underline !important;
}

/* Underlined Links */
.underlined-link {
  text-decoration: underline !important;
}

.underlined-link:hover {
  text-decoration: underline !important;
}

/* Override Bulma's has-text-link for underlined links */
a.has-text-link.underlined-link {
  text-decoration: underline !important;
}

a.has-text-link.underlined-link:hover {
  text-decoration: underline !important;
}

.pricing-details-section .content p {
  margin-bottom: 8px;
  line-height: 1.5rem;
}

.pricing-faq-section p {
line-height: 1.5rem;
}

/* Ensure cards fill available width */
.pricing-page .container {
  max-width: none !important;
  width: 95% !important;
  padding: 0 1rem;
  margin: 0 auto;
}

/* Override the 70% width restriction from site.css for pricing page */
.container.community-page.pricing-page {
  max-width: none !important;
  width: 95% !important;
  margin: 0 auto;
}


/* Responsive Design */
@media (max-width: 768px) {
  .pricing-page .container {
    width: 98%;
    padding: 0 0.25rem;
  }
  
  .pricing-cards-container {
    flex-direction: column;
    margin-top: 2rem;
    gap: 1rem;
  }
  
  .pricing-card {
    padding: 1rem 1rem;
  }
  
  .tier-icon {
    width: 50px;
    height: 50px;
    font-size: 1.25rem;
  }
  
  .price-amount {
    font-size: 2.5rem;
  }
  
  .billing-toggle {
    flex-direction: column;
    gap: 0.5rem;
  }
}
