/* ==========================================================================
   NOTTAME - OFFICIAL BRAND DESIGN SYSTEM & COMPONENT STYLES
   Based on Nottame Brand Guidelines (Brandbook 2026)
   Colors: Navy #131F30 | Slate #5C7EA0 | Cyan #9CFFFF | Yellow #FFF35F | White #FFFFFF
   Typography: Funnel Sans (Titles & Details) | Inter (Body Text)
   ========================================================================== */

/* --- Custom CSS Variables & Official Brand Tokens --- */
:root {
  /* Official Brandbook Color Palette (Page 21) */
  --brand-navy: #131f30;             /* CMYK: 98, 52, 54, 75 | RGB: 19, 31, 48 */
  --brand-slate: #5c7ea0;            /* CMYK: 68, 43, 22, 6  | RGB: 92, 126, 160 */
  --brand-cyan: #9cffff;             /* CMYK: 37, 0, 10, 0   | RGB: 156, 255, 255 */
  --brand-yellow: #fff35f;           /* CMYK: 5, 0, 70, 0    | RGB: 255, 243, 95 */
  --brand-white: #ffffff;            /* CMYK: 0, 0, 0, 0     | RGB: 255, 255, 255 */

  /* Dark Theme Semantic Surfaces */
  --bg-primary: #0b121c;             /* Ultra-deep navy background */
  --bg-surface: #131f30;             /* Brand navy core surface */
  --bg-surface-elevated: #18283e;    /* Elevated card surface */
  --bg-surface-card: rgba(19, 31, 48, 0.72);

  /* Accents & Glows */
  --accent-cyan: #9cffff;
  --accent-cyan-glow: rgba(156, 255, 255, 0.35);
  --accent-yellow: #fff35f;
  --accent-yellow-glow: rgba(255, 243, 95, 0.4);
  --accent-slate: #5c7ea0;

  /* Glassmorphism System (Brandbook Page 32) */
  --glass-bg: rgba(19, 31, 48, 0.55);
  --glass-bg-hover: rgba(24, 40, 62, 0.75);
  --glass-border: rgba(92, 126, 160, 0.28);
  --glass-border-hover: rgba(156, 255, 255, 0.5);
  --glass-border-highlight: rgba(255, 255, 255, 0.12);
  --glass-blur: 16px;

  /* Accessible Text Tints (WCAG AAA compliant on deep navy) */
  --brand-slate-accessible: #8ba9c9; /* 7.7:1 contrast on #0B121C */
  --text-secondary: #8ba9c9;

  /* Official Typography (Brandbook Page 27) */
  --font-titles: 'Funnel Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-details: 'Funnel Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* --- Base Body & Typography Reset --- */
html {
  background-color: var(--bg-primary);
  color: #f1f5f9;
  font-family: var(--font-body);
  scroll-behavior: smooth;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  background-color: var(--bg-primary);
  color: #f1f5f9;
  overflow-x: hidden;
  position: relative;
  min-height: 100vh;
}

/* Headings inherit Funnel Sans by default */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-titles);
  letter-spacing: -0.015em;
}

/* --- Lenis Smooth Scroll Integration --- */
html.lenis, html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

/* --- Custom Dark Scrollbar (Navy & Cyan/Yellow accents) --- */
::-webkit-scrollbar {
  width: 9px;
}
::-webkit-scrollbar-track {
  background: var(--bg-primary);
}
::-webkit-scrollbar-thumb {
  background: rgba(92, 126, 160, 0.4);
  border-radius: 9999px;
  border: 2px solid var(--bg-primary);
  transition: background 0.2s ease;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--brand-cyan);
}

/* --- High-Fidelity Glassmorphism Components (Brandbook Page 32) --- */
.glass-card {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(19, 31, 48, 0.65) 100%);
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  border: 1px solid var(--glass-border);
  box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.65), inset 0 1px 1px 0 var(--glass-border-highlight);
  border-radius: 1.5rem; /* 24px */
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
}

.glass-card:hover {
  border-color: var(--glass-border-hover);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, rgba(24, 40, 62, 0.8) 100%);
  box-shadow: 0 25px 50px -12px rgba(156, 255, 255, 0.16), inset 0 1px 2px 0 rgba(255, 255, 255, 0.22);
  transform: translateY(-2px);
}

.glass-pill {
  background: rgba(19, 31, 48, 0.65);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(92, 126, 160, 0.35);
  box-shadow: 0 8px 24px -6px rgba(0, 0, 0, 0.4), inset 0 1px 1px 0 rgba(255, 255, 255, 0.12);
  border-radius: 9999px;
  font-family: var(--font-details);
  transition: all 0.25s ease;
}

.glass-pill:hover {
  background: rgba(24, 40, 62, 0.85);
  border-color: var(--brand-cyan);
  box-shadow: 0 8px 24px -4px rgba(156, 255, 255, 0.2);
}

/* ==========================================================================
   NOTTAME BRAND SYMBOL BUTTONS - OFFICIAL BRANDBOOK COMPONENT
   Baseado no Brandbook Oficial da Nottame (Páginas 16, 21 e 32)
   
   Características da silhueta:
   - Inclinação dinâmica: skewX(-8.6deg)
   - Curvatura assimétrica dos cantos: border-radius: 20px 7px 20px 7px
   - Geometria isolada no ::before (o texto não é distorcido nem cortado)
   - 3D Glassmorphism, realce especular de borda e anel duplo de foco (WCAG AAA)
   ========================================================================== */
.glass-button,
.glass-button-primary,
.glass-button-cyan {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 1.625rem;
  min-height: 48px;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--font-details);
  font-size: 0.9375rem;
  line-height: 1.25;
  letter-spacing: 0.01em;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  isolation: isolate;
  z-index: 1;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

/* Camada da Silhueta Geométrica da Marca (::before) */
.glass-button::before,
.glass-button-primary::before,
.glass-button-cyan::before {
  content: '';
  position: absolute;
  inset: 0 3px;
  transform: skewX(-8.6deg);
  border-radius: 20px 7px 20px 7px;
  z-index: -1;
  pointer-events: none;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  box-sizing: border-box;
}

/* Micro-interações ao pairar e clicar */
.glass-button:hover,
.glass-button-primary:hover,
.glass-button-cyan:hover {
  transform: translateY(-1px) scale(1.02);
}

.glass-button:active,
.glass-button-primary:active,
.glass-button-cyan:active {
  transform: translateY(1px) scale(0.98);
}

/* VARIAÇÃO 1: BOTÃO PRIMÁRIO (AMARELO NOTTAME - ALTO IMPACTO) */
.glass-button-primary {
  color: #131F30 !important;
  font-weight: 700;
}

.glass-button-primary::before {
  background: linear-gradient(180deg, #FFF885 0%, #FFF35F 45%, #F4E234 100%);
  border: 1px solid rgba(255, 255, 255, 0.85);
  box-shadow: 
    0 4px 20px rgba(255, 243, 95, 0.35),
    inset 0 1.5px 2px rgba(255, 255, 255, 0.9),
    inset 0 -1.5px 2px rgba(212, 185, 18, 0.35);
}

.glass-button-primary:hover::before {
  background: linear-gradient(180deg, #FFFFFF 0%, #FFF575 40%, #FFF35F 100%);
  box-shadow: 
    0 6px 30px rgba(255, 243, 95, 0.55),
    0 0 15px rgba(255, 243, 95, 0.3),
    inset 0 1.5px 2px rgba(255, 255, 255, 1);
}

.glass-button-primary:active::before {
  transform: skewX(-8.6deg) scale(0.98);
}

/* VARIAÇÃO 2: BOTÃO SECUNDÁRIO (GLASS TRANSLÚCIDO NAVY - 3D SPECULAR) */
.glass-button {
  color: #FFFFFF !important;
  font-weight: 600;
}

.glass-button::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, rgba(19, 31, 48, 0.82) 100%);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(156, 255, 255, 0.3);
  box-shadow: 
    0 4px 20px rgba(0, 0, 0, 0.45),
    inset 0 1.5px 1.5px rgba(255, 255, 255, 0.35),
    inset 0 -1px 2px rgba(156, 255, 255, 0.15);
}

.glass-button:hover::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, rgba(24, 40, 62, 0.92) 100%);
  border-color: rgba(156, 255, 255, 0.65);
  box-shadow: 
    0 6px 28px rgba(156, 255, 255, 0.3),
    inset 0 1.5px 2px rgba(255, 255, 255, 0.5),
    inset 0 0 12px rgba(156, 255, 255, 0.15);
}

.glass-button:active::before {
  transform: skewX(-8.6deg) scale(0.98);
}

/* VARIAÇÃO 3: BOTÃO CIANO (TECNOLOGIA & CONTRASTE) */
.glass-button-cyan {
  color: #131F30 !important;
  font-weight: 700;
}

.glass-button-cyan::before {
  background: linear-gradient(180deg, #C2FFFF 0%, #9CFFFF 50%, #68E8E8 100%);
  border: 1px solid rgba(255, 255, 255, 0.85);
  box-shadow: 
    0 4px 20px rgba(156, 255, 255, 0.35),
    inset 0 1.5px 2px rgba(255, 255, 255, 0.85);
}

.glass-button-cyan:hover::before {
  background: linear-gradient(180deg, #FFFFFF 0%, #B8FFFF 40%, #9CFFFF 100%);
  box-shadow: 
    0 6px 30px rgba(156, 255, 255, 0.55),
    inset 0 1.5px 2px rgba(255, 255, 255, 0.95);
}

.glass-button-cyan:active::before {
  transform: skewX(-8.6deg) scale(0.98);
}

/* ACESSIBILIDADE: FOCO POR TECLADO (WCAG AAA COMPLIANT) */
.glass-button:focus-visible,
.glass-button-primary:focus-visible,
.glass-button-cyan:focus-visible {
  outline: none;
}

.glass-button:focus-visible::before {
  box-shadow: 0 0 0 2px #0B121C, 0 0 0 4px #9CFFFF, 0 6px 26px rgba(156, 255, 255, 0.35);
}

.glass-button-primary:focus-visible::before {
  box-shadow: 0 0 0 2px #0B121C, 0 0 0 4px #9CFFFF, 0 8px 34px rgba(255, 243, 95, 0.6);
}

.glass-button-cyan:focus-visible::before {
  box-shadow: 0 0 0 2px #0B121C, 0 0 0 4px #9CFFFF, 0 8px 30px rgba(156, 255, 255, 0.55);
}

/* ESTADO DESABILITADO */
.glass-button:disabled,
.glass-button-primary:disabled,
.glass-button-cyan:disabled,
.glass-button[aria-disabled="true"],
.glass-button-primary[aria-disabled="true"],
.glass-button-cyan[aria-disabled="true"] {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
  transform: none !important;
}

/* MODIFICADORES DE TAMANHO */
.glass-button-sm {
  min-height: 38px;
  padding: 0.35rem 1.125rem;
  font-size: 0.8125rem;
}
.glass-button-sm::before {
  border-radius: 14px 5px 14px 5px;
}

.glass-button-lg {
  min-height: 52px;
  padding: 0.8rem 2rem;
  font-size: 1rem;
}
.glass-button-lg::before {
  border-radius: 24px 8px 24px 8px;
}

.glass-button-block {
  width: 100%;
  display: flex;
}

/* Ícone Interno da Marca (SVG) */
.nottame-icon {
  display: inline-block;
  height: 0.75rem;
  width: auto;
  flex-shrink: 0;
  vertical-align: middle;
}

/* --- Giant Backdrop Typography (Funnel Sans) --- */
.font-display-funnel {
  font-family: var(--font-titles);
}

.backdrop-title-nottame {
  font-family: var(--font-titles);
  background: linear-gradient(180deg, rgba(156, 255, 255, 0.40) 0%, rgba(92, 126, 160, 0.18) 60%, rgba(19, 31, 48, 0.02) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: 0.14em;
  line-height: 0.9;
  text-shadow: 0 0 70px rgba(156, 255, 255, 0.12);
  pointer-events: none;
  user-select: none;
}

.backdrop-title-features {
  font-family: var(--font-titles);
  background: linear-gradient(180deg, rgba(156, 255, 255, 0.35) 0%, rgba(92, 126, 160, 0.16) 60%, rgba(19, 31, 48, 0.02) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 0.9;
  pointer-events: none;
  user-select: none;
}

.backdrop-title-costs {
  font-family: var(--font-titles);
  background: linear-gradient(180deg, rgba(255, 243, 95, 0.28) 0%, rgba(92, 126, 160, 0.12) 60%, rgba(19, 31, 48, 0.02) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 0.9;
  pointer-events: none;
  user-select: none;
}

.backdrop-title-execution {
  font-family: var(--font-titles);
  background: linear-gradient(180deg, rgba(156, 255, 255, 0.28) 0%, rgba(92, 126, 160, 0.12) 60%, rgba(19, 31, 48, 0.02) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 0.9;
  pointer-events: none;
  user-select: none;
}

.backdrop-title-how {
  font-family: var(--font-titles);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.28) 0%, rgba(92, 126, 160, 0.08) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: 0.06em;
  line-height: 0.9;
  pointer-events: none;
  user-select: none;
}

.backdrop-title-testimonial {
  font-family: var(--font-titles);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.24) 0%, rgba(92, 126, 160, 0.06) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: 0.08em;
  line-height: 0.9;
  pointer-events: none;
  user-select: none;
}

/* --- Glowing Horizon Arc Divider (Brand Cyan / Specular White Eclipse) --- */
.horizon-arc-wrapper {
  position: relative;
  width: 100%;
  max-width: 900px;
  margin: 3rem auto 0 auto;
  display: flex;
  justify-content: center;
  overflow: visible;
}

.horizon-arc {
  width: 100%;
  height: 90px;
  border-top: 1.5px solid rgba(156, 255, 255, 0.85);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  box-shadow: 0 -4px 30px rgba(156, 255, 255, 0.55), 0 -10px 60px rgba(92, 126, 160, 0.35);
  position: relative;
}

.horizon-arc::before {
  content: '';
  position: absolute;
  top: -2px;
  left: 35%;
  right: 35%;
  height: 3px;
  background: #ffffff;
  border-radius: 9999px;
  box-shadow: 0 0 16px #ffffff, 0 0 35px #9cffff;
  filter: blur(0.5px);
}

/* --- Floating Organic Ribbons & Background Compositions --- */
.ribbon-ambient {
  position: absolute;
  pointer-events: none;
  z-index: 0;
  filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.7));
  mix-blend-mode: screen;
  opacity: 0.75;
  transition: transform 0.5s ease-out;
}

@keyframes floatGentle {
  0%, 100% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(-10px) rotate(0.4deg);
  }
}

.animate-float-gentle {
  animation: floatGentle 8s ease-in-out infinite;
}

@keyframes spinSlow {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.animate-spin-slow {
  animation: spinSlow 24s linear infinite;
}

.pattern-ambient {
  position: absolute;
  pointer-events: none;
  z-index: 0;
  mix-blend-mode: screen;
  opacity: 0.15;
}

/* Pricing Section Ambient Atmosphere (No-cut Feathered Fluid Glass Wave) */
.pricing-backdrop-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 650px;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}

.pricing-ambient-glow {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1000px;
  max-width: 95vw;
  height: 480px;
  background: radial-gradient(ellipse at center, rgba(156, 255, 255, 0.09) 0%, rgba(255, 243, 95, 0.04) 45%, transparent 72%);
  filter: blur(55px);
  pointer-events: none;
  z-index: 0;
}

.pricing-wave-container {
  width: 100%;
  max-width: 1350px;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
  z-index: 1;
}

.pricing-wave-img {
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: contain;
  mix-blend-mode: screen;
  opacity: 0.40;
  filter: drop-shadow(0 15px 35px rgba(0, 0, 0, 0.6));
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, black 30%, transparent 92%);
  mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, black 30%, transparent 92%);
}

.brand-badge-selo {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;
}

.brand-badge-selo:hover {
  transform: scale(1.06);
  box-shadow: 0 0 35px rgba(255, 243, 95, 0.35);
}

/* --- Subtle Radial Ambient Glows (Official Nottame Palette) --- */
.ambient-glow-cyan {
  position: absolute;
  width: 700px;
  height: 700px;
  border-radius: 9999px;
  background: radial-gradient(circle, rgba(156, 255, 255, 0.16) 0%, rgba(92, 126, 160, 0.06) 50%, transparent 70%);
  filter: blur(80px);
  pointer-events: none;
  z-index: 0;
}

.ambient-glow-yellow {
  position: absolute;
  width: 550px;
  height: 550px;
  border-radius: 9999px;
  background: radial-gradient(circle, rgba(255, 243, 95, 0.12) 0%, rgba(92, 126, 160, 0.04) 50%, transparent 70%);
  filter: blur(95px);
  pointer-events: none;
  z-index: 0;
}

.ambient-glow-slate {
  position: absolute;
  width: 650px;
  height: 650px;
  border-radius: 9999px;
  background: radial-gradient(circle, rgba(92, 126, 160, 0.16) 0%, rgba(19, 31, 48, 0.08) 50%, transparent 70%);
  filter: blur(90px);
  pointer-events: none;
  z-index: 0;
}

.ambient-glow-navy {
  position: absolute;
  width: 800px;
  height: 800px;
  border-radius: 9999px;
  background: radial-gradient(circle, rgba(19, 31, 48, 0.8) 0%, transparent 70%);
  filter: blur(100px);
  pointer-events: none;
  z-index: 0;
}

/* Backward compatibility aliases */
.ambient-glow-emerald {
  composes: ambient-glow-cyan;
  background: radial-gradient(circle, rgba(156, 255, 255, 0.16) 0%, rgba(92, 126, 160, 0.06) 50%, transparent 70%);
  filter: blur(80px);
  pointer-events: none;
  z-index: 0;
  position: absolute;
  width: 700px;
  height: 700px;
  border-radius: 9999px;
}
.ambient-glow-teal {
  composes: ambient-glow-cyan;
  background: radial-gradient(circle, rgba(156, 255, 255, 0.14) 0%, rgba(92, 126, 160, 0.05) 50%, transparent 70%);
  filter: blur(90px);
  pointer-events: none;
  z-index: 0;
  position: absolute;
  width: 600px;
  height: 600px;
  border-radius: 9999px;
}
.ambient-glow-coral {
  composes: ambient-glow-yellow;
  background: radial-gradient(circle, rgba(255, 243, 95, 0.12) 0%, rgba(92, 126, 160, 0.03) 50%, transparent 70%);
  filter: blur(100px);
  pointer-events: none;
  z-index: 0;
  position: absolute;
  width: 550px;
  height: 550px;
  border-radius: 9999px;
}

/* --- Interactive Tooltips & Badges (Brandbook Details) --- */
.badge-metric {
  background: rgba(19, 31, 48, 0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(156, 255, 255, 0.35);
  color: #9cffff;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5), 0 0 16px rgba(156, 255, 255, 0.18);
  border-radius: 9999px;
  padding: 0.5rem 1.25rem;
  font-family: var(--font-details);
  font-weight: 700;
  font-size: 0.875rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: all 0.25s ease;
}

.badge-metric:hover {
  border-color: rgba(156, 255, 255, 0.7);
  box-shadow: 0 6px 25px rgba(156, 255, 255, 0.35);
  transform: translateY(-2px);
}

.badge-yellow {
  background: rgba(19, 31, 48, 0.9);
  border: 1px solid rgba(255, 243, 95, 0.4);
  color: #fff35f;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4), 0 0 15px rgba(255, 243, 95, 0.2);
}

/* --- Connecting Step Flow Lines --- */
.step-connecting-path {
  stroke: rgba(156, 255, 255, 0.28);
  stroke-dasharray: 6 6;
  animation: strokeDash 30s linear infinite;
}

@keyframes strokeDash {
  to {
    stroke-dashoffset: -1000;
  }
}

/* --- Modal Dialog Animations & Backdrop --- */
.modal-backdrop {
  background: rgba(11, 18, 28, 0.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

/* Focus Visible Accessibility */
:focus-visible {
  outline: 2px solid #9cffff;
  outline-offset: 3px;
}

/* Brand Text Highlights */
.text-brand-gradient {
  background: linear-gradient(135deg, #9cffff 0%, #ffffff 50%, #fff35f 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.text-brand-yellow-gradient {
  background: linear-gradient(135deg, #fff35f 0%, #ffffff 80%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ==========================================================================
   MOBILE FIRST UX & SENIOR RESPONSIVE ARCHITECTURE (2026)
   - Adheres to WCAG 2.1 AA 44x44px touch targets
   - Safe Area Inset (iOS Notch & Home Bar) integration
   - Zero horizontal overflow guarantee
   - iOS Safari auto-zoom prevention (16px form inputs)
   - Bottom sheet modal transformation on small viewports
   ========================================================================== */

/* Safe Area Inset Tokens */
:root {
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
}

.safe-top-padding {
  padding-top: max(1rem, env(safe-area-inset-top, 0px));
}

.safe-bottom-padding {
  padding-bottom: max(1rem, env(safe-area-inset-bottom, 0px));
}

/* Minimum 44x44px accessible touch targets (WCAG 2.1 AA) */
.touch-target-44 {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Prevent iOS Safari forced auto-zoom on form inputs */
input, textarea, select {
  font-size: 16px !important;
  line-height: 1.4;
}

/* Active touch feedback for mobile ergonomics */
.touch-press {
  transition: transform 0.15s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.15s ease;
}
.touch-press:active {
  transform: scale(0.97);
}

/* Touch Scroll-Snap Utilities for Mobile (Native 2026 UX) */
.snap-x-mandatory {
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.snap-center {
  scroll-snap-align: center;
}
.snap-start {
  scroll-snap-align: start;
}

/* Safe Area Insets for Lateral / Notch Protection */
.safe-x-padding {
  padding-left: max(1rem, env(safe-area-inset-left, 0px));
  padding-right: max(1rem, env(safe-area-inset-right, 0px));
}

/* Body Scroll Lock for Drawers and Modals */
body.overflow-hidden {
  overflow: hidden !important;
  touch-action: none;
}
.modal-backdrop,
#mobile-nav-drawer,
.mobile-bottom-sheet {
  touch-action: auto !important;
}

/* Strict Zero Horizontal Overflow */
html, body {
  overflow-x: hidden !important;
  width: 100%;
  max-width: 100vw;
  position: relative;
}

/* Fluid Typography and Card Padding Adjustments for Mobile (<640px) */
@media (max-width: 639px) {
  .backdrop-title-nottame {
    letter-spacing: 0.08em;
    font-size: clamp(3rem, 18vw, 6rem);
  }
  
  .backdrop-title-features,
  .backdrop-title-costs,
  .backdrop-title-execution,
  .backdrop-title-how,
  .backdrop-title-testimonial {
    letter-spacing: 0.04em;
    font-size: clamp(2.8rem, 15vw, 5.5rem);
    line-height: 0.9;
  }

  .horizon-arc-wrapper {
    margin-top: 2rem;
    overflow: hidden;
    padding: 0 1rem;
  }

  /* Bottom sheet modal styling on small viewports */
  .mobile-bottom-sheet {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-bottom: none !important;
    max-height: 92vh !important;
  }

  /* Metric badges layout adaptation on mobile */
  .badge-metric {
    border-radius: 1rem;
    width: 100%;
    padding: 0.75rem 1rem;
    font-size: 0.8125rem;
    justify-content: flex-start;
  }

  .modal-sheet-header {
    touch-action: pan-y;
    user-select: none;
  }
}
