/* Self-hosted fonts: David Libre (display, Judaica/literary) + Noto Sans Hebrew (UI/body) */
@font-face{font-family:"David Libre";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/david-libre-hebrew-500-normal.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:"David Libre";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/david-libre-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"David Libre";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/david-libre-hebrew-700-normal.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:"David Libre";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/david-libre-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Noto Sans Hebrew";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/noto-sans-hebrew-hebrew-400-normal.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:"Noto Sans Hebrew";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/noto-sans-hebrew-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Noto Sans Hebrew";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/noto-sans-hebrew-hebrew-600-normal.woff2) format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:"Noto Sans Hebrew";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/noto-sans-hebrew-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Layout: header · library of volumes as columns (home) · sidebar + PDF reader (booklet) */
:root{
  --bg:#f2f3f1; --paper:#fcfcfb; --ink:#1b2333; --muted:#5d6676; --line:#dcdfe2;
  --accent:#23406b; --brass:#9a7b3c; --hover:#e9edf3; --hit:rgba(214,170,60,.42); --hit-cur:rgba(214,120,30,.55);
  --f-display:"David Libre","David","Times New Roman",serif;
  --f-body:"Noto Sans Hebrew",system-ui,"Arial Hebrew",sans-serif;
  --head-h:64px; --r-ctl:6px; --r-box:8px; --gut:max(16px,env(safe-area-inset-left,0px));
}
@media (prefers-color-scheme:dark){:root{
  --bg:#12161e; --paper:#1a202b; --ink:#e7e9ee; --muted:#9aa3b2; --line:#2c3443;
  --accent:#8fb0e0; --brass:#c9a866; --hover:#232b39; color-scheme:dark}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html,body{overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.7 var(--f-body);direction:rtl}
img{max-width:100%;height:auto}
a{color:var(--accent);text-underline-offset:3px}
:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;top:8px;right:8px;background:var(--accent);color:var(--paper);padding:6px 12px;z-index:100;border-radius:var(--r-ctl);transform:translateY(-200%);transition:transform .15s}
.skip:focus{transform:none}
[hidden]{display:none!important}
.in{max-width:1360px;margin:0 auto;padding-left:var(--gut);padding-right:max(16px,env(safe-area-inset-right,0px))}

.btn{font:inherit;font-size:14px;font-weight:600;padding:8px 14px;border-radius:var(--r-ctl);border:1px solid var(--line);background:var(--paper);color:var(--ink);text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;line-height:1.3}
.btn:hover{background:var(--hover)}
.btn:active,.tb:active{transform:translateY(1px)}
.ico{width:18px;height:18px;flex-shrink:0;display:block}
.tb{display:inline-flex;align-items:center;justify-content:center}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--paper)}
.btn.primary:hover{filter:brightness(1.08)}
.eyebrow{font-weight:600;color:var(--brass);font-size:14px;margin:0 0 6px}
.vol-sub{font-weight:600;color:var(--brass);font-size:14px;margin:2px 0 0}

/* Header */
.site-head{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
.site-head .in{display:flex;align-items:center;gap:24px;min-height:var(--head-h);padding-block:8px}
.logo{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--ink);line-height:1.1}
.logo-svg{display:block;height:38px;width:auto;max-width:100%}
.logo-s{padding-inline-start:2px}
.logo-t{font-family:var(--f-display);font-weight:900;font-size:22px}
.logo-s{font-size:12.5px;color:var(--muted);margin-top:3px}
.site-nav{margin-inline-start:auto}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;flex-wrap:wrap}
.site-nav a{display:block;padding:6px 10px;border-radius:var(--r-ctl);color:var(--ink);text-decoration:none;font-size:15px}
.site-nav a:hover,.site-nav .current-menu-item>a{background:var(--hover)}
.site-nav .sub-menu{display:none}
.head-search input{font:inherit;font-size:14px;width:200px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--bg);color:var(--ink)}
.nav-toggle{display:none;font:inherit;font-size:14px;background:none;border:1px solid var(--line);border-radius:var(--r-ctl);padding:6px 12px;color:var(--ink);margin-inline-start:auto;cursor:pointer}

/* Hero */
.hero{background:var(--paper);border-bottom:1px solid var(--line)}
.hero .in{padding-block:52px 40px}
.hero h1{font-family:var(--f-display);font-weight:900;font-size:clamp(40px,6.4vw,76px);line-height:.95;margin:0;text-wrap:balance}
.hero-lead{font-size:18px;color:var(--muted);max-width:60ch;margin:16px 0 26px}
.big-search{display:flex;gap:8px;max-width:680px}
.big-search input{flex:1;min-width:0;font:inherit;font-size:17px;padding:12px 14px;border:1.5px solid var(--ink);border-radius:var(--r-ctl);background:var(--bg);color:var(--ink)}
.big-search .btn{font-size:16px;padding-inline:20px}
.stats{color:var(--muted);font-size:14px;margin:14px 0 0;font-variant-numeric:tabular-nums}
.continue{margin-top:18px}
.continue a{display:inline-flex;gap:8px;align-items:baseline;flex-wrap:wrap;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-ctl);text-decoration:none;color:var(--ink);background:var(--bg)}
.continue span{font-size:13px;color:var(--brass);font-weight:700}
.continue b{font-family:var(--f-display);font-size:18px}
.continue em{font-style:normal;color:var(--muted);font-size:13px}


/* Hero split: text + live booklet cover */
.hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px;align-items:center}
.hero-cover{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--ink);justify-self:center;width:min(100%,330px)}
.cover-frame{position:relative;display:block;aspect-ratio:1/1.414;max-width:100%;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-ctl);overflow:hidden;box-shadow:0 18px 40px -18px rgba(27,35,51,.35);transform:rotate(-1.2deg);transition:transform .35s cubic-bezier(.16,1,.3,1)}
.cover-frame::before{content:"";position:absolute;inset:14% 12%;background:repeating-linear-gradient(to bottom,var(--line) 0 2px,transparent 2px 14px);opacity:.7;transition:opacity .3s}
.hero-cover.ready .cover-frame::before{opacity:0}
.cover-frame canvas,.cover-frame .cover-img{position:relative;display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s}
.hero-cover.ready .cover-img{opacity:1}
.hero-cover.ready canvas{opacity:1}
.hero-cover:hover .cover-frame{transform:rotate(0) translateY(-3px)}
.cover-cap{font-size:14px;color:var(--muted);line-height:1.4}
.cover-cap b{display:block;font-family:var(--f-display);font-size:18px;color:var(--ink)}
.btn .ico{width:17px;height:17px}
.about-links .ico{display:inline-block;vertical-align:-3px;width:15px;height:15px}

/* Booklet text (crawlable + screen readers) */
.b-text{border-top:1px solid var(--line);padding:22px}
.b-text h2{font-family:var(--f-display);font-size:24px;margin:0 0 6px}
.b-text-note{font-size:14px;color:var(--muted);margin:0 0 16px;max-width:70ch}
.b-page{max-width:70ch;font-size:17px;line-height:1.8;padding:10px 0;border-bottom:1px solid var(--line)}
.b-page p{margin:0 0 10px}
.b-pg{display:block;font-size:12.5px;color:var(--brass);font-weight:600;margin-bottom:4px;font-variant-numeric:tabular-nums}
.b-more summary{cursor:pointer;font-weight:600;color:var(--accent);padding:12px 0}

/* Library columns */
.library .in{padding-block:40px 24px}
.vols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px}
.vol-col{min-width:0}
.vol-top{border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:6px}
.vol-top h2{font-family:var(--f-display);font-size:34px;font-weight:700;margin:0;line-height:1.05}
.vol-col.empty .vol-top{border-bottom-style:dashed;border-color:var(--muted)}
.gate-h{font-family:var(--f-display);font-size:17px;font-weight:700;margin:18px 0 4px;color:var(--ink)}
.gate-h span{font-weight:600;font-weight:400;font-size:13.5px;color:var(--brass)}
.list{list-style:none;margin:0;padding:0}
.list a{display:grid;grid-template-columns:30px 1fr auto;gap:6px;align-items:baseline;padding:7px 6px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.list a:hover{background:var(--hover)}
.list .num,.item .num{font-family:var(--f-display);font-weight:700;color:var(--accent);font-size:15px}
.list .t{font-size:16px;line-height:1.35}
.list .pc{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.soon{font-size:13.5px;color:var(--muted);padding:8px;border:1px dashed var(--line);border-radius:var(--r-ctl);margin:12px 0 0}
.empty-lib{grid-column:1/-1;color:var(--muted)}

/* About strip */
.about-strip .in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:36px;padding-block:28px 56px;border-top:2px solid var(--ink);margin-top:24px}
.about-h h2{font-family:var(--f-display);font-size:30px;margin:0;font-weight:700}
.about-links{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px 20px}
.about-links a{font-weight:600;text-decoration:none}
.prose{max-width:68ch;font-size:17px;line-height:1.8}
.prose p{margin:0 0 14px}

/* Pages */
.page-wrap{max-width:1100px;margin:0 auto;padding-block:40px 64px;padding-left:var(--gut);padding-right:max(16px,env(safe-area-inset-right,0px));display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;align-items:start}
.page-wrap:not(:has(.sub-nav)){grid-template-columns:minmax(0,1fr)}
.page-body h1{font-family:var(--f-display);font-size:clamp(30px,4vw,44px);font-weight:700;margin:0 0 18px;line-height:1.1;text-wrap:balance}
.sub-nav{position:sticky;top:calc(var(--head-h) + 20px)}
.sub-nav ul{list-style:none;margin:0;padding:0;border-inline-start:2px solid var(--line)}
.sub-nav a{display:block;padding:6px 12px;margin-inline-start:-2px;border-inline-start:2px solid transparent;text-decoration:none;color:var(--muted)}
.sub-nav a[aria-current]{border-color:var(--accent);color:var(--ink);font-weight:600}

/* Contact form */
.contact{margin-top:24px;max-width:620px}
.contact .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact label{display:block;font-size:14px;font-weight:600;margin-bottom:4px}
.contact input,.contact textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--paper);color:var(--ink)}
/* Honeypot: hidden without pushing the RTL page sideways */
.contact .hp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;margin:0}
.notice{padding:10px 14px;border-radius:var(--r-ctl);border:1px solid var(--line)}
.notice.ok{border-color:#3d8a5a}
.notice.err{border-color:#b04a3a}

/* Search results */
.wrap-narrow{max-width:900px;margin:0 auto;padding-block:40px 64px;padding-left:var(--gut);padding-right:max(16px,env(safe-area-inset-right,0px))}
.search-head{margin-bottom:28px}
.h-xl{font-family:var(--f-display);font-size:clamp(34px,5vw,54px);font-weight:900;margin:0;line-height:1}
.results{list-style:none;margin:0;padding:0}
.res{padding:18px 0;border-bottom:1px solid var(--line)}
.res .crumb{font-weight:600;color:var(--brass);font-size:13.5px;margin:0}
.res h2{font-family:var(--f-display);font-size:23px;margin:2px 0 8px;font-weight:700;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.res h2 a{color:var(--ink);text-decoration:none}
.res h2 a:hover{color:var(--accent)}
.cnt{font-family:var(--f-body);font-size:13px;font-weight:600;color:var(--muted)}
.snip{display:grid;grid-template-columns:62px minmax(0,1fr);gap:10px;padding:8px 10px;margin-top:4px;border-radius:var(--r-ctl);text-decoration:none;color:var(--ink);font-size:15.5px;line-height:1.6}
.snip:hover{background:var(--hover)}
.snip .pg{font-size:13px;color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums;padding-top:2px}
mark{background:var(--hit);color:inherit;border-radius:2px;padding:0 1px}

/* Booklet page */
.book{max-width:1500px;margin:0 auto;padding-block:20px 40px;padding-left:var(--gut);padding-right:max(16px,env(safe-area-inset-right,0px));display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;align-items:start}
.lib{position:sticky;top:calc(var(--head-h) + 16px);max-height:calc(100vh - var(--head-h) - 32px);overflow:auto;padding-inline-end:4px}
.vol{margin-bottom:14px}
.vol-h{display:flex;align-items:baseline;gap:10px;border-bottom:2px solid var(--ink);padding:4px 0 6px;cursor:pointer;list-style:none}
.vol-h::-webkit-details-marker{display:none}
.vol-h::before{content:"‹";font-size:18px;color:var(--muted);transition:transform .15s;display:inline-block;transform:rotate(-90deg)}
.vol:not([open]) .vol-h::before{transform:none}
.vol-name{font-family:var(--f-display);font-size:22px;font-weight:700}
.vol-h .n{font-size:12.5px;color:var(--muted);margin-inline-start:auto}
.gate{font-weight:600;font-size:13.5px;color:var(--brass);margin:10px 0 2px}
.item{display:grid;grid-template-columns:28px 1fr;gap:6px;align-items:baseline;padding:6px 8px;border-radius:var(--r-ctl);text-decoration:none;color:var(--ink);font-size:15px;line-height:1.35}
.item:hover{background:var(--hover)}
.item[aria-current]{background:var(--accent);color:var(--paper)}
.item[aria-current] .num{color:inherit}

.reader{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-box);min-width:0;overflow:hidden}
.r-head{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;gap:16px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}
.r-title{min-width:0}
.r-head .crumb{font-weight:600;color:var(--brass);font-size:14px;margin:0}
.r-head h1{font-family:var(--f-display);font-size:clamp(24px,2.8vw,34px);font-weight:700;margin:4px 0 0;line-height:1.15;text-wrap:balance}
.actions{display:flex;gap:8px;flex-wrap:wrap}

.viewer{position:relative;background:var(--bg)}
.toolbar{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--paper)}
.grp{display:flex;align-items:center;gap:4px}
.tb{font:inherit;font-size:16px;min-width:34px;height:34px;padding:0 8px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--paper);color:var(--ink);cursor:pointer;line-height:1}
.tb:hover{background:var(--hover)}
.zoom-l{font-size:13px;min-width:56px;font-variant-numeric:tabular-nums}
.pg{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.pg input{width:58px;height:34px;font:inherit;font-size:14px;text-align:center;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--bg);color:var(--ink)}
.find{margin-inline-start:auto}
.find input{width:170px;height:34px;font:inherit;font-size:14px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--bg);color:var(--ink)}
.find-res{font-size:13px;color:var(--muted);min-width:42px;text-align:center;font-variant-numeric:tabular-nums}
.pages{height:calc(100vh - var(--head-h) - 170px);min-height:480px;overflow:auto;padding:12px;display:flex;flex-direction:column;align-items:center;gap:12px;outline:none;scroll-behavior:auto}
.pg-w{position:relative;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,.04);flex-shrink:0;max-width:none}
.pg-w canvas{display:block}
.pg-n{position:absolute;bottom:6px;left:8px;font-size:11px;color:#8a909a;font-variant-numeric:tabular-nums;pointer-events:none}
.loading{color:var(--muted);padding:40px;text-align:center}
.no-pdf{padding:40px 22px;color:var(--muted)}
.resume{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:8px 14px;border-radius:var(--r-ctl);font-size:14px;display:flex;gap:10px;align-items:center;box-shadow:0 6px 20px rgba(0,0,0,.25);z-index:5}
.resume button{font:inherit;font-size:13px;background:none;border:1px solid currentColor;color:inherit;border-radius:var(--r-ctl);padding:2px 8px;cursor:pointer}
.viewer.is-full{display:flex;flex-direction:column;height:100vh}
.viewer.is-full .pages{height:auto;flex:1}

/* pdf.js 4.10 text layer (from pdf_viewer.css) + search highlight */
.textLayer{
  position:absolute;
  text-align:initial;
  inset:0;
  overflow:clip;
  opacity:1;
  line-height:1;
  -webkit-text-size-adjust:none;
     -moz-text-size-adjust:none;
          text-size-adjust:none;
  forced-color-adjust:none;
  transform-origin:0 0;
  caret-color:CanvasText;
  z-index:0;
}

.textLayer.highlighting{
    touch-action:none;
  }

.textLayer :is(span,br){
    color:transparent;
    position:absolute;
    white-space:pre;
    cursor:text;
    transform-origin:0% 0%;
  }

.textLayer  > :not(.markedContent),.textLayer .markedContent span:not(.markedContent){
    z-index:1;
  }

.textLayer span.markedContent{
    top:0;
    height:0;
  }

.textLayer span[role="img"]{
    -webkit-user-select:none;
       -moz-user-select:none;
            user-select:none;
    cursor:default;
  }

.textLayer .highlight{
    --highlight-bg-color:rgb(180 0 170 / 0.25);
    --highlight-selected-bg-color:rgb(0 100 0 / 0.25);
    --highlight-backdrop-filter:none;
    --highlight-selected-backdrop-filter:none;
  }

@media screen and (forced-colors: active){

.textLayer .highlight{
      --highlight-bg-color:transparent;
      --highlight-selected-bg-color:transparent;
      --highlight-backdrop-filter:var(--hcm-highlight-filter);
      --highlight-selected-backdrop-filter:var(
        --hcm-highlight-selected-filter
      );
  }
    }

.textLayer .highlight{

    margin:-1px;
    padding:1px;
    background-color:var(--highlight-bg-color);
    -webkit-backdrop-filter:var(--highlight-backdrop-filter);
            backdrop-filter:var(--highlight-backdrop-filter);
    border-radius:4px;
  }

.appended:is(.textLayer .highlight){
      position:initial;
    }

.begin:is(.textLayer .highlight){
      border-radius:4px 0 0 4px;
    }

.end:is(.textLayer .highlight){
      border-radius:0 4px 4px 0;
    }

.middle:is(.textLayer .highlight){
      border-radius:0;
    }

.selected:is(.textLayer .highlight){
      background-color:var(--highlight-selected-bg-color);
      -webkit-backdrop-filter:var(--highlight-selected-backdrop-filter);
              backdrop-filter:var(--highlight-selected-backdrop-filter);
    }

.textLayer ::-moz-selection{
    background:rgba(0 0 255 / 0.25);
    background:color-mix(in srgb, AccentColor, transparent 75%);
  }

.textLayer ::selection{
    background:rgba(0 0 255 / 0.25);
    background:color-mix(in srgb, AccentColor, transparent 75%);
  }

.textLayer br::-moz-selection{
    background:transparent;
  }

.textLayer br::selection{
    background:transparent;
  }

.textLayer .endOfContent{
    display:block;
    position:absolute;
    inset:100% 0 0;
    z-index:0;
    cursor:default;
    -webkit-user-select:none;
       -moz-user-select:none;
            user-select:none;
  }

.textLayer.selecting .endOfContent{
    top:0;
  }


.textLayer ::selection{background:rgba(35,64,107,.3)}
.textLayer .hit{background:var(--hit);border-radius:2px}
.textLayer .hit.cur{background:var(--hit-cur)}
/* The page is RTL, but pdf.js positions every glyph itself: canvases and text layers must stay LTR or letters drift apart. */
.pg-w,.cover-frame{direction:ltr}
.pg-w canvas{position:relative;z-index:0}

.r-foot{display:flex;justify-content:space-between;gap:10px;padding:12px 22px;border-top:1px solid var(--line);flex-wrap:wrap}
.r-foot .btn{max-width:48%}
.r-foot .btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.mbar,.scrim,.lib-close{display:none}

/* Footer */
.site-foot{border-top:1px solid var(--line);background:var(--paper);color:var(--muted);font-size:14px}
.site-foot .in{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-block:24px 28px}
.site-foot b{color:var(--ink);font-family:var(--f-display);font-size:17px}
.site-foot p{margin:4px 0 0;max-width:60ch}
.foot-contact{display:flex;flex-direction:column;gap:4px}

/* Responsive */
@media (max-width:1100px){
  .vols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .head-search{display:none}
}
@media (max-width:900px){
  :root{--head-h:56px}
  .logo-svg{height:32px}
  .logo-s{display:none}
  .hero-grid{grid-template-columns:1fr;gap:28px}
  .hero-cover{width:min(56%,220px);justify-self:center}
  .b-text{padding:16px 14px}
  .nav-toggle{display:block}
  .site-nav{position:absolute;top:100%;inset-inline:0;background:var(--paper);border-bottom:1px solid var(--line);display:none;padding:8px var(--gut) 14px}
  .site-nav.open{display:block}
  .site-nav ul{flex-direction:column}
  .site-head .in{position:relative}
  .about-strip .in,.page-wrap{grid-template-columns:1fr;gap:16px}
  .sub-nav{position:static}
  .sub-nav ul{display:flex;flex-wrap:wrap;border:0;gap:4px}
  .sub-nav a{border:1px solid var(--line);border-radius:var(--r-ctl);margin:0}
  .sub-nav a[aria-current]{background:var(--accent);color:var(--paper);border-color:var(--accent)}

  .book{grid-template-columns:1fr;padding-block:0 24px;gap:0}
  .mbar{display:flex;position:sticky;top:var(--head-h);z-index:20;gap:10px;align-items:center;background:var(--paper);border-bottom:1px solid var(--line);margin-inline:calc(-1 * var(--gut));padding:8px var(--gut)}
  .mbar .btn{flex-shrink:0}
  .mbar .now{min-width:0;line-height:1.25}
  .mbar .now b{display:block;font-family:var(--f-display);font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mbar .now span{color:var(--muted);font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .lib{position:fixed;top:0;bottom:0;right:0;width:min(88vw,380px);max-height:none;z-index:50;background:var(--bg);padding:max(16px,env(safe-area-inset-top,0px)) 16px max(16px,env(safe-area-inset-bottom,0px));transform:translateX(105%);transition:transform .25s ease;box-shadow:-8px 0 30px rgba(0,0,0,.2)}
  .lib.open{transform:none}
  .lib-close{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
  .lib-close b{font-family:var(--f-display);font-size:20px}
  .scrim{position:fixed;inset:0;z-index:45;background:rgba(10,14,22,.45)}
  .scrim.open{display:block}
  .reader{margin-top:12px;border-radius:var(--r-ctl)}
  .r-head{padding:14px 14px 12px}
  .r-head h1{font-size:23px}
  .pages{height:calc(100vh - var(--head-h) - 150px);height:calc(100dvh - var(--head-h) - 150px);padding:8px}
  .find{margin-inline-start:0;width:100%}
  .find input{flex:1;width:auto;min-width:0}
  .fs{display:none}
  .r-foot{padding:10px 14px}
}
@media (max-width:600px){
  .vols{grid-template-columns:1fr;gap:28px}
  .hero .in{padding-block:32px 28px}
  .big-search{flex-direction:column}
  .contact .row{grid-template-columns:1fr}
  .actions .btn{flex:1;justify-content:center}
  .actions{width:100%}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.cover-frame{transform:none}}
@media print{.site-head,.site-foot,.lib,.toolbar,.mbar{display:none}}
