:root {
  color-scheme: light;
  --navy: #123263;
  --navy-deep: #0b2347;
  --teal: #34a8bf;
  --orange: #f47d30;
  --sand: #f6efe7;
  --mist: #f5f9fc;
  --ink: #1d2b3a;
  --muted: #627489;
  --line: rgba(18, 50, 99, 0.12);
  --success: #0f8c6a;
  --warning: #eb9a2f;
  --danger: #cf4d57;
  --shadow: 0 20px 60px rgba(18, 50, 99, 0.16);
  --radius-lg: 28px;
  --radius-md: 20px;
  --radius-sm: 14px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: "Outfit", sans-serif;
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--ink);
  background:
    radial-gradient(circle at top, rgba(52, 168, 191, 0.08), transparent 32%),
    linear-gradient(180deg, #fbf7f1 0%, #f4f8fc 100%);
  background-attachment: scroll;
  min-height: 100vh;
}

img,
picture,
video,
canvas,
iframe {
  display: block;
  max-width: 100%;
}

img,
picture,
video,
canvas {
  height: auto;
}

svg {
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

h1,
h2,
h3,
.company-visual-card h3,
.company-section-head h2,
.company-step-card h3,
.company-contrast-card h3,
.company-include-card h3 {
  text-wrap: balance;
}

p,
li,
.company-proof-pill span,
.company-trust-note,
.lead {
  text-wrap: pretty;
}

button,
input,
select,
textarea {
  font: inherit;
  min-width: 0;
}

button {
  cursor: pointer;
}

.site-shell {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: max(8px, env(safe-area-inset-top)) 0 max(32px, env(safe-area-inset-bottom));
}

.site-shell > *,
.company-topbar > *,
.company-main > *,
.company-hero--split > *,
.company-visual > *,
.company-proof-grid > *,
.company-proof-strip > *,
.company-steps-grid > *,
.company-value-grid > *,
.company-includes-grid > *,
.company-problem-grid > *,
.company-showcase-grid > *,
.company-benefits-grid > *,
.company-trust-grid > * {
  min-width: 0;
}

.site-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px 18px;
  margin-top: 10px;
  padding: 34px 0 10px;
  border-top: 1px solid rgba(18, 50, 99, 0.08);
  color: var(--muted);
  font-size: 0.86rem;
}

.site-footer-copy {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  min-width: 0;
}

.site-footer-copy strong {
  color: var(--navy);
}

.site-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  min-width: 0;
}

.site-footer-links a {
  color: color-mix(in srgb, var(--navy) 84%, white);
  text-decoration: underline;
  text-decoration-color: rgba(18, 50, 99, 0.28);
  text-underline-offset: 3px;
  font-weight: 600;
  overflow-wrap: anywhere;
  transition: color 180ms ease, text-decoration-color 180ms ease;
}

.site-footer-links a:hover {
  color: var(--navy);
  text-decoration-color: rgba(18, 50, 99, 0.48);
}

.brand-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-bottom: 8px;
  position: relative;
  min-height: 84px;
}

.brand-bar--admin {
  justify-content: space-between;
}

.brand-lockup {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  justify-content: center;
}

.brand-mark,
.brand-wordmark {
  display: none;
}

.brand-mark {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 94px;
  height: auto;
}

.brand-mark-image {
  width: 94px;
  height: auto;
  display: block;
}

.brand-wordmark {
  text-decoration: none;
}

.brand-wordmark-image {
  display: block;
  width: 220px;
  height: auto;
}

.brand-logo {
  display: block;
  width: min(360px, 74vw);
  height: auto;
  filter: drop-shadow(0 8px 16px rgba(18, 50, 99, 0.05));
}

.brand-logo--admin {
  width: min(220px, 40vw);
}

.public-brand-tagline {
  display: inline-block;
  margin-top: -54px;
  margin-bottom: 4px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1rem, 2.6vw, 1.35rem);
  font-weight: 500;
  letter-spacing: 0.03em;
  color: #556a83;
  opacity: 0.95;
}

body[data-page="public"][data-public-view]:not([data-public-view="language"]) .brand-bar {
  margin-bottom: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 0;
  padding-right: 0;
  min-height: 74px;
}

body[data-page="public"][data-public-view]:not([data-public-view="language"]) .public-brand-tagline {
  display: none;
}

body[data-page="public"][data-public-view]:not([data-public-view="language"]) .brand-lockup {
  display: none;
}

body[data-page="public"][data-public-view]:not([data-public-view="language"]) .brand-mark,
body[data-page="public"][data-public-view="categories"] .brand-wordmark,
body[data-page="legal"] .brand-mark,
body[data-page="legal"] .brand-wordmark {
  display: inline-flex;
}

body[data-page="public"][data-public-view]:not([data-public-view="language"]) .brand-mark {
  position: absolute;
  left: -18px;
  top: -12px;
  transform: none;
  width: 86px;
  height: auto;
}

body[data-page="public"][data-public-view]:not([data-public-view="language"]):not([data-public-view="categories"]) .brand-mark {
  left: -30px;
}

body[data-page="public"][data-public-view]:not([data-public-view="language"]) .brand-mark-image {
  width: 86px;
  height: auto;
}

body[data-page="legal"] .brand-mark {
  position: absolute;
  left: -14px;
  top: -8px;
  transform: none;
}

body[data-page="legal"] .brand-bar-copy {
  display: grid;
  gap: 2px;
  width: 100%;
  max-width: min(100%, 620px);
  padding-left: 72px;
  padding-right: 12px;
  justify-items: start;
  text-align: left;
}

body[data-page="legal"] .brand-claim {
  color: #556a83;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(0.96rem, 2.4vw, 1.18rem);
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.1;
}

body[data-page="public"][data-public-view="categories"] .brand-wordmark {
  justify-content: center;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: 1;
}

body[data-page="public"][data-public-view]:not([data-public-view="language"]):not([data-public-view="categories"]) .brand-wordmark {
  display: none !important;
}

body[data-page="legal"] .brand-wordmark {
  justify-content: center;
  position: relative;
  z-index: 1;
}

body[data-page="legal"] .brand-wordmark {
  display: none !important;
}

body[data-page="legal"] .brand-bar {
  margin-bottom: 2px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-left: 0;
  padding-right: 0;
  min-height: 74px;
}

body[data-page="legal"] .brand-lockup {
  display: none;
}

.pill-link,
.secondary-button,
.primary-button,
.text-button,
.nav-tab,
.back-link {
  border: 0;
  border-radius: 999px;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease;
}

.pill-link,
.secondary-button,
.text-button,
.nav-tab,
.back-link {
  background: rgba(18, 50, 99, 0.08);
  color: var(--navy);
}

.pill-link,
.primary-button,
.secondary-button,
.text-button,
.back-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 18px;
  font-weight: 600;
}

.pill-link--button {
  appearance: none;
}

.primary-button {
  width: 100%;
  background: linear-gradient(135deg, var(--orange), #ff9555);
  color: white;
  box-shadow: 0 16px 34px rgba(244, 125, 48, 0.28);
}

.primary-button--static-info {
  cursor: default;
}

.primary-button--static-info[aria-disabled="true"] {
  pointer-events: none;
  opacity: 1;
}

.secondary-button {
  background: rgba(18, 50, 99, 0.08);
}

.secondary-button--transfer {
  background: linear-gradient(135deg, rgba(56, 128, 255, 0.2), rgba(79, 177, 255, 0.34));
  color: #0f3f8f;
  box-shadow: inset 0 0 0 1px rgba(56, 128, 255, 0.18);
}

.secondary-button--whatsapp {
  gap: 10px;
}

.secondary-button--whatsapp::before {
  content: "";
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='16' fill='%2325D366'/%3E%3Cpath fill='%23fff' d='M22.55 18.78c-.33-.17-1.96-.97-2.26-1.08-.3-.11-.52-.17-.74.17-.22.33-.85 1.08-1.05 1.3-.19.22-.39.25-.72.08-.33-.17-1.38-.51-2.63-1.64-.97-.87-1.62-1.95-1.81-2.28-.19-.33-.02-.51.15-.68.15-.15.33-.39.5-.58.17-.19.22-.33.33-.55.11-.22.06-.41-.03-.58-.08-.17-.74-1.78-1.01-2.43-.27-.65-.54-.56-.74-.57-.19-.01-.41-.01-.63-.01-.22 0-.58.08-.88.41-.3.33-1.16 1.13-1.16 2.76s1.19 3.21 1.35 3.43c.17.22 2.34 3.58 5.67 5.02.79.34 1.41.54 1.89.69.79.25 1.5.21 2.06.13.63-.09 1.96-.8 2.24-1.57.28-.77.28-1.43.2-1.57-.08-.14-.3-.22-.63-.39Z'/%3E%3Cpath fill='%23fff' d='M16.12 6.37c-5.29 0-9.59 4.3-9.59 9.59 0 1.69.44 3.34 1.28 4.79l-1.36 4.96 5.08-1.33a9.54 9.54 0 0 0 4.58 1.16h.01c5.29 0 9.59-4.3 9.59-9.59 0-2.56-1-4.96-2.81-6.77a9.52 9.52 0 0 0-6.78-2.81Zm0 17.46h-.01a7.9 7.9 0 0 1-4.03-1.1l-.29-.17-3.02.79.81-2.94-.19-.3a7.9 7.9 0 0 1-1.22-4.15c0-4.36 3.55-7.91 7.91-7.91 2.11 0 4.1.82 5.6 2.32a7.85 7.85 0 0 1 2.31 5.59c0 4.36-3.55 7.91-7.9 7.91Z'/%3E%3C/svg%3E");
}

.primary-button:hover,
.secondary-button:hover,
.pill-link:hover,
.text-button:hover,
.nav-tab:hover,
.back-link:hover {
  transform: translateY(-1px);
}

.view,
.admin-tab,
.admin-login,
.admin-dashboard {
  display: none;
}

.view.is-visible,
.admin-tab.is-visible,
.admin-login.is-visible,
.admin-dashboard.is-visible {
  display: block;
}

.hero-card,
.detail-card,
.panel-card,
.editor-form,
.request-form,
.card,
.stats-card {
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  backdrop-filter: blur(12px);
}

.hero-card {
  padding: clamp(28px, 6vw, 48px);
  position: relative;
  overflow: hidden;
}

.hero-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 8px;
  background: linear-gradient(90deg, var(--teal) 0%, var(--orange) 100%);
}

.hero-card--public {
  max-width: 520px;
  margin: 0 auto;
  padding-top: 2px;
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
}

.hero-card--success,
.hero-card--login {
  max-width: 760px;
  margin: 0 auto;
}

.hero-card--legal {
  max-width: 900px;
  margin: 0 auto;
  padding-top: 22px;
}

.legal-toolbar {
  display: grid;
  gap: 16px;
  margin-bottom: 22px;
}

.legal-page-nav,
.legal-language-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.legal-language-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.legal-language-label {
  font-size: 0.86rem;
  font-weight: 700;
  color: var(--navy);
}

.legal-language-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  min-width: 38px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(18, 50, 99, 0.08);
  color: var(--navy);
  font-weight: 700;
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.legal-page-nav a[aria-current="page"],
.legal-language-links a[aria-current="true"] {
  background: rgba(18, 50, 99, 0.16);
  box-shadow: 0 12px 24px rgba(18, 50, 99, 0.08);
}

.legal-page-nav a:hover,
.legal-language-links a:hover,
.legal-page-nav a:focus-visible,
.legal-language-links a:focus-visible {
  transform: translateY(-1px);
  outline: none;
}

@media (max-width: 720px) {
  .legal-toolbar {
    gap: 14px;
  }

  .legal-page-nav,
  .legal-language-nav,
  .legal-language-links {
    justify-content: center;
  }

  .legal-page-nav a {
    flex: 1 1 calc(50% - 10px);
    min-width: 0;
  }
}

.hero-card--public::before {
  display: none;
}

.eyebrow {
  margin: 0 0 8px;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--orange);
  font-weight: 700;
}

h1,
h2,
h3 {
  margin: 0;
  color: var(--navy);
}

h1 {
  font-size: clamp(2rem, 7vw, 3.5rem);
  line-height: 0.98;
  max-width: 11ch;
}

h2 {
  font-size: clamp(1.65rem, 5vw, 2.4rem);
}

h3 {
  font-size: 1.2rem;
}

.lead,
.mini-note,
.detail-description,
.card-copy,
.detail-meta,
.selected-summary,
.panel-meta {
  color: var(--muted);
}

.lead {
  font-size: 1.05rem;
  max-width: 56ch;
  line-height: 1.5;
}

.legal-copy {
  display: grid;
  gap: 20px;
  margin-top: 24px;
  color: var(--ink);
}

.legal-block {
  display: grid;
  gap: 10px;
}

.legal-block h2,
.legal-block h3 {
  color: var(--navy);
}

.legal-block p,
.legal-block li {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.legal-block ul {
  margin: 0;
  padding-left: 20px;
  display: grid;
  gap: 8px;
}

.legal-highlight {
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(18, 50, 99, 0.05);
  border: 1px solid rgba(18, 50, 99, 0.08);
}

.legal-meta-line {
  display: grid;
  gap: 2px;
}

.legal-meta-label {
  color: var(--navy);
}

.legal-meta-value {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.mini-note {
  margin-top: 18px;
  font-size: 0.92rem;
}

.mini-note--status {
  margin-top: 8px;
  color: var(--navy);
  font-weight: 600;
}

.section-heading,
.panel-head,
.split-panel,
.filter-row,
.form-actions,
.success-actions,
.quick-actions {
  display: flex;
  gap: 14px;
}

.section-heading,
.panel-head {
  align-items: end;
  justify-content: space-between;
  margin-bottom: 18px;
}

.section-heading {
  max-width: 660px;
  margin: 0 auto 24px;
  text-align: center;
}

.section-heading > div {
  display: inline-grid;
  justify-items: start;
  gap: 0;
  max-width: 100%;
}

.section-lead {
  margin: 12px 0 0;
  max-width: 34ch;
  color: var(--muted);
  font-size: 0.98rem;
  line-height: 1.5;
  text-wrap: pretty;
}

#list-view .section-lead {
  max-width: 100%;
  width: auto;
  margin-left: 0;
  margin-right: 0;
  font-size: clamp(0.8rem, 2.45vw, 0.94rem);
  line-height: 1.24;
  white-space: normal;
}

.language-grid,
.category-grid,
.cards-stack,
.stats-grid {
  display: grid;
  gap: 18px;
}

.language-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 420px;
  margin: 0 auto;
  gap: 14px;
}

.language-card,
.category-card,
.card,
.stats-card {
  padding: 20px;
}

.language-card,
.category-card {
  border-radius: var(--radius-md);
  border: 1px solid rgba(18, 50, 99, 0.04);
  background: rgba(255, 255, 255, 0.78);
  min-height: 92px;
  box-shadow: 0 12px 28px rgba(18, 50, 99, 0.08);
  text-align: left;
}

.language-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 132px;
  padding: 18px 12px;
  text-align: center;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.language-card strong,
.category-card strong {
  display: block;
  font-size: 1.18rem;
  color: var(--navy);
}

.language-card span,
.category-card span {
  display: block;
  margin-top: 10px;
  color: var(--muted);
}

.language-card .flag {
  display: block;
  width: 96px;
  height: 96px;
  object-fit: contain;
  border-radius: 50%;
  box-shadow: none;
  background: transparent;
  -webkit-clip-path: circle(var(--flag-clip, 42.3%) at 50% 50%);
  clip-path: circle(var(--flag-clip, 42.3%) at 50% 50%);
  transform: scale(var(--flag-scale, 1));
  transform-origin: center center;
}

.language-card[data-language="es"] {
  --flag-scale: 1.06;
  --flag-clip: 40.6%;
}

.language-card[data-language="en"] {
  --flag-scale: 1.005;
  --flag-clip: 42.2%;
}

.language-card[data-language="fr"] {
  --flag-scale: 1;
  --flag-clip: 42.5%;
}

.language-card[data-language="de"] {
  --flag-scale: 0.955;
  --flag-clip: 44.3%;
}

.language-card .language-text {
  display: grid;
  gap: 0;
  justify-items: center;
  margin-top: -2px;
}

.language-card strong {
  font-size: 1.02rem;
  line-height: 1;
  margin: 0;
}

.category-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 548px;
  margin: 0 auto;
  gap: 14px 18px;
}

.categories-shell {
  max-width: 580px;
  margin: 0 auto;
  padding: 4px 0 2px;
}

.category-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 174px;
  padding: 14px 10px 12px;
  border: 0;
  background: transparent;
  box-shadow: none;
  text-align: center;
}

.category-card .icon-badge {
  position: relative;
  width: 172px;
  height: auto;
  border-radius: 0;
  display: grid;
  place-items: center;
  color: inherit;
  box-shadow: none;
  isolation: isolate;
  background: transparent;
  overflow: visible;
}

.category-card .icon-badge::before {
  content: none;
}

.category-card .icon-badge::after {
  content: none;
}

.category-card .icon-badge svg {
  width: 76px;
  height: 76px;
  filter: drop-shadow(0 2px 6px rgba(8, 23, 49, 0.08));
}

.category-card[data-category="cars"] .icon-badge svg {
  transform: translateX(-1px);
}

.category-card .icon-badge img {
  width: 82px;
  height: 82px;
  object-fit: contain;
}

.category-card .icon-badge .rich-category-image {
  width: 122px;
  height: 122px;
  object-fit: contain;
  border-radius: 0;
  box-shadow: none;
}

.category-card .icon-badge .rich-category-image--top {
  width: 172px;
  height: 146px;
  display: block;
  object-fit: contain;
  background: transparent;
  box-shadow: none;
  transform: translateY(var(--poster-offset-y, 0px)) scale(var(--poster-scale, 1));
  transform-origin: center center;
}

.category-card .icon-badge .rich-category-image--uniform {
  width: 172px;
  height: 146px;
}

.category-card[data-category="restaurants"] {
  --poster-scale: 1.07;
}

.category-card[data-category="excursions"] {
  --poster-scale: 1.045;
}

.category-card[data-category="experiences"] {
  --poster-scale: 0.986;
}

.category-card[data-category="transfers"] {
  --poster-scale: 1.028;
}

.category-card[data-category="cars"] {
  --poster-scale: 0.975;
}

.category-card[data-category="bikes"] {
  --poster-scale: 0.974;
}

.category-card[data-category="cars"],
.category-card[data-category="bikes"] {
  --poster-offset-y: 0px;
}

.category-card .category-unified-title {
  display: block;
  margin: 0;
  color: #10295a;
  font-size: 0.98rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.06;
  text-align: center;
  max-width: 172px;
  min-height: 2.18em;
  text-wrap: balance;
}

.category-card .category-unified-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 100%;
  margin-top: -4px;
}

.category-card .category-unified-divider::after {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: var(--divider-to, currentColor);
  flex: 0 0 auto;
  box-shadow: 0 2px 6px rgba(18, 50, 99, 0.08);
}

.category-card .category-unified-divider span {
  display: block;
  width: 46px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--divider-from, currentColor) 0%, var(--divider-to, currentColor) 100%);
  box-shadow: 0 2px 6px rgba(18, 50, 99, 0.08);
}

.tone-divider-restaurants {
  --divider-from: #ffb133;
  --divider-to: #ff9a21;
}

.tone-divider-excursions,
.tone-divider-bikes {
  --divider-from: #37d4cf;
  --divider-to: #1fc1be;
}

.tone-divider-experiences {
  --divider-from: #ff77b6;
  --divider-to: #ff5ca5;
}

.tone-divider-transfers {
  --divider-from: #8f63ff;
  --divider-to: #6f44eb;
}

.tone-divider-cars {
  --divider-from: #3d97ff;
  --divider-to: #2380ea;
}

.category-card .icon-badge .transfer-reference-icon {
  width: 92px;
  height: 92px;
  object-fit: cover;
  border-radius: 28px;
  box-shadow: 0 10px 22px rgba(18, 50, 99, 0.14);
}

.category-card[data-category="transfers"] .icon-badge {
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.category-card strong {
  font-size: 1.08rem;
  letter-spacing: 0.01em;
  margin: 0;
  max-width: 12ch;
}

.category-card span {
  margin-top: 0;
}

.category-actions {
  display: flex;
  justify-content: center;
  margin-top: 14px;
}

.text-button {
  background: rgba(255, 255, 255, 0.35);
  border: 1px solid rgba(18, 50, 99, 0.08);
  box-shadow: 0 8px 18px rgba(18, 50, 99, 0.08);
}

.tone-restaurants {
  background: linear-gradient(145deg, #ff9a58 0%, #ef624a 100%);
}

.tone-excursions {
  background: linear-gradient(145deg, #41bfd0 0%, #1f8d9b 100%);
}

.tone-experiences {
  background: linear-gradient(145deg, #42c1eb 0%, #3b5de6 100%);
}

.tone-transfers {
  background: linear-gradient(145deg, #1d467f 0%, #25a8bf 100%);
}

.tone-cars {
  background: linear-gradient(145deg, #6a83ff 0%, #2947aa 100%);
}

.tone-bikes {
  background: linear-gradient(145deg, #82c244 0%, #24a36a 100%);
}

.category-card .restaurant-sparkle {
  transform-origin: 33.8px 16.7px;
  animation: sparklePulse 2.8s ease-in-out infinite;
}

.category-card .excursion-sun {
  animation: sunDrift 4.6s ease-in-out infinite;
}

.category-card .experience-star {
  transform-origin: 24px 23px;
  animation: starBreath 4s ease-in-out infinite;
}

.category-card .experience-twinkle {
  transform-origin: 15px 20.8px;
  animation: sparklePulse 2.4s ease-in-out infinite;
}

.category-card .transfer-plane {
  animation: planeCruise 4.8s ease-in-out infinite;
}

.category-card .transfer-car {
  animation: carGlide 4.8s ease-in-out infinite;
}

.category-card .car-wheels,
.category-card .bike-wheels {
  transform-origin: center;
  animation: wheelSpin 5.2s linear infinite;
}

@keyframes sparklePulse {
  0%,
  100% {
    opacity: 0.72;
    transform: scale(0.9);
  }
  50% {
    opacity: 1;
    transform: scale(1.08);
  }
}

@keyframes sunDrift {
  0%,
  100% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(-1.5px, 2.5px);
  }
}

@keyframes starBreath {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.06);
  }
}

@keyframes planeCruise {
  0%,
  100% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(1.8px, -1.8px);
  }
}

@keyframes carGlide {
  0%,
  100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(1.5px);
  }
}

@keyframes wheelSpin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.whatsapp-banner {
  margin-top: 22px;
  padding: 18px 22px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: linear-gradient(135deg, rgba(18, 50, 99, 0.92), rgba(52, 168, 191, 0.92));
  color: white;
  box-shadow: var(--shadow);
}

.cards-stack {
  grid-template-columns: 1fr;
  gap: 24px;
  max-width: 620px;
  margin: 0 auto;
}

.card {
  padding: 0;
  overflow: hidden;
}

.card--listing {
  border: 0;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 18px 42px rgba(18, 50, 99, 0.12);
}

.card-media {
  min-height: 220px;
  background-color: #eef3f8;
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
}

.card-media::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 42%;
  background: linear-gradient(180deg, rgba(5, 21, 43, 0) 0%, rgba(5, 21, 43, 0.32) 100%);
}

.card-body {
  padding: 18px 22px 24px;
}

.card-details-panel {
  display: grid;
  gap: 14px;
  margin-top: 16px;
}

.card-details-panel[hidden] {
  display: none;
}

.card-details-toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--navy);
  font: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.18em;
  cursor: pointer;
}

.card-details-toggle::before {
  content: "+";
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(18, 50, 99, 0.08);
  font-size: 1rem;
  line-height: 1;
}

.card-details-toggle.is-expanded::before {
  content: "-";
}

.card-meta {
  display: block;
  margin-bottom: 12px;
}

.card-meta strong {
  display: block;
  font-size: clamp(1.38rem, 3vw, 1.72rem);
  line-height: 1.02;
  color: var(--navy);
}

.card-media-badges {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 6px;
  z-index: 2;
}

.card-media-price {
  position: absolute;
  left: 16px;
  top: 16px;
  z-index: 2;
  display: flex;
  justify-content: flex-start;
  max-width: min(52%, 220px);
}

.card--listing[data-category="cars"] .card-media-price {
  top: auto;
  bottom: 12px;
}

.card-media-badges .route-metrics {
  margin: 0 0 2px;
  transform: translateY(3px);
}

.card-media-badges .route-source {
  color: rgba(255, 255, 255, 0.92);
  text-shadow: 0 6px 18px rgba(4, 14, 24, 0.34);
  font-size: 0.84rem;
  line-height: 1.32;
  padding-bottom: 2px;
}

.badge {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
}

.badge--navy {
  background: rgba(18, 50, 99, 0.1);
  color: var(--navy);
}

.card-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0 0;
}

.card-facts--summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 10px;
  margin: 0;
}

.route-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 14px 0 8px;
}

.route-metrics--compact {
  margin: 0;
}

.route-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 30px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(8, 18, 31, 0.82);
  color: #fff;
  box-shadow: 0 16px 34px rgba(7, 14, 24, 0.22);
  backdrop-filter: blur(6px);
}

.route-chip-icon {
  font-size: 0.9rem;
  line-height: 1;
}

.route-chip-value {
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.price-chip {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 12px;
  border-radius: 999px;
  max-width: 100%;
  background: linear-gradient(135deg, rgba(116, 192, 67, 0.94), rgba(59, 168, 109, 0.96));
  color: #fff;
  box-shadow: 0 16px 34px rgba(31, 96, 58, 0.26);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.route-source {
  margin: 0;
  color: rgba(14, 35, 73, 0.72);
  font-size: 0.9rem;
  line-height: 1.4;
}

.car-builder-body .card-facts {
  margin: 14px 0 20px;
}

.card-fact {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(18, 50, 99, 0.08);
  color: var(--navy);
  font-size: 0.8rem;
  font-weight: 700;
}

.card-fact--summary {
  justify-content: flex-start;
  align-items: center;
  min-height: 56px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(18, 50, 99, 0.1);
  background: rgba(247, 251, 255, 0.96);
  color: rgba(14, 35, 73, 0.92);
  text-align: left;
  line-height: 1.25;
  white-space: normal;
}

.card-link {
  display: inline-flex;
  margin-top: 14px;
  color: var(--navy);
  font-size: 0.92rem;
  font-weight: 700;
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.card-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin-top: 14px;
  min-width: 0;
}

.card-links .card-link {
  margin-top: 0;
}

.card-link-button {
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  cursor: pointer;
}

.pickup-disclosure {
  margin-top: 14px;
  border: 1px solid rgba(18, 50, 99, 0.12);
  border-radius: 18px;
  background: rgba(247, 251, 255, 0.92);
  overflow: hidden;
}

.pickup-disclosure summary {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  cursor: pointer;
  list-style: none;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--navy);
}

.pickup-disclosure summary::-webkit-details-marker {
  display: none;
}

.pickup-disclosure-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: rgba(18, 50, 99, 0.1);
  color: var(--navy);
  font-size: 0.82rem;
  font-weight: 800;
  flex: 0 0 auto;
}

.pickup-disclosure-body {
  padding: 0 14px 14px;
}

.pickup-disclosure-title {
  margin: 0 0 6px;
  color: var(--navy);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pickup-disclosure-copy {
  margin: 0;
  color: rgba(14, 35, 73, 0.82);
  font-size: 0.94rem;
  line-height: 1.5;
}

.pickup-disclosure-link {
  margin-top: 12px;
}

.pickup-disclosure--compact .pickup-disclosure-copy {
  font-size: 0.9rem;
}

.guest-note-card {
  margin-top: 14px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(18, 50, 99, 0.06);
  border: 1px solid rgba(18, 50, 99, 0.1);
}

.guest-note-card--recommended {
  background: rgba(246, 250, 255, 0.98);
  border-color: rgba(52, 112, 219, 0.14);
}

.guest-note-card-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

.guest-note-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: rgba(18, 50, 99, 0.12);
  color: var(--navy);
  font-size: 0.82rem;
  font-weight: 800;
  flex: 0 0 auto;
}

.guest-note-card-title {
  margin: 0;
  color: var(--navy);
  font-size: 0.9rem;
  font-weight: 800;
}

.guest-note-card-copy {
  margin: 0;
  color: rgba(14, 35, 73, 0.82);
  font-size: 0.94rem;
  line-height: 1.5;
}

.guest-note-card--compact .guest-note-card-copy {
  font-size: 0.9rem;
}

.car-builder {
  max-width: 620px;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 42px rgba(18, 50, 99, 0.12);
}

.car-builder-hero {
  min-height: 220px;
  background-size: cover;
  background-position: center;
}

.car-builder-body {
  padding: 22px 22px 24px;
}

.car-builder-copy {
  margin: 0 0 18px;
  color: var(--muted);
  line-height: 1.55;
}

.car-builder-section + .car-builder-section {
  margin-top: 22px;
}

.car-builder-section h3 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 1rem;
}

.car-option-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.car-option-card,
.transmission-pill {
  border: 1px solid rgba(18, 50, 99, 0.1);
  background: rgba(255, 255, 255, 0.96);
  color: var(--navy);
  border-radius: 18px;
  box-shadow: 0 10px 22px rgba(18, 50, 99, 0.06);
}

.car-option-card {
  display: grid;
  gap: 6px;
  padding: 16px 14px;
  text-align: left;
}

.car-option-card strong {
  display: block;
  font-size: 1rem;
  line-height: 1;
}

.car-option-card span {
  display: block;
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.35;
}

.transmission-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.inline-select {
  width: 100%;
}

.transmission-pill {
  min-height: 44px;
  padding: 0 16px;
  font-weight: 700;
}

.car-option-card.is-selected,
.transmission-pill.is-selected {
  border-color: rgba(52, 168, 191, 0.38);
  background: linear-gradient(180deg, rgba(52, 168, 191, 0.12) 0%, rgba(244, 125, 48, 0.08) 100%);
  box-shadow: 0 14px 26px rgba(18, 50, 99, 0.1);
}

.badge--success {
  background: rgba(15, 140, 106, 0.12);
  color: var(--success);
}

.badge--warning {
  background: rgba(235, 154, 47, 0.12);
  color: var(--warning);
}

.badge--danger {
  background: rgba(207, 77, 87, 0.12);
  color: var(--danger);
}

.detail-card {
  overflow: hidden;
}

.detail-photo {
  min-height: 250px;
  background-size: cover;
  background-position: center;
}

.detail-body {
  padding: 26px;
}

.detail-meta {
  font-size: 0.95rem;
  margin-bottom: 12px;
}

.detail-facts {
  margin: 0 0 16px;
}

.detail-guest-note {
  margin-top: 18px;
}

#detail-pickup-info[hidden] {
  display: none !important;
}

#detail-pickup-info {
  margin-top: 18px;
}

.guest-modal {
  position: fixed;
  inset: 0;
  z-index: 140;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(9, 31, 64, 0.44);
  backdrop-filter: blur(10px);
}

.guest-modal[hidden] {
  display: none !important;
}

.guest-modal.is-visible {
  display: flex;
}

.guest-modal-shell {
  width: min(1100px, 100%);
  max-height: calc(100dvh - 36px);
  display: grid;
  gap: 16px;
  padding: 20px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(250, 252, 255, 0.98), rgba(243, 248, 253, 0.96));
  box-shadow: 0 30px 80px rgba(18, 50, 99, 0.24);
}

.guest-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.guest-modal-head h3 {
  margin: 4px 0 0;
  color: var(--navy);
  font-size: clamp(1.4rem, 4vw, 2rem);
}

.guest-modal-frame-wrap {
  min-height: 70dvh;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(11, 42, 74, 0.08);
  background: white;
}

.guest-modal-frame {
  width: 100%;
  height: 70dvh;
  border: 0;
  background: white;
}

.guest-modal-shell--menu {
  width: min(860px, 100%);
}

.restaurant-menu-sheet {
  max-height: min(72dvh, 840px);
  overflow: auto;
  padding: clamp(22px, 4vw, 34px);
  border-radius: 24px;
  border: 1px solid rgba(18, 50, 99, 0.08);
  background:
    linear-gradient(180deg, rgba(255, 247, 240, 0.98), rgba(252, 239, 228, 0.96)),
    radial-gradient(circle at top right, rgba(240, 166, 112, 0.16), transparent 36%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.66);
}

.restaurant-menu-section + .restaurant-menu-section {
  margin-top: 22px;
}

.restaurant-menu-section-title {
  margin: 0 0 10px;
  color: #8e5623;
  font-size: 1rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.restaurant-menu-items {
  display: grid;
  gap: 10px;
}

.restaurant-menu-item {
  padding-bottom: 10px;
  border-bottom: 1px dashed rgba(142, 86, 35, 0.18);
  color: #243b63;
  line-height: 1.55;
}

body.guest-modal-open {
  overflow: hidden;
}

.route-metrics--detail {
  margin: 0 0 10px;
}

body[data-page="company"] {
  background:
    radial-gradient(circle at top left, rgba(255, 199, 123, 0.22), transparent 30%),
    radial-gradient(circle at top right, rgba(67, 177, 214, 0.16), transparent 24%),
    linear-gradient(180deg, #f8fbfe 0%, #eef4fa 48%, #f7fbff 100%);
}

.company-shell {
  min-height: 100vh;
  padding: 24px clamp(18px, 4vw, 44px) 36px;
}

.company-topbar {
  max-width: 1180px;
  margin: 0 auto 18px;
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
}

.brand-lockup--company {
  position: relative;
  gap: 6px;
  min-width: 0;
  align-self: start;
  justify-content: flex-start;
  align-items: flex-start;
  transform: translateY(-18px);
  margin-top: 0;
  margin-bottom: -20px;
}

.brand-lockup--company .brand-logo {
  display: block;
  width: min(294px, 24.5vw);
}

.brand-lockup--company .public-brand-tagline {
  margin-top: -48px;
  margin-bottom: 0;
  padding-left: 2px;
  font-size: clamp(0.92rem, 1.16vw, 1.08rem);
  letter-spacing: 0.02em;
  line-height: 1.05;
  white-space: nowrap;
}

.company-nav {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
}

.company-topbar-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  width: 100%;
}

.company-topbar-row .company-nav {
  flex: 1 1 auto;
  width: auto;
}

.company-topbar-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  min-height: 128px;
  gap: 10px;
  align-self: start;
  padding-top: 0;
}

.company-language {
  position: relative;
  flex: 0 0 auto;
}

.company-language-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid rgba(18, 50, 99, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: rgba(18, 50, 99, 0.82);
  font: inherit;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.company-language-toggle:hover,
.company-language-toggle:focus-visible {
  background: rgba(255, 255, 255, 0.96);
  border-color: rgba(18, 50, 99, 0.16);
  color: var(--navy);
  box-shadow: 0 10px 22px rgba(18, 50, 99, 0.08);
  outline: none;
}

.company-language-globe {
  font-size: 0.88rem;
  line-height: 1;
}

.company-language-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 24;
  display: grid;
  gap: 4px;
  min-width: 174px;
  padding: 8px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(18, 50, 99, 0.1);
  box-shadow: 0 18px 36px rgba(18, 50, 99, 0.12);
  backdrop-filter: blur(12px);
}

.company-language-menu[hidden] {
  display: none;
}

.company-language-menu button {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 38px;
  padding: 0 12px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: rgba(18, 50, 99, 0.84);
  font: inherit;
  font-size: 0.88rem;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  transition: background-color 180ms ease, color 180ms ease;
}

.company-language-menu button:hover,
.company-language-menu button:focus-visible,
.company-language-menu button[aria-checked="true"] {
  background: rgba(18, 50, 99, 0.08);
  color: var(--navy);
  outline: none;
}

.company-language-mobile {
  display: none;
}

.company-language-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.company-language-mobile-label {
  color: rgba(18, 50, 99, 0.66);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.company-language-inline button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(18, 50, 99, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: rgba(18, 50, 99, 0.82);
  font: inherit;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.company-language-inline button:hover,
.company-language-inline button:focus-visible,
.company-language-inline button[aria-pressed="true"] {
  background: rgba(18, 50, 99, 0.08);
  border-color: rgba(18, 50, 99, 0.16);
  color: var(--navy);
  outline: none;
}

.company-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 36px;
  padding: 0 16px;
  border-radius: 999px;
  width: max-content;
  max-width: none;
  font-size: 0.79rem;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  color: rgba(18, 50, 99, 0.82);
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(18, 50, 99, 0.08);
  transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.company-nav a[href="#solucion"] {
  min-width: 104px;
}

.company-nav a[href="#como-funciona"] {
  min-width: 148px;
}

.company-nav a[href="#incluye"] {
  min-width: 126px;
}

.company-nav a[href="#modelo"] {
  min-width: 108px;
}

.company-nav a[href="#para-quien"] {
  min-width: 146px;
}

.company-nav a[href="#contacto"] {
  min-width: 104px;
}

.company-nav a:hover {
  background: rgba(255, 255, 255, 0.96);
  color: var(--navy);
  border-color: rgba(18, 50, 99, 0.14);
}

.company-main {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  gap: 18px;
}

.company-hero,
.company-section,
.company-contact-card {
  border-radius: 30px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 255, 255, 0.88) 100%);
  border: 1px solid rgba(18, 50, 99, 0.08);
  box-shadow: 0 22px 46px rgba(18, 50, 99, 0.1);
}

.company-hero {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  align-items: start;
  padding: clamp(22px, 3.8vw, 34px);
}

.company-hero-copy {
  max-width: 980px;
  display: grid;
  align-content: start;
  gap: 16px;
  justify-self: center;
  text-align: center;
}

.company-hero h1,
.company-section h2,
.company-contact-card h2 {
  margin: 0;
  max-width: 20ch;
  font-size: clamp(1.9rem, 2.7vw, 3rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
  color: #123263;
  justify-self: center;
  text-align: center;
}

.company-hero .lead,
.company-contact-card p,
.company-step-card p,
.company-offer-card p,
.company-audience-card p,
.company-pillar-card p,
.company-proof-card span {
  margin: 0;
  color: rgba(18, 50, 99, 0.78);
  line-height: 1.68;
}

.company-hero .lead,
.company-trust-note {
  max-width: 760px;
  justify-self: center;
  text-align: center;
}

.company-trust-note--hero {
  display: inline-flex;
  justify-self: start;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(18, 50, 99, 0.06);
  border: 1px solid rgba(18, 50, 99, 0.08);
  color: rgba(18, 50, 99, 0.8);
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1;
}

.company-hero-actions,
.company-contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 4px;
  justify-content: center;
}

.company-proof-grid,
.company-steps-grid,
.company-value-grid,
.company-includes-grid,
.company-audience-grid,
.company-pillars-grid {
  display: grid;
  gap: 16px;
  align-items: stretch;
}

.company-proof-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 10px;
}

.company-inline-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.company-inline-points span,
.company-trust-note {
  color: rgba(18, 50, 99, 0.72);
}

.company-inline-points span {
  display: inline-flex;
  align-items: center;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(18, 50, 99, 0.06);
  border: 1px solid rgba(18, 50, 99, 0.08);
  font-size: 0.92rem;
  font-weight: 600;
}

.company-trust-note {
  font-size: 0.94rem;
  line-height: 1.6;
}

.company-proof-card,
.company-step-card,
.company-value-card,
.company-include-card,
.company-audience-card,
.company-pillar-card {
  height: 100%;
  border-radius: 22px;
  padding: 22px;
  background: rgba(249, 252, 255, 0.94);
  border: 1px solid rgba(18, 50, 99, 0.08);
}

.company-proof-card strong,
.company-step-card h3,
.company-value-card strong,
.company-include-card h3,
.company-audience-card h3 {
  display: block;
  margin: 0 0 8px;
  color: #123263;
}

.company-visual {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 404px));
  justify-content: center;
  gap: 18px;
  align-items: start;
}

.company-visual-card {
  position: relative;
  border-radius: 28px;
  border: 1px solid rgba(18, 50, 99, 0.12);
  box-shadow: 0 18px 38px rgba(18, 50, 99, 0.12);
  overflow: hidden;
}

.company-visual-card--guest {
  width: 100%;
  justify-self: stretch;
  background:
    radial-gradient(circle at top right, rgba(52, 168, 191, 0.14), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f6faff 100%);
}

.company-visual-card--admin {
  width: 100%;
  justify-self: stretch;
  background:
    radial-gradient(circle at top right, rgba(244, 125, 48, 0.12), transparent 30%),
    linear-gradient(180deg, #f6faff 0%, #edf4fb 100%);
}

.company-visual-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 18px 20px 0;
}

.company-visual-label {
  color: rgba(18, 50, 99, 0.5);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.company-visual-card h3,
.company-admin-list {
  padding-left: 20px;
  padding-right: 20px;
}

.company-visual-card h3 {
  margin: 12px 0 18px;
  color: var(--navy);
  font-size: 1.35rem;
  line-height: 1.16;
}

.company-demo-badge {
  display: inline-flex;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(18, 50, 99, 0.08);
  color: var(--navy);
}

.company-demo-badge--admin {
  background: rgba(18, 50, 99, 0.1);
}

.company-demo-route,
.company-demo-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0 20px;
}

.company-demo-route span,
.company-demo-pill,
.company-demo-cta {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  border-radius: 999px;
  background: rgba(18, 50, 99, 0.08);
  min-height: 34px;
  padding: 7px 14px;
  color: var(--navy);
  font-weight: 600;
  line-height: 1.2;
}

.company-demo-route--light {
  margin: 16px 0 20px;
}

.company-demo-grid {
  margin-top: 18px;
}

.company-demo-cta {
  display: inline-flex;
  margin: 18px 20px 20px;
  background: linear-gradient(135deg, #ff7c2f 0%, #ff9b58 100%);
  color: white;
}

.company-category-showcase {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 0 20px;
}

.company-category-showcase-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 132px;
  padding: 18px 14px;
  border-radius: 22px;
  background: rgba(18, 50, 99, 0.04);
  border: 1px solid rgba(18, 50, 99, 0.08);
  text-align: center;
}

.company-category-showcase-card img {
  display: block;
  width: 78px;
  height: 78px;
  object-fit: contain;
}

.company-category-showcase-card span {
  color: var(--navy);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.24;
}

.company-admin-highlights {
  display: grid;
  gap: 12px;
  padding: 0 20px;
}

.company-admin-highlight {
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(18, 50, 99, 0.08);
}

.company-admin-highlight strong,
.company-admin-highlight span {
  display: block;
}

.company-admin-highlight strong {
  margin-bottom: 4px;
  color: var(--navy);
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.company-admin-highlight span {
  color: rgba(18, 50, 99, 0.76);
  font-size: 0.92rem;
  line-height: 1.45;
}

.company-admin-list {
  list-style: none;
  padding-top: 0;
  padding-bottom: 20px;
  padding-left: 20px;
  padding-right: 20px;
  margin: 18px 0 0;
  display: grid;
  gap: 12px;
}

.company-admin-list li {
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(18, 50, 99, 0.05);
  color: rgba(18, 50, 99, 0.78);
  font-size: 0.9rem;
  font-weight: 600;
}

.company-section {
  padding: clamp(24px, 4vw, 38px);
}

.company-section--compact {
  padding-top: clamp(22px, 3.5vw, 32px);
  padding-bottom: clamp(22px, 3.5vw, 32px);
}

.company-section--accent {
  background:
    linear-gradient(180deg, rgba(255, 248, 242, 0.96) 0%, rgba(255, 255, 255, 0.9) 100%);
}

.company-section-head {
  max-width: 920px;
  margin-bottom: 18px;
  justify-self: center;
  text-align: center;
}

.company-section-head h2 {
  font-size: clamp(1.5rem, 2.3vw, 2.15rem);
  margin-bottom: 0;
}

.company-section-head--compact {
  margin-top: 18px;
  margin-bottom: 12px;
  max-width: 760px;
}

.company-steps-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.company-step-index {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  font-weight: 800;
  font-size: 1.1rem;
  color: #123263;
  background: rgba(255, 124, 47, 0.14);
  margin-bottom: 16px;
}

.company-value-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.company-includes-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.company-value-card,
.company-include-card,
.company-audience-card,
.company-proof-card,
.company-step-card {
  display: flex;
  flex-direction: column;
}

.company-proof-card,
.company-step-card,
.company-value-card,
.company-audience-card {
  text-align: center;
}

.company-proof-card strong,
.company-step-card h3,
.company-value-card strong,
.company-include-card h3,
.company-audience-card h3 {
  text-align: center;
}

.company-include-card {
  align-items: center;
}

.company-contact-card {
  text-align: center;
}

.company-contact-card > div:first-child {
  justify-self: center;
  max-width: 820px;
}

.company-feature-list {
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  padding-left: 18px;
  color: rgba(18, 50, 99, 0.78);
  display: grid;
  gap: 10px;
  line-height: 1.6;
  text-align: left;
}

.company-feature-list li::marker {
  color: var(--teal);
}

.company-audience-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.company-contact-card {
  padding: clamp(24px, 4vw, 38px);
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) auto;
  gap: 24px;
  align-items: center;
}

.site-footer--company {
  max-width: 1220px;
  margin: 28px auto 0;
}

@media (max-width: 1080px) {
  .company-hero-copy {
    max-width: none;
  }

  .company-visual {
    grid-template-columns: 1fr;
  }

  .company-steps-grid,
  .company-value-grid,
  .company-includes-grid,
  .company-audience-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .company-visual-card--guest,
  .company-visual-card--admin {
    width: 100%;
  }
}

@media (max-width: 760px) {
  .company-topbar,
  .company-contact-card {
    grid-template-columns: 1fr;
  }

  .company-topbar {
    display: grid;
  }

  .company-proof-grid,
  .company-steps-grid,
  .company-value-grid,
  .company-includes-grid,
  .company-audience-grid,
  .company-contact-card {
    grid-template-columns: 1fr;
  }
}

.company-shell--premium {
  position: relative;
}

.company-shell--premium::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at top left, rgba(255, 154, 91, 0.16), transparent 26%),
    radial-gradient(circle at top right, rgba(52, 168, 191, 0.16), transparent 26%),
    linear-gradient(180deg, #fffdf9 0%, #f5fbff 44%, #ffffff 100%);
}

.company-topbar--sticky {
  display: grid;
  position: sticky;
  top: 8px;
  z-index: 20;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  column-gap: 18px;
  row-gap: 4px;
  padding: 0 14px 2px;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 28px;
  backdrop-filter: blur(18px);
  box-shadow: 0 18px 36px rgba(18, 50, 99, 0.08);
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .company-topbar--sticky {
    background: rgba(255, 255, 255, 0.96);
  }
}

.company-header-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 18px;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff7c2f 0%, #ff9b58 100%);
  color: white;
  font-size: 0.84rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(255, 124, 47, 0.28);
  margin-top: auto;
  margin-bottom: 2px;
}

.company-hero--split {
  grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.98fr);
  gap: 26px;
  align-items: stretch;
}

.company-hero-copy--left {
  justify-self: stretch;
  text-align: left;
  height: 100%;
  gap: 18px;
  align-content: space-between;
  padding-top: 10px;
  padding-bottom: 8px;
}

.company-kicker {
  margin: 0;
  color: var(--orange);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.company-hero-copy--left h1,
.company-hero-copy--left .lead,
.company-hero-copy--left .company-trust-note {
  justify-self: start;
  text-align: left;
}

.company-hero-copy--left h1 {
  max-width: 12ch;
  font-size: clamp(2.35rem, 4.6vw, 4.6rem);
  line-height: 0.98;
}

.company-hero-copy--left .lead {
  max-width: 640px;
  font-size: 1.02rem;
}

.company-hero-copy--left .company-inline-points,
.company-hero-copy--left .company-hero-actions {
  justify-content: flex-start;
}

.company-proof-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 6px;
}

.company-proof-pill {
  padding: 16px 18px;
  border-radius: 22px;
  background: rgba(18, 50, 99, 0.05);
  border: 1px solid rgba(18, 50, 99, 0.08);
}

.company-proof-pill strong,
.company-proof-pill span {
  display: block;
}

.company-proof-pill strong {
  margin-bottom: 4px;
  color: var(--navy);
  font-size: 0.95rem;
}

.company-proof-pill span {
  color: rgba(18, 50, 99, 0.74);
  font-size: 0.9rem;
  line-height: 1.5;
}

.company-visual--hero {
  grid-template-columns: 1fr;
}

.company-section-head p:not(.eyebrow) {
  margin: 12px auto 0;
  max-width: 760px;
  color: rgba(18, 50, 99, 0.74);
  line-height: 1.66;
}

.company-section--problem,
.company-section--benefits {
  background: rgba(255, 255, 255, 0.78);
}

.company-problem-grid,
.company-showcase-grid,
.company-benefits-grid,
.company-trust-grid {
  display: grid;
  gap: 16px;
}

.seo-guide-shell .seo-guide-topbar {
  margin-bottom: 22px;
}

.seo-guide-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
}

.seo-guide-main {
  gap: 18px;
}

.seo-guide-hero .company-hero-copy {
  max-width: 860px;
}

.seo-guide-section .company-section-head h2,
.seo-guide-cta h2 {
  max-width: 22ch;
}

.seo-guide-grid,
.seo-guide-faq,
.seo-guide-links {
  display: grid;
  gap: 16px;
}

.seo-guide-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.seo-guide-faq,
.seo-guide-links {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.seo-guide-link-card {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.seo-guide-link-card:hover,
.seo-guide-link-card:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 22px 42px rgba(18, 50, 99, 0.12);
  border-color: rgba(18, 50, 99, 0.16);
  outline: none;
}

.seo-guide-link-card strong {
  display: block;
  margin: 0 0 8px;
  color: var(--navy);
}

.seo-guide-link-card p {
  margin: 0;
  color: rgba(18, 50, 99, 0.76);
  line-height: 1.7;
}

.company-problem-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.company-contrast-card,
.company-showcase-card,
.company-benefit-card {
  border-radius: 24px;
  padding: 24px;
  border: 1px solid rgba(18, 50, 99, 0.09);
}

.company-contrast-card {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.company-contrast-card h3,
.company-showcase-card h3,
.company-benefit-card strong {
  margin: 0 0 12px;
  color: var(--navy);
  text-align: center;
}

.company-contrast-card--soft {
  background: rgba(247, 250, 255, 0.92);
}

.company-contrast-card--accent {
  background:
    linear-gradient(180deg, rgba(255, 247, 239, 0.95) 0%, rgba(255, 255, 255, 0.95) 100%);
}

.company-check-list {
  width: fit-content;
  max-width: 100%;
  margin: 0;
  margin-inline: auto;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
  text-align: left;
}

.company-check-list li {
  position: relative;
  padding-left: 28px;
  color: rgba(18, 50, 99, 0.82);
  line-height: 1.55;
}

.company-check-list li::before {
  content: "•";
  position: absolute;
  left: 8px;
  top: 0;
  color: var(--teal);
  font-size: 1rem;
  font-weight: 800;
}

.company-check-list--problem li::before {
  color: var(--orange);
}

.company-showcase-grid {
  grid-template-columns: 1.05fr 1fr 0.92fr;
}

.company-showcase-card {
  background: rgba(249, 252, 255, 0.94);
}

.company-showcase-label {
  display: inline-flex;
  margin-bottom: 14px;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(18, 50, 99, 0.08);
  color: rgba(18, 50, 99, 0.76);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.company-showcase-card p {
  margin: 0;
  color: rgba(18, 50, 99, 0.74);
  line-height: 1.58;
}

.company-showcase-metrics,
.company-showcase-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.company-showcase-metrics span,
.company-showcase-actions span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(18, 50, 99, 0.08);
  color: var(--navy);
  font-size: 0.92rem;
  font-weight: 700;
}

.company-showcase-detail {
  display: grid;
  gap: 8px;
  margin: 18px 0;
  padding: 16px;
  border-radius: 18px;
  background: rgba(18, 50, 99, 0.04);
}

.company-showcase-detail strong {
  color: var(--navy);
}

.company-showcase-rows {
  display: grid;
  gap: 12px;
}

.company-showcase-rows div {
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(18, 50, 99, 0.05);
}

.company-showcase-rows strong {
  color: var(--navy);
  font-size: 0.94rem;
}

.company-showcase-rows span {
  color: rgba(18, 50, 99, 0.74);
  font-size: 0.9rem;
  line-height: 1.5;
}

.company-qr-placeholder {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  width: 138px;
  margin: 6px 0 18px;
}

.company-qr-placeholder div {
  aspect-ratio: 1;
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(18, 50, 99, 0.9), rgba(18, 50, 99, 0.45));
}

.company-audience-grid--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.company-benefits-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.company-benefit-card {
  background: rgba(255, 255, 255, 0.9);
}

.company-benefit-card p {
  margin: 0;
  color: rgba(18, 50, 99, 0.74);
  line-height: 1.58;
}

.company-trust-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.company-trust-item {
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(18, 50, 99, 0.05);
  color: var(--navy);
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}

@media (max-width: 1180px) {
  .company-hero--split {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .company-visual--hero {
    max-width: 760px;
    justify-self: center;
  }

  .company-showcase-grid,
  .company-audience-grid--four,
  .company-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 920px) {
  .company-topbar--sticky {
    grid-template-columns: 1fr;
    justify-items: center;
    width: 100%;
    padding: 12px 14px;
    row-gap: 10px;
  }

  .brand-lockup--company {
    transform: none;
    margin-bottom: 0;
    align-items: center;
  }

  .company-topbar-actions {
    min-height: 0;
    display: grid;
    justify-items: center;
    width: 100%;
    gap: 12px;
  }

  .brand-lockup--company .public-brand-tagline {
    white-space: normal;
    margin-top: -10px;
    text-align: center;
  }

  .company-topbar-actions {
    justify-items: center;
  }

  .company-nav {
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
  }

  .company-header-cta {
    width: 100%;
    max-width: 280px;
  }

  .company-proof-strip,
  .company-problem-grid,
  .company-benefits-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .company-shell {
    padding: 16px 16px 28px;
  }

  .company-topbar--sticky {
    position: static;
    top: auto;
    border-radius: 24px;
    padding: 10px 12px 12px;
    backdrop-filter: none;
    row-gap: 4px;
  }

  .brand-lockup--company {
    gap: 1px;
    margin-bottom: -6px;
  }

  .brand-lockup--company .brand-logo {
    width: min(188px, 56vw);
  }

  .brand-lockup--company .public-brand-tagline {
    margin-top: -6px;
    margin-bottom: 0;
    padding-left: 0;
    font-size: 0.84rem;
    line-height: 1.18;
    max-width: 28ch;
    transform: translateY(-22px);
  }

  .company-topbar-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    gap: 6px;
    margin-top: -2px;
  }

  .company-topbar-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .company-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    padding: 0;
  }

  .company-language--desktop {
    display: none;
  }

  .company-language-mobile {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
  }

  .company-language-inline {
    justify-content: flex-end;
  }

  .company-nav a,
  .company-nav a[href="#solucion"],
  .company-nav a[href="#como-funciona"],
  .company-nav a[href="#incluye"],
  .company-nav a[href="#modelo"],
  .company-nav a[href="#para-quien"],
  .company-nav a[href="#contacto"] {
    width: 100%;
    min-width: 0;
    max-width: none;
    min-height: 40px;
    padding-inline: 12px;
    font-size: 0.78rem;
    line-height: 1.1;
    text-align: center;
  }

  .company-header-cta {
    width: 100%;
    max-width: none;
    min-height: 46px;
  }

  .company-hero,
  .company-section,
  .company-contact-card {
    border-radius: 24px;
  }

  .company-hero {
    gap: 20px;
    padding: 22px 18px;
  }

  .company-hero-copy--left,
  .company-hero-copy--left h1,
  .company-hero-copy--left .lead,
  .company-hero-copy--left .company-trust-note {
    justify-self: center;
    text-align: center;
  }

  .company-hero-copy--left .company-inline-points,
  .company-hero-copy--left .company-hero-actions {
    justify-content: center;
  }

  .company-hero-copy--left h1 {
    max-width: 11ch;
    font-size: clamp(2.15rem, 11vw, 3.2rem);
    line-height: 0.99;
  }

  .company-hero-copy--left {
    height: auto;
    gap: 16px;
    align-content: start;
    padding-top: 0;
    padding-bottom: 0;
  }

  .company-hero-copy--left .lead {
    max-width: 34ch;
    font-size: 1rem;
    line-height: 1.62;
  }

  .company-trust-note--hero {
    min-height: 42px;
    padding: 0 14px;
  }

  .company-inline-points {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 10px;
  }

  .company-inline-points span {
    justify-content: center;
    min-height: 42px;
    text-align: center;
  }

  .company-hero-actions,
  .company-contact-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .company-hero-actions .primary-button,
  .company-hero-actions .secondary-button,
  .company-contact-actions .primary-button,
  .company-contact-actions .secondary-button {
    width: 100%;
    min-height: 48px;
  }

  .company-proof-strip {
    gap: 10px;
  }

  .company-proof-pill {
    padding: 15px 16px;
  }

  .company-visual--hero {
    max-width: 100%;
    gap: 14px;
  }

  .company-showcase-grid,
  .company-audience-grid--four,
  .company-benefits-grid,
  .company-trust-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .site-shell {
    width: min(1180px, calc(100% - 24px));
  }

  .company-shell {
    padding: 12px 12px 24px;
  }

  .company-topbar--sticky {
    padding: 9px 10px 11px;
  }

  .brand-lockup--company .brand-logo {
    width: min(172px, 60vw);
  }

  .brand-lockup--company .public-brand-tagline {
    font-size: 0.76rem;
    line-height: 1.18;
    max-width: 26ch;
    margin-top: -7px;
    margin-bottom: 0;
    transform: translateY(-23px);
  }

  .company-nav a,
  .company-nav a[href="#solucion"],
  .company-nav a[href="#como-funciona"],
  .company-nav a[href="#incluye"],
  .company-nav a[href="#modelo"],
  .company-nav a[href="#para-quien"],
  .company-nav a[href="#contacto"] {
    min-height: 38px;
    padding-inline: 10px;
    font-size: 0.74rem;
  }

  .company-topbar-actions {
    gap: 5px;
  }

  .company-language-mobile {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .company-language-inline {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .company-language-inline button {
    width: 100%;
    min-width: 0;
    padding-inline: 8px;
  }

  .company-hero {
    padding: 20px 16px;
  }

  .company-hero-copy--left h1 {
    max-width: 10.5ch;
    font-size: clamp(2rem, 11.4vw, 2.8rem);
  }

  .company-inline-points {
    grid-template-columns: 1fr;
  }

  .company-section,
  .company-contact-card {
    padding: 20px 16px;
  }
}

.company-visual-card--plaque {
  display: grid;
  gap: 14px;
  padding: 18px;
  max-width: 430px;
  justify-self: center;
  background:
    radial-gradient(circle at top right, rgba(255, 168, 109, 0.16), transparent 30%),
    linear-gradient(180deg, #fffdf9 0%, #fff6ef 100%);
}

.company-plaque-chip {
  display: inline-flex;
  align-self: flex-start;
  min-height: 30px;
  align-items: center;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(18, 50, 99, 0.08);
  color: var(--navy);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.company-plaque-image {
  display: block;
  width: 100%;
  border-radius: 22px;
  border: 1px solid rgba(18, 50, 99, 0.08);
  box-shadow: 0 18px 36px rgba(18, 50, 99, 0.08);
  background: white;
}

.company-plaque-image--hero {
  max-width: 100%;
  aspect-ratio: 1.42 / 1;
  object-fit: contain;
  object-position: center;
}

.company-plaque-image--crop {
  aspect-ratio: 1.2 / 1;
  object-fit: cover;
  object-position: center 57%;
}

.company-plaque-image--scene {
  aspect-ratio: 1.08 / 1;
  object-fit: cover;
  object-position: center;
}

.company-visual-card--plaque strong {
  color: var(--navy);
  font-size: 1rem;
  line-height: 1.38;
}

.company-visual-card--plaque p {
  margin: 0;
  color: rgba(18, 50, 99, 0.74);
  line-height: 1.58;
}

.company-value-grid--managed {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.company-value-card--left,
.company-value-card--left strong,
.company-value-card--left p {
  text-align: center;
}

.company-steps-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.company-visual--hero {
  max-width: 520px;
  justify-self: center;
}

.company-showcase-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.company-qr-plaque {
  display: grid;
  justify-items: start;
  gap: 12px;
  padding: 18px;
  border-radius: 20px;
  background: rgba(18, 50, 99, 0.04);
}

.company-qr-plaque--showcase {
  align-content: start;
}

.company-audience-grid--five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.company-model-grid,
.company-model-tiers {
  display: grid;
  gap: 16px;
}

.company-model-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.company-model-card,
.company-model-tier {
  border-radius: 24px;
  padding: 24px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(18, 50, 99, 0.08);
  box-shadow: 0 14px 28px rgba(18, 50, 99, 0.06);
}

.company-model-card strong,
.company-model-tier strong {
  display: block;
  color: var(--navy);
}

.company-model-card strong {
  margin-bottom: 10px;
  font-size: 1.04rem;
}

.company-model-card p,
.company-model-tier p {
  margin: 0;
  color: rgba(18, 50, 99, 0.74);
  line-height: 1.58;
}

.company-model-tiers {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 18px;
}

.company-model-tier {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 20px 20px 18px;
  box-shadow: 0 10px 22px rgba(18, 50, 99, 0.045);
}

.company-model-range {
  display: inline-flex;
  align-self: flex-start;
  min-height: 32px;
  align-items: center;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(18, 50, 99, 0.08);
  color: rgba(18, 50, 99, 0.78);
  font-size: 0.74rem;
  font-weight: 600;
}

.company-model-tier strong {
  font-size: clamp(1.55rem, 2vw, 1.9rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
}

.company-model-tier--featured {
  background:
    radial-gradient(circle at top right, rgba(255, 154, 91, 0.1), transparent 36%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 248, 242, 0.92) 100%);
  border-color: rgba(255, 124, 47, 0.1);
}

.company-model-note {
  margin: 16px 0 0;
  color: rgba(18, 50, 99, 0.62);
  font-size: 0.86rem;
  line-height: 1.55;
  text-align: center;
}

@media (max-width: 760px) {
  .company-visual-card {
    border-radius: 24px;
  }

  .company-visual-card--plaque {
    max-width: 100%;
    padding: 16px;
    gap: 12px;
  }

  .company-visual-card h3,
  .company-admin-list {
    padding-left: 16px;
    padding-right: 16px;
  }

  .company-visual-card h3 {
    margin: 10px 0 14px;
    font-size: 1.18rem;
    line-height: 1.18;
  }

  .company-category-showcase,
  .company-admin-highlights,
  .company-demo-route,
  .company-demo-grid {
    padding-left: 16px;
    padding-right: 16px;
  }

  .company-category-showcase {
    gap: 12px;
  }

  .company-category-showcase-card {
    min-height: 118px;
    padding: 16px 12px;
    border-radius: 18px;
  }

  .company-category-showcase-card img {
    width: 62px;
    height: 62px;
  }

  .company-category-showcase-card span {
    font-size: 0.88rem;
  }

  .company-demo-route {
    gap: 8px;
    margin: 10px 0 18px;
  }

  .company-demo-route span,
  .company-demo-pill,
  .company-demo-cta {
    min-height: 40px;
    padding: 0 12px;
    font-size: 0.88rem;
  }

  .company-section {
    padding: 22px 18px;
  }

  .company-section-head {
    margin-bottom: 16px;
  }

  .company-section-head h2 {
    font-size: clamp(1.6rem, 7vw, 2rem);
  }

  .company-showcase-card,
  .company-model-card,
  .company-model-tier,
  .company-contrast-card,
  .company-proof-card,
  .company-step-card,
  .company-value-card,
  .company-include-card {
    padding: 20px;
    border-radius: 20px;
  }

  .company-showcase-metrics,
  .company-showcase-actions {
    gap: 8px;
  }

  .company-showcase-metrics span,
  .company-showcase-actions span {
    min-height: 40px;
    padding: 0 12px;
    font-size: 0.88rem;
  }

  .company-qr-plaque {
    width: 100%;
    padding: 14px;
    border-radius: 18px;
    justify-items: center;
  }

  .company-plaque-image--scene {
    aspect-ratio: 1 / 1;
  }

  .company-contact-card {
    gap: 18px;
    padding: 22px 18px;
  }

  .site-footer--company {
    margin-top: 22px;
  }
}

@media (max-width: 480px) {
  .company-category-showcase {
    gap: 10px;
    padding-left: 14px;
    padding-right: 14px;
  }

  .company-category-showcase-card {
    min-height: 108px;
    padding: 14px 10px;
  }

  .company-category-showcase-card img {
    width: 56px;
    height: 56px;
  }

  .company-demo-route {
    display: grid;
    grid-template-columns: 1fr;
  }

  .company-demo-route span {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-height: 36px;
    padding-block: 8px;
    line-height: 1.2;
  }

  .company-section-head h2 {
    font-size: clamp(1.5rem, 7.8vw, 1.86rem);
  }

  .company-showcase-card,
  .company-model-card,
  .company-model-tier,
  .company-contrast-card,
  .company-proof-card,
  .company-step-card,
  .company-value-card,
  .company-include-card {
    padding: 18px;
  }

  .company-trust-grid {
    gap: 12px;
  }
}

@media (max-width: 1180px) {
  .company-audience-grid--five {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1080px) {
  .company-model-grid,
  .company-model-tiers {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 920px) {
  .company-steps-grid,
  .company-value-grid--managed {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 760px) {
  .company-audience-grid--five,
  .company-steps-grid,
  .company-value-grid--managed,
  .company-model-grid,
  .company-model-tiers {
    grid-template-columns: 1fr;
  }

  .company-showcase-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .company-showcase-card,
  .company-showcase-card--qr,
  .company-showcase-card--phone,
  .company-showcase-card--admin {
    min-width: 0;
    width: 100%;
  }

  .company-showcase-card h3,
  .company-showcase-label,
  .company-showcase-card p,
  .company-showcase-rows strong,
  .company-showcase-rows span {
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
  }

  .company-showcase-card h3 {
    line-height: 1.2;
  }

  .company-trust-note--hero {
    justify-self: center;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .company-showcase-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .company-showcase-label {
    margin-bottom: 10px;
    font-size: 0.72rem;
  }

  .company-showcase-card h3 {
    margin-bottom: 12px;
    font-size: 1.22rem;
    text-align: left;
  }

  .company-showcase-metrics,
  .company-showcase-actions {
    gap: 8px;
  }

  .company-showcase-metrics span,
  .company-showcase-actions span {
    min-height: 36px;
    padding-inline: 12px;
    font-size: 0.84rem;
  }

  .company-qr-plaque--showcase {
    padding: 12px;
  }

  .company-plaque-image--scene {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
  }
}

.request-form,
 .editor-form {
  padding: 24px;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.form-grid--dynamic {
  margin-top: 0;
}

.request-form {
  --form-accent: var(--orange);
  padding: 0;
  overflow: hidden;
}

.request-form[data-category="restaurants"] {
  --form-accent: #f28a3b;
}

.request-form[data-category="excursions"] {
  --form-accent: #20a8bb;
}

.request-form[data-category="experiences"] {
  --form-accent: #f65d96;
}

.request-form[data-category="transfers"] {
  --form-accent: #7b4cf0;
}

.request-form[data-category="cars"] {
  --form-accent: #2b76df;
}

.request-form[data-category="bikes"] {
  --form-accent: #2db8b0;
}

.request-form-media {
  position: relative;
  min-height: 184px;
  background-size: cover;
  background-position: center;
  background-color: rgba(18, 50, 99, 0.08);
}

.request-form-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(18, 50, 99, 0.12) 0%, rgba(18, 50, 99, 0.18) 34%, rgba(11, 35, 71, 0.76) 100%),
    linear-gradient(140deg, color-mix(in srgb, var(--form-accent) 26%, transparent) 0%, transparent 60%);
}

.request-form-media-overlay {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 10px;
  min-height: 184px;
  padding: 24px 24px 22px;
}

.request-form-chip {
  display: inline-flex;
  align-self: flex-start;
  min-height: 30px;
  align-items: center;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: white;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}

.request-form-context-title {
  color: white;
  font-size: clamp(1.52rem, 5vw, 2.08rem);
  line-height: 1.06;
  letter-spacing: -0.01em;
  overflow-wrap: anywhere;
  text-shadow: 0 12px 22px rgba(11, 35, 71, 0.36);
}

.request-form-body {
  display: grid;
  gap: 20px;
  padding: 24px;
}

.request-form .selected-summary {
  margin: 0;
  padding: 18px 20px;
  border-radius: 22px;
  border: 1px solid color-mix(in srgb, var(--form-accent) 22%, rgba(18, 50, 99, 0.08));
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.72) 100%),
    linear-gradient(135deg, color-mix(in srgb, var(--form-accent) 10%, transparent) 0%, transparent 100%);
  color: var(--navy);
  font-weight: 600;
  line-height: 1.45;
  box-shadow:
    0 14px 24px rgba(18, 50, 99, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.56);
}

.form-estimate {
  padding: 20px 22px 18px;
  border-radius: 22px;
  border: 1px solid color-mix(in srgb, var(--form-accent) 24%, rgba(18, 50, 99, 0.08));
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.74) 100%),
    linear-gradient(135deg, color-mix(in srgb, var(--form-accent) 13%, transparent) 0%, rgba(18, 50, 99, 0.02) 100%);
  box-shadow:
    0 16px 28px rgba(18, 50, 99, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.64);
  display: grid;
  gap: 8px;
  justify-items: center;
  text-align: center;
}

.form-estimate[hidden] {
  display: none;
}

.form-estimate-label {
  color: color-mix(in srgb, var(--navy) 42%, var(--muted));
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.form-estimate-value {
  color: var(--navy);
  font-size: clamp(1.72rem, 5.2vw, 2.12rem);
  line-height: 1;
}

.form-estimate-note {
  margin: 0;
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.45;
}

.form-section {
  padding: 20px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(18, 50, 99, 0.07);
  box-shadow:
    0 12px 24px rgba(18, 50, 99, 0.035),
    inset 0 1px 0 rgba(255, 255, 255, 0.58);
}

.form-section-title {
  margin: 0 0 14px;
  color: color-mix(in srgb, var(--navy) 44%, var(--muted));
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.form-addon {
  grid-column: 1 / -1;
  display: grid;
  gap: 14px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid color-mix(in srgb, var(--form-accent) 18%, rgba(18, 50, 99, 0.08));
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.72) 100%),
    linear-gradient(135deg, color-mix(in srgb, var(--form-accent) 8%, transparent) 0%, transparent 100%);
  box-shadow:
    0 12px 22px rgba(18, 50, 99, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.58);
}

.form-addon-toggle {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
}

.form-addon-question {
  color: color-mix(in srgb, var(--navy) 44%, var(--muted));
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

.form-addon-choice-group {
  display: inline-flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.form-addon-choice {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid rgba(18, 50, 99, 0.14);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68);
  cursor: pointer;
  transition:
    border-color 0.18s ease,
    background-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.form-addon-choice input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.form-addon-choice span {
  color: var(--navy);
  font-size: 0.92rem;
  font-weight: 700;
}

.form-addon-choice:has(input:checked) {
  border-color: color-mix(in srgb, var(--form-accent) 56%, rgba(18, 50, 99, 0.14));
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.8) 100%),
    linear-gradient(135deg, color-mix(in srgb, var(--form-accent) 12%, transparent) 0%, transparent 100%);
  transform: translateY(-1px);
}

.form-addon-copy {
  margin: -2px 0 0;
  color: color-mix(in srgb, var(--navy) 72%, var(--muted));
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1.5;
}

.form-addon-route {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.form-addon-route-item {
  display: grid;
  gap: 6px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(18, 50, 99, 0.04);
}

.form-addon-route-item strong {
  color: var(--navy);
  font-size: 0.94rem;
  line-height: 1.35;
}

.form-addon-route-label {
  color: color-mix(in srgb, var(--navy) 42%, var(--muted));
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.form-addon-fields[hidden] {
  display: none;
}

.form-legal-note {
  margin: -2px 2px 0;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.form-submit-feedback {
  margin: -4px 2px 0;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(207, 77, 87, 0.24);
  background: rgba(207, 77, 87, 0.08);
  color: var(--danger);
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.45;
}

.form-submit-feedback--admin {
  margin-top: 14px;
}

.form-submit-feedback[data-tone="success"] {
  border-color: rgba(41, 162, 104, 0.24);
  background: rgba(41, 162, 104, 0.09);
  color: var(--success);
}

.form-submit-feedback[data-tone="warning"] {
  border-color: rgba(232, 147, 26, 0.24);
  background: rgba(232, 147, 26, 0.09);
  color: var(--warning);
}

.admin-status-banner {
  margin-bottom: 18px;
  padding: 16px 18px;
  color: var(--navy);
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.5;
}

.admin-status-banner[data-tone="success"] {
  border-color: rgba(41, 162, 104, 0.22);
  background: rgba(41, 162, 104, 0.09);
}

.admin-status-banner[data-tone="warning"] {
  border-color: rgba(232, 147, 26, 0.22);
  background: rgba(232, 147, 26, 0.09);
}

.admin-status-banner[data-tone="muted"] {
  border-color: rgba(18, 50, 99, 0.1);
  background: rgba(255, 255, 255, 0.72);
}

.form-legal-note a {
  color: var(--navy);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

label {
  display: grid;
  gap: 8px;
  color: var(--navy);
  font-weight: 600;
}

label span {
  color: var(--navy);
  font-size: 0.94rem;
  font-weight: 700;
}

.request-form label span {
  color: #1d3c6c;
  font-size: 0.92rem;
  font-weight: 650;
}

.phone-field-group {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr);
  gap: 10px;
  align-items: stretch;
}

.phone-code-picker {
  position: relative;
}

.phone-code-trigger {
  width: 100%;
  min-height: 52px;
  padding: 0 12px;
  border: 1px solid rgba(18, 50, 99, 0.14);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.96);
  color: var(--ink);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75), 0 8px 20px rgba(18, 50, 99, 0.04);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.phone-code-current {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--navy);
  font-weight: 700;
}

.phone-code-flag {
  width: 24px;
  height: 18px;
  border-radius: 5px;
  object-fit: cover;
  box-shadow: 0 2px 5px rgba(18, 50, 99, 0.12);
}

.phone-code-chevron {
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--navy);
  border-bottom: 2px solid var(--navy);
  transform: rotate(45deg) translateY(-2px);
  flex: 0 0 auto;
}

.phone-code-picker.is-open .phone-code-trigger {
  border-color: color-mix(in srgb, var(--form-accent) 54%, rgba(18, 50, 99, 0.2));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.75),
    0 0 0 4px color-mix(in srgb, var(--form-accent) 16%, transparent),
    0 10px 24px rgba(18, 50, 99, 0.08);
}

.phone-code-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  width: 164px;
  max-height: 260px;
  overflow-y: auto;
  padding: 8px;
  border-radius: 18px;
  border: 1px solid rgba(18, 50, 99, 0.12);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 34px rgba(18, 50, 99, 0.16);
  z-index: 30;
}

.phone-code-option {
  width: 100%;
  border: 0;
  background: transparent;
  border-radius: 12px;
  padding: 10px 10px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--navy);
  font-weight: 700;
  text-align: left;
}

.phone-code-option:hover,
.phone-code-option.is-selected {
  background: rgba(18, 50, 99, 0.08);
}

input,
select,
textarea {
  width: 100%;
  border: 1px solid rgba(18, 50, 99, 0.14);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.96);
  padding: 14px 16px;
  color: var(--ink);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75), 0 8px 20px rgba(18, 50, 99, 0.04);
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease, transform 180ms ease;
}

select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23123263' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 8px;
  padding-right: 44px;
}

.request-form input,
.request-form select,
.request-form textarea {
  border-color: rgba(18, 50, 99, 0.1);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.8),
    0 10px 20px rgba(18, 50, 99, 0.035);
}

input::placeholder,
textarea::placeholder {
  color: rgba(29, 43, 58, 0.48);
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: color-mix(in srgb, var(--form-accent) 54%, rgba(18, 50, 99, 0.2));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.75),
    0 0 0 4px color-mix(in srgb, var(--form-accent) 16%, transparent),
    0 10px 24px rgba(18, 50, 99, 0.08);
  background: white;
  transform: translateY(-1px);
}

label.has-error span {
  color: var(--danger);
}

input.is-invalid,
select.is-invalid,
textarea.is-invalid {
  border-color: rgba(207, 77, 87, 0.68);
  background: rgba(255, 251, 251, 0.98);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.75),
    0 0 0 4px rgba(207, 77, 87, 0.1),
    0 10px 24px rgba(207, 77, 87, 0.08);
}

.editor-block.is-invalid {
  border-color: rgba(207, 77, 87, 0.32);
  box-shadow:
    0 20px 60px rgba(18, 50, 99, 0.12),
    0 0 0 4px rgba(207, 77, 87, 0.08);
}

.field-error {
  display: block;
  margin-top: 8px;
  color: var(--danger);
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.35;
}

textarea {
  resize: vertical;
  min-height: 110px;
}

.selected-summary {
  margin: 18px 0;
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(18, 50, 99, 0.05);
}

.card--empty {
  background: rgba(255, 255, 255, 0.9);
}

.card-body--empty {
  display: grid;
  gap: 16px;
  justify-items: center;
  text-align: center;
  padding: 30px 24px;
}

.card-body--empty .card-copy {
  margin: 0;
  max-width: 34ch;
}

.extras-dropdown {
  margin-top: 18px;
  border: 1px solid rgba(18, 50, 99, 0.1);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 22px rgba(18, 50, 99, 0.05);
  overflow: hidden;
}

.extras-dropdown summary {
  list-style: none;
  cursor: pointer;
  padding: 16px 18px;
  font-weight: 700;
  color: var(--navy);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.extras-dropdown summary::-webkit-details-marker {
  display: none;
}

.extras-dropdown summary::after {
  content: "+";
  font-size: 1.2rem;
  line-height: 1;
  color: var(--teal);
}

.extras-dropdown[open] summary::after {
  content: "−";
}

.extras-list {
  display: grid;
  gap: 0;
  padding: 0 18px 14px;
}

.extra-option {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-top: 1px solid rgba(18, 50, 99, 0.08);
  font-weight: 500;
}

.extra-option:first-child {
  border-top: 0;
}

.extra-option input {
  width: 18px;
  height: 18px;
  margin: 0;
}

.extra-option span {
  color: var(--ink);
}

.extra-option strong {
  color: var(--navy);
}

.car-total {
  margin: 18px 0 20px;
  padding: 16px 18px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(244, 125, 48, 0.08) 0%, rgba(52, 168, 191, 0.08) 100%);
  display: grid;
  gap: 4px;
  justify-items: center;
  text-align: center;
}

.car-total span {
  color: var(--muted);
  font-weight: 600;
}

.car-total strong {
  color: var(--navy);
  font-size: 1.65rem;
  line-height: 1;
}

.admin-grid {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 20px;
}

.admin-sidebar {
  display: grid;
  gap: 10px;
  align-content: start;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 16px;
  box-shadow: var(--shadow);
  position: sticky;
  top: 18px;
}

.nav-tab {
  min-height: 50px;
  text-align: left;
  padding: 0 18px;
  font-weight: 700;
  white-space: nowrap;
}

.nav-tab.is-active {
  background: linear-gradient(135deg, var(--navy), var(--teal));
  color: white;
}

.admin-content {
  min-width: 0;
}

.stats-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  margin-bottom: 20px;
}

.stats-card strong {
  display: block;
  font-size: 2rem;
  color: var(--navy);
}

.stats-card--success {
  border-left: 6px solid rgba(31, 168, 116, 0.42);
}

.stats-card--warning {
  border-left: 6px solid rgba(255, 159, 67, 0.42);
}

.stats-card--navy {
  border-left: 6px solid rgba(18, 50, 99, 0.22);
}

.split-panel {
  align-items: stretch;
}

.split-panel > * {
  flex: 1;
}

.panel-card {
  padding: 22px;
}

.quick-actions {
  flex-wrap: wrap;
}

.quick-action {
  min-width: 180px;
}

.filter-row {
  flex-wrap: wrap;
  margin-bottom: 18px;
}

.filter-row > * {
  min-width: 0;
}

.filter-row select {
  max-width: 240px;
}

.filter-row--services {
  align-items: center;
}

.filter-row--services select {
  flex: 1 1 220px;
  max-width: none;
}

.filter-row--requests input,
.filter-row--requests select {
  flex: 1 1 240px;
  max-width: none;
}

.filter-row--apartments input,
.filter-row--apartments select {
  flex: 1 1 220px;
  max-width: none;
}

.filter-row--activity select {
  flex: 1 1 220px;
  max-width: none;
}

.request-admin-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.bulk-toolbar {
  margin-bottom: 18px;
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid rgba(18, 50, 99, 0.08);
  background: rgba(248, 251, 255, 0.94);
  box-shadow: 0 12px 26px rgba(18, 50, 99, 0.06);
}

.bulk-toolbar[hidden] {
  display: none !important;
}

.bulk-toolbar-shell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.bulk-toolbar-copy {
  display: grid;
  gap: 4px;
}

.bulk-toolbar-copy strong {
  color: var(--navy);
  font-size: 1rem;
}

.bulk-toolbar-copy p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.bulk-toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.apartment-admin-stats {
  margin-bottom: 18px;
}

.request-admin-stat {
  padding: 16px 18px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--line);
  border-left: 6px solid rgba(18, 50, 99, 0.12);
}

.request-admin-stat strong {
  display: block;
  margin-top: 8px;
  color: var(--navy);
  font-size: 1.85rem;
}

.request-admin-stat--pending {
  border-left-color: rgba(235, 154, 47, 0.82);
}

.request-admin-stat--managed {
  border-left-color: rgba(18, 50, 99, 0.82);
}

.request-admin-stat--confirmed {
  border-left-color: rgba(15, 140, 106, 0.82);
}

.request-admin-stat--rejected,
.request-admin-stat--cancelled {
  border-left-color: rgba(207, 77, 87, 0.82);
}

.request-admin-stat--deleted {
  border-left-color: rgba(124, 138, 160, 0.78);
}

.requests-admin-layout {
  display: grid;
  grid-template-columns: minmax(320px, 0.95fr) minmax(360px, 1.15fr);
  gap: 18px;
  align-items: start;
}

.recent-requests-list {
  display: grid;
  gap: 12px;
}

.recent-request-card {
  appearance: none;
  width: 100%;
  display: grid;
  gap: 10px;
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid rgba(18, 50, 99, 0.08);
  border-left: 6px solid rgba(18, 50, 99, 0.12);
  background: rgba(248, 251, 255, 0.92);
  text-align: left;
  color: var(--navy);
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.recent-request-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 28px rgba(18, 50, 99, 0.08);
}

.recent-request-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.recent-request-card-head strong {
  font-size: 1rem;
}

.recent-request-card-body {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 0.92rem;
}

.recent-request-card--pending {
  border-left-color: rgba(235, 154, 47, 0.82);
}

.recent-request-card--managed {
  border-left-color: rgba(18, 50, 99, 0.82);
}

.recent-request-card--confirmed {
  border-left-color: rgba(15, 140, 106, 0.82);
}

.recent-request-card--rejected,
.recent-request-card--cancelled {
  border-left-color: rgba(207, 77, 87, 0.82);
}

.request-list-card {
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
  border-left: 6px solid rgba(18, 50, 99, 0.12);
}

.request-list-card.is-new {
  background: linear-gradient(180deg, rgba(255, 251, 240, 0.96), rgba(255, 255, 255, 0.96));
}

.request-list-card.is-deleted {
  background: linear-gradient(180deg, rgba(246, 248, 251, 0.96), rgba(255, 255, 255, 0.96));
  border-left-color: rgba(124, 138, 160, 0.72);
}

.request-list-card.is-selected {
  border-color: rgba(45, 170, 195, 0.34);
  box-shadow:
    0 22px 48px rgba(18, 50, 99, 0.12),
    0 0 0 4px rgba(45, 170, 195, 0.08);
}

.request-list-card:hover {
  transform: translateY(-1px);
}

.card.is-bulk-selected {
  border-color: rgba(45, 170, 195, 0.34);
  box-shadow:
    0 18px 34px rgba(18, 50, 99, 0.1),
    0 0 0 4px rgba(45, 170, 195, 0.08);
}

.card-select-row {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 10px;
}

.card-select-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(18, 50, 99, 0.06);
  color: var(--navy);
  font-size: 0.78rem;
  font-weight: 700;
}

.card-select-toggle input {
  width: auto;
}

.request-list-card--pending {
  border-left-color: rgba(235, 154, 47, 0.82);
}

.request-list-card--managed {
  border-left-color: rgba(18, 50, 99, 0.82);
}

.request-list-card--confirmed {
  border-left-color: rgba(15, 140, 106, 0.82);
}

.request-list-card--rejected,
.request-list-card--cancelled {
  border-left-color: rgba(207, 77, 87, 0.82);
}

.request-list-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.request-list-time {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 700;
}

.request-list-badges,
.request-detail-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.request-state-pill {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.request-state-pill--new {
  background: rgba(235, 154, 47, 0.14);
  color: #b06a10;
}

.request-state-pill--archived {
  background: rgba(18, 50, 99, 0.08);
  color: var(--navy);
}

.request-state-pill--deleted {
  background: rgba(124, 138, 160, 0.16);
  color: #48586d;
}

.request-list-meta {
  align-items: start;
}

.request-list-meta span {
  color: var(--muted);
  font-size: 0.92rem;
  font-weight: 700;
}

.request-list-summary {
  display: grid;
  gap: 10px;
}

.request-list-summary p {
  margin: 0;
  color: var(--muted);
}

.request-quick-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.request-quick-fact {
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(18, 50, 99, 0.06);
  color: var(--navy);
  font-size: 0.78rem;
  font-weight: 700;
}

.request-detail-panel {
  display: grid;
  gap: 18px;
  min-height: 280px;
  position: sticky;
  top: 18px;
  border-top: 6px solid rgba(18, 50, 99, 0.12);
}

.request-detail-panel[data-status="pending"] {
  border-top-color: rgba(235, 154, 47, 0.82);
}

.request-detail-panel[data-status="managed"] {
  border-top-color: rgba(18, 50, 99, 0.82);
}

.request-detail-panel[data-status="confirmed"] {
  border-top-color: rgba(15, 140, 106, 0.82);
}

.request-detail-panel[data-status="rejected"],
.request-detail-panel[data-status="cancelled"] {
  border-top-color: rgba(207, 77, 87, 0.82);
}

.request-detail-empty {
  display: grid;
  gap: 10px;
  justify-items: start;
}

.request-detail-head {
  align-items: start;
  border-bottom: 1px solid rgba(18, 50, 99, 0.08);
  padding-bottom: 14px;
}

.request-detail-head-copy {
  display: grid;
  gap: 6px;
}

.request-detail-subtitle {
  margin: 0;
  color: var(--muted);
  font-size: 0.95rem;
  line-height: 1.4;
}

.request-detail-badges {
  margin-top: 4px;
}

.request-detail-grid {
  display: grid;
  gap: 14px;
}

.request-detail-block {
  display: grid;
  gap: 10px;
  padding: 16px 18px;
  border-radius: 20px;
  background: rgba(247, 250, 253, 0.96);
  border: 1px solid rgba(18, 50, 99, 0.07);
}

.request-detail-block h4 {
  margin: 0;
  color: var(--navy);
  font-size: 1rem;
}

.request-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.request-detail-status {
  max-width: 280px;
}

.request-detail-list {
  display: grid;
  gap: 8px;
  color: var(--muted);
}

.request-detail-list strong {
  color: var(--navy);
}

.request-internal-notes {
  display: grid;
  gap: 8px;
}

.request-internal-notes textarea {
  min-height: 132px;
  resize: vertical;
}

.request-history-list {
  display: grid;
  gap: 10px;
}

.request-history-entry {
  display: grid;
  gap: 6px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(18, 50, 99, 0.06);
}

.request-history-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--navy);
}

.request-history-entry p,
.request-history-empty {
  margin: 0;
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.45;
}

.ghost-button--danger {
  border-color: rgba(207, 77, 87, 0.22);
  color: #b13745;
}

.ghost-button--danger:hover {
  border-color: rgba(207, 77, 87, 0.38);
  background: rgba(207, 77, 87, 0.08);
}

.checkbox-list {
  display: grid;
  gap: 10px;
  background: rgba(18, 50, 99, 0.04);
  border-radius: 18px;
  padding: 14px;
}

.checkbox-item,
.toggle-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.checkbox-item input,
.toggle-label input {
  width: auto;
}

.editor-form {
  margin-bottom: 22px;
}

.editor-form--service {
  display: grid;
  gap: 18px;
}

.admin-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: none;
  align-items: start;
  justify-items: center;
  padding: 24px;
  overflow-y: auto;
  background: rgba(9, 31, 64, 0.38);
  backdrop-filter: blur(10px);
}

.admin-modal[hidden] {
  display: none !important;
}

.admin-modal.is-visible {
  display: grid;
}

.admin-modal-shell {
  width: min(1120px, calc(100vw - 32px));
  display: grid;
  gap: 18px;
  margin: 18px 0 24px;
  padding: 24px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(250, 252, 255, 0.98), rgba(243, 248, 253, 0.96));
  box-shadow: 0 30px 80px rgba(18, 50, 99, 0.24);
  max-height: calc(100dvh - 36px);
  overflow: auto;
  overscroll-behavior: contain;
}

.admin-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  position: sticky;
  top: 0;
  z-index: 2;
  padding-bottom: 12px;
  background: linear-gradient(180deg, rgba(250, 252, 255, 0.98), rgba(250, 252, 255, 0.92));
  border-bottom: 1px solid rgba(18, 50, 99, 0.06);
}

.admin-modal-head h3 {
  margin: 6px 0 0;
  color: var(--navy);
  font-size: 2rem;
}

body.admin-modal-open {
  overflow: hidden;
}

.editor-block {
  display: grid;
  gap: 16px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: var(--shadow);
}

.editor-block-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.editor-block-head h3 {
  margin: 0;
  color: var(--navy);
  font-size: 1.12rem;
}

.editor-block-head p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.5;
}

.location-helper {
  display: grid;
  gap: 4px;
}

.service-selection-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.service-selection-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.service-selection-panel {
  display: grid;
  gap: 14px;
  align-content: start;
}

.service-selection-panel-head h4 {
  margin: 0;
  color: var(--navy);
  font-size: 1rem;
}

.service-selection-panel-head p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.service-selection-list {
  max-height: 340px;
  overflow: auto;
}

.service-selection-item {
  align-items: start;
}

.service-selection-item span {
  display: grid;
  gap: 4px;
}

.service-selection-item small {
  color: var(--muted);
  font-size: 0.82rem;
}

@media (max-width: 900px) {
  .service-selection-grid {
    grid-template-columns: 1fr;
  }
}

.access-point-list {
  display: grid;
  gap: 16px;
}

.access-point-empty {
  padding: 18px;
  border-radius: 20px;
  border: 1px dashed rgba(18, 50, 99, 0.16);
  background: rgba(255, 255, 255, 0.8);
  color: var(--muted);
}

.access-point-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border-radius: 22px;
  border: 1px solid rgba(18, 50, 99, 0.08);
  background: rgba(255, 255, 255, 0.9);
}

.access-point-card.is-primary {
  border-color: rgba(255, 136, 60, 0.32);
  box-shadow: 0 18px 42px rgba(255, 136, 60, 0.12);
}

.access-point-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.access-point-card-head strong {
  color: var(--navy);
  font-size: 1rem;
}

.field-group {
  align-self: stretch;
}

.field-group--full {
  grid-column: 1 / -1;
}

.i18n-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.i18n-card {
  display: grid;
  gap: 12px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid rgba(18, 50, 99, 0.08);
  background: rgba(18, 50, 99, 0.035);
}

.i18n-card h4 {
  margin: 0;
  color: var(--navy);
  font-size: 1rem;
}

.admin-backup-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.admin-backup-card {
  display: grid;
  gap: 14px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid rgba(18, 50, 99, 0.08);
  background: rgba(18, 50, 99, 0.035);
}

.admin-backup-card h4 {
  margin: 0;
  color: var(--navy);
  font-size: 1rem;
}

.admin-backup-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.admin-backup-summary {
  min-height: 96px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px dashed rgba(18, 50, 99, 0.18);
  background: rgba(255, 255, 255, 0.82);
}

.admin-backup-summary p,
#settings-backup-current-summary {
  white-space: pre-line;
}

.admin-dashboard-followup {
  margin-top: 18px;
}

.admin-activity-panels {
  margin: 18px 0;
}

.admin-health-grid,
.admin-audit-list {
  display: grid;
  gap: 14px;
}

.admin-health-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.admin-health-card,
.admin-audit-item {
  display: grid;
  gap: 10px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(18, 50, 99, 0.08);
  background: rgba(248, 251, 255, 0.92);
}

.admin-health-card {
  border-left: 6px solid rgba(18, 50, 99, 0.12);
}

.admin-health-card[data-tone="success"] {
  border-left-color: rgba(31, 168, 116, 0.55);
  background: rgba(240, 252, 247, 0.96);
}

.admin-health-card[data-tone="warning"] {
  border-left-color: rgba(255, 159, 67, 0.6);
  background: rgba(255, 248, 239, 0.96);
}

.admin-health-card[data-tone="muted"] {
  border-left-color: rgba(18, 50, 99, 0.16);
}

.admin-health-card[data-tone="error"] {
  border-left-color: rgba(225, 86, 86, 0.55);
  background: rgba(255, 243, 243, 0.96);
}

.admin-health-card-top,
.admin-audit-topline {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
}

.admin-health-value {
  color: var(--navy);
  font-size: 1.02rem;
}

.admin-health-card p,
.admin-audit-item p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.admin-audit-item strong {
  color: var(--navy);
}

.admin-activity-list {
  display: grid;
  gap: 12px;
}

.admin-activity-item {
  display: grid;
  gap: 10px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(18, 50, 99, 0.08);
  background: rgba(248, 251, 255, 0.92);
}

.admin-activity-item-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.admin-activity-item-top strong {
  color: var(--navy);
}

.admin-activity-item-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  color: var(--muted);
  font-size: 0.92rem;
}

.admin-activity-item p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.form-actions--compact {
  gap: 12px;
}

.admin-file-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.pricing-editor {
  display: grid;
  gap: 16px;
}

.pricing-helper {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
}

.pricing-checklist {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.pricing-card {
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(18, 50, 99, 0.08);
  background: rgba(248, 251, 255, 0.92);
  border-left: 6px solid rgba(18, 50, 99, 0.12);
}

.pricing-card strong {
  color: var(--navy);
  font-size: 0.98rem;
}

.pricing-card span {
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.pricing-card--ready {
  border-left-color: rgba(15, 140, 106, 0.82);
}

.pricing-card--missing {
  border-left-color: rgba(235, 154, 47, 0.82);
}

.pricing-card--na {
  border-left-color: rgba(18, 50, 99, 0.24);
}

.pricing-empty {
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(18, 50, 99, 0.05);
  color: var(--muted);
  line-height: 1.55;
}

.pricing-stack {
  display: grid;
  gap: 16px;
}

.pricing-group {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(18, 50, 99, 0.08);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.9);
}

.pricing-group h4 {
  margin: 0;
  color: var(--navy);
  font-size: 0.98rem;
}

.pricing-grid {
  display: grid;
  gap: 12px;
}

.pricing-grid--triple {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pricing-grid--double {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pricing-matrix {
  display: grid;
  gap: 8px;
}

.pricing-matrix-head,
.pricing-matrix-row {
  display: grid;
  grid-template-columns: minmax(130px, 1.1fr) repeat(2, minmax(90px, 1fr));
  gap: 10px;
  align-items: center;
}

.pricing-matrix-head {
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pricing-matrix-row strong {
  color: var(--navy);
  font-size: 0.94rem;
}

.pricing-matrix-row input,
.pricing-grid input {
  min-width: 0;
}

.admin-workbench {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.8fr);
  gap: 20px;
  align-items: start;
  margin-bottom: 22px;
}

.form-grid-span-2 {
  grid-column: 1 / -1;
}

.qr-panel {
  display: grid;
  gap: 16px;
  position: sticky;
  top: 12px;
}

.qr-preview-frame {
  min-height: 280px;
  border-radius: 24px;
  border: 1px dashed rgba(18, 50, 99, 0.16);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(18, 50, 99, 0.04) 100%);
  position: relative;
  display: grid;
  place-items: center;
  padding: 18px;
}

.qr-preview-frame > img {
  width: min(100%, 260px);
  border-radius: 18px;
  box-shadow: 0 18px 30px rgba(18, 50, 99, 0.12);
  background: white;
}

#apartment-qr-image {
  position: relative;
  z-index: 1;
}

#apartment-qr-badge {
  position: absolute;
  z-index: 2;
  width: min(100%, 92px);
  height: min(100%, 92px);
  background: #ffffff;
  border: 1px solid rgba(18, 50, 99, 0.08);
  border-radius: 50%;
  padding: 6px;
  box-shadow: 0 10px 18px rgba(18, 50, 99, 0.12);
  pointer-events: none;
  display: grid;
  place-items: center;
}

#apartment-qr-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.qr-preview-empty {
  max-width: 26ch;
  color: var(--muted);
  text-align: center;
  line-height: 1.55;
}

.qr-url-block {
  display: grid;
  gap: 8px;
}

.qr-url-block span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.qr-url-block a {
  color: var(--navy);
  font-weight: 700;
  overflow-wrap: anywhere;
}

.qr-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.business-image-upload {
  display: grid;
  gap: 12px;
}

.business-image-dropzone {
  border: 1px dashed rgba(18, 50, 99, 0.22);
  border-radius: 18px;
  padding: 18px;
  min-height: 120px;
  display: grid;
  place-items: center;
  text-align: center;
  color: var(--muted);
  background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(18,50,99,0.04) 100%);
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.business-image-dropzone:hover,
.business-image-dropzone:focus-visible,
.business-image-dropzone.is-dragover {
  border-color: rgba(18, 50, 99, 0.42);
  background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(18,50,99,0.08) 100%);
  transform: translateY(-1px);
  outline: none;
}

#business-image-preview {
  width: min(100%, 340px);
  max-height: 220px;
  object-fit: cover;
  border-radius: 18px;
  border: 1px solid rgba(18, 50, 99, 0.08);
  box-shadow: 0 18px 30px rgba(18, 50, 99, 0.12);
  background: #ffffff;
}

.service-meta-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.service-meta-tag {
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(18, 50, 99, 0.07);
  color: var(--navy);
  font-size: 0.8rem;
  font-weight: 700;
}

.service-meta-tag--ready {
  background: rgba(15, 140, 106, 0.12);
  color: #0b6b51;
}

.service-meta-tag--warning {
  background: rgba(235, 154, 47, 0.16);
  color: #8b5312;
}

.apartment-card-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.apartment-readiness {
  margin: 14px 0 0;
  font-size: 0.9rem;
  font-weight: 700;
}

.apartment-readiness--ready {
  color: var(--success);
}

.apartment-readiness--pending {
  color: var(--warning);
}

.apartment-notes-preview {
  margin: 12px 0 0;
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(18, 50, 99, 0.05);
  color: var(--navy);
  line-height: 1.55;
  white-space: pre-wrap;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.apartment-notes-preview--empty {
  color: var(--muted);
}

.inline-actions [aria-disabled="true"] {
  pointer-events: none;
  opacity: 0.46;
}

.form-actions,
.success-actions {
  margin-top: 18px;
  flex-wrap: wrap;
}

.success-whatsapp-note {
  margin: 16px 0 0;
  color: var(--muted);
  font-size: 0.98rem;
}

.status-line {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 16px;
}

.meta-list {
  display: grid;
  gap: 8px;
  margin-top: 14px;
  color: var(--muted);
}

.meta-list strong {
  color: var(--navy);
}

.inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
  min-width: 0;
}

.inline-actions--single > * {
  width: 100%;
}

.admin-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.admin-inline-actions--wrap {
  margin-top: 4px;
}

.admin-inline-actions [aria-disabled="true"] {
  pointer-events: none;
  opacity: 0.46;
}

.service-link-helper {
  display: grid;
  gap: 12px;
}

.service-link-checklist {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.service-link-card {
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(18, 50, 99, 0.08);
  background: rgba(248, 251, 255, 0.92);
  border-left: 6px solid rgba(18, 50, 99, 0.12);
}

.service-link-card strong {
  color: var(--navy);
  font-size: 0.98rem;
}

.service-link-card span {
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.service-link-card--ready {
  border-left-color: rgba(15, 140, 106, 0.82);
}

.service-link-card--missing {
  border-left-color: rgba(235, 154, 47, 0.82);
}

.service-link-card--na {
  border-left-color: rgba(18, 50, 99, 0.24);
}

.translation-helper {
  display: grid;
  gap: 12px;
  padding: 16px 18px;
  border: 1px solid rgba(29, 99, 142, 0.14);
  border-radius: 20px;
  background: rgba(248, 251, 255, 0.92);
}

.translation-helper-copy {
  margin: 0;
  color: var(--muted);
  font-size: 0.98rem;
}

.translation-helper textarea {
  min-height: 170px;
  resize: vertical;
}

.inline-actions--single .secondary-button {
  width: 100%;
}

.back-link {
  margin-bottom: 14px;
  padding-left: 16px;
  padding-right: 16px;
}

@media (min-width: 720px) {
  .category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 920px) {
  .admin-grid,
  .split-panel,
  .form-grid,
  .admin-workbench,
  .i18n-grid,
  .pricing-grid--triple,
  .pricing-grid--double {
    grid-template-columns: 1fr;
  }

  .admin-sidebar {
    position: sticky;
    top: 10px;
    display: flex;
    gap: 10px;
    align-items: stretch;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 12px;
    scrollbar-width: thin;
  }

  .site-shell {
    width: min(100% - 20px, 1180px);
  }

  .admin-sidebar .nav-tab {
    flex: 0 0 auto;
    min-width: max-content;
    text-align: center;
  }

  .section-heading,
  .panel-head,
  .editor-block-head {
    flex-direction: column;
    align-items: stretch;
  }

  .access-point-card-head {
    flex-direction: column;
    align-items: stretch;
  }

  .section-heading {
    gap: 12px;
    text-align: left;
    max-width: none;
    margin-bottom: 20px;
  }

  .section-heading > div {
    justify-items: start;
  }

  .section-heading > .primary-button,
  .section-heading > .secondary-button {
    width: 100%;
  }

  .filter-row--requests > *,
  .filter-row--services > *,
  .filter-row--apartments > *,
  .filter-row--zones > * {
    flex: 1 1 calc(50% - 14px);
    min-width: 0;
  }

  .quick-action {
    flex: 1 1 220px;
  }

  .admin-inline-actions,
  .request-detail-actions,
  .bulk-toolbar-actions {
    flex-wrap: wrap;
  }

  .admin-inline-actions > *,
  .request-detail-actions > *,
  .bulk-toolbar-actions > * {
    flex: 1 1 calc(50% - 10px);
    min-width: 0;
  }

  .admin-workbench {
    grid-template-columns: 1fr;
  }

  .qr-panel {
    position: static;
  }

  .admin-modal-shell {
    width: min(100%, 100vw - 24px);
    max-height: calc(100dvh - 20px);
    padding: 20px;
  }

  .request-detail-status {
    max-width: none;
  }
}

@media (max-width: 680px) {
  .brand-bar,
  .section-heading,
  .filter-row,
  .success-actions,
  .form-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .whatsapp-banner {
    flex-direction: column;
    align-items: flex-start;
  }

  .request-admin-stats,
  .requests-admin-layout,
  .admin-backup-grid,
  .stats-grid {
    grid-template-columns: 1fr;
  }

  .qr-actions {
    grid-template-columns: 1fr;
  }

  .request-detail-panel {
    position: static;
    top: auto;
  }

  .brand-logo {
    width: min(286px, 73vw);
  }

  .brand-mark {
    left: -16px;
    top: -10px;
    width: 72px;
    height: auto;
  }
  
  .brand-mark-image {
    width: 72px;
    height: auto;
  }
    
  .brand-wordmark-image {
    width: 174px;
  }
    
  body[data-page="public"][data-public-view]:not([data-public-view="language"]) .brand-bar,
  body[data-page="legal"] .brand-bar {
    padding-left: 0;
    padding-right: 0;
    min-height: 62px;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
  }

  body[data-page="legal"] .brand-bar-copy {
    padding-left: 64px;
    padding-right: 8px;
    gap: 0;
  }

  body[data-page="legal"] .brand-claim {
    font-size: clamp(0.9rem, 3.8vw, 1.02rem);
  }

  body[data-page="public"][data-public-view]:not([data-public-view="language"]) .brand-mark {
    left: -18px;
    top: -12px;
    width: 82px;
  }

  body[data-page="public"][data-public-view]:not([data-public-view="language"]):not([data-public-view="categories"]) .brand-mark {
    left: -28px;
  }

  body[data-page="public"][data-public-view]:not([data-public-view="language"]) .brand-mark-image {
    width: 82px;
  }

  body[data-page="public"][data-public-view]:not([data-public-view="language"]) .brand-wordmark {
    top: 0;
  }

  .public-brand-tagline {
    margin-top: -44px;
    margin-bottom: 4px;
    font-size: clamp(0.92rem, 4vw, 1.12rem);
  }

  h1 {
    max-width: 100%;
  }

  .hero-card {
    padding: 26px 20px 24px;
  }

  .hero-card,
  .request-form,
  .editor-form,
  .panel-card {
    border-radius: 22px;
  }

  .admin-modal {
    padding: 12px;
  }

  .admin-modal-shell {
    width: min(100%, 100vw - 24px);
    padding: 18px;
    border-radius: 24px;
    margin: 6px 0 18px;
  }

  .admin-modal-head {
    flex-direction: column;
    align-items: stretch;
  }

  .request-detail-actions > *,
  .quick-action,
  .admin-inline-actions > *,
  .bulk-toolbar-actions > * {
    width: 100%;
    min-width: 0;
    flex-basis: 100%;
  }

  .filter-row--requests > *,
  .filter-row--services > *,
  .filter-row--apartments > *,
  .filter-row--zones > * {
    flex-basis: 100%;
  }

  .pricing-matrix-head {
    display: none;
  }

  .pricing-matrix-row {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(18, 50, 99, 0.04);
  }

  .pricing-matrix-row strong {
    margin-bottom: 2px;
  }

  .request-form-media,
  .request-form-media-overlay {
    min-height: 158px;
  }

  .request-form-body {
    padding: 18px;
    gap: 14px;
  }

  .site-footer {
    padding-top: 26px;
    justify-content: center;
    text-align: center;
  }

  .site-footer-copy,
  .site-footer-links {
    justify-content: center;
  }

  .site-footer-links a,
  .card-link {
    text-align: center;
  }

  .form-estimate {
    padding: 18px 18px 16px;
    gap: 5px;
  }

  .form-section {
    padding: 18px;
    border-radius: 20px;
  }

  .form-addon-route {
    grid-template-columns: 1fr;
  }

  .form-addon-toggle {
    grid-template-columns: 1fr;
  }

  .form-addon-choice-group {
    justify-content: flex-start;
  }

  .pricing-matrix-head {
    display: none;
  }

  .pricing-matrix-row {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 12px;
    border-radius: 16px;
    background: rgba(18, 50, 99, 0.04);
  }

  .inline-actions > * {
    width: 100%;
  }

  .qr-actions {
    grid-template-columns: 1fr;
  }

  .phone-field-group {
    grid-template-columns: 98px minmax(0, 1fr);
    gap: 10px;
  }

  .phone-code-menu {
    width: 150px;
  }

  .section-heading {
    margin-bottom: 18px;
  }

  .section-lead {
    margin-top: 10px;
    font-size: 0.94rem;
    max-width: none;
  }

  #list-view .section-lead {
    margin-top: 8px;
    font-size: 0.82rem;
    line-height: 1.22;
  }

  .request-form-context-title {
    font-size: 1.36rem;
  }

  .form-section-title {
    margin-bottom: 12px;
    font-size: 0.72rem;
  }

  .language-card {
    min-height: 118px;
    padding: 14px 10px;
  }

  .category-card {
    min-height: 0;
    padding: 6px 6px 12px;
    gap: 3px;
  }

  .language-card .flag {
    width: 82px;
    height: 82px;
  }

  .categories-shell,
  .category-grid {
    max-width: 100%;
  }

  .category-grid {
    gap: 10px 10px;
  }

  .cards-stack {
    gap: 18px;
  }

  .card-media {
    min-height: 182px;
  }

  .card-body {
    padding: 16px 18px 20px;
  }

  .car-builder-hero {
    min-height: 190px;
  }

  .car-builder-body {
    padding: 18px 18px 20px;
  }

  .car-option-grid {
    gap: 10px;
  }

  .card-meta strong {
    font-size: 1.28rem;
  }

  .category-card .icon-badge {
    width: 124px;
    height: auto;
  }

  .category-card .icon-badge .rich-category-image--top,
  .category-card .icon-badge .rich-category-image--uniform {
    width: 124px;
    height: 105px;
  }

  .category-card .category-unified-title {
    max-width: 124px;
    min-height: 2.28em;
    font-size: 0.84rem;
    line-height: 1.06;
  }

  .category-card .category-unified-divider {
    margin-top: -4px;
    gap: 3px;
  }

  .category-card .category-unified-divider span {
    width: 28px;
  }

  .category-card .category-unified-divider::after {
    width: 3px;
    height: 3px;
  }
}

@media (max-width: 420px) {
  body[data-page="public"][data-public-view]:not([data-public-view="language"]) .brand-bar,
  body[data-page="legal"] .brand-bar {
    padding-left: 0;
    padding-right: 0;
    min-height: 58px;
  }

  body[data-page="legal"] .brand-bar-copy {
    padding-left: 58px;
    padding-right: 6px;
  }

  body[data-page="legal"] .brand-mark {
    left: -8px;
    top: -6px;
  }
    
  body[data-page="public"][data-public-view]:not([data-public-view="language"]) .brand-wordmark-image,
  body[data-page="legal"] .brand-wordmark-image {
    width: 166px;
  }

  body[data-page="public"][data-public-view]:not([data-public-view="language"]) .brand-mark {
    left: -20px;
    top: -12px;
    width: 80px;
  }

  body[data-page="public"][data-public-view]:not([data-public-view="language"]):not([data-public-view="categories"]) .brand-mark {
    left: -30px;
  }

  body[data-page="public"][data-public-view]:not([data-public-view="language"]) .brand-mark-image {
    width: 80px;
  }

  .category-grid {
    gap: 6px 6px;
  }

  .car-option-grid {
    grid-template-columns: 1fr;
  }

  .transmission-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .category-card {
    padding: 2px 4px 8px;
  }

  .category-card .icon-badge {
    width: 112px;
  }

  .category-card .icon-badge .rich-category-image--top,
  .category-card .icon-badge .rich-category-image--uniform {
    width: 112px;
    height: 95px;
  }

  .category-card .category-unified-title {
    max-width: 112px;
    min-height: 2.32em;
    font-size: 0.78rem;
    line-height: 1.07;
  }

  .category-card .category-unified-divider {
    margin-top: -4px;
  }

  .category-card .category-unified-divider span {
    width: 24px;
  }

  .category-card[data-category="cars"] .category-unified-title,
  .category-card[data-category="bikes"] .category-unified-title {
    max-width: 118px;
    min-height: 1.2em;
    font-size: 0.72rem;
    line-height: 1;
    white-space: nowrap;
  }

  .category-card[data-category="cars"] .category-unified-divider,
  .category-card[data-category="bikes"] .category-unified-divider {
    margin-top: 4px;
  }

  .category-card[data-category="cars"] .icon-badge .rich-category-image--top,
  .category-card[data-category="bikes"] .icon-badge .rich-category-image--top {
    height: 96px;
  }

  .category-card[data-category="bikes"] {
    --poster-offset-y: -1px;
  }
}

@media (max-width: 460px) {
  .category-card[data-category="cars"] .category-unified-title,
  .category-card[data-category="bikes"] .category-unified-title {
    max-width: 118px;
    min-height: 2.3em;
    font-size: 0.74rem;
    line-height: 1.02;
    white-space: normal;
    text-wrap: balance;
  }

  .category-card[data-category="cars"] .category-unified-divider,
  .category-card[data-category="bikes"] .category-unified-divider {
    margin-top: 2px;
  }
}

@media (max-width: 420px) {
  .language-grid {
    gap: 10px;
  }

  .language-card strong {
    font-size: 0.94rem;
  }
}
