/* =========================================================
   TRINITY COACHING — MAIN STYLESHEET
   Design tokens are emitted as CSS variables in head
   (see inc/dynamic-css.php) so the admin "Trinity Builder"
   color/typography controls take effect site-wide.
   ========================================================= */

:root {
  --crimson:   #b03020;
  --coral:     #d45030;
  --flame:     #e06818;
  --amber:     #e89208;
  --gold:      #d4a030;
  --gold-lt:   #e8bc50;
  --pearl:     #fefaf4;
  --ivory:     #f9f2e6;
  --parchment: #f2e8d4;
  --blush:     #faf5ec;
  --text:      #1e0e06;
  --text2:     #4a2c18;
  --text3:     #7a5030;
  --text4:     #a07050;
  --font-display: 'Cormorant Garamond', serif;
  --font-body: 'Jost', sans-serif;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }

body {
  background: var(--pearl);
  color: var(--text);
  font-family: var(--font-body);
  overflow-x: hidden;
}

img { max-width:100%; display:block; }
a { color:inherit; }
button { font-family:inherit; }

body::after {
  content:'';
  position:fixed; inset:0;
  background-image:
    repeating-linear-gradient(
      105deg,
      transparent 0px,
      transparent 3px,
      rgba(212,160,48,0.018) 3px,
      rgba(212,160,48,0.018) 4px
    );
  pointer-events:none;
  z-index:9998;
}

/* ─── NAV ─── */
.tc-nav {
  position:fixed; top:0; left:0; right:0; z-index:300;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.6rem 6rem;
  background:rgba(254,250,244,0.92);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(212,160,48,0.2);
  transition: padding 0.4s, box-shadow 0.4s;
}
.tc-nav.scrolled { padding:1rem 6rem; box-shadow:0 4px 30px rgba(176,48,32,0.06); }
.tc-nav-wordmark { display:flex; flex-direction:column; gap:0.05rem; text-decoration:none; }
.tc-nav-wordmark img.tc-logo-img { height:42px; width:auto; display:block; }
.tc-nav-wordmark-main {
  font-family: var(--font-display);
  font-size:1.35rem; font-weight:600; letter-spacing:0.12em; text-transform:uppercase;
  background: linear-gradient(135deg, var(--crimson) 0%, var(--gold) 60%, var(--flame) 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.tc-nav-wordmark-sub { font-size:0.58rem; letter-spacing:0.35em; text-transform:uppercase; color:var(--text4); font-weight:400; }
.tc-nav-links { display:flex; gap:3rem; list-style:none; align-items:center; }
.tc-nav-links a {
  font-size:0.72rem; letter-spacing:0.2em; text-transform:uppercase; font-weight:500;
  color:var(--text3); text-decoration:none; transition:color 0.3s; position:relative;
}
.tc-nav-links a::after {
  content:''; position:absolute; bottom:-3px; left:0; right:0; height:1px;
  background:linear-gradient(90deg, var(--crimson), var(--gold));
  transform:scaleX(0); transform-origin:left; transition:transform 0.3s ease;
}
.tc-nav-links a:hover { color:var(--text); }
.tc-nav-links a:hover::after { transform:scaleX(1); }
.tc-nav-cta {
  padding:0.7rem 2rem !important;
  background:linear-gradient(135deg, var(--crimson), var(--flame));
  color:#fff !important; border-radius:2px !important;
  letter-spacing:0.18em !important; font-weight:600 !important;
  box-shadow:0 4px 20px rgba(176,48,32,0.22);
  transition:box-shadow 0.3s, transform 0.3s;
}
.tc-nav-cta::after { display:none !important; }
.tc-nav-cta:hover { box-shadow:0 8px 32px rgba(176,48,32,0.35) !important; transform:translateY(-1px); }
.tc-nav-toggle { display:none; background:none; border:none; cursor:pointer; padding:0.5rem; }
.tc-nav-toggle span { display:block; width:24px; height:2px; background:var(--text2); margin:5px 0; transition:0.3s; }

/* ─── HERO ─── */
.tc-hero {
  min-height:100vh; display:grid; grid-template-columns:1.05fr 0.95fr;
  position:relative; overflow:hidden; padding-top:7rem;
}
.tc-hero-bg-left { position:absolute; inset:0; background:var(--pearl); clip-path:polygon(0 0, 58% 0, 52% 100%, 0 100%); z-index:0; }
.tc-hero-bg-right { position:absolute; inset:0; background:linear-gradient(145deg, var(--parchment) 0%, var(--ivory) 50%, rgba(232,146,8,0.08) 100%); z-index:0; }
.tc-hero-grid-lines {
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background-image: linear-gradient(rgba(212,160,48,0.07) 1px, transparent 1px), linear-gradient(90deg, rgba(212,160,48,0.07) 1px, transparent 1px);
  background-size:60px 60px;
  mask-image:linear-gradient(135deg, transparent 30%, rgba(0,0,0,0.5) 60%, transparent 90%);
}
.tc-hero-left { position:relative; z-index:10; display:flex; flex-direction:column; justify-content:center; padding:5rem 4rem 5rem 6rem; }
.tc-hero-overline { display:flex; align-items:center; gap:1rem; margin-bottom:2.5rem; opacity:0; animation:tcFadeUp 0.8s ease forwards 0.3s; }
.tc-hero-overline-bar { width:40px; height:1px; background:linear-gradient(90deg, var(--crimson), var(--gold)); }
.tc-hero-overline span { font-size:0.68rem; letter-spacing:0.38em; text-transform:uppercase; color:var(--flame); font-weight:500; }
.tc-hero-h1 {
  font-family: var(--font-display); font-size:clamp(3.2rem, 6vw, 7rem); line-height:0.95;
  font-weight:300; color:var(--text); opacity:0; animation:tcFadeUp 0.9s ease forwards 0.5s;
}
.tc-hero-h1 .word-bold { font-weight:700; }
.tc-hero-h1 .word-italic {
  font-style:italic; font-weight:300;
  background:linear-gradient(135deg, var(--crimson) 0%, var(--gold) 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.tc-hero-h1 .word-outline { -webkit-text-stroke:1.5px var(--flame); color:transparent; font-weight:700; }
.tc-hero-rule { width:80px; height:1px; background:linear-gradient(90deg, var(--crimson), var(--gold-lt), transparent); margin:2.5rem 0; opacity:0; animation:tcFadeUp 0.8s ease forwards 0.8s; }
.tc-hero-desc { font-size:1rem; line-height:1.9; color:var(--text3); font-weight:300; max-width:440px; opacity:0; animation:tcFadeUp 0.8s ease forwards 1s; letter-spacing:0.02em; }
.tc-hero-actions { margin-top:3.5rem; display:flex; gap:1.4rem; align-items:center; flex-wrap:wrap; opacity:0; animation:tcFadeUp 0.8s ease forwards 1.2s; }

.tc-btn-royal {
  display:inline-block; padding:1.1rem 3rem;
  background:linear-gradient(135deg, var(--crimson) 0%, var(--flame) 60%, var(--amber) 100%);
  color:#fff; border:none; border-radius:2px;
  font-family: var(--font-body); font-size:0.72rem; font-weight:600;
  letter-spacing:0.28em; text-transform:uppercase; text-decoration:none; cursor:pointer;
  box-shadow:0 12px 40px rgba(176,48,32,0.3), inset 0 1px 0 rgba(255,255,255,0.15);
  transition:transform 0.35s cubic-bezier(.22,.68,0,1.2), box-shadow 0.35s;
  position:relative; overflow:hidden;
}
.tc-btn-royal::before {
  content:''; position:absolute; top:0; left:-100%; width:100%; height:100%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
  transition:left 0.5s ease;
}
.tc-btn-royal:hover::before { left:100%; }
.tc-btn-royal:hover { transform:translateY(-3px); box-shadow:0 18px 50px rgba(176,48,32,0.38); }

.tc-btn-text {
  display:inline-flex; align-items:center; gap:0.6rem; font-size:0.72rem;
  letter-spacing:0.22em; text-transform:uppercase; color:var(--text2);
  text-decoration:none; font-weight:500; transition:gap 0.3s, color 0.3s;
}
.tc-btn-text::after { content:'→'; transition:transform 0.3s; }
.tc-btn-text:hover { color:var(--flame); gap:0.9rem; }

.tc-hero-right { position:relative; z-index:10; display:flex; align-items:center; justify-content:center; padding:3rem; opacity:0; animation:tcFadeScale 1.2s ease forwards 0.7s; }
.tc-logo-stage { position:relative; width:440px; height:440px; max-width:100%; }
.tc-corner { position:absolute; width:20px; height:20px; }
.tc-corner::before, .tc-corner::after { content:''; position:absolute; background:var(--gold); border-radius:1px; }
.tc-corner::before { width:100%; height:1px; top:0; left:0; }
.tc-corner::after  { width:1px; height:100%; top:0; left:0; }
.tc-corner.tr { top:10px; right:10px; transform:rotate(90deg); }
.tc-corner.bl { bottom:10px; left:10px; transform:rotate(270deg); }
.tc-corner.br { bottom:10px; right:10px; transform:rotate(180deg); }
.tc-corner.tl { top:10px; left:10px; }
.tc-ring-a { position:absolute; inset:20px; border-radius:50%; border:1px solid rgba(212,160,48,0.25); animation:tcSpin 50s linear infinite; }
.tc-ring-b { position:absolute; inset:70px; border-radius:50%; border:1px dashed rgba(176,48,32,0.2); animation:tcSpin 30s linear infinite reverse; }
.tc-ring-c { position:absolute; inset:110px; border-radius:50%; background:radial-gradient(circle, rgba(232,146,8,0.06) 0%, transparent 70%); animation:tcPulseGlow 5s ease-in-out infinite; }
@keyframes tcSpin { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
@keyframes tcPulseGlow { 0%,100%{opacity:0.6; transform:scale(1)} 50%{opacity:1; transform:scale(1.08)} }
.tc-orbit-wrap { position:absolute; inset:0; animation:tcSpin 12s linear infinite; }
.tc-orbit-bead { position:absolute; top:50%; left:50%; width:8px; height:8px; border-radius:50%; margin:-4px 0 0 -4px; }
.tc-ob1 { transform:translateX(190px); background:var(--gold); box-shadow:0 0 12px var(--gold); }
.tc-ob2 { transform:rotate(120deg) translateX(190px); background:var(--coral); box-shadow:0 0 12px var(--coral); }
.tc-ob3 { transform:rotate(240deg) translateX(190px); background:var(--amber); box-shadow:0 0 12px var(--amber); }
.tc-logo-center {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:240px; height:240px;
  filter:drop-shadow(0 16px 50px rgba(176,48,32,0.18)) drop-shadow(0 4px 12px rgba(212,160,48,0.15));
  animation:tcFloatLogo 7s ease-in-out infinite;
}
@keyframes tcFloatLogo {
  0%,100%{transform:translate(-50%,-50%) translateY(0) rotate(0deg)}
  33%{transform:translate(-50%,-50%) translateY(-10px) rotate(1deg)}
  66%{transform:translate(-50%,-50%) translateY(-5px) rotate(-0.5deg)}
}
@keyframes tcFadeUp { from{opacity:0; transform:translateY(30px)} to{opacity:1; transform:translateY(0)} }
@keyframes tcFadeScale { from{opacity:0; transform:scale(0.93)} to{opacity:1; transform:scale(1)} }

.tc-scroll-indicator { position:absolute; bottom:3rem; left:6rem; z-index:10; display:flex; align-items:center; gap:1rem; opacity:0; animation:tcFadeUp 0.8s ease forwards 1.6s; }
.tc-scroll-line { width:40px; height:1px; background:linear-gradient(90deg, var(--amber), transparent); animation:tcPulseLine 2s ease-in-out infinite; }
@keyframes tcPulseLine { 0%,100%{width:40px; opacity:0.5} 50%{width:60px; opacity:1} }
.tc-scroll-text { font-size:0.6rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--text4); }

/* ─── MARQUEE ─── */
.tc-marquee-wrap { border-top:1px solid rgba(212,160,48,0.2); border-bottom:1px solid rgba(212,160,48,0.2); background:var(--ivory); padding:0.85rem 0; overflow:hidden; white-space:nowrap; position:relative; }
.tc-marquee-wrap::before, .tc-marquee-wrap::after { content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none; }
.tc-marquee-wrap::before { left:0; background:linear-gradient(90deg, var(--ivory), transparent); }
.tc-marquee-wrap::after  { right:0; background:linear-gradient(-90deg, var(--ivory), transparent); }
.tc-marquee-track { display:inline-flex; animation:tcMarquee 28s linear infinite; }
.tc-marquee-track span { font-size:0.68rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--text3); font-weight:500; padding:0 3rem; }
.tc-marquee-track .dot { color:var(--gold); padding:0; font-size:0.5rem; vertical-align:middle; }
@keyframes tcMarquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ─── GENERIC SECTION ─── */
.tc-section { padding:9rem 6rem; position:relative; }
.tc-max-w { max-width:1240px; margin:0 auto; }
.tc-overline { display:inline-flex; align-items:center; gap:1rem; font-size:0.65rem; letter-spacing:0.38em; text-transform:uppercase; color:var(--flame); font-weight:500; margin-bottom:1.5rem; }
.tc-overline-bar { width:30px; height:1px; background:linear-gradient(90deg, var(--crimson), var(--gold)); }
.tc-display-title { font-family: var(--font-display); font-size:clamp(2.6rem, 4.5vw, 5rem); line-height:1.04; font-weight:300; color:var(--text); max-width:780px; }
.tc-display-title strong { font-weight:700; }
.tc-display-title em { font-style:italic; background:linear-gradient(135deg, var(--crimson), var(--gold)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

/* ─── ABOUT ─── */
.tc-about { background:var(--ivory); overflow:hidden; }
.tc-about-watermark {
  position:absolute; right:-2rem; top:50%; transform:translateY(-50%);
  font-family: var(--font-display); font-size:16rem; font-weight:700;
  color:rgba(212,160,48,0.05); letter-spacing:-0.05em; pointer-events:none; line-height:1; white-space:nowrap;
}
.tc-about-grid { display:grid; grid-template-columns:1.1fr 0.9fr; gap:8rem; align-items:center; }
.tc-about-body { margin-top:2.8rem; font-size:1.05rem; line-height:1.92; color:var(--text3); font-weight:300; letter-spacing:0.01em; }
.tc-about-body p+p { margin-top:1.4rem; }
.tc-about-body strong { color:var(--text2); font-weight:500; }

.tc-breath-stage { display:flex; flex-direction:column; align-items:center; gap:2rem; position:relative; }
.tc-breath-frame { width:280px; height:280px; border-radius:50%; position:relative; display:flex; align-items:center; justify-content:center; }
.tc-breath-frame::before { content:''; position:absolute; inset:-12px; border-radius:50%; border:1px solid rgba(212,160,48,0.25); animation:tcSpin 20s linear infinite; }
.tc-breath-frame::after { content:''; position:absolute; inset:-24px; border-radius:50%; border:1px dashed rgba(176,48,32,0.12); animation:tcSpin 35s linear infinite reverse; }
.tc-breath-orb {
  width:200px; height:200px; border-radius:50%;
  background: radial-gradient(circle at 35% 28%, var(--gold-lt) 0%, var(--amber) 18%, var(--flame) 42%, var(--coral) 65%, var(--crimson) 85%, #6b1808 100%);
  box-shadow:0 0 0 0 rgba(232,146,8,0.3), 0 24px 70px rgba(176,48,32,0.22), inset 0 -8px 20px rgba(0,0,0,0.15);
  animation:tcOrbRoyal 6s ease-in-out infinite;
}
@keyframes tcOrbRoyal {
  0%,100%{transform:scale(1); box-shadow:0 0 0 0 rgba(232,146,8,0.3), 0 24px 70px rgba(176,48,32,0.22), inset 0 -8px 20px rgba(0,0,0,0.15)}
  50%{transform:scale(1.1); box-shadow:0 0 0 25px rgba(232,146,8,0), 0 32px 90px rgba(176,48,32,0.3), inset 0 -8px 20px rgba(0,0,0,0.15)}
}
.tc-breath-caption { font-size:0.65rem; letter-spacing:0.28em; text-transform:uppercase; color:var(--text4); animation:tcCaptionFade 6s ease-in-out infinite; }
@keyframes tcCaptionFade { 0%,100%{opacity:0.4} 50%{opacity:0.9} }

/* ─── SPEAKER / PHOTO SECTION ─── */
.tc-speaker { background:var(--pearl); }
.tc-speaker-grid { display:grid; grid-template-columns:0.85fr 1.15fr; gap:6rem; align-items:center; }
.tc-speaker-photo-wrap { position:relative; }
.tc-speaker-photo-frame {
  position:relative; border-radius:6px; overflow:hidden;
  box-shadow:0 40px 90px rgba(176,48,32,0.18), 0 10px 30px rgba(212,160,48,0.12);
}
.tc-speaker-photo-frame img { width:100%; height:auto; display:block; filter:saturate(1.05) contrast(1.02); }
.tc-speaker-photo-frame::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(176,48,32,0.05) 0%, transparent 30%, transparent 70%, rgba(30,14,6,0.25) 100%);
  pointer-events:none;
}
.tc-speaker-frame-deco {
  position:absolute; inset:-14px; border:1px solid rgba(212,160,48,0.35);
  border-radius:8px; pointer-events:none; z-index:-1;
}
.tc-speaker-badge {
  position:absolute; bottom:-28px; left:-28px;
  width:120px; height:120px; border-radius:50%;
  background:linear-gradient(135deg, var(--crimson), var(--flame), var(--amber));
  display:flex; align-items:center; justify-content:center; text-align:center;
  box-shadow:0 16px 40px rgba(176,48,32,0.35);
  animation:tcFloatLogo 8s ease-in-out infinite;
}
.tc-speaker-badge span {
  color:#fff; font-family: var(--font-display); font-size:0.62rem;
  letter-spacing:0.18em; text-transform:uppercase; line-height:1.5; font-weight:600;
}
.tc-speaker-copy-title { font-family: var(--font-display); font-size:clamp(2rem,3vw,2.8rem); font-weight:700; color:var(--text); margin-bottom:1.2rem; }
.tc-speaker-copy-title em { font-style:italic; color:var(--crimson); font-weight:300; }
.tc-speaker-roles { display:flex; flex-wrap:wrap; gap:0.7rem; margin-bottom:2rem; }
.tc-role-pill {
  font-size:0.68rem; letter-spacing:0.12em; text-transform:uppercase; font-weight:500;
  padding:0.5rem 1.1rem; border:1px solid rgba(212,160,48,0.3); border-radius:100px;
  color:var(--text3); background:var(--ivory);
}
.tc-speaker-copy-body { font-size:1.02rem; line-height:1.9; color:var(--text3); font-weight:300; }
.tc-speaker-copy-body p+p { margin-top:1.2rem; }
.tc-speaker-copy-body strong { color:var(--text2); font-weight:500; }

/* ─── DIENSTEN / CARDS ─── */
.tc-diensten { background:var(--pearl); }
.tc-cards-trio { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; margin-top:5rem; }
.tc-card {
  background:var(--ivory); border:1px solid rgba(212,160,48,0.15); border-radius:4px;
  padding:3.5rem 2.8rem; position:relative; overflow:hidden;
  transition:transform 0.45s cubic-bezier(.22,.68,0,1.2), box-shadow 0.45s, border-color 0.4s;
}
.tc-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, var(--crimson), var(--gold-lt), transparent);
  transform:scaleX(0); transform-origin:left; transition:transform 0.5s ease;
}
.tc-card:hover { transform:translateY(-10px); border-color:rgba(212,160,48,0.3); box-shadow:0 30px 70px rgba(176,48,32,0.1), 0 8px 20px rgba(212,160,48,0.08); }
.tc-card:hover::before { transform:scaleX(1); }
.tc-card-ambient { position:absolute; top:-80px; right:-80px; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle, rgba(232,146,8,0.08), transparent 70%); transition:opacity 0.5s; opacity:0; }
.tc-card:hover .tc-card-ambient { opacity:1; }
.tc-card-icon {
  width:58px; height:58px; border-radius:3px; background:linear-gradient(135deg, var(--crimson), var(--flame));
  display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin-bottom:2.2rem;
  box-shadow:0 10px 30px rgba(176,48,32,0.28); position:relative;
}
.tc-card-icon::after { content:''; position:absolute; inset:-4px; border:1px solid rgba(212,160,48,0.25); border-radius:5px; }
.tc-card-title { font-family: var(--font-display); font-size:1.6rem; font-weight:700; color:var(--text); margin-bottom:0.8rem; letter-spacing:0.01em; }
.tc-card-body { font-size:0.88rem; line-height:1.82; color:var(--text3); font-weight:300; letter-spacing:0.01em; }
.tc-card-num { position:absolute; bottom:2rem; right:2.5rem; font-family: var(--font-display); font-size:5rem; font-weight:700; color:rgba(212,160,48,0.06); line-height:1; }

/* ─── ZEN QUOTE ─── */
.tc-zen { background:var(--parchment); text-align:center; overflow:hidden; }
.tc-zen::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 55% 55% at 50% 50%, rgba(212,160,48,0.1), transparent); pointer-events:none; }
.tc-zen::after {
  content:'"'; position:absolute; top:-6rem; left:50%; transform:translateX(-50%);
  font-family: var(--font-display); font-size:32rem; line-height:1; color:rgba(176,48,32,0.04); pointer-events:none;
}
.tc-zen-inner { position:relative; z-index:2; max-width:900px; margin:0 auto; }
.tc-zen-rule { width:80px; height:1px; background:linear-gradient(90deg, transparent, var(--gold), transparent); margin:0 auto 3rem; }
.tc-zen-quote { font-family: var(--font-display); font-size:clamp(1.8rem, 3.8vw, 3.5rem); line-height:1.42; font-style:italic; font-weight:300; color:var(--text); letter-spacing:0.01em; }
.tc-zen-quote strong { font-style:normal; font-weight:700; color:var(--crimson); }
.tc-zen-rule-bot { width:40px; height:1px; background:linear-gradient(90deg, transparent, var(--gold), transparent); margin:3rem auto 1.5rem; }
.tc-zen-attr { font-size:0.65rem; letter-spacing:0.38em; text-transform:uppercase; color:var(--flame); font-weight:500; }

/* ─── STATS ─── */
.tc-stats-section { background:var(--pearl); padding:0 6rem 6rem; }
.tc-stats-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid rgba(212,160,48,0.18); border-radius:4px; overflow:hidden; max-width:1240px; margin:0 auto; background:var(--ivory); }
.tc-stat-item { padding:4.5rem 2rem; text-align:center; border-right:1px solid rgba(212,160,48,0.14); transition:background 0.35s; position:relative; }
.tc-stat-item:last-child { border-right:none; }
.tc-stat-item::before { content:''; position:absolute; top:0; left:50%; transform:translateX(-50%); width:0; height:2px; background:linear-gradient(90deg, var(--crimson), var(--gold)); transition:width 0.4s ease; }
.tc-stat-item:hover { background:rgba(212,160,48,0.04); }
.tc-stat-item:hover::before { width:100%; }
.tc-stat-num { font-family: var(--font-display); font-size:4.2rem; font-weight:700; line-height:1; background:linear-gradient(135deg, var(--crimson) 0%, var(--amber) 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.tc-stat-label { margin-top:0.6rem; font-size:0.68rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--text4); }

/* ─── ZONDAG / EVENT ─── */
.tc-zondag { background:var(--ivory); }
.tc-zondag-layout { display:grid; grid-template-columns:1fr 1fr; gap:7rem; align-items:center; margin-top:4.5rem; }
.tc-zondag-copy { font-size:1.02rem; line-height:1.92; color:var(--text3); font-weight:300; }
.tc-zondag-copy p+p { margin-top:1.3rem; }
.tc-zondag-copy strong { color:var(--text2); font-weight:500; }
.tc-zondag-copy .tc-btn-royal { margin-top:3rem; display:inline-block; }
.tc-cal-wrap { display:flex; align-items:center; justify-content:center; }
.tc-cal-outer-frame { width:300px; height:300px; border-radius:50%; position:relative; display:flex; align-items:center; justify-content:center; }
.tc-cal-outer-frame::before { content:''; position:absolute; inset:0; border-radius:50%; border:1px solid rgba(212,160,48,0.25); animation:tcSpin 40s linear infinite; }
.tc-cal-outer-frame::after { content:''; position:absolute; inset:16px; border-radius:50%; border:1px dashed rgba(176,48,32,0.14); animation:tcSpin 25s linear infinite reverse; }
.tc-cal-face {
  width:185px; height:185px; border-radius:50%;
  background:linear-gradient(140deg, var(--coral) 0%, var(--flame) 40%, var(--amber) 75%, var(--gold) 100%);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  box-shadow:0 16px 60px rgba(176,48,32,0.28), inset 0 2px 8px rgba(255,255,255,0.15);
  animation:tcSpin 40s linear infinite reverse; position:relative; z-index:2;
}
.tc-cal-face-day { font-family: var(--font-display); font-size:3rem; font-weight:700; color:#fff; line-height:1; text-shadow:0 2px 12px rgba(0,0,0,0.2); }
.tc-cal-face-sub { font-size:0.55rem; letter-spacing:0.22em; text-transform:uppercase; color:rgba(255,255,255,0.8); margin-top:0.35rem; }
.tc-cal-apex { position:absolute; width:14px; height:14px; border-radius:50%; background:var(--gold-lt); top:-7px; left:50%; transform:translateX(-50%); box-shadow:0 0 16px var(--gold-lt), 0 0 4px var(--gold); z-index:3; }

/* ─── CONTACT ─── */
.tc-contact { background:var(--pearl); text-align:center; overflow:hidden; }
.tc-contact::before { content:''; position:absolute; bottom:-300px; left:50%; transform:translateX(-50%); width:800px; height:600px; background:radial-gradient(ellipse, rgba(224,112,32,0.05), transparent 70%); pointer-events:none; }
.tc-contact-inner { max-width:580px; margin:0 auto; position:relative; z-index:2; }
.tc-contact-inner .tc-display-title { margin:0 auto 1.5rem; }
.tc-contact-sub { font-size:0.95rem; line-height:1.85; color:var(--text3); font-weight:300; margin-bottom:4rem; letter-spacing:0.01em; }
.tc-form-luxury { display:flex; flex-direction:column; gap:1.2rem; text-align:left; }
.tc-form-luxury input, .tc-form-luxury textarea {
  background:var(--ivory); border:1px solid rgba(212,160,48,0.2); border-radius:2px; padding:1.1rem 1.6rem;
  color:var(--text); font-family: var(--font-body); font-size:0.92rem; font-weight:300; letter-spacing:0.03em;
  outline:none; transition:border-color 0.3s, box-shadow 0.3s; width:100%;
}
.tc-form-luxury input::placeholder, .tc-form-luxury textarea::placeholder { color:var(--text4); opacity:0.7; }
.tc-form-luxury input:focus, .tc-form-luxury textarea:focus { border-color:var(--amber); box-shadow:0 0 0 3px rgba(232,146,8,0.08); }
.tc-form-luxury textarea { height:140px; resize:none; }
.tc-form-luxury .tc-btn-royal { width:100%; text-align:center; justify-content:center; border:none; cursor:pointer; }
.tc-form-msg { padding:1rem 1.4rem; border-radius:4px; font-size:0.85rem; margin-bottom:0.6rem; }
.tc-form-msg.success { background:rgba(50,140,60,0.1); color:#246030; border:1px solid rgba(50,140,60,0.25); }
.tc-form-msg.error { background:rgba(176,48,32,0.08); color:var(--crimson); border:1px solid rgba(176,48,32,0.25); }

/* ─── FOOTER ─── */
.tc-footer { background:var(--ivory); border-top:1px solid rgba(212,160,48,0.18); padding:3rem 6rem; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1.5rem; }
.tc-footer-brand .mark { font-family: var(--font-display); font-size:1.2rem; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; background:linear-gradient(135deg, var(--crimson), var(--gold), var(--flame)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.tc-footer-brand .sub { font-size:0.6rem; letter-spacing:0.28em; text-transform:uppercase; color:var(--text4); margin-top:0.2rem; }
.tc-footer-nav { display:flex; gap:2.5rem; list-style:none; }
.tc-footer-nav a { font-size:0.68rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--text4); text-decoration:none; transition:color 0.3s; font-weight:400; }
.tc-footer-nav a:hover { color:var(--flame); }
.tc-footer-copy { font-size:0.62rem; letter-spacing:0.12em; color:var(--text4); opacity:0.6; }

/* ─── SCROLL REVEAL ─── */
.tc-reveal { opacity:0; transform:translateY(40px); transition:opacity 0.8s ease, transform 0.8s ease; }
.tc-reveal.in { opacity:1; transform:none; }
.tc-d1{transition-delay:0.1s} .tc-d2{transition-delay:0.22s} .tc-d3{transition-delay:0.34s} .tc-d4{transition-delay:0.46s}

/* ─── GENERIC PAGE / BLOG (for non-builder pages) ─── */
.tc-page-content { max-width:800px; margin:9rem auto; padding:0 2rem; font-size:1.02rem; line-height:1.9; color:var(--text3); }
.tc-page-content h1, .tc-page-content h2, .tc-page-content h3 { font-family: var(--font-display); color:var(--text); margin:1.6rem 0 1rem; }
.tc-page-content h1 { font-size:3rem; }
.tc-page-content h2 { font-size:2.2rem; }
.tc-page-content p { margin-bottom:1.2rem; }
.tc-page-content a { color:var(--crimson); text-decoration:underline; }

/* ─── RESPONSIVE ─── */
@media(max-width:960px){
  .tc-nav{padding:1.2rem 1.5rem;}
  .tc-nav-links{ position:fixed; top:0; right:-100%; width:80%; max-width:320px; height:100vh; background:var(--pearl); flex-direction:column; justify-content:center; align-items:flex-start; gap:2rem; padding:2rem; transition:right 0.4s ease; box-shadow:-10px 0 40px rgba(0,0,0,0.1); }
  .tc-nav-links.open{ right:0; }
  .tc-nav-toggle{ display:block; }
  .tc-hero{grid-template-columns:1fr; padding:8rem 1.5rem 4rem;}
  .tc-hero-right{display:none;}
  .tc-hero-left{padding:2rem 1.5rem;}
  .tc-section{padding:5rem 1.5rem;}
  .tc-about-grid,.tc-zondag-layout,.tc-cards-trio,.tc-speaker-grid{grid-template-columns:1fr; gap:3rem;}
  .tc-speaker-grid{ gap:5rem; }
  .tc-stats-grid{grid-template-columns:repeat(2,1fr);}
  .tc-footer{flex-direction:column; gap:1.5rem; padding:2rem 1.5rem; text-align:center; justify-content:center;}
  .tc-footer-nav{justify-content:center;}
  .tc-speaker-badge{ width:90px; height:90px; bottom:-18px; left:-18px; }
}
