:root{color-scheme:dark;--ink:#faf5eb;--gold:#ecc889;--muted:#bbbfd5;--line:#d9bb7b36}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.55 Arial,Helvetica,sans-serif;background:radial-gradient(ellipse at 5% 4%,#244578 0,transparent 30%),radial-gradient(ellipse at 96% 28%,#472b68 0,transparent 37%),radial-gradient(ellipse at 20% 78%,#123d54 0,transparent 35%),linear-gradient(150deg,#111e3d,#19162e 55%,#0b2238);min-height:100vh}body:before{content:'';position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(circle,#f0cf8c75 1px,transparent 1.5px),radial-gradient(circle,#ffffff25 1px,transparent 1.5px);background-size:147px 173px,97px 129px;background-position:20px 30px,65px 85px;opacity:.45;z-index:-1}a{color:inherit}header,main,footer{max-width:1480px;margin:auto;padding-left:60px;padding-right:60px}header{display:flex;align-items:center;justify-content:space-between;padding-top:26px;padding-bottom:24px;gap:20px;border-bottom:1px solid var(--line)}.logo{width:360px;max-width:65%;height:auto;background:#fff;border-radius:12px;padding:12px 18px;box-shadow:0 8px 30px #0002}.header-label{font-size:13px;letter-spacing:.13em;text-transform:uppercase;text-align:right;color:var(--gold)}.header-label:before{content:'✦';display:block;font-size:27px;line-height:1.1;margin-bottom:10px}.intro{position:relative;isolation:isolate;padding:65px 0 48px;display:flex;justify-content:space-between;gap:40px;align-items:end;overflow:hidden}.eyebrow{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700;margin:0 0 20px}.eyebrow:before{content:'✦';margin-right:12px}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(64px,7.2vw,106px);letter-spacing:-.045em;line-height:1.06;margin:0;font-weight:400}h1 em{color:var(--gold);font-weight:400;position:relative}h1 em:after{content:'';position:absolute;left:0;right:0;bottom:-12px;border-bottom:1px solid #ecc88960;transform:rotate(-4deg)}.intro-copy{max-width:360px;margin:0 0 5px;font-size:17px;line-height:1.7;color:#d1d3e3}.orbit{position:absolute;width:430px;height:430px;border:1px solid #ecc88925;border-radius:50%;top:-110px;right:15%;z-index:-1;transform:rotate(-25deg)}.orbit:before{content:'';position:absolute;inset:35px;border:1px solid #ecc8891c;border-radius:50%}.orbit:after{content:'✦';position:absolute;top:68px;left:58px;color:var(--gold);font-size:24px;text-shadow:0 0 22px #f9d8a9}.spark{position:absolute;right:4%;top:35px;color:#ecc8898c;font:36px Georgia,serif}.shelf-nav{display:flex;gap:12px;flex-wrap:wrap;padding:0 0 45px}.shelf-nav a{text-decoration:none;font-size:14px;border:1px solid #f1ca8245;border-radius:30px;padding:11px 22px;background:#ffffff07;color:#e5dfd2;transition:all .2s}.shelf-nav a:before{content:'✧';color:var(--gold);margin-right:9px}.shelf-nav a:hover{background:#ecc889;color:#1c2541;border-color:var(--gold);transform:translateY(-2px)}.shelf-nav a:hover:before{color:#1c2541}.shelf{--accent:#ecc889;scroll-margin-top:25px;margin-bottom:48px;padding:28px 26px 30px;border:1px solid #ffffff13;border-radius:22px;background:linear-gradient(130deg,#ffffff0a,#ffffff02);box-shadow:0 20px 50px #00000012;position:relative}.shelf:before{content:'';position:absolute;top:0;left:30px;right:30px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.7}.shelf:nth-of-type(2){--accent:#b7c8ff}.shelf:nth-of-type(3){--accent:#e3b5f6}.shelf:nth-of-type(4){--accent:#9ed8ca}.shelf-heading{display:flex;align-items:center;gap:15px;padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid #ffffff12}.shelf-number{font-family:Georgia,serif;font-style:italic;color:var(--accent);font-size:23px;display:grid;place-items:center;min-width:48px;height:48px;border:1px solid #ecc88940;border-radius:50%;background:#ffffff04}.shelf-heading h2{font-family:Georgia,serif;font-size:30px;letter-spacing:-.02em;font-weight:400;margin:0}.shelf-note{margin-left:auto;font-size:14px;color:var(--muted)}.books{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}.book{display:flex;flex-direction:column;min-width:0;background:#0d142940;border:1px solid #ffffff10;padding:12px 12px 14px;border-radius:12px;transition:transform .25s,border-color .25s,box-shadow .25s}.book:hover{transform:translateY(-5px);border-color:#ecc88966;box-shadow:0 14px 25px #0003}.cover-stage{height:270px;display:flex;align-items:end;justify-content:center;padding:18px 8px 17px;background:radial-gradient(ellipse at 50% 90%,#ecc88920,transparent 70%),linear-gradient(140deg,#ffffff08,#ffffff02);border-radius:7px 7px 0 0;border-bottom:5px solid #ad8558;position:relative;text-decoration:none}.cover-stage:after{content:'';position:absolute;bottom:-8px;left:-5px;right:-5px;height:6px;border-radius:2px;background:linear-gradient(#bd9769,#785538);box-shadow:0 9px 12px #0005}.cover-stage:before{content:'✦';position:absolute;top:-13px;right:9px;width:24px;height:39px;padding-top:5px;background:var(--accent);color:#222840;text-align:center;font-size:15px;clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%);z-index:1;filter:drop-shadow(0 3px 3px #0004)}.cover{height:232px;max-width:100%;object-fit:contain;box-shadow:7px 8px 17px #0008;border-radius:1px 3px 3px 1px;transition:transform .25s}.cover-stage:hover .cover{transform:translateY(-5px) rotate(-2deg)}.author{font-size:14px;color:#b9bfd5;margin:23px 0 7px}.book h3{font-family:Georgia,serif;font-size:22px;line-height:1.25;margin:0 0 12px;font-weight:400;min-height:55px}.description{font-size:14px;line-height:1.55;color:#b9bfd5;margin:0 0 22px}.order{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;border:1px solid #ecc88975;padding:11px 12px;text-decoration:none;font-size:14px;font-weight:700;border-radius:7px;background:linear-gradient(120deg,#edca91,#d5ac6c);color:#19233b;box-shadow:0 3px 12px #0002;transition:all .2s}.order span{font-size:12px;font-weight:400;white-space:nowrap}.order:hover{background:#ffe0ac;box-shadow:0 0 20px #ecc88930}a:focus-visible{outline:3px solid #f7d9a4;outline-offset:4px}.closing{margin:10px 0 45px;text-align:center;padding:22px 20px 30px;position:relative}.ornament{display:flex;align-items:center;justify-content:center;gap:18px;color:var(--gold);font-size:23px;margin-bottom:20px}.ornament:before,.ornament:after{content:'';height:1px;width:130px;background:linear-gradient(90deg,transparent,#ecc88977)}.ornament:after{transform:rotate(180deg)}blockquote{font-family:Georgia,serif;font-size:clamp(23px,3vw,35px);font-style:italic;line-height:1.4;margin:0 auto 12px;max-width:850px;color:#f1e4cc}.quote-author{font-size:14px;color:var(--muted);letter-spacing:.06em}footer{border-top:1px solid var(--line);padding-top:25px;padding-bottom:32px;display:flex;justify-content:space-between;gap:30px;font-size:13px;color:#b9bfd5}footer p{margin:0;max-width:710px}.footer-brand{font-family:Georgia,serif;font-size:24px;color:var(--gold);white-space:nowrap}.footer-brand:before{content:'✦';font-size:17px;margin-right:12px}/* Responsive shelves: desktop grid, tablet and phone swipe lanes. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:24px}
body{overflow-wrap:break-word}
header,main,footer{width:100%;padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}
header{padding-top:max(26px,env(safe-area-inset-top))}
footer{padding-bottom:max(32px,env(safe-area-inset-bottom))}
.logo{min-width:0;object-fit:contain}
.intro>div:not(.orbit){min-width:0}
.order{min-height:48px;touch-action:manipulation;font-size:16px;flex-wrap:wrap}
.order span{font-size:14px}
.shelf-nav a{min-height:44px;display:inline-flex;align-items:center;touch-action:manipulation}
.shelf-heading h2{min-width:0;line-height:1.2}
.shelf-number{flex-shrink:0}
.swipe-hint{display:none;color:var(--muted);font-size:14px;margin:0 0 18px}
.books:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:8px}
@media(max-width:1200px){
 .intro{gap:24px}.intro-copy{max-width:290px;font-size:16px}
 .shelf{padding:24px 18px}.books{gap:14px}.book{padding:10px}
 .cover-stage{height:245px}.cover{height:210px}.book h3{font-size:21px}
}
@media(max-width:1100px){
 .books{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:clamp(210px,28vw,250px);gap:18px;overflow-x:auto;overflow-y:hidden;padding:16px 6px 22px;scroll-snap-type:x proximity;scroll-padding-inline:6px;-webkit-overflow-scrolling:touch;scrollbar-color:#ecc88999 #ffffff08;scrollbar-width:thin}
 .book{scroll-snap-align:start;padding:12px}
 .cover-stage{height:280px}.cover{height:240px}
 .swipe-hint{display:block}.shelf-heading{margin-bottom:14px}
 .shelf-note{max-width:230px;text-align:right}
 .intro{align-items:center}h1{font-size:clamp(52px,7.4vw,82px)}
}
@media(max-width:760px){
 header,main,footer{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
 header{gap:14px}.logo{width:320px;max-width:70%;padding:9px 12px}
 .header-label{font-size:12px;letter-spacing:.04em;max-width:130px}
 .intro{display:block;padding:36px 0 28px}h1{font-size:clamp(46px,11vw,76px)}
 .intro-copy{margin-top:25px;max-width:480px}.orbit{right:-90px;top:-135px}.spark{right:2%;top:95px}
 .eyebrow{font-size:14px;letter-spacing:.08em}
 .shelf-nav{gap:8px;padding-bottom:28px}.shelf-nav a{padding:10px 14px}
 .shelf{padding:20px 14px;margin-bottom:28px;border-radius:16px}
 .books{grid-auto-columns:clamp(210px,65vw,260px);gap:16px}
 .shelf-heading{gap:12px;padding-bottom:16px;align-items:flex-start}.shelf-heading h2{font-size:26px;padding-top:4px}
 .shelf-number{min-width:38px;height:38px;font-size:20px}.shelf-note{display:none}
 footer{display:block;font-size:14px}.footer-brand{margin-bottom:15px}.closing{margin-bottom:22px;padding-left:8px;padding-right:8px}
}
@media(max-width:420px){
 header{flex-wrap:wrap;padding-bottom:16px}.logo{width:100%;max-width:100%;padding:10px 16px}
 .header-label{max-width:none;font-size:12px;text-align:left;display:flex;align-items:center;gap:9px}
 .header-label:before{font-size:18px;margin:0}.header-label br{display:none}
 .intro{padding-top:30px}.eyebrow{letter-spacing:.04em;margin-bottom:16px}
 .shelf-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .shelf-nav a{padding:10px;font-size:14px;line-height:1.3;justify-content:center;text-align:center}
 .shelf-nav a:before{display:none}.shelf-heading h2{font-size:24px}
 .shelf{padding-left:10px;padding-right:10px}.swipe-hint{line-height:1.45}
 .books{grid-auto-columns:min(76vw,260px)}
}
@media(hover:hover) and (pointer:fine){.book:hover{transform:translateY(-5px)}}
@media(hover:none){.book:hover,.cover-stage:hover .cover,.shelf-nav a:hover{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
