/* ==========================================================
SITE.CSS -- the one-page mslc.land layout.
Standalone on purpose: the shared css/*.css files are untouched,
so the /view/ offer pages that load them keep working as before.
Same brand tokens as base.css (--accent #2d5537 and friends).
========================================================== */

/* ----------------------------------------------------------
TOKENS (light + dark)
---------------------------------------------------------- */
:root {
  --bg: #f9f7f2;
  --bg-alt: #f1efe7;
  --surface: #ffffff;
  --text: #2c2824;
  --heading: #16281c;
  --muted: #5f5a52;
  --border: #d9d4c7;

  --accent: #2d5537;
  --accent-hover: #234628;
  --accent-dark: #16281c;
  --accent-light: #7bab5c;
  --accent-soft: #dfe9d5;
  --accent-ink: #2d5537;      /* green used for text/icons */

  --footer-bg: #16281c;
  --footer-text: rgba(255, 255, 255, 0.78);
  --header-bg: #ffffff;

  --radius: 14px;
  --radius-lg: 20px;
  --max: 1160px;
  --header-h: 72px;
  --shadow: 0 1px 2px rgba(22, 40, 28, 0.06), 0 8px 24px rgba(22, 40, 28, 0.06);
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #111814;
    --bg-alt: #16201a;
    --surface: #1b2620;
    --text: #e6e4dd;
    --heading: #f3f1ea;
    --muted: #b3b0a6;
    --border: #2f3d34;
    --accent-soft: #24382b;
    --accent-ink: #9cc47f;    /* the leaf-green reads on dark; pine doesn't */
    --footer-bg: #0b120e;
    --footer-text: rgba(255, 255, 255, 0.8);
    --header-bg: #141d17;
    --shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 8px 24px rgba(0, 0, 0, 0.25);
  }
}

/* ----------------------------------------------------------
BASE
---------------------------------------------------------- */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 12px); }
body {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
h1, h2, h3 { font-family: "Playfair Display", Georgia, serif; color: var(--heading); line-height: 1.2; }
html.nav-open, body.nav-open { overflow: hidden; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.001ms !important; animation-duration: 0.001ms !important; }
}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 2px solid var(--accent-light);
  outline-offset: 3px;
  border-radius: 6px;
}
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.wrap { width: min(100% - 32px, var(--max)); margin: 0 auto; }
svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* ----------------------------------------------------------
BUTTONS
---------------------------------------------------------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  padding: 0.8rem 1.35rem; border-radius: 999px; border: 1px solid transparent;
  font: 600 0.95rem/1.2 "Inter", sans-serif; text-decoration: none; cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.btn svg { width: 18px; height: 18px; flex-shrink: 0; }
.btn-primary { background: var(--accent); color: #fff; }
.btn-primary:hover { background: var(--accent-hover); }
.btn-primary:disabled { opacity: 0.6; cursor: default; }
.btn-ghost { background: rgba(255, 255, 255, 0.08); color: #fff; border-color: rgba(255, 255, 255, 0.45); }
.btn-ghost:hover { background: rgba(255, 255, 255, 0.18); }
.btn-block { width: 100%; }

/* ----------------------------------------------------------
HEADER (white, fixed at the top)
---------------------------------------------------------- */
.site-header {
  position: sticky; top: 0; z-index: 1000;
  background: var(--header-bg);
  border-bottom: 1px solid var(--border);
}
.header-inner {
  width: min(100% - 32px, var(--max)); margin: 0 auto;
  min-height: var(--header-h);
  display: flex; align-items: center; gap: 1.5rem;
}
.brand { display: flex; align-items: center; flex-shrink: 0; }
.site-logo { height: 46px; width: auto; }
.logo-on-dark { display: none; }
@media (prefers-color-scheme: dark) {
  .logo-on-light { display: none; }
  .logo-on-dark { display: block; }
}
.site-header nav { margin-left: auto; }
.site-header nav ul { list-style: none; display: flex; gap: 0.35rem; align-items: center; }
.site-header nav a {
  display: block; padding: 0.5rem 0.8rem; border-radius: 8px;
  text-decoration: none; font-weight: 500; font-size: 0.95rem; color: var(--muted);
}
.site-header nav a:hover, .site-header nav a.is-current { color: var(--accent-ink); background: var(--accent-soft); }
.nav-phone-item { display: none; }
.phone-pill {
  display: inline-flex; align-items: center; gap: 0.45rem; flex-shrink: 0;
  background: var(--accent); color: #fff; text-decoration: none;
  padding: 0.55rem 1rem; border-radius: 999px; font-weight: 600; font-size: 0.92rem;
}
.phone-pill:hover { background: var(--accent-hover); }
.phone-pill svg { width: 16px; height: 16px; }
.hamburger { display: none; }

@media (max-width: 860px) {
  .site-logo { height: 40px; }
  .phone-pill { margin-left: auto; padding: 0.5rem 0.75rem; }
  .phone-pill span { display: none; }
  .hamburger {
    display: inline-flex; flex-direction: column; justify-content: center; gap: 5px;
    width: 44px; height: 44px; padding: 0 10px; border: 1px solid var(--border);
    border-radius: 10px; background: var(--surface); cursor: pointer;
  }
  .hamburger .bar { display: block; height: 2px; background: var(--heading); border-radius: 2px; transition: transform 0.2s ease, opacity 0.2s ease; }
  .hamburger.is-open .bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .hamburger.is-open .bar:nth-child(2) { opacity: 0; }
  .hamburger.is-open .bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .site-header nav {
    position: fixed; left: 0; right: 0; top: var(--header-h); bottom: 0;
    background: var(--header-bg); padding: 1rem 16px 2rem;
    transform: translateX(100%); transition: transform 0.25s ease; visibility: hidden;
    margin-left: 0;
  }
  .site-header nav.open { transform: none; visibility: visible; }
  .site-header nav ul { flex-direction: column; align-items: stretch; gap: 0.25rem; }
  .site-header nav a { font-size: 1.1rem; padding: 0.85rem 1rem; color: var(--heading); }
  .nav-phone-item { display: block; }
  .nav-phone-item a { color: var(--accent-ink); font-weight: 700; }
}

/* ----------------------------------------------------------
HERO -- image full width, text on the left
---------------------------------------------------------- */
.hero { position: relative; min-height: min(86vh, 760px); display: flex; align-items: center; overflow: hidden; background: #1c2a20; }
.hero-media { position: absolute; inset: 0; transform: scale(1); transition: transform 10s ease-out; }
.hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* The slow push-in from the old home page: js/main.js adds is-loaded to
   .hero-full as soon as the page starts, and the photo eases to 108%
   over ten seconds. The light rays sit on the photo inside the same
   wrapper, so they move in with it. */
.hero-full.is-loaded .hero-media { transform: scale(1.08); }

/* Sunlight through the trees. forest-rays.webp is made from the photo
   itself: light streaks out from the sun only through the bright gaps,
   so the trunks and branches break it up the way real light does. It
   lies over the photo (same size and crop) and, as the photo moves in,
   spreads outward from the sun and brightens -- over the same ten
   seconds -- then holds still. */
@property --ray-reach { syntax: "<percentage>"; inherits: false; initial-value: 0%; }
.hero-godrays {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  pointer-events: none; mix-blend-mode: screen; opacity: 0;
  --ray-reach: 0%;
  -webkit-mask-image: radial-gradient(circle at var(--sun-x, 84%) var(--sun-y, 29%), #000 var(--ray-reach), transparent calc(var(--ray-reach) + 30%));
          mask-image: radial-gradient(circle at var(--sun-x, 84%) var(--sun-y, 29%), #000 var(--ray-reach), transparent calc(var(--ray-reach) + 30%));
}
.hero-full.is-loaded .hero-godrays { animation: hero-light-in 10s ease-out forwards; }
@keyframes hero-light-in {
  from { opacity: 0;    --ray-reach: 0%; }
  to   { opacity: 0.85; --ray-reach: 120%; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-media { transform: none !important; transition: none; }
  .hero-full.is-loaded .hero-godrays { animation: none; opacity: 0.85; --ray-reach: 120%; }
}
.hero-shade {
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(13, 22, 16, 0.86) 0%, rgba(13, 22, 16, 0.62) 45%, rgba(13, 22, 16, 0.25) 100%),
    linear-gradient(0deg, rgba(13, 22, 16, 0.45) 0%, rgba(13, 22, 16, 0) 40%);
}
.hero-inner { position: relative; padding: 4.5rem 0; color: #fff; }
.hero-inner > * { max-width: 620px; }
.hero-badge {
  display: inline-flex; align-items: center; gap: 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.35); background: rgba(255, 255, 255, 0.08);
  padding: 0.35rem 0.85rem; border-radius: 999px;
  font-size: 0.75rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
}
.hero-badge .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--accent-light); }
.hero h1 { color: #fff; font-size: clamp(2.3rem, 5.4vw, 4rem); margin-top: 1.4rem; letter-spacing: -0.01em; }
.hero-lead { margin-top: 1.2rem; font-size: clamp(1.02rem, 1.6vw, 1.15rem); color: rgba(255, 255, 255, 0.86); }
.hero-buttons { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2rem; }
.hero-stats {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem;
  margin-top: 3rem; padding-top: 1.75rem; border-top: 1px solid rgba(255, 255, 255, 0.2); max-width: 600px;
}
.hero-stats dt { font-family: "Playfair Display", Georgia, serif; font-size: 1.6rem; font-weight: 700; color: #fff; }
.hero-stats dd { font-size: 0.85rem; color: rgba(255, 255, 255, 0.72); margin-top: 0.15rem; }

/* ----------------------------------------------------------
HIGHLIGHTS BAND
---------------------------------------------------------- */
.band { background: var(--bg-alt); border-bottom: 1px solid var(--border); }
.band-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.75rem; padding: 2.75rem 0; }
.band-item { display: flex; gap: 0.9rem; align-items: flex-start; }
.band-item h3 { font-size: 1.1rem; }
.band-item p { font-size: 0.9rem; color: var(--muted); margin-top: 0.2rem; line-height: 1.45; }
.icon-chip {
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
  width: 44px; height: 44px; border-radius: 12px; background: var(--accent-soft); color: var(--accent-ink);
}
.icon-chip svg { width: 22px; height: 22px; }

/* ----------------------------------------------------------
SECTIONS
---------------------------------------------------------- */
.section { padding: 5.5rem 0; }
.section.alt { background: var(--bg-alt); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.section-head { max-width: 720px; margin-bottom: 2.75rem; }
.section-head.center { margin-left: auto; margin-right: auto; text-align: center; }
.section h2 { font-size: clamp(1.8rem, 3.4vw, 2.5rem); letter-spacing: -0.01em; }
.section-head p, .lead { color: var(--muted); font-size: 1.05rem; margin-top: 0.9rem; }
.eyebrow {
  display: inline-block; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--accent-ink); margin-bottom: 0.75rem;
}

.card {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius); box-shadow: var(--shadow);
}
.card-grid.three { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.feature { padding: 1.9rem 1.75rem; border-top: 3px solid var(--accent); }
.feature h3 { font-size: 1.25rem; margin-top: 1.2rem; }
.feature p { color: var(--muted); margin-top: 0.6rem; font-size: 0.97rem; }

/* About */
.about-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 3.5rem; align-items: start; }
.about-story p + p { margin-top: 1rem; }
.about-story .lead { margin-bottom: 1.4rem; }
.principles { display: grid; gap: 1rem; }
.principles-title { font-size: 1.35rem; margin-bottom: 0.25rem; }
.principle { display: flex; gap: 1.1rem; padding: 1.4rem 1.5rem; }
.principle h3 { font-size: 1.12rem; }
.principle p { color: var(--muted); font-size: 0.95rem; margin-top: 0.4rem; }
.num {
  font-family: "Playfair Display", Georgia, serif; font-weight: 700; font-size: 0.95rem;
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
  width: 40px; height: 40px; border-radius: 50%;
  border: 1px solid var(--border); color: var(--accent-ink); background: var(--bg);
}

/* Comparison */
.table-wrap { max-width: 900px; margin: 0 auto; border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; background: var(--surface); box-shadow: var(--shadow); }
.compare { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.compare th, .compare td { padding: 1rem 1.2rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--border); }
.compare tbody tr:last-child th, .compare tbody tr:last-child td { border-bottom: none; }
.compare thead th { font-family: "Playfair Display", Georgia, serif; font-size: 1.02rem; color: var(--heading); background: var(--bg-alt); }
.compare thead th.ours { background: var(--accent); color: #fff; }
.compare tbody th { font-weight: 600; color: var(--heading); width: 24%; }
.compare td { color: var(--muted); width: 38%; }
.compare td.ours { color: var(--text); background: color-mix(in srgb, var(--accent-soft) 45%, transparent); }

/* Process */
.process-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 3.5rem; align-items: start; }
.process-img { margin-top: 2rem; border-radius: var(--radius-lg); aspect-ratio: 4 / 3; object-fit: cover; width: 100%; height: auto; box-shadow: var(--shadow); }
.steps { list-style: none; display: grid; gap: 1.1rem; position: relative; }
.step { padding: 1.6rem 1.6rem 1.6rem 1.6rem; display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 1.1rem; }
.step .num { grid-row: span 2; }
.step h3 { font-size: 1.2rem; align-self: center; }
.step p { grid-column: 2; color: var(--muted); font-size: 0.96rem; margin-top: 0.5rem; }

/* FAQ */
.faq-grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr); gap: 3.5rem; align-items: start; }
.faq-intro { position: sticky; top: calc(var(--header-h) + 24px); }
.faq-list { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }
.faq-item + .faq-item { border-top: 1px solid var(--border); }
.faq-item summary {
  list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 1.15rem 1.4rem; font-family: "Playfair Display", Georgia, serif; font-weight: 600; font-size: 1.05rem; color: var(--heading);
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: "+"; flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--accent-soft); color: var(--accent-ink); font-family: "Inter", sans-serif; font-size: 1.1rem; font-weight: 600;
}
.faq-item[open] summary::after { content: "\2212"; }
.faq-item summary:hover { background: var(--bg-alt); }
.faq-answer { padding: 0 1.4rem 1.3rem; color: var(--muted); font-size: 0.97rem; }
.faq-answer a { color: var(--accent-ink); font-weight: 600; }

/* Contact */
.contact-grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.2fr); gap: 3.5rem; align-items: start; }
.helper { color: var(--muted); font-size: 0.95rem; margin-top: 1rem; }
.contact-list { list-style: none; display: grid; gap: 1.1rem; margin-top: 2rem; }
.contact-list li { display: flex; gap: 0.9rem; align-items: flex-start; }
.contact-list h3 { font-size: 1.02rem; }
.contact-list p { color: var(--muted); font-size: 0.95rem; }
.contact-list a { color: var(--accent-ink); font-weight: 600; text-decoration: none; }
.form-card { padding: 2rem; }
.form-title { font-size: 1.4rem; margin-bottom: 1.4rem; }
.contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem 1.25rem; }
.form-group { display: flex; flex-direction: column; gap: 0.4rem; min-width: 0; }
.form-group-wide, .form-privacy-note, .contact-form .btn, .form-status { grid-column: 1 / -1; }
.form-group > label { font-size: 0.88rem; font-weight: 600; color: var(--heading); }
.contact-form input[type="text"], .contact-form input[type="email"], .contact-form textarea {
  width: 100%; font: inherit; font-size: 0.95rem; color: var(--text); background: var(--bg);
  border: 1px solid var(--border); border-radius: 10px; padding: 0.7rem 0.85rem;
}
.contact-form input::placeholder, .contact-form textarea::placeholder { color: var(--muted); opacity: 0.7; }
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--accent); outline: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-light) 35%, transparent); }
.contact-form textarea { min-height: 120px; resize: vertical; }
.radio-group { display: flex; flex-wrap: wrap; gap: 0.5rem 1.1rem; padding-top: 0.2rem; }
.radio-group label { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.95rem; cursor: pointer; }
.radio-group input, .range-row input { accent-color: var(--accent); }
.range-row { display: flex; align-items: center; gap: 1rem; }
.range-row input { flex: 1; }
.range-row output { font-weight: 700; color: var(--accent-ink); min-width: 1.6rem; text-align: center; }
.form-privacy-note { font-size: 0.85rem; color: var(--muted); }
.form-privacy-note a { color: var(--accent-ink); font-weight: 600; }
.form-status { font-size: 0.95rem; min-height: 1.2em; }
.form-status.is-success { color: var(--accent-ink); font-weight: 600; }
.form-status.is-error { color: #c0392b; font-weight: 600; }
.hp-field { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }

/* Footer */
.site-footer { background: var(--footer-bg); color: var(--footer-text); padding: 3rem 0 2.2rem; }
.footer-top { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; padding-bottom: 1.75rem; border-bottom: 1px solid rgba(255, 255, 255, 0.14); }
.footer-logo { height: 44px; width: auto; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 0.4rem 1.4rem; }
.site-footer nav a { color: var(--footer-text); text-decoration: none; font-size: 0.93rem; }
.site-footer nav a:hover { color: #fff; }
.footer-bottom { text-align: center; padding-top: 1.6rem; font-size: 0.88rem; display: grid; gap: 0.3rem; }
.footer-legal a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

/* Mobile call bar */
.mobile-call-btn { display: none; }

/* ----------------------------------------------------------
RESPONSIVE
---------------------------------------------------------- */
@media (max-width: 1000px) {
  .band-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .card-grid.three { grid-template-columns: minmax(0, 1fr); }
  .about-grid, .process-grid, .faq-grid, .contact-grid { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
  .faq-intro { position: static; }
  .process-img { max-height: 360px; }
}
@media (max-width: 768px) {
  :root { --header-h: 64px; }
  .section { padding: 4rem 0; }
  .hero { min-height: 0; }
  .hero-inner { padding: 3.5rem 0 3rem; }
  .hero-stats { gap: 0.9rem; margin-top: 2.25rem; }
  .hero-stats dt { font-size: 1.3rem; }
  .band-grid { grid-template-columns: minmax(0, 1fr); gap: 1.35rem; padding: 2.25rem 0; }
  .contact-form { grid-template-columns: minmax(0, 1fr); }
  .form-card { padding: 1.4rem; }
  .compare { font-size: 0.9rem; }
  .compare thead { display: none; }
  .compare, .compare tbody, .compare tr, .compare th, .compare td { display: block; width: 100%; }
  .compare tr { border-bottom: 1px solid var(--border); padding: 0.9rem 1rem; }
  .compare tbody tr:last-child { border-bottom: none; }
  .compare tbody th, .compare td { border: none; padding: 0.2rem 0; }
  .compare tbody th { font-size: 1rem; margin-bottom: 0.3rem; }
  .compare td::before { display: block; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
  .compare td:nth-of-type(1)::before { content: "Traditional listing"; }
  .compare td.ours { background: var(--accent-soft); border-radius: 8px; padding: 0.5rem 0.65rem; margin-top: 0.4rem; }
  .compare td.ours::before { content: "Direct sale with us"; color: var(--accent-ink); }
  .mobile-call-btn {
    display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 999;
    text-align: center; background: var(--accent); color: #fff; font-weight: 700;
    padding: 0.95rem; text-decoration: none; box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.18);
  }
  body { padding-bottom: 52px; }
}

/* ----------------------------------------------------------
PRIVACY PAGE (its own page, same look)
---------------------------------------------------------- */
.legal-wrap { max-width: 780px; }
.privacy-header h1 { font-size: clamp(1.9rem, 4vw, 2.6rem); }
.privacy-header p { color: var(--muted); margin-top: 0.75rem; font-size: 1.05rem; }
.privacy-body { margin-top: 2.25rem; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); padding: 2.25rem; }
.privacy-updated { font-size: 0.85rem; color: var(--muted); }
.privacy-body h2 { font-size: 1.5rem; margin-top: 2rem; }
.privacy-body h2:first-of-type { margin-top: 1rem; }
.privacy-body h3 { font-size: 1.1rem; margin-top: 1.4rem; }
.privacy-body p { margin-top: 0.5rem; color: var(--text); }
.privacy-body a { color: var(--accent-ink); font-weight: 600; }
.privacy-disclaimer-note { margin-top: 1rem; padding: 1rem 1.2rem; border-radius: 10px; background: var(--accent-soft); border-left: 4px solid var(--accent); }
.privacy-disclaimer-note p { margin: 0; }
@media (max-width: 768px) { .privacy-body { padding: 1.4rem; } }

/* About -- "Who We Are" subheading */
.about-sub { font-size: 1.3rem; margin: 1.8rem 0 0.6rem; }
