/*
Theme Name: RYSE Health
Author: Tonya Johnson
Description: Custom WordPress theme for RYSE Health
Version: 2.0
*/

:root{
  --purple:#4f2d7f;
  --purple-dark:#35195f;
  --teal:#11a7a4;
  --teal-soft:#dff7f5;
  --mint:#eefcfb;
  --lavender:#f7f1ff;
  --text:#2f2452;
  --muted:#6f648a;
  --white:#ffffff;
  --border:rgba(79,45,127,.12);
  --shadow:0 18px 45px rgba(53,25,95,.10);
  --radius:26px;
  --max:1180px;
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  color:var(--text);
  background:linear-gradient(180deg,#fbf8ff 0%, #ffffff 48%, #f4fffe 100%);
  line-height:1.65;
}

img{
  max-width:100%;
  display:block;
}

a{
  text-decoration:none;
  color:inherit;
}

.container{
  width:min(calc(100% - 2rem), var(--max));
  margin:0 auto;
}

.site-header{
  position:sticky;
  top:0;
  z-index:999;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
}

.header-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 0;
}

.brand{
  display:flex;
  align-items:center;
  gap:.85rem;
  font-weight:800;
  color:var(--purple-dark);
}

.brand img{
  height:52px;
  width:auto;
}

.brand-text small{
  display:block;
  letter-spacing:.22em;
  color:var(--muted);
  font-size:.72rem;
}

.site-nav{
  display:flex;
  align-items:center;
  gap:1.1rem;
  color:var(--muted);
  font-size:.95rem;
}

.site-nav a:hover{
  color:var(--purple-dark);
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.95rem 1.3rem;
  border-radius:999px;
  font-weight:700;
  transition:transform .18s ease, box-shadow .18s ease;
}

.btn:hover{
  transform:translateY(-2px);
}

.btn-primary{
  background:linear-gradient(135deg,var(--purple),var(--teal));
  color:#fff;
  box-shadow:0 14px 30px rgba(79,45,127,.18);
}

.btn-light{
  background:#fff;
  border:1px solid var(--border);
  color:var(--purple-dark);
}

.section{
  padding:4.5rem 0;
}

.eyebrow{
  display:inline-flex;
  padding:.45rem .9rem;
  border-radius:999px;
  background:#f2ebff;
  color:var(--purple);
  font-size:.84rem;
  font-weight:700;
  margin-bottom:1rem;
}

.hero{
  padding:4rem 0 3rem;
}

.hero-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:2rem;
  align-items:center;
}

.hero h1{
  margin:0 0 1rem;
  font-size:clamp(2.6rem,5vw,4.4rem);
  line-height:1.05;
  color:var(--purple-dark);
}

.hero p.lead{
  color:var(--muted);
  max-width:60ch;
  font-size:1.05rem;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  margin-top:1.5rem;
}

.hero-visual{
  position:relative;
  min-height:600px;
}

.hero-card{
  position:absolute;
  inset:0;
  border-radius:34px;
  overflow:hidden;
  box-shadow:0 25px 55px rgba(53,25,95,.16);
  background:linear-gradient(145deg,#4f2d7f 0%, #6d49b8 45%, #68d8d2 100%);
}

.hero-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.83;
  mix-blend-mode:luminosity;
}

.hero-badge,
.floating-card{
  position:absolute;
  background:rgba(255,255,255,.96);
  border-radius:22px;
  padding:1rem 1.1rem;
  box-shadow:var(--shadow);
}

.hero-badge{
  left:-10px;
  top:34px;
  max-width:210px;
}

.floating-card.one{
  right:-10px;
  top:140px;
  max-width:220px;
}

.floating-card.two{
  left:30px;
  bottom:36px;
  max-width:250px;
}

.card-title{
  font-weight:700;
  color:var(--purple-dark);
  margin-bottom:.2rem;
}

.card-copy{
  font-size:.92rem;
  color:var(--muted);
}

.quick-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:2rem;
}

.quick-box,
.card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1.35rem;
  box-shadow:var(--shadow);
}

.quick-number{
  color:var(--teal);
  font-weight:800;
  margin-bottom:.35rem;
}

.quick-box h3,
.card h3,
.section h2{
  margin:0 0 .75rem;
  color:var(--purple-dark);
}

.section h2{
  font-size:clamp(1.9rem,4vw,3rem);
}

.muted{
  color:var(--muted);
}

.split{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:1.5rem;
  align-items:center;
}

.about-image{
height:420px;
border-radius:30px;
overflow:hidden;
}

.about-image img{
width:100%;
height:100%;
object-fit:cover;
}

.checklist{
  display:grid;
  gap:.85rem;
  margin-top:1.2rem;
}

.check{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
}

.check-mark{
  width:28px;
  height:28px;
  border-radius:50%;
  background:var(--teal-soft);
  color:var(--purple-dark);
  display:grid;
  place-items:center;
  font-weight:700;
  flex:0 0 auto;
}

.stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  margin-top:1.4rem;
}

.stat{
  background:#fff;
  border:1px solid var(--border);
  border-radius:22px;
  padding:1.1rem;
  box-shadow:var(--shadow);
}

.stat strong{
  display:block;
  font-size:1.6rem;
  color:var(--purple-dark);
}

.grid-3{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.1rem;
}

.service-card .icon{
  width:54px;
  height:54px;
  border-radius:18px;
  background:linear-gradient(135deg,#f3ebff,#dcf9f6);
  display:grid;
  place-items:center;
  color:var(--purple);
  font-weight:800;
  margin-bottom:1rem;
}

.why-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}

.quote-card{
  background:linear-gradient(145deg,var(--purple-dark),var(--purple));
  color:#fff;
}

.quote-card p,
.quote-card h3{
  color:#fff;
}

.testimonials{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}

.testimonial-card p:last-child{
  margin-bottom:0;
}

.cta-band{
  background:linear-gradient(135deg,var(--purple-dark),var(--teal));
  color:#fff;
  border-radius:30px;
  padding:2rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  box-shadow:0 25px 55px rgba(53,25,95,.18);
}

.cta-band h2,
.cta-band p{
  color:#fff;
  margin:0;
}

.locations{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}

.location-card h3{
  margin-bottom:.5rem;
}

.site-footer{
  background:#2a184d;
  color:#fff;
  padding:3rem 0 2rem;
  margin-top:4rem;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  gap:1.2rem;
}

.site-footer p,
.site-footer a{
  color:rgba(255,255,255,.82);
}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);
  margin-top:2rem;
  padding-top:1rem;
  font-size:.92rem;
}

/* Forms */

form{
  display:grid;
  gap:1rem;
}

.field{
  display:grid;
  gap:.45rem;
}

label{
  font-weight:700;
  color:var(--purple-dark);
}

input,
textarea,
select{
  width:100%;
  border:1px solid var(--border);
  border-radius:18px;
  padding:.95rem 1rem;
  font:inherit;
  color:var(--text);
  background:#fff;
}

textarea{
  min-height:140px;
  resize:vertical;
}

/* Responsive */

@media (max-width:1024px){
  .hero-grid,
  .split,
  .grid-3,
  .why-grid,
  .testimonials,
  .locations,
  .quick-actions,
  .stats,
  .footer-grid{
    grid-template-columns:1fr;
  }

  .site-nav{
    display:none;
  }

  .hero-visual{
    min-height:460px;
  }

  .cta-band{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media (max-width:640px){
  .section{
    padding:3.5rem 0;
  }

  .hero{
    padding:3rem 0 2rem;
  }

  .header-wrap{
    gap:.75rem;
  }

  .brand img{
    height:44px;
  }

  .hero-badge{
    left:10px;
    top:18px;
    max-width:180px;
  }

  .floating-card.one{
    right:10px;
    top:120px;
    max-width:180px;
  }

  .floating-card.two{
    left:10px;
    bottom:18px;
    max-width:200px;
  }
}