/* Coverage explorer: progressive enhancement keeps every plan available without JS. */
.guide-hero { background: #edf5f9; border-bottom: 1px solid #d6e4ed; overflow: hidden; }
.guide-hero-inner { display: grid; grid-template-columns: 1.6fr 1fr; gap: 70px; align-items: center; padding-top: 46px; padding-bottom: 46px; }
.guide-kicker { color: #4c7c98; font-size: 10px; font-weight: 700; letter-spacing: .16em; margin: 0 0 16px; }
.insurance-site .guide-hero h1 { font-size: clamp(46px, 5.5vw, 76px); letter-spacing: -.055em; margin: 0 0 22px; }
.guide-hero h1 em { color: #2c6b8b; }
.guide-lead { color: #526b7e; font-size: 16px; line-height: 1.8; max-width: 49ch; }
.guide-hero-note { position: relative; padding: 26px 0 26px 30px; border-left: 1px solid #a8c4d6; }
.guide-note-symbol { position: absolute; right: 0; top: 0; font-size: 90px; line-height: 1; color: #aac9db; }
.guide-hero-note p { font-family: var(--font-serif); font-size: clamp(28px, 3vw, 38px); line-height: 1.2; color: #214b68; margin: 0 0 18px; position: relative; }
.guide-hero-note>span:last-child { color: #557082; font-size: 13px; line-height: 1.8; }
.guide-explorer { padding: 0 0 55px; background: #f7f9fb; }
.guide-products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid #cddde8; padding: 10px 0 0; margin-bottom: 38px; }
.guide-products a { padding: 24px 12px; color: #647a8d; font-size: 16px; font-weight: 600; border-bottom: 3px solid transparent; text-align: center; }
.guide-products a>span { font-size: 10px; margin-right: 10px; font-weight: 400; color: #809eb1; }
.guide-products a:hover { color: #143b58; background: #edf4f8; }
.guide-products a[aria-current="true"] { border-bottom-color: #236b94; color: #163e5c; }
.guide-workspace, .guide-company, #otras-soluciones { scroll-margin-top: 106px; }
.guide-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-bottom: 23px; }
.guide-toolbar .guide-kicker { margin-bottom: 9px; }
.insurance-site .guide-toolbar h2 { font-size: 32px; margin: 0; }
.guide-switches { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; width: min(510px, 59%); }
.guide-switches a { min-height: 82px; display: flex; flex-direction: column; justify-content: center; padding: 14px 24px; border: 1px solid #ccdae5; border-radius: 10px; background: #fff; text-align: center; color: #294b65; }
.guide-switches strong { font-size: 19px; letter-spacing: -.035em; }
.guide-switches small { font-size: 10px; margin-top: 5px; color: #688092; }
.guide-switches a[aria-selected="true"] { background: #143f60; color: #fff; border-color: #143f60; box-shadow: 0 7px 16px #123b5b15; }
.guide-switches a[aria-selected="true"] small { color: #c1d9e9; }
.guide-switches a:hover:not([aria-selected="true"]) { border-color: #6799b6; background: #f0f7fb; }
.guide-reading-key { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; color: #5e7587; font-size: 12px; padding: 15px 0 22px; border-bottom: 1px solid #d9e4ec; margin: 0 0 25px; max-width: none; }
.guide-reading-key>span { color: #26766d; }
.guide-reading-key a { margin-left: auto; text-decoration: underline; text-underline-offset: 4px; }
.guide-company { margin-bottom: 28px; }
.guide-company[hidden], .guide-toolbar[hidden], .guide-reading-key[hidden] { display: none; }
.guide-company-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 0 22px; }
.guide-company-head .guide-kicker { margin-bottom: 8px; font-size: 9px; }
.insurance-site .guide-company-head h3 { font-size: 25px; font-weight: 600; margin: 0 0 6px; letter-spacing: -.03em; }
.guide-company-head p:last-child { font-size: 13px; color: #62798b; margin: 0; }
.guide-total { flex-shrink: 0; font-size: 11px; color: #607e93; }
.guide-total span { font-size: 23px; margin-left: 10px; }
.guide-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
.guide-company[data-service="auto"]:not(#el-aguila) .guide-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.guide-plan { padding: 23px 22px 19px; background: #fff; border: 1px solid #dbe5ec; border-radius: 15px; box-shadow: 0 4px 8px #12345003; transition: border-color .2s, box-shadow .2s; }
.guide-plan:hover, .guide-plan:focus-within { border-color: #89afc6; box-shadow: 0 8px 25px #1234500b; }
.guide-plan-wide { border-top: 3px solid #397e9e; padding-top: 21px; }
.guide-plan-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.guide-plan-icon { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 12px; background: #eef5f9; color: #387696; }
.guide-plan-icon svg { width: 27px; height: 27px; }
.guide-plan-number { color: #7998ac; font-size: 10px; letter-spacing: .08em; }
.insurance-site .guide-plan h4 { font-size: 21px; font-weight: 600; line-height: 1.2; letter-spacing: -.04em; margin: 0 0 9px; min-height: 50px; }
.guide-plan-tag { font-size: 12px; color: #667b8a; line-height: 1.6; min-height: 38px; margin: 0 0 12px; }
.guide-benefits { margin: 0 0 10px; padding: 0; border-top: 1px solid #e5edf2; }
.guide-benefits>div { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 13px 0; min-height: 51px; border-bottom: 1px solid #e5edf2; }
.guide-benefits dt { color: #4e6677; font-size: 12px; }
.guide-benefits dd { margin: 0; font-size: 11px; color: #246b60; font-weight: 600; text-align: right; }
.guide-benefits dd span { margin-right: 3px; }
.guide-benefits .not-covered { color: #7a8791; font-weight: 400; }
.guide-benefits .partial-covered { color: #85612c; }
.guide-detail { margin: 0 0 17px; }
.guide-detail summary { cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 10px; list-style: none; padding: 10px 0; font-size: 11px; font-weight: 600; color: #356584; }
.guide-detail summary::-webkit-details-marker { display: none; }
.guide-detail summary span { font-size: 19px; font-weight: 400; }
.guide-detail[open] summary span { transform: rotate(45deg); }
.guide-detail p { font-size: 12px; line-height: 1.8; color: #526c7d; margin: 4px 0 12px; }
.guide-plan-cta { display: flex; justify-content: space-between; align-items: center; padding: 13px 15px; border: 1px solid #adc4d5; border-radius: 7px; font-size: 12px; font-weight: 600; color: #204f6e; }
.guide-plan-cta:hover { background: #143f60; color: #fff; border-color: #143f60; }
.guide-plan-wide .guide-plan-cta { background: #143f60; border-color: #143f60; color: #fff; }
.guide-company-foot { display: flex; justify-content: space-between; gap: 28px; align-items: center; margin-top: 20px; padding: 22px 25px; background: #eaf1f6; border-radius: 10px; }
.guide-company-foot strong { font-size: 12px; color: #355c76; }
.guide-company-foot p { font-size: 12px; line-height: 1.7; margin: 5px 0 0; color: #587185; max-width: 80ch; }
.guide-company-foot a { font-size: 11px; color: #345d79; white-space: nowrap; text-decoration: underline; text-underline-offset: 4px; }
.guide-fine-print { font-size: 11px; color: #677d8d; line-height: 1.8; max-width: 106ch; }
.guide-cards-other { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.guide-cards-other h4 { min-height: 0; }
.guide-cards-other .guide-plan-tag { min-height: 0; }
.guide-other-cover { color: #526b7e; font-size: 15px; line-height: 1.8; min-height: 108px; padding-top: 18px; border-top: 1px solid #e5edf2; margin: 0 0 10px; }
.guide-help { display: flex; justify-content: space-between; gap: 25px; align-items: center; padding: 34px 0 0; margin-top: 35px; border-top: 1px solid #d3e1eb; }
.guide-help .guide-kicker { margin-bottom: 10px; }
.insurance-site .guide-help h2 { font-size: 28px; margin-bottom: 10px; }
.guide-help p { color: #62798b; font-size: 14px; }
.guide-help .btn { flex-shrink: 0; }
.guide-products a:focus-visible, .guide-switches a:focus-visible, .guide-detail summary:focus-visible, .guide-plan-cta:focus-visible, .guide-company:focus-visible { outline: 3px solid #248ac5; outline-offset: 4px; }
@media (max-width: 1100px) {
 .guide-company[data-service="auto"]:not(#el-aguila) .guide-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .guide-plan { padding-left: 18px; padding-right: 18px; }
 .guide-benefits>div { align-items: start; }
 .guide-benefits dd { max-width: 95px; }
}
@media (max-width: 700px) {
 .guide-hero-inner { display: block; padding-top: 40px; padding-bottom: 32px; }
 .insurance-site .guide-hero h1 { font-size: 48px; }
 .guide-lead { font-size: 14px; }
 .guide-lead br { display: none; }
 .guide-hero-note { display: none; }
 .guide-products { margin-bottom: 27px; padding-top: 0; }
 .guide-products a { font-size: 12px; padding: 19px 3px; }
 .guide-products a>span { display: none; }
 .guide-toolbar { display: block; }
 .insurance-site .guide-toolbar h2 { font-size: 27px; margin-bottom: 22px; }
 .guide-toolbar h2 br { display: none; }
 .guide-switches { width: 100%; gap: 7px; }
 .guide-switches a { min-height: 76px; padding: 12px 5px; }
 .guide-switches strong { font-size: 17px; }
 .guide-reading-key { line-height: 1.7; }
 .guide-reading-key a { width: 100%; margin-left: 0; }
 .guide-company-head { align-items: start; }
 .guide-company-head p:last-child { line-height: 1.7; }
 .guide-total { display: none; }
 .guide-cards, .guide-cards-other, .guide-company[data-service="auto"]:not(#el-aguila) .guide-cards { grid-template-columns: 1fr; gap: 14px; }
 .guide-plan { padding: 22px; }
 .guide-plan-top { margin-bottom: 12px; }
 .insurance-site .guide-plan h4 { min-height: 0; font-size: 25px; }
 .guide-plan-tag { min-height: 0; margin-bottom: 18px; font-size: 13px; }
 .guide-benefits dt, .guide-benefits dd, .guide-detail summary { font-size: 12px; }
 .guide-benefits dd { max-width: none; }
 .guide-plan-cta { padding: 15px; font-size: 13px; }
 .guide-other-cover { min-height: 0; }
 .guide-company-foot { display: block; padding: 22px; }
 .guide-company-foot a { display: inline-block; margin-top: 14px; }
 .guide-help { display: block; }
 .guide-help .btn { margin-top: 23px; }
}
@media (prefers-reduced-motion: reduce) { .guide-plan { transition: none; } }
@media print { .guide-company[hidden] { display: block; } }
