<!-- RUFFIN INN WELCOME PAGE — WordPress Paste-Ready -->
<!-- Create a new PAGE in WordPress. Set template to "Full Width" or "Blank" (no header/footer). -->
<!-- Paste this entire block into a Custom HTML block. -->

<!-- GA4 -->
<script async src="https://www.googletagmanager.com/gtag/js?id=GT-T9HSCPK6"></script>
<script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag('js',new Date());gtag('config','GT-T9HSCPK6');</script>
<!-- Meta Pixel -->
<script>
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','https://connect.facebook.net/en_US/fbevents.js');
fbq('init','1548386640182076');
fbq('track','PageView');
</script>

<style>
.ri-welcome *, .ri-welcome *::before, .ri-welcome *::after { box-sizing: border-box; margin: 0; padding: 0; }
.ri-welcome { font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif; color: #1a1a1a; line-height: 1.6; -webkit-font-smoothing: antialiased; }
.ri-welcome img { max-width: 100%; height: auto; display: block; }

.ri-hero {
  background: linear-gradient(165deg, #1a1a1a 0%, #2c1810 50%, #96281b 100%);
  color: #fff; padding: 48px 24px 40px; text-align: center; position: relative; overflow: hidden;
}
.ri-hero::before {
  content: ''; position: absolute; inset: 0;
  background: url('https://ruffininn.com/wp-content/uploads/2026/04/photo-52.webp') center/cover;
  opacity: 0.2;
}
.ri-hero-inner { position: relative; max-width: 600px; margin: 0 auto; }
.ri-hero-logo { height: 40px; margin: 0 auto 20px; }
.ri-hero h1 { font-size: clamp(1.6rem, 5vw, 2.2rem); font-weight: 800; line-height: 1.15; letter-spacing: -0.02em; margin-bottom: 12px; }
.ri-hero h1 em { font-style: normal; color: #e74c3c; }
.ri-hero p { font-size: 1rem; opacity: 0.85; margin-bottom: 20px; max-width: 480px; margin-left: auto; margin-right: auto; }
.ri-trust-bar { display: flex; justify-content: center; gap: 24px; flex-wrap: wrap; margin-bottom: 8px; }
.ri-trust-item { display: flex; align-items: center; gap: 6px; font-size: 0.85rem; font-weight: 600; opacity: 0.9; }
.ri-stars { color: #f5c518; letter-spacing: 1px; }

.ri-main { max-width: 520px; margin: -24px auto 0; padding: 0 16px 32px; position: relative; z-index: 2; }

.ri-form-card {
  background: #fff; border-radius: 16px; padding: 28px 24px;
  box-shadow: 0 8px 40px rgba(0,0,0,0.1), 0 1px 3px rgba(0,0,0,0.06);
}
.ri-form-card h2 { font-size: 1.2rem; font-weight: 700; text-align: center; margin-bottom: 4px; }
.ri-form-sub { text-align: center; font-size: 0.88rem; color: #6b6b6b; margin-bottom: 20px; }
.ri-form-group { margin-bottom: 14px; }
.ri-form-group label { display: block; font-size: 0.82rem; font-weight: 600; color: #3a3a3a; margin-bottom: 4px; }
.ri-form-group input, .ri-form-group select {
  width: 100%; padding: 12px 14px; border: 1.5px solid #d1d1d1; border-radius: 10px;
  font-family: inherit; font-size: 1rem; color: #1a1a1a; background: #fff;
  transition: border-color 0.2s; -webkit-appearance: none;
}
.ri-form-group input:focus, .ri-form-group select:focus { outline: none; border-color: #c0392b; box-shadow: 0 0 0 3px rgba(192,57,43,0.1); }
.ri-form-group input::placeholder { color: #d1d1d1; }
.ri-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

.ri-submit-btn {
  width: 100%; padding: 14px; background: #c0392b; color: #fff;
  font-size: 1rem; font-weight: 700; border: none; border-radius: 10px;
  cursor: pointer; transition: background 0.2s, transform 0.15s; margin-top: 4px; position: relative;
}
.ri-submit-btn:hover { background: #e74c3c; transform: translateY(-1px); }
.ri-submit-btn:disabled { opacity: 0.7; cursor: not-allowed; transform: none; }
.ri-spinner {
  display: none; width: 18px; height: 18px;
  border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%;
  animation: ri-spin 0.6s linear infinite; position: absolute; right: 16px; top: 50%; transform: translateY(-50%);
}
@keyframes ri-spin { to { transform: translateY(-50%) rotate(360deg); } }
.ri-error { display: none; background: #fef2f2; color: #96281b; padding: 10px 14px; border-radius: 8px; font-size: 0.88rem; margin-top: 12px; }
.ri-success { display: none; text-align: center; padding: 32px 16px; }
.ri-success h3 { font-size: 1.3rem; font-weight: 700; margin-bottom: 8px; }
.ri-success p { font-size: 0.95rem; color: #6b6b6b; margin-bottom: 16px; }
.ri-success a { color: #c0392b; font-weight: 600; text-decoration: underline; }

.ri-or { display: flex; align-items: center; gap: 12px; margin: 16px 0; color: #6b6b6b; font-size: 0.82rem; font-weight: 500; }
.ri-or::before, .ri-or::after { content: ''; flex: 1; height: 1px; background: #d1d1d1; }
.ri-alt-cta { display: flex; gap: 10px; }
.ri-alt-btn {
  flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px;
  padding: 12px; border: 1.5px solid #d1d1d1; border-radius: 10px;
  font-size: 0.88rem; font-weight: 600; color: #3a3a3a; text-decoration: none; transition: border-color 0.2s, color 0.2s;
}
.ri-alt-btn:hover { border-color: #c0392b; color: #c0392b; }

.ri-bullets { margin-top: 20px; padding: 20px 0 0; border-top: 1px solid #f4f4f4; }
.ri-bullet-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ri-bullet { display: flex; align-items: flex-start; gap: 8px; font-size: 0.88rem; color: #3a3a3a; line-height: 1.4; }
.ri-bullet-icon {
  flex-shrink: 0; width: 20px; height: 20px; background: #f0fdf4; color: #16a34a;
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: 0.7rem; font-weight: 700; margin-top: 1px;
}

.ri-reviews { margin-top: 20px; padding: 16px 0 0; border-top: 1px solid #f4f4f4; }
.ri-reviews-label { font-size: 0.78rem; font-weight: 600; color: #6b6b6b; text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 10px; text-align: center; }
.ri-review-card { background: #f4f4f4; border-radius: 10px; padding: 14px 16px; margin-bottom: 8px; }
.ri-review-text { font-size: 0.88rem; color: #3a3a3a; font-style: italic; line-height: 1.5; }
.ri-review-name { font-size: 0.8rem; font-weight: 600; color: #1a1a1a; margin-top: 6px; }
.ri-review-stars { color: #f5c518; font-size: 0.75rem; }

.ri-photos { display: flex; gap: 8px; margin-top: 16px; overflow: hidden; border-radius: 10px; }
.ri-photos img { width: 25%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; }

.ri-mobile-call {
  display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 50;
  background: #96281b; padding: 12px; text-align: center;
}
.ri-mobile-call a { color: #fff; font-weight: 700; font-size: 1rem; text-decoration: none; display: flex; align-items: center; justify-content: center; gap: 8px; }

@media (max-width: 600px) {
  .ri-hero { padding: 36px 20px 32px; }
  .ri-hero h1 { font-size: 1.5rem; }
  .ri-main { padding: 0 12px 80px; }
  .ri-form-card { padding: 24px 18px; }
  .ri-form-row { grid-template-columns: 1fr; }
  .ri-bullet-grid { grid-template-columns: 1fr; }
  .ri-mobile-call { display: block; }
}
</style>

<div class="ri-welcome">
  <div class="ri-hero">
    <div class="ri-hero-inner">
      <img src="https://ruffininn.com/wp-content/uploads/2026/04/logo-1.svg" alt="Ruffin Inn" class="ri-hero-logo">
      <h1>Where Your Dog Becomes Part of <em>Our Family</em></h1>
      <p>Safe, structured, joyful care for dogs who deserve more than a kennel. Buffalo, MN.</p>
      <div class="ri-trust-bar">
        <div class="ri-trust-item"><span class="ri-stars">&#9733;&#9733;&#9733;&#9733;&#9733;</span> 4.96 rating</div>
        <div class="ri-trust-item">350+ happy families</div>
      </div>
    </div>
  </div>

  <div class="ri-main">
    <div class="ri-form-card">
      <h2>Tell Us About Your Dog</h2>
      <p class="ri-form-sub">We'll reach out within a few hours to help get you set up.</p>

      <form id="riLeadForm" autocomplete="on">
        <div class="ri-form-group">
          <label for="ri-fname">Your Name</label>
          <input type="text" id="ri-fname" name="name" placeholder="First and last name" required autocomplete="name">
        </div>
        <div class="ri-form-row">
          <div class="ri-form-group">
            <label for="ri-fphone">Phone</label>
            <input type="tel" id="ri-fphone" name="phone" placeholder="(___) ___-____" required autocomplete="tel">
          </div>
          <div class="ri-form-group">
            <label for="ri-fservice">Interested In</label>
            <select id="ri-fservice" name="service_interest" required>
              <option value="" disabled selected>Select...</option>
              <option value="boarding">Boarding</option>
              <option value="daycare">Daycare</option>
              <option value="grooming">Grooming</option>
              <option value="training">Training</option>
              <option value="not_sure">Not sure yet</option>
            </select>
          </div>
        </div>
        <button type="submit" class="ri-submit-btn" id="riFormSubmit">
          <span id="riFormBtnText">Get Started</span>
          <span class="ri-spinner" id="riFormSpinner"></span>
        </button>
      </form>

      <div class="ri-error" id="riFormError"></div>
      <div class="ri-success" id="riFormSuccess">
        <h3>Got it!</h3>
        <p>We'll be in touch soon. In the meantime, you can book a tour directly:</p>
        <a href="https://calendly.com/ruffininninc/ruffin-inn-tour">Schedule a Free Tour</a>
      </div>

      <div class="ri-or">or</div>
      <div class="ri-alt-cta">
        <a href="https://calendly.com/ruffininninc/ruffin-inn-tour" class="ri-alt-btn">&#128197; Book a Tour</a>
        <a href="tel:+17633302355" class="ri-alt-btn">&#128222; (763) 330-2355</a>
      </div>

      <div class="ri-bullets">
        <div class="ri-bullet-grid">
          <div class="ri-bullet"><span class="ri-bullet-icon">&#10003;</span> Small, structured playgroups</div>
          <div class="ri-bullet"><span class="ri-bullet-icon">&#10003;</span> Real photo updates daily</div>
          <div class="ri-bullet"><span class="ri-bullet-icon">&#10003;</span> Trainer on staff</div>
          <div class="ri-bullet"><span class="ri-bullet-icon">&#10003;</span> Boarding from $49/night</div>
          <div class="ri-bullet"><span class="ri-bullet-icon">&#10003;</span> Daycare from $25/day</div>
          <div class="ri-bullet"><span class="ri-bullet-icon">&#10003;</span> Open 7 days a week</div>
        </div>
      </div>

      <div class="ri-reviews">
        <div class="ri-reviews-label">What families are saying</div>
        <div class="ri-review-card">
          <div class="ri-review-stars">&#9733;&#9733;&#9733;&#9733;&#9733;</div>
          <div class="ri-review-text">"We love Ruffin Inn! Our anxious pup is a completely different dog after a day there. The staff genuinely cares and the updates throughout the day give us total peace of mind."</div>
          <div class="ri-review-name">Sarah M. &mdash; Google Review</div>
        </div>
        <div class="ri-review-card">
          <div class="ri-review-stars">&#9733;&#9733;&#9733;&#9733;&#9733;</div>
          <div class="ri-review-text">"Best boarding experience we've ever had. Our dog was exhausted and happy when we picked him up. You can tell they actually play with the dogs here."</div>
          <div class="ri-review-name">Mike R. &mdash; Google Review</div>
        </div>
      </div>

      <div class="ri-photos">
        <img src="https://ruffininn.com/wp-content/uploads/2026/04/photo-20.webp" alt="Dogs at Ruffin Inn" loading="lazy">
        <img src="https://ruffininn.com/wp-content/uploads/2026/04/photo-23.webp" alt="Dogs at Ruffin Inn" loading="lazy">
        <img src="https://ruffininn.com/wp-content/uploads/2026/04/photo-32.webp" alt="Dogs at Ruffin Inn" loading="lazy">
        <img src="https://ruffininn.com/wp-content/uploads/2026/04/photo-34.webp" alt="Dogs at Ruffin Inn" loading="lazy">
      </div>
    </div>
  </div>

  <div class="ri-mobile-call">
    <a href="tel:+17633302355">&#128222; Call (763) 330-2355</a>
  </div>
</div>

<script>
(function() {
  var params = new URLSearchParams(window.location.search);
  ['utm_source','utm_medium','utm_campaign','utm_term','utm_content','fbclid'].forEach(function(k) {
    var v = params.get(k);
    if (v) sessionStorage.setItem(k, v);
  });

  var form = document.getElementById('riLeadForm');
  var submitBtn = document.getElementById('riFormSubmit');
  var btnText = document.getElementById('riFormBtnText');
  var spinner = document.getElementById('riFormSpinner');
  var errorBox = document.getElementById('riFormError');
  var successBox = document.getElementById('riFormSuccess');

  form.addEventListener('submit', function(e) {
    e.preventDefault();
    errorBox.style.display = 'none';
    var name = form.elements.name.value.trim();
    var phone = form.elements.phone.value.trim();
    var service = form.elements.service_interest.value;
    if (!name || !phone || !service) { errorBox.textContent = 'Please fill in all fields.'; errorBox.style.display = 'block'; return; }

    submitBtn.disabled = true; btnText.textContent = 'Sending...'; spinner.style.display = 'block';
    var utmSource = sessionStorage.getItem('utm_source') || '';
    var payload = {
      name: name, email: '', phone: phone, service_interest: service,
      heard_about: 'facebook_ad', referred_by: '', source: 'facebook_ad', stage: 'lead', pet_type: 'dog',
      utm_source: utmSource || 'facebook', utm_medium: sessionStorage.getItem('utm_medium') || 'paid',
      utm_campaign: sessionStorage.getItem('utm_campaign') || '',
      utm_term: sessionStorage.getItem('utm_term') || '',
      utm_content: sessionStorage.getItem('utm_content') || '',
      fbclid: sessionStorage.getItem('fbclid') || '',
      landing_page: window.location.pathname
    };

    fetch('https://ruudalysis.duckdns.org/hub/api/leads', {
      method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload)
    })
    .then(function(res) {
      if (!res.ok) throw new Error('Server returned ' + res.status);
      form.style.display = 'none';
      document.querySelector('.ri-or').style.display = 'none';
      document.querySelector('.ri-alt-cta').style.display = 'none';
      successBox.style.display = 'block';
      if (typeof gtag === 'function') {
        gtag('event', 'generate_lead', { event_category: 'lead_form', event_label: 'facebook_ad', value: 50, currency: 'USD', service_interest: payload.service_interest, utm_source: payload.utm_source, utm_campaign: payload.utm_campaign });
      }
      if (typeof fbq === 'function') {
        fbq('track', 'Lead', { content_name: payload.service_interest || 'general', content_category: 'lead_form', value: 50.00, currency: 'USD' });
      }
    })
    .catch(function() { errorBox.textContent = 'Something went wrong. Please try again or call us at (763) 330-2355.'; errorBox.style.display = 'block'; })
    .finally(function() { submitBtn.disabled = false; btnText.textContent = 'Get Started'; spinner.style.display = 'none'; });
  });
})();
</script>
Call Ruffin Inn — 763-682-4247