/* ══════════════════════════════════════════
   PIECE OF MIND COACHING — Global Stylesheet
   Calm palette matching sales page style
   ══════════════════════════════════════════ */

:root {
  --snow:          #F7F1F0;
  --amaranth:      #7D0531;
  --amaranth-dark: #5C0224;
  --petal:         #F4C9D6;
  --forest:        #182D09;
  --white:         #ffffff;
  --body-text:     #304352;
  --mid-text:      #4A4A4A;
  --border-light:  rgba(48,67,82,0.12);
  --border-petal:  rgba(125,5,49,0.12);
  --petal-dim:     rgba(244,201,214,0.5);
}

/* ── Reset ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
img  { display:block; max-width:100%; }
body {
  font-family:'Montserrat', sans-serif;
  font-weight:300;
  background:var(--snow);
  color:var(--body-text);
  line-height:1.75;
  overflow-x:hidden;
}

/* ── NAV ── */
nav {
  position:fixed;
  top:0; left:0; right:0;
  z-index:300;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:1.1rem 6vw;
  background:var(--snow);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(125,5,49,0.1);
}
.nav-logo {
  font-family:'Anton', sans-serif;
  font-size:1rem;
  letter-spacing:0.08em;
  color:var(--forest);
  text-decoration:none;
}
.nav-logo span { color:var(--forest); }
.nav-links {
  list-style:none;
  display:flex;
  gap:2.5rem;
  align-items:center;
}
.nav-links a {
  text-decoration:none;
  font-size:0.63rem;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--mid-text);
  transition:color 0.2s;
}
.nav-links a:hover,
.nav-links a.active { color:var(--amaranth); }
.nav-cta {
  background:var(--forest) !important;
  color:white !important;
  padding:0.6rem 1.4rem;
  border-radius:2px;
  font-family:'Anton', sans-serif;
}

button { font-family:'Anton', sans-serif; }
.nav-cta:hover { background:var(--amaranth) !important; }

/* ── PAGE WRAPPER ── */
.page { padding-top:64px; }
/* Homepage hero handles its own nav offset */
.page:has(#hero) { padding-top:0; }

/* ── SECTION LABELS ── */
.section-tag {
  font-size:0.62rem;
  font-weight:600;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--amaranth);
  display:block;
  margin-bottom:1.1rem;
}
.section-tag-light {
  font-size:0.62rem;
  font-weight:600;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:rgba(244,201,214,0.7);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  margin-bottom:1.1rem;
}
.section-tag-light::before,
.section-tag-light::after {
  content:'';
  display:block;
  width:2rem; height:1px;
  background:var(--petal-dim);
}

/* ── HEADINGS ── */
h2 {
  font-family:'Anton', sans-serif;
  font-size:clamp(2rem,3.2vw,3.6rem);
  line-height:1.0;
  letter-spacing:0.01em;
}
h2.dark    { color:var(--forest); }
h2.light   { color:var(--snow); }
h2.amaranth{ color:var(--amaranth); }
h3 {
  font-family:'Anton', sans-serif;
  font-size:1.1rem;
  letter-spacing:0.04em;
  line-height:1.2;
}

/* ── BUTTONS ── */
/* Primary: forest bg, white text — matches sales page */
.btn-main {
  display:inline-block;
  background:var(--forest);
  color:white;
  text-decoration:none;
  padding:1rem 2.4rem;
  font-family:'Anton', sans-serif;
  font-size:0.78rem;
  letter-spacing:0.1em;
  border-radius:4px;
  transition:all 0.2s;
}
.btn-main:hover { background:var(--amaranth); }

/* Secondary outline: forest border */
.btn-outline {
  display:inline-block;
  color:var(--forest);
  text-decoration:none;
  padding:0.9rem 2rem;
  font-family:'Anton', sans-serif;
  font-size:0.72rem;
  letter-spacing:0.1em;
  border:1px solid var(--forest);
  border-radius:4px;
  transition:all 0.2s;
}
.btn-outline:hover { background:var(--forest); color:white; }

/* On dark (forest) sections: petal bg, forest text */
.btn-snow {
  display:inline-block;
  background:var(--petal);
  color:var(--forest);
  text-decoration:none;
  padding:1rem 2.4rem;
  font-family:'Anton', sans-serif;
  font-size:0.78rem;
  letter-spacing:0.1em;
  border-radius:4px;
  transition:all 0.2s;
}
.btn-snow:hover { background:var(--snow); color:var(--forest); }

.btn-outline-dark {
  display:inline-block;
  color:var(--petal);
  text-decoration:none;
  padding:0.9rem 2rem;
  font-family:'Anton', sans-serif;
  font-size:0.72rem;
  letter-spacing:0.1em;
  border:1px solid rgba(244,201,214,0.4);
  border-radius:4px;
  transition:all 0.2s;
}
.btn-outline-dark:hover { background:rgba(244,201,214,0.1); border-color:var(--petal); }

/* ── MARQUEE ── */
.band {
  background:var(--amaranth);
  padding:0.85rem 0;
  overflow:hidden;
  white-space:nowrap;
}
.band-track {
  display:inline-block;
  animation:marquee 30s linear infinite;
}
.band-track span {
  font-family:'Anton', sans-serif;
  font-size:0.72rem;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:rgba(247,241,240,0.85);
  padding:0 2.8rem;
}
.band-track span.sep { opacity:0.35; padding:0; letter-spacing:0; }
@keyframes marquee {
  from { transform:translateX(0); }
  to   { transform:translateX(-50%); }
}

/* ── PHOTO PLACEHOLDERS ── */
.photo-placeholder {
  width:100%; height:100%;
  display:flex; align-items:flex-end; padding:2.5rem;
}
.photo-caption { font-size:0.6rem; letter-spacing:0.15em; text-transform:uppercase; color:rgba(125,5,49,0.25); }
.photo-caption-light { font-size:0.6rem; letter-spacing:0.15em; text-transform:uppercase; color:rgba(244,201,214,0.2); }

/* ── CARDS ── */
.card { background:var(--snow); border:1px solid var(--border-light); border-radius:10px; padding:2.5rem; }
.card-forest { background:var(--forest); border-radius:10px; padding:4rem; }
.card-amaranth { background:var(--amaranth); border-radius:10px; padding:4rem; }

/* ── SCROLL REVEAL ── */
.reveal { opacity:0; transform:translateY(22px); transition:opacity 0.75s ease, transform 0.75s ease; }
.reveal.in { opacity:1; transform:none; }
.d1 { transition-delay:0.1s; }
.d2 { transition-delay:0.22s; }
.d3 { transition-delay:0.35s; }

/* ── PAGE HERO (inner pages) ── */
.page-hero {
  min-height:60vh;
  padding-top:64px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding-bottom:6rem;
  padding-left:8vw;
  padding-right:8vw;
  position:relative;
  overflow:hidden;
}
.page-hero > * { position:relative; z-index:1; }
.page-hero h1 {
  font-family:'Anton', sans-serif;
  font-size:clamp(3rem,6vw,6.5rem);
  letter-spacing:0.01em;
  line-height:0.95;
  margin-top:1rem;
  margin-bottom:1.2rem;
}

/* ── FOOTER ── */
footer { background:#0D1A05; padding:5rem 8vw 3rem; }
.footer-grid {
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:4rem;
  padding-bottom:3.5rem;
  border-bottom:1px solid rgba(244,201,214,0.07);
  margin-bottom:2.5rem;
}
.footer-brand { font-family:'Anton', sans-serif; font-size:1.1rem; letter-spacing:0.06em; color:var(--snow); margin-bottom:0.6rem; }
.footer-brand span { color:var(--petal); }
.footer-tagline { font-style:italic; font-size:0.8rem; color:rgba(244,201,214,0.3); line-height:1.6; }
.footer-col h4 { font-size:0.58rem; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--petal); opacity:0.7; margin-bottom:1.3rem; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:0.7rem; }
.footer-col a { text-decoration:none; font-size:0.78rem; color:rgba(247,241,240,0.35); transition:color 0.2s; }
.footer-col a:hover { color:var(--petal); }
.footer-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; font-size:0.7rem; color:rgba(247,241,240,0.18); }
.footer-bottom a { color:inherit; text-decoration:none; }
.footer-bottom a:hover { color:var(--petal); }

/* ── MOBILE ── */
@media (max-width:900px) {
  .nav-links { display:none; }
  .footer-grid { grid-template-columns:1fr; gap:2.5rem; }
}
