/* COPAMEDE · sitio institucional */
:root{--ind:#241572;--ind2:#3a2a9e;--ind3:#120a3d;--gold:#d4a02c;--gold2:#f0c75e;--ink:#0f172a;--mut:#5b6478;--line:#e5e3f0;--soft:#f6f5fb}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.narrow{max-width:860px}

/* preloader — mismo patrón SPMD */
#preloader{position:fixed;inset:0;background:rgba(10,6,40,.9);display:none;flex-direction:column;justify-content:center;align-items:center;z-index:9999;cursor:pointer}
#preloader .logo-container{display:flex;flex-direction:column;align-items:center;text-align:center}
#preloader img{max-width:150px;height:auto;animation:pulse 2s infinite ease-in-out;margin-bottom:22px;filter:drop-shadow(0 0 18px rgba(240,199,94,.45))}
#preloader .welcome{color:#fff;font-size:24px;font-weight:600;height:36px;overflow:hidden;display:flex;justify-content:center}
#preloader #rotating-text{display:inline-block;animation:slide-up 2s ease-in-out infinite}
@keyframes slide-up{0%{transform:translateY(100%);opacity:0}50%{transform:translateY(0);opacity:1}100%{transform:translateY(-100%);opacity:0}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@media(max-width:768px){#preloader img{max-width:100px}#preloader .welcome{font-size:18px}}

.preview{background:var(--gold);color:var(--ind3);font-size:12.5px;font-weight:700;text-align:center;padding:6px 12px}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;gap:20px;height:70px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:46px;width:auto}
.brand span{display:flex;flex-direction:column;line-height:1.1}
.brand b{font-size:1.05rem;font-weight:900;letter-spacing:.08em;color:var(--ind)}
.brand small{font-size:.64rem;color:var(--mut);text-transform:uppercase;letter-spacing:.07em;font-weight:600}
.links{margin-left:auto;display:flex;gap:4px;align-items:center}
.links a{padding:8px 12px;font-size:.88rem;font-weight:600;color:#334155;border-radius:10px;transition:.15s}
.links a:hover{background:var(--soft);color:var(--ind)}
.links .btn-sm{background:var(--ind);color:#fff;padding:9px 18px;border-radius:999px;margin-left:6px}
.links .btn-sm:hover{background:var(--ind2);color:#fff}
.burger{display:none;margin-left:auto;background:none;border:0;font-size:1.5rem;cursor:pointer;padding:6px}
@media(max-width:960px){
  .burger{display:block}
  .links{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:10px 16px 16px;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(18,10,61,.08)}
  body.menu .links{display:flex}
  .links a{padding:12px}.links .btn-sm{margin:6px 0 0;text-align:center}
  .brand small{display:none}
}

/* hero — patrón medsportpanama: tarjeta redondeada, overlay, eyebrow, logo a la derecha */
.hero-wrap{padding:24px;max-width:1280px;margin:0 auto}
.hero{position:relative;border-radius:36px;overflow:hidden;min-height:500px;display:flex;align-items:center;background:var(--ind3)}
.hero-bg{position:absolute;inset:0;z-index:1;
  background:
   radial-gradient(900px 500px at 85% 40%,rgba(212,160,44,.35),transparent 60%),
   radial-gradient(700px 600px at 10% 110%,rgba(58,42,158,.9),transparent 60%),
   linear-gradient(135deg,#120a3d 0%,#241572 55%,#2d1c8f 100%)}
.hero-bg::after{content:"";position:absolute;inset:0;opacity:.18;
  background-image:radial-gradient(rgba(255,255,255,.7) 1px,transparent 1.4px);background-size:22px 22px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 55%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 55%,#000 100%)}
.hero-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(10,6,40,.55) 0%,rgba(10,6,40,.15) 60%,transparent 100%)}
.hero-inner{position:relative;z-index:3;display:grid;grid-template-columns:60% 1fr;gap:40px;align-items:center;width:100%;padding:64px 56px}
.eyebrow{display:inline-block;background:var(--gold);color:var(--ind3);font-size:12px;font-weight:800;letter-spacing:.08em;padding:8px 20px;border-radius:6px;margin-bottom:24px}
.hero-copy h1{color:#fff;font-size:clamp(2rem,4.4vw,3.4rem);font-weight:800;line-height:1.12;letter-spacing:-.02em;margin-bottom:18px}
.hero-copy h1 em{font-style:normal;color:var(--gold2)}
.hero-copy p{color:rgba(255,255,255,.9);font-size:16px;max-width:560px;margin-bottom:30px}
.hero-logo{display:flex;align-items:center;justify-content:center}
.hero-logo img{max-width:300px;width:100%;filter:drop-shadow(0 20px 50px rgba(0,0,0,.45));animation:float 6s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.row{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;padding:13px 26px;border-radius:999px;font-weight:700;font-size:15px;transition:.15s}
.btn.gold{background:var(--gold);color:var(--ind3)}.btn.gold:hover{background:var(--gold2)}
.btn.ghost{border:1.5px solid rgba(255,255,255,.55);color:#fff}.btn.ghost:hover{background:rgba(255,255,255,.1)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
.stats>div{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:18px 22px}
.stats b{display:block;font-size:1.5rem;font-weight:900;color:var(--ind);line-height:1.15}
.stats span{font-size:.86rem;color:var(--mut);font-weight:600}
@media(max-width:900px){.hero-wrap{padding:12px}.hero{border-radius:24px;min-height:auto}.hero-inner{grid-template-columns:1fr;gap:24px;padding:40px 24px;text-align:center}.hero-copy{order:2}.hero-logo{order:1}.hero-logo img{max-width:190px}.hero-copy p{margin-left:auto;margin-right:auto}.row{justify-content:center}.stats{grid-template-columns:1fr}}

/* carrusel de logos */
.marquee-sec{padding:26px 0 10px}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.track{display:flex;gap:18px;width:max-content;animation:scroll 60s linear infinite}
.marquee:hover .track{animation-play-state:paused}
@keyframes scroll{to{transform:translateX(-50%)}}
.chip{display:flex;align-items:center;gap:12px;height:84px;padding:0 22px;border:1px solid var(--line);border-radius:16px;background:#fff;white-space:nowrap;transition:.15s}
.chip:hover{border-color:var(--gold);box-shadow:0 10px 24px rgba(36,21,114,.1)}
.chip img{height:56px;width:auto;max-width:120px;object-fit:contain}
.chip .flag{font-size:30px;line-height:1}
.chip b{font-size:.9rem;color:var(--ind)}.chip small{display:block;font-size:.72rem;color:var(--mut);font-weight:600}
@media(prefers-reduced-motion:reduce){.track{animation:none;flex-wrap:wrap;width:auto;justify-content:center;row-gap:14px}.chip.dup{display:none}}

/* secciones */
.sec{padding:76px 0}
.sec.alt{background:var(--soft)}
.eyebrow-s{font-size:12.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
h2{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:900;letter-spacing:-.02em;color:var(--ind3);margin:6px 0 26px}
.h3sec{font-size:1.1rem;font-weight:800;color:var(--ind);margin:44px 0 16px}
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:960px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.g2,.g3,.g4{grid-template-columns:1fr}.g4.small{grid-template-columns:1fr 1fr}}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 26px}
.card h3{font-size:1.08rem;font-weight:800;color:var(--ind3);margin-bottom:6px}
.card p,.card li{color:#475569;font-size:.95rem}
.card ul{padding-left:18px;margin:6px 0}
.card .ic{font-size:1.8rem;margin-bottom:10px}
.tag{display:inline-block;background:#fdf3d8;color:#8a6100;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:3px 10px;border-radius:999px;margin-left:4px;vertical-align:middle}
.price{font-size:2.2rem;font-weight:900;color:var(--ind);margin:6px 0}.price small{font-size:1rem;color:var(--mut);font-weight:600}
.muted{color:var(--mut);font-size:.88rem}
.note-box{border:1px dashed #cfc9e8;border-radius:16px;padding:22px 24px;color:var(--mut);background:#fff}

/* personas */
.person{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 20px;text-align:center;transition:.2s}
.person:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(36,21,114,.1)}
.avatar{width:112px;height:112px;border-radius:50%;margin:0 auto 14px;background:linear-gradient(135deg,var(--ind),var(--ind2));color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:800;overflow:hidden;box-shadow:0 0 0 4px #fff,0 0 0 6px var(--gold)}
.avatar img{width:100%;height:100%;object-fit:cover}
.person .role{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.person h4{font-size:1rem;font-weight:800;color:var(--ind3);margin:4px 0 2px;line-height:1.3}
.person .ct{font-size:.85rem;color:var(--mut);font-weight:600}
.small .person{padding:16px 12px;border-radius:16px}
.small .avatar{width:56px;height:56px;font-size:1rem;box-shadow:0 0 0 3px #fff,0 0 0 4px var(--line)}
.small .person h4{font-size:.88rem}

/* sociedades */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.filters button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 16px;font:600 .85rem Inter,sans-serif;color:#334155;cursor:pointer}
.filters button.on{background:var(--ind);color:#fff;border-color:var(--ind)}
.soc{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;transition:.15s}
a.soc:hover{border-color:var(--gold);box-shadow:0 10px 24px rgba(36,21,114,.08)}
.soc .lg{width:52px;height:52px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:30px}
.soc .lg img{max-width:52px;max-height:52px;object-fit:contain}
.soc b{display:block;font-size:.92rem;color:var(--ind3);line-height:1.3}
.soc small{font-size:.8rem;color:var(--mut);font-weight:600}
.soc .go{margin-left:auto;color:var(--gold);font-weight:800}

.foot{background:var(--ind3);color:rgba(255,255,255,.8);padding:40px 0}
.foot-in{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.foot .brand b{color:#fff}.foot .brand small{color:rgba(255,255,255,.6)}
.foot .muted{color:rgba(255,255,255,.7)}.foot a{color:var(--gold2)}
img.fl{display:inline-block;width:20px;height:14px;object-fit:cover;border-radius:2px;vertical-align:-2px;margin-right:4px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
img.flbig{width:44px!important;height:30px!important;max-width:none!important;object-fit:cover;border-radius:4px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.hero-logo{flex-direction:column;gap:14px}
.hero-logo .cap{color:var(--gold2);font-weight:900;letter-spacing:.32em;font-size:1.4rem;padding-left:.32em}
.hero-logo img{max-width:280px}
.avatar img{object-position:50% 18%}
.soc small.pres{display:block;color:var(--ind);font-weight:700;margin-top:2px}
.sub{color:var(--mut);margin:-14px 0 24px;max-width:760px}
/* llamada galería */
.callout{display:flex;align-items:center;gap:22px;margin-top:18px;padding:14px;border-radius:22px;background:linear-gradient(135deg,var(--ind3),var(--ind2));color:#fff;transition:.2s;overflow:hidden}
.callout:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(36,21,114,.25)}
.co-imgs{display:flex;flex-shrink:0}
.co-imgs img{width:110px;height:82px;object-fit:cover;border-radius:12px;border:3px solid var(--ind3);margin-left:-28px;box-shadow:0 6px 16px rgba(0,0,0,.3)}
.co-imgs img:first-child{margin-left:0}
.co-txt{display:flex;flex-direction:column;gap:2px}
.co-txt b{font-size:1.25rem;font-weight:900}
.co-txt span{color:rgba(255,255,255,.85);font-size:.92rem}
.co-tag{align-self:flex-start;background:var(--gold);color:var(--ind3)!important;font-size:.7rem!important;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border-radius:999px;margin-bottom:4px}
@media(max-width:700px){.callout{flex-direction:column;align-items:flex-start}.co-imgs img{width:84px;height:64px}}
/* galería */
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.gi{position:relative;border:0;padding:0;border-radius:14px;overflow:hidden;cursor:zoom-in;background:#ddd;aspect-ratio:4/3}
.gi img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.gi:hover img{transform:scale(1.05)}
.gi .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2.2rem;color:#fff;background:rgba(18,10,61,.35);text-shadow:0 2px 10px rgba(0,0,0,.5)}
.lb{position:fixed;inset:0;background:rgba(8,5,30,.94);z-index:9998;display:none;align-items:center;justify-content:center;flex-direction:column;padding:50px 60px 70px}
.lb.on{display:flex}
.lb-m{max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center}
.lb-m img,.lb-m video{max-width:92vw;max-height:78vh;border-radius:10px}
.lb-c{color:#fff;margin-top:14px;text-align:center;font-size:.95rem;max-width:760px}
.lb button{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;font-size:2rem;width:48px;height:48px;border-radius:50%;cursor:pointer}
.lb-x{top:14px;right:14px}.lb-p{left:12px;top:50%}.lb-n{right:12px;top:50%}
.preview{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}
.langs{display:inline-flex;gap:2px;background:rgba(18,10,61,.12);border-radius:999px;padding:2px}
.langs a{padding:2px 10px;border-radius:999px;font-weight:800;font-size:11.5px;cursor:pointer;color:var(--ind3)}
.langs a.on{background:var(--ind3);color:#fff}
.hist p{color:#334155;font-size:1.02rem;margin:14px 0;line-height:1.75}
.hist .tag{margin:0}
ol.tl{list-style:none;padding:0;margin:0;border-left:3px solid var(--gold);padding-left:22px}
ol.tl li{position:relative;margin:0 0 14px;display:flex;gap:14px;align-items:baseline}
ol.tl li::before{content:"";position:absolute;left:-30px;top:6px;width:13px;height:13px;border-radius:50%;background:var(--ind);box-shadow:0 0 0 3px #fff}
ol.tl b{color:var(--ind);font-weight:900;min-width:88px}
ol.tl span{color:#334155}
details.src{margin-top:18px;font-size:.88rem;color:var(--mut)}
details.src summary{cursor:pointer;font-weight:700}
details.src a{color:var(--ind);text-decoration:underline}
.ed{margin:42px 0 4px;padding-top:26px;border-top:2px solid var(--line)}
.ed:first-child{margin-top:0;padding-top:0;border-top:0}
.ed-t{font-size:1.45rem;font-weight:900;color:var(--ind3);margin:0}
.ed-s{color:var(--gold);font-weight:700;margin:2px 0 0}
.h4sec{font-size:1rem;font-weight:800;color:var(--ind);margin:22px 0 12px}
.fims-box{display:grid;grid-template-columns:1fr 1.35fr;gap:28px;align-items:center;margin-top:34px;background:var(--soft);border:1px solid var(--line);border-radius:22px;padding:26px}
.fims-txt h3{font-size:1.3rem;font-weight:900;color:var(--ind3);margin-bottom:8px}
.fims-txt p{color:#475569}
.fims-nums{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.fims-nums span{background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 12px;font-size:.8rem;font-weight:700;color:var(--mut);display:flex;flex-direction:column;align-items:center;min-width:70px}
.fims-nums b{font-size:1.3rem;color:var(--ind);font-weight:900}
.fims-nums .us{background:var(--ind);border-color:var(--ind);color:#fff}.fims-nums .us b{color:var(--gold2)}
.fims-nums i{font-style:normal}
.fims-map img{width:100%;border-radius:14px;box-shadow:0 12px 30px rgba(18,10,61,.12)}
@media(max-width:860px){.fims-box{grid-template-columns:1fr}}
.sie-ban{display:flex;align-items:center;gap:22px;margin-top:26px;padding:20px 24px;border-radius:20px;background:linear-gradient(135deg,#0d6a52,#0f766e 45%,#1e3a8a);color:#fff;transition:.2s}
.sie-ban:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(13,106,82,.28)}
.sie-ban img{width:84px;height:84px;object-fit:contain;background:#fff;border-radius:16px;padding:8px;flex-shrink:0}
.sie-txt{display:flex;flex-direction:column;gap:3px}
.sie-txt b{font-size:1.1rem;font-weight:900;line-height:1.3}
.sie-txt span{color:rgba(255,255,255,.88);font-size:.9rem}
.sie-tag{align-self:flex-start;background:rgba(255,255,255,.18);color:#fff!important;font-size:.7rem!important;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border-radius:999px}
.sie-go{margin-left:auto;white-space:nowrap;background:#fff;color:#0d6a52;font-weight:800;padding:10px 18px;border-radius:999px;font-size:.9rem}
@media(max-width:760px){.sie-ban{flex-direction:column;align-items:flex-start}.sie-go{margin-left:0}}
.soc small.pend{display:block;color:#9aa1b1;font-style:italic;font-weight:600}
.soc.fog{background:#f3f3f7;border-style:dashed;opacity:.62;filter:grayscale(.85)}
.soc.fog:hover{opacity:.9;filter:none}

.doclist{display:grid;gap:14px;margin-bottom:18px}
.doc{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:16px;padding:20px 22px;transition:.15s}
.doc:hover{box-shadow:0 12px 28px rgba(36,21,114,.1)}
.doc-ic{font-size:2rem;line-height:1}
.doc-tag{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
.doc h3{font-size:1.12rem;font-weight:800;color:var(--ind3);margin:3px 0 6px}
.doc p{color:#475569;font-size:.93rem;margin:0 0 8px}
.doc-langs{font-size:.82rem;font-weight:700;color:var(--ind)}

.foot .coop{margin-top:18px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12);font-size:.78rem;color:rgba(255,255,255,.55)}
.foot .coop a{color:rgba(255,255,255,.7)}

/* OBS-LATAM */
.ob-head{display:flex;align-items:center;gap:18px;margin-bottom:6px}.ob-head img{height:64px;background:#fff;border-radius:14px;padding:6px 10px;border:1px solid var(--line)}
.ob-msgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:14px;margin:22px 0}
.ob-msg{display:flex;gap:12px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:14px;padding:14px 16px}
.ob-msg p{margin:0;color:#334155;font-size:.94rem;line-height:1.5}.ob-msg b{color:var(--ind3)}
.ob-n{flex:0 0 28px;height:28px;border-radius:50%;background:var(--ind3);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:.85rem}
.ob-ctrl{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:10px 0}
.ob-tabs{display:flex;flex-wrap:wrap;gap:8px}.ob-tabs button{font:inherit;font-size:.86rem;font-weight:700;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ind3);cursor:pointer}
.ob-tabs button.on{background:var(--ind3);color:#fff;border-color:var(--ind3)}
.ob-reg{font:inherit;padding:8px 12px;border-radius:10px;border:1px solid var(--line)}
.ob-table{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:14px}
.ob-table table{width:100%;border-collapse:collapse;font-size:.88rem}.ob-table th{background:var(--ind3);color:#fff;text-align:left;padding:9px 10px;font-weight:700;white-space:nowrap}
.ob-table td{padding:8px 10px;border-top:1px solid var(--line);white-space:nowrap}.ob-table td small{color:#94a3b8}
.ob-note,.ob-src{font-size:.82rem;color:#64748b;margin:10px 0 0}.ob-more{margin-top:16px}
.ob-head img{height:120px;padding:10px 16px}
@media(max-width:640px){.ob-head{flex-direction:column;align-items:flex-start}.ob-head img{height:88px}}
.ob-det{margin:6px 0 0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 14px}
.ob-det>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 2px;font-weight:800;color:var(--ind3)}
.ob-det>summary::-webkit-details-marker{display:none}
.ob-det>summary:hover{color:var(--gold)}
.ob-chev{transition:transform .2s;font-size:1.1rem}.ob-det[open] .ob-chev{transform:rotate(180deg)}
.ob-det[open]{padding-bottom:14px}
