
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
:root {
  --red:   #5F0B03;
  --red2:  #4A0802;
  --red3:  #7A1008;
  --navy:  #1E3A5F;
  --navy2: #162d4a;
  --navy3: #25486e;
  --cream: #F8F4EE;
  --cream2:#F2EDE4;
  --cream3:#E8E2D8;
  --gold:  #B8960C;
  --gold2: #D4AE2A;
  --gold3: #9A7A08;
  --ink:   #1A1A1A;
  --slate: #3A3530;
  --mist:  #6B6560;
  --white: #FFFFFF;
  --warm:  #F8F4EE;
}
body {
  font-family: 'Raleway', sans-serif;
  background: var(--warm);
  color: var(--ink);
  font-size: 18px;
  line-height: 1.75;
  overflow-x: hidden;
}
.page { display: none; }
.page.active { display: block; }

/* NAV */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 300;
  background: var(--cream);
  backdrop-filter: blur(12px);
  border-bottom: 2px solid var(--red);
}
.nav-top {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 5%; height: 104px;
}
.nav-logo img { height: 96px; }
.nav-cta-btn {
  background: var(--red); color: #fff;
  padding: 0.65rem 1.6rem;
  font-size: 0.78rem; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  border: none; cursor: pointer; font-family: 'Raleway', sans-serif;
  text-decoration: none; display: inline-block;
  transition: background 0.2s;
}
.nav-cta-btn:hover { background: var(--red2); }
.nav-pages {
  display: flex; align-items: center; justify-content: center;
  background: var(--red);
  padding: 0 5%; gap: 0;
}
.nav-tab {
  background: none; border: none;
  color: rgba(255,255,255,0.65);
  font-size: 0.75rem; font-weight: 700;
  letter-spacing: 0.13em; text-transform: uppercase;
  padding: 0.8rem 1.8rem;
  cursor: pointer; font-family: 'Raleway', sans-serif;
  border-bottom: 3px solid transparent;
  transition: all 0.2s;
}
.nav-tab:hover { color: rgba(255,255,255,0.9); }
.nav-tab.active { color: #fff; border-bottom-color: var(--cream); }
.page-content { padding-top: 144px; }

/* MOBILE HAMBURGER MENU (hidden above 640px) */
.nav-hamburger {
  display: none; flex-direction: column; justify-content: center; gap: 5px;
  width: 40px; height: 40px; background: none; border: none; cursor: pointer;
  padding: 0;
}
.nav-hamburger span {
  display: block; width: 26px; height: 2px; background: var(--navy);
  transition: all 0.25s;
}
.nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; }
.nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.mobile-menu-panel {
  display: none;
}
.mobile-menu-panel.open {
  display: flex;
}

/* BUTTONS */
.btn-red {
  display: inline-block; padding: 1rem 2.4rem;
  background: var(--red); color: #fff;
  font-size: 0.82rem; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; text-decoration: none; border: none; cursor: pointer;
  transition: background 0.25s; font-family: 'Raleway', sans-serif;
}
.btn-red:hover { background: var(--red2); }
.btn-gold {
  display: inline-block; padding: 1rem 2.4rem;
  background: var(--red); color: #fff;
  font-size: 0.82rem; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; text-decoration: none; border: none; cursor: pointer;
  transition: background 0.25s; font-family: 'Raleway', sans-serif;
}
.btn-gold:hover { background: var(--red2); }
.btn-navy {
  display: inline-block; padding: 1rem 2.4rem;
  background: var(--navy); color: #fff;
  font-size: 0.82rem; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; text-decoration: none; border: none; cursor: pointer;
  font-family: 'Raleway', sans-serif;
}
.btn-navy:hover { background: var(--navy2); }
.btn-cream {
  display: inline-block; padding: 1rem 2.4rem;
  background: var(--cream); color: var(--red);
  font-size: 0.82rem; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; text-decoration: none; border: none; cursor: pointer;
  transition: background 0.25s; font-family: 'Raleway', sans-serif;
}
.btn-cream:hover { background: #fff; }
.btn-ghost-red {
  display: inline-block; padding: 1rem 2.4rem;
  border: 2px solid var(--red); color: var(--red);
  font-size: 0.82rem; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; text-decoration: none; transition: all 0.25s;
}
.btn-ghost-red:hover { background: var(--red); color: #fff; }
.btn-ghost-white {
  display: inline-block; padding: 1rem 2.4rem;
  border: 2px solid rgba(255,255,255,0.5); color: rgba(255,255,255,0.9);
  font-size: 0.82rem; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; text-decoration: none; transition: all 0.25s;
}
.btn-ghost-white:hover { border-color: var(--gold2); color: var(--gold2); }

/* TYPOGRAPHY HELPERS */
.eyebrow {
  font-size: 0.77rem; font-weight: 700;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--navy); margin-bottom: 0.9rem;
}
.eyebrow-white { color: rgba(248,244,238,0.75); }
.gold-rule { width: 52px; height: 2px; background: var(--navy); margin-bottom: 1.8rem; }
.gold-rule-center { width: 52px; height: 2px; background: var(--navy); margin: 0 auto 1.8rem; }
.gold-rule-white { width: 52px; height: 2px; background: var(--gold2); margin-bottom: 1.8rem; }
.gold-rule-center-white { width: 52px; height: 2px; background: var(--gold2); margin: 0 auto 1.8rem; }
h2.section-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.6rem, 4vw, 3.6rem);
  font-weight: 400; color: var(--red); line-height: 1.15;
}
h2.section-title em { font-style: italic; color: var(--red); }
.sec { padding: 6rem 8%; }

/* ============================================================
   HOME PAGE
   ============================================================ */
.hero {
  min-height: calc(100vh - 118px);
  display: grid; grid-template-columns: 52% 48%;
  overflow: hidden;
}
.hero-photo-col {
  position: relative; overflow: hidden; background: var(--red);
}
.hero-photo-col img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center top;
  position: absolute; inset: 0;
  opacity: 1; mix-blend-mode: normal;
}
.hero-overlay {
  position: absolute; inset: 0; z-index: 2;
  background: linear-gradient(to top, rgba(74,8,2,0.90) 0%, rgba(95,11,3,0.15) 48%, transparent 100%);
}
.hero-caption {
  position: absolute; bottom: 0; left: 0; right: 0;
  z-index: 3; padding: 3rem 3.5rem;
}
.hero-caption .h-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.2rem, 3.2vw, 3rem);
  font-weight: 300; color: #fff; letter-spacing: 0.04em; line-height: 1.15;
}
.hero-caption .h-creds {
  font-size: 0.78rem; font-weight: 600;
  letter-spacing: 0.2em; color: rgba(248,244,238,0.8);
  text-transform: uppercase; margin-top: 0.5rem;
}
.gold-bar-h {
  width: 100%; height: 4px;
  background: var(--navy);
}
.hero-right {
  background: var(--cream2);
  display: flex; flex-direction: column; justify-content: center;
  padding: 5rem 7% 5rem 8%; position: relative;
}
.hero-right::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: var(--navy);
}
.hero-h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.8rem, 4.5vw, 5.2rem);
  font-weight: 300; line-height: 1.05;
  color: var(--red); margin-bottom: 1.4rem;
}
.hero-h1 em { font-style: italic; color: var(--navy); }
.hero-fix {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.25rem, 1.9vw, 1.6rem);
  font-weight: 400; font-style: italic;
  color: var(--red2); margin-bottom: 1.8rem;
  border-left: 3px solid var(--navy);
  padding-left: 1.2rem; line-height: 1.5;
}
.hero-sub {
  font-size: 1.1rem; color: var(--slate);
  line-height: 1.85; margin-bottom: 2.5rem; max-width: 420px;
}
.hero-ctas { display: flex; gap: 1rem; flex-wrap: wrap; }

/* HONESTY STRIP */
.honesty-strip {
  background: var(--red);
  padding: 2rem 5%; text-align: center;
}
.honesty-strip p {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.3rem, 2vw, 1.7rem);
  font-style: italic; color: #fff; line-height: 1.5;
}
.honesty-strip p strong {
  color: var(--gold2); font-style: normal; font-weight: 600;
}

/* TRUST STRIP */
.trust {
  background: var(--red2);
  padding: 1.4rem 5%;
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 0;
}
.trust-item {
  display: flex; align-items: center; gap: 0.65rem;
  color: rgba(235,225,220,0.8);
  font-size: 0.8rem; font-weight: 500; letter-spacing: 0.08em;
  text-transform: uppercase;
  padding-right: 2rem; margin-right: 2rem;
  border-right: 1px solid rgba(248,244,238,0.2);
}
.trust-item:last-child { border-right: none; }
.tdot { width: 5px; height: 5px; background: var(--gold2); transform: rotate(45deg); flex-shrink: 0; }

/* HOME INTRO */
.home-intro {
  display: grid; grid-template-columns: 1fr 1fr; gap: 6rem;
  background: var(--white); padding: 6rem 8%; align-items: center;
}
.home-intro-pull {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.7rem, 2.5vw, 2.4rem);
  font-weight: 400; font-style: italic;
  color: var(--red); line-height: 1.5;
  padding-left: 1.8rem; border-left: 3px solid var(--navy);
  margin-bottom: 2.5rem;
}
.home-intro-body p { color: var(--slate); font-size: 1.1rem; line-height: 1.9; margin-bottom: 1.2rem; }

/* HOME PROBLEMS */
.home-problems { background: var(--red); padding: 6rem 8% 1.5rem; }
.problems-title-big {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(3.2rem, 5.5vw, 5rem);
  font-weight: 400; color: var(--red); line-height: 1.1;
  margin-bottom: 0.5rem;
}
.home-problems-subtitle {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem; font-style: italic;
  color: rgba(248,244,238,0.65); margin-bottom: 3rem;
}
.problems-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  border: 1px solid var(--cream3); background: var(--cream3);
}
.prob-item {
  background: var(--white); padding: 1.7rem 2.2rem;
  display: flex; gap: 1.3rem; align-items: flex-start;
  transition: background 0.2s;
}
.prob-item:hover { background: var(--cream2); }
.prob-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.1rem; font-weight: 300;
  color: rgba(255,255,255,0.18); line-height: 1; flex-shrink: 0;
  width: 2rem; text-align: right; transition: color 0.2s;
}
.prob-item:hover .prob-num { color: var(--gold2); }
.prob-text h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem; font-weight: 500;
  color: var(--red); margin-bottom: 0.4rem;
}
.prob-text p { font-size: 0.92rem; color: var(--slate); line-height: 1.65; }

/* PHILOSOPHY STRIP */
.home-phil {
  background: var(--red);
  text-align: center; padding: 1.2rem 14% 5.5rem;
}
.home-phil-headline {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.2rem, 4vw, 3.8rem);
  font-weight: 300; line-height: 1.3; color: #fff; margin-bottom: 1.5rem;
}
.home-phil-headline em { font-style: italic; color: var(--cream2); }
.home-phil > p { color: rgba(248,244,238,0.88); font-size: 1.15rem; margin-bottom: 2.5rem; }
.values { display: flex; gap: 0.8rem; flex-wrap: wrap; justify-content: center; margin-top: 2.5rem; }
.vpill {
  background: rgba(248,244,238,0.15); color: var(--cream);
  padding: 0.6rem 1.4rem;
  font-size: 0.78rem; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; border: 1px solid rgba(248,244,238,0.35);
}

/* PHOTO STRIP */
.photo-strip {
  display: grid; grid-template-columns: 1fr 1fr 1fr;
  height: 340px; overflow: hidden;
}
.photo-strip-item { position: relative; overflow: hidden; height: 100%; }
.photo-strip-item img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; transition: transform 0.6s ease;
  filter: sepia(15%) saturate(85%);
}
.photo-strip-item:hover img { transform: scale(1.04); }
.photo-strip-item .ps-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(74,8,2,0.75) 0%, transparent 55%);
  display: flex; align-items: flex-end; padding: 1.5rem;
}
.photo-strip-item .ps-overlay span {
  font-size: 0.75rem; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: rgba(255,255,255,0.9);
}

/* ============================================================
   ABOUT PAGE
   ============================================================ */
.about-hero {
  background: var(--red); padding: 5rem 8%;
  display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: center;
}
.about-photo-wrap { position: relative; overflow: hidden; height: 520px; border-radius: 2px; }
.about-photo-wrap img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center top;
  display: block;
  opacity: 1; mix-blend-mode: normal;
}
.about-photo-wrap::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(74,8,2,0.4) 0%, transparent 60%);
}
.about-hero-text h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.8rem, 4.5vw, 4.2rem);
  font-weight: 300; color: #ffffff; line-height: 1.1; margin-bottom: 0.8rem;
}
.about-hero-text .creds-line {
  font-size: 0.78rem; font-weight: 600;
  letter-spacing: 0.2em; color: rgba(248,244,238,0.75);
  text-transform: uppercase; margin-bottom: 2rem;
}
.about-hero-text p { color: rgba(248,244,238,0.85); font-size: 1.1rem; line-height: 1.9; }

.about-left { padding: 6rem 6% 6rem 8%; border-right: 1px solid var(--cream3); }
.about-right { padding: 6rem 8% 6rem 6%; }
.about-body-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 0; background: var(--white); }
.about-pull {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.6rem, 2.3vw, 2.1rem);
  font-weight: 400; font-style: italic;
  color: var(--red); line-height: 1.5;
  padding-left: 1.8rem; border-left: 3px solid var(--navy);
  margin-bottom: 2.5rem;
}
.creds-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 2px; margin-top: 2.5rem;
  border: 2px solid var(--navy); background: var(--navy2);
}
.cred-tile {
  background: var(--navy);
  padding: 1.4rem 1.8rem;
  display: flex; flex-direction: column; gap: 0.5rem;
}
.cred-tile .cl {
  font-size: 0.68rem; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: rgba(248,244,238,0.55);
}
.cred-tile .cv {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.1rem; font-weight: 600;
  color: #ffffff; line-height: 1.3;
}
.about-right p { color: var(--slate); font-size: 1.1rem; line-height: 1.9; margin-bottom: 1.2rem; }
.about-right strong { color: var(--red); }

/* HONESTY BOX */
.honesty-box {
  background: var(--red); padding: 2.6rem 3rem; margin-top: 2.5rem;
  border-top: 3px solid var(--navy);
}
.honesty-box h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.8rem; font-weight: 400; color: #fff; margin-bottom: 0.9rem;
}
.honesty-box p { color: rgba(235,225,220,0.78); font-size: 1.05rem; line-height: 1.85; }

/* RESILIENCE */
.resilience-wrap {
  background: var(--navy); display: grid; grid-template-columns: 300px 1fr; gap: 0;
}
.resilience-stat {
  padding: 5rem 3.5rem; text-align: center;
  border-right: 1px solid rgba(255,255,255,0.15);
  display: flex; flex-direction: column; justify-content: center;
}
.big-italic {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(3.5rem, 6vw, 5.5rem);
  font-weight: 300; font-style: italic;
  color: var(--gold2); line-height: 1;
}
.stat-sub {
  font-size: 0.72rem; font-weight: 700;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: rgba(255,255,255,0.7); margin-top: 0.6rem;
}
.resilience-text { padding: 5rem 7% 5rem 5%; }
.resilience-text h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.2rem, 3.4vw, 3rem);
  font-weight: 300; color: #fff; margin-bottom: 1.2rem; line-height: 1.2;
}
.resilience-text p { color: rgba(248,244,238,0.82); font-size: 1.1rem; line-height: 1.9; margin-bottom: 1rem; }
.comeback {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.7rem; font-style: italic;
  color: var(--gold2); margin-top: 1.8rem;
  padding-left: 1.5rem; border-left: 3px solid rgba(255,255,255,0.4);
}

/* ============================================================
   SERVICES PAGE
   ============================================================ */
.services-hero {
  background: var(--cream); padding: 5rem 8%;
}
.services-hero-inner {
  display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 4rem;
  align-items: center; max-width: 1300px; margin: 0 auto;
}
.services-hero-text { text-align: left; }
.services-hero-text .eyebrow { display: block; }
.services-hero h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(3rem, 4.8vw, 4.8rem);
  font-weight: 300; color: var(--red); line-height: 1.1; margin-bottom: 1rem;
}
.services-hero h1 em { font-style: italic; color: var(--gold2); }
.services-hero-text p { color: var(--slate); font-size: 1.15rem; max-width: 520px; margin: 0; }
.services-hero-photo { overflow: hidden; border-radius: 2px; height: 460px; position: relative; }
.services-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 15%; display: block; }
.stabs-wrap { background: var(--red2); padding: 0 8%; }
.stabs { display: flex; border-bottom: 1px solid rgba(235,225,220,0.15); }
.stab {
  background: none; border: none;
  color: rgba(248,244,238,0.5);
  font-size: 0.78rem; font-weight: 700;
  letter-spacing: 0.13em; text-transform: uppercase;
  padding: 1.1rem 2.2rem; cursor: pointer;
  border-bottom: 3px solid transparent; margin-bottom: -1px;
  transition: all 0.2s; font-family: 'Raleway', sans-serif;
}
.stab:hover { color: rgba(248,244,238,0.85); }
.stab.on { color: #fff; border-bottom-color: var(--navy); background: rgba(255,255,255,0.08); }
.tpanel { display: none; }
.tpanel.on {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 2px; background: var(--red2); padding-top: 2px;
}
.scard {
  background: var(--cream); padding: 2.8rem; transition: background 0.2s;
}
.scard:hover { background: var(--cream2); }
.scard:nth-child(odd) {
  background: var(--red);
}
.scard:nth-child(odd):hover { background: var(--red3); }
.scard h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem; font-weight: 400;
  color: var(--red); margin-bottom: 0.9rem;
  border-bottom: 1px solid var(--cream3); padding-bottom: 0.9rem;
}
.scard > p { color: var(--slate); font-size: 1rem; line-height: 1.85; margin-bottom: 1.2rem; }
.scard:nth-child(odd) > p { color: rgba(248,244,238,0.78); }
.outs { list-style: none; }
.outs li {
  font-size: 0.88rem; color: var(--mist);
  padding: 0.3rem 0 0.3rem 1.3rem; position: relative; line-height: 1.6;
}
.scard:nth-child(odd) .outs li { color: rgba(248,244,238,0.6); }
.scard:nth-child(odd) .outs li::before { color: rgba(248,244,238,0.4); }
.outs li::before {
  content: '◆'; position: absolute; left: 0;
  color: var(--navy); font-size: 0.4rem; top: 0.65rem;
}
.services-tpanel-wrap { background: var(--red2); padding: 0 8% 5rem; }
.services-bottom { background: var(--navy); padding: 5rem 8%; }
.services-bottom-inner {
  display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 4rem;
  align-items: center; max-width: 1300px; margin: 0 auto;
}
.services-bottom-photo { overflow: hidden; border-radius: 2px; height: 420px; }
.services-bottom-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 15%; display: block; }
.services-bottom-text { text-align: left; }
.services-bottom h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.2rem, 3.5vw, 3rem);
  font-weight: 400; color: var(--cream); margin-bottom: 1rem;
}
.services-bottom p { color: rgba(248,244,238,0.75); font-size: 1.1rem; margin-bottom: 2.5rem; }

/* ============================================================
   RESULTS PAGE
   ============================================================ */
.results-hero {
  background: var(--red); padding: 5rem 8%; text-align: center;
}
.results-hero h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(3rem, 4.8vw, 4.8rem);
  font-weight: 300; color: #fff; line-height: 1.1; margin-bottom: 1rem;
}
.results-hero p { color: rgba(235,225,220,0.78); font-size: 1.15rem; max-width: 600px; margin: 0 auto; }
.testimonials-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 2px; background: var(--cream3);
}
.tcard {
  background: var(--white); padding: 3.2rem 2.8rem; position: relative;
  display: flex; flex-direction: column; height: 100%;
}
.tcard::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--red);
}
.qm {
  display: none;
}
.tcard blockquote {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem; font-style: italic;
  color: var(--red); line-height: 1.7; margin-bottom: 1.5rem;
}
.tattr {
  font-size: 0.76rem; font-weight: 700; line-height: 1.6;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--mist);
  margin-top: auto;
}
.results-cta { background: var(--navy); padding: 5rem 8%; text-align: center; }
.results-cta p { color: rgba(248,244,238,0.78); font-size: 1.1rem; margin-bottom: 2rem; }

/* ============================================================
   FAQ PAGE
   ============================================================ */
.faq-hero { background: var(--red); padding: 5rem 8%; text-align: center; }
.faq-hero h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(3rem, 4.8vw, 4.8rem);
  font-weight: 300; color: #fff; line-height: 1.1; margin-bottom: 1rem;
}
.faq-hero p { color: rgba(235,225,220,0.78); font-size: 1.15rem; max-width: 600px; margin: 0 auto; }
.faq-body { background: var(--cream); padding: 5rem 8%; }
.faq-grid { display: grid; grid-template-columns: 1fr 2fr; gap: 7rem; align-items: start; }
.faq-intro-col h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.2rem, 3.5vw, 3rem);
  font-weight: 400; color: var(--red); margin-bottom: 1rem; line-height: 1.2;
}
.faq-intro-col p { color: var(--slate); font-size: 1.05rem; line-height: 1.85; margin-bottom: 2rem; }
.fitem { border-bottom: 1px solid var(--cream3); }
.fq {
  display: flex; justify-content: space-between; align-items: center;
  padding: 1.5rem 0; cursor: pointer; gap: 1.5rem;
  font-size: 1.05rem; font-weight: 600; color: var(--red);
  font-family: 'Raleway', sans-serif;
}
.ficon {
  width: 30px; height: 30px; flex-shrink: 0;
  border: 1.5px solid var(--cream3);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem; color: var(--mist); font-weight: 300;
  transition: all 0.2s;
}
.fitem.open .ficon { background: var(--red); border-color: var(--red); color: #fff; }
.fa { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.fa p { padding-bottom: 1.5rem; font-size: 1.02rem; color: var(--slate); line-height: 1.88; }
.fitem.open .fa { max-height: 300px; }

/* ============================================================
   CONTACT PAGE
   ============================================================ */
.contact-hero { background: var(--red); padding: 5rem 8%; text-align: center; }
.contact-hero h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(3rem, 4.8vw, 4.8rem);
  font-weight: 300; color: #fff; line-height: 1.1; margin-bottom: 1rem;
}
.contact-hero p { color: rgba(235,225,220,0.78); font-size: 1.15rem; max-width: 600px; margin: 0 auto; }
.contact-body {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0; background: var(--cream);
}
.contact-left { padding: 6rem 6% 6rem 8%; border-right: 1px solid var(--cream3); }
.contact-right { padding: 6rem 8% 6rem 6%; }
.contact-left h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.4rem, 3.5vw, 3.2rem);
  font-weight: 300; color: var(--cream2); margin-bottom: 1rem; line-height: 1.15;
}
.contact-left h2 em { font-style: italic; color: var(--gold2); }
.contact-left > p { color: var(--slate); font-size: 1.1rem; line-height: 1.9; margin-bottom: 2.5rem; }
.cinfo { display: flex; flex-direction: column; gap: 0; margin-bottom: 2.5rem; }
.crow {
  display: flex; align-items: flex-start; gap: 1.2rem;
  padding: 1.1rem 0; border-bottom: 1px solid var(--cream3);
}
.crow:first-child { border-top: 1px solid var(--cream3); }
.clbl {
  font-size: 0.68rem; font-weight: 700;
  letter-spacing: 0.17em; text-transform: uppercase;
  color: var(--navy); width: 90px; flex-shrink: 0; padding-top: 2px;
}
.crow a, .crow span {
  color: var(--red); text-decoration: none;
  font-size: 1rem; font-weight: 500; line-height: 1.6;
}
.crow a:hover { color: var(--navy); }
.social-links { display: flex; gap: 1rem; margin-bottom: 2.5rem; flex-wrap: wrap; }
.social-link {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.65rem 1.3rem;
  border: 1.5px solid var(--navy);
  color: var(--navy);
  text-decoration: none;
  font-size: 0.76rem; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase;
  transition: all 0.2s;
}
.social-link:hover { background: var(--navy); color: var(--cream); }
.cta-panel {
  background: var(--cream2);
  border: 1px solid var(--cream3);
  padding: 3.5rem; position: relative;
}
.cta-panel::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--red);
}
.cta-panel h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.4rem; font-weight: 300;
  color: var(--navy); margin-bottom: 1rem; line-height: 1.3;
}
.cta-panel p { color: var(--slate); font-size: 1rem; line-height: 1.85; margin-bottom: 2rem; }

/* FOOTER */
footer {
  background: var(--cream); padding: 2.5rem 8%;
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 1.5rem;
  border-top: 1px solid var(--cream3);
}
.footer-logo img { height: 38px; opacity: 1; }
.footer-copy { color: var(--mist); font-size: 0.76rem; }

/* (duplicate/orphaned responsive rules removed — proper versions exist in the media query blocks below) */

/* BADGES STRIP */
.badges-section {
  background: var(--cream2);
  padding: 4rem 8%;
  border-top: 1px solid var(--cream3);
  border-bottom: 1px solid var(--cream3);
}
.badges-section .eyebrow { color: var(--navy); text-align: center; }
.badges-heading {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.8rem, 2.8vw, 2.4rem);
  font-weight: 400; color: var(--red);
  text-align: center; margin-bottom: 2.5rem; line-height: 1.2;
}
.badges-grid {
  display: flex; flex-wrap: nowrap;
  justify-content: center; align-items: center;
  gap: 0; min-width: min-content; width: 100%;
}
.badge-item {
  display: flex; flex-direction: column; align-items: center;
  gap: 0.6rem; text-align: center;
  flex: 1; padding: 0 1rem;
  border-right: 1px solid var(--cream3);
}
.badge-item img {
  height: 60px; width: auto; max-width: 110px;
  object-fit: contain;
  transition: transform 0.25s;
}
.badge-item img:hover { transform: scale(1.05); }
.badge-item span {
  font-size: 0.6rem; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--navy); line-height: 1.4;
  white-space: nowrap;
}
@media(max-width:640px) {
  .badges-grid {
  display: flex; flex-wrap: nowrap;
  justify-content: center; align-items: center;
  gap: 0; min-width: min-content; width: 100%;
}
  
}

/* SECOND PHOTO — home intro & about right */
.intro-photo {
  width: 100%; max-width: 420px;
  aspect-ratio: 3/4;
  object-fit: cover; object-position: center top;
  display: block;
  box-shadow: 8px 8px 0 var(--navy);
}






/* ══ RESPONSIVE ══════════════════════════════════════════════════════════ */

/* TABLET ≤1024px */
@media(max-width:1024px){
  .hero{grid-template-columns:1fr}
  .hero-photo-col{position:relative;overflow:visible;min-height:0;max-height:none;height:auto;background:none}
  .hero-photo-col img{position:static;width:100%;height:auto;object-fit:cover;display:block}
  .hero-overlay{display:none}
  .hero-caption{position:static;background:var(--red);padding:2rem 6%;text-align:left}
  .hero-right{padding:4rem 8%}
  .home-intro{grid-template-columns:1fr !important;gap:2.5rem !important}
  .home-intro>div:last-child{display:none}
  .problems-grid{grid-template-columns:1fr}
  
  .resilience-wrap{grid-template-columns:1fr}
  .resilience-stat{border-right:none;border-bottom:1px solid rgba(255,255,255,0.15);padding:3rem}
  .testimonials-grid{grid-template-columns:1fr 1fr}
  .tpanel.on{grid-template-columns:1fr}
  .faq-grid{grid-template-columns:1fr;gap:3rem}
  .contact-body{grid-template-columns:1fr}
  .contact-left{border-right:none;border-bottom:1px solid var(--cream3)}
  .photo-strip{grid-template-columns:1fr 1fr;height:260px}
  .photo-strip-item:nth-child(3){display:none}
  .nav-tab{padding:.75rem .9rem;font-size:.67rem}
  .creds-grid{grid-template-columns:1fr 1fr}
  .badges-grid{flex-wrap:wrap}
  .badge-item{border-right:none;padding:.4rem;min-width:80px}
  .services-hero-inner{grid-template-columns:1fr;gap:2.5rem}
  .services-hero-photo{height:380px;order:-1}
  .services-hero-text{text-align:center}
  .services-hero-text p{margin:0 auto}
  .services-bottom-inner{grid-template-columns:1fr;gap:2.5rem}
  .services-bottom-photo{height:340px}
  .services-bottom-text{text-align:center}
  .services-bottom-text .gold-rule{margin:0 auto 1.8rem}
  
}

/* NARROW TABLET/LARGE PHONE ≤900px: stack the about-page photo, not on standard laptop widths */
@media(max-width:900px){
  .about-hero{grid-template-columns:1fr;gap:3rem}
  .about-photo-wrap{height:380px}
}

/* MOBILE ≤640px */
@media(max-width:640px){
  .nav-top{padding:0 4%;height:68px}
  .nav-logo img{height:52px}
  .nav-cta-btn{display:none}
  .nav-hamburger{display:flex}
  .nav-pages{display:none}
  .mobile-menu-panel{
    position:fixed; top:68px; left:0; right:0; bottom:0;
    background:var(--red); flex-direction:column;
    padding:0.5rem 0; overflow-y:auto; z-index:299;
  }
  .mobile-menu-link{
    color:rgba(255,255,255,0.85); text-decoration:none;
    font-size:0.95rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
    padding:1.1rem 6%; border-bottom:1px solid rgba(255,255,255,0.15);
  }
  .mobile-menu-link.active{ color:#fff; background:rgba(0,0,0,0.15); }
  .mobile-menu-cta{
    margin:1.2rem 6% 0; background:#fff; color:var(--red) !important;
    text-align:center; border-radius:2px; border-bottom:none;
  }
  .page-content{padding-top:94px}
  .hero{grid-template-columns:1fr}
  .hero-photo-col{position:relative;overflow:visible;min-height:0;max-height:none;height:auto;background:none}
  .hero-photo-col img{position:static;width:100%;height:auto;object-fit:cover;display:block}
  .hero-overlay{display:none}
  .hero-caption{position:static;background:var(--red);padding:1.5rem 6%;text-align:left}
  .hero-right{padding:2.5rem 6%}
  .hero-h1{font-size:clamp(2rem,8vw,3rem)}
  .hero-fix{font-size:1rem}
  .hero-sub{font-size:.95rem}
  .hero-ctas{flex-direction:column;gap:.8rem}
  .trust{flex-direction:column;gap:.6rem;padding:1.2rem 6%}
  .trust-item{border-right:none;padding-right:0;margin-right:0;font-size:.72rem}
  .home-intro{padding:3.5rem 6% !important;grid-template-columns:1fr !important}
  .home-intro>div:last-child{display:none}
  .home-problems{padding:3.5rem 6%}
  .home-phil{padding:3.5rem 8%}
  .home-phil-headline{font-size:clamp(1.8rem,6vw,2.5rem)}
  .photo-strip{grid-template-columns:1fr;height:220px}
  .photo-strip-item:nth-child(2),.photo-strip-item:nth-child(3){display:none}
  .problems-grid{grid-template-columns:1fr}
  .prob-item{padding:1.6rem}
  .badges-section{padding:2.5rem 4%}
  .badges-grid{flex-wrap:wrap;gap:1.2rem .8rem;justify-content:center}
  .badge-item{border-right:none;padding:.4rem;min-width:75px;max-width:110px}
  
  .badge-item span{white-space:normal;font-size:.58rem}
  .about-hero{padding:3rem 6%;grid-template-columns:1fr;gap:2rem}
  .about-photo-wrap{height:280px}
  
  
  .about-right{padding:2.5rem 6%}
  .creds-grid{grid-template-columns:1fr}
  .resilience-wrap{grid-template-columns:1fr}
  .resilience-stat{padding:2.5rem 6%;border-right:none;border-bottom:1px solid rgba(255,255,255,0.15)}
  .resilience-text{padding:2.5rem 6%}
  .services-hero{padding:3rem 6%}
  .services-hero-photo{height:300px}
  .stabs-wrap{padding:0 6%}
  .stabs{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .stab{white-space:nowrap;padding:.85rem 1.1rem;font-size:.7rem}
  .services-tpanel-wrap{padding:0 6% 2.5rem}
  .tpanel.on{grid-template-columns:1fr}
  .scard{padding:1.8rem 1.5rem}
  .services-bottom{padding:3rem 6%}
  .services-bottom-photo{height:280px}
  .results-hero{padding:3rem 6%}
  .testimonials-grid{grid-template-columns:1fr}
  .tcard{padding:2rem 1.5rem}
  .results-cta{padding:3rem 6%}
  .faq-hero{padding:3rem 6%}
  .faq-body{padding:3rem 6%}
  .faq-grid{grid-template-columns:1fr;gap:2rem}
  .fq{font-size:.92rem}
  .contact-hero{padding:3rem 6%}
  .contact-body{grid-template-columns:1fr}
  .contact-left{padding:3rem 6%;border-right:none;border-bottom:1px solid var(--cream3)}
  .contact-right{padding:3rem 6%}
  .cta-panel{padding:2rem 1.5rem}
  .cta-panel h3{font-size:1.7rem}
  .social-links{flex-wrap:wrap}
  footer{flex-direction:column;text-align:center;padding:2rem 6%;gap:1rem}
  h2.section-title{font-size:clamp(1.9rem,7vw,2.6rem)}
  .problems-title-big{font-size:clamp(2.2rem,8vw,3.2rem)}
  .btn-red,.btn-gold,.btn-ghost-red,.btn-ghost-white,.btn-cream,.btn-navy{
    padding:.85rem 1.4rem;font-size:.74rem;display:block;width:100%;text-align:center;box-sizing:border-box
  }
  .hero-ctas .btn-red,.hero-ctas .btn-ghost-red{display:inline-block;width:auto}
  .about-body-wrap{grid-template-columns:1fr}
  .about-left{padding:3rem 6%;border-right:none;border-bottom:1px solid var(--cream3)}
  .about-right{padding:3rem 6%}
}

/* TABLET ≤1024px: stack the about credentials/bio columns too */
@media(max-width:1024px){
  .about-body-wrap{grid-template-columns:1fr}
  .about-left{border-right:none;border-bottom:1px solid var(--cream3)}
}

