/* Shared site fonts, colors, shell, buttons and navigation; one editorial layout. */
.landing-page { background: var(--paper); }
.landing-page__hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: center; gap: clamp(32px, 6vw, 90px); padding-block: clamp(40px, 6vw, 88px) clamp(56px, 7vw, 104px); }
.landing-page__hero--text { grid-template-columns: minmax(0, 760px); justify-content: center; }
.landing-page__intro { min-width: 0; }
.landing-page__period { margin-bottom: 32px; color: var(--ink); }
.landing-page h1 { margin: 20px 0 24px; font-family: var(--serif); font-size: clamp(54px, 7.5vw, 116px); font-weight: 400; line-height: 1.05; letter-spacing: -.04em; overflow-wrap: anywhere; }
.landing-page__subtitle { margin: 0 0 20px; font-family: var(--italic); font-style: italic; font-size: clamp(26px, 2.5vw, 36px); line-height: 1.2; }
.landing-page__body { max-width: 50ch; color: #5f6056; font-size: 16px; line-height: 1.7; }
.landing-page__body p { margin-block: 0 18px; }
.landing-page__cover { width: 100%; max-width: 460px; justify-self: center; padding: 0 16px 16px 0; }
.landing-page__cover img { height: auto; box-shadow: 16px 16px 0 var(--taupe), 0 16px 40px #20201d12; }
.landing-page__request { margin-top: 30px; scroll-margin-top: 100px; }
.landing-page__form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 12px; }
.landing-page__email { min-width: 0; }
.landing-page__consent { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 10px; font-size: 13px; line-height: 1.6; cursor: pointer; }
.landing-page__consent input[type=checkbox] { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--ink); }
.landing-page__form:has(.landing-page__consent) .landing-page__email { grid-column: 1 / -1; }
.landing-page__email label { display: block; font-size: 13px; margin-bottom: 8px; }
.landing-page__email input { display: block; width: 100%; min-width: 0; min-height: 54px; padding: 12px 14px; border: 1px solid #a6a397; border-radius: 0; background: var(--ivory); color: var(--ink); font-size: 16px; }
.landing-page .landing-page__button { display: inline-flex; justify-content: center; align-items: center; min-height: 54px; max-width: 100%; padding: 14px 22px; border: 1px solid var(--ink); border-radius: 0; background: var(--ink); color: var(--ivory); font-size: var(--action-font-size); line-height: 1.5; letter-spacing: .1em; text-transform: uppercase; text-align: center; white-space: normal; overflow-wrap: anywhere; cursor: pointer; }
.landing-page .landing-page__button:hover { background: var(--terracotta); border-color: var(--terracotta); }
.landing-page .landing-page__button:disabled { opacity: .65; cursor: default; }
.landing-page__fine { grid-column: 1 / -1; margin: 0; color: #5f6056; font-size: 12px; line-height: 1.6; }
.landing-page__request > .landing-page__fine { margin-top: 12px; }
.landing-page__error { grid-column: 1 / -1; margin: 0; color: #873f30; font-size: 14px; line-height: 1.5; }
.landing-page__confirmation { padding: 24px; border: 1px solid var(--line); background: var(--ivory); }
.landing-page__confirmation h2 { margin: 0 0 12px; font: italic 30px/1.2 var(--italic); }
.landing-page__confirmation p { margin: 0; line-height: 1.7; }
.landing-page__note { background: var(--ink); color: var(--ivory); }
.landing-page__note-inner { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 7vw, 100px); padding-block: clamp(48px, 7vw, 96px); }
.landing-page__portrait .eyebrow { color: var(--taupe); }
.landing-page__portrait img { width: 180px; max-width: 100%; height: auto; margin-top: 26px; }
.landing-page__quote { margin: 0; font: 400 clamp(28px, 3vw, 42px)/1.25 var(--serif); letter-spacing: -.02em; }
.landing-page__note-body { max-width: 56ch; font-size: 16px; line-height: 1.75; color: #e0ddd5; }
.landing-page__note-body p { margin: 24px 0 0; }
.landing-page__signature { margin: 24px 0 0; font: italic 28px/1.2 var(--italic); }
.landing-page__contents { padding-block: clamp(48px, 7vw, 96px) 24px; }
.landing-page__contents > h2 { margin: 14px 0 36px; font: 400 clamp(34px, 4vw, 54px)/1.1 var(--serif); letter-spacing: -.03em; }
.landing-page__contents-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 56px; list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line); }
.landing-page__contents-list li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 16px; padding-block: 24px; border-bottom: 1px solid var(--line); }
.landing-page__number { color: #5f6056; font-size: 12px; letter-spacing: .12em; padding-top: 5px; }
.landing-page__contents-list h3 { margin: 0; font: 400 24px/1.2 var(--serif); }
.landing-page__contents-list p { margin: 8px 0 0; color: #5f6056; font-size: 15px; line-height: 1.65; }
.landing-page__closing { padding-block: 40px clamp(56px, 7vw, 104px); text-align: center; }
.landing-page__closing > p { max-width: 27ch; margin: 0 auto 30px; font: italic clamp(28px, 3vw, 40px)/1.25 var(--italic); }
@media (max-width: 1100px) {
  .landing-page__form { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .landing-page__hero, .landing-page__note-inner { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .landing-page__cover { max-width: 340px; }
  .landing-page h1 { font-size: clamp(54px, 16vw, 88px); }
  .landing-page__contents-list { grid-template-columns: minmax(0, 1fr); }
  .landing-page__portrait img { width: 140px; }
}

.landing-page__form:has(.landing-page__consent) .landing-page__button { grid-column: 1 / -1; }
