@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root{
  --ink:#1B233E;
  --muted:#626575;
  --paper:#FFFFFF;
  --soft:#F5F2EE;
  --navy:#1B233E;
  --ochre:#CB7C27;
  --red:#A2353B;
  --warmgray:#D8D2C9;
  --lavender:#C6BBCF;
  --line:#DED8D2;
}

*{box-sizing:border-box}

body{
  margin:0;
  font-family:"Plus Jakarta Sans",Arial,sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.65;
}

header{
  background:var(--navy);
  color:white;
  padding:20px 0;
  border-bottom:4px solid var(--ochre);
}

.wrap{
  max-width:1050px;
  margin:0 auto;
  padding:0 22px;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:2.15rem;
  font-weight:700;
  letter-spacing:.015em;
  line-height:1;
}

nav{margin-top:8px}

nav a{
  color:white;
  text-decoration:none;
  margin-right:18px;
  font-size:.95rem;
  font-weight:600;
}

nav a:hover{color:var(--warmgray)}

.hero{
  background:linear-gradient(135deg,var(--soft) 0%, #ffffff 68%, var(--lavender) 100%);
  padding:72px 0 62px;
  border-bottom:1px solid var(--line);
}

h1,h2,h3{
  font-family:"Plus Jakarta Sans",Arial,sans-serif;
  line-height:1.2;
  color:var(--navy);
}

h1{
  font-size:clamp(2.3rem,6vw,4.7rem);
  margin:0 0 18px;
  font-weight:800;
  letter-spacing:-0.03em;
}

h2{
  font-size:2rem;
  margin-top:0;
  font-weight:800;
}

h3{
  font-weight:700;
}

.lead{
  font-size:1.2rem;
  max-width:760px;
  color:#3c4255;
}

.button{
  display:inline-block;
  background:var(--navy);
  color:#fff;
  text-decoration:none;
  padding:13px 18px;
  border-radius:8px;
  margin:8px 10px 8px 0;
  font-weight:700;
  transition:transform .15s ease, opacity .15s ease;
}

.button:hover{
  transform:translateY(-1px);
  opacity:.94;
}

.button.alt{
  background:var(--ochre);
  color:white;
}

section{padding:56px 0}

.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:22px;
}

.card{
  border:1px solid var(--line);
  border-radius:12px;
  padding:24px;
  background:white;
  box-shadow:0 8px 24px rgba(27,35,62,.05);
}

.card h3{margin-top:0}

.note{
  font-size:.95rem;
  color:var(--muted);
}

footer{
  border-top:1px solid var(--line);
  padding:28px 0;
  color:var(--muted);
  font-size:.9rem;
  background:var(--soft);
}

.resource{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:20px 0;
  border-bottom:1px solid var(--line);
}

.resource:last-child{border-bottom:0}

.resource p{
  margin:.3rem 0 0;
  color:var(--muted);
}

.resource:nth-child(3n+1) h3{color:var(--navy)}
.resource:nth-child(3n+2) h3{color:var(--red)}
.resource:nth-child(3n+3) h3{color:var(--ochre)}

.resource .button{
  background:var(--navy);
  white-space:nowrap;
}

@media(max-width:650px){
  .hero{padding:48px 0 42px}
  .resource{display:block}
  .resource .button{margin-top:14px}
}

.brand img{
  width:54px;
  height:54px;
  object-fit:contain;
  flex:0 0 auto;
}

.ember-oak-heading{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:2.65rem;
  font-weight:700;
  letter-spacing:.01em;
  color:var(--navy);
}

@media(max-width:650px){
  .brand{
    font-size:1.8rem;
  }
  .brand img{
    width:46px;
    height:46px;
  }
  .ember-oak-heading{
    font-size:2.15rem;
  }
}


.compact-hero{padding:52px 0 44px}

.book-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:28px;
  align-items:stretch;
}

.book-card{
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:16px;
  box-shadow:0 8px 24px rgba(27,35,62,.06);
}

.book-cover{
  display:block;
  width:100%;
  aspect-ratio:2/3;
  object-fit:cover;
  border-radius:7px;
  box-shadow:0 5px 18px rgba(0,0,0,.16);
}

.book-card h3{
  margin:18px 0 8px;
  font-size:1.2rem;
}

.book-card p{
  margin:0 0 18px;
  color:var(--muted);
  font-size:.95rem;
}

.book-button{
  margin-top:auto;
  text-align:center;
}

.coming-card{
  background:linear-gradient(180deg,#fff 0%,var(--soft) 100%);
}

.coming-soon{
  display:inline-block;
  margin-top:auto;
  padding:12px 16px;
  border-radius:8px;
  background:var(--ochre);
  color:white;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.08em;
  text-align:center;
}
