:root{
  --charcoal:#181818;
  --charcoal-soft:#232323;
  --bone:#F5F3EE;
  --bone-dim:#E7E2D8;

  /* Gold pulled from the logo's dumbbell bars — two weights for contrast */
  --gold:#E3AE43;        /* bright gold, for use on dark backgrounds */
  --gold-deep:#A9790A;   /* deeper gold, for use on light backgrounds (meets text contrast) */

  /* Neutral gray replaces the old blue-gray so the palette stays true to the badge's black/gold/white */
  --graphite:#55565A;
  --graphite-light:#9A9A9E;

  --font-display: 'Anton', sans-serif;
  --font-body: 'Work Sans', sans-serif;
  --font-mono: 'IBM Plex Mono', monospace;
}

*{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  font-family:var(--font-body);
  background:var(--bone);
  color:var(--charcoal);
  overflow-x:hidden;
}

h1,h2,h3, .tt-display{
  font-family:var(--font-display);
  text-transform:uppercase;
  letter-spacing:0.01em;
  line-height:0.98;
}

.tt-eyebrow{
  font-family:var(--font-mono);
  font-size:0.72rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  font-weight:600;
}

a{ text-decoration:none; }

/* ---------- Top strip ---------- */
.tt-topstrip{
  background:var(--charcoal);
  color:var(--bone-dim);
  font-family:var(--font-mono);
  font-size:0.75rem;
  letter-spacing:0.03em;
  padding:0.4rem 0;
}
.tt-topstrip a{ color:var(--bone); }
.tt-topstrip a:hover{ color:var(--gold); }

/* ---------- Navbar ---------- */
.tt-navbar{
  background:var(--charcoal);
  padding:0.65rem 0;
  border-bottom:1px solid rgba(245,243,238,0.08);
}
.tt-logo{
  font-family:var(--font-display);
  color:var(--bone);
  font-size:1.3rem;
  letter-spacing:0.02em;
  display:inline-flex;
  align-items:center;
}
.tt-logo img{ display:block; height:50px; width:auto; }
.tt-logo span{ color:var(--gold); }
.tt-nav-link{
  font-family:var(--font-mono);
  font-size:0.78rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--bone-dim) !important;
  padding:0.5rem 1rem !important;
  transition:color 0.2s ease;
}
.tt-nav-link:hover{ color:var(--gold) !important; }
.tt-nav-link.active{
  color:var(--gold) !important;
  position:relative;
}
.tt-nav-link.active::after{
  content:"";
  position:absolute;
  left:1rem; right:1rem; bottom:0.15rem;
  height:2px;
  background:var(--gold);
}
.navbar-toggler{ border-color:rgba(245,243,238,0.3); }
.navbar-toggler-icon{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgb(245,243,238)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* ---------- Hero ---------- */
.tt-hero{
  background:var(--charcoal);
  color:var(--bone);
  padding:5.5rem 0 0;
  position:relative;
  overflow:hidden;
}
.tt-hero-grid{
  display:grid;
  grid-template-columns:1.15fr 0.85fr;
  align-items:stretch;
  gap:0;
}
.tt-hero-copy{ padding:1rem 0 3.5rem; }
.tt-hero-copy .tt-hero-inner{
  padding-left:clamp(1rem, 4vw, 3rem);
  padding-right:1.5rem;
  max-width:640px;
}
@media (max-width:991.98px){
  .tt-hero-copy .tt-hero-inner{ padding-left:1rem; max-width:none; }
}
.tt-hero-media{
  position:relative;
  min-height:340px;
}
.tt-hero-media img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
  filter:grayscale(0.15) contrast(1.05);
}
.tt-hero-media::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(100deg, var(--charcoal) 0%, rgba(24,24,24,0.55) 22%, rgba(24,24,24,0.05) 55%);
}
.tt-hero-media::after{
  content:"";
  position:absolute; left:0; top:0; bottom:0; width:6px;
  background:var(--gold);
}
@media (max-width:991.98px){
  .tt-hero-grid{ grid-template-columns:1fr; }
  .tt-hero-media{ min-height:260px; order:-1; }
  .tt-hero-media::before{ background:linear-gradient(180deg, rgba(24,24,24,0.15) 40%, var(--charcoal) 96%); }
  .tt-hero-copy{ padding-top:2rem; }
}
.tt-hero-eyebrow{ color:var(--gold); margin-bottom:1.25rem; }
.tt-hero-eyebrow .sep{ color:var(--graphite-light); margin:0 0.4rem; }
.tt-hero h1{
  font-size:clamp(2.6rem, 6.2vw, 5rem);
  max-width:14ch;
  margin-bottom:1.5rem;
}
.tt-hero h1 .accent{ color:var(--gold); }
.tt-hero-quote{
  font-family:var(--font-body);
  font-style:italic;
  color:var(--bone-dim);
  border-left:3px solid var(--gold);
  padding-left:1rem;
  max-width:32ch;
  font-size:1.05rem;
  margin-bottom:2rem;
}
.tt-hero-quote cite{
  display:block;
  font-family:var(--font-mono);
  font-style:normal;
  font-size:0.75rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--graphite-light);
  margin-top:0.5rem;
}
.tt-cta-row{ display:flex; flex-wrap:wrap; gap:0.85rem; }
.tt-btn-red{
  background:var(--gold);
  color:var(--charcoal);
  font-family:var(--font-mono);
  font-size:0.8rem;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:0.85rem 1.6rem;
  border-radius:2px;
  border:1px solid var(--gold);
  transition:all 0.2s ease;
  display:inline-block;
}
.tt-btn-red:hover{ background:transparent; color:var(--gold); }
.tt-btn-outline{
  background:transparent;
  color:var(--bone);
  font-family:var(--font-mono);
  font-size:0.8rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:0.85rem 1.6rem;
  border-radius:2px;
  border:1px solid rgba(245,243,238,0.35);
  transition:all 0.2s ease;
  display:inline-block;
}
.tt-btn-outline:hover{ border-color:var(--gold); color:var(--gold); }

/* Consultation CTA: a shared "For initial consultation" title over two
   buttons — Text (static, since a tel: link opens a call, not a text
   thread) and Email (a real, clickable mailto: link). */
.tt-consult-group{ margin-top:0; }
.tt-consult-title{
  font-family:var(--font-mono);
  font-size:0.7rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--graphite-light);
  margin-bottom:0.85rem;
}
.tt-consult-title-light{ color:var(--graphite); }
.tt-consult-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:0.85rem;
}
.tt-btn-outline-dark{
  background:transparent;
  color:var(--charcoal);
  font-family:var(--font-mono);
  font-size:0.8rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:0.85rem 1.6rem;
  border-radius:2px;
  border:1px solid rgba(24,24,24,0.25);
  display:inline-block;
}
/* Static: looks like a button, isn't clickable — no href, no hover, no pointer cursor. */
.tt-btn-static{ pointer-events:none; }

.tt-card-contact{ margin-top:1.25rem; }

/* Effort-line signature graphic */
.tt-effort-line{ width:100%; display:block; margin-top:2.5rem; }
.tt-effort-line path{
  fill:none;
  stroke:var(--gold);
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:1400;
  stroke-dashoffset:1400;
  animation:tt-draw 2.4s ease-out forwards 0.3s;
}
@keyframes tt-draw{ to{ stroke-dashoffset:0; } }
@media (prefers-reduced-motion: reduce){
  .tt-effort-line path{ animation:none; stroke-dashoffset:0; }
  html{ scroll-behavior:auto; }
}

/* ---------- Section headers ---------- */
.tt-section{ padding:5rem 0; }
.tt-section-head{ margin-bottom:3rem; }
.tt-section-head h2{
  font-size:2rem;
  margin-bottom:0.75rem;
}
.tt-section-head .tt-eyebrow{ color:var(--gold-deep); }
.tt-rule{
  width:64px; height:4px; background:var(--gold-deep); margin:1rem 0 0;
}

/* ---------- Services ---------- */
.tt-services{ background:var(--bone); }
.tt-card{
  background:#fff;
  border:1px solid rgba(24,24,24,0.08);
  border-top:4px solid var(--graphite);
  height:100%;
  transition:transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  overflow:hidden;
}
.tt-card:hover{
  transform:translateY(-6px);
  border-top-color:var(--gold-deep);
  box-shadow:0 18px 34px rgba(24,24,24,0.09);
}
.tt-card-img{
  height:200px;
  overflow:hidden;
  position:relative;
}
.tt-card-img img{
  width:100%; height:100%;
  object-fit:cover;
  filter:grayscale(1) contrast(1.05);
  transition:filter 0.4s ease, transform 0.4s ease;
  display:block;
}
.tt-card:hover .tt-card-img img{
  filter:grayscale(0) contrast(1.05);
  transform:scale(1.05);
}
.tt-card-body{ padding:2rem 1.9rem 2.25rem; }
.tt-card-tag{
  font-family:var(--font-mono);
  font-size:0.7rem;
  letter-spacing:0.14em;
  color:var(--gold-deep);
  display:inline-block;
  margin-bottom:0.9rem;
}
.tt-card h3{
  font-size:1.4rem;
  margin-bottom:0.9rem;
}
.tt-card p{ color:#43484D; font-size:0.96rem; }
.tt-card-cta{
  font-family:var(--font-mono);
  font-size:0.75rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--charcoal);
  border-bottom:1px solid var(--charcoal);
  padding-bottom:2px;
  display:inline-block;
  margin-top:1.25rem;
}
.tt-card:hover .tt-card-cta{ color:var(--gold-deep); border-color:var(--gold-deep); }

/* ---------- Why us / Q&A ---------- */
.tt-why{
  background:linear-gradient(100deg, rgba(24,24,24,0.94) 0%, rgba(24,24,24,0.9) 45%, rgba(24,24,24,0.72) 100%), url("/wp-content/uploads/2026/07/benifit-background.jpg");
  background-size:cover;
  background-position:center;
  color:var(--bone);
  position:relative;
}
.tt-why .tt-eyebrow{ color:var(--gold); }
.tt-quote-mark{
  font-family:var(--font-display);
  font-size:5rem;
  color:var(--gold);
  line-height:0.5;
  display:block;
  margin-bottom:1rem;
}
.tt-why blockquote{
  font-size:clamp(1.3rem, 2.6vw, 1.9rem);
  max-width:34ch;
  line-height:1.35;
  color:var(--bone);
}
.tt-why .question{
  font-family:var(--font-mono);
  font-size:0.85rem;
  letter-spacing:0.04em;
  color:var(--bone-dim);
  margin-bottom:1.5rem;
  max-width:36ch;
}

/* ---------- Member stories ---------- */
.tt-stories{ background:var(--bone-dim); position:relative; }
.tt-story-card{
  background:#fff;
  height:100%;
  border-left:3px solid var(--graphite);
  position:relative;
  transition:border-color 0.2s ease;
  overflow:hidden;
}
.tt-story-card:hover{ border-left-color:var(--gold-deep); }
.tt-story-photo{
  height: 360px;
  overflow:hidden;
  background:var(--charcoal);
}
.tt-story-photo img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:top center;
  display:block;
}
.tt-story-body{ padding:2rem 1.8rem; }
.tt-story-tag{
  font-family:var(--font-mono);
  font-size:0.68rem;
  letter-spacing:0.1em;
  background:var(--charcoal);
  color:var(--gold);
  padding:0.25rem 0.55rem;
  display:inline-block;
  margin-bottom:1rem;
}
.tt-story-card p{ font-size:0.98rem; color:#33383D; margin-bottom:1.25rem; }
.tt-story-name{
  font-family:var(--font-mono);
  font-size:0.78rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--charcoal);
  font-weight:600;
}
.tt-story-name span{ display:block; color:var(--graphite); font-weight:400; font-size:0.72rem; margin-top:2px; letter-spacing:0.03em; text-transform:none; }

.tt-effort-line-small{ width:100%; max-width:520px; margin:0 auto 3rem; display:block; }
.tt-effort-line-small path{
  fill:none; stroke:var(--gold-deep); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round;
}

/* ---------- Newsletter ---------- */
.tt-newsletter{ background:var(--bone); }
.tt-newsletter-box{
  background:var(--charcoal);
  padding:3rem 2.5rem;
  color:var(--bone);
}
.tt-newsletter-box h3{ font-size:1.8rem; margin-bottom:0.6rem; }
.tt-newsletter-box p{ color:var(--bone-dim); margin-bottom:1.75rem; font-size:0.95rem; }
.tt-form-control{
  background:transparent;
  border:1px solid rgba(245,243,238,0.35);
  color:var(--bone);
  font-family:var(--font-mono);
  font-size:0.85rem;
  padding:0.85rem 1rem;
  border-radius:2px;
}
.tt-form-control::placeholder{ color:rgba(245,243,238,0.45); }
.tt-form-control:focus{
  background:transparent;
  border-color:var(--gold);
  color:var(--bone);
  box-shadow:0 0 0 3px rgba(227,174,67,0.25);
}

/* ---------- Train with us banner ---------- */
.tt-band{
  background:var(--charcoal);
  color:var(--bone);
  padding:4rem 0;
  border-top:4px solid var(--gold);
}
.tt-band h2{
  font-size:clamp(2rem, 4.5vw, 3.4rem);
}
.tt-band p{ font-size:1.05rem; max-width:44ch; color:var(--bone-dim); }

/* ---------- Footer ---------- */
.tt-footer{ background:var(--charcoal); color:var(--bone-dim); padding:3.5rem 0 1.5rem; }
.tt-footer h4{
  font-family:var(--font-mono);
  font-size:0.75rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--bone);
  margin-bottom:1.1rem;
}
.tt-footer ul{ list-style:none; padding:0; margin:0; }
.tt-footer ul li{ margin-bottom:0; }
.tt-footer a{ color:var(--bone-dim); font-size:0.9rem; transition:color 0.2s ease; }
.tt-footer a:hover{ color:var(--gold); }
.tt-footer a.active{ color:var(--gold); font-weight:600; }
.tt-footer p{ font-size:0.9rem; }
.tt-footer-bottom{
  border-top:1px solid rgba(245,243,238,0.1);
  margin-top:2.5rem;
  padding-top:1.25rem;
  font-family:var(--font-mono);
  font-size:0.72rem;
  letter-spacing:0.04em;
  color:var(--graphite-light);
}
.tt-social-pill{
  display:inline-block;
  border:1px solid rgba(245,243,238,0.3);
  padding:0.6rem 1.1rem;
  font-family:var(--font-mono);
  font-size:0.75rem;
  letter-spacing:0.06em;
  color:var(--bone-dim);
  border-radius:2px;
  transition:all 0.2s ease;
}
.tt-social-pill:hover{ border-color:var(--gold); color:var(--gold); }

/* ---------- About page hero ---------- */
.tt-about-hero{
  background:
    linear-gradient(100deg, rgba(24,24,24,0.92) 0%, rgba(24,24,24,0.82) 45%, rgba(24,24,24,0.62) 100%),
    url("/wp-content/uploads/2026/07/about-hero-bg.jpg");
  background-size:cover;
  background-position:center 30%;
  color:var(--bone);
  padding:7rem 0 5rem;
}
.tt-about-hero h1{
  font-size:clamp(2.4rem, 5.5vw, 4.2rem);
  max-width:16ch;
  margin-bottom:1.25rem;
}
.tt-about-hero h1 .accent{ color:var(--gold); }
.tt-about-hero-desc{
  max-width:60ch;
  color:var(--bone-dim);
  font-size:1.08rem;
  line-height:1.6;
  margin-bottom:2rem;
}

/* ---------- Coaches ---------- */
.tt-coaches{ background:var(--bone); }
.tt-coach-card{
  background:#fff;
  border:1px solid rgba(24,24,24,0.08);
  overflow:hidden;
  transition:box-shadow 0.25s ease, transform 0.25s ease;
}
.tt-coach-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 34px rgba(24,24,24,0.09);
}
.tt-coach-img{
  height:600px;
  overflow:hidden;
  background:var(--charcoal);
}

.tt-coach-body{
  padding:1.5rem 1.75rem 1.9rem;
  border-top:4px solid var(--gold-deep);
}
.tt-coach-body h3{ font-size:1.5rem; margin-bottom:0.6rem; }
.tt-coach-story{
  font-size:1.05rem;
  line-height:1.7;
  color:#43484D;
  text-align:center;
}

/* ---------- Benefits Q&A ---------- */
.tt-benefits{ background:var(--charcoal); color:var(--bone); }
.tt-benefits .tt-quote-mark{ margin-bottom:0.5rem; }
.tt-benefits-question{
  font-size:clamp(1.5rem, 3vw, 2.1rem);
  color:var(--gold);
  margin-bottom:1.75rem;
}
.tt-benefits-answer{
  font-family:var(--font-body);
  font-size:1.08rem;
  line-height:1.7;
  color:var(--bone-dim);
  max-width:70ch;
  margin:0 auto;
}

/* ---------- Fitness Packages: full-width image ---------- */
.tt-fullwidth-img{
  margin:2.5rem 0;
  border:1px solid rgba(24,24,24,0.08);
  overflow:hidden;
}
.tt-fullwidth-img img{
  width:100%;
  height:420px;
  object-fit:cover;
  display:block;
  filter:grayscale(0.15) contrast(1.05);
}
@media (max-width:767.98px){
  .tt-fullwidth-img img{ height:260px; }
}

/* ---------- Fitness Packages: highlighted sub-package ---------- */
.tt-package-highlight{
  text-align:center;
  max-width:640px;
  margin:0 auto 3.5rem;
}
.tt-package-highlight h3{
  font-size:clamp(1.6rem, 3vw, 2.2rem);
  margin-bottom:0.75rem;
}
.tt-package-highlight p{
  color:#43484D;
  margin-bottom:1.5rem;
}

/* ---------- Goal CTA band (bg image + logo) ---------- */
.tt-goal-cta{
  background:
    linear-gradient(rgba(24,24,24,0.88), rgba(24,24,24,0.88)),
    url("/wp-content/uploads/2026/07/benifit-background.jpg");
  background-size:cover;
  background-position:center;
  color:var(--bone);
  padding:5rem 0;
  text-align:center;
}
.tt-goal-cta img{ height:56px; width:auto; margin-bottom:2rem; }
.tt-goal-cta h2{
  font-size:clamp(1.8rem, 4vw, 2.8rem);
  max-width:20ch;
  margin:0 auto 2rem;
}

/* ---------- Member Stories: icon cards ---------- */
.tt-icon-card{
  background:#fff;
  border:1px solid rgba(24,24,24,0.08);
  border-top:4px solid var(--gold-deep);
  height:100%;
  text-align:center;
  padding:2.75rem 2rem;
  transition:transform 0.25s ease, box-shadow 0.25s ease;
}
.tt-icon-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 34px rgba(24,24,24,0.09);
}
.tt-icon-card .tt-icon{
  width:56px; height:56px;
  color:var(--gold-deep);
  margin-bottom:1.5rem;
}
.tt-icon-card h3{ font-size:1.4rem; margin-bottom:0.9rem; }
.tt-icon-card p{ color:#43484D; font-size:0.96rem; margin-bottom:0; }

/* ---------- Member Stories: before/after gallery ---------- */
.tt-gallery-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1rem;
}
@media (max-width:991.98px){
  .tt-gallery-grid{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:575.98px){
  .tt-gallery-grid{ grid-template-columns:1fr; }
}
.tt-gallery-card{
  position:relative;
  display:block;
  overflow:hidden;
  border:1px solid rgba(24,24,24,0.08);
  background:var(--charcoal);
}
.tt-gallery-card img{
  width:100%; height:220px;
  object-fit:cover;
  display:block;
  filter:grayscale(1) contrast(1.05);
  transition:filter 0.4s ease, transform 0.4s ease;
}
.tt-gallery-card:hover img{
  filter:grayscale(0) contrast(1.05);
  transform:scale(1.06);
}
.tt-gallery-caption{
  position:absolute; left:0; right:0; bottom:0;
  background:linear-gradient(transparent, rgba(24,24,24,0.9));
  color:var(--bone);
  font-family:var(--font-mono);
  font-size:0.68rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:1.5rem 0.85rem 0.7rem;
}

/* ---------- Light variant of the CTA band ---------- */
.tt-band-light{
  background:var(--bone-dim);
  color:var(--charcoal);
  border-top:4px solid var(--gold-deep);
}
.tt-band-light h2{
  margin:0 0 0.75rem;
  max-width:22ch;
  text-align:left;
}
.tt-band-light p{
  color:#43484D;
  max-width:56ch;
  margin:0;
}

/* ---------- Closing statement band (bg image, no logo) ---------- */
.tt-goal-cta-next{
  background:
    linear-gradient(rgba(24,24,24,0.75), rgba(24,24,24,0.85)),
    url("/wp-content/uploads/2026/07/home-hero.jpg");
  background-size:cover;
  background-position:center;
}
.tt-goal-cta-next h2{ margin-bottom:0; }

/* ---------- Careers: job listings ---------- */
.tt-job-card{
  background:#fff;
  border:1px solid rgba(24,24,24,0.08);
  border-top:4px solid var(--gold-deep);
  padding:2.5rem 2.5rem 2.75rem;
  margin-bottom:2rem;
}
.tt-job-card:last-child{ margin-bottom:0; }
.tt-job-tag{
  font-family:var(--font-mono);
  font-size:0.7rem;
  letter-spacing:0.14em;
  color:var(--gold-deep);
  display:inline-block;
  margin-bottom:0.9rem;
}
.tt-job-card h3{ font-size:1.6rem; margin-bottom:1.25rem; }
.tt-job-subhead{
  font-family:var(--font-mono);
  font-size:0.78rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--charcoal);
  margin:1.5rem 0 0.9rem;
}
.tt-job-card > p:first-of-type{ margin-top:0; }
.tt-job-card p{ color:#43484D; }
.tt-job-list{
  list-style:none;
  margin:0;
  padding:0;
  color:#43484D;
}
.tt-job-list li{
  position:relative;
  padding-left:1.5rem;
  margin-bottom:0.75rem;
}
.tt-job-list li:last-child{ margin-bottom:0; }
.tt-job-list li::before{
  content:"";
  position:absolute;
  left:0; top:0.55em;
  width:8px; height:2px;
  background:var(--gold-deep);
}

/* ---------- Careers: apply form ---------- */
.wpcf7-textarea{ padding:3rem 3rem 3.25rem; }
.tt-form-label{
  font-family:var(--font-mono);
  font-size:0.72rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--bone-dim);
  margin-bottom:0.5rem;
  display:inline-block;
}
.tt-required{ color:var(--gold); }
.tt-apply-box textarea.tt-form-control{ resize:vertical; }

/* Focus visibility */
a:focus-visible, button:focus-visible, input:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:2px;
}


/* ---------- Careers: Contact Form 7 apply form ---------- */
.tt-apply-box .wpcf7-form{
  display:flex;
  flex-wrap:wrap;
  gap:1.25rem 1.5rem;
  margin:0;
}
.tt-apply-box .wpcf7-form .hidden-fields-container{ display:none; }

.tt-apply-box .wpcf7-form p{
  width:100%;
  margin:0;
}
.tt-apply-box .wpcf7-form p:has(span[data-name="your-name"]),
.tt-apply-box .wpcf7-form p:has(span[data-name="your-email"]){
  width:calc(50% - 0.75rem);
}

.tt-apply-box .wpcf7-form label{
  display:block;
  width:100%;
  font-family:var(--font-mono);
  font-size:0.72rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--bone-dim);
}

.tt-apply-box .wpcf7-form .wpcf7-form-control-wrap{ display:block; margin-top:0.5rem; }

.tt-apply-box .wpcf7-form .wpcf7-form-control{
  width:100%;
  background:transparent;
  border:1px solid rgba(245,243,238,0.35);
  color:var(--bone);
  font-family:var(--font-mono);
  font-size:0.85rem;
  padding:0.85rem 1rem;
  border-radius:2px;
  transition:border-color 0.2s ease, box-shadow 0.2s ease;
}
.tt-apply-box .wpcf7-form .wpcf7-form-control::placeholder{ color:rgba(245,243,238,0.45); }
.tt-apply-box .wpcf7-form .wpcf7-form-control:focus{
  outline:none;
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(227,174,67,0.25);
}
.tt-apply-box .wpcf7-form textarea.wpcf7-form-control{ resize:vertical; min-height:160px; }
.tt-apply-box .wpcf7-form .wpcf7-form-control.wpcf7-not-valid{ border-color:#e05c5c; }
.tt-apply-box .wpcf7-form .wpcf7-not-valid-tip{
  display:block;
  margin-top:0.4rem;
  font-family:var(--font-mono);
  font-size:0.7rem;
  color:#e05c5c;
}

.tt-apply-box .wpcf7-form .wpcf7-submit{
  width:auto;
  background:var(--gold);
  color:var(--charcoal);
  font-family:var(--font-mono);
  font-size:0.8rem;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:0.85rem 1.6rem;
  border:1px solid var(--gold);
  border-radius:2px;
  cursor:pointer;
  transition:all 0.2s ease;
}
.tt-apply-box .wpcf7-form .wpcf7-submit:hover{ background:transparent; color:var(--gold); }
.tt-apply-box .wpcf7-form .wpcf7-submit:disabled{ opacity:0.6; cursor:default; }

.tt-apply-box .wpcf7-spinner{
  display:inline-block;
  width:20px; height:20px;
  margin:0 0 0 0.75rem;
  vertical-align:middle;
  border:2px solid rgba(245,243,238,0.35);
  border-top-color:var(--gold);
  border-radius:50%;
  background:none;
  visibility:hidden;
  opacity:0;
  animation:tt-spin 0.7s linear infinite;
}
.tt-apply-box .wpcf7-form.submitting .wpcf7-spinner{ visibility:visible; opacity:1; }
@keyframes tt-spin{ to{ transform:rotate(360deg); } }

.tt-apply-box .wpcf7-response-output:empty{ display:none; }
.tt-apply-box .wpcf7-response-output{
  width:100%;
  margin:0.5rem 0 0;
  padding:0.85rem 1.1rem;
  border:1px solid rgba(245,243,238,0.35);
  border-radius:2px;
  font-family:var(--font-mono);
  font-size:0.8rem;
  color:var(--bone);
}
.tt-apply-box .wpcf7-form.sent .wpcf7-response-output{ border-color:var(--gold); color:var(--gold); }
.tt-apply-box .wpcf7-form.invalid .wpcf7-response-output,
.tt-apply-box .wpcf7-form.unaccepted .wpcf7-response-output,
.tt-apply-box .wpcf7-form.payment-required .wpcf7-response-output{
  border-color:#e05c5c;
  color:#e05c5c;
}


/* ---------- B2B / Community Wellness page ---------- */
.tt-minimalbar{
  background:var(--charcoal);
  padding:1.1rem 0;
}
.tt-b2b-hero{
  background:
    linear-gradient(100deg, rgba(24,24,24,0.9) 0%, rgba(24,24,24,0.72) 55%, rgba(24,24,24,0.55) 100%),
    url("/wp-content/uploads/2026/07/home-hero.jpg");
  background-size:cover;
  background-position:center 35%;
  color:var(--bone);
  padding:6.5rem 0 5.5rem;
}
.tt-b2b-hero h1{
  font-size:clamp(2.6rem, 6vw, 4.6rem);
  margin-bottom:1.25rem;
}
.tt-b2b-hero p{
  max-width:62ch;
  color:var(--bone-dim);
  font-size:1.12rem;
  line-height:1.65;
}

.tt-partners{ background:var(--bone-dim); }
.tt-partner-logo{
  height:96px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid rgba(24,24,24,0.08);
  padding:1rem;
}
.tt-partner-logo span{
  font-family:var(--font-mono);
  font-weight:600;
  font-size:0.85rem;
  letter-spacing:0.03em;
  color:var(--graphite);
  text-align:center;
  line-height:1.3;
}
.tt-partner-logo.tt-partner-slot{
  background:transparent;
  border:1px dashed rgba(24,24,24,0.25);
}
.tt-partner-logo.tt-partner-slot span{ color:var(--graphite-light); }

.tt-pillars{ background:var(--bone); }
.tt-pillar{
  background:#fff;
  border:1px solid rgba(24,24,24,0.08);
  border-top:4px solid var(--gold-deep);
  padding:2.5rem 2rem;
  height:100%;
  text-align:center;
}
.tt-pillar-icon{
  width:64px; height:64px;
  border-radius:50%;
  background:var(--charcoal);
  color:var(--gold);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.6rem;
  margin:0 auto 1.5rem;
}
.tt-pillar h3{ font-size:1.25rem; margin-bottom:0.85rem; }
.tt-pillar p{ color:#43484D; font-size:0.96rem; line-height:1.6; }

.tt-partner-cta{ background:var(--charcoal); color:var(--bone); }
.tt-partner-form-box{
  background:var(--charcoal-soft);
  border:1px solid rgba(245,243,238,0.1);
  padding:2.5rem;
}
.tt-partner-form-box label{
  font-family:var(--font-mono);
  font-size:0.72rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--bone-dim);
  margin-bottom:0.4rem;
  display:block;
}
.tt-form-note{
  font-family:var(--font-mono);
  font-size:0.75rem;
  color:var(--graphite-light);
  margin-top:1rem;
}

.tt-hp{
  position:absolute;
  width:1px; height:1px;
  margin:-1px;
  padding:0;
  border:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  clip-path:inset(50%);
  white-space:nowrap;
}


