/* =====================================================================
   BREATH SOLUTION GUIDE — CURRENT MASTER STYLESHEET
   ===================================================================== */

* , *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: #52586b;
  background: #fff;
  -webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4,p,ul { margin: 0; }
ul { padding: 0; }
a { color: inherit; text-decoration: none; }
img,svg { display:block; max-width:100%; }

:root {
  --color-navy:#1c2e57;
  --color-body:#565c70;
  --color-bg-blue:#e7edf9;
  --color-divider:#e2e4ea;
  --color-video-bg:#e9e9e7;
  --color-play-btn:#3a3a3a;
  --font-serif:'Playfair Display', Georgia, 'Times New Roman', serif;
  --container-max:1040px;
  --container-narrow:820px;
  --nav-height:58px;
}

.container { width:100%; max-width:var(--container-max); margin-inline:auto; padding-inline:24px; }
.container--narrow { max-width:var(--container-narrow); }
.container--reading { max-width:840px; }

.site-header { background:#fff; padding:18px 0 14px; text-align:center; }
.site-title {
  font-family:var(--font-serif); font-weight:500; font-size:2.75rem;
  color:var(--color-navy); letter-spacing:.5px;
}

.site-nav {
  position:sticky; top:0; z-index:1000; min-height:var(--nav-height);
  display:flex; align-items:center; background:rgba(255,255,255,.98);
  border-bottom:1px solid var(--color-divider);
  box-shadow:0 2px 8px rgba(28,46,87,.06);
}
.nav-container { max-width:1120px; }
.site-nav ul {
  list-style:none; display:flex; align-items:center; justify-content:center;
  flex-wrap:nowrap; gap:clamp(16px,2.3vw,34px); min-height:var(--nav-height);
}
.site-nav li { margin:0; white-space:nowrap; }
.site-nav a {
  display:block; padding:18px 0 16px; font-size:1rem; font-weight:400;
  color:var(--color-navy); opacity:.82; transition:opacity .15s ease;
}
.site-nav a:hover,.site-nav a:focus-visible,.site-nav a[aria-current="page"] {
  opacity:1; text-decoration:underline; text-underline-offset:4px;
}

main { min-height:50vh; }
.hero { background:var(--color-bg-blue); padding:58px 0 62px; text-align:center; }
.hero__heading {
  font-family:var(--font-serif); font-weight:400; font-size:2.75rem; line-height:1.25;
  color:var(--color-navy); margin-bottom:32px;
}
.hero__text { font-size:1rem; line-height:1.9; max-width:760px; margin-inline:auto; }

.eyebrow {
  font-family:var(--font-serif); font-weight:600; font-size:1.3rem; letter-spacing:1px;
  text-transform:uppercase; color:var(--color-navy); text-align:center; margin-bottom:26px;
}
.subheading {
  font-family:var(--font-serif); font-weight:500; font-size:1.6rem; color:var(--color-navy);
  text-align:center; margin-top:56px; margin-bottom:20px;
}
.subheading--video { margin-top:60px; margin-bottom:28px; font-size:1.35rem; }
.body-text { font-size:1rem; line-height:1.9; text-align:center; max-width:720px; margin:0 auto 18px; }
.body-text:last-child { margin-bottom:0; }
.body-text--emphasis { margin-top:8px; }

.main-source { padding:62px 0 58px; }
.video-placeholder {
  width:100%; max-width:364px; aspect-ratio:16/9.6; background:var(--color-video-bg);
  border:1px solid #dcdcda; border-radius:4px; margin:0 auto;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
}
.play-button { width:62px; height:62px; border-radius:50%; background:var(--color-play-btn); display:flex; align-items:center; justify-content:center; }
.play-button svg { margin-left:4px; }
.divider { border:0; border-top:1px solid var(--color-divider); max-width:var(--container-max); margin:0 auto; }
.about,.home-guide-summary,.still-not-sure { background:#fff; padding:52px 0 58px; }
.about .subheading:first-child,.still-not-sure .subheading:first-child { margin-top:0; }
.home-guide-summary .subheading:first-child { margin-top:0; }
.price { font-family:var(--font-serif); font-weight:500; font-size:2.3rem; line-height:1.25; color:var(--color-navy); text-align:center; margin:40px 0 44px; }

.home-guide-summary .guide-price-heading {
  font-size: 2.05rem;
  line-height: 1.3;
  margin-bottom: 24px;
}
.section-mini-divider {
  border: 0;
  border-top: 1px solid var(--color-divider);
  width: 52%;
  max-width: 390px;
  margin: 42px auto 0;
}
.home-guide-summary .guide-free-heading {
  margin-top: 42px;
}

.compare { background:var(--color-bg-blue); padding:58px 0 62px; }
.compare .subheading:first-child { margin-top:0; }

.section-title {
  font-family:var(--font-serif); font-weight:500; font-size:2.35rem; line-height:1.25;
  color:var(--color-navy); text-align:center; margin-bottom:42px;
}
.story,.breath-guide,.still-not-sure { background:#fff; padding:78px 0 82px; }
.faq,.testimonials { background:var(--color-bg-blue); padding:78px 0 82px; }
.long-form-text { max-width:780px; margin-inline:auto; }
.long-form-text p { font-size:1rem; line-height:1.9; text-align:left; margin-bottom:22px; }
.long-form-text p:last-child { margin-bottom:0; }

.faq-item { max-width:780px; margin:0 auto; padding:34px 0; border-top:1px solid rgba(28,46,87,.15); }
.faq-item:first-of-type { border-top:0; padding-top:0; }
.faq-question { font-family:var(--font-serif); font-weight:500; font-size:1.45rem; line-height:1.45; color:var(--color-navy); margin-bottom:20px; }
.faq-answer p,.faq-closing,.symptom-list li { font-size:1rem; line-height:1.85; }
.faq-answer p { margin-bottom:18px; }
.faq-answer p:last-child { margin-bottom:0; }
.symptom-list { list-style:disc; padding-left:24px; margin:0 0 20px; }
.symptom-list li { margin-bottom:10px; }
.faq-closing { max-width:780px; margin:38px auto 0; padding-top:30px; border-top:1px solid rgba(28,46,87,.15); text-align:center; }

.back-to-top-wrap { text-align:center; padding:30px 20px 34px; background:#fff; }
.back-to-top {
  display:inline-block; padding:11px 20px; border:1px solid rgba(28,46,87,.28);
  border-radius:999px; color:var(--color-navy); background:#fff; font-size:.9rem;
  transition:background .15s ease,border-color .15s ease;
}
.back-to-top:hover,.back-to-top:focus-visible { background:var(--color-bg-blue); border-color:rgba(28,46,87,.45); }
.site-footer { background:var(--color-bg-blue); height:60px; }

@media (max-width:850px) {
  .site-nav ul { gap:16px; }
  .site-nav a { font-size:.9rem; }
}
@media (max-width:700px) {
  :root { --nav-height:auto; }
  .site-title { font-size:2.1rem; }
  .site-nav { position:sticky; }
  .site-nav ul { flex-wrap:wrap; gap:0 20px; padding:8px 0; }
  .site-nav a { padding:8px 0; font-size:.84rem; }
  .hero { padding:52px 0 56px; }
  .hero__heading { font-size:2.1rem; }
  .eyebrow { font-size:1.1rem; }
  .subheading { font-size:1.35rem; }
  .home-guide-summary .guide-price-heading { font-size:1.65rem; }
  .section-mini-divider { width:68%; margin-top:34px; }
  .price { font-size:1.8rem; }
  .section-title { font-size:1.9rem; margin-bottom:32px; }
  .story,.faq,.breath-guide,.testimonials,.still-not-sure { padding-top:58px; padding-bottom:62px; }
  .faq-question { font-size:1.25rem; }
  .container { padding-inline:20px; }
}
@media (max-width:420px) {
  .site-nav ul { gap:0 14px; }
  .site-nav a { font-size:.78rem; }
}


/* Contact form */
.contact-intro { max-width:650px; }
.contact-guidance { max-width:650px; margin-top:14px; }
.contact-form { max-width:650px; margin:38px auto 0; text-align:left; }
.form-group { margin-bottom:22px; }
.form-group label { display:block; margin-bottom:8px; color:var(--color-navy); font-weight:500; }
.form-group input, .form-group textarea { width:100%; font:inherit; color:var(--color-body); background:#fff; border:1px solid #cfd5e0; border-radius:5px; padding:13px 14px; }
.form-group input:focus, .form-group textarea:focus { outline:2px solid rgba(28,46,87,.18); border-color:var(--color-navy); }
.form-group textarea { resize:vertical; min-height:180px; }
.send-button { display:block; margin:8px auto 0; padding:12px 24px; border:1px solid var(--color-navy); border-radius:999px; background:var(--color-navy); color:#fff; font:inherit; cursor:pointer; }
.send-button:hover, .send-button:focus-visible { opacity:.9; }
.contact-note { max-width:650px; margin:28px auto 0; font-size:.9rem; line-height:1.75; text-align:center; }


/* Final refinements */
.faq-detail-link { margin-top: 12px; }
.faq-detail-link a { color: var(--color-navy); text-decoration: underline; text-underline-offset: 3px; }
.purchase-section { margin-top: 58px; padding-top: 14px; border-top: 1px solid var(--color-divider); text-align: center; }
.purchase-section .subheading { margin-top: 38px; }
.purchase-price { margin-bottom: 26px; }
.purchase-button { display: inline-block; padding: 14px 28px; border-radius: 999px; background: var(--color-navy); color: #fff; font-weight: 500; }
.purchase-button:hover, .purchase-button:focus-visible { opacity: .9; }
.purchase-note { margin-top: 14px; font-size: .9rem; line-height: 1.6; text-align: center; }
.testimonials-text { max-width: 780px; }
@media (max-width:700px) {
  .hero__text, .body-text, .long-form-text, .faq-item, .faq-closing { max-width: 100%; }
  .purchase-section { margin-top: 44px; }
}


/* Introductory evaluation phase */
.home-special-offer {
  background: var(--color-bg-blue);
  padding: 58px 0 62px;
}
.home-special-offer .subheading:first-child { margin-top: 0; }
.text-link {
  color: var(--color-navy);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.evaluation-section {
  margin-top: 58px;
  padding-top: 14px;
  border-top: 1px solid var(--color-divider);
  text-align: center;
}
.evaluation-section .subheading { margin-top: 38px; }
.evaluation-list {
  max-width: 560px;
  margin: 8px auto 24px;
  padding-left: 24px;
  text-align: left;
}
.evaluation-list li {
  margin-bottom: 10px;
  line-height: 1.8;
}
@media (max-width:700px) {
  .home-special-offer { padding: 50px 0 54px; }
  .evaluation-section { margin-top: 44px; }
}
