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

:root { --ink:#203d3a; --cream:#f7f1e7; --paper:#fffdf8; --gold:#e9a928; --coral:#e96c55; --sky:#b9dce2; --line:rgba(32,61,58,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:'DM Sans',Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.nav-shell { height:88px; max-width:1240px; margin:auto; padding:0 28px; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:11px; font-family:'Playfair Display',Georgia,serif; font-size:21px; font-weight:600; }
.brand i { color:var(--coral); }
.brand-mark { width:39px; height:39px; display:grid; place-items:center; border-radius:50%; background:var(--ink); color:white; font-family:Georgia,serif; font-style:normal; }
.brand-logo{display:block;width:190px;height:58px;object-fit:contain;object-position:left center}
nav { display:flex; align-items:center; gap:34px; font-size:14px; font-weight:600; }
nav a:hover { color:var(--coral); }
.nav-contact { border:1px solid var(--ink); border-radius:999px; padding:11px 20px; }
.hero { max-width:1240px; min-height:670px; margin:auto; padding:54px 28px 78px; display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:center; }
.kicker { margin:0 0 19px; color:var(--coral); text-transform:uppercase; letter-spacing:.18em; font-size:12px; font-weight:700; }
h1,h2,h3 { font-family:'Playfair Display',Georgia,serif; }
h1 { max-width:700px; margin:0; font-size:clamp(58px,6.1vw,90px); line-height:.98; letter-spacing:-.045em; font-weight:600; }
h1 em { color:var(--coral); font-weight:600; }
.hero-lede { max-width:570px; margin:30px 0; color:#52706d; font-size:19px; line-height:1.65; }
.hero-actions { display:flex; align-items:center; gap:30px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:35px; border-radius:999px; padding:16px 24px; font-weight:700; font-size:14px; }
.button-primary { background:var(--ink); color:white; }
.button:hover span { transform:translateX(4px); }
.button span { transition:.2s; }
.text-link { border-bottom:1px solid var(--ink); padding:5px 0; font-size:14px; font-weight:700; }
.hero-art { min-height:520px; position:relative; overflow:hidden; border-radius:48% 48% 16px 16px; background:var(--sky); display:flex; align-items:flex-end; justify-content:center; padding-bottom:45px; }
.hero-art:after { content:""; position:absolute; inset:auto -8% -25% -8%; height:58%; background:#84b8b0; border-radius:50% 50% 0 0; }
.sun { position:absolute; top:64px; right:62px; width:125px; height:125px; border-radius:50%; background:#f7d76d; }
.book-stack { z-index:2; width:70%; transform:rotate(-4deg); }
.book { height:88px; display:flex; align-items:center; padding:0 30px; border-radius:5px 12px 12px 5px; color:white; font-weight:700; letter-spacing:.12em; box-shadow:0 10px 24px rgba(32,61,58,.18); }
.book.one { width:92%; margin-left:6%; background:#e6a627; }
.book.two { background:#e96c55; transform:rotate(5deg); }
.book.three { width:88%; margin-left:5%; background:#315e59; transform:rotate(-1deg); }
.hero-art>p { z-index:3; position:absolute; top:55px; left:40px; margin:0; font-family:'Playfair Display',serif; font-size:21px; line-height:1.25; font-style:italic; }
.spark { position:absolute; z-index:2; color:white; font-size:35px; }.spark-one{top:35%;left:12%}.spark-two{top:29%;right:18%}
.books-section { padding:110px max(28px,calc((100% - 1184px)/2)); background:var(--cream); }
.section-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:80px; align-items:end; margin-bottom:58px; }
.section-heading h2,.about h2,.contact h2 { margin:0; font-size:clamp(40px,4vw,58px); line-height:1.05; letter-spacing:-.03em; }
.section-heading>p { margin:0 0 5px; color:#5c7472; line-height:1.7; }
.book-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.book-card { min-width:0; }
.cover-wrap { height:455px; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; background:#e7c36f; }
.book-card:nth-child(2) .cover-wrap { background:#b9dce2; }
.cover-wrap img { width:69%; height:80%; object-fit:contain; filter:drop-shadow(12px 16px 15px rgba(32,61,58,.24)); transition:transform .35s ease; }
.cover-wrap:hover img { transform:translateY(-8px) rotate(-1deg); }
.number { position:absolute; top:20px; left:22px; font-size:12px; font-weight:700; letter-spacing:.12em; }
.cover-action { position:absolute; inset:auto 16px 16px; padding:13px 16px; background:var(--paper); text-align:center; border-radius:99px; font-weight:700; font-size:13px; transform:translateY(65px); transition:.3s; }
.cover-wrap:hover .cover-action,.cover-wrap:focus .cover-action { transform:translateY(0); }
.book-details { padding:25px 5px 0; }
.book-details>p { margin:0 0 10px; color:var(--coral); text-transform:uppercase; letter-spacing:.13em; font-size:10px; font-weight:700; }
.book-details h3 { margin:0 0 13px; font-size:27px; line-height:1.12; }
.book-details>span { display:block; color:#5c7472; font-size:14px; line-height:1.65; }
.book-details>a { display:inline-block; margin-top:18px; border-bottom:1px solid var(--ink); font-size:13px; font-weight:700; }
.coming-cover { background:#ddb7c8!important; }
.coming-book { width:69%; height:80%; padding:38px 25px 25px; background:#f7e879; border:9px solid white; box-shadow:12px 16px 15px rgba(32,61,58,.18); text-align:center; display:flex; flex-direction:column; justify-content:space-between; transform:rotate(2deg); }
.coming-book span { font-size:10px; letter-spacing:.2em; font-weight:800; }
.coming-book strong { font-family:'Playfair Display',serif; font-size:31px; line-height:1.02; }
.coming-book small { font-size:7px; letter-spacing:.12em; }.doodles{font-size:25px}
.soon-label { display:inline-block!important; width:max-content; margin-top:18px; padding:7px 11px; border:1px solid #849b98; border-radius:99px; text-transform:uppercase; letter-spacing:.1em; font-size:9px!important; font-weight:700; }
.about { max-width:1184px; margin:auto; padding:120px 28px; display:grid; grid-template-columns:.85fr 1.15fr; gap:100px; align-items:center; }
.about-quote { min-height:430px; padding:55px; background:var(--gold); display:flex; flex-direction:column; justify-content:space-between; transform:rotate(-2deg); }
.about-quote>span { font:100px/1 Georgia,serif; color:rgba(255,255,255,.8); }
blockquote { margin:0; font-family:'Playfair Display',serif; font-size:29px; line-height:1.35; font-style:italic; }
.about-copy>p:not(.kicker) { margin:26px 0; color:#5c7472; line-height:1.8; }
.values { display:flex; flex-wrap:wrap; gap:20px; padding-top:18px; border-top:1px solid var(--line); }
.values span { font-size:12px; font-weight:700; }.values b { color:var(--coral); margin-right:5px; }
.contact { padding:100px 28px; text-align:center; background:var(--ink); color:white; }
.contact .kicker { color:#f3bd50; }
.contact>p:not(.kicker) { color:#b9cecb; margin:24px 0 30px; }
.button-light { background:white; color:var(--ink); }
.contact small { display:block; margin:18px auto 0; color:#82a19d; font-size:10px; }
footer { min-height:125px; max-width:1240px; margin:auto; padding:30px 28px; display:flex; align-items:center; justify-content:space-between; gap:20px; color:#6a817e; font-size:12px; }
.footer-brand { color:var(--ink); font-size:16px; }.footer-brand .brand-logo{width:165px;height:56px}
@media (max-width:900px) { .hero{grid-template-columns:1fr;padding-top:65px}.hero-art{min-height:480px}.book-grid{grid-template-columns:1fr 1fr}.coming-card{grid-column:1/-1;max-width:50%}.about{grid-template-columns:1fr;gap:60px}.section-heading{grid-template-columns:1fr;gap:20px} }
@media (max-width:640px) { .nav-shell{height:75px}.brand{font-size:16px}.brand-mark{width:33px;height:33px}nav a:not(.nav-contact){display:none}.nav-contact{padding:9px 15px}.hero{padding-top:40px;gap:48px}.hero-art{min-height:390px}.book{height:65px;font-size:11px}.sun{width:90px;height:90px}.books-section{padding-top:80px}.book-grid{grid-template-columns:1fr}.coming-card{grid-column:auto;max-width:none}.cover-wrap{height:430px}.about{padding-top:80px;padding-bottom:80px}.about-quote{min-height:360px;padding:38px}.values{flex-direction:column}footer{flex-direction:column;text-align:center;padding:40px 20px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.contact h2 br{display:none} }
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Traditional, restrained publisher direction */
:root{--ink:#2b1a1b;--cream:#e8dcc8;--paper:#f2e9d9;--gold:#ad8545;--coral:#7b2932;--sky:#d1c1a7;--line:rgba(43,26,27,.22)}
body{background:#f2e9d9;background-image:linear-gradient(rgba(90,65,45,.025) 1px,transparent 1px);background-size:100% 4px}
.nav-shell{height:78px;border-bottom:1px solid var(--line)}.brand-mark{background:var(--coral)}nav{font-weight:500}.nav-contact{border-radius:2px}
.hero{display:block;min-height:auto;max-width:100%;padding:86px max(28px,calc((100% - 1184px)/2)) 95px;text-align:center;background:#d9c9ae;border-bottom:1px solid #b9a587}.hero-copy{max-width:820px;margin:auto}.hero h1{max-width:none;font-size:clamp(48px,7vw,76px);letter-spacing:-.025em}.hero-lede{max-width:660px;margin:24px auto 31px;color:#5d4846;font-size:18px}.hero-actions{justify-content:center}.button{border-radius:2px}.button-primary{background:var(--coral)}.hero-art,.text-link{display:none}
.books-section{padding-top:85px;padding-bottom:95px;background:#eee4d3}.section-heading{border-bottom:1px solid var(--line);padding-bottom:28px;margin-bottom:45px}.section-heading h2,.about h2,.contact h2{font-size:clamp(37px,4vw,50px)}.book-grid{gap:34px}.cover-wrap{height:420px;background:#d1b575;border:1px solid rgba(43,26,27,.12)}.book-card:nth-child(2) .cover-wrap{background:#c4c8bd}.coming-cover{background:#c9b7ad!important}.cover-action,.soon-label{border-radius:2px}.book-details h3{font-size:25px}
.about{grid-template-columns:1fr;max-width:880px;padding-top:85px;padding-bottom:85px;text-align:center}.about-quote{display:none}.about-copy>p:not(.kicker){max-width:720px;margin:24px auto;color:#5d4846}.values{justify-content:center;margin-top:30px;padding-top:25px}.contact{background:#4b2025;padding:80px 28px}.button-light{border-radius:2px}.contact small{color:#c8ada7}footer{border-top:1px solid var(--line)}
@media(max-width:640px){.hero{padding-top:62px;padding-bottom:68px}.hero h1{font-size:46px}.cover-wrap{height:400px}.section-heading{text-align:center}.section-heading>p{margin:auto}}
@media(max-width:640px){.brand-logo{width:145px;height:48px}.footer-brand .brand-logo{width:160px;height:54px}}
