﻿/* F7&CO Marketing Website — UI kit styles */
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html,body{width:100%;max-width:100%;overflow-x:hidden;}
body{font-family:var(--font-body);color:var(--f7-azul);background:#fff;}
img{display:block;}

.btn{font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:.03em;padding:15px 26px;border:1.5px solid transparent;cursor:pointer;transition:.15s ease-out;text-decoration:none;display:inline-block;}
.btn-primary{background:#141F60;color:#fff;}
.btn-primary:hover{background:#233CF9;color:#fff;text-decoration:none;}
.btn-accent{background:#E9F939;color:#141F60;}
.btn-accent:hover{background:#141F60;color:#E9F939;text-decoration:none;}
.btn-secondary{background:transparent;color:#141F60;border-color:#141F60;}
.btn-secondary:hover{background:#141F60;color:#fff;text-decoration:none;}
.btn-ghost-light{background:transparent;color:#fff;}
.btn-ghost-light:hover{color:#E9F939;text-decoration:none;}
.btn-block{width:100%;text-align:center;border:none;}
.btn-sm{padding:11px 18px;font-size:12px;}

.eyebrow{font-family:var(--font-display);font-weight:500;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#525FAB;}
.eyebrow-dark{color:#E9F939;}
.eyebrow-light{color:#E9F939;}
.link-arrow{font-family:var(--font-display);font-weight:600;font-size:13px;letter-spacing:.03em;color:#233CF9;text-decoration:none;}
.link-arrow:hover{color:#141F60;}

/* NAV */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--f7-gris);transition:box-shadow .2s,border-color .2s;}
.nav.is-scrolled{box-shadow:0 6px 24px rgba(15,22,71,.08);}
.nav-inner{max-width:1280px;margin:0 auto;padding:16px 48px;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{display:block;width:150px;height:50px;flex:0 0 150px;}
.nav-logo img{width:100%;height:100%;object-fit:contain;display:block;}
.nav-links{display:flex;gap:28px;}
.nav-links a{font-family:var(--font-display);font-weight:500;font-size:13px;letter-spacing:.03em;color:#141F60;text-decoration:none;}
.nav-links a:hover,.nav-links a.active{color:#233CF9;}
.nav-right{display:flex;align-items:center;gap:18px;}
.lang{background:none;border:none;font-family:var(--font-display);font-weight:500;font-size:12px;letter-spacing:.06em;color:#525FAB;cursor:pointer;}

/* HERO */
.hero{background:#141F60;color:#fff;position:relative;overflow:hidden;padding-bottom:90px;}
.hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;display:block;}
.hero-mask{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,#141F60 28%,rgba(20,31,96,.72) 52%,rgba(20,31,96,.30) 100%);}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(82,95,171,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(82,95,171,.16) 1px,transparent 1px);background-size:60px 60px;mask-image:linear-gradient(120deg,#000 30%,transparent 75%);-webkit-mask-image:linear-gradient(120deg,#000 30%,transparent 75%);z-index:1;}
.hero-inner{max-width:1280px;margin:0 auto;padding:104px 48px 70px;position:relative;z-index:3;}
.hero .display{font-size:108px;line-height:.92;letter-spacing:-0.03em;color:#fff;}
.hero .display em{font-style:normal;color:#E9F939;}
.hero-sub{font-family:var(--font-display);font-weight:500;font-size:22px;line-height:1.45;color:#C7CDE4;max-width:620px;margin:32px 0 0;}
.hero-cta-row{display:flex;gap:18px;align-items:center;margin-top:40px;}
.eyebrow .tick{display:inline-block;width:22px;height:3px;background:#E9F939;margin-right:14px;vertical-align:middle;}
.hero-diag{position:absolute;top:-42%;right:-240px;width:720px;height:185%;background:#233CF9;transform:rotate(18deg);opacity:.18;z-index:2;}
.hero-diag-2{position:absolute;top:-42%;right:82px;width:18px;height:185%;background:#E9F939;transform:rotate(18deg);opacity:1;z-index:2;}
/* floating stat cards that overlap the section seam */
.stat-band{max-width:1280px;margin:0 auto;padding:0 48px;position:relative;z-index:4;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--f7-gris);box-shadow:0 24px 60px rgba(15,22,71,.35);transform:translateY(45px);}
.stat-card{background:#fff;padding:30px 32px;display:flex;flex-direction:column;gap:8px;position:relative;}
.stat-card::before{content:"";position:absolute;top:0;left:0;width:32px;height:4px;background:#233CF9;}
.stat-card:nth-child(2)::before{background:#E9F939;}
.stat-card:nth-child(3)::before{background:#525FAB;}
.stat-card .num{font-family:var(--font-display);font-weight:800;font-size:52px;line-height:1;letter-spacing:-0.03em;color:#141F60;}
.stat-card .num i{font-style:normal;color:#233CF9;}
.stat-card .lbl{font-family:var(--font-body);font-size:12px;color:#525FAB;letter-spacing:.04em;}

/* INDUSTRIES strip */
.industries{max-width:1280px;margin:0 auto;padding:56px 48px 36px;display:grid;grid-template-columns:260px 1fr;align-items:stretch;gap:34px;}
.industries-label{font-family:var(--font-display);font-weight:500;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#8E99C9;align-self:center;}
.industries-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--f7-gris);border-bottom:1px solid var(--f7-gris);}
.industry{font-family:var(--font-display);font-weight:600;font-size:15px;letter-spacing:.01em;color:#141F60;padding:17px 18px;position:relative;border-right:1px solid var(--f7-gris);}
.industry:nth-child(3n),.industry:last-child{border-right:none;}
.industry:nth-child(n+4){border-top:1px solid var(--f7-gris);}

/* SECTIONS */
.section{max-width:1280px;margin:0 auto;padding:80px 48px 96px;}
.section-head{margin-bottom:48px;display:flex;flex-direction:column;gap:14px;}
.section-head h2{font-size:46px;line-height:1.02;letter-spacing:-0.02em;max-width:760px;}

/* SERVICES */
.services{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--f7-gris);border:1px solid var(--f7-gris);}
.service{background:#fff;display:flex;flex-direction:column;position:relative;transition:.2s ease-out;}
.service::before{content:"";position:absolute;top:0;left:0;width:0;height:4px;background:#E9F939;transition:width .25s ease-out;z-index:5;}
.service:hover{box-shadow:0 18px 44px rgba(15,22,71,.16);z-index:4;}
.service:hover::before{width:100%;}
.service-motif{height:140px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.motif-svg{width:78%;max-width:240px;height:auto;display:block;}
.motif-light{background:#EFF1F8;}
.motif-navy{background:#141F60;}
.motif-diag{background:#E9F939;}
.motif-diag::before{content:"";position:absolute;width:140%;height:20px;background:#141F60;top:40%;left:-20%;transform:rotate(-20deg);}
.motif-diag::after{content:"";position:absolute;width:140%;height:8px;background:#233CF9;top:64%;left:-20%;transform:rotate(-20deg);}
.motif-grid{background:#141F60;}
.motif-grid::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(82,95,171,.45) 1px,transparent 1px),linear-gradient(90deg,rgba(82,95,171,.45) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:radial-gradient(circle at 38% 45%,#000 8%,transparent 72%);mask-image:radial-gradient(circle at 38% 45%,#000 8%,transparent 72%);}
.motif-grid::after{content:"";position:absolute;top:42%;left:36%;width:12px;height:12px;border-radius:50%;background:#E9F939;}
.service-body{padding:32px 36px 36px;display:flex;flex-direction:column;gap:12px;flex:1;position:relative;overflow:hidden;}
.service-ghost{position:absolute;top:-28px;right:18px;font-family:var(--font-display);font-weight:800;font-size:130px;line-height:1;color:#EFF1F8;z-index:0;pointer-events:none;}
.service-n{font-family:var(--font-display);font-weight:700;font-size:13px;color:#233CF9;letter-spacing:.06em;position:relative;z-index:1;}
.service-body h3{font-size:26px;position:relative;z-index:1;}
.service-body p{font-size:14px;line-height:1.6;color:#525FAB;margin:0;flex:1;position:relative;z-index:1;}
.service-body .link-arrow{position:relative;z-index:1;}

/* VALUES */
.values{background:#141F60;color:#fff;position:relative;overflow:hidden;clip-path:polygon(0 56px,100% 0,100% 100%,0 100%);margin-top:-8px;}
.values-grid-tex{position:absolute;inset:0;background-image:linear-gradient(rgba(82,95,171,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(82,95,171,.14) 1px,transparent 1px);background-size:60px 60px;mask-image:linear-gradient(300deg,#000 20%,transparent 70%);-webkit-mask-image:linear-gradient(300deg,#000 20%,transparent 70%);z-index:0;}
.values-watermark{position:absolute;bottom:-60px;right:-40px;width:380px;opacity:.06;z-index:0;}
.values-inner{max-width:1280px;margin:0 auto;padding:120px 48px 96px;position:relative;z-index:2;}
.values-title{font-family:var(--font-display);font-weight:700;font-size:52px;line-height:1.05;letter-spacing:-0.02em;color:#fff;max-width:900px;margin:18px 0 56px;}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid #E9F939;}
.value{padding:32px 28px 0 0;border-right:1px solid #2B3A8C;}
.value:last-child{border-right:none;}
.value:not(:first-child){padding-left:28px;}
.value-num{font-family:var(--font-body);font-size:12px;color:#8E99C9;letter-spacing:.1em;margin-bottom:16px;}
.value-t{font-family:var(--font-display);font-weight:700;font-size:30px;letter-spacing:-0.02em;color:#fff;}
.value-d{font-family:var(--font-body);font-size:13px;line-height:1.55;color:#C7CDE4;margin-top:10px;}

/* CASE */
.case{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.case-photo{aspect-ratio:1/1;background:#141F60;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:24px;box-shadow:0 30px 70px rgba(15,22,71,.28);}
.case-photo::after{content:"";position:absolute;top:-18px;left:-18px;width:90px;height:90px;border-top:4px solid #E9F939;border-left:4px solid #E9F939;z-index:4;}
.pulse-visual{position:absolute;inset:0;background:linear-gradient(180deg,#141F60 0%,#17266F 100%);}
.pulse-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(199,205,228,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(199,205,228,.13) 1px,transparent 1px);background-size:44px 44px;}
.pulse-ledger{position:absolute;left:14%;right:14%;top:17%;bottom:18%;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(4,1fr);gap:10px;padding:8px;}
.pulse-cell{display:block;background:rgba(82,95,171,.62);border:1px solid rgba(199,205,228,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);animation:f7-pulse-cell 9s ease-in-out infinite;animation-delay:calc(var(--i) * 80ms);}
.pulse-cell-soft{background:rgba(82,95,171,.46);}
.pulse-cell-light{background:rgba(199,205,228,.78);}
.pulse-cell-navy{background:rgba(20,31,96,.78);}
.pulse-cell-accent{background:#233CF9;}
.pulse-cell-verified{background:#E9F939;}
.pulse-scan{position:absolute;top:14%;bottom:15%;left:15%;width:3px;background:#E9F939;box-shadow:0 0 0 1px rgba(233,249,57,.18),0 0 24px rgba(233,249,57,.55);animation:f7-control-scan 9s cubic-bezier(.55,0,.25,1) infinite;}
.pulse-scan::before{content:"";position:absolute;top:0;bottom:0;left:-34px;width:68px;background:linear-gradient(90deg,transparent,rgba(233,249,57,.10),transparent);}
.pulse-status{position:absolute;left:14%;right:14%;bottom:10%;height:3px;display:grid;grid-template-columns:1.1fr .8fr 1.4fr;gap:10px;}
.pulse-status span{display:block;background:rgba(199,205,228,.22);}
.pulse-status span:nth-child(2){background:#E9F939;}
.pulse-status span:nth-child(3){background:#233CF9;}
@keyframes f7-control-scan{
  0%,16%{left:15%;opacity:.42;}
  48%,72%{opacity:1;}
  84%,100%{left:85%;opacity:.42;}
}
@keyframes f7-pulse-cell{
  0%,18%,100%{filter:none;transform:none;}
  45%,64%{filter:brightness(1.18);transform:translateY(-1px);}
}
.case-body{display:flex;flex-direction:column;gap:28px;}
.case-lead{font-family:var(--font-display);font-weight:500;font-size:22px;line-height:1.4;color:#141F60;margin:0;}
.case-kpis{display:flex;gap:40px;}
.case-kpis > div{display:flex;flex-direction:column;gap:6px;}
.case-kpis .num{font-family:var(--font-display);font-weight:800;font-size:40px;line-height:1;letter-spacing:-0.03em;color:#233CF9;}
.case-kpis .lbl{font-family:var(--font-body);font-size:11px;color:#525FAB;letter-spacing:.03em;max-width:130px;}

/* TESTIMONIAL */
.testimonial{background:#E9F939;color:#141F60;position:relative;clip-path:polygon(0 0,100% 40px,100% 100%,0 100%);}
.testimonial-inner{max-width:1280px;margin:0 auto;padding:120px 48px 96px;position:relative;}
.testimonial-iso{position:absolute;top:64px;right:48px;width:120px;opacity:.9;}
.testimonial-copy{max-width:980px;}
.testimonial-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 22px;font-family:var(--font-display);font-weight:700;font-size:12px;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:#141F60;}
.testimonial-kicker::before{content:"";width:26px;height:3px;background:#233CF9;display:block;}
.testimonial blockquote{margin:0;max-width:980px;}
.testimonial blockquote p{font-family:var(--font-display);font-weight:700;font-size:46px;line-height:1.12;letter-spacing:-0.02em;color:#141F60;margin:0 0 32px;}
.testimonial cite{font-style:normal;display:flex;flex-direction:column;gap:4px;}
.testimonial cite strong{font-family:var(--font-display);font-weight:600;font-size:16px;}
.testimonial cite span{font-family:var(--font-body);font-size:13px;color:#141F60;opacity:.7;}

/* CONTACT */
.contact{background:#141F60;color:#fff;position:relative;overflow:hidden;}
.contact-diag{position:absolute;bottom:-160px;left:-160px;width:480px;height:480px;background:#233CF9;transform:rotate(18deg);}
.contact-inner{max-width:1280px;margin:0 auto;padding:96px 48px;display:grid;grid-template-columns:1fr 540px;gap:80px;position:relative;z-index:2;}
.contact-text h2{font-size:46px;line-height:1.02;letter-spacing:-0.02em;color:#fff;margin:16px 0 20px;}
.contact-text p{font-family:var(--font-body);font-size:15px;line-height:1.6;color:#C7CDE4;max-width:420px;}
.contact-points{list-style:none;margin:30px 0 0;padding:0;display:flex;flex-direction:column;gap:14px;max-width:480px;}
.contact-points li{font-family:var(--font-body);font-size:13px;line-height:1.55;color:#C7CDE4;position:relative;padding-left:24px;}
.contact-points li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;background:#E9F939;}
.contact-meta{display:flex;flex-direction:column;gap:18px;margin-top:40px;}
.contact-meta > div{display:flex;flex-direction:column;gap:3px;}
.contact-meta .lbl{font-family:var(--font-display);font-weight:500;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8E99C9;}
.contact-meta > div span:last-child{font-family:var(--font-body);font-size:15px;color:#fff;}
.contact-form{background:#fff;padding:36px;display:flex;flex-direction:column;gap:16px;}
.contact-form label{font-family:var(--font-display);font-weight:500;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#525FAB;display:flex;flex-direction:column;gap:7px;}
.contact-form input,.contact-form textarea,.contact-form select{font-family:var(--font-body);font-size:14px;line-height:1.35;padding:12px 14px;border:1px solid var(--f7-gris);color:#141F60;background:#fff;outline:none;transition:.15s;width:100%;min-width:0;}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#233CF9;box-shadow:0 0 0 3px rgba(35,60,249,.12);}
.contact-form textarea{resize:vertical;min-height:112px;}
.contact-form input,.contact-form select,.custom-select-trigger,.phone-prefix-static,.phone-input-static input{min-height:50px;}
.contact-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#141F60 50%),linear-gradient(135deg,#141F60 50%,transparent 50%);background-position:calc(100% - 18px) 18px,calc(100% - 12px) 18px;background-size:6px 6px;background-repeat:no-repeat;padding-right:34px;}
.contact-form .btn{margin-top:8px;}
.contact-form .btn[disabled]{opacity:.72;cursor:wait;}
.contact-direct h3{font-family:var(--font-display);font-weight:700;font-size:30px;line-height:1.1;color:#141F60;margin:4px 0 0;}
.contact-direct p{font-family:var(--font-body);font-size:14px;line-height:1.6;color:#525FAB;margin:0;}
.contact-form-fields{display:flex;flex-direction:column;gap:13px;margin-top:4px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.form-wide{width:100%;}
.focus-field select{min-height:56px;font-size:15px;font-weight:600;}
.country-field select{min-height:50px;}
.phone-input-group{display:grid;grid-template-columns:minmax(112px,132px) minmax(0,1fr);gap:8px;}
.phone-input-group input{min-width:0;}
.native-sync-select{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;}
.custom-select{position:relative;display:block;width:100%;font-family:var(--font-body);font-size:14px;line-height:1.35;text-transform:none;letter-spacing:0;color:#141F60;}
.custom-select-trigger{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--f7-gris);background:#fff;color:#141F60;display:flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:14px;line-height:1.35;text-align:left;cursor:pointer;}
.custom-select-trigger > span:not(.flag-mini):not(.select-caret){min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.custom-select-trigger:focus{border-color:#233CF9;box-shadow:0 0 0 3px rgba(35,60,249,.12);outline:none;}
.custom-select-trigger[aria-expanded="true"] + .custom-select-menu{display:block;}
.custom-select-menu{display:none;position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;max-height:230px;overflow:auto;background:#fff;border:1px solid var(--f7-gris);box-shadow:0 18px 40px rgba(15,22,71,.16);}
.custom-select-menu[hidden],.native-sync-select[hidden]{display:none!important;}
.select-option{width:100%;border:0;background:#fff;color:#141F60;padding:11px 14px;display:flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:14px;line-height:1.3;text-align:left;cursor:pointer;}
.select-option:hover,.select-option:focus{background:#EFF1F8;outline:none;}
.select-caret{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #141F60;margin-left:auto;}
.phone-prefix-combo .custom-select-trigger{min-height:50px;font-weight:600;padding-left:10px;padding-right:10px;}
.phone-prefix-combo .custom-select-menu{min-width:132px;}
.phone-prefix-static{min-height:50px;padding:12px 12px;border:1px solid var(--f7-gris);background:#EFF1F8;color:#141F60;display:flex;align-items:center;gap:9px;font-family:var(--font-body);font-size:14px;font-weight:600;line-height:1.35;}
.phone-prefix-static .flag-mini{flex:0 0 24px;}
.phone-input-static input{min-height:50px;}
.flag-mini{width:24px;height:16px;display:inline-block;flex:0 0 24px;border:1px solid #C7CDE4;position:relative;overflow:hidden;background:#fff;box-shadow:0 0 0 1px rgba(20,31,96,.03);}
.flag-cl{background:linear-gradient(to bottom,#fff 0 50%,#d52b1e 50% 100%);}
.flag-cl::before{content:"";position:absolute;left:0;top:0;width:40%;height:50%;background:#0039a6;}
.flag-ar{background:linear-gradient(to bottom,#74ACDF 0 33%,#fff 33% 66%,#74ACDF 66%);}
.flag-bo{background:linear-gradient(to bottom,#d52b1e 0 33%,#f9e300 33% 66%,#007934 66%);}
.flag-br{background:#009b3a;}
.flag-br::before{content:"";position:absolute;left:5px;top:2px;width:13px;height:10px;background:#ffdf00;transform:rotate(45deg);}
.flag-br::after{content:"";position:absolute;left:9px;top:5px;width:6px;height:6px;border-radius:50%;background:#002776;}
.flag-co{background:linear-gradient(to bottom,#fcd116 0 50%,#003893 50% 75%,#ce1126 75%);}
.flag-cr{background:linear-gradient(to bottom,#002b7f 0 16%,#fff 16% 32%,#ce1126 32% 68%,#fff 68% 84%,#002b7f 84%);}
.flag-ec{background:linear-gradient(to bottom,#ffdd00 0 50%,#034ea2 50% 75%,#ed1c24 75%);}
.flag-es{background:linear-gradient(to bottom,#aa151b 0 25%,#f1bf00 25% 75%,#aa151b 75%);}
.flag-us{background:repeating-linear-gradient(to bottom,#b22234 0 2px,#fff 2px 4px);}
.flag-us::before{content:"";position:absolute;left:0;top:0;width:11px;height:8px;background:#3c3b6e;}
.flag-mx{background:linear-gradient(to right,#006847 0 33%,#fff 33% 66%,#ce1126 66%);}
.flag-pa{background:linear-gradient(to right,#fff 0 50%,#d21034 50% 100%);}
.flag-pa::before{content:"";position:absolute;left:0;bottom:0;width:50%;height:50%;background:#005293;}
.flag-pa::after{content:"";position:absolute;right:0;bottom:0;width:50%;height:50%;background:#fff;}
.flag-py{background:linear-gradient(to bottom,#d52b1e 0 33%,#fff 33% 66%,#0038a8 66%);}
.flag-pe{background:linear-gradient(to right,#d91023 0 33%,#fff 33% 66%,#d91023 66%);}
.flag-do{background:#fff;}
.flag-do::before{content:"";position:absolute;left:0;top:0;width:10px;height:7px;background:#002d62;box-shadow:14px 0 #ce1126,0 9px #ce1126,14px 9px #002d62;}
.flag-uy{background:repeating-linear-gradient(to bottom,#fff 0 2px,#3a75c4 2px 4px);}
.flag-uy::before{content:"";position:absolute;left:0;top:0;width:9px;height:8px;background:#fff;}
.flag-ve{background:linear-gradient(to bottom,#fcd116 0 33%,#003893 33% 66%,#ce1126 66%);}
.flag-world{border-radius:50%;background:#EFF1F8;}
.flag-world::before{content:"";position:absolute;inset:3px;border:1px solid #525FAB;border-radius:50%;}
.contact-phone{font-family:var(--font-display);font-weight:600;font-size:13px;line-height:1.4;color:#141F60;text-align:center;text-decoration:none;}
.contact-phone:hover{color:#233CF9;}
.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;}
.form-alert{font-family:var(--font-body);font-size:13px;line-height:1.45;margin:0;text-align:center;padding:12px 14px;border:1px solid transparent;}
.form-alert a{color:inherit;font-weight:700;}
.form-alert-success{background:#F4FFD0;color:#141F60;border-color:#E9F939;}
.form-alert-error{background:#FFF1F1;color:#141F60;border-color:#D95555;}
.is-hidden{display:none!important;}

/* FOOTER */
.footer{background:#0F1647;color:#fff;}
.footer-inner{max-width:1280px;margin:0 auto;padding:72px 48px 48px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;}
.footer-logo-crop{width:196px;height:64px;margin-bottom:24px;}
.footer-logo-crop img{width:100%;height:100%;object-fit:contain;display:block;}
.footer-brand p{font-family:var(--font-body);font-size:13px;line-height:1.6;color:#8E99C9;margin:0;}
.footer-col h5{font-family:var(--font-display);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#E9F939;margin:0 0 18px;}
.footer-col a{display:block;font-family:var(--font-body);font-size:13px;line-height:1.55;color:#C7CDE4;text-decoration:none;margin-bottom:10px;}
.footer-col a:hover{color:#fff;}
.footer-note{display:block;font-family:var(--font-body);font-size:13px;line-height:1.55;color:#8E99C9;}
.footer-bottom{border-top:1px solid #2B3A8C;max-width:1280px;margin:0 auto;padding:24px 48px;display:flex;justify-content:space-between;font-family:var(--font-body);font-size:12px;color:#8E99C9;}
.footer-bottom a{color:#C7CDE4;}

/* ============================================================
   PREMIUM UPGRADE — new sections + responsive
   ============================================================ */
.section-sub{font-family:var(--font-body);font-size:15px;line-height:1.6;color:#525FAB;max-width:560px;margin:6px 0 0;}

/* PROBLEMA (banda navy editorial) */
.problem{background:#141F60;color:#fff;position:relative;overflow:hidden;}
.problem-tex{position:absolute;inset:0;background-image:linear-gradient(rgba(82,95,171,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(82,95,171,.16) 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:linear-gradient(60deg,#000 10%,transparent 60%);mask-image:linear-gradient(60deg,#000 10%,transparent 60%);z-index:0;}
.problem-inner{max-width:1280px;margin:0 auto;padding:96px 48px;position:relative;z-index:2;}
.problem-head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:56px;}
.problem-title{font-family:var(--font-display);font-weight:700;font-size:44px;line-height:1.08;letter-spacing:-0.02em;color:#fff;margin:14px 0 0;}
.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid #233CF9;}
.tension{padding:32px 28px 0 0;border-right:1px solid #2B3A8C;}
.tension:last-child{border-right:none;}
.tension:not(:first-child){padding-left:28px;}
.tension-n{font-family:var(--font-body);font-size:12px;color:#E9F939;letter-spacing:.1em;}
.tension-t{font-family:var(--font-display);font-weight:600;font-size:21px;color:#fff;margin:12px 0 8px;}
.tension-d{font-family:var(--font-body);font-size:13px;line-height:1.6;color:#C7CDE4;}

/* NUEVA MANERA */
.newway{background:#F6F7FB;position:relative;overflow:hidden;clip-path:polygon(0 42px,100% 0,100% calc(100% - 34px),0 100%);margin-top:-1px;}
.newway::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(82,95,171,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(82,95,171,.10) 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:linear-gradient(120deg,#000 8%,transparent 74%);mask-image:linear-gradient(120deg,#000 8%,transparent 74%);z-index:0;}
.newway::after{content:"";position:absolute;left:48px;top:38px;width:min(300px,calc(100% - 96px));height:4px;background:linear-gradient(90deg,#141F60 0 38%,#233CF9 38% 72%,#E9F939 72% 100%);z-index:1;}
.newway-inner{max-width:1280px;margin:0 auto;padding:112px 48px 90px;position:relative;z-index:2;}
.newway-head{max-width:760px;}
.newway-head h2{font-size:46px;line-height:1.02;letter-spacing:-0.02em;margin:14px 0 18px;}
.newway-lead{font-family:var(--font-body);font-size:16px;line-height:1.65;color:#525FAB;max-width:620px;margin:0;}
.newway-steps{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid #141F60;counter-reset:nw;}
.nw-step{padding:32px 28px 0 0;border-right:1px solid #DEDEDE;}
.nw-step:last-child{border-right:none;}
.nw-step:not(:first-child){padding-left:28px;}
.nw-num{font-family:var(--font-display);font-weight:700;font-size:14px;color:#233CF9;letter-spacing:.04em;}
.nw-t{font-family:var(--font-display);font-weight:600;font-size:22px;color:#141F60;margin:12px 0 8px;}
.nw-d{font-family:var(--font-body);font-size:14px;line-height:1.6;color:#525FAB;}

/* SERVICIOS EMPAQUETADOS */
.packages{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--f7-gris);border:1px solid var(--f7-gris);}
.package{background:#fff;display:flex;flex-direction:column;position:relative;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;overflow:hidden;}
.package::before{content:"";position:absolute;top:0;left:0;width:0;height:4px;background:#E9F939;transition:width .25s ease-out;z-index:5;}
.package::after{content:"";position:absolute;inset:-20% auto -20% -42%;width:34%;background:linear-gradient(90deg,transparent,rgba(233,249,57,.18),transparent);transform:skewX(-18deg);opacity:0;pointer-events:none;z-index:3;}
.package:hover{transform:translateY(-4px);box-shadow:0 24px 56px rgba(15,22,71,.18);z-index:4;}
.package:hover::before{width:100%;}
.package:hover::after{animation:packageScan .64s ease-out;}
.package-body{padding:32px 36px 36px;display:flex;flex-direction:column;gap:10px;flex:1;position:relative;overflow:hidden;}
.package-ghost{position:absolute;top:-28px;right:18px;font-family:var(--font-display);font-weight:800;font-size:130px;line-height:1;color:#EFF1F8;z-index:0;pointer-events:none;transition:transform .24s ease,color .24s ease;}
.package:hover .package-ghost{transform:translateY(-6px) scale(1.02);color:#E7EAF6;}
.package:hover .service-motif,.package:hover .motif-svg{transform:translateY(-2px) scale(1.015);}
.service-motif,.motif-svg{transition:transform .24s ease;}
.package:hover .motif-grid::after{box-shadow:0 0 0 8px rgba(233,249,57,.12);}
@keyframes packageScan{0%{left:-42%;opacity:0;}22%{opacity:1;}100%{left:112%;opacity:0;}}
.package-tag{font-family:var(--font-display);font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#233CF9;position:relative;z-index:1;}
.package-body h3{font-size:26px;position:relative;z-index:1;}
.package-body p{font-size:14px;line-height:1.6;color:#525FAB;margin:0;position:relative;z-index:1;}
.package-meta{margin:8px 0 0;display:flex;flex-direction:column;gap:10px;position:relative;z-index:1;border-top:1px solid #DEDEDE;padding-top:16px;}
.package-meta > div{display:grid;grid-template-columns:104px 1fr;gap:14px;align-items:baseline;}
.package-meta dt{font-family:var(--font-display);font-weight:500;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8E99C9;margin:0;}
.package-meta dd{font-family:var(--font-body);font-size:13px;line-height:1.45;color:#141F60;margin:0;}

/* MÉTODO */
.method{background:#141F60;color:#fff;position:relative;overflow:hidden;clip-path:polygon(0 48px,100% 0,100% 100%,0 100%);}
.method-tex{position:absolute;inset:0;background-image:linear-gradient(rgba(82,95,171,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(82,95,171,.14) 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:linear-gradient(300deg,#000 15%,transparent 65%);mask-image:linear-gradient(300deg,#000 15%,transparent 65%);z-index:0;}
.method-inner{max-width:1280px;margin:0 auto;padding:120px 48px 96px;position:relative;z-index:2;}
.method-head{max-width:680px;margin-bottom:56px;}
.method-head h2{font-size:46px;line-height:1.02;letter-spacing:-0.02em;color:#fff;margin-top:14px;}
.method-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.ms{padding:28px 24px 0 0;border-top:2px solid #E9F939;border-right:1px solid #2B3A8C;position:relative;}
.ms:last-child{border-right:none;}
.ms:not(:first-child){padding-left:24px;}
.ms-n{font-family:var(--font-display);font-weight:800;font-size:34px;letter-spacing:-0.03em;color:#233CF9;}
.ms-t{font-family:var(--font-display);font-weight:600;font-size:20px;color:#fff;margin:10px 0 8px;}
.ms-d{font-family:var(--font-body);font-size:13px;line-height:1.55;color:#C7CDE4;}

/* FORM — estado enviado */
.form-sent{display:flex;flex-direction:column;gap:12px;min-height:300px;justify-content:center;}
.form-sent-mark{width:48px;height:48px;border-top:4px solid #141F60;border-left:4px solid #E9F939;}
.form-sent h3{font-family:var(--font-display);font-weight:700;font-size:30px;color:#141F60;}
.form-sent p{font-family:var(--font-body);font-size:14px;color:#525FAB;margin:0;}
.form-fine{font-family:var(--font-body);font-size:11px;line-height:1.45;color:#525FAB;margin:4px 0 0;text-align:center;}

/* 404 */
.error-page{min-height:100vh;background:#141F60;color:#fff;overflow-x:hidden;}
.error-shell{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;padding:48px;overflow:hidden;}
.error-shell::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(82,95,171,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(82,95,171,.16) 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:linear-gradient(120deg,#000 20%,transparent 78%);mask-image:linear-gradient(120deg,#000 20%,transparent 78%);}
.error-shell::after{content:"";position:absolute;right:-180px;top:-160px;width:520px;height:900px;background:#233CF9;opacity:.26;transform:rotate(18deg);}
.error-mark{position:absolute;right:8vw;bottom:6vh;font-family:var(--font-display);font-weight:800;font-size:160px;line-height:1;color:rgba(255,255,255,.05);letter-spacing:-.06em;z-index:1;}
.error-content{position:relative;z-index:2;max-width:760px;width:100%;}
.error-logo{width:160px;height:auto;margin-bottom:52px;}
.error-content h1{font-family:var(--font-display);font-weight:700;font-size:64px;line-height:1;letter-spacing:-.03em;color:#fff;margin:18px 0;}
.error-content p{font-family:var(--font-body);font-size:17px;line-height:1.65;color:#C7CDE4;max-width:560px;margin:0;}
.error-actions{display:flex;gap:16px;align-items:center;margin-top:38px;}

/* focus visible (accesibilidad) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #233CF9;outline-offset:2px;}
.hero a:focus-visible,.method a:focus-visible,.contact a:focus-visible,.problem a:focus-visible{outline-color:#E9F939;}

/* ============================== RESPONSIVE ============================== */
@media (max-width: 1024px){
  .hero .display{font-size:84px;}
  .section-head h2,.newway-head h2,.method-head h2,.problem-title,.contact-text h2,.values-title,.testimonial blockquote p{font-size:38px;}
  .stat-band{grid-template-columns:repeat(3,1fr);}
  .case{gap:40px;}
}
@media (max-width: 860px){
  .nav-links{display:none;}
  .nav-inner{padding:16px 24px;}
  .nav .btn-sm{padding:14px 18px;}
  /* hero mobile simplificado: sin canvas animado, navy limpio + acento diagonal */
  .hero-canvas{display:none;}
  .hero-mask{background:#141F60;}
  .hero-diag{opacity:.16;}
  .hero-diag-2{right:24px;width:12px;}
  .hero-inner{padding:84px 24px 56px;}
  .hero .display{font-size:64px;}
  .section,.problem-inner,.newway-inner,.method-inner,.values-inner,.testimonial-inner,.contact-inner,.footer-inner{padding-left:24px;padding-right:24px;}
  .stat-band{margin:0 24px;padding:0;grid-template-columns:1fr;transform:translateY(40px);}
  .stat-card{padding:22px 24px;}
  .industries{padding:64px 24px 28px;gap:18px;grid-template-columns:1fr;}
  .packages{grid-template-columns:1fr;}
  .problem-head{grid-template-columns:1fr;gap:20px;}
  .newway{clip-path:polygon(0 28px,100% 0,100% calc(100% - 22px),0 100%);}
  .newway::after{left:24px;top:28px;width:min(240px,calc(100% - 48px));}
  .newway-inner{padding-top:76px;padding-bottom:54px;}
  .problem-grid,.newway-steps{grid-template-columns:1fr;}
  .tension,.nw-step{border-right:none;border-bottom:1px solid #2B3A8C;padding:24px 0;}
  .tension:not(:first-child),.nw-step:not(:first-child){padding-left:0;}
  .nw-step{border-bottom-color:#DEDEDE;}
  .method-steps{grid-template-columns:1fr 1fr;}
  .ms{border-right:none;padding:24px 0 0;}
  .ms:not(:first-child){padding-left:0;}
  .case{grid-template-columns:1fr;}
  .case-photo{max-width:420px;}
  .values-grid{grid-template-columns:1fr 1fr;gap:24px 0;}
  .value{border-right:none;padding:28px 0 0;}
  .value:not(:first-child){padding-left:0;}
  .contact-inner{grid-template-columns:1fr;gap:40px;}
  .contact-form{max-width:640px;}
  .footer-inner{grid-template-columns:1fr 1fr;gap:32px;}
  .footer-bottom{flex-direction:column;gap:8px;}
  .testimonial-iso{display:none;}
  .testimonial-kicker{font-size:11px;letter-spacing:.12em;}
}
@media (max-width: 480px){
  .nav-inner{padding:14px 16px;gap:12px;max-width:100%;min-width:0;}
  .nav-logo{min-width:0;}
  .nav-right{gap:10px;flex:0 0 auto;min-width:0;}
  .p2-ready .mnav-btn{flex:0 0 44px;}
  .nav .btn-sm{padding:12px 14px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.15;white-space:normal;flex:0 1 auto;}
  .hero .display{font-size:52px;}
  .hero-cta-row{flex-direction:column;align-items:stretch;gap:12px;}
  .hero-cta-row .btn{text-align:center;}
  .nav-logo{width:132px;height:44px;flex-basis:132px;}
  .method-steps{grid-template-columns:1fr;}
  .values-grid{grid-template-columns:1fr;}
  .industries{grid-template-columns:1fr;padding:56px 24px 28px;gap:18px;}
  .industries-row{grid-template-columns:1fr 1fr;}
  .industry{padding:14px 12px;font-size:14px;}
  .industry:nth-child(3n){border-right:1px solid var(--f7-gris);}
  .industry:nth-child(2n){border-right:none;}
  .industry:nth-child(n+3){border-top:1px solid var(--f7-gris);}
  .contact-form{padding:28px 22px;}
  .field-row{grid-template-columns:1fr;}
  .phone-input-group{grid-template-columns:minmax(98px,118px) minmax(0,1fr);}
  .pulse-ledger{left:12%;right:12%;top:18%;bottom:20%;gap:7px;}
  .pulse-status{left:12%;right:12%;bottom:11%;}
  .footer-inner{grid-template-columns:1fr;}
  .error-shell{padding:96px 24px 32px;align-items:flex-start;}
  .error-logo{width:132px;margin-bottom:42px;}
  .error-content h1{font-size:44px;}
  .error-actions{flex-direction:column;align-items:stretch;}
  .error-actions .btn{text-align:center;}
}
@media (max-width: 380px){
  .nav-inner{padding-left:14px;padding-right:14px;gap:8px;}
  .nav-logo{width:116px;height:40px;flex-basis:116px;}
  .nav-right{gap:8px;}
  .p2-ready .mnav-btn{width:40px;height:40px;padding:9px;flex:0 0 40px;}
  .nav .btn-sm{padding:10px 12px;min-height:44px;font-size:11px;letter-spacing:.02em;max-width:112px;}
}
@media (max-width: 340px){
  .nav-logo{width:108px;height:38px;flex-basis:108px;}
  .nav .btn-sm{max-width:96px;padding-left:10px;padding-right:10px;}
}

/* prefers-reduced-motion: sin transiciones de realce */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;}
  .method{clip-path:none;}
  .package:hover{transform:none;}
  .pulse-scan,.pulse-cell{animation:none!important;}
  .pulse-scan{left:72%;opacity:.72;}
}


/* ============================================================
   F7&CO - P1 aprobado para producción local v0.2.25
   Realces visuales portados desde Claude sin panel comparador.
   ============================================================ */
/* ============================================================
   F7&CO - P1 aprobado para producción local v0.2.25.
   Reglas: motion sobrio, siempre detrás del texto, fallback
   estático en mobile y prefers-reduced-motion.
   ============================================================ */

/* ---------- Comparador A/B del modelo de trazabilidad ---------- */
.trace-visual{display:none;}
.case-photo .pulse-visual{display:none;}
.case-photo .trace-visual{display:block;}

/* ============================================================
   P1-03b - Retículo de control en el hero (pointer-reactive)
   Instrumento que "lee" la superficie: crosshair + iluminación
   local de grilla siguiendo el cursor. Refuerza control/medición.
   Sólo desktop, sólo P1, detrás del texto (z-index 2 < inner 3).
   ============================================================ */
.hero{--hx:50%;--hy:42%;}
.hero-pointer{display:none;}
.hero-pointer{
  display:block;position:absolute;inset:0;z-index:2;pointer-events:none;
  opacity:0;transition:opacity .45s ease-out;
}
.hero.is-pointer .hero-pointer{opacity:1;}
/* grilla revelada sólo bajo el cursor (instrumento de lectura) */
.hpt-grid{
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(233,249,57,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(233,249,57,.18) 1px,transparent 1px);
  background-size:60px 60px;
  -webkit-mask:radial-gradient(150px circle at var(--hx) var(--hy),#000 0%,rgba(0,0,0,.4) 38%,transparent 64%);
  mask:radial-gradient(150px circle at var(--hx) var(--hy),#000 0%,rgba(0,0,0,.4) 38%,transparent 64%);
}
/* halo de luz azul de control */
.hpt-glow{
  position:absolute;inset:0;
  background:radial-gradient(260px circle at var(--hx) var(--hy),rgba(35,60,249,.34),rgba(35,60,249,.10) 46%,transparent 70%);
}
/* crosshair de medición a todo el ancho/alto */
.hpt-x{position:absolute;left:0;right:0;top:var(--hy);height:2px;transform:translateY(-50%);
  background:linear-gradient(90deg,transparent,rgba(233,249,57,.0) 8%,rgba(233,249,57,.85) 50%,rgba(233,249,57,.0) 92%,transparent);}
.hpt-y{position:absolute;top:0;bottom:0;left:var(--hx);width:2px;transform:translateX(-50%);
  background:linear-gradient(180deg,transparent,rgba(199,205,228,.0) 8%,rgba(199,205,228,.7) 50%,rgba(199,205,228,.0) 92%,transparent);}
/* nodo de control en la intersección */
.hpt-dot{position:absolute;left:var(--hx);top:var(--hy);width:11px;height:11px;transform:translate(-50%,-50%);
  border:2px solid #E9F939;box-shadow:0 0 10px 1px rgba(233,249,57,.45),0 0 0 3px rgba(233,249,57,.14);}
.hpt-dot::after{content:"";position:absolute;inset:-8px;border:1px solid rgba(233,249,57,.35);}

/* off en mobile / touch / reduced-motion: instrumento estático = nada */
@media (max-width:860px){ .hero-pointer{display:none;} }
@media (prefers-reduced-motion: reduce){ .hero-pointer{display:none;} }

/* ============================================================
   P1-01 · Modelo visual de trazabilidad (centerpiece)
   Lectura/ordenamiento de un costo del origen al margen.
   Un solo dato amarillo detectado y validado. Sin flicker.
   ============================================================ */
.trace-visual{position:absolute;inset:0;background:linear-gradient(180deg,#141F60 0%,#17266F 100%);}
.trace-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(199,205,228,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(199,205,228,.10) 1px,transparent 1px);background-size:40px 40px;}
.trace-svg{position:absolute;inset:0;width:100%;height:100%;display:block;}

/* tracks + cost blocks */
.tv-track{stroke:rgba(199,205,228,.18);stroke-width:.6;}
.tv-block{fill:rgba(82,95,171,.42);}
.tv-block.is-path{fill:rgba(130,142,205,.72);}
.tv-tick{fill:rgba(199,205,228,.30);}
.tv-tick.is-on{fill:#233CF9;}

/* trace polyline (origen -> margen) */
.tv-trace{fill:none;stroke:url(#tvGrad);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px rgba(35,60,249,.35));}
.tv-node{fill:#C7CDE4;}
.tv-node.is-anchor{fill:#233CF9;}

/* el único dato detectado + validado */
.tv-detect-cell{fill:#E9F939;}
.tv-detect-ring{fill:none;stroke:#E9F939;stroke-width:1.4;opacity:.0;transform-box:fill-box;transform-origin:center;}
.tv-check{stroke:#141F60;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;}

/* cabeza de lectura que recorre la traza (sobria, lenta) */
.tv-read{fill:#fff;}
.tv-read-halo{fill:rgba(255,255,255,.28);}

/* leyenda mínima (sin texto inventado: sólo estados del proceso) */
.tv-legend{position:absolute;left:14%;right:14%;bottom:8.5%;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.tv-legend span{height:3px;background:rgba(199,205,228,.22);display:block;}
.tv-legend span.is-2{background:#525FAB;}
.tv-legend span.is-3{background:#233CF9;}
.tv-legend span.is-4{background:#E9F939;}

/* ---- motion: la cabeza de lectura usa SMIL animateMotion (en el SVG).
   Aquí sólo gobernamos el pulso de validación, el tick y los fallbacks. ---- */
@media (prefers-reduced-motion: no-preference){
  .tv-detect-ring{animation:tvValidate 16s ease-out infinite;}
  .tv-tick.is-on{animation:tvTick 16s ease-in-out infinite;}
}
/* fallback estático (reduced-motion y mobile): traza dibujada, dato amarillo fijo, sin cabeza de lectura */
@media (prefers-reduced-motion: reduce){
  .tv-read,.tv-read-halo{display:none;}
  .tv-detect-ring{opacity:.55;}
}
@media (max-width:860px){
  .tv-read,.tv-read-halo{display:none;}
}
@keyframes tvValidate{
  0%,30%{opacity:0;transform:scale(.7);}
  40%{opacity:.9;transform:scale(1);}
  60%{opacity:0;transform:scale(1.5);}
  100%{opacity:0;transform:scale(1.5);}
}
@keyframes tvTick{
  0%,18%{fill:rgba(199,205,228,.30);}
  34%,100%{fill:#233CF9;}
}

/* ============================================================
   P1-03 · Micro-motions de revelado (one-shot, en scroll)
   No loops. El estado final ES el estilo base; animamos DESDE
   el estado oculto sólo cuando entra en viewport (.is-in).
   ============================================================ */
@media (prefers-reduced-motion: no-preference){
  body.reveal-on .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease-out,transform .6s ease-out;}
  body.reveal-on .reveal.is-in{opacity:1;transform:none;}

  /* barras de acento que "se dibujan" al entrar */
  body.reveal-on .stat-card::before{width:0;transition:width .5s ease-out .1s;}
  body.reveal-on .stat-band.is-in .stat-card::before{width:32px;}

  body.reveal-on .ms{border-top-color:transparent;}
  body.reveal-on .ms::after{content:"";position:absolute;top:-2px;left:0;height:2px;width:0;background:#E9F939;transition:width .5s ease-out;}
  body.reveal-on .method-steps.is-in .ms::after{width:100%;}

  /* el rail tricolor de "La nueva manera" se dibuja al entrar */
  body.reveal-on .newway::after{transform:scaleX(0);transform-origin:left;transition:transform .7s ease-out;}
  body.reveal-on .newway.is-in::after{transform:scaleX(1);}
}

/* indicador de control vivo en el eyebrow del caso (sobrio) */
@media (prefers-reduced-motion: no-preference) and (min-width:861px){
  #casos .eyebrow::after{content:"";display:inline-block;width:6px;height:6px;margin-left:10px;border-radius:50%;background:#233CF9;vertical-align:middle;animation:ctrlPulse 3.2s ease-in-out infinite;}
}
@keyframes ctrlPulse{0%,100%{opacity:.35;box-shadow:0 0 0 0 rgba(35,60,249,.0);}50%{opacity:1;box-shadow:0 0 0 4px rgba(35,60,249,.14);}}

/* ============================================================
   P1-05 · Ritmo visual — refinamientos sobrios de espacio/diagonal
   ============================================================ */
.industries{padding-top:48px;padding-bottom:30px;}
.section{padding-top:72px;}
.newway{clip-path:polygon(0 52px,100% 0,100% calc(100% - 40px),0 100%);}
.newway-inner{padding-top:104px;}
/* sello de continuidad entre caso y testimonio: marco de esquina espejo */
.testimonial{clip-path:polygon(0 0,100% 48px,100% 100%,0 100%);}

/* ============================================================
   P1-04 · Respaldo / testimonio provisional (estructura flexible)
   Mantiene el marcado de "pendiente de autorización". Añade un
   slot de autor anonimizado claramente etiquetado como modelo.
   ============================================================ */
.testimonial-inner{display:grid;grid-template-columns:1fr;gap:0;}
.testimonial-status,.testimonial-author{display:none;}
.testimonial-status{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#141F60;opacity:.62;margin:18px 0 0;}
.testimonial-status::before{content:"";width:8px;height:8px;border:1.5px solid #141F60;opacity:.7;}
.testimonial-author{display:flex;align-items:center;gap:16px;margin-top:34px;padding-top:24px;border-top:1.5px solid rgba(20,31,96,.22);max-width:560px;}
.testimonial-avatar{width:46px;height:46px;flex:0 0 46px;background:rgba(20,31,96,.10);border:1px solid rgba(20,31,96,.18);position:relative;}
.testimonial-avatar::after{content:"";position:absolute;inset:13px;border:1.5px solid rgba(20,31,96,.4);border-radius:50%;}
.testimonial-author .ta-meta{display:flex;flex-direction:column;gap:3px;}
.testimonial-author .ta-role{font-family:var(--font-display);font-weight:600;font-size:14px;color:#141F60;}
.testimonial-author .ta-note{font-family:var(--font-body);font-size:12px;color:#141F60;opacity:.62;}

/* ============================================================
   F7&CO - P2 productivo v0.2.30
   Capa aditiva: navegacion activa, menu movil, accesibilidad,
   validacion visible y micro-ajustes de lectura.
   ============================================================ */
@media (prefers-reduced-motion: no-preference){
  html.p2-ready{scroll-behavior:smooth;}
}
.p2-ready section[id]{scroll-margin-top:92px;}

.p2-ready .nav-links a{position:relative;padding-bottom:5px;}
.p2-ready .nav-links a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:#E9F939;transform:scaleX(0);transform-origin:left;transition:transform .2s ease-out;}
.p2-ready .nav-links a.active{color:#233CF9;}
.p2-ready .nav-links a.active::after{transform:scaleX(1);}

.mnav-btn,.mnav-panel{display:none;}
@media (max-width:860px){
  .p2-ready .mnav-btn{
    display:inline-flex;flex-direction:column;justify-content:center;gap:6px;
    width:44px;height:44px;padding:10px;border:1.5px solid #141F60;background:#fff;cursor:pointer;
  }
  .p2-ready .mnav-btn span{display:block;height:2px;background:#141F60;transition:transform .2s ease-out,opacity .2s ease-out;}
  .p2-ready .mnav-btn[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg);}
  .p2-ready .mnav-btn[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg);}
  .p2-ready .mnav-panel{
    display:block;position:absolute;top:100%;left:0;right:0;
    background:#fff;border-bottom:1px solid var(--f7-gris);
    box-shadow:0 28px 56px rgba(15,22,71,.16);
  }
  .p2-ready .mnav-panel[hidden]{display:none;}
  .p2-ready .mnav-panel a{
    display:flex;align-items:center;min-height:52px;padding:14px 24px;
    font-family:var(--font-display);font-weight:600;font-size:17px;letter-spacing:.01em;
    color:#141F60;text-decoration:none;border-top:1px solid var(--f7-gris);
  }
  .p2-ready .mnav-panel a:hover{color:#233CF9;}
  .p2-ready .mnav-panel .mnav-cta{
    margin:14px 24px 20px;min-height:50px;justify-content:center;border-top:none;
    background:#E9F939;color:#141F60;font-size:14px;letter-spacing:.03em;
  }
  .p2-ready .mnav-panel .mnav-cta:hover{background:#141F60;color:#E9F939;}
}
@media (max-width:860px) and (prefers-reduced-motion: no-preference){
  .p2-ready .mnav-panel{animation:mnavIn .22s ease-out;}
  @keyframes mnavIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}
}

.p2-ready h1,.p2-ready h2,.p2-ready h3,
.p2-ready .values-title,.p2-ready .problem-title,
.p2-ready .testimonial blockquote p{text-wrap:balance;}
.p2-ready p,.p2-ready .tension-d,.p2-ready .nw-d,.p2-ready .ms-d,
.p2-ready .hero-sub,.p2-ready .case-lead{text-wrap:pretty;}

.p2-ready .stat-card .num{transition:color .2s ease-out,text-shadow .2s ease-out,transform .2s ease-out;}
.p2-ready .stat-band.is-counting .stat-card .num{color:#233CF9;text-shadow:0 0 18px rgba(35,60,249,.18);transform:translateY(-2px);}
.p2-ready .stat-band.is-counting .stat-card::before{background:#E9F939;}

.p2-ready .contact-form input:user-invalid,
.p2-ready .contact-form textarea:user-invalid,
.p2-ready .contact-form select:user-invalid{
  border-color:#D95555;box-shadow:0 0 0 3px rgba(217,85,85,.10);
}

.skip-link{display:none;}
.p2-ready .skip-link{
  display:block;position:fixed;top:14px;left:14px;z-index:200;
  transform:translateY(-200%);
  background:#141F60;color:#E9F939;border:1.5px solid #E9F939;
  font-family:var(--font-display);font-weight:600;font-size:13px;letter-spacing:.04em;
  padding:13px 18px;text-decoration:none;
}
.p2-ready .skip-link:focus-visible{transform:none;}

@media (prefers-reduced-motion: reduce){
  .p2-ready .nav-links a::after,.p2-ready .mnav-btn span{transition:none;}
}


