/* ===================================================================
   Ria Health "Core Site HP" — scoped styles (.ria-hp)
   Design tokens live on :root so they resolve across the separate
   header / main / footer template parts. Component styles stay scoped
   under .ria-hp* class names so they won't collide with the theme.
   =================================================================== */
:root{
  --ria-teal-500:#004049; --ria-teal-400:#33666d; --ria-teal-300:#668c92;
  --ria-mint-600:#59d990; --ria-mint-500:#68e09b; --ria-mint-300:#a4ecc3;
  --ria-mint-bg:#eafaf1;  --ria-cyan-700:#0e7490;
  --ria-ink:#030712; --ria-grey-92:#ebebeb; --ria-grey-bg:#f5f5f5;
  --ria-maxw:1200px;
  --ria-font:"Geomanist",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.ria-hp{
  font-family:var(--ria-font); color:var(--ria-ink); line-height:1.2; box-sizing:border-box;
  -webkit-font-smoothing:antialiased;
}
.ria-hp *,.ria-hp *::before,.ria-hp *::after{ box-sizing:border-box; }
.ria-hp img{ max-width:100%; display:block; }
.ria-hp a{ text-decoration:none; color:inherit; }
.ria-hp__container{ max-width:var(--ria-maxw); margin:0 auto; padding-left:24px; padding-right:24px; width:100%; }

/* ---------- Logo ---------- */
.ria-hp__logo{ display:inline-flex; align-items:center; gap:8px; }
.ria-hp__logo-mark{ width:30px; height:30px; flex:0 0 auto; }
.ria-hp__logo-text{ font-weight:600; font-size:20px; color:var(--ria-mint-600); }
.ria-hp__logo-text span{ color:var(--ria-teal-400); }
.ria-hp__logo--light .ria-hp__logo-text,.ria-hp__logo--light .ria-hp__logo-text span{ color:#fff; }

/* ---------- Buttons ---------- */
.ria-hp__btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  height:44px; padding:8px 24px; border-radius:25px; font-size:16px; font-weight:500;
  white-space:nowrap; cursor:pointer; border:1px solid transparent; transition:opacity .15s, background .15s;
}
.ria-hp__btn:hover{ opacity:.9; }
.ria-hp__btn--sm{ height:36px; font-size:14px; }
.ria-hp__btn--phone{ background:var(--ria-cyan-700); color:#fff; }
.ria-hp__btn--white{ background:#fff; color:var(--ria-teal-400); }
.ria-hp__btn--ghost{ background:transparent; border-color:#fff; }
/* Force white label even if a WordPress theme tries to recolor links */
.ria-hp a.ria-hp__btn--ghost,
.ria-hp a.ria-hp__btn--ghost:link,
.ria-hp a.ria-hp__btn--ghost:visited,
.ria-hp a.ria-hp__btn--ghost:hover{ color:#fff; }
.ria-hp__btn--mint{ background:var(--ria-mint-600); color:#fff; }
.ria-hp__btn--outline{ background:transparent; color:var(--ria-teal-500); border-color:var(--ria-mint-600); }

/* ---------- Shared section titles ---------- */
.ria-hp__section-title{ text-align:center; color:var(--ria-teal-500); font-weight:400; font-size:36px; margin:0 0 40px; }
.ria-hp__section-title--left{ text-align:left; margin-bottom:24px; }
.ria-hp__eyebrow{ text-align:center; color:var(--ria-teal-400); font-weight:500; font-size:20px; margin:0 0 24px; }

/* ============================ HEADER ============================ */
.ria-hp__header{ background:#fff; position:sticky; top:0; z-index:50; box-shadow:0 1px 0 var(--ria-grey-92); }
.ria-hp__header-inner{ display:flex; align-items:center; gap:28px; padding-top:18px; padding-bottom:18px; }
.ria-hp__nav{ flex:1; display:flex; align-items:center; justify-content:center; gap:28px; }
.ria-hp__nav a{ font-size:16px; color:var(--ria-ink); padding:10px 4px; display:inline-flex; align-items:center; gap:6px; }
.ria-hp__nav a:hover{ color:var(--ria-teal-400); }
.ria-hp__nav-item-has-children{ position:relative; }
.ria-hp__dropdown{ position:absolute; top:100%; left:50%; transform:translateX(-40%); min-width:220px; background:#fff; border:1px solid var(--ria-grey-92); border-radius:4px; padding:9px 1px; margin-top:4px; box-shadow:0 12px 32px -8px rgba(0,64,73,.18); opacity:0; visibility:hidden; transition:opacity .15s; z-index:60; }
.ria-hp__nav-item-has-children:hover .ria-hp__dropdown{ opacity:1; visibility:visible; }
.ria-hp__dropdown a{ display:block; padding:10px 20px; font-size:15px; }
.ria-hp__dropdown a:hover{ background:var(--ria-grey-92); }
.ria-hp__burger{ display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:6px; }
.ria-hp__burger span{ width:24px; height:2px; background:var(--ria-ink); border-radius:2px; }

/* ============================= HERO ============================= */
.ria-hp__hero{
  position:relative; overflow:hidden; min-height:550px; display:flex; align-items:center;
  background-color:var(--ria-teal-300);
  background-image:url('../images/hero.png');
  background-size:cover; background-position:center right;
}
.ria-hp__hero-overlay{ position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,0,0,.45) 20%, rgba(0,0,0,.15) 60%, rgba(102,102,102,0) 95%); }
.ria-hp__hero-content{ position:relative; z-index:2; display:flex; flex-direction:column; gap:22px; align-items:flex-start; }
.ria-hp__hero-title{ margin:0; color:#fff; font-weight:400; font-size:52px; line-height:1.15; }
.ria-hp__bullets{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.ria-hp__bullets li{ display:flex; align-items:flex-start; gap:8px; padding:6px 0; }
.ria-hp__plus-stroke{ width:18px; height:18px; flex:0 0 auto; margin-top:2px; }
.ria-hp__bullets span{ color:#fff; font-size:20px; line-height:1.2; }
.ria-hp__hero-actions{ display:flex; gap:16px; flex-wrap:wrap; }

/* ===================== QUALITY CARE / COVERED ===================== */
.ria-hp__covered{ background:var(--ria-mint-bg); }
.ria-hp__covered-inner{ display:flex; align-items:center; gap:32px; flex-wrap:wrap; padding-top:18px; padding-bottom:18px; }
.ria-hp__covered-text h2{ margin:0; font-size:20px; color:var(--ria-teal-500); font-weight:500; }
.ria-hp__covered-text p{ margin:2px 0 0; font-size:14px; color:var(--ria-teal-400); }
.ria-hp__logos{ flex:1; display:flex; align-items:center; justify-content:center; gap:28px; flex-wrap:wrap; }
.ria-hp__logos img{ height:26px; width:auto; object-fit:contain; }

/* ===================== PATH TO LASTING CHANGE ===================== */
.ria-hp__path{ background:#fff; padding:64px 0; }
.ria-hp__path-inner{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.ria-hp__path-media{
  border-radius:8px; min-height:420px;
  background:url('../images/path.jpg') center/cover no-repeat, linear-gradient(135deg,#cdebd9,#9bd9b6);
}
.ria-hp__steps{ list-style:none; margin:0 0 32px; padding:0; display:flex; flex-direction:column; gap:24px; }
.ria-hp__steps li{ display:flex; gap:16px; align-items:flex-start; }
.ria-hp__step-num{ flex:0 0 auto; width:28px; height:28px; border:1.5px solid var(--ria-teal-500); border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:14px; color:var(--ria-teal-500); }
.ria-hp__steps h3{ margin:0 0 4px; font-size:18px; font-weight:500; color:var(--ria-teal-500); }
.ria-hp__steps p{ margin:0; font-size:15px; line-height:1.4; color:#444; }

/* ===================== SUCCESS STORIES ===================== */
.ria-hp__stories{ background:#fff; padding:24px 0 72px; }
.ria-hp__story-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:start; }
.ria-hp__story{ background:var(--ria-mint-bg); border-radius:8px; margin:0; padding:0 28px 32px; text-align:center; display:flex; flex-direction:column; align-items:center; }
.ria-hp__story-avatar{ width:96px; height:96px; border-radius:50%; margin:-48px 0 20px; object-fit:cover; border:4px solid #fff; background:#dfeef0; }
.ria-hp__story blockquote{ margin:0 0 16px; font-size:15px; line-height:1.5; color:#333; }
.ria-hp__story figcaption{ font-weight:500; color:var(--ria-teal-500); }
.ria-hp__stories-actions{ display:flex; justify-content:center; gap:16px; margin-top:40px; flex-wrap:wrap; }

/* ===================== FEATURED IN ===================== */
.ria-hp__featured{ background:var(--ria-grey-bg); padding:48px 0; }
.ria-hp__press{ display:flex; align-items:center; justify-content:center; }
.ria-hp__press img{ width:100%; max-width:914px; height:auto; }

/* ===================== TEAM ===================== */
.ria-hp__team{ background:#fff; padding:72px 0; }
.ria-hp__team-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:24px; }
.ria-hp__member{ margin:0; text-align:center; }
.ria-hp__member-photo{ display:block; width:100%; aspect-ratio:1; border-radius:50%; margin:0 auto 16px; max-width:160px; object-fit:cover; background:#dfeef0; }
.ria-hp__member figcaption{ display:flex; flex-direction:column; gap:4px; }
.ria-hp__member strong{ font-size:16px; font-weight:500; color:var(--ria-teal-500); }
.ria-hp__member span{ font-size:13px; line-height:1.3; color:#667; }

/* ===================== FAQs ===================== */
.ria-hp__faqs{ background:var(--ria-mint-bg); padding:64px 0; }
.ria-hp__faqs-inner{ max-width:900px; }
.ria-hp__accordion{ display:flex; flex-direction:column; gap:12px; }
.ria-hp__accordion details{ background:#fff; border-radius:8px; border:1px solid var(--ria-grey-92); overflow:hidden; }
.ria-hp__accordion summary{ list-style:none; cursor:pointer; padding:18px 24px; font-size:17px; color:var(--ria-teal-500); display:flex; align-items:center; justify-content:space-between; gap:16px; }
.ria-hp__accordion summary::-webkit-details-marker{ display:none; }
.ria-hp__chev-down{ flex:0 0 auto; width:12px; height:12px; border-right:2px solid var(--ria-teal-400); border-bottom:2px solid var(--ria-teal-400); transform:rotate(45deg); transition:transform .2s; }
.ria-hp__accordion details[open] .ria-hp__chev-down{ transform:rotate(-135deg); }
.ria-hp__faq-body{ padding:0 24px 20px; }
.ria-hp__faq-body p{ margin:0; font-size:15px; line-height:1.5; color:#444; }

/* ============================ FOOTER ============================ */
.ria-hp__footer{ background:var(--ria-teal-500); color:#fff; }
.ria-hp__footer-inner{ padding-top:48px; padding-bottom:49px; }
.ria-hp__footer-top{ display:grid; grid-template-columns:247px repeat(4,1fr); gap:48px; padding-bottom:41px; border-bottom:1px solid rgba(255,255,255,.12); }
.ria-hp__footer-brand{ max-width:280px; display:flex; flex-direction:column; gap:20px; }
.ria-hp__footer-blurb{ margin:0; font-size:14px; line-height:1.4; }
.ria-hp__footer-col h4{ margin:0 0 6px; color:var(--ria-mint-300); font-size:14px; font-weight:500; letter-spacing:.56px; text-transform:uppercase; }
.ria-hp__footer-col a{ display:block; font-size:14px; padding:4px 0; }
.ria-hp__footer-col a:hover{ color:var(--ria-mint-300); }
.ria-hp__footer-middle{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px; padding:16px 0 17px; border-bottom:1px solid rgba(255,255,255,.12); }
.ria-hp__certs{ display:flex; align-items:center; gap:24px; }
.ria-hp__cert{ display:inline-flex; align-items:center; text-align:center; height:56px; padding:0 10px; border:1px solid rgba(255,255,255,.4); border-radius:6px; font-size:11px; line-height:1.2; }
.ria-hp__cert-img{ height:56px; width:auto; }
.ria-hp__social{ display:flex; align-items:center; gap:12px; }
.ria-hp__social-label{ font-size:12px; letter-spacing:1.2px; text-transform:uppercase; }
.ria-hp__social a{ width:40px; height:40px; border-radius:20px; display:inline-flex; align-items:center; justify-content:center; color:#fff; font-size:15px; font-weight:600; }
.ria-hp__footer-bottom{ padding-top:24px; display:flex; flex-direction:column; gap:16px; }
.ria-hp__footer-legal-row{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.ria-hp__copyright{ font-size:12px; color:rgba(255,255,255,.6); }
.ria-hp__footer-legal-links{ display:flex; flex-wrap:wrap; gap:6px 24px; }
.ria-hp__footer-legal-links a{ font-size:12px; color:rgba(255,255,255,.7); }
.ria-hp__footer-legal-links a:hover{ color:#fff; }
.ria-hp__footer-fineprint{ margin:0; font-size:11px; line-height:1.6; color:rgba(255,255,255,.5); max-width:900px; }

/* ============================ RESPONSIVE ============================ */
@media (max-width:1024px){
  .ria-hp__team-grid{ grid-template-columns:repeat(3,1fr); }
  .ria-hp__footer-top{ grid-template-columns:1fr 1fr 1fr; }
  .ria-hp__footer-brand{ grid-column:1 / -1; max-width:none; }
}
@media (max-width:900px){
  .ria-hp__burger{ display:flex; order:3; }
  .ria-hp__nav{ order:4; flex-basis:100%; flex-direction:column; align-items:flex-start; gap:0; display:none; padding-top:8px; }
  .ria-hp--nav-open .ria-hp__nav{ display:flex; }
  .ria-hp__nav-item-has-children,.ria-hp__nav a{ width:100%; }
  .ria-hp__dropdown{ position:static; transform:none; opacity:1; visibility:visible; box-shadow:none; border:0; padding-left:12px; margin:0; }
  .ria-hp__header-inner{ flex-wrap:wrap; }
  .ria-hp__hero-title{ font-size:38px; }
  .ria-hp__path-inner{ grid-template-columns:1fr; gap:32px; }
  .ria-hp__story-grid{ grid-template-columns:1fr; gap:64px; }
  .ria-hp__covered-inner{ flex-direction:column; align-items:flex-start; }
}
@media (max-width:600px){
  .ria-hp__team-grid{ grid-template-columns:1fr 1fr; }
  .ria-hp__footer-top{ grid-template-columns:1fr; gap:28px; }
  .ria-hp__footer-legal-row{ flex-direction:column; align-items:flex-start; }
  .ria-hp__hero-title{ font-size:32px; }
}
