/* ================================================================
   Landing Ongoing — AYCE Laborytax
   Design system converted from Tailwind → vanilla CSS
   All rules namespaced under .lo-landing to avoid WP theme clashes
   ================================================================ */

/* ---------- Google Fonts ---------- */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&family=Playfair+Display:wght@600;700;800&display=swap');

/* ---------- Design Tokens ---------- */
.lo-landing {
  --background: hsl(30 15% 96%);
  --foreground: hsl(30 5% 25%);

  --card: hsl(0 0% 100%);
  --card-foreground: hsl(30 5% 25%);

  --primary: hsl(24 100% 50%);
  --primary-foreground: hsl(0 0% 100%);

  --secondary: hsl(30 8% 22%);
  --secondary-foreground: hsl(30 10% 92%);

  --muted: hsl(30 10% 92%);
  --muted-foreground: hsl(30 5% 50%);

  --accent: hsl(24 90% 46%);
  --accent-foreground: hsl(0 0% 100%);

  --destructive: hsl(0 84% 60%);

  --border: hsl(30 10% 87%);
  --input: hsl(30 10% 87%);
  --ring: hsl(24 100% 50%);

  --radius: 0.75rem;

  --hero-bg: hsl(30 8% 20%);
  --hero-foreground: hsl(30 10% 92%);
  --hero-muted: hsl(30 8% 65%);

  --cta-gradient: linear-gradient(135deg, hsl(24 100% 50%), hsl(28 100% 44%));
  --shadow-card: 0 4px 24px -4px hsl(30 5% 25% / 0.08);
  --shadow-card-hover: 0 8px 32px -4px hsl(30 5% 25% / 0.14);

  --font-sans: 'DM Sans', system-ui, sans-serif;
  --font-display: 'Playfair Display', Georgia, serif;
}

/* ---------- Reset & Base ---------- */
.lo-landing {
  margin: 0; padding: 0;
  font-family: var(--font-sans);
  color: var(--foreground);
  background: var(--background);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.6;
  box-sizing: border-box;
}
.lo-landing *, .lo-landing *::before, .lo-landing *::after { box-sizing: border-box; }
.lo-landing img { max-width: 100%; height: auto; display: block; }
.lo-landing a { text-decoration: none; color: inherit; }
.lo-landing h1, .lo-landing h2, .lo-landing h3, .lo-landing h4 {
  font-family: var(--font-display);
  margin: 0;
}
.lo-landing p { margin: 0; }
.lo-landing ul { list-style: none; margin: 0; padding: 0; }
.lo-landing button { cursor: pointer; font-family: inherit; }

/* ---------- Container ---------- */
.lo-landing .lo-container {
  max-width: 80rem;
  margin: 0 auto;
  padding-left: 2rem;
  padding-right: 2rem;
}
@media (min-width: 768px) {
  .lo-landing .lo-container { padding-left: 2rem; padding-right: 2rem; }
}

/* ---------- Utility classes ---------- */
.lo-landing .lo-section-dark {
  background: var(--secondary);
  color: var(--secondary-foreground);
}
.lo-landing .lo-gradient-primary {
  background: var(--cta-gradient);
}
.lo-landing .lo-text-gradient {
  background: var(--cta-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.lo-landing .lo-section-label {
  color: var(--primary);
  font-weight: 600;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  text-align: center;
  margin-bottom: 0.75rem;
}
.lo-landing .lo-section-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.875rem;
  text-align: center;
  color: var(--foreground);
  margin-bottom: 1rem;
}
@media (min-width: 768px) { .lo-landing .lo-section-title { font-size: 2.25rem; } }
.lo-landing .lo-section-subtitle {
  text-align: center;
  color: var(--muted-foreground);
  max-width: 42rem;
  margin: 0 auto 3rem;
  line-height: 1.7;
}
.lo-landing .lo-card {
  background: var(--card);
  border-radius: var(--radius);
  padding: 1.5rem;
  box-shadow: var(--shadow-card);
  border: 1px solid var(--border);
  transition: box-shadow 0.3s, border-color 0.3s, transform 0.25s;
}
.lo-landing .lo-card:hover {
  box-shadow: var(--shadow-card-hover);
  border-color: hsl(30 5% 25% / 0.1);
  transform: translateY(-4px);
}
.lo-landing .lo-btn-dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: var(--foreground);
  color: var(--background);
  padding: 0.875rem 2rem;
  border-radius: 0.5rem;
  font-weight: 600;
  font-size: 0.875rem;
  border: none;
  transition: opacity 0.3s;
}
.lo-landing .lo-btn-dark:hover { opacity: 0.9; }
.lo-landing .lo-btn-gradient {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: var(--cta-gradient);
  color: var(--primary-foreground);
  padding: 0.625rem 1.25rem;
  border-radius: 0.5rem;
  font-weight: 600;
  font-size: 0.875rem;
  border: none;
  transition: opacity 0.3s;
}
.lo-landing .lo-btn-gradient:hover { opacity: 0.9; }
.lo-landing .lo-btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 2px solid hsl(30 8% 65% / 0.3);
  color: var(--secondary-foreground);
  padding: 0.75rem 1.5rem;
  border-radius: 9999px;
  font-weight: 600;
  font-size: 0.875rem;
  background: transparent;
  transition: background 0.3s;
}
.lo-landing .lo-btn-outline:hover { background: hsl(30 10% 92% / 0.05); }
.lo-landing .lo-btn-pill-card {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--card);
  color: var(--primary);
  padding: 0.75rem 1.5rem;
  border-radius: 9999px;
  font-weight: 600;
  font-size: 0.875rem;
  border: none;
  transition: opacity 0.3s;
}
.lo-landing .lo-btn-pill-card:hover { opacity: 0.9; }

/* ---------- Icon box ---------- */
.lo-landing .lo-icon-box {
  width: 3rem; height: 3rem;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  transition: background 0.3s;
}
.lo-landing .lo-icon-box svg { width: 1.5rem; height: 1.5rem; }
.lo-landing .lo-icon-box--muted { background: var(--muted); }
.lo-landing .lo-icon-box--muted svg { color: hsl(30 5% 25% / 0.7); }
.lo-landing .lo-card:hover .lo-icon-box--muted { background: hsl(24 100% 50% / 0.1); }
.lo-landing .lo-card:hover .lo-icon-box--muted svg { color: var(--primary); }
.lo-landing .lo-icon-box--primary { background: hsl(24 100% 50% / 0.1); }
.lo-landing .lo-icon-box--primary svg { color: var(--primary); }
.lo-landing .lo-card:hover .lo-icon-box--primary { background: hsl(24 100% 50% / 0.2); }

/* ---------- Grids ---------- */
.lo-landing .lo-grid-2 { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 768px) { .lo-landing .lo-grid-2 { grid-template-columns: 1fr 1fr; } }
.lo-landing .lo-grid-3 { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 640px) { .lo-landing .lo-grid-3 { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .lo-landing .lo-grid-3 { grid-template-columns: 1fr 1fr 1fr; } }
.lo-landing .lo-grid-4 { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 640px) { .lo-landing .lo-grid-4 { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .lo-landing .lo-grid-4 { grid-template-columns: repeat(4, 1fr); } }
.lo-landing .lo-grid-6 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; }
@media (min-width: 768px) { .lo-landing .lo-grid-6 { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .lo-landing .lo-grid-6 { grid-template-columns: repeat(6, 1fr); } }

/* ---------- Reveal animation ---------- */
.lo-landing .lo-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.lo-landing .lo-reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ================================================================
   TOPBAR
   ================================================================ */
.lo-landing .lo-topbar {
  background: var(--secondary);
  color: var(--secondary-foreground);
  padding: 0.5rem 0;
  font-size: 0.8rem;
}
.lo-landing .lo-topbar__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.lo-landing .lo-topbar__links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}
@media (min-width: 768px) { .lo-landing .lo-topbar__links { gap: 1.5rem; } }
.lo-landing .lo-topbar__links a {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  color: var(--hero-muted);
  transition: color 0.3s;
}
.lo-landing .lo-topbar__links a:hover { color: var(--primary); }
.lo-landing .lo-topbar__links a svg { width: 0.875rem; height: 0.875rem; flex-shrink: 0; }
.lo-landing .lo-topbar__access {
  color: var(--hero-muted);
  font-weight: 500;
  transition: color 0.3s;
}
.lo-landing .lo-topbar__access:hover { color: var(--primary); }

/* ================================================================
   NAVBAR
   ================================================================ */
.lo-landing .lo-navbar {
  position: sticky;
  top: 0;
  z-index: 50;
  background: hsl(0 0% 100% / 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 1px 3px hsl(30 5% 25% / 0.06);
}
.lo-landing .lo-navbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 0;
}
.lo-landing .lo-navbar__logo {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}
.lo-landing .lo-navbar__logo-name {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--foreground);
  letter-spacing: -0.02em;
}
.lo-landing .lo-navbar__logo-tag {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.25em;
  color: var(--primary);
}
.lo-landing .lo-navbar__links {
  display: none;
  align-items: center;
  gap: 2rem;
}
@media (min-width: 768px) { .lo-landing .lo-navbar__links { display: flex; } }
.lo-landing .lo-navbar__links a {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--muted-foreground);
  transition: color 0.3s;
}
.lo-landing .lo-navbar__links a:hover { color: var(--foreground); }
.lo-landing .lo-navbar__hamburger {
  display: flex; background: none; border: none;
  color: var(--foreground);
}
@media (min-width: 768px) { .lo-landing .lo-navbar__hamburger { display: none; } }
.lo-landing .lo-navbar__hamburger svg { width: 1.5rem; height: 1.5rem; }

/* Mobile dropdown */
.lo-landing .lo-navbar__mobile {
  display: none;
  background: var(--card);
  border-top: 1px solid var(--border);
  padding: 0 1rem 1rem;
}
.lo-landing .lo-navbar__mobile.open { display: block; }
@media (min-width: 768px) { .lo-landing .lo-navbar__mobile { display: none !important; } }
.lo-landing .lo-navbar__mobile a {
  display: block;
  padding: 0.5rem 0;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--muted-foreground);
}
.lo-landing .lo-navbar__mobile a:hover { color: var(--foreground); }

/* ================================================================
   HERO
   ================================================================ */
.lo-landing .lo-hero {
  position: relative;
  overflow: hidden;
}
.lo-landing .lo-hero__bg {
  position: absolute;
  inset: 0;
}
.lo-landing .lo-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lo-landing .lo-hero__bg-overlay {
  position: absolute;
  inset: 0;
  background: hsl(30 8% 22% / 0.85);
}
.lo-landing .lo-hero__inner {
  position: relative;
  z-index: 10;
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  align-items: start;
  padding: 4rem 0;
}
@media (min-width: 768px) { .lo-landing .lo-hero__inner { padding: 6rem 0; } }
@media (min-width: 1024px) { .lo-landing .lo-hero__inner { grid-template-columns: 1fr 1fr; gap: 3rem; } }
.lo-landing .lo-hero__text { color: var(--secondary-foreground); }
.lo-landing .lo-hero__badge {
  color: var(--primary);
  font-weight: 600;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: 1rem;
}
.lo-landing .lo-hero__title {
  font-family: var(--font-display);
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.15;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) { .lo-landing .lo-hero__title { font-size: 2.75rem; } }
@media (min-width: 1024px) { .lo-landing .lo-hero__title { font-size: 3.4rem; } }
.lo-landing .lo-hero__subtitle {
  color: var(--hero-muted);
  font-size: 1.125rem;
  line-height: 1.7;
  margin-bottom: 2rem;
  max-width: 32rem;
}
.lo-landing .lo-hero__bullets {
  margin-bottom: 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.lo-landing .lo-hero__bullets li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--hero-muted);
}
.lo-landing .lo-hero__bullets li svg {
  width: 1.25rem; height: 1.25rem;
  color: var(--primary);
  flex-shrink: 0;
}
.lo-landing .lo-hero__stat {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
}
.lo-landing .lo-hero__stat-number {
  font-family: var(--font-display);
  font-size: 2.25rem;
  font-weight: 700;
  color: var(--primary);
}
.lo-landing .lo-hero__stat-text { color: var(--hero-muted); }

/* Logo slider */
.lo-landing .lo-hero__logos {
  position: relative;
  z-index: 10;
  padding-bottom: 2.5rem;
}
.lo-landing .lo-hero__logos-label {
  text-align: center;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--hero-muted);
  margin-bottom: 1.25rem;
}
.lo-landing .lo-hero__logos-track {
  overflow: hidden;
}
.lo-landing .lo-hero__logos-inner {
  display: flex;
  width: max-content;
  align-items: center;
  animation: lo-scroll-logos 25s linear infinite;
}
.lo-landing .lo-hero__logos-inner:hover { animation-play-state: paused; }
.lo-landing .lo-hero__logos-item {
  flex-shrink: 0;
  margin: 0 2rem;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1rem;
  color: hsl(30 10% 92% / 0.5);
  white-space: nowrap;
  letter-spacing: -0.02em;
  transition: color 0.3s;
}
@media (min-width: 768px) { .lo-landing .lo-hero__logos-item { margin: 0 3rem; font-size: 1.125rem; } }
.lo-landing .lo-hero__logos-item:hover { color: hsl(30 10% 92% / 0.8); }

@keyframes lo-scroll-logos {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ================================================================
   SECTIONS COMMON
   ================================================================ */
.lo-landing .lo-section { padding: 5rem 0; }
@media (min-width: 768px) { .lo-landing .lo-section { padding: 5rem 0; } }
.lo-landing .lo-section--bg { background: var(--background); }
.lo-landing .lo-section--muted { background: hsl(30 10% 92% / 0.5); }
.lo-landing .lo-section--dark {
  background: var(--secondary);
  color: var(--secondary-foreground);
}
.lo-landing .lo-section--dark .lo-section-title { color: var(--secondary-foreground); }
.lo-landing .lo-section--dark .lo-section-subtitle { color: var(--hero-muted); }

/* ================================================================
   STATS
   ================================================================ */
.lo-landing .lo-stat { text-align: center; }
.lo-landing .lo-stat__number {
  font-family: var(--font-display);
  font-size: 1.875rem;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: 0.25rem;
}
@media (min-width: 768px) { .lo-landing .lo-stat__number { font-size: 2.25rem; } }
.lo-landing .lo-stat__label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--secondary-foreground);
}
.lo-landing .lo-stat__sub {
  font-size: 0.75rem;
  color: var(--hero-muted);
  margin-top: 0.125rem;
}

/* ================================================================
   CTA BANNER
   ================================================================ */
.lo-landing .lo-cta-banner {
  border-radius: 1rem;
  padding: 3.5rem 2rem;
  text-align: center;
}
.lo-landing .lo-cta-banner__title {
  font-family: var(--font-display);
  font-size: 1.875rem;
  font-weight: 700;
  color: var(--secondary-foreground);
  margin-bottom: 1rem;
}
@media (min-width: 768px) { .lo-landing .lo-cta-banner__title { font-size: 2.25rem; } }
.lo-landing .lo-cta-banner__desc {
  color: var(--hero-muted);
  font-size: 1.125rem;
  max-width: 36rem;
  margin: 0 auto 2rem;
}
.lo-landing .lo-cta-banner__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

/* ================================================================
   TESTIMONIALS
   ================================================================ */
.lo-landing .lo-testimonials__rating {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 2.5rem;
}
.lo-landing .lo-testimonials__score {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--foreground);
}
.lo-landing .lo-testimonials__stars {
  display: flex;
  gap: 0.125rem;
}
.lo-landing .lo-testimonials__stars svg {
  width: 1.25rem; height: 1.25rem;
  fill: var(--primary);
  color: var(--primary);
}
.lo-landing .lo-testimonials__count {
  font-size: 0.875rem;
  color: var(--muted-foreground);
}
.lo-landing .lo-testimonial__stars {
  display: flex;
  gap: 0.125rem;
  margin-bottom: 0.75rem;
}
.lo-landing .lo-testimonial__stars svg {
  width: 1rem; height: 1rem;
  fill: var(--primary);
  color: var(--primary);
}
.lo-landing .lo-testimonial__text {
  font-size: 0.875rem;
  color: var(--muted-foreground);
  line-height: 1.7;
  margin-bottom: 1rem;
}
.lo-landing .lo-testimonial__name {
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--card-foreground);
}
.lo-landing .lo-testimonial__company {
  font-size: 0.75rem;
  color: var(--muted-foreground);
}

/* ================================================================
   SERVICES
   ================================================================ */
.lo-landing .lo-service { text-align: center; }
.lo-landing .lo-service .lo-icon-box { margin-left: auto; margin-right: auto; }
.lo-landing .lo-service__title {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--card-foreground);
  margin-bottom: 0.5rem;
}
.lo-landing .lo-service__desc {
  font-size: 0.875rem;
  color: var(--muted-foreground);
  line-height: 1.7;
}

/* ================================================================
   CASES
   ================================================================ */
.lo-landing .lo-case {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.lo-landing .lo-case__body { padding: 1.5rem; flex: 1; }
.lo-landing .lo-case__title {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--card-foreground);
  margin-bottom: 1rem;
}
.lo-landing .lo-case__tag {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--primary);
}
.lo-landing .lo-case__text {
  font-size: 0.875rem;
  color: var(--muted-foreground);
  margin-top: 0.25rem;
}
.lo-landing .lo-case__footer {
  background: var(--foreground);
  padding: 1rem 1.5rem;
}
.lo-landing .lo-case__saving {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--background);
}
.lo-landing .lo-case__saving-label {
  font-size: 0.75rem;
  color: hsl(30 15% 96% / 0.6);
}

/* ================================================================
   RISKS
   ================================================================ */
.lo-landing .lo-risk {
  background: hsl(30 8% 22% / 0.8);
  backdrop-filter: blur(8px);
  border-radius: var(--radius);
  padding: 1.5rem;
  border: 1px solid hsl(30 10% 87% / 0.2);
  transition: border-color 0.3s;
}
.lo-landing .lo-risk:hover { border-color: hsl(24 100% 50% / 0.3); }
.lo-landing .lo-risk__icon {
  color: var(--destructive);
  margin-bottom: 1rem;
}
.lo-landing .lo-risk__icon svg { width: 2rem; height: 2rem; }
.lo-landing .lo-risk__title {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--secondary-foreground);
  margin-bottom: 0.5rem;
}
.lo-landing .lo-risk__desc {
  font-size: 0.875rem;
  color: var(--hero-muted);
  line-height: 1.7;
}

/* ================================================================
   INCLUDED
   ================================================================ */
.lo-landing .lo-included__title {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--card-foreground);
  margin-bottom: 1rem;
}
.lo-landing .lo-included__list { display: flex; flex-direction: column; gap: 0.75rem; }
.lo-landing .lo-included__item {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  font-size: 0.875rem;
  color: var(--muted-foreground);
}
.lo-landing .lo-included__item svg {
  width: 1rem; height: 1rem;
  color: var(--primary);
  flex-shrink: 0;
  margin-top: 0.125rem;
}
.lo-landing .lo-included__bottom {
  text-align: center;
  margin-top: 2.5rem;
}
.lo-landing .lo-included__bottom-title {
  font-family: var(--font-display);
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--foreground);
}
.lo-landing .lo-included__bottom-sub {
  font-size: 0.875rem;
  color: var(--muted-foreground);
  margin-top: 0.25rem;
}

/* ================================================================
   OBJECTIVES
   ================================================================ */
.lo-landing .lo-objective {
  display: flex;
  gap: 1.25rem;
}
.lo-landing .lo-objective__num {
  font-family: var(--font-display);
  font-size: 2.25rem;
  font-weight: 700;
  color: hsl(24 100% 50% / 0.2);
  flex-shrink: 0;
}
.lo-landing .lo-objective__title {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--card-foreground);
  margin-bottom: 0.5rem;
}
.lo-landing .lo-objective__desc {
  font-size: 0.875rem;
  color: var(--muted-foreground);
  line-height: 1.7;
}

/* ================================================================
   INTERNATIONAL
   ================================================================ */
.lo-landing .lo-intl__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  align-items: center;
}
@media (min-width: 1024px) { .lo-landing .lo-intl__grid { grid-template-columns: 1fr 1fr; } }
.lo-landing .lo-intl__text { color: var(--muted-foreground); line-height: 1.7; margin-bottom: 1.5rem; }
.lo-landing .lo-intl__list { margin-bottom: 2rem; display: flex; flex-direction: column; gap: 0.75rem; }
.lo-landing .lo-intl__list li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.875rem;
  color: var(--muted-foreground);
}
.lo-landing .lo-intl__list li svg { width: 1rem; height: 1rem; color: var(--primary); flex-shrink: 0; }
.lo-landing .lo-intl__card {
  background: var(--card);
  border-radius: 1rem;
  padding: 2rem;
  box-shadow: var(--shadow-card);
  border: 1px solid var(--border);
}
.lo-landing .lo-intl__card-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.lo-landing .lo-intl__card-icon {
  width: 4rem; height: 4rem;
  border-radius: var(--radius);
  background: var(--cta-gradient);
  display: flex;
  align-items: center;
  justify-content: center;
}
.lo-landing .lo-intl__card-icon svg { width: 2rem; height: 2rem; color: var(--primary-foreground); }
.lo-landing .lo-intl__card-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--card-foreground);
}
.lo-landing .lo-intl__card-link {
  color: var(--primary);
  font-size: 0.875rem;
}
.lo-landing .lo-intl__card-link:hover { text-decoration: underline; }
.lo-landing .lo-intl__card-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.lo-landing .lo-intl__card-stat {
  background: hsl(30 10% 92% / 0.5);
  border-radius: 0.5rem;
  padding: 1rem;
  text-align: center;
}
.lo-landing .lo-intl__card-stat-num {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--primary);
}
.lo-landing .lo-intl__card-stat-label {
  font-size: 0.75rem;
  color: var(--muted-foreground);
}
.lo-landing .lo-intl__card-badge {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem;
  background: hsl(24 100% 50% / 0.05);
  border-radius: 0.5rem;
  border: 1px solid hsl(24 100% 50% / 0.1);
}
.lo-landing .lo-intl__card-badge svg { width: 1.25rem; height: 1.25rem; color: var(--primary); flex-shrink: 0; }
.lo-landing .lo-intl__card-badge p { font-size: 0.875rem; color: var(--card-foreground); }

/* ================================================================
   TEAM
   ================================================================ */
.lo-landing .lo-team-member { text-align: center; }
.lo-landing .lo-team-member__photo {
  width: 10rem; height: 10rem;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 1rem;
  border: 4px solid hsl(24 100% 50% / 0.3);
  transition: border-color 0.3s;
}
.lo-landing .lo-team-member:hover .lo-team-member__photo { border-color: var(--primary); }
.lo-landing .lo-team-member__photo img { width: 100%; height: 100%; object-fit: cover; }
.lo-landing .lo-team-member__name {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--secondary-foreground);
}
.lo-landing .lo-team-member__role {
  font-size: 0.875rem;
  color: var(--hero-muted);
}

/* ================================================================
   FAQ
   ================================================================ */
.lo-landing .lo-faq { max-width: 48rem; margin: 0 auto; }
.lo-landing .lo-faq__item {
  background: var(--card);
  border-radius: var(--radius);
  border: 1px solid var(--border);
  padding: 0 1.25rem;
  box-shadow: 0 1px 3px hsl(30 5% 25% / 0.04);
  margin-bottom: 0.75rem;
}
.lo-landing .lo-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: none;
  border: none;
  padding: 1rem 0;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--card-foreground);
  text-align: left;
  cursor: pointer;
}
.lo-landing .lo-faq__question svg {
  width: 1.25rem; height: 1.25rem;
  color: var(--muted-foreground);
  transition: transform 0.3s;
  flex-shrink: 0;
  margin-left: 1rem;
}
.lo-landing .lo-faq__item.open .lo-faq__question svg { transform: rotate(180deg); }
.lo-landing .lo-faq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out, padding 0.3s;
}
.lo-landing .lo-faq__item.open .lo-faq__answer { max-height: 20rem; padding-bottom: 1rem; }
.lo-landing .lo-faq__answer p {
  font-size: 0.875rem;
  color: var(--muted-foreground);
  line-height: 1.7;
}

/* ================================================================
   CONTACT
   ================================================================ */
.lo-landing .lo-contact__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  margin-bottom: 4rem;
}
@media (min-width: 1024px) { .lo-landing .lo-contact__grid { grid-template-columns: 1fr 1fr; } }
.lo-landing .lo-contact__info-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--foreground);
  margin-bottom: 1.5rem;
}
.lo-landing .lo-contact__office {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1rem;
}
.lo-landing .lo-contact__office svg {
  width: 1.25rem; height: 1.25rem;
  color: var(--primary);
  flex-shrink: 0;
  margin-top: 0.125rem;
}
.lo-landing .lo-contact__office-city {
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--foreground);
}
.lo-landing .lo-contact__office-detail {
  font-size: 0.875rem;
  color: var(--muted-foreground);
}
.lo-landing .lo-contact__maps-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--foreground);
  text-align: center;
  margin-bottom: 2rem;
}
.lo-landing .lo-contact__map-card {
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-card);
}
.lo-landing .lo-contact__map-card iframe {
  width: 100%;
  height: 220px;
  border: 0;
}
.lo-landing .lo-contact__map-info {
  padding: 1rem;
  background: var(--card);
}
.lo-landing .lo-contact__map-city {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--card-foreground);
}
.lo-landing .lo-contact__map-addr {
  font-size: 0.75rem;
  color: var(--muted-foreground);
  margin-top: 0.25rem;
}
.lo-landing .lo-contact__map-phone {
  font-size: 0.75rem;
  color: var(--primary);
  font-weight: 500;
  margin-top: 0.125rem;
}
.lo-landing .lo-contact__map-phone:hover { text-decoration: underline; }

/* ================================================================
   FORM (CF7)
   ================================================================ */
.lo-landing .lo-form,
.lo-landing .wpcf7-form,
form.lo-form {
  background: var(--card, #ffffff) !important;
  border-radius: var(--radius, 1rem) !important;
  padding: 1.5rem !important;
  box-shadow: var(--shadow-card, 0 10px 30px -5px rgba(0, 0, 0, 0.1)) !important;
  border: 1px solid var(--border, #e5e7eb) !important;
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 !important;
}
@media (min-width: 768px) {
  .lo-landing .lo-form,
  .lo-landing .wpcf7-form,
  form.lo-form { padding: 2rem !important; }
}
.lo-landing .lo-form p {
  margin: 0 !important;
  padding: 0 !important;
}
.lo-landing .lo-form__title,
.lo-landing .wpcf7-form h3.lo-form__title {
  font-family: var(--font-display, inherit) !important;
  font-weight: 700 !important;
  font-size: 1.25rem !important;
  color: var(--card-foreground, #1e1e1e) !important;
  text-align: center !important;
  margin: 0 0 0.25rem 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}
.lo-landing .lo-form__desc,
.lo-landing .wpcf7-form p.lo-form__desc {
  text-align: center !important;
  color: var(--muted-foreground, #666666) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  margin: 0 0 1.5rem 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
}
.lo-landing .lo-form__fields {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
}
.lo-landing .lo-input,
.lo-landing .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]) {
  width: 100% !important;
  box-sizing: border-box !important;
  border-radius: 0.5rem !important;
  border: 1px solid var(--input, #e2e8f0) !important;
  background: var(--background, #f8fafc) !important;
  padding: 0.75rem 1rem !important;
  font-size: 0.875rem !important;
  color: var(--foreground, #1e293b) !important;
  font-family: var(--font-sans, inherit) !important;
  outline: none !important;
  box-shadow: none !important;
  height: auto !important;
  line-height: 1.5 !important;
  transition: box-shadow 0.2s, border-color 0.2s !important;
  margin: 0 !important;
}
.lo-landing .lo-input:focus,
.lo-landing .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):focus {
  box-shadow: 0 0 0 3px rgba(224, 94, 0, 0.15) !important;
  border-color: var(--primary, #e05e00) !important;
  background: #ffffff !important;
}
.lo-landing .lo-input::placeholder,
.lo-landing .wpcf7-form-control::placeholder {
  color: #94a3b8 !important;
  opacity: 1 !important;
}
.lo-landing textarea.lo-input,
.lo-landing textarea.wpcf7-form-control {
  resize: vertical !important;
  min-height: 90px !important;
}
.lo-landing select.lo-input,
.lo-landing select.wpcf7-form-control {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 1rem center !important;
  padding-right: 2.5rem !important;
  cursor: pointer !important;
}
.lo-landing .lo-form__checkbox {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  margin-top: 1rem !important;
  font-size: 0.75rem !important;
  color: var(--muted-foreground, #64748b) !important;
  cursor: pointer !important;
}
.lo-landing .lo-form__checkbox input[type="checkbox"],
.lo-landing .wpcf7-acceptance input[type="checkbox"] {
  margin: 0 !important;
  accent-color: var(--primary, #e05e00) !important;
  width: 1rem !important;
  height: 1rem !important;
  cursor: pointer !important;
}
.lo-landing .lo-form__checkbox a,
.lo-landing .wpcf7-acceptance a {
  color: var(--primary, #e05e00) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}
.lo-landing .lo-form__checkbox a:hover,
.lo-landing .wpcf7-acceptance a:hover {
  text-decoration: underline !important;
}
.lo-landing .lo-form__submit,
.lo-landing .wpcf7-submit {
  width: 100% !important;
  margin-top: 1rem !important;
  background: var(--foreground, #3a3a3a) !important;
  color: #ffffff !important;
  padding: 0.875rem 2rem !important;
  border-radius: 0.5rem !important;
  font-weight: 700 !important;
  font-size: 0.875rem !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  border: none !important;
  cursor: pointer !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
  transition: opacity 0.2s, background-color 0.2s !important;
  display: block !important;
  text-align: center !important;
}
.lo-landing .lo-form__submit:hover,
.lo-landing .wpcf7-submit:hover { opacity: 0.9 !important; background: #222222 !important; }
.lo-landing .lo-form__submit:disabled,
.lo-landing .wpcf7-submit:disabled { opacity: 0.6 !important; }
.lo-landing .lo-form__footer {
  text-align: center !important;
  font-size: 0.75rem !important;
  color: var(--muted-foreground, #64748b) !important;
  margin-top: 0.75rem !important;
  margin-bottom: 0 !important;
}

/* Modal form adjustments */
.lo-modal .lo-form__title,
.lo-modal .lo-form__desc {
  display: none !important;
}

/* CF7 wrappers */
.lo-landing .wpcf7-form-control-wrap { display: block !important; width: 100% !important; }
.lo-landing .wpcf7-not-valid-tip {
  font-size: 0.7rem !important;
  color: var(--destructive, #ef4444) !important;
  margin-top: 0.25rem !important;
}
.lo-landing .wpcf7-response-output {
  margin-top: 1rem !important;
  padding: 0.75rem 1rem !important;
  font-size: 0.8rem !important;
  border-radius: 0.5rem !important;
  border: 1px solid var(--primary, #e05e00) !important;
  color: var(--foreground, #1e293b) !important;
  background: hsl(24 100% 50% / 0.08) !important;
  text-align: center !important;
}
.lo-landing .wpcf7-spinner {
  margin-left: 0.5rem !important;
  background-color: var(--primary, #e05e00) !important;
}

/* ================================================================
   FOOTER
   ================================================================ */
.lo-landing .lo-footer {
  background: var(--secondary);
  color: var(--secondary-foreground);
  padding: 3rem 0;
  border-top: 1px solid hsl(30 10% 87% / 0.2);
}
.lo-landing .lo-footer__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  margin-bottom: 2rem;
}
@media (min-width: 768px) { .lo-landing .lo-footer__grid { grid-template-columns: repeat(4, 1fr); } }
.lo-landing .lo-footer__brand-desc {
  font-size: 0.875rem;
  color: var(--hero-muted);
  margin-top: 0.75rem;
}
.lo-landing .lo-footer__col-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.875rem;
  color: var(--secondary-foreground);
  margin-bottom: 0.75rem;
}
.lo-landing .lo-footer__col ul { display: flex; flex-direction: column; gap: 0.5rem; }
.lo-landing .lo-footer__col a {
  font-size: 0.875rem;
  color: var(--hero-muted);
  transition: color 0.3s;
}
.lo-landing .lo-footer__col a:hover { color: var(--primary); }
.lo-landing .lo-footer__col li {
  font-size: 0.875rem;
  color: var(--hero-muted);
}
.lo-landing .lo-footer__bottom {
  border-top: 1px solid hsl(30 10% 87% / 0.2);
  padding-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.lo-landing .lo-footer__copy {
  font-size: 0.75rem;
  color: var(--hero-muted);
}
.lo-landing .lo-footer__legal {
  display: flex;
  gap: 1rem;
}
.lo-landing .lo-footer__legal a {
  font-size: 0.75rem;
  color: var(--hero-muted);
  transition: color 0.3s;
}
.lo-landing .lo-footer__legal a:hover { color: var(--primary); }

/* ================================================================
   FLOATING BUTTONS
   ================================================================ */
.lo-landing .lo-floating-tab {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 50;
  background: var(--cta-gradient);
  color: var(--primary-foreground);
  padding: 0.625rem 0.5rem;
  border-radius: 0.5rem 0 0 0.5rem;
  box-shadow: 0 4px 12px hsl(30 5% 25% / 0.2);
  border: none;
  cursor: pointer;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: opacity 0.3s;
}
.lo-landing .lo-floating-tab:hover { opacity: 0.9; }
.lo-landing .lo-floating-wa {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  z-index: 50;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: #25D366;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px hsl(30 5% 25% / 0.2);
  transition: transform 0.3s;
}
.lo-landing .lo-floating-wa:hover { transform: scale(1.1); }
.lo-landing .lo-floating-wa svg { width: 1.5rem; height: 1.5rem; }
.lo-landing .lo-floating-mail {
  position: fixed;
  bottom: 1.5rem;
  left: 1.5rem;
  z-index: 50;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: var(--foreground);
  color: var(--background);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px hsl(30 5% 25% / 0.2);
  transition: transform 0.3s;
}
.lo-landing .lo-floating-mail:hover { transform: scale(1.1); }
.lo-landing .lo-floating-mail svg { width: 1.5rem; height: 1.5rem; }

/* ================================================================
   MODAL
   ================================================================ */
.lo-landing .lo-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  background: hsl(30 5% 25% / 0.4);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.lo-landing .lo-modal {
  background: var(--card);
  border-radius: var(--radius);
  box-shadow: 0 20px 60px hsl(30 5% 25% / 0.25);
  width: 100%;
  max-width: 28rem;
  margin: 0 1rem;
  padding: 1.5rem;
  position: relative;
  animation: lo-scale-in 0.2s ease-out;
}
@keyframes lo-scale-in {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}
.lo-landing .lo-modal__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: none;
  border: none;
  color: var(--muted-foreground);
  cursor: pointer;
  transition: color 0.3s;
}
.lo-landing .lo-modal__close:hover { color: var(--foreground); }
.lo-landing .lo-modal__close svg { width: 1.25rem; height: 1.25rem; }
.lo-landing .lo-modal__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--card-foreground);
  margin-bottom: 0.25rem;
}
.lo-landing .lo-modal__desc {
  font-size: 0.875rem;
  color: var(--muted-foreground);
  margin-bottom: 1.25rem;
}

/* ================================================================
   GRACIAS page
   ================================================================ */
.lo-landing .lo-gracias {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 4rem 2rem;
  background: var(--background);
}
.lo-landing .lo-gracias__icon {
  width: 5rem; height: 5rem;
  border-radius: 50%;
  background: hsl(24 100% 50% / 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 2rem;
}
.lo-landing .lo-gracias__icon svg { width: 2.5rem; height: 2.5rem; color: var(--primary); }
.lo-landing .lo-gracias__title {
  font-family: var(--font-display);
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--foreground);
  margin-bottom: 1rem;
}
.lo-landing .lo-gracias__text {
  color: var(--muted-foreground);
  font-size: 1.125rem;
  max-width: 32rem;
  margin: 0 auto 2rem;
  line-height: 1.7;
}
