/* Focused refinements for the existing Manada website. */
html { scroll-padding-top: 90px; }
.logo-top { z-index: 1001; right: auto; pointer-events: none; }
.masthead {
    min-height: 720px;
    height: auto;
    padding: 10rem 0 6rem;
    background-image: linear-gradient(90deg, rgba(12, 17, 25, .48), rgba(12, 17, 25, .38)), url('../assets/img/bg-masthead-vector.svg');
}
.masthead .container { max-width: 900px; }
.hero-eyebrow { font-size: .85rem; font-weight: 700; letter-spacing: .16em; margin-bottom: 1.5rem; }
.masthead h1 { font-size: clamp(3rem, 6.5vw, 5.5rem); line-height: 1.02; letter-spacing: -.035em; }
.masthead .subtitulo { max-width: 680px; margin: 0 auto 2rem; line-height: 1.55; }
.hero-actions { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 14px; }
.hero-actions .btn { padding: 1rem 1.65rem; font-weight: 700; border-radius: 8px; }
.btn-manada { background: #3acb9c; color: #17251f; border: 2px solid #3acb9c; }
.btn-manada:hover, .btn-manada:focus-visible { background: #79e2bd; border-color: #79e2bd; color: #17251f; }
.btn-hero-secondary { color: #fff; background: rgba(0, 0, 0, .15); border: 2px solid rgba(255, 255, 255, .85); }
.btn-hero-secondary:hover, .btn-hero-secondary:focus-visible { background: #fff; color: #292529; border-color: #fff; }
.btn-especialista { position: fixed; top: 58px; left: 20px; z-index: 1001; }
.btn-especialista .especialistas { position: static; max-width: 150px; max-height: none; padding: 8px; background: rgba(255, 255, 255, .9); border-radius: 6px; }
.ads-editorial { background: #292529; color: #faf6ef; padding: 7rem 0 4rem; overflow: hidden; }
.ads-editorial-inner { position: relative; max-width: 1120px; margin: auto; padding: 0 3rem; }
.ads-kicker { font-size: .75rem; letter-spacing: .18em; font-weight: 700; margin: 0 0 3rem; color: #3acb9c; }
.ads-spark { position: absolute; width: 106px; height: 106px; right: 3rem; top: -1rem; color: #3acb9c; transform: rotate(-12deg); }
.ads-composition { display: grid; grid-template-columns: 1.7fr 1fr; gap: 4rem; align-items: end; }
.ads-composition h2 { font-size: clamp(3rem, 5.6vw, 5rem); line-height: .99; letter-spacing: -.045em; font-weight: 700; margin: 0; }
.ads-composition h2 em { font-family: Georgia, serif; font-weight: 400; color: #3acb9c; position: relative; }
.ads-composition h2 em::after { content: ''; position: absolute; left: -4%; right: -4%; bottom: -.12em; height: .16em; border-bottom: 2px solid #3acb9c; border-radius: 50%; transform: rotate(-4deg); }
.ads-composition h2 > span { display: block; margin-top: .55em; }
.ads-story { padding-bottom: .25rem; }
.ads-story p { font-size: 1.08rem; line-height: 1.65; color: #d1cbd0; }
.ads-story p:first-child { font-size: 1.5rem; line-height: 1.3; color: #faf6ef; margin-bottom: 1.5rem; }
.ads-contact { display: inline-flex; align-items: center; gap: 1rem; color: #faf6ef; font-size: 1.1rem; font-weight: 700; text-decoration: none; margin-top: 1.5rem; border-bottom: 1px solid #716970; padding-bottom: .75rem; }
.ads-contact span { display: inline-grid; place-items: center; width: 45px; height: 45px; border-radius: 50%; background: #3acb9c; color: #292529; font-size: 1.7rem; }
.ads-contact:hover, .ads-contact:focus-visible { color: #3acb9c; }
.ads-platforms { display: flex; flex-wrap: wrap; gap: 1rem 2rem; padding: 2rem 0 0; margin: 3.5rem 0 0; list-style: none; border-top: 1px solid #595159; }
.ads-platforms li { font-size: 1.2rem; font-weight: 700; letter-spacing: -.02em; }
.ads-platforms li:not(:last-child)::after { content: '×'; color: #3acb9c; margin-left: 2rem; font-size: .85rem; }
.hero-actions .btn { border-radius: 100px; }
.hero-actions .btn-hero-secondary { border: 2px solid #fff; background: transparent; text-decoration: none; }
.hero-actions .btn-hero-secondary:hover, .hero-actions .btn-hero-secondary:focus-visible { background: #fff; color: #292529; }
.whatsapp-icono { z-index: 1002; width: 56px; height: 56px; display: grid; place-items: center; padding: 0; bottom: max(20px, env(safe-area-inset-bottom)); right: 20px; box-shadow: 0 4px 20px #0003; }
.whatsapp-icono:hover, .whatsapp-icono:focus-visible { color: #3acb9c; background: #17251f; }
.scroll-to-top { right: 88px; }
a:focus-visible { outline: 3px solid #3acb9c; outline-offset: 5px; }
@media (max-width: 767px) {
    .logo-top { position: fixed; left: 20px; top: 25px; width: 110px; }
    .masthead { min-height: 100svh; padding: 9rem 0 4.5rem; }
    .masthead h1 { font-size: clamp(2.5rem, 10vw, 3.5rem); }
    .hero-eyebrow { font-size: .7rem; letter-spacing: .1em; }
    .masthead .subtitulo { font-size: 1.1rem; }
    .hero-actions { flex-direction: column; align-items: stretch; }
    .hero-actions .btn { width: 100%; }
    .btn-especialista { top: 66px; left: 20px; }
    .btn-especialista .especialistas { max-width: 120px; padding: 5px; box-shadow: none; }
    .ads-editorial { padding: 6rem 0 3rem; }
    .ads-editorial-inner { padding: 0 1.5rem; }
    .ads-kicker { max-width: 200px; font-size: .65rem; margin-bottom: 3rem; }
    .ads-spark { width: 65px; height: 65px; right: 1.5rem; top: -.5rem; }
    .ads-composition { grid-template-columns: 1fr; gap: 2.5rem; }
    .ads-composition h2 { font-size: clamp(2.4rem, 10.5vw, 4rem); }
    .ads-story { max-width: 440px; }
    .ads-platforms { gap: 1rem; margin-top: 2.5rem; }
    .ads-platforms li { font-size: 1rem; }
    .ads-platforms li:not(:last-child)::after { margin-left: 1rem; }
    .content-section { padding-top: 5rem; padding-bottom: 5rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto !important; } }

.service-ads-link { display: inline-block; margin-top: 1rem; color: #fff; font-weight: 700; text-underline-offset: 4px; }
.service-ads-link:hover { color: #292529; }
.service-paths { text-align: left; }
.service-number { display: block; font-size: 3.2rem; font-weight: 300; line-height: 1; opacity: .55; margin-bottom: 1.2rem; }
.service-paths h4 { font-size: 1.7rem; font-weight: 700; letter-spacing: -.025em; }
.service-paths p { font-size: 1.08rem; line-height: 1.65; max-width: 330px; }
.case-image { display: block; overflow: hidden; }
.case-image img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .25s ease; }
.case-image:hover img { transform: scale(1.025); }
.case-scope { font-size: .73rem; text-transform: uppercase; letter-spacing: .09em; margin: 1.5rem 0 .5rem; color: #56505a; font-weight: 700; }
.case-studies h3 { font-size: 2rem; font-weight: 700; letter-spacing: -.03em; }
.case-description { font-size: 1.08rem; line-height: 1.6; max-width: 480px; }
.case-detail, .case-store { font-weight: 700; color: #292529; text-underline-offset: 5px; }
.case-store { margin-left: 1.5rem; font-weight: 400; }
@media (prefers-reduced-motion: reduce) { .case-image img { transition: none; } }
