:root{
  --ink:#0D2943;--ink2:#123F49;--petrol:#123743;--petrol2:#1F5967;--petrol3:#275869;
  --text:#23313B;--muted:#5F6E79;--bg:#fff;--soft:#F7FBFC;--soft2:#F4F8FB;--chip:#E6F0F5;
  --line:#D8E2E8;--line2:#DFEAEE;--shadow:0 10px 24px rgba(13,38,46,.14);--radius:22px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:#fff}.material-symbols-rounded{font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;line-height:1}
a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.hidden{display:none!important}
.site-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:40;background:linear-gradient(135deg,#06151B,#123743,#275869);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 4px 18px rgba(4,18,24,.2)}
.header{max-width:1700px;margin:auto;min-height:78px;padding:10px 18px;display:flex;align-items:center;gap:16px}.brand-button{width:58px;height:58px;border:3px solid #fff;border-radius:50%;background:#fff;padding:4px;overflow:hidden;box-shadow:0 12px 30px rgba(7,24,32,.25);cursor:pointer;flex:none}.brand-button img{width:100%;height:100%;object-fit:contain}.mobile-title{display:none;color:#fff;font-weight:800;text-shadow:1px 1px rgba(0,0,0,.25);flex:1}.nav{display:flex;justify-content:center;gap:4px;flex:1}.nav a{color:#DCEEF3;font-weight:700;padding:8px 12px;border-radius:9px;font-size:15px;white-space:nowrap}.nav a:hover{background:rgba(255,255,255,.09)}
.contact-mini{display:flex;gap:15px;align-items:center;color:#fff;font-size:13px}.contact-mini a{display:flex;align-items:center;gap:4px}.contact-mini .material-symbols-rounded{font-size:20px}.contact-link.phone .material-symbols-rounded{color:#1F76FF}.contact-link.mail .material-symbols-rounded{color:#2DBB45}.contact-link.location .material-symbols-rounded{color:#F53C3C}.menu-btn{display:none;border:0;background:rgba(255,255,255,.10);color:white;border-radius:12px;width:42px;height:42px;cursor:pointer}.mobile-menu{display:none;position:absolute;right:12px;top:68px;width:230px;background:rgba(255,255,255,.98);border:1px solid #DDE7EB;border-radius:20px;padding:10px;box-shadow:0 12px 30px rgba(15,32,39,.2)}.mobile-menu.open{display:grid;gap:8px}.mobile-menu a{background:#F8FBFC;border-radius:12px;padding:11px 12px;font-weight:700;color:#18343D;display:flex;align-items:center;justify-content:space-between}.mobile-contacts{display:none;background:#fff;padding:8px;border-bottom:1px solid #e6eef1}.mobile-contacts .contact-mini{color:#000;justify-content:center;flex-wrap:wrap}
.main{flex:1}.page{max-width:1700px;margin:0 auto;padding:8px}.hero{background:linear-gradient(135deg,#08181E,#123743,#1F5967);border-radius:30px;padding:18px;box-shadow:0 10px 26px rgba(7,24,32,.20);display:grid;grid-template-columns:minmax(480px,1fr) minmax(240px,.55fr) minmax(300px,.42fr);gap:18px;align-items:center;min-height:560px}.hero-copy{color:#fff;display:flex;flex-direction:column;gap:14px}.hero-badge{width:max-content;max-width:100%;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:7px 14px;color:#D9EEF4;font-size:12px;font-weight:800}.hero-brand{display:flex;align-items:center;gap:16px}.hero-logo{width:170px;height:170px;border-radius:50%;background:#fff;border:3px solid #fff;box-shadow:0 12px 30px rgba(7,24,32,.25);object-fit:cover;flex:none}.hero h1{margin:0;font-size:clamp(38px,4vw,64px);line-height:.98;color:#fff}.hero h1 span{display:block;color:#9FD2DE}.hero-copy>p{margin:0;color:#DCEEF3;font-size:clamp(17px,1.35vw,24px);line-height:1.45}.trust{display:flex;flex-wrap:wrap;gap:10px}.pill{background:rgba(255,255,255,.08);padding:8px 12px;border-radius:999px;color:#E7F5F8;font-size:12px;font-weight:800}.btn-light{width:max-content;min-width:230px;text-align:center;padding:16px 22px;background:#F6FBFC;color:#123F49;border:1px solid #D8E7EB;border-radius:18px;box-shadow:0 6px 14px rgba(6,32,41,.14);font-weight:800;font-size:18px}.btn-light:hover{background:#DDEEF2}.hero-image{width:100%;height:420px;object-fit:cover;border-radius:16px}.mobile-main-carousel{display:none}.carousel-frame{overflow:hidden;border-radius:20px;border:1px solid #D9E5EA;box-shadow:0 10px 18px rgba(12,38,46,.15);background:#fff}.carousel-frame img{width:100%;height:100%;display:block;object-fit:cover}.mobile-main-carousel img{object-fit:contain;background:#fff}.dots{display:flex;justify-content:center;gap:7px;margin-top:10px}.dot{width:8px;height:8px;border-radius:50%;background:#b9c8ce}.dot.active{background:#123F49}
.form-card{background:rgba(255,255,255,.95);border-radius:16px;padding:5px}.contact-form{background:rgba(245,250,252,.92);border:1px solid #DCE7EB;border-radius:24px;padding:18px;box-shadow:0 12px 24px rgba(14,38,46,.14);display:grid;gap:10px}.form-intro{font-size:13px;color:#4d6771;text-align:center}.contact-form input,.contact-form textarea{width:100%;border:1px solid #D7E3E8;background:#fff;color:#000;border-radius:14px;padding:14px;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:#123F49;box-shadow:0 0 0 3px rgba(18,63,73,.1)}.contact-form textarea{min-height:95px;resize:vertical}.gradient-btn{border:0;border-radius:9px;padding:14px 16px;color:white;background:linear-gradient(90deg,#0B222A,#144857,#1E6B7B);font-weight:800;font-size:18px;cursor:pointer}.gradient-btn:disabled{opacity:.65;cursor:not-allowed}.section-title{margin:8px 0;background:#0D2943;color:#fff;border-radius:16px;padding:12px 18px;display:flex;justify-content:center;align-items:center;gap:8px;font-weight:800;font-size:22px}.section-block{background:#F7FBFC;border:1px solid #DFEAEE;border-radius:30px;padding:18px 14px;margin-bottom:8px}.section-lead{text-align:center;color:#5F6E79;font-size:13px;margin:0 auto 18px;max-width:900px}.services-heading{text-align:center;color:#0F3D47;font-size:28px;margin:16px 0 20px}.service-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;max-width:1600px;margin:0 auto 18px}.service-card{background:linear-gradient(180deg,#FFFFFF 0%,#F4F8FA 100%);border:1px solid #DBE7EC;border-radius:22px;overflow:hidden;box-shadow:0 10px 22px rgba(17,56,66,.18), inset 0 1px 0 rgba(255,255,255,.95);transition:.25s;cursor:pointer;transform:translateZ(0)}.service-card:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 14px 28px rgba(17,56,66,.22), inset 0 1px 0 rgba(255,255,255,.95)}.service-card::before{content:"";display:block;height:4px;background:#123F49}.service-card .img-wrap{padding:12px 12px 0;height:180px;display:flex;align-items:center;justify-content:center}.service-card img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(0,0,0,.12))}.service-card h3{text-align:center;color:#123640;margin:12px;padding:0 6px;font-size:14px;min-height:38px;display:flex;justify-content:center;align-items:center;line-height:1.25}
.programs{display:grid;grid-template-columns:minmax(330px,420px) 280px repeat(4, minmax(180px,1fr));gap:14px;align-items:start;overflow:auto;padding:4px}.card{background:#fff;border:1px solid #D8E2E8;border-radius:20px;padding:18px;box-shadow:var(--shadow)}.accent-line{height:4px;background:#0D2943;border-radius:999px;margin-bottom:14px}.eyebrow{display:inline-block;background:#E6F1F4;border-radius:999px;padding:6px 12px;color:#0D2943;font-size:12px;font-weight:800}.card-head{display:flex;gap:12px;align-items:flex-start;margin:10px 0}.icon-box{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:14px;background:#F4F8FB;color:#0D2943}.card h3,.card h2{color:#0D2943;margin:0 0 4px}.card p{margin:0;color:#5F6E79;line-height:1.5}.bullet-list{display:grid;gap:12px;margin-top:12px}.bullet{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start}.bullet .icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#E6F0F5;color:#0D2943}.bullet strong{display:block;color:#0D2943;font-size:13px;margin-bottom:2px}.bullet span{font-size:12px;line-height:1.45}.program-carousel{width:263px;height:360px;position:relative;border-radius:28px;overflow:hidden;border:1px solid #D9E5EA;box-shadow:0 18px 34px rgba(10,32,40,.24), 0 8px 16px rgba(10,32,40,.16), inset 0 1px 0 rgba(255,255,255,.95);background:linear-gradient(180deg,#ffffff 0%,#eef5f8 100%)}.program-carousel::after{content:"";position:absolute;inset:auto 14px -12px 14px;height:22px;border-radius:50%;background:rgba(7,24,32,.18);filter:blur(10px);z-index:-1}.video-card{position:relative;border-radius:28px;overflow:hidden;border:1px solid #D9E5EA;box-shadow:0 20px 38px rgba(10,32,40,.26), 0 10px 18px rgba(10,32,40,.18), inset 0 1px 0 rgba(255,255,255,.96);height:360px;background:linear-gradient(180deg,#fefefe 0%,#edf5f7 100%);transform:translateZ(0)}.video-card::after{content:"";position:absolute;inset:auto 16px -14px 16px;height:24px;border-radius:50%;background:rgba(7,24,32,.2);filter:blur(12px);z-index:-1}.video-card iframe{width:100%;height:100%;border:0}
.cards-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.cards-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.info-card{height:100%;background:#fff;border:1px solid #D8E2E8;border-radius:20px;padding:16px 18px;box-shadow:var(--shadow)}.info-card .card-head p{font-size:13px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.info-chip{display:flex;gap:8px;align-items:center;background:#E6F0F5;border-radius:14px;padding:9px 12px;min-width:0}.info-chip .material-symbols-rounded{font-size:17px;color:#0D2943}.info-chip b{display:block;color:#0D2943;font-size:12px}.info-chip small{display:block;color:#5F6E79;font-size:10px}.value-item{background:#F7F9FB;border-radius:14px;padding:10px 12px;display:flex;gap:10px;align-items:flex-start}.value-item strong{font-size:13px;color:#0D2943}.value-item span{display:block;font-size:12px;margin-top:2px}
.history-card{max-width:1200px;margin:auto}.social-dock{position:sticky;bottom:0;z-index:30;background:#F7FBFC;border-top:1px solid #DCE7EB;padding:9px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.promo{flex:1;background:#ECF4F7;border-radius:20px;padding:10px;display:flex;justify-content:center;gap:16px;flex-wrap:wrap;color:#113842;font-weight:800;font-size:14px}.social-buttons{display:flex;gap:8px}.social-btn{width:44px;height:44px;border-radius:50%;border:1px solid #d8e2e8;background:#fff;display:grid;place-items:center;box-shadow:0 4px 10px rgba(13,38,46,.12);cursor:pointer;overflow:hidden;transition:transform .25s ease, box-shadow .25s ease;animation:social-float 4.2s ease-in-out infinite}.social-btn:hover{transform:scale(1.12) rotate(8deg);box-shadow:0 10px 18px rgba(13,38,46,.22)}.social-btn img{width:27px;height:27px;object-fit:contain;transition:transform .25s ease}.social-btn:hover img{transform:scale(1.08) rotate(-8deg)}.social-btn.social-sabias{background:#000;border-color:#000}.social-btn.social-sabias img{width:31px;height:31px}.social-btn.facebook{animation-delay:.2s}.social-btn.instagram{animation-delay:.45s}.social-btn.whatsapp{animation-delay:.7s}.social-btn.social-sabias{animation-delay:.95s}.sabias-icon{font-size:24px;color:#123F49}
.footer{background:#B9B8B8;padding:14px 12px;text-align:center;color:#18343D;font-size:12px;line-height:1.55;border-radius:0;width:100%;margin:0;border-top:1px solid rgba(0,0,0,.08)}.footer a{text-decoration:underline}.footer-line{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;font-weight:700}.footer-line + .footer-line{margin-top:4px}.footer-line .material-symbols-rounded{font-size:16px;color:#202325}.footer-sep{opacity:.7;font-weight:800}@keyframes social-float{0%,100%{transform:scale(1) rotate(0deg)}20%{transform:scale(1.08) rotate(-8deg)}40%{transform:scale(1.14) rotate(8deg)}60%{transform:scale(1.08) rotate(-6deg)}80%{transform:scale(1.02) rotate(4deg)}}@media (prefers-reduced-motion:reduce){.social-btn{animation:none}.social-btn:hover,.social-btn:hover img{transform:none}}
.service-detail{max-width:1450px;margin:10px auto 80px}.service-hero{background:linear-gradient(135deg,#08181E,#123743,#1F5967);border-radius:30px;padding:26px;box-shadow:0 10px 26px rgba(7,24,32,.20);display:grid;grid-template-columns:1.05fr .75fr;gap:30px;align-items:center;color:#fff}.service-hero h1{font-size:clamp(34px,4vw,54px);margin:0 0 14px}.service-hero p{color:#DCEEF3;font-size:17px;line-height:1.6}.service-hero img{width:100%;max-height:440px;object-fit:contain;background:#fff;border-radius:24px}.service-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.btn-primary{display:inline-flex;align-items:center;gap:8px;border-radius:14px;background:#fff;color:#123F49;font-weight:800;padding:13px 18px}.btn-outline{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.28);border-radius:14px;color:#fff;font-weight:700;padding:13px 18px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.metric{background:#fff;border:1px solid #D8E2E8;border-radius:18px;padding:16px;text-align:center;box-shadow:var(--shadow)}.metric b{display:block;font-size:22px;color:#0D2943}.metric span{font-size:11px;color:#5F6E79}.service-content{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.process-list{display:grid;gap:10px}.process-step{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;background:#F7F9FB;border-radius:14px;padding:12px}.step-no{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#0D2943;color:#fff;font-weight:800}.usage-grid{display:flex;gap:8px;flex-wrap:wrap}.usage{background:#E6F0F5;color:#0D2943;border-radius:999px;padding:8px 12px;font-weight:700;font-size:12px}.highlight{margin-top:18px;border-radius:20px;padding:18px;background:#EAF4F6;border:1px solid #D3E5EA;color:#0D2943;font-weight:800;text-align:center}
.sabias-section{max-width:1450px;margin:10px auto 80px}.sabias-wrap{padding-top:4px}.sabias-header-title{text-align:center;color:#0F3D47;font-size:clamp(24px,4vw,34px);font-weight:800;margin:6px 0 18px}.sabias-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sabias-grid-3d{max-width:1600px;margin:0 auto}.sabias-tile{background:linear-gradient(180deg,#FFFFFF 0%,#F4F8FA 100%);border:1px solid #DBE7EC;border-radius:22px;overflow:hidden;box-shadow:0 16px 26px rgba(17,56,66,.18), 0 8px 14px rgba(17,56,66,.12);cursor:pointer;transition:.25s;transform:translateZ(0);padding:0}.sabias-tile:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 20px 34px rgba(17,56,66,.22), 0 10px 18px rgba(17,56,66,.16)}.sabias-tile-top{height:4px;background:#123F49}.sabias-tile-media{height:170px;display:flex;align-items:center;justify-content:center;padding:12px 12px 0}.sabias-tile-media img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(0,0,0,.12))}.sabias-tile h3{margin:10px 8px 14px;color:#123640;font-size:14px;text-align:center;min-height:34px;display:flex;align-items:center;justify-content:center}.sabias-detail-shell{padding-top:4px}.sabias-detail-card{background:#fff;border:1px solid #D8E2E8;border-radius:18px;padding:20px;box-shadow:0 10px 24px rgba(17,56,66,.12)}.sabias-detail-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.75fr);gap:22px;align-items:start}.sabias-detail-main{display:flex;flex-direction:column;gap:14px}.sabias-badge{width:max-content;max-width:100%;display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 14px;font-weight:800}.sabias-badge .material-symbols-rounded{font-size:18px}.sabias-species-emoji{font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.sabias-highlight-head .sabias-species-emoji{font-size:16px}.sabias-species-image-icon{width:20px;height:20px;object-fit:contain;display:inline-block;filter:drop-shadow(0 2px 2px rgba(0,0,0,.12))}.sabias-highlight-head .sabias-species-image-icon{width:17px;height:17px}.sabias-title{margin:0;color:#122531;font-size:clamp(21px,3.2vw,34px);line-height:1.2;text-align:left}.sabias-summary-box{background:#F5F8FA;border-radius:18px;padding:16px 18px}.sabias-summary-box p{margin:0;color:rgba(0,0,0,.82);font-size:15px;line-height:1.55}.sabias-illustration-card{background:#FBFCFD;border-radius:22px;padding:16px;display:flex;align-items:center;justify-content:center;min-height:290px}.sabias-illustration-card img{width:100%;max-height:320px;object-fit:contain}.sabias-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sabias-metric{background:#fff;border:1px solid #D8E2E8;border-radius:18px;padding:14px 10px;text-align:center;box-shadow:0 6px 14px rgba(0,0,0,.08)}.sabias-metric b{display:block;font-size:20px;font-weight:800}.sabias-metric span{display:block;margin-top:4px;font-size:13px;color:rgba(0,0,0,.82)}.sabias-findings-card{margin-top:18px;background:#fff;border-radius:20px;padding:18px;box-shadow:0 6px 14px rgba(0,0,0,.08)}.sabias-findings-head{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:800;margin-bottom:12px}.sabias-highlight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sabias-highlight-card{border-radius:18px;padding:14px}.sabias-highlight-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.sabias-highlight-head .material-symbols-rounded{font-size:16px}.sabias-highlight-card p{margin:0;color:rgba(0,0,0,.82);font-size:14px;line-height:1.45}.sabias-bullets{display:grid;gap:8px;margin-top:12px}.sabias-bullet{display:grid;grid-template-columns:14px 1fr;gap:8px;align-items:start;color:rgba(0,0,0,.88);font-size:14px;line-height:1.5}.sabias-bullet-dot{font-weight:800;color:#111}.modal{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.68);padding:20px;display:grid;place-items:center}.modal-card{background:#fff;border-radius:24px;max-width:760px;width:min(100%,760px);max-height:88vh;overflow:auto;padding:20px;position:relative}.modal-close{position:absolute;right:14px;top:14px;width:40px;height:40px;border:0;border-radius:50%;background:#eef4f6;cursor:pointer}.modal-card img{width:100%;max-height:300px;object-fit:contain}.modal-card li{margin:8px 0;line-height:1.45}.intro-card{max-width:350px;text-align:center;padding:20px}.intro-logo{width:256px!important;height:128px!important;object-fit:cover!important;margin:14px auto 0}.intro-card h2{color:#000;margin-bottom:6px}.intro-card p{color:#111;line-height:1.5}.intro-tip{font-weight:800;color:#0D2943!important}.toast{position:fixed;left:50%;bottom:82px;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:100;background:#0B222A;color:#fff;border-radius:12px;padding:12px 16px;max-width:min(92vw,520px);box-shadow:0 10px 24px rgba(0,0,0,.2);transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1299px){.nav{gap:0}.nav a{font-size:12px;padding:7px 7px}.contact-mini{font-size:12px;gap:8px}.hero{grid-template-columns:1fr .58fr 300px}.hero-logo{width:130px;height:130px}.hero-image{height:350px}.service-grid{grid-template-columns:repeat(3,1fr)}.programs{grid-template-columns:minmax(340px,420px) 263px repeat(2,263px)}.cards-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1019px){.nav{display:none}.menu-btn{display:grid;place-items:center;margin-left:auto}.contact-mini{margin-left:auto}.hero{grid-template-columns:1fr 300px}.hero-image{display:none}.hero-brand{align-items:center}.service-grid{grid-template-columns:repeat(3,1fr)}.cards-3{grid-template-columns:repeat(2,1fr)}.programs{grid-template-columns:minmax(330px,420px) 263px 263px}.service-hero{grid-template-columns:1fr}.service-content{grid-template-columns:1fr}}
@media(max-width:699px){.hero{display:flex;flex-direction:column}.mobile-main-carousel{order:1}.form-card{order:2}.header{min-height:56px;padding:7px 10px}.brand-button{width:40px;height:40px;border-width:2px}.mobile-title{display:block;font-size:12px}.header>.contact-mini{display:none}.mobile-contacts{display:block}.mobile-contacts .contact-mini{justify-content:center;gap:12px}.mobile-contacts .contact-mini a{font-size:12px}.hero{display:flex;flex-direction:column;min-height:0;padding:0;background:transparent;box-shadow:none;border-radius:0}.hero-copy,.hero-image{display:none}.mobile-main-carousel{display:block;margin:0 0 10px;height:min(58vw,360px);border-radius:0;border:0;box-shadow:none;background:#fff}.mobile-main-carousel img{border-radius:0;object-fit:contain}.form-card{max-width:430px;margin:auto;background:transparent;padding:0}.contact-form{border-radius:20px}.section-title{font-size:18px;border-radius:12px}.services-heading{font-size:24px}.service-grid{grid-template-columns:repeat(3,1fr);gap:9px}.service-card{border-radius:18px;box-shadow:0 10px 20px rgba(17,56,66,.2), inset 0 1px 0 rgba(255,255,255,.95)}.service-card .img-wrap{height:115px;padding:8px 8px 0}.service-card img{object-fit:contain}.service-card h3{font-size:11px;margin:8px 4px 10px;min-height:46px}.section-block{border-radius:22px;padding:12px 9px}.programs{display:flex;flex-direction:column;align-items:stretch;overflow:visible}.program-carousel{width:100%;height:min(135vw,520px);border-radius:26px}.video-card{width:100%;height:min(150vw,520px);border-radius:26px}.cards-3,.cards-4{grid-template-columns:1fr}.service-hero{border-radius:22px;padding:18px}.metrics{grid-template-columns:repeat(3,1fr);gap:7px}.metric{padding:11px 6px}.metric b{font-size:16px}.sabias-grid{grid-template-columns:repeat(3,1fr);gap:9px}.sabias-tile{border-radius:18px}.sabias-tile-media{height:116px;padding:8px 8px 0}.sabias-tile h3{font-size:11px;min-height:44px;margin:8px 4px 10px}.sabias-detail-card{padding:14px;border-radius:18px}.sabias-detail-top{grid-template-columns:1fr;gap:14px}.sabias-title{text-align:center;font-size:21px}.sabias-badge{margin:0 auto}.sabias-illustration-card{min-height:170px;padding:12px;border-radius:18px}.sabias-illustration-card img{max-height:150px}.sabias-summary-box{padding:14px}.sabias-summary-box p{font-size:14px}.sabias-metrics{grid-template-columns:1fr;gap:10px}.sabias-highlight-grid{grid-template-columns:1fr;gap:10px}.sabias-findings-card{padding:14px;border-radius:18px}.social-dock{padding:7px 8px}.promo{display:none}.social-buttons{width:100%;justify-content:flex-end}.footer{font-size:11px;padding:10px 8px}.footer-line{gap:6px}.footer-line .material-symbols-rounded{font-size:14px}.hero-badge{font-size:11px}}
@media(max-width:430px){.service-grid{grid-template-columns:repeat(3,1fr);gap:8px}.service-card .img-wrap{height:92px;padding:7px 7px 0}.service-card h3{font-size:10px;min-height:42px}.sabias-tile-media{height:92px;padding:7px 7px 0}.sabias-tile h3{font-size:10px;min-height:40px}.mobile-title{font-size:11px}.form-intro{font-size:12px}.social-btn{width:42px;height:42px}.social-btn img{width:25px;height:25px}.social-btn.social-sabias img{width:28px;height:28px}}

/* ===== Ajustes visuales PC - referencia Flet ===== */
@media (min-width:1020px){
  /* La versión de escritorio aprovecha todo el ancho disponible. */
  .header{
    max-width:none;
    width:100%;
    margin:0;
    padding:8px 14px;
    gap:10px;
  }
  .brand-button{
    width:52px;
    height:52px;
    flex:0 0 52px;
  }
  .nav{
    flex:0 1 auto;
    justify-content:flex-start;
    gap:4px;
    margin-left:2px;
  }
  .nav a{
    padding:8px 11px;
  }
  .header>.contact-mini{
    margin-left:auto;
  }

  .page{
    max-width:none;
    width:100%;
    margin:0;
    padding:8px 10px;
  }

  /* Banner principal: imagen completa + profundidad similar a Flet. */
  .hero{
    width:100%;
    min-height:560px;
    grid-template-columns:minmax(520px,1.25fr) minmax(260px,.55fr) minmax(300px,.42fr);
    gap:18px;
    padding:18px;
    position:relative;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:
      0 18px 34px rgba(7,24,32,.25),
      0 8px 16px rgba(7,24,32,.18),
      inset 0 1px 0 rgba(255,255,255,.08),
      inset 0 -1px 0 rgba(0,0,0,.16);
  }
  .hero-image{
    width:100%;
    height:clamp(360px,29vw,520px);
    object-fit:contain;
    object-position:center;
    border-radius:0;
    filter:drop-shadow(0 18px 18px rgba(0,0,0,.20));
  }

  /* Separadores: banda petróleo + cápsula negra con relieve, como Flet. */
  .section-title{
    width:calc(100% - 24px);
    margin:18px auto;
    padding:10px 18px;
    border-radius:999px;
    background:linear-gradient(180deg,#080C0E 0%,#000 58%,#071116 100%);
    border:1px solid rgba(117,199,244,.88);
    color:#fff;
    box-shadow:
      0 0 0 10px #203A43,
      0 12px 22px rgba(5,23,30,.23),
      inset 0 2px 3px rgba(255,255,255,.08),
      inset 0 -4px 8px rgba(0,0,0,.55);
    text-shadow:0 1px 2px rgba(0,0,0,.55);
  }
  .section-title .material-symbols-rounded{
    filter:drop-shadow(0 2px 2px rgba(0,0,0,.38));
  }

  /* Servicios: seis tarjetas con sombra inferior marcada / aspecto 3D. */
  .service-grid{
    width:calc(100% - 34px);
    max-width:none;
    margin:0 auto 20px;
    gap:14px;
  }
  .service-card{
    background:linear-gradient(180deg,#FFFFFF 0%,#FCFEFF 72%,#F0F5F7 100%);
    border:1px solid #D7E4E9;
    border-radius:22px;
    box-shadow:
      0 18px 25px rgba(11,38,47,.24),
      0 8px 11px rgba(11,38,47,.17),
      inset 0 1px 0 rgba(255,255,255,1),
      inset 0 -1px 0 rgba(12,52,64,.06);
    overflow:hidden;
  }
  .service-card::before{
    height:4px;
    background:linear-gradient(90deg,#0D3741,#155866,#0D3741);
    box-shadow:0 2px 3px rgba(0,0,0,.12);
  }
  .service-card:hover{
    transform:translateY(-5px) scale(1.012);
    box-shadow:
      0 24px 34px rgba(11,38,47,.27),
      0 10px 14px rgba(11,38,47,.18),
      inset 0 1px 0 rgba(255,255,255,1);
  }
  .service-card .img-wrap{
    height:clamp(175px,15vw,250px);
    padding:16px 14px 2px;
  }
  .service-card img{
    object-fit:contain;
    filter:drop-shadow(0 11px 10px rgba(0,0,0,.13));
  }
  .service-card h3{
    min-height:46px;
    margin:10px 8px 14px;
  }
}

@media (min-width:1300px){
  .service-grid{grid-template-columns:repeat(6,minmax(0,1fr));}
}

/* =========================================================
   RESTAURACIÓN RESPONSIVE FLET · PROGRAMAS HACIA ABAJO
   Mantiene intacto el diseño móvil ya aprobado (<700px).
   ========================================================= */
@media (min-width:700px){
  /* Bloques principales: mismo fondo, borde y respiración de Flet. */
  #programas + .section-block,
  #mision + .section-block,
  #sanitizacion + .section-block,
  #quienes + .section-block,
  #historia + .section-block{
    width:100%;
    margin-left:auto;
    margin-right:auto;
    padding:14px 12px 18px;
    border-radius:30px;
    border:1px solid #DFEAEE;
    background:#F7FBFC;
  }

  /* ---------- PROGRAMAS ---------- */
  #programas + .section-block .programs{
    overflow:visible;
    align-items:stretch;
    justify-content:center;
    margin:0 auto;
    padding:4px 0;
  }
  #programas + .section-block .programs > div:first-child{
    display:flex;
    flex-direction:column;
    gap:14px;
    min-width:0;
  }
  #programas + .section-block .programs > div:first-child > .card{
    margin-top:0!important;
    border-radius:20px;
    border:1px solid #D8E2E8;
    background:#fff;
    box-shadow:
      0 18px 30px rgba(13,38,46,.17),
      0 8px 14px rgba(13,38,46,.11),
      inset 0 1px 0 rgba(255,255,255,.98);
  }
  #programas + .section-block .program-carousel{
    min-width:0;
    border-radius:24px;
    border:1px solid #D9E5EA;
    background:#FDFEFE;
    box-shadow:
      0 20px 34px rgba(12,38,46,.21),
      0 9px 15px rgba(12,38,46,.13),
      inset 0 1px 0 rgba(255,255,255,.98);
  }
  #programas + .section-block .program-carousel img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  /* ---------- MISION / VISION / VALORES ---------- */
  #mision + .section-block .section-lead,
  #quienes + .section-block .section-lead{
    margin-bottom:18px;
  }
  #mision + .section-block .info-card,
  #quienes + .section-block .info-card,
  #historia + .section-block .info-card{
    border:1px solid #D8E2E8;
    border-radius:20px;
    background:#fff;
    box-shadow:
      0 18px 30px rgba(13,38,46,.17),
      0 8px 14px rgba(13,38,46,.10),
      inset 0 1px 0 rgba(255,255,255,.98);
  }

  /* ---------- SANITIZACION ---------- */
  #sanitizacion + .section-block{
    display:flex;
    justify-content:center;
    align-items:center;
    padding-top:18px;
    padding-bottom:20px;
  }
  #sanitizacion + .section-block .video-card{
    width:min(360px,90vw);
    max-width:360px!important;
    height:520px!important;
    margin:0 auto!important;
    border-radius:24px;
    border:1px solid #D9E5EA;
    box-shadow:
      0 22px 38px rgba(12,38,46,.23),
      0 10px 18px rgba(12,38,46,.15),
      inset 0 1px 0 rgba(255,255,255,.98);
  }

  /* Flet ocultaba Historia en tablet/PC y la mostraba en móvil. */
  #historia,
  #historia + .section-block{
    display:none;
  }
}

/* TABLET / DESKTOP COMPACTO: reproduce los cambios de distribución Flet. */
@media (min-width:700px) and (max-width:1099px){
  #programas + .section-block .programs{
    width:min(96vw,980px);
    grid-template-columns:minmax(335px,380px) minmax(280px,460px);
    gap:18px;
  }
  #programas + .section-block .programs > div:first-child > .card:first-child{
    min-height:372px;
    flex:1 1 372px;
  }
  #programas + .section-block .programs > div:first-child > .card:last-child{
    min-height:245px;
    flex:0 0 auto;
  }
  #programas + .section-block .program-carousel{
    width:100%;
    height:631px;
  }

  /* Flet: Misión/Visión arriba y Valores/Diferencia abajo. */
  #mision + .section-block .cards-4{
    width:min(84vw,980px);
    margin:0 auto;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px 10px;
  }
  #mision + .section-block .cards-4 > *{
    display:block;
  }
  #mision + .section-block .info-card{
    height:360px;
    overflow:auto;
  }

  /* Flet tablet: Quiénes Somos mostraba dos tarjetas principales. */
  #quienes + .section-block .cards-3{
    width:min(84vw,980px);
    margin:0 auto;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  #quienes + .section-block .cards-3 > :nth-child(3){
    display:none;
  }
  #quienes + .section-block .info-card{
    height:auto;
    min-height:330px;
  }
}

/* PC: distribución de la versión Flet. */
@media (min-width:1100px){
  #programas + .section-block{
    padding-top:18px;
    padding-bottom:18px;
  }
  #programas + .section-block .programs{
    width:min(97vw,1760px);
    grid-template-columns:minmax(350px,390px) minmax(360px,540px);
    gap:18px;
    justify-content:center;
  }
  #programas + .section-block .programs > div:first-child > .card:first-child{
    height:340px;
    overflow:auto;
  }
  #programas + .section-block .programs > div:first-child > .card:last-child{
    min-height:245px;
  }
  #programas + .section-block .program-carousel{
    width:100%;
    height:599px;
  }

  /* Flet PC: tres columnas: Misión, Visión y Valores. */
  #mision + .section-block{
    padding:18px 14px;
  }
  #mision + .section-block .cards-4{
    width:100%;
    margin:0 auto;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
  }
  #mision + .section-block .cards-4 > :nth-child(4){
    display:none;
  }
  #mision + .section-block .info-card{
    height:330px;
    overflow:auto;
  }

  /* Flet PC: tres tarjetas de Quiénes Somos en una sola fila. */
  #quienes + .section-block{
    padding:18px 14px;
  }
  #quienes + .section-block .cards-3{
    width:100%;
    margin:0 auto;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
  }
  #quienes + .section-block .cards-3 > :nth-child(3){
    display:block;
  }
  #quienes + .section-block .info-card{
    height:330px;
    overflow:auto;
  }
}

/* PC grande: deja respirar un poco más el contenido sin perder ancho útil. */
@media (min-width:1600px){
  #programas + .section-block .programs{
    grid-template-columns:390px 540px;
  }
  #mision + .section-block,
  #quienes + .section-block{
    padding-left:18px;
    padding-right:18px;
  }
}

/* Ajustes finos para que las dos tarjetas de Programas conserven
   la misma altura total que el carrusel, como en Flet. */
@media (min-width:700px) and (max-width:1099px){
  #programas + .section-block .programs > div:first-child > .card:first-child{
    height:372px;
    min-height:372px;
    overflow:auto;
  }
  #programas + .section-block .programs > div:first-child > .card:last-child{
    height:245px;
    min-height:245px;
    overflow:auto;
  }
}
@media (min-width:1100px){
  #programas + .section-block .programs > div:first-child > .card:first-child{
    height:340px;
    min-height:340px;
    overflow:auto;
  }
  #programas + .section-block .programs > div:first-child > .card:last-child{
    height:245px;
    min-height:245px;
    overflow:auto;
  }
}

/* El parche PC anterior comenzaba en 1020px. En el rango compacto
   1020-1099 reducimos proporciones para evitar desbordamiento horizontal. */
@media (min-width:1020px) and (max-width:1099px){
  .header{
    padding:7px 10px;
    gap:6px;
  }
  .brand-button{
    width:46px;
    height:46px;
    flex-basis:46px;
  }
  .nav{
    gap:0;
  }
  .nav a{
    font-size:11px;
    padding:6px 6px;
  }
  .header>.contact-mini{
    font-size:10px;
    gap:4px;
    white-space:nowrap;
  }
  .header>.contact-mini .material-symbols-rounded{
    font-size:17px;
  }
  .hero{
    min-height:500px;
    grid-template-columns:minmax(0,1fr) 190px 260px;
    gap:12px;
    padding:14px;
  }
  .hero-logo{
    width:110px;
    height:110px;
  }
  .hero-image{
    height:320px;
  }
  .form-card{
    max-width:260px;
    width:100%;
  }
}

/* =========================================================
   PC/TABLET FLET · PROGRAMAS + SERVICIOS + FIRMA (v10)
   Replica el comportamiento responsive de la versión Flet.
   ========================================================= */

/* Tarjetas de video de Programas: ocultas por defecto. Flet las va
   agregando progresivamente según el ancho disponible. */
.program-video-card{
  display:none;
  padding:0;
  text-decoration:none;
  position:relative;
  min-width:0;
  width:100%;
  height:100%;
  border-radius:24px;
  overflow:hidden;
  border:1px solid #D7E4E9;
  background:#FDFEFE;
  box-shadow:0 18px 28px rgba(11,38,47,.20),0 10px 16px rgba(11,38,47,.15),inset 0 1px 0 rgba(255,255,255,.98);
  cursor:pointer;
}
.program-video-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.program-video-overlay{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  background:rgba(0,0,0,.03);
}
.program-video-overlay .material-symbols-rounded{
  display:grid;
  place-items:center;
  width:76px;
  height:76px;
  border-radius:50%;
  color:#fff;
  font-size:64px;
  text-shadow:0 4px 14px rgba(0,0,0,.45);
  filter:drop-shadow(0 5px 10px rgba(0,0,0,.32));
  transition:transform .2s ease;
}
.program-video-card:hover .program-video-overlay .material-symbols-rounded{transform:scale(1.10)}

/* En la versión Flet, Sanitización independiente es sólo móvil.
   Desde tablet/PC el video vive dentro de Programas. */
@media (min-width:700px){
  #sanitizacion,
  #sanitizacion + .section-block{
    display:none!important;
  }
}

/* PROGRAMAS · altura total igual a las dos tarjetas de la izquierda. */
@media (min-width:700px){
  #programas + .section-block .programs{
    display:grid;
    width:min(97vw,1760px);
    max-width:100%;
    margin:0 auto;
    gap:18px;
    align-items:start;
    justify-content:stretch;
    overflow:visible;
  }
  #programas + .section-block .program-carousel,
  #programas + .section-block .program-video-card{
    width:100%;
    height:631px;
    min-width:0;
    border-radius:24px;
  }
}

@media (min-width:700px) and (max-width:1019px){
  #programas + .section-block .programs{
    grid-template-columns:minmax(335px,380px) minmax(280px,1fr);
  }
}

@media (min-width:1020px){
  #programas + .section-block .programs{
    grid-template-columns:minmax(350px,390px) minmax(0,1fr);
  }
  #programas + .section-block .program-carousel,
  #programas + .section-block .program-video-card{
    height:599px;
  }
}

/* Flet: carrusel + 1 video desde 1120px. */
@media (min-width:1120px) and (max-width:1499px){
  #programas + .section-block .programs{
    grid-template-columns:minmax(350px,390px) repeat(2,minmax(0,1fr));
  }
  #programas + .section-block .program-video-1{display:block}
}

/* Flet: carrusel + 2 videos desde 1500px. */
@media (min-width:1500px) and (max-width:1819px){
  #programas + .section-block .programs{
    grid-template-columns:minmax(350px,390px) repeat(3,minmax(0,1fr));
  }
  #programas + .section-block .program-video-1,
  #programas + .section-block .program-video-2{display:block}
}

/* Flet: carrusel + 3 videos desde 1820px. */
@media (min-width:1820px) and (max-width:2139px){
  #programas + .section-block .programs{
    grid-template-columns:minmax(340px,390px) repeat(4,minmax(0,1fr));
  }
  #programas + .section-block .program-video-1,
  #programas + .section-block .program-video-2,
  #programas + .section-block .program-video-3{display:block}
}

/* Flet agrega el cuarto video en pantallas ultra-anchas. Para conservar
   el tamaño útil de las tarjetas se permite scroll horizontal. */
@media (min-width:2140px){
  #programas + .section-block{overflow-x:auto}
  #programas + .section-block .programs{
    width:max-content;
    min-width:1760px;
    grid-template-columns:390px repeat(5,360px);
  }
  #programas + .section-block .program-video-1,
  #programas + .section-block .program-video-2,
  #programas + .section-block .program-video-3,
  #programas + .section-block .program-video-4{display:block}
}

/* FIRMA · Flet usa una sola Row en escritorio. */
@media (min-width:1020px){
  .footer{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    flex-wrap:nowrap;
    white-space:nowrap;
    padding:10px 12px;
    font-size:11px;
    line-height:1.2;
  }
  .footer-line{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    margin:0!important;
    flex-wrap:nowrap;
  }
  .footer-line + .footer-line::before{
    content:"|";
    margin-right:3px;
    color:#202325;
    font-weight:800;
  }
  .footer-line .material-symbols-rounded{font-size:14px}
}

/* SERVICIOS INTERNOS · más ancho útil y proporciones fluidas. */
@media (min-width:1020px){
  .service-detail:not(.sabias-section){
    width:min(96vw,2000px);
    max-width:none;
    margin:18px auto 80px;
  }
  .service-detail:not(.sabias-section) .service-hero{
    width:100%;
    grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);
    gap:clamp(22px,2.2vw,42px);
    padding:clamp(24px,2.2vw,42px);
    border-radius:30px;
    box-shadow:0 18px 34px rgba(7,24,32,.23),0 8px 16px rgba(7,24,32,.15),inset 0 1px 0 rgba(255,255,255,.08);
  }
  .service-detail:not(.sabias-section) .service-hero h1{
    font-size:clamp(38px,3.5vw,64px);
  }
  .service-detail:not(.sabias-section) .service-hero p{
    font-size:clamp(15px,1.15vw,19px);
    line-height:1.6;
  }
  .service-detail:not(.sabias-section) .service-hero img{
    width:100%;
    max-height:clamp(390px,32vw,560px);
    min-height:360px;
    object-fit:contain;
  }
  .service-detail:not(.sabias-section) .metrics,
  .service-detail:not(.sabias-section) .service-content,
  .service-detail:not(.sabias-section) .highlight{
    width:100%;
  }
  .service-detail:not(.sabias-section) .metrics{gap:14px}
  .service-detail:not(.sabias-section) .metric{
    padding:18px 14px;
    box-shadow:0 12px 22px rgba(13,38,46,.13),0 5px 10px rgba(13,38,46,.08);
  }
  .service-detail:not(.sabias-section) .service-content{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
  }
  .service-detail:not(.sabias-section) .service-content .info-card{
    box-shadow:0 16px 28px rgba(13,38,46,.14),0 7px 13px rgba(13,38,46,.09);
  }
}

/* En escritorio compacto conservamos ancho, pero evitamos que la imagen
   empuje el texto fuera del viewport. */
@media (min-width:1020px) and (max-width:1240px){
  .service-detail:not(.sabias-section){width:calc(100vw - 28px)}
  .service-detail:not(.sabias-section) .service-hero{
    grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
    padding:24px;
  }
  .service-detail:not(.sabias-section) .service-hero img{min-height:320px}
}

/* =========================================================
   v11 · SABÍAS QUE RESPONSIVE EN PC
   Replica el comportamiento de GridView/Flet: tarjetas de
   extensión máxima cercana a 240px y detalle a ancho completo.
   No modifica móvil.
   ========================================================= */
@media (min-width:1020px){
  /* La sección deja de heredar el límite central de .page y usa
     prácticamente todo el viewport, como el contenedor Flet. */
  .sabias-section{
    width:calc(100vw - 28px);
    max-width:none;
    margin:14px 0 80px;
    margin-left:50%;
    transform:translateX(-50%);
  }
  .sabias-wrap,
  .sabias-detail-shell{
    width:100%;
    max-width:none;
  }

  /* Flet usa max_extent 240 en desktop: el número de columnas
     aumenta automáticamente según el ancho disponible. */
  .sabias-grid-3d{
    width:100%;
    max-width:none;
    grid-template-columns:repeat(auto-fit,minmax(205px,1fr));
    gap:14px 12px;
    padding:0 clamp(8px,1vw,18px);
  }
  .sabias-header-title{
    font-size:clamp(28px,2.1vw,36px);
    margin:8px 0 18px;
  }
  .sabias-tile{
    min-width:0;
    border-radius:22px;
    box-shadow:0 16px 28px rgba(17,56,66,.19),0 8px 14px rgba(17,56,66,.12),inset 0 1px 0 rgba(255,255,255,.95);
  }
  .sabias-tile-media{
    height:clamp(160px,11vw,195px);
    padding:12px 12px 0;
  }
  .sabias-tile h3{
    min-height:38px;
    margin:10px 8px 13px;
    font-size:clamp(12px,.8vw,14px);
  }

  /* Detalle de especie: en Flet desktop el bloque superior usa
     7/5 y el bloque de hallazgos ocupa toda la anchura. */
  .sabias-detail-card{
    width:100%;
    max-width:none;
    padding:clamp(20px,1.5vw,30px);
    border-radius:18px;
    box-shadow:0 14px 28px rgba(17,56,66,.13),0 6px 13px rgba(17,56,66,.08);
  }
  .sabias-detail-top{
    width:100%;
    grid-template-columns:minmax(0,7fr) minmax(330px,5fr);
    gap:clamp(20px,1.7vw,30px);
    align-items:start;
  }
  .sabias-detail-main{gap:16px;min-width:0}
  .sabias-title{
    font-size:clamp(30px,2.25vw,36px);
    line-height:1.14;
  }
  .sabias-summary-box{
    padding:16px 18px;
  }
  .sabias-summary-box p{
    font-size:clamp(15px,1vw,17px);
    line-height:1.55;
  }
  .sabias-illustration-card{
    width:100%;
    min-height:350px;
    padding:16px 20px;
  }
  .sabias-illustration-card img{
    width:100%;
    height:350px;
    max-height:350px;
    object-fit:contain;
  }
  .sabias-metrics{gap:10px}
  .sabias-metric{
    padding:14px 12px;
    box-shadow:0 7px 15px rgba(0,0,0,.09);
  }
  .sabias-metric b{font-size:20px}
  .sabias-metric span{font-size:14px}
  .sabias-findings-card{
    width:100%;
    margin-top:18px;
    padding:18px;
  }
  .sabias-highlight-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
  }
  .sabias-highlight-card p,
  .sabias-bullet{
    font-size:clamp(14px,.9vw,16px);
  }
}

/* Laptop/PC compacto: conserva la lógica Flet (<1200 max_extent 200)
   y evita que el panel de imagen comprima el contenido. */
@media (min-width:1020px) and (max-width:1199px){
  .sabias-grid-3d{
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:12px 10px;
  }
  .sabias-tile-media{height:160px}
  .sabias-detail-top{
    grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
    gap:18px;
  }
  .sabias-illustration-card{min-height:310px}
  .sabias-illustration-card img{height:310px;max-height:310px}
}

/* v12 - Botón Volver en detalle Sabías que, solo PC */
.sabias-species-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sabias-back-pc{display:none;align-items:center;gap:5px;border:1px solid #D4E2E8;background:#EAF2F5;color:#0D2943;border-radius:999px;padding:8px 12px;font-weight:800;font-size:13px;box-shadow:0 5px 12px rgba(13,41,67,.10);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.sabias-back-pc .material-symbols-rounded{font-size:18px}
@media(min-width:1020px){
  .sabias-back-pc{display:inline-flex}
  .sabias-back-pc:hover{transform:translateY(-1px);background:#DDEBF0;box-shadow:0 8px 16px rgba(13,41,67,.14)}
}
@media(max-width:699px){.sabias-species-row{justify-content:center}.sabias-back-pc{display:none!important}}

/* =========================================================
   v13 · TABLET FLET (700–1019px)
   Replica la organización de la versión antigua sin alterar
   móvil (<700px) ni PC (>=1020px).
   ========================================================= */
.mail-short{display:none}

@media (min-width:700px) and (max-width:1019px){
  /* ----- ESTRUCTURA GENERAL ----- */
  .page{
    width:100%;
    max-width:none;
    margin:0;
    padding:6px 8px;
  }

  /* ----- HEADER TABLET: logo + tabs + contactos ----- */
  .header{
    width:100%;
    max-width:none;
    min-height:50px;
    margin:0;
    padding:4px 8px;
    gap:6px;
  }
  .brand-button{
    width:36px;
    height:36px;
    flex:0 0 36px;
    border-width:2px;
    padding:3px;
  }
  .mobile-title{display:none!important}
  .nav{
    display:flex!important;
    flex:0 1 auto;
    justify-content:flex-start;
    gap:0;
    margin-left:0;
    min-width:0;
  }
  .nav a{
    font-size:clamp(10px,1.38vw,14px);
    padding:5px clamp(5px,.8vw,9px);
    border-radius:8px;
  }
  .menu-btn{display:none!important}
  .mobile-menu{display:none!important}
  .mobile-contacts{display:none!important}
  .header>.contact-mini{
    display:flex!important;
    margin-left:auto;
    gap:6px;
    flex:0 0 auto;
    white-space:nowrap;
    font-size:clamp(9px,1.1vw,12px);
  }
  .header>.contact-mini a{gap:3px}
  .header>.contact-mini .material-symbols-rounded{font-size:18px}
  .header>.contact-mini .mail-short{display:none}
  .header>.contact-mini .mail-full{display:inline}

  /* Flet: 700–804 muestra sólo iconos de contacto. */
  @media (max-width:804px){
    .header>.contact-mini .contact-label{display:none}
  }
  /* Flet: 805–899 muestra E-Mail abreviado. */
  @media (min-width:805px) and (max-width:899px){
    .header>.contact-mini .contact-label{display:inline}
    .header>.contact-mini .mail-full{display:none}
    .header>.contact-mini .mail-short{display:inline}
  }

  /* ----- HERO / BANNER TABLET ----- */
  .hero{
    display:grid!important;
    width:100%;
    min-height:0;
    grid-template-columns:
      minmax(260px,360px)
      clamp(125px,16vw,165px)
      clamp(220px,26vw,250px);
    gap:12px;
    align-items:center;
    justify-content:space-between;
    padding:18px 30px;
    border-radius:26px;
    background:linear-gradient(135deg,#08181E,#123743,#1F5967);
    box-shadow:0 14px 26px rgba(7,24,32,.22),0 6px 12px rgba(7,24,32,.14);
  }
  .hero-copy{
    display:flex!important;
    min-width:0;
    gap:8px;
  }
  .hero-badge{
    font-size:11px;
    padding:6px 10px;
  }
  .hero-brand{gap:8px;align-items:center}
  .hero-logo{
    width:clamp(58px,7.5vw,82px);
    height:clamp(58px,7.5vw,82px);
    flex:0 0 auto;
  }
  .hero h1{
    font-size:clamp(18px,2.45vw,28px);
    line-height:1.02;
  }
  .hero-copy>p{
    font-size:clamp(10px,1.12vw,13px);
    line-height:1.42;
  }
  .trust{gap:6px}
  .pill{
    font-size:10px;
    padding:6px 8px;
  }
  .btn-light{
    min-width:0;
    width:max-content;
    padding:11px 15px;
    border-radius:14px;
    font-size:15px;
  }
  .hero-image{
    display:block!important;
    width:100%;
    height:clamp(170px,22vw,235px);
    object-fit:contain;
    object-position:center;
    border-radius:0;
    filter:drop-shadow(0 12px 12px rgba(0,0,0,.18));
  }
  .form-card{
    display:block;
    width:clamp(220px,26vw,250px);
    max-width:250px;
    padding:8px;
    background:rgba(255,255,255,.06);
    border-radius:16px;
    box-shadow:0 8px 16px rgba(0,0,0,.12);
  }
  .contact-form{
    padding:10px;
    gap:4px;
    border-radius:16px;
  }
  .form-intro{
    margin:0 0 2px;
    font-size:11px;
    line-height:1.28;
  }
  .contact-form input,
  .contact-form textarea{
    border-radius:10px;
    padding:10px 11px;
    font-size:13px;
  }
  .contact-form textarea{
    min-height:56px;
    max-height:72px;
  }
  .gradient-btn{
    min-height:34px;
    padding:7px 10px;
    font-size:14px;
  }
  .mobile-main-carousel{display:none!important}

  /* ----- SEPARADORES TABLET: estilo Flet ----- */
  .section-title{
    width:calc(100% - 20px);
    margin:18px auto;
    padding:10px 18px;
    border-radius:999px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.16);
    color:#fff;
    font-size:18px;
    box-shadow:
      0 0 0 10px #203A43,
      0 8px 16px rgba(0,0,0,.15),
      inset 0 1px 0 rgba(255,255,255,.06);
  }
  .section-title .material-symbols-rounded{font-size:20px}

  /* ----- SERVICIOS TABLET ----- */
  .section-block{
    width:100%;
    padding:14px 10px;
    border-radius:28px;
  }
  .services-heading{
    font-size:28px;
    margin:12px 0 18px;
  }
  .service-grid{
    width:min(96vw,980px);
    max-width:none;
    margin:0 auto 18px;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,240px));
    justify-content:center;
    gap:12px 10px;
  }
  .service-card{
    border-radius:22px;
    box-shadow:0 15px 24px rgba(17,56,66,.18),0 7px 12px rgba(17,56,66,.12);
  }
  .service-card .img-wrap{
    height:clamp(150px,20vw,190px);
    padding:12px 12px 0;
  }
  .service-card h3{
    font-size:clamp(12px,1.45vw,16px);
    min-height:42px;
    margin:9px 10px 12px;
  }

  /* 900–1019: Flet reduce la extensión máxima de las tarjetas. */
  @media (min-width:900px){
    .service-grid{
      width:min(94vw,1040px);
      grid-template-columns:repeat(auto-fit,minmax(180px,200px));
    }
    .service-card h3{font-size:12px}
  }

  /* ----- PROGRAMAS TABLET ----- */
  #programas + .section-block{
    padding:14px 6px 18px;
  }
  #programas + .section-block .programs{
    width:min(96vw,860px);
    grid-template-columns:minmax(335px,380px) minmax(280px,1fr);
    gap:18px;
    align-items:start;
    justify-content:center;
  }
  #programas + .section-block .programs > div:first-child > .card:first-child{
    height:372px;
    min-height:372px;
    overflow:auto;
  }
  #programas + .section-block .programs > div:first-child > .card:last-child{
    height:245px;
    min-height:245px;
    overflow:auto;
  }
  #programas + .section-block .program-carousel{
    width:100%;
    height:631px;
  }
  #programas + .section-block .program-video-card{display:none!important}
  @media (min-width:900px){
    #programas + .section-block .programs{width:min(94vw,1120px)}
  }

  /* ----- MISIÓN / VISIÓN / VALORES TABLET: 2 x 2 ----- */
  #mision + .section-block{
    padding:16px 6px;
  }
  #mision + .section-block .cards-4{
    width:min(84vw,980px);
    margin:0 auto;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px 10px;
  }
  #mision + .section-block .cards-4 > *{display:block!important}
  #mision + .section-block .info-card{
    height:360px;
    overflow:auto;
  }

  /* ----- SANITIZACIÓN INDEPENDIENTE: OCULTA EN TABLET ----- */
  #sanitizacion,
  #sanitizacion + .section-block{display:none!important}

  /* ----- QUIÉNES SOMOS TABLET: dos tarjetas ----- */
  #quienes + .section-block{
    padding:14px 6px;
  }
  #quienes + .section-block .cards-3{
    width:min(84vw,980px);
    margin:0 auto;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  #quienes + .section-block .cards-3 > :nth-child(3){display:none!important}
  #quienes + .section-block .info-card{
    height:auto;
    min-height:330px;
    overflow:visible;
  }

  /* Historia es sólo móvil en la versión Flet. */
  #historia,
  #historia + .section-block{display:none!important}

  /* ----- FIRMA TABLET: una sola fila compacta ----- */
  .footer{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    flex-wrap:nowrap;
    white-space:nowrap;
    padding:8px 6px;
    font-size:9px;
    line-height:1.1;
  }
  .footer-line{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:3px;
    margin:0!important;
    flex-wrap:nowrap;
  }
  .footer-line + .footer-line::before{
    content:"|";
    margin-right:2px;
    color:#202325;
    font-weight:800;
  }
  .footer-line .material-symbols-rounded{font-size:12px}

  /* ----- DOCK INFERIOR TABLET ----- */
  .social-dock{
    padding:8px 10px;
    gap:8px;
  }
  .promo{
    min-height:48px;
    padding:7px 9px;
    gap:4px 8px;
    font-size:11px;
    line-height:1.2;
    flex-wrap:wrap;
  }
  .social-buttons{gap:6px;flex:0 0 auto}
  .social-btn{width:42px;height:42px}
  .social-btn img{width:25px;height:25px}
  .social-btn.social-sabias img{width:28px;height:28px}

  /* ----- SABÍAS QUE TABLET ----- */
  .sabias-section{
    width:min(96vw,980px);
    max-width:none;
    margin:10px auto 80px;
  }
  .sabias-grid-3d{
    width:100%;
    max-width:none;
    grid-template-columns:repeat(auto-fit,minmax(180px,220px));
    justify-content:center;
    gap:12px 10px;
  }
  .sabias-tile-media{height:165px}
  .sabias-tile h3{font-size:14px}
  .sabias-detail-card{padding:18px}
  .sabias-detail-top{
    grid-template-columns:minmax(0,6fr) minmax(220px,4fr);
    gap:18px;
    align-items:start;
  }
  .sabias-title{
    text-align:left;
    font-size:clamp(24px,3vw,28px);
  }
  .sabias-badge{margin:0}
  .sabias-illustration-card{
    min-height:230px;
    padding:14px;
  }
  .sabias-illustration-card img{max-height:220px}
  .sabias-summary-box p{font-size:15px}
  .sabias-metrics{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }
  .sabias-highlight-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
  }
  .sabias-highlight-card p,
  .sabias-bullet{font-size:14px}

  @media (min-width:900px){
    .sabias-section{width:min(94vw,1120px)}
    .sabias-grid-3d{grid-template-columns:repeat(auto-fit,minmax(180px,200px))}
  }

  /* ----- DETALLE DE SERVICIOS TABLET ----- */
  .service-detail:not(.sabias-section){
    width:min(96vw,980px);
    max-width:none;
    margin:10px auto 80px;
  }
  .service-detail:not(.sabias-section) .service-hero{
    grid-template-columns:minmax(0,7fr) minmax(250px,5fr);
    gap:18px;
    padding:20px;
    border-radius:26px;
  }
  .service-detail:not(.sabias-section) .service-hero h1{
    font-size:clamp(30px,4.2vw,44px);
  }
  .service-detail:not(.sabias-section) .service-hero p{
    font-size:15px;
    line-height:1.55;
  }
  .service-detail:not(.sabias-section) .service-hero img{
    display:block!important;
    width:100%;
    min-height:0;
    max-height:340px;
    object-fit:contain;
  }
  .service-detail:not(.sabias-section) .metrics{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .service-detail:not(.sabias-section) .service-content{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }

  /* El template Flet aún era vertical entre 700 y 767. */
  @media (max-width:767px){
    .service-detail:not(.sabias-section){width:min(96vw,860px)}
    .service-detail:not(.sabias-section) .service-hero{
      grid-template-columns:1fr;
      gap:14px;
    }
    .service-detail:not(.sabias-section) .service-hero img{max-height:300px}
    .service-detail:not(.sabias-section) .service-content{grid-template-columns:1fr}
  }

  @media (min-width:900px){
    .service-detail:not(.sabias-section){width:min(94vw,1120px)}
  }
}

/* =========================================================
   v14 · AJUSTES TABLET + PROFUNDIDAD 3D EN PC
   - Tablet: separadores internos negros como Flet.
   - PC: carrusel de Programas y videos con mayor efecto 3D.
   ========================================================= */

/* TABLET 700–1019px: el centro del separador debe ser negro. */
@media (min-width:700px) and (max-width:1019px){
  .section-title{
    background:linear-gradient(180deg,#050505 0%,#000 58%,#090909 100%)!important;
    color:#fff!important;
    border:1px solid #8FD4F5!important;
    box-shadow:
      0 0 0 10px #203A43,
      0 9px 16px rgba(0,0,0,.24),
      inset 0 1px 0 rgba(255,255,255,.16),
      inset 0 -2px 5px rgba(255,255,255,.03)!important;
  }
}

/* PC >=1020px: tarjetas multimedia con profundidad más marcada. */
@media (min-width:1020px){
  #programas + .section-block .program-carousel,
  #programas + .section-block .program-video-card{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(218,232,238,.95);
    border-radius:26px;
    background:#fff;
    transform:translateY(-2px) translateZ(0);
    box-shadow:
      0 26px 34px rgba(7,24,32,.24),
      0 13px 20px rgba(7,24,32,.17),
      0 5px 8px rgba(7,24,32,.12),
      inset 0 2px 0 rgba(255,255,255,.98),
      inset 0 -1px 0 rgba(17,56,66,.10);
    transition:transform .24s ease,box-shadow .24s ease;
  }

  #programas + .section-block .program-carousel::before,
  #programas + .section-block .program-video-card::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    border-radius:inherit;
    box-shadow:
      inset 0 0 0 1px rgba(255,255,255,.58),
      inset 0 8px 14px rgba(255,255,255,.08),
      inset 0 -10px 18px rgba(4,22,29,.08);
  }

  #programas + .section-block .program-carousel::after,
  #programas + .section-block .program-video-card::after{
    content:"";
    position:absolute;
    left:8%;
    right:8%;
    bottom:-17px;
    height:28px;
    z-index:-1;
    border-radius:50%;
    background:rgba(5,25,33,.30);
    filter:blur(13px);
    pointer-events:none;
  }

  #programas + .section-block .program-carousel:hover,
  #programas + .section-block .program-video-card:hover{
    transform:translateY(-6px) scale(1.006) translateZ(0);
    box-shadow:
      0 32px 42px rgba(7,24,32,.28),
      0 16px 24px rgba(7,24,32,.19),
      0 7px 10px rgba(7,24,32,.13),
      inset 0 2px 0 rgba(255,255,255,1),
      inset 0 -1px 0 rgba(17,56,66,.10);
  }

  #programas + .section-block .program-carousel img,
  #programas + .section-block .program-video-card img{
    position:relative;
    z-index:1;
  }

  #programas + .section-block .program-video-overlay{
    z-index:3;
  }
}

/* v15 · Tablet: mostrar botón Volver junto al distintivo de especie */
@media (min-width:700px) and (max-width:1019px){
  .sabias-back-pc{
    display:inline-flex;
    align-items:center;
  }
  .sabias-species-row{
    justify-content:flex-start;
    flex-wrap:nowrap;
  }
}
