/* Inicio y Precios: jerarquía, comparación y contacto; aislado del portal. */
body:is(.marketing-home,.marketing-pricing) {
  --marketing-muted:#b1bed2;
  --marketing-line:rgba(164,195,242,.2);
  --marketing-surface:linear-gradient(145deg,rgba(36,60,100,.2),rgba(13,19,31,.65));
}
body:is(.marketing-home,.marketing-pricing) :is(a,button,input,textarea,select,summary):focus-visible {
  outline:2px solid #a8ceff; outline-offset:5px;
}
body:is(.marketing-home,.marketing-pricing) :is(section,main) { scroll-margin-top:110px; }
body:is(.marketing-home,.marketing-pricing) .marketing-skip-link {
  position:fixed; top:-120px; left:20px; z-index:100000;
  padding:13px 20px; border-radius:10px; background:#fff; color:#07101e; font-weight:600;
}
body:is(.marketing-home,.marketing-pricing) .marketing-skip-link:focus { top:16px; }
body:is(.marketing-home,.marketing-pricing) .nav-dd:focus-within .nav-dd-panel {
  opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0);
}
body:is(.marketing-home,.marketing-pricing) .nav-dd:focus-within .nav-caret { transform:rotate(180deg); }
body:is(.marketing-home,.marketing-pricing) .reveal { opacity:1; transform:none; }
body:is(.marketing-home,.marketing-pricing) :is(.nav-mobile .burger,.m-dd-trigger) { min-width:44px; min-height:44px; align-items:center; justify-content:center; }
body:is(.marketing-home,.marketing-pricing) .mobile-menu { max-height:100dvh; overflow-y:auto; }
body:is(.marketing-home,.marketing-pricing) .mobile-menu .m-dd-panel { visibility:hidden; }
body:is(.marketing-home,.marketing-pricing) .mobile-menu.open .m-dd.open .m-dd-panel { visibility:visible; }
body:is(.marketing-home,.marketing-pricing) .nav-links > a { min-height:44px; display:inline-flex; align-items:center; }

/* Inicio: la propuesta y sus dos acciones caben en la primera pantalla. */
body.marketing-home { cursor:auto; }
body.marketing-home :is(a,button,label,[role=button],.zoomable) { cursor:pointer; }
body.marketing-home :is(input,textarea) { cursor:text; }
body.marketing-home select { cursor:pointer; }
body.marketing-home :is(.cursor-dot,.cursor-ring) { display:none; }
body.marketing-home .hero-text {
  min-height:0; padding:154px 28px 62px; max-width:1200px; margin:0 auto;
}
body.marketing-home .hero-label {
  font-size:13px; font-style:normal; font-weight:600; line-height:1.7; letter-spacing:.15em;
  text-transform:uppercase; color:#b3d1ff; margin-bottom:23px;
}
body.marketing-home .hero-title.hero-title-clear {
  font-size:clamp(58px,7.6vw,112px); line-height:.97; max-width:1050px;
  width:auto; white-space:normal; letter-spacing:.005em; margin-bottom:25px;
}
body.marketing-home .hero-title-clear span { color:#a7caff; font-family:inherit; }
body.marketing-home .hero-subtitle {
  max-width:660px; font-size:18px; font-weight:400; line-height:1.75; color:#c4d1e3;
  text-transform:none; letter-spacing:0;
}
body.marketing-home .hero-actions {
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:13px; margin-top:29px;
}
body.marketing-home .hero-actions .glow-btn .label {
  min-height:50px; padding:13px 25px; font-size:15px; letter-spacing:0; text-transform:none;
}
body.marketing-home .hero-secondary {
  display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:50px;
  padding:12px 22px; border:1px solid #9fc4ff4d; border-radius:999px;
  background:#a6c8ff09; color:#d4e5ff; font-size:14px; font-weight:600; line-height:1.5;
  transition:background .2s,border-color .2s;
}
body.marketing-home .hero-secondary:hover { border-color:#b1d1ff8c; background:#a6c8ff15; }
body.marketing-home .hero-reassurance { margin-top:16px; max-width:600px; color:#b3c0d3; font-size:13px; line-height:1.8; }
body.marketing-home .hero-about { padding:30px clamp(24px,5.5vw,80px) 76px; max-width:1400px; margin:0 auto; }
body.marketing-home .hero-about-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:40px; }
body.marketing-home .hero-about-grid .big { min-width:0; font-size:clamp(25px,2.9vw,39px); line-height:1.25; }
body.marketing-home .hero-about-grid .small { min-width:0; font-size:16px; line-height:1.85; color:#b8c5d9; }
body.marketing-home .hero-path {
  list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px;
  width:100%; max-width:1100px; margin:32px auto 0; padding:0;
}
body.marketing-home .hero-path li {
  display:flex; gap:13px; min-width:0; text-align:left; border-top:1px solid #91b9f447; padding-top:22px;
}
body.marketing-home .hero-path li > span { flex:none; color:#91baff; font-size:12px; font-weight:600; line-height:2.1; }
body.marketing-home .hero-path li > div { min-width:0; }
body.marketing-home .hero-path strong { display:block; color:#ebf3ff; font-size:15px; line-height:1.65; }
body.marketing-home .hero-path p { margin-top:5px; color:#adbed6; font-size:13px; line-height:1.8; }
body.marketing-home .proof-sep { padding-block:72px; }
body.marketing-home .proof-info p { color:#b9c5d8; }
body.marketing-home .proof-info h3 { line-height:1.08; }
body.marketing-home .sec-eyebrow,
body.marketing-home #precios .eyebrow,
body.marketing-home #contacto .c-eyebrow { color:#a3b9d9; }
body.marketing-home .mld span { font-size:clamp(70px,16vw,210px); line-height:.92; }
body.marketing-home .mld-desc { color:#b8c3d5; }
body.marketing-home .wwd-list { margin-top:58px; }
body.marketing-home #precios .head p { color:#bac7d9; }
body.marketing-home .plans { gap:20px; grid-template-columns:repeat(3,minmax(0,1fr)); }
body.marketing-home .plan { min-width:0; padding:32px 27px; gap:22px; background:var(--marketing-surface); border-color:var(--marketing-line); }
body.marketing-home .plan.featured { border-color:#70a6ffb0; box-shadow:0 20px 45px #2157ad24; }
body.marketing-home .plan.featured > div:has(h3) { padding-top:19px; }
body.marketing-home .plan .desc { color:#b3c2d7; line-height:1.7; }
body.marketing-home .plan .price { font-size:47px; line-height:1.2; }
body.marketing-home .plan .price span { display:block; font-size:13px; line-height:1.6; margin-top:4px; color:#b5c4da; }
body.marketing-home .plan li { line-height:1.65; color:#d2ddeb; }
body.marketing-home .plan .glow-btn .label { min-height:48px; text-align:center; white-space:normal; padding:12px 14px; line-height:1.5; }
body.marketing-home .pricing-followup { max-width:920px; display:flex; justify-content:space-between; align-items:center; gap:24px; margin:29px auto 0; }
body.marketing-home .pricing-followup p { max-width:570px; color:#b4c2d6; font-size:13px; line-height:1.85; }
body.marketing-home .pricing-followup .hero-secondary { flex:none; }
body.marketing-home #contacto { min-height:0; padding-block:90px; }
body.marketing-home #contacto .c-sub { color:#b4c3d7; line-height:1.7; }
body.marketing-home .field :is(input,textarea,select) { font-size:16px; min-height:48px; }
body.marketing-home .rgpd { gap:13px; }
body.marketing-home .rgpd label { color:#bac6d8; line-height:1.8; }
body.marketing-home .rgpd input { width:20px; height:20px; flex:none; }

/* Precios: alcance y decisión antes de abrir la conversación. */
body.marketing-pricing > .container { max-width:1216px; }
body.marketing-pricing .ambient-glow { max-width:100vw; }
body.marketing-pricing .pricing-intro { padding:132px 0 26px; text-align:center; max-width:850px; margin:0 auto; }
body.marketing-pricing .pricing-intro h1 { font-size:clamp(48px,6vw,72px); line-height:1.04; letter-spacing:.015em; margin-bottom:16px; text-wrap:balance; }
body.marketing-pricing .pricing-intro > p { max-width:700px; margin:0 auto; color:#b9c7dc; font-size:17px; line-height:1.8; }
body.marketing-pricing .pricing-intro-actions { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:12px; margin:25px auto 0; }
body.marketing-pricing .pricing-intro > .pricing-intro-note { margin-top:17px; font-size:12px; color:#a7bbd7; }
body.marketing-pricing :is(.pricing-intro-actions,.pricing-help,.pricing-next) .btn { white-space:normal; min-height:48px; text-align:center; }
body.marketing-pricing .pricing-plans { padding:18px 0 38px; }
body.marketing-pricing .pricing-section-heading { margin-bottom:28px; max-width:760px; }
body.marketing-pricing .pricing-eyebrow { color:#9ec4ff; font-size:10px; font-weight:600; letter-spacing:.15em; line-height:1.8; margin-bottom:12px; }
body.marketing-pricing .pricing-section-heading h2 { font-size:clamp(32px,3.6vw,45px); font-weight:400; line-height:1.12; letter-spacing:.015em; margin-bottom:14px; }
body.marketing-pricing .pricing-section-heading > p:last-child:not(.pricing-eyebrow) { color:#b6c5da; font-size:14px; line-height:1.8; }
body.marketing-pricing .pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:21px; }
body.marketing-pricing .pricing-card {
  display:flex; flex-direction:column; gap:23px; min-width:0; position:relative;
  padding:30px 27px; border:1px solid var(--marketing-line); border-radius:23px; background:var(--marketing-surface);
  box-shadow:inset 0 1px #ffffff06; overflow:hidden;
}
body.marketing-pricing .pricing-card.is-featured { border-color:#6ca6ffb3; background:linear-gradient(145deg,#18305a77,#0c1527c7); box-shadow:0 18px 50px #1d51ad25,inset 0 1px #b8d4ff1a; }
body.marketing-pricing .pricing-card.is-featured::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,#377ff2,#a9d0ff); }
body.marketing-pricing .pricing-card-top { min-height:165px; }
body.marketing-pricing .pricing-card-top h2,
body.marketing-pricing .pricing-card-top h3 { font-family:"Helvetica Neue",Arial,sans-serif; font-size:23px; font-weight:600; line-height:1.4; letter-spacing:-.02em; color:#f2f6ff; margin:0 0 10px; }
body.marketing-pricing .pricing-card-top p { color:#bac8de; font-size:14px; line-height:1.8; }
body.marketing-pricing .pricing-card-top .pricing-audience { color:#a8c9fa; font-size:11px; line-height:1.7; margin-bottom:8px; }
body.marketing-pricing .pricing-card:not(.is-featured) .pricing-card-top { padding-top:41px; }
body.marketing-pricing :is(.pricing-badge,.pricing-recommendation,.pricing-tag,.pricing-plan-badge) { display:inline-flex; align-items:center; align-self:flex-start; padding:5px 10px; margin:0 0 12px; border-radius:999px; border:1px solid #90bbff60; background:#598cde1a; color:#c1dcff; font-size:10px; font-weight:600; line-height:1.5; letter-spacing:.05em; text-transform:uppercase; }
body.marketing-pricing .pricing-amount { color:#f4f7ff; font-size:50px; font-weight:700; line-height:1.15; letter-spacing:-.035em; }
body.marketing-pricing .pricing-amount > strong { font-size:inherit; font-weight:inherit; }
body.marketing-pricing .pricing-amount > span,
body.marketing-pricing .pricing-amount > small,
body.marketing-pricing .pricing-amount > p { display:block; color:#b8c7dc; font-size:13px; font-weight:400; letter-spacing:0; line-height:1.7; margin-top:6px; }
body.marketing-pricing .pricing-features { display:flex; flex-direction:column; flex:1; list-style:none; gap:15px; margin:0; padding:21px 0 0; border-top:1px solid var(--marketing-line); }
body.marketing-pricing .pricing-features li { display:flex; flex-direction:column; align-items:flex-start; gap:3px; color:#d5dfef; font-size:14px; line-height:1.75; min-width:0; }
body.marketing-pricing .pricing-features li > span { color:#a8bad4; font-size:11px; }
body.marketing-pricing .pricing-features li > svg { width:19px; height:19px; margin-top:3px; flex:none; color:#9dc7ff; }
body.marketing-pricing .pricing-features strong { color:inherit; font-weight:600; }
body.marketing-pricing a.pricing-cta { display:flex; width:100%; min-height:49px; margin-top:auto; padding:13px 14px; border-radius:12px; white-space:normal; text-align:center; line-height:1.6; }
body.marketing-pricing .is-featured a.pricing-cta { color:#fff; border:1px solid #a7c7ff6b; background:linear-gradient(135deg,#2e70dd,#1e51bd); box-shadow:0 6px 22px #1e5ac42b; }
body.marketing-pricing .pricing-card-note { color:#afc1dc; font-size:11px; line-height:1.8; margin-top:-11px; }
body.marketing-pricing .pricing-terms { max-width:850px; margin:22px 0 0; color:#a7bad5; font-size:12px; line-height:1.9; }
body.marketing-pricing .pricing-help { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:27px 28px; margin-top:24px; border:1px solid var(--marketing-line); border-radius:20px; background:#b0ceff06; }
body.marketing-pricing .pricing-help > div { min-width:0; }
body.marketing-pricing .pricing-help h2,
body.marketing-pricing .pricing-help h3 { font:600 19px/1.5 "Helvetica Neue",Arial,sans-serif; margin-bottom:8px; color:#e1ecfc; }
body.marketing-pricing .pricing-help p { max-width:680px; color:#b6c5db; font-size:14px; line-height:1.8; }
body.marketing-pricing .pricing-help .btn { flex:none; }
body.marketing-pricing .pricing-next { padding:49px 0; border-top:1px solid var(--marketing-line); }
body.marketing-pricing .pricing-next h2,
body.marketing-pricing .pricing-faq > h2 { font-size:clamp(31px,3.8vw,45px); line-height:1.12; letter-spacing:.015em; color:#ecf3ff; margin-bottom:21px; }
body.marketing-pricing .pricing-next > p { max-width:720px; color:#b4c3da; font-size:15px; line-height:1.8; }
body.marketing-pricing .pricing-next ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; list-style:none; counter-reset:pricing-step; margin:26px 0 0; padding:0; }
body.marketing-pricing .pricing-next li { min-width:0; color:#b7c7dd; font-size:14px; line-height:1.8; border-top:1px solid #b0cbf02b; padding-top:17px; counter-increment:pricing-step; }
body.marketing-pricing .pricing-step-number { display:block; color:#94bfff; font-size:12px; font-weight:600; margin-bottom:10px; }
body.marketing-pricing .pricing-next li :is(strong,h3) { display:block; color:#e2edfc; font:600 15px/1.6 "Helvetica Neue",Arial,sans-serif; margin-bottom:7px; }
body.marketing-pricing .pricing-faq { max-width:880px; margin:0 auto; padding:25px 0 72px; }
body.marketing-pricing .pricing-faq details { border-bottom:1px solid var(--marketing-line); }
body.marketing-pricing .pricing-faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; list-style:none; min-height:64px; padding:19px 0; color:#e5edfa; font-size:15px; font-weight:600; line-height:1.7; cursor:pointer; }
body.marketing-pricing .pricing-faq summary::-webkit-details-marker { display:none; }
body.marketing-pricing .pricing-faq summary::after { content:'+'; flex:none; color:#a1c6ff; font-size:23px; font-weight:400; line-height:1; }
body.marketing-pricing .pricing-faq details[open] summary::after { content:'−'; }
body.marketing-pricing .pricing-faq details > :not(summary) { color:#bac8dc; font-size:14px; line-height:1.9; padding:0 0 22px; }
body.marketing-pricing .pricing-faq a { color:#b5d4ff; text-decoration:underline; text-underline-offset:3px; }
body.marketing-pricing .site-footer { border-top:1px solid var(--marketing-line); }

@media (max-width:1000px) {
  body.marketing-home .plans { gap:13px; }
  body.marketing-home .plan { padding:30px 19px; }
  body.marketing-pricing .pricing-card { padding:28px 20px; gap:20px; }
  body.marketing-pricing .pricing-card-top { min-height:210px; }
  body.marketing-pricing .pricing-grid { gap:14px; }
  body.marketing-pricing .pricing-card-top h2,
  body.marketing-pricing .pricing-card-top h3 { font-size:21px; }
  body.marketing-pricing .pricing-help { align-items:flex-start; flex-direction:column; gap:18px; }
}
@media (max-width:767px) {
  body.marketing-home .hero-text { padding:128px 23px 43px; }
  body.marketing-home .hero-label { font-size:11px; letter-spacing:.12em; margin-bottom:22px; }
  body.marketing-home .hero-title.hero-title-clear { font-size:clamp(44px,9vw,65px); line-height:1.04; width:auto; margin-bottom:22px; }
  body.marketing-home .hero-subtitle { max-width:540px; font-size:16px; line-height:1.85; }
  body.marketing-home .hero-actions { gap:11px; margin-top:25px; }
  body.marketing-home .hero-reassurance { font-size:12px; }
  body.marketing-home .hero-about { padding:15px 23px 52px; }
  body.marketing-home .hero-about-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
  body.marketing-home .hero-about-grid .big { font-size:28px; line-height:1.35; }
  body.marketing-home .hero-about-grid .small { max-width:none; font-size:15px; }
  body.marketing-home .hero-path { grid-template-columns:minmax(0,1fr); gap:18px; margin-top:25px; }
  body.marketing-home .hero-path li { padding-top:17px; gap:14px; }
  body.marketing-home .hero-path p { margin-top:3px; }
  body.marketing-home .proof-sep { padding:54px 23px; }
  body.marketing-home .mld span { font-size:clamp(58px,14.3vw,110px); white-space:normal; }
  body.marketing-home .mld-desc { text-align:left; margin-left:0; max-width:none; }
  body.marketing-home :is(.proj-grid,.plans) { grid-template-columns:minmax(0,1fr); gap:19px; }
  body.marketing-home .plan { padding:30px 25px; }
  body.marketing-home .pricing-followup { flex-direction:column; align-items:flex-start; gap:19px; }
  body.marketing-home #contacto { padding:62px 23px; }
  body.marketing-home #contacto h2 { font-size:clamp(43px,11vw,70px); line-height:1.03; }
  body.marketing-home .fields-row { grid-template-columns:minmax(0,1fr); gap:26px; }
  body.marketing-pricing > .container { padding-inline:22px; }
  body.marketing-pricing .pricing-intro { padding:124px 0 31px; }
  body.marketing-pricing .pricing-intro h1 { font-size:clamp(44px,10vw,67px); line-height:1.06; }
  body.marketing-pricing .pricing-intro > p { font-size:15px; line-height:1.85; }
  body.marketing-pricing .pricing-intro .badge { font-size:11px; }
  body.marketing-pricing .pricing-plans { padding-top:13px; }
  body.marketing-pricing .pricing-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
  body.marketing-pricing .pricing-card { padding:27px 24px; gap:23px; border-radius:20px; }
  body.marketing-pricing .pricing-card-top { min-height:0; }
  body.marketing-pricing .pricing-card:not(.is-featured) .pricing-card-top { padding-top:0; }
  body.marketing-pricing .pricing-card-top h2,
  body.marketing-pricing .pricing-card-top h3 { font-size:24px; }
  body.marketing-pricing .pricing-help { padding:23px; border-radius:18px; }
  body.marketing-pricing .pricing-help h2,
  body.marketing-pricing .pricing-help h3 { font-size:18px; }
  body.marketing-pricing .pricing-next { padding-block:37px; }
  body.marketing-pricing .pricing-next ol { grid-template-columns:minmax(0,1fr); gap:22px; }
  body.marketing-pricing .pricing-faq { padding-top:17px; padding-bottom:49px; }
  body.marketing-pricing .pricing-faq summary { font-size:14px; padding-block:17px; }
}
@media (max-width:420px) {
  body.marketing-home .hero-actions { flex-direction:column; align-items:stretch; width:100%; }
  body.marketing-home .hero-actions .glow-btn { display:flex; }
  body.marketing-home .hero-actions .glow-btn .label { width:100%; }
  body.marketing-home .hero-secondary { padding-inline:15px; white-space:normal; text-align:center; }
  body.marketing-home .hero-about-grid .big { font-size:25px; }
  body.marketing-home .pricing-followup .hero-secondary { width:100%; }
  body.marketing-pricing .pricing-intro-actions { flex-direction:column; align-items:stretch; }
  body.marketing-pricing .pricing-intro-actions .btn,
  body.marketing-pricing .pricing-help .btn { width:100%; }
  body.marketing-pricing .pricing-card { padding-inline:22px; }
}
@media (prefers-reduced-motion:reduce) {
  body:is(.marketing-home,.marketing-pricing) *,
  body:is(.marketing-home,.marketing-pricing) *::before,
  body:is(.marketing-home,.marketing-pricing) *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
@media (forced-colors:active) {
  body:is(.marketing-home,.marketing-pricing) :is(.pricing-card,.pricing-help,.plan,.hero-secondary) { background:Canvas; color:CanvasText; border:1px solid CanvasText; box-shadow:none; }
  body:is(.marketing-home,.marketing-pricing) :is(.pricing-cta,.btn,.glow-btn .label) { background:ButtonFace; color:ButtonText; border:1px solid ButtonText; box-shadow:none; }
  body.marketing-home .hero-title-clear span,
  body.marketing-pricing .pricing-intro h1 { color:CanvasText; -webkit-text-fill-color:CanvasText; background:none; }
}
