/* Retirement landing page only. Preserve the shared service layout elsewhere. */
.retirement-page {
  --retirement-paper: #f4f8f7;
  --retirement-ink: #071e36;
  --retirement-body: #465967;
  background: #fff;
}
.retirement-page #main-content > section { scroll-margin-top: 88px; }
.retirement-page .svc-header {
  background: rgba(7,30,54,.96);
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.retirement-page .svc-header__inner { max-width: 1200px; padding-block: 12px; }
.retirement-page .svc-header__brand-name,
.retirement-page .svc-header__phone { color: #fff; }
.retirement-page .svc-header__back { color: #d6e5e8; }
.retirement-page .svc-header__phone svg { color: var(--brand-accent); }
.retirement-page .svc-header a { text-decoration: none; min-height: 44px; align-items: center; }
.retirement-page .svc-header__back { display: inline-flex; }
.retirement-page a:focus-visible,
.retirement-page button:focus-visible,
.retirement-page summary:focus-visible {
  outline: 3px solid var(--brand-accent);
  outline-offset: 5px;
}
.retirement-page .svc-hero {
  position: relative;
  padding: clamp(48px, 6vw, 80px) 0;
  background-color: var(--brand-navy);
  background-image:
    linear-gradient(90deg, rgba(7,30,54,.18) 0%, rgba(7,30,54,.86) 50%, rgba(7,30,54,.97) 100%),
    linear-gradient(0deg, #071e36 0%, rgba(7,30,54,0) 70%),
    url('/assets/images/hero-halong-bay.webp');
  background-size: cover;
  background-position: center, center, center bottom;
}
.retirement-page .svc-hero__grid {
  max-width: 1200px;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr);
  gap: clamp(32px, 6vw, 80px);
}
.retirement-page .retirement-hero-content { text-align: center; min-width: 0; }
.retirement-page .retirement-hero-label {
  color: #d1e7e5;
  font-size: .95rem;
  margin-bottom: 18px;
}
.retirement-page .svc-hero h1 {
  color: #fff;
  font-size: clamp(2.25rem, 3.9vw, 3.4rem);
  line-height: 1.16;
  letter-spacing: -.025em;
  margin-bottom: 24px;
}
.retirement-page .retirement-heading-line { display: block; color: #fff; }
.retirement-page .retirement-heading-accent { color: var(--brand-accent); }
.retirement-page .retirement-heading-detail {
  display: block;
  color: #fff;
  margin-top: 14px;
  font-size: .56em;
  line-height: 1.4;
  letter-spacing: 0;
  font-weight: 700;
}
.retirement-page .svc-hero__lead {
  color: #e0e9ef;
  font-size: 1.08rem;
  line-height: 1.85;
  margin: 0 auto 24px;
}
.retirement-page .svc-hero__ctas { justify-content: center; margin-bottom: 20px; }
.retirement-page .btn-primary {
  min-height: 52px;
  padding: 14px 26px;
  border-radius: 12px;
  background: var(--brand-teal);
  color: #fff;
  animation: none;
}
.retirement-page .btn-primary::before,
.retirement-page .btn-primary::after { display: none; }
.retirement-page .svc-hero .btn-primary {
  background: #0b6b63;
  border: 1px solid rgba(15,185,168,.6);
  box-shadow: 0 8px 28px rgba(0,0,0,.15);
}
.retirement-page .svc-hero__trustline {
  color: #dae7eb;
  font-size: .9rem;
  line-height: 1.8;
}
.retirement-page .svc-hero__trustline a { color: #fff; text-underline-offset: 4px; }
.retirement-page .svc-hero__microcopy {
  color: #c5d7de;
  font-size: .875rem;
  line-height: 1.7;
  margin-inline: auto;
}
.retirement-page .retirement-hero-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 24px;
  margin: 20px auto 16px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.15);
}
.retirement-page .retirement-hero-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: .95rem;
  font-weight: 500;
  color: #e0e9ef;
  text-decoration: none;
}
.retirement-page .retirement-hero-nav a:hover { text-decoration: underline; text-underline-offset: 5px; }
.retirement-page .svc-hero__photo-wrap { align-items: center; width: 100%; }
.retirement-page .svc-hero__photo {
  width: min(100%, 320px);
  aspect-ratio: auto;
  border: 0;
  background: none;
  border-radius: 0;
  overflow: visible;
}
.retirement-page .svc-hero__photo img {
  width: 100%;
  height: auto;
  object-fit: contain;
  mask-image: linear-gradient(to bottom, #000 90%, transparent 100%);
}
.retirement-page .svc-hero__caption { color: #d6e5e8; font-size: .875rem; line-height: 1.7; max-width: 280px; }
.retirement-page .svc-section {
  padding-block: clamp(56px, 7vw, 88px);
  border-top: 0;
}
.retirement-page .svc-wrap { max-width: 920px; }
.retirement-page .svc-wrap--wide { max-width: 1200px; }
.retirement-page .svc-h2 {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.3;
  margin-bottom: 24px;
  letter-spacing: -.02em;
}
.retirement-page .svc-p { color: var(--retirement-body); line-height: 1.9; }
.retirement-page .retirement-about { background: #fff; }
.retirement-page .svc-about { grid-template-columns: 320px minmax(0, 1fr); align-items: center; gap: 64px; }
.retirement-page .svc-about__photo img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 20px;
  box-shadow: 0 16px 48px rgba(7,30,54,.08);
}
.retirement-page .svc-about__pills { gap: 8px; }
.retirement-page .svc-about__pills .about-pill {
  border-radius: 8px;
  font-size: .875rem;
  box-shadow: none;
  transform: none;
}
.retirement-page .retirement-questions {
  background: linear-gradient(180deg, #f4f8f7, #edf5f2);
}
.retirement-page .retirement-questions .svc-wrap { max-width: 1200px; }
.retirement-page .svc-quotes { gap: 28px 48px; }
.retirement-page .svc-quote {
  font-size: clamp(1.1rem, 1.6vw, 1.3rem);
  line-height: 1.75;
  padding: 12px 24px 12px 0;
  border-right-width: 2px;
  font-weight: 500;
}
.retirement-page .svc-features-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.retirement-page .svc-feature,
.retirement-page .svc-feature:nth-child(-n+2) {
  border-top: 2px solid var(--brand-accent);
  padding-top: 20px;
}
.retirement-page .svc-feature h3 { font-size: 1.2rem; margin-bottom: 12px; }
.retirement-page .svc-feature p { font-size: 1rem; line-height: 1.8; color: var(--retirement-body); }
.retirement-page .retirement-scenarios {
  background: radial-gradient(ellipse at 10% 100%, rgba(15,185,168,.14), transparent 65%), #071e36;
}
.retirement-page .retirement-scenarios .svc-h2 { color: #fff; }
.retirement-page .retirement-scenarios .svc-p,
.retirement-page .svc-forecast-caption { color: #c9dce3; }
.retirement-page .svc-scenario-grid { gap: 20px; margin-top: 36px; }
.retirement-page .svc-scenario-card {
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 16px;
  padding: 30px 26px;
  background: rgba(255,255,255,.05);
}
.retirement-page .svc-scenario-card h3 { color: #fff; font-size: 1.25rem; margin-bottom: 22px; }
.retirement-page .svc-scenario-card li { color: #dce7eb; font-size: 1rem; line-height: 1.8; }
.retirement-page .svc-forecast-caption { font-size: .95rem; line-height: 1.8; margin-top: 24px; }
.retirement-page #svc-how { background: var(--retirement-paper); }
.retirement-page #svc-how .svc-wrap { max-width: 1200px; }
.retirement-page .svc-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  margin-top: 40px;
}
.retirement-page .svc-step,
.retirement-page .svc-step:last-child {
  flex-direction: column;
  gap: 16px;
  padding: 0 0 24px;
  border-bottom: 1px solid rgba(11,107,99,.18);
}
.retirement-page .svc-step::before {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background: #e1efeb;
  border-radius: 50%;
  font-size: 1.05rem;
}
.retirement-page .svc-step-text strong { font-size: 1.16rem; margin-bottom: 10px; }
.retirement-page .svc-step-text span { font-size: 1rem; line-height: 1.8; }
.retirement-page .retirement-team { background: #fff; }
.retirement-page .svc-team-grid { gap: 40px; }
.retirement-page .svc-team-member {
  padding: 30px;
  border: 1px solid #deebe7;
  border-radius: 20px;
  background: var(--retirement-paper);
}
.retirement-page .svc-team-member__photo {
  width: 180px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #e3f0ec;
  border: 1px solid #d4e7df;
  margin-bottom: 24px;
}
.retirement-page .svc-team-member__photo img { object-position: center 20%; }
.retirement-page .svc-team-member:first-child .svc-team-member__photo img { object-position: center top; }
.retirement-page .svc-team-member:nth-child(2) .svc-team-member__photo img { transform: scale(1.25); transform-origin: center 20%; }
.retirement-page .svc-team-member h3 { font-size: 1.35rem; }
.retirement-page .svc-team-member__role { font-size: 1rem; line-height: 1.6; }
.retirement-page .svc-team-member ul li { font-size: 1rem; line-height: 1.7; color: var(--retirement-body); }
.retirement-page .svc-team-member__link { min-height: 44px; font-size: 1rem; display: inline-flex; align-items: center; }
.retirement-page .svc-team-belief { margin-top: 32px; color: var(--retirement-ink); }
.retirement-page .svc-path-card { padding: 28px; border-radius: 16px; }
.retirement-page .svc-path-card--featured { background: #f1f8f5; border-color: var(--brand-teal); }
.retirement-page .svc-path-card h3 { font-size: 1.2rem; line-height: 1.5; }
.retirement-page .svc-path-card p { font-size: 1rem; line-height: 1.8; }
.retirement-page .svc-path-card .service-link { color: var(--brand-teal); min-height: 44px; }
.retirement-page .retirement-reviews { background: var(--retirement-paper); }
.retirement-page .svc-reviews-grid .review-card,
.retirement-page .svc-reviews-carousel .review-card { background: #fff; border-color: #deebe7; border-radius: 16px; }
.retirement-page .retirement-reviews .review-text { font-size: 1rem; line-height: 1.85; color: var(--retirement-body); }
.retirement-page .svc-reviews-carousel {
  overflow-x: auto;
  scroll-snap-type: x proximity;
  -webkit-mask-image: none;
  mask-image: none;
}
.retirement-page .svc-reviews-carousel__track { animation: none; width: auto; gap: 20px; padding-bottom: 16px; }
.retirement-page .svc-reviews-carousel .review-card { margin-inline-start: 0; scroll-snap-align: start; }
.retirement-page .svc-reviews-carousel__dup { display: none; }
.retirement-page .svc-form-section {
  background: radial-gradient(ellipse at 90% 0%, rgba(15,185,168,.15), transparent 60%), #071e36;
}
.retirement-page .svc-form-section .svc-p { color: #dce7eb; max-width: 760px; }
.retirement-page .svc-form-section .svc-h2 { max-width: 860px; }
.retirement-page .svc-form-grid { gap: 48px; align-items: center; }
.retirement-page .svc-form-wrap { border-radius: 20px; box-shadow: 0 24px 64px rgba(0,0,0,.15); }
.retirement-page .svc-form-trust { gap: 28px; }
.retirement-page .svc-form-trust-item span { font-size: 1.05rem; line-height: 1.85; }
.retirement-page .svc-form-wrap .contact-form input,
.retirement-page .svc-form-wrap .contact-form select { min-height: 54px; font-size: 1rem; }
.retirement-page .svc-form-wrap .form-submit { min-height: 56px; white-space: normal; line-height: 1.5; }
.retirement-page .svc-form-wa-note,
.retirement-page .svc-form-consent { color: #536670; font-size: .9rem; line-height: 1.7; }
.retirement-page .retirement-faq .svc-wrap { max-width: 1000px; }
.retirement-page .svc-faq-item { padding-block: 24px; }
.retirement-page .svc-faq-item h3 { font-size: 1.15rem; }
.retirement-page .svc-faq-item p { font-size: 1rem; line-height: 1.85; }
.retirement-page .svc-calc-mini { background: var(--retirement-paper); padding-block: 32px; }
.retirement-page .svc-calc-intro { font-size: 1rem; line-height: 2; }
@media (max-width: 1000px) {
  .retirement-page .svc-about { grid-template-columns: 250px minmax(0, 1fr); gap: 32px; }
  .retirement-page .svc-features-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .retirement-page .svc-hero { padding: 32px 0 48px; background-image: linear-gradient(0deg, #071e36, rgba(7,30,54,.7)), url('/assets/images/hero-halong-bay-mobile.webp'); }
  .retirement-page .svc-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 18px; max-width: 680px; }
  .retirement-page .svc-hero__photo-wrap { order: -1; max-width: 112px; }
  .retirement-page .svc-hero__photo { width: 112px; }
  .retirement-page .svc-hero__caption { display: none; }
  .retirement-page .svc-hero h1 { font-size: 2.2rem; }
  .retirement-page .svc-hero__lead { font-size: 1rem; line-height: 1.8; }
  .retirement-page .retirement-hero-label { font-size: .875rem; margin-bottom: 12px; }
  .retirement-page .svc-about { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .retirement-page .svc-about__photo { max-width: 240px; }
  .retirement-page .svc-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .retirement-page .svc-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .retirement-page .svc-team-member { padding: 24px; min-width: 0; }
  .retirement-page .svc-team-member__photo { width: 140px; max-width: 100%; }
  .retirement-page .svc-reviews-grid { gap: 16px; }
}
@media (max-width: 600px) {
  .retirement-page .svc-header__brand-name { font-size: .9rem; }
  .retirement-page .svc-header__back { font-size: .8rem; }
  .retirement-page .svc-hero__photo-wrap,
  .retirement-page .svc-hero__photo { width: 88px; max-width: 88px; }
  .retirement-page .svc-hero h1 { font-size: 1.9rem; margin-bottom: 20px; }
  .retirement-page .retirement-heading-detail { font-size: .65em; margin-top: 10px; }
  .retirement-page .svc-hero__trustline { font-size: .875rem; }
  .retirement-page .retirement-hero-nav { gap: 8px 18px; margin-top: 16px; }
  .retirement-page .svc-hero__ctas .btn-primary { width: 100%; padding-inline: 16px; }
  .retirement-page .svc-section { padding-block: 48px; }
  .retirement-page .svc-h2 { font-size: 1.8rem; }
  .retirement-page .svc-features-grid,
  .retirement-page .svc-team-grid,
  .retirement-page .svc-steps { grid-template-columns: minmax(0, 1fr); }
  .retirement-page .svc-step { flex-direction: row; gap: 16px; padding-bottom: 20px; }
  .retirement-page .svc-step-text { min-width: 0; }
  .retirement-page .svc-steps { gap: 20px; }
  .retirement-page .svc-quotes { gap: 24px; }
  .retirement-page .svc-quote { padding-right: 18px; }
  .retirement-page .svc-team-member__photo { width: 132px; }
  .retirement-page .svc-form-grid { gap: 32px; }
  .retirement-page .svc-form-wrap { padding: 24px 20px; }
  .retirement-page .svc-form-wrap .form-row { grid-template-columns: minmax(0, 1fr); }
  .retirement-page .svc-calc-mini { padding-block: 28px; }
}

/* Real cases: compact editorial rows, with the full story on demand. */
.retirement-page .retirement-cases { background: var(--retirement-paper); }
.retirement-page .retirement-cases-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:48px; margin-top:28px; }
.retirement-page .retirement-case { min-width:0; border-top:1px solid #cadbd5; padding:24px 0; }
.retirement-page .retirement-case summary { cursor:pointer; list-style:none; }
.retirement-page .retirement-case summary::-webkit-details-marker { display:none; }
.retirement-page .retirement-case-topic { display:block; color:var(--retirement-body); font-size:.9rem; margin-bottom:8px; }
.retirement-page .retirement-case h3 { color:var(--retirement-ink); font-size:1.25rem; line-height:1.5; margin:0 0 10px; }
.retirement-page .retirement-case-result { display:block; font-size:1.05rem; line-height:1.7; font-weight:700; color:var(--brand-teal); }
.retirement-page .retirement-case-toggle { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-top:8px; color:var(--brand-teal); font-weight:600; }
.retirement-page .retirement-case-toggle::before { content:'+'; font-size:1.3rem; }
.retirement-page .retirement-case[open] .retirement-case-toggle::before { content:'−'; }
.retirement-page .retirement-case-body { color:var(--retirement-body); font-size:1rem; line-height:1.85; }
.retirement-page .retirement-case-body p { margin:12px 0 0; }
.retirement-page .retirement-cases-note { max-width:850px; color:var(--retirement-body); font-size:.85rem; line-height:1.75; margin:20px 0 24px; }
@media(max-width:700px) {
  .retirement-page .retirement-cases-list { grid-template-columns:minmax(0,1fr); }
  .retirement-page .retirement-case { padding-block:20px; }
}


/* Compact previews of technically redacted original approvals. */
.retirement-case-documents { display:flex; flex-wrap:wrap; gap:16px; margin-top:20px; }
.retirement-case-documents figure { margin:0; flex:0 1 210px; max-width:100%; }
.retirement-case-documents a { display:block; border:1px solid #d8e4e4; border-radius:6px; overflow:hidden; }
.retirement-page .retirement-case-documents img { display:block; width:100%; height:auto; object-fit:contain; }
.retirement-case-documents figcaption { margin-top:8px; font-size:.8rem; line-height:1.6; color:#536570; }
.retirement-case-documents a:focus-visible { outline:3px solid #087f78; outline-offset:4px; }

.retirement-page .retirement-form-field { min-width:0; }
.retirement-page .retirement-form-field label { display:block; color:#183447; font-size:1rem; font-weight:600; line-height:1.5; margin-bottom:7px; }
.retirement-page .retirement-form-field input, .retirement-page .retirement-form-field select { width:100%; box-sizing:border-box; }
.retirement-page .svc-form-channel-note { color:#dce7eb; font-size:1rem; line-height:1.7; max-width:760px; }
.retirement-page .retirement-more-reviews { margin-top:20px; }
.retirement-page .retirement-more-reviews summary { cursor:pointer; color:var(--brand-teal); font-weight:600; padding:12px 0; min-height:44px; }
.retirement-page .retirement-more-reviews summary:focus-visible { outline:3px solid var(--brand-teal); outline-offset:4px; }
