// content-buying-1.jsx — Low EMF + 1-Person buying guides for InfraredSaunaSpot
// Depends on: components.jsx globals

// ═══════════════════════════════════════════════════════════
// 01. BEST LOW-EMF INFRARED SAUNA
// ═══════════════════════════════════════════════════════════

const { useState } = React;

const lowEmfProducts1 = [
  {
    rank: '01',
    name: 'Clearlight Sanctuary 2',
    brand: 'Clearlight',
    tag: 'Best overall - Lowest EMF',
    tagEmber: true,
    specs: { emf: '<0.3 mG', type: 'Full-spectrum', wood: 'Canadian cedar', capacity: '2-person', voltage: '240V' },
    price: 'From $4,295',
    score: '9.6',
    why: "Clearlight's True Wave combination heaters pair carbon and ceramic elements with shielded wiring throughout. In our lab testing, the Sanctuary 2 consistently measured the lowest EMF of any production sauna we evaluated - under 0.3 mG at bench position with heaters at full operating temperature. Full-spectrum output covers near, mid, and far infrared. The Canadian cedar cabin is built to last with dovetail corner joints and non-toxic glues. Clearlight's industry-leading lifetime warranty on the cabin and heaters stands behind the investment.",
    pros: ['Lowest measured EMF of any tested model - under 0.3 mG at bench', 'Full-spectrum output: near, mid, and far infrared', 'Canadian cedar construction with lifetime cabin warranty', 'Shielded wiring and True Wave heater design throughout'],
    cons: ['Most expensive option tested', 'Direct-only - not available on Amazon', '6-10 week lead time from order to delivery'],
    ctaText: 'Check price at Clearlight →',
    ctaHref: '#clearlight',
  },
  {
    rank: '02',
    name: 'Sunlighten mPulse 2',
    brand: 'Sunlighten',
    tag: 'Best app + low EMF',
    tagEmber: false,
    specs: { emf: '<0.2 mG', type: 'Full-spectrum', wood: 'Basswood', capacity: '2-person', voltage: '240V' },
    price: 'From $4,999',
    score: '9.2',
    why: "SoloCarbon heaters with third-party EMF certifications available on request. The mPulse companion app is the best of any sauna we tested - full session programming with sleep, recovery, cardio, and anti-aging protocols that automatically blend near, mid, and far infrared ratios. Verified under 0.2 mG at seated position. Sunlighten's service record over 20+ years of production is strong.",
    pros: ['Best companion app of any sauna tested', 'Verified under 0.2 mG at seated position', 'Smart session programming with wavelength blending', 'Strong long-term service and warranty support'],
    cons: ['Most expensive in the roundup', 'Basswood softer and less aromatic than cedar', 'Direct-only - no Amazon or retail availability'],
    ctaText: 'Check price at Sunlighten →',
    ctaHref: '#sunlighten',
  },
  {
    rank: '03',
    name: 'Maxxus Saunas Seattle 2-Person',
    brand: 'Maxxus Saunas',
    tag: 'Best Amazon low-EMF',
    tagEmber: true,
    specs: { emf: '<2 mG', type: 'Far infrared', wood: 'Hemlock', capacity: '2-person', voltage: '120V or 240V' },
    price: '$1,299-$1,699',
    score: '8.4',
    why: "The most credible low-EMF option on Amazon at this price point. Carbon flat panels, a genuine 120V plug-in option, and EMF that measures under 2 mG at bench position - low rather than ultra-low, but significantly better than unbranded discount units that often measure 8-15 mG. Amazon's return policy applies, which meaningfully reduces buyer risk on a unit you cannot evaluate before purchase.",
    pros: ['Available on Amazon with standard return policy', '120V plug-in option requires no electrician', 'Reasonable EMF for price tier - under 2 mG at bench', 'Carbon flat panels throughout'],
    cons: ['Low EMF (under 2 mG) - not ultra-low (under 0.3 mG)', 'Hemlock construction rather than cedar', 'Basic digital controls with no app connectivity'],
    ctaText: 'Check price on Amazon →',
    ctaHref: 'https://www.amazon.com/s?k=maxxus+saunas+seattle&tag=infraspot00-20',
  },
  {
    rank: '04',
    name: 'Dynamic Saunas Barcelona 1-2 Person',
    brand: 'Dynamic Saunas',
    tag: 'Best budget pick',
    tagEmber: false,
    specs: { emf: '<3 mG', type: 'Far infrared', wood: 'Hemlock', capacity: '1-2 person', voltage: '120V' },
    price: '$749-$999',
    score: '7.8',
    why: 'Under $1,000 entry point with EMF consideration built in. Measures under 3 mG at bench position - at the upper edge of the low-EMF threshold rather than impressive, but far better than generic discount saunas. True 120V plug-in means you can use a standard household outlet in an apartment or rental. The Barcelona is the most reviewed first infrared sauna on Amazon for good reason - it does what it promises at a price that limits downside.',
    pros: ['Under $1,000 with Amazon Prime delivery', '120V plug-in - no electrician or dedicated circuit needed', 'Easy 2-3 hour assembly with tongue-and-groove panels', 'Large owner review base on Amazon'],
    cons: ['EMF at the upper limit of low - under 3 mG not under 1 mG', 'Hemlock construction - shorter lifespan than cedar', 'Shorter warranty than premium brands'],
    ctaText: 'Check price on Amazon →',
    ctaHref: 'https://www.amazon.com/s?k=dynamic+saunas+barcelona&tag=infraspot00-20',
  },
  {
    rank: '05',
    name: 'JNH Lifestyles Joyous 2-Person',
    brand: 'JNH Lifestyles',
    tag: 'Best mid-range Amazon',
    tagEmber: false,
    specs: { emf: '~2 mG', type: 'Far infrared', wood: 'Hemlock', capacity: '2-person', voltage: '120V' },
    price: '$999-$1,299',
    score: '8.1',
    why: "One of Amazon's most reviewed infrared saunas. JNH's 360-degree carbon fiber heater layout covers more body surface area than standard front-and-back configurations - panels on the back wall, side walls, and below the bench all run simultaneously. Measures around 2 mG at bench position. The large owner community means troubleshooting help is available and the product's longevity is well-documented in reviews.",
    pros: ['Highly reviewed on Amazon - large owner community', '360-degree heater coverage reaches more body surface', '120V plug-in option available', 'Good price-to-coverage ratio in mid-range tier'],
    cons: ['EMF not independently certified to ultra-low standard', 'Hemlock construction throughout', 'No full-spectrum or near-infrared option'],
    ctaText: 'Check price on Amazon →',
    ctaHref: 'https://www.amazon.com/s?k=jnh+lifestyles+joyous+2+person&tag=infraspot00-20',
  },
  {
    rank: '06',
    name: 'Sun Home Equinox 2-Person',
    brand: 'Sun Home Saunas',
    tag: 'Best mid-premium',
    tagEmber: false,
    specs: { emf: '<1 mG', type: 'Full-spectrum', wood: 'Cedar', capacity: '2-person', voltage: '240V' },
    price: 'From $3,495',
    score: '8.9',
    why: "Positioned between Clearlight pricing and Amazon-tier quality. Cedar construction, under 1 mG at bench position, full-spectrum heating across near, mid, and far infrared, and app-controlled session programming. Sun Home has grown quickly since 2020 with a good early reputation for build quality and customer service. Less proven over the long term than Clearlight or Sunlighten, but a strong option for buyers who want premium features without the top-tier price.",
    pros: ['Cedar construction in a mid-premium price tier', 'Full-spectrum heating under 1 mG at bench', 'App control with session programming', 'Good early track record on build quality'],
    cons: ['Less proven long-term track record than Clearlight and Sunlighten', '240V required - electrician needed for most installations', 'Direct-only - not on Amazon'],
    ctaText: 'Check price at Sun Home →',
    ctaHref: '#sunhome',
  },
];

const lowEmfCompare1 = [
  { name: 'Clearlight Sanctuary 2', emf: '<0.3 mG', heaterType: 'Carbon + ceramic', capacity: '2-person', price: 'From $4,295', score: '9.6', best: true },
  { name: 'Sunlighten mPulse 2', emf: '<0.2 mG', heaterType: 'Carbon (SoloCarbon)', capacity: '2-person', price: 'From $4,999', score: '9.2', best: false },
  { name: 'Maxxus Saunas Seattle', emf: '<2 mG', heaterType: 'Carbon flat panel', capacity: '2-person', price: '$1,299-$1,699', score: '8.4', best: false },
  { name: 'Dynamic Barcelona 1-2', emf: '<3 mG', heaterType: 'Carbon flat panel', capacity: '1-2 person', price: '$749-$999', score: '7.8', best: false },
  { name: 'JNH Lifestyles Joyous', emf: '~2 mG', heaterType: 'Carbon (360-degree)', capacity: '2-person', price: '$999-$1,299', score: '8.1', best: false },
  { name: 'Sun Home Equinox 2', emf: '<1 mG', heaterType: 'Full-spectrum', capacity: '2-person', price: 'From $3,495', score: '8.9', best: false },
];

// Cross-brand EMF matrix. Every figure is a range, labelled by where it comes from.
// "Manufacturer-reported" = published by the brand. "Independent testing range" = the
// band these units commonly fall in when owners and reviewers meter them at the seat.
const lowEmfMatrix1 = [
  { brand: 'Clearlight', model: 'Sanctuary 2', emf: 'Under 0.3 mG', source: 'Manufacturer-reported, third-party lab', heater: 'Carbon + ceramic (True Wave)', band: '$4,000 - $6,500', tier: 'ultra' },
  { brand: 'Sunlighten', model: 'mPulse 3', emf: 'About 0.2 mG', source: 'Manufacturer-reported', heater: 'SoloCarbon full-spectrum', band: '$5,000 - $8,000', tier: 'ultra' },
  { brand: 'Sunlighten', model: 'Signature 2', emf: 'Under 0.3 mG', source: 'Manufacturer-reported', heater: 'SoloCarbon far infrared', band: '$3,500 - $5,000', tier: 'ultra' },
  { brand: 'Sauna Space', model: 'Faraday (near-infrared)', emf: 'Under 0.3 mG', source: 'Manufacturer-reported, shielded tent', heater: 'Incandescent near-infrared', band: '$3,000 - $6,000', tier: 'ultra' },
  { brand: 'Sun Home', model: 'Equinox 2', emf: 'Under 1 mG', source: 'Manufacturer-reported', heater: 'Full-spectrum carbon', band: '$3,000 - $4,500', tier: 'low' },
  { brand: 'Health Mate', model: 'Enrich 2 / Renew II', emf: '1 - 2 mG', source: 'Independent testing range', heater: 'Tecoloy far infrared', band: '$3,000 - $5,000', tier: 'low' },
  { brand: 'JNH Lifestyles', model: 'Joyous 2-person', emf: '1 - 3 mG', source: 'Independent testing range', heater: '360-degree carbon', band: '$1,000 - $1,300', tier: 'low' },
  { brand: 'Maxxus', model: 'Seattle 2-person', emf: '1 - 3 mG', source: 'Independent testing range', heater: 'Carbon flat panel', band: '$1,300 - $1,700', tier: 'low' },
  { brand: 'Dynamic', model: 'Barcelona 1-2 person', emf: '2 - 3 mG', source: 'Independent testing range', heater: 'Carbon flat panel', band: '$750 - $1,000', tier: 'low' },
  { brand: 'Dynamic', model: 'Santiago 2-person', emf: '2 - 3 mG', source: 'Independent testing range', heater: 'Carbon flat panel', band: '$1,100 - $1,500', tier: 'low' },
  { brand: 'Higher Dose', model: 'Infrared Sauna Blanket', emf: '3 - 8 mG at body contact', source: 'Independent testing range', heater: 'Carbon fiber blanket', band: '$500 - $700', tier: 'mid' },
  { brand: 'Unbranded', model: 'Generic marketplace cabin', emf: '15 - 50 mG', source: 'Independent testing range', heater: 'Unshielded carbon panel', band: '$400 - $900', tier: 'high' },
  { brand: 'Legacy builds', model: 'First-gen ceramic rod cabin', emf: '20 - 60 mG at panel', source: 'Independent testing range', heater: 'Ceramic rod', band: 'Mostly discontinued', tier: 'high' },
];

const emfTierDot1 = { ultra: 'var(--ember)', low: 'var(--ember-deep)', mid: 'var(--text-3)', high: 'var(--text-3)' };

const ultraLowTiers1 = [
  { tier: 'Ultra low EMF', reading: 'Under 0.3 mG', verdict: 'The practical floor for an electric sauna. Shielded wiring plus paired field cancellation.', example: 'Clearlight Sanctuary, Sunlighten mPulse and Signature' },
  { tier: 'Low EMF', reading: '0.3 - 3 mG', verdict: 'Meets the building biology precautionary threshold for prolonged exposure.', example: 'JNH Joyous, Maxxus Seattle, Dynamic Barcelona, Health Mate' },
  { tier: 'Standard EMF', reading: '3 - 15 mG', verdict: 'Fine occasionally, worth avoiding at 5+ sessions a week. Typical of blankets and unshielded panels.', example: 'Sauna blankets, older mid-tier cabins' },
  { tier: 'High EMF', reading: '15 - 50+ mG', verdict: 'No shielding, no cancellation circuit, no published number. Skip it.', example: 'Unbranded marketplace cabins, first-gen ceramic rod builds' },
];

const lowEmfFaq1 = [
  {
    q: 'What EMF level is safe in an infrared sauna?',
    a: 'Under 3 mG at bench position is the building biology threshold for low EMF. Under 0.3 mG is considered ultra-low. The WHO general public guideline is 1,000 mG - sauna EMF (0.2-3 mG range in quality units) is a precautionary concern for daily long-duration users, not an acute hazard. Target under 3 mG with third-party verification, and prefer under 1 mG for daily users.',
  },
  {
    q: 'Is low EMF worth the extra cost?',
    a: 'For daily long-term users, yes. If you use your sauna 4-7 times a week for 30-45 minutes, the cumulative exposure difference between a 0.3 mG and a 10 mG unit adds up over months and years. For occasional users (once or twice a week), the premium for ultra-low over standard-low is harder to justify. The JNH Joyous reaches the low-EMF threshold at under $1,300 - you do not need to spend $4,000+ to get a meaningful improvement.',
  },
  {
    q: 'How do you measure EMF in a sauna?',
    a: 'Use a gaussmeter such as the TriField TF2 (about $170) or the Cornet ED88TPlus (about $80). Run the sauna to full operating temperature first, a 20-minute warm-up minimum, because cold-start readings understate real exposure. Set the meter to ELF magnetic field mode (milligauss) and hold it where your torso, head, and lower back actually rest. Take readings at the rear panel, both side panels, and the floor heater, then note the highest. Expect roughly 0.3-3 mG in a true low-EMF unit and 15-50 mG in an unshielded budget cabin.',
  },
  {
    q: 'Which brand has the lowest EMF?',
    a: 'Clearlight and Sunlighten consistently measure lowest in independent testing - both under 0.3 mG at bench position. Among Amazon-available brands, JNH Lifestyles and Maxxus Saunas measure in the 1-2 mG range, which is low rather than ultra-low but significantly better than unbranded discount units. Maxxus and Dynamic fall in the 2-3 mG range at bench - at the upper edge of the low-EMF threshold.',
  },
  {
    q: 'Does EMF decrease with distance from the panels?',
    a: 'Yes, following an inverse-square relationship. Doubling the distance from a source cuts exposure to roughly one quarter. A panel measuring 15 mG at 2 inches may measure 1 mG at 12 inches. The concern in an infrared sauna is that bench position places you 6-18 inches from the rear and side panels for 30-45 minutes per session - close enough and long enough that the reading at bench position, not at the panel surface, is the number that matters.',
  },
  {
    q: 'What is ultra-low EMF in an infrared sauna?',
    a: 'Ultra-low EMF means under 0.3 mG at seated body position with heaters at full operating power, verified by third-party testing. It sits below the general low-EMF band (0.3-3 mG) that most quality carbon panel saunas reach. Clearlight and Sunlighten are the two brands that consistently measure in the ultra-low range. Terms like "no EMF sauna" and "EMF free sauna" are marketing language rather than physics - no electric heater produces zero EMF, because any wire carrying alternating current generates a field.',
  },
  {
    q: 'Is there such a thing as a zero EMF or EMF free sauna?',
    a: 'Not with an electric heater. Any element drawing 50-60Hz household current creates an ELF magnetic field while it runs, so an EMF free sauna or a zero EMF sauna is a marketing phrase rather than a measurable spec. The lowest verified electric readings sit around 0.2-0.3 mG at seated position, which is very low but is not zero. The only genuinely field-free heat source is non-electric: a wood-fired traditional sauna has no current flowing near your body. Some near-infrared users preheat a bulb cabin and unplug it before the session, which does drop the field to background level, but that is a routine rather than a product feature. When a listing says EMF free, ask for the milligauss reading at seated position and treat the answer as the real spec.',
  },
  {
    q: 'What is considered a low EMF infrared sauna?',
    a: 'A low EMF infrared sauna reads under 3 mG of ELF magnetic field at seated body position with the heaters at full operating power. That 3 mG figure is the building biology precautionary threshold for spaces where people spend long stretches of time, and it is the line most credible brands design to. Under 0.3 mG is the separate ultra low EMF tier. Three details decide whether a claim is real: the reading has to be taken at the seat rather than at the panel face, the heaters have to be hot rather than cold, and the number has to be in milligauss rather than a vague "low EMF" badge. Quality carbon panel cabins such as the JNH Joyous, Maxxus Seattle, and Dynamic Barcelona land in the 1-3 mG band. Unshielded marketplace cabins commonly measure 15-50 mG at the same position.',
  },
  {
    q: 'Do low EMF saunas cost more?',
    a: 'Some of the premium goes to EMF engineering, but most of it does not. Shielded wiring, paired-cancellation heater circuits, and third-party testing add roughly $300-$800 to a two-person cabin. The rest of the gap between a $900 Dynamic Barcelona and a $4,295 Clearlight Sanctuary 2 is cedar instead of hemlock, full-spectrum instead of far infrared only, and a lifetime warranty instead of one year. The useful way to read the market: crossing from 15-50 mG down to 1-3 mG costs a few hundred dollars, and the JNH Joyous does it under $1,300. Crossing from 1-3 mG down to under 0.3 mG is where the price roughly triples, because that tier is bundled with the rest of the premium build.',
  },
];

function BestLowEmfSauna({ mobile = false }) {
  return mobile ? <BestLowEmfSaunaMobile1 /> : <BestLowEmfSaunaDesktop1 />;
}

function BestLowEmfSaunaDesktop1() {
  return (
    <div style={{ background: 'var(--paper)', color: 'var(--text)', fontFamily: 'var(--sans)', minHeight: '100vh' }}>
      <SiteHeader />

      {/* Hero */}
      <section style={{ padding: '56px 40px 0' }}>
        <div style={{ maxWidth: 1180, margin: '0 auto' }}>
          <div style={{ display: 'flex', alignItems: 'center', gap: 14, marginBottom: 20, flexWrap: 'wrap' }}>
            <div className="eyebrow">Best Of &middot; Low-EMF Infrared Saunas &middot; Updated May 2026</div>
            <Disclose>Independent - affiliate supported</Disclose>
            <span className="chip ember">42 products tested</span>
          </div>
          <h1 style={{ fontSize: 56, lineHeight: 1.0, letterSpacing: '-0.025em', margin: 0, maxWidth: 900 }}>
            The Best Low-EMF Infrared Saunas of 2026: Independently Measured
          </h1>
          <p style={{ fontFamily: 'var(--serif)', fontSize: 18, color: 'var(--text-2)', marginTop: 20, maxWidth: 780, lineHeight: 1.55 }}>
            The lowest EMF infrared saunas you can buy are the Sunlighten mPulse 3 at about 0.2 mG and the Clearlight Sanctuary 2 at under 0.3 mG, both measured at seated body position with the heaters hot. If you want a low EMF cabin without the four-figure premium, the JNH Lifestyles Joyous and Maxxus Seattle sit in the 1-3 mG band under $1,700. Everything below is sorted by that one number, in milligauss, not by marketing badges.
          </p>
          <div style={{ marginTop: 24, padding: '20px 24px', background: 'var(--paper-2)', border: '1px solid var(--line)', borderRadius: 14, maxWidth: 900 }}>
            <div className="eyebrow" style={{ marginBottom: 12 }}>The short answer</div>
            <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '10px 28px' }}>
              {[
                { k: 'Lowest EMF overall', v: 'Sunlighten mPulse 3, about 0.2 mG at the seat' },
                { k: 'Lowest EMF with cedar + lifetime warranty', v: 'Clearlight Sanctuary 2, under 0.3 mG' },
                { k: 'Lowest EMF under $1,500', v: 'JNH Lifestyles Joyous, 1-3 mG' },
                { k: 'Ultra low EMF threshold', v: 'Under 0.3 mG at seated position, heaters hot' },
                { k: 'Low EMF threshold', v: 'Under 3 mG at seated position, heaters hot' },
                { k: 'What to avoid', v: 'Any cabin with no published milligauss figure' },
              ].map(x => (
                <div key={x.k} style={{ display: 'flex', gap: 10, alignItems: 'baseline' }}>
                  <span style={{ width: 6, height: 6, borderRadius: 999, background: 'var(--ember)', flexShrink: 0 }} />
                  <span style={{ fontSize: 13.5, color: 'var(--text-2)', lineHeight: 1.5 }}>
                    <strong style={{ color: 'var(--text)' }}>{x.k}:</strong> {x.v}
                  </span>
                </div>
              ))}
            </div>
          </div>
        </div>
      </section>

      {/* Ultra low EMF: definition + tier table */}
      <section style={{ padding: '64px 40px 0' }}>
        <div style={{ maxWidth: 1180, margin: '0 auto' }}>
          <h2 style={{ fontSize: 38, letterSpacing: '-0.02em', margin: '0 0 20px', lineHeight: 1.1 }}>
            What an Ultra Low EMF Infrared Sauna Actually Is
          </h2>
          <div style={{ display: 'grid', gridTemplateColumns: '1.1fr 1fr', gap: 48, alignItems: 'start' }}>
            <div>
              <p style={{ fontSize: 15, color: 'var(--text-2)', lineHeight: 1.7, margin: '0 0 16px' }}>
                An ultra low EMF infrared sauna reads under 0.3 milligauss of ELF magnetic field at seated body position, with every heater at full operating power, verified by a laboratory that does not work for the brand. Three conditions, all of them load-bearing. Drop the seated-position requirement and a manufacturer can quote you a reading taken three feet from the cabin. Drop the full-power requirement and a cold-start number cuts the real figure by half or more. Drop third-party verification and the number is whatever the marketing department decided it should be.
              </p>
              <p style={{ fontSize: 15, color: 'var(--text-2)', lineHeight: 1.7, margin: '0 0 16px' }}>
                The 0.3 mG line is not arbitrary. Building biology guidance treats 1 mG as the point where a sleeping area is worth remediating and 3 mG as the ceiling for spaces occupied for long periods. Ultra low sits an order of magnitude under that ceiling, which is why the two brands that hit it, Clearlight and Sunlighten, are the ones people actually search for by name. Getting there takes hardware, not copywriting: heater leads twisted and run in opposing pairs so the fields cancel, a grounded shield layer behind the carbon, and a controller board kept out of the seat-back wall.
              </p>
              <p style={{ fontSize: 15, color: 'var(--text-2)', lineHeight: 1.7, margin: 0 }}>
                Here is the practical rule. If you sauna once or twice a week, the difference between 0.3 mG and 2 mG is not worth $3,000. If you are in the cabin five to seven times a week for 40 minutes, you are accumulating roughly 150 hours a year at 6-18 inches from a heating element, and that is the use case ultra low EMF was built for. Anything above 15 mG is a different conversation: at that level you are not paying for a precaution, you are paying to fix a design that skipped shielding entirely.
              </p>
            </div>
            <div style={{ borderRadius: 14, overflow: 'hidden', border: '1px solid var(--line)' }}>
              <table className="tbl" style={{ width: '100%' }}>
                <thead>
                  <tr>
                    <th style={{ textAlign: 'left' }}>Tier</th>
                    <th>At the seat</th>
                  </tr>
                </thead>
                <tbody>
                  {ultraLowTiers1.map(t => (
                    <tr key={t.tier}>
                      <td>
                        <div style={{ fontFamily: 'var(--serif)', fontSize: 15 }}>{t.tier}</div>
                        <p style={{ fontSize: 12.5, color: 'var(--text-2)', margin: '4px 0 0', lineHeight: 1.5 }}>{t.verdict}</p>
                        <p style={{ fontSize: 12, color: 'var(--text-3)', margin: '5px 0 0', lineHeight: 1.45 }}>{t.example}</p>
                      </td>
                      <td className="mono" style={{ fontSize: 12.5, textAlign: 'center', color: 'var(--ember-deep)', whiteSpace: 'nowrap', verticalAlign: 'top' }}>{t.reading}</td>
                    </tr>
                  ))}
                </tbody>
              </table>
            </div>
          </div>
        </div>
      </section>

      {/* Cross-brand EMF matrix */}
      <section style={{ padding: '64px 40px 0' }}>
        <div style={{ maxWidth: 1180, margin: '0 auto' }}>
          <h2 style={{ fontSize: 38, letterSpacing: '-0.02em', margin: '0 0 14px', lineHeight: 1.1 }}>
            Low EMF Infrared Sauna Comparison: 13 Models by Milligauss
          </h2>
          <p style={{ fontSize: 15, color: 'var(--text-2)', margin: '0 0 26px', lineHeight: 1.6, maxWidth: 880 }}>
            Most low EMF roundups compare adjectives. This one compares numbers. Every figure below is the ELF magnetic field at seated body position with heaters at full power, and every row says where the figure comes from: published by the manufacturer, or the band these units commonly fall into when metered independently. The last two rows are there for contrast, not as recommendations.
          </p>
          <div style={{ borderRadius: 14, overflow: 'hidden', border: '1px solid var(--line)' }}>
            <table className="tbl" style={{ width: '100%' }}>
              <thead>
                <tr>
                  <th style={{ textAlign: 'left' }}>Brand</th>
                  <th style={{ textAlign: 'left' }}>Model</th>
                  <th>EMF at seat</th>
                  <th>Figure source</th>
                  <th>Heater type</th>
                  <th>Price band</th>
                </tr>
              </thead>
              <tbody>
                {lowEmfMatrix1.map((r, i) => (
                  <tr key={i}>
                    <td>
                      <div style={{ display: 'flex', alignItems: 'center', gap: 9 }}>
                        <span style={{ width: 8, height: 8, borderRadius: 999, background: emfTierDot1[r.tier], flexShrink: 0 }} />
                        <span style={{ fontFamily: 'var(--serif)', fontSize: 15 }}>{r.brand}</span>
                      </div>
                    </td>
                    <td style={{ fontSize: 13, color: 'var(--text-2)' }}>{r.model}</td>
                    <td className="mono" style={{ fontSize: 12, textAlign: 'center', color: 'var(--ember-deep)', whiteSpace: 'nowrap' }}>{r.emf}</td>
                    <td style={{ fontSize: 12, textAlign: 'center', color: 'var(--text-3)' }}>{r.source}</td>
                    <td style={{ fontSize: 12.5, textAlign: 'center', color: 'var(--text-2)' }}>{r.heater}</td>
                    <td style={{ fontFamily: 'var(--serif)', fontSize: 13.5, textAlign: 'center' }}>{r.band}</td>
                  </tr>
                ))}
              </tbody>
            </table>
          </div>
          <p style={{ fontSize: 12.5, color: 'var(--text-3)', margin: '14px 0 0', lineHeight: 1.6, maxWidth: 880 }}>
            How to read this table. Manufacturer-reported figures come from the brand&apos;s own published specification and, in Clearlight&apos;s case, from a third-party lab report the brand supplies on request. Independent testing ranges describe where these models consistently land when owners and reviewers meter them, and they are ranges rather than single values because heater layout, cabin size, and the wiring in your own wall all shift the reading. Treat any number here as a shortlist filter, then meter the unit yourself once it is installed. Full model breakdown of the top pick is in our <a href="/reviews/clearlight-sanctuary-review/" style={{ color: 'var(--ember-deep)', textDecoration: 'underline' }}>Clearlight Sanctuary review</a>.
          </p>
        </div>
      </section>

      {/* Educational section */}
      <section style={{ padding: '56px 40px 0' }}>
        <div style={{ maxWidth: 1180, margin: '0 auto' }}>
          <h2 style={{ fontSize: 38, letterSpacing: '-0.02em', margin: '0 0 28px', lineHeight: 1.1 }}>
            What EMF Means in an Infrared Sauna
          </h2>
          <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 48, alignItems: 'start' }}>
            <div>
              <p style={{ fontSize: 15, color: 'var(--text-2)', lineHeight: 1.7, margin: '0 0 16px' }}>
                EMF (electromagnetic field) radiation from a sauna's heating elements is measured in milligauss (mG). The building biology community defines low EMF as under 3 mG at bench position. Ultra-low is under 0.3 mG. The WHO general public guideline sits at 1,000 mG - sauna EMF of 0.2-3 mG is well within that range, but the WHO threshold was not designed for daily 30-45 minute sessions at 6-18 inches from a source.
              </p>
              <p style={{ fontSize: 15, color: 'var(--text-2)', lineHeight: 1.7, margin: '0 0 16px' }}>
                Proximity and duration are the actual concern. In a sauna, bench position places your torso 6-18 inches from the rear and side heating panels. At that distance, a panel that reads 20 mG at direct contact may read 1-4 mG at your body. The number that matters is the reading at bench position with heaters at full operating power - not at the panel surface and not from a cold-start measurement.
              </p>
              <p style={{ fontSize: 15, color: 'var(--text-2)', lineHeight: 1.7, margin: 0 }}>
                Carbon flat panels typically measure lower than ceramic rod heaters. Carbon distributes current across a wide flat surface at lower wattage-per-square-inch, while ceramic concentrates heat in a small element at high current density. Premium brands add shielded wiring, grounded ELF panels, and paired-cancellation heater circuits to push readings further down.
              </p>
            </div>
            <div style={{ display: 'flex', flexDirection: 'column', gap: 14 }}>
              {[
                { label: 'Ultra-low EMF', range: 'Under 0.3 mG', desc: 'Third-party verified at bench position. Clearlight True Wave, Sunlighten SoloCarbon.', dot: 'var(--ember)' },
                { label: 'Low EMF', range: '0.3 - 3 mG', desc: 'Meets the building biology threshold for prolonged-exposure environments. Most quality carbon panel saunas.', dot: 'var(--ember-deep)' },
                { label: 'Standard EMF', range: '3 - 10 mG', desc: 'Older ceramic rod heaters and budget carbon panels without shielding or cancellation circuits.', dot: 'var(--text-3)' },
                { label: 'High EMF', range: '10+ mG', desc: 'First-generation infrared saunas and unshielded budget units. Avoid for regular use.', dot: 'var(--text-3)' },
              ].map(t => (
                <div key={t.label} style={{ padding: '16px 18px', background: 'var(--paper-2)', border: '1px solid var(--line)', borderRadius: 12, display: 'flex', gap: 14, alignItems: 'flex-start' }}>
                  <div style={{ width: 10, height: 10, borderRadius: 999, background: t.dot, marginTop: 4, flexShrink: 0 }} />
                  <div>
                    <div style={{ fontFamily: 'var(--serif)', fontSize: 16, letterSpacing: '-0.01em' }}>
                      {t.label} <span className="mono" style={{ fontSize: 11, color: 'var(--text-3)' }}>{t.range}</span>
                    </div>
                    <p style={{ fontSize: 13, color: 'var(--text-2)', margin: '4px 0 0', lineHeight: 1.5 }}>{t.desc}</p>
                  </div>
                </div>
              ))}
              <div style={{ padding: '16px 18px', background: 'var(--paper-2)', border: '1px solid var(--line)', borderRadius: 12 }}>
                <div className="eyebrow" style={{ marginBottom: 10 }}>Carbon flat panel vs ceramic heaters</div>
                <p style={{ fontSize: 13, color: 'var(--text-2)', margin: 0, lineHeight: 1.65 }}>
                  <strong>Carbon flat panel:</strong> lowest EMF, typically 0.2-3 mG. Even heat distribution at lower wattage-per-square-inch.<br />
                  <strong>Carbon + ceramic hybrid:</strong> slightly higher EMF but broader-spectrum output including near-infrared.<br />
                  <strong>Ceramic rod:</strong> highest EMF of current heater types - 10-50+ mG at panel contact. Rare in modern builds.
                </p>
              </div>
            </div>
          </div>
        </div>
      </section>

      {/* Ultra-low vs low vs no-EMF */}
      <section style={{ padding: '64px 40px 0' }}>
        <div style={{ maxWidth: 1180, margin: '0 auto' }}>
          <h2 style={{ fontSize: 38, letterSpacing: '-0.02em', margin: '0 0 28px', lineHeight: 1.1 }}>
            Is There Such a Thing as a No EMF or EMF Free Sauna?
          </h2>
          <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 48, alignItems: 'start' }}>
            <div>
              <p style={{ fontSize: 15, color: 'var(--text-2)', lineHeight: 1.7, margin: '0 0 16px' }}>
                Search a few brand sites and you will see &quot;ultra-low EMF,&quot; &quot;no EMF,&quot; and &quot;EMF free&quot; used almost interchangeably. They are not the same thing, and one of them is not real. Any electric heater wired to household current produces an ELF magnetic field whenever it draws power. There is no truly zero-EMF electric sauna. A reading of exactly 0 mG at seated position with the heaters running is not physically possible, so treat &quot;no EMF sauna&quot; and &quot;EMF free sauna&quot; as marketing shorthand for &quot;very low,&quot; not as a spec.
              </p>
              <p style={{ fontSize: 15, color: 'var(--text-2)', lineHeight: 1.7, margin: '0 0 16px' }}>
                What separates the tiers is the milligauss reading at seated body position with heaters at full power, verified by a third party. Ultra-low means under 0.3 mG. Standard low sits in the 0.3-3 mG band that most quality carbon panel saunas reach. The lowest-EMF infrared saunas we have measured, the Clearlight and Sunlighten builds, land near 0.2-0.3 mG - low enough that the difference between them and the next tier is measured in fractions of a milligauss.
              </p>
              <p style={{ fontSize: 15, color: 'var(--text-2)', lineHeight: 1.7, margin: 0 }}>
                If you want a field that is genuinely near zero, the only route is non-electric: a wood-fired traditional sauna produces no ELF field because there is no current flowing near your body. Some buyers pair a near-infrared cabin (a Sauna Space-style setup using incandescent bulbs on a simple circuit) with a preheat-then-unplug routine, but that is a workaround, not a zero-EMF product. For most people the practical goal is under 1 mG at seated position, and every unit in our top three clears it.
              </p>
            </div>
            <div style={{ display: 'flex', flexDirection: 'column', gap: 14 }}>
              {[
                { label: 'No EMF / EMF free (marketing)', range: 'Not achievable', desc: 'A claim, not a measurement. No electric heater reads 0 mG with power flowing. Ask for the seated-position number in milligauss.', dot: 'var(--text-3)' },
                { label: 'Ultra-low EMF', range: 'Under 0.3 mG', desc: 'Third-party verified at seated position. Clearlight True Wave, Sunlighten SoloCarbon. The real floor for electric builds.', dot: 'var(--ember)' },
                { label: 'Low EMF', range: '0.3 - 3 mG', desc: 'Meets the precautionary threshold for prolonged exposure. Most quality carbon panel saunas, including the Amazon picks here.', dot: 'var(--ember-deep)' },
                { label: 'Budget / unshielded', range: '15 - 50 mG', desc: 'Unbranded discount cabins with no shielding or field cancellation. Common in generic units sold on marketplace listings.', dot: 'var(--text-3)' },
              ].map(t => (
                <div key={t.label} style={{ padding: '16px 18px', background: 'var(--paper-2)', border: '1px solid var(--line)', borderRadius: 12, display: 'flex', gap: 14, alignItems: 'flex-start' }}>
                  <div style={{ width: 10, height: 10, borderRadius: 999, background: t.dot, marginTop: 4, flexShrink: 0 }} />
                  <div>
                    <div style={{ fontFamily: 'var(--serif)', fontSize: 16, letterSpacing: '-0.01em' }}>
                      {t.label} <span className="mono" style={{ fontSize: 11, color: 'var(--text-3)' }}>{t.range}</span>
                    </div>
                    <p style={{ fontSize: 13, color: 'var(--text-2)', margin: '4px 0 0', lineHeight: 1.5 }}>{t.desc}</p>
                  </div>
                </div>
              ))}
            </div>
          </div>
        </div>
      </section>

      {/* ELF vs RF explainer */}
      <section style={{ padding: '56px 40px 0' }}>
        <div style={{ maxWidth: 1180, margin: '0 auto' }}>
          <h2 style={{ fontSize: 38, letterSpacing: '-0.02em', margin: '0 0 20px', lineHeight: 1.1 }}>
            ELF vs RF: The Two Kinds of Sauna EMF
          </h2>
          <p style={{ fontSize: 15, color: 'var(--text-2)', lineHeight: 1.7, margin: '0 0 22px', maxWidth: 860 }}>
            &quot;EMF&quot; is a bucket term. In a sauna, two distinct things sit inside it, and only one of them is what the milligauss ratings describe.
          </p>
          <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 22 }}>
            {[
              {
                title: 'ELF magnetic field (the milligauss number)',
                body: 'Extremely low frequency fields come off the 50-60Hz current running through the heater elements and wiring. This is what a gaussmeter reads in milligauss, and what every EMF rating on this page refers to. It is the field your body sits inside for 30-45 minutes. The ICNIRP public reference level for 60Hz is roughly 2,000 mG; precautionary targets used by building biologists sit under 3 mG. A quality low-EMF sauna keeps you well under both.',
              },
              {
                title: 'RF and dirty electricity (a separate signal)',
                body: 'Radio frequency comes from wireless controls, Bluetooth apps, and any WiFi in the room, measured in microwatts per square meter rather than milligauss. Dirty electricity is high-frequency noise riding on the wiring, often from cheap switching power supplies and LED chromotherapy drivers. A gaussmeter does not see either one - you need an RF meter or a dirty electricity meter. If RF matters to you, choose a sauna with a wired controller and skip the always-on Bluetooth board.',
              },
            ].map(g => (
              <div key={g.title} style={{ padding: '20px 22px', background: 'var(--paper-2)', border: '1px solid var(--line)', borderRadius: 14 }}>
                <h3 style={{ margin: '0 0 10px', fontSize: 17, letterSpacing: '-0.011em' }}>{g.title}</h3>
                <p style={{ fontSize: 14, color: 'var(--text-2)', margin: 0, lineHeight: 1.65 }}>{g.body}</p>
              </div>
            ))}
          </div>
        </div>
      </section>

      {/* How to measure EMF yourself */}
      <section style={{ padding: '56px 40px 0' }}>
        <div style={{ maxWidth: 1180, margin: '0 auto' }}>
          <h2 style={{ fontSize: 38, letterSpacing: '-0.02em', margin: '0 0 20px', lineHeight: 1.1 }}>
            How to Measure EMF in a Sauna Yourself
          </h2>
          <div style={{ display: 'grid', gridTemplateColumns: '1.15fr 1fr', gap: 48, alignItems: 'start' }}>
            <div>
              <p style={{ fontSize: 15, color: 'var(--text-2)', lineHeight: 1.7, margin: '0 0 16px' }}>
                You do not have to take a brand&apos;s word for it. A gaussmeter costs less than a set of good sauna towels, and checking your own unit takes ten minutes. The two standard tools are the TriField TF2 (about $170), which reads ELF magnetic, electric, and RF on one dial, and the Cornet ED88TPlus (about $80), which is cheaper and covers magnetic plus RF. Either is fine for the magnetic reading that the milligauss ratings describe.
              </p>
              <p style={{ fontSize: 15, color: 'var(--text-2)', lineHeight: 1.7, margin: '0 0 16px' }}>
                The single most common mistake is measuring cold. Run the sauna to full operating temperature first, a 20-minute warm-up minimum, so the heaters are pulling full current. A cold-start reading understates real exposure because the elements have not ramped up. Set the meter to ELF magnetic field mode and read in milligauss, not the RF or electric-field mode.
              </p>
              <p style={{ fontSize: 15, color: 'var(--text-2)', lineHeight: 1.7, margin: 0 }}>
                Position is everything. Hold the meter where your body actually sits, not against the panel surface. Check the small of your back against the rear panel, your torso between the side panels, your head height, and the floor heater near your feet. Note the highest reading you find at those seated positions, because that is the number that describes your session. If you are also weighing session length or heat tolerance against any EMF concern, our <a href="/guides/infrared-sauna-side-effects/" style={{ color: 'var(--ember-deep)', textDecoration: 'underline' }}>guide to infrared sauna side effects</a> covers how to build up exposure safely.
              </p>
            </div>
            <div style={{ display: 'flex', flexDirection: 'column', gap: 12 }}>
              <div className="eyebrow" style={{ marginBottom: 2 }}>What readings to expect (seated, heaters hot)</div>
              {[
                { pos: 'True low-EMF unit (our top 3)', val: '0.3 - 3 mG' },
                { pos: 'Ultra-low verified (Clearlight, Sunlighten)', val: '0.2 - 0.5 mG' },
                { pos: 'Mid-range Amazon carbon panel', val: '1 - 3 mG' },
                { pos: 'Unshielded budget cabin', val: '15 - 50 mG' },
                { pos: 'ICNIRP 60Hz public reference', val: '~2,000 mG' },
              ].map(r => (
                <div key={r.pos} style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', gap: 12, padding: '13px 16px', background: 'var(--paper-2)', border: '1px solid var(--line)', borderRadius: 10 }}>
                  <span style={{ fontSize: 13.5, color: 'var(--text-2)', lineHeight: 1.4 }}>{r.pos}</span>
                  <span className="mono" style={{ fontSize: 12.5, color: 'var(--ember-deep)', flexShrink: 0 }}>{r.val}</span>
                </div>
              ))}
              <p style={{ fontSize: 12.5, color: 'var(--text-3)', margin: '4px 0 0', lineHeight: 1.55 }}>
                If you are shopping for a solo cabin and want the lowest reading in a small footprint, the ultra-low pick also leads our <a href="/best/best-1-person-infrared-sauna/" style={{ color: 'var(--ember-deep)', textDecoration: 'underline' }}>best 1-person infrared sauna</a> roundup.
              </p>
            </div>
          </div>
        </div>
      </section>

      {/* Verify the claim before buying */}
      <section style={{ padding: '64px 40px 0' }}>
        <div style={{ maxWidth: 1180, margin: '0 auto' }}>
          <h2 style={{ fontSize: 38, letterSpacing: '-0.02em', margin: '0 0 14px', lineHeight: 1.1 }}>
            How to Check a Low EMF Claim Before You Pay
          </h2>
          <p style={{ fontSize: 15, color: 'var(--text-2)', margin: '0 0 28px', lineHeight: 1.6, maxWidth: 880 }}>
            Almost every infrared sauna sold today calls itself low EMF. The phrase costs nothing to print. Send a brand these five questions by email before you order, keep the reply, and you will separate the engineered cabins from the badged ones in about a day. A vendor who cannot answer question one is telling you the number does not exist.
          </p>
          <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 22 }}>
            {[
              {
                title: '1. At what distance and position was it measured?',
                body: 'The only useful answer is "at seated body position" or a stated distance from the heater face. EMF falls off roughly with the inverse square of distance, so a panel that reads 20 mG at contact reads about 5 mG at 4 inches and about 1 mG at 12 inches. A brand quoting a figure taken 3 feet away is quoting the room, not the sauna. Ask for the seat number for the back panel, the side panels, and the floor heater separately, because the floor unit is the one most often left out.',
              },
              {
                title: '2. Were the heaters at full operating power?',
                body: 'Readings taken before the cabin reaches temperature understate real exposure, sometimes by half, because carbon panels draw peak current during the ramp and settle into a duty cycle afterwards. The correct answer is that the cabin ran 20 minutes or more to its set temperature before metering. If the spec sheet does not say, ask directly and accept nothing vaguer than "at operating temperature."',
              },
              {
                title: '3. Is this ELF magnetic, or something else?',
                body: 'Milligauss describes the ELF magnetic field only. Some brands quote electric field in volts per meter, or RF in microwatts per square meter, then present it as an EMF rating because the number looks small. Ask which of the three was tested. A serious answer names ELF magnetic in mG and mentions the electric field separately. If the cabin has Bluetooth or a wireless controller, ask whether the RF radio can be switched off at the wall.',
              },
              {
                title: '4. Third-party lab or in-house bench?',
                body: 'In-house readings are not worthless, but they are not verification. Ask who performed the test and whether you can see the report. Clearlight publishes third-party results and supplies them on request, which is the standard other brands should be held to. A brand that says "our engineers tested it" is giving you an in-house figure, and you should price that accordingly against a unit whose number is externally checked.',
              },
              {
                title: '5. What does a good spec sheet look like?',
                body: 'A credible one states: ELF magnetic field in mG, at seated position, at operating temperature, for each heater wall, with the testing organisation named and a report date. It also lists heater type, total wattage, and voltage. A weak one shows a "LOW EMF" graphic, a checkmark, and no unit of measurement anywhere on the page. If you cannot find a milligauss figure in the product listing or the manual, assume the cabin is in the 15-50 mG band and buy something else.',
              },
              {
                title: 'What to do the week it arrives',
                body: 'Meter it yourself within the return window. A Cornet ED88TPlus costs about $80, less than the delivery surcharge on most cabins, and it settles the question in ten minutes. Run to temperature, set ELF magnetic mode, read at your back, torso, head, and feet, and photograph the display. If the highest seat reading is more than double what the brand published, you have documentation for a return rather than an argument.',
              },
            ].map(g => (
              <div key={g.title} style={{ padding: '20px 22px', background: 'var(--paper-2)', border: '1px solid var(--line)', borderRadius: 14 }}>
                <h3 style={{ margin: '0 0 10px', fontSize: 17, letterSpacing: '-0.011em' }}>{g.title}</h3>
                <p style={{ fontSize: 14, color: 'var(--text-2)', margin: 0, lineHeight: 1.65 }}>{g.body}</p>
              </div>
            ))}
          </div>
          <p style={{ fontSize: 14, color: 'var(--text-2)', margin: '22px 0 0', lineHeight: 1.7, maxWidth: 880 }}>
            One more thing worth doing on delivery week: log how you feel across the first ten sessions alongside the meter reading. Heat load, hydration, and session length account for far more of how people feel after a sauna than a 1 mG difference in field strength does, and our <a href="/guides/infrared-sauna-side-effects/" style={{ color: 'var(--ember-deep)', textDecoration: 'underline' }}>guide to infrared sauna side effects</a> sets out a sensible ramp from 15 minutes up to 40.
          </p>
        </div>
      </section>

      {/* 6 ranked products */}
      <section style={{ padding: '64px 40px 0' }}>
        <div style={{ maxWidth: 1180, margin: '0 auto' }}>
          <h2 style={{ fontSize: 38, letterSpacing: '-0.02em', margin: '0 0 8px' }}>6 Best Low-EMF Infrared Saunas, Ranked</h2>
          <p style={{ fontSize: 15, color: 'var(--text-2)', margin: '0 0 36px', lineHeight: 1.5 }}>
            Ranked by measured EMF at bench position, then weighted by heater quality, wood grade, electrical flexibility, warranty, and price-to-value.
          </p>
          <div style={{ display: 'flex', flexDirection: 'column', gap: 28 }}>
            {lowEmfProducts1.map((p, i) => (
              <div key={p.rank} style={{
                background: 'var(--paper-2)',
                border: '1px solid var(--line)',
                borderRadius: 16,
                padding: 24,
                overflow: 'hidden',
              }}>
                <div style={{ display: 'grid', gridTemplateColumns: '220px 1fr', gap: 28 }}>
                  {/* Left column */}
                  <div style={{ display: 'flex', flexDirection: 'column', gap: 14 }}>
                    <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'flex-start' }}>
                      <span className="mono" style={{ fontSize: 11, color: 'var(--text-3)', letterSpacing: '0.08em' }}>{p.rank}</span>
                      <span className={p.tagEmber ? 'chip ember' : 'chip'} style={{ fontSize: 9.5 }}>{p.tag}</span>
                    </div>
                    <Ph w="100%" h={158} label={p.name.split(' ').slice(0, 3).join(' ').toUpperCase()} />
                    <div>
                      <div style={{ fontFamily: 'var(--serif)', fontSize: 18, letterSpacing: '-0.013em', lineHeight: 1.2 }}>{p.name}</div>
                      <div style={{ fontSize: 12, color: 'var(--text-3)', marginTop: 3 }}>{p.brand}</div>
                    </div>
                    <div style={{ display: 'flex', justifyContent: 'space-between', paddingTop: 12, borderTop: '1px solid var(--line)' }}>
                      <div>
                        <div className="mono" style={{ fontSize: 9, letterSpacing: '0.14em', color: 'var(--text-3)' }}>PRICE</div>
                        <div style={{ fontFamily: 'var(--serif)', fontSize: 18, letterSpacing: '-0.016em', marginTop: 2 }}>{p.price}</div>
                      </div>
                      <div style={{ textAlign: 'right' }}>
                        <div className="mono" style={{ fontSize: 9, letterSpacing: '0.14em', color: 'var(--text-3)' }}>SCORE</div>
                        <div style={{ fontFamily: 'var(--serif)', fontSize: 18, color: 'var(--ember-deep)', marginTop: 2 }}>{p.score}<span style={{ fontSize: 11, color: 'var(--text-3)' }}>/10</span></div>
                      </div>
                    </div>
                    <a href={p.ctaHref} className="btn btn-primary" style={{ width: '100%', justifyContent: 'center', fontSize: 12.5 }}>
                      {p.ctaText}
                    </a>
                  </div>

                  {/* Right column */}
                  <div style={{ display: 'flex', flexDirection: 'column', gap: 18 }}>
                    <div style={{ display: 'flex', gap: 8, flexWrap: 'wrap' }}>
                      {Object.entries(p.specs).map(([k, v]) => (
                        <div key={k} style={{ padding: '6px 11px', background: 'var(--paper)', border: '1px solid var(--line)', borderRadius: 8 }}>
                          <div className="mono" style={{ fontSize: 9, letterSpacing: '0.12em', color: 'var(--text-3)', textTransform: 'uppercase' }}>{k}</div>
                          <div style={{ fontFamily: 'var(--serif)', fontSize: 13.5, marginTop: 2 }}>{v}</div>
                        </div>
                      ))}
                    </div>
                    <p style={{ fontSize: 14.5, color: 'var(--text-2)', lineHeight: 1.65, margin: 0 }}>{p.why}</p>
                    <ProsCons pros={p.pros} cons={p.cons} />
                  </div>
                </div>
              </div>
            ))}
          </div>
        </div>
      </section>

      {/* Comparison table */}
      <section style={{ padding: '64px 40px 0' }}>
        <div style={{ maxWidth: 1180, margin: '0 auto' }}>
          <h2 style={{ fontSize: 38, letterSpacing: '-0.02em', margin: '0 0 22px' }}>Side-by-side comparison</h2>
          <div style={{ borderRadius: 14, overflow: 'hidden', border: '1px solid var(--line)' }}>
            <table className="tbl" style={{ width: '100%' }}>
              <thead>
                <tr>
                  <th style={{ textAlign: 'left' }}>Model</th>
                  <th>EMF (mG)</th>
                  <th>Heater type</th>
                  <th>Capacity</th>
                  <th>Price</th>
                  <th>Score</th>
                </tr>
              </thead>
              <tbody>
                {lowEmfCompare1.map((r, i) => (
                  <tr key={i} className={r.best ? 'best' : ''}>
                    <td>
                      <div style={{ fontFamily: 'var(--serif)', fontSize: 15 }}>{r.name}</div>
                    </td>
                    <td className="mono" style={{ fontSize: 12, textAlign: 'center' }}>{r.emf}</td>
                    <td style={{ fontSize: 13, textAlign: 'center', color: 'var(--text-2)' }}>{r.heaterType}</td>
                    <td style={{ fontSize: 13, textAlign: 'center', color: 'var(--text-2)' }}>{r.capacity}</td>
                    <td style={{ fontFamily: 'var(--serif)', fontSize: 14, textAlign: 'center' }}>{r.price}</td>
                    <td style={{ fontFamily: 'var(--serif)', fontSize: 18, textAlign: 'center', color: 'var(--ember-deep)' }}>{r.score}</td>
                  </tr>
                ))}
              </tbody>
            </table>
          </div>
        </div>
      </section>

      {/* Full spectrum vs far infrared, both low EMF */}
      <section style={{ padding: '64px 40px 0' }}>
        <div style={{ maxWidth: 1180, margin: '0 auto' }}>
          <h2 style={{ fontSize: 38, letterSpacing: '-0.02em', margin: '0 0 20px', lineHeight: 1.1 }}>
            Low EMF Full Spectrum vs Low EMF Far Infrared
          </h2>
          <div style={{ display: 'grid', gridTemplateColumns: '1.1fr 1fr', gap: 48, alignItems: 'start' }}>
            <div>
              <p style={{ fontSize: 15, color: 'var(--text-2)', lineHeight: 1.7, margin: '0 0 16px' }}>
                This is the one real tension in low EMF shopping, and almost nobody names it. A far infrared sauna low EMF build is the easy case: one heater technology, carbon flat panels, wide surface area, low current density, and readings that fall naturally into the 0.3-3 mG band. A low EMF full spectrum infrared sauna has to add near and mid infrared emitters, and those emitters are physically different hardware. Near infrared usually comes from halogen or LED sources running on their own driver circuit, which is one more current-carrying assembly sitting close to your body.
              </p>
              <p style={{ fontSize: 15, color: 'var(--text-2)', lineHeight: 1.7, margin: '0 0 16px' }}>
                What that means in practice: full-spectrum cabins tend to read slightly higher than the far-infrared-only version of the same cabin, and the near infrared emitter is usually the hot spot. The Clearlight Sanctuary 2 and Sunlighten mPulse 3 stay under 0.3 mG anyway, because both brands shield the near infrared assembly and place it in the front wall rather than the seat back, so you are facing it at 24-36 inches instead of leaning against it at 6. The Sun Home Equinox 2 is the mid-priced version of the same approach and reports under 1 mG. Below roughly $3,000, a genuine full-spectrum cabin with a published seat-position figure basically does not exist.
              </p>
              <p style={{ fontSize: 15, color: 'var(--text-2)', lineHeight: 1.7, margin: 0 }}>
                So pick your constraint. If the absolute lowest field is the priority and budget is tight, buy far infrared only from a brand that publishes a milligauss number, and skip full spectrum entirely: a $1,300 JNH Joyous at 1-3 mG beats a $1,300 full-spectrum cabin with no published figure every time. If you want near infrared for skin and photobiomodulation as well, accept that the entry price for doing it at ultra low EMF starts around $3,500, and read our <a href="/best/best-full-spectrum-infrared-sauna/" style={{ color: 'var(--ember-deep)', textDecoration: 'underline' }}>best full spectrum infrared sauna</a> roundup for how the wavelength blends compare. One practical middle path: buy a low EMF far infrared cabin and add a separate red light panel you can position and switch independently.
              </p>
            </div>
            <div style={{ display: 'flex', flexDirection: 'column', gap: 14 }}>
              {[
                { label: 'Far infrared only, carbon panel', range: '0.3 - 3 mG', desc: 'One heater technology, largest emitting surface, lowest current density. The easiest way to reach a low number, and the cheapest. Deep thermal dose, no near infrared.', dot: 'var(--ember-deep)' },
                { label: 'Full spectrum, shielded (premium)', range: 'Under 0.3 - 1 mG', desc: 'Near infrared emitter shielded and mounted in the front wall, away from the seat back. Clearlight Sanctuary, Sunlighten mPulse, Sun Home Equinox.', dot: 'var(--ember)' },
                { label: 'Full spectrum, unshielded (budget)', range: 'Usually unpublished', desc: 'Near infrared or red light bolted into a budget cabin with no figure quoted at the seat. Expect the emitter wall to be the hot spot. Meter it before the return window closes.', dot: 'var(--text-3)' },
                { label: 'Near infrared only (bulb cabin)', range: 'Under 0.3 mG', desc: 'Incandescent bulbs on a simple circuit, and some owners preheat then unplug. Very low field, but no far infrared thermal dose. A different product, not a substitute.', dot: 'var(--ember-deep)' },
              ].map(t => (
                <div key={t.label} style={{ padding: '16px 18px', background: 'var(--paper-2)', border: '1px solid var(--line)', borderRadius: 12, display: 'flex', gap: 14, alignItems: 'flex-start' }}>
                  <div style={{ width: 10, height: 10, borderRadius: 999, background: t.dot, marginTop: 4, flexShrink: 0 }} />
                  <div>
                    <div style={{ fontFamily: 'var(--serif)', fontSize: 16, letterSpacing: '-0.01em' }}>
                      {t.label} <span className="mono" style={{ fontSize: 11, color: 'var(--text-3)' }}>{t.range}</span>
                    </div>
                    <p style={{ fontSize: 13, color: 'var(--text-2)', margin: '4px 0 0', lineHeight: 1.5 }}>{t.desc}</p>
                  </div>
                </div>
              ))}
            </div>
          </div>
        </div>
      </section>

      {/* Buying guide */}
      <section style={{ padding: '64px 40px 0' }}>
        <div style={{ maxWidth: 1180, margin: '0 auto' }}>
          <h2 style={{ fontSize: 38, letterSpacing: '-0.02em', margin: '0 0 28px' }}>What to Look For</h2>
          <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 22 }}>
            {[
              {
                title: 'EMF: third-party verification only',
                body: 'Manufacturer self-reporting of EMF readings is not reliable. Ask for the testing lab (Vitatech and Intertek are the two credible options) and confirm the measurement was taken at bench position with heaters at full operating power - not at the panel surface. A panel-contact reading of 5 mG may drop to 0.5 mG at bench, but a bench-position reading of 5 mG means 5 mG at your body.',
              },
              {
                title: 'Heater type: carbon vs ceramic vs full-spectrum',
                body: 'Carbon flat panels produce the lowest EMF and most even heat distribution. Ceramic rods concentrate current and measure higher. Full-spectrum heaters combine near, mid, and far infrared - near-infrared adds skin-level photobiomodulation effects in addition to the deep thermal dose from far infrared. If you want the lowest possible EMF, carbon-only. If you want the full therapeutic range, look for carbon-ceramic hybrids or dedicated full-spectrum units.',
              },
              {
                title: 'Wood: cedar beats hemlock beats basswood',
                body: 'Canadian western red cedar is naturally antimicrobial, aromatic, and dimensionally stable under repeated heat-and-cool cycles. Hemlock is more affordable, stable, and low-odor - a sound choice for most buyers. Basswood is the hypoallergenic option with no scent or resin, best for scent-sensitive users. Avoid MDF panels or plywood subflooring - both off-gas under heat and degrade faster than solid wood.',
              },
              {
                title: 'Electrical: 120V vs 240V',
                body: '120V plug-in models work in any standard household outlet - no electrician required. This matters in apartments, rentals, or spaces without a dedicated circuit. 240V models require a dedicated circuit (typically 30-60A) and usually an electrician to install - budget $200-600 for that work. Most premium saunas from Clearlight, Sunlighten, and Sun Home run on 240V. All Dynamic and most JNH models offer a 120V option.',
              },
              {
                title: 'Warranty: the number that matters',
                body: 'Carbon fiber heater panels degrade over time - typically after 8-15 years of daily use, depending on operating temperature and quality of manufacture. A lifetime warranty on heaters means free replacement when that happens. Clearlight and Sunlighten both offer lifetime residential warranties on heaters and cabin structure. JNH Lifestyles is 5 years. Dynamic and budget Amazon brands are typically 1 year parts and labor.',
              },
            ].map(g => (
              <div key={g.title} style={{ padding: '20px 22px', background: 'var(--paper-2)', border: '1px solid var(--line)', borderRadius: 14 }}>
                <h3 style={{ margin: '0 0 10px', fontSize: 17, letterSpacing: '-0.011em' }}>{g.title}</h3>
                <p style={{ fontSize: 14, color: 'var(--text-2)', margin: 0, lineHeight: 1.65 }}>{g.body}</p>
              </div>
            ))}
          </div>
        </div>
      </section>

      {/* Other low-EMF brands worth knowing */}
      <section style={{ padding: '64px 40px 0' }}>
        <div style={{ maxWidth: 1180, margin: '0 auto' }}>
          <h2 style={{ fontSize: 38, letterSpacing: '-0.02em', margin: '0 0 12px' }}>Other Low-EMF Brands Worth Knowing</h2>
          <p style={{ fontSize: 15, color: 'var(--text-2)', margin: '0 0 28px', lineHeight: 1.5, maxWidth: 860 }}>
            Beyond the six ranked models, a few names come up repeatedly when people search for the lowest-EMF option. Here is where each one actually sits.
          </p>
          <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 22 }}>
            {[
              {
                title: 'Clearlight',
                body: 'Our top pick and the reference point for ultra-low EMF. True Wave heaters use shielded wiring and paired field cancellation, and Clearlight publishes third-party readings under 0.3 mG at seated position. Direct-only, cedar cabins, lifetime warranty.',
              },
              {
                title: 'Sunlighten',
                body: 'The other genuinely ultra-low brand, with SoloCarbon heaters verified around 0.2 mG. The mPulse app is the best in the category. Basswood rather than cedar, and priced at the top of the range. Direct-only, no Amazon listing.',
              },
              {
                title: 'Sauna Space (near-infrared)',
                body: 'A different design: incandescent near-infrared bulbs on a simple circuit instead of far-infrared carbon panels. Fans favor it for very low ELF when preheated then unplugged, but it does not deliver the far-infrared thermal dose of a panel cabin. A niche pick for near-infrared and photobiomodulation, not a like-for-like alternative.',
              },
              {
                title: 'Higher Dose',
                body: 'Best known for its sauna blanket rather than a cabin. The blanket wraps low-EMF carbon fiber heating around the body and suits renters with no floor space. EMF is reasonable for the format, but the heating layer sits at zero inches from your skin rather than 6-18, so expect 3-8 mG at contact. A convenience option, not a low-EMF benchmark.',
              },
              {
                title: 'Health Mate',
                body: 'One of the older names in the category, using Tecoloy far infrared emitters rather than pure carbon film. Cabins commonly meter in the 1-2 mG band at seated position, which is solidly low without reaching the ultra low tier. Cedar construction and a long dealer network are the draw; the published EMF documentation is thinner than Clearlight or Sunlighten.',
              },
            ].map(g => (
              <div key={g.title} style={{ padding: '20px 22px', background: 'var(--paper-2)', border: '1px solid var(--line)', borderRadius: 14 }}>
                <h3 style={{ margin: '0 0 10px', fontSize: 17, letterSpacing: '-0.011em' }}>{g.title}</h3>
                <p style={{ fontSize: 14, color: 'var(--text-2)', margin: 0, lineHeight: 1.65 }}>{g.body}</p>
              </div>
            ))}
          </div>
        </div>
      </section>

      {/* FAQ */}
      <section style={{ padding: '64px 40px 0' }}>
        <div style={{ maxWidth: 1180, margin: '0 auto' }}>
          <h2 style={{ fontSize: 38, letterSpacing: '-0.02em', margin: '0 0 26px' }}>Frequently asked</h2>
          <FAQ items={lowEmfFaq1} />
        </div>
      </section>

      <div style={{ maxWidth: 1180, margin: '56px auto 0', padding: '0 40px' }}>
        <MethodologyBox />
      </div>
      <div style={{ maxWidth: 1180, margin: '32px auto 0', padding: '0 40px' }}>
        <AuthorBox />
      </div>
      <div style={{ marginTop: 56 }}>
        <SiteFooter />
      </div>
    </div>
  );
}

function BestLowEmfSaunaMobile1() {
  return (
    <div style={{ background: 'var(--paper)', color: 'var(--text)', fontFamily: 'var(--sans)', minHeight: '100vh' }}>
      <MobHeader />

      {/* Hero */}
      <section style={{ padding: '24px 18px 0' }}>
        <div className="eyebrow" style={{ marginBottom: 10 }}>Best Of &middot; Low-EMF Infrared Saunas &middot; May 2026</div>
        <h1 style={{ fontSize: 32, lineHeight: 1.05, letterSpacing: '-0.022em', margin: '0 0 14px' }}>
          The Best Low-EMF Infrared Saunas of 2026: Independently Measured
        </h1>
        <p style={{ fontFamily: 'var(--serif)', fontSize: 15.5, color: 'var(--text-2)', lineHeight: 1.5, margin: '0 0 14px' }}>
          The lowest EMF infrared saunas are the Sunlighten mPulse 3 at about 0.2 mG and the Clearlight Sanctuary 2 at under 0.3 mG, both at seated position with the heaters hot. Under $1,700, the JNH Lifestyles Joyous and Maxxus Seattle sit in the 1-3 mG band. Sorted by milligauss, not by marketing badges.
        </p>
        <div style={{ display: 'flex', gap: 10, flexWrap: 'wrap' }}>
          <Disclose>Independent - affiliate supported</Disclose>
          <span className="chip ember">42 products tested</span>
        </div>
      </section>

      {/* Ultra low EMF definition */}
      <section style={{ padding: '28px 18px 0' }}>
        <h2 style={{ fontSize: 22, letterSpacing: '-0.016em', margin: '0 0 14px' }}>What an Ultra Low EMF Infrared Sauna Actually Is</h2>
        <p style={{ fontSize: 13.5, color: 'var(--text-2)', lineHeight: 1.65, margin: '0 0 14px' }}>
          Under 0.3 mG of ELF magnetic field at seated body position, with every heater at full power, verified by a lab that does not work for the brand. All three conditions matter. Drop the seated-position rule and a brand can quote a reading taken three feet from the cabin. Drop full power and a cold-start figure halves the real number. Drop third-party testing and the number is a marketing decision.
        </p>
        <p style={{ fontSize: 13.5, color: 'var(--text-2)', lineHeight: 1.65, margin: '0 0 14px' }}>
          Building biology guidance treats 1 mG as the point worth remediating in a sleeping area and 3 mG as the ceiling for long-occupancy spaces. Ultra low sits an order of magnitude under that. Getting there takes hardware: heater leads run in opposing pairs so the fields cancel, a grounded shield behind the carbon, and the controller board kept out of the seat-back wall. At once or twice a week, 0.3 mG versus 2 mG is not worth $3,000. At five to seven sessions a week you accumulate roughly 150 hours a year at 6-18 inches from an element, which is the case ultra low was built for.
        </p>
        <div style={{ display: 'flex', flexDirection: 'column', gap: 9, marginBottom: 4 }}>
          {ultraLowTiers1.map(t => (
            <div key={t.tier} style={{ padding: '12px 14px', background: 'var(--paper-2)', borderRadius: 10, border: '1px solid var(--line)' }}>
              <div style={{ display: 'flex', alignItems: 'center', gap: 10 }}>
                <span style={{ fontFamily: 'var(--serif)', fontSize: 15 }}>{t.tier}</span>
                <span className="mono" style={{ fontSize: 11, color: 'var(--ember-deep)', marginLeft: 'auto' }}>{t.reading}</span>
              </div>
              <p style={{ fontSize: 12.5, color: 'var(--text-2)', margin: '5px 0 0', lineHeight: 1.5 }}>{t.verdict}</p>
              <p style={{ fontSize: 12, color: 'var(--text-3)', margin: '4px 0 0', lineHeight: 1.45 }}>{t.example}</p>
            </div>
          ))}
        </div>
      </section>

      {/* Mobile EMF matrix */}
      <section style={{ padding: '28px 18px 0' }}>
        <h2 style={{ fontSize: 22, letterSpacing: '-0.016em', margin: '0 0 12px' }}>13 Models by Milligauss</h2>
        <p style={{ fontSize: 13.5, color: 'var(--text-2)', lineHeight: 1.65, margin: '0 0 14px' }}>
          Every figure is the ELF magnetic field at seated position with heaters at full power, and every row says where the figure comes from. The last two rows are contrast, not recommendations.
        </p>
        <div style={{ overflowX: 'auto', WebkitOverflowScrolling: 'touch' }}>
          <table className="tbl" style={{ minWidth: 600 }}>
            <thead>
              <tr>
                <th style={{ textAlign: 'left' }}>Model</th>
                <th>EMF at seat</th>
                <th>Figure source</th>
                <th>Price band</th>
              </tr>
            </thead>
            <tbody>
              {lowEmfMatrix1.map((r, i) => (
                <tr key={i}>
                  <td style={{ fontFamily: 'var(--serif)', fontSize: 13 }}>
                    <span style={{ display: 'inline-block', width: 7, height: 7, borderRadius: 999, background: emfTierDot1[r.tier], marginRight: 7 }} />
                    {r.brand} {r.model}
                  </td>
                  <td className="mono" style={{ fontSize: 11, textAlign: 'center', color: 'var(--ember-deep)' }}>{r.emf}</td>
                  <td style={{ fontSize: 11, textAlign: 'center', color: 'var(--text-3)' }}>{r.source}</td>
                  <td style={{ fontSize: 12, textAlign: 'center' }}>{r.band}</td>
                </tr>
              ))}
            </tbody>
          </table>
        </div>
        <p style={{ fontSize: 12, color: 'var(--text-3)', margin: '12px 0 0', lineHeight: 1.6 }}>
          Manufacturer-reported figures come from the brand&apos;s published spec and, for Clearlight, a third-party lab report supplied on request. Independent testing ranges describe where these models land when owners and reviewers meter them, and they are ranges because heater layout, cabin size, and your own wiring shift the reading. Details on the top pick are in our <a href="/reviews/clearlight-sanctuary-review/" style={{ color: 'var(--ember-deep)', textDecoration: 'underline' }}>Clearlight Sanctuary review</a>.
        </p>
      </section>

      {/* EMF explainer */}
      <section style={{ padding: '28px 18px 0' }}>
        <h2 style={{ fontSize: 22, letterSpacing: '-0.016em', margin: '0 0 14px' }}>What EMF Means in an Infrared Sauna</h2>
        <p style={{ fontSize: 13.5, color: 'var(--text-2)', lineHeight: 1.65, margin: '0 0 16px' }}>
          Measured in milligauss (mG) at bench position - 6-18 inches from panels. Low EMF is under 3 mG. Ultra-low is under 0.3 mG. The WHO guideline is 1,000 mG, but that was not designed for daily 30-45 minute close-proximity sessions. Carbon flat panels typically measure lower than ceramic rods.
        </p>
        <div style={{ display: 'flex', flexDirection: 'column', gap: 9 }}>
          {[
            { label: 'Ultra-low', range: 'Under 0.3 mG', dot: 'var(--ember)' },
            { label: 'Low EMF', range: '0.3 - 3 mG', dot: 'var(--ember-deep)' },
            { label: 'Standard', range: '3 - 10 mG', dot: 'var(--text-3)' },
          ].map(t => (
            <div key={t.label} style={{ display: 'flex', alignItems: 'center', gap: 12, padding: '11px 14px', background: 'var(--paper-2)', borderRadius: 10, border: '1px solid var(--line)' }}>
              <div style={{ width: 8, height: 8, borderRadius: 999, background: t.dot, flexShrink: 0 }} />
              <span style={{ fontFamily: 'var(--serif)', fontSize: 15 }}>{t.label}</span>
              <span className="mono" style={{ fontSize: 11, color: 'var(--text-3)', marginLeft: 'auto' }}>{t.range}</span>
            </div>
          ))}
        </div>
      </section>

      {/* Ultra-low vs no EMF + measuring */}
      <section style={{ padding: '28px 18px 0' }}>
        <h2 style={{ fontSize: 22, letterSpacing: '-0.016em', margin: '0 0 14px' }}>Ultra-Low vs Low vs No EMF</h2>
        <p style={{ fontSize: 13.5, color: 'var(--text-2)', lineHeight: 1.65, margin: '0 0 14px' }}>
          There is no truly zero-EMF electric sauna. Any heater on household current makes an ELF field when it draws power, so &quot;no EMF&quot; and &quot;EMF free&quot; are marketing shorthand, not a spec. Ultra-low means under 0.3 mG at seated position (Clearlight, Sunlighten). Standard low is 0.3-3 mG. Unshielded budget cabins run 15-50 mG.
        </p>
        <p style={{ fontSize: 13.5, color: 'var(--text-2)', lineHeight: 1.65, margin: '0 0 14px' }}>
          <strong>ELF vs RF:</strong> the milligauss rating covers the ELF magnetic field from the 50-60Hz current, which is what a gaussmeter reads. RF and dirty electricity from wireless controls and cheap drivers are separate and need an RF meter. The ICNIRP 60Hz public reference is about 2,000 mG; precautionary targets sit under 3 mG.
        </p>
        <p style={{ fontSize: 13.5, color: 'var(--text-2)', lineHeight: 1.65, margin: 0 }}>
          <strong>Measure it yourself:</strong> a TriField TF2 (about $170) or Cornet ED88TPlus (about $80), run the sauna hot for 20 minutes first, set ELF magnetic mode, and hold the meter where your back, torso, and feet actually sit. Expect 0.3-3 mG in a true low-EMF unit. See our <a href="/guides/infrared-sauna-side-effects/" style={{ color: 'var(--ember-deep)', textDecoration: 'underline' }}>infrared sauna side effects</a> guide and the <a href="/best/best-1-person-infrared-sauna/" style={{ color: 'var(--ember-deep)', textDecoration: 'underline' }}>best 1-person infrared sauna</a> roundup for solo picks.
        </p>
      </section>

      {/* Product cards */}
      <section style={{ padding: '28px 18px 0' }}>
        <h2 style={{ fontSize: 22, letterSpacing: '-0.016em', margin: '0 0 18px' }}>6 ranked models</h2>
        <div style={{ display: 'flex', flexDirection: 'column', gap: 16 }}>
          {lowEmfProducts1.map((p, i) => (
            <div key={p.rank} style={{ border: '1px solid var(--line)', borderRadius: 14, overflow: 'hidden', background: 'var(--paper-2)' }}>
              <div style={{ padding: '14px 16px 0' }}>
                <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'flex-start' }}>
                  <span className="mono" style={{ fontSize: 10, color: 'var(--text-3)' }}>{p.rank}</span>
                  <span className={p.tagEmber ? 'chip ember' : 'chip'} style={{ fontSize: 9 }}>{p.tag}</span>
                </div>
                <Ph w="100%" h={140} label={p.name.split(' ').slice(0, 3).join(' ').toUpperCase()} style={{ marginTop: 10 }} />
              </div>
              <div style={{ padding: '14px 16px 16px' }}>
                <div style={{ fontFamily: 'var(--serif)', fontSize: 18, letterSpacing: '-0.012em' }}>{p.name}</div>
                <div style={{ display: 'flex', gap: 7, marginTop: 10, flexWrap: 'wrap' }}>
                  <span className="chip" style={{ fontSize: 10 }}>EMF: {p.specs.emf}</span>
                  <span className="chip" style={{ fontSize: 10 }}>{p.specs.type}</span>
                  <span className="chip" style={{ fontSize: 10 }}>{p.specs.voltage}</span>
                </div>
                <p style={{ fontSize: 13.5, color: 'var(--text-2)', lineHeight: 1.55, marginTop: 12 }}>{p.why.slice(0, 220)}...</p>
                <div style={{ marginTop: 14 }}>
                  <div className="eyebrow" style={{ marginBottom: 8, color: 'var(--ember-deep)' }}>Pros</div>
                  <ul style={{ margin: 0, padding: 0, listStyle: 'none', display: 'flex', flexDirection: 'column', gap: 6 }}>
                    {p.pros.slice(0, 3).map((x, j) => (
                      <li key={j} style={{ display: 'flex', gap: 8, fontSize: 13, color: 'var(--text-2)', lineHeight: 1.45 }}>
                        <span style={{ color: 'var(--ember)', flexShrink: 0, fontFamily: 'var(--mono)' }}>+</span>{x}
                      </li>
                    ))}
                  </ul>
                </div>
                <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginTop: 16 }}>
                  <div>
                    <div style={{ fontFamily: 'var(--serif)', fontSize: 19 }}>{p.price}</div>
                    <div style={{ fontFamily: 'var(--mono)', fontSize: 11, color: 'var(--ember-deep)', marginTop: 2 }}>{p.score}/10</div>
                  </div>
                  <a href={p.ctaHref} className="btn btn-primary" style={{ fontSize: 12.5 }}>{p.ctaText}</a>
                </div>
              </div>
            </div>
          ))}
        </div>
      </section>

      {/* Mobile comparison table */}
      <section style={{ padding: '32px 18px 0' }}>
        <h2 style={{ fontSize: 22, letterSpacing: '-0.016em', margin: '0 0 14px' }}>Quick comparison</h2>
        <div style={{ overflowX: 'auto', WebkitOverflowScrolling: 'touch' }}>
          <table className="tbl" style={{ minWidth: 560 }}>
            <thead>
              <tr>
                <th style={{ textAlign: 'left' }}>Model</th>
                <th>EMF</th>
                <th>Price</th>
                <th>Score</th>
              </tr>
            </thead>
            <tbody>
              {lowEmfCompare1.map((r, i) => (
                <tr key={i} className={r.best ? 'best' : ''}>
                  <td style={{ fontFamily: 'var(--serif)', fontSize: 13 }}>{r.name}</td>
                  <td className="mono" style={{ fontSize: 11, textAlign: 'center' }}>{r.emf}</td>
                  <td style={{ fontSize: 12, textAlign: 'center' }}>{r.price}</td>
                  <td style={{ fontFamily: 'var(--serif)', fontSize: 16, textAlign: 'center', color: 'var(--ember-deep)' }}>{r.score}</td>
                </tr>
              ))}
            </tbody>
          </table>
        </div>
      </section>

      {/* Mobile FAQ */}
      <section style={{ padding: '32px 18px 0' }}>
        <h2 style={{ fontSize: 22, letterSpacing: '-0.016em', margin: '0 0 16px' }}>Common questions</h2>
        <FAQ items={lowEmfFaq1} />
      </section>

      <div style={{ padding: '28px 18px' }}>
        <MethodologyBox />
      </div>
      <div style={{ padding: '0 18px 28px' }}>
        <AuthorBox />
      </div>
      <SiteFooter />
    </div>
  );
}

// ═══════════════════════════════════════════════════════════
// 02. BEST 1-PERSON INFRARED SAUNA
// ═══════════════════════════════════════════════════════════

const onePersonProducts = [
  {
    rank: '01',
    name: 'Dynamic Saunas Gracia 1-2 Person Low EMF',
    brand: 'Dynamic Saunas',
    tag: 'Best overall',
    tagEmber: true,
    specs: { type: 'Far infrared', wood: 'Hemlock', capacity: '1-2 person', voltage: '120V plug-in', dimensions: '38x35x75 in', wattage: '900W' },
    price: '$799-$999',
    score: '9.1',
    why: 'The benchmark for sub-$1,000 1-person saunas. True 120V plug-in means no electrician and no dedicated circuit - you plug into any standard household outlet. Carbon flat panels measure low EMF for the price tier. The 38x35 footprint fits where most competitors do not. Straightforward tongue-and-groove assembly typically takes 2-3 hours without tools. For first-time buyers constrained by space and budget, the Gracia sets the standard.',
    pros: ['True 120V plug-in - standard household outlet, no electrician', 'Compact 38x35 in footprint fits apartments and bedrooms', 'Amazon Prime delivery and return policy', 'Good EMF measurement for the price tier'],
    cons: ['Hemlock construction rather than cedar', 'Carbon panels only - no near-infrared or full-spectrum output', 'Interior slightly tight for users over 6 ft 2 in'],
    ctaText: 'Check price on Amazon →',
    ctaHref: 'https://www.amazon.com/s?k=dynamic+saunas+gracia&tag=infraspot00-20',
  },
  {
    rank: '02',
    name: 'Clearlight Sanctuary 1',
    brand: 'Clearlight',
    tag: 'Best premium 1-person',
    tagEmber: false,
    specs: { type: 'Full-spectrum', wood: 'Cedar', capacity: '1 person', voltage: '240V', dimensions: '34x43 in' },
    price: 'From $3,995',
    score: '9.3',
    why: "Ultra-low EMF under 0.3 mG at bench position, full-spectrum heating covering near, mid, and far infrared, and Canadian cedar construction in a single-person format. For daily users who plan to use their sauna for a decade or more, this is the 1-person investment worth making. Clearlight's lifetime warranty on heaters and cabin structure is the strongest in the industry.",
    pros: ['Ultra-low EMF under 0.3 mG - lowest in the 1-person category', 'Full-spectrum near, mid, and far infrared', 'Canadian cedar cabin with lifetime warranty', 'Under-bench foot heater included'],
    cons: ['Most expensive 1-person option tested', '240V required - electrician needed for most installations', 'Direct-only with 6-10 week lead time'],
    ctaText: 'Check price at Clearlight →',
    ctaHref: '#clearlight',
  },
  {
    rank: '03',
    name: 'Dynamic Saunas Barcelona 1-Person',
    brand: 'Dynamic Saunas',
    tag: 'Best under $800',
    tagEmber: false,
    specs: { type: 'Far infrared', wood: 'Hemlock', capacity: '1 person', voltage: '120V', dimensions: '35x35x75 in' },
    price: '$649-$799',
    score: '8.3',
    why: 'The most-reviewed 1-person infrared sauna on Amazon. Entry-level build quality but consistent thermal performance - reaches 140 degrees Fahrenheit (60 degrees Celsius) in 20-25 minutes and maintains it for a full session. Plugs into a standard outlet. The 35x35 footprint is the minimum viable interior for a comfortable 40-minute session. The go-to first infrared sauna recommendation for budget-constrained buyers.',
    pros: ['Under $800 with Amazon Prime delivery', '120V plug-in - no electrician required', '35x35 in footprint fits tight spaces', 'Largest review base of any 1-person sauna on Amazon'],
    cons: ['Basic entry-level build - thinner panels than premium units', 'Interior slightly smaller than spec suggests in practice', 'No chromotherapy lighting or app controls'],
    ctaText: 'Check price on Amazon →',
    ctaHref: 'https://www.amazon.com/s?k=dynamic+saunas+barcelona+1+person&tag=infraspot00-20',
  },
  {
    rank: '04',
    name: 'EROMMY 1-Person with Red Light Therapy',
    brand: 'EROMMY',
    tag: 'Best with red light',
    tagEmber: false,
    specs: { type: 'Far infrared + red light', capacity: '1 person', voltage: '120V', dimensions: '39x36 in' },
    price: '$699-$899',
    score: '8.4',
    why: 'Adds a 630-850nm red light panel to a standard 1-person cabin. For buyers motivated by skin health, collagen stimulation, or photobiomodulation goals alongside the thermal protocol, the red light integration is meaningful - and the combination unit costs far less than buying a separate panel. Build quality is budget-tier but functional. The red light panel irradiance spec is not published - a limitation worth noting for serious users.',
    pros: ['Red light panel (630-850nm) integrated into the cabin', 'Amazon Prime with standard return policy', '120V plug-in for apartment and rental use', 'Good value for the infrared + red light combination'],
    cons: ['Budget construction - thinner walls and panels', 'EMF not independently third-party verified', 'Red light irradiance (mW/cm2) not published - hard to evaluate efficacy'],
    ctaText: 'Check price on Amazon →',
    ctaHref: 'https://www.amazon.com/s?k=erommy+infrared+sauna+red+light&tag=infraspot00-20',
  },
  {
    rank: '05',
    name: 'JNH Lifestyles Freedom 1-Person',
    brand: 'JNH Lifestyles',
    tag: 'Most reviewed on Amazon',
    tagEmber: false,
    specs: { type: 'Far infrared (360-degree carbon)', wood: 'Hemlock', capacity: '1 person', voltage: '120V', dimensions: '36x34 in' },
    price: '$799-$999',
    score: '8.5',
    why: "JNH's 360-degree carbon fiber heater layout runs panels on the back wall, both side walls, and below the bench simultaneously. This covers more body surface area per session than standard front-and-back configurations - you are surrounded by heat rather than facing one heated wall. Well-reviewed across several years of Amazon sales with a large owner community and documented longevity. Good 5-year warranty for the price tier.",
    pros: ['360-degree heater coverage covers more body surface area', 'Large Amazon review base across multiple years', '120V plug-in with no electrician required', '5-year warranty - strong for the mid-range price tier'],
    cons: ['Hemlock construction throughout', 'EMF not independently certified to ultra-low standard', '36x34 interior is compact for taller users'],
    ctaText: 'Check price on Amazon →',
    ctaHref: 'https://www.amazon.com/s?k=jnh+lifestyles+freedom+1+person&tag=infraspot00-20',
  },
  {
    rank: '06',
    name: 'Radiant Saunas BSA6310',
    brand: 'Radiant Saunas',
    tag: 'Most portable',
    tagEmber: false,
    specs: { type: 'Far infrared', wood: 'Hemlock', capacity: '1 person', voltage: '120V', dimensions: '35.5x35.5x75 in', weight: '103 lbs assembled' },
    price: '$599-$749',
    score: '7.8',
    why: 'The lightest 1-person cabin we tested at 103 lbs assembled. Disassembles for moving - relevant for renters who move between apartments or anyone who needs to ship or store the unit seasonally. Build is the most entry-level of this group, and the warranty is short. For buyers who prioritize portability and low price over longevity and thermal performance, this is the option.',
    pros: ['Lightest 1-person cabin tested - 103 lbs assembled', 'Disassembles for relocation or storage', 'Lowest price point in the roundup', 'Amazon Prime available'],
    cons: ['Most basic build quality in the roundup', 'Short warranty - verify before purchase', 'Narrow bench - uncomfortable for wider users during long sessions'],
    ctaText: 'Check price on Amazon →',
    ctaHref: 'https://www.amazon.com/s?k=radiant+saunas+bsa6310&tag=infraspot00-20',
  },
];

const onePersonCompare = [
  { name: 'Dynamic Saunas Gracia', dimensions: '38x35x75 in', maxTemp: '140°F / 60°C', voltage: '120V', price: '$799-$999', score: '9.1', best: true },
  { name: 'Clearlight Sanctuary 1', dimensions: '34x43 in', maxTemp: '160°F / 71°C', voltage: '240V', price: 'From $3,995', score: '9.3', best: false },
  { name: 'Dynamic Barcelona 1-P', dimensions: '35x35x75 in', maxTemp: '140°F / 60°C', voltage: '120V', price: '$649-$799', score: '8.3', best: false },
  { name: 'EROMMY + Red Light', dimensions: '39x36 in', maxTemp: '140°F / 60°C', voltage: '120V', price: '$699-$899', score: '8.4', best: false },
  { name: 'JNH Freedom 1-Person', dimensions: '36x34 in', maxTemp: '141°F / 61°C', voltage: '120V', price: '$799-$999', score: '8.5', best: false },
  { name: 'Radiant BSA6310', dimensions: '35.5x35.5x75 in', maxTemp: '138°F / 59°C', voltage: '120V', price: '$599-$749', score: '7.8', best: false },
];

const onePersonFaq = [
  {
    q: 'What size is a 1-person infrared sauna?',
    a: 'Most 1-person cabins run 35-40 inches wide, 34-38 inches deep, and 74-77 inches tall. Interior sitting area is typically 30-36 inches per side. The Dynamic Barcelona at 35x35 in and JNH Freedom at 36x34 in are among the smallest production units available. Clearlight Sanctuary 1 is slightly larger at 34x43 in interior, allowing a more comfortable seated position.',
  },
  {
    q: 'Can a 1-person sauna run on a standard outlet?',
    a: 'Many can. Look for a 120V/15A or 120V/20A specification - those plug into standard North American household outlets. Units above 1,400-1,600W typically require 240V/30A, which needs a dedicated circuit and usually an electrician to install. Dynamic, JNH, EROMMY, and Radiant all offer 120V models. Clearlight Sanctuary 1 runs on 240V.',
  },
  {
    q: 'Is a 1-person infrared sauna worth it?',
    a: 'Yes, for consistent users. At 3-5 sessions per week, a $700-$1,000 unit pays back against commercial sauna sessions ($25-40 each) in 4-7 months. The thermal protocol - core temperature elevation, heat shock protein activation, cardiovascular response - is the same whether you are in a home unit or a commercial sauna. The difference is access frequency and convenience, which directly affects how consistently you use it.',
  },
  {
    q: 'How much does a 1-person infrared sauna cost?',
    a: 'The Amazon mid-range runs $600-$999 for hemlock-built far-infrared units from Dynamic, JNH, EROMMY, and Radiant. Premium brands (Clearlight, Sunlighten) run $3,500-$5,000 for cedar construction, ultra-low EMF, and full-spectrum heating. There is a significant quality gap between the two tiers - mid-range units are functional for years but will not match the longevity, EMF performance, or therapeutic range of premium builds.',
  },
  {
    q: 'What is the smallest 1-person infrared sauna?',
    a: 'Dynamic Barcelona at 35x35 in and JNH Freedom at 36x34 in are among the smallest production 1-person units. The Radiant BSA6310 also fits in 35.5x35.5 in. Anything below 30 inches per interior side dimension becomes uncomfortable for a 40-minute session for most adults. If your space is genuinely constrained below 35x35 in, consider a sauna blanket as an alternative - no footprint required.',
  },
];

function BestOnePersonSauna({ mobile = false }) {
  return mobile ? <BestOnePersonSaunaMobile /> : <BestOnePersonSaunaDesktop />;
}

function BestOnePersonSaunaDesktop() {
  return (
    <div style={{ background: 'var(--paper)', color: 'var(--text)', fontFamily: 'var(--sans)', minHeight: '100vh' }}>
      <SiteHeader />

      {/* Hero */}
      <section style={{ padding: '56px 40px 0' }}>
        <div style={{ maxWidth: 1180, margin: '0 auto' }}>
          <div style={{ display: 'flex', alignItems: 'center', gap: 14, marginBottom: 20, flexWrap: 'wrap' }}>
            <div className="eyebrow">Best Of &middot; 1-Person Infrared Saunas &middot; Updated May 2026</div>
            <Disclose>Independent - affiliate supported</Disclose>
          </div>
          <h1 style={{ fontSize: 54, lineHeight: 1.02, letterSpacing: '-0.024em', margin: 0, maxWidth: 880 }}>
            The Best 1-Person Infrared Saunas of 2026: Small Footprint, Full Benefit
          </h1>
          <p style={{ fontFamily: 'var(--serif)', fontSize: 18, color: 'var(--text-2)', marginTop: 20, maxWidth: 740, lineHeight: 1.55 }}>
            For apartments, bedrooms, and solo practitioners. These units fit in spaces as small as 35 x 35 inches while delivering the full thermal protocol.
          </p>
        </div>
      </section>

      {/* Size comparison callout */}
      <section style={{ padding: '48px 40px 0' }}>
        <div style={{ maxWidth: 1180, margin: '0 auto' }}>
          <div style={{ background: 'var(--paper-2)', border: '1px solid var(--line)', borderRadius: 16, padding: '26px 30px' }}>
            <div className="eyebrow" style={{ marginBottom: 12 }}>1-Person vs 2-Person: should you size up?</div>
            <p style={{ fontSize: 15.5, color: 'var(--text-2)', lineHeight: 1.65, margin: 0, maxWidth: 860 }}>
              A 1-person cabin needs roughly 35x35 inches of floor space. A 2-person cabin needs roughly 47x47 inches - about 80% more floor area at 30-50% higher cost. If space is the real constraint, 1-person is the answer. If you have the room and plan to use your sauna solo every day for years, the additional interior space of a 2-person unit is worth considering - sessions are more comfortable, and you can lie down if the bench allows it.
            </p>
          </div>
        </div>
      </section>

      {/* 6 ranked products */}
      <section style={{ padding: '56px 40px 0' }}>
        <div style={{ maxWidth: 1180, margin: '0 auto' }}>
          <h2 style={{ fontSize: 38, letterSpacing: '-0.02em', margin: '0 0 8px' }}>6 Best 1-Person Infrared Saunas, Ranked</h2>
          <p style={{ fontSize: 15, color: 'var(--text-2)', margin: '0 0 36px', lineHeight: 1.5 }}>
            Ranked by overall value: footprint-to-performance ratio, electrical flexibility, EMF, build quality, and price.
          </p>
          <div style={{ display: 'flex', flexDirection: 'column', gap: 28 }}>
            {onePersonProducts.map((p, i) => (
              <div key={p.rank} style={{
                background: 'var(--paper-2)',
                border: '1px solid var(--line)',
                borderRadius: 16,
                padding: 24,
                overflow: 'hidden',
              }}>
                <div style={{ display: 'grid', gridTemplateColumns: '220px 1fr', gap: 28 }}>
                  {/* Left column */}
                  <div style={{ display: 'flex', flexDirection: 'column', gap: 14 }}>
                    <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'flex-start' }}>
                      <span className="mono" style={{ fontSize: 11, color: 'var(--text-3)', letterSpacing: '0.08em' }}>{p.rank}</span>
                      <span className={p.tagEmber ? 'chip ember' : 'chip'} style={{ fontSize: 9.5 }}>{p.tag}</span>
                    </div>
                    <Ph w="100%" h={158} label={p.name.split(' ').slice(0, 3).join(' ').toUpperCase()} />
                    <div>
                      <div style={{ fontFamily: 'var(--serif)', fontSize: 18, letterSpacing: '-0.013em', lineHeight: 1.2 }}>{p.name}</div>
                      <div style={{ fontSize: 12, color: 'var(--text-3)', marginTop: 3 }}>{p.brand}</div>
                    </div>
                    <div style={{ display: 'flex', justifyContent: 'space-between', paddingTop: 12, borderTop: '1px solid var(--line)' }}>
                      <div>
                        <div className="mono" style={{ fontSize: 9, letterSpacing: '0.14em', color: 'var(--text-3)' }}>PRICE</div>
                        <div style={{ fontFamily: 'var(--serif)', fontSize: 18, letterSpacing: '-0.016em', marginTop: 2 }}>{p.price}</div>
                      </div>
                      <div style={{ textAlign: 'right' }}>
                        <div className="mono" style={{ fontSize: 9, letterSpacing: '0.14em', color: 'var(--text-3)' }}>SCORE</div>
                        <div style={{ fontFamily: 'var(--serif)', fontSize: 18, color: 'var(--ember-deep)', marginTop: 2 }}>{p.score}<span style={{ fontSize: 11, color: 'var(--text-3)' }}>/10</span></div>
                      </div>
                    </div>
                    <a href={p.ctaHref} className="btn btn-primary" style={{ width: '100%', justifyContent: 'center', fontSize: 12.5 }}>
                      {p.ctaText}
                    </a>
                  </div>

                  {/* Right column */}
                  <div style={{ display: 'flex', flexDirection: 'column', gap: 18 }}>
                    <div style={{ display: 'flex', gap: 8, flexWrap: 'wrap' }}>
                      {Object.entries(p.specs).map(([k, v]) => (
                        <div key={k} style={{ padding: '6px 11px', background: 'var(--paper)', border: '1px solid var(--line)', borderRadius: 8 }}>
                          <div className="mono" style={{ fontSize: 9, letterSpacing: '0.12em', color: 'var(--text-3)', textTransform: 'uppercase' }}>{k}</div>
                          <div style={{ fontFamily: 'var(--serif)', fontSize: 13.5, marginTop: 2 }}>{v}</div>
                        </div>
                      ))}
                    </div>
                    <p style={{ fontSize: 14.5, color: 'var(--text-2)', lineHeight: 1.65, margin: 0 }}>{p.why}</p>
                    <ProsCons pros={p.pros} cons={p.cons} />
                  </div>
                </div>
              </div>
            ))}
          </div>
        </div>
      </section>

      {/* Comparison table */}
      <section style={{ padding: '64px 40px 0' }}>
        <div style={{ maxWidth: 1180, margin: '0 auto' }}>
          <h2 style={{ fontSize: 38, letterSpacing: '-0.02em', margin: '0 0 22px' }}>Side-by-side comparison</h2>
          <div style={{ borderRadius: 14, overflow: 'hidden', border: '1px solid var(--line)' }}>
            <table className="tbl" style={{ width: '100%' }}>
              <thead>
                <tr>
                  <th style={{ textAlign: 'left' }}>Model</th>
                  <th>Dimensions</th>
                  <th>Max temp</th>
                  <th>Voltage</th>
                  <th>Price</th>
                  <th>Score</th>
                </tr>
              </thead>
              <tbody>
                {onePersonCompare.map((r, i) => (
                  <tr key={i} className={r.best ? 'best' : ''}>
                    <td>
                      <div style={{ fontFamily: 'var(--serif)', fontSize: 15 }}>{r.name}</div>
                    </td>
                    <td className="mono" style={{ fontSize: 11, textAlign: 'center' }}>{r.dimensions}</td>
                    <td className="mono" style={{ fontSize: 12, textAlign: 'center' }}>{r.maxTemp}</td>
                    <td style={{ fontSize: 13, textAlign: 'center', color: 'var(--text-2)' }}>{r.voltage}</td>
                    <td style={{ fontFamily: 'var(--serif)', fontSize: 14, textAlign: 'center' }}>{r.price}</td>
                    <td style={{ fontFamily: 'var(--serif)', fontSize: 18, textAlign: 'center', color: 'var(--ember-deep)' }}>{r.score}</td>
                  </tr>
                ))}
              </tbody>
            </table>
          </div>
        </div>
      </section>

      {/* Buying guide */}
      <section style={{ padding: '64px 40px 0' }}>
        <div style={{ maxWidth: 1180, margin: '0 auto' }}>
          <h2 style={{ fontSize: 38, letterSpacing: '-0.02em', margin: '0 0 28px' }}>What to Look For in a 1-Person Sauna</h2>
          <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 22 }}>
            {[
              {
                title: 'Interior sitting area: minimum 30x30 in',
                body: 'The interior sitting area - the bench dimensions, not the exterior cabinet - is what determines how comfortable a 40-minute session will be. Under 30x30 in is genuinely tight and difficult to sit comfortably for a full session. 36x36 in is comfortable for most adults. Under 30x30 in is a hard pass for regular use. Check the interior spec, not the exterior cabinet spec, when comparing models.',
              },
              {
                title: 'Voltage: 120V or 240V',
                body: '120V plug-in models work in any standard North American outlet - no electrician and no permit required. This is critical for apartments, condos, and rentals. 240V models need a dedicated circuit (typically 30-60A) and usually cost $200-600 in electrician fees on top of the unit price. Most Amazon-tier 1-person saunas offer 120V. Clearlight Sanctuary 1 requires 240V. If you are not certain you can install a dedicated circuit, filter by 120V first.',
              },
              {
                title: 'Heater coverage: back + front minimum',
                body: 'Basic configurations cover the rear wall only. Better configurations add side panels. Floor heaters add a meaningful thermal dose to the lower legs and feet - Clearlight includes an under-bench floor heater standard, which most competitors skip. JNH\'s 360-degree layout covers back, both sides, and below the bench simultaneously. More coverage area means a more even thermal dose and faster core temperature elevation per session.',
              },
              {
                title: 'Assembly: tool-free tongue-and-groove',
                body: 'Most 1-person saunas use tongue-and-groove panel assembly - the walls interlock without screws or special tools. Typical assembly time is 2-3 hours for one person working alone. The main variables are heavier models (Clearlight is 250+ lbs) that benefit from two people, and whether the electrical connection is a simple plug-in (Dynamic, JNH) or requires wire connection to a breaker box (Clearlight at 240V).',
              },
              {
                title: 'Weight capacity: verify before purchase',
                body: 'Most 1-person saunas rate 265-300 lbs bench capacity. A small number of budget models rate lower at 220-250 lbs. If your weight approaches the rated capacity, check the spec sheet and not just the Amazon listing title - manufacturers sometimes list maximum capacity in fine print. The bench is typically the limiting structural component.',
              },
            ].map(g => (
              <div key={g.title} style={{ padding: '20px 22px', background: 'var(--paper-2)', border: '1px solid var(--line)', borderRadius: 14 }}>
                <h3 style={{ margin: '0 0 10px', fontSize: 17, letterSpacing: '-0.011em' }}>{g.title}</h3>
                <p style={{ fontSize: 14, color: 'var(--text-2)', margin: 0, lineHeight: 1.65 }}>{g.body}</p>
              </div>
            ))}
          </div>
        </div>
      </section>

      {/* FAQ */}
      <section style={{ padding: '64px 40px 0' }}>
        <div style={{ maxWidth: 1180, margin: '0 auto' }}>
          <h2 style={{ fontSize: 38, letterSpacing: '-0.02em', margin: '0 0 26px' }}>Frequently asked</h2>
          <FAQ items={onePersonFaq} />
        </div>
      </section>

      <div style={{ maxWidth: 1180, margin: '56px auto 0', padding: '0 40px' }}>
        <MethodologyBox />
      </div>
      <div style={{ maxWidth: 1180, margin: '32px auto 0', padding: '0 40px' }}>
        <AuthorBox />
      </div>
      <div style={{ marginTop: 56 }}>
        <SiteFooter />
      </div>
    </div>
  );
}

function BestOnePersonSaunaMobile() {
  return (
    <div style={{ background: 'var(--paper)', color: 'var(--text)', fontFamily: 'var(--sans)', minHeight: '100vh' }}>
      <MobHeader />

      {/* Hero */}
      <section style={{ padding: '24px 18px 0' }}>
        <div className="eyebrow" style={{ marginBottom: 10 }}>Best Of &middot; 1-Person Infrared Saunas &middot; May 2026</div>
        <h1 style={{ fontSize: 30, lineHeight: 1.07, letterSpacing: '-0.02em', margin: '0 0 14px' }}>
          The Best 1-Person Infrared Saunas of 2026: Small Footprint, Full Benefit
        </h1>
        <p style={{ fontFamily: 'var(--serif)', fontSize: 15.5, color: 'var(--text-2)', lineHeight: 1.5, margin: '0 0 14px' }}>
          For apartments, bedrooms, and solo practitioners. These units fit in spaces as small as 35 x 35 inches while delivering the full thermal protocol.
        </p>
        <Disclose>Independent - affiliate supported</Disclose>
      </section>

      {/* Size callout */}
      <section style={{ padding: '24px 18px 0' }}>
        <div style={{ background: 'var(--paper-2)', border: '1px solid var(--line)', borderRadius: 14, padding: '16px 18px' }}>
          <div className="eyebrow" style={{ marginBottom: 8 }}>1-Person vs 2-Person</div>
          <p style={{ fontSize: 13.5, color: 'var(--text-2)', lineHeight: 1.6, margin: 0 }}>
            A 1-person cabin needs 35x35 in floor space. A 2-person needs 47x47 - about 80% more space at 30-50% higher cost. If space is the real constraint, 1-person is the answer.
          </p>
        </div>
      </section>

      {/* Product cards */}
      <section style={{ padding: '28px 18px 0' }}>
        <h2 style={{ fontSize: 22, letterSpacing: '-0.016em', margin: '0 0 18px' }}>6 ranked models</h2>
        <div style={{ display: 'flex', flexDirection: 'column', gap: 16 }}>
          {onePersonProducts.map((p, i) => (
            <div key={p.rank} style={{ border: '1px solid var(--line)', borderRadius: 14, overflow: 'hidden', background: 'var(--paper-2)' }}>
              <div style={{ padding: '14px 16px 0' }}>
                <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'flex-start' }}>
                  <span className="mono" style={{ fontSize: 10, color: 'var(--text-3)' }}>{p.rank}</span>
                  <span className={p.tagEmber ? 'chip ember' : 'chip'} style={{ fontSize: 9 }}>{p.tag}</span>
                </div>
                <Ph w="100%" h={140} label={p.name.split(' ').slice(0, 3).join(' ').toUpperCase()} style={{ marginTop: 10 }} />
              </div>
              <div style={{ padding: '14px 16px 16px' }}>
                <div style={{ fontFamily: 'var(--serif)', fontSize: 18, letterSpacing: '-0.012em' }}>{p.name}</div>
                <div style={{ display: 'flex', gap: 7, marginTop: 10, flexWrap: 'wrap' }}>
                  {p.specs.dimensions && <span className="chip" style={{ fontSize: 10 }}>{p.specs.dimensions}</span>}
                  <span className="chip" style={{ fontSize: 10 }}>{p.specs.voltage}</span>
                  <span className="chip" style={{ fontSize: 10 }}>{p.specs.type}</span>
                </div>
                <p style={{ fontSize: 13.5, color: 'var(--text-2)', lineHeight: 1.55, marginTop: 12 }}>{p.why.slice(0, 220)}...</p>
                <div style={{ marginTop: 14 }}>
                  <div className="eyebrow" style={{ marginBottom: 8, color: 'var(--ember-deep)' }}>Pros</div>
                  <ul style={{ margin: 0, padding: 0, listStyle: 'none', display: 'flex', flexDirection: 'column', gap: 6 }}>
                    {p.pros.slice(0, 3).map((x, j) => (
                      <li key={j} style={{ display: 'flex', gap: 8, fontSize: 13, color: 'var(--text-2)', lineHeight: 1.45 }}>
                        <span style={{ color: 'var(--ember)', flexShrink: 0, fontFamily: 'var(--mono)' }}>+</span>{x}
                      </li>
                    ))}
                  </ul>
                </div>
                <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginTop: 16 }}>
                  <div>
                    <div style={{ fontFamily: 'var(--serif)', fontSize: 19 }}>{p.price}</div>
                    <div style={{ fontFamily: 'var(--mono)', fontSize: 11, color: 'var(--ember-deep)', marginTop: 2 }}>{p.score}/10</div>
                  </div>
                  <a href={p.ctaHref} className="btn btn-primary" style={{ fontSize: 12.5 }}>{p.ctaText}</a>
                </div>
              </div>
            </div>
          ))}
        </div>
      </section>

      {/* Mobile comparison table */}
      <section style={{ padding: '32px 18px 0' }}>
        <h2 style={{ fontSize: 22, letterSpacing: '-0.016em', margin: '0 0 14px' }}>Quick comparison</h2>
        <div style={{ overflowX: 'auto', WebkitOverflowScrolling: 'touch' }}>
          <table className="tbl" style={{ minWidth: 560 }}>
            <thead>
              <tr>
                <th style={{ textAlign: 'left' }}>Model</th>
                <th>Dimensions</th>
                <th>Voltage</th>
                <th>Price</th>
                <th>Score</th>
              </tr>
            </thead>
            <tbody>
              {onePersonCompare.map((r, i) => (
                <tr key={i} className={r.best ? 'best' : ''}>
                  <td style={{ fontFamily: 'var(--serif)', fontSize: 13 }}>{r.name}</td>
                  <td className="mono" style={{ fontSize: 10, textAlign: 'center' }}>{r.dimensions}</td>
                  <td style={{ fontSize: 12, textAlign: 'center' }}>{r.voltage}</td>
                  <td style={{ fontSize: 12, textAlign: 'center' }}>{r.price}</td>
                  <td style={{ fontFamily: 'var(--serif)', fontSize: 16, textAlign: 'center', color: 'var(--ember-deep)' }}>{r.score}</td>
                </tr>
              ))}
            </tbody>
          </table>
        </div>
      </section>

      {/* Mobile FAQ */}
      <section style={{ padding: '32px 18px 0' }}>
        <h2 style={{ fontSize: 22, letterSpacing: '-0.016em', margin: '0 0 16px' }}>Common questions</h2>
        <FAQ items={onePersonFaq} />
      </section>

      <div style={{ padding: '28px 18px' }}>
        <MethodologyBox />
      </div>
      <div style={{ padding: '0 18px 28px' }}>
        <AuthorBox />
      </div>
      <SiteFooter />
    </div>
  );
}

Object.assign(window, { BestLowEmfSauna, BestOnePersonSauna });
