/* ════════════════════════════════════════════════════════════
   Lotus Grove Design Co — shared stylesheet
   Used by: index.html, home-function-audit.html
   ════════════════════════════════════════════════════════════ */

/* ── RESET & ROOT ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --forest:    #3E5133;
  --grove:     #5C714B;
  --sage:      #B1BF9D;
  --linen:     #E7E0D7;
  --cream:     #F7F3EE;
  --dark:      #1E2418;
  --mid:       #6B7A5E;
  --light:     #D4CCBF;
  --white:     #FDFCFA;

  --font-head: "Garet", "Lexend", sans-serif;
  --font-body: "Lexend", sans-serif;
}

@font-face {
  font-family: "Garet";
  src: local("Garet"), local("Garet-Book");
  font-weight: 400;
}

html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  background: var(--white);
  color: var(--dark);
  line-height: 1.65;
  font-weight: 300;
  overflow-x: hidden;
}

/* ── KEYFRAMES ── */
@keyframes fadeUp   { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:translateY(0); } }
@keyframes fadeIn   { from { opacity:0; } to { opacity:1; } }
@keyframes slideR   { from { opacity:0; transform:translateX(-22px); } to { opacity:1; transform:translateX(0); } }
@keyframes scaleUp  { from { opacity:0; transform:scale(0.93); } to { opacity:1; transform:scale(1); } }
@keyframes sway     { 0%,100% { transform:rotate(-1.2deg); } 50% { transform:rotate(1.2deg) translateX(2px); } }
@keyframes float    { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-8px); } }
@keyframes marquee  { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@keyframes pulse    { 0% { transform:translate(-50%,-50%) scale(1); opacity:0.3; } 100% { transform:translate(-50%,-50%) scale(2.4); opacity:0; } }
@keyframes cardIn   { from { opacity:0; transform:translateY(38px) scale(0.97); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes tagPop   { from { opacity:0; transform:scale(0.82); } to { opacity:1; transform:scale(1); } }
@keyframes shimmer  { from { transform:translateX(-100%) skewX(-15deg); } to { transform:translateX(200%) skewX(-15deg); } }
@keyframes lineGrow { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes logoLoad { from { opacity:0; transform:scale(0.88) rotate(-3deg); } to { opacity:1; transform:scale(1) rotate(0); } }
@keyframes archDraw {
  from { stroke-dashoffset: 900; opacity: 0; }
  to   { stroke-dashoffset: 0; opacity: 1; }
}
@keyframes numCount {
  from { opacity:0; transform:translateY(8px); }
  to   { opacity:1; transform:translateY(0); }
}

/* ── SCROLL REVEAL STATES ── */
.rv   { opacity:0; }
.rv.v { animation: fadeUp 0.75s cubic-bezier(0.22,1,0.36,1) forwards; }
.rl   { opacity:0; }
.rl.v { animation: slideR 0.7s cubic-bezier(0.22,1,0.36,1) forwards; }
.rs   { opacity:0; }
.rs.v { animation: scaleUp 0.65s cubic-bezier(0.22,1,0.36,1) forwards; }

/* ── NAV ── */
nav {
  position: fixed; top:0; left:0; right:0; z-index:100;
  display: flex; align-items:center; justify-content:space-between;
  padding: 0rem 3rem;
  background: rgba(253,252,250,0);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(177,191,157,0);
  transition: background 0.45s, border-color 0.45s;
}
nav.scrolled {
  background: rgba(253,252,250,0.94);
  border-bottom-color: rgba(177,191,157,0.25);
}
.nav-logo {
  display: flex; align-items: center; gap: 0.7rem;
  opacity:0; animation: fadeIn 0.8s ease 0.2s both;
}
.nav-logo img {
  height: 56px;
  /*filter: brightness(0) saturate(100%) invert(28%) sepia(18%) saturate(700%) hue-rotate(60deg) brightness(85%);*/
  transition: filter 0.3s;
}
nav.scrolled .nav-logo img {
  /*filter: brightness(0) saturate(100%) invert(28%) sepia(18%) saturate(700%) hue-rotate(60deg) brightness(85%);*/
}
.nav-links { display:flex; gap:2.2rem; list-style:none; }
.nav-links li { opacity:0; animation: fadeIn 0.5s ease both; }
.nav-links li:nth-child(1){animation-delay:.3s} .nav-links li:nth-child(2){animation-delay:.42s}
.nav-links li:nth-child(3){animation-delay:.54s} .nav-links li:nth-child(4){animation-delay:.66s}
.nav-links li:nth-child(5){animation-delay:.78s} .nav-links li:nth-child(6){animation-delay:1s}
.nav-links a {
  font-family: var(--font-body); font-size:0.8rem; font-weight:400;
  letter-spacing:0.08em; text-transform:uppercase;
  color: var(--mid); text-decoration:none;
  position:relative; transition:color 0.2s;
}
.nav-links a::after {
  content:''; position:absolute; bottom:-2px; left:0; right:0;
  height:1px; background:var(--forest);
  transform:scaleX(0); transform-origin:left; transition:transform 0.3s;
}
.nav-links a:hover { color:var(--forest); }
.nav-links a:hover::after { transform:scaleX(1); }
.nav-cta {
  font-family: var(--font-body); font-size:0.8rem; font-weight:500;
  letter-spacing:0.04em; color:var(--white); background:var(--forest);
  border:none; padding:0.6rem 1.4rem; border-radius:3px; cursor:pointer;
  text-decoration:none; display:inline-block;
  transition: background 0.25s, transform 0.15s;
  opacity:0; animation: fadeIn 0.5s ease 0.8s both;
}
.nav-cta:hover { background:var(--dark); transform:translateY(-1px); }

/* ── BUTTONS (shared) ── */
.btn-primary {
  font-family:var(--font-body); font-size:0.85rem; font-weight:500;
  letter-spacing:0.04em; color:var(--white); background:var(--forest);
  border:none; padding:0.85rem 2rem; border-radius:3px;
  cursor:pointer; text-decoration:none; display:inline-block;
  position:relative; overflow:hidden;
  transition: background 0.25s, transform 0.15s;
}
.btn-primary::after {
  content:''; position:absolute; inset:0;
  background:rgba(255,255,255,0.15);
  transform:translateX(-100%) skewX(-15deg); transition:none;
}
.btn-primary:hover::after { animation: shimmer 0.55s ease forwards; }
.btn-primary:hover { background:var(--dark); transform:translateY(-2px); }
.btn-ghost {
  font-family:var(--font-body); font-size:0.85rem; font-weight:400;
  color:var(--mid); text-decoration:none;
  display:flex; align-items:center; gap:0.45rem;
  transition:color 0.2s;
}
.btn-ghost:hover { color:var(--forest); }
.btn-ghost-arrow { transition:transform 0.25s; }
.btn-ghost:hover .btn-ghost-arrow { transform:translateX(5px); }

/* ── HERO (index) ── */
.hero {
  min-height: 80vh;
  display: grid; grid-template-columns: 1fr 1fr;
  padding-top: 4.5rem;
  background: var(--white);
}
.hero-left {
  display:flex; flex-direction:column; justify-content:center;
  padding: 5rem 3rem 5rem 3.5rem;
}
.hero-location {
  display:flex; align-items:center; gap:0.6rem;
  margin-bottom: 1.25rem;
  opacity:0; animation: slideR 0.7s ease 0.5s both;
}
.hero-location-pip {
  width:7px; height:7px; border-radius:50%;
  background: var(--sage); border: 1.5px solid var(--grove);
  animation: float 2.8s ease-in-out infinite;
}
.hero-location span {
  font-size:0.78rem; font-weight:400; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--grove);
}
.hero-eyebrow {
  display:flex; align-items:center; gap:0.7rem;
  margin-bottom: 1.6rem;
  opacity:0; animation: slideR 0.7s ease 0.65s both;
}
.hero-eyebrow-line {
  height:1px; background:var(--sage);
  transform:scaleX(0); transform-origin:left;
  animation: lineGrow 0.7s ease 0.85s both;
  width: 2rem;
}
.hero-eyebrow span {
  font-size:0.75rem; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--grove); font-weight:400;
}
.hero-title {
  font-family: var(--font-head); font-weight:400;
  font-size: clamp(2.6rem, 4.8vw, 4.2rem);
  line-height: 1.06; color:var(--forest);
  margin-bottom: 1.6rem;
  letter-spacing: -0.01em;
}
.hero-title .line {
  display:block; opacity:0;
  animation: fadeUp 0.85s cubic-bezier(0.22,1,0.36,1) forwards;
}
.hero-title .line:nth-child(1){animation-delay:.7s}
.hero-title .line:nth-child(2){animation-delay:.88s}
.hero-title .line:nth-child(3){animation-delay:1.06s}
.hero-title em { font-style:normal; color:var(--grove); }
.hero-sub {
  font-size:1rem; font-weight:300; color:var(--mid);
  max-width:40rem; line-height:1.85; margin-bottom:2rem;
  opacity:0; animation: fadeUp 0.8s ease 1.2s both;
}
.hero-tags {
  display:flex; flex-wrap:wrap; gap:0.55rem; margin-bottom:2.2rem;
}
.hero-tag {
  font-size:0.75rem; font-weight:400; letter-spacing:0.04em;
  color:var(--forest); background:transparent;
  border:1px solid var(--sage);
  padding:0.32rem 0.85rem; border-radius:2px;
  opacity:0; animation: tagPop 0.4s cubic-bezier(0.34,1.56,0.64,1) both;
}
.hero-tag:nth-child(1){animation-delay:1.35s}
.hero-tag:nth-child(2){animation-delay:1.48s}
.hero-tag:nth-child(3){animation-delay:1.61s}
.hero-actions {
  display:flex; align-items:center; gap:1.4rem;
  opacity:0; animation: fadeUp 0.7s ease 1.7s both;
}

/* HERO RIGHT */
.hero-right {
  background: var(--forest);
  position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
.hero-right-inner {
  width:100%; height:100%;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  padding: 4rem 2.5rem; position:relative;
}
.hero-logo-wrap {
  opacity:0; animation: logoLoad 1s cubic-bezier(0.34,1.2,0.64,1) 0.6s both;
  margin-bottom:2.5rem;
}
.hero-logo-wrap img {
  width: 250px;
  height: 250px;
  /*filter: brightness(0) invert(1) opacity(0.92);*/
  /*animation: float 5s ease-in-out 1.5s infinite;*/
}
.hero-right-title {
  font-family:var(--font-head); font-weight:300;
  font-size:1.1rem; color:rgba(255,255,255,0.55);
  letter-spacing:0.08em; text-transform:both;
  text-align:center; margin-bottom:3rem;
  opacity:0; animation: fadeIn 1s ease 1.2s both;
}
.hero-stats {
  display:grid; grid-template-columns:1fr 1fr; gap:1px;
  width:100%; max-width:320px; background:rgba(255,255,255,0.08);
}
.hero-stat {
  background:var(--forest); padding:1.5rem 1.25rem;
  opacity:0; animation: scaleUp 0.5s cubic-bezier(0.22,1,0.36,1) both;
}
.hero-stat:nth-child(1){animation-delay:1.4s}
.hero-stat:nth-child(2){animation-delay:1.55s}
.hero-stat:nth-child(3){animation-delay:1.7s}
.hero-stat:nth-child(4){animation-delay:1.85s}
.hero-stat-num {
  font-family:var(--font-head); font-size:1.75rem; font-weight:400;
  color:var(--sage); line-height:1; margin-bottom:0.35rem;
}
.hero-stat-label {
  font-size:0.72rem; font-weight:300; letter-spacing:0.04em;
  color:rgba(255,255,255,0.5); line-height:1.4;
  text-transform:uppercase;
}
.hero-bg-arch {
  position:absolute; bottom:0; left:0; right:0;
  width:100%; opacity:0.06; pointer-events:none;
}

/* ── STRIP ── */
.strip { background:var(--grove); padding:0.85rem 0; overflow:hidden; }
.strip-track {
  display:flex; width:max-content;
  animation: marquee 75s linear infinite;
}
.strip-item {
  display:flex; align-items:center; gap:1.5rem;
  padding:0 1.5rem; white-space:nowrap;
  font-size:0.78rem; font-weight:300; letter-spacing:0.06em;
  text-transform:uppercase; color:rgba(231,224,215,0.8);
}
.strip-sep { width:3px; height:3px; border-radius:50%; background:rgba(177,191,157,0.5); }

/* ── SECTIONS (shared) ── */
.section { padding:7rem 3rem; }
.section-inner { max-width:1080px; margin:0 auto; }
.section-label {
  display:flex; align-items:center; gap:0.7rem; margin-bottom:1.4rem;
}
.section-label-line {
  width:1.5rem; height:1px; background:var(--sage);
  transform:scaleX(0); transform-origin:left;
}
.section-label-line.drawn { animation: lineGrow 0.6s ease forwards; }
.section-label span {
  font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--grove); font-weight:400;
}
.section-title {
  font-family:var(--font-head); font-size:clamp(1.8rem,3vw,2.7rem);
  font-weight:400; line-height:1.15; color:var(--forest);
  margin-bottom:1.4rem; letter-spacing:-0.01em;
}
.section-title em { font-style:normal; color:var(--grove); }

/* ── ABOUT ── */
.about-bg { background:var(--white); }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.about-body {
  font-size:0.96rem; font-weight:300; color:var(--mid);
  line-height:1.9;
}
.about-body p { margin-bottom:1.1rem; }
.about-credentials {
  display:flex; flex-wrap:wrap; gap:0.5rem; margin-top:1.5rem;
}
.about-cred {
  font-size:0.73rem; letter-spacing:0.05em; font-weight:400;
  color:var(--forest); background:var(--cream);
  border:1px solid var(--linen); padding:0.3rem 0.75rem; border-radius:2px;
}
.about-card {
  background:var(--forest); border-radius:4px;
  padding:2.5rem; position:relative; overflow:hidden;
}
.about-card::before {
  content:""; position:absolute; top:0; right:0;
  width:120px; height:120px; border-radius:50%;
  background:rgba(177,191,157,0.08);
  transform:translate(30%,-30%);
  animation: float 6s ease-in-out infinite;
}
.about-card-item { margin-bottom:1.6rem; position:relative; z-index:1; }
.about-card-item:last-child { margin-bottom:0; }
.about-card-num {
  font-family:var(--font-head); font-size:2.2rem; font-weight:400;
  color:var(--sage); line-height:1; margin-bottom:0.3rem;
}
.about-card-label {
  font-size:0.82rem; font-weight:300; color:rgba(231,224,215,0.65);
  letter-spacing:0.02em; line-height:1.5;
}
.about-card-div {
  height:1px; background:rgba(177,191,157,0.2);
  margin:1.4rem 0;
  transform:scaleX(0); transform-origin:left; transition:transform 0.7s ease;
}

/* ── SERVICES / PRICING ── */
.services-bg { background:var(--cream); }
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:3.5rem; }
.pricing-card {
  background:var(--white); border-radius:4px;
  border:1px solid var(--linen);
  padding:2.2rem; position:relative; overflow:hidden;
  opacity:0; transform:translateY(36px) scale(0.97);
  transition: transform 0.3s, box-shadow 0.3s;
}
.pricing-card.v { animation: cardIn 0.65s cubic-bezier(0.22,1,0.36,1) forwards; }
.pricing-card.v.d1{animation-delay:.06s} .pricing-card.v.d2{animation-delay:.18s} .pricing-card.v.d3{animation-delay:.3s}
.pricing-card-accent {
  position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--linen); transition:background 0.3s;
}
.pricing-card:hover { transform:translateY(-5px); box-shadow:0 12px 32px rgba(62,81,51,0.1); }
.pricing-card:hover .pricing-card-accent { background:var(--grove); }
.pricing-tier {
  font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--grove); font-weight:400; margin-bottom:0.75rem;
}
.pricing-name {
  font-family:var(--font-head); font-size:1.5rem; font-weight:400;
  color:var(--forest); margin-bottom:0.5rem; line-height:1.2;
}
.pricing-price {
  font-family:var(--font-head); font-size:1.35rem; font-weight:400;
  color:var(--dark); line-height:1; margin-bottom:0.3rem;
}
.pricing-price-note {
  font-size:0.75rem; font-weight:300; color:var(--mid);
  margin-bottom:1.4rem;
}
.pricing-divider { height:1px; background:var(--linen); margin-bottom:1.4rem; }
.pricing-list { list-style:none; display:flex; flex-direction:column; gap:0.65rem; margin-bottom:1.8rem; }
.pricing-list li {
  display:flex; align-items:flex-start; gap:0.65rem;
  font-size:0.85rem; font-weight:300; color:var(--mid); line-height:1.55;
}
.pricing-check {
  width:14px; height:14px; border-radius:50%; background:var(--sage);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; margin-top:2px;
}
.pricing-check svg { width:8px; height:8px; }
.pricing-cta {
  display:block; text-align:center; width:100%;
  font-family:var(--font-body); font-size:0.82rem; font-weight:500;
  letter-spacing:0.05em; text-transform:uppercase;
  color:var(--forest); background:transparent;
  border:1.5px solid var(--sage); padding:0.7rem 1rem; border-radius:3px;
  text-decoration:none; transition:all 0.25s;
}
.pricing-cta:hover { background:var(--forest); color:var(--white); border-color:var(--forest); }
.pricing-card.featured { background:var(--forest); border-color:var(--forest); }
.pricing-card.featured .pricing-tier { color:var(--sage); }
.pricing-card.featured .pricing-name { color:var(--white); }
.pricing-card.featured .pricing-price { color:var(--sage); }
.pricing-card.featured .pricing-price-note { color:rgba(231,224,215,0.55); }
.pricing-card.featured .pricing-divider { background:rgba(177,191,157,0.2); }
.pricing-card.featured .pricing-list li { color:rgba(231,224,215,0.75); }
.pricing-card.featured .pricing-check { background:var(--sage); }
.pricing-card.featured .pricing-cta {
  background:var(--sage); color:var(--dark); border-color:var(--sage);
}
.pricing-card.featured .pricing-cta:hover { background:var(--white); border-color:var(--white); }

/* ── DISCOVERY SECTION ── */
.lgdc-discovery-section {
  background: #3E5133;
  padding: 72px 24px;
  font-family: var(--font-body);
}
.lgdc-discovery-inner {
  max-width:1080px;
  margin: 0 auto;
}
.lgdc-discovery-eyebrow {
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #B1BF9D;
  margin-bottom: 14px;
  text-align: left;
}
.lgdc-discovery-heading {
  font-family:var(--font-head); font-size:clamp(1.8rem,3vw,2.7rem);
  font-weight: 300;
  color: #E7E0D7;
  text-align: left;
  line-height: 1.3;
  margin-bottom: 10px;
}
.lgdc-discovery-heading em {
  font-style:;
  font-weight: 400;
  color: #B1BF9D;
}
.lgdc-discovery-sub {
  text-align: left;
  color: rgba(231,224,215,0.7);
  font-size: 15px;
  font-weight: 300;
  max-width: 560px;
  margin: 0 0 48px;
  line-height: 1.7;
}
.lgdc-discovery-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: start;
}
@media(max-width: 680px){
  .lgdc-discovery-grid { grid-template-columns: 1fr; }
}
.lgdc-discovery-card {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(177,191,157,0.25);
  border-radius: 14px;
  padding: 28px;
}
.lgdc-discovery-card-label {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #B1BF9D;
  margin-bottom: 10px;
}
.lgdc-discovery-price {
  font-size: 42px;
  font-weight: 300;
  color: #E7E0D7;
  line-height: 1;
  margin-bottom: 4px;
}
.lgdc-discovery-price-sub {
  font-size: 13px;
  color: rgba(231,224,215,0.55);
  margin-bottom: 22px;
}
.lgdc-discovery-features {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
}
.lgdc-discovery-features li {
  font-size: 14px;
  color: rgba(231,224,215,0.85);
  padding: 7px 0;
  /*border-bottom: 1px solid rgba(255,255,255,0.07);*/
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.5;
  font-weight: 300;
}
.lgdc-discovery-features li:last-child { border-bottom: none; }
.lgdc-discovery-features li::before {
  color: #B1BF9D;
  flex-shrink: 0;
  font-weight: 400;
}
.lgdc-cta-btn {
  display: inline-block;
  background: #B1BF9D;
  color: #2A3320;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 500;
  padding: 13px 28px;
  border-radius: 8px;
  text-decoration: none;
  letter-spacing: 0.04em;
  transition: background 0.2s, transform 0.15s;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
  display: block;
}
.lgdc-cta-btn:hover { background: #C8D4B0; transform: translateY(-1px); }
.lgdc-credit-box {
  background: rgba(177,191,157,0.12);
  border: 1px solid rgba(177,191,157,0.3);
  border-radius: 12px;
  padding: 22px 24px;
}
.lgdc-credit-heading {
  font-size: 13px;
  font-weight: 500;
  color: #B1BF9D;
  margin-bottom: 8px;
  letter-spacing: 0.02em;
}
.lgdc-credit-text {
  font-size: 14px;
  color: rgba(231,224,215,0.8);
  line-height: 1.7;
  font-weight: 300;
  margin-bottom: 18px;
}
.lgdc-credit-text strong { color: #E7E0D7; font-weight: 500; }
.lgdc-steps {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 24px;
}
.lgdc-step {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.lgdc-step-num {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid rgba(177,191,157,0.5);
  color: #B1BF9D;
  font-size: 11px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}
.lgdc-step-text {
  font-size: 13px;
  color: rgba(231,224,215,0.75);
  line-height: 1.6;
  font-weight: 300;
}
.lgdc-step-text strong { color: #E7E0D7; font-weight: 400; }
.lgdc-discovery-divider {
  border: none;
  border-top: 1px solid rgba(177,191,157,0.15);
  margin: 56px 0 0;
}
.lgdc-discovery-note {
  text-align: center;
  font-size: 13px;
  color: rgba(231,224,215,0.45);
  margin-top: 20px;
  font-weight: 300;
}

/* ── TESTIMONIALS ── */
.lgdc-t{background:#F5F2EE;padding:80px 24px;font-family:'Lexend',sans-serif}
.lgdc-t-inner{max-width:1080px;margin:0 auto}
.lgdc-t-eye{font-size:11px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:#5C714B;margin-bottom:14px;text-align:left}
.lgdc-t-h{font-family:var(--font-head); font-size:clamp(1.8rem,3vw,2.7rem);font-weight:300;color:#1E1E1C;text-align:left;line-height:1.3;margin-bottom:48px}
.lgdc-t-h em{font-style:italic;color:#3E5133}
.lgdc-t-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem}
@media(max-width:640px){.lgdc-t-grid{grid-template-columns:1fr}}
.lgdc-t-card{background:#fff;border:1px solid #DDD9D3;border-radius:14px;padding:32px;position:relative}
.lgdc-t-card::before{content:'\201C';font-size:64px;line-height:1;color:#B1BF9D;position:absolute;top:18px;left:28px;font-family:Georgia,serif;opacity:.6}
.lgdc-t-quote{font-size:15px;font-weight:300;line-height:1.8;color:#2A2A28;margin-bottom:24px;padding-top:28px}
.lgdc-t-quote em{font-style:italic;color:#3E5133;font-weight:400}
.lgdc-t-rule{width:32px;height:1px;background:#B1BF9D;margin-bottom:20px}
.lgdc-t-author{display:flex;align-items:center;gap:14px}
.lgdc-t-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#B1BF9D,#5C714B);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:400;color:#fff;flex-shrink:0;letter-spacing:.02em}
.lgdc-t-name{font-size:13px;font-weight:500;color:#1E1E1C}
.lgdc-t-meta{font-size:11px;color:#6B6560;font-weight:300;margin-top:2px}
.lgdc-t-stars{color:#B1BF9D;font-size:13px;margin-top:4px;letter-spacing:2px}
.lgdc-t-tag{display:inline-flex;font-size:10px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:20px;background:#EEF1EA;color:#3E5133;margin-bottom:16px}
.lgdc-t-cta{text-align:center;margin-top:48px}
.lgdc-t-cta p{font-size:14px;font-weight:300;color:#6B6560;margin-bottom:18px;line-height:1.7}
.lgdc-t-btn{display:inline-block;background:#3E5133;color:#fff;font-family:'Lexend',sans-serif;font-size:13px;font-weight:400;padding:13px 28px;border-radius:8px;text-decoration:none;letter-spacing:.04em;transition:background .2s}
.lgdc-t-btn:hover{background:#5C714B}

/* ── WHO ── */
.who-bg { background:var(--white); }
.who-grid { display:grid; grid-template-columns:1fr 1.15fr; gap:5rem; align-items:start; }
.who-tags { display:flex; flex-wrap:wrap; gap:0.6rem; margin-top:1.5rem; }
.who-tag {
  font-size:0.82rem; font-weight:300; color:var(--dark);
  background:var(--cream); border:1px solid var(--linen);
  padding:0.42rem 1rem; border-radius:2px;
  opacity:0; transition:background 0.2s, color 0.2s;
}
.who-tag.v { animation: tagPop 0.38s cubic-bezier(0.34,1.56,0.64,1) forwards; }
.who-tag:hover { background:var(--sage); color:var(--dark); }
.who-body {
  font-size:0.95rem; font-weight:300; color:var(--mid); line-height:1.9;
}
.who-body p { margin-bottom:1rem; }
.outcomes-list { list-style:none; margin-top:2rem; display:flex; flex-direction:column; gap:0.8rem; }
.outcomes-list li {
  display:flex; align-items:flex-start; gap:0.8rem;
  font-size:0.9rem; font-weight:300; color:var(--mid); line-height:1.6;
  opacity:0;
}
.outcomes-list li.v { animation: slideR 0.5s ease forwards; }
.outcome-dot {
  width:6px; height:6px; border-radius:50%; background:var(--grove);
  margin-top:0.5rem; flex-shrink:0;
}

/* ── BIO ── */
.bio-bg { background:var(--forest); }
.bio-grid { display:grid; grid-template-columns:1fr 1.3fr; gap:5rem; align-items:center; }
.bio-portrait {
  aspect-ratio:1; background:rgba(177,191,157,0.12); border-radius:4px;
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
.bio-portrait-inner {
  display:flex; flex-direction:column; align-items:center; gap:1rem;
  padding:2.5rem;
}
.bio-portrait img {
  width:150px; opacity:0.7;
  /*filter: brightness(0) invert(1) opacity(0.65);*/
  /*animation: float 5s ease-in-out infinite;*/
}
.bio-portrait-label {
  font-family:var(--font-head); font-size:0.75rem;
  letter-spacing:0.14em; text-transform:uppercase;
  color:rgba(177,191,157,0.5); text-align:center;
}
.bio-text .section-label span { color:var(--sage); }
.bio-text .section-title { color:var(--white); }
.bio-text .section-title em { color:var(--sage); }
.bio-body {
  font-size:0.95rem; font-weight:300;
  color:rgba(231,224,215,0.7); line-height:1.9;
}
.bio-body p { margin-bottom:1rem; }
.bio-quals {
  display:flex; flex-wrap:wrap; gap:0.5rem; margin-top:1.5rem;
}
.bio-qual {
  font-size:0.72rem; letter-spacing:0.05em; font-weight:400;
  color:var(--sage); background:rgba(177,191,157,0.1);
  border:1px solid rgba(177,191,157,0.25); padding:0.3rem 0.75rem; border-radius:2px;
}

/* ── APPROACH ── */
.approach-bg { background:var(--cream); }
.approach-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; margin-top:3.5rem; }
.approach-pill {
  background:var(--white); border-radius:4px; padding:1.6rem 1.1rem;
  border:1px solid var(--linen); text-align:center;
  opacity:0; transition:transform 0.25s, box-shadow 0.25s, background 0.25s;
}
.approach-pill.v { animation: fadeUp 0.5s ease forwards; }
.approach-pill.v.d1{animation-delay:.1s} .approach-pill.v.d2{animation-delay:.2s}
.approach-pill.v.d3{animation-delay:.3s} .approach-pill.v.d4{animation-delay:.4s}
.approach-pill:hover { transform:translateY(-4px); box-shadow:0 8px 20px rgba(62,81,51,0.1); background:var(--cream); }
.approach-icon {
  width:2.5rem; height:2.5rem; border-radius:50%; background:var(--cream);
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 0.85rem; transition:background 0.25s, transform 0.25s;
}
.approach-pill:hover .approach-icon { background:var(--sage); transform:rotate(8deg) scale(1.08); }
.approach-label { font-family:var(--font-body); font-size:0.8rem; font-weight:400; color:var(--forest); line-height:1.4; }

/* ── LOCATIONS ── */
.locations-bg { background:var(--linen); }
.locations-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:3rem; }
.location-card {
  background:var(--white); border-radius:4px; padding:2rem 1.75rem;
  border:1px solid rgba(177,191,157,0.3);
  opacity:0; transition:transform 0.25s, box-shadow 0.25s;
}
.location-card.v { animation: cardIn 0.6s cubic-bezier(0.22,1,0.36,1) forwards; }
.location-card.v.d1{animation-delay:.05s} .location-card.v.d2{animation-delay:.18s} .location-card.v.d3{animation-delay:.31s}
.location-card:hover { transform:translateY(-4px); box-shadow:0 10px 24px rgba(62,81,51,0.08); }
.location-badge {
  font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase;
  font-weight:500; color:var(--grove);
  display:inline-block; margin-bottom:0.85rem;
}
.location-name {
  font-family:var(--font-head); font-size:1.5rem; font-weight:400;
  color:var(--forest); margin-bottom:0.6rem;
}
.location-name.home { color:var(--grove); }
.location-desc { font-size:0.85rem; font-weight:300; color:var(--mid); line-height:1.75; }

/* ── PROCESS (shared) ── */
.process-bg { background:var(--white); }
.process-steps {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:0; margin-top:3.5rem; position:relative;
}
.process-steps::before {
  content:""; position:absolute; top:2rem; left:12.5%; right:12.5%; height:1px;
  background:var(--linen); z-index:0;
}
.process-step {
  display:flex; flex-direction:column; align-items:center;
  text-align:center; padding:0 1rem;
  opacity:0; position:relative; z-index:1;
}
.process-step.v { animation: fadeUp 0.55s ease forwards; }
.process-step.v.d1{animation-delay:.05s} .process-step.v.d2{animation-delay:.18s}
.process-step.v.d3{animation-delay:.31s} .process-step.v.d4{animation-delay:.44s}
.process-num {
  width:4rem; height:4rem; border-radius:50%;
  background:var(--forest); color:var(--sage);
  font-family:var(--font-head); font-size:1.1rem; font-weight:400;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:1.25rem;
  transition:background 0.25s;
}
.process-step:hover .process-num { background:var(--grove); }
.process-step-name {
  font-family:var(--font-head); font-size:0.95rem; font-weight:400;
  color:var(--forest); margin-bottom:0.5rem;
}
.process-step-desc { font-size:0.82rem; font-weight:300; color:var(--mid); line-height:1.6; }

/* ════════════════════════════════════════════════════════════
   PRODUCT PAGE (home-function-audit.html)
   ════════════════════════════════════════════════════════════ */

/* ── PRODUCT HERO ── */
.product-hero {
  min-height: 88vh;
  display: grid; grid-template-columns: 1.05fr 0.95fr;
  padding-top: 4.5rem;
  background: var(--white);
}
.product-hero-left {
  display:flex; flex-direction:column; justify-content:center;
  padding: 5rem 3rem 5rem 3.5rem;
}
.product-breadcrumb {
  display:flex; align-items:center; gap:0.5rem;
  margin-bottom: 1.5rem; font-size:0.78rem; letter-spacing:0.04em;
  color:var(--mid);
  opacity:0; animation: slideR 0.7s ease 0.45s both;
}
.product-breadcrumb a { color:var(--grove); text-decoration:none; }
.product-breadcrumb a:hover { color:var(--forest); }
.product-eyebrow {
  display:flex; align-items:center; gap:0.7rem;
  margin-bottom: 1.4rem;
  opacity:0; animation: slideR 0.7s ease 0.6s both;
}
.product-eyebrow-line {
  height:1px; background:var(--sage); width: 2rem;
  transform:scaleX(0); transform-origin:left;
  animation: lineGrow 0.7s ease 0.8s both;
}
.product-eyebrow span {
  font-size:0.75rem; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--grove); font-weight:400;
}
.product-title {
  font-family: var(--font-head); font-weight:400;
  font-size: clamp(2.4rem, 4.4vw, 3.8rem);
  line-height: 1.08; color:var(--forest);
  margin-bottom: 1.4rem; letter-spacing: -0.01em;
  opacity:0; animation: fadeUp 0.85s cubic-bezier(0.22,1,0.36,1) 0.7s both;
}
.product-title em { font-style:normal; color:var(--grove); }
.product-sub {
  font-size:1rem; font-weight:300; color:var(--mid);
  max-width:38rem; line-height:1.85; margin-bottom:1.8rem;
  opacity:0; animation: fadeUp 0.8s ease 1s both;
}
.product-tags {
  display:flex; flex-wrap:wrap; gap:0.55rem; margin-bottom:2.2rem;
  opacity:0; animation: fadeUp 0.8s ease 1.15s both;
}
.product-tag {
  font-size:0.75rem; font-weight:400; letter-spacing:0.04em;
  color:var(--forest); background:transparent;
  border:1px solid var(--sage);
  padding:0.32rem 0.85rem; border-radius:2px;
}
.product-actions {
  display:flex; align-items:center; gap:1.4rem;
  opacity:0; animation: fadeUp 0.7s ease 1.3s both;
}

/* PRODUCT HERO RIGHT — summary card */
.product-hero-right {
  background: var(--forest);
  position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  padding: 4rem 2.75rem;
}
.product-summary {
  width:100%; max-width:340px;
  opacity:0; animation: logoLoad 1s cubic-bezier(0.34,1.2,0.64,1) 0.6s both;
}
.product-summary-label {
  font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--sage); font-weight:400; margin-bottom:0.9rem;
}
.product-summary-price {
  font-family:var(--font-head); font-size:3.4rem; font-weight:400;
  color:var(--white); line-height:1; margin-bottom:0.3rem;
}
.product-summary-price-note {
  font-size:0.8rem; font-weight:300; color:rgba(231,224,215,0.55);
  margin-bottom:1.6rem;
}
.product-summary-div { height:1px; background:rgba(177,191,157,0.2); margin:1.6rem 0; }
.product-summary-list { list-style:none; display:flex; flex-direction:column; gap:0.7rem; }
.product-summary-list li {
  display:flex; align-items:flex-start; gap:0.65rem;
  font-size:0.85rem; font-weight:300; color:rgba(231,224,215,0.8); line-height:1.55;
}
.product-summary-check {
  width:14px; height:14px; border-radius:50%; background:var(--sage);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; margin-top:3px;
}
.product-summary-check svg { width:8px; height:8px; }
.product-summary-meta {
  margin-top:1.6rem; font-size:0.75rem; font-weight:300;
  color:rgba(177,191,157,0.7); letter-spacing:0.03em; line-height:1.6;
}

/* ── INCLUDES (feature grid) ── */
.includes-bg { background:var(--cream); }
.includes-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:3.5rem;
}
.include-card {
  background:var(--white); border-radius:4px;
  border:1px solid var(--linen);
  padding:2rem 1.85rem; position:relative; overflow:hidden;
  opacity:0; transition:transform 0.25s, box-shadow 0.25s;
}
.include-card.v { animation: fadeUp 0.55s cubic-bezier(0.22,1,0.36,1) forwards; }
.include-card.v.d1{animation-delay:.06s} .include-card.v.d2{animation-delay:.16s}
.include-card.v.d3{animation-delay:.26s} .include-card.v.d4{animation-delay:.36s}
.include-card.v.d5{animation-delay:.46s} .include-card.v.d6{animation-delay:.56s}
.include-card:hover { transform:translateY(-4px); box-shadow:0 10px 24px rgba(62,81,51,0.08); }
.include-card-accent {
  position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--linen); transition:background 0.3s;
}
.include-card:hover .include-card-accent { background:var(--grove); }
.include-icon {
  width:2.5rem; height:2.5rem; border-radius:50%; background:var(--cream);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:1rem;
}
.include-name {
  font-family:var(--font-head); font-size:1.1rem; font-weight:400;
  color:var(--forest); margin-bottom:0.5rem; line-height:1.25;
}
.include-desc { font-size:0.85rem; font-weight:300; color:var(--mid); line-height:1.7; }

/* ── CTA (shared) ── */
.cta-section {
  padding:8rem 3rem; text-align:center;
  background:var(--forest); position:relative; overflow:hidden;
}
.cta-pulse {
  position:absolute; top:50%; left:50%;
  width:300px; height:300px; border-radius:50%;
  border:1px solid rgba(177,191,157,0.1);
  animation:pulse 5s ease-out infinite; pointer-events:none;
}
.cta-pulse.p2{animation-delay:1.67s} .cta-pulse.p3{animation-delay:3.33s}
.cta-logo {
  width:180px; margin:0 auto 2rem;
  /*filter:brightness(0) invert(1) opacity(0.2);*/
  /*animation: float 5s ease-in-out infinite;*/
}
.cta-title {
  font-family:var(--font-head); font-size:clamp(2.2rem,3.8vw,3.2rem);
  font-weight:400; color:var(--white); line-height:1.15;
  margin-bottom:1.4rem; position:relative;
  letter-spacing:-0.01em;
}
.cta-title em { font-style:normal; color:var(--sage); }
.cta-body {
  font-size:0.96rem; font-weight:300;
  color:rgba(231,224,215,0.55); max-width:28rem;
  margin:0 auto 0.75rem; line-height:1.85; position:relative;
}
.cta-location {
  font-size:0.78rem; letter-spacing:0.08em; text-transform:uppercase;
  color:rgba(177,191,157,0.55); margin-bottom:2.5rem; position:relative;
}
.cta-actions {
  display:flex; align-items:center; justify-content:center;
  gap:1.4rem; position:relative;
}
.btn-cta {
  font-family:var(--font-body); font-size:0.85rem; font-weight:500;
  letter-spacing:0.04em; color:var(--dark); background:var(--sage);
  border:none; padding:0.9rem 2.2rem; border-radius:3px;
  cursor:pointer; text-decoration:none; position:relative; overflow:hidden;
  transition:background 0.25s, transform 0.15s;
}
.btn-cta::after {
  content:''; position:absolute; inset:0;
  background:rgba(255,255,255,0.2);
  transform:translateX(-100%) skewX(-15deg); transition:none;
}
.btn-cta:hover::after { animation:shimmer 0.55s ease forwards; }
.btn-cta:hover { background:var(--linen); transform:translateY(-1px); }
.btn-cta-ghost {
  font-family:var(--font-body); font-size:0.85rem; font-weight:300;
  color:rgba(231,224,215,0.5); text-decoration:none; transition:color 0.2s;
}
.btn-cta-ghost:hover { color:var(--white); }

/* ── FOOTER (shared) ── */
footer {
  background:var(--dark);
  border-top:1px solid rgba(255,255,255,0.05);
  padding:0rem 3rem;
  display:flex; align-items:center; justify-content:space-between;
}
.footer-logo img {
  height:64px;
  /*filter:brightness(0) invert(1) opacity(0.35);*/
}
.footer-note { font-size:0.75rem; font-weight:300; color:rgba(231,224,215,0.3); }
.footer-links { display:flex; gap:2rem; list-style:none; }
.footer-links a {
  font-size:0.75rem; font-weight:300; letter-spacing:0.06em;
  color:rgba(231,224,215,0.3); text-decoration:none; transition:color 0.2s;
  text-transform:uppercase;
}
.footer-links a:hover { color:var(--sage); }

/* ── RESPONSIVE ── */
@media(max-width:960px){
  nav{padding:1rem 1.5rem;} .nav-links{display:none;}
  .hero{grid-template-columns:1fr;} .hero-right{min-height:45vh;} .hero-left{padding:3rem 1.5rem;}
  .product-hero{grid-template-columns:1fr;} .product-hero-right{min-height:50vh;} .product-hero-left{padding:3rem 1.5rem;}
  .section{padding:4.5rem 1.5rem;}
  .about-grid,.who-grid,.bio-grid{grid-template-columns:1fr;gap:2.5rem;}
  .pricing-grid,.locations-grid{grid-template-columns:1fr;}
  .approach-grid{grid-template-columns:repeat(2,1fr);}
  .includes-grid{grid-template-columns:1fr;}
  .process-steps{grid-template-columns:repeat(2,1fr); gap:2rem;}
  .process-steps::before{display:none;}
  .cta-section{padding:5rem 1.5rem;}
  footer{flex-direction:column;gap:1.5rem;text-align:center;}
}
