Site Builder
Editing:
indexook.php
writable 0666
<!doctype html> <html lang="en" data-theme="light"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width,initial-scale=1" /> <title>TruthCase™ — The Case for Truth | RF SAFE</title> <meta name="description" content="A hard‑hitting, evidence‑driven landing page that shows the cancer, fertility, and mechanistic signals; calls for a Clean Ether Act and LiFi mandates; and lets you pick your phone to buy TruthCase™ (QuantaCase®) with two clean buttons." /> <meta name="color-scheme" content="light dark" /> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="preload" as="style" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800;900&display=swap"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800;900&display=swap"> <style> /* ========================= THEME TOKENS (2025) ========================= */ :root{ --bg:#0b0b0c; --ink:#f6f6f7; --muted:#cfcfd4; --card:#121317; --border:#24262c; --shadow:0 18px 42px rgba(0,0,0,.45); --brand:#0ea5e9; --brand-ink:#e0f2fe; --cta:#f59e0b; --cta-ink:#1a1309; --ok:#10b981; --warn:#f97316; --ring:rgba(14,165,233,.35); --soft:rgba(14,165,233,.10); --soft2:rgba(245,158,11,.10); --radius:20px; --font: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji"; } /* LIGHT default */ html[data-theme="light"]{ --bg:#f7f7fb; --ink:#0f1115; --muted:#5c6270; --card:#ffffff; --border:#e7e8ee; --shadow:0 18px 42px rgba(16,24,40,.08); --brand:#0ea5e9; --brand-ink:#075985; --cta:#f59e0b; --cta-ink:#1a1309; --soft:rgba(14,165,233,.08); --soft2:rgba(245,158,11,.10); } /* AMBER low‑blue option */ html[data-theme="amber"]{ --bg:linear-gradient(180deg,#0e0b06 0%, #171208 100%); --ink:#ffe8c8; --muted:#d7c9ad; --card:#151109; --border:#372b1a; --shadow:0 14px 36px rgba(0,0,0,.45); --brand:#ffb020; --brand-ink:#ffe1a6; --cta:#ffb020; --cta-ink:#1a1309; --ring:rgba(255,176,32,.35); --soft:rgba(255,176,32,.10); --soft2:rgba(255,176,32,.08); } /* Base */ *{box-sizing:border-box} html,body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 var(--font);letter-spacing:.2px} a{color:var(--brand);text-decoration:none} a:hover{text-decoration:underline} .wrap{max-width:1200px;margin:0 auto;padding:28px 18px 120px} /* Nav */ .nav{position:sticky;top:0;z-index:60;backdrop-filter:saturate(1.1) blur(8px); background:color-mix(in oklab, var(--bg) 70%, transparent);border-bottom:1px solid var(--border)} .navin{max-width:1200px;margin:0 auto;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 18px} .brand{display:flex;gap:10px;align-items:center;font-weight:900;color:var(--brand-ink)} .dot{width:10px;height:10px;border-radius:50%;background:var(--brand);box-shadow:0 0 18px var(--ring)} .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap} /* Buttons */ .btn{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:11px 16px;font-weight:900;border:2px solid var(--brand); background:transparent;color:var(--brand);box-shadow:0 8px 20px var(--ring);transition:.2s;cursor:pointer} .btn:hover{transform:translateY(-1px)} .btn.primary{background:var(--cta);border-color:var(--cta);color:var(--cta-ink)} .btn.ghost{border-color:var(--border);color:var(--brand)} .btn.small{padding:8px 12px;font-size:.92rem} /* Theme toggle */ .theme{display:flex;gap:6px;border:1px solid var(--border);border-radius:999px;padding:4px;background:color-mix(in oklab, var(--card) 80%, transparent)} .theme button{border:0;background:transparent;color:var(--muted);padding:6px 10px;border-radius:999px;cursor:pointer} .theme button[aria-pressed="true"]{background:var(--soft);color:var(--brand);font-weight:800} /* Hero */ .hero{ margin-top:18px;background: radial-gradient(800px 300px at 10% -20%, var(--soft), transparent 60%), radial-gradient(800px 300px at 90% -40%, var(--soft2), transparent 60%), var(--card); border-radius:24px;box-shadow:var(--shadow);padding:28px } .eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--brand); border:1px solid var(--border);background:color-mix(in oklab, var(--card) 90%, transparent);border-radius:999px;padding:6px 12px} h1{margin:10px 0 8px;font-size:clamp(28px,4.6vw,56px);line-height:1.06} .subtitle{color:var(--muted);max-width:980px} .badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px} .badge{font-size:12px;font-weight:900;border:1px solid var(--border);background:color-mix(in oklab, var(--card) 90%, transparent);color:var(--brand); border-radius:999px;padding:6px 10px} .cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px} /* Trust bar */ .trust{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px} .trust .pill{display:flex;gap:8px;align-items:center;border:1px solid var(--border);background:color-mix(in oklab, var(--card) 90%, transparent); padding:8px 12px;border-radius:999px;color:var(--muted);font-weight:700} .trust svg{width:18px;height:18px} /* Sections */ .section{margin-top:44px} .card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;border:1px solid var(--border)} .grid{display:grid;gap:18px} @media(min-width:980px){.cols-2{grid-template-columns:1fr 1fr}.cols-3{grid-template-columns:1fr 1fr 1fr}} .lead{font-size:1.05rem;color:color-mix(in oklab, var(--ink) 80%, var(--muted))} .slogan{border-left:4px solid var(--brand);padding-left:12px;margin:6px 0;font-weight:900;color:var(--ink)} .callout{background:color-mix(in oklab, var(--card) 92%, transparent);border:1px solid var(--border);border-radius:16px;padding:14px} /* TL;DR stat blocks — FIXED (no flex) */ .stat{ display:block; padding:14px; border:1px dashed var(--border); border-radius:14px; word-break:normal; white-space:normal; } .stat b{ display:inline-block; margin-right:10px; font-size:1.2rem; white-space:nowrap; } /* Details */ details{border:1px solid var(--border);border-radius:14px;background:color-mix(in oklab, var(--card) 94%, transparent);padding:10px} summary{cursor:pointer;font-weight:900} summary::-webkit-details-marker{display:none} details[open]{background:color-mix(in oklab, var(--card) 88%, transparent)} /* Table */ .table{overflow:auto;border-radius:14px;border:1px solid var(--border)} table{width:100%;border-collapse:separate;border-spacing:0;min-width:860px} th,td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top} thead th{background:color-mix(in oklab, var(--card) 90%, transparent);font-size:14px;color:var(--brand)} /* Modal (high-contrast) */ .modal-backdrop{position:fixed;inset:0;z-index:100; background:radial-gradient(900px 420px at 50% 10%, color-mix(in oklab, var(--brand) 20%, transparent), rgba(0,0,0,.78) 58%), rgba(0,0,0,.55); display:none;opacity:0;pointer-events:none;transition:opacity .25s ease} .modal{position:fixed;inset:0;z-index:101;display:none;place-items:center;pointer-events:none;opacity:0;transition:opacity .25s ease} .modal-panel{ width:min(740px,94vw);background:var(--card);border-radius:20px;border:1px solid color-mix(in oklab, var(--brand) 35%, var(--border)); box-shadow:0 22px 60px rgba(0,0,0,.35), 0 0 0 6px color-mix(in oklab, var(--brand) 12%, transparent); padding:18px;pointer-events:auto;transform:translateY(6px) scale(.985);transition:transform .25s ease} .modal-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px} .modal-title{font-weight:900;margin:0} .close{appearance:none;border:1px solid var(--border);background:color-mix(in oklab, var(--card) 85%, transparent);color:var(--brand); border-radius:999px;padding:8px 12px;font-weight:900;cursor:pointer} .form-row{display:grid;gap:14px;margin-top:12px} @media(min-width:700px){.form-row{grid-template-columns:1fr 1fr}} label{font-weight:800} select{width:100%;padding:12px;border:1px solid var(--border);border-radius:12px;background:color-mix(in oklab, var(--card) 80%, transparent); color:var(--ink);font-size:16px;box-shadow:0 8px 20px rgba(0,0,0,.08) inset} select:focus-visible{outline:2px solid color-mix(in oklab, var(--brand) 55%, transparent)} .modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px} .helper{font-size:.9rem;color:var(--muted)} .is-hidden{display:none !important} /* Open state */ body.modal-open .modal-backdrop{display:block;opacity:1;pointer-events:auto} body.modal-open .modal{display:grid;opacity:1;pointer-events:auto} body.modal-open .modal-panel{transform:translateY(0) scale(1)} body.modal-open .wrap, body.modal-open .nav{filter:blur(1.2px) saturate(.9);opacity:.9;transform:scale(.998);transition:.2s} /* Mobile bottom-sheet */ @media (max-width:560px){ .modal{align-items:end} .modal-panel{width:100vw;max-height:85vh;overflow:auto;border-radius:16px 16px 0 0;padding:16px 16px 20px} .modal-panel::after{content:"";display:block;width:44px;height:4px;border-radius:999px; background:color-mix(in oklab, var(--ink) 40%, transparent);opacity:.5;margin:4px auto 8px} .modal-actions{position:sticky;bottom:-16px;background:linear-gradient(180deg, transparent 0%, color-mix(in oklab, var(--card) 96%, transparent) 42%); padding-top:10px;padding-bottom:4px} } /* Reveal-on-scroll */ .reveal{opacity:0;transform:translateY(12px);transition:all .5s ease} .reveal.in{opacity:1;transform:none} /* Sticky Mobile CTA */ .mobile-cta{position:fixed;left:0;right:0;bottom:10px;z-index:30;display:none;justify-content:center} @media (max-width:760px){ .mobile-cta{display:flex} } .mobile-cta .btn{box-shadow:0 18px 32px color-mix(in oklab, var(--cta) 30%, transparent)} /* Tag pills */ .kicker{display:inline-flex;gap:8px;flex-wrap:wrap} .kicker span{border:1px solid var(--border);border-radius:999px;padding:6px 10px;background:color-mix(in oklab, var(--card) 90%, transparent);color:var(--muted);font-weight:700} /* Clipboard toast */ .toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--card);color:var(--ink);border:1px solid var(--border); border-radius:10px;padding:10px 14px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.2s} .toast.show{opacity:1;pointer-events:auto} </style> </head> <body> <!-- NAV --> <div class="nav" role="navigation" aria-label="Primary"> <div class="navin"> <div class="brand"><span class="dot"></span><span>RF SAFE • TruthCase™</span></div> <div class="row"> <a class="btn ghost" href="#tl">TL;DR</a> <a class="btn ghost" href="#evidence">Evidence</a> <a class="btn ghost" href="#policy">Policy Roadmap</a> <a class="btn ghost" href="#how">How to Use</a> <div class="theme" role="group" aria-label="Theme"> <button id="tLight" aria-pressed="true" title="Light theme">Light</button> <button id="tAmber" aria-pressed="false" title="Amber dark (low blue)">Amber</button> </div> <button class="btn primary" id="openModalBtn" type="button">Select Your Phone</button> </div> </div> </div> <div class="wrap"> <!-- HERO --> <header class="hero reveal"> <span class="eyebrow">RF SAFE • Since the 1990s</span> <h1>TruthCase™ — the case that tells the truth</h1> <p class="subtitle"> RF SAFE pioneered exposure‑reduction cases in the <strong>1990s</strong>. TruthCase™ stays honest: a first‑principles design to cut everyday microwave exposure, plus the roadmap to fix broken standards and restore community rights. This is not “safety theater.” It’s physics, practice, and policy. </p> <div class="badges" role="list"> <span class="badge" role="listitem">Shield between you & phone</span> <span class="badge" role="listitem">No metal loops • No magnets</span> <span class="badge" role="listitem">Antenna‑aware & ultra‑thin</span> <span class="badge" role="listitem">Ohmmeter‑checkable shield</span> </div> <div class="trust" aria-label="Key assurances"> <span class="pill"><svg viewBox="0 0 24 24" fill="none"><path d="M5 12l4 4 10-10" stroke="currentColor" stroke-width="1.7"/></svg> First‑principles design</span> <span class="pill"><svg viewBox="0 0 24 24" fill="none"><path d="M12 3l7 3v5c0 5-3.5 9-7 10-3.5-1-7-5-7-10V6l7-3z" stroke="currentColor" stroke-width="1.5"/></svg> Honest usage guidance</span> <span class="pill"><svg viewBox="0 0 24 24" fill="none"><path d="M4 19l6-6-2-2 4-4 8 8" stroke="currentColor" stroke-width="1.6"/></svg> Roadmap beyond products</span> </div> <div class="cta-row"> <button class="btn primary" id="openModalBtn2" type="button">Select Your Phone</button> <a class="btn" href="#truths">Why TruthCase™ is different</a> <a class="btn ghost" href="https://www.rfsafe.com/class/user-guide/" target="_blank" rel="noopener">Short Version</a> </div> </header> <!-- NO-HEDGING PLEDGE --> <section class="section card reveal"> <h2 style="margin:0 0 8px">RF SAFE’s No‑Hedging Pledge</h2> <p class="lead">The evidence is more than sufficient to act. We will not dilute, minimize, or hide signals that affect children and families. We demand stringent precautions now: **mandate LiFi indoors**, **enforce the Electronic Product Radiation Control law**, and **restore First & Tenth Amendment rights** so communities can protect schools and neighborhoods.</p> <p class="slogan">If physics says a design raises output, we don’t ship it. If evidence says exposure carries risk, we reduce it and fight to change the system.</p> </section> <!-- TL;DR --> <section id="tl" class="section card reveal"> <h2 style="margin:0 0 8px">Wireless Radiation, Cancer, Fertility & Mechanism: what the totality shows</h2> <div class="grid cols-2"> <div class="card"> <div class="stat"><b>1) Cancer signals</b> appear where exposure is highest: INTERPHONE’s heaviest‑use decile ≈ <strong>+40% glioma risk</strong>. The U.S. NTP and Italy’s Ramazzini both found <strong>brain gliomas</strong> and <strong>heart schwannomas</strong> in animals at levels long called “too low.” A <strong>WHO‑commissioned 2025 review</strong> graded animal evidence for those tumors as <strong>High</strong>.</div> <div class="stat"><b>2) Male fertility</b> is impacted: a WHO‑program meta‑analysis revised the pooled estimate to <strong>OR 1.68</strong> for decreased pregnancy rate in experimental studies. Human and animal data repeatedly show <strong>oxidative stress in testes/epididymis</strong>, <strong>DNA damage</strong>, reduced motility, and lower conception rates at non‑thermal levels.</div> </div> <div class="card"> <div class="stat"><b>3) Mechanism</b> is mapped: <strong>VGIC/VGCC disruption → intracellular Ca²⁺ dysregulation → ROS/oxidative stress → DNA damage</strong>. Large reviews find ~<strong>95%</strong> of relevant experiments show oxidative‑stress effects at non‑thermal intensities. This is a coherent, testable **non‑thermal pathway**.</div> <div class="stat"><b>4) Population signal</b>: Denmark’s registry shows a sustained rise in brain/CNS tumors through 2023, with the steepest jump 2021→2023—**not** proof of causation, but absolutely not “no signal.”</div> </div> </div> <p class="lead" style="margin-top:8px">U.S. limits are still **thermal‑only (1996)**. The solution is policy: **enforce EPRC**, **restore local authority**, and **shift indoor connectivity to LiFi (IEEE 802.11bb)** to cut routine microwave burden where kids live and learn.</p> </section> <!-- DIFFERENT ON PURPOSE --> <section class="section card reveal"> <h2 style="margin:0 0 8px">Different on purpose</h2> <p class="lead">Most “anti‑radiation” cases chase convenience hardware and marketing numbers. TruthCase™ is built around physics and behavior—and refuses the gimmicks that make exposure worse.</p> <div class="grid cols-3"> <div class="card"> <h3 style="margin:.2rem 0 6px">Design</h3> <p>Directional shielding **between you & phone** when it matters. <strong>No metal loops, magnets, or plate steel.</strong> Ear‑side continuity by design.</p> </div> <div class="card"> <h3 style="margin:.2rem 0 6px">Usage</h3> <p>Habits that move the needle: call posture, pocket orientation, night distance, and turning off radios you don’t need.</p> </div> <div class="card"> <h3 style="margin:.2rem 0 6px">Roadmap</h3> <p>From better cases today to <strong>light‑based networking</strong> and modernized law—so homes and schools rely more on light and less on microwaves.</p> </div> </div> </section> <!-- THE FOUR TRUTHS --> <section id="truths" class="section card reveal"> <h2 style="margin:0 0 6px">The Four Truths the market ignores</h2> <details open> <summary>Truth #1 — Unshielded ear‑side holes break protection where you need it most</summary> <p>Large ear‑aligned apertures are a direct path for higher‑frequency signals and defeat continuity right where protection matters in calls. TruthCase™ keeps a shielded ear‑side path.</p> </details> <details> <summary>Truth #2 — Detachable magnets & steel plates make phones shout</summary> <p>Magnets and plate steel behind the phone **detune** antennas. Power‑control ramps **up** output to hold the link—more exposure, not less. TruthCase™ excludes magnets, plates, and thick wallet stacks.</p> </details> <details> <summary>Truth #3 — Metal loops and hardware near antennas detune the system</summary> <p>Conductive loops near radiators alter near‑field behavior and degrade efficiency. Phones respond by transmitting harder. TruthCase™ has **no metal loops** and stays thin where radios live.</p> </details> <details> <summary>Truth #4 — “99% protection” fabric numbers ≠ your life</summary> <p>A swatch in a lab isn’t your daily duty cycle. Reduction comes from **where** the shield sits, **how** antennas behave, and **how long** radios are active. We refuse “99% everywhere.”</p> </details> <div class="card" style="margin-top:12px"> <h3 style="margin:0 0 6px">Ten short truths</h3> <div class="kicker"> <span>Shield the person, not the phone.</span><span>Placement beats percentage.</span><span>Thin near antennas.</span> <span>No magnets/loops/plates.</span><span>Continuity at the ear.</span><span>Duty cycle drives dose.</span> <span>Distance at night is free.</span><span>Honest design > slogans.</span><span>Mitigate now, reform policy.</span><span>Light indoors, fewer microwaves.</span> </div> </div> </section> <!-- EVIDENCE (no hedging) --> <section id="evidence" class="section card reveal"> <h2 style="margin:0 0 6px">The evidence without euphemisms</h2> <div class="grid cols-2"> <div class="card"> <h3>Cancer</h3> <ul> <li><strong>INTERPHONE</strong>: top decile (≥1,640 h) ≈ OR 1.40 for glioma (~30 min/day over 10 yrs).</li> <li><strong>NTP</strong>: clear evidence of <em>heart schwannomas</em> in male rats; some for <em>gliomas</em>; DNA damage in tissues.</li> <li><strong>Ramazzini</strong>: tower‑like far‑field ~0.1 W/kg → more <em>heart schwannomas</em> and glial tumors.</li> <li><strong>WHO‑commissioned 2025</strong>: animal evidence **High** for glioma and heart schwannoma.</li> </ul> </div> <div class="card"> <h3>Reproduction & development</h3> <ul> <li><strong>Male fertility</strong>: pooled OR **1.68** for decreased pregnancy rate in experimental studies (WHO program). Concordant findings: reduced motility/viability, abnormal morphology, DNA damage, and testicular oxidative stress at non‑thermal levels.</li> <li><strong>Prenatal/offspring</strong>: animal models show fetal/placental oxidative stress and **behavioral changes** in exposed offspring (e.g., ADHD‑like phenotypes reported by academic labs).</li> <li><strong>Mechanistic match</strong>: ROS‑mediated damage, mitochondrial strain, hormone signaling disruption—all consistent with the **VGCC/Ca²⁺ → ROS → DNA** pathway.</li> </ul> </div> <div class="card"> <h3>Mechanism</h3> <p><strong>Polarized, pulsed/modulated RF → VGIC/VGCC interference → Ca²⁺ influx → ROS → DNA damage</strong>. This non‑thermal chain explains tumor types, fertility effects, and prenatal outcomes seen across studies.</p> <ul> <li>~<strong>95%</strong> of relevant experiments show oxidative‑stress effects at non‑thermal levels.</li> <li>DNA strand breaks repeatedly reported at low intensities.</li> <li>Microwave‑hearing (since the 1960s) proves pulsed bioeffects exist far below heating thresholds.</li> </ul> </div> <div class="card"> <h3>Population‑level signal</h3> <p>Official Danish registries report rising brain/CNS tumor rates across a decade, with the sharpest jump 2021→2023. Public health doesn’t wait for a single “perfect” study; it acts on converging lines of evidence.</p> </div> </div> </section> <!-- STANDARDS & LAW --> <section class="section card reveal" id="policy"> <h2 style="margin:0 0 6px">Policy is the problem. Policy is the solution.</h2> <div class="grid cols-3"> <div class="card"> <h3>Outdated limits</h3> <p><strong>FCC 1996</strong> rules are thermal‑only (ANSI/IEEE 1992; NCRP 1986). They ignore the non‑thermal, pulsed/modulated biology that modern signals use 24/7.</p> <p class="slogan">Thermal limits in a non‑thermal world don’t protect families.</p> </div> <div class="card"> <h3>Preemption gag</h3> <p><strong>Section 704</strong> of the 1996 Telecom Act blocks local health‑based objections if FCC limits are met. That’s why towers end up near classrooms and daycares.</p> <p class="slogan">Restore our <strong>First</strong> & <strong>Tenth</strong> Amendment rights—end the gag.</p> </div> <div class="card"> <h3>The law to enforce</h3> <p><strong>Public Law 90‑602</strong> (Electronic Product Radiation Control) requires HHS/FDA to run a real radiation‑control program for electronic products (including RF). Research **and** performance standards. The statute says **shall**.</p> <p class="slogan">Enforce the law. Update the limits.</p> </div> </div> <div class="callout" style="margin-top:10px"> <strong>Courts have already pushed back:</strong> In 2021, the D.C. Circuit remanded the FCC’s decision to keep 1996 limits, faulting its dismissal of modern evidence (children, pulsation, long‑term). Meanwhile, national RF research funding was wound down. Restart it. </div> </section> <!-- CLEAN ETHER ROADMAP --> <section class="section card reveal"> <h2 style="margin:0 0 6px">The Clean Ether roadmap</h2> <div class="grid cols-3"> <div class="card"> <h3>Home & school (now)</h3> <ul> <li>Phones off‑body; speaker/air‑tubes; shorten on‑head calls.</li> <li>Wired connections first; LiFi/optical where wireless is needed indoors.</li> <li>Keep routers away from bedrooms; schedule overnight off.</li> <li>Prefer text/async; download then offline for media.</li> </ul> </div> <div class="card"> <h3>Institutions</h3> <ul> <li>Deploy <strong>LiFi (IEEE 802.11bb)</strong> in classrooms, libraries, clinics, aircraft cabins.</li> <li>Buffer RF facilities from play areas; shut down school small‑cells after hours.</li> <li>Procure low‑power APs with sleep/timer modes.</li> </ul> </div> <div class="card"> <h3>Nation</h3> <ul> <li>Repeal/repair Section 704; restore local authority.</li> <li>Restart federal RF research; HHS/FDA execute EPRC with modern standards.</li> <li>Adopt a <strong>Clean Ether Act</strong>: indoor optical by default, RF for mobility.</li> </ul> </div> </div> <div class="cta-row" style="margin-top:12px"> <a class="btn" href="https://www.usa.gov/elected-officials" target="_blank" rel="noopener">Find your lawmakers</a> <button id="copyLetter" class="btn ghost" type="button">Copy sample letter</button> </div> <pre id="letter" class="card" style="white-space:pre-wrap;margin-top:10px"> Subject: Enforce EPRC law, modernize RF limits, and restore local authority Please (1) enforce Public Law 90‑602’s Electronic Product Radiation Control program for wireless devices and infrastructure, (2) update U.S. RF exposure limits to address pulsed/modulated signals, cumulative exposure, whole‑body low‑level fields, and children’s susceptibility, and (3) restore local authority curtailed by Section 704 so communities can protect schools and neighborhoods. The totality of evidence—high‑exposure epidemiology, concordant animal bioassays, and a coherent non‑thermal mechanism—supports cancer, fertility, and developmental risks. A WHO‑commissioned 2025 review rated animal evidence for glioma and heart schwannoma as High. The D.C. Circuit remanded the FCC’s decision to keep 1996 limits. Waiting longer is not prudence; it’s neglect. Actions to support: • Restart and fund federal RF research (NTP or successor) with non‑thermal endpoints. • HHS/FDA to execute EPRC and set performance standards for wireless products. • A modern siting framework that allows health setbacks near schools and daycares. • LiFi/optical networking in public buildings and schools when cost‑effective. We can keep connectivity while reducing children’s microwave burden. Please act now. </pre> </section> <!-- HOW TO USE --> <section id="how" class="section grid cols-2 reveal"> <div class="card"> <h3 style="margin:0 0 6px">How to use TruthCase™ (habits that help)</h3> <ul> <li><strong>Calls:</strong> answer/start, then close the cover <em>toward your head</em>; use speaker or wired for long calls.</li> <li><strong>Pocket:</strong> shielded cover toward your body (back pocket often best).</li> <li><strong>Night:</strong> distance or airplane mode; keep phones away from heads and children’s beds.</li> <li><strong>Duty cycle:</strong> turn off radios you don’t need (Wi‑Fi, Bluetooth, hotspot).</li> </ul> <p class="lead">Protection = design + practice. TruthCase™ enables the practice to work.</p> </div> <div class="card"> <h3 style="margin:0 0 6px">Why thin matters</h3> <p>Over‑thick “armor” near antenna zones degrades efficiency and makes phones transmit harder. TruthCase™ stays deliberately slim and antenna‑aware so the phone can do the same job with less output.</p> <p class="slogan"><strong>Not anti‑radiation. Pro‑truth.</strong></p> </div> </section> <!-- TRUTH STANDARD --> <section class="section card reveal"> <h2 style="margin:0 0 6px">The Truth Standard™</h2> <div class="table"> <table> <thead><tr><th>Principle</th><th>Meaning</th><th>TruthCase™ Position</th></tr></thead> <tbody> <tr> <td><strong>Shield the person, not the phone</strong></td> <td>Place the shield <em>between</em> you & the source during calls and pocket carry.</td> <td>Front cover toward head/body; directional use is the point.</td> </tr> <tr> <td><strong>Keep antennas efficient</strong></td> <td>Avoid obstructing/detuning radiators (which triggers power boosts).</td> <td><strong>No metal loops, no magnets, no plate steel</strong>; thin near antenna zones.</td> </tr> <tr> <td><strong>Continuity at the ear</strong></td> <td>Don’t break the shield path with a large ear‑aligned aperture.</td> <td>Shielded ear‑side path; continuity in call posture.</td> </tr> <tr> <td><strong>Field behavior > fabric %</strong></td> <td>Measure outcomes in real use, not swatch percentages.</td> <td>No “99% everywhere” claims; we teach correct use.</td> </tr> <tr> <td><strong>Verifiable materials</strong></td> <td>Let people confirm a conductive shield path.</td> <td>Ohmmeter‑checkable access in the front cover.</td> </tr> </tbody> </table> </div> </section> <!-- FAQ --> <section class="section card reveal"> <h2 style="margin:0 0 6px">Quick answers</h2> <div class="grid cols-2"> <div class="card"> <h3>Does it “block 99%”?</h3> <p>No slogans. Real‑world reduction depends on placement, antenna performance, and duty cycle. We teach the practice that lowers exposure; we don’t promise swatch numbers.</p> </div> <div class="card"> <h3>Why avoid magnets/loops/plates?</h3> <p>They obstruct/detune antennas; the phone compensates by transmitting harder. That raises exposure—exactly what we’re reducing.</p> </div> <div class="card"> <h3>Is TruthCase™ QuantaCase®?</h3> <p>Yes. <strong>TruthCase™ is QuantaCase® by RF SAFE</strong>—built to expose design flaws, reduce exposure today, and lead the policy shift we need.</p> </div> <div class="card"> <h3>Where do the links go?</h3> <p>When you pick a model, you’ll see <strong>Buy on Amazon</strong> (if an ASIN exists) and <strong>Buy Now</strong> (direct). Everything is driven by <code>truthcases.json</code> for easy affiliate use.</p> </div> </div> </section> <!-- REFERENCES --> <section id="refs" class="section card reveal"> <h2 style="margin:0 0 6px">References & Links</h2> <ol> <li>INTERPHONE press release (heavy use ≈30 min/day; glioma OR 1.40): <a target="_blank" rel="noopener" href="https://www.iarc.who.int/wp-content/uploads/2018/07/pr200_E.pdf">IARC</a></li> <li>Corporate‑subscription exclusion (billing cohorts): <a target="_blank" rel="noopener" href="https://pmc.ncbi.nlm.nih.gov/articles/PMC3226506/">EHP / PMC</a></li> <li>NTP cell‑phone RFR program: <a target="_blank" rel="noopener" href="https://ntp.niehs.nih.gov/research/topics/cellphones">NTP</a></li> <li>Ramazzini (Falcioni 2018): <a target="_blank" rel="noopener" href="https://pubmed.ncbi.nlm.nih.gov/29530389/">PubMed</a> • <a target="_blank" rel="noopener" href="https://www.sciencedirect.com/science/article/abs/pii/S0013935118300367">ScienceDirect</a></li> <li>WHO‑commissioned animal review (Mevissen 2025): <a target="_blank" rel="noopener" href="https://doris.bfs.de/jspui/bitstream/urn:nbn:de:0221-2025070953051/2/SL_Mevissen_2025_EffectsOfRadiofrequency_Eng.pdf">BfS Spotlight</a> • DOI: <a target="_blank" rel="noopener" href="https://doi.org/10.1016/j.envint.2025.109482">Environment International</a></li> <li>Male fertility SR (2024) + corrigendum (2025): <a target="_blank" rel="noopener" href="https://pubmed.ncbi.nlm.nih.gov/38492496/">PubMed</a> • <a target="_blank" rel="noopener" href="https://www.sciencedirect.com/science/article/pii/S0160412025002004">ScienceDirect</a></li> <li>Pregnancy/birth outcomes SR (2023) + BfS note: <a target="_blank" rel="noopener" href="https://pubmed.ncbi.nlm.nih.gov/37729852/">PubMed</a> • <a target="_blank" rel="noopener" href="https://doris.bfs.de/jspui/bitstream/urn:nbn:de:0221-2024061244261/5/SL_Cordelli_2024_EffectsOfRadiofrequency_Eng.pdf">BfS</a></li> <li>Oxidative stress review: <a target="_blank" rel="noopener" href="https://pubmed.ncbi.nlm.nih.gov/26151230/">Yakymenko 2015 (PubMed)</a></li> <li>Mechanism review (Int J Oncol 2021): <a target="_blank" rel="noopener" href="https://pubmed.ncbi.nlm.nih.gov/34617575/">PubMed</a></li> <li>Mechanistic synthesis (Frontiers 2025): <a target="_blank" rel="noopener" href="https://www.frontiersin.org/journals/public-health/articles/10.3389/fpubh.2025.1585441/full">Full text</a></li> <li>Denmark CNS trends (2023 + 2024 reports): <a target="_blank" rel="noopener" href="https://sundhedsdatastyrelsen.dk/media/16526/Kraefttilfaelde%202023.pdf">2023 PDF</a> • <a target="_blank" rel="noopener" href="https://sundhedsdatastyrelsen.dk/Media/638863629605245206/Kraefttilf%C3%A6lde_2024.pdf">2024 PDF</a></li> <li>47 U.S.C. §332(c)(7) (Section 704): <a target="_blank" rel="noopener" href="https://www.law.cornell.edu/uscode/text/47/332">LII / Cornell</a></li> <li>Public Law 90‑602 statute PDF + FDA EPRC: <a target="_blank" rel="noopener" href="https://www.congress.gov/90/statute/STATUTE-82/STATUTE-82-Pg1173.pdf">Congress.gov</a> • <a target="_blank" rel="noopener" href="https://www.fda.gov/radiation-emitting-products/electronic-product-radiation-control-program">FDA EPRC</a></li> <li>EHT v. FCC (2021): <a target="_blank" rel="noopener" href="https://www.fcc.gov/document/dc-circuit-decision-environmental-health-trust-v-fcc">FCC case page</a> • <a target="_blank" rel="noopener" href="https://law.justia.com/cases/federal/appellate-courts/cadc/20-1025/20-1025-2021-08-13.html">Opinion</a></li> <li>LiFi standard: <a target="_blank" rel="noopener" href="https://standards.ieee.org/ieee/802.11bb/11055/">IEEE 802.11bb</a></li> </ol> <p class="muted">Educational content only. Not medical, legal, or engineering advice.</p> </section> <!-- CTA --> <section class="section card reveal" style="text-align:center"> <h2 style="margin:0 0 6px">The only case for your phone should be a TruthCase™</h2> <p style="max-width:880px;margin:0 auto"> A case should <strong>reduce exposure in real use</strong>—without making your phone transmit harder and without “99% everywhere” claims. TruthCase™ is built for <strong>physics</strong>, for <strong>people</strong>, and for a <strong>future</strong> where indoor connectivity relies more on light and less on microwaves. <br><br><em>TruthCase™ is QuantaCase® by RF SAFE.</em> </p> <div class="cta-row" style="justify-content:center"> <button class="btn primary" id="openModalBtn3" type="button">Select Your Phone</button> </div> </section> <footer style="text-align:center;color:var(--muted);font-size:14px"> <p><strong>RF SAFE</strong> introduced exposure‑reduction cases in the 1990s and continues to set a first‑principles standard: no metal loops, no magnets or plate steel, a shielded ear‑side aperture, antenna‑aware thin design, and ohmmeter‑verified shielding—paired with honest usage guidance.</p> <p>© RF SAFE — This page focuses on reducing RF (microwave) exposure in everyday device use.</p> </footer> </div> <!-- Sticky Mobile CTA --> <div class="mobile-cta" aria-hidden="false"> <button class="btn primary" id="openModalBtn4" type="button" aria-label="Select your phone (quick access)">Select Your Phone</button> </div> <!-- MODAL --> <div class="modal-backdrop" id="backdrop" aria-hidden="true"></div> <div class="modal" id="modal" aria-hidden="true"> <div class="modal-panel" role="dialog" aria-modal="true" aria-labelledby="modalTitle"> <div class="modal-head"> <h3 id="modalTitle" class="modal-title">Select Your Phone</h3> <button class="close" id="closeModalBtn" type="button" aria-label="Close">✕</button> </div> <p id="announce" class="sr-only" aria-live="polite"></p> <div class="form-row" id="manuRow" style="display:none"> <div> <label for="manuSelect">Manufacturer</label> <select id="manuSelect" aria-describedby="manuHelp"></select> <div id="manuHelp" class="helper">Choose a brand to filter models.</div> </div> <div id="modelCol" class="is-hidden"> <label for="modelSelect">Model</label> <select id="modelSelect" aria-describedby="modelHelp" disabled></select> <div id="modelHelp" class="helper">Pick your specific phone model.</div> </div> </div> <div class="form-row" id="modelOnlyRow" style="display:none"> <div style="grid-column:1/-1"> <label for="modelSelectSolo">Model</label> <select id="modelSelectSolo" aria-describedby="modelOnlyHelp"></select> <div id="modelOnlyHelp" class="helper">Models load from <code>truthcases.json</code>.</div> </div> </div> <div class="modal-actions" id="buyButtons" style="display:none"> <a class="btn" id="buyAmazonBtn" href="#" target="_blank" rel="noopener">Buy on Amazon</a> <a class="btn primary" id="buyDirectBtn" href="#" target="_blank" rel="noopener">Buy Now</a> </div> </div> </div> <!-- Clipboard Toast --> <div id="toast" class="toast" role="status" aria-live="polite">Copied to clipboard.</div> <script> /* ---------- Utilities ---------- */ const $ = s => document.querySelector(s); const $$ = s => Array.from(document.querySelectorAll(s)); const norm = s => (s||'').toString().toLowerCase().replace(/\s+/g,' ').trim(); function unique(arr){ return [...new Set(arr)]; } function getQS(name){ try{ return new URL(location.href).searchParams.get(name); }catch{return null;} } function appendParam(urlStr, key, val){ if(!val) return urlStr; try{ const u=new URL(urlStr,location.href); u.searchParams.set(key,val); return u.toString(); } catch{ const sep=urlStr.includes('?')?'&':'?'; return urlStr+sep+encodeURIComponent(key)+'='+encodeURIComponent(val); } } /* ---------- Theme toggle (persist) ---------- */ const tLight = $('#tLight'); const tAmber = $('#tAmber'); function setTheme(mode){ document.documentElement.setAttribute('data-theme', mode); localStorage.setItem('truth_theme', mode); tLight.setAttribute('aria-pressed', String(mode==='light')); tAmber.setAttribute('aria-pressed', String(mode==='amber')); } (function initTheme(){ const saved = localStorage.getItem('truth_theme'); setTheme(saved || 'light'); })(); tLight.addEventListener('click', ()=>setTheme('light')); tAmber.addEventListener('click', ()=>setTheme('amber')); /* ---------- State ---------- */ let DATA = { settings:{}, products:[] }; let manufacturers = []; let selectedManufacturer = ''; let filteredProducts = []; let affiliateRef = ''; let amazonTag = ''; /* ---------- DOM refs ---------- */ const openModalBtns = ['#openModalBtn','#openModalBtn2','#openModalBtn3','#openModalBtn4'].map(sel=>$(sel)).filter(Boolean); const backdrop = $('#backdrop'); const modal = $('#modal'); const closeModalBtn = $('#closeModalBtn'); const manuRow = $('#manuRow'); const manuSelect = $('#manuSelect'); const modelCol = $('#modelCol'); const modelOnlyRow = $('#modelOnlyRow'); const modelSelect = $('#modelSelect'); const modelSelectSolo = $('#modelSelectSolo'); const buyButtons = $('#buyButtons'); const buyDirectBtn = $('#buyDirectBtn'); const buyAmazonBtn = $('#buyAmazonBtn'); const announceEl = $('#announce'); /* ---------- Modal open/close with focus trap ---------- */ const focusable = `a[href],button:not([disabled]),select:not([disabled]),input:not([disabled]),[tabindex]:not([tabindex="-1"])`; let lastFocused = null; function trapFocus(e){ if(e.key !== 'Tab') return; const items = Array.from(modal.querySelectorAll(focusable)).filter(el=>el.offsetParent!==null); if(!items.length) return; const first = items[0], last = items[items.length - 1]; if(e.shiftKey && document.activeElement===first){ last.focus(); e.preventDefault(); } else if(!e.shiftKey && document.activeElement===last){ first.focus(); e.preventDefault(); } } function openModal(){ lastFocused = document.activeElement; document.body.classList.add('modal-open'); document.body.style.overflow='hidden'; backdrop.style.display='block'; modal.style.display='grid'; requestAnimationFrame(()=>{ backdrop.style.opacity='1'; modal.style.opacity='1'; }); modal.setAttribute('aria-hidden','false'); setTimeout(()=>{ (manuRow.style.display!=='none' ? manuSelect : modelSelectSolo).focus(); },30); document.addEventListener('keydown', trapFocus); } function closeModal(){ document.removeEventListener('keydown', trapFocus); document.body.classList.remove('modal-open'); document.body.style.overflow=''; backdrop.style.opacity='0'; modal.style.opacity='0'; modal.setAttribute('aria-hidden','true'); setTimeout(()=>{ backdrop.style.display='none'; modal.style.display='none'; }, 200); if(lastFocused && lastFocused.focus) lastFocused.focus(); } backdrop.addEventListener('click', closeModal); closeModalBtn.addEventListener('click', closeModal); openModalBtns.forEach(b=>b && b.addEventListener('click', openModal)); document.addEventListener('keydown', e=>{ if(e.key==='Escape' && modal.getAttribute('aria-hidden')==='false') closeModal(); }); /* ---------- Load data ---------- */ async function loadData(){ try{ const r = await fetch('truthcases.json',{cache:'no-store'}); if(!r.ok) throw new Error('HTTP '+r.status); const j = await r.json(); DATA = Object.assign({settings:{}, products:[]}, j||{}); if(!Array.isArray(DATA.products) || !DATA.products.length) throw new Error('No products in truthcases.json'); }catch(e){ console.warn('truthcases.json missing/invalid. Using demo.', e); DATA = { settings:{ defaultAffiliateParam:'ref', defaultAmazonTagParam:'tag' }, products:[ { manufacturer:'Apple', title:'TruthCase™ for iPhone 15 Pro Max (Black)', sku:'QC-IP15PM-BLK', asin:'B0DEMO1234', price:69.99, salePrice:59.99, buyUrl:'https://www.rfsafe.com/product/truthcase-iphone-15-pro-max/', affiliateId:'RFS_DEFAULT', amazonTag:'rfsafe-20' }, { manufacturer:'Samsung', title:'TruthCase™ for Galaxy S24 Ultra (Black)', sku:'QC-S24U-BLK', asin:'', price:69.99, salePrice:59.99, buyUrl:'https://www.rfsafe.com/product/truthcase-s24-ultra/', affiliateId:'RFS_DEFAULT', amazonTag:'' } ] }; } } /* ---------- Build selects ---------- */ function buildManufacturers(){ manufacturers = unique((DATA.products||[]).map(p => (p.manufacturer||'').trim()).filter(Boolean)); } function renderManufacturerSelect(){ manuSelect.innerHTML=''; const ph = document.createElement('option'); ph.value=''; ph.textContent='Choose manufacturer…'; manuSelect.appendChild(ph); manufacturers.forEach(m=>{ const o=document.createElement('option'); o.value=m; o.textContent=m; manuSelect.appendChild(o); }); manuSelect.value = selectedManufacturer || ''; } function renderModelSelect(list, el){ el.innerHTML=''; const ph = document.createElement('option'); ph.value=''; ph.textContent='Choose model…'; el.appendChild(ph); list.forEach((p,i)=>{ const o=document.createElement('option'); o.value=String(i); o.textContent=p.title || `Model ${i+1}`; el.appendChild(o); }); el.value=''; } /* ---------- Links ---------- */ function currentAffiliateRef(p){ return (affiliateRef || p.affiliateId || '').trim(); } function currentAmazonTag(p){ return (amazonTag || p.amazonTag || '').trim(); } function buildDirectUrl(p){ const base=(p.buyUrl||'').trim(); if(!base) return ''; const key=(DATA.settings && DATA.settings.defaultAffiliateParam) || 'ref'; return appendParam(base, key, currentAffiliateRef(p) || ''); } function buildAmazonUrl(p){ const asin=(p.asin||'').trim(); if(!asin) return ''; const key=(DATA.settings && DATA.settings.defaultAmazonTagParam) || 'tag'; const tag=currentAmazonTag(p); const base=`https://www.amazon.com/dp/${encodeURIComponent(asin)}`; return tag ? appendParam(base, key, tag) : base; } /* ---------- Select handlers ---------- */ const announce = msg => { const el=$('#announce'); if(el) el.textContent=msg||''; }; manuSelect.addEventListener('change', ()=>{ selectedManufacturer = manuSelect.value; filteredProducts = selectedManufacturer ? DATA.products.filter(p => (p.manufacturer||'').trim()===selectedManufacturer) : DATA.products.slice(); if(selectedManufacturer){ modelCol.classList.remove('is-hidden'); modelSelect.disabled=false; renderModelSelect(filteredProducts, modelSelect); announce(`Manufacturer ${selectedManufacturer} selected. Choose a model.`); }else{ modelCol.classList.add('is-hidden'); modelSelect.disabled=true; modelSelect.innerHTML=''; announce(`Manufacturer cleared. Please select a manufacturer.`); } buyButtons.style.display='none'; }); modelSelect.addEventListener('change', ()=>{ const idx=parseInt(modelSelect.value,10); if(Number.isFinite(idx) && idx>=0){ const p=filteredProducts[idx]; const dir=buildDirectUrl(p); const amz=buildAmazonUrl(p); if(amz){ buyAmazonBtn.href=amz; buyAmazonBtn.style.display='inline-flex'; } else { buyAmazonBtn.style.display='none'; } if(dir){ buyDirectBtn.href=dir; buyDirectBtn.style.display='inline-flex'; } else { buyDirectBtn.style.display='none'; } buyButtons.style.display=(amz||dir)?'flex':'none'; announce(`Model ${p.title} selected.`); }else{ buyButtons.style.display='none'; } }); modelSelectSolo.addEventListener('change', ()=>{ const idx=parseInt(modelSelectSolo.value,10); if(Number.isFinite(idx) && idx>=0){ const p=DATA.products[idx]; const dir=buildDirectUrl(p); const amz=buildAmazonUrl(p); if(amz){ buyAmazonBtn.href=amz; buyAmazonBtn.style.display='inline-flex'; } else { buyAmazonBtn.style.display='none'; } if(dir){ buyDirectBtn.href=dir; buyDirectBtn.style.display='inline-flex'; } else { buyDirectBtn.style.display='none'; } buyButtons.style.display=(amz||dir)?'flex':'none'; announce(`Model ${p.title} selected.`); }else{ buyButtons.style.display='none'; } }); /* ---------- Deep link ---------- */ function pickFromDeepLink(){ const qSku = getQS('sku'); const qAsin = getQS('asin'); const qManu = getQS('manu') || getQS('manufacturer'); const qModel= getQS('model') || getQS('title'); if(qSku){ const p = DATA.products.find(pr => pr.sku && norm(pr.sku)===norm(qSku)); if(p) return p; } if(qAsin){ const p = DATA.products.find(pr => pr.asin && norm(pr.asin)===norm(qAsin)); if(p) return p; } if(qModel){ let p = DATA.products.find(pr => norm(pr.title)===norm(qModel)); if(!p) p = DATA.products.find(pr => norm(pr.title).includes(norm(qModel))); if(p) return p; } if(qManu) return { __manuOnly:true, manufacturer:qManu }; return null; } /* ---------- Copy letter ---------- */ const toast = $('#toast'); $('#copyLetter').addEventListener('click', async ()=>{ try{ const txt = $('#letter').innerText.trim(); await navigator.clipboard.writeText(txt); toast.classList.add('show'); setTimeout(()=>toast.classList.remove('show'), 1600); }catch(err){ alert('Copy failed. Select and copy manually.'); } }); /* ---------- Init ---------- */ (async function init(){ // Affiliate overrides from URL (persist) const qRef=getQS('ref'); const qTag=getQS('atag'); if(qRef) localStorage.setItem('truthcase_ref', qRef); if(qTag) localStorage.setItem('truthcase_atag', qTag); affiliateRef = qRef || localStorage.getItem('truthcase_ref') || ''; amazonTag = qTag || localStorage.getItem('truthcase_atag') || ''; await loadData(); buildManufacturers(); if(manufacturers.length){ manuRow.style.display=''; modelOnlyRow.style.display='none'; renderManufacturerSelect(); modelCol.classList.add('is-hidden'); modelSelect.disabled=true; }else{ manuRow.style.display='none'; modelOnlyRow.style.display=''; renderModelSelect(DATA.products, modelSelectSolo); } // Deep‑link auto‑selection (with manufacturer auto‑switch) const pick = pickFromDeepLink(); if(pick){ openModal(); if(pick.__manuOnly){ const manuName = manufacturers.find(m => norm(m)===norm(pick.manufacturer)) || pick.manufacturer; selectedManufacturer = manuName || ''; if(manufacturers.length){ manuSelect.value=selectedManufacturer; manuSelect.dispatchEvent(new Event('change')); } buyButtons.style.display='none'; }else{ if(manufacturers.length){ const manuName = pick.manufacturer || manufacturers.find(m => norm(m)===norm(pick.manufacturer)) || ''; manuSelect.value = manuName; manuSelect.dispatchEvent(new Event('change')); const idx = filteredProducts.findIndex(pr => norm(pr.title)===norm(pick.title)); const idx2 = idx>=0 ? idx : filteredProducts.findIndex(pr => norm(pr.title).includes(norm(pick.title))); if(idx2>=0){ modelSelect.value=String(idx2); modelSelect.dispatchEvent(new Event('change')); } }else{ const i = DATA.products.findIndex(pr => norm(pr.title)===norm(pick.title)); if(i>=0){ modelSelectSolo.value=String(i); modelSelectSolo.dispatchEvent(new Event('change')); } } } } // Reveal animation const io=new IntersectionObserver(es=>es.forEach(e=>{ if(e.isIntersecting){ e.target.classList.add('in'); io.unobserve(e.target);} }),{threshold:.12}); $$('.reveal').forEach(el=>io.observe(el)); })(); </script> </body> </html>
Save changes
Create folder
writable 0777
Create
Cancel