.contact-page{--ink:#1c1e1d;--red:#dc2b25;--paper:#f6f3ed;--sand:#e8e1d5;--line:#d8d1c6;--muted:#716d66;min-height:100vh;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}.contact-page *{box-sizing:border-box}.contact-page a{text-decoration:none;color:inherit}.contact-header{height:78px;padding:0 max(4vw,32px);display:flex;align-items:center;gap:30px;background:#171919;color:#fff}.contact-brand{width:230px;height:60px;flex:0 0 230px}.contact-brand img{width:100%;height:100%;object-fit:contain;object-position:left center}.contact-header nav{display:flex;gap:25px;margin-left:auto}.contact-header nav a{position:relative;color:#fff;font:700 12px 'DM Sans',Arial,sans-serif;letter-spacing:.065em;text-transform:uppercase;opacity:.88}.contact-header nav a:after{position:absolute;right:0;bottom:-8px;left:0;height:1px;background:var(--red);content:"";transform:scaleX(0);transition:transform .25s ease}.contact-header nav a:hover:after,.contact-header nav .active:after{transform:scaleX(1)}.contact-payments{color:#fff;font:700 12px 'DM Sans',Arial,sans-serif;letter-spacing:.04em;text-decoration:underline!important;text-underline-offset:5px;white-space:nowrap}.contact-advisor{display:flex;align-items:center;justify-content:center;gap:9px;padding:11px 16px;border:1px solid rgba(255,255,255,.75);color:#fff;font:700 12px 'DM Sans',Arial,sans-serif;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;transition:background .25s ease}.contact-advisor:hover{background:rgba(255,255,255,.12)}.contact-menu{display:none}.contact-intro,.contact-channels,.contact-location{max-width:1320px;margin:0 auto}.contact-intro{padding:110px 2vw 62px;border-bottom:1px solid var(--line)}.contact-intro>p,.contact-section-head>p,.contact-location__copy>p,.contact-form-section>div>p{margin:0 0 17px;color:var(--red);font-size:var(--mv-text-label, var(--mv-type-meta));font-weight:700;letter-spacing:.15em;text-transform:uppercase}.contact-intro h1,.contact-section-head h2,.contact-location h2,.contact-form-section h2{margin:0;font:500 var(--mv-text-h1, clamp(48px,5.2vw,78px))/.98 var(--mv-font-display);letter-spacing:-.045em}.contact-intro h1 em{font-style:italic}.contact-intro h1 span,.contact-section-head h2 span,.contact-location h2 span,.contact-form-section h2 span{color:var(--red)}.contact-intro>div{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-top:37px}.contact-intro>div p{max-width:490px;margin:0;color:var(--muted);font-size:var(--mv-text-lead, 16px);line-height:1.65}.contact-intro>div a,.contact-outline{display:inline-flex;align-items:center;gap:10px;color:var(--red);font-size:var(--mv-text-label, 12px);font-weight:700;text-transform:uppercase}.contact-channels{padding:105px 2vw}.contact-section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:40px}.contact-section-head h2{font-size:var(--mv-text-h2, clamp(40px,4.3vw,63px))}.contact-channel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.contact-channel{display:grid;grid-template-columns:auto 1fr auto;gap:15px;min-height:170px;padding:24px;border:1px solid var(--line);background:#fff;font-size:var(--mv-text-body, 14px);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.contact-channel:hover{border-color:rgba(220,43,37,.45);box-shadow:0 16px 35px rgba(25,24,22,.12);transform:translateY(-5px)}.contact-channel__icon{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--red);color:var(--red);font-size:18px}.contact-channel small{display:block;color:var(--muted);font-size:var(--mv-text-label, var(--mv-type-micro));font-weight:700;letter-spacing:.1em;text-transform:uppercase}.contact-channel strong{display:block;margin:8px 0 10px;font:500 var(--mv-text-h3, 26px)/1.05 var(--mv-font-display)}.contact-channel p{margin:0;color:var(--muted);font-size:var(--mv-text-body, 13px);line-height:1.5}.contact-channel>svg{align-self:end;color:var(--red)}.contact-location{display:grid;grid-template-columns:.86fr 1.14fr;gap:7vw;padding:108px 2vw;background:var(--sand);max-width:none;padding-left:max(6vw,30px);padding-right:max(6vw,30px)}.contact-location__copy{max-width:500px}.contact-location h2{font-size:var(--mv-text-h2, clamp(40px,4.2vw,61px))}.contact-location address{display:grid;gap:5px;margin:32px 0 25px;font-style:normal}.contact-location address strong{font-size:var(--mv-text-body, 17px)}.contact-location address span{color:var(--muted);font-size:var(--mv-text-body, 14px)}.contact-location__details{display:grid;gap:15px;margin-bottom:28px}.contact-location__details div{display:grid;gap:4px}.contact-location__details small{font-size:var(--mv-text-label, var(--mv-type-micro));font-weight:700;letter-spacing:.1em;text-transform:uppercase}.contact-location__details span,.contact-location__details a{color:var(--muted);font-size:var(--mv-text-body, 14px);line-height:1.45}.contact-location__details a:hover{color:var(--red)}.contact-outline{padding-bottom:6px;border-bottom:1px solid currentColor}.contact-map{position:relative;min-height:515px;overflow:hidden;background:#ded8cd}.contact-map iframe{width:100%;height:100%;border:0;filter:grayscale(1) contrast(.9)}.contact-map>a{position:absolute;bottom:17px;left:17px;display:flex;align-items:center;gap:8px;padding:12px 14px;background:#1c1e1d;color:#fff;font-size:var(--mv-text-label, var(--mv-type-meta));font-weight:700;text-transform:uppercase}.contact-form-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;padding:108px max(6vw,30px);background:var(--paper)}.contact-form-section>div>p:last-child{max-width:390px;color:var(--muted);font-size:var(--mv-text-body, 15px);line-height:1.65;text-transform:none;letter-spacing:normal;font-weight:400}.contact-form-section h2{font-size:var(--mv-text-h2, clamp(40px,4.2vw,61px))}.contact-form-section form{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}.contact-form-section label{font-size:var(--mv-text-label, var(--mv-type-micro));font-weight:700;letter-spacing:.08em;text-transform:uppercase}.contact-form-section input,.contact-form-section select,.contact-form-section textarea{width:100%;margin-top:8px;padding:0 14px;border:1px solid #c8c0b4;background:#f7f4ef;color:var(--ink);font:var(--mv-text-control, 14px) var(--mv-font-body)}.contact-form-section input,.contact-form-section select{height:52px}.contact-form-section textarea{padding-top:14px;resize:vertical}.contact-form__message{grid-column:1/-1}.contact-form__privacy{grid-column:1/-1;margin:0;color:var(--muted);font-size:var(--mv-text-label, var(--mv-type-meta));line-height:1.5}.contact-form-section button{display:inline-flex;align-items:center;justify-content:center;gap:11px;justify-self:start;min-height:52px;padding:0 22px;border:1px solid var(--red);background:var(--red);color:#fff;font:700 var(--mv-text-label, var(--mv-type-action)) 'DM Sans',Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:transform .25s ease,background .25s ease}.contact-form-section button:hover{background:#b9201b;transform:translateY(-2px)}.contact-form__sent{display:flex;align-items:center;gap:7px;margin:0;color:#2d6a48;font-size:var(--mv-text-label, 13px)}@media(max-width:920px){.contact-header nav{display:none}.contact-advisor{margin-left:auto}.contact-menu{order:3;display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,255,255,.65);background:transparent;color:#fff;font-size:21px}.contact-header nav.is-open{position:absolute;top:78px;right:max(4vw,32px);z-index:20;display:flex;width:min(320px,calc(100vw - 64px));padding:18px;background:rgba(23,25,25,.98);box-shadow:0 18px 38px rgba(0,0,0,.26);flex-direction:column;gap:0}.contact-header nav.is-open a{padding:14px 3px;border-bottom:1px solid rgba(255,255,255,.12)}.contact-channel-grid{grid-template-columns:1fr}.contact-location,.contact-form-section{grid-template-columns:1fr;gap:45px}.contact-map{min-height:430px}}@media(max-width:680px){.contact-header{height:68px;padding:0 17px;gap:14px}.contact-brand{width:150px;height:48px;flex-basis:150px}.contact-payments{display:none}.contact-advisor{padding:10px 11px;font-size:var(--mv-text-label, var(--mv-type-micro))}.contact-menu{width:39px;height:39px}.contact-header nav.is-open{top:68px;right:17px;width:min(300px,calc(100vw - 34px))}.contact-intro{padding:72px 24px 45px}.contact-intro h1{font-size:var(--mv-text-h1, 48px)}.contact-intro>div{display:block;margin-top:27px}.contact-intro>div a{margin-top:20px}.contact-channels{padding:76px 24px}.contact-section-head{display:block}.contact-section-head h2{margin-top:8px}.contact-location{padding:76px 24px}.contact-map{min-height:330px}.contact-form-section{padding:76px 24px}.contact-form-section form{grid-template-columns:1fr}.contact-form-section button{width:100%}}@media(prefers-reduced-motion:reduce){.contact-page *{transition:none!important}.contact-channel:hover,.contact-form-section button:hover{transform:none}}
.contact-location{background:#fff}
.contact-form-section{background:#e6dfd4}.contact-form-section input,.contact-form-section select,.contact-form-section textarea{background:#f7f4ef;border-color:#c8c0b4}.contact-form-section button{background:#dc2b25;border-color:#dc2b25}
.contact-channel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-channel strong{overflow-wrap:anywhere}.contact-location,.contact-form-section{grid-template-columns:.82fr 1.18fr}@media(max-width:920px){.contact-location,.contact-form-section{grid-template-columns:1fr}.contact-channel-grid{grid-template-columns:1fr}}
.contact-section-head{display:block}.contact-section-head h2{margin-top:8px}
.contact-form-section h2{margin-bottom:28px}.contact-form-section>div>p:last-child{margin-top:0}

/* CTA secundario de la introducción: variante outlined del sistema editorial. */
.contact-intro>div a.contact-intro__cta{
  min-height:var(--mv-control-height);
  padding:0 22px;
  border:1px solid var(--mv-color-red);
  background:transparent;
  color:var(--mv-color-red);
  transition:background-color var(--mv-motion-fast),color var(--mv-motion-fast),transform var(--mv-motion-fast);
}
.contact-intro>div a.contact-intro__cta:hover{
  background:var(--mv-color-red);
  color:#fff;
  transform:translateY(-2px);
}
.contact-intro>div a.contact-intro__cta:active{transform:translateY(0)}
.contact-intro>div a.contact-intro__cta:focus-visible{
  outline:2px solid var(--mv-color-red);
  outline-offset:3px;
}
@media(max-width:680px){
  .contact-intro>div a.contact-intro__cta{width:fit-content}
}
