:root{
  --pink:#F8DDE8;--blue:#DDEBF7;--porcelain:#FFF9F5;--rose:#E5B6C9;
  --soft-blue:#AFC9DF;--gold:#B48B46;--champagne:#E5C78C;--wine:#542332;
  --plum:#392E38;--oxblood:#3C0B14;--ivory:#F4EBDD;--dark:#0D0A0B;--max:1120px;
  --script:"Snell Roundhand","URW Chancery L","Brush Script MT","Segoe Script",cursive;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--plum);background:var(--porcelain);font:18px/1.65 Georgia,"Times New Roman",serif}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.24em}
a:focus-visible,button:focus-visible{outline:3px solid var(--wine);outline-offset:3px}
section{scroll-margin-top:88px}
.skip-link{position:fixed;left:1rem;top:-8rem;z-index:50;background:var(--oxblood);color:#fff;padding:.7rem 1rem}
.skip-link:focus{top:1rem}
.site-header{position:relative;z-index:30;min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:2rem;max-width:var(--max);margin:auto;padding:0 3rem;background:var(--porcelain);border-bottom:1px solid rgba(180,139,70,.45)}
.brand{display:flex;align-items:center;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}
.brand span{display:grid;place-items:center;width:48px;height:48px;margin-right:.75rem;border:1px solid var(--gold);border-radius:50%;color:var(--wine);font-family:var(--script);font-size:1rem;box-shadow:inset 0 0 0 4px var(--porcelain),inset 0 0 0 5px rgba(180,139,70,.28)}
.brand b{font-weight:400}
nav{display:flex;align-items:center;gap:1.5rem}
nav a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}
nav a:hover{text-decoration:underline}
.menu-button{display:none;width:44px;height:44px;border:1px solid var(--wine);background:var(--porcelain);color:var(--wine);font-size:1.1rem}
.eyebrow{margin:0 0 1rem;color:var(--wine);text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;font-weight:700}
.hero{position:relative;isolation:isolate;max-width:var(--max);margin:auto;padding:5rem 3rem;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:center;gap:3rem;background:var(--pink);overflow:hidden}
.hero:before,.hero:after{content:"";position:absolute;z-index:-1;top:0;bottom:0;width:23%;background:url("/assets/floral-pink-blue-scrolls.jpg") center/cover no-repeat;opacity:.72;pointer-events:none}
.hero:before{left:0;mask-image:linear-gradient(to right,#000 58%,transparent)}
.hero:after{right:0;transform:scaleX(-1);mask-image:linear-gradient(to right,#000 58%,transparent)}
.hero-copy{position:relative;padding:2rem 1.4rem;background:linear-gradient(90deg,rgba(248,221,232,.97),rgba(248,221,232,.88),rgba(248,221,232,.6))}
.hero h1{margin:0;color:var(--wine);font-family:var(--script);font-weight:400;letter-spacing:0}
.hero h1 span,.hero h1 em{display:block;font-style:normal}
.hero h1 span{font-size:clamp(6rem,9vw,7rem);line-height:1.04}
.hero h1 em{margin-top:-.2rem;font-size:clamp(4rem,6vw,4.75rem);line-height:1.08}
.genre{display:flex;align-items:center;gap:.8rem;margin:1.2rem 0 .7rem;color:var(--wine);text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;font-weight:700}
.genre:before,.genre:after{content:"";width:36px;height:1px;background:var(--gold)}
.welcome{max-width:540px;margin:0 0 1.5rem}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem}
.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.4rem;border:1px solid var(--wine);border-radius:2px;background:var(--wine);color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;text-align:center;box-shadow:inset 0 0 0 3px rgba(255,249,245,.12)}
.button:hover{background:var(--oxblood)}
.text-link{min-height:44px;display:inline-flex;align-items:center;color:var(--wine)}
.hero-portrait,.about-portrait{position:relative;margin:0;background:linear-gradient(145deg,rgba(255,249,245,.88),rgba(248,221,232,.42));border-radius:48% 48% 1.5rem 1.5rem;box-shadow:0 18px 48px rgba(84,35,50,.18),0 0 44px rgba(187,72,117,.12);overflow:hidden}
.hero-portrait{width:min(100%,340px);justify-self:center}
.note:before,.note:after{content:"✦";position:absolute;z-index:2;width:28px;height:28px;display:grid;place-items:center;color:var(--gold);background:var(--porcelain);border:1px solid var(--gold);font-size:.7rem;transform:rotate(45deg)}
.note:before{left:-7px;top:-7px}.note:after{right:-7px;bottom:-7px}
.hero-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 28%;border-radius:inherit}
.trim{position:relative;z-index:10;width:100%;overflow:hidden;pointer-events:none;background:transparent}
.trim img{width:100%;height:100%;object-fit:fill}
.gold-trim{height:64px;margin-bottom:-8px;background:var(--pink)}
.pink-trim{height:72px;margin-top:-8px;margin-bottom:-8px;background:var(--oxblood)}
.book{max-width:none;padding:5rem max(3rem,calc((100vw - var(--max))/2 + 3rem));display:grid;grid-template-columns:minmax(0,760px);grid-template-rows:auto auto;justify-content:center;align-items:center;gap:1.5rem;background:radial-gradient(circle at 72% 48%,#681726 0,#3C0B14 38%,#24050b 100%);color:var(--ivory)}
.book-heading{grid-column:1;grid-row:1}.book .eyebrow{color:var(--pink);margin-bottom:.5rem}
.book h2{margin:0;color:#fff;font:400 clamp(4rem,7vw,6rem)/1.04 var(--script)}
.book-meta{margin:.8rem 0 0;color:var(--champagne)}
.book-copy{grid-column:1;grid-row:2}.book-copy p{max-width:58ch;margin:0 0 1.1rem}
.status{color:var(--pink);text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:700}
.button.gold{margin-top:.25rem;border-color:var(--champagne);background:var(--champagne);color:var(--oxblood)}
.button.gold:hover{background:var(--pink);border-color:var(--pink)}
.about{position:relative;isolation:isolate;max-width:var(--max);margin:auto;padding:5rem 3rem;display:grid;grid-template-columns:minmax(240px,300px) minmax(0,640px);justify-content:center;align-items:start;gap:3rem;background:var(--blue) url("/assets/toile-powder-blue.jpg") center/cover no-repeat;overflow:hidden}
.about:before,.about:after{content:"";position:absolute;z-index:-1;top:0;bottom:0;width:16%;background:url("/assets/floral-pink-blue-scrolls.jpg") center/cover no-repeat;opacity:.5;pointer-events:none}
.about:before{left:0;mask-image:linear-gradient(to right,#000,transparent)}.about:after{right:0;transform:scaleX(-1);mask-image:linear-gradient(to right,#000,transparent)}
.about-portrait{position:sticky;top:2rem;width:min(100%,300px)}
.about-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;border-radius:inherit}
.biography{padding:2.5rem;background:rgba(255,249,245,.97);border:1px solid rgba(180,139,70,.65);box-shadow:0 12px 30px rgba(57,46,56,.1)}
.biography h2,.contact h2{margin:0 0 1.3rem;color:var(--wine);font:400 clamp(3rem,5vw,4rem)/1.1 var(--script)}
.biography>p{margin:0 0 1.3rem}.biography>p:last-child{margin-bottom:0}
.personal-note{padding:5rem 2rem;background:var(--pink) url("/assets/toile-pale-pink.jpg") center/cover no-repeat;text-align:center}
.note-wrap{position:relative;max-width:700px;margin:auto}
.note-ornament{position:absolute;z-index:3;left:-22px;top:-28px;width:110px;height:auto;pointer-events:none}
.note{position:relative;margin:0;padding:2.25rem 3rem;background:rgba(255,249,245,.98);border:1px solid var(--gold);box-shadow:0 10px 30px rgba(57,46,56,.12)}
.note p{margin:0}.note .note-label{color:var(--wine);text-transform:uppercase;letter-spacing:.15em;font-size:.67rem;font-weight:700}.note .note-label+p{margin-top:1rem}
.signature{margin-top:1rem!important;color:var(--wine);font:400 2.6rem/1 var(--script);text-align:right}
.instagram-action{min-height:48px;display:inline-flex;align-items:center;margin-top:1.5rem;color:var(--wine);font-size:.9rem}
.contact{max-width:760px;margin:auto;padding:2.5rem 2rem;text-align:center;background:var(--porcelain)}
.contact h2{margin-bottom:.45rem}.contact p{margin:.25rem 0 .6rem;font-size:.82rem}.contact a{display:inline-block;overflow-wrap:anywhere;font-size:.9rem}
.contact .social-link{margin:.85rem 0 0}.contact .social-link a{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.legal{max-width:760px;min-height:70vh;margin:auto;padding:clamp(5rem,10vw,8rem) 2rem}.legal h1{margin:.3rem 0 1.5rem;color:var(--wine);font:400 clamp(3.2rem,7vw,6rem)/1 var(--script)}.legal p{max-width:62ch}.legal .button{margin-top:1rem}
footer{max-width:var(--max);margin:auto;padding:1.5rem 3rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;border-top:1px solid rgba(84,35,50,.18);font-size:.7rem;background:var(--porcelain)}
footer p{text-align:center}.imprint{color:var(--wine);text-transform:uppercase;letter-spacing:.12em}.imprint span,.imprint small{display:block}.imprint small{margin-top:.2rem;color:var(--gold);font-size:.6rem}footer nav{flex-wrap:wrap;justify-content:flex-end}footer nav a{font-size:.62rem}
@media(max-width:820px){
  .site-header{min-height:72px;padding:0 1.25rem}.brand b{display:none}.brand span{width:42px;height:42px;margin:0}.menu-button{display:block}
  .site-header nav{display:none;position:absolute;left:1rem;right:1rem;top:calc(100% + .25rem);padding:.75rem;background:var(--porcelain);border:1px solid var(--rose);box-shadow:0 1rem 2rem rgba(84,35,50,.12);align-items:stretch;flex-direction:column;gap:.1rem}.site-header nav.open{display:flex}.site-header nav a{padding:.35rem .7rem}
  .hero{grid-template-columns:1fr;padding:3rem 1.25rem;gap:1.75rem}.hero:before,.hero:after{width:26%;opacity:.45}.hero-copy{padding:0;background:linear-gradient(90deg,rgba(248,221,232,.96),rgba(248,221,232,.86))}.hero .eyebrow{max-width:75%}
  .hero h1 span{font-size:clamp(4.7rem,21vw,6rem)}.hero h1 em{font-size:clamp(3.2rem,14vw,4.2rem)}.hero-actions{align-items:flex-start;flex-direction:column;gap:.5rem}.hero-portrait{width:min(220px,70vw);margin-top:.5rem}
  .gold-trim{height:44px}.pink-trim{height:56px}
  .book{grid-template-columns:1fr;grid-template-rows:auto auto;padding:3.5rem 1.25rem;gap:1.5rem}.book-heading{grid-column:1;grid-row:1}.book-copy{grid-column:1;grid-row:2}.book h2{font-size:clamp(3.6rem,17vw,5rem)}
  .about{grid-template-columns:1fr;padding:3rem 1.25rem;gap:2rem}.about-portrait{position:relative;top:auto;width:min(260px,78vw);justify-self:center}.biography{padding:1.5rem}
  .personal-note{padding:3.5rem 1.25rem}.note{padding:2rem 1.4rem}.note-ornament{left:-8px;top:-32px;width:86px}
  .contact{padding:2.5rem 1.25rem}footer{grid-template-columns:1fr;padding:1.5rem 1.25rem;gap:1rem}footer p{text-align:left}footer nav{justify-content:flex-start;gap:1rem}
}
@media(max-width:360px){.hero h1 span{font-size:4.5rem}.hero h1 em{font-size:3rem}.biography{padding:1.25rem}.note{padding:2rem 1.15rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
