@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Manrope:wght@400;500;600;700&display=swap');

:root{
  --navy:#061523;--navy2:#0b2338;--ivory:#f3efe5;--gold:#c9a765;
  --ink:#14212a;--muted:#60707a;--line:#d8d3c8;--footer-bg:#03101b;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
h1,h2,h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400}

/* Focus visibility for accessibility */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:2px solid var(--gold);outline-offset:3px;
}

/* ===== NAV ===== */
.nav{height:88px;padding:0 clamp(24px,5vw,76px);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:10;width:100%;background:var(--navy);color:#fff;border-bottom:1px solid rgba(201,167,101,.45)}
.nav.overlay{position:absolute}
.brand{display:flex;align-items:center;gap:13px;letter-spacing:.22em}
.brand img{height:38px;width:auto}
.nav nav{display:flex;gap:32px;font-size:13px;color:#c9d0d6}
.nav nav a:hover,.nav nav a[aria-current="page"]{color:#fff}
.nav nav a[aria-current="page"]{border-bottom:1px solid var(--gold)}
.nav-actions{display:flex;align-items:center;gap:18px}
.lang-switch{color:#c9d0d6;font-weight:700;font-size:12px;letter-spacing:.08em}
.lang-switch:hover{color:#fff}
.lang-switch strong{color:var(--gold)}

/* ===== BUTTONS ===== */
.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 28px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700;border:1px solid transparent;cursor:pointer}
.button.small{min-height:44px;padding:0 20px}
.outline{border-color:var(--gold);color:var(--gold);background:transparent}
.gold{background:var(--gold);color:var(--navy)}
.navy{background:var(--navy);color:#fff}
.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--gold)}
.text-link span{margin-left:10px}

/* ===== HOME HERO ===== */
.hero{min-height:900px;color:#fff;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--navy)}
.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,14,24,.98) 0%,rgba(3,14,24,.86) 35%,rgba(3,14,24,.15) 72%),linear-gradient(0deg,rgba(3,14,24,.74),transparent 45%),url('../img/big-capital-hero.jpg') center/cover;animation:heroZoom 12s ease-out both}
.hero-inner{position:relative;z-index:2;width:min(720px,90%);margin-left:clamp(28px,7vw,105px);padding-top:35px}
.eyebrow{font-size:11px;letter-spacing:.28em;font-weight:700;color:var(--gold);margin:0 0 26px}
.eyebrow.dark{color:#92733c}
.hero h1{font-size:clamp(54px,5.7vw,86px);line-height:.98;letter-spacing:-.025em;margin:0}
.hero h1 em{color:var(--ivory);font-weight:400;font-style:italic}
.hero-lead{font-size:17px;line-height:1.8;color:#c0c9d0;max-width:620px;margin:32px 0}
.actions{display:flex;align-items:center;gap:34px;flex-wrap:wrap}
.principles{position:absolute;z-index:2;bottom:0;width:100%;min-height:130px;border-top:1px solid rgba(201,167,101,.45);background:rgba(3,14,24,.8);display:grid;grid-template-columns:repeat(3,1fr);padding:0 clamp(25px,7vw,105px)}
.principles div{display:flex;align-items:center;gap:22px;border-right:1px solid rgba(201,167,101,.35);padding:30px}
.principles div:last-child{border:0}
.principles span{font-family:'DM Serif Display';font-size:30px;color:var(--gold)}
.principles strong{text-transform:uppercase;letter-spacing:.14em;font-size:12px}

/* ===== INNER PAGE HEADER (nosotros, enfoque, contacto, legal) ===== */
.page-hero{background:var(--navy);color:#fff;padding:90px clamp(28px,7vw,105px)}
.page-hero .eyebrow{margin-bottom:22px}
.page-hero h1{font-size:clamp(38px,4.6vw,58px);line-height:1.08;margin:0 0 22px;max-width:780px}
.page-hero p{font-size:16px;line-height:1.8;color:#c0c9d0;max-width:620px;margin:0}

/* ===== SECTIONS ===== */
.section{padding:110px clamp(28px,7vw,105px)}
.section h2{font-size:clamp(42px,4vw,62px);line-height:1.08;margin:0}
.section-head{max-width:720px}

.thesis{background:var(--ivory);display:grid;grid-template-columns:1.2fr .8fr;gap:70px}
.thesis-copy{font-size:18px;line-height:1.9;color:var(--muted);padding-top:40px}
.pillars{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:45px}
.pillars article{padding:36px 35px 0 0;border-right:1px solid var(--line);min-height:240px}
.pillars article+article{padding-left:35px}
.pillars article:last-child{border:0}
.pillars span,.steps>article>span{color:#9d7e45;font-size:12px;letter-spacing:.15em}
.pillars h3,.steps h3{font-family:'DM Serif Display';font-size:27px;font-weight:400;margin:20px 0 12px}
.pillars p,.steps p{color:var(--muted);font-size:14px;line-height:1.8}

.process{background:var(--navy);color:#fff;display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}
.process h2{max-width:520px}
.steps article{display:grid;grid-template-columns:60px 1fr;border-top:1px solid rgba(255,255,255,.17);padding:23px 0}
.steps h3{margin:0 0 8px}
.steps p{margin:0;color:#aab6bf}

.investors{display:grid;grid-template-columns:1fr 1fr;padding:0;background:#e5e0d5;min-height:700px}
.investor-photo{background:url('../img/big-capital-investors.jpg') center/cover;min-height:650px}
.investor-copy{padding:100px clamp(35px,7vw,105px)}
.investor-copy>p:not(.eyebrow){color:var(--muted);line-height:1.8;font-size:17px}
.investor-copy ul{list-style:none;padding:20px 0;margin:0 0 25px}
.investor-copy li{padding:14px 0;border-bottom:1px solid #c9c3b7;font-size:14px}
.investor-copy li:before{content:'—';color:#9d7e45;margin-right:15px}

/* ===== COMPANY / DISCLAIMER BLOCK ===== */
.company{background:#e5e0d5;padding:90px clamp(28px,7vw,105px)}
.company-inner{max-width:820px}
.company-inner p{font-size:17px;line-height:1.9;color:var(--ink)}

.disclaimer-box{background:var(--navy2);color:#fff;padding:70px clamp(28px,7vw,105px)}
.disclaimer-box .inner{max-width:880px;margin:0 auto}
.disclaimer-box p{font-size:15px;line-height:1.9;color:#c0c9d0;margin:0}
.disclaimer-box .eyebrow{margin-bottom:18px}

/* ===== TEAM (nosotros.html) ===== */
.team{padding:110px clamp(28px,7vw,105px);background:var(--ivory)}
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:60px;margin-top:50px}
.team-card{border-top:1px solid var(--line);padding-top:30px}
.team-card h3{font-size:26px;margin:0 0 4px}
.team-card .role{color:#9d7e45;font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 18px;display:block}
.team-card p{color:var(--muted);font-size:15px;line-height:1.8}

.team-photo{display:flex;justify-content:center;margin-top:50px}
.team-photo img{max-width:820px;width:100%;height:auto}

.company-facts{background:var(--navy);color:#fff;padding:80px clamp(28px,7vw,105px)}
.company-facts dl{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:0}
.company-facts dt{color:var(--gold);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}
.company-facts dd{margin:0;font-size:16px;line-height:1.6}

/* ===== ENFOQUE (proceso extendido) ===== */
.approach-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:60px 70px;margin-top:50px}
.approach-item{border-top:1px solid var(--line);padding-top:28px}
.approach-item h3{font-size:24px;margin:0 0 12px}
.approach-item p{color:var(--muted);font-size:15px;line-height:1.85;margin:0}

/* ===== CONTACT ===== */
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding:110px clamp(28px,7vw,105px);background:var(--navy2);color:#fff}
.contact-info h2{margin:0 0 22px}
.contact-info p{color:#aab6bf;line-height:1.8;font-size:16px}
.contact-info .details{list-style:none;padding:0;margin:34px 0 0}
.contact-info .details li{padding:16px 0;border-top:1px solid rgba(255,255,255,.15)}
.contact-info .details span{display:block;color:var(--gold);font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}

form.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}
form.contact-form label{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#b7c0c7}
form.contact-form input,form.contact-form textarea{display:block;width:100%;margin-top:8px;border:0;border-bottom:1px solid #51616d;background:transparent;color:#fff;outline:none;font-family:inherit;font-size:15px;padding:10px 0}
form.contact-form textarea{min-height:110px;resize:vertical}
.full{grid-column:1/-1}
.consent-group{display:flex;gap:14px;align-items:flex-start;font-size:13px;color:#c0c9d0;line-height:1.6}
.consent-group input[type="checkbox"]{margin-top:4px;width:16px;height:16px;flex:none;accent-color:var(--gold)}
.hp-field{position:absolute;left:-9999px;top:-9999px}
form.contact-form small{color:#84939e;line-height:1.6;font-size:12px}
.form-links{display:flex;gap:20px;flex-wrap:wrap}

/* ===== FAQ ===== */
.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px}
.faq details{border-top:1px solid var(--line);padding:23px 0}
.faq summary{list-style:none;cursor:pointer;font-weight:600;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq details p{color:var(--muted);line-height:1.8;font-size:14px;max-width:650px;margin:14px 0 0}

/* ===== LEGAL PAGES (privacidad / términos) ===== */
.legal-doc{padding:90px clamp(28px,6vw,105px);max-width:900px;margin:0 auto}
.legal-doc h2{font-size:26px;margin:52px 0 16px}
.legal-doc h2:first-of-type{margin-top:0}
.legal-doc h3{font-family:Manrope,Arial,sans-serif;font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.06em;margin:34px 0 12px;color:#9d7e45}
.legal-doc p,.legal-doc li{font-size:15px;line-height:1.85;color:var(--ink)}
.legal-doc ul{padding-left:22px}
.legal-doc .updated{color:var(--muted);font-size:13px;margin-bottom:50px}
.legal-doc .lawyer-note{background:#fbeee0;border:1px solid #e2c9a0;padding:16px 20px;font-size:13px;color:#6b4a17;margin-bottom:40px}
.legal-doc .sms-clause{background:#e5e0d5;border-left:3px solid var(--gold);padding:26px 30px;margin:24px 0}

/* ===== FOOTER ===== */
footer{background:var(--footer-bg);color:#fff;padding:75px clamp(28px,7vw,105px) 35px}
.footer-top{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:60px;align-items:start;padding-bottom:50px}
.footer-top .brand{margin-bottom:16px}
.footer-col h4{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 16px}
.footer-col p,.footer-col address{font-style:normal;color:#96a3ac;line-height:1.8;font-size:14px;margin:0 0 10px}
.footer-col a{color:#c9d0d6;display:block;margin-bottom:8px;font-size:14px}
.footer-col a:hover{color:#fff}
.legal{border-top:1px solid #25333e;padding-top:30px;color:#778691;font-size:11px;line-height:1.8}
.legal .risk-disclaimer{max-width:900px;margin-bottom:20px}
.legal .bottom-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px}
.legal .bottom-row nav{display:flex;gap:20px;flex-wrap:wrap}
.legal .bottom-row a{color:#96a3ac}
.legal .bottom-row a:hover{color:#fff}

@keyframes heroZoom{from{transform:scale(1.035)}to{transform:scale(1)}}

/* ===== RESPONSIVE ===== */
@media(max-width:900px){
  .nav nav{display:none}
  .nav{height:74px}
  .button.small{display:none}
  .hero{min-height:780px}
  .hero-inner{margin:auto 25px;padding-bottom:100px}
  .page-hero{padding:60px 24px}
  .principles{min-height:auto;padding:0;grid-template-columns:1fr}
  .principles div{padding:13px 24px;border-right:0;border-bottom:1px solid rgba(201,167,101,.25)}
  .principles span{font-size:18px}
  .thesis,.process,.faq,.contact-grid{grid-template-columns:1fr;gap:45px}
  .pillars,.team-grid,.approach-grid,.company-facts dl{grid-template-columns:1fr}
  .pillars article,.pillars article+article{padding:28px 0;border-right:0;border-bottom:1px solid var(--line);min-height:auto}
  .investors{grid-template-columns:1fr}
  .investor-photo{min-height:430px}
  .footer-top{grid-template-columns:1fr;gap:35px}
  form.contact-form{grid-template-columns:1fr}
}
@media(max-width:560px){
  .brand span{font-size:8px}
  .hero h1{font-size:48px}
  .hero-lead{font-size:15px}
  .actions{align-items:flex-start;flex-direction:column;gap:22px}
  .section{padding:78px 24px}
  .investor-copy{padding:72px 24px}
  .contact-grid{padding:78px 24px}
  .legal-doc{padding:70px 24px}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto}
  .hero-bg{animation:none}
}
