/* Servidores Mundiales - History */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 20px; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif; color: #1a1f36; background: #fff; line-height: 1.65; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
:root { --blue:#0019a4; --blue-hover:#1430c8; --blue-pale:#dde4f7; --blue-light:#f0f3fd; --gray-bg:#f4f6fb; --gray-border:#e2e7f2; --gray-mid:#8892b0; --text-dark:#1a1f36; --text-body:#3d4766; --radius:12px; --radius-lg:18px; }
.container { max-width:1120px; margin:0 auto; padding:0 24px; }
.btn-outline,.btn-hero,.btn-cta,.btn-cta-outline { display:inline-flex; align-items:center; gap:8px; font-size:17px; font-weight:600; padding:15px 28px; border-radius:var(--radius); transition:all .18s; }
.btn-outline { color:var(--blue); background:transparent; border:2px solid var(--blue); }
.btn-outline:hover { background:var(--blue); color:#fff; transform:translateY(-1px); }
.nav { position:sticky; top:0; z-index:10; background:rgba(255,255,255,.97); border-bottom:1px solid var(--gray-border); backdrop-filter:blur(8px); }
.nav-inner { display:grid; grid-template-columns:auto 1fr auto; align-items:center; height:84px; gap:16px; }
.nav-logo { display:flex; align-items:center; gap:10px; }
.nav-logo img { max-height:60px; width:auto; }
.nav-links { display:flex; align-items:center; justify-content:center; gap:4px; list-style:none; }
.nav-links a { font-size:18px; font-weight:500; color:var(--text-body); padding:9px 18px; border-radius:8px; transition:all .15s; }
.nav-links a:hover,.nav-links a.active { background:var(--blue-light); color:var(--blue); }
.nav-cta { display:flex; align-items:center; }
.hamburger { display:none; background:none; border:0; flex-direction:column; gap:5px; padding:4px; }
.hamburger span { display:block; width:24px; height:2px; background:var(--text-dark); }
.mobile-menu { display:none; background:#fff; border-top:1px solid var(--gray-border); padding:12px 0 16px; }
.mobile-menu.open { display:block; }
.mobile-menu a { display:block; padding:14px 24px; border-bottom:1px solid var(--gray-border); }
.page-hero { background:#fff; padding:88px 0 80px; }
.page-hero-title,.section-title { font-family:Georgia,"Times New Roman",serif; font-weight:400; line-height:1.2; }
.page-hero-title { font-size:clamp(38px,5.5vw,68px); color:#000; line-height:1.1; margin-bottom:22px; }
.page-hero-sub { font-size:20px; color:rgba(0,0,0,.78); line-height:1.75; max-width:600px; margin-bottom:40px; }
.page-hero-actions,.cta-band-actions { display:flex; gap:12px; flex-wrap:wrap; }
.btn-hero { background:var(--blue); color:#fff; border:2px solid var(--blue); font-weight:700; }
.btn-hero:hover { background:var(--blue-hover); border-color:var(--blue-hover); transform:translateY(-1px); }
.intro-section { padding:96px 0; }
.intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.intro-images { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:200px 200px; gap:12px; }
.intro-img-tall,.intro-img-sm { overflow:hidden; border-radius:14px; }
.intro-img-tall { grid-row:span 2; min-height:412px; }
.intro-img-tall img,.intro-img-sm img { width:100%; height:100%; object-fit:cover; }
.section-title { font-size:clamp(30px,4.5vw,48px); color:var(--text-dark); margin-bottom:20px; }
.intro-text { font-size:18px; color:var(--text-body); line-height:1.9; margin-bottom:30px; }
.strip-section { background:var(--blue); padding:80px 0; overflow:hidden; }
.strip-title { font-family:Georgia,serif; font-size:clamp(24px,3.4vw,36px); color:#fff; font-weight:400; margin-bottom:40px; }
.carousel-viewport { overflow:hidden; cursor:grab; user-select:none; -webkit-user-select:none; touch-action:pan-y; border-radius:12px; }
.carousel-viewport.dragging { cursor:grabbing; }
.carousel-track { display:flex; gap:12px; width:max-content; will-change:transform; }
.carousel-item { flex:0 0 auto; width:300px; height:220px; overflow:hidden; border-radius:12px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); }
.carousel-item img { width:100%; height:100%; object-fit:cover; pointer-events:none; -webkit-user-drag:none; }
.timeline-section { padding:108px 0; background:var(--gray-bg); }
.timeline-header { text-align:center; margin-bottom:76px; }
.timeline-header > p:last-child { font-size:19px; color:var(--text-body); max-width:580px; margin:0 auto; line-height:1.8; }
.section-label-center { display:flex; justify-content:center; gap:8px; color:var(--blue); font-size:14px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; margin-bottom:16px; }
.section-label-center::before,.section-label-center::after { content:""; width:20px; height:2px; margin-top:12px; background:var(--blue); }
.timeline { position:relative; max-width:900px; margin:0 auto; }
.timeline::before { content:""; position:absolute; left:50%; top:0; bottom:0; width:2px; background:var(--blue-pale); transform:translateX(-50%); }
.tl-item { display:grid; grid-template-columns:1fr 56px 1fr; margin-bottom:60px; position:relative; opacity:0; transform:translateY(24px); transition:opacity .5s,transform .5s; }
.tl-item.visible { opacity:1; transform:translateY(0); }
.tl-item:nth-child(odd) .tl-card { grid-column:1; grid-row:1; }
.tl-item:nth-child(odd) .tl-center { grid-column:2; grid-row:1; }
.tl-item:nth-child(odd) .tl-year-side { grid-column:3; grid-row:1; }
.tl-item:nth-child(even) .tl-card { grid-column:3; grid-row:1; }
.tl-item:nth-child(even) .tl-center { grid-column:2; grid-row:1; }
.tl-item:nth-child(even) .tl-year-side { grid-column:1; grid-row:1; text-align:right; justify-content:flex-end; }
.tl-center { display:flex; justify-content:center; padding-top:24px; z-index:1; }
.tl-dot { width:18px; height:18px; border-radius:50%; background:var(--blue); border:3px solid #fff; box-shadow:0 0 0 2px var(--blue); }
.tl-year-side { display:flex; padding:18px 16px 0; }
.tl-year-badge { display:inline-flex; align-items:center; height:max-content; padding:7px 16px; border-radius:20px; background:var(--blue); color:#fff; font-size:15px; font-weight:800; }
.tl-card { overflow:hidden; background:#fff; border:1px solid var(--gray-border); border-radius:16px; }
.tl-card-img { height:190px; overflow:hidden; background:var(--blue-pale); }
.tl-card-img img { width:100%; height:100%; object-fit:cover; }
.tl-card-body { padding:26px 28px 30px; }
.tl-card-tag { color:var(--blue); font-size:13px; font-weight:700; letter-spacing:2px; text-transform:uppercase; margin-bottom:12px; }
.tl-card-title { font-family:Georgia,serif; font-size:22px; font-weight:400; line-height:1.32; margin-bottom:12px; }
.tl-card-text { color:var(--text-body); font-size:16px; line-height:1.85; }
.legacy-section { padding:96px 0; }
.section-label { color:var(--blue); font-size:14px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; margin-bottom:16px; }
.legacy-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:52px; }
.legacy-card { overflow:hidden; border:1px solid var(--gray-border); border-radius:14px; }
.legacy-card-img { height:210px; overflow:hidden; }
.legacy-card-img img { width:100%; height:100%; object-fit:cover; }
.legacy-card-body { padding:22px 24px 26px; }
.legacy-card-title { font-size:18px; font-weight:700; margin-bottom:8px; }
.legacy-card-text { color:var(--text-body); font-size:16px; line-height:1.75; }
.cta-band { padding:88px 0; background:var(--blue); text-align:center; color:#fff; }
.cta-band-title { font-family:Georgia,serif; font-size:clamp(30px,4.5vw,48px); font-weight:400; margin-bottom:16px; }
.cta-band-sub { max-width:540px; margin:0 auto 40px; color:rgba(255,255,255,.78); font-size:19px; line-height:1.75; }
.cta-band-actions { justify-content:center; }
.btn-cta { background:#fff; color:var(--blue); border:2px solid #fff; }
.btn-cta-outline { color:#fff; border:2px solid rgba(255,255,255,.4); }
.footer { padding:56px 0 32px; border-top:1px solid var(--gray-border); }
.footer-inner { display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.footer-logo img { height:58px; width:auto; }
.footer-col h4 { font-size:16px; margin-bottom:16px; }
.footer-col ul { display:flex; flex-direction:column; gap:11px; list-style:none; }
.footer-col a { color:var(--text-body); font-size:16px; }
.footer-bottom { border-top:1px solid var(--gray-border); margin-top:44px; padding-top:24px; }
.footer-copy { color:var(--gray-mid); font-size:15px; }
@media (max-width:900px) {
	.nav-inner { grid-template-columns:auto auto; justify-content:space-between; }
	.nav-links,.nav-cta { display:none; }
	.hamburger { display:flex; }
	.nav-logo img { max-height:50px; }
	.intro-grid { grid-template-columns:1fr; gap:40px; }
	.tl-item { grid-template-columns:1fr 36px; }
	.tl-item .tl-card { grid-column:1 !important; }
	.tl-item .tl-center { grid-column:2 !important; }
	.tl-item .tl-year-side { grid-column:1 / 3 !important; grid-row:2 !important; justify-content:flex-start; padding:12px 0 0; text-align:left; }
	.timeline::before { left:auto; right:17px; }
	.legacy-grid { grid-template-columns:1fr; }
}
@media (max-width:700px) {
	.carousel-item { width:220px; height:170px; }
	.intro-images { grid-template-rows:180px 180px; }
}
