/* rascue.com — shared stylesheet
   Upload to: wp-content/plugins/rascue-com-assets/assets/rascue-com.css
   Loaded by rascue-com-assets.php (see that file). Everything is scoped
   under .rascue-com and force-reset first, so Astra's theme styles can't
   bleed through — no need to fight it with scattered !important rules. */

:root {
  --rascue-primary: #1a6b5a;
  --rascue-primary-dark: #0b3b3a;
  --rascue-accent: #e8a020;
  --rascue-ink: #1c1f1e;
  --rascue-muted: #5b645f;
  --rascue-bg: #fbfaf7;
  --rascue-bg-alt: #f1f5f2;
  --rascue-surface: #ffffff;
  --rascue-border: #e6e6e1;
  --rascue-shadow: rgba(15, 66, 56, 0.10);
  --rascue-radius: 14px;
}

/* 1. Neutralize Astra/theme styles, then rebuild our own.
   IMPORTANT: keep this selector at exactly ".rascue-com, .rascue-com *"
   (specificity 0,1,0) — every other rule in this file relies on beating
   it either with 2+ classes, or as a single class/type combo that wins
   on source order alone (e.g. ".rascue-com section", ".ub-page").
   We deliberately do NOT use "all: revert" here: that also resets SVG
   geometry properties (d, cx, cy, r are real CSS properties in modern
   browsers, not just attributes), which silently collapses every
   hand-drawn icon to zero-size. Instead we only revert the specific
   properties Astra's theme actually overrides. */
.rascue-com,
.rascue-com * {
  margin: revert;
  padding: revert;
  font: revert;
  line-height: revert;
  letter-spacing: revert;
  color: revert;
  text-decoration: revert;
  text-transform: revert;
  list-style: revert;
  border: revert;
  border-radius: revert;
  background: revert;
  box-shadow: revert;
  text-align: revert;
  box-sizing: border-box;
}

.rascue-com {
  display: block;
  font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 17px;
  line-height: 1.7;
  color: var(--rascue-ink);
  background: var(--rascue-bg);
  -webkit-font-smoothing: antialiased;
}

.rascue-com * { font-family: inherit; }
.rascue-com a { color: var(--rascue-primary); text-decoration: none; cursor: pointer; }
.rascue-com ul { list-style: none; margin: 0; padding: 0; }
.rascue-com img { max-width: 100%; display: block; }
.rascue-com h1, .rascue-com h2, .rascue-com h3 { font-weight: 800; letter-spacing: -0.015em; margin: 0; }

/* 2. Header */
.rascue-com .site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 48px;
  background: #ffffff;
  border-bottom: 1px solid var(--rascue-border);
  box-shadow: 0 2px 14px rgba(11,59,58,0.05);
  position: sticky;
  top: 0;
  z-index: 20;
  transition: box-shadow 0.2s ease;
}
.rascue-com .site-header.is-scrolled {
  box-shadow: 0 6px 24px rgba(11,59,58,0.10);
}

.rascue-com .logo {
  font-size: 23px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--rascue-primary-dark) !important;
}

.rascue-com ul.main-nav {
  display: flex;
  align-items: center;
  gap: 32px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.rascue-com ul.main-nav li { display: block; }
.rascue-com ul.main-nav a {
  color: var(--rascue-ink) !important;
  font-size: 15px;
  font-weight: 600;
  transition: color 0.15s ease;
}
.rascue-com ul.main-nav a:hover,
.rascue-com ul.main-nav a.active { color: var(--rascue-primary) !important; }

.rascue-com .nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 34px;
  height: 34px;
  border: none;
  background: transparent;
  padding: 0;
}
.rascue-com .nav-toggle span {
  display: block;
  height: 2px;
  width: 100%;
  background: var(--rascue-primary-dark);
  border-radius: 2px;
}

/* 3. Hero */
.rascue-com .hero {
  padding: 110px 40px 90px;
  text-align: center;
  background:
    radial-gradient(circle at 12% 15%, rgba(27,111,92,0.10), transparent 42%),
    radial-gradient(circle at 88% 8%, rgba(242,169,0,0.10), transparent 42%),
    linear-gradient(180deg, #fff 0%, var(--rascue-bg) 100%);
}
.rascue-com .hero.hero-small { padding: 74px 40px 60px; }
.rascue-com .hero h1 {
  font-size: clamp(32px, 4.5vw, 48px);
  line-height: 1.15;
  color: var(--rascue-primary-dark);
  margin-bottom: 20px;
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
}
.rascue-com .hero p.tagline {
  font-size: 19px;
  color: var(--rascue-muted);
  max-width: 660px;
  margin: 0 auto;
}

/* 4. Sections */
.rascue-com section, .rascue-com > div.legal-page {
  max-width: 1000px;
  margin: 0 auto;
  padding: 68px 40px;
}
.rascue-com section h2 {
  font-size: 29px;
  color: var(--rascue-primary-dark);
  margin-bottom: 14px;
}
.rascue-com section > p.section-lede {
  color: var(--rascue-muted);
  font-size: 16.5px;
  max-width: 700px;
  margin-bottom: 30px;
}
.rascue-com section p { margin: 0 0 16px; }
.rascue-com section p:last-child { margin-bottom: 0; }

.rascue-com .more-link {
  display: inline-block;
  margin-top: 10px;
  font-weight: 700;
  color: var(--rascue-primary) !important;
}
.rascue-com .more-link:hover { color: var(--rascue-primary-dark) !important; }

/* 5. Product cards */
.rascue-com .product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
  margin-top: 8px;
}
.rascue-com .product-card {
  border: 1px solid var(--rascue-border);
  border-radius: var(--rascue-radius);
  padding: 32px;
  background: var(--rascue-surface);
  transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.rascue-com .product-card:hover {
  box-shadow: 0 16px 36px var(--rascue-shadow);
  transform: translateY(-4px);
  border-color: transparent;
}
.rascue-com .product-card h3 { font-size: 20px; color: var(--rascue-primary-dark); margin-bottom: 10px; }
.rascue-com .product-card p { color: var(--rascue-muted); font-size: 15px; }
.rascue-com .badge-progress {
  display: inline-block;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #7a5300;
  background: #fdf1d6;
  padding: 5px 12px;
  border-radius: 20px;
  margin-bottom: 16px;
}
.rascue-com .product-card a.product-link {
  display: inline-block;
  margin-top: 14px;
  font-size: 14px;
  font-weight: 700;
  color: var(--rascue-primary) !important;
}
.rascue-com .product-card a.product-link:hover { color: var(--rascue-primary-dark) !important; }

/* 6a. Problem + Steps sections (Home page) */
.rascue-com .steps-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 26px;
  margin-top: 8px;
}
.rascue-com .step-card {
  padding: 30px 26px 28px;
  background: var(--rascue-surface);
  border: 1px solid var(--rascue-border);
  border-radius: var(--rascue-radius);
}
.rascue-com .step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--rascue-primary);
  color: #fff !important;
  font-weight: 800;
  font-size: 15px;
  margin-bottom: 16px;
}
.rascue-com .step-card h3 { font-size: 18px; color: var(--rascue-primary-dark); margin-bottom: 8px; }
.rascue-com .step-card p { font-size: 14.5px; color: var(--rascue-muted); margin: 0; }

/* 6. Values + team grids (About page) */
.rascue-com .values-grid, .rascue-com .team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 22px;
  margin-top: 8px;
}
.rascue-com .value-card {
  background: var(--rascue-bg-alt);
  border-radius: var(--rascue-radius);
  padding: 26px;
}
.rascue-com .value-card h3 { font-size: 17px; color: var(--rascue-primary-dark); margin-bottom: 8px; }
.rascue-com .value-card p { margin: 0; font-size: 14.5px; color: var(--rascue-muted); }

.rascue-com .team-card {
  border: 1px solid var(--rascue-border);
  border-radius: var(--rascue-radius);
  padding: 26px;
  background: var(--rascue-surface);
  text-align: center;
}
.rascue-com .team-card .name { font-weight: 800; color: var(--rascue-primary-dark); font-size: 16px; }
.rascue-com .team-card .role { color: var(--rascue-muted); font-size: 14px; margin-top: 4px; }

/* 7. Contact */
.rascue-com .contact-box {
  text-align: center;
  background: linear-gradient(180deg, #fff, var(--rascue-bg-alt));
  border: 1px solid var(--rascue-border);
  border-radius: var(--rascue-radius);
  padding: 52px 40px;
}
.rascue-com .contact-box p { color: var(--rascue-muted); margin-bottom: 16px; }
.rascue-com .contact-box a.email-link {
  display: inline-block;
  font-size: 17px;
  font-weight: 800;
  color: #fff !important;
  background: var(--rascue-primary);
  padding: 14px 30px;
  border-radius: 30px;
  transition: background 0.15s ease, transform 0.15s ease;
}
.rascue-com .contact-box a.email-link:hover {
  background: var(--rascue-primary-dark);
  transform: translateY(-2px);
}

/* 8. Footer */
.rascue-com .site-footer {
  background: var(--rascue-primary-dark);
  color: #cfe0da;
  padding: 48px 40px 40px;
  text-align: center;
  font-size: 14px;
}
.rascue-com .site-footer a { color: #cfe0da !important; }
.rascue-com .site-footer a:hover { color: #fff !important; }
.rascue-com .site-footer .copyright { color: #7f9a92; margin-top: 20px; font-size: 13px; }

.rascue-com .site-footer ul.footer-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
}
.rascue-com .site-footer ul.footer-links li { display: flex; align-items: center; }
.rascue-com .site-footer ul.footer-links li a { padding: 4px 12px; }
.rascue-com .site-footer ul.footer-links li:not(:last-child)::after {
  content: "·";
  color: #7f9a92;
}

.rascue-com .rascue-social-icons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 4px 0 22px;
}
.rascue-com .rascue-social-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid rgba(207,224,218,0.35);
  color: #cfe0da !important;
  font-size: 12.5px;
  font-weight: 800;
  transition: background 0.15s ease, color 0.15s ease;
}
.rascue-com .rascue-social-btn:hover { background: #cfe0da; color: var(--rascue-primary-dark) !important; }
.rascue-com .rascue-social-btn svg { width: 18px; height: 18px; display: block; }

/* 9. Legal pages */
.rascue-com .legal-page { padding: 68px 40px; }
.rascue-com .legal-page h1 { color: var(--rascue-primary-dark); font-size: 33px; }
.rascue-com .legal-page h2 { font-size: 20px; margin-top: 34px; margin-bottom: 10px; color: var(--rascue-primary-dark); }
.rascue-com .legal-page p, .rascue-com .legal-page li { color: var(--rascue-ink); font-size: 15px; }
.rascue-com .legal-page ul { list-style: disc; padding-left: 22px; margin-bottom: 16px; }
.rascue-com .legal-page li { margin-bottom: 6px; }
.rascue-com .legal-page .updated { color: var(--rascue-muted); font-size: 13.5px; margin-top: 30px; }

/* 11. About page — rich story layout (ub-*)
   NOTE: authored for 'Plus Jakarta Sans' / 'Space Grotesk'. Those fonts
   are NOT loaded here (no external font CDN, to keep the no-third-party-
   cookies stance from the Cookie-Richtlinie) — everything falls back to
   system-ui cleanly. Self-host the two font files later if you want the
   exact rascue.de look. Colors below use the site's shared variables so
   this page stays in sync if the palette ever changes. */
.rascue-com .ub-page {
  max-width: 950px;
  margin: 0 auto;
  padding: 0 1.5rem 5rem;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  color: #27302b;
}
.rascue-com .ub-page * { box-sizing: border-box; }
.ub-page .ub-back {
  display: flex; align-items: center; gap: 6px; width: fit-content;
  font-size: 13px; font-weight: 600; color: #6b7068 !important;
  text-decoration: none; margin: 0.5rem 0 1.5rem; transition: color .2s;
}
.ub-page .ub-back:hover { color: var(--rascue-primary-dark) !important; }
.ub-page .ub-eyebrow {
  display: block; width: fit-content;
  background: var(--rascue-accent); color: #1a0f00;
  font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
  padding: 4px 14px; border-radius: 999px; margin-bottom: 1.25rem;
}
.ub-page .ub-hero {
  background: linear-gradient(150deg, #f5fbf8 0%, #fff 60%);
  border: 1px solid #ddeee6;
  border-radius: 20px;
  padding: 2rem 2rem 1.75rem;
  margin-bottom: 2.5rem;
  box-shadow: 0 8px 28px rgba(11,59,58,.06);
  position: relative;
  overflow: hidden;
}
.ub-page .ub-hero::before {
  content: '';
  position: absolute; top: -60px; right: -60px;
  width: 220px; height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(232,160,32,.12) 0%, transparent 70%);
  pointer-events: none;
}
.ub-page .ub-hero-tag {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(11,59,58,.07); color: var(--rascue-primary-dark);
  border-radius: 999px; padding: 5px 13px;
  font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  margin-bottom: 1.1rem;
}
.ub-page .ub-hero-tag span {
  width: 6px; height: 6px; border-radius: 50%; background: var(--rascue-accent); flex-shrink: 0;
}
.ub-page .ub-hero h1 {
  font-family: 'Space Grotesk', system-ui, sans-serif;
  font-size: clamp(1.7rem, 3vw, 2.2rem);
  font-weight: 800; letter-spacing: -.03em; line-height: 1.15;
  color: var(--rascue-primary-dark); margin: 0 0 1.25rem;
}
.ub-page .ub-hero h1 em { font-style: normal; color: var(--rascue-accent); }
.ub-page .ub-hero-impact {
  border-top: 1px solid #ddeee6; margin-top: .25rem; padding-top: 1.25rem;
}
.ub-page .ub-hero-impact-q {
  font-size: clamp(1rem, 2vw, 1.2rem);
  font-weight: 700; color: var(--rascue-primary-dark); line-height: 1.5;
  margin: 0 0 .5rem;
}
.ub-page .ub-hero-impact-sub { font-size: 14.5px; color: #5d6762; line-height: 1.7; margin: 0; }
.ub-page .ub-hero-p { font-size: 15.5px; color: #39423d; line-height: 1.8; margin: 0 0 .85rem; }
.ub-page .ub-hero-p strong { color: var(--rascue-primary-dark); }
.ub-page .ub-hero-p:last-of-type { margin-bottom: 0; }
.ub-page .ub-divider {
  width: 36px; height: 3px; background: var(--rascue-accent);
  border-radius: 99px; margin: 2.25rem 0;
}
.ub-page .ub-section { display: grid; grid-template-columns: 46px 1fr; gap: 0.25rem; align-items: flex-start; }
.rascue-com .ub-icon-box {
  width: 46px; height: 46px;
  background: rgba(11,59,58,.07); border: 1px solid rgba(11,59,58,.1);
  border-radius: 13px; display: flex; align-items: center; justify-content: center;
}
.rascue-com .ub-icon-box svg {
  stroke: var(--rascue-primary-dark); width: 21px; height: 21px; fill: none;
  stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
.rascue-com .ub-icon-box.small { width: 36px; height: 36px; border-radius: 10px; margin-bottom: 14px; }
.rascue-com .ub-icon-box.small svg { width: 17px; height: 17px; }
.ub-page .ub-body h2 {
  font-family: 'Space Grotesk', system-ui, sans-serif;
  font-size: clamp(1.1rem, 2vw, 1.3rem);
  font-weight: 700; color: var(--rascue-primary-dark); margin: 0 0 .85rem; letter-spacing: -.01em;
}
.ub-page .ub-body p { font-size: 15px; color: #39423d; line-height: 1.8; margin: 0 0 .8rem; }
.ub-page .ub-callout {
  background: rgba(11,59,58,.05);
  border-left: 4px solid var(--rascue-primary-dark);
  border-radius: 0 14px 14px 0;
  padding: 16px 20px; display: flex; align-items: center;
  gap: 18px; margin: 1rem 0;
}
.ub-page .ub-callout-num {
  font-family: 'Space Grotesk', system-ui, sans-serif;
  font-size: 2.4rem; font-weight: 800;
  color: var(--rascue-primary-dark); line-height: 1; flex-shrink: 0; letter-spacing: -.02em;
}
.ub-page .ub-callout-txt { font-size: 14.5px; color: #39423d; line-height: 1.65; }
.ub-page .ub-quote {
  background: #fff8ee; border-left: 4px solid var(--rascue-accent);
  border-radius: 0 12px 12px 0; padding: 14px 18px;
  font-size: 15.5px; font-style: italic; font-weight: 600;
  color: var(--rascue-primary-dark); line-height: 1.7; margin: 1rem 0;
}
.ub-page .ub-list { list-style: none; padding: 0; margin: .75rem 0 1rem; display: grid; gap: 8px; }
.ub-page .ub-list li {
  font-size: 15px; color: #39423d;
  padding: 11px 13px 11px 36px; position: relative;
  line-height: 1.55; background: #f7faf8;
  border: 1px solid #e2eee8; border-radius: 10px;
}
.ub-page .ub-list li::before { content: '→'; position: absolute; left: 13px; top: 11px; color: var(--rascue-primary-dark); font-weight: 800; }
.ub-page .ub-tagline {
  background: rgba(11,59,58,.06); border-radius: 11px;
  padding: 13px 16px; font-size: 15px; color: var(--rascue-primary-dark);
  line-height: 1.65; margin: .75rem 0;
}
.ub-page .ub-steps, .ub-page .ub-trust { display: grid; gap: 10px; margin-top: .75rem; }
.ub-page .ub-step, .ub-page .ub-trust-row {
  display: flex; gap: 13px; align-items: flex-start;
  background: #fff; border: 1px solid #e8eeeb;
  border-radius: 13px; padding: 14px 16px;
  box-shadow: 0 2px 8px rgba(11,59,58,.04);
}
.ub-page .ub-step-n {
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--rascue-primary-dark); color: #fff !important;
  font-family: 'Space Grotesk', system-ui, sans-serif;
  font-weight: 700; font-size: 13px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; margin-top: 1px;
}
.ub-page .ub-step > div:last-child, .ub-page .ub-trust-row > div:last-child { font-size: 15px; color: #39423d; line-height: 1.7; }
.ub-page .ub-trust-em { font-size: 18px; flex-shrink: 0; margin-top: 2px; }
.ub-page .ub-warn {
  background: #fffbeb; border: 1px solid #f0c050;
  border-radius: 11px; padding: 12px 16px;
  font-size: 14px; color: #78350f; line-height: 1.65; margin-top: 1rem;
}
.ub-page .ub-team { display: grid; gap: 0; margin-top: .75rem; border: 1px solid #e6ece9; border-radius: 16px; overflow: hidden; }
.ub-page .ub-member {
  display: flex; gap: 14px; align-items: flex-start;
  background: #fff; padding: 18px 20px;
  border-bottom: 1px solid #e6ece9;
  transition: background .15s;
}
.ub-page .ub-member:last-child { border-bottom: none; }
.ub-page .ub-member:hover { background: #f7faf8; }
.ub-page .ub-avatar {
  width: 48px; height: 48px; border-radius: 50%;
  background: linear-gradient(145deg, var(--rascue-primary-dark) 0%, var(--rascue-primary) 100%);
  color: #fff; font-family: 'Space Grotesk', system-ui, sans-serif;
  font-weight: 700; font-size: 14px;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.ub-page .ub-mname { font-weight: 700; font-size: 15px; color: var(--rascue-primary-dark); margin-bottom: 2px; }
.ub-page .ub-mrole {
  display: inline-block; font-size: 10px; font-weight: 700;
  color: var(--rascue-primary-dark); background: rgba(11,59,58,.08);
  padding: 2px 10px; border-radius: 999px;
  text-transform: uppercase; letter-spacing: .06em; margin-bottom: 7px;
}
.ub-page .ub-mbio { font-size: 14px; color: #3d4540; line-height: 1.7; }
.ub-page .ub-closing {
  background: linear-gradient(140deg, var(--rascue-primary-dark) 0%, #07261c 100%);
  border-radius: 18px; padding: 2.25rem 2.5rem; margin-top: .5rem;
  box-shadow: 0 16px 40px rgba(11,59,58,.18);
}
.ub-page .ub-closing-h {
  font-family: 'Space Grotesk', system-ui, sans-serif;
  font-size: 1.5rem; font-weight: 700; color: #fff; margin: 0 0 .9rem;
}
.ub-page .ub-closing p { font-size: 15px; color: rgba(255,255,255,.82); line-height: 1.8; margin: 0 0 .7rem; }
.ub-page .ub-closing-key { color: #fff !important; font-weight: 700; }
.ub-page .ub-cta-row { display: flex; gap: 11px; flex-wrap: wrap; margin-top: 1.6rem; }
.ub-page .ub-btn-p {
  height: 46px; padding: 0 24px;
  background: var(--rascue-accent); color: #1a0f00 !important;
  border-radius: 10px; font-weight: 700; font-size: 14px;
  text-decoration: none; display: inline-flex; align-items: center;
  transition: background .2s;
}
.ub-page .ub-btn-p:hover { background: #d4901a; }
.ub-page .ub-btn-o {
  height: 46px; padding: 0 24px;
  background: transparent; color: rgba(255,255,255,.85) !important;
  border: 1.5px solid rgba(255,255,255,.3);
  border-radius: 10px; font-weight: 600; font-size: 14px;
  text-decoration: none; display: inline-flex; align-items: center;
  transition: border-color .2s, color .2s;
}
.ub-page .ub-btn-o:hover { border-color: #fff; color: #fff !important; }

@media (max-width: 680px) {
  .rascue-com .ub-page { padding: 0 1rem 3.5rem; }
  .ub-page .ub-hero { padding: 1.5rem; border-radius: 16px; }
  .ub-page .ub-section { grid-template-columns: 1fr; gap: .75rem; }
  .ub-page .ub-callout { flex-direction: column; gap: 8px; }
  .ub-page .ub-closing { padding: 1.75rem 1.5rem; }
  .ub-page .ub-cta-row { flex-direction: column; }
  .ub-page .ub-btn-p, .ub-page .ub-btn-o { justify-content: center; }
}

/* 10. Responsive */
@media (max-width: 720px) {
  .rascue-com .site-header { padding: 16px 22px; }
  .rascue-com .nav-toggle { display: flex; }
  .rascue-com ul.main-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    background: var(--rascue-surface);
    border-bottom: 1px solid var(--rascue-border);
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease;
  }
  .rascue-com ul.main-nav.is-open { max-height: 300px; }
  .rascue-com ul.main-nav li { width: 100%; }
  .rascue-com ul.main-nav a { display: block; padding: 14px 22px; width: 100%; border-top: 1px solid var(--rascue-border); }
  .rascue-com .rascue-social-icons { flex-wrap: wrap; }
  .rascue-com .site-footer ul.footer-links { flex-direction: column; }
  .rascue-com .site-footer ul.footer-links li:not(:last-child)::after { display: none; }

  .rascue-com .hero { padding: 64px 22px 46px; }
  .rascue-com section, .rascue-com > div.legal-page { padding: 46px 22px; }
  .rascue-com .legal-page { padding: 46px 22px; }
}