:root{
  --navy:#183e74;
  --ink:#274264;
  --crimson:#b83a47;
  --gold:#ba9861;
  --paper:#f8f5ed;
  --border:rgba(29,68,119,.17);
}
*{box-sizing:border-box}
html{background:var(--paper)}
body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 28%,#fffef9 3%,#f8f5ed 64%,#f1f3f1 100%);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
button,select{font:inherit}
button{cursor:pointer}
a{color:inherit}
.blossom{position:fixed;z-index:0;pointer-events:none;user-select:none;mix-blend-mode:multiply;}
.blossom-top{width:min(48vw,490px);top:-58px;left:-42px;opacity:.60;mask-image:radial-gradient(ellipse at 15% 5%,#000 28%,transparent 73%)}
.blossom-bottom{width:min(47vw,470px);bottom:-65px;right:-36px;opacity:.58;mask-image:radial-gradient(ellipse at 100% 95%,#000 20%,transparent 70%)}
.site-shell{position:relative;z-index:1;max-width:1250px;min-height:100vh;margin:0 auto;display:flex;flex-direction:column;padding:0 clamp(18px,3vw,40px)}
.site-header{height:82px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:baseline;flex-wrap:wrap;gap:0;font-family:Georgia,'Times New Roman',serif;color:#193f79;letter-spacing:.14em;font-size:clamp(14px,1.45vw,19px);font-weight:600;white-space:nowrap}
.brand-divider{height:13px;border-left:1px solid #c4ac90;margin:0 14px;transform:translateY(1px)}
.brand small{font-size:11px;letter-spacing:.23em;margin-left:12px;font-weight:500;color:var(--crimson)}
.pdf-link{font-size:12px;font-weight:600;text-decoration:none;border:1px solid #bdcbdb;background:rgba(255,255,255,.77);padding:11px 13px;border-radius:40px;white-space:nowrap;transition:background .15s ease}
.pdf-link:hover,.pdf-link:focus-visible{background:#fff}
.pdf-link span{margin-left:5px;color:var(--crimson)}
main{width:100%;flex:1;display:flex;flex-direction:column;align-items:center}
.intro{text-align:center;margin:29px 0 20px}
.intro h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(26px,3vw,35px);font-weight:500;letter-spacing:.008em;color:var(--navy);margin:0;line-height:1.18}
.intro p{font-size:11px;letter-spacing:.19em;text-transform:uppercase;color:#896b60;margin:10px 0 0;font-weight:600}
.intro:after{content:"";display:block;width:70px;height:2px;background:linear-gradient(90deg,transparent,#d57a7e 17%,#b33e47 50%,#d57a7e 83%,transparent);margin:15px auto 0}
.book{display:flex;flex-direction:column;align-items:center;width:100%;min-width:0}
.paper-holder{max-width:100%;position:relative;background:white;box-shadow:0 4px 12px rgba(16,47,95,.09),0 22px 46px rgba(26,49,80,.15);border:1px solid rgba(255,255,255,.90);border-radius:2px;overflow:hidden;line-height:0}
.page-image-button{display:block;border:0;background:#fff;padding:0;position:relative;line-height:0;max-width:100%;cursor:zoom-in}
.page-image-button img{display:block;object-fit:contain;max-width:100%;width:auto;height:auto;max-height:min(64vh,750px);aspect-ratio:595.276/841.89;}
.enlarge-corner{position:absolute;bottom:12px;right:12px;padding:7px 9px;font-size:17px;color:var(--navy);border:1px solid rgba(18,49,94,.15);background:rgba(255,255,255,.86);border-radius:50%;pointer-events:none;line-height:1}
.page-controls{width:min(100%,525px);margin:22px auto 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px}
.page-arrow{min-height:48px;padding:11px 13px;border:1px solid rgba(22,64,115,.30);border-radius:5px;color:var(--navy);background:rgba(255,255,255,.87);font-size:13px;font-weight:700;transition:background .15s,transform .15s}
.page-arrow:hover:not(:disabled){background:#fff;transform:translateY(-1px)}
.page-arrow:disabled{opacity:.38;cursor:default}
#previous{justify-self:end;width:100%}#next{justify-self:start;width:100%}
.picker-wrap{display:inline-flex;position:relative;align-items:center;min-width:140px;height:48px;justify-content:center}
.picker-wrap select{appearance:none;-webkit-appearance:none;color:var(--navy);background:transparent;border:0;border-bottom:1px solid #c5b28f;border-radius:0;text-align:center;padding:11px 19px 11px 4px;font-size:14px;font-weight:700;max-width:175px;min-height:44px;cursor:pointer}
.picker-chevron{pointer-events:none;position:absolute;right:10px;top:9px;font-size:20px;color:var(--gold)}
.small-print{margin:15px 0 26px;text-align:center;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;font-size:11px;letter-spacing:.025em;color:#61738c}
.small-print button{border:0;background:transparent;color:var(--navy);text-decoration:underline;text-underline-offset:3px;padding:3px}
.small-print .dot{color:#c2a778}
footer{text-align:center;padding:20px 0 24px;margin-top:auto;border-top:1px solid var(--border);font-family:Georgia,'Times New Roman',serif;font-size:10px;letter-spacing:.25em;color:#637c99}
button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #dca15a;outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.large-view{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:0;border:0;background:#eae8e3;color:var(--ink);overflow:hidden}
.large-view::backdrop{background:rgba(14,30,52,.72)}
.large-view[open]{display:flex;flex-direction:column}
.large-toolbar{display:flex;align-items:center;justify-content:space-between;flex:0 0 59px;gap:15px;background:#faf8f4;border-bottom:1px solid #d5d6db;padding:0 clamp(16px,3vw,35px);font-size:14px;font-weight:600}
.large-toolbar button{background:white;border:1px solid #ced2dc;border-radius:50px;padding:10px 16px;font-size:13px;color:var(--navy);font-weight:700}
.large-toolbar button span{font-size:17px;margin-left:8px}
.large-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;text-align:center}
.large-scroll img{display:block;width:max(100%,min(980px, 180vw));max-width:none;height:auto;margin:0 auto;box-shadow:0 10px 30px #2343}
@media(min-width:900px){.paper-holder{max-height:70vh}.page-image-button img{max-height:70vh}.intro{margin-top:25px}}
@media(max-width:600px){
 .site-shell{padding:0 16px}
 .site-header{height:66px}
 .brand{font-size:12px;letter-spacing:.095em}
 .brand-divider{height:10px;margin:0 7px}
 .brand small{font-size:9px;letter-spacing:.08em;margin-left:6px}
 .pdf-link{font-size:11px;padding:9px 10px}
 .blossom-top{width:67vw;top:-35px;left:-46px;opacity:.24}
 .blossom-bottom{width:70vw;bottom:-30px;right:-35px;opacity:.25}
 .intro{margin:19px 0 18px}
 .intro h1{font-size:27px}
 .intro p{margin-top:8px}
 .intro:after{margin-top:12px}
 .page-image-button img{max-height:calc(100svh - 292px);min-height:0}
 .page-controls{margin-top:15px;gap:5px}
 .page-arrow{min-height:45px;padding:10px 7px;font-size:12px}
 .picker-wrap{min-width:125px;height:45px}
 .picker-wrap select{font-size:12px;max-width:145px;padding:10px 16px 10px 0}
 .picker-chevron{right:0}
 .small-print{margin:11px 0 19px;font-size:10px;gap:6px}
 footer{padding:13px 0 14px;font-size:9px}
}
@media(max-width:370px){.brand small{display:none}.picker-wrap{min-width:112px}.arrow-text{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
