/* Team Sam Sponsor 1.2 — isolated, full-bleed campaign layout */
.tss-wrap{
  --tss-black:#0a0a0a;--tss-white:#fff;--tss-paper:#f2f0e9;--tss-grey:#a4a39f;--tss-line:#d5d2ca;
  position:relative!important;left:50%!important;right:50%!important;width:100vw!important;max-width:none!important;
  margin-left:-50vw!important;margin-right:-50vw!important;margin-top:0!important;margin-bottom:0!important;
  overflow:hidden!important;background:var(--tss-paper)!important;color:var(--tss-black)!important;
  font-family:Arial,Helvetica,sans-serif!important;font-size:16px!important;line-height:1.35!important;text-align:left!important;
}
.tss-wrap,.tss-wrap *,.tss-wrap *:before,.tss-wrap *:after{box-sizing:border-box!important}
.tss-wrap h1,.tss-wrap h2,.tss-wrap h3,.tss-wrap p,.tss-wrap form{margin-top:0!important}
.tss-wrap h1,.tss-wrap h2,.tss-wrap h3,.tss-wrap strong,.tss-wrap span,.tss-wrap small,.tss-wrap p,.tss-wrap button,.tss-wrap input,.tss-wrap label{font-family:Arial,Helvetica,sans-serif!important}
.tss-wrap h1,.tss-wrap h2,.tss-wrap h3{color:inherit!important;text-shadow:none!important;background:none!important;border:0!important;padding:0!important}
.tss-inner{width:min(1380px,calc(100% - 96px))!important;margin:0 auto!important;max-width:none!important}

.tss-hero{position:relative!important;display:flex!important;align-items:flex-end!important;background-color:var(--tss-black)!important;background-position:center 32%!important;background-size:cover!important;color:#fff!important;isolation:isolate!important}
.tss-hero.has-image{min-height:clamp(560px,78vh,880px)!important}
.tss-hero.no-image{min-height:480px!important}
.tss-hero:after{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.18) 65%,rgba(0,0,0,.05))!important;z-index:-1!important}
.tss-hero.no-image:after{background:linear-gradient(115deg,#080808 0%,#171717 100%)!important}
.tss-hero .tss-inner{padding:80px 0 74px!important}
.tss-kicker,.tss-sub,.tss-num,.tss-meter small,.tss-card small{display:block!important;color:inherit!important;font-size:12px!important;line-height:1.2!important;letter-spacing:.28em!important;font-weight:800!important;text-transform:uppercase!important}
.tss-hero h1{max-width:900px!important;margin:22px 0 28px!important;font-size:clamp(78px,10.5vw,170px)!important;line-height:.78!important;letter-spacing:-.065em!important;font-weight:900!important;text-transform:uppercase!important;color:#fff!important}
.tss-sub{font-size:13px!important}

.tss-progress{display:grid!important;grid-template-columns:minmax(260px,.65fr) minmax(420px,1.35fr)!important;gap:clamp(60px,9vw,150px)!important;align-items:end!important;padding:82px 0 88px!important;background:transparent!important}
.tss-intro{max-width:390px!important;color:#171717!important;font-size:16px!important;line-height:1.55!important;font-weight:400!important}
.tss-meter>div:first-child{display:flex!important;align-items:baseline!important;gap:20px!important;flex-wrap:wrap!important}
.tss-meter strong{color:#090909!important;font-size:clamp(76px,8.4vw,132px)!important;line-height:.78!important;letter-spacing:-.07em!important;font-weight:900!important}
.tss-meter span{color:#9b9993!important;font-size:clamp(28px,3.2vw,48px)!important;line-height:1!important;letter-spacing:-.04em!important;font-weight:400!important}
.tss-bar{position:relative!important;height:7px!important;margin:28px 0 13px!important;background:var(--tss-line)!important;overflow:hidden!important}
.tss-bar i{display:block!important;height:100%!important;background:#090909!important}
.tss-meter small{color:#090909!important}

.tss-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important;background:#090909!important}
.tss-card,.tss-card:nth-child(n){position:relative!important;grid-column:auto!important;min-width:0!important;min-height:610px!important;margin:0!important;padding:0!important;background-color:#111!important;background-position:center!important;background-size:cover!important;color:#fff!important;border:0!important;border-right:1px solid rgba(255,255,255,.22)!important;border-bottom:1px solid rgba(255,255,255,.22)!important;overflow:hidden!important;isolation:isolate!important}
.tss-card:before{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(0,0,0,.08) 12%,rgba(0,0,0,.18) 45%,rgba(0,0,0,.91) 100%)!important;z-index:-1!important}
.tss-card-content{position:absolute!important;inset:0!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;padding:42px!important}
.tss-num{position:absolute!important;top:38px!important;left:42px!important;color:#fff!important}
.tss-card h2,.tss-card:nth-child(n) h2{max-width:95%!important;margin:0 0 14px!important;color:#fff!important;font-size:clamp(42px,4vw,68px)!important;line-height:.82!important;letter-spacing:-.055em!important;font-weight:900!important;text-transform:uppercase!important}
.tss-desc{max-width:430px!important;color:rgba(255,255,255,.86)!important;font-size:14px!important;line-height:1.45!important}
.tss-desc p{margin:0 0 12px!important;color:inherit!important;font-size:inherit!important;line-height:inherit!important}
.tss-price{margin:10px 0 18px!important;color:#fff!important;font-size:clamp(34px,3.5vw,52px)!important;line-height:1!important;letter-spacing:-.04em!important;font-weight:900!important;text-transform:uppercase!important}
.tss-blocks{display:flex!important;gap:4px!important;width:min(330px,100%)!important}
.tss-blocks i{display:block!important;flex:1 1 0!important;height:8px!important;background:rgba(255,255,255,.28)!important}
.tss-blocks i.on{background:#fff!important}.tss-card small{margin-top:9px!important;color:#fff!important;font-size:10px!important}
.tss-pay{display:flex!important;align-items:center!important;gap:20px!important;margin:24px 0 0!important;padding:0!important;background:none!important;border:0!important}
.tss-pay input{width:120px!important;min-height:46px!important;margin:0!important;padding:10px 12px!important;background:#fff!important;color:#111!important;border:1px solid #fff!important;border-radius:0!important;box-shadow:none!important;font-size:15px!important;font-weight:700!important}
.tss-pay button,.tss-details button{appearance:none!important;width:auto!important;margin:0!important;padding:12px 0!important;background:transparent!important;color:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;font-size:11px!important;line-height:1.2!important;letter-spacing:.2em!important;font-weight:900!important;text-transform:uppercase!important;cursor:pointer!important}
.tss-pay button:after{content:""!important;display:block!important;width:100%!important;height:1px!important;margin-top:8px!important;background:currentColor!important}
.tss-full{width:max-content!important;margin-top:22px!important;padding-bottom:8px!important;color:#fff!important;border-bottom:1px solid #fff!important;font-size:11px!important;letter-spacing:.2em!important;font-weight:900!important;text-transform:uppercase!important}
.tss-card.is-full:after{content:"FUNDED"!important;position:absolute!important;right:-28px!important;top:64px!important;color:#fff!important;font-size:72px!important;font-weight:900!important;letter-spacing:-.06em!important;opacity:.13!important;transform:rotate(90deg)!important}

.tss-thanks{display:grid!important;grid-template-columns:1.15fr .85fr!important;gap:90px!important;align-items:end!important;padding:110px 0 120px!important}
.tss-thanks .tss-kicker{color:#111!important}.tss-thanks h2{margin:22px 0 0!important;color:#0a0a0a!important;font-size:clamp(60px,7vw,108px)!important;line-height:.79!important;letter-spacing:-.06em!important;font-weight:900!important;text-transform:uppercase!important}
.tss-names{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;border-top:1px solid #bbb8b0!important;color:#111!important;font-size:10px!important;letter-spacing:.13em!important;font-weight:800!important;text-transform:uppercase!important}
.tss-names span{display:block!important;padding:17px 5px 17px 0!important;color:#111!important;border-bottom:1px solid #bbb8b0!important}

.tss-modal[hidden]{display:none!important}.tss-modal{position:fixed!important;inset:0!important;z-index:999999!important;display:grid!important;place-items:center!important;padding:20px!important;background:rgba(0,0,0,.82)!important}
.tss-dialog{position:relative!important;width:min(560px,100%)!important;padding:50px!important;background:var(--tss-paper)!important;color:#111!important}
.tss-dialog h3{margin:0 0 30px!important;color:#111!important;font-size:54px!important;line-height:.86!important;letter-spacing:-.05em!important;font-weight:900!important;text-transform:uppercase!important}
.tss-close{position:absolute!important;top:12px!important;right:18px!important;width:auto!important;margin:0!important;padding:0!important;background:none!important;color:#111!important;border:0!important;font-size:36px!important;cursor:pointer!important}
.tss-details{display:grid!important;gap:16px!important;margin:0!important;padding:0!important}.tss-details>input{width:100%!important;margin:0!important;padding:14px 0!important;background:transparent!important;color:#111!important;border:0!important;border-bottom:1px solid #999!important;border-radius:0!important;box-shadow:none!important;font-size:15px!important}.tss-details label{color:#111!important;font-size:12px!important}.tss-details button{width:100%!important;padding:18px!important;background:#111!important;color:#fff!important}.tss-error{color:#a00!important;font-size:13px!important}

@media(max-width:1099px){
 .tss-inner{width:min(100% - 56px,1380px)!important}.tss-progress{grid-template-columns:1fr 1.3fr!important;gap:50px!important}
 .tss-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.tss-card,.tss-card:nth-child(n){min-height:570px!important}
}
@media(max-width:759px){
 .tss-inner{width:calc(100% - 36px)!important}.tss-hero.has-image{min-height:560px!important}.tss-hero.no-image{min-height:360px!important}.tss-hero .tss-inner{padding:48px 0 44px!important}
 .tss-hero h1{margin:17px 0 22px!important;font-size:clamp(58px,18vw,88px)!important;line-height:.8!important}.tss-kicker,.tss-sub{font-size:10px!important;letter-spacing:.24em!important}
 .tss-progress{grid-template-columns:1fr!important;gap:34px!important;padding:48px 0 54px!important}.tss-intro{font-size:14px!important}.tss-meter strong{font-size:clamp(64px,19vw,88px)!important}.tss-meter span{font-size:25px!important}.tss-bar{margin-top:20px!important}
 .tss-grid{display:block!important}.tss-card,.tss-card:nth-child(n){width:100%!important;min-height:520px!important;border-right:0!important}.tss-card-content{padding:28px 24px!important}.tss-num{top:27px!important;left:24px!important}.tss-card h2,.tss-card:nth-child(n) h2{font-size:clamp(46px,14vw,68px)!important}.tss-desc{font-size:13px!important}.tss-price{font-size:40px!important}.tss-pay{align-items:flex-end!important;gap:16px!important}.tss-pay input{width:105px!important}.tss-pay button{max-width:190px!important;text-align:left!important}
 .tss-thanks{grid-template-columns:1fr!important;gap:48px!important;padding:72px 0 78px!important}.tss-thanks h2{font-size:clamp(52px,15vw,76px)!important}.tss-names{grid-template-columns:1fr 1fr!important}
 .tss-dialog{padding:38px 24px!important}.tss-dialog h3{font-size:46px!important}
}

/* v1.4 — complete sponsor card interaction */
.tss-card.is-clickable{cursor:pointer!important;transition:filter .28s ease!important}
.tss-card.is-clickable:before{transition:background .28s ease!important}
.tss-card.is-clickable .tss-card-content{transition:transform .32s ease!important}
.tss-card.is-clickable .tss-pay button{transition:opacity .25s ease,transform .25s ease!important}
@media (hover:hover) and (pointer:fine){
  .tss-card.is-clickable:hover{filter:brightness(1.13)!important}
  .tss-card.is-clickable:hover:before{background:linear-gradient(180deg,rgba(0,0,0,.02) 10%,rgba(0,0,0,.10) 44%,rgba(0,0,0,.76) 100%)!important}
  .tss-card.is-clickable:hover .tss-card-content{transform:translateY(-7px)!important}
  .tss-card.is-clickable:hover .tss-pay button{transform:translateX(5px)!important}
}
.tss-card.is-clickable:focus-visible{outline:3px solid #fff!important;outline-offset:-7px!important;filter:brightness(1.12)!important}
.tss-card.is-full{cursor:default!important}

/* v1.5 — sponsor choice in payment dialog + custom checkbox */
.tss-modal-kicker{display:block!important;margin:0 0 12px!important;color:#111!important;font-size:10px!important;line-height:1.2!important;letter-spacing:.28em!important;font-weight:900!important;text-transform:uppercase!important}
.tss-dialog .tss-modal-item{margin:0!important;color:#111!important;font-size:clamp(46px,5vw,68px)!important;line-height:.82!important;letter-spacing:-.055em!important;font-weight:900!important;text-transform:uppercase!important}
.tss-modal-price{margin:14px 0 32px!important;color:#111!important;font-size:25px!important;line-height:1!important;letter-spacing:-.025em!important;font-weight:900!important}
.tss-modal-price[hidden]{display:none!important}
.tss-details{margin-top:32px!important}
.tss-check{position:relative!important;display:flex!important;align-items:center!important;gap:12px!important;width:max-content!important;max-width:100%!important;margin:3px 0 7px!important;padding:0!important;color:#111!important;font-size:12px!important;line-height:1.35!important;cursor:pointer!important;user-select:none!important}
.tss-check input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.tss-checkmark{position:relative!important;display:inline-grid!important;flex:0 0 22px!important;width:22px!important;height:22px!important;place-items:center!important;background:transparent!important;border:1.5px solid #111!important;border-radius:0!important;transition:background .18s ease,border-color .18s ease!important}
.tss-checkmark:after{content:""!important;width:9px!important;height:5px!important;border-left:2px solid #fff!important;border-bottom:2px solid #fff!important;transform:translateY(-1px) rotate(-45deg) scale(0)!important;transition:transform .16s ease!important}
.tss-check input:checked + .tss-checkmark{background:#111!important}
.tss-check input:checked + .tss-checkmark:after{transform:translateY(-1px) rotate(-45deg) scale(1)!important}
.tss-check:hover .tss-checkmark{border-width:2px!important}
.tss-check input:focus-visible + .tss-checkmark{outline:2px solid #111!important;outline-offset:3px!important}
@media(max-width:759px){.tss-modal-kicker{margin-bottom:10px!important}.tss-dialog .tss-modal-item{font-size:clamp(42px,13vw,58px)!important}.tss-modal-price{margin:12px 0 26px!important;font-size:22px!important}.tss-details{margin-top:27px!important}}

/* v1.7 — keep long sponsor titles inside payment dialog */
.tss-dialog .tss-modal-item{max-width:100%!important;overflow:visible!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;}

/* v1.8 — typography aligned with the Sam Vermaat website */
/* The plugin deliberately inherits the font family from the website/theme.
   This keeps the module in sync when the site's typography changes. */
.tss-wrap{
  font-family:inherit!important;
  font-weight:400!important;
  letter-spacing:normal!important;
}
.tss-wrap h1,.tss-wrap h2,.tss-wrap h3,.tss-wrap p,.tss-wrap span,.tss-wrap small,
.tss-wrap strong,.tss-wrap button,.tss-wrap input,.tss-wrap label,.tss-wrap form{
  font-family:inherit!important;
}
/* Display typography: bold like the site's large headings, without the overly condensed look. */
.tss-hero h1,
.tss-card h2,.tss-card:nth-child(n) h2,
.tss-thanks h2,
.tss-dialog .tss-modal-item{
  font-family:inherit!important;
  font-weight:800!important;
  font-style:normal!important;
  letter-spacing:-.045em!important;
  line-height:.88!important;
}
.tss-hero h1{line-height:.86!important;letter-spacing:-.045em!important}
.tss-card h2,.tss-card:nth-child(n) h2{line-height:.88!important;letter-spacing:-.04em!important}
.tss-thanks h2{line-height:.86!important;letter-spacing:-.045em!important}
.tss-dialog .tss-modal-item{line-height:.9!important;letter-spacing:-.04em!important}

/* Small uppercase labels */
.tss-kicker,.tss-sub,.tss-num,.tss-meter small,.tss-card small,.tss-modal-kicker{
  font-family:inherit!important;
  font-weight:700!important;
  font-style:normal!important;
  letter-spacing:.24em!important;
}
/* Body copy follows the quieter website typography. */
.tss-intro,.tss-desc,.tss-desc p,.tss-names,.tss-check,.tss-error{
  font-family:inherit!important;
  font-weight:400!important;
  letter-spacing:normal!important;
}
.tss-intro,.tss-desc,.tss-desc p{line-height:1.5!important}
/* Prices stay bold but use normal proportions. */
.tss-meter strong,.tss-price,.tss-modal-price{
  font-family:inherit!important;
  font-weight:800!important;
  font-style:normal!important;
  letter-spacing:-.035em!important;
}
.tss-meter span{font-family:inherit!important;font-weight:400!important;letter-spacing:-.025em!important}
/* CTAs mirror the site's bold italic button treatment. */
.tss-pay button,.tss-details button,.tss-full{
  font-family:inherit!important;
  font-weight:800!important;
  font-style:italic!important;
  letter-spacing:-.02em!important;
  text-transform:uppercase!important;
}
.tss-pay button{font-size:15px!important}
.tss-details button{font-size:17px!important}
/* Form typography, including every modal/payment window. */
.tss-details>input,.tss-pay input{
  font-family:inherit!important;
  font-weight:600!important;
  font-style:normal!important;
  letter-spacing:normal!important;
}
.tss-details>input{font-size:17px!important}
.tss-details>input::placeholder,.tss-pay input::placeholder{font-family:inherit!important;font-weight:600!important;color:#777!important;opacity:1!important}
.tss-check{font-size:15px!important;font-weight:400!important}
.tss-close{font-family:Arial,Helvetica,sans-serif!important;font-weight:700!important;font-style:normal!important}

@media(max-width:759px){
  .tss-pay button{font-size:14px!important}
  .tss-details button{font-size:16px!important}
  .tss-details>input{font-size:16px!important}
  .tss-check{font-size:14px!important}
}


/* v1.8.1 — mobile/Safari font-family fix; all v1.8 weights, italics and sizing remain intact. */
.tss-wrap{font-family:var(--tss-body-font,inherit)!important}
.tss-wrap p,.tss-wrap span,.tss-wrap small,.tss-wrap label,.tss-wrap input,.tss-wrap textarea,.tss-wrap select,.tss-wrap form,
.tss-intro,.tss-desc,.tss-desc p,.tss-names,.tss-check,.tss-error,.tss-details>input,.tss-pay input{
  font-family:var(--tss-body-font,inherit)!important;
}
.tss-hero h1,.tss-card h2,.tss-card:nth-child(n) h2,.tss-thanks h2,.tss-dialog .tss-modal-item,
.tss-meter strong,.tss-price,.tss-modal-price,.tss-pay button,.tss-details button,.tss-full,
.tss-kicker,.tss-sub,.tss-num,.tss-meter small,.tss-card small,.tss-modal-kicker{
  font-family:var(--tss-display-font,var(--tss-body-font,inherit))!important;
}
.tss-wrap button,.tss-wrap input,.tss-wrap textarea,.tss-wrap select{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
@media(max-width:759px){
  .tss-wrap,.tss-wrap *{font-synthesis:none}
}


/* v1.8.2 — cross-browser display typography
   Owners is intentionally not bundled: the website must load its licensed Owners webfont.
   We reference the existing site font directly and disable synthetic bold/italic. */
.tss-wrap{
  --tss-display-font:"Owners","Owners Black","OwnersBlack",sans-serif;
}
.tss-hero h1,
.tss-card h2,.tss-card:nth-child(n) h2,
.tss-thanks h2,
.tss-dialog .tss-modal-item,
.tss-meter strong,
.tss-price,
.tss-modal-price,
.tss-pay button,
.tss-details button,
.tss-full{
  font-family:var(--tss-display-font)!important;
  font-weight:900!important;
  font-style:italic!important;
  font-synthesis:none!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
/* Labels remain legible and consistent, but use the site's body face. */
.tss-kicker,.tss-sub,.tss-num,.tss-meter small,.tss-card small,.tss-modal-kicker{
  font-family:var(--tss-body-font,Arial,Helvetica,sans-serif)!important;
  font-style:normal!important;
  font-synthesis:none!important;
}
.tss-intro,.tss-desc,.tss-desc p,.tss-names,.tss-check,.tss-error,
.tss-details>input,.tss-pay input{
  font-family:var(--tss-body-font,Arial,Helvetica,sans-serif)!important;
  font-style:normal!important;
  font-synthesis:none!important;
}
.tss-close{font-family:Arial,Helvetica,sans-serif!important;font-style:normal!important;font-synthesis:none!important}
