:root{
  --navy:#1C2B3A;
  --navy-soft:#27394C;
  --paper:#F3F2ED;
  --raise:#FBFAF7;
  --foil:#A9853F;
  --foil-bright:#C6A45C;
  --slate:#5D6673;
  --line:#D9D7CF;
  --radius:6px;
  --disp:'Fraunces',serif;
  --body:'Archivo',sans-serif;
  --mono:'IBM Plex Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--navy);font-family:var(--body);font-size:16px;line-height:1.65}
img{max-width:100%;display:block}
a{color:inherit}
button{font-family:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--foil);outline-offset:2px}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(243,242,237,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{max-width:min(1720px,96vw);margin:0 auto;padding:8px 24px;display:flex;align-items:center;gap:26px}
.nav .brand{display:flex;align-items:center;text-decoration:none}
.nav .brand img{height:64px;width:auto}
.nav-links{display:flex;gap:22px;margin-left:auto;align-items:center}
.nav-links a{text-decoration:none;font-size:.92rem;font-weight:500;color:var(--slate);padding-bottom:2px}
.nav-links a:hover{color:var(--navy)}
.nav-links a.active{color:var(--navy);border-bottom:2px solid var(--foil)}
.cart-btn{background:var(--navy);color:var(--paper);border:none;border-radius:var(--radius);padding:9px 16px;font-weight:600;font-size:.9rem;display:flex;gap:8px;align-items:center}
.cart-btn:hover{background:var(--navy-soft)}
.cart-count{background:var(--foil-bright);color:var(--navy);font-family:var(--mono);font-size:.75rem;min-width:20px;height:20px;border-radius:10px;display:grid;place-items:center;padding:0 5px}

/* shared bits */
.wrap{max-width:min(1720px,96vw);margin:0 auto;padding:0 24px}
.eyebrow{font-family:var(--mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--foil);display:flex;align-items:center;gap:8px}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--foil)}
h1.page{font-family:var(--disp);font-weight:600;font-size:clamp(2rem,4.5vw,3rem);letter-spacing:-.01em;margin:16px 0 14px}
.lead{font-size:1.06rem;color:var(--slate);max-width:62ch}
.btn-primary{background:var(--navy);color:var(--paper);border:none;border-radius:var(--radius);padding:13px 24px;font-weight:600;font-size:.96rem;text-decoration:none;display:inline-block}
.btn-primary:hover{background:var(--foil);color:var(--navy)}
.btn-ghost{background:transparent;color:var(--navy);border:1px solid var(--navy);border-radius:var(--radius);padding:13px 24px;font-weight:600;font-size:.96rem;text-decoration:none;display:inline-block}
.btn-ghost:hover{background:var(--navy);color:var(--paper)}

/* hero (home) */
.hero{max-width:min(1720px,96vw);margin:0 auto;padding:64px 24px 56px;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.hero h1{font-family:var(--disp);font-weight:600;font-size:clamp(2.3rem,5vw,3.4rem);line-height:1.1;margin:18px 0 18px;letter-spacing:-.01em}
.hero h1 em{font-style:italic;color:var(--foil)}
.hero .lead{margin-bottom:28px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}

/* press log */
.press-log{background:var(--navy);border-radius:10px;padding:26px 26px 20px;color:#C7CDD6;box-shadow:0 24px 60px -30px rgba(28,43,58,.55)}
.press-log .log-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #35485C;padding-bottom:12px;margin-bottom:14px}
.press-log .log-head span{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#8895A3}
.dot{width:8px;height:8px;border-radius:50%;background:#3FA860;display:inline-block;margin-right:7px;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.log-line{font-family:var(--mono);font-size:.8rem;line-height:1.9;display:flex;gap:12px;opacity:0;transform:translateY(4px);animation:logIn .5s forwards}
.log-line .t{color:#68788A;flex-shrink:0}
.log-line .code{color:var(--foil-bright)}
.log-line:nth-child(2){animation-delay:.25s}
.log-line:nth-child(3){animation-delay:.5s}
.log-line:nth-child(4){animation-delay:.75s}
.log-line:nth-child(5){animation-delay:1s}
.log-line:nth-child(6){animation-delay:1.25s}
@keyframes logIn{to{opacity:1;transform:none}}
.cursor{display:inline-block;width:8px;height:14px;background:var(--foil-bright);vertical-align:middle;animation:blink 1s steps(1) infinite;margin-left:4px}
@keyframes blink{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){
  .log-line{animation:none;opacity:1;transform:none}
  .dot,.cursor{animation:none}
  html{scroll-behavior:auto}
}

/* ribbon */
.ribbon{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--raise)}
.ribbon-inner{max-width:min(1720px,96vw);margin:0 auto;padding:16px 24px;display:flex;gap:38px;flex-wrap:wrap;justify-content:center}
.ribbon-item{font-family:var(--mono);font-size:.78rem;letter-spacing:.05em;color:var(--slate)}
.ribbon-item b{color:var(--navy);font-weight:500}

/* sections */
section{max-width:min(1720px,96vw);margin:0 auto;padding:64px 24px}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:34px;flex-wrap:wrap}
.sec-head h2{font-family:var(--disp);font-weight:600;font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.01em}
.sec-head .note{font-family:var(--mono);font-size:.75rem;color:var(--slate);letter-spacing:.08em}
.sec-head a.more{font-size:.9rem;font-weight:600;color:var(--foil);text-decoration:none}
.sec-head a.more:hover{text-decoration:underline}

/* book grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:28px}
.book-card{background:var(--raise);border:1px solid var(--line);border-radius:10px;padding:16px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;position:relative}
.book-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(28,43,58,.35)}
.book-card .cover-img{border-radius:4px;overflow:hidden;margin-bottom:14px;position:relative;box-shadow:0 8px 20px -10px rgba(28,43,58,.4)}
.badge-new{position:absolute;top:10px;right:10px;background:var(--foil);color:#fff;font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;padding:3px 8px;border-radius:3px;z-index:2}
.book-meta{flex:1}
.book-meta .code{font-family:var(--mono);font-size:.68rem;color:var(--slate);letter-spacing:.08em}
.book-meta h3{font-family:var(--disp);font-weight:600;font-size:1.05rem;margin:4px 0 4px}
.book-meta p{font-size:.85rem;color:var(--slate);line-height:1.5}
.book-foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px}
.price{font-family:var(--mono);font-weight:500;font-size:.95rem}
.add-btn{background:var(--navy);color:var(--paper);border:none;border-radius:var(--radius);padding:8px 14px;font-size:.82rem;font-weight:600}
.add-btn:hover{background:var(--foil)}
.add-btn.added{background:#3FA860;color:#fff}

/* dark band */
.dark-band{background:var(--navy);color:var(--paper)}
.dark-band .inner{max-width:min(1720px,96vw);margin:0 auto;padding:72px 24px}
.dark-band h2{font-family:var(--disp);font-weight:600;font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:10px}
.dark-band .sub{color:#97A2AF;max-width:62ch;margin-bottom:40px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#35485C;border:1px solid #35485C;border-radius:10px;overflow:hidden}
.step{background:var(--navy);padding:28px 26px}
.step .s-num{font-family:var(--mono);font-size:.72rem;color:var(--foil-bright);letter-spacing:.14em;margin-bottom:14px;display:block}
.step h3{font-family:var(--disp);font-weight:600;font-size:1.12rem;margin-bottom:10px}
.step p{font-size:.9rem;color:#97A2AF}

/* about / prose */
.prose p{color:var(--slate);margin-bottom:16px;max-width:64ch}
.prose h2{font-family:var(--disp);font-weight:600;font-size:1.5rem;margin:34px 0 12px}
.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:start}
.reg-card{background:var(--raise);border:1px solid var(--line);border-radius:10px;padding:26px}
.reg-card h3{font-family:var(--disp);font-size:1.05rem;margin-bottom:16px}
.reg-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:.86rem}
.reg-row:last-child{border-bottom:none}
.reg-row .k{color:var(--slate)}
.reg-row .v{font-family:var(--mono);font-size:.78rem;text-align:right}

/* contact page */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:36px}
.contact-card{background:var(--raise);border:1px solid var(--line);border-radius:10px;padding:30px}
.contact-card h3{font-family:var(--disp);font-size:1.2rem;margin-bottom:14px}
.contact-card p{color:var(--slate);font-size:.95rem;margin-bottom:10px}
.contact-card a{color:var(--navy);font-weight:600;text-decoration:none}
.contact-card a:hover{color:var(--foil)}
.wa-btn{display:inline-block;background:#20894c;color:#fff;border-radius:var(--radius);padding:12px 22px;font-weight:600;text-decoration:none;margin-top:8px}
.wa-btn:hover{background:#1a7340;color:#fff}

/* footer */
footer{background:var(--navy);color:#97A2AF;margin-top:48px}
.foot-inner{max-width:min(1720px,96vw);margin:0 auto;padding:52px 24px 30px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}
.foot-inner .flogo{height:88px;width:auto;margin-bottom:14px}
.foot-inner h4{font-family:var(--disp);color:var(--paper);font-size:1rem;margin-bottom:14px}
.foot-inner a{color:#97A2AF;text-decoration:none;display:block;font-size:.88rem;margin-bottom:8px}
.foot-inner a:hover{color:var(--paper)}
.foot-inner p{font-size:.88rem;line-height:1.7}
.foot-base{border-top:1px solid #35485C;padding:16px 24px;text-align:center;font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;color:#68788A}

/* drawer + modal (injected) */
.overlay{position:fixed;inset:0;background:rgba(28,43,58,.5);opacity:0;pointer-events:none;transition:opacity .25s;z-index:90}
.overlay.open{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--paper);z-index:100;transform:translateX(100%);transition:transform .3s;display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(28,43,58,.25)}
.drawer.open{transform:none}
.drawer-head{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.drawer-head h3{font-family:var(--disp);font-size:1.2rem}
.close-x{background:none;border:none;font-size:1.4rem;color:var(--slate);line-height:1}
.drawer-body{flex:1;overflow-y:auto;padding:20px 24px}
.empty-msg{color:var(--slate);font-size:.92rem;text-align:center;padding:48px 0}
.cart-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px dashed var(--line);align-items:center}
.cart-item img{width:46px;border-radius:2px}
.cart-item .ci-info{flex:1}
.cart-item .ci-info h4{font-family:var(--disp);font-size:.95rem;font-weight:600}
.cart-item .ci-info span{font-family:var(--mono);font-size:.78rem;color:var(--slate)}
.rm-btn{background:none;border:none;color:#9c4a3f;font-size:.78rem;font-weight:600;padding:0}
.drawer-foot{border-top:1px solid var(--line);padding:20px 24px}
.total-row{display:flex;justify-content:space-between;font-weight:600;margin-bottom:16px}
.total-row span:last-child{font-family:var(--mono)}
.checkout-btn{width:100%;background:var(--navy);color:#fff;border:none;border-radius:var(--radius);padding:14px;font-weight:600;font-size:1rem}
.checkout-btn:hover{background:var(--foil)}
.checkout-btn:disabled{background:var(--line);color:var(--slate);cursor:not-allowed}
.modal{position:fixed;inset:0;z-index:110;display:none;place-items:center;padding:20px;background:rgba(28,43,58,.45)}
.modal.open{display:grid}
.modal-card{background:var(--paper);border-radius:12px;max-width:520px;width:100%;max-height:85vh;overflow-y:auto;padding:32px;position:relative}
.modal-card h3{font-family:var(--disp);font-size:1.35rem;margin-bottom:14px}
.modal-card p{color:var(--slate);font-size:.92rem;margin-bottom:12px}
.modal-card .close-x{position:absolute;top:16px;right:18px}
.pay-note{background:var(--raise);border:1px dashed var(--foil);border-radius:8px;padding:16px;margin:18px 0;font-size:.88rem}
.pay-note b{color:var(--foil)}
.pay-methods{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.pay-chip{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;border:1px solid var(--line);border-radius:20px;padding:5px 12px;color:var(--slate)}

@media(max-width:900px){
  .hero{grid-template-columns:1fr;padding-top:44px;gap:40px}
  .steps{grid-template-columns:1fr}
  .two-col,.contact-grid{grid-template-columns:1fr}
  .foot-inner{grid-template-columns:1fr;gap:28px}
  .nav-links a:not(.cart-keep){display:none}
  .nav .brand img{height:52px}
}

/* category filter + book modal + teaser */
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 30px}
.filter-chip{background:var(--raise);border:1px solid var(--line);border-radius:20px;padding:7px 16px;font-size:.85rem;font-weight:500;color:var(--slate)}
.filter-chip:hover{border-color:var(--foil);color:var(--navy)}
.filter-chip.active{background:var(--navy);border-color:var(--navy);color:var(--paper)}
.cat-line{font-size:.78rem !important;color:var(--foil) !important;font-weight:600;margin:2px 0 6px}
.teaser-link{background:none;border:none;color:var(--slate);font-size:.8rem;font-weight:600;padding:6px 0 0;text-align:left}
.teaser-link:hover{color:var(--foil)}
.book-modal{max-width:760px}
.bm-grid{display:grid;grid-template-columns:220px 1fr;gap:28px;align-items:start}
.bm-cover{border-radius:4px;box-shadow:0 14px 30px -14px rgba(28,43,58,.5)}
.bm-grid .code{font-family:var(--mono);font-size:.7rem;color:var(--slate);letter-spacing:.08em}
.bm-grid h3{margin:6px 0 4px}
.bm-cats{font-size:.82rem;color:var(--foil);font-weight:600;margin-bottom:12px}
.bm-blurb{color:var(--slate);font-size:.95rem;line-height:1.7}
@media(max-width:700px){.bm-grid{grid-template-columns:1fr}.bm-cover{max-width:200px;margin:0 auto}}

/* v1.0.2: currency, checkout, animations, newsletter */
.cur-select{width:auto;padding:7px 10px;font-size:.85rem;border:1px solid var(--line);border-radius:6px;background:var(--raise);font-weight:600;color:var(--navy)}
.co-modes{display:flex;gap:14px;flex-wrap:wrap;margin:6px 0 12px;font-size:.88rem}
.co-modes label{display:flex;gap:6px;align-items:center;font-weight:500}
.co-fields{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}
.co-fields input{padding:11px 13px;border:1px solid var(--line);border-radius:6px;font-family:inherit;font-size:.92rem}
.co-error{color:#9C3A2F;font-size:.85rem;min-height:18px;margin:4px 0}
.rv{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}
.cover-img{transition:transform .25s ease}
.news-band{background:var(--navy)}
.news-inner{max-width:min(1720px,96vw);margin:0 auto;padding:44px 24px;display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:center;color:var(--paper)}
.news-inner h3{font-family:var(--disp);font-size:1.4rem;margin-bottom:6px}
.news-inner p{color:#97A2AF;font-size:.92rem}
.news-form{display:flex;gap:10px}
.news-form input{flex:1;padding:12px 14px;border-radius:6px;border:1px solid #35485C;background:#22334588;color:var(--paper);font-family:inherit}
.news-form input::placeholder{color:#68788A}
.news-msg{grid-column:1/-1;color:var(--foil-bright) !important;min-height:20px;margin:0}
@media(max-width:800px){.news-inner{grid-template-columns:1fr}}

.bm-syn-label{font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;color:var(--foil);margin:14px 0 4px}

/* v1.0.4: shelves + reading room */
.shelf{margin-bottom:34px}
.shelf-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.shelf-head h3{font-family:var(--disp);font-size:1.35rem}
.shelf-row{display:grid;grid-auto-flow:column;grid-auto-columns:172px;gap:18px;overflow-x:auto;padding:4px 2px 14px;scroll-snap-type:x proximity}
.shelf-row::-webkit-scrollbar{height:8px}
.shelf-row::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}
.shelf-card{background:var(--raise);border:1px solid var(--line);border-radius:10px;padding:10px;scroll-snap-align:start;display:flex;flex-direction:column;gap:8px}
.shelf-card img{width:100%;border-radius:4px;cursor:pointer;box-shadow:0 3px 10px rgba(28,43,58,.18)}
.shelf-card h4{font-size:.86rem;line-height:1.3;font-weight:600;cursor:pointer;min-height:34px}
.shelf-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto}
.shelf-foot .price{font-size:.85rem}
.shelf-foot .add-btn{padding:6px 12px;font-size:.76rem}
.pg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}
.pg-card{background:var(--raise);border:1px solid var(--line);border-radius:12px;padding:26px}
.pg-card h3{font-family:var(--disp);font-size:1.25rem;margin:6px 0 14px}
.pg-q{font-weight:600;margin-bottom:12px}
.pg-opt{display:block;width:100%;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:11px 14px;margin-bottom:8px;font-family:inherit;font-size:.9rem;cursor:pointer;color:var(--navy)}
.pg-opt:hover{border-color:var(--foil);background:#F6EFDF}
.pg-again{background:transparent;border:1px solid var(--navy);border-radius:6px;padding:8px 16px;font-family:inherit;font-weight:600;font-size:.82rem;cursor:pointer;color:var(--navy)}
.pg-again:hover{background:var(--navy);color:#fff}
.pg-spark{background:var(--paper);border-left:3px solid var(--foil);padding:14px 16px;border-radius:0 8px 8px 0;font-size:.95rem;line-height:1.6;margin-bottom:14px;min-height:76px}
.pg-reco{display:grid;grid-template-columns:84px 1fr;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px;cursor:pointer;align-items:center}
.pg-reco img{width:84px;border-radius:4px}
.pg-reco h4{font-size:.95rem;margin-bottom:4px}
.pg-reco p{font-size:.8rem;color:var(--slate);margin-bottom:6px}

/* ============ v1.0.5 design pass: cards ============ */
/* reading room */
.pg-card{position:relative;overflow:hidden;background:linear-gradient(165deg,#FFFFFF 0%,#FBFAF6 60%,#F4EFE2 100%);
  border:1px solid #E3DFD2;border-radius:16px;padding:30px 28px 28px;
  box-shadow:0 1px 2px rgba(28,43,58,.05),0 10px 30px -18px rgba(28,43,58,.25);
  transition:transform .25s ease,box-shadow .25s ease}
.pg-card:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(28,43,58,.06),0 22px 44px -18px rgba(28,43,58,.32)}
.pg-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;
  background:linear-gradient(90deg,var(--navy) 0%,var(--foil) 55%,var(--foil-bright) 100%)}
.pg-card::after{content:"\2766";position:absolute;top:18px;right:22px;font-size:1.5rem;color:var(--foil);opacity:.28}
.pg-card .mono-note{display:inline-block;background:var(--navy);color:var(--foil-bright);
  padding:4px 12px;border-radius:20px;font-size:.62rem;letter-spacing:.16em}
.pg-card h3{font-size:1.3rem;margin:12px 0 16px}
.pg-opt{position:relative;padding-left:38px;transition:border-color .15s,background .15s,transform .15s}
.pg-opt::before{content:"";position:absolute;left:14px;top:50%;transform:translateY(-50%);
  width:12px;height:12px;border:2px solid var(--line);border-radius:50%;transition:all .15s}
.pg-opt:hover{transform:translateX(3px)}
.pg-opt:hover::before{border-color:var(--foil);background:var(--foil)}
.pg-spark{background:linear-gradient(135deg,#FDFCF9,#F6F1E3);border:1px solid #EAE4D2;border-left:4px solid var(--foil);
  box-shadow:inset 0 1px 3px rgba(28,43,58,.04)}
.pg-again{border-radius:20px;padding:9px 20px}
.pg-reco{border:1px solid #E3DFD2;background:#fff;box-shadow:0 6px 18px -10px rgba(28,43,58,.25);
  transition:transform .2s,box-shadow .2s}
.pg-reco:hover{transform:scale(1.015);box-shadow:0 10px 26px -10px rgba(28,43,58,.35)}
.pg-reco img{box-shadow:0 4px 12px rgba(28,43,58,.3);border-radius:5px}

/* shelves */
.shelf{background:linear-gradient(180deg,transparent,transparent 88%,rgba(28,43,58,.05) 100%);
  border-bottom:3px solid var(--navy);border-radius:0 0 4px 4px;padding-bottom:2px;margin-bottom:44px}
.shelf-head{border-bottom:1px solid var(--line);padding-bottom:10px}
.shelf-head h3{position:relative;padding-left:18px}
.shelf-head h3::before{content:"";position:absolute;left:0;top:6px;bottom:4px;width:5px;
  background:linear-gradient(180deg,var(--foil-bright),var(--foil));border-radius:3px}
.shelf-head .mono-note{background:#EDEAE0;padding:3px 10px;border-radius:12px;font-size:.62rem}
.shelf-row{grid-auto-columns:186px;gap:22px;padding:16px 4px 22px}
.shelf-card{position:relative;background:#fff;border:1px solid #E7E3D7;border-radius:12px;padding:0 0 12px;overflow:hidden;
  box-shadow:0 1px 2px rgba(28,43,58,.05),0 8px 20px -14px rgba(28,43,58,.25);
  transition:transform .22s ease,box-shadow .22s ease}
.shelf-card:hover{transform:translateY(-5px);box-shadow:0 2px 4px rgba(28,43,58,.07),0 18px 34px -14px rgba(28,43,58,.35)}
.shelf-card img{border-radius:0;box-shadow:none;transition:transform .35s ease}
.shelf-card:hover img{transform:scale(1.04)}
.shelf-card h4{padding:10px 12px 0;min-height:44px}
.shelf-foot{padding:0 12px}
.shelf-foot .price{font-family:var(--mono);font-weight:700;color:var(--navy)}
.shelf-foot .add-btn{border-radius:16px}

/* main catalogue cards: matching polish */
.book-card{border-radius:14px;overflow:hidden;
  box-shadow:0 1px 2px rgba(28,43,58,.05),0 10px 26px -16px rgba(28,43,58,.28);
  transition:transform .22s ease,box-shadow .22s ease;border:1px solid #E7E3D7}
.book-card:hover{transform:translateY(-5px);box-shadow:0 2px 4px rgba(28,43,58,.07),0 22px 40px -16px rgba(28,43,58,.38)}

/* ============ v1.0.6: dark card theme + authors ============ */
.bm-author{font-family:var(--disp);font-style:italic;color:var(--foil);font-size:1rem;margin:2px 0 8px}

/* reading room: dark */
.pg-card{background:linear-gradient(168deg,#22334A 0%,#1C2B3A 55%,#15212E 100%);
  border:1px solid #31445C;color:var(--paper);
  box-shadow:0 1px 2px rgba(0,0,0,.2),0 14px 34px -16px rgba(10,18,28,.6)}
.pg-card:hover{box-shadow:0 2px 4px rgba(0,0,0,.25),0 26px 50px -18px rgba(10,18,28,.75)}
.pg-card::after{color:var(--foil-bright);opacity:.4}
.pg-card h3{color:#FFFFFF}
.pg-card .mono-note{background:rgba(198,164,92,.16);color:var(--foil-bright);border:1px solid rgba(198,164,92,.35)}
.pg-q{color:var(--paper)}
.pg-opt{background:#26394F;border-color:#3A4E66;color:var(--paper)}
.pg-opt::before{border-color:#4C607A}
.pg-opt:hover{background:#2D4258;border-color:var(--foil-bright)}
.pg-opt:hover::before{border-color:var(--foil-bright);background:var(--foil-bright)}
.pg-again{border-color:var(--foil-bright);color:var(--foil-bright)}
.pg-again:hover{background:var(--foil-bright);color:var(--navy)}
.pg-spark{background:#16222F;border:1px solid #2C3E54;border-left:4px solid var(--foil-bright);color:var(--paper)}
.pg-spark b{color:#FFFFFF}.pg-spark i{color:#AEB9C6}
.pg-reco{background:#26394F;border-color:#3A4E66}
.pg-reco h4{color:#fff}.pg-reco p{color:#AEB9C6}.pg-reco .price{color:var(--foil-bright)}
.pg-card .mono-note,.pg-card p.mono-note{color:var(--foil-bright)}
#quizBody .mono-note{background:transparent;border:none;padding-left:0}

/* shelf cards: dark */
.shelf{border-bottom-color:var(--foil)}
.shelf-card{background:linear-gradient(170deg,#22334A,#18232F);border:1px solid #31445C;
  box-shadow:0 1px 2px rgba(0,0,0,.2),0 10px 24px -14px rgba(10,18,28,.6)}
.shelf-card:hover{box-shadow:0 2px 4px rgba(0,0,0,.25),0 20px 38px -14px rgba(10,18,28,.75)}
.shelf-card h4{color:#FFFFFF}
.shelf-foot .price{color:var(--foil-bright)}
.shelf-card .add-btn{background:var(--foil);color:var(--navy)}
.shelf-card .add-btn:hover{background:var(--foil-bright)}
.shelf-author{font-size:.72rem;color:#AEB9C6;padding:2px 12px 0;font-style:italic}

/* authors page */
.authors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(430px,1fr));gap:26px;margin-top:26px}
@media(max-width:520px){.authors-grid{grid-template-columns:1fr}}
.author-card{background:linear-gradient(168deg,#22334A 0%,#1C2B3A 60%,#141F2B 100%);
  border:1px solid #31445C;border-radius:18px;padding:30px;color:var(--paper);
  display:grid;grid-template-columns:110px 1fr;gap:22px;align-items:start;
  box-shadow:0 1px 2px rgba(0,0,0,.2),0 16px 36px -18px rgba(10,18,28,.65);
  transition:transform .22s ease,box-shadow .22s ease;position:relative;overflow:hidden}
.author-card:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(0,0,0,.25),0 28px 52px -18px rgba(10,18,28,.8)}
.author-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;
  background:linear-gradient(90deg,var(--foil) 0%,var(--foil-bright) 100%)}
.author-pic{width:110px;height:110px;border-radius:50%;box-shadow:0 6px 18px rgba(0,0,0,.4)}
.author-card h3{font-family:var(--disp);font-size:1.5rem;color:#fff;margin-bottom:6px}
.author-spec{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;color:var(--foil-bright);margin-bottom:12px}
.author-bio{font-size:.92rem;line-height:1.65;color:#C4CCD6}
.author-books{grid-column:1/-1}
.author-books .mono-note{color:var(--foil-bright)}
.author-books .shelf-row{grid-auto-columns:160px;gap:16px;padding:8px 2px 6px}

/* v1.0.8: newsletter anti-bot */
.nl-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}
.nl-human{display:flex;align-items:center;gap:8px;color:var(--paper)}
.nl-human label{font-size:.82rem;white-space:nowrap;color:#C4CCD6}
.nl-human input{width:70px;padding:12px 10px;border-radius:6px;border:1px solid #35485C;background:#22334588;color:var(--paper);font-family:inherit}
@media(max-width:800px){.nl-human{flex-wrap:wrap}}
