/* For Advisors — page-only styles, using the homepage tokens and components. */
.advisors-page { --hp-navy: #014082; --hp-footer: #014082; --hp-sky: #e0f6ff; --hp-orange: #ff7f00; }
.advisors-page .container-xxl { max-width: 1424px; }
.advisors-page .hp-btn:disabled { opacity: 1; cursor: not-allowed; }
.advisors-page .hp-btn:disabled:hover { background-color: var(--hp-navy); color: white; }
.advisors-page .hp-btn--orange:disabled:hover { background-color: var(--hp-orange); }
.advisors-page .hp-btn--outline:disabled:hover { background: white; color: var(--hp-navy); }
.advisors-page p { line-height: 1.3; }
.advisors-page h2 { font-size: 40px; line-height: 1.2; }
.advisors-page h2, .advisors-page h3 { font-weight: 700; }
.advisors-page sup { font-size: .45em; top: -.8em; }
.ad-hero { min-height: 690px; padding: 65px 0 60px; }
.ad-hero__grid { display: grid; grid-template-columns: 600px 1fr; gap: 40px; }
.ad-hero__copy { max-width: 515px; }
.ad-eyebrow { font-family: Montserrat, sans-serif; text-transform: uppercase; font-size: 23.33px; color: var(--hp-orange); font-weight: 700; margin: 0 0 20px; }
.ad-hero h1 { font-family: Montserrat, sans-serif; font-size: 40px; font-weight: 700; text-transform: uppercase; line-height: 50px; margin: 0 0 15px; }
.ad-hero__copy p:not(.ad-eyebrow) { font-size: 18px; margin-bottom: 17px; color: #231f20; line-height: 24px; }
.ad-hero__copy .ad-hero__lead { color: var(--hp-navy) !important; font-weight: 900; margin-bottom: 24px !important; }
.ad-hero__copy .hp-btn { margin-top: 12px; min-width: 284px; min-height: 49px; font-size: 15px; line-height: 24px; letter-spacing: 0; }
.ad-hero__visual { position: relative; margin-top: -55px; min-height: 590px; }
.ad-hero__photo { width: 685px; display: block; transform: translateX(30px); }
.ad-selective-card { position: relative; margin: -9px 0 0 42px; padding: 30px 20px 24px; width: 461px; min-height: 213px; border-radius: 24px; box-shadow: 0 8px 45px #00000020; background: white; text-align: center; }
.ad-selective-card h2 { font-size: 23.3333px; line-height: 24px; font-weight: 400; text-transform: uppercase; margin-bottom: 10px; }
.ad-selective-card p { font-size: 16px; line-height: 24px; color: #606060; margin: 0; }
.ad-selective-card .ad-selective-card__note { color: var(--hp-navy); font-size: 16px; font-weight: 500; margin-top: 20px; padding-top: 12px; border-top: 1px solid #dedede; position: relative; }
.ad-selective-card__note::before { content: ''; width: 31px; height: 3px; background: var(--hp-navy); position: absolute; top: -2px; left: calc(50% - 15px); }
.ad-join { padding: 57px 0 102px; }
.ad-join h2 { text-align: center; margin: 0 0 85px; }
.ad-join__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 44px; max-width: 1206px; margin: auto; }
.ad-join-card { border: 1px solid #d7d7d7; border-radius: 26px; min-height: 298px; text-align: center; padding: 102px 32px 26px; position: relative; }
.ad-join-card img { position: absolute; width: 123px; top: -36px; left: calc(50% - 61.5px); }
.ad-join-card::before { content: ''; position: absolute; top: -1px; left: calc(50% - 61.5px); width: 123px; height: 2px; background: white; }
.ad-join-card img { clip-path: circle(48.4% at 50% 50%); }
/* The original raster badges contain a straight gray line in their outer rim. */
.ad-join-card::after { content: ''; position: absolute; top: -34px; left: calc(50% - 59.5px); width: 119px; height: 119px; border: 9px solid #d8dfe9; border-radius: 50%; pointer-events: none; }
.ad-join-card h3 { font-size: 20px; line-height: 22px; margin-bottom: 14px; }
.ad-join-card p { font-size: 16px; line-height: 22px; color: #6d6d6d; max-width: 186px; margin: 0 auto; }
.ad-system { background: #ebf6fc; position: relative; padding: 87px 0 104px; min-height: 1045px; }
.ad-system__gears { position: absolute; right: 52px; top: 25px; width: 600px; pointer-events: none; filter: brightness(0) invert(1); }
.ad-system .container-xxl { position: relative; }
.ad-system__intro { text-align: center; margin-bottom: 47px; }
.ad-system__intro h2 { color: #606060; margin-bottom: 14px; }
.ad-system__intro h3 { font-size: 20px; margin-bottom: 10px; }
.ad-system__intro p { font-size: 18px; line-height: 24px; color: #606060; margin: 0; }
.ad-system__grid { display: grid; grid-template-columns: 610px 1fr; gap: 50px; align-items: start; max-width: 1200px; margin: auto; }
.ad-system__diagram { width: 610px; }
.ad-system__features { border-left: 2px solid white; padding: 19px 0 2px 64px; margin-top: 36px; }
.ad-feature { display: flex; gap: 24px; align-items: center; margin-bottom: 22px; }
.ad-feature:last-child { margin-bottom: 0; }
.ad-feature img { width: 88px; flex-shrink: 0; }
.ad-feature h3 { font-size: 20px; margin-bottom: 7px; white-space: nowrap; }
.ad-feature p { font-size: 16px; line-height: 22px; color: #6d6d6d; margin: 0; max-width: 310px; }
.ad-members { padding: 77px 0 83px; }
.ad-members__grid { display: grid; grid-template-columns: 440px 1fr; gap: 108px; align-items: start; max-width: 1214px !important; position: relative; padding-bottom: 132px; }
.ad-members__grid::after { content: ""; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 1100px; max-width: 90%; border-bottom: 1px solid #ddd; }
.ad-members__photo { width: 440px; }
.ad-members h2 { margin: 8px 0 59px; white-space: nowrap; }
.ad-members h2 span { color: #606060; }
.ad-members__lists { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; }
.ad-members ul { list-style: none; margin: 0; padding: 0; }
.ad-members li { color: #606060; font-size: 16px; font-weight: 700; line-height: 22px; margin-bottom: 35px; position: relative; padding-left: 38px; white-space: nowrap; }
.ad-members li::before { content: ''; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background: url('../images/advisors/check.svg') center / contain no-repeat; }
.ad-fit { padding: 0 0 55px; }
.ad-fit__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; max-width: 1350px !important; }
.ad-fit__item { display: grid; grid-template-columns: 103px 1fr; gap: 22px; padding: 0 30px 10px 0; }
.ad-fit__item + .ad-fit__item { border-left: 2px solid var(--hp-sky); padding-left: 60px; padding-right: 0; }
.ad-fit__icon { width: 103px; }
.ad-fit h2 { font-size: 20px; font-weight: 900; line-height: 24px; text-transform: uppercase; margin: 12px 0 18px; }
.ad-fit p { font-size: 16px; line-height: 22px; color: #6d6d6d; margin: 0; }
.ad-fit__benefits { list-style: none; padding: 0; margin: 22px 0 0; }
.ad-fit__benefits li { padding-left: 30px; position: relative; margin-bottom: 10px; }
.ad-fit__benefits li::before { content: '➜'; color: var(--hp-orange); position: absolute; left: 0; top: -4px; font-size: 25px; }
.ad-fit__benefits h3 { font-size: 20px; margin: 0 0 4px; }
.ad-fit__review { display: flex; gap: 25px; align-items: center; margin-top: 30px; padding: 23px 40px; background: #ebf6fc; border-radius: 12px; color: var(--hp-navy); font-size: 20px; }
.ad-fit__review img { width: 53px; }
.ad-ready { text-align: center; background: #e0f6ff; border-radius: 14px; padding: 45px 24px 38px; margin: 0 auto 30px; max-width: 1404px !important; }
.ad-ready h2 { margin-bottom: 24px; }
.ad-ready p { font-size: 20px; line-height: 26.6667px; color: var(--hp-navy); font-weight: 700; margin-bottom: 28px; }
.ad-ready .hp-btn { font-size: 15px; height: 49px; min-width: 286px; line-height: 24px; letter-spacing: 0; }
@media (max-width: 1399.98px) {
  .ad-hero__grid { grid-template-columns: 44% 1fr; gap: 28px; }
  .ad-hero__photo { width: 100%; transform: none; }
  .ad-selective-card { max-width: 80%; margin-left: 6%; }
  .ad-system__grid { grid-template-columns: 52% 1fr; gap: 20px; }
  .ad-system__features { padding-left: 28px; }
  .ad-feature { gap: 16px; }
  .ad-feature h3 { white-space: normal; }
  .ad-members__grid { grid-template-columns: 35% 1fr; gap: 55px; }
  .ad-members h2 { white-space: normal; font-size: 34px; }
  .ad-members li { white-space: normal; }
  .ad-fit__grid { gap: 30px; }
  .ad-fit__item + .ad-fit__item { padding-left: 30px; }
  .ad-fit__review { padding: 20px; }
}
@media (max-width: 1199.98px) {
  .ad-hero { min-height: 0; }
  .ad-hero__visual { margin-top: -20px; min-height: 0; }
  .ad-join__grid { gap: 20px; }
  .ad-join-card { padding-left: 16px; padding-right: 16px; }
  .ad-system { min-height: 0; }
  .ad-system__gears { right: 0; max-width: 50%; }
  .ad-fit__item { grid-template-columns: 75px 1fr; gap: 18px; }
}
@media (max-width: 991.98px) {
  .advisors-page h2 { font-size: 32px; }
  .ad-hero__grid, .ad-system__grid, .ad-members__grid { grid-template-columns: 1fr; }
  .ad-hero__copy { max-width: 600px; }
  .ad-hero__visual { max-width: 685px; margin: 25px auto 0; }
  .ad-hero__photo { width: 685px; }
  .ad-selective-card { max-width: 80%; }
  .ad-selective-card h2 { font-size: 24px; }
  .ad-join__grid { grid-template-columns: repeat(2,1fr); row-gap: 65px; max-width: 650px; }
  .ad-system__diagram { margin: auto; }
  .ad-system__features { border: 0; padding: 20px 0 0; margin-top: 0; max-width: 550px; margin: auto; }
  .ad-feature p { max-width: none; }
  .ad-system__intro { margin-bottom: 45px; }
  .ad-members__grid { padding-bottom: 65px; gap: 40px; }
  .ad-members__photo { margin: auto; }
  .ad-members h2 { margin-bottom: 40px; }
  .ad-fit__grid { grid-template-columns: 1fr; max-width: 720px !important; gap: 40px; }
  .ad-fit__item + .ad-fit__item { border-left: 0; padding: 35px 0 0; border-top: 2px solid var(--hp-sky); }
  .ad-fit h2 { font-size: 20px; }
  .ad-ready { width: calc(100% - 32px); }
}
@media (max-width: 575.98px) {
  .advisors-page h2 { font-size: 28px; }
  .ad-hero { padding: 40px 0 50px; }
  .ad-hero h1 { font-size: 34px; }
  .ad-eyebrow { font-size: 20px; }
  .ad-desktop-break { display: none; }
  .ad-hero__copy p:not(.ad-eyebrow) { font-size: 16px; }
  .ad-selective-card { padding: 24px 16px; max-width: 100%; margin-left: 0; width: 100%; }
  .ad-selective-card h2 { font-size: 21px; }
  .ad-selective-card p, .ad-selective-card .ad-selective-card__note { font-size: 14px; }
  .ad-join { padding: 30px 0 60px; }
  .ad-join h2 { margin-bottom: 70px; }
  .ad-join__grid { grid-template-columns: 1fr; max-width: 300px; }
  .ad-join-card { min-height: 275px; }
  .ad-system { padding: 50px 0; }
  .ad-system__intro h3 { font-size: 18px; }
  .ad-system__intro p { font-size: 16px; }
  .ad-feature img { width: 70px; }
  .ad-feature h3 { font-size: 18px; }
  .ad-feature p { font-size: 14px; }
  .ad-members { padding: 50px 0; }
  .ad-members__lists { grid-template-columns: 1fr; gap: 0; }
  .ad-members li { margin-bottom: 24px; font-size: 16px; }
  .ad-fit__item { grid-template-columns: 75px minmax(0, 1fr); gap: 16px; padding-right: 0; }
  .ad-fit h2 { font-size: 18px; margin-top: 0; }
  .ad-fit__benefits h3 { font-size: 18px; }
  .ad-fit__review { padding: 16px 24px; gap: 12px; font-size: 16px; }
  .ad-fit__review img { width: 38px; }
  .ad-ready p { font-size: 16px; }
  .ad-ready .hp-btn { min-width: 0; width: 100%; max-width: 286px; }
}
@media (min-width: 1600px) {
  .ad-hero { padding: 0; height: 690px; }
  .ad-hero .container-xxl { width: 1600px; max-width: 1600px; height: 100%; padding: 0; position: relative; display: block; }
  .ad-hero__copy { position: absolute; left: 100px; top: 0; width: 515px; }
  .ad-hero__copy > * { position: absolute; margin: 0 !important; }
  .ad-eyebrow { top: 65px; line-height: 28px; }
  .ad-hero h1 { top: 106px; width: 520px; }
  .ad-hero__lead { top: 217px; width: 515px; }
  .ad-hero__copy > p:nth-of-type(3) { top: 285px; width: 510px; }
  .ad-hero__copy > p:nth-of-type(4) { top: 393px; width: 515px; }
  .ad-hero__copy .hp-btn { left: -1px; top: 495px; width: 284px; height: 49px; }
  .ad-hero__visual { position: absolute; left: 770px; top: 10px; margin: 0; width: 685px; height: 592px; }
  .ad-hero__photo { transform: none; }
  .ad-selective-card { position: absolute; left: 9px; top: 379px; margin: 0; width: 461px; height: 213px; padding: 0; }
  .ad-selective-card h2 { position: absolute; top: 28px; left: 0; width: 100%; margin: 0; }
  .ad-selective-card > p:not(.ad-selective-card__note) { position: absolute; left: 21px; top: 61px; width: 419px; }
  .ad-selective-card .ad-selective-card__note { position: absolute; left: 35px; top: 149px; width: 392px; margin: 0; padding-top: 13px; }
  .ad-join { height: 590px; }
  .ad-join-card { padding-top: 104px; }
  .ad-system { height: 1045px; }
  .ad-members { padding: 0; height: 692px; }
  .ad-members__grid { width: 1600px; max-width: 1600px !important; height: 100%; display: block; padding: 0; }
  .ad-members__photo { position: absolute; left: 195px; top: 70px; }
  .ad-members h2 { position: absolute; left: 746px; top: 82px; margin: 0; line-height: 50px; }
  .ad-members__lists { position: absolute; left: 746px; top: 239px; width: 700px; grid-template-columns: 331px 1fr; }
  .ad-members li { margin-bottom: 33px; }
  .ad-members li:nth-child(2), .ad-members li:nth-child(3) { margin-bottom: 37px; }
  .ad-members__lists ul:nth-child(2) li { padding-left: 33px; }
  .ad-members__grid::after { bottom: 104px; }
  .ad-fit { padding: 0; height: 425px; }
  .ad-fit__grid { position: relative; max-width: 1600px !important; width: 1600px; height: 100%; display: block; padding: 0; }
  .ad-fit__item { position: absolute; left: 130px; top: 4px; width: 607px; padding: 0; }
  .ad-fit__item + .ad-fit__item { left: 878px; width: 530px; padding: 0; border: 0; }
  .ad-fit__grid::before { content: ''; position: absolute; left: 816px; top: 0; height: 367px; border-left: 2px solid #e0f6ff; }
  .ad-fit h2 { margin: 9px 0 16px; }
  .ad-fit__benefits { margin-top: 22px; }
  .ad-fit__benefits li { margin-bottom: 9px; }
  .ad-fit__benefits h3 { line-height: 22px; }
  .ad-fit__review { position: absolute; left: 126px; top: 242px; width: 404px; height: 93px; margin: 0; padding: 23px 40px; }
  .ad-ready { height: 285px; padding: 0; position: relative; }
  .ad-ready h2 { position: absolute; top: 49px; left: 0; width: 100%; margin: 0; }
  .ad-ready p { position: absolute; top: 119px; left: 0; width: 100%; margin: 0; }
  .ad-ready .hp-btn { position: absolute; top: 199px; left: calc(50% - 143px); width: 286px; }
}

/* Desktop source alignment; colors above are PSD Display-profile appearance in sRGB. */
@media (min-width: 1600px) {
  .ad-system__intro { margin-bottom: 45px; }
  .ad-system__intro sup { font-size: inherit; top: auto; vertical-align: baseline; }
  .ad-system__features { padding-top: 18px; height: 554px; }
  .ad-feature { margin-bottom: 21px; }
  .ad-fit__review { gap: 28px; line-height: 22px; }
  .ad-ready { margin-bottom: 29px; }
}

@media (min-width: 1600px) {
  .ad-join-card { min-height: 298px; padding-top: 102px; }
  .ad-join-card h3 { margin-bottom: 12px; }
  .ad-fit__benefits li:last-child { margin-top: 12px; }
}

/* PSD text origins at its 1600px canvas; preserve glyph sizes and line wrapping. */
@media (min-width: 1600px) {
  .ad-eyebrow { transform: translateX(2px); }
  .ad-hero h1, .ad-hero__copy > p:not(.ad-eyebrow) { transform: translate(1px, 2px); }
  .ad-join-card p { transform: translateY(1px); }
  .ad-join-card:nth-child(2) p { transform: translate(-1px, 1px); }
  .ad-join-card:nth-child(3) p { transform: translate(-1.5px, 1px); }
  .ad-join-card:nth-child(4) p { transform: translate(-2px, 1px); }
  .ad-feature:nth-child(2) > div { transform: translate(1px, 4px); }
  .ad-feature:nth-child(2) h3 { transform: translateX(5px); }
  .ad-fit__item:first-child > div > p { transform: translateX(1px); }
  .ad-ready h2 { transform: translate(-3.5px, -1px); }
  .ad-ready p { transform: translateX(-2px); }
}

@media (max-width: 575.98px) {
  .ad-fit-title-break { display: none; }
  .ad-fit__icon { width: 75px; height: 75px; object-fit: contain; }
  .ad-fit__item > div { display: contents; }
  .ad-fit__item > .ad-fit__icon { grid-column: 1; grid-row: 1; }
  .ad-fit__item > div > h2 { grid-column: 2; grid-row: 1; align-self: center; margin: 0; }
  .ad-fit__item > div > p, .ad-fit__item > div > ul, .ad-fit__item > div > .ad-fit__review { grid-column: 1 / -1; }

}

@media (max-width: 991px) { .ad-system__gears { display: none; } }

/* Page content gutters; full-width section backgrounds and shared chrome stay intact. */
@media (max-width: 767.98px) {
  .advisors-page { --ad-mobile-gutter: 20px; }
  .advisors-page main > section > .container-xxl { width: 100%; padding-left: var(--ad-mobile-gutter); padding-right: var(--ad-mobile-gutter); }
  .advisors-page .ad-fit__grid { max-width: none !important; }
  .advisors-page .ad-ready { width: calc(100% - 2 * var(--ad-mobile-gutter)); }
}
@media (max-width: 359.98px) {
  .advisors-page { --ad-mobile-gutter: 16px; }
}

@media (max-width: 991.98px) {
  .ad-hero__copy { max-width: 620px; margin-inline: auto; text-align: center; }
  .ad-members__lists { width: fit-content; max-width: 100%; margin-inline: auto; text-align: left; }
}

@media (max-width: 991px) {
  .ad-selective-card { width: 100%; max-width: 100%; margin-left: 0; }
  .ad-members h2 { text-align: center; }
}

@media (min-width: 992px) and (max-width: 1400px) {
  .ad-ready { border-radius: 0; }
}

/* Match Home's centered 1320px content envelope on larger screens. */
@media (min-width: 768px) {
  .advisors-page main > section:not(.hp-ribbon) > .container-xxl { width: 100%; max-width: 1320px !important; padding-left: 12px; padding-right: 12px; }
  .advisors-page .ad-ready { width: calc(100% - 24px); max-width: 1296px !important; }
}
@media (min-width: 992px) {
  .ad-hero__grid { grid-template-columns: 44% minmax(0, 1fr); gap: 28px; }
  .ad-hero__photo { width: 100%; transform: none; }
}
@media (min-width: 1600px) {
  .ad-hero .ad-hero__grid { display: grid; position: static; padding-top: 65px; }
  .ad-hero__copy { position: relative; left: auto; top: auto; width: 100%; }
  .ad-hero__visual { position: relative; left: auto; top: auto; width: 100%; height: auto; margin-top: -55px; }
  .ad-selective-card { left: 0; width: 100%; max-width: 461px; }
  .ad-members__grid { display: grid; grid-template-columns: 35% minmax(0, 1fr); gap: 55px; padding-top: 70px; }
  .ad-members__photo, .ad-members h2, .ad-members__lists { position: static; }
  .ad-members h2 { margin: 8px 0 59px; white-space: normal; }
  .ad-members__lists { width: 100%; grid-template-columns: 1fr 1fr; }
  .ad-members li { white-space: normal; }
  .ad-fit__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
  .ad-fit__item, .ad-fit__item + .ad-fit__item { position: relative; left: auto; top: 4px; width: auto; }
  .ad-fit__item + .ad-fit__item { padding-left: 30px; border-left: 2px solid var(--hp-sky); }
  .ad-fit__grid::before { display: none; }
  .ad-fit__review { position: static; width: auto; height: auto; margin-top: 30px; padding: 20px; }
}

/* Canonical Home ribbon; Advisors content elsewhere keeps its page styling. */
.advisors-page .hp-ribbon { --hp-navy: #193F7D; font-family: "Roboto", sans-serif; }
.advisors-page .hp-ribbon p { line-height: 1.5; }
.advisors-page .hp-ribbon > .container-xxl { max-width: 100%; }
@media (max-width: 767.98px) {
  .advisors-page main > .hp-ribbon { width: 100%; }
}
