/* Native component layout and typography live in Atomic global classes.
   Retained CSS: decoration, state/descendant rules and breakpoint exceptions. */
.lc-ft-review { --lc-navigation-content-width: 1680px; --lc-navigation-gutter: clamp(16px,2vw,32px); --lc-footer-shell: 1680px; --lc-footer-content: 1440px; --lc-footer-reading: 720px; }
.lc-ft, .lc-ft *, .lc-ft-review, .lc-ft-review * { box-sizing: border-box; }
.elementor .lc-ft-review { padding: 0; overflow: visible; }
.lc-ft-review :where(h1, h2, h3, p), .lc-ft :where(h1, h2, h3, p) { margin: 0; }
.lc-ft-review-main { gap: 0; }
.lc-ft-review-intro, .lc-ft-caption { width: calc(100% - 2 * clamp(24px,6vw,80px)); max-width: var(--lc-footer-content,1440px); margin-inline: auto; align-items: flex-start; }
.lc-ft-review-intro { padding: 80px 0 32px !important; gap: 22px; }
.lc-ft-review-title { letter-spacing: -.04em; }
.lc-ft-review-copy { max-width: var(--lc-footer-reading,720px); }
.lc-ft-review-jumps { gap: 16px 36px; flex-wrap: wrap; margin-top: 8px; }
.lc-ft-review-note { max-width: 900px; opacity: .7; margin-top: 16px !important; }
.lc-ft-label { letter-spacing: .12em; }
.lc-ft-option { gap: 28px; padding: 72px 0 0 !important; scroll-margin-top: 140px; }
.lc-ft-option:last-child { padding-bottom: 32px !important; }
.lc-ft-caption { gap: 12px; }
.lc-ft-caption>.lc-ft-copy { max-width: 760px; }
.lc-ft-study-title { letter-spacing: -.025em; }
.lc-ft { isolation: isolate; }
.lc-ft-inner { max-width: var(--lc-footer-content,1440px); gap: 32px; }
.lc-ft--boxed { max-width: var(--lc-footer-shell,1680px); margin-inline: auto; }
.lc-ft-heading { letter-spacing: -.025em; }
.lc-ft-logo { width: 310px; max-width: 100%; height: auto; object-fit: contain; }
.lc-ft .lc-ft-compact-brand { flex-direction: row; align-items: center; gap: 52px; }
.lc-ft .lc-ft-compact-brand>a:has(.lc-ft-logo) { display: block; flex: 0 1 310px; width: 310px; line-height: 0; }
.lc-ft-tagline { font-size: 30px; white-space: nowrap; }
.lc-ft-compact-top { grid-template-columns: 1fr auto; gap: 40px; align-items: center; padding-bottom: 32px !important; border-bottom: 1px solid #ffffff30; }
.lc-ft-social-block { gap: 12px; align-items: flex-start; }
.lc-ft-socials { gap: 10px; flex-wrap: wrap; }
.lc-ft .lc-ft-social { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 17px; border: 1px solid color-mix(in srgb,currentColor 24%,transparent); background: transparent; color: inherit; box-shadow: none; white-space: nowrap; opacity: 1; cursor: default; transition: background-color .25s,border-color .25s; }
.lc-ft .lc-ft-social:hover { background: color-mix(in srgb,currentColor 8%,transparent); border-color: color-mix(in srgb,currentColor 44%,transparent); }
.lc-ft-compact-middle { grid-template-columns: 1fr auto; gap: 24px; align-items: center; }
.lc-ft-quick-links { gap: 8px 28px; flex-wrap: wrap; align-items: center; }
.lc-ft .lc-ft-link, .lc-ft-review .lc-ft-link { white-space: normal; cursor: pointer; }
.lc-ft-link::after { content: ''; position: absolute; inset: auto 0 8px; height: 2px; background: var(--lc-link-gradient); transform: scaleX(0); transform-origin: left; transition: transform .3s ease; pointer-events: none; }
.lc-ft-link:is(:hover, :focus-visible)::after { transform: scaleX(1); }
.lc-ft a:focus-visible, .lc-ft-review a:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.lc-ft-legal { gap: 12px 28px; border-top: 1px solid color-mix(in srgb,currentColor 18%,transparent); }
.lc-ft-small { opacity: .8; }
.lc-ft-box-top { gap: 7%; }
.lc-ft-sitemap { gap: 30px; }
.lc-ft-group { gap: 0; }
.lc-ft-right-brand { gap: 24px; padding-left: 36px !important; border-left: 1px solid #1a305b20; }
.lc-ft-right-brand .lc-ft-logo { width: 294px; }
.lc-ft-right-brand .lc-ft-heading { font-size: 32px; }
.lc-ft-right-brand .lc-ft-copy { font-size: 16px; }
.lc-ft-box-bottom { justify-content: space-between; gap: 28px; align-items: flex-end; padding-top: 4px !important; }
.lc-ft-signoff { letter-spacing: -.02em; }
.lc-ft--brand:before { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(135deg,var(--lc-apricot,#f5a45d),var(--lc-golden-light,#f5d28a)); mask: url('backgrounds/corner-sunline.svg') center/100% 100% no-repeat; opacity: .19; }
.lc-ft--brand:after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(ellipse at 100% 100%,#f5a45d25,transparent 65%); }
.lc-ft-brand-top { grid-template-columns: 1fr auto; gap: 40px; align-items: center; }
.lc-ft-invitation-copy { gap: 18px; }
.lc-ft-invitation-actions { gap: 8px; align-items: flex-start; min-width: 200px; }
.lc-ft .lc-ft-contact { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 13px 54px 13px 28px; width: fit-content; text-decoration: none; overflow: hidden; isolation: isolate; }
.lc-ft-contact:before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(115deg,var(--lc-brand-1,#1a305b),color-mix(in srgb,var(--lc-brand-1,#1a305b) 74%,var(--lc-golden-light,#f5d28a))); opacity: 0; transition: opacity .3s; }
.lc-ft-contact:after { content: ''; position: absolute; right: 20px; top: 50%; width: 13px; height: 13px; background: currentColor; mask: url('shapes/caret.svg') center/contain no-repeat; transform: translateY(-50%); opacity: .65; transition: transform .3s,opacity .3s; }
.lc-ft-contact:is(:hover, :focus-visible):before { opacity: 1; }
.lc-ft-contact:is(:hover, :focus-visible):after { opacity: 1; transform: translate(3px,-50%); }
.lc-ft-brand-links>.lc-ft-quick-links, .lc-ft-brand-links>.lc-ft-socials, .lc-ft-box-bottom>.lc-ft-social-block, .lc-ft-box-bottom>.lc-ft-signoff { width: auto; }
.lc-ft-brand-links { justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; padding-top: 20px !important; }
.lc-ft-large-logo { display: block; width: 100%; max-width: 100%; height: auto; margin: 24px 0 10px; opacity: .95; }
.lc-ft--brand .lc-ft-inner { gap: 28px; }
@media (max-width: 1279px) {
  .lc-ft-compact-brand { gap: 28px; }
  .lc-ft-tagline { font-size: 26px; }
  .lc-ft-box-top { grid-template-columns: minmax(0,1fr) 260px; gap: 36px; }
  .lc-ft-sitemap { gap: 20px; }
  .lc-ft-group-title { font-size: 21px; }
  .lc-ft-right-brand { padding-left: 24px !important; }
  .lc-ft-right-brand .lc-ft-heading { font-size: 28px; }
}
@media (max-width: 1023px) {
  .lc-ft-compact-top, .lc-ft-compact-middle { grid-template-columns: 1fr; gap: 28px; }
  .lc-ft-box-top { grid-template-columns: 1fr; gap: 40px; }
  .lc-ft .lc-ft-right-brand { border-left: 0; border-top: 1px solid #1a305b20; padding: 28px 0 0 !important; display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
  .lc-ft-right-brand .lc-ft-copy { grid-column: 2; }
  .lc-ft-brand-top { grid-template-columns: 1fr auto; }
  .lc-ft-invitation { font-size: 36px; }
}
@media (max-width: 767px) {
  .lc-ft-review-intro { padding: 48px 0 12px !important; }
  .lc-ft-review-jumps { gap: 2px 22px; }
  .lc-ft-review-note { font-size: 13px; }
  .lc-ft-option { padding-top: 48px !important; gap: 24px; }
  .lc-ft-caption, .lc-ft-review-intro { width: calc(100% - 40px); }
  .lc-ft-study-title { font-size: 30px; }
  .lc-ft-review-copy { font-size: 18px; }
  .lc-ft-review-title { font-size: 42px; }
  .lc-ft-inner { gap: 28px; }
  .lc-ft .lc-ft-compact-brand { flex-direction: column; align-items: flex-start; gap: 26px; }
  .lc-ft .lc-ft-compact-brand>a:has(.lc-ft-logo) { flex: auto; width: 100%; }
  .lc-ft-logo { width: 270px; }
  .lc-ft-tagline { font-size: 30px; }
  .lc-ft-quick-links { gap: 4px 22px; }
  .lc-ft-legal { gap: 6px 20px; }
  .lc-ft-company { width: 100%; }
  .lc-ft-sitemap { gap: 24px; }
  .lc-ft .lc-ft-right-brand { gap: 22px; }
  .lc-ft-right-brand .lc-ft-heading { font-size: 30px; }
  .lc-ft-box-bottom { flex-direction: column; align-items: flex-start; gap: 28px; }
  .lc-ft-signoff { font-size: 23px; }
  .lc-ft-brand-top { grid-template-columns: 1fr; gap: 28px; }
  .lc-ft-invitation { font-size: 34px; }
  .lc-ft-brand-links { gap: 22px; padding-top: 0 !important; }
  .lc-ft-large-logo { margin: 12px 0 4px; }
  .lc-ft--brand:before { opacity: .12; }
}
@media (prefers-reduced-motion: reduce) {
  .lc-ft *, .lc-ft *:before, .lc-ft *:after, .lc-ft-review .lc-ft-link::after { transition: none !important; }
}
