/* Approved Idle Well Press artwork is the display identity.
   Inter remains supporting website text pending the designer's font handoff. */
:root {
  --forest: #315932;
  --forest-hover: #234324;
  --cover-stock: #e3d6ba;
  --kraft: var(--cover-stock);
  --kraft-dark: #b5a888;
  --olive: var(--forest);
}
html { scrollbar-color: var(--forest) var(--paper); }
body { caret-color: var(--forest); }
::selection { background: var(--forest); color: var(--paper-light); }
:focus-visible { outline-color: var(--forest); }
a { text-underline-offset: .2em; }
.wordmark { display: block; line-height: 0; letter-spacing: normal; }
.wordmark img { display: block; width: 184px; height: 62px; object-fit: contain; object-position: left center; }
.site-header { height: 104px; }
.site-footer .wordmark img { width: 166px; height: 56px; }
.hero { min-height: 690px; padding: 62px 0 70px; }
.hero h1, .about-hero h1 { font-size: clamp(60px, 6.2vw, 88px); line-height: 1.02; letter-spacing: -.03em; text-wrap: balance; }
.hero-intro { max-width: 440px; }
.button-dark { background: var(--forest); color: var(--paper-light); }
.button-dark:hover { background: var(--forest-hover); }
.hero-object { min-height: 510px; }
.book-stage {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: transform 900ms var(--ease);
}
.book-stage[aria-pressed="true"] .book-3d {
  transform: translateX(140px) rotateX(3deg) rotateY(-8deg);
}
.book-3d { width: 280px; height: 400px; }
.cover-panel { background: var(--cover-stock); border: 0; }
.cover-outer { overflow: hidden; }
.approved-cover, .approved-interior { display: block; width: 100%; height: 100%; object-fit: contain; }
.cover-inner { background: var(--cover-stock); }
.book-page { background: white; border: 0; }
.book-page::before { display: none; }
.page-edge { height: calc(100% - 6px); }
.thin-spine { height: 100%; }
.book-shadow { bottom: 28px; }
.object-note { bottom: 0; }
.quiet-strip { background: var(--forest); color: var(--paper-light); border: 0; }
.quiet-strip span { background: var(--cover-stock); }
.book-section { grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
.book-details h2 { font-size: clamp(42px, 4.4vw, 62px); letter-spacing: -.03em; line-height: 1.05; }
.spec-list dd { font-variant-numeric: tabular-nums; }
.interior-preview { margin: 0; justify-self: center; width: min(300px,100%); }
.interior-preview > img { display: block; width: 100%; height: auto; background: white; box-shadow: 0 18px 35px rgba(42,34,24,.13); }
.interior-preview figcaption { margin-top: 24px; text-align: center; color: var(--ink-soft); font-size: 12px; }
.about-object { width: 260px; height: 260px; right: 1%; top: 285px; opacity: .12; }
.about-object img { display: block; width: 100%; height: auto; }
@media (max-width: 1000px) {
  .hero { gap: 20px; }
  .book-stage { transform: translate(-50%, -50%) scale(.8); }
  .book-stage[aria-pressed="true"] { transform: translate(-50%, -50%) scale(.6); }
  .book-section { gap: 60px; }
}
@media (max-width: 760px) {
  .site-header { height: 86px; }
  .wordmark img { width: 160px; height: 58px; }
  .site-nav { top: 86px; height: calc(100dvh - 86px); }
  .hero { padding: 48px 0 40px; }
  .hero h1, .about-hero h1 { font-size: clamp(46px, 12vw, 66px); line-height: 1.05; }
  .hero-object { min-height: 400px; }
  .book-stage { transform: translate(-50%, -50%) scale(.8); }
  .book-stage[aria-pressed="true"] { transform: translate(-50%, -50%) scale(.6); }
  .book-section { grid-template-columns: 1fr; gap: 55px; padding: 75px 0; }
  .book-details h2 { font-size: 44px; }
  .interior-preview { width: min(280px,90%); }
  .about-object { right: 0; top: 400px; width: 175px; height: 175px; transform: none; }
}

@media (max-width: 350px) {
  .book-stage { transform: translate(-50%, -50%) scale(.72); }
  .book-stage[aria-pressed="true"] { transform: translate(-50%, -50%) scale(.48); }
}
@media (prefers-reduced-motion: reduce) {
  .book-stage[aria-pressed="true"] .book-3d { transform: translateX(140px) rotateX(3deg) rotateY(-8deg) !important; }
}
