.legal-header { border-bottom: 1px solid var(--line); background: #fff; }
.legal-header .shell { min-height: 76px; display: flex; align-items: center; justify-content: space-between; }
.legal-header .shell > a:last-child { font-size: 13px; font-weight: 750; text-underline-offset: 5px; }
.info-nav { display: flex; gap: 24px; }
.info-nav a { font-size: 13px; font-weight: 750; text-underline-offset: 5px; }
.legal-main { padding-block: 90px 120px; }
.legal-title { max-width: 760px; padding-bottom: 60px; border-bottom: 1px solid var(--line); }
.legal-title h1 { margin: 0; font-size: clamp(56px, 8vw, 100px); letter-spacing: -.07em; line-height: .95; }
.legal-title > p:last-child { margin: 24px 0 0; color: var(--muted); }
.legal-layout { display: grid; grid-template-columns: 220px minmax(0, 740px); justify-content: space-between; gap: 90px; padding-top: 60px; }
.legal-layout aside { position: sticky; top: 30px; height: max-content; display: flex; flex-direction: column; gap: 12px; }
.legal-layout aside a { width: max-content; color: var(--muted); font-size: 13px; text-decoration: none; }
.legal-layout aside a:hover { color: var(--ink); }
.legal-layout article section { scroll-margin-top: 30px; padding-bottom: 38px; }
.legal-layout h2 { margin: 0 0 16px; font-size: 25px; letter-spacing: -.035em; }
.legal-layout p { margin: 0 0 14px; color: #53534d; font-size: 16px; line-height: 1.75; }
.legal-layout p a { text-underline-offset: 4px; }
.legal-footer { color: #a1a19a; background: var(--ink); }
.legal-footer .shell { min-height: 74px; display: flex; justify-content: space-between; align-items: center; gap: 24px; font-size: 12px; }
.legal-footer a { color: inherit; text-underline-offset: 4px; }
.info-main { padding-block: 90px 120px; }
.info-hero { max-width: 940px; padding-bottom: 75px; }
.info-hero h1 { margin: 0; font-size: clamp(58px, 8.5vw, 112px); line-height: .92; letter-spacing: -.075em; }
.info-hero > p:not(.eyebrow) { max-width: 700px; margin: 30px 0; color: var(--muted); font-size: 21px; line-height: 1.6; }
.info-grid { display: grid; grid-template-columns: 1fr .82fr; gap: 100px; padding: 80px 0; border-top: 1px solid var(--line); }
.info-grid h2, .info-products h2, .info-cta h2, .response-note h2 { margin: 0 0 24px; font-size: clamp(36px, 4.5vw, 62px); line-height: 1; letter-spacing: -.055em; }
.info-grid section > p:not(.eyebrow), .response-note p { color: var(--muted); font-size: 17px; line-height: 1.72; }
.business-card { border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.business-card > p { margin: 0; padding: 20px 24px; color: var(--muted); border-bottom: 1px solid var(--line); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.business-card dl { margin: 0; padding: 8px 24px; }
.business-card dl div { display: grid; grid-template-columns: 125px 1fr; gap: 20px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.business-card dl div:last-child { border-bottom: 0; }
.business-card dt { color: var(--muted); font-size: 12px; }
.business-card dd { margin: 0; font-size: 14px; line-height: 1.55; }
.info-products { padding: 80px 0; border-top: 1px solid var(--line); }
.info-products > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 36px; }
.info-products a { display: flex; flex-direction: column; gap: 10px; min-height: 150px; padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: #fff; text-decoration: none; }
.info-products strong { font-size: 22px; }
.info-products span { color: var(--muted); font-size: 14px; line-height: 1.5; }
.info-cta { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-top: 40px; padding: 55px; border-radius: var(--radius); background: #e7ebff; }
.info-cta h2 { max-width: 700px; margin-bottom: 0; }
.contact-options { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.contact-options section { min-height: 330px; display: flex; flex-direction: column; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.contact-options section > span { color: var(--blue); font: 700 12px ui-monospace, monospace; }
.contact-options h2 { margin: 60px 0 15px; font-size: 25px; letter-spacing: -.04em; }
.contact-options p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.contact-options a { margin-top: auto; padding-top: 24px; font-size: 13px; font-weight: 760; }
.response-note { max-width: 800px; padding-top: 90px; }
@media (max-width: 760px) {
  .legal-main { padding-block: 70px 90px; }
  .legal-layout { grid-template-columns: 1fr; gap: 40px; }
  .legal-layout aside { position: static; flex-direction: row; flex-wrap: wrap; padding-bottom: 30px; border-bottom: 1px solid var(--line); }
  .legal-footer .shell { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 20px; }
  .info-main { padding-block: 65px 90px; }
  .info-hero { padding-bottom: 55px; }
  .info-grid { grid-template-columns: 1fr; gap: 45px; padding: 60px 0; }
  .info-products > div, .contact-options { grid-template-columns: 1fr; }
  .info-cta { align-items: flex-start; flex-direction: column; padding: 32px; }
  .contact-options section { min-height: 280px; }
  .info-nav { gap: 15px; }
}
