/* Book landing page — layout and responsive values follow Figma nodes 1201:1573 and 1201:2118. */
.book-document { scrollbar-color: #dadada #fff; }
.book-document::-webkit-scrollbar-thumb,
.book-document ::-webkit-scrollbar-thumb { background-color: #dadada; }
.book-template-body {
  --book-teal: #395e66;
  --book-lime: #c2e01b;
  --book-ink: #231f20;
  --book-gray: #918f8f;
  --book-line: #dadada;
  margin: 0;
  color: var(--book-ink);
  background: #fff;
  font-family: "Myriad Pro", Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.book-template-body *,
.book-template-body *::before,
.book-template-body *::after { box-sizing: border-box; }
.book-template-body #content-block,
.book-template-body .book-page-shell { width: 100%; overflow: visible; }
.book-template-body .book-page-shell { position: relative; }
.book-template-body img { max-width: 100%; }
.book-template-body p,
.book-template-body h1,
.book-template-body h2,
.book-template-body h3,
.book-template-body figure,
.book-template-body blockquote { margin: 0; }
.book-template-body h1,
.book-template-body h2,
.book-template-body h3,
.book-template-body p,
.book-template-body a,
.book-template-body button { font-family: "Myriad Pro", Arial, sans-serif; }
.book-template-body a:before { display: none !important; }
.book-template-body .book-container { width: min(1324px, calc(100% - 116px)); margin-right: auto; margin-left: auto; }
.book-template-body .book-page { padding-top: 36px; overflow: visible; color: var(--book-ink); }
.book-template-body [id^="book-"] { scroll-margin-top: 108px; }

/* Announcement and page-only navigation */
.book-topline { min-height: 32px; color: #fff; background: var(--book-teal); }
.book-topline__inner { display: flex; min-height: 32px; align-items: center; justify-content: center; gap: 24px; }
.book-topline p { min-width: 0; color: #aedaee; font-size: 16px; line-height: 1.3; }
.book-topline a { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 4px; color: #fff; font-size: 16px; line-height: 1.4; text-decoration: none; }
.book-topline a img { display: block; width: 16px; height: 16px; }
.book-template-body #content-block .book-site-header { position: sticky; top: 8px; z-index: 100; margin: 0; padding: 0; background: transparent; }
.admin-bar.book-template-body #content-block .book-site-header { top: 40px; }
.book-site-header__inner { display: flex; width: min(1324px, calc(100% - 116px)); height: 76px; align-items: center; gap: 32px; margin: 0 auto; padding: 16px 16px 16px 24px; border-radius: 44px; background: #fff; box-shadow: 0 0 12px rgba(35, 31, 32, .07); }
.book-site-header__logo { display: inline-flex; width: 114px; flex: 0 0 114px; align-items: center; }
.book-site-header__logo img { display: block; width: 114px; height: auto; }
.book-site-header__nav { flex: 1 1 auto; min-width: 0; margin: 0; padding: 0; }
.book-template-body .book-site-header__menu,
.book-template-body .book-site-header__menu > li > ul { display: flex; align-items: center; gap: clamp(16px, 2.2vw, 32px); margin: 0; padding: 0; list-style: none; }
.book-template-body .book-site-header__menu { justify-content: center; }
.book-template-body .book-site-header__menu > li { position: relative; margin: 0; padding: 0; }
.book-template-body .book-site-header__menu > li > a { display: block; padding: 8px 0; color: var(--book-teal); font-size: 16px; font-weight: 400; line-height: 1.3; text-decoration: none; white-space: nowrap; }
.book-template-body .book-site-header__menu > .menu-item-has-children > a { display: inline-flex; align-items: center; gap: 8px; }
.book-template-body .book-site-header__menu > .menu-item-has-children > a::after { display: block; width: 16px; height: 16px; flex: 0 0 16px; background: currentColor; mask: url('../book/icons/contact-arrow-down.svg') center / contain no-repeat; content: ''; }
.book-template-body .book-site-header__menu > li > ul { position: absolute; top: 100%; left: -20px; z-index: 10; display: none; min-width: 220px; align-items: stretch; padding: 12px 20px; border: 1px solid var(--book-line); border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(35, 31, 32, .08); }
.book-template-body .book-site-header__menu > li:hover > ul,
.book-template-body .book-site-header__menu > li:focus-within > ul { display: flex; flex-direction: column; gap: 4px; }
.book-template-body .book-site-header__menu > li > ul a { display: block; padding: 8px 0; color: var(--book-teal); font-size: 15px; text-decoration: none; }
.book-template-body .book-site-header__menu a:hover,
.book-template-body .book-site-header__menu a:focus-visible { color: #789aa2; }
.book-template-body .book-site-header__menu a:active,
.book-template-body .book-site-header__menu .current-menu-item > a { color: var(--book-ink); }
.book-site-header__cta { display: inline-flex; min-height: 44px; flex: 0 0 auto; align-items: center; justify-content: center; padding: 0 24px; border: 1px solid var(--book-teal); border-radius: 100px; color: #fff; background: var(--book-teal); font-size: 16px; font-weight: 400; line-height: 1.4; text-decoration: none; white-space: nowrap; }
.book-site-header__cta:hover { color: #fff; background: #2f5158; }
.book-site-header__toggle { display: none; }

/* Hero, book specifications, and introduction */
.book-main-info { --book-sticky-top: 108px; --book-viewport-height: 100vh; position: relative; display: flex; width: min(1324px, calc(100% - 116px)); flex-direction: column; gap: 0; margin: 0 auto; }
.book-main-info .book-hero { width: 100%; }
@supports (height: 100svh) {
  .book-main-info { --book-viewport-height: 100svh; }
}
.book-hero { position: relative; width: min(1324px, calc(100% - 116px)); height: 560px; margin: 0 auto; border-radius: 40px; background-color: #f4f3ed; background-image: var(--book-hero-bg-desktop); background-position: center; background-repeat: no-repeat; background-size: cover; }
.book-hero__inner { position: relative; display: flex; width: 100% !important; height: 100%; align-items: center; padding: 32px 58px; }
.book-hero__copy { position: relative; z-index: 2; display: flex; width: min(700px, 58%); flex-direction: column; align-items: flex-start; gap: 44px; }
.book-page .book-hero h1 { color: var(--book-teal); font-size: 96px; font-weight: 400; letter-spacing: 0; line-height: 1.3; }
.book-hero h1 span,
.book-hero h1 small { display: block; }
.book-hero h1 small { margin-top: -8px; color: var(--book-teal); font-size: 48px; font-weight: 300; line-height: 1.3; }
.book-hero__lead { color: var(--book-teal); font-size: 16px; font-weight: 400; line-height: 1.3; }
.book-hero__actions { display: flex; align-items: flex-start; gap: 8px; }
.book-template-body .book-button { display: inline-flex; height: 57px; min-height: 57px; align-items: center; justify-content: center; padding: 15px 31px; border: 1px solid var(--book-teal); border-radius: 100px; font-size: 18px; font-weight: 400; line-height: 25px; text-align: center; text-decoration: none; white-space: nowrap; }
.book-template-body .book-button--primary { border-color: #fff; color: #fff; background: var(--book-teal); }
.book-template-body .book-button--light { color: var(--book-teal); background: #fff; }
.book-template-body .book-button:hover,
.book-template-body .book-outline-button:hover { filter: brightness(.96); }
/* Reserve a separate column and let native sticky stop at the end of the introduction. */
.book-cover-track { position: absolute; top: -22px; bottom: 0; left: calc((100% - 24px) * .63 + 24px); z-index: 1; width: calc((100% - 24px) * .37); pointer-events: none; }
.book-hero__book { position: sticky; top: var(--book-sticky-top); display: block; width: min(416px, 86.486486%, calc((var(--book-viewport-height) - var(--book-sticky-top) - 32px) * .622754491), calc(var(--book-viewport-height) * .498203593)); height: auto; aspect-ratio: 416 / 668; }
.book-hero__book img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
.book-specs { display: flex; width: calc((100% - 24px) * .63) !important; gap: 24px; margin-top: 24px; }
.book-spec { display: flex; min-width: 0; min-height: 65px; flex: 1 1 0; align-items: center; justify-content: space-between; gap: 12px; padding: 20px 32px; border: 1px solid var(--book-line); border-radius: 40px; background: #fff; line-height: 1.3; }
.book-spec span { color: var(--book-teal); font-size: 18px; font-weight: 600; line-height: 23px; white-space: nowrap; }
.book-spec strong { color: var(--book-ink); font-size: 18px; font-weight: 300; line-height: 23px; white-space: nowrap; }
.book-about { display: flex; width: calc((100% - 24px) * .63) !important; min-height: 556px; flex-direction: column; gap: 32px; margin-top: 24px; padding: 44px 57px 58px; border: 1px solid var(--book-line); border-radius: 40px; background: #fff; }
.book-template-body .book-specs,
.book-template-body .book-about { margin-left: 0; margin-right: auto; }
.book-about__info { display: flex; width: 100%; max-width: 697px; flex-direction: column; align-items: flex-start; gap: 16px; }
.book-page .book-about h2 { color: var(--book-teal); font-size: 72px; font-weight: 300; line-height: 94px; }
.book-richtext { color: var(--book-ink); font-size: 16px; font-weight: 300; line-height: 21px; }
/* ACF-pasted font styles inherit the design; strong/em retain semantic emphasis. */
.book-template-body :is(.book-richtext, .book-review blockquote, .book-faq__answer) :is(p, span, font) {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}
.book-richtext > *:first-child { margin-top: 0; }
.book-richtext > *:last-child { margin-bottom: 0; }
.book-richtext p { margin: 0; color: inherit; font-size: inherit; line-height: inherit; }
.book-about .book-richtext { display: flex; flex-direction: column; gap: 16px; }
.book-pages { width: 100%; }
.book-pages__track { display: flex; width: 100%; align-items: center; gap: 8px; overflow: visible; }
.book-pages__slide { display: contents; }
.book-pages__track figure { width: min(92px, calc((100% - (var(--book-gallery-columns, 7) - 1) * 8px) / var(--book-gallery-columns, 7))); height: auto; flex: 0 0 min(92px, calc((100% - (var(--book-gallery-columns, 7) - 1) * 8px) / var(--book-gallery-columns, 7))); aspect-ratio: 92 / 126; overflow: hidden; border: 1px solid var(--book-line); border-radius: 16px; }
.book-pages__track img { display: block; width: 100%; height: 100%; object-fit: cover; }
.book-pages__controls { display: none; }

/* Quote */
.book-quote { display: flex; width: min(724px, calc(100% - 116px)) !important; flex-direction: column; gap: 0; margin-top: 120px; margin-right: auto !important; margin-left: max(58px, calc((100% - 1324px) / 2)) !important; padding: 72px 0; }
.book-quote__line { display: flex; width: 100%; align-items: flex-start; gap: 8px; }
.book-quote__mark { display: inline-block; width: 18px; height: 18px; flex: 0 0 18px; vertical-align: top; }
.book-quote__mark--start { transform: rotate(180deg); }
.book-quote__mark--end { margin-left: 8px; }
.book-quote__line p { color: var(--book-teal); font-size: 48px; font-weight: 300; line-height: 1; }
.book-quote__line p .book-quote__accent { color: var(--book-lime); }
.book-quote__ending { white-space: nowrap; }
.book-quote__mobile-break { display: none; }
.book-quote__line--first p { flex: 1 1 auto; }
.book-quote__line--last { display: block; padding-left: 26px; }
.book-quote__line--last p { text-align: left; }

/* What is inside */
.book-inside { margin-top: 120px; }
.book-page .book-inside > h2 { margin-bottom: 24px; color: var(--book-teal); font-size: 72px; font-weight: 300; line-height: 94px; }
.book-inside__layout { --inside-height: 558px; --inside-inactive-height: 81px; --inside-title-leading: 1.3; --inside-description-gap: 8px; display: grid; min-height: var(--inside-height); grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 26px; }
.book-inside__layout[data-active-part="1"] { --inside-height: 560px; --inside-inactive-height: 76px; --inside-title-leading: 1.1; --inside-description-gap: 16px; grid-template-columns: minmax(0, 649fr) minmax(0, 650fr); gap: 25px; }
.book-inside__tabs { display: flex; min-width: 0; flex-direction: column; gap: 8px; }
.book-inside__tabs { min-height: var(--inside-height); }
.book-inside__tab { display: flex; width: 100%; min-height: var(--inside-inactive-height); flex: 0 0 auto; flex-direction: column; align-items: stretch; justify-content: center; gap: 12px; padding: 24px; border: 1px solid var(--book-line); border-radius: 40px; color: var(--book-teal); background: #fff; font-size: 24px; font-weight: 400; line-height: var(--inside-title-leading); text-align: left; cursor: pointer; transition: color .2s ease, background-color .2s ease, border-color .2s ease; }
.book-inside__layout[data-active-part="1"] .book-inside__tab:not(.is-active) { padding-top: 23px; padding-bottom: 23px; }
.book-inside__tab.is-active { min-height: 202px; flex: 1 0 auto; justify-content: flex-start; gap: var(--inside-description-gap); padding: 24px; border: 0; color: #fff; background: var(--book-teal); }
.book-inside__layout[data-active-part="1"] .book-inside__tab.is-active { min-height: 224px; }
.book-inside__tab:hover:not(.is-active) { border-color: var(--book-teal); color: #789aa2; }
.book-inside__tab:focus-visible { outline: 2px solid var(--book-lime); outline-offset: 3px; }
.book-part__heading { display: flex; min-width: 0; align-items: center; gap: 14px; }
.book-inside__tab:not(.is-active) .book-part__heading { gap: 16px; }
.book-part__bullet { display: none; width: 24px; flex: 0 0 24px; color: var(--book-line); font-size: 24px; line-height: 1.1; text-align: center; }
.book-inside__tab:not(.is-active) .book-part__chip { display: none; }
.book-inside__tab:not(.is-active) .book-part__bullet { display: block; }
.book-part__title { min-width: 0; }
.book-part__desktop-break { display: none; }
.book-inside__tab.is-active .book-part__title { color: #fff; }
.book-part__description { display: none; margin-left: 100px; color: #fff; font-size: 16px; font-weight: 300; line-height: 21px; }
.book-inside__tab.is-active .book-part__description { display: block; }
.book-inside__content { min-width: 0; }
.book-inside__panel { display: flex; width: 100%; padding: 0; border: 0; border-radius: 40px; background: transparent; }
.book-inside__panel[hidden] { display: none; }
.book-inside__panel:focus-visible { outline: 2px solid var(--book-lime); outline-offset: 3px; }
.book-part__chip { display: inline-flex; min-height: 28px; flex: 0 0 auto; align-items: center; padding: 4px 12px; border-radius: 100px; color: var(--book-teal); background: #fff; font-size: 14px; font-weight: 400; line-height: 1.4; white-space: nowrap; }
.book-practice-card { position: relative; width: 100%; min-width: 0; min-height: 0; flex: 1 1 auto; overflow: hidden; border-radius: 40px; background: #dadada; }
.book-practice-card__cover { display: block; width: 100%; aspect-ratio: 649 / 558; }
.book-inside__panel[data-book-part="1"] .book-practice-card__cover { aspect-ratio: 650 / 560; }
.book-practice-card__image { display: block; width: 100%; height: 100%; object-fit: fill; }
.book-practice-card__chip { position: absolute; top: 24px; left: 24px; z-index: 1; display: inline-flex; min-height: 28px; align-items: center; padding: 4px 16px; border-radius: 100px; color: var(--book-teal); background: #fff; font-size: 14px; font-weight: 400; line-height: 1.4; }
.book-template-body .book-practice-card__link { position: absolute; top: 24px; right: 24px; z-index: 1; display: inline-flex; min-width: 144px; min-height: 44px; align-items: center; justify-content: center; padding: 10px 24px; border: 0; border-radius: 100px; color: #fff; background: var(--book-teal); font-size: 16px; font-weight: 400; line-height: 1.4; text-decoration: none; white-space: nowrap; cursor: pointer; transition: background-color .2s ease; }
.book-template-body .book-practice-card__link:hover:not(:disabled) { color: #fff; background: #2b4a51; }
.book-practice-card__link:focus-visible { outline: 3px solid var(--book-lime); outline-offset: 3px; }
.book-template-body .book-practice-card__link:disabled { cursor: default; }

.book-video { position: fixed; width: min(1100px, calc(100vw - 48px)); max-width: none; max-height: none; margin: auto; padding: 24px; overflow: visible; border: 0; background: transparent; }
.book-video::backdrop { background: rgba(35, 31, 32, .86); }
.book-video__player { width: 100%; max-height: 80vh; aspect-ratio: 16 / 9; background: #000; }
.book-video__player iframe,
.book-video__player video { display: block; width: 100%; height: 100%; border: 0; }

.book-pages__image-button { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.book-pages__image-button:focus-visible { outline: 2px solid var(--book-teal); outline-offset: -3px; }
.book-lightbox { position: fixed; width: min(1100px, calc(100vw - 48px)); max-width: none; height: min(88vh, 900px); max-height: none; padding: 24px; overflow: visible; border: 0; color: var(--book-ink); background: transparent; }
.book-lightbox::backdrop { background: rgba(35, 31, 32, .86); }
.book-lightbox__figure { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; margin: 0; }
.book-lightbox__figure img { display: block; max-width: 100%; max-height: 100%; border-radius: 8px; object-fit: contain; }
.book-lightbox__close,
.book-lightbox__nav { position: absolute; z-index: 1; display: grid; width: 48px; height: 48px; place-items: center; padding: 12px; border: 1px solid var(--book-line); border-radius: 50%; color: var(--book-teal); background: #fff; cursor: pointer; }
.book-lightbox__close { top: -4px; right: -4px; padding: 11px; }
.book-lightbox__close-icon { display: block; width: 24px; height: 24px; background: currentColor; mask: url('../book/icons/lightbox-close.svg') center / contain no-repeat; }
.book-lightbox__nav { top: 50%; transform: translateY(-50%); }
.book-lightbox__nav--prev { left: -4px; }
.book-lightbox__nav--next { right: -4px; }
.book-lightbox__nav img { display: block; width: 16px; height: 16px; }
.book-lightbox__nav[hidden] { display: none; }

/* Author and reader reviews */
.book-author { display: grid; height: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 120px; }
.book-author__photo { position: relative; width: 100%; height: auto; aspect-ratio: 650 / 560; align-self: start; overflow: hidden; border-radius: 40px; background: #f2f0e8; }
.book-author__photo picture,
.book-author__photo img { display: block; width: 100%; height: 100%; }
.book-author__photo picture { position: absolute; inset: 0; }
.book-author__photo img { object-fit: cover; object-position: center bottom; }
.book-author__info { display: flex; min-width: 0; flex-direction: column; justify-content: space-between; gap: 32px; padding: 57px; border: 1px solid var(--book-line); border-radius: 40px; background: #fff; }
.book-author__copy { display: flex; flex-direction: column; gap: 56px; }
.book-author__heading { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; color: var(--book-teal); }
.book-page .book-author__heading h2 { max-width: 100%; color: var(--book-teal); font-size: 56px; font-weight: 300; line-height: 73px; }
.book-author__heading p { color: var(--book-teal); font-size: 16px; font-weight: 400; line-height: 21px; }
.book-author__quote { padding: 0 16px; font-size: 16px; line-height: 21px; border-left: 1px solid var(--book-teal); border-radius: 0 50px 50px 0; }
.book-author__quote p { max-width: 452px; color: var(--book-ink); font-size: inherit; font-weight: 300; line-height: inherit; }
.book-template-body .book-outline-button { display: inline-flex; height: 44px; min-height: 44px; align-items: center; justify-content: center; align-self: flex-start; padding: 10px 24px; border: 1px solid var(--book-teal); border-radius: 100px; color: var(--book-teal); background: #fff; font-size: 16px; font-weight: 400; line-height: 22px; text-decoration: none; white-space: nowrap; }
.book-reviews { margin-top: 120px; }
.book-reviews__shell { display: flex; min-height: 560px; flex-direction: column; justify-content: space-between; padding: 58px; border: 1px solid var(--book-line); border-radius: 60px; background: #fff; }
.book-reviews__content { display: flex; flex-direction: column; gap: 48px; }
.book-reviews__eyebrow { display: flex; align-items: center; gap: 24px; color: var(--book-teal); font-size: 16px; font-weight: 400; line-height: 21px; }
.book-reviews__pagination { display: inline-flex; align-items: center; gap: 8px; }
.book-reviews__pagination b { color: var(--book-teal); font-weight: 400; }
.book-reviews__pagination i,
.book-reviews__pagination span { color: #c8c7c7; font-style: normal; font-weight: 400; }
.book-reviews__track { display: flex; min-width: 0; overflow: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; }
.book-reviews__track::-webkit-scrollbar { display: none; }
.book-review { display: flex; min-width: 100%; flex: 0 0 100%; flex-direction: column; scroll-snap-align: start; }
.book-review blockquote { max-width: 1000px; color: var(--book-teal); font-size: 24px; font-weight: 300; line-height: 34px; }
.book-reviews__footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.book-review__author { display: flex; align-items: center; gap: 24px; color: var(--book-teal); font-size: 16px; font-weight: 400; line-height: 21px; }
.book-review__author img { display: block; width: 58px; height: 58px; flex: 0 0 58px; border-radius: 50%; background: var(--book-line); object-fit: cover; }
.book-reviews__controls { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.book-reviews__controls button,
.book-pages__controls button { display: inline-flex; width: 44px; height: 44px; flex: 0 0 44px; align-items: center; justify-content: center; padding: 10px; border: 1px solid var(--book-teal); border-radius: 50%; background: #fff; cursor: pointer; }
.book-reviews__controls img,
.book-pages__controls button img { display: block; width: 16px; height: 16px; }

/* Publisher preorder banner and FAQ */
.book-preorder { position: relative; display: flex; height: 426px; align-items: center; margin-top: 120px; padding: 80px 58px; overflow: hidden; border-radius: 60px; background-color: #f2f0e8; background-image: var(--book-preorder-bg-desktop); background-position: center; background-repeat: no-repeat; background-size: cover; }
.book-preorder::before,
.book-preorder::after { display: none; }
.book-preorder__copy { position: relative; z-index: 1; display: flex; width: 610px; max-width: 62%; flex-direction: column; align-items: flex-start; gap: 32px; }
.book-page .book-preorder h2 { max-width: 610px; color: var(--book-teal); font-size: 56px; font-weight: 400; line-height: 1; }
.book-preorder__publisher { white-space: nowrap; }
.book-preorder__book { position: absolute; top: 0; right: 0; z-index: 1; display: block; width: 416px; height: 426px; }
.book-preorder__book img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.book-template-body .book-preorder .book-button { height: 44px; min-height: 44px; padding: 10px 24px; font-size: 18px; }
.book-faq { display: flex; flex-direction: column; align-items: center; gap: 44px; margin-top: 120px; }
.book-page .book-faq > h2 { width: 100%; color: var(--book-teal); font-size: 56px; font-weight: 300; line-height: 73px; text-align: center; }
.book-faq__mobile-break { display: none; }
.book-faq__items { display: flex; width: 100%; flex-direction: column; gap: 16px; }
.book-faq__item { padding: 16px 58px; border: 1px solid var(--book-line); border-radius: 40px; background: #fff; }
.book-faq__item.is-open { padding-top: 32px; padding-bottom: 32px; }
.book-faq__item h3 { margin: 0; }
.book-faq__item h3 button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 24px; padding: 0; border: 0; color: var(--book-teal); background: transparent; font-size: 28px; font-weight: 300; line-height: 39px; text-align: left; cursor: pointer; }
.book-faq__item h3 button img { display: block; width: 24px; height: 24px; flex: 0 0 24px; }
.book-faq__item h3 button span { flex: 1 1 auto; min-width: 0; }
.book-faq__answer { display: grid; font-size: 16px; font-weight: 300; line-height: 1.4; grid-template-rows: 0fr; transition: grid-template-rows .25s ease; }
.book-faq__answer p { min-height: 0; margin: 0; overflow: hidden; color: var(--book-ink); font-size: 16px; font-weight: 300; line-height: 1.4; }
.book-faq__item.is-open .book-faq__answer { grid-template-rows: 1fr; }
.book-faq__item.is-open .book-faq__answer p { padding: 0 24px; }

/* Contact form and custom footer */
.book-contact { margin-top: 120px; }
.book-contact__banner { position: relative; display: flex; min-height: 119px; align-items: center; justify-content: center; padding: 44px 10px; border-radius: 28px; color: #fff; background: var(--book-teal); text-align: center; }
.book-contact__banner p { max-width: 100%; color: #fff; font-size: 24px; font-weight: 400; line-height: 31px; }
.book-contact__banner > a { position: absolute; bottom: -22px; left: 50%; display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid var(--book-teal); border-radius: 50%; background: #fff; transform: translateX(-50%); }
.book-contact__banner > a img { display: block; width: 16px; height: 16px; }
.book-contact__layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 24px; }
.book-contact__locations { display: flex; flex-direction: column; gap: 24px; }
.book-contact__office-row { display: grid; min-height: 214px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.book-contact-card { display: flex; min-width: 0; height: 214px; min-height: 214px; flex-direction: column; justify-content: flex-start; gap: 29px; padding: 31px; border: 1px solid var(--book-line); border-radius: 40px; color: var(--book-teal); background: #fff; transition: color .2s ease, background-color .2s ease, border-color .2s ease; }
.book-contact-card:hover,
.book-contact-card:focus-within { border-color: var(--book-teal); color: #fff; background: var(--book-teal); }
.book-contact-card > img,
.book-contact-card__icon { display: block; width: 44px; height: 44px; flex: 0 0 44px; object-fit: contain; }
.book-contact-card__icon img { display: block; width: 100%; height: 100%; }
.book-contact-card:hover > img,
.book-contact-card:focus-within > img,
.book-contact-card:hover .book-contact-card__icon,
.book-contact-card:focus-within .book-contact-card__icon { filter: brightness(0) invert(1); }
.book-contact-card > div { display: flex; flex-direction: column; gap: 24px; }
.book-contact-card a,
.book-contact-card p { color: inherit; font-size: 16px; font-weight: 400; line-height: 19px; text-decoration: none; }
.book-contact-card a { text-decoration: underline; text-underline-offset: 2px; }
.book-contact-card .book-contact-card__description { color: #918f8f; font-size: 14px; font-weight: 300; line-height: 17px; letter-spacing: .01em; text-decoration: none; transition: color .2s ease; }
.book-contact__office-row:first-child .book-contact-card:last-child .book-contact-card__description { line-height: 20px; }
.book-contact-card:hover .book-contact-card__description,
.book-contact-card:focus-within .book-contact-card__description { color: #fff; line-height: 17px; }
.book-contact__form { position: relative; min-width: 0; min-height: 452px; padding: 53px; border: 1px solid var(--book-line); border-radius: 40px; background: #fff; }
.book-template-body .book-contact__form h2 { margin: 0 0 24px; color: var(--book-teal); font-size: 48px; font-weight: 300; letter-spacing: .01em; line-height: 62px; }
.book-contact__form .wpcf7,
.book-contact__form .wpcf7 form { width: 100%; margin: 0; }
.book-contact__form .wpcf7 form { display: grid; min-height: 256px; grid-template-columns: minmax(0, 1fr); align-content: space-between; gap: 44px; }
.book-form__fields { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 10.732px; }
.book-form__field--question { grid-column: 1 / -1; }
.book-form__actions { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.book-contact__form .hidden-fields-container { display: none; }
.book-contact__form .screen-reader-response { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.book-contact__form .wpcf7-response-output[aria-hidden="true"] { display: none; }
.book-contact__form .wpcf7 form p { display: contents; margin: 0; }
.book-contact__form .wpcf7 label { display: flex; min-width: 0; flex-direction: column; gap: 8px; color: var(--book-teal); font-size: 14px; font-weight: 300; line-height: 20px; }
.book-contact__form .wpcf7 label br { display: none; }
.book-contact__form .wpcf7-form-control-wrap { display: block; width: 100%; }
.book-contact__form .wpcf7 input:not([type="submit"]):not([type="hidden"]),
.book-contact__form .wpcf7 textarea,
.book-contact__form .wpcf7 select { display: block; width: 100%; height: 44px; min-height: 44px; padding: 10px 16px; border: 1px solid var(--book-line); border-radius: 100px; color: var(--book-ink); background: #fff; font-family: inherit; font-size: 14px; font-weight: 300; line-height: 1.4; box-shadow: none; }
.book-contact__form .wpcf7 .book-form__field--name input:not([type="submit"]):not([type="hidden"]),
.book-contact__form .wpcf7 .book-form__field--question textarea { font-family: 'Manrope', 'Myriad Pro', Arial, sans-serif; }
.book-contact__form .wpcf7 input::placeholder,
.book-contact__form .wpcf7 textarea::placeholder { color: #918f8f; opacity: 1; }
.book-contact__form .wpcf7 input[type="submit"] { position: static; display: block; width: auto; min-width: 124px; height: 44px; min-height: 44px; flex: 0 0 auto; justify-self: start; padding: 10px 24px; border: 1px solid var(--book-teal); border-radius: 100px; color: #fff; background: var(--book-teal); font-family: inherit; font-size: 18px; font-weight: 400; opacity: 1; cursor: pointer; }
.book-contact__form .wpcf7 input[type="submit"]:hover { background: #2f5158; }
.book-contact__form .wpcf7 textarea { height: 44px; min-height: 44px; border-radius: 100px; resize: none; }
.book-contact__channels { position: static; display: flex; align-items: center; gap: 16px; color: #918f8f; }
.book-contact__channels-label { font-size: 14px; font-weight: 300; line-height: 20px; white-space: nowrap; }
.book-contact__channel-buttons { display: flex; align-items: center; gap: 8px; }
.book-contact__channels a { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid var(--book-teal); border-radius: 50%; color: var(--book-teal); }
.book-contact__channels svg { display: block; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.book-contact__channels img { display: block; width: 24px; height: 24px; }
.book-contact__form .wpcf7 .wpcf7-spinner { vertical-align: middle; }
.book-contact__form .wpcf7 .wpcf7-response-output { margin: 12px 0 0; }
.book-contact__form .wpcf7-response-output:not([aria-hidden="true"]) { display: block !important; }
.book-contact__form .wpcf7-not-valid-tip { display: block !important; margin-top: 4px; font-size: 12px; line-height: 1.3; }
.book-form__actions > .wpcf7-spinner { position: absolute; top: 50%; left: 128px; margin: -12px 0 0; }
.book-template-body .book-site-footer { display: grid; min-height: 448px; grid-template-columns: 208px minmax(0, 672px) 72px; gap: 128px; margin-top: 120px; margin-bottom: 58px; padding: 57px; border: 1px solid var(--book-line); border-radius: 60px; color: var(--book-ink); background: #fff; }
.book-site-footer__brand { display: flex; min-width: 0; flex-direction: column; justify-content: space-between; }
.book-site-footer__logo { display: inline-flex; width: 200px; height: 52px; align-items: center; }
.book-site-footer__logo img { display: block; width: 100%; height: auto; }
.book-site-footer__socials { display: flex; align-items: center; gap: 24px; margin-top: 0; }
.book-site-footer__socials a { display: grid; width: 32px; height: 32px; place-items: center; color: var(--book-teal); text-decoration: none; }
.book-site-footer__socials svg,
.book-site-footer__socials img { display: block; width: 32px; height: 32px; }
.book-site-footer__socials svg { fill: none; stroke: currentColor; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; }
.book-site-footer__social-icon--youtube path:last-child { fill: currentColor; stroke: none; }
.book-site-footer { position: relative; }
.book-site-footer__top { position: static; display: grid; width: 72px; height: 72px; grid-column: 3; grid-row: 1; align-self: start; justify-self: center; place-items: center; border-radius: 50%; background: var(--book-teal); }
.book-site-footer__top img { display: block; width: 24px; height: 24px; }
.book-site-footer__legal { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; color: var(--book-gray); }
.book-site-footer__legal a,
.book-site-footer__legal p { margin: 0; color: var(--book-gray); font-size: 14px; line-height: 20px; letter-spacing: .01em; text-decoration: none; }
.book-site-footer__links { display: grid; grid-template-columns: 112px 185px minmax(0, 1fr); gap: 64px; align-items: start; }
.book-site-footer__important { display: flex; min-height: 320px; flex-direction: column; justify-content: flex-start; gap: 44px; }
.book-site-footer__menu h2,
.book-site-footer__schedule h2,
.book-site-footer__offices h2 { margin: 0 0 16px; color: var(--book-teal); font-size: 16px; font-weight: 400; line-height: 21px; letter-spacing: .01em; }
.book-template-body .book-footer-menu { margin: 0; padding: 0; list-style: none; }
.book-template-body .book-footer-menu li { margin: 0; padding: 0; }
.book-template-body .book-footer-menu li + li { margin-top: 8px; }
.book-template-body .book-footer-menu a { display: block; color: var(--book-ink); font-size: 16px; font-weight: 300; line-height: 22px; letter-spacing: .01em; text-decoration: none; }
.book-site-footer__schedule p { color: var(--book-ink); font-size: 14px; font-weight: 300; line-height: 20px; text-decoration: none; }
.book-schedule__row { display: block; white-space: nowrap; }
.book-schedule__workweek { white-space: nowrap; }
.book-site-footer__schedule p { margin: 0; }
.book-site-footer__offices { display: flex; flex-direction: column; gap: 44px; }
.book-site-footer__offices > div { min-width: 0; }
.book-site-footer__offices h2 { margin-bottom: 16px; }
.book-office { display: flex; flex-direction: column; gap: 8px; color: var(--book-ink); font-size: 16px; font-weight: 300; line-height: 22px; letter-spacing: .01em; }
.book-office__address p,
.book-office__links a,
.book-office__address a { color: inherit; font-size: inherit; line-height: inherit; }
.book-office__address a,
.book-office__links a { text-decoration: underline; text-underline-offset: 2px; }
.book-office__address p { margin: 0; color: var(--book-gray); }
.book-office__links { display: flex; flex-direction: column; }

/* Text-link and form states from the Review layout. */
.book-template-body .book-footer-menu a,
.book-site-footer__legal a,
.book-office a { transition: color .2s ease; }
.book-template-body .book-footer-menu a:hover,
.book-template-body .book-footer-menu a:focus-visible,
.book-site-footer__legal a:hover,
.book-site-footer__legal a:focus-visible,
.book-office a:hover,
.book-office a:focus-visible { color: #789aa2; }
.book-template-body .book-footer-menu a:active,
.book-site-footer__legal a:active,
.book-office a:active { color: var(--book-ink); }
.book-topline a:hover,
.book-topline a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.book-contact__form .wpcf7 input:not([type="submit"]):not([type="hidden"]):hover,
.book-contact__form .wpcf7 textarea:hover,
.book-contact__form .wpcf7 select:hover { border-color: #789aa2; }
.book-contact__form .wpcf7 input:not([type="submit"]):not([type="hidden"]):focus,
.book-contact__form .wpcf7 textarea:focus,
.book-contact__form .wpcf7 select:focus { border-color: var(--book-teal); outline: none; }

@media (min-width: 768px) {
  .book-inside__tab.is-active[data-book-part="3"] .book-part__heading { align-items: flex-start; }
  .book-inside__tab.is-active[data-book-part="3"] .book-part__chip { min-height: 25px; font-size: 12px; }
  .book-inside__tab.is-active .book-part__desktop-break { display: inline; }
}

@media (max-width: 1439px) and (min-width: 1281px) {
  .book-template-body .book-site-footer { gap: clamp(24px, calc((100vw - 1188px) / 2), 128px); }
}

@media (max-width: 1280px) and (min-width: 768px) {
  .book-spec { gap: 8px; padding-right: 16px; padding-left: 16px; }
  .book-spec span,
  .book-spec strong { font-size: 16px; line-height: 21px; }
  .book-template-body .book-site-footer { grid-template-columns: minmax(0, 1fr) 56px; grid-template-rows: auto auto; column-gap: 32px; row-gap: 40px; min-height: 0; padding: 40px; }
  .book-site-footer__brand { grid-column: 1; grid-row: 1; justify-content: flex-start; gap: 32px; }
  .book-site-footer__top { grid-column: 2; grid-row: 1; width: 56px; height: 56px; align-self: start; }
  .book-site-footer__links { grid-column: 1 / -1; grid-row: 2; gap: clamp(20px, 5vw, 64px); }
  .book-site-footer__important { min-height: 0; gap: 44px; }
}

/* Tablet adjustments */
@media (max-width: 1100px) and (min-width: 768px) {
  .book-template-body .book-container,
  .book-site-header__inner,
  .book-hero { width: calc(100% - 64px); }
  .book-main-info { width: calc(100% - 64px); }
  .book-hero__inner { padding-right: 40px; padding-left: 40px; }
  .book-hero__copy { width: 60%; gap: 32px; }
  .book-page .book-hero h1 { font-size: clamp(64px, 8vw, 88px); }
  .book-hero h1 small { font-size: clamp(34px, 4vw, 44px); }
  .book-specs { flex-direction: column; gap: 8px; }
  .book-spec { min-height: 52px; flex: none; padding: 14px 24px; }
  .book-about { padding-right: 38px; padding-left: 38px; }
  .book-quote { margin-left: 32px !important; }
  .book-page .book-inside > h2 { font-size: 64px; line-height: 83px; }
  .book-inside__tab { padding: 16px 20px; font-size: 20px; }
  .book-inside__tab.is-active { padding: 24px; }
  .book-inside__panel { padding: 0; }
  .book-author__info { padding: 38px; }
  .book-site-footer { grid-template-columns: minmax(0, 1fr) 56px !important; grid-template-rows: auto auto; column-gap: 24px !important; row-gap: 40px !important; padding: 40px !important; }
  .book-site-footer__brand { grid-column: 1; grid-row: 1; }
  .book-site-footer__top { grid-column: 2; grid-row: 1; width: 56px; height: 56px; }
  .book-site-footer__links { grid-column: 1 / -1; grid-row: 2; gap: 20px; }
  .book-contact__form { padding: 38px; }
  .book-template-body .book-contact__form h2 { font-size: 40px; line-height: 52px; }
  .book-form__actions { flex-wrap: wrap; row-gap: 24px; }
  .book-contact__channels { max-width: 100%; flex-wrap: wrap; row-gap: 12px; }
}

/* Mobile artboard: 375 px wide */
@media (max-width: 767px) {
  .book-template-body .book-container { width: calc(100% - 32px); }
  .book-template-body .book-page { padding-top: 284px; }
  .book-topline { min-height: 70px; }
  .book-template-body .book-topline__inner { width: 100%; min-height: 70px; align-items: flex-end; justify-content: space-between; gap: 32px; padding: 8px 16px; }
  .book-topline p { flex: 1 1 auto; color: #aedaee; font-size: 14px; line-height: 1.3; }
  .book-topline a { gap: 4px; font-size: 16px; }
  .book-template-body #content-block .book-site-header { top: 0; padding: 0; background: #fff; }
  .admin-bar.book-template-body #content-block .book-site-header { top: 46px; }
  .book-template-body .book-site-header__inner { position: relative; width: 100%; height: 62px; justify-content: space-between; gap: 16px; padding: 16px 16px 10px; border-radius: 0; box-shadow: none; }
  .book-site-header__toggle { display: flex; width: 24px; height: 24px; flex: 0 0 24px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 5px; padding: 0; border: 0; background: transparent; cursor: pointer; }
  .book-site-header__toggle span { display: block; width: 20px; height: 2px; border-radius: 2px; background: var(--book-teal); transition: transform .2s ease, opacity .2s ease; }
  .book-site-header__toggle[aria-expanded="true"] span:first-child { transform: translateY(7px) rotate(45deg); }
  .book-site-header__toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .book-site-header__toggle[aria-expanded="true"] span:last-child { transform: translateY(-7px) rotate(-45deg); }
  .book-site-header__logo { width: 86px; flex: 0 0 86px; margin-right: auto; }
  .book-site-header__logo img { width: 86px; }
  .book-site-header__cta { min-height: 36px; padding: 8px 16px; font-size: 14px; line-height: 1.4; }
  .book-template-body .book-site-header__nav { position: absolute; top: calc(100% - 2px); right: 16px; left: 16px; z-index: 10; display: none; width: auto; padding: 12px 18px; border: 1px solid var(--book-line); border-radius: 20px; background: #fff; box-shadow: 0 8px 24px rgba(35, 31, 32, .08); }
  .book-template-body .book-site-header__nav.is-open { display: block; }
  .book-template-body .book-site-header__menu,
  .book-template-body .book-site-header__menu > li > ul { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .book-template-body .book-site-header__menu > li { border-bottom: 1px solid #eee; }
  .book-template-body .book-site-header__menu > li:last-child { border-bottom: 0; }
  .book-template-body .book-site-header__menu > li > a { padding: 12px 0; font-size: 16px; white-space: normal; }
  .book-template-body .book-site-header__menu > li > ul { position: static; display: flex; min-width: 0; padding: 0 0 8px 14px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .book-template-body .book-site-header__menu > li > ul a { padding: 8px 0; font-size: 14px; }
  .book-menu-open { overflow: hidden; }

  .book-main-info { width: calc(100% - 32px); gap: 12px; margin: 0 auto; }
  .book-hero { width: 100%; height: auto; min-height: 0; margin: 0; border-radius: 28px; background-color: #f4f3ed; background-image: var(--book-hero-bg-mobile); background-position: center top; background-size: cover; }
  .book-hero__inner { display: flex; width: 100% !important; height: auto; flex-direction: column; align-items: flex-start; gap: 32px; padding: 120px 24px 24px; }
  .book-hero__copy { width: 100%; gap: 32px; }
  .book-page .book-hero h1 { font-size: 72px; line-height: 1.3; }
  .book-hero h1 small { max-width: 295px; margin-top: 8px; font-size: 32px; line-height: 1.3; }
  .book-hero__lead { max-width: 100%; font-size: 16px; line-height: 1.3; }
  .book-hero__actions { width: 100%; flex-direction: column; gap: 8px; }
  .book-template-body .book-button { width: 100%; min-height: 57px; padding: 15px 23px; font-size: 18px; }
  .book-cover-track { top: 0; right: 0; bottom: 0; left: 0; width: auto; }
  .book-hero__book { position: absolute; top: -268px; right: auto; left: 50%; width: 220px; height: 356px; aspect-ratio: auto; transform: translateX(-50%); }
  .book-hero__book img { object-position: center bottom; }
  .book-specs { display: flex; width: 100% !important; flex-direction: column; gap: 8px; margin: 0; }
  .book-template-body .book-specs,
  .book-template-body .book-about { margin-right: 0; margin-left: 0; }
  .book-spec { min-height: 52px; flex: none; padding: 14px 32px; border-radius: 28px; }
  .book-spec span,
  .book-spec strong { font-size: 16px; line-height: 21px; }
  .book-about { width: 100% !important; min-height: 0; gap: 32px; margin: 0; padding: 24px 24px 32px; border-radius: 28px; }
  .book-about__info { gap: 16px; }
  .book-page .book-about h2 { font-size: 44px; line-height: 57px; }
  .book-richtext { font-size: 16px; line-height: 21px; }
  .book-about .book-richtext { gap: 16px; }
  .book-pages__track { width: 100%; gap: 8px; overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .book-pages__track::-webkit-scrollbar { display: none; }
  .book-pages__slide { display: flex; width: 100%; flex: 0 0 100%; justify-content: center; gap: 8px; scroll-snap-align: start; }
  .book-pages__track figure { width: min(92px, calc((100% - 16px) / 3)); height: auto; flex: 0 0 min(92px, calc((100% - 16px) / 3)); aspect-ratio: 92 / 126; }
  .book-pages__controls { display: flex; align-items: center; justify-content: space-between; margin-top: 44px; }
  .book-pages__controls p { display: inline-flex; align-items: center; gap: 8px; color: var(--book-teal); font-size: 16px; line-height: 1.3; }
  .book-pages__controls p i,
  .book-pages__controls p span:last-child { color: #c8c7c7; font-style: normal; }
  .book-pages__controls button { width: 44px; height: 44px; }
  .book-quote { width: calc(100% - 32px) !important; gap: 0; margin: 80px auto 0 !important; padding: 72px 0; }
  .book-quote__line { gap: 8px; }
  .book-quote__mark { font-size: 32px; }
  .book-quote__line p { font-size: 32px; line-height: 1; }
  .book-quote__line--first p { white-space: normal; }
  .book-quote__line--last { position: relative; padding-left: 26px; }
  .book-quote__line--last p { flex: 1 1 auto; }
  .book-quote__mobile-break { display: inline; }

  .book-inside { margin-top: 80px; }
  .book-page .book-inside > h2 { margin-bottom: 24px; font-size: 44px; line-height: 57px; }
  .book-inside__layout,
  .book-inside__layout[data-active-part="1"] { display: grid; min-height: 0; grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .book-inside__tabs,
  .book-inside__content { display: contents; }
  .book-inside__tab,
  .book-inside__layout[data-active-part="1"] .book-inside__tab:not(.is-active) { min-height: 0; flex: 0 0 auto; align-items: stretch; gap: 12px; padding: 16px 24px; border-radius: 40px; font-size: 24px; line-height: 1.1; }
  .book-inside__tab.is-active,
  .book-inside__layout[data-active-part="1"] .book-inside__tab.is-active { min-height: 250px; flex: 0 0 auto; gap: 16px; padding: 24px 24px 32px; border-radius: 28px; }
  .book-inside__tab.is-active:not(:first-child) { margin-top: 8px; }
  .book-inside__tab.is-active[data-book-part="2"] { min-height: 224px; }
  .book-inside__tab.is-active[data-book-part="3"] { min-height: 312px; }
  .book-inside__tab.is-active[data-book-part="4"] { min-height: 208px; }
  .book-inside__tab.is-active[data-book-part="5"] { min-height: 334px; }
  .book-inside__tab.is-active .book-part__heading { flex-direction: column; align-items: flex-start; gap: 14px; }
  .book-part__heading,
  .book-inside__tab:not(.is-active) .book-part__heading { align-items: flex-start; gap: 4px; }
  .book-part__title { line-height: 1.1; }
  .book-inside__tab.is-active[data-book-part="3"] .book-part__title,
  .book-inside__tab.is-active[data-book-part="4"] .book-part__title,
  .book-inside__tab.is-active[data-book-part="5"] .book-part__title { line-height: 1.3; }
  .book-part__description { margin-left: 0; font-size: 16px; line-height: 21px; }
  .book-inside__content { height: auto; min-height: 0; }
  .book-inside__panel { height: auto; min-height: 0; padding: 0; border-radius: 28px; }
  .book-inside__panel.is-active:not(:last-child) { margin-bottom: 8px; }
  .book-practice-card { width: 100%; flex: 0 0 auto; border-radius: 28px; }
  .book-practice-card__cover,
  .book-inside__panel[data-book-part="1"] .book-practice-card__cover { aspect-ratio: 343 / 440; }
  .book-practice-card__chip { top: 24px; left: 24px; }
  .book-video { width: calc(100vw - 16px); padding: 48px 8px; }
  .book-lightbox { width: calc(100vw - 16px); height: 84vh; padding: 48px 8px; }
  .book-lightbox__close { top: 0; right: 4px; }
  .book-lightbox__nav { width: 42px; height: 42px; padding: 10px; }
  .book-lightbox__nav--prev { left: 0; }
  .book-lightbox__nav--next { right: 0; }

  .book-author { display: flex; height: auto; flex-direction: column; gap: 24px; margin-top: 80px; }
  .book-author__photo { width: 100%; height: auto; aspect-ratio: 343 / 320; flex: 0 0 auto; border-radius: 28px; }
  .book-author__info { min-height: 0; gap: 64px; padding: 24px; border-radius: 28px; }
  .book-author__copy { gap: 44px; }
  .book-author__heading { gap: 16px; }
  .book-page .book-author__heading h2 { font-size: 40px; line-height: 1.3; }
  .book-author__heading p { font-size: 16px; line-height: 21px; }
  .book-author__quote { padding: 0 16px; font-size: 14px; line-height: 18px; }
  .book-author__quote p { font-size: inherit; line-height: inherit; }
  .book-template-body .book-outline-button { width: 100%; align-self: stretch; }
  .book-reviews { margin-top: 80px; }
  .book-reviews__shell { min-height: 0; gap: 32px; padding: 24px; border-radius: 28px; }
  .book-reviews__content { gap: 32px; }
  .book-reviews__eyebrow { gap: 24px; font-size: 16px; }
  .book-review blockquote { font-size: 18px; line-height: 25px; }
  .book-reviews__footer { flex-direction: column; align-items: stretch; gap: 44px; }
  .book-review__author { gap: 16px; font-size: 14px; line-height: 18px; }
  .book-review__author img { width: 44px; height: 44px; flex-basis: 44px; }
  .book-reviews__controls { justify-content: space-between; }
  .book-preorder { display: flex; height: auto; min-height: 408px; align-items: flex-start; margin-top: 80px; padding: 56px 24px 220px; overflow: hidden; border-radius: 28px; background-image: var(--book-preorder-bg-desktop); background-position: center; background-size: cover; }
  .book-preorder::before { position: absolute; inset: 0; z-index: 0; display: block; border-radius: inherit; background-image: var(--book-preorder-bg-mobile); background-position: center; background-repeat: no-repeat; background-size: cover; content: ""; }
  .book-preorder::after { position: absolute; inset: auto; top: 0; left: -60.34%; z-index: 0; display: block; width: 220.68%; height: 104.67%; background-image: var(--book-preorder-bg-desktop); background-position: left top; background-repeat: no-repeat; background-size: 100% 100%; content: ""; }
  .book-preorder__copy { width: 100%; max-width: 100%; align-items: center; gap: 24px; }
  .book-page .book-preorder h2 { max-width: 100%; font-size: 32px; line-height: 1; text-align: center; }
  .book-preorder__desktop-break { display: none; }
  .book-preorder__book { top: 187px; right: 0; width: 186px; height: 221px; }
  .book-preorder__book img { border-top-right-radius: 109px; object-fit: cover; }
  .book-faq { gap: 24px; margin-top: 80px; }
  .book-page .book-faq > h2 { font-size: 44px; line-height: 1; }
  .book-faq__mobile-break { display: initial; }
  .book-faq__items { gap: 8px; }
  .book-faq__item,
  .book-faq__item.is-open { padding: 24px; border-color: #c8c7c7; border-radius: 28px; }
  .book-faq__item h3 button { align-items: flex-start; gap: 16px; font-size: 18px; line-height: 25px; }
  .book-faq__item h3 button img { width: 24px; height: 24px; }
  .book-faq__item.is-open .book-faq__answer { margin-top: 16px; }
  .book-faq__item.is-open .book-faq__answer p { padding: 0; font-size: 16px; }
  .book-contact { margin-top: 80px; }
  .book-contact__banner { min-height: 0; padding: 44px 10px; border-radius: 28px; }
  .book-contact__banner p { font-size: 18px; line-height: 23px; }
  .book-contact__banner > a { left: calc(50% + .5px); }
  .book-contact__layout { display: flex; flex-direction: column; gap: 8px; margin-top: 56px; }
  .book-contact__form { order: 0; min-height: 642px; padding: 23px 23px 31px; border-color: #c8c7c7; border-radius: 28px; }
  .book-template-body .book-contact__form h2 { margin: 0 0 16px; font-size: 32px; line-height: 42px; letter-spacing: .01em; white-space: normal; text-align: center; }
  .book-contact__form .wpcf7 form { min-height: 0; grid-template-columns: minmax(0, 1fr); align-content: start; gap: 44px; }
  .book-form__fields { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .book-form__actions { flex-direction: column; align-items: stretch; gap: 24px; }
  .book-contact__form .wpcf7 input[type="submit"] { width: 100%; grid-column: 1; justify-self: stretch; }
  .book-contact__form .wpcf7 input:not([type="submit"]):not([type="hidden"]),
  .book-contact__form .wpcf7 select { min-height: 44px; border-color: rgba(200, 199, 199, .5); }
  .book-contact__form .wpcf7 textarea { border-color: rgba(200, 199, 199, .5); }
  .book-contact__form .wpcf7 .book-form__field--email input:not([type="submit"]):not([type="hidden"]) { font-family: 'Manrope', 'Myriad Pro', Arial, sans-serif; }
  .book-contact__form .wpcf7 input::placeholder,
  .book-contact__form .wpcf7 textarea::placeholder { color: #c8c7c7; }
  .book-contact__channels { position: static; flex-direction: column; align-items: center; justify-content: center; gap: 16px; margin-top: 0; }
  .book-contact__channels-label { width: auto; margin: 0; color: #c8c7c7; text-align: center; }
  .book-contact__channel-buttons { gap: 24px; }
  .book-form__actions > .wpcf7-spinner { top: 22px; right: 12px; left: auto; }
  .book-contact__locations { order: 1; gap: 8px; }
  .book-contact__office-row { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .book-contact-card { height: auto; min-height: 122px; flex-direction: row; align-items: flex-start; justify-content: flex-start; gap: 16px; padding: 23px; border-radius: 28px; }
  .book-contact-card > img,
  .book-contact-card__icon { width: 24px; height: 24px; flex-basis: 24px; }
  .book-contact-card > div { min-width: 0; gap: 16px; }
  .book-contact-card > div > a { display: flex; min-height: 24px; align-items: center; }
  .book-contact-card .book-contact-card__description,
  .book-contact__office-row:first-child .book-contact-card:last-child .book-contact-card__description { line-height: 17px; }
  .book-site-footer { display: flex !important; min-height: 0 !important; flex-direction: column; align-items: center; gap: 56px !important; margin-top: 80px !important; margin-bottom: 16px !important; padding: 55px 31px !important; border-radius: 28px !important; text-align: center; }
  .book-site-footer__brand { display: contents; }
  .book-site-footer__logo { width: 162px; height: 42px; }
  .book-site-footer__logo { order: 1; align-self: center; }
  .book-site-footer__socials { gap: 32px; }
  .book-site-footer__socials { order: 2; align-self: center; }
  .book-site-footer__socials a,
  .book-site-footer__socials svg,
  .book-site-footer__socials img { width: 32px; height: 32px; }
  .book-site-footer__legal { order: 5; width: 100%; align-items: center; gap: 24px; }
  .book-site-footer__links { order: 3; display: flex; width: 100%; flex-direction: column; align-items: center; gap: 64px; }
  .book-site-footer__important { width: 100%; min-height: 0; align-items: center; gap: 64px; }
  .book-site-footer__menu,
  .book-site-footer__schedule,
  .book-site-footer__offices { width: 100%; text-align: center; }
  .book-site-footer__menu h2,
  .book-site-footer__schedule h2,
  .book-site-footer__offices h2 { width: 100%; text-align: center; }
  .book-template-body .book-footer-menu { text-align: center; }
  .book-template-body .book-footer-menu li + li { margin-top: 24px; }
  .book-site-footer__offices > div { width: 100%; }
  .book-office,
  .book-office__address,
  .book-office__links { align-items: center; text-align: center; }
  .book-office { gap: 16px; }
  .book-office__links { gap: 16px; }
  .book-site-footer__legal a,
  .book-site-footer__legal p { width: 100%; text-align: center; }
  .book-site-footer__menu h2,
  .book-site-footer__schedule h2,
  .book-site-footer__offices h2 { margin-bottom: 24px; font-size: 18px; line-height: 23px; }
  .book-site-footer__schedule p { font-size: 16px; line-height: 22px; }
  .book-site-footer__offices { gap: 64px; }
  .book-site-footer__top { position: static; order: 4; align-self: center; width: 72px; height: 72px; }
  .book-site-footer__top img { width: 24px; height: 24px; }
}

@media (max-width: 600px) {
  .admin-bar.book-template-body #content-block .book-site-header { top: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .book-template-body *,
  .book-template-body *::before,
  .book-template-body *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
