/* ═══════════════════════════════════════════════════════════════════
   TOURNEYCOMMAND — TEMPLATE #2 "THE CARD"
   tc2-template-v1.css · slice 1: hero + live board
   Independent of template #1. Palette vars rewritten per site.
   Content is visible without JS; motion is opt-in via html.tc2-js.
   ═══════════════════════════════════════════════════════════════════ */
:root{
  --tc-p:#9e4019;--tc-p2:#c15f34;--tc-deep:#6e2d12;--tc-acc:#e0a24a;
  --tc-ink:#241610;--tc-mut:#63534a;--tc-bg:#fbf7f4;--tc-tint:#f6e6dc;
  --tc-onp:#ffffff;--tc-ona:#111111;
  --tc-fh:'Playfair Display',Georgia,serif;--tc-fb:'Inter',system-ui,sans-serif;
  --tc-mx:70%;--tc-my:26%;
  --t2p:#9e4019;--t2p2:#c15f34;--t2deep:#6e2d12;--t2acc:#e0a24a;
  --t2ink:#241610;--t2mut:#63534a;--t2bg:#fbf7f4;--t2paper:#fbf7f4;
  --t2tint:#f6e6dc;--t2onacc:#111111;
  --t2fh:'Playfair Display',Georgia,serif;--t2fb:'Inter',system-ui,sans-serif;
}
.tc2-wrap{max-width:1240px;width:100%;margin:0 auto;padding:0 32px}
@media(max-width:700px){.tc2-wrap{padding:0 20px}}

/* ── hero shell ────────────────────────────────────────────────── */
.tc2-hero{position:relative;overflow:hidden;width:100%;
  background:var(--t2deep);color:#fff}
.tc2-hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(70% 55% at 82% 8%,color-mix(in srgb,var(--t2p2) 42%,transparent),transparent 72%),
    radial-gradient(50% 40% at 6% 88%,color-mix(in srgb,var(--t2acc) 16%,transparent),transparent 70%)}
.tc2-topowrap{position:absolute!important;inset:-20% -10% auto;height:150%;z-index:0;
  width:120%;pointer-events:none;opacity:.5}
.tc2-topo,.tc2-topo svg{width:100%;height:100%;display:block}
.tc2-hbody{position:relative;z-index:2;width:100%;padding:84px 0 60px}
@media(max-width:760px){.tc2-hbody{padding:54px 0 44px}}

/* ── hero type ─────────────────────────────────────────────────── */
.tc2-hmeta .elementor-heading-title{display:flex;align-items:center;gap:18px;
  flex-wrap:wrap;color:var(--t2acc)!important;margin-bottom:34px}
.tc2-hmeta .k{font-family:var(--t2fb)!important;font-size:11px;font-weight:800;
  letter-spacing:.32em;text-transform:uppercase}
.tc2-hmeta .dot{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.5}

.tc2-htitle .elementor-heading-title{font-family:var(--t2fh);font-weight:600;
  font-size:clamp(48px,10vw,150px);line-height:.84;letter-spacing:-.045em;
  color:#fff!important;text-wrap:balance;margin:0}
.tc2-htitle .ed{display:block;font-size:clamp(19px,2.4vw,34px);letter-spacing:.01em;
  font-weight:400;color:var(--t2acc);margin-top:20px;line-height:1.15}

/* ── countdown ─────────────────────────────────────────────────── */
.tc2-cdwrap{margin:40px 0 0;width:100%}
.tc2-cd{display:flex;align-items:flex-end;flex-wrap:wrap}
.tc2-cd .u{padding-right:26px;margin-right:26px;
  border-right:1px solid rgba(255,255,255,.16)}
.tc2-cd .u:last-child{border-right:0;margin-right:0;padding-right:0}
.tc2-cd .n{font-family:var(--t2fh);font-size:clamp(34px,5vw,66px);font-weight:900;
  line-height:.82;letter-spacing:-.05em;font-variant-numeric:tabular-nums;color:#fff}
.tc2-cd .tc2-cd-date{font-size:clamp(20px,2.4vw,32px)}
.tc2-cd .l{font-family:var(--t2fb);font-size:10px;font-weight:800;letter-spacing:.24em;
  text-transform:uppercase;opacity:.5;margin-top:10px;color:#fff}

/* ── fact rail ─────────────────────────────────────────────────── */
.tc2-hfacts{display:grid!important;grid-template-columns:repeat(4,auto);
  justify-content:start;gap:0 44px;margin:44px 0 40px;padding:26px 0;width:100%;
  border-top:1px solid rgba(255,255,255,.16);
  border-bottom:1px solid rgba(255,255,255,.16)}
@media(max-width:860px){.tc2-hfacts{grid-template-columns:1fr 1fr;gap:24px 32px}}
.tc2-fact{width:auto;gap:0}
.tc2-fk .elementor-heading-title{font-family:var(--t2fb)!important;font-size:10.5px;
  font-weight:800;letter-spacing:.26em;text-transform:uppercase;
  color:rgba(255,255,255,.55)!important;margin-bottom:7px}
.tc2-fv .elementor-heading-title{font-family:var(--t2fh);font-size:clamp(15px,1.5vw,20px);
  font-weight:600;letter-spacing:-.01em;color:#fff!important}

/* ── hero buttons ──────────────────────────────────────────────── */
.tc2-hcta{display:flex!important;flex-direction:row!important;gap:12px;flex-wrap:wrap;
  width:auto}
.tc2-btn .elementor-button{font-family:var(--t2fb)!important;font-weight:700;
  font-size:14px;letter-spacing:.02em;text-transform:uppercase;padding:17px 34px;
  border-radius:2px;border:0;position:relative;overflow:hidden;
  text-decoration:none!important;transition:transform .2s}
.tc2-btn .elementor-button::after{content:"";position:absolute;top:0;left:-120%;
  width:55%;height:100%;transform:skewX(-20deg);transition:left .55s;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent)}
.tc2-btn .elementor-button:hover::after{left:150%}
.tc2-btn .elementor-button:hover{transform:translateY(-2px)}
.tc2-btn-acc .elementor-button{background:var(--t2acc)!important;
  background-image:none!important;color:var(--t2onacc)!important;box-shadow:none!important}
.tc2-btn-out .elementor-button{background:transparent!important;
  background-image:none!important;color:#fff!important;
  box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)!important;border:0!important}

/* ── live board ────────────────────────────────────────────────── */
.tc2-board{position:relative;z-index:2;width:100%;
  background:color-mix(in srgb,#000 22%,var(--t2deep));
  border-top:1px solid rgba(255,255,255,.12)}
.tc2-bgrid{display:grid!important;grid-template-columns:1fr 1fr;gap:0}
@media(max-width:860px){.tc2-bgrid{grid-template-columns:1fr}}
.tc2-bcell{padding:36px 40px 36px 0;position:relative;
  border-right:1px solid rgba(255,255,255,.1)}
.tc2-bcell:last-child{border-right:0;padding-left:40px}
@media(max-width:860px){
  .tc2-bcell{border-right:0;border-bottom:1px solid rgba(255,255,255,.1);
    padding:26px 0!important}
  .tc2-bcell:last-child{border-bottom:0}}
.tc2-bhead{display:flex!important;flex-direction:row!important;align-items:center;
  justify-content:space-between;margin-bottom:14px;width:100%}
.tc2-blabel .elementor-heading-title{font-family:var(--t2fb)!important;font-size:10.5px;
  font-weight:800;letter-spacing:.26em;text-transform:uppercase;
  color:rgba(255,255,255,.55)!important}
.tc2-blive .elementor-heading-title{font-family:var(--t2fb)!important;font-size:9.5px;
  font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--t2acc)!important;display:inline-flex;align-items:center;gap:7px}
.tc2-blive .elementor-heading-title::before{content:"";width:5px;height:5px;
  border-radius:50%;background:var(--t2acc);animation:tc2pulse 2s infinite}
@keyframes tc2pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--t2acc) 60%,transparent)}
  70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
.tc2-bsub .elementor-heading-title{font-family:var(--t2fb)!important;font-size:12.5px;
  font-weight:400;color:rgba(255,255,255,.52)!important;margin-top:11px}

/* PayForm progress, restyled as a board readout */
.tc2-bcell .pfwp-progress-wrap{background:none!important;border:0!important;
  box-shadow:none!important;padding:0!important;margin:0!important}
.tc2-bcell .pfwp-progress-header{display:flex;align-items:baseline;
  justify-content:space-between;gap:16px}
.tc2-bcell .pfwp-progress-raised{display:block}
.tc2-bcell .pfwp-progress-amount{display:block;font-family:var(--t2fh);font-weight:900;
  font-size:clamp(40px,5.4vw,64px);line-height:.85;letter-spacing:-.04em;
  color:#fff;font-variant-numeric:tabular-nums}
.tc2-bcell .pfwp-progress-amount-unit{font-family:var(--t2fb)!important;font-size:15px;
  font-weight:600;letter-spacing:0;color:rgba(255,255,255,.45)}
.tc2-bcell .pfwp-progress-label{display:block;font-family:var(--t2fb)!important;
  font-size:12.5px;font-weight:500;color:rgba(255,255,255,.52);margin-top:9px}
.tc2-bcell .pfwp-progress-pct{font-family:var(--t2fh);font-size:22px;font-weight:900;
  color:var(--t2acc);letter-spacing:-.02em}
.tc2-bcell .pfwp-progress-bar{height:3px;border-radius:0;overflow:hidden;margin-top:20px;
  background:rgba(255,255,255,.14)}
.tc2-bcell .pfwp-progress-fill{height:100%;border-radius:0;
  background:linear-gradient(90deg,var(--t2p2),var(--t2acc));
  transition:width 1.8s cubic-bezier(.16,1,.3,1)}
.tc2-bcell .pfwp-progress-footer{display:flex;align-items:center;
  justify-content:space-between;gap:14px;margin-top:12px;font-family:var(--t2fb)!important;
  font-size:12.5px;color:rgba(255,255,255,.52)}
.tc2-bcell .pfwp-progress-donate-link{color:var(--t2acc);font-weight:700;
  text-decoration:none}
.tc2-bcell .pfwp-progress-donate-link:hover{text-decoration:underline}

/* board body wrapper + stagger */
.tc2-bbody{width:100%}
.tc2-bbody p{margin:0}
html.tc2-js .tc2-d1{transition-delay:.1s}

/* ── reveals: visible by default, animated only with the runtime ── */
.tc2-rv{opacity:1;transform:none}
html.tc2-js .tc2-rv{opacity:0;transform:translateY(26px);
  transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
html.tc2-js .tc2-rv.tc2-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html.tc2-js .tc2-rv{opacity:1;transform:none;transition:none}
  .tc2-blive .elementor-heading-title::before{animation:none}}

/* ═══════════════════════════════════════════════════════════════════
   THE CARD — sections 01 / 02 / 03
   ═══════════════════════════════════════════════════════════════════ */
.tc2-sec{width:100%;background:transparent;position:relative;z-index:2;color:var(--t2ink)}
.tc2-sec.tc2-paper{background:var(--t2paper)}
.tc2-sec.tc2-dark{background:var(--t2deep);color:#fff}
body{background:var(--t2bg)}

/* section head: outlined numeral + copy */
.tc2-wrap{align-items:stretch!important;text-align:left}
.tc2-shead{display:grid!important;grid-template-columns:auto 1fr;gap:32px;
  align-items:start;margin-bottom:32px;width:100%;text-align:left}
.tc2-shead .elementor-heading-title,.tc2-shead p{text-align:left}
@media(max-width:760px){.tc2-shead{grid-template-columns:1fr;gap:12px;margin-bottom:22px}}
.tc2-idx .elementor-heading-title{font-family:var(--t2fh);font-weight:900;
  font-size:clamp(64px,9vw,128px);line-height:.72;letter-spacing:-.04em;
  color:transparent!important;
  -webkit-text-stroke:1.5px rgba(13,21,18,.34)}
.tc2-dark .tc2-idx .elementor-heading-title{-webkit-text-stroke-color:rgba(255,255,255,.30)}
/* browsers without text-stroke get a solid faint numeral instead of nothing */
@supports not (-webkit-text-stroke: 1px #000){
  .tc2-idx .elementor-heading-title{color:rgba(13,21,18,.20)!important}
  .tc2-dark .tc2-idx .elementor-heading-title{color:rgba(255,255,255,.20)!important}}
.tc2-shcopy{width:100%;align-items:flex-start}
.tc2-kicker .elementor-heading-title{font-family:var(--t2fb)!important;font-size:11px;
  font-weight:800;letter-spacing:.32em;text-transform:uppercase;color:var(--t2acc)!important}
.tc2-sh2 .elementor-heading-title{font-family:var(--t2fh);font-weight:600;
  font-size:clamp(30px,4.6vw,60px);line-height:1.02;letter-spacing:-.03em;
  margin-top:14px;max-width:16ch;text-wrap:balance;color:inherit!important}
.tc2-lede p{font-family:var(--t2fb)!important;font-size:17.5px;line-height:1.7;
  color:var(--t2mut);max-width:56ch;margin-top:20px}
.tc2-dark .tc2-lede p{color:rgba(255,255,255,.66)}

/* ── 01 · cause ────────────────────────────────────────────────── */
.tc2-causegrid{display:grid!important;grid-template-columns:1.25fr .75fr;gap:72px;
  align-items:start;width:100%}
@media(max-width:900px){.tc2-causegrid{grid-template-columns:1fr;gap:40px}}
.tc2-causecopy{width:100%;align-items:flex-start}
.tc2-lead p{font-family:var(--t2fh);font-size:clamp(21px,2.3vw,28px);line-height:1.42;
  font-weight:400;letter-spacing:-.015em;color:var(--t2ink);margin:0 0 28px}
.tc2-prose p{font-family:var(--t2fb)!important;font-size:17.5px;line-height:1.78;
  color:var(--t2mut);margin:0 0 20px}
.tc2-quote{border-left:2px solid var(--t2acc);padding:6px 0 6px 28px;margin:36px 0 0;
  width:100%;align-items:flex-start}
.tc2-qtext p{font-family:var(--t2fh);font-size:20px;line-height:1.5;font-weight:400;
  font-style:italic;color:var(--t2ink);margin:0 0 14px}
.tc2-qcite .elementor-heading-title{font-family:var(--t2fb)!important;font-size:12px;
  font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--t2mut)!important}

.tc2-impacts{width:100%;border-top:1px solid color-mix(in srgb,currentColor 14%,transparent)}
.tc2-imp{display:grid!important;grid-template-columns:auto 1fr;gap:22px;align-items:start;
  padding:26px 0;width:100%;transition:padding-left .3s;
  border-bottom:1px solid color-mix(in srgb,currentColor 14%,transparent)}
.tc2-imp:hover{padding-left:10px}
.tc2-impn .elementor-heading-title{font-family:var(--t2fh);font-size:15px;font-weight:900;
  color:var(--t2acc)!important;padding-top:4px}
.tc2-impc{width:100%;align-items:flex-start}
.tc2-imph .elementor-heading-title{font-family:var(--t2fh);font-size:19px;font-weight:600;
  color:inherit!important;margin-bottom:7px}
.tc2-impp p{font-family:var(--t2fb)!important;font-size:14.5px;line-height:1.62;
  color:var(--t2mut);margin:0}

/* ── 02 · the day ──────────────────────────────────────────────── */
.tc2-card{width:100%;border:1px solid color-mix(in srgb,currentColor 16%,transparent);
  background:color-mix(in srgb,#000 18%,var(--t2deep))}
.tc2-crow{display:grid!important;grid-template-columns:minmax(110px,max-content) 1fr auto;gap:28px;
  align-items:center;padding:22px 30px;width:100%;transition:background .25s;
  border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent)}
.tc2-crow:last-child{border-bottom:0}
.tc2-crow:hover{background:color-mix(in srgb,var(--t2acc) 8%,transparent)}
@media(max-width:760px){.tc2-crow{grid-template-columns:80px 1fr;gap:16px;padding:18px 20px}
  .tc2-ctag{display:none}}
.tc2-ctime .elementor-heading-title{font-family:var(--t2fh);font-size:22px;font-weight:900;
  letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:inherit!important;
  white-space:nowrap}
.tc2-ctime s{font-family:var(--t2fb);font-size:11px;font-weight:700;text-decoration:none;
  opacity:.5;margin-left:3px}
.tc2-cbody{width:100%;align-items:flex-start}
.tc2-crowh .elementor-heading-title{font-family:var(--t2fh);font-size:17px;font-weight:600;
  color:inherit!important;margin-bottom:3px}
.tc2-crowp p{font-family:var(--t2fb)!important;font-size:13.5px;margin:0;
  color:rgba(255,255,255,.55)}
.tc2-ctag .elementor-heading-title{font-family:var(--t2fb)!important;font-size:10px;
  font-weight:800;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;
  padding:6px 12px;color:inherit!important;
  border:1px solid color-mix(in srgb,currentColor 26%,transparent)}

/* ── 03 · the course ───────────────────────────────────────────── */
.tc2-course{display:grid!important;grid-template-columns:1fr 1fr;gap:0;width:100%;
  align-items:stretch;border:1px solid color-mix(in srgb,var(--t2ink) 16%,transparent)}
@media(max-width:900px){.tc2-course{grid-template-columns:1fr}}
.tc2-courseimg{width:100%;min-height:420px;position:relative;overflow:hidden;
  background:var(--t2deep)}
.tc2-courseart,.tc2-courseart svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.tc2-coursecap{position:absolute;left:0;bottom:0;z-index:2;padding:22px 26px;color:#fff;
  font-family:var(--t2fb);font-size:11px;font-weight:800;letter-spacing:.22em;
  text-transform:uppercase;background:linear-gradient(0deg,rgba(0,0,0,.5),transparent)}
.tc2-courseinfo{padding:52px 48px;justify-content:center;align-items:flex-start;width:100%}
@media(max-width:760px){.tc2-courseinfo{padding:34px 24px}}
.tc2-ch3 .elementor-heading-title{font-family:var(--t2fh);font-size:clamp(26px,3.4vw,40px);
  font-weight:600;letter-spacing:-.02em;color:var(--t2ink)!important;margin-bottom:18px}
.tc2-cstats{display:grid!important;width:100%;margin-top:10px;gap:0;background:transparent;
  /* Cells drop individually when their value is unset, so the container must
     not paint a background through the gaps — with all three gone it left a
     grey slab. Hairlines live on the cells. */
  grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}
.tc2-cstats:empty{display:none!important}
.tc2-cstat{background:var(--t2paper);padding:20px 18px;width:100%;align-items:flex-start;
  min-width:0;overflow:hidden;
  border:1px solid color-mix(in srgb,var(--t2ink) 14%,transparent);margin:0 0 -1px -1px}
.tc2-cstatn .elementor-heading-title{font-family:var(--t2fh);font-size:30px;font-weight:900;
  letter-spacing:-.03em;color:var(--t2ink)!important;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.tc2-cstatl .elementor-heading-title{font-family:var(--t2fb)!important;font-size:10px;
  font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  color:var(--t2mut)!important;margin-top:6px}

/* ═══════════════════════════════════════════════════════════════════
   THE CARD — 04 Ways to Play / 05 Sponsors / Close / Header / Footer
   ═══════════════════════════════════════════════════════════════════ */

/* ── 04 · packages ─────────────────────────────────────────────── */
.tc2-pk{display:grid!important;width:100%;background:transparent;border:0;gap:0;
  /* The organiser decides how many packages exist. A fixed 3-column grid
     stranded a 4th on its own row; auto-fit lays out any count evenly. */
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
@media(max-width:640px){.tc2-pk{grid-template-columns:1fr}}
/* Cards in a row must align even when one has perks and another has none. */
.tc2-pkc{justify-content:flex-start}
.tc2-pklist{flex:1 1 auto}
.tc2-pkc .tc2-btn{margin-top:auto}
.tc2-pkc{background:var(--t2paper);padding:40px 34px!important;position:relative;
  width:100%;align-items:flex-start;transition:background .3s;
  border:1px solid color-mix(in srgb,var(--t2ink) 16%,transparent);
  margin:0 0 -1px -1px}
.tc2-pkc:hover{background:var(--t2tint)}
.tc2-pkbadge{position:absolute!important;top:0;right:0;width:auto!important;z-index:2}
.tc2-pkbadge .elementor-heading-title{font-family:var(--t2fb)!important;font-size:9.5px;
  font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  background:var(--t2acc);color:var(--t2onacc)!important;padding:7px 14px;display:block}
/* an unset badge must not leave a floating gold tab */
.tc2-pkbadge:has(.elementor-heading-title:empty){display:none!important}
.tc2-pkbadge .elementor-heading-title:empty{display:none}
.tc2-pknm .elementor-heading-title{font-family:var(--t2fh);font-size:21px;font-weight:600;
  color:var(--t2ink)!important;margin-bottom:6px}
.tc2-pkwho .elementor-heading-title{font-family:var(--t2fb)!important;font-size:13px;
  color:var(--t2mut)!important;margin-bottom:26px}
.tc2-pkpr .elementor-heading-title{font-family:var(--t2fh);font-size:clamp(36px,4.4vw,52px);
  font-weight:900;letter-spacing:-.045em;line-height:.9;color:var(--t2ink)!important}
.tc2-pklist{width:100%;margin:26px 0 30px}
.tc2-pklist ul{list-style:none;margin:0;padding:0}
.tc2-pklist li{font-family:var(--t2fb)!important;font-size:14px;color:var(--t2mut);
  padding:9px 0 9px 22px;position:relative;
  border-top:1px solid color-mix(in srgb,var(--t2ink) 10%,transparent)}
.tc2-pklist li:first-child{border-top:0}
.tc2-pklist li::before{content:"";position:absolute;left:0;top:16px;width:9px;height:1px;
  background:var(--t2acc)}
.tc2-btn-outdark .elementor-button{background:transparent!important;
  background-image:none!important;color:var(--t2ink)!important;border:0!important;
  box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--t2ink) 40%,transparent)!important}

/* ── 05 · sponsor wall ─────────────────────────────────────────── */
.tc2-tiers{width:100%}
.tc2-tier{width:100%;margin-bottom:52px;align-items:flex-start}
.tc2-tier:last-child{margin-bottom:0}
.tc2-tierhead{display:flex!important;flex-direction:row!important;align-items:baseline;
  gap:10px;width:100%;flex-wrap:wrap;
  /* Spacing belongs to the GRID below, not the head. With no grid there is
     nothing to space away from, and a tier collapses to a single line. */
  margin-bottom:0;padding:0!important}
.tc2-tierqty{width:auto!important;padding:0!important}
.tc2-slots{margin-top:20px}
/* Elementor containers carry default padding and a row gap; a tier whose slot
   grid was dropped was left holding both. */
.tc2-tier{margin-bottom:26px;padding:0!important;gap:0!important}
.tc2-tier:last-child{margin-bottom:0}
.tc2-tiers{gap:0!important;padding:0!important}
.tc2-tiern .elementor-heading-title{font-family:var(--t2fb)!important;font-size:15px;
  font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:inherit!important}
.tc2-tieramt .elementor-heading-title{font-family:var(--t2fb)!important;font-size:11.5px;
  font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--t2acc)!important}
.tc2-slots{display:grid!important;grid-template-columns:repeat(4,1fr);gap:0;width:100%;
  background:transparent;border:0}
@media(max-width:900px){.tc2-slots{grid-template-columns:repeat(2,1fr)}}
.tc2-slot{background:var(--t2deep);aspect-ratio:16/8;width:100%;
  align-items:center;justify-content:center;text-align:center;padding:12px!important;
  transition:background .3s;border:1px solid rgba(255,255,255,.16);
  margin:0 0 -1px -1px}
.tc2-slot:hover{background:color-mix(in srgb,var(--t2p) 55%,var(--t2deep))}
.tc2-slotn .elementor-heading-title{font-family:var(--t2fh);font-weight:600;font-size:15px;
  color:rgba(255,255,255,.9)!important;text-align:center}
/* An unsold slot advertises the remaining inventory. The row supplies the
   modifier class (SLOT_CLASS), so this never depends on :empty firing. */
.tc2-slot-open{background:transparent!important}
.tc2-slot-open:hover{background:rgba(255,255,255,.04)!important}
/* The heading widget renders NOTHING when its title is empty, so the label
   hangs off the container — which always exists. */
.tc2-slot-open::after{content:"Slot available";
  font-family:var(--t2fb);font-size:10.5px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(255,255,255,.42);text-align:center}

/* ── closing ───────────────────────────────────────────────────── */
.tc2-close{width:100%;background:var(--t2deep);color:#fff;position:relative;overflow:hidden}
.tc2-close::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 70% at 50% 0%,
    color-mix(in srgb,var(--t2p2) 40%,transparent),transparent 70%)}
.tc2-closew{position:relative;z-index:2;align-items:center!important;text-align:center}
.tc2-closeh .elementor-heading-title{font-family:var(--t2fh);font-weight:600;
  font-size:clamp(36px,6.2vw,84px);line-height:.94;letter-spacing:-.035em;
  color:#fff!important;margin-bottom:22px;text-align:center}
.tc2-closep p{font-family:var(--t2fb)!important;font-size:18px;
  color:rgba(255,255,255,.7);max-width:52ch;margin:0 auto 38px;text-align:center}
.tc2-closebtns{display:flex!important;flex-direction:row!important;gap:12px;
  justify-content:center;flex-wrap:wrap;width:auto}

/* ── header ────────────────────────────────────────────────────── */
.tc2-hdr{position:sticky;top:0;z-index:100;width:100%;
  background:color-mix(in srgb,var(--t2bg) 88%,transparent);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid color-mix(in srgb,var(--t2ink) 10%,transparent)}
.tc2-hdrwrap{max-width:1240px;width:100%;margin:0 auto;padding:0 32px;
  display:flex!important;flex-direction:row!important;align-items:center;
  justify-content:space-between;min-height:76px;gap:24px}
@media(max-width:700px){.tc2-hdrwrap{padding:0 20px}}
.tc2-brand{display:flex!important;flex-direction:row!important;align-items:center;
  gap:13px;width:auto}
.tc2-mark .elementor-heading-title{width:38px;height:38px;border-radius:50%;
  border:1.5px solid var(--t2p);display:flex;align-items:center;justify-content:center;
  font-size:15px;color:var(--t2p)!important}
.tc2-mark .elementor-heading-title a{color:inherit!important;text-decoration:none!important}
.tc2-brandn .elementor-heading-title,
.tc2-brandn .elementor-heading-title a{font-family:var(--t2fh);font-size:19px;
  font-weight:700;letter-spacing:-.01em;color:var(--t2ink)!important;
  text-decoration:none!important}
.tc2-hnav{display:flex!important;flex-direction:row!important;align-items:center;
  gap:32px;width:auto}
.tc2-navlink .elementor-button{background:transparent!important;background-image:none!important;
  padding:0!important;border:0!important;box-shadow:none!important;
  font-family:var(--t2fb)!important;font-size:13.5px;font-weight:600;
  color:var(--t2ink)!important;opacity:.72;text-transform:none;letter-spacing:.01em;
  text-decoration:none!important;transition:opacity .15s}
.tc2-navlink .elementor-button:hover{opacity:1;transform:none}
.tc2-navlink .elementor-button::after{display:none}
.tc2-btn-p .elementor-button{background:var(--t2p)!important;background-image:none!important;
  color:#fff!important;box-shadow:none!important}
.tc2-btn-sm .elementor-button{padding:13px 24px;font-size:13px}
@media(max-width:920px){.tc2-navlink{display:none}.tc2-hnav{gap:0}}

/* ── footer ────────────────────────────────────────────────────── */
.tc2-ftr{width:100%;background:color-mix(in srgb,#000 30%,var(--t2deep));
  color:rgba(255,255,255,.6);position:relative;z-index:2}
.tc2-ftr .tc2-mark .elementor-heading-title{border-color:rgba(255,255,255,.45);
  color:#fff!important}
.tc2-ftr .tc2-brandn .elementor-heading-title{color:#fff!important}
.tc2-ftrtop{display:flex!important;flex-direction:row!important;
  justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap;width:100%;
  padding-bottom:30px;margin-bottom:26px;border-bottom:1px solid rgba(255,255,255,.1)}
.tc2-ftrbrand{width:auto;align-items:flex-start}
.tc2-powered .elementor-heading-title{font-family:var(--t2fb)!important;font-size:12px;
  font-weight:500;color:rgba(255,255,255,.6)!important;margin-top:10px}
.tc2-flinks{display:flex!important;flex-direction:row!important;gap:26px;flex-wrap:wrap;
  width:auto}
.tc2-flink .elementor-button{background:transparent!important;background-image:none!important;
  padding:0!important;border:0!important;box-shadow:none!important;
  font-family:var(--t2fb)!important;font-size:13.5px;font-weight:500;text-transform:none;
  color:rgba(255,255,255,.75)!important;text-decoration:none!important}
.tc2-flink .elementor-button:hover{color:#fff!important;transform:none}
.tc2-flink .elementor-button::after{display:none}
.tc2-fine{width:100%}
.tc2-finel .elementor-heading-title{font-family:var(--t2fb)!important;font-size:12px;
  font-weight:400;color:rgba(255,255,255,.55)!important}
/* ═══════════════════════════════════════════════════════════════════
   PAYFORM FORMS — themed to The Card
   Selectors read off the live /register/ markup, not inferred. PayForm
   owns behaviour and structure; tc2 owns appearance. Squared corners,
   hairline rows, Fraunces figures — the same language as the page.
   ═══════════════════════════════════════════════════════════════════ */

/* Hello prints the page title above Elementor content; the form supplies its
   own heading, so the duplicate goes. */
body.page .entry-title{display:none}

.pfwp-form-wrap{font-family:var(--t2fb)}
.pfwp-form-card{background:var(--t2paper)!important;border-radius:0!important;
  border:1px solid color-mix(in srgb,var(--t2ink) 16%,transparent)!important;
  box-shadow:0 24px 60px rgba(6,37,26,.07)!important;padding:46px 42px!important}
@media(max-width:700px){.pfwp-form-card{padding:30px 22px!important}}

.pfwp-form-header{text-align:center;padding-bottom:26px;
  border-bottom:1px solid color-mix(in srgb,var(--t2ink) 12%,transparent)}
.pfwp-form-header h1,.pfwp-form-header h2{font-family:var(--t2fh)!important;
  font-weight:600!important;letter-spacing:-.03em;line-height:1.05!important;
  font-size:clamp(28px,3.4vw,40px)!important;color:var(--t2ink)!important;
  margin:14px 0 6px!important}
.pfwp-badge{font-family:var(--t2fb)!important;font-size:10.5px!important;
  font-weight:800!important;letter-spacing:.26em!important;text-transform:uppercase;
  background:transparent!important;color:var(--t2acc)!important;
  padding:0!important;border-radius:0!important}
.pfwp-spots-remaining{font-family:var(--t2fb)!important;font-size:11px!important;
  font-weight:800!important;letter-spacing:.18em;text-transform:uppercase;
  background:transparent!important;color:var(--t2mut)!important;border-radius:0!important;
  border:1px solid color-mix(in srgb,var(--t2ink) 20%,transparent)!important;
  padding:7px 14px!important;display:inline-block;margin-top:14px}

.pfwp-step-dot{width:22px!important;height:2px!important;border-radius:0!important;
  background:color-mix(in srgb,var(--t2ink) 18%,transparent)!important;
  transition:background .3s}
.pfwp-step-dot.active{background:var(--t2p)!important}

.pfwp-section-title{font-family:var(--t2fb)!important;font-size:11px!important;
  font-weight:800!important;letter-spacing:.26em!important;text-transform:uppercase;
  color:var(--t2acc)!important;border-bottom:0!important;margin:34px 0 16px!important}

.pfwp-options{border-top:1px solid color-mix(in srgb,var(--t2ink) 14%,transparent)}
.pfwp-option-card,.pfwp-checkbox-row{background:transparent!important;
  border-radius:0!important;border:0!important;padding:20px 4px!important;
  border-bottom:1px solid color-mix(in srgb,var(--t2ink) 14%,transparent)!important;
  transition:background .2s,padding-left .2s}
.pfwp-option-card:hover{padding-left:12px!important;
  background:color-mix(in srgb,var(--t2acc) 7%,transparent)!important}
.pfwp-option-name{font-family:var(--t2fh)!important;font-size:17px!important;
  font-weight:600!important;color:var(--t2ink)!important}
.pfwp-option-desc{font-family:var(--t2fb)!important;font-size:13px!important;
  color:var(--t2mut)!important}
.pfwp-option-price,.pfwp-checkbox-price{font-family:var(--t2fh)!important;
  font-size:24px!important;font-weight:900!important;letter-spacing:-.03em;
  color:var(--t2ink)!important;font-variant-numeric:tabular-nums}

.pfwp-btn{font-family:var(--t2fb)!important;font-weight:700!important;
  font-size:13.5px!important;letter-spacing:.06em!important;text-transform:uppercase;
  border-radius:2px!important;padding:16px 30px!important;
  transition:transform .2s,filter .2s}
.pfwp-btn:hover{transform:translateY(-2px)}
.pfwp-btn-primary{background:var(--t2p)!important;background-image:none!important;
  color:#fff!important;border:0!important;box-shadow:none!important}
.pfwp-btn-primary:hover{filter:brightness(1.08)}
.pfwp-btn-secondary,.pfwp-btn-outline{background:transparent!important;
  background-image:none!important;color:var(--t2ink)!important;border:0!important;
  box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--t2ink) 34%,transparent)!important}
.pfwp-btn-secondary:hover,.pfwp-btn-outline:hover{color:var(--t2p)!important;
  box-shadow:inset 0 0 0 1.5px var(--t2p)!important}
.pfwp-nav-row{margin-top:26px;gap:10px}

.pfwp-summary{background:transparent!important;border-radius:0!important;
  border-top:1px solid color-mix(in srgb,var(--t2ink) 20%,transparent)!important;
  padding-top:18px!important;margin-top:24px!important}
.pfwp-summary-row.total{font-family:var(--t2fh)!important;font-weight:800!important;
  color:var(--t2ink)!important}
.pfwp-summary-amount{font-family:var(--t2fh)!important;font-weight:900!important;
  color:var(--t2p)!important;font-variant-numeric:tabular-nums}
.pfwp-text-muted,.pfwp-consent-hint,.pfwp-privacy-notice{
  font-family:var(--t2fb)!important;font-size:12.5px!important;color:var(--t2mut)!important}
.pfwp-consent-block{margin-top:22px;padding-top:18px;
  border-top:1px solid color-mix(in srgb,var(--t2ink) 14%,transparent)}

.pfwp-success-screen{font-family:var(--t2fb)}
.pfwp-success-name,.pfwp-success-package{font-family:var(--t2fh)!important;
  font-weight:600!important;color:var(--t2ink)!important}
.pfwp-success-subtitle,.pfwp-success-note{color:var(--t2mut)!important}


/* ═══ SPONSOR WALL — [pfwp_sponsor_wall] ═════════════════════════════
   PayForm renders the tiers and the slots at request time; tc2 owns the
   appearance. Replaces the baked-in wall, which showed every slot open
   forever no matter who paid. */
.tc2-wallwrap{width:100%}
.tc2-wall p{margin:0}
.pfwp-wall{display:flex;flex-direction:column;gap:34px;width:100%}
.pfwp-wall-tier{width:100%}
.pfwp-wall-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
  margin-bottom:16px}
.pfwp-wall-name{font-family:var(--t2fb);font-size:15px;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;color:inherit}
.pfwp-wall-amt{font-family:var(--t2fb);font-size:11.5px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--t2acc)}
.pfwp-wall-qty{font-family:var(--t2fb);font-size:11.5px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45);
  margin-left:auto}
.pfwp-wall-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:0;width:100%}
.pfwp-wall-slot{aspect-ratio:16/8;display:flex;align-items:center;justify-content:center;
  text-align:center;padding:12px;text-decoration:none;
  border:1px solid rgba(255,255,255,.16);margin:0 0 -1px -1px;
  transition:background .3s}
.pfwp-wall-slot.is-taken{background:var(--t2deep);
  font-family:var(--t2fh);font-weight:600;font-size:15px;color:rgba(255,255,255,.92)}
.pfwp-wall-slot.is-taken:hover{background:color-mix(in srgb,var(--t2p) 55%,var(--t2deep))}
.pfwp-wall-slot.is-taken img{max-width:100%;max-height:64px;width:auto;height:auto;
  object-fit:contain}
.pfwp-wall-slot.is-open{background:transparent;
  font-family:var(--t2fb);font-size:10.5px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(255,255,255,.4)}
.pfwp-wall-slot.is-open:hover{background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.72)}
@media(max-width:640px){
  .pfwp-wall-slots{grid-template-columns:repeat(2,1fr)}
  .pfwp-wall-qty{margin-left:0;width:100%}}

/* ══════════════════════════════════════════════════════════════
   REGISTER PAGE — 0.15.1
   Rewritten against the theme's own conventions:
     · target the INNER element (.elementor-heading-title / .elementor-button),
       never the widget wrapper — the Global Kit wins otherwise
     · !important on colour, font-family and background, as everywhere above
     · force flex direction here too, the way .tc2-closebtns does
   Reuses .tc2-wrap, .tc2-close*, .tc2-btn-acc and .tc2-btn-out unchanged.
   ══════════════════════════════════════════════════════════════ */

/* ── hero ── */
.tc2-rhero{width:100%;background:var(--t2deep);position:relative;overflow:hidden}
.tc2-rhero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 70% at 50% 0%,
    color-mix(in srgb,var(--t2p2) 38%,transparent),transparent 70%)}
.tc2-rtopowrap{display:none}
.tc2-rhin{position:relative;z-index:2;align-items:center!important;text-align:center;
  padding-top:72px;padding-bottom:64px}
.tc2-rbadge .elementor-heading-title{display:inline-block;width:auto;
  font-family:var(--t2fb)!important;font-weight:700;font-size:10.5px;
  letter-spacing:.22em;text-transform:uppercase;color:var(--t2acc)!important;
  border:1px solid color-mix(in srgb,var(--t2acc) 45%,transparent);
  border-radius:999px;padding:9px 20px;margin-bottom:26px}
.tc2-rh1 .elementor-heading-title{font-family:var(--t2fh)!important;font-weight:600;
  font-size:clamp(36px,6.2vw,80px);line-height:.94;letter-spacing:-.035em;
  color:#fff!important;margin-bottom:20px;text-align:center}
.tc2-rlede p{font-family:var(--t2fb)!important;font-size:18px;line-height:1.6;
  color:rgba(255,255,255,.72)!important;max-width:54ch;margin:0 auto;text-align:center}
.tc2-rmeta .elementor-heading-title{display:flex;align-items:center;justify-content:center;
  gap:16px;flex-wrap:wrap;margin-top:34px;font-family:var(--t2fb)!important;
  font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.62)!important}
.tc2-rmeta .dot{display:inline-block;width:4px;height:4px;border-radius:50%;
  background:var(--t2acc);flex:0 0 auto}

/* ── progress strip: the shortcodes draw their own panel, do NOT wrap them ── */
.tc2-rstrip{width:100%;background:transparent}
.tc2-rstripin{display:flex!important;flex-direction:row!important;gap:20px;
  flex-wrap:wrap;align-items:stretch;padding-top:0;padding-bottom:0;
  transform:translateY(-34px)}
.tc2-rprog{flex:1 1 340px;min-width:0;background:transparent;border:0;
  padding:0;box-shadow:none}

/* ── what's included ── */
.tc2-rinc{width:100%;background:transparent}
.tc2-rincin{align-items:stretch!important;text-align:center;
  width:100%!important;padding-top:12px;padding-bottom:42px}
.tc2-reyebrow .elementor-heading-title{font-family:var(--t2fb)!important;font-weight:700;
  font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--t2mut)!important;margin-bottom:30px;text-align:center}
/* GRID, not flex. align-items:center on a parent makes a flex child shrink to
   content, which collapsed both card rows to roughly half the container and
   wrapped 4 cards as 3+1. Grid tracks size from the container, and the wraps
   below no longer centre via align-items at all. */
.tc2-rincgrid{display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:14px;width:100%!important;max-width:100%!important;
  align-self:stretch!important}
.tc2-rinccard{max-width:none!important;width:auto!important;background:var(--t2paper);
  border:1px solid color-mix(in srgb,var(--t2ink) 9%,transparent);
  border-radius:3px;padding:26px 20px}
.tc2-rinct .elementor-heading-title{font-family:var(--t2fb)!important;font-weight:600;
  font-size:14.5px;line-height:1.45;color:var(--t2ink)!important;text-align:center}

/* ── form + sidebar ── */
.tc2-rmain{width:100%;background:transparent}
/* The children here are CONTAINERS, and Elementor gives a container child
   width:100%. In a wrapping row that means each one claims the full line and
   the columns stack. Pin the widths and forbid the wrap above the breakpoint. */
.tc2-rmainin{max-width:1240px;width:100%;margin:0 auto;padding:0 32px 52px;
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
  align-items:stretch!important;gap:42px}
/* ── ALIGNED BOTTOM EDGES ──────────────────────────────────────
   Earlier passes tried to stretch PayForm's card by pushing height down
   through four nested wrappers (widget -> widget-container -> pfwp-form-wrap
   -> pfwp-form-card). If any one of those is not what we expect on a given
   Elementor build the stretch stops there and the card never grows — a
   fragile way to guarantee a visual result.

   So the COLUMN is the card now. .tc2-rformcol already stretches to the row
   height (the row is align-items:stretch), so moving the background, border,
   shadow and padding onto it makes the visible panel exactly as tall as the
   sidebar, with no dependency on PayForm's internal markup at all.
   PayForm's own card is flattened so it cannot draw a second panel inside. */
.tc2-rformcol{display:flex!important;flex-direction:column!important;gap:0!important;
  background:var(--t2paper);
  border:1px solid color-mix(in srgb,var(--t2ink) 16%,transparent);
  box-shadow:0 24px 60px rgba(6,37,26,.07);
  padding:54px 42px}
.tc2-rformcol .pfwp-form-card{background:transparent!important;border:0!important;
  box-shadow:none!important;padding:0!important;border-radius:0!important}

/* Anchor the submit button to the bottom of the panel rather than centring the
   form in the leftover space. Centring leaves a gap above AND below, so the
   button floats away from the fields it belongs to; anchoring makes it read as
   the terminal action and lines it up with the bottom of the last sidebar card.
   Measured chain (browser, not assumed):
     .pfwp-form-card > .pfwp-step-panel.active > .pfwp-nav-row > button
   Every level between the column and the button has to be a flex column or
   margin-top:auto has nothing to push against. Each selector below is a named
   element — a level that does not exist simply matches nothing. */
.tc2-rformcol > *,
.tc2-rformcol > .e-con-inner,
.tc2-rformcol .elementor-element,
.tc2-rformcol .elementor-widget-container,
.tc2-rformcol .pfwp-form-wrap,
.tc2-rformcol .pfwp-form-card,
.tc2-rformcol .pfwp-step-panel.active{
  flex:1 1 auto!important;display:flex!important;flex-direction:column!important;
  min-height:0}
.tc2-rformcol .pfwp-nav-row{margin-top:auto!important;padding-top:30px}

/* Sidebar cards keep their natural height, EXCEPT the last one, which takes
   up the slack when the sidebar is the shorter column.

   A boxed Elementor container wraps its children in .e-con-inner, so
   `.tc2-rside > *` matched THAT wrapper, not the cards — measured in the
   browser: last child class was `e-con-inner`, stretched to a perfect flush
   bottom while the card inside it stayed short. Target the cards by their own
   class instead, at whatever depth they sit, and make the wrapper itself fill
   so the card has room to stretch into. */
.tc2-rside > .e-con-inner{flex:1 1 auto!important;height:100%!important;
  display:flex!important;flex-direction:column!important;gap:16px!important;
  padding:0!important}
.tc2-rside .tc2-rcard,.tc2-rside .tc2-rquote{flex:0 0 auto!important}
.tc2-rside .tc2-rcard:last-child,.tc2-rside .tc2-rquote:last-child{flex:1 1 auto!important}
/* covers the unboxed case, where the cards are direct children */
.tc2-rside > *{flex:0 0 auto!important}
.tc2-rside > .tc2-rcard:last-child,.tc2-rside > .tc2-rquote:last-child{flex:1 1 auto!important}

@media(max-width:700px){
  .tc2-rformcol{padding:30px 22px}
  /* stacked: no second column to align against, so let the form sit naturally */
  .tc2-rformcol > *,.tc2-rformcol > .e-con-inner,.tc2-rformcol .elementor-element,
  .tc2-rformcol .elementor-widget-container,.tc2-rformcol .pfwp-form-wrap,
  .tc2-rformcol .pfwp-form-card,.tc2-rformcol .pfwp-step-panel.active{
    flex:0 0 auto!important}
  .tc2-rformcol .pfwp-nav-row{margin-top:0!important;padding-top:22px}
  /* stacked: nothing to align against, so let everything sit naturally */
  .tc2-rside > *:last-child{flex:0 0 auto!important}
}
/* `position:sticky` was here to stop a dead half-column when the form ran
   longer than the sidebar. The columns now align, so that cannot happen — and
   sticky positioning fights align-items:stretch. Removed. */
.tc2-rformcol{flex:1 1 auto!important;width:auto!important;min-width:0}
.tc2-rside{flex:0 0 340px!important;width:340px!important;min-width:0;
  display:flex!important;flex-direction:column!important;gap:16px!important;
  padding:0!important}
.tc2-rcard{background:var(--t2paper);
  border:1px solid color-mix(in srgb,var(--t2ink) 9%,transparent);
  border-radius:3px;padding:24px;gap:0!important}
.tc2-rcardh .elementor-heading-title{font-family:var(--t2fh)!important;font-weight:600;
  font-size:21px;letter-spacing:-.015em;color:var(--t2deep)!important;
  padding-bottom:11px;margin-bottom:13px;
  border-bottom:1px solid color-mix(in srgb,var(--t2ink) 11%,transparent)}
.tc2-rrows{display:flex!important;flex-direction:column!important;
  gap:12px!important;padding:0!important}
.tc2-rrow{gap:2px!important;padding:0!important}
.tc2-rrowk .elementor-heading-title{font-family:var(--t2fb)!important;font-weight:700;
  font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--t2mut)!important;margin-bottom:2px}
.tc2-rrowv .elementor-heading-title{font-family:var(--t2fh)!important;font-weight:500;
  font-size:15.5px;line-height:1.35;color:var(--t2ink)!important;margin:0}
.tc2-rsched{margin-top:16px;padding-top:14px;gap:0!important;
  border-top:1px solid color-mix(in srgb,var(--t2ink) 11%,transparent)}
.tc2-rsubh .elementor-heading-title{font-family:var(--t2fb)!important;font-weight:700;
  font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--t2mut)!important;margin-bottom:10px}
.tc2-rschlist{display:flex!important;flex-direction:column!important;
  gap:8px!important;padding:0!important}
.tc2-rschrow{display:flex!important;flex-direction:row!important;gap:12px!important;
  align-items:baseline;width:100%;padding:0!important}
.tc2-rschtime .elementor-heading-title{font-family:var(--t2fb)!important;font-weight:700;
  font-size:11.5px;letter-spacing:.06em;color:var(--t2acc)!important;white-space:nowrap}
.tc2-rschttl .elementor-heading-title{font-family:var(--t2fb)!important;font-weight:500;
  font-size:14px;line-height:1.45;color:var(--t2ink)!important}

/* ── where the money goes ── */
/* gap:0 — the heading and its paragraph are one unit; the 20px container
   default was reading as a paragraph break inside every item */
.tc2-rimprow{padding:11px 0!important;gap:3px!important;
  border-bottom:1px solid color-mix(in srgb,var(--t2ink) 8%,transparent)}
.tc2-rimprow:first-child{padding-top:0}
.tc2-rimprow:last-child{border-bottom:0;padding-bottom:0}
.tc2-rimpt .elementor-heading-title{font-family:var(--t2fb)!important;font-weight:700;
  font-size:14px;line-height:1.3;color:var(--t2deep)!important;margin-bottom:2px}
.tc2-rimpb p{font-family:var(--t2fb)!important;font-size:13.5px;line-height:1.55;
  color:var(--t2mut)!important;margin:0}

/* ── quote ── */
.tc2-rquote{background:var(--t2tint);border-radius:3px;padding:24px;gap:0!important}
.tc2-rqt p{font-family:var(--t2fh)!important;font-style:italic;font-size:16px;
  line-height:1.6;color:var(--t2deep)!important;margin:0}
.tc2-rqa .elementor-heading-title{font-family:var(--t2fb)!important;font-weight:700;
  font-size:11.5px;letter-spacing:.06em;color:var(--t2mut)!important;margin-top:16px}

/* ── mobile ── */
@media(max-width:980px){
  .tc2-rmainin{flex-direction:column!important;flex-wrap:wrap!important;
    gap:30px;padding:0 20px 60px}
  .tc2-rformcol,.tc2-rside{flex:1 1 auto!important;width:100%!important}
}
@media(max-width:700px){
  .tc2-rhin{padding-top:64px;padding-bottom:54px}
  .tc2-rstripin{transform:translateY(-22px);gap:14px}
  .tc2-rmeta .elementor-heading-title{gap:10px;font-size:10px}
}

/* ══════════════════════════════════════════════════════════════
   SPONSOR PAGE — 0.16.0
   Reuses every /register band except the two below. Same rules:
   inner-element targeting, !important, flex forced in both places.
   ══════════════════════════════════════════════════════════════ */

.tc2-seyebrow .elementor-heading-title{font-family:var(--t2fb)!important;font-weight:700;
  font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--t2mut)!important;margin-bottom:34px;text-align:center}

/* ── tier cards ── */
.tc2-stiers{width:100%;background:var(--t2deep);position:relative;overflow:hidden}
.tc2-stiers::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(70% 80% at 50% 0%,
    color-mix(in srgb,var(--t2p2) 26%,transparent),transparent 72%)}
.tc2-stiersin{position:relative;z-index:2;align-items:stretch!important;
  text-align:center;width:100%!important;padding-top:52px;padding-bottom:54px}
.tc2-stiers .tc2-seyebrow .elementor-heading-title{color:rgba(255,255,255,.55)!important}
.tc2-stiergrid{display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:16px;width:100%!important;max-width:100%!important;
  align-self:stretch!important}
.tc2-stier{max-width:none!important;width:auto!important;
  background:color-mix(in srgb,#fff 6%,transparent);
  border:1px solid rgba(255,255,255,.16);border-radius:3px;
  padding:28px 24px;display:flex!important;flex-direction:column!important;
  gap:0!important}
.tc2-stier{text-align:left}
.tc2-stierbadge{margin-bottom:12px}
.tc2-stierb .elementor-heading-title{font-family:var(--t2fb)!important;font-weight:700;
  font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--t2acc)!important}
.tc2-stiern .elementor-heading-title{font-family:var(--t2fh)!important;font-weight:600;
  font-size:23px;line-height:1.15;letter-spacing:-.02em;color:#fff!important;
  margin-bottom:10px}
.tc2-stiera .elementor-heading-title{font-family:var(--t2fh)!important;font-weight:600;
  font-size:38px;line-height:1;letter-spacing:-.03em;color:var(--t2acc)!important;
  margin-bottom:20px}
.tc2-stierperks{margin-bottom:18px}
.tc2-stierp ul{list-style:none;margin:0;padding:0}
.tc2-stierp li{position:relative;padding-left:22px;margin-bottom:9px;
  font-family:var(--t2fb)!important;font-size:13.5px;line-height:1.5;
  color:rgba(255,255,255,.78)}
.tc2-stierp li::before{content:"";position:absolute;left:0;top:7px;width:9px;height:5px;
  border-left:1.5px solid var(--t2acc);border-bottom:1.5px solid var(--t2acc);
  transform:rotate(-45deg)}
.tc2-stierqty{margin-top:auto;padding-top:14px;
  border-top:1px solid rgba(255,255,255,.14)}
.tc2-stierq .elementor-heading-title{font-family:var(--t2fb)!important;font-weight:700;
  font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.5)!important}

/* ── sponsor wall band (the wall itself is already styled above) ── */
/* Colour rhythm: hero deep -> stats light -> tiers deep -> form light ->
   sponsors MID -> CTA deep -> footer darkest. The band was light, which put two
   light sections back to back and made it dissolve into the form above it.
   --t2p rather than --t2deep so it layers against the tier band and the CTA
   instead of repeating them. */
.tc2-swall{width:100%;background:var(--t2p);position:relative;overflow:hidden}
.tc2-swall::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(75% 90% at 50% 0%,
    color-mix(in srgb,#000 16%,transparent),transparent 70%)}
.tc2-swallin{position:relative;z-index:2;align-items:stretch!important;
  text-align:center;width:100%!important;padding-top:44px;padding-bottom:48px}
.tc2-swall .tc2-seyebrow .elementor-heading-title{color:rgba(255,255,255,.62)!important}

/* ── sponsor ticker ── */
.tc2-swall .pfwp-sponsor-ticker{background:transparent!important;padding:0!important}
.tc2-swall .pfwp-sponsor-ticker-eyebrow{display:none}
.tc2-swall .pfwp-sponsor-ticker-item{color:#fff}
.tc2-swall .pfwp-sponsor-ticker-logo{background:#fff;border-radius:2px;padding:10px}
.tc2-swall .pfwp-sponsor-ticker-placeholder{color:#fff;
  font-family:var(--t2fb)!important;border-color:rgba(255,255,255,.55)}
.tc2-swall .pfwp-sponsor-ticker-fallback{font-family:var(--t2fh)!important;color:#fff}
/* the wall is rendered by PayForm at request time; if it comes back empty the
   band would otherwise be an eyebrow floating over nothing */
.tc2-swall:has(.pfwp-wall:empty){display:none}
.tc2-swall:has(.tc2-wall:empty){display:none}
/* PayForm 2.20.2+ fills an empty wall with an invitation instead.
   .pfwp-wall (same element) sets flex-direction:column, so without overriding
   it the anchor stretches full width and reads as left-aligned text under a
   full-width rule. */
.pfwp-wall.pfwp-wall-empty{display:flex!important;flex-direction:row!important;
  justify-content:center!important;gap:0!important;padding:0!important}
/* The empty-state panel that used to live here is gone: /sponsor now uses the
   TICKER, which fills its rail with "Your logo here" placeholders (PayForm
   2.20.3) and so is never empty. The wall's own empty-state rules stay below
   for any page that still uses [pfwp_sponsor_wall]. */
/* the populated wall keeps its own spacing */
.pfwp-wall-cta{align-self:center}

@media(max-width:700px){
  .tc2-stiersin{padding-top:48px;padding-bottom:48px}
  .tc2-stier{flex:1 1 100%;max-width:none}
  .tc2-swallin{padding-top:44px;padding-bottom:50px}
}

/* ── 0.25.1 — live sponsor tiers ─────────────────────────────────────
   Tier cards used to be BAKED into this page at provision, so an organiser who
   edited a price saw the form change while the public page advertised the old
   one. They now come from [pfwp_sponsor_tiers] at request time.

   These rules are the ORIGINAL .tc2-stier card declarations, not new ones.
   0.25.0 invented its own and got it wrong: it took the background from
   var(--t2tint) — which is a LIGHT tint in every palette — while hardcoding
   white text. Fine on Fairway and Midnight, unreadable on Sunset and Heritage.
   The original used 6% white over the dark band, which inherits whatever is
   behind it and therefore works under all six palettes. Reuse beats reinvention. */
.pfwp-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;
  align-items:stretch;}
.pfwp-tier{background:color-mix(in srgb,#fff 6%,transparent);
  border:1px solid rgba(255,255,255,.16);border-radius:3px;
  padding:28px 24px;display:flex;flex-direction:column;text-align:left;}
.pfwp-tier__name{font-family:var(--t2fh);font-weight:600;font-size:23px;line-height:1.15;
  letter-spacing:-.02em;color:#fff;margin:0 0 6px;}
.pfwp-tier__amt{font-family:var(--t2fh);font-weight:600;font-size:34px;line-height:1;
  letter-spacing:-.02em;color:var(--t2acc);margin-bottom:14px;}
.pfwp-tier__perks{list-style:none;margin:0 0 18px;padding:0;}
.pfwp-tier__perks li{position:relative;padding-left:22px;margin-bottom:9px;
  font-family:var(--t2fb);font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.80);}
.pfwp-tier__perks li::before{content:"";position:absolute;left:0;top:7px;width:9px;height:5px;
  border-top:1px solid var(--t2acc);}
.pfwp-tier__qty{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);
  font-family:var(--t2fb);font-weight:700;font-size:9.5px;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(255,255,255,.60);}
@media (max-width:767px){.pfwp-tier{padding:22px 18px;}}

/* 0.30.2 — the organiser's logo in the header.
   Added markup in 0.30.0 and no CSS with it, so a real upload rendered at its
   native size and tore the header apart. Constrain by HEIGHT and let the width
   follow: logos arrive square, wide, and everything between, and a width cap
   makes a tall crest microscopic. Targets the inner <img> per the house rule —
   Elementor's image widget wraps it. */
.tc2-logo-img{flex:0 0 auto;padding:0}
.tc2-logo-i img{max-height:48px!important;width:auto!important;max-width:220px!important;
  height:auto!important;display:block;object-fit:contain}
@media(max-width:640px){.tc2-logo-i img{max-height:38px!important;max-width:150px!important}}
