/* V2 page-family layer: jobs (Oct 27 2026 redesign). Loaded after tna-v2.css.
   Pages: jobs.html (the board), job/*.html (role pages), tennis-coach-jobs-*.html + padel-coach-jobs.html (hubs).
   The generated pages are restyled here only (markup comes from tools/seo-build.py).
   Every script hook on the board is kept: .jc / .jc-* / .region-* / .jf-btn / #jf* / #ob* / #roleDrawer / #tnaCel.
   The board's former inline <style> blocks live here now (one source). */

/* ==========================================================================
   0. Shared bits
   ========================================================================== */
body.tn .court-bg,body.tn .ball,body.tn .curve,body.tn .net-band{display:none!important}
body.tn .tn-verified{display:inline-flex;align-items:center;gap:5px;font:600 12px/1.2 var(--v-sans)!important;letter-spacing:0!important;text-transform:none!important;color:#1f7a4d}
body.tn .tn-verified svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

/* ==========================================================================
   1. Board hero (#hero): shorter ImageHero, breadcrumbs, glass stat chips
   ========================================================================== */
body.tn #hero.ed-hero{min-height:min(66svh,620px)!important}
body.tn #hero .ed-hero-bg img{object-position:58% 28%}
body.tn #hero .ed-hero-scrim{background:
  linear-gradient(180deg,rgb(11 18 32/.55) 0%,rgb(11 18 32/.24) 28%,rgb(11 18 32/.36) 58%,rgb(11 18 32/.88) 100%),
  linear-gradient(90deg,rgb(11 18 32/.55) 0%,rgb(11 18 32/0) 66%)!important}
body.tn #hero > .wrap{padding-top:96px!important;padding-bottom:clamp(36px,5vw,60px)!important}
body.tn #hero .v-crumbs{margin:0 0 auto;padding-top:8px}
body.tn #hero .ed-kicker{margin-top:28px}
body.tn #hero h1{font-size:clamp(2.7rem,5.8vw,5rem)!important}
body.tn #hero .ed-hero-sub{margin:18px 0 28px}
body.tn #hero .ed-hero-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
body.tn #hero .ed-hero-facts span{display:inline-flex;align-items:center;gap:0;white-space:pre;padding:7px 13px;border-radius:999px;font:500 12.5px/1.2 var(--v-sans);color:rgb(255 255 255/.86);background:rgb(11 18 32/.38);border:1px solid rgb(255 255 255/.2);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}
body.tn #hero .ed-hero-facts b{font:600 13px/1 var(--v-mono);color:#fff;letter-spacing:-.01em}
body.tn #hero .ed-hero-facts .v-dot{margin-right:7px}
@media(max-width:700px){
  body.tn #hero.ed-hero{min-height:min(80svh,640px)!important}
  body.tn #hero > .wrap{padding-top:84px!important;padding-bottom:26px!important}
  body.tn #hero .ed-kicker{margin-top:22px;margin-bottom:16px}
  body.tn #hero .ed-hero-sub{margin:14px 0 22px}
  body.tn #hero .ed-ctas{display:flex;gap:10px}
  body.tn #hero .ed-ctas .btn{flex:1 1 0!important;min-width:0;padding:0 1rem}
}

/* ==========================================================================
   2. Board section, head and sticky filter bar
   ========================================================================== */
body.tn #jobs.jobs{background:var(--v-paper)!important;overflow:clip!important;padding:clamp(3.5rem,7vw,6rem) 0 clamp(3rem,6vw,5rem)!important}
body.tn #jobs .jb-head{margin-bottom:clamp(22px,3vw,32px)!important}
body.tn #jobs .jb-head .ed-h2{font-size:clamp(2rem,4vw,3.25rem)!important}
body.tn #jobs .jb-head .ed-sub{margin-top:14px}
body.tn #jobs .jb-head .ed-sub .tn-verified{margin-right:2px;vertical-align:-1px}

/* the bar: one glass pill (TNA Play search bar) — sport chips | search | Filters */
body.tn .jb-bar{position:sticky;top:80px;z-index:40;display:flex;align-items:center;gap:8px;margin:0 0 22px;padding:6px;border-radius:999px;
  background:rgb(255 255 255/.92);-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%);
  border:1px solid rgb(255 255 255/.85);box-shadow:0 1px 0 rgb(255 255 255/.7) inset,0 1px 2px rgb(11 18 32/.05),0 18px 40px -22px rgb(11 18 32/.3);transition:top .45s var(--v-ease)}
body.tn:has(> nav.hide) .jb-bar{top:12px}
body.tn .jb-bar .ob-bar{margin:0;flex:none;overflow:visible}
body.tn .jb-bar .job-filters{display:flex;flex-wrap:nowrap;gap:2px;margin:0;justify-content:flex-start}
body.tn .jb-bar .jf-btn{min-height:44px;padding:0 16px!important;border:0!important;background:transparent!important;color:var(--v-muted)!important;font:500 14.5px/1 var(--v-sans)!important;letter-spacing:-.005em!important;box-shadow:none!important;transform:none!important;white-space:nowrap}
body.tn .jb-bar .jf-btn:hover{color:var(--v-ink)!important;background:var(--v-paper)!important}
body.tn .jb-bar .jf-btn.on,body.tn .jb-bar .jf-btn.active{background:var(--v-ink)!important;color:#fff!important}
body.tn .jb-bar .jf-btn[data-filter]::before{content:"";width:7px;height:7px;border-radius:50%;flex:none;background:var(--v-camel)}
body.tn .jb-bar .jf-btn[data-filter="all"]::before{display:none}
body.tn .jb-bar .jf-btn[data-filter="tennis"]::before{background:var(--v-tennis)}
body.tn .jb-bar .jf-btn[data-filter="padel"]::before{background:var(--v-padel)}
body.tn .jb-bar .jf-btn[data-filter="fitness"]::before{background:var(--v-fitness)}
body.tn .jb-bar .jf-btn[data-filter="golf"]::before{background:var(--v-golf)}
body.tn .jb-bar .jf-soon{font-style:normal;margin-left:2px;padding:3px 7px;border-radius:999px;background:var(--v-camel-soft);color:#6f4f2e;font:600 11px/1 var(--v-sans);letter-spacing:.02em;text-transform:none}
body.tn .jb-bar .jf-btn.on .jf-soon{background:rgb(255 255 255/.16);color:#fff}
body.tn .jb-tools{flex:1;min-width:0;display:flex;align-items:center;gap:6px;padding-left:6px;border-left:1px solid var(--v-line)}
body.tn .jb-search{flex:1;min-width:0;display:flex;align-items:center;gap:10px;height:44px;padding:0 6px 0 12px;border-radius:999px;cursor:text;font-family:var(--v-sans)}
body.tn .jb-search svg{width:18px;height:18px;flex:none;stroke:var(--v-muted);fill:none;stroke-width:1.9;stroke-linecap:round}
body.tn .jb-search input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;font:500 15px/1 var(--v-sans);color:var(--v-ink);-webkit-appearance:none;appearance:none}
body.tn .jb-search input::placeholder{color:var(--v-muted);opacity:1}
body.tn .jb-search:focus-within{background:var(--v-paper);box-shadow:0 0 0 2px var(--v-ink) inset}
body.tn .jb-fbtn{flex:none;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px 0 15px;border:0;border-radius:999px;background:var(--v-ink);color:#fff;font:600 14.5px/1 var(--v-sans);cursor:pointer;transition:background-color .25s,transform .2s}
body.tn .jb-fbtn:hover{background:#172037}
body.tn .jb-fbtn:active{transform:scale(.98)}
body.tn .jb-fbtn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round}
body.tn .ob-n{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#fff;color:var(--v-ink);font:600 11.5px/1 var(--v-mono)}
body.tn .ob-n[hidden]{display:none!important}

@media(max-width:900px){
  /* phones/tablets: sport chips scroll on their own row; search + Filters stick under the nav */
  body.tn .jb-bar{display:contents}
  body.tn .jb-bar .ob-bar{display:block;margin:0 calc(-1 * var(--v-gutter)) 10px;padding:2px var(--v-gutter) 4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  body.tn .jb-bar .ob-bar::-webkit-scrollbar{display:none}
  body.tn .jb-bar .job-filters{width:max-content;gap:6px}
  body.tn .jb-bar .jf-btn{min-height:44px;padding:0 15px!important;background:#fff!important;border:1px solid var(--v-line)!important;color:var(--v-text)!important}
  body.tn .jb-bar .jf-btn.on,body.tn .jb-bar .jf-btn.active{background:var(--v-ink)!important;border-color:var(--v-ink)!important;color:#fff!important}
  body.tn .jb-tools{position:sticky;top:76px;z-index:40;margin:0 0 18px;padding:5px;border-left:0;border-radius:999px;
    background:rgb(255 255 255/.88);-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%);
    border:1px solid rgb(255 255 255/.85);box-shadow:0 1px 0 rgb(255 255 255/.7) inset,0 1px 2px rgb(11 18 32/.05),0 18px 40px -22px rgb(11 18 32/.32);transition:top .45s var(--v-ease)}
  body.tn:has(> nav.hide) .jb-tools{top:12px}
  body.tn .jb-search input{font-size:16px}  /* 16px stops iOS zoom on focus */
}
@media(max-width:420px){body.tn .jb-fbtn{padding:0 14px 0 12px}}

/* location row (generated by seo-build between the seo-hubs markers) */
body.tn #jobs .jb-hubs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px}
body.tn #jobs .jb-hubs .lbl{margin-right:6px;font:600 .74rem/1.2 var(--v-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--v-muted)}
body.tn #jobs .jb-hubs a{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:999px;background:transparent;border:1px solid var(--v-stone);font:500 13.5px/1 var(--v-sans);color:var(--v-text);text-decoration:none;transition:background-color .25s,border-color .25s}
body.tn #jobs .jb-hubs a:hover{background:#fff;border-color:var(--v-warm);color:var(--v-ink)}
@media(max-width:700px){
  body.tn #jobs .jb-hubs{flex-wrap:nowrap;overflow-x:auto;margin:0 calc(-1 * var(--v-gutter)) 16px;padding:2px var(--v-gutter);scrollbar-width:none}
  body.tn #jobs .jb-hubs::-webkit-scrollbar{display:none}
  body.tn #jobs .jb-hubs a,body.tn #jobs .jb-hubs .lbl{flex:none;white-space:nowrap}
  body.tn #jobs .jb-hubs a{min-height:44px}
}

/* golf note: slim photo card (golf = coming soon) */
body.tn .jb-golf{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin:6px 0 8px;padding:10px 20px 10px 10px;border-radius:var(--v-r-lg);background:#fff;border:1px solid var(--v-line);box-shadow:var(--v-shadow-soft);color:var(--v-text)}
body.tn .jb-golf-img{grid-column:1;grid-row:1;width:108px;height:76px;border-radius:16px;object-fit:cover;object-position:center 40%;display:block}
body.tn .jb-golf .jb-golf-ic{display:none!important}
body.tn .jb-golf > div{grid-column:2;min-width:0}
body.tn .jb-golf b{display:flex;align-items:center;gap:8px;font:600 16px/1.3 var(--v-display);letter-spacing:-.02em;color:var(--v-ink)}
body.tn .jb-golf b::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--v-golf);box-shadow:0 0 0 3px rgb(63 125 88/.18);flex:none}
body.tn .jb-golf > div > span{display:block;margin-top:3px;font:400 14px/1.55 var(--v-sans);color:var(--v-muted);max-width:64ch}
body.tn .jb-golf .btn{grid-column:3;min-height:44px}
@media(max-width:700px){
  body.tn .jb-golf{grid-template-columns:72px minmax(0,1fr);gap:12px 14px;padding:10px 10px 12px}
  body.tn .jb-golf-img{width:72px;height:72px;border-radius:14px;align-self:start}
  body.tn .jb-golf .btn{grid-column:1 / -1;width:100%}
  body.tn .jb-golf > div > span{font-size:13.5px}
}

/* empty state */
body.tn .jb-empty{margin:18px 0 34px;padding:clamp(28px,4vw,44px) 24px;border-radius:var(--v-r-lg);background:#fff;border:1px solid var(--v-line);box-shadow:var(--v-shadow-soft);text-align:center}
body.tn .jb-empty[hidden]{display:none}
body.tn .jb-empty h3{margin:0 0 8px;font:600 clamp(1.15rem,2vw,1.35rem)/1.3 var(--v-display);letter-spacing:-.02em;color:var(--v-ink)}
body.tn .jb-empty p{margin:0 auto 20px;max-width:46ch;color:var(--v-muted);font-size:15px}
body.tn .jb-empty-btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}

/* ==========================================================================
   3. Region groups
   ========================================================================== */
body.tn .jobs .region-group{margin-top:clamp(40px,5vw,60px)}
body.tn #jobs .jb-golf + .jb-empty + .region-group,body.tn #jobs .jb-empty + .region-group{margin-top:clamp(28px,3.5vw,40px)}
body.tn .jobs .region-head{display:flex;align-items:baseline;gap:14px;margin:0 0 18px}
body.tn .jobs .region-head .region-label{padding:0;border:0;background:none;border-radius:0;white-space:nowrap;font:700 clamp(1.45rem,2.3vw,1.85rem)/1.1 var(--v-display)!important;letter-spacing:-.035em!important;text-transform:none!important;color:var(--v-ink)}
body.tn .jobs .region-head .region-line{flex:1;height:1px;align-self:center;margin-top:4px;background:var(--v-line)}
body.tn .jobs .region-head .region-count{font:500 13px/1 var(--v-mono);color:var(--v-muted);white-space:nowrap}
body.tn .jobs .jobs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media(max-width:1100px){body.tn .jobs .jobs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:640px){
  body.tn .jobs .jc-view{min-height:44px}
  /* phones: each region is a swipe rail; the next card peeks */
  body.tn .jobs .jobs-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;
    margin:0 calc(-1 * var(--v-gutter));padding:4px var(--v-gutter) 20px;scroll-padding-inline:var(--v-gutter);scrollbar-width:none}
  body.tn .jobs .jobs-grid::-webkit-scrollbar{display:none}
  body.tn .jobs .jobs-grid > .jc{scroll-snap-align:start}
  body.tn .jobs .region-head{margin-bottom:12px}
  body.tn .jobs .region-group{margin-top:30px}
}

/* ==========================================================================
   4. Job card (.jc) — TNA Play event card: photo, glass tags, title, pay, perks, footer pill
   ========================================================================== */
body.tn .jobs .jc{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--v-r-lg)!important}
body.tn .jobs .jc:focus-within{box-shadow:var(--v-shadow-lift)!important}
body.tn .jobs .jc-media{position:relative;aspect-ratio:16/10;background:var(--v-paper-2);overflow:hidden}
body.tn .jobs .jc-media::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgb(11 18 32/.2) 0%,rgb(11 18 32/0) 32%,rgb(11 18 32/0) 58%,rgb(11 18 32/.34) 100%)!important}
body.tn .jobs .jc .jc-sport{position:absolute;top:12px;left:12px;right:auto;z-index:2;display:inline-block;max-width:calc(52% - 12px);padding:5px 10px 5px 9px!important;border-radius:12px!important;
  font:600 12px/1.3 var(--v-sans)!important;letter-spacing:0!important;text-transform:none!important;color:var(--v-ink)!important;white-space:normal;
  background:rgb(255 255 255/.86)!important;border:1px solid rgb(255 255 255/.7)!important;-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);box-shadow:0 4px 12px -6px rgb(11 18 32/.4)!important;text-shadow:none!important}
body.tn .jobs .jc .jc-sport::before{content:"";display:inline-block;width:6px;height:6px;margin:0 6px 1px 0;border-radius:50%;vertical-align:middle;background:var(--v-camel)}
body.tn .jobs .jc[data-sport~="tennis"] .jc-sport::before{background:var(--v-tennis);box-shadow:0 0 0 1px rgb(11 18 32/.12)}
body.tn .jobs .jc[data-sport~="padel"] .jc-sport::before{background:var(--v-padel)}
body.tn .jobs .jc[data-sport~="fitness"] .jc-sport::before{background:var(--v-fitness)}
body.tn .jobs .jc[data-sport~="golf"] .jc-sport::before{background:var(--v-golf)}
body.tn .jobs .jc[data-sport~="tennis"][data-sport~="padel"] .jc-sport::before{background:linear-gradient(90deg,var(--v-tennis) 50%,var(--v-padel) 50%)}
body.tn .jobs .jc .jc-feat{position:absolute;top:12px;right:12px;left:auto;z-index:2;max-width:calc(100% - 112px);padding:5px 10px!important;border-radius:12px!important;
  font:600 12px/1.3 var(--v-sans)!important;letter-spacing:0!important;text-transform:none!important;color:#fff!important;text-align:right;white-space:normal;
  background:rgb(11 18 32/.74)!important;border:1px solid rgb(255 255 255/.14)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:none!important}
body.tn .jobs .jc .jc-feat::before{content:"";display:inline-block;width:5px;height:5px;margin:0 6px 1px 0;border-radius:50%;vertical-align:middle;background:var(--v-camel)}
body.tn .jobs .jc .jc-loc{position:absolute;left:12px;right:auto;bottom:12px;top:auto;z-index:2;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-width:calc(100% - 24px);
  padding:5px 11px 5px 27px;border-radius:12px;font:600 12px/1.35 var(--v-sans)!important;letter-spacing:0!important;text-transform:none!important;color:var(--v-ink)!important;text-shadow:none!important;
  background:rgb(255 255 255/.86);border:1px solid rgb(255 255 255/.7);-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);box-shadow:0 4px 12px -6px rgb(11 18 32/.4)}
body.tn .jobs .jc .jc-loc svg{position:absolute;left:9px;top:6px;width:13px;height:13px;stroke:var(--v-ink);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* body: a grid so the script-built summary (.jc-sum / .jc-foot) can sit in Play's footer layout without new markup */
body.tn .jobs .jc-body{display:grid!important;flex:1;align-content:stretch;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;
  grid-template-rows:auto auto auto auto auto 1fr auto;
  grid-template-areas:"title title" "upd ver" "emp emp" "open open" "perks perks" "line line" "pay view";
  padding:16px 18px 16px 20px!important;font-family:var(--v-sans)}
body.tn .jobs .jc-sum,body.tn .jobs .jc-foot{display:contents!important}
body.tn .jobs .jc-comp,body.tn .jobs .jc-detail,body.tn .jobs .jc-divider,body.tn .jobs .jc-spacer,body.tn .jobs .jc-body .jc-apply,body.tn .jobs .jc .vb{display:none!important}
body.tn .jobs .jc-body h3{grid-area:title;margin:0 0 6px!important;font:600 18px/1.28 var(--v-display)!important;letter-spacing:-.025em!important;color:var(--v-ink);text-wrap:pretty}
body.tn .jobs .jc-body h3 a{color:inherit;text-decoration:none;border-radius:4px!important;font:inherit!important}
body.tn .jobs .jc-body h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
body.tn .jobs .jc-upd{grid-area:upd;align-self:center;display:inline-flex;align-items:center;gap:6px;margin:0;font:500 12.5px/1.3 var(--v-sans)!important;letter-spacing:0!important;text-transform:none!important;color:var(--v-muted)}
body.tn .jobs .jc-upd.fresh{color:#1f7a4d}
body.tn .jobs .jc-upd.fresh::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--v-live);box-shadow:0 0 0 3px rgb(47 166 106/.18)}
body.tn .jobs .jc-foot .tn-verified,body.tn .jobs .jc-foot .jc-pending{grid-area:ver;justify-self:end;align-self:center}
body.tn .jobs .jc-pending{font:500 12px/1.3 var(--v-sans);letter-spacing:0;text-transform:none;color:var(--v-muted)}
body.tn .jobs .jc-employer{grid-area:emp;margin-top:8px;font:500 13px/1.45 var(--v-sans);color:var(--v-muted)}
body.tn .jobs .jc-employer b{font-weight:600;color:var(--v-text)}
body.tn .jobs .jc-openings{grid-area:open;justify-self:start;display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:4px 10px;border-radius:999px;background:var(--v-camel-soft);font:600 12px/1.3 var(--v-sans);color:#6f4f2e;border:0}
body.tn .jobs .jc-perks{grid-area:perks;display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;list-style:none}
body.tn .jobs .jc-perks li{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:var(--v-paper);border:1px solid var(--v-line);font:500 12px/1.3 var(--v-sans);color:var(--v-text)}
body.tn .jobs .jc-perks li::before{content:"";width:9px;height:5px;border-left:1.6px solid var(--v-muted);border-bottom:1.6px solid var(--v-muted);transform:rotate(-45deg) translate(1px,-1px)}
body.tn .jobs .jc-body::after{content:"";grid-area:line;align-self:end;height:1px;margin-top:16px;background:var(--v-line)}
body.tn .jobs .jc-pay{grid-area:pay;align-self:center;margin-top:12px;font:700 16px/1.3 var(--v-display);letter-spacing:-.02em;color:var(--v-ink);overflow-wrap:anywhere}
body.tn .jobs .jc-view{grid-area:view;justify-self:end;align-self:center;margin-top:12px;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 15px;border-radius:999px;border:1px solid var(--v-stone);background:#fff;color:var(--v-ink);font:600 14px/1 var(--v-sans);white-space:nowrap;cursor:pointer;transition:background-color .25s,border-color .25s,color .25s}
body.tn .jobs .jc-view:hover,body.tn .jobs .jc:hover .jc-view{border-color:var(--v-ink)}
body.tn .jobs .jc-view:hover{background:var(--v-ink);color:#fff}
body.tn .jobs .jc-view .ar{transition:transform .35s var(--v-ease)}
body.tn .jobs .jc:hover .jc-view .ar{transform:translateX(3px)}
body.tn .jobs .jc-body > .jc-closed-label,body.tn .jobs .jc-foot .jc-closed-label{grid-area:view;justify-self:end;align-self:center;margin-top:12px;display:inline-flex;align-items:center;gap:6px;font:500 12.5px/1.3 var(--v-sans);color:var(--v-muted);text-align:right}
body.tn .jobs .jc-closed-label svg{width:14px;height:14px;flex:none;stroke:currentColor;fill:none;stroke-width:2}
body.tn .jobs .jc-body:has(> .jc-closed-label) .jc-foot .jc-closed-label{display:none}
body.tn .jobs .jc-target{box-shadow:0 0 0 2px var(--v-ink),var(--v-shadow-lift)!important}

/* filled roles (Recently placed) */
body.tn .jobs .jc-closed .jc-media img{filter:grayscale(1) brightness(.72) contrast(1.05)!important}
body.tn .jobs .jc-closed:hover{transform:none!important;box-shadow:var(--v-shadow-soft)!important}
body.tn .jobs .jc-closed:hover .jc-media img{transform:none}
body.tn .jobs .jc-closed .jc-body h3{color:var(--v-muted)}
body.tn .jobs .jc-closed .jc-pay{color:var(--v-muted)}
body.tn .jobs .jc-filled{position:absolute;top:50%;left:50%;z-index:3;transform:translate(-50%,-50%)!important;display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;
  background:rgb(255 255 255/.92);color:var(--v-ink);border:1px solid rgb(255 255 255/.8);font:600 12.5px/1 var(--v-sans);letter-spacing:0;text-transform:none;box-shadow:0 10px 24px -12px rgb(11 18 32/.5);white-space:nowrap}
body.tn .jobs .jc-filled svg{width:14px;height:14px;stroke:var(--v-live);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

/* Recently placed head (same words, Play section header) */
body.tn #recently-filled{background:var(--v-paper-2)!important;padding:clamp(3.5rem,7vw,5.5rem) 0!important;overflow:clip!important}
body.tn #recently-filled .section-head{max-width:46rem;margin:0 0 clamp(24px,3vw,36px);text-align:left}
body.tn #recently-filled .section-head .label{display:inline-flex;margin:0 0 12px;font:600 .78rem/1.2 var(--v-sans)!important;letter-spacing:.08em!important;text-transform:uppercase;color:var(--v-muted)}
body.tn #recently-filled .section-head .label::before,body.tn #recently-filled .section-head .label::after{display:none}
body.tn #recently-filled .section-head h2{margin:0;font:700 clamp(1.9rem,3.6vw,2.9rem)/1.05 var(--v-display)!important;letter-spacing:-.04em!important;color:var(--v-ink)}
body.tn #recently-filled .section-head p{margin:12px 0 0;font-size:16px;line-height:1.6;color:var(--v-muted)}

/* ==========================================================================
   5. "More from TNA" links + final CTA
   ========================================================================== */
body.tn .jb-next{background:var(--v-paper);padding:clamp(3rem,6vw,4.5rem) 0}
body.tn #recently-filled[style*="display:none"] + .jb-next,body.tn #recently-filled[style*="display: none"] + .jb-next{padding-top:0}
body.tn .jb-next .ed-eyebrow{margin-bottom:16px}
body.tn .jb-next-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
body.tn .jb-next-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-height:84px;padding:16px 16px 16px 16px;border-radius:var(--v-r-lg);background:#fff;border:1px solid var(--v-line);box-shadow:var(--v-shadow-soft);color:var(--v-text);text-decoration:none;transition:transform .5s var(--v-ease),box-shadow .5s var(--v-ease)}
body.tn .jb-next-card:hover{transform:translateY(-3px);box-shadow:var(--v-shadow-lift)}
body.tn .jb-next-ic{display:grid;place-items:center;width:44px;height:44px;border-radius:999px;background:var(--v-paper);border:1px solid var(--v-line)}
body.tn .jb-next-ic svg,body.tn .jb-next-ar{width:20px;height:20px;stroke:var(--v-ink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.tn .jb-next-ar{width:18px;height:18px;stroke:var(--v-muted);transition:transform .35s var(--v-ease)}
body.tn .jb-next-card:hover .jb-next-ar{transform:translateX(3px);stroke:var(--v-ink)}
body.tn .jb-next-t b{display:block;font:600 15.5px/1.3 var(--v-display);letter-spacing:-.02em;color:var(--v-ink)}
body.tn .jb-next-t span{display:block;margin-top:2px;font:400 13px/1.45 var(--v-sans);color:var(--v-muted)}
@media(max-width:1100px){body.tn .jb-next-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){body.tn .jb-next-grid{grid-template-columns:1fr;gap:10px}body.tn .jb-next-card{min-height:72px;padding:12px 14px}}
body.tn #apply .ed-final-bg img{object-position:center 40%}

/* ==========================================================================
   6. Filters dialog (#obPanel): centred modal on desktop, bottom sheet on phones
   ========================================================================== */
body.tn .ob-panel{position:fixed;z-index:91;left:50%;top:50%;width:min(760px,calc(100% - 48px));max-height:min(86svh,760px);display:flex;flex-direction:column;margin:0;padding:0;overflow:hidden;
  border-radius:28px;background:var(--v-paper);border:1px solid rgb(255 255 255/.8);box-shadow:0 40px 90px -30px rgb(11 18 32/.5),0 2px 6px rgb(11 18 32/.06);
  opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-46%) scale(.98);transition:opacity .3s var(--v-ease-soft),transform .45s var(--v-ease),visibility 0s linear .45s}
body.tn.ob-open .ob-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%);transition:opacity .3s var(--v-ease-soft),transform .45s var(--v-ease),visibility 0s}
body.tn.ob-open{overflow:hidden}
body.tn.ob-open .tn-drawer-bg{opacity:1;pointer-events:auto}
body.tn .ob-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 14px 24px;border-bottom:1px solid var(--v-line);background:#fff}
body.tn .ob-panel-head b{font:600 17px/1.2 var(--v-display);letter-spacing:-.02em;text-transform:none;color:var(--v-ink)}
body.tn .ob-fields{flex:1;overflow:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:22px 24px 24px}
body.tn .ob-fields .tn-field{display:flex;flex-direction:column;gap:7px;font:600 .72rem/1.2 var(--v-sans)!important;letter-spacing:.08em!important;text-transform:uppercase;color:var(--v-muted)}
body.tn .ob-fields .tn-field select{width:100%;min-height:48px;padding:0 40px 0 14px;border-radius:var(--v-r-sm);border:1px solid var(--v-line);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23586070' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center/16px no-repeat;
  -webkit-appearance:none;appearance:none;font:500 15px/1.2 var(--v-sans);letter-spacing:0;text-transform:none;color:var(--v-ink);cursor:pointer;box-shadow:none}
body.tn .ob-fields .tn-field select:focus{outline:none;border-color:var(--v-ink);box-shadow:0 0 0 4px rgb(11 18 32/.08)}
body.tn .ob-checks{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:4px}
body.tn .ob-checks .tn-check{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 16px 0 14px;border-radius:999px;background:#fff;border:1px solid var(--v-line);font:500 14px/1 var(--v-sans);letter-spacing:0;text-transform:none;color:var(--v-ink);cursor:pointer}
body.tn .ob-checks .tn-check:has(input:checked){border-color:var(--v-ink);box-shadow:0 0 0 1px var(--v-ink) inset}
body.tn .ob-checks .tn-check input{width:17px;height:17px;margin:0;accent-color:var(--v-ink)}
body.tn .ob-panel-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0;padding:14px 16px 14px 24px;border-top:1px solid var(--v-line);background:#fff}
body.tn .ob-panel-foot .jf-res{margin-right:auto;font:500 14px/1.2 var(--v-sans);color:var(--v-muted)}
body.tn .ob-panel-foot .btn{min-height:46px}
body.tn .ob-panel-foot #obApply{display:inline-flex}
body.tn .tn-drawer-x{width:40px;height:40px;border-radius:999px;border:1px solid var(--v-line);background:#fff;color:var(--v-ink);font:400 22px/1 var(--v-sans);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .25s}
body.tn .tn-drawer-x:hover{background:var(--v-paper)}
body.tn .tn-drawer-bg{background:rgb(11 18 32/.42)!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
@media(max-width:900px){
  body.tn .ob-panel{left:8px;right:8px;top:auto;bottom:8px;width:auto;max-height:min(88svh,820px);border-radius:28px;transform:translateY(calc(100% + 24px));opacity:1;transition:transform .45s var(--v-ease),visibility 0s linear .45s}
  body.tn.ob-open .ob-panel{transform:none;transition:transform .45s var(--v-ease),visibility 0s}
  body.tn .ob-panel-head{padding:12px 12px 12px 20px}
  body.tn .ob-fields{grid-template-columns:1fr 1fr;gap:12px;padding:16px 16px 18px}
  body.tn .ob-panel-foot{position:sticky;bottom:0;padding:12px 12px calc(12px + env(safe-area-inset-bottom)) 20px}
  body.tn .ob-panel-foot .btn{flex:1 1 0}
  body.tn .ob-panel-foot .jf-res{flex:1 1 100%;margin:0 0 2px}
}
@media(max-width:359px){body.tn .ob-fields{grid-template-columns:1fr}}

/* ==========================================================================
   7. Role drawer (#roleDrawer) — TNA Play sheet
   ========================================================================== */
body.tn #roleDrawer.tn-drawer{background:var(--v-paper)!important;border:1px solid rgb(255 255 255/.8);border-radius:28px;box-shadow:0 40px 90px -30px rgb(11 18 32/.5)}
body.tn #roleDrawer .tn-drawer-head{padding:14px 14px 12px 22px;border-bottom:1px solid var(--v-line);background:#fff}
body.tn #roleDrawer .tn-drawer-head b{font:600 17px/1.2 var(--v-display);letter-spacing:-.02em;text-transform:none;color:var(--v-ink)}
body.tn #roleDrawer .tn-drawer-body{padding:18px 22px 24px;font-family:var(--v-sans)}
body.tn #roleDrawer .tn-drawer-foot{padding:12px 16px calc(14px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--v-line)}
body.tn #roleDrawer .tn-drawer-foot .jc-apply{display:inline-flex!important;flex:1;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:0 22px;border-radius:999px!important;background:var(--v-ink);color:#fff;font:600 15.5px/1.2 var(--v-sans)!important;letter-spacing:0!important;text-transform:none!important;text-decoration:none;text-align:center;white-space:normal}
body.tn #roleDrawer .tn-drawer-foot .jc-apply:hover{background:#172037}
body.tn .rd-media{position:relative;aspect-ratio:16/9;margin:0 0 16px;border-radius:20px;overflow:hidden;background:var(--v-paper-2)}
body.tn .rd-media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92) contrast(1.03)}
body.tn .rd-sport{position:absolute;top:12px;left:12px;padding:5px 10px;border-radius:999px;background:rgb(255 255 255/.88);color:var(--v-ink);border:1px solid rgb(255 255 255/.7);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font:600 11.5px/1.2 var(--v-sans);letter-spacing:0;text-transform:none}
body.tn .rd-loc{display:inline-flex;align-items:center;gap:6px;font:500 13.5px/1.4 var(--v-sans);letter-spacing:0;text-transform:none;color:var(--v-muted)}
body.tn .rd-title{margin:6px 0 12px;font:700 clamp(1.4rem,2.4vw,1.7rem)/1.15 var(--v-display);letter-spacing:-.035em;color:var(--v-ink)}
body.tn .rd-pay{margin:0 0 12px;padding:14px 16px;border-radius:16px;background:#fff;border:1px solid var(--v-line);font:600 15px/1.5 var(--v-sans);color:var(--v-ink)}
body.tn .rd-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 20px}
body.tn .rd-upd{font:500 12.5px/1.3 var(--v-sans);letter-spacing:0;text-transform:none;color:var(--v-muted)}
body.tn .rd-meta .jc-pending{font:500 12.5px/1.3 var(--v-sans);letter-spacing:0;text-transform:none;color:var(--v-muted)}
body.tn .rd-h4{margin:0 0 10px;font:600 .74rem/1.2 var(--v-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--v-muted)}
body.tn .rd-list{list-style:none;margin:0 0 18px;padding:0;border-top:1px solid var(--v-line)}
body.tn .rd-list li{position:relative;padding:11px 0 11px 28px;border-bottom:1px solid var(--v-line);background:none;border-radius:0;font:400 14.5px/1.55 var(--v-sans);color:var(--v-text)}
body.tn .rd-list li::before{content:"";position:absolute;left:2px;top:14px;width:16px;height:16px;border-radius:50%;background:var(--v-paper-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b1220' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/9px no-repeat}
body.tn .rd-list li b{font-weight:600;color:var(--v-ink)}
body.tn .rd-note{margin:0;font:400 13px/1.6 var(--v-sans);color:var(--v-muted)}
body.tn .rd-note a{color:var(--v-ink);font-weight:600}

/* ==========================================================================
   8. Script-built overlays: application celebration (#tnaCel) + status toasts
   ========================================================================== */
#tnaCel{position:fixed;inset:0;z-index:2147483200;display:flex;align-items:center;justify-content:center;padding:18px}
#tnaCel .bg{position:absolute;inset:0;background:rgb(11 18 32/.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
#tnaCel .box{position:relative;width:min(540px,94vw);border-radius:28px;padding:40px 32px 30px;text-align:center;overflow:hidden;background:var(--v-paper,#f5f5f2);border:1px solid rgb(255 255 255/.8);box-shadow:0 40px 100px -30px rgb(0 0 0/.55);animation:celIn .5s cubic-bezier(.16,1,.3,1)}
@keyframes celIn{from{opacity:0;transform:scale(.94) translateY(16px)}to{opacity:1;transform:none}}
#tnaCel .mark{width:72px;height:72px;border-radius:50%;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;background:var(--v-live,#2fa66a);box-shadow:0 0 0 8px rgb(47 166 106/.14);animation:celPop .6s .15s cubic-bezier(.16,1,.3,1) both}
@keyframes celPop{from{transform:scale(0)}to{transform:scale(1)}}
#tnaCel .mark svg{width:34px;height:34px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:celDraw .5s .45s ease-out forwards}
@keyframes celDraw{to{stroke-dashoffset:0}}
#tnaCel h3{margin:0 0 8px;font:700 26px/1.15 var(--v-display,sans-serif);letter-spacing:-.035em;color:var(--v-ink,#0b1220)}
#tnaCel p{margin:0 0 6px;font:400 14.5px/1.65 var(--v-sans,sans-serif);color:var(--v-muted,#586070)}
#tnaCel .job{display:inline-block;margin:6px 0 16px;padding:7px 14px;border-radius:999px;background:#fff;border:1px solid var(--v-line,#e2e3dd);font:600 13px/1.3 var(--v-sans,sans-serif);color:var(--v-ink,#0b1220)}
#tnaCel .ctas{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:10px}
#tnaCel .ctas .btn{min-height:46px;padding:0 20px;font-size:14.5px}
#tnaCel .x{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:999px;border:1px solid var(--v-line,#e2e3dd);background:#fff;font-size:20px;line-height:1;color:var(--v-ink,#0b1220);cursor:pointer}
#tnaCel .spark{position:absolute;width:7px;height:7px;border-radius:50%;opacity:0;animation:celSpark 1.4s ease-out forwards}
@keyframes celSpark{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.3)}}
@media(prefers-reduced-motion:reduce){#tnaCel .box,#tnaCel .mark,#tnaCel .mark svg,#tnaCel .spark{animation:none!important}#tnaCel .mark svg{stroke-dashoffset:0}#tnaCel .spark{display:none}}
.jb-toast{width:max-content;max-width:min(92vw,560px);padding:11px 20px;border-radius:999px;background:var(--v-ink,#0b1220);color:#fff;font:500 13.5px/1.35 var(--v-sans,sans-serif);border:1px solid rgb(255 255 255/.12);box-shadow:0 18px 40px -16px rgb(11 18 32/.6)}
.jb-toast a{color:#fff;text-decoration:underline;text-underline-offset:2px}
@media(max-width:900px){.jb-toast{bottom:calc(150px + env(safe-area-inset-bottom))!important;font-size:13px}}

/* ==========================================================================
   9. Generated pages: role pages (job/*.html) and hubs — .sx-* from seo-build.py
   ========================================================================== */
/* ImageHero: the photo leads, content sits at the bottom */
body.tn .sx-hero{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:min(68svh,640px);padding:96px 0 clamp(34px,5vw,60px)!important;background:var(--v-ink)!important;color:#fff;overflow:hidden}
body.tn .sx-hero-bg{position:absolute;inset:0;z-index:-2}
body.tn .sx-hero-bg img{width:100%;height:100%;object-fit:cover;opacity:1!important;filter:saturate(.92) contrast(1.03)!important;object-position:center 45%}
body.tn .sx-hero::after{z-index:-1!important;background:
  linear-gradient(180deg,rgb(11 18 32/.55) 0%,rgb(11 18 32/.28) 28%,rgb(11 18 32/.5) 60%,rgb(11 18 32/.92) 100%),
  linear-gradient(90deg,rgb(11 18 32/.6) 0%,rgb(11 18 32/.1) 72%)!important}
body.tn .sx-hero .wrap{position:relative;z-index:1;flex:1;width:100%;display:flex!important;flex-direction:column;align-items:flex-start;justify-content:flex-end}
body.tn .sx-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 auto!important;padding:8px 0 28px;list-style:none;font:500 13px/1.3 var(--v-sans);color:rgb(255 255 255/.72)}
body.tn .sx-crumbs li{display:inline-flex;align-items:center;gap:8px;min-width:0}
body.tn .sx-crumbs li+li::before{content:""!important;display:inline-block;width:5px;height:5px;border-top:1.4px solid currentColor;border-right:1.4px solid currentColor;transform:rotate(45deg);opacity:.6}
body.tn .sx-crumbs a{color:inherit;text-decoration:none}
body.tn .sx-crumbs a:hover{color:#fff}
body.tn .sx-crumbs [aria-current]{color:#fff;max-width:36ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.tn .sx-kicker{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
body.tn .sx-hero .sx-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;font:500 12.5px/1.2 var(--v-sans);letter-spacing:0;text-transform:none;color:#fff;background:rgb(11 18 32/.38);border:1px solid rgb(255 255 255/.22);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}
body.tn .sx-hero .sx-pill:not(.ok):not(.closed)::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--v-camel);flex:none}
body.tn .sx-hero .sx-pill.ok svg{width:13px;height:13px;stroke:#7fd6a5;stroke-width:2.6}
body.tn .sx-hero .sx-pill.closed::before{content:"";width:7px;height:7px;border-radius:50%;background:#e9a397;flex:none}
body.tn .sx-hero h1{margin:0;max-width:20ch;font:700 clamp(2.4rem,5.2vw,4.4rem)/1.0 var(--v-display)!important;letter-spacing:-.045em!important;color:#fff!important;text-shadow:none}
body.tn .sx-hero h1 .sx-h1-loc{display:block;margin-top:12px;font:600 .5em/1.15 var(--v-display);letter-spacing:-.03em;color:rgb(255 255 255/.74)}
body.tn .sx-lead{margin:18px 0 0;max-width:40rem;font:400 clamp(1.02rem,1.3vw,1.18rem)/1.6 var(--v-sans);color:rgb(255 255 255/.86)}
body.tn .sx-hero .sx-ctas{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0}
/* "See the <span data-hub-n>16</span> live roles": keep normal word spacing inside the flex button */
body.tn .sx-ctas .btn:has([data-hub-n]){gap:0;white-space:pre}
body.tn .sx-ctas .btn:has([data-hub-n]) .ar{margin-left:.45rem}
body.tn .sx-hero .btn-gold,body.tn .sx-final .btn-gold{background:#fff!important;color:var(--v-ink)!important;border-color:transparent!important}
body.tn .sx-hero .btn-gold:hover,body.tn .sx-final .btn-gold:hover{background:#fff!important;box-shadow:0 16px 34px -16px rgb(0 0 0/.5)}
body.tn .sx-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%;margin:32px 0 0;border-radius:22px;overflow:hidden;background:rgb(11 18 32/.4);border:1px solid rgb(255 255 255/.18);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%)}
body.tn .sx-stats div{padding:18px 22px;background:none;border-left:1px solid rgb(255 255 255/.12)}
body.tn .sx-stats div:first-child{border-left:0}
body.tn .sx-stats b{display:block;font:700 clamp(1.3rem,2.2vw,1.75rem)/1.1 var(--v-display);letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums}
body.tn .sx-stats span{display:block;margin-top:5px;font:500 12.5px/1.35 var(--v-sans);color:rgb(255 255 255/.7)}
@media(max-width:700px){
  body.tn .sx-hero{min-height:min(78svh,620px);padding:84px 0 26px!important}
  body.tn .sx-crumbs{padding-bottom:22px;font-size:12.5px}
  body.tn .sx-crumbs [aria-current]{max-width:22ch}
  body.tn .sx-hero h1{font-size:clamp(2.15rem,9.6vw,2.9rem)!important}
  body.tn .sx-hero .sx-ctas{width:100%}
  body.tn .sx-hero .sx-ctas .btn{flex:1 1 100%}
  body.tn .sx-stats{grid-template-columns:1fr 1fr;margin-top:24px}
  body.tn .sx-stats div{padding:14px 16px;border-left:0;border-top:1px solid rgb(255 255 255/.12)}
  body.tn .sx-stats div:nth-child(-n+2){border-top:0}
  body.tn .sx-stats div:nth-child(even){border-left:1px solid rgb(255 255 255/.12)}
}

/* sections, cards, the reading column */
body.tn .sx-sec{padding:clamp(3.5rem,7vw,6rem) 0!important;background:var(--v-paper)!important}
body.tn .sx-sec.alt{background:var(--v-paper-2)!important}
body.tn .sx-sec-head{max-width:46rem;margin:0 0 clamp(22px,3vw,32px)}
body.tn .sx-h2,body.tn .sx-sec-head .sx-h2{margin:0;font:700 clamp(1.8rem,3.4vw,2.7rem)/1.06 var(--v-display)!important;letter-spacing:-.04em!important;color:var(--v-ink)}
body.tn .sx-sec-head p{margin:12px 0 0;font:400 16.5px/1.6 var(--v-sans);color:var(--v-muted);max-width:60ch}
body.tn .sx-cols{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(24px,3vw,44px);align-items:start}
body.tn .sx-card{background:#fff;border:1px solid var(--v-line);border-radius:var(--v-r-lg);box-shadow:var(--v-shadow-soft);padding:clamp(22px,2.6vw,32px)}
body.tn .sx-card+.sx-card{margin-top:16px}
body.tn .sx-card h2{margin:0 0 16px;font:600 clamp(1.2rem,1.6vw,1.4rem)/1.25 var(--v-display)!important;letter-spacing:-.025em!important;color:var(--v-ink)}
body.tn .sx-card .ed-link{font:600 14.5px/1.3 var(--v-sans)}

/* facts card */
body.tn .sx-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;margin:0;border-top:1px solid var(--v-line)}
body.tn .sx-facts div{padding:14px 0 15px!important;border-bottom:1px solid var(--v-line)}
body.tn .sx-facts dt{margin:0 0 5px;font:600 .7rem/1.2 var(--v-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--v-muted)}
body.tn .sx-facts dd{margin:0;font:600 15.5px/1.45 var(--v-sans);color:var(--v-ink)}
body.tn .sx-list{list-style:none;margin:0;padding:0}
body.tn .sx-list li{position:relative;padding:0 0 12px 32px;font:400 16px/1.6 var(--v-sans);color:var(--v-text)}
body.tn .sx-list li::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;box-shadow:none;background:var(--v-paper-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b1220' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat}
body.tn .sx-list li b,body.tn .sx-list li strong{font-weight:600;color:var(--v-ink)}
body.tn .sx-note{margin:16px 0 0;font:400 13px/1.6 var(--v-sans);color:var(--v-muted)}
body.tn .sx-filled{margin:0 0 16px;padding:16px 18px;border-radius:18px;background:#fff;border:1px solid var(--v-line);box-shadow:var(--v-shadow-soft);font:400 15px/1.55 var(--v-sans);color:var(--v-text)}
body.tn .sx-filled b{display:flex;align-items:center;gap:8px;margin-bottom:2px;font-weight:600;color:var(--v-ink)}
body.tn .sx-filled b::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--v-danger);flex:none}

/* apply card (sticky beside the article) */
body.tn .sx-apply{position:sticky;top:88px}
body.tn .sx-apply .sx-pay{margin:0 0 4px;font:700 clamp(1.45rem,2.2vw,1.8rem)/1.15 var(--v-display);letter-spacing:-.035em;color:var(--v-ink)}
body.tn .sx-apply .sx-pay-sub{margin:0 0 18px;font:400 14px/1.5 var(--v-sans);color:var(--v-muted)}
body.tn .sx-apply .btn{width:100%;justify-content:center;white-space:normal;text-align:center}
body.tn .sx-apply .btn+.btn{margin-top:10px}
body.tn .sx-steps{list-style:none;counter-reset:s;margin:22px 0 0;padding:18px 0 0;border-top:1px solid var(--v-line)}
body.tn .sx-steps li{position:relative;counter-increment:s;padding:0 0 14px 38px;font:400 14px/1.55 var(--v-sans);color:var(--v-muted)}
body.tn .sx-steps li::before{content:counter(s);position:absolute;left:0;top:-1px;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--v-paper-2);border:1px solid var(--v-line);color:var(--v-ink);font:500 12px/1 var(--v-mono)}
body.tn .sx-steps li b{font-weight:600;color:var(--v-ink)}
@media(max-width:960px){
  body.tn .sx-cols{grid-template-columns:1fr}
  body.tn .sx-apply{position:static}
}
@media(max-width:480px){body.tn .sx-facts{grid-template-columns:1fr}}

/* job cards on hubs and "Similar roles": Play event card */
body.tn .sx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
body.tn .sx-job{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--v-line);border-radius:var(--v-r-lg);box-shadow:var(--v-shadow-soft);color:inherit;text-decoration:none;transition:transform .5s var(--v-ease),box-shadow .5s var(--v-ease)}
body.tn .sx-job:hover{transform:translateY(-4px);box-shadow:var(--v-shadow-lift)}
body.tn .sx-job-media{position:relative;aspect-ratio:16/10;background:var(--v-paper-2);overflow:hidden}
body.tn .sx-job-media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92) contrast(1.03);transition:transform 1.1s var(--v-ease)}
body.tn .sx-job:hover .sx-job-media img{transform:scale(1.035)}
body.tn .sx-job-media .sx-tag{position:absolute;top:12px;left:12px;z-index:1;display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 9px;border-radius:999px;font:600 12px/1.2 var(--v-sans);letter-spacing:0;text-transform:none;color:var(--v-ink);background:rgb(255 255 255/.86);border:1px solid rgb(255 255 255/.7);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 4px 12px -6px rgb(11 18 32/.4)}
body.tn .sx-job-media .sx-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--v-camel);flex:none}
body.tn .sx-job-body{display:flex;flex-direction:column;gap:4px;flex:1;padding:16px 18px 16px 20px}
body.tn .sx-job-body h3{margin:0;font:600 17.5px/1.28 var(--v-display)!important;letter-spacing:-.025em!important;color:var(--v-ink)}
body.tn .sx-job-loc{position:relative;padding-left:18px;font:500 13px/1.4 var(--v-sans);color:var(--v-muted)}
body.tn .sx-job-loc::before{content:"";position:absolute;left:0;top:2px;width:13px;height:13px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23586070' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6-7-11a7 7 0 0 1 14 0c0 5-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat}
body.tn .sx-job-pay{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px!important;border-top:1px solid var(--v-line);font:700 15.5px/1.3 var(--v-display);letter-spacing:-.02em;color:var(--v-ink)}
body.tn .sx-job-body h3 + .sx-job-loc + .sx-job-pay{margin-top:auto}
body.tn .sx-job-body .sx-job-loc{margin-bottom:14px}
body.tn .sx-job-pay::after{content:"";flex:none;width:36px;height:36px;border-radius:999px;border:1px solid var(--v-stone);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b1220' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .35s var(--v-ease),border-color .25s}
body.tn .sx-job:hover .sx-job-pay::after{transform:translateX(3px);border-color:var(--v-ink)}
@media(max-width:1100px){body.tn .sx-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:640px){
  body.tn .sx-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;
    margin:0 calc(-1 * var(--v-gutter));padding:4px var(--v-gutter) 20px;scroll-padding-inline:var(--v-gutter);scrollbar-width:none}
  body.tn .sx-grid::-webkit-scrollbar{display:none}
  body.tn .sx-grid > .sx-job{scroll-snap-align:start}
}

/* hub: table, article, FAQ, links */
body.tn .sx-table-wrap{overflow-x:auto;border:1px solid var(--v-line);border-radius:18px;background:#fff;box-shadow:var(--v-shadow-soft)}
body.tn .sx-table{width:100%;border-collapse:collapse;font:400 14.5px/1.45 var(--v-sans)}
body.tn .sx-table th{padding:12px 16px;text-align:left;background:var(--v-paper);border-bottom:1px solid var(--v-line);font:600 .7rem/1.2 var(--v-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--v-muted)}
body.tn .sx-table td{padding:14px 16px;border-bottom:1px solid var(--v-line);color:var(--v-text);vertical-align:top;font-variant-numeric:tabular-nums}
body.tn .sx-table tr:last-child td{border-bottom:0}
body.tn .sx-table tbody tr:hover td{background:rgb(245 245 242/.6)}
body.tn .sx-table td a{color:var(--v-ink);font-weight:600;text-decoration:none}
body.tn .sx-table td a:hover{text-decoration:underline;text-underline-offset:3px}
body.tn .sx-prose{max-width:44rem}
body.tn .sx-prose h2{margin:48px 0 14px;font:700 clamp(1.45rem,2.4vw,1.9rem)/1.15 var(--v-display)!important;letter-spacing:-.035em!important;color:var(--v-ink)}
body.tn .sx-prose h2:first-child{margin-top:0}
body.tn .sx-prose h3{margin:28px 0 8px;font:600 1.15rem/1.3 var(--v-display);letter-spacing:-.02em;color:var(--v-ink)}
body.tn .sx-prose p{margin:0 0 16px;font:400 17px/1.75 var(--v-sans);color:var(--v-text)}
body.tn .sx-prose ul{margin:0 0 18px;padding:0;list-style:none}
body.tn .sx-prose ul li{position:relative;padding:0 0 10px 24px;font:400 17px/1.65 var(--v-sans);color:var(--v-text)}
body.tn .sx-prose ul li::before{content:"";position:absolute;left:4px;top:11px;width:6px;height:6px;border-radius:50%;background:var(--v-ink);box-shadow:none}
body.tn .sx-prose a{color:var(--v-ink);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
body.tn .sx-prose strong{font-weight:600;color:var(--v-ink)}
body.tn .sx-prose .sx-steps li{font-size:15.5px;color:var(--v-text)}
body.tn .sx-callout{margin:22px 0;padding:16px 20px;border-radius:18px;background:#fff;border:1px solid var(--v-line);box-shadow:inset 3px 0 0 var(--v-ink);font:400 15.5px/1.6 var(--v-sans);color:var(--v-text)}
body.tn .sx-faq{max-width:52rem;border-top:1px solid var(--v-line)}
body.tn .sx-faq details{margin:0;padding:0;border:0;border-bottom:1px solid var(--v-line);border-radius:0;background:none}
body.tn .sx-faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:16px 0!important;list-style:none;cursor:pointer;font:600 17px/1.35 var(--v-display)!important;letter-spacing:-.02em;color:var(--v-ink)}
body.tn .sx-faq summary::-webkit-details-marker{display:none}
body.tn .sx-faq summary::after{content:""!important;position:static!important;flex:none;width:10px;height:10px;border-right:1.8px solid var(--v-muted);border-bottom:1.8px solid var(--v-muted);transform:rotate(45deg) translateY(-3px);transition:transform .3s var(--v-ease)}
body.tn .sx-faq details[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
body.tn .sx-faq details p{margin:0;padding:0 0 20px;max-width:68ch;font:400 15.5px/1.65 var(--v-sans);color:var(--v-muted)}
body.tn .sx-links{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
body.tn .sx-links a{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border-radius:999px;background:#fff;border:1px solid var(--v-line);font:500 14px/1 var(--v-sans);color:var(--v-ink);text-decoration:none;transition:border-color .25s,background-color .25s}
body.tn .sx-links a:hover{border-color:var(--v-ink);background:#fff}
body.tn .sx-links a .n{font:500 12px/1 var(--v-mono);color:var(--v-muted)}

/* final CTA: ink card on the paper canvas */
body.tn .sx-final{padding:clamp(1rem,3vw,2rem) 0 clamp(4rem,8vw,6rem)!important;background:var(--v-paper)!important;text-align:center}
body.tn .sx-sec.alt + .sx-final{padding-top:clamp(3.5rem,7vw,5.5rem)!important}
body.tn .sx-final .wrap{max-width:calc(var(--v-max) - 2 * var(--v-gutter));width:calc(100% - 2 * var(--v-gutter));margin:0 auto;padding:clamp(2.6rem,6vw,4.5rem) clamp(1.4rem,5vw,4rem)!important;border-radius:var(--v-r-xl);color:#fff;
  background:radial-gradient(120% 140% at 100% 0%,var(--v-ink-3) 0%,var(--v-ink) 58%);box-shadow:var(--v-shadow-lift)}
body.tn .sx-final h2{margin:0 auto 12px;max-width:22ch;font:700 clamp(1.9rem,3.6vw,3rem)/1.05 var(--v-display)!important;letter-spacing:-.04em!important;color:#fff!important}
body.tn .sx-final p{margin:0 auto;max-width:44rem;font:400 16.5px/1.6 var(--v-sans);color:rgb(255 255 255/.78)}
body.tn .sx-final .sx-ctas{justify-content:center;margin-top:26px}
@media(max-width:700px){body.tn .sx-final .sx-ctas .btn{flex:1 1 100%}}

/* phones: role pages can carry a sticky apply bar once seo-build emits .sx-mbar (see the redesign report) */
body.tn .sx-mbar{display:none}
@media(max-width:900px){
  body.tn .sx-mbar{position:sticky;bottom:calc(84px + env(safe-area-inset-bottom));z-index:30;display:flex;align-items:center;gap:12px;width:calc(100% - 24px);margin:0 auto -64px;padding:8px 8px 8px 18px;border-radius:999px;
    background:rgb(255 255 255/.9);-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%);border:1px solid rgb(255 255 255/.85);box-shadow:0 18px 40px -18px rgb(11 18 32/.45)}
  body.tn .sx-mbar b{flex:1;min-width:0;font:700 15px/1.25 var(--v-display);letter-spacing:-.02em;color:var(--v-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body.tn .sx-mbar .btn{min-height:44px;padding:0 18px}
}
/* QA: the sticky Apply bar waits until the page's own Apply button has scrolled away; WhatsApp sits above it */
body.tn .sx-mbar{transition:opacity .3s var(--v-ease-soft),transform .4s var(--v-ease)}
body.tn.mbar-wait:not(.mbar-on) .sx-mbar{opacity:0;pointer-events:none;transform:translateY(12px)}
@media(max-width:900px){body.tn:has(.sx-mbar) .wa-float{bottom:calc(158px + env(safe-area-inset-bottom))!important}}

/* Oct 29 2026: portrait golf thumbnail at the photo's own 4:5 shape (no zoom) */
body.tn .jb-golf-img{width:72px;height:90px;object-position:center}
/* padel hub photo strip: 3 portrait tiles, 3:4 like the photos themselves */
.sx-cities.sx-photos{grid-template-columns:repeat(3,minmax(0,1fr))}
.sx-photos .sx-city::after{display:none}
.sx-photos .sx-city:hover img{transform:none}
@media(max-width:640px){.sx-cities.sx-photos{grid-template-columns:minmax(0,1fr);gap:12px}}
