/* Wylde Man — polish layer (loaded after inline styles) */
body.wm-home { background: #F7F6F1; }

.wylde-bg {
  position: fixed; inset: 0; width: 100vw; height: 100vh;
  z-index: 0; pointer-events: none;
  background: url("/forest-still.jpg") center / cover no-repeat;
}
.wylde-bg video {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.wylde-bg::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(247, 246, 241, 0.52) 0%, rgba(247, 246, 241, 0.72) 45%, rgba(247, 246, 241, 0.78) 100%);
}
body > *:not(.wylde-bg) { position: relative; z-index: 1; }

/* ── full-bleed layout (homepage only): no more boxed column ── */
.wm-home .site { max-width: none !important; background: transparent !important; }

.wm-home nav {
  padding-inline: max(2rem, calc((100vw - 1160px) / 2)) !important;
  background: rgba(247, 246, 241, 0.82);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border-bottom: 0.5px solid rgba(38, 41, 37, 0.1) !important;
}
.wm-home footer { padding-inline: max(2rem, calc((100vw - 1160px) / 2)) !important; }

.wm-home section { border-bottom: none !important; }
.wm-home section:not(.freebie):not(.app-section):not(.about-strip) {
  max-width: 880px; margin-inline: auto;
}

/* full-bleed bands with centered content */
.wm-home .freebie, .wm-home .app-section, .wm-home .about-strip {
  padding-inline: max(2.5rem, calc((100vw - 1160px) / 2)) !important;
}
.wm-home .freebie, .wm-home .about-strip { background: rgba(237, 238, 230, 0.94) !important; }
.wm-home .app-section { background: rgba(30, 33, 29, 0.96) !important; }

/* hero: open, over the forest — headline is the brand moment, no logo */
.wm-home .hero { background: transparent !important; padding-top: clamp(6rem, 14vh, 10rem) !important; }
.wm-home .hero-image-wrap { display: none !important; }

/* subpages keep their column layout; forest shows on the margins */
.wm-sub .site { background: rgba(247, 246, 241, 0.95) !important; }

/* type & rhythm */
.hero-headline { letter-spacing: -0.01em; }
h1, h2, h3 { text-wrap: balance; }

/* buttons & CTAs — consistent gold treatment */
.nav-cta, .path-cta, .app-cta, a.path-cta, a.app-cta {
  transition: background .3s ease, color .3s ease, border-color .3s ease, transform .3s ease;
}
.nav-cta:hover, .path-cta:hover, .app-cta:hover {
  background: #56644E !important; color: #F7F6F1 !important;
  border-color: #56644E !important; transform: translateY(-1px);
}
button[type="submit"], .chat-send {
  transition: background .25s ease, transform .25s ease;
}
button[type="submit"]:hover, .chat-send:hover {
  background: #3F4A39 !important; transform: translateY(-1px);
}

/* nav link underline slide */
.nav-links a { position: relative; padding-bottom: 3px; transition: color .25s ease; }
.nav-links a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: #56644E; transform: scaleX(0); transform-origin: left;
  transition: transform .3s cubic-bezier(.2, .7, .2, 1);
}
.nav-links a:hover::after { transform: scaleX(1); }

/* imagery depth (photos only — never the transparent logo) */
.about-img img {
  box-shadow: 0 18px 50px rgba(38, 41, 37, 0.16);
}

@media (prefers-reduced-motion: reduce) {
  .nav-cta:hover, .path-cta:hover, .app-cta:hover,
  button[type="submit"]:hover, .chat-send:hover { transform: none; }
}
