@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--ink:#30243a;--muted:#706575;--plum:#7c3f75;--pink:#f4d8ec;--lilac:#e9e1f7;--cream:#fffaf2;--line:#eadfea}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fffdfd;font:16px/1.7 'DM Sans',Arial,sans-serif}
a{color:inherit}header{display:flex;align-items:center;justify-content:space-between;padding:22px clamp(20px,6vw,80px);border-bottom:1px solid var(--line)}
.brand{text-decoration:none;font:600 2rem 'Playfair Display',Georgia,serif}.brand small{display:block;color:#b44887;font:700 .58rem 'DM Sans',sans-serif;letter-spacing:.22em}
nav{display:flex;gap:26px}
header .brand{line-height:1.12}header .brand small{font-size:.62rem}header .brand small{margin-top:7px}nav a{text-decoration:none;font-size:.9rem;font-weight:600}nav a:hover{color:#b44887}
.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6vw;padding:clamp(55px,8vw,110px) clamp(20px,7vw,100px);background:linear-gradient(120deg,#fffaf4,#fbf1fb 60%,#f0edfb)}
.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.72rem;font-weight:700;color:#b44887;margin:0 0 12px}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;line-height:1.16;letter-spacing:-.03em;font-weight:500}h1{font-size:clamp(3rem,5.7vw,5.2rem);margin:0}h1 em,h2 em{color:var(--plum)}h2{font-size:clamp(2.1rem,4vw,3.2rem);margin:.2rem 0 1rem}h3{font-size:2rem;margin:1rem 0}
.intro{max-width:490px;color:var(--muted);font-size:1.08rem;margin:1.4rem 0 2rem}.button{display:inline-block;background:var(--plum);color:#fff;padding:13px 21px;border-radius:999px;text-decoration:none;font-weight:700;font-size:.9rem}.button:hover{filter:brightness(1.1);transform:translateY(-1px)}.outline{background:transparent;border:1px solid var(--plum);color:var(--plum)}
.dream{position:relative;min-height:390px;border-radius:48% 48% 24px 24px;overflow:hidden;background:#f7e9e2;box-shadow:0 20px 55px #76517b20}.dream img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.dream p{position:absolute;z-index:2;left:12%;right:12%;bottom:8%;margin:0;padding:13px 12px;border-radius:12px;background:#fffaf2df;color:#4a304e;text-align:center;font:italic 1.55rem/1.3 'Playfair Display',Georgia,serif}
.section{padding:clamp(55px,7vw,95px) clamp(20px,7vw,100px)}.center{text-align:center}.intro2{margin:0 auto 45px;max-width:650px}.muted{color:var(--muted)}
.book{max-width:980px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:clamp(35px,7vw,90px)}.cover{aspect-ratio:1376/1122;max-width:430px;width:100%;margin:auto;position:relative;overflow:hidden;border:7px solid #ffffffa8;box-shadow:0 18px 40px #5d356522;border-radius:4px;background:#fff}.cover img{display:block;width:100%;height:100%;object-fit:contain}.tag{display:inline-block;background:var(--pink);color:var(--plum);border-radius:999px;padding:5px 10px;font-size:.75rem;font-weight:700}.fine{font-size:.75rem;color:#857a89}
.banner{margin:0 clamp(20px,7vw,100px) 50px;padding:clamp(35px,5vw,65px);text-align:center;border-radius:25px;background:linear-gradient(115deg,#f7e8f5,#f2effb 60%,#e7efdd)}.banner p:last-child{max-width:600px;margin:auto;color:var(--muted)}
.about{display:grid;grid-template-columns:170px 1fr;align-items:center;gap:6vw;max-width:1100px;margin:auto}.author-portrait{width:100%;max-width:300px;aspect-ratio:4/5;margin:auto;border:1px solid #e6d7e5;border-radius:140px 140px 18px 18px;overflow:hidden;background:#f2e6ee;box-shadow:0 18px 40px #5d356518}.author-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block}.contact{text-align:center;background:var(--cream);padding:70px 20px}.contact .button{margin-top:12px}
footer{padding:30px clamp(20px,5vw,75px);display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line)}footer p{color:var(--muted);font-size:.82rem}
@media(max-width:700px){header{align-items:flex-start;flex-direction:column;gap:15px}nav{gap:20px}.hero{grid-template-columns:1fr}.dream{min-height:320px}.book{grid-template-columns:1fr}.cover{max-width:360px}.about{grid-template-columns:1fr;text-align:center}.author-portrait{margin:auto}footer{flex-direction:column;text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}