.resource-page { margin: 0; background: #fff; color: #34454b; font: 400 17px/1.7 Lato, Arial, sans-serif; letter-spacing: 0; }
.resource-page *, .resource-page *::before, .resource-page *::after { box-sizing: border-box; letter-spacing: 0; }
.resource-page::after { display: none; }
.resource-container { width: 100%; max-width: 948px; margin: 0 auto; padding: 0 24px; }
.resource-page a { color: #286580; text-decoration: underline; text-underline-offset: 3px; }
.resource-page a:hover { color: #173946; }
.resource-page :focus-visible { outline: 3px solid #336799; outline-offset: 4px; }
.resource-header { min-height: 0; background: #fff; border-bottom: 1px solid #dae5e8; }
.resource-nav { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-top: 12px; padding-bottom: 12px; }
.resource-nav img { display: block; width: 150px; height: auto; }
.resource-nav nav { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; margin-left: auto; }
.resource-nav a { font-size: 15px; font-weight: 700; text-decoration: none; }
.resource-page .resource-button { display: inline-flex; justify-content: center; align-items: center; gap: 9px; padding: 10px 16px; border: 1px solid #286580; border-radius: 4px; color: #fff; background: #286580; font-size: 16px; line-height: 1.5; font-weight: 700; text-decoration: none; }
.resource-page .resource-button:hover,
.resource-page .resource-button:focus,
.resource-page .resource-button:active { color: #fff; background: #173946; }
.resource-breadcrumb { margin: 25px 0; font-size: 14px; color: #596970; overflow-wrap: anywhere; }
.resource-title { max-width: 860px; padding-bottom: 32px; }
.resource-eyebrow { margin: 0 0 12px; font-size: 14px; font-weight: 700; color: #286580; }
.resource-page h1 { color: #0f3b48; font-size: 42px; font-weight: 700; line-height: 1.16; margin: 0 0 20px; overflow-wrap: break-word; }
.resource-intro { font-size: 21px; line-height: 1.5; margin-bottom: 16px; }
.resource-byline { color: #596970; font-size: 14px; margin: 0; }
.resource-layout { padding: 0 0 40px; }
.resource-contents { border-top: 1px solid #dae5e8; border-bottom: 1px solid #dae5e8; margin-bottom: 32px; }
.resource-contents > summary { padding: 12px 0; cursor: pointer; font-size: 15px; font-weight: 700; color: #286580; }
.resource-contents nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; padding-bottom: 12px; }
.resource-contents a { display: block; font-size: 15px; line-height: 1.5; padding: 7px 0; text-decoration: none; }
.resource-related { border-top: 1px solid #dae5e8; padding-top: 20px; margin-top: 20px; }
.resource-page .resource-related h2 { font-size: 20px; }
.resource-related a { display: block; margin: 10px 0; }
.resource-article { min-width: 0; }
.resource-article section { background: transparent; padding: 0; margin: 0 0 40px; scroll-margin-top: 24px; }
.resource-page h2 { font-size: 28px; font-weight: 700; line-height: 1.25; color: #0f3b48; margin: 0 0 18px; }
.resource-page h3 { font-size: 21px; font-weight: 700; line-height: 1.4; color: #173946; margin: 25px 0 12px; }
.resource-article p { margin: 0 0 18px; }
.resource-article li { margin-bottom: 10px; }
.resource-article ul, .resource-article ol { padding-left: 24px; }
.resource-migration-steps li { padding-left: 6px; }
.resource-migration-steps strong { display: block; color: #173946; }
.resource-checklist, .resource-details { margin-top: 20px; border-top: 1px solid #dae5e8; }
.resource-checklist > summary, .resource-details > summary { padding: 16px 0; cursor: pointer; color: #286580; font-weight: 700; }
.resource-page summary { display: block; position: relative; padding-right: 30px; list-style: none; }
.resource-page summary::-webkit-details-marker { display: none; }
.resource-page summary::after { content: "\f107"; font-family: FontAwesome; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); }
.resource-page details[open] > summary::after { content: "\f106"; }
.resource-shortlist { margin: 0; }
.resource-shortlist > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 24px; padding: 18px 0; border-bottom: 1px solid #dae5e8; }
.resource-shortlist dt { color: #173946; }
.resource-shortlist dd { margin: 0; }
.resource-shortlist dd p:last-child { margin-bottom: 0; }
.resource-note { border-left: 3px solid #66cdcc; padding: 4px 0 4px 18px; font-size: 15px; color: #52616a; }
.resource-table-wrap { max-width: 100%; overflow-x: auto; margin: 20px 0; }
.resource-page table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.6; }
.resource-page caption { text-align: left; padding: 0 0 12px; color: #34454b; font-size: 15px; }
.resource-page th, .resource-page td { padding: 14px 12px; border-bottom: 1px solid #dce5e8; vertical-align: top; text-align: left; }
.resource-page thead th { background: #eef6f7; color: #173946; font-weight: 700; }
.resource-page tbody th { min-width: 125px; width: 23%; color: #173946; font-weight: 700; }
.resource-page .wide-table { min-width: 600px; }
.resource-page .money-table { min-width: 540px; }
.resource-page .money-table td { white-space: nowrap; font-variant-numeric: tabular-nums; }
.resource-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin: 20px 0; }
.resource-page figure { margin: 26px 0; }
.resource-page figure img { width: 100%; height: auto; display: block; }
.resource-page figcaption { font-size: 14px; color: #596970; margin-top: 12px; }
.resource-page blockquote { border-left: 3px solid #66cdcc; padding: 4px 0 4px 20px; margin: 24px 0; font-size: 20px; }
.resource-page blockquote p { margin-bottom: 10px; }
.resource-page blockquote cite { font-style: normal; font-size: 15px; }
.resource-page .resource-next { border-top: 1px solid #dae5e8; padding: 30px 0 0; }
.resource-article .resource-discounts { border-top: 3px solid #66cdcc; border-bottom: 1px solid #dae5e8; padding: 26px 0; }
.resource-discounts .resource-discount-note { margin: 14px 0 0; color: #596970; font-size: 14px; }
.resource-page .resource-footer { position: static; height: auto; background: #f1f6f7; border-top: 1px solid #dae5e8; padding: 28px 0; }
.resource-footer .resource-container { display: flex; gap: 16px 28px; flex-wrap: wrap; }
.resource-footer a { font-size: 15px; }
.resource-skip { position: absolute; left: 16px; top: -100px; background: #fff; padding: 12px; z-index: 100; }
.resource-skip:focus { top: 8px; }
.resource-estimator { margin: 20px 0; }
.resource-estimator-controls { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 24px; border: 1px solid #b7cdd4; border-radius: 6px; background: #f5fafb; scroll-margin-top: 24px; }
.resource-page .resource-estimator-controls h3 { margin: 0 0 6px; }
.resource-estimator-controls p { margin: 0; font-size: 16px; }
.resource-estimator label { display: block; font-size: 15px; color: #173946; }
.resource-estimator-controls label { flex: 0 0 150px; margin: 0; }
.resource-estimator input { display: block; width: 100%; min-width: 0; height: 46px; margin-top: 6px; background: #fff; color: #34454b; border: 1px solid #94b1bc; border-radius: 4px; padding: 8px; font: inherit; }
.resource-estimator .resource-estimate-discount { margin: 0; font-size: 15px; text-align: right; }
.resource-estimate-discount a { display: inline-block; margin-top: 8px; }
.resource-estimator [aria-invalid="true"] { border-color: #ac3434; }
.resource-estimator [hidden] { display: none; }
.resource-page .resource-error { color: #a02828; font-size: 15px; margin: 12px 0 0; }
.resource-article .resource-plan-benefits { display: flex; flex-wrap: wrap; gap: 8px 26px; list-style: none; padding: 0; margin: 0 0 24px; font-size: 16px; font-weight: 700; color: #173946; }
.resource-plan-benefits li { margin: 0; }
.resource-plan-benefits span { color: #286580; margin-right: 6px; }
.resource-anniversary-offer { border-left: 3px solid #66cdcc; background: #f1f8f9; padding: 16px 20px; margin-bottom: 32px; font-size: 16px; }
.resource-anniversary-offer > strong { color: #173946; }
.resource-anniversary-offer p { margin: 4px 0 0; }
.resource-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.resource-estimator .resource-plan-grid { margin-top: 30px; }
.resource-plan { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 24px 20px 18px; border: 1px solid #c6d8de; border-radius: 8px; background: #fff; }
.resource-plan-popular { border: 2px solid #f4b942; padding: 23px 19px 17px; }
.resource-plan-badge { position: absolute; top: -14px; left: 18px; padding: 3px 12px; background: #f4b942; color: #193b4a; border-radius: 20px; font-size: 13px; line-height: 1.5; font-weight: 700; }
.resource-page .resource-plan h3 { margin: 0 0 12px; font-size: 23px; }
.resource-plan .resource-plan-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 6px; margin: 0 0 12px; line-height: 1.3; color: #173946; }
.resource-plan-price output { display: inline; padding: 0; font-size: 32px; font-weight: 700; line-height: inherit; color: inherit; }
.resource-plan-price > span { font-size: 14px; }
.resource-plan-price [data-quote-link] { font-size: 22px; font-weight: 700; line-height: 1.4; }
.resource-plan .resource-plan-billing { font-size: 13px; color: #596970; margin: 0 0 18px; }
.resource-plan-description { font-size: 15px; line-height: 1.6; }
.resource-plan .resource-plan-includes { font-size: 14px; font-weight: 700; color: #173946; margin: 0 0 12px; }
.resource-article .resource-plan-features { list-style: none; padding: 0; margin: 0 0 22px; font-size: 15px; line-height: 1.5; }
.resource-plan-features li { position: relative; padding-left: 20px; margin-bottom: 12px; }
.resource-plan-features li::before { content: '✓'; position: absolute; left: 0; color: #286580; }
.resource-plan-action { margin-top: auto; }
.resource-plan-action .resource-button { width: 100%; }
.resource-plan .resource-plan-trial-note { margin: 10px 0 0; text-align: center; font-size: 13px; line-height: 1.5; color: #52616a; }
.resource-article .resource-plan-help { margin: 22px 0 0; font-size: 15px; }
.resource-onboarding-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.resource-onboarding-card { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 22px 20px; border: 1px solid #d4e2e6; border-radius: 8px; background: #fff; }
.resource-benefit-icon { align-self: flex-start; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; margin-bottom: 22px; border-radius: 50%; background: #edf6f7; color: #286580; font-size: 19px; }
.resource-app-icons { position: relative; isolation: isolate; width: 152px; height: 64px; flex-shrink: 0; margin: 0 auto; }
.resource-app-icons img { position: absolute; display: block; }
.resource-app-resident { top: 7px; left: 0; width: 50px; height: 50px; border-radius: 50%; z-index: 1; }
.resource-app-staff { top: 0; left: 40px; width: 64px; height: 64px; border-radius: 50%; z-index: 2; }
.resource-app-chat { top: 1px; left: 88px; width: 64px; height: 64px; z-index: 1; }
.resource-page .resource-onboarding-card h3 { margin: 16px 0 10px; font-size: 20px; }
.resource-onboarding-card p { font-size: 15px; line-height: 1.6; }
.resource-onboarding-card > a { margin-top: auto; font-size: 15px; font-weight: 700; }
.resource-onboarding-card .resource-benefit-note { color: #52616a; font-size: 14px; }
.resource-scenario-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.resource-scenario-card { min-width: 0; padding: 22px; border: 1px solid #c6d8de; border-radius: 8px; background: #fff; }
.resource-page .resource-scenario-card h3 { margin: 0 0 4px; font-size: 21px; }
.resource-scenario-size { color: #286580; font-size: 16px; font-weight: 700; }
.resource-scenario-prices { margin: 0; }
.resource-scenario-prices > div { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px; border-top: 1px solid #e1eaed; padding: 12px 0; font-size: 15px; }
.resource-scenario-prices > div:last-child { padding-bottom: 0; }
.resource-scenario-prices dt { color: #173946; }
.resource-scenario-prices dd { margin: 0; }
.resource-scenario-prices dd strong, .resource-scenario-prices dd span { display: inline-block; white-space: nowrap; }
.resource-scenario-prices dd span { color: #52616a; }
.resource-article .resource-scenario-benefits { margin: 20px 0 10px; color: #173946; font-size: 16px; font-weight: 700; }
.resource-scenario-benefits i { color: #286580; margin-right: 6px; }
.resource-article .resource-scenario-note { margin: 0; color: #52616a; font-size: 15px; }
.resource-article .resource-migration-timeline { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; list-style: none; padding: 0; margin: 24px 0; }
.resource-migration-timeline li { position: relative; margin: 0; padding: 16px 0 0; border-top: 2px solid #b7d9df; font-size: 15px; line-height: 1.6; }
.resource-migration-timeline li:not(:last-child)::after { content: '→'; position: absolute; top: 13px; right: -22px; color: #286580; font-size: 20px; }
.resource-step-label { display: block; margin-bottom: 10px; color: #286580; font-weight: 700; font-size: 14px; }
.resource-migration-timeline strong { margin-bottom: 8px; }
@media (max-width: 760px) {
    .resource-benefit-icon { margin-bottom: 0; }
    .resource-onboarding-grid, .resource-scenario-grid { grid-template-columns: minmax(0, 1fr); }
    .resource-article .resource-migration-timeline { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .resource-migration-timeline li:not(:last-child)::after { display: none; }
    .resource-plan-grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
    .resource-nav { flex-wrap: wrap; gap: 12px; }
    .resource-nav nav { order: 3; flex-basis: 100%; justify-content: space-between; gap: 12px; margin: 0; }
    .resource-nav > .resource-button { margin-left: auto; padding: 8px 10px; font-size: 15px; }
    .resource-nav img { width: 130px; }
}
@media (max-width: 600px) {
    .resource-container { padding-left: 20px; padding-right: 20px; }
    .resource-breadcrumb { margin: 20px 0; }
    .resource-title { padding-bottom: 24px; }
    .resource-page h1 { font-size: 32px; }
    .resource-intro { font-size: 19px; }
    .resource-page h2 { font-size: 25px; }
    .resource-page h3 { font-size: 20px; }
    .resource-estimator-controls { flex-direction: column; align-items: stretch; gap: 14px; padding: 18px; }
    .resource-estimator-controls label { flex-basis: auto; }
    .resource-page th, .resource-page td { padding: 12px 8px; }
    .resource-shortlist > div { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .resource-contents nav { grid-template-columns: minmax(0, 1fr); }
}
