
/* Ascension Hypnotherapy & Wellness — Global Styles */
/* Fonts: Cormorant Garamond (headings), Raleway (UI/Body) */
/* Chakra palette */
:root{
  --chakra-root:#e53935;
  --chakra-sacral:#ff9800;
  --chakra-solar:#fdd835;
  --chakra-heart:#43a047;
  --chakra-throat:#1e88e5;
  --chakra-third-eye:#5e35b1;
  --chakra-crown:#8e24aa;

  --bg: #ffffff;
  --fg: #111111;
  --muted:#666;
  --border:#e5e5e5;
  --radius:16px;
  --shadow:0 8px 24px rgba(0,0,0,.08);
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family:'Raleway', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, sans-serif;
  line-height:1.6;
}

h1,h2,h3,h4{
  font-family:'Cormorant Garamond', Georgia, serif;
  line-height:1.15;
  margin:0 0 .75rem 0;
}

h1{
  font-size:2.75rem;
  letter-spacing:.02em;
  text-transform:uppercase;
}

h2{
  font-size:2rem;
  text-transform:uppercase;
}

h3{
  font-size:1.35rem;
  font-weight:600;
}

p{
  margin:0 0 1rem 0;
}

.wrapper{
  max-width:1200px;
  margin:0 auto;
  padding:2rem 1rem 4rem;
}

header.site{
  position:sticky;
  top:0;
  z-index:100;
  background:#fff;
  box-shadow:var(--shadow);
}

header.site .inner{
  max-width:1200px;
  margin:0 auto;
  padding:1rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.brand{
  font-family:'Cormorant Garamond', Georgia, serif;
  font-size:1.5rem;
  letter-spacing:.04em;
}

nav a{
  margin-left:1rem;
  text-decoration:none;
  color:var(--fg);
  font-weight:500;
}

nav a.active{
  color:var(--chakra-third-eye);
}

.grid{
  display:grid;
  gap:1.25rem;
}

.grid.cards{
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}

.card{
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:1.25rem 1.25rem 1.5rem;
  border:1px solid var(--border);
  position:relative;
}

.card:hover{
  box-shadow:0 16px 28px rgba(0,0,0,.12);
}

.card .badge{
  position:absolute;
  top:.75rem;
  right:.75rem;
  background:#0000000d;
  border-radius:999px;
  padding:.25rem .75rem;
  font-size:.75rem;
}

.chakra-section{
  border-left:6px solid transparent;
  padding-left:1rem;
  border-radius:6px;
  box-shadow:var(--shadow);
  background:#fff;
}

.chakra-root{ border-color:var(--chakra-root); }
.chakra-sacral{ border-color:var(--chakra-sacral); }
.chakra-solar{ border-color:var(--chakra-solar); }
.chakra-heart{ border-color:var(--chakra-heart); }
.chakra-throat{ border-color:var(--chakra-throat); }
.chakra-third-eye{ border-color:var(--chakra-third-eye); }
.chakra-crown{ border-color:var(--chakra-crown); }

.btn{
  display:inline-block;
  border:none;
  border-radius:999px;
  padding:.8rem 1.35rem;
  font-weight:600;
  cursor:pointer;
  text-decoration:none;
  color:#fff;
  box-shadow:var(--shadow);
  transition:transform .08s ease, box-shadow .08s ease;
}

.btn:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 22px rgba(0,0,0,.12);
}

.btn-root{ background:var(--chakra-root); }
.btn-sacral{ background:var(--chakra-sacral); }
.btn-solar{ background:var(--chakra-solar); color:#111; }
.btn-heart{ background:var(--chakra-heart); }
.btn-throat{ background:var(--chakra-throat); }
.btn-third-eye{ background:var(--chakra-third-eye); }
.btn-crown{ background:var(--chakra-crown); }

.sidebar{
  position:sticky;
  top:6rem;
  align-self:start;
  border:1px solid var(--border);
  padding:1rem;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  background:#fff;
}

.sidebar h3{
  margin-bottom:.75rem;
}

.sidebar ul{
  list-style:none;
  padding:0;
  margin:0;
}

.sidebar li + li{
  margin-top:.35rem;
}

.sidebar a{
  color:var(--fg);
  text-decoration:none;
  font-size:.95rem;
}

.sidebar a:hover{
  text-decoration:underline;
}

footer.site{
  border-top:1px solid var(--border);
  padding:2rem 1rem 4rem;
  text-align:center;
  color:var(--muted);
  margin-top:4rem;
}

blockquote.serin{
  border-left:4px solid var(--chakra-third-eye);
  margin:1.25rem 0;
  padding:.75rem 1rem;
  background:#f8f8ff;
  border-radius:0 8px 8px 0;
  font-style:italic;
}

.table{
  width:100%;
  border-collapse:collapse;
  margin:1rem 0 2rem;
}
.table th,.table td{
  border:1px solid var(--border);
  padding:.6rem .75rem;
  text-align:left;
}
.table th{
  background:#fafafa;
  font-weight:600;
}

details summary{
  cursor:pointer;
  font-weight:600;
  margin:.75rem 0;
}

.notice{
  background:#fffde7;
  border:1px solid #fdd83566;
  padding:.75rem 1rem;
  border-radius:6px;
  margin:1rem 0;
}
