:root {
  --svc99-navy: #07152f;
  --svc99-navy-2: #0b2350;
  --svc99-blue: #1747b8;
  --svc99-royal: #2f64da;
  --svc99-cyan: #20b7ee;
  --svc99-ink: #0d1734;
  --svc99-copy: #536078;
  --svc99-line: #dce5f2;
  --svc99-soft: #f3f7fd;
  --svc99-white: #fff;
  --svc99-shadow: 0 24px 70px rgba(11, 40, 99, .13);
}

.svc99 { background: #fff; color: var(--svc99-ink); margin-top: var(--am-header-height, 126px); overflow: clip; }
.svc99, .svc99 * { box-sizing: border-box; }
.svc99 a { text-decoration: none; }
.svc99-shell { margin-inline: auto; width: min(1180px, calc(100% - 40px)); }
.svc99-section { padding: 104px 0; scroll-margin-top: 80px; }
.svc99-section--soft { background: linear-gradient(180deg, #f7faff 0%, #eef5ff 100%); }
.svc99-section--navy { background: radial-gradient(circle at 90% 10%, #173d87 0, transparent 30%), linear-gradient(145deg, #06142e, #0a214c); color: #fff; }
.svc99-section--faq { background: #f7faff; }

.svc99-eyebrow { align-items: center; color: var(--svc99-blue); display: flex; font-size: .76rem; font-weight: 900; gap: 10px; letter-spacing: .13em; margin: 0 0 18px; text-transform: uppercase; }
.svc99-eyebrow > span { background: var(--svc99-cyan); border-radius: 999px; display: inline-block; height: 3px; width: 34px; }
.svc99-eyebrow--light { color: #8ee3ff; }
.svc99-heading { margin-bottom: 48px; max-width: 800px; }
.svc99-heading--center { margin-inline: auto; text-align: center; }
.svc99-heading--center .svc99-eyebrow { justify-content: center; }
.svc99-heading h2, .svc99-central h2, .svc99-quote h2 { color: var(--svc99-ink); font-size: clamp(2.3rem, 3.8vw, 3.75rem); font-weight: 900; letter-spacing: -.05em; line-height: 1.02; margin: 0; text-wrap: balance; }
.svc99-heading > p:last-child { color: var(--svc99-copy); font-size: 1.08rem; line-height: 1.7; margin: 20px 0 0; }
.svc99-heading--light h2 { color: #fff; }
.svc99-heading--light > p:last-child { color: rgba(255,255,255,.72); }

/* Hero */
.svc99-hero { background: var(--svc99-navy); isolation: isolate; min-height: 720px; overflow: hidden; position: relative; }
.svc99-hero__image { height: 100%; inset: 0; object-fit: cover; object-position: center; position: absolute; width: 100%; z-index: -3; }
.svc99-hero::before { background: linear-gradient(90deg, rgba(2,12,31,.98) 0%, rgba(3,17,43,.91) 42%, rgba(4,19,48,.68) 70%, rgba(4,19,48,.52) 100%); content: ''; inset: 0; position: absolute; z-index: -2; }
.svc99-hero::after { background: linear-gradient(0deg, rgba(4,18,46,.85), transparent); bottom: 0; content: ''; height: 190px; inset-inline: 0; position: absolute; z-index: -1; }
.svc99-hero__grid { align-items: center; display: grid; gap: 64px; grid-template-columns: minmax(0, 1.06fr) minmax(390px, .72fr); min-height: 720px; padding-block: 56px 50px; }
.svc99-breadcrumb { align-items: center; color: rgba(255,255,255,.58); display: flex; flex-wrap: wrap; font-size: .82rem; gap: 9px; margin-bottom: 28px; }
.svc99-breadcrumb a { color: rgba(255,255,255,.74); }
.svc99-hero h1 { color: #fff; font-size: clamp(3.1rem, 5vw, 4.85rem); font-weight: 900; letter-spacing: -.06em; line-height: .97; margin: 0; max-width: 760px; text-wrap: balance; }
.svc99-hero__lead { color: rgba(255,255,255,.82); font-size: clamp(1.03rem, 1.55vw, 1.25rem); line-height: 1.63; margin: 25px 0 28px; max-width: 680px; }
.svc99-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.svc99-button { align-items: center; border-radius: 999px; display: inline-flex; font-size: .96rem; font-weight: 850; gap: 16px; justify-content: center; min-height: 58px; padding: 0 25px; transition: .25s ease; }
.svc99-button--primary { background: linear-gradient(110deg, var(--svc99-blue), #3472e7); box-shadow: 0 16px 42px rgba(10,73,204,.32); color: #fff; }
.svc99-button--glass { backdrop-filter: blur(10px); background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.24); color: #fff; }
.svc99-button:hover { color: #fff; transform: translateY(-2px); }
.svc99-proof-list { display: grid; gap: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 38px 0 0; max-width: 760px; padding: 0; }
.svc99-proof-list li { border-left: 1px solid rgba(255,255,255,.18); display: flex; flex-direction: column; padding: 3px 15px; }
.svc99-proof-list li:first-child { border-left: 0; padding-left: 0; }
.svc99-proof-list strong { color: #fff; font-size: 1rem; font-weight: 900; }
.svc99-proof-list span { color: rgba(255,255,255,.58); font-size: .72rem; margin-top: 4px; }

.svc99-hero__navigator { backdrop-filter: blur(17px); background: rgba(7,24,58,.82); border: 1px solid rgba(255,255,255,.18); border-radius: 30px; box-shadow: 0 28px 80px rgba(0,0,0,.32); padding: 18px; }
.svc99-hero__navigator-label { color: #86dcff; font-size: .75rem; font-weight: 900; letter-spacing: .11em; margin: 4px 6px 13px; text-transform: uppercase; }
.svc99-hero__navigator > a { align-items: center; border-top: 1px solid rgba(255,255,255,.11); color: #fff; display: grid; gap: 14px; grid-template-columns: 50px 1fr auto; min-height: 94px; padding: 13px 10px; transition: .2s; }
.svc99-hero__navigator > a:hover { background: rgba(255,255,255,.06); border-radius: 17px; padding-inline: 14px; }
.svc99-hero__navigator > a:first-of-type { border-top: 0; }
.svc99-icon { background: rgba(32,183,238,.13); border: 1px solid rgba(101,218,255,.2); border-radius: 15px; display: grid; height: 50px; place-items: center; width: 50px; }
.svc99-icon svg { fill: #73dcff; height: 25px; width: 25px; }
.svc99-hero__navigator strong, .svc99-hero__navigator small { display: block; }
.svc99-hero__navigator strong { font-size: .98rem; font-weight: 850; }
.svc99-hero__navigator small { color: rgba(255,255,255,.6); font-size: .77rem; line-height: 1.45; margin-top: 4px; }
.svc99-hero__navigator b { color: #7be1ff; font-size: 1.25rem; }

/* Anchor navigation */
.svc99-jump { backdrop-filter: blur(12px); background: rgba(255,255,255,.94); border-bottom: 1px solid var(--svc99-line); position: sticky; top: var(--am-header-height, 126px); z-index: 20; }
.svc99-jump .svc99-shell { align-items: center; display: flex; gap: 27px; min-height: 64px; }
.svc99-jump a { color: var(--svc99-copy); font-size: .84rem; font-weight: 800; }
.svc99-jump a:hover { color: var(--svc99-blue); }
.svc99-jump__cta { background: var(--svc99-blue); border-radius: 999px; color: #fff!important; margin-left: auto; padding: 10px 19px; }

/* Service cards */
.svc99-service-grid { display: grid; gap: 22px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.svc99-service-card { background: #fff; border: 1px solid var(--svc99-line); border-radius: 29px; box-shadow: 0 16px 45px rgba(11,40,99,.08); display: grid; grid-template-columns: 43% 57%; min-height: 390px; overflow: hidden; transition: .28s ease; }
.svc99-service-card:hover { border-color: #a9dfff; box-shadow: var(--svc99-shadow); transform: translateY(-5px); }
.svc99-service-card > img { height: 100%; object-fit: cover; width: 100%; }
.svc99-service-card__content { display: flex; flex-direction: column; padding: 33px 30px; }
.svc99-service-card__content > span { color: var(--svc99-blue); font-size: .68rem; font-weight: 900; letter-spacing: .11em; }
.svc99-service-card h3 { color: var(--svc99-ink); font-size: 1.65rem; font-weight: 900; letter-spacing: -.03em; margin: 12px 0 12px; }
.svc99-service-card p { color: var(--svc99-copy); font-size: .91rem; line-height: 1.62; margin: 0; }
.svc99-service-card ul { display: flex; flex-wrap: wrap; gap: 7px; list-style: none; margin: 18px 0 23px; padding: 0; }
.svc99-service-card li { background: #f0f6ff; border: 1px solid #dbe9fb; border-radius: 999px; color: #3f526f; font-size: .69rem; font-weight: 800; padding: 7px 9px; }
.svc99-service-card a { color: var(--svc99-blue); font-size: .85rem; font-weight: 900; margin-top: auto; }
.svc99-service-card a b { color: var(--svc99-cyan); margin-left: 6px; }

/* Feature grid and central */
.svc99-feature-grid { border: 1px solid var(--svc99-line); border-radius: 28px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; }
.svc99-feature-grid article { background: #fff; border-bottom: 1px solid var(--svc99-line); border-right: 1px solid var(--svc99-line); min-height: 245px; padding: 30px; }
.svc99-feature-grid article:nth-child(3n) { border-right: 0; }
.svc99-feature-grid article:nth-last-child(-n+3) { border-bottom: 0; }
.svc99-feature-grid span { color: var(--svc99-cyan); font-size: .78rem; font-weight: 900; letter-spacing: .1em; }
.svc99-feature-grid h3 { color: var(--svc99-ink); font-size: 1.2rem; font-weight: 900; margin: 34px 0 10px; }
.svc99-feature-grid p { color: var(--svc99-copy); font-size: .91rem; line-height: 1.62; margin: 0; }

.svc99-central { align-items: center; background: radial-gradient(circle at 90% 0, #1a438c 0, transparent 30%), linear-gradient(145deg, #06142e, #0b2351); border-radius: 34px; color: #fff; display: grid; gap: 54px; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); margin-top: 72px; min-height: 0; overflow: hidden; padding: 42px; }
.svc99-central figure { height: 500px; margin: 0; min-height: 0; overflow: hidden; position: relative; }
.svc99 .svc99-central figure > img { aspect-ratio: auto; border-radius: 25px; display: block; height: 100% !important; max-height: 500px; object-fit: cover; object-position: center; width: 100%; }
.svc99-central figcaption { backdrop-filter: blur(10px); background: rgba(7,28,66,.84); border: 1px solid rgba(255,255,255,.22); border-radius: 999px; bottom: 18px; color: #fff; font-size: .72rem; font-weight: 850; left: 18px; padding: 11px 15px; position: absolute; }
.svc99-central figcaption span { background: #62cf8a; border-radius: 50%; display: inline-block; height: 8px; margin-right: 7px; width: 8px; }
.svc99-central h2 { color: #fff; font-size: clamp(2.2rem, 3.3vw, 3.25rem); }
.svc99-central > div > p:not(.svc99-eyebrow) { color: rgba(255,255,255,.72); font-size: 1rem; line-height: 1.75; margin: 21px 0 0; }
.svc99-text-link { color: var(--svc99-blue); display: inline-block; font-weight: 900; margin-top: 25px; text-decoration: underline!important; text-decoration-color: var(--svc99-cyan)!important; text-decoration-thickness: 3px!important; text-underline-offset: 5px; }
.svc99-central .svc99-text-link { color: #fff; }

/* Property cards */
.svc99-property-grid { align-items: start; display: grid; gap: 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.svc99-property-card { align-self: start; background: #122b5b; border: 1px solid rgba(255,255,255,.13); border-radius: 25px; color: #fff; display: flex; flex-direction: column; height: 505px; min-height: 0; overflow: hidden; padding: 0 23px 25px; transition: .25s ease; }
.svc99-property-card:hover { border-color: rgba(113,220,255,.75); color: #fff; transform: translateY(-5px); }
.svc99 .svc99-property-card > img { aspect-ratio: auto; border-radius: 0 0 20px 20px; display: block; flex: 0 0 220px; height: 220px !important; margin: 0 -23px 22px; max-height: 220px; object-fit: cover; object-position: center; width: calc(100% + 46px); }
.svc99-property-card > span { color: #72d9ff; font-size: .63rem; font-weight: 900; letter-spacing: .09em; }
.svc99-property-card h3 { color: #fff; font-size: 1.55rem; font-weight: 900; margin: 10px 0; }
.svc99-property-card p { color: rgba(255,255,255,.7); flex: 1 1 auto; font-size: .84rem; line-height: 1.58; margin: 0; min-height: 0; }
.svc99-property-card b { color: #fff; display: block; font-size: .78rem; margin-top: 18px; }

/* Steps and decision links */
.svc99-steps { background: var(--svc99-line); border: 1px solid var(--svc99-line); border-radius: 28px; display: grid; gap: 1px; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 0; overflow: hidden; padding: 0; }
.svc99-steps li { background: #fff; min-height: 260px; padding: 28px; }
.svc99-steps li > span { background: linear-gradient(135deg, var(--svc99-blue), var(--svc99-royal)); border-radius: 50%; color: #fff; display: grid; font-size: .82rem; font-weight: 900; height: 42px; margin-bottom: 38px; place-items: center; width: 42px; }
.svc99-steps h3 { font-size: 1.15rem; font-weight: 900; margin: 0; }
.svc99-steps p { color: var(--svc99-copy); font-size: .88rem; line-height: 1.6; margin: 10px 0 0; }
.svc99-decision-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 70px; }
.svc99-decision-grid > a { background: #fff; border: 1px solid var(--svc99-line); border-radius: 23px; box-shadow: 0 13px 38px rgba(11,40,99,.06); min-height: 235px; padding: 29px; transition: .25s; }
.svc99-decision-grid > a:hover { border-color: var(--svc99-cyan); transform: translateY(-3px); }
.svc99-decision-grid span { color: var(--svc99-cyan); font-size: .67rem; font-weight: 900; letter-spacing: .11em; }
.svc99-decision-grid h3 { color: var(--svc99-ink); font-size: 1.42rem; font-weight: 900; margin: 20px 0 10px; }
.svc99-decision-grid p { color: var(--svc99-copy); font-size: .93rem; line-height: 1.6; }
.svc99-decision-grid b { color: var(--svc99-blue); display: block; font-size: .82rem; margin-top: 25px; }

/* FAQ */
.svc99-faq-layout { align-items: start; display: grid; gap: 80px; grid-template-columns: .75fr 1.15fr; }
.svc99-faq-layout .svc99-heading { margin: 0; position: sticky; top: 100px; }
.svc99-faqs { border-top: 1px solid var(--svc99-line); }
.svc99-faqs details { border-bottom: 1px solid var(--svc99-line); }
.svc99-faqs summary { align-items: center; color: var(--svc99-ink); cursor: pointer; display: flex; font-size: 1.04rem; font-weight: 900; gap: 20px; justify-content: space-between; list-style: none; padding: 24px 0; }
.svc99-faqs summary::-webkit-details-marker { display: none; }
.svc99-faqs summary span { color: var(--svc99-cyan); font-size: 1.55rem; transition: .2s; }
.svc99-faqs details[open] summary span { transform: rotate(45deg); }
.svc99-faqs details p { color: var(--svc99-copy); line-height: 1.7; margin: -4px 0 25px; padding-right: 38px; }

/* Quote and existing form */
.svc99-quote { background: radial-gradient(circle at 5% 5%, rgba(32,183,238,.28), transparent 31%), linear-gradient(125deg, #07152f, #123f91 65%, #1c5bc9); color: #fff; padding: 92px 0; }
.svc99-quote__grid { align-items: center; display: grid; gap: 72px; grid-template-columns: minmax(0, 1fr) minmax(380px, 480px); }
.svc99-quote h2 { color: #fff; }
.svc99-quote__copy > p:not(.svc99-eyebrow) { color: rgba(255,255,255,.76); font-size: 1.07rem; line-height: 1.75; margin: 22px 0 0; max-width: 650px; }
.svc99-quote__stats { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 32px; max-width: 470px; }
.svc99-quote__stats span { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); border-radius: 17px; color: rgba(255,255,255,.72); display: flex; flex-direction: column; font-size: .75rem; min-height: 95px; padding: 17px; }
.svc99-quote__stats strong { color: #fff; font-size: 2rem; line-height: 1; margin-bottom: 8px; }
.svc99-form { background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.25); border-radius: 31px; padding: 10px; }
.svc99-form .form-card-099 { border: 0; border-radius: 23px; box-shadow: none; margin: 0; max-width: none; padding: 29px; width: 100%; }
.svc99-form .formulario-099 h2 { font-size: 2rem; line-height: 1.03; margin-bottom: 5px; text-align: left; }
.svc99-form .formulario-099 .te-llamamos, .svc99-form .formulario-099 > p { font-size: .9rem; margin-bottom: 7px; text-align: left; }
.svc99-form .f-099 { gap: 12px; margin-top: 17px; }
.svc99-form .f-099 input[type=text], .svc99-form .f-099 input[type=tel] { min-height: 52px; }
.svc99-form .f-099 button { min-height: 55px; }
.svc99-form .respuesta-60-099 { margin: 0!important; padding: 25px 4px 3px!important; }

.svc99 a:focus-visible, .svc99 summary:focus-visible { outline: 3px solid var(--svc99-cyan); outline-offset: 4px; }

@media (max-width: 1050px) {
  .svc99-hero__grid { gap: 38px; grid-template-columns: 1fr .75fr; }
  .svc99-hero h1 { font-size: 3.8rem; }
  .svc99-service-card { grid-template-columns: 1fr; }
  .svc99-service-card > img { aspect-ratio: 16 / 8; height: auto; }
  .svc99-property-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svc99-property-card { height: 470px; }
}

@media (max-width: 820px) {
  .svc99-section { padding: 80px 0; }
  .svc99-hero__grid { grid-template-columns: 1fr; min-height: 0; padding-block: 48px 48px; }
  .svc99-hero { min-height: 0; }
  .svc99-hero__navigator { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svc99-hero__navigator-label { grid-column: 1 / -1; }
  .svc99-hero__navigator > a { border: 1px solid rgba(255,255,255,.1); border-radius: 17px; grid-template-columns: 46px 1fr; margin: 5px; min-height: 100px; }
  .svc99-hero__navigator > a b { display: none; }
  .svc99-jump { display: none; }
  .svc99-service-grid, .svc99-feature-grid, .svc99-central, .svc99-steps, .svc99-faq-layout, .svc99-quote__grid { grid-template-columns: 1fr; }
  .svc99-feature-grid article, .svc99-feature-grid article:nth-child(3n), .svc99-feature-grid article:nth-last-child(-n+3) { border-bottom: 1px solid var(--svc99-line); border-right: 0; min-height: 0; }
  .svc99-feature-grid article:last-child { border-bottom: 0; }
  .svc99-central { gap: 34px; padding: 28px; }
  .svc99-central figure { height: 360px; }
  .svc99 .svc99-central figure > img { max-height: 360px; }
  .svc99-steps li { align-items: start; display: grid; gap: 18px; grid-template-columns: 46px 1fr; min-height: 0; }
  .svc99-steps li > span { margin: 0; }
  .svc99-faq-layout .svc99-heading { position: static; }
  .svc99-quote__grid { gap: 45px; }
}

@media (max-width: 620px) {
  .svc99-shell { width: min(100% - 28px, 1180px); }
  .svc99-section { padding: 68px 0; }
  .svc99-heading { margin-bottom: 34px; }
  .svc99-heading h2, .svc99-central h2, .svc99-quote h2 { font-size: 2.28rem; }
  .svc99-heading > p:last-child { font-size: .96rem; }
  .svc99-hero::before { background: linear-gradient(180deg, rgba(2,12,31,.94), rgba(3,17,43,.88)); }
  .svc99-hero__grid { padding-block: 34px 35px; }
  .svc99-breadcrumb { margin-bottom: 22px; }
  .svc99-hero h1 { font-size: clamp(2.55rem, 12vw, 3.45rem); }
  .svc99-hero__lead { font-size: .98rem; margin-block: 21px 24px; }
  .svc99-actions { display: grid; grid-template-columns: 1fr; }
  .svc99-button { min-height: 55px; width: 100%; }
  .svc99-proof-list { gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 29px; }
  .svc99-proof-list li, .svc99-proof-list li:first-child { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: 13px; min-height: 70px; padding: 12px; }
  .svc99-hero__navigator { border-radius: 23px; display: grid; grid-template-columns: 1fr; padding: 11px; }
  .svc99-hero__navigator > a { grid-template-columns: 45px 1fr auto; margin: 4px; min-height: 86px; padding: 11px; }
  .svc99-hero__navigator > a b { display: block; }
  .svc99-service-grid { gap: 15px; }
  .svc99-service-card { border-radius: 22px; min-height: 0; }
  .svc99-service-card > img { aspect-ratio: 16 / 9; }
  .svc99-service-card__content { padding: 24px 21px; }
  .svc99-service-card h3 { font-size: 1.45rem; }
  .svc99-feature-grid { border-radius: 22px; }
  .svc99-feature-grid article { padding: 24px 21px; }
  .svc99-feature-grid h3 { margin-top: 23px; }
  .svc99-central { border-radius: 24px; margin-top: 48px; padding: 15px 15px 27px; }
  .svc99-central > div { padding: 0 8px; }
  .svc99-central figure { height: 270px; }
  .svc99 .svc99-central figure > img { border-radius: 18px; max-height: 270px; }
  .svc99-central figcaption { bottom: 10px; left: 10px; }
  .svc99-property-grid, .svc99-decision-grid { grid-template-columns: 1fr; }
  .svc99-property-card { border-radius: 21px; height: auto; min-height: 445px; }
  .svc99 .svc99-property-card > img { flex-basis: 205px; height: 205px !important; max-height: 205px; }
  .svc99-property-card p { min-height: 0; }
  .svc99-steps { border-radius: 21px; }
  .svc99-steps li { padding: 22px 19px; }
  .svc99-decision-grid { margin-top: 45px; }
  .svc99-decision-grid > a { min-height: 0; padding: 24px 21px; }
  .svc99-faqs summary { font-size: .95rem; padding: 21px 0; }
  .svc99-faqs details p { font-size: .9rem; padding-right: 12px; }
  .svc99-quote { padding: 65px 0; }
  .svc99-quote__grid { gap: 34px; }
  .svc99-quote__stats { gap: 9px; }
  .svc99-quote__stats span { min-height: 88px; padding: 14px; }
  .svc99-quote__stats strong { font-size: 1.7rem; }
  .svc99-form { border-radius: 23px; padding: 7px; }
  .svc99-form .form-card-099 { border-radius: 18px; padding: 23px 18px 26px; }
  .svc99-form .formulario-099 h2 { font-size: 1.7rem; }
  .svc99-form .respuesta-60-099 { padding-top: 25px!important; }
}
