
:root{--blue:#0b327b;--brown:#483216;--gold:#bd7f29;--cream:#fff2cf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--brown);font-family:Georgia,"Times New Roman",serif;background:#fbecc9}.site{min-height:100vh;display:flex;flex-direction:column}.header-art{width:100%;height:clamp(185px,17.23vw,288px);background:url('../images/site-header.png') center top/100% 100% no-repeat}.main-nav{width:min(920px,96%);margin:-6px auto 0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;padding:.35rem .55rem;background:linear-gradient(#ffefc3,#efd79c);border:2px solid #a46b24;border-radius:13px;box-shadow:0 5px 9px #7955213d;position:relative;z-index:2}.main-nav a,.main-nav button{font:700 clamp(1rem,1.55vw,1.3rem) Georgia,serif;border:0;border-radius:9px;color:var(--blue);background:none;text-decoration:none;padding:.55rem .95rem;cursor:pointer}.main-nav :is(a,button):is(:hover,:focus-visible),.main-nav .active{background:#fff9de;outline:2px solid transparent}.nav-divider{color:#956629}.page-title{text-align:center;margin:1rem auto .2rem;font-size:clamp(2rem,4vw,3.4rem);color:var(--blue);text-shadow:1px 1px #fef4de}.main{flex:1;background:#faebc8 url('../images/parchment-tile.png') center top/540px 140px repeat;padding:1.8rem 1.2rem 3rem}.content{max-width:1060px;margin:0 auto;min-height:250px}.intro{text-align:center}.tagline{font-size:clamp(1.4rem,2.9vw,2.45rem);color:var(--blue);margin:1.1rem auto}.construction{font-size:clamp(1.1rem,1.55vw,1.28rem);line-height:1.5;margin:1rem auto 2rem}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem}.card,.panel{background:#fff8e8c9;border:2px solid #e0b873;border-radius:14px;padding:1.55rem;box-shadow:0 6px 12px #84613317}.card{text-align:center;text-decoration:none;display:block;transition:transform .15s}.card:hover{transform:translateY(-2px)}.card h2,.panel h2{font-size:clamp(1.3rem,2vw,1.65rem);color:var(--blue)}.card .symbol{font-size:2.4rem}.panel{max-width:850px;margin:0 auto 1.1rem}.panel p{font-size:1.12rem;line-height:1.7}.book-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem;max-width:830px;margin:1rem auto}.book{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:210px;text-align:center}.book h2{font-size:1.7rem}.link-button{display:inline-block;padding:.66rem 1.1rem;border:1px solid #bd7f29;border-radius:10px;color:var(--blue);background:linear-gradient(#fff0c6,#e9cb89);font-weight:bold;text-decoration:none;cursor:pointer;font:700 1rem Georgia,serif}.link-button:hover{background:#fff7de}.button-row{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem}.footer-art{width:100%;height:clamp(220px,27.57vw,461px);background:url('../images/site-footer.png') center bottom/100% 100% no-repeat}.qr-modal[hidden]{display:none}.qr-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:1rem;background:#15100db8}.qr-dialog{background:#fff4d5;position:relative;width:min(94vw,440px);max-height:95vh;overflow:auto;border:3px solid #a76e24;border-radius:18px;padding:1.3rem;text-align:center;box-shadow:0 15px 45px #0008}.qr-dialog h2{color:var(--blue);margin:0 0 .5rem}.qr-img{width:192px;height:192px;object-fit:contain;image-rendering:pixelated;display:block;margin:.8rem auto;border:8px solid white}.qr-link{display:block;overflow-wrap:anywhere;color:var(--blue);margin:.7rem auto 1rem}.qr-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.65rem}.qr-close{position:absolute;right:.55rem;top:.35rem;border:0;background:none;color:var(--blue);font-size:1.9rem;cursor:pointer}.qr-status{min-height:1.3rem;color:#215a20;margin-top:.65rem}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:white;z-index:60}a:focus-visible,button:focus-visible{outline:3px solid #f29924;outline-offset:3px}@media(max-width:720px){.header-art{height:175px;background-size:auto 175px;background-position:25% top}.main-nav{margin:0 auto}.main-nav a,.main-nav button{font-size:.95rem;padding:.55rem .48rem}.nav-divider{display:none}.cards,.book-list{grid-template-columns:1fr}.main{padding:1rem .8rem 2rem}.footer-art{height:225px;background-size:auto 225px;background-position:center bottom}}
