@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#171b20;background:#f3f4f5}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.shell{max-width:960px;margin:auto;padding:0 30px}.top{height:84px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d9dde1}.brand{font:800 25px Manrope,Arial;letter-spacing:-1.8px}.brand span{font-weight:500}.brand i,.intro h1 span{color:#77716b;font-style:normal}.top>span{font-size:11px;font-weight:700;letter-spacing:.18em;color:#626a72}.intro{padding:60px 0 43px}.intro .kicker{font-size:11px;font-weight:800;letter-spacing:.2em;color:#77716b;margin:0 0 11px}.intro h1{font:800 clamp(36px,6vw,62px)/1.08 Manrope,Arial;letter-spacing:-.055em;margin:0 0 16px}.intro p:last-child{font-size:16px;line-height:1.55;color:#687078;max-width:580px;margin:0}.panel{background:white;border:1px solid #e3e5e7;border-radius:5px;padding:32px 38px 37px;margin-bottom:14px;box-shadow:0 4px 18px #202a3308}.heading{display:flex;gap:18px;align-items:flex-start;margin-bottom:28px}.heading>span{height:31px;width:31px;border:1px solid #77716b;color:#77716b;display:grid;place-items:center;font-weight:800;font-size:11px;flex:none}.heading h2{font:800 21px Manrope,Arial;letter-spacing:-.035em;margin:0 0 5px}.heading p{margin:0;color:#7c858d;font-size:14px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px}.field{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:700}.field em,.upload em{color:#77716b;font-style:normal}.field input,.field select{background:#fafbfb;border:1px solid #d9dde0;border-radius:3px;height:48px;padding:0 14px;color:#22272d;width:100%;outline:none}.field input:focus,.field select:focus,.upload:focus-within{border-color:#77716b;box-shadow:0 0 0 3px #77716b22}.field input::placeholder{color:#a6adb3;font-weight:400}.check{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:500;color:#505960;margin-top:11px}.check input{accent-color:#77716b;width:16px;height:16px;margin:0;flex:none}.alternate{margin-top:24px}.upload{min-height:150px;border:1px dashed #cbd1d5;background:#fbfcfc;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;position:relative;cursor:pointer;font-size:13px;color:#5c666e;padding:20px}.upload:hover{border-color:#77716b}.upload strong{font-size:14px;color:#22272d}.upload small{color:#899198;font-size:12px}.upicon{font-size:24px;color:#77716b;line-height:1}.upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.end{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:25px 0 72px;flex-wrap:wrap}.end p{max-width:490px;font-size:12px;line-height:1.5;color:#818990;margin:0}.end button{background:#77716b;color:white;border:0;border-radius:3px;padding:16px 20px;font-weight:700;min-width:245px;cursor:pointer;display:flex;justify-content:space-between;gap:28px}.end button:hover{background:#5d5954}.end button:disabled{opacity:.6;cursor:wait}.error{color:#ab211c;width:100%;font-size:14px}.success{background:white;border:1px solid #e3e5e7;padding:60px 42px;text-align:center;margin-bottom:80px}.success>span{border:1px solid #77716b;color:#77716b;font-size:27px;width:58px;height:58px;display:grid;place-items:center;margin:0 auto 20px}.success h2{font:800 26px Manrope,Arial}.success p{color:#687078}footer{border-top:1px solid #d9dde1;padding:25px 0 40px;font-size:12px;letter-spacing:.08em;display:flex;justify-content:space-between}footer span{font-size:11px;color:#9aa1a7}@media(max-width:650px){.shell{padding:0 18px}.top{height:69px}.intro{padding:42px 0 32px}.panel{padding:25px 20px}.grid{grid-template-columns:1fr;gap:18px}.heading{gap:13px}.check{align-items:flex-start}.end{padding-bottom:45px}.end button{width:100%}}
.site-header{height:84px;background:#333;position:relative;z-index:10;box-shadow:0 2px 10px #0002}.nav-container{height:100%;padding:0 2.2rem;display:flex;justify-content:space-between;align-items:center}.logo-link{text-decoration:none;color:#fff}.site-logo{font:800 30px Manrope,Arial;letter-spacing:-.07em}.site-logo span{font-weight:500}.site-nav{display:flex;gap:2rem}.site-nav a{text-decoration:none;color:#ccc;font-size:18px;font-weight:500}.site-nav a:hover{color:white}.mobile-menu{display:none;border:0;background:transparent;color:#ddd;font-size:27px;cursor:pointer}.site-footer{background:#333;color:#fff;padding:44px 0 80px}.footer-inner{padding:0 2.2rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:50px}.footer-column{flex:1;min-width:170px}.footer-column h3{font-size:17px;margin:0 0 12px}.footer-column p{margin:0 0 8px;color:#ccc;font-size:15px}.footer-column a{color:#ccc;text-decoration:none}.footer-column a:hover{color:white}.site-footer .footer-inner{max-width:none}.site-footer .footer-column{letter-spacing:normal;font-family:'DM Sans',Arial,sans-serif}
@media(max-width:700px){.nav-container{padding:0 1.2rem}.mobile-menu{display:block}.site-nav{display:none;position:absolute;top:84px;left:0;right:0;background:#333;flex-direction:column;gap:0;padding:8px 1.2rem 20px}.site-nav.show{display:flex}.site-nav a{padding:13px 0;border-bottom:1px solid #555}.footer-inner{padding:0 1.2rem;gap:30px}.footer-column{min-width:210px}}
.honeypot{position:absolute!important;left:-10000px!important}.alternate[hidden],.success[hidden],.error[hidden]{display:none!important}

.site-logo-img{display:block;width:244px;max-width:55vw;height:auto;object-fit:contain}

#campo-razon-social[hidden]{display:none}

/* Campos específicos del formulario de pagos. */
.field textarea{background:#fafbfb;border:1px solid #d9dde0;border-radius:3px;padding:13px 14px;color:#22272d;width:100%;resize:vertical;min-height:112px;outline:none}
.field textarea:focus{border-color:#77716b;box-shadow:0 0 0 3px #77716b22}
.comments{margin-top:22px}.declaration{margin:0;max-width:100%;line-height:1.55;align-items:flex-start}.declaration em{color:#77716b;font-style:normal}
.end{display:block}.end .error{margin-top:16px}.end button{margin-top:23px}.upload{max-width:100%}

/* El footer de la web ocupa todo el ancho y conserva las cuatro columnas. */
.site-footer{display:block;width:100%;font-size:15px;letter-spacing:normal}
.site-footer .footer-inner{width:100%;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 42px}
.site-footer .footer-column{min-width:0;overflow-wrap:anywhere}
@media(max-width:900px){.site-footer .footer-inner{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.site-footer .footer-inner{grid-template-columns:1fr}}

/* Encabezado y footer institucional (mismos elementos que la portada). */
.site-header{height:84px;background:rgba(51,51,51,.94);backdrop-filter:blur(4px)}
.site-header .nav-container{height:100%}
.site-logo-img{display:block;width:244px;max-width:55vw;height:auto;object-fit:contain}
.site-footer{display:block;width:100%;background:#333;color:#fff;padding:44px 0 80px;font-size:15px;letter-spacing:normal;border:0}
.site-footer .footer-inner{width:100%;max-width:none;margin:0;padding:0 2.2rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:60px}
.site-footer .footer-column{flex:1;min-width:210px;overflow-wrap:anywhere}
.site-footer .footer-column h3{margin:0 0 12px;font-size:1.05em;color:#f0f0f0}
.site-footer .footer-column p,.site-footer .footer-column a{display:flex;align-items:center;gap:8px;color:#ccc;text-decoration:none;font-size:.95em;line-height:1.45;margin:0 0 5px}
.site-footer .footer-column a:hover,.site-footer .social-icons a:hover{color:#fff}
.site-footer .footer-column i{color:#999}
.site-footer .social-icons{display:flex;gap:16px;margin-top:6px}
.site-footer .social-icons a{font-size:1.4em;color:#ccc;transition:color .2s ease}
@media(max-width:700px){.site-footer .footer-inner{padding:0 1.2rem;gap:30px}.site-footer .footer-column{min-width:210px}}

/* Gris topo EXOSOUND y ajustes para pantallas angostas. */
@media(max-width:420px){.shell{padding:0 16px}.panel{padding:22px 16px}.intro h1{overflow-wrap:anywhere}.heading h2{font-size:19px}.site-header .site-logo-img{max-width:64vw}.end button{min-width:0}.site-footer .footer-inner{padding:0 16px}.site-footer .footer-column{min-width:0;width:100%}}
