/* Coryverse shared styles */
:root{
  --plum:#2a1b3d; --plum2:#3b2560; --plum3:#1d1229;
  --orange:#ff8c42; --orange2:#ffb36b;
  --cream:#fff8f0; --ink:#2b2135; --muted:#6f6580;
  --card:#ffffff; --line:#eee2d5;
}
*{box-sizing:border-box; margin:0; padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--cream); color:var(--ink); line-height:1.65}
a{color:var(--plum2)}
.wrap{max-width:960px; margin:0 auto; padding:0 24px}

/* Nav */
.nav{background:var(--plum3); position:sticky; top:0; z-index:50}
.nav .wrap{display:flex; align-items:center; justify-content:space-between; padding-top:14px; padding-bottom:14px}
.brand{color:#fff; font-weight:800; font-size:20px; text-decoration:none; letter-spacing:.5px}
.brand span{color:var(--orange2)}
.nav-links{display:flex; gap:4px; flex-wrap:wrap}
.nav-links a{color:#d9cdf0; text-decoration:none; font-size:14.5px; font-weight:600;
  padding:8px 12px; border-radius:8px}
.nav-links a:hover{background:rgba(255,255,255,.08); color:#fff}
.nav-links a.active{color:var(--orange2)}

/* Hero */
.hero{background:linear-gradient(135deg,var(--plum) 0%,var(--plum2) 60%,#4a2d7a 100%);
  color:#fff; padding:72px 24px 80px; text-align:center; position:relative; overflow:hidden}
.hero h1{font-size:clamp(30px,6vw,48px); line-height:1.15; margin-bottom:16px; font-weight:800}
.hero h1 .hl{color:var(--orange2)}
.hero .sub{font-size:clamp(16px,3.5vw,19px); color:#d9cdf0; max-width:600px; margin:0 auto 32px}
.badge{display:inline-block; background:rgba(255,140,66,.18); border:1px solid var(--orange);
  color:var(--orange2); font-size:13px; font-weight:700; letter-spacing:1.5px;
  text-transform:uppercase; padding:6px 16px; border-radius:999px; margin-bottom:20px}

/* Email form block */
.ml-wrap{background:#fff; border-radius:16px; padding:10px; max-width:480px; margin:0 auto;
  box-shadow:0 12px 40px rgba(0,0,0,.35)}
.ml-embedded{margin:0}
.tiny{font-size:12.5px; color:#b9a8d6; margin-top:14px}

/* Sections */
section{padding:60px 0}
h2.sec{text-align:center; font-size:clamp(24px,5vw,32px); margin-bottom:8px; color:var(--plum)}
p.center{text-align:center; color:var(--muted); max-width:600px; margin:0 auto 36px}
p.lead{font-size:18px; color:var(--muted); max-width:640px; margin:0 auto 24px; text-align:center}

/* Cards */
.grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.card{background:var(--card); border:1px solid var(--line); border-radius:16px; overflow:hidden;
  display:flex; flex-direction:column; transition:transform .15s ease, box-shadow .15s ease}
.card:hover{transform:translateY(-3px); box-shadow:0 14px 34px rgba(42,27,61,.12)}
.card img.cover{width:100%; aspect-ratio:1; object-fit:cover; background:#f6efe6}
.card .body{padding:20px; display:flex; flex-direction:column; flex:1}
.card h3{font-size:18px; margin-bottom:6px; color:var(--plum); line-height:1.35}
.card p{font-size:14.5px; color:var(--muted); margin-bottom:14px; flex:1}
.price{font-weight:800; color:var(--plum); font-size:17px; margin-bottom:12px}
.price s{color:#b3a8c4; font-weight:400; font-size:14px; margin-left:6px}
.btn{display:inline-block; background:var(--orange); color:#fff; text-decoration:none;
  font-weight:700; padding:12px 22px; border-radius:12px; text-align:center; font-size:15px}
.btn:hover{background:#f07a2e}
.btn.ghost{background:#fff; color:var(--plum); border:2px solid var(--plum)}
.btn-row{display:flex; gap:10px; flex-wrap:wrap}
.tag{display:inline-block; font-size:12px; font-weight:700; letter-spacing:.8px; text-transform:uppercase;
  color:var(--orange); margin-bottom:8px}

/* CTA band */
.cta-band{background:var(--plum); color:#fff; text-align:center}
.cta-band h2.sec{color:#fff}
.cta-band p.center{color:#d9cdf0}

/* Bullets */
.bullets{max-width:620px; margin:0 auto 40px; list-style:none}
.bullets li{background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px 20px;
  margin-bottom:12px; font-size:16px; display:flex; gap:12px; align-items:flex-start}
.bullets li span.e{font-size:22px; line-height:1.2}

/* Gallery */
.gallery{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; max-width:680px; margin:0 auto}
.gallery img{width:100%; border-radius:12px; border:1px solid var(--line); background:#fff;
  aspect-ratio:1; object-fit:cover}

/* Prose page */
.prose{max-width:680px; margin:0 auto}
.prose h2{color:var(--plum); margin:28px 0 10px; font-size:22px}
.prose p{margin-bottom:14px}
.prose ul{margin:0 0 16px 22px}

/* Footer */
footer{background:var(--plum3); color:#8d7fa8; text-align:center; padding:36px 24px; font-size:13.5px}
footer a{color:#c9b8ec; text-decoration:none; margin:0 10px}
footer a:hover{text-decoration:underline}

@media(max-width:720px){ .grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:520px){
  .grid{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .nav .wrap{flex-direction:column; gap:10px}
}
