:root {
  /* Colorful Icy Cold & Radiant Warmth Palette */
  --thermal-bg-deep: #0a1128;      /* Deep icy navy blue */
  --thermal-surface: #111d4a;      /* Sub-surface dark navy blue */
  --thermal-surface-overlay: rgba(10, 17, 40, 0.85);
  
  --thermal-accent-warm: #ff6b35;  /* Thermal orange / radiant heat accent */
  --thermal-accent-glow: #f7c59f;  /* Warm golden skin tint glow */
  
  --thermal-text-light: #f4f4f9;   /* Safe readable white text */
  --thermal-text-muted: #a0aab2;   /* Muted gray-blue helper text */
  --thermal-border: #1e3a8a;       /* Deep blue structure divider border */
  
  --thermal-gradient-warmth: linear-gradient(135deg, #ff6b35 0%, #cc4c18 100%);
  --thermal-gradient-cool: linear-gradient(135deg, #0a1128 0%, #111d4a 100%);
  
  /* Fonts */
  --font-display: 'Montserrat', sans-serif;
  --font-body: 'Inter', sans-serif;

  /* Custom styles */
  --thermal-border-radius: 16px; /* Soft Style (12-20px) */
  --thermal-shadow-level: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -2px rgba(0, 0, 0, 0.2); /* Raised Style */
}

/* Base modifications & Smooth Scroll */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}

/* Custom Scroll driven animations (CSS only, no JS) */
@keyframes page-progress {
  from { width: 0%; }
  to { width: 100%; }
}

.scroll-progress-line {
  position: fixed;
  top: 0;
  left: 0;
  height: 4px;
  background: var(--thermal-accent-warm);
  z-index: 9999;
  width: 0%;
  animation: page-progress auto linear;
  animation-timeline: scroll();
}

@keyframes section-reveal {
  from {
    opacity: 0.1;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.reveal-node {
  animation: section-reveal auto linear;
  animation-timeline: view();
  animation-range: entry 5% cover 30%;
}

/* Soft Border Radius style application */
.thermal-hero-decor,
.rounded-2xl,
.thermal-chunk,
.thermal-container-pad,
textarea,
input {
  border-radius: var(--thermal-border-radius) !important;
}

/* Soft Pill style for Buttons */
.thermal-pill-trigger {
  border-radius: 999px !important;
}

/* Custom transitions and interactions */
.thermal-menu-link {
  position: relative;
  transition: color 0.3s ease;
}

.thermal-menu-link::after {
  content: '';
  position: absolute;
  width: 0;
  height: 2px;
  bottom: -4px;
  left: 0;
  background-color: var(--thermal-accent-warm);
  transition: width 0.3s ease;
}

.thermal-menu-link:hover {
  color: var(--thermal-accent-warm) !important;
}

.thermal-menu-link:hover::after {
  width: 100%;
}

/* CSS Only Hamburger Menu trigger logic */
#thermal-nav-toggle:checked ~ .thermal-guide-menu .thermal-link-deck {
  display: flex !important;
  opacity: 1;
  pointer-events: auto;
}

@media (max-width: 767px) {
  .thermal-link-deck {
    display: none;
    opacity: 0;
    pointer-events: none;
    background: var(--thermal-bg-deep);
    z-index: 50;
  }
}

/* Neumorphism and glows for CTA and items */
.thermal-chunk:hover {
  box-shadow: 0 12px 24px -10px rgba(255, 107, 53, 0.25);
  border-color: var(--thermal-accent-warm) !important;
}

.thermal-pill-trigger:hover {
  filter: brightness(1.15);
  box-shadow: 0 8px 20px -4px rgba(255, 107, 53, 0.4);
}