:root {
  --tf-green:#244734;
  --tf-blue:#243746;
  --tf-blue-dk:#1A2634;
  --tf-gold:#DFAF4B;
  --tf-gold-lt:#F3C86A;
  --tf-sand:#F4EFE6;
  --tf-text:#222B25;
  --tf-muted:#66756A;
  --tf-green-dk:#10281D;
  --tf-border:rgba(36,71,52,0.14);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }

body {
  font-family:'Inter', sans-serif;
  background:var(--tf-sand);
  color:var(--tf-text);
  overflow-x:hidden;
}

h1,h2,h5 {
  font-family:'Manrope', sans-serif;
}

.btn-gold {
  background:var(--tf-gold);
  color:var(--tf-green-dk);
  font-weight:700;
  border:none;
  padding:.75rem 1.5rem;
  border-radius:6px;
}

.btn-gold:hover {
  background:var(--tf-gold-lt);
  color:var(--tf-green-dk);
  transform:translateY(-1px);
}

.topo-overlay {
  position:absolute;
  inset:0;
  background-image:
    repeating-linear-gradient(0deg, transparent, transparent 38px, rgba(255,255,255,.035) 38px, rgba(255,255,255,.035) 39px),
    repeating-linear-gradient(90deg, transparent, transparent 38px, rgba(255,255,255,.035) 38px, rgba(255,255,255,.035) 39px);
  pointer-events:none;
}

.tf-nav {
  background:var(--tf-blue-dk);
  border-bottom:1px solid rgba(255,255,255,.08);
  padding:.9rem 0;
  position:sticky;
  top:0;
  z-index:1000;
}

.navbar-brand {
  font-family:'Manrope', sans-serif;
  font-size:1.5rem;
  font-weight:800;
  color:#fff !important;
  display:flex;
  align-items:center;
  gap:.45rem;
}

.brand-mark { color:var(--tf-gold); }

.trail-dot {
  width:7px;
  height:7px;
  background:var(--tf-gold);
  border-radius:50%;
  display:inline-block;
}

.tf-nav .nav-link {
  color:rgba(255,255,255,.75) !important;
  font-weight:500;
  font-size:.9rem;
  padding:.4rem .9rem !important;
}

.tf-nav .nav-link:hover { color:#fff !important; }
.navbar-toggler { border-color:rgba(255,255,255,.3); }
.navbar-toggler-icon { filter:invert(1); }

.hero-section {
  position:relative;
  min-height:88vh;
  display:flex;
  align-items:center;
  background:
    linear-gradient(180deg, rgba(16,40,29,.58), rgba(16,40,29,.42), rgba(16,40,29,.78)),
     url('../img/ct.jpg') center/cover no-repeat;
  /* url('https://lh3.googleusercontent.com/aida-public/AB6AXuDpJYiyJ6jDzlzDZP0ipWRQQkOGxXl3yug_8RAKzcw6cvt5np8W2TI824eEHQ7MNBMIbLJ3cEFsT6i86oPeWZxj6BY9L43YVW8F_xAgItr9-8dRd3QofnuKXo-Wy-iuVDn6RQgtSbWOIc8BVmlgb89aSbD9hIgtv6R1wS3X28mkftgmRcxP53Ee3uspIQBLbRwydEbDleAeh46oHAsvr9_2v-u15D--M43SlzdETokL5gPs1pyyZQYIGzaaR6bzt0WGvdtW9KOaRkA') center/cover no-repeat;
  */ 
  overflow:hidden;
  padding:5rem 0;
}

.hero-eyebrow {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  color:var(--tf-gold);
  background:rgba(223,175,75,.25);
  border:1px solid rgba(223,175,75,.50);
  padding:.35rem .85rem;
  border-radius:999px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.78rem;
  font-weight:700;
  margin-bottom:1.25rem;
}

.hero-eyebrow::before {
  content:'';
  width:6px;
  height:6px;
  background:var(--tf-gold);
  border-radius:50%;
}

.hero-title {
  color:#fff;
  font-size:clamp(2.4rem,5vw,4rem);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.03em;
  margin-bottom:1.35rem;
}

.hero-lead {
  color:rgba(255,255,255,.78);
  font-size:1.1rem;
  line-height:1.7;
  max-width:590px;
  margin-bottom:1.5rem;
}

.hero-form {
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15);
  backdrop-filter:blur(8px);
  border-radius:14px;
  padding:1.25rem;
  max-width:620px;
}

.hero-form .form-control,
.email-form-card .form-control {
  background:rgba(255,255,255,.11);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  border-radius:6px;
  padding:.78rem 1rem;
}

.hero-form .form-control::placeholder,
.email-form-card .form-control::placeholder {
  color:rgba(255,255,255,.45);
}

.hero-form .form-control:focus,
.email-form-card .form-control:focus {
  background:rgba(255,255,255,.16);
  border-color:var(--tf-gold);
  box-shadow:0 0 0 3px rgba(223,175,75,.2);
  color:#fff;
}

.privacy-note {
  color:rgba(255,255,255,.55);
  font-size:.78rem;
  margin-top:.75rem;
  display:flex;
  gap:.35rem;
  align-items:center;
}

.hero-trust {
  margin-top:1.2rem;
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  color:rgba(255,255,255,.58);
  font-size:.84rem;
}

.hero-trust span {
  display:flex;
  align-items:center;
  gap:.35rem;
}

.hero-stats-card {
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.13);
  backdrop-filter:blur(8px);
  border-radius:12px;
  padding:1.5rem;
  color:#fff;
  margin-bottom:1rem;
  min-height:122px;
}

.hero-stats-card .stat-num {
  font-family:'Manrope', sans-serif;
  color:var(--tf-gold);
  font-size:2rem;
  font-weight:800;
  line-height:1;
  margin-bottom:.45rem;
}

.hero-stats-card .stat-label {
  color:rgba(255,255,255,.68);
  font-size:.85rem;
  line-height:1.35;
}

.pain-section,
.how-section {
  padding:5rem 0;
  background:var(--tf-sand);
}

.features-section {
  padding:5rem 0;
  background:#fff;
}

.section-eyebrow {
  color:var(--tf-green);
  font-size:.75rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.14em;
  margin-bottom:.75rem;
}

.section-title {
  font-size:clamp(1.9rem,3.5vw,2.75rem);
  font-weight:800;
  line-height:1.15;
  letter-spacing:-.02em;
}

.section-title em {
  color:var(--tf-green);
  font-style:italic;
}

.section-lead {
  color:var(--tf-muted);
  font-size:1.03rem;
  line-height:1.75;
}

.divider-gold {
  width:48px;
  height:3px;
  background:var(--tf-gold);
  border-radius:4px;
  margin:1.25rem 0;
}

.pain-pill {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  background:rgba(36,71,52,.07);
  border:1px solid var(--tf-border);
  border-radius:999px;
  padding:.45rem 1rem;
  font-size:.86rem;
  color:var(--tf-green);
  font-weight:600;
  margin:.25rem;
}

.feature-card {
  background:var(--tf-sand);
  border:1px solid var(--tf-border);
  border-radius:14px;
  padding:2rem;
  height:100%;
  transition:transform 0.2s ease, box-shadow 0.2s ease;
  position:relative;
  overflow:hidden;
}

.feature-card::after {
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:4px;
  height:100%;
  background:var(--tf-gold);
  transform:scaleY(0);
  transform-origin:top;
  transition:transform 0.25s ease;
}

.feature-card:hover {
  transform:translateY(-4px);
  box-shadow:0 14px 35px rgba(36,71,52,.11);
}

.feature-card:hover::after {
  transform:scaleY(1);
}

.feature-card:hover .feature-icon {
  background:rgba(223,175,75,.18);
  transform:translateY(-2px);
}

.feature-icon {
  width:52px;
  height:52px;
  background:rgba(36,71,52,.1);
  color:var(--tf-green);
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.4rem;
  margin-bottom:1.25rem;
  transition:all 0.2s ease;
}

.feature-card h5 {
  font-weight:800;
  font-size:1.08rem;
  margin-bottom:.65rem;
}

.feature-card p {
  color:var(--tf-muted);
  font-size:.91rem;
  line-height:1.65;
  margin:0;
}

.guide-section {
  position:relative;
  overflow:hidden;
  padding:5rem 0;
  background:linear-gradient(135deg, var(--tf-blue-dk), var(--tf-blue) 58%, var(--tf-green));
}

.guide-badge {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  background:var(--tf-gold);
  color:var(--tf-green-dk);
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
  padding:.35rem .85rem;
  border-radius:999px;
  margin-bottom:1rem;
}

.guide-title {
  color:#fff;
  font-size:clamp(1.9rem,3.5vw,2.8rem);
  font-weight:800;
  line-height:1.1;
  margin-bottom:1rem;
}

.guide-title em {
  color:var(--tf-gold);
  font-style:italic;
}

.guide-desc {
  color:rgba(255,255,255,.75);
  font-size:1rem;
  line-height:1.7;
  max-width:650px;
  margin:0 auto 2rem;
}

.email-form-card {
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  padding:2rem;
  backdrop-filter:blur(8px);
}

.email-form-card label {
  color:rgba(255,255,255,.85);
  font-size:.85rem;
  font-weight:600;
  margin-bottom:.4rem;
}

.about-card {
  background:#fff;
  border:1px solid var(--tf-border);
  border-radius:16px;
  padding:2rem;
  box-shadow:0 20px 60px rgba(36,55,70,.12);
}

.about-card-item {
  background:var(--tf-sand);
  border-radius:10px;
  padding:1rem;
  margin-bottom:.8rem;
}

.about-card-item .label {
  color:var(--tf-muted);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
  margin-bottom:.25rem;
}

.about-card-item .value {
  color:var(--tf-text);
  font-family:'Manrope', sans-serif;
  font-size:1.1rem;
  font-weight:800;
}

.db-tag {
  display:inline-block;
  font-size:.72rem;
  padding:.18rem .55rem;
  border-radius:999px;
  font-weight:700;
  margin:.15rem;
}

.db-tag-green {
  background:rgba(36,71,52,.12);
  color:var(--tf-green);
}

.db-tag-gold {
  background:rgba(223,175,75,.25);
  color:#806018;
}

.cta-strip {
  background:var(--tf-blue);
  padding:4rem 0;
}

.tf-footer {
  background:var(--tf-blue-dk);
  padding:4rem 0 2rem;
}

.footer-brand {
  font-family:'Manrope', sans-serif;
  font-size:1.5rem;
  font-weight:800;
  color:#fff;
}

.tf-footer p {
  color:rgba(255,255,255,.55);
  font-size:.88rem;
  line-height:1.7;
}

.footer-heading {
  color:var(--tf-gold);
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:1rem;
}

.footer-links {
  list-style:none;
  padding:0;
  margin:0;
}

.footer-links li {
  margin-bottom:.55rem;
}

.footer-links a {
  color:rgba(255,255,255,.58);
  text-decoration:none;
  font-size:.88rem;
}

.footer-links a:hover { color:#fff; }

.footer-divider {
  border-top:1px solid rgba(255,255,255,.08);
  margin:2.5rem 0 1.5rem;
}

.footer-bottom {
  color:rgba(255,255,255,.35) !important;
  font-size:.8rem !important;
}

@media (max-width:767px) {
  .hero-section {
    min-height:auto;
    padding:4rem 0;
  }

  .hero-form {
    padding:1rem;
  }

  .hero-stats-card {
    min-height:auto;
  }

  .email-form-card {
    padding:1.5rem;
  }
}

.content-layer {
  z-index:2;
}

.hero-stats-offset {
  padding-top:2.5rem;
}

.guide-form {
  max-width:620px;
}

.cta-title {
  color:#fff;
  font-size:clamp(1.7rem,3vw,2.4rem);
  margin-bottom:1rem;
}

.cta-lead {
  color:rgba(255,255,255,.68);
  font-size:1rem;
  max-width:560px;
  margin:0 auto 2rem;
}

.footer-description {
  max-width:360px;
}

.footer-signup-text {
  font-size:.85rem;
  margin-bottom:1rem;
}

.tf-footer .input-group .form-control {
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.15);
  color:white;
  font-size:.875rem;
}

.footer-subscribe-button {
  font-size:.875rem;
  padding:.5rem 1rem;
}

.footer-legal-link {
  color:rgba(255,255,255,.35);
  font-size:.8rem;
  text-decoration:none;
  margin-left:1.25rem;
}

.footer-legal-link:hover {
  color:rgba(255,255,255,.6);
}

.form-honeypot {
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

.thank-you-page {
  min-height:100vh;
  background:var(--tf-blue-dk);
}

.thank-you-section {
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:5rem 0;
  background:linear-gradient(135deg, var(--tf-blue-dk), var(--tf-blue) 58%, var(--tf-green));
}

.thank-you-card {
  background:rgba(255,255,255,.95);
  border:1px solid rgba(255,255,255,.65);
  border-radius:18px;
  box-shadow:0 24px 70px rgba(16,40,29,.28);
  padding:clamp(2rem, 5vw, 3.5rem);
}

.thank-you-icon {
  color:var(--tf-green);
  font-size:3.4rem;
  line-height:1;
  margin-bottom:1rem;
}

.thank-you-title {
  color:var(--tf-text);
  font-family:'Manrope', sans-serif;
  font-size:clamp(2rem, 4vw, 3rem);
  font-weight:800;
  letter-spacing:-.03em;
  line-height:1.1;
  margin-bottom:1rem;
}

.thank-you-copy {
  color:var(--tf-muted);
  font-size:1.05rem;
  line-height:1.7;
  margin:0 auto 1.75rem;
  max-width:560px;
}

.thank-you-note {
  color:var(--tf-muted);
  font-size:.88rem;
  line-height:1.6;
  margin-top:1.25rem;
}

.thank-you-home-link {
  color:rgba(255,255,255,.78);
  display:inline-flex;
  align-items:center;
  font-weight:700;
  margin-top:1.5rem;
  text-decoration:none;
}

.thank-you-home-link:hover {
  color:#fff;
}
