@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400;1,9..144,500&family=Literata:ital,opsz,wght@0,7..72,400;0,7..72,500;0,7..72,600;1,7..72,400&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --navy:#081c2c;
  --navy2:#0e2c42;
  --navy3:#123a56;
  --gold:#c69a45;
  --gold-lt:#e9c774;
  --gold-dp:#9c7325;
  --cream:#f6f1e6;
  --parchment:#efe7d6;
  --ink:#1a2129;
  --muted:#68727c;
  --line:#e2d9c4;
  --display:'Fraunces','Playfair Display',serif;
  --read:'Literata',Georgia,serif;
  --ui:'Inter','DM Sans',Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--ui);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}

/* ---------- motion primitives ---------- */
@media (prefers-reduced-motion: no-preference){
  .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:translateY(0)}
  .reveal-stagger.in > *{animation:riseIn .6s cubic-bezier(.2,.7,.2,1) both}
  .reveal-stagger.in > *:nth-child(1){animation-delay:.05s}
  .reveal-stagger.in > *:nth-child(2){animation-delay:.14s}
  .reveal-stagger.in > *:nth-child(3){animation-delay:.23s}
  .reveal-stagger.in > *:nth-child(4){animation-delay:.32s}
}
@media (prefers-reduced-motion: reduce){
  .reveal,.reveal-stagger>*{opacity:1!important;transform:none!important;animation:none!important}
}
@keyframes riseIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes driftGlow{0%,100%{transform:translate(0,0)}50%{transform:translate(-16px,10px)}}
@keyframes softFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

/* ---------- topbar / header ---------- */
.topbar{height:38px;background:#04121e;color:var(--gold-lt);display:flex;align-items:center;justify-content:center;font-family:var(--ui);font-size:11.5px;letter-spacing:.2px;padding:0 5%;position:relative}
.toplinks{position:absolute;right:5%;display:flex;gap:22px;align-items:center}
.toplinks a,.toplinks button{color:#fff;text-decoration:none;background:none;border:0;font:inherit;font-size:11px;cursor:pointer;transition:color .2s}
.toplinks a:hover{color:var(--gold-lt)}
.toplinks button b{color:var(--gold-lt)}

.site-header{height:90px;background:linear-gradient(180deg,var(--navy2),var(--navy));display:flex;align-items:center;padding:0 4.5%;gap:34px;position:sticky;top:0;z-index:30;box-shadow:0 2px 18px #00000040;border-bottom:1px solid #ffffff12}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:#fff;min-width:230px}
.brand img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 3px 8px #00000055)}
.brand strong{font-family:var(--display);font-size:27px;font-weight:600;letter-spacing:.3px;display:block;line-height:1}
.brand small{display:block;color:var(--gold);font-size:9px;letter-spacing:3px;margin-top:4px;font-family:var(--ui);font-weight:600}
.site-header nav{display:flex;gap:28px;align-items:center;flex:1}
.site-header nav a{position:relative;color:#eef1f4;text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.5px;padding:33px 0 29px;font-family:var(--ui)}
.site-header nav a:after{content:'';position:absolute;left:0;right:100%;bottom:27px;height:2px;background:var(--gold);transition:right .28s cubic-bezier(.2,.7,.2,1)}
.site-header nav a:hover:after,.site-header nav a.active:after{right:0}
.site-header nav a:hover,.site-header nav a.active{color:var(--gold-lt)}
.has-dropdown{position:relative}
.has-dropdown>a:after{content:'▾';display:inline-block;margin-left:5px;font-size:8px;transform:translateY(-1px)}
.dropdown-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:190px;background:var(--navy2);border:1px solid #ffffff16;border-radius:0 0 8px 8px;box-shadow:0 20px 38px #00000055;display:none;flex-direction:column;padding:8px 0;z-index:40}
.has-dropdown:hover .dropdown-menu,.has-dropdown:focus-within .dropdown-menu{display:flex}
.dropdown-menu a{position:static;padding:12px 22px!important;font-size:11px;font-weight:600;letter-spacing:.4px;color:#eef1f4;text-decoration:none;white-space:nowrap}
.dropdown-menu a:after{display:none}
.dropdown-menu a:hover{color:var(--gold-lt);background:#ffffff09}
.search{display:flex;height:41px;width:270px;border:1px solid #ffffff30;border-radius:5px;overflow:hidden;transition:border-color .2s}
.search:focus-within{border-color:var(--gold)}
.search input{min-width:0;flex:1;background:transparent;border:0;padding:0 15px;color:#fff;outline:0;font-family:var(--ui);font-size:13px}
.search input::placeholder{color:#aeb9c3}
.search button{width:50px;border:0;background:var(--gold);font-size:20px;color:#1a1206;cursor:pointer;transition:background .2s}
.search button:hover{background:var(--gold-lt)}
.mobile-menu{display:none;background:none;color:#fff;border:0;font-size:24px}

/* ---------- hero ---------- */
.hero-public{min-height:600px;position:relative;overflow:hidden;background:radial-gradient(ellipse 900px 600px at 78% 30%,#1b3f5c 0,#0d2c42 45%,#081c2c 68%,#040f18 92%);display:flex;align-items:center}
.hero-motif{position:absolute;inset:0;opacity:.16;pointer-events:none;animation:driftGlow 14s ease-in-out infinite}
.hero-motif svg{position:absolute;right:-4%;top:50%;transform:translateY(-50%);width:640px;height:640px}
.hero-copy{position:relative;z-index:3;width:min(640px,55%);margin-left:7%;padding:65px 0;color:#fff}
.eyebrow{font-family:var(--ui);font-size:11px;letter-spacing:3px;font-weight:700;color:var(--gold-lt);margin:0 0 14px;text-transform:uppercase}
.hero-copy h1{font-family:var(--display);font-size:60px;line-height:1.04;margin:0 0 20px;font-weight:600;letter-spacing:-.5px}
.hero-copy h1 em{font-style:italic;font-weight:500;background:linear-gradient(100deg,var(--gold-lt),var(--gold) 60%,var(--gold-dp));-webkit-background-clip:text;background-clip:text;color:transparent}
.gold-rule{height:2px;width:74px;background:linear-gradient(90deg,var(--gold),transparent);margin:22px 0}
.hero-copy>p:not(.eyebrow){font-family:var(--read);font-size:16.5px;line-height:1.8;color:#dfe4e8;max-width:540px}
.hero-actions{display:flex;gap:14px;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 24px;border-radius:4px;text-decoration:none;font-family:var(--ui);font-size:11.5px;font-weight:700;letter-spacing:.6px;border:1px solid var(--gold);cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-2px)}
.gold{background:linear-gradient(180deg,var(--gold-lt),var(--gold));color:#241705;box-shadow:0 8px 20px #c69a4530}
.gold:hover{box-shadow:0 10px 26px #c69a4550}
.ghost{background:#0a1f2f99;color:#fff;border-color:#d9b86a}
.ghost:hover{background:#0a1f2fcc}
.hero-shelf{position:absolute;right:4%;bottom:0;width:43%;height:82%;background:linear-gradient(180deg,#ffffff05,#00000038);border-left:1px solid #ffffff0c;display:flex;align-items:flex-end;justify-content:center;padding-bottom:40px}
.hero-shelf:after{content:'';position:absolute;left:0;right:0;bottom:34px;height:17px;background:linear-gradient(180deg,#5a3a20,#2b1c11);box-shadow:0 12px 0 #2b1c11,0 26px 24px #0009}
.shelf-books{position:relative;z-index:2;display:flex;align-items:flex-end;gap:18px}
.shelf-books img{width:130px;height:208px;object-fit:cover;box-shadow:0 18px 34px #0009;border:3px solid #16110d;transition:transform .35s cubic-bezier(.2,.7,.2,1);animation:softFloat 7s ease-in-out infinite}
.shelf-books img:nth-child(2){height:238px;animation-delay:.4s}
.shelf-books img:nth-child(3){height:193px;animation-delay:.8s}
.shelf-books img:hover{transform:translateY(-10px) scale(1.03)}
.shelf-label{position:absolute;top:88px;right:12%;font-family:var(--display);color:var(--gold-lt);letter-spacing:6px;font-size:13px;opacity:.65;font-style:italic}

/* ---------- benefits ---------- */
.benefits{background:var(--navy);color:#fff;display:grid;grid-template-columns:repeat(4,1fr);padding:22px 8%}
.benefits>div{display:flex;align-items:center;gap:15px;justify-content:center;border-right:1px solid #ffffff1c;padding:6px 10px}
.benefits>div:last-child{border:0}
.benefits b{font-size:24px;color:var(--gold);font-weight:400}
.benefits span{display:grid;gap:4px}
.benefits strong{font-family:var(--ui);font-size:11px;letter-spacing:.6px;color:var(--gold-lt)}
.benefits small{font-family:var(--ui);font-size:10.5px;color:#c9d1d8}

/* ---------- page sub-hero (inner pages) ---------- */
.page-hero{background:linear-gradient(155deg,var(--navy2),var(--navy) 70%);color:#fff;padding:64px 8% 54px;position:relative;overflow:hidden}
.page-hero .hero-motif svg{width:420px;height:420px;right:-6%;top:-10%;transform:none}
.page-hero .eyebrow{margin-bottom:10px}
.page-hero h1{font-family:var(--display);font-size:44px;margin:0;font-weight:600;position:relative;z-index:2}
.page-hero p{font-family:var(--read);color:#d6dce1;max-width:560px;margin:14px 0 0;font-size:14.5px;line-height:1.7;position:relative;z-index:2}
.crumb{position:relative;z-index:2;font-family:var(--ui);font-size:11px;color:#a9b6c1;margin-top:18px}
.crumb a{color:#a9b6c1;text-decoration:none}
.crumb a:hover{color:var(--gold-lt)}

/* ---------- section heading pattern ---------- */
.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}
.section-heading h2,.categories h2{font-family:var(--display);font-size:38px;margin:0;font-weight:600}
.section-heading a{color:var(--gold-dp);text-decoration:none;font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.4px;transition:color .2s}
.section-heading a:hover{color:var(--gold)}

/* ---------- catalog / cards ---------- */
.catalog{padding:70px 6% 80px}
.book-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.book-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:43% 57%;min-height:228px;overflow:hidden;transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s}
.book-card:hover{transform:translateY(-5px);box-shadow:0 18px 36px #14233320}
.book-card img{width:100%;height:100%;min-height:228px;object-fit:cover;transition:transform .4s}
.book-card:hover img{transform:scale(1.045)}
.new{position:absolute;left:10px;top:10px;background:linear-gradient(180deg,var(--gold-lt),var(--gold));color:#241705;font-family:var(--ui);font-size:8px;font-weight:700;letter-spacing:.4px;padding:5px 7px;border-radius:2px;z-index:2}
.book-info{padding:24px 16px 16px;display:flex;flex-direction:column}
.book-info h3{font-family:var(--display);font-size:18px;line-height:1.12;margin:0 0 11px;font-weight:600}
.book-info p{font-family:var(--ui);font-size:9.5px;color:var(--muted);line-height:1.6;margin:0 0 auto}
.book-info>strong{font-family:var(--read);font-size:16px;margin:14px 0;color:var(--gold-dp)}
.add{border:1px solid var(--navy);background:var(--navy);color:#fff;padding:10px 5px;font-family:var(--ui);font-size:8.5px;font-weight:700;letter-spacing:.3px;cursor:pointer;border-radius:3px;transition:background .2s,transform .2s}
.add:hover{background:var(--gold-dp);border-color:var(--gold-dp);transform:translateY(-1px)}
.no-results{padding:30px;text-align:center;color:var(--muted);font-family:var(--ui)}

/* ---------- categories (signature motif icons, not numbers) ---------- */
.categories{padding:68px 8%;background:var(--parchment);display:grid;grid-template-columns:1fr 2fr;gap:65px;align-items:center;position:relative;overflow:hidden}
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.category-grid a{background:#fff;border:1px solid var(--line);padding:26px 22px;text-decoration:none;color:var(--ink);min-height:150px;display:flex;flex-direction:column;justify-content:space-between;border-radius:8px;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,border-color .25s}
.category-grid a:hover{transform:translateY(-4px);box-shadow:0 16px 30px #14233318;border-color:var(--gold)}
.category-grid .cat-icon{width:26px;height:26px;color:var(--gold-dp)}
.category-grid strong{font-family:var(--display);font-size:21px;font-weight:600}
.category-grid small{color:var(--muted);font-family:var(--ui);font-size:10.5px}

/* ---------- author strip / about ---------- */
.author-strip{margin:68px 6%;background:linear-gradient(120deg,var(--navy2),var(--navy));color:#fff;padding:52px 6%;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;border-radius:10px;position:relative;overflow:hidden}
.author-strip h2,.about h2{font-family:var(--display);font-size:34px;line-height:1.14;margin:0;font-weight:600}
.author-strip p:not(.eyebrow),.about>p{font-family:var(--read);color:#cfd7dd;line-height:1.75;font-size:14px}
.text-link{display:inline-block;margin-top:10px;color:var(--gold-lt);text-decoration:none;font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.3px;position:relative}
.text-link:after{content:'';position:absolute;left:0;right:100%;bottom:-3px;height:1px;background:var(--gold-lt);transition:right .25s}
.text-link:hover:after{right:0}
.about{padding:68px 12%;display:grid;grid-template-columns:1fr 1fr;gap:80px;background:var(--cream)}
.about>p{color:#525d68;max-width:530px}

/* ---------- pull quote (signature element) ---------- */
.pull{padding:70px 8%;text-align:center;position:relative}
.pull blockquote{font-family:var(--display);font-style:italic;font-weight:500;font-size:30px;line-height:1.45;max-width:760px;margin:0 auto;color:var(--navy)}
.pull cite{display:block;margin-top:18px;font-family:var(--ui);font-style:normal;font-size:11px;letter-spacing:1.5px;color:var(--gold-dp);text-transform:uppercase}
.pull .quote-motif{width:38px;height:38px;color:var(--gold);margin:0 auto 18px;display:block}

/* ---------- contact ---------- */
.contact-wrap{padding:70px 8% 90px;display:grid;grid-template-columns:1fr 1fr;gap:60px}
.contact-info h2,.contact-form h2{font-family:var(--display);font-size:28px;margin:0 0 14px;font-weight:600}
.contact-info p{font-family:var(--read);color:var(--muted);line-height:1.75;font-size:14px}
.contact-rows{margin-top:26px;display:grid;gap:18px}
.contact-row{display:flex;gap:14px;align-items:flex-start}
.contact-row svg{width:20px;height:20px;color:var(--gold-dp);flex:none;margin-top:2px}
.contact-row strong{display:block;font-family:var(--ui);font-size:12px;letter-spacing:.3px}
.contact-row span{font-family:var(--ui);font-size:12.5px;color:var(--muted)}
.field{display:grid;gap:7px;margin-bottom:16px}
.field label{font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.3px;color:var(--ink)}
.field input,.field textarea{border:1px solid var(--line);border-radius:5px;padding:12px 14px;font-family:var(--ui);font-size:13px;background:#fff;outline:0;transition:border-color .2s}
.field input:focus,.field textarea:focus{border-color:var(--gold)}
.field textarea{resize:vertical;min-height:120px}
.form-note{font-family:var(--ui);font-size:11.5px;color:var(--muted);margin-top:14px}

/* ---------- author page ---------- */
.author-page{padding:70px 8% 90px;display:grid;grid-template-columns:.9fr 1.4fr;gap:64px;align-items:start}
.author-card{background:var(--navy);border-radius:10px;padding:38px 30px;color:#fff;position:sticky;top:110px}
.author-card .initial{width:64px;height:64px;border-radius:50%;background:linear-gradient(180deg,var(--gold-lt),var(--gold));color:#241705;font-family:var(--display);font-size:26px;font-weight:600;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.author-card h3{font-family:var(--display);font-size:22px;margin:0 0 6px}
.author-card span{font-family:var(--ui);font-size:11px;color:var(--gold-lt);letter-spacing:.4px}
.author-card p{font-family:var(--read);font-size:13px;color:#c9d2d9;line-height:1.7;margin-top:16px}
.author-bio h2{font-family:var(--display);font-size:32px;margin:0 0 6px;font-weight:600}
.author-bio .eyebrow{color:var(--gold-dp)}
.author-bio>p{font-family:var(--read);font-size:15px;line-height:1.85;color:#414c56;margin-bottom:20px}
.bib-list{margin-top:34px;display:grid;gap:14px}
.bib-row{display:flex;gap:16px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff;text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s}
.bib-row:hover{border-color:var(--gold);transform:translateX(4px)}
.bib-row img{width:46px;height:66px;object-fit:cover;border-radius:2px}
.bib-row strong{font-family:var(--display);font-size:14.5px;display:block}
.bib-row small{font-family:var(--ui);font-size:10.5px;color:var(--muted)}

/* ---------- about page extras ---------- */
.values{padding:0 8% 90px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.value-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px 24px}
.value-card svg{width:24px;height:24px;color:var(--gold-dp);margin-bottom:14px}
.value-card strong{font-family:var(--display);font-size:17px;display:block;margin-bottom:8px}
.value-card p{font-family:var(--ui);font-size:12px;color:var(--muted);line-height:1.7;margin:0}

/* ---------- community teaser (home) ---------- */
.community-teaser{padding:72px 8% 90px}
.community-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.community-card{background:linear-gradient(160deg,var(--navy2),var(--navy));color:#fff;border-radius:12px;padding:34px 28px;position:relative;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;border:1px solid #ffffff10;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
.community-card:hover{transform:translateY(-6px);box-shadow:0 22px 40px #14233335}
.community-card svg{width:28px;height:28px;color:var(--gold-lt);margin-bottom:16px}
.community-card h3{font-family:var(--display);font-size:20px;margin:0 0 8px;font-weight:600}
.community-card p{font-family:var(--ui);font-size:12px;color:#c9d2d9;line-height:1.75;margin:0 0 22px}
.community-card .go{margin-top:auto;font-family:var(--ui);font-size:11px;font-weight:700;color:var(--gold-lt);letter-spacing:.4px}
.community-card .tag{position:absolute;top:16px;right:16px;font-family:var(--ui);font-size:9px;font-weight:700;letter-spacing:.4px;color:#241705;background:linear-gradient(180deg,var(--gold-lt),var(--gold));padding:4px 9px;border-radius:20px}

/* ---------- testimonials ---------- */
.testimonials{padding:72px 8% 90px;background:var(--parchment)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.testi-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:32px 26px 26px;position:relative}
.testi-card:before{content:'\201C';font-family:var(--display);font-size:64px;color:var(--gold);opacity:.3;position:absolute;top:2px;left:20px;line-height:1}
.testi-card p{font-family:var(--read);font-size:13.5px;line-height:1.8;color:#414c56;margin:28px 0 20px;position:relative;z-index:1}
.testi-stars{color:var(--gold);font-size:12px;letter-spacing:2px;margin-bottom:2px}
.testi-who{display:flex;align-items:center;gap:12px}
.testi-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(180deg,var(--gold-lt),var(--gold));display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:600;color:#241705;font-size:13px;flex:none}
.testi-who strong{display:block;font-family:var(--ui);font-size:12px}
.testi-who small{color:var(--muted);font-family:var(--ui);font-size:10.5px}

/* ---------- footer ---------- */
footer{background:#040f18;color:#fff;padding:50px 7% 40px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:32px;font-size:11px}
footer strong{font-family:var(--display);color:var(--gold-lt);letter-spacing:.4px;font-size:14px;font-weight:600}
footer p{font-family:var(--ui);color:#a7b1ba;line-height:1.8;margin-top:8px}
footer a{display:block;font-family:var(--ui);color:#c3cbd2;text-decoration:none;margin-top:10px;transition:color .2s}
footer a:hover{color:var(--gold-lt)}
.foot-bottom{max-width:1400px;margin:30px auto 0;padding:20px 7% 0;border-top:1px solid #ffffff14;font-family:var(--ui);font-size:10.5px;color:#7c8790;grid-column:1/-1}

/* ---------- cart drawer ---------- */
.drawer{position:fixed;inset:0;background:#00000080;display:none;justify-content:flex-end;z-index:50;backdrop-filter:blur(2px)}
.drawer.open{display:flex}
.drawer-panel{width:min(430px,100%);height:100%;background:#fff;padding:26px;display:flex;flex-direction:column;animation:slideIn .3s cubic-bezier(.2,.7,.2,1)}
@keyframes slideIn{from{transform:translateX(30px);opacity:.6}to{transform:translateX(0);opacity:1}}
.drawer-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px}
.drawer-head h2{font-family:var(--display);margin:0;font-weight:600}
.drawer-head button{border:0;background:none;font-size:30px;cursor:pointer;color:var(--muted)}
.cart-items{flex:1;overflow:auto;font-family:var(--ui)}
.cart-row{padding:18px 0;border-bottom:1px solid var(--line);font-size:12.5px;display:flex;justify-content:space-between;gap:15px}
.cart-row small{display:block;color:var(--muted);margin-top:5px}
.remove{border:0;background:none;color:#9a3b3b;cursor:pointer;font-size:10px;font-family:var(--ui)}
.checkout{border-top:1px solid var(--line);padding-top:20px;display:grid;gap:15px;font-family:var(--ui)}
.checkout>div{display:flex;justify-content:space-between}
.full{width:100%}

/* ---------- responsive ---------- */
@media(max-width:1050px){
  .site-header{gap:15px}.brand{min-width:190px}.site-header nav{gap:13px}.search{width:210px}
  .book-grid{grid-template-columns:repeat(2,1fr)}.hero-copy{width:57%}
  .author-page{grid-template-columns:1fr}.author-card{position:static}
  .values{grid-template-columns:1fr}
  .community-grid,.testi-grid{grid-template-columns:1fr 1fr}
  footer{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:760px){
  .topbar{justify-content:flex-start;font-size:9px}.toplinks{display:none}
  .site-header{height:72px;padding:0 5%}.brand img{width:44px;height:44px}.brand strong{font-size:20px}.brand small{font-size:7px}
  .site-header nav,.search{display:none}.mobile-menu{display:block;margin-left:auto}
  .hero-public{min-height:640px}.hero-copy{width:88%;margin-left:6%;padding-top:80px}.hero-copy h1{font-size:40px}
  .hero-shelf{width:60%;right:-20%;opacity:.45}.shelf-books img{width:82px;height:145px}.shelf-books img:nth-child(2){height:175px}.shelf-books img:nth-child(3){height:135px}
  .benefits{grid-template-columns:1fr 1fr;padding:18px 5%}.benefits>div{justify-content:flex-start;padding:12px;border-right:0}
  .catalog{padding:48px 5%}.section-heading h2{font-size:28px}.book-grid{grid-template-columns:1fr}
  .categories{grid-template-columns:1fr;gap:26px;padding:50px 6%}.category-grid{grid-template-columns:1fr}
  .author-strip,.about{grid-template-columns:1fr;gap:26px;margin-left:5%;margin-right:5%;padding:36px 7%}
  .about{margin:0;padding:50px 7%}
  .contact-wrap{grid-template-columns:1fr;padding:50px 6% 70px}
  .author-page{padding:50px 6% 70px}
  footer{grid-template-columns:1fr 1fr;padding:40px 7%}
  .page-hero{padding:48px 6% 40px}.page-hero h1{font-size:32px}
  .pull blockquote{font-size:22px}
  .community-grid,.testi-grid{grid-template-columns:1fr}
  .has-dropdown{width:100%}
  .dropdown-menu{position:static;transform:none;display:flex;background:none;border:0;box-shadow:none;padding:0 0 6px 16px}
  .dropdown-menu a{padding:9px 0!important;color:#c9d2d9}
  .has-dropdown>a{padding-bottom:6px}
}
