@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--green:#143d30;--deep:#0b241d;--gold:#c39a49;--paper:#f7ebd0;--ink:#302a20;--pink:#df3b89}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#122b23;color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit}header{position:sticky;top:0;z-index:5;background:#102a22ee;backdrop-filter:blur(12px);border-bottom:1px solid #b58d4570;color:#fff1ce}.nav{max-width:1160px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:15px 22px;gap:20px}.brand{text-decoration:none;font-family:Cinzel,serif;font-weight:700;letter-spacing:.05em;color:#eacb82;font-size:19px}.brand span{font-size:12px;display:block;text-align:center;letter-spacing:.23em}.links{display:flex;gap:23px;align-items:center;font-size:14px}.links a{text-decoration:none}.links a:hover{color:#f3c674}.hero{min-height:610px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 15%,#315d45 0,#16382b 52%,#0b241d 100%);color:#fff4d8;text-align:center;display:flex;align-items:center;justify-content:center;padding:80px 20px 95px}.hero:before,.hero:after{content:'❧';position:absolute;font-size:310px;opacity:.09;color:#d4a952;top:15%;transform:rotate(-35deg)}.hero:before{left:-100px}.hero:after{right:-100px;transform:scaleX(-1) rotate(-35deg)}.hero-inner{max-width:840px;position:relative;z-index:1}.eyebrow{letter-spacing:.25em;text-transform:uppercase;color:#e9c785;font-size:12px;font-weight:700}.crest{font-size:52px;margin:20px 0 5px}.hero h1,h1,h2,h3{font-family:Cinzel,Georgia,serif}h1{font-size:clamp(36px,6vw,68px);line-height:1.12;margin:18px 0 20px;color:#f3db9f}h1 em{font-style:normal;color:#fff6dc}.hero p{font-size:clamp(17px,2.1vw,21px);line-height:1.7;max-width:650px;margin:0 auto 30px}.button{display:inline-block;text-decoration:none;background:#d13e83;border:2px solid #f5a4c5;color:white;padding:13px 25px;border-radius:5px;font-weight:700;box-shadow:0 5px 0 #852d55;transition:transform .2s}.button:hover{transform:translateY(-3px)}.button.secondary{background:transparent;border-color:#caa45e;box-shadow:none;color:#ffe7ad;margin-left:10px}.book{background:linear-gradient(90deg,#d3bb89 0%,#f8ecd3 6%,#f5e7c9 50%,#f9ecd5 94%,#d3bb89 100%);position:relative}.book:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.16;background-image:repeating-linear-gradient(0deg,transparent 0px,transparent 5px,#a28a58 6px,transparent 7px)}.page{position:relative;max-width:1120px;margin:auto;padding:85px 26px}.chapter{text-align:center;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#85682e;font-weight:700}.page h2{font-size:clamp(28px,4vw,44px);color:var(--green);text-align:center;margin:12px auto 22px}.intro{font-size:18px;line-height:1.75;text-align:center;max-width:750px;margin:0 auto 40px}.ornament{text-align:center;color:#a47e38;font-size:28px;margin:16px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.feature{background:#fff8e8;border:1px solid #b9995a;padding:17px 17px 24px;box-shadow:0 7px 20px #513e2020}.feature img{width:100%;height:340px;object-fit:contain;background:#243a2c;border:4px solid #e1c68d}.feature h3{font-size:20px;color:var(--green);text-align:center;margin:20px 0 8px}.feature p{font-size:15px;line-height:1.7;margin:0}.rule{border:0;border-top:1px solid #bd9d62;max-width:500px;margin:70px auto}.notice{position:relative;margin:0 auto;max-width:800px;background:#fdf4df;border:7px double #96733e;outline:1px solid #c5a469;outline-offset:8px;text-align:center;padding:40px 55px;box-shadow:0 15px 35px #493e282b;transform:rotate(-.5deg)}.notice .seal{font-size:44px}.notice h2{font-size:29px}.notice p{line-height:1.85;font-size:17px}.notice small{font-style:italic;color:#66583c}.notice .paw{position:absolute;right:14px;bottom:5px;font-size:34px;transform:rotate(-23deg)}.end{background:#15392b;color:#f8ebca;text-align:center;padding:75px 20px}.end h2{color:#f2d89b}.end p{line-height:1.7;max-width:680px;margin:15px auto 30px}.footer{background:#0b241d;color:#d3c3a1;text-align:center;padding:28px 20px;font-size:13px}.footer a{margin:0 9px}.subhero{padding:75px 20px 50px;background:#16382b;text-align:center;color:#f6e6c4}.subhero h1{font-size:46px}.prose{max-width:790px;margin:auto;line-height:1.8;font-size:16px}.prose h2{text-align:left;font-size:24px;margin:35px 0 8px}.prose a{color:#205f49}.fine{font-size:13px;color:#766749}.note{background:#fff7e5;border-left:4px solid #bd9451;padding:16px 20px;margin:22px 0}@media(max-width:760px){.features{grid-template-columns:1fr;max-width:460px;margin:auto}.feature img{height:390px}.links{gap:11px;font-size:12px}.brand{font-size:14px}.brand span{font-size:10px}.notice{padding:25px 20px}.page{padding:65px 18px}.hero{min-height:540px}.button.secondary{margin:15px 0 0}.subhero h1{font-size:34px}}

/* Illustrated storybook edition: the original supplied assets are retained in assets/. */
.hero{padding-top:48px;background:radial-gradient(ellipse at 50% 5%,#496547 0,#16382b 55%,#0b241d 100%)}
.hero-castle{display:block;width:min(410px,75vw);max-height:310px;object-fit:contain;object-position:bottom;margin:0 auto -5px;filter:drop-shadow(0 18px 22px #050e0a77)}
.hero-divider{display:block;width:min(480px,85%);max-height:110px;object-fit:contain;margin:25px auto 0;filter:drop-shadow(0 3px 5px #070e0888)}
.book:before{opacity:.05}
.chapter-divider{display:block;width:min(430px,85%);height:70px;object-fit:contain;margin:-6px auto 16px}
.feature{background:#fff2d9e8;border:2px solid #a98043;box-shadow:0 8px 22px #4b341b35}
.feature img{border-color:#b99355}
.notice{padding-top:62px;overflow:visible}
.notice-raccoon{position:absolute;width:clamp(115px,21vw,205px);height:auto;right:-54px;top:-100px;filter:drop-shadow(0 8px 8px #30231655);transform:rotate(9deg)}
.notice .seal{font-family:Georgia,serif;font-size:30px;color:#926e2d}
.compass-art{display:block;width:min(190px,45vw);margin:10px auto 22px;filter:drop-shadow(0 5px 7px #5c432b50)}
.subhero{background-image:linear-gradient(#143629d9,#143629e8),url('assets/castle-banner.webp');background-position:center;background-size:cover}
.prose{background:#f7ebd0a8;padding:24px 35px;border-left:1px solid #9e7b473f;border-right:1px solid #9e7b473f}
@media(max-width:760px){.hero-castle{max-height:250px}.notice-raccoon{right:-10px;top:-85px;width:120px}.notice{margin-top:65px;padding-top:45px}.prose{padding:20px 12px}}
