/* LISHIE WRITES: one style file, intentionally easy to maintain. */
:root {
  --ink: #060d19;       /* darkest background */
  --navy: #0b172b;      /* primary background */
  --night: #132640;     /* card/background */
  --silver: #ede9e9;    /* headings and logo */
  --mist: #c8cdda;      /* body text */
  --soft: #9ba9bc;      /* small labels */
  --champagne: #d9c7b8;/* subtle accent; change safely here */
  --border: rgba(224, 229, 239, .22);
  --page-width: 1160px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--mist); font-family: 'Inter', Arial, sans-serif; font-size: 16px; line-height: 1.7; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input { font: inherit; }
button, .button { cursor: pointer; }
:focus-visible { outline: 3px solid #d5d5f1; outline-offset: 3px; }
::selection { background: #64738b; color: #fff; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 99; background: #fff; color: #000; padding: .6rem 1rem; }
.skip-link:focus { top: 1rem; }
.container { width: min(calc(100% - 3.5rem), var(--page-width)); margin-inline: auto; }
.site-header { position: relative; z-index: 10; background: #050a13e6; border-bottom: 1px solid var(--border); }
.site-header .container { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.brand { text-decoration: none; white-space: nowrap; color: var(--silver); font-family: 'Allura', 'Brush Script MT', cursive; font-size: clamp(2.4rem,4.6vw,3.6rem); line-height: .8; letter-spacing: .005em; text-shadow: 0 1px 24px #a5b3d47d; }
.brand::after { content: '✧'; font-family: Georgia, serif; font-size: .5em; margin-left: .35em; vertical-align: middle; color: var(--silver); }
.nav { display: flex; gap: clamp(1rem,2.2vw,2rem); align-items: center; }
.nav a { text-decoration: none; font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; font-size: 1rem; padding: .25rem .1rem; border-bottom: 1px solid transparent; }
.nav a:hover, .nav a[aria-current="page"] { color: white; border-bottom-color: var(--silver); }
.menu-toggle { display: none; background: transparent; color: var(--silver); border: 1px solid var(--border); border-radius: 4px; font-size: 1rem; padding: .45rem .8rem; }
h1,h2,h3 { color: var(--silver); font-family: 'Cormorant Garamond', Georgia, serif; line-height: 1.08; font-weight: 500; margin: 0; }
h1 { font-size: clamp(3.3rem,7vw,6.15rem); }
h2 { font-size: clamp(2.55rem,5vw,4.3rem); }
h3 { font-size: clamp(1.6rem,3vw,2.15rem); }
p { margin: 0 0 1.15rem; }
.eyebrow { margin: 0 0 .55rem; color: var(--champagne); font: 600 .76rem/1.6 'Inter', Arial,sans-serif; text-transform: uppercase; letter-spacing: .28em; }
.lead { font-family: 'Cormorant Garamond', Georgia, serif; color: #f3edeb; font-size: clamp(1.4rem,2.4vw,1.95rem); font-style: italic; line-height: 1.4; }
.small { color: var(--soft); font-size: .9rem; }
.button-row { display:flex; flex-wrap:wrap; gap: .8rem; margin-top: 1.8rem; }
.button { display:inline-flex; text-decoration:none; justify-content:center; align-items:center; text-align:center; min-height:46px; padding:.72rem 1.35rem; border-radius:5px; border:1px solid #e9ded8; background:#f4ece6; color: #0a1422; font:600 .85rem 'Inter',Arial,sans-serif; transition: transform .15s, background .15s; }
.button:hover { transform: translateY(-2px); background: white; }
.button.secondary { background: #061222bd; color: var(--silver); border: 1px solid #c4c8d4; }
.button.secondary:hover { background: #1c3450; }
.button.disabled { opacity: .65; cursor: not-allowed; }
.rule { height: 1px; background: linear-gradient(90deg,transparent,var(--champagne),transparent); }
.moon-divider { text-align:center; color: #e9e9f4; line-height:1; background: #07101d; padding: .8rem; letter-spacing: .5em; }
.hero { min-height: min(750px,80vh); display:flex; align-items:center; background:linear-gradient(90deg,#040a14e8 0%,#050b16a8 40%,transparent 78%),url('../images/01-hero-moonlit-study.webp') center center / cover no-repeat; border-bottom: 1px solid var(--border); }
.hero .container { padding-block: 5.5rem 6.5rem; }
.hero-copy { max-width:630px; }
.hero h1 { text-wrap:balance; text-shadow: 1px 3px 18px #000; }
.hero .lead { max-width: 31rem; margin-top:1.15rem; }
.hero .starlit-line { color:var(--champagne); letter-spacing:.4em; font-size:1.3rem; margin-top:1rem; }
.featured { position:relative; isolation:isolate; overflow:hidden; border-bottom: 1px solid var(--border); }
.featured::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#061222ed,#071322e0 53%,#07132255),url('../images/02-featured-book-candlelit-library.webp') center/cover no-repeat; }
.featured-layout { display:grid; grid-template-columns: minmax(220px,.8fr) minmax(0,1.4fr); gap:clamp(2.5rem,7vw,7rem); align-items:center; padding-block:clamp(4rem,8vw,6.5rem); }
.cover-frame { margin:auto; width:min(100%,310px); aspect-ratio: 2 / 3; background: linear-gradient(150deg,#172943,#070e1b 66%); border: 1px solid #90a1bb; box-shadow: 15px 18px 38px #0009, inset 0 0 65px #31436551; display:flex; flex-direction:column; justify-content:center; text-align:center; gap:1rem; padding:1.6rem; position:relative; }
.cover-frame::before { content:''; position:absolute; inset:10px; border:1px solid #c4c5d24d; pointer-events:none; }
.cover-frame .mini-moon { font-size:2rem; color:var(--champagne); }
.cover-frame strong { font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(2.1rem,4vw,3.2rem); font-weight:500; line-height:.95; color:var(--silver); }
.cover-frame small { font:.63rem 'Inter',Arial,sans-serif; letter-spacing:.2em; text-transform:uppercase; color:var(--soft); }
.book-cover { width:min(100%,310px); margin-inline:auto; max-height:490px; object-fit:contain; filter: drop-shadow(12px 20px 19px #0009); }
.book-blurb { max-width: 530px; }
.section { padding-block:clamp(4rem,8vw,6rem); }
.author-section { background:linear-gradient(90deg,#061222db,#071525bc),url('../images/03-about-moonlit-landscape.webp') center/cover no-repeat; }
.author-layout { display:grid; grid-template-columns: 1.05fr 1fr; align-items:center; gap:clamp(2.5rem,6vw,6rem); }
.author-layout .callout { border-left:1px solid #b8b9c58a; padding-left:1.8rem; }
.author-layout .callout p { font-family:'Cormorant Garamond',Georgia,serif; color:var(--silver); font-size:1.4rem; }
.author-layout .callout p:last-child { margin-bottom:0; }
.coming-section { background:var(--ink); }
.section-heading { text-align:center; margin-bottom:2.5rem; }
.projects { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.project-card { background:#0b1628; border:1px solid var(--border); display:grid; grid-template-columns: 40% 1fr; gap: 1.2rem; align-items:center; padding:.75rem; min-height:230px; }
.project-card img { width:100%; height:100%; min-height:210px; object-fit:cover; border-radius:3px; }
.project-copy { padding:1rem .4rem 1rem 0; }
.project-copy h3 { font-style:italic; margin:.25rem 0 .8rem; }
.project-copy p { color:var(--mist); font-size:.92rem; }
.project-copy .small { font-size:.76rem; letter-spacing:.18em; text-transform:uppercase; }
.newsletter-strip { border-block:1px solid var(--border); background:linear-gradient(90deg,#04101ee5,#09162997),url('../images/06-newsletter-misty-lake.webp') center 65%/cover no-repeat; }
.newsletter-inner { display:flex; justify-content:space-between; gap:2rem; align-items:center; padding-block:2.4rem; }
.newsletter-inner h2 { font-size:clamp(2rem,3.5vw,3rem); }
.newsletter-copy { max-width:440px; }
.newsletter-form { display:flex; flex-wrap:wrap; gap:.7rem; flex:1; justify-content:flex-end; }
.newsletter-form input { min-width:190px; flex:1; max-width:310px; border:1px solid #cdd3dc; border-radius:5px; padding:.8rem 1rem; background:#f7f3f0; color:#141a24; }
.newsletter-form .button { min-width:145px; }
.newsletter-help { width:100%; margin:.2rem 0 0; color:#d5d3db; font-size:.78rem; text-align:right; }
.site-footer { background:#050a13; border-top:1px solid var(--border); }
.footer-inner { padding:2.5rem 0; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.footer-brand { font-family:'Allura','Brush Script MT',cursive; font-size:2.5rem; text-decoration:none; line-height:1; color:var(--silver); }
.footer-links { display:flex; flex-wrap:wrap; gap:1.1rem; }
.footer-links a { font-size:.81rem; text-decoration:none; }
.footer-links a:hover { text-decoration:underline; }
.footer-bottom { border-top: 1px solid #ffffff16; font-size:.75rem; color:var(--soft); padding:1rem 0; }
.page-hero { border-bottom:1px solid var(--border); padding:clamp(5rem,9vw,8rem) 0; background: linear-gradient(90deg,#060c16e8,#081426af),url('../images/03-about-moonlit-landscape.webp') center/cover no-repeat; }
.page-hero h1 { max-width:780px; }
.page-hero .lead { max-width:750px; margin-top:1rem; }
.page-content { padding:clamp(3rem,6vw,6rem) 0; min-height: 30vh; }
.two-col { display:grid; grid-template-columns: 1fr 1fr; align-items:center; gap: clamp(2rem,6vw,5.5rem); }
.paper { padding:clamp(1.5rem,4vw,3rem); border:1px solid var(--border); background:linear-gradient(145deg,#101f35,#08111f); }
.paper h2 { margin-bottom:1rem; }
.aside-note { border-left:2px solid var(--champagne); padding-left:1.1rem; color:#d8d5db; }
.banner-image { border:1px solid var(--border); width:100%; aspect-ratio: 2.7 / 1; object-fit:cover; }
.book-detail { background:linear-gradient(110deg,#071325,#081627de),url('../images/02-featured-book-candlelit-library.webp') center/cover no-repeat; }
.meta { display:flex; gap:.7rem; flex-wrap:wrap; margin:1rem 0 1.6rem; }
.meta span { border:1px solid var(--border); padding:.2rem .75rem; border-radius:30px; font-size:.75rem; color:#d3d5db; }
.subtle-link { color:#f2e8e4; text-decoration-thickness:1px; text-underline-offset:4px; }
.notice { background:#14233a; border:1px solid var(--border); border-radius:5px; padding:1.1rem 1.3rem; font-size:.9rem; }
.page-list { padding-left:1.4rem; }
.page-list li { margin-bottom:.8rem; }
@media (max-width:800px) {
  .site-header .container { min-height:75px; }
  .menu-toggle { display:inline-block; }
  .nav { display:none; position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:stretch; gap:0; padding: .6rem 1.75rem 1rem; background:#070e1b; border-bottom:1px solid var(--border); box-shadow:0 12px 25px #0007; }
  .nav.is-open { display:flex; }
  .nav a { padding:.8rem; }
  .hero { min-height:610px; background-position: 58% center; }
  .hero .container { padding-block:4rem; }
  .featured-layout { gap:2rem; }
  .author-layout { grid-template-columns: 1fr; }
  .projects { grid-template-columns:1fr; }
  .newsletter-inner { flex-direction:column; align-items:stretch; }
  .newsletter-form { justify-content:flex-start; }
  .newsletter-help { text-align:left; }
  .two-col { grid-template-columns:1fr; }
}
@media (max-width:540px) {
  .container { width:min(calc(100% - 2rem),var(--page-width)); }
  .brand { font-size:2.7rem; }
  .hero { min-height:660px; background-image:linear-gradient(90deg,#040a14f2,#050b16bc 70%),url('../images/01-hero-moonlit-study.webp'); background-position:65% center; }
  .hero h1 { font-size:3.6rem; }
  .featured-layout { grid-template-columns: 1fr; }
  .cover-frame, .book-cover { width:min(65vw,255px); }
  .project-card { grid-template-columns: 38% 1fr; min-height:160px; gap:.8rem; }
  .project-card img { min-height:185px; }
  .project-copy { padding:.4rem 0; }
  .project-copy h3 { font-size:1.65rem; }
  .newsletter-form input { max-width:none; }
  .newsletter-form .button { width:100%; }
  .footer-inner { align-items:flex-start; flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto;} .button{transition:none;} }
