/* ═══════════════════════════════════════════════════════════════════
   SexGym – Ciencia & Instituciones – Static CSS
   ═══════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@300;400;500;600;700;800&family=Poppins:wght@400;500;600;700&display=swap');

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Lexend',system-ui,sans-serif;background:#131418;color:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}
button{font-family:inherit;cursor:pointer;border:none;background:none}

/* ── Layout ── */
.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1rem}
@media(min-width:640px){.container{padding:0 1.5rem}}
@media(min-width:1024px){.container{padding:0 2rem}}

/* ── Gradients ── */
.gradient-text-brand{background:linear-gradient(135deg,#CC3366,#D632DF,#0CD2C5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.gradient-text-magenta{background:linear-gradient(135deg,#CC3366,#FF2D6F);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.gradient-text-cyan{background:linear-gradient(135deg,#0CD2C5,#2DB742);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.gradient-line{height:3px;background:linear-gradient(90deg,#CC3366,#1863DC,#0CD2C5);border-radius:2px}

/* ── Buttons ── */
.btn-sexgym{background:linear-gradient(135deg,#CC3366,#FF2D6F);color:#fff;border-radius:50px;font-family:'Poppins',sans-serif;font-weight:600;padding:14px 40px;font-size:1.05rem;display:inline-flex;align-items:center;gap:8px;transition:all .3s ease}
.btn-sexgym:hover{background:linear-gradient(135deg,#FF2D6F,#D632DF);transform:translateY(-2px);box-shadow:0 8px 25px rgba(204,51,102,.4)}

/* ── Card glow ── */
.card-glow:hover{box-shadow:0 0 30px rgba(204,51,102,.15),0 0 60px rgba(12,210,197,.08)}

/* ── Marquee ── */
.marquee-track{display:flex;width:max-content;animation:marquee-scroll 40s linear infinite}
.marquee-content{display:flex;flex-shrink:0}
@keyframes marquee-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media(max-width:640px){.marquee-track{animation-duration:25s}}

/* ── Animations ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulseGlow{0%,100%{box-shadow:0 0 20px rgba(204,51,102,.2)}50%{box-shadow:0 0 40px rgba(204,51,102,.4)}}
.fade-up{animation:fadeUp .8s ease-out forwards}

/* ═══ HEADER ═══ */
.sg-header{position:fixed;top:0;left:0;right:0;z-index:50;background:#131418;border-bottom:1px solid rgba(255,255,255,.05)}
.sg-header-inner{max-width:1280px;margin:0 auto;padding:0 1rem;height:64px;display:flex;align-items:center;justify-content:space-between}
@media(min-width:640px){.sg-header-inner{padding:0 1.5rem}}
.sg-header-logo img{height:32px}
@media(min-width:640px){.sg-header-logo img{height:40px}}
.sg-header-nav{display:none;align-items:center;gap:24px}
@media(min-width:768px){.sg-header-nav{display:flex}}
.sg-header-nav a{color:#fff;font-weight:500;font-size:.875rem;transition:opacity .2s}
.sg-header-nav a:hover{opacity:.8}
.sg-header-right{display:flex;align-items:center;gap:12px}
.sg-btn-account{background:#CC3366;color:#fff;font-weight:600;font-size:.875rem;padding:8px 20px;border-radius:50px;transition:background .2s}
.sg-btn-account:hover{background:#B82D5A}
.sg-mobile-toggle{display:block;color:#fff;padding:4px}
@media(min-width:768px){.sg-mobile-toggle{display:none}}
.sg-mobile-menu{display:none;background:#1A1B21;border-top:1px solid rgba(255,255,255,.05);padding:16px}
.sg-mobile-menu.open{display:block}
@media(min-width:768px){.sg-mobile-menu{display:none!important}}
.sg-mobile-menu a{display:block;color:#fff;font-weight:500;font-size:.875rem;padding:8px 0}

/* Language selector */
.sg-lang-selector{position:relative}
.sg-lang-btn{display:flex;align-items:center;gap:6px;color:#fff;font-size:.875rem;font-weight:500;padding:6px 12px;border-radius:8px;transition:background .2s}
.sg-lang-btn:hover{background:rgba(255,255,255,.05)}
.sg-lang-btn .flag{width:20px;height:14px;border-radius:2px;object-fit:cover}
.sg-lang-dropdown{display:none;position:absolute;top:100%;right:0;margin-top:8px;background:#1E1F25;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:8px 0;min-width:180px;box-shadow:0 10px 40px rgba(0,0,0,.5);z-index:100}
.sg-lang-dropdown.open{display:block}
.sg-lang-dropdown a{display:flex;align-items:center;gap:10px;padding:8px 16px;font-size:.875rem;color:#A5ABB7;transition:all .2s}
.sg-lang-dropdown a:hover{background:rgba(255,255,255,.05);color:#fff}
.sg-lang-dropdown a .flag{width:20px;height:14px;border-radius:2px;object-fit:cover}
.sg-lang-dropdown a.active{color:#0CD2C5}

/* ═══ HERO ═══ */
.hero{position:relative;padding:112px 0 80px;overflow:hidden}
@media(min-width:640px){.hero{padding:144px 0 112px}}
.hero-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-bg .blob1{position:absolute;top:80px;left:25%;width:384px;height:384px;background:rgba(204,51,102,.08);border-radius:50%;filter:blur(120px)}
.hero-bg .blob2{position:absolute;bottom:40px;right:25%;width:320px;height:320px;background:rgba(12,210,197,.06);border-radius:50%;filter:blur(100px)}
.hero-bg .blob3{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:rgba(214,50,223,.04);border-radius:50%;filter:blur(150px)}
.hero-content{position:relative;max-width:960px;margin:0 auto;padding:0 1rem;text-align:center}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:50px;background:rgba(204,51,102,.1);border:1px solid rgba(204,51,102,.2);margin-bottom:32px;font-size:.875rem;color:#FF2D6F;font-weight:500}
.hero h1{font-size:2.25rem;font-weight:700;line-height:1.15;margin-bottom:24px}
@media(min-width:640px){.hero h1{font-size:3rem}}
@media(min-width:1024px){.hero h1{font-size:4.25rem}}
.hero-subtitle{font-size:1.125rem;color:#A5ABB7;max-width:768px;margin:0 auto 16px;line-height:1.7}
@media(min-width:640px){.hero-subtitle{font-size:1.25rem}}
.hero-science{font-size:1.125rem;color:#A5ABB7;max-width:768px;margin:0 auto 24px;line-height:1.7}
@media(min-width:640px){.hero-science{font-size:1.25rem}}
.stats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:768px;margin:0 auto}
@media(min-width:640px){.stats-row{grid-template-columns:repeat(4,1fr)}}
.stat-item{text-align:center}
.stat-value{font-size:1.875rem;font-weight:700}
@media(min-width:640px){.stat-value{font-size:2.25rem}}
.stat-label{font-size:.75rem;color:#A5ABB7;margin-top:4px}
@media(min-width:640px){.stat-label{font-size:.875rem}}

/* ═══ MARQUEE ═══ */
.marquee-section{padding:40px 0;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);background:#131418;overflow:hidden}
.marquee-label{text-align:center;font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:#A5ABB7;margin-bottom:32px;padding:0 16px}
.marquee-wrap{position:relative;width:100%;overflow:hidden}
.marquee-fade-l,.marquee-fade-r{position:absolute;top:0;bottom:0;width:48px;z-index:10}
@media(min-width:640px){.marquee-fade-l,.marquee-fade-r{width:80px}}
.marquee-fade-l{left:0;background:linear-gradient(to right,#131418,transparent)}
.marquee-fade-r{right:0;background:linear-gradient(to left,#131418,transparent)}
.marquee-item{display:flex;align-items:center;gap:8px;margin:0 16px;flex-shrink:0}
@media(min-width:640px){.marquee-item{gap:12px;margin:0 32px}}
.marquee-item .logo-box{width:40px;height:40px;background:#fff;border-radius:8px;padding:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
@media(min-width:640px){.marquee-item .logo-box{width:48px;height:48px;padding:8px}}
.marquee-item .logo-box img{width:100%;height:100%;object-fit:contain}
.marquee-item span{font-size:.75rem;color:#A5ABB7;font-weight:500;white-space:nowrap}
@media(min-width:640px){.marquee-item span{font-size:.875rem}}

/* ═══ THREE BLOCKS ═══ */
.three-blocks{padding:48px 0;background:#0E0F13}
.blocks-grid{display:grid;grid-template-columns:1fr;gap:24px;max-width:960px;margin:0 auto;padding:0 1rem}
@media(min-width:640px){.blocks-grid{grid-template-columns:repeat(3,1fr);padding:0 1.5rem}}
.block-card{background:#1E1F25;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:24px;text-align:center;transition:border-color .3s}
.block-card:hover{border-color:rgba(12,210,197,.3)}
.block-icon{width:48px;height:48px;border-radius:50%;background:rgba(12,210,197,.1);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.block-card h3{font-weight:600;margin-bottom:8px}
.block-card p{font-size:.875rem;color:#A5ABB7}

/* ═══ INSTITUTION TIERS ═══ */
.tiers-section{padding:80px 0}
@media(min-width:640px){.tiers-section{padding:112px 0}}
.tier-header{display:flex;align-items:center;gap:16px;margin-bottom:32px}
.tier-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}
.tier-level{font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.tier-title{font-size:1.25rem;font-weight:700}
@media(min-width:640px){.tier-title{font-size:1.5rem}}
.tier-subtitle{font-size:.875rem;color:#A5ABB7}
.tier-grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:768px){.tier-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.tier-grid{grid-template-columns:repeat(3,1fr)}}
.inst-card{background:#1E1F25;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:20px;transition:all .5s}
.inst-card:hover{border-color:rgba(204,51,102,.3);box-shadow:0 0 30px rgba(204,51,102,.15),0 0 60px rgba(12,210,197,.08)}
.inst-top{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}
.inst-logo{width:64px;height:64px;border-radius:12px;background:#fff;padding:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.15)}
@media(min-width:640px){.inst-logo{width:80px;height:80px}}
.inst-logo img{width:100%;height:100%;object-fit:contain}
.inst-name{font-weight:600;font-size:.875rem;line-height:1.3}
@media(min-width:640px){.inst-name{font-size:1rem}}
.inst-meta{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}
.inst-meta span{font-size:.75rem;color:#A5ABB7}
.inst-meta .dot{color:#CC3366}
.inst-endorsement{font-size:.875rem;color:#A5ABB7;line-height:1.6;margin-bottom:12px}
.inst-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.inst-tag{font-size:.6875rem;padding:4px 10px;border-radius:50px;background:rgba(204,51,102,.1);color:#FF2D6F;font-weight:500}
.inst-details{font-size:.8125rem;color:#A5ABB7;line-height:1.6;padding-top:12px;border-top:1px solid rgba(255,255,255,.05);display:none}
.inst-details.open{display:block}
.inst-toggle{font-size:.8125rem;color:#0CD2C5;font-weight:500;display:flex;align-items:center;gap:4px;transition:color .2s}
.inst-toggle:hover{color:#2DB742}
.inst-source{font-size:.75rem;color:#A5ABB7;display:flex;align-items:center;gap:4px;margin-top:8px}
.inst-source a{color:#0CD2C5;text-decoration:underline}
.inst-source a:hover{color:#2DB742}

/* ═══ TESTIMONIALS ═══ */
.testimonials-section{padding:80px 0;background:#0E0F13}
@media(min-width:640px){.testimonials-section{padding:112px 0}}
.filter-tabs{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:48px}
.filter-tab{padding:8px 16px;border-radius:50px;font-size:.875rem;font-weight:500;transition:all .3s;background:rgba(255,255,255,.05);color:#A5ABB7}
.filter-tab:hover{background:rgba(255,255,255,.1);color:#fff}
.filter-tab.active{background:#CC3366;color:#fff}
.testimonials-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:768px){.testimonials-grid{grid-template-columns:repeat(2,1fr)}}
.test-card{background:#1E1F25;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:24px;transition:all .5s}
.test-card:hover{border-color:rgba(204,51,102,.3)}
.test-top{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}
.test-photo{width:56px;height:56px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid rgba(204,51,102,.3);outline:2px solid #1E1F25}
.test-photo img{width:100%;height:100%;object-fit:cover}
.test-name{font-weight:600}
.test-age{font-size:.75rem;color:#A5ABB7}
.test-location{font-size:.875rem;color:#A5ABB7}
.test-stars{display:flex;gap:2px;margin-top:4px}
.test-star{color:#FBBF24;font-size:.875rem}
.test-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.test-badge{font-size:.75rem;font-weight:500;padding:4px 10px;border-radius:50px}
.test-badge.problem{background:rgba(204,51,102,.15);color:#FF2D6F}
.test-badge.duration{background:rgba(255,255,255,.05);color:#A5ABB7}
.test-quote{color:#A5ABB7;font-size:.875rem;line-height:1.6;margin-bottom:16px;font-style:italic}
.test-result{border-top:1px solid rgba(255,255,255,.05);padding-top:16px;display:flex;align-items:center;gap:12px}
.test-result-icon{width:32px;height:32px;border-radius:50%;background:rgba(12,210,197,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#0CD2C5}
.test-highlight{font-size:.875rem;font-weight:600;color:#0CD2C5}
.test-result-text{font-size:.75rem;color:#A5ABB7}
.load-more{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:32px;color:#CC3366;font-size:.875rem;font-weight:500;transition:color .2s}
.load-more:hover{color:#FF2D6F}
.trust-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:64px}
@media(min-width:640px){.trust-stats{grid-template-columns:repeat(4,1fr)}}
.trust-stat{background:#1E1F25;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:20px;text-align:center}
.trust-stat .value{font-size:1.5rem;font-weight:700}
.trust-stat .label{font-size:.75rem;color:#A5ABB7;margin-top:4px}

/* ═══ FAQ ═══ */
.faq-section{padding:80px 0;background:#131418}
@media(min-width:640px){.faq-section{padding:112px 0}}
.faq-item{border:1px solid rgba(255,255,255,.05);border-radius:12px;overflow:hidden;transition:border-color .3s;margin-bottom:12px}
.faq-item:hover{border-color:rgba(12,210,197,.3)}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;text-align:left;background:#1E1F25;transition:background .2s;font-weight:600;color:#fff;font-size:.875rem}
@media(min-width:640px){.faq-question{font-size:1rem;padding:24px}}
.faq-question:hover{background:#252630}
.faq-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s;background:rgba(255,255,255,.05);color:#A5ABB7;font-size:1.25rem}
.faq-item.open .faq-icon{background:rgba(12,210,197,.2);color:#0CD2C5}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease,opacity .4s ease;opacity:0}
.faq-item.open .faq-answer{max-height:400px;opacity:1}
.faq-answer-inner{padding:0 24px 24px;background:#1A1B21;font-size:.875rem;color:#A5ABB7;line-height:1.6}

/* ═══ CTA ═══ */
.cta-section{padding:80px 0;position:relative;overflow:hidden}
@media(min-width:640px){.cta-section{padding:112px 0}}
.cta-blob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:500px;height:500px;background:rgba(204,51,102,.1);border-radius:50%;filter:blur(120px);pointer-events:none}
.cta-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#CC3366,#D632DF);display:flex;align-items:center;justify-content:center;margin:0 auto 32px;animation:pulseGlow 3s ease-in-out infinite}
.cta-section h2{font-size:1.875rem;font-weight:700;margin-bottom:24px}
@media(min-width:640px){.cta-section h2{font-size:2.25rem}}
@media(min-width:1024px){.cta-section h2{font-size:3rem}}
.cta-section p{color:#A5ABB7;font-size:1.125rem;margin-bottom:40px;max-width:576px;margin-left:auto;margin-right:auto}

/* ═══ FOOTER ═══ */
.sg-footer{background:#0E0F13;border-top:1px solid rgba(255,255,255,.05)}
.sg-footer-inner{max-width:1280px;margin:0 auto;padding:48px 1rem}
@media(min-width:640px){.sg-footer-inner{padding:64px 1.5rem}}
.sg-footer-grid{display:grid;grid-template-columns:1fr;gap:40px}
@media(min-width:640px){.sg-footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.sg-footer-grid{grid-template-columns:repeat(4,1fr)}}
.sg-footer h4{font-weight:600;font-size:.875rem;margin-bottom:16px}
.sg-footer p,.sg-footer a{font-size:.875rem;color:#A5ABB7;line-height:1.6}
.sg-footer a:hover{color:#fff}
.sg-footer ul{list-style:none;padding:0}
.sg-footer li{margin-bottom:8px}
.sg-footer .social-links{display:flex;gap:12px}
.sg-footer .social-link{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;transition:background .2s}
.sg-footer .social-link:hover{background:rgba(255,255,255,.1)}
.sg-footer .social-link svg{width:16px;height:16px;fill:#A5ABB7}
.sg-footer .disclaimer{margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.05);text-align:center}
.sg-footer .disclaimer p{font-size:.75rem;max-width:768px;margin:0 auto 16px}
.sg-footer .bottom-bar{margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;align-items:center;gap:8px}
@media(min-width:640px){.sg-footer .bottom-bar{flex-direction:row;justify-content:space-between}}
.sg-footer .bottom-bar p{font-size:.75rem;color:#A5ABB7}

/* ── SVG Icons (inline) ── */
.icon-sm{width:16px;height:16px}
.icon-md{width:20px;height:20px}
.icon-lg{width:24px;height:24px}
.icon-xl{width:32px;height:32px}

/* ── Section headings ── */
.section-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:50px;margin-bottom:24px;font-size:.875rem;font-weight:500}
.section-title{font-size:1.875rem;font-weight:700;margin-bottom:16px}
@media(min-width:640px){.section-title{font-size:2.25rem}}
@media(min-width:1024px){.section-title{font-size:3rem}}
.section-desc{font-size:1.125rem;color:#A5ABB7;max-width:640px;margin:0 auto}

/* ── Hidden utility ── */
.hidden{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ── Tier colors ── */
.tier-magenta{background:linear-gradient(135deg,#CC3366,#FF2D6F)}
.tier-cyan{background:linear-gradient(135deg,#0CD2C5,#2DB742)}
.tier-purple{background:linear-gradient(135deg,#D632DF,#9C27B0)}
.tier-blue{background:linear-gradient(135deg,#1863DC,#0CD2C5)}
.tier-text-magenta{background:linear-gradient(to right,#CC3366,#FF2D6F);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.tier-text-cyan{background:linear-gradient(to right,#0CD2C5,#2DB742);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.tier-text-purple{background:linear-gradient(to right,#D632DF,#9C27B0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.tier-text-blue{background:linear-gradient(to right,#1863DC,#0CD2C5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
