@import url('https://fonts.googleapis.com/css2?family=Anton&family=Lora:ital,wght@0,400;0,500;0,600;1,400&display=swap');

:root{
  --pink:#FF3294;
  --pink-deep:#C4137A;
  --ink:#181818;
  --paper:#FFFDFB;
  --blush:#FFEAF3;
  --line:rgba(24,24,24,0.08);
  --max:920px;
}

*,*::before,*::after{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Lora',serif;
  line-height:1.7;
  font-size:16.5px;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{
  font-family:'Anton',sans-serif;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:0.01em;
  line-height:1.08;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:var(--max); margin:0 auto; padding:0 24px;}

.kicker{
  font-family:'Lora',serif;
  font-style:italic;
  font-size:14px;
  color:var(--pink-deep);
  display:block;
}

/* ---------- stitch — signature divider, a run of diagonal bootlace-style ticks ---------- */
.stitch{
  height:16px;
  width:100%;
  background-image:repeating-linear-gradient(115deg, var(--pink) 0 12px, transparent 12px 24px);
  opacity:0.9;
}

/* ---------- header ---------- */
header{
  display:flex; align-items:center; justify-content:space-between;
  max-width:var(--max); margin:0 auto; padding:26px 24px;
}
.logo{
  display:flex; align-items:center; gap:10px;
}
.logo-mark{width:32px; height:32px; flex:none;}
.logo-mark img{width:100%; height:100%; object-fit:contain;}
.logo-text{
  font-family:'Anton',sans-serif;
  font-size:16.5px;
  line-height:1.14;
  letter-spacing:0.01em;
}
.logo-text{color:var(--pink);}
.logo-text span{display:block;}

nav ul{display:flex; align-items:center; gap:28px; list-style:none; font-size:14.5px; font-weight:500;}
nav li{position:relative;}
nav a:hover{color:var(--pink-deep);}
.caret{font-size:10px; margin-left:3px; opacity:0.6;}

.dropdown{
  position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%) translateY(4px);
  background:var(--paper); border:1px solid var(--line); border-radius:10px;
  box-shadow:0 16px 34px rgba(24,24,24,0.10);
  min-width:190px; padding:8px;
  opacity:0; visibility:hidden;
  transition:opacity .16s ease, transform .16s ease, visibility .16s;
}
li.has-dropdown:hover .dropdown,
li.has-dropdown:focus-within .dropdown,
li.has-dropdown.is-open .dropdown{
  opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);
}
.dropdown a{
  display:block; font-family:'Lora',serif; font-size:14.5px;
  padding:10px 12px; border-radius:6px;
}
.dropdown a:hover{background:var(--blush); color:var(--pink-deep);}
.dropdown-sub{
  display:block; font-family:'Lora',serif; font-style:italic;
  font-size:12px; color:var(--pink-deep); margin-top:2px;
}

.nav-toggle{display:none; background:none; border:none; cursor:pointer; padding:6px;}
.nav-toggle span{display:block; width:22px; height:1.5px; background:var(--ink); margin:5px 0;}

@media (max-width:680px){
  .nav-toggle{display:block;}
  nav ul{
    position:fixed; inset:70px 0 0 0; background:var(--paper);
    flex-direction:column; align-items:flex-start; gap:0;
    padding:10px 24px 24px; border-top:1px solid var(--line);
    transform:translateY(-6px); opacity:0; visibility:hidden;
    transition:opacity .18s ease, transform .18s ease, visibility .18s;
  }
  nav ul.is-open{opacity:1; visibility:visible; transform:translateY(0);}
  nav li{width:100%; border-bottom:1px solid var(--line);}
  nav a{display:block; padding:14px 0;}
  .dropdown{position:static; transform:none; box-shadow:none; border:none; padding:0 0 10px 10px; display:none; min-width:0;}
  li.has-dropdown.is-open .dropdown{display:block; opacity:1; visibility:visible;}
}

/* ---------- hero ---------- */
.hero{text-align:center; padding:56px 24px 52px;}
.hero .kicker{margin-bottom:14px;}
.hero h1{font-size:clamp(32px,6vw,58px);}
.hero h1 em{font-style:normal; color:var(--pink);}
.hero p{max-width:480px; margin:18px auto 0; color:#444; font-size:16.5px;}

/* ---------- section shell ---------- */
.section{padding:58px 0;}
.section-label{
  font-size:14px; text-align:center; margin-bottom:10px;
}
.section h2.section-title{
  text-align:center; font-size:clamp(24px,4vw,34px); margin-bottom:14px;
}
.section > .wrap > p.section-copy{
  max-width:560px; margin:0 auto 34px; text-align:center; color:#444; font-size:15.5px;
}

/* ---------- mission ---------- */
.mission{text-align:center; padding:60px 24px;}
.mission .kicker{margin-bottom:14px;}
.mission h2{font-size:clamp(26px,4.4vw,40px); max-width:640px; margin:0 auto;}
.mission p{max-width:560px; margin:20px auto 0; color:#444;}
.mission p + p{margin-top:14px;}

/* ---------- authors ---------- */
.authors{display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:6px;}
@media (max-width:640px){.authors{grid-template-columns:1fr;}}

.author-card{
  background:var(--blush); border-radius:14px; padding:34px 28px;
  text-align:center;
}
.avatar{
  width:60px; height:60px; border-radius:50%;
  background:var(--ink); color:var(--paper);
  display:flex; align-items:center; justify-content:center;
  font-family:'Anton',sans-serif; font-size:18px;
  margin:0 auto 16px;
}
.author-card h3{font-size:19px; margin-bottom:2px;}
.author-card .role{
  display:block; font-family:'Lora',serif; font-style:italic;
  font-size:13.5px; color:var(--pink-deep); margin-bottom:12px;
}
.author-card p{font-size:14.5px; color:#444; margin-bottom:18px;}
.author-card a.btn{
  display:inline-block; font-weight:500; font-size:14px;
  border-bottom:1.5px solid var(--ink); padding-bottom:2px;
}
.author-card a.btn:hover{color:var(--pink-deep); border-color:var(--pink-deep);}

/* ---------- author bio hero (author pages) ---------- */
.author-hero{text-align:center; padding:54px 24px 12px;}
.author-hero .avatar{width:84px; height:84px; font-size:24px; margin-bottom:18px;}
.author-hero .kicker{margin-bottom:12px;}
.author-hero h1{font-size:clamp(32px,6vw,52px);}
.author-hero .bio{max-width:560px; margin:18px auto 0; color:#444;}

/* ---------- current nav item ---------- */
nav a.current{color:var(--pink-deep);}

/* ---------- status pills ---------- */
.status-pill{
  font-family:'Anton',sans-serif; font-size:11px; letter-spacing:0.02em;
  padding:6px 13px; border-radius:3px; display:inline-block;
}
.status-pill--live{background:var(--pink); color:var(--paper);}
.status-pill--soon{background:var(--paper); color:var(--pink-deep); border:1px solid var(--pink-deep);}

/* ---------- buy button ---------- */
.btn-buy{
  font-family:'Anton',sans-serif; font-size:12px; letter-spacing:0.03em;
  background:var(--pink); color:var(--paper);
  padding:10px 20px; border-radius:3px; display:inline-block;
}
.btn-buy:hover{background:var(--pink-deep);}

/* ---------- book cards (author pages) ---------- */
.book-card{
  background:var(--blush); border-radius:14px; padding:30px;
  display:grid; grid-template-columns:170px 1fr; gap:30px; align-items:center;
  margin-bottom:22px;
}
@media (max-width:640px){
  .book-card{grid-template-columns:1fr; text-align:center; justify-items:center; padding:26px;}
}
.book-cover{
  width:100%; aspect-ratio:2/3; border-radius:10px; overflow:hidden; background:var(--paper);
}
.book-cover img{width:100%; height:100%; object-fit:cover;}

.book-cover-blank{
  width:100%; aspect-ratio:2/3; border-radius:10px;
  border:1.5px dashed var(--pink-deep); background:var(--paper);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:6px; padding:12px; text-align:center;
}
.book-cover-blank svg{width:26px; height:26px; opacity:0.5;}
.book-cover-blank .soon{font-family:'Lora',serif; font-style:italic; font-size:12.5px; color:var(--pink-deep);}
.book-cover-blank .soon-sub{font-size:11.5px; color:#888;}

.book-detail-eyebrow{
  font-family:'Lora',serif; font-style:italic; font-size:13px; color:var(--pink-deep);
  display:block; margin-bottom:6px;
}
.book-detail h3{font-size:22px; margin-bottom:10px;}
.book-detail p.blurb{font-size:14.5px; color:#444; margin-bottom:18px;}
.status-row{display:flex; align-items:center; gap:14px; flex-wrap:wrap;}
@media (max-width:640px){.status-row{justify-content:center;}}

/* ---------- contact ---------- */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:6px;}
@media (max-width:640px){.contact-grid{grid-template-columns:1fr;}}
.contact-card{
  background:var(--blush); border-radius:14px; padding:34px 28px; text-align:center;
}
.contact-card .icon-circle{
  width:56px; height:56px; border-radius:50%; background:var(--ink); color:var(--paper);
  display:flex; align-items:center; justify-content:center; margin:0 auto 16px;
}
.contact-card .icon-circle svg{width:24px; height:24px;}
.contact-card h3{font-size:18px; margin-bottom:8px;}
.contact-card a.value{
  display:inline-block; font-size:15px; color:var(--pink-deep);
  border-bottom:1.5px solid transparent; margin-bottom:12px;
}
.contact-card a.value:hover{border-color:var(--pink-deep);}
.contact-card p{font-size:14px; color:#555;}

/* ---------- footer ---------- */
footer{
  text-align:center; padding:30px 24px 34px; border-top:1px solid var(--line);
  margin-top:20px;
}
.footer-links{
  display:flex; justify-content:center; gap:20px; list-style:none;
  font-size:13.5px; margin-bottom:14px;
}
.footer-links a:hover{color:var(--pink-deep);}
footer .copyright{font-size:13px; color:#999;}
