@font-face { font-family:'Manrope'; font-style:normal; font-weight:400; font-display:swap; src:url('./fonts/manrope-400.ttf') format('truetype'); }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:500; font-display:swap; src:url('./fonts/manrope-500.ttf') format('truetype'); }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:600; font-display:swap; src:url('./fonts/manrope-600.ttf') format('truetype'); }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:700; font-display:swap; src:url('./fonts/manrope-700.ttf') format('truetype'); }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:800; font-display:swap; src:url('./fonts/manrope-800.ttf') format('truetype'); }
:root { --font-manrope:'Manrope'; --navy:#062443; --navy-2:#001b35; --green:#009a55; --green-2:#00b966; --mint:#eaf8f1; --ink:#071b31; --muted:#536275; --line:#dfe6eb; --soft:#f5f8f7; --white:#fff; --radius:16px; --background:#fff; --foreground:#071b31; --primary:#009a55; --primary-foreground:#fff; --secondary:#f5f8f7; --secondary-foreground:#071b31; --border:#dfe6eb; --input:#ced8e0; --ring:#009a55; --card:#fff; --card-foreground:#071b31; --muted-foreground:#657386; --popover:#fff; --popover-foreground:#071b31; --accent:#eaf8f1; --accent-foreground:#071b31; --destructive:#d23c3c; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:88px; }
body { margin:0; font-family:var(--font-manrope), Arial, sans-serif; color:var(--ink); background:#fff; line-height:1.55; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.container { width:min(1180px, calc(100% - 40px)); margin-inline:auto; }
.site-header { position:sticky; top:0; z-index:50; height:82px; background:rgba(255,255,255,.96); border-bottom:1px solid #edf0f2; backdrop-filter:blur(14px); }
.header-inner { height:100%; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand-logo { width:205px; height:auto; }
.nav-links { display:flex; align-items:center; gap:27px; font-size:14px; font-weight:650; }
.nav-links>a:not(.button):hover { color:var(--green); }
.menu-button { display:none; border:0; background:none; padding:8px; color:var(--navy); }
.button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:0 22px; border-radius:12px; border:1px solid transparent; font:700 15px/1 var(--font-manrope),sans-serif; cursor:pointer; transition:.2s ease; }
.button svg { width:19px; }
.button-primary { color:#fff; background:linear-gradient(135deg,var(--green),var(--green-2)); box-shadow:0 9px 24px rgba(0,154,85,.18); }
.button-primary:hover { transform:translateY(-2px); box-shadow:0 13px 28px rgba(0,154,85,.28); }
.button-secondary,.button-outline { border-color:#8ca0b2; background:#fff; color:var(--navy); }
.button-outline { border-color:var(--green); color:var(--green); }
.hero { overflow:hidden; background:radial-gradient(circle at 72% 30%,#eef8f2 0,rgba(255,255,255,0) 37%),linear-gradient(135deg,#fff 45%,#f2f5f5); }
.hero-grid { min-height:620px; display:grid; grid-template-columns:.88fr 1.12fr; align-items:center; gap:28px; padding-block:64px 48px; }
.eyebrow { margin:0 0 10px; color:var(--green); font-size:13px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }
.eyebrow.light { color:#72e5ad; }
h1,h2,h3,p { margin-top:0; }
.hero h1 { max-width:620px; margin-bottom:20px; font-size:clamp(44px,5vw,70px); line-height:1.04; letter-spacing:-.045em; }
.hero h1 span,.section-heading h2 span { color:var(--green); }
.hero-lead { max-width:600px; color:#273b50; font-size:18px; }
.hero-points { display:flex; gap:20px; margin:26px 0; font-size:13px; font-weight:700; }
.hero-points span { display:flex; align-items:center; gap:6px; }
.hero-points svg { width:18px; color:var(--green); }
.hero-actions { display:flex; gap:14px; }
.microcopy { display:flex; align-items:center; gap:8px; margin:18px 0 0; color:#607082; font-size:12px; }
.microcopy svg { width:16px; color:var(--green); }
.hero-visual { position:relative; min-width:0; }
.hero-visual img { width:120%; max-width:none; margin-left:-7%; border-radius:18px; mix-blend-mode:multiply; }
.hero-badge { position:absolute; z-index:2; right:1%; top:-2%; width:150px; height:150px; display:grid; place-content:center; text-align:center; border-radius:50%; color:#fff; background:var(--navy); font-size:14px; line-height:1.35; box-shadow:0 14px 36px rgba(3,32,60,.25); }
.hero-badge strong { color:#7be4b1; }
.trust-strip { position:relative; z-index:3; margin-top:-16px; padding:24px 30px; display:grid; grid-template-columns:repeat(4,1fr); border-radius:15px; background:linear-gradient(115deg,#002846,#001a34); color:#fff; box-shadow:0 15px 35px rgba(0,28,52,.16); }
.trust-strip>div { min-width:0; display:flex; align-items:center; gap:15px; padding:2px 22px; border-right:1px solid rgba(255,255,255,.18); }
.trust-strip>div:last-child { border:0; }
.trust-strip .trust-icon { flex:0 0 38px; width:38px; height:38px; object-fit:contain; }
.trust-strip p { display:flex; flex-direction:column; gap:1px; margin:0; }
.trust-strip strong { font-size:17px; line-height:1.2; }
.trust-strip span { font-size:12px; line-height:1.35; opacity:.8; }
.section { padding:90px 0; }
.section-soft { padding-top:28px; background:linear-gradient(#fff,#f7faf8,#fff); }
.section-heading { max-width:780px; margin:0 auto 45px; text-align:center; }
.section-heading h2,.faq-wrap h2,.integration h2,.final-cta h2 { margin-bottom:12px; font-size:clamp(30px,4vw,45px); line-height:1.15; letter-spacing:-.035em; }
.section-heading>p:last-child { color:var(--muted); }
.benefit-grid { display:grid; grid-template-columns:repeat(6,1fr); }
.benefit { padding:15px 22px; text-align:center; border-right:1px solid var(--line); }
.benefit:last-child { border:0; }
.benefit svg,.benefit>img { width:48px; height:48px; margin:0 auto 18px; object-fit:contain; }
.benefit h3 { min-height:45px; margin-bottom:8px; font-size:15px; }
.benefit p { color:var(--muted); font-size:13px; }
.conditions-card { display:grid; grid-template-columns:1.3fr repeat(4,1fr); gap:25px; padding:30px; border:1px solid #dbeae2; border-radius:18px; background:linear-gradient(110deg,#f9fcfa,#eef8f2); }
.conditions-card h2 { font-size:24px; line-height:1.2; }
.condition svg { width:24px; color:var(--green); }
.condition h3 { margin:9px 0 7px; font-size:13px; }
.condition p { margin:0; color:var(--muted); font-size:12px; }
.plans-grid { max-width:940px; margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:35px; }
.plan-card { position:relative; padding:34px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 12px 40px rgba(4,35,63,.06); }
.plan-card.featured { border:2px solid var(--green); }
.plan-ribbon { position:absolute; inset:0 0 auto; padding:5px; text-align:center; color:#fff; background:var(--green); border-radius:13px 13px 0 0; font-size:11px; font-weight:800; text-transform:uppercase; }
.featured h3 { margin-top:14px; }
.plan-card h3 { margin-bottom:5px; font-size:19px; text-transform:uppercase; }
.plan-card>p { color:var(--muted); font-size:14px; }
.price { margin:18px 0; color:var(--navy); font-size:35px; font-weight:800; }
.price small { font-size:13px; font-weight:500; }
.plan-card ul { min-height:160px; padding:0; list-style:none; }
.plan-card li { display:flex; gap:9px; margin:9px 0; font-size:13px; }
.plan-card li svg { flex:none; width:17px; color:var(--green); }
.plan-card .button { width:100%; }
.plan-notes { margin-top:24px; display:flex; justify-content:space-around; gap:14px; padding:18px; border:1px solid var(--line); border-radius:14px; color:#355066; font-size:12px; font-weight:700; }
.plan-notes span::before { content:'✓'; margin-right:7px; color:var(--green); }
.integration { background:#f5f8f7; }
.integration-grid { display:grid; grid-template-columns:.7fr 1.3fr; align-items:center; gap:56px; }
.integration-grid>div:first-child>p:not(.eyebrow) { color:var(--muted); }
.integration-diagram { margin:0; overflow:hidden; border:1px solid #dbe5e0; border-radius:20px; background:#fff; box-shadow:0 18px 46px rgba(4,35,63,.08); }
.integration-diagram img { width:100%; height:auto; }
.integration-flow { display:grid; grid-template-columns:1fr auto 1.5fr auto 1fr; align-items:center; gap:12px; text-align:center; }
.integration-flow>span,.integration-flow>div { min-height:105px; display:grid; place-items:center; padding:18px; border:1px solid #dbe5e0; border-radius:15px; background:#fff; font-size:12px; font-weight:700; }
.integration-flow img { max-height:64px; object-fit:contain; }
.integration-flow>svg { width:28px; color:var(--green); }
.faq-wrap { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { display:flex; justify-content:space-between; align-items:center; padding:20px 0; cursor:pointer; font-weight:750; list-style:none; }
.faq-list summary span { color:var(--green); font-size:26px; }
.faq-list details p { padding-right:35px; color:var(--muted); }
.final-cta { display:flex; justify-content:space-between; align-items:center; gap:50px; margin-bottom:45px; padding:45px 55px; border-radius:18px; color:#fff; background:linear-gradient(110deg,#032641,#00182f); }
.final-cta p { color:#c6d5df; }
.contact-lines { display:flex; flex-direction:column; padding-left:40px; border-left:1px solid rgba(255,255,255,.2); }
.contact-lines a { color:#6de3a7; }
.footer { border-top:1px solid var(--line); background:#fff; }
.footer-inner { min-height:135px; display:grid; grid-template-columns:220px 1fr auto; align-items:center; gap:30px; }
.footer-logo { width:190px; }
.footer-links { display:flex; justify-content:center; gap:28px; font-size:13px; }
.footer-inner>p { margin:0; color:#718093; font-size:11px; }

/* Form */
.form-page { background:#f7f9f9; }
.form-header { height:100px; display:grid; grid-template-columns:210px 1fr 190px; align-items:center; gap:30px; background:#fff; }
.form-header.container { width:100%; max-width:none; padding-inline:max(20px,calc((100% - 1180px)/2)); border-bottom:1px solid #edf0f2; }
.form-header img { width:190px; }
.steps { display:flex; align-items:center; justify-content:center; gap:16px; font-size:12px; }
.steps span { display:flex; align-items:center; gap:7px; white-space:nowrap; }
.steps span>b { width:32px; height:32px; display:grid; place-items:center; border:1px solid #aab7c5; border-radius:50%; color:#6c7c8e; }
.steps .active b { color:#fff; border-color:var(--green); background:var(--green); }
.steps .done { color:var(--green); }
.steps .done svg { width:24px; }
.steps i { width:50px; height:1px; background:#b9c4ce; }
.secure { display:flex; align-items:center; gap:7px; font-size:12px; }
.secure svg { width:18px; }
.form-hero { overflow:hidden; background:linear-gradient(135deg,#f8faf9,#eef3f2); }
.form-hero>.container { height:290px; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; }
.form-hero-copy { display:flex; align-items:flex-start; gap:24px; }
.form-hero h1 { margin-bottom:10px; font-size:38px; line-height:1.13; letter-spacing:-.035em; }
.form-hero h1 span { display:block; color:var(--green); }
.form-hero p { max-width:620px; color:var(--muted); }
.round-icon { flex:none; width:72px; height:72px; display:grid; place-items:center; border-radius:50%; background:#e1f2e9; }
.round-icon svg { width:34px; height:34px; }
.form-hero img { align-self:end; width:110%; max-height:280px; object-fit:cover; object-position:center; border-radius:18px 18px 0 0; mix-blend-mode:multiply; }
.form-shell { margin-top:25px; margin-bottom:35px; display:grid; grid-template-columns:350px 1fr; gap:45px; padding:32px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 12px 40px rgba(4,35,63,.05); }
.form-shell h2 { display:inline; margin-left:8px; font-size:20px; }
.step-number { width:24px; height:24px; display:inline-grid; place-items:center; border-radius:50%; color:#fff; background:var(--green); font-size:12px; font-weight:800; }
.form-shell>aside>p,.lead-form>p { margin:10px 0 18px; color:var(--muted); font-size:13px; }
.select-plan { display:grid; grid-template-columns:20px 1fr; gap:12px; margin:12px 0; padding:18px; border:1px solid var(--line); border-radius:12px; cursor:pointer; }
.select-plan.selected { border-color:var(--green); background:#f2fbf6; box-shadow:inset 0 0 0 1px var(--green); }
.select-plan input { margin-top:5px; accent-color:var(--green); }
.select-plan div { display:flex; flex-direction:column; }
.select-plan strong { text-transform:uppercase; font-size:13px; }
.select-plan span { color:var(--muted); font-size:12px; }
.select-plan b { margin-top:8px; font-size:24px; }
.select-plan small { font-size:11px; font-weight:500; }
.plan-selector h3 { margin:25px 0 10px; font-size:13px; }
.plan-selector ul { padding:0; list-style:none; }
.plan-selector li { display:flex; gap:8px; margin:8px 0; font-size:12px; }
.plan-selector li svg { width:16px; color:var(--green); }
.important { margin-top:24px; padding:16px; border-radius:12px; background:#eef8f3; font-size:12px; }
.important p { margin:5px 0 0; color:var(--muted); }
.lead-form form { display:grid; gap:15px; }
.lead-form label { display:grid; gap:6px; font-size:12px; font-weight:750; }
.lead-form input:not([type="radio"]),.lead-form textarea,.lead-form select { width:100%; min-height:46px; padding:10px 12px; border:1px solid var(--input); border-radius:8px; background:#fff; color:var(--ink); font:400 14px/1.4 var(--font-manrope),Arial,sans-serif; appearance:auto; transition:border-color .2s,box-shadow .2s; }
.lead-form input:not([type="radio"]):focus,.lead-form textarea:focus,.lead-form select:focus { outline:none; border-color:var(--green); box-shadow:0 0 0 3px rgba(0,154,85,.12); }
.lead-form input::placeholder,.lead-form textarea::placeholder { color:#8592a0; }
.lead-form textarea { min-height:100px; resize:vertical; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.field-select { width:100%; }
.field-select select { height:46px; }
.privacy { display:flex; align-items:center; gap:8px; margin:0; color:#526478; font-size:12px; }
.privacy svg { width:18px; color:var(--green); }
.terms-consent { grid-template-columns:20px 1fr !important; align-items:start; gap:10px !important; padding:14px; border:1px solid #cfe3d8; border-radius:10px; background:#f3faf6; font-weight:500 !important; line-height:1.5; cursor:pointer; }
.terms-consent input[type="checkbox"] { width:18px; height:18px; min-height:0; margin:1px 0 0; padding:0; accent-color:var(--green); }
.terms-consent a { color:var(--green); font-weight:800; text-decoration:underline; text-underline-offset:2px; }
.honeypot { position:absolute; left:-9999px; }
.form-error { margin:0; padding:10px 14px; border-radius:8px; color:#9d2424; background:#fff0f0; font-size:13px; }
.submit-button { width:100%; min-height:54px; font-size:16px; }
.submit-button:disabled { opacity:.65; cursor:wait; }
.submit-note { margin:-4px 0 0; text-align:center; color:var(--muted); font-size:12px; }
.thanks-header { height:100px; display:flex; align-items:center; padding-inline:max(20px,calc((100% - 1180px)/2)); border-bottom:1px solid #edf0f2; background:#fff; }
.thanks-header img { width:190px; }
.thanks-page { min-height:calc(100vh - 100px); display:grid; place-items:center; padding:30px; background:radial-gradient(circle at 50% 15%,#e8f8ef,#f6f8f8 55%); }
.thanks-card { width:min(620px,100%); padding:48px; text-align:center; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 20px 60px rgba(3,35,61,.1); }
.thanks-card>img { width:190px; margin:0 auto 28px; }
.success-icon { width:78px; height:78px; display:grid; place-items:center; margin:0 auto 22px; border-radius:50%; color:var(--green); background:var(--mint); }
.success-icon svg { width:45px; height:45px; }
.thanks-card h1 { font-size:36px; letter-spacing:-.035em; }
.thanks-card>p:not(.eyebrow) { color:var(--muted); }
.next-steps { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:28px 0; text-align:left; }
.next-steps>div { display:flex; gap:12px; padding:16px; border-radius:12px; background:var(--soft); }
.next-steps svg { width:22px; color:var(--green); }
.next-steps span { display:flex; flex-direction:column; color:var(--muted); font-size:12px; }
.next-steps strong { color:var(--ink); font-size:13px; }

/* Condiciones del servicio */
.legal-page { background:#f7f9f9; }
.legal-header { min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:25px; padding-block:18px; }
.legal-header img { width:190px; }
.legal-header a:last-child { color:var(--green); font-size:13px; font-weight:800; }
.legal-hero { padding:70px 0 55px; color:#fff; background:linear-gradient(120deg,#062b4c,#001a34); }
.legal-hero .container { max-width:850px; }
.legal-hero h1 { margin-bottom:14px; font-size:clamp(36px,5vw,54px); line-height:1.08; letter-spacing:-.04em; }
.legal-hero p { max-width:720px; margin-bottom:0; color:#c7d6e1; }
.legal-content { max-width:850px; margin:38px auto 60px; padding:42px 48px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 12px 40px rgba(4,35,63,.05); }
.legal-notice { margin-bottom:34px; padding:18px 20px; border-left:4px solid var(--green); border-radius:0 10px 10px 0; background:var(--mint); font-size:13px; }
.legal-section { padding:26px 0; border-bottom:1px solid var(--line); }
.legal-section:last-of-type { border-bottom:0; }
.legal-section h2 { margin-bottom:12px; color:var(--navy); font-size:21px; }
.legal-section p,.legal-section li { color:#405368; font-size:14px; }
.legal-section ul { margin:12px 0 0; padding-left:20px; }
.legal-section li { margin:8px 0; }
.legal-meta { margin-top:30px; color:#718093; font-size:12px; }

@media (max-width: 980px) {
  .nav-links { display:none; position:absolute; inset:82px 20px auto; padding:20px; flex-direction:column; align-items:stretch; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 20px 45px rgba(0,30,55,.15); }
  .nav-links.is-open { display:flex; }
  .menu-button { display:block; }
  .hero-grid { grid-template-columns:1fr; padding-top:52px; }
  .hero-copy { max-width:720px; }
  .hero-visual { max-width:720px; margin:auto; }
  .hero-badge { right:0; }
  .trust-strip { grid-template-columns:1fr 1fr; gap:24px 0; }
  .trust-strip>div:nth-child(2) { border-right:0; }
  .benefit-grid { grid-template-columns:repeat(3,1fr); gap:30px 0; }
  .benefit:nth-child(3) { border:0; }
  .conditions-card { grid-template-columns:1fr 1fr; }
  .conditions-card>div:first-child { grid-column:1/-1; }
  .integration-grid,.faq-wrap { grid-template-columns:1fr; gap:35px; }
  .integration-diagram { width:min(760px,100%); margin-inline:auto; }
  .footer-inner { grid-template-columns:1fr; justify-items:center; padding:28px 0; text-align:center; }
  .form-header { grid-template-columns:180px 1fr; }
  .form-header>.secure { display:none; }
  .form-hero>.container { grid-template-columns:1fr; height:auto; padding-block:45px; }
  .form-hero img { display:none; }
  .form-shell { grid-template-columns:1fr; }
  .plan-selector { display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; }
  .plan-selector>h2,.plan-selector>p,.plan-selector>h3,.plan-selector>ul,.plan-selector>.important,.plan-selector>.step-number { grid-column:1/-1; }
}
@media (max-width: 650px) {
  .container { width:min(100% - 28px,1180px); }
  .site-header { height:70px; }
  .brand-logo { width:170px; }
  .nav-links { inset:70px 14px auto; }
  .hero-grid { min-height:0; padding-block:42px 30px; }
  .hero h1 { font-size:42px; }
  .hero-lead { font-size:16px; }
  .hero-points { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .hero-actions { flex-direction:column; }
  .hero-actions .button { width:100%; }
  .hero-visual img { width:125%; margin-left:-13%; }
  .hero-badge { width:105px; height:105px; font-size:10px; }
  .trust-strip { margin-top:0; padding:22px 16px; grid-template-columns:1fr 1fr; border-radius:0; width:100%; }
  .trust-strip>div { gap:9px; padding:0 8px; }
  .trust-strip .trust-icon { flex-basis:30px; width:30px; height:30px; }
  .trust-strip strong { font-size:14px; }
  .trust-strip span { font-size:10px; }
  .section { padding:65px 0; }
  .benefit-grid { grid-template-columns:1fr 1fr; }
  .benefit:nth-child(2n) { border:0; }
  .benefit h3 { min-height:0; }
  .conditions-card { grid-template-columns:1fr; padding:22px; }
  .conditions-card>div:first-child { grid-column:auto; }
  .plans-grid { grid-template-columns:1fr; gap:22px; }
  .plan-notes { flex-direction:column; }
  .integration-flow { grid-template-columns:1fr; }
  .integration-diagram { border-radius:14px; }
  .integration-flow>svg { transform:rotate(90deg); margin:auto; }
  .final-cta { flex-direction:column; align-items:flex-start; padding:32px 25px; }
  .contact-lines { padding:25px 0 0; border-left:0; border-top:1px solid rgba(255,255,255,.2); }
  .footer-links { flex-wrap:wrap; gap:14px 22px; }
  .form-header { height:auto; padding-block:17px; display:flex; justify-content:center; }
  .form-header.container { padding-inline:14px; }
  .form-header img { width:175px; }
  .steps { display:none; }
  .form-hero-copy { flex-direction:column; gap:15px; }
  .form-hero h1 { font-size:31px; }
  .round-icon { width:56px; height:56px; }
  .form-shell { width:100%; margin:0; padding:24px 18px; border-radius:0; border-inline:0; }
  .plan-selector { display:block; }
  .form-row { grid-template-columns:1fr; gap:15px; }
  .thanks-page { padding:14px; }
  .thanks-header { height:70px; justify-content:center; padding-inline:14px; }
  .thanks-header img { width:175px; }
  .thanks-page { min-height:calc(100vh - 70px); }
  .thanks-card { padding:32px 20px; }
  .thanks-card h1 { font-size:29px; }
  .next-steps { grid-template-columns:1fr; }
  .legal-header { min-height:70px; }
  .legal-header img { width:165px; }
  .legal-header a:last-child { font-size:11px; }
  .legal-hero { padding:48px 0 38px; }
  .legal-content { width:100%; margin:0; padding:28px 20px 42px; border-inline:0; border-radius:0; box-shadow:none; }
  .legal-section { padding:22px 0; }
  .legal-section h2 { font-size:19px; }
}
