@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');

:root { --ink:#272137; --plum:#613366; --lavender:#eadff3; --paper:#fbfaf7; --pink:#f9bbc8; --green:#9cc6ad; --gold:#eab85f; --line:rgba(39,33,55,.13); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.55 "DM Sans",Arial,sans-serif; }
a { color:inherit; }
.site-header { max-width:1200px; margin:auto; padding:24px 32px; display:flex; align-items:center; justify-content:space-between; }
.wordmark { text-decoration:none; font-weight:700; letter-spacing:.15em; font-size:.82rem; }.header-link{font-size:.9rem; text-underline-offset:5px;}
.hero { min-height:590px; padding:84px max(32px,calc((100% - 1136px)/2)); overflow:hidden; position:relative; display:grid; grid-template-columns:1fr 1fr; align-items:center; background:linear-gradient(124deg,#e9dbf0 0%,#f9f1ed 57%,#f8c7d1 100%); }
.hero-copy { max-width:590px; z-index:1; }.eyebrow { margin:0 0 14px; color:var(--plum); font-size:.72rem; font-weight:700; letter-spacing:.15em; }.hero h1,.welcome h2,.section-heading h2,.closing h2 { font:700 clamp(3rem,6vw,5.65rem)/.96 "Playfair Display",Georgia,serif; letter-spacing:-.055em; margin:0; }.intro { max-width:480px; margin:26px 0 30px; font-size:1.14rem; }
.button { display:inline-flex; align-items:center; gap:11px; padding:15px 21px; background:var(--ink); color:#fff; text-decoration:none; border-radius:99px; font-size:.9rem; font-weight:700; transition:transform .2s,background .2s; }.button:hover{transform:translateY(-2px);background:var(--plum)}
.hero-art { height:460px; position:relative; }.gem { position:absolute; width:180px; aspect-ratio:1; transform:rotate(30deg); border-radius:25px; box-shadow:inset 28px 28px 45px rgba(255,255,255,.35),18px 20px 0 rgba(97,51,102,.12); }.gem-a{background:#8cbeb2;top:84px;left:11%;}.gem-b{background:#f0a6b8;top:206px;left:47%;width:120px;}.gem-c{background:#e4b955;top:19px;left:55%;width:85px;}.heart{font:200px/1 Georgia,serif;position:absolute;color:#824d83;}.heart-a{right:9%;top:88px;transform:rotate(14deg)}.heart-b{left:2%;top:231px;font-size:80px;color:#fff}.loop{position:absolute;border:18px solid rgba(255,255,255,.75);border-radius:50%;}.loop-a{width:290px;height:140px;transform:rotate(-42deg);right:8%;bottom:2%;}.loop-b{width:120px;height:60px;transform:rotate(28deg);left:16%;top:34px;}
.welcome { max-width:770px; padding:130px 32px; margin:auto; text-align:center; }.welcome h2{font-size:clamp(2.7rem,5vw,4.5rem);}.welcome p:last-child{max-width:650px;margin:28px auto 0;color:#51495e;font-size:1.08rem;}
.books { padding:82px max(32px,calc((100% - 1136px)/2)) 110px; background:#f3eee8; }.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-heading h2{font-size:clamp(2.8rem,5.1vw,4.6rem)}.section-heading>p{max-width:205px;margin:0 0 5px;color:#625b67;font-size:.92rem}
.book-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }.book-card { min-height:420px; border-radius:16px; padding:16px; background:#fff; display:flex; flex-direction:column; box-shadow:0 1px 0 rgba(39,33,55,.05); }.book-card:first-child{grid-column:span 2;}.cover-art{height:190px;border-radius:11px;margin-bottom:22px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.hearts .cover-art{background:radial-gradient(circle at 22% 18%,#ffedf0,transparent 32%),#efadbf;color:#fff;font:110px Georgia,serif;gap:5px;}.hearts .cover-art span:nth-child(1){transform:translateY(-17px)}.hearts .cover-art span:nth-child(2){font-size:150px}.hearts .cover-art span:nth-child(3){transform:translateY(17px)}.stone-one .cover-art{background:#acd3df}.stone-two .cover-art{background:#d9aec5}.stone-three .cover-art{background:#c3c2e7}.stone-four .cover-art{background:#f0cf88}.stone-five .cover-art{background:#a6ceb9}.stone-six .cover-art{background:#d6b0da}.book-card:not(.hearts) .cover-art i{width:90px;aspect-ratio:1;background:rgba(255,255,255,.52);display:block;transform:rotate(30deg);border-radius:19px;box-shadow:inset 15px 15px 25px rgba(255,255,255,.5);}.series{font-size:.66rem;letter-spacing:.12em;font-weight:700;color:var(--plum);margin:0 0 7px}.book-card h3{font:700 1.7rem/1.05 "Playfair Display",Georgia,serif;margin:0}.book-card p:not(.series){font-size:.88rem;color:#625b67;margin:12px 0 18px}.book-card a{font-size:.84rem;font-weight:700;margin-top:auto;text-decoration-thickness:1px;text-underline-offset:5px}.book-card a:hover{color:var(--plum)}
.closing{background:var(--plum);color:#fff;text-align:center;padding:110px 32px}.closing .eyebrow{color:#f6cfda}.closing h2{font-size:clamp(2.8rem,5.1vw,4.6rem);max-width:690px;margin:auto}.button-light{background:#fff;color:var(--plum);margin-top:32px}.button-light:hover{background:#f8d5df;color:var(--plum)}footer{max-width:1200px;margin:auto;padding:28px 32px;display:flex;justify-content:space-between;gap:20px;font-size:.76rem;color:#625b67}footer p{margin:0}footer a{text-underline-offset:4px}
@media (max-width:760px){.site-header{padding:21px 20px}.hero{grid-template-columns:1fr;padding:70px 25px 35px;min-height:660px}.hero-art{height:265px;margin-top:18px}.gem-a{width:125px;top:52px}.gem-b{width:80px;top:145px}.gem-c{width:62px;top:12px}.heart-a{font-size:140px;top:30px}.heart-b{font-size:55px;top:150px}.loop-a{width:190px;height:90px}.welcome{padding:90px 25px}.books{padding:66px 20px}.section-heading{display:block}.section-heading>p{margin-top:15px}.book-grid{grid-template-columns:1fr 1fr;gap:10px}.book-card{min-height:370px;padding:11px}.book-card:first-child{grid-column:span 2}.cover-art{height:135px;margin-bottom:16px}.book-card h3{font-size:1.4rem}.hearts .cover-art{font-size:80px}.hearts .cover-art span:nth-child(2){font-size:110px}.closing{padding:85px 24px}footer{padding:25px 20px;display:block}footer a{display:inline-block;margin-top:8px}}
