/* An heirloom storybook layer: the illustrations remain the heart of the page. */
@font-face{font-family:'Cormorant';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/cormorant-regular.ttf') format('truetype')}
@font-face{font-family:'Cormorant';font-style:italic;font-weight:400;font-display:swap;src:url('assets/fonts/cormorant-italic.ttf') format('truetype')}
@font-face{font-family:'Italianno';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/italianno.ttf') format('truetype')}
:root{--paper:#f7efdf;--ink:#45523a;--muted:#706857;--gold:#a18248;--line:#c7b78d;--display:'Cormorant',Georgia,serif;--script:'Italianno','Apple Chancery',cursive}
body{position:relative;overflow-x:clip;background-color:var(--paper);background-image:linear-gradient(#fff8ec55,#fff8ec55),url('assets/parchment.webp');background-size:cover;background-position:center;background-attachment:fixed}
body:before{content:'';position:absolute;inset:13px;border:1px solid #b2a07866;pointer-events:none;z-index:0}
.announcement{background:#dbdec533;color:#6c6a50;border-bottom:1px solid #b7ab821f;font-family:var(--display);font-size:15px;font-style:italic;letter-spacing:.025em;padding:11px 20px}
.site-header{position:relative;min-height:128px;border-bottom:3px double #b3a17d55;gap:24px}
.site-header:before,.site-header:after{content:'';position:absolute;width:130px;height:230px;background:url('assets/botanical-corner.webp') top left/contain no-repeat;mix-blend-mode:multiply;opacity:.65;pointer-events:none;top:-18px;left:-91px;mask-image:linear-gradient(180deg,#000 55%,transparent)}
.site-header:after{left:auto;right:-91px;transform:scaleX(-1)}
.wordmark{font-family:var(--script);font-size:49px;gap:12px;letter-spacing:0;position:relative;line-height:.9}
.brand-crest{width:80px;height:auto;mix-blend-mode:multiply;flex:none}
.wordmark small{font-family:var(--display);font-style:italic;font-size:15px;letter-spacing:.075em;margin-top:8px;text-align:center;line-height:1.1}
.site-header nav{position:relative;font-family:var(--display);font-size:19px;gap:30px}
.site-header nav a:hover{color:#755272;border-color:#aa9062}
.nav-follow{border-bottom:0!important;font-style:italic}
.hero{padding-top:67px;padding-bottom:78px;gap:68px}
.eyebrow,.hero .eyebrow{font-family:var(--display);font-weight:400;font-style:italic;letter-spacing:.025em;font-size:20px;color:#806a43;line-height:1.45}
.hero .eyebrow span{font-size:13px;margin-right:8px}
h1,h2,h3{font-family:var(--display);font-weight:400}
.hero h1{font-size:clamp(62px,6.5vw,91px);line-height:.99;letter-spacing:-1.3px;margin-top:21px;margin-bottom:24px}
.hero h1 em{display:inline-block;font-family:var(--script);font-style:normal;font-size:1.31em;line-height:.8;margin-top:12px;color:#7b6073;letter-spacing:0;padding-right:14px}
.hero-intro{font-size:18px;line-height:1.8}
.hero-note{font-size:15px;font-style:italic;line-height:1.8;color:#74664e}
.hero-actions{gap:20px;align-items:center}
.button{font-family:var(--display);font-size:18px;letter-spacing:.02em;border:3px double #c8bd96;border-radius:6px 14px 6px 14px;padding:12px 23px;background:linear-gradient(125deg,#566049,#3e503c);box-shadow:0 3px 9px #6b593815;gap:18px;min-height:49px}
.button:hover{background:linear-gradient(125deg,#687057,#4d5e47);box-shadow:0 4px 12px #6b593822}
.button span{font-size:15px}
.text-link{font-family:var(--display);font-style:italic;font-size:18px;letter-spacing:0;border-bottom:1px solid #a9936566;gap:10px;line-height:1.4}
.byline{font-family:var(--display);font-size:16px;font-style:italic;color:#73654f;margin-top:24px}
.byline span{font-family:var(--script);font-style:normal;font-size:31px;line-height:1;color:#725c6c;margin-left:7px}
.hero-figure{padding:12px;margin-bottom:8px}
.image-arch{border-radius:49% 51% 12px 14px / 43% 45% 12px 14px;border:4px double #b3a273;outline:1px solid #b3a27388;outline-offset:6px;box-shadow:0 12px 32px #755c2b16;aspect-ratio:.96;transform:rotate(1deg)}
.hero-figure:before{content:'';position:absolute;left:-36px;top:3px;width:130px;height:230px;background:url('assets/botanical-corner.webp') left top/contain no-repeat;mix-blend-mode:multiply;transform:rotate(-14deg);opacity:.9;pointer-events:none;z-index:2;mask-image:linear-gradient(#000 45%,transparent)}
.hero-figure figcaption{font-family:var(--script);font-size:34px;line-height:1.2;font-style:normal;color:#76613f;background:transparent;border:0;box-shadow:none;padding:10px 0 0;bottom:-35px;transform:translateX(-50%) rotate(-3deg)}
.hero-figure figcaption span{font-family:Georgia,serif;font-size:25px;padding-right:6px}
.star-one{font-size:42px;right:-25px;top:12%;transform:rotate(11deg)}
.star-two{color:#a28b53;left:-26px;bottom:14%;font-size:25px}
.story-ribbon{position:relative;flex-direction:column;gap:3px;background:transparent;border:0;padding:15px 25px 30px;text-align:center}
.ribbon-garland{width:255px;max-width:60vw;height:auto;margin-bottom:10px;mix-blend-mode:multiply}
.story-ribbon p:first-of-type{font-family:var(--display);font-size:25px;font-style:italic}
.story-ribbon>span{font-size:12px;line-height:1.5;margin:2px 0 6px}
.story-ribbon p:last-child{font-family:var(--display);font-size:17px;font-style:normal;letter-spacing:.08em}
.section{padding-top:72px;padding-bottom:90px}
h2,.section-heading h2{font-size:49px;letter-spacing:-.75px;line-height:1.15}
.section-heading{margin-bottom:39px;align-items:center}
.section-heading>p{font-family:var(--display);font-size:21px;font-style:italic;color:#74664e;line-height:1.5}
.book-grid{gap:44px}
.book-card{--wash:#bec9a866}
.book-card.dahlia{--wash:#d7bad066}
.book-card.astrid{--wash:#b5c3cd66}
.book-card .cover-stage{isolation:isolate;background:radial-gradient(ellipse at 50% 58%,var(--wash) 12%,var(--wash) 40%,transparent 72%);border-radius:46% 54% 45% 55% / 45% 42% 58% 55%;height:366px;overflow:visible}
.cover-stage:before{content:'✧';position:absolute;left:11%;top:11%;font-size:26px;color:#ab9062;z-index:-1;transform:rotate(-12deg)}
.cover-stage:after{content:'✦';position:absolute;right:7%;bottom:16%;font-size:17px;color:#ab9062;z-index:-1}
.cover-stage img{height:303px;box-shadow:-5px 7px 13px #6d543a35,1px 1px 2px #5e4b3b77;transform:rotate(-5deg)}
.dahlia .cover-stage img{transform:rotate(3deg)}
.astrid .cover-stage img{transform:rotate(-4deg)}
.cover-hint{font-family:var(--display);font-style:italic;font-size:15px;right:17px;bottom:7px;opacity:.9}
.book-theme{font-family:var(--display);font-style:italic;font-weight:400;font-size:18px;letter-spacing:.015em;margin-top:25px;margin-bottom:11px}
.book-card h3{font-size:35px;line-height:1.12;letter-spacing:-.35px}
.book-card>p:not(.book-theme){line-height:1.8;font-size:15px;margin-top:17px;color:#746c5c}
.store-link{font-family:var(--display);font-size:16px;font-style:italic}
.book-links{margin-top:19px;gap:12px}
.hollow-section{position:relative;background:linear-gradient(180deg,transparent,#d9dfc9a6 15%,#dbe1cba6 82%,transparent);border:0;padding:88px 0}
.woodland-figure{border:3px double #b9a785;background:#faf2e2;border-radius:46% 48% 5px 6px / 10% 9% 2px 4px;padding:14px 14px 20px;box-shadow:0 12px 24px #75633b17;transform:rotate(-3deg)}
.woodland-figure img{border-radius:45% 47% 4px 5px / 9% 8% 3px 2px}
.woodland-figure figcaption{font-family:var(--script);font-style:normal;font-size:28px;line-height:1.05;color:#6e704f}
.hollow-copy h2{font-size:50px;line-height:1.08}
.hollow-copy h2 em{font-family:var(--script);font-size:1.17em;font-style:normal;letter-spacing:0;line-height:1.1}
.hollow-copy blockquote{font-family:var(--script);font-size:40px;font-style:normal;line-height:1.1;border-left:0;padding-left:0;color:#747249;margin-top:33px}
.hollow-copy blockquote:before{content:'✦';display:block;font-family:Georgia,serif;font-size:12px;line-height:1;margin-bottom:14px;color:#a28b58}
.center-heading{max-width:820px}
.center-heading>p:last-child{font-family:var(--display);font-size:23px;font-style:italic}
.portrait{border:4px double #b8a879;padding:6px;border-radius:49% 51% 47% 53%;overflow:visible;background:#f9f0df55;box-shadow:0 5px 14px #81663312;transform:rotate(-3deg)}
.portrait img{border-radius:50%;aspect-ratio:1.28;object-fit:cover}
.dahlia-portrait{transform:rotate(2deg);border-color:#b2a0b1}
.astrid-portrait{transform:rotate(-2deg);border-color:#a3adad}
.witch-grid .eyebrow{font-size:20px;color:#75664d}
.witch-grid h3{font-family:var(--script);font-size:52px;line-height:.9;letter-spacing:0;margin-top:15px}
.witch-grid h3 span{font-family:var(--display);font-size:23px;line-height:1.2;margin-top:9px}
.witch-grid .text-link{font-size:18px}
.author-section{position:relative;border-top:3px double #b6a68266;padding-top:83px;padding-bottom:89px}
.author-section:before{content:'✦';position:absolute;left:50%;top:-12px;transform:translateX(-50%);background:#f8efdd;color:#aa905c;font-size:15px;padding:0 18px}
.author-art p{font-family:var(--display);font-size:19px}
.author-art p span{font-family:var(--script);font-size:45px;line-height:1.1}
.author-copy h2{font-size:47px}
.follow-section{width:min(1270px,calc(100% - 56px));margin:0 auto 20px;border:5px double #aa9569;border-radius:7px 17px 7px 17px;background:radial-gradient(ellipse at 50% 20%,#526149,#3e4d39 80%);box-shadow:inset 0 0 0 9px #f8e8be06,0 8px 24px #64583212;padding:58px 0 66px}
.follow-section .shell{width:calc(100% - 60px)}
.follow-section .eyebrow{font-size:21px;letter-spacing:.02em;color:#d0c4a6}
.follow-section h2{font-family:var(--script);font-size:68px;letter-spacing:0;line-height:1.1;margin:10px 0 17px}
.follow-section p:not(.eyebrow){font-family:var(--display);font-size:24px;line-height:1.45}
.follow-section:before{content:'❦';font-size:85px;left:7%;top:35%;color:#ccb87d88;transform:rotate(-20deg)}
.follow-section:after{content:'❦';right:7%;top:35%;font-size:85px;color:#ccb87d88;transform:scaleX(-1) rotate(-20deg)}
.button-light{color:#536044;background:#f5eacb;border-color:#d8bd7e;font-size:18px}
.button-light:hover{background:#fff4d4;color:#3f5039}
footer{position:relative;font-family:var(--display);padding-top:32px;padding-bottom:43px}
.footer-wordmark{font-family:var(--script);font-size:35px;line-height:1}
footer p{font-size:15px;font-style:italic}footer small{font-size:12px}.back-top{font-size:15px;font-style:italic}
dialog{background-color:var(--paper);background-image:url('assets/parchment.webp');background-size:cover;border:5px double #a99570;border-radius:6px 14px 6px 14px}
.dialog-heading h2{font-size:43px;line-height:1.1}
.dialog-close{font-family:var(--display);font-size:18px}
.book-card.highlight .cover-stage{outline:2px dotted #a88d53;outline-offset:3px}
@media(max-width:1100px){
  .site-header nav{gap:20px;font-size:18px}.wordmark{font-size:45px}.brand-crest{width:65px}
  .hero{gap:45px}.hero h1{font-size:77px}.hero-actions{gap:13px}.hero-actions .text-link{font-size:17px}
  .button{font-size:17px;padding:11px 19px;gap:14px}.cover-stage img{height:278px}.book-card .cover-stage{height:337px}
  .book-grid{gap:28px}.book-card h3{font-size:33px}.book-theme{font-size:17px}.book-links{gap:8px}.book-links .text-link{font-size:17px}.store-link{font-size:15px}
  .hollow-copy h2{font-size:43px}.author-copy h2{font-size:42px}.witch-grid .text-link{font-size:17px}
}
@media(max-width:820px){
  .site-header{min-height:112px;gap:16px}.wordmark{font-size:43px}.brand-crest{width:66px}.wordmark small{font-size:13px}
  .menu-toggle{font-family:var(--display);font-size:17px;border:3px double #b7a27b;border-radius:5px 9px;padding:8px 12px;min-height:44px}
  .site-header nav{font-size:21px;background:#f7efdf url('assets/parchment.webp') center/cover;padding:17px 23px;box-shadow:0 12px 18px #66553315}
  .site-header:before{left:-65px;width:100px;opacity:.45}.site-header:after{right:-65px;width:100px;opacity:.45}
  .hero{padding-top:47px;padding-bottom:65px;gap:29px}.hero h1{font-size:62px;letter-spacing:-1px}.hero .eyebrow{font-size:17px}
  .hero-intro{font-size:16px}.hero-note{font-size:14px}.hero-actions .text-link{font-size:17px}.hero-actions{gap:8px}.byline{font-size:14px}.byline span{font-size:27px}
  .hero-figure{padding:9px}.hero-figure:before{width:90px;height:180px;left:-22px;top:-2px}.hero-figure figcaption{font-size:27px;bottom:-23px}.hero-figure figcaption span{font-size:20px}.star-one{font-size:27px;right:-15px}
  .ribbon-garland{width:225px}.story-ribbon{padding-top:18px}.story-ribbon p:first-of-type{font-size:23px}
  .section{padding-top:58px;padding-bottom:67px}h2,.section-heading h2{font-size:42px}.section-heading>p{font-size:21px}
  .book-grid{gap:20px}.book-card .cover-stage{height:268px}.cover-stage img{height:218px}.cover-hint{font-size:13px;bottom:0;right:8px}.book-theme{font-size:15px}.book-card h3{font-size:30px}
  .book-card>p:not(.book-theme){font-size:14px;line-height:1.8}.book-links{gap:2px}.book-links .text-link{font-size:17px}
  .hollow-section{padding:65px 0}.hollow-copy h2{font-size:38px}.hollow-copy blockquote{font-size:34px}.woodland-figure figcaption{font-size:23px}
  .center-heading>p:last-child{font-size:21px}.witch-grid h3{font-size:46px}.witch-grid h3 span{font-size:21px}.witch-grid .eyebrow{font-size:18px}.witch-grid .text-link{font-size:16px}
  .author-section{padding-top:65px;padding-bottom:65px}.author-copy h2{font-size:39px}.author-art p span{font-size:39px}
  .follow-section{width:calc(100% - 40px)}.follow-section:before,.follow-section:after{font-size:50px;opacity:.6;top:22%}.follow-section h2{font-size:61px}
}
@media(max-width:600px){
  body{background-attachment:scroll;background-size:900px auto}body:before{inset:8px}
  .announcement{font-size:13px;padding:10px 17px}.site-header{min-height:108px}.wordmark{font-size:43px}.brand-crest{width:60px}.wordmark small{font-size:12px;letter-spacing:.025em}
  .site-header:before,.site-header:after{width:83px;height:150px;top:-5px;opacity:.35}
  .hero{padding-top:39px;padding-bottom:55px;gap:46px}.hero .eyebrow{font-size:19px}.hero h1{font-size:clamp(60px,14vw,78px);margin-top:20px;margin-bottom:22px;line-height:1.02}
  .hero h1 em{margin-left:4px;font-size:1.2em;margin-top:4px;line-height:.9}.hero-intro{font-size:17px;line-height:1.8}.hero-note{font-size:15px}.hero-actions{gap:16px;margin-top:26px}.hero-actions .text-link{font-size:17px}
  .byline{font-size:15px;margin-top:22px}.byline span{font-size:30px}.hero-figure{max-width:390px;width:90%;margin-bottom:21px}.image-arch{aspect-ratio:1.02}
  .hero-figure:before{left:-26px;width:100px;height:190px}.hero-figure figcaption{font-size:32px;bottom:-26px}.hero-figure figcaption span{font-size:23px}.star-one{font-size:32px;right:-19px}.star-two{font-size:20px;left:-20px}
  .story-ribbon{padding:8px 22px 23px;gap:3px}.story-ribbon>span{display:block}.ribbon-garland{width:220px;margin-bottom:7px}.story-ribbon p:first-of-type{font-size:23px;line-height:1.3}.story-ribbon p:last-child{font-size:15px;letter-spacing:.05em}
  .section{padding-top:49px;padding-bottom:64px}.eyebrow{font-size:20px}.section-heading{margin-bottom:25px}h2,.section-heading h2{font-size:40px;line-height:1.12}.section-heading>p{font-size:21px;line-height:1.4}
  .book-grid{gap:43px}.book-card .cover-stage{height:372px}.cover-stage img{height:312px}.cover-hint{font-size:16px;bottom:2px;right:27px}.book-theme{font-size:19px;letter-spacing:0;margin-top:22px}.book-card h3{font-size:38px;line-height:1.1}
  .book-card>p:not(.book-theme){font-size:16px;line-height:1.85}.book-links{gap:14px;flex-direction:row}.book-links .text-link{font-size:19px}.store-link{font-size:17px}
  .hollow-section{padding:60px 0}.woodland-figure{width:87%}.woodland-figure figcaption{font-size:25px;line-height:1.05}.hollow-copy h2{font-size:41px}.hollow-copy>p:not(.eyebrow){font-size:16px}.hollow-copy blockquote{font-size:39px;line-height:1.1}
  .center-heading .eyebrow{font-size:18px}.center-heading h2{font-size:41px}.center-heading>p:last-child{font-size:21px}.portrait{width:264px}.witch-grid{gap:48px}.witch-grid h3{font-size:53px}.witch-grid h3 span{font-size:24px;display:block;margin:8px 0 0}.witch-grid .eyebrow{font-size:20px}.witch-grid .text-link{font-size:19px}
  .author-section{padding-top:57px;padding-bottom:62px;gap:34px}.author-copy h2{font-size:40px}.author-art p span{font-size:46px}
  .follow-section{width:calc(100% - 28px);padding:43px 0 52px;border-width:4px}.follow-section .shell{width:calc(100% - 35px)}.follow-section .eyebrow{font-size:19px}.follow-section h2{font-size:51px;line-height:1.05}.follow-section p:not(.eyebrow){font-size:22px;line-height:1.45}.follow-section:before,.follow-section:after{font-size:34px;top:10%;opacity:.45}.follow-section:before{left:3%}.follow-section:after{right:3%}.button-light{font-size:18px;padding:11px 18px;gap:12px}
  footer{padding-top:27px;padding-bottom:37px;gap:8px}.footer-wordmark{font-size:33px}footer p{font-size:14px}footer small{font-size:11px}.back-top{font-size:13px}
  .dialog-heading .eyebrow{font-size:18px}.dialog-heading h2{font-size:36px}.dialog-bottom .button{font-size:17px}
}
@media(max-width:420px){
  .site-header{gap:12px}.wordmark{font-size:36px;gap:5px}.brand-crest{width:42px}.wordmark small{font-size:10px;letter-spacing:.02em}.menu-toggle{font-size:16px;padding:7px 9px;gap:7px}
  .hero-actions{gap:10px}.hero-actions .text-link{font-size:16px}.button{font-size:17px;padding:11px 17px}
  .hero-figure figcaption{font-size:29px}.book-card .cover-stage{height:345px}.cover-stage img{height:288px}.book-links .text-link{font-size:18px}.store-link{font-size:16px}
  .follow-section h2{font-size:47px}.footer-wordmark{font-size:30px}.back-top{font-size:12px}
}
