/* GestorCapital. Medidas, fuentes y colores recuperados del sitio original. */
@font-face{font-family:Circular;src:url('../fonts/circular-book.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Circular;src:url('../fonts/circular-bold.woff') format('woff');font-weight:600;font-display:swap}
@font-face{font-family:Circular;src:url('../fonts/circular-black.woff') format('woff');font-weight:700;font-display:swap}
@font-face{font-family:Glacial;src:url('../fonts/glacial-indifference.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('../fonts/poppins-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('../fonts/poppins-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Linea;src:url('../fonts/linea.woff') format('woff');font-weight:400;font-display:block}
:root{--navy:#163659;--accent:#9a3939;--ink:#222;--muted:#7a7a7a;--header-height:135.4375px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}
body{margin:0;background:#fff;color:var(--muted);font:400 16px/1.5 Circular,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
body.menu-open{overflow:hidden}
h1,h2,h3,p,ul{margin:0;padding:0}
h2,h3{color:var(--ink);font-weight:600;letter-spacing:-.25px}
h2{font-size:38px;line-height:50px}
p{margin-bottom:25px}
p:last-child{margin-bottom:0}
a{color:inherit;text-decoration:none;transition:color .3s,background-color .3s}
button,input,textarea{font:inherit}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
img{display:block;max-width:100%;height:auto}
[hidden]{display:none!important}
.container{width:1170px;max-width:90%;margin-inline:auto}
.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.header-space{height:var(--header-height)}
.site-header{position:relative;z-index:100;background:#fff;width:100%;transition:box-shadow .3s}
.site-header.is-fixed{position:fixed;top:0;left:0;box-shadow:0 0 7px rgb(0 0 0 / 10%)}
.header-inner{display:flex;align-items:flex-start;justify-content:space-between}
.brand{width:170px;flex-shrink:0;margin:35px 0}
.brand img{width:170px;height:auto}
.desktop-nav{display:flex;margin-right:17px;gap:34px}
.desktop-nav a{position:relative;display:block;height:130px;line-height:130px;font-size:12px;letter-spacing:.75px;color:#333;text-transform:uppercase;white-space:nowrap}
.desktop-nav a.active{font-weight:600;color:#222}
.desktop-nav a::after{content:'';position:absolute;left:50%;top:calc(50% + 15px);width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:0;transform:translateX(-50%);transition:opacity .2s}
.desktop-nav a.active::after,.desktop-nav a:hover::after{opacity:1}
.menu-toggle{display:none;border:0;background:none;padding:10px 0;width:26px}
.menu-toggle span{display:block;background:#222;height:2px;margin-block:5px;transition:transform .2s}
.menu-shade{position:fixed;inset:0;background:rgb(0 0 0 / 50%);z-index:199}
.mobile-menu{position:fixed;top:0;bottom:0;left:0;width:300px;max-width:100%;background:var(--navy);z-index:200;color:white;padding-bottom:50px;overflow:auto;box-shadow:5px 0 20px rgb(0 0 0 / 15%);animation:menu-enter .3s both}
.mobile-brand{display:block;width:170px;margin:35px}
.menu-close{position:absolute;right:20px;top:10px;font-size:30px;line-height:40px;background:none;border:0;color:white}
.mobile-menu nav a{display:block;padding:0 22px 0 35px;border-top:1px solid rgb(255 255 255 / 7%);font-size:16px;line-height:50px}
.hero{position:relative;height:970px;overflow:hidden;background:url('../images/portada.jpg') center/cover no-repeat;color:white;text-align:center}
.hero>p,.hero>h1,.hero-divider,.hero-button{position:absolute;margin:0;left:50%;transform:translate(-50%,-50%)}
.hero-eyebrow{top:calc(50% - 110px);font:600 12px/24px Poppins,sans-serif;white-space:nowrap}
.hero-divider{top:calc(50% - 95px);width:180px;height:1px;background:#d8d8d8}
.hero h1{top:calc(50% - 38px);font:400 72px/74px Glacial,sans-serif;color:white;white-space:nowrap}
.hero-subtitle{top:calc(50% + 12px);width:803px;max-width:calc(100% - 16px);font:400 16px/24px Poppins,sans-serif}
.hero-button{top:calc(50% + 86px);font:400 11px/24px Poppins,sans-serif;letter-spacing:1px;border-radius:5px;white-space:nowrap}
.hero-about{left:calc(50% - 69px);background:#222;padding:9px 25px 7px}
.hero-contact{left:calc(50% + 91px);background:#fff;color:#333;padding:8px 25px 6px;border:1px solid transparent}
.hero-button:hover{background:var(--accent);color:#fff}
.services{padding-top:85px;padding-bottom:85px}
.section-intro{text-align:center;margin-bottom:85px}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.5px;color:var(--accent);line-height:24px;margin-bottom:15px}
.section-intro h2{margin-bottom:21px}
.services-subtitle{max-width:500px;margin-inline:auto}
.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.service-column{display:flex;flex-direction:column;gap:35px;padding-bottom:35px}
.service-card{padding:48px 30px 64px;border:1px solid #e7e7e7;border-radius:5px;background:#fff;text-align:center;transition:box-shadow .3s,transform .3s}
.service-card:hover{box-shadow:0 10px 40px rgb(0 0 0 / 13%);transform:translateY(-5px)}
.service-icon{display:block;width:60px;height:60px;margin-inline:auto;font:400 40px/48px Linea;color:var(--navy);-webkit-font-smoothing:antialiased}
.service-card h3{font-size:22px;line-height:1.4;margin:24px 0 8px}
.service-description ul:empty{height:12px;list-style:none}
.about{padding-top:100px;padding-bottom:100px}
.marked-title{text-align:center;margin-bottom:23px}
.marked-title>span{position:relative;display:inline-block;max-width:100%;padding-left:30px}
.marked-title>span::before{content:'';position:absolute;left:0;top:10px;width:4px;height:28px;background:var(--accent)}
.lead{font-size:20px;line-height:24px;color:#222;text-align:center}
.about-description,.contact-description{margin-top:40px;text-align:center}
.about-image{position:relative;align-self:start;margin-top:0;padding:10px}
.about-image img{position:relative;width:100%;z-index:1;transform:translate(-10px,10px)}
.about-image::before{content:'';position:absolute;top:20px;right:20px;left:50%;bottom:50%;background:var(--navy);transform:translate(10px,-10px)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin-top:70px}
.stat{border-bottom:10px solid #f8f8f8;padding-bottom:20px}
.stat h3{font-size:38px;line-height:50px;white-space:nowrap}
.stat p{font-size:22px;line-height:33px;color:#8c8c8c;margin:0}
.values{background:#fafafa;padding-block:100px}
.mission,.commitment{align-items:end}
.mission{margin-bottom:100px}
.value-copy{padding-block:150px;text-align:center}
.value-description{margin-bottom:35px}
.value-image img{width:auto;max-width:100%}
.mission .value-image img{width:500px}.commitment .value-image img{width:530px}
.button{display:inline-block;border:0;border-radius:3px;background:var(--navy);color:white;font-size:11px;font-weight:400;line-height:1.5;letter-spacing:.75px;padding:12px 30px;text-transform:uppercase;transition:background-color .3s}
.button:hover{background:#222;color:#fff}
.contact{padding-block:80px}
.contact-grid{gap:50px}
#contact-form{padding-bottom:25px}
.form-field{margin-bottom:25px;position:relative}
input,textarea{display:block;width:100%;padding:12px 20px;border:1px solid #f8f8f8;border-radius:3px;background:#f8f8f8;font:400 15px/22.5px Circular,sans-serif;color:#7a7a7a;outline:none;transition:border-color .3s}
input::placeholder,textarea::placeholder{color:#b5b5b5;opacity:1}
input:focus,textarea:focus{border-color:var(--navy)}
input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--accent)}
textarea{height:150px;resize:vertical}
.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.submit-wrap{text-align:center;padding-right:72px}
.submit-button{min-width:160px;border-radius:5px;padding:15px 30px 14px;line-height:11px}
.submit-button:disabled{cursor:wait;opacity:.65}
.field-error{display:block;color:var(--accent);font-size:13px;line-height:20px;margin-top:5px}
.form-status{font-size:14px;line-height:22px;border:1px solid var(--accent);padding:12px;margin-top:20px;color:var(--accent)}
.form-status.is-success{color:var(--navy);border-color:var(--navy)}
.site-footer{padding:130px 0 115px;background:var(--navy);color:white}
.footer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.footer-menu h2{font-size:18px;line-height:23px;letter-spacing:0;color:white;margin-bottom:25px}
.footer-nav a{display:block;padding:15px 0;line-height:24px;margin-bottom:5px}
.footer-nav a+a{border-top:1px solid rgb(255 255 255 / 10%)}
.footer-nav a:last-child{margin-bottom:0}
.footer-nav a:hover{color:#c1a46a}
.footer-about>img{width:200px;height:auto;margin-bottom:27px}
.copyright{background:var(--navy);color:#8a99c0;font-size:13px;line-height:19.5px;letter-spacing:.5px;text-align:center}
.copyright .container{padding-block:40px;position:relative}
.copyright .container::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:#6a759a}
.scroll-top{position:fixed;right:36px;bottom:26px;width:50px;height:50px;border-radius:50%;line-height:55px;text-align:center;background:#fff;color:#222;box-shadow:0 2px 8px rgb(0 0 0 / 15%);z-index:99;opacity:0;visibility:hidden;transition:opacity .3s,background .3s}
.scroll-top.is-visible{opacity:1;visibility:visible}
.scroll-top:hover{background:var(--navy);color:white}
.skip-link{position:absolute;top:-80px;left:10px;background:white;color:var(--navy);z-index:300;padding:12px}
.skip-link:focus{top:10px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.js .reveal{opacity:0;transform:translateY(100%);transition:opacity .75s,transform .75s}
.js .reveal-right{transform:translateX(100%)}
.js .reveal.is-visible{opacity:1;transform:none}
.js .service-card.is-visible:hover{transform:translateY(-5px)}
.js .about-image.reveal{opacity:1;transform:none}
.js .about-image img,.js .about-image::before{transition:opacity 1s,transform 1.5s .25s cubic-bezier(.23,1,.32,1)}
.js .about-image:not(.is-visible) img,.js .about-image:not(.is-visible)::before{opacity:0;transform:translate(0,0)}
.value-image{position:relative}
.js .reveal-image.reveal{opacity:1;transform:none}
.js .reveal-image:not(.is-visible) img{opacity:0}
.js .reveal-image.is-visible img{animation:reveal-content 1s both}
.js .reveal-image.is-visible::after{content:'';position:absolute;inset:0;background:#ddd;pointer-events:none;animation:image-wipe 1s both}
.js .reveal-image-right.is-visible::after{animation-name:image-wipe-right}
.hero h1,.hero-eyebrow,.hero-divider,.hero-subtitle,.hero-button{animation:hero-enter 1s both}
.hero h1{animation-delay:.3s}.hero-subtitle{animation-delay:.6s}.hero-about{animation-delay:.8s}.hero-contact{animation-delay:1.2s}
@keyframes hero-enter{from{opacity:0;translate:0 50px}to{opacity:1;translate:0 0}}
@keyframes menu-enter{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@keyframes reveal-content{0%,49%{opacity:0}50%,100%{opacity:1}}
@keyframes image-wipe{0%{transform:scaleX(0);transform-origin:left}49%{transform:scaleX(1);transform-origin:left}50%{transform:scaleX(1);transform-origin:right}100%{transform:scaleX(0);transform-origin:right}}
@keyframes image-wipe-right{0%{transform:scaleX(0);transform-origin:right}49%{transform:scaleX(1);transform-origin:right}50%{transform:scaleX(1);transform-origin:left}100%{transform:scaleX(0);transform-origin:left}}
@media(max-width:1239px){
 .hero{height:820px}.hero h1{font-size:65px;line-height:64px;top:calc(50% - 29px)}
 .hero-eyebrow{top:calc(50% - 101px);line-height:21px}.hero-divider{top:calc(50% - 81px)}
 .hero-subtitle{font-size:15px;top:calc(50% + 16px);width:800px}
 .hero-button{top:calc(50% + 89px);letter-spacing:0}.hero-about{left:calc(50% - 62px);padding:8px 22px 6px}.hero-contact{left:calc(50% + 81px);padding:7px 22px 5px}
}
@media(max-width:1100px){.desktop-nav{gap:20px;margin-right:10px}}
@media(max-width:1023px){
 .hero{height:min(720px,calc(100vw * 720 / 778))}.hero h1{font-size:min(58px,calc(100vw * 58 / 778));line-height:73px;top:calc(50% - 50px)}
 .hero-eyebrow{top:calc(50% - 110px);line-height:15px}.hero-divider{top:calc(50% - 98px)}
 .hero-subtitle{font-size:14px;top:calc(50% + 27px);width:480px;min-height:78px}
 .hero-button{top:calc(50% + 84px)}.hero-about{left:calc(50% - 65px);padding:6px 17px 5px}.hero-contact{left:calc(50% + 73px);padding:5px 17px 4px}
}
@media(max-width:991px){
 .header-inner{align-items:center}.brand{margin-block:35px}.desktop-nav{display:none}.menu-toggle{display:block}
 .services{padding-block:50px}.section-intro{margin-bottom:50px}.service-card{padding-bottom:72px}
 .about{padding-block:60px}.stats{margin-top:60px}
 .value-copy{padding-block:60px}.values{padding-block:50px}.mission{margin-bottom:50px}
 .contact{padding-block:60px}.site-footer{padding-block:60px}
 .contact-copy{padding-bottom:30px}
 .about-description,.contact-description{margin-top:30px}
 .stat p{font-size:22px}
 .stat{display:flow-root;align-self:start}.stat h3{margin:5px;white-space:normal}.stat p{margin:5px}
}
@media(min-width:768px) and (max-width:991px){.about-copy{padding-bottom:20px}.stat:not(:last-child){margin-bottom:30px}}
@media(max-width:479px){
 .hero{height:calc(100vw * 660 / 480)}.hero h1{font-size:calc(100vw * 35 / 480);line-height:58px;top:calc(50% - 43px)}
 .hero-eyebrow{top:calc(50% - 105px);font-size:13px;line-height:18px;white-space:nowrap;width:auto}
 .hero-divider{top:calc(50% - 92px)}.hero-subtitle{top:calc(50% + 10px);width:370px;min-height:0}
 .hero-button{top:calc(50% + 84px)}.hero-about{left:calc(50% - 63px);padding:4px 10px 3px}.hero-contact{left:calc(50% + 63px);padding:3px 10px 2px}
}
@media(max-width:767px){
 .two-columns,.services-grid,.footer-grid{grid-template-columns:1fr}
 .services-grid{gap:0}.service-column{gap:35px}
 .eyebrow{max-width:100%;margin-inline:auto;line-height:18px;min-height:24px;padding-bottom:1px}
 .section-intro h2,.services-subtitle{max-width:calc(100% - 30px);margin-inline:auto}
 .about-grid{gap:20px}.about-image{margin-top:0}.stats{grid-template-columns:1fr;gap:30px}
 .stat p{font-size:22px}.value-copy{padding-block:60px}
 .mission,.commitment{gap:0}.mission{margin-bottom:50px}.mission .value-image{order:0}.mission .value-copy{order:1}
 .contact-grid{gap:0}
 .footer-grid{gap:35px}.copyright .container{padding:30px 0 27px}
 .scroll-top{right:15px;width:40px;height:40px;line-height:45px;bottom:15px}
}
@media(max-width:359px){.hero-eyebrow{font-size:11px}.hero-subtitle{max-width:94%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal,.js .about-image img,.js .about-image::before,.js .reveal-image img{opacity:1!important;transform:none!important}.js .reveal-image::after{display:none}}
