/*
Theme Name: RSound Connect
Theme URI: https://toofoot.com/themes/rsound-connect
Author: Toofoot SAS
Author URI: https://toofoot.com
Description: Block theme (FSE) for RSound Connect — premium voice narration for WordPress. Cinematic teal/dark aesthetic, designed at 1920×1080 quality.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rsound-connect
Tags: full-site-editing, block-templates, block-patterns, one-column, custom-colors, custom-logo, custom-menu
*/

/* ==========================================================
   RSound Connect — Block Theme
   Most styling is driven by theme.json. This file holds:
   - resets needed alongside FSE
   - bespoke component styles (waveforms, pricing cards, FAQ)
   - hover/transition behaviour the theme.json layer can't express
   ========================================================== */

:root {
  --rs-teal: #0F7579;
  --rs-teal-bright: #14a0a6;
  --rs-teal-glow: rgba(20, 160, 166, 0.35);
  --rs-dark: #1E1E1E;
  --rs-dark-2: #161616;
  --rs-dark-3: #0e0e0e;
  --rs-light: #F4F4F4;
  --rs-line-dark: rgba(255,255,255,0.08);
  --rs-line-light: rgba(0,0,0,0.08);
  --rs-muted-on-dark: rgba(255,255,255,0.62);
  --rs-muted-on-light: rgba(30,30,30,0.62);
  --rs-ease: cubic-bezier(.2,.7,.2,1);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { display: block; max-width: 100%; }

/* ----- Display utility ----- */
.rs-display {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 0.95;
}
.rs-h1 { font-weight: 600; letter-spacing: -0.015em; line-height: 1.02; }
.rs-eyebrow {
  font-family: 'Manrope', sans-serif;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--rs-teal-bright);
}
.rs-eyebrow.on-light { color: var(--rs-teal); }

/* ----- Buttons ----- */
.rs-btn {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 16px 28px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none !important;
  transition: transform .3s var(--rs-ease), background .3s var(--rs-ease), color .3s var(--rs-ease), box-shadow .3s var(--rs-ease), border-color .3s var(--rs-ease);
  border: 1px solid transparent;
}
.rs-btn-primary { background: var(--rs-teal); color: #fff; }
.rs-btn-primary:hover { background: var(--rs-teal-bright); transform: translateY(-2px); box-shadow: 0 14px 40px -10px var(--rs-teal-glow); }
.rs-btn-ghost-dark { border-color: rgba(255,255,255,0.18); color: #fff; }
.rs-btn-ghost-dark:hover { border-color: var(--rs-teal-bright); color: var(--rs-teal-bright); }
.rs-btn-ghost-light { border-color: rgba(0,0,0,0.18); color: var(--rs-dark); }
.rs-btn-ghost-light:hover { border-color: var(--rs-teal); color: var(--rs-teal); }
.rs-btn-on-teal { background: #fff; color: var(--rs-teal); }
.rs-btn-on-teal:hover { transform: translateY(-2px); box-shadow: 0 18px 40px -10px rgba(0,0,0,0.35); }

/* ----- Site header ----- */
.wp-block-template-part.rs-header { position: sticky; top: 0; z-index: 100; }
.rs-header-bar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px clamp(24px, 5vw, 64px);
  background: rgba(15,15,15,0.72);
  backdrop-filter: saturate(160%) blur(18px);
  border-bottom: 1px solid var(--rs-line-dark);
}
.rs-header-bar .nav-links { display: flex; gap: 36px; font-size: 14px; font-weight: 500; color: rgba(255,255,255,0.78); }
.rs-header-bar .nav-links a { color: inherit; text-decoration: none; transition: color .3s var(--rs-ease); }
.rs-header-bar .nav-links a:hover, .rs-header-bar .nav-links a.current-menu-item { color: var(--rs-teal-bright); }
@media (max-width: 900px) { .rs-header-bar .nav-links { display: none; } }
.rs-header-bar img.logo { height: 28px; width: auto; }

/* ----- Hero ----- */
.rs-hero {
  min-height: 100vh;
  background: var(--rs-dark);
  position: relative;
  overflow: hidden;
  display: flex; flex-direction: column; justify-content: center;
  padding: 140px clamp(24px, 5vw, 96px) 80px;
  color: var(--rs-light);
}
.rs-hero::before {
  content: ""; position: absolute; top:-30%; right:-10%;
  width: 70vw; height: 70vw;
  background: radial-gradient(closest-side, rgba(15,117,121,0.30), transparent 70%);
  pointer-events: none;
}
.rs-hero h1 {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-weight: 600;
  letter-spacing: -0.015em;
  font-size: clamp(44px, 6.4vw, 112px);
  line-height: 1.02;
  margin: 0 0 36px;
  position: relative; z-index: 2;
  max-width: 22ch;
}
.rs-hero h1 .accent { color: var(--rs-teal-bright); }
.rs-hero p.lead {
  font-size: clamp(18px, 1.5vw, 24px);
  line-height: 1.5;
  color: var(--rs-muted-on-dark);
  max-width: 56ch;
  margin: 0 0 48px;
  position: relative; z-index: 2;
}
.rs-hero-actions { display: flex; gap: 16px; flex-wrap: wrap; position: relative; z-index: 2; }
.rs-hero-wave {
  position: absolute; left:0; right:0; bottom:0;
  height: 38vh; pointer-events: none; z-index: 1; opacity: 0.7;
  mask-image: linear-gradient(to top, #000 30%, transparent 100%);
  -webkit-mask-image: linear-gradient(to top, #000 30%, transparent 100%);
}
.rs-hero-wave svg { width: 100%; height: 100%; }
.rs-bar { fill: var(--rs-teal); transform-origin: center; animation: rsPulseBar 2.6s ease-in-out infinite; }
@keyframes rsPulseBar { 0%,100% { transform: scaleY(0.32); opacity: .6; } 50% { transform: scaleY(1); opacity: 1; } }

/* ----- Generic section helpers ----- */
.rs-section { padding: clamp(96px, 10vw, 160px) clamp(24px, 5vw, 96px); position: relative; overflow: hidden; }
.rs-section.dark { background: var(--rs-dark); color: var(--rs-light); }
.rs-section.darker { background: var(--rs-dark-2); color: var(--rs-light); }
.rs-section.light { background: var(--rs-light); color: var(--rs-dark); }
.rs-section.teal { background: var(--rs-teal); color: #fff; }
.rs-wrap { max-width: 1320px; margin: 0 auto; }
.rs-h2 {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 0.95;
  font-size: clamp(48px, 6.5vw, 110px);
  margin: 24px 0 0;
  max-width: 18ch;
}
.rs-lead { font-size: clamp(18px, 1.4vw, 22px); line-height: 1.55; color: var(--rs-muted-on-dark); max-width: 56ch; margin-top: 32px; }
.rs-lead.on-light { color: var(--rs-muted-on-light); }

/* ----- Modules grid ----- */
.rs-modules { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 80px; }
@media (max-width: 800px) { .rs-modules { grid-template-columns: 1fr; } }
.rs-module-card {
  background: var(--rs-dark-2); border: 1px solid var(--rs-line-dark);
  border-radius: 20px; padding: 48px 44px; min-height: 320px;
  display: flex; flex-direction: column; justify-content: space-between;
  transition: transform .35s var(--rs-ease), border-color .35s var(--rs-ease), box-shadow .35s var(--rs-ease);
  position: relative; overflow: hidden;
}
.rs-module-card:hover { transform: translateY(-6px); border-color: var(--rs-teal); box-shadow: 0 24px 60px -20px rgba(15,117,121,0.4); }
.rs-module-card .badge { font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 600; color: var(--rs-teal-bright); margin-bottom: 28px; }
.rs-module-card img.module-logo { height: 56px; width: auto; margin-bottom: 28px; filter: brightness(0) invert(1); opacity: 0.95; }
.rs-module-card h4 { font-family: 'Manrope', sans-serif; font-weight: 700; font-size: 32px; margin: 0 0 14px; letter-spacing: -0.015em; }
.rs-module-card p { color: var(--rs-muted-on-dark); font-size: 15px; line-height: 1.6; margin: 0 0 28px; max-width: 44ch; }
.rs-module-card .more { font-weight: 600; font-size: 14px; color: var(--rs-teal-bright); display: inline-flex; gap: 8px; align-items: center; text-decoration: none; }

/* ----- Process ----- */
.rs-process { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 96px; position: relative; }
.rs-process::before { content: ""; position: absolute; left:0; right:0; top: 80px; height: 1px; background: linear-gradient(90deg, transparent, var(--rs-line-dark) 12%, var(--rs-line-dark) 88%, transparent); }
.rs-step { padding: 0 32px; position: relative; }
.rs-step + .rs-step { border-left: 1px solid var(--rs-line-dark); }
.rs-step-num {
  width: 56px; height: 56px; border-radius: 50%;
  background: var(--rs-dark); border: 1px solid var(--rs-teal);
  color: var(--rs-teal-bright);
  display: flex; align-items: center; justify-content: center;
  font-family: 'Bricolage Grotesque', sans-serif; font-weight: 800; font-size: 22px;
  margin-bottom: 32px; position: relative; z-index: 2;
}
.rs-step h4 { font-family: 'Manrope', sans-serif; font-weight: 700; font-size: 24px; margin: 0 0 12px; letter-spacing: -0.01em; }
.rs-step h4 small { display: block; font-weight: 500; font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--rs-teal-bright); margin-bottom: 8px; }
.rs-step p { color: var(--rs-muted-on-dark); font-size: 15px; line-height: 1.55; margin: 0; }
@media (max-width: 900px) { .rs-process { grid-template-columns: 1fr; gap: 48px; } .rs-process::before { display: none; } .rs-step + .rs-step { border-left: 0; } .rs-step { padding: 0; } }

/* ----- Pricing ----- */
.rs-prices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 80px; }
@media (max-width: 1000px) { .rs-prices { grid-template-columns: 1fr; } }
.rs-price-card {
  background: #fff; border: 1px solid var(--rs-line-light); border-radius: 20px;
  padding: 48px 40px; position: relative; display: flex; flex-direction: column;
  transition: transform .35s var(--rs-ease), box-shadow .35s var(--rs-ease);
}
.rs-price-card:hover { transform: translateY(-6px); box-shadow: 0 30px 60px -20px rgba(0,0,0,0.18); }
.rs-price-card.featured { border-color: var(--rs-teal); box-shadow: 0 0 0 1px var(--rs-teal), 0 30px 60px -20px rgba(15,117,121,0.25); }
.rs-price-card .ribbon { position: absolute; top: -14px; right: 28px; background: var(--rs-teal); color: #fff; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 700; padding: 8px 14px; border-radius: 999px; }
.rs-price-card h4 { font-family: 'Manrope', sans-serif; font-weight: 700; font-size: 22px; margin: 0 0 8px; }
.rs-price-card .target { font-size: 13px; color: var(--rs-muted-on-light); margin: 0 0 32px; }
.rs-price-card .price { font-family: 'Bricolage Grotesque', sans-serif; font-weight: 800; font-size: 56px; line-height: 1; letter-spacing: -0.035em; color: var(--rs-dark); }
.rs-price-card.featured .price { color: var(--rs-teal); }
.rs-price-card .price small { font-family: 'Manrope', sans-serif; font-weight: 500; font-size: 14px; color: var(--rs-muted-on-light); margin-left: 6px; letter-spacing: 0; }
.rs-price-card .price-note { font-size: 13px; color: var(--rs-muted-on-light); margin: 6px 0 36px; }
.rs-price-card ul { list-style: none; padding: 0; margin: 0 0 36px; flex: 1; }
.rs-price-card li { font-size: 15px; line-height: 1.5; padding: 12px 0; border-top: 1px solid var(--rs-line-light); display: flex; gap: 12px; align-items: flex-start; }
.rs-price-card li:first-child { border-top: 0; }
.rs-price-card li::before {
  content: ""; width: 16px; height: 16px; flex: 0 0 auto; margin-top: 4px;
  background: var(--rs-teal);
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/></svg>") no-repeat center / contain;
}

/* ----- Versus ----- */
.rs-versus { background: var(--rs-dark-3); }
.rs-versus-header { padding: clamp(96px, 10vw, 140px) clamp(24px, 5vw, 96px) 60px; text-align: center; color: var(--rs-light); }
.rs-versus-header .rs-h2 { margin-left: auto; margin-right: auto; }
.rs-versus-header p { margin: 28px auto 0; max-width: 62ch; }
.rs-split { display: grid; grid-template-columns: 1fr 1fr; min-height: 720px; }
@media (max-width: 900px) { .rs-split { grid-template-columns: 1fr; min-height: auto; } }
.rs-panel { padding: 80px clamp(32px, 5vw, 80px); position: relative; overflow: hidden; }
.rs-panel-ai { background: linear-gradient(135deg, #0a4a4d 0%, #0F7579 60%, #14a0a6 100%); color: #fff; }
.rs-panel-human { background: #f0e6d8; color: #2a1f15; }
.rs-panel h3 { font-family: 'Bricolage Grotesque', sans-serif; font-weight: 800; letter-spacing: -0.035em; font-size: clamp(40px, 5vw, 80px); line-height: 0.95; margin: 0 0 24px; }
.rs-panel-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 40px; }
.rs-panel-stat { padding: 20px; border-radius: 14px; }
.rs-panel-ai .rs-panel-stat { background: rgba(0,0,0,0.22); }
.rs-panel-human .rs-panel-stat { background: rgba(42,31,21,0.08); }
.rs-panel-stat .k { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 600; opacity: 0.7; margin-bottom: 8px; }
.rs-panel-stat .v { font-family: 'Bricolage Grotesque', sans-serif; font-weight: 800; font-size: 28px; line-height: 1; }
.rs-panel-stat .v small { font-family: 'Manrope', sans-serif; font-weight: 600; font-size: 13px; margin-left: 4px; opacity: 0.7; }
.rs-panel-list { list-style: none; padding: 0; margin: 0 0 32px; }
.rs-panel-list li { padding: 10px 0; font-size: 15px; line-height: 1.4; border-top: 1px solid rgba(255,255,255,0.12); display: flex; gap: 12px; }
.rs-panel-human .rs-panel-list li { border-color: rgba(42,31,21,0.15); }
.rs-panel-list li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; margin-top: 9px; flex: 0 0 auto; }
.rs-panel-ai .rs-panel-list li::before { background: #fff; }
.rs-panel-human .rs-panel-list li::before { background: #5a3a1f; }

/* ----- Cases ----- */
.rs-cases { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 80px; }
@media (max-width: 800px) { .rs-cases { grid-template-columns: 1fr; } }
.rs-case-tile { background: var(--rs-dark-2); border: 1px solid var(--rs-line-dark); border-radius: 20px; padding: 48px 44px; min-height: 280px; display: flex; flex-direction: column; justify-content: space-between; transition: border-color .35s var(--rs-ease), transform .35s var(--rs-ease); }
.rs-case-tile:hover { border-color: var(--rs-teal); transform: translateY(-4px); }
.rs-case-tile .num { font-family: 'Bricolage Grotesque', sans-serif; font-weight: 800; font-size: 16px; color: var(--rs-teal-bright); margin-bottom: 32px; letter-spacing: 0.04em; }
.rs-case-tile h4 { font-family: 'Manrope', sans-serif; font-weight: 700; font-size: 26px; margin: 0 0 16px; letter-spacing: -0.01em; }
.rs-case-tile p { color: var(--rs-muted-on-dark); font-size: 15px; line-height: 1.55; margin: 0; max-width: 42ch; font-style: italic; }

/* ----- Pilot ----- */
.rs-pilot { text-align: center; background: var(--rs-teal); color: #fff; position: relative; overflow: hidden; }
.rs-pilot::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 0%, rgba(255,255,255,0.18), transparent 55%); pointer-events: none; }
.rs-pilot .badge { font-size: 11px; letter-spacing: 0.28em; text-transform: uppercase; font-weight: 700; background: rgba(255,255,255,0.18); padding: 10px 18px; border-radius: 999px; display: inline-block; margin-bottom: 32px; }
.rs-pilot h2 { font-family: 'Bricolage Grotesque', sans-serif; font-weight: 800; letter-spacing: -0.035em; font-size: clamp(48px, 8vw, 140px); line-height: 0.95; margin: 0 auto 24px; max-width: 16ch; }
.rs-pilot p { font-size: clamp(17px, 1.4vw, 21px); line-height: 1.5; max-width: 58ch; margin: 0 auto 48px; opacity: 0.92; }

/* ----- Contact form ----- */
.rs-contact { padding: 160px clamp(24px, 5vw, 96px) 120px; background: var(--rs-dark); color: var(--rs-light); position: relative; overflow: hidden; }
.rs-contact::before { content: ""; position: absolute; top:-20%; right:-15%; width: 80vw; height: 80vw; background: radial-gradient(closest-side, rgba(15,117,121,0.22), transparent 70%); pointer-events: none; }
.rs-contact-grid { position: relative; z-index: 2; max-width: 1320px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.2fr; gap: 80px; align-items: start; }
@media (max-width: 1000px) { .rs-contact-grid { grid-template-columns: 1fr; gap: 60px; } }
.rs-contact h1 { font-family: 'Bricolage Grotesque', sans-serif; font-weight: 600; letter-spacing: -0.015em; font-size: clamp(48px, 6vw, 96px); line-height: 1.02; margin: 24px 0 32px; max-width: 14ch; }
.rs-contact h1 .accent { color: var(--rs-teal-bright); }
.rs-contact p { font-size: clamp(17px, 1.3vw, 20px); line-height: 1.55; color: var(--rs-muted-on-dark); max-width: 44ch; margin: 0 0 40px; }
.rs-form-wrap { background: var(--rs-dark-2); border: 1px solid var(--rs-line-dark); border-radius: 24px; padding: 48px clamp(28px, 4vw, 56px); }

/* ----- FAQ ----- */
.rs-faq { background: var(--rs-dark-2); padding: 100px clamp(24px, 5vw, 96px); color: var(--rs-light); border-top: 1px solid var(--rs-line-dark); }
.rs-faq .rs-wrap { max-width: 1080px; }
.rs-faq h2 { font-family: 'Bricolage Grotesque', sans-serif; font-weight: 600; letter-spacing: -0.015em; font-size: clamp(36px, 4vw, 60px); line-height: 1.05; margin: 24px 0 48px; max-width: 18ch; }
.rs-faq-item { border-top: 1px solid var(--rs-line-dark); padding: 24px 0; }
.rs-faq-item:last-child { border-bottom: 1px solid var(--rs-line-dark); }
.rs-faq-q { display: flex; justify-content: space-between; gap: 24px; cursor: pointer; font-size: 19px; font-weight: 600; }
.rs-faq-q .toggle { width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--rs-line-dark); display: flex; align-items: center; justify-content: center; transition: transform .35s var(--rs-ease); color: var(--rs-teal-bright); flex: 0 0 auto; }
.rs-faq-item.open .toggle { transform: rotate(45deg); border-color: var(--rs-teal-bright); }
.rs-faq-a { max-height: 0; overflow: hidden; color: var(--rs-muted-on-dark); font-size: 15px; line-height: 1.6; transition: max-height .4s var(--rs-ease), padding .4s var(--rs-ease); }
.rs-faq-item.open .rs-faq-a { max-height: 400px; padding-top: 14px; }

/* ----- Footer ----- */
.rs-footer { background: var(--rs-dark-3); color: var(--rs-muted-on-dark); padding: 80px clamp(24px, 5vw, 96px) 40px; border-top: 1px solid var(--rs-line-dark); }
.rs-footer-top { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 48px; padding-bottom: 60px; border-bottom: 1px solid var(--rs-line-dark); }
@media (max-width: 800px) { .rs-footer-top { grid-template-columns: 1fr 1fr; } }
.rs-footer img.logo { height: 32px; margin-bottom: 20px; }
.rs-footer h5 { font-family: 'Manrope', sans-serif; font-weight: 700; font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; color: #fff; margin: 0 0 18px; }
.rs-footer ul { list-style: none; padding: 0; margin: 0; }
.rs-footer li { font-size: 14px; margin: 0 0 10px; }
.rs-footer a { color: inherit; text-decoration: none; }
.rs-footer a:hover { color: var(--rs-teal-bright); }
.rs-footer-bottom { display: flex; justify-content: space-between; padding-top: 32px; font-size: 12px; letter-spacing: 0.1em; color: rgba(255,255,255,0.4); flex-wrap: wrap; gap: 12px; }

/* ----- Contact form 7 / WPForms unification ----- */
.rs-form-wrap input[type="text"],
.rs-form-wrap input[type="email"],
.rs-form-wrap input[type="tel"],
.rs-form-wrap input[type="url"],
.rs-form-wrap select,
.rs-form-wrap textarea {
  font-family: 'Manrope', sans-serif !important;
  font-size: 16px !important;
  color: #fff !important;
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid var(--rs-line-dark) !important;
  border-radius: 12px !important;
  padding: 16px 18px !important;
  width: 100% !important;
  outline: none !important;
  transition: border-color .3s var(--rs-ease), box-shadow .3s var(--rs-ease) !important;
}
.rs-form-wrap textarea { min-height: 140px; resize: vertical; line-height: 1.5; }
.rs-form-wrap input:focus,
.rs-form-wrap select:focus,
.rs-form-wrap textarea:focus { border-color: var(--rs-teal-bright) !important; box-shadow: 0 0 0 4px rgba(20,160,166,0.12) !important; }
.rs-form-wrap label { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 600; color: rgba(255,255,255,0.55); display: block; margin-bottom: 10px; }
.rs-form-wrap input[type="submit"],
.rs-form-wrap button[type="submit"] {
  background: var(--rs-teal) !important;
  color: #fff !important;
  border: 0 !important;
  padding: 16px 28px !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  cursor: pointer;
  transition: background .3s var(--rs-ease), transform .3s var(--rs-ease) !important;
}
.rs-form-wrap input[type="submit"]:hover,
.rs-form-wrap button[type="submit"]:hover { background: var(--rs-teal-bright) !important; transform: translateY(-2px); }
