/* ============================================================
   TalkingAfter v2 — blocks.css
   Append to enhance.css. Two new UI blocks, both prefixed .ta-
   so they never collide with existing site rules:
     1) .ta-timeline  — center-spine vertical milestone timeline
     2) .ta-worksplit — two matched white cards (Coaching / Mentoring)
        + .ta-narr    — full-width narrative card below them
   Brand tokens reused from :root in enhance.css
   (--vg #1fa06a, --vg-d #15794f, --vgold #f5b120, --vcream #fbf8f1).
   ============================================================ */

/* shared local tokens (safe fallbacks if :root not present) */
.ta-timeline, .ta-worksplit, .ta-narr{
  --ta-emerald:#1fa06a; --ta-emerald-d:#15794f;
  --ta-deep:#12482f; --ta-deep-2:#12613e;
  --ta-gold:#f5b120; --ta-gold-2:#f9c24c;
  --ta-body:#47584f; --ta-cream:#fbf8f1;
  --ta-card:0 26px 52px -22px rgba(5,45,28,.55), 0 6px 16px rgba(5,45,28,.16);
  --ta-card-hi:0 38px 70px -20px rgba(5,45,28,.6), 0 12px 26px rgba(5,45,28,.22);
  --ta-ease:cubic-bezier(.2,.8,.25,1);
}

/* ============================================================
   1. TIMELINE — NATIVE Elementor (client-editable), left-spine
   ============================================================ */
.ta-tl-head{ text-align:center; max-width:760px; margin:0 auto clamp(28px,4vw,44px) !important; }
.ta-tl-eyebrow .elementor-heading-title{ font-weight:800; letter-spacing:.14em; text-transform:uppercase; font-size:.72rem; color:#15794f; }
.ta-tl-h .elementor-heading-title{ font-family:'Playfair Display',Georgia,serif; font-weight:800; color:#12482f; font-size:clamp(1.8rem,1.2rem+2.2vw,3rem); line-height:1.18; }
.ta-tl-intro .elementor-widget-container{ color:#47584f !important; font-size:clamp(1rem,.94rem+.35vw,1.16rem); line-height:1.7; }
.ta-tl-rail{ position:relative; max-width:720px; margin:0 auto !important; padding-left:52px !important; }
.ta-tl-rail::before{ content:""; position:absolute; left:19px; top:10px; bottom:10px; width:3px; border-radius:2px; background:linear-gradient(180deg,#1fa06a,#15794f); }
.ta-tl-item{ position:relative; background:#fff !important; border-radius:16px !important; padding:18px 24px !important; margin-bottom:20px !important;
  border:1px solid rgba(31,160,106,.12) !important; box-shadow:0 18px 40px -26px rgba(5,45,28,.5) !important; transition:transform .25s; }
.ta-tl-item:hover{ transform:translateX(3px); }
.ta-tl-item::before{ content:""; position:absolute; left:-40px; top:24px; width:15px; height:15px; border-radius:50%; background:#1fa06a; border:3px solid #fbf8f1; box-shadow:0 0 0 3px rgba(31,160,106,.22); z-index:2; }
.ta-tl-year{ align-self:flex-start; }
.ta-tl-year .elementor-heading-title{ display:inline-block; font-family:'Playfair Display',Georgia,serif; font-weight:800; font-size:.9rem; color:#3a2a05; background:linear-gradient(150deg,#f9c24c,#f5b120); padding:4px 13px; border-radius:999px; margin-bottom:8px; }
.ta-tl-title .elementor-heading-title{ font-family:'Playfair Display',Georgia,serif; font-weight:800; color:#12482f; font-size:1.18rem; line-height:1.25; margin-bottom:4px; }
.ta-tl-desc .elementor-widget-container{ color:#47584f !important; font-size:.96rem; line-height:1.55; }
.ta-tl-item.is-crown{ background:linear-gradient(180deg,#ffffff,#f4fbf7) !important; border-color:rgba(245,177,32,.5) !important; }
.ta-tl-item.is-crown::before{ background:#f5b120; box-shadow:0 0 0 3px rgba(245,177,32,.3); }
.ta-tl-cap .elementor-widget-container{ text-align:center; font-family:'Playfair Display',Georgia,serif; font-style:italic; color:#15794f !important; font-size:clamp(1.02rem,.95rem+.5vw,1.28rem); margin-top:clamp(26px,3vw,40px); }

/* ============================================================
   2. WORKSPLIT — NATIVE Elementor (client-editable): Coaching/Mentoring cards + narrative
   ============================================================ */
.ta-worksplit-head{ text-align:center; max-width:720px; margin:0 auto clamp(24px,4vw,40px) !important; }
.ta-ws-lead .elementor-widget-container{ color:#15794f !important; font-weight:700; }
.ta-ws-title .elementor-heading-title{ font-family:'Playfair Display',Georgia,serif; font-weight:800; color:#12482f; font-size:clamp(1.7rem,1.2rem+2vw,2.7rem); }
.ta-ws-sub .elementor-widget-container{ color:#47584f !important; }
.ta-worksplit-grid{ max-width:1080px; margin:0 auto !important; align-items:stretch; }
.ta-work-card{ flex:1 1 44% !important; border-radius:22px !important; border:1px solid rgba(31,160,106,.12) !important;
  box-shadow:0 26px 52px -22px rgba(5,45,28,.55), 0 6px 16px rgba(5,45,28,.16) !important; position:relative; overflow:hidden; }
.ta-work-card::after{ content:""; position:absolute; left:0; top:0; height:4px; width:100%; background:linear-gradient(90deg,#1fa06a,#f5b120); opacity:.9; }
.ta-work-label{ align-self:flex-start; }
.ta-work-label .elementor-widget-container{ display:inline-block; font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  color:#3a2a05 !important; background:linear-gradient(150deg,#f9c24c,#f5b120); padding:6px 13px; border-radius:999px; margin-bottom:6px; }
.ta-work-name .elementor-heading-title{ font-family:'Playfair Display',Georgia,serif; font-weight:800; color:#12482f; font-size:clamp(1.3rem,1.05rem+.7vw,1.6rem); }
.ta-work-intro .elementor-widget-container{ color:#47584f !important; font-size:1rem; line-height:1.7; }
.ta-work-list .elementor-icon-list-item{ align-items:flex-start; margin-bottom:8px; }
.ta-work-list .elementor-icon-list-icon i,.ta-work-list .elementor-icon-list-icon svg{ color:#1fa06a; fill:#1fa06a; }
.ta-work-list .elementor-icon-list-text{ color:#47584f; font-size:.98rem; line-height:1.5; }
.ta-narr-card{ max-width:1080px; margin:clamp(20px,3vw,32px) auto 0 !important; border-radius:22px !important; position:relative;
  box-shadow:0 26px 52px -22px rgba(5,45,28,.55) !important; }
.ta-narr-h .elementor-heading-title{ font-family:'Playfair Display',Georgia,serif; font-weight:800; color:#fff !important; font-size:clamp(1.4rem,1.1rem+1.1vw,2rem); }
.ta-narr-t .elementor-widget-container{ color:#eafff5 !important; font-size:clamp(1rem,.95rem+.3vw,1.14rem); line-height:1.78; }
.ta-narr-sig .elementor-widget-container{ color:#f9c24c !important; font-style:italic; font-family:'Playfair Display',Georgia,serif; font-size:1.1rem; }
@media (max-width:767px){ .ta-work-card{ flex-basis:100% !important; } }

/* ============================================================
   WHRDE FEATURED CREDENTIAL — NATIVE Elementor widgets (client-editable)
   ============================================================ */
.ta-cred-head{ text-align:center; margin:0 auto clamp(20px,3vw,34px) !important; }
.ta-cred-eyebrow .elementor-heading-title{ font-family:'Nunito Sans',system-ui,sans-serif; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase; font-size:.72rem; color:#1fa06a; }
.ta-cred-title .elementor-heading-title{ font-family:'Nunito Sans',system-ui,sans-serif; font-weight:800;
  font-size:clamp(1.5rem,1.15rem+1.5vw,2.2rem); line-height:1.2; color:#12482f; }
.ta-cred-card{ border-radius:16px !important; box-shadow:0 20px 46px -28px rgba(5,45,28,.5) !important;
  max-width:1040px; margin:0 auto; flex-wrap:wrap; }
.ta-cred-img{ flex:0 0 33% !important; max-width:33%; }
.ta-cred-img img{ display:block; width:100%; border-radius:6px; background:#fff; padding:7px;
  box-shadow:0 10px 30px -14px rgba(0,0,0,.4); }
.ta-cred-textcol{ flex:1 1 52% !important; }
.ta-cred-kick .elementor-heading-title{ font-family:'Nunito Sans',sans-serif; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; font-size:.72rem; color:#f9c24c; }
.ta-cred-name .elementor-heading-title{ font-family:'Nunito Sans',sans-serif; font-weight:800;
  font-size:clamp(1.4rem,1.05rem+1.4vw,2rem); line-height:1.15; color:#fff !important; margin:0 0 .35em; }
.ta-cred-issuer, .ta-cred-issuer p{ color:#a9dcc4 !important; font-weight:600; font-size:.95rem; margin:0 0 1em; }
.ta-cred-issuer b{ color:#f9c24c !important; }
.ta-cred-desc, .ta-cred-desc p{ color:#cfeadd !important; font-size:1rem; line-height:1.75; margin:0 0 1.1em; }
.ta-cred-desc b{ color:#fff !important; }
.ta-cred-badges, .ta-cred-badges p{ color:#bff0d7 !important; font-weight:700; font-size:.82rem; line-height:1.9; margin:0 0 1.2em; }
.ta-cred-btn .elementor-button{ background:#f5b120 !important; color:#3a2a05 !important; font-weight:800;
  border-radius:8px; padding:12px 26px; box-shadow:none; }
.ta-cred-btn .elementor-button:hover{ background:#f9c24c !important; }
@media (max-width:767px){
  .ta-cred-card{ flex-direction:column !important; }
  .ta-cred-img{ flex-basis:auto !important; max-width:320px; margin:0 auto; }
  .ta-cred-textcol{ flex-basis:auto !important; }
}

/* Videos page — YouTube caption legibility (beat v2 white-text !important) */
.ta-ytcap, .ta-ytcap p, .ta-ytcap *{ color:#3d4f45 !important; }

/* ============================================================
   GALLERY — hover lift/zoom + full-image LIGHTBOX
   Frame = the .ta-gal widget wrapper (clips the zoom). Brand:
   emerald #1fa06a · deep #12482f · gold #f5b120 · cream #fbf8f1
   ============================================================ */
.ta-gal{
  position:relative; cursor:zoom-in;
  border-radius:18px; overflow:hidden;
  transition:transform .35s cubic-bezier(.2,.8,.25,1),
             box-shadow .35s cubic-bezier(.2,.8,.25,1);
}
.ta-gal img{
  display:block;
  transition:transform .55s cubic-bezier(.2,.8,.25,1);
  will-change:transform; backface-visibility:hidden;
}
.ta-gal:hover, .ta-gal:focus-within{
  transform:translateY(-4px);
  box-shadow:0 22px 42px rgba(18,72,47,.30) !important;
}
.ta-gal:hover img, .ta-gal:focus-within img{ transform:scale(1.06); }
/* soft green gradient veil that fades up from the bottom */
.ta-gal::before{
  content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(180deg, rgba(18,72,47,0) 45%, rgba(18,72,47,.48) 100%);
  opacity:0; transition:opacity .35s ease;
}
/* zoom-in chip, bottom-right */
.ta-gal::after{
  content:"\2922"; /* ⤢ */
  position:absolute; z-index:3; right:12px; bottom:12px;
  width:38px; height:38px; box-sizing:border-box;
  display:flex; align-items:center; justify-content:center;
  font-size:19px; line-height:1; color:#12482f; pointer-events:none;
  background:rgba(251,248,241,.94); border-radius:50%;
  box-shadow:0 6px 16px rgba(18,72,47,.32), 0 0 0 2px rgba(245,177,32,.55);
  opacity:0; transform:translateY(7px) scale(.9);
  transition:opacity .35s ease, transform .35s cubic-bezier(.2,.8,.25,1);
}
.ta-gal:hover::before, .ta-gal:focus-within::before{ opacity:1; }
.ta-gal:hover::after, .ta-gal:focus-within::after{
  opacity:1; transform:translateY(0) scale(1);
}

/* ---- Lightbox overlay (all classes prefixed .ta-lb-) ---- */
.ta-lb-lock{ overflow:hidden !important; }
.ta-lb{
  position:fixed; inset:0; z-index:100000;
  display:flex; align-items:center; justify-content:center;
  padding:clamp(12px,4vw,48px);
  background:rgba(9,40,26,.84);
  -webkit-backdrop-filter:blur(9px); backdrop-filter:blur(9px);
  opacity:0; transition:opacity .3s ease;
  font-family:'Nunito Sans',system-ui,sans-serif;
  -webkit-tap-highlight-color:transparent;
}
.ta-lb.ta-lb-in{ opacity:1; }
.ta-lb-stage{
  position:relative; max-width:min(94vw,1400px); max-height:82vh;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
}
.ta-lb-img{
  max-width:100%; max-height:82vh; width:auto; height:auto;
  object-fit:contain; display:block;
  border-radius:8px; background:#0d2b1c;
  box-shadow:0 30px 80px rgba(0,0,0,.55);
  transform:scale(.9); opacity:0;
  transition:transform .40s cubic-bezier(.2,.9,.25,1.18), opacity .3s ease;
}
.ta-lb.ta-lb-in .ta-lb-img{ transform:scale(1); opacity:1; }
.ta-lb.ta-lb-closing .ta-lb-img{ transform:scale(.92); opacity:0; }
/* caption + counter under the image */
.ta-lb-cap{
  max-width:min(94vw,1400px); text-align:center; color:#eafff5;
  padding:14px 8px 0; pointer-events:none;
}
.ta-lb-caption{ display:block; font-size:.98rem; line-height:1.45; }
.ta-lb-caption:empty{ display:none; }
.ta-lb-count{
  display:inline-block; margin-top:6px; font-size:.78rem; font-weight:800;
  letter-spacing:.1em; color:#a9dcc4;
}
/* controls */
.ta-lb-btn{
  position:absolute; z-index:2; border:0; cursor:pointer; color:#fff;
  background:rgba(251,248,241,.14);
  -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center;
  font-family:system-ui,sans-serif; line-height:1;
  transition:background .2s ease, transform .2s ease;
}
.ta-lb-btn:hover{ background:#1fa06a; }
.ta-lb-btn:focus-visible{ outline:2px solid #f5b120; outline-offset:2px; }
.ta-lb-close{
  top:14px; right:14px; width:44px; height:44px;
  border-radius:50%; font-size:24px; padding-bottom:2px;
}
.ta-lb-close:hover{ transform:scale(1.07); }
.ta-lb-close:active{ transform:scale(.95); }
.ta-lb-nav{
  top:50%; transform:translateY(-50%);
  width:52px; height:52px; border-radius:50%; font-size:30px; padding-bottom:4px;
}
.ta-lb-nav:hover{ transform:translateY(-50%) scale(1.07); }
.ta-lb-nav:active{ transform:translateY(-50%) scale(.95); }
.ta-lb-prev{ left:14px; }
.ta-lb-next{ right:14px; }
@media (max-width:600px){
  .ta-lb-nav{ width:44px; height:44px; font-size:26px; }
  .ta-lb-prev{ left:8px; } .ta-lb-next{ right:8px; }
  .ta-lb-close{ top:10px; right:10px; }
}

/* ---- Reduced motion: keep affordances, drop movement ---- */
@media (prefers-reduced-motion:reduce){
  .ta-gal, .ta-gal img, .ta-gal::before, .ta-gal::after{ transition:none !important; }
  .ta-gal:hover, .ta-gal:focus-within{ transform:none !important; }
  .ta-gal:hover img, .ta-gal:focus-within img{ transform:none !important; }
  .ta-lb, .ta-lb-img{ transition:opacity .01s linear !important; }
  .ta-lb-img{ transform:none !important; }
  .ta-lb.ta-lb-in .ta-lb-img{ transform:none !important; }
}

/* Videos page — heading legibility on cream (beat v2 white-heading !important) */
.ta-ythead, .ta-ythead *{ color:#12482f !important; }

/* Video cards (Reels / YouTube / Programmes) — reel-style linked thumbnail + play overlay */
.ta-vidcard a{ position:relative; display:block; overflow:hidden; border-radius:18px;
  box-shadow:0 16px 38px -22px rgba(5,45,28,.5); transition:transform .3s cubic-bezier(.2,.8,.25,1), box-shadow .3s; }
.ta-vidcard img{ display:block; width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:18px;
  transition:transform .4s cubic-bezier(.2,.8,.25,1); }
.ta-vidcard a::before{ content:""; position:absolute; inset:0; border-radius:18px; pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(5,30,20,.30)); }
.ta-vidcard a::after{ content:""; position:absolute; left:50%; top:50%; width:60px; height:60px; transform:translate(-50%,-50%);
  border-radius:50%; box-shadow:0 10px 24px rgba(0,0,0,.4); transition:transform .25s, background-color .25s;
  background:rgba(18,72,47,.80) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E") no-repeat center/24px; }
.ta-vidcard a:hover{ transform:translateY(-5px); box-shadow:0 30px 56px -22px rgba(5,45,28,.6); }
.ta-vidcard a:hover img{ transform:scale(1.05); }
.ta-vidcard a:hover::after{ transform:translate(-50%,-50%) scale(1.1); background-color:#f5b120; }
@media (prefers-reduced-motion:reduce){ .ta-vidcard a,.ta-vidcard img,.ta-vidcard a::after{ transition:none!important } .ta-vidcard a:hover,.ta-vidcard a:hover img{ transform:none } }

/* Video lightbox popup (YouTube + mp4) */
.ta-vlb{ position:fixed; inset:0; z-index:2147483200; display:none; align-items:center; justify-content:center;
  background:rgba(9,40,26,.86); -webkit-backdrop-filter:blur(9px); backdrop-filter:blur(9px);
  opacity:0; transition:opacity .28s ease; padding:20px; }
.ta-vlb.ta-vlb-in{ opacity:1; }
.ta-vlb-stage{ display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.ta-vlb-inner{ transform:scale(.9); transition:transform .3s cubic-bezier(.2,1.05,.3,1); }
.ta-vlb.ta-vlb-in .ta-vlb-inner{ transform:scale(1); }
.ta-vlb-16x9{ position:relative; width:min(920px,92vw); aspect-ratio:16/9; background:#000; border-radius:12px;
  overflow:hidden; box-shadow:0 30px 70px rgba(0,0,0,.5); }
.ta-vlb-16x9 iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.ta-vlb video{ display:block; max-width:92vw; max-height:84vh; width:auto; height:auto; border-radius:12px;
  background:#000; box-shadow:0 30px 70px rgba(0,0,0,.5); }
.ta-vlb-x{ position:absolute; top:16px; right:20px; width:44px; height:44px; border-radius:50%; border:0; cursor:pointer;
  background:rgba(255,255,255,.15); color:#fff; font-size:26px; line-height:1; transition:background .2s,color .2s; z-index:2; }
.ta-vlb-x:hover{ background:#f5b120; color:#3a2a05; }
@media (prefers-reduced-motion:reduce){ .ta-vlb,.ta-vlb-inner{ transition:none!important } .ta-vlb-inner{ transform:none } }

/* Sub-page theme page-title must clear the absolutely-positioned floating navbar */
.hostinger-ai-page-title{ padding-top:clamp(88px,10vw,124px) !important; }

/* Videos page — tighten space under the page title (kill theme default section padding) */
.ta-vintro.elementor-element{ margin-top:-56px !important; }
.hostinger-ai-page-title{ padding-bottom:0 !important; margin-bottom:0 !important; }

/* Home "See all videos" button */
.ta-seeall .elementor-button{ background:#f5b120 !important; color:#3a2a05 !important; font-weight:800; border-radius:999px; padding:12px 28px; box-shadow:none; }
.ta-seeall .elementor-button:hover{ background:#f9c24c !important; }
