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

:root {
  --navy: #10243E;
  --navy-deep: #08192D;
  --gold: #D4AA63;
  --gold-dark: #B98A43;
  --cream: #F6F4EF;
  --ink: #18202A;
  --muted: #68717D;
  --line: rgba(16,36,62,.12);
  --white: #fff;
  --serif: 'Playfair Display', Georgia, serif;
  --sans: 'DM Sans', Arial, sans-serif;
}

html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body {
  font-family: var(--sans);
  color: var(--ink);
  background: var(--white);
  overflow-x: hidden;
  font-weight: 400;
  letter-spacing: .005em;
}
::selection { background: var(--gold); color: #fff; }
a { transition: color .25s ease, background-color .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease; }

/* Header */
.site-header {
  position: fixed; inset: 0 0 auto; z-index: 50;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(16,36,62,.08);
  box-shadow: 0 10px 35px rgba(8,25,45,.06);
}
.site-header__inner { max-width: 1440px; margin: 0 auto; padding: 12px 34px; min-height: 88px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:block; flex: 0 1 390px; min-width: 235px; }
.brand__logo { display:block; width:min(100%, 370px); max-height:90px; object-fit:contain; object-position:left center; }
.desktop-nav { display:flex; align-items:center; justify-content:center; gap:25px; margin-left:auto; }
.desktop-nav a { color: var(--navy); font-size: 11px; font-weight:600; text-transform:uppercase; letter-spacing:.14em; position:relative; white-space:nowrap; }
.desktop-nav a::after { content:''; position:absolute; left:0; right:100%; bottom:-8px; height:1px; background:var(--gold); transition:right .25s ease; }
.desktop-nav a:hover { color:var(--gold-dark); }
.desktop-nav a:hover::after { right:0; }
.header-actions { display:flex; align-items:center; gap:18px; }
.language-switch { display:flex; align-items:center; gap:9px; color:#98A0AA; font-size:11px; font-weight:600; letter-spacing:.12em; }
.language-switch a { color:inherit; }
.language-switch a.active, .language-switch a:hover { color:var(--gold-dark); }
.header-cta { display:inline-flex; align-items:center; gap:10px; padding:13px 18px; background:var(--navy); color:#fff; border:1px solid var(--navy); border-radius:2px; font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.13em; box-shadow:0 8px 20px rgba(16,36,62,.14); }
.header-cta:hover { background:var(--gold-dark); border-color:var(--gold-dark); color:#fff; transform:translateY(-1px); }
.mobile-menu-button { display:none; border:0; background:transparent; color:var(--navy); font-size:22px; }
.mobile-menu { border-top:1px solid var(--line); background:#fff; padding:20px 24px 24px; box-shadow:0 20px 30px rgba(8,25,45,.08); }
.mobile-menu > a { display:block; padding:12px 0; color:var(--navy); font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.13em; border-bottom:1px solid rgba(16,36,62,.06); }
.mobile-menu__footer { display:flex; align-items:center; justify-content:space-between; padding-top:18px; }
.hidden { display:none !important; }

/* General section rhythm */
section:not(#home) { position:relative; }
.section-shell { max-width:1280px; margin:0 auto; padding:110px 34px; }
.section-intro { max-width:760px; margin:0 auto 65px; text-align:center; }
.eyebrow { margin:0 0 12px; color:var(--gold-dark); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.24em; }
.section-intro h2 { margin:0; color:var(--navy); font-family:var(--serif); font-size:clamp(38px,5vw,58px); line-height:1.05; font-weight:500; }
.gold-rule { width:62px; height:1px; background:var(--gold); margin:22px auto; }
.section-lead { margin:0 auto; max-width:660px; color:var(--muted); font-size:16px; line-height:1.85; font-weight:300; }

/* About */
.about-section { background:linear-gradient(180deg,#fff 0%,#fbfaf7 100%); }
.about-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.about-feature { background:#fff; padding:48px 46px 52px; min-height:100%; }
.about-number { color:var(--gold); font-family:var(--serif); font-size:18px; margin:0 0 24px; }
.about-feature h3 { margin:0 0 18px; color:var(--navy); font-family:var(--serif); font-size:30px; line-height:1.15; font-weight:500; }
.about-feature p { margin:0 0 18px; color:#5f6873; font-size:14px; line-height:1.9; font-weight:300; }
.about-feature p:last-child { margin-bottom:0; }
.about-list { list-style:none; padding:0; margin:22px 0 0; }
.about-list li { position:relative; padding:0 0 15px 25px; color:#5f6873; font-size:14px; line-height:1.75; }
.about-list li::before { content:'—'; position:absolute; left:0; color:var(--gold); font-weight:700; }
.about-statement { margin:60px auto 0; max-width:850px; text-align:center; }
.about-statement__mark { display:block; color:var(--gold); font-family:var(--serif); font-size:64px; line-height:.5; }
.about-statement p { color:var(--navy); font-family:var(--serif); font-style:italic; font-size:clamp(22px,3vw,32px); line-height:1.4; margin:20px 0 0; }
.about-grid--wide { grid-template-columns:1.12fr .88fr; }
.distinction-panel { margin-top:1px; padding:55px 48px; background:var(--navy); color:#fff; display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; }
.distinction-panel h3 { margin:0; font-family:var(--serif); font-size:38px; line-height:1.2; font-weight:400; }
.distinction-panel .eyebrow { color:var(--gold); }
.distinction-copy p { margin:0 0 18px; color:rgba(255,255,255,.76); font-size:14px; line-height:1.9; font-weight:300; }
.distinction-copy p:last-child { margin-bottom:0; }

/* Footer */
.site-footer { background:var(--navy-deep); color:#fff; }
.site-footer__inner { max-width:1280px; margin:0 auto; padding:76px 34px 24px; }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr 1fr; gap:70px; padding-bottom:55px; border-bottom:1px solid rgba(255,255,255,.1); }
.footer-logo, .unique-logo { width:130px; max-width:100%; display:block; height:auto; object-fit:contain; }
.footer-logo { filter:none; margin-bottom:24px; }
.footer-copy, .footer-affiliate-copy { max-width:410px; color:rgba(255,255,255,.55); font-size:12px; line-height:1.8; font-weight:300; }
.footer-kicker { color:var(--gold); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.2em; margin:3px 0 20px; }
.footer-link { display:flex; align-items:center; gap:11px; color:rgba(255,255,255,.78); font-size:12px; margin-bottom:14px; }
.footer-link i { color:var(--gold); width:14px; }
.footer-link:hover { color:#fff; }
.footer-affiliate { justify-self:end; max-width:330px; }
.unique-logo { margin:0 0 12px; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:22px; color:rgba(255,255,255,.4); font-size:10px; text-transform:uppercase; letter-spacing:.09em; }
.footer-bottom p { margin:0; }
.footer-bottom a { color:rgba(255,255,255,.6); }
.footer-bottom a:hover { color:var(--gold); }

/* Existing components: unify the visual language without rewriting the content. */
.text-gold { color:var(--gold) !important; }
.bg-gold { background-color:var(--gold) !important; }
.bg-gold:hover, .hover\:bg-gold-hover:hover { background-color:var(--gold-dark) !important; }
.text-navy { color:var(--navy) !important; }
.bg-navy { background-color:var(--navy) !important; }
.bg-navy-dark { background-color:var(--navy-deep) !important; }
.border-gold { border-color:var(--gold) !important; }

/* Cards, forms and buttons generated by the existing section files. */
[class*="rounded"].shadow, [class*="rounded"].shadow-sm, [class*="rounded"].shadow-lg { box-shadow:0 16px 40px rgba(8,25,45,.08); }
input, textarea, select { border-radius:2px !important; border-color:rgba(16,36,62,.16) !important; }
input:focus, textarea:focus, select:focus { outline:none !important; border-color:var(--gold) !important; box-shadow:0 0 0 3px rgba(212,170,99,.13) !important; }

/* Language helper retained for compatibility. */
.lang-en { display:none; }
html[lang="en"] .lang-es { display:none !important; }
html[lang="en"] .lang-en { display:block !important; }
html[lang="en"] span.lang-en, html[lang="en"] a.lang-en { display:inline !important; }

@media (max-width:1200px) {
  .desktop-nav { gap:17px; }
  .header-cta { padding:12px 14px; }
  .brand { flex-basis:300px; }
}
@media (max-width:1024px) {
  .site-header__inner { min-height:78px; padding:10px 22px; }
  .brand { flex-basis:260px; }
  .desktop-nav, .header-actions { display:none; }
  .mobile-menu-button { display:block; }
  .section-shell { padding:90px 24px; }
}
@media (max-width:800px) {
  .brand { min-width:0; flex-basis:260px; }
  .brand__logo { max-height:70px; }
  .about-grid, .about-grid--wide, .distinction-panel, .footer-grid { grid-template-columns:1fr; }
  .about-feature { padding:38px 30px 42px; }
  .distinction-panel { gap:35px; padding:42px 30px; }
  .footer-grid { gap:42px; }
  .footer-affiliate { justify-self:start; }
  .footer-bottom { flex-direction:column; }
}
@media (max-width:560px) {
  .site-header__inner { padding:9px 16px; }
  .brand { flex-basis:230px; }
  .brand__logo { max-height:60px; }
  .section-shell { padding:75px 18px; }
  .section-intro { margin-bottom:42px; }
  .about-feature { padding:30px 22px 34px; }
  .distinction-panel { padding:34px 22px; }
  .distinction-panel h3 { font-size:31px; }
  .site-footer__inner { padding:55px 20px 20px; }
}