/* ============================================================
   PULMO BALANCE V4 — Fresh Green + Ivory + Gold
   Fonts: DM Serif Display (headings) + Lato (body)
   Domain: pulmobalnace.com
   ============================================================ */
:root {
  --burgundy: #2d6a4f;
  --burgundy-light: #3a8764;
  --burgundy-dark: #1b4332;
  --copper: #b8860b;
  --copper-light: #d4a017;
  --copper-pale: #f5f9f0;
  --ivory: #faf7f2;
  --white: #ffffff;
  --warm-slate: #3d5e4a;
  --text: #2b2b2b;
  --text-mid: #3e3e3e;
  --border: #e5dfd8;
  --shadow-sm: 0 2px 8px rgba(45,106,79,0.06);
  --shadow-md: 0 4px 20px rgba(45,106,79,0.1);
  --shadow-lg: 0 8px 40px rgba(45,106,79,0.14);
  --radius: 10px;
  --radius-lg: 16px;
  --transition: all 0.3s ease;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:18px}
body{font-family:'Lato','Segoe UI',sans-serif;color:var(--text);background:var(--ivory);line-height:1.9;font-size:1.18rem;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'DM Serif Display',Georgia,serif;font-weight:400;color:var(--burgundy);line-height:1.25}
h1{font-size:3rem}
h2{font-size:2.3rem;margin-bottom:22px}
h3{font-size:1.55rem}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:var(--burgundy);transition:var(--transition)}
.container{max-width:1140px;margin:0 auto;padding:0 24px}
.section{padding:85px 0}
.section-alt{background:var(--white)}
.section-burgundy{background:var(--burgundy);color:var(--white)}
.section-label{display:inline-block;font-size:0.82rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--copper);margin-bottom:14px}
.section-title{text-align:center;margin-bottom:18px}
.section-subtitle{text-align:center;max-width:640px;margin:0 auto 55px;font-size:1.12rem;color:var(--text-mid)}

/* Buttons */
.btn{display:inline-block;padding:17px 38px;border-radius:8px;font-family:'Lato',sans-serif;font-weight:700;font-size:1.05rem;text-align:center;cursor:pointer;border:none;transition:var(--transition)}
.btn-primary{background:var(--copper);color:#fff}
.btn-primary:hover{background:var(--copper-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn-outline{background:transparent;color:var(--burgundy);border:2px solid var(--burgundy)}
.btn-outline:hover{background:var(--burgundy);color:#fff}
.btn-white{background:#fff;color:var(--burgundy)}
.btn-white:hover{background:var(--copper-pale)}

/* ============================================================ HEADER */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--white);border-bottom:1px solid var(--border);transition:var(--transition)}
.site-header.scrolled{box-shadow:var(--shadow-sm)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:15px 24px;max-width:1180px;margin:0 auto}
.logo{font-family:'DM Serif Display',serif;font-size:1.55rem}
.logo-pulmo{color:var(--burgundy)}
.logo-balance{color:var(--copper)}
.logo-tm{font-size:0.55rem;color:var(--copper);vertical-align:super}
.desktop-nav{display:flex;gap:30px}
.desktop-nav a{font-weight:600;font-size:0.95rem;color:var(--text-mid);letter-spacing:0.3px}
.desktop-nav a:hover,.desktop-nav a.active{color:var(--burgundy)}
.header-cta{background:var(--copper);color:#fff;padding:11px 26px;border-radius:8px;font-weight:700;font-size:0.92rem}
.header-cta:hover{background:var(--copper-light)}
.mobile-menu-btn{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.mobile-menu-btn span{width:24px;height:2px;background:var(--burgundy);display:block;transition:var(--transition)}
.mobile-nav{display:none;flex-direction:column;padding:16px 24px 24px;background:var(--white);border-top:1px solid var(--border)}
.mobile-nav.active{display:flex}
.mobile-nav a{padding:13px 0;font-weight:600;font-size:1.05rem;color:var(--text);border-bottom:1px solid var(--border)}
.mobile-nav a:last-child{border:none}
.mobile-order-btn{background:var(--copper);color:#fff !important;text-align:center;padding:14px !important;border-radius:8px;margin-top:8px;border:none !important}

/* ============================================================ HERO */
.hero-section{padding:145px 0 85px;background:linear-gradient(140deg,var(--burgundy) 0%,var(--burgundy-light) 55%,var(--warm-slate) 100%);color:#fff;position:relative;overflow:hidden}
.hero-section::before{content:'';position:absolute;top:-40%;right:-15%;width:550px;height:550px;border-radius:50%;background:radial-gradient(circle,rgba(184,115,51,0.1) 0%,transparent 70%)}
.hero-grid{display:grid;grid-template-columns:1fr 0.85fr;gap:55px;align-items:center}
.hero-content h1{color:#fff;font-size:3.1rem;margin-bottom:22px;line-height:1.18}
.hero-content p{color:rgba(255,255,255,0.82);font-size:1.15rem;margin-bottom:30px;max-width:510px}
.hero-badges{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:30px}
.hero-badge{display:flex;align-items:center;gap:8px;font-weight:700;font-size:0.92rem;color:var(--copper-light)}
.hero-guarantee{margin-top:15px;font-size:0.9rem;color:rgba(255,255,255,0.6)}
.hero-image{text-align:center}
.hero-image img{max-width:380px;margin:0 auto;filter:drop-shadow(0 20px 40px rgba(0,0,0,0.3))}

/* ============================================================ ABOUT */
.about-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:60px;align-items:center}
.about-image img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}
.about-content p{margin-bottom:18px;color:var(--text)}

/* ============================================================ STEPS */
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.step-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:34px 26px;text-align:center;transition:var(--transition)}
.step-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.step-number{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--copper);color:#fff;font-weight:800;font-size:1.12rem;margin-bottom:16px}
.step-card h3{margin-bottom:10px;font-size:1.22rem}
.step-card p{font-size:1.05rem;color:var(--text);line-height:1.7}

/* ============================================================ INGREDIENTS */
.ingredients-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.ingredient-list{display:flex;flex-direction:column;gap:20px}
.ingredient-item{display:flex;gap:15px;align-items:flex-start}
.ingredient-icon{font-size:1.65rem;flex-shrink:0;margin-top:2px}
.ingredient-item h3{font-size:1.05rem;margin-bottom:4px;font-family:'Lato',sans-serif;font-weight:700;color:var(--burgundy)}
.ingredient-item p{font-size:1.02rem;color:var(--text);margin:0;line-height:1.65}
.ingredients-image img{border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}

/* ============================================================ BENEFITS */
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.benefit-card{background:var(--white);border-radius:var(--radius-lg);padding:34px 26px;border:1px solid var(--border);transition:var(--transition)}
.benefit-card:hover{box-shadow:var(--shadow-md);border-color:var(--copper)}
.benefit-icon{font-size:1.9rem;margin-bottom:14px}
.benefit-card h3{font-size:1.1rem;margin-bottom:10px;font-family:'Lato',sans-serif;font-weight:700;color:var(--burgundy)}
.benefit-card p{font-size:1.02rem;color:var(--text);line-height:1.65}

/* ============================================================ TESTIMONIALS */
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.testimonial-card{background:var(--white);border-radius:var(--radius-lg);padding:34px 28px;border:1px solid var(--border);text-align:center;transition:var(--transition)}
.testimonial-card:hover{box-shadow:var(--shadow-md)}
.testimonial-img{width:72px;height:72px;border-radius:50%;margin:0 auto 16px;overflow:hidden;border:3px solid var(--copper-pale)}
.testimonial-img img{width:100%;height:100%;object-fit:cover}
.stars{color:var(--copper);font-size:1.08rem;margin-bottom:14px;letter-spacing:3px}
.testimonial-text{font-size:1.05rem;color:var(--text);font-style:italic;line-height:1.75;margin-bottom:18px}
.testimonial-author strong{display:block;font-size:1.05rem;color:var(--burgundy)}
.testimonial-author span{font-size:0.88rem;color:var(--text-mid)}
.trust-line{text-align:center;font-size:0.95rem;color:var(--text);max-width:700px;margin:30px auto 0}

/* ============================================================ PRICING */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:start}
.price-card{background:var(--white);border-radius:var(--radius-lg);border:2px solid var(--border);padding:42px 26px 34px;text-align:center;position:relative;transition:var(--transition)}
.price-card:hover{box-shadow:var(--shadow-md)}
.price-card.featured{border-color:var(--copper);box-shadow:var(--shadow-lg);padding-top:50px}
.price-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--copper);color:#fff;padding:6px 20px;border-radius:50px;font-size:0.76rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;white-space:nowrap;z-index:2}
.price-badge-burg{background:var(--burgundy);color:#fff}
.price-card h3{font-size:1.15rem;margin-bottom:4px;color:var(--burgundy);font-family:'Lato',sans-serif;font-weight:700}
.price-card .duration{font-size:0.95rem;color:var(--text-mid);margin-bottom:22px}
.price-card img{max-width:170px;margin:0 auto 22px}
.price-card.featured img{max-width:220px}
.price-amount{font-family:'DM Serif Display',serif;font-size:2.55rem;color:var(--burgundy)}
.price-unit{font-size:0.95rem;color:var(--text-mid);margin-left:4px}
.price-savings{color:var(--copper);font-weight:700;font-size:0.95rem;margin-bottom:4px}
.price-total{font-size:0.92rem;color:var(--text-mid);margin-bottom:22px}
.price-perks{list-style:none;margin-bottom:26px;padding:0}
.price-perks li{padding:5px 0;font-size:0.98rem;color:var(--text)}
.price-perks li::before{content:'✓ ';color:var(--copper);font-weight:700}

/* ============================================================ BONUSES */
.bonus-card{display:flex;gap:26px;background:var(--copper-pale);border-radius:var(--radius-lg);padding:30px;margin-bottom:22px;align-items:center}
.bonus-card img{width:115px;flex-shrink:0;border-radius:var(--radius)}
.bonus-tag{display:inline-block;font-size:0.76rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--copper);margin-bottom:6px}
.bonus-card h3{font-size:1.1rem;margin-bottom:8px;font-family:'Lato',sans-serif;font-weight:700}
.bonus-card p{font-size:1.02rem;color:var(--text)}

/* ============================================================ FAQ */
.faq-list{max-width:780px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--border)}
.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:24px 0;background:none;border:none;font-family:'Lato',sans-serif;font-size:1.15rem;font-weight:700;color:var(--burgundy);text-align:left;cursor:pointer;transition:var(--transition);gap:16px}
.faq-question:hover{color:var(--copper)}
.faq-icon{font-size:1.4rem;font-weight:400;color:var(--copper);transition:var(--transition);flex-shrink:0}
.faq-answer{display:none;padding:0 0 24px;font-size:1.1rem;color:var(--text);line-height:1.8}
.faq-item.active .faq-answer{display:block}
.faq-item.active .faq-icon{transform:rotate(45deg)}

/* ============================================================ GUARANTEE */
.guarantee-box{text-align:center;background:var(--copper-pale);border-radius:var(--radius-lg);padding:55px 44px;max-width:670px;margin:0 auto;border:2px solid rgba(184,115,51,0.2)}
.guarantee-icon{font-size:3rem;margin-bottom:16px}
.guarantee-box h2{font-size:1.85rem}
.guarantee-box p{color:var(--text);font-size:1.08rem;max-width:540px;margin:16px auto 0}

/* ============================================================ FINAL CTA */
.final-cta{background:linear-gradient(140deg,var(--burgundy) 0%,var(--burgundy-light) 100%);padding:85px 0;text-align:center}
.final-cta h2{color:#fff;font-size:2.45rem;margin-bottom:18px}
.final-cta p{color:rgba(255,255,255,0.78);max-width:570px;margin:0 auto 34px;font-size:1.12rem}
.final-cta-img{max-width:360px;margin:0 auto 30px;display:block;filter:drop-shadow(0 10px 30px rgba(0,0,0,0.3))}

/* ============================================================ FOOTER */
.site-footer{background:var(--burgundy-dark);color:rgba(255,255,255,0.7);padding:55px 0 32px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:44px;margin-bottom:44px}
.site-footer p{font-size:0.92rem}
.site-footer h4{color:#fff;font-size:1.05rem;margin-bottom:18px;font-family:'Lato',sans-serif;font-weight:700}
.footer-links a,.footer-legal a{display:block;color:rgba(255,255,255,0.55);font-size:0.92rem;padding:4px 0}
.footer-links a:hover,.footer-legal a:hover{color:var(--copper-light)}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:26px;text-align:center}
.footer-trust{font-size:0.82rem;color:rgba(255,255,255,0.5);max-width:720px;margin:0 auto 12px;line-height:1.65}
.footer-copy{font-size:0.8rem;color:rgba(255,255,255,0.35)}

/* ============================================================ INNER PAGES */
.inner-hero{padding:135px 0 55px;background:linear-gradient(140deg,var(--burgundy),var(--burgundy-light));text-align:center;color:#fff}
.inner-hero h1{color:#fff;margin-bottom:12px;font-size:2.6rem}
.inner-hero p{color:rgba(255,255,255,0.72);max-width:560px;margin:0 auto;font-size:1.05rem}
.inner-content{max-width:780px;margin:0 auto}
.inner-content h2{margin-top:38px}
.inner-content p{margin-bottom:18px}

/* ============================================================ BLOG */
.blog-hero{padding:135px 0 55px;background:linear-gradient(140deg,var(--burgundy),var(--warm-slate));text-align:center;color:#fff}
.blog-hero h1{color:#fff;margin-bottom:12px}
.blog-hero p{color:rgba(255,255,255,0.72);max-width:560px;margin:0 auto}
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.blog-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;transition:var(--transition)}
.blog-card:hover{box-shadow:var(--shadow-md)}
.blog-card-content{padding:30px}
.blog-card-meta{font-size:0.88rem;color:var(--text-mid);margin-bottom:10px}
.blog-card h3{font-size:1.18rem;margin-bottom:12px;font-family:'Lato',sans-serif;font-weight:700}
.blog-card h3 a{color:var(--burgundy)}
.blog-card h3 a:hover{color:var(--copper)}
.blog-card-excerpt{font-size:1.02rem;color:var(--text);margin-bottom:18px;line-height:1.65}
.blog-single-hero{padding:135px 0 45px;background:linear-gradient(140deg,var(--burgundy),var(--warm-slate));text-align:center;color:#fff}
.blog-single-hero h1{color:#fff;font-size:2.4rem;max-width:720px;margin:0 auto 14px}
.blog-single-meta{color:rgba(255,255,255,0.62);font-size:0.92rem}
.blog-content{max-width:760px;margin:0 auto}
.blog-content p{margin-bottom:18px}
.blog-content h2{margin-top:38px;font-size:1.8rem}
.blog-content a{color:var(--copper);font-weight:600;text-decoration:underline}
.blog-content a:hover{color:var(--burgundy)}
.blog-cta-box{background:var(--copper-pale);border-left:4px solid var(--copper);border-radius:0 var(--radius) var(--radius) 0;padding:30px 32px;margin:44px 0}
.blog-cta-box h3{font-size:1.25rem;margin-bottom:10px;font-family:'Lato',sans-serif}
.blog-cta-box p{font-size:1.02rem;color:var(--text);margin-bottom:18px}

/* ============================================================ EXIT POPUP */
.exit-popup{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(27,67,50,0.78);z-index:9999;justify-content:center;align-items:center}
.exit-popup.active{display:flex}
.exit-popup-content{background:#fff;border-radius:var(--radius-lg);padding:48px;max-width:450px;text-align:center;position:relative;box-shadow:var(--shadow-lg)}
.exit-popup-content h2{font-size:1.55rem;margin-bottom:14px}
.exit-popup-content p{font-size:1.02rem;color:var(--text);margin-bottom:26px}
.exit-popup-close{position:absolute;top:14px;right:18px;background:none;border:none;font-size:1.4rem;color:var(--text-mid);cursor:pointer}

/* ============================================================ RESPONSIVE */
@media(max-width:900px){
  .desktop-nav,.header-cta{display:none}
  .mobile-menu-btn{display:flex}
  .hero-section{padding:125px 0 65px}
  .hero-grid{grid-template-columns:1fr;text-align:center}
  .hero-content p{max-width:100%}
  .hero-badges{justify-content:center}
  .hero-image{margin-top:30px}
  .hero-image img{max-width:280px}
  .about-grid{grid-template-columns:1fr}
  .about-image{order:-1;text-align:center}
  .about-image img{max-width:350px;margin:0 auto}
  .steps-grid{grid-template-columns:repeat(2,1fr)}
  .ingredients-grid{grid-template-columns:1fr}
  .benefits-grid{grid-template-columns:repeat(2,1fr)}
  .testimonials-grid{grid-template-columns:1fr;max-width:430px;margin:0 auto}
  .pricing-grid{grid-template-columns:1fr;max-width:390px;margin:0 auto}
  .blog-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  html{font-size:16px}
  .hero-content h1{font-size:2.1rem}
  h2{font-size:1.75rem}
  .section{padding:55px 0}
  .steps-grid{grid-template-columns:1fr}
  .benefits-grid{grid-template-columns:1fr}
  .bonus-card{flex-direction:column;text-align:center}
  .bonus-card img{width:90px}
}
@media print{body{font-size:12pt;color:#000}.site-header,.exit-popup,.site-footer{display:none}}
