/*
Theme Name: RecrewtEdge
Theme URI: https://recrewtedge.com/
Author: RecrewtEdge
Description: WordPress conversion of the RecrewtEdge static site, preserving the original design, content, functionality and premium animation system.
Version: 1.0.0
Text Domain: recrewtedge
*/


:root{--bg:#0b1320;--bg2:#0f1a2c;--card:#17233b;--line:#26324a;--txt:#eef1f6;--mut:#94a1b8;--acc:#ff5a20;--acc2:#e2491a}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--txt);font-family:'Segoe UI',system-ui,-apple-system,Arial,sans-serif;line-height:1.6}
a{color:var(--acc);text-decoration:none}
img{max-width:100%}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.tag{display:inline-block;color:var(--acc);font-size:13px;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px}
h1{font-size:clamp(32px,5vw,54px);line-height:1.12;font-weight:800;letter-spacing:-1px}
h2{font-size:clamp(26px,4vw,40px);line-height:1.15;font-weight:800;letter-spacing:-.5px;margin-bottom:14px}
h3{font-size:20px;margin-bottom:8px}
p{color:var(--mut);font-size:16px}
.lead{font-size:18px;max-width:640px}
section{padding:76px 0}
.hero{padding:110px 0 80px;border-bottom:1px solid var(--line);background:radial-gradient(700px 340px at 80% -10%,rgba(255,90,32,.08),transparent)}
.btn{display:inline-block;background:var(--acc);color:#fff;font-weight:700;padding:13px 26px;border-radius:10px;font-size:15px;border:0;cursor:pointer;transition:.2s}
.btn:hover{background:var(--acc2);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--txt);border:1px solid var(--line);margin-left:10px}
.btn.ghost:hover{border-color:var(--acc);color:var(--acc)}
nav{position:sticky;top:0;z-index:50;background:rgba(11,15,20,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:66px}
.logo{font-size:20px;font-weight:800;color:var(--txt)}
.logo span{color:var(--acc)}
.menu{display:flex;gap:26px;list-style:none}
.menu a{color:var(--mut);font-size:14.5px;font-weight:600}
.menu a:hover,.menu a.on{color:var(--acc)}
.burger{display:none;background:none;border:0;color:var(--txt);font-size:26px;cursor:pointer}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px;transition:.2s}
.card:hover{border-color:var(--acc);transform:translateY(-3px)}
.num{color:var(--acc);font-weight:800;font-size:14px;letter-spacing:2px;margin-bottom:12px;display:block}
.stat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px;text-align:center}
.stat b{display:block;font-size:34px;color:var(--acc);font-weight:800}
.stat small{color:var(--mut);font-size:14px}
.cta{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}
footer{padding:46px 0;border-top:1px solid var(--line)}
.foot{display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between}
.foot p{font-size:14px}
input,select,textarea{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:13px 15px;color:var(--txt);font-size:15px;margin-bottom:14px;font-family:inherit}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--acc)}
label{display:block;font-size:13px;color:var(--mut);margin-bottom:5px;font-weight:600}
.job{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin-bottom:14px;display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap}
.job:hover{border-color:var(--acc)}
.job h3{margin-bottom:4px}
.meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.pill{background:var(--bg);border:1px solid var(--line);border-radius:99px;padding:3px 12px;font-size:12.5px;color:var(--mut)}
.pill.hi{color:var(--acc);border-color:rgba(255,90,32,.4)}
.btn.sm{padding:9px 18px;font-size:14px}
.note{background:rgba(255,90,32,.07);border:1px solid rgba(255,90,32,.3);border-radius:12px;padding:16px 18px;color:var(--txt);font-size:14.5px;margin-bottom:24px}
.note b{color:var(--acc)}
@media(max-width:840px){.grid3,.grid2{grid-template-columns:1fr}.burger{display:block}.menu{display:none;position:absolute;top:66px;left:0;right:0;background:var(--bg2);flex-direction:column;padding:18px 22px;gap:16px;border-bottom:1px solid var(--line)}.menu.open{display:flex}.btn.ghost{margin-left:0;margin-top:10px}}

/* ============================================================
   ANIMATION SYSTEM  (CSS + IntersectionObserver, no libraries)
   ============================================================ */
/* --- Page load fade --- */
body{animation:pageIn .55s ease both}
@keyframes pageIn{from{opacity:0}to{opacity:1}}
/* --- Nav slide-down --- */
nav{animation:navIn .6s cubic-bezier(.22,1,.36,1) both}
@keyframes navIn{from{transform:translateY(-100%);opacity:0}to{transform:none;opacity:1}}
/* --- Hero staggered reveal (on window load) --- */
.hero .wrap>*{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}
body.loaded .hero .wrap>*{opacity:1;transform:none}
body.loaded .hero .wrap>*:nth-child(1){transition-delay:.05s}
body.loaded .hero .wrap>*:nth-child(2){transition-delay:.16s}
body.loaded .hero .wrap>*:nth-child(3){transition-delay:.29s}
body.loaded .hero .wrap>*:nth-child(4){transition-delay:.42s}
/* --- Scroll reveal --- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.22,1,.36,1) var(--d,0s),transform .7s cubic-bezier(.22,1,.36,1) var(--d,0s)}
.rv.in{opacity:1;transform:none}
/* --- Micro-interactions --- */
.btn{transition:background .2s ease,transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s ease}
.btn:hover{box-shadow:0 8px 24px rgba(255,90,32,.22)}
.btn:active{transform:translateY(0) scale(.97)}
.btn.ghost:hover{box-shadow:0 8px 24px rgba(255,90,32,.07)}
.menu a{position:relative;transition:color .2s ease}
.menu a::after{content:'';position:absolute;left:0;bottom:-5px;height:2px;width:0;background:var(--acc);border-radius:2px;transition:width .3s cubic-bezier(.22,1,.36,1)}
.menu a:hover::after{width:100%}
.card,.stat{transition:border-color .25s ease,transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease}
.card:hover,.stat:hover{transform:translateY(-5px);box-shadow:0 14px 34px rgba(0,0,0,.35)}
.job{transition:border-color .25s ease,transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease}
.job:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.3)}
.logo{transition:opacity .2s ease}
.logo:hover{opacity:.8}
input,select,textarea{transition:border-color .2s ease,box-shadow .2s ease}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px rgba(255,90,32,.12)}
/* --- Reduced motion --- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}
  html{scroll-behavior:auto}
  .rv,.hero .wrap>*{opacity:1!important;transform:none!important}
}

/* Elementor compatibility bridge — does not alter the original frontend layout. */
.elementor .wrap { max-width:1120px; margin-left:auto; margin-right:auto; padding-left:22px; padding-right:22px; }
.elementor .grid3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.elementor .grid2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
@media (max-width:860px){
  .elementor .grid3,.elementor .grid2{grid-template-columns:1fr;}
}

/* Live Jobs UI */
#jobs{display:grid;grid-template-columns:1fr;gap:16px}
.re-job{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.re-job:hover{transform:translateY(-3px);border-color:var(--acc);box-shadow:0 12px 30px rgba(0,0,0,.15)}
.re-job .job-meta{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}
.re-job .pill{display:inline-flex;padding:5px 9px;border:1px solid var(--line);border-radius:999px;font-size:12px}
.re-job h3{margin:0 0 6px}
.re-job p{margin:7px 0}
.re-job .job-desc{color:var(--muted);font-size:14px;line-height:1.6}
.re-job .job-actions{margin-top:16px}
@media(max-width:860px){
 #jobs{grid-template-columns:1fr}
 .re-job{padding:20px}
}

/* Compact, clean website forms */
form[data-recrewtedge-form]{max-width:760px;}
form[data-recrewtedge-form] .grid2{gap:12px 16px;}
form[data-recrewtedge-form] input,form[data-recrewtedge-form] select,form[data-recrewtedge-form] textarea{padding:10px 12px;margin-bottom:10px;border-radius:8px;font-size:14px;}
form[data-recrewtedge-form] label{font-size:12.5px;margin-bottom:4px;}
form[data-recrewtedge-form] textarea{min-height:76px;resize:vertical;}
.form-status{min-height:0;margin:2px 0 10px;font-size:13px;}
.form-status.success{color:#72d69b;}
.form-status.error{color:#ff8b7a;}
@media(max-width:840px){form[data-recrewtedge-form] .grid2{grid-template-columns:1fr;gap:0;}}
