:root{
  --sky:#eaf6ff;
  --ink:#14304a;
  --sun:#ffd23f;
  --coral:#ff6b5e;
  --teal:#0e7c86;
  --card:#ffffff;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Verdana,Geneva,Tahoma,sans-serif;
  background:var(--sky);
  color:var(--ink);
  line-height:1.55;
}
header.hero{
  background:linear-gradient(180deg,#bfe6ff,#eaf6ff);
  text-align:center;
  padding:2.2rem 1rem 1.4rem;
  border-bottom:6px solid var(--sun);
}
header.hero h1{
  margin:0 0 .3rem;
  font-size:2.4rem;
  letter-spacing:.5px;
}
.tagline{font-size:1.05rem;margin:.2rem auto .9rem;max-width:640px}
.hero img.portrait{
  max-width:820px;width:100%;height:auto;
  border-radius:18px;
  box-shadow:0 8px 24px rgba(20,48,74,.18);
}
.btn{
  display:inline-block;background:var(--coral);color:#fff;
  padding:.65rem 1.2rem;border-radius:999px;text-decoration:none;
  font-weight:bold;margin-top:1rem;
}
.btn:hover{background:#e5503f}
main{max-width:900px;margin:0 auto;padding:1.2rem 1rem 2.5rem}
section{margin-top:2.2rem}
h2{font-size:1.5rem;border-bottom:3px solid var(--sun);padding-bottom:.3rem}
.search{
  width:100%;padding:.7rem 1rem;font-size:1rem;
  border:2px solid var(--teal);border-radius:12px;margin:.6rem 0 1.2rem;
}
.ep{
  background:var(--card);border-radius:16px;
  padding:1.1rem 1.2rem;margin-bottom:1.1rem;
  box-shadow:0 3px 10px rgba(20,48,74,.10);
}
.ep h3{margin:.1rem 0 .4rem;font-size:1.2rem}
.meta{font-size:.92rem;color:#3c5a73;margin:.15rem 0}
.meta strong{color:var(--ink)}
.honest{
  background:#fff8d6;border-left:6px solid var(--sun);
  padding:.6rem .9rem;border-radius:8px;margin-top:.7rem;
}
.honest p{margin:.25rem 0}
.watch{
  display:inline-block;margin-top:.7rem;background:var(--teal);color:#fff;
  padding:.5rem 1rem;border-radius:999px;text-decoration:none;font-weight:bold;
}
.watch:hover{background:#0a5d64}
.cast-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1.1rem;
}
.cast{
  background:var(--card);border-radius:16px;padding:1rem;
  text-align:center;box-shadow:0 3px 10px rgba(20,48,74,.10);
}
.cast img{max-width:100%;height:auto;border-radius:12px}
.cast h3{margin:.6rem 0 .3rem}
.cast p{margin:.2rem 0;font-size:.95rem}
.neighbours{background:var(--card);border-radius:16px;padding:1rem 1.2rem;box-shadow:0 3px 10px rgba(20,48,74,.10)}
footer{
  text-align:center;padding:1.6rem 1rem 2.2rem;color:#3c5a73;font-size:.92rem;
}
footer a{color:var(--teal);font-weight:bold}
