:root{
  --paper:#FAFAF7; --panel:#FFFFFF; --line:#D8D6CC;
  --blue:#004AAD; --blue2:#009BDB; --ink:#232323; --ink2:#5C5C58;
  --serif:'Georgia','Times New Roman',serif; --sans:'Helvetica Neue',Arial,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}
.wrap{max-width:960px;margin:0 auto;padding:0 40px}
a{color:inherit}

header{border-bottom:2px solid var(--ink);padding:20px 0 0}
.nav-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:16px}
.logo{font-family:var(--serif);font-size:19px;letter-spacing:.3px;display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.logo img{height:34px;width:auto;display:block}
.lang-btn{border:1px solid var(--ink);background:none;font-size:11px;padding:8px 12px;letter-spacing:.5px;cursor:pointer;flex:none}

.nav-strip{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 28px;border-top:1px solid var(--line);padding:14px 0}
.nav-strip a{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink2);text-decoration:none;white-space:nowrap}
.nav-strip a:hover{color:var(--blue)}
.nav-strip a.active{color:var(--ink);font-weight:700;border-bottom:1.5px solid var(--blue);padding-bottom:3px}

.docblock{border:1px solid var(--line);background:var(--panel);margin:36px 0 0;padding:14px 20px;display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink2);letter-spacing:.3px;flex-wrap:wrap;gap:6px}
.docblock b{color:var(--ink)}

.hero{padding:56px 0 20px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.kicker{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--blue);margin-bottom:16px;font-weight:600}
h1{font-family:var(--serif);font-size:44px;line-height:1.16;font-weight:400;margin:0 0 8px;letter-spacing:-.3px}
h1 em{font-style:italic;color:var(--blue)}
.rule{width:64px;height:2px;background:var(--blue);margin:22px 0 24px}
.lead{max-width:560px;color:var(--ink2);font-size:16px;line-height:1.75;margin-bottom:30px}
.cta-row{display:flex;gap:16px;flex-wrap:wrap}
.btn{padding:12px 24px;font-size:13px;letter-spacing:.3px;text-decoration:none;display:inline-block;border:1px solid var(--ink)}
.btn-primary{background:var(--ink);color:var(--paper)}
.btn-ghost{color:var(--ink)}

.signature{display:flex;align-items:center;justify-content:center}
.signature svg{width:100%;max-width:300px;height:auto}

.hero-caps{display:flex;flex-direction:column;gap:22px;border-left:1px solid var(--line);padding-left:28px}
.hero-cap-item{display:flex;gap:16px;align-items:flex-start}
.hero-cap-item .icon{flex:none;width:32px;height:32px;margin-top:2px}
.hero-cap-item h4{font-family:var(--serif);font-size:15px;font-weight:400;margin:0 0 4px}
.hero-cap-item p{font-size:12.5px;color:var(--ink2);margin:0;line-height:1.5}

section{border-top:1px solid var(--line);padding:58px 0}
.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:36px;gap:20px;flex-wrap:wrap}
.section-head .num{font-family:var(--serif);font-size:13px;color:var(--ink2)}
h2{font-family:var(--serif);font-size:27px;font-weight:400;margin:0;max-width:640px}
.section-intro{color:var(--ink2);font-size:15px;line-height:1.7;max-width:640px;margin:-20px 0 36px}

.page-head{padding:44px 0 10px}
.page-head .kicker{margin-bottom:14px}
.page-head h1{font-size:38px}
.page-head p{color:var(--ink2);font-size:15.5px;line-height:1.75;max-width:620px}

/* grids */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 24px}
.cell.pad-sm{padding:22px 20px}
.cell .icon{flex:none;width:36px;height:36px;margin-bottom:14px}
.cell .n{font-family:var(--serif);font-size:12px;color:var(--ink2);display:block;margin-bottom:10px}
.cell .tag{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--blue2);display:block;margin-bottom:8px}
.cell h3,.cell h4{font-family:var(--serif);font-size:16.5px;margin:0 0 8px;font-weight:400}
.cell h3.sans,.cell h4.sans{font-family:var(--sans);font-weight:600;font-size:14.5px}
.cell p{font-size:13.5px;color:var(--ink2);line-height:1.65;margin:0 0 10px}
.cell code{font-size:11px;color:var(--ink2)}
.cell ul{margin:0;padding-left:16px;font-size:13px;color:var(--ink2);line-height:1.8}
.cell .flex{display:flex;gap:16px}

.compliance{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.compliance li{margin-bottom:14px;font-size:14px;color:var(--ink2);line-height:1.6;padding-left:16px;position:relative}
.compliance li::before{content:"—";position:absolute;left:0;color:var(--blue)}
.compliance ul{list-style:none;padding:0;margin:0}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.contact-block h4{font-family:var(--serif);font-size:16px;font-weight:400;margin:0 0 10px;color:var(--blue)}
.contact-block p{font-size:14px;color:var(--ink2);line-height:1.8;margin:0 0 22px}

footer{border-top:2px solid var(--ink);padding:26px 0;font-size:11.5px;color:var(--ink2)}
.footer-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.footer-links{display:flex;gap:18px}
.footer-links a{text-decoration:none;color:var(--ink2)}
.footer-legal{display:flex;justify-content:center;flex-wrap:wrap;gap:0;margin-bottom:14px;font-size:11.5px}
.footer-legal a{text-decoration:none;color:var(--ink2)}
.footer-legal a:hover{color:var(--blue)}
.footer-legal a:not(:last-child)::after{content:"|";margin:0 12px;color:var(--line)}
.legal-body{max-width:720px}
.legal-body h3{font-family:var(--serif);font-size:18px;font-weight:400;margin:32px 0 12px}
.legal-body h3:first-child{margin-top:0}
.legal-body p{font-size:14px;color:var(--ink2);line-height:1.75;margin:0 0 14px}
.legal-note{border:1px solid var(--line);background:var(--panel);padding:16px 20px;font-size:12.5px;color:var(--ink2);margin-bottom:30px}
.legal-note b{color:var(--ink)}

[data-en]{display:none}
html[data-lang="en"] [data-es]{display:none}
html[data-lang="en"] [data-en]{display:inline}
html[data-lang="en"] [data-en].block{display:block}

@media (max-width: 760px){
  .hero-grid, .contact-grid{grid-template-columns:1fr}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr 1fr}
  h1{font-size:32px}
  .wrap{padding:0 24px}
}

@media (max-width: 480px){
  .wrap{padding:0 18px}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  h1{font-size:26px}
  .hero{padding:36px 0 10px}
  section{padding:40px 0}
  .cta-row{flex-direction:column;align-items:flex-start}
  .btn{width:100%;text-align:center}
  .signature svg{max-width:220px}
}

.timeline{border-top:1px solid var(--line)}
.tl-item{display:grid;grid-template-columns:140px 1fr;gap:28px;padding:26px 0;border-bottom:1px solid var(--line)}
.tl-item .tl-when{font-family:var(--serif);font-size:15px;color:var(--blue);font-style:italic}
.tl-item h4{font-size:15.5px;margin:0 0 8px;font-weight:600}
.tl-item p{font-size:13.5px;color:var(--ink2);line-height:1.65;margin:0}
@media (max-width: 600px){ .tl-item{grid-template-columns:1fr} }

.media{width:100%;border-radius:6px;overflow:hidden;border:1px solid var(--line);background:#eee}
.media img, .media video{width:100%;height:100%;display:block;object-fit:cover}
.banner-media{aspect-ratio:16/9}
.card-media{aspect-ratio:4/3;margin-bottom:14px}
.cap{max-width:920px}
figcaption.credit{font-size:11px;color:var(--ink2);margin-top:8px;text-align:right}
.cell figure{margin:0}
