:root{
  --blue:#132a52;
  --blue-deep:#0b1c3a;
  --blue-light:#5f95d1;
  --red:#d61f34;
  --gray:#5c6470;
  --line:#e2e5ea;
  --white:#ffffff;
  --bg:#f6f7f9;
  --radius:3px;
  --maxw:1180px;
}
*{box-sizing:border-box;}
html,body{height:100%;}
body{
  margin:0;font-family:'Montserrat',system-ui,Arial,sans-serif;color:var(--gray);
  background:var(--bg);line-height:1.6;
}
h1,h2,h3,h4{font-family:'Anton',sans-serif;font-weight:400;letter-spacing:.01em;
  margin:0 0 .35em;line-height:1.05;color:var(--blue);text-transform:uppercase;}
p{margin:0 0 1em;max-width:64ch;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{margin:0;padding:0;list-style:none;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.eyebrow{display:inline-block;font-family:'Anton',sans-serif;font-size:.85rem;letter-spacing:.04em;
  color:var(--red);border-left:3px solid var(--red);padding-left:10px;margin-bottom:12px;text-transform:uppercase;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:var(--radius);
  font-weight:700;font-size:.95rem;border:2px solid transparent;cursor:pointer;transition:transform .15s;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--red);color:#fff;}
.btn-primary:hover{background:#b81729;}
.btn-outline{border-color:var(--blue);color:var(--blue);}
.btn-outline:hover{background:var(--blue);color:#fff;}
.section-head{max-width:660px;margin-bottom:38px;}
.section-head h2{font-size:clamp(1.8rem,3.6vw,2.5rem);}

/* ---------- App shell / tabs ---------- */
header{background:var(--blue);border-bottom:4px solid var(--red);position:sticky;top:0;z-index:100;}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0;color:#fff;}
.logo{font-family:'Anton',sans-serif;font-size:1.5rem;color:#fff;letter-spacing:.02em;display:flex;gap:6px;}
.logo span{color:var(--red);}
.tabs{display:flex;gap:2px;background:var(--blue-deep);}
.tabs .wrap{display:flex;gap:2px;overflow-x:auto;}
.tab-btn{
  background:transparent;border:0;color:#aab7cc;font-family:'Anton',sans-serif;
  font-size:.95rem;letter-spacing:.03em;text-transform:uppercase;padding:16px 20px;
  cursor:pointer;white-space:nowrap;border-bottom:3px solid transparent;
}
.tab-btn:hover{color:#fff;}
.tab-btn.active{color:#fff;border-bottom-color:var(--red);background:rgba(255,255,255,.04);}
.nav-actions{display:flex;align-items:center;gap:14px;}
.burger{display:none;background:none;border:0;color:#fff;font-size:1.6rem;cursor:pointer;}
@media (max-width:860px){
  .tabs .wrap{justify-content:flex-start;}
  .tab-btn{padding:14px 14px;font-size:.85rem;}
  .nav-actions .btn{padding:10px 16px;font-size:.85rem;}
}

.tab-panel{display:none;animation:fadein .25s ease;}
.tab-panel.active{display:block;}
@keyframes fadein{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}

section{padding:64px 0;}
.tab-hero{
  background:linear-gradient(150deg,var(--blue) 55%,var(--blue-deep) 100%);color:#fff;padding:70px 0 56px;
}
.tab-hero h1{color:#fff;font-size:clamp(2.2rem,4.6vw,3.4rem);max-width:16ch;}
.tab-hero p{color:#c6d1e6;font-size:1.08rem;max-width:56ch;}

/* ---------- Stats ---------- */
.stats-row{display:flex;gap:0;flex-wrap:wrap;background:var(--blue-deep);}
.stat{flex:1 1 160px;text-align:center;padding:34px 12px;border-left:1px solid #22345a;}
.stat:first-child{border-left:none;}
.stat b{display:block;font-family:'Anton',sans-serif;font-size:2.3rem;color:#fff;}
.stat span{font-size:.82rem;color:#aab7cc;}

/* ---------- Cards / grids ---------- */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;}
.card h3{font-size:1.2rem;}
.tag{display:inline-block;font-size:.72rem;font-weight:700;color:var(--red);
  background:#fdecee;padding:3px 9px;border-radius:20px;margin-bottom:10px;letter-spacing:.03em;}

.photo-slot{
  background:linear-gradient(135deg,#dfe4ea,#c7cfd9);border-radius:var(--radius);
  display:flex;align-items:center;justify-content:center;color:#7c8794;font-size:.85rem;text-align:center;padding:14px;
}

/* ---------- Sports ---------- */
.sport-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line);}
.sport-tile{background:#fff;padding:26px 16px;}
.sport-tile .photo-slot{aspect-ratio:4/3;margin-bottom:12px;font-size:.72rem;}
.sport-tile b{display:block;font-family:'Anton',sans-serif;color:var(--blue);font-size:1.05rem;text-transform:uppercase;}
.sport-tile span{font-size:.78rem;color:var(--red);font-weight:700;}

/* ---------- Map / universities ---------- */
.map-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;margin-bottom:34px;}
.us-map{width:100%;height:auto;}
.uni-scroll{max-height:420px;overflow-y:auto;padding-right:6px;}
.uni-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.uni-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;}
.uni-card b{display:block;color:var(--blue);font-family:'Anton',sans-serif;font-size:1rem;text-transform:none;margin:4px 0 2px;}
.uni-place{font-size:.82rem;color:var(--gray);}
.uni-assoc{display:inline-block;font-size:.68rem;font-weight:700;color:#fff;background:var(--blue-light);
  padding:2px 8px;border-radius:12px;}

/* ---------- Process ---------- */
.process-list{border-top:1px solid var(--line);}
.process-item{display:grid;grid-template-columns:64px 1fr;gap:22px;padding:26px 0;border-bottom:1px solid var(--line);}
.process-item .num{font-family:'Anton',sans-serif;font-size:2.2rem;color:var(--red);line-height:1;}
.process-item h3{font-size:1.15rem;margin-bottom:4px;}

/* ---------- Comparison table ---------- */
.compare-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);}
.compare-table th,.compare-table td{padding:14px 16px;border:1px solid var(--line);font-size:.9rem;text-align:left;}
.compare-table th{background:var(--blue);color:#fff;font-family:'Anton',sans-serif;font-weight:400;letter-spacing:.02em;}
.compare-table td:first-child{font-weight:700;color:var(--blue);}

/* ---------- Athletes ---------- */
.athlete-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.athlete-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.athlete-photo{aspect-ratio:4/5;background:linear-gradient(135deg,var(--blue),var(--blue-deep));
  display:flex;align-items:center;justify-content:center;color:#6d84ab;font-size:.78rem;text-align:center;padding:10px;}
.athlete-info{padding:14px 16px;}
.athlete-info b{display:block;font-family:'Anton',sans-serif;color:var(--blue);font-size:1rem;text-transform:none;}
.athlete-info>span{font-size:.78rem;color:var(--red);font-weight:700;}
.athlete-info small{display:block;color:var(--gray);margin:2px 0 8px;}
.athlete-bio{font-size:.82rem;margin:0;color:var(--gray);}

/* ---------- Founders ---------- */
.founder-card{display:flex;gap:20px;align-items:center;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:22px;}
.founder-card .photo-slot{width:110px;height:110px;border-radius:50%;flex:none;font-size:.7rem;}
.founder-card b{display:block;color:var(--blue);font-family:'Anton',sans-serif;font-size:1.1rem;}
.founder-card span{font-size:.82rem;color:var(--red);font-weight:700;}

/* ---------- Video / resources ---------- */
.video-wrap{aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#000;border:1px solid var(--line);}
.video-wrap iframe{width:100%;height:100%;border:0;}
.resource-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.resource-card .video-wrap{border:0;border-radius:0;}
.resource-card .resource-info{padding:16px 18px;}
.resource-card b{display:block;color:var(--blue);font-family:'Anton',sans-serif;}
.blog-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.blog-card .photo-slot{aspect-ratio:16/10;}
.blog-card .blog-body{padding:18px;}
.blog-card .blog-cat{font-size:.72rem;font-weight:700;color:var(--red);letter-spacing:.03em;}
.blog-card h3{font-size:1.05rem;margin:6px 0 8px;}

/* ---------- Showcase ---------- */
.showcase-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.showcase-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;}
.showcase-card .edition{font-family:'Anton',sans-serif;color:var(--red);font-size:.95rem;margin-bottom:4px;}
.showcase-card h3{font-size:1.5rem;margin-bottom:2px;}
.showcase-card .date{color:var(--gray);font-size:.88rem;margin-bottom:14px;}
.showcase-card .photo-slot{aspect-ratio:16/9;margin-bottom:16px;}
.agenda-list li{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.88rem;}
.agenda-list li b{color:var(--blue);min-width:78px;}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.social-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px;}
.social-pill{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);
  border-radius:30px;padding:10px 18px;font-weight:600;font-size:.9rem;color:var(--blue);}
.social-pill:hover{border-color:var(--blue-light);}

/* ---------- CTA / footer ---------- */
.cta-band{background:var(--red);color:#fff;text-align:center;padding:64px 0;}
.cta-band h2{color:#fff;}
.cta-band p{color:#ffd9dd;margin:0 auto 26px;}
footer{background:var(--blue-deep);color:#aab7cc;padding:44px 0 22px;}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:.85rem;}
.whatsapp-float{position:fixed;bottom:22px;right:22px;background:#25d366;color:#fff;width:56px;height:56px;
  border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;
  box-shadow:0 6px 18px rgba(0,0,0,.25);z-index:120;}

@media (max-width:900px){
  .grid-2,.grid-3,.grid-4,.sport-grid,.uni-grid,.athlete-grid,.showcase-grid,.contact-grid{grid-template-columns:1fr 1fr;}
  section{padding:44px 0;}
}
@media (max-width:600px){
  .grid-2,.grid-3,.grid-4,.sport-grid,.uni-grid,.athlete-grid,.showcase-grid,.contact-grid{grid-template-columns:1fr;}
  .founder-card{flex-direction:column;text-align:center;}
  .process-item{grid-template-columns:40px 1fr;}
}

.founders-photo-wrap{margin-bottom:4px;}
.founders-photo{width:100%;max-width:480px;margin:0 auto;border-radius:3px;display:block;}
.showcase-photo-slot{overflow:hidden;padding:0;}
.logo img{height:76px;display:block;}
.lang-pill{display:flex;gap:2px;background:rgba(0,0,0,.25);padding:3px;border-radius:20px;margin-right:8px;}
.lang-pill button{border:0;background:transparent;color:#aab7cc;font-family:'Anton',sans-serif;font-size:.78rem;padding:6px 13px;border-radius:16px;cursor:pointer;letter-spacing:.03em;}
.lang-pill button.active{background:var(--red);color:#fff;}
.lang-wrap[hidden]{display:none !important;}
.tab-hero{background:linear-gradient(150deg,rgba(11,28,58,.90) 20%,rgba(19,42,82,.86) 100%),url('/assets/img/visoria-new-beginnings-usa-panama.jpg') center 30%/cover no-repeat;color:#fff;padding:70px 0 56px;}
.us-map{width:100%;height:auto;}
.map-credit{font-size:.7rem;color:#9aa3ad;margin-top:6px;}
.social-icon-pill{display:inline-flex;align-items:center;gap:9px;padding:10px 18px 10px 14px;border-radius:30px;color:#fff !important;font-weight:600;font-size:.9rem;}
.social-icon-pill svg{flex:none;}
.cta-band{background:linear-gradient(100deg,rgba(8,20,40,.93) 28%,rgba(214,31,52,.55) 78%),url('/assets/img/atleta-new-beginnings-usa-fondo.jpg') center 20%/cover no-repeat;}
.athlete-photo{display:block;}
.sport-tile img.photo-slot{aspect-ratio:4/3;}
a.video-wrap:hover svg{opacity:.85;}

/* ===== Mobile / tablet adaptation ===== */
html{-webkit-text-size-adjust:100%;}
img,svg,video{max-width:100%;}
.logo{flex:none;}
.logo img{max-width:none;width:auto;}
.tabs .wrap{-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.tabs .wrap::-webkit-scrollbar{display:none;}
.tab-btn{white-space:nowrap;flex:none;}
.compare-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
@media (max-width:900px){
  .logo img{height:60px;}
  .contact-grid{gap:28px;}
  .tab-hero{padding:56px 0 44px;}
}
@media (max-width:600px){
  .wrap{padding-left:18px;padding-right:18px;}
  .nav{padding:8px 0;gap:8px;}
  .logo img{height:50px;}
  .nav-actions{gap:8px;}
  .lang-pill{margin-right:0;}
  .lang-pill button{padding:5px 10px;font-size:.72rem;}
  .nav-actions .btn{padding:9px 12px;font-size:.74rem;white-space:nowrap;}
  .tab-btn{padding:12px 12px;font-size:.78rem;}
  section{padding:36px 0;}
  .tab-hero{padding:44px 0 36px;}
  .tab-hero h1{font-size:1.95rem;max-width:none;}
  .tab-hero p{font-size:1rem;}
  h2{font-size:1.55rem;}
  .btn{padding:13px 20px;}
  .stat{flex:1 1 45%;padding:24px 8px;}
  .stat b{font-size:1.9rem;}
  .sport-grid,.athlete-grid{grid-template-columns:1fr 1fr;gap:12px;}
  .sport-tile{padding:16px 10px;}
  .athlete-info{padding:10px 12px;}
  .athlete-info b{font-size:.9rem;}
  #tab-visorias .grid-4,#tab-showcases .grid-4{grid-template-columns:1fr 1fr;gap:10px;}
  .cta-band{padding:44px 0;}
  .whatsapp-float{width:50px;height:50px;bottom:16px;right:16px;}
  .compare-table th,.compare-table td{padding:10px 10px;font-size:.8rem;}
}
.blog-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);}

/* ===== Multi-page SEO build ===== */
img{height:auto;}
a.tab-btn{display:inline-block;text-decoration:none;}
.lang-pill a{color:#aab7cc;font-family:'Anton',sans-serif;font-size:.78rem;padding:6px 13px;border-radius:16px;letter-spacing:.03em;text-decoration:none;}
.lang-pill a.active{background:var(--red);color:#fff;}
.video-wrap iframe{width:100%;height:100%;border:0;display:block;}
a.blog-card{display:block;text-decoration:none;}
.post{background:#fff;padding:36px 0 56px;}
.post .wrap{max-width:820px;}
.post h2{font-size:1.5rem;margin:1.9em 0 .6em;}
.post p,.post ul{max-width:72ch;}
.post ul{padding-left:1.3em;margin:0 0 1.2em;}
.post li{margin-bottom:.5em;}
.post a{color:var(--red);}
.callout{background:var(--bg);border-left:4px solid var(--red);border-radius:3px;padding:20px 24px;margin:1.8em 0;max-width:72ch;}
.callout b{color:var(--blue);}
.post-img{width:100%;height:auto;border-radius:3px;margin:0 0 1.6em;display:block;}
.breadcrumb{font-size:.82rem;color:var(--gray);margin-bottom:1.2em;}
.breadcrumb a{color:var(--gray);}
.post-meta{font-size:.82rem;color:var(--gray);margin:0 0 1.4em;}
.post-hero h1{max-width:26ch;font-size:clamp(1.8rem,4vw,2.8rem);}
.related{background:var(--bg);padding:48px 0;}

.site-footer{background:var(--blue-deep);color:#9fb0c9;font-size:.9rem;padding:40px 0 0;border-top:4px solid var(--red);}
.site-footer .footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr;gap:32px;padding-bottom:28px;font-size:.9rem;}
.site-footer a{color:#c6d1e6;text-decoration:none;}
.site-footer a:hover{color:#fff;text-decoration:underline;}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr;gap:32px;padding-bottom:28px;}
.f-brand{font-family:'Anton',sans-serif;color:#fff;font-size:1.2rem;letter-spacing:.02em;text-transform:uppercase;display:block;margin-bottom:8px;}
.f-title{font-family:'Anton',sans-serif;color:#fff;text-transform:uppercase;font-size:.95rem;margin:0 0 10px;letter-spacing:.03em;}
.site-footer p{margin:0 0 8px;}
.site-footer ul{list-style:none;padding:0;margin:0;}
.site-footer li{margin-bottom:6px;}
.f-links{columns:2;column-gap:20px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:16px 24px;font-size:.8rem;text-align:center;}
@media (max-width:700px){
  .site-footer .footer-grid{grid-template-columns:1fr;gap:22px;}
  .footer-bottom{padding-bottom:76px;}
}
@media (max-width:600px){
  .lang-pill a{padding:5px 10px;font-size:.72rem;}
  .post{padding:24px 0 40px;}
  .callout{padding:16px 18px;}
}
