:root{
  --ink:#1e1c1a;
  --ink-soft:#4a4540;
  --cream:#f4efe4;
  --paper:#faf7f0;
  --maroon:#7a2b25;
  --maroon-dark:#5c1f1a;
  --crimson:#a3122c;
  --gold:#c9a24b;
  --border:#ded4be;
    --pop:#e0472f;
    --pop-bright:#ff7a4d;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{
  font-family:'Source Sans 3', Georgia, serif;
  background:var(--paper);
  color:var(--ink-soft);
  line-height:1.65;
}
h1,h2,h3,.serif{font-family:'Playfair Display', Georgia, serif;}
a{color:var(--maroon); text-decoration:none;}
a:hover{text-decoration:underline;}
.wrap{max-width:1200px; margin:0 auto; padding:0 40px;}

header.site-nav{
  position:sticky; top:0; z-index:50;
  background:rgba(244,239,228,0.95);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--border);
}
.nav-row{display:flex; align-items:center; justify-content:space-between; padding:18px 0;}
.nav-row nav > ul{list-style:none; display:flex; gap:30px; flex-wrap:wrap;}
.nav-row nav a{
  color:var(--ink); font-size:13px; letter-spacing:1px; text-transform:uppercase; font-weight:600;
}
.nav-row nav a.active{color:var(--maroon); border-bottom:2px solid var(--maroon); padding-bottom:4px;}
.nav-row .home-link{font-family:'Playfair Display', serif; font-size:20px; font-weight:700; color:var(--ink); letter-spacing:0.5px;}
.nav-dropdown{position:relative;}
.nav-dropdown > a{display:inline-flex; align-items:center; gap:4px; cursor:pointer;}
.nav-dropdown > a::after{content:"▾"; font-size:10px;}
.dropdown-menu{display:none; position:absolute; top:100%; left:0; margin-top:14px; background:var(--paper); border:1px solid var(--border); min-width:170px; box-shadow:0 16px 30px -16px rgba(30,20,10,0.35); padding:6px 0; list-style:none; z-index:60;}
.dropdown-menu li{width:100%;}
.dropdown-menu a{display:block; padding:9px 18px; font-size:12.5px; letter-spacing:0.3px; text-transform:none; font-weight:500; color:var(--ink);}
.dropdown-menu a:hover{background:var(--cream); text-decoration:none;}
.nav-dropdown.open .dropdown-menu{display:block;}

.hero{
  z-index:0;
  position:relative;
  background:
    radial-gradient(circle at 15% 20%, rgba(122,43,37,0.10), transparent 45%),
    radial-gradient(circle at 85% 75%, rgba(201,162,75,0.14), transparent 50%),
    repeating-linear-gradient(115deg, rgba(30,28,26,0.035) 0px, rgba(30,28,26,0.035) 1px, transparent 1px, transparent 6px),
    var(--cream);
  background-size:cover;
  background-position:center;
  padding:96px 0 80px;
  border-bottom:1px solid var(--border);
  overflow:hidden;
}
.hero-bg-layer{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  opacity:0;
  transform:scale(1);
  transition:opacity 1s ease-in-out;
  z-index:-1;
}
.hero-bg-layer.active{opacity:1;}
.hero-bg-layer.zooming{animation:heroZoom 4s ease-out forwards;}
@keyframes heroZoom{
  from{transform:scale(1);}
  to{transform:scale(1.13);}
}
.hero.has-photo::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(18,15,12,0.6), rgba(18,15,12,0.72)),
    radial-gradient(circle at 85% 75%, rgba(201,162,75,0.10), transparent 55%);
  z-index:0;
}
.hero > .wrap{position:relative; z-index:1;}
.hero-name{
  text-align:center; font-size:84px; letter-spacing:8px; font-weight:800;
  color:var(--pop); text-shadow:2px 3px 0 rgba(0,0,0,0.08), 0 0 26px rgba(224,71,47,0.25);
  margin-bottom:8px; text-transform:uppercase;
  transition:color .2s;
}
.hero-subtitle{
  text-align:center; font-size:16px; letter-spacing:2px; text-transform:uppercase;
  color:var(--ink-soft); margin-bottom:56px;
  transition:color .2s;
}
.hero.has-photo .hero-name{color:var(--pop-bright); text-shadow:0 2px 18px rgba(0,0,0,0.75), 0 0 3px rgba(0,0,0,0.9), 0 0 30px rgba(255,122,77,0.4);}
.hero.has-photo .hero-subtitle{color:#e9e2d2; text-shadow:0 1px 10px rgba(0,0,0,0.4);}
.hero-feature{
display:block; max-width:820px;
  margin:0 auto;
}
.book-cover{
  aspect-ratio:2/3; border-radius:2px; position:relative;
  background:linear-gradient(160deg, #fdfbf6, #f1ece0);
  border:1px solid var(--border);
  box-shadow:0 26px 46px -24px rgba(30,20,10,0.45);
  display:flex; flex-direction:column; justify-content:space-between;
  padding:28px 24px; overflow:hidden;
}
.book-cover::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:14px; background:var(--gold);
}
.book-cover img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.book-cover .quote{font-size:11.5px; font-style:italic; color:var(--ink-soft); text-align:center;}
.book-cover .quote span{display:block; margin-top:4px; font-style:normal; letter-spacing:1px; text-transform:uppercase; font-size:10px;}
.book-cover .cover-title{font-family:'Playfair Display', serif; font-size:30px; text-align:center; color:var(--ink); line-height:1.15;}
.book-cover .cover-tag{text-align:center; font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--maroon); font-weight:700;}
.book-cover .cover-author{text-align:center; font-size:16px; font-family:'Playfair Display', serif; color:var(--ink);}
.book-cover .cover-sub{text-align:center; font-size:11px; color:var(--ink-soft); font-style:italic;}

.feature-card{
  background:rgba(30,28,26,0.94); color:#efe9da; padding:36px 34px; border:1px solid rgba(255,255,255,0.14);
}
.feature-card h2{font-size:26px; margin-bottom:4px; color:#fff;}
.feature-card .press{font-size:14px; letter-spacing:1px; text-transform:uppercase; color:var(--gold); margin-bottom:18px;}
.feature-card p{font-size:14.5px; color:#d8d2c2; margin-bottom:22px;}
.feature-card .btn-row{display:flex; gap:12px; flex-wrap:wrap;}
.btn{
  display:inline-block; padding:11px 20px; font-size:13px; letter-spacing:0.5px; text-transform:none;
  border:1px solid rgba(255,255,255,0.4); color:#fff; text-decoration:none; font-style:italic;
}
.btn:hover{background:rgba(255,255,255,0.08); text-decoration:none;}
.btn-solid{background:var(--maroon); border-color:var(--maroon);}
.btn-solid:hover{background:var(--maroon-dark);}

.section{padding:64px 0;}
.section-kicker{color:var(--maroon); font-size:12.5px; letter-spacing:2px; text-transform:uppercase; font-weight:700; margin-bottom:10px;}
.section h2{font-size:32px; margin-bottom:28px;}
.section p{margin-bottom:16px; font-size:16px;}
.section .lede{font-size:19px; color:var(--ink); margin-bottom:20px;}

.two-col{display:grid; grid-template-columns:1fr 1fr; gap:48px;}

.card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.card{background:var(--cream); border:1px solid var(--border); padding:26px; border-radius:2px;}
.card h3{font-size:18px; margin-bottom:8px;}
.card .meta{font-size:12.5px; letter-spacing:1px; text-transform:uppercase; color:var(--maroon); margin-bottom:12px;}
.card p{font-size:14px; margin-bottom:0;}
.card blockquote{font-size:13px; font-style:italic; color:var(--ink-soft); margin-top:14px; border-left:2px solid var(--gold); padding-left:10px;}

.person-photo{
  border:1px solid var(--border); box-shadow:0 22px 40px -26px rgba(30,20,10,0.5);
  width:100%; aspect-ratio:4/5; object-fit:cover; background:var(--cream);
}

.self-photo{display:flex; align-items:center; justify-content:center; height:100%;}
.self-photo img{width:200px; height:200px; border-radius:50%; object-fit:cover; border:1px solid var(--border); box-shadow:0 22px 40px -26px rgba(30,20,10,0.5);}
.intro-textbox{background:rgba(30,28,26,0.94); color:#efe9da; padding:44px 42px; border:1px solid rgba(255,255,255,0.14);}
.intro-textbox h2{font-size:26px; margin-bottom:16px; color:#fff;}
.intro-textbox p{font-size:17.5px; line-height:1.7; color:#d8d2c2; margin-bottom:0;}
.intro-textbox a{color:var(--gold); text-decoration:underline; text-underline-offset:3px; font-weight:600;}
.intro-textbox a:hover{color:#f0cf8e;}

footer.site-footer{
  border-top:1px solid var(--border); padding:36px 0; text-align:center;
  font-size:13px; color:var(--ink-soft);
}

@media (max-width:820px){
  .hero-feature{grid-template-columns:1fr;}
  .hero-name{font-size:38px; letter-spacing:6px;}
  .two-col, .card-grid{grid-template-columns:1fr;}
  .nav-row nav ul{gap:16px;}
}
