/* Fallback completo V11: la página mantiene el diseño aunque Hostinger no cargue styles.css */
:root{--navy:#0b2244;--green:#27b36a;--mint:#e9f7ef;--soft:#f4f7fa;--text:#13233b;--muted:#6f7d91;--line:#dfe6ee;--white:#fff;--shadow:0 18px 42px rgba(17,39,66,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--text);background:#fff;line-height:1.5}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.container{width:min(1180px,calc(100% - 48px));margin:auto}.narrow{width:min(1040px,calc(100% - 48px))}.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(220,229,238,.8)}.header-inner{height:82px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;min-width:310px}.brand-mark{font-size:2.4rem;line-height:.85;font-weight:900;letter-spacing:-.09em;color:var(--navy)}.brand-mark:after{content:"";display:inline-block;width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:18px solid var(--green);margin-left:-35px;transform:translateY(10px)}.brand-copy{font-size:.68rem;font-weight:800;line-height:1.05;color:var(--navy)}.nav{display:flex;gap:28px;margin-left:auto;align-items:center}.nav a{font-size:.9rem;color:#617188;position:relative}.nav a.active,.nav a:hover{color:var(--green)}.nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:2px;background:var(--green)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 25px;border-radius:999px;font-weight:800;font-size:.9rem;transition:.2s;border:1px solid transparent}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,#27b36a,#65ca91);color:#fff}.btn-outline{border-color:var(--navy);color:var(--navy);background:#fff}.header-cta{margin-left:6px}.menu-toggle{display:none;border:0;background:none;font-size:1.6rem;color:var(--navy)}
.hero{padding:42px 0 34px;background:radial-gradient(circle at 92% 25%,rgba(39,179,106,.09),transparent 28%),linear-gradient(90deg,#fff 0%,#fff 55%,#f8fbfd 100%)}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:68px;align-items:stretch;min-height:600px}.hero-copy{display:flex;flex-direction:column;justify-content:center}.eyebrow{display:inline-block;color:var(--green);font-size:.74rem;font-weight:900;letter-spacing:.16em;margin-bottom:18px}.eyebrow.light{color:#9be0bb}.hero h1{margin:0;color:var(--navy);font-size:clamp(3.8rem,6.2vw,6.45rem);line-height:.93;letter-spacing:-.065em;max-width:690px}.hero-copy>p{font-size:1.06rem;color:#64738a;max-width:700px;margin:28px 0 24px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-tags{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:30px;font-size:.67rem;font-weight:900;letter-spacing:.18em;color:var(--navy)}.hero-tags i{font-style:normal;color:#91a0b5}.hero-visual{position:relative;display:grid;place-items:center;min-height:100%}.hero-visual img{height:100%;max-height:610px;width:auto;max-width:70%;object-fit:contain;filter:drop-shadow(0 20px 30px rgba(12,35,67,.12))}.hero-note{position:absolute;right:0;top:15%;font-family:Georgia,serif;font-style:italic;font-size:1.25rem;line-height:1.25;color:#284972;transform:rotate(-4deg)}.hero-note span,.hero-badge span,.edition-note span{display:block;width:52px;height:3px;background:var(--green);margin-top:12px}.hero-badge{position:absolute;right:0;bottom:10%;padding:22px 18px;background:var(--mint);border-radius:999px;color:#178a51;font-size:.82rem;font-weight:900;line-height:1.18}.image-missing{min-height:520px;background:#eef3f6;border-radius:28px}.image-missing:after{content:"Falta img/01-hero-tpt.png.png";color:#718096;font-size:.85rem}
.section{padding:92px 0}.section-soft{background:var(--soft)}.section h2{color:var(--navy);font-size:clamp(2.6rem,5vw,4.9rem);line-height:.98;letter-spacing:-.05em;margin:0}.two-col-copy{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:28px 0;color:#64738a;font-size:1.08rem}.wide-media{margin:44px 0 0;border-radius:26px;overflow:hidden;box-shadow:var(--shadow)}.wide-media img{width:100%;aspect-ratio:16/9;object-fit:cover}.optional-media.is-missing{display:none}.section-head{display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:end;margin-bottom:38px}.section-head p{margin:0;color:#6d7c91;font-size:1.02rem}.areas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.areas-grid article{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;min-height:190px;box-shadow:0 10px 26px rgba(15,39,66,.035)}.areas-grid span,.card-index{color:var(--green);font-weight:900;font-size:.78rem}.areas-grid h3{margin:35px 0 10px;font-size:1.2rem;color:var(--navy)}.areas-grid p{margin:0;color:#6d7c91}
.experience-band{background:linear-gradient(135deg,#0b2244,#173b68);color:#fff}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.experience-band h2{color:#fff}.process{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.process span{border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:10px 16px;font-weight:800}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metrics div{padding:24px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1)}.metrics strong{display:block;font-size:2.4rem}.metrics span{font-size:.82rem;color:#c8d6e6}
.team-head{margin-bottom:20px}.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.team-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;text-align:center;box-shadow:var(--shadow);min-width:0}.card-index{position:absolute;top:22px;left:20px}.avatar{width:104px;height:104px;border-radius:50%;overflow:hidden;margin:0 auto 12px;background:#eef2f5}.avatar img{width:100%;height:100%;object-fit:cover}.team-card h3{font-size:1.28rem;color:var(--navy);margin:8px 0 0}.team-card strong{display:block;color:var(--green);font-size:.9rem;margin:2px 0 10px}.team-card p{margin:0;color:#718096;font-size:.9rem;line-height:1.45}.city-image{border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.city-image img{width:100%;aspect-ratio:16/9;object-fit:cover}.city-copy{text-align:center;max-width:820px;margin:42px auto 0}.city-copy p{font-size:1.08rem;color:#6d7c91}.ecosystem-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center}.ecosystem-grid p{color:#6d7c91;font-size:1.05rem}.ecosystem-grid figure{margin:0;border-radius:24px;overflow:hidden}.ecosystem-grid img{width:100%;aspect-ratio:16/9;object-fit:cover}
.edition-section{background:var(--soft)}.edition-card{background:#fff;border-radius:30px;padding:34px;display:grid;grid-template-columns:1.15fr .85fr;gap:38px;box-shadow:var(--shadow);border:1px solid #e7edf2}.edition-copy h2{font-size:clamp(2.25rem,4vw,4.2rem)}.location{color:var(--green);font-weight:900;margin:12px 0 24px}.edition-data{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);margin-bottom:28px}.edition-data>div{padding:18px 16px 12px 0;border-right:1px solid var(--line);margin-right:14px}.edition-data>div:last-child{border-right:0}.edition-data span{display:block;color:#7a889b;font-size:.67rem;font-weight:800;letter-spacing:.08em;margin-bottom:8px}.edition-data strong{font-size:.88rem;line-height:1.35;color:var(--navy)}.edition-visual{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:20px;align-items:center}.flyer-wrap{margin:0;display:flex;justify-content:center}.flyer-wrap img{max-height:460px;width:auto;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(15,39,66,.12))}.edition-note{font-family:Georgia,serif;font-style:italic;color:#36557a;font-size:1.15rem;transform:rotate(-4deg)}.impact-badge{position:absolute;right:0;bottom:0;background:var(--mint);border-radius:32px;padding:20px;color:#3d6581;font-size:.72rem;font-weight:900;line-height:1.4}.impact-badge:first-line{color:var(--green)}
.contact-wrap{padding-top:24px;background:var(--soft)}.contact-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow)}.contact-head{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:end;margin-bottom:18px}.contact-head h2{font-size:clamp(2rem,4vw,3.4rem)}.contact-head p{margin:0;color:#6d7c91}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.contact-item{display:grid;grid-template-columns:56px 1fr 34px;gap:14px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:15px;background:#fff;transition:.2s}.contact-item:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(15,39,66,.08)}.contact-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.6rem;font-weight:900}.whatsapp .contact-icon{background:#22b462}.email .contact-icon{background:#1c84d9}.form .contact-icon{background:#2bb572}.contact-item small{display:block;color:#7c8a9c;font-size:.62rem;letter-spacing:.08em;font-weight:800}.contact-item strong{display:block;color:var(--navy);font-size:.88rem;word-break:break-word}.contact-item em{display:block;color:var(--green);font-style:normal;font-size:.72rem;margin-top:2px}.contact-item b{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#f0f4f7;color:var(--navy)}
.footer{padding:28px 0;background:#fff}.footer-inner{display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center}.footer-brand{min-width:0}.footer-brand .brand-mark{font-size:1.9rem}.footer-inner nav{display:flex;gap:18px;font-size:.72rem;color:#748297}.footer-meta{text-align:right;color:#748297;font-size:.72rem}.footer-meta small{display:block}.wa-float{position:fixed;right:24px;bottom:24px;z-index:2000;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#20c96a;color:#fff;font-size:2rem;font-weight:900;box-shadow:0 14px 30px rgba(32,201,106,.3);border:3px solid #fff}
@media(max-width:1050px){.nav,.header-cta{display:none}.menu-toggle{display:block;margin-left:auto}.nav.open{display:flex;position:absolute;top:82px;left:0;right:0;background:#fff;flex-direction:column;padding:24px;border-bottom:1px solid var(--line)}.brand{min-width:0}.hero-grid,.experience-grid,.edition-card,.ecosystem-grid{grid-template-columns:1fr}.hero-visual{min-height:500px}.hero-visual img{max-width:55%;height:auto}.hero-note,.hero-badge{right:10%}.team-grid{grid-template-columns:repeat(2,1fr)}.edition-visual{max-width:600px;margin:auto}.contact-grid{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr;text-align:center}.footer-inner nav{justify-content:center;flex-wrap:wrap}.footer-meta{text-align:center}.footer-brand{justify-content:center}.areas-grid{grid-template-columns:repeat(2,1fr)}.section-head,.contact-head{grid-template-columns:1fr}.edition-data{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.container,.narrow{width:min(100% - 30px,1180px)}.header-inner{height:72px}.brand-copy{display:none}.nav.open{top:72px}.hero{padding-top:28px}.hero-grid{min-height:0;gap:34px}.hero h1{font-size:clamp(3.2rem,14vw,4.7rem)}.hero-visual{min-height:420px}.hero-visual img{max-width:68%}.hero-note{font-size:1rem;right:0}.hero-badge{right:0;font-size:.7rem}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.section{padding:68px 0}.section h2{font-size:clamp(2.5rem,12vw,4rem)}.two-col-copy,.areas-grid,.team-grid,.metrics,.edition-data{grid-template-columns:1fr}.team-card{padding:22px}.edition-card{padding:22px}.edition-visual{grid-template-columns:1fr}.edition-note,.impact-badge{display:none}.contact-card{padding:20px}.contact-item{grid-template-columns:48px 1fr 30px}.contact-icon{width:46px;height:46px}.wa-float{width:56px;height:56px;right:14px;bottom:14px}.hero-tags{gap:8px}.footer-inner nav{gap:10px}}

/* V10 - fidelidad al mockup aprobado */
.contact-icon svg{width:28px;height:28px;display:block}.wa-float svg{width:31px;height:31px;display:block}.avatar img{object-position:center 18%}.team-card{min-height:286px;display:flex;flex-direction:column;align-items:center}.team-card p{max-width:220px}.edition-card{overflow:hidden}.edition-visual{min-height:440px}.flyer-wrap img{max-width:100%;border-radius:2px}.contact-item{min-height:88px}.contact-item b{font-size:1.05rem}.wa-float{transition:transform .2s,box-shadow .2s}.wa-float:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 18px 36px rgba(32,201,106,.38)}
@media(min-width:1051px){.team-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.edition-card{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr)!important}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}


/* ===== V12 · Nuevas secciones comerciales, mismo sistema visual ===== */
.compare-intro{max-width:820px;margin-bottom:34px}.compare-intro p{color:#6d7c91;font-size:1.08rem;margin:18px 0 0}.compare-wrap{overflow:hidden;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:var(--shadow)}.compare-row{display:grid;grid-template-columns:1fr 1fr}.compare-row>div{padding:19px 26px;border-bottom:1px solid var(--line)}.compare-row:last-child>div{border-bottom:0}.compare-row>div+div{border-left:1px solid var(--line)}.compare-head>div{padding:22px 26px;background:#0b2244;color:#fff;font-weight:900;font-size:1rem}.compare-head>div:last-child{background:linear-gradient(135deg,#1a9f5c,#45c27e)}.compare-label{display:flex;gap:12px;align-items:flex-start;color:#607087}.compare-label strong{display:block;color:var(--navy);font-size:1rem;margin-bottom:3px}.compare-label span{color:var(--green);font-weight:900}.section-cta{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:34px}
.journey-section{background:#fff}.journey-head{max-width:900px;margin-bottom:42px}.journey-head p{color:#6d7c91;font-size:1.08rem;max-width:720px;margin:20px 0 0}.journey-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;position:relative}.journey-card{position:relative;border:1px solid var(--line);border-radius:22px;padding:24px;background:#fff;min-height:238px;box-shadow:0 10px 26px rgba(15,39,66,.035)}.journey-card:before{content:"";position:absolute;top:39px;right:-15px;width:15px;height:2px;background:#b9d7c7}.journey-card:last-child:before{display:none}.journey-card .step{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--mint);color:var(--green);font-weight:900;font-size:.78rem}.journey-card h3{color:var(--navy);font-size:1.18rem;margin:34px 0 10px}.journey-card p{color:#6d7c91;margin:0;font-size:.94rem}.journey-card.final{background:linear-gradient(155deg,#0b2244,#173b68);border-color:transparent}.journey-card.final .step{background:rgba(255,255,255,.12);color:#9be0bb}.journey-card.final h3{color:#fff}.journey-card.final p{color:#cbd8e7}
.outcomes-section{background:var(--soft)}.outcomes-head{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:end;margin-bottom:38px}.outcomes-head p{color:#6d7c91;font-size:1.05rem;margin:0}.outcomes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.outcome-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;min-height:210px;box-shadow:0 10px 26px rgba(15,39,66,.035)}.outcome-icon{width:44px;height:44px;border-radius:14px;background:var(--mint);display:grid;place-items:center;color:var(--green);font-weight:900}.outcome-card h3{color:var(--navy);font-size:1.14rem;margin:26px 0 9px}.outcome-card p{color:#6d7c91;margin:0}.outcomes-note{margin-top:28px;border-left:4px solid var(--green);padding:18px 22px;background:#fff;border-radius:0 16px 16px 0;color:#53657b}.outcomes-note strong{color:var(--navy)}
.faq-section{background:#fff}.faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:60px;align-items:start}.faq-copy p{color:#6d7c91;font-size:1.05rem}.faq-list{display:grid;gap:12px}.faq-item{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.faq-item summary{cursor:pointer;list-style:none;padding:20px 54px 20px 22px;font-weight:850;color:var(--navy);position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--green);font-size:1.25rem}.faq-item[open] summary:after{content:"–"}.faq-item p{margin:0;padding:0 22px 20px;color:#6d7c91;line-height:1.6}.faq-mini-cta{margin-top:26px;padding:22px;border-radius:20px;background:var(--mint);color:#315f50}.faq-mini-cta strong{display:block;color:#178a51;margin-bottom:8px}
@media(max-width:1050px){.journey-grid{grid-template-columns:repeat(2,1fr)}.journey-card:before{display:none}.outcomes-grid{grid-template-columns:repeat(2,1fr)}.outcomes-head,.faq-layout{grid-template-columns:1fr}.faq-layout{gap:30px}}
@media(max-width:680px){.compare-row{grid-template-columns:1fr}.compare-head>div:last-child{display:none}.compare-row>div+div{border-left:0;border-top:1px dashed var(--line)}.compare-row:not(.compare-head)>div:last-child:before{content:"TPT · ";color:var(--green);font-weight:900}.journey-grid,.outcomes-grid{grid-template-columns:1fr}.journey-card{min-height:auto}.section-cta{justify-content:flex-start}}
/* =========================================================
   TPT V13 · nueva realidad + video institucional + testimonios
   ========================================================= */
.hero-v13{padding-top:52px;padding-bottom:48px}
.hero-grid-v13{grid-template-columns:1.14fr .86fr;gap:54px;min-height:650px}
.hero-v13 h1{font-size:clamp(3.25rem,5.5vw,5.75rem);max-width:790px}
.hero-v13 .hero-lead{font-size:1.08rem;line-height:1.65;margin-bottom:18px;max-width:780px}
.hero-v13 .hero-story{font-size:1rem;line-height:1.65;color:#56677e;max-width:780px;margin:20px 0 24px}
.hero-statline{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:760px;margin:8px 0 0}
.hero-statline>div{border:1px solid var(--line);border-radius:18px;padding:16px 18px;background:rgba(255,255,255,.82);box-shadow:0 8px 24px rgba(15,39,66,.035)}
.hero-statline strong{display:block;color:var(--navy);font-size:1.55rem;letter-spacing:-.03em}
.hero-statline span{display:block;color:#76859a;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-top:3px}
.hero-source{font-size:.72rem!important;line-height:1.45!important;color:#8b97a8!important;margin:18px 0 0!important;max-width:760px!important}
.hero-visual-v13 img{max-height:640px}
.hero-visual-v13 .hero-note{top:11%;font-size:1.15rem}
.hero-visual-v13 .hero-note strong{color:var(--navy)}
.hero-visual-v13 .hero-badge{bottom:7%}

.institutional-video-section{background:#fff;overflow:hidden}
.institutional-video-grid{display:grid;grid-template-columns:1.08fr .72fr;gap:88px;align-items:center}
.institutional-video-copy h2{max-width:780px}
.institutional-video-copy>p{font-size:1.07rem;line-height:1.7;color:#65758a;max-width:760px}
.video-points{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}
.video-points span{border:1px solid var(--line);border-radius:999px;padding:9px 14px;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);background:var(--soft)}
.video-cta{justify-content:flex-start!important;margin-top:26px!important}
.vertical-video-shell{position:relative;max-width:390px;margin:0 auto;width:100%;border-radius:28px;padding:10px;background:linear-gradient(145deg,#0b2244,#173b68);box-shadow:0 28px 60px rgba(11,34,68,.2)}
.vertical-video-shell video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:#07192e;border-radius:21px}
.video-label{position:absolute;z-index:2;left:-16px;top:22px;background:var(--green);color:#fff;padding:9px 13px;border-radius:999px;font-size:.65rem;font-weight:900;letter-spacing:.1em;box-shadow:0 10px 22px rgba(39,179,106,.22)}

.testimonials-section{background:linear-gradient(180deg,#f8fafc 0%,#fff 100%)}
.testimonials-head{display:grid;grid-template-columns:1.25fr .75fr;gap:52px;align-items:end;margin-bottom:40px}
.testimonials-head p{margin:0;color:#6d7c91;font-size:1.04rem;line-height:1.65}
.testimonials-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.testimonial-video-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:10px;box-shadow:var(--shadow);overflow:hidden}
.testimonial-video-frame{border-radius:18px;overflow:hidden;background:#0b2244}
.testimonial-video-frame video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:#07192e}
.testimonial-copy{padding:16px 10px 12px}
.testimonial-copy span{display:block;color:var(--green);font-size:.67rem;font-weight:900;letter-spacing:.12em;margin-bottom:8px}
.testimonial-copy strong{display:block;color:var(--navy);font-size:.98rem;line-height:1.35}
.testimonial-note{margin:34px auto 0;max-width:880px;padding:22px 26px;border-radius:20px;background:var(--mint);color:#486176;line-height:1.6;text-align:center}
.testimonial-note strong{color:var(--navy)}

@media (max-width:1100px){
  .nav{gap:18px}
  .nav a{font-size:.82rem}
  .hero-grid-v13{grid-template-columns:1fr .75fr;gap:36px}
  .testimonials-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .hero-grid-v13,.institutional-video-grid,.testimonials-head{grid-template-columns:1fr}
  .hero-grid-v13{min-height:auto}
  .hero-visual-v13{min-height:420px}
  .hero-statline{grid-template-columns:1fr}
  .institutional-video-grid{gap:42px}
  .vertical-video-shell{max-width:350px}
}
@media (max-width:620px){
  .hero-v13{padding-top:34px}
  .hero-v13 h1{font-size:clamp(2.7rem,13vw,4.1rem)}
  .hero-statline{grid-template-columns:1fr}
  .testimonials-grid{grid-template-columns:1fr}
  .testimonial-video-card{max-width:390px;margin:0 auto;width:100%}
  .video-label{left:12px;top:18px}
}


/* =========================================================
   TPT V14 · institucional dinamica + experiencia corregida
   ========================================================= */
.institutional-story-section{background:#f8fafc}
.institutional-story-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:56px;align-items:center}
.institutional-story-copy h2{font-size:clamp(3rem,5vw,5.2rem);max-width:760px;line-height:.98;letter-spacing:-.05em}
.institutional-story-copy p{font-size:1.05rem;line-height:1.72;color:#627388;max-width:760px}
.institutional-big-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0 22px;max-width:720px}
.institutional-big-metrics div{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px 24px 20px;box-shadow:0 18px 44px rgba(15,39,66,.06)}
.institutional-big-metrics strong{display:block;color:var(--navy);font-size:3.3rem;line-height:.95;letter-spacing:-.05em}
.institutional-big-metrics span{display:block;margin-top:10px;color:#75859a;font-size:.84rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.video-points-v14{margin:24px 0 0}
.institutional-story-visual{margin:0;position:relative}
.institutional-story-visual img{width:100%;display:block;border-radius:28px;box-shadow:0 28px 68px rgba(11,34,68,.18)}
.experience-grid{grid-template-columns:1.06fr .94fr;gap:64px}
.experience-band h2{font-size:clamp(3rem,4.8vw,5.25rem);line-height:.98;max-width:780px}
.process span{padding:12px 18px;font-size:.9rem;letter-spacing:.03em}
.metrics{grid-template-columns:repeat(3,1fr)}
.metrics div{padding:28px 22px;border-radius:24px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);min-height:150px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 12px 28px rgba(0,0,0,.08)}
.metrics strong{display:block;font-size:3.35rem;line-height:.92;letter-spacing:-.06em}
.metrics span{font-size:.8rem;color:#d8e3ee;font-weight:800;text-transform:uppercase;letter-spacing:.06em;max-width:120px}
@media (max-width:1100px){
  .institutional-story-grid{grid-template-columns:1fr .9fr;gap:34px}
  .institutional-story-copy h2{font-size:clamp(2.6rem,5vw,4.4rem)}
}
@media (max-width:860px){
  .institutional-story-grid,.experience-grid{grid-template-columns:1fr}
  .institutional-story-visual{max-width:720px}
  .institutional-big-metrics{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
  .institutional-big-metrics{grid-template-columns:1fr}
  .institutional-big-metrics strong{font-size:2.7rem}
  .metrics{grid-template-columns:1fr 1fr}
  .metrics strong{font-size:2.6rem}
  .experience-band h2{font-size:clamp(2.35rem,10vw,3.4rem)}
}
/* =========================================================
   TPT V15 · Testimonios debajo del equipo
   ========================================================= */
.testimonials-after-team{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 4%, rgba(39,179,106,.09), transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f6f9fc 100%);
}
.testimonials-after-team:before{
  content:"";
  position:absolute;
  width:420px;height:420px;
  border-radius:50%;
  right:-210px;bottom:-220px;
  border:1px solid rgba(39,179,106,.18);
}
.testimonials-after-head{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:64px;
  align-items:end;
  margin-bottom:40px;
}
.testimonials-after-head h2{
  max-width:760px;
  margin-bottom:0;
}
.testimonials-after-head>p{
  margin:0;
  max-width:620px;
  color:#66778d;
  font-size:1.02rem;
  line-height:1.72;
}
.testimonials-video-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  position:relative;
  z-index:1;
}
.testimonial-reel-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  padding:10px;
  box-shadow:0 18px 44px rgba(11,34,68,.075);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
  overflow:hidden;
}
.testimonial-reel-card:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 58px rgba(11,34,68,.13);
  border-color:rgba(39,179,106,.35);
}
.testimonial-reel-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:6px 7px 10px;
}
.testimonial-reel-top span{
  width:31px;height:31px;
  display:grid;place-items:center;
  border-radius:50%;
  background:var(--mint);
  color:var(--green);
  font-size:.72rem;
  font-weight:900;
}
.testimonial-reel-top strong{
  color:var(--green);
  font-size:.65rem;
  letter-spacing:.12em;
}
.testimonial-reel-card video{
  display:block;
  width:100%;
  aspect-ratio:9/16;
  object-fit:cover;
  border-radius:17px;
  background:#07192e;
}
.testimonial-reel-copy{
  padding:16px 10px 12px;
}
.testimonial-reel-copy h3{
  margin:0 0 7px;
  color:var(--navy);
  font-size:1.02rem;
}
.testimonial-reel-copy p{
  margin:0;
  color:#78869a;
  font-size:.84rem;
  line-height:1.52;
}
.testimonials-after-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-top:34px;
  padding:24px 28px;
  border-radius:22px;
  background:var(--navy);
  color:#fff;
}
.testimonials-after-cta>div{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.testimonials-after-cta strong{
  font-size:1.08rem;
}
.testimonials-after-cta span{
  color:#c9d5e4;
  font-size:.9rem;
}
.testimonials-after-cta .btn{
  flex:0 0 auto;
}

@media(max-width:1100px){
  .testimonials-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .testimonials-after-head{grid-template-columns:1fr;gap:20px}
  .testimonials-after-cta{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
  .testimonials-video-grid{grid-template-columns:1fr}
  .testimonial-reel-card{max-width:390px;margin:0 auto;width:100%}
  .testimonials-after-cta{padding:22px}
}
/* =========================================================
   TPT V16 · iconografía, movimiento y calidez visual
   ========================================================= */
html{scroll-behavior:smooth}
body{font-style:normal}
em,i{font-style:normal}
.plain-note{font-style:normal}

.section-title-row{display:flex;align-items:flex-start;gap:16px;margin-bottom:18px}
.section-title-row>div{min-width:0}
.section-title-row h2{margin-top:5px}
.section-icon{
  width:54px;height:54px;flex:0 0 54px;
  display:grid;place-items:center;
  border-radius:16px;
  background:linear-gradient(145deg,#eaf8f1,#eef6ff);
  border:1px solid rgba(39,179,106,.22);
  box-shadow:0 10px 24px rgba(11,34,68,.06);
  transition:transform .3s ease,box-shadow .3s ease,background .3s ease;
}
.section-icon svg{width:28px;height:28px;fill:none;stroke:#0b5d88;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.section:hover .section-icon{transform:translateY(-4px) rotate(-2deg);box-shadow:0 16px 32px rgba(11,34,68,.11);background:linear-gradient(145deg,#dff8eb,#e9f4ff)}
.section-title-row-light .section-icon{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25)}
.section-title-row-light .section-icon svg{stroke:#7fe5b0}

.hero-grid-v13{align-items:center}
.hero-visual-v13{display:flex;align-items:center;justify-content:center;position:relative}
.hero-visual-v13 img{margin:0 auto;display:block}
.hero-badge-overlap{
  position:absolute!important;
  right:-18px!important;
  bottom:12%!important;
  width:118px;height:118px;border-radius:50%!important;
  display:flex;align-items:center;justify-content:center;
  background:#dff3fa!important;color:#ec6e22!important;
  box-shadow:0 22px 42px rgba(11,34,68,.22)!important;
  border:1px solid rgba(255,255,255,.9)!important;
  font-size:.76rem!important;line-height:1.12!important;text-align:center!important;
  font-weight:900!important;
}
.hero-badge-overlap span{display:none!important}

.tpt-first-image{margin:0 0 42px!important}
.tpt-first-image img{width:100%;border-radius:24px;box-shadow:0 18px 46px rgba(11,34,68,.08)}

.concept-flow{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:28px 0}
.concept-flow span:not(.flow-plus){padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.concept-flow .flow-plus{color:var(--green);font-weight:900}
.concept-flow b{padding:10px 15px;border-radius:999px;background:var(--green);color:#fff;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}

.program-dark{background:linear-gradient(135deg,#0b2244 0%,#123d6a 100%);color:#fff}
.program-dark h2,.program-dark h3{color:#fff}
.program-dark .section-head p{color:#c7d4e3}
.program-dark .areas-grid article{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff}
.program-dark .areas-grid article p{color:#c8d5e4}
.program-dark .areas-grid article span{color:#7fe5b0}

.areas-grid article,.journey-card,.outcome-card,.team-card,.testimonial-reel-card,.edition-data>div,.contact-item,.mini-value-grid article,.compare-row,.faq-item{
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease;
}
.areas-grid article:hover,.journey-card:hover,.outcome-card:hover,.team-card:hover,.testimonial-reel-card:hover,.edition-data>div:hover,.contact-item:hover,.mini-value-grid article:hover,.faq-item:hover{
  transform:translateY(-7px);
  box-shadow:0 22px 48px rgba(11,34,68,.13);
  border-color:rgba(39,179,106,.35);
}

.team-voices{margin-top:44px;padding-top:38px;border-top:1px solid var(--line)}
.team-voices-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:32px;align-items:end;margin-bottom:24px}
.team-voices-head>span{color:var(--green);font-size:.72rem;font-weight:900;letter-spacing:.12em}
.team-voices-head h3{font-size:clamp(1.6rem,3vw,2.4rem);color:var(--navy);margin:0 0 8px}
.team-voices-head p{margin:0;color:#6f7d91;line-height:1.65}
.team-video-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.team-video-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:10px;box-shadow:0 14px 34px rgba(11,34,68,.06);transition:.28s ease}
.team-video-card:hover{transform:translateY(-7px);box-shadow:0 22px 48px rgba(11,34,68,.13)}
.team-video-card video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:16px;background:#07192e;display:block}
.team-video-card strong{display:block;color:var(--navy);font-size:1rem;margin:12px 8px 2px}
.team-video-card span{display:block;color:var(--green);font-size:.76rem;font-weight:800;margin:0 8px 8px}

.city-story-grid,.ecosystem-story-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:56px;align-items:center}
.ecosystem-story-grid{grid-template-columns:1.12fr .88fr}
.city-story-image img,.ecosystem-story-image img{width:100%;height:100%;max-height:520px;object-fit:cover;border-radius:26px;box-shadow:0 22px 54px rgba(11,34,68,.11)}
.city-story-copy>p,.ecosystem-story-copy>p{color:#63758b;line-height:1.72;font-size:1.02rem}
.mini-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}
.mini-value-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}
.mini-value-grid article>span{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--mint);color:var(--green);font-weight:900;font-size:.72rem;margin-bottom:10px}
.mini-value-grid strong{color:var(--navy)}
.mini-value-grid p{font-size:.82rem;line-height:1.45;color:#77869a;margin:6px 0 0}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.is-visible{opacity:1;transform:none}

@media(max-width:1000px){
  .team-video-grid{grid-template-columns:repeat(2,1fr)}
  .city-story-grid,.ecosystem-story-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .section-title-row{gap:12px}
  .section-icon{width:46px;height:46px;flex-basis:46px}
  .section-icon svg{width:24px;height:24px}
  .hero-badge-overlap{right:4px!important;bottom:6%!important;width:96px;height:96px;font-size:.64rem!important}
  .team-voices-head{grid-template-columns:1fr;gap:10px}
  .team-video-grid{grid-template-columns:1fr}
  .team-video-card{max-width:390px;margin:0 auto;width:100%}
  .mini-value-grid{grid-template-columns:1fr}
}

/* =========================================================
   TPT V17 · ajustes finos Ariel
   ========================================================= */

/* Iconos de sección: el doble de presencia */
.section-icon{
  width:96px !important;
  height:96px !important;
  flex:0 0 96px !important;
  border-radius:24px !important;
}
.section-icon svg{
  width:44px !important;
  height:44px !important;
  stroke-width:1.9 !important;
}
.section-title-row{
  align-items:flex-start;
  gap:20px;
}

/* Hero principal mejor centrado */
.hero-grid-v13{
  align-items:center !important;
  grid-template-columns:1.08fr .92fr !important;
  gap:60px !important;
}
.hero-visual-v13{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:100% !important;
  padding:10px 16px 10px 10px;
}
.hero-poster-frame{
  position:relative;
  width:min(430px, 92%);
  margin:0 auto;
  display:block;
}
.hero-poster-frame img{
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:none !important;
  margin:0 auto !important;
  display:block !important;
  object-fit:contain !important;
  filter:drop-shadow(0 24px 38px rgba(12,35,67,.16));
}
.hero-poster-frame.image-missing{
  min-height:520px;
  background:#eef3f6;
  border-radius:28px;
}
.hero-poster-frame.image-missing:after{
  content:"Falta img/01-hero-tpt.png.png";
  color:#718096;
  font-size:.85rem;
  display:block;
  text-align:center;
  padding-top:240px;
}
.hero-badge-overlap{
  position:absolute !important;
  right:-22px !important;
  bottom:24px !important;
  width:120px !important;
  height:120px !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#dff3fa !important;
  color:#ec6e22 !important;
  box-shadow:0 20px 40px rgba(11,34,68,.20) !important;
  border:2px solid rgba(255,255,255,.95) !important;
  font-size:.76rem !important;
  line-height:1.1 !important;
  text-align:center !important;
  font-weight:900 !important;
  z-index:4;
}
.hero-badge-overlap span{display:none !important}

/* Fix sección equipo */
.team-head{
  margin-bottom:26px !important;
}
.team-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}
.team-card{
  min-height:100% !important;
}
.team-voices{
  margin-top:42px !important;
  padding-top:36px !important;
  border-top:1px solid var(--line) !important;
}
.team-voices-head{
  display:grid !important;
  grid-template-columns:.55fr 1.45fr !important;
  gap:22px !important;
  align-items:end !important;
  margin-bottom:22px !important;
}
.team-voices-head span{
  align-self:start;
}
.team-voices-head h3{
  margin:0 0 8px !important;
}
.team-video-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
}
.team-video-card{
  min-width:0 !important;
}
.team-video-card video{
  width:100% !important;
  aspect-ratio:9/16 !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:16px !important;
}

/* Responsive */
@media (max-width:1100px){
  .section-icon{
    width:80px !important;
    height:80px !important;
    flex-basis:80px !important;
  }
  .section-icon svg{
    width:38px !important;
    height:38px !important;
  }
  .team-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .team-video-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:860px){
  .hero-grid-v13{
    grid-template-columns:1fr !important;
    gap:34px !important;
  }
  .hero-visual-v13{
    order:2;
    padding:0;
  }
  .hero-poster-frame{
    width:min(400px, 88vw);
  }
  .hero-badge-overlap{
    right:-10px !important;
    bottom:18px !important;
    width:104px !important;
    height:104px !important;
    font-size:.68rem !important;
  }
  .team-voices-head{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
}

@media (max-width:700px){
  .section-icon{
    width:68px !important;
    height:68px !important;
    flex-basis:68px !important;
    border-radius:18px !important;
  }
  .section-icon svg{
    width:32px !important;
    height:32px !important;
  }
  .team-grid,
  .team-video-grid{
    grid-template-columns:1fr !important;
  }
  .hero-poster-frame{
    width:min(360px, 92vw);
  }
}

/* =========================================================
   TPT V18 · video institucional reactivado
   ========================================================= */
.institutional-story-visual.featured-video{
  max-width:390px;
  margin:0 auto;
  align-self:center;
}
.institutional-story-visual.featured-video video{
  width:100%;
  aspect-ratio:9/16;
  object-fit:cover;
  display:block;
  border-radius:21px;
  background:#07192e;
}

/* =========================================================
   TPT V19 · posters de video
   ========================================================= */
video[poster]{
  background:#0b2244;
}
.institutional-story-visual.featured-video,
.team-video-card,
.testimonial-reel-card{
  position:relative;
}
.team-video-card video,
.testimonial-reel-card video{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
.team-video-card:hover video,
.testimonial-reel-card:hover video,
.institutional-story-visual.featured-video:hover video{
  filter:brightness(1.02) saturate(1.03);
}

/* =========================================================
   TPT V20 · Portadas reales en videos
   ========================================================= */

/* Los posters ocupan toda la superficie del reproductor */
.team-video-card video,
.testimonial-reel-card video,
.institutional-story-visual video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  background:#0b2244;
}

/* Tarjetas de voces del equipo: aspecto Reel */
.team-video-card video{
  aspect-ratio:9 / 16;
  min-height:0;
}

/* Testimonios: aspecto Reel y foto real a pantalla completa */
.testimonial-reel-card video{
  aspect-ratio:9 / 16;
  min-height:0;
}

/* Institucional: mantiene formato vertical */
.institutional-story-visual video{
  aspect-ratio:9 / 16;
}

/* Acabado visual de las celdas */
.team-video-card,
.testimonial-reel-card,
.institutional-video-shell{
  overflow:hidden;
}

/* En navegadores que muestran fondo antes de cargar el poster */
video{
  background-color:#0b2244;
}

/* Mejora de foco visual al pasar el mouse */
.team-video-card video:hover,
.testimonial-reel-card video:hover,
.institutional-story-visual video:hover{
  filter:brightness(1.03);
}

/* =========================================================
   TPT V21 · Sistema unificado de portadas para videos
   ========================================================= */
.video-poster-ready,
.team-video-card video,
.testimonial-reel-card video,
.institutional-story-visual video{
  width:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  background:#0b2244;
}

/* Formato vertical consistente */
.team-video-card video,
.testimonial-reel-card video,
.institutional-story-visual video{
  aspect-ratio:9 / 16;
}

/* Mejor terminación de las tarjetas */
.team-video-card,
.testimonial-reel-card,
.institutional-video-shell{
  overflow:hidden;
  border-radius:18px;
}

/* Evita apariencia "apagada" del poster antes del play */
.team-video-card video,
.testimonial-reel-card video,
.institutional-story-visual video{
  transition:filter .22s ease, transform .22s ease;
}
.team-video-card:hover video,
.testimonial-reel-card:hover video,
.institutional-story-visual:hover video{
  filter:brightness(1.04);
}

/* Asegura que el poster cubra toda la celda */
video[poster]{
  background-size:cover;
  background-position:center;
}

/* =========================================================
   TPT V22 · posters alojados directamente en /img
   ========================================================= */
video[poster]{
  background:#0b2244;
  object-fit:cover;
  object-position:center;
}

/* =========================================================
   TPT V23 · cache busting para posters
   ========================================================= */
video[poster]{
  background:#0b2244;
  object-fit:cover;
  object-position:center;
}

/* =========================================================
   TPT V24 · Captura real clickeable → reproduce el video
   ========================================================= */

.video-cover-shell{
  position:relative;
  width:100%;
  aspect-ratio:9 / 16;
  overflow:hidden;
  border-radius:18px;
  background:#0b2244;
}

.video-cover-shell > video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  background:#000;
}

/* La captura real ocupa toda la celda antes del clic */
.video-cover{
  position:absolute;
  inset:0;
  z-index:3;
  display:block;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  cursor:pointer;
  background:#0b2244;
  overflow:hidden;
}

.video-cover img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transition:transform .25s ease, filter .25s ease;
}

.video-cover:hover img{
  transform:scale(1.015);
  filter:brightness(.96);
}

/* Botón Play superpuesto */
.video-cover-play{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  width:72px;
  height:72px;
  border-radius:50%;
  background:rgba(6,31,60,.82);
  border:3px solid rgba(255,255,255,.95);
  color:#fff;
  font-size:30px;
  line-height:1;
  padding-left:5px;
  box-shadow:0 10px 30px rgba(0,0,0,.28);
  pointer-events:none;
  transition:transform .2s ease, background .2s ease;
}

.video-cover:hover .video-cover-play{
  transform:translate(-50%,-50%) scale(1.06);
  background:rgba(20,184,111,.92);
}

.video-cover-shell.is-playing .video-cover{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease, visibility .18s ease;
}

@media (max-width:720px){
  .video-cover-play{
    width:62px;
    height:62px;
    font-size:26px;
  }
}

/* =========================================================
   TPT V25 · Estructura real Hostinger
   index.html
   css/styles.css
   js/script.js
   img/
   video/
   ========================================================= */

/* =========================================================
   TPT V26 · solución robusta: el VIDEO está oculto hasta el clic
   ========================================================= */

/* La captura es el contenido visible real de la tarjeta */
.video-cover-shell{
  position:relative;
  width:100%;
  aspect-ratio:9 / 16;
  overflow:hidden;
  border-radius:18px;
  background:#0b2244;
}

.video-cover{
  position:relative !important;
  inset:auto !important;
  z-index:auto !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  padding:0 !important;
  border:0 !important;
  cursor:pointer;
  overflow:hidden;
  background:#0b2244;
}

.video-cover img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center !important;
}

/* CLAVE: antes del clic, el reproductor ni siquiera se dibuja */
.video-cover-shell > video.video-cover-target{
  display:none !important;
  width:100% !important;
  height:100% !important;
  aspect-ratio:9 / 16 !important;
  object-fit:cover !important;
  background:#000 !important;
  border-radius:0 !important;
}

/* Al hacer clic: desaparece la captura y aparece el video */
.video-cover-shell.is-playing .video-cover{
  display:none !important;
}

.video-cover-shell.is-playing > video.video-cover-target{
  display:block !important;
}

/* Play centrado */
.video-cover-play{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  z-index:5 !important;
  display:grid !important;
  place-items:center !important;
  width:72px !important;
  height:72px !important;
  border-radius:50% !important;
  background:rgba(6,31,60,.84) !important;
  border:3px solid #fff !important;
  color:#fff !important;
  font-size:30px !important;
  line-height:1 !important;
  padding-left:5px !important;
  box-shadow:0 10px 30px rgba(0,0,0,.28) !important;
  pointer-events:none !important;
}

.video-cover:hover img{
  transform:scale(1.015);
  filter:brightness(.96);
}

@media (max-width:720px){
  .video-cover-play{
    width:60px !important;
    height:60px !important;
    font-size:25px !important;
  }
}

/* =========================================================
   TPT V27 · BACKUP ESTABLE
   Corrección definitiva de selectores de clase
   ========================================================= */

.video-cover-shell{
  position:relative;
  width:100%;
  aspect-ratio:9 / 16;
  overflow:hidden;
  border-radius:18px;
  background:#0b2244;
}

.video-cover{
  position:relative !important;
  inset:auto !important;
  z-index:auto !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  padding:0 !important;
  border:0 !important;
  cursor:pointer;
  overflow:hidden;
  background:#0b2244;
}

.video-cover img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center !important;
}

.video-cover-shell > video.video-cover-target{
  display:none !important;
  width:100% !important;
  height:100% !important;
  aspect-ratio:9 / 16 !important;
  object-fit:cover !important;
  background:#000 !important;
  border-radius:0 !important;
}

.video-cover-shell.is-playing .video-cover{
  display:none !important;
}

.video-cover-shell.is-playing > video.video-cover-target{
  display:block !important;
}

.video-cover-play{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  z-index:5 !important;
  display:grid !important;
  place-items:center !important;
  width:72px !important;
  height:72px !important;
  border-radius:50% !important;
  background:rgba(6,31,60,.84) !important;
  border:3px solid #fff !important;
  color:#fff !important;
  font-size:30px !important;
  line-height:1 !important;
  padding-left:5px !important;
  box-shadow:0 10px 30px rgba(0,0,0,.28) !important;
  pointer-events:none !important;
}

.video-cover:hover img{
  transform:scale(1.015);
  filter:brightness(.96);
}

@media (max-width:720px){
  .video-cover-play{
    width:60px !important;
    height:60px !important;
    font-size:25px !important;
  }
}

/* TPT V28 · favicon integrado. Diseño V27 preservado. */

/* =========================================================
   TPT V29 · hero + definición + contexto + menú dinámico
   ========================================================= */

/* Más espacio para los nuevos enlaces del menú sin perder el CTA */
.nav{gap:18px;}
.nav a{font-size:.84rem;white-space:nowrap;transition:color .2s ease;}
.nav a.active{color:var(--green);font-weight:800;}
.nav a.active::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-13px;
  height:2px;
  border-radius:999px;
  background:var(--green);
}

/* HERO V29 */
.hero-v29{
  padding-top:118px;
  padding-bottom:72px;
  background:
    radial-gradient(circle at 78% 18%, rgba(79,194,232,.13), transparent 27%),
    linear-gradient(180deg,#fff 0%,#f7fbff 100%);
}
.hero-grid-v29{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);
  align-items:center;
  gap:64px;
}
.hero-copy-v29 h1{
  max-width:850px;
  margin:.18em 0 .28em;
  font-size:clamp(3.4rem,6vw,6.4rem);
  line-height:.91;
  letter-spacing:-.055em;
}
.hero-brandline{font-size:.82rem;letter-spacing:.13em;}
.hero-copy-v29 .hero-lead{
  max-width:780px;
  font-size:clamp(1.18rem,1.8vw,1.48rem);
  line-height:1.5;
}
.hero-copy-v29 .hero-story{max-width:820px;}
.hero-proof-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  max-width:820px;
  margin:28px 0 8px;
}
.hero-proof-grid>div{
  padding:18px 16px;
  border:1px solid #dbe7f0;
  border-radius:18px;
  background:rgba(255,255,255,.88);
  box-shadow:0 10px 26px rgba(7,31,62,.06);
}
.hero-proof-grid strong{
  display:block;
  color:var(--navy);
  font-size:1.65rem;
  line-height:1;
}
.hero-proof-grid span{
  display:block;
  margin-top:7px;
  color:#617188;
  font-size:.84rem;
}
.hero-promise{
  margin-top:20px;
  color:var(--navy);
  font-weight:800;
  letter-spacing:.01em;
}

/* QUÉ ES TPT */
.tpt-definition-section{background:#fff;}
.tpt-definition-copy{
  max-width:1030px;
  margin:12px 0 34px 116px;
}
.tpt-definition-copy p{
  font-size:1.1rem;
  line-height:1.72;
  color:#52657d;
}
.tpt-definition-copy strong{color:var(--navy);}
.tpt-capabilities-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:30px;
}
.tpt-capabilities-grid article{
  min-height:205px;
  padding:28px 24px;
  border:1px solid #dce7ef;
  border-radius:22px;
  background:linear-gradient(145deg,#fff,#f7fbfd);
  box-shadow:0 14px 34px rgba(8,38,73,.06);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.tpt-capabilities-grid article:hover{
  transform:translateY(-7px);
  box-shadow:0 22px 45px rgba(8,38,73,.12);
  border-color:rgba(26,185,113,.35);
}
.tpt-capabilities-grid article>span{
  color:var(--green);
  font-size:.77rem;
  font-weight:900;
  letter-spacing:.12em;
}
.tpt-capabilities-grid h3{
  margin:12px 0 8px;
  color:var(--navy);
  font-size:1.25rem;
}
.tpt-capabilities-grid p{margin:0;color:#617188;line-height:1.55;}
.tpt-definition-footer{
  display:flex;
  gap:12px;
  align-items:center;
  margin-top:22px;
  padding:18px 22px;
  border-radius:18px;
  background:var(--navy);
  color:#fff;
}
.tpt-definition-footer strong{color:#55d894;}
.tpt-definition-footer span{line-height:1.5;}

/* CONTEXTO ARGENTINA: ahora funciona como evidencia, no como promesa principal */
.context-business-section{
  background:#f4f8fb;
  padding:86px 0;
  border-top:1px solid #e3edf3;
  border-bottom:1px solid #e3edf3;
}
.context-business-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);
  gap:64px;
  align-items:center;
}
.context-business-copy h1{
  margin:.2em 0 .3em;
  color:var(--navy);
  font-size:clamp(3rem,5vw,5rem);
  line-height:.95;
  letter-spacing:-.045em;
}
.context-business-copy .hero-lead,
.context-business-copy .hero-story{max-width:780px;}
.context-business-visual .hero-poster-frame{max-width:420px;margin:auto;}

/* Compensación para header fijo al navegar por anclas */
section[id]{scroll-margin-top:105px;}

/* El FAQ activo en menú sigue la misma lógica visual */
#nav a[href="#faq"].active{color:var(--green);}

/* Reveal también para nuevas cards */
.tpt-capabilities-grid article.reveal{opacity:0;transform:translateY(18px);}
.tpt-capabilities-grid article.reveal.is-visible{opacity:1;transform:none;}

/* Responsive */
@media(max-width:1180px){
  .nav{gap:13px;}
  .nav a{font-size:.78rem;}
}
@media(max-width:1020px){
  .hero-grid-v29,.context-business-grid{grid-template-columns:1fr;}
  .hero-copy-v29 h1{font-size:clamp(3.1rem,10vw,5.2rem);}
  .hero-proof-grid{grid-template-columns:repeat(2,1fr);}
  .tpt-definition-copy{margin-left:0;}
  .tpt-capabilities-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:720px){
  .hero-v29{padding-top:98px;padding-bottom:52px;}
  .hero-grid-v29{gap:34px;}
  .hero-copy-v29 h1{font-size:clamp(2.85rem,14vw,4.2rem);}
  .hero-proof-grid{grid-template-columns:repeat(2,1fr);}
  .tpt-capabilities-grid{grid-template-columns:1fr;}
  .tpt-definition-footer{align-items:flex-start;flex-direction:column;}
  .context-business-section{padding:64px 0;}
}
