



:root {
  --ink: #0b0b0c;
  --ink-soft: #17171a;
  --panel: #151517;
  --paper: #f1f1ec;
  --paper-dim: #c7c7c0;
  --brass: #d7f23c;
  --brass-dim: #9cb52c;
  --steel: #6b6c66;
  --line: rgba(241, 241, 236, 0.12);
  --line-strong: rgba(241, 241, 236, 0.24);
  --max: 1180px;
}

* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--ink);
  color: var(--paper);
  font-family: "Inter", sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
h1,
h2,
h3,
h4 {
  font-family: "Big Shoulders Display", sans-serif;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.02;
  margin: 0;
  color: var(--paper);
}
a {
  color: inherit;
  text-decoration: none;
}
img {
  max-width: 100%;
  display: block;
}
ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.wrap {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 28px;
}
section {
  padding: 64px 0;
}
@media (max-width: 720px) {
  section {
    padding: 40px 0;
  }
  .wrap {
    padding: 0 20px;
  }
}

a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--brass);
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* ---------- NAV ---------- */
header.site-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(21, 21, 15, 0.94);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--line);
}
.nav-inner {
  max-width: var(--max);
  margin: 0 auto;
  padding: 18px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.brand {
  font-family: "Big Shoulders Display", sans-serif;
  font-weight: 800;
  font-size: 1.35rem;
  letter-spacing: 0.01em;
}
.brand span {
  color: var(--brass);
}
nav.menu {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
}
nav.menu a {
  font-size: 0.86rem;
  font-weight: 500;
  color: var(--paper-dim);
  padding: 6px 0;
  border-bottom: 2px solid transparent;
}
nav.menu a:hover {
  color: var(--paper);
  border-color: var(--brass);
}
.nav-cta {
  display: inline-block;
  white-space: nowrap;
  background: var(--brass);
  color: var(--ink);
  font-weight: 700;
  font-size: 0.85rem;
  padding: 10px 20px;
}
.nav-cta:hover {
  background: #e4ff5f;
}
.lang-switch {
  display: flex;
  gap: 6px;
  font-size: 0.8rem;
  font-weight: 600;
}
.lang-switch a {
  padding: 4px 6px;
  color: var(--paper-dim);
}
.lang-switch a.active {
  color: var(--brass);
}
.menu-toggle {
  display: none;
  background: none;
  border: 1px solid var(--line-strong);
  color: var(--paper);
  padding: 8px 14px;
  font-family: inherit;
  font-size: 1.1rem;
  cursor: pointer;
}
@media (max-width: 980px) {
  nav.menu {
    display: none;
  }
  nav.menu.open {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--ink);
    border-bottom: 1px solid var(--line);
    padding: 8px 28px 20px;
    gap: 4px;
  }
  nav.menu.open a {
    padding: 12px 0;
    border-bottom: 1px solid var(--line);
  }
  .menu-toggle {
    display: block;
  }
}

/* ---------- HERO ---------- */
.hero {
  padding: 88px 0 72px;
  border-bottom: 1px solid var(--line);
  background: radial-gradient(
      ellipse at 85% -10%,
      rgba(215, 242, 60, 0.14),
      transparent 55%
    ),
    var(--ink);
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 56px;
  align-items: center;
}
@media (max-width: 900px) {
  .hero-grid {
    grid-template-columns: 1fr;
  }
}
.hero-photo {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border: 1px solid var(--line-strong);
  background: var(--panel);
}
.hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
.hero-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(11, 11, 12, 0) 60%,
    rgba(11, 11, 12, 0.55) 100%
  );
  pointer-events: none;
}
.hero-photo-caption {
  position: absolute;
  left: 20px;
  bottom: 18px;
  color: var(--paper);
  font-size: 0.85rem;
  font-weight: 600;
  z-index: 2;
}
.hero-photo-caption span {
  display: block;
  color: var(--brass);
  font-size: 0.78rem;
  font-weight: 500;
  margin-top: 2px;
}
@media (max-width: 900px) {
  .hero-photo {
    aspect-ratio: 4 / 5;
    order: -1;
  }
}
.hero-tag {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--brass);
  letter-spacing: 0.04em;
  margin-bottom: 18px;
}
.hero h1 {
  font-size: clamp(2.4rem, 5.4vw, 4.1rem);
  max-width: 16ch;
  margin-bottom: 28px;
}
.hero-lede {
  max-width: 640px;
  font-size: 1.12rem;
  color: var(--paper-dim);
  margin-bottom: 18px;
}
.hero-lede.tight {
  margin-bottom: 36px;
}
.hero-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.btn {
  display: inline-block;
  padding: 15px 28px;
  font-weight: 700;
  font-size: 0.95rem;
  border: 1px solid transparent;
  cursor: pointer;
}
.btn-primary {
  background: var(--brass);
  color: var(--ink);
}
.btn-primary:hover {
  background: #e4ff5f;
}
.btn-outline {
  border-color: var(--line-strong);
  color: var(--paper);
}
.btn-outline:hover {
  border-color: var(--paper);
}

.credentials {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  border-top: 1px solid var(--line);
  padding-top: 22px;
  max-width: 720px;
}
.credentials span {
  font-size: 0.82rem;
  color: var(--paper-dim);
  padding: 0 18px 0 0;
  margin-right: 18px;
  border-right: 1px solid var(--line-strong);
}
.credentials span:last-child {
  border-right: none;
  margin-right: 0;
}
@media (max-width: 600px) {
  .credentials span {
    border-right: none;
    margin-right: 0;
    padding: 2px 0;
    display: block;
  }
}

/* ---------- SECTION HEADS ---------- */
.section-head {
  max-width: 680px;
  margin-bottom: 48px;
}
.section-head h2 {
  font-size: clamp(1.8rem, 3.4vw, 2.6rem);
  margin-bottom: 16px;
}
.section-head p {
  color: var(--paper-dim);
  font-size: 1.02rem;
}
.kicker {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--brass);
  margin-bottom: 14px;
}

/* ---------- PROBLEM ---------- */
.problem {
  background: var(--panel);
  border-bottom: 1px solid var(--line);
}
.problem .lede {
  font-size: 1.15rem;
  color: var(--paper);
  max-width: 680px;
  margin-bottom: 18px;
}
.problem p {
  color: var(--paper-dim);
  max-width: 680px;
  margin-bottom: 18px;
}
.problem .closer {
  color: var(--paper);
  font-weight: 600;
  max-width: 680px;
}

/* ---------- PILLARS ---------- */
.pillars {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  margin-top: 8px;
}
@media (max-width: 800px) {
  .pillars {
    grid-template-columns: 1fr;
  }
}
.pillar {
  background: var(--ink);
  padding: 38px 34px;
}
.pillar-num {
  font-family: "Big Shoulders Display", sans-serif;
  font-weight: 800;
  font-size: 2.6rem;
  color: var(--brass-dim);
  line-height: 1;
  margin-bottom: 14px;
}
.pillar h3 {
  font-size: 1.35rem;
  margin-bottom: 14px;
}
.pillar p {
  color: var(--paper-dim);
  margin: 0 0 12px;
}
.pillar ul {
  margin-top: 10px;
}
.pillar li {
  color: var(--paper-dim);
  font-size: 0.94rem;
  padding: 6px 0 6px 18px;
  position: relative;
  border-top: 1px solid var(--line);
}
.pillar li:first-child {
  border-top: none;
}
.pillar li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--brass-dim);
}
.pillar .fine {
  font-size: 0.86rem;
  color: var(--steel);
  margin-top: 14px;
  font-style: italic;
}

/* ---------- GOALS ---------- */
.goal-list {
  display: flex;
  flex-direction: column;
}
.goal {
  display: grid;
  grid-template-columns: 220px 1fr auto;
  align-items: start;
  gap: 32px;
  padding: 34px 0;
  border-top: 1px solid var(--line);
}
.goal:last-child {
  border-bottom: 1px solid var(--line);
}
@media (max-width: 800px) {
  .goal {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}
.goal-name {
  font-family: "Big Shoulders Display", sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--brass);
}
.goal-body h4 {
  font-family: "Inter";
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--paper);
  margin-bottom: 8px;
}
.goal-body p {
  color: var(--paper-dim);
  max-width: 56ch;
  margin: 0;
}
.goal-link {
  align-self: center;
  white-space: nowrap;
  font-weight: 700;
  font-size: 0.88rem;
  color: var(--paper);
  border-bottom: 1px solid var(--brass);
  padding-bottom: 2px;
}
.goal-link:hover {
  color: var(--brass);
}
@media (max-width: 800px) {
  .goal-link {
    align-self: start;
  }
}

/* ---------- STEPS ---------- */
.steps {
  background: var(--panel);
  border-bottom: 1px solid var(--line);
}
.step-list {
  counter-reset: step;
}
.step {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 24px;
  padding: 28px 0;
  border-top: 1px solid var(--line);
}
.step:first-child {
  border-top: none;
}
.step-index {
  font-family: "Big Shoulders Display", sans-serif;
  font-weight: 800;
  font-size: 2rem;
  color: var(--brass);
}
.step h4 {
  font-size: 1.15rem;
  margin-bottom: 8px;
  font-family: "Inter";
  font-weight: 700;
}
.step p {
  color: var(--paper-dim);
  margin: 0;
  max-width: 60ch;
}

/* ---------- PACKAGES ---------- */
.pkg-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1px solid var(--line-strong);
}
@media (max-width: 900px) {
  .pkg-grid {
    grid-template-columns: 1fr;
  }
}
.pkg {
  padding: 38px 32px;
  border-left: 1px solid var(--line-strong);
  display: flex;
  flex-direction: column;
}
.pkg:first-child {
  border-left: none;
}
@media (max-width: 900px) {
  .pkg {
    border-left: none;
    border-top: 1px solid var(--line-strong);
  }
  .pkg:first-child {
    border-top: none;
  }
}
.pkg.featured {
  background: var(--panel);
}
.pkg-freq {
  font-size: 0.86rem;
  color: var(--brass);
  font-weight: 600;
  margin-bottom: 6px;
}
.pkg-count {
  font-size: 1.05rem;
  color: var(--paper-dim);
  margin-bottom: 22px;
}
.pkg-price {
  font-family: "Big Shoulders Display", sans-serif;
  font-weight: 800;
  font-size: 2.6rem;
  margin-bottom: 4px;
}
.pkg-price small {
  font-family: "Inter";
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--paper-dim);
}
.pkg-for {
  color: var(--paper-dim);
  font-size: 0.94rem;
  margin: 14px 0 20px;
  flex-grow: 0;
}
.pkg ul {
  margin-bottom: 26px;
  flex-grow: 1;
}
.pkg li {
  font-size: 0.9rem;
  color: var(--paper-dim);
  padding: 8px 0;
  border-top: 1px solid var(--line);
}
.pkg li:first-child {
  border-top: none;
}
.pkg .btn {
  text-align: center;
  margin-top: auto;
}

.help-pick {
  margin-top: 24px;
  padding: 32px;
  background: var(--panel);
  border-left: 3px solid var(--brass);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.help-pick h4 {
  font-family: "Inter";
  font-weight: 700;
  font-size: 1.1rem;
  margin-bottom: 8px;
}
.help-pick p {
  color: var(--paper-dim);
  margin: 0;
  max-width: 60ch;
  font-size: 0.95rem;
}

.terms {
  margin-top: 56px;
}
.terms h4 {
  font-size: 1.05rem;
  font-family: "Inter";
  font-weight: 700;
  margin-bottom: 16px;
  color: var(--paper);
}
.terms ul {
  max-width: 760px;
}
.terms li {
  color: var(--paper-dim);
  font-size: 0.92rem;
  padding: 10px 0 10px 20px;
  border-top: 1px solid var(--line);
  position: relative;
}
.terms li:first-child {
  border-top: none;
}
.terms li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--steel);
}

/* ---------- PROGRAMME CALLOUT ---------- */
.programme {
  background: var(--ink-soft);
  border: 1px solid var(--line-strong);
  padding: 44px;
  display: flex;
  gap: 36px;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.programme .info h3 {
  font-size: 1.5rem;
  margin-bottom: 10px;
}
.programme .info .price-tag {
  color: var(--brass);
  font-weight: 700;
  font-size: 1.1rem;
  margin-bottom: 10px;
}
.programme .info p {
  color: var(--paper-dim);
  max-width: 52ch;
  margin: 0;
}

/* ---------- FINAL CTA ---------- */
.final-cta {
  text-align: left;
  background: var(--panel);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.final-cta h2 {
  font-size: clamp(1.8rem, 3.6vw, 2.5rem);
  max-width: 20ch;
  margin-bottom: 18px;
}
.final-cta p {
  color: var(--paper-dim);
  max-width: 64ch;
  margin-bottom: 30px;
  font-size: 1.02rem;
}

/* ---------- FOOTER ---------- */
footer {
  padding: 56px 0 32px;
}
.footer-top {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
  padding-bottom: 36px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 24px;
}
.footer-brand .brand {
  margin-bottom: 10px;
}
.footer-brand p {
  color: var(--paper-dim);
  font-size: 0.9rem;
  margin: 4px 0;
}
.footer-cols {
  display: flex;
  gap: 56px;
  flex-wrap: wrap;
}
.footer-col h5 {
  font-size: 0.82rem;
  color: var(--brass);
  font-weight: 600;
  margin-bottom: 14px;
}
.footer-col a {
  display: block;
  color: var(--paper-dim);
  font-size: 0.9rem;
  padding: 5px 0;
}
.footer-col a:hover {
  color: var(--paper);
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  font-size: 0.82rem;
  color: var(--steel);
}
.footer-bottom a {
  color: var(--steel);
  margin-right: 16px;
}
.footer-bottom a:hover {
  color: var(--paper-dim);
}

/* ---------- SUBPAGE GENERIC HERO (used by goal pages, about, etc.) ---------- */
.page-hero {
  padding: 72px 0 56px;
  border-bottom: 1px solid var(--line);
  background: radial-gradient(
      ellipse at 85% -10%,
      rgba(215, 242, 60, 0.10),
      transparent 55%
    ),
    var(--ink);
}
.page-hero .kicker {
  margin-bottom: 18px;
}
.page-hero h1 {
  font-size: clamp(2.1rem, 4.6vw, 3.2rem);
  max-width: 20ch;
  margin-bottom: 20px;
}
.page-hero p {
  color: var(--paper-dim);
  max-width: 620px;
  font-size: 1.05rem;
}

.prose p {
  color: var(--paper-dim);
  max-width: 680px;
  margin: 0 0 18px;
}
.prose h3 {
  font-size: 1.4rem;
  margin: 36px 0 14px;
}
.prose ul {
  max-width: 680px;
  margin-bottom: 18px;
}
.prose li {
  color: var(--paper-dim);
  padding: 6px 0 6px 18px;
  position: relative;
  border-top: 1px solid var(--line);
}
.prose li:first-child {
  border-top: none;
}
.prose li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--brass-dim);
}

/* ---------- RESULTS PLACEHOLDER CARDS ---------- */
.results-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
@media (max-width: 800px) {
  .results-grid {
    grid-template-columns: 1fr;
  }
}
.result-card {
  background: var(--ink);
  padding: 32px;
}
.result-card h4 {
  font-family: "Inter";
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--paper);
  margin-bottom: 10px;
}
.result-card p {
  color: var(--steel);
  font-size: 0.9rem;
  margin: 0;
  font-style: italic;
}

/* ---------- FAQ ACCORDION ---------- */
.faq-list {
  border-top: 1px solid var(--line);
}
.faq-item {
  border-bottom: 1px solid var(--line);
  padding: 20px 0;
}
.faq-item summary {
  cursor: pointer;
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--paper);
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.faq-item summary::-webkit-details-marker {
  display: none;
}
.faq-item summary::after {
  content: "+";
  color: var(--brass);
  font-size: 1.4rem;
  font-weight: 400;
  flex-shrink: 0;
}
.faq-item[open] summary::after {
  content: "\2013";
}
.faq-item p {
  color: var(--paper-dim);
  margin: 14px 0 0;
  max-width: 70ch;
}

/* ---------- FOOTER CTA ROW ---------- */
.footer-cta-row {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 20px;
}

/* ---------- START CLOSING BLOCK ---------- */
.start-block {
  background: var(--panel);
  border-top: 1px solid var(--line);
}
.start-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 48px;
  align-items: center;
}
@media (max-width: 900px) {
  .start-grid {
    grid-template-columns: 1fr;
  }
}
.start-block h2 {
  font-size: clamp(1.8rem, 3.6vw, 2.6rem);
  max-width: 18ch;
  margin-bottom: 20px;
}
.start-block p {
  color: var(--paper-dim);
  max-width: 52ch;
  margin: 0 0 12px;
  font-size: 1.02rem;
}
.start-word {
  font-family: "Big Shoulders Display", sans-serif;
  font-weight: 800;
  font-size: clamp(3rem, 9vw, 6rem);
  color: var(--brass);
  line-height: 1;
  margin: 24px 0 28px;
  letter-spacing: 0.02em;
}
.start-visual-placeholder {
  aspect-ratio: 4 / 3;
  border: 1px solid var(--line-strong);
  overflow: hidden;
  background: var(--ink);
}
.start-visual-placeholder img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.wa-btn{display:inline-block;}
/* ---------- FEATURED TESTIMONIAL ---------- */
.testimonial-featured {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 40px;
  align-items: stretch;
  border: 1px solid var(--line-strong);
  background: var(--panel);
  margin-bottom: 32px;
}
@media (max-width: 900px) {
  .testimonial-featured {
    grid-template-columns: 1fr;
  }
}
.testimonial-photos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--line);
}
.testimonial-photos figure {
  margin: 0;
  position: relative;
  overflow: hidden;
  background: var(--ink);
  aspect-ratio: 3 / 4;
}
.testimonial-photos img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.testimonial-photos figcaption {
  position: absolute;
  bottom: 10px;
  left: 10px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--paper);
  background: rgba(11, 11, 12, 0.65);
  padding: 4px 10px;
}
.testimonial-body {
  padding: 36px 36px 36px 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 900px) {
  .testimonial-body {
    padding: 28px;
  }
}
.testimonial-body .quote {
  font-size: 1.15rem;
  color: var(--paper);
  line-height: 1.5;
  margin-bottom: 20px;
}
.testimonial-body .quote::before {
  content: "\201E";
  color: var(--brass);
  font-family: "Big Shoulders Display", sans-serif;
  font-size: 1.4rem;
}
.testimonial-name {
  font-weight: 700;
  color: var(--paper);
  font-size: 1rem;
}
.testimonial-result {
  color: var(--brass);
  font-weight: 700;
  font-size: 0.95rem;
  margin-bottom: 18px;
}

/* ---------- STORY SECTIONS (Rezultatai page) ---------- */
.story-block {
  margin-bottom: 26px;
}
.story-block h3 {
  font-size: 1.3rem;
  margin-bottom: 14px;
}
.story-block p {
  color: var(--paper-dim);
  max-width: 720px;
  margin: 0 0 14px;
}
.story-photos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  max-width: 360px;
  margin: 20px 0 20px;
}
.story-photos figure {
  margin: 0;
  position: relative;
  background: var(--ink);
  aspect-ratio: 3 / 4;
  overflow: hidden;
}
.story-photos img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.story-photos figcaption {
  position: absolute;
  bottom: 10px;
  left: 10px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--paper);
  background: rgba(11, 11, 12, 0.65);
  padding: 4px 10px;
}
.story-quote-block {
  border-left: 3px solid var(--brass);
  padding: 24px 28px;
  background: var(--panel);
  margin-top: 40px;
}
.story-quote-block .quote {
  font-size: 1.1rem;
  color: var(--paper);
  line-height: 1.6;
  margin-bottom: 16px;
}
.story-quote-block .quote::before {
  content: "\201E";
  color: var(--brass);
  font-family: "Big Shoulders Display", sans-serif;
  font-size: 1.4rem;
}

.goal-body p + p { margin-top: 10px; }

/* spacing tweaks */
#tikslai, #apie { padding-top: 0; }
.help-pick p + p { margin-top: 10px; }
.pillar .fine + .fine { margin-top: 8px; }

.testimonial-body .quote::after, .story-quote-block .quote::after { content: "\201C"; color: var(--brass); font-family: "Big Shoulders Display", sans-serif; font-size: 1.4rem; }

/* ---------- STORY CARDS: clear separation between client stories ---------- */
.story-card { --accent: var(--brass); border: 1px solid var(--line-strong); border-top: 4px solid var(--accent); background: var(--panel); padding: 40px 40px 32px; }
.story-card.alt { --accent: #b79cff; }
.story-badge { display: inline-block; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.04em; color: var(--ink); background: var(--accent); padding: 5px 12px; margin-bottom: 18px; }
.story-card .story-quote-block { background: var(--ink); border-left-color: var(--accent); }
.story-card .story-quote-block .quote::before, .story-card .story-quote-block .quote::after { color: var(--accent); }
@media (max-width: 700px) { .story-card { padding: 24px 20px; } }

.testimonial-featured { --accent: var(--brass); border-top: 4px solid var(--accent); }
.testimonial-featured.alt { --accent: #b79cff; }
.testimonial-featured .testimonial-result { color: var(--accent); }
.testimonial-featured .goal-link { border-bottom-color: var(--accent); }
.testimonial-featured .quote::before, .testimonial-featured .quote::after { color: var(--accent); }

/* ---------- third story accent + no-photo variants ---------- */
.story-card.alt2 { --accent: #ffa05a; }
.testimonial-featured.alt2 { --accent: #ffa05a; }
.story-stat { margin: 4px 0 28px; }
.story-stat .stat-number, .testimonial-stat .stat-number { font-family: "Big Shoulders Display", sans-serif; font-weight: 800; font-size: clamp(3rem, 8vw, 5rem); line-height: 1; color: var(--accent); }
.story-stat .stat-caption, .testimonial-stat .stat-caption { color: var(--paper-dim); font-size: 1rem; margin-top: 8px; }
.testimonial-featured.no-photo { grid-template-columns: 0.7fr 1.3fr; }
.testimonial-stat { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 36px; background: var(--ink); border-right: 1px solid var(--line); }
.testimonial-featured.no-photo .testimonial-body { padding: 36px; }
@media (max-width: 900px) {
  .testimonial-featured.no-photo { grid-template-columns: 1fr; }
  .testimonial-stat { border-right: none; border-bottom: 1px solid var(--line); padding: 28px; }
}

/* Home testimonial cards: name + result up front, no decorative marks */
.testimonial-featured { border-top: 1px solid var(--line-strong); }
.testimonial-featured .testimonial-body .quote::before,
.testimonial-featured .testimonial-body .quote::after { content: none; }
.testimonial-head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 16px; margin-bottom: 16px; }
.testimonial-head .testimonial-result { font-family: "Big Shoulders Display", sans-serif; font-weight: 800; font-size: 2.6rem; line-height: 1; margin: 0; color: var(--accent); }
.testimonial-head .testimonial-name { font-size: 1.15rem; }
.testimonial-featured .testimonial-body .quote { margin-bottom: 22px; }

/* one consistent accent for every client story (no per-client colours) */
.story-card, .story-card.alt, .story-card.alt2,
.testimonial-featured, .testimonial-featured.alt, .testimonial-featured.alt2 { --accent: var(--paper); }
.story-card { border-top: 3px solid rgba(241, 241, 236, 0.5); }

/* Home: card with a chat screenshot instead of photos */
.testimonial-featured.proof-card { grid-template-columns: 0.95fr 1.05fr; }
.testimonial-proof { display: flex; align-items: center; justify-content: center; background: var(--ink); padding: 24px; }
.testimonial-proof figure { margin: 0; width: 100%; }
.testimonial-proof img { width: 100%; display: block; border: 1px solid var(--line-strong); }
.testimonial-proof figcaption { font-size: 0.8rem; color: var(--steel); margin-top: 10px; }
.testimonial-featured.proof-card .testimonial-body { padding: 36px; }
.testimonial-head .testimonial-sub { flex-basis: 100%; color: var(--paper-dim); font-size: 0.95rem; }
@media (max-width: 900px) { .testimonial-featured.proof-card { grid-template-columns: 1fr; } }




:root {
  --ink: #0b0b0c;
  --ink-soft: #17171a;
  --panel: #151517;
  --paper: #f1f1ec;
  --paper-dim: #c7c7c0;
  --brass: #d7f23c;
  --brass-dim: #9cb52c;
  --steel: #6b6c66;
  --line: rgba(241, 241, 236, 0.12);
  --line-strong: rgba(241, 241, 236, 0.24);
  --max: 1180px;
}

* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--ink);
  color: var(--paper);
  font-family: "Inter", sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
h1,
h2,
h3,
h4 {
  font-family: "Big Shoulders Display", sans-serif;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.02;
  margin: 0;
  color: var(--paper);
}
a {
  color: inherit;
  text-decoration: none;
}
img {
  max-width: 100%;
  display: block;
}
ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.wrap {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 28px;
}
section {
  padding: 64px 0;
}
@media (max-width: 720px) {
  section {
    padding: 40px 0;
  }
  .wrap {
    padding: 0 20px;
  }
}

a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--brass);
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* ---------- NAV ---------- */
header.site-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(21, 21, 15, 0.94);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--line);
}
.nav-inner {
  max-width: var(--max);
  margin: 0 auto;
  padding: 18px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.brand {
  font-family: "Big Shoulders Display", sans-serif;
  font-weight: 800;
  font-size: 1.35rem;
  letter-spacing: 0.01em;
}
.brand span {
  color: var(--brass);
}
nav.menu {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
}
nav.menu a {
  font-size: 0.86rem;
  font-weight: 500;
  color: var(--paper-dim);
  padding: 6px 0;
  border-bottom: 2px solid transparent;
}
nav.menu a:hover {
  color: var(--paper);
  border-color: var(--brass);
}
.nav-cta {
  display: inline-block;
  white-space: nowrap;
  background: var(--brass);
  color: var(--ink);
  font-weight: 700;
  font-size: 0.85rem;
  padding: 10px 20px;
}
.nav-cta:hover {
  background: #e4ff5f;
}
.lang-switch {
  display: flex;
  gap: 6px;
  font-size: 0.8rem;
  font-weight: 600;
}
.lang-switch a {
  padding: 4px 6px;
  color: var(--paper-dim);
}
.lang-switch a.active {
  color: var(--brass);
}
.menu-toggle {
  display: none;
  background: none;
  border: 1px solid var(--line-strong);
  color: var(--paper);
  padding: 8px 12px;
  font-family: inherit;
  font-size: 0.85rem;
}
@media (max-width: 980px) {
  nav.menu {
    display: none;
  }
  .menu-toggle {
    display: block;
  }
}

/* ---------- HERO ---------- */
.hero {
  padding: 88px 0 72px;
  border-bottom: 1px solid var(--line);
  background: radial-gradient(
      ellipse at 85% -10%,
      rgba(215, 242, 60, 0.14),
      transparent 55%
    ),
    var(--ink);
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 56px;
  align-items: center;
}
@media (max-width: 900px) {
  .hero-grid {
    grid-template-columns: 1fr;
  }
}
.hero-photo {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border: 1px solid var(--line-strong);
  background: var(--panel);
}
.hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
.hero-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(11, 11, 12, 0) 60%,
    rgba(11, 11, 12, 0.55) 100%
  );
  pointer-events: none;
}
.hero-photo-caption {
  position: absolute;
  left: 20px;
  bottom: 18px;
  color: var(--paper);
  font-size: 0.85rem;
  font-weight: 600;
  z-index: 2;
}
.hero-photo-caption span {
  display: block;
  color: var(--brass);
  font-size: 0.78rem;
  font-weight: 500;
  margin-top: 2px;
}
@media (max-width: 900px) {
  .hero-photo {
    aspect-ratio: 4 / 5;
    order: -1;
  }
}
.hero-tag {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--brass);
  letter-spacing: 0.04em;
  margin-bottom: 18px;
}
.hero h1 {
  font-size: clamp(2.4rem, 5.4vw, 4.1rem);
  max-width: 16ch;
  margin-bottom: 28px;
}
.hero-lede {
  max-width: 640px;
  font-size: 1.12rem;
  color: var(--paper-dim);
  margin-bottom: 18px;
}
.hero-lede.tight {
  margin-bottom: 36px;
}
.hero-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.btn {
  display: inline-block;
  padding: 15px 28px;
  font-weight: 700;
  font-size: 0.95rem;
  border: 1px solid transparent;
  cursor: pointer;
}
.btn-primary {
  background: var(--brass);
  color: var(--ink);
}
.btn-primary:hover {
  background: #e4ff5f;
}
.btn-outline {
  border-color: var(--line-strong);
  color: var(--paper);
}
.btn-outline:hover {
  border-color: var(--paper);
}

.credentials {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  border-top: 1px solid var(--line);
  padding-top: 22px;
  max-width: 720px;
}
.credentials span {
  font-size: 0.82rem;
  color: var(--paper-dim);
  padding: 0 18px 0 0;
  margin-right: 18px;
  border-right: 1px solid var(--line-strong);
}
.credentials span:last-child {
  border-right: none;
  margin-right: 0;
}
@media (max-width: 600px) {
  .credentials span {
    border-right: none;
    margin-right: 0;
    padding: 2px 0;
    display: block;
  }
}

/* ---------- SECTION HEADS ---------- */
.section-head {
  max-width: 680px;
  margin-bottom: 48px;
}
.section-head h2 {
  font-size: clamp(1.8rem, 3.4vw, 2.6rem);
  margin-bottom: 16px;
}
.section-head p {
  color: var(--paper-dim);
  font-size: 1.02rem;
}
.kicker {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--brass);
  margin-bottom: 14px;
}

/* ---------- PROBLEM ---------- */
.problem {
  background: var(--panel);
  border-bottom: 1px solid var(--line);
}
.problem .lede {
  font-size: 1.15rem;
  color: var(--paper);
  max-width: 680px;
  margin-bottom: 18px;
}
.problem p {
  color: var(--paper-dim);
  max-width: 680px;
  margin-bottom: 18px;
}
.problem .closer {
  color: var(--paper);
  font-weight: 600;
  max-width: 680px;
}

/* ---------- PILLARS ---------- */
.pillars {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  margin-top: 8px;
}
@media (max-width: 800px) {
  .pillars {
    grid-template-columns: 1fr;
  }
}
.pillar {
  background: var(--ink);
  padding: 38px 34px;
}
.pillar-num {
  font-family: "Big Shoulders Display", sans-serif;
  font-weight: 800;
  font-size: 2.6rem;
  color: var(--brass-dim);
  line-height: 1;
  margin-bottom: 14px;
}
.pillar h3 {
  font-size: 1.35rem;
  margin-bottom: 14px;
}
.pillar p {
  color: var(--paper-dim);
  margin: 0 0 12px;
}
.pillar ul {
  margin-top: 10px;
}
.pillar li {
  color: var(--paper-dim);
  font-size: 0.94rem;
  padding: 6px 0 6px 18px;
  position: relative;
  border-top: 1px solid var(--line);
}
.pillar li:first-child {
  border-top: none;
}
.pillar li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--brass-dim);
}
.pillar .fine {
  font-size: 0.86rem;
  color: var(--steel);
  margin-top: 14px;
  font-style: italic;
}

/* ---------- GOALS ---------- */
.goal-list {
  display: flex;
  flex-direction: column;
}
.goal {
  display: grid;
  grid-template-columns: 220px 1fr auto;
  align-items: start;
  gap: 32px;
  padding: 34px 0;
  border-top: 1px solid var(--line);
}
.goal:last-child {
  border-bottom: 1px solid var(--line);
}
@media (max-width: 800px) {
  .goal {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}
.goal-name {
  font-family: "Big Shoulders Display", sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--brass);
}
.goal-body h4 {
  font-family: "Inter";
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--paper);
  margin-bottom: 8px;
}
.goal-body p {
  color: var(--paper-dim);
  max-width: 56ch;
  margin: 0;
}
.goal-link {
  align-self: center;
  white-space: nowrap;
  font-weight: 700;
  font-size: 0.88rem;
  color: var(--paper);
  border-bottom: 1px solid var(--brass);
  padding-bottom: 2px;
}
.goal-link:hover {
  color: var(--brass);
}
@media (max-width: 800px) {
  .goal-link {
    align-self: start;
  }
}

/* ---------- STEPS ---------- */
.steps {
  background: var(--panel);
  border-bottom: 1px solid var(--line);
}
.step-list {
  counter-reset: step;
}
.step {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 24px;
  padding: 28px 0;
  border-top: 1px solid var(--line);
}
.step:first-child {
  border-top: none;
}
.step-index {
  font-family: "Big Shoulders Display", sans-serif;
  font-weight: 800;
  font-size: 2rem;
  color: var(--brass);
}
.step h4 {
  font-size: 1.15rem;
  margin-bottom: 8px;
  font-family: "Inter";
  font-weight: 700;
}
.step p {
  color: var(--paper-dim);
  margin: 0;
  max-width: 60ch;
}

/* ---------- PACKAGES ---------- */
.pkg-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1px solid var(--line-strong);
}
@media (max-width: 900px) {
  .pkg-grid {
    grid-template-columns: 1fr;
  }
}
.pkg {
  padding: 38px 32px;
  border-left: 1px solid var(--line-strong);
  display: flex;
  flex-direction: column;
}
.pkg:first-child {
  border-left: none;
}
@media (max-width: 900px) {
  .pkg {
    border-left: none;
    border-top: 1px solid var(--line-strong);
  }
  .pkg:first-child {
    border-top: none;
  }
}
.pkg.featured {
  background: var(--panel);
}
.pkg-freq {
  font-size: 0.86rem;
  color: var(--brass);
  font-weight: 600;
  margin-bottom: 6px;
}
.pkg-count {
  font-size: 1.05rem;
  color: var(--paper-dim);
  margin-bottom: 22px;
}
.pkg-price {
  font-family: "Big Shoulders Display", sans-serif;
  font-weight: 800;
  font-size: 2.6rem;
  margin-bottom: 4px;
}
.pkg-price small {
  font-family: "Inter";
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--paper-dim);
}
.pkg-for {
  color: var(--paper-dim);
  font-size: 0.94rem;
  margin: 14px 0 20px;
  flex-grow: 0;
}
.pkg ul {
  margin-bottom: 26px;
  flex-grow: 1;
}
.pkg li {
  font-size: 0.9rem;
  color: var(--paper-dim);
  padding: 8px 0;
  border-top: 1px solid var(--line);
}
.pkg li:first-child {
  border-top: none;
}
.pkg .btn {
  text-align: center;
  margin-top: auto;
}

.help-pick {
  margin-top: 24px;
  padding: 32px;
  background: var(--panel);
  border-left: 3px solid var(--brass);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.help-pick h4 {
  font-family: "Inter";
  font-weight: 700;
  font-size: 1.1rem;
  margin-bottom: 8px;
}
.help-pick p {
  color: var(--paper-dim);
  margin: 0;
  max-width: 60ch;
  font-size: 0.95rem;
}

.terms {
  margin-top: 56px;
}
.terms h4 {
  font-size: 1.05rem;
  font-family: "Inter";
  font-weight: 700;
  margin-bottom: 16px;
  color: var(--paper);
}
.terms ul {
  max-width: 760px;
}
.terms li {
  color: var(--paper-dim);
  font-size: 0.92rem;
  padding: 10px 0 10px 20px;
  border-top: 1px solid var(--line);
  position: relative;
}
.terms li:first-child {
  border-top: none;
}
.terms li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--steel);
}

/* ---------- PROGRAMME CALLOUT ---------- */
.programme {
  background: var(--ink-soft);
  border: 1px solid var(--line-strong);
  padding: 44px;
  display: flex;
  gap: 36px;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.programme .info h3 {
  font-size: 1.5rem;
  margin-bottom: 10px;
}
.programme .info .price-tag {
  color: var(--brass);
  font-weight: 700;
  font-size: 1.1rem;
  margin-bottom: 10px;
}
.programme .info p {
  color: var(--paper-dim);
  max-width: 52ch;
  margin: 0;
}

/* ---------- FINAL CTA ---------- */
.final-cta {
  text-align: left;
  background: var(--panel);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.final-cta h2 {
  font-size: clamp(1.8rem, 3.6vw, 2.5rem);
  max-width: 20ch;
  margin-bottom: 18px;
}
.final-cta p {
  color: var(--paper-dim);
  max-width: 64ch;
  margin-bottom: 30px;
  font-size: 1.02rem;
}

/* ---------- FOOTER ---------- */
footer {
  padding: 56px 0 32px;
}
.footer-top {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
  padding-bottom: 36px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 24px;
}
.footer-brand .brand {
  margin-bottom: 10px;
}
.footer-brand p {
  color: var(--paper-dim);
  font-size: 0.9rem;
  margin: 4px 0;
}
.footer-cols {
  display: flex;
  gap: 56px;
  flex-wrap: wrap;
}
.footer-col h5 {
  font-size: 0.82rem;
  color: var(--brass);
  font-weight: 600;
  margin-bottom: 14px;
}
.footer-col a {
  display: block;
  color: var(--paper-dim);
  font-size: 0.9rem;
  padding: 5px 0;
}
.footer-col a:hover {
  color: var(--paper);
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  font-size: 0.82rem;
  color: var(--steel);
}
.footer-bottom a {
  color: var(--steel);
  margin-right: 16px;
}
.footer-bottom a:hover {
  color: var(--paper-dim);
}

/* ---------- SUBPAGE GENERIC HERO (used by goal pages, about, etc.) ---------- */
.page-hero {
  padding: 72px 0 56px;
  border-bottom: 1px solid var(--line);
  background: radial-gradient(
      ellipse at 85% -10%,
      rgba(215, 242, 60, 0.10),
      transparent 55%
    ),
    var(--ink);
}
.page-hero .kicker {
  margin-bottom: 18px;
}
.page-hero h1 {
  font-size: clamp(2.1rem, 4.6vw, 3.2rem);
  max-width: 20ch;
  margin-bottom: 20px;
}
.page-hero p {
  color: var(--paper-dim);
  max-width: 620px;
  font-size: 1.05rem;
}

.prose p {
  color: var(--paper-dim);
  max-width: 680px;
  margin: 0 0 18px;
}
.prose h3 {
  font-size: 1.4rem;
  margin: 36px 0 14px;
}
.prose ul {
  max-width: 680px;
  margin-bottom: 18px;
}
.prose li {
  color: var(--paper-dim);
  padding: 6px 0 6px 18px;
  position: relative;
  border-top: 1px solid var(--line);
}
.prose li:first-child {
  border-top: none;
}
.prose li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--brass-dim);
}

/* ---------- RESULTS PLACEHOLDER CARDS ---------- */
.results-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
@media (max-width: 800px) {
  .results-grid {
    grid-template-columns: 1fr;
  }
}
.result-card {
  background: var(--ink);
  padding: 32px;
}
.result-card h4 {
  font-family: "Inter";
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--paper);
  margin-bottom: 10px;
}
.result-card p {
  color: var(--steel);
  font-size: 0.9rem;
  margin: 0;
  font-style: italic;
}

/* ---------- FAQ ACCORDION ---------- */
.faq-list {
  border-top: 1px solid var(--line);
}
.faq-item {
  border-bottom: 1px solid var(--line);
  padding: 20px 0;
}
.faq-item summary {
  cursor: pointer;
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--paper);
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.faq-item summary::-webkit-details-marker {
  display: none;
}
.faq-item summary::after {
  content: "+";
  color: var(--brass);
  font-size: 1.4rem;
  font-weight: 400;
  flex-shrink: 0;
}
.faq-item[open] summary::after {
  content: "\2013";
}
.faq-item p {
  color: var(--paper-dim);
  margin: 14px 0 0;
  max-width: 70ch;
}

/* ---------- FOOTER CTA ROW ---------- */
.footer-cta-row {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 20px;
}

/* ---------- START CLOSING BLOCK ---------- */
.start-block {
  background: var(--panel);
  border-top: 1px solid var(--line);
}
.start-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 48px;
  align-items: center;
}
@media (max-width: 900px) {
  .start-grid {
    grid-template-columns: 1fr;
  }
}
.start-block h2 {
  font-size: clamp(1.8rem, 3.6vw, 2.6rem);
  max-width: 18ch;
  margin-bottom: 20px;
}
.start-block p {
  color: var(--paper-dim);
  max-width: 52ch;
  margin: 0 0 12px;
  font-size: 1.02rem;
}
.start-word {
  font-family: "Big Shoulders Display", sans-serif;
  font-weight: 800;
  font-size: clamp(3rem, 9vw, 6rem);
  color: var(--brass);
  line-height: 1;
  margin: 24px 0 28px;
  letter-spacing: 0.02em;
}
.start-visual-placeholder {
  aspect-ratio: 4 / 5;
  border: 1px dashed var(--line-strong);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--steel);
  font-size: 0.85rem;
  padding: 24px;
}

/* ---------- FEATURE GRID (5 items, 1:1 page) ---------- */
.feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  margin-top: 8px;
}
@media (max-width: 900px) {
  .feature-grid {
    grid-template-columns: 1fr;
  }
}
.feature-card {
  background: var(--ink);
  padding: 32px 28px;
}
.feature-card h3 {
  font-size: 1.15rem;
  margin-bottom: 10px;
  font-family: "Inter";
  font-weight: 700;
}
.feature-card p {
  color: var(--paper-dim);
  margin: 0;
  font-size: 0.94rem;
}

/* ---------- PER-SESSION PRICE LINE ---------- */
.pkg-per-session {
  color: var(--brass);
  font-size: 0.86rem;
  font-weight: 600;
  margin-bottom: 18px;
}

/* ---------- FIT PICKER (kuris paketas tinkamiausias) ---------- */
.fit-list p {
  color: var(--paper-dim);
  max-width: 680px;
  margin: 0 0 14px;
}
.fit-list p strong {
  color: var(--paper);
}

/* ---------- FEATURED TESTIMONIAL ---------- */
.testimonial-featured {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 40px;
  align-items: stretch;
  border: 1px solid var(--line-strong);
  background: var(--panel);
  margin-bottom: 32px;
}
@media (max-width: 900px) {
  .testimonial-featured {
    grid-template-columns: 1fr;
  }
}
.testimonial-photos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--line);
}
.testimonial-photos figure {
  margin: 0;
  position: relative;
  overflow: hidden;
  background: var(--ink);
  aspect-ratio: 3 / 4;
}
.testimonial-photos img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.testimonial-photos figcaption {
  position: absolute;
  bottom: 10px;
  left: 10px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--paper);
  background: rgba(11, 11, 12, 0.65);
  padding: 4px 10px;
}
.testimonial-body {
  padding: 36px 36px 36px 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 900px) {
  .testimonial-body {
    padding: 28px;
  }
}
.testimonial-body .quote {
  font-size: 1.15rem;
  color: var(--paper);
  line-height: 1.5;
  margin-bottom: 20px;
}
.testimonial-body .quote::before {
  content: "\201E";
  color: var(--brass);
  font-family: "Big Shoulders Display", sans-serif;
  font-size: 1.4rem;
}
.testimonial-name {
  font-weight: 700;
  color: var(--paper);
  font-size: 1rem;
}
.testimonial-result {
  color: var(--brass);
  font-weight: 700;
  font-size: 0.95rem;
  margin-bottom: 18px;
}

/* ---------- STORY SECTIONS (Rezultatai page) ---------- */
.story-block {
  margin-bottom: 26px;
}
.story-block h3 {
  font-size: 1.3rem;
  margin-bottom: 14px;
}
.story-block p {
  color: var(--paper-dim);
  max-width: 720px;
  margin: 0 0 14px;
}
.story-photos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  max-width: 360px;
  margin: 20px 0 20px;
}
.story-photos figure {
  margin: 0;
  position: relative;
  background: var(--ink);
  aspect-ratio: 3 / 4;
  overflow: hidden;
}
.story-photos img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.story-photos figcaption {
  position: absolute;
  bottom: 10px;
  left: 10px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--paper);
  background: rgba(11, 11, 12, 0.65);
  padding: 4px 10px;
}
.story-quote-block {
  border-left: 3px solid var(--brass);
  padding: 24px 28px;
  background: var(--panel);
  margin-top: 40px;
}
.story-quote-block .quote {
  font-size: 1.1rem;
  color: var(--paper);
  line-height: 1.6;
  margin-bottom: 16px;
}
.story-quote-block .quote::before {
  content: "\201E";
  color: var(--brass);
  font-family: "Big Shoulders Display", sans-serif;
  font-size: 1.4rem;
}


.testimonial-body .quote::after, .story-quote-block .quote::after { content: "\201C"; color: var(--brass); font-family: "Big Shoulders Display", sans-serif; font-size: 1.4rem; }

/* ---------- STORY CARDS: clear separation between client stories ---------- */
.story-card { --accent: var(--brass); border: 1px solid var(--line-strong); border-top: 4px solid var(--accent); background: var(--panel); padding: 40px 40px 32px; }
.story-card.alt { --accent: #b79cff; }
.story-badge { display: inline-block; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.04em; color: var(--ink); background: var(--accent); padding: 5px 12px; margin-bottom: 18px; }
.story-card .story-quote-block { background: var(--ink); border-left-color: var(--accent); }
.story-card .story-quote-block .quote::before, .story-card .story-quote-block .quote::after { color: var(--accent); }
@media (max-width: 700px) { .story-card { padding: 24px 20px; } }

.testimonial-featured { --accent: var(--brass); border-top: 4px solid var(--accent); }
.testimonial-featured.alt { --accent: #b79cff; }
.testimonial-featured .testimonial-result { color: var(--accent); }
.testimonial-featured .goal-link { border-bottom-color: var(--accent); }
.testimonial-featured .quote::before, .testimonial-featured .quote::after { color: var(--accent); }

/* ---------- third story accent + no-photo variants ---------- */
.story-card.alt2 { --accent: #ffa05a; }
.testimonial-featured.alt2 { --accent: #ffa05a; }
.story-stat { margin: 4px 0 28px; }
.story-stat .stat-number, .testimonial-stat .stat-number { font-family: "Big Shoulders Display", sans-serif; font-weight: 800; font-size: clamp(3rem, 8vw, 5rem); line-height: 1; color: var(--accent); }
.story-stat .stat-caption, .testimonial-stat .stat-caption { color: var(--paper-dim); font-size: 1rem; margin-top: 8px; }
.testimonial-featured.no-photo { grid-template-columns: 0.7fr 1.3fr; }
.testimonial-stat { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 36px; background: var(--ink); border-right: 1px solid var(--line); }
.testimonial-featured.no-photo .testimonial-body { padding: 36px; }
@media (max-width: 900px) {
  .testimonial-featured.no-photo { grid-template-columns: 1fr; }
  .testimonial-stat { border-right: none; border-bottom: 1px solid var(--line); padding: 28px; }
}

/* one consistent accent for every client story (no per-client colours) */
.story-card, .story-card.alt, .story-card.alt2,
.testimonial-featured, .testimonial-featured.alt, .testimonial-featured.alt2 { --accent: var(--paper); }
.story-card { border-top: 3px solid rgba(241, 241, 236, 0.5); }

/* chat screenshots used as proof */
.proof { margin: 24px 0 28px; }
.proof-label { font-size: 0.9rem; font-weight: 700; color: var(--paper); margin-bottom: 12px; }
.proof figure { margin: 0; }
.proof img { width: 100%; display: block; border: 1px solid var(--line-strong); }
.proof-main { max-width: 620px; margin-bottom: 16px !important; }
.proof-grid { column-count: 2; column-gap: 16px; max-width: 760px; }
.proof-grid figure { break-inside: avoid; margin: 0 0 16px; }
.proof-note { color: var(--steel); font-size: 0.85rem; margin-top: 4px; }
@media (max-width: 700px) { .proof-grid { column-count: 1; } }


/* ---- English site additions ---- */
[id] { scroll-margin-top: 84px; }
.page { display: none; }
.page.active { display: block; }
nav.menu a.current { color: var(--brass); border-color: var(--brass); }
.lang-switch a { font-size: 0.8rem; }
.feature-list { display: flex; flex-direction: column; }
.feature-row { display: grid; grid-template-columns: 260px 1fr; gap: 32px; padding: 26px 0; border-top: 1px solid var(--line); }
.feature-row:first-child { border-top: none; }
.feature-list .feature-row:last-child { border-bottom: 1px solid var(--line); }
.feature-row h3 { font-size: 1.05rem; font-family: "Inter"; font-weight: 700; color: var(--paper); margin: 0; }
.feature-row p { color: var(--paper-dim); margin: 0; max-width: 62ch; }
.feature-row p + p { margin-top: 10px; }
@media (max-width: 700px) { .feature-row { grid-template-columns: 1fr; gap: 8px; } }
.goal.goal-wide { grid-template-columns: 260px 1fr; }
@media (max-width: 800px) { .goal.goal-wide { grid-template-columns: 1fr; } }
.goal-body p + p { margin-top: 10px; }
.pillar .fine + .fine { margin-top: 8px; }
.help-pick p + p { margin-top: 10px; }
.stat-caption { color: var(--paper-dim); font-size: 1rem; margin-top: 8px; }
.note-small { color: var(--steel); font-size: 0.85rem; margin-top: 18px; }


/* ---- fixes: photo, heading wrapping, justified text ---- */
.start-visual-placeholder{aspect-ratio:auto !important;border:0 !important;padding:0 !important;display:block !important;background:none !important;}
.start-visual-placeholder img{width:100% !important;height:auto !important;object-fit:contain !important;}
.start-grid{align-items:center;}
h1,h2,h3,.hero h1,.page-hero h1{max-width:none !important;}
[style*="max-width:24ch"],[style*="max-width:30ch"]{max-width:none !important;}
main p, .page p, .feature-row p, .goal p, .prose li, .story-block p{
  text-align:justify; text-justify:inter-word; hyphens:auto; -webkit-hyphens:auto;
}
.kicker, .testimonial-name, figcaption, .note-small, nav p, footer p{text-align:left;}
.count-up{font-variant-numeric:tabular-nums;}

/* ---- animated step path ---- */
.step-list.step-path{position:relative;--step-bg:var(--ink);--dot:56px;}
.steps .step-list.step-path{--step-bg:var(--panel);}
.step-path .step{grid-template-columns:var(--dot) 1fr;border-top:none;position:relative;z-index:1;}
.step-path .step-index{width:var(--dot);height:var(--dot);border-radius:50%;border:2px solid var(--line-strong);
  background:var(--step-bg);display:flex;align-items:center;justify-content:center;font-size:1.35rem;line-height:1;
  color:var(--paper-dim);transition:background .35s,color .35s,border-color .35s,transform .35s;}
.step-path .step.is-on .step-index{background:var(--brass);border-color:var(--brass);color:var(--ink);transform:scale(1.06);}
.step-path .step h4,.step-path .step p{transition:opacity .4s;}
.step-path .step:not(.is-on) h4,.step-path .step:not(.is-on) p{opacity:.55;}
.path-track,.path-fill{position:absolute;width:2px;margin-left:-1px;z-index:0;pointer-events:none;}
.path-track{background:repeating-linear-gradient(to bottom,var(--line-strong) 0 7px,transparent 7px 14px);}
.path-fill{background:var(--brass);box-shadow:0 0 10px var(--brass);height:0;}
.path-rider{position:absolute;width:38px;height:38px;margin:-19px 0 0 -19px;z-index:2;pointer-events:none;
  border-radius:50%;background:var(--step-bg);border:2px solid var(--brass);display:flex;align-items:center;justify-content:center;
  transition:opacity .3s;}
.path-rider svg{width:24px;height:12px;fill:var(--brass);}
.path-rider.done{animation:riderPulse 1.6s ease-out 1;}
@keyframes riderPulse{0%{box-shadow:0 0 0 0 rgba(214,240,60,.55)}100%{box-shadow:0 0 0 18px rgba(214,240,60,0)}}
@media (max-width:600px){.step-list.step-path{--dot:46px;} .step-path .step{gap:16px;}}

/* ---- gym video band ---- */
.gym-band{position:relative;padding:0 !important;height:clamp(260px,52vw,540px);overflow:hidden;border-bottom:1px solid var(--line);background:#000;}
.gym-band video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.gym-band-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;
  background:linear-gradient(to top,rgba(10,10,8,.88) 0%,rgba(10,10,8,.35) 45%,rgba(10,10,8,.1) 100%);}
.gym-band-overlay .wrap{width:100%;padding-bottom:clamp(22px,4vw,44px);}
.gym-band h2{font-size:clamp(1.6rem,4.2vw,2.8rem);margin-top:8px;text-align:left;}
.gym-band .kicker{color:var(--brass);}
.gym-band + section{padding-top:72px !important;}
@media(max-width:720px){.gym-band + section{padding-top:52px !important;}}

/* ---- trainer photos ---- */
.page-photo{padding:0 !important;border-bottom:1px solid var(--line);background:#000;}
.page-photo img{display:block;width:100%;height:auto;aspect-ratio:16/7;object-fit:cover;}
.page-photo.portrait img{aspect-ratio:16/7;}
@media (max-width:720px){.page-photo img{aspect-ratio:16/10;} .page-photo.portrait img{aspect-ratio:4/5;}}
.about-grid{display:grid;grid-template-columns:minmax(260px,0.8fr) 1.2fr;gap:48px;align-items:start;}
.about-photo{margin:0;position:sticky;top:110px;}
.about-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line-strong);}
@media (max-width:860px){.about-grid{grid-template-columns:1fr;gap:28px;} .about-photo{position:static;max-width:460px;}}
/* ---------- FEATURE LIST (row layout, replaces uneven grid) ---------- */
.feature-list {
  display: flex;
  flex-direction: column;
}
.feature-row {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 32px;
  padding: 26px 0;
  border-top: 1px solid var(--line);
}
.feature-row:first-child {
  border-top: none;
}
.feature-list .feature-row:last-child {
  border-bottom: 1px solid var(--line);
}
.feature-row h3 {
  font-size: 1.05rem;
  font-family: "Inter";
  font-weight: 700;
  color: var(--paper);
  margin: 0;
}
.feature-row p {
  color: var(--paper-dim);
  margin: 0;
  max-width: 62ch;
}
@media (max-width: 700px) {
  .feature-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}


/* goals with long names + multi-paragraph bodies */
.goal.goal-wide { grid-template-columns: 260px 1fr; }
@media (max-width: 800px) { .goal.goal-wide { grid-template-columns: 1fr; } }
.goal-body p + p { margin-top: 10px; }

/* ---- fixes: photo, heading wrapping, justified text, counters ---- */
.start-visual-placeholder{aspect-ratio:auto !important;border:0 !important;padding:0 !important;display:block !important;background:none !important;overflow:visible !important;}
.start-visual-placeholder img{width:100% !important;height:auto !important;object-fit:contain !important;}
.start-grid{align-items:center;}
h1,h2,h3,.hero h1,.page-hero h1{max-width:none !important;}
main p, .page p, section p, .feature-row p, .goal p, .prose li, .story-block p{
  text-align:justify; text-justify:inter-word; hyphens:auto; -webkit-hyphens:auto;
}
.kicker, .testimonial-name, figcaption, .note-small, nav p, footer p, header p, .btn{text-align:left;}
.count-up{font-variant-numeric:tabular-nums;}

/* ---- animated step path ---- */
.step-list.step-path{position:relative;--step-bg:var(--ink);--dot:56px;}
.steps .step-list.step-path{--step-bg:var(--panel);}
.step-path .step{grid-template-columns:var(--dot) 1fr;border-top:none;position:relative;z-index:1;}
.step-path .step-index{width:var(--dot);height:var(--dot);border-radius:50%;border:2px solid var(--line-strong);
  background:var(--step-bg);display:flex;align-items:center;justify-content:center;font-size:1.35rem;line-height:1;
  color:var(--paper-dim);transition:background .35s,color .35s,border-color .35s,transform .35s;}
.step-path .step.is-on .step-index{background:var(--brass);border-color:var(--brass);color:var(--ink);transform:scale(1.06);}
.step-path .step h4,.step-path .step p{transition:opacity .4s;}
.step-path .step:not(.is-on) h4,.step-path .step:not(.is-on) p{opacity:.55;}
.path-track,.path-fill{position:absolute;width:2px;margin-left:-1px;z-index:0;pointer-events:none;}
.path-track{background:repeating-linear-gradient(to bottom,var(--line-strong) 0 7px,transparent 7px 14px);}
.path-fill{background:var(--brass);box-shadow:0 0 10px var(--brass);height:0;}
.path-rider{position:absolute;width:38px;height:38px;margin:-19px 0 0 -19px;z-index:2;pointer-events:none;
  border-radius:50%;background:var(--step-bg);border:2px solid var(--brass);display:flex;align-items:center;justify-content:center;
  transition:opacity .3s;}
.path-rider svg{width:24px;height:12px;fill:var(--brass);}
.path-rider.done{animation:riderPulse 1.6s ease-out 1;}
@keyframes riderPulse{0%{box-shadow:0 0 0 0 rgba(214,240,60,.55)}100%{box-shadow:0 0 0 18px rgba(214,240,60,0)}}
@media (max-width:600px){.step-list.step-path{--dot:46px;} .step-path .step{gap:16px;}}

/* ---- trainer photos ---- */
.page-photo{padding:0 !important;border-bottom:1px solid var(--line);background:#000;}
.page-photo img{display:block;width:100%;height:auto;aspect-ratio:16/7;object-fit:cover;}
.page-photo.portrait img{aspect-ratio:16/7;}
@media (max-width:720px){.page-photo img{aspect-ratio:16/10;} .page-photo.portrait img{aspect-ratio:4/5;}}
.about-grid{display:grid;grid-template-columns:minmax(260px,0.8fr) 1.2fr;gap:48px;align-items:start;}
.about-photo{margin:0;position:sticky;top:110px;}
.about-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line-strong);}
@media (max-width:860px){.about-grid{grid-template-columns:1fr;gap:28px;} .about-photo{position:static;max-width:460px;}}
/* goals with long names + multi-paragraph bodies */
.goal.goal-wide { grid-template-columns: 260px 1fr; }
@media (max-width: 800px) { .goal.goal-wide { grid-template-columns: 1fr; } }
.goal-body p + p { margin-top: 10px; }

/* ---- fixes: photo, heading wrapping, justified text, counters ---- */
.start-visual-placeholder{aspect-ratio:auto !important;border:0 !important;padding:0 !important;display:block !important;background:none !important;overflow:visible !important;}
.start-visual-placeholder img{width:100% !important;height:auto !important;object-fit:contain !important;}
.start-grid{align-items:center;}
h1,h2,h3,.hero h1,.page-hero h1{max-width:none !important;}
main p, .page p, section p, .feature-row p, .goal p, .prose li, .story-block p{
  text-align:justify; text-justify:inter-word; hyphens:auto; -webkit-hyphens:auto;
}
.kicker, .testimonial-name, figcaption, .note-small, nav p, footer p, header p, .btn{text-align:left;}
.count-up{font-variant-numeric:tabular-nums;}

/* ---- animated step path ---- */
.step-list.step-path{position:relative;--step-bg:var(--ink);--dot:56px;}
.steps .step-list.step-path{--step-bg:var(--panel);}
.step-path .step{grid-template-columns:var(--dot) 1fr;border-top:none;position:relative;z-index:1;}
.step-path .step-index{width:var(--dot);height:var(--dot);border-radius:50%;border:2px solid var(--line-strong);
  background:var(--step-bg);display:flex;align-items:center;justify-content:center;font-size:1.35rem;line-height:1;
  color:var(--paper-dim);transition:background .35s,color .35s,border-color .35s,transform .35s;}
.step-path .step.is-on .step-index{background:var(--brass);border-color:var(--brass);color:var(--ink);transform:scale(1.06);}
.step-path .step h4,.step-path .step p{transition:opacity .4s;}
.step-path .step:not(.is-on) h4,.step-path .step:not(.is-on) p{opacity:.55;}
.path-track,.path-fill{position:absolute;width:2px;margin-left:-1px;z-index:0;pointer-events:none;}
.path-track{background:repeating-linear-gradient(to bottom,var(--line-strong) 0 7px,transparent 7px 14px);}
.path-fill{background:var(--brass);box-shadow:0 0 10px var(--brass);height:0;}
.path-rider{position:absolute;width:38px;height:38px;margin:-19px 0 0 -19px;z-index:2;pointer-events:none;
  border-radius:50%;background:var(--step-bg);border:2px solid var(--brass);display:flex;align-items:center;justify-content:center;
  transition:opacity .3s;}
.path-rider svg{width:24px;height:12px;fill:var(--brass);}
.path-rider.done{animation:riderPulse 1.6s ease-out 1;}
@keyframes riderPulse{0%{box-shadow:0 0 0 0 rgba(214,240,60,.55)}100%{box-shadow:0 0 0 18px rgba(214,240,60,0)}}
@media (max-width:600px){.step-list.step-path{--dot:46px;} .step-path .step{gap:16px;}}

/* ---- trainer photos ---- */
.page-photo{padding:0 !important;border-bottom:1px solid var(--line);background:#000;}
.page-photo img{display:block;width:100%;height:auto;aspect-ratio:16/7;object-fit:cover;}
.page-photo.portrait img{aspect-ratio:16/7;}
@media (max-width:720px){.page-photo img{aspect-ratio:16/10;} .page-photo.portrait img{aspect-ratio:4/5;}}
.about-grid{display:grid;grid-template-columns:minmax(260px,0.8fr) 1.2fr;gap:48px;align-items:start;}
.about-photo{margin:0;position:sticky;top:110px;}
.about-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line-strong);}
@media (max-width:860px){.about-grid{grid-template-columns:1fr;gap:28px;} .about-photo{position:static;max-width:460px;}}

/* ---- combined LT/EN ---- */
body.lang-lt [data-lang="en"], body.lang-en [data-lang="lt"]{display:none !important;}
body.lang-lt .page[data-lang="lt"].active{display:block;}

@media (max-width:440px){
  .nav-inner{padding-left:16px !important;padding-right:16px !important;gap:8px;}
  .nav-inner > div{gap:8px !important;}
  .nav-cta{padding:10px 12px !important;font-size:.8rem !important;}
  .lang-switch{gap:6px !important;}
  .brand{font-size:1.05rem;}
}

@media (max-width:720px){.goal-link{white-space:normal !important;} .goal > *{min-width:0;}}

/* ---- emphasis, bullets, links ---- */
.page p strong,.page li strong{color:var(--paper);font-weight:700;}
.prose li::before,.pillar li::before{content:"" !important;width:7px;height:7px;background:var(--brass);border-radius:1px;top:.72em;}
.goal-link{color:var(--brass) !important;}
.goal-link:hover{color:var(--paper) !important;}

/* ---- hero: photo as full background ---- */
.hero{position:relative;overflow:hidden;background:var(--ink) !important;padding:120px 0 96px !important;min-height:min(92vh,860px);display:flex;align-items:center;}
.hero .wrap,.hero .hero-grid{position:static !important;}
.hero .wrap{width:100%;}
.hero .hero-grid{display:block !important;}
.hero .hero-grid > div:first-child{position:relative;z-index:2;max-width:600px;}
.hero .hero-photo{position:absolute !important;top:0;right:0;bottom:0;width:62%;aspect-ratio:auto !important;border:0 !important;z-index:0;margin:0;background:transparent;}
.hero .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;}
.hero .hero-photo::after{background:
  linear-gradient(90deg,var(--ink) 0%,rgba(13,13,10,.82) 18%,rgba(13,13,10,.25) 52%,rgba(13,13,10,0) 100%),
  linear-gradient(0deg,var(--ink) 0%,rgba(13,13,10,0) 28%) !important;}
.hero .hero-photo-caption{right:28px;left:auto !important;bottom:24px;text-align:right;}
.hero h1{text-shadow:0 2px 24px rgba(0,0,0,.45);}
@media (max-width:860px){
  .hero{display:block;min-height:0;padding:min(64vh,520px) 0 64px !important;}
  .hero .hero-photo{width:100%;bottom:auto;height:min(80vh,640px);}
  .hero .hero-photo img{object-position:50% 8%;}
  .hero .hero-photo::after{background:linear-gradient(180deg,rgba(13,13,10,.25) 0%,rgba(13,13,10,0) 22%,rgba(13,13,10,.55) 62%,var(--ink) 100%) !important;}
  .hero .hero-photo-caption{display:none;}
  .hero .hero-grid > div:first-child{max-width:none;}
}

/* ---- distinctive styling ---- */
.ico{width:28px;height:28px;display:block;color:var(--brass);}
.kicker,.hero-tag{text-transform:uppercase;letter-spacing:.18em;font-size:.74rem !important;font-weight:700;display:flex;align-items:center;gap:14px;}
.kicker::before,.hero-tag::before{content:"";width:36px;height:2px;background:var(--brass);flex:none;}
.section-head h2::after{content:"";display:block;width:56px;height:3px;background:var(--brass);margin-top:18px;}
.cred-icons{display:grid !important;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);padding-top:24px;max-width:680px;}
.cred-item{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:0 16px;border-left:1px solid var(--line-strong);}
.cred-item:first-child{border-left:0;padding-left:0;}
.cred-item span{font-size:.7rem !important;text-transform:uppercase;letter-spacing:.08em;color:var(--paper) !important;line-height:1.35;font-weight:600;border:0 !important;padding:0 !important;margin:0 !important;display:block;}
@media (max-width:600px){.cred-icons{grid-template-columns:repeat(2,1fr);row-gap:22px;}.cred-item:nth-child(3){border-left:0;padding-left:0;}}
.hero-motto{margin-top:30px;display:flex;align-items:center;gap:14px;font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--paper-dim);font-weight:600;}
.hero-motto::before{content:"";width:48px;height:2px;background:var(--brass);}
.pillar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.pillar-top .pillar-num{margin-bottom:0 !important;}
.pillar-ico,.goal-ico{width:54px;height:54px;border:1px solid var(--line-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(215,242,60,.06);}
.pillar-ico .ico,.goal-ico .ico{width:26px;height:26px;}
.goal-ico{margin-bottom:14px;}
.btn{border-radius:999px !important;transition:transform .2s,box-shadow .2s,background .2s;}
.btn-primary{box-shadow:0 8px 28px rgba(215,242,60,.22);}
.btn-primary::after{content:"→";margin-left:10px;display:inline-block;transition:transform .2s;}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 34px rgba(215,242,60,.35);}
.btn-primary:hover::after{transform:translateX(3px);}
.nav-cta{border-radius:999px !important;}
.wa-fab{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:60;width:58px;height:58px;border-radius:50%;background:var(--brass);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.45),0 0 0 6px rgba(215,242,60,.15);}
.wa-fab .ico{color:var(--ink);width:30px;height:30px;stroke-width:1.8;}
.wa-fab:hover{transform:scale(1.05);}
@media (max-width:600px){.hero-motto{letter-spacing:.16em;font-size:.66rem;gap:10px;}.hero-motto::before{width:28px;}}

/* ---- logo ---- */
.brand{display:flex !important;align-items:center;gap:12px;line-height:1;}
.brand-logo{width:46px;height:46px;flex:none;color:var(--paper);}
.brand-text{display:flex;flex-direction:column;gap:2px;}
footer .brand-logo{width:56px;height:56px;}
@media (max-width:440px){.brand-logo{width:38px;height:38px;}.brand{gap:8px;}}
/* ---- light sections ---- */
section.light{--ink:#F4F1E8;--paper:#16160F;--paper-dim:#45453B;--panel:#EAE6D9;--line:rgba(22,22,15,.12);--line-strong:rgba(22,22,15,.24);--brass:#5B6B00;--brass-dim:#7A8A1C;
  background:#F4F1E8 !important;color:#16160F;}
section.light h1,section.light h2,section.light h3,section.light h4{color:#16160F;}
section.light .btn-primary{background:#D7F23C !important;color:#15150F !important;box-shadow:0 8px 24px rgba(91,107,0,.25);}
section.light .btn-outline{color:#16160F;border-color:rgba(22,22,15,.35);}
section.light .goal-link{color:#4A5800 !important;border-bottom-color:#4A5800;}
section.light .about-photo img{border-color:rgba(22,22,15,.15);}
section.light .pillar-ico,section.light .goal-ico{background:rgba(91,107,0,.08);}
section.light details,section.light summary{color:#16160F;}
/* ---- photos: never crop ---- */
.page-photo{position:relative;overflow:hidden;height:clamp(340px,46vw,640px);display:flex;justify-content:center;background:#0d0d0a;}
.page-photo img.ph-main{position:relative;z-index:1;height:100% !important;width:auto !important;max-width:100%;aspect-ratio:auto !important;object-fit:contain !important;}
.page-photo img.ph-bg{position:absolute;inset:-40px;width:calc(100% + 80px) !important;height:calc(100% + 80px) !important;object-fit:cover !important;filter:blur(28px) brightness(.42) saturate(1.1);z-index:0;aspect-ratio:auto !important;}
@media (max-width:720px){
  .page-photo{height:auto;display:block;}
  .page-photo img.ph-main{width:100% !important;height:auto !important;}
  .page-photo img.ph-bg{display:none;}
}
.brand .brand-text{color:var(--paper) !important;}
.brand .brand-text span{color:var(--brass) !important;}

/* ---- animated illustrated icons ---- */
.goal-ico.big{width:78px;height:78px;}
.goal-ico.big .ico{width:50px;height:50px;}
.pillar-ico.big{width:64px;height:64px;}
.pillar-ico.big .ico{width:40px;height:40px;}
.anim *{transform-box:fill-box;}
.w-body{transform-origin:center;animation:wShrink 3.6s ease-in-out infinite;}
.w-arm-l{animation:wArmL 3.6s ease-in-out infinite;}
.w-arm-r{animation:wArmR 3.6s ease-in-out infinite;}
@keyframes wShrink{0%,12%{transform:scaleX(1.45)}50%,82%{transform:scaleX(.72)}100%{transform:scaleX(1.45)}}
@keyframes wArmL{0%,12%{transform:translateX(-3.2px)}50%,82%{transform:translateX(2.1px)}100%{transform:translateX(-3.2px)}}
@keyframes wArmR{0%,12%{transform:translateX(3.2px)}50%,82%{transform:translateX(-2.1px)}100%{transform:translateX(3.2px)}}
.s-bi{transform-origin:center;animation:sGrow 2.4s ease-in-out infinite;}
@keyframes sGrow{0%,15%{transform:scale(.35)}55%,80%{transform:scale(1.18)}100%{transform:scale(.35)}}
.l-arm{transform-origin:0% 100%;animation:lArm 2.6s ease-in-out infinite;}
@keyframes lArm{0%,100%{transform:rotate(38deg)}50%{transform:rotate(-22deg)}}
.l-heart{transform-origin:center;animation:lBeat 1.3s ease-in-out infinite;}
@keyframes lBeat{0%,100%{transform:scale(.85)}30%{transform:scale(1.15)}60%{transform:scale(.95)}}
.b-fig{animation:bStep 4.2s ease-in-out infinite;}
@keyframes bStep{0%,12%{transform:translate(0,0)}25%{transform:translate(6.5px,-6px)}32%,45%{transform:translate(13px,-8px)}58%{transform:translate(19.5px,-14px)}65%,85%{transform:translate(26px,-16px)}100%{transform:translate(0,0);opacity:1}92%{opacity:0}96%{transform:translate(0,0);opacity:0}}
.p-steam{animation:pSteam 2.4s ease-in-out infinite;}
@keyframes pSteam{0%{opacity:0;transform:translateY(2px)}40%{opacity:1}100%{opacity:0;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.anim *{animation:none !important;}}

/* ---- socials ---- */
.soc-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.soc{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line-strong);border-radius:999px;font-size:.82rem;color:var(--paper);}
.soc svg{width:18px;height:18px;color:var(--brass);}
.soc:hover{border-color:var(--brass);}
.soc-note{display:block;margin-top:8px;font-size:.72rem;color:var(--paper-dim);}
/* ---- testimonials ---- */
.tq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:8px 0 26px;}
@media (max-width:860px){.tq-grid{grid-template-columns:1fr;}}
.tq{margin:0;background:#fff;border:1px solid var(--line);padding:30px 26px 24px;border-radius:4px;display:flex;flex-direction:column;}
.tq-mark{font-family:Georgia,serif;font-size:4.4rem;line-height:.6;color:var(--brass);height:34px;}
.tq blockquote{margin:10px 0 18px;font-size:1.02rem;line-height:1.55;color:var(--paper);flex:1;text-align:left !important;}
.tq figcaption{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:14px;}
.tq-name{font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.85rem;color:var(--paper);}
.tq-res{font-weight:800;color:var(--brass);font-size:1rem;}
/* ---- gift ---- */
.gift-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:560px;margin-bottom:16px;}
.gift-opt{display:flex;flex-direction:column;align-items:center;gap:2px;padding:16px 10px;border:1px solid var(--line-strong);background:var(--panel);text-align:center;transition:border-color .2s,background .2s;}
.gift-opt:hover{border-color:var(--brass);background:var(--ink-soft);}
.gift-opt .go-n{font-family:"Big Shoulders Display",sans-serif;font-weight:800;font-size:2.2rem;line-height:1;color:var(--brass);}
.gift-opt .go-l{font-size:.78rem;color:var(--paper-dim);}
.gift-opt .go-p{font-weight:700;font-size:1.05rem;color:var(--paper);margin-top:6px;}
.gift p.gift-note{font-size:.88rem;margin:0 0 6px;max-width:560px;color:var(--paper-dim);}
.gift-wa{font-weight:700;font-size:.9rem;color:var(--paper);border-bottom:1px solid var(--brass);padding-bottom:2px;display:inline-block;}
.gift-wa:hover{color:var(--brass);}
@media (max-width:480px){.gift-opts{gap:8px;}.gift-opt{padding:14px 6px;}.gift-opt .go-n{font-size:1.8rem;}}

.gift{border-bottom:1px solid var(--line);}
.gift-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
@media (max-width:860px){.gift-grid{grid-template-columns:1fr;gap:36px;}}
.gift p{color:var(--paper-dim);max-width:560px;margin-bottom:26px;}
.gift-card{position:relative;aspect-ratio:1.6/1;max-width:440px;width:100%;border-radius:18px;padding:26px 28px;background:linear-gradient(135deg,#d7f23c 0%,#b9d62a 100%);color:#15150f;box-shadow:0 24px 60px rgba(215,242,60,.18);overflow:hidden;transform:rotate(-3deg);}
.gift-card::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;border:28px solid rgba(21,21,15,.08);}
.gc-top{display:flex;justify-content:space-between;align-items:center;}
.gc-brand{font-weight:800;letter-spacing:.06em;font-size:.95rem;}
.gc-brand b{font-weight:800;opacity:.65;}
.gc-bow{font-size:1.6rem;}
.gc-title{margin-top:18%;font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:800;font-size:clamp(1.8rem,5vw,2.5rem);letter-spacing:.08em;line-height:1;}
.gc-sub{margin-top:8px;font-size:.82rem;font-weight:600;letter-spacing:.05em;}
.gc-line{position:absolute;left:28px;right:28px;bottom:22px;height:2px;background:rgba(21,21,15,.25);}

.gift-card{display:flex;flex-direction:column;}
.gc-title{margin-top:auto !important;}
.gc-sub{margin-bottom:18px;}
.gc-line{position:static !important;margin:0;}
@media (max-width:600px){.gc-title{font-size:1.7rem !important;}.gift-card{padding:22px 22px 20px;transform:rotate(-2deg);}}

/* ---- logo v2 ---- */
.brand .brand-text{display:flex;flex-direction:column;gap:1px;line-height:1.05;}
.brand .bt-1{font-size:.95rem;font-weight:800;letter-spacing:.12em;color:var(--paper) !important;}
.brand .bt-2{font-size:.95rem;font-weight:800;letter-spacing:.06em;color:var(--brass) !important;}
.brand .bt-3{font-size:.56rem;font-weight:600;letter-spacing:.3em;color:var(--paper-dim) !important;margin-top:3px;}
.brand-stack{flex-direction:column !important;align-items:flex-start !important;gap:12px !important;}
.brand-stack .brand-logo{width:76px !important;height:76px !important;}
.brand-stack .bt-1,.brand-stack .bt-2{font-size:1.15rem;}
.brand-stack .bt-3{font-size:.66rem;}
@media (max-width:440px){
  header .nav-cta{display:none !important;}
  .brand .bt-1,.brand .bt-2{font-size:.82rem;}
  .brand .bt-3{font-size:.5rem;letter-spacing:.24em;}
}
.brand .brand-text .bt-1{color:var(--paper) !important;}.brand .brand-text .bt-2{color:var(--brass) !important;}.brand .brand-text .bt-3{color:var(--paper-dim) !important;}
.brand .brand-text span{white-space:nowrap;}
.brand-stack .brand-text .bt-1,.brand-stack .brand-text .bt-2{font-size:1.15rem;}

/* ---- light sections: rich grass green ---- */
section.light{--brass:#1F7A35;--brass-dim:#2E9B3F;}
section.light .goal-link{color:#1F7A35 !important;border-bottom-color:#2DB84C !important;}
section.light .kicker::before,section.light .section-head h2::after{background:#2DB84C !important;}
section.light .prose li::before,section.light .pillar li::before{background:#2DB84C !important;}
section.light .tq-mark{color:#2DB84C;}
section.light .goal-ico,section.light .pillar-ico{background:rgba(45,184,76,.10) !important;border-color:rgba(31,122,53,.35) !important;}
section.light .btn-primary{box-shadow:0 8px 24px rgba(31,122,53,.22) !important;}

/* ---- legal pages ---- */
.legal-upd{color:var(--paper-dim);font-size:.9rem;margin-top:6px;}
.legal-body{max-width:780px;}
.legal-body h2{font-size:1.25rem;margin:34px 0 10px;}
.legal-body h2:first-child{margin-top:0;}
.legal-body h2::after{display:none !important;}
.legal-body p,.legal-body li{text-align:left !important;color:var(--paper-dim);}
.legal-body ul{margin:8px 0 0;padding:0;list-style:none;}
.legal-body li{position:relative;padding:6px 0 6px 20px;}
.legal-body li::before{content:"";position:absolute;left:0;top:.95em;width:7px;height:7px;background:#2DB84C;border-radius:1px;}
.legal-body a{color:var(--brass);text-decoration:underline;}

/* ---- legal pages ---- */
.legal-body{max-width:780px;}
.legal-body h2{font-size:1.25rem !important;margin:34px 0 10px;}
.legal-body h2:first-child{margin-top:0;}
.legal-body h2::after{display:none !important;}
.legal-body p,.legal-body li{color:var(--paper-dim);text-align:left !important;}
.legal-body ul{padding-left:20px;margin:8px 0;}
.legal-body li{margin:6px 0;list-style:disc;}
.legal-body li::before{display:none !important;}
.legal-body a{color:var(--brass);text-decoration:underline;}

/* ---- buttons: uniform, no arrows ---- */
.btn-primary::after{content:none !important;display:none !important;}
.btn{text-align:center !important;justify-content:center;}
.pkg .btn{width:100%;}
/* ---- kg numbers in lime ---- */
.testimonial-result,.kg,.story-block h2 .kg{color:var(--brass) !important;}
/* ---- light sections: ink + lime (brand colours) ---- */
section.light{--brass:#16160F;--brass-dim:#3a3a30;}
section.light .goal-name,section.light h2,section.light h3{color:#16160F !important;}
section.light .kicker{color:#16160F !important;}
section.light .kicker::before,section.light .section-head h2::after{background:#C9E52E !important;height:3px;}
section.light .prose li::before,section.light .pillar li::before{background:#16160F !important;}
section.light .goal-ico,section.light .pillar-ico{background:#D7F23C !important;border-color:#D7F23C !important;}
section.light .goal-ico .ico,section.light .pillar-ico .ico{color:#16160F !important;}
section.light .goal-link{color:#16160F !important;border-bottom:3px solid #C9E52E !important;}
section.light .goal-link:hover{background:#D7F23C;}
section.light .tq-mark{color:#C9E52E !important;}
section.light .tq-res{background:#D7F23C;color:#16160F !important;padding:3px 10px;border-radius:999px;font-size:.9rem;}
section.light strong{color:#16160F;}
section.light .legal-body a{color:#16160F !important;text-decoration-color:#C9E52E;text-decoration-thickness:2px;}
section.light .step-index{color:#16160F;}
.kgs{color:var(--brass) !important;}
section.light .kgs{color:#16160F !important;background:linear-gradient(transparent 60%,#D7F23C 60%);}

/* ---- page heroes with the photo as part of the background ---- */
.page-hero.has-bg{position:relative;overflow:hidden;background:var(--ink) !important;padding:96px 0 80px;min-height:min(78vh,720px);display:flex;align-items:center;}
.page-hero.has-bg .wrap{position:relative;z-index:2;width:100%;}
.page-hero.has-bg .hero-text{max-width:620px;}
.page-hero.has-bg .hero-bgimg{position:absolute;top:0;right:0;bottom:0;z-index:0;}
.page-hero.has-bg .hero-bgimg img{width:100%;height:100%;object-fit:cover;display:block;}
.page-hero.has-bg .hero-bgimg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,var(--ink) 0%,rgba(13,13,10,.82) 18%,rgba(13,13,10,.25) 52%,rgba(13,13,10,0) 100%),
  linear-gradient(0deg,var(--ink) 0%,rgba(13,13,10,0) 26%);}
.page-hero.has-bg h1{text-shadow:0 2px 24px rgba(0,0,0,.45);}
@media (max-width:860px){
  .page-hero.has-bg{display:block;min-height:0;padding:min(56vh,440px) 0 56px;}
  .page-hero.has-bg .hero-bgimg{width:100% !important;height:min(70vh,540px);bottom:auto;}
  .page-hero.has-bg .hero-bgimg::after{background:linear-gradient(180deg,rgba(13,13,10,.2) 0%,rgba(13,13,10,0) 22%,rgba(13,13,10,.55) 62%,var(--ink) 100%);}
  .page-hero.has-bg .hero-text{max-width:none;}
}

/* ---- closing call-to-action with the photo as background ---- */
.final-cta.cta-bg{position:relative;overflow:hidden;min-height:min(60vh,540px);display:flex;align-items:center;text-align:left;}
.final-cta.cta-bg .wrap{position:relative;z-index:2;width:100%;}
.final-cta.cta-bg .wrap > *{max-width:560px;margin-left:0;margin-right:0;}
.final-cta.cta-bg .hero-bgimg{position:absolute;top:0;right:0;bottom:0;z-index:0;}
.final-cta.cta-bg .hero-bgimg img{width:100%;height:100%;object-fit:cover;display:block;}
.final-cta.cta-bg .hero-bgimg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,var(--ink) 0%,rgba(13,13,10,.8) 16%,rgba(13,13,10,.18) 44%,rgba(13,13,10,0) 100%),
  linear-gradient(0deg,var(--ink) 0%,rgba(13,13,10,0) 18%),linear-gradient(180deg,var(--ink) 0%,rgba(13,13,10,0) 18%);}
@media (max-width:860px){
  .final-cta.cta-bg{display:block;min-height:0;padding-top:min(52vh,400px);}
  .final-cta.cta-bg .hero-bgimg{width:100% !important;right:0 !important;height:min(60vh,460px);bottom:auto;}
  .final-cta.cta-bg .hero-bgimg::after{background:linear-gradient(180deg,rgba(13,13,10,.2) 0%,rgba(13,13,10,0) 22%,rgba(13,13,10,.55) 62%,var(--ink) 100%);}
  .final-cta.cta-bg .wrap > *{max-width:none;}
}

/* ---- extra hero variants ---- */
.page-hero.has-bg.short{min-height:min(60vh,560px);}
.page-hero.has-bg.fade-soft .hero-bgimg::after{background:
  linear-gradient(90deg,var(--ink) 0%,rgba(13,13,10,.78) 14%,rgba(13,13,10,.15) 36%,rgba(13,13,10,0) 100%),
  linear-gradient(0deg,var(--ink) 0%,rgba(13,13,10,0) 22%);}
@media (max-width:860px){
  .page-hero.has-bg .hero-bgimg{right:0 !important;left:0;}
  .page-hero.has-bg.short{min-height:0;}
  .page-hero.has-bg.fade-soft .hero-bgimg::after{background:linear-gradient(180deg,rgba(13,13,10,.2) 0%,rgba(13,13,10,0) 22%,rgba(13,13,10,.55) 62%,var(--ink) 100%);}
}

/* ---- beginners hero: photo pulled back and feathered on all four sides, so it melts into the page ---- */
.page-hero.has-bg.zoom-out .hero-bgimg{width:auto !important;height:100%;aspect-ratio:2 / 3;right:3% !important;bottom:auto;}
.page-hero.has-bg.zoom-out .hero-bgimg img{object-fit:cover;object-position:50% 50%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 40%,#000 80%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 24%,#000 74%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0%,#000 40%,#000 80%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 24%,#000 74%,transparent 100%);
  mask-composite:intersect;}
.page-hero.has-bg.zoom-out .hero-bgimg::after{background:radial-gradient(ellipse at 50% 45%,rgba(13,13,10,0) 45%,rgba(13,13,10,.55) 100%);}
@media (max-width:860px){
  .page-hero.has-bg.zoom-out .hero-bgimg{width:100% !important;height:min(70vh,540px);aspect-ratio:auto;right:0 !important;bottom:auto;}
  .page-hero.has-bg.zoom-out .hero-bgimg img{object-fit:cover;object-position:50% 6%;-webkit-mask-image:none;mask-image:none;}
  .page-hero.has-bg.zoom-out .hero-bgimg::after{background:linear-gradient(180deg,rgba(13,13,10,.2) 0%,rgba(13,13,10,0) 22%,rgba(13,13,10,.55) 62%,var(--ink) 100%);}
}

/* ---- new logo ---- */
.brand img.brand-logo{width:auto !important;height:48px !important;flex:none;object-fit:contain;}
.footer-brand .footer-logo{width:230px;max-width:100%;height:auto;display:block;}
@media (max-width:860px){.brand img.brand-logo{height:40px !important;}.footer-brand .footer-logo{width:190px;}}


/* ============ HEADER: one system - desktop >=1340px, compact bar below ============ */
header.site-nav{position:sticky;top:0;z-index:50;background:#0b0b0c !important;border-bottom:1px solid rgba(241,241,236,.10) !important;padding:0 !important;backdrop-filter:none;}
.hd-bar{position:relative;}
.hd-inner{position:relative;z-index:1;max-width:1400px;margin:0 auto;padding:0 28px;height:72px;display:flex;align-items:center;gap:0;}
.brand.brand-h{display:flex !important;align-items:center;gap:12px;flex:none;width:196px;line-height:1;}
.brand-h .bh-tag{font-size:.5rem;font-weight:700;letter-spacing:.24em;color:#F1F1EC;line-height:1;white-space:nowrap;}
header.site-nav nav.menu{display:flex;flex:1;justify-content:flex-end;flex-wrap:nowrap;gap:0 14px;padding-left:44px;}
header.site-nav nav.menu a{font-size:.8rem;white-space:nowrap;padding:6px 0;}
.hd-actions{display:flex;align-items:center;gap:14px;flex:none;margin-left:18px;}
.hd-actions .menu-toggle{display:none;}
header.site-nav .menu-lang{display:none;}

@media (min-width:1340px){
  .hd-bar::before{content:"";position:absolute;top:0;bottom:0;right:0;z-index:0;
    left:calc((100% - min(100%, 1400px)) / 2 + 28px + 196px);background:#F4F1E8;clip-path:polygon(24px 0,100% 0,100% 100%,0 100%);}
  header.site-nav nav.menu a{color:#2a2a22;}
  header.site-nav nav.menu a:hover,header.site-nav nav.menu a.current{color:#16160F;border-color:#C9E52E;}
  header.site-nav nav.menu a.nav-contact{display:none;}
  .hd-actions .lang-switch a{color:#45453B;}
  .hd-actions .lang-switch a.active{color:#16160F;box-shadow:inset 0 -2px 0 #C9E52E;}
  header.site-nav .hd-actions .nav-cta{background:#D7F23C !important;color:#15150F !important;}
}

@media (max-width:1339px){
  .hd-inner{height:68px;padding:0 16px;}
  .brand.brand-h{width:auto;gap:8px;}
  .brand-h .bh-tag{display:none;}
  header.site-nav nav.menu{display:none;padding-left:0;}
  header.site-nav nav.menu.open{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;position:absolute;top:100%;left:0;right:0;
    background:#F4F1E8;padding:4px 20px 18px;gap:0;border-bottom:1px solid rgba(22,22,15,.14);box-shadow:0 22px 34px rgba(0,0,0,.4);}
  header.site-nav nav.menu.open a{color:#16160F;font-size:.95rem;padding:14px 0;border-bottom:1px solid rgba(22,22,15,.12);}
  header.site-nav nav.menu.open a.nav-contact{display:block;}
  header.site-nav nav.menu.open a.current{border-bottom-color:#C9E52E;}
  header.site-nav nav.menu.open .menu-lang{display:flex;gap:6px;padding-top:14px;}
  header.site-nav nav.menu.open .menu-lang a{border:0;padding:6px 10px;color:#45453B;font-size:.9rem;font-weight:700;}
  header.site-nav nav.menu.open .menu-lang a.active{color:#16160F;box-shadow:inset 0 -2px 0 #C9E52E;}
  .hd-actions{margin-left:auto;gap:10px;}
  .hd-actions .lang-switch{display:none;}
  .hd-actions .menu-toggle{display:flex;align-items:center;justify-content:center;order:1;width:42px;height:42px;padding:0;font-size:1.25rem;line-height:1;
    color:#F1F1EC;border:1px solid rgba(241,241,236,.35);border-radius:12px;background:none;}
  header.site-nav .hd-actions .nav-cta{display:inline-block !important;order:2;padding:11px 16px !important;font-size:.78rem !important;}
}
@media (max-width:360px){
  header.site-nav .hd-actions .nav-cta{padding:10px 12px !important;}
}

/* WhatsApp floating button: hidden while a hero is on screen (phones/tablets), so it never covers hero text or buttons */
.wa-fab{transition:opacity .25s ease, transform .25s ease;}
@media (max-width:1339px){ body.hero-in-view .wa-fab{opacity:0;pointer-events:none;transform:scale(.85);} }

/* ---- logo v5: one-piece logo (D + aina) ---- */
.brand-h .bh-stack{display:flex;flex-direction:column;align-items:center;gap:3px;}
.brand-h .bh-logo{height:56px;width:auto;display:block;}
@media (max-width:1339px){.brand-h .bh-logo{height:40px;}}
.footer-brand .footer-logo{width:300px;max-width:100%;}
@media (max-width:860px){.footer-brand .footer-logo{width:250px;}}

/* footer: logo + only the PERSONAL TRAINER line */
.ft-stack{display:inline-flex;flex-direction:column;align-items:center;gap:12px;}
.footer-brand .footer-logo{width:260px;max-width:100%;}
.ft-tag{font-size:.8rem;font-weight:700;letter-spacing:.34em;margin-right:-.34em;color:#F1F1EC;line-height:1;white-space:nowrap;}
@media (max-width:860px){.footer-brand .footer-logo{width:230px;}.ft-tag{font-size:.7rem;}}

.footer-brand .ft-stack .ft-tag{color:#F1F1EC !important;}

/* ---- animated logo as a short page-transition veil ---- */
.page-veil{position:fixed;inset:0;z-index:300;background:#0b0b0c;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s ease;}
.page-veil.on{opacity:1;pointer-events:auto;}
.page-veil .pv-badge{width:170px;height:170px;border-radius:50%;overflow:hidden;background:#090909;transform:scale(.92);transition:transform .35s ease;}
.page-veil.on .pv-badge{transform:scale(1);}
.page-veil video{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.03);}
@media (max-width:860px){.page-veil .pv-badge{width:140px;height:140px;}}

/* ---- v33: goal rows aligned in clean columns; nav spread; section spacing ---- */
.goal-body h4{line-height:1.3;}
.goal-name{line-height:1.15;}
@media (min-width:801px){
  .goal{grid-template-columns:240px minmax(0,1fr) 300px;align-items:center;gap:36px;}
  .goal-body p{max-width:none;}
  .goal-link{justify-self:start;align-self:center;display:inline-block;white-space:normal !important;line-height:1.35;}
}
@media (min-width:1340px){
  header.site-nav nav.menu{justify-content:space-between !important;padding-left:40px !important;padding-right:6px !important;gap:0 6px;}
}

/* v34: mid-width screens (tablet / narrow window): name | text, link under the text, nothing squeezed */
@media (min-width:801px) and (max-width:1100px){
  .goal{grid-template-columns:210px minmax(0,1fr);gap:12px 32px;align-items:start;}
  .goal-name{grid-row:1 / span 2;}
  .goal-body{grid-column:2;}
  .goal-link{grid-column:2;justify-self:start;align-self:start;}
}

/* v35: 1:1 page goal rows now match the home rows (icon+name | text | link) */
@media (min-width:1101px){ .goal.goal-wide{grid-template-columns:240px minmax(0,1fr) 300px;} }
@media (min-width:801px) and (max-width:1100px){ .goal.goal-wide{grid-template-columns:210px minmax(0,1fr);} }

/* v37: legal pages justified edge-to-edge; phone numbers never split across lines */
.legal-body p,.legal-body li{text-align:justify !important;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto;}
a[href^="tel:"],.nowrap{white-space:nowrap;}

/* v38: tidy footer - compact brand block, two aligned link columns, even bottom row */
footer .footer-top{display:grid;grid-template-columns:minmax(0,560px) auto;justify-content:space-between;align-items:start;gap:36px 72px;padding-bottom:32px;margin-bottom:22px;}
footer .footer-brand .footer-logo{width:180px;}
footer .footer-brand .ft-stack{gap:9px;}
footer .footer-brand p{font-size:.88rem;line-height:1.5;margin:3px 0;}
footer .footer-cta-row{margin-top:18px;gap:10px;}
footer .footer-cta-row .btn{padding:10px 18px;font-size:.84rem;}
footer .footer-cols{display:grid;grid-template-columns:repeat(2,minmax(170px,auto));gap:0 64px;padding-top:4px;align-items:start;}
footer .footer-col h5{font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;margin:0 0 12px;}
footer .footer-col a{padding:6px 0;line-height:1.35;}
footer .footer-bottom{align-items:center;}
footer .footer-bottom a{margin-right:20px;}
footer .footer-bottom a:last-child{margin-right:0;}
@media (max-width:800px){
  footer .footer-top{grid-template-columns:1fr;gap:32px;}
  footer .footer-cols{grid-template-columns:1fr 1fr;gap:0 24px;width:100%;}
  footer .footer-bottom{flex-direction:column;align-items:flex-start;gap:12px;}
  footer .footer-bottom > div:first-child{display:flex;flex-wrap:wrap;gap:6px 18px;}
  footer .footer-bottom a{margin-right:0;}
}

/* v39: footer as four even columns across the full width */
footer .footer-top{display:grid;grid-template-columns:1.1fr .9fr .9fr 1.6fr;justify-content:normal;gap:36px 48px;align-items:start;}
footer .footer-cols{display:contents;}
footer .footer-brand p{font-size:.9rem;}
footer .footer-contact h5{font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;margin:0 0 12px;color:var(--brass);font-weight:600;}
footer .footer-contact p{color:var(--paper-dim);font-size:.9rem;line-height:1.5;margin:0 0 8px;}
footer .footer-contact .footer-cta-row{margin-top:14px;}
footer .footer-contact .soc-row{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px;}
footer .footer-brand .footer-logo{width:200px;}
@media (max-width:1100px){
  footer .footer-top{grid-template-columns:1fr 1fr;gap:36px 40px;}
}
@media (max-width:800px){
  footer .footer-top{grid-template-columns:1fr 1fr;gap:32px 24px;}
  footer .footer-brand,footer .footer-contact{grid-column:1 / -1;}
  footer .footer-contact{order:3;}
}

footer .footer-contact .soc-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:400px;}
footer .footer-contact .soc-row .soc{width:100%;justify-content:flex-start;}

/* v40: social links in one full-width row at the bottom of the footer */
footer .footer-top > .footer-social{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:10px;margin:0;padding-top:24px;border-top:1px solid var(--line);max-width:none;}
footer .footer-top > .footer-social .soc{width:auto;}

@media (max-width:800px){ footer .footer-top > .footer-social{order:4;} }

/* ---- static site additions ---- */
[id]{scroll-margin-top:84px;}
.skip-link{position:absolute;left:-999px;top:8px;background:#d7f23c;color:#15150f;padding:10px 16px;border-radius:8px;font-weight:700;z-index:400;}
.skip-link:focus{left:12px;}
