/* Minimalist style */
:root {
  --bg:#0c0e11;
  --bg-alt:#13161b;
  --text:#f5f7fa;
  --muted:#94a3b8;
  --accent:#7c0638; /* Deep maroon */
  --accent-rgb:124,6,56;
  /* Lighter accent variant for headings */
  --accent-light:#b40b56;
  --accent-light-rgb:180,11,86;
  /* Lighter link variant (easier to tweak site-wide) */
  --link:#dd4c86; /* ~lighter maroon */
  --link-rgb:164,11,71;
  --danger:#ef4444;
  --radius:6px;
  --ease: cubic-bezier(.4,.25,.3,1);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family: 'Inter', system-ui, Arial, sans-serif; background:var(--bg); color:var(--text); -webkit-font-smoothing:antialiased; }

h1,h2,h3 { font-weight:600; line-height:1.1; letter-spacing:-.02em; }
p { line-height:1.55; }

/* Global link styling */
a { color:var(--link); text-decoration:none; }
a:hover, a:focus-visible { color:#c01460; }

/* Header */
.site-header { position:fixed; top:0; left:0; right:0; z-index:40; display:flex; align-items:center; gap:clamp(1rem,4vw,3.2rem); justify-content:space-between; padding:.6rem 2rem; backdrop-filter: blur(14px); background:rgba(12,14,17,.55); border-bottom:1px solid rgba(255,255,255,.05); min-height:132px; transition:min-height .55s var(--ease), padding .45s var(--ease), background .55s var(--ease), border-color .55s var(--ease); /*overflow:hidden*/; }
.logo-text { font-size:1rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.brand { display:flex; align-items:center; gap:.65rem; text-decoration:none; line-height:0; }
.brand { position:relative; }
.brand .logo-img { height:120px; max-height:120px; width:auto; display:block; object-fit:contain; filter:drop-shadow(0 4px 14px rgba(0,0,0,.55)); transition:height .55s var(--ease), filter .55s var(--ease), transform .55s var(--ease); position:relative; z-index:3; isolation:isolate; }
/* Radial center-out diffusion glow for logo (static base) */
.brand::before { content:""; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:420px; height:420px; max-width:60vw; max-height:60vw; background:radial-gradient(circle at 50% 50%, rgba(var(--accent-rgb),.70) 0%, rgba(var(--accent-rgb),.48) 28%, rgba(var(--accent-rgb),.26) 54%, rgba(var(--accent-rgb),.12) 72%, rgba(var(--accent-rgb),0) 82%); pointer-events:none; filter:blur(38px) saturate(1.15); opacity:.82; transition:opacity .65s var(--ease), filter .65s var(--ease); z-index:1; mix-blend-mode:screen; }
/* Shimmer layer (very subtle animated highlight) */
.brand::after { content:""; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:460px; height:460px; max-width:66vw; max-height:66vw; background:conic-gradient(from 0deg,
  rgba(var(--accent-rgb),0) 0deg,
  rgba(var(--accent-rgb),.65) 40deg,
  rgba(var(--accent-rgb),0) 120deg,
  rgba(var(--accent-rgb),.52) 200deg,
  rgba(var(--accent-rgb),0) 260deg,
  rgba(var(--accent-rgb),.45) 320deg,
  rgba(var(--accent-rgb),0) 360deg);
  filter:blur(54px) brightness(1.05) saturate(1.1);
  opacity:.58; animation:logoShimmer 22s linear infinite; pointer-events:none; z-index:2; mix-blend-mode:screen; will-change:transform,opacity; }
@keyframes logoShimmer { 0% { transform:translate(-50%,-50%) rotate(0deg); opacity:.28; } 40% { opacity:.38; } 70% { opacity:.25; } 100% { transform:translate(-50%,-50%) rotate(360deg); opacity:.28; } }
/* Reduced motion accessibility */
@media (prefers-reduced-motion:reduce){
  .brand::after { animation:none; opacity:.32; }
}
.site-header.shrink .brand::before { filter:blur(30px); opacity:.65; }
.site-header.shrink .brand::after { filter:blur(48px); opacity:.42; }
@media (max-width:780px){
  .brand::before { width:300px; height:300px; filter:blur(34px); }
  .brand::after { width:340px; height:340px; filter:blur(46px); }
  .site-header.shrink .brand::before { filter:blur(28px); }
  .site-header.shrink .brand::after { filter:blur(40px); }
}
.site-header.shrink { min-height:78px; padding:.4rem 1.4rem; background:rgba(12,14,17,.72); border-color:rgba(255,255,255,.08); }
.site-header.shrink .logo-img { height:66px; filter:drop-shadow(0 3px 8px rgba(0,0,0,.45)); }
@media (max-width:980px){
  .site-header { min-height:118px; padding:.55rem 1.4rem; }
  .site-header.shrink { min-height:72px; }
  /* Reduced ~10% from 100px → 90px for medium mobile/tablet */
  .brand .logo-img { height:80px; }
  /* Shrink state likewise reduced from 60px → 54px (~10%) */
  .site-header.shrink .logo-img { height:54px; }
}
@media (max-width:780px){
  .site-header { flex-wrap:wrap; gap:.75rem; }
  /* Further reduce ~10% from 78px → 70px on smaller mobile screens */
  .brand .logo-img { height:60px; }
  .site-header.shrink { padding:.35rem 1rem .5rem; }
  /* Shrink state 58px → 52px (~10%) */
  .site-header.shrink .logo-img { height:52px; }
}

/* Improve nav alignment next to tall logo */
.main-nav ul { align-items:center; }

/* Prevent layout shift when logo loads */
body { --header-base-height:132px; }
.main-nav ul { list-style:none; margin:0; padding:0; display:flex; gap:1.2rem; }
.main-nav a { color:var(--link); text-decoration:none; font-size:.9rem; position:relative; padding:.25rem .1rem; }
.main-nav a:after { content:""; position:absolute; left:0; bottom:0; height:2px; width:0; background:linear-gradient(90deg, var(--accent), #ff5fa8); transition:width .35s var(--ease); }
.main-nav a:hover:after, .main-nav a:focus:after { width:100%; }
.nav-toggle { display:none; background:none; border:1px solid rgba(255,255,255,.2); color:var(--text); font-size:1rem; padding:.4rem .7rem; border-radius:var(--radius); }

/* Hero */
.hero { position:relative; min-height:100svh; display:flex; align-items:center; justify-content:center; text-align:center; padding:7rem 1.5rem 4rem; overflow:hidden; }
.hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.55) saturate(1.1); }
.hero-overlay { position:absolute; inset:0; background:radial-gradient(circle at 50% 60%, rgba(var(--accent-rgb),.22), transparent 60%), linear-gradient(to top, rgba(12,14,17,.85), rgba(12,14,17,.3)); pointer-events:none; }
.hero-content { position:relative; max-width:780px; }
.hero h1 { font-size: clamp(2.4rem, 6vw, 4.2rem); margin:0 0 1rem; }
.tagline { font-size: clamp(1rem, 1.6vw, 1.25rem); color:var(--muted); margin:0 0 2rem; }
.hero-subcta { margin:.9rem 0 0; font-size:.95rem; color:var(--muted); }
.hero-subcta .link-alt { color:var(--link); text-decoration:underline; text-underline-offset:3px; transition:color .25s var(--ease); }
.hero-subcta .link-alt:hover, .hero-subcta .link-alt:focus-visible { color:#c01460; }
.btn { --btn-bg:var(--accent); display:inline-block; background:linear-gradient(135deg,var(--accent), #b8185d); color:#fff; font-weight:600; padding:.85rem 1.4rem; border-radius: var(--radius); text-decoration:none; font-size:.9rem; letter-spacing:.03em; position:relative; overflow:hidden; box-shadow:0 4px 18px -6px rgba(var(--accent-rgb),.45); }
.btn.primary:hover { filter:brightness(1.07); }
.scroll-down { position:absolute; left:50%; bottom:1.4rem; transform:translateX(-50%); color:var(--text); font-size:1.4rem; text-decoration:none; animation:float 3.6s ease-in-out infinite; }
@keyframes float { 0%,100% { transform:translate(-50%,0); } 50% { transform:translate(-50%,-12px); } }

/* Sections */
.section { padding:6.5rem 1.5rem; position:relative; }
.section.light { background:var(--bg-alt); }
.inner { max-width:1180px; margin:0 auto; }
.section-title { margin:0 0 2.4rem; font-size: clamp(1.9rem, 4vw, 2.6rem); }

.about p { max-width:860px; }
.grid.facts { display:grid; gap:2rem; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); margin-top:3rem; }
.fact { background:linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); border:1px solid rgba(255,255,255,.08); padding:1.4rem 1.25rem 1.45rem; border-radius: calc(var(--radius) + 2px); position:relative; overflow:hidden; }
.fact h3 { margin-top:0; font-size:1.05rem; letter-spacing:.02em; }
.fact p { margin:.55rem 0 0; font-size:.85rem; color:var(--muted); }

.clients .client-logos { list-style:none; display:grid; margin:0; padding:0; gap:2.2rem; grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); align-items:center; }
.clients img { width:100%; max-width:150px; transition: transform .35s var(--ease); display:block; }
.clients img:hover { transform:scale(1.05); }

/* Section separation for Clients after CV */
.clients.separated { position:relative; }
.clients.separated:before { content:""; position:absolute; top:-4.5rem; left:0; right:0; height:4.5rem; background:linear-gradient(to bottom, rgba(0,0,0,0), rgba(255,255,255,.04)); pointer-events:none; }
.clients.separated { border-top:1px solid rgba(255,255,255,.06); }

/* News cards */
.news .news-items { list-style:none; margin:0; padding:0; display:grid; gap:1.4rem; max-width:1180px; grid-template-columns:1fr; }
.news .news-item article { background:linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.015)); border:1px solid rgba(255,255,255,.08); padding:1.25rem 1.35rem 1.4rem; border-radius: calc(var(--radius) + 2px); position:relative; overflow:hidden; display:flex; flex-direction:column; gap:.4rem; }
.news .news-item h3 { margin:.1rem 0 .2rem; font-size:1rem; line-height:1.25; }
.news .news-item h3 a { color:var(--text); text-decoration:none; background:linear-gradient(90deg,var(--accent),#ff6db5); -webkit-background-clip:text; background-clip:text; color:transparent; }
.news .news-item h3 a:hover { filter:brightness(1.15); }
.news .excerpt { margin:0; font-size:.82rem; line-height:1.45; color:var(--muted); max-width:70ch; }
.news .read { margin:.3rem 0 0; font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; }
.news .read a { color:var(--link); text-decoration:none; border-bottom:1px solid rgba(var(--link-rgb),.4); }
.news .read a:hover { border-color:var(--link); }
.note-disclaimer { margin:2rem 0 0; font-size:.6rem; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); opacity:.6; }

/* CV Section */
.cv-section .cv-card { display:flex; gap:2.2rem; align-items:stretch; background:linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.015)); border:1px solid rgba(255,255,255,.08); padding:1.8rem 1.7rem 1.9rem; border-radius: calc(var(--radius) + 4px); flex-wrap:wrap; }
.cv-photo-wrap { flex:0 0 220px; max-width:260px; position:relative; }
.cv-photo-wrap { display:flex; }
.cv-photo { width:auto; max-width:100%; height:100%; flex:1 1 auto; border-radius:calc(var(--radius) + 4px); display:block; object-fit:cover; filter:grayscale(.1) contrast(1.05) brightness(.95); box-shadow:0 12px 32px -10px rgba(0,0,0,.55); }
.cv-summary { flex:1 1 340px; min-width:300px; display:flex; flex-direction:column; gap:1rem; }
.cv-intro { margin:0; font-size:.92rem; line-height:1.5; }
.cv-meta { list-style:none; margin:0; padding:0; display:grid; gap:.55rem; font-size:.78rem; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.cv-meta li { background:rgba(255,255,255,.03); padding:.55rem .65rem; border:1px solid rgba(255,255,255,.06); border-radius:var(--radius); line-height:1.3; }
.cv-meta .k { display:block; font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; opacity:.65; margin-bottom:.15rem; }
.cv-actions { display:flex; flex-direction:column; gap:.7rem; margin-top:.4rem; }
.cv-actions .btn { width:fit-content; }
.cv-social { display:flex; gap:1rem; flex-wrap:wrap; font-size:.7rem; letter-spacing:.05em; text-transform:uppercase; }
.cv-social a { color:var(--link); text-decoration:none; border-bottom:1px solid rgba(var(--link-rgb),.4); }
.cv-social a:hover { border-color:var(--link); }
.cv-social .icon-link { border:none; width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:50%; color:var(--text); position:relative; transition:background .35s var(--ease), transform .35s var(--ease), border-color .35s var(--ease); }
.cv-social .icon-link.instagram { background: radial-gradient(circle at 30% 110%, #feda75 0%, #fa7e1e 25%, #d62976 50%, #962fbf 70%, #4f5bd5 100%); color:#fff; }
.cv-social .icon-link.linkedin { background:#0a66c2; }
.cv-social .icon-link.youtube { background:#ff0000; }
.cv-social .icon-link:hover { transform:translateY(-3px); filter:brightness(1.05); border-color:rgba(255,255,255,.25); }
.cv-social .icon-link svg { pointer-events:none; }
@media (max-width:880px){
  .cv-section .cv-card { padding:1.4rem 1.3rem 1.5rem; }
  .cv-photo-wrap { flex:0 0 180px; }
  .cv-photo { aspect-ratio:3/4; }
}
@media (max-width:640px){
  .cv-section .cv-card { flex-direction:column; }
  .cv-photo-wrap { width:100%; max-width:420px; }
  /* Ensure portrait photo shows the head (avoid cropping top) */
  .cv-photo { width:100%; height:auto; aspect-ratio:3/4; object-position:top center; }
}

/* Desktop 3-column layout for news */
@media (min-width: 1100px){
  .news .news-items { grid-template-columns: repeat(3, 1fr); }
  .news .news-item article { height:100%; }
}

/* Modal */
.modal { position:fixed; inset:0; display:flex; align-items:flex-start; justify-content:center; padding:6rem 1rem 3rem; background:rgba(10,12,14,.72); backdrop-filter:blur(14px); opacity:0; pointer-events:none; transition: opacity .45s var(--ease); z-index:120; overflow:auto; }
.modal.open { opacity:1; pointer-events:auto; }
.modal-backdrop { position:absolute; inset:0; }
.modal-dialog { position:relative; background:linear-gradient(145deg, #161a1f, #121519); border:1px solid rgba(255,255,255,.08); border-radius: calc(var(--radius) + 4px); max-width:860px; width:100%; padding:1.9rem 1.8rem 2.6rem; color:var(--text); box-shadow:0 18px 44px -12px rgba(0,0,0,.6); animation:popIn .55s var(--ease); }
@keyframes popIn { from { transform:translateY(18px); opacity:0; } to { transform:none; opacity:1; } }
.modal-close { position:absolute; top:.6rem; right:.6rem; background:none; border:1px solid rgba(255,255,255,.15); color:var(--text); font-size:1.2rem; line-height:1; width:34px; height:34px; border-radius:50%; cursor:pointer; }
.modal-close:hover { background:rgba(255,255,255,.08); }
.modal h3 { margin:0 0 1.4rem; font-size:1.3rem; }
.modal h4 { margin:1.6rem 0 .6rem; font-size:.9rem; letter-spacing:.1em; text-transform:uppercase; color:var(--accent-light); }
.modal h4:first-of-type { margin-top:0; }
.modal-body ul { margin:.2rem 0 0 1.1rem; padding:0; font-size:.82rem; line-height:1.5; }
.modal-body li { margin:.3rem 0; }
.modal a { color:var(--link); }
.modal a:hover { filter:brightness(1.15); }
@media (max-width:640px){
  .modal { padding:5rem 1rem 2.5rem; }
  .modal-dialog { padding:1.4rem 1.3rem 2.2rem; }
  .modal h3 { font-size:1.1rem; }
}

.contact-grid { display:grid; gap:2.5rem; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); }
.contact-block h3 { margin:.2rem 0 .6rem; font-size:.95rem; letter-spacing:.05em; text-transform:uppercase; color:var(--accent); }
.contact-block a { color:var(--text); text-decoration:none; border-bottom:1px solid rgba(255,255,255,.15); }
.contact-block a:hover { color:var(--accent); border-color:var(--accent); }

/* Contact map full-width */
#contacto { padding-top:0; }
#contacto .map-embed { position:relative; width:100%; height:380px; margin:0 0 3.5rem; overflow:hidden; border-radius:0; }
#contacto .map-embed iframe { position:absolute; inset:0; width:100%; height:100%; filter:grayscale(.2) contrast(1.05) brightness(.92); }
@media (max-width:780px){
  #contacto .map-embed { height:300px; margin-bottom:2.5rem; }
}

/* Footer */
.site-footer { text-align:center; padding:0.5rem 1rem; font-size:.75rem; background:rgba(0,0,0,.3); color:var(--muted); }
.site-footer .dev-credit { display:inline-block; margin-top:.6rem; font-size:.65rem; letter-spacing:.05em; text-transform:uppercase; opacity:.7; }
.site-footer .dev-credit a { color:var(--link); text-decoration:none; border-bottom:1px solid rgba(var(--link-rgb),.45); }
.site-footer .dev-credit a:hover { border-color:var(--link); }

/* Animations */
.fade-in { opacity:0; transform:translateY(10px); animation:fadeIn .9s var(--ease) forwards .2s; }
.fade-in-up { opacity:0; transform:translateY(24px); }
.reveal-visible { animation:fadeUp .8s var(--ease) forwards; }
@keyframes fadeIn { to { opacity:1; transform:none; } }
@keyframes fadeUp { to { opacity:1; transform:none; } }

/* WhatsApp Button */
.whatsapp-btn { position:fixed; right:1.2rem; bottom:1.2rem; width:54px; height:54px; background:#25D366; color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; text-decoration:none; box-shadow:0 8px 28px -6px rgba(0,0,0,.55); z-index:60; transition: transform .4s var(--ease), box-shadow .4s var(--ease); position:fixed; /* for clarity */ overflow:visible; animation:whatsappTwitch 7.2s ease-in-out infinite; }
.whatsapp-btn:after { content:""; position:absolute; inset:0; border-radius:50%; pointer-events:none; box-shadow:0 0 0 0 rgba(37,211,102,0); animation:whatsappPulse 7.2s ease-out infinite; }
.whatsapp-btn:hover { transform:scale(1.06); box-shadow:0 10px 34px -4px rgba(0,0,0,.65); animation-play-state:paused; }
.whatsapp-btn:hover:after { animation-play-state:paused; }
.whatsapp-btn svg { width:26px; height:26px; }
@keyframes whatsappTwitch { 0%,88%,100% { transform:translate3d(0,0,0); } 90% { transform:translate(-1px,1px) rotate(-2deg) scale(1.02); } 92% { transform:translate(1px,-1px) rotate(2deg) scale(1.02); } 94% { transform:translate(-1px,1px) rotate(-1.5deg) scale(1.02); } 96% { transform:translate(1px,-1px) rotate(1.5deg) scale(1.02); } 98% { transform:translate3d(0,0,0) scale(1); } }
@keyframes whatsappPulse { 0%,86% { box-shadow:0 0 0 0 rgba(37,211,102,0); transform:scale(1); } 90% { box-shadow:0 0 0 0 rgba(37,211,102,.55); } 94% { box-shadow:0 0 0 12px rgba(37,211,102,0); transform:scale(1.05); } 100% { box-shadow:0 0 0 0 rgba(37,211,102,0); transform:scale(1); } }
@media (prefers-reduced-motion: reduce){
  .whatsapp-btn { animation:none; }
  .whatsapp-btn:after { animation:none; }
}

/* Language Switcher */
.lang-switch { display:flex; gap:.4rem; align-items:center; font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; }
.lang-switch button { background:rgba(255,255,255,.08); color:var(--text); border:1px solid rgba(255,255,255,.18); padding:.4rem .55rem; cursor:pointer; font-weight:600; border-radius:4px; font-family:inherit; font-size:.65rem; transition:background .35s var(--ease), border-color .35s var(--ease), color .35s var(--ease); }
.lang-switch button[aria-pressed="true"] { background:var(--accent); border-color:var(--accent); color:#fff; }
.lang-switch button:hover { background:rgba(255,255,255,.18); }

/* Desktop: show only desktop lang switch */
.mobile-only { display:none; }
.desktop-only { display:flex; }

@media (max-width:780px){
  /* Mobile header layout: Logo | Lang Switch (flex grow) | Hamburger */
  .site-header { flex-wrap:nowrap; gap:.5rem; justify-content:flex-start; }
  .brand { order:1; flex:0 0 auto; }
  .mobile-only { order:2; display:flex; flex:1 1 auto; justify-content:center; min-width:0; }
  .main-nav { order:3; flex:0 0 auto; position:relative; width:auto; }
  .nav-toggle { display:inline-block; margin-left:.4rem; }
  /* Hide desktop switcher */
  .desktop-only { display:none; }
  /* Dropdown menu positioning */
  .main-nav ul { right:0; }
}

/* Optional: hide body until i18n applied (soft FOUC mitigation) */
html[data-i18n-init="0"] body { visibility:visible; } /* left visible to avoid blank flash; change to hidden if stricter */

/* Paraguay Investment section CTA alignment */
#paraguay-inversion .cta-wrap { margin-top:1.5rem; display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; align-items:center; }
#paraguay-inversion .cta-wrap .btn { min-width:210px; text-align:center; }

/* Responsive Nav */
@media (max-width: 780px) {
  .main-nav ul { position:absolute; top:100%; right:1rem; background:rgba(15,18,22,.92); flex-direction:column; padding:1rem 1.2rem; border:1px solid rgba(255,255,255,.08); border-radius:var(--radius); backdrop-filter:blur(10px); transform:translateY(-10px); opacity:0; pointer-events:none; transition:all .4s var(--ease); min-width:180px; }
  .main-nav ul.open { transform:translateY(0); opacity:1; pointer-events:auto; }
  .nav-toggle { display:inline-block; }
}

/* Accessibility focus */
:focus { outline:2px solid var(--accent); outline-offset:2px; }
::-webkit-scrollbar { width:10px; }
::-webkit-scrollbar-track { background:#0b0d10; }
::-webkit-scrollbar-thumb { background:#1f242b; border-radius:6px; }
::-webkit-scrollbar-thumb:hover { background:#28303a; }
