/* ===== Design tokens ===== */
:root {
  --violet: #7B5CE0;
  --violet-hover: #5F42C4;
  --violet-light: #C9B4F5;
  --violet-lighter: #E9E0FA;
  --violet-lightest: #EFE7FB;
  --violet-accent: #9B7FE8;
  --bg-tint: #FAF8FE;
  --charcoal: #2B2F38;
  --gray-text: #6B6478;
  --gray-text-2: #575267;
  --gray-muted: #9B93AB;
  --gray-muted-2: #B7AFC9;
  --gray-on-dark: #C7C2D6;
  --gray-on-dark-2: #8A8598;
  --border-light: #F0ECFA;
  --pill-bg: #EFE7FC;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: 'Inter', system-ui, sans-serif;
  color: var(--charcoal);
  background: #FFFFFF;
}

a { color: var(--violet); text-decoration: none; }
a:hover { color: var(--violet-hover); }

img { max-width: 100%; }

.page { width: 100%; background: #FFFFFF; display: flex; flex-direction: column; overflow: hidden; }

/* ===== NAV ===== */
.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 64px;
  border-bottom: 1px solid var(--border-light);
  position: relative;
  z-index: 20;
  background: #FFFFFF;
}
.nav-brand { display: flex; align-items: center; gap: 10px; }
.nav-brand span { font: 800 20px 'Inter', sans-serif; letter-spacing: -0.4px; color: var(--charcoal); }
.nav-brand svg { overflow: visible; flex-shrink: 0; }
.nav-links { display: flex; align-items: center; gap: 40px; }
.nav-link { font: 600 16px 'Inter', sans-serif; color: var(--charcoal); }
.nav-link.active { font-weight: 700; color: var(--violet); }
.nav-cta {
  font: 700 15px 'Inter', sans-serif;
  color: #FFFFFF;
  background: var(--violet);
  padding: 14px 26px;
  border-radius: 999px;
}
.nav-cta:hover { color: #FFFFFF; background: var(--violet-hover); }

/* Hamburger (hidden on desktop) */
.hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}
.hamburger span { display: block; width: 22px; height: 2px; background: var(--charcoal); border-radius: 2px; transition: transform 0.25s ease, opacity 0.25s ease; }
.hamburger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.hamburger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ===== Buttons ===== */
.btn {
  font: 700 15px 'Inter', sans-serif;
  padding: 17px 30px;
  border-radius: 999px;
  display: inline-block;
  cursor: pointer;
  border: none;
}
.btn-primary { color: #FFFFFF; background: var(--violet); }
.btn-primary:hover { color: #FFFFFF; background: var(--violet-hover); }
.btn-outline { color: var(--charcoal); background: #FFFFFF; border: 2px solid var(--violet-lighter); }
.btn-white { color: var(--violet); background: #FFFFFF; }
.btn-block { display: block; width: 100%; text-align: center; padding: 16px 0; }

.magnetic { transition: transform 0.25s cubic-bezier(.2,.6,.3,1), box-shadow 0.25s ease; will-change: transform; }
.magnetic:hover { box-shadow: 0 14px 30px -10px rgba(123,92,224,0.55); }
.drift { transition: transform 0.35s cubic-bezier(.2,.6,.3,1); will-change: transform; }

/* ===== HERO (home) ===== */
.hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 70px 0 60px 64px;
  gap: 24px;
  background: linear-gradient(135deg, #F4EFFC 0%, #FBF9FE 55%, #FFFFFF 100%);
  overflow: hidden;
}
.hero-blob-1 { position: absolute; width: 640px; height: 640px; border-radius: 62% 38% 55% 45% / 45% 55% 45% 55%; background: var(--violet-lighter); top: -220px; right: -160px; opacity: 0.9; }
.hero-blob-2 { position: absolute; width: 340px; height: 340px; border-radius: 40% 60% 55% 45% / 55% 45% 60% 40%; background: var(--violet-light); bottom: -140px; left: 260px; opacity: 0.5; }
.hero-copy { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 22px; max-width: 560px; flex-shrink: 0; }
.eyebrow { font: 700 13px 'Inter', sans-serif; letter-spacing: 3px; color: var(--violet); text-transform: uppercase; min-height: 16px; }
.caret { display: inline-block; width: 2px; background: var(--violet); margin-left: 2px; animation: caret-blink 0.85s step-start infinite; }
@keyframes caret-blink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
.hero-headline { font: 800 60px 'Inter', sans-serif; letter-spacing: -2px; color: var(--charcoal); line-height: 1.08; margin: 0; }
.hero-tagline { font: 700 18px 'Inter', sans-serif; color: var(--violet); margin-top: -8px; }
.hero-sub { font: 500 20px 'Inter', sans-serif; color: var(--gray-text-2); line-height: 1.55; }
.hero-actions { display: flex; gap: 16px; margin-top: 6px; flex-wrap: wrap; align-items: center; }
.hero-chip { font: 700 14px 'Inter', sans-serif; color: var(--violet); background: var(--pill-bg); padding: 10px 20px; border-radius: 999px; display: inline-block; }
.hero-call-line { font: 600 15px 'Inter', sans-serif; color: var(--gray-text); }
.hero-call-line a { font-weight: 700; }
.hero-photo { position: relative; width: 46%; min-width: 480px; max-width: 640px; height: auto; flex-shrink: 0; display: block; border-radius: 28px; box-shadow: 0 25px 30px -8px rgba(43,47,56,0.3); }

/* ===== VALUE PROPS ===== */
.value-props { display: flex; gap: 40px; padding: 70px 64px; background: var(--bg-tint); }
.value-card { flex: 1; display: flex; flex-direction: column; gap: 18px; background: #FFFFFF; border-radius: 32px; padding: 36px; box-shadow: 0 10px 30px -18px rgba(43,47,56,0.18); }
.value-card h3 { font: 700 19px 'Inter', sans-serif; color: var(--charcoal); margin: 0; }
.value-card p { font: 500 15px 'Inter', sans-serif; color: var(--gray-text); line-height: 1.5; margin: 0; }

/* ===== DARK PHOTO BANNER (home) ===== */
.dark-banner { position: relative; display: flex; align-items: center; padding: 60px 64px 60px 0; gap: 40px; background: var(--charcoal); overflow: hidden; }
.dark-banner-blob { position: absolute; width: 420px; height: 420px; border-radius: 45% 55% 50% 50% / 55% 45% 55% 45%; background: var(--violet); opacity: 0.35; top: -160px; right: 200px; }
.dark-banner-photo { position: relative; width: 46%; min-width: 500px; max-width: 680px; height: auto; flex-shrink: 0; display: block; border-radius: 0 28px 28px 0; box-shadow: 0 20px 30px -8px rgba(0,0,0,0.45); }
.dark-banner-copy { position: relative; display: flex; flex-direction: column; gap: 16px; max-width: 560px; }
.dark-banner-copy h2 { font: 800 34px 'Inter', sans-serif; color: #FFFFFF; letter-spacing: -0.5px; margin: 0; }
.dark-banner-copy p { font: 500 17px 'Inter', sans-serif; color: var(--gray-on-dark); line-height: 1.6; margin: 0; }

/* ===== WHY IT'S PERSONAL (formerly "why local matters") ===== */
.local-section { position: relative; display: flex; align-items: center; gap: 56px; padding: 100px 64px; background: var(--bg-tint); overflow: hidden; }
.local-copy { position: relative; flex: 1; display: flex; flex-direction: column; gap: 20px; max-width: 540px; }
.local-copy h2 { font: 800 38px 'Inter', sans-serif; letter-spacing: -0.5px; color: var(--charcoal); line-height: 1.15; margin: 0; }
.local-copy p { font: 500 17px 'Inter', sans-serif; color: var(--gray-text); line-height: 1.65; margin: 0; }
.local-copy .callout { font: 700 17px 'Inter', sans-serif; color: var(--charcoal); line-height: 1.5; }
.local-photos { position: relative; flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 420px; flex-wrap: wrap; }
.local-photos img { position: relative; width: 340px; height: auto; display: block; border-radius: 28px; box-shadow: 0 20px 25px -6px rgba(43,47,56,0.25); }
.local-photos img.offset { margin-top: 90px; }

/* ===== HOW IT WORKS ===== */
.how-it-works { display: flex; flex-direction: column; gap: 44px; padding: 90px 64px 100px; background: #FFFFFF; }
.how-header { display: flex; align-items: center; justify-content: center; gap: 24px; flex-wrap: wrap; }
.how-header img { flex-shrink: 0; display: block; border-radius: 28px; box-shadow: 0 15px 20px -6px rgba(43,47,56,0.2); }
.how-header-title { display: flex; align-items: center; justify-content: center; gap: 60px; flex-shrink: 0; }
.how-header-title h2 { font: 800 34px 'Inter', sans-serif; letter-spacing: -0.5px; color: var(--charcoal); text-align: center; margin: 0; }
.how-header-title img { box-shadow: 0 20px 25px -6px rgba(43,47,56,0.25); }
.how-steps { display: flex; gap: 40px; flex-wrap: wrap; }
.how-step { flex: 1; min-width: 200px; display: flex; flex-direction: column; gap: 14px; }
.how-step .num { font: 800 44px 'Inter', sans-serif; color: var(--violet-light); }
.how-step h3 { font: 700 18px 'Inter', sans-serif; color: var(--charcoal); margin: 0; }
.how-step p { font: 500 15px 'Inter', sans-serif; color: var(--gray-text); line-height: 1.5; margin: 0; }

/* ===== RECENT WORK (sample cards) ===== */
.recent-work { display: flex; flex-direction: column; gap: 12px; padding: 90px 64px 100px; background: var(--bg-tint); }
.recent-work-head { display: flex; flex-direction: column; gap: 10px; align-items: center; text-align: center; margin-bottom: 26px; }
.recent-work-head h2 { font: 800 34px 'Inter', sans-serif; color: var(--charcoal); margin: 0; }
.recent-work-head p { font: 500 15px 'Inter', sans-serif; color: var(--gray-muted); max-width: 560px; margin: 0; }
.recent-work-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.recent-work-card { position: relative; background: #FFFFFF; border-radius: 24px; overflow: hidden; box-shadow: 0 10px 30px -18px rgba(43,47,56,0.2); display: flex; flex-direction: column; }
.recent-work-card img { width: 100%; height: 170px; object-fit: cover; display: block; }
.recent-work-sample-pill { position: absolute; top: 14px; left: 14px; font: 800 11px 'Inter', sans-serif; letter-spacing: 1px; color: #FFFFFF; background: rgba(43,47,56,0.72); padding: 6px 12px; border-radius: 999px; text-transform: uppercase; }
.recent-work-body { padding: 18px 18px 22px; display: flex; flex-direction: column; gap: 6px; }
.recent-work-body h3 { font: 700 16px 'Inter', sans-serif; color: var(--charcoal); margin: 0; }
.recent-work-body p { font: 500 13px 'Inter', sans-serif; color: var(--gray-text); margin: 0; line-height: 1.5; }

/* ===== CTA BANDS ===== */
.cta-band { position: relative; display: flex; flex-direction: column; align-items: center; gap: 22px; padding: 90px 64px; background: var(--violet); text-align: center; overflow: hidden; }
.cta-band-blob { position: absolute; width: 500px; height: 500px; border-radius: 50% 50% 45% 55% / 55% 45% 55% 45%; background: var(--violet-accent); opacity: 0.5; bottom: -260px; left: -120px; }
.cta-band h2 { position: relative; font: 800 38px 'Inter', sans-serif; color: #FFFFFF; margin: 0; }
.cta-band p { position: relative; font: 500 17px 'Inter', sans-serif; color: var(--violet-lighter); margin: 0; }
.cta-band .btn { position: relative; margin-top: 8px; }
.cta-band-simple { display: flex; flex-direction: column; align-items: center; gap: 22px; padding: 90px 64px; background: var(--violet); text-align: center; }
.cta-band-simple h2 { font: 800 36px 'Inter', sans-serif; color: #FFFFFF; margin: 0; }
.cta-band-dark { position: relative; display: flex; flex-direction: column; align-items: center; gap: 22px; padding: 80px 64px; background: var(--charcoal); text-align: center; overflow: hidden; }
.cta-band-dark-blob { position: absolute; width: 460px; height: 460px; border-radius: 50% 50% 45% 55% / 55% 45% 55% 45%; background: var(--violet); opacity: 0.4; top: -220px; right: -100px; }
.cta-band-dark h2 { position: relative; font: 800 32px 'Inter', sans-serif; color: #FFFFFF; margin: 0; }
.cta-band-dark p { position: relative; font: 500 16px 'Inter', sans-serif; color: var(--gray-on-dark); margin: 0; }
.cta-band-dark .btn { position: relative; margin-top: 8px; }

/* ===== FOOTER ===== */
.footer { display: flex; justify-content: space-between; padding: 56px 64px 32px; flex-wrap: wrap; gap: 32px; }
.footer-brand { display: flex; flex-direction: column; gap: 10px; max-width: 320px; }
.footer-brand-row { display: flex; align-items: center; gap: 8px; }
.footer-brand-row span { font: 800 16px 'Inter', sans-serif; color: var(--charcoal); }
.footer-tagline { font: 500 13px 'Inter', sans-serif; color: var(--gray-muted); line-height: 1.5; }
.footer-local { font: 700 13px 'Inter', sans-serif; color: var(--violet); line-height: 1.5; }
.footer-contact { display: flex; flex-direction: column; gap: 8px; }
.footer-contact-label { font: 700 13px 'Inter', sans-serif; color: var(--charcoal); letter-spacing: 1px; text-transform: uppercase; }
.footer-contact a { font: 600 14px 'Inter', sans-serif; display: block; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; padding: 20px 64px 40px; border-top: 1px solid var(--border-light); flex-wrap: wrap; gap: 10px; }
.footer-bottom span { font: 500 12px 'Inter', sans-serif; color: var(--gray-muted-2); }
.footer-bottom a { font: 500 12px 'Inter', sans-serif; color: var(--gray-muted-2); text-decoration: underline; }
.footer-bottom.no-border { border-top: none; padding-top: 0; }

/* ===== SERVICES PAGE ===== */
.page-header { position: relative; display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 90px 64px 60px; text-align: center; background: linear-gradient(135deg, #F4EFFC 0%, #FBF9FE 55%, #FFFFFF 100%); overflow: hidden; }
.page-header-blob { position: absolute; width: 520px; height: 520px; border-radius: 55% 45% 50% 50% / 45% 55% 45% 55%; background: var(--violet-lighter); top: -260px; opacity: 0.9; }
.page-header-blob.right { right: -140px; }
.page-header-blob.left { left: -140px; }
.page-header .eyebrow { position: relative; }
.page-header h1 { position: relative; font: 800 52px 'Inter', sans-serif; letter-spacing: -1px; color: var(--charcoal); margin: 0; }
.page-header p { position: relative; font: 500 18px 'Inter', sans-serif; color: var(--gray-text); max-width: 560px; margin: 0; }

.founding-banner { display: flex; justify-content: center; padding: 34px 64px 0; background: var(--bg-tint); }
.founding-pill { font: 700 14px 'Inter', sans-serif; color: var(--violet); background: var(--pill-bg); padding: 10px 22px; border-radius: 999px; letter-spacing: 0.3px; }

.pricing-cards { display: flex; gap: 28px; padding: 34px 64px 40px; justify-content: center; background: var(--bg-tint); flex-wrap: wrap; }
.pricing-card { flex: 1; min-width: 280px; max-width: 400px; display: flex; flex-direction: column; gap: 20px; border-radius: 32px; padding: 40px; }
.pricing-card.light { background: #FFFFFF; border: 2px solid var(--violet-lighter); box-shadow: 0 10px 30px -18px rgba(43,47,56,0.15); }
.pricing-card.dark { background: var(--charcoal); }
.pricing-card.outline { background: #FFFFFF; border: 2px solid var(--violet); box-shadow: 0 10px 30px -18px rgba(43,47,56,0.15); }
.pricing-eyebrow { font: 700 13px 'Inter', sans-serif; letter-spacing: 2px; text-transform: uppercase; }
.pricing-card.light .pricing-eyebrow, .pricing-card.outline .pricing-eyebrow { color: var(--violet); }
.pricing-card.dark .pricing-eyebrow { color: var(--violet-light); }
.pricing-title { font: 800 30px 'Inter', sans-serif; margin: 0; }
.pricing-card.light .pricing-title, .pricing-card.outline .pricing-title { color: var(--charcoal); }
.pricing-card.dark .pricing-title { color: #FFFFFF; }
.pricing-amount-row { display: flex; align-items: baseline; gap: 12px; }
.pricing-amount { font: 800 40px 'Inter', sans-serif; }
.pricing-card.light .pricing-amount, .pricing-card.outline .pricing-amount { color: var(--charcoal); }
.pricing-card.dark .pricing-amount { color: #FFFFFF; }
.pricing-strike { font: 700 20px 'Inter', sans-serif; text-decoration: line-through; }
.pricing-card.light .pricing-strike, .pricing-card.outline .pricing-strike { color: var(--gray-muted-2); }
.pricing-card.dark .pricing-strike { color: var(--gray-on-dark-2); }
.pricing-desc { font: 500 15px 'Inter', sans-serif; }
.pricing-card.light .pricing-desc, .pricing-card.outline .pricing-desc { color: var(--gray-text); }
.pricing-card.dark .pricing-desc { color: var(--gray-on-dark); }
.pricing-features { display: flex; flex-direction: column; gap: 12px; margin-top: 8px; }
.pricing-features span { font: 500 15px 'Inter', sans-serif; }
.pricing-card.light .pricing-features span, .pricing-card.outline .pricing-features span { color: var(--charcoal); }
.pricing-card.dark .pricing-features span { color: #FFFFFF; }
.pricing-card .btn { margin-top: 10px; }

/* One-Page scope box */
.scope-box-wrap { display: flex; justify-content: center; padding: 0 64px 50px; background: var(--bg-tint); }
.scope-box { display: flex; gap: 40px; max-width: 820px; width: 100%; background: #FFFFFF; border-radius: 28px; padding: 36px 40px; box-shadow: 0 10px 30px -18px rgba(43,47,56,0.15); flex-wrap: wrap; }
.scope-col { flex: 1; min-width: 220px; display: flex; flex-direction: column; gap: 12px; }
.scope-col h4 { font: 800 14px 'Inter', sans-serif; letter-spacing: 1px; text-transform: uppercase; margin: 0; }
.scope-col.in h4 { color: #3E8A54; }
.scope-col.out h4 { color: #A63244; }
.scope-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.scope-col li { font: 500 14px 'Inter', sans-serif; color: var(--gray-text-2); line-height: 1.4; padding-left: 20px; position: relative; }
.scope-col.in li::before { content: "\2713"; position: absolute; left: 0; color: #3E8A54; font-weight: 700; }
.scope-col.out li::before { content: "\2013"; position: absolute; left: 2px; color: #A63244; font-weight: 700; }

.pricing-note { display: flex; justify-content: center; padding: 0 64px 30px; background: var(--bg-tint); text-align: center; }
.pricing-note p { font: 500 15px 'Inter', sans-serif; color: var(--gray-muted); max-width: 640px; line-height: 1.6; margin: 0; }

.care-plan-wrap { display: flex; justify-content: center; padding: 20px 64px 90px; background: var(--bg-tint); }
.care-plan { display: flex; align-items: center; gap: 48px; max-width: 940px; background: #FFFFFF; border-radius: 32px; padding: 48px; box-shadow: 0 10px 30px -18px rgba(43,47,56,0.15); flex-wrap: wrap; }
.care-plan-copy { flex: 1; min-width: 260px; display: flex; flex-direction: column; gap: 14px; }
.care-plan-copy .pricing-eyebrow { color: var(--violet); }
.care-plan-copy h3 { font: 800 28px 'Inter', sans-serif; color: var(--charcoal); margin: 0; }
.care-plan-copy p { font: 500 15px 'Inter', sans-serif; color: var(--gray-text); line-height: 1.6; margin: 0; }
.care-plan-copy .features { display: flex; flex-direction: column; gap: 10px; margin-top: 6px; }
.care-plan-copy .features span { font: 500 15px 'Inter', sans-serif; color: var(--charcoal); }
.care-plan-scope { display: flex; gap: 28px; margin-top: 4px; flex-wrap: wrap; padding-top: 14px; border-top: 1px solid var(--violet-lighter); }
.care-plan-scope div { flex: 1; min-width: 180px; }
.care-plan-scope h5 { font: 800 12px 'Inter', sans-serif; letter-spacing: 1px; text-transform: uppercase; margin: 0 0 6px; }
.care-plan-scope .in-scope h5 { color: #3E8A54; }
.care-plan-scope .extra h5 { color: #A63244; }
.care-plan-scope p { font: 500 13px 'Inter', sans-serif; color: var(--gray-text); line-height: 1.5; margin: 0; }
.care-plan-price { display: flex; flex-direction: column; align-items: center; gap: 6px; background: var(--bg-tint); border-radius: 24px; padding: 32px 40px; flex-shrink: 0; }
.care-plan-price .amount { font: 800 40px 'Inter', sans-serif; color: var(--charcoal); }
.care-plan-price .amount .per { font: 700 16px 'Inter', sans-serif; color: var(--gray-muted); }
.care-plan-price .alt { font: 500 13px 'Inter', sans-serif; color: var(--gray-muted); }
.care-plan-price .promo { font: 700 13px 'Inter', sans-serif; color: var(--violet); margin-top: 10px; text-align: center; }
.care-plan-price .btn { margin-top: 14px; width: 100%; text-align: center; }

.photo-strip-wrap { display: flex; flex-direction: column; gap: 16px; padding: 80px 0; background: #FFFFFF; }
.photo-strip-wrap h2 { font: 800 32px 'Inter', sans-serif; color: var(--charcoal); text-align: center; margin: 0; }
.photo-strip-note { font: 500 14px 'Inter', sans-serif; color: var(--gray-muted); text-align: center; margin: 0 auto 16px; }
.photo-strip { display: flex; width: 100%; flex-wrap: wrap; }
.photo-strip img { flex: 1; min-width: 200px; width: 20%; height: 340px; object-fit: cover; display: block; }

/* ===== ABOUT PAGE ===== */
.about-intro { position: relative; display: flex; align-items: center; gap: 56px; padding: 90px 64px; background: linear-gradient(135deg, #F4EFFC 0%, #FBF9FE 55%, #FFFFFF 100%); overflow: hidden; flex-wrap: wrap; }
.about-intro-blob { position: absolute; width: 480px; height: 480px; border-radius: 55% 45% 50% 50% / 45% 55% 45% 55%; background: var(--violet-lighter); top: -200px; right: -140px; opacity: 0.9; }
.about-intro img { position: relative; width: 380px; height: auto; flex-shrink: 0; display: block; filter: drop-shadow(0 25px 30px rgba(123,92,224,0.35)); }
.about-intro-copy { position: relative; display: flex; flex-direction: column; gap: 22px; max-width: 680px; }
.about-intro-copy h1 { font: 800 46px 'Inter', sans-serif; letter-spacing: -1px; color: var(--charcoal); line-height: 1.15; margin: 0; }
.about-intro-copy p { font: 500 17px 'Inter', sans-serif; color: var(--gray-text); line-height: 1.65; margin: 0; }

.why-section { display: flex; flex-direction: column; gap: 40px; padding: 20px 64px 100px; background: var(--bg-tint); }
.why-section > img { width: 640px; height: auto; align-self: center; display: block; filter: drop-shadow(0 25px 30px rgba(43,47,56,0.2)); }
.why-section h2 { font: 800 32px 'Inter', sans-serif; color: var(--charcoal); text-align: center; margin: 0; }
.why-cards { display: flex; gap: 36px; flex-wrap: wrap; }
.why-card { flex: 1; min-width: 220px; display: flex; flex-direction: column; gap: 12px; }
.why-card h3 { font: 700 18px 'Inter', sans-serif; color: var(--violet); margin: 0; }
.why-card p { font: 500 15px 'Inter', sans-serif; color: var(--gray-text); line-height: 1.55; margin: 0; }

.local-roots { display: flex; align-items: center; gap: 48px; padding: 0px 64px 100px; background: var(--bg-tint); flex-wrap: wrap; }
.local-roots img { flex: 0 0 460px; max-width: 460px; width: 100%; height: auto; display: block; filter: drop-shadow(0 20px 25px rgba(43,47,56,0.2)); }
.local-roots-copy { flex: 1; min-width: 260px; display: flex; flex-direction: column; gap: 16px; }
.local-roots-copy .pricing-eyebrow { color: var(--violet); }
.local-roots-copy h2 { font: 800 30px 'Inter', sans-serif; color: var(--charcoal); line-height: 1.3; margin: 0; }
.local-roots-copy p { font: 500 17px 'Inter', sans-serif; color: var(--gray-text); line-height: 1.65; margin: 0; }
.local-roots-stats { display: flex; gap: 28px; margin-top: 10px; padding-top: 20px; border-top: 1px solid var(--violet-lighter); flex-wrap: wrap; }
.local-roots-stats .stat-label { font: 800 26px 'Inter', sans-serif; color: var(--violet); display: block; }
.local-roots-stats .stat-desc { font: 500 13px 'Inter', sans-serif; color: var(--gray-text); }

/* ===== CONTACT PAGE ===== */
.contact-header { position: relative; display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 90px 64px 60px; text-align: center; background: linear-gradient(135deg, #F4EFFC 0%, #FBF9FE 55%, #FFFFFF 100%); overflow: hidden; }
.contact-wrap { display: flex; align-items: flex-start; gap: 56px; padding: 60px 64px 110px; justify-content: center; background: var(--bg-tint); flex-wrap: wrap; }
.contact-form { flex: 1.3; min-width: 300px; max-width: 620px; display: flex; flex-direction: column; gap: 18px; background: #FFFFFF; border-radius: 32px; padding: 44px; box-shadow: 0 10px 30px -18px rgba(43,47,56,0.18); }
.form-row { display: flex; gap: 18px; flex-wrap: wrap; }
.form-row .form-field { flex: 1; min-width: 200px; }
.form-field { display: flex; flex-direction: column; gap: 6px; }
.form-field label { font: 700 13px 'Inter', sans-serif; color: var(--charcoal); }
.form-field input, .form-field textarea, .form-field select {
  background: #FFFFFF; border: 1.5px solid var(--violet-lighter); border-radius: 16px;
  padding: 0 16px; font: 500 15px 'Inter', sans-serif; color: var(--charcoal);
  width: 100%; box-sizing: border-box; outline: none; font-family: 'Inter', sans-serif;
}
.form-field input, .form-field select { height: 48px; }
.form-field select { -webkit-appearance: none; appearance: none; background-repeat: no-repeat; background-position: right 16px center; }
.form-field textarea { height: 120px; padding: 14px 16px; resize: vertical; }
#form-status { font: 600 14px 'Inter', sans-serif; text-align: center; min-height: 20px; }
.contact-info { flex: 1; min-width: 260px; max-width: 380px; display: flex; flex-direction: column; gap: 28px; }
.contact-info img.desk-photo { position: relative; width: 100%; height: auto; display: block; filter: drop-shadow(0 15px 20px rgba(43,47,56,0.25)); }
.contact-info-block { display: flex; flex-direction: column; gap: 6px; }
.contact-info-label { font: 700 13px 'Inter', sans-serif; letter-spacing: 1.5px; color: var(--gray-muted); text-transform: uppercase; }
.contact-info-value { font: 500 16px 'Inter', sans-serif; color: var(--gray-text); }
.contact-info-value a { font-weight: 700; }
.contact-info img.person-photo { width: 190px; height: auto; align-self: center; display: block; filter: drop-shadow(0 15px 20px rgba(43,47,56,0.22)); margin-top: 4px; }

/* ===== PRIVACY PAGE ===== */
.legal-wrap { display: flex; justify-content: center; padding: 80px 64px 100px; background: #FFFFFF; }
.legal-content { max-width: 680px; display: flex; flex-direction: column; gap: 18px; }
.legal-content h1 { font: 800 36px 'Inter', sans-serif; color: var(--charcoal); margin: 0 0 4px; }
.legal-content .legal-updated { font: 500 13px 'Inter', sans-serif; color: var(--gray-muted); margin: 0 0 10px; }
.legal-content h2 { font: 700 19px 'Inter', sans-serif; color: var(--charcoal); margin: 18px 0 0; }
.legal-content p, .legal-content li { font: 500 15px 'Inter', sans-serif; color: var(--gray-text); line-height: 1.65; margin: 0; }
.legal-content ul { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; }

/* ===== MOBILE ===== */
@media (max-width: 900px) {
  .nav { padding: 18px 24px; }
  .nav-brand span { font-size: 17px; }
  .nav-links { position: fixed; top: 73px; left: 0; right: 0; bottom: 0; background: #FFFFFF; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 4px; padding: 20px 24px 40px; transform: translateX(100%); transition: transform 0.28s ease; z-index: 30; overflow-y: auto; }
  .nav-links.open { transform: translateX(0); }
  .nav-link { padding: 14px 0; width: 100%; border-bottom: 1px solid var(--border-light); font-size: 17px; }
  .nav-cta { margin-top: 14px; text-align: center; width: 100%; }
  .hamburger { display: flex; }

  .hero, .dark-banner { flex-direction: column; padding: 40px 24px !important; gap: 36px; }
  .hero-photo, .dark-banner-photo { width: 100%; min-width: 0; max-width: 420px; border-radius: 28px; }
  .hero-headline { font-size: 36px; }
  .hero-sub { font-size: 16px; }
  .hero-copy, .dark-banner-copy { max-width: 100%; }
  .hero-actions { flex-wrap: wrap; }

  .value-props { flex-direction: column; padding: 44px 24px; }

  .local-section { flex-direction: column; padding: 60px 24px; gap: 36px; }
  .local-photos img { width: 46%; min-width: 160px; }
  .local-photos img.offset { margin-top: 40px; }

  .how-it-works { padding: 50px 24px 60px; }
  .how-header { flex-direction: column; }
  .how-header img { width: 160px !important; }
  .how-header-title { gap: 24px; }
  .how-steps { flex-direction: column; gap: 28px; }

  .recent-work { padding: 50px 24px 60px; }
  .recent-work-grid { grid-template-columns: repeat(2, 1fr); }

  .cta-band, .cta-band-simple, .cta-band-dark { padding: 60px 24px; }
  .cta-band h2, .cta-band-simple h2, .cta-band-dark h2 { font-size: 26px; }

  .footer { padding: 40px 24px 24px; flex-direction: column; gap: 24px; }
  .footer-bottom { padding: 16px 24px 28px; }

  .page-header, .contact-header { padding: 60px 24px 40px; }
  .page-header h1 { font-size: 34px; }

  .pricing-cards { padding: 24px 24px 30px; }
  .pricing-card { max-width: 100%; }
  .scope-box-wrap { padding: 0 24px 40px; }
  .scope-box { padding: 26px; gap: 26px; }

  .care-plan { padding: 28px; gap: 28px; }

  .photo-strip img { height: 220px; }

  .about-intro { padding: 50px 24px; }
  .about-intro img { width: 220px; }
  .about-intro-copy h1 { font-size: 30px; }

  .why-section { padding: 20px 24px 60px; }
  .why-section > img { width: 100%; }
  .why-cards { flex-direction: column; gap: 24px; }

  .local-roots { padding: 0 24px 60px; }
  .local-roots img { max-width: 100%; }

  .contact-wrap { padding: 40px 24px 70px; }
  .contact-form { padding: 28px; }

  .legal-wrap { padding: 50px 24px 70px; }
}

@media (max-width: 520px) {
  .recent-work-grid { grid-template-columns: 1fr; }
}
