{"id":33,"date":"2026-09-13T12:16:57","date_gmt":"2026-09-13T17:16:57","guid":{"rendered":"https:\/\/staging8.gmportal.net\/?page_id=33"},"modified":"2026-09-13T13:20:46","modified_gmt":"2026-09-13T18:20:46","slug":"about-us","status":"publish","type":"page","link":"https:\/\/staging8.gmportal.net\/?page_id=33","title":{"rendered":"About Us"},"content":{"rendered":"\n<header data-consonant-block-name=\"core\/html\" data-consonant-block-path=\"0\" data-consonant-block=\"post-33-core-html-0\" data-consonant-page=\"33\" data-consonant-source=\"post-content\" id=\"cam-header\" aria-label=\"Cascade site header\">\n  <div class=\"cam-h-utility\">\n    <div class=\"cam-h-wrap\"><span>SEDRO-WOOLLEY, WASHINGTON<\/span><span class=\"cam-h-utility-right\">AUTOMOTIVE <i><\/i> MARINE<\/span><\/div>\n  <\/div>\n  <div class=\"cam-h-wrap cam-h-main\">\n    <a class=\"cam-h-brand\" href=\"\/\" aria-label=\"Cascade Auto and Marine \u2014 Home\"><img decoding=\"async\" src=\"https:\/\/staging8.gmportal.net\/wp-content\/uploads\/2026\/09\/CASCADE-AM-LOGO-HORIZONTAL-1-e1789318873398.webp\" width=\"251\" height=\"84\" alt=\"Cascade Automotive and Marine, Sedro-Woolley\" fetchpriority=\"high\"><\/a>\n    <nav class=\"cam-h-desktop\" aria-label=\"Main navigation\">\n      <a href=\"\/\" data-cam-page=\"home\">Home<\/a><a href=\"\/?pagename=services\" data-cam-page=\"services\">Services<\/a><a href=\"\/?pagename=marine\" data-cam-page=\"marine\">Marine<\/a><a href=\"\/?pagename=about-us\" data-cam-page=\"about-us\">About Us<\/a>\n    <\/nav>\n    <a class=\"cam-h-call\" href=\"tel:+13608552059\"><span class=\"cam-h-call-label\">LET\u2019S TALK SERVICE<\/span><span>(360) 855-2059 <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M6 18 18 6M6 6h12v12\"\/><\/svg><\/span><\/a>\n    <button class=\"cam-h-toggle\" type=\"button\" aria-expanded=\"false\" aria-controls=\"cam-mobile-nav\" aria-label=\"Open navigation\"><span><\/span><span><\/span><span><\/span><\/button>\n  <\/div>\n  <nav id=\"cam-mobile-nav\" class=\"cam-h-mobile\" aria-label=\"Mobile navigation\" hidden>\n    <div class=\"cam-h-mobile-inner\"><span class=\"cam-h-menu-label\">EXPLORE CASCADE<\/span><a href=\"\/\" data-cam-page=\"home\">Home <span>01<\/span><\/a><a href=\"\/?pagename=services\" data-cam-page=\"services\">Services <span>02<\/span><\/a><a href=\"\/?pagename=marine\" data-cam-page=\"marine\">Marine <span>03<\/span><\/a><a href=\"\/?pagename=about-us\" data-cam-page=\"about-us\">About Us <span>04<\/span><\/a><a class=\"cam-h-mobile-call\" href=\"tel:+13608552059\">Call (360) 855-2059 <span aria-hidden=\"true\">\u2197<\/span><\/a><p>304 E State Street<br>Sedro-Woolley, WA 98284<\/p><\/div>\n  <\/nav>\n<\/header>\n\n<style data-wp-block-html=\"css\">\n\/* Header ownership: all selectors stay within this Custom HTML section. *\/\n#cam-header { --cam-copper:#d99a61; --cam-ink:#081a24; position:sticky; top:0; z-index:1000; margin:0; color:#f5f1e8; background:linear-gradient(112deg,#132e3b 0%,#091923 62%,#102630 100%); font-family:Arial,Helvetica,sans-serif; isolation:isolate; box-shadow:0 5px 25px #03101920; }\n#cam-header, #cam-header * { box-sizing:border-box; }\n#cam-header a { color:inherit; text-decoration:none; }\n#cam-header button { font:inherit; }\n#cam-header svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; }\n#cam-header .cam-h-wrap { width:min(1320px,calc(100% - 80px)); margin-inline:auto; }\n#cam-header .cam-h-utility { background:#06141ed9; border-bottom:1px solid #d8e7ec13; font-size:10px; font-weight:600; letter-spacing:.16em; color:#bdcbd0; }\n#cam-header .cam-h-utility .cam-h-wrap { min-height:31px; display:flex; align-items:center; justify-content:space-between; gap:16px; }\n#cam-header .cam-h-utility-right { display:flex; align-items:center; gap:14px; }\n#cam-header .cam-h-utility-right i { width:4px; height:4px; background:var(--cam-copper); transform:rotate(45deg); }\n#cam-header .cam-h-main { min-height:112px; display:flex; align-items:center; gap:32px; position:relative; }\n#cam-header::after { content:\"\"; position:absolute; inset:auto 0 -2px; height:3px; background:linear-gradient(90deg,transparent 2%,#c38952 18%,#edc198 40%,#a76b3a 65%,transparent); pointer-events:none; }\n#cam-header .cam-h-brand { display:flex; align-items:center; flex:0 0 auto; }\n#cam-header .cam-h-brand img { display:block; width:276px; max-width:100%; height:auto; }\n#cam-header .cam-h-desktop { display:flex; align-items:center; gap:30px; margin-left:auto; }\n#cam-header .cam-h-desktop a { position:relative; padding:21px 0; white-space:nowrap; font-size:14px; font-weight:600; color:#c5d1d5; transition:color .2s; }\n#cam-header .cam-h-desktop a::after { position:absolute; content:\"\"; bottom:10px; left:0; right:0; height:2px; background:var(--cam-copper); transform:scaleX(0); transform-origin:left; transition:transform .22s; }\n#cam-header .cam-h-desktop a:hover, #cam-header a[aria-current=\"page\"] { color:#fff; }\n#cam-header .cam-h-desktop a:hover::after, #cam-header .cam-h-desktop a[aria-current=\"page\"]::after { transform:scaleX(1); }\n#cam-header .cam-h-call { padding:12px 0 12px 28px; margin-left:4px; border-left:1px solid #b9d0d12e; white-space:nowrap; }\n#cam-header .cam-h-call-label { display:block; font-size:9px; font-weight:700; letter-spacing:.17em; color:var(--cam-copper); margin-bottom:8px; }\n#cam-header .cam-h-call > span:last-child { display:flex; align-items:center; gap:13px; font-size:18px; font-weight:700; letter-spacing:-.025em; }\n#cam-header .cam-h-call svg { color:var(--cam-copper); transition:transform .2s; }\n#cam-header .cam-h-call:hover svg { transform:translate(2px,-2px); }\n#cam-header .cam-h-toggle { display:none; width:46px; height:46px; padding:12px 10px; background:transparent; border:1px solid #d8a4768c; border-radius:3px; color:#f2ebe0; align-items:center; justify-content:center; flex-direction:column; gap:5px; cursor:pointer; }\n#cam-header .cam-h-toggle span { display:block; width:23px; height:1.5px; background:currentColor; transition:transform .2s,opacity .2s; }\n#cam-header .cam-h-toggle[aria-expanded=\"true\"] span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }\n#cam-header .cam-h-toggle[aria-expanded=\"true\"] span:nth-child(2) { opacity:0; }\n#cam-header .cam-h-toggle[aria-expanded=\"true\"] span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }\n#cam-header .cam-h-mobile[hidden] { display:none; }\n#cam-header .cam-h-mobile { position:absolute; inset:100% 0 auto; max-height:calc(100dvh - 119px); overflow-y:auto; overscroll-behavior:contain; background:linear-gradient(130deg,#102b38,#06151f 85%); border-bottom:2px solid #b47c4a; box-shadow:0 18px 25px #02101c55; }\n#cam-header .cam-h-mobile-inner { padding:30px 26px 26px; max-width:600px; margin:auto; }\n#cam-header .cam-h-menu-label { font-size:10px; letter-spacing:.2em; color:#d49b6a; }\n#cam-header .cam-h-mobile a { display:flex; align-items:center; justify-content:space-between; min-height:58px; border-bottom:1px solid #e3eeed20; font-size:23px; letter-spacing:-.02em; }\n#cam-header .cam-h-mobile a span { font-size:11px; color:#dba77c; letter-spacing:.1em; }\n#cam-header .cam-h-mobile .cam-h-mobile-call { min-height:52px; background:#d59a65; padding:0 17px; margin-top:24px; border:0; color:#091a23; font-size:16px; font-weight:700; border-radius:3px; }\n#cam-header .cam-h-mobile-call span { color:#091a23!important; font-size:20px!important; }\n#cam-header .cam-h-mobile p { color:#aebfc5; font-size:13px; line-height:1.6; margin:20px 0 0; }\n#cam-header :is(a,button):focus-visible { outline:2px solid #f3c38e; outline-offset:6px; border-radius:2px; }\n@media(min-width:1081px) { #cam-header .cam-h-mobile { display:none!important; } }\n@media(max-width:1080px) { #cam-header .cam-h-wrap { width:calc(100% - 48px); } #cam-header .cam-h-desktop { display:none; } #cam-header .cam-h-call { margin-left:auto; } #cam-header .cam-h-toggle { display:flex; } #cam-header .cam-h-main { gap:24px; min-height:98px; } #cam-header .cam-h-brand img { width:250px; } }\n@media(max-width:650px) { #cam-header .cam-h-wrap { width:calc(100% - 32px); } #cam-header .cam-h-utility .cam-h-wrap { min-height:28px; justify-content:center; } #cam-header .cam-h-utility-right { display:none; } #cam-header .cam-h-main { min-height:89px; gap:12px; } #cam-header .cam-h-brand { flex:1 1 auto; } #cam-header .cam-h-brand img { width:237px; } #cam-header .cam-h-call { display:none; } #cam-header .cam-h-toggle { flex:0 0 46px; } }\n@media(max-width:360px) { #cam-header .cam-h-brand img { width:205px; } }\n@media(prefers-reduced-motion:reduce) { #cam-header * { transition:none!important; } }\n<\/style>\n\n<script data-wp-block-html=\"js\">\n(() => {\n  const header = document.getElementById('cam-header');\n  if (!header || header.dataset.initialized) return;\n  header.dataset.initialized = 'true';\n  const toggle = header.querySelector('.cam-h-toggle');\n  const nav = header.querySelector('#cam-mobile-nav');\n  const desktop = window.matchMedia('(min-width:1081px)');\n  const setOpen = (open, restoreFocus = false) => {\n    toggle.setAttribute('aria-expanded', String(open));\n    toggle.setAttribute('aria-label', open ? 'Close navigation' : 'Open navigation');\n    nav.hidden = !open;\n    if (restoreFocus) toggle.focus();\n  };\n  toggle.addEventListener('click', () => setOpen(nav.hidden));\n  nav.addEventListener('click', event => { if (event.target.closest('a')) setOpen(false); });\n  document.addEventListener('keydown', event => { if (event.key === 'Escape' && !nav.hidden) setOpen(false, true); });\n  document.addEventListener('click', event => { if (!nav.hidden && !header.contains(event.target)) setOpen(false); });\n  header.addEventListener('focusout', event => { if (!nav.hidden && event.relatedTarget && !header.contains(event.relatedTarget)) setOpen(false); });\n  desktop.addEventListener('change', () => { if (desktop.matches) setOpen(false); });\n  const pathname = window.location.pathname.split('\/').filter(Boolean).join('\/');\n  const query = new URLSearchParams(window.location.search);\n  const current = query.get('pagename') || (query.get('page_id') === '22' ? 'home' : pathname || 'home');\n  header.querySelectorAll('[data-cam-page]').forEach(link => {\n    if (link.dataset.camPage === current) link.setAttribute('aria-current', 'page');\n  });\n})();\n<\/script>\n\n\n\n<section data-consonant-block-name=\"core\/html\" data-consonant-block-path=\"1\" data-consonant-block=\"post-33-core-html-1\" data-consonant-page=\"33\" data-consonant-source=\"post-content\" id=\"cam-about-hero\" aria-labelledby=\"cam-about-title\">\n  <svg class=\"cam-ab-contours\" viewBox=\"0 0 1200 700\" aria-hidden=\"true\"><g fill=\"none\"><path d=\"M715 40c88 7 139 48 178 92 46 52 118 63 188 47 55-12 89-43 119-76\"\/><path d=\"M666 91c104 3 160 49 203 96 48 53 122 69 204 52 58-12 94-40 127-73\"\/><path d=\"M625 143c121-2 184 48 230 99 51 56 129 74 220 58 58-11 95-37 125-64\"\/><path d=\"M590 196c135-6 205 48 255 102 56 60 138 79 232 65 51-8 88-29 123-53\"\/><path d=\"M563 251c146-12 221 47 277 105 61 63 147 83 240 72 45-5 81-19 120-42\"\/><path d=\"M544 307c156-18 236 44 297 106 66 67 155 88 247 80 40-3 74-13 112-31\"\/><\/g><\/svg>\n  <div class=\"cam-ab-wrap cam-ab-hero-inner\">\n    <div class=\"cam-ab-hero-copy cam-ab-reveal\">\n      <p class=\"cam-ab-eyebrow\"><span><\/span>ABOUT CASCADE AUTO &amp; MARINE<\/p>\n      <h1 id=\"cam-about-title\">Local service.<br><em>Straight answers.<\/em><\/h1>\n      <p class=\"cam-ab-lede\">Cascade Auto and Marine serves drivers and boat owners from our shop in Sedro-Woolley, Washington, with practical automotive and marine service built around clear communication and the work in front of us.<\/p>\n      <div class=\"cam-ab-actions\">\n        <a class=\"cam-ab-primary\" href=\"tel:+13608552059\"><span class=\"cam-ab-primary-icon\">\u2197<\/span><span>CALL THE SHOP<small>(360) 855-2059<\/small><\/span><\/a>\n        <a class=\"cam-ab-textlink\" href=\"#cam-about-story\">MEET THE SHOP <span>\u2193<\/span><\/a>\n      <\/div>\n    <\/div>\n    <aside class=\"cam-ab-hero-card cam-ab-reveal\" aria-label=\"Cascade location and service focus\">\n      <span class=\"cam-ab-card-index\">01 \/ 04<\/span>\n      <p class=\"cam-ab-card-kicker\">ROOTED IN THE NORTHWEST<\/p>\n      <strong>Sedro-Woolley,<br>Washington<\/strong>\n      <div class=\"cam-ab-card-rule\"><\/div>\n      <p>Automotive repair &amp; maintenance<br>Marine service<\/p>\n    <\/aside>\n  <\/div>\n  <div class=\"cam-ab-hero-seam\" aria-hidden=\"true\"><\/div>\n<\/section>\n\n<section id=\"cam-about-story\" aria-labelledby=\"cam-about-story-title\">\n  <div class=\"cam-ab-wrap cam-ab-story-grid\">\n    <div class=\"cam-ab-story-heading cam-ab-reveal\">\n      <p class=\"cam-ab-eyebrow cam-ab-eyebrow-dark\"><span><\/span>THE SHOP BEHIND THE NAME<\/p>\n      <h2 id=\"cam-about-story-title\">Built around the people <em>we serve.<\/em><\/h2>\n      <div class=\"cam-ab-story-rule\"><\/div>\n      <p class=\"cam-ab-story-lead\">Cascade is here to give local drivers and boat owners a shop they can actually talk to.<\/p>\n    <\/div>\n    <figure class=\"cam-ab-media cam-ab-reveal\">\n      <img decoding=\"async\" class=\"cam-ab-media-img\" src=\"https:\/\/staging8.gmportal.net\/wp-content\/uploads\/2026\/09\/093-cascade-service-bay-with-car-on-lift.webp\" alt=\"Cascade Auto and Marine service bay with a car on a lift\" loading=\"lazy\">\n      <figcaption><span>SEDRO-WOOLLEY, WA<\/span><b>Real work. Right here in the shop.<\/b><\/figcaption>\n    <\/figure>\n    <div class=\"cam-ab-story-copy cam-ab-reveal\">\n      <p>That means starting with the concern, taking the time to understand what needs attention, and explaining the next step in plain language instead of hiding behind a service-counter script.<\/p>\n      <p>From daily transportation to time on the water, the things customers bring into the shop matter because they depend on them. The way they are serviced should reflect that.<\/p>\n      <div class=\"cam-ab-local-note\"><span>\u25c6<\/span><p><strong>Local by design.<\/strong><br>Serving Sedro-Woolley and the surrounding Skagit County community from 304 E State Street.<\/p><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section id=\"cam-about-values\" aria-labelledby=\"cam-about-values-title\">\n  <div class=\"cam-ab-values-line\" aria-hidden=\"true\"><\/div>\n  <div class=\"cam-ab-wrap\">\n    <div class=\"cam-ab-values-head cam-ab-reveal\">\n      <div><p class=\"cam-ab-eyebrow\"><span><\/span>HOW WE APPROACH SERVICE<\/p><h2 id=\"cam-about-values-title\">Understand first.<br><em>Then move forward.<\/em><\/h2><\/div>\n      <p>Repair work is inconvenient enough without making customers guess what is happening. Cascade&#8217;s approach is built around a simple sequence: listen, inspect, explain, and then decide what makes sense next.<\/p>\n    <\/div>\n    <div class=\"cam-ab-steps\">\n      <article class=\"cam-ab-reveal\"><span>01<\/span><h3>Start With the Concern<\/h3><p>Tell us what you&#8217;re experiencing, what service you&#8217;re looking for, and anything you&#8217;ve noticed along the way.<\/p><\/article>\n      <article class=\"cam-ab-reveal\"><span>02<\/span><h3>Inspect Before Assuming<\/h3><p>Symptoms do not always tell the whole story. When inspection or diagnosis is needed, the goal is to understand the actual issue first.<\/p><\/article>\n      <article class=\"cam-ab-reveal\"><span>03<\/span><h3>Explain What We Find<\/h3><p>Recommended work should make sense. Customers deserve useful information before they make a repair decision.<\/p><\/article>\n      <article class=\"cam-ab-reveal\"><span>04<\/span><h3>Choose the Next Step<\/h3><p>Once the concern is understood, the next step should be clear, practical, and appropriate for the vehicle, boat, and situation.<\/p><\/article>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section id=\"cam-about-paths\" aria-labelledby=\"cam-about-paths-title\">\n  <div class=\"cam-ab-wrap\">\n    <div class=\"cam-ab-paths-intro cam-ab-reveal\"><p class=\"cam-ab-eyebrow cam-ab-eyebrow-dark\"><span><\/span>ROAD &amp; WATER<\/p><h2 id=\"cam-about-paths-title\">Two kinds of machines.<br><em>One local shop.<\/em><\/h2><p>Cascade gives customers a clear path to the service information that actually applies to them.<\/p><\/div>\n    <div class=\"cam-ab-path-stage\">\n      <a class=\"cam-ab-path-card cam-ab-auto cam-ab-reveal\" href=\"\/?pagename=services\">\n        <img decoding=\"async\" class=\"cam-ab-path-photo\" src=\"https:\/\/staging8.gmportal.net\/wp-content\/uploads\/2026\/09\/072-lifted-jeep-in-service-bay.webp\" alt=\"Lifted Jeep in a Cascade service bay\" loading=\"lazy\">\n        <span class=\"cam-ab-path-num\">01<\/span><div><p>AUTOMOTIVE<\/p><h3>For the road ahead.<\/h3><span>Explore repair and maintenance services for your vehicle.<\/span><\/div><b aria-hidden=\"true\">\u2197<\/b>\n      <\/a>\n      <a class=\"cam-ab-path-card cam-ab-marine cam-ab-reveal\" href=\"\/?pagename=marine\">\n        <img decoding=\"async\" class=\"cam-ab-path-photo\" src=\"https:\/\/staging8.gmportal.net\/wp-content\/uploads\/2026\/09\/069-aluminum-fishing-boat-in-front-of-cascade-shop.webp\" alt=\"Aluminum fishing boat in front of the Cascade shop\" loading=\"lazy\">\n        <span class=\"cam-ab-path-num\">02<\/span><div><p>MARINE<\/p><h3>For the water beyond.<\/h3><span>Tell us about your boat, engine, and service needs.<\/span><\/div><b aria-hidden=\"true\">\u2197<\/b>\n      <\/a>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section id=\"cam-about-visit\" aria-labelledby=\"cam-about-visit-title\">\n  <svg class=\"cam-ab-visit-contours\" viewBox=\"0 0 1200 700\" aria-hidden=\"true\"><g fill=\"none\"><path d=\"M-60 580c156-118 290-140 409-58s241 91 360 8 257-101 491-19\"\/><path d=\"M-55 612c153-108 289-125 411-47s244 87 359 9 256-92 485-13\"\/><path d=\"M-48 646c148-98 287-111 412-38s246 81 359 9 254-83 477-8\"\/><\/g><\/svg>\n  <div class=\"cam-ab-wrap cam-ab-visit-grid\">\n    <div class=\"cam-ab-visit-copy cam-ab-reveal\"><p class=\"cam-ab-eyebrow\"><span><\/span>COME SEE US<\/p><h2 id=\"cam-about-visit-title\">A local shop you can <em>actually find.<\/em><\/h2><p>If your vehicle needs service or your boat needs attention, start by telling us what you&#8217;ve got and what it&#8217;s doing. We&#8217;ll help determine the right next step.<\/p><a class=\"cam-ab-primary\" href=\"tel:+13608552059\"><span class=\"cam-ab-primary-icon\">\u2197<\/span><span>START WITH A CALL<small>(360) 855-2059<\/small><\/span><\/a><\/div>\n    <div class=\"cam-ab-visit-side\">\n      <figure class=\"cam-ab-location-media cam-ab-reveal\">\n        <img decoding=\"async\" src=\"https:\/\/staging8.gmportal.net\/wp-content\/uploads\/2026\/09\/094-cascade-shop-marquee-and-service-list.webp\" alt=\"Cascade Auto and Marine shop marquee and service list\" loading=\"lazy\">\n        <figcaption>304 E STATE STREET \u00b7 SEDRO-WOOLLEY<\/figcaption>\n      <\/figure>\n      <div class=\"cam-ab-visit-card cam-ab-reveal\"><p class=\"cam-ab-visit-label\">CASCADE AUTO &amp; MARINE<\/p><address>304 E State Street<br>Sedro-Woolley, WA 98284<\/address><a class=\"cam-ab-phone\" href=\"tel:+13608552059\">(360) 855-2059<\/a><div class=\"cam-ab-visit-links\"><a href=\"https:\/\/www.google.com\/maps\/search\/?api=1&amp;query=Cascade+Auto+and+Marine+304+E+State+Street+Sedro-Woolley+WA+98284\" target=\"_blank\" rel=\"noopener noreferrer\">GET DIRECTIONS <span>\u2197<\/span><\/a><a href=\"\/?pagename=services\">AUTOMOTIVE SERVICES <span>\u2197<\/span><\/a><a href=\"\/?pagename=marine\">MARINE SERVICES <span>\u2197<\/span><\/a><\/div><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<footer id=\"cam-footer\" aria-label=\"Cascade site footer\">\n  <svg class=\"cam-f-landscape\" viewBox=\"0 0 1600 700\" preserveAspectRatio=\"xMidYMid slice\" aria-hidden=\"true\"><g fill=\"none\" stroke=\"currentColor\" stroke-width=\"1\"><path d=\"m-90 460 160-91 95 26 182-226 114 119 89-49 210 193 108-38 145 43 155-152 118 132 110-33 175 95\"\/><path d=\"m-90 487 167-86 99 29 175-212 117 112 86-44 208 184 108-33 147 39 152-135 123 118 109-27 174 88\"\/><path d=\"m-90 516 175-82 102 34 166-198 121 105 84-41 204 174 109-28 148 36 151-120 125 107 110-22 173 82\"\/><path d=\"m-90 545 182-78 106 38 159-184 124 98 82-38 201 163 111-21 148 32 150-106 127 96 111-17 172 76\"\/><\/g><\/svg>\n  <div class=\"cam-f-wrap\">\n    <div class=\"cam-f-closing\"><div><p class=\"cam-f-eyebrow\"><span><\/span> YOUR LOCAL SHOP. ROAD &amp; WATER.<\/p><h2>For the road ahead.<br>And the <em>water beyond.<\/em><\/h2><\/div><div class=\"cam-f-action\"><p>Tell us what needs attention.<br>Let\u2019s start with a conversation.<\/p><a class=\"cam-f-cta\" href=\"tel:+13608552059\"><span class=\"cam-f-cta-icon\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M6 18 18 6M6 6h12v12\"\/><\/svg><\/span><span>CALL THE SHOP<small>(360) 855-2059<\/small><\/span><\/a><\/div><\/div>\n    <div class=\"cam-f-details\"><div class=\"cam-f-brand\"><a href=\"\/\" aria-label=\"Cascade Auto and Marine \u2014 Home\"><img decoding=\"async\" src=\"https:\/\/staging8.gmportal.net\/wp-content\/uploads\/2026\/09\/CASCADE-AM-LOGO-COMPACT-BADGE-e1789319009764.webp\" width=\"248\" height=\"248\" alt=\"Cascade Automotive and Marine mountain badge\" loading=\"lazy\"><\/a><p>Automotive repair, maintenance,<br>and marine service.<br><span>Right here in Sedro-Woolley.<\/span><\/p><\/div><nav class=\"cam-f-nav\" aria-label=\"Footer navigation\"><h3>EXPLORE CASCADE<\/h3><a href=\"\/\">Home <span>\u2197<\/span><\/a><a href=\"\/?pagename=services\">Automotive Services <span>\u2197<\/span><\/a><a href=\"\/?pagename=marine\">Marine Services <span>\u2197<\/span><\/a><a href=\"\/?pagename=about-us\">About Our Shop <span>\u2197<\/span><\/a><\/nav><div class=\"cam-f-visit\"><h3>FIND YOUR WAY HERE<\/h3><address>304 E State Street<br>Sedro-Woolley, WA 98284<\/address><a class=\"cam-f-directions\" href=\"https:\/\/www.google.com\/maps\/search\/?api=1&amp;query=Cascade+Auto+and+Marine+304+E+State+Street+Sedro-Woolley+WA+98284\" target=\"_blank\" rel=\"noopener noreferrer\">Get directions <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M6 18 18 6M6 6h12v12\"\/><\/svg><\/a><a class=\"cam-f-phone\" href=\"tel:+13608552059\">(360) 855-2059<\/a><p>Serving Sedro-Woolley<br>and Skagit County.<\/p><\/div><\/div>\n    <div class=\"cam-f-bottom\"><p>\u00a9 <span data-cam-year>2026<\/span> Cascade Auto &amp; Marine.<br class=\"cam-f-mobile-break\"> All rights reserved.<\/p><span class=\"cam-f-signoff\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\"><path d=\"m16 1 3 12 12 3-12 3-3 12-3-12-12-3 12-3z\"\/><\/svg> ROOTED IN THE NORTHWEST.<\/span><\/div>\n  <\/div>\n  <button class=\"cam-f-top\" type=\"button\" aria-label=\"Back to top\" title=\"Back to top\" hidden><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"m5 12 7-7 7 7M12 5v15\"\/><\/svg><\/button>\n<\/footer>\n\n<style data-wp-block-html=\"css\">\n#cam-about-hero,#cam-about-story,#cam-about-values,#cam-about-paths,#cam-about-visit{--cam-copper:#d99a61;--cam-ink:#081a24;--cam-cream:#f0eee7;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;position:relative;overflow:clip}#cam-about-hero *,#cam-about-story *,#cam-about-values *,#cam-about-paths *,#cam-about-visit *{box-sizing:border-box}.cam-ab-wrap{width:min(1320px,calc(100% - 80px));margin-inline:auto}.cam-ab-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 18px;color:#d8b18b;font-size:10px;font-weight:800;letter-spacing:.18em;line-height:1.5}.cam-ab-eyebrow span{width:30px;height:1px;background:var(--cam-copper)}.cam-ab-eyebrow-dark{color:#785231}.cam-ab-eyebrow-dark span{background:#b67946}.cam-ab-reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.cam-ab-reveal.is-visible{opacity:1;transform:none}.cam-ab-primary{display:inline-flex;align-items:center;gap:16px;min-height:60px;padding:7px 22px 7px 7px;background:linear-gradient(120deg,#eed0a9,#d39a63);color:#071820;border:1px solid #f0cfaa7a;border-radius:3px;font-size:11px;font-weight:800;letter-spacing:.1em;text-decoration:none}.cam-ab-primary-icon{display:grid;place-items:center;width:46px;height:46px;background:#102c38;color:#f2c594;font-size:20px}.cam-ab-primary small{display:block;margin-top:4px;font-size:14px;letter-spacing:0}.cam-ab-textlink{display:inline-flex;align-items:center;gap:18px;min-height:60px;color:#e1e8e9;font-size:10px;font-weight:800;letter-spacing:.14em;text-decoration:none}.cam-ab-textlink span{color:#d99a61;font-size:17px}#cam-about-hero{min-height:690px;color:#f5f1e8;background:radial-gradient(circle at 83% 24%,#2b5d7180,transparent 34%),linear-gradient(122deg,#123341 0%,#06151e 62%,#102c38 100%);isolation:isolate}#cam-about-hero::before{content:\"\";position:absolute;inset:0;background-image:linear-gradient(#fff07 1px,transparent 1px),linear-gradient(90deg,#fff07 1px,transparent 1px);background-size:78px 78px;mask-image:linear-gradient(90deg,transparent,#000 44%,#000);opacity:.44}.cam-ab-contours{position:absolute;right:-80px;top:-20px;width:min(900px,70vw);height:auto;opacity:.18;color:#a9c6d1;pointer-events:none}.cam-ab-contours path{stroke:currentColor;stroke-width:1.2}.cam-ab-hero-inner{min-height:690px;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:90px;align-items:center;padding:84px 0 130px;position:relative;z-index:2}.cam-ab-hero-copy{max-width:820px}.cam-ab-hero-copy h1,.cam-ab-story-heading h2,.cam-ab-values-head h2,.cam-ab-paths-intro h2,.cam-ab-visit-copy h2{margin:0;line-height:1.01;letter-spacing:-.052em}.cam-ab-hero-copy h1{font-size:clamp(52px,6.2vw,94px)}.cam-ab-hero-copy h1 em,.cam-ab-values-head h2 em,.cam-ab-visit-copy h2 em{font-style:normal;color:var(--cam-copper)}.cam-ab-lede{max-width:730px;margin:28px 0 0;color:#c0cfd4;font-size:18px;line-height:1.75}.cam-ab-actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:34px}.cam-ab-hero-card{justify-self:end;align-self:end;width:min(100%,360px);margin-bottom:-44px;padding:28px 30px 31px;border:1px solid #b6cfd72e;background:#091b24d9;box-shadow:0 24px 60px #0003;backdrop-filter:blur(8px);position:relative}.cam-ab-hero-card::before{content:\"\";position:absolute;left:-28px;top:28px;width:28px;height:1px;background:#d99a61}.cam-ab-card-index{position:absolute;right:18px;top:15px;color:#78909b;font-size:9px;letter-spacing:.16em}.cam-ab-card-kicker{margin:14px 0 22px;color:#d99a61;font-size:9px;font-weight:800;letter-spacing:.17em}.cam-ab-hero-card strong{font-size:34px;line-height:1.08;letter-spacing:-.04em}.cam-ab-card-rule{height:1px;background:linear-gradient(90deg,#d99a61,transparent);margin:25px 0 20px}.cam-ab-hero-card p:last-child{margin:0;color:#aebfc6;font-size:13px;line-height:1.75}.cam-ab-hero-seam{position:absolute;left:-3%;right:-3%;bottom:-44px;height:104px;background:#f0eee7;clip-path:polygon(0 42%,29% 55%,54% 18%,100% 49%,100% 100%,0 100%);z-index:3}#cam-about-story{background:#f0eee7;color:#11242c;padding:128px 0 145px}.cam-ab-story-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:start}.cam-ab-story-heading{grid-column:1\/6;padding-top:30px}.cam-ab-story-heading h2{font-size:clamp(44px,4.7vw,70px)}.cam-ab-story-heading h2 em,.cam-ab-paths-intro h2 em{font-style:normal;color:#a56b3e}.cam-ab-story-rule{width:78px;height:2px;background:#b97b48;margin:30px 0}.cam-ab-story-lead{margin:0;max-width:450px;font-size:24px;line-height:1.45;font-weight:700;letter-spacing:-.025em}.cam-ab-media{grid-column:6\/13;margin:-58px 0 0;position:relative;min-height:470px;clip-path:polygon(7% 0,100% 0,100% 87%,88% 100%,0 100%,0 15%);background:#0d2733;overflow:hidden;box-shadow:0 30px 60px #10222a1f}.cam-ab-media::after{content:\"\";position:absolute;inset:0;background:linear-gradient(180deg,transparent 56%,#06141dd9)}.cam-ab-media-img{display:block;width:100%;height:470px;object-fit:cover;object-position:center;filter:saturate(.78) contrast(1.05) brightness(.9)}.cam-ab-media figcaption{position:absolute;left:30px;right:30px;bottom:25px;z-index:2;display:flex;justify-content:space-between;align-items:end;gap:20px;color:#f3f1ea}.cam-ab-media figcaption span{font-size:9px;letter-spacing:.16em;color:#d5a06e}.cam-ab-media figcaption b{font-size:17px;letter-spacing:-.02em}.cam-ab-story-copy{grid-column:6\/12;margin-top:30px;max-width:680px}.cam-ab-story-copy>p{margin:0 0 20px;color:#46565c;font-size:16px;line-height:1.75}.cam-ab-local-note{margin-top:28px;padding:20px 23px;border-left:3px solid #be8050;background:#e6e1d8;display:flex;gap:15px}.cam-ab-local-note span{color:#b67845}.cam-ab-local-note p{margin:0;font-size:14px;line-height:1.6;color:#42535a}#cam-about-values{background:radial-gradient(circle at 86% 11%,#28546b4d,transparent 30%),linear-gradient(132deg,#081b25,#12313e 72%,#091c25);color:#eef0ec;padding:126px 0 155px}.cam-ab-values-line{position:absolute;left:0;right:0;top:56%;height:1px;background:linear-gradient(90deg,transparent,#d99a6152 14%,#d99a6152 86%,transparent);transform:rotate(-3deg);transform-origin:center}.cam-ab-values-head{display:grid;grid-template-columns:1fr .72fr;gap:90px;align-items:end}.cam-ab-values-head h2{font-size:clamp(43px,4.7vw,70px)}.cam-ab-values-head>p{margin:0;color:#b8c9cf;font-size:16px;line-height:1.75;max-width:520px}.cam-ab-steps{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin-top:68px;position:relative}.cam-ab-steps article{min-height:220px;padding:28px 25px;border:1px solid #afc5cd22;background:#ffffff05;backdrop-filter:blur(4px)}.cam-ab-steps article:nth-child(1){grid-column:1\/4}.cam-ab-steps article:nth-child(2){grid-column:4\/7;margin-top:45px}.cam-ab-steps article:nth-child(3){grid-column:7\/10}.cam-ab-steps article:nth-child(4){grid-column:10\/13;margin-top:45px}.cam-ab-steps article>span{display:block;color:#d99a61;font-size:10px;font-weight:800;letter-spacing:.16em;margin-bottom:34px}.cam-ab-steps h3{font-size:21px;line-height:1.2;letter-spacing:-.025em;margin:0 0 15px}.cam-ab-steps p{font-size:14px;line-height:1.7;color:#aebfc5;margin:0}#cam-about-paths{background:#f0eee7;color:#11242c;padding:132px 0 154px}.cam-ab-paths-intro{display:grid;grid-template-columns:1fr .55fr;column-gap:70px;align-items:end;margin-bottom:52px}.cam-ab-paths-intro .cam-ab-eyebrow,.cam-ab-paths-intro h2{grid-column:1}.cam-ab-paths-intro h2{font-size:clamp(43px,4.6vw,69px)}.cam-ab-paths-intro>p:last-child{grid-column:2;grid-row:1\/3;margin:0;color:#536168;font-size:16px;line-height:1.7}.cam-ab-path-stage{position:relative;min-height:440px}.cam-ab-path-card{position:absolute;display:grid;grid-template-columns:58px 1fr auto;gap:22px;align-items:end;min-height:325px;padding:31px 33px;color:#eef1ed;text-decoration:none;border:1px solid #173e4c;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;isolation:isolate}.cam-ab-path-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:saturate(.78) contrast(1.04) brightness(.7);transform:scale(1.01);transition:transform .4s ease}.cam-ab-path-card::before{content:\"\";position:absolute;inset:0;background:linear-gradient(90deg,#06151ef0 0%,#06151ecc 48%,#06151e72 100%),linear-gradient(135deg,transparent 0 62%,#d99a6128 62% 63%,transparent 63%);z-index:1}.cam-ab-path-card>*:not(.cam-ab-path-photo){position:relative;z-index:2}.cam-ab-auto{left:0;top:0;width:58%;background:#071820}.cam-ab-marine{right:0;bottom:0;width:52%;background:#0b222c;box-shadow:0 20px 42px #1d31391a}.cam-ab-path-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #10212925}.cam-ab-path-card:hover .cam-ab-path-photo{transform:scale(1.045)}.cam-ab-path-num{align-self:start;color:#d99a61;font-size:10px;font-weight:800;letter-spacing:.15em}.cam-ab-path-card p{margin:0 0 12px;color:#e2b187;font-size:10px;font-weight:800;letter-spacing:.18em}.cam-ab-path-card h3{font-size:35px;line-height:1.08;letter-spacing:-.04em;margin:0 0 15px}.cam-ab-path-card div>span{display:block;color:#d0dadd;font-size:14px;line-height:1.65;max-width:360px}.cam-ab-path-card b{font-size:26px;color:#e5ad78;font-weight:400}#cam-about-visit{background:radial-gradient(circle at 16% 7%,#2a5e744d,transparent 36%),linear-gradient(130deg,#102f3c,#06151e 75%);color:#f0eee7;padding:132px 0 110px;isolation:isolate}.cam-ab-visit-contours{position:absolute;left:-4%;bottom:-60px;width:108%;opacity:.12;color:#bdd2da}.cam-ab-visit-contours path{stroke:currentColor;stroke-width:1.2}.cam-ab-visit-grid{display:grid;grid-template-columns:1.05fr .78fr;gap:90px;align-items:center;position:relative;z-index:2}.cam-ab-visit-copy h2{font-size:clamp(44px,4.7vw,70px)}.cam-ab-visit-copy>p:last-of-type{max-width:620px;margin:27px 0 30px;color:#b9c8ce;font-size:16px;line-height:1.75}.cam-ab-visit-side{position:relative;padding-bottom:92px}.cam-ab-location-media{margin:0;position:relative;overflow:hidden;min-height:295px;clip-path:polygon(7% 0,100% 0,100% 91%,88% 100%,0 100%,0 13%);background:#0b222c}.cam-ab-location-media::after{content:\"\";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#06141dd6)}.cam-ab-location-media img{display:block;width:100%;height:295px;object-fit:cover;object-position:center;filter:saturate(.8) contrast(1.05) brightness(.86)}.cam-ab-location-media figcaption{position:absolute;left:24px;bottom:19px;z-index:2;color:#f1c392;font-size:9px;font-weight:800;letter-spacing:.14em}.cam-ab-visit-card{position:absolute;left:54px;right:0;bottom:0;border:1px solid #afc8d32e;background:#071b25ee;padding:29px 31px;box-shadow:0 24px 60px #0000002b}.cam-ab-visit-label{margin:0 0 20px;color:#dba16a;font-size:9px;font-weight:800;letter-spacing:.16em}.cam-ab-visit-card address{font-style:normal;font-size:21px;line-height:1.4;font-weight:700;letter-spacing:-.02em}.cam-ab-phone{display:block;width:fit-content;margin-top:15px;color:#f0eee7;font-size:24px;font-weight:700;text-decoration:none}.cam-ab-visit-links{margin-top:23px;border-top:1px solid #b7ced42b}.cam-ab-visit-links a{min-height:45px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #b7ced42b;color:#bfcdd1;font-size:10px;font-weight:800;letter-spacing:.12em;text-decoration:none}.cam-ab-visit-links a span{color:#dda36b;font-size:16px}#cam-footer{--cam-copper:#dfa770;--cam-cream:#f0eee7;position:relative;isolation:isolate;margin:0;padding-top:34px;overflow:clip;color:var(--cam-cream);font-family:Arial,Helvetica,sans-serif;background:radial-gradient(ellipse at 9% 65%,#24516766,transparent 49%),radial-gradient(ellipse at 94% 16%,#1d40525c,transparent 48%),linear-gradient(117deg,#102a38,#06141d 64%);border-top:1px solid #d9a06133}#cam-footer,#cam-footer *{box-sizing:border-box}#cam-footer .cam-f-landscape{position:absolute;inset:auto 0 40px;width:100%;height:82%;opacity:.09;color:#c8dce4;pointer-events:none;z-index:-1}#cam-footer .cam-f-wrap{width:min(1320px,calc(100% - 80px));margin-inline:auto;position:relative}#cam-footer a{text-decoration:none;color:inherit}#cam-footer p{margin:0}#cam-footer svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7}#cam-footer .cam-f-closing{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(255px,.75fr);align-items:center;gap:65px;padding:40px 0 65px;border-bottom:1px solid #c2d4d82c}#cam-footer .cam-f-eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:700;letter-spacing:.17em;line-height:1.6;color:#c7b59f}#cam-footer .cam-f-eyebrow span{width:28px;height:1px;background:var(--cam-copper)}#cam-footer h2{font-size:clamp(38px,4.45vw,67px);line-height:1.08;font-weight:700;letter-spacing:-.048em;margin:21px 0 0;color:var(--cam-cream)}#cam-footer h2 em{font-style:normal;color:var(--cam-copper)}#cam-footer .cam-f-action{padding-top:24px}#cam-footer .cam-f-action p{color:#b7c5cc;font-size:16px;line-height:1.6;margin-bottom:24px}#cam-footer .cam-f-cta{display:inline-flex;align-items:center;padding:7px 25px 7px 7px;gap:17px;background:linear-gradient(120deg,#eed0a9,#d7a06b 75%,#c58b56);color:#0b1c26;border:1px solid #f4cf9f80;border-radius:4px;font-size:12px;font-weight:800;letter-spacing:.09em}#cam-footer .cam-f-cta small{display:block;font-size:14px;font-weight:600;letter-spacing:.025em;margin-top:5px}#cam-footer .cam-f-cta-icon{display:grid;place-items:center;background:#142c36;width:48px;height:50px;border-radius:2px;color:#f4cf9f}#cam-footer .cam-f-details{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.83fr) minmax(0,1fr);gap:70px;padding:49px 0 48px}#cam-footer .cam-f-brand{display:flex;align-items:center;gap:26px}#cam-footer .cam-f-brand>a{flex:0 0 161px}#cam-footer .cam-f-brand img{display:block;width:161px;height:auto}#cam-footer .cam-f-brand p{font-size:13px;line-height:1.8;color:#b6c4cb}#cam-footer .cam-f-brand p span{display:inline-block;margin-top:13px;color:#d9ac7e}#cam-footer h3{font-size:10px;letter-spacing:.17em;line-height:1.6;font-weight:700;color:#d9ac7e;margin:0 0 19px}#cam-footer .cam-f-nav a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 0;font-size:14px;color:#d5dfe2;border-bottom:1px solid #c7dbe513}#cam-footer .cam-f-visit{border-left:1px solid #c2d4d826;padding-left:40px}#cam-footer address{font-style:normal;line-height:1.7;font-size:15px;color:#d5dfe2}#cam-footer .cam-f-directions{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:#e5b687;min-height:44px}#cam-footer .cam-f-directions svg{width:16px;height:16px}#cam-footer .cam-f-phone{display:block;width:fit-content;font-size:19px;font-weight:700;padding:9px 0}#cam-footer .cam-f-visit p{font-size:12px;line-height:1.7;color:#9fb3be;margin-top:8px}#cam-footer .cam-f-bottom{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:24px 0 26px;border-top:1px solid #c2d4d826;font-size:11px;line-height:1.7;color:#a5b8c3}#cam-footer .cam-f-signoff{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.16em;color:#c7bba9}#cam-footer .cam-f-signoff svg{width:23px;height:23px;fill:#d5a272;stroke:none}#cam-footer .cam-f-mobile-break{display:none}#cam-footer .cam-f-top[hidden]{display:none}#cam-footer .cam-f-top{display:grid;place-items:center;position:fixed;z-index:900;bottom:max(20px,env(safe-area-inset-bottom));right:20px;width:46px;height:46px;background:#102a38;color:#edc499;border:1px solid #dbad78;border-radius:3px;cursor:pointer;box-shadow:0 5px 18px #0003}\n\/* CSS Bible interaction pass: layered hero, scroll reveals, gallery hover\/filter, animated linework. *\/\n#cam-about-hero::before{animation:cam-ab-grid-drift 22s linear infinite}.cam-ab-contours,.cam-ab-visit-contours{transform:translate3d(0,var(--cam-parallax-y,0px),0);will-change:transform}.cam-ab-eyebrow span{transform:scaleX(.25);transform-origin:left;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.cam-ab-reveal.is-visible .cam-ab-eyebrow span{transform:scaleX(1)}.cam-ab-primary{position:relative;overflow:hidden;isolation:isolate;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}.cam-ab-primary::before{content:\"\";position:absolute;inset:-30% auto -30% -48%;width:36%;background:linear-gradient(90deg,transparent,#fff8,transparent);transform:skewX(-18deg);transition:left .55s cubic-bezier(.2,.7,.2,1);z-index:-1}.cam-ab-primary:hover{transform:translateY(-3px);box-shadow:0 14px 30px #0002;filter:brightness(1.04)}.cam-ab-primary:hover::before{left:118%}.cam-ab-primary-icon{transition:transform .3s cubic-bezier(.2,.7,.2,1),background .3s}.cam-ab-primary:hover .cam-ab-primary-icon{transform:translate(2px,-2px) rotate(-3deg);background:#0a222d}.cam-ab-textlink{transition:color .2s}.cam-ab-textlink span{transition:transform .25s ease}.cam-ab-textlink:hover{color:#fff}.cam-ab-textlink:hover span{transform:translateY(3px)}.cam-ab-hero-card{overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .35s}.cam-ab-hero-card::after{content:\"\";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0 42%,#d99a6110 48%,transparent 55%);transform:translateX(-125%);transition:transform .75s cubic-bezier(.2,.7,.2,1);pointer-events:none}.cam-ab-hero-card:hover{transform:translateY(-7px);border-color:#d5a16a66;box-shadow:0 30px 68px #0005}.cam-ab-hero-card:hover::after{transform:translateX(125%)}#cam-about-story::before,#cam-about-paths::before{content:\"\";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(90deg,#16313b08 1px,transparent 1px),linear-gradient(#16313b07 1px,transparent 1px);background-size:92px 92px;mask-image:linear-gradient(90deg,#000 0%,transparent 68%);opacity:.7}.cam-ab-story-grid,#cam-about-paths>.cam-ab-wrap{position:relative;z-index:1}#cam-about-story::after{content:\"\";position:absolute;left:-5%;right:-5%;bottom:-1px;height:74px;background:#081b25;clip-path:polygon(0 86%,39% 70%,72% 22%,100% 52%,100% 100%,0 100%);pointer-events:none}#cam-about-values::after{content:\"\";position:absolute;left:-4%;right:-4%;bottom:-1px;height:64px;background:#f0eee7;clip-path:polygon(0 48%,24% 66%,59% 22%,100% 62%,100% 100%,0 100%);pointer-events:none}.cam-ab-media-img{transform:scale(1.075);filter:saturate(.62) contrast(1.08) brightness(.82);transition:transform 1s cubic-bezier(.16,1,.3,1),filter .65s ease}.cam-ab-media.is-visible .cam-ab-media-img{transform:scale(1.01)}.cam-ab-media:hover .cam-ab-media-img{transform:scale(1.04);filter:saturate(.92) contrast(1.04) brightness(.94)}.cam-ab-media figcaption{transition:transform .35s ease}.cam-ab-media:hover figcaption{transform:translateY(-4px)}.cam-ab-story-rule{transform:scaleX(.2);transform-origin:left;transition:transform .8s .15s cubic-bezier(.2,.7,.2,1)}.cam-ab-story-heading.is-visible .cam-ab-story-rule{transform:scaleX(1)}.cam-ab-values-line{background-size:220% 100%;animation:cam-ab-line-drift 9s ease-in-out infinite}.cam-ab-steps article{position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.2,.7,.2,1),border-color .3s,background .3s,box-shadow .3s}.cam-ab-steps article::before{content:\"\";position:absolute;inset:0;background:radial-gradient(280px circle at 18% 15%,#d99a6114,transparent 68%);opacity:0;transition:opacity .3s}.cam-ab-steps article::after{content:\"\";position:absolute;left:24px;right:24px;top:0;height:2px;background:linear-gradient(90deg,#d99a61,transparent);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.7,.2,1)}.cam-ab-steps article:hover{transform:translateY(-8px);border-color:#d99a6150;background:#ffffff08;box-shadow:0 20px 44px #0002}.cam-ab-steps article:hover::before{opacity:1}.cam-ab-steps article:hover::after{transform:scaleX(1)}.cam-ab-steps article>span,.cam-ab-steps h3,.cam-ab-steps p{position:relative;z-index:1}.cam-ab-path-card::after{content:\"\";position:absolute;inset:0;background:radial-gradient(330px circle at var(--cam-pointer-x,78%) var(--cam-pointer-y,24%),#f2bc8250,transparent 60%);opacity:0;z-index:1;pointer-events:none;transition:opacity .25s}.cam-ab-path-card:hover::after{opacity:1}.cam-ab-path-card:hover .cam-ab-path-photo{transform:scale(1.065);filter:saturate(.98) contrast(1.04) brightness(.76)}.cam-ab-path-card b{transition:transform .25s ease,color .25s}.cam-ab-path-card:hover b{transform:translate(5px,-5px);color:#f3c697}.cam-ab-path-card p,.cam-ab-path-card h3,.cam-ab-path-card div>span{transition:transform .3s cubic-bezier(.2,.7,.2,1)}.cam-ab-path-card:hover p,.cam-ab-path-card:hover h3,.cam-ab-path-card:hover div>span{transform:translateX(4px)}#cam-about-paths::after{content:\"\";position:absolute;left:-4%;right:-4%;bottom:-1px;height:66px;background:#102f3c;clip-path:polygon(0 72%,31% 40%,68% 64%,100% 18%,100% 100%,0 100%);pointer-events:none}.cam-ab-location-media img{transform:scale(1.07);filter:saturate(.66) contrast(1.08) brightness(.78);transition:transform 1s cubic-bezier(.16,1,.3,1),filter .65s ease}.cam-ab-location-media.is-visible img{transform:scale(1.01)}.cam-ab-location-media:hover img{transform:scale(1.045);filter:saturate(.94) contrast(1.04) brightness(.9)}.cam-ab-location-media figcaption{transition:transform .3s ease,letter-spacing .3s}.cam-ab-location-media:hover figcaption{transform:translateX(4px);letter-spacing:.17em}.cam-ab-visit-card{transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .3s}.cam-ab-visit-side:hover .cam-ab-visit-card{transform:translateY(-7px);border-color:#d99a6152;box-shadow:0 30px 68px #0004}.cam-ab-visit-links a{transition:color .2s,padding-left .25s}.cam-ab-visit-links a span{transition:transform .25s}.cam-ab-visit-links a:hover{color:#fff;padding-left:5px}.cam-ab-visit-links a:hover span{transform:translate(4px,-4px)}#cam-footer .cam-f-cta{position:relative;overflow:hidden;isolation:isolate;transition:transform .25s,filter .25s,box-shadow .25s}#cam-footer .cam-f-cta::before{content:\"\";position:absolute;inset:-30% auto -30% -48%;width:36%;background:linear-gradient(90deg,transparent,#fff8,transparent);transform:skewX(-18deg);transition:left .55s cubic-bezier(.2,.7,.2,1);z-index:-1}#cam-footer .cam-f-cta:hover{transform:translateY(-3px);filter:brightness(1.05);box-shadow:0 14px 30px #0002}#cam-footer .cam-f-cta:hover::before{left:118%}@keyframes cam-ab-grid-drift{to{background-position:78px 78px,78px 78px}}@keyframes cam-ab-line-drift{0%,100%{background-position:0 0;opacity:.65}50%{background-position:100% 0;opacity:1}}\n@media(max-width:900px){.cam-ab-wrap{width:calc(100% - 48px)}.cam-ab-hero-inner,.cam-ab-values-head,.cam-ab-visit-grid{grid-template-columns:1fr;gap:40px}.cam-ab-hero-card{justify-self:start;align-self:auto;margin-bottom:0}.cam-ab-story-heading{grid-column:1\/13}.cam-ab-media{grid-column:1\/13;margin-top:5px}.cam-ab-story-copy{grid-column:2\/12}.cam-ab-steps{grid-template-columns:1fr 1fr}.cam-ab-steps article:nth-child(n){grid-column:auto;margin-top:0}.cam-ab-paths-intro{display:block}.cam-ab-paths-intro>p:last-child{margin-top:24px;max-width:620px}.cam-ab-path-stage{min-height:auto;display:grid;gap:20px}.cam-ab-path-card{position:relative!important;width:100%!important;min-height:290px;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important}.cam-ab-visit-side{max-width:720px}.cam-ab-location-media{min-height:340px}.cam-ab-location-media img{height:340px}.cam-ab-visit-card{left:60px}#cam-footer .cam-f-wrap{width:calc(100% - 48px)}#cam-footer .cam-f-closing{grid-template-columns:1fr;gap:25px}#cam-footer .cam-f-details{gap:25px}}@media(max-width:650px){.cam-ab-wrap{width:calc(100% - 40px)}.cam-ab-reveal{opacity:1;transform:none}.cam-ab-hero-inner{min-height:auto;padding:64px 0 116px}.cam-ab-hero-copy h1{font-size:clamp(44px,13.5vw,67px)}.cam-ab-lede{font-size:16px;line-height:1.7}.cam-ab-actions{display:grid;gap:12px}.cam-ab-primary{width:100%}.cam-ab-textlink{min-height:44px}.cam-ab-hero-card{width:100%;padding:25px}.cam-ab-hero-seam{height:76px;bottom:-31px}.cam-ab-contours{width:620px;right:-330px}.cam-ab-story-heading h2,.cam-ab-values-head h2,.cam-ab-paths-intro h2,.cam-ab-visit-copy h2{font-size:clamp(38px,11vw,54px)}#cam-about-story,#cam-about-values,#cam-about-paths,#cam-about-visit{padding:90px 0}.cam-ab-story-heading{padding-top:0}.cam-ab-story-lead{font-size:21px}.cam-ab-media{min-height:310px;clip-path:polygon(5% 0,100% 0,100% 90%,88% 100%,0 100%,0 10%)}.cam-ab-media-img{height:310px}.cam-ab-media figcaption{left:18px;right:18px;bottom:16px;display:block}.cam-ab-media figcaption b{display:block;margin-top:7px;font-size:14px}.cam-ab-story-copy{grid-column:1\/13;margin-top:7px}.cam-ab-story-copy>p{font-size:15px}.cam-ab-steps{grid-template-columns:1fr;margin-top:42px}.cam-ab-steps article{min-height:auto}.cam-ab-path-card{min-height:270px;padding:26px 23px;grid-template-columns:42px 1fr auto;gap:14px}.cam-ab-path-card h3{font-size:28px}.cam-ab-visit-side{padding-bottom:0}.cam-ab-location-media{min-height:245px}.cam-ab-location-media img{height:245px}.cam-ab-location-media figcaption{left:18px;bottom:15px;font-size:8px}.cam-ab-visit-card{position:relative;left:auto;right:auto;bottom:auto;margin:-28px 0 0 20px;padding:27px 24px}.cam-ab-phone{font-size:23px}#cam-about-story::after,#cam-about-values::after,#cam-about-paths::after{height:42px}#cam-footer{padding-top:18px}#cam-footer .cam-f-wrap{width:calc(100% - 40px)}#cam-footer .cam-f-action{display:block}#cam-footer .cam-f-details{grid-template-columns:1fr 1fr;column-gap:28px;row-gap:39px}#cam-footer .cam-f-brand{grid-column:1\/-1;flex-direction:row;align-items:center;gap:23px}#cam-footer .cam-f-visit{padding-left:0;border-left:0}#cam-footer .cam-f-bottom{align-items:flex-start;flex-direction:column;gap:17px}#cam-footer .cam-f-mobile-break{display:block}}@media(prefers-reduced-motion:reduce){#cam-about-hero::before,.cam-ab-values-line{animation:none!important}.cam-ab-reveal{opacity:1!important;transform:none!important;transition:none!important}.cam-ab-contours,.cam-ab-visit-contours{transform:none!important}.cam-ab-media-img,.cam-ab-location-media img,.cam-ab-path-card,.cam-ab-path-photo,.cam-ab-primary,.cam-ab-primary-icon,.cam-ab-hero-card,.cam-ab-steps article,.cam-ab-visit-card{transition:none!important;transform:none!important}.cam-ab-eyebrow span,.cam-ab-story-rule{transform:scaleX(1)!important;transition:none!important}}\n<\/style>\n\n<script data-wp-block-html=\"js\">\n(() => {\n  const root = document;\n  const reduce = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n  const clamp = (value, min = 0, max = 1) => Math.min(max, Math.max(min, value));\n  const lerp = (a, b, t) => a + (b - a) * t;\n  const smooth = t => {\n    const x = clamp(t);\n    return x * x * (3 - 2 * x);\n  };\n  const sectionProgress = section => {\n    if (!section) return 0;\n    const rect = section.getBoundingClientRect();\n    const vh = window.innerHeight || 800;\n    return clamp((vh - rect.top) \/ (vh + rect.height));\n  };\n  const pinnedProgress = section => {\n    if (!section) return 0;\n    const rect = section.getBoundingClientRect();\n    const vh = window.innerHeight || 800;\n    return clamp(-rect.top \/ Math.max(1, rect.height - vh));\n  };\n  const clearStyles = (el, props) => {\n    if (!el) return;\n    props.forEach(prop => el.style.removeProperty(prop));\n  };\n\n  const reveals = [...root.querySelectorAll('.cam-ab-reveal')];\n  if (reduce || !('IntersectionObserver' in window)) reveals.forEach(el => el.classList.add('is-visible'));\n  else {\n    const io = new IntersectionObserver(entries => entries.forEach(entry => {\n      if (entry.isIntersecting) {\n        entry.target.classList.add('is-visible');\n        io.unobserve(entry.target);\n      }\n    }), { threshold:.12, rootMargin:'0px 0px -6% 0px' });\n    reveals.forEach((el,i) => {\n      el.style.transitionDelay = `${Math.min(i % 4,3) * 70}ms`;\n      io.observe(el);\n    });\n  }\n\n  const header = root.querySelector('#cam-header');\n  let progressBar = null;\n  if (header && !header.querySelector('[data-cam-scroll-progress]')) {\n    const utility = header.querySelector('.cam-h-utility');\n    if (utility) {\n      utility.style.position = 'relative';\n      progressBar = root.createElement('span');\n      progressBar.setAttribute('data-cam-scroll-progress','');\n      progressBar.setAttribute('aria-hidden','true');\n      Object.assign(progressBar.style, {\n        position:'absolute', left:'0', bottom:'-1px', width:'100%', height:'2px',\n        background:'linear-gradient(90deg,#b77943,#f0bf8f 55%,#d99a61)',\n        transform:'scaleX(0)', transformOrigin:'left center', zIndex:'3',\n        pointerEvents:'none', boxShadow:'0 0 12px rgba(217,154,97,.28)'\n      });\n      utility.appendChild(progressBar);\n    }\n  } else if (header) progressBar = header.querySelector('[data-cam-scroll-progress]');\n\n  const hero = root.querySelector('#cam-about-hero');\n  const heroCopy = root.querySelector('.cam-ab-hero-copy');\n  const heroCard = root.querySelector('.cam-ab-hero-card');\n  const heroContours = root.querySelector('.cam-ab-contours');\n\n  const story = root.querySelector('#cam-about-story');\n  const storyHeading = root.querySelector('.cam-ab-story-heading');\n  const storyMedia = root.querySelector('.cam-ab-media');\n  const storyImage = root.querySelector('.cam-ab-media-img');\n  const storyCopy = root.querySelector('.cam-ab-story-copy');\n\n  const values = root.querySelector('#cam-about-values');\n  const valuesWrap = values?.querySelector(':scope > .cam-ab-wrap');\n  const valuesHead = values?.querySelector('.cam-ab-values-head');\n  const stepsStage = values?.querySelector('.cam-ab-steps');\n  const steps = [...(values?.querySelectorAll('.cam-ab-steps article') || [])];\n  let processCounter = valuesWrap?.querySelector('[data-cam-process-counter]') || null;\n  let processRail = valuesWrap?.querySelector('[data-cam-process-rail]') || null;\n\n  const paths = root.querySelector('#cam-about-paths');\n  const pathsWrap = paths?.querySelector(':scope > .cam-ab-wrap');\n  const pathIntro = paths?.querySelector('.cam-ab-paths-intro');\n  const pathStage = paths?.querySelector('.cam-ab-path-stage');\n  const autoCard = paths?.querySelector('.cam-ab-auto');\n  const marineCard = paths?.querySelector('.cam-ab-marine');\n  const autoPhoto = autoCard?.querySelector('.cam-ab-path-photo');\n  const marinePhoto = marineCard?.querySelector('.cam-ab-path-photo');\n  let roadGhost = pathStage?.querySelector('[data-cam-road-ghost]') || null;\n  let waterGhost = pathStage?.querySelector('[data-cam-water-ghost]') || null;\n\n  const visit = root.querySelector('#cam-about-visit');\n  const visitCopy = root.querySelector('.cam-ab-visit-copy');\n  const visitSide = root.querySelector('.cam-ab-visit-side');\n  const visitContours = root.querySelector('.cam-ab-visit-contours');\n  const locationImage = root.querySelector('.cam-ab-location-media img');\n\n  const footer = root.querySelector('#cam-footer');\n  const footerClosing = footer?.querySelector('.cam-f-closing');\n  const footerDetails = footer?.querySelector('.cam-f-details');\n\n  const ensureSceneDecor = () => {\n    if (valuesWrap && !processCounter) {\n      processCounter = root.createElement('div');\n      processCounter.setAttribute('data-cam-process-counter','');\n      processCounter.setAttribute('aria-hidden','true');\n      valuesWrap.appendChild(processCounter);\n    }\n    if (valuesWrap && !processRail) {\n      processRail = root.createElement('div');\n      processRail.setAttribute('data-cam-process-rail','');\n      processRail.setAttribute('aria-hidden','true');\n      processRail.innerHTML = '<i><\/i><span><\/span><span><\/span><span><\/span><span><\/span>';\n      valuesWrap.appendChild(processRail);\n    }\n    if (pathStage && !roadGhost) {\n      roadGhost = root.createElement('span');\n      roadGhost.setAttribute('data-cam-road-ghost','');\n      roadGhost.setAttribute('aria-hidden','true');\n      roadGhost.textContent = 'ROAD';\n      pathStage.appendChild(roadGhost);\n    }\n    if (pathStage && !waterGhost) {\n      waterGhost = root.createElement('span');\n      waterGhost.setAttribute('data-cam-water-ghost','');\n      waterGhost.setAttribute('aria-hidden','true');\n      waterGhost.textContent = 'WATER';\n      pathStage.appendChild(waterGhost);\n    }\n  };\n\n  const enablePinnedScenes = () => {\n    ensureSceneDecor();\n\n    if (values && valuesWrap && valuesHead && stepsStage) {\n      Object.assign(values.style, { height:'360vh', padding:'0', overflow:'visible' });\n      Object.assign(valuesWrap.style, {\n        position:'sticky', top:'0', height:'100vh', minHeight:'720px',\n        paddingTop:'clamp(152px,17vh,190px)', paddingBottom:'56px',\n        display:'grid', gridTemplateRows:'auto 1fr', alignContent:'stretch', zIndex:'2'\n      });\n      Object.assign(valuesHead.style, { position:'relative', zIndex:'4', margin:'0', alignSelf:'start' });\n      Object.assign(stepsStage.style, {\n        position:'relative', marginTop:'34px', minHeight:'clamp(310px,42vh,430px)',\n        perspective:'1200px', zIndex:'3'\n      });\n      steps.forEach((step,index) => {\n        Object.assign(step.style, {\n          position:'absolute', left:'50%', top:'50%', width:'min(620px,52vw)', minHeight:'270px',\n          margin:'0', gridColumn:'auto', padding:'34px 132px 34px 36px',\n          background:'linear-gradient(135deg,rgba(17,49,62,.97),rgba(5,20,29,.96))',\n          border:'1px solid rgba(217,154,97,.30)', boxShadow:'0 30px 80px rgba(0,0,0,.28)',\n          backdropFilter:'blur(8px)', clipPath:index % 2 === 0 ? 'polygon(0 0,100% 0,94% 100%,0 100%)' : 'polygon(6% 0,100% 0,100% 100%,0 100%)',\n          transition:'border-color .2s ease,box-shadow .2s ease,background .2s ease',\n          transformOrigin:'center center', willChange:'transform,opacity'\n        });\n        const number = step.querySelector(':scope > span');\n        if (number) Object.assign(number.style, {\n          position:'absolute', right:'30px', top:'18px', margin:'0',\n          fontSize:'clamp(74px,8vw,118px)', lineHeight:'.9', fontWeight:'900',\n          letterSpacing:'-.08em', opacity:'.16', color:'#d99a61'\n        });\n        const heading = step.querySelector('h3');\n        if (heading) Object.assign(heading.style,{ fontSize:'clamp(28px,2.3vw,38px)', maxWidth:'390px', marginBottom:'18px' });\n        const copy = step.querySelector('p');\n        if (copy) Object.assign(copy.style,{ fontSize:'15px', maxWidth:'410px', lineHeight:'1.75' });\n      });\n      if (processCounter) Object.assign(processCounter.style, {\n        position:'absolute', right:'0', top:'clamp(145px,16vh,178px)', zIndex:'5',\n        color:'#d99a61', fontSize:'10px', fontWeight:'800', letterSpacing:'.2em',\n        padding:'9px 12px', border:'1px solid rgba(217,154,97,.28)', background:'rgba(5,20,29,.55)'\n      });\n      if (processRail) {\n        Object.assign(processRail.style, {\n          position:'absolute', left:'-28px', top:'46%', width:'1px', height:'180px',\n          background:'rgba(194,216,222,.18)', zIndex:'5'\n        });\n        const fill = processRail.querySelector('i');\n        if (fill) Object.assign(fill.style, {\n          position:'absolute', left:'0', top:'0', width:'1px', height:'100%',\n          background:'linear-gradient(#d99a61,#f0c49a)', transform:'scaleY(0)', transformOrigin:'top'\n        });\n        [...processRail.querySelectorAll('span')].forEach((dot,index) => Object.assign(dot.style, {\n          position:'absolute', left:'-4px', top:`${index * 33.333}%`, width:'9px', height:'9px',\n          borderRadius:'50%', border:'1px solid rgba(217,154,97,.65)', background:'#0b222c',\n          transform:'translateY(-4px)', transition:'background .2s,box-shadow .2s'\n        }));\n      }\n    }\n\n    if (paths && pathsWrap && pathStage && autoCard && marineCard) {\n      Object.assign(paths.style, { height:'320vh', padding:'0', overflow:'visible' });\n      Object.assign(pathsWrap.style, {\n        position:'sticky', top:'0', height:'100vh', minHeight:'720px',\n        paddingTop:'clamp(144px,16vh,176px)', paddingBottom:'58px',\n        display:'grid', gridTemplateRows:'auto 1fr', alignContent:'stretch', zIndex:'2'\n      });\n      Object.assign(pathIntro.style,{ position:'relative', zIndex:'5', marginBottom:'24px', willChange:'transform,opacity' });\n      Object.assign(pathStage.style,{ position:'relative', minHeight:'0', height:'100%', margin:'0', perspective:'1400px', overflow:'visible' });\n      Object.assign(autoCard.style, {\n        left:'-2%', top:'2%', bottom:'auto', width:'63%', height:'82%', minHeight:'0', zIndex:'3',\n        clipPath:'polygon(0 0,100% 0,86% 100%,0 100%)', willChange:'transform,opacity'\n      });\n      Object.assign(marineCard.style, {\n        right:'-2%', bottom:'2%', top:'auto', width:'63%', height:'82%', minHeight:'0', zIndex:'2',\n        clipPath:'polygon(14% 0,100% 0,100% 100%,0 100%)', willChange:'transform,opacity'\n      });\n      [autoCard,marineCard].forEach(card => {\n        card.style.transition = 'box-shadow .25s ease,border-color .25s ease';\n      });\n      if (roadGhost) Object.assign(roadGhost.style, {\n        position:'absolute', left:'-4%', top:'-9%', zIndex:'0', pointerEvents:'none',\n        fontSize:'clamp(120px,16vw,250px)', lineHeight:'.8', fontWeight:'900', letterSpacing:'-.09em',\n        color:'#0d2c38', opacity:'.055', whiteSpace:'nowrap', willChange:'transform'\n      });\n      if (waterGhost) Object.assign(waterGhost.style, {\n        position:'absolute', right:'-4%', bottom:'-7%', zIndex:'0', pointerEvents:'none',\n        fontSize:'clamp(120px,16vw,250px)', lineHeight:'.8', fontWeight:'900', letterSpacing:'-.09em',\n        color:'#0d2c38', opacity:'.055', whiteSpace:'nowrap', willChange:'transform'\n      });\n    }\n  };\n\n  const disablePinnedScenes = () => {\n    clearStyles(values,['height','padding','overflow']);\n    clearStyles(valuesWrap,['position','top','height','min-height','padding-top','padding-bottom','display','grid-template-rows','align-content','z-index']);\n    clearStyles(valuesHead,['position','z-index','margin','align-self','transform','opacity']);\n    clearStyles(stepsStage,['position','margin-top','min-height','perspective','z-index']);\n    steps.forEach(step => {\n      clearStyles(step,['position','left','top','width','min-height','margin','grid-column','padding','background','border','box-shadow','backdrop-filter','clip-path','transition','transform-origin','will-change','transform','opacity','z-index']);\n      const number = step.querySelector(':scope > span');\n      clearStyles(number,['position','right','top','margin','font-size','line-height','font-weight','letter-spacing','opacity','color']);\n      clearStyles(step.querySelector('h3'),['font-size','max-width','margin-bottom']);\n      clearStyles(step.querySelector('p'),['font-size','max-width','line-height']);\n    });\n    if (processCounter) processCounter.style.display = 'none';\n    if (processRail) processRail.style.display = 'none';\n\n    clearStyles(paths,['height','padding','overflow']);\n    clearStyles(pathsWrap,['position','top','height','min-height','padding-top','padding-bottom','display','grid-template-rows','align-content','z-index']);\n    clearStyles(pathIntro,['position','z-index','margin-bottom','will-change','transform','opacity']);\n    clearStyles(pathStage,['position','min-height','height','margin','perspective','overflow']);\n    clearStyles(autoCard,['left','top','bottom','width','height','min-height','z-index','clip-path','will-change','transition','transform','opacity']);\n    clearStyles(marineCard,['right','bottom','top','width','height','min-height','z-index','clip-path','will-change','transition','transform','opacity']);\n    clearStyles(autoPhoto,['transform','filter']);\n    clearStyles(marinePhoto,['transform','filter']);\n    if (roadGhost) roadGhost.style.display = 'none';\n    if (waterGhost) waterGhost.style.display = 'none';\n  };\n\n  let desktopScenes = false;\n  const configureScenes = () => {\n    const shouldPin = !reduce && window.innerWidth > 900 && window.innerHeight >= 700;\n    if (shouldPin === desktopScenes) return;\n    desktopScenes = shouldPin;\n    if (shouldPin) {\n      enablePinnedScenes();\n      if (processCounter) processCounter.style.display = '';\n      if (processRail) processRail.style.display = '';\n      if (roadGhost) roadGhost.style.display = '';\n      if (waterGhost) waterGhost.style.display = '';\n    } else disablePinnedScenes();\n  };\n  configureScenes();\n\n  let scrollFrame = 0;\n  const paintScrollScene = () => {\n    const vh = window.innerHeight || 800;\n    const doc = document.documentElement;\n    const maxScroll = Math.max(1, doc.scrollHeight - vh);\n    const pageProgress = clamp(window.scrollY \/ maxScroll);\n    if (progressBar) progressBar.style.transform = `scaleX(${pageProgress.toFixed(4)})`;\n\n    if (!reduce) {\n      const tabletUp = window.innerWidth > 650;\n\n      if (hero) {\n        const rect = hero.getBoundingClientRect();\n        const p = clamp(-rect.top \/ Math.max(1, rect.height * .78));\n        if (heroCopy) heroCopy.style.translate = `0 ${(-34 * p).toFixed(1)}px`;\n        if (heroCard) heroCard.style.translate = `0 ${(22 * p).toFixed(1)}px`;\n        hero.style.backgroundPosition = `${(50 + 4 * p).toFixed(2)}% ${(50 + 3 * p).toFixed(2)}%`;\n      }\n\n      [\n        { el:heroContours, factor:.035 },\n        { el:visitContours, factor:-.025 }\n      ].filter(item => item.el).forEach(({el,factor}) => {\n        const section = el.closest('section');\n        if (!section) return;\n        const rect = section.getBoundingClientRect();\n        const delta = (rect.top + rect.height * .5) - vh * .5;\n        const shift = Math.max(-30, Math.min(30, -delta * factor));\n        el.style.setProperty('--cam-parallax-y',`${shift.toFixed(1)}px`);\n      });\n\n      if (story) {\n        const p = sectionProgress(story);\n        if (storyHeading && tabletUp) storyHeading.style.translate = `${lerp(-18,10,p).toFixed(1)}px 0`;\n        if (storyCopy && tabletUp) storyCopy.style.translate = `${lerp(18,-8,p).toFixed(1)}px 0`;\n        if (storyMedia) {\n          storyMedia.style.translate = `0 ${lerp(34,-18,p).toFixed(1)}px`;\n          if (window.innerWidth > 900) {\n            const topCut = lerp(10,4,p);\n            const bottomCut = lerp(84,92,p);\n            storyMedia.style.clipPath = `polygon(${topCut.toFixed(2)}% 0,100% 0,100% 87%,${bottomCut.toFixed(2)}% 100%,0 100%,0 15%)`;\n          }\n        }\n        if (storyImage) storyImage.style.scale = `${lerp(1.035,1.0,p).toFixed(4)}`;\n      }\n\n      if (desktopScenes && values && steps.length) {\n        const p = pinnedProgress(values);\n        const centers = [.06,.36,.66,.94];\n        let activeIndex = 0;\n        let bestDistance = Infinity;\n        steps.forEach((step,index) => {\n          const rawDistance = (p - centers[index]) \/ .235;\n          const distance = clamp(rawDistance,-1.45,1.45);\n          const abs = Math.abs(distance);\n          const dir = index % 2 === 0 ? 1 : -1;\n          const x = -distance * dir * 46;\n          const y = Math.min(abs,1.15) * 7.5;\n          const rotate = distance * dir * 8.5;\n          const scale = 1 - Math.min(abs * .075,.105);\n          const opacity = clamp(1 - abs * .78,.08,1);\n          step.style.transform = `translate3d(calc(-50% + ${x.toFixed(2)}vw),calc(-50% + ${y.toFixed(2)}vh),0) rotate(${rotate.toFixed(2)}deg) scale(${scale.toFixed(4)})`;\n          step.style.opacity = opacity.toFixed(3);\n          step.style.zIndex = String(10 - Math.round(abs * 4));\n          step.style.borderColor = abs < .42 ? 'rgba(240,189,139,.78)' : 'rgba(217,154,97,.28)';\n          step.style.boxShadow = abs < .42 ? '0 34px 95px rgba(0,0,0,.42)' : '0 24px 60px rgba(0,0,0,.20)';\n          if (abs < bestDistance) { bestDistance = abs; activeIndex = index; }\n        });\n        if (valuesHead) {\n          valuesHead.style.transform = `translate3d(${lerp(0,-38,p).toFixed(1)}px,0,0)`;\n          valuesHead.style.opacity = `${lerp(1,.72,Math.max(0,(p-.72)\/.28)).toFixed(3)}`;\n        }\n        if (processCounter) processCounter.textContent = `0${activeIndex + 1} \/ 04`;\n        if (processRail) {\n          const fill = processRail.querySelector('i');\n          if (fill) fill.style.transform = `scaleY(${p.toFixed(4)})`;\n          [...processRail.querySelectorAll('span')].forEach((dot,index) => {\n            const active = index === activeIndex;\n            dot.style.background = active ? '#d99a61' : '#0b222c';\n            dot.style.boxShadow = active ? '0 0 16px rgba(217,154,97,.65)' : 'none';\n          });\n        }\n      }\n\n      if (desktopScenes && paths && autoCard && marineCard) {\n        const p = pinnedProgress(paths);\n        const enter = smooth(p \/ .34);\n        const exit = smooth((p - .72) \/ .28);\n        const autoX = lerp(-58,0,enter) + lerp(0,-42,exit);\n        const marineX = lerp(58,0,enter) + lerp(0,42,exit);\n        const autoY = lerp(15,0,enter) + lerp(0,-14,exit);\n        const marineY = lerp(-15,0,enter) + lerp(0,14,exit);\n        const autoR = lerp(-9,0,enter) + lerp(0,-5,exit);\n        const marineR = lerp(9,0,enter) + lerp(0,5,exit);\n        const panelScale = lerp(.92,1,enter) - .045 * exit;\n        const panelOpacity = clamp(lerp(.18,1,enter) - .48 * exit,.12,1);\n        autoCard.style.transform = `translate3d(${autoX.toFixed(2)}vw,${autoY.toFixed(2)}vh,0) rotate(${autoR.toFixed(2)}deg) scale(${panelScale.toFixed(4)})`;\n        marineCard.style.transform = `translate3d(${marineX.toFixed(2)}vw,${marineY.toFixed(2)}vh,0) rotate(${marineR.toFixed(2)}deg) scale(${panelScale.toFixed(4)})`;\n        autoCard.style.opacity = panelOpacity.toFixed(3);\n        marineCard.style.opacity = panelOpacity.toFixed(3);\n        if (pathIntro) {\n          const introEnter = smooth(p \/ .20);\n          const introExit = smooth((p - .78) \/ .22);\n          pathIntro.style.transform = `translate3d(0,${(lerp(76,0,introEnter) + lerp(0,-92,introExit)).toFixed(1)}px,0)`;\n          pathIntro.style.opacity = `${clamp(lerp(.12,1,introEnter) - .72 * introExit,.08,1).toFixed(3)}`;\n        }\n        if (autoPhoto) autoPhoto.style.transform = `scale(${(lerp(1.13,1.015,enter) + .035 * exit).toFixed(4)})`;\n        if (marinePhoto) marinePhoto.style.transform = `scale(${(lerp(1.13,1.015,enter) + .035 * exit).toFixed(4)})`;\n        if (roadGhost) roadGhost.style.transform = `translate3d(${lerp(-90,90,p).toFixed(1)}px,0,0)`;\n        if (waterGhost) waterGhost.style.transform = `translate3d(${lerp(90,-90,p).toFixed(1)}px,0,0)`;\n      }\n\n      if (!desktopScenes && values && steps.length) {\n        steps.forEach(step => { step.style.opacity = ''; step.style.transform = ''; });\n      }\n\n      if (visit) {\n        const p = sectionProgress(visit);\n        if (visitCopy && tabletUp) visitCopy.style.translate = `0 ${lerp(26,-14,p).toFixed(1)}px`;\n        if (visitSide && tabletUp) visitSide.style.translate = `0 ${lerp(-18,18,p).toFixed(1)}px`;\n        if (locationImage) locationImage.style.objectPosition = `50% ${lerp(44,57,p).toFixed(2)}%`;\n      }\n\n      if (footer) {\n        const p = sectionProgress(footer);\n        if (footerClosing) {\n          footerClosing.style.translate = `0 ${lerp(34,0,p).toFixed(1)}px`;\n          footerClosing.style.opacity = `${lerp(.58,1,p).toFixed(3)}`;\n        }\n        if (footerDetails) {\n          const delayed = clamp((p - .08) \/ .92);\n          footerDetails.style.translate = `0 ${lerp(28,0,delayed).toFixed(1)}px`;\n          footerDetails.style.opacity = `${lerp(.62,1,delayed).toFixed(3)}`;\n        }\n      }\n    }\n    scrollFrame = 0;\n  };\n\n  const requestPaint = () => {\n    if (!scrollFrame) scrollFrame = requestAnimationFrame(paintScrollScene);\n  };\n  window.addEventListener('scroll', requestPaint, { passive:true });\n  window.addEventListener('resize', () => {\n    configureScenes();\n    requestPaint();\n  }, { passive:true });\n  paintScrollScene();\n\n  if (!reduce && window.matchMedia('(pointer:fine)').matches) {\n    root.querySelectorAll('.cam-ab-path-card').forEach(card => {\n      card.addEventListener('pointermove',event => {\n        const rect = card.getBoundingClientRect();\n        card.style.setProperty('--cam-pointer-x',`${event.clientX - rect.left}px`);\n        card.style.setProperty('--cam-pointer-y',`${event.clientY - rect.top}px`);\n      });\n      card.addEventListener('pointerleave',() => {\n        card.style.removeProperty('--cam-pointer-x');\n        card.style.removeProperty('--cam-pointer-y');\n      });\n    });\n  }\n\n  if (!footer || footer.dataset.initialized) return;\n  footer.dataset.initialized = 'true';\n  const year = footer.querySelector('[data-cam-year]');\n  if (year) year.textContent = String(new Date().getFullYear());\n  const topButton = footer.querySelector('.cam-f-top');\n  if (!topButton || window.top !== window.self) return;\n  const updateTopButton = () => { topButton.hidden = window.scrollY < 400; };\n  window.addEventListener('scroll', updateTopButton, { passive:true });\n  topButton.addEventListener('click', () => window.scrollTo({ top:0, behavior:reduce ? 'auto' : 'smooth' }));\n  updateTopButton();\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>SEDRO-WOOLLEY, WASHINGTONAUTOMOTIVE MARINE HomeServicesMarineAbout Us LET\u2019S TALK SERVICE(360) 855-2059 EXPLORE CASCADEHome 01Services 02Marine 03About Us 04Call (360) 855-2059 \u2197 304 E State StreetSedro-Woolley, WA 98284 ABOUT CASCADE AUTO &amp; MARINE Local service.Straight answers. Cascade Auto and Marine serves drivers and boat owners from our shop in Sedro-Woolley, Washington, with practical automotive and marine service built [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-33","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/staging8.gmportal.net\/index.php?rest_route=\/wp\/v2\/pages\/33","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/staging8.gmportal.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/staging8.gmportal.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/staging8.gmportal.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/staging8.gmportal.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=33"}],"version-history":[{"count":0,"href":"https:\/\/staging8.gmportal.net\/index.php?rest_route=\/wp\/v2\/pages\/33\/revisions"}],"wp:attachment":[{"href":"https:\/\/staging8.gmportal.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=33"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}