

:root {

    --font-heading: "Poppins", sans-serif;
    --font-body: "Inter", sans-serif;
    --font-main: "Segoe UI", sans-serif;
    --primary: #6b4f3a;
    --secondary: #a67c52;
    --accent: #8cbf9f;
    --bg-light: #f8f5f0;
    --bg-section: #f1e7dc;
    --white: #ffffff;
    --text: #2d2d2d;

  --section-light-bg: #f6f1e8;
  --section-light-text: #1f2421;
  --section-light-muted: #5f665f;

  --section-light-card: #fffaf2;

  --section-light-accent: #17211d;
  --section-light-hover: #c8794a;

  --section-dark-bg: #17211d;
  --section-dark-text: #ffffff;
  --section-dark-muted: #d8c3aa;

  --section-dark-card: #1f2b29;

  --section-dark-accent: #ffffff;
  --section-dark-hover: #c8794a;

  --ft-bg: #6b4f3a;
  --ft-icons: #a67c52;
  --ft-hover: #8cbf9f;
  --ft-text: #fdfdfd;

  --section-padding: 60px 20px;
  --container-width: 90%;

  --transition-flows: transform 0.25s ease-in-out, opacity 0.25s ease-in-out;

  --shadow-soft: 0 8px 20px rgba(0, 0, 0, 0.05);
  --shadow-hover: 0 16px 35px rgba(0, 0, 0, 0.1);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent !important;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 110px;
}

html,
body {
    overflow-x: clip;
}

:focus:not(:focus-visible) {
    outline: none;
}

body {
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.7;
    color: var(--section-light-text);
    background-color: var(--section-light-bg);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-bottom: 20px;
    font-family: var(--font-heading);
    line-height: 1.1;
    font-weight: 700;
    color: var(--section-light-text);
}

h1 {
    font-size: clamp(2.4rem, 5vw, 3.6rem);
}

h2 {
    font-size: clamp(2rem, 4vw, 3rem);
}

h3 {
    font-size: clamp(1.35rem, 2.5vw, 2rem);
}

p {
    margin-bottom: 15px;
    font-family: var(--font-body);
    font-size: clamp(0.95rem, 1vw, 1.05rem);
    line-height: 1.75;
}

a {
    color: inherit;
    text-decoration: none;
}

.contact-txt,
.section-kicker {
    font-family: var(--font-heading);
}

body,
p,
a,
strong,
span,
label,
li,
button,
input,
textarea,
select {
    font-family: var(--font-body);
}

section {
    margin: 0;
    padding: 0;
}

.paw-icon::before {
    background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><g fill='%2317211d'><circle cx='6' cy='8' r='2'/><circle cx='18' cy='8' r='2'/><circle cx='10' cy='6' r='2'/><circle cx='14' cy='6' r='2'/><ellipse cx='12' cy='15' rx='5' ry='4'/></g></svg>");
}

.dog-icon::before {
    background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path fill='%2317211d' d='M5 13c0-3 2-5 5-5h3c3 0 6 2 6 5s-3 6-7 6h-1c-4 0-6-3-6-6z'/></svg>");
}

.target-icon::before {
    background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><circle cx='12' cy='12' r='9' fill='%2317211d'/><circle cx='12' cy='12' r='5' fill='white'/><circle cx='12' cy='12' r='2' fill='%2317211d'/></svg>");
}

.home-icon::before {
    background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path fill='%2317211d' d='M12 4l8 7h-2v8h-4v-5H10v5H6v-8H4z'/></svg>");
}

.lightning-icon::before {
    background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path fill='%2317211d' d='M13 2L6 13h5l-1 9 8-12h-5z'/></svg>");
}

.leash-icon::before {
    background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path d='M3 14c4-6 8-6 12 0s6 6 6 2' fill='none' stroke='%2317211d' stroke-width='2' stroke-linecap='round'/></svg>");
}

.ball-icon::before {
    background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><circle cx='12' cy='12' r='8' fill='%2317211d'/><path d='M12 4a8 8 0 0 0 0 16M4 12h16' stroke='white' stroke-width='1.5' fill='none'/></svg>");
}

.chat-icon::before {
    background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path fill='%2317211d' d='M4 5h16v10H9l-5 4v-4H4z'/></svg>");
}

h2::after {
    content: "";
    display: block;
    width: 90px;
    height: 3px;
    margin: 12px auto 0;
    background: var(--section-light-hover);
    border-radius: 999px;
    transition: width 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

h2:hover::after {
    width: 120px;
}

.pricing-section h2::after,
.about-section h2::after,
.reviews-section h2::after {
    content: none;
}

.overlay-spawn {
    position: fixed;
    inset: 0;
    z-index: 1000;
    pointer-events: none;
    background: rgba(246, 241, 232, 0.1);
    backdrop-filter: blur(5px);
    animation: fadeOut 1.5s ease-out forwards;
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

section > * {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

section.visible > * {
    opacity: 1;
    transform: translateY(0);
}

/* Copyright RZU Informatique */
