/* V2 page-family layer: employers (Oct 27 2026 redesign). Loaded after tna-v2.css.
   Pages: academies.html (For Employers), employer.html (dashboard app), opportunity.html (/job/<slug>),
   hire-tennis-coaches*.html (generated by seo-build: CSS only).
   Every id / data-* / class a script reads is kept in the markup; this file only restyles around them. */

/* ==========================================================================
   1. FOR EMPLOYERS (academies.html) — TNA Play "For partners", carried further
   ========================================================================== */
body.tn .ac-page{display:flex;flex-wrap:wrap}
body.tn .ac-page > *{flex:1 1 100%;min-width:0;order:20}
/* free + verified sit side by side. DOM order stays as the SPEC (free, request, talent, verified …);
   #verified holds no links or controls, so moving it visually does not change keyboard focus order. */
body.tn .ac-page > #hero{order:1}
body.tn .ac-page > #numbers{order:2}
body.tn .ac-page > #recruits{order:3}
body.tn .ac-page > #how{order:4}
body.tn .ac-page > #free{order:5}
body.tn .ac-page > #verified{order:6}
body.tn .ac-page > #request{order:7}
body.tn .ac-page > #talent{order:8}
body.tn .ac-page > #dashboard{order:9}
body.tn .ac-page > #international{order:10}
body.tn .ac-page > #start{order:11}

/* hero */
body.tn .ac-hero .ed-hero-bg img{object-position:50% 40%}
body.tn .ac-hero .ed-hero-sub{max-width:38rem}
body.tn .ac-hero-trust{margin-top:26px;gap:10px 22px}
body.tn .ac-hero-trust li{font-size:13.5px}
@media(max-width:700px){body.tn .ac-hero-trust{flex-direction:column;gap:8px;margin-top:20px}}

/* proof strip: real numbers (tna-stats.js fills [data-stat]) + sports */
body.tn .ac-proof{background:#fff;border-bottom:1px solid var(--v-line);padding:clamp(36px,5vw,56px) 0 clamp(28px,4vw,40px)}
body.tn .ac-nums .v-stat b span{display:inline;margin:0;font:inherit;color:inherit;letter-spacing:inherit}
body.tn .ac-nums .v-stat > span{font-weight:500}
body.tn .ac-sports{display:flex;flex-wrap:wrap;gap:8px;margin:clamp(24px,3vw,32px) 0 0;padding:clamp(20px,2.6vw,26px) 0 0;list-style:none;border-top:1px solid var(--v-line)}
body.tn .ac-sports .v-tag{background:var(--v-paper);border-color:var(--v-line);font-size:13px;padding:7px 13px}
body.tn .ac-sports .v-tag i{width:8px;height:8px}
body.tn .ac-sports .v-soon{padding:2px 8px;font-size:11px;margin-left:2px}

/* what TNA recruits */
body.tn .ac-hire{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;margin-top:clamp(28px,4vw,44px)}
body.tn .ac-hire-photo{grid-column:span 2;display:flex;flex-direction:column}
body.tn .ac-hire-photo .v-card-media{aspect-ratio:4/5}
body.tn .ac-hire-photo .v-card-media img{object-position:50% 30%}
body.tn .ac-hire-photo .v-tag{position:absolute;left:14px;top:14px}
body.tn .ac-hire h3{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;font:600 19px/1.25 var(--v-display);letter-spacing:-.025em;color:var(--v-ink)}
body.tn .ac-hire p{margin:8px 0 0;font-size:14.5px;line-height:1.6;color:var(--v-muted)}
body.tn .ac-hire-row{grid-column:span 3;display:flex;gap:18px;align-items:flex-start;padding:24px 26px}
body.tn .ac-hire-row .v-ic{flex:none}
body.tn .ac-who{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px;background:#fff;border:1px solid var(--v-line);border-radius:var(--v-r-lg);box-shadow:var(--v-shadow-soft);overflow:hidden}
body.tn .ac-who > div{padding:clamp(22px,3vw,30px)}
body.tn .ac-who > div + div{border-left:1px solid var(--v-line)}
body.tn .ac-sub-h{margin:0 0 14px;font:600 .78rem/1.2 var(--v-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--v-muted)}
body.tn .ac-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
body.tn .ac-chips li{display:inline-flex;align-items:center;min-height:34px;padding:0 13px;border-radius:999px;background:var(--v-paper);border:1px solid var(--v-line);font:500 13.5px/1.2 var(--v-sans);color:var(--v-text)}
@media(max-width:900px){
  body.tn .ac-hire{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.tn .ac-hire-photo{grid-column:span 1}
  body.tn .ac-hire-photo:nth-child(3){grid-column:span 2}
  body.tn .ac-hire-photo:nth-child(3) .v-card-media{aspect-ratio:16/7}
  body.tn .ac-hire-row{grid-column:span 2}
  body.tn .ac-who{grid-template-columns:minmax(0,1fr)}
  body.tn .ac-who > div + div{border-left:0;border-top:1px solid var(--v-line)}
}
@media(max-width:600px){
  body.tn .ac-hire{grid-template-columns:minmax(0,1fr);gap:12px}
  body.tn .ac-hire-photo,body.tn .ac-hire-photo:nth-child(3),body.tn .ac-hire-row{grid-column:auto}
  body.tn .ac-hire-photo{flex-direction:row;align-items:stretch}
  body.tn .ac-hire-photo .v-card-media,body.tn .ac-hire-photo:nth-child(3) .v-card-media{flex:0 0 112px;aspect-ratio:auto;min-height:124px}
  body.tn .ac-hire-photo .v-tag{display:none}
  body.tn .ac-hire-photo .v-card-body{padding:16px 18px;align-self:center}
  body.tn .ac-hire-row{padding:18px;gap:14px}
  body.tn .ac-hire h3{font-size:17px}
  body.tn .ac-hire p{font-size:14px;margin-top:4px}
}

/* how it works (TNA Play partner steps: hairline, mono numbers) */
body.tn .ac-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;counter-reset:acstep;margin:clamp(32px,4.5vw,52px) 0 0;padding:0;list-style:none}
body.tn .ac-steps li{counter-increment:acstep;padding-top:20px;border-top:1px solid var(--v-stone);min-width:0}
body.tn .ac-steps li::before{content:counter(acstep,decimal-leading-zero);display:block;margin-bottom:16px;font:500 12.5px/1 var(--v-mono);color:var(--v-camel-deep)}
body.tn .ac-steps h3{margin:0;font:600 17px/1.3 var(--v-display);letter-spacing:-.02em;color:var(--v-ink)}
body.tn .ac-steps p{margin:8px 0 0;font-size:14.5px;line-height:1.6;color:var(--v-muted)}
@media(max-width:1000px){body.tn .ac-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}}
@media(max-width:560px){
  body.tn .ac-steps{grid-template-columns:minmax(0,1fr);gap:0}
  body.tn .ac-steps li{display:grid;grid-template-columns:40px minmax(0,1fr);padding:18px 0;border-top:1px solid var(--v-line)}
  body.tn .ac-steps li::before{grid-row:span 2;margin:3px 0 0}
  body.tn .ac-steps li:last-child{border-bottom:1px solid var(--v-line)}
}

/* free + verified, side by side */
body.tn .ac-pair{display:flex;background:var(--v-paper);padding:clamp(4rem,8vw,7rem) 0}
body.tn .ac-pair > .wrap{display:flex;flex:1 1 auto;width:100%}
body.tn .ac-pair > .wrap > *{flex:1 1 auto;min-width:0}
@media(min-width:1001px){
  body.tn .ac-page > #free,body.tn .ac-page > #verified{flex:1 1 50%;max-width:50%}
  body.tn .ac-page > #free > .wrap{max-width:calc(var(--v-max) / 2);margin:0 0 0 auto;padding-right:10px!important}
  body.tn .ac-page > #verified > .wrap{max-width:calc(var(--v-max) / 2);margin:0 auto 0 0;padding-left:10px!important}
}
@media(max-width:1000px){
  body.tn .ac-page > #free{padding-bottom:10px}
  body.tn .ac-page > #verified{padding-top:10px}
}
body.tn .ac-free,body.tn .ac-ver{border-radius:var(--v-r-xl);padding:clamp(28px,4vw,52px)}
body.tn .ac-free{position:relative;isolation:isolate;overflow:hidden;background:var(--v-ink);color:#fff}
body.tn .ac-free::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(80% 70% at 100% 0%,rgb(181 139 94/.22),transparent 62%),radial-gradient(60% 60% at 0% 100%,rgb(255 255 255/.05),transparent 70%)}
body.tn .ac-free h2,body.tn .ac-ver h2{margin:0;font:700 clamp(2rem,3.4vw,3rem)/1.04 var(--v-display)!important;letter-spacing:-.04em!important;text-transform:none!important}
body.tn .ac-free h2{color:#fff}
body.tn .ac-free h2 em{font-style:normal;color:rgb(255 255 255/.62)}
body.tn .ac-free .ac-big{margin:18px 0 0;font:600 clamp(1.08rem,1.5vw,1.28rem)/1.4 var(--v-sans);color:#fff;max-width:34ch}
body.tn .ac-free .ac-copy{margin:14px 0 0;font-size:15.5px;line-height:1.65;color:var(--v-silver);max-width:52ch}
body.tn .ac-free-list{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none}
body.tn .ac-free-list li{display:inline-flex;align-items:center;gap:7px;padding:7px 13px 7px 9px;border-radius:999px;background:rgb(255 255 255/.07);border:1px solid rgb(255 255 255/.14);font:500 13px/1.2 var(--v-sans);color:#fff}
body.tn .ac-free-list li::before{content:"";width:16px;height:16px;border-radius:999px;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='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/10px no-repeat}
body.tn .ac-free .ed-ctas{display:flex;flex-wrap:wrap;margin-top:28px}
body.tn .ac-fine{margin:22px 0 0;padding-top:18px;border-top:1px solid rgb(255 255 255/.12);font-size:13px;line-height:1.55;color:rgb(255 255 255/.62);max-width:60ch}
body.tn .ac-ver{background:#fff;border:1px solid var(--v-line);box-shadow:var(--v-shadow-soft)}
body.tn .ac-ver h2{margin-top:20px;color:var(--v-ink)}
body.tn .ac-seal{display:inline-flex;align-items:center;gap:9px;padding:6px 14px 6px 6px;border-radius:999px;background:var(--v-ink);color:#fff;font:600 13px/1.2 var(--v-sans)}
body.tn .ac-seal i{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:var(--v-live)}
body.tn .ac-seal svg{width:13px;height:13px;stroke:#fff;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
body.tn .ac-ver-rows{display:grid;gap:22px;margin-top:26px}
body.tn .ac-ver-row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:start}
body.tn .ac-ver-row h3{margin:2px 0 0;font:600 17px/1.3 var(--v-display);letter-spacing:-.02em;color:var(--v-ink)}
body.tn .ac-ver-row p{margin:6px 0 0;font-size:14.5px;line-height:1.62;color:var(--v-muted)}
body.tn .ac-ver-foot{margin:26px 0 0;padding-top:18px;border-top:1px solid var(--v-line);font-size:13px;line-height:1.55;color:var(--v-muted)}
@media(max-width:560px){body.tn .ac-ver-row{grid-template-columns:minmax(0,1fr);gap:12px}}

/* build your offer + side cards */
body.tn .ac-request{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.55fr);gap:24px;align-items:start;margin-top:clamp(28px,4vw,44px)}
body.tn .ac-request .ac-side{display:grid;gap:16px;position:sticky;top:96px}
body.tn .ac-byo-shell{min-height:420px;min-width:0}
body.tn .ac-byo-shell .byo{max-width:none;margin:0}
body.tn .ac-side-card{padding:24px;border-radius:var(--v-r-lg);background:#fff;border:1px solid var(--v-line);box-shadow:var(--v-shadow-soft)}
body.tn .ac-side-card .v-ic{margin-bottom:16px}
body.tn .ac-side-card b{display:block;margin:0 0 6px;font:600 17px/1.3 var(--v-display);letter-spacing:-.02em;color:var(--v-ink)}
body.tn .ac-side-card p{margin:0 0 8px;font-size:14.5px;line-height:1.55;color:var(--v-muted)}
body.tn .ac-side-card .ed-link{display:flex;width:fit-content;min-height:40px}
@media(max-width:960px){
  body.tn .ac-request{grid-template-columns:minmax(0,1fr)}
  body.tn .ac-request .ac-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){body.tn .ac-request .ac-side{grid-template-columns:minmax(0,1fr)}}

/* featured talent (cards come from tna-talent.js) */
body.tn .ac-page .v-head .v-lead{margin-top:18px}
body.tn .ac-page .v-more svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--v-ease)}
body.tn .ac-page .v-more:hover svg{transform:translateX(3px)}
body.tn #talent .v-head-row{margin-bottom:clamp(28px,4vw,40px)}
body.tn #acTalent{grid-template-columns:repeat(4,minmax(0,1fr))}
body.tn #acTalent .tl-badge.ft{top:auto;bottom:12px;left:12px;display:inline-flex;align-items:center;gap:6px;padding-left:9px;background:var(--v-ink);color:#fff}
body.tn #acTalent .tl-badge.ft svg{flex:none;width:12px;height:12px;fill:#fff;stroke:none}
@media(max-width:1100px){body.tn #acTalent{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body.tn #acTalent{grid-template-columns:minmax(0,1fr)}}
body.tn .ac-talent-empty{margin:0;font-size:15.5px;line-height:1.6;color:var(--v-muted)}
body.tn .ac-talent-empty a{color:var(--v-ink);text-decoration:underline;text-underline-offset:4px}
body.tn .ac-talent-note{display:flex;gap:12px;align-items:flex-start;margin:22px 0 0;padding:16px 18px;border-radius:var(--v-r-md);background:var(--v-paper);border:1px solid var(--v-line);font-size:14.5px;line-height:1.55;color:var(--v-muted);max-width:52rem}
body.tn .ac-talent-note svg{flex:none;width:18px;height:18px;margin-top:2px;stroke:var(--v-ink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* dashboard preview */
body.tn .ac-dash{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(32px,5vw,72px);align-items:center}
body.tn .ac-dash .v-lead{margin:16px 0 18px}
body.tn .ac-dash-list{margin-bottom:30px}
body.tn .ac-dash-list li{font-size:15px;color:var(--v-text)}
body.tn .ac-mock{display:grid;grid-template-columns:58px minmax(0,1fr);min-height:380px;border-radius:var(--v-r-lg);background:#fff;border:1px solid var(--v-line);box-shadow:var(--v-shadow-lift);overflow:hidden}
body.tn .ac-mock-side{display:flex;flex-direction:column;align-items:center;gap:12px;padding:18px 0;background:var(--v-ink)}
body.tn .ac-mock-side i{display:block;width:26px;height:8px;border-radius:99px;background:rgb(255 255 255/.16)}
body.tn .ac-mock-side i.lg{width:28px;height:28px;border-radius:9px;background:var(--v-camel);margin-bottom:8px}
body.tn .ac-mock-side i.on{background:#fff}
body.tn .ac-mock-main{padding:18px;background:var(--v-paper);min-width:0}
body.tn .ac-mock .sk{display:block;height:8px;border-radius:99px;background:var(--v-stone)}
body.tn .ac-mock .sk.thin{height:6px;margin-top:6px;background:var(--v-line)}
body.tn .ac-mock .sk.big{height:14px;background:var(--v-ink);opacity:.85}
body.tn .ac-mock .w30{width:30%}.ac-mock .w40{width:40%}.ac-mock .w50{width:50%}.ac-mock .w60{width:60%}.ac-mock .w70{width:70%}
body.tn .ac-mock-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}
body.tn .ac-mock-top > div{flex:1}
body.tn .ac-mock .tag{position:static;flex:none;letter-spacing:0;text-transform:none;padding:4px 10px;border-radius:999px;background:#fff;border:1px solid var(--v-line);font:600 11px/1.2 var(--v-sans);color:var(--v-muted)}
body.tn .ac-mock-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}
body.tn .ac-mock-kpis > div{padding:12px;border-radius:12px;background:#fff;border:1px solid var(--v-line)}
body.tn .ac-mock .cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
body.tn .ac-mock .col{min-height:170px;padding:10px;border-radius:14px;background:var(--v-paper-2)}
body.tn .ac-mock .col > span{display:block;margin-bottom:10px;font:600 11.5px/1.2 var(--v-sans);color:var(--v-muted)}
body.tn .ac-mock .card{display:grid;grid-template-columns:22px minmax(0,1fr);column-gap:8px;align-items:center;margin-bottom:6px;padding:9px;border-radius:10px;background:#fff;border:1px solid var(--v-line)}
body.tn .ac-mock .card b{grid-row:span 2;width:22px;height:22px;border-radius:999px;background:linear-gradient(150deg,var(--v-silver),var(--v-ink-3))}
body.tn .ac-mock .card .sk{height:6px}
body.tn .ac-mock .card .sk.thin{height:5px;margin-top:5px}
@media(max-width:960px){body.tn .ac-dash{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){
  body.tn .ac-mock{grid-template-columns:minmax(0,1fr);min-height:0}
  body.tn .ac-mock-side{display:none}
  body.tn .ac-mock-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.tn .ac-mock .cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.tn .ac-mock .col{min-height:120px}
}

/* international hiring: market cards */
body.tn .ac-intl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:clamp(28px,4vw,44px)}
body.tn .ac-mkt{display:flex;flex-direction:column;background:#fff;border:1px solid var(--v-line);border-radius:var(--v-r-lg);box-shadow:var(--v-shadow-soft);overflow:hidden;min-width:0;transition:transform .5s var(--v-ease),box-shadow .5s var(--v-ease)}
body.tn .ac-mkt:hover{transform:translateY(-4px);box-shadow:var(--v-shadow-lift)}
body.tn .ac-mkt-media{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--v-paper-2)}
body.tn .ac-mkt-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.03);transition:transform 1.1s var(--v-ease)}
body.tn .ac-mkt:hover .ac-mkt-media img{transform:scale(1.035)}
body.tn .ac-mkt .ac-n{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:999px;font:600 12px/1.2 var(--v-sans);color:var(--v-ink);background:rgb(255 255 255/.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgb(255 255 255/.8)}
body.tn .ac-mkt .ac-n::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--v-live);box-shadow:0 0 0 3px rgb(47 166 106/.22)}
body.tn .ac-mkt .ac-n[hidden]{display:none}
body.tn .ac-mkt-body{display:flex;flex-direction:column;flex:1;padding:20px 22px 22px}
body.tn .ac-mkt h3{margin:0;font:600 19px/1.25 var(--v-display);letter-spacing:-.025em;color:var(--v-ink)}
body.tn .ac-mkt p{margin:6px 0 0;font-size:14.5px;line-height:1.55;color:var(--v-muted)}
body.tn .ac-mkt p a{color:var(--v-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--v-stone)}
body.tn .ac-mkt .ac-links{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:auto;padding-top:14px}
body.tn .ac-mkt .ac-links a{display:inline-flex;align-items:center;min-height:40px;font:600 14px/1.2 var(--v-sans);color:var(--v-ink);text-decoration:underline;text-decoration-color:var(--v-stone);text-underline-offset:5px;text-decoration-thickness:1.5px}
body.tn .ac-mkt .ac-links a:hover{text-decoration-color:var(--v-ink)}
body.tn .ac-hire-links{margin-top:clamp(36px,5vw,56px);padding:clamp(22px,3vw,30px);border-radius:var(--v-r-lg);background:#fff;border:1px solid var(--v-line)}
body.tn .ac-hire-links .sx-sec-head{margin:0 0 18px}
body.tn .ac-hire-links .sx-sec-head .sx-h2{font:600 clamp(1.3rem,2vw,1.6rem)/1.2 var(--v-display);letter-spacing:-.03em;color:var(--v-ink)}
body.tn .ac-hire-links .sx-sec-head p{margin-top:6px;font-size:15px;color:var(--v-muted)}
body.tn .ac-hire-links .sx-links a{min-height:40px;background:var(--v-paper);border-color:var(--v-line);font:500 14px/1.2 var(--v-sans);color:var(--v-ink)}
body.tn .ac-hire-links .sx-links a:hover{background:#fff;border-color:var(--v-warm)}
@media(max-width:1000px){body.tn .ac-intl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
  body.tn .ac-intl{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--v-gutter) * -1);padding:0 var(--v-gutter) 8px;scroll-padding-inline:var(--v-gutter);scrollbar-width:none}
  body.tn .ac-intl::-webkit-scrollbar{display:none}
  body.tn .ac-mkt{flex:0 0 80%;max-width:20rem;scroll-snap-align:start}
  body.tn .ac-mkt:hover{transform:none}
}

/* final CTA: photo on the right, glass card on the left */
body.tn .ac-final .v-eyebrow{color:var(--v-silver)}
body.tn .ac-final .ed-h2{margin:0}
body.tn .ac-final .ed-sub{margin:16px auto 0}
@media(min-width:1001px){
  body.tn .ac-final{text-align:left;padding:clamp(6rem,10vw,9rem) 0!important}
  body.tn .ac-final .ed-final-bg{left:36%}
  body.tn .ac-final .ed-final-bg img{opacity:1!important;object-position:50% 45%}
  body.tn .ac-final::before{background:linear-gradient(90deg,var(--v-ink) 0%,var(--v-ink) 39%,rgb(11 18 32/.55) 56%,rgb(11 18 32/.08) 82%),linear-gradient(0deg,rgb(11 18 32/.35),transparent 40%)}
  body.tn .ac-final > .wrap{max-width:36rem;margin-left:max(var(--v-gutter),calc((100% - var(--v-max)) / 2 + var(--v-gutter)));margin-right:0}
  body.tn .ac-final .ed-sub{margin-left:0}
  body.tn .ac-final .ed-ctas{justify-content:flex-start}
}

/* ==========================================================================
   2. BUILD YOUR OFFER (tna-employer-offer.js) — academies.html#request and employer.html#jobs/new
   ========================================================================== */
.byo{font-family:var(--v-sans);color:var(--v-text)}
.byo-card{border-radius:var(--v-r-lg);padding:26px 22px 22px;background:#fff;border:1px solid var(--v-line);box-shadow:var(--v-shadow-lift)}
@media(min-width:720px){.byo-card{padding:34px 36px 30px}}
.byo-prog{gap:14px;margin:0 0 22px;font:500 12px/1.2 var(--v-mono);letter-spacing:.02em;text-transform:none;color:var(--v-muted)}
.byo-bar{height:6px;border-radius:99px;background:var(--v-paper-2)}
.byo-bar span{border-radius:99px;background:linear-gradient(90deg,var(--v-ink),var(--v-camel))}
.byo h3.byo-title{font:700 clamp(24px,3vw,32px)/1.12 var(--v-display);letter-spacing:-.035em;color:var(--v-ink);margin:0 0 8px}
.byo .byo-help{font-size:15px;line-height:1.55;color:var(--v-muted);margin:0 0 22px}
.byo .byo-private{font:600 12.5px/1.2 var(--v-sans);letter-spacing:0;color:#1f6e47;background:rgb(47 166 106/.1);padding:7px 12px}
.byo-grid{gap:18px}
.byo-f{gap:8px}
.byo-f > label:not(.byo-toggle),.byo-f > .byo-l{font:600 13.5px/1.3 var(--v-sans);letter-spacing:0;text-transform:none;color:var(--v-ink)}
.byo-f .req{color:var(--v-camel-deep)}
.byo input[type=text],.byo input[type=email],.byo input[type=tel],.byo input[type=number],.byo input[type=date],.byo input[type=url],.byo input[type=password],.byo select,.byo textarea{
  font:400 16px/1.4 var(--v-sans);color:var(--v-ink);min-height:48px;padding:12px 14px;border-radius:var(--v-r-sm);border:1px solid var(--v-line);background:#fff;transition:border-color .2s,box-shadow .2s}
.byo input:hover,.byo select:hover,.byo textarea:hover{border-color:var(--v-stone)}
.byo input:focus,.byo select:focus,.byo textarea:focus{border-color:var(--v-ink);box-shadow:0 0 0 4px rgb(11 18 32/.07)}
.byo .byo-err input,.byo .byo-err select,.byo .byo-err textarea,.byo .byo-err .byo-chips{border-color:var(--v-danger);box-shadow:0 0 0 4px rgb(201 86 74/.1)}
.byo .byo-msg{font-size:13px;color:#a8433a}
.byo .byo-note{font-size:13px;color:var(--v-muted)}
.byo-chips{gap:8px}
.byo-chip{font:500 14px/1.2 var(--v-sans);letter-spacing:0;text-transform:none;color:var(--v-text);min-height:44px;padding:0 16px;border-radius:999px;background:#fff;border:1px solid var(--v-line);transition:border-color .2s,background-color .2s,color .2s}
.byo-chip:hover{border-color:var(--v-warm)}
.byo-chip[aria-pressed=true]{background:var(--v-ink);border-color:var(--v-ink);color:#fff}
.byo-chip:focus-visible{outline:2px solid var(--v-ink);outline-offset:2px}
.byo-toggle{font:500 15px/1.35 var(--v-sans);color:var(--v-text)}
.byo-toggle input,.byo-radio input{accent-color:var(--v-ink)}
.byo-radio label{font:500 15px/1.4 var(--v-sans);color:var(--v-text);padding:14px 16px;border-radius:var(--v-r-sm);border:1px solid var(--v-line);transition:border-color .2s,box-shadow .2s}
.byo-radio label:hover{border-color:var(--v-warm)}
.byo-radio label:has(input:checked){border-color:var(--v-ink);box-shadow:0 0 0 1px var(--v-ink)}
.byo-hl{box-shadow:0 0 0 2px var(--v-camel)!important}
.byo-nav{margin-top:26px;padding-top:20px;border-top:1px solid var(--v-line)}
@media(max-width:719px){.byo-nav{background:rgb(255 255 255/.86);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);border:1px solid var(--v-line);border-radius:999px;margin:22px -8px -8px;padding:8px;box-shadow:var(--v-shadow-glass)}
  .byo-nav .btn{min-height:44px!important}}
.byo-flags{border-radius:var(--v-r-sm)}
.byo-flags.block{background:rgb(201 86 74/.08);color:#8f352d;box-shadow:inset 0 0 0 1px rgb(201 86 74/.25)}
.byo-body .op-h{font:600 16px/1.3 var(--v-display);letter-spacing:-.02em;text-transform:none;color:var(--v-ink);margin:22px 0 8px}
.byo-sec-edit{font:600 13px/1.2 var(--v-sans);color:var(--v-camel-deep)}
.byo-done h3{font:700 26px/1.15 var(--v-display);letter-spacing:-.03em;color:var(--v-ink)}
.byo-done p{color:var(--v-muted)}
.byo-notice{border-radius:var(--v-r-sm);background:var(--v-camel-soft);box-shadow:inset 0 0 0 1px rgb(181 139 94/.3);color:var(--v-text)}

/* ==========================================================================
   3. EMPLOYER DASHBOARD (employer.html, body.emp) — app shell in the V2 system
   ========================================================================== */
body.emp{background:var(--v-paper);font-family:var(--v-sans);color:var(--v-text);font-feature-settings:"calt","kern","ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body.emp h1,body.emp h2,body.emp h3,body.emp h4{text-wrap:balance}
body.emp :focus-visible{outline:2px solid var(--v-ink);outline-offset:3px;border-radius:6px}
body.emp .emp-side :focus-visible,body.emp .emp-tabs :focus-visible{outline-color:currentColor}
/* buttons (BYO and dialogs use the site .btn classes) */
body.emp .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;padding:0 1.3rem;border-radius:999px;border:1px solid transparent;font:600 15px/1 var(--v-sans);letter-spacing:-.005em;text-transform:none;white-space:nowrap;box-shadow:none;transition:transform .3s var(--v-ease),box-shadow .3s var(--v-ease),background-color .2s,border-color .2s}
body.emp .btn::after{display:none}
body.emp .btn-gold{background:var(--v-ink);color:#fff;border-color:var(--v-ink)}
body.emp .btn-gold:hover{background:#172037;transform:translateY(-1px);box-shadow:0 14px 30px -14px rgb(11 18 32/.55)}
body.emp .btn-outline-dark{background:#fff;color:var(--v-ink);border-color:var(--v-stone)}
body.emp .btn-outline-dark:hover{border-color:var(--v-warm)}
/* shell */
body.emp .emp-side{background:var(--v-ink);padding:20px 14px;gap:2px}
body.emp .emp-brand{padding:6px 10px 22px}
body.emp .emp-brand span{font:600 11px/1 var(--v-sans);letter-spacing:.12em;color:var(--v-silver)}
body.emp .emp-nav{display:grid;gap:2px}
body.emp .emp-nav a{min-height:44px;padding:0 14px;border-radius:999px;font:500 14px/1.2 var(--v-sans);color:rgb(255 255 255/.7);transition:background-color .2s,color .2s}
body.emp .emp-nav a:hover{background:rgb(255 255 255/.07);color:#fff}
body.emp .emp-nav a.on{background:#fff;color:var(--v-ink);box-shadow:none;font-weight:600}
body.emp .emp-nav .n{min-width:20px;padding:3px 7px;font:600 11px/1 var(--v-mono);text-align:center;background:var(--v-camel);color:var(--v-ink)}
body.emp .emp-nav a.on .n{background:var(--v-ink);color:#fff}
body.emp .emp-side-foot{border-top:1px solid rgb(255 255 255/.1);font-size:12.5px;color:rgb(255 255 255/.55);overflow-wrap:anywhere}
body.emp .emp-side-foot b{font:600 13.5px/1.35 var(--v-sans);color:#fff;margin-bottom:2px}
body.emp .emp-side-foot button{font:600 13px var(--v-sans);color:#fff;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgb(255 255 255/.3);min-height:40px}
body.emp .emp-top{background:rgb(245 245 242/.82);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);border-bottom:1px solid var(--v-line)}
body.emp .emp-top .org{font:600 16px/1.25 var(--v-display);letter-spacing:-.02em;color:var(--v-ink)}
body.emp .emp-top .org small{margin-top:2px;font:500 12.5px/1.3 var(--v-sans);letter-spacing:0;color:var(--v-muted)}
body.emp .emp-bell{display:grid;place-items:center;background:#fff;border:1px solid var(--v-line);box-shadow:var(--v-shadow-soft)}
body.emp .emp-bell svg{stroke:var(--v-ink)}
body.emp .emp-bell .dot{top:4px;right:4px;background:var(--v-danger);font:600 10px/16px var(--v-mono)}
body.emp .emp-main{max-width:1200px}
@media(min-width:960px){body.emp .emp-main{padding:32px 36px 72px}body.emp .emp-top{padding:14px 36px}}
body.emp .emp-h1{font:700 clamp(28px,3.4vw,40px)/1.06 var(--v-display);letter-spacing:-.04em;color:var(--v-ink);margin:2px 0 8px}
body.emp .emp-sub{font-size:15px;line-height:1.55;color:var(--v-muted);margin:0 0 22px}
/* cards, KPIs, lists */
body.emp .emp-card{border-radius:var(--v-r-lg);padding:20px;background:#fff;border:1px solid var(--v-line);box-shadow:var(--v-shadow-soft);margin:0 0 18px}
@media(min-width:720px){body.emp .emp-card{padding:24px 26px}}
body.emp .emp-card h2{font:600 12px/1.2 var(--v-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--v-muted);margin:0 0 14px}
body.emp .emp-kpis{gap:12px;margin:0 0 18px}
body.emp .emp-kpi{border-radius:var(--v-r-md);padding:16px 18px;background:#fff;border:1px solid var(--v-line);box-shadow:var(--v-shadow-soft)}
body.emp .emp-kpi b{font:700 clamp(28px,3vw,36px)/1 var(--v-display);letter-spacing:-.04em;color:var(--v-ink);font-variant-numeric:tabular-nums}
body.emp .emp-kpi span{margin-top:8px;font:500 13px/1.3 var(--v-sans);letter-spacing:0;text-transform:none;color:var(--v-muted)}
body.emp .emp-banner{border-radius:var(--v-r-sm);padding:14px 16px;font-size:14.5px}
body.emp .emp-banner.warn{background:#fbf3e3;box-shadow:inset 0 0 0 1px #ecd9b0;color:#5b4210}
body.emp .emp-banner.ok{background:#eaf6ef;box-shadow:inset 0 0 0 1px #c3e3d0;color:#1f5c3d}
body.emp .emp-banner .btn{min-height:40px;padding:0 1rem;font-size:14px}
body.emp .emp-list{gap:10px}
body.emp .emp-item{gap:6px;padding:16px 18px;border-radius:var(--v-r-md);background:#fff;box-shadow:none;border:1px solid var(--v-line);transition:border-color .2s,box-shadow .3s var(--v-ease)}
body.emp a.emp-item{color:inherit;text-decoration:none}
body.emp a.emp-item:hover,body.emp .emp-cand:hover{border-color:var(--v-stone);box-shadow:var(--v-shadow-soft)}
body.emp .emp-card .emp-item{background:var(--v-paper)}
body.emp .emp-card .emp-item:hover{background:#fff}
body.emp .emp-item h3{font:600 16.5px/1.3 var(--v-display);letter-spacing:-.02em;color:var(--v-ink)}
body.emp .emp-item .meta{font-size:13.5px;color:var(--v-muted)}
body.emp .emp-item .line{font-size:13.5px;font-weight:500;color:#1f6e47}
body.emp .emp-item .acts{gap:6px;margin-top:8px}
body.emp .emp-chip{padding:4px 10px;font:600 12px/1.2 var(--v-sans);letter-spacing:0;text-transform:none;background:var(--v-paper-2);color:var(--v-ink)}
body.emp .emp-chip.live{background:#e3f4ea;color:#1f6e47}
body.emp .emp-chip.live::before{content:"";width:6px;height:6px;margin-right:6px;border-radius:50%;background:var(--v-live)}
body.emp .emp-chip.pending,body.emp .emp-chip.changes{background:#fbf0d9;color:#7a5410}
body.emp .emp-chip.rejected,body.emp .emp-chip.removed{background:#f8e4e1;color:#8f352d}
body.emp .emp-chip.pro{background:var(--v-ink);color:#fff}
body.emp .emp-nums{gap:6px 16px;font-size:13px}
body.emp .emp-nums b{font:600 13px var(--v-mono);color:var(--v-ink)}
body.emp .emp-btn{justify-content:center;min-height:40px;padding:0 16px;border-radius:999px;font:600 13.5px/1 var(--v-sans);letter-spacing:0;text-transform:none;background:#fff;color:var(--v-ink);box-shadow:inset 0 0 0 1px var(--v-stone);transition:background-color .2s,box-shadow .2s,transform .3s var(--v-ease)}
body.emp .emp-btn:hover{box-shadow:inset 0 0 0 1px var(--v-warm)}
body.emp .emp-btn.dark,body.emp .emp-btn.gold{background:var(--v-ink);color:#fff;box-shadow:none}
body.emp .emp-btn.dark:hover,body.emp .emp-btn.gold:hover{background:#172037;transform:translateY(-1px)}
body.emp .emp-btn.danger{background:#fbeeec;color:#8f352d;box-shadow:inset 0 0 0 1px #efcdc8}
/* filters + candidates */
body.emp .emp-filters{gap:8px;margin:0 0 16px}
body.emp .emp-filters select,body.emp .emp-filters input{font:500 14px/1.2 var(--v-sans);color:var(--v-ink);padding:0 14px;border-radius:999px;border:1px solid var(--v-line);background-color:#fff;min-height:44px}
body.emp .emp-filters input{padding:0 16px}
body.emp .emp-filters select:focus,body.emp .emp-filters input:focus{outline:none;border-color:var(--v-ink);box-shadow:0 0 0 4px rgb(11 18 32/.07)}
body.emp .emp-cand{gap:14px;padding:16px;border-radius:var(--v-r-md);background:#fff;box-shadow:none;border:1px solid var(--v-line);transition:border-color .2s,box-shadow .3s var(--v-ease)}
body.emp .emp-cand .ph{border-radius:999px;background:linear-gradient(150deg,var(--v-ink-3),var(--v-ink));color:#fff;font:600 17px/1 var(--v-display)}
body.emp .emp-cand h3{font:600 16px/1.3 var(--v-display);letter-spacing:-.02em;color:var(--v-ink)}
body.emp .emp-cand .newdot{background:var(--v-camel)}
body.emp .emp-cand .meta{font-size:13.5px;color:var(--v-muted)}
body.emp .emp-reasons span{font:500 12px/1.2 var(--v-sans);padding:5px 10px;background:#eaf6ef;color:#1f6e47}
body.emp .emp-sec h4{font:600 12px/1.2 var(--v-sans);letter-spacing:.08em;color:var(--v-muted);margin:20px 0 10px}
body.emp .emp-sec p{font-size:15px}
body.emp .emp-sec dt{font:500 12.5px/1.3 var(--v-sans);letter-spacing:0;text-transform:none;color:var(--v-muted)}
body.emp .emp-video{border-radius:var(--v-r-md)}
body.emp .emp-stars button{color:var(--v-stone)}
body.emp .emp-stars button.on{color:var(--v-camel)}
body.emp .emp-msg{border-radius:var(--v-r-sm);background:var(--v-paper);box-shadow:none;border:1px solid var(--v-line);font-size:14.5px}
body.emp .emp-msg.tna{background:#eef7f1;border-color:#cfe6d8;box-shadow:none}
body.emp .emp-msg small{font-size:12px;color:var(--v-muted)}
/* forms */
body.emp .emp-form{gap:14px}
body.emp .emp-form label{gap:7px;font:600 13.5px/1.3 var(--v-sans);letter-spacing:0;text-transform:none;color:var(--v-ink)}
body.emp .emp-form textarea,body.emp .emp-form input,body.emp .emp-form select{font:400 16px/1.4 var(--v-sans);color:var(--v-ink);min-height:48px;padding:12px 14px;border-radius:var(--v-r-sm);border:1px solid var(--v-line);background:#fff;transition:border-color .2s,box-shadow .2s}
body.emp .emp-form input[type=checkbox],body.emp .emp-form input[type=radio]{min-height:0;width:18px;height:18px;padding:0;accent-color:var(--v-ink)}
body.emp .emp-form textarea:focus,body.emp .emp-form input:focus,body.emp .emp-form select:focus{outline:none;border-color:var(--v-ink);box-shadow:0 0 0 4px rgb(11 18 32/.07)}
body.emp .emp-sticky{border-radius:var(--v-r-md);background:rgb(255 255 255/.9);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);border:1px solid var(--v-line);box-shadow:var(--v-shadow-lift)}
@media(min-width:960px){body.emp .emp-sticky{border:0;box-shadow:none;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}}
body.emp .emp-sticky select{font:500 14px var(--v-sans);border-radius:999px;border:1px solid var(--v-line);padding:0 14px}
/* phone tab bar, FAB, sheet */
body.emp .emp-tabs{background:rgb(255 255 255/.86);-webkit-backdrop-filter:blur(24px) saturate(170%);backdrop-filter:blur(24px) saturate(170%);border-top:1px solid var(--v-line);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
body.emp .emp-tabs a,body.emp .emp-tabs button{gap:4px;font:500 11px/1.1 var(--v-sans);color:var(--v-muted);border-radius:16px}
body.emp .emp-tabs .on{color:var(--v-ink);font-weight:600}
body.emp .emp-tabs svg{width:22px;height:22px;padding:0;stroke-width:1.9}
body.emp .emp-tabs .on svg{width:44px;height:28px;padding:3px 11px;border-radius:999px;background:var(--v-ink);color:#fff;box-sizing:border-box}
body.emp .emp-fab{background:var(--v-ink);color:#fff;font:600 14px/1 var(--v-sans);letter-spacing:0;text-transform:none;padding:0 20px;min-height:48px;align-items:center;border-radius:999px;bottom:calc(84px + env(safe-area-inset-bottom));box-shadow:0 18px 36px -14px rgb(11 18 32/.55)}
@media(max-width:959px){body.emp #empApp:has(.emp-sticky) .emp-fab{display:none}}
body.emp .emp-sheet-bg{background:rgb(11 18 32/.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
body.emp .emp-sheet{background:#fff;border-radius:28px 28px 0 0;padding:22px 14px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -20px 50px -20px rgb(11 18 32/.35)}
body.emp .emp-sheet::before{content:"";display:block;width:40px;height:4px;margin:-10px auto 12px;border-radius:99px;background:var(--v-stone)}
body.emp .emp-sheet a,body.emp .emp-sheet button{font:500 16px/1.2 var(--v-sans);color:var(--v-ink);border-radius:14px;min-height:52px}
body.emp .emp-sheet a:hover,body.emp .emp-sheet button:hover{background:var(--v-paper)}
/* sign-in / register / states */
body.emp .emp-auth{max-width:480px;margin:clamp(40px,10vh,96px) auto;padding:0 16px}
body.emp .emp-auth::before{content:"";display:block;width:132px;height:34px;margin:0 auto 26px;background:url("TNA_Agency_Logo_dark.svg") center/contain no-repeat}
body.emp .emp-auth .emp-card{padding:30px 26px;box-shadow:var(--v-shadow-lift)}
@media(min-width:560px){body.emp .emp-auth .emp-card{padding:38px 36px}}
body.emp .emp-auth h1{font:700 30px/1.1 var(--v-display);letter-spacing:-.04em;color:var(--v-ink);margin:0 0 8px}
body.emp .emp-auth .byo{max-width:none}
body.emp .emp-auth .byo-card{box-shadow:none;border:0;padding:0}
body.emp .emp-auth a:not(.btn):not(.emp-btn){color:var(--v-ink);font-weight:600;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--v-stone)}
body.emp .emp-empty{padding:32px 16px;font-size:15px;color:var(--v-muted)}
body.emp .emp-empty b{font:600 17px/1.3 var(--v-display);letter-spacing:-.02em;color:var(--v-ink)}
body.emp .emp-toast{background:var(--v-ink);font:500 14px/1.3 var(--v-sans);padding:12px 20px;box-shadow:0 18px 40px -14px rgb(11 18 32/.5)}
body.emp .emp-toast:empty{display:none}

/* dialogs (tna-emp-jobs.js injects its own base style at runtime; these win by specificity) */
body .emp-dlg .emp-dlg-bg{background:rgb(11 18 32/.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
body .emp-dlg .emp-dlg-box{background:#fff;border:1px solid var(--v-line);border-radius:28px 28px 0 0;box-shadow:var(--v-shadow-lift);font-family:var(--v-sans);color:var(--v-text)}
@media(min-width:640px){body .emp-dlg .emp-dlg-box{border-radius:var(--v-r-lg)}}
body .emp-dlg .emp-dlg-box h3{font:700 22px/1.2 var(--v-display);letter-spacing:-.03em;color:var(--v-ink)}
body .emp-dlg .emp-dlg-box textarea,body .emp-dlg .emp-dlg-box input{font:400 16px/1.4 var(--v-sans);border-radius:var(--v-r-sm);border:1px solid var(--v-line)}

/* ==========================================================================
   4. ROLE PAGE (opportunity.html, served at /job/<slug>) — markup comes from the inline script
   ========================================================================== */
#opRoot{display:block;min-height:70vh}
#opRoot .op-load{max-width:640px;margin:0 auto;padding:160px 24px 120px;text-align:center;color:var(--v-muted)}
#opRoot .op-load h1{margin:0 0 10px;font:700 clamp(30px,4vw,44px)/1.08 var(--v-display);letter-spacing:-.04em;color:var(--v-ink)}
#opRoot .op-load .btn{margin-top:8px}
#opRoot .op-wrap{max-width:var(--v-max);margin:0 auto;padding:0 var(--v-gutter)}
#opRoot .op-hero{padding:clamp(108px,12vw,148px) 0 clamp(28px,4vw,44px);background:linear-gradient(180deg,var(--v-paper-2) 0%,var(--v-paper) 100%);border-bottom:1px solid var(--v-line)}
#opRoot .op-hero .v-crumbs{margin:0 0 22px}
#opRoot .op-hero .v-crumbs li:last-child{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#opRoot .op-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
#opRoot .op-tags .v-tag{background:#fff;border-color:var(--v-line);font-size:12.5px;padding:6px 12px}
#opRoot .op-ver-chip{letter-spacing:0;text-transform:none;display:inline-flex;align-items:center;gap:6px;padding:6px 12px 6px 8px;border-radius:999px;background:#e3f4ea;color:#1f6e47;font:600 12.5px/1.2 var(--v-sans)}
#opRoot .op-ver-chip svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
#opRoot .op-hero h1{margin:0;font:700 clamp(2.3rem,5.2vw,4.4rem)/1 var(--v-display);letter-spacing:-.045em;color:var(--v-ink);max-width:20ch}
#opRoot .op-meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin:18px 0 0;font:500 15.5px/1.4 var(--v-sans);color:var(--v-muted)}
#opRoot .op-meta span{display:inline-flex;align-items:center;gap:7px}
#opRoot .op-meta svg{width:17px;height:17px;flex:none;stroke:var(--v-ink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#opRoot .op-pay{display:inline-flex;align-items:center;gap:10px;margin:22px 0 0;padding:10px 18px 10px 12px;border-radius:999px;background:#fff;border:1px solid var(--v-line);box-shadow:var(--v-shadow-soft);font:600 16px/1.3 var(--v-sans);color:var(--v-ink);font-variant-numeric:tabular-nums}
#opRoot .op-pay svg{width:20px;height:20px;flex:none;padding:5px;box-sizing:content-box;border-radius:999px;background:var(--v-paper-2);stroke:var(--v-ink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#opRoot .op-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:clamp(20px,3vw,32px);align-items:start;padding:clamp(28px,4vw,44px) 0 clamp(56px,8vw,96px)}
#opRoot .op-main{min-width:0;padding:clamp(24px,3.5vw,40px);border-radius:var(--v-r-lg);background:#fff;border:1px solid var(--v-line);box-shadow:var(--v-shadow-soft);font:400 16px/1.72 var(--v-sans);color:var(--v-text)}
#opRoot .op-summary{margin:0 0 18px;font:500 clamp(1.1rem,1.6vw,1.3rem)/1.55 var(--v-sans);color:var(--v-ink)}
#opRoot .op-about{color:var(--v-muted)}
#opRoot .op-h{margin:30px 0 12px;padding-top:24px;border-top:1px solid var(--v-line);font:600 19px/1.3 var(--v-display);letter-spacing:-.025em;text-transform:none;color:var(--v-ink)}
#opRoot .op-list{margin:0;padding:0;list-style:none}
#opRoot .op-list li{position:relative;margin:0 0 8px;padding-left:22px}
#opRoot .op-list li::before{content:"";position:absolute;left:3px;top:.68em;width:7px;height:7px;border-radius:50%;background:var(--v-camel)}
#opRoot .op-verified{margin:8px 0 6px;padding:16px 18px;border-radius:var(--v-r-md);background:#f0f8f3;border:1px solid #cfe6d8}
#opRoot .op-verified .tn-verified{display:inline-flex;align-items:center;gap:6px;font:600 13.5px/1.2 var(--v-sans);letter-spacing:0;text-transform:none;color:#1f6e47}
#opRoot .op-verified .tn-verified svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.6}
#opRoot .op-verified p{margin:8px 0 0;font-size:14px;line-height:1.6;color:var(--v-muted)}
#opRoot .op-banner{margin:0 0 20px;padding:16px 18px;border-radius:var(--v-r-md);background:var(--v-camel-soft);border:1px solid rgb(181 139 94/.3);font:500 15px/1.5 var(--v-sans);color:var(--v-ink)}
#opRoot .op-banner a{color:var(--v-ink);font-weight:600;text-decoration:underline;text-underline-offset:4px}
#opRoot .op-report-row{margin:28px 0 0}
#opRoot .op-report{min-height:40px;padding:0;border:0;background:none;font:500 13px var(--v-sans);color:var(--v-muted);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
#opRoot .op-report:hover{color:var(--v-ink)}
#opRoot .op-side{position:sticky;top:92px;display:grid;gap:16px}
#opRoot .op-card{padding:24px;border-radius:var(--v-r-lg);background:#fff;border:1px solid var(--v-line);box-shadow:var(--v-shadow-soft);font-family:var(--v-sans)}
#opRoot .op-card h3{margin:0 0 8px;font:600 19px/1.25 var(--v-display);letter-spacing:-.025em;text-transform:none;color:var(--v-ink)}
#opRoot .op-card p{margin:0 0 18px;font-size:14.5px;line-height:1.6;color:var(--v-muted)}
#opRoot .op-apply{border-color:var(--v-ink);box-shadow:var(--v-shadow-lift)}
#opRoot .op-card .jc-apply,#opRoot .op-card .btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;padding:0 20px;border-radius:999px;font:600 15px/1 var(--v-sans)!important;letter-spacing:0!important;text-transform:none!important;text-decoration:none}
#opRoot .op-apply .jc-apply{background:var(--v-ink);color:#fff;border:0;transition:background-color .2s,transform .3s var(--v-ease),box-shadow .3s var(--v-ease)}
#opRoot .op-apply .jc-apply:hover{background:#172037;transform:translateY(-1px);box-shadow:0 14px 30px -14px rgb(11 18 32/.55)}
#opRoot .op-similar{display:grid;gap:8px}
#opRoot .op-similar a{display:block;padding:13px 15px;border-radius:var(--v-r-sm);background:var(--v-paper);border:1px solid var(--v-line);font:600 14.5px/1.35 var(--v-sans);color:var(--v-ink);text-decoration:none;transition:border-color .2s,background-color .2s}
#opRoot .op-similar a:hover{background:#fff;border-color:var(--v-warm)}
#opRoot .op-similar a span{display:block;margin-top:2px;font-weight:400;font-size:13px;color:var(--v-muted)}
#opRoot .op-sticky{display:none}
@media(max-width:900px){
  #opRoot .op-grid{grid-template-columns:minmax(0,1fr)}
  #opRoot .op-side{position:static}
  #opRoot .op-sticky{display:flex;position:fixed;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:60;align-items:center;justify-content:space-between;gap:12px;padding:8px 8px 8px 18px;border-radius:999px;background:rgb(255 255 255/.86);-webkit-backdrop-filter:blur(24px) saturate(170%);backdrop-filter:blur(24px) saturate(170%);border:1px solid var(--v-line);box-shadow:var(--v-shadow-glass),var(--v-shadow-lift);color:var(--v-ink)}
  #opRoot .op-sticky span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 14px/1.2 var(--v-sans)}
  #opRoot .op-sticky .jc-apply{flex:0 0 auto;display:flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;background:var(--v-ink);color:#fff;font:600 14px/1 var(--v-sans)!important;letter-spacing:0!important;text-transform:none!important;text-decoration:none}
  body.tn:has(#opRoot .op-sticky){padding-bottom:150px}
}
@media(max-width:560px){
  #opRoot .op-main{padding:22px 20px;border-radius:var(--v-r-md)}
  #opRoot .op-pay{border-radius:var(--v-r-md);align-items:flex-start}
}

/* ==========================================================================
   5. HIRE-COACHES PAGES (hire-tennis-coaches*.html, generated by tools/seo-build.py) — CSS only
   ========================================================================== */
body.tn .sx-hero{padding:clamp(120px,12vw,150px) 0 clamp(40px,5vw,64px);background:var(--v-ink)}
body.tn .sx-hero-bg img{opacity:1;filter:saturate(.92) contrast(1.03)}
body.tn .sx-hero::after{background:linear-gradient(90deg,rgb(11 18 32/.9) 0%,rgb(11 18 32/.72) 45%,rgb(11 18 32/.35) 100%),linear-gradient(180deg,rgb(11 18 32/.45) 0%,transparent 30%,rgb(11 18 32/.55) 100%)}
body.tn .sx-crumbs{font:500 13px/1.3 var(--v-sans);color:rgb(255 255 255/.72)}
body.tn .sx-crumbs li+li::before{content:"";display:inline-block;width:5px;height:5px;margin-right:2px;border-top:1.4px solid currentColor;border-right:1.4px solid currentColor;transform:rotate(45deg) translateY(-1px);opacity:.6}
body.tn .sx-crumbs a{color:inherit}
body.tn .sx-crumbs a:hover{color:#fff}
body.tn .sx-crumbs [aria-current]{color:#fff}
body.tn .sx-hero .sx-pill{padding:7px 13px;font:500 12.5px/1.2 var(--v-sans);letter-spacing:0;text-transform:none;color:#fff;background:rgb(11 18 32/.38);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);border:1px solid rgb(255 255 255/.22)}
body.tn .sx-hero .sx-pill.ok{color:#fff}
body.tn .sx-hero .sx-pill.ok svg{color:#7fd6a6}
body.tn .sx-hero h1{font:700 clamp(2.4rem,5.4vw,4.6rem)/1!important;font-family:var(--v-display)!important;letter-spacing:-.045em;color:#fff;max-width:18ch}
body.tn .sx-hero h1 .sx-h1-loc{margin-top:14px;font:500 clamp(1.05rem,1.6vw,1.35rem)/1.35 var(--v-sans);letter-spacing:-.01em;color:rgb(255 255 255/.72);max-width:40ch}
body.tn .sx-lead{font:400 clamp(1.02rem,1.3vw,1.18rem)/1.6 var(--v-sans);color:rgb(255 255 255/.84);max-width:40rem}
body.tn .sx-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
body.tn .sx-hero .btn-gold,body.tn .sx-final .btn-gold{background:#fff!important;color:var(--v-ink)!important;border-color:#fff!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{margin-top:clamp(28px,4vw,40px);border-radius:var(--v-r-lg);background:rgb(255 255 255/.14);border:1px solid rgb(255 255 255/.16);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}
body.tn .sx-stats div{background:rgb(11 18 32/.5);padding:18px 22px}
body.tn .sx-stats b{font:700 clamp(1.6rem,2.4vw,2.1rem)/1.05 var(--v-display);letter-spacing:-.04em;color:#fff;font-variant-numeric:tabular-nums}
body.tn .sx-stats span{margin-top:6px;font:500 13px/1.35 var(--v-sans);color:rgb(255 255 255/.7)}
body.tn .sx-sec-head .sx-h2,body.tn .sx-prose h2{font-family:var(--v-display)!important;letter-spacing:-.035em;color:var(--v-ink)}
body.tn .sx-sec-head .sx-h2{font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.06;font-weight:700}
body.tn .sx-prose h2{font-weight:700;line-height:1.1}
body.tn .sx-prose p,body.tn .sx-prose ul li{color:var(--v-text)}
body.tn .sx-prose ul li::before{background:var(--v-camel);box-shadow:none;width:7px;height:7px;top:11px}
body.tn .sx-card{border-radius:var(--v-r-lg);border-color:var(--v-line);box-shadow:var(--v-shadow-soft)}
body.tn .sx-card h2{font:600 19px/1.3 var(--v-display);letter-spacing:-.025em;color:var(--v-ink)}
body.tn .sx-card .sx-note{color:var(--v-muted)!important}
body.tn .sx-apply{top:96px;box-shadow:var(--v-shadow-lift)}
body.tn .sx-apply .sx-pay{font:700 26px/1.15 var(--v-display);letter-spacing:-.035em;color:var(--v-ink)}
body.tn .sx-steps{border-top-color:var(--v-line)}
body.tn .sx-steps li{color:var(--v-muted)}
body.tn .sx-steps li::before{background:var(--v-ink);color:#fff;font:500 11.5px/1 var(--v-mono)}
body.tn .sx-steps li b{color:var(--v-ink)}
body.tn .sx-table-wrap{border-radius:var(--v-r-lg);border-color:var(--v-line);box-shadow:var(--v-shadow-soft)}
body.tn .sx-table th{font:600 12px/1.2 var(--v-sans);letter-spacing:.06em;color:var(--v-muted);background:var(--v-paper)}
body.tn .sx-table td{color:var(--v-text)}
body.tn .sx-table td:nth-child(3){font-variant-numeric:tabular-nums}
body.tn .sx-faq details{border-radius:var(--v-r-md);border-color:var(--v-line)}
body.tn .sx-faq summary{font:600 16.5px/1.35 var(--v-display);letter-spacing:-.02em;color:var(--v-ink);min-height:56px;display:flex;align-items:center}
body.tn .sx-faq details p{color:var(--v-muted)}
body.tn .sx-links a{min-height:40px;font:500 14px/1.2 var(--v-sans);color:var(--v-ink)}
body.tn .sx-sec#free{position:relative}
body.tn .sx-final{position:relative;padding:clamp(4.5rem,9vw,7rem) 0;background:var(--v-ink)}
body.tn .sx-final::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 50% 0%,rgb(255 255 255/.07),transparent 60%)}
body.tn .sx-final .wrap{position:relative;max-width:46rem;padding:clamp(2rem,4vw,3rem)!important;border-radius:var(--v-r-xl);background:rgb(255 255 255/.04);border:1px solid rgb(255 255 255/.12);box-shadow:0 1px 0 rgb(255 255 255/.1) inset,0 24px 60px -24px rgb(0 0 0/.5)}
body.tn .sx-final h2{font:700 clamp(2rem,4vw,3.2rem)/1.04 var(--v-display)!important;letter-spacing:-.04em;color:#fff;margin:0}
body.tn .sx-final p{color:var(--v-silver)}
body.tn .sx-final .sx-ctas{justify-content:center}
@media(max-width:700px){
  body.tn .sx-final .wrap{width:calc(100% - 2 * var(--v-gutter))}
  body.tn .sx-ctas .btn{flex:1 1 100%}
  body.tn .sx-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
