/*
 * REDtone job listing - template-careers-jobs.php
 * Everything is scoped under .rt-jobs (rj- prefix) or body.rt-jobs-page, so the rest
 * of the site is untouched. The job board rules put the body class in front of the
 * plugin's own selectors: the plugin and style.css both style those elements,
 * often with !important.
 */

/* ---------- page frame ---------- */
body.rt-jobs-page .site-content > .ast-container{ max-width:none !important; width:100% !important; padding:0 !important; display:block !important; }
body.rt-jobs-page .site-content{ background:#F6F2F1 !important; }

.rt-jobs{
	--rj-red:#ED1C24;
	--rj-red-dark:#C00D14;
	--rj-gold:#FFC629;
	--rj-ink:#191113;
	--rj-paper:#F6F2F1;
	--rj-line:#ECE5E4;
	--rj-muted:#6C6062;
	--rj-hero-top:150px;
	font-family:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	color:var(--rj-ink);
	overflow-x:clip;
}
.rt-jobs *, .rt-jobs *::before, .rt-jobs *::after{ box-sizing:border-box; }
.rt-jobs :is(h1,h2,h3,h4,p,a,li,summary,button,input,select,label,span,strong,b,small){ font-family:inherit; }
.rt-jobs h1, .rt-jobs h2, .rt-jobs h3{ margin:0; color:inherit; }
.rt-jobs p{ margin:0; }
.rt-jobs img{ display:block; max-width:100%; height:auto; }

.rt-jobs .rj-wrap{ width:min(1180px, 100% - 40px); margin-inline:auto; }
.rt-jobs .rj-hand{ font-family:"Caveat Brush", "Comic Sans MS", cursive; font-weight:400; }
.rt-jobs h2{ font-size:clamp(2.1rem, 5vw, 3.6rem); font-weight:800; line-height:1.05; letter-spacing:-.035em; }
.rt-jobs .rj-ul{ position:relative; display:inline-block; white-space:nowrap; }
.rt-jobs .rj-ul svg{ position:absolute; left:-2%; bottom:-.2em; width:104%; height:.38em; overflow:visible; }
.rt-jobs .rj-ul path{ fill:none; stroke:var(--rj-gold); stroke-width:7; stroke-linecap:round; }

.rt-jobs .rj-btn{ display:inline-flex; align-items:center; gap:.5em; padding:.95em 2em; border-radius:999px; background:var(--rj-red); color:#fff !important; font-weight:800; text-decoration:none !important; box-shadow:0 6px 0 var(--rj-red-dark); transition:transform .2s, box-shadow .2s; }
.rt-jobs .rj-btn:hover{ transform:translateY(-3px); box-shadow:0 9px 0 var(--rj-red-dark); }
.rt-jobs .rj-btn--white{ background:#fff; color:var(--rj-red) !important; box-shadow:0 6px 0 rgba(0,0,0,.25); }
.rt-jobs .rj-btn--white:hover{ box-shadow:0 9px 0 rgba(0,0,0,.25); }

/* ---------- hero ---------- */
.rt-jobs .rj-hero{ position:relative; display:grid; grid-template-columns:minmax(0, 1fr); place-items:center; min-height:640px; padding:calc(var(--rj-hero-top) + 10px) 20px 120px; overflow:hidden; background:var(--rj-red-dark); color:#fff; text-align:center; clip-path:polygon(0 0, 100% 0, 100% 90%, 64% 100%, 60% 94%, 0 98%); }
.rt-jobs .rj-hero__bg{ position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; transform:scale(1.05); }
.rt-jobs .rj-hero::before{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(237,28,36,.8), rgba(150,10,16,.92)); }
.rt-jobs .rj-hero__in{ position:relative; z-index:2; width:min(860px, 100%); }
.rt-jobs .rj-hero__eyebrow{ display:inline-block; font-size:1.7rem; color:var(--rj-gold); transform:rotate(-3deg); }
.rt-jobs .rj-hero h1{ margin:.25em 0 .35em; font-size:clamp(2.4rem, 6.5vw, 4.8rem); font-weight:800; line-height:1; letter-spacing:-.035em; color:#fff; }
.rt-jobs .rj-hero h1 span{ display:inline-block; padding:0 .15em; background:#fff; color:var(--rj-red); transform:rotate(-2deg); box-shadow:7px 7px 0 var(--rj-ink); }
.rt-jobs .rj-hero p{ max-width:56ch; margin:0 auto 30px; font-size:1.15rem; line-height:1.6; color:#fff; opacity:.95; }

.rt-jobs .rj-search{ display:flex; gap:8px; max-width:640px; margin:0 auto; padding:8px; border-radius:999px; background:#fff; box-shadow:0 20px 50px rgba(0,0,0,.25); }
.rt-jobs .rj-search:focus-within{ box-shadow:0 20px 50px rgba(0,0,0,.25), 0 0 0 4px rgba(255,198,41,.75); }
.rt-jobs .rj-search input[type="search"]{ flex:1; min-width:0; width:100%; height:auto; margin:0; padding:12px 18px !important; border:0 !important; outline:0; background:transparent !important; box-shadow:none !important; font-size:1.05rem; font-weight:500; color:var(--rj-ink); }
.rt-jobs .rj-search button{ flex:none; margin:0; padding:14px 28px; border:0; border-radius:999px; background:var(--rj-red); color:#fff; font-size:1rem; font-weight:800; line-height:1.2; cursor:pointer; transition:background .2s; }
.rt-jobs .rj-search button:hover, .rt-jobs .rj-search button:focus-visible{ background:var(--rj-red-dark); color:#fff; }

.rt-jobs .rj-chips{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:22px; }
.rt-jobs .rj-chips .rj-hand{ align-self:center; font-size:1.3rem; color:var(--rj-gold); }
.rt-jobs .rj-chips a{ padding:7px 16px; border:2px solid rgba(255,255,255,.7); border-radius:999px; color:#fff !important; font-size:.92rem; font-weight:700; text-decoration:none !important; transition:background .2s, color .2s; }
.rt-jobs .rj-chips a:hover, .rt-jobs .rj-chips a:focus-visible{ background:#fff; color:var(--rj-red) !important; }

/* ---------- job board ---------- */
.rt-jobs .rj-board{ padding:40px 0 80px; }
body.rt-jobs-page .rt-jobs .sjb-page{ margin:0; padding:0 !important; }
body.rt-jobs-page .rt-jobs .sjb-page :is(h3,h4,p,a,span,div,label,input,select,button,b,strong,summary,small){ font-family:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif; }
body.rt-jobs-page .rt-jobs .sjb-page .rj-hand{ font-family:"Caveat Brush", "Comic Sans MS", cursive; }

/* keyword bar (the job type dropdown is replaced by the sidebar) */
html body.rt-jobs-page .sjb-page .sjb-filters.sjb-filters-v1,
html body.rt-jobs-page .sjb-page .sjb-filters.sjb-filters-v2{ margin:0 0 22px !important; padding:8px 8px 8px 14px !important; background:#fff !important; border:2px solid var(--rj-line) !important; border-radius:999px !important; box-shadow:0 10px 30px rgba(26,19,21,.06) !important; }
html body.rt-jobs-page .sjb-page .filters-form .row{ display:flex !important; flex-wrap:nowrap !important; align-items:center; gap:8px !important; margin:0 !important; }
html body.rt-jobs-page .sjb-page .filters-form .row > div{ margin:0 !important; }
html body.rt-jobs-page .sjb-page .filters-form .sjb-search-keyword{ flex:1 1 auto !important; min-width:0 !important; }
html body.rt-jobs-page .sjb-page .filters-form .sjb-search-job-type{ display:none !important; }
html body.rt-jobs-page .sjb-page .filters-form .sjb-search-button{ flex:0 0 auto !important; }
html body.rt-jobs-page .sjb-page .filters-form .rt-kw-input{ min-height:52px; padding:12px 14px !important; border:0 !important; border-radius:999px !important; background:transparent !important; box-shadow:none !important; font-size:1.05rem !important; }
html body.rt-jobs-page .sjb-page .filters-form .btn-search{ min-width:64px; height:52px !important; min-height:52px; padding:0 22px !important; border:0 !important; border-radius:999px !important; background-color:var(--rj-red) !important; color:#fff !important; font-weight:800 !important; transition:background-color .2s; }
html body.rt-jobs-page .sjb-page .filters-form .btn-search:hover{ background-color:var(--rj-red-dark) !important; }

/* sidebar + list layout (built by careers-jobs.js) */
.rt-jobs .rj-layout{ display:grid; grid-template-columns:270px minmax(0, 1fr); gap:32px; align-items:start; }
.rt-jobs .rj-main{ min-width:0; }
.rt-jobs .rj-aside{ position:sticky; top:130px; max-height:calc(100vh - 150px); overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#D9CFCD transparent; padding:24px; background:#fff; border:2px solid var(--rj-line); border-radius:20px; }
.admin-bar .rt-jobs .rj-aside{ top:162px; max-height:calc(100vh - 182px); }
.rt-jobs .rj-aside h3{ margin:0 0 4px; font-size:1.15rem; font-weight:800; color:var(--rj-ink); }
.rt-jobs .rj-aside > .rj-hand{ display:block; margin-bottom:10px; font-size:1.25rem; color:var(--rj-red); }
.rt-jobs .rj-group{ padding:14px 0 6px; border-top:1px solid var(--rj-line); }
.rt-jobs .rj-group summary{ display:flex; justify-content:space-between; list-style:none; cursor:pointer; font-size:.95rem; font-weight:800; color:var(--rj-ink); }
.rt-jobs .rj-group summary::-webkit-details-marker{ display:none; }
.rt-jobs .rj-group summary::after{ content:"\2013"; color:var(--rj-red); }
.rt-jobs .rj-group:not([open]) summary::after{ content:"+"; }
.rt-jobs .rj-opt{ display:flex !important; align-items:center; gap:10px; width:100%; margin:0 !important; padding:7px 0; cursor:pointer; font-size:.95rem; font-weight:500; color:#333; }
.rt-jobs .rj-opt input{ -webkit-appearance:none; appearance:none; display:grid; place-items:center; flex:0 0 auto; width:20px; height:20px; margin:0; border:2px solid #ccc; border-radius:6px; background:#fff; cursor:pointer; transition:background .15s, border-color .15s; }
.rt-jobs .rj-opt input:checked{ background:var(--rj-red); border-color:var(--rj-red); }
.rt-jobs .rj-opt input:checked::after{ content:""; width:5px; height:10px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg) translate(-1px, -1px); }
.rt-jobs .rj-opt input:focus-visible{ outline:3px solid rgba(237,28,36,.35); outline-offset:2px; }
.rt-jobs .rj-opt b{ margin-left:auto; padding:2px 9px; border-radius:999px; background:#F5F2EF; font-size:.8rem; font-weight:700; color:var(--rj-muted); }
.rt-jobs .rj-saved-toggle{ display:flex; align-items:center; justify-content:center; gap:8px; width:100%; margin:8px 0 14px; padding:10px; border:2px solid var(--rj-ink); border-radius:999px; background:#fff; color:var(--rj-ink); font-size:.95rem; font-weight:800; line-height:1.2; cursor:pointer; transition:background .2s, color .2s; }
.rt-jobs .rj-saved-toggle:hover, .rt-jobs .rj-saved-toggle:focus{ background:#fff; color:var(--rj-ink); }
.rt-jobs .rj-saved-toggle[aria-pressed="true"]{ background:var(--rj-ink); color:#fff; }
.rt-jobs .rj-reset{ padding:10px 0 0; border:0; background:none; color:var(--rj-red); font-size:.95rem; font-weight:700; text-decoration:underline; cursor:pointer; }
.rt-jobs .rj-reset:hover, .rt-jobs .rj-reset:focus{ background:none; color:var(--rj-red-dark); }
.rt-jobs .rj-filter-btn{ display:none; }

/* results count + sort row */
body.rt-jobs-page .rt-jobs .rt-sort{ display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:12px; margin:0 0 18px; }
.rt-jobs .rj-count{ margin-right:auto; font-weight:700; color:var(--rj-ink); }
.rt-jobs .rj-count strong{ font-size:1.2rem; color:var(--rj-red); }

/* job cards */
body.rt-jobs-page .sjb-page .list-view{ display:grid !important; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:22px; align-items:stretch; }
body.rt-jobs-page .sjb-page .list-view > nav{ grid-column:1 / -1; }
body.rt-jobs-page .sjb-page .list-data{ position:relative; float:none !important; width:auto !important; height:auto; margin:0 !important; padding:0 !important; overflow:visible; background:transparent !important; border:0 !important; border-radius:20px !important; box-shadow:none !important; transform:none !important; }
body.rt-jobs-page .sjb-page .list-data:hover{ transform:none !important; box-shadow:none !important; }
body.rt-jobs-page .sjb-page .list-data[hidden]{ display:none !important; }
body.rt-jobs-page .sjb-page .rt-cardlink{ display:flex !important; flex-direction:column; height:100%; min-height:0; padding:26px 26px 22px !important; background:#fff; border:2px solid var(--rj-line) !important; border-radius:20px !important; box-shadow:none !important; text-decoration:none !important; transition:transform .2s, box-shadow .2s, border-color .2s; }
body.rt-jobs-page .sjb-page .rt-cardlink:hover,
body.rt-jobs-page .sjb-page .rt-cardlink:focus-visible{ transform:translate(-3px, -3px); border-color:var(--rj-ink) !important; box-shadow:7px 7px 0 var(--rj-ink) !important; outline:0; }
body.rt-jobs-page .sjb-page .rt-top{ padding-right:48px; }
body.rt-jobs-page .sjb-page .rt-badge{ padding:5px 12px; border-radius:999px; font-size:11.5px; font-weight:800; letter-spacing:.04em; }
body.rt-jobs-page .sjb-page .rt-badge.ft{ background:#FDE7E8; color:var(--rj-red); }
body.rt-jobs-page .sjb-page .rt-badge.intern{ background:#FFF3CC; color:#8A5A00; }
body.rt-jobs-page .sjb-page .rt-badge.protege{ background:#E4F4F1; color:#0E7A68; }
body.rt-jobs-page .sjb-page .rt-badge.contract{ background:#ECEAF8; color:#4B3FA8; }
body.rt-jobs-page .sjb-page .rt-title{ margin:14px 0 6px; font-size:1.35rem; font-weight:800; line-height:1.25; letter-spacing:-.01em; color:var(--rj-ink); }
body.rt-jobs-page .sjb-page .rt-cardlink:hover .rt-title{ color:var(--rj-red); }
body.rt-jobs-page .sjb-page .rt-dept{ margin:0; font-size:.8rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--rj-muted); }
body.rt-jobs-page .sjb-page .rt-desc{ margin:12px 0 0; font-size:.95rem; line-height:1.55; color:#555; }
body.rt-jobs-page .sjb-page .rt-cardlink > :has(+ .rt-foot){ margin-bottom:18px; }
body.rt-jobs-page .sjb-page .rt-foot{ margin-top:auto; padding-top:16px; border-top:1px dashed #E2D9D7; }
body.rt-jobs-page .sjb-page .rt-loc{ font-size:13.5px; }
body.rt-jobs-page .sjb-page .rt-go{ font-size:13.5px; font-weight:800; color:var(--rj-red); }

.rt-jobs .rj-save{ position:absolute; top:18px; right:18px; z-index:2; display:grid; place-items:center; width:40px; height:40px; margin:0; padding:0; border:2px solid var(--rj-line); border-radius:50%; background:#fff; cursor:pointer; transition:transform .2s, border-color .2s, background .2s; }
.rt-jobs .rj-save svg{ width:18px; height:18px; fill:none; stroke:#999; stroke-width:2; transition:fill .2s, stroke .2s; }
.rt-jobs .rj-save:hover, .rt-jobs .rj-save:focus{ border-color:var(--rj-gold); background:#fff; }
.rt-jobs .rj-save:focus-visible{ outline:3px solid var(--rj-ink); outline-offset:2px; }
.rt-jobs .rj-save[aria-pressed="true"]{ border-color:var(--rj-gold); background:var(--rj-gold); }
.rt-jobs .rj-save[aria-pressed="true"] svg{ fill:var(--rj-ink); stroke:var(--rj-ink); }
body.rt-jobs-page .sjb-page .list-data:hover .rj-save{ transform:translate(-3px, -3px); }

.rt-jobs .rj-empty{ grid-column:1 / -1; padding:50px 20px; text-align:center; background:#fff; border:2px dashed var(--rj-line); border-radius:20px; }
.rt-jobs .rj-empty[hidden]{ display:none !important; }
.rt-jobs .rj-empty b{ display:block; margin-bottom:6px; font-size:1.3rem; }
.rt-jobs .rj-empty .rj-hand{ font-size:1.4rem; color:var(--rj-red); }

/* ---------- why our people love it here ---------- */
.rt-jobs .rj-why{ padding:100px 0 110px; background:#fff; }
.rt-jobs .rj-why__head{ margin-bottom:56px; text-align:center; }
.rt-jobs .rj-why__head .rj-hand{ display:block; font-size:1.6rem; color:var(--rj-red); transform:rotate(-2deg); }
.rt-jobs .rj-why__grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:28px; }
.rt-jobs .rj-why__card{ padding:34px 30px; background:#fff; border:2px solid var(--rj-ink); border-radius:20px; box-shadow:9px 9px 0 var(--rj-ink); transition:transform .25s; }
.rt-jobs .rj-why__card:nth-child(1){ transform:rotate(-1.5deg); }
.rt-jobs .rj-why__card:nth-child(2){ transform:rotate(1deg) translateY(14px); }
.rt-jobs .rj-why__card:nth-child(3){ transform:rotate(-.8deg); }
.rt-jobs .rj-why__card:hover{ transform:rotate(0) translateY(-6px); }
.rt-jobs .rj-why__big{ display:flex; align-items:center; min-height:48px; font-size:3rem; font-weight:800; line-height:1; letter-spacing:-.04em; color:var(--rj-red); }
.rt-jobs .rj-why__card h3{ margin:14px 0 8px; font-size:1.35rem; font-weight:800; color:var(--rj-ink); }
.rt-jobs .rj-why__card p{ line-height:1.6; color:#555; }

/* ---------- early careers ---------- */
.rt-jobs .rj-early{ padding:110px 0; background:var(--rj-ink); color:#fff; clip-path:polygon(0 3%, 38% 0, 42% 3%, 100% 0, 100% 97%, 60% 100%, 0 97%); }
.rt-jobs .rj-early__grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; align-items:center; }
.rt-jobs .rj-early .rj-hand{ display:inline-block; font-size:1.7rem; color:var(--rj-gold); transform:rotate(-3deg); }
.rt-jobs .rj-early h2{ color:#fff; }
.rt-jobs .rj-early__intro p{ max-width:44ch; margin-top:18px; font-size:1.1rem; line-height:1.65; opacity:.85; }
.rt-jobs .rj-early__cards{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.rt-jobs .rj-prog{ display:block; padding:12px 12px 24px; background:#fff; color:var(--rj-ink); text-decoration:none !important; transition:transform .3s; }
.rt-jobs .rj-prog:nth-child(1){ transform:rotate(-3deg); }
.rt-jobs .rj-prog:nth-child(2){ transform:rotate(2.5deg) translateY(26px); }
.rt-jobs .rj-prog:hover, .rt-jobs .rj-prog:focus-visible{ transform:rotate(0) scale(1.03); }
.rt-jobs .rj-prog img{ width:100%; aspect-ratio:4 / 3; object-fit:cover; object-position:72% center; }
.rt-jobs .rj-prog h3{ margin:16px 8px 6px; font-size:1.35rem; font-weight:800; color:var(--rj-ink); }
.rt-jobs .rj-prog p{ margin:0 8px; font-size:.95rem; line-height:1.5; color:#555; }
.rt-jobs .rj-prog__cta{ display:inline-block; margin:14px 8px 0; font-weight:800; color:var(--rj-red); }

/* ---------- talent pool ---------- */
.rt-jobs .rj-pool{ padding:110px 0; }
.rt-jobs .rj-pool__box{ position:relative; display:grid; grid-template-columns:1.3fr 1fr; gap:40px; align-items:center; padding:64px 56px; overflow:hidden; border-radius:28px; background:var(--rj-red); color:#fff; }
.rt-jobs .rj-pool__box::after{ content:"REDtone"; position:absolute; right:-10px; bottom:-.22em; font-size:8rem; line-height:1; font-weight:800; letter-spacing:-.05em; color:rgba(255,255,255,.08); pointer-events:none; }
.rt-jobs .rj-pool .rj-hand{ font-size:1.6rem; color:var(--rj-gold); }
.rt-jobs .rj-pool h2{ color:#fff; }
.rt-jobs .rj-pool p{ margin-top:14px; font-size:1.1rem; line-height:1.6; opacity:.95; }
.rt-jobs .rj-pool__cta{ position:relative; z-index:1; text-align:center; }

/* ---------- responsive ---------- */
@media (max-width:1000px){
	.rt-jobs .rj-layout{ grid-template-columns:240px minmax(0, 1fr); gap:24px; }
	body.rt-jobs-page .sjb-page .list-view{ grid-template-columns:minmax(0, 1fr); }
}
@media (max-width:900px){
	.rt-jobs{ --rj-hero-top:120px; }
	.rt-jobs .rj-why__grid, .rt-jobs .rj-early__grid, .rt-jobs .rj-pool__box{ grid-template-columns:1fr; }
	.rt-jobs .rj-why__card:nth-child(n){ transform:none; }
	.rt-jobs .rj-early__cards{ gap:16px; }
	.rt-jobs .rj-pool__box{ padding:44px 26px; }
	.rt-jobs .rj-why, .rt-jobs .rj-early, .rt-jobs .rj-pool{ padding:70px 0; }
}
@media (max-width:820px){
	.rt-jobs .rj-layout{ grid-template-columns:minmax(0, 1fr); gap:0; }
	.rt-jobs .rj-aside{ position:static; display:none; max-height:none; margin-bottom:18px; }
	.rt-jobs .rj-aside.is-open{ display:block; }
	.rt-jobs .rj-filter-btn{ display:inline-flex; align-items:center; justify-self:start; gap:8px; margin:0 0 14px; padding:9px 18px; border:2px solid var(--rj-ink); border-radius:999px; background:#fff; color:var(--rj-ink); font-size:.95rem; font-weight:800; line-height:1.2; cursor:pointer; }
	.rt-jobs .rj-filter-btn:hover, .rt-jobs .rj-filter-btn:focus{ background:#fff; color:var(--rj-ink); }
	.rt-jobs .rj-filter-btn[aria-expanded="true"]{ background:var(--rj-ink); color:#fff; }
}
@media (max-width:600px){
	.rt-jobs .rj-hero{ min-height:0; padding:var(--rj-hero-top) 16px 90px; }
	.rt-jobs .rj-hero__eyebrow{ font-size:1.35rem; }
	.rt-jobs .rj-hero p{ font-size:1.02rem; }
	.rt-jobs .rj-search button{ padding:12px 18px; }
	.rt-jobs .rj-count{ flex:1 0 100%; }
	.rt-jobs .rj-board{ padding:28px 0 60px; }
	body.rt-jobs-page .sjb-page .rt-cardlink{ padding:22px 20px 18px !important; }
	body.rt-jobs-page .sjb-page .rt-title{ font-size:1.2rem; }
	.rt-jobs .rj-save{ top:14px; right:14px; }
	.rt-jobs .rj-early__cards{ grid-template-columns:1fr; }
	.rt-jobs .rj-prog:nth-child(n){ transform:none; }
	.rt-jobs .rj-ul{ white-space:normal; }
	.rt-jobs .rj-pool__box::after{ font-size:5rem; }
}
@media (prefers-reduced-motion:reduce){
	.rt-jobs *, .rt-jobs *::before, .rt-jobs *::after{ transition:none !important; }
}
