/* ── TECNOLOGIA — local styles ── */
.framework-section { padding: 5rem 3rem; background: #F5F7FA; }
.framework-section .section-label { font-size:0.72rem; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:var(--blue-primary); margin-bottom:1rem; }
.framework-section h2 { font-family:var(--font-heading); font-size:clamp(1.8rem,3vw,2.8rem); font-weight:800; color:#0F1B3D; line-height:1.15; margin-bottom:1rem; max-width:700px; }
.framework-section .section-intro { font-size:1.05rem; color:#5a6475; max-width:680px; line-height:1.75; margin-bottom:3.5rem; }
.layer-stack { display:flex; flex-direction:column; gap:1rem; max-width:900px; margin:0 auto; }
.layer-card { border-radius:12px; padding:2rem 2.5rem; display:grid; grid-template-columns:auto 1fr auto; gap:1.5rem; align-items:center; transition:transform 0.2s ease,box-shadow 0.2s ease; }
.layer-card:hover { transform:translateY(-2px); box-shadow:0 8px 32px rgba(0,0,0,0.15); }
.layer-card.layer-1 { background:var(--hero-bg); border-left:4px solid var(--teal-accent); }
.layer-card.layer-2 { background:#21409A; border-left:4px solid #4668BC; }
.layer-card.layer-3 { background:#0F1B3D; border-left:4px solid #2EA3F2; }
.layer-arrow { display:flex; justify-content:center; align-items:center; color:rgba(46,163,242,0.5); font-size:1.2rem; padding:0.3rem; }
.layer-num { font-family:var(--font-heading); font-size:2rem; font-weight:900; color:rgba(255,255,255,0.18); line-height:1; min-width:2.5rem; }
.layer-content h3 { font-family:var(--font-heading); font-size:1.1rem; font-weight:700; color:var(--white); margin-bottom:0.35rem; }
.layer-content p { font-size:0.9rem; color:rgba(255,255,255,0.65); line-height:1.65; }
.layer-badge { background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.15); border-radius:8px; padding:0.5rem 1rem; font-size:0.78rem; font-weight:600; color:rgba(255,255,255,0.7); white-space:nowrap; }
.layer-badge span { display:block; font-size:0.68rem; font-weight:400; color:rgba(255,255,255,0.45); margin-top:0.15rem; }

.proprietary-section { padding:5rem 3rem; background:var(--white); }
.proprietary-section .section-label { font-size:0.72rem; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:var(--blue-primary); margin-bottom:1rem; }
.proprietary-section h2 { font-family:var(--font-heading); font-size:clamp(1.8rem,3vw,2.8rem); font-weight:800; color:#0F1B3D; line-height:1.15; margin-bottom:1rem; max-width:700px; }
.proprietary-section .section-intro { font-size:1.05rem; color:#5a6475; max-width:680px; line-height:1.75; margin-bottom:3rem; }
.tech-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.5rem; }
.tech-card { background:#F5F7FA; border:1px solid #e2e8f0; border-radius:12px; padding:2rem; transition:border-color 0.2s,box-shadow 0.2s; }
.tech-card:hover { border-color:var(--teal-accent); box-shadow:0 4px 20px rgba(33,64,154,0.08); }
.tech-icon { width:44px; height:44px; background:var(--blue-primary); border-radius:10px; display:flex; align-items:center; justify-content:center; margin-bottom:1.2rem; }
.tech-icon svg { width:22px; height:22px; fill:none; stroke:white; stroke-width:1.8; }
.tech-card h3 { font-family:var(--font-heading); font-size:1rem; font-weight:700; color:#0F1B3D; margin-bottom:0.5rem; }
.tech-card p { font-size:0.88rem; color:#5a6475; line-height:1.65; }
.tech-tag { display:inline-block; margin-top:1rem; background:rgba(33,64,154,0.08); color:var(--blue-primary); font-size:0.7rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; padding:0.3rem 0.7rem; border-radius:20px; }

.partners-tech-section { padding:5rem 3rem; background:#F5F7FA; }
.partners-tech-section .section-label { font-size:0.72rem; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:var(--blue-primary); margin-bottom:1rem; }
.partners-tech-section h2 { font-family:var(--font-heading); font-size:clamp(1.8rem,3vw,2.8rem); font-weight:800; color:#0F1B3D; line-height:1.15; margin-bottom:1rem; max-width:700px; }
.partners-tech-section .section-intro { font-size:1.05rem; color:#5a6475; max-width:680px; line-height:1.75; margin-bottom:3rem; }
.partner-tier { margin-bottom:2.5rem; }
.tier-label { font-size:0.7rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:#8a94a6; margin-bottom:1rem; padding-bottom:0.5rem; border-bottom:1px solid #e2e8f0; }
.partner-cards-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.2rem; }
.partner-tech-card { background:var(--white); border:1px solid #e2e8f0; border-radius:12px; padding:1.8rem; transition:border-color 0.2s; }
.partner-tech-card:hover { border-color:var(--blue-primary); }
.partner-tech-card .p-name { font-family:var(--font-heading); font-size:1rem; font-weight:700; color:#0F1B3D; margin-bottom:0.3rem; }
.partner-tech-card .p-role { font-size:0.78rem; font-weight:600; color:var(--teal-accent); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:0.8rem; }
.partner-tech-card .p-desc { font-size:0.88rem; color:#5a6475; line-height:1.65; }
.partner-tech-card .p-origin { display:inline-flex; align-items:center; gap:0.35rem; margin-top:0.8rem; font-size:0.75rem; color:#8a94a6; }
.partner-tech-card .p-origin::before { content:''; display:inline-block; width:8px; height:8px; border-radius:50%; background:#e2e8f0; }

.makebuy-section { padding:5rem 3rem; background:var(--hero-bg); }
.makebuy-section .section-label { font-size:0.72rem; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:var(--teal-accent); margin-bottom:1rem; }
.makebuy-section h2 { font-family:var(--font-heading); font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:800; color:var(--white); margin-bottom:2.5rem; }
.makebuy-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; max-width:800px; }
.mb-col { background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); border-radius:12px; padding:1.8rem; }
.mb-col h4 { font-family:var(--font-heading); font-size:0.85rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; margin-bottom:1rem; }
.mb-col.make h4 { color:var(--teal-accent); }
.mb-col.buy h4 { color:rgba(255,255,255,0.5); }
.mb-col ul { list-style:none; padding:0; margin:0; }
.mb-col ul li { font-size:0.88rem; color:rgba(255,255,255,0.75); padding:0.5rem 0; border-bottom:1px solid rgba(255,255,255,0.06); display:flex; align-items:center; gap:0.6rem; line-height:1.4; }
.mb-col ul li:last-child { border-bottom:none; }
.mb-col.make ul li::before { content:'✓'; color:var(--teal-accent); font-weight:700; font-size:0.85rem; }
.mb-col.buy ul li::before { content:'○'; color:rgba(255,255,255,0.3); font-size:0.85rem; }
.compliance-bar { background:rgba(255,255,255,0.04); border-top:1px solid rgba(255,255,255,0.08); border-bottom:1px solid rgba(255,255,255,0.08); padding:1.5rem 0; display:flex; align-items:center; gap:1rem; flex-wrap:wrap; margin-top:3rem; }
.compliance-bar .cb-label { font-size:0.72rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:rgba(255,255,255,0.4); margin-right:0.5rem; }
.cb-badge { background:rgba(46,163,242,0.12); border:1px solid rgba(46,163,242,0.25); color:var(--teal-accent); font-size:0.72rem; font-weight:700; letter-spacing:0.06em; padding:0.35rem 0.9rem; border-radius:20px; }
.cta-tech { padding:5rem 3rem; background:var(--blue-primary); text-align:center; }
.cta-tech h2 { font-family:var(--font-heading); font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:800; color:var(--white); margin-bottom:1rem; }
.cta-tech p { font-size:1rem; color:rgba(255,255,255,0.65); margin-bottom:2rem; }
@media (max-width:768px) {
  .layer-card { grid-template-columns:1fr; }
  .layer-badge { display:none; }
  .makebuy-grid { grid-template-columns:1fr; }
  .framework-section,.proprietary-section,.partners-tech-section,.makebuy-section { padding:3.5rem 1.25rem; }
}

.visually-hidden {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0,0,0,0);
white-space: nowrap;
border: 0;
}