/* A quiet companion to the approved App and Blog design. */
.book-page [hidden] { display:none!important; }
.book-page :is(.bk-hero,.bk-idea-grid,.bk-updates)>* { min-width:0; }
.book-page .bk-hero { display:grid; grid-template-columns:1fr 1.08fr; align-items:center; gap:50px; padding-block:62px 66px; }
.book-page .bk-overline { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.book-page .bk-language { display:flex; align-items:center; gap:6px; font-size:11px; color:var(--j-muted); }
.book-page .bk-language a { min-width:34px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
.book-page .bk-language a[aria-current] { color:var(--j-ink); text-decoration:underline; text-underline-offset:5px; }
.book-page .bk-hero h1 { margin-top:17px; font-size:clamp(42px,4.6vw,68px); letter-spacing:-.058em; line-height:1.02; max-width:620px; }
.book-page .bk-by { margin-top:22px; font-size:13px; color:var(--j-muted); }
.book-page .bk-deck { margin-top:21px; max-width:440px; color:var(--j-muted); font-size:17px; line-height:1.7; }
.book-page .bk-primary { margin-top:27px; min-height:54px; }
.book-page .bk-note { margin-top:13px; font-size:11px; color:var(--j-muted); }
.book-page .bk-cover { position:relative; isolation:isolate; padding-block:30px 20px; }
.book-page .bk-cover-halo { position:absolute; z-index:-1; inset:0 -12px 0; border-radius:50%; background:radial-gradient(ellipse,#d2ded7 0%,#e4e9df 51%,#f7f5ef00 72%); }
.book-page .bk-cover img { width:100%; height:auto; filter:drop-shadow(0 24px 20px #29332626); }
.book-page .bk-cover figcaption { margin-top:16px; text-align:center; font-size:10px; letter-spacing:.15em; text-transform:uppercase; color:var(--j-muted); }
.book-page .bk-idea { background:#e0e7dc; padding-block:60px; }
.book-page .bk-idea-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:100px; }
.book-page .bk-idea h2 { margin-top:17px; font-size:clamp(30px,3vw,42px); letter-spacing:-.05em; max-width:420px; }
.book-page .bk-facts { display:flex; gap:42px; margin:29px 0 0; }
.book-page .bk-facts dt { color:#52624e; font-size:11px; }
.book-page .bk-facts dd { margin:3px 0 0; font-size:16px; font-weight:500; }
.book-page .bk-preparation { margin-top:22px; max-width:430px; font-size:12px; line-height:1.7; color:#52624e; }
.book-page .bk-idea blockquote { position:relative; padding-top:22px; font-family:Fraunces,Georgia,serif; font-size:clamp(25px,2.5vw,35px); line-height:1.37; letter-spacing:-.025em; }
.book-page .bk-idea blockquote>span { position:absolute; top:-26px; left:-4px; font-size:76px; color:#6d8264; }
.book-page .bk-idea cite { display:block; margin-top:22px; font:400 12px/1.6 Inter,sans-serif; color:#52624e; letter-spacing:0; }
.book-page .bk-updates { display:grid; grid-template-columns:.9fr 1fr; gap:100px; align-items:center; padding-block:80px; scroll-margin-top:100px; }
.book-page .bk-updates h2 { margin-top:18px; font-size:clamp(34px,3.5vw,49px); letter-spacing:-.052em; line-height:1.08; max-width:430px; }
.book-page .bk-updates-copy>p:not(.j-kicker) { margin-top:22px; max-width:410px; font-size:16px; color:var(--j-muted); }
.book-page .bk-support { display:inline-flex; align-items:center; gap:20px; min-height:44px; margin-top:22px; font-size:13px; text-decoration:underline; text-underline-offset:5px; }
.book-page .bk-form-card { padding:32px; border-radius:24px; background:#e6edf0; }
.book-page .bk-form-card label:not(.bk-consent) { display:flex; flex-direction:column; gap:8px; font-size:12px; font-weight:500; }
.book-page .bk-name-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:18px; }
.book-page .bk-form-card input:not([type=checkbox]):not([type=hidden]) { width:100%; min-width:0; height:52px; padding:12px 15px; border:1px solid #bfcdd0; background:#fffefa; color:var(--j-ink); border-radius:12px; font-size:16px; }
.book-page .bk-form-card input::placeholder { color:#6b756d; opacity:1; }
.book-page .bk-consent { display:flex; align-items:flex-start; gap:12px; padding-block:9px; margin:17px 0 12px; cursor:pointer; font-size:12px; line-height:1.7; color:#48594f; }
.book-page .bk-consent input { appearance:auto; flex:0 0 19px; width:19px; height:19px; margin:2px 0 0; accent-color:#294434; }
.book-page .bk-submit { width:100%; justify-content:space-between; text-align:left; min-height:54px; background:#294434; font-size:13px; }
.book-page .bk-submit:disabled { cursor:wait; opacity:.7; transform:none; }
.book-page .bk-form-note { margin-top:16px; color:#526157; font-size:11px; line-height:1.75; }
.book-page .bk-form-note a { text-decoration:underline; text-underline-offset:3px; }
.book-page .bk-error { padding:12px; margin-bottom:15px; border-left:3px solid #774b34; background:#fff7ee; color:#683c25; font-size:14px; }
.book-page .bk-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.book-page .bk-success { padding-block:26px; scroll-margin-top:110px; }
.book-page .bk-success-icon { display:grid; width:50px; height:50px; place-items:center; border-radius:50%; background:#cedccd; color:#294434; margin-bottom:22px; }
.book-page .bk-success h3 { font-size:34px; letter-spacing:-.045em; }
.book-page .bk-success p { margin-top:18px; font-size:16px; color:#526157; }
.book-page .bk-response { min-height:50vh; max-width:760px; padding-block:60px 80px; }
.book-page .bk-response h1 { margin-top:24px; font-size:clamp(34px,4vw,56px); letter-spacing:-.045em; }
.book-page .bk-response>p:not(.j-kicker) { margin-top:24px; color:var(--j-muted); }
.book-page .bk-response .j-pill { margin-top:28px; }
@media (max-width:1000px) {
  .book-page .bk-hero { gap:25px; }
  .book-page .bk-idea-grid,.book-page .bk-updates { gap:45px; }
  .book-page .bk-name-row { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .book-page .bk-hero { grid-template-columns:1fr; gap:20px; padding-block:22px 34px; }
  .book-page .bk-hero h1 { font-size:clamp(39px,9vw,58px); max-width:530px; }
  .book-page .bk-by { margin-top:17px; }
  .book-page .bk-deck { font-size:16px; margin-top:16px; }
  .book-page .bk-note { font-size:11px; }
  .book-page .bk-cover { width:min(100%,490px); margin-inline:auto; padding-block:18px 0; }
  .book-page .bk-cover-halo { inset:0; }
  .book-page .bk-idea { padding-block:42px; }
  .book-page .bk-idea-grid { grid-template-columns:1fr; gap:52px; }
  .book-page .bk-idea h2 { font-size:34px; }
  .book-page .bk-idea blockquote { font-size:28px; }
  .book-page .bk-updates { grid-template-columns:1fr; gap:27px; padding-block:45px; }
  .book-page .bk-updates h2 { font-size:36px; }
  .book-page .bk-form-card { padding:23px; border-radius:20px; }
  .book-page .bk-name-row { grid-template-columns:1fr 1fr; gap:12px; }
  .book-page .bk-consent { font-size:13px; }
  .book-page .bk-success h3 { font-size:30px; }
}
@media (max-width:370px) {
  .book-page .bk-overline { gap:6px; }
  .book-page .bk-overline .j-kicker { font-size:9px; letter-spacing:.1em; }
  .book-page .bk-language { gap:0; }
  .book-page .bk-form-card { padding:20px; }
  .book-page .bk-name-row { grid-template-columns:1fr; }
  .book-page .bk-facts { gap:24px; }
}
@media (prefers-reduced-motion:reduce) {
  .book-page *, .book-page *::before,.book-page *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
  html:has(.book-page) { scroll-behavior:auto; }
}
