/* =============================================
   WELLSPRING MINISTRY — Styles
   Template 26 · Ministry
   Palette: Obsidian + Pearl + Warm Copper
   Fonts: Manrope (display) + Lora (body)
   ============================================= */

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&display=swap');

/* ---------- Design Tokens ---------- */
:root {
  --ws-obsidian:      #1a1a1a;
  --ws-graphite:      #404040;
  --ws-slate:         #737373;
  --ws-ash:           #a3a3a3;
  --ws-cloud:         #e5e5e5;
  --ws-pearl:         #fafafa;
  --ws-white:         #ffffff;
  --ws-copper:        #c77b4a;
  --ws-copper-deep:   #a86638;
  --ws-copper-glow:   rgba(199, 123, 74, .08);

  --ws-font-display:  'Manrope', -apple-system, sans-serif;
  --ws-font-body:     'Lora', Georgia, serif;

  --ws-nav-height:    68px;
  --ws-banner-height: 34px;
  --ws-radius:        10px;
  --ws-radius-lg:     16px;
  --ws-shadow:        0 2px 16px rgba(0, 0, 0, .04);
  --ws-shadow-lg:     0 10px 40px rgba(0, 0, 0, .08);
  --ws-transition:    .3s ease;
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
  font-family: var(--ws-font-body);
  color: var(--ws-obsidian);
  background: var(--ws-white);
  line-height: 1.75;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5 {
  font-family: var(--ws-font-display);
  line-height: 1.2;
  font-weight: 700;
}

img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }

.ws-container {
  width: 88%;
  max-width: 1100px;
  margin: 0 auto;
}

/* ---------- Demo Banner ---------- */
.ws-demo-banner {
  background: var(--ws-obsidian);
  color: var(--ws-ash);
  text-align: center;
  padding: 8px 16px;
  font-family: var(--ws-font-display);
  font-size: .76rem;
  font-weight: 500;
  height: var(--ws-banner-height);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  letter-spacing: .3px;
}

.ws-demo-banner a {
  color: var(--ws-copper);
  text-decoration: underline;
}

/* ---------- Navigation ---------- */
.ws-nav {
  position: fixed;
  top: var(--ws-banner-height);
  left: 0;
  width: 100%;
  height: var(--ws-nav-height);
  z-index: 960;
  display: flex;
  align-items: center;
  background: transparent;
  border-bottom: 1px solid transparent;
  transition: background var(--ws-transition), border-color var(--ws-transition), box-shadow var(--ws-transition);
}

/* Transparent (over hero) */
.ws-nav .ws-logo { color: var(--ws-white); }
.ws-nav .ws-nav-links a { color: rgba(255, 255, 255, .7); }
.ws-nav .ws-nav-links a:hover { color: var(--ws-white); }
.ws-nav .ws-nav-cta { border-color: rgba(255, 255, 255, .3); color: var(--ws-white) !important; }
.ws-nav .ws-nav-cta:hover { background: var(--ws-white) !important; color: var(--ws-obsidian) !important; border-color: var(--ws-white); }
.ws-nav .ws-hamburger span { background: var(--ws-white); }

/* Scrolled */
.ws-nav.scrolled {
  background: rgba(255, 255, 255, .97);
  backdrop-filter: blur(16px);
  border-color: var(--ws-cloud);
  box-shadow: 0 1px 10px rgba(0, 0, 0, .04);
}

.ws-nav.scrolled .ws-logo { color: var(--ws-obsidian); }
.ws-nav.scrolled .ws-nav-links a { color: var(--ws-slate); }
.ws-nav.scrolled .ws-nav-links a:hover { color: var(--ws-obsidian); }
.ws-nav.scrolled .ws-nav-cta { border-color: var(--ws-obsidian) !important; color: var(--ws-obsidian) !important; }
.ws-nav.scrolled .ws-nav-cta:hover { background: var(--ws-obsidian) !important; color: var(--ws-white) !important; }
.ws-nav.scrolled .ws-hamburger span { background: var(--ws-obsidian); }

.ws-nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 88%;
  max-width: 1100px;
  margin: 0 auto;
}

.ws-logo {
  font-family: var(--ws-font-display);
  font-size: 1.1rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 10px;
  letter-spacing: -.3px;
  transition: color var(--ws-transition);
}

.ws-logo-mark {
  width: 30px;
  height: 30px;
  background: var(--ws-copper);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ws-white);
  flex-shrink: 0;
}

.ws-nav-links {
  display: flex;
  align-items: center;
  gap: 28px;
}

.ws-nav-links a {
  font-family: var(--ws-font-display);
  font-size: .82rem;
  font-weight: 500;
  transition: color var(--ws-transition);
  letter-spacing: .2px;
}

.ws-nav-cta {
  font-weight: 600 !important;
  border: 1.5px solid;
  padding: 8px 22px;
  border-radius: 50px;
  transition: all var(--ws-transition) !important;
}

/* Hamburger */
.ws-hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  background: none;
  border: none;
  z-index: 970;
}

.ws-hamburger span {
  width: 22px;
  height: 1.5px;
  border-radius: 2px;
  transition: var(--ws-transition);
}

.ws-hamburger.active span:nth-child(1) { transform: rotate(45deg) translate(4px, 5px); }
.ws-hamburger.active span:nth-child(2) { opacity: 0; }
.ws-hamburger.active span:nth-child(3) { transform: rotate(-45deg) translate(4px, -5px); }

/* Mobile Menu */
.ws-mobile-menu {
  position: fixed;
  top: 0; right: -100%;
  width: 80%; max-width: 320px;
  height: 100vh;
  background: var(--ws-white);
  z-index: 950;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 22px;
  padding: 48px 36px;
  transition: right var(--ws-transition);
  box-shadow: -4px 0 24px rgba(0, 0, 0, .06);
}

.ws-mobile-menu.open { right: 0; }

.ws-mobile-menu a {
  font-family: var(--ws-font-display);
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--ws-obsidian);
}

.ws-mobile-menu a:hover { color: var(--ws-copper); }
.ws-mobile-menu hr { border: none; border-top: 1px solid var(--ws-cloud); }

.ws-mobile-cta {
  border: 1.5px solid var(--ws-obsidian);
  padding: 14px 28px;
  border-radius: 50px;
  text-align: center;
  font-weight: 600 !important;
}

/* ---------- Hero — Full Width ---------- */
.ws-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  padding-top: calc(var(--ws-banner-height) + var(--ws-nav-height));
}

.ws-hero-bg {
  position: absolute;
  inset: 0;
  background: url('https://images.unsplash.com/photo-1469571486292-0ba58a3f068b?w=1600&q=80&auto=format&fit=crop') center/cover no-repeat;
}

.ws-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(26, 26, 26, .52) 0%,
    rgba(26, 26, 26, .40) 45%,
    rgba(26, 26, 26, .62) 100%
  );
}

.ws-hero-content {
  position: relative;
  z-index: 1;
  max-width: 660px;
  padding: 40px 20px;
}

.ws-hero-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--ws-font-display);
  font-size: .7rem;
  font-weight: 600;
  color: rgba(255, 255, 255, .55);
  text-transform: uppercase;
  letter-spacing: 3px;
  margin-bottom: 22px;
}

.ws-hero-label::before,
.ws-hero-label::after {
  content: '';
  width: 20px;
  height: 1px;
  background: rgba(255, 255, 255, .25);
}

.ws-hero-content h1 {
  font-size: clamp(2.5rem, 5.5vw, 3.6rem);
  font-weight: 800;
  color: var(--ws-white);
  line-height: 1.08;
  margin-bottom: 22px;
  letter-spacing: -.5px;
}

.ws-hero-content h1 em {
  font-family: var(--ws-font-body);
  font-style: italic;
  font-weight: 400;
}

.ws-hero-desc {
  font-size: 1.1rem;
  color: rgba(255, 255, 255, .68);
  max-width: 480px;
  margin: 0 auto 36px;
  line-height: 1.85;
}

.ws-hero-actions {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}

.ws-btn-copper {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--ws-copper);
  color: var(--ws-white);
  font-family: var(--ws-font-display);
  font-size: .88rem;
  font-weight: 700;
  padding: 14px 32px;
  border-radius: 50px;
  transition: all var(--ws-transition);
  letter-spacing: .2px;
}

.ws-btn-copper:hover {
  background: var(--ws-copper-deep);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(199, 123, 74, .3);
}

.ws-btn-outline-white {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: var(--ws-white);
  font-family: var(--ws-font-display);
  font-size: .88rem;
  font-weight: 500;
  padding: 14px 32px;
  border-radius: 50px;
  border: 1.5px solid rgba(255, 255, 255, .3);
  transition: all var(--ws-transition);
}

.ws-btn-outline-white:hover {
  border-color: var(--ws-white);
  background: rgba(255, 255, 255, .08);
  transform: translateY(-2px);
}

/* ---------- Section Defaults ---------- */
.ws-section { padding: 96px 0; }

.ws-section-header {
  text-align: center;
  margin-bottom: 56px;
}

.ws-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--ws-font-display);
  font-size: .7rem;
  font-weight: 600;
  color: var(--ws-slate);
  text-transform: uppercase;
  letter-spacing: 3px;
  margin-bottom: 12px;
}

.ws-eyebrow::before {
  content: '';
  width: 16px;
  height: 1px;
  background: var(--ws-ash);
}

.ws-section-header h2 {
  font-size: clamp(1.6rem, 3vw, 2.3rem);
  color: var(--ws-obsidian);
  margin-bottom: 14px;
  letter-spacing: -.4px;
}

.ws-section-header h2 em {
  font-family: var(--ws-font-body);
  font-style: italic;
  font-weight: 400;
  color: var(--ws-copper-deep);
}

.ws-section-header p {
  font-size: 1rem;
  color: var(--ws-slate);
  max-width: 480px;
  margin: 0 auto;
  line-height: 1.8;
}

/* ---------- About / Vision ---------- */
.ws-vision {
  background: var(--ws-pearl);
  border-bottom: 1px solid var(--ws-cloud);
}

.ws-vision-inner {
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}

.ws-vision-rule {
  width: 36px;
  height: 2px;
  background: var(--ws-copper);
  margin: 0 auto 28px;
  border-radius: 1px;
}

.ws-vision h2 {
  font-size: clamp(1.5rem, 2.5vw, 1.9rem);
  color: var(--ws-obsidian);
  margin-bottom: 18px;
  letter-spacing: -.2px;
}

.ws-vision p {
  font-size: 1.05rem;
  color: var(--ws-graphite);
  line-height: 1.9;
}

/* ---------- Focus Areas ---------- */
.ws-focus {
  background: var(--ws-white);
}

.ws-focus-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.ws-focus-card {
  padding: 32px 24px;
  border: 1px solid var(--ws-cloud);
  border-radius: var(--ws-radius-lg);
  text-align: center;
  transition: all var(--ws-transition);
  position: relative;
  overflow: hidden;
}

.ws-focus-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: var(--ws-copper);
  transform: scaleX(0);
  transition: transform var(--ws-transition);
}

.ws-focus-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--ws-shadow-lg);
  border-color: transparent;
}

.ws-focus-card:hover::after { transform: scaleX(1); }

.ws-focus-icon {
  width: 52px;
  height: 52px;
  margin: 0 auto 18px;
  background: var(--ws-copper-glow);
  border: 1px solid rgba(199, 123, 74, .15);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ws-copper-deep);
  transition: all var(--ws-transition);
}

.ws-focus-card:hover .ws-focus-icon {
  background: var(--ws-copper);
  border-color: var(--ws-copper);
  color: var(--ws-white);
}

.ws-focus-card h3 {
  font-size: .95rem;
  color: var(--ws-obsidian);
  margin-bottom: 8px;
  font-weight: 700;
}

.ws-focus-card p {
  font-size: .88rem;
  color: var(--ws-slate);
  line-height: 1.65;
}

/* ---------- Campaign Spotlight ---------- */
.ws-campaign {
  background: var(--ws-pearl);
  border-top: 1px solid var(--ws-cloud);
  border-bottom: 1px solid var(--ws-cloud);
}

.ws-campaign-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
}

.ws-campaign-image {
  border-radius: var(--ws-radius-lg);
  overflow: hidden;
  box-shadow: var(--ws-shadow-lg);
}

.ws-campaign-image img {
  width: 100%;
  height: 440px;
  object-fit: cover;
}

.ws-campaign-text .ws-eyebrow { display: flex; }

.ws-campaign-text h2 {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  color: var(--ws-obsidian);
  margin-bottom: 14px;
  letter-spacing: -.3px;
}

.ws-campaign-text p {
  font-size: 1rem;
  color: var(--ws-slate);
  line-height: 1.85;
  margin-bottom: 28px;
}

/* Progress bar */
.ws-progress-wrap {
  margin-bottom: 28px;
}

.ws-progress-header {
  display: flex;
  justify-content: space-between;
  font-family: var(--ws-font-display);
  font-size: .82rem;
  font-weight: 600;
  color: var(--ws-graphite);
  margin-bottom: 8px;
}

.ws-progress-header span:last-child { color: var(--ws-ash); }

.ws-progress-bar {
  width: 100%;
  height: 8px;
  background: var(--ws-cloud);
  border-radius: 4px;
  overflow: hidden;
}

.ws-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--ws-copper), var(--ws-copper-deep));
  border-radius: 4px;
  transition: width 1s ease;
}

.ws-campaign-stats {
  display: flex;
  gap: 32px;
}

.ws-campaign-stat h4 {
  font-size: 1.3rem;
  color: var(--ws-obsidian);
  letter-spacing: -.3px;
  margin-bottom: 2px;
}

.ws-campaign-stat p {
  font-family: var(--ws-font-display);
  font-size: .72rem;
  font-weight: 600;
  color: var(--ws-ash);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 0;
}

/* ---------- Leadership ---------- */
.ws-team {
  background: var(--ws-white);
}

.ws-team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  max-width: 900px;
  margin: 0 auto;
}

.ws-team-card {
  text-align: center;
  transition: all var(--ws-transition);
}

.ws-team-card:hover { transform: translateY(-4px); }

.ws-team-photo {
  width: 160px;
  height: 160px;
  margin: 0 auto 20px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid var(--ws-cloud);
  transition: border-color var(--ws-transition);
}

.ws-team-card:hover .ws-team-photo { border-color: var(--ws-copper); }

.ws-team-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ws-team-card h3 {
  font-size: 1.05rem;
  color: var(--ws-obsidian);
  margin-bottom: 4px;
}

.ws-team-card .ws-team-role {
  font-family: var(--ws-font-display);
  font-size: .76rem;
  font-weight: 600;
  color: var(--ws-copper-deep);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 10px;
}

.ws-team-card p {
  font-size: .9rem;
  color: var(--ws-slate);
  line-height: 1.65;
  max-width: 260px;
  margin: 0 auto;
}

/* ---------- Testimonial ---------- */
.ws-testimonial {
  background: var(--ws-obsidian);
  padding: 100px 0;
  text-align: center;
}

.ws-testimonial-inner {
  max-width: 640px;
  margin: 0 auto;
}

.ws-testimonial-quote-mark {
  color: var(--ws-copper);
  font-size: 3rem;
  line-height: 1;
  margin-bottom: 20px;
  font-family: var(--ws-font-body);
}

.ws-testimonial blockquote {
  font-family: var(--ws-font-body);
  font-style: italic;
  font-size: 1.25rem;
  color: rgba(255, 255, 255, .85);
  line-height: 1.8;
  margin-bottom: 28px;
}

.ws-testimonial-name {
  font-family: var(--ws-font-display);
  font-size: .88rem;
  font-weight: 700;
  color: var(--ws-white);
  margin-bottom: 4px;
}

.ws-testimonial-role {
  font-family: var(--ws-font-display);
  font-size: .76rem;
  font-weight: 500;
  color: var(--ws-ash);
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

/* ---------- CTA ---------- */
.ws-cta {
  background: var(--ws-copper);
  padding: 88px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.ws-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(255, 255, 255, .15) 0%, transparent 65%);
}

.ws-cta-inner { position: relative; z-index: 1; }

.ws-cta h2 {
  font-size: clamp(1.7rem, 3.5vw, 2.6rem);
  color: var(--ws-white);
  margin-bottom: 14px;
  letter-spacing: -.4px;
}

.ws-cta p {
  font-size: 1rem;
  color: rgba(255, 255, 255, .75);
  max-width: 440px;
  margin: 0 auto 32px;
  line-height: 1.8;
}

.ws-btn-dark {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--ws-obsidian);
  color: var(--ws-white);
  font-family: var(--ws-font-display);
  font-size: .88rem;
  font-weight: 700;
  padding: 14px 34px;
  border-radius: 50px;
  transition: all var(--ws-transition);
  letter-spacing: .2px;
}

.ws-btn-dark:hover {
  background: var(--ws-graphite);
  transform: translateY(-3px);
  box-shadow: 0 10px 36px rgba(0, 0, 0, .25);
}

/* ---------- Newsletter ---------- */
.ws-newsletter {
  background: var(--ws-pearl);
  padding: 72px 0;
  border-top: 1px solid var(--ws-cloud);
  border-bottom: 1px solid var(--ws-cloud);
}

.ws-newsletter-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  max-width: 800px;
  margin: 0 auto;
}

.ws-newsletter-text h3 {
  font-size: 1.2rem;
  color: var(--ws-obsidian);
  margin-bottom: 6px;
}

.ws-newsletter-text p {
  font-size: .92rem;
  color: var(--ws-slate);
}

.ws-newsletter-form {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}

.ws-newsletter-form input {
  font-family: var(--ws-font-display);
  font-size: .88rem;
  padding: 12px 20px;
  border: 1.5px solid var(--ws-cloud);
  border-radius: 50px;
  background: var(--ws-white);
  color: var(--ws-obsidian);
  width: 260px;
  outline: none;
  transition: border-color var(--ws-transition);
}

.ws-newsletter-form input:focus { border-color: var(--ws-copper); }

.ws-newsletter-form input::placeholder { color: var(--ws-ash); }

.ws-newsletter-form button {
  font-family: var(--ws-font-display);
  font-size: .85rem;
  font-weight: 700;
  padding: 12px 24px;
  background: var(--ws-copper);
  color: var(--ws-white);
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: all var(--ws-transition);
  white-space: nowrap;
}

.ws-newsletter-form button:hover {
  background: var(--ws-copper-deep);
  transform: translateY(-1px);
}

/* ---------- Footer ---------- */
.ws-footer {
  background: var(--ws-obsidian);
  padding: 64px 0 24px;
}

.ws-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 44px;
  margin-bottom: 48px;
}

.ws-footer-brand .ws-logo {
  margin-bottom: 14px;
  color: var(--ws-white);
}

.ws-footer-brand p {
  font-size: .88rem;
  color: rgba(255, 255, 255, .45);
  line-height: 1.7;
  max-width: 260px;
}

.ws-footer-col h4 {
  font-family: var(--ws-font-display);
  font-size: .68rem;
  font-weight: 700;
  color: var(--ws-copper);
  text-transform: uppercase;
  letter-spacing: 2.5px;
  margin-bottom: 18px;
}

.ws-footer-col ul li { margin-bottom: 10px; }

.ws-footer-col ul li a {
  font-family: var(--ws-font-display);
  font-size: .84rem;
  font-weight: 400;
  color: rgba(255, 255, 255, .45);
  transition: color var(--ws-transition);
}

.ws-footer-col ul li a:hover { color: var(--ws-white); }

.ws-footer-social {
  display: flex;
  gap: 8px;
  margin-top: 18px;
}

.ws-footer-social a {
  width: 32px;
  height: 32px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, .4);
  transition: all var(--ws-transition);
}

.ws-footer-social a:hover {
  border-color: var(--ws-copper);
  color: var(--ws-copper);
}

.ws-footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, .07);
  padding-top: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--ws-font-display);
  font-size: .76rem;
  color: rgba(255, 255, 255, .25);
  letter-spacing: .3px;
}

.ws-footer-bottom a {
  color: rgba(255, 255, 255, .25);
  transition: color var(--ws-transition);
}

.ws-footer-bottom a:hover { color: var(--ws-copper); }

/* ---------- Scroll Reveal ---------- */
.ws-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .55s ease, transform .55s ease;
}

.ws-reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .ws-focus-grid { grid-template-columns: repeat(2, 1fr); }
  .ws-campaign-inner { grid-template-columns: 1fr; gap: 40px; }
  .ws-team-grid { grid-template-columns: repeat(2, 1fr); }
  .ws-newsletter-inner { flex-direction: column; text-align: center; }
  .ws-footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .ws-hamburger { display: flex; }
  .ws-nav-links { display: none; }
  .ws-focus-grid { grid-template-columns: 1fr; max-width: 360px; margin: 0 auto; }
  .ws-team-grid { grid-template-columns: 1fr; max-width: 300px; margin: 0 auto; }
  .ws-newsletter-form { flex-direction: column; width: 100%; }
  .ws-newsletter-form input { width: 100%; }
  .ws-footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .ws-footer-bottom { flex-direction: column; gap: 6px; text-align: center; }
}

@media (max-width: 480px) {
  .ws-section { padding: 68px 0; }
  .ws-hero-content h1 { font-size: 2.2rem; }
  .ws-campaign-stats { flex-direction: column; gap: 16px; }
}
