/*
Theme Name: Restored2Me
Theme URI: https://restored2me.example
Author: Benjamin Nana Inkoom
Description: Futuristic feminine spiritual coaching theme — black-forward, calming, faith-centered design.
Version: 1.1
Text Domain: restored2me
*/

:root{
  --black: #000000;
  --dark-slate: #2d4245;
  --earth-green: #77a44b;
  --forest-green: #3a5848;
  --neutral-gray: #939792;
  --white: #ffffff;
  --max-width: 1200px;
  --radius: 12px;
  --glass-alpha: rgba(255,255,255,0.04);
}

/* Basic reset */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: "Roca One", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background: var(--black);
  color: var(--white);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.45;
  -webkit-text-size-adjust:100%;
}

/* Container */
.container{
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 24px;
}

/* Header */
.site-header{
  position: sticky;
  top:0;
  z-index:1000;
  background: linear-gradient(180deg, rgba(0,0,0,0.85), rgba(0,0,0,0.65));
  border-bottom: 1px solid rgba(255,255,255,0.03);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 0;
}
.site-brand{
  display:flex;
  align-items:center;
  gap:12px;
}
.site-logo{
  width:48px;
  height:48px;
  border-radius:10px;
  background: linear-gradient(135deg, var(--dark-slate), var(--forest-green));
  display:inline-block;
  flex-shrink:0;
}
.site-title{
  font-size:20px;
  letter-spacing:0.6px;
  color:var(--white);
}
.site-nav ul{list-style:none;display:flex;gap:18px;margin:0;padding:0;align-items:center}
.site-nav a{
  color:var(--white);
  text-decoration:none;
  font-weight:600;
  font-size:15px;
  padding:8px 10px;
  border-radius:8px;
}
.site-nav a:hover, .site-nav a:focus{background: rgba(255,255,255,0.02); color: var(--earth-green)}

/* Hero */
.hero{
  padding:80px 0 56px;
  background:
    radial-gradient(800px 300px at 10% 20%, rgba(119,164,75,0.06), transparent 10%),
    radial-gradient(700px 350px at 90% 80%, rgba(58,88,72,0.05), transparent 12%),
    var(--black);
  text-align:center;
}
.hero-inner{max-width:980px;margin:0 auto;padding:8px}
.hero h1{
  font-size:46px;
  margin:0 0 14px;
  line-height:1.02;
  color:var(--white);
  letter-spacing:0.2px;
}
.hero p{
  color:var(--neutral-gray);
  font-size:18px;
  margin:0 0 28px;
}
.cta-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.btn{
  display:inline-block;
  padding:12px 24px;
  border-radius:10px;
  text-decoration:none;
  font-weight:700;
  letter-spacing:0.4px;
}
.btn-primary{
  background: linear-gradient(90deg,var(--earth-green),var(--forest-green));
  color:var(--black);
  box-shadow:0 8px 24px rgba(58,88,72,0.18);
}
.btn-ghost{
  background:transparent;
  color:var(--white);
  border:1px solid rgba(255,255,255,0.06);
}

/* Mission snippet */
.mission{
  margin-top:34px;
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  padding:18px;
  border-radius:10px;
  display:inline-block;
}

/* Sections */
section{
  padding:64px 0;
}
.section-heading{
  text-align:center;
  margin-bottom:28px;
}
.section-heading h2{font-size:30px;margin:0;color:var(--white)}
.section-sub{color:var(--neutral-gray);max-width:900px;margin:14px auto 0}

/* About */
.about-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:28px;
  align-items:center;
}
.about-card{
  background: linear-gradient(180deg, rgba(255,255,255,0.02), transparent);
  padding:22px;
  border-radius:var(--radius);
  border: 1px solid rgba(255,255,255,0.03);
}
.about-photo{
  width:100%;
  border-radius:12px;
  overflow:hidden;
  box-shadow: 0 12px 40px rgba(0,0,0,0.6);
}
.about-photo img{display:block;width:100%;height:auto}

/* Services */
.services-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:20px;
}
.service{
  background: linear-gradient(180deg, rgba(255,255,255,0.015), transparent);
  border-radius:12px;
  padding:22px;
  border:1px solid rgba(255,255,255,0.03);
  transition:transform .25s ease, box-shadow .25s ease;
}
.service:hover{transform:translateY(-8px); box-shadow:0 12px 40px rgba(0,0,0,0.6)}
.service h3{margin-top:0;color:var(--white)}
.service p{color:var(--neutral-gray)}

/* Lead magnet */
.lead-magnet{
  display:flex;
  gap:20px;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  background: linear-gradient(90deg, rgba(119,164,75,0.03), rgba(58,88,72,0.02));
  padding:20px;
  border-radius:12px;
}
.lead-magnet .meta{max-width:640px;color:var(--neutral-gray)}

/* Restoration Path (signature framework) */
.path-steps{
  display:flex;
  gap:18px;
  justify-content:center;
  flex-wrap:wrap;
}
.step{
  min-width:210px;
  background: linear-gradient(180deg, rgba(255,255,255,0.02), transparent);
  padding:18px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,0.03);
  text-align:center;
}

/* Testimonials */
.testimonials{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.testimonial{
  background: linear-gradient(180deg, rgba(255,255,255,0.02), transparent);
  padding:18px;border-radius:10px;color:var(--neutral-gray);
}

/* FAQ */
.faq .q{cursor:pointer; padding:14px; border-radius:10px; border:1px solid rgba(255,255,255,0.03); margin-bottom:10px}
.faq .a{display:none;padding:12px 18px;color:var(--neutral-gray)}

/* Contact */
.contact-grid{display:grid;grid-template-columns: 1fr 1fr; gap:28px; align-items:start}
.contact-card{background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent); padding:22px;border-radius:12px;border:1px solid rgba(255,255,255,0.03)}
.contact-form input, .contact-form textarea{
  width:100%; padding:12px;border-radius:8px;border:1px solid rgba(255,255,255,0.06);background:transparent;color:var(--white);margin-bottom:12px
}
.contact-form button{width:100%}

/* Footer */
.site-footer{
  margin-top:36px;
  padding:36px 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.9), rgba(0,0,0,0.95));
  border-top:1px solid rgba(255,255,255,0.02);
  color:var(--neutral-gray);
}
.footer-inner{display:flex;flex-direction:column;gap:12px;align-items:center}

/* Utilities */
.center{text-align:center}
.kicker{color:var(--earth-green);font-weight:700}

/* Responsive */
@media (max-width:900px){
  .about-grid, .contact-grid, .testimonials{grid-template-columns:1fr}
  .services-grid{grid-template-columns:1fr}
  .hero h1{font-size:32px}
  .site-nav ul{display:none} /* mobile nav: you can swap to a hamburger if desired */
  .header-inner{padding:14px 0}
}


.site-footer {
  background-color: #2d4245;
  padding: 64px 20px 48px;
  color: #ffffff;
}

.footer-inner {
  max-width: 1100px;
  margin: 0 auto;
}

/* Columns container */
.footer-columns {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 32px;
  margin-bottom: 32px;
  text-align: left;
}

/* Each column */
.footer-column {
  flex: 1 1 280px; /* Adjust min-width as needed */
}

/* Mission column */
.footer-mission .mission-quote {
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
}

.footer-mission .mission-brand {
  display: block;
  margin-top: 8px;
  font-size: 14px;
  color: #939792;
}

/* Contact column */
.footer-contact {
  font-size: 15px;
  color: #939792;
}

.footer-contact a {
  color: #ffffff;
  text-decoration: none;
}

.footer-contact a:hover {
  text-decoration: underline;
}

.divider {
  margin: 0 8px;
  color: #77a44b;
}

/* Social column */
.footer-social a {
  color: #77a44b;
  font-weight: 500;
  text-decoration: none;
}

.footer-social a:hover {
  color: #ffffff;
}

/* Copyright */
.footer-copy {
  text-align: center;
  font-size: 13px;
  color: rgba(255,255,255,0.4);
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .footer-columns {
    flex-direction: column;
    text-align: center;
    gap: 24px;
  }

  .footer-column {
    flex: 1 1 100%;
  }
}


.faq-section {
  background: #ffffff;
  padding: 80px 20px;
}

.faq-section .section-title {
  text-align: center;
  margin-bottom: 50px;
  color: #2d4245;
}

.faq-item {
  max-width: 800px;
  margin: 0 auto 30px;
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: 20px;
}

.faq-item .q {
  font-weight: 600;
  font-size: 1.1rem;
  color: #3a5848;
  margin-bottom: 10px;
}

.faq-item .a {
  font-size: 1rem;
  line-height: 1.7;
  color: #4b5563;
}

/* BLOG STYLES */
.blog-page .blog-card {
background: #ffffff;
padding: 24px;
margin-bottom: 32px;
border-radius: 12px;
}

.home-blog-preview .section-title {
  color: #ffffff !important;
}


.blog-card h2 a {
color: #2d4245;
}


.single-post h1 {
margin-bottom: 20px;
}


.post-content {
line-height: 1.8;
}


.comments-area {
margin-top: 60px;
padding: 32px;
background: #f9fafb;
border-radius: 12px;
}


.comment-list li {
margin-bottom: 20px;
}


/* HOMEPAGE BLOG PREVIEW */
.home-blog-preview {
padding: 80px 0;
text-align: center;
}


.blog-preview-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 32px;
margin-top: 40px;
}


.blog-preview-card {
background: #ffffff;
padding: 24px;
border-radius: 16px;
}


.blog-preview-card h3 a {
color: #2d4245;
}


.blog-preview-card p {
font-size: 15px;
}


.btn.small {
padding: 8px 16px;
font-size: 14px;
}

/* BLOG STYLES */
.blog-page .blog-card {
background: #ffffff;
padding: 24px;
margin-bottom: 32px;
border-radius: 12px;
}


.blog-card h2 a {
color: #2d4245;
}


.single-post h1 {
margin-bottom: 20px;
}


.post-content {
line-height: 1.8;
}


/* COMMENTS – READABILITY FIX (BLACK TEXT) */
.comments-area {
margin-top: 60px;
padding: 40px;
background: #f4f7f6;
border-radius: 16px;
color: #000000;
}


.comment-list {
list-style: none;
padding-left: 0;
}


.comment-list li {
background: #ffffff;
padding: 20px 24px;
margin-bottom: 24px;
border-radius: 12px;
border-left: 5px solid #77a44b;
color: #000000;
}


.comment-author {
font-weight: 600;
color: #000000;
}


.comment-metadata {
font-size: 13px;
color: #444444;
margin-bottom: 10px;
}


.comment-content {
font-size: 16px;
line-height: 1.8;
color: #000000;
}


.comment-content p {
color: #000000;
}




/* HOMEPAGE BLOG PREVIEW */
.home-blog-preview {
padding: 80px 0;
text-align: center;
}


.blog-preview-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 32px;
margin-top: 40px;
}


.blog-preview-card {
background: #ffffff;
padding: 24px;
border-radius: 16px;
}


.blog-preview-card h3 a {
color: #2d4245;
}


.blog-preview-card p {
font-size: 15px;
}


.btn.small {
padding: 8px 16px;
font-size: 14px;
}

body {
  color: #000;
  font-family: 'Roca One', serif;
}

.hero h1 {
  font-size: 3rem;
}

.hero-subtitle {
  font-size: 1.2rem;
  max-width: 700px;
  margin: 0 auto 24px;
}

.testimonials blockquote {
  background: #f9fafb;
  padding: 2rem;
  margin-bottom: 1.5rem;
  border-left: 4px solid #3a5848;
}

.site-footer .mission,
.site-footer .vision {
  font-weight: 600;
  font-size: 1.1rem;
}


/* RESTORATION PATH – 2 x 2 STACKED WITH TIMELINE FEEL */
#restoration-path .section-heading h2 {
  color: var(--dark-slate);
  font-weight: 700;
  font-size: 2.4rem;
  margin-bottom: 0.6rem;
}

#restoration-path .section-sub {
  color: var(--neutral-gray);
  font-size: 1.05rem;
}


#restoration-path {
  background: #ffffff;
  padding: 4.5rem 0;
}

.path-steps {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* two on top, two below */
  gap: 1.8rem;
  max-width: 900px;
  margin: 0 auto;
}

/* Step card */
.step {
  background: #f9f9f9;
  padding: 2.2rem 2.4rem;
  border-radius: 14px;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Left accent bar (timeline style) */
.step::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 6px;
  background: var(--earth-green);
  border-radius: 14px 0 0 14px;
}

/* Hover like testimonials */
.step:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.08);
}

/* Heading */
.step h4 {
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--dark-slate);
  margin-bottom: 0.6rem;
}

/* Text */
.step p {
  color: var(--neutral-gray);
  line-height: 1.7;
  margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
  .path-steps {
    grid-template-columns: 1fr; /* stacked like testimonials on mobile */
  }
}



/* =========================
   Footer Social Icons
========================= */

.footer-social {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}

.footer-social a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.95rem;
  color: #ffffff;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.footer-social a i {
  font-size: 1.1rem;
}

.footer-social a:hover {
  opacity: 0.75;
}

/* BOOK SESSION FORM */
.book-session {
  padding: 5rem 0;
  background: #ffffff;
}

.book-session .booking-form {
  max-width: 600px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.book-session input,
.book-session textarea {
  padding: 0.8rem 1rem;
  border-radius: 10px;
  border: 1px solid #d1d1d1;
  font-size: 1rem;
}

.book-session button {
  background: var(--forest-green);
  color: #fff;
  font-weight: 600;
  padding: 0.9rem;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.3s ease;
}

.book-session button:hover {
  background: var(--earth-green);
}

/* BOOK YOUR COACH SESSION HEADING */
.book-session .section-heading h2 {
    color: var(--dark-slate); /* Dark, readable text */
    font-weight: 700;          /* Bold for emphasis */
    font-size: 2.5rem;         /* Larger size for clarity */
    margin-bottom: 0.5rem;
    line-height: 1.2;
}

.book-session .section-heading .section-sub {
    color: var(--neutral-gray); /* Subheading readable but softer */
    font-size: 1.1rem;
    margin-bottom: 2rem;
}



/* DOWNLOAD GUIDE FORM */
.download-guide {
  padding: 5rem 0;
  background: #ffffff;
}

.download-guide .download-form {
  max-width: 600px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.download-guide input {
  padding: 0.8rem 1rem;
  border-radius: 10px;
  border: 1px solid #d1d1d1;
  font-size: 1rem;
}

.download-guide button {
  background: var(--forest-green);
  color: #fff;
  font-weight: 600;
  padding: 0.9rem;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.3s ease;
}

.download-guide button:hover {
  background: var(--earth-green);
}

/* DOWNLOAD FREE GUIDE – HEADING READABILITY FIX */
.download-guide .section-heading h2 {
  color: var(--dark-slate);
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.2;
  margin-bottom: 0.6rem;
}

.download-guide .section-sub {
  color: var(--neutral-gray);
  font-size: 1.05rem;
}

/* FROM THE BLOG – CENTERED + READABLE */
.section-title {
  color: var(--dark-slate);
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 0.5rem;
}

.section-subtitle {
  color: var(--neutral-gray);
  font-size: 1.05rem;
  text-align: center;
  max-width: 720px;
  margin: 0 auto 2.5rem;
}

/* COACHING INTRO SECTION */
.coaching-intro {
  padding: 5rem 0;
  background: #ffffff;
}

.coaching-description {
  max-width: 820px;
  margin: 0 auto;
  color: var(--neutral-gray);
}

.coaching-description p {
  line-height: 1.7;
  margin-bottom: 1.4rem;
}

.coaching-description h4 {
  color: var(--dark-slate);
  font-size: 1.3rem;
  margin: 2rem 0 1rem;
}

.coaching-list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 1.8rem;
}

.coaching-list li {
  position: relative;
  padding-left: 1.6rem;
  margin-bottom: 0.8rem;
}

.coaching-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--forest-green);
  font-size: 1.4rem;
  line-height: 1;
}

.coaching-note {
  font-style: italic;
  color: var(--dark-slate);
}

/* 1:1 WOMEN’S IDENTITY COACHING – HEADING READABILITY FIX */
.coaching-intro .section-heading h2 {
  color: var(--dark-slate);
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.2;
  margin-bottom: 0.6rem;
}

.coaching-intro .section-sub {
  color: var(--neutral-gray);
  font-size: 1.05rem;
}


.about-highlight {
  color: var(--neutral-gray);
  font-size: 1.50rem;
  line-height: 1.75;
  font-weight: 500;
  max-width: 680px;
  position: relative;
  padding-left: 18px;
}

/* Subtle accent line to make it stand out */
.about-highlight::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  height: calc(100% - 12px);
  width: 4px;
  background-color: var(--earth-green);
  border-radius: 4px;
}

.about-photo img {
  width: 440px;          /* 2x2 square base */
  height: 440px;         /* same as width */
  border-radius: 50%;    /* makes it a circle */
  object-fit: cover;     /* crops image */
  object-position: top center; /* chest-up focus */
  display: block;
}
.about-photo img {
  box-shadow: 0 6px 18px rgba(0,0,0,0.15);
}
/* Parent container feels like ONE offer */
.services-grid {
  background: #ffffff;
  border-radius: 20px;
  padding: 32px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
  display: grid;
  gap: 0; /* important: removes separation */
}

/* Individual services = sections inside the package */
.services-grid .service {
  padding: 28px 24px;
  position: relative;
}

/* Subtle divider between services */
.services-grid .service:not(:last-child) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

/* Headings stand out but stay unified */
.services-grid .service h3 {
  margin-bottom: 10px;
  font-weight: 600;
}

/* Slight visual depth without breaking unity */
.services-grid .service:nth-child(2) {
  background: rgba(0, 0, 0, 0.02);
}

.services-grid h3 {
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--dark-slate-gray);
  margin-bottom: 8px;
  letter-spacing: 0.3px;
}

.contact-card h3 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #ffffff; /* force white text */
  margin-bottom: 12px;
  letter-spacing: 0.4px;
}

/* Divider remains visible on dark background */
.contact-card h3::after {
  content: "";
  display: block;
  width: 40px;
  height: 3px;
  margin-top: 8px;
  background-color: var(--earth-green);
  border-radius: 3px;
}

.site-logo img {
  width: 48px;
  height: auto;
  display: block;
}

.site-logo {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}

.site-brand {
  display: flex;
  align-items: center;
  gap: 10px;
}


.faq-section {
  max-width: 900px;
  margin: 0 auto;
}

.faq-item {
  border-bottom: 1px solid rgba(255,255,255,0.2);
  padding: 18px 0;
}

.faq-question {
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
  position: relative;
  padding-right: 30px;
}

.faq-question::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 0;
  font-size: 22px;
  transition: transform 0.3s ease;
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, opacity 0.3s ease;
  opacity: 0;
}

.faq-item:hover .faq-answer {
  max-height: 300px;
  opacity: 1;
}

.faq-item:hover .faq-question::after {
  content: "−";
}

.faq-answer p {
  margin-top: 12px;
  line-height: 1.6;
  font-size: 16px;
}


.faq-item.active .faq-answer {
  max-height: 300px;
  opacity: 1;
}

.faq-item.active .faq-question::after {
  content: "−";
}

.faq-item {
  padding: 10px 0;          /* was 18px */
  margin: 0;
}

.faq-question {
  margin: 0;
  padding: 6px 30px 6px 0;  /* tighter vertical spacing */
  font-size: 17px;
}

.faq-answer p {
  margin-top: 6px;         /* was 12px */
  margin-bottom: 6px;
}

.faq-section .faq-item,
.faq-section .section-title {
  max-width: 100%;      /* sets a readable width for content */
  margin-left: auto;      /* centers content */
  margin-right: auto;     /* centers content */
}


/* ==============================
   PERKS & PRICING SECTION
================================ */

.perks-pricing-section {
  background: #f9fafb;
  padding: 80px 0;
}

.perks-pricing-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 40px;
  margin-top: 40px;
}

/* CARDS */
.perks-card,
.pricing-card {
  background: #ffffff;
  border-radius: 14px;
  padding: 36px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
}

/* PERKS */
.perks-card h3 {
  margin-bottom: 20px;
}

.perks-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.perks-list li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 14px;
  color: var(--neutral-gray);
  line-height: 1.6;
}

.perks-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--primary);
  font-weight: 700;
}

/* PRICING */
.pricing-card h3 {
  margin-bottom: 24px;
}

.pricing-option {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 20px;
}

.pricing-option h4 {
  margin-bottom: 8px;
}

.pricing-option ul {
  margin: 10px 0 0;
  padding-left: 18px;
  color: var(--neutral-gray);
}

.price {
  font-size: 32px;
  font-weight: 700;
  color: var(--primary);
}

.price span {
  font-size: 16px;
  font-weight: 400;
}

/* FEATURED OPTION */
.pricing-option.featured {
  border: 2px solid var(--primary);
  background: #fdf7f2;
}

.pricing-cta {
  display: block;
  margin-top: 24px;
  text-align: center;
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .perks-pricing-grid {
    grid-template-columns: 1fr;
  }
}

/* Force black, readable heading for Perks & Pricing section */
#perks-pricing .section-heading h2,
#perks-pricing h2 {
  color: #000000;
  font-weight: 700;
  letter-spacing: -0.02em;
}

#perks-pricing .section-heading h2 {
  text-shadow: 0 1px 0 rgba(0,0,0,0.04);
}

/* ==============================
   PROMISE / OUTCOME SECTION
================================ */

.promise-section {
  background: linear-gradient(180deg, #ffffff 0%, #f8f9fb 100%);
  padding: 90px 0;
}

.promise-inner {
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
}

/* Label */
.promise-label {
  font-size: 13px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--primary);
  font-weight: 600;
  margin-bottom: 18px;
}

/* Heading */
.promise-heading {
  font-size: clamp(32px, 4vw, 46px);
  line-height: 1.2;
  margin-bottom: 24px;
  color: #000;
}

/* Intro text */
.promise-intro {
  font-size: 18px;
  line-height: 1.7;
  color: var(--neutral-gray);
  max-width: 720px;
  margin: 0 auto 40px;
}

/* Promise Box */
.promise-box {
  background: #ffffff;
  border-radius: 18px;
  padding: 40px 42px;
  box-shadow: 0 18px 45px rgba(0,0,0,0.08);
  text-align: left;
}

.promise-box h3 {
  font-size: 22px;
  margin-bottom: 22px;
  color: #000;
}

/* List */
.promise-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.promise-list li {
  position: relative;
  padding-left: 34px;
  margin-bottom: 18px;
  font-size: 17px;
  line-height: 1.6;
  color: var(--neutral-gray);
}

.promise-list li::before {
  content: "✦";
  position: absolute;
  left: 0;
  top: 4px;
  color: var(--primary);
  font-size: 16px;
}

/* Responsive */
@media (max-width: 768px) {
  .promise-box {
    padding: 30px 24px;
  }

  .promise-heading {
    font-size: 32px;
  }
}

/* Home Blog Preview Section */
.home-blog-preview {
  background-color: #000;
  padding: 80px 20px;
  color: #fff;
}

/* Section title & subtitle */
.home-blog-preview .section-title {
  color: #fff;
  text-align: center;
}

.home-blog-preview .section-subtitle {
  color: #ccc;
  text-align: center;
  margin-bottom: 50px;
}

/* Blog grid */
.blog-preview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
}

/* Blog cards */
.blog-preview-card {
  background: #111;
  padding: 25px;
  border-radius: 12px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.blog-preview-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 30px rgba(255,255,255,0.08);
}

/* Featured image */
.blog-preview-card img {
  width: 100%;
  border-radius: 10px;
  margin-bottom: 15px;
}

/* Blog title */
.blog-preview-card h3 a {
  color: #fff;
  text-decoration: none;
}

.blog-preview-card h3 a:hover {
  color: #f4c430; /* gold accent – optional */
}

/* Excerpt */
.blog-preview-card p {
  color: #ccc;
  font-size: 15px;
  line-height: 1.6;
}

/* Buttons */
.blog-preview-card .btn.small {
  margin-top: 15px;
}

.blog-preview-cta {
  text-align: center;
  margin-top: 50px;
}

.perks-pricing-grid {
  display: flex;
  justify-content: center;
}

.perks-card {
  max-width: 720px;
  width: 100%;
}

/* PERKS SECTION – BLACK BACKGROUND */
.perks-pricing-section {
  background-color: #000;
  padding: 90px 20px;
}

/* Headings */
.perks-pricing-section .section-heading h2 {
  color: #fff !important;
  text-align: center;
}

.perks-pricing-section .section-sub {
  color: #ccc;
  text-align: center;
  max-width: 700px;
  margin: 0 auto 50px;
}

/* Grid layout */
.perks-pricing-grid {
  display: flex;
  justify-content: center;
}

/* Perks card */
.perks-card {
  background: #111;
  color: #fff;
  padding: 40px;
  border-radius: 16px;
  max-width: 800px;
  width: 100%;
  box-shadow: 0 20px 40px rgba(255,255,255,0.06);
}

/* Card title */
.perks-card h3 {
  color: #fff;
  margin-bottom: 25px;
  text-align: center;
}

/* List styling */
.perks-list {
  list-style: none;
  padding: 0;
}

.perks-list li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 14px;
  color: #ddd;
  line-height: 1.6;
}

/* Custom bullet */
.perks-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #f4c430; /* gold accent */
  font-weight: bold;
}

/* ============================
   PROMISE SECTION – BLACK EDITION
============================ */

.promise-section {
  background: #000000;
  color: #ffffff;
  padding: 100px 20px;
  position: relative;
}

.promise-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    circle at top center,
    rgba(255,255,255,0.06),
    transparent 60%
  );
  pointer-events: none;
}

/* Centering + max width */
.promise-inner {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 2;
}

/* Small label */
.promise-label {
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  margin-bottom: 20px;
}

/* Main heading */
.promise-heading {
  font-size: clamp(2.4rem, 4vw, 3.2rem);
  line-height: 1.25;
  margin-bottom: 30px;
  font-weight: 600;
}

/* Intro text */
.promise-intro {
  font-size: 1.1rem;
  color: rgba(255,255,255,0.8);
  max-width: 720px;
  margin: 0 auto 60px;
  line-height: 1.7;
}

/* Promise box (card feel) */
.promise-box {
  background: rgba(255,255,255,0.06);
  border-radius: 16px;
  padding: 45px 40px;
  text-align: left;
  backdrop-filter: blur(6px);
  box-shadow: 0 25px 60px rgba(0,0,0,0.45);
}

/* Box heading */
.promise-box h3 {
  font-size: 1.25rem;
  margin-bottom: 25px;
  font-weight: 500;
}

/* List styling */
.promise-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.promise-list li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 18px;
  font-size: 1rem;
  line-height: 1.6;
  color: rgba(255,255,255,0.85);
}

.promise-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #ffffff;
  font-weight: bold;
}

/* Mobile tweaks */
@media (max-width: 768px) {
  .promise-section {
    padding: 80px 20px;
  }

  .promise-box {
    padding: 35px 25px;
  }

  .promise-heading {
    font-size: 2.2rem;
  }
}

/* LABEL */
.promise-label {
  font-size: 0.75rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 18px;
}

/* MAIN HEADING */
.promise-heading {
  font-size: clamp(2.2rem, 4vw, 3rem);
  line-height: 1.3;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 50px;
}

/* SUB HEADING */
.promise-box h3,
.promise-section h3 {
  font-size: 1.2rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.92);
  margin-bottom: 24px;
}

.home-blog-preview .btn,
.home-blog-preview .btn.small {
  color: #fff !important;
}

/* ==========================================
   COLORFUL / BEAUTIFUL COMMENTS (Modern UI)
   ========================================== */

/* Page area */
.comments-area {
  max-width: 1000px;
  margin: 0 auto;
  padding: 30px 18px;
}

/* Title */
.comments-title,
.comment-reply-title {
  font-size: 24px;
  font-weight: 900;
  letter-spacing: -0.02em;
  margin: 0 0 16px;
  background: linear-gradient(90deg, #7c3aed, #06b6d4, #22c55e);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* List spacing */
.comment-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 18px;
}

/* Each comment card */
.comment-list .comment {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
  background:
    radial-gradient(800px 300px at 10% 0%, rgba(124,58,237,.16), transparent 60%),
    radial-gradient(700px 300px at 90% 0%, rgba(6,182,212,.15), transparent 60%),
    radial-gradient(700px 300px at 50% 120%, rgba(34,197,94,.12), transparent 60%),
    rgba(255,255,255,.94);
  box-shadow:
    0 20px 50px rgba(0,0,0,.12),
    0 1px 0 rgba(255,255,255,.75) inset;
}

/* Gradient top strip */
.comment-list .comment:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 6px;
  background: linear-gradient(90deg, #7c3aed, #06b6d4, #22c55e);
}

/* Comment layout */
.comment-body {
  padding: 18px 18px 16px;
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 14px;
}

/* Avatar */
.comment-author img.avatar {
  width: 60px;
  height: 60px;
  border-radius: 999px;
  border: 3px solid rgba(255,255,255,.95);
  box-shadow: 0 14px 28px rgba(0,0,0,.18);
}

/* Name + date */
.comment-author .fn,
.comment-author .fn a {
  font-size: 15px;
  font-weight: 900;
  color: #0f172a;
  text-decoration: none;
}

.comment-author .says { display: none; }

.comment-metadata,
.comment-metadata a {
  font-size: 12px;
  color: rgba(15,23,42,.65);
  text-decoration: none;
}

/* Comment text */
.comment-content {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.85;
  color: #111827;
}

/* Make comment links prettier */
.comment-content a {
  font-weight: 800;
  color: #0ea5e9;
  text-decoration: none;
  border-bottom: 1px dashed rgba(14,165,233,.55);
}
.comment-content a:hover {
  border-bottom-style: solid;
}

/* Action buttons (Reply) */
.comment-reply-link,
.reply a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 13px;
  text-decoration: none;
  color: #0f172a;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.75);
  box-shadow: 0 14px 30px rgba(0,0,0,.10);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

/* Icon dot */
.comment-reply-link:before,
.reply a:before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(135deg, #7c3aed, #06b6d4);
  box-shadow: 0 0 0 6px rgba(124,58,237,.14);
}

.comment-reply-link:hover,
.reply a:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(0,0,0,.14);
  filter: brightness(1.02);
}

/* Replies nesting */
.comment-list .children {
  list-style: none;
  margin: 0;
  padding: 0 0 14px 16px;
}

.comment-list .children .comment {
  border-radius: 18px;
  box-shadow: 0 16px 40px rgba(0,0,0,.10);
}

/* ==========================
   COLORFUL COMMENT FORM
   ========================== */

.comment-respond {
  margin-top: 22px;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
  background:
    radial-gradient(800px 350px at 0% 0%, rgba(124,58,237,.18), transparent 60%),
    radial-gradient(800px 350px at 100% 0%, rgba(6,182,212,.16), transparent 60%),
    radial-gradient(800px 350px at 50% 110%, rgba(34,197,94,.12), transparent 60%),
    rgba(255,255,255,.94);
  box-shadow: 0 20px 50px rgba(0,0,0,.12);
}

.comment-respond form {
  padding: 18px;
}

.comment-form label {
  display: block;
  font-weight: 900;
  font-size: 13px;
  margin: 10px 0 8px;
  color: rgba(15,23,42,.85);
}

/* Inputs */
.comment-form textarea,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"] {
  width: 100%;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.12);
  padding: 12px 14px;
  font-size: 14px;
  background: rgba(255,255,255,.92);
  outline: none;
  transition: box-shadow .18s ease, border-color .18s ease, transform .18s ease;
}

.comment-form textarea {
  min-height: 140px;
  resize: vertical;
}

.comment-form textarea:focus,
.comment-form input:focus {
  border-color: rgba(124,58,237,.55);
  box-shadow: 0 0 0 6px rgba(124,58,237,.12);
  transform: translateY(-1px);
}

/* Submit button: gradient */
.comment-form .submit {
  margin-top: 14px;
  border: 0;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 900;
  cursor: pointer;
  color: #fff;
  background: linear-gradient(90deg, #7c3aed, #06b6d4, #22c55e);
  box-shadow: 0 18px 36px rgba(0,0,0,.18);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.comment-form .submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 24px 52px rgba(0,0,0,.22);
  filter: brightness(1.03);
}

/* Logged in line */
.logged-in-as {
  font-size: 13px;
  color: rgba(15,23,42,.72);
}
.logged-in-as a {
  font-weight: 900;
  text-decoration: none;
  color: #0ea5e9;
}

/* Mobile */
@media (max-width: 640px) {
  .comment-body {
    grid-template-columns: 46px 1fr;
    gap: 10px;
  }
  .comment-author img.avatar {
    width: 46px;
    height: 46px;
  }
  .comment-list .children {
    padding-left: 10px;
  }
}

/* =========================
   GREEN THEME OVERRIDE
   ========================= */

/* Title gradient */
.comments-title,
.comment-reply-title {
  background: linear-gradient(90deg, #16a34a, #22c55e, #4ade80);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Comment card glow background */
.comment-list .comment {
  background:
    radial-gradient(800px 300px at 10% 0%, rgba(34,197,94,.18), transparent 60%),
    radial-gradient(700px 300px at 90% 0%, rgba(22,163,74,.16), transparent 60%),
    radial-gradient(700px 300px at 50% 120%, rgba(74,222,128,.12), transparent 60%),
    rgba(255,255,255,.94);
}

/* Gradient top strip */
.comment-list .comment:before {
  background: linear-gradient(90deg, #16a34a, #22c55e, #4ade80);
}

/* Reply button dot */
.comment-reply-link:before,
.reply a:before {
  background: linear-gradient(135deg, #16a34a, #22c55e);
  box-shadow: 0 0 0 6px rgba(34,197,94,.18);
}

/* Comment content links */
.comment-content a {
  color: #16a34a;
  border-bottom-color: rgba(34,197,94,.55);
}

/* Input focus glow */
.comment-form textarea:focus,
.comment-form input:focus {
  border-color: rgba(22,163,74,.55);
  box-shadow: 0 0 0 6px rgba(34,197,94,.18);
}

/* Submit button gradient */
.comment-form .submit {
  background: linear-gradient(90deg, #16a34a, #22c55e, #4ade80);
}

/* Logged-in profile links */
.logged-in-as a {
  color: #16a34a;
}

.contact-btn{
  display:inline-block;
  margin-top:18px;
  background: var(--forest-green);
  color:#fff;
  font-weight:600;
  padding:0.9rem 1.2rem;
  border:none;
  border-radius:10px;
  cursor:pointer;
  text-decoration:none;
  transition: background 0.3s ease;
}

.contact-btn:hover{
  background: var(--earth-green);
}

.ghl-form-wrap{
  margin-top:40px;
  padding:30px;
  background:#fff;
  border-radius:16px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

.ghl-form-wrap iframe{
  min-height:650px;
  width:100%;
}

.hero .mission{
  margin: 18px auto 26px;
  max-width: 78ch;
  color: rgba(255,255,255,.88);
  font-size: 16px;
  line-height: 1.7;
  text-align: center;
  opacity: 1;
  text-shadow: 0 2px 14px rgba(0,0,0,.75);
}
.hero .mission{
  padding: 14px 18px;
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(6px);
}
