.book-page { --book-blue: #052f61; }
.book-page .book-main > section, .book-page .book-footer { border-top: 0; }

.book-hero { padding-top: 86px; padding-bottom: 70px; }
.book-hero-frame {
  position: relative;
  display: grid;
  height: min(86.4vh, 912px);
  min-height: 516px;
  grid-template-columns: minmax(0, 1fr);
  gap: 60px;
  align-items: end;
  overflow: hidden;
  padding: clamp(38px, 6vw, 82px);
  padding-bottom: clamp(30px, 3vw, 42px);
  border-radius: 22px;
  background:
    linear-gradient(90deg, rgba(0,0,0,.8) 0%, rgba(0,0,0,.58) 40%, rgba(0,0,0,.12) 72%, rgba(0,0,0,.08) 100%),
    url("./assets/images/patrick-mouratoglou-book-hero.jpg") 50% 50% / cover no-repeat;
}
.book-hero-copy { position: relative; z-index: 1; display: flex; max-width: 900px; flex-direction: column; align-items: flex-start; }
.book-kicker { position: absolute; z-index: 2; top: 42px; left: 42px; margin: 0; color: rgba(255,255,255,.65); font-family: var(--font-body); font-size: 12px; font-weight: 600; text-transform: uppercase; }
.book-overline { margin: 0 0 12px; color: rgba(255,255,255,.65); font-family: var(--font-body); font-size: 12px; font-weight: 600; text-transform: uppercase; }
.book-hero-tagline { max-width: 820px; margin: 0; font-size: var(--type-hero); font-weight: 900; line-height: .9; letter-spacing: -.055em; text-transform: uppercase; }
.book-primary-cta { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; margin-bottom: 24px; padding: 0 20px; border: 1px solid var(--white); border-radius: 999px; color: var(--black); background: var(--white); font: 500 13px/1 var(--font-body); text-decoration: none; }

.book-object { display: none; }
.book-cover { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; padding: 28px; background: linear-gradient(145deg, #f4f4f1 0 58%, #1164c0 58% 100%); color: #050505; }
.book-cover::after { content: ""; position: absolute; right: -35%; bottom: -10%; width: 90%; aspect-ratio: 1; border: 2px solid rgba(255,255,255,.7); border-radius: 50%; }
.book-cover span { font: 600 12px/1 var(--font-body); text-transform: uppercase; }
.book-cover strong { margin-top: auto; font: 850 clamp(2.4rem, 4.5vw, 4.4rem)/.82 var(--font-display); letter-spacing: -.06em; text-transform: uppercase; }
.book-cover small { position: relative; z-index: 1; margin-top: 22px; color: var(--white); font: 600 13px/1.2 var(--font-body); text-transform: uppercase; }
.book-spine { position: absolute; z-index: 1; top: 2%; bottom: -1%; left: -20px; width: 24px; background: #d1d1cc; transform: skewY(-45deg); transform-origin: right top; }

.book-manifesto, .book-order { padding-top: 90px; padding-bottom: 100px; }
.book-manifesto-grid { display: grid; grid-template-columns: minmax(300px, 1fr) minmax(360px, 1fr); gap: clamp(50px, 8vw, 120px); align-items: start; }
.book-manifesto h2, .book-order h2 { margin: 0; font-size: var(--type-section-title); font-weight: 850; line-height: .92; letter-spacing: -.045em; text-transform: uppercase; }
.book-manifesto-copy { max-width: 620px; }
.book-manifesto-copy p { margin: 0 0 24px; font-family: var(--font-body); font-size: 18px; font-weight: 400; line-height: 1.48; }

.order-grid { display: block; margin-top: 58px; border-top: 1px solid #30302e; }
.order-card { display: grid; grid-template-columns: minmax(180px, .42fr) minmax(0, 1.58fr); gap: clamp(34px, 6vw, 90px); align-items: start; padding: 30px 0; border-bottom: 1px solid #30302e; background: transparent; }
.order-card h3 { margin: 4px 0 0; font-size: var(--type-card-title); font-weight: 800; line-height: 1; text-transform: uppercase; }
.order-editions { display: grid; gap: 22px; padding-left: clamp(28px, 4vw, 58px); border-left: 1px solid #30302e; }
.order-edition { display: grid; grid-template-columns: minmax(180px, .48fr) minmax(0, 1.52fr); gap: 24px; align-items: start; }
.order-edition + .order-edition { padding-top: 22px; border-top: 1px solid #30302e; }
.order-card p { margin: 10px 0 0; color: #aebed0; font-family: var(--font-body); font-size: 13px; font-weight: 600; line-height: 1.35; text-transform: uppercase; }
.order-links { display: flex; flex-wrap: wrap; gap: 10px; }
.order-links a { display: inline-flex; min-height: 40px; align-items: center; padding: 0 16px; border: 1px solid rgba(255,255,255,.5); border-radius: 999px; font: 500 13px/1 var(--font-body); text-decoration: none; }
.order-links a:hover { color: var(--black); background: var(--white); }

.book-footer { max-width: 1250px; margin-top: 20px; }

@media (max-width: 980px) {
  .book-hero-frame { grid-template-columns: 1fr; gap: 34px; }
  .book-manifesto-grid { grid-template-columns: 1fr; gap: 44px; }
  .book-manifesto-copy { max-width: 760px; }
}

@media (max-width: 760px) {
  .book-hero { padding-top: 76px; padding-bottom: 42px; }
  .book-hero-frame { height: 72vh; min-height: 540px; grid-template-columns: 1fr; padding: 28px 20px; border-radius: 14px; background-position: 58% 50%; }
  .book-kicker { top: 24px; left: 20px; }
  .book-hero-tagline { font-size: clamp(36px, 10vw, 46px); }
  .book-object { width: min(78vw, 310px); margin: 30px auto 20px; }
  .book-manifesto, .book-order { padding-top: 36px; padding-bottom: 36px; }
  .book-manifesto-copy p { font-size: 16px; }
  .order-grid { margin-top: 28px; }
  .order-card { grid-template-columns: 1fr; gap: 22px; padding: 26px 0; }
  .order-editions { padding: 22px 0 0; border-top: 1px solid #30302e; border-left: 0; }
  .order-edition { grid-template-columns: 1fr; gap: 14px; }
  .order-card p { margin-top: 0; }
}
