.housing-life-page {
    --hlp-ink: #11243e;
    --hlp-muted: #56667a;
    --hlp-green: #21c985;
    --hlp-green-dark: #087c59;
    --hlp-mint: #eafbf4;
    --hlp-blue: #2b6fbd;
    --hlp-sky: #edf6ff;
    --hlp-coral: #e86f51;
    --hlp-warm: #fff5e8;
    --hlp-line: #d8e4ed;
    --hlp-white: #fff;
    color: var(--hlp-ink);
    background: #fff;
    font-family: inherit;
    overflow: clip;
}

body.tands-housing-life-view main.inner-page { max-width: none; padding: 0; }

.housing-life-page *,
.housing-life-page *::before,
.housing-life-page *::after { box-sizing: border-box; }

.housing-life-page button { font: inherit; }
.housing-life-page a,
.housing-life-page button { -webkit-tap-highlight-color: transparent; }
.housing-life-page :focus-visible { outline: 3px solid #f3ba45; outline-offset: 3px; }

.hlp-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }

.hlp-hero {
    position: relative;
    min-height: 630px;
    display: grid;
    align-items: end;
    isolation: isolate;
    background: #10283f;
}
.hlp-hero__image,
.hlp-hero__veil { position: absolute; inset: 0; width: 100%; height: 100%; }
.hlp-hero__image { z-index: -2; object-fit: cover; object-position: center; }
.hlp-hero__veil { z-index: -1; background: linear-gradient(90deg, rgba(10,31,50,.36), rgba(10,31,50,.84) 60%, rgba(10,31,50,.96)); }
.hlp-hero__content { padding-block: 112px 72px; color: #fff; }
.hlp-eyebrow,
.hlp-kicker { margin: 0 0 14px; color: var(--hlp-green); font-size: 14px; font-weight: 900; letter-spacing: 0; }
.hlp-hero h1 { max-width: 860px; margin: 0; color: #fff; font-size: clamp(38px,5vw,66px); line-height: 1.15; letter-spacing: 0; }
.hlp-hero__lead { max-width: 820px; margin: 24px 0 0; color: #f5f8fb; font-size: 20px; line-height: 1.92; }
.hlp-hero__support { max-width: 790px; margin: 10px 0 0; color: #cedae4; font-size: 16px; line-height: 1.85; }

.hlp-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.hlp-button {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 22px;
    border: 1px solid transparent;
    border-radius: 6px;
    font-weight: 900;
    text-decoration: none !important;
    cursor: pointer;
    transition: transform .18s ease, background-color .18s ease, border-color .18s ease;
}
.hlp-button:hover { transform: translateY(-2px); }
.hlp-button--primary { color: #063226 !important; background: var(--hlp-green); }
.hlp-button--primary:hover { background: #48dba2; }
.hlp-button--ghost { color: #fff !important; border-color: rgba(255,255,255,.48); background: rgba(255,255,255,.08); }
.hlp-button--ghost:hover { background: rgba(255,255,255,.16); }
.hlp-button--dark { color: #fff !important; background: var(--hlp-ink); }

.hlp-snapshot { position: relative; z-index: 2; border-bottom: 1px solid var(--hlp-line); background: #fff; }
.hlp-snapshot__grid { display: grid; grid-template-columns: repeat(4,1fr); }
.hlp-snapshot article { min-height: 112px; display: flex; gap: 15px; align-items: center; padding: 22px 24px; border-inline-start: 1px solid var(--hlp-line); }
.hlp-snapshot article:first-child { border-inline-start: 0; }
.hlp-snapshot span { min-width: 35px; height: 35px; display: grid; place-items: center; border-radius: 5px; color: var(--hlp-green-dark); background: var(--hlp-mint); font-size: 12px; font-weight: 900; }
.hlp-snapshot p { margin: 0; color: var(--hlp-muted); font-size: 14px; line-height: 1.65; }

.hlp-main { background: #fff; }
.hlp-section { padding-block: 88px; }
.hlp-section__header { max-width: 780px; margin-bottom: 38px; }
.hlp-section__header h2,
.hlp-section__split-head h2,
.hlp-safety-copy h2,
.hlp-case-content h2,
.hlp-final-cta h2 { margin: 0; color: var(--hlp-ink); font-size: clamp(29px,3.7vw,46px); line-height: 1.25; letter-spacing: 0; }
.hlp-section__header > p:last-child,
.hlp-section__split-head > p,
.hlp-safety-copy > p,
.hlp-case-content > p { color: var(--hlp-muted); font-size: 17px; line-height: 1.9; }
.hlp-section__split-head { display: grid; grid-template-columns: minmax(0,1fr) minmax(320px,.72fr); gap: 54px; align-items: end; margin-bottom: 38px; }
.hlp-section__split-head p { margin: 0; }
.hlp-section__header--light h2,
.hlp-section__split-head--light h2 { color: #fff; }
.hlp-section__header--light > p:last-child,
.hlp-section__split-head--light > p { color: #c9d7e3; }

.hlp-section--decisions { background: #f6f9fc; }
.hlp-decision-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.hlp-decision-card { min-height: 250px; display: flex; flex-direction: column; padding: 24px; border: 1px solid var(--hlp-line); border-radius: 7px; background: #fff; box-shadow: 0 10px 32px rgba(17,36,62,.05); }
.hlp-decision-card--featured { grid-column: span 2; background: linear-gradient(125deg,#fff,var(--hlp-mint)); }
.hlp-decision-card__number { color: var(--hlp-green-dark); font-size: 12px; font-weight: 900; }
.hlp-decision-card div { margin-block: 22px auto; }
.hlp-decision-card div p { margin: 0 0 4px; color: var(--hlp-green-dark); font-size: 12px; font-weight: 800; }
.hlp-decision-card h3 { margin: 0; color: var(--hlp-ink); font-size: 21px; letter-spacing: 0; }
.hlp-decision-card div span { display: block; margin-top: 9px; color: var(--hlp-muted); font-size: 14px; line-height: 1.72; }
.hlp-decision-card a { align-self: flex-start; color: var(--hlp-green-dark); font-size: 14px; font-weight: 900; text-decoration: none; }
.hlp-decision-card a::after { content: " ←"; }

.hlp-section--housing { background: #fff; }
.hlp-housing-types { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--hlp-line); border-radius: 7px; overflow: hidden; }
.hlp-housing-types article { min-height: 260px; padding: 26px; border-inline-start: 1px solid var(--hlp-line); }
.hlp-housing-types article:first-child { border-inline-start: 0; }
.hlp-housing-types span { display: inline-block; padding: 5px 9px; border-radius: 4px; color: var(--hlp-green-dark); background: var(--hlp-mint); font-size: 12px; font-weight: 900; }
.hlp-housing-types h3 { margin: 21px 0 10px; color: var(--hlp-ink); font-size: 19px; line-height: 1.5; letter-spacing: 0; }
.hlp-housing-types p { margin: 0; color: var(--hlp-muted); font-size: 14px; line-height: 1.8; }

.hlp-section--rooms { color: #fff; background: var(--hlp-ink); }
.hlp-room-table { overflow-x: auto; border: 1px solid rgba(255,255,255,.18); border-radius: 7px; }
.hlp-room-table table { width: 100%; min-width: 760px; border-collapse: collapse; background: #142d4c; }
.hlp-room-table th,
.hlp-room-table td { padding: 17px 19px; border-bottom: 1px solid rgba(255,255,255,.12); text-align: right; }
.hlp-room-table thead th { color: #052f24; background: var(--hlp-green); font-size: 14px; }
.hlp-room-table tbody th { width: 18%; color: #fff; background: rgba(255,255,255,.04); }
.hlp-room-table tbody td { color: #d8e3ec; line-height: 1.7; }
.hlp-room-table tr:last-child th,
.hlp-room-table tr:last-child td { border-bottom: 0; }

.hlp-section--daily { background: #f5f9fc; }
.hlp-daily-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.hlp-daily-card { padding: 28px; border: 1px solid var(--hlp-line); border-radius: 7px; background: #fff; }
.hlp-daily-card__head { display: flex; gap: 16px; align-items: center; padding-bottom: 18px; border-bottom: 1px solid var(--hlp-line); }
.hlp-daily-card__head span { color: var(--hlp-green-dark); font-size: 13px; font-weight: 900; font-variant-numeric: tabular-nums; }
.hlp-daily-card h3 { margin: 0; color: var(--hlp-ink); font-size: 21px; letter-spacing: 0; }
.hlp-daily-card > p { color: var(--hlp-muted); line-height: 1.8; }
.hlp-daily-card ul { margin: 17px 0 0; padding: 0; list-style: none; }
.hlp-daily-card li { position: relative; padding: 8px 22px 8px 0; color: var(--hlp-ink); font-size: 14px; }
.hlp-daily-card li::before { content: ""; position: absolute; right: 0; top: 16px; width: 8px; height: 8px; border-radius: 50%; background: var(--hlp-green); }

.hlp-section--safety { background: var(--hlp-mint); }
.hlp-safety-layout { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(340px,.8fr); gap: 68px; align-items: center; }
.hlp-safety-points { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin-top: 28px; }
.hlp-safety-points article { padding: 19px; border: 1px solid #b7decf; border-radius: 6px; background: rgba(255,255,255,.66); }
.hlp-safety-points strong,
.hlp-safety-points span { display: block; }
.hlp-safety-points strong { color: var(--hlp-green-dark); }
.hlp-safety-points span { margin-top: 6px; color: var(--hlp-muted); font-size: 13px; line-height: 1.65; }
.hlp-insurance-list { padding: 28px; border-radius: 7px; color: #fff; background: var(--hlp-ink); box-shadow: 0 20px 50px rgba(17,36,62,.14); }
.hlp-insurance-list > p { margin: 0 0 18px; color: var(--hlp-green); font-weight: 900; }
.hlp-insurance-list ol { margin: 0; padding: 0; list-style: none; }
.hlp-insurance-list li { display: flex; gap: 14px; padding: 14px 0; border-top: 1px solid rgba(255,255,255,.12); }
.hlp-insurance-list li > span { color: var(--hlp-green); font-size: 11px; font-weight: 900; }
.hlp-insurance-list strong,
.hlp-insurance-list small { display: block; }
.hlp-insurance-list small { margin-top: 4px; color: #c8d6e1; line-height: 1.55; }

.hlp-section--case { background: #fff; }
.hlp-case-layout { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 54px; align-items: start; }
.hlp-case-label { position: sticky; top: 120px; display: flex; flex-direction: column; padding: 28px; border: 1px solid #f0d5b8; border-radius: 7px; background: var(--hlp-warm); }
.hlp-case-label span { color: #a75d17; font-size: 12px; font-weight: 900; }
.hlp-case-label strong { margin-top: 18px; color: var(--hlp-ink); font-size: 38px; line-height: 1; }
.hlp-case-label small { margin-top: 8px; color: var(--hlp-muted); }
.hlp-case-facts { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin-top: 28px; }
.hlp-case-facts article { padding: 19px; border: 1px solid var(--hlp-line); border-radius: 6px; background: #f9fbfd; }
.hlp-case-facts strong,
.hlp-case-facts span { display: block; }
.hlp-case-facts strong { color: var(--hlp-green-dark); }
.hlp-case-facts span { margin-top: 6px; color: var(--hlp-muted); font-size: 13px; line-height: 1.65; }
.hlp-case-warning { padding: 16px 18px; border-right: 4px solid var(--hlp-coral); color: #774431 !important; background: #fff5f0; font-size: 14px !important; }
.hlp-case-content > a { color: var(--hlp-green-dark); font-weight: 900; }

.hlp-section--checklist { background: #f5f9fc; }
.hlp-checklist-table { overflow-x: auto; border: 1px solid var(--hlp-line); border-radius: 7px; }
.hlp-checklist-table table { width: 100%; min-width: 720px; border-collapse: collapse; background: #fff; }
.hlp-checklist-table th,
.hlp-checklist-table td { padding: 15px 18px; border-bottom: 1px solid var(--hlp-line); text-align: right; }
.hlp-checklist-table thead th { color: #fff; background: var(--hlp-ink); font-size: 14px; }
.hlp-checklist-table tbody th { width: 24%; color: var(--hlp-ink); background: #f8fafc; }
.hlp-checklist-table tbody td:last-child { width: 110px; color: var(--hlp-green-dark); text-align: center; font-size: 20px; }
.hlp-checklist-table tr:last-child th,
.hlp-checklist-table tr:last-child td { border-bottom: 0; }
.hlp-centered-action { display: flex; justify-content: center; margin-top: 24px; }

.hlp-section--connections { color: #fff; background: #0c233a; }
.hlp-connection-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; padding: 1px; background: rgba(255,255,255,.12); }
.hlp-connection-grid article { min-height: 230px; display: flex; flex-direction: column; padding: 25px; background: #132c49; }
.hlp-connection-grid article > span { color: var(--hlp-green); font-size: 11px; font-weight: 900; }
.hlp-connection-grid h3 { margin: 20px 0 8px; color: #fff; font-size: 19px; letter-spacing: 0; }
.hlp-connection-grid p { margin: 0 0 18px; color: #c9d7e2; font-size: 14px; line-height: 1.7; }
.hlp-connection-grid a { margin-top: auto; color: var(--hlp-green); font-size: 14px; font-weight: 900; }

.hlp-section--faq { background: #fff; }
.hlp-faq-layout { display: grid; grid-template-columns: minmax(280px,.67fr) minmax(0,1.2fr); gap: 68px; align-items: start; }
.hlp-faq-layout .hlp-section__header { position: sticky; top: 120px; }
.hlp-faq-list { border-top: 1px solid var(--hlp-line); }
.hlp-faq-list details { border-bottom: 1px solid var(--hlp-line); }
.hlp-faq-list summary { position: relative; padding: 21px 0 21px 40px; color: var(--hlp-ink); font-size: 17px; font-weight: 900; cursor: pointer; list-style: none; }
.hlp-faq-list summary::-webkit-details-marker { display: none; }
.hlp-faq-list summary::after { content: "+"; position: absolute; left: 5px; top: 17px; color: var(--hlp-green-dark); font-size: 25px; font-weight: 400; }
.hlp-faq-list details[open] summary::after { content: "−"; }
.hlp-faq-list details p { margin: 0; padding: 0 0 22px; color: var(--hlp-muted); line-height: 1.85; }

.hlp-final-cta { padding-block: 78px; color: #fff; text-align: center; background: var(--hlp-green-dark); }
.hlp-final-cta h2 { max-width: 820px; margin-inline: auto; color: #fff; }
.hlp-final-cta > .hlp-shell > p:not(.hlp-eyebrow) { max-width: 780px; margin: 18px auto 0; color: #d7f4e9; font-size: 17px; line-height: 1.85; }
.hlp-final-cta .hlp-actions { justify-content: center; }
.hlp-editorial-note { padding-block: 18px; border-top: 1px solid var(--hlp-line); background: #f7fafc; }
.hlp-editorial-note .hlp-shell { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; }
.hlp-editorial-note p { margin: 0; color: #68788b; font-size: 12px; }

.housing-life-page a[aria-disabled="true"] { cursor: default; }

@media (max-width: 1024px) {
    .hlp-decision-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .hlp-housing-types { grid-template-columns: repeat(2,1fr); }
    .hlp-housing-types article:nth-child(3) { border-inline-start: 0; border-top: 1px solid var(--hlp-line); }
    .hlp-housing-types article:nth-child(4) { border-top: 1px solid var(--hlp-line); }
    .hlp-connection-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 760px) {
    .hlp-shell { width: min(100% - 28px,1180px); }
    .hlp-hero { min-height: 690px; }
    .hlp-hero__veil { background: linear-gradient(180deg,rgba(10,31,50,.36),rgba(10,31,50,.95) 56%); }
    .hlp-hero__content { padding-block: 112px 48px; }
    .hlp-hero h1 { font-size: 38px; }
    .hlp-hero__lead { font-size: 17px; line-height: 1.85; }
    .hlp-actions { display: grid; grid-template-columns: 1fr; }
    .hlp-button { width: 100%; }
    .hlp-snapshot__grid { grid-template-columns: repeat(2,1fr); }
    .hlp-snapshot article { min-height: 116px; padding: 16px; border-bottom: 1px solid var(--hlp-line); }
    .hlp-snapshot article:nth-child(odd) { border-inline-start: 0; }
    .hlp-section { padding-block: 62px; }
    .hlp-section__split-head,
    .hlp-safety-layout,
    .hlp-case-layout,
    .hlp-faq-layout { grid-template-columns: 1fr; gap: 26px; }
    .hlp-decision-grid,
    .hlp-housing-types,
    .hlp-daily-grid,
    .hlp-safety-points,
    .hlp-case-facts,
    .hlp-connection-grid { grid-template-columns: 1fr; }
    .hlp-decision-card--featured { grid-column: auto; }
    .hlp-housing-types article { min-height: auto; border-inline-start: 0; border-top: 1px solid var(--hlp-line); }
    .hlp-housing-types article:first-child { border-top: 0; }
    .hlp-case-label,
    .hlp-faq-layout .hlp-section__header { position: static; }
    .hlp-case-label { flex-direction: row; align-items: center; gap: 12px; }
    .hlp-case-label strong { margin: 0; font-size: 28px; }
    .hlp-room-table,
    .hlp-checklist-table { margin-inline: -14px; border-radius: 0; }
    .hlp-editorial-note .hlp-shell { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
    .housing-life-page *,
    .housing-life-page *::before,
    .housing-life-page *::after { scroll-behavior: auto !important; transition: none !important; }
}
