/* Applied only when JavaScript positively identifies a touch/mobile landscape viewport. */
.landscape-brand,.cover-browse{display:contents}
.app-shell.mobile-landscape .bottom-nav{position:fixed;z-index:60;left:14px;right:12px;bottom:12px;display:grid;grid-template-columns:repeat(5,1fr);padding:5px 5px 5px 62px;clip-path:inset(0 calc(100% - 62px) 0 0 round 23px);pointer-events:auto;transition:clip-path .24s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease}
.app-shell.mobile-landscape.menu-open .bottom-nav{clip-path:inset(0 0 0 0 round 19px)}
.app-shell.mobile-landscape .mobile-menu-toggle{position:absolute;z-index:1;left:8px;bottom:10px;display:grid!important;width:46px;height:46px;min-height:46px;place-items:center;border:0;border-radius:50%;background:#173f30;color:#fff;box-shadow:0 8px 22px rgba(18,37,31,.3);font-size:20px;line-height:1}
.app-shell.mobile-landscape .mobile-menu-toggle[hidden]{display:none!important}
.app-shell.mobile-landscape.menu-open .mobile-menu-toggle{background:#173f30;color:#fff}
.app-shell.mobile-landscape:not(.menu-open) .bottom-nav{background:transparent;border-color:transparent;box-shadow:none}
.app-shell.mobile-landscape:not(.menu-open) .bottom-nav .nav-item:not(.mobile-menu-toggle){opacity:0;pointer-events:none;transform:translateX(-12px)}
.app-shell.mobile-landscape .bottom-nav .nav-item:not(.mobile-menu-toggle){transition:opacity .14s ease,transform .2s ease}
.app-shell.mobile-landscape .home{display:grid;grid-template-columns:minmax(210px,.78fr) minmax(0,1.22fr);column-gap:18px;align-items:start;min-height:100%;height:auto;padding:16px 18px 22px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
.app-shell.mobile-landscape .landscape-brand{grid-column:1;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}
.app-shell.mobile-landscape .home-logo{margin:0}
.app-shell.mobile-landscape .home-logo img{width:min(290px,92%);max-width:100%;max-height:156px;object-fit:contain;object-position:center}
.app-shell.mobile-landscape .rail-header{margin:0;width:100%}
.app-shell.mobile-landscape .experience-graphic{margin:0;text-align:center}
.app-shell.mobile-landscape .experience-graphic img{max-width:min(280px,100%);max-height:122px;object-fit:contain;object-position:center top}
.app-shell.mobile-landscape .cover-browse{grid-column:2;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.app-shell.mobile-landscape .book-rail{align-self:stretch;display:flex;gap:12px;height:min(190px,calc(100svh - 195px));overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding:8px 12px 12px 2px;-webkit-overflow-scrolling:touch}
.app-shell.mobile-landscape .book-rail .cover{flex:0 0 auto;width:142px;margin:0;scroll-snap-align:start}
.app-shell.mobile-landscape .book-rail .cover img{height:min(165px,calc(100svh - 240px));max-height:165px;width:auto;max-width:142px;object-fit:contain}
.app-shell.mobile-landscape .book-rail .cover-label{font-size:12px}
.app-shell.mobile-landscape .see-all-booklets{align-self:flex-end;margin:0;padding:3px 0}
.print-volumes{display:none}
@media(min-width:651px){
  .app-shell:not(.mobile-landscape) .print-volumes{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;width:min(100%,650px);justify-self:center;margin:12px 0 24px;padding:16px 20px;border:1px solid rgba(23,63,48,.16);border-radius:18px;background:rgba(255,253,248,.82);box-shadow:0 8px 22px rgba(45,55,34,.08)}
  .app-shell:not(.mobile-landscape) .print-volumes-copy h2{margin:2px 0;color:#173f30;font:600 28px/1 'Playfair Display',serif}
  .app-shell:not(.mobile-landscape) .print-volumes-copy p{margin:5px 0 0;color:#526159;font-size:13px}
  .app-shell:not(.mobile-landscape) .print-volume-books{display:flex;gap:12px}
  .app-shell:not(.mobile-landscape) .print-volume{width:82px;padding:0;border:0;background:transparent;color:#173f30;font:700 11px/1 'DM Sans',sans-serif;text-align:center}
  .app-shell:not(.mobile-landscape) .print-volume-inner{display:block;position:relative;width:82px;height:122px}
  .app-shell:not(.mobile-landscape) .print-volume img{position:absolute;inset:0;width:82px;height:122px;object-fit:cover;border-radius:5px;box-shadow:0 5px 12px rgba(20,30,20,.22)}
  .app-shell:not(.mobile-landscape) .print-volume-back{display:none}
  .app-shell:not(.mobile-landscape) .print-volume b{display:block;margin-top:5px}
  .app-shell:not(.mobile-landscape) .print-volume-note{grid-column:1 / -1;justify-self:end;margin-top:-8px;color:#607067;font-size:10px}
}
@media(max-width:650px){
  .app-shell:not(.mobile-landscape) .print-volumes{display:grid;grid-template-columns:1fr;justify-items:center;gap:12px;margin:10px 0 18px;padding:14px 14px 12px;border:1px solid rgba(23,63,48,.16);border-radius:18px;background:rgba(255,253,248,.82);box-shadow:0 8px 22px rgba(45,55,34,.08)}
  .app-shell:not(.mobile-landscape) .print-volumes-copy .eyebrow{font-size:9px}
  .app-shell:not(.mobile-landscape) .print-volumes-copy{text-align:center}
  .app-shell:not(.mobile-landscape) .print-volumes-copy h2{margin:2px 0;color:#173f30;font:600 25px/1 'Playfair Display',serif}
  .app-shell:not(.mobile-landscape) .print-volumes-copy p{margin:5px 0 0;color:#526159;font-size:12px;line-height:1.25}
  .app-shell:not(.mobile-landscape) .print-volume-books{display:flex;justify-content:center;gap:18px;width:100%}
  .app-shell:not(.mobile-landscape) .print-volume{width:136px;padding:0;border:0;background:transparent;color:#173f30;font:700 12px/1 'DM Sans',sans-serif;text-align:center;perspective:600px}
  .app-shell:not(.mobile-landscape) .print-volume-inner{position:relative;display:block;width:136px;height:204px;transform-style:preserve-3d;transition:transform .48s ease}
  .app-shell:not(.mobile-landscape) .print-volume.is-flipped .print-volume-inner{transform:rotateY(180deg)}
  .app-shell:not(.mobile-landscape) .print-volume img{position:absolute;inset:0;display:block;width:136px;height:204px;object-fit:cover;border-radius:7px;box-shadow:0 7px 16px rgba(20,30,20,.24);backface-visibility:hidden}
  .app-shell:not(.mobile-landscape) .print-volume-back{transform:rotateY(180deg)}
  .app-shell:not(.mobile-landscape) .print-volume b{display:block;margin-top:6px}
  .app-shell:not(.mobile-landscape) .print-volume-note{justify-self:center;margin-top:-4px;color:#607067;font-size:10px}
}
.app-shell.mobile-landscape .print-volumes{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:8px 12px;border:1px solid rgba(23,63,48,.16);border-radius:14px;background:rgba(255,253,248,.66);box-shadow:0 8px 22px rgba(45,55,34,.08)}
.app-shell.mobile-landscape .print-volumes-copy .eyebrow{font-size:9px}
.app-shell.mobile-landscape .print-volumes-copy h2{margin:1px 0;color:#173f30;font:600 19px/1 'Playfair Display',serif}
.app-shell.mobile-landscape .print-volumes-copy p{margin:3px 0 0;color:#526159;font-size:11px;line-height:1.2}
.app-shell.mobile-landscape .print-volume-books{display:flex;gap:8px}
.app-shell.mobile-landscape .print-volume{width:46px;padding:0;border:0;background:transparent;color:#173f30;font:700 9px/1 'DM Sans',sans-serif;text-align:center;perspective:420px}
.app-shell.mobile-landscape .print-volume-inner{position:relative;display:block;width:46px;height:66px;transform-style:preserve-3d;transition:transform .48s ease}
.app-shell.mobile-landscape .print-volume.is-flipped .print-volume-inner{transform:rotateY(180deg)}
.app-shell.mobile-landscape .print-volume img{position:absolute;inset:0;display:block;width:46px;height:66px;object-fit:cover;border-radius:4px;box-shadow:0 4px 9px rgba(20,30,20,.22);backface-visibility:hidden}
.app-shell.mobile-landscape .print-volume-back{transform:rotateY(180deg)}
.app-shell.mobile-landscape .print-volume b{display:block;margin-top:3px}
.app-shell.mobile-landscape .print-volume-note{grid-column:1 / -1;justify-self:end;margin-top:-5px;color:#607067;font-size:9px}
.app-shell.mobile-landscape .home .card-grid{display:none}
.print-volume-popup{position:relative;display:grid;justify-items:center;padding:24px 18px 18px;text-align:center;background:#fffdf8;color:#173f30}
.print-volume-popup h2{margin:4px 0 12px;font:600 31px/1 'Playfair Display',serif}
.print-popup-cover{display:block;padding:0;border:0;background:transparent}
.print-popup-cover img{display:block;width:auto;max-width:min(78vw,360px);max-height:min(66svh,560px);border-radius:10px;box-shadow:0 14px 34px rgba(20,30,20,.28)}
.print-popup-help{margin:12px 0 0;color:#607067;font-size:13px}
.print-volume-popup .print-purchase{margin-top:10px;padding:11px 20px;border:0;border-radius:999px;background:#173f30;color:#fff;font-weight:800;box-shadow:0 7px 16px rgba(23,63,48,.22)}
