/* =========================================================
   Jobstod — Premium Job Portal Styles
   Non-generic aesthetic: warm gold accents on midnight base
   ========================================================= */
:root{
  --bg:#0b0f1a;
  --bg-2:#111827;
  --panel:#0f1424;
  --panel-2:#131a2e;
  --line:rgba(255,255,255,.08);
  --line-strong:rgba(255,255,255,.14);
  --text:#e8ecf8;
  --text-dim:#a7b0c5;
  --muted:#7d879e;
  --accent:#f59e0b;      /* amber/gold */
  --accent-2:#fbbf24;
  --accent-ink:#0b0f1a;
  --good:#22c55e;
  --warn:#ef4444;
  --info:#38bdf8;
  --purple:#a78bfa;
  --radius:14px;
  --radius-lg:22px;
  --shadow: 0 20px 60px -20px rgba(0,0,0,.6), 0 6px 20px -6px rgba(0,0,0,.4);
  --grad-1: radial-gradient(1200px 600px at 100% -10%, rgba(245,158,11,.18), transparent 60%),
            radial-gradient(900px 500px at -10% 20%, rgba(167,139,250,.14), transparent 60%);
  --serif: "Fraunces", "Cormorant Garamond", ui-serif, Georgia, serif;
  --sans: "Space Grotesk", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto;
  --mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;max-width:100%;overflow-x:hidden}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  color:var(--text);
  background:var(--bg);
  background-image: var(--grad-1);
  background-attachment: fixed;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  width:100%;
}
::selection{background:var(--accent);color:var(--accent-ink)}
img,svg,video,iframe{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent-2)}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(2.2rem,4.6vw,4rem)}
h2{font-size:clamp(1.6rem,3vw,2.4rem)}
h3{font-size:1.25rem}
p{margin:0 0 1em;color:var(--text-dim)}

.container{max-width:1240px;margin:0 auto;padding:0 22px}
.section{padding:80px 0}
.section-tight{padding:48px 0}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-2);margin-bottom:10px}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--accent-2)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.section-head p{max-width:560px;margin:0}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(11,15,26,.72);backdrop-filter:saturate(140%) blur(16px);-webkit-backdrop-filter:saturate(140%) blur(16px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:20px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:1.35rem;font-weight:700;letter-spacing:-.01em}
.brand .dot{width:10px;height:10px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px rgba(245,158,11,.18)}
.nav-links{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0}
.nav-links a{padding:8px 14px;border-radius:999px;font-size:.94rem;color:var(--text-dim);transition:background-color .2s ease,color .2s ease}
.nav-links a:hover,.nav-links a.active{color:var(--text);background:rgba(255,255,255,.05)}
.nav-cta{display:flex;align-items:center;gap:10px}
.hamburger{display:none;background:transparent;border:1px solid var(--line-strong);border-radius:12px;padding:0;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:5px;transition:border-color .2s ease,background .2s ease}
.hamburger span{display:block;width:20px;height:2px;background:var(--text);border-radius:2px;transition:transform .3s ease,opacity .2s ease,background .2s ease}
.hamburger:hover{border-color:var(--accent-2)}
.hamburger:hover span{background:var(--accent-2)}
.hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:900px){
  .nav-links{display:none}
  .hamburger{display:inline-flex}
  .nav-desktop-btn{display:none}
}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:999px;font-weight:600;letter-spacing:-.005em;border:1px solid transparent;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 8px 24px -12px rgba(245,158,11,.7)}
.btn-primary:hover{background:var(--accent-2)}
.btn-ghost{border-color:var(--line-strong);color:var(--text)}
.btn-ghost:hover{border-color:var(--accent-2);color:var(--accent-2)}
.btn-outline{border-color:var(--accent);color:var(--accent-2)}
.btn-outline:hover{background:var(--accent);color:var(--accent-ink)}
.btn-sm{padding:8px 14px;font-size:.88rem}
.btn-block{width:100%}
.btn-dark{background:rgba(255,255,255,.05);border-color:var(--line-strong);color:var(--text)}

/* ---------- Hero ---------- */
.hero{position:relative;padding:96px 0 40px;overflow:hidden}
.hero .grid{display:grid;grid-template-columns: 1.15fr .85fr;gap:56px;align-items:center}
@media(max-width:960px){.hero .grid{grid-template-columns:1fr;gap:32px}}
.hero h1 span.grad{background:linear-gradient(90deg,var(--accent-2),#fde68a);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .kicker{color:var(--accent-2);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;margin-bottom:14px;display:inline-flex;align-items:center;gap:10px}
.hero .kicker .pulse{width:8px;height:8px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px rgba(245,158,11,.18);animation:pulse 2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 10px rgba(245,158,11,0)}}
.hero p.lead{font-size:1.1rem;color:var(--text-dim);max-width:560px}

/* Search box */
.searchbox{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid var(--line-strong);border-radius:var(--radius-lg);padding:14px;box-shadow:var(--shadow);display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:8px;margin-top:26px}
.searchbox .field{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:calc(var(--radius-lg) - 6px);background:rgba(255,255,255,.04)}
.searchbox .field:hover{background:rgba(255,255,255,.06)}
.searchbox input,.searchbox select{background:transparent;border:0;color:var(--text);outline:none;font:inherit;width:100%}
.searchbox input::placeholder{color:var(--muted)}
.searchbox .icon{color:var(--accent-2);flex:0 0 auto}
.searchbox button{border-radius:999px}
@media(max-width:820px){.searchbox{grid-template-columns:1fr 1fr;gap:10px}.searchbox button{grid-column:1/-1}}
.popular-searches{margin-top:20px;color:var(--text-dim);font-size:.9rem}
.popular-searches span{color:var(--muted);margin-right:8px}
.popular-searches a{display:inline-block;margin:4px 6px 0 0;padding:5px 12px;border:1px solid var(--line-strong);border-radius:999px;font-size:.82rem;color:var(--text-dim)}
.popular-searches a:hover{color:var(--accent-2);border-color:var(--accent-2)}

/* Right glass card */
.hero-side{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid var(--line-strong);border-radius:var(--radius-lg);padding:24px;position:relative;overflow:hidden}
.hero-side::before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 120deg at 50% 50%, rgba(245,158,11,.16),transparent 40%,rgba(167,139,250,.16),transparent 70%);filter:blur(30px);z-index:-1;animation:spin 22s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.stat-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.stat-mini .cell{background:rgba(11,15,26,.65);border:1px solid var(--line);border-radius:14px;padding:14px}
.stat-mini .cell b{display:block;font-family:var(--serif);font-size:1.5rem;color:var(--text)}
.stat-mini .cell span{font-size:.78rem;color:var(--muted);letter-spacing:.06em}
.hero-side h3{font-family:var(--serif);margin:0 0 12px}
.trend-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.trend-list li{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:rgba(11,15,26,.55);border:1px solid var(--line);border-radius:12px}
.trend-list .tag{font-size:.72rem;letter-spacing:.08em;color:var(--accent-2);text-transform:uppercase}

/* ---------- Cards / grids ---------- */
.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.job-card{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));border:1px solid var(--line-strong);border-radius:var(--radius);padding:20px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.job-card:hover{transform:translateY(-3px);border-color:rgba(245,158,11,.5);box-shadow:0 24px 44px -30px rgba(245,158,11,.4)}
.job-card .row{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.job-card .logo{width:44px;height:44px;border-radius:10px;background:rgba(255,255,255,.06);display:grid;place-items:center;font-family:var(--serif);font-weight:700;color:var(--accent-2);border:1px solid var(--line);overflow:hidden}
.job-card .logo img{width:100%;height:100%;object-fit:cover}
.job-card h3{font-size:1.05rem;margin:0}
.job-card .company{color:var(--text-dim);font-size:.86rem}
.job-card .meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.job-card .chip{font-size:.75rem;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--text-dim)}
.job-card .chip.gold{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.35);color:var(--accent-2)}
.job-card .chip.gov{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.35);color:#7be3a2}
.job-card .chip.urgent{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.35);color:#fca5a5}
.job-card .foot{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line)}
.job-card .foot .salary{color:var(--accent-2);font-family:var(--mono);font-size:.88rem}
.job-card .foot .time{color:var(--muted);font-size:.78rem}
.job-card .ribbon{position:absolute;top:14px;right:14px;padding:3px 10px;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;background:var(--accent);color:var(--accent-ink);border-radius:999px}

/* Category tile grid */
.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.tile{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:14px;padding:18px 16px;display:flex;flex-direction:column;gap:8px;transition:.18s}
.tile:hover{border-color:var(--accent-2);transform:translateY(-2px)}
.tile b{color:var(--text)}
.tile span{color:var(--muted);font-size:.82rem}
.tile .num{font-family:var(--mono);color:var(--accent-2);font-size:.8rem}

/* Stat strip */
.stat-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));border:1px solid var(--line-strong);border-radius:var(--radius-lg);padding:24px}
@media(max-width:900px){.stat-strip{grid-template-columns:repeat(2,1fr)}}
.stat-strip .item b{display:block;font-family:var(--serif);font-size:2rem;color:var(--accent-2)}
.stat-strip .item span{color:var(--text-dim);font-size:.86rem}

/* Company logo strip */
.logo-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;align-items:center}
.logo-strip .lg{padding:16px;border:1px dashed var(--line);border-radius:12px;text-align:center;color:var(--text-dim);font-weight:600;letter-spacing:.02em}
.logo-strip .lg:hover{color:var(--accent-2);border-color:var(--accent-2)}

/* FAQ */
.faq details{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:0}
.faq summary{cursor:pointer;padding:14px 18px;font-weight:600;color:var(--text);list-style:none;display:flex;align-items:center;justify-content:space-between}
.faq summary::after{content:"+";font-family:var(--mono);color:var(--accent-2);font-size:1.2rem}
.faq details[open] summary::after{content:"−"}
.faq details > div{padding:0 18px 16px;color:var(--text-dim)}

/* Testimonials */
.testimonial{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid var(--line-strong);border-radius:var(--radius);padding:22px}
.testimonial q{color:var(--text);font-family:var(--serif);font-size:1.05rem;display:block;margin-bottom:14px}
.testimonial .who{display:flex;align-items:center;gap:10px}
.testimonial .who b{color:var(--text)}
.testimonial .who span{color:var(--muted);font-size:.82rem;display:block}

/* Footer */
.site-foot{background:#080b13;border-top:1px solid var(--line);margin-top:70px;padding:60px 0 22px}
.site-foot .grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}
@media(max-width:900px){.site-foot .grid{grid-template-columns:1fr 1fr}}
.site-foot h4{font-family:var(--sans);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.site-foot ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.site-foot a{color:var(--text-dim)}
.site-foot a:hover{color:var(--accent-2)}
.site-foot .bottom{margin-top:36px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);flex-wrap:wrap;gap:10px;font-size:.86rem}

/* Utility */
.hidden{display:none!important}
.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}
.mb-0{margin-bottom:0}.mb-3{margin-bottom:24px}
.flex{display:flex}.between{justify-content:space-between}.center{align-items:center}.gap-8{gap:8px}.gap-16{gap:16px}
.text-dim{color:var(--text-dim)}
.text-muted{color:var(--muted)}
.text-gold{color:var(--accent-2)}
.card{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));border:1px solid var(--line-strong);border-radius:var(--radius);padding:22px}
.divider{height:1px;background:var(--line);margin:24px 0}

/* Pagination */
.pagination ul{list-style:none;padding:0;margin:24px 0;display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:10px;color:var(--text-dim);font-family:var(--mono);font-size:.85rem}
.pagination a:hover{border-color:var(--accent-2);color:var(--accent-2)}
.pagination .active a,.pagination .active span{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.pagination .disabled span{opacity:.4}

/* Alerts */
.alert{padding:12px 16px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.04);margin-bottom:16px}
.alert.error{border-color:rgba(239,68,68,.4);color:#fca5a5;background:rgba(239,68,68,.08)}
.alert.ok{border-color:rgba(34,197,94,.4);color:#86efac;background:rgba(34,197,94,.08)}

/* Job single */
.job-hero{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01));border:1px solid var(--line-strong);border-radius:var(--radius-lg);padding:28px;margin-top:28px}
.job-hero .row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.job-body{display:grid;grid-template-columns:1.6fr .9fr;gap:24px;margin-top:24px}
@media(max-width:900px){.job-body{grid-template-columns:1fr}}
.prose h2,.prose h3{color:var(--text)}
.prose p,.prose li{color:var(--text-dim)}
.prose ul{padding-left:20px}
.sidebar-block{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px}
.sidebar-block h4{font-family:var(--serif);margin:0 0 10px;color:var(--text)}
.detail-list{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin:0;padding:0}
.detail-list dt{color:var(--muted);font-size:.82rem}
.detail-list dd{margin:0;color:var(--text)}

/* Filters */
.filters{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
@media(max-width:900px){.filters{grid-template-columns:repeat(2,1fr)}}
.filters .field{background:rgba(255,255,255,.03);border:1px solid var(--line-strong);border-radius:12px;padding:8px 12px}
.filters label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;display:block}
.filters select,.filters input{background:transparent;border:0;color:var(--text);outline:none;width:100%;padding:4px 0;font:inherit}

/* Chips (city/industry pages) */
.chip-strip{display:flex;flex-wrap:wrap;gap:8px}
.chip-strip a{padding:6px 14px;border:1px solid var(--line);border-radius:999px;color:var(--text-dim);font-size:.84rem}
.chip-strip a:hover{color:var(--accent-2);border-color:var(--accent-2)}

/* Loading skeleton */
.skeleton{background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.08),rgba(255,255,255,.04));background-size:200% 100%;animation:sh 1.4s ease-in-out infinite}
@keyframes sh{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}

/* Focus a11y */
:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--accent-2);outline-offset:2px;border-radius:8px}

/* Print */
@media print{.site-header,.site-foot,.searchbox,.btn{display:none}body{background:#fff;color:#000}}

/* ==========================================================
   Right-side Mobile Drawer
   ========================================================== */
.drawer-backdrop{
  position:fixed;inset:0;background:rgba(3,6,14,.72);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  opacity:0;pointer-events:none;transition:opacity .3s ease;
  z-index:80;
}
.drawer-backdrop.open{opacity:1;pointer-events:auto}

.mobile-drawer{
  position:fixed;top:0;right:0;bottom:0;
  width:min(360px,92vw);
  background:linear-gradient(180deg,#0e1424 0%,#0a0d17 100%);
  border-left:1px solid var(--line-strong);
  box-shadow:-30px 0 80px -20px rgba(0,0,0,.7);
  transform:translateX(105%);
  transition:transform .38s cubic-bezier(.22,.61,.36,1);
  z-index:90;
  display:flex;flex-direction:column;
  overflow-y:auto;overscroll-behavior:contain;
  padding:20px 20px 24px;
}
.mobile-drawer.open{transform:translateX(0)}

.drawer-head{
  display:flex;align-items:center;justify-content:space-between;
  padding-bottom:18px;margin-bottom:8px;
  border-bottom:1px solid var(--line);
}
.drawer-head .brand{font-family:var(--serif);font-size:1.3rem;display:flex;align-items:center;gap:8px}
.drawer-head .brand .dot{width:10px;height:10px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px rgba(245,158,11,.18)}
.drawer-close{
  background:rgba(255,255,255,.05);border:1px solid var(--line-strong);
  width:40px;height:40px;border-radius:12px;
  display:grid;place-items:center;color:var(--text);
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.drawer-close:hover{background:rgba(245,158,11,.14);border-color:var(--accent);color:var(--accent-2);transform:rotate(90deg)}

.drawer-eyebrow{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--muted);
  margin:14px 4px 8px;
}

.drawer-nav{display:flex;flex-direction:column;gap:4px;margin-bottom:22px}
.drawer-nav a{
  display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:14px;
  padding:13px 12px;border-radius:12px;
  color:var(--text);border:1px solid transparent;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
  opacity:0;transform:translateX(20px);
}
.mobile-drawer.open .drawer-nav a{opacity:1;transform:none;transition:opacity .4s ease,transform .4s ease,background .2s ease,border-color .2s ease}
.mobile-drawer.open .drawer-nav a:nth-child(1){transition-delay:.05s}
.mobile-drawer.open .drawer-nav a:nth-child(2){transition-delay:.09s}
.mobile-drawer.open .drawer-nav a:nth-child(3){transition-delay:.13s}
.mobile-drawer.open .drawer-nav a:nth-child(4){transition-delay:.17s}
.mobile-drawer.open .drawer-nav a:nth-child(5){transition-delay:.21s}
.mobile-drawer.open .drawer-nav a:nth-child(6){transition-delay:.25s}
.mobile-drawer.open .drawer-nav a:nth-child(7){transition-delay:.29s}
.mobile-drawer.open .drawer-nav a:nth-child(8){transition-delay:.33s}
.drawer-nav a svg{color:var(--accent-2);flex:0 0 auto}
.drawer-nav a span{font-weight:600;font-size:1rem}
.drawer-nav a em{font-style:normal;color:var(--muted);font-size:.76rem;letter-spacing:.02em}
.drawer-nav a:hover{background:rgba(255,255,255,.04);border-color:var(--line)}
.drawer-nav a.active{background:linear-gradient(90deg,rgba(245,158,11,.16),rgba(245,158,11,.02));border-color:rgba(245,158,11,.35)}
.drawer-nav a.active span{color:var(--accent-2)}

.drawer-actions{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid var(--line);margin-top:auto}

.drawer-foot{
  display:flex;justify-content:space-between;
  margin-top:18px;padding-top:14px;border-top:1px dashed var(--line);
  color:var(--muted);font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;
}

/* Lock body scroll when drawer open */
body.drawer-open{overflow:hidden}

/* ==========================================================
   Mobile responsiveness patch
   Fixes: horizontal overflow, long titles, tight breakpoints,
   hero card, filter grid, admin, job hero, sidebar wrap.
   ========================================================== */

/* Ensure nothing bleeds past viewport */
.container,.section,.section-tight,.hero,.job-hero,.job-body,.card,.admin-card,
.filters,.searchbox,.stat-strip,.grid-cards,.tile-grid,.logo-strip,.chip-strip{
  max-width:100%;
}

/* Long strings must wrap on small screens */
.job-card h3,.job-hero h1,.card h3,.tile b,.testimonial q,
h1,h2,h3,h4{
  overflow-wrap:anywhere;
  word-break:break-word;
  hyphens:auto;
}

/* Tablet & down */
@media (max-width: 900px){
  .container{padding:0 18px}
  .section{padding:56px 0}
  .section-tight{padding:36px 0}
  .hero{padding:60px 0 20px}
  .hero .grid{gap:26px}
  .nav{padding:12px 0}
  .job-body{grid-template-columns:1fr}
  .job-hero{padding:22px}
  .job-hero .row,
  .job-hero .flex,
  .job-hero > div:first-child{flex-wrap:wrap;gap:12px !important}
  .filters{grid-template-columns:repeat(2,1fr)}
  .stat-strip{grid-template-columns:repeat(2,1fr);padding:18px;gap:10px}
  .stat-mini{grid-template-columns:repeat(3,1fr)}
  .site-foot .grid{grid-template-columns:1fr 1fr;gap:24px}
  .site-foot .bottom{flex-direction:column;text-align:center}
  .grid-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
  .tile-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
  .logo-strip{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px}
  .stat-mini .cell b{font-size:1.25rem}
  h1{font-size:clamp(1.9rem,7vw,2.8rem)}
  h2{font-size:clamp(1.35rem,5vw,1.9rem)}
}

/* Phone */
@media (max-width: 640px){
  .container{padding:0 14px}
  .section{padding:44px 0}
  .section-tight{padding:28px 0}
  .hero{padding:36px 0 12px}
  .hero .grid{grid-template-columns:1fr;gap:22px}
  .hero p.lead{font-size:1rem}
  .hero-side{padding:18px}
  .searchbox{grid-template-columns:1fr;gap:8px;padding:10px}
  .searchbox .field{padding:10px 12px}
  .searchbox button{grid-column:1/-1}
  .popular-searches{font-size:.86rem}
  .popular-searches a{margin:4px 4px 0 0;padding:4px 10px;font-size:.76rem}
  .stat-strip{grid-template-columns:1fr 1fr}
  .stat-strip .item b{font-size:1.5rem}
  .stat-mini{grid-template-columns:1fr 1fr;gap:8px}
  .section-head{margin-bottom:22px;gap:14px}
  .section-head p{font-size:.95rem}
  .grid-cards{grid-template-columns:1fr;gap:12px}
  .job-card{padding:16px}
  .job-card h3{font-size:.98rem}
  .job-hero{padding:18px}
  .job-hero h1{font-size:clamp(1.5rem,6vw,2rem)}
  .filters{grid-template-columns:1fr;gap:8px}
  .tile-grid{grid-template-columns:1fr 1fr;gap:10px}
  .site-foot{padding:44px 0 18px}
  .site-foot .grid{grid-template-columns:1fr;gap:22px}
  .card,.sidebar-block{padding:16px}
  .btn{padding:11px 16px}
  .btn-sm{padding:8px 12px;font-size:.84rem}
  .nav-cta .btn{padding:8px 12px}
  /* Header brand — trim on tiny screens */
  .brand{font-size:1.15rem}
  .nav-cta{gap:6px}
}

/* Very small — keep everything single column, no side-scroll */
@media (max-width: 380px){
  .tile-grid{grid-template-columns:1fr}
  .stat-strip{grid-template-columns:1fr}
  .stat-mini{grid-template-columns:1fr 1fr}
  .nav-cta .btn:first-of-type{display:none} /* Hide "Explore" leaves only Admin */
}

/* Kill the rotating conic gradient overflow risk on mobile */
@media (max-width: 900px){
  .hero-side::before{inset:-10%;filter:blur(20px);opacity:.6}
}

/* Chip strips shouldn't cause horizontal scroll */
.chip-strip{overflow-wrap:anywhere}
.chip-strip a{max-width:100%}

/* Prose (job description) doesn't blow out on mobile */
.prose img,.prose table{max-width:100%;height:auto}
.prose pre,.prose code{white-space:pre-wrap;word-break:break-word}
.prose table{display:block;overflow-x:auto}

/* Admin sidebar collapses cleanly on mobile */
@media (max-width: 900px){
  .admin-body{display:block}
}
