/* October revision: navigation and a more tactile reading room. */
html{scroll-padding-top:112px}
.site-header{position:sticky;top:0;z-index:100;background:#143c50;box-shadow:0 1px 0 #ffffff16;transition:box-shadow .25s,background .25s}
.header-inner{min-height:137px;transition:min-height .25s;gap:24px}
.brand img{transition:width .25s,height .25s,transform .25s}
.brand:hover img{transform:translateY(-2px)}
.main-nav{gap:8px}
.main-nav a{padding:14px 16px;font-size:16px;border-radius:9px;color:#d9edf5;transition:color .2s,background .2s,transform .2s}
.main-nav a:before{content:'';position:absolute;inset:0;border:1px solid #ffffff00;border-radius:9px;transition:border-color .2s}
.main-nav a:after{content:'';position:absolute;bottom:7px;left:16px;right:16px;width:auto;height:2px;border-radius:2px;background:var(--aqua);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.main-nav a:hover,.main-nav a:focus-visible{color:white;background:#ffffff0c;transform:translateY(-2px)}
.main-nav a:hover:before,.main-nav a:focus-visible:before{border-color:#ffffff20}
.main-nav a:hover:after,.main-nav a:focus-visible:after,.main-nav a[aria-current]:after{transform:scaleX(1);left:16px;right:16px;bottom:7px}
.main-nav a[aria-current]{background:#ffffff0b;color:white}
.site-header.is-scrolled{background:#0c2b3cf5;box-shadow:0 8px 30px #0c2b3c24;backdrop-filter:blur(16px)}
.site-header.is-scrolled .header-inner{min-height:91px}
.site-header.is-scrolled .brand img{width:112px;height:84px}
.header-actions .icon-button,.bag-button{border-radius:9px;transition:background .2s,transform .2s}
.header-actions .icon-button:hover,.bag-button:hover{background:#ffffff10;transform:translateY(-2px)}
.bag-button{padding:10px 8px}
.bag-count.cart-pop{animation:cart-pop .35s ease-out}
@keyframes cart-pop{50%{transform:scale(1.3)}}
.back-top{display:grid;place-items:center;width:64px;height:64px;flex:0 0 64px;border:1px solid #86c5d877;border-radius:50%;background:var(--mist);color:var(--ink);box-shadow:0 8px 25px #0c2b3c18;transition:transform .25s,background .25s,color .25s,opacity .25s;line-height:1}
.back-top svg{width:32px;height:32px}
.footer-bottom .back-top{display:grid;color:var(--ink);justify-content:center}
.footer-bottom .back-top:hover,.footer-bottom .back-top:focus-visible{color:white}
.back-top:hover,.back-top:focus-visible{background:var(--ink);color:white;transform:translateY(-5px)}
.back-top.enhanced{position:fixed;bottom:27px;right:27px;z-index:80;margin:0;opacity:0;visibility:hidden;transform:translateY(15px);transition:opacity .25s,transform .25s,visibility .25s,background .25s}
.back-top.enhanced.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-top.enhanced.is-visible:hover{transform:translateY(-5px)}
.footer-brand-line{font-weight:700;color:#d9edf5;margin-bottom:15px}
.toast{z-index:120}

/* Two highlighted books, with the actual covers as the focal point. */
.shop-spotlights{background:var(--ice);padding:40px 0 54px;border-bottom:1px solid var(--line)}
.shop-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:27px}
.shop-heading .eyebrow{font-size:11px;letter-spacing:.18em;color:#58899b;margin-bottom:8px}
.shop-heading h1{font-size:39px;letter-spacing:-.05em;font-weight:600}
.shop-heading>.text-link{font-size:14px;margin-bottom:4px}
.spotlight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
.spotlight-card{min-width:0;position:relative;display:grid;grid-template-columns:1.02fr 1fr;align-items:center;gap:0;background:linear-gradient(135deg,#cae9f5 0%,#f6fbfd 100%);border:1px solid #add8e688;border-radius:19px;overflow:hidden;transition:box-shadow .3s,border-color .3s}
.spotlight-card-2{background:linear-gradient(135deg,#add8e6 0%,#e6f4fa 100%)}
.spotlight-card:hover,.spotlight-card:focus-within{box-shadow:0 18px 40px #143c5014;border-color:#86c5d8}
.spotlight-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:345px;padding:50px 23px 39px;isolation:isolate}
.spotlight-art:after{content:'';position:absolute;bottom:29px;width:78%;height:19px;background:#143c5026;filter:blur(12px);border-radius:50%;z-index:-1}
.spotlight-label{position:absolute;left:22px;top:21px;font-size:10px;font-weight:800;letter-spacing:.12em;color:#497387}
.spotlight-cover{width:100%;max-width:178px;display:block;position:relative;transform:perspective(850px) rotateY(-13deg) rotateZ(-3deg);transition:transform .55s cubic-bezier(.2,.7,.2,1);z-index:2}
.spotlight-cover img{width:auto;max-width:100%;max-height:260px;object-fit:contain;margin:auto;filter:drop-shadow(12px 14px 8px #143c5040);border-radius:2px 5px 5px 2px}
.spotlight-art:hover .spotlight-cover,.spotlight-art:focus-visible .spotlight-cover{transform:perspective(850px) rotateY(0) rotateZ(0) translateY(-8px)}
.spotlight-orbit{position:absolute;width:250px;height:250px;max-width:95%;border:1px solid #ffffffad;border-radius:50%;left:5px;top:calc(50% - 125px);z-index:-1}
.spotlight-orbit:after{content:'✦';position:absolute;top:28px;right:12px;color:#5c99ad;font-size:23px}
.spotlight-copy{min-width:0;padding:40px 26px 35px 10px;position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.spotlight-copy .eyebrow{font-size:11px;letter-spacing:.09em;line-height:1.7}
.spotlight-copy h2{font-size:23px;line-height:1.55;letter-spacing:-.025em;overflow-wrap:anywhere}
.spotlight-copy h2 a:hover{color:#34738a}
.spotlight-copy .price{font-size:20px;display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.spotlight-copy .price del{font-size:13px;margin:0}
.spotlight-link{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:800;border-bottom:1px solid #143c5040;padding:8px 0;line-height:1.5}
.spotlight-link .icon{width:18px;height:18px;transition:transform .25s}
.spotlight-link:hover .icon{transform:translateX(4px)}
.collection-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
.collection-heading h2{font-size:32px;letter-spacing:-.04em}
.collection-heading>span{font-size:14px;color:var(--muted)}
.collection-dot{color:#589bb3}
.shop-section{padding-top:44px}
.search-form{border-radius:10px;background:#f7fbfd;border-color:var(--line)}
.search-form:focus-within{border-color:var(--aqua);box-shadow:0 0 0 3px #cae9f560}
.search-form button{border-radius:7px;transition:background .2s}
.search-form button:hover{background:var(--deep);color:white}
.category-pills a{border-radius:30px;transition:background .2s,color .2s,transform .2s,border-color .2s}
.category-pills a:hover{transform:translateY(-2px);border-color:var(--aqua)}
.category-pills a.active{background:var(--ink);border-color:var(--ink);color:white}

/* Cover, shelf and card work together without replacing any book artwork. */
.book-grid{gap:30px 23px;align-items:stretch}
.book-card{display:flex;flex-direction:column;background:white;border:1px solid #d7e6ec;border-radius:15px;overflow:hidden;box-shadow:0 3px 8px #143c5005;transition:box-shadow .3s,border-color .3s,transform .3s}
.book-card:hover,.book-card:focus-within{border-color:#86c5d8;box-shadow:0 16px 32px #143c5012;transform:translateY(-4px)}
.book-card .book-art{background:linear-gradient(150deg,#f0f8ff,#cae9f580);padding:34px 33px 48px;aspect-ratio:1/1.16;border-radius:0;isolation:isolate}
.book-card:nth-child(3n+2) .book-art{background:linear-gradient(145deg,#e9f6fb,#afdceb99)}
.book-card:nth-child(3n+3) .book-art{background:linear-gradient(150deg,#cae9f560,#add8e6aa)}
.book-art:before{content:'';position:absolute;width:85%;aspect-ratio:1;border:1px solid #ffffffcc;border-radius:50%;left:7.5%;top:13%;z-index:-1}
.book-art:after{content:'';position:absolute;bottom:36px;left:14%;right:14%;height:13px;border-radius:50%;background:#143c5020;filter:blur(9px);z-index:-1;transition:transform .35s}
.book-cover{display:flex;align-items:center;justify-content:center;height:100%;width:100%;position:relative;transform:perspective(800px) rotateY(-10deg) rotateZ(-2deg);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.book-cover img{width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain;filter:drop-shadow(8px 10px 7px #143c5033);border-radius:2px 4px 4px 2px}
.book-art:hover .book-cover,.book-art:focus-visible .book-cover{transform:perspective(800px) rotateY(0) rotateZ(0) translateY(-7px)}
.book-art:hover img{transform:none}
.book-view{position:absolute;bottom:13px;right:13px;display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid #ffffff90;background:#ffffffc9;backdrop-filter:blur(8px);border-radius:20px;font-size:11px;font-weight:800;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}
.book-view .icon{width:15px;height:15px}
.book-art:hover .book-view,.book-art:focus-visible .book-view{opacity:1;transform:translateY(0)}
.book-badge{top:13px;left:13px;border-radius:20px;font-size:10px;padding:5px 10px;z-index:3;background:var(--ink);color:white}
.book-badge.muted{background:#f3f8fa;color:#687f8b}
.book-info{padding:20px 19px 19px;display:flex;flex-direction:column;flex:1;min-width:0}
.book-category{font-size:10px;letter-spacing:.08em;line-height:1.65;margin-bottom:8px;color:#557a8b}
.book-info h3{font-size:16px;line-height:1.6;min-height:0;margin-bottom:20px;overflow-wrap:anywhere}
.book-info h3 a{transition:color .2s}
.book-info h3 a:hover{color:#438aa0}
.book-buy{display:flex;flex-direction:column;align-items:stretch;gap:15px;margin-top:auto}
.book-buy .price{font-size:18px;line-height:1.4;font-weight:800;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.book-buy .price del{font-size:12px;margin:0;font-weight:500}
.book-buy .add-form{width:100%}
.book-buy .add-button{width:100%;min-height:44px;justify-content:space-between;border-radius:8px;background:var(--ice);border:1px solid #cae9f5;color:var(--ink);font-size:13px;padding:10px 13px;transition:background .2s,color .2s,border-color .2s}
.book-buy .add-button:hover{background:var(--ink);color:white;border-color:var(--ink)}
.book-buy .add-button:disabled{background:#f3f6f8;color:#8a9ca5;border-color:#e5edef;cursor:default;opacity:1}
.book-buy .add-button .icon{width:18px;height:18px}
.related-section .book-grid{margin-top:10px}

@media(max-width:1150px){
 .header-inner{min-height:119px;gap:14px}.main-nav{gap:2px}.main-nav a{padding:13px 12px;font-size:15px}.main-nav a:after,.main-nav a[aria-current]:after,.main-nav a:hover:after{left:12px;right:12px}.bag-button{padding:10px 5px}
 .spotlight-art{min-height:330px;padding:48px 19px 34px}.spotlight-copy{padding-right:20px;gap:15px}.spotlight-copy h2{font-size:20px}.spotlight-cover{max-width:161px}.spotlight-cover img{max-height:245px}.spotlight-label{font-size:9px;left:18px}
 .book-card .book-art{padding:32px 26px 46px}.book-info{padding:18px 16px}.book-info h3{font-size:15px}
}
@media(max-width:900px){
 .header-inner{min-height:109px}.site-header.is-scrolled .header-inner{min-height:82px}.site-header.is-scrolled .brand img{width:100px;height:75px}
 .main-nav{top:100%;padding:18px 25px;gap:6px;max-height:calc(100dvh - 82px);overflow:auto;border-top:1px solid #ffffff15;border-bottom:1px solid #86c5d84d;box-shadow:0 18px 25px #0c2b3c24;background:var(--deep)}
 .main-nav a{font-size:20px;padding:14px 18px}.main-nav a:hover{transform:translateX(3px)}.main-nav a:after,.main-nav a[aria-current]:after,.main-nav a:hover:after{left:18px;right:18px;width:auto;bottom:6px}
 .shop-spotlights{padding:32px 0 38px}.shop-heading{margin-bottom:23px}.shop-heading h1{font-size:35px}.spotlight-grid{gap:20px}.spotlight-card{grid-template-columns:1fr;grid-template-rows:auto 1fr;border-radius:15px}
 .spotlight-art{min-height:300px;height:300px;padding:45px 35px 31px}.spotlight-cover{max-width:175px}.spotlight-cover img{max-height:230px}.spotlight-label{top:18px;left:18px;font-size:10px}
 .spotlight-orbit{width:260px;height:260px;top:20px;left:calc(50% - 130px)}.spotlight-copy{padding:20px 24px 26px;gap:12px;border-top:1px solid #ffffff80;align-items:flex-start}.spotlight-copy h2{font-size:22px}.spotlight-link{margin-top:auto}
 .collection-heading h2{font-size:30px}.book-info h3{font-size:15px}.book-card .book-art{padding:33px 27px 45px}
}
@media(max-width:640px){
 html{scroll-padding-top:90px}.header-inner{min-height:100px}.brand img{width:125px;height:94px}.site-header.is-scrolled .header-inner{min-height:78px}.site-header.is-scrolled .brand img{width:96px;height:72px}.bag-button{padding:10px 6px}
 .main-nav{padding:15px 18px}.main-nav a{font-size:20px}.back-top{width:58px;height:58px;flex-basis:58px}.back-top.enhanced{bottom:19px;right:18px}.back-top svg{width:31px;height:31px}
 .shop-spotlights{padding:25px 0 28px}.shop-heading{align-items:center;gap:12px;margin-bottom:21px}.shop-heading .eyebrow{font-size:10px}.shop-heading h1{font-size:31px}.shop-heading>.text-link{font-size:12px;gap:6px;max-width:118px;line-height:1.55}.shop-heading>.text-link .icon{width:17px}
 .spotlight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.spotlight-card{border-radius:12px}.spotlight-art{min-height:0;height:223px;padding:42px 17px 26px}.spotlight-label{font-size:7px;letter-spacing:.055em;top:14px;left:12px}.spotlight-cover{max-width:122px}.spotlight-cover img{max-height:161px}.spotlight-orbit{width:165px;height:165px;max-width:none;left:calc(50% - 82.5px);top:36px}.spotlight-orbit:after{font-size:17px;top:20px;right:7px}.spotlight-art:after{bottom:22px}
 .spotlight-copy{padding:15px 13px 18px;gap:12px;display:flex;flex-direction:column;align-items:start}.spotlight-copy .eyebrow{font-size:9px;letter-spacing:.025em}.spotlight-copy h2{font-size:16px;line-height:1.65}.spotlight-copy .price{font-size:16px;gap:5px;margin-top:auto}.spotlight-copy .price del{font-size:11px}.spotlight-link{font-size:11px;gap:5px;margin-top:0;padding:5px 0}.spotlight-link .icon{width:14px;height:14px}
 .shop-section{padding-top:29px}.collection-heading{margin-bottom:21px;align-items:flex-start}.collection-heading h2{font-size:27px}.collection-heading>span{font-size:12px;max-width:110px;text-align:right;line-height:1.7}
 .book-grid{gap:22px 13px}.book-card{border-radius:11px}.book-card .book-art{padding:28px 16px 35px;aspect-ratio:1/1.34}.book-info{padding:15px 12px 13px}.book-info h3{font-size:14px;line-height:1.7;margin-bottom:15px}.book-category{font-size:9px;letter-spacing:.03em}.book-buy{gap:12px}.book-buy .price{font-size:16px;gap:6px}.book-buy .price del{font-size:11px}.book-buy .add-button{font-size:12px;min-height:43px;padding:9px 10px}.book-badge{top:9px;left:9px;font-size:8px;padding:4px 8px}.book-art:after{bottom:30px}.book-view{right:9px;bottom:9px;font-size:9px;padding:4px 7px;gap:6px;opacity:1;transform:none}.book-view .icon{width:13px;height:13px}
 .toast{bottom:90px;font-size:14px}
}
@media(max-width:360px){.spotlight-art{height:202px;padding-left:14px;padding-right:14px}.spotlight-cover img{max-height:145px}.spotlight-copy{padding-left:11px;padding-right:11px}.spotlight-copy h2{font-size:15px}.spotlight-link{font-size:10px}.book-info{padding-left:10px;padding-right:10px}.book-info h3{font-size:13px}.main-nav a{font-size:19px}}
@media(hover:none){.book-view{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.site-header,.header-inner,.brand img,.main-nav a,.main-nav a:before,.main-nav a:after,.back-top,.book-card,.book-cover,.book-view,.spotlight-cover{transition:none}.back-top.enhanced{transition:none}}
