:root {
  --pairings-ground: #f6d8f5;
  --pairings-ink: #2b291b;
  --pairings-violet: #40266e;
  --pairings-support: #dcbfbb;
  --pairings-fabric: #e9a2b3;
  --pairings-reading: "Tinos", Georgia, serif;
  --pairings-display: "Carter One", Georgia, serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 28px; }
body { margin: 0; color: var(--pairings-ink); background: var(--pairings-ground); font: 21px/1.55 var(--pairings-reading); }
a { color: var(--pairings-violet); text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible { outline: 3px solid var(--pairings-violet); outline-offset: 5px; }
::selection { color: var(--pairings-ground); background: var(--pairings-violet); }
img { display: block; max-width: 100%; }
svg { vertical-align: middle; }
i[data-lucide] { display: inline-block; width: 1em; height: 1em; flex-shrink: 0; }
p { margin: 0 0 1.15em; }
h1, h2, h3 { font-family: var(--pairings-display); font-weight: 400; }
h1 { margin: 0; font-size: clamp(38px, 4.4vw, 62px); line-height: 1.09; text-wrap: balance; }
h2 { margin: 0 0 25px; font-size: clamp(29px, 2.7vw, 39px); line-height: 1.18; }
h3 { font-size: 25px; line-height: 1.25; }
.ipair-skip { position: absolute; left: 20px; top: -100px; z-index: 10; padding: 10px 20px; background: var(--pairings-ground); }
.ipair-skip:focus { top: 10px; }
.ipair-width { width: min(1248px, calc(100% - 112px)); margin-inline: auto; }
/* A junction, rather than a conventional logo-and-links row. */
.ipair-junction { height: 124px; position: relative; }
.ipair-mark { position: absolute; top: 25px; left: 0; height: 78px; width: 78px; }
.ipair-mark::before, .ipair-mark::after { content: ""; position: absolute; background: var(--pairings-violet); }
.ipair-mark::before { width: 78px; height: 12px; top: 33px; left: 0; }
.ipair-mark::after { height: 78px; width: 12px; left: 33px; top: 0; }
.ipair-wordmark { position: absolute; top: 69px; left: 108px; font: 400 34px/1 var(--pairings-display); text-decoration: none; white-space: nowrap; }
.ipair-wordmark:hover { text-decoration: underline; text-decoration-thickness: 3px; }
.ipair-junction nav { font-size: 17px; line-height: 1; }
.ipair-junction nav a { position: absolute; display: flex; align-items: center; gap: 8px; text-decoration: none; padding-bottom: 4px; border-bottom: 2px solid transparent; }
.ipair-junction nav a:hover, .ipair-junction nav a[aria-current="page"] { border-bottom-color: var(--pairings-violet); }
.ipair-junction nav svg, .ipair-junction nav i { width: 17px; height: 17px; }
.ipair-nav-research { left: 0; top: 8px; }
.ipair-nav-pair { left: 139px; top: 8px; }
.ipair-nav-reading { left: 33px; bottom: 0; }
/* The full field shows through the square-stepped fabric sign and open sides. */
.ipair-home-opening { margin-top: 22px; position: relative; isolation: isolate; background: var(--pairings-support); padding: 0 0 30px; }
.ipair-full-bleed-scene { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 55%; z-index: -1; }
.ipair-title-ground { position: relative; width: calc(100% - 192px); padding: 26px 54px 26px max(56px, calc((100vw - 1248px) / 2)); background: var(--pairings-fabric); border-left: 12px solid var(--pairings-violet); }
.ipair-title-ground::after { content: ""; position: absolute; left: 100%; bottom: 0; width: 42px; height: 62px; background: var(--pairings-fabric); }
.ipair-title-words { max-width: 1110px; }
.ipair-title-ground h1 { color: var(--pairings-violet); }
.ipair-opening-words { margin: 17px 0 0; font-size: 21px; line-height: 1.4; max-width: 900px; }
.ipair-hero-ground { position: relative; margin-top: 24px; }
.ipair-wide-crops { display: grid; grid-template-columns: 1.3fr 1fr; column-gap: 12%; background: var(--pairings-ground); }
.ipair-deep, .ipair-shallow { margin: 0; position: relative; background: var(--pairings-support); }
.ipair-deep { height: 228px; }
.ipair-shallow { height: 138px; }
.ipair-crop-window { width: 100%; height: 100%; overflow: hidden; }
.ipair-deep img, .ipair-shallow img { width: 100%; height: 100%; object-fit: cover; }
.ipair-deep img { object-position: 19% 8%; transform: scale(1.12); transform-origin: left top; }
.ipair-shallow img { object-position: 88% 8%; transform: scale(1.12); transform-origin: right top; }
.ipair-shallow::after { content: ""; position: absolute; top: 100%; left: 0; width: 14px; height: 66px; background: var(--pairings-violet); animation: ipair-joint-settle .65s ease-out both; }
/* Square ends, one real link, and a continuous solid ground under every word. */
.ipair-invitation { display: grid; grid-template-columns: 3.6fr 1fr; margin-top: 24px; background: var(--pairings-ground); }
.ipair-invitation-link { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 14px 24px; min-height: 62px; color: var(--pairings-ground); background: var(--pairings-violet); font-size: 23px; font-weight: 700; line-height: 1.2; text-decoration: none; border: 3px solid var(--pairings-violet); transition: background-color .18s, color .18s, box-shadow .18s; }
.ipair-invitation-link svg, .ipair-invitation-link i { width: 27px; height: 27px; flex-shrink: 0; }
.ipair-invitation-link:hover { color: var(--pairings-violet); background: var(--pairings-fabric); box-shadow: 8px 8px 0 var(--pairings-support); }
.ipair-invitation-link:focus-visible { outline: 3px solid var(--pairings-ink); outline-offset: 4px; }
.ipair-qualification { margin: 0; padding: 14px 25px 17px; font-size: 17px; line-height: 1.35; }
.ipair-disclosure { margin: 14px 0 17px; padding: 0 24px; border-left: 3px solid var(--pairings-support); font-size: 16px; line-height: 1.35; align-self: center; }
.ipair-handheld-crops { display: none; }
/* Unequal essays and an empty junction: no equation and no central column. */
.ipair-reading-spread { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); column-gap: 12%; padding-top: 94px; }
.ipair-component { min-width: 0; }
.ipair-component h2 { position: relative; padding-top: 42px; }
.ipair-component h2 svg, .ipair-component h2 i { position: absolute; width: 27px; height: 27px; top: 0; left: 0; color: var(--pairings-violet); }
.ipair-component p { max-width: 640px; }
.ipair-component-first > p:first-of-type::first-letter { float: left; font: 400 70px/.88 var(--pairings-display); padding: 7px 10px 0 0; color: var(--pairings-violet); }
.ipair-component-second { margin-top: 78px; padding: 32px 30px; background: var(--pairings-support); align-self: start; border-bottom: 12px solid var(--pairings-fabric); position: relative; }
.ipair-component-second::before { content: ""; position: absolute; width: 48px; height: 12px; top: -12px; right: 0; background: var(--pairings-violet); }
.ipair-component-second h2 { font-size: 32px; }
.ipair-synthesis { grid-column: 1 / -1; position: relative; margin-top: 96px; padding: 46px 48px 48px; color: var(--pairings-ground); background: var(--pairings-violet); box-shadow: -18px 18px 0 var(--pairings-fabric); }
.ipair-synthesis::before { content: ""; position: absolute; width: 80px; height: 18px; right: 0; top: -18px; background: var(--pairings-violet); }
.ipair-synthesis h2 { max-width: 990px; display: flex; align-items: baseline; gap: 23px; }
.ipair-synthesis h2 svg, .ipair-synthesis h2 i { width: 30px; height: 30px; flex-shrink: 0; }
.ipair-synthesis a { color: var(--pairings-ground); }
.ipair-synthesis a:focus-visible { outline-color: var(--pairings-ground); }
.ipair-synthesis-words { columns: 2; column-gap: 8%; }
.ipair-synthesis-words p { break-inside: avoid; }
.ipair-remainder { grid-column: 1 / -1; width: 69%; margin: 92px 0 0 20%; padding: 39px 43px 35px; background: var(--pairings-fabric); box-shadow: 12px 12px 0 var(--pairings-violet), 24px 24px 0 var(--pairings-support); position: relative; }
.ipair-remainder::before { content: ""; position: absolute; width: 48px; height: 14px; top: -7px; left: -21px; background: var(--pairings-violet); }
.ipair-remainder h2 { font-size: 31px; display: flex; align-items: baseline; gap: 18px; }
.ipair-remainder h2 svg, .ipair-remainder h2 i { width: 26px; height: 26px; flex-shrink: 0; }
.ipair-remainder p:last-child, .ipair-component p:last-child, .ipair-synthesis-words p:last-child { margin-bottom: 0; }
/* Interior photographs become the horizon, with a square caption tab. */
.ipair-inner-opening { padding-top: 36px; }
.ipair-breadcrumb { margin-bottom: 22px; display: flex; gap: 12px; align-items: center; font-size: 17px; }
.ipair-breadcrumb svg, .ipair-breadcrumb i { height: 15px; width: 15px; }
.ipair-inner-title h1 { max-width: 1160px; color: var(--pairings-violet); }
.ipair-inner-title .ipair-opening-words { max-width: 800px; margin-top: 24px; font-size: 24px; }
.ipair-inner-photo { margin: 38px 0 0; }
.ipair-inner-photo img { width: 100%; height: 310px; object-fit: cover; object-position: center top; background: var(--pairings-support); }
.ipair-inner-photo figcaption { position: relative; width: min(680px, calc(100% - 112px)); margin: -23px max(56px, calc((100vw - 1248px) / 2)) 0 auto; padding: 17px 24px; border-left: 9px solid var(--pairings-violet); background: var(--pairings-support); font-size: 17px; line-height: 1.4; }
.ipair-inner-spread { padding-top: 74px; }
.ipair-other-readings { margin-top: 103px; display: flex; gap: 16px; flex-wrap: wrap; }
.ipair-reading-link { border-radius: 6px; color: var(--pairings-violet); padding: 14px 19px; border: 2px solid var(--pairings-violet); display: inline-flex; gap: 15px; align-items: center; text-decoration: none; font-size: 19px; transition: transform .18s, box-shadow .18s, background-color .18s; }
.ipair-reading-link svg, .ipair-reading-link i { height: 21px; width: 21px; }
.ipair-reading-link:hover { background: var(--pairings-support); transform: translate(-4px, -4px); box-shadow: 5px 5px 0 var(--pairings-violet); }
.ipair-colophon { position: relative; margin-top: 84px; padding: 40px 0 30px; border-top: 9px solid var(--pairings-violet); }
.ipair-colophon::before { content: ""; position: absolute; top: -9px; right: 0; width: 18px; height: 46px; background: var(--pairings-violet); }
.ipair-colophon-intro { max-width: 720px; font-size: 24px; }
.ipair-colophon nav { display: flex; flex-wrap: wrap; gap: 13px 26px; max-width: 920px; font-size: 18px; }
.ipair-copyright { margin: 28px 0 0; font-size: 16px; }
.ipair-missing { padding: 55px 0 10px; min-height: 50vh; }
.ipair-missing p { margin: 25px 0; max-width: 660px; }
@keyframes ipair-joint-settle { from { transform: translateY(-10px); } to { transform: translateY(0); } }
@media (min-width: 1600px) {
  .ipair-title-ground { width: calc(50% + 510px); }
  .ipair-deep { height: 260px; }
  .ipair-shallow { height: 160px; }
}
@media (max-width: 1000px) {
  .ipair-width { width: calc(100% - 64px); }
  .ipair-title-ground { width: calc(100% - 78px); padding-left: 32px; padding-right: 32px; }
  h1 { font-size: 45px; }
  .ipair-invitation { grid-template-columns: 1fr; }
  .ipair-disclosure { margin: 0; padding: 0 25px 18px; border: 0; }
  .ipair-qualification { padding-bottom: 8px; }
  .ipair-reading-spread { column-gap: 10%; }
  .ipair-component-second { padding: 25px; }
  .ipair-synthesis { padding: 35px; }
  .ipair-synthesis-words { columns: 1; }
  .ipair-remainder { width: 80%; margin-left: 9%; }
  .ipair-inner-photo figcaption { margin-right: 32px; }
}
@media (max-width: 700px) {
  .ipair-width { width: calc(100% - 40px); }
  body { font-size: 20px; }
  .ipair-junction { height: 95px; }
  .ipair-mark { width: 60px; height: 60px; top: 24px; }
  .ipair-mark::before { width: 60px; height: 8px; top: 26px; }
  .ipair-mark::after { height: 60px; width: 8px; left: 26px; }
  .ipair-wordmark { left: 82px; top: 52px; font-size: 25px; }
  .ipair-junction nav { font-size: 16px; }
  .ipair-nav-reading { left: 26px; }
  .ipair-component-second h2 { font-size: 28px; }
  .ipair-inner-photo figcaption { margin-right: 20px; }
}
@media (max-width: 540px) {
  .ipair-width { width: calc(100% - 36px); }
  body { font-size: 19px; line-height: 1.5; }
  .ipair-junction { height: 72px; }
  .ipair-mark { width: 44px; height: 44px; top: 14px; }
  .ipair-mark::before { width: 44px; height: 6px; top: 19px; }
  .ipair-mark::after { height: 44px; width: 6px; left: 19px; }
  .ipair-wordmark { left: 60px; top: 39px; font-size: clamp(15px, 4.6vw, 18px); line-height: 1.1; }
  .ipair-junction nav { font-size: 14px; }
  .ipair-junction nav a { gap: 5px; padding-bottom: 1px; }
  .ipair-junction nav svg, .ipair-junction nav i { width: 13px; height: 13px; }
  .ipair-nav-research { top: 0; }
  .ipair-nav-pair { top: 0; left: 107px; }
  .ipair-nav-reading { left: 19px; bottom: 0; }
  h1 { font-size: 32px; line-height: 1.12; text-wrap: pretty; }
  .ipair-title-phrase { display: block; }
  h2 { font-size: 29px; margin-bottom: 21px; }
  .ipair-home-opening { margin-top: 15px; padding-bottom: 18px; background: var(--pairings-ground); }
  /* No photograph can precede the complete prescription context on phones. */
  .ipair-full-bleed-scene { inset: auto 0 0; height: 140px; object-position: center 60%; }
  .ipair-title-ground { width: calc(100% - 18px); padding: 17px 12px 18px; border-left-width: 6px; }
  .ipair-title-ground::after { width: 18px; height: 36px; }
  .ipair-opening-words { font-size: 18px; line-height: 1.35; margin-top: 14px; }
  .ipair-hero-ground { margin-top: 18px; }
  .ipair-wide-crops { display: none; }
  .ipair-invitation { margin-top: 0; }
  .ipair-invitation-link { padding: 12px 11px; min-height: 72px; gap: 10px; font-size: 19px; line-height: 1.25; }
  .ipair-invitation-link svg, .ipair-invitation-link i { height: 21px; width: 21px; }
  .ipair-qualification { padding: 13px 0 0; font-size: 16px; line-height: 1.35; }
  .ipair-disclosure { padding: 0; margin-top: 8px; font-size: 16px; line-height: 1.35; }
  .ipair-handheld-crops { display: grid; grid-template-columns: 1.16fr 1fr; gap: 32px; margin-top: 22px; background: var(--pairings-ground); }
  .ipair-handheld-crops .ipair-deep, .ipair-handheld-crops .ipair-shallow { height: 100px; }
  .ipair-handheld-crops img { transform: scale(1.7); object-position: center top; }
  .ipair-shallow::after { width: 7px; height: 17px; }
  .ipair-reading-spread { grid-template-columns: minmax(0, 1fr); padding-top: 54px; }
  .ipair-component-first { padding-right: 14px; }
  .ipair-component h2 { padding-top: 35px; }
  .ipair-component-first > p:first-of-type::first-letter { font-size: 61px; }
  .ipair-component-second { margin-top: 44px; margin-left: 22px; padding: 27px 24px; border-bottom-width: 9px; }
  .ipair-synthesis { margin-top: 62px; padding: 27px 24px 30px; box-shadow: -9px 9px 0 var(--pairings-fabric); }
  .ipair-synthesis h2 { display: block; }
  .ipair-synthesis h2 svg, .ipair-synthesis h2 i { display: block; margin-bottom: 17px; width: 26px; height: 26px; }
  .ipair-synthesis::before { height: 12px; width: 48px; top: -12px; }
  .ipair-remainder { width: calc(100% - 18px); margin: 61px 0 0; padding: 29px 24px 28px; box-shadow: 9px 9px 0 var(--pairings-violet), 18px 18px 0 var(--pairings-support); }
  .ipair-remainder::before { width: 36px; height: 10px; top: -5px; left: 14px; }
  .ipair-remainder h2 { font-size: 27px; display: block; }
  .ipair-remainder h2 svg, .ipair-remainder h2 i { display: block; margin-bottom: 15px; }
  .ipair-inner-opening { padding-top: 29px; }
  .ipair-breadcrumb { font-size: 16px; margin-bottom: 20px; gap: 9px; }
  .ipair-inner-title .ipair-opening-words { font-size: 20px; line-height: 1.4; margin-top: 20px; }
  .ipair-inner-photo { margin-top: 28px; }
  .ipair-inner-photo img { height: 200px; }
  .ipair-inner-photo figcaption { width: calc(100% - 36px); margin: -18px 18px 0; padding: 14px 17px; font-size: 16px; border-left-width: 6px; }
  .ipair-other-readings { margin-top: 70px; gap: 14px; }
  .ipair-reading-link { font-size: 17px; padding: 12px 14px; }
  .ipair-colophon { margin-top: 59px; padding-top: 30px; border-top-width: 6px; }
  .ipair-colophon::before { top: -6px; width: 12px; height: 34px; }
  .ipair-colophon-intro { font-size: 22px; }
  .ipair-colophon nav { gap: 12px 20px; font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
