:root {
  --jv-navy: #0A2540;
  --jv-blue: #006699;
  --jv-blue-2: #0A7AAA;
  --jv-ink: #17212B;
  --jv-muted: #607080;
  --jv-soft: #F8F9FA;
  --jv-line: #DCE3E8;
  --jv-white: #FFFFFF;
  --jv-radius: 20px;
  --jv-shadow: 0 20px 55px rgba(10, 37, 64, .11);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
.jv-site {
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--jv-ink);
  background: var(--jv-white);
  line-height: 1.6;
}
.jv-site a { color: inherit; text-decoration: none; }
.jv-container { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
.jv-nav {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(220,227,232,.8);
}
.jv-nav__inner { min-height: 78px; display:flex; align-items:center; gap:28px; }
.jv-brand img { width: 155px; height: auto; display:block; }
.jv-nav__links { margin-left:auto; display:flex; gap:26px; font-size:14px; color:#44525f; }
.jv-nav__links a:hover { color:var(--jv-blue); }
.jv-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  border:0; border-radius:999px; background:var(--jv-navy); color:white !important;
  padding:15px 22px; font-weight:700; cursor:pointer;
  box-shadow:0 8px 20px rgba(10,37,64,.16);
  transition:.2s ease;
}
.jv-btn:hover { transform:translateY(-1px); background:#103653; }
.jv-btn span { font-weight:500; opacity:.8; }
.jv-btn--small { padding:10px 16px; font-size:13px; }
.jv-btn--full { width:100%; }
.jv-hero {
  position:relative; overflow:hidden;
  background:
    radial-gradient(circle at 84% 30%, rgba(0,102,153,.12), transparent 32%),
    linear-gradient(180deg, #fff 0%, #fbfdfe 100%);
}
.jv-hero__grid { min-height:690px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:60px; padding:76px 0; }
.jv-eyebrow { display:inline-block; color:var(--jv-blue); letter-spacing:.14em; font-size:12px; font-weight:800; margin-bottom:18px; }
.jv-hero h1, .jv-section h2, .jv-contact h2 {
  margin:0; color:var(--jv-navy); line-height:1.08; letter-spacing:-.035em;
}
.jv-hero h1 { font-size:clamp(44px, 5.3vw, 72px); max-width:760px; }
.jv-lead { max-width:680px; color:#526371; font-size:20px; margin:26px 0 30px; }
.jv-actions { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.jv-link { color:var(--jv-blue) !important; font-weight:700; }
.jv-trustline { display:flex; flex-wrap:wrap; gap:10px; margin-top:34px; }
.jv-trustline span { border:1px solid var(--jv-line); border-radius:999px; padding:7px 11px; color:#51616f; font-size:12px; background:#fff; }
.jv-hero__visual { position:relative; min-height:460px; display:grid; place-items:center; }
.jv-logo-card {
  width:min(430px, 88%); aspect-ratio:1/1; border-radius:32px;
  background:rgba(255,255,255,.88); border:1px solid rgba(220,227,232,.9);
  box-shadow:var(--jv-shadow); display:grid; place-items:center; position:relative; z-index:2;
}
.jv-logo-card img { width:78%; height:auto; }
.jv-tech-orbit { position:absolute; border:1px solid rgba(0,102,153,.16); border-radius:50%; }
.jv-tech-orbit--one { width:510px; height:510px; }
.jv-tech-orbit--two { width:610px; height:610px; border-style:dashed; opacity:.55; }
.jv-section { padding:105px 0; }
.jv-section--soft { background:var(--jv-soft); }
.jv-quote { max-width:920px; margin:0 auto 62px; text-align:center; position:relative; }
.jv-quote__mark { display:block; font-size:72px; line-height:.7; color:var(--jv-blue); opacity:.35; }
.jv-quote p { margin:12px 0 0; color:var(--jv-navy); font-size:clamp(27px, 3vw, 40px); font-weight:700; line-height:1.25; letter-spacing:-.025em; }
.jv-value-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; }
.jv-value-card {
  background:#fff; border:1px solid var(--jv-line); border-radius:var(--jv-radius);
  padding:32px; box-shadow:0 10px 28px rgba(10,37,64,.05);
}
.jv-icon { width:46px; height:46px; display:grid; place-items:center; border-radius:12px; background:#edf6fa; color:var(--jv-blue); font-size:24px; font-weight:800; margin-bottom:24px; }
.jv-value-card h3, .jv-service h3, .jv-step h3 { margin:0 0 10px; color:var(--jv-navy); font-size:20px; line-height:1.3; }
.jv-value-card p, .jv-service p, .jv-step p { margin:0; color:var(--jv-muted); }
.jv-section-head { max-width:760px; margin-bottom:50px; }
.jv-section-head h2, .jv-about h2 { font-size:clamp(36px, 4vw, 54px); }
.jv-section-head > p { color:var(--jv-muted); font-size:18px; margin:16px 0 0; }
.jv-services { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--jv-line); border-left:1px solid var(--jv-line); }
.jv-service { padding:38px; border-right:1px solid var(--jv-line); border-bottom:1px solid var(--jv-line); }
.jv-service__num { color:var(--jv-blue); font-weight:800; font-size:13px; letter-spacing:.12em; margin-bottom:28px; }
.jv-section--dark { background:var(--jv-navy); }
.jv-section-head--light h2, .jv-section--dark h3 { color:white; }
.jv-section-head--light .jv-eyebrow { color:#75c8e6; }
.jv-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:rgba(255,255,255,.12); }
.jv-step { padding:40px; background:var(--jv-navy); }
.jv-step__num { width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:#fff; color:var(--jv-navy); font-weight:800; margin-bottom:34px; }
.jv-step p { color:#c7d4de; }
.jv-about { display:grid; grid-template-columns:.85fr 1.15fr; gap:75px; align-items:center; }
.jv-photo-placeholder {
  min-height:480px; border-radius:28px; display:grid; place-items:center; align-content:center; gap:20px;
  background:linear-gradient(135deg, #eaf4f8, #f8fbfc); border:1px solid var(--jv-line); color:#71808b; text-align:center; padding:30px;
}
.jv-photo-placeholder__badge { width:110px; height:110px; border-radius:50%; display:grid; place-items:center; background:var(--jv-navy); color:white; font-weight:800; font-size:32px; }
.jv-about__intro { color:var(--jv-muted); font-size:19px; margin:22px 0 30px; }
.jv-about blockquote { margin:0; padding:24px 0 24px 24px; border-left:3px solid var(--jv-blue); color:var(--jv-navy); font-size:21px; font-weight:600; }
.jv-contact { padding:105px 0; background:#eef5f8; }
.jv-contact__grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:start; }
.jv-contact h2 { font-size:clamp(38px, 4.5vw, 58px); }
.jv-contact__copy > p { color:var(--jv-muted); font-size:18px; margin:20px 0 34px; }
.jv-direct { display:grid; gap:10px; }
.jv-direct a { display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid #cfdbe2; padding:13px 0; }
.jv-direct strong { color:var(--jv-navy); }
.jv-direct span { color:var(--jv-muted); text-align:right; }
.jv-form-card { background:#fff; border-radius:24px; padding:34px; box-shadow:var(--jv-shadow); }
.jv-form { display:grid; gap:18px; }
.jv-form label { display:grid; gap:7px; font-size:13px; font-weight:700; color:var(--jv-navy); }
.jv-form input, .jv-form select, .jv-form textarea {
  width:100%; border:1px solid #ccd8df; border-radius:10px; padding:13px 14px; background:#fff;
  color:var(--jv-ink); font:inherit; outline:none;
}
.jv-form input:focus, .jv-form select:focus, .jv-form textarea:focus { border-color:var(--jv-blue); box-shadow:0 0 0 3px rgba(0,102,153,.1); }
.jv-form__two { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.jv-form__note { color:#7a8894; font-size:11px; margin:0; text-align:center; }
.jv-honeypot { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.jv-alert { padding:12px 14px; border-radius:10px; margin-bottom:18px; font-size:14px; }
.jv-alert--success { background:#eaf7ef; color:#21653a; }
.jv-alert--error { background:#fff0f0; color:#8b2c2c; }
.jv-footer { background:#071b2d; color:#b7c5cf; padding:26px 0; font-size:13px; }
.jv-footer__inner { display:flex; align-items:center; justify-content:space-between; gap:20px; }
@media (max-width: 900px) {
  .jv-nav__links { display:none; }
  .jv-nav__inner .jv-btn { margin-left:auto; }
  .jv-hero__grid, .jv-about, .jv-contact__grid { grid-template-columns:1fr; }
  .jv-hero__grid { padding-top:55px; gap:18px; }
  .jv-hero__visual { min-height:390px; }
  .jv-value-grid, .jv-steps { grid-template-columns:1fr; }
  .jv-services { grid-template-columns:1fr; }
}
@media (max-width: 600px) {
  .jv-container { width:min(100% - 28px, 1160px); }
  .jv-nav__inner { min-height:68px; }
  .jv-brand img { width:125px; }
  .jv-nav__inner .jv-btn { display:none; }
  .jv-hero__grid { min-height:auto; padding:54px 0 62px; }
  .jv-hero h1 { font-size:42px; }
  .jv-lead { font-size:17px; }
  .jv-section, .jv-contact { padding:74px 0; }
  .jv-value-card, .jv-service, .jv-step, .jv-form-card { padding:26px; }
  .jv-form__two { grid-template-columns:1fr; }
  .jv-footer__inner { flex-direction:column; align-items:flex-start; }
  .jv-direct a { flex-direction:column; gap:2px; }
  .jv-direct span { text-align:left; }
}

/* V2: confianza, crecimiento y cercanía */
.jv-founder { padding: 96px 0; background: #fff; border-top: 1px solid var(--jv-line); border-bottom: 1px solid var(--jv-line); }
.jv-founder__grid { display:grid; grid-template-columns: .95fr 1.05fr; gap:80px; align-items:start; }
.jv-founder h2 { margin:0; color:var(--jv-navy); font-size:clamp(34px, 4vw, 52px); line-height:1.12; letter-spacing:-.035em; }
.jv-founder__copy { padding-top:28px; border-top:3px solid var(--jv-blue); }
.jv-founder__copy p { margin:0 0 20px; color:var(--jv-muted); font-size:18px; }
.jv-founder__copy strong { color:var(--jv-navy); }
.jv-photo-frame { position:relative; min-height:520px; overflow:hidden; border-radius:28px; box-shadow:var(--jv-shadow); background:#eef4f6; }
.jv-photo-frame img { width:100%; height:100%; min-height:520px; object-fit:cover; object-position:center 35%; display:block; }
.jv-photo-caption { position:absolute; left:22px; right:22px; bottom:22px; padding:17px 19px; border-radius:15px; background:rgba(10,37,64,.92); color:#fff; backdrop-filter:blur(8px); display:grid; gap:2px; }
.jv-photo-caption strong { font-size:16px; }
.jv-photo-caption span { font-size:12px; color:#c9dce7; }
.jv-hero__copy { position:relative; z-index:3; }
.jv-hero__copy:before { content:""; display:block; width:58px; height:4px; border-radius:999px; background:var(--jv-blue); margin-bottom:24px; }
@media (max-width:900px) {
  .jv-founder__grid { grid-template-columns:1fr; gap:38px; }
}
@media (max-width:600px) {
  .jv-founder { padding:70px 0; }
  .jv-photo-frame, .jv-photo-frame img { min-height:430px; }
}

/* V3 — narrativa de conversión: reconocimiento → confianza → solución → conversación */
.jv-microcopy { max-width:610px; margin:15px 0 0; font-size:12px; color:#74828d; }
.jv-recognition { padding:90px 0 98px; background:var(--jv-navy); color:#fff; }
.jv-recognition__head { max-width:820px; margin-bottom:46px; }
.jv-recognition__head .jv-eyebrow { color:#75c8e6; }
.jv-recognition h2 { margin:0; max-width:850px; font-size:clamp(35px,4.2vw,56px); line-height:1.1; letter-spacing:-.035em; color:#fff; }
.jv-pains { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid rgba(255,255,255,.16); border-left:1px solid rgba(255,255,255,.16); }
.jv-pain { display:grid; grid-template-columns:44px 1fr; gap:18px; padding:28px; border-right:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); }
.jv-pain span { color:#75c8e6; font-size:12px; font-weight:800; }
.jv-pain p { margin:0; color:#d7e2e9; font-size:16px; }
.jv-recognition__close { max-width:820px; margin:38px 0 0; font-size:20px; line-height:1.55; color:#fff; font-weight:600; }
.jv-outcomes { margin-top:58px; border-radius:24px; background:#f3f8fa; padding:38px; display:grid; grid-template-columns:.75fr 1.25fr; gap:50px; }
.jv-outcomes__intro h3 { margin:0; color:var(--jv-navy); font-size:30px; line-height:1.2; }
.jv-outcomes__list { display:grid; grid-template-columns:1fr 1fr; gap:18px 26px; align-content:center; }
.jv-outcomes__list span { color:#435765; font-size:14px; }
.jv-form-intro { display:grid; gap:5px; margin-bottom:24px; padding-bottom:22px; border-bottom:1px solid var(--jv-line); }
.jv-form-intro strong { color:var(--jv-navy); font-size:19px; }
.jv-form-intro span { color:var(--jv-muted); font-size:13px; line-height:1.55; }
@media(max-width:900px){
 .jv-pains,.jv-outcomes,.jv-outcomes__list { grid-template-columns:1fr; }
 .jv-outcomes { gap:25px; }
}
@media(max-width:600px){
 .jv-recognition { padding:68px 0; }
 .jv-pain { padding:22px; }
 .jv-outcomes { padding:26px; }
}
