:root{
  --cream:#f6f0e4;
  --paper:#fffdf7;
  --green:#173c33;
  --green-soft:#315b4f;
  --copper:#a3532d;
  --copper-dark:#7f3f24;
  --rose:#c85a68;
  --line:#d9c7ae;
  --shadow:0 14px 36px rgba(72,52,34,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--green);font-family:Georgia,"Times New Roman",serif;line-height:1.65}
a{color:inherit}
img{max-width:100%;height:auto}
.site-header{background:rgba(255,253,247,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(8px)}
.header-inner{max-width:1120px;margin:auto;padding:10px 24px;display:flex;align-items:center;gap:28px;justify-content:space-between}
.brand-link{display:flex;align-items:center;text-decoration:none;min-width:220px}
.brand-link img{display:block;width:215px;max-height:74px;object-fit:contain;object-position:left center;mix-blend-mode:multiply}
.main-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 22px;font-size:.96rem;letter-spacing:.08em;text-transform:uppercase}
.main-nav a{text-decoration:none;padding:8px 0;border-bottom:1px solid transparent}
.main-nav a:hover,.main-nav a[aria-current="page"]{color:var(--copper);border-bottom-color:var(--copper)}
.page-main{min-height:calc(100vh - 180px)}
.hero-band{padding:64px 24px 38px;text-align:center;background:linear-gradient(180deg,#fffdf8 0%,var(--cream) 100%)}
.hero-band h1{font-size:clamp(2.5rem,7vw,4.6rem);font-weight:400;line-height:1.05;margin:0 0 12px;letter-spacing:.01em}
.hero-band p{max-width:900px;margin:0 auto;color:var(--green-soft);font-size:1.12rem}
.section{max-width:1120px;margin:auto;padding:52px 24px 72px}
.kicker{color:var(--copper);letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;font-weight:bold}
.button{display:inline-block;text-decoration:none;border:1.5px solid var(--copper);color:var(--copper-dark);padding:11px 22px;border-radius:3px;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:bold;background:#fffaf1;transition:.18s ease}
.button:hover{background:var(--copper);color:white;transform:translateY(-1px)}
.site-footer{border-top:1px solid var(--line);background:#f0e8d9;text-align:center;padding:26px 20px;color:#566d64;font-size:.9rem}
.site-footer a{text-decoration:none;color:var(--copper-dark)}
.footer-mark{width:72px;display:block;margin:0 auto 10px;border-radius:50%;clip-path:circle(49% at 50% 50%)}

/* Books */
.book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px;align-items:start}
.book-card{display:grid;grid-template-columns:minmax(210px,310px) 1fr;gap:30px;align-items:center;background:rgba(255,253,247,.75);border:1px solid #e5d7c1;border-radius:8px;padding:26px;box-shadow:var(--shadow)}
.book-cover{width:100%;display:block;border-radius:3px;box-shadow:0 10px 24px rgba(49,39,28,.18)}
.book-card h2{font-weight:400;font-size:2rem;line-height:1.15;margin:.25rem 0 .8rem}
.book-card p{margin:0 0 1.25rem;color:#3f5b52}
.book-card .byline{font-style:italic;color:#7a654d;font-size:.95rem;margin-bottom:.65rem}

/* Sara Asked uses a stacked layout so the description sits comfortably below the cover. */
.book-card.sara-card{display:block;text-align:center}
.sara-card .book-cover{width:min(100%,360px);margin:0 auto 24px}
.sara-card .book-info{max-width:440px;margin:0 auto}
.sara-card .book-info p{text-align:left}

/* About */
.about-layout{max-width:860px;margin:auto;text-align:center}
.about-logo{width:min(440px,85%);margin:0 auto 28px;display:block;mix-blend-mode:multiply}
.about-copy{font-size:1.12rem;text-align:left;background:rgba(255,253,247,.7);padding:38px 42px;border:1px solid #e5d7c1;border-radius:8px;box-shadow:var(--shadow)}
.about-copy p:first-child{margin-top:0}
.signature-line{text-align:center;color:var(--copper);font-style:italic;font-size:1.2rem;margin:26px 0 0}

/* News */
.news-card{max-width:760px;margin:auto;text-align:center;background:rgba(255,253,247,.76);padding:56px 34px;border:1px solid #e5d7c1;border-radius:8px;box-shadow:var(--shadow)}
.news-card h2{font-size:clamp(2rem,6vw,3.4rem);font-weight:400;margin:0 0 15px}
.news-card p{font-size:1.15rem;margin:.4rem auto;color:#3f5b52}
.news-mark{width:150px;margin:30px auto 0;display:block;border-radius:50%;clip-path:circle(49% at 50% 50%)}

/* Contact */
.contact-card{max-width:720px;margin:auto;text-align:center;background:rgba(255,253,247,.8);border:1px solid #e5d7c1;border-radius:8px;padding:52px 34px;box-shadow:var(--shadow)}
.contact-card h2{font-size:clamp(2rem,6vw,3.3rem);font-weight:400;margin:0 0 10px}
.contact-card p{max-width:650px;margin:.5rem auto 1.5rem;color:#3f5b52;font-size:1.08rem}
.email-link{display:inline-block;font-size:clamp(1.25rem,4vw,1.7rem);color:var(--copper-dark);text-decoration:none;border-bottom:1px solid var(--copper);padding-bottom:2px}
.email-link:hover{color:var(--rose)}
.contact-mark{width:130px;margin:28px auto 0;display:block;border-radius:50%;clip-path:circle(49% at 50% 50%)}

/* Home — leave the accepted artwork itself untouched. */
.home-body{background:var(--cream)}
.site-shell{width:100%;margin:0 auto;overflow:hidden;background:var(--cream)}
.hero-wrap{position:relative;width:100%;line-height:0}
.hero-image{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
.hotspot{position:absolute;display:block;text-indent:-9999px;overflow:hidden;border-radius:10px;outline-offset:4px}
.hotspot:focus-visible{outline:3px solid rgba(163,83,45,.85)}
/* Hotspots aligned to the accepted homepage artwork. */
.books-button{left:45.0%;top:56.0%;width:30.8%;height:5.3%}
.nav-home{left:25.7%;top:94.1%;width:5.2%;height:3.7%}
.nav-books{left:36.5%;top:94.1%;width:5.2%;height:3.7%}
.nav-about{left:47.2%;top:94.1%;width:5.5%;height:3.7%}
.nav-news{left:58.9%;top:94.1%;width:5.0%;height:3.7%}
.nav-contact{left:69.6%;top:94.1%;width:6.4%;height:3.7%}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media (max-width:950px){
  .book-grid{grid-template-columns:1fr;max-width:760px;margin:auto}
}
@media (max-width:720px){
  .header-inner{flex-direction:column;gap:4px;padding-top:8px}
  .brand-link{min-width:0;justify-content:center}
  .brand-link img{width:185px;object-position:center}
  .main-nav{justify-content:center;gap:3px 15px;font-size:.82rem}
  .hero-band{padding-top:46px}
  .book-card{grid-template-columns:1fr;text-align:center}
  .book-cover{max-width:330px;margin:auto}
  .about-copy{padding:28px 24px}
}
@media (max-width:460px){
  .section{padding-left:16px;padding-right:16px}
  .book-card,.contact-card,.news-card{padding-left:20px;padding-right:20px}
}
