:root{
  --brand-yellow:#FBB900;--brand-yellow-hover:#E5A800;
  --brand-yellow-light:#FEF3C7;--brand-yellow-subtle:#FFFBEB;
  --brand-dark:#363434;--brand-dark-deep:#1A1919;--brand-dark-surface:#242323;
  --tech-cyan:#0EA5E9;--tech-cyan-hover:#0284C7;
  --tech-cyan-glow:rgba(14,165,233,0.18);--tech-cyan-subtle:rgba(14,165,233,0.07);
  --white:#FFFFFF;--gray-50:#F8FAFC;--gray-100:#F1F5F9;--gray-200:#E2E8F0;
  --gray-300:#CBD5E1;--gray-400:#94A3B8;--gray-500:#64748B;
  --gray-600:#475569;--gray-700:#334155;
  --st-green:#10B981;--st-green-bg:#ECFDF5;
  --st-amber:#F59E0B;--st-amber-bg:#FFFBEB;
  --st-red:#EF4444;--st-red-bg:#FEF2F2;
  --font-display:'NeoSans Pro','Plus Jakarta Sans','Outfit',system-ui,sans-serif;
  --font-text:'Century Gothic','Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:16px;--r-xl:22px;--r-2xl:32px;--r-full:9999px;
  --shadow-sm:0 1px 4px rgba(0,0,0,0.06);
  --shadow-card:0 4px 16px -2px rgba(0,0,0,0.05);
  --shadow-hover:0 10px 28px -4px rgba(0,0,0,0.09);
  --shadow-elevation:0 24px 48px -10px rgba(0,0,0,0.13);
  --shadow-yellow:0 6px 22px rgba(251,185,0,0.28);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-text);color:var(--brand-dark);background:var(--white);line-height:1.65}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--brand-dark);line-height:1.22;font-weight:700;letter-spacing:-0.025em}
p{color:var(--gray-600)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
ul{list-style:none}
/* Layout */
.container{width:100%;max-width:1160px;margin:0 auto;padding:0 28px}
.container-medium{max-width:1160px}
.text-center{text-align:center}
/* Eyebrow */
.eyebrow-text{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:0.6875rem;font-weight:800;text-transform:uppercase;letter-spacing:0.1em;color:var(--gray-500);margin-bottom:10px}
.eyebrow-text::before{content:'';display:inline-block;width:20px;height:2px;background:var(--brand-yellow);border-radius:2px;flex-shrink:0}
.section-title{font-size:2.25rem;font-weight:800;color:var(--brand-dark);margin-bottom:12px;letter-spacing:-0.03em}
.section-subtitle{font-size:1.0625rem;color:var(--gray-500);line-height:1.6;max-width:580px}
.section-header-compact{margin-bottom:44px}
.section-header-compact.text-center .section-subtitle{margin-left:auto;margin-right:auto}
/* Botones */
.btn{text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-display);font-size:0.9375rem;font-weight:700;padding:11px 22px;border-radius:var(--r-md);border:1.5px solid transparent;cursor:pointer;transition:transform 0.18s ease,background-color 0.18s ease,box-shadow 0.18s ease;user-select:none;white-space:normal}
.btn-lg{padding:14px 28px;font-size:1rem}
.btn-block{width:100%}
.btn-brand{background-color:var(--brand-yellow);color:var(--brand-dark);border-color:var(--brand-yellow);box-shadow:var(--shadow-yellow)}
.btn-brand:hover{background-color:var(--brand-yellow-hover);transform:translateY(-2px);box-shadow:0 8px 28px rgba(251,185,0,0.38)}
.btn-tech{background-color:var(--tech-cyan);color:var(--white);border-color:var(--tech-cyan);box-shadow:0 4px 14px rgba(14,165,233,0.22)}
.btn-tech:hover{background-color:var(--tech-cyan-hover);transform:translateY(-2px);box-shadow:0 6px 18px rgba(14,165,233,0.32)}
.btn-outline{background-color:transparent;color:var(--brand-dark);border-color:var(--gray-300)}
.btn-outline:hover{background-color:var(--gray-50);border-color:var(--gray-400);transform:translateY(-2px)}
.btn-whatsapp{background-color:#25D366;color:var(--white);border-color:#25D366;box-shadow:0 4px 14px rgba(37,211,102,0.25)}
.btn-whatsapp:hover{background-color:#1EBE5D;transform:translateY(-2px)}
.btn-whatsapp-outline{background-color:transparent;color:#1EBE5D;border-color:#1EBE5D}
/* S01 HEADER */
.site-header{position:sticky;top:0;z-index:1000;background-color:rgba(255,255,255,0.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--gray-200);transition:box-shadow 0.2s ease}
.site-header.is-scrolled{box-shadow:0 4px 20px rgba(0,0,0,0.07)}
.header-container{display:flex;align-items:center;justify-content:space-between;height:68px;max-width:1160px;margin:0 auto;padding:0 28px}
.brand-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
.brand-logo img{display:block;height:36px;width:auto;max-width:170px;object-fit:contain}
.desktop-nav .nav-links{display:flex;align-items:center;gap:30px}
.nav-link{font-family:var(--font-display);font-size:0.9rem;font-weight:600;color:var(--gray-600);transition:color 0.15s ease;position:relative;padding-bottom:2px}
.nav-link::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--brand-yellow);border-radius:2px;transition:width 0.2s ease}
.nav-link:hover{color:var(--brand-dark)}
.nav-link:hover::after{width:100%}
.btn-tech-header{background-color:var(--brand-yellow);color:var(--brand-dark);padding:9px 18px;font-size:0.875rem;font-weight:700;border-radius:var(--r-full);border:none;cursor:pointer;transition:background-color 0.18s ease,transform 0.18s ease;text-decoration:none;display:inline-block;font-family:var(--font-display)}
.btn-tech-header:hover{background-color:var(--brand-yellow-hover);transform:translateY(-1px)}
.mobile-menu-btn{display:none;background:none;border:none;padding:8px;cursor:pointer;flex-direction:column;gap:5px}
.hamburger-line{width:22px;height:2px;background-color:var(--brand-dark);border-radius:2px}
.mobile-drawer{display:none;background-color:var(--white);border-bottom:1px solid var(--gray-200)}
.mobile-drawer.is-open{display:block}
.mobile-drawer-content{padding:20px 28px}
.mobile-nav-links{display:flex;flex-direction:column;gap:14px;margin-bottom:22px}
.mobile-nav-link{font-family:var(--font-display);font-size:1.0625rem;font-weight:700;color:var(--brand-dark);border-bottom:1px solid var(--gray-100);padding-bottom:14px}
.mobile-drawer-cta{display:flex;flex-direction:column;gap:10px}
/* S02 HERO */
.section-hero{padding:72px 0 88px;background:linear-gradient(160deg,#FFFFFF 55%,#FFFBEB 100%);position:relative;overflow:hidden}
.section-hero::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand-yellow) 0%,var(--brand-yellow-hover) 100%)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);gap:52px;align-items:center}
.hero-badge{display:inline-flex;align-items:center;gap:8px;font-size:0.8125rem;font-weight:700;color:var(--brand-dark);background-color:var(--brand-yellow-subtle);border:1px solid var(--brand-yellow-light);padding:5px 14px 5px 10px;border-radius:var(--r-full);margin-bottom:22px}
.badge-accent-bar{width:8px;height:8px;border-radius:50%;background-color:var(--brand-yellow);flex-shrink:0}
.hero-title{font-size:3rem;font-weight:800;color:var(--brand-dark);line-height:1.1;margin-bottom:20px;letter-spacing:-0.035em}
.hero-subtitle{font-size:1.125rem;color:var(--gray-500);line-height:1.6;margin-bottom:34px;max-width:490px}
.hero-cta-group{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:18px}
.hero-microcopy{font-size:0.8125rem;color:var(--gray-400)}
/* Organigrama */
.organigram-widget{background-color:var(--white);border:1px solid var(--gray-200);border-radius:var(--r-xl);padding:28px 22px;box-shadow:var(--shadow-elevation);position:relative;overflow:hidden}
.organigram-widget::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand-yellow),var(--brand-yellow-hover));border-radius:var(--r-xl) var(--r-xl) 0 0}
.organigram-top-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.organigram-label{font-size:0.6875rem;font-weight:800;text-transform:uppercase;letter-spacing:0.08em;color:var(--gray-400)}
.organigram-replay{display:inline-flex;align-items:center;gap:4px;font-size:0.6875rem;font-weight:600;color:var(--gray-500);background:var(--gray-100);border:1px solid var(--gray-200);border-radius:var(--r-sm);padding:3px 9px;cursor:pointer;transition:all 0.15s ease}
.organigram-replay:hover{color:var(--brand-dark);background-color:var(--gray-200)}
.org-root{background-color:var(--gray-50);border:1px solid var(--gray-300);border-radius:var(--r-md);padding:12px 16px;display:flex;align-items:center;gap:12px;max-width:270px;margin:0 auto}
.org-icon-root{width:32px;height:32px;border-radius:var(--r-sm);background-color:var(--white);display:flex;align-items:center;justify-content:center;color:var(--brand-dark);box-shadow:0 1px 4px rgba(0,0,0,0.08);flex-shrink:0}
.org-sub{display:block;font-size:0.625rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--gray-400);margin-bottom:1px}
.org-name{font-size:0.9375rem;font-weight:700;color:var(--brand-dark)}
.org-connector-tree{width:2px;height:20px;background-color:var(--gray-300);margin:0 auto;position:relative}
.org-connector-tree::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80%;height:2px;background-color:var(--gray-300)}
.org-grid-areas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:10px}
.org-area-pill{background-color:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--r-sm);padding:9px 5px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:66px;transition:all 0.3s ease}
.org-area-title{font-size:0.6875rem;font-weight:700;color:var(--gray-700);margin-bottom:3px}
.org-pill-status{font-size:0.5625rem;color:var(--gray-400)}
.org-tech-slot{position:relative;transition:all 0.35s cubic-bezier(0.34,1.56,0.64,1)}
.tech-state-empty{display:flex;flex-direction:column;align-items:center;justify-content:center}
.org-badge-alert{display:inline-flex;align-items:center;gap:4px;font-size:0.5625rem;font-weight:700;color:#DC2626;background-color:#FEE2E2;padding:2px 5px;border-radius:var(--r-full)}
.pulse-dot-red{width:5px;height:5px;border-radius:50%;background-color:#DC2626;animation:pulse-dot 1.4s infinite}
@keyframes pulse-dot{0%,100%{opacity:0.4;transform:scale(0.9)}50%{opacity:1;transform:scale(1.2)}}
.tech-state-filled{display:none;flex-direction:column;align-items:center;justify-content:center}
.org-tech-slot.is-integrated{background-color:var(--brand-yellow-subtle);border:2px solid var(--brand-yellow);box-shadow:0 4px 14px rgba(251,185,0,0.3);transform:translateY(-3px) scale(1.04)}
.org-tech-slot.is-integrated .tech-state-empty{display:none}
.org-tech-slot.is-integrated .tech-state-filled{display:flex}
.tech-active-header{display:flex;align-items:center;gap:4px;margin-bottom:3px}
.tech-brand-name{font-family:var(--font-display);font-size:0.6875rem;font-weight:800;color:var(--brand-dark)}
.tech-pill-active{font-size:0.5rem;font-weight:700;color:#065F46;background-color:#D1FAE5;padding:1px 4px;border-radius:3px}
.tech-summary-text{font-size:0.5rem;color:var(--gray-600);line-height:1.2}
.organigram-footer-note{margin-top:18px;padding-top:14px;border-top:1px dashed var(--gray-200);text-align:center}
.organigram-footer-note p{font-size:0.75rem;color:var(--gray-500);line-height:1.45}
.organigram-footer-note strong{color:var(--brand-dark)}
/* S03 */
.section-trust{padding:44px 0;background-color:var(--white);border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200)}
.trust-stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px;margin-bottom:40px}
.stat-item{display:flex;flex-direction:column;align-items:center;gap:2px}
.stat-number{font-family:var(--font-display);font-size:clamp(3rem,5vw,4.5rem);font-weight:800;color:var(--brand-yellow);line-height:1;letter-spacing:-0.03em}
.counter-highlight{color:var(--brand-yellow)}
.stat-label{font-size:0.8125rem;font-weight:600;color:var(--gray-500);text-align:center}
.stat-divider{display:none}
.trust-clients-marquee{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.trust-clients-marquee::-webkit-scrollbar{display:none}
.client-chips-row{display:flex;justify-content:center;flex-wrap:wrap;gap:7px 10px}
.client-chip{font-size:0.8125rem;font-weight:600;color:var(--gray-500);background-color:var(--gray-50);border:1px solid var(--gray-200);padding:4px 13px;border-radius:var(--r-full);transition:all 0.15s ease;cursor:default}
.client-chip:hover{border-color:var(--brand-yellow);color:var(--brand-dark);background-color:var(--brand-yellow-subtle)}
/* S04 */
.section-familiar{padding:88px 0;background-color:var(--gray-50)}
.editorial-problems-list{display:flex;flex-direction:column}
.problem-editorial-item{border-bottom:1px solid var(--gray-200);transition:background-color 0.15s ease}
.problem-editorial-item:first-child{border-top:1px solid var(--gray-200)}
.problem-editorial-item:hover{background-color:var(--white)}
.problem-summary-bar{display:flex;align-items:center;gap:18px;padding:18px 6px}
.prob-num{font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:var(--brand-yellow);line-height:1;flex-shrink:0;width:2.5rem}
.prob-core-question{flex-grow:1;font-family:var(--font-display);font-size:1.0625rem;font-weight:700;color:var(--brand-dark);line-height:1.3}
.prob-action-tag{font-family:var(--font-display);font-size:0.75rem;font-weight:700;color:var(--gray-600);background-color:var(--white);border:1px solid var(--gray-300);padding:5px 12px;border-radius:var(--r-full);transition:all 0.15s ease;white-space:nowrap;flex-shrink:0}
.prob-action-tag:hover{background-color:var(--brand-yellow);border-color:var(--brand-yellow);color:var(--brand-dark)}
.prob-toggle-btn{background:none;border:none;color:var(--gray-400);cursor:pointer;padding:6px;display:flex;align-items:center;transition:transform 0.22s ease,color 0.15s ease;flex-shrink:0}
.problem-editorial-item.is-expanded .prob-toggle-btn{transform:rotate(180deg);color:var(--brand-dark)}
.prob-detail-drawer{padding:0 6px 18px 3.5rem}
.prob-full-text{font-size:0.9375rem;color:var(--gray-600);line-height:1.55}
/* S05 */
.section-services{padding:88px 0;background-color:var(--white)}
.services-visual-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;margin-top:24px}
.services-menu-col{display:flex;flex-direction:column;gap:6px}
.service-menu-btn{display:flex;align-items:center;gap:14px;padding:13px 15px;background-color:transparent;border:1px solid transparent;border-radius:var(--r-md);text-align:left;cursor:pointer;transition:all 0.15s ease}
.service-menu-btn:hover{background-color:var(--gray-50);border-color:var(--gray-200)}
.service-menu-btn.active{background-color:var(--brand-dark);border-color:var(--brand-dark);color:var(--white);box-shadow:var(--shadow-card)}
.srv-badge{font-family:var(--font-display);font-size:0.75rem;font-weight:800;color:var(--gray-400);flex-shrink:0}
.service-menu-btn.active .srv-badge{color:var(--brand-yellow)}
.srv-label{font-family:var(--font-display);font-size:0.9375rem;font-weight:700;color:inherit}
.services-display-col{background-color:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--r-xl);padding:36px;box-shadow:var(--shadow-sm)}
.service-card-view{display:none}
.service-card-view.active{display:block}
.service-pill-tag{display:inline-flex;align-items:center;gap:5px;font-size:0.6875rem;font-weight:800;text-transform:uppercase;letter-spacing:0.08em;color:var(--brand-dark);background-color:var(--brand-yellow-light);border:1px solid var(--brand-yellow-light);padding:3px 9px;border-radius:var(--r-full);margin-bottom:10px}
.service-headline{font-size:1.625rem;font-weight:800;color:var(--brand-dark);margin-bottom:8px;line-height:1.25;letter-spacing:-0.025em}
.service-lead-short{font-size:1rem;color:var(--gray-600);margin-bottom:22px;line-height:1.55}
.service-graphic-diagram{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background-color:var(--white);border:1px solid var(--gray-200);border-radius:var(--r-md);padding:14px 18px;margin-bottom:24px}
.diagram-pill{font-size:0.75rem;font-weight:700;color:var(--gray-600);background-color:var(--gray-100);border:1px solid var(--gray-200);padding:5px 10px;border-radius:var(--r-sm);white-space:normal}
.diagram-highlight{border-color:var(--brand-yellow);background-color:var(--brand-yellow-light);color:var(--brand-dark)}
.diagram-arrow{color:var(--brand-yellow);font-weight:800;font-size:1.125rem}
.btn-expand-details{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-display);font-size:0.8125rem;font-weight:700;color:var(--gray-600);background:var(--white);border:1px solid var(--gray-300);border-radius:var(--r-sm);padding:7px 14px;cursor:pointer;margin-bottom:16px;transition:all 0.15s ease}
.btn-expand-details:hover{color:var(--brand-dark);border-color:var(--gray-400);background-color:var(--gray-50)}
.chevron-icon{transition:transform 0.22s ease}
.btn-expand-details.is-expanded .chevron-icon{transform:rotate(180deg)}
.service-details-drawer{background-color:var(--white);border:1px solid var(--gray-200);border-radius:var(--r-md);padding:20px;margin-bottom:22px}
.details-full-text{font-size:0.875rem;color:var(--gray-600);margin-bottom:14px;line-height:1.55}
.details-subhead{font-family:var(--font-display);font-size:0.6875rem;font-weight:800;text-transform:uppercase;letter-spacing:0.08em;color:var(--gray-500);margin-bottom:10px}
.details-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 16px;margin-bottom:16px}
.details-checklist li{font-size:0.8125rem;color:var(--gray-700);position:relative;padding-left:14px;line-height:1.45}
.details-checklist li::before{content:'—';position:absolute;left:0;color:var(--brand-yellow);font-weight:800}
.details-gain-box{background-color:var(--brand-yellow-subtle);border-left:3px solid var(--brand-yellow);padding:10px 14px;border-radius:0 var(--r-sm) var(--r-sm) 0}
.details-gain-box strong{display:block;font-size:0.6875rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--brand-dark);margin-bottom:3px}
.details-gain-box span{font-size:0.8125rem;color:var(--gray-700);line-height:1.45}
.service-card-action{padding-top:6px}
.complementary-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:28px;padding:12px 18px;background-color:var(--gray-50);border:1px dashed var(--gray-300);border-radius:var(--r-md);font-size:0.8125rem;color:var(--gray-600)}
.comp-label{font-weight:700;color:var(--gray-700)}
.comp-dot{color:var(--gray-300)}
/* S06 */
.section-why{padding:96px 0;background-color:var(--gray-50)}
.editorial-why-list{display:flex;flex-direction:column}
.why-item{border-bottom:1px solid var(--gray-200)}
.why-item:first-child{border-top:1px solid var(--gray-200)}
.why-main-line{display:flex;align-items:center;gap:20px;padding:20px 0;cursor:pointer}
.why-idx{font-family:var(--font-display);font-size:0.875rem;font-weight:800;color:var(--brand-yellow);flex-shrink:0;width:2rem}
.why-statement{flex-grow:1;font-size:1.3125rem;font-weight:700;color:var(--brand-dark);line-height:1.3}
.why-expand-btn{background:var(--white);border:1px solid var(--gray-200);border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray-500);transition:all 0.22s ease;flex-shrink:0}
.why-expand-btn:hover{background-color:var(--brand-yellow-subtle);border-color:var(--brand-yellow);color:var(--brand-dark)}
.why-item.is-expanded .why-expand-btn{transform:rotate(45deg);background-color:var(--brand-dark);border-color:var(--brand-dark);color:var(--white)}
.why-hidden-explanation{padding:0 0 18px 3rem}
.why-hidden-explanation p{font-size:0.9375rem;color:var(--gray-600);line-height:1.55}
/* S07 */
.section-diagnostic{padding:100px 0;background-color:var(--brand-dark-deep);color:var(--white);position:relative;overflow:hidden}
.section-diagnostic::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(251,185,0,0.05) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.diagnostic-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);gap:60px;align-items:center;position:relative}
.diagnostic-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:0.6875rem;font-weight:800;text-transform:uppercase;letter-spacing:0.1em;color:var(--brand-yellow);margin-bottom:14px}
.diagnostic-eyebrow::before{content:'';display:inline-block;width:16px;height:2px;background:var(--brand-yellow);border-radius:2px}
.diagnostic-headline{font-size:2.625rem;font-weight:800;color:var(--white);line-height:1.12;margin-bottom:16px;letter-spacing:-0.03em}
.diagnostic-lead-compact{font-size:1.25rem;color:rgba(255,255,255,0.6);margin-bottom:32px;font-weight:500}
.diagnostic-cta-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-bottom:22px}
.btn-tech-cta{background-color:var(--brand-yellow);color:var(--brand-dark);font-weight:700;box-shadow:var(--shadow-yellow);border:none}
.btn-tech-cta:hover{background-color:var(--brand-yellow-hover);transform:translateY(-2px);box-shadow:0 8px 28px rgba(251,185,0,0.38)}
.btn-ghost-details{background:none;border:none;color:rgba(255,255,255,0.5);font-family:var(--font-display);font-size:0.875rem;font-weight:600;cursor:pointer;padding:6px 0;transition:color 0.15s ease}
.btn-ghost-details:hover{color:var(--white)}
.diagnostic-full-details{background-color:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:var(--r-md);padding:18px;margin-top:16px}
.eval-text{font-size:0.9rem;color:rgba(255,255,255,0.65);margin-bottom:12px;line-height:1.55}
.eval-ideal-note{font-size:0.8125rem;color:rgba(255,255,255,0.45)}
.eval-ideal-note strong{color:var(--brand-yellow)}
.diagnostic-mockup-wrapper{perspective:1000px}
.report-paper-card{background-color:var(--white);border-radius:var(--r-lg);padding:24px;color:var(--brand-dark);box-shadow:0 28px 56px rgba(0,0,0,0.55);transform:rotateY(-4deg) rotateX(2deg);transition:transform 0.3s ease}
.report-paper-card:hover{transform:rotateY(0deg) rotateX(0deg)}
.report-paper-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:14px;border-bottom:2px solid var(--brand-yellow);margin-bottom:14px}
.report-brand-name{display:block;font-family:var(--font-display);font-size:1rem;font-weight:800;color:var(--brand-dark)}
.report-document-name{font-size:0.75rem;color:var(--gray-500)}
.report-tag-sample{font-size:0.625rem;font-weight:700;color:var(--brand-dark);background-color:var(--brand-yellow-light);border:1px solid var(--brand-yellow);padding:2px 7px;border-radius:var(--r-full);text-transform:uppercase}
.report-table-compact{display:flex;flex-direction:column}
.report-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--gray-100)}
.report-area{font-size:0.8125rem;font-weight:600;color:var(--brand-dark)}
.status-badge{display:inline-flex;align-items:center;gap:5px;font-size:0.6875rem;font-weight:700;padding:2px 9px;border-radius:var(--r-full)}
.st-dot{width:5px;height:5px;border-radius:50%}
.st-green{background:var(--st-green-bg);color:#065F46}.st-green .st-dot{background:var(--st-green)}
.st-amber{background:var(--st-amber-bg);color:#92400E}.st-amber .st-dot{background:var(--st-amber)}
.st-red{background:var(--st-red-bg);color:#991B1B}.st-red .st-dot{background:var(--st-red)}
.report-paper-footer{margin-top:14px;padding-top:10px;font-size:0.6875rem;color:var(--gray-500);text-align:center;border-top:1px dashed var(--gray-200)}
/* S08 */
.section-cases{padding:96px 0;background-color:var(--white)}
.portfolio-hero-case{display:grid;grid-template-columns:1.15fr 0.85fr;gap:44px;align-items:center;background-color:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--r-2xl);padding:40px;margin-bottom:28px;position:relative;overflow:hidden}
.portfolio-hero-case::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:var(--brand-yellow);border-radius:var(--r-2xl) 0 0 var(--r-2xl)}
.screen-preview-box{background-color:var(--white);border:1px solid var(--gray-200);border-radius:var(--r-md);box-shadow:var(--shadow-card);overflow:hidden}
.screen-top-ui{display:flex;align-items:center;gap:6px;padding:10px 14px;background-color:var(--gray-100);border-bottom:1px solid var(--gray-200)}
.ui-circle{width:8px;height:8px;border-radius:50%}
.ui-red{background:#EF4444}.ui-yellow{background:#F59E0B}.ui-green{background:#10B981}
.ui-window-title{margin-left:8px;font-size:0.6875rem;font-weight:600;color:var(--gray-500)}
.screen-chat-preview{padding:18px;display:flex;flex-direction:column;gap:10px;background-color:#FAFAFA}
.chat-bubble{padding:8px 12px;border-radius:var(--r-md);font-size:0.75rem;max-width:88%;line-height:1.45}
.chat-user{align-self:flex-end;background-color:#DCF8C6;color:var(--brand-dark)}
.chat-bot{align-self:flex-start;background-color:var(--white);border:1px solid var(--gray-200);color:var(--brand-dark)}
.chat-status-pill{font-size:0.625rem;font-weight:700;color:#065F46;background-color:#D1FAE5;padding:3px 9px;border-radius:var(--r-sm);align-self:center;margin-top:6px}
.hero-case-tags{display:flex;gap:8px;margin-bottom:10px;align-items:center}
.p-tag-sector{font-size:0.6875rem;font-weight:800;text-transform:uppercase;letter-spacing:0.07em;color:var(--brand-yellow-hover)}
.p-tag-client{font-size:0.6875rem;font-weight:600;color:var(--gray-500)}
.hero-case-title{font-size:1.5rem;font-weight:800;color:var(--brand-dark);line-height:1.25;margin-bottom:14px;letter-spacing:-0.025em}
.hero-case-techs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.tech-chip{font-size:0.6875rem;font-weight:600;color:var(--gray-600);background-color:var(--gray-100);border:1px solid var(--gray-200);padding:2px 8px;border-radius:var(--r-xs)}
.btn-toggle-project{font-family:var(--font-display);font-size:0.8125rem;font-weight:700;color:var(--brand-dark);background-color:var(--white);border:1px solid var(--gray-300);padding:7px 16px;border-radius:var(--r-sm);cursor:pointer;transition:all 0.15s ease}
.btn-toggle-project:hover{border-color:var(--brand-yellow);background-color:var(--brand-yellow-subtle)}
.project-expanded-drawer{margin-top:16px;padding:18px;background-color:var(--white);border:1px solid var(--gray-200);border-radius:var(--r-md)}
.proj-drawer-content{display:flex;flex-direction:column;gap:12px}
.proj-fact strong{display:block;font-size:0.625rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--gray-400);margin-bottom:3px}
.proj-fact p{font-size:0.8125rem;color:var(--gray-700);line-height:1.45}
.proj-metric-box{background-color:var(--gray-50);border:1px dashed var(--gray-300);padding:10px 14px;border-radius:var(--r-sm)}
.metric-note{font-size:0.625rem;font-weight:700;color:var(--gray-500);text-transform:uppercase;display:block;margin-bottom:2px}
.proj-metric-box p{font-size:0.75rem;color:var(--gray-500);font-style:italic}
.portfolio-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:28px}
.portfolio-card{background-color:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--r-xl);padding:26px;transition:border-color 0.18s ease,box-shadow 0.18s ease}
.portfolio-card:hover{border-color:var(--gray-300);box-shadow:var(--shadow-card)}
.portfolio-card-header{margin-bottom:8px}
.card-client-name{font-size:1.0625rem;font-weight:800;color:var(--brand-dark)}
.card-project-title{font-size:1.125rem;font-weight:700;color:var(--brand-dark);margin-bottom:12px;line-height:1.3}
.compact-other-projects{background-color:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--r-lg);padding:26px}
.other-head-title{display:block;font-family:var(--font-display);font-size:0.6875rem;font-weight:800;text-transform:uppercase;letter-spacing:0.08em;color:var(--gray-400);margin-bottom:16px}
.compact-projects-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px}
.c-proj-row{display:flex;flex-direction:column;gap:2px;padding-bottom:10px;border-bottom:1px solid var(--gray-200)}
.c-client{font-size:0.875rem;font-weight:700;color:var(--brand-dark)}
.c-desc{font-size:0.75rem;color:var(--gray-500)}
.c-tech{font-size:0.6875rem;font-weight:600;color:var(--brand-yellow-hover);margin-top:1px}
/* S09 */
.section-process{padding:88px 0;background-color:var(--brand-dark);color:var(--white)}
.section-process .eyebrow-text{color:rgba(255,255,255,0.5)}
.section-process .eyebrow-text::before{background:var(--brand-yellow)}
.section-process .section-title{color:var(--white)}
.process-track-visual{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:48px;position:relative}
.process-track-visual::before{content:'';position:absolute;top:24px;left:40px;right:40px;height:2px;background:linear-gradient(90deg,var(--brand-yellow),rgba(251,185,0,0.2));z-index:1}
.process-step-node{position:relative;z-index:2;text-align:center}
.step-circle-badge{width:50px;height:50px;border-radius:50%;background-color:var(--brand-dark-surface);border:2px solid var(--brand-yellow);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;box-shadow:0 0 0 6px rgba(251,185,0,0.1)}
.step-digit{font-family:var(--font-display);font-size:1rem;font-weight:800;color:var(--brand-yellow)}
.step-heading{font-size:1.125rem;font-weight:800;color:var(--white);margin-bottom:8px}
.step-caption{font-size:0.875rem;color:rgba(255,255,255,0.5);line-height:1.5}
/* S10 */
.section-about{padding:88px 0;background-color:var(--white)}
.about-visual-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,0.8fr);gap:52px;align-items:center;margin-bottom:44px}
.about-short-intro{font-size:1rem;color:var(--gray-600);line-height:1.65;margin-bottom:26px}
.values-compact-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.v-card{background-color:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--r-md);padding:14px;border-top:2px solid var(--brand-yellow)}
.v-card strong{display:block;font-family:var(--font-display);font-size:0.875rem;font-weight:800;color:var(--brand-dark);margin-bottom:4px}
.v-card span{font-size:0.75rem;color:var(--gray-500);line-height:1.4}
.team-photo-canvas{background-color:var(--gray-100);border:1px dashed var(--gray-300);border-radius:var(--r-xl);padding:40px 20px;text-align:center;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}
.team-placeholder-badge{display:flex;flex-direction:column;align-items:center;gap:8px}
.canvas-tag{font-family:var(--font-display);font-size:0.9375rem;font-weight:700;color:var(--brand-dark)}
.canvas-note{font-size:0.75rem;color:var(--gray-500);max-width:200px;text-align:center;line-height:1.4}
.sectors-compact-strip{padding-top:28px;border-top:1px solid var(--gray-200)}
.sectors-title{display:block;font-family:var(--font-display);font-size:0.75rem;font-weight:800;text-transform:uppercase;letter-spacing:0.08em;color:var(--gray-500);margin-bottom:14px}
.sectors-tags-wrap{display:flex;flex-wrap:wrap;gap:7px}
.s-tag{font-size:0.75rem;font-weight:600;color:var(--gray-600);background-color:var(--gray-50);border:1px solid var(--gray-200);padding:5px 12px;border-radius:var(--r-full);transition:all 0.15s ease}
.s-tag:hover{border-color:var(--brand-yellow);color:var(--brand-dark)}
/* S11 */
.section-faq{padding:88px 0;background-color:var(--gray-50)}
.faq-accordion{display:flex;flex-direction:column;gap:6px}
.faq-item{background-color:var(--white);border:1px solid var(--gray-200);border-radius:var(--r-md);overflow:hidden;transition:border-color 0.15s ease}
.faq-item.is-open{border-color:var(--brand-yellow)}
.faq-trigger{width:100%;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;background:none;border:none;text-align:left;cursor:pointer;gap:12px}
.faq-question{font-family:var(--font-display);font-size:0.9375rem;font-weight:700;color:var(--brand-dark)}
.faq-icon{font-size:1.25rem;color:var(--brand-yellow);transition:transform 0.22s ease;flex-shrink:0;line-height:1}
.faq-item.is-open .faq-icon{transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.28s ease}
.faq-answer p{padding:0 20px 18px;font-size:0.9rem;color:var(--gray-600);line-height:1.6}
/* S12 */
.section-contact{padding:88px 0;background-color:var(--white)}
.contact-split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px;align-items:flex-start}
.contact-title{font-size:2.125rem;font-weight:800;color:var(--brand-dark);margin-bottom:14px;line-height:1.2;letter-spacing:-0.025em}
.contact-subtext{font-size:1rem;color:var(--gray-500);margin-bottom:28px;line-height:1.55}
.contact-channels{display:flex;flex-direction:column;gap:14px}
.contact-email-line{display:flex;align-items:center;gap:8px;font-size:0.875rem;color:var(--gray-600)}
.contact-email-line a{color:var(--brand-dark);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.contact-form-col{background-color:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--r-xl);padding:32px}
.clean-form{display:flex;flex-direction:column;gap:14px}
.form-field{display:flex;flex-direction:column;gap:5px}
.form-field label{font-family:var(--font-display);font-size:0.8125rem;font-weight:700;color:var(--brand-dark)}
.form-field .req{color:#DC2626}
.form-field .opt{font-size:0.6875rem;color:var(--gray-400);font-weight:400}
.form-grid-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.input-text,.input-select{width:100%;padding:10px 13px;background-color:var(--white);border:1px solid var(--gray-300);border-radius:var(--r-sm);color:var(--brand-dark);font-size:0.9rem;transition:border-color 0.15s ease,box-shadow 0.15s ease}
.input-text:focus,.input-select:focus{outline:none;border-color:var(--brand-yellow);box-shadow:0 0 0 3px rgba(251,185,0,0.15)}
.form-banner{padding:10px 14px;border-radius:var(--r-sm);font-size:0.8125rem;font-weight:600}
.form-banner.error{background-color:#FEF2F2;border:1px solid #FCA5A5;color:#991B1B}
.form-banner.success{background-color:#ECFDF5;border:1px solid #6EE7B7;color:#065F46}
#btn-submit-form{background-color:var(--brand-yellow);color:var(--brand-dark);font-weight:700;border:none;margin-top:4px;box-shadow:0 4px 14px rgba(251,185,0,0.2);transition:background-color 0.18s ease,transform 0.18s ease,box-shadow 0.18s ease}
#btn-submit-form:hover{background-color:var(--brand-yellow-hover);transform:translateY(-2px);box-shadow:0 6px 20px rgba(251,185,0,0.3)}
/* S13 */
.site-footer{background-color:var(--brand-dark-deep);color:var(--gray-400);padding:32px 0}
.footer-strip{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.footer-brand{font-family:var(--font-display);font-weight:800;color:var(--white);margin-right:8px}
.footer-copy{font-size:0.75rem}
.footer-links-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:0.75rem}
.footer-links-row a{color:var(--gray-400);transition:color 0.15s ease}
.footer-links-row a:hover{color:var(--brand-yellow)}
.floating-whatsapp{position:fixed;bottom:24px;right:24px;z-index:999;display:flex;align-items:center;gap:6px;background-color:#25D366;color:var(--white);padding:10px 18px;border-radius:var(--r-full);box-shadow:0 4px 16px rgba(37,211,102,0.4);font-family:var(--font-display);font-size:0.8125rem;font-weight:700;transition:transform 0.18s ease,box-shadow 0.18s ease}
.floating-whatsapp:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(37,211,102,0.45);color:var(--white)}
/* Responsive común: mínimos explícitos y un solo sistema de container. */
img{max-width:100%;height:auto}
[hidden]{display:none!important}
.container,.header-container{width:100%;max-width:1160px;margin-inline:auto;padding-inline:28px}
.container>*,.hero-grid>*,.diagnostic-layout>*,.about-visual-split>*,.services-visual-layout>*,.contact-split-grid>*,.form-grid-pair>*,.values-compact-row>*{min-width:0}
p,h1,h2,h3,h4,span,a{overflow-wrap:break-word}
button,a,input,select,textarea{max-width:100%}
button svg,.btn svg{flex-shrink:0}
:focus-visible{outline:3px solid var(--brand-yellow);outline-offset:4px}
section[id]{scroll-margin-top:88px}
.skip-link{position:fixed;top:8px;left:18px;z-index:1100;transform:translateY(-150%);background:var(--brand-dark);color:white;padding:10px 16px;border-radius:6px}
.skip-link:focus{transform:none}
.stat-item{min-width:0;gap:10px}
.stat-item+.stat-item{border-left:1px solid var(--gray-200)}
.counter-highlight{color:var(--brand-yellow)}
.stat-number{font-variant-numeric:tabular-nums;position:relative;padding-bottom:12px}
.stat-number::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:36px;height:3px;background:var(--brand-yellow)}
.org-grid-areas{position:relative}
.org-grid-areas::before{content:'';position:absolute;top:-10px;left:12.5%;right:12.5%;height:2px;background:var(--gray-300)}
.org-area-pill{position:relative;min-width:0}
.org-area-pill::before{content:'';position:absolute;top:-10px;height:9px;width:2px;background:var(--gray-300)}
.tech-active-header{flex-wrap:wrap;justify-content:center}
.organigram-top-bar{gap:10px;flex-wrap:wrap}
.organigram-label{max-width:100%}
.details-subhead{font-size:.75rem;text-transform:uppercase;margin:12px 0 10px;color:var(--gray-500)}
/* Proyectos: avance de derecha a izquierda y controles accesibles. */
.projects-carousel{min-width:0;margin-bottom:28px;border:1px solid var(--gray-200);border-radius:var(--r-xl);background:var(--gray-50);overflow:hidden}
.projects-viewport{overflow:hidden;touch-action:pan-y}
.projects-track{display:flex;align-items:flex-start;transition:transform .7s ease}
.project-slide{flex:0 0 100%;width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:32px;align-items:center;padding:32px}
.project-media{position:relative;min-width:0;margin:0;align-self:start;border:1px solid var(--gray-200);background:white;border-radius:var(--r-md);overflow:hidden}
.project-image{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;background:var(--gray-100)}
.project-image-note{padding:10px 14px;font-size:.75rem;border-top:1px solid var(--gray-200);color:var(--gray-500)}
.project-info{min-width:0}
.project-name{font-size:clamp(1.5rem,2.4vw,2rem);margin-bottom:12px}
.project-kind{font-size:.95rem;margin-bottom:20px}
.project-pending{font-size:.8125rem;color:var(--gray-500)}
.project-info .hero-case-tags{flex-wrap:wrap}
.project-info .card-project-title,.project-info .hero-case-title{font-size:1rem;color:var(--gray-600);font-weight:500}
.project-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 32px;border-top:1px solid var(--gray-200);background:white}
.project-arrows,.project-dots{display:flex;gap:8px;align-items:center}
.carousel-arrow{width:44px;height:44px;background:white;border:1px solid var(--gray-300);border-radius:50%;cursor:pointer;font-size:1.3rem}
.carousel-arrow:hover{background:var(--brand-yellow);border-color:var(--brand-yellow)}
.project-dot{width:28px;height:32px;position:relative;border:none;background:none;cursor:pointer}
.project-dot::before{content:'';position:absolute;inset:11px 9px;background:var(--gray-300);border-radius:50%}
.project-dot[aria-current="true"]::before{background:var(--brand-yellow);inset:10px 8px}
.project-position{font-size:.8125rem;font-variant-numeric:tabular-nums;color:var(--gray-500)}
/* Clientes: logos originales o estado neutral si aún no se entregaron. */
.trust-clients-marquee{overflow:visible}
.client-marquee-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.clients-title{font-size:.875rem;letter-spacing:0;font-weight:600;color:var(--gray-500)}
.marquee-toggle{border:1px solid var(--gray-300);border-radius:6px;background:white;padding:8px 12px;font-size:.75rem;cursor:pointer}
.clients-window{overflow:hidden;width:100%}
.clients-track{display:flex;width:max-content}
.client-logo-group{display:flex;flex-shrink:0;gap:16px;padding-right:16px}
.client-logo-card{width:156px;height:94px;border:1px solid var(--gray-200);border-radius:10px;display:flex;align-items:center;justify-content:center;padding:18px;background:white;flex-shrink:0}
.client-logo-card img{width:120px;height:54px;max-width:100%;object-fit:contain}
.client-logo-fallback{font-size:.8125rem;font-weight:600;color:var(--gray-500);text-align:center;line-height:1.3}
.client-logo-fallback small{display:block;font-weight:400;font-size:.625rem;margin-top:6px;color:var(--gray-500)}
/* Timeline: continuidad horizontal y vertical. */
.process-track-visual{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.process-track-visual::before{left:12.5%;right:12.5%;top:27px;background:rgba(251,185,0,.5)}
.step-circle-badge{width:56px;height:56px;background:var(--brand-dark);box-shadow:0 0 0 8px var(--brand-dark)}
.step-caption{color:rgba(255,255,255,.75)}
.report-row{gap:12px}
.status-badge{flex-shrink:0}
.report-paper-header{gap:12px;flex-wrap:wrap}
.footer-left{min-width:0}
.footer-copy{display:block;margin-top:6px;max-width:520px}
.site-footer{padding-bottom:100px}
.contact-email-line{flex-wrap:wrap}
.input-text,.input-select{min-width:0;max-width:100%}
textarea.input-text{resize:vertical}
.floating-whatsapp{bottom:max(18px,env(safe-area-inset-bottom));right:max(18px,env(safe-area-inset-right));z-index:1050;min-height:48px}
@media(max-width:1100px){
 .desktop-nav,.header-actions>.btn-tech-header{display:none}
 .mobile-menu-btn{display:flex;min-width:44px;min-height:44px;justify-content:center}
 .mobile-drawer{max-height:calc(100dvh - 68px);overflow-y:auto}
 .mobile-drawer-content{max-width:1160px;margin:auto;padding:20px 28px}
 .mobile-nav-link{display:block;padding-block:8px}
 .hero-grid{gap:28px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero-title{font-size:2.75rem}
 .hero-cta-group .btn{padding:12px 18px}
 .services-visual-layout{grid-template-columns:220px minmax(0,1fr);gap:20px}
 .services-display-col{padding:24px}
 .diagnostic-layout,.about-visual-split,.contact-split-grid{gap:32px}
 .report-paper-card{transform:none}
 .values-compact-row{grid-template-columns:1fr}
}
@media(max-width:900px){
 .hero-grid,.diagnostic-layout,.about-visual-split,.contact-split-grid{grid-template-columns:minmax(0,1fr);gap:36px}
 .hero-subtitle{max-width:640px}
 .hero-visual{width:100%;max-width:620px;margin:auto}
 .hero-cta-group{flex-wrap:nowrap;align-items:stretch}
 .hero-cta-group .btn{flex:1}
 .services-visual-layout{grid-template-columns:minmax(0,1fr)}
 .services-menu-col{flex-direction:row;max-width:100%;overflow-x:auto;gap:8px;padding:6px 4px 12px;scrollbar-width:thin;scrollbar-color:var(--brand-yellow) var(--gray-100)}
 .service-menu-btn{flex-shrink:0;white-space:nowrap}
 .project-slide{grid-template-columns:minmax(0,1fr);gap:24px}
 .project-image{aspect-ratio:16/9}
 .compact-projects-table{grid-template-columns:minmax(0,1fr)}
 .values-compact-row{grid-template-columns:repeat(3,minmax(0,1fr))}
 .team-photo-canvas{max-width:640px;margin:auto}
 .process-track-visual{display:flex;flex-direction:column;gap:32px;margin-top:32px}
 .process-track-visual::before{display:block;top:28px;bottom:28px;left:27px;right:auto;width:2px;height:auto}
 .process-step-node{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:24px;text-align:left}
 .step-circle-badge{grid-row:1/3;margin:0}
 .step-heading{padding-top:4px}
 .step-caption{grid-column:2}
}
@media(max-width:600px){
 .container,.header-container,.mobile-drawer-content{padding-inline:18px}
 .section-hero{padding:40px 0 52px}
 .section-familiar,.section-services,.section-why,.section-diagnostic,.section-cases,.section-process,.section-about,.section-faq,.section-contact{padding-block:56px}
 .section-header-compact{margin-bottom:28px}
 .hero-title{font-size:clamp(1.9rem,7vw,2.5rem)}
 .hero-subtitle{font-size:1rem;margin-bottom:24px}
 .hero-cta-group{flex-direction:column;gap:12px}
 .hero-cta-group .btn{width:100%;flex:auto;font-size:.9375rem;padding:13px 16px}
 .section-title,.diagnostic-headline,.contact-title{font-size:clamp(1.6rem,6vw,2rem)}
 .trust-stat-strip{gap:8px}
 .stat-number{font-size:clamp(2rem,9vw,3.25rem)}
 .stat-label{font-size:.75rem;line-height:1.4}
 .organigram-widget{padding:22px 16px}
 .org-grid-areas{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:0;padding-top:10px;border-top:2px solid var(--gray-300)}
 .org-grid-areas::before,.org-area-pill::before{display:none}
 .org-area-pill{padding:12px 7px;min-height:80px}
 .org-area-title,.tech-brand-name{font-size:.75rem}
 .org-pill-status,.tech-summary-text{font-size:.6875rem}
 .tech-pill-active{font-size:.5625rem}
 .org-tech-slot.is-integrated{transform:none}
 .problem-summary-bar{display:grid;grid-template-columns:26px minmax(0,1fr) 32px;gap:12px;padding:18px 0}
 .prob-num{width:auto;font-size:1.125rem}
 .prob-core-question{font-size:.9375rem}
 .prob-action-tag{grid-row:2;grid-column:2/4;justify-self:start;white-space:normal}
 .prob-toggle-btn{grid-row:1;grid-column:3;min-height:44px}
 .prob-detail-drawer{padding:0 0 18px 38px}
 .why-main-line{gap:12px}
 .why-idx{width:22px}
 .why-statement{font-size:1.1rem}
 .why-expand-btn{width:36px;height:36px}
 .why-hidden-explanation{padding-left:34px}
 .services-display-col{padding:22px 16px}
 .service-headline{font-size:1.4rem}
 .service-graphic-diagram{padding:14px;gap:8px}
 .diagram-pill{white-space:normal}
 .service-details-drawer{padding:16px}
 .details-checklist,.form-grid-pair,.values-compact-row{grid-template-columns:minmax(0,1fr)}
 .service-card-action .btn,.diagnostic-cta-wrap .btn,.contact-channels .btn{width:100%}
 .diagnostic-cta-wrap{flex-direction:column;align-items:stretch;gap:12px}
 .btn-ghost-details{align-self:flex-start}
 .report-paper-card{padding:18px}
 .report-area{font-size:.75rem}
 .status-badge{font-size:.625rem;padding:3px 7px}
 .project-slide{padding:18px;gap:20px}
 .project-controls{padding:14px 18px;gap:10px}
 .project-dots{gap:0}
 .project-dot{width:24px}
 .project-position{margin-left:auto}
 .project-name{font-size:1.5rem}
 .compact-other-projects{padding:20px}
 .client-logo-card{width:140px;height:86px;padding:14px}
 .contact-form-col{padding:22px 16px}
 .input-text,.input-select{font-size:1rem}
 .contact-email-line{font-size:.8125rem}
 .footer-strip,.footer-links-row{flex-direction:column;align-items:flex-start}
 .footer-links-row{gap:8px}
 .footer-links-row>span{display:none}
 .footer-links-row a{padding-block:6px}
 .floating-whatsapp{width:52px;height:52px;padding:0;justify-content:center}
 .floating-whatsapp .wa-text{display:none}
}
@media(min-width:1101px){.mobile-drawer.is-open{display:none}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .clients-window{overflow-x:auto}
}

.hero-cta-group .btn{font-size:.875rem;padding:13px 16px}
@media(max-width:600px){.hero-cta-group .btn{font-size:.9375rem}}

/* Ajustes de la referencia anotada: sin sustituir el sistema responsive existente. */
.section-trust{padding:38px 0}
.trust-stat-strip{max-width:760px;margin:0 auto;gap:0}
.stat-number{padding-bottom:0}
.stat-number::after{display:none}
.counter-highlight{color:var(--brand-yellow)}
.stat-item{position:relative}
.stat-item:not(:first-child)::before{content:'';position:absolute;left:0;top:15px;width:1px;height:46px;background:var(--gray-200)}
.section-cases{padding:0;background:white}
.portfolio-reference-header{background:#FFF9E4;padding:38px 42px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:0}
.portfolio-reference-header .section-title{margin:0;font-size:clamp(2rem,3.2vw,2.8rem);line-height:1.1}
.portfolio-reference-header .section-title span{color:var(--gray-500)}
.portfolio-contact-link{font-size:.875rem;white-space:nowrap;color:var(--gray-500)}
.projects-carousel{position:relative;margin-bottom:0;background:linear-gradient(105deg,#EFFAFF 0%,#FFFFFF 100%);border:0;border-radius:0}
.project-slide{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);padding:48px 64px 0;gap:48px;min-height:400px}
.project-info{padding:20px 0 32px}
.project-name{font-size:clamp(2rem,3.8vw,3.4rem);line-height:1.03;letter-spacing:-.045em;max-width:350px}
.project-kind{font-size:1rem;margin-bottom:14px}
.project-type-caption{font-size:.8125rem;max-width:360px;margin-bottom:14px;color:var(--gray-500)}
.project-media{border:0;border-radius:20px 20px 0 0;box-shadow:0 12px 40px rgba(54,52,52,.07);align-self:end}
.project-image{aspect-ratio:4/3;object-fit:contain;object-position:center;background:#F8FAFC}
.project-controls{padding:10px 64px 16px;justify-content:center;gap:18px;border:0;background:transparent}
.project-arrows{position:absolute;top:50%;left:8px;right:8px;justify-content:space-between;pointer-events:none}
.carousel-arrow{pointer-events:auto;background:transparent;border:0;color:var(--gray-500);border-radius:6px}
.project-position{margin:0}
.carousel-play{width:34px;height:34px;background:transparent;border:1px solid var(--gray-300);border-radius:50%;cursor:pointer;font-size:.8rem;font-weight:700;color:var(--brand-dark)}
.section-familiar .container{max-width:860px}
.section-process{background:var(--brand-dark-deep)}
.step-circle-badge{background:var(--brand-dark-deep);box-shadow:0 0 0 8px var(--brand-dark-deep)}
.section-clients{padding:0 0 56px;background:white}
.section-clients .clients-title{font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-600);font-weight:700}
.client-logo-card{width:190px;height:104px;border-radius:var(--r-lg)}
.client-logo-card img{width:130px;height:58px;object-fit:contain}
.section-contact{padding:0 0 52px}
.contact-reference-card{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:48px;background:radial-gradient(circle at 100% 100%,transparent 0 110px,rgba(255,255,255,.23) 111px 155px,transparent 156px),linear-gradient(110deg,#FFF6D8,#FFE786 65%,#EBDD8A);border:1px solid #F3E6B6;border-radius:24px;padding:52px 48px}
.contact-reference-card::after{content:none;position:absolute;right:-60px;bottom:-100px;width:300px;height:300px;border:45px solid rgba(255,255,255,.23);border-radius:50%;pointer-events:none}
.contact-reference-copy,.contact-reference-data{position:relative;z-index:1;min-width:0}
.contact-reference-copy .contact-title{font-size:clamp(2rem,3.9vw,3.5rem);line-height:1.05;margin:16px 0 18px}
.contact-reference-copy p{font-size:.9375rem;max-width:420px;color:var(--brand-dark);line-height:1.55}
.contact-reference-data{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.contact-reference-email{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;background:white;border-radius:var(--r-full);font-size:.875rem;font-weight:700;max-width:100%;overflow-wrap:anywhere}
.contact-reference-phone{font-size:clamp(1.2rem,2.1vw,1.7rem);font-weight:800;letter-spacing:.01em;line-height:1.3}
.contact-reference-location{font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--brand-dark)}
.reference-social-row{display:flex;justify-content:center;gap:20px;align-items:center;padding:16px 18px;border-top:1px solid var(--gray-200);font-size:.75rem;color:var(--gray-600)}
.site-footer{padding:24px 0 84px;border-bottom:3px solid var(--brand-yellow)}
.footer-left{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.footer-logo{background:white;padding:7px 12px;border-radius:6px;display:inline-flex;align-items:center;flex-shrink:0}
.footer-logo img{width:120px;height:auto}
.footer-brand{margin-right:0;font-size:.8125rem}
.footer-copy{margin-top:0;display:inline;font-size:.75rem;max-width:650px}
@media(max-width:900px){
 .project-slide{grid-template-columns:repeat(2,minmax(0,1fr));padding:30px 48px 0;gap:24px;min-height:320px}
 .project-name{font-size:2.4rem}
 .project-info{padding-bottom:24px}
 .contact-reference-card{padding:36px;gap:28px}
 .contact-reference-copy .contact-title{font-size:2.5rem}
 .contact-reference-email{font-size:.75rem;padding:10px 14px}
 .contact-reference-phone{font-size:1.2rem}
}
@media(max-width:600px){
 .section-trust{padding:32px 0}
 .stat-item:not(:first-child)::before{height:32px;top:7px}
 .section-cases{padding:0}
 .portfolio-reference-header{padding:28px 20px;gap:18px;align-items:flex-start;flex-direction:column}
 .portfolio-reference-header .section-title{font-size:2rem}
 .portfolio-contact-link{font-size:.8125rem}
 .project-slide{grid-template-columns:minmax(0,1fr);padding:24px 40px 0;gap:16px;min-height:0}
 .project-info{padding:0}
 .project-name{font-size:2.25rem;max-width:none}
 .project-kind{font-size:.9375rem}
 .project-type-caption{font-size:.75rem}
 .project-controls{padding:12px 20px;gap:10px;flex-wrap:wrap}
 .project-arrows{left:0;right:0;top:48%}
 .project-media{width:100%;border-radius:12px 12px 0 0}
 .section-clients{padding-bottom:40px}
 .client-logo-card{width:156px;height:94px}
 .section-contact{padding:0 0 36px}
 .contact-reference-card{grid-template-columns:minmax(0,1fr);padding:30px 22px;gap:28px;border-radius:18px}
 .contact-reference-copy .contact-title{font-size:2.2rem;margin-top:10px}
 .contact-reference-copy p{font-size:.875rem}
 .contact-reference-data{gap:14px}
 .contact-reference-email{font-size:.75rem;padding:10px 12px}
 .contact-reference-phone{font-size:1.3rem}
 .contact-reference-location{font-size:.625rem;letter-spacing:.06em}
 .footer-left{align-items:flex-start;flex-direction:column;gap:12px}
}

/* Progreso de lectura: gris al inicio, amarillo según el scroll. */
.reading-progress{position:fixed;inset:0 0 auto;height:4px;background:#E5E7EB;z-index:1200;pointer-events:none}
.reading-progress-fill{display:block;width:100%;height:100%;background:var(--brand-yellow);transform:scaleX(0);transform-origin:left center}
/* Mostrar las imágenes originales completas, sin estirar ni recortar. */
.project-media{width:100%;max-width:500px;align-self:center;justify-self:center;border-radius:12px;overflow:hidden}
.project-image{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}

.whatsapp-icon{display:block;width:24px;height:24px;flex-shrink:0}

/* ==========================================================================
   REFACTORIZACIÓN CREASOFT - REQUERIMIENTOS UI/UX SENIOR
   ========================================================================== */

/* 2. Hero Carousel */
.hero-carousel {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.hero-slides-wrapper {
  position: relative;
  min-height: 520px;
}
.hero-slide {
  display: none;
  width: 100%;
  animation: heroFadeSlide 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.hero-slide.active {
  display: block;
}
@keyframes heroFadeSlide {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.99);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.hero-controls-container {
  margin-top: 24px;
  padding-bottom: 12px;
}
.hero-carousel-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid var(--gray-200);
  padding-top: 20px;
}
.hero-indicators {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.hero-indicator-btn {
  background: var(--gray-50);
  border: 1px solid var(--gray-300);
  padding: 8px 18px;
  border-radius: var(--r-full);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-family: var(--font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--gray-600);
  transition: all 0.2s ease;
}
.hero-indicator-btn:hover {
  background: var(--white);
  border-color: var(--brand-yellow);
  color: var(--brand-dark);
}
.hero-indicator-btn.active {
  background: var(--brand-dark);
  color: var(--white);
  border-color: var(--brand-dark);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}
.hero-indicator-btn .indicator-bar {
  width: 24px;
  height: 3px;
  background: var(--gray-300);
  border-radius: 2px;
  overflow: hidden;
  position: relative;
}
.hero-indicator-btn.active .indicator-bar {
  background: rgba(255, 255, 255, 0.25);
}
.hero-indicator-btn .indicator-fill {
  display: block;
  height: 100%;
  width: 0%;
  background: var(--brand-yellow);
}
.hero-indicator-btn.active .indicator-fill {
  width: 100%;
}
.hero-arrow-btns {
  display: flex;
  gap: 8px;
}
.hero-arrow-btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1.5px solid var(--gray-300);
  background: var(--white);
  color: var(--brand-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  cursor: pointer;
  transition: all 0.18s ease;
}
.hero-arrow-btn:hover {
  background: var(--brand-yellow);
  border-color: var(--brand-yellow);
  transform: translateY(-1px);
}

/* Slide 2: Software Factory Visual */
.software-factory-widget {
  background: #18181B;
  color: #F4F4F5;
  border-radius: var(--r-xl);
  padding: 24px 28px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.09);
}
.factory-header-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.factory-dots {
  display: flex;
  gap: 6px;
}
.dot-red { width: 10px; height: 10px; border-radius: 50%; background: #EF4444; }
.dot-yellow { width: 10px; height: 10px; border-radius: 50%; background: #FBB900; }
.dot-green { width: 10px; height: 10px; border-radius: 50%; background: #10B981; }
.factory-title {
  font-family: monospace;
  font-size: 0.75rem;
  color: #A1A1AA;
}
.factory-badge-active {
  font-size: 0.6875rem;
  font-weight: 700;
  color: #10B981;
  background: rgba(16,185,129,0.14);
  padding: 3px 8px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.factory-code-preview {
  font-family: 'SF Mono', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 0.8125rem;
  line-height: 1.5;
  background: rgba(0,0,0,0.35);
  padding: 14px 18px;
  border-radius: 8px;
  margin-bottom: 18px;
  border: 1px solid rgba(255,255,255,0.05);
}
.c-keyword { color: #F472B6; }
.c-var { color: #93C5FD; }
.c-func { color: #6EE7B7; }
.c-prop { color: #FDE047; }
.c-str { color: #FDBA74; }
.c-indent { padding-left: 20px; }
.factory-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 16px;
}
.factory-stat-box {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 8px;
  padding: 10px;
  text-align: center;
}
.factory-stat-box .f-num {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--brand-yellow);
  display: block;
  line-height: 1.1;
  margin-bottom: 2px;
}
.factory-stat-box .f-lbl {
  font-size: 0.6875rem;
  color: #A1A1AA;
}
.factory-stack-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.f-chip {
  font-size: 0.6875rem;
  font-weight: 600;
  padding: 4px 9px;
  background: rgba(255,255,255,0.07);
  border-radius: 5px;
  color: #E4E4E7;
}

/* Slide 3: Cloud Partners Visual */
.partners-hero-widget {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.partner-card-glass {
  background: var(--white);
  border: 1.5px solid var(--gray-200);
  border-radius: var(--r-lg);
  padding: 18px 22px;
  box-shadow: var(--shadow-card);
  transition: transform 0.2s ease, border-color 0.2s ease;
}
.partner-card-glass:hover {
  transform: translateY(-2px);
  border-color: var(--brand-yellow);
}
.hero-partner-logo {
  height: 38px;
  width: auto;
  max-width: 210px;
  object-fit: contain;
  margin-bottom: 10px;
}
.hero-partner-features {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.8125rem;
  color: var(--gray-600);
}
.hero-partner-features li {
  display: flex;
  align-items: center;
  gap: 6px;
}
.hero-partner-features .check-icon {
  color: var(--brand-yellow);
  font-weight: 800;
}
.partner-guarantee-strip {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--brand-dark);
  background: var(--brand-yellow-subtle);
  border: 1px solid rgba(251,185,0,0.3);
  padding: 9px 16px;
  border-radius: 8px;
  text-align: center;
}

/* 3. Indicadores: Efecto Hover Amarillo */
.stat-item {
  cursor: pointer;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.2s ease;
  padding: 16px 20px;
  border-radius: var(--r-md);
}
.stat-item:hover,
.stat-item.active,
.stat-item:focus-visible {
  transform: translateY(-4px);
  background-color: var(--brand-yellow-subtle);
}
.stat-item:hover .stat-number,
.stat-item.active .stat-number,
.stat-item:hover .counter-highlight,
.stat-item.active .counter-highlight,
.stat-item:hover .stat-label,
.stat-item.active .stat-label {
  color: var(--brand-yellow) !important;
}

/* 4. Sección Confían en Nosotros (Reubicada bajo estadísticas, animación suave) */
.section-clients {
  padding: 44px 0 52px;
  background-color: var(--white);
  border-bottom: 1px solid var(--gray-200);
}
.client-marquee-header {
  text-align: center;
  margin-bottom: 24px;
}
.clients-title {
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--gray-500);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.clients-window {
  overflow: hidden;
  width: 100%;
}
.clients-track {
  display: flex;
  width: max-content;
  animation: marquee-scroll 26s linear infinite;
}
.clients-track:hover {
  animation-play-state: paused;
}
@keyframes marquee-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* 5. Sección Casos de Éxito: Full Width Edge-to-Edge */
.section-cases {
  width: 100%;
  padding: 64px 0;
  background: linear-gradient(135deg, #EFF8FF 0%, #E8F4FC 45%, #F4F8FB 100%);
  border-top: 1px solid var(--gray-200);
  border-bottom: 1px solid var(--gray-200);
}
.portfolio-reference-header {
  background: rgba(255, 249, 228, 0.95);
  backdrop-filter: blur(8px);
  border-radius: var(--r-xl) var(--r-xl) 0 0;
  border: 1px solid rgba(251, 185, 0, 0.25);
  border-bottom: 1px solid var(--gray-200);
  padding: 36px 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.projects-carousel {
  position: relative;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(12px);
  border: 1px solid var(--gray-200);
  border-top: none;
  border-radius: 0 0 var(--r-xl) var(--r-xl);
  box-shadow: 0 16px 36px -8px rgba(0, 0, 0, 0.08);
}

/* 6. Sección ¿Le suena familiar?: Permanentemente desplegada y CTA a la derecha */
.problem-editorial-item {
  border-bottom: 1px solid var(--gray-200);
  padding: 22px 14px;
  transition: all 0.2s ease;
  border-radius: var(--r-md);
}
.problem-editorial-item:hover {
  background-color: var(--white);
  box-shadow: var(--shadow-sm);
  transform: translateX(4px);
}
.problem-summary-bar {
  display: flex;
  align-items: center;
  gap: 24px;
  width: 100%;
}
.prob-num {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--brand-yellow);
  flex-shrink: 0;
  width: 2.5rem;
}
.prob-content-stack {
  flex: 1;
  min-width: 0;
}
.prob-core-question {
  font-family: var(--font-display);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--brand-dark);
  margin-bottom: 4px;
  display: block;
}
.prob-full-text {
  font-size: 0.9rem;
  color: var(--gray-600);
  line-height: 1.45;
  margin: 0;
}
.prob-action-wrapper {
  margin-left: auto;
  flex-shrink: 0;
}
.prob-action-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--brand-dark);
  background-color: var(--white);
  border: 1.5px solid var(--gray-300);
  padding: 8px 18px;
  border-radius: var(--r-full);
  transition: all 0.2s ease;
  white-space: nowrap;
}
.prob-action-tag:hover {
  background-color: var(--brand-yellow);
  border-color: var(--brand-yellow);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(251,185,0,0.3);
}

/* 7. Sección Servicios: Sin pilar, detalles abiertos directamente */
.service-details-drawer.direct-view {
  display: block !important;
  background-color: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--r-md);
  padding: 24px 28px;
  margin-bottom: 22px;
}
.service-card-head {
  margin-bottom: 20px;
}
.service-card-head .service-headline {
  font-size: 1.625rem;
  font-weight: 800;
  color: var(--brand-dark);
  margin: 10px 0;
}

/* 8. Sección Diagnóstico TI */
.section-diagnostic {
  background-color: #121214;
  color: var(--white);
  padding: 88px 0;
}
.diagnostic-intro .diagnostic-headline {
  color: var(--white);
  font-size: clamp(2rem, 3.5vw, 2.75rem);
  line-height: 1.15;
  margin-bottom: 16px;
}
.diagnostic-intro .diagnostic-lead-compact {
  color: #94A3B8;
  font-size: 1.15rem;
  margin-bottom: 24px;
  font-weight: 500;
}
.diagnostic-full-details.direct-open {
  display: block !important;
  margin-bottom: 28px;
}
.diagnostic-full-details .eval-text {
  color: #CBD5E1;
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 16px;
}
.eval-ideal-note {
  background: rgba(255, 255, 255, 0.05);
  border-left: 3px solid var(--brand-yellow);
  padding: 14px 18px;
  border-radius: 0 var(--r-md) var(--r-md) 0;
}
.eval-ideal-note strong {
  color: var(--brand-yellow);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  display: block;
  margin-bottom: 4px;
}
.eval-ideal-note p {
  color: #E2E8F0;
  font-size: 0.875rem;
  line-height: 1.5;
  margin: 0;
}
.diagnostic-cta-wrap.align-right {
  display: flex;
  justify-content: flex-end;
  margin-top: 24px;
}

/* Estilo del Reporte Gráfico del Sistema */
.report-paper-card {
  background: #1C1C22;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--r-xl);
  padding: 26px 28px;
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.45);
}
.report-paper-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding-bottom: 16px;
  margin-bottom: 20px;
}
.report-brand-name {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--white);
  display: flex;
  align-items: center;
  gap: 8px;
}
.report-badge-pill {
  font-size: 0.65rem;
  font-weight: 700;
  background: rgba(251, 185, 0, 0.16);
  color: var(--brand-yellow);
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid rgba(251, 185, 0, 0.35);
}
.report-document-name {
  font-size: 0.8125rem;
  color: #94A3B8;
  display: block;
  margin-top: 2px;
}
.report-tag-sample {
  font-size: 0.6875rem;
  font-weight: 600;
  color: #64748B;
  background: rgba(255, 255, 255, 0.05);
  padding: 4px 10px;
  border-radius: 6px;
}
.report-score-panel {
  display: flex;
  align-items: center;
  gap: 18px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: var(--r-md);
  padding: 14px 18px;
  margin-bottom: 20px;
}
.score-radial-box {
  display: flex;
  align-items: baseline;
  background: rgba(245, 158, 11, 0.15);
  border: 1.5px solid rgba(245, 158, 11, 0.4);
  padding: 8px 14px;
  border-radius: var(--r-md);
}
.score-digit {
  font-size: 2.25rem;
  font-weight: 800;
  color: var(--brand-yellow);
  line-height: 1;
}
.score-base {
  font-size: 0.875rem;
  color: #94A3B8;
  font-weight: 600;
  margin-left: 2px;
}
.score-meta-box {
  flex: 1;
}
.score-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 999px;
  margin-bottom: 4px;
}
.score-status-badge.st-amber {
  background: rgba(245, 158, 11, 0.18);
  color: #FBB900;
}
.score-recommendation {
  font-size: 0.8125rem;
  color: #CBD5E1;
  margin: 0;
  line-height: 1.4;
}
.report-areas-grid {
  display: flex;
  flex-direction: column;
  gap: 11px;
  margin-bottom: 18px;
}
.report-row-meter {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.04);
  border-radius: 8px;
  padding: 9px 12px;
}
.report-meter-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 5px;
}
.report-area-name {
  font-size: 0.875rem;
  font-weight: 600;
  color: #F1F5F9;
}
.meter-bar-track {
  width: 100%;
  height: 6px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 3px;
  overflow: hidden;
}
.meter-bar-fill {
  height: 100%;
  border-radius: 3px;
  transition: width 1s ease;
}
.st-green-fill { background: #10B981; }
.st-amber-fill { background: #F59E0B; }
.st-red-fill { background: #EF4444; }
.report-paper-footer {
  font-size: 0.75rem;
  color: #94A3B8;
  text-align: center;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 14px;
}

/* 10. Sección Trayectoria: Partner Oficial AWS & Google Workspace */
.about-partner-showcase {
  background: var(--gray-50);
  border: 1px solid var(--gray-200);
  border-radius: var(--r-xl);
  padding: 32px;
  box-shadow: var(--shadow-sm);
}
.partner-official-card {
  display: flex;
  flex-direction: column;
}
.partner-official-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--brand-dark);
  background: var(--brand-yellow);
  padding: 4px 12px;
  border-radius: 999px;
  width: fit-content;
  margin-bottom: 12px;
}
.partner-official-title {
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--brand-dark);
  margin-bottom: 6px;
}
.partner-official-desc {
  font-size: 0.9375rem;
  color: var(--gray-600);
  margin-bottom: 22px;
  line-height: 1.5;
}
.partner-logos-stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 20px;
}
.partner-brand-box {
  background: var(--white);
  border: 1.5px solid var(--gray-200);
  border-radius: var(--r-md);
  padding: 16px 20px;
  display: flex;
  align-items: center;
  gap: 18px;
  box-shadow: var(--shadow-sm);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.partner-brand-box:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-hover);
  border-color: var(--brand-yellow);
}
.partner-logo-img {
  height: 42px;
  width: auto;
  max-width: 170px;
  object-fit: contain;
  flex-shrink: 0;
}
.partner-brand-meta strong {
  display: block;
  font-size: 0.9375rem;
  color: var(--brand-dark);
  margin-bottom: 2px;
}
.partner-brand-meta span {
  font-size: 0.8125rem;
  color: var(--gray-500);
  line-height: 1.35;
  display: block;
}
.partner-official-footer {
  font-size: 0.8125rem;
  color: var(--gray-600);
  display: flex;
  align-items: center;
  gap: 8px;
  border-top: 1px dashed var(--gray-300);
  padding-top: 16px;
}

/* 11. Sección Contacto: Formulario Integrado en Recuadro Amarillo */
.contact-reference-card {
  background: var(--brand-yellow);
  border-radius: var(--r-2xl);
  padding: 50px 44px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.18fr);
  gap: 44px;
  align-items: start;
  box-shadow: 0 24px 48px rgba(251, 185, 0, 0.28);
}
.contact-reference-copy .contact-title {
  font-size: clamp(2.25rem, 3.8vw, 3.25rem);
  font-weight: 800;
  line-height: 1.1;
  color: var(--brand-dark);
  margin-bottom: 16px;
}
.contact-desc {
  font-size: 1rem;
  color: var(--brand-dark);
  opacity: 0.95;
  line-height: 1.55;
  margin-bottom: 28px;
}
.contact-direct-data {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.direct-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.contact-icon-bubble {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--brand-dark);
  color: var(--brand-yellow);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}
.contact-item-label {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  color: rgba(54, 52, 52, 0.8);
  display: block;
}
.contact-reference-email {
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--brand-dark);
  text-decoration: underline;
  transition: opacity 0.15s ease;
}
.contact-reference-email:hover {
  opacity: 0.75;
}
.contact-reference-phone {
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--brand-dark);
  display: block;
}
.contact-reference-location {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--brand-dark);
  margin: 0;
}
.contact-guarantee-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8125rem;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.45);
  border: 1px solid rgba(0, 0, 0, 0.08);
  padding: 6px 14px;
  border-radius: 999px;
  width: fit-content;
  color: var(--brand-dark);
  margin-top: 10px;
}

/* Contact Card Form */
.contact-form-column {
  background: var(--white);
  border-radius: var(--r-xl);
  padding: 34px 30px;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.12);
}
.form-card-title {
  font-size: 1.45rem;
  font-weight: 800;
  color: var(--brand-dark);
  margin-bottom: 4px;
}
.form-card-sub {
  font-size: 0.875rem;
  color: var(--gray-500);
  margin-bottom: 18px;
}
.form-group {
  margin-bottom: 14px;
}
.form-group label {
  display: block;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--brand-dark);
  margin-bottom: 5px;
}
.form-group label .req {
  color: #EF4444;
}
.form-grid-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.input-text {
  width: 100%;
  padding: 11px 14px;
  border: 1.5px solid var(--gray-300);
  border-radius: var(--r-md);
  font-size: 0.9375rem;
  color: var(--brand-dark);
  background-color: var(--white);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.input-text:focus {
  outline: none;
  border-color: var(--brand-yellow);
  box-shadow: 0 0 0 3px rgba(251, 185, 0, 0.25);
}
.btn-brand-dark {
  background-color: var(--brand-dark);
  color: var(--white);
  border: none;
  font-weight: 700;
  transition: all 0.2s ease;
}
.btn-brand-dark:hover {
  background-color: #1A1919;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}
.form-privacy-note {
  font-size: 0.75rem;
  color: var(--gray-500);
  text-align: center;
  margin-top: 12px;
}
.form-banner {
  padding: 10px 14px;
  border-radius: var(--r-md);
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 16px;
}
.form-banner.error {
  background-color: #FEE2E2;
  color: #B91C1C;
  border: 1px solid #FCA5A5;
}
.form-banner.success {
  background-color: #DCFCE7;
  color: #15803D;
  border: 1px solid #86EFAC;
}

/* 12. Footer Multicolumna */
.site-footer {
  background-color: var(--brand-dark);
  color: var(--white);
  padding: 68px 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.footer-grid-container {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.15fr;
  gap: 40px;
  padding-bottom: 50px;
}
.footer-col-brand .footer-logo img {
  height: 38px;
  width: auto;
  margin-bottom: 16px;
  filter: brightness(0) invert(1);
}
.footer-brand-bio {
  font-size: 0.875rem;
  color: #94A3B8;
  line-height: 1.6;
  margin-bottom: 18px;
}
.footer-partners-mini {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}
.mini-partner-chip {
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--brand-yellow);
  background: rgba(251, 185, 0, 0.12);
  border: 1px solid rgba(251, 185, 0, 0.25);
  padding: 3px 8px;
  border-radius: 4px;
}
.footer-copy-text {
  font-size: 0.75rem;
  color: #64748B;
}
.footer-col-title {
  font-family: var(--font-display);
  font-size: 0.9375rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--white);
  margin-bottom: 18px;
  position: relative;
  padding-bottom: 8px;
}
.footer-col-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 24px;
  height: 2px;
  background: var(--brand-yellow);
  border-radius: 2px;
}
.footer-links-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.footer-link {
  font-size: 0.875rem;
  color: #CBD5E1;
  transition: all 0.18s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.footer-link:hover {
  color: var(--brand-yellow);
  transform: translateX(3px);
}
.footer-reclamaciones-link {
  color: var(--brand-yellow);
  font-weight: 600;
}
.footer-contact-info {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.875rem;
  color: #CBD5E1;
}
.footer-contact-item .f-icon {
  color: var(--brand-yellow);
  font-weight: 800;
  flex-shrink: 0;
}
.footer-contact-item a:hover {
  color: var(--brand-yellow);
}
.footer-bottom-bar {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 20px 0;
  background: #1A1919;
}
.footer-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.8125rem;
  color: #64748B;
}
.back-to-top {
  color: #94A3B8;
  font-weight: 600;
  transition: color 0.15s ease;
}
.back-to-top:hover {
  color: var(--brand-yellow);
}

/* Modales */
.site-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.site-modal[hidden] {
  display: none !important;
}
.modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(4px);
}
.modal-dialog {
  position: relative;
  background: var(--white);
  border-radius: var(--r-xl);
  max-width: 580px;
  width: 100%;
  max-height: 85vh;
  overflow-y: auto;
  padding: 32px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  z-index: 1;
}
.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--gray-200);
}
.modal-header h3 {
  font-size: 1.35rem;
  color: var(--brand-dark);
}
.modal-close-btn {
  background: none;
  border: none;
  font-size: 1.75rem;
  line-height: 1;
  color: var(--gray-400);
  cursor: pointer;
}
.modal-close-btn:hover {
  color: var(--brand-dark);
}
.modal-body {
  font-size: 0.9375rem;
  color: var(--gray-700);
  line-height: 1.6;
}
.modal-body h4 {
  font-size: 1.05rem;
  margin: 16px 0 6px;
  color: var(--brand-dark);
}
.claims-notice-card {
  background: var(--brand-yellow-subtle);
  border-left: 3px solid var(--brand-yellow);
  padding: 12px 16px;
  border-radius: 4px;
  margin: 16px 0;
  font-size: 0.875rem;
}
.modal-footer {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid var(--gray-200);
  text-align: right;
}

/* Responsiveness for new components */
@media (max-width: 992px) {
  .contact-reference-card {
    grid-template-columns: minmax(0, 1fr);
    padding: 38px 28px;
    gap: 36px;
  }
  .footer-grid-container {
    grid-template-columns: repeat(2, 1fr);
    gap: 36px;
  }
  .hero-slides-wrapper {
    min-height: auto;
  }
  .problem-summary-bar {
    flex-wrap: wrap;
  }
  .prob-action-wrapper {
    margin-left: 48px;
    margin-top: 10px;
    width: calc(100% - 48px);
    min-width: 0;
  }
  .prob-action-tag {
    width: fit-content;
    max-width: 100%;
    white-space: normal;
  }
}

@media (max-width: 640px) {
  .footer-grid-container {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .form-grid-pair {
    grid-template-columns: 1fr;
  }
  .hero-carousel-nav {
    flex-direction: column;
    align-items: flex-start;
  }
  .hero-indicators {
    width: 100%;
  }
  .hero-indicator-btn {
    width: 100%;
    justify-content: flex-start;
  }
  .contact-reference-card {
    padding: 28px 20px;
    border-radius: var(--r-xl);
  }
  .contact-form-column {
    padding: 24px 18px;
  }
  .diagnostic-cta-wrap.align-right {
    justify-content: center;
  }
  .partner-brand-box {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* ==============================================================
   AJUSTES FINALES 14-10-2026 — interacción y partner gráfico
   ============================================================== */

/* Partner oficial: usar exactamente la gráfica aprobada, sin tarjetas extra */
.about-partner-showcase{
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  display:flex;
  align-items:center;
  justify-content:center;
}
.partner-official-image-frame{
  margin:0;
  width:min(100%,606px);
}
.partner-official-image{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}

/* Proyectos: interacción evidente y estable */
.projects-viewport.is-draggable{
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
  touch-action:pan-y;
}
.projects-viewport.is-draggable.is-dragging{cursor:grabbing;}
.projects-track{
  will-change:transform;
  transform:translate3d(0,0,0);
}
.project-slide{box-sizing:border-box;}
.carousel-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:44px;
  font-weight:800;
  transition:background-color .2s ease,color .2s ease,transform .2s ease,border-color .2s ease;
}
.carousel-arrow:hover,
.carousel-arrow:focus-visible{
  background:var(--brand-yellow) !important;
  color:var(--brand-dark) !important;
  border-color:var(--brand-yellow) !important;
  transform:translateY(-1px);
}
.project-drag-hint{
  font-size:.75rem;
  color:var(--gray-500);
  margin-left:2px;
}

/* Capacidades: navegación con flechas + swipe/drag, además de las pestañas */
.services-display-col{
  position:relative;
  overflow:hidden;
}
.service-carousel-controls{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  margin:0 0 16px;
}
.service-nav-arrow{
  width:40px;
  height:40px;
  border:1px solid var(--gray-300);
  border-radius:50%;
  background:var(--white);
  color:var(--brand-dark);
  font-size:1.1rem;
  font-weight:800;
  cursor:pointer;
  transition:all .2s ease;
}
.service-nav-arrow:hover,
.service-nav-arrow:focus-visible{
  background:var(--brand-yellow);
  border-color:var(--brand-yellow);
  transform:translateY(-1px);
}
.service-position{
  min-width:48px;
  text-align:center;
  font-size:.8rem;
  font-weight:800;
  color:var(--gray-500);
  font-variant-numeric:tabular-nums;
}
.service-card-view.active{
  display:block;
  animation:service-panel-in .28s ease both;
}
@keyframes service-panel-in{
  from{opacity:0;transform:translateX(18px)}
  to{opacity:1;transform:translateX(0)}
}
.services-display-col.is-dragging{cursor:grabbing;}
.services-display-col{touch-action:pan-y;}
.details-checklist li{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

@media(max-width:900px){
  .service-carousel-controls{justify-content:center;margin-bottom:14px;}
  .services-menu-col{scroll-snap-type:x proximity;overscroll-behavior-inline:contain;}
  .service-menu-btn{scroll-snap-align:center;}
  .project-drag-hint{display:none;}
}
@media(max-width:600px){
  .project-controls{gap:10px !important;}
  .carousel-arrow,.service-nav-arrow{width:42px;height:42px;min-width:42px;}
}

/* ==============================================================
   CORRECCIÓN DE INTERACCIÓN 14-10-2026 — botones y capas
   ============================================================== */
.services-visual-layout{
  position:relative;
  isolation:isolate;
}
.services-menu-col{
  position:relative;
  z-index:4;
}
.service-menu-btn{
  position:relative;
  z-index:5;
  pointer-events:auto;
}
.services-display-col{
  position:relative;
  z-index:1;
}
.projects-carousel{
  isolation:isolate;
}
.projects-viewport{
  position:relative;
  z-index:1;
}
.project-arrows{
  z-index:20;
}
.carousel-arrow{
  position:relative;
  z-index:21;
  pointer-events:auto !important;
}
.project-dots{
  position:relative;
  z-index:21;
}
.project-dot{
  pointer-events:auto !important;
}

/* La gráfica aprobada reemplaza por completo el bloque anterior de partners. */
.about-partner-showcase .partner-official-image-frame{
  display:block;
  width:min(100%,606px);
  margin-inline:auto;
}
.about-partner-showcase .partner-official-image{
  display:block;
  width:100%;
  height:auto;
  border:0;
  box-shadow:none;
  background:transparent;
}


/* ==========================================================================
   AJUSTES V3 — Partners, logo footer y carrusel de clientes arrastrable
   ========================================================================== */

/* Footer: mostrar el logo CREASOFT real, sin convertirlo a blanco. */
.footer-col-brand .footer-logo {
  background: #fff;
  padding: 8px 12px;
  border-radius: 8px;
  width: fit-content;
}
.footer-col-brand .footer-logo img {
  display: block;
  width: 170px;
  max-width: 100%;
  height: auto;
  margin: 0;
  filter: none !important;
  opacity: 1 !important;
}

/* Hero slide 3: una sola imagen de partner, sin dos tarjetas separadas. */
.hero-partner-single-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}
.hero-partner-single-frame {
  margin: 0;
  width: min(100%, 500px);
}
.hero-partner-single-image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  border: 0;
  box-shadow: none;
  background: transparent;
}

/* Clientes: autoplay infinito por JS + arrastre manual con mouse/touch. */
.clients-window {
  width: 100%;
  overflow-x: auto !important;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
  cursor: grab;
  user-select: none;
  touch-action: pan-y;
  overscroll-behavior-x: contain;
}
.clients-window::-webkit-scrollbar { display: none; }
.clients-window.is-dragging { cursor: grabbing; }
.clients-track,
.clients-track.is-ready {
  display: flex;
  width: max-content;
  animation: none !important;
  transform: none !important;
}
.client-logo-group {
  display: flex;
  flex-shrink: 0;
  gap: 16px;
  padding-right: 16px;
}
.client-logo-card,
.client-logo-card img {
  -webkit-user-drag: none;
  user-select: none;
}

@media (max-width: 900px) {
  .hero-partner-single-frame { width: min(100%, 440px); }
  .footer-col-brand .footer-logo img { width: 150px; }
}


/* ==========================================================================
   REVISIÓN FINAL — AJUSTES SOLICITADOS EN REUNIÓN
   ========================================================================== */

/* 1. CTA globales: jerarquía consistente hacia la derecha */
.hero-cta-group,
.diagnostic-cta-wrap,
.service-card-action {
  justify-content: flex-end;
  text-align: right;
}
.hero-cta-group .btn {
  margin-left: auto;
}
#btn-submit-lead {
  width: auto;
  min-width: 190px;
  margin-left: auto;
  display: flex;
}

/* 2. Hero: menos altura, navegación mínima y contenido HTML */
.section-hero {
  padding: 46px 0 54px;
}
.hero-slides-wrapper {
  min-height: 440px;
}
.hero-grid {
  gap: 40px;
}
.hero-title {
  font-size: clamp(2.3rem, 4vw, 2.85rem);
  margin-bottom: 14px;
}
.hero-subtitle {
  margin-bottom: 22px;
}
.hero-controls-container {
  margin-top: 8px;
  padding-bottom: 0;
}
.hero-carousel-nav {
  justify-content: flex-end;
  border-top: 1px solid var(--gray-200);
  padding-top: 12px;
}
.hero-indicators {
  display: none !important;
}
.hero-arrow-btns {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.hero-arrow-separator {
  width: 1px;
  height: 22px;
  background: var(--gray-300);
  display: inline-block;
}
.hero-arrow-btn {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: transparent;
  border: 1px solid var(--gray-300);
  box-shadow: none;
}
.hero-arrow-btn:hover,
.hero-arrow-btn:focus-visible {
  background: var(--brand-yellow);
  border-color: var(--brand-yellow);
  color: var(--brand-dark);
}
.software-factory-widget,
.organigram-widget,
.hero-partner-single-frame {
  max-height: 390px;
}
.hero-partner-single-image {
  max-height: 360px;
  width: auto;
  max-width: 100%;
  margin-inline: auto;
}

/* 3. Estadísticas: números y símbolo + en amarillo; sin tarjeta hover */
.stat-item {
  cursor: default;
  padding: 12px 18px;
  border-radius: 0;
  transition: none;
  background: transparent !important;
  transform: none !important;
}
.stat-item:hover,
.stat-item.active,
.stat-item:focus-visible {
  background: transparent !important;
  transform: none !important;
}
.stat-item .stat-number,
.stat-item .counter-highlight,
.stat-item:hover .stat-number,
.stat-item:hover .counter-highlight,
.stat-item.active .stat-number,
.stat-item.active .counter-highlight {
  color: var(--brand-yellow) !important;
}
.stat-plus {
  color: var(--brand-yellow);
  margin-left: 2px;
}
.stat-label,
.stat-item:hover .stat-label,
.stat-item.active .stat-label {
  color: var(--gray-500) !important;
}
.client-marquee-header {
  text-align: center;
  max-width: 100%;
  margin-inline: auto;
}
.clients-title {
  text-align: center;
}

/* 4. Proyectos: franja amarilla a ancho completo */
.section-cases {
  width: 100%;
  background: var(--brand-yellow);
  border: 0;
  padding: 64px 0 70px;
}
.section-cases .portfolio-reference-header {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0 0 28px;
  backdrop-filter: none;
}
.section-cases .section-title,
.section-cases .portfolio-contact-link {
  color: var(--brand-dark);
}
.section-cases .projects-carousel {
  border: 0;
  border-radius: 18px;
  overflow: hidden;
  background: var(--white);
  box-shadow: 0 18px 42px rgba(54,52,52,.14);
}
.section-cases .project-controls {
  background: var(--white);
}

/* 5. Servicios: menos cajas, menos clics, sin CTAs secundarios */
.services-display-col {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 0 0 28px !important;
  overflow: hidden;
}
.service-card-head {
  text-align: left;
}
.service-card-head.text-center {
  text-align: left;
}
.service-graphic-diagram {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--gray-200);
  border-bottom: 1px solid var(--gray-200);
  border-radius: 0;
  padding: 16px 0;
}
.service-details-drawer.direct-view {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 14px 0 0 !important;
  margin-bottom: 0 !important;
}
.details-gain-box {
  border-radius: 0;
}
.service-card-action {
  display: none !important;
}
.service-menu-btn {
  border-radius: 8px;
}
.service-menu-btn.active {
  box-shadow: none;
}

/* 6. Diagnóstico: CTA y etiqueta simplificados */
.report-tag-sample {
  text-transform: none;
  letter-spacing: 0;
}
.diagnostic-cta-wrap.align-right {
  justify-content: flex-end;
}

/* 7. Contacto: fondo amarillo full width + formulario blanco + datos mínimos */
.section-contact {
  background: var(--brand-yellow);
  padding: 72px 0;
}
.contact-reference-card {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  gap: 56px;
}
.contact-reference-copy .contact-title {
  margin-top: 0;
}
.contact-direct-data {
  gap: 18px;
}
.direct-contact-item {
  align-items: center;
  gap: 12px;
}
.contact-icon-flat {
  display: inline-flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  color: #111;
  flex: 0 0 24px;
}
.contact-icon-flat svg {
  width: 22px;
  height: 22px;
}
.contact-icon-bubble,
.contact-item-label,
.contact-reference-location,
.contact-guarantee-pill {
  display: none !important;
}
.contact-reference-email,
.contact-reference-phone {
  color: var(--brand-dark);
  text-decoration: none;
  font-size: 1rem;
  font-weight: 700;
}
.contact-form-column {
  background: var(--white);
  border: 1px solid rgba(54,52,52,.08);
  border-radius: 16px;
  box-shadow: 0 16px 34px rgba(54,52,52,.12);
}
.contact-card-form .btn-block {
  width: auto;
}
.form-privacy-note {
  color: var(--gray-500);
}

/* 8. Footer: marca + 3 columnas (Servicios / Empresa / Contacto) */
.site-footer {
  background: #242323;
}
.footer-grid-container {
  grid-template-columns: 1.35fr 1fr .85fr 1fr;
  gap: 44px;
  align-items: start;
}
.footer-col-brand .footer-logo {
  display: inline-flex;
  background: transparent;
  padding: 0;
  border-radius: 0;
  margin-bottom: 16px;
}
.footer-col-brand .footer-logo img {
  width: 150px;
  height: auto;
  margin: 0;
  filter: none;
}
.footer-brand-bio {
  max-width: 310px;
  margin-bottom: 0;
}
.footer-col-title {
  margin-bottom: 18px;
}
.footer-contact-info {
  gap: 14px;
}
.footer-bottom-inner {
  gap: 18px;
  flex-wrap: wrap;
}
.footer-legal-links {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.footer-legal-links a {
  color: #94A3B8;
  font-size: .8125rem;
  transition: color .15s ease;
}
.footer-legal-links a:hover,
.footer-legal-links a:focus-visible {
  color: var(--brand-yellow);
}

@media (max-width: 1100px) {
  .hero-slides-wrapper {
    min-height: 420px;
  }
  .footer-grid-container {
    grid-template-columns: 1.2fr 1fr 1fr;
  }
  .footer-col-brand {
    grid-column: 1 / -1;
  }
  .footer-brand-bio {
    max-width: 560px;
  }
}

@media (max-width: 900px) {
  .section-hero {
    padding: 38px 0 46px;
  }
  .hero-slides-wrapper {
    min-height: 0;
  }
  .hero-carousel-nav {
    justify-content: center;
  }
  .hero-cta-group {
    justify-content: flex-end;
  }
  .hero-cta-group .btn {
    flex: 0 1 auto;
    width: auto;
  }
  .services-display-col {
    padding: 8px 0 0 !important;
  }
  .contact-reference-card {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .footer-grid-container {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .footer-col-brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 600px) {
  .section-hero {
    padding: 30px 0 38px;
  }
  .hero-title {
    font-size: clamp(1.9rem, 9vw, 2.35rem);
  }
  .hero-cta-group .btn,
  #btn-submit-lead {
    width: 100%;
    margin-left: 0;
  }
  .section-cases {
    padding: 48px 0 52px;
  }
  .section-cases .portfolio-reference-header {
    align-items: flex-start;
    gap: 12px;
  }
  .footer-grid-container {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .footer-col-brand {
    grid-column: auto;
  }
  .footer-bottom-inner {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* ==========================================================================
   AJUSTES REUNIÓN — 14/10/2026 (sobre la versión aprobada)
   ========================================================================== */

/* HERO: compacto, equilibrado, con navegación profesional junto al visual */
.section-hero{
  padding:30px 0 34px !important;
  background:linear-gradient(160deg,#fff 62%,#fffaf0 100%) !important;
}
.hero-slides-wrapper{min-height:0 !important;}
.hero-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:46px !important;
  align-items:center !important;
}
.hero-content{align-self:center;}
.hero-title{font-size:clamp(2.25rem,3.6vw,3.1rem) !important; margin-bottom:14px !important;}
.hero-subtitle{font-size:1.05rem !important; line-height:1.55 !important; margin-bottom:20px !important; max-width:560px !important;}
.hero-badge{margin-bottom:16px !important;}
.hero-cta-group{margin-bottom:0 !important;}
.hero-visual{min-height:0 !important;}
.organigram-widget,.software-factory-widget,.partner-html-card{max-height:none !important;}

/* Controles colocados visualmente bajo la columna derecha, sin línea de corte general */
.hero-controls-container{
  margin-top:-44px !important;
  padding-bottom:2px !important;
  position:relative;
  z-index:10;
  pointer-events:none;
}
.hero-carousel-nav{
  width:calc(50% - 22px);
  margin-left:auto;
  padding:0 !important;
  border:0 !important;
  justify-content:flex-end !important;
  pointer-events:auto;
}
.hero-arrow-btns{
  display:inline-flex !important;
  align-items:center;
  gap:10px !important;
  padding:6px 8px;
  background:rgba(255,255,255,.94);
  border:1px solid var(--gray-200);
  border-radius:999px;
  box-shadow:0 8px 22px rgba(54,52,52,.08);
}
.hero-arrow-btn{
  width:38px !important;
  height:38px !important;
  display:grid !important;
  place-items:center;
  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  color:var(--brand-dark) !important;
  transition:background .18s ease,transform .18s ease,color .18s ease !important;
}
.hero-arrow-btn svg{width:20px;height:20px;display:block;}
.hero-arrow-btn:hover,.hero-arrow-btn:focus-visible{
  background:var(--brand-yellow) !important;
  color:var(--brand-dark) !important;
  transform:translateY(-1px);
}
.hero-arrow-separator{width:1px !important;height:20px !important;background:var(--gray-200) !important;}
.hero-slide-count{font-size:.72rem;font-weight:800;color:var(--gray-500);font-variant-numeric:tabular-nums;letter-spacing:.04em;min-width:42px;text-align:center;}

/* Slide Partners: maquetación HTML, sin usar el banner compuesto como imagen */
.hero-partners-html-visual{display:flex;align-items:center;justify-content:center;}
.partner-html-card{
  width:min(100%,520px);
  background:#fff;
  border:1px solid var(--gray-200);
  border-radius:26px;
  padding:26px 28px;
  box-shadow:0 16px 38px rgba(54,52,52,.08);
}
.partner-html-kicker{
  font-family:var(--font-display);
  font-size:1.05rem;
  font-weight:800;
  color:var(--brand-dark);
  margin-bottom:18px;
}
.partner-html-row{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:20px;
  align-items:center;
  padding:16px 0;
  border-top:1px solid var(--gray-200);
}
.partner-html-row:first-of-type{border-top:0;padding-top:4px;}
.partner-html-logo{width:100%;max-width:180px;height:54px;object-fit:contain;object-position:left center;}
.partner-html-copy{display:flex;flex-direction:column;gap:5px;}
.partner-html-copy strong{font-size:.94rem;color:var(--brand-dark);}
.partner-html-copy span{font-size:.78rem;line-height:1.45;color:var(--gray-500);}
.partner-html-note{margin-top:10px;padding-top:14px;border-top:1px solid var(--gray-200);font-size:.78rem;color:var(--gray-500);}

/* Estadísticas + clientes: una sola continuidad visual, sin línea de corte */
.section-trust{padding:34px 0 20px !important;border-top:0 !important;border-bottom:0 !important;}
.section-clients{padding:10px 0 52px !important;border-top:0 !important;border-bottom:0 !important;}
.client-marquee-header{display:flex;justify-content:center;align-items:center;margin:0 auto 22px !important;width:100%;}
.clients-title{text-align:center !important;margin:0 auto !important;font-size:.8rem !important;letter-spacing:.12em !important;}
.trust-clients-marquee{width:100%;}

/* PROYECTOS: formato amplio como referencia: cabecera crema + contenido celeste, de borde a borde */
.section-cases{padding:0 !important;background:#EFFAFF !important;border:0 !important;}
.section-cases>.container{max-width:none !important;width:100% !important;padding:0 !important;}
.section-cases .portfolio-reference-header{
  width:100%;
  max-width:none !important;
  margin:0 !important;
  padding:42px max(5vw,calc((100vw - 1320px)/2)) 34px !important;
  background:#FFF9E4 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.section-cases .projects-carousel{
  width:100%;
  margin:0 !important;
  background:#EFFAFF !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.section-cases .project-slide{
  max-width:1320px;
  margin:0 auto;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr) !important;
  gap:60px !important;
  min-height:520px !important;
  padding:56px max(6vw,70px) 0 !important;
  background:#EFFAFF;
}
.section-cases .project-info{align-self:center;padding:0 0 48px !important;}
.section-cases .project-name{font-size:clamp(2.8rem,4.8vw,4.7rem) !important;max-width:520px !important;}
.section-cases .project-kind{font-size:1.18rem !important;}
.section-cases .project-media{min-height:430px;border-radius:24px 24px 0 0 !important;background:#fff;}
.section-cases .project-image{width:100%;height:100%;min-height:430px;object-fit:contain;background:#fff;}
.section-cases .project-controls{max-width:1320px;margin:0 auto;padding:14px max(6vw,70px) 24px !important;background:#EFFAFF !important;}
.section-cases .project-arrows{left:max(2vw,20px)!important;right:max(2vw,20px)!important;}

/* CAPACIDADES: composición centrada y estable. Sin flechas, swipe ni etiquetas redundantes. */
.section-services{padding:76px 0 !important;}
.section-services>.container{max-width:1160px !important;}
.services-section-heading{text-align:center !important;max-width:900px;margin:0 auto 42px !important;}
.services-section-heading .section-title{max-width:900px;margin-left:auto;margin-right:auto;}
.services-visual-layout{grid-template-columns:250px minmax(0,760px) !important;gap:42px !important;justify-content:center !important;align-items:start;}
.services-display-col{padding:4px 0 0 !important;overflow:visible !important;touch-action:auto !important;}
.service-carousel-controls{display:none !important;}
.service-pill-tag{display:none !important;}
.service-card-view.active{animation:none !important;}
.service-card-head,.service-card-head.text-center{text-align:left !important;}
.service-headline{font-size:clamp(1.7rem,2.6vw,2.25rem) !important;line-height:1.15;}
.service-lead-short{max-width:720px;}
.service-graphic-diagram{margin-top:24px;}

/* Footer: legales a la derecha; sin Volver arriba */
.footer-bottom-inner{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:24px !important;}
.footer-legal-links{margin-left:auto !important;justify-content:flex-end !important;}
.back-to-top{display:none !important;}

@media(max-width:900px){
  .section-hero{padding:28px 0 38px !important;}
  .hero-grid{grid-template-columns:1fr !important;gap:28px !important;}
  .hero-controls-container{margin-top:14px !important;pointer-events:auto;}
  .hero-carousel-nav{width:100%;justify-content:center !important;}
  .partner-html-card{width:min(100%,620px);}
  .services-visual-layout{grid-template-columns:1fr !important;gap:24px !important;}
  .services-display-col{max-width:760px;margin:0 auto;width:100%;}
  .section-cases .project-slide{grid-template-columns:1fr 1fr !important;gap:30px !important;min-height:390px !important;padding:38px 48px 0 !important;}
  .section-cases .project-media,.section-cases .project-image{min-height:330px;}
}
@media(max-width:600px){
  .hero-title{font-size:clamp(2rem,9vw,2.55rem)!important;}
  .partner-html-card{padding:20px;}
  .partner-html-row{grid-template-columns:1fr;gap:8px;}
  .partner-html-logo{max-width:200px;}
  .section-cases .portfolio-reference-header{padding:30px 22px 24px !important;}
  .section-cases .project-slide{grid-template-columns:1fr !important;min-height:0 !important;padding:28px 38px 0 !important;gap:18px !important;}
  .section-cases .project-name{font-size:2.55rem !important;}
  .section-cases .project-media,.section-cases .project-image{min-height:260px;}
  .section-cases .project-controls{padding:12px 22px 18px !important;}
  .services-section-heading{text-align:left !important;margin-bottom:30px !important;}
  .footer-bottom-inner{align-items:flex-start !important;}
  .footer-legal-links{margin-left:0 !important;justify-content:flex-start !important;}
}

/* Ajuste fino: reserva el espacio de las flechas dentro de la columna visual del Hero. */
@media (min-width:901px){
  #hero .hero-visual{padding-bottom:46px !important;}
  #hero .hero-controls-container{margin-top:-46px !important;}
}


/* =========================================================
   AJUSTES FINALES — revisión 15/10
   ========================================================= */

/* Hero: solo flechas, sin contador; logos reales dentro de estructura HTML */
.hero-arrow-btns{
  gap:12px !important;
}
.hero-arrow-btn{
  width:42px !important;
  height:42px !important;
  border:1px solid rgba(54,52,52,.10) !important;
  background:#fff !important;
  box-shadow:0 8px 20px rgba(54,52,52,.07) !important;
}
.hero-arrow-separator{
  height:26px !important;
  background:rgba(54,52,52,.16) !important;
}
.partner-html-logo{
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}
.partner-html-logo-aws{max-width:190px !important;}
.partner-html-row:nth-of-type(2) .partner-html-logo{max-width:205px !important;}

/* Proyectos: una diapositiva ocupa exactamente todo el viewport del carrusel.
   No se asoma el proyecto siguiente ni el anterior. */
.projects-viewport{
  overflow:hidden !important;
}
.section-cases .projects-track{
  width:100% !important;
}
.section-cases .project-slide{
  flex:0 0 100% !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
.section-cases .project-info,
.section-cases .project-media{
  max-width:100%;
}

/* Servicios: listas breves, aireadas y fáciles de escanear */
.details-checklist{
  grid-template-columns:1fr !important;
  gap:10px !important;
}
.details-checklist li{
  line-height:1.45 !important;
  max-width:720px;
}

/* Trayectoria: tarjeta HTML; solo los logotipos se mantienen como recursos gráficos */
.about-partner-showcase{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.about-partner-card{
  width:min(100%,520px) !important;
  padding:28px 32px !important;
}
.about-partner-logo-row{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:120px;
  padding:18px 0;
  border-top:1px solid var(--gray-200);
}
.about-partner-logo-row:first-of-type{
  border-top:0;
}
.about-partner-logo{
  display:block;
  width:auto;
  height:auto;
  object-fit:contain;
}
.about-partner-logo-aws{max-width:320px;}
.about-partner-logo-google{max-width:330px;}

/* Contacto: correo con el mismo tratamiento simple que el teléfono */
.contact-reference-email{
  display:inline !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:var(--brand-dark) !important;
  font-size:1rem !important;
  font-weight:700 !important;
}
.contact-reference-email:hover{
  background:transparent !important;
  color:var(--brand-dark) !important;
  text-decoration:underline;
}

@media(max-width:900px){
  .about-partner-card{width:min(100%,620px) !important;}
  .about-partner-logo-aws{max-width:280px;}
  .about-partner-logo-google{max-width:300px;}
}
@media(max-width:600px){
  .partner-html-row{grid-template-columns:1fr !important;}
  .partner-html-logo-aws{max-width:180px !important;}
  .partner-html-row:nth-of-type(2) .partner-html-logo{max-width:195px !important;}
  .about-partner-logo-row{min-height:100px;padding:14px 0;}
  .about-partner-logo-aws{max-width:240px;}
  .about-partner-logo-google{max-width:260px;}
}

/* =========================================================
   AJUSTES FINALES — Partners 100% HTML/CSS + contacto suave
   ========================================================= */

/* Partner logos: construidos con HTML/CSS, sin archivos de imagen */
.brand-lockup{
  display:flex;
  align-items:center;
  min-width:0;
}

/* AWS Partner Network */
.aws-lockup{
  gap:18px;
  color:#232f3e;
  padding:4px 0;
}
.aws-mark{
  position:relative;
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  width:112px;
  flex:0 0 112px;
}
.aws-word{
  display:block;
  font-family:Arial, Helvetica, sans-serif;
  font-size:58px;
  line-height:.78;
  font-weight:500;
  letter-spacing:-5px;
  color:#232f3e;
}
.aws-smile{
  position:relative;
  display:block;
  width:78px;
  height:18px;
  margin:7px 0 0 7px;
  border-bottom:5px solid #ff9900;
  border-radius:0 0 70% 70%;
  transform:rotate(-4deg);
}
.aws-smile::after{
  content:"";
  position:absolute;
  right:-3px;
  bottom:-7px;
  width:0;
  height:0;
  border-top:7px solid transparent;
  border-bottom:2px solid transparent;
  border-left:10px solid #ff9900;
  transform:rotate(8deg);
}
.aws-network-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  font-family:Arial, Helvetica, sans-serif;
  font-size:26px;
  line-height:.9;
  font-weight:400;
  letter-spacing:-.8px;
  color:#394454;
  white-space:nowrap;
}

/* Google Workspace */
.workspace-lockup{
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}
.workspace-wordmark{
  display:flex;
  align-items:baseline;
  flex-wrap:nowrap;
  font-family:Arial, Helvetica, sans-serif;
  font-size:27px;
  line-height:1;
  font-weight:500;
  letter-spacing:-1px;
  white-space:nowrap;
}
.workspace-name{
  color:#5f6368;
  font-weight:400;
  margin-left:5px;
  letter-spacing:-1.2px;
}
.g-blue{color:#4285F4}.g-red{color:#EA4335}.g-yellow{color:#FBBC05}.g-green{color:#34A853}
.workspace-icons{
  display:flex;
  align-items:center;
  gap:11px;
  padding-left:2px;
}
.ws-icon{
  position:relative;
  display:inline-block;
  width:31px;
  height:27px;
  flex:0 0 auto;
}
/* Gmail */
.ws-gmail{
  border:4px solid #EA4335;
  border-top:0;
  border-radius:4px;
  background:#fff;
  clip-path:polygon(0 0,50% 38%,100% 0,100% 100%,0 100%);
}
.ws-gmail::before,
.ws-gmail::after{
  content:"";
  position:absolute;
  top:2px;
  width:4px;
  height:25px;
  background:#4285F4;
}
.ws-gmail::before{left:3px;transform:rotate(-35deg);transform-origin:top center}
.ws-gmail::after{right:3px;transform:rotate(35deg);transform-origin:top center;background:#FBBC05}
/* Calendar */
.ws-calendar{
  border-radius:4px;
  background:linear-gradient(#4285F4 0 24%,#fff 24% 100%);
  border:2px solid #4285F4;
  display:grid;
  place-items:center;
}
.ws-calendar b{font:700 12px/1 Arial,sans-serif;color:#4285F4;margin-top:5px}
/* Drive */
.ws-drive{
  width:31px;
  height:29px;
  background:conic-gradient(from 210deg at 50% 58%,#34A853 0 33%,#FBBC05 33% 66%,#4285F4 66% 100%);
  clip-path:polygon(50% 0,100% 84%,76% 100%,24% 100%,0 84%);
}
.ws-drive::after{
  content:"";
  position:absolute;
  inset:8px 9px 7px;
  background:#fff;
  clip-path:polygon(50% 0,100% 100%,0 100%);
}
/* Docs */
.ws-docs{
  width:25px;
  height:31px;
  border-radius:3px;
  background:#4285F4;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.12);
}
.ws-docs::before{
  content:"";
  position:absolute;
  right:0;
  top:0;
  width:9px;
  height:9px;
  background:#FBBC05;
  clip-path:polygon(0 0,100% 100%,0 100%);
}
.ws-docs::after{
  content:"";
  position:absolute;
  left:6px;
  top:12px;
  width:13px;
  height:2px;
  background:#fff;
  box-shadow:0 5px 0 #fff,0 10px 0 #fff;
  opacity:.95;
}
/* Meet */
.ws-meet{
  width:29px;
  height:24px;
  margin-left:2px;
  border-radius:4px 1px 1px 4px;
  background:linear-gradient(90deg,#34A853 0 68%,#FBBC05 68% 100%);
}
.ws-meet::before{
  content:"";
  position:absolute;
  left:3px;
  top:3px;
  width:16px;
  height:18px;
  background:#4285F4;
  border-radius:2px;
  box-shadow:4px -3px 0 #EA4335;
}
.ws-meet::after{
  content:"";
  position:absolute;
  right:-8px;
  top:5px;
  width:10px;
  height:14px;
  background:#34A853;
  clip-path:polygon(0 22%,100% 0,100% 100%,0 78%);
}

/* Hero partner card */
.partner-html-row .brand-lockup{
  max-width:205px;
}
.partner-html-row .workspace-lockup{
  max-width:220px;
}

/* Trayectoria: versiones grandes del mismo lockup HTML */
.about-partner-logo-row .brand-lockup{
  transform-origin:center;
}
.aws-lockup-large{
  transform:scale(1.35);
}
.workspace-lockup-large{
  transform:scale(1.23);
}

/* Proyectos: eliminamos ayuda textual redundante */
.project-drag-hint{
  display:none !important;
}

/* Contacto: volver al tono amarillo suave de la referencia, sin franja naranja intensa */
.section-contact{
  background:#fff !important;
  padding:52px 0 !important;
}
.contact-reference-card{
  background:
    radial-gradient(circle at 100% 100%,transparent 0 110px,rgba(255,255,255,.24) 111px 155px,transparent 156px),
    linear-gradient(110deg,#FFF7D8 0%,#FFE98F 68%,#EADF8F 100%) !important;
  border:1px solid #F2E5B7 !important;
  border-radius:26px !important;
  padding:52px 48px !important;
  box-shadow:none !important;
}
.contact-form-column{
  background:#fff !important;
}

@media(max-width:900px){
  .partner-html-row{
    grid-template-columns:220px minmax(0,1fr) !important;
  }
  .aws-lockup-large{transform:scale(1.18)}
  .workspace-lockup-large{transform:scale(1.08)}
  .contact-reference-card{padding:36px !important;}
}
@media(max-width:600px){
  .partner-html-row{
    grid-template-columns:1fr !important;
  }
  .aws-lockup-large,.workspace-lockup-large{transform:scale(.95)}
  .about-partner-logo-row{overflow:hidden;}
  .contact-reference-card{padding:28px 22px !important;border-radius:20px !important;}
}


/* =========================================================
   Ajuste final de marcas partner y contacto del footer
   ========================================================= */
.partner-brand-art{
  width:100%;
  min-width:0;
  display:flex;
  align-items:center;
}
.partner-brand-art svg{
  display:block;
  width:100%;
  height:auto;
  overflow:visible;
}
.partner-brand-aws{max-width:220px;}
.partner-brand-google{max-width:242px;}
.aws-svg-word{
  font-family:Arial,Helvetica,sans-serif;
  font-size:67px;
  font-weight:600;
  letter-spacing:-5.2px;
  fill:#232F3E;
}
.aws-svg-smile{
  fill:none;
  stroke:#FF9900;
  stroke-width:6.5;
  stroke-linecap:round;
}
.aws-svg-arrow{fill:#FF9900;}
.aws-svg-network text{
  font-family:Arial,Helvetica,sans-serif;
  font-size:29px;
  font-weight:400;
  fill:#3B4556;
  letter-spacing:-.5px;
}
.google-wordmark-svg text{
  font-family:Arial,Helvetica,sans-serif;
  font-size:34px;
  font-weight:500;
  letter-spacing:-1.6px;
}
.google-wordmark-svg .workspace-svg-name{
  fill:#5F6368;
  font-size:31px;
  font-weight:400;
  letter-spacing:-1.2px;
}
.calendar-svg-number{
  font-family:Arial,Helvetica,sans-serif;
  font-size:18px;
  font-weight:700;
  fill:#4285F4;
}
.partner-html-row .partner-brand-art{
  flex:0 0 210px;
}
.partner-html-row .partner-brand-google{
  flex-basis:220px;
}
.about-partner-logo-row{
  justify-content:center;
}
.about-partner-logo-row .partner-brand-aws{
  max-width:330px;
}
.about-partner-logo-row .partner-brand-google{
  max-width:350px;
}
.footer-contact-info{
  gap:13px;
}
.footer-contact-item{
  align-items:center;
  gap:10px;
  color:#CBD5E1;
  line-height:1.35;
}
.footer-contact-link{
  width:max-content;
  max-width:100%;
  transition:color .16s ease,transform .16s ease;
}
.footer-contact-link:hover,
.footer-contact-link:focus-visible{
  color:var(--brand-yellow);
  transform:translateX(2px);
}
.footer-contact-icon{
  width:18px;
  height:18px;
  color:var(--brand-yellow);
  flex:0 0 18px;
}
.footer-location-item{color:#CBD5E1;}
@media(max-width:900px){
  .partner-html-row .partner-brand-art{flex-basis:185px;}
  .partner-html-row .partner-brand-google{flex-basis:195px;}
}
@media(max-width:640px){
  .partner-html-row .partner-brand-art,
  .partner-html-row .partner-brand-google{flex-basis:auto;max-width:220px;}
  .about-partner-logo-row .partner-brand-aws{max-width:270px;}
  .about-partner-logo-row .partner-brand-google{max-width:285px;}
}

/* =========================================================
   PULIDO PARTNERS + TRAYECTORIA + HABLEMOS — 15-10-2026
   ========================================================= */

/* Identidad partner: proporciones y alineación más fieles a las referencias. */
.partner-brand-art{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:100%;
  min-width:0;
}
.partner-brand-art svg{
  display:block;
  width:100%;
  height:auto;
  overflow:visible;
}
.partner-brand-aws{max-width:230px;}
.partner-brand-google{max-width:248px;}

.aws-svg-word{
  font-family:Arial,Helvetica,sans-serif;
  font-size:68px;
  font-weight:600;
  letter-spacing:-5.4px;
  fill:#232F3E;
}
.aws-svg-smile{
  fill:none;
  stroke:#FF9900;
  stroke-width:6.2;
  stroke-linecap:round;
}
.aws-svg-arrow{fill:#FF9900;}
.aws-svg-network text{
  font-family:Arial,Helvetica,sans-serif;
  font-size:29px;
  font-weight:400;
  fill:#374151;
  letter-spacing:-.6px;
}
.google-wordmark-svg text{
  font-family:Arial,Helvetica,sans-serif;
  font-size:34px;
  font-weight:500;
  letter-spacing:-1.55px;
}
.google-wordmark-svg .workspace-svg-name{
  fill:#5F6368;
  font-size:31px;
  font-weight:400;
  letter-spacing:-1.15px;
}

/* Hero: logo a la izquierda + copy a la derecha, todo alineado. */
.partner-html-row{
  grid-template-columns:minmax(190px,220px) minmax(0,1fr) !important;
  align-items:center !important;
  gap:28px !important;
}
.partner-html-row .partner-brand-art{
  justify-self:start;
  align-self:center;
  flex-basis:auto !important;
}
.partner-html-row .partner-brand-google{max-width:245px;}
.partner-html-copy{align-self:center;}

/* Trayectoria: un solo bloque, dos filas una debajo de la otra. */
.about-partner-showcase{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:0;
}
.about-partner-card{
  width:min(100%,560px) !important;
  max-width:560px !important;
  padding:30px 34px !important;
  margin:0 auto !important;
  overflow:hidden !important;
}
.about-partner-card .partner-html-kicker{
  text-align:left;
  font-size:1.08rem;
  margin-bottom:8px;
}
.about-partner-logo-row{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:128px !important;
  padding:22px 10px !important;
  border-top:1px solid var(--gray-200) !important;
  overflow:visible !important;
}
.about-partner-logo-row:first-of-type{border-top:0 !important;}
.about-partner-logo-row .partner-brand-aws{max-width:355px !important;}
.about-partner-logo-row .partner-brand-google{max-width:375px !important;}

/* Contacto: recuperar la línea + etiqueta HABLEMOS de la referencia aprobada. */
.contact-eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 18px;
  color:#64748B;
  font-size:.76rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.contact-eyebrow-line{
  width:26px;
  height:3px;
  border-radius:999px;
  background:var(--brand-yellow);
  flex:0 0 26px;
}
.contact-reference-copy .contact-title{margin-top:0 !important;}

@media(max-width:900px){
  .partner-html-row{grid-template-columns:190px minmax(0,1fr) !important;gap:20px !important;}
  .about-partner-card{width:min(100%,520px) !important;padding:26px 28px !important;}
  .about-partner-logo-row .partner-brand-aws{max-width:315px !important;}
  .about-partner-logo-row .partner-brand-google{max-width:335px !important;}
}
@media(max-width:640px){
  .partner-html-row{grid-template-columns:1fr !important;gap:10px !important;}
  .partner-html-row .partner-brand-art{max-width:220px !important;}
  .about-partner-card{padding:22px 20px !important;}
  .about-partner-logo-row{min-height:104px !important;padding:16px 0 !important;}
  .about-partner-logo-row .partner-brand-aws{max-width:270px !important;}
  .about-partner-logo-row .partner-brand-google{max-width:285px !important;}
}

/* ===== PARTNER CARD — vector artwork shared by hero and about ===== */
.partner-card {
  width: min(100%, 520px);
  margin-inline: auto;
  padding: 34px 38px 36px;
  background: #fff;
  border: 1px solid #e7eaf0;
  border-radius: 24px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
}
.partner-card__title {
  margin: 0 0 28px;
  text-align: center;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 24px;
  line-height: 1.25;
  font-weight: 700;
  color: #2f3033;
}
.partner-row, .aws-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  width: 100%;
}
.partner-row--aws { min-height: 128px; }
.aws-partner-lockup {
  display: block;
  width: min(100%, 365px);
  height: auto;
  flex: 0 1 auto;
}
.partner-divider {
  margin: 24px 0 28px;
  border: 0;
  border-top: 1px solid #e7eaf0;
}
.workspace-brand {
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.partner-card .workspace-wordmark {
  display: block;
  width: min(100%, 350px);
  margin: 0 0 24px;
}
.workspace-logo { display: block; width: 100%; height: auto; }
.workspace-apps {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(100%, 350px);
  gap: 12px;
}
.app-icon { display: block; width: 48px; height: 48px; flex: 0 1 48px; min-width: 0; }
.about-partner-showcase {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0;
}
@media (max-width: 640px) {
  .partner-card { padding: 28px 24px 30px; border-radius: 22px; }
  .partner-card__title { font-size: 20px; margin-bottom: 22px; }
  .partner-row--aws { min-height: 100px; }
  .aws-partner-lockup { width: min(100%, 320px); }
  .partner-divider { margin: 20px 0 24px; }
  .partner-card .workspace-wordmark { margin-bottom: 20px; }
  .workspace-apps { gap: 10px; }
  .app-icon { width: 42px; height: 42px; flex-basis: 42px; }
}
@media (max-width: 380px) {
  .partner-card { padding: 24px 18px; }
  .partner-card__title { font-size: 18px; }
  .partner-row--aws { min-height: 82px; }
  .workspace-apps { gap: 7px; }
  .app-icon { width: 36px; height: 36px; flex-basis: 36px; }
}

/* =========================================================
   AJUSTE FINAL — Diagnóstico animado + Proyectos compactos
   15/10/2026
   ========================================================= */

/* Diagnóstico: restauramos la animación original del informe.
   El contador y las barras se animan al entrar en pantalla mediante JS.
   El movimiento 3D se reserva a dispositivos con hover real. */
.diagnostic-mockup-wrapper {
  perspective: 1000px;
}
.report-paper-card {
  transform: rotateY(-3deg) rotateX(1deg);
  transition: transform 0.4s ease;
}
.meter-bar-fill {
  transform-origin: left center;
  transition: none;
}
@media (hover: hover) and (pointer: fine) {
  .report-paper-card:hover,
  .report-paper-card:focus-within {
    transform: rotateY(0) rotateX(0);
  }
}
@media (max-width: 900px), (prefers-reduced-motion: reduce) {
  .report-paper-card,
  .report-paper-card:hover,
  .report-paper-card:focus-within {
    transform: none;
    transition: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .meter-bar-fill { transition: none; }
}

/* Proyectos: mantenemos fondo full-width y una sola diapositiva visible,
   pero compactamos el contenido para reducir altura y hacer el cambio más ágil. */
@media (min-width: 901px) {
  .section-cases .project-slide {
    grid-template-columns: minmax(300px, 390px) minmax(460px, 610px) !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 48px !important;
    min-height: 410px !important;
    padding: 36px 56px 0 !important;
  }

  .section-cases .project-info {
    padding: 0 0 34px !important;
  }

  .section-cases .project-name {
    font-size: clamp(2.55rem, 3.6vw, 3.75rem) !important;
    line-height: 1.02 !important;
    max-width: 390px !important;
  }

  .section-cases .project-kind {
    font-size: 1.05rem !important;
  }

  .section-cases .project-type-caption {
    max-width: 390px !important;
  }

  .section-cases .project-media {
    width: 100% !important;
    max-width: 610px !important;
    min-height: 320px !important;
    border-radius: 20px 20px 0 0 !important;
  }

  .section-cases .project-image {
    width: 100% !important;
    min-height: 320px !important;
    max-height: 380px !important;
    object-fit: contain !important;
  }

  .section-cases .project-controls {
    padding-top: 10px !important;
    padding-bottom: 18px !important;
  }
}

@media (min-width: 601px) and (max-width: 900px) {
  .section-cases .project-slide {
    min-height: 330px !important;
    padding: 28px 40px 0 !important;
    gap: 24px !important;
  }

  .section-cases .project-media,
  .section-cases .project-image {
    min-height: 275px !important;
  }

  .section-cases .project-name {
    font-size: 2.25rem !important;
  }
}


/* =========================================================
   AJUSTES SOLICITADOS — HERO / SERVICIOS / BOTONES / FOOTER
   15/10/2026
   ========================================================= */

:root{
  --cta-radius: 10px;
  --cta-padding-y: 12px;
  --cta-padding-x: 20px;
  --hero-card-width: 520px;
  --hero-card-height: 410px;
}

/* 1) Hero: las tres tarjetas visuales comparten exactamente el mismo marco
   en escritorio. En móvil recuperan altura automática para no cortar contenido. */
#hero .hero-visual{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
}
@media (min-width:901px){
  #hero .hero-visual{
    padding-bottom:0 !important;
  }
  #hero .organigram-widget,
  #hero .software-factory-widget,
  #hero .partner-card{
    width:min(100%, var(--hero-card-width)) !important;
    max-width:var(--hero-card-width) !important;
    height:var(--hero-card-height) !important;
    min-height:var(--hero-card-height) !important;
    max-height:var(--hero-card-height) !important;
    margin-inline:auto !important;
    box-sizing:border-box !important;
  }
  #hero .partner-card{
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
}

/* Partner AWS + Google: más pequeño y delicado en las dos apariciones. */
.partner-card{
  padding:26px 32px 28px !important;
}
.partner-card__title{
  font-size:21px !important;
  margin-bottom:18px !important;
}
.partner-row--aws{
  min-height:86px !important;
}
.aws-partner-lockup{
  width:min(100%, 285px) !important;
}
.partner-divider{
  margin:16px 0 18px !important;
}
.partner-card .workspace-wordmark{
  width:min(100%, 275px) !important;
  margin-bottom:16px !important;
}
.workspace-apps{
  width:min(100%, 275px) !important;
  gap:10px !important;
  justify-content:center !important;
}
.app-icon{
  width:36px !important;
  height:36px !important;
  flex:0 0 36px !important;
}

/* 2) Navegación del Hero: flechas mínimas, centradas debajo del slider,
   sin círculos grandes ni cápsula de fondo. */
#hero .hero-controls-container{
  margin-top:14px !important;
  padding-bottom:0 !important;
  pointer-events:auto !important;
}
#hero .hero-carousel-nav{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  justify-content:center !important;
}
#hero .hero-arrow-btns{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
#hero .hero-arrow-btn{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--gray-500) !important;
  transform:none !important;
}
#hero .hero-arrow-btn svg{
  width:17px !important;
  height:17px !important;
}
#hero .hero-arrow-btn:hover,
#hero .hero-arrow-btn:focus-visible{
  background:transparent !important;
  color:var(--brand-yellow-hover) !important;
  transform:none !important;
}
#hero .hero-arrow-separator{
  width:1px !important;
  height:17px !important;
  background:var(--gray-300) !important;
}

/* 3) Servicios: encabezado a la izquierda, pestañas centradas y una única
   tarjeta enmarcada para que todos los servicios mantengan la misma estética. */
.section-services .services-section-heading{
  max-width:none !important;
  margin:0 0 34px !important;
  text-align:left !important;
}
.section-services .services-section-heading .section-title{
  max-width:900px !important;
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:left !important;
}
.section-services .services-visual-layout{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:24px !important;
  margin-top:0 !important;
}
.section-services .services-menu-col{
  width:100% !important;
  max-width:none !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:9px !important;
  padding:0 !important;
  overflow:visible !important;
}
.section-services .service-menu-btn{
  flex:0 0 auto !important;
  width:auto !important;
  min-height:44px !important;
  padding:10px 14px !important;
  border:1px solid var(--gray-200) !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:none !important;
  text-align:left !important;
}
.section-services .service-menu-btn:hover{
  border-color:var(--gray-300) !important;
  background:var(--gray-50) !important;
}
.section-services .service-menu-btn.active{
  color:#fff !important;
  background:var(--brand-dark) !important;
  border-color:var(--brand-dark) !important;
}
.section-services .services-display-col{
  width:min(100%, 880px) !important;
  max-width:880px !important;
  margin:0 auto !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.section-services .service-card-view{
  display:none;
}
.section-services .service-card-view.active{
  display:block !important;
  padding:30px 32px !important;
  background:#fff !important;
  border:1px solid var(--gray-200) !important;
  border-radius:20px !important;
  box-shadow:0 12px 30px rgba(54,52,52,.06) !important;
}
.section-services .service-graphic-diagram{
  margin-top:22px !important;
  padding:14px 16px !important;
  background:var(--gray-50) !important;
  border:1px solid var(--gray-200) !important;
  border-radius:12px !important;
}
.section-services .service-details-drawer.direct-view{
  padding:16px 0 0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
}

/* 4) Botones CTA: misma geometría visual en toda la landing.
   Las flechas de carrusel quedan fuera de esta regla por diseño. */
.btn,
.btn-lg,
.btn-tech-header{
  border-radius:var(--cta-radius) !important;
  padding:var(--cta-padding-y) var(--cta-padding-x) !important;
  min-height:46px;
}
.btn-lg{
  font-size:.96rem !important;
}
.btn-tech-header{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:.875rem !important;
}

/* Footer: Instagram preparado junto a LinkedIn con el mismo tratamiento.
   La URL exacta está pendiente de confirmación, por eso el href sigue en #. */
.footer-instagram-link .instagram-icon{
  color:var(--brand-yellow) !important;
}

@media (max-width:900px){
  #hero .organigram-widget,
  #hero .software-factory-widget,
  #hero .partner-card{
    width:min(100%, 620px) !important;
    max-width:620px !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }
  .section-services .services-menu-col{
    flex-wrap:nowrap !important;
    justify-content:flex-start !important;
    overflow-x:auto !important;
    padding:2px 2px 10px !important;
    scrollbar-width:thin;
  }
  .section-services .service-menu-btn{
    flex-shrink:0 !important;
    white-space:nowrap !important;
  }
}

@media (max-width:600px){
  .partner-card{
    padding:24px 20px 26px !important;
  }
  .partner-card__title{
    font-size:19px !important;
  }
  .aws-partner-lockup{
    width:min(100%, 250px) !important;
  }
  .partner-card .workspace-wordmark,
  .workspace-apps{
    width:min(100%, 245px) !important;
  }
  .app-icon{
    width:32px !important;
    height:32px !important;
    flex-basis:32px !important;
  }
  .section-services .service-card-view.active{
    padding:24px 20px !important;
    border-radius:16px !important;
  }
  .btn,
  .btn-lg,
  .btn-tech-header{
    padding:12px 18px !important;
  }
}


/* =========================================================
   PULIDO FINAL SOLICITADO — 15/10/2026
   Hero partners / flechas / capacidades / CTA amarillos
   ========================================================= */

/* 1) Partner AWS + Google Workspace: conservar el componente,
   pero recuperar una escala visual más compacta como la tarjeta
   corporativa original. */
@media (min-width: 901px){
  #hero .partner-card{
    width:min(100%, 455px) !important;
    max-width:455px !important;
    height:342px !important;
    min-height:342px !important;
    max-height:342px !important;
    padding:22px 30px 24px !important;
  }
}
#hero .partner-card__title{
  font-size:19px !important;
  margin-bottom:13px !important;
}
#hero .partner-row--aws{
  min-height:72px !important;
}
#hero .aws-partner-lockup{
  width:min(100%, 235px) !important;
  max-width:235px !important;
}
#hero .partner-divider{
  margin:12px 0 14px !important;
}
#hero .partner-card .workspace-wordmark{
  width:min(100%, 225px) !important;
  max-width:225px !important;
  margin-bottom:12px !important;
}
#hero .workspace-apps{
  width:min(100%, 225px) !important;
  max-width:225px !important;
  gap:9px !important;
}
#hero .app-icon{
  width:30px !important;
  height:30px !important;
  flex:0 0 30px !important;
}

/* Mantener la segunda aparición de partners también delicada,
   sin hacerla tan grande. */
.about-partner-card .aws-partner-lockup{
  width:min(100%, 245px) !important;
  max-width:245px !important;
}
.about-partner-card .workspace-wordmark,
.about-partner-card .workspace-apps{
  width:min(100%, 235px) !important;
  max-width:235px !important;
}
.about-partner-card .app-icon{
  width:31px !important;
  height:31px !important;
  flex-basis:31px !important;
}

/* 2) Hero: mismas flechas simples del carrusel de proyectos,
   ubicadas a izquierda y derecha. Sin contador ni separador inferior. */
#hero .hero-controls-container{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  pointer-events:none !important;
  z-index:30 !important;
}
#hero .hero-carousel-nav{
  position:absolute !important;
  top:50% !important;
  left:max(8px, 1.4vw) !important;
  right:max(8px, 1.4vw) !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  transform:translateY(-50%) !important;
  pointer-events:none !important;
}
#hero .hero-arrow-btns{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  pointer-events:none !important;
}
#hero .hero-arrow-btn.carousel-arrow{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:6px !important;
  background:transparent !important;
  color:var(--gray-500) !important;
  box-shadow:none !important;
  font-size:1.3rem !important;
  line-height:1 !important;
  pointer-events:auto !important;
}
#hero .hero-arrow-btn.carousel-arrow:hover,
#hero .hero-arrow-btn.carousel-arrow:focus-visible{
  background:var(--brand-yellow) !important;
  color:var(--brand-dark) !important;
  border-color:var(--brand-yellow) !important;
  transform:none !important;
}
#hero .hero-arrow-separator{display:none !important;}

/* 3) Capacidades: recuperar exactamente la lectura del bloque mostrado:
   encabezado a la izquierda + menú vertical a la izquierda. */
.section-services{
  padding:76px 0 !important;
}
.section-services > .container{
  max-width:1280px !important;
}
.section-services .services-section-heading{
  max-width:100% !important;
  margin:0 0 34px !important;
  text-align:left !important;
}
.section-services .services-section-heading .eyebrow-text{
  display:inline-flex !important;
}
.section-services .services-section-heading .section-title{
  max-width:1040px !important;
  margin:0 !important;
  text-align:left !important;
  font-family:var(--font-display) !important;
  font-size:clamp(2.15rem, 3.1vw, 3.05rem) !important;
  line-height:1.12 !important;
  letter-spacing:-0.035em !important;
  font-weight:800 !important;
}
.section-services .services-visual-layout{
  display:grid !important;
  grid-template-columns:320px minmax(0,1fr) !important;
  align-items:start !important;
  justify-content:stretch !important;
  gap:22px !important;
  margin-top:0 !important;
}
.section-services .services-menu-col{
  width:100% !important;
  max-width:none !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  flex-wrap:nowrap !important;
  gap:6px !important;
  padding:0 !important;
  overflow:visible !important;
}
.section-services .service-menu-btn{
  width:100% !important;
  min-height:60px !important;
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:14px !important;
  padding:13px 18px !important;
  border:1px solid transparent !important;
  border-radius:12px !important;
  background:transparent !important;
  box-shadow:none !important;
  text-align:left !important;
  white-space:normal !important;
}
.section-services .service-menu-btn:hover{
  background:var(--gray-50) !important;
  border-color:var(--gray-200) !important;
}
.section-services .service-menu-btn.active{
  color:#fff !important;
  background:var(--brand-dark) !important;
  border-color:var(--brand-dark) !important;
  box-shadow:var(--shadow-card) !important;
}
.section-services .service-menu-btn.active .srv-badge{
  color:var(--brand-yellow) !important;
}
.section-services .service-menu-btn .srv-label{
  line-height:1.35 !important;
}
.section-services .services-display-col{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}

/* 4) CTA principal: el amarillo del diagnóstico pasa a ser el patrón
   visual también para Enviar solicitud y el botón principal del header. */
.btn-brand-dark,
.btn-tech-header{
  background:var(--brand-yellow) !important;
  color:var(--brand-dark) !important;
  border-color:var(--brand-yellow) !important;
  box-shadow:var(--shadow-yellow) !important;
  font-weight:700 !important;
}
.btn-brand-dark:hover,
.btn-tech-header:hover,
.btn-tech-header:focus-visible{
  background:var(--brand-yellow-hover) !important;
  color:var(--brand-dark) !important;
  border-color:var(--brand-yellow-hover) !important;
  box-shadow:0 8px 28px rgba(251,185,0,.38) !important;
  transform:translateY(-2px) !important;
}

@media (max-width: 900px){
  #hero .hero-controls-container{
    position:relative !important;
    inset:auto !important;
    margin-top:12px !important;
    height:44px !important;
    pointer-events:auto !important;
  }
  #hero .hero-carousel-nav{
    position:static !important;
    width:100% !important;
    transform:none !important;
  }
  #hero .hero-arrow-btns{
    width:min(100%, 120px) !important;
    margin:0 auto !important;
  }
  #hero .partner-card{
    width:min(100%, 455px) !important;
    max-width:455px !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }
  .section-services .services-visual-layout{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  .section-services .services-menu-col{
    flex-direction:row !important;
    overflow-x:auto !important;
    gap:8px !important;
    padding:2px 2px 10px !important;
    scrollbar-width:thin;
  }
  .section-services .service-menu-btn{
    width:auto !important;
    min-height:46px !important;
    flex-shrink:0 !important;
    white-space:nowrap !important;
    padding:10px 14px !important;
  }
}

@media (max-width: 600px){
  #hero .partner-card__title{font-size:18px !important;}
  #hero .aws-partner-lockup{max-width:215px !important;}
  #hero .partner-card .workspace-wordmark,
  #hero .workspace-apps{max-width:210px !important;}
  #hero .app-icon{
    width:28px !important;
    height:28px !important;
    flex-basis:28px !important;
  }
  .section-services .services-section-heading .section-title{
    font-size:clamp(2rem, 9vw, 2.55rem) !important;
  }
}

/* Ajuste equivalente para el bloque de partners en Trayectoria. */
.about-partner-showcase .partner-card{
  width:min(100%, 455px) !important;
  max-width:455px !important;
  padding:22px 30px 24px !important;
}
.about-partner-showcase .partner-card__title{
  font-size:19px !important;
  margin-bottom:13px !important;
}
.about-partner-showcase .partner-row--aws{
  min-height:72px !important;
}
.about-partner-showcase .aws-partner-lockup{
  width:min(100%, 235px) !important;
  max-width:235px !important;
}
.about-partner-showcase .partner-divider{
  margin:12px 0 14px !important;
}
.about-partner-showcase .workspace-wordmark,
.about-partner-showcase .workspace-apps{
  width:min(100%, 225px) !important;
  max-width:225px !important;
}
.about-partner-showcase .workspace-wordmark{margin-bottom:12px !important;}
.about-partner-showcase .workspace-apps{gap:9px !important;}
.about-partner-showcase .app-icon{
  width:30px !important;
  height:30px !important;
  flex-basis:30px !important;
}

/* Marco compacto compartido por las tres visuales del hero. */
#hero{--hero-card-width:455px;--hero-card-height:342px}
@media(min-width:901px){
  #hero .organigram-widget,#hero .software-factory-widget,#hero .partner-card{
    width:min(100%,var(--hero-card-width)) !important;
    max-width:var(--hero-card-width) !important;
    height:var(--hero-card-height) !important;
    min-height:var(--hero-card-height) !important;
    max-height:var(--hero-card-height) !important;
    box-sizing:border-box !important;
  }
  #hero .organigram-widget{padding:22px 20px !important;}
  #hero .software-factory-widget{padding:20px !important;}
}
@media(max-width:900px){
  #hero .organigram-widget,#hero .software-factory-widget,#hero .partner-card{
    width:min(100%,455px) !important;
    max-width:455px !important;
    height:auto !important;min-height:0 !important;max-height:none !important;
  }
}
#hero .partner-card,.about-partner-showcase .partner-card{padding:24px !important;}
#hero .partner-card__title,.about-partner-showcase .partner-card__title{font-size:18px !important;margin-bottom:18px !important;}
#hero .aws-partner-lockup,.about-partner-showcase .aws-partner-lockup{width:min(100%,180px) !important;max-width:180px !important;}
#hero .partner-row--aws,.about-partner-showcase .partner-row--aws{min-height:54px !important;}
#hero .partner-divider,.about-partner-showcase .partner-divider{margin:18px 0 !important;}
#hero .partner-card .workspace-wordmark,#hero .workspace-apps,.about-partner-showcase .workspace-wordmark,.about-partner-showcase .workspace-apps{width:min(100%,185px) !important;max-width:185px !important;}
#hero .app-icon,.about-partner-showcase .app-icon{width:24px !important;height:24px !important;flex:0 0 24px !important;}

@media(min-width:901px){
  #hero .organigram-header{margin-bottom:14px !important;}
  #hero .organigram-footer-note{margin-top:14px !important;padding-top:10px !important;}
  #hero .organigram-footer-note p{font-size:.6875rem !important;line-height:1.4 !important;}
  #hero .factory-header-bar{margin-bottom:12px !important;padding-bottom:10px !important;gap:8px;}
  #hero .factory-title{font-size:.5625rem !important;}
  #hero .factory-code-preview{font-size:.65625rem !important;line-height:1.5 !important;padding:10px 12px !important;margin-bottom:12px !important;}
  #hero .factory-stats-grid{margin-bottom:12px !important;gap:8px !important;}
  #hero .factory-stat-box{padding:8px 5px !important;}
  #hero .factory-stack-chips{gap:5px !important;}
  #hero .f-chip{font-size:.5625rem !important;padding:3px 6px !important;}
}


/* CTA del hero alineados al borde derecho de su columna. */
#hero .hero-cta-group{width:100%;justify-content:flex-end !important;text-align:right !important;align-items:center !important;margin-top:4px !important;}
#hero .hero-cta-group .btn{margin:0 !important;align-self:center !important;max-width:100%;}
#hero .organigram-widget{box-shadow:0 10px 30px rgba(0,0,0,.06) !important;}
#hero .org-connector-tree::after{content:none;}
@media(min-width:601px){
  #hero .tech-active-header{flex-wrap:nowrap !important;gap:3px !important;}
  #hero .tech-brand-name{font-size:.625rem !important;}
  #hero .tech-pill-active{font-size:.4375rem !important;padding:2px 3px !important;}
}
@media(max-width:600px){
  #hero .hero-cta-group .btn{width:100% !important;max-width:100% !important;justify-content:center !important;}
}

@media(max-width:900px){
  #hero .factory-header-bar{flex-wrap:wrap;gap:8px;}
  #hero .factory-title{min-width:0;overflow-wrap:anywhere;}
  #hero .factory-code-preview{font-size:.6875rem;overflow-wrap:anywhere;}
  #hero .factory-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  #hero .factory-stat-box{min-width:0;padding:8px 4px;}
  #hero .factory-stat-box .f-num{font-size:1rem;}
}


/* Ajuste vertical puntual solicitado: mantener la alineación derecha. */
@media(min-width:901px){
  #hero .hero-slide[data-slide-index="0"] .organigram-widget{transform:translateY(4px);}
  #hero .hero-slide[data-slide-index="1"] .hero-cta-group,
  #hero .hero-slide[data-slide-index="2"] .hero-cta-group{transform:translateY(-12px);}
}


/* Alianzas de Trayectoria: mismo marco compacto que Software Factory. */
.about-partner-showcase .partner-card{
  box-sizing:border-box !important;
  width:min(100%,455px) !important;
  max-width:455px !important;
  display:flex;flex-direction:column;justify-content:center;
}
@media(min-width:901px){
  .about-partner-showcase .partner-card{height:342px !important;min-height:342px !important;max-height:342px !important;}
}
@media(max-width:900px){
  .about-partner-showcase .partner-card{height:auto !important;min-height:0 !important;max-height:none !important;}
}

@media(min-width:901px){.about-visual-split{grid-template-columns:minmax(0,1fr) 455px;}}


/* HERO: columnas y tarjetas consistentes */
#hero{position:relative;--hero-card-width:455px;--hero-card-height:342px}
#hero .hero-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;align-items:center !important;gap:40px !important;min-height:420px}
#hero .hero-content,#hero .hero-visual{min-width:0;align-self:center !important}
#hero .hero-visual{display:flex;align-items:center;justify-content:center;padding:0 !important}
#hero .organigram-widget,#hero .software-factory-widget,#hero .partner-card{box-sizing:border-box;width:100% !important;max-width:var(--hero-card-width) !important;height:auto !important;min-height:var(--hero-card-height) !important;max-height:none !important;margin:0 auto !important}
/* ESTRUCTURA CORPORATIVA */
#hero .hero-slide[data-slide-index="0"] .organigram-widget{transform:none !important;padding:24px 20px !important;display:flex;flex-direction:column;justify-content:center;overflow:hidden;border-radius:24px;box-shadow:0 10px 30px rgba(0,0,0,.06) !important}
#hero .organigram-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px !important}
#hero .org-root{box-sizing:border-box;width:100%;max-width:270px;margin-inline:auto}
#hero .org-grid-areas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
#hero .org-area-pill{box-sizing:border-box;min-width:0;padding:10px 4px}
#hero .org-tech-slot.is-integrated{transform:none !important}
#hero .tech-active-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px}
#hero .tech-summary-text{overflow-wrap:anywhere}
#hero .organigram-footer-note{margin-top:16px !important;padding-top:12px !important;text-align:center}
/* FLECHAS: independientes del tamaño de cada diapositiva */
#hero .hero-controls-container{position:absolute !important;inset:50% 12px auto !important;width:auto !important;max-width:none !important;height:0 !important;margin:0 !important;padding:0 !important;z-index:20;pointer-events:none !important}
#hero .hero-carousel-nav{position:static !important;width:100% !important;margin:0 !important;padding:0 !important;transform:translateY(-50%) !important;pointer-events:none !important}
#hero .hero-arrow-btns{display:flex !important;justify-content:space-between !important;width:100% !important;margin:0 !important;pointer-events:none !important}
#hero .hero-arrow-btn{pointer-events:auto !important}
@media(max-width:900px){
 #hero .hero-grid{grid-template-columns:minmax(0,1fr) !important;min-height:0;gap:28px !important}
 #hero .organigram-widget,#hero .software-factory-widget,#hero .partner-card{min-height:0 !important}
 #hero .hero-controls-container{position:static !important;height:auto !important;margin:18px 18px 0 !important}
 #hero .hero-carousel-nav{transform:none !important}
}
@media(max-width:600px){
 #hero .org-grid-areas{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 #hero .org-area-pill{min-height:80px}
 #hero .org-grid-areas::before,#hero .org-area-pill::before{display:none}
}


/* REVISIÓN VISUAL: alianzas, capacidades, clientes, diagnóstico y footer. */
#hero .partner-card,.about-partner-showcase .partner-card{
  display:flex;flex-direction:column;justify-content:center;position:relative;
  padding:24px !important;
}
#hero .partner-card__title,.about-partner-showcase .partner-card__title{
  align-self:stretch;text-align:left !important;font-size:17px !important;
  margin:0 0 auto !important;line-height:1.3;
}
#hero .partner-row--aws,.about-partner-showcase .partner-row--aws{margin-top:24px;min-height:62px !important;}
#hero .aws-partner-lockup,.about-partner-showcase .aws-partner-lockup{width:min(100%,210px) !important;max-width:210px !important;}
#hero .partner-card .workspace-wordmark,#hero .workspace-apps,
.about-partner-showcase .workspace-wordmark,.about-partner-showcase .workspace-apps{width:min(100%,215px) !important;max-width:215px !important;}
#hero .app-icon,.about-partner-showcase .app-icon{width:27px !important;height:27px !important;flex:0 0 27px !important;}
#hero .partner-row--google,.about-partner-showcase .partner-row--google{margin-bottom:auto;}
#hero .partner-divider,.about-partner-showcase .partner-divider{margin:20px 0 !important;flex-shrink:0;}

/* Iconos sin desplazamiento de línea base; controles al centro del visual. */
#hero .hero-arrow-btn,.section-cases .carousel-arrow{
  display:grid !important;place-items:center !important;box-sizing:border-box;
  width:44px !important;height:44px !important;min-width:44px !important;min-height:44px !important;
  padding:0 !important;line-height:1 !important;border:1px solid transparent !important;
  border-radius:50% !important;background:transparent !important;transform:none !important;
}
#hero .hero-arrow-btn svg,.section-cases .carousel-arrow svg{display:block;width:20px;height:20px;pointer-events:none;}
#hero .hero-arrow-btn:hover,#hero .hero-arrow-btn:focus-visible,
.section-cases .carousel-arrow:hover,.section-cases .carousel-arrow:focus-visible{
  background:var(--brand-yellow) !important;border-color:var(--brand-yellow) !important;color:var(--brand-dark) !important;
}
#hero .hero-controls-container{top:var(--hero-nav-y,50%) !important;}
#hero .hero-carousel-nav,#hero .hero-arrow-btns{height:44px !important;}
.section-cases .project-arrows{top:var(--project-nav-y,50%) !important;transform:translateY(-50%);align-items:center;}

/* Logos: espacio para los bordes y movimiento con precisión subpíxel. */
.clients-window{padding-block:8px;overflow:hidden !important;scroll-behavior:auto !important;}
.clients-track,.clients-track.is-ready{transform:translate3d(var(--clients-offset,0px),0,0) !important;will-change:transform;align-items:center;}
.client-logo-group{padding-block:2px;align-items:center;}
.client-logo-card{box-sizing:border-box;overflow:hidden;background:#fff;border:1px solid #e7eaf0;box-shadow:none;}
.client-logo-card img{display:block;width:138px;height:64px;max-width:100%;object-fit:contain;}
.client-logo-card img[src*="-display.svg"]{width:150px;height:68px;}

/* Capacidades: jerarquía más discreta y contenido centrado en los cinco paneles. */
.section-services .services-section-heading .section-title{font-size:clamp(1.75rem,2.5vw,2.35rem) !important;line-height:1.18 !important;}
.section-services .service-card-view.active{padding:24px 26px !important;min-height:0 !important;height:auto !important;}
.section-services .service-card-head,.section-services .service-card-head.text-center{text-align:center !important;margin-bottom:14px !important;}
.section-services .service-headline{font-size:clamp(1.25rem,1.8vw,1.6rem) !important;line-height:1.25 !important;margin:0 auto 12px !important;max-width:650px;}
.section-services .service-lead-short{max-width:620px;margin:0 auto !important;text-align:center;}
.section-services .service-graphic-diagram{justify-content:center !important;margin:16px 0 14px !important;padding:12px !important;text-align:center;}
.section-services .service-details-drawer.direct-view{padding:0 !important;margin:0 !important;}
.section-services .details-inner{max-width:650px;margin:0 auto;text-align:center;}
.section-services .details-subhead{margin:0 0 10px !important;text-align:center;}
.section-services .details-checklist{margin:0 auto 14px;gap:8px !important;}
.section-services .details-checklist li{max-width:none;text-align:center;padding-left:0;}
.section-services .details-checklist li::before{position:static;content:'•';margin-right:7px;}
.section-services .details-gain-box{text-align:center;padding:12px 14px;border-left:0;border-top:2px solid var(--brand-yellow);border-radius:8px;}
.footer-contact-icon{width:24px !important;height:24px !important;flex:0 0 24px !important;}
.footer-contact-item{gap:12px;align-items:center;}
.report-paper-card .score-digit{font-variant-numeric:tabular-nums;}
.report-paper-card .meter-bar-fill{transform-origin:left center;will-change:transform;}
@media(max-width:900px){
 #hero .hero-controls-container{top:auto !important;}
 #hero .hero-carousel-nav,#hero .hero-arrow-btns{height:44px !important;}
}
@media(max-width:600px){
 .section-services .services-section-heading .section-title{font-size:1.8rem !important;}
 .section-services .service-card-view.active{padding:22px 18px !important;}
 .client-logo-card{padding:12px;}
 .client-logo-card img[src*="-display.svg"]{height:64px;}
 .partner-card__title{font-size:16px;}
}


/* Ajustes puntuales sobre las ocho capturas de revisión. */
#hero .partner-card,.about-partner-showcase .partner-card{justify-content:flex-start !important;padding:20px !important;}
#hero .partner-card__title,.about-partner-showcase .partner-card__title{margin:0 0 12px !important;}
#hero .partner-row--aws,.about-partner-showcase .partner-row--aws{margin-top:0 !important;min-height:70px !important;}
#hero .aws-partner-lockup,.about-partner-showcase .aws-partner-lockup{width:min(100%,235px) !important;max-width:235px !important;}
#hero .partner-card .workspace-wordmark,#hero .workspace-apps,
.about-partner-showcase .workspace-wordmark,.about-partner-showcase .workspace-apps{width:min(100%,240px) !important;max-width:240px !important;}
#hero .partner-card .workspace-wordmark,.about-partner-showcase .workspace-wordmark{margin-bottom:10px !important;}
#hero .app-icon,.about-partner-showcase .app-icon{width:28px !important;height:28px !important;flex:0 0 28px !important;}
#hero .partner-divider,.about-partner-showcase .partner-divider{margin:12px 0 !important;}
#hero .partner-row--google,.about-partner-showcase .partner-row--google{margin-bottom:0 !important;}
.client-logo-card img[src*="/b12-display.svg"]{width:132px !important;height:60px !important;}
.section-services .service-card-head,.section-services .service-card-head.text-center{text-align:left !important;}
.section-services .service-headline,.section-services .service-lead-short{max-width:none;margin-left:0 !important;margin-right:0 !important;text-align:left !important;}
.section-services .details-inner{max-width:none;margin:0;text-align:left;}
.section-services .details-subhead,.section-services .details-checklist li,.section-services .details-gain-box{text-align:left !important;}
.section-services .details-checklist li{padding-left:14px;}
.section-services .details-checklist li::before{position:absolute;left:0;margin-right:0;}
.report-tag-sample{color:#fff !important;}

/* Altura de alianzas según su contenido: sin relleno vacío inferior. */
#hero .partner-card,.about-partner-showcase .partner-card{height:auto !important;min-height:0 !important;max-height:none !important;}


/* Alianzas: mismo marco que las otras tarjetas, con el espacio repartido. */
#hero .partner-card,.about-partner-showcase .partner-card{
  display:grid !important;grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;justify-content:normal !important;
}
#hero .partner-card__title,.about-partner-showcase .partner-card__title{margin:0 !important;align-self:start;}
#hero .partner-row--aws,.about-partner-showcase .partner-row--aws{min-height:0 !important;margin:0 !important;}
#hero .aws-partner-lockup,.about-partner-showcase .aws-partner-lockup{width:min(100%,260px) !important;max-width:260px !important;}
#hero .partner-card .workspace-wordmark,#hero .workspace-apps,
.about-partner-showcase .workspace-wordmark,.about-partner-showcase .workspace-apps{width:min(100%,265px) !important;max-width:265px !important;}
#hero .app-icon,.about-partner-showcase .app-icon{width:30px !important;height:30px !important;flex:0 0 30px !important;}
#hero .partner-divider,.about-partner-showcase .partner-divider{width:100%;margin:10px 0 !important;}
@media(min-width:901px){
  #hero .partner-card,.about-partner-showcase .partner-card{height:342px !important;min-height:342px !important;max-height:342px !important;}
}
@media(max-width:900px){
  #hero .partner-card,.about-partner-showcase .partner-card{height:auto !important;min-height:0 !important;max-height:none !important;grid-template-rows:repeat(4,auto);row-gap:12px;}
}
/* Acabado más claro para las tarjetas de clientes. */
.client-logo-card{background:#fff !important;border-color:#f0f1f3 !important;}
.section-services .services-section-heading .section-title{font-size:clamp(1.6rem,2.25vw,2.1rem) !important;}
.section-services .service-headline{font-size:clamp(1.15rem,1.6vw,1.45rem) !important;}
.section-services .service-menu-btn .srv-label{font-size:.9375rem;}


/* ================================================================
   Correcciones de contenido y acabado UI — 20/10/2026
   Se preservan dimensiones de Hero, sliders, Partners y proyectos.
   ================================================================ */
/* Diagnóstico: más espacio y las dos columnas alineadas verticalmente. */
@media (min-width: 901px) {
  .section-diagnostic .diagnostic-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(48px, 5.5vw, 78px);
    align-items: center;
  }
  .section-diagnostic .diagnostic-intro,
  .section-diagnostic .diagnostic-mockup-wrapper { align-self: center; }
}
.section-diagnostic .diagnostic-eyebrow { margin-bottom: 18px; }
.section-diagnostic .diagnostic-intro .diagnostic-headline { margin-bottom: 22px; }
.section-diagnostic .diagnostic-lead-compact { margin-bottom: 22px; line-height: 1.55; }
.section-diagnostic .diagnostic-full-details.direct-open {
  margin-top: 24px;
  margin-bottom: 30px;
  padding: 22px 24px;
}
.section-diagnostic .diagnostic-full-details .eval-text { line-height: 1.75; margin-bottom: 16px; }
.section-diagnostic .eval-ideal-note { padding: 14px 18px; }
.section-diagnostic .eval-ideal-note p { line-height: 1.7; }
.section-diagnostic .diagnostic-cta-wrap.align-right { margin-top: 28px; margin-bottom: 0; }
/* CTA amarilla: sin halo amarillo borroso sobre el fondo oscuro. */
.section-diagnostic #btn-diagnostic-cta,
.section-diagnostic #btn-diagnostic-cta:focus-visible {
  filter: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
}
.section-diagnostic #btn-diagnostic-cta:hover {
  box-shadow: none !important;
}
/* Trayectoria: el texto se centra frente a la tarjeta de alianzas. */
.section-about .about-visual-split { align-items: center !important; }
.section-about .about-summary-col { align-self: center; }
/* Movimiento moderado y uniforme en tarjetas superiores. 
   No afecta las métricas, el mockup estático ni el slider de proyectos. */
.section-familiar .problem-editorial-item,
.section-services .service-card-view.active,
.section-about .v-card,
.section-cases .portfolio-card {
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
@media (hover: hover) and (pointer: fine) {
  .section-familiar .problem-editorial-item:hover { transform: translateX(3px); }
  .section-services .service-card-view.active:hover,
  .section-about .v-card:hover,
  .section-cases .portfolio-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 25px rgba(54,52,52,.10) !important;
  }
}
/* Formularios: vínculos visibles y teclado navegable. */
.contact-card-form .form-privacy-note { line-height: 1.55; }
.contact-card-form .form-privacy-note a,
.contact-card-form .form-banner a { color: #775100; text-decoration: underline; text-underline-offset: 2px; }
.site-modal .modal-body a { color: #7a5600; text-decoration: underline; text-underline-offset: 3px; }
.site-modal .legal-review-note { margin-top: 16px; font-size: .83rem; color: #5f6368; }
.site-modal .modal-close-btn:focus-visible,
.site-modal a:focus-visible,
.contact-card-form a:focus-visible { outline: 3px solid var(--brand-yellow); outline-offset: 3px; }
@media (max-width: 900px) {
  .section-diagnostic .diagnostic-layout { gap: 34px; }
  .section-diagnostic .diagnostic-full-details.direct-open { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .section-familiar .problem-editorial-item,
  .section-services .service-card-view.active,
  .section-about .v-card,
  .section-cases .portfolio-card { transition: none !important; transform: none !important; }
}

/* Mensaje informativo: correo preparado, aún no enviado. */
.contact-card-form .form-banner.info {background:#fff9e8;border:1px solid #f3d681;color:#5d4200;}
.contact-card-form .form-banner.info a {font-weight:800;}


/* ================================================================
   Botones amarillos planos — 22/10/2026
   Un solo acabado para los CTA de Hero, cabecera, servicios,
   diagnóstico, contacto y botones de los modales.
   Sin resplandor, borde inferior sombreado ni efecto de elevación.
   Conservamos tamaños, colores, radios y estados de accesibilidad.
   ================================================================ */
:is(.btn-brand, .btn-brand-dark, .btn-tech-header, .btn-tech-cta,
    #btn-diagnostic-cta, #btn-submit-form, #btn-submit-lead),
:is(.btn-brand, .btn-brand-dark, .btn-tech-header, .btn-tech-cta,
    #btn-diagnostic-cta, #btn-submit-form, #btn-submit-lead):is(:hover, :active, :focus, :focus-visible) {
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
}
:is(.btn-brand, .btn-brand-dark, .btn-tech-header, .btn-tech-cta,
    #btn-diagnostic-cta, #btn-submit-form, #btn-submit-lead):is(:hover, :active) {
  transform: none !important;
}
/* El diagnóstico tenía una regla de hover con mayor especificidad. */
.section-diagnostic #btn-diagnostic-cta:hover,
.section-diagnostic #btn-diagnostic-cta:focus-visible {
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
  transform: none !important;
}


/* ============================================================
   CREASOFT · Casos de éxito (14 proyectos del listado aprobado)
   Conserva el carrusel existente y sustituye capturas grandes
   por logos reales del cliente o nombres tipográficos verificables.
   ============================================================ */
.section-cases .projects-carousel{overflow:hidden;}
.section-cases .project-slide{
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) !important;
  gap:clamp(24px,4vw,58px) !important;
  align-items:center !important;
  min-height:355px !important;
  padding:32px clamp(24px,5vw,72px) !important;
}
.section-cases .project-info{
  align-self:center;min-width:0;padding:0 !important;
}
.section-cases .project-name{
  font-size:clamp(2.25rem,4vw,4.1rem) !important;
  line-height:1.08 !important;
  letter-spacing:-.035em;
  overflow-wrap:break-word;
  margin:10px 0 14px;
}
.section-cases .project-kind{
  font-size:clamp(1.07rem,1.5vw,1.4rem) !important;
  line-height:1.45 !important;
  margin:0 0 12px !important;
}
.section-cases .project-type-caption{
  max-width:40ch;
  font-size:clamp(.95rem,1.1vw,1.075rem) !important;
  line-height:1.62 !important;
  margin-bottom:16px !important;
}
.section-cases .hero-case-techs{display:flex;flex-wrap:wrap;gap:7px !important;}
.section-cases .project-media.case-brand-panel{
  margin:0 !important;
  width:100% !important;
  max-width:unset !important;
  height:266px !important;
  min-height:266px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  align-self:center !important;
  justify-self:stretch !important;
  border:1px solid rgba(54,52,52,.09) !important;
  border-radius:22px !important;
  background:linear-gradient(155deg,#fff 65%,#fffdf5 100%) !important;
  box-shadow:0 16px 35px rgba(54,52,52,.045) !important;
  overflow:hidden;
}
.section-cases .case-brand-panel-inner{
  width:100%;flex:1;
  display:flex;justify-content:center;align-items:center;
  padding:26px clamp(24px,4vw,48px) 10px;
  min-height:0;
}
.section-cases .case-brand-logo{
  display:block;width:auto !important;height:auto !important;
  max-width:min(100%,305px) !important;
  max-height:138px !important;
  object-fit:contain !important;
}
.section-cases .case-typographic-logo{
  display:block;
  font-family:var(--font-display,Arial,sans-serif);
  font-size:clamp(1.65rem,2.85vw,2.65rem);
  font-weight:750;
  letter-spacing:-.035em;
  line-height:1.15;
  text-align:center;
  color:var(--brand-dark,#363434);
  overflow-wrap:anywhere;
  max-width:100%;
}
.section-cases .case-brand-caption{
  font-size:.69rem;
  font-weight:650;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#9ca3af;
  padding:0 14px 23px;
  text-align:center;
}
.section-cases .project-controls{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  padding:14px 22px 22px !important;
}
.section-cases .project-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  max-width:min(100%,355px);
  flex-wrap:wrap;
  gap:7px !important;
}
.section-cases .project-dot{flex:0 0 auto;}
.section-cases .project-position{white-space:nowrap;font-variant-numeric:tabular-nums;}
@media(max-width:900px){
  .section-cases .project-slide{
    grid-template-columns:minmax(0,1fr) !important;
    min-height:0 !important;
    padding:28px 26px !important;
    gap:20px !important;
  }
  .section-cases .project-info{padding:0 !important;}
  .section-cases .project-name{font-size:clamp(2rem,7vw,3.5rem) !important;}
  .section-cases .project-media.case-brand-panel{height:215px !important;min-height:215px;}
  .section-cases .case-brand-logo{max-height:115px !important;}
  .section-cases .project-controls{gap:12px;}
}
@media(max-width:480px){
  .section-cases .project-slide{padding:24px 20px !important;gap:18px !important;}
  .section-cases .project-name{font-size:clamp(1.9rem,9vw,2.4rem) !important;}
  .section-cases .project-media.case-brand-panel{height:185px !important;min-height:185px;border-radius:16px !important;}
  .section-cases .case-brand-panel-inner{padding:21px 25px 5px;}
  .section-cases .case-brand-logo{max-height:95px !important;}
  .section-cases .case-typographic-logo{font-size:clamp(1.45rem,6vw,1.95rem);}
  .section-cases .case-brand-caption{padding-bottom:17px;}
  .section-cases .project-dots{max-width:265px;gap:5px !important;}
  .section-cases .project-controls{padding:14px 10px 20px !important;gap:9px;}
}
@media(prefers-reduced-motion:reduce){
  .section-cases .projects-track{transition:none !important;}
}
/* Navegación compacta: los 14 indicadores caben en una fila. */
.section-cases .project-dots{
  flex-wrap:nowrap !important;
  max-width:100% !important;
  gap:4px !important;
}
.section-cases .project-dot{
  width:18px !important;
  min-width:18px !important;
  height:30px !important;
  padding:0 !important;
}
.section-cases .project-dot::before{inset:11px 5px !important;}
.section-cases .project-dot[aria-current="true"]::before{inset:10px 4px !important;}
@media(max-width:600px){
  /* El antiguo selector tenía flechas absolutas sobre el contenido. */
  .section-cases .project-controls{
    display:grid !important;
    grid-template-columns:1fr auto;
    grid-template-areas:"arrows position" "dots dots";
    align-items:center;
    row-gap:6px !important;
    padding:10px 20px 18px !important;
  }
  .section-cases .project-arrows{
    grid-area:arrows;
    position:static !important;
    top:auto !important;left:auto !important;right:auto !important;
    display:flex;
    justify-content:flex-start !important;
    pointer-events:auto !important;
  }
  .section-cases .project-dots{grid-area:dots;justify-content:center;width:100%;gap:3px !important;}
  .section-cases .project-dot{width:17px !important;min-width:17px !important;}
  .section-cases .project-position{grid-area:position;justify-self:end;margin:0 !important;}
}


/* =====================================================================
   PROYECTOS — restaurar el formato de Movistar Ofertas (referencia 22/10)
   Contenido actualizado: 14 casos, mismo layout, proporción y navegación.
   No se alteran otras secciones de la landing.
   ===================================================================== */
.section-cases .projects-carousel {
  background:#effaff !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.section-cases .projects-viewport {
  width:100%;
  overflow:hidden !important;
}
.section-cases .project-slide {
  /* Cada slide ocupa el ancho completo de la pista, sin mostrar vecinos. */
  flex:0 0 100% !important;
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:minmax(0,460px) minmax(0,760px) !important;
  justify-content:center !important;
  align-items:center !important;
  gap:72px !important;
  min-height:525px !important;
  padding:48px clamp(40px,7vw,124px) 0 !important;
  margin:0 !important;
  background:#effaff !important;
}
.section-cases .project-info {
  min-width:0 !important;
  width:100%;
  padding:0 0 38px !important;
  align-self:center !important;
}
.section-cases .project-info .eyebrow-text {
  margin-bottom:12px;
  font-size:.83rem;
  letter-spacing:.09em;
  color:#64748b;
}
.section-cases .project-name {
  font-size:clamp(3.1rem,4vw,4.6rem) !important;
  line-height:1.015 !important;
  letter-spacing:-.055em !important;
  max-width:460px !important;
  margin:8px 0 17px !important;
  font-weight:750;
  overflow-wrap:break-word;
}
.section-cases .project-slide--amcor .project-name {
  font-size:clamp(2.65rem,3.2vw,3.65rem) !important;
  line-height:1.045 !important;
  letter-spacing:-.045em !important;
}
.section-cases .project-kind {
  font-size:clamp(1.14rem,1.25vw,1.43rem) !important;
  line-height:1.4 !important;
  font-weight:400 !important;
  color:#64748b;
  margin:0 0 23px !important;
}
.section-cases .project-type-caption {
  max-width:440px !important;
  font-size:clamp(.93rem,1vw,1.1rem) !important;
  font-weight:400 !important;
  line-height:1.55 !important;
  color:#64748b !important;
  margin:0 0 16px !important;
}
.section-cases .hero-case-techs {
  gap:8px !important;
  justify-content:flex-start !important;
}
/* El panel blanco es la imagen completa: sin tarjeta anidada ni leyenda. */
.section-cases .project-media.case-brand-panel {
  align-self:end !important;
  justify-self:stretch !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-direction:column !important;
  width:100% !important;
  max-width:none !important;
  height:476px !important;
  min-height:476px !important;
  margin:0 !important;
  background:#fff !important;
  border:0 !important;
  border-radius:26px 26px 0 0 !important;
  box-shadow:0 12px 35px rgba(47,63,76,.035) !important;
  overflow:hidden !important;
}
.section-cases .case-brand-panel-inner {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  padding:44px 64px !important;
  flex:1 !important;
}
.section-cases .case-brand-logo {
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:75% !important;
  max-height:192px !important;
  object-fit:contain !important;
}
.section-cases .case-typographic-logo {
  max-width:86% !important;
  font-size:clamp(2rem,2.7vw,3rem) !important;
  line-height:1.2 !important;
  text-align:center !important;
  color:#363434 !important;
}
.section-cases .case-brand-caption {display:none !important;}
/* Flechas flotantes laterales y puntos + contador abajo, como en la referencia. */
.section-cases .project-controls {
  min-height:64px !important;
  max-width:none !important;
  padding:10px 16px 17px !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:center !important;
  gap:25px !important;
  background:#effaff !important;
  border:0 !important;
}
.section-cases .project-arrows {
  position:absolute !important;
  inset:auto clamp(12px,2.5vw,46px) auto clamp(12px,2.5vw,46px) !important;
  top:var(--project-nav-y,46%) !important;
  transform:translateY(-50%) !important;
  display:flex !important;
  justify-content:space-between !important;
  pointer-events:none !important;
  z-index:25 !important;
}
.section-cases .carousel-arrow {pointer-events:auto !important;}
.section-cases .project-dots {
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:auto !important;
  max-width:calc(100% - 72px) !important;
  margin:0 !important;
  gap:9px !important;
  flex-wrap:nowrap !important;
}
.section-cases .project-dot {
  display:block !important;
  width:14px !important;
  min-width:14px !important;
  height:32px !important;
  flex:0 0 14px !important;
  padding:0 !important;
}
.section-cases .project-dot::before {
  inset:11px 2px !important;
  background:#cbd5e1 !important;
  border-radius:50% !important;
}
.section-cases .project-dot[aria-current="true"]::before {
  inset:10px 1px !important;
  background:#fbb900 !important;
}
.section-cases .project-position {
  white-space:nowrap !important;
  margin:0 !important;
  color:#64748b !important;
  font-size:.88rem !important;
  font-variant-numeric:tabular-nums !important;
}
@media (min-width:901px) and (max-width:1450px) {
  .section-cases .project-slide {
    grid-template-columns:minmax(0,400px) minmax(0,650px) !important;
    gap:48px !important;
    min-height:460px !important;
    padding:38px 80px 0 !important;
  }
  .section-cases .project-name {font-size:clamp(2.8rem,4.1vw,4rem) !important;}
  .section-cases .project-slide--amcor .project-name {font-size:clamp(2.35rem,3.3vw,3.2rem) !important;}
  .section-cases .project-media.case-brand-panel {height:422px !important;min-height:422px !important;}
}
@media (min-width:601px) and (max-width:900px) {
  .section-cases .project-slide {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:25px !important;
    padding:30px 46px 0 !important;
    min-height:345px !important;
  }
  .section-cases .project-name {font-size:clamp(2.1rem,4.3vw,3.3rem) !important;}
  .section-cases .project-slide--amcor .project-name {font-size:clamp(1.9rem,3.7vw,2.8rem) !important;}
  .section-cases .project-kind {font-size:1rem !important;margin-bottom:14px !important;}
  .section-cases .project-type-caption{font-size:.86rem !important;}
  .section-cases .project-media.case-brand-panel {height:315px !important;min-height:315px !important;}
  .section-cases .case-brand-panel-inner {padding:20px 30px !important;}
  .section-cases .case-brand-logo {max-height:115px !important;}
}
@media(max-width:600px) {
  .section-cases .project-slide {
    grid-template-columns:minmax(0,1fr) !important;
    gap:18px !important;
    align-items:start !important;
    padding:26px 22px 0 !important;
    min-height:0 !important;
  }
  .section-cases .project-info {padding:0 !important;}
  .section-cases .project-name {font-size:clamp(2.25rem,9vw,3rem) !important;max-width:100% !important;margin:3px 0 12px !important;}
  .section-cases .project-slide--amcor .project-name {font-size:clamp(1.95rem,7.5vw,2.45rem) !important;}
  .section-cases .project-kind {font-size:1rem !important;margin-bottom:12px !important;}
  .section-cases .project-type-caption{font-size:.9rem !important;margin-bottom:12px !important;line-height:1.5 !important;}
  .section-cases .project-media.case-brand-panel {
    height:236px !important;min-height:236px !important;
    border-radius:19px 19px 0 0 !important;
  }
  .section-cases .case-brand-panel-inner {padding:24px 36px !important;}
  .section-cases .case-brand-logo {max-height:105px !important;max-width:85% !important;}
  .section-cases .case-typographic-logo {font-size:clamp(1.6rem,7vw,2.1rem) !important;}
  .section-cases .project-controls {
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:center !important;
    gap:11px !important;
    min-height:53px !important;
    padding:8px 8px 14px !important;
  }
  .section-cases .project-arrows {
    position:absolute !important;
    top:var(--project-nav-y,45%) !important;
    left:3px !important;right:3px !important;
    transform:translateY(-50%) !important;
    pointer-events:none !important;
  }
  .section-cases .carousel-arrow {width:34px !important;height:34px !important;min-width:34px !important;min-height:34px !important;background:rgba(255,255,255,.9) !important;}
  .section-cases .project-dots {gap:4px !important;max-width:calc(100% - 58px) !important;}
  .section-cases .project-dot {width:13px !important;min-width:13px !important;flex-basis:13px !important;height:27px !important;}
  .section-cases .project-dot::before {inset:10px 3px !important;}
  .section-cases .project-dot[aria-current="true"]::before{inset:9px 2px !important;}
  .section-cases .project-position {font-size:.73rem !important;}
}
@media(max-width:365px) {
  .section-cases .project-dot {width:11px !important;min-width:11px !important;flex-basis:11px !important;}
  .section-cases .project-dots {gap:2px !important;}
  .section-cases .project-controls {gap:7px !important;}
}
@media(prefers-reduced-motion:reduce){
  .section-cases .projects-track {transition:none !important;}
}


/* ================================================================
   Diagnóstico empresarial — composición según referencia 22/10/2026
   Texto editorial único (sin subtítulo duplicado ni recuadros).
   El mockup del informe y el CTA existente no se modifican.
   ================================================================ */
@media (min-width: 901px) {
  .section-diagnostic .diagnostic-intro {
    align-self: start;
    padding-top: clamp(12px, 1.8vw, 26px);
  }
}
.section-diagnostic .diagnostic-eyebrow {
  margin-bottom: 14px;
}
.section-diagnostic .diagnostic-intro .diagnostic-headline {
  max-width: 100%;
  margin: 0 0 18px;
  font-size: clamp(2.1rem, 2.65vw, 2.7rem);
  line-height: 1.11;
  letter-spacing: -0.035em;
  font-weight: 800;
}
.section-diagnostic .diagnostic-summary {
  max-width: 55ch;
  margin: 0;
  color: #aeb8c6;
  font-size: clamp(0.95rem, 1.05vw, 1.075rem);
  font-weight: 400;
  line-height: 1.75;
}
.section-diagnostic .diagnostic-cta-wrap.align-right {
  margin: 25px 0 0;
}
@media (max-width: 900px) {
  .section-diagnostic .diagnostic-intro {
    padding-top: 0;
  }
  .section-diagnostic .diagnostic-intro .diagnostic-headline {
    font-size: clamp(1.85rem, 5vw, 2.55rem);
  }
  .section-diagnostic .diagnostic-summary {
    font-size: 0.98rem;
  }
}
@media (max-width: 480px) {
  .section-diagnostic .diagnostic-intro .diagnostic-headline {
    font-size: clamp(1.85rem, 7.3vw, 2.15rem);
  }
  .section-diagnostic .diagnostic-summary {
    line-height: 1.65;
  }
}

/* Encabezado: logo con mayor presencia y CTA de menor altura. */
.site-header .brand-logo img { height:40px; width:auto; max-width:none; }
.site-header .header-actions { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.site-header .btn-tech-header { min-height:38px; padding:7px 16px !important; line-height:1.4; }
@media (max-width:1100px) {
  .site-header .header-actions > .btn-tech-header { display:none !important; }
  .site-header .brand-logo img { height:40px; width:auto; max-width:calc(100vw - 108px); }
}
