:root{--navy:#061426;--deep:#020912;--blue:#0c243e;--gold:#c99a55;--gold2:#ebcf9c;--ivory:#f4eee4;--ink:#101a27;--muted:#9aa7b6;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--deep);color:var(--ivory);font-family:var(--sans);overflow-x:hidden}body.menu-open,body.modal-open{overflow:hidden}a{color:inherit}.ambient{position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 75% 15%,#12304c 0,transparent 35%),linear-gradient(145deg,#08192d,#020912 70%)}.grain{position:absolute;inset:0;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.site-header{position:absolute;z-index:10;top:0;left:50%;transform:translateX(-50%);width:min(92%,1440px);height:118px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}.brand{display:flex;align-items:center;gap:.55rem;text-decoration:none;font-family:var(--serif);filter:drop-shadow(0 0 12px rgba(201,154,85,.15))}.brand strong{font-size:2.45rem;color:var(--gold2);font-weight:500}.brand i{width:1px;height:2rem;background:var(--ivory)}.brand span{font-size:1.65rem;letter-spacing:.07em}.site-header nav{display:flex;align-items:center;gap:2.2rem}.site-header nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:.63rem;color:#ccd2d9}.site-header nav a:hover{color:var(--gold2)}.nav-cta{border-bottom:1px solid var(--gold);padding:.65rem 0}.menu-toggle{display:none}.section-dark,.section-light,.section-gold{position:relative;padding:clamp(6rem,10vw,10rem) max(4vw,calc((100vw - 1440px)/2));}.hero{min-height:100svh;display:grid;place-items:center;text-align:center;overflow:hidden;padding-top:150px}.hero-inner{position:relative;z-index:2;max-width:1120px}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.22em;font-size:.64rem;font-weight:600;color:var(--gold);}.eyebrow{display:flex;justify-content:center;align-items:center;gap:1rem}.eyebrow span{width:2.5rem;height:1px;background:var(--gold);box-shadow:0 0 8px rgba(201,154,85,.35)}h1,h2,h3,p{margin-top:0}h1{margin:1.8rem 0;font:400 clamp(4rem,8vw,8.5rem)/.84 var(--serif);letter-spacing:-.04em}h1 em,h2 em{color:var(--gold2);font-weight:400}.hero-copy{max-width:720px;margin:2rem auto;color:#b3bdc8;line-height:1.85;font-weight:300}.hero-actions{display:flex;justify-content:center;gap:1.5rem;margin-top:2.5rem}.button{min-height:58px;padding:0 1.5rem;display:inline-flex;align-items:center;justify-content:center;gap:2.5rem;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;font-weight:600;border:1px solid var(--gold)}.button-gold{background:linear-gradient(110deg,#b8843f,#e4c17d);color:#07111e}.button-link{border-color:rgba(235,207,156,.35)}.orbit span{position:absolute;width:70vw;aspect-ratio:1;border:1px solid rgba(201,154,85,.22);border-radius:50%;right:-40vw;bottom:-35vw}.orbit span:nth-child(2){width:82vw;right:-45vw;bottom:-42vw}.orbit span:nth-child(3){width:95vw;right:-51vw;bottom:-49vw}.scroll-cue{position:absolute;bottom:2rem;text-decoration:none;text-transform:uppercase;letter-spacing:.15em;font-size:.55rem;color:#8f9aa6}.scroll-cue span{display:block;width:1px;height:35px;margin:0 auto .5rem;background:linear-gradient(var(--gold),transparent)}.section-light{background:#f1ede6;color:var(--ink)}.about{display:grid;grid-template-columns:80px 1.05fr .95fr;gap:clamp(2rem,5vw,6rem);align-items:start}.section-number{font:400 2rem var(--serif);color:var(--gold)}.section-heading h2,.section-intro h2,.digital-copy h2,.contact-copy h2{font:400 clamp(3.2rem,5.5vw,6rem)/.92 var(--serif);letter-spacing:-.035em;margin:.8rem 0 0}.about-copy{padding-top:3rem}.about-copy .lead{font:500 clamp(1.3rem,2vw,1.75rem)/1.45 var(--serif)}.about-copy>p:not(.lead){color:#5f6872;line-height:1.8;font-size:.9rem}.about-signature{margin-top:2rem;font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;display:flex;align-items:center;gap:.8rem}.about-signature span{width:2rem;height:1px;background:var(--gold)}.section-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:5rem;align-items:end;margin-bottom:4rem}.section-intro>p{max-width:480px;color:var(--muted);line-height:1.8}.solution-grid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid rgba(255,255,255,.12);border-left:1px solid rgba(255,255,255,.12)}.solution-card{grid-column:span 2;min-height:320px;padding:2rem;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);transition:.35s;background:rgba(255,255,255,.015)}.solution-card:nth-child(4){grid-column:2/span 2}.solution-card:hover{background:rgba(201,154,85,.07);transform:translateY(-4px)}.solution-card>span{font-size:.6rem;color:var(--gold)}.card-icon{font:400 2.5rem var(--serif);color:var(--gold2);margin:3rem 0 1rem}.solution-card h3{font:500 1.9rem var(--serif)}.solution-card p{color:var(--muted);font-size:.78rem;line-height:1.75}.solution-card.digital{background:linear-gradient(145deg,rgba(201,154,85,.15),rgba(255,255,255,.02))}.section-gold{background:#c79a59;color:#0a1522}.digital-section{display:grid;grid-template-columns:1fr 1fr;min-height:690px;align-items:center;overflow:hidden}.digital-visual{position:relative;min-height:460px;display:grid;place-items:center}.digital-visual strong{font:400 10rem var(--serif);color:rgba(7,20,38,.7)}.ring{position:absolute;width:430px;height:430px;border:1px solid rgba(7,20,38,.28);border-radius:50%}.r2{width:330px;height:330px}.r3{width:220px;height:220px}.digital-copy{max-width:620px}.digital-copy .kicker{color:#14243a}.digital-copy p{line-height:1.8;max-width:540px}.digital-copy>a{text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;text-decoration:none;border-bottom:1px solid #14243a;padding-bottom:.5rem}.process .section-intro>p{color:#5f6872}.process-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #c9c5bd}.process-list li{padding:2rem;border-right:1px solid #c9c5bd}.process-list li:last-child{border:0}.process-list span{font:400 1.7rem var(--serif);color:var(--gold)}.process-list h3{margin:2.8rem 0 .8rem;font:500 2rem var(--serif)}.process-list p{color:#646b73;font-size:.77rem;line-height:1.7}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,9rem)}.contact-copy>p:not(.kicker){color:var(--muted);line-height:1.8}.contact-copy>a{color:var(--gold2);font-size:.76rem}.contact-form{border-top:1px solid rgba(235,207,156,.35);padding-top:2rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}label>span{display:block;font-size:.59rem;letter-spacing:.1em;text-transform:uppercase;color:#b4bec9;margin-bottom:.5rem}input,textarea,select{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.2);border-radius:0;background:transparent;color:var(--ivory);padding:.85rem .2rem;outline:0;font:400 .82rem var(--sans)}select option{color:#111}input:focus,textarea:focus,select:focus{border-color:var(--gold)}.contact-form>label{display:block;margin-top:1.2rem}.honeypot{position:absolute;left:-9999px}.consent{display:flex!important;gap:.7rem;align-items:flex-start}.consent input{width:15px;margin-top:2px;accent-color:var(--gold)}.consent span{text-transform:none;letter-spacing:0;line-height:1.5}.submit{width:100%;cursor:pointer}.form-status{text-align:center;color:var(--gold2);font-size:.75rem;min-height:1rem;margin:.7rem 0}.form-status.error{color:#f0a4a4}footer{padding:2.2rem 4vw;background:#01060d;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:2rem;color:#a7b0bb;font-size:.59rem;letter-spacing:.1em;text-transform:uppercase}footer>p{text-align:right;margin:0}.footer-brand{justify-self:start}.footer-center{text-align:center}.footer-center p{margin:0 0 .5rem}.footer-center button{border:0;border-bottom:1px solid var(--gold);background:none;color:var(--gold2);font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.cookie-banner{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:1.5rem;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;text-align:left}.cookie-banner[hidden],.cookie-modal[hidden]{display:none}.cookie-banner small{color:var(--gold)}.cookie-banner h2{font:400 1.5rem var(--serif);margin:.25rem 0;color:var(--ivory)}.cookie-banner p{margin:0;max-width:700px;line-height:1.6;text-transform:none;letter-spacing:0}.cookie-actions{display:flex;gap:.6rem}.cookie-actions button,.cookie-panel-actions button{border:1px solid rgba(235,207,156,.35);background:none;color:var(--ivory);min-height:44px;padding:.6rem 1rem;text-transform:uppercase;font-size:.57rem;font-weight:600;cursor:pointer}.cookie-actions .accept,.cookie-panel-actions .accept{background:var(--gold);color:var(--deep)}.cookie-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:1rem}.modal-backdrop{position:absolute;inset:0;background:rgba(0,5,12,.86);backdrop-filter:blur(8px)}.cookie-panel{position:relative;width:min(650px,100%);max-height:calc(100svh - 2rem);overflow:auto;background:var(--navy);border:1px solid rgba(235,207,156,.25);padding:clamp(2rem,5vw,3.5rem)}.cookie-panel>h2{font:400 3rem var(--serif)}.modal-close{position:absolute;right:1rem;top:1rem;border:0;background:none;color:white;font-size:2rem;cursor:pointer}.cookie-row{display:flex;justify-content:space-between;align-items:center;gap:2rem;border-top:1px solid rgba(255,255,255,.1);padding:1.2rem 0}.cookie-row h3{font:500 1.25rem var(--serif);margin:0}.cookie-row p{font-size:.7rem;color:var(--muted);margin:.3rem 0}.cookie-row b{color:var(--gold2);font-size:.6rem;text-transform:uppercase}.cookie-row input{width:42px;accent-color:var(--gold)}.cookie-panel-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1rem}.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.section-dark,.section-light,.section-gold{padding:6rem 5vw}.site-header nav{position:fixed;inset:0;background:rgba(3,10,20,.98);display:flex;flex-direction:column;justify-content:center;transform:translateY(-100%);transition:.35s}.menu-open .site-header nav{transform:none}.menu-toggle{display:block;position:relative;z-index:2;width:42px;height:42px;border:0;background:none}.menu-toggle span{display:block;width:24px;height:1px;background:white;margin:7px auto}.about,.section-intro,.digital-section,.contact{grid-template-columns:1fr}.about{gap:1rem}.section-number{display:none}.about-copy{padding-top:0}.solution-grid{grid-template-columns:1fr 1fr}.solution-card,.solution-card:nth-child(4){grid-column:span 1}.digital-section{gap:2rem}.process-list{grid-template-columns:1fr 1fr}.contact{gap:4rem}footer{grid-template-columns:1fr;text-align:center}footer>p{text-align:center}.footer-brand{justify-self:center}.cookie-banner{grid-template-columns:1fr;text-align:center}.cookie-actions{justify-content:center}}
@media(max-width:560px){.site-header{height:96px}.brand strong{font-size:2rem}.brand span{font-size:1.3rem}.hero{padding-top:120px}.section-dark,.section-light,.section-gold{padding:5rem 1.25rem}h1{font-size:clamp(3.2rem,16vw,5.2rem)}.hero-actions{flex-direction:column}.section-heading h2,.section-intro h2,.digital-copy h2,.contact-copy h2{font-size:3.2rem}.section-intro{gap:1.5rem}.solution-grid{grid-template-columns:1fr}.solution-card{min-height:260px}.digital-visual{min-height:300px}.ring{width:290px;height:290px}.r2{width:220px;height:220px}.r3{width:145px;height:145px}.digital-visual strong{font-size:7rem}.process-list{grid-template-columns:1fr}.process-list li{border-right:0;border-bottom:1px solid #c9c5bd}.form-grid{grid-template-columns:1fr}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-actions .accept{grid-column:1/-1;grid-row:1}.cookie-panel-actions{flex-direction:column}.cookie-panel-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
.reveal,.js .reveal,.js .reveal.visible{opacity:1;transform:none}

/* Dorado de alto contraste para fondos claros */
.section-light .kicker,
.section-light .section-number,
.section-light .process-list span {
  color: #875514;
  font-weight: 600;
}
.section-light h2 em,
.section-light .section-heading h2 em {
  color: #94601a;
  font-weight: 500;
  text-shadow: 0 1px 0 rgba(255,255,255,.7);
}
.section-light .about-signature {
  color: #34404c;
  font-weight: 600;
}

/* Seis áreas organizadas en dos filas equilibradas */
.solution-card:nth-child(4) { grid-column: span 2; }
.solution-card.fintech {
  background: linear-gradient(145deg,rgba(25,62,91,.58),rgba(201,154,85,.06));
}
.solution-card.fintech .card-icon { color: #f0d7a7; }
@media(max-width:560px){.solution-card,.solution-card:nth-child(4){grid-column:span 1!important}}

.section-light .about-signature span {
  background: #875514;
  box-shadow: 0 0 7px rgba(135,85,20,.18);
}

.back-to-top {
  position: fixed;
  z-index: 30;
  right: clamp(1rem,3vw,2.5rem);
  bottom: clamp(1rem,3vw,2.5rem);
  width: 42px;
  height: 42px;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: transparent;
  color: var(--gold2);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-shadow: 0 0 18px rgba(201,154,85,.08);
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity .25s,visibility .25s,transform .25s,border-color .25s;
}
.back-to-top.visible { opacity: 1; visibility: visible; transform: none; }
.back-to-top:hover { transform: translateY(-3px); }
.back-to-top svg { width: 17px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.back-to-top.on-light,.back-to-top.on-gold {
  color: #00101f;
  border-width: 2px;
  background: rgba(255,255,255,.42);
  box-shadow: 0 5px 18px rgba(0,16,31,.2), inset 0 0 0 1px rgba(255,255,255,.45);
  backdrop-filter: blur(4px);
}
.back-to-top.on-light svg,.back-to-top.on-gold svg { stroke-width: 2.25; }

/* Selector integrado con el formulario oscuro */
.contact-form select {
  color-scheme: dark;
  appearance: none;
  -webkit-appearance: none;
  padding-right: 2.2rem;
  background-color: #061426;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 7.5 5 5 5-5' fill='none' stroke='%23ebcf9c' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .35rem center;
  background-size: 16px;
  color: var(--ivory);
  cursor: pointer;
}
.contact-form select option {
  background-color: #061426;
  color: #f4eee4;
  font-family: var(--sans);
}
.contact-form select option:checked {
  background-color: #17334f;
  color: #fff4df;
}

/* Legibilidad reforzada para textos auxiliares */
.site-header nav a { font-size: .69rem; color: #e0e4e8; }
.eyebrow,.kicker { font-size: .7rem; }
.scroll-cue { font-size: .61rem; color: #b8c0c9; }
.hero-copy { color: #c2cad2; font-size: 1rem; }
.section-intro>p { color: #b8c1cb; font-size: .88rem; }
.solution-card>span { font-size: .67rem; }
.solution-card p { color: #b5bec8; font-size: .86rem; }
.digital-copy p { font-size: .92rem; }
.digital-copy>a { font-size: .7rem; font-weight: 600; }
.process-list p { color: #505a65; font-size: .85rem; }
.contact-copy>p:not(.kicker) { color: #bac3cd; font-size: .9rem; }
.contact-copy>a { font-size: .82rem; }
label>span { color: #d0d6dc; font-size: .66rem; }
.consent span { color: #c7ced5; font-size: .68rem; }
.form-status { font-size: .82rem; }
footer { color: #c5cbd2; font-size: .65rem; }
.cookie-banner p { color: #c3cad2; font-size: .72rem; }
.cookie-actions button,.cookie-panel-actions button { font-size: .63rem; }
.cookie-row p { color: #bbc4cd; font-size: .76rem; }
.cookie-row b { font-size: .66rem; }

/* Contraste definitivo en superficies claras */
.section-light { color: #071426; }
.section-light .kicker,
.section-light .section-number,
.section-light .process-list span { color: #704207; }
.section-light .about-copy>p:not(.lead),
.section-light .section-intro>p,
.section-light .process-list p { color: #344252; }
.section-light .about-copy .lead { color: #111f2e; }
.section-light .about-signature { color: #1c2c3d; }

/* Contraste y ritmo de la sección Evolución digital */
.section-gold { color: #071426; }
.section-gold .kicker { color: #18334c; font-weight: 700; }
.section-gold h2 { color: #071426; margin-bottom: 0; }
.section-gold h2 em { color: #18334c; font-weight: 500; }
.digital-copy>p:not(.kicker) {
  color: #102a42;
  margin: 1.8rem 0 2.2rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
}
.digital-copy>a {
  display: inline-flex;
  align-items: center;
  gap: 1.4rem;
  min-height: 42px;
  padding: .65rem 0;
  border-bottom: 2px solid #071426;
  color: #071426;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.digital-copy>a span { font-size: 1.05rem; }

.section-light .about-signature {
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .11em;
}

@media(max-width:560px){.back-to-top{width:38px;height:38px;right:.8rem;bottom:.8rem}.back-to-top svg{width:15px}}

/* Menú móvil compacto bajo el encabezado. */
@media(max-width:900px){
  .site-header{left:4%;transform:none}
  body.menu-open{overflow:auto}
  .site-header nav{
    position:absolute;
    inset:auto 0 auto auto;
    top:calc(100% - 1px);
    width:min(320px,100%);
    height:auto;
    min-height:0;
    padding:.6rem 1.25rem 1rem;
    align-items:stretch;
    justify-content:flex-start;
    gap:0;
    overflow:visible;
    background:rgba(3,10,20,.97);
    border:1px solid rgba(235,207,156,.16);
    box-shadow:0 18px 40px rgba(0,0,0,.35);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-.75rem);
    transition:opacity .25s ease,transform .25s ease,visibility .25s;
  }
  .menu-open .site-header nav{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  .site-header nav a{
    padding:1rem .25rem;
    border-bottom:1px solid rgba(255,255,255,.09);
    text-align:left;
  }
  .site-header nav a:last-child{border-bottom-color:var(--gold)}
  .site-header .nav-cta{border-bottom-width:1px}
}
