/* ==========================================================================
   MARKETING — /marketing   (design: assets/html/teamian-marketing (4).html)
   Namespace: tmk-. Loaded via $pageStyles in marketing.php, paired with
   assets/js/teamian-marketing.js.

   The mock arrived already namespaced, so this is close to verbatim. What
   changed, and why:

   1. Its :root palette and `body` rules now sit on .tmk-page. On :root the
      tokens were harmless, but the body rules (font, colour, background)
      would have restyled the shared header, footer and lead-form modal.
   2. The `*`, `a`, `button`, `::selection` and `:focus-visible` resets are
      gone — style.css and Tailwind's preflight already own those. `a{color:
      inherit}` in particular outranks .tmk-btn and would paint every button's
      label in the body colour.
   3. overflow-x is `clip`, not `hidden`. Both showcase and story hang off
      position:sticky, and an ancestor with overflow:hidden becomes their
      scroll container — which stops them sticking at all.
   4. .tmk-rv is hidden only under html.tmk-js (set inline at the top of
      marketing.php, before any .tmk- element is parsed). Same failsafe as
      teamian-sales.css: a stylesheet that loads without its script shows a
      complete page rather than a blank one. See the FAILSAFE block at the end.
   ========================================================================== */

.tmk-page{
  --tmk-ink:#0A0A0A;
  --tmk-ink-2:#151515;
  --tmk-ink-3:#242424;
  --tmk-teal:#12BFA0;
  --tmk-teal-d:#0C9C82;
  --tmk-grey:#F1F1EF;
  --tmk-grey-2:#E3E3E0;
  --tmk-grey-3:#C9C9C5;
  --tmk-body:#4C4C4A;
  --tmk-mute:#8A8A86;
  --tmk-white:#fff;

  --tmk-g1:#3A3A38; --tmk-g2:#141413;
  --tmk-g3:#8C8C88; --tmk-g4:#4E4E4B;
  --tmk-g5:#D8D8D4; --tmk-g6:#A9A9A4;
  --tmk-g7:#5E5E5B; --tmk-g8:#232322;

  --tmk-max:1400px;
  --tmk-pad:clamp(20px,4vw,72px);
  --tmk-r:22px;
  --tmk-ease:cubic-bezier(.22,.61,.24,1);

  background:var(--tmk-white);
  color:var(--tmk-body);
  font-size:16px;
  line-height:1.6;
  overflow-x:clip;
}
/* The mock's global reset, reduced to the part this page needs. :where() keeps
   it at zero specificity so every rule below still wins. */
.tmk-page :where(h1,h2,h3,p){margin:0}
.tmk-page :where(img,svg){display:block;max-width:100%}

/* ---------- type ---------- */
.tmk-d{
  font-family:'Inter Tight','Inter',sans-serif;font-weight:800;
  line-height:1.02;letter-spacing:-.032em;
  text-wrap:balance;font-feature-settings:'ss03';
  color:var(--tmk-ink);margin:0;
}
.tmk-d--xl{font-size:clamp(40px,6.9vw,96px)}
.tmk-d--l{font-size:clamp(31px,4.5vw,60px)}
.tmk-d--m{font-size:clamp(26px,3vw,43px)}
.tmk-d--s{font-size:clamp(18px,1.45vw,23px);font-weight:700;letter-spacing:-.024em}
.tmk-eyebrow{
  font-family:'Inter Tight','Inter',sans-serif;text-transform:uppercase;
  font-size:11.5px;font-weight:700;letter-spacing:.16em;color:var(--tmk-ink);margin:0 0 18px;
}
.tmk-lead{font-size:clamp(15.5px,1.15vw,18px);line-height:1.6;color:var(--tmk-body);
  margin:0;text-wrap:pretty}

.tmk-wrap{max-width:var(--tmk-max);margin:0 auto;padding:0 var(--tmk-pad)}
.tmk-sec{padding:clamp(72px,9vw,150px) 0}

/* ---------- buttons ---------- */
.tmk-btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Inter Tight','Inter',sans-serif;letter-spacing:-.012em;font-weight:700;
  font-size:15px;padding:15px 28px;border-radius:999px;
  transition:transform .35s var(--tmk-ease),background .3s,color .3s,box-shadow .35s;
  will-change:transform;white-space:nowrap;
}
.tmk-btn:hover{transform:translateY(-3px)}
.tmk-btn--light{background:var(--tmk-white);color:var(--tmk-ink)}
.tmk-btn--light:hover{box-shadow:0 14px 34px rgba(0,0,0,.24)}
.tmk-btn--ghost{border:1.5px solid rgba(255,255,255,.55);color:var(--tmk-white)}
.tmk-btn--ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.tmk-btn--green{background:var(--tmk-ink);color:var(--tmk-white)}
.tmk-btn--green:hover{background:var(--tmk-ink-3);box-shadow:0 14px 34px rgba(10,10,10,.28)}
.tmk-btn--mint{background:var(--tmk-teal);color:var(--tmk-ink)}
.tmk-btn--mint:hover{box-shadow:0 14px 34px rgba(18,191,160,.34)}
.tmk-btn__play{
  width:20px;height:20px;border-radius:50%;display:grid;place-items:center;
  border:1.5px solid currentColor;font-size:8px;padding-left:2px;
}

/* ============================ HERO ============================ */
/* Top padding is the mock's plus clearance for the 76px fixed nav — the mock
   opened at 78px, which put the logo mark under the bar. */
.tmk-hero{
  position:relative;background:var(--tmk-ink);color:#fff;overflow:hidden;
  padding:clamp(122px,11vw,168px) 0 0;
}
.tmk-hero::before{
  content:'';position:absolute;width:min(120vw,1500px);aspect-ratio:1;
  left:50%;top:-58%;transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.07),transparent 62%);pointer-events:none;
}
.tmk-hero__in{position:relative;text-align:center;max-width:1020px;margin:0 auto;
  padding:0 var(--tmk-pad)}
.tmk-hero .tmk-eyebrow{color:var(--tmk-teal);opacity:0;animation:tmkUp .8s .1s var(--tmk-ease) forwards}
.tmk-hero__h1{color:#fff;opacity:0;animation:tmkUp 1s .2s var(--tmk-ease) forwards;
  max-width:15ch;margin-inline:auto}
.tmk-hero__h1 span{display:block}
.tmk-hero__h1 em{font-style:normal;color:var(--tmk-teal)}
.tmk-hero__sub{
  margin:26px auto 0;max-width:520px;font-size:clamp(16px,1.25vw,19px);
  color:rgba(255,255,255,.76);opacity:0;animation:tmkUp .9s .38s var(--tmk-ease) forwards;
}
.tmk-hero__cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:36px;
  opacity:0;animation:tmkUp .9s .52s var(--tmk-ease) forwards}
@keyframes tmkUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}

/* ---- logo marquee ---- */
.tmk-marq{margin-top:clamp(52px,6vw,84px);padding-bottom:clamp(80px,10vw,140px);
  position:relative;overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.tmk-marq__track{display:flex;gap:clamp(48px,6vw,96px);width:max-content;
  animation:tmkSlide 34s linear infinite}
.tmk-marq:hover .tmk-marq__track{animation-play-state:paused}
@keyframes tmkSlide{to{transform:translateX(-50%)}}
.tmk-marq__item{
  font-family:'Inter Tight','Inter',sans-serif;font-size:clamp(17px,1.5vw,23px);font-weight:700;
  letter-spacing:-.022em;color:rgba(255,255,255,.5);white-space:nowrap;
  display:flex;align-items:center;gap:10px;transition:color .3s
}
.tmk-marq__item:hover{color:#fff}
.tmk-marq__dot{width:9px;height:9px;border-radius:50%;background:var(--tmk-teal);opacity:.7}

/* ==================== SHOWCASE (scroll expand) ==================== */
.tmk-show{position:relative;height:300vh;background:var(--tmk-ink)}
.tmk-show__sticky{position:sticky;top:0;height:100vh;display:grid;place-items:center;
  overflow:hidden}
.tmk-show__words{position:absolute;inset:0;display:flex;align-items:center;
  justify-content:space-between;padding:0 clamp(16px,3vw,56px);pointer-events:none}
.tmk-show__word{
  font-family:'Inter Tight','Inter',sans-serif;font-weight:800;letter-spacing:-.032em;color:#fff;
  font-size:clamp(28px,5vw,68px);line-height:1;white-space:nowrap;
  text-shadow:0 4px 34px rgba(0,0,0,.4);will-change:transform,opacity;
}
.tmk-show__frame{
  position:relative;width:44%;aspect-ratio:16/9;border-radius:26px;overflow:hidden;
  will-change:transform,width,border-radius;box-shadow:0 40px 90px rgba(0,0,0,.4);
}
.tmk-show__media{position:absolute;inset:0}
.tmk-show__card{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(340px,72%);z-index:5;will-change:transform;
}

/* generic media art */
.tmk-art{position:absolute;inset:0;overflow:hidden}
.tmk-art svg{width:100%;height:100%}
.tmk-art--grain::after{
  content:'';position:absolute;inset:0;opacity:.16;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.5) .5px,transparent .5px);
  background-size:3px 3px;mix-blend-mode:overlay;
}

/* ---- UI mock: sponsored post ---- */
.tmk-post{background:#fff;border-radius:18px;overflow:hidden;
  box-shadow:0 26px 60px rgba(0,0,0,.28);font-size:13px}
.tmk-post__top{display:flex;align-items:center;gap:10px;padding:12px 14px}
.tmk-post__av{width:34px;height:34px;border-radius:50%;background:var(--tmk-ink);
  display:grid;place-items:center;color:var(--tmk-teal);flex:0 0 auto}
.tmk-post__name{display:block;font-weight:700;color:var(--tmk-ink);line-height:1.2;font-size:13.5px}
.tmk-post__meta{display:block;font-size:11.5px;color:var(--tmk-mute);line-height:1.3}
.tmk-post__dots{margin-left:auto;color:#0A0A0A;letter-spacing:2px;font-weight:800}
.tmk-post__img{aspect-ratio:4/3;position:relative;overflow:hidden}
.tmk-post__bar{display:flex;align-items:center;gap:8px;padding:11px 14px}
.tmk-post__pill{background:var(--tmk-teal);color:var(--tmk-ink);font-weight:800;
  font-size:11px;padding:6px 12px;border-radius:999px}
.tmk-post__stat{margin-left:auto;font-weight:800;color:var(--tmk-ink);font-size:12px}

/* ==================== STORY (sticky centre) ==================== */
.tmk-story{position:relative;padding:clamp(60px,7vw,110px) 0 clamp(40px,5vw,80px)}
.tmk-story__grid{
  max-width:var(--tmk-max);margin:0 auto;padding:0 var(--tmk-pad);
  display:grid;grid-template-columns:1fr 1.58fr 1fr;gap:clamp(18px,2.8vw,46px);align-items:start;
}
.tmk-story__rail{display:flex;flex-direction:column;gap:clamp(80px,14vh,190px)}
.tmk-story__rail--r{padding-top:34vh}
.tmk-story__centre{position:sticky;top:0;height:100vh;display:grid;place-items:center;
  text-align:center}
.tmk-story__stack{position:relative;width:100%}
.tmk-story__slide{
  position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);
  opacity:0;visibility:hidden;transition:opacity .55s var(--tmk-ease),transform .55s var(--tmk-ease);
  pointer-events:none;
}
.tmk-story__slide.is-on{opacity:1;visibility:visible;transform:translateY(-50%);pointer-events:auto}
.tmk-story__slide.is-prev{transform:translateY(calc(-50% - 40px))}
.tmk-story__slide.is-next{transform:translateY(calc(-50% + 40px))}
.tmk-story__slide .tmk-lead{max-width:400px;margin:20px auto 0;text-align:center}
.tmk-story__slide .tmk-btn{margin-top:28px}
.tmk-story__h{font-size:clamp(26px,3vw,40px);max-width:21ch;margin-inline:auto}
.tmk-story__h span{display:block}
.tmk-story__num{color:var(--tmk-teal-d)}

/* media card with floating pill + data chip */
.tmk-card{
  position:relative;border-radius:var(--tmk-r);overflow:hidden;aspect-ratio:4/5;
  box-shadow:0 26px 60px rgba(10,10,10,.14);
}
.tmk-card__pill{
  position:absolute;left:50%;top:14%;transform:translateX(-50%);
  background:#fff;color:var(--tmk-ink);font-family:'Inter Tight','Inter',sans-serif;
  font-weight:700;letter-spacing:-.022em;font-size:clamp(15px,1.4vw,22px);
  padding:12px 26px;border-radius:999px;box-shadow:0 12px 30px rgba(0,0,0,.2);
  animation:tmkFloat 5.5s ease-in-out infinite;white-space:nowrap;
}
@keyframes tmkFloat{0%,100%{translate:0 0}50%{translate:0 -9px}}
.tmk-chip{
  position:absolute;left:6%;right:6%;bottom:6%;background:#fff;border-radius:14px;
  padding:11px 13px;display:flex;align-items:center;gap:11px;
  box-shadow:0 12px 30px rgba(0,0,0,.18);
}
.tmk-chip__ic{width:34px;height:34px;border-radius:50%;flex:0 0 auto;display:grid;
  place-items:center;color:#fff}
.tmk-chip > span:nth-child(2){min-width:0}
.tmk-chip__t{display:block;font-weight:700;color:var(--tmk-ink);font-size:13.5px;line-height:1.25}
.tmk-chip__s{display:block;font-size:11.5px;color:var(--tmk-mute);line-height:1.3}
.tmk-chip__v{margin-left:auto;font-weight:800;color:var(--tmk-ink);font-size:14px}

/* ==================== BENTO ==================== */
.tmk-bento{padding-bottom:clamp(50px,6vw,90px)}
.tmk-bento__head{margin-bottom:clamp(30px,4vw,54px)}
.tmk-bento__head .tmk-d{max-width:21ch}
.tmk-bento__grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  grid-auto-rows:minmax(clamp(210px,22vw,300px),auto);gap:clamp(12px,1.5vw,22px);
}
.tmk-bento__grid > *{border-radius:var(--tmk-r)}
.tmk-bcard{
  padding:clamp(20px,2vw,28px);display:flex;flex-direction:column;
  transition:transform .5s var(--tmk-ease),box-shadow .5s var(--tmk-ease);
}
.tmk-bcard:hover{transform:translateY(-8px);box-shadow:0 24px 50px rgba(10,10,10,.16)}
.tmk-bcard__ic{margin-bottom:auto}
.tmk-bcard h3{margin:0 0 12px}
.tmk-bcard p{margin:0;font-size:14.5px;line-height:1.55}
.tmk-bcard--ink{background:var(--tmk-ink);color:rgba(255,255,255,.72)}
.tmk-bcard--ink h3{color:#fff}
.tmk-bcard--paper{background:var(--tmk-white);color:var(--tmk-body);
  box-shadow:inset 0 0 0 1.5px var(--tmk-grey-2)}
.tmk-bcard--paper h3{color:var(--tmk-ink)}
.tmk-bcard--grey{background:var(--tmk-grey);color:var(--tmk-body)}
.tmk-bcard--grey h3{color:var(--tmk-ink)}
.tmk-bcard--ink .tmk-bcard__ic{color:var(--tmk-teal)}

/* visual filler tiles */
.tmk-tile{position:relative;overflow:hidden;display:flex;flex-direction:column;
  padding:clamp(20px,2vw,28px);
  transition:transform .5s var(--tmk-ease),box-shadow .5s var(--tmk-ease)}
.tmk-tile:hover{transform:translateY(-8px);box-shadow:0 24px 50px rgba(10,10,10,.14)}
.tmk-tile--grey{background:var(--tmk-grey)}
.tmk-tile--ink{background:var(--tmk-ink)}
.tmk-tile__lbl{font-family:'Inter Tight','Inter',sans-serif;text-transform:uppercase;font-size:11.5px;
  letter-spacing:.14em;color:var(--tmk-mute);margin-bottom:auto}
.tmk-tile--ink .tmk-tile__lbl{color:rgba(255,255,255,.5)}
.tmk-tile__viz{display:grid;place-items:center;flex:1;min-height:0}

/* channel matrix */
.tmk-mx{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;width:100%;max-width:196px}
.tmk-mx span{aspect-ratio:1;border-radius:11px;background:var(--tmk-white);
  display:grid;place-items:center;color:var(--tmk-ink);
  box-shadow:0 4px 12px rgba(10,10,10,.08)}
.tmk-mx span:nth-child(5){background:var(--tmk-ink);color:var(--tmk-teal)}

/* signal spark */
.tmk-spark{width:100%}
.tmk-spark svg{width:100%;height:auto}
.tmk-spark__path{stroke-dasharray:520;stroke-dashoffset:520;
  transition:stroke-dashoffset 2s var(--tmk-ease)}
.is-in .tmk-spark__path{stroke-dashoffset:0}

/* ==================== IMPACT (dark) ==================== */
.tmk-impact{background:var(--tmk-ink);color:#fff;overflow:hidden}
.tmk-impact__head{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(24px,4vw,64px);
  align-items:end;margin-bottom:clamp(34px,4.5vw,58px)}
.tmk-impact__head .tmk-d{color:#fff;max-width:17ch}
.tmk-impact__head .tmk-eyebrow{color:var(--tmk-teal)}
.tmk-impact__head p{color:rgba(255,255,255,.7);font-size:15.5px;margin:0}

/* workflow rail */
.tmk-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;
  margin-bottom:clamp(34px,4.5vw,58px);position:relative}
.tmk-flow::before{content:'';position:absolute;left:6%;right:6%;top:21px;height:2px;
  background:rgba(255,255,255,.16)}
.tmk-flow__line{position:absolute;left:6%;top:21px;height:2px;background:var(--tmk-teal);
  width:0;transition:width 1.6s var(--tmk-ease)}
.tmk-flow.is-in .tmk-flow__line{width:88%}
.tmk-step{position:relative;text-align:center;padding-top:0}
.tmk-step__n{
  width:44px;height:44px;margin:0 auto 14px;border-radius:50%;
  background:var(--tmk-ink);border:2px solid rgba(255,255,255,.2);
  display:grid;place-items:center;font-family:'Inter Tight','Inter',sans-serif;font-size:16px;color:#fff;
  position:relative;z-index:2;transition:background .5s,border-color .5s,color .5s,transform .5s
}
.tmk-flow.is-in .tmk-step__n{background:var(--tmk-teal);border-color:var(--tmk-teal);
  color:var(--tmk-ink)}
.tmk-flow.is-in .tmk-step:nth-child(2) .tmk-step__n{transition-delay:.15s}
.tmk-flow.is-in .tmk-step:nth-child(3) .tmk-step__n{transition-delay:.45s}
.tmk-flow.is-in .tmk-step:nth-child(4) .tmk-step__n{transition-delay:.75s}
.tmk-flow.is-in .tmk-step:nth-child(5) .tmk-step__n{transition-delay:1.05s}
.tmk-step__t{font-family:'Inter Tight','Inter',sans-serif;font-weight:700;font-size:14px;
  letter-spacing:-.015em;color:rgba(255,255,255,.85)}

/* feature card grid */
.tmk-fgrid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:clamp(12px,1.5vw,20px)}
.tmk-fcard{border-radius:var(--tmk-r);padding:clamp(20px,2.1vw,30px);
  display:flex;flex-direction:column;min-height:clamp(340px,38vw,470px);overflow:hidden;
  position:relative;transition:transform .5s var(--tmk-ease)}
.tmk-fcard:hover{transform:translateY(-8px)}
.tmk-fcard h3{margin:0 0 10px}
.tmk-fcard > p{margin:0;font-size:14.5px;line-height:1.55;max-width:34ch}
/* Not in the mock: without it the visual sits tight under the copy and leaves
   the bottom half of a 470px card empty. The bottom padding is the card's
   overflow:hidden — the ROI panel's "New campaign" button hangs 16px below its
   own box and was being clipped off. */
.tmk-fcard__viz{margin-top:auto;padding-top:clamp(18px,2vw,28px);padding-bottom:20px}
.tmk-fcard--ink{background:var(--tmk-ink-2);color:rgba(255,255,255,.72)}
.tmk-fcard--paper{background:var(--tmk-white);color:var(--tmk-body)}
.tmk-fcard--grey{background:var(--tmk-grey);color:var(--tmk-body)}
.tmk-fcard--ink h3{color:#fff}
.tmk-fcard--paper h3,.tmk-fcard--grey h3{color:var(--tmk-ink)}

/* mini dashboard mock */
.tmk-mini{width:100%;max-width:300px}
.tmk-mini__sel{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:12px}
.tmk-mini__tag{background:#fff;color:var(--tmk-ink);font-weight:700;font-size:12.5px;
  padding:8px 16px;border-radius:999px;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.tmk-mini__drop{background:var(--tmk-teal-d);color:#0A0A0A;font-weight:700;font-size:12.5px;
  padding:9px 16px;border-radius:999px;display:flex;align-items:center;gap:26px}
.tmk-mini__panel{background:#fff;border-radius:14px;padding:12px;display:flex;gap:12px;
  box-shadow:0 14px 32px rgba(0,0,0,.14);position:relative}
.tmk-mini__ph{width:88px;flex:0 0 auto;border-radius:6px;background:var(--tmk-grey);
  padding:6px;display:flex;flex-direction:column;gap:5px}
.tmk-mini__ph i{display:block;height:9px;border-radius:2px;background:var(--tmk-grey-2)}
.tmk-mini__ph i.on{background:var(--tmk-teal);height:16px;margin-top:auto}
.tmk-mini__rows{flex:1;font-size:11.5px}
.tmk-mini__row{display:flex;justify-content:space-between;padding:3px 0;color:var(--tmk-mute)}
.tmk-mini__row b{color:var(--tmk-ink)}
.tmk-mini__btn{position:absolute;right:-6px;bottom:-16px;background:var(--tmk-ink);
  color:#fff;font-weight:700;font-size:12px;padding:9px 16px;border-radius:999px;
  display:flex;align-items:center;gap:7px;box-shadow:0 10px 24px rgba(0,0,0,.2)}

/* channel orbit */
.tmk-orbit{position:relative;width:min(260px,86%);aspect-ratio:1;margin:0 auto}
.tmk-orbit__ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(0,0,0,.09)}
.tmk-orbit__ring:nth-child(2){inset:16%}
.tmk-orbit__spin{position:absolute;inset:0;animation:tmkSpin 26s linear infinite}
@keyframes tmkSpin{to{transform:rotate(360deg)}}
.tmk-orbit__n{
  position:absolute;width:56px;height:56px;border-radius:50%;background:#fff;
  display:grid;place-items:center;box-shadow:0 8px 22px rgba(0,0,0,.16);
  left:50%;top:50%;margin:-28px;
}
.tmk-orbit__n > *{animation:tmkSpinR 26s linear infinite}
@keyframes tmkSpinR{to{transform:rotate(-360deg)}}
.tmk-orbit__lbl{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  font-family:'Inter Tight','Inter',sans-serif;font-weight:700;font-size:13px;letter-spacing:-.02em;
  color:var(--tmk-body);text-align:center;line-height:1.15}

/* support fan */
.tmk-fan{width:100%;display:flex;flex-direction:column;align-items:center}
.tmk-fan__hub{width:64px;height:64px;border-radius:50%;background:var(--tmk-ink-3);
  display:grid;place-items:center;color:#fff;box-shadow:0 12px 28px rgba(255,255,255,.16);
  animation:tmkPulse 3s ease-in-out infinite}
@keyframes tmkPulse{0%,100%{box-shadow:0 12px 28px rgba(255,255,255,.16)}
  50%{box-shadow:0 12px 40px rgba(255,255,255,.3)}}
.tmk-fan__svg{width:100%;height:64px}
.tmk-fan__row{display:flex;justify-content:center;margin-top:-6px}
.tmk-fan__av{width:56px;height:56px;border-radius:50%;border:3px solid var(--tmk-grey);
  margin-left:-14px;overflow:hidden;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.tmk-fan__av:first-child{margin-left:0}
.tmk-fan__av > *{position:relative;display:block;height:100%;inset:auto}
.tmk-fan__disc{background:linear-gradient(140deg,var(--tmk-g3),var(--tmk-g8))}

/* card-context fixes */
.tmk-fcard--ink .tmk-orbit__ring{border-color:rgba(255,255,255,.14)}
.tmk-fcard--ink .tmk-orbit__lbl{color:rgba(255,255,255,.9)}
.tmk-fcard--paper .tmk-fan__hub{background:var(--tmk-ink);color:#fff;
  box-shadow:0 12px 28px rgba(10,10,10,.22);animation:none}
.tmk-fcard--paper .tmk-fan__svg{stroke:rgba(10,10,10,.22)}
.tmk-fcard--paper .tmk-fan__av{border-color:var(--tmk-white);
  box-shadow:0 6px 16px rgba(10,10,10,.18)}
.tmk-fcard--grey .tmk-mini__panel{box-shadow:0 14px 32px rgba(10,10,10,.1)}

/* ==================== OUTRO ==================== */
.tmk-outro{background:var(--tmk-ink);color:#fff;padding:clamp(60px,7vw,100px) 0 0;
  overflow:hidden}
.tmk-band{overflow:hidden;padding:clamp(6px,1vw,14px) 0;
  border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.tmk-band__track{display:flex;width:max-content;animation:tmkSlide 26s linear infinite}
.tmk-band__t{font-family:'Inter Tight','Inter',sans-serif;font-weight:800;
  letter-spacing:-.032em;font-size:clamp(40px,7.4vw,104px);line-height:1.14;color:#fff;
  padding-right:.35em;white-space:nowrap}
.tmk-band__t:nth-child(even){color:transparent;-webkit-text-stroke:1.4px rgba(255,255,255,.34)}
.tmk-outro__cta{text-align:center;padding:clamp(48px,6vw,86px) var(--tmk-pad)}
.tmk-outro__cta h2{max-width:20ch;margin-inline:auto}
.tmk-outro__cta p{max-width:400px;margin:0 auto 22px;color:rgba(255,255,255,.72);font-size:16px}

/* ==================== PRODUCT UI VIGNETTES ==================== */
.tmk-ui{position:absolute;inset:0;display:flex;flex-direction:column;gap:10px;
  padding:clamp(14px,1.5vw,20px);font-size:11.5px;overflow:hidden}
.tmk-ui--dark{background:linear-gradient(162deg,#1E1E1C,#080808);color:rgba(255,255,255,.62)}
.tmk-ui--light{background:linear-gradient(162deg,#FFF,#E9E9E6);color:var(--tmk-body)}
.tmk-ui__bar{display:flex;align-items:center;gap:7px;font-weight:700;font-size:11px;
  letter-spacing:.02em;color:var(--tmk-ink)}
.tmk-ui--dark .tmk-ui__bar{color:#fff}
.tmk-ui__bar i{width:6px;height:6px;border-radius:50%;background:var(--tmk-teal);flex:0 0 auto}
.tmk-ui__bar em{margin-left:auto;font-style:normal;font-weight:600;font-size:10px;
  opacity:.55;letter-spacing:.06em;text-transform:uppercase}

/* rows / list */
.tmk-row{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:9px;
  background:rgba(255,255,255,.7)}
.tmk-ui--dark .tmk-row{background:rgba(255,255,255,.06)}
.tmk-row--on{background:var(--tmk-ink);color:#fff}
.tmk-ui--dark .tmk-row--on{background:var(--tmk-teal);color:#06231D}
.tmk-row__av{width:20px;height:20px;border-radius:50%;flex:0 0 auto;
  background:linear-gradient(140deg,var(--tmk-g3),var(--tmk-g8))}
.tmk-row__t{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tmk-row__v{margin-left:auto;font-weight:700;font-variant-numeric:tabular-nums;flex:0 0 auto}
.tmk-row__dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto;background:var(--tmk-teal)}

/* chat thread */
.tmk-chat{display:flex;flex-direction:column;gap:7px;flex:1;justify-content:center}
.tmk-bub{max-width:82%;padding:8px 11px;border-radius:12px;line-height:1.4;
  background:rgba(255,255,255,.08)}
.tmk-bub--out{margin-left:auto;background:var(--tmk-teal);color:#06231D;font-weight:500;
  border-bottom-right-radius:4px}
.tmk-bub--in{border-bottom-left-radius:4px}
.tmk-bub__tick{display:block;margin-top:3px;font-size:9.5px;opacity:.7;text-align:right}

/* journey canvas */
.tmk-jn{flex:1;display:flex;flex-direction:column;justify-content:center;gap:0}
.tmk-jn__s{display:flex;align-items:center;gap:9px;padding:6px 0}
.tmk-jn__n{width:22px;height:22px;border-radius:7px;flex:0 0 auto;display:grid;place-items:center;
  background:rgba(255,255,255,.09);color:var(--tmk-teal);font-weight:800;font-size:10px}
.tmk-jn__s--done .tmk-jn__n{background:var(--tmk-teal);color:#06231D}
.tmk-jn__l{font-weight:600;color:#fff}
.tmk-jn__c{width:2px;height:11px;margin-left:10px;background:rgba(255,255,255,.16)}
.tmk-jn__s--done + .tmk-jn__c{background:var(--tmk-teal);opacity:.5}

/* chart */
.tmk-ch{flex:1;display:flex;align-items:flex-end;gap:5px;padding-top:6px}
.tmk-ch span{flex:1;border-radius:4px 4px 2px 2px;background:var(--tmk-grey-3);
  transform-origin:bottom;transform:scaleY(0);transition:transform 1s var(--tmk-ease)}
.is-in .tmk-ch span{transform:scaleY(1)}
.tmk-ch span:nth-child(n+2){transition-delay:.07s}
.tmk-ch span:nth-child(n+4){transition-delay:.14s}
.tmk-ch span:nth-child(n+6){transition-delay:.21s}
.tmk-ch span:nth-child(n+8){transition-delay:.28s}
.tmk-ch span.hi{background:var(--tmk-ink)}
.tmk-ui--dark .tmk-ch span{background:rgba(255,255,255,.16)}
.tmk-ui--dark .tmk-ch span.hi{background:var(--tmk-teal)}
.tmk-ch__ax{display:flex;gap:5px;font-size:9px;opacity:.5;letter-spacing:.04em}
.tmk-ch__ax span{flex:1;text-align:center}

/* KPI tiles */
.tmk-kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tmk-kpi__t{background:rgba(255,255,255,.06);border-radius:10px;padding:9px 10px}
.tmk-kpi__l{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;opacity:.6}
.tmk-kpi__v{font-family:'Inter Tight','Inter',sans-serif;font-weight:800;
  font-size:clamp(15px,1.5vw,22px);color:#fff;letter-spacing:-.02em;margin-top:2px}

/* AI panel */
.tmk-aip{flex:1;display:flex;flex-direction:column;justify-content:center;gap:9px}
.tmk-aip__h{display:flex;align-items:center;gap:8px;color:var(--tmk-teal);font-weight:700;
  font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}
.tmk-aip__h .tmk-mark{width:15px}
.tmk-aip__q{color:#fff;font-weight:600;line-height:1.45;font-size:12.5px;margin:0}
.tmk-aip__tags{display:flex;gap:6px;flex-wrap:wrap}
.tmk-aip__tag{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:4px 10px;
  font-size:10px;font-weight:600}
.tmk-aip__tag--on{background:var(--tmk-teal);color:#06231D;border-color:transparent}

/* showcase dashboard */
.tmk-dash{position:absolute;inset:0;display:flex;background:#0A0A0A;color:rgba(255,255,255,.6)}
.tmk-dash__rail{width:13%;min-width:44px;border-right:1px solid rgba(255,255,255,.08);
  padding:2.2% 1.4%;display:flex;flex-direction:column;gap:8%}
.tmk-dash__rail i{display:block;height:6px;border-radius:3px;background:rgba(255,255,255,.14)}
.tmk-dash__rail i:first-child{background:var(--tmk-teal);width:70%}
.tmk-dash__body{flex:1;padding:2.4% 2.8%;display:flex;flex-direction:column;gap:2.6%}
.tmk-dash__top{display:flex;align-items:center;gap:10px}
.tmk-dash__ttl{font-family:'Inter Tight','Inter',sans-serif;font-weight:800;color:#fff;
  font-size:clamp(11px,1.3vw,19px);letter-spacing:-.02em}
.tmk-dash__pill{margin-left:auto;font-size:clamp(8px,.75vw,11px);font-weight:600;
  border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:4px 11px}
.tmk-dash__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6%}
.tmk-dash__k{border:1px solid rgba(255,255,255,.09);border-radius:10px;padding:1.6% 2%}
.tmk-dash__kl{font-size:clamp(7px,.7vw,10px);letter-spacing:.12em;text-transform:uppercase;opacity:.55}
.tmk-dash__kv{font-family:'Inter Tight','Inter',sans-serif;font-weight:800;color:#fff;
  font-size:clamp(13px,2.1vw,32px);letter-spacing:-.03em;line-height:1.1}
.tmk-dash__panel{flex:1;border:1px solid rgba(255,255,255,.09);border-radius:12px;
  padding:1.8% 2%;display:flex;flex-direction:column;gap:8px;min-height:0}
.tmk-dash__ai{display:flex;align-items:center;gap:9px;border-radius:10px;
  background:rgba(18,191,160,.1);border:1px solid rgba(18,191,160,.28);padding:1.4% 1.8%;
  font-size:clamp(8px,.82vw,12px);color:rgba(255,255,255,.8)}
.tmk-dash__ai .tmk-mark{width:clamp(13px,1.3vw,19px);color:var(--tmk-teal);flex:0 0 auto}
.tmk-dash__ai b{color:#fff}

/* ==================== LOGO MARK ==================== */
.tmk-mark{display:block;color:currentColor}
.tmk-hero__mark{width:clamp(54px,5.4vw,76px);margin:0 auto clamp(22px,2.6vw,34px);
  color:var(--tmk-teal);opacity:0;animation:tmkUp .8s .05s var(--tmk-ease) forwards}
.tmk-hero__ghost{
  position:absolute;left:50%;top:clamp(40px,7vw,110px);transform:translateX(-50%);
  width:min(96vw,940px);color:#fff;opacity:.038;pointer-events:none;
  animation:tmkTurn 90s linear infinite;
}
@keyframes tmkTurn{to{transform:translateX(-50%) rotate(360deg)}}
.tmk-outro__mark{width:46px;margin:0 auto 22px;color:var(--tmk-teal)}
.tmk-chip__ic .tmk-mark,.tmk-post__av .tmk-mark{width:60%}

/* ==================== REVEAL ==================== */
/* Hidden only while the page script is confirmed running — see FAILSAFE. */
.tmk-rv{transition:opacity .8s var(--tmk-ease),transform .8s var(--tmk-ease)}
.tmk-js .tmk-rv{opacity:0;transform:translateY(34px)}
.tmk-js .tmk-rv.is-in{opacity:1;transform:none}
.tmk-rv[data-d="1"]{transition-delay:.09s}
.tmk-rv[data-d="2"]{transition-delay:.18s}
.tmk-rv[data-d="3"]{transition-delay:.27s}
.tmk-rv[data-d="4"]{transition-delay:.36s}

/* ==================== RESPONSIVE ====================
   1079 / 1023 / 819 / 639 / 539 — the mock's 1080/1000/820/600/540 nudged onto
   the complements of Tailwind's breakpoints where they were within a few px,
   so this page and the shared nav change shape at the same moment. */
@media(max-width:1079px){
  .tmk-impact__head{grid-template-columns:1fr}
  .tmk-fgrid{grid-template-columns:1fr 1fr}
  .tmk-fcard:first-child{grid-column:1/-1;min-height:0}
  .tmk-bento__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:1023px){
  .tmk-story__grid{grid-template-columns:1fr;gap:30px}
  .tmk-story__rail{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
  .tmk-story__rail--r{padding-top:0}
  .tmk-story__centre{position:static;height:auto;padding:8px 0 28px}
  .tmk-story__stack{min-height:0!important}
  .tmk-story__slide{position:static;opacity:1;visibility:visible;transform:none!important;
    padding-bottom:34px}
  .tmk-story__slide + .tmk-story__slide{border-top:1px solid var(--tmk-grey-2);padding-top:34px}
  /* The rails are transformed inline by the parallax; below the breakpoint the
     script stops updating them, so the last value has to be cleared. */
  .tmk-story__rail{transform:none!important}
}
@media(max-width:819px){
  .tmk-show{height:auto}
  .tmk-show__sticky{position:static;height:auto;padding:70px 0}
  .tmk-show__frame{width:88%!important;border-radius:20px!important}
  .tmk-show__words{position:static;flex-direction:column;gap:6px;text-align:center;
    padding:0 20px 26px}
  .tmk-show__word{transform:none!important;opacity:1!important;font-size:32px}
  .tmk-flow{grid-template-columns:repeat(2,1fr);gap:22px}
  .tmk-flow::before,.tmk-flow__line{display:none}
  .tmk-fgrid{grid-template-columns:1fr}
}
@media(max-width:639px){
  .tmk-story__rail{grid-template-columns:1fr}
}
@media(max-width:539px){
  .tmk-bento__grid{grid-template-columns:1fr}
  .tmk-hero__cta .tmk-btn{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  .tmk-page *,.tmk-page *::before,.tmk-page *::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important}
  .tmk-js .tmk-rv{opacity:1;transform:none}
}

/* ==================== FAILSAFE ====================
   Everything above that starts hidden or half-drawn waits on a class the page
   script adds. html.tmk-js is set inline in marketing.php before any .tmk-
   element is parsed, so these rules only apply when the script genuinely did
   not run — a blocked or failed teamian-marketing.js leaves a complete,
   static page instead of blank cards.
   ========================================================================== */
html:not(.tmk-js) .tmk-ch span{transform:scaleY(1)}
html:not(.tmk-js) .tmk-spark__path{stroke-dashoffset:0}
html:not(.tmk-js) .tmk-flow__line{width:88%}
html:not(.tmk-js) .tmk-step__n{background:var(--tmk-teal);border-color:var(--tmk-teal);color:var(--tmk-ink)}
/* Without the script only the first slide is ever marked .is-on, so the stack
   falls back to flowing all three. */
html:not(.tmk-js) .tmk-story__centre{position:static;height:auto;padding:8px 0 28px}
html:not(.tmk-js) .tmk-story__slide{position:static;opacity:1;visibility:visible;transform:none;
  padding-bottom:34px}
html:not(.tmk-js) .tmk-story__slide + .tmk-story__slide{border-top:1px solid var(--tmk-grey-2);
  padding-top:34px}
