/* Shared light presentation for the public site; home-human.css adds homepage layout. */

/* Same brand typography as the monthly report (OFL 1.1, see assets/fonts/LICENCIAS.txt). */
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 600 800;
  font-display: swap;
  src: url("/assets/fonts/manrope-latin-20261105.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/assets/fonts/inter-latin-20261105.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* The white ground carries the daily sales rhythm of the demo report: October solid, September dashed. */
body.light-site {
  background: var(--lirio-paper) url("/assets/fondo-ritmo-ventas-20261105.svg") center top / max(100%, 1280px) auto repeat-y;
  color: var(--lirio-indigo-900);
}
body.light-site::before { display: none; }
.light-site .container { width: min(100% - 96px, 1280px); }
.light-site .site-header,
.light-site .site-header.is-transparent { background: rgba(255,255,255,.96); border-bottom: 1px solid var(--lirio-line); }
.light-site .header-inner { max-width: 1376px; padding-inline: 48px; margin-inline: auto; }
.light-site .brand { color: var(--lirio-indigo-900); }
.light-site h1, .light-site h2, .light-site h3 { color: var(--lirio-indigo-900); font-weight: 650; }
.light-site h1 { font-size: clamp(36px,4.1vw,58px); line-height: 1.12; letter-spacing: -.045em; }
.light-site h2 { font-size: clamp(28px,3vw,42px); line-height: 1.2; letter-spacing: -.035em; }
.light-site .page-hero { margin-top: 0; padding: 76px 0; min-height: 0; background: transparent; color: var(--lirio-indigo-900); }
.light-site .page-hero::before, .light-site .page-hero::after,
.light-site .section-dark::before, .light-site .section-dark::after,
.light-site .pilot-section::before, .light-site .pilot-section::after { display: none; }
.light-site .hero-lead, .light-site .page-hero p:not(.eyebrow),
.light-site .page-hero-grid > div > p:not(.eyebrow) { color: #535b78; font-size: 17px; line-height: 1.8; }
.light-site .eyebrow, .light-site .section-dark .eyebrow { color: var(--lirio-indigo-700); }
.light-site .eyebrow-pill, .light-site .section-heading .eyebrow,
.light-site .pilot-section .eyebrow { background: var(--lirio-mist-50); color: var(--lirio-indigo-700); border-color: var(--lirio-line); box-shadow: none; backdrop-filter: none; }
.light-site .eyebrow-dot, .light-site .section-heading .eyebrow::before,
.light-site .pilot-section .eyebrow::before { background: var(--lirio-violet-500); box-shadow: none; }
.light-site .button { min-height: 50px; border-radius: 12px; box-shadow: none; font-size: 14px; }
.light-site .button-primary { background: var(--lirio-indigo-700); color: white; }
.light-site .button-primary:hover { background: var(--lirio-indigo-900); }
.light-site .button-secondary { background: white; color: var(--lirio-indigo-700); border-color: var(--lirio-line); }
.light-site .button-secondary:hover { background: var(--lirio-mist-50); }
.light-site :focus-visible { outline-color: var(--lirio-blue-500); }
.light-site .section-dark, .light-site .section-soft { background: var(--lirio-mist-50); color: var(--lirio-indigo-900); border-color: var(--lirio-line); }
.light-site .section-dark h2, .light-site .section-dark h3 { color: var(--lirio-indigo-900); }
.light-site .section-dark .section-heading p:not(.eyebrow),
.light-site .section-dark .module-card p, .light-site .section-dark .module-card li { color: #535b78; }
.light-site .module-card, .light-site .feature-card, .light-site .page-intro-card,
.light-site .pilot-card, .light-site .faq-list article, .light-site .legal-card,
.light-site .final-card { background: white; border: 1px solid var(--lirio-line); box-shadow: none; border-radius: 20px; }
.light-site .page-intro-card { background: var(--lirio-mist-50); }
.light-site .page-intro-card strong { color: var(--lirio-indigo-900); }
.light-site .page-intro-card li, .light-site .pilot-card li { color: #535b78; font-weight: 500; }
.light-site .pilot-card { border-top: 3px solid var(--lirio-violet-500); }
.light-site .pilot-card h3 { color: var(--lirio-indigo-900); }
.light-site .check-list, .light-site .pilot-grid li, .light-site .pilot-grid p:not(.eyebrow) { color: #535b78; }
.light-site .check-list li::marker { color: var(--lirio-violet-500); }
.light-site .muted-card, .light-site .final-card { background: var(--lirio-mist-50); }
.light-site .feature-card:hover, .light-site .pilot-card:hover,
.light-site .faq-list article:hover { transform: none; border-color: var(--lirio-line); box-shadow: 0 8px 24px #17135f08; }
.light-site .site-footer { background: var(--lirio-mist-50); border-top: 1px solid var(--lirio-line); }
.light-site .product-intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.light-site .product-intro-copy { min-width: 0; }
.light-site .product-intro-photo { display: block; width: 100%; height: auto; object-fit: contain; border: 1px solid var(--lirio-line); border-radius: 20px; box-shadow: 0 16px 40px #17135f0a; }
.light-site .error-shell { background: white; border-color: var(--lirio-line); box-shadow: none; }
@media (max-width: 1100px) {
  .light-site .container { width: calc(100% - 64px); }
  .light-site .product-intro-grid { gap: 32px; }
}
@media (max-width: 900px) {
  .light-site .product-intro-grid { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  .light-site .header-inner { padding-inline: 24px; }
  .light-site .page-hero { padding: 48px 0; }
  .light-site .page-hero-grid, .light-site .pilot-grid { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 480px) {
  .light-site .container { width: calc(100% - 40px); }
  .light-site .product-intro-photo { border-radius: 12px; }
  .light-site .hero-lead, .light-site .page-hero p:not(.eyebrow) { font-size: 16px; }
}

.light-site .module-card[id] { scroll-margin-top: 110px; }

/* Calm action hierarchy: labels carry the action; feedback stays in the control. */
.light-site .button {
  font-weight: 650;
  touch-action: manipulation;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
.light-site .button-primary::after { display: none; }
.light-site .button:hover { transform: none; box-shadow: none; }
.light-site .button:active:not(:disabled) { transform: none; filter: brightness(.93); }
.light-site .button:disabled { opacity: .55; cursor: not-allowed; filter: none; }
.light-site .button:disabled:hover { background: var(--lirio-indigo-700); }
@media (hover: hover) and (pointer: fine) {
  .light-site .button-secondary:hover { border-color: var(--lirio-indigo-700); }
}
@media (hover: none) {
  .light-site .button-primary:hover { background: var(--lirio-indigo-700); }
  .light-site .button-secondary:hover { background: white; border-color: var(--lirio-line); }
}

/* One navigation model across every public page. */
.light-site .site-nav a { white-space: nowrap; }
.light-site .site-nav a[aria-current="page"] { color: var(--lirio-indigo-700); text-decoration: underline; text-underline-offset: 7px; text-decoration-thickness: 2px; }
.light-site .footer-nav a, .light-site .footer-contact a { min-height: 44px; display: flex; align-items: center; margin-top: 0; }
.light-site .footer-nav, .light-site .footer-contact { gap: 0; }
.light-site .skip-link { position: fixed; top: -100px; left: 20px; z-index: 200; padding: 12px 20px; background: white; color: var(--lirio-indigo-900); }
.light-site .skip-link:focus { top: 12px; }

/* Reading content needs hierarchy and breathing room, not a card per paragraph. */
.light-site .section-soft, .light-site .section-dark { background: transparent; border: 0; }
.light-site .module-card, .light-site .feature-card, .light-site .page-intro-card,
.light-site .legal-card, .light-site .final-card {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.light-site .module-card, .light-site .feature-card { padding: 24px 0; border-top: 1px solid var(--lirio-line); }
.light-site .feature-card::before, .light-site .feature-card::after { display: none; }
.light-site .feature-card:hover, .light-site .module-card:hover { background: transparent; transform: none; box-shadow: none; border-color: var(--lirio-line); }
.light-site .page-intro-card { padding: 24px 0; border-top: 1px solid var(--lirio-line); }
.light-site .legal-card { padding: 28px 0; }
.light-site .legal-card + .legal-card { border-top: 1px solid var(--lirio-line); }
.light-site .final-card { padding-block: 48px; border-top: 1px solid var(--lirio-line); }
.light-site .faq-list { max-width: 820px; margin-inline: auto; gap: 0; }
.light-site .faq-list article, .light-site .faq-list article:hover {
  padding: 28px 0;
  border: 0;
  border-bottom: 1px solid var(--lirio-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
  transition: none;
}
.light-site .faq-list article:first-child { padding-top: 0; }
.light-site .faq-list h3 { margin: 0 0 12px; font-size: 22px; line-height: 1.35; }
.light-site .faq-list p { margin: 0; line-height: 1.8; }

.light-site.faq-page .page-hero > .container { max-width: 820px; }
.light-site.faq-page .section-soft { padding-top: 24px; }

/* Hospitality scenes support the story without decorative frames or captions. */
.light-site .hospitality-photo { display: block; width: 100%; height: auto; border-radius: 16px; }
.light-site .reservation-photo { margin-top: 28px; }


/* Native modal supplies keyboard containment and an inert background. */
body.is-contact-open { overflow: hidden; }
.light-site .contact-dialog {
  width: min(760px, calc(100% - 32px));
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 0;
  border: 1px solid var(--lirio-line);
  border-radius: 20px;
  color: var(--lirio-indigo-900);
  background: white;
  box-shadow: 0 24px 80px #080b2e33;
  overscroll-behavior: contain;
}
.light-site .contact-dialog::backdrop { background: #080b2e88; }
.light-site .contact-dialog-bar { position: sticky; top: 0; display: flex; justify-content: flex-end; padding: 8px 16px; background: white; z-index: 1; border-bottom: 1px solid var(--lirio-line); }
.light-site .contact-dialog-close { min-height: 44px; padding: 8px 16px; border: 0; border-radius: 8px; background: var(--lirio-mist-50); color: var(--lirio-indigo-700); font: inherit; font-weight: 650; cursor: pointer; touch-action: manipulation; }
.light-site .contact-dialog-body { padding: 24px 32px 32px; }
.light-site .contact-dialog-body > p { color: var(--lirio-muted); margin: 0 0 24px; }
.light-site .contact-dialog .contact-form { padding: 0; border: 0; border-radius: 0; background: white; box-shadow: none; }
.light-site .contact-dialog input, .light-site .contact-dialog select, .light-site .contact-dialog textarea { font-size: 16px; }
@media (max-width: 480px) {
  .light-site .contact-dialog { width: calc(100% - 16px); max-height: calc(100dvh - 16px); border-radius: 16px; }
  .light-site .contact-dialog-body { padding: 20px 16px; }
  .light-site .contact-dialog .form-grid { grid-template-columns: 1fr; }
}

/* Keep the current product captures complete, including cart and kitchen columns. */
.light-site .screen-shot { box-shadow: 0 12px 32px #17135f0a; }
.light-site .screen-gallery .screen-shot--wide { aspect-ratio: auto; }
.light-site .screen-gallery .screen-shot--wide img { height: auto; object-fit: contain; }
.light-site .screen-gallery-phones { align-items: flex-start; }

/* Social presence belongs with the footer contact links. */
.light-site .site-footer .instagram-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin-top: 16px; color: var(--lirio-indigo-700); text-decoration: none; font-weight: 650; }
.instagram-link svg { flex: none; }
.light-site .instagram-link:hover span { text-decoration: underline; text-underline-offset: 4px; }
.light-site .instagram-link:focus-visible { outline: 2px solid var(--lirio-blue-500); outline-offset: 4px; border-radius: 4px; }

/* ---------- Interior pages: same language as the homepage (panels, report band, curve close). ---------- */
.light-site {
  --site-mist-2: #eef0ff;
  --site-mist-3: #e2e6ff;
  --site-navy: #080a2e;
  --site-navy-2: #11134a;
  --site-sky: var(--lirio-sky-400);
  --site-lavender: #c9ccf2;
  --site-text: #24275a;
  --site-ease: cubic-bezier(0.22, 1, 0.36, 1);
}
.light-site h1, .light-site h2, .light-site h3 { font-family: Manrope, Inter, ui-sans-serif, system-ui, sans-serif; font-weight: 700; text-wrap: balance; }
.light-site .page-hero h1 { font-size: clamp(38px, 4.4vw, 64px); line-height: 1.05; letter-spacing: -.045em; max-width: 17ch; margin: 0 0 22px; }
.light-site .page-hero .hero-lead { max-width: 540px; color: var(--site-text); font-size: 20px; line-height: 1.55; }
.light-site .page-hero .hero-actions { margin-top: 32px; }
.light-site main li + li { margin-top: 0; }

.site-section { padding: 72px 0; }
.site-heading { display: grid; grid-template-columns: 1.4fr 1fr; gap: 24px 64px; align-items: end; margin-bottom: 48px; }
.light-site .site-heading h2 { margin: 0; }
.site-heading p { margin: 0 0 6px; font-size: 18px; color: var(--site-text); }

.site-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 24px 0 0; }
.site-chips li { background: var(--site-mist-2); color: var(--lirio-indigo-700); border-radius: 999px; padding: 7px 14px; font-size: 14px; font-weight: 650; }
.site-chips--white li { background: white; }
.site-chips--nav li { padding: 0; background: transparent; }
.site-chips--nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border-radius: 999px; background: white; color: var(--lirio-indigo-700); font-size: 15px; font-weight: 650; text-decoration: none; transition: background-color 160ms ease, color 160ms ease; }
.site-chips--nav a:hover { background: var(--lirio-indigo-700); color: white; }

.site-panel { background: var(--site-mist-2); border-radius: 40px; padding: 80px 72px; }
.site-device { margin: 0; background: var(--site-navy); border-radius: 22px; padding: 10px; }
.site-device img { display: block; width: 100%; height: auto; border-radius: 13px; }
.site-note { margin: 14px 0 0; color: #4b5178; font-size: 14px; }

.site-accent-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 18px; }
.site-accent-list > li { position: relative; padding-left: 22px; }
.site-accent-list > li::before { content: ''; position: absolute; left: 0; top: 4px; bottom: 4px; width: 4px; border-radius: 4px; background: var(--lirio-indigo-700); }
.site-accent-list strong { display: block; color: var(--lirio-indigo-900); font-family: Manrope, Inter, sans-serif; font-size: 18px; }
.site-accent-list span { display: block; color: var(--site-text); font-size: 16px; margin-top: 2px; }

.site-link { color: var(--lirio-indigo-700); font-weight: 700; font-size: 15px; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; display: inline-flex; align-items: center; min-height: 44px; transition: color 160ms ease, text-underline-offset 160ms ease; }
.site-link::after { content: '→'; margin-left: 10px; display: inline-block; transition: transform 200ms var(--site-ease); }
.site-link:hover { color: var(--lirio-indigo-900); text-underline-offset: 8px; }
.site-link:hover::after { transform: translateX(4px); }
.site-band .site-link { color: var(--site-sky); }
.site-band .site-link:hover { color: white; }

.site-band { position: relative; margin: 48px 16px; padding: 104px 0; background: var(--site-navy); color: white; border-radius: 44px; overflow: hidden; isolation: isolate; }
.light-site .site-band h2, .light-site .site-band h3 { color: white; }
.site-band em { color: var(--site-sky); font-style: normal; }
.site-band p { color: var(--site-lavender); }

.light-site .final-cta.site-close { padding: 96px 0 120px; }
.site-close-panel { position: relative; overflow: hidden; background: var(--lirio-indigo-700) url("/assets/curva-informe-20261105.svg") center bottom -4px / 104% 150px no-repeat; border-radius: 44px; padding: 96px 64px 200px; text-align: center; }
.light-site .site-close-panel h2 { color: white; margin: 0 auto 16px; max-width: 24ch; font-size: clamp(30px, 3.4vw, 50px); line-height: 1.1; letter-spacing: -.04em; }
.light-site .site-close-panel p { color: var(--site-lavender); max-width: 560px; margin: 0 auto 32px; font-size: 18px; }
.site-close-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.light-site .button-light { background: white; color: var(--lirio-indigo-700); border: 0; }
.light-site .button-light:hover { background: var(--site-mist-2); }
.light-site .button-ghost-light { background: transparent; color: white; border: 2px solid rgba(255,255,255,.45); }
.light-site .button-ghost-light:hover { background: rgba(255,255,255,.08); border-color: white; }

@media (max-width: 820px) {
  .site-section { padding: 48px 0; }
  .site-heading { grid-template-columns: 1fr; margin-bottom: 32px; }
  .site-panel { padding: 48px 24px; border-radius: 28px; }
  .site-band { margin: 32px 8px; padding: 72px 0; border-radius: 28px; }
  .light-site .final-cta.site-close { padding: 56px 0 72px; }
  .site-close-panel { padding: 64px 24px 150px; border-radius: 28px; background-size: 104% 110px; }
  .light-site .page-hero .hero-lead { font-size: 18px; }
}

/* Legal reading: one calm column on a white sheet, above the patterned ground. */
.light-site .legal-content { width: min(100% - 96px, 880px); gap: 0; background: white; border-radius: 32px; padding: 24px 56px 40px; }
.light-site .legal-card h2 { font-size: 24px; letter-spacing: -.025em; margin-bottom: 14px; }
.light-site .legal-card p, .light-site .legal-card li { color: var(--site-text); font-size: 16px; line-height: 1.75; }
.light-site .legal-card a { color: var(--lirio-indigo-700); font-weight: 600; text-underline-offset: 3px; }

@media (max-width: 820px) {
  .light-site .legal-content { width: calc(100% - 32px); padding: 8px 20px 24px; border-radius: 24px; }
  .light-site .legal-card h2 { font-size: 21px; }
}

/* 404: a lost ticket on the same ground. */
.light-site.not-found-page { background-color: var(--lirio-paper); }
.light-site .error-shell { border: 0; border-radius: 32px; background: white; box-shadow: 0 24px 60px rgba(23,19,95,.08); text-align: left; }
.light-site .error-code { font-family: Manrope, Inter, sans-serif; font-size: clamp(72px, 12vw, 120px); line-height: 1; font-weight: 800; letter-spacing: -.06em; color: var(--site-mist-3); margin: 0; }

/* Cómo empezar */
.start-hero-grid { grid-template-columns: 1.1fr .9fr; align-items: center; gap: 64px; }
.start-hero .hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 28px; }
.start-checklist { justify-self: end; width: min(100%, 420px); background: white; border-radius: 28px; padding: 28px; box-shadow: 0 24px 60px rgba(23,19,95,.10); transform: rotate(1.5deg); }
.light-site .start-checklist-title { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 0 0 12px; }
.start-checklist-title strong { font-family: Manrope, Inter, sans-serif; font-size: 20px; color: var(--lirio-indigo-900); }
.start-checklist-title span { font-size: 14px; color: #4b5178; font-weight: 600; }
.start-checklist-bar { display: block; height: 8px; border-radius: 8px; background: var(--site-mist-2); overflow: hidden; margin-bottom: 18px; }
.start-checklist-bar span { display: block; width: 60%; height: 100%; border-radius: 8px; background: var(--lirio-indigo-700); }
.start-checklist ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.start-checklist li { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 14px; background: #f7f8ff; color: #4b5178; font-size: 15px; font-weight: 600; }
.start-checklist li::before { content: ''; width: 20px; height: 20px; flex: none; border-radius: 50%; border: 2px solid #c8cdf5; box-sizing: border-box; }
.start-checklist li.is-done { color: var(--lirio-indigo-900); }
.start-checklist li.is-done::before { border: 0; background: var(--lirio-indigo-700) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l2.6 2.6L14.2 7' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 20px no-repeat; }
.start-checklist li.is-current { background: var(--site-mist-2); color: var(--lirio-indigo-700); }
.start-checklist li.is-current::before { border-color: var(--lirio-indigo-700); border-width: 6px; }
.start-path { list-style: none; padding: 0; margin: 0 0 56px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.start-path li { background: rgba(247,248,255,.94); border-radius: 28px; padding: 32px 28px; }
.start-path li:nth-child(2) { transform: translateY(28px); background: var(--site-mist-2); }
.start-path li:nth-child(3) { transform: translateY(56px); background: var(--lirio-indigo-700); }
.light-site .start-path li:nth-child(3) h3, .light-site .start-path li:nth-child(3) p { color: white; }
.start-path h3 { font-size: 22px; letter-spacing: -.025em; margin: 0 0 10px; }
.start-path p { margin: 0; color: var(--site-text); font-size: 16px; line-height: 1.7; }
.start-prepare { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: start; }
.light-site .start-prepare h2 { margin-top: 0; }
.start-prepare > div > p { color: var(--site-text); font-size: 18px; }
.start-report { margin-block: 72px; }
.start-report-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 64px; align-items: center; }
.start-report-grid h2 { font-size: clamp(32px, 3.6vw, 50px); letter-spacing: -.04em; line-height: 1.08; margin: 0 0 20px; }
.start-report-grid p { font-size: 18px; max-width: 520px; }
.start-report-grid img { display: block; width: min(100%, 340px); height: auto; justify-self: center; border-radius: 12px; box-shadow: 0 24px 50px rgba(0,0,0,.35); transform: rotate(2deg); }
@media (max-width: 1100px) {
  .start-hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .start-checklist { justify-self: start; }
}
@media (max-width: 820px) {
  .start-path { grid-template-columns: 1fr; margin-bottom: 0; }
  .start-path li:nth-child(n) { transform: none; }
  .start-prepare, .start-report-grid { grid-template-columns: 1fr; gap: 32px; }
  .start-report { margin-block: 40px; }
  .start-checklist { transform: none; padding: 22px; }
}

/* FaQ: native disclosure, one calm column beside the contact prompt. */
.light-site.faq-page .page-hero > .container { max-width: none; }
.light-site.faq-page .section-soft { padding-top: 16px; }
.faq-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 64px; align-items: start; }
.faq-aside { position: sticky; top: 112px; background: var(--site-mist-2); border-radius: 32px; padding: 36px; }
.light-site .faq-aside h2 { font-size: 28px; letter-spacing: -.03em; margin: 0 0 12px; }
.faq-aside p { color: var(--site-text); font-size: 17px; margin: 0 0 24px; }
.light-site.faq-page .faq-list { max-width: none; margin: 0; display: grid; gap: 10px; }
.faq-list details { background: rgba(247,248,255,.94); border-radius: 22px; transition: background-color 200ms ease; }
.faq-list details[open] { background: white; box-shadow: 0 16px 40px rgba(23,19,95,.07); }
.faq-list summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 26px; cursor: pointer; min-height: 44px; border-radius: 22px; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: ''; flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--site-mist-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M10 16h12M16 10v12' stroke='%2326208F' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center / 32px no-repeat; transition: transform 240ms var(--site-ease); }
.faq-list details[open] summary::after { transform: rotate(45deg); }
.faq-list summary:focus-visible { outline: 3px solid var(--lirio-blue-500); outline-offset: 2px; }
.light-site.faq-page .faq-list h3 { margin: 0; font-size: 19px; line-height: 1.35; letter-spacing: -.015em; }
.light-site.faq-page .faq-list details p { margin: 0; padding: 0 26px 24px; color: var(--site-text); font-size: 16px; line-height: 1.75; }
.faq-list details a { color: var(--lirio-indigo-700); font-weight: 700; }
@media (max-width: 900px) {
  .faq-layout { grid-template-columns: 1fr; gap: 32px; }
  .faq-aside { position: static; order: 2; padding: 28px 22px; }
  .faq-list summary { padding: 18px 18px; }
  .light-site.faq-page .faq-list details p { padding: 0 18px 20px; }
}

/* Hero leads and the cookie notice keep their own scale against the page heading rules. */
.light-site main .page-hero p.hero-lead { color: var(--site-text); font-size: 20px; line-height: 1.55; }
.light-site .error-shell .error-code { color: var(--site-mist-3); }
.light-site .cookie-banner { border: 0; border-radius: 24px; box-shadow: 0 24px 60px rgba(8,10,46,.18); width: min(680px, calc(100vw - 48px)); }
.light-site .cookie-banner h2, .light-site .cookie-modal h2 { font-size: 20px; line-height: 1.25; letter-spacing: -.015em; }
.light-site .cookie-banner p:not(.cookie-kicker) { font-size: 15px; line-height: 1.6; color: var(--site-text); }
.light-site .cookie-banner .cookie-kicker { display: none; }
@media (max-width: 820px) {
  .light-site main .page-hero p.hero-lead { font-size: 18px; }
}
.light-site main .page-hero p.start-checklist-title { font-size: 14px; line-height: 1.3; color: #4b5178; flex-wrap: wrap; }
.light-site main .page-hero p.start-checklist-title strong { line-height: 1.2; }

/* Mobile menu: the report's dark field with its sales curve, sections explained in one line. */
@media (max-width: 820px) {
  .light-site .site-header.is-menu-open,
  .light-site .site-header:has(.nav-toggle:checked) { background: transparent; border-color: transparent; }
  .light-site .site-header::after { background: var(--site-navy); }
  .light-site .site-header.is-menu-open .brand,
  .light-site .site-header:has(.nav-toggle:checked) .brand { color: white; }
  .light-site .site-header.is-menu-open .brand img,
  .light-site .site-header:has(.nav-toggle:checked) .brand img { filter: brightness(0) invert(1); }
  .light-site .nav-toggle:checked + .nav-toggle-button span { background: white; }
  .light-site .nav-toggle-button:focus-visible { outline: 3px solid var(--site-sky); outline-offset: 2px; }

  .light-site .site-nav {
    align-items: stretch;
    justify-content: flex-start;
    gap: 6px;
    padding:
      calc(env(safe-area-inset-top, 0px) + 112px)
      max(24px, calc(env(safe-area-inset-right, 0px) + 24px))
      calc(env(safe-area-inset-bottom, 0px) + 168px)
      max(24px, calc(env(safe-area-inset-left, 0px) + 24px));
    background: var(--site-navy) url("/assets/curva-informe-20261105.svg") center bottom -6px / 150% 150px no-repeat;
    transform: none;
    transition: opacity 200ms ease, visibility 0s linear 200ms;
  }
  .light-site .site-header.is-menu-open .site-nav,
  .light-site .nav-toggle:checked ~ .site-nav { transition: opacity 200ms ease; }

  .light-site .site-nav a:not(.mobile-nav-cta) {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-height: 72px;
    padding: 12px 0 12px 22px;
    color: white;
    font-family: Manrope, Inter, sans-serif;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.1;
    text-align: left;
    text-decoration: none;
    white-space: normal;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 260ms ease, transform 360ms var(--site-ease), color 160ms ease;
  }
  .light-site .site-nav a:not(.mobile-nav-cta)::before {
    content: '';
    position: absolute;
    left: 0;
    top: 16px;
    bottom: 16px;
    width: 4px;
    border-radius: 4px;
    background: rgba(255,255,255,.14);
    transition: background-color 160ms ease;
  }
  .light-site .site-nav a:not(.mobile-nav-cta)::after {
    display: block;
    margin-top: 6px;
    color: var(--site-lavender);
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.4;
  }
  .light-site .site-nav a[href="/"]::after { content: "Lirio en un vistazo"; }
  .light-site .site-nav a[href="/producto.html"]::after { content: "TPV, cocina, pedido online e informes"; }
  .light-site .site-nav a[href="/puesta-en-marcha.html"]::after { content: "Te acompañamos a ponerlo en marcha"; }
  .light-site .site-nav a[href="/faq.html"]::after { content: "Respuestas a las dudas habituales"; }
  .light-site .site-nav a[aria-current="page"],
  .light-site .site-nav a:not(.mobile-nav-cta):hover,
  .light-site .site-nav a:not(.mobile-nav-cta):focus-visible { color: var(--site-sky); text-decoration: none; }
  .light-site .site-nav a[aria-current="page"]::before,
  .light-site .site-nav a:not(.mobile-nav-cta):hover::before,
  .light-site .site-nav a:not(.mobile-nav-cta):focus-visible::before { background: var(--site-sky); }
  .light-site .site-nav a:focus-visible { outline: 3px solid var(--site-sky); outline-offset: 4px; border-radius: 6px; }

  .light-site .site-nav .mobile-nav-cta {
    justify-content: center;
    width: 100%;
    max-width: 440px;
    margin-top: 28px;
    min-height: 56px;
    padding: 14px 24px;
    border-radius: 14px;
    background: white;
    color: var(--lirio-indigo-700);
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 16px;
    font-weight: 700;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 260ms ease, transform 360ms var(--site-ease), background-color 160ms ease;
  }
  .light-site .site-nav .mobile-nav-cta:hover,
  .light-site .site-nav .mobile-nav-cta:focus-visible { background: var(--site-mist-2); color: var(--lirio-indigo-700); }

  .light-site .site-header.is-menu-open .site-nav a,
  .light-site .nav-toggle:checked ~ .site-nav a { opacity: 1; transform: none; }
  .light-site .nav-toggle:checked ~ .site-nav a:nth-child(1) { transition-delay: 40ms; }
  .light-site .nav-toggle:checked ~ .site-nav a:nth-child(2) { transition-delay: 90ms; }
  .light-site .nav-toggle:checked ~ .site-nav a:nth-child(3) { transition-delay: 140ms; }
  .light-site .nav-toggle:checked ~ .site-nav a:nth-child(4) { transition-delay: 190ms; }
  .light-site .nav-toggle:checked ~ .site-nav a:nth-child(5) { transition-delay: 240ms; }
}
@media (max-width: 820px) and (max-height: 640px) {
  .light-site .site-nav { padding-top: calc(env(safe-area-inset-top, 0px) + 88px); padding-bottom: 96px; background-size: 150% 90px; }
  .light-site .site-nav a:not(.mobile-nav-cta) { min-height: 60px; font-size: 26px; }
}
@media (max-width: 820px) and (prefers-reduced-motion: reduce) {
  .light-site .site-nav a:not(.mobile-nav-cta), .light-site .site-nav .mobile-nav-cta { transform: none; transition: opacity 120ms ease; }
  .light-site .nav-toggle:checked ~ .site-nav a:nth-child(n) { transition-delay: 0s; }
}
