
:root{
  --jt-bg:#dff8e8;
  --jt-bg-deep:#c6f2d3;
  --jt-surface:#ffffff;
  --jt-surface-2:#f1fff5;
  --jt-surface-3:#0f2f25;
  --jt-text:#102018;
  --jt-muted:#4e6357;
  --jt-line:#bfe7ca;
  --jt-primary:#18a957;
  --jt-primary-dark:#0f6b38;
  --jt-primary-2:#21c967;
  --jt-accent:#f5c84b;
  --jt-accent-2:#fff1bf;
  --jt-shadow:0 18px 40px rgba(9,61,32,.12);
  --jt-shadow-strong:0 20px 60px rgba(8,54,29,.18);
  --jt-radius:24px;
  --jt-radius-sm:16px;
  --jt-max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at top left, rgba(33,201,103,.14), transparent 26%),
    radial-gradient(circle at top right, rgba(245,200,75,.18), transparent 24%),
    linear-gradient(180deg,#f6fff8 0%,var(--jt-bg) 58%,#f7fff9 100%);
  color:var(--jt-text);
  line-height:1.6;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--jt-primary);text-decoration:none}
a:hover{color:var(--jt-primary-dark)}
.site-main{display:block}
.jt-shell{width:min(calc(100% - 32px), var(--jt-max)); margin:0 auto}
.jt-header{
  position:sticky; top:0; z-index:50;
  backdrop-filter:saturate(180%) blur(14px);
  background:rgba(10,42,31,.88);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 16px 40px rgba(6,24,17,.16);
}
.jt-header__inner{
  width:min(calc(100% - 32px), var(--jt-max));
  margin:0 auto; min-height:76px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.jt-brand{display:flex; align-items:center; gap:14px; font-weight:800; color:#fff}
.jt-brand__mark{
  width:44px;height:44px;border-radius:14px;
  background:linear-gradient(135deg,var(--jt-primary),#1c8a57);
  box-shadow:var(--jt-shadow); position:relative; overflow:hidden;
}
.jt-brand__mark:before{
  content:""; position:absolute; inset:9px 12px 12px 12px;
  background:linear-gradient(180deg,#d5ffd6,#86d98a); border-radius:999px 999px 70% 70%;
  transform:rotate(-18deg);
}
.jt-brand__text strong{display:block; font-size:1.05rem; line-height:1}
.jt-brand__text span{display:block; font-size:.76rem; color:rgba(255,255,255,.72); line-height:1.2; margin-top:4px}
.jt-nav{display:flex; align-items:center; gap:18px}
.jt-nav a{font-weight:600; color:rgba(255,255,255,.88)}
.jt-nav a:hover{color:var(--jt-accent)}
.jt-menu-toggle{display:none; width:46px; height:46px; border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.08); border-radius:14px; cursor:pointer}
.jt-menu-toggle span{display:block; width:18px; height:2px; margin:4px auto; background:#fff}
.jt-mobile-nav{display:none; border-top:1px solid rgba(255,255,255,.08); background:#0f2f25}
.jt-mobile-nav.is-open{display:block}
.jt-mobile-nav .jt-shell{padding:10px 0}
.jt-mobile-nav a{display:block; padding:12px 0; font-weight:600; color:#fff}

.jt-button{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:48px; padding:0 20px; border-radius:999px; border:none;
  background:linear-gradient(135deg,var(--jt-primary),var(--jt-primary-2));
  color:#fff; font-weight:800; box-shadow:var(--jt-shadow); cursor:pointer;
}
.jt-button:hover{color:#fff; background:linear-gradient(135deg,var(--jt-primary-dark),var(--jt-primary)); transform:translateY(-1px)}
.jt-button--ghost{
  background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.18); box-shadow:none;
}
.jt-button--ghost:hover{background:rgba(255,255,255,.22); color:#fff}

.jt-hero{padding:34px 0 22px}
.jt-hero__grid{
  display:grid; grid-template-columns:1.2fr .8fr; gap:26px; align-items:stretch;
}
.jt-panel{
  background:var(--jt-surface);
  border:1px solid rgba(191,231,202,.8);
  border-radius:var(--jt-radius);
  box-shadow:var(--jt-shadow);
}
.jobtree-front-page .jt-panel{box-shadow:var(--jt-shadow-strong)}
.jt-hero__copy{padding:38px; background:linear-gradient(135deg,#0f2f25 0%, #11693a 52%, #17a454 100%); color:#fff; border:0}
.jt-kicker{
  display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px;
  background:rgba(255,255,255,.14); color:#fff; font-size:.82rem; font-weight:700;
}
.jt-hero h1{font-size:clamp(2rem,4vw,4rem); line-height:1.05; margin:18px 0 12px}
.jt-hero p{margin:0 0 24px; font-size:1.05rem; color:rgba(255,255,255,.84); max-width:58ch}
.jt-stats{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:24px}
.jt-stat{padding:16px; background:rgba(255,255,255,.1); border-radius:18px; border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(4px)}
.jt-stat strong{display:block; font-size:1.35rem}
.jt-stat span{display:block; font-size:.9rem; color:rgba(255,255,255,.78)}

.jt-hero__aside{padding:28px; position:relative; overflow:hidden; background:linear-gradient(180deg,#ffffff,#f3fff5)}
.jt-hero__aside:before{
  content:""; position:absolute; right:-70px; top:-70px; width:220px; height:220px;
  background:radial-gradient(circle at center, rgba(245,200,75,.42), rgba(245,200,75,0));
}
.jt-sidecard{position:relative; z-index:1}
.jt-sidecard h2{margin:0 0 8px; font-size:1.2rem}
.jt-sidecard p{margin:0 0 18px; color:var(--jt-muted)}
.jt-feature-list{display:grid; gap:12px}
.jt-feature{
  display:flex; gap:12px; align-items:flex-start; padding:14px; border-radius:18px; background:#f7fff8; border:1px solid var(--jt-line)
}
.jt-feature__dot{width:12px;height:12px;border-radius:999px;background:linear-gradient(135deg,var(--jt-primary),var(--jt-accent));margin-top:6px}

.jt-section{padding:18px 0 40px}
.jobtree-front-page .jt-section:nth-of-type(2) .jt-shell, .jobtree-front-page .jt-section:nth-of-type(3) .jt-shell{background:rgba(255,255,255,.56); border:1px solid rgba(191,231,202,.6); border-radius:30px; padding:28px; box-shadow:var(--jt-shadow)}
.jt-section__head{display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:18px}
.jt-section__head h2{margin:0; font-size:1.65rem}
.jt-section__head p{margin:4px 0 0; color:var(--jt-muted)}

.jt-filters{
  display:grid; grid-template-columns:repeat(5,minmax(0,1fr)) auto; gap:14px;
  padding:18px; background:var(--jt-surface); border:1px solid var(--jt-line); border-radius:var(--jt-radius); box-shadow:var(--jt-shadow);
}
.jt-field{display:flex; flex-direction:column; gap:8px}
.jt-field label{font-size:.84rem; font-weight:700; color:var(--jt-muted)}
.jt-field input,.jt-field select{
  min-height:48px; border:1px solid var(--jt-line); border-radius:16px; background:#fbfdfb; color:var(--jt-text); padding:0 14px; width:100%;
}
.jt-field--checkbox{justify-content:end}
.jt-field--checkbox label{display:flex; gap:8px; align-items:center; min-height:48px; padding:0 6px; color:var(--jt-text)}
.jt-filter-actions{display:flex; gap:10px; align-items:end}

.jt-jobs-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px}
.jt-job-card{
  display:grid; grid-template-columns:92px 1fr; gap:16px;
  padding:18px; background:linear-gradient(180deg,#ffffff,#fbfffc); border:1px solid rgba(191,231,202,.95); border-radius:24px; box-shadow:var(--jt-shadow);
}
.jt-job-card.is-featured{border-color:rgba(24,169,87,.45); box-shadow:0 18px 40px rgba(24,169,87,.16)}
.jt-job-card__media{
  width:92px; height:92px; border-radius:22px; background:linear-gradient(180deg,#effff3,#dbf7e5); border:1px solid var(--jt-line); display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.jt-job-card__media img{width:100%; height:100%; object-fit:cover}
.jt-job-card__topline{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:8px}
.jt-badge,.jt-chip{
  display:inline-flex; align-items:center; padding:6px 10px; border-radius:999px; font-size:.76rem; font-weight:800
}
.jt-badge{background:linear-gradient(135deg,rgba(24,169,87,.16),rgba(245,200,75,.22)); color:var(--jt-primary-dark)}
.jt-chip{background:#f7faec; color:#6b5b18}
.jt-job-card__title{margin:0 0 6px; font-size:1.22rem; line-height:1.2}
.jt-job-card__company{margin:0 0 10px; color:var(--jt-muted); font-weight:600}
.jt-job-card__meta{display:flex; flex-wrap:wrap; gap:10px; color:var(--jt-muted); font-size:.92rem}
.jt-job-card__meta span{padding-right:10px; border-right:1px solid var(--jt-line)}
.jt-job-card__meta span:last-child{border-right:none;padding-right:0}
.jt-job-card__actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:14px}

.jt-category-grid{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px;
}
.jt-category-card{
  display:block; padding:22px; border-radius:24px; background:linear-gradient(135deg,#0f6b38 0%, #18a957 62%, #26bf64 100%);
  border:0; box-shadow:var(--jt-shadow); color:#fff;
}
.jt-category-card:hover{transform:translateY(-2px)}
.jt-category-card__label{display:block; font-weight:800; font-size:1.05rem}
.jt-category-card__count{display:block; margin-top:8px; color:rgba(255,255,255,.82)}

.jt-layout{display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:22px}
.jt-sidebar{display:grid; gap:16px; align-content:start}
.jt-box{padding:22px}
.jt-box h3{margin-top:0; margin-bottom:10px}
.jt-box p{margin:0; color:var(--jt-muted)}
.jt-box ul{margin:12px 0 0; padding-left:18px}
.jt-box li{margin:8px 0}

.jt-single{
  display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:22px; padding:34px 0 46px;
}
.jt-single__main,.jt-single__side .jt-panel{padding:26px}
.jt-single h1{font-size:clamp(1.8rem,3vw,3rem); line-height:1.1; margin:0 0 14px}
.jt-inline-meta{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px}
.jt-inline-meta span{display:inline-flex; align-items:center; padding:8px 12px; border-radius:999px; background:#f4f8f5; border:1px solid var(--jt-line); color:var(--jt-muted); font-size:.9rem}
.jt-copy h2{font-size:1.35rem; margin-top:24px; margin-bottom:10px}
.jt-copy p,.jt-copy li{color:#33413a}
.jt-copy ul{padding-left:18px}
.jt-cta-stack{display:grid; gap:12px}
.jt-empty-state{padding:38px 22px; text-align:center; background:#fff; border:1px solid var(--jt-line); border-radius:24px}
.jt-pagination{display:flex; justify-content:center; margin-top:20px}
.jt-pagination .page-numbers{display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; margin:0 4px; border-radius:999px; background:#fff; border:1px solid var(--jt-line); color:var(--jt-text)}
.jt-pagination .current{background:var(--jt-primary); color:#fff; border-color:var(--jt-primary)}

.jt-auth-wrap,.jt-generic-page{padding:34px 0 46px}
.jt-auth-card,.jt-generic-page .jt-panel{padding:26px}
.jt-auth-card h1,.jt-generic-page h1{margin-top:0}

.jt-footer{
  margin-top:40px; padding:34px 0; border-top:0;
  background:linear-gradient(135deg,#0f2f25,#0b231b); color:#fff;
}
.jt-footer__grid{display:flex; align-items:center; justify-content:space-between; gap:18px}
.jt-footer p{margin:0; color:rgba(255,255,255,.72)}
.jt-footer nav{display:flex; gap:16px; flex-wrap:wrap}
.jt-footer a{color:rgba(255,255,255,.9)}
.jt-footer a:hover{color:var(--jt-accent)}

@media (max-width: 1100px){
  .jt-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .jt-layout,.jt-single{grid-template-columns:1fr}
}
@media (max-width: 860px){
  .jt-nav{display:none}
  .jt-menu-toggle{display:block}
  .jt-hero__grid,.jt-jobs-grid,.jt-category-grid,.jt-stats{grid-template-columns:1fr}
  .jt-filters{grid-template-columns:1fr}
  .jt-filter-actions{flex-direction:column; align-items:stretch}
  .jt-job-card{grid-template-columns:72px 1fr}
  .jt-job-card__media{width:72px;height:72px;border-radius:18px}
  .jt-footer__grid{flex-direction:column; align-items:flex-start}
}


.jobtree-front-page .jt-section__head h2{font-size:1.8rem}
.jobtree-front-page .jt-section__head p{max-width:56ch}
.jobtree-front-page .jt-category-card:hover,.jt-job-card:hover{transform:translateY(-3px)}
.jobtree-front-page .jt-job-card__title a{color:var(--jt-text)}
.jobtree-front-page .jt-job-card__title a:hover{color:var(--jt-primary)}
@media (max-width: 860px){
  .jobtree-front-page .jt-section:nth-of-type(2) .jt-shell, .jobtree-front-page .jt-section:nth-of-type(3) .jt-shell{padding:20px;border-radius:24px}
  .jt-hero__copy{padding:28px}
}
