/* Healing Made Clear — shared styles */
:root{
  --deep-green: #163C2C;
  --deep-green-2: #0F2B20;
  --gold: #C9A24B;
  --gold-light: #E4CD8C;
  --red: #A9291E;
  --cream: #FAF6EC;
  --white: #FFFFFF;
  --ink: #1F2A24;
  --ink-soft: #4B554E;
  --radius: 14px;
  --shadow: 0 10px 30px rgba(15,43,32,0.12);
  font-size: 17px;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family: 'Source Sans Pro', 'Segoe UI', Arial, sans-serif;
  background: var(--cream);
  color: var(--ink);
  line-height:1.6;
}
h1,h2,h3,.serif{
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  color: var(--deep-green-2);
  line-height:1.2;
  margin: 0 0 .5em;
}
h1{font-size:2.6rem;}
h2{font-size:2rem;}
h3{font-size:1.3rem;}
p{margin:0 0 1em;}
a{color:inherit;}
.container{max-width:1120px;margin:0 auto;padding:0 24px;}
.section{padding:64px 0;}
.section--dark{background:var(--deep-green); color:var(--white);}
.section--dark h1,.section--dark h2,.section--dark h3{color:var(--white);}
.section--cream{background:var(--cream);}
.section--white{background:var(--white);}
.center{text-align:center;}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.8rem;
  font-weight:700;
  color: var(--gold);
  margin-bottom:.6em;
  display:block;
}
.btn{
  display:inline-block;
  padding:16px 30px;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:.95rem;
  border:2px solid transparent;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn:hover{transform:translateY(-2px); box-shadow:0 8px 18px rgba(0,0,0,.15);}
.btn--gold{background:var(--gold); color:var(--deep-green-2);}
.btn--outline{background:transparent; border-color:var(--white); color:var(--white);}
.btn--outline-dark{background:transparent; border-color:var(--deep-green); color:var(--deep-green);}
.btn--red{background:var(--red); color:var(--white);}
.btn-block{display:block; width:100%; text-align:center;}

/* Header */
.site-header{
  background:var(--deep-green-2);
  padding:16px 0;
  position:sticky; top:0; z-index:50;
}
.site-header .container{display:flex; align-items:center; justify-content:space-between;}
.brand{color:var(--white); font-family:'Playfair Display', serif; font-size:1.35rem; font-weight:700; text-decoration:none; display:inline-flex; align-items:center;}
.brand-logo{height:52px; width:auto; border-radius:50%; display:block;}
.brand span{color:var(--gold);}
.nav{display:flex; gap:28px; align-items:center;}
.nav a{color:var(--white); text-decoration:none; font-size:.95rem; font-weight:600; opacity:.9;}
.nav a:hover{opacity:1; color:var(--gold-light);}
.nav-cta{background:var(--gold); color:var(--deep-green-2)!important; padding:10px 20px; border-radius:999px; text-transform:uppercase; font-size:.8rem; letter-spacing:.04em;}
.menu-toggle{display:none; background:none; border:none; color:var(--white); font-size:1.6rem;}
@media (max-width:860px){
  .nav{position:fixed; inset:64px 0 0 0; background:var(--deep-green-2); flex-direction:column; padding:32px 24px; transform:translateX(100%); transition:transform .2s; overflow-y:auto;}
  .nav.open{transform:translateX(0);}
  .menu-toggle{display:block;}
}

/* Hero */
.hero{
  background: linear-gradient(160deg, var(--deep-green) 0%, var(--deep-green-2) 100%);
  color:var(--white);
  padding: 90px 0 80px;
  text-align:center;
}
.hero h1{color:var(--white); font-size:3.2rem; letter-spacing:.02em;}
.hero .tagline{font-size:1.3rem; color:var(--gold-light); margin-bottom:1.2em; font-family:'Playfair Display',serif;}
.hero p.lead{max-width:680px; margin:0 auto 2em; font-size:1.1rem; color:#E9EFE9;}
.hero .cta-row{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

/* three column */
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:40px;}
@media (max-width:860px){.grid-3{grid-template-columns:1fr;}}
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:28px; margin-top:40px;}
@media (max-width:860px){.grid-2{grid-template-columns:1fr;}}
.card{
  background:var(--white);
  border-radius:var(--radius);
  padding:32px;
  box-shadow:var(--shadow);
  border-top:4px solid var(--gold);
}
.card.card--dark{background:var(--deep-green-2); color:var(--white); border-top-color:var(--red);}
.card.card--dark h3{color:var(--white);}
.card .ref{color:var(--red); font-weight:700; font-size:.85rem; text-transform:uppercase; letter-spacing:.05em;}

/* assessment CTA band */
.assess-band{
  background: var(--deep-green);
  color:var(--white);
  border-radius:24px;
  padding:56px 40px;
  text-align:center;
  box-shadow:var(--shadow);
}
.assess-band h2{color:var(--white);}
.assess-band ul{list-style:none; padding:0; margin:24px 0; display:flex; flex-wrap:wrap; gap:14px; justify-content:center;}
.assess-band li{background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); padding:10px 18px; border-radius:999px; font-size:.9rem;}
.microcopy{opacity:.85; font-size:.85rem; margin-top:18px;}

/* video / foundations cards */
.video-card{background:var(--white); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);}
.video-thumb{background:var(--deep-green-2); color:var(--gold-light); aspect-ratio:16/9; display:flex; align-items:center; justify-content:center; font-size:2.4rem;}
.video-card .body{padding:22px;}
.video-card .body h3{font-size:1.05rem;}

.foundations-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:36px;}
@media (max-width:960px){.foundations-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.foundations-grid{grid-template-columns:1fr;}}
.foundation-card{background:var(--white); border-radius:var(--radius); padding:24px; text-align:center; box-shadow:var(--shadow);}
.foundation-card .num{color:var(--gold); font-weight:700; font-family:'Playfair Display',serif; font-size:1.4rem;}

/* forms */
.form-field{margin-bottom:18px; text-align:left;}
.form-field label{display:block; font-weight:700; margin-bottom:6px; font-size:.92rem;}
.form-field input[type=text], .form-field input[type=email]{
  width:100%; padding:14px 16px; border-radius:10px; border:1px solid #cfc7ad; font-size:1rem;
}
.consent{font-size:.8rem; opacity:.85; margin-top:10px;}

/* quiz */
.quiz-wrap{max-width:720px; margin:0 auto;}
.progress-track{background:#E4DEC9; border-radius:999px; height:10px; overflow:hidden; margin-bottom:32px;}
.progress-fill{background:var(--gold); height:100%; width:0%; transition:width .25s ease;}
.q-step{display:none;}
.q-step.active{display:block;}
.q-title{font-size:.85rem; text-transform:uppercase; letter-spacing:.06em; color:var(--red); font-weight:700; margin-bottom:10px;}
.q-text{font-size:1.4rem; margin-bottom:24px;}
.option{
  display:block; width:100%; text-align:left; padding:16px 20px; margin-bottom:12px;
  border:2px solid #E1D9BE; border-radius:12px; background:var(--white); cursor:pointer; font-size:1rem;
}
.option:hover{border-color:var(--gold);}
.option.selected{border-color:var(--gold); background:#FBF2D9;}
.quiz-nav{display:flex; justify-content:space-between; margin-top:24px;}
.quiz-nav button{background:var(--deep-green); color:var(--white); border:none; padding:14px 26px; border-radius:999px; font-weight:700; cursor:pointer;}
.quiz-nav button:disabled{opacity:.4; cursor:not-allowed;}
.quiz-nav button.secondary{background:transparent; color:var(--deep-green); border:2px solid var(--deep-green);}

/* results */
.result-badge{
  display:inline-block; background:var(--gold); color:var(--deep-green-2); padding:10px 24px;
  border-radius:999px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; margin-bottom:20px;
}
.bar-row{display:flex; align-items:center; gap:14px; margin-bottom:14px;}
.bar-label{width:200px; font-weight:600; font-size:.92rem;}
.bar-track{flex:1; background:#E4DEC9; border-radius:999px; height:14px; overflow:hidden;}
.bar-fill{background:var(--deep-green); height:100%;}
.truth-list{list-style:none; padding:0;}
.truth-list li{background:var(--white); border-left:4px solid var(--gold); border-radius:8px; padding:16px 20px; margin-bottom:12px; box-shadow:var(--shadow);}

footer.site-footer{background:var(--deep-green-2); color:#CFE0D3; padding:48px 0 24px; font-size:.9rem;}
footer.site-footer .container{display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px;}
footer.site-footer a{color:#CFE0D3; text-decoration:none;}
footer.site-footer .footer-nav{display:flex; gap:18px; flex-wrap:wrap;}
footer.site-footer .copyright{width:100%; text-align:center; margin-top:32px; opacity:.7; font-size:.8rem;}

.alert{background:#FBEAE8; border:1px solid var(--red); color:var(--red); padding:14px 18px; border-radius:10px; margin-bottom:20px;}
