.links-landing { color: var(--ink); background: var(--ivory); }
.links-landing h1, .links-landing h2, .links-landing h3 { font-family: var(--serif); font-weight: 400; letter-spacing: -.025em; }
.links-section { padding: clamp(64px, 8vw, 104px) 0; }
.links-eyebrow { margin: 0 0 20px; color: #785b27; font-family: var(--sans); font-size: .72rem; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; }
.links-eyebrow::before { margin-right: 10px; color: var(--gold); content: "✦"; }
.links-heading { max-width: 850px; margin-bottom: 48px; }
.links-heading--center { margin-inline: auto; text-align: center; }
.links-heading h2, .links-copy h2 { margin: 0; color: var(--night); font-size: clamp(2rem, 3.8vw, 3.25rem); line-height: 1.15; }
.links-heading > p:not(.links-eyebrow, .links-subtitle), .links-copy > p:not(.links-subtitle, .links-statement), .links-intro p { color: #526172; font-family: var(--sans); font-size: 1.04rem; line-height: 1.72; }
.links-subtitle { margin: 20px 0 26px; color: #8a6b31; font-family: var(--serif); font-size: clamp(1.12rem, 1.8vw, 1.35rem); line-height: 1.5; }
.links-intro { max-width: 780px; margin: 25px auto 0; }
.links-intro p { margin: 0 0 16px; }
.links-heading h3 { margin: 38px 0 0; color: var(--night); font-size: 1.4rem; }
.links-quote { max-width: 790px; margin: 54px auto 0; padding-top: 28px; color: var(--night); border-top: 1px solid var(--line); font-family: var(--serif); font-size: clamp(1.18rem, 2vw, 1.55rem); font-style: italic; line-height: 1.45; text-align: center; }

.links-hero { padding: clamp(76px, 8vw, 112px) 0 clamp(68px, 8vw, 104px); background: var(--ivory); }
.links-hero__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(350px, .92fr); align-items: center; gap: clamp(48px, 6vw, 82px); }
.links-hero__copy { max-width: 680px; }
.links-hero h1 { max-width: 650px; margin: 0; color: var(--night); font-size: clamp(3.5rem, 5vw, 4.5rem); font-weight: 400; line-height: 1.02; }
.links-lead { max-width: 620px; margin: 34px 0 30px; color: #263c54; font-family: var(--sans); font-size: clamp(1rem, 1.3vw, 1.12rem); line-height: 1.72; }
.links-primary-cta { min-width: min(100%, 340px); color: var(--champagne); background: var(--night); border-color: var(--night); white-space: normal; text-align: center; }
.links-primary-cta:hover { background: #0d2b49; }
.links-meta { max-width: 650px; margin: 17px 0 0; color: #647181; font-family: var(--sans); font-size: .82rem; line-height: 1.55; }
.links-nowrap { white-space: nowrap; }
.links-support { max-width: 620px; margin: 24px 0 0; padding-left: 18px; color: #526172; border-left: 2px solid var(--gold); font-family: var(--serif); font-size: 1.06rem; font-style: italic; line-height: 1.55; }
.links-hero__media { aspect-ratio: 4 / 5; margin: 0; border: 1px solid var(--line); border-radius: 34px 4px 34px 4px; box-shadow: var(--shadow); overflow: hidden; }
.links-hero__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }

.links-context, .links-process { background: #f3efe6; }
.links-three-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.links-simple-card { min-height: 210px; padding: 30px; background: var(--white); border: 1px solid var(--line); }
.links-icon { display: grid; place-items: center; width: 54px; height: 54px; color: #8a6b31; background: rgba(229,210,154,.2); border: 1px solid var(--line); border-radius: 50%; font-family: var(--serif); font-size: 1.4rem; }
.links-simple-card p { margin: 25px 0 0; color: var(--night); font-family: var(--serif); font-size: 1.18rem; line-height: 1.55; }

.links-definition { background: var(--white); }
.links-two-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr); align-items: center; gap: clamp(48px, 7vw, 92px); }
.links-copy > p:not(.links-subtitle, .links-statement) { margin: 0 0 19px; }
.links-statement { margin: 30px 0 0; padding: 23px 0 0; color: var(--night); border-top: 1px solid var(--line); font-family: var(--serif); font-size: clamp(1.18rem, 2vw, 1.45rem); font-style: italic; line-height: 1.5; }
.links-definition__media { position: relative; aspect-ratio: 5 / 4; margin: -20px 0 0; border: 1px solid var(--line); border-radius: 34px 4px 34px 4px; overflow: hidden; }
.links-definition__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.links-definition__media::after { position: absolute; top: 50%; left: 50%; width: 5px; height: 5px; background: var(--gold); border-radius: 50%; box-shadow: 0 0 8px 3px rgba(199,163,90,.16); content: ""; opacity: .62; transform: translate(-50%, -50%); pointer-events: none; }

.links-understand { padding-bottom: calc(clamp(64px, 8vw, 104px) + 24px); background: var(--ivory); }
.links-three-grid--open { gap: 0; margin-top: 50px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.links-open-item { min-height: 190px; padding: 30px clamp(24px, 3vw, 38px); border-right: 1px solid var(--line); }
.links-open-item:last-child { border-right: 0; }
.links-open-item span { color: #8a6b31; font-family: var(--sans); font-size: .75rem; letter-spacing: .15em; }
.links-open-item p { margin: 25px 0 0; color: var(--night); font-family: var(--serif); font-size: 1.3rem; line-height: 1.5; }

.links-contents { background: var(--white); }
.links-content-grid { display: grid; grid-template-columns: repeat(2, 1fr); margin-top: 48px; border-top: 1px solid var(--line); }
.links-content-item { display: grid; grid-template-columns: 58px 1fr; gap: 22px; min-height: 178px; padding: 30px 28px; border-bottom: 1px solid var(--line); }
.links-content-item:nth-child(odd):not(.links-content-item--wide) { border-right: 1px solid var(--line); }
.links-content-item > span { display: grid; place-items: center; width: 50px; height: 50px; color: #8a6b31; border: 1px solid var(--gold); border-radius: 50%; font-family: var(--serif); font-size: 1.25rem; }
.links-content-item h3 { margin: 3px 0 10px; color: var(--night); font-size: 1.35rem; }
.links-content-item p { margin: 0; color: #647181; font-family: var(--sans); line-height: 1.65; }
.links-content-item--wide { grid-column: 1 / -1; width: min(100%, 740px); margin-inline: auto; border-bottom: 0; }

.links-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin: 48px 0 0; padding: 0; list-style: none; }
.links-steps li { min-height: 270px; padding: 28px; background: var(--white); border: 1px solid var(--line); }
.links-steps li > span { display: grid; place-items: center; width: 52px; height: 52px; color: #785b27; border: 1px solid var(--gold); border-radius: 50%; font-family: var(--serif); }
.links-steps h3 { margin: 24px 0 10px; color: var(--night); font-size: 1.35rem; }
.links-steps p { margin: 0; color: #647181; font-family: var(--sans); line-height: 1.65; }

.links-notice-section { padding: clamp(28px, 3vw, 36px) 0; background: var(--ivory); }
.links-notice { display: grid; grid-template-columns: 54px 1fr; gap: 24px; padding: clamp(26px, 4vw, 40px); background: #f3efe6; border: 1px solid var(--gold); }
.links-notice__icon { display: grid; place-items: center; width: 46px; height: 46px; color: var(--night); border: 1px solid var(--gold); border-radius: 50%; font-family: var(--serif); font-size: 1.2rem; font-style: italic; }
.links-notice h2 { margin: 0 0 16px; color: var(--night); font-size: 1.65rem; }
.links-notice p { margin: 0 0 14px; color: #526172; font-family: var(--sans); font-size: 1rem; line-height: 1.7; }
.links-notice p:last-child { margin-bottom: 0; }

.links-landing .faq-section { background: var(--white); }
.links-landing .faq-intro h2 { margin: 0 0 36px; color: var(--night); font-size: clamp(2.8rem, 5vw, 5rem); line-height: 1; }
.links-landing .faq-list summary > span[aria-hidden="true"] { flex: 0 0 18px; width: 18px; color: var(--gold); font-size: 0; text-align: center; }
.links-landing .faq-list summary > span[aria-hidden="true"]::before { content: "+"; font-size: 1.15rem; }
.links-landing .faq-list details[open] summary > span[aria-hidden="true"] { transform: none; }
.links-landing .faq-list details[open] summary > span[aria-hidden="true"]::before { content: "−"; }
.links-landing .faq-answer p { max-width: 700px; margin: 0 0 25px; color: #526172; font-family: var(--sans); font-size: 1rem; line-height: 1.7; }

.links-final { position: relative; padding: clamp(74px, 9vw, 116px) 0; color: var(--ivory); background: var(--night); overflow: hidden; }
.links-final::before, .links-final::after { position: absolute; width: 310px; aspect-ratio: 1; border: 1px solid rgba(199,163,90,.14); border-radius: 50%; content: ""; }
.links-final::before { top: -190px; left: -90px; }
.links-final::after { right: -100px; bottom: -200px; }
.links-final__inner { position: relative; z-index: 1; max-width: 850px; text-align: center; }
.links-final h2 { margin: 0; font-size: clamp(2.3rem, 4.5vw, 4rem); line-height: 1.08; }
.links-final__inner > p:not(.links-final__meta) { max-width: 700px; margin: 26px auto 0; color: rgba(250,248,243,.8); font-family: var(--sans); font-size: 1.05rem; line-height: 1.7; }
.links-final .button { min-width: min(100%, 350px); margin-top: 30px; white-space: normal; text-align: center; }
.links-final .links-final__meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: min(100%, 820px); margin: 17px auto 0; color: rgba(250,248,243,.7); font-family: var(--sans); font-size: .84rem; line-height: 1.55; }
.links-final__meta span { padding: 7px 22px; }
.links-final__meta span + span { border-left: 1px solid rgba(199,163,90,.34); }
.links-final strong { display: block; margin-top: 30px; color: var(--champagne); font-family: var(--serif); font-size: 1.05rem; font-style: italic; font-weight: 400; }

@media (max-width: 1024px) {
  .links-hero__grid, .links-two-grid { grid-template-columns: 1fr 390px; gap: 42px; }
  .links-hero h1 { font-size: 3.5rem; }
  .links-definition__media { margin-top: 0; }
  .links-steps { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 800px) {
  .links-hero { padding-top: 76px; }
  .links-hero__grid, .links-two-grid { grid-template-columns: 1fr; }
  .links-hero__copy { max-width: none; }
  .links-hero h1 { max-width: 680px; font-size: 3.5rem; }
  .links-hero__media { width: min(100%, 540px); margin-inline: auto; }
  .links-definition__media { width: min(100%, 620px); margin: 0 auto; }
  .links-three-grid { grid-template-columns: 1fr; }
  .links-simple-card { min-height: 0; }
  .links-three-grid--open { border-bottom: 0; }
  .links-open-item { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
}

@media (max-width: 560px) {
  .links-section { padding: 60px 0; }
  .links-understand { padding-bottom: 80px; }
  .links-hero { padding: 62px 0 58px; }
  .links-hero__grid { gap: 42px; }
  .links-hero h1 { font-size: 2.625rem; }
  .links-lead { margin-top: 26px; }
  .links-statement-break, .links-understand-break, .links-content-quote-break { display: none; }
  .links-primary-cta, .links-final .button { width: 100%; min-height: 50px; }
  .links-definition__media, .links-hero__media { border-radius: 24px 3px 24px 3px; }
  .links-content-grid, .links-steps { grid-template-columns: 1fr; }
  .links-content-item, .links-content-item--wide { grid-column: auto; width: auto; margin: 0; padding-inline: 10px; border-right: 0 !important; }
  .links-content-item { grid-template-columns: 52px 1fr; gap: 18px; }
  .links-notice { grid-template-columns: 1fr; gap: 18px; }
  .links-landing .faq-intro h2 { font-size: 2.55rem; }
  .links-final .links-final__meta { grid-template-columns: 1fr; width: 100%; }
  .links-final__meta span { padding: 8px 0; }
  .links-final__meta span + span { border-top: 1px solid rgba(199,163,90,.25); }
  .links-final__meta span + span { border-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .links-landing *, .links-landing *::before, .links-landing *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
