:root {
  --primary: #004a7c;
  --secondary: #00a6d6;
  --accent: #5ec8e5;
  --deep: #052139;
  --dark: #0b2742;
  --ink: #12263a;
  --muted: #5d7184;
  --soft: #f4fafd;
  --mint: #d9f7ef;
  --line: #dbeaf2;
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); font-family: Inter, system-ui, -apple-system, Segoe UI, sans-serif; line-height: 1.65; background: linear-gradient(180deg, #f7fcff 0, #fff 420px); }
a { color: var(--primary); }
.container { max-width: 1180px; }
.narrow { max-width: 860px; }
.site-header { position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,.86); border-bottom: 1px solid rgba(0,74,124,.12); backdrop-filter: blur(18px); box-shadow: 0 12px 34px rgba(0,74,124,.08); }
.navbar-brand img { width: auto; height: 68px; object-fit: contain; }
.nav-link { color: var(--ink); font-weight: 600; font-size: .94rem; }
.btn { border-radius: 8px; font-weight: 700; }
.btn-primary { --bs-btn-bg: var(--primary); --bs-btn-border-color: var(--primary); --bs-btn-hover-bg: #00395f; --bs-btn-hover-border-color: #00395f; box-shadow: 0 16px 30px rgba(0,74,124,.18); }
.btn-outline-primary { --bs-btn-color: var(--primary); --bs-btn-border-color: var(--primary); --bs-btn-hover-bg: var(--primary); --bs-btn-hover-border-color: var(--primary); }
.section-pad { padding: 88px 0; }
.section-soft { background: linear-gradient(135deg, #f3fbff 0%, #ffffff 48%, #eaf9fc 100%); position: relative; overflow: hidden; }
.section-soft:before { content: ""; position: absolute; inset: 0; opacity: .42; pointer-events: none; background-image: linear-gradient(125deg, rgba(0,166,214,.1) 1px, transparent 1px), linear-gradient(35deg, rgba(0,74,124,.06) 1px, transparent 1px); background-size: 46px 46px, 68px 68px; }
.section-soft .container { position: relative; }
.section-dark { background: var(--dark); color: #fff; position: relative; overflow: hidden; }
.section-dark:before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(circle at 18% 16%, rgba(94,200,229,.34), transparent 24%), radial-gradient(circle at 84% 70%, rgba(217,247,239,.16), transparent 26%), repeating-linear-gradient(110deg, rgba(255,255,255,.07) 0 1px, transparent 1px 34px); }
.section-dark .container { position: relative; }
.eyebrow { color: var(--secondary); font-weight: 800; text-transform: uppercase; font-size: .78rem; letter-spacing: .08em; margin-bottom: 12px; }
h1, h2, h3 { line-height: 1.12; color: inherit; letter-spacing: 0; }
h1 { font-size: clamp(2.25rem, 5vw, 4.75rem); font-weight: 850; margin-bottom: 24px; }
h2 { font-size: clamp(1.9rem, 3vw, 3.2rem); font-weight: 820; margin-bottom: 20px; }
h3 { font-size: 1.14rem; font-weight: 800; }
.lead { font-size: 1.15rem; color: var(--muted); }
.claim-panel { display: grid; gap: 6px; margin: 0 0 22px; padding: 16px 18px; max-width: 620px; border-left: 5px solid var(--secondary); border-radius: 8px; background: rgba(255,255,255,.82); box-shadow: 0 18px 48px rgba(0,74,124,.1); }
.claim-panel strong { color: var(--primary); font-size: 1.08rem; }
.claim-panel span { color: var(--dark); font-weight: 700; line-height: 1.45; }
.hero { position: relative; overflow: hidden; min-height: calc(100vh - 74px); display: flex; align-items: center; background:
  radial-gradient(circle at 82% 16%, rgba(0,166,214,.26), transparent 24%),
  radial-gradient(circle at 10% 10%, rgba(217,247,239,.74), transparent 22%),
  linear-gradient(125deg, #ffffff 0%, #f4fbff 48%, #e6f8fd 100%); }
.hero:before { content: ""; position: absolute; inset: -20% -10% auto 48%; height: 760px; background: conic-gradient(from 210deg, rgba(0,74,124,.18), rgba(0,166,214,.16), transparent, rgba(94,200,229,.18), rgba(0,74,124,.18)); border-radius: 50%; filter: blur(2px); opacity: .9; }
.hero:after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(0,74,124,.12) 1px, transparent 1px); background-size: 28px 28px; mask-image: linear-gradient(90deg, transparent, #000 38%, transparent 88%); opacity: .7; }
.hero .container { position: relative; z-index: 1; }
.hero h1 { color: var(--deep); }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin: 30px 0 22px; }
.trust-list { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 0 0 20px; }
.trust-list li, .reason-list span { border: 1px solid rgba(0,166,214,.22); border-radius: 8px; padding: 8px 12px; background: rgba(255,255,255,.78); color: var(--dark); font-weight: 700; font-size: .9rem; box-shadow: 0 10px 24px rgba(0,74,124,.06); }
.ethical-note, .form-small { color: var(--muted); font-size: .92rem; }
.hero-visual { position: relative; min-height: 620px; display: grid; place-items: center; }
.hero-symbol { position: absolute; width: 270px; opacity: .1; right: 20px; top: 20px; filter: saturate(1.2); }
.topography-field { position: absolute; width: 520px; height: 520px; border-radius: 50%; background:
  repeating-radial-gradient(circle, rgba(0,74,124,.14) 0 1px, transparent 1px 22px),
  conic-gradient(from 140deg, rgba(94,200,229,.18), rgba(0,166,214,.08), rgba(217,247,239,.24), rgba(94,200,229,.18)); box-shadow: inset 0 0 80px rgba(255,255,255,.8); }
.scan-ring { position: absolute; width: 430px; aspect-ratio: 1; border-radius: 50%; border: 1px solid rgba(0,166,214,.45); background: radial-gradient(circle, rgba(255,255,255,.7), rgba(255,255,255,.18) 58%, transparent 60%); box-shadow: 0 0 70px rgba(0,166,214,.2); animation: pulseRing 5s ease-in-out infinite; }
.scan-ring span { position: absolute; width: 12px; height: 12px; border-radius: 50%; background: var(--secondary); box-shadow: 0 0 20px rgba(0,166,214,.9); }
.scan-ring span:nth-child(1) { top: 42px; left: 90px; }
.scan-ring span:nth-child(2) { right: 54px; top: 148px; }
.scan-ring span:nth-child(3) { left: 170px; bottom: 34px; }
.laser-line { position: absolute; width: 92%; height: 3px; background: linear-gradient(90deg, transparent, rgba(217,247,239,.9), var(--secondary), rgba(94,200,229,.7), transparent); transform: rotate(-18deg); box-shadow: 0 0 28px rgba(0,166,214,.8), 0 0 80px rgba(94,200,229,.48); }
.placeholder { border: 1px dashed #a9c2d1; background: linear-gradient(135deg, #eef5f8, #f8fbfd); color: #6d8191; display: grid; place-items: center; text-align: center; font-weight: 800; border-radius: 8px; padding: 22px; min-height: 260px; }
.clínical-device { width: min(100%, 520px); min-height: 430px; position: relative; z-index: 2; border: 1px solid rgba(255,255,255,.72); border-radius: 8px; padding: 24px; background: linear-gradient(155deg, rgba(255,255,255,.9), rgba(236,249,253,.72)); box-shadow: 0 34px 90px rgba(0,74,124,.24); backdrop-filter: blur(12px); }
.device-screen { position: relative; overflow: hidden; min-height: 310px; border-radius: 8px; background:
  radial-gradient(circle at 50% 50%, rgba(0,166,214,.34), transparent 28%),
  radial-gradient(circle at 50% 50%, rgba(0,74,124,.82) 0 11%, transparent 11%),
  linear-gradient(145deg, #062a49, #0a5e87 48%, #00a6d6); box-shadow: inset 0 0 50px rgba(255,255,255,.12); }
.screen-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.1) 1px, transparent 1px); background-size: 34px 34px; mask-image: radial-gradient(circle, #000, transparent 72%); }
.iris-core { position: absolute; inset: 50%; width: 170px; height: 170px; transform: translate(-50%, -50%); border-radius: 50%; border: 2px solid rgba(217,247,239,.9); background: radial-gradient(circle, #fff 0 18%, rgba(0,166,214,.72) 19% 48%, transparent 49%); box-shadow: 0 0 45px rgba(94,200,229,.82); }
.tracking-dot { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: #d9f7ef; box-shadow: 0 0 16px #d9f7ef; }
.dot-a { left: 28%; top: 34%; } .dot-b { right: 30%; top: 42%; } .dot-c { left: 45%; bottom: 26%; }
.device-copy { display: flex; justify-content: space-between; gap: 18px; align-items: center; margin-top: 18px; color: var(--dark); }
.device-copy strong { font-size: 1.3rem; color: var(--primary); }
.device-copy span { max-width: 270px; color: var(--muted); font-weight: 700; font-size: .92rem; line-height: 1.35; }
.hero-float { position: absolute; z-index: 3; border-radius: 8px; padding: 14px 16px; background: rgba(5,33,57,.9); color: #fff; box-shadow: 0 22px 50px rgba(5,33,57,.24); border: 1px solid rgba(94,200,229,.34); }
.hero-float strong { display: block; font-size: 1.2rem; color: var(--accent); }
.hero-float span { font-size: .82rem; color: rgba(255,255,255,.78); font-weight: 700; }
.float-a { right: 2%; top: 18%; }
.float-b { left: 4%; bottom: 16%; }
.image-block { aspect-ratio: 3 / 2; min-height: auto; }
.portrait { aspect-ratio: 3 / 4; min-height: auto; }
.metric-grid, .feature-grid, .benefit-grid { display: grid; gap: 18px; }
.metric-grid { grid-template-columns: repeat(3, 1fr); margin-top: 26px; }
.metric-grid div { border-left: 3px solid var(--secondary); padding: 14px 16px; background: rgba(255,255,255,.86); border-radius: 0 8px 8px 0; box-shadow: 0 16px 38px rgba(0,74,124,.08); }
.metric-grid strong { display: block; color: var(--primary); font-size: 1.35rem; }
.metric-grid span { display: block; color: var(--muted); font-size: .9rem; line-height: 1.35; }
.section-title { max-width: 760px; margin-bottom: 34px; }
.section-title p:last-child { color: var(--muted); font-size: 1.08rem; }
.feature-grid { grid-template-columns: repeat(3, 1fr); }
.feature-card, .benefit-grid article, .lead-form { border: 1px solid rgba(0,74,124,.1); border-radius: 8px; background: linear-gradient(180deg, #fff, #f9fdff); padding: 24px; box-shadow: 0 18px 48px rgba(11,39,66,.08); position: relative; overflow: hidden; }
.feature-card:after, .benefit-grid article:after { content: ""; position: absolute; inset: auto 0 0; height: 4px; background: linear-gradient(90deg, var(--primary), var(--secondary), var(--mint)); }
.feature-card span { width: 38px; height: 38px; display: block; border-radius: 50%; margin-bottom: 18px; background: radial-gradient(circle at 35% 35%, var(--accent), var(--secondary)); }
.benefit-grid { grid-template-columns: repeat(3, 1fr); }
.timeline { list-style: none; counter-reset: item; padding: 0; margin: 0; display: grid; gap: 14px; }
.timeline li { display: flex; align-items: center; gap: 16px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); padding: 16px; border-radius: 8px; font-weight: 700; }
.timeline span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--secondary); color: #fff; flex: 0 0 auto; }
.reason-list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.form-section { background:
  radial-gradient(circle at 14% 20%, rgba(0,166,214,.2), transparent 22%),
  radial-gradient(circle at 88% 70%, rgba(217,247,239,.78), transparent 20%),
  linear-gradient(180deg, #f3fbff, #fff); }
.lead-form label { width: 100%; font-weight: 700; color: var(--dark); }
.lead-form input, .lead-form select { margin-top: 7px; min-height: 48px; }
.consent { display: flex; gap: 10px; align-items: flex-start; font-weight: 600 !important; color: var(--muted) !important; }
.consent input { min-height: auto; margin-top: 5px; }
.hp-field { position: absolute; left: -10000px; opacity: 0; }
.ref-box { padding: 14px 16px; border-radius: 8px; border: 1px solid var(--line); background: #fff; color: var(--primary); }
.faq .accordion-item { border-color: var(--line); }
.faq .accordion-button { font-weight: 800; }
.site-footer { padding: 34px 0; border-top: 1px solid var(--line); background: #fff; color: var(--muted); }
.site-footer img { width: 150px; }
.site-footer a { margin-left: 14px; font-weight: 700; text-decoration: none; }
@keyframes pulseRing {
  0%, 100% { transform: scale(1); opacity: .92; }
  50% { transform: scale(1.035); opacity: .72; }
}
@media (max-width: 991px) {
  .section-pad { padding: 64px 0; }
  .hero-visual { min-height: 500px; }
  .feature-grid, .benefit-grid, .metric-grid { grid-template-columns: 1fr; }
  .float-a { right: 0; top: 10%; }
  .float-b { left: 0; bottom: 8%; }
}
@media (max-width: 575px) {
  h1 { font-size: 2.15rem; }
  .navbar-brand img { height: 56px; }
  .hero-actions .btn { width: 100%; }
  .clínical-device { min-height: 360px; padding: 16px; }
  .device-screen { min-height: 250px; }
  .device-copy { display: block; }
  .hero-float { position: relative; inset: auto; margin: 8px; justify-self: start; }
  .scan-ring { width: 290px; }
  .topography-field { width: 340px; height: 340px; }
}
