:root {
  --p099-blue: #17479d;
  --p099-sky: #00adee;
  --p099-ink: #101733;
  --p099-soft: #f2f7ff;
  --p099-line: #dbe5f3;
  --p099-white: #fff;
  --p099-shadow: 0 24px 60px rgba(16, 23, 51, .12);
}

.p099-price-page { background: #fff; color: var(--p099-ink); overflow: hidden; }
.p099-price-page *, .p099-price-page *::before, .p099-price-page *::after { box-sizing: border-box; }
.p099-price-container { margin: 0 auto; max-width: 1180px; width: calc(100% - 40px); }
.p099-price-page h1, .p099-price-page h2, .p099-price-page h3, .p099-price-page p { margin-top: 0; }
.p099-price-page h1, .p099-price-page h2, .p099-price-page h3 { color: var(--p099-ink); font-weight: 900; letter-spacing: -.035em; }
.p099-price-page h1 { font-size: clamp(2.75rem, 5.5vw, 5.25rem); line-height: .98; margin-bottom: 24px; }
.p099-price-page h2 { font-size: clamp(2.15rem, 4vw, 3.6rem); line-height: 1.05; margin-bottom: 18px; }
.p099-price-page h3 { font-size: 1.5rem; line-height: 1.15; }
.p099-price-page p { line-height: 1.7; }

.p099-price-hero { background: radial-gradient(circle at 85% 12%, rgba(0, 173, 238, .15), transparent 30%), linear-gradient(145deg, #fff 0%, #f3f8ff 100%); padding: 145px 0 70px; }
.p099-price-hero__grid { align-items: start; display: grid; gap: 64px; grid-template-columns: minmax(0, 1.1fr) minmax(380px, .72fr); }
.p099-price-breadcrumb { align-items: center; color: #69738c; display: flex; font-size: .88rem; gap: 9px; margin-bottom: 28px; }
.p099-price-breadcrumb a { color: var(--p099-blue); font-weight: 800; text-decoration: none; }
.p099-price-eyebrow, .p099-price-section-head > span { color: var(--p099-blue); display: block; font-size: .78rem; font-weight: 900; letter-spacing: .13em; margin-bottom: 15px; text-transform: uppercase; }
.p099-price-lead { color: #526079; font-size: 1.14rem; margin-bottom: 10px; }
.p099-price-number { color: var(--p099-blue); margin: 3px 0 22px; }
.p099-price-number__from { display: block; font-size: .78rem; font-weight: 900; letter-spacing: .12em; margin-bottom: 4px; }
.p099-price-number__row { align-items: flex-end; display: flex; flex-wrap: nowrap; gap: 12px; white-space: nowrap; }
.p099-price-number strong { color: var(--p099-blue); font-size: clamp(3.45rem, 7vw, 6.3rem); line-height: .9; letter-spacing: -.065em; }
.p099-price-number strong small { color: var(--p099-sky); font-size: .52em; margin-right: 4px; }
.p099-price-number__period { display: flex; flex-direction: column; font-size: .72rem; font-weight: 900; letter-spacing: .1em; line-height: 1.15; padding-bottom: .34em; }
.p099-price-number__period small { color: #707a90; font-size: .82em; letter-spacing: .08em; margin-top: 4px; }
.p099-price-number sup { font-size: .72em; }
.p099-price-explanation { color: #43506a; font-size: 1.04rem; max-width: 670px; }
.p099-price-trust { display: flex; flex-wrap: wrap; gap: 12px 22px; list-style: none; margin: 26px 0 17px; padding: 0; }
.p099-price-trust li { color: var(--p099-ink); font-size: .9rem; font-weight: 800; padding-left: 24px; position: relative; }
.p099-price-trust li::before { background: var(--p099-sky); border-radius: 50%; color: #fff; content: "✓"; font-size: .7rem; height: 17px; left: 0; line-height: 17px; position: absolute; text-align: center; top: 2px; width: 17px; }
.p099-price-legal { color: #707a90; font-size: .76rem; margin: 0; max-width: 620px; }

.p099-price-hero__form { min-width: 0; padding-top: 22px; }
.p099-price-hero__form .form-card-099 { margin: 0; max-width: 100%; margin-top: 12px;}
.p099-price-hero__form .formulario-099 h2 { font-size: clamp(1.75rem, 2.5vw, 2.25rem); line-height: 1.04; overflow-wrap: normal; }
.p099-price-hero__form .checkbox-099 { align-items: flex-start; gap: 8px; line-height: 1.35; }
.p099-price-hero__form .checkbox-099 input { flex: 0 0 auto; margin: 4px 0 0; }
.p099-price-hero__form .checkbox-099 span { min-width: 0; }

.p099-price-section { padding: 94px 0; }
.p099-price-section--soft { background: var(--p099-soft); }
.p099-price-section-head { margin: 0 auto 46px; max-width: 760px; text-align: center; }
.p099-price-section-head p { color: #5f6a80; font-size: 1.04rem; margin-bottom: 0; }
.p099-price-two-cards { display: grid; gap: 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.p099-price-card { border: 1px solid var(--p099-line); border-radius: 28px; min-height: 345px; overflow: hidden; padding: 40px; position: relative; }
.p099-price-card--installation { background: #fff; }
.p099-price-card--monthly { background: var(--p099-blue); border-color: var(--p099-blue); color: #fff; }
.p099-price-card--monthly h3, .p099-price-card--monthly p { color: #fff; }
.p099-price-card__number { color: rgba(23, 71, 157, .11); font-size: 8rem; font-weight: 900; line-height: 1; position: absolute; right: 24px; top: 10px; }
.p099-price-card--monthly .p099-price-card__number { color: rgba(255, 255, 255, .11); }
.p099-price-card__icon { align-items: center; background: var(--p099-soft); border-radius: 16px; color: var(--p099-blue); display: flex; font-size: .84rem; font-weight: 900; height: 48px; justify-content: center; margin-bottom: 28px; width: 48px; }
.p099-price-card--monthly .p099-price-card__icon { background: rgba(255, 255, 255, .14); color: #fff; }
.p099-price-card__label { color: var(--p099-blue); font-size: .75rem; font-weight: 900; letter-spacing: .12em; margin-bottom: 8px; text-transform: uppercase; }
.p099-price-card--monthly .p099-price-card__label { color: #80ddff; }
.p099-price-card__from { border-top: 1px solid rgba(255, 255, 255, .22); display: block; font-size: 1.15rem; margin-top: 24px; padding-top: 20px; }

.p099-price-market { align-items: center; display: grid; gap: 64px; grid-template-columns: .9fr 1.1fr; }
.p099-price-market__copy > p { color: #5f6a80; }
.p099-price-market__saving { border-left: 5px solid var(--p099-sky); margin-top: 28px; padding: 7px 0 7px 20px; }
.p099-price-market__saving strong, .p099-price-market__saving span { display: block; }
.p099-price-market__saving strong { color: var(--p099-blue); font-size: clamp(1.45rem, 3vw, 2.15rem); letter-spacing: -.03em; line-height: 1.05; }
.p099-price-market__saving span { color: #68738a; font-size: .88rem; margin-top: 7px; }
.p099-price-market__panel { min-width: 0; }
.p099-price-market__table { background: #fff; border: 1px solid var(--p099-line); border-radius: 24px; box-shadow: var(--p099-shadow); overflow: hidden; }
.p099-price-market__row { align-items: center; border-top: 1px solid var(--p099-line); display: grid; gap: 20px; grid-template-columns: 1fr 1fr; padding: 22px 26px; }
.p099-price-market__row:first-child { border-top: 0; }
.p099-price-market__row > span:last-child { text-align: right; }
.p099-price-market__row strong, .p099-price-market__row small { display: block; }
.p099-price-market__row strong { color: var(--p099-ink); }
.p099-price-market__row small { color: #788299; font-size: .76rem; margin-top: 4px; }
.p099-price-market__row--head { background: var(--p099-ink); color: #fff; font-size: .72rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.p099-price-market__row--099 { background: linear-gradient(90deg, rgba(0, 173, 238, .12), rgba(23, 71, 157, .06)); }
.p099-price-market__row--099 strong { color: var(--p099-blue); font-size: 1.08rem; }
.p099-price-market__result { color: var(--p099-blue); font-size: 1.04rem; line-height: 1.45 !important; margin: 56px 0 10px; }
.p099-price-market__source { color: #737e94; font-size: .72rem; line-height: 1.5 !important; margin-bottom: 0; }
.p099-price-market__source a { color: var(--p099-blue); font-weight: 800; }

.p099-price-factor-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.p099-price-factor-grid article { background: #fff; border: 1px solid rgba(23, 71, 157, .1); border-radius: 22px; padding: 28px; transition: transform .2s ease, box-shadow .2s ease; }
.p099-price-factor-grid article:hover { box-shadow: 0 18px 45px rgba(16, 23, 51, .09); transform: translateY(-4px); }
.p099-price-factor-grid article > span { color: var(--p099-sky); display: block; font-size: .8rem; font-weight: 900; margin-bottom: 24px; }
.p099-price-factor-grid h3 { font-size: 1.25rem; margin-bottom: 10px; }
.p099-price-factor-grid p { color: #606b80; font-size: .93rem; margin-bottom: 0; }

.p099-price-included { background: linear-gradient(135deg, var(--p099-ink), #17479d); color: #fff; }
.p099-price-included__grid { align-items: center; display: grid; gap: 72px; grid-template-columns: .82fr 1.18fr; }
.p099-price-included h2, .p099-price-included p { color: #fff; }
.p099-price-eyebrow--light { color: #80ddff; }
.p099-price-included__list { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.p099-price-included__list li { background: rgba(255, 255, 255, .09); border: 1px solid rgba(255, 255, 255, .13); border-radius: 18px; padding: 22px; }
.p099-price-included__list strong, .p099-price-included__list span { display: block; }
.p099-price-included__list strong { color: #fff; margin-bottom: 6px; }
.p099-price-included__list span { color: #cbd9f5; font-size: .88rem; }
.p099-price-button { background: var(--p099-blue); border: 2px solid var(--p099-blue); border-radius: 999px; color: #fff; display: inline-flex; font-weight: 900; justify-content: center; margin-top: 18px; padding: 14px 24px; text-decoration: none; transition: .2s ease; }
.p099-price-button:hover { background: var(--p099-ink); border-color: var(--p099-ink); color: #fff; transform: translateY(-2px); }
.p099-price-button--light { background: #fff; border-color: #fff; color: var(--p099-blue); }
.p099-price-button--outline { background: transparent; border-color: rgba(255,255,255,.7); color: #fff; }

.p099-price-value { align-items: center; display: grid; gap: 76px; grid-template-columns: 1fr 1fr; }
.p099-price-value > div:first-child p { color: #5f6a80; }
.p099-price-checklist { background: var(--p099-soft); border-radius: 26px; padding: 34px; }
.p099-price-checklist > p { font-weight: 900; margin-bottom: 18px; }
.p099-price-checklist ul { display: grid; gap: 13px; list-style: none; margin: 0; padding: 0; }
.p099-price-checklist li { border-bottom: 1px solid var(--p099-line); font-weight: 700; padding: 0 0 13px 27px; position: relative; }
.p099-price-checklist li:last-child { border-bottom: 0; padding-bottom: 0; }
.p099-price-checklist li::before { color: var(--p099-sky); content: "✓"; font-weight: 900; left: 0; position: absolute; }

.p099-price-faq-layout { align-items: start; display: grid; gap: 72px; grid-template-columns: .7fr 1.3fr; }
.p099-price-faq-layout > div:first-child { position: sticky; top: 120px; }
.p099-price-faq details { background: #fff; border: 1px solid var(--p099-line); border-radius: 16px; margin-bottom: 12px; overflow: hidden; }
.p099-price-faq summary { cursor: pointer; font-weight: 900; list-style: none; padding: 22px 58px 22px 22px; position: relative; }
.p099-price-faq summary::-webkit-details-marker { display: none; }
.p099-price-faq summary::after { color: var(--p099-blue); content: "+"; font-size: 1.55rem; line-height: 1; position: absolute; right: 22px; top: 19px; }
.p099-price-faq details[open] summary::after { content: "−"; }
.p099-price-faq details[open] summary { border-bottom: 1px solid var(--p099-line); }
.p099-price-faq details p { color: #5d687e; margin: 0; padding: 20px 22px 24px; }

.p099-price-final { background: var(--p099-blue); color: #fff; padding: 80px 0; text-align: center; }
.p099-price-final h2, .p099-price-final p { color: #fff; }
.p099-price-final > div > span { color: #80ddff; display: block; font-size: .78rem; font-weight: 900; letter-spacing: .13em; margin-bottom: 14px; text-transform: uppercase; }
.p099-price-final p { margin: 0 auto; max-width: 680px; }
.p099-price-final__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }

@media (max-width: 991px) {
  .p099-price-hero__grid, .p099-price-included__grid, .p099-price-value, .p099-price-faq-layout, .p099-price-market { gap: 44px; grid-template-columns: 1fr; }
  .p099-price-hero__form { margin: 0 auto; max-width: 560px; padding-top: 0; width: 100%; }
  .p099-price-factor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .p099-price-faq-layout > div:first-child { position: static; }
}

@media (max-width: 680px) {
  .p099-price-container { width: calc(100% - 28px); }
  .p099-price-hero { padding: 42px 0 58px; }
  .p099-price-page h1 { font-size: 3rem; }
  .p099-price-page h2 { font-size: 2.25rem; }
  .p099-price-number__row { gap: 8px; }
  .p099-price-number strong { font-size: clamp(3.35rem, 18vw, 4.15rem); }
  .p099-price-number__period { font-size: .64rem; padding-bottom: .28em; }
  .p099-price-trust { align-items: flex-start; flex-direction: column; }
  .p099-price-hero__form .form-card-099 { border-width: 4px; border-radius: 20px; padding: 24px 18px; }
  .p099-price-hero__form .formulario-099 h2 { font-size: clamp(1.85rem, 9vw, 2.35rem); line-height: 1.02; }
  .p099-price-hero__form .formulario-099 h2 .azul,
  .p099-price-hero__form .formulario-099 h2 .negro { display: inline; }
  .p099-price-hero__form .formulario-099 .te-llamamos { font-size: 1rem; }
  .p099-price-hero__form .formulario-099 > p:not(.te-llamamos):not(.atencion) { font-size: .95rem; }
  .p099-price-hero__form .toggle-099 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .p099-price-hero__form .toggle-099 label { padding: 13px 10px; text-align: center; }
  .p099-price-hero__form .checkbox-099 { font-size: .95rem; }
  .p099-price-hero__form .f-099 button { margin-bottom: 10px; }
  .p099-price-hero__form .atencion { font-size: .8rem; line-height: 1.25; }
  .p099-price-section { padding: 64px 0; }
  .p099-price-two-cards, .p099-price-factor-grid, .p099-price-included__list { grid-template-columns: 1fr; }
  .p099-price-card { min-height: 0; padding: 28px 24px; }
  .p099-price-card__number { font-size: 6rem; }
  .p099-price-market__row { gap: 10px; padding: 18px 16px; }
  .p099-price-market__row strong { font-size: .9rem; overflow-wrap: anywhere; }
  .p099-price-market__row--099 strong { font-size: .96rem; }
  .p099-price-market__saving { padding-left: 16px; }
  .p099-price-market__source { font-size: .69rem; }
  .p099-price-checklist { padding: 26px 20px; }
  .p099-price-final { padding: 62px 0; }
  .p099-price-final__actions { align-items: stretch; flex-direction: column; }
  .p099-price-final__actions .p099-price-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .p099-price-page * { scroll-behavior: auto !important; transition: none !important; }
}
