/* Native component layout and typography live in Atomic global classes.
   Retained CSS: decoration, state/descendant rules and breakpoint exceptions. */
.lc-home-current .lc-home-section { width: calc(100% - 2 * var(--lc-navigation-gutter,32px)); max-width: var(--lc-navigation-content-width,1680px); margin: var(--lc-layout-section-gap) auto 0; padding: 0 28px; scroll-margin-top: 128px; --lc-reveal-duration: .8; }
.lc-home-current .lc-home-section-title { letter-spacing: -.035em; text-wrap: balance; }
.lc-home-current .lc-home-section-intro { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: clamp(32px,5vw,88px); margin-bottom: 40px; padding: 0; }
.lc-home-current .lc-home-section-intro>.lcsg-b-body { max-width: 600px; justify-self: end; }
.lc-home-current .lc-home-promise-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; padding: 0; }
.lc-home-current .lc-home-promise { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; min-width: 0; }
.lc-home-current .lc-home-promise .lc-block-number { color: var(--lc-burnt-orange,#9b4a25); font-size: 14px; letter-spacing: .04em; }
.lc-home-current .lc-home-difference-close { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 32px 0 0; }
.lc-home-current .lc-home-difference-close>.lcsg-b-body { max-width: 800px; }
.lc-home-current .lc-home-difference-close>.lc-companion-link { flex-shrink: 0; }
.lc-home-current .lc-home-timing-panel { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px,6vw,104px); align-items: start; }
.lc-home-current .lc-home-timing-copy { gap: 24px; min-width: 0; max-width: 620px; padding: 0; }
.lc-home-current .lc-home-timing-copy .lc-block-actions { padding-top: 8px; }
.lc-home-current .lc-home-timing-details { padding: 8px 0 0; min-width: 0; }
.lc-home-current .lc-home-list-label { margin-bottom: 24px; }
.lc-home-current .lc-home-signs { list-style: none; display: flex; flex-direction: column; gap: 24px; margin: 0; padding: 0; }
.lc-home-current .lc-home-sign { display: flex; gap: 16px; align-items: flex-start; padding: 0; }
.lc-home-current .lc-home-sign:before { content: ''; position: static; inset: auto; width: 10px; height: 10px; flex: 0 0 10px; margin-top: 10px; border-radius: 50%; background: var(--lc-burnt-orange,#9b4a25); }
.lc-home-current .lc-home-reassurance { font-size: 16px; line-height: 1.6; margin: 28px 0 0 26px; max-width: 40ch; }
.lc-home-current .lc-home-resource-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; padding: 0; }
.lc-home-current .lc-home-resource-card { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; min-width: 0; }
.lc-home-current .lc-home-resource-card .lc-block-card-title { text-wrap: balance; }
.lc-home-current .lc-home-resource-card .lcsg-b-body { font-size: 17px; }
.lc-home-current .lc-home-resource-card>.lc-companion-link { margin-top: auto; }
.lc-home-current .lc-home-closing { margin-block: 88px 80px; }
.lc-home-current .lc-home-invitation { display: flex; align-items: center; justify-content: space-between; gap: 40px; background: var(--lc-white,#fff); padding: 48px; }
.lc-home-current .lc-home-invitation>.lc-block-copy { padding: 0; gap: 24px; max-width: 860px; }
.lc-home-current .lc-home-invitation .lc-home-section-title { font-size: clamp(36px,3vw,48px); }
.lc-home-current .lc-home-invitation>.lc-choice-button { flex-shrink: 0; }
@media (max-width: 1500px) {
  .lc-home-current .lc-home-section { padding-inline: 24px; }
  .lc-home-current .lc-home-resource-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
}
@media (max-width: 1024px) {
  .lc-home-current .lc-home-section-intro { grid-template-columns: 1fr; gap: 24px; }
  .lc-home-current .lc-home-section-intro>.lcsg-b-body { justify-self: start; max-width: 720px; }
  .lc-home-current .lc-home-promise-grid { gap: 16px; }
  .lc-home-current .lc-home-promise { padding: 24px; }
  .lc-home-current .lc-home-difference-close { align-items: flex-start; flex-direction: column; gap: 24px; }
  .lc-home-current .lc-home-timing-panel { gap: 40px; padding: 36px; }
  .lc-home-current .lc-home-invitation { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 767px) {
  .lc-home-current .lc-home-section { margin-block: var(--lc-layout-section-gap) 0; padding-inline: 16px; scroll-margin-top: 156px; }
  .lc-home-current .lc-home-section-intro { margin-bottom: 28px; }
  .lc-home-current .lc-home-promise-grid, .lc-home-current .lc-home-resource-grid { grid-template-columns: 1fr; gap: 16px; }
  .lc-home-current .lc-home-promise, .lc-home-current .lc-home-resource-card { gap: 18px; }
  .lc-home-current .lc-home-timing-panel { grid-template-columns: 1fr; padding: 28px 24px; gap: 36px; }
  .lc-home-current .lc-home-timing-copy { gap: 22px; }
  .lc-home-current .lc-home-timing-details { padding: 0; }
  .lc-home-current .lc-home-reassurance { margin-left: 0; }
  .lc-home-current .lc-home-invitation { padding: 28px 24px; gap: 28px; }
  .lc-home-current .lc-home-invitation .lc-home-section-title { font-size: 36px; }
  .lc-home-current .lc-home-closing { margin-bottom: 72px; }
}
@media (max-width: 360px) {
  .lc-home-current .lc-home-timing-panel, .lc-home-current .lc-home-invitation { padding-inline: 16px; }
  .lc-home-current .lc-home-section .lc-choice-button { padding-inline: 16px 38px; }
  .lc-home-current .lc-home-section .lc-companion-link { white-space: normal; }
}
.lc-home-current .lc-timing-section { isolation: isolate; width: calc(100% - 2rem); max-width: none; margin: 2.5rem auto 0; padding: 4.5rem 0; background: radial-gradient(ellipse 85% 140% at -15% 60%,#ffe0a866 0%,#f5a45d4d 32%,transparent 70%),linear-gradient(110deg,#263954,#1a305b 72%); }
.lc-home-current .lc-timing-section:before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url('backgrounds/fine-grain.svg'); opacity: .24; mix-blend-mode: soft-light; }
.lc-home-current .lc-timing-section:after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: repeating-radial-gradient(ellipse at -20% 60%,transparent 0 64px,#fff 65px,transparent 66px 100px); opacity: .025; }
.lc-home-current .lc-timing-intro { margin-inline: auto; }
.lc-home-current .lc-timing-intro>.lc-block-label { color: var(--lc-eyebrow-color,#40536e); }
.lc-home-current .lc-timing-sign { overflow: clip; background: #fff; }
.lc-home-current .lc-timing-sign:before { content: ''; position: static; inset: auto; display: block; flex: 0 0 4px; width: 32px; height: 4px; border-radius: 3px; background: linear-gradient(100deg,#f5a45d,#f5d28a); margin-bottom: 4px; }
.lc-home-current .lc-timing-invitation { isolation: isolate; }
.lc-home-current .lc-timing-invitation:before { content: ''; position: absolute; inset: 0; pointer-events: none; z-index: -1; background: radial-gradient(ellipse at 100% 0%,#ffffff21,transparent 60%),linear-gradient(110deg,transparent 30%,#ffffff08 60%,transparent); }
.lc-home-current .lc-timing-invitation>.lc-choice-button { flex-shrink: 0; }
@media (max-width: 767px) {
  .lc-home-current .lc-timing-section { padding: 3rem 0; margin-top: 1.5rem; }
  .lc-home-current .lc-timing-sign-grid { gap: 16px; }
}
.lc-home-current .lc-support-feature { isolation: isolate; background: var(--lc-button-soft,#ffeddf); box-shadow: 0 10px 28px #1a305b0d; }
.lc-home-current .lc-support-feature:before { content: none; }
.lc-home-current .lc-support-feature:after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url('backgrounds/fine-grain.svg'); opacity: .09; mix-blend-mode: multiply; }
.lc-home-current .lc-support-feature-copy>.lc-block-label { color: var(--lc-eyebrow-color,#40536e); }
.lc-home-current .lc-support-photo { mask: none; -webkit-mask: none; }
body.lc-page-home .lc-home-current .lc-support-card { isolation: isolate; background: #fff; border: 0; box-shadow: 0 6px 18px #1a305b08; }
.lc-home-current .lc-support-card-title { text-wrap: balance; }
.lc-home-current .lc-support-card:before, .lc-home-current .lc-support-card:after { content: none; }
.lc-home-current .lc-support-feature>.lc-support-bottom { gap: 16px 20px; border: 0; border-top: 1px solid #1a305b20; }
.lc-home-current .lc-support-bottom>.lcsg-b-body { text-wrap: pretty; }
.lc-home-current .lc-support-bottom>.lc-companion-link { white-space: nowrap; }
@media (min-width: 1025px) {
  .lc-home-current .lc-support-secondary { height: 100%; grid-template-rows: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .lc-home-current .lc-support-feature>.lc-support-bottom { justify-items: start; gap: 12px; }
}
.lc-home-current .lc-support-card>.lc-block-label { color: var(--lc-eyebrow-color,#40536e); }
@media (max-width: 767px) {
  .lc-home-current .lc-support-grid, .lc-home-current .lc-support-secondary { gap: 16px; }
  .lc-home-current .lc-support-section { gap: 28px; }
  .lc-home-current .lc-support-bottom .lc-companion-link { white-space: normal; }
}
.lc-home-current .lc-closing-section { scroll-margin-top: 140px; background: linear-gradient(115deg,#f8ecdc 0%,#f6e6cf 58%,#f3dcc1 100%); }
.lc-home-current .lc-closing-section:before { content: ''; position: absolute; pointer-events: none; width: 82%; height: 220%; inset: auto -37% -175% auto; border-radius: 50%; background: linear-gradient(150deg,#e8c7a1,#efd7b9); border: 1px solid #ffffff70; box-shadow: 0 -16px 60px #9b4a2507; z-index: -1; }
.lc-home-current .lc-closing-section:after { content: ''; position: absolute; inset: 0; pointer-events: none; background: url('backgrounds/fine-grain.svg') repeat; opacity: .07; mix-blend-mode: multiply; z-index: -1; }
.lc-home-current .lc-closing-title { text-wrap: balance; }
.lc-home-current .lc-closing-copy>.lcsg-b-body { font-size: 19px; line-height: 1.7; }
@media (max-width: 767px) {
  .lc-home-current .lc-closing-section:before { width: 160%; height: 100%; right: -85%; bottom: -75%; }
  .lc-home-current .lc-closing-copy>.lcsg-b-body { font-size: 18px; }
  .lc-home-current .lc-closing-actions .lc-choice-button { font-size: 14px; max-width: 100%; }
  .lc-home-current .lc-closing-reassurance { font-size: 20px; }
}
