/* ============================================================
   Landing Page — Cadeira de Rodas
   Components + Layout
   ============================================================ */

/* ---- HEADER ---- */
.header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line);
  padding: var(--space-3) 0;
}
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); }
.logo-link { display: flex; align-items: center; text-decoration: none; }
.logo-link img { height: 72px; display: block; }
@media (max-width: 640px) { .logo-link img { height: 56px; } }
.header-cta {
  background: var(--vital-green);
  color: #fff;
  padding: 10px 20px;
  border-radius: var(--radius-pill);
  text-decoration: none;
  font-family: var(--font-display);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-sm);
  display: inline-flex; align-items: center; gap: var(--space-2);
  box-shadow: 0 2px 6px rgba(90,203,61,0.25);
  transition: all var(--duration-base) var(--ease-out);
}
.header-cta:hover { background: var(--green-500); transform: translateY(-1px); box-shadow: var(--shadow-md); }
.header-cta .icon { font-size: 16px; }
.header-cta .label { color: inherit; font: inherit; letter-spacing: 0; }
@media (max-width: 600px) { .header-cta .label { display: none; } }

/* ---- HERO ---- */
.hero {
  position: relative;
  padding: var(--space-20) 0 calc(var(--space-24) + 16px);
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  background: linear-gradient(135deg, var(--blue-800) 0%, var(--vital-blue) 100%);
}
.hero-inner {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: var(--space-16);
  align-items: center;
  position: relative;
  z-index: 1;
}
@media (max-width: 900px) {
  .hero-inner { grid-template-columns: 1fr; gap: var(--space-10); }
  .hero { padding: var(--space-12) 0 var(--space-16); }
}

.hero-badge {
  display: inline-flex; align-items: center; gap: var(--space-2);
  padding: 6px 14px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.22);
  border-radius: var(--radius-pill);
  font-family: var(--font-display);
  font-size: var(--fs-xs);
  font-weight: var(--fw-semibold);
  color: #fff;
  letter-spacing: 0.02em;
  margin-bottom: var(--space-5);
  backdrop-filter: blur(6px);
}
.hero-badge .icon { color: var(--mint); font-size: 14px; }
.hero h1 { font-size: clamp(32px, 4.5vw, 52px); margin-bottom: var(--space-5); color: #fff; }
.hero h1 .accent { color: var(--mint); }
.hero-sub {
  font-family: var(--font-body);
  font-size: var(--fs-lg);
  color: rgba(255,255,255,0.92);
  margin-bottom: var(--space-8);
  max-width: 540px;
  line-height: var(--lh-relaxed);
}
.hero-features {
  display: flex; flex-wrap: wrap;
  gap: var(--space-3) var(--space-6);
  margin-bottom: var(--space-8);
}
.hero-feature {
  display: inline-flex; align-items: center; gap: var(--space-2);
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  color: #fff;
}
.check-circle {
  width: 22px; height: 22px;
  background: rgba(90,203,61,0.25);
  color: #fff;
  border: 1px solid rgba(90,203,61,0.5);
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.check-circle .icon { font-size: 14px; }

/* ---- Buttons ---- */
.cta-primary {
  display: inline-flex; align-items: center; gap: var(--space-2);
  background: var(--vital-green);
  color: #fff;
  padding: 16px 28px;
  border-radius: var(--radius-pill);
  font-family: var(--font-display);
  font-size: var(--fs-md);
  font-weight: var(--fw-semibold);
  text-decoration: none;
  box-shadow: 0 4px 16px rgba(90,203,61,0.28);
  transition: all var(--duration-base) var(--ease-out);
  border: none; cursor: pointer;
}
.cta-primary:hover {
  background: var(--green-500);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(90,203,61,0.34);
}
.cta-primary:active { transform: translateY(0); box-shadow: var(--shadow-sm); }
.cta-primary .icon { font-size: 18px; }

.cta-outline {
  display: inline-flex; align-items: center; gap: var(--space-2);
  padding: 16px 28px;
  border-radius: var(--radius-pill);
  font-family: var(--font-display);
  font-weight: var(--fw-semibold);
  text-decoration: none;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line-strong);
  margin-left: var(--space-3);
  transition: all var(--duration-base) var(--ease-out);
}
.cta-outline:hover { border-color: var(--vital-blue); color: var(--vital-blue); }

.hero-rating {
  margin-top: var(--space-6);
  display: flex; align-items: center; gap: var(--space-3);
  font-size: var(--fs-sm);
  color: rgba(255,255,255,0.88);
}
.hero-rating strong { color: #fff; }
.stars {
  color: #F4B942; font-size: 18px; letter-spacing: 2px;
  display: inline-flex; gap: 2px;
}
.stars .icon { color: #F4B942; fill: #F4B942; font-size: 16px; }
.stars svg { fill: currentColor; }

/* ---- Hero form (right column) ---- */
.hero-form {
  background: #fff;
  color: var(--ink);
  padding: var(--space-6) var(--space-6) var(--space-5);
  border-radius: var(--radius-xl);
  box-shadow: 0 24px 64px rgba(0,0,0,0.28);
  border: 1px solid rgba(255,255,255,0.4);
  display: grid; gap: var(--space-4);
  position: relative;
}
@media (max-width: 600px) { .hero-form { padding: var(--space-5); } }
.hero-form-title {
  font-family: var(--font-display);
  font-size: var(--fs-xl);
  font-weight: var(--fw-bold);
  color: var(--ink);
  letter-spacing: var(--tracking-tight);
  margin: 0;
}
.hero-form-sub {
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  color: var(--ink-2);
  margin: -8px 0 var(--space-2);
}
.hero-form .form-row { display: grid; gap: 6px; }
.hero-form label {
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: var(--fw-semibold);
  color: var(--ink);
}
.hero-form input,
.hero-form select {
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  color: var(--fg);
  padding: 11px 14px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  outline: none;
  width: 100%;
  transition: border-color var(--duration-base) var(--ease-out),
              box-shadow var(--duration-base) var(--ease-out);
}
.hero-form input::placeholder { color: var(--fg-3); }
.hero-form input:hover, .hero-form select:hover { border-color: var(--line-strong); }
.hero-form input:focus, .hero-form select:focus {
  border-color: var(--vital-blue);
  box-shadow: var(--shadow-focus);
}
.hero-form-submit {
  appearance: none; border: none;
  background: var(--vital-green);
  color: #fff;
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  font-size: var(--fs-md);
  padding: 14px 22px;
  border-radius: var(--radius-pill);
  cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  box-shadow: 0 6px 18px rgba(90, 203, 61, 0.32);
  transition: background var(--duration-base) var(--ease-out),
              transform var(--duration-base) var(--ease-out),
              box-shadow var(--duration-base) var(--ease-out);
  margin-top: var(--space-2);
  width: 100%;
}
.hero-form-submit:hover {
  background: var(--green-600);
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(90, 203, 61, 0.4);
}
.hero-form-or {
  text-align: center;
  font-family: var(--font-body);
  font-size: var(--fs-xs);
  color: var(--graphite);
  position: relative;
  margin: var(--space-1) 0;
}
.hero-form-or::before, .hero-form-or::after {
  content: '';
  position: absolute; top: 50%;
  width: 35%; height: 1px;
  background: var(--line);
}
.hero-form-or::before { left: 0; }
.hero-form-or::after { right: 0; }
.hero-form-wa {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%;
  background: #fff;
  color: var(--green-700);
  border: 1px solid var(--green-300);
  padding: 12px 18px;
  border-radius: var(--radius-pill);
  font-family: var(--font-display);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-sm);
  text-decoration: none;
  transition: all var(--duration-base) var(--ease-out);
}
.hero-form-wa:hover {
  background: var(--green-50);
  border-color: var(--vital-green);
  color: var(--green-800);
}
.hero-form-wa .icon { color: var(--vital-green); font-size: 16px; }
.hero-form-privacy {
  font-family: var(--font-body);
  font-size: 11px;
  color: var(--graphite);
  text-align: center;
  margin: 0;
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
}
.hero-form-privacy .icon { font-size: 12px; color: var(--graphite); }

/* ---- (LEGACY) Hero card — kept for compatibility ---- */
.hero-card {
  display: block;
  background: #fff;
  color: var(--ink);
  text-decoration: none;
  cursor: pointer;
  padding: var(--space-6);
  border-radius: var(--radius-xl);
  box-shadow: 0 24px 64px rgba(0,0,0,0.28);
  border: 1px solid rgba(255,255,255,0.4);
  transition: transform var(--duration-base) var(--ease-out),
              box-shadow var(--duration-base) var(--ease-out);
}
.hero-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 28px 72px rgba(0,0,0,0.32);
}
.hero-card-img {
  width: 100%;
  aspect-ratio: 4/3;
  background: linear-gradient(180deg, #F4F7FA 0%, #E1E8EE 100%);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-5);
  display: flex; align-items: center; justify-content: center;
  position: relative; overflow: hidden;
}
.hero-card-img .icon {
  font-size: 110px;
  color: rgba(58,155,199,0.55);
}
.hero-card-img .icon svg { stroke-width: 1.1; }
.hero-card-img::after {
  content: '';
  position: absolute;
  bottom: 14%; left: 20%; right: 20%;
  height: 10px;
  background: radial-gradient(ellipse at center, rgba(31,42,51,0.18), transparent 70%);
  filter: blur(3px);
}
.hero-card-img.has-photo { background: #fff; }
.hero-card-img.has-photo::after { display: none; }
.hero-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

.hero-card-header {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: var(--space-3);
}
.hero-card-title {
  font-family: var(--font-display);
  font-size: var(--fs-xl);
  font-weight: var(--fw-bold);
  margin-bottom: var(--space-4);
  color: var(--ink);
}
.hero-card-meta {
  display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3);
}
.hero-card-price-label {
  font-family: var(--font-body);
  font-size: var(--fs-xs);
  color: var(--graphite);
  text-transform: uppercase;
  letter-spacing: var(--tracking-caps);
  margin-bottom: 4px;
}
.hero-card-value {
  font-family: var(--font-display);
  font-size: var(--fs-3xl);
  font-weight: var(--fw-bold);
  color: var(--vital-blue);
  line-height: 1;
}
.hero-card-badge {
  background: var(--green-50);
  color: var(--green-700);
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  display: inline-flex; align-items: center; gap: 6px;
}
.hero-card-badge::before {
  content: ''; width: 6px; height: 6px; border-radius: 50%;
  background: var(--vital-green);
}

/* ---- Hero certs (row below the hero grid) ---- */
.hero-certs {
  margin-top: var(--space-10);
  padding-top: var(--space-8);
  border-top: 1px solid rgba(255,255,255,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-12);
  color: #fff;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}
.hero-cert {
  display: flex; align-items: center; gap: 16px;
  flex: 0 1 auto; min-width: 0;
}
.hero-cert-logo {
  height: 73px;
  width: auto;
  display: block;
  flex-shrink: 0;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.18));
}
.hero-cert-check-icon {
  width: 73px; height: 73px;
  border-radius: 50%;
  border: 2px solid #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 36px;
  color: #fff;
  position: relative;
  flex-shrink: 0;
}
.hero-cert-check-icon::before {
  content: ''; position: absolute; inset: 4px;
  border-radius: 50%;
  border: 1px dashed rgba(255,255,255,0.55);
}
.hero-cert-check-icon svg { stroke-width: 2.6; }
.hero-cert-text {
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: var(--fw-semibold);
  color: #fff;
  line-height: 1.15;
  white-space: nowrap;
}
.hero-cert-text strong {
  display: block;
  color: var(--mint);
  font-weight: var(--fw-bold);
  font-size: 18px;
}
@media (max-width: 900px) {
  .hero-certs { gap: var(--space-6); margin-top: var(--space-8); padding-top: var(--space-6); }
}

/* ---- Sections base ---- */
section { padding: var(--space-20) 0; }

/* ---- URGENCY BANNER ---- */
.urgency-banner {
  background: linear-gradient(135deg, #1E2F3D 0%, #2A4456 100%);
  border: none;
  padding: var(--space-5) 0;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.urgency-banner::before {
  content: ''; position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 600px 240px at 0% 50%, rgba(255,255,255,0.06), transparent 60%),
    radial-gradient(ellipse 800px 300px at 100% 100%, rgba(0,0,0,0.25), transparent 70%);
  pointer-events: none;
}
.urgency-inner {
  display: flex; align-items: center; justify-content: center;
  gap: var(--space-5);
  flex-wrap: wrap;
  text-align: left;
  position: relative; z-index: 1;
}
.urgency-icon {
  width: 56px; height: 56px;
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff;
  flex-shrink: 0;
  position: relative;
}
.urgency-icon::before, .urgency-icon::after {
  content: ''; position: absolute; inset: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
  animation: urgencyPulse 1.8s var(--ease-out) infinite;
  pointer-events: none;
}
.urgency-icon::after { animation-delay: 0.9s; }
@keyframes urgencyPulse {
  0%   { transform: scale(0.55); opacity: 0.55; }
  100% { transform: scale(1.7);  opacity: 0; }
}
.urgency-cross {
  position: relative; z-index: 1;
  width: 38px; height: 38px;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.25));
}
.urgency-text { max-width: 500px; }
.urgency-text strong {
  font-family: var(--font-display);
  color: #fff;
  font-size: var(--fs-lg);
  font-weight: var(--fw-bold);
  display: block;
  line-height: 1.25;
  letter-spacing: var(--tracking-tight);
}
.urgency-text small {
  font-family: var(--font-body);
  color: rgba(255,255,255,0.88);
  font-size: var(--fs-sm);
  display: block;
  margin-top: 4px;
}
.urgency-banner .cta-primary {
  padding: 13px 24px;
  font-size: var(--fs-sm);
}
.urgency-banner .cta-primary .icon { color: #fff; }
@media (prefers-reduced-motion: reduce) {
  .urgency-icon::before, .urgency-icon::after { animation: none; opacity: 0; }
}

/* ---- PRODUCT GRID (4 cards for wheelchair) ---- */
.beds-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-6);
}
@media (max-width: 1100px) { .beds-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .beds-grid { grid-template-columns: 1fr; } }

.bed-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: transform var(--duration-base) var(--ease-out),
              box-shadow var(--duration-base) var(--ease-out);
  position: relative;
  display: flex; flex-direction: column;
  box-shadow: var(--shadow-sm);
  text-decoration: none;
  color: inherit;
  cursor: pointer;

  --glow-base: 200;
  --glow-spread: -70;
  --glow-size: 260;
  --glow-border: 1.5;
  --border-size: calc(var(--glow-border) * 1px);
  --spotlight-size: calc(var(--glow-size) * 1px);
  --hue: calc(var(--glow-base) + (var(--xp, 0.5) * var(--glow-spread)));
}
.bed-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }

.bed-card::before, .bed-card::after {
  pointer-events: none;
  content: "";
  position: absolute; inset: 0;
  border-radius: inherit;
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  opacity: 0;
  transition: opacity var(--duration-base) var(--ease-out);
  z-index: 2;
}
.bed-card::before {
  background-image: radial-gradient(
    calc(var(--spotlight-size) * 0.9) calc(var(--spotlight-size) * 0.9) at
    calc(var(--x, 0) * 1px) calc(var(--y, 0) * 1px),
    hsl(var(--hue) 70% 55% / 0.9), transparent 70%
  );
  padding: var(--border-size);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}
.bed-card::after {
  background-image: radial-gradient(
    calc(var(--spotlight-size) * 0.45) calc(var(--spotlight-size) * 0.45) at
    calc(var(--x, 0) * 1px) calc(var(--y, 0) * 1px),
    hsl(0 0% 100% / 0.7), transparent 100%
  );
  padding: var(--border-size);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}
.beds-grid.is-hovered .bed-card::before { opacity: 1; }
.beds-grid.is-hovered .bed-card::after  { opacity: 1; }
.bed-card > * { position: relative; z-index: 1; }
.bed-card .bed-card-badge { z-index: 3; }

.bed-card-img {
  aspect-ratio: 4/3;
  background: linear-gradient(180deg, #F4F7FA 0%, #E1E8EE 100%);
  display: flex; align-items: center; justify-content: center;
  position: relative; overflow: hidden;
}
.bed-card-img .icon {
  font-size: 90px;
  color: rgba(58,155,199,0.55);
}
.bed-card-img .icon svg { stroke-width: 1.1; }
.bed-card-img::after {
  content: '';
  position: absolute;
  bottom: 12%; left: 22%; right: 22%;
  height: 8px;
  background: radial-gradient(ellipse at center, rgba(31,42,51,0.16), transparent 70%);
  filter: blur(3px);
}
.bed-card-img.has-photo { background: #F4F7FA; }
.bed-card-img.has-photo::after { display: none; }
.bed-card-img.has-photo img { width: 100%; height: 100%; object-fit: cover; }

.bed-card-badge {
  position: absolute; top: 16px; right: 16px;
  background: var(--vital-green);
  color: #fff;
  padding: 5px 12px;
  border-radius: var(--radius-pill);
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  z-index: 1;
  box-shadow: var(--shadow-sm);
}

.bed-card-content { padding: var(--space-6); display: flex; flex-direction: column; flex: 1; }
.bed-card h3 {
  font-family: var(--font-display);
  font-size: var(--fs-lg);
  font-weight: var(--fw-bold);
  margin-bottom: var(--space-2);
  color: var(--ink);
  letter-spacing: var(--tracking-tight);
}
.bed-card-desc {
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  color: var(--ink-2);
  margin-bottom: var(--space-5);
  min-height: 50px;
  line-height: var(--lh-relaxed);
}
.bed-card-features { list-style: none; margin-bottom: var(--space-5); display: flex; flex-direction: column; gap: var(--space-2); }
.bed-card-features li {
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  color: var(--ink);
  display: flex; align-items: center; gap: var(--space-2);
}
.bed-card-features li .icon { color: var(--vital-green); font-size: 16px; }

.bed-card-indicado {
  background: var(--blue-50);
  color: var(--blue-700);
  padding: 12px 14px;
  border-radius: var(--radius-sm);
  font-size: var(--fs-xs);
  margin-bottom: var(--space-5);
  font-family: var(--font-body);
  line-height: var(--lh-relaxed);
}
.bed-card-indicado strong {
  display: block; margin-bottom: 4px;
  color: var(--blue-800);
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--tracking-caps);
}

.bed-cta {
  margin-top: auto;
  background: var(--vital-green);
  color: #fff;
  padding: 12px;
  border-radius: var(--radius-pill);
  font-family: var(--font-display);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-sm);
  text-decoration: none;
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  transition: all var(--duration-base) var(--ease-out);
  box-shadow: 0 2px 6px rgba(90,203,61,0.22);
}
.bed-cta:hover { background: var(--green-500); transform: translateY(-1px); box-shadow: var(--shadow-md); }
.bed-cta .icon { font-size: 16px; }

/* ---- EMPATIA SECTION ---- */
.empatia-section { background: var(--bg-muted); }
.empatia-inner {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 68px;
  align-items: center;
}
@media (max-width: 900px) {
  .empatia-inner { grid-template-columns: 1fr; gap: var(--space-8); }
  .empatia-img.has-stack {
    margin: 0 auto var(--space-12);
    max-width: 420px;
    width: 100%;
  }
}
.empatia-img {
  aspect-ratio: 1/1;
  background: linear-gradient(180deg, #F4F7FA 0%, #DCE6EE 100%);
  border-radius: var(--radius-xl);
  display: flex; align-items: center; justify-content: center;
  color: rgba(58,155,199,0.55);
  position: relative; overflow: hidden;
  box-shadow: var(--shadow-md);
}
.empatia-img .icon { font-size: 110px; }
.empatia-img .icon svg { stroke-width: 1.1; }
.empatia-img::after {
  content: '';
  position: absolute;
  bottom: 6%; left: 15%; right: 15%;
  height: 14px;
  background: radial-gradient(ellipse at center, rgba(31,42,51,0.18), transparent 70%);
  filter: blur(4px);
}
.empatia-content .eyebrow { color: var(--vital-green); }
.empatia-content h2 {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.2vw, 38px);
  color: var(--ink);
  margin-bottom: var(--space-5);
  line-height: var(--lh-snug);
  letter-spacing: var(--tracking-tight);
}
.empatia-content h2 .accent { color: var(--vital-blue); }
.empatia-content p {
  font-family: var(--font-body);
  font-size: var(--fs-md);
  color: var(--ink-2);
  margin-bottom: var(--space-4);
  line-height: var(--lh-relaxed);
}
.empatia-content p.destaque {
  font-family: var(--font-display);
  font-size: var(--fs-lg);
  font-style: normal;
  font-weight: var(--fw-semibold);
  color: var(--ink);
  padding: var(--space-5) 0 var(--space-5) var(--space-6);
  border-left: 3px solid var(--vital-green);
  margin-top: var(--space-4);
}
.empatia-quote-author {
  display: block;
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  color: var(--graphite);
  font-weight: var(--fw-regular);
  margin-top: var(--space-2);
}

.empatia-img.has-photo {
  background: #000;
  color: transparent;
}
.empatia-img.has-photo::after { display: none; }
.empatia-img.has-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ---- EMPATIA — stacked photos ---- */
.empatia-img.has-stack {
  background: transparent;
  box-shadow: none;
  overflow: visible;
  display: block;
  position: relative;
}
.empatia-img.has-stack::after { display: none; }
.empatia-img.has-stack .icon { display: none; }
.photo-card {
  position: absolute;
  inset: 0;
  background: #fff;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(20, 40, 58, 0.22);
  border: 1px solid rgba(255,255,255,0.5);
  transform-origin: center;
  animation: photoStack 15s var(--ease-out) infinite;
  will-change: transform;
}
.photo-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.photo-card-1 img { /* foto 1 — sala de estar (cadeira de rodas) */ }
.photo-card-2 img { /* foto 2 — banheiro (cadeira de banho) */ }
.photo-card-3 img { /* foto 3 — quarto (cadeira de transferência) */ }

.photo-card-1 { animation-delay: 0s; }
.photo-card-2 { animation-delay: -5s; }
.photo-card-3 { animation-delay: -10s; }

@keyframes photoStack {
  /* Frente */
  0%,  28%  { transform: rotate(-2deg) translate(0, 0); z-index: 3; }
  /* Transição frente → meio */
  33%, 61%  { transform: rotate(3.5deg) translate(14px, 8px); z-index: 2; }
  /* Transição meio → fundo */
  66%, 94%  { transform: rotate(-7deg) translate(-18px, 14px); z-index: 1; }
  /* Volta para a frente */
  100%      { transform: rotate(-2deg) translate(0, 0); z-index: 3; }
}

@media (prefers-reduced-motion: reduce) {
  .photo-card { animation: none; }
  .photo-card-1 { transform: rotate(-2deg); z-index: 3; }
  .photo-card-2 { transform: rotate(3.5deg) translate(14px, 8px); z-index: 2; }
  .photo-card-3 { transform: rotate(-7deg) translate(-18px, 14px); z-index: 1; }
}

/* ---- HOW SECTION (process) ---- */
.how-section { background: var(--bg-muted); }
.process-section {
  background: linear-gradient(135deg, var(--blue-800) 0%, var(--vital-blue) 100%);
  position: relative;
  overflow: hidden;
}
.process-section > .container { position: relative; z-index: 1; }
.process-section .eyebrow { color: #fff; }
.process-section .section-title { color: #fff; }
.process-section .section-title .accent { color: var(--mint); }
.process-section .section-sub { color: rgba(255,255,255,0.92); margin: 0 0 35px; }
.process-section .steps-wave path { stroke: rgba(255,255,255,0.55); }
.process-section .step-watermark { color: var(--vital-green); }

.steps-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-8);
  position: relative;
}
@media (max-width: 900px) { .steps-grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-6); } }
@media (max-width: 500px) { .steps-grid { grid-template-columns: 1fr; } }

.steps-wave {
  position: absolute;
  top: 32px; left: 0; right: 0;
  width: 100%; height: 80px;
  pointer-events: none;
  z-index: 0;
  overflow: visible;
}
.steps-wave path {
  fill: none;
  stroke: var(--vital-blue);
  stroke-width: 2;
  stroke-dasharray: 6 7;
  stroke-linecap: round;
  opacity: 0.65;
  animation: stepsWaveFlow 8s linear infinite;
}
@keyframes stepsWaveFlow { to { stroke-dashoffset: -52; } }
@media (max-width: 900px) { .steps-wave { display: none; } }
@media (prefers-reduced-motion: reduce) { .steps-wave path { animation: none; } }

.step {
  background: #fff;
  padding: var(--space-6) var(--space-5) var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xs);
  position: relative;
  display: flex; flex-direction: column;
  isolation: isolate;
  transition: transform var(--duration-base) var(--ease-out),
              box-shadow var(--duration-base) var(--ease-out),
              border-color var(--duration-base) var(--ease-out);
}
.step:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-color: var(--blue-200);
}
.step-watermark {
  position: absolute;
  top: -40px; left: -8px;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 150px;
  line-height: 1;
  letter-spacing: -0.06em;
  color: var(--green-200);
  pointer-events: none; user-select: none;
  z-index: 0;
}
.step:nth-of-type(2) .step-watermark { left: -16px; }
.step > :not(.step-watermark) { position: relative; z-index: 1; }
.step-meta-row {
  margin-left: 88px;
  min-height: 46px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 10px;
}
.step-time {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 14px;
  background: var(--green-50);
  color: var(--green-700);
  border: 1px solid #C5E9B8;
  border-radius: var(--radius-pill);
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.25;
  min-width: 120px;
  max-width: 170px;
  text-align: center;
}
.step-time .icon { font-size: 12px; color: var(--green-600); flex-shrink: 0; }
.step h3 {
  font-family: var(--font-display);
  font-size: var(--fs-lg);
  font-weight: var(--fw-bold);
  color: var(--ink);
  margin: 25px 0 10px;
  letter-spacing: var(--tracking-tight);
}
.step p {
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  color: var(--ink-2);
  line-height: var(--lh-relaxed);
  margin: 0;
}

/* ---- DIFERENCIAIS ---- */
.diff-section { background: var(--bg-soft); }
.diff-section .section-title { margin: 0 0 25px; }
.diff-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
}
@media (max-width: 900px) { .diff-grid { grid-template-columns: 1fr; gap: var(--space-4); } }
.diff-intro {
  display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-5) var(--space-3) var(--space-5) 0;
}
.diff-intro .eyebrow { margin: 0; }
.diff-intro h2 {
  font-family: var(--font-display);
  font-size: clamp(26px, 2.8vw, 36px);
  font-weight: var(--fw-bold);
  letter-spacing: var(--tracking-tight);
  line-height: 1.15;
  color: var(--ink);
  margin: 0;
}
.diff-intro p {
  font-family: var(--font-body);
  font-size: var(--fs-md);
  color: var(--ink-2);
  line-height: var(--lh-relaxed);
  margin: 0;
}
.diff-intro-cta {
  display: inline-flex; align-items: center; gap: var(--space-2);
  background: var(--vital-green);
  color: #fff;
  padding: 11px 22px;
  border-radius: var(--radius-pill);
  font-family: var(--font-display);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-sm);
  text-decoration: none;
  margin-top: var(--space-2);
  box-shadow: 0 4px 14px rgba(90, 203, 61, 0.28);
  transition: all var(--duration-base) var(--ease-out);
}
.diff-intro-cta:hover {
  background: var(--green-500);
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(90, 203, 61, 0.36);
}
.diff-intro-cta .icon { font-size: 16px; }

.diff-item {
  display: flex; flex-direction: column; gap: var(--space-3);
  padding: var(--space-6);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  transition: transform var(--duration-base) var(--ease-out),
              box-shadow var(--duration-base) var(--ease-out),
              border-color var(--duration-base) var(--ease-out);
}
.diff-item::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #1E2F3D 0%, #2A4456 100%);
  opacity: 0;
  transition: opacity var(--duration-base) var(--ease-out);
  z-index: 0;
}
.diff-item > * { position: relative; z-index: 1; }
.diff-item:hover {
  transform: translateY(-6px) rotate(-1.5deg);
  box-shadow: 0 18px 36px rgba(20, 40, 58, 0.28);
  border-color: rgba(255, 255, 255, 0.08);
  z-index: 5;
}
.diff-item:hover::before { opacity: 1; }
.diff-item:hover h3 { color: #fff; }
.diff-item:hover p { color: rgba(255, 255, 255, 0.85); }
.diff-item:hover .diff-icon {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.22);
}
.diff-head { display: flex; align-items: center; gap: var(--space-3); }
.diff-icon {
  width: 38px; height: 38px;
  background: transparent;
  color: var(--vital-blue);
  border: 1px solid var(--blue-100);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: background var(--duration-base) var(--ease-out),
              color var(--duration-base) var(--ease-out),
              border-color var(--duration-base) var(--ease-out);
}
.diff-icon .icon { font-size: 18px; }
.diff-item h3 {
  font-family: var(--font-display);
  font-size: var(--fs-lg);
  font-weight: var(--fw-bold);
  color: var(--ink);
  margin: 0;
  letter-spacing: var(--tracking-tight);
  line-height: 1.25;
  transition: color var(--duration-base) var(--ease-out);
}
.diff-item p {
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  color: var(--ink-2);
  line-height: var(--lh-relaxed);
  margin: 0;
  flex: 1;
  transition: color var(--duration-base) var(--ease-out);
}
.diff-item.is-highlight {
  border-color: rgba(255, 255, 255, 0.08);
  color: #fff;
}
.diff-item.is-highlight::before { opacity: 1; }
.diff-item.is-highlight h3 { color: #fff; }
.diff-item.is-highlight p { color: rgba(255, 255, 255, 0.85); }
.diff-item.is-highlight .diff-icon {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.22);
}
.diff-item.is-highlight:hover {
  transform: translateY(-6px) rotate(-1.5deg);
  box-shadow: 0 18px 36px rgba(20, 40, 58, 0.32);
}
.diff-grid:has(.diff-item:not(.is-highlight):hover) .diff-item.is-highlight:not(:hover) {
  border-color: var(--line); color: var(--ink);
}
.diff-grid:has(.diff-item:not(.is-highlight):hover) .diff-item.is-highlight:not(:hover)::before { opacity: 0; }
.diff-grid:has(.diff-item:not(.is-highlight):hover) .diff-item.is-highlight:not(:hover) h3 { color: var(--ink); }
.diff-grid:has(.diff-item:not(.is-highlight):hover) .diff-item.is-highlight:not(:hover) p { color: var(--ink-2); }
.diff-grid:has(.diff-item:not(.is-highlight):hover) .diff-item.is-highlight:not(:hover) .diff-icon {
  background: transparent; color: var(--vital-blue); border-color: var(--blue-100);
}

/* ---- SOCIAL PROOF ---- */
.social-section { background: var(--blue-800); color: #fff; }
.social-section .eyebrow { color: var(--mint); }
.social-section .section-title { color: #fff; }
.social-section .section-sub { color: rgba(255,255,255,0.85); }
.testimonials {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-6);
}
@media (max-width: 900px) { .testimonials { grid-template-columns: 1fr; } }
.testimonial {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  padding: var(--space-6);
  border-radius: var(--radius-lg);
}
.testimonial-stars {
  color: #F4B942;
  font-size: 16px;
  letter-spacing: 2px;
  margin-bottom: var(--space-3);
  display: inline-flex;
  gap: 2px;
}
.testimonial-stars svg { fill: currentColor; }
.testimonial-quote {
  font-family: var(--font-body);
  font-size: var(--fs-md);
  color: rgba(255,255,255,0.95);
  margin-bottom: var(--space-4);
  line-height: var(--lh-relaxed);
}
.testimonial-author {
  display: flex; align-items: center; gap: var(--space-3);
  padding-top: var(--space-4);
  border-top: 1px solid rgba(255,255,255,0.12);
}
.testimonial-avatar {
  width: 44px; height: 44px;
  background: var(--vital-blue);
  color: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  font-size: var(--fs-sm);
  flex-shrink: 0;
}
.testimonial-name strong {
  display: block;
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  font-size: var(--fs-sm);
  color: #fff;
}
.testimonial-name small {
  font-family: var(--font-body);
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.7);
}
.google-badge-wrap { display: flex; justify-content: center; margin-top: var(--space-10); }
.google-badge {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  padding: var(--space-4) var(--space-6);
  border-radius: var(--radius-lg);
  display: inline-flex; align-items: center; gap: var(--space-4);
}
.google-badge-icon {
  width: 44px; height: 44px;
  background: rgba(244,185,66,0.15);
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: #F4B942;
}
.google-badge-icon .icon { font-size: 22px; }
.google-badge-icon svg { fill: currentColor; }
.google-badge strong {
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  font-size: var(--fs-lg);
  color: #fff;
}
.google-badge small {
  font-family: var(--font-body);
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.75);
  display: block;
}

/* ---- FAQ ---- */
.faq-list { max-width: 820px; margin: 0 auto; }
.faq-item {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-3);
  overflow: hidden;
  background: #fff;
  transition: all var(--duration-base) var(--ease-out);
}
.faq-item:hover { border-color: var(--line-strong); }
.faq-item.open { border-color: var(--blue-200); box-shadow: var(--shadow-sm); }
.faq-q {
  width: 100%;
  padding: var(--space-5) var(--space-6);
  background: none; border: none; text-align: left;
  font-family: var(--font-display);
  font-size: var(--fs-md);
  font-weight: var(--fw-bold);
  color: var(--ink);
  cursor: pointer;
  display: flex; justify-content: space-between; align-items: center;
  gap: var(--space-4);
}
.faq-q-icon {
  width: 28px; height: 28px;
  background: var(--vital-green);
  color: #fff;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: transform var(--duration-base) var(--ease-out),
              background var(--duration-base) var(--ease-out);
}
.faq-q-icon .icon { font-size: 16px; }
.faq-item.open .faq-q-icon { background: var(--green-500); color: #fff; transform: rotate(45deg); }
.faq-a {
  padding: 0 var(--space-6);
  max-height: 0; overflow: hidden;
  transition: all var(--duration-base) var(--ease-out);
  font-family: var(--font-body);
  color: var(--ink-2);
  font-size: var(--fs-md);
  line-height: var(--lh-relaxed);
}
.faq-item.open .faq-a { padding: 0 var(--space-6) var(--space-5); max-height: 500px; }

/* ---- CTA FINAL ---- */
.cta-final {
  background: linear-gradient(135deg, var(--vital-blue) 0%, var(--blue-600) 100%);
  color: #fff;
  text-align: center;
}
.cta-final h2 { color: #fff; font-size: clamp(28px, 3.5vw, 40px); margin-bottom: var(--space-4); }
.cta-final p {
  font-size: var(--fs-lg);
  margin-bottom: var(--space-8);
  color: rgba(255,255,255,0.95);
  max-width: 600px;
  margin-left: auto; margin-right: auto;
}
.cta-buttons { display: flex; gap: var(--space-4); justify-content: center; flex-wrap: wrap; }
.cta-final .cta-outline {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.4);
  color: #fff;
  margin-left: 0;
}
.cta-final .cta-outline:hover { background: rgba(255,255,255,0.1); border-color: #fff; color: #fff; }

/* ---- SERVICE AREA (radar) ---- */
.service-area { position: relative; overflow: hidden; background: var(--bg); }
.service-area > .container { position: relative; z-index: 2; }
.radar-bg {
  position: absolute; inset: 0;
  z-index: 1; pointer-events: none;
  overflow: visible; opacity: 0.13;
}
.radar-bg svg { width: 100%; height: 100%; display: block; overflow: visible; }
.radar-bg .ring { fill: none; stroke: var(--vital-blue); stroke-width: 1; stroke-dasharray: 5 7; }
.radar-bg .ring-100 { stroke: var(--vital-blue); stroke-dasharray: 7 7; stroke-width: 1.1; }
.radar-bg .axis { stroke: var(--vital-blue); stroke-width: 0.6; stroke-dasharray: 2 8; }
.radar-bg .city-line { stroke: var(--vital-blue); stroke-width: 0.5; stroke-dasharray: 2 4; }
.radar-bg .city-dot { fill: var(--vital-blue); }
.radar-bg .hub-halo {
  fill: var(--vital-blue);
  transform-origin: 1220px 350px;
  animation: radarPulse 2.6s var(--ease-out) infinite;
}
.radar-bg .hub-halo-2 { animation-delay: 1.3s; }
.radar-bg .hub-dot { fill: var(--vital-blue); }
.radar-bg .hub-ring { fill: none; stroke: var(--vital-blue); stroke-width: 1.2; }
.radar-bg .sweep { transform-origin: 1220px 350px; animation: radarSweep 9s linear infinite; }
.radar-bg .sweep-line { stroke: url(#sweepGradient); stroke-width: 2; stroke-linecap: round; }
@keyframes radarPulse {
  0%   { transform: scale(0.6); opacity: 1; }
  100% { transform: scale(4); opacity: 0; }
}
@keyframes radarSweep { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .radar-bg .hub-halo, .radar-bg .sweep { animation: none; }
  .radar-bg .hub-halo { opacity: 0.5; transform: scale(2); }
  .radar-bg .sweep { display: none; }
}
@media (max-width: 700px) { .radar-bg { opacity: 0.09; } }

.cities-list {
  display: flex; flex-wrap: wrap;
  gap: var(--space-2); margin-top: var(--space-6);
}
.city-tag {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 14px;
  background: #fff;
  border: 1px solid var(--line);
  color: var(--ink);
  border-radius: var(--radius-pill);
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  box-shadow: var(--shadow-xs);
}
.city-tag .icon { color: var(--vital-blue); font-size: 14px; }
.city-tag.is-hub { background: var(--vital-blue); border-color: var(--vital-blue); color: #fff; }
.city-tag.is-hub .icon { color: #fff; }

/* Cities grouped by region */
.cities-group { margin-top: var(--space-8); }
.cities-group:first-of-type { margin-top: var(--space-6); }
.cities-group-label {
  display: inline-block;
  font-family: var(--font-display);
  font-size: var(--fs-xs);
  font-weight: var(--fw-bold);
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
  color: var(--vital-blue);
  margin-bottom: var(--space-3);
  padding: 4px 12px;
  border: 1px solid var(--blue-200);
  background: var(--blue-50);
  border-radius: var(--radius-pill);
}
.cities-group .cities-list { margin-top: 0; }

/* ---- QUALIFY FORM ---- */
.qualify-section {
  background: linear-gradient(135deg, var(--blue-800) 0%, var(--vital-blue) 100%);
  padding: var(--space-16) 0;
  position: relative;
  overflow: hidden;
}
.qualify-section > .container { position: relative; z-index: 1; }
.qualify-section .eyebrow { color: #fff; }
.qualify-intro h2 { color: #fff; }
.qualify-intro h2 .accent { color: var(--mint); }
.qualify-intro p { color: rgba(255,255,255,0.92); }
.qualify-grid {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: var(--space-10);
  align-items: start;
}
@media (max-width: 900px) {
  .qualify-grid { grid-template-columns: 1fr; gap: var(--space-8); }
}
.qualify-intro h2 {
  font-family: var(--font-display);
  font-size: clamp(28px, 3vw, 38px);
  font-weight: var(--fw-extrabold);
  line-height: var(--lh-tight);
  letter-spacing: var(--tracking-tight);
  margin: var(--space-3) 0 var(--space-4);
}
.qualify-intro p {
  font-family: var(--font-body);
  font-size: var(--fs-md);
  line-height: var(--lh-relaxed);
  margin-bottom: var(--space-6);
}
.qualify-perks {
  list-style: none; padding: 0; margin: 0;
  display: grid; gap: 12px;
}
.qualify-perks li {
  display: flex; align-items: center; gap: 12px;
  color: rgba(255,255,255,0.95);
  font-family: var(--font-body);
  font-size: var(--fs-sm);
}
.qualify-perks li .icon {
  color: var(--vital-green);
  font-size: 16px;
  background: rgba(255,255,255,0.12);
  width: 28px; height: 28px;
  border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  border: 1px solid rgba(255,255,255,0.18);
}
.qualify-form {
  background: #fff;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: var(--radius-xl);
  padding: var(--space-8);
  box-shadow: 0 24px 60px rgba(11, 35, 60, 0.32);
  display: grid; gap: var(--space-5);
  position: relative;
}
@media (max-width: 600px) { .qualify-form { padding: var(--space-6); } }
.qualify-form .form-row { display: grid; gap: 8px; }
.qualify-form .form-row-2 { grid-template-columns: 1fr 1fr; gap: var(--space-4); }
@media (max-width: 540px) { .qualify-form .form-row-2 { grid-template-columns: 1fr; } }
.qualify-form label {
  font-family: var(--font-display);
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  color: var(--ink);
}
.qualify-form input[type="text"],
.qualify-form input[type="tel"],
.qualify-form input[type="email"],
.qualify-form select {
  font-family: var(--font-body);
  font-size: var(--fs-md);
  color: var(--fg);
  padding: 12px 14px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  outline: none;
  transition: border-color var(--duration-base) var(--ease-out),
              box-shadow var(--duration-base) var(--ease-out);
  width: 100%;
}
.qualify-form input::placeholder { color: var(--fg-3); }
.qualify-form input:hover, .qualify-form select:hover { border-color: var(--line-strong); }
.qualify-form input:focus, .qualify-form select:focus {
  border-color: var(--vital-blue);
  box-shadow: var(--shadow-focus);
}
.form-options {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
@media (max-width: 540px) { .form-options { grid-template-columns: 1fr; } }
.form-option {
  position: relative;
  display: flex; align-items: flex-start; gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
  cursor: pointer;
  transition: border-color var(--duration-base) var(--ease-out),
              background var(--duration-base) var(--ease-out),
              box-shadow var(--duration-base) var(--ease-out);
}
.form-option:hover { border-color: var(--vital-green); background: var(--green-50); }
.form-option input[type="radio"] {
  appearance: none; -webkit-appearance: none;
  width: 18px; height: 18px;
  border: 1.5px solid var(--line-strong);
  border-radius: 999px;
  margin: 3px 0 0 0;
  flex-shrink: 0;
  position: relative; cursor: pointer;
}
.form-option input[type="radio"]:checked {
  border-color: var(--vital-green);
  background: var(--vital-green);
  box-shadow: inset 0 0 0 3px #fff;
}
.form-option:has(input[type="radio"]:checked) {
  border-color: var(--vital-green);
  background: var(--green-50);
  box-shadow: 0 0 0 3px rgba(90, 203, 61, 0.18);
}
.form-option-body { display: flex; flex-direction: column; gap: 2px; }
.form-option-title {
  font-family: var(--font-display);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-sm);
  color: var(--ink);
}
.form-option small { color: var(--fg-2); font-size: var(--fs-xs); }
.qualify-submit {
  appearance: none; border: none;
  background: var(--vital-green);
  color: #fff;
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  font-size: var(--fs-md);
  padding: 16px 24px;
  border-radius: var(--radius-pill);
  cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  box-shadow: 0 8px 20px rgba(90, 203, 61, 0.28);
  transition: background var(--duration-base) var(--ease-out),
              transform var(--duration-base) var(--ease-out),
              box-shadow var(--duration-base) var(--ease-out);
  margin-top: var(--space-2);
}
.qualify-submit:hover {
  background: var(--green-600);
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(90, 203, 61, 0.36);
}
.qualify-fineprint {
  color: var(--fg-3);
  font-size: var(--fs-xs);
  text-align: center;
  margin: 0;
}

/* ---- FOOTER ---- */
.footer {
  background: var(--blue-800);
  color: rgba(255,255,255,0.85);
  padding: var(--space-16) 0 var(--space-6);
  font-family: var(--font-body);
  font-size: var(--fs-sm);
}
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: var(--space-10);
  margin-bottom: var(--space-10);
}
@media (max-width: 700px) { .footer-grid { grid-template-columns: 1fr; gap: var(--space-8); } }
.footer-logo {
  height: 96px;
  margin-bottom: var(--space-4);
  filter: brightness(0) invert(1);
  opacity: 0.95;
}
.footer p { color: rgba(255,255,255,0.75); margin-bottom: var(--space-3); }
.footer p strong { color: rgba(255, 255, 255, 0.9); }
.footer .footer-hours { margin-top: 12px; }
.footer h4 {
  color: #fff;
  margin-bottom: var(--space-4);
  font-family: var(--font-display);
  font-size: var(--fs-xs);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--tracking-caps);
}
.footer a {
  color: rgba(255,255,255,0.7);
  text-decoration: none;
  display: flex; align-items: center; gap: var(--space-2);
  padding: 4px 0;
  transition: color var(--duration-base) var(--ease-out);
}
.footer a:hover { color: #fff; }
.footer a .icon { color: var(--mint); font-size: 16px; }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.1);
  padding-top: var(--space-6);
  display: flex; justify-content: space-between; flex-wrap: wrap;
  gap: var(--space-3);
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.55);
}

/* ---- FLOATING WHATSAPP ---- */
.wa-float {
  position: fixed;
  bottom: var(--space-6); right: var(--space-6);
  z-index: 99;
  background: var(--vital-green);
  color: #fff;
  width: 60px; height: 60px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(90,203,61,0.45);
  animation: pulse 2.4s var(--ease-out) infinite;
  transition: transform var(--duration-base) var(--ease-out);
}
.wa-float:hover { transform: scale(1.06); }
.wa-float .icon { font-size: 28px; }
@keyframes pulse {
  0%, 100% { box-shadow: 0 8px 24px rgba(90,203,61,0.45), 0 0 0 0 rgba(90,203,61,0.4); }
  50%      { box-shadow: 0 8px 24px rgba(90,203,61,0.45), 0 0 0 14px rgba(90,203,61,0); }
}
