.book-shell,.book-promo{width:min(1100px,calc(100% - 64px));margin-inline:auto}
.book-kicker{font-size:12px;font-weight:700;letter-spacing:.06em;color:#59613f;margin:0 0 12px}
.book-promo{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:center;gap:38px;margin-block:36px 56px;padding:32px 40px;border:1px solid #ded9b7;border-radius:14px;background:#fffdf2;color:#213d31}
.book-promo-cover{display:block;line-height:0}
.book-promo-cover img{display:block;width:100%;height:auto;box-shadow:0 8px 18px #4b42221c}
.book-promo h2{font-size:clamp(23px,2.7vw,32px);margin:0 0 4px;line-height:1.5}
.book-promo-lead{font-size:18px;font-weight:600;margin:0 0 12px}
.book-promo-copy>p:not([class]){font-size:14px;line-height:1.9;margin:0 0 14px}
.book-promo .book-name{font-size:14px;font-weight:600;line-height:1.8;margin:0 0 18px}
.book-name small{display:block;margin-top:4px;font-size:12px;font-weight:400;color:#59645c}
.book-actions{display:flex;align-items:center;gap:14px 24px;flex-wrap:wrap}
.book-detail-link{font-size:13px;font-weight:600}
a.book-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid #213d31;border-radius:6px;padding:12px 20px;background:#213d31;color:#fffdf2;font-size:14px;font-weight:650;text-decoration:none;line-height:1.6}
a.book-button:hover{background:#355440;color:white}
.book-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.developer-page .book-promo{width:100%;padding:26px;gap:26px;grid-template-columns:130px minmax(0,1fr);margin-block:30px}
.book-page{color:#213d31;background:#fffef8}
.book-breadcrumb{display:flex;gap:12px;flex-wrap:wrap;padding-block:25px 5px;font-size:12px;color:#5c685e}
.book-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr);align-items:center;gap:64px;padding-block:40px 68px}
.book-hero h1{font-size:clamp(28px,2.7vw,36px);line-height:1.65;letter-spacing:-.035em;margin:0 0 22px}
.book-hero h1>span{display:inline-block}
.book-hero .book-lead{font-size:16px;line-height:1.95;margin:0 0 18px}
.book-hero-copy>p:not([class]){font-size:14px;line-height:1.95}
.book-title-block{margin-block:26px}
.book-title-block h2{font-size:19px;line-height:1.7;letter-spacing:0}
.book-title-block p{font-size:13px;margin-top:8px;color:#59645c}
.book-hero-cover{margin:0;max-width:320px;justify-self:center}
.book-hero-cover img{display:block;width:100%;height:auto;box-shadow:0 14px 32px #4b422221}
.book-hero-cover figcaption{font-size:12px;line-height:1.8;text-align:center;margin-top:18px;color:#59645c}
.book-page h2{font-size:clamp(25px,3vw,34px);line-height:1.6}
.book-page .book-title-block h2{font-size:19px}
.book-readers{background:#f6f3df;padding-block:48px}
.book-readers ul{padding-left:1.4em;margin:22px 0 0;font-size:15px;line-height:2}
.book-readers li+li{margin-top:8px}
.book-learning{padding-block:64px 44px}
.book-learning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:32px}
.book-learning-grid section{border-top:2px solid #ddd9b8;padding-top:18px}
.book-step{font:14px ui-monospace,monospace;color:#687341}
.book-learning-grid h3{font-size:19px;line-height:1.6;letter-spacing:0;margin:10px 0}
.book-learning-grid p,.book-examples p,.book-author p{font-size:14px;line-height:2}
.book-examples{padding-block:16px 52px}
.book-examples p{margin-top:16px;max-width:780px}
.book-author{display:grid;grid-template-columns:minmax(0,1fr) 140px;align-items:center;gap:40px;padding-block:32px;border-block:1px solid #dedfce}
.book-author p{max-width:720px;margin:12px 0}
.book-author .book-kicker{margin:0}
.book-author a{font-size:13px;font-weight:600}
.book-author img{width:140px;height:140px;border-radius:50%;object-fit:cover}
.book-information{padding-block:52px}
.book-information dl{display:grid;grid-template-columns:145px minmax(0,1fr);margin:24px 0 0;font-size:14px}
.book-information dt,.book-information dd{margin:0;padding:13px 0;border-bottom:1px solid #e1e3d5;overflow-wrap:anywhere}
.book-information dt{font-weight:600}
.book-source{font-size:12px;color:#5c685e;margin-top:22px}
.book-closing{padding-block:48px 56px;background:#f6f3df}
.book-closing p:not(.book-kicker){font-size:14px;line-height:2;margin:18px 0 24px}
@media(max-width:760px){
  .book-shell,.book-promo{width:calc(100% - 36px)}
  .book-promo{grid-template-columns:108px minmax(0,1fr);gap:22px;padding:24px;align-items:start}
  .book-promo h2{font-size:23px}
  .book-hero{gap:30px;grid-template-columns:1fr;padding-block:28px 40px}
  .book-hero-cover{width:210px;max-width:70%}
  .book-hero h1{font-size:28px;line-height:1.65}
  .book-learning-grid{grid-template-columns:1fr;gap:26px}
  .book-learning{padding-block:44px 32px}
  .book-readers{padding-block:36px}
  .book-author{gap:20px;grid-template-columns:minmax(0,1fr) 80px}
  .book-author img{width:80px;height:80px}
  .book-information dl{grid-template-columns:100px minmax(0,1fr)}
}
@media(max-width:540px){
  .book-promo,.developer-page .book-promo{grid-template-columns:1fr;gap:22px;padding:24px}
  .book-promo-cover{width:112px}
  .book-promo .book-actions{align-items:flex-start;flex-direction:column;gap:18px}
  .book-promo-lead{font-size:16px}
}
