/* Mon Vertical · Legado en movimiento · Identidad aprobada 07.09.2026; lema actualizado 08.09.2026 */
@font-face{font-family:"MV Sans";src:url("/assets/brand/DejaVuSans.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"MV Sans";src:url("/assets/brand/DejaVuSans-Bold.woff") format("woff");font-weight:600 900;font-style:normal;font-display:swap}
:root,.mv{--ink:#172722;--dark:#172722;--accent:#F4AE20;--paper:#FFFFFF;--soft:#F4F3EF;--muted:#56615B;--line:#D8DDD8;--display:"MV Sans",Arial,sans-serif;font-family:var(--display)}
.mv h1,.mv h2,.mv h3{letter-spacing:-.045em}
.mv .header{background:var(--paper);border-color:var(--line)}
.mv .nav-row{min-height:108px;gap:30px}
.mv .brand{line-height:1}
.mv .brand-logo.mv-logo,.mv .footer .brand-logo.mv-logo{width:280px;height:auto;aspect-ratio:240 / 34.296532450331114;object-fit:contain;padding:0;border-radius:0;background:transparent}
.mv .nav-links{gap:24px;font-size:.875rem;color:var(--ink)}
.mv .nav-links a{padding-block:12px}
.mv .nav-links a:hover,.mv .nav-links a[aria-current="page"]{border-bottom-color:var(--accent)}
.mv .header-cta{padding:14px 17px;font-size:.875rem;border-radius:6px}
.mv .button{color:var(--ink);border-radius:6px;min-height:52px}
.mv .button.secondary{color:inherit}
.mv .text-link{text-underline-offset:5px}
.mv a:focus-visible,.mv button:focus-visible,.mv summary:focus-visible{outline-color:var(--ink)}
.mv .mv-hero a:focus-visible,.mv .footer a:focus-visible{outline-color:var(--accent)}
.mv .menu-toggle{min-height:44px;border-radius:6px;border-color:var(--ink)}
.mv .eyebrow{font-size:.875rem;letter-spacing:.12em}
.mv-hero{min-height:674px;background:var(--dark)}
.mv-hero>.hero-image{width:59%}
.mv-hero>.hero-image img{object-position:70% center}
.mv-hero>.hero-image:after{background:linear-gradient(90deg,#172722 0%,rgba(23,39,34,.86) 10%,rgba(23,39,34,.05) 62%),linear-gradient(0deg,rgba(23,39,34,.48),transparent 38%)}
.mv-hero .hero-content{padding-top:64px;padding-bottom:106px;max-width:740px}
.mv-hero h1{font-size:clamp(2.75rem,5.1vw,5rem);max-width:16ch;line-height:1.08;overflow-wrap:anywhere}
.mv-hero h1 em{color:var(--accent)}
.mv-hero .eyebrow{color:var(--accent)}
.mv-hero .lead{color:#E0E5E1;font-size:1.08rem;max-width:41ch}
.mv-hero .hero-stamp{color:#fff;text-align:right;font-size:.8125rem;letter-spacing:.07em;border-right:3px solid var(--accent);padding-right:18px}
.mv-hero .hero-stamp strong{color:var(--accent);font-size:1rem;letter-spacing:.02em;margin-bottom:4px}
.mv .ribbon{font-size:.875rem;letter-spacing:.04em}
.mv .ribbon span:first-child{font-size:.8125rem}
.mv .feature{border-top-width:2px}
.mv .feature .number,.mv .service-row .number,.mv .step .number{color:var(--ink);font-weight:700;font-size:.875rem}
.mv .feature .number{display:table;border-bottom:3px solid var(--accent);padding-bottom:8px}
.mv .dark{--muted:#C2CEC7;--line:#45574D}
.mv .dark .number{color:var(--accent)}
.mv .soft,.mv .sector-band{background:var(--soft)}
.mv .sector-links a{border-color:#BCC6BE}
.mv .sector-links a:hover{color:var(--ink);border-color:var(--accent)}
.mv .page-hero{background:var(--soft);isolation:isolate}
.mv .page-hero:after{content:"";position:absolute;z-index:-1;right:max(4%,calc((100vw - 1320px) / 2));top:24%;width:min(35vw,480px);height:54%;background:url("/assets/brand/MV_simbolo_positivo.svg") right center / contain no-repeat;opacity:.075;pointer-events:none}
.mv .page-hero h1{max-width:20ch}
.mv .callout{background:var(--accent);--muted:#344033}
.mv .callout .button{background:var(--ink);color:#fff}
.mv .footer{background:var(--dark);--muted:#C2CEC7;--line:#45574D;border-top:4px solid var(--accent);padding-top:72px}
.mv .footer-top{grid-template-columns:1.35fr 1fr 1fr;gap:50px}
.mv .footer-phrase{color:var(--accent);font-size:1.5rem;font-weight:700;margin-top:32px;white-space:normal}
.mv .footer-story{color:var(--muted);max-width:33ch;margin-top:16px}
.mv .footer h3{font-size:.875rem}
.mv .footer-links{font-size:.875rem;gap:12px}
.mv .footer-bottom{font-size:.8125rem}
.mv .photo-sources{color:var(--muted);font-size:.8125rem;line-height:1.7;padding-bottom:22px;max-width:100%}
.mv .photo-sources:empty{display:none}
.mv .photo-sources a{text-decoration:underline;text-underline-offset:4px}
.mv .interest{color:var(--ink)}
.mv .chip{font-size:.875rem}
.mv .contact-option:hover{border-color:var(--ink)}
.mv .image-frame{background:var(--soft)}
.mv .image-caption{font-size:.8125rem}
.mv .petzl-rescue img{object-position:25% 55%}
.mv .petzl-outdoor img{object-position:25% center}
.mv ::selection{background:var(--accent);color:var(--ink)}
@media(min-width:1600px){.mv-hero{min-height:730px}.mv-hero .hero-content{padding-top:86px}}
@media(max-width:1180px){.mv .nav-row{gap:23px}.mv .brand-logo.mv-logo,.mv .footer .brand-logo.mv-logo{width:250px}.mv .header-cta{display:none}.mv .mobile-contact{display:block}.mv .nav-links{gap:22px}.mv .footer-top{gap:35px}.mv-hero .hero-content{max-width:680px}}
@media(max-width:960px){.mv .nav-row{min-height:96px}.mv .nav-links{gap:15px}.mv .brand-logo.mv-logo{width:220px}.mv-hero{min-height:640px}.mv-hero h1{font-size:clamp(2.75rem,5.6vw,3.5rem)}.mv-hero>.hero-image{width:65%}.mv-hero .hero-content{max-width:75%}.mv-hero .hero-stamp{max-width:27ch}.mv .footer-top{grid-template-columns:1.2fr 1fr;gap:42px}}
@media(max-width:760px){.mv .nav-row{min-height:90px;gap:12px}.mv .nav-links{background:var(--paper);color:var(--ink);font-size:1rem;gap:5px}.mv .brand-logo.mv-logo,.mv .footer .brand-logo.mv-logo{width:240px;height:auto}.mv-hero{min-height:0}.mv-hero>.hero-image{position:relative;width:100%;height:clamp(230px,60vw,420px)}.mv-hero>.hero-image img{object-position:70% 45%}.mv-hero>.hero-image:after{background:linear-gradient(0deg,#172722 0%,rgba(23,39,34,0) 45%)}.mv-hero .hero-content{padding-top:0;padding-bottom:50px;max-width:100%;margin-top:-22px}.mv-hero h1{font-size:clamp(2rem,7.8vw,3.75rem);max-width:16ch;line-height:1.08}.mv-hero .eyebrow{font-size:.875rem;letter-spacing:.075em}.mv-hero .lead{max-width:42ch;font-size:1rem}.mv-hero .actions{gap:15px 22px}.mv-hero .hero-stamp{display:none}.mv .page-hero:after{width:55vw;top:22px;height:90px;opacity:.055}.mv .footer-top{grid-template-columns:1fr;gap:40px}.mv .footer-story{max-width:38ch}.mv .footer{padding-top:52px}.mv .ribbon{gap:12px 20px}}
@media(max-width:420px){.mv .brand-logo.mv-logo{width:220px}.mv .menu-toggle{padding:8px 10px;font-size:.875rem}}
@media(max-width:360px){.mv .nav-row{gap:8px}.mv .menu-toggle{padding-inline:6px}.mv-hero h1{font-size:2rem}.mv .eyebrow{letter-spacing:.06em}}
