{"product_id":"clear-western-red-cedar-tongue-groove","title":"Western Red Cedar Tongue \u0026 Groove for Saunas — Clear MG, Kiln-Dried","description":"\u003c!-- =========================================================\n     NW Immersion — Western Red Cedar T\u0026G PDP Description\n     SEO-OPTIMIZED · Paste into Shopify description editor.\n     Contains: SEO hero, internal blog links, per-surface\n     calculator with cut list + mailto Reserve Now, long-form\n     keyword-rich copy, comparison table, cross-links, FAQ,\n     Product + FAQPage + BreadcrumbList JSON-LD.\n     ========================================================= --\u003e\n\u003cdiv style=\"font-family: 'Inter','Helvetica Neue',Arial,sans-serif; line-height: 1.65; color: #1a1a1a; max-width: 100%;\" class=\"nw-wrc-pdp\"\u003e\n\u003c!-- ============ HERO \/ POSITIONING ============ --\u003e\n\u003cdiv style=\"background: linear-gradient(135deg,#1a3a2e 0%,#2d5f4e 100%); color: #f5f0e6; padding: 2.5em 2em; border-radius: 8px; margin-bottom: 2em;\"\u003e\n\u003cdiv style=\"font-size: 0.85em; letter-spacing: 0.18em; text-transform: uppercase; opacity: 0.85; margin-bottom: 0.75em;\"\u003eNW Immersion Exclusive · Sauna-Grade Cedar Lumber\u003c\/div\u003e\n\u003ch2 style=\"font-size: 1.9em; margin: 0 0 0.6em; font-weight: 600; color: #f5f0e6; line-height: 1.2;\"\u003eWestern Red Cedar Tongue and Groove for Sauna Interiors — Clear Grade, Kiln-Dried, Sold by the Linear Foot\u003c\/h2\u003e\n\u003cp style=\"font-size: 1.05em; margin: 0 0 1.2em; opacity: 0.95;\"\u003eThe same clear-grade Western Red Cedar T\u0026amp;G we mill for every handcrafted NW Immersion Signature Sauna. True clear grade, kiln-dried to sauna-ready moisture content, 3\" reveal, 1\" × 4\" nominal. Milled in the Pacific Northwest for real sauna heat and humidity cycles. \u003cstrong\u003e$3.50 per linear foot\u003c\/strong\u003e — build your cut list below and reserve; we'll email a firm shipping quote and ETA within one business day.\u003c\/p\u003e\n\u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 1.5em; font-size: 0.95em;\"\u003e\n\u003cdiv\u003e✓ True clear grade (no industrial knots)\u003c\/div\u003e\n\u003cdiv\u003e✓ Kiln-dried, dimensionally stable\u003c\/div\u003e\n\u003cdiv\u003e✓ 3\" reveal · 1\" × 4\" nominal · MG\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ============ IN-PAGE NAV \/ TOC (SEO + dwell time) ============ --\u003e\u003cnav style=\"background: #faf8f3; border: 1px solid #e0d9cb; border-radius: 6px; padding: 1em 1.5em; margin-bottom: 2em; font-size: 0.92em;\" aria-label=\"On this page\"\u003e\u003cstrong style=\"color: #1a3a2e;\"\u003eOn this page:\u003c\/strong\u003e \u003ca style=\"color: #2d5f4e; margin-left: 0.6em;\" href=\"#wrc-specs\"\u003eSpecs\u003c\/a\u003e · \u003ca style=\"color: #2d5f4e;\" href=\"#wrc-calculator\"\u003eInteractive Calculator\u003c\/a\u003e · \u003ca style=\"color: #2d5f4e;\" href=\"#wrc-why\"\u003eWhy WRC for Saunas\u003c\/a\u003e · \u003ca style=\"color: #2d5f4e;\" href=\"#wrc-orientation\"\u003eHorizontal vs. Vertical\u003c\/a\u003e · \u003ca style=\"color: #2d5f4e;\" href=\"#wrc-compare\"\u003eComparison\u003c\/a\u003e · \u003ca style=\"color: #2d5f4e;\" href=\"#wrc-signature\"\u003eSignature Sauna Builds\u003c\/a\u003e · \u003ca style=\"color: #2d5f4e;\" href=\"#wrc-addons\"\u003eRelated Materials\u003c\/a\u003e · \u003ca style=\"color: #2d5f4e;\" href=\"#wrc-reviews\"\u003eCustomer Builds\u003c\/a\u003e · \u003ca style=\"color: #2d5f4e;\" href=\"#wrc-faq\"\u003eFAQ\u003c\/a\u003e\u003c\/nav\u003e\u003c!-- ============ AT-A-GLANCE SPEC BAR ============ --\u003e\n\u003cdiv style=\"display: grid; grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); gap: 1em; margin-bottom: 2.5em; border: 1px solid #e0d9cb; border-radius: 8px; padding: 1.5em; background: #faf8f3;\" id=\"wrc-specs\"\u003e\n\u003cdiv\u003e\n\u003cdiv style=\"font-size: 0.8em; text-transform: uppercase; letter-spacing: 0.1em; color: #6b6558; margin-bottom: 0.3em;\"\u003eSpecies\u003c\/div\u003e\n\u003cdiv style=\"font-weight: 600; font-size: 1.05em;\"\u003eWestern Red Cedar\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv style=\"font-size: 0.8em; text-transform: uppercase; letter-spacing: 0.1em; color: #6b6558; margin-bottom: 0.3em;\"\u003eGrade\u003c\/div\u003e\n\u003cdiv style=\"font-weight: 600; font-size: 1.05em;\"\u003eClear MG\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv style=\"font-size: 0.8em; text-transform: uppercase; letter-spacing: 0.1em; color: #6b6558; margin-bottom: 0.3em;\"\u003eReveal\u003c\/div\u003e\n\u003cdiv style=\"font-weight: 600; font-size: 1.05em;\"\u003e3\" face\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv style=\"font-size: 0.8em; text-transform: uppercase; letter-spacing: 0.1em; color: #6b6558; margin-bottom: 0.3em;\"\u003eNominal\u003c\/div\u003e\n\u003cdiv style=\"font-weight: 600; font-size: 1.05em;\"\u003e1\" × 4\"\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv style=\"font-size: 0.8em; text-transform: uppercase; letter-spacing: 0.1em; color: #6b6558; margin-bottom: 0.3em;\"\u003eMoisture\u003c\/div\u003e\n\u003cdiv style=\"font-weight: 600; font-size: 1.05em;\"\u003eKiln-dried\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv style=\"font-size: 0.8em; text-transform: uppercase; letter-spacing: 0.1em; color: #6b6558; margin-bottom: 0.3em;\"\u003eOrigin\u003c\/div\u003e\n\u003cdiv style=\"font-weight: 600; font-size: 1.05em;\"\u003ePacific NW, USA\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ============ CONTEXT PARAGRAPH FOR SEO (first content chunk) ============ --\u003e\n\u003cdiv style=\"margin-bottom: 2em;\"\u003e\n\u003cp style=\"margin: 0 0 1em; font-size: 1.02em;\"\u003e\u003cstrong\u003eWestern Red Cedar tongue and groove\u003c\/strong\u003e is the traditional interior finish for finnish saunas, infrared saunas, and outdoor sauna builds. Its natural oils resist rot, mildew, and insect damage without chemical treatment — critical inside a room that regularly cycles from 180°F+ heat down to ambient humidity. This listing sells \u003cstrong\u003eclear-grade Pacific Northwest WRC T\u0026amp;G\u003c\/strong\u003e by the linear foot so you can order exactly what your sauna project needs, whether you're finishing a 4-person indoor sauna, building an outdoor barrel sauna, or replacing damaged cedar in a commercial spa install.\u003c\/p\u003e\n\u003cp style=\"margin: 0; font-size: 0.98em; color: #4a4a4a;\"\u003eNot sure which cedar species is right for your build? Read our full guide: \u003ca target=\"_blank\" rel=\"noopener\" style=\"color: #2d5f4e; font-weight: 600;\" href=\"https:\/\/nwimmersion.com\/blogs\/all-post\/japanese-cedar-vs-western-red-cedar-choosing-the-right-wood-for-your-sauna\"\u003eJapanese Cedar vs. Western Red Cedar: Choosing the Right Wood for Your Sauna →\u003c\/a\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ============ INTERACTIVE CALCULATOR — CENTERPIECE ============ --\u003e\n\u003cdiv style=\"border: 2px solid #2d5f4e; border-radius: 10px; padding: 2em; margin-bottom: 2.5em; background: #ffffff; box-shadow: 0 4px 16px rgba(0,0,0,0.06);\"\u003e\n\u003ch3 style=\"margin: 0 0 0.4em; font-size: 1.5em; color: #1a3a2e; font-weight: 600;\"\u003eSauna Cedar Calculator — Build Your Cut List\u003c\/h3\u003e\n\u003cp style=\"margin: 0 0 1.5em; color: #4a4a4a;\"\u003eEnter each wall and the ceiling of your sauna interior. For each surface, choose whether the cedar runs \u003cstrong\u003ehorizontal\u003c\/strong\u003e (parallel to the floor — makes the room feel wider) or \u003cstrong\u003evertical\u003c\/strong\u003e (parallel to the studs — better water shedding for outdoor and high-humidity builds). We round every board to the nearest whole foot and give you an exact cut list showing how many boards of each length you need. Then click Reserve Now to email us your cut list for a firm shipping quote and ETA.\u003c\/p\u003e\n\u003c!-- Sauna default helper --\u003e\n\u003cdiv style=\"display: flex; gap: 0.5em; flex-wrap: wrap; margin-bottom: 1.5em; padding: 1em; background: #f5f0e6; border-radius: 6px;\"\u003e\n\u003cdiv style=\"width: 100%; font-size: 0.9em; font-weight: 600; color: #4a4a4a; margin-bottom: 0.4em;\"\u003eQuick-start with a common sauna size:\u003c\/div\u003e\n\u003cbutton style=\"padding: 0.5em 1em; background: #fff; border: 1px solid #c9c2b0; border-radius: 4px; cursor: pointer; font-size: 0.9em;\" type=\"button\"\u003e2-Person · 5×5×7\u003c\/button\u003e \u003cbutton style=\"padding: 0.5em 1em; background: #fff; border: 1px solid #c9c2b0; border-radius: 4px; cursor: pointer; font-size: 0.9em;\" type=\"button\"\u003e4-Person · 6×6×7\u003c\/button\u003e \u003cbutton style=\"padding: 0.5em 1em; background: #fff; border: 1px solid #c9c2b0; border-radius: 4px; cursor: pointer; font-size: 0.9em;\" type=\"button\"\u003e6-Person · 7×7×7\u003c\/button\u003e \u003cbutton style=\"padding: 0.5em 1em; background: #fff; border: 1px solid #c9c2b0; border-radius: 4px; cursor: pointer; font-size: 0.9em;\" type=\"button\"\u003eRectangular · 8×6×7\u003c\/button\u003e \u003cbutton style=\"padding: 0.5em 1em; background: #fff; border: 1px solid #c9c2b0; border-radius: 4px; cursor: pointer; font-size: 0.9em; color: #8a3a3a;\" type=\"button\"\u003eClear all\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c!-- Responsive per-surface inputs --\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .wrc-row { display:flex; flex-wrap:wrap; align-items:center; padding:0.85em 1em; background:#faf8f3; border-radius:6px; margin-bottom:0.6em; gap:0.6em 0.9em; }\n      .wrc-row.wrc-ceiling { background:#eef2ee; border:1px dashed #2d5f4e; }\n      .wrc-row .wrc-label { flex: 0 0 100%; font-weight:600; font-size:0.95em; color:#1a3a2e; }\n      .wrc-row .wrc-field { flex: 1 1 130px; display:flex; flex-direction:column; gap:0.25em; }\n      .wrc-row .wrc-field-lf { flex: 1 1 130px; text-align:right; font-weight:600; color:#2d5f4e; font-size:1.05em; align-self:flex-end; padding-bottom:0.3em; }\n      .wrc-row .wrc-caption { font-size:0.72em; text-transform:uppercase; letter-spacing:0.08em; color:#6b6558; font-weight:600; }\n      .wrc-row input, .wrc-row select { padding:0.6em 0.7em; font-size:1em; border:1px solid #c9c2b0; border-radius:4px; background:#fff; box-sizing:border-box; width:100%; }\n      @media (min-width: 720px){\n        .wrc-row .wrc-label { flex: 0 0 90px; }\n        .wrc-row .wrc-field { flex: 1 1 0; }\n        .wrc-row .wrc-field-lf { flex: 0 0 90px; align-self:center; padding-bottom:0; }\n      }\n      .wrc-cut-table { width:100%; border-collapse:collapse; font-size:0.95em; margin-top:0.75em; }\n      .wrc-cut-table th, .wrc-cut-table td { padding:0.55em 0.8em; text-align:right; border-bottom:1px solid #e0d9cb; }\n      .wrc-cut-table th:first-child, .wrc-cut-table td:first-child { text-align:left; }\n      .wrc-cut-table thead th { background:#1a3a2e; color:#f5f0e6; font-weight:600; font-size:0.85em; text-transform:uppercase; letter-spacing:0.06em; }\n      .wrc-cut-table tfoot td { background:#f5f0e6; font-weight:700; color:#1a3a2e; border-top:2px solid #2d5f4e; }\n    \u003c\/style\u003e\n\u003cdiv style=\"font-family: 'Inter','Helvetica Neue',Arial,sans-serif; line-height: 1.65; color: #1a1a1a; max-width: 100%;\" class=\"nw-wrc-pdp\"\u003e\n\u003cdiv style=\"border: 2px solid #2d5f4e; border-radius: 10px; padding: 2em; margin-bottom: 2.5em; background: #ffffff; box-shadow: 0 4px 16px rgba(0,0,0,0.06);\" id=\"wrc-calculator\"\u003e\n\u003cdiv style=\"margin-bottom: 1.5em;\"\u003e\n\u003cdiv class=\"wrc-row\"\u003e\n\u003cdiv class=\"wrc-label\"\u003eWall 1\u003c\/div\u003e\n\u003cdiv class=\"wrc-field\"\u003e\n\u003cdiv class=\"wrc-caption\"\u003eWidth (ft)\u003c\/div\u003e\n\u003cinput placeholder=\"—\" step=\"1\" min=\"0\" id=\"w1-w\" type=\"number\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"wrc-field\"\u003e\n\u003cdiv class=\"wrc-caption\"\u003eHeight (ft)\u003c\/div\u003e\n\u003cinput placeholder=\"—\" step=\"1\" min=\"0\" id=\"w1-h\" type=\"number\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"wrc-field\"\u003e\n\u003cdiv class=\"wrc-caption\"\u003eBoard direction\u003c\/div\u003e\n\u003cselect id=\"w1-dir\"\u003e\n\u003coption value=\"h\"\u003eHorizontal\u003c\/option\u003e\n\u003coption value=\"v\"\u003eVertical\u003c\/option\u003e\n\u003c\/select\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"w1-lf\" class=\"wrc-field-lf\"\u003e— ft\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"wrc-row\"\u003e\n\u003cdiv class=\"wrc-label\"\u003eWall 2\u003c\/div\u003e\n\u003cdiv class=\"wrc-field\"\u003e\n\u003cdiv class=\"wrc-caption\"\u003eWidth (ft)\u003c\/div\u003e\n\u003cinput placeholder=\"—\" step=\"1\" min=\"0\" id=\"w2-w\" type=\"number\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"wrc-field\"\u003e\n\u003cdiv class=\"wrc-caption\"\u003eHeight (ft)\u003c\/div\u003e\n\u003cinput placeholder=\"—\" step=\"1\" min=\"0\" id=\"w2-h\" type=\"number\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"wrc-field\"\u003e\n\u003cdiv class=\"wrc-caption\"\u003eBoard direction\u003c\/div\u003e\n\u003cselect id=\"w2-dir\"\u003e\n\u003coption value=\"h\"\u003eHorizontal\u003c\/option\u003e\n\u003coption value=\"v\"\u003eVertical\u003c\/option\u003e\n\u003c\/select\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"w2-lf\" class=\"wrc-field-lf\"\u003e— ft\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"wrc-row\"\u003e\n\u003cdiv class=\"wrc-label\"\u003eWall 3\u003c\/div\u003e\n\u003cdiv class=\"wrc-field\"\u003e\n\u003cdiv class=\"wrc-caption\"\u003eWidth (ft)\u003c\/div\u003e\n\u003cinput placeholder=\"—\" step=\"1\" min=\"0\" id=\"w3-w\" type=\"number\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"wrc-field\"\u003e\n\u003cdiv class=\"wrc-caption\"\u003eHeight (ft)\u003c\/div\u003e\n\u003cinput placeholder=\"—\" step=\"1\" min=\"0\" id=\"w3-h\" type=\"number\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"wrc-field\"\u003e\n\u003cdiv class=\"wrc-caption\"\u003eBoard direction\u003c\/div\u003e\n\u003cselect id=\"w3-dir\"\u003e\n\u003coption value=\"h\"\u003eHorizontal\u003c\/option\u003e\n\u003coption value=\"v\"\u003eVertical\u003c\/option\u003e\n\u003c\/select\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"w3-lf\" class=\"wrc-field-lf\"\u003e— ft\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"wrc-row\"\u003e\n\u003cdiv class=\"wrc-label\"\u003eWall 4\u003c\/div\u003e\n\u003cdiv class=\"wrc-field\"\u003e\n\u003cdiv class=\"wrc-caption\"\u003eWidth (ft)\u003c\/div\u003e\n\u003cinput placeholder=\"—\" step=\"1\" min=\"0\" id=\"w4-w\" type=\"number\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"wrc-field\"\u003e\n\u003cdiv class=\"wrc-caption\"\u003eHeight (ft)\u003c\/div\u003e\n\u003cinput placeholder=\"—\" step=\"1\" min=\"0\" id=\"w4-h\" type=\"number\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"wrc-field\"\u003e\n\u003cdiv class=\"wrc-caption\"\u003eBoard direction\u003c\/div\u003e\n\u003cselect id=\"w4-dir\"\u003e\n\u003coption value=\"h\"\u003eHorizontal\u003c\/option\u003e\n\u003coption value=\"v\"\u003eVertical\u003c\/option\u003e\n\u003c\/select\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"w4-lf\" class=\"wrc-field-lf\"\u003e— ft\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"wrc-row wrc-ceiling\"\u003e\n\u003cdiv class=\"wrc-label\"\u003eCeiling\u003c\/div\u003e\n\u003cdiv class=\"wrc-field\"\u003e\n\u003cdiv class=\"wrc-caption\"\u003eLength A (ft)\u003c\/div\u003e\n\u003cinput placeholder=\"—\" step=\"1\" min=\"0\" id=\"c-w\" type=\"number\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"wrc-field\"\u003e\n\u003cdiv class=\"wrc-caption\"\u003eLength B (ft)\u003c\/div\u003e\n\u003cinput placeholder=\"—\" step=\"1\" min=\"0\" id=\"c-h\" type=\"number\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"wrc-field\"\u003e\n\u003cdiv class=\"wrc-caption\"\u003eBoard direction\u003c\/div\u003e\n\u003cselect id=\"c-dir\"\u003e\n\u003coption value=\"h\"\u003eRuns along A\u003c\/option\u003e\n\u003coption value=\"v\"\u003eRuns along B\u003c\/option\u003e\n\u003c\/select\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"c-lf\" class=\"wrc-field-lf\"\u003e— ft\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"font-size: 0.85em; color: #6b6558; font-style: italic; margin-bottom: 1.25em; padding: 0 0.25em;\"\u003eFor the ceiling, Length A and Length B are the two floor-plan dimensions. Board direction picks which one the cedar runs parallel to.\u003c\/div\u003e\n\u003cdiv style=\"padding: 1.25em; background: #faf8f3; border-radius: 6px; margin-bottom: 1.5em;\"\u003e\n\u003clabel style=\"display: block; font-weight: 600; margin-bottom: 0.4em; font-size: 0.95em;\"\u003eWaste factor \u003cspan style=\"font-weight: 400; color: #6b6558; font-size: 0.9em;\"\u003e— we recommend 10% for a standard sauna interior\u003c\/span\u003e \u003c\/label\u003e\n\u003cdiv style=\"display: flex; align-items: center; gap: 0.5em;\"\u003e\n\u003cinput style=\"flex: 1;\" value=\"10\" max=\"20\" min=\"0\" id=\"wrc-waste\" type=\"range\"\u003e \u003cspan style=\"min-width: 3em; text-align: right; font-weight: 600;\" id=\"wrc-waste-display\"\u003e10%\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"padding: 1.5em; background: linear-gradient(135deg,#f5f0e6 0%,#eae2cf 100%); border-radius: 8px;\" id=\"wrc-results\"\u003e\n\u003cdiv style=\"display: grid; grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); gap: 1.25em;\"\u003e\n\u003cdiv\u003e\n\u003cdiv style=\"font-size: 0.78em; text-transform: uppercase; letter-spacing: 0.1em; color: #6b6558; margin-bottom: 0.3em;\"\u003eCoverage area\u003c\/div\u003e\n\u003cdiv id=\"wrc-out-area\" style=\"font-size: 1.4em; font-weight: 600; color: #1a3a2e;\"\u003e— sq ft\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv style=\"font-size: 0.78em; text-transform: uppercase; letter-spacing: 0.1em; color: #6b6558; margin-bottom: 0.3em;\"\u003eTotal boards\u003c\/div\u003e\n\u003cdiv id=\"wrc-out-boards\" style=\"font-size: 1.4em; font-weight: 600; color: #1a3a2e;\"\u003e—\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv style=\"font-size: 0.78em; text-transform: uppercase; letter-spacing: 0.1em; color: #6b6558; margin-bottom: 0.3em;\"\u003eLinear feet (with waste)\u003c\/div\u003e\n\u003cdiv id=\"wrc-out-lf-waste\" style=\"font-size: 1.4em; font-weight: 600; color: #1a3a2e;\"\u003e— ft\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv style=\"font-size: 0.78em; text-transform: uppercase; letter-spacing: 0.1em; color: #6b6558; margin-bottom: 0.3em;\"\u003eEstimated cedar total\u003c\/div\u003e\n\u003cdiv id=\"wrc-out-total\" style=\"font-size: 1.7em; font-weight: bold; color: #2d5f4e;\"\u003e—\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"margin-top: 1.5em; padding: 1.5em; background: #ffffff; border: 1px solid #d4cdb8; border-radius: 8px;\" id=\"wrc-cutlist-wrap\"\u003e\n\u003ch4 style=\"margin: 0 0 0.5em; font-size: 1.15em; color: #1a3a2e; font-weight: 600;\"\u003eYour Cedar Cut List\u003c\/h4\u003e\n\u003cp style=\"margin: 0 0 0.5em; font-size: 0.9em; color: #4a4a4a;\"\u003eBoard lengths and quantities needed for this sauna build. All boards are 1\" × 4\" clear Western Red Cedar T\u0026amp;G in standard mill lengths from 4 to 12 feet.\u003c\/p\u003e\n\u003cdiv style=\"overflow-x: auto;\" id=\"wrc-cutlist\"\u003e\n\u003cdiv style=\"padding: 1.5em; text-align: center; color: #6b6558; font-style: italic;\"\u003eEnter your surface dimensions above to see the cut list.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"margin-top: 0.75em; font-size: 0.85em; color: #6b6558; font-style: italic;\" id=\"wrc-cutlist-note\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"margin-top: 1.5em; padding: 1.5em; background: #1a3a2e; color: #f5f0e6; border-radius: 8px;\"\u003e\n\u003cdiv style=\"display: grid; grid-template-columns: 1fr; gap: 1em;\"\u003e\n\u003cdiv\u003e\n\u003ch4 style=\"margin: 0 0 0.3em; font-size: 1.2em; font-weight: 600; color: #f5f0e6;\"\u003eReady to Reserve Your Cedar?\u003c\/h4\u003e\n\u003cp style=\"margin: 0 0 0.5em; font-size: 0.95em; opacity: 0.95;\"\u003eClick the button and we'll open an email pre-filled with your cut list. Add your name and shipping address — we'll reply within one business day with a firm price, LTL freight shipping quote to your zip code, and ETA.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003ca style=\"display: inline-block; padding: 0.9em 2em; background: #d4a017; color: #1a3a2e; text-decoration: none; font-weight: bold; font-size: 1.05em; border-radius: 6px; letter-spacing: 0.03em;\" href=\"mailto:info@nwimmersion.com?subject=Western%20Red%20Cedar%20T%26G%20Reservation\u0026amp;body=Please%20use%20the%20calculator%20above%20to%20fill%20in%20your%20cut%20list%20first.\" id=\"wrc-reserve-btn\"\u003eReserve Now — Send Cut List\u003c\/a\u003e\n\u003cdiv style=\"margin-top: 0.5em; font-size: 0.85em; opacity: 0.85;\" id=\"wrc-reserve-help\"\u003eFill in the calculator above to unlock a personalized reservation email.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"margin-top: 1em; padding: 1em 1.25em; background: #fff8e6; border-left: 3px solid #d4a017; border-radius: 4px; font-size: 0.9em; color: #5a4a1a;\"\u003e\n\u003cstrong\u003eHow we count boards:\u003c\/strong\u003e For each surface, we calculate how many board-runs fit at a 3\" reveal, then round each run up to the nearest whole foot (we don't cut to inches). The waste factor adds a buffer for miters, cutouts around benches and doors, and finger-jointing on long walls. Board lengths are grouped into standard mill lengths (4', 6', 8', 10', 12').\u003c\/div\u003e\n\u003cdiv style=\"margin-top: 0.75em; padding: 1em 1.25em; background: #f0e8d8; border-radius: 4px; font-size: 0.9em; color: #4a4a4a;\"\u003ePrefer to talk it through? Email \u003ca style=\"color: #2d5f4e; font-weight: 600;\" href=\"mailto:info@nwimmersion.com\"\u003einfo@nwimmersion.com\u003c\/a\u003e or call \u003ca style=\"color: #2d5f4e; font-weight: 600;\" href=\"tel:3603606968\"\u003e360-360-6968\u003c\/a\u003e with your sauna dimensions and we'll build a firm quote with an ETA.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Calculator + cut list + mailto builder --\u003e \u003cscript\u003e\n    (function(){\n      var PRICE_PER_LF = 3.50;\n      var REVEAL_FT = 3\/12;\n      var STOCK_LENGTHS = [12, 10, 8, 6, 4];\n      var MIN_STOCK = 4;\n\n      window.wrcPreset = function(width, length, height){\n        document.getElementById('w1-w').value = width;  document.getElementById('w1-h').value = height;\n        document.getElementById('w2-w').value = length; document.getElementById('w2-h').value = height;\n        document.getElementById('w3-w').value = width;  document.getElementById('w3-h').value = height;\n        document.getElementById('w4-w').value = length; document.getElementById('w4-h').value = height;\n        document.getElementById('c-w').value  = width;  document.getElementById('c-h').value  = length;\n        wrcCalc();\n      };\n      window.wrcClear = function(){\n        ['w1-w','w1-h','w2-w','w2-h','w3-w','w3-h','w4-w','w4-h','c-w','c-h'].forEach(function(id){\n          document.getElementById(id).value = '';\n        });\n        wrcCalc();\n      };\n      function boardsForRun(runLen){\n        if(runLen \u003c= MIN_STOCK) return [MIN_STOCK];\n        if(runLen \u003c= 12) return [runLen];\n        var best = null;\n        for(var a = 12; a \u003e= MIN_STOCK; a--){\n          for(var b = 12; b \u003e= MIN_STOCK; b--){\n            if(a + b \u003e= runLen){\n              var waste = (a + b) - runLen;\n              if(best === null || waste \u003c best.waste){ best = { pair:[a,b], waste:waste }; }\n            }\n          }\n        }\n        return best ? best.pair : [12,12];\n      }\n      function surfaceCutList(width, height, direction){\n        if(!width || !height || width \u003c= 0 || height \u003c= 0) return { runs: [], totalLF: 0, area: 0 };\n        var area = width * height;\n        var runLenRaw, numRuns;\n        if(direction === 'h'){ runLenRaw = width; numRuns = Math.ceil(height \/ REVEAL_FT); }\n        else { runLenRaw = height; numRuns = Math.ceil(width \/ REVEAL_FT); }\n        var runLen = Math.max(MIN_STOCK, Math.ceil(runLenRaw));\n        var boardsPerRun = boardsForRun(runLen);\n        var byLength = {};\n        boardsPerRun.forEach(function(bl){ byLength[bl] = (byLength[bl] || 0) + numRuns; });\n        var runs = Object.keys(byLength).map(function(k){ return { len: parseInt(k), count: byLength[k] }; })\n                                        .sort(function(a,b){ return b.len - a.len; });\n        var totalLF = runs.reduce(function(s,r){ return s + r.len * r.count; }, 0);\n        return { runs: runs, totalLF: totalLF, area: area };\n      }\n      function aggregateCutList(surfaces){\n        var by = {};\n        surfaces.forEach(function(s){\n          s.cut.runs.forEach(function(r){ by[r.len] = (by[r.len] || 0) + r.count; });\n        });\n        return Object.keys(by).map(function(k){ return { len: parseInt(k), count: by[k] }; })\n                              .sort(function(a,b){ return b.len - a.len; });\n      }\n      function applyWaste(cutList, wastePct){\n        if(wastePct === 0) return cutList.map(function(r){ return { len: r.len, count: r.count }; });\n        return cutList.map(function(r){\n          var newCount = Math.ceil(r.count * (1 + wastePct\/100));\n          return { len: r.len, count: newCount };\n        });\n      }\n      window.wrcCalc = function(){\n        var defs = [\n          {prefix:'w1', label:'Wall 1'},\n          {prefix:'w2', label:'Wall 2'},\n          {prefix:'w3', label:'Wall 3'},\n          {prefix:'w4', label:'Wall 4'},\n          {prefix:'c',  label:'Ceiling'}\n        ];\n        var surfaces = defs.map(function(d){\n          var w = parseFloat(document.getElementById(d.prefix + '-w').value) || 0;\n          var h = parseFloat(document.getElementById(d.prefix + '-h').value) || 0;\n          var dir = document.getElementById(d.prefix + '-dir').value;\n          var cut = surfaceCutList(w, h, dir);\n          document.getElementById(d.prefix + '-lf').textContent = cut.totalLF \u003e 0 ? cut.totalLF + ' ft' : '— ft';\n          return { def: d, w: w, h: h, dir: dir, cut: cut };\n        });\n        var totalArea = surfaces.reduce(function(s,x){ return s + x.cut.area; }, 0);\n        var waste = parseInt(document.getElementById('wrc-waste').value) || 0;\n        document.getElementById('wrc-waste-display').textContent = waste + '%';\n        var agg = aggregateCutList(surfaces);\n        var withWaste = applyWaste(agg, waste);\n        var totalBoards = withWaste.reduce(function(s,r){ return s + r.count; }, 0);\n        var totalLF = withWaste.reduce(function(s,r){ return s + r.len * r.count; }, 0);\n        var totalCost = totalLF * PRICE_PER_LF;\n        document.getElementById('wrc-out-area').textContent = totalArea \u003e 0 ? totalArea.toFixed(0) + ' sq ft' : '— sq ft';\n        document.getElementById('wrc-out-boards').textContent = totalBoards \u003e 0 ? totalBoards + ' boards' : '—';\n        document.getElementById('wrc-out-lf-waste').textContent = totalLF \u003e 0 ? totalLF + ' ft' : '— ft';\n        document.getElementById('wrc-out-total').textContent = totalCost \u003e 0 ? '$' + Math.ceil(totalCost).toLocaleString('en-US') : '—';\n        var cutListEl = document.getElementById('wrc-cutlist');\n        var noteEl = document.getElementById('wrc-cutlist-note');\n        if(totalBoards === 0){\n          cutListEl.innerHTML = '\u003cdiv style=\"padding:1.5em;text-align:center;color:#6b6558;font-style:italic;\"\u003eEnter your surface dimensions above to see the cut list.\u003c\/div\u003e';\n          noteEl.textContent = '';\n        } else {\n          var html = '\u003ctable class=\"wrc-cut-table\"\u003e\u003cthead\u003e\u003ctr\u003e\u003cth\u003eBoard length\u003c\/th\u003e\u003cth\u003eQuantity\u003c\/th\u003e\u003cth\u003eLinear feet\u003c\/th\u003e\u003cth\u003eSubtotal\u003c\/th\u003e\u003c\/tr\u003e\u003c\/thead\u003e\u003ctbody\u003e';\n          withWaste.forEach(function(r){\n            var lf = r.len * r.count;\n            html += '\u003ctr\u003e\u003ctd\u003e' + r.len + ' ft boards\u003c\/td\u003e\u003ctd\u003e' + r.count + '\u003c\/td\u003e\u003ctd\u003e' + lf + ' lf\u003c\/td\u003e\u003ctd\u003e$' + (lf * PRICE_PER_LF).toFixed(2) + '\u003c\/td\u003e\u003c\/tr\u003e';\n          });\n          html += '\u003c\/tbody\u003e\u003ctfoot\u003e\u003ctr\u003e\u003ctd\u003eTotal (includes ' + waste + '% waste)\u003c\/td\u003e\u003ctd\u003e' + totalBoards + '\u003c\/td\u003e\u003ctd\u003e' + totalLF + ' lf\u003c\/td\u003e\u003ctd\u003e$' + totalCost.toFixed(2) + '\u003c\/td\u003e\u003c\/tr\u003e\u003c\/tfoot\u003e\u003c\/table\u003e';\n          cutListEl.innerHTML = html;\n          noteEl.innerHTML = 'Cedar subtotal only. Reserve Now to get a firm LTL freight shipping quote and ETA to your address.';\n        }\n        var btn = document.getElementById('wrc-reserve-btn');\n        var help = document.getElementById('wrc-reserve-help');\n        var mailtoUrl;\n        var hasCutList = totalBoards \u003e 0;\n        if(!hasCutList){\n          btn.style.opacity = '0.6';\n          btn.style.pointerEvents = 'none';\n          mailtoUrl = 'mailto:info@nwimmersion.com?subject=Western%20Red%20Cedar%20T%26G%20Reservation';\n          btn.href = mailtoUrl;\n          help.textContent = 'Fill in the calculator above to unlock a personalized reservation email.';\n        } else {\n          btn.style.opacity = '1';\n          btn.style.pointerEvents = 'auto';\n          var lines = [];\n          lines.push('Hi NW Immersion team,');\n          lines.push('');\n          lines.push('I would like to reserve Western Red Cedar T\u0026G for my sauna build. My cut list is below — please send a firm price, LTL freight shipping quote to my address, and ETA.');\n          lines.push('');\n          lines.push('=== MY SAUNA DIMENSIONS ===');\n          surfaces.forEach(function(s){\n            if(s.cut.totalLF \u003e 0){\n              var dirLabel = s.def.prefix === 'c'\n                ? (s.dir === 'h' ? 'runs along Length A' : 'runs along Length B')\n                : (s.dir === 'h' ? 'horizontal' : 'vertical');\n              lines.push('  ' + s.def.label + ': ' + s.w + ' ft × ' + s.h + ' ft, boards ' + dirLabel);\n            }\n          });\n          lines.push('  Waste factor: ' + waste + '%');\n          lines.push('');\n          lines.push('=== CUT LIST (grouped by board length) ===');\n          withWaste.forEach(function(r){\n            lines.push('  ' + r.len + \"' boards: \" + r.count + ' pieces (' + (r.len * r.count) + ' lf)');\n          });\n          lines.push('');\n          lines.push('=== TOTALS ===');\n          lines.push('  Coverage area: ' + totalArea.toFixed(0) + ' sq ft');\n          lines.push('  Total boards: ' + totalBoards);\n          lines.push('  Total linear feet (with ' + waste + '% waste): ' + totalLF + ' lf');\n          lines.push('  Cedar subtotal at $3.50\/lf: $' + totalCost.toFixed(2));\n          lines.push('  Shipping: to be quoted');\n          lines.push('');\n          lines.push('=== MY SHIPPING ADDRESS ===');\n          lines.push('  Name:');\n          lines.push('  Address:');\n          lines.push('  City, State, ZIP:');\n          lines.push('  Phone:');\n          lines.push('  Target delivery week (optional):');\n          lines.push('');\n          lines.push('Thanks!');\n          var subject = 'Western Red Cedar T\u0026G Reservation — ' + totalBoards + ' boards, ' + totalLF + ' lf';\n          var body = lines.join('\\n');\n          mailtoUrl = 'mailto:info@nwimmersion.com?subject=' + encodeURIComponent(subject) + '\u0026body=' + encodeURIComponent(body);\n          btn.href = mailtoUrl;\n          help.textContent = 'Opens your email app with the cut list pre-filled. Add your shipping info and send.';\n        }\n        \/\/ Expose current state so the theme's Reserve Now (main + sticky ATC) buttons can pull the same mailto\n        window.wrcReserveState = {\n          hasCutList: hasCutList,\n          mailtoUrl: mailtoUrl,\n          totalBoards: totalBoards,\n          totalLF: totalLF\n        };\n        \/\/ Notify reserve binder (added 2026-07-29 with infinite-loop fix)\n        try { window.dispatchEvent(new CustomEvent('wrc:state-change')); } catch(e){}\n      };\n    \n\n      \/\/ ==== EVENT WIRING (added 2026-07-29 — calculator now actually recalculates on input) ====\n      function wrcWireUp(){\n        var calcRoot = document.getElementById('wrc-calculator');\n        if(!calcRoot || calcRoot.dataset.wrcWired) return;\n        calcRoot.dataset.wrcWired = '1';\n\n        \/\/ Wire all number inputs \u0026 selects for live recalc\n        var inputIds = ['w1-w','w1-h','w2-w','w2-h','w3-w','w3-h','w4-w','w4-h','c-w','c-h'];\n        inputIds.forEach(function(id){\n          var el = document.getElementById(id);\n          if(el) el.addEventListener('input', function(){ window.wrcCalc(); });\n        });\n        var selectIds = ['w1-dir','w2-dir','w3-dir','w4-dir','c-dir'];\n        selectIds.forEach(function(id){\n          var el = document.getElementById(id);\n          if(el) el.addEventListener('change', function(){ window.wrcCalc(); });\n        });\n        var waste = document.getElementById('wrc-waste');\n        if(waste) waste.addEventListener('input', function(){ window.wrcCalc(); });\n\n        \/\/ Wire preset buttons (find them by their text content since they have no id)\n        var quickStartRow = calcRoot.previousElementSibling;\n        \/\/ Try a few locations — the preset row is just before the calculator, or in a sibling div\n        var scope = document; \/\/ fall back to whole doc for safety\n        var buttons = scope.querySelectorAll('button[type=\"button\"]');\n        buttons.forEach(function(b){\n          var t = (b.textContent || '').trim();\n          if(t.indexOf('2-Person') === 0){\n            b.addEventListener('click', function(e){ e.preventDefault(); window.wrcPreset(5, 5, 7); });\n          } else if(t.indexOf('4-Person') === 0){\n            b.addEventListener('click', function(e){ e.preventDefault(); window.wrcPreset(6, 6, 7); });\n          } else if(t.indexOf('6-Person') === 0){\n            b.addEventListener('click', function(e){ e.preventDefault(); window.wrcPreset(7, 7, 7); });\n          } else if(t.indexOf('Rectangular') === 0){\n            b.addEventListener('click', function(e){ e.preventDefault(); window.wrcPreset(8, 6, 7); });\n          } else if(t.indexOf('Clear all') === 0){\n            b.addEventListener('click', function(e){ e.preventDefault(); window.wrcClear(); });\n          }\n        });\n\n        \/\/ Initial calc so outputs read \"— ft\" instead of stale\n        try { window.wrcCalc(); } catch(e){}\n      }\n\n      \/\/ Run wireup ASAP + on DOM ready as a safety net\n      wrcWireUp();\n      if(document.readyState === 'loading'){\n        document.addEventListener('DOMContentLoaded', wrcWireUp, { once: true });\n      }\n      window.addEventListener('load', wrcWireUp, { once: true });\n    })();\n  \u003c\/script\u003e \u003c!-- ============ THEME BUTTON INTERCEPTOR ============ --\u003e \u003c!-- Rewires the theme's main + sticky \"Reserve Now\" buttons to fire the same mailto as the calculator's Reserve Now, using the current cut list. If the calculator hasn't been filled in yet, scroll the user to the calculator and briefly highlight it. --\u003e \u003cscript\u003e\n    (function(){\n      \/\/ WRC Reserve Now binder — fixed 2026-07-29 (infinite-loop safe)\n      var CALC_ID = 'wrc-calculator';\n      var CALC_SELECTORS = [\n        '.nw-pdp-atc-btn',            \/\/ Main PDP Reserve Now button\n        '.nw-sticky-atc__btn'         \/\/ Sticky mobile Reserve Now button\n      ];\n\n      var mo = null;         \/\/ MutationObserver reference\n      var attaching = false; \/\/ re-entrance guard\n      var lastState = null;  \/\/ for helper text updates\n\n      function handleReserveClick(e){\n        var state = window.wrcReserveState;\n        e.preventDefault();\n        e.stopPropagation();\n        e.stopImmediatePropagation();\n\n        if(state \u0026\u0026 state.hasCutList \u0026\u0026 state.mailtoUrl){\n          window.location.href = state.mailtoUrl;\n          return false;\n        }\n\n        var calc = document.getElementById(CALC_ID);\n        if(calc){\n          calc.scrollIntoView({behavior:'smooth', block:'start'});\n          calc.style.transition = 'box-shadow 0.4s ease';\n          var orig = calc.style.boxShadow;\n          calc.style.boxShadow = '0 0 0 4px #d4a017, 0 4px 16px rgba(0,0,0,0.06)';\n          setTimeout(function(){ calc.style.boxShadow = orig; }, 1800);\n          var firstInput = calc.querySelector('input[type=\"number\"]');\n          if(firstInput){ setTimeout(function(){ firstInput.focus(); }, 600); }\n        } else {\n          window.location.href = 'mailto:info@nwimmersion.com?subject=Western%20Red%20Cedar%20T%26G%20Reservation\u0026body=' + encodeURIComponent('Hi NW Immersion team,\\n\\nI would like to reserve Western Red Cedar T\u0026G for my sauna build. Please send me a firm price and shipping quote.\\n\\nSauna dimensions:\\n  Wall 1:\\n  Wall 2:\\n  Wall 3:\\n  Wall 4:\\n  Ceiling:\\n\\nMy shipping address:\\n  Name:\\n  Address:\\n  City, State, ZIP:\\n  Phone:\\n\\nThanks!');\n        }\n        return false;\n      }\n\n      function ensureHelper(btn){\n        var host, key;\n        if(btn.classList.contains('nw-pdp-atc-btn')){\n          host = btn.closest('.nw-pdp-atc-row') || btn.parentNode;\n          key = 'main';\n        } else {\n          host = btn.closest('.nw-sticky-atc__actions') || btn.parentNode;\n          key = 'sticky';\n        }\n        if(!host) return null;\n        var existing = host.querySelector('.wrc-reserve-helper[data-wrc-helper=\"' + key + '\"]');\n        if(existing) return existing;\n        var helper = document.createElement('div');\n        helper.className = 'wrc-reserve-helper';\n        helper.setAttribute('data-wrc-helper', key);\n        helper.setAttribute('role', 'status');\n        helper.setAttribute('aria-live', 'polite');\n        var isSticky = (key === 'sticky');\n        helper.style.cssText = [\n          'display:flex','align-items:center','gap:0.4em',\n          'margin:' + (isSticky ? '0.35em 0 0.15em' : '0.75em 0 0'),\n          'font-size:' + (isSticky ? '0.78em' : '0.88em'),\n          'line-height:1.4',\n          'color:' + (isSticky ? '#e8e8e0' : '#4a4a4a'),\n          'text-align:center','justify-content:center','font-weight:500','width:100%'\n        ].join(';');\n        host.appendChild(helper);\n        return helper;\n      }\n\n      function updateHelpers(){\n        var state = window.wrcReserveState;\n        var hasCutList = state \u0026\u0026 state.hasCutList;\n        var sig = state ? (hasCutList ? 'y:' + state.totalBoards + ':' + state.totalLF : 'n') : 'null';\n        if(sig === lastState) return; \/\/ skip no-op DOM writes\n        lastState = sig;\n        var helpers = document.querySelectorAll('.wrc-reserve-helper');\n        for(var i = 0; i \u003c helpers.length; i++){\n          var h = helpers[i];\n          if(hasCutList){\n            h.innerHTML = '\u003cspan style=\"color:#3b7c5f;font-size:1em;\"\u003e\u0026#10003;\u003c\/span\u003e Opens your email with your cut list (' + state.totalBoards + ' boards, ' + state.totalLF + ' lf) pre-filled';\n          } else {\n            h.innerHTML = '\u003cspan style=\"font-size:1em;\"\u003e\u0026#8595;\u003c\/span\u003e Scroll down and fill in the calculator to build your cut list';\n          }\n        }\n      }\n\n      function attach(btn){\n        if(btn.dataset.wrcMailtoBound){\n          ensureHelper(btn);\n          return;\n        }\n        btn.dataset.wrcMailtoBound = '1';\n        btn.addEventListener('click', handleReserveClick, true);\n        ensureHelper(btn);\n      }\n\n      function attachAllSafe(){\n        \/\/ Guard against re-entrance from our own DOM mutations firing the observer\n        if(attaching) return;\n        attaching = true;\n        \/\/ Pause observer so our appendChild calls don't feed back\n        if(mo){ try { mo.disconnect(); } catch(e){} }\n        try {\n          for(var i = 0; i \u003c CALC_SELECTORS.length; i++){\n            var nodes = document.querySelectorAll(CALC_SELECTORS[i]);\n            for(var j = 0; j \u003c nodes.length; j++){ attach(nodes[j]); }\n          }\n          updateHelpers();\n        } catch(e){\n          \/\/ Never let a helper error hang the page\n          if(window.console \u0026\u0026 console.warn){ console.warn('WRC reserve binder:', e); }\n        } finally {\n          \/\/ Reconnect observer for future dynamic sticky-bar renders\n          if(mo){ try { mo.observe(document.body, {childList:true, subtree:true}); } catch(e){} }\n          attaching = false;\n        }\n      }\n\n      \/\/ Initial run + one-time listeners for late-loading DOM\n      attachAllSafe();\n      if(document.readyState !== 'complete'){\n        document.addEventListener('DOMContentLoaded', attachAllSafe, { once: true });\n        window.addEventListener('load', attachAllSafe, { once: true });\n      }\n\n      \/\/ Short bounded poll (3 seconds total) — sticky bar sometimes renders late\n      var pollCount = 0;\n      var pollTimer = setInterval(function(){\n        attachAllSafe();\n        if(++pollCount \u003e= 6) clearInterval(pollTimer); \/\/ 6 x 500ms = 3s cap\n      }, 500);\n\n      \/\/ MutationObserver ONLY re-runs attachAllSafe(); it disconnects itself while working\n      if(window.MutationObserver){\n        mo = new MutationObserver(function(){ attachAllSafe(); });\n        try { mo.observe(document.body, {childList:true, subtree:true}); } catch(e){}\n      }\n\n      \/\/ Update helper text whenever the calculator broadcasts new state\n      window.addEventListener('wrc:state-change', updateHelpers);\n    })();\n  \u003c\/script\u003e \u003c!-- ============ WHY WRC (H2 with primary keyword) ============ --\u003e\n\u003ch3 style=\"font-size: 1.5em; font-weight: 600; color: #1a3a2e; margin: 2.5em 0 0.8em;\" id=\"wrc-why\"\u003eWhy Western Red Cedar Is the Gold Standard for Sauna Interiors\u003c\/h3\u003e\n\u003cp style=\"margin: 0 0 1.2em;\"\u003eWestern Red Cedar (\u003cem\u003eThuja plicata\u003c\/em\u003e) is the traditional choice for sauna interiors in North America — and after building hundreds of saunas by hand in our Vancouver, Washington shop, it's the only wood we trust for the flagship \u003ca target=\"_blank\" rel=\"noopener\" style=\"color: #2d5f4e; font-weight: 600;\" href=\"https:\/\/nwimmersion.com\/collections\/signature-sauna\"\u003eSignature Sauna line\u003c\/a\u003e. Four properties make cedar uniquely suited to sauna interiors:\u003c\/p\u003e\n\u003cul style=\"margin: 0 0 1.5em; padding-left: 1.5em;\"\u003e\n\u003cli style=\"margin-bottom: 0.7em;\"\u003e\n\u003cstrong\u003eNatural rot and mildew resistance.\u003c\/strong\u003e Cedar's \u003ca rel=\"external nofollow\" style=\"color: #2d5f4e;\" href=\"https:\/\/en.wikipedia.org\/wiki\/Thuja_plicata#Chemistry\" target=\"_blank\"\u003enatural oils (thujaplicins)\u003c\/a\u003e resist decay in high-humidity environments without any chemical treatment. That matters inside a sauna where wood absorbs and releases moisture with every session.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 0.7em;\"\u003e\n\u003cstrong\u003eLow thermal conductivity.\u003c\/strong\u003e Cedar's low density means it stays comfortable to touch at high heat. Sitting on a cedar bench at 190°F feels warm; sitting on a hardwood bench at the same temperature can burn skin.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 0.7em;\"\u003e\n\u003cstrong\u003eDimensional stability.\u003c\/strong\u003e WRC has one of the lowest shrinkage-and-expansion ratings of any softwood, so boards stay tight and don't cup or twist through the repeated heat and moisture cycles a working sauna demands.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 0;\"\u003e\n\u003cstrong\u003eNon-toxic and safe at high heat.\u003c\/strong\u003e Cedar releases its warm aroma but no harmful VOCs, resins, or pitch pockets that could off-gas in an enclosed hot room.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"margin: 0 0 1.2em;\"\u003eThis listing is \u003cstrong\u003etrue clear grade\u003c\/strong\u003e Western Red Cedar — small tight knots at most, no loose knots, no pitch pockets, no defects. It's the same material milled to the same tolerances we use in our own build shop for our \u003ca target=\"_blank\" rel=\"noopener\" style=\"color: #2d5f4e; font-weight: 600;\" href=\"https:\/\/nwimmersion.com\/collections\/signature-sauna\"\u003eSignature Saunas\u003c\/a\u003e. Kiln-dried to sauna-ready moisture content so boards don't cup, twist, or gap as they acclimate. Mixed-grain (MG) faces give you the full warmth of cedar's natural color variation without the price jump of vertical-grain-only stock.\u003c\/p\u003e\n\u003cp style=\"margin: 0 0 1.5em; color: #4a4a4a;\"\u003e👉 Want the full cedar species deep-dive? Read \u003ca target=\"_blank\" rel=\"noopener\" style=\"color: #2d5f4e; font-weight: 600;\" href=\"https:\/\/nwimmersion.com\/blogs\/all-post\/japanese-cedar-vs-western-red-cedar-choosing-the-right-wood-for-your-sauna\"\u003eJapanese Cedar vs. Western Red Cedar: Choosing the Right Wood for Your Sauna\u003c\/a\u003e for a side-by-side on aroma, density, oil content, and cost.\u003c\/p\u003e\n\u003c!-- ============ ORIENTATION EDUCATION ============ --\u003e\n\u003ch3 style=\"font-size: 1.5em; font-weight: 600; color: #1a3a2e; margin: 2em 0 0.8em;\" id=\"wrc-orientation\"\u003eHorizontal vs. Vertical Cedar Installation — Which Direction Is Right for Your Sauna?\u003c\/h3\u003e\n\u003cp style=\"margin: 0 0 1em;\"\u003eBoth orientations are traditional in sauna construction. The choice comes down to the look you want, your build site's practical constraints, and — critically — \u003cstrong\u003ehow your framing is built\u003c\/strong\u003e. Before you pick an orientation, look at how your wall studs run:\u003c\/p\u003e\n\u003cul style=\"margin: 0 0 1.5em; padding-left: 1.5em;\"\u003e\n\u003cli style=\"margin-bottom: 0.6em;\"\u003e\n\u003cstrong\u003eHorizontal cedar (parallel to floor) — easier install:\u003c\/strong\u003e The most common orientation for compact indoor saunas because standard wall framing has \u003cstrong\u003evertical studs at 16\" or 24\" on center\u003c\/strong\u003e, giving you a solid nailer every foot or two as you work up the wall. You nail the T\u0026amp;G tongue directly into each stud you cross. No extra framing prep required. Also makes the room feel wider, allows longer continuous board runs on the long walls, and works well when your ceiling height doesn't cleanly divide by 3\" (fewer awkward rip cuts at the ceiling line). Traditional Finnish and North American home saunas typically use horizontal cedar for exactly this reason.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 0.6em;\"\u003e\n\u003cstrong\u003eVertical cedar (parallel to studs) — requires additional blocking:\u003c\/strong\u003e Because your studs already run vertical, the T\u0026amp;G would be running \u003cem\u003eparallel\u003c\/em\u003e to them instead of crossing them — meaning you have nothing to nail into between the top and bottom plates. Before installing vertical cedar you'll need to add \u003cstrong\u003ehorizontal blocking\u003c\/strong\u003e (2×4 nailers) between the studs, typically every 24\" of wall height, so the T\u0026amp;G has something to bite into. Plan an extra half-day of framing prep per wall. The trade-off: vertical cedar sheds condensation better (water runs straight down between the boards rather than pooling on horizontal joints), makes the room feel taller, and is often preferred for outdoor saunas, barrel saunas, and high-use commercial installs where every session generates heavy löyly.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 0.6em;\"\u003e\n\u003cstrong\u003eCeilings — same rule:\u003c\/strong\u003e If your ceiling joists run one direction, board runs that cross them install straight to the joists. Runs that go parallel to the joists need blocking added between them.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 0;\"\u003e\n\u003cstrong\u003eMix and match:\u003c\/strong\u003e Some of our Signature Sauna builds use vertical cedar on the walls (with blocking added during framing) and horizontal on the ceiling for a \"boat interior\" look. The calculator above lets you set each surface independently so you can price both approaches before committing.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv style=\"padding: 1em 1.25em; background: #fff8e6; border-left: 3px solid #d4a017; border-radius: 4px; font-size: 0.92em; color: #5a4a1a; margin-bottom: 1.5em;\"\u003e\n\u003cstrong\u003eBuilder's tip:\u003c\/strong\u003e If your studs are already framed and you don't want to add blocking, run your cedar horizontal. If you're framing from scratch and love the look of vertical cedar, add the blocking during rough framing — it's a lot easier than retrofitting later.\u003c\/div\u003e\n\u003c!-- ============ WHAT YOU GET ============ --\u003e\n\u003ch3 style=\"font-size: 1.5em; font-weight: 600; color: #1a3a2e; margin: 2em 0 0.8em;\"\u003eWhat You're Getting\u003c\/h3\u003e\n\u003cul style=\"margin: 0 0 1.5em; padding-left: 1.5em;\"\u003e\n\u003cli style=\"margin-bottom: 0.6em;\"\u003e\n\u003cstrong\u003eTrue clear-grade Western Red Cedar\u003c\/strong\u003e — the top grade offered by Pacific Northwest mills. No industrial knots, no defects. See the \u003ca rel=\"external nofollow\" style=\"color: #2d5f4e;\" href=\"https:\/\/www.wrcla.org\/products-and-services\/products\/grades\/\" target=\"_blank\"\u003eWRCLA grade standards\u003c\/a\u003e for reference.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 0.6em;\"\u003e\n\u003cstrong\u003eNominal 1\" × 4\" tongue \u0026amp; groove profile\u003c\/strong\u003e with a 3\" face reveal — the industry-standard sauna interior profile.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 0.6em;\"\u003e\n\u003cstrong\u003eKiln-dried\u003c\/strong\u003e to the moisture content that keeps boards stable through your first heat cycles — no post-install cupping or gapping.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 0.6em;\"\u003e\n\u003cstrong\u003eNon-toxic, chemical-free surface\u003c\/strong\u003e — no stains, no sealants, no finishes required. Safe for high-heat, closed-air sauna interiors.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 0.6em;\"\u003e\n\u003cstrong\u003eSold by the linear foot\u003c\/strong\u003e so you order exactly what your project needs, not by the pallet.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 0;\"\u003e\n\u003cstrong\u003eMill lengths 4', 6', 8', 10', 12'\u003c\/strong\u003e to match your cut list. Longer custom lengths available on request.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c!-- ============ COMPARISON TABLE ============ --\u003e\n\u003ch3 style=\"font-size: 1.5em; font-weight: 600; color: #1a3a2e; margin: 2em 0 0.8em;\" id=\"wrc-compare\"\u003eHow NW Immersion WRC T\u0026amp;G Compares\u003c\/h3\u003e\n\u003cdiv style=\"overflow-x: auto; margin-bottom: 1.5em;\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 0.95em;\"\u003e\n\u003cthead\u003e\n\u003ctr style=\"background: #1a3a2e; color: #f5f0e6;\"\u003e\n\u003cth style=\"text-align: left; padding: 0.8em 1em; font-weight: 600;\"\u003eAttribute\u003c\/th\u003e\n\u003cth style=\"text-align: left; padding: 0.8em 1em; font-weight: 600;\"\u003eNW Immersion WRC\u003c\/th\u003e\n\u003cth style=\"text-align: left; padding: 0.8em 1em; font-weight: 600;\"\u003eTypical Import T\u0026amp;G\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr style=\"border-bottom: 1px solid #e0d9cb;\"\u003e\n\u003ctd style=\"padding: 0.8em 1em; background: #faf8f3;\"\u003e\u003cstrong\u003eSpecies\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 0.8em 1em;\"\u003eWestern Red Cedar (Pacific NW)\u003c\/td\u003e\n\u003ctd style=\"padding: 0.8em 1em;\"\u003eNordic Spruce, Aspen, or imported Hemlock\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"border-bottom: 1px solid #e0d9cb;\"\u003e\n\u003ctd style=\"padding: 0.8em 1em; background: #faf8f3;\"\u003e\u003cstrong\u003eGrade\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 0.8em 1em;\"\u003eTrue clear MG\u003c\/td\u003e\n\u003ctd style=\"padding: 0.8em 1em;\"\u003eOften \"A\" or \"Select\" — allows tight knots\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"border-bottom: 1px solid #e0d9cb;\"\u003e\n\u003ctd style=\"padding: 0.8em 1em; background: #faf8f3;\"\u003e\u003cstrong\u003eOrigin\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 0.8em 1em;\"\u003ePacific Northwest, USA\u003c\/td\u003e\n\u003ctd style=\"padding: 0.8em 1em;\"\u003eNorthern Europe or Canada\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"border-bottom: 1px solid #e0d9cb;\"\u003e\n\u003ctd style=\"padding: 0.8em 1em; background: #faf8f3;\"\u003e\u003cstrong\u003eReveal\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 0.8em 1em;\"\u003e3\" (industry sauna standard)\u003c\/td\u003e\n\u003ctd style=\"padding: 0.8em 1em;\"\u003eVaries — often 2.5\" or 3.5\"\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"border-bottom: 1px solid #e0d9cb;\"\u003e\n\u003ctd style=\"padding: 0.8em 1em; background: #faf8f3;\"\u003e\u003cstrong\u003eSold by\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 0.8em 1em;\"\u003eLinear foot, custom cut list\u003c\/td\u003e\n\u003ctd style=\"padding: 0.8em 1em;\"\u003ePallet or fixed 8' bundles\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 0.8em 1em; background: #faf8f3;\"\u003e\u003cstrong\u003ePrice\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 0.8em 1em;\"\u003e\n\u003cstrong style=\"color: #2d5f4e;\"\u003e$3.50 \/ lf\u003c\/strong\u003e · shipping quoted per order\u003c\/td\u003e\n\u003ctd style=\"padding: 0.8em 1em;\"\u003e$4.50–$6.00 \/ lf typical\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- ============ SIGNATURE SAUNA SHOWCASE ============ --\u003e\n\u003cdiv style=\"background: #faf8f3; border-radius: 8px; padding: 2em; margin: 2.5em 0;\" id=\"wrc-signature\"\u003e\n\u003cdiv style=\"font-size: 0.85em; letter-spacing: 0.15em; text-transform: uppercase; color: #6b6558; margin-bottom: 0.5em;\"\u003eBuilt With This Exact Cedar\u003c\/div\u003e\n\u003ch3 style=\"font-size: 1.5em; font-weight: 600; color: #1a3a2e; margin: 0 0 0.8em;\"\u003eThe Cedar Behind Every Handcrafted NW Immersion Signature Sauna\u003c\/h3\u003e\n\u003cp style=\"margin: 0 0 1em;\"\u003eEvery \u003ca target=\"_blank\" rel=\"noopener\" style=\"color: #2d5f4e; font-weight: 600;\" href=\"https:\/\/nwimmersion.com\/collections\/signature-sauna\"\u003eSignature Sauna\u003c\/a\u003e we handcraft in Vancouver, Washington is built from this same clear-grade Western Red Cedar T\u0026amp;G. When you buy cedar from us, you're getting the exact stock we mill our own premium builds with — not a downgraded consumer version. That means the same grade, the same moisture content, and the same board profile that has stood up in hundreds of finished saunas across the country.\u003c\/p\u003e\n\u003cp style=\"margin: 0;\"\u003e\u003ca target=\"_blank\" rel=\"noopener\" style=\"color: #2d5f4e; font-weight: 600; text-decoration: none; border-bottom: 2px solid #2d5f4e; padding-bottom: 2px;\" href=\"https:\/\/nwimmersion.com\/collections\/signature-sauna\"\u003eExplore the Signature Sauna Collection →\u003c\/a\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ============ ADD-ONS \/ CROSS-LINKS ============ --\u003e\n\u003ch3 style=\"font-size: 1.5em; font-weight: 600; color: #1a3a2e; margin: 2em 0 0.8em;\" id=\"wrc-addons\"\u003eBuilding a Complete Sauna? Here's What Else You'll Need\u003c\/h3\u003e\n\u003cp style=\"margin: 0 0 1em;\"\u003eCedar T\u0026amp;G is one piece of the puzzle. A complete sauna build typically also needs:\u003c\/p\u003e\n\u003cul style=\"margin: 0 0 1.5em; padding-left: 1.5em;\"\u003e\n\u003cli style=\"margin-bottom: 0.5em;\"\u003e\n\u003cstrong\u003e\u003ca target=\"_blank\" rel=\"noopener\" style=\"color: #2d5f4e; font-weight: 600;\" href=\"https:\/\/nwimmersion.com\/products\/prosaunas-vapor-barrier-foil-4-x-80-325-sq-ft-tear-proof-heavy-duty\"\u003eFoil vapor barrier\u003c\/a\u003e\u003c\/strong\u003e behind the cedar to keep moisture out of the framing\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 0.5em;\"\u003e\n\u003cstrong\u003e\u003ca target=\"_blank\" rel=\"noopener\" style=\"color: #2d5f4e;\" href=\"https:\/\/nwimmersion.com\/collections\/shop-all-sauna-heaters\"\u003eSauna heater and stones\u003c\/a\u003e\u003c\/strong\u003e — Harvia, HUUM, and Saunum options in stock\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 0.5em;\"\u003e\n\u003cstrong\u003eSauna door\u003c\/strong\u003e — tempered glass or solid cedar\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 0.5em;\"\u003e\n\u003cstrong\u003eCedar benches and backrests\u003c\/strong\u003e — clear cedar or knotty aspen\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 0.5em;\"\u003e\n\u003cstrong\u003eHeat-rated sauna lighting\u003c\/strong\u003e — recessed or wall-mount\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 0.5em;\"\u003e\n\u003cstrong\u003e\u003ca target=\"_blank\" rel=\"noopener\" style=\"color: #2d5f4e;\" href=\"https:\/\/nwimmersion.com\/collections\/red-light-panels\"\u003eSauna-rated red light panel\u003c\/a\u003e\u003c\/strong\u003e — for combined red-light and heat therapy\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 0;\"\u003e\n\u003cstrong\u003e\u003ca target=\"_blank\" rel=\"noopener\" style=\"color: #2d5f4e;\" href=\"https:\/\/nwimmersion.com\/collections\/sauna-buckets\"\u003eSauna bucket and ladle\u003c\/a\u003e\u003c\/strong\u003e — for löyly and steam\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"margin: 0 0 1.5em;\"\u003eNot sure exactly what quantities you need? Read our guides on \u003ca target=\"_blank\" rel=\"noopener\" style=\"color: #2d5f4e;\" href=\"https:\/\/nwimmersion.com\/blogs\/all-post\/how-to-build-an-indoor-sauna\"\u003ehow to build an indoor sauna\u003c\/a\u003e and \u003ca target=\"_blank\" rel=\"noopener\" style=\"color: #2d5f4e;\" href=\"https:\/\/nwimmersion.com\/blogs\/all-post\/how-to-build-an-outdoor-sauna-everything-you-need-to-know-before-you-start\"\u003ehow to build an outdoor sauna\u003c\/a\u003e, or email \u003ca style=\"color: #2d5f4e; font-weight: 600;\" href=\"mailto:info@nwimmersion.com\"\u003einfo@nwimmersion.com\u003c\/a\u003e with your sauna's interior dimensions and we'll build a complete materials list. Contractors, custom sauna builders, and DIY builders welcome.\u003c\/p\u003e\n\u003c!-- ============ CUSTOMER BUILDS (from Google Reviews) ============ --\u003e\n\u003ch3 style=\"font-size: 1.5em; font-weight: 600; color: #1a3a2e; margin: 2em 0 0.8em;\" id=\"wrc-reviews\"\u003eReal Customer Cedar Builds\u003c\/h3\u003e\n\u003cp style=\"margin: 0 0 1.5em; color: #4a4a4a;\"\u003eVerified 5-star reviews from customers who purchased WRC tongue and groove from NW Immersion and used it to build their own saunas. Reviews and photos pulled directly from our \u003ca target=\"_blank\" rel=\"noopener\" style=\"color: #2d5f4e; font-weight: 600;\" href=\"https:\/\/www.google.com\/search?q=NW+Immersion+Vancouver+WA+reviews\"\u003eGoogle Business Profile\u003c\/a\u003e.\u003c\/p\u003e\n\n\u003c!-- Review 1: Andy Muonio --\u003e\n\u003cdiv style=\"background: #faf8f3; border: 1px solid #e0d9cb; border-radius: 8px; padding: 1.5em; margin-bottom: 1.5em;\"\u003e\n\u003cdiv style=\"display: flex; align-items: center; gap: 0.75em; margin-bottom: 0.75em; flex-wrap: wrap;\"\u003e\n\u003cspan style=\"color: #d4a017; font-size: 1.1em; letter-spacing: 0.1em;\"\u003e★★★★★\u003c\/span\u003e\n\u003cstrong style=\"color: #1a3a2e; font-size: 1.05em;\"\u003eAndy Muonio\u003c\/strong\u003e\n\u003cspan style=\"color: #6b6558; font-size: 0.9em;\"\u003e· Verified Google Review\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin: 0 0 1em; color: #1a1a1a; font-style: italic; line-height: 1.6;\"\u003e\"Purchased T\u0026amp;G cedar from NW Immersion. High quality product and the tips for install was a plus!\"\u003c\/p\u003e\n\u003cdiv style=\"display: grid; grid-template-columns: 1fr; gap: 0.75em; margin-top: 1em;\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0808\/6798\/3617\/files\/wrc-review-andy-muonio.jpg?v=1785360883\" alt=\"Andy Muonio's finished sauna interior — Western Red Cedar tongue and groove walls and ceiling with cedar benches, natural window light\" style=\"width: 100%; max-width: 500px; height: auto; border-radius: 6px; display: block;\" loading=\"lazy\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- Review 2: Brandon Mendenhall --\u003e\n\u003cdiv style=\"background: #faf8f3; border: 1px solid #e0d9cb; border-radius: 8px; padding: 1.5em; margin-bottom: 1.5em;\"\u003e\n\u003cdiv style=\"display: flex; align-items: center; gap: 0.75em; margin-bottom: 0.75em; flex-wrap: wrap;\"\u003e\n\u003cspan style=\"color: #d4a017; font-size: 1.1em; letter-spacing: 0.1em;\"\u003e★★★★★\u003c\/span\u003e\n\u003cstrong style=\"color: #1a3a2e; font-size: 1.05em;\"\u003eBrandon Mendenhall\u003c\/strong\u003e\n\u003cspan style=\"color: #6b6558; font-size: 0.9em;\"\u003e· Verified Google Review\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin: 0 0 1em; color: #1a1a1a; font-style: italic; line-height: 1.6;\"\u003e\"NW Immersion has been a great help during my sauna build. I found them a little late in the build process, but right in time. I was able to get beautiful tongue and groove clear cedar. I gave Eric my dimensions and he got me setup with exactly what I needed. Then to finish things out, he setup me up with cedar for my benches and walked me through the tips and tricks of making the style bench that he puts in his custom builds. […] I would recommend NW Immersion if you are looking for someone else to build a custom setup for you, and if you don't use them for a build you are working on yourself you are missing out on great pricing, and a wealth of knowledge and experience.\"\u003c\/p\u003e\n\u003cdiv style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0.75em; margin-top: 1em;\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0808\/6798\/3617\/files\/wrc-review-brandon-mendenhall-1.jpg?v=1785360883\" alt=\"Brandon Mendenhall's WRC cedar sauna build — cedar tongue and groove walls with double-tier bench in progress\" style=\"width: 100%; height: auto; border-radius: 6px; display: block; aspect-ratio: 3\/4; object-fit: cover;\" loading=\"lazy\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0808\/6798\/3617\/files\/wrc-review-brandon-mendenhall-2.jpg?v=1785360884\" alt=\"Brandon Mendenhall's WRC cedar sauna — finished cedar interior with heater and stones installed\" style=\"width: 100%; height: auto; border-radius: 6px; display: block; aspect-ratio: 3\/4; object-fit: cover;\" loading=\"lazy\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0808\/6798\/3617\/files\/wrc-review-brandon-mendenhall-3.jpg?v=1785360883\" alt=\"Brandon Mendenhall's WRC cedar sauna — finished cedar walls, ceiling, and floor with window\" style=\"width: 100%; height: auto; border-radius: 6px; display: block; aspect-ratio: 3\/4; object-fit: cover;\" loading=\"lazy\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cp style=\"margin: 1em 0 2em; color: #4a4a4a; font-size: 0.95em; text-align: center;\"\u003eHave questions about your own build? Email \u003ca style=\"color: #2d5f4e; font-weight: 600;\" href=\"mailto:info@nwimmersion.com\"\u003einfo@nwimmersion.com\u003c\/a\u003e or read all \u003ca target=\"_blank\" rel=\"noopener\" style=\"color: #2d5f4e; font-weight: 600;\" href=\"https:\/\/www.google.com\/search?q=NW+Immersion+Vancouver+WA+reviews\"\u003e22 five-star Google reviews\u003c\/a\u003e.\u003c\/p\u003e\n\n\u003c!-- ============ REVIEW SCHEMA (Andy + Brandon — Google Reviews) ============ --\u003e\n\u003cscript type=\"application\/ld+json\"\u003e\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"Product\",\n      \"@id\": \"https:\/\/nwimmersion.com\/products\/western-red-cedar-kiln-dried-clear-mg-tongue-and-groove#product\",\n      \"aggregateRating\": {\n        \"@type\": \"AggregateRating\",\n        \"ratingValue\": \"5.0\",\n        \"reviewCount\": \"2\",\n        \"bestRating\": \"5\",\n        \"worstRating\": \"1\"\n      },\n      \"review\": [\n        {\n          \"@id\": \"https:\/\/nwimmersion.com\/products\/western-red-cedar-kiln-dried-clear-mg-tongue-and-groove#product-review-andy-muonio\"\n        },\n        {\n          \"@id\": \"https:\/\/nwimmersion.com\/products\/western-red-cedar-kiln-dried-clear-mg-tongue-and-groove#product-review-brandon-mendenhall\"\n        }\n      ]\n    },\n    {\n      \"@type\": \"Review\",\n      \"@id\": \"https:\/\/nwimmersion.com\/products\/western-red-cedar-kiln-dried-clear-mg-tongue-and-groove#product-review-andy-muonio\",\n      \"itemReviewed\": {\n        \"@id\": \"https:\/\/nwimmersion.com\/products\/western-red-cedar-kiln-dried-clear-mg-tongue-and-groove#product\"\n      },\n      \"author\": {\n        \"@type\": \"Person\",\n        \"name\": \"Andy Muonio\"\n      },\n      \"reviewRating\": {\n        \"@type\": \"Rating\",\n        \"ratingValue\": \"5\",\n        \"bestRating\": \"5\",\n        \"worstRating\": \"1\"\n      },\n      \"datePublished\": \"2026-01-24\",\n      \"reviewBody\": \"Purchased T\u0026G cedar from NW Immersion. High quality product and the tips for install was a plus!\",\n      \"publisher\": {\n        \"@type\": \"Organization\",\n        \"name\": \"Google Reviews\"\n      }\n    },\n    {\n      \"@type\": \"Review\",\n      \"@id\": \"https:\/\/nwimmersion.com\/products\/western-red-cedar-kiln-dried-clear-mg-tongue-and-groove#product-review-brandon-mendenhall\",\n      \"itemReviewed\": {\n        \"@id\": \"https:\/\/nwimmersion.com\/products\/western-red-cedar-kiln-dried-clear-mg-tongue-and-groove#product\"\n      },\n      \"author\": {\n        \"@type\": \"Person\",\n        \"name\": \"Brandon Mendenhall\"\n      },\n      \"reviewRating\": {\n        \"@type\": \"Rating\",\n        \"ratingValue\": \"5\",\n        \"bestRating\": \"5\",\n        \"worstRating\": \"1\"\n      },\n      \"datePublished\": \"2025-12-04\",\n      \"reviewBody\": \"NW Immersion has been a great help during my sauna build. I found them a little late in the build process, but right in time. I was able to get beautiful tongue and groove clear cedar. I gave Eric my dimensions and he got me setup with exactly what I needed. Then to finish things out, he setup me up with cedar for my benches and walked me through the tips and tricks of making the style bench that he puts in his custom builds. I would recommend NW Immersion if you are looking for someone else to build a custom setup for you, and if you don't use them for a build you are working on yourself you are missing out on great pricing, and a wealth of knowledge and experience.\",\n      \"publisher\": {\n        \"@type\": \"Organization\",\n        \"name\": \"Google Reviews\"\n      }\n    }\n  ]\n}\n\u003c\/script\u003e\n\n\u003c!-- ============ FAQ (matches JSON-LD below) ============ --\u003e\n\u003ch3 style=\"font-size: 1.5em; font-weight: 600; color: #1a3a2e; margin: 2em 0 0.8em;\" id=\"wrc-faq\"\u003eWestern Red Cedar T\u0026amp;G — Frequently Asked Questions\u003c\/h3\u003e\n\u003cdetails style=\"border-bottom: 1px solid #e0d9cb; padding: 1em 0;\" open=\"\"\u003e\n\u003csummary style=\"cursor: pointer; font-weight: 600; font-size: 1.05em; color: #1a3a2e;\"\u003eHow does the cedar reservation and shipping quote work?\u003c\/summary\u003e\n\u003cp style=\"margin: 0.75em 0 0;\"\u003eUse the calculator to build your cut list, then click \u003cstrong\u003eReserve Now — Send Cut List\u003c\/strong\u003e. That opens an email pre-filled with your dimensions, cut list, and totals. Add your name and shipping address, hit send, and we'll reply within one business day with a firm price, LTL freight shipping quote to your zip code, and ETA. You approve the quote before we invoice — no surprise charges.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"border-bottom: 1px solid #e0d9cb; padding: 1em 0;\" open=\"\"\u003e\n\u003csummary style=\"cursor: pointer; font-weight: 600; font-size: 1.05em; color: #1a3a2e;\"\u003eWhy isn't shipping included in the $3.50 per linear foot price?\u003c\/summary\u003e\n\u003cp style=\"margin: 0.75em 0 0;\"\u003eCedar T\u0026amp;G ships as long lumber on LTL freight, and rates vary widely by destination, dock accessibility, and quantity. Bundling worst-case freight into every order would penalize customers near our Pacific Northwest mill. Instead, we quote actual shipping to your address — usually within one business day of your reservation — so you get the most competitive freight cost possible.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"border-bottom: 1px solid #e0d9cb; padding: 1em 0;\" open=\"\"\u003e\n\u003csummary style=\"cursor: pointer; font-weight: 600; font-size: 1.05em; color: #1a3a2e;\"\u003eWhich is better for a sauna — Japanese cedar or Western Red Cedar?\u003c\/summary\u003e\n\u003cp style=\"margin: 0.75em 0 0;\"\u003eBoth are excellent sauna woods with different strengths. Japanese cedar (hinoki-adjacent) offers a lighter color and more subtle aroma; Western Red Cedar delivers deeper color, stronger natural oils, and Pacific Northwest supply-chain shorter lead times. For a full breakdown of aroma, density, oil content, cost, and best-fit builds, read \u003ca target=\"_blank\" rel=\"noopener\" style=\"color: #2d5f4e;\" href=\"https:\/\/nwimmersion.com\/blogs\/all-post\/japanese-cedar-vs-western-red-cedar-choosing-the-right-wood-for-your-sauna\"\u003eJapanese Cedar vs. Western Red Cedar\u003c\/a\u003e.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"border-bottom: 1px solid #e0d9cb; padding: 1em 0;\" open=\"\"\u003e\n\u003csummary style=\"cursor: pointer; font-weight: 600; font-size: 1.05em; color: #1a3a2e;\"\u003eShould sauna cedar boards run horizontal or vertical?\u003c\/summary\u003e\n\u003cp style=\"margin: 0.75em 0 0;\"\u003eBoth are traditional. Horizontal cedar is the most common orientation for compact indoor saunas — it makes rooms feel wider and allows longer continuous board runs. Vertical cedar sheds condensation better and is preferred for outdoor saunas, barrel saunas, and high-use commercial builds. Our calculator lets you set each surface independently so you can price both approaches side by side.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"border-bottom: 1px solid #e0d9cb; padding: 1em 0;\" open=\"\"\u003e\n\u003csummary style=\"cursor: pointer; font-weight: 600; font-size: 1.05em; color: #1a3a2e;\"\u003eDo I need extra framing to install cedar T\u0026amp;G vertically?\u003c\/summary\u003e\n\u003cp style=\"margin: 0.75em 0 0;\"\u003eYes. Standard wall framing has vertical studs at 16\" or 24\" on center. If you run cedar \u003cstrong\u003ehorizontal\u003c\/strong\u003e, each board crosses the studs and you nail directly to solid framing — no prep needed. If you run cedar \u003cstrong\u003evertical\u003c\/strong\u003e, the T\u0026amp;G runs parallel to the studs and has nothing to nail into between the top and bottom plates, so you'll need to add \u003cstrong\u003ehorizontal blocking\u003c\/strong\u003e (2×4 nailers) between the studs every 24\" of wall height before installing the cedar. Plan an extra half-day of framing prep per wall if you're going vertical. Add the blocking during rough framing — it's much easier than retrofitting later.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"border-bottom: 1px solid #e0d9cb; padding: 1em 0;\" open=\"\"\u003e\n\u003csummary style=\"cursor: pointer; font-weight: 600; font-size: 1.05em; color: #1a3a2e;\"\u003eHow does the sauna cedar calculator handle rounding?\u003c\/summary\u003e\n\u003cp style=\"margin: 0.75em 0 0;\"\u003eEvery board length is rounded UP to the nearest whole foot because we don't cut to inches. The calculator also rounds up the number of runs (rows of boards at the 3\" reveal) to make sure your surface is fully covered. The waste factor then adds a further buffer for miters, cutouts around benches and doors, and finger-jointing on long walls. 10% is the standard sauna interior recommendation.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"border-bottom: 1px solid #e0d9cb; padding: 1em 0;\" open=\"\"\u003e\n\u003csummary style=\"cursor: pointer; font-weight: 600; font-size: 1.05em; color: #1a3a2e;\"\u003eWhat board lengths of cedar T\u0026amp;G are available?\u003c\/summary\u003e\n\u003cp style=\"margin: 0.75em 0 0;\"\u003eStandard mill lengths are 4', 6', 8', 10', and 12'. The calculator groups your runs into those lengths automatically. For custom lengths (longer than 12', or a specific mix you need), email \u003ca style=\"color: #2d5f4e;\" href=\"mailto:info@nwimmersion.com\"\u003einfo@nwimmersion.com\u003c\/a\u003e with your cut list before reserving.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"border-bottom: 1px solid #e0d9cb; padding: 1em 0;\" open=\"\"\u003e\n\u003csummary style=\"cursor: pointer; font-weight: 600; font-size: 1.05em; color: #1a3a2e;\"\u003eDo I need to finish, stain, or seal the cedar inside a sauna?\u003c\/summary\u003e\n\u003cp style=\"margin: 0.75em 0 0;\"\u003eNo — and you shouldn't. In a sauna, cedar should stay bare. Stains, sealants, and finishes off-gas at high temperatures and can leave a chemical smell in the interior. Cedar's own natural oils are all the protection it needs. For cleaning and long-term maintenance, see our \u003ca target=\"_blank\" rel=\"noopener\" style=\"color: #2d5f4e;\" href=\"https:\/\/nwimmersion.com\/blogs\/all-post\/how-to-clean-a-cedar-sauna-a-complete-maintenance-guide-for-long-term-beauty\"\u003ecedar sauna cleaning and maintenance guide\u003c\/a\u003e.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails open=\"\" style=\"border-bottom: 1px solid #e0d9cb; padding: 1em 0;\"\u003e\n\u003csummary style=\"cursor: pointer; font-weight: 600; font-size: 1.05em; color: #1a3a2e;\"\u003eCan I get bulk or contractor pricing on cedar T\u0026amp;G?\u003c\/summary\u003e\n\u003cp style=\"margin: 0.75em 0 0;\"\u003eYes. For orders over 2,000 linear feet or ongoing contractor accounts, email \u003ca style=\"color: #2d5f4e;\" href=\"mailto:info@nwimmersion.com\"\u003einfo@nwimmersion.com\u003c\/a\u003e with your project details and we will review. NW Immersion works with custom sauna builders, spa contractors, and architects across the US.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"padding: 1em 0;\" open=\"\"\u003e\n\u003csummary style=\"cursor: pointer; font-weight: 600; font-size: 1.05em; color: #1a3a2e;\"\u003eDo you ship cedar T\u0026amp;G outside the continental US?\u003c\/summary\u003e\n\u003cp style=\"margin: 0.75em 0 0;\"\u003eWe ship LTL freight across the continental US as a standard. For Alaska, Hawaii, Canada, and international shipping, email \u003ca style=\"color: #2d5f4e;\" href=\"mailto:info@nwimmersion.com\"\u003einfo@nwimmersion.com\u003c\/a\u003e with your address and cut list. We'll build a custom freight quote — international lumber shipping usually requires phytosanitary certification, which we can arrange.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003c!-- ============ SUPPORT \/ CTA FOOTER ============ --\u003e\n\u003cdiv style=\"background: #1a3a2e; color: #f5f0e6; border-radius: 8px; padding: 2em; margin-top: 2.5em; text-align: center;\"\u003e\n\u003ch3 style=\"margin: 0 0 0.5em; font-size: 1.3em; font-weight: 600; color: #f5f0e6;\"\u003eNeed Help Planning Your Sauna Build?\u003c\/h3\u003e\n\u003cp style=\"margin: 0 0 1.5em; opacity: 0.95;\"\u003eEvery NW Immersion Signature Sauna is handcrafted in Vancouver, Washington. Our team knows this cedar cold — and we're here to help you get quantities, cuts, and add-ons right the first time.\u003c\/p\u003e\n\u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 1em; justify-content: center; font-size: 0.95em;\"\u003e\n\u003ca style=\"color: #f5f0e6; text-decoration: none; padding: 0.75em 1.5em; border: 1px solid #f5f0e6; border-radius: 4px;\" href=\"mailto:info@nwimmersion.com\"\u003e✉ info@nwimmersion.com\u003c\/a\u003e \u003ca style=\"color: #f5f0e6; text-decoration: none; padding: 0.75em 1.5em; border: 1px solid #f5f0e6; border-radius: 4px;\" href=\"tel:3603606968\"\u003e📞 360-360-6968\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"margin-top: 1em; font-size: 0.85em; opacity: 0.8;\"\u003eShowroom: Thu–Sat 10am–4pm PT · 5305 NE 121st Ave, Ste 216, Vancouver, WA 98682\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ============ STRUCTURED DATA: FAQPage schema (Product schema auto-generated by theme) ============ --\u003e \u003cscript type=\"application\/ld+json\"\u003e\n  {\n    \"@context\": \"https:\/\/schema.org\",\n    \"@type\": \"FAQPage\",\n    \"mainEntity\": [\n      {\"@type\":\"Question\",\"name\":\"How does the cedar reservation and shipping quote work?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Use the calculator to build your cut list, then click Reserve Now. That opens an email pre-filled with your dimensions, cut list, and totals. Add your name and shipping address, hit send, and we'll reply within one business day with a firm price, LTL freight shipping quote to your zip code, and ETA. You approve the quote before we invoice.\"}},\n      {\"@type\":\"Question\",\"name\":\"Why isn't shipping included in the $3.50 per linear foot price?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Cedar tongue and groove ships as long lumber on LTL freight, and rates vary widely by destination, dock accessibility, and quantity. Bundling worst-case freight into every order would penalize customers near our Pacific Northwest mill. Instead, we quote actual shipping to your address — usually within one business day of your reservation.\"}},\n      {\"@type\":\"Question\",\"name\":\"Which is better for a sauna — Japanese cedar or Western Red Cedar?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Both are excellent sauna woods with different strengths. Japanese cedar offers a lighter color and more subtle aroma; Western Red Cedar delivers deeper color, stronger natural oils, and Pacific Northwest supply-chain shorter lead times for North American builds.\"}},\n      {\"@type\":\"Question\",\"name\":\"Should sauna cedar boards run horizontal or vertical?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Both are traditional. Horizontal cedar is the most common orientation for compact indoor saunas — it makes rooms feel wider. Vertical cedar sheds condensation better and is preferred for outdoor saunas, barrel saunas, and high-use commercial builds.\"}},\n      {\"@type\":\"Question\",\"name\":\"Do I need extra framing to install cedar T\u0026G vertically?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. Standard wall framing has vertical studs at 16 or 24 inches on center. Horizontal cedar crosses the studs and nails directly to solid framing. Vertical cedar runs parallel to the studs and needs horizontal blocking (2x4 nailers) added between the studs every 24 inches of wall height before the T\u0026G is installed. Plan an extra half-day of framing prep per wall if going vertical, and add the blocking during rough framing.\"}},\n      {\"@type\":\"Question\",\"name\":\"How does the sauna cedar calculator handle rounding?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Every board length is rounded UP to the nearest whole foot because we don't cut to inches. The calculator also rounds up the number of runs at the 3-inch reveal to make sure your surface is fully covered. The waste factor adds a buffer for miters and cutouts.\"}},\n      {\"@type\":\"Question\",\"name\":\"What board lengths of cedar tongue and groove are available?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Standard mill lengths are 4', 6', 8', 10', and 12'. The calculator groups your runs into those lengths automatically. For custom lengths longer than 12', email info@nwimmersion.com with your cut list before reserving.\"}},\n      {\"@type\":\"Question\",\"name\":\"Do I need to finish, stain, or seal the cedar inside a sauna?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No — and you shouldn't. In a sauna, cedar should stay bare. Stains, sealants, and finishes off-gas at high temperatures and can leave a chemical smell in the interior. Cedar's own natural oils are all the protection it needs.\"}},\n      {\"@type\":\"Question\",\"name\":\"Can I get bulk or contractor pricing on cedar T\u0026G?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. For orders over 1,000 linear feet or ongoing contractor accounts, email info@nwimmersion.com with your project details and we'll build custom pricing with a firm ETA.\"}},\n      {\"@type\":\"Question\",\"name\":\"Do you ship cedar T\u0026G outside the continental US?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"We ship LTL freight across the continental US as a standard. For Alaska, Hawaii, Canada, and international shipping, email info@nwimmersion.com with your address and cut list for a custom freight quote.\"}}\n    ]\n  }\n  \u003c\/script\u003e \u003c!-- Breadcrumb structured data --\u003e \u003cscript type=\"application\/ld+json\"\u003e\n  {\n    \"@context\": \"https:\/\/schema.org\",\n    \"@type\": \"BreadcrumbList\",\n    \"itemListElement\": [\n      {\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/nwimmersion.com\/\"},\n      {\"@type\":\"ListItem\",\"position\":2,\"name\":\"Building Materials\",\"item\":\"https:\/\/nwimmersion.com\/collections\/building-materials\"},\n      {\"@type\":\"ListItem\",\"position\":3,\"name\":\"Western Red Cedar Kiln-Dried Tongue \u0026 Groove\",\"item\":\"https:\/\/nwimmersion.com\/products\/western-red-cedar-kiln-dried-clear-mg-tongue-and-groove\"}\n    ]\n  }\n  \u003c\/script\u003e\n\u003c\/div\u003e","brand":"NW Immersion","offers":[{"title":"Default Title","offer_id":48280934940929,"sku":null,"price":3.5,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0808\/6798\/3617\/files\/western-red-cedar-kiln-dried-clear-mg-tongue-and-groove-1756204.jpg?v=1775540954","url":"https:\/\/nwimmersion.com\/products\/clear-western-red-cedar-tongue-groove","provider":"NW Immersion","version":"1.0","type":"link"}