/* Leñaleón · experiencia pública unificada
   Carbón, ascua y madera. Don Goro actúa como capataz de toda la marca. */

body.ll-site {
  color: var(--ll-ink);
  background:
    radial-gradient(circle at 8% 12%, rgba(230, 83, 25, .09), transparent 24rem),
    linear-gradient(180deg, #f7f0e5, var(--ll-paper) 42%, #f2e7d7);
}
body.ll-site > header {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 70 !important;
  width: 100%;
}

body.ll-site > header nav > .hidden.md\:flex {
  gap: clamp(14px, 2.1vw, 34px) !important;
}
body.ll-site > header nav > .hidden.md\:flex > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #5c4b3d;
  font: 800 .76rem/1 var(--ll-utility);
  letter-spacing: .025em;
  white-space: nowrap;
}
body.ll-site > header .active-nav::after {
  left: 50% !important;
  bottom: 2px !important;
  width: 70% !important;
  height: 2px !important;
  border-radius: 99px !important;
  transform: translateX(-50%) !important;
}
body.ll-site #mobile-menu-button {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 10px;
}
body.ll-site #mobile-menu a {
  display: flex;
  align-items: center;
  min-height: 44px;
}
body.ll-site #mobile-menu a[aria-current="page"] {
  color: #9f310e;
  font-weight: 800;
  background: #fff2e8;
}
body.ll-site main { overflow: visible; }
body.ll-site .section-title,
body.ll-site h1,
body.ll-site h2 { text-wrap: balance; }
body.ll-site .section-title {
  color: var(--ll-ink);
  font: 400 clamp(2.25rem, 5vw, 4.25rem)/1 var(--ll-display);
  letter-spacing: -.055em;
}
body.ll-site .section-subtitle {
  max-width: 720px;
  color: #6c5949;
  font-size: 1.05rem;
  line-height: 1.75;
}

body.ll-site .whatsapp-float {
  right: 22px;
  bottom: 22px;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  overflow: hidden;
  border: 3px solid rgba(255,255,255,.88);
  border-radius: 50%;
  background: #20bd5a;
  box-shadow: 0 14px 30px rgba(16, 89, 45, .28);
}
body.ll-site .whatsapp-float img { width: 36px !important; height: 36px !important; }

/* Inicio · el fuego como tesis de marca */
.ll-home main { padding-top: 76px !important; }
.ll-home .hero-section {
  height: min(780px, calc(100svh - 76px));
  min-height: 620px;
  border-bottom: 5px solid var(--ll-ember);
}
.ll-home .hero-section::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(14,9,6,.90) 0%, rgba(20,13,8,.72) 48%, rgba(20,13,8,.23) 76%, rgba(20,13,8,.48)),
    linear-gradient(180deg, rgba(0,0,0,.1), rgba(0,0,0,.35));
}
.ll-home #hero-video { filter: saturate(.78) contrast(1.08); }
.ll-home .hero-content {
  z-index: 2;
  align-items: flex-start;
  padding: clamp(35px, 8vw, 120px) !important;
  text-align: left;
  background: transparent !important;
}
.ll-home .hero-content::after {
  content: 'LEÑA · LEÓN';
  position: absolute;
  right: clamp(24px, 6vw, 92px);
  bottom: 42px;
  color: rgba(255,255,255,.17);
  font: 900 clamp(2.1rem, 7vw, 7.5rem)/1 var(--ll-utility);
  letter-spacing: -.07em;
  writing-mode: vertical-rl;
}
.ll-hero-kicker,
.ll-page-kicker,
.ll-section-kicker,
.ll-cta-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--ll-flame);
  font: 900 11px/1 var(--ll-utility);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.ll-hero-kicker::before,
.ll-page-kicker::before,
.ll-section-kicker::before,
.ll-cta-kicker::before {
  content: '';
  width: 28px;
  height: 3px;
  border-radius: 99px;
  background: var(--ll-ember);
}
.ll-home .hero-content h1 {
  max-width: 830px;
  margin: 22px 0 20px !important;
  color: #fff9f1;
  font: 400 clamp(3rem, 6.4vw, 6rem)/.91 var(--ll-display) !important;
  letter-spacing: -.075em;
  text-shadow: 0 16px 40px rgba(0,0,0,.36);
}
.ll-home .ll-hero-trust {
  max-width: 780px;
  margin: 0 !important;
  color: #ead9c8 !important;
  font: 700 clamp(.82rem, 1.5vw, 1.05rem)/1.7 var(--ll-utility);
  letter-spacing: .025em !important;
}
.ll-home .hero-content .btn { margin-top: 31px !important; padding: 16px 24px; }

.ll-home #opportunity-banner {
  position: relative;
  max-width: 1120px;
  margin: -28px auto 58px !important;
  padding: 22px 30px 22px 76px !important;
  color: #fff3df !important;
  text-align: left !important;
  background: linear-gradient(115deg, #342318, #1d1712) !important;
  border: 1px solid rgba(242,182,50,.28) !important;
  border-top: 0 !important;
  border-left: 5px solid var(--ll-ember) !important;
  border-radius: 15px !important;
  box-shadow: 0 18px 40px rgba(34,20,11,.21) !important;
}
.ll-home #opportunity-banner::before {
  content: '🔥';
  position: absolute;
  left: 25px;
  top: 50%;
  translate: 0 -50%;
  font-size: 1.75rem;
}

.ll-home-products,
.ll-home-testimonials { background: transparent !important; }
.ll-home-products { padding-top: 35px !important; }
.ll-home-products .container,
.ll-home-testimonials .container { max-width: 1240px; }
.ll-home-products .card {
  position: relative;
  min-height: 100%;
  border: 1px solid rgba(83,55,32,.14) !important;
  border-top: 4px solid var(--ll-oak) !important;
  border-radius: 18px !important;
  background: rgba(255,252,247,.94) !important;
  box-shadow: 0 15px 38px rgba(49,31,18,.09) !important;
}
.ll-home-products .card::before {
  content: attr(data-ll-label);
  position: absolute;
  z-index: 3;
  top: 17px;
  left: 17px;
  padding: 7px 10px;
  color: #fff7eb;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 8px;
  background: rgba(23,19,15,.88);
  backdrop-filter: blur(8px);
  font: 900 9px/1 var(--ll-utility);
  letter-spacing: .09em;
  text-transform: uppercase;
}
.ll-home-products .card:hover { translate: 0 -6px; border-color: rgba(230,83,25,.45) !important; }
.ll-home-products .card img { height: 250px !important; filter: saturate(.88) contrast(1.02); }
.ll-home-products .card h3 { color: var(--ll-ink); font-family: var(--ll-display) !important; font-weight: 400 !important; letter-spacing: -.045em; }
.ll-home-products .card p { color: #675646 !important; line-height: 1.7; }
.ll-home-products .stock-indicator {
  margin-top: 18px;
  color: #783415;
  background: #f8e2c2;
  border: 1px solid rgba(185,133,79,.25);
  border-radius: 8px;
  font-family: var(--ll-utility);
}

.ll-products-next {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
  gap: 30px;
  align-items: center;
  margin-top: 38px;
  padding: clamp(25px, 4vw, 42px);
  color: #fff5e8;
  border: 1px solid rgba(242,182,50,.24);
  border-left: 5px solid var(--ll-ember);
  border-radius: 18px;
  background:
    linear-gradient(120deg, rgba(230,83,25,.16), transparent 44%),
    #1b1511;
  box-shadow: 0 18px 44px rgba(37,23,13,.18);
}
.ll-products-next h3 {
  margin: 12px 0 17px;
  color: #fff8ee;
  font: 400 clamp(1.8rem, 3.6vw, 3.15rem)/1 var(--ll-display);
  letter-spacing: -.05em;
}
.ll-delivery-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.ll-delivery-options p {
  margin: 0;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 11px;
  background: rgba(255,255,255,.045);
}
.ll-delivery-options strong,
.ll-delivery-options span { display: block; }
.ll-delivery-options strong { color: #f8bc42; font: 800 12px/1.25 var(--ll-utility); }
.ll-delivery-options span { margin-top: 5px; color: #d8c5b4; font-size: 12px; }
.ll-products-next-action { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
.ll-products-next-action a {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 13px 17px;
  color: #fff;
  border-radius: 11px;
  background: #c64012;
  font: 800 11px/1.25 var(--ll-utility);
  text-align: center;
  text-transform: uppercase;
}
.ll-products-next-action small { color: #cbb6a4; font-size: 11px; line-height: 1.55; text-align: center; }
.ll-home-proof {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    linear-gradient(115deg, rgba(230,83,25,.17), transparent 40%),
    #17130f !important;
}
.ll-home-proof::after {
  content: 'TRABAJO REAL';
  position: absolute;
  z-index: -1;
  right: -22px;
  top: 28px;
  color: rgba(255,255,255,.035);
  font: 900 clamp(3rem, 9vw, 9rem)/1 var(--ll-utility);
  letter-spacing: -.07em;
}
.ll-home-proof h2 { max-width: 820px; margin-inline: auto; color: #fff7eb; font: 400 clamp(2.4rem, 5vw, 4.8rem)/1 var(--ll-display) !important; letter-spacing: -.055em; }
.ll-home-proof .section-subtitle { color: #d9c8b9 !important; }
.ll-home-proof .video-container { overflow: hidden; border: 1px solid rgba(242,182,50,.32); border-radius: 17px; box-shadow: 0 24px 60px rgba(0,0,0,.45); }

.ll-home-testimonials .card {
  border: 1px solid rgba(83,55,32,.14) !important;
  border-radius: 18px !important;
  background: rgba(255,252,247,.94) !important;
  box-shadow: 0 14px 34px rgba(49,31,18,.08) !important;
}
.ll-home-testimonials .card:hover { transform: none !important; border-color: rgba(83,55,32,.20) !important; }
.ll-home-testimonials .card img { border: 4px solid var(--ll-sawdust); box-shadow: 0 8px 20px rgba(44,30,19,.13); }
.ll-home-testimonials .card p:first-of-type { color: #55463a !important; }

/* Páginas interiores · una misma entrada, distinta información */
.ll-inner main { padding: 76px 0 0 !important; }
.ll-inner:not(.ll-enhanced) main::before {
  content: '';
  display: block;
  height: 410px;
  background:
    radial-gradient(circle at 78% 44%, rgba(230,83,25,.23), transparent 22rem),
    repeating-linear-gradient(94deg, transparent 0 90px, rgba(255,255,255,.025) 91px, transparent 92px),
    linear-gradient(120deg, #251910, #110e0b 68%);
  border-bottom: 5px solid var(--ll-ember);
}
.ll-inner:not(.ll-enhanced) main > section:first-of-type {
  padding: 78px 0 92px !important;
  background: transparent;
}
.ll-inner:not(.ll-enhanced) main > section:first-of-type .section-title,
.ll-inner:not(.ll-enhanced) main > section:first-of-type > .container > .section-subtitle {
  display: none;
}
.ll-page-hero {
  position: relative;
  min-height: 410px;
  display: grid;
  align-items: stretch;
  overflow: hidden;
  color: #fff8ee;
  background:
    radial-gradient(circle at 78% 44%, rgba(230,83,25,.23), transparent 22rem),
    repeating-linear-gradient(94deg, transparent 0 90px, rgba(255,255,255,.025) 91px, transparent 92px),
    linear-gradient(120deg, #251910, #110e0b 68%);
  border-bottom: 5px solid var(--ll-ember);
}
.ll-page-hero-inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  align-items: end;
  width: min(1180px, calc(100% - 40px));
  min-height: 410px;
  margin: 0 auto;
}
.ll-page-hero-copy { align-self: center; padding: 58px 0 52px; }
.ll-page-title {
  max-width: 830px;
  margin: 19px 0 17px;
  color: #fff9f1 !important;
  font: 400 clamp(2.8rem, 6.8vw, 6.1rem)/.94 var(--ll-display) !important;
  letter-spacing: -.07em;
}
.ll-page-lead { max-width: 720px; margin: 0; color: #dfd0c2 !important; font-size: clamp(1rem, 2vw, 1.16rem); line-height: 1.7; }
.ll-page-character { position: relative; align-self: end; height: 365px; }
.ll-page-character::before {
  content: '';
  position: absolute;
  right: 10px;
  bottom: 34px;
  width: 275px;
  height: 275px;
  border: 1px solid rgba(242,182,50,.23);
  border-radius: 50%;
}
.ll-page-character img {
  position: absolute;
  right: -25px;
  bottom: -48px;
  width: 365px;
  max-height: 440px;
  object-fit: contain;
  filter: drop-shadow(0 20px 24px rgba(0,0,0,.42));
}
.ll-page-facts {
  position: absolute;
  z-index: 4;
  left: 0;
  right: 0;
  bottom: 18px;
  display: flex;
  gap: 8px;
  width: min(770px, calc(100% - 350px));
  margin: 0;
  padding: 0;
  list-style: none;
}
.ll-page-facts li {
  flex: 1;
  min-width: 0;
  padding: 10px 12px;
  color: #d7c5b4;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 10px;
  background: rgba(255,255,255,.04);
  font: 800 10px/1.35 var(--ll-utility);
  letter-spacing: .04em;
  text-align: center;
  text-transform: uppercase;
}
.ll-page-body { padding: 78px 0 92px !important; background: transparent; }
.ll-page-body > .container { max-width: 1180px; }
.ll-inner .ll-page-body .section-title,
.ll-inner .ll-page-body > .container > .section-subtitle { display: none; }

/* Historia */
.ll-story-card {
  max-width: 1120px !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid rgba(89,59,35,.15);
  border-top: 4px solid var(--ll-oak);
  border-radius: 20px !important;
  background: #fffdf9 !important;
  box-shadow: 0 20px 50px rgba(46,28,16,.11) !important;
}
.ll-story-card > div { align-items: stretch !important; }
.ll-story-card > div > div:first-child { padding: clamp(30px, 5vw, 64px); }
.ll-story-card > div > div:last-child { margin: 0 !important; min-height: 520px; }
.ll-story-card h2 { color: var(--ll-ink) !important; font: 400 clamp(2rem, 4vw, 3.7rem)/1.02 var(--ll-display) !important; letter-spacing: -.055em; }
.ll-story-card p { color: #665446 !important; line-height: 1.78; }
.ll-story-card img { height: 100% !important; min-height: 520px; border-radius: 0 !important; box-shadow: none !important; filter: saturate(.8) contrast(1.05); }

/* Vídeos */
.ll-video-list { max-width: 1080px !important; }
.ll-video-card {
  position: relative;
  padding: clamp(22px, 4vw, 38px);
  border: 1px solid rgba(89,59,35,.15);
  border-radius: 20px;
  background: rgba(255,253,249,.96);
  box-shadow: 0 18px 44px rgba(46,28,16,.09);
}
.ll-video-card + .ll-video-card { margin-top: 38px !important; }
.ll-video-index {
  display: inline-block;
  margin-bottom: 13px;
  color: var(--ll-ember-dark);
  font: 900 10px/1 var(--ll-utility);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.ll-video-card h2 { margin-bottom: 20px !important; color: var(--ll-ink) !important; font: 400 clamp(1.65rem, 3vw, 2.7rem)/1.05 var(--ll-display) !important; letter-spacing: -.045em; }
.ll-video-card .video-container { border-radius: 15px; border: 1px solid rgba(32,23,17,.18); box-shadow: 0 18px 38px rgba(24,16,10,.22); }
.ll-video-card > p { color: #675547 !important; line-height: 1.78; }

/* Preguntas como cuaderno desplegable */
.ll-faq-list { max-width: 980px !important; }
.ll-faq-item {
  margin: 0 0 13px !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid rgba(89,59,35,.16);
  border-radius: 15px !important;
  background: #fffdf9 !important;
  box-shadow: 0 9px 24px rgba(46,28,16,.06) !important;
}
.ll-faq-item h3 { margin: 0 !important; }
.ll-faq-question {
  display: grid;
  grid-template-columns: 1fr 38px;
  align-items: center;
  gap: 15px;
  width: 100%;
  min-height: 78px;
  padding: 19px 22px;
  color: var(--ll-ink);
  text-align: left;
  background: transparent;
  border: 0;
  font: 400 clamp(1.05rem, 2vw, 1.35rem)/1.3 var(--ll-display);
  letter-spacing: -.025em;
  cursor: pointer;
}
.ll-faq-toggle {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: #fff;
  border-radius: 10px;
  background: var(--ll-ember);
  font: 800 21px/1 var(--ll-utility);
  transition: rotate .2s ease;
}
.ll-faq-item[data-open='true'] { border-color: rgba(230,83,25,.34); box-shadow: 0 14px 32px rgba(46,28,16,.09) !important; }
.ll-faq-item[data-open='true'] .ll-faq-toggle { rotate: 45deg; }
.ll-faq-answer { margin: 0 !important; padding: 0 22px 24px; color: #655345 !important; line-height: 1.78; }

/* Localización */
.ll-location-panel {
  max-width: 1140px !important;
  border: 1px solid rgba(89,59,35,.16);
  border-radius: 20px !important;
  background: #fffdf9 !important;
  box-shadow: 0 20px 52px rgba(46,28,16,.12) !important;
}
.ll-location-map { min-height: 520px; background: #d8c8b5; }
.ll-location-map iframe { height: 100% !important; min-height: 520px; filter: sepia(.12) saturate(.85) contrast(1.03); }
.ll-location-info { padding: clamp(28px, 4vw, 48px) !important; color: #f8eadb; background: linear-gradient(145deg, #322319, #17130f) !important; }
.ll-location-info h2 { color: #fff7eb !important; font: 400 clamp(1.8rem, 3vw, 2.7rem)/1.05 var(--ll-display) !important; letter-spacing: -.045em; }
.ll-location-info h3 { margin-bottom: 5px; color: var(--ll-flame) !important; font: 900 10px/1.2 var(--ll-utility); letter-spacing: .1em; text-transform: uppercase; }
.ll-location-info p,
.ll-location-info a { color: #e4d4c5 !important; }
.ll-location-info > .space-y-4 > div { padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.1); }
.ll-location-info > .space-y-4 > div:last-child { border: 0; }
.ll-location-info a[class*='bg-orange'] { display: inline-flex !important; min-height: 46px; align-items: center; padding: 12px 17px !important; color: #fff !important; border-radius: 11px !important; background: #c64012 !important; font: 800 11px/1 var(--ll-utility); text-transform: uppercase; }

/* Legal legible y navegable */
.ll-legal main > .container { max-width: 1160px !important; }
.ll-legal main > .container > header { display: none; }
.ll-legal-shell {
  display: grid;
  grid-template-columns: 245px minmax(0, 1fr);
  gap: 28px;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.ll-legal-shell > * { min-width: 0; }
.ll-legal-nav {
  position: sticky;
  top: 108px;
  align-self: start;
  padding: 22px;
  border: 1px solid rgba(89,59,35,.15);
  border-radius: 15px;
  background: #fffaf2;
  box-shadow: 0 11px 28px rgba(46,28,16,.07);
}
.ll-legal-nav strong { display: block; margin-bottom: 14px; color: var(--ll-ink); font: 400 1.05rem/1.2 var(--ll-display); }
.ll-legal-nav ul { margin: 0; padding: 0; list-style: none; }
.ll-legal-nav li + li { margin-top: 9px; }
.ll-legal-nav a { color: #6c5747; font-size: 12px; font-weight: 700; }
.ll-legal-nav a:hover { color: var(--ll-ember-dark); }
.ll-legal-sections {
  padding: clamp(25px, 5vw, 54px);
  border: 1px solid rgba(89,59,35,.15);
  border-top: 4px solid var(--ll-oak);
  border-radius: 18px;
  background: #fffdf9;
  box-shadow: 0 18px 44px rgba(46,28,16,.09);
}
.ll-legal-sections section { scroll-margin-top: 105px; }
.ll-legal-sections section + section { margin-top: 42px; }
.ll-legal-sections h2 { color: var(--ll-ink) !important; border-color: rgba(230,83,25,.28) !important; font: 400 clamp(1.35rem, 2.5vw, 1.9rem)/1.18 var(--ll-display) !important; letter-spacing: -.035em; }
.ll-legal-sections p,
.ll-legal-sections li { color: #665446; line-height: 1.75; overflow-wrap: anywhere; }
.ll-legal-sections a { overflow-wrap: anywhere; }
.ll-legal-sections ul { border-color: rgba(89,59,35,.12) !important; background: #f7efe3 !important; }

/* Cierre de marca común */
.ll-site-cta {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  width: min(1160px, calc(100% - 36px));
  min-height: 280px;
  margin: 0 auto 88px;
  overflow: hidden;
  color: #fff6e8;
  border: 1px solid rgba(242,182,50,.25);
  border-radius: 21px;
  background:
    linear-gradient(120deg, rgba(230,83,25,.13), transparent 42%),
    linear-gradient(135deg, #302117, #15110e 72%);
  box-shadow: 0 22px 52px rgba(37,23,13,.2);
}
.ll-site-cta-copy { position: relative; z-index: 2; align-self: center; padding: 38px 20px 38px 44px; }
.ll-site-cta h2 { max-width: 720px; margin: 12px 0 10px; color: #fff8ee !important; font: 400 clamp(2rem, 4vw, 3.7rem)/1 var(--ll-display) !important; letter-spacing: -.055em; }
.ll-site-cta p { max-width: 680px; margin: 0; color: #d9c8b8; line-height: 1.65; }
.ll-site-cta-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 21px; }
.ll-site-cta-actions a { display: inline-flex; align-items: center; min-height: 46px; padding: 12px 17px; border-radius: 11px; font: 800 11px/1 var(--ll-utility); text-transform: uppercase; }
.ll-site-cta-primary { color: #fff; background: #c64012; box-shadow: 0 10px 22px rgba(198,64,18,.24); }
.ll-site-cta-secondary { color: #f3dfc8; border: 1px solid rgba(255,255,255,.17); background: rgba(255,255,255,.05); }
.ll-site-cta-visual { position: relative; align-self: end; height: 100%; min-height: 280px; }
.ll-site-cta-visual::before { content: ''; position: absolute; right: 15px; bottom: 17px; width: 210px; height: 210px; border: 1px solid rgba(242,182,50,.22); border-radius: 50%; }
.ll-site-cta-visual img { position: absolute; right: -25px; bottom: -37px; width: 285px; max-height: 330px; object-fit: contain; filter: drop-shadow(0 16px 20px rgba(0,0,0,.4)); }

body.ll-site footer { margin-top: 0 !important; }
body.ll-site footer > .container { max-width: 1180px; padding-top: 54px !important; padding-bottom: 28px !important; }
body.ll-site footer h3 { color: #fff3e3; }
body.ll-site footer p,
body.ll-site footer ul { color: #ad9d90 !important; font-size: 13px; line-height: 1.7; }
body.ll-site footer .border-t { border-color: rgba(255,255,255,.1) !important; }

@media (min-width: 768px) and (max-width: 959px) {
  body.ll-site > header nav > .hidden.md\:flex {
    display: none !important;
  }
  body.ll-site > header nav > .md\:hidden {
    display: block !important;
  }
  body.ll-site > header #mobile-menu.md\:hidden.hidden {
    display: none !important;
  }
  body.ll-site > header #mobile-menu.md\:hidden:not(.hidden) {
    display: block !important;
  }
}

@media (max-width: 900px) {
  .ll-page-hero-inner { grid-template-columns: minmax(0, 1fr) 220px; }
  .ll-page-character img { right: -45px; width: 300px; }
  .ll-page-character::before { right: -5px; width: 220px; height: 220px; }
  .ll-page-facts { width: calc(100% - 235px); }
  .ll-story-card > div { display: flex !important; flex-direction: column; }
  .ll-story-card > div > div { width: 100% !important; }
  .ll-story-card > div > div:last-child { min-height: 360px; }
  .ll-story-card img { min-height: 360px; max-height: 460px; }
  .ll-legal-shell { grid-template-columns: 1fr; }
  .ll-legal-nav { position: static; }
  .ll-legal-nav ul { display: flex; flex-wrap: wrap; gap: 8px 18px; }
  .ll-legal-nav li + li { margin: 0; }
}

@media (max-width: 700px) {
  .ll-home main,
  .ll-inner main { padding-top: 72px !important; }
  .ll-home .hero-section { min-height: 640px; height: calc(100svh - 72px); }
  .ll-inner:not(.ll-enhanced) main::before { height: 500px; }
  .ll-inner:not(.ll-enhanced) main > section:first-of-type {
    padding: 45px 0 65px !important;
  }

  .ll-home .hero-content { padding: 45px 18px 58px !important; }
  .ll-home .hero-content::after { display: none; }
  .ll-home .hero-content h1 { margin-top: 17px !important; font-size: clamp(2.45rem, 12vw, 3.35rem) !important; }
  .ll-home .ll-hero-trust { font-size: .76rem; line-height: 1.75; }
  .ll-home #opportunity-banner { width: calc(100% - 28px); margin-top: -20px !important; padding: 20px 18px 20px 58px !important; font-size: 13px; }
  .ll-home #opportunity-banner::before { left: 18px; }
  .ll-home-products,
  .ll-home-proof,
  .ll-home-testimonials { padding: 65px 0 !important; }
  .ll-home-products .card img { height: 210px !important; }

  .ll-page-hero { min-height: 500px; }
  .ll-page-hero-inner { display: block; width: calc(100% - 30px); min-height: 500px; }
  .ll-page-hero-copy { position: relative; z-index: 2; padding: 46px 3px 155px; }
  .ll-page-title { margin-top: 15px; font-size: clamp(2.65rem, 13vw, 4rem) !important; }
  .ll-page-lead { font-size: .96rem; line-height: 1.6; }
  .ll-page-character { position: absolute; right: -20px; bottom: -18px; width: 170px; height: 185px; }
  .ll-page-character::before { right: 5px; bottom: 16px; width: 145px; height: 145px; }
  .ll-page-character img { right: -22px; bottom: -28px; width: 205px; }
  .ll-page-facts { left: 0; right: auto; bottom: 22px; display: grid; grid-template-columns: 1fr; gap: 5px; width: calc(100% - 170px); }
  .ll-page-facts li { padding: 7px 8px; font-size: 10px; text-align: left; }
  .ll-page-body { padding: 45px 0 65px !important; }
  .ll-page-body > .container { padding-inline: 14px !important; }

  .ll-story-card > div > div:first-child { padding: 27px 22px; }
  .ll-story-card > div > div:last-child,
  .ll-story-card img { min-height: 280px; }
  .ll-video-card { padding: 17px; border-radius: 15px; }
  .ll-video-card + .ll-video-card { margin-top: 20px !important; }
  .ll-faq-question { grid-template-columns: 1fr 34px; min-height: 70px; padding: 16px; }
  .ll-faq-answer { padding: 0 16px 20px; font-size: 14px; }
  .ll-location-panel > div { display: flex !important; flex-direction: column; }
  .ll-location-panel > div > div { width: 100% !important; }
  .ll-location-map,
  .ll-location-map iframe { min-height: 360px; }
  .ll-legal-sections { padding: 24px 18px; }
  .ll-legal-nav { padding: 18px; }

  .ll-site-cta { min-height: 315px; margin-bottom: 60px; border-radius: 17px; }
  .ll-site-cta-copy { padding: 28px 0 28px 22px; }
  .ll-site-cta h2 { font-size: 1.95rem !important; }
  .ll-site-cta p { font-size: 13px; line-height: 1.55; }
  .ll-site-cta-actions { align-items: flex-start; flex-direction: column; }
  .ll-site-cta-actions a { min-height: 42px; padding: 10px 12px; }
  /* El tamaño y la posición de Don Goro se deciden en un único sitio,
     al final de esta hoja. Aquí ya no se tocan: es lo que hacía que
     volviera a salir recortado cada vez que se retocaba algo. */
  body.ll-site footer > .container { padding-inline: 20px !important; }
  .ll-products-next { grid-template-columns: 1fr; gap: 22px; padding: 24px 20px; }
  .ll-delivery-options { grid-template-columns: 1fr; }
  .ll-products-next-action { align-items: flex-start; }
  .ll-products-next-action a { width: 100%; }
  .ll-products-next-action small { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  body.ll-site * {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .ll-home-products .card:hover { translate: none; }
  .ll-faq-toggle { transition: none; }
}

/* ============================================================
   Don Goro del CTA: dejar de recortarlo
   ------------------------------------------------------------
   El panel .ll-site-cta tiene overflow:hidden, y la imagen estaba
   colocada fuera de su borde derecho:

     escritorio  columna 240px · imagen 285px · right: -25px
     movil       columna 105px · imagen 190px · right: -50px

   En movil eso dejaba 50 de los 190 px fuera del panel, asi que se
   recortaba en vertical justo por el medio del cuerpo. Aqui se le
   devuelve dentro del panel, apoyado en el borde inferior.
   ============================================================ */

/* La imagen nunca puede sobresalir de su columna: ocupa el 100 % de ella y
   nunca mas que su ancho maximo. Con object-fit: contain se ve entera,
   pase lo que pase con el ancho de la pantalla. */
.ll-site-cta-visual img {
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 240px;
    max-height: 300px;
    object-fit: contain;
    object-position: right bottom;
}

@media (max-width: 700px) {
    .ll-site-cta { grid-template-columns: minmax(0, 1fr) 132px; }
    .ll-site-cta-visual img { max-width: 132px; max-height: 210px; }
    .ll-site-cta-visual::before { right: 6px; bottom: 8px; width: 108px; height: 108px; }
}

@media (max-width: 380px) {
    .ll-site-cta { grid-template-columns: minmax(0, 1fr) 104px; }
    .ll-site-cta-visual img { max-width: 104px; max-height: 170px; }
    .ll-site-cta-visual::before { right: 4px; bottom: 8px; width: 86px; height: 86px; }
}
