/* Liras Consulting · MOBILE VERSION
   Loaded only on small screens through <link media="(max-width: 768px)">.
   Desktop rendering is unaffected. */

html { zoom: 1; -webkit-text-size-adjust: 100%; }
body { min-height: 100vh; min-height: 100dvh; font-size: 16px; }
section { padding: 4.5rem 6vw; }
.section-header { margin-bottom: 2.5rem; }
.section-title { font-size: clamp(2.4rem, 11vw, 3.4rem); line-height: 1.02; }
.section-label { margin-bottom: 1rem; }

/* NAV + hamburger */
nav { padding: 0.85rem 6vw; }
.nav-logo-img { height: 34px; width: 34px; }
.nav-logo-main { font-size: 1.05rem; letter-spacing: 0.16em; }
.nav-burger { display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; padding: 0 10px; background: none; border: 1px solid var(--border-gold); cursor: pointer; }
.nav-burger span { display: block; height: 1.5px; width: 100%; background: var(--white); transition: transform 0.25s, opacity 0.2s; }
nav.open .nav-burger span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
nav.open .nav-burger span:nth-child(2) { opacity: 0; }
nav.open .nav-burger span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

.nav-right { display: none; position: absolute; top: 100%; left: 0; right: 0; max-height: calc(100vh - 4.2rem); max-height: calc(100dvh - 4.2rem); overflow-y: auto; flex-direction: column; align-items: flex-start; gap: 2rem; padding: 2rem 6vw 2.5rem; background: var(--navy); border-bottom: 1px solid var(--border-gold); }
nav.open .nav-right { display: flex; }
nav.open .nav-links { display: flex; flex-direction: column; gap: 0; width: 100%; }
.nav-links li { border-bottom: 1px solid var(--border); }
.nav-links a { display: block; padding: 1rem 0; font-size: 0.9rem; letter-spacing: 0.16em; }
.nav-links a::after { display: none; }
.lang-toggle { margin-left: 0; display: grid; grid-template-columns: repeat(4, 1fr); width: 100%; }
.lang-btn { padding: 0.55rem 0.8rem; font-size: 0.7rem; text-align: center; }
body.nav-open { overflow: hidden; }

/* HERO */
#hero { min-height: 100vh; min-height: 100dvh; padding: 0 6vw; }
.hero-inner { padding-top: 6rem; padding-bottom: 1rem; }
.hero-title, .hero-title-accent { font-size: clamp(2.6rem, 13vw, 3.6rem); line-height: 0.98; }
.hero-rule { margin: 2rem 0 1.5rem; }
.hero-bottom { flex-direction: column; align-items: stretch; gap: 1.75rem; padding-bottom: 2.5rem; }
.hero-desc { max-width: none; font-size: 0.95rem; }
.hero-cta { justify-content: space-between; width: 100%; padding: 1.05rem 1.25rem; }

/* SERVICES / CASES / TEAM */
.servicio-card { padding: 2.25rem 1.5rem; }
.servicio-desc { max-width: none; }
.caso-card { padding: 2.25rem 1.5rem; }
.equipo-foto-wrap { height: 300px; }
.equipo-info { padding: 1.75rem 1.5rem; }
#experiencia { padding: 3.5rem 6vw !important; }
#experiencia > div { gap: 2rem !important; }
#experiencia > div > div[style*="width: 1px"] { display: none; }

/* SECTORS */
.sector-summary { grid-template-columns: 1fr 1.25rem; gap: 0.9rem; padding: 1.6rem 0; }
.sector-nombre { font-size: clamp(1.5rem, 7vw, 2rem); line-height: 1.1; }
.sector-detail { padding: 0 0 1.75rem 0; }
html[dir="rtl"] .sector-detail { padding: 0 0 1.75rem 0; }

/* MARKETS (inline-styled grid) */
#mercados { padding: 4.5rem 6vw !important; }
#mercados > div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
#mercados > div[style*="grid-template-columns"] > div { padding: 2rem 1.5rem !important; border-right: none !important; }

/* APPROACH */
.manifesto-text { font-size: clamp(1.9rem, 8.5vw, 2.6rem); }
.manifesto-ornament { display: none; }

/* CONTACT */
.contacto-grid { gap: 2rem; }
.contacto-left .big-text { font-size: clamp(2.4rem, 11vw, 3.4rem); margin-bottom: 1.5rem; }
.contacto-left p { max-width: none; }
.contacto-detail-item { flex-direction: column; gap: 0.25rem; }

/* LEGAL PAGES */
.legal-page { padding: 6.5rem 6vw 3rem; }
.legal-page h1 { font-size: clamp(2.1rem, 9vw, 2.8rem); margin-bottom: 2rem; }

/* FOOTER */
footer { flex-direction: column; align-items: flex-start; gap: 1.25rem; padding: 2rem 6vw; }
.footer-legal { flex-wrap: wrap; gap: 0.75rem 1.5rem; }
html[dir="rtl"] footer { align-items: flex-end; }

/* Touch targets */
a, button, summary { -webkit-tap-highlight-color: transparent; }
.footer-legal-link { padding: 0.35rem 0; }

/* Hero banner on phones */
.hero-banner { background-size: 190% auto; background-position: 40% 22%; }
body:not(.page-home) .hero-banner { height: 22rem; background-size: 200% auto; background-position: 40% 8%; }
#manifesto { padding-top: 6rem; padding-bottom: 4rem; }
#manifesto .section-label { top: 5.5rem; }

/* Service cards: expand on tap */
.servicio-summary { padding: 2.25rem 1.5rem; }
.servicio-summary::after { top: 1.6rem; right: 1.25rem; }
html[dir="rtl"] .servicio-summary::after { right: auto; left: 1.25rem; }
.servicio-more { margin: 0 1.5rem 2.25rem; }

/* Case cards: expand on tap */
.caso-summary { padding: 2.25rem 1.5rem; }
.caso-summary::after { bottom: 1.25rem; right: 1.25rem; }
html[dir="rtl"] .caso-summary::after { right: auto; left: 1.25rem; }
.caso-more { margin: 0 1.5rem 2.25rem; }
