/* lingammassage.net - deep forest + copper. lm- prefix (Rule 15), distinct from all 7 siblings. */


:root {
  --lm-bg: #101b17;
  --lm-bg-2: #16241f;
  --lm-panel: #1b2c26;
  --lm-ink: #e9eee9;
  --lm-ink-soft: #9aa89f;
  --lm-copper: #c98b52;
  --lm-copper-dk: #a96f3c;
  --lm-bronze: #d9a441;
  --lm-bronze-2: #e0b25a;
  --lm-moss: #6f9c72;
  --lm-line: rgba(255,255,255,.10);
  --lm-max: 1040px;
  --lm-serif: 'Crimson Pro', Georgia, serif;
  --lm-sans: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; overflow-x: clip; }
body { margin: 0; background: var(--lm-bg); color: var(--lm-ink); font-family: var(--lm-sans); font-size: 17px; line-height: 1.78; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; display: block; }
a { color: var(--lm-copper); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3 { font-family: var(--lm-serif); font-weight: 600; line-height: 1.2; letter-spacing: -.005em; margin: 0 0 .5em; color: #ffffff; }
h1 { font-size: clamp(2.2rem, 5.2vw, 3.4rem); }
h2 { font-size: clamp(1.5rem, 3.2vw, 2rem); margin-top: 1.8em; }
h3 { font-size: 1.18rem; }
p { margin: 0 0 1.05em; }

.lm-wrap { max-width: var(--lm-max); margin: 0 auto; padding: 0 24px; }
.lm-narrow { max-width: 700px; }
.lm-sec { padding: 54px 0; }
.lm-sec--tight { padding: 30px 0; }
.lm-muted { color: var(--lm-ink-soft); }
.lm-kicker { font-family: var(--lm-sans); font-size: .74rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--lm-bronze); }
.lm-rule { border: 0; border-top: 1px solid var(--lm-line); margin: 0; }

.lm-header { position: sticky; top: 0; z-index: 30; background: rgba(16,27,23,.92); backdrop-filter: blur(8px); border-bottom: 1px solid var(--lm-line); }
.lm-header__row { display: flex; align-items: center; justify-content: space-between; height: 66px; gap: 14px; }
.lm-logo { font-family: var(--lm-serif); font-weight: 600; font-size: 1.26rem; color: #ffffff; }
.lm-logo:hover { text-decoration: none; }
.lm-logo b { color: var(--lm-bronze); font-weight: 600; }
.lm-nav { display: flex; gap: 22px; align-items: center; }
.lm-nav a { color: var(--lm-ink-soft); font-size: .92rem; font-weight: 600; }
.lm-nav a:hover { color: var(--lm-copper-dk); text-decoration: none; }

.lm-hero { padding: 66px 0 46px; background: radial-gradient(100% 90% at 82% 0%, rgba(201,139,82,.18), transparent 62%), var(--lm-bg); border-bottom: 1px solid var(--lm-line); }
.lm-hero h1 { max-width: 15ch; }
.lm-hero .lm-lead { font-family: var(--lm-serif); font-size: clamp(1.15rem, 2vw, 1.5rem); color: var(--lm-ink-soft); max-width: 38ch; font-weight: 400; font-style: italic; }

.lm-prose { max-width: 700px; font-size: 1.08rem; }
.lm-prose p { color: #d5ded6; }
.lm-prose h2 { color: #ffffff; }
.lm-dropcap::first-letter { font-family: var(--lm-serif); font-size: 3.4rem; line-height: .82; float: left; padding: 6px 10px 0 0; color: var(--lm-bronze); font-weight: 600; }

.lm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.lm-card { display: block; padding: 20px; border: 1px solid var(--lm-line); border-radius: 14px; background: var(--lm-panel);  }
.lm-card:hover { text-decoration: none; border-color: var(--lm-bronze); transform: translateY(-2px); transition: .15s; }
.lm-card__name { font-family: var(--lm-serif); font-weight: 600; font-size: 1.2rem; color: #ffffff; margin-bottom: 3px; }
.lm-card__kw { font-size: .83rem; color: var(--lm-ink-soft); }

.lm-btn { display: inline-flex; align-items: center; gap: 8px; padding: 11px 20px; border-radius: 999px; font-weight: 700; font-size: .92rem; border: 1px solid transparent; }
.lm-btn:hover { text-decoration: none; filter: brightness(1.05); }
.lm-btn--copper { background: linear-gradient(135deg, var(--lm-copper), var(--lm-bronze)); color: #17110a; }
.lm-btn--ghost { background: transparent; color: var(--lm-ink); border-color: var(--lm-line); }

.lm-funnel { background: var(--lm-bg-2); border: 1px solid var(--lm-line); border-radius: 16px; padding: 26px; }
.lm-funnel h3 { margin: 0 0 6px; }

.lm-crumb { font-size: .85rem; color: var(--lm-ink-soft); margin-bottom: 14px; }
.lm-crumb a { color: var(--lm-ink-soft); }
.lm-related { display: flex; flex-wrap: wrap; gap: 8px; }
.lm-related a { font-size: .87rem; padding: 6px 13px; border: 1px solid var(--lm-line); border-radius: 999px; color: var(--lm-ink); background: var(--lm-panel); }
.lm-related a:hover { border-color: var(--lm-bronze); text-decoration: none; }

.lm-footer { border-top: 1px solid var(--lm-line); background: var(--lm-bg-2); padding: 40px 0 30px; margin-top: 44px; }
.lm-footer__in { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 28px; }
.lm-footer h4 { font-family: var(--lm-serif); font-weight: 600; font-size: 1.05rem; margin: 0 0 12px; color: #ffffff; }
.lm-footer a { display: block; color: var(--lm-ink-soft); font-size: .92rem; margin-bottom: 7px; }
.lm-footer__legal { grid-column: 1 / -1; border-top: 1px solid var(--lm-line); padding-top: 16px; font-size: .82rem; color: var(--lm-ink-soft); }

@media (max-width: 820px) { .lm-footer__in { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) {
  body { font-size: 16px; } .lm-wrap { padding: 0 16px; } .lm-sec { padding: 36px 0; }
  .lm-nav { display: none; } .lm-hero { padding: 44px 0 32px; } .lm-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .lm-card { padding: 15px; } .lm-card__name { font-size: 1.08rem; }
}
