/* careers.css — Careers / open roles page */

@keyframes fadeUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}

.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s ease,transform .9s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ── PAGE HERO (shared look with About/Contact) ── */
.page-hero{min-height:60vh;background:linear-gradient(to right,rgba(8,12,10,.95) 45%,rgba(14,46,31,.72) 100%),url('https://images.unsplash.com/photo-1522071820081-009f0129c71c?w=1600&q=80') center/cover no-repeat;display:flex;align-items:flex-end;padding:160px 56px 80px;position:relative;overflow:hidden;}
.page-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(to bottom,transparent,var(--ivory));}
.page-hero-content{position:relative;z-index:2;max-width:680px;}
.page-tag{display:inline-flex;align-items:center;gap:10px;margin-bottom:24px;animation:fadeUp .8s .3s ease both;}
.page-tag::before{content:'';display:block;width:40px;height:1px;background:var(--gold);}
.page-tag span{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);font-weight:400;}
.page-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(48px,6vw,88px);color:#fff;line-height:1;font-weight:300;letter-spacing:-1px;animation:fadeUp .9s .5s ease both;}
.page-h1 em{font-style:italic;color:var(--gold);}
.page-sub{font-size:16px;color:rgba(255,255,255,.6);margin-top:20px;max-width:520px;line-height:1.8;animation:fadeUp .9s .7s ease both;}
.breadcrumb{position:absolute;top:128px;left:56px;display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.35);z-index:2;animation:fadeUp .6s .2s ease both;}
.breadcrumb a{color:rgba(255,255,255,.45);transition:color .3s;}
.breadcrumb a:hover{color:var(--gold);}
.breadcrumb-sep{color:rgba(255,255,255,.2);}

/* ── SECTION HEADERS ── */
.sec-kicker{display:flex;align-items:center;gap:12px;margin-bottom:16px;color:var(--emerald-accent);}
.sec-kicker::before{content:'';width:32px;height:1px;background:currentColor;}
.sec-kicker span{font-size:11px;letter-spacing:3px;text-transform:uppercase;font-weight:500;}
.h2-serif{font-family:'Cormorant Garamond',serif;font-size:clamp(38px,4.2vw,58px);line-height:1.1;font-weight:300;color:var(--black);}
.h2-serif em{font-style:italic;color:var(--emerald-mid);}

/* ── CAREERS INTRO ── */
.careers-intro{max-width:1100px;margin:0 auto;padding:80px 56px 20px;}
.careers-intro p{font-size:17px;line-height:1.9;font-weight:300;color:#5a5248;max-width:720px;margin-top:18px;}

/* ── OPEN ROLES ── */
.roles-sec{max-width:1100px;margin:0 auto;padding:48px 56px 96px;}
.roles-grid{display:grid;gap:32px;margin-top:40px;}

.job-card{background:#fff;border:1px solid var(--ivory-dark);border-radius:20px;overflow:hidden;box-shadow:0 24px 60px -30px rgba(14,46,31,.35);transition:transform .4s ease,box-shadow .4s ease;}
.job-card:hover{transform:translateY(-6px);box-shadow:0 30px 70px -28px rgba(14,46,31,.45);}
.job-head{background:linear-gradient(135deg,var(--emerald) 0%,var(--emerald-mid) 100%);color:#fff;padding:40px 44px;position:relative;}
.job-badge{display:inline-block;background:var(--gold);color:var(--black);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:7px 16px;border-radius:40px;margin-bottom:18px;}
.job-title{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,3.6vw,44px);font-weight:400;line-height:1.05;}
.job-subtitle{font-size:15px;letter-spacing:1px;color:var(--gold-light);margin-top:8px;text-transform:uppercase;font-weight:500;}
.job-meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px;}
.job-meta span{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,.85);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);padding:8px 15px;border-radius:40px;}
.job-meta svg{width:15px;height:15px;stroke:var(--gold-light);fill:none;stroke-width:1.8;}

.job-body{padding:40px 44px 44px;display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.job-body h4{font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--emerald-accent);font-weight:600;margin-bottom:18px;}
.job-list{list-style:none;display:flex;flex-direction:column;gap:13px;}
.job-list li{position:relative;padding-left:28px;font-size:15px;line-height:1.6;color:#4a453d;}
.job-list li::before{content:'';position:absolute;left:0;top:8px;width:9px;height:9px;border-radius:50%;background:var(--emerald-accent);box-shadow:0 0 0 4px rgba(46,148,96,.15);}
.job-list.skills li::before{background:var(--gold);box-shadow:0 0 0 4px rgba(201,168,76,.18);}

.job-foot{grid-column:1/-1;border-top:1px solid var(--ivory-dark);padding-top:28px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;}
.job-foot .apply-line{font-size:14px;color:#6a6258;}
.job-foot .apply-line a{color:var(--emerald-mid);font-weight:600;}
.job-apply-btn{display:inline-flex;align-items:center;gap:10px;background:var(--emerald-mid);color:#fff;padding:15px 34px;border-radius:40px;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;transition:background .3s,transform .3s;}
.job-apply-btn:hover{background:var(--emerald-accent);transform:translateX(3px);}

/* ── NO-OPENINGS / GENERIC CTA ── */
.careers-cta{background:linear-gradient(135deg,var(--emerald) 0%,var(--emerald-mid) 100%);color:#fff;text-align:center;padding:80px 32px;}
.careers-cta h2{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,4vw,48px);font-weight:300;}
.careers-cta p{color:rgba(255,255,255,.7);max-width:560px;margin:16px auto 0;line-height:1.8;font-size:16px;}
.careers-cta .job-apply-btn{background:var(--gold);color:var(--black);margin-top:32px;}
.careers-cta .job-apply-btn:hover{background:var(--gold-light);}

/* ── NO OPEN ROLES ── */
.no-roles{background:#fff;border:1px dashed var(--emerald-accent);border-radius:18px;padding:48px 40px;text-align:center;}
.no-roles h3{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:400;color:var(--emerald-mid);margin-bottom:12px;}
.no-roles p{color:#5a5248;line-height:1.8;max-width:560px;margin:0 auto;}
.no-roles a{color:var(--emerald-mid);font-weight:600;}

/* ══════════ PREMIUM APPLY PAGE ══════════ */
.apply-hero{
  min-height:230px;position:relative;overflow:hidden;padding:118px 56px 0;
  background:linear-gradient(to right,rgba(8,12,10,.92) 40%,rgba(14,46,31,.72) 100%),
             url('https://images.unsplash.com/photo-1522071820081-009f0129c71c?w=1600&q=80') center/cover no-repeat;
}
.apply-hero .breadcrumb{position:static;padding:0;color:rgba(255,255,255,.55);}
.apply-hero .breadcrumb a{color:rgba(255,255,255,.7);}

.apply-wrap{max-width:1080px;margin:-90px auto 100px;padding:0 40px;position:relative;z-index:3;}

/* Split card */
.apply-card{
  display:grid;grid-template-columns:0.86fr 1.14fr;background:#fff;border-radius:22px;overflow:hidden;max-width:100%;
  box-shadow:0 40px 90px -40px rgba(14,46,31,.5);border:1px solid rgba(0,0,0,.04);
}
.apply-aside,.apply-main{min-width:0;max-width:100%;}
.apply-grid,.apply-field{min-width:0;}
.apply-field input,.apply-field textarea{max-width:100%;}
.aside-title{overflow-wrap:break-word;word-break:break-word;}
.aside-meta li,.aside-steps li{min-width:0;}
.aside-meta li,.aside-foot{overflow-wrap:anywhere;}

/* Left aside */
.apply-aside{
  background:linear-gradient(160deg,#0e2e1f 0%,#1d5c3a 100%);color:#fff;padding:46px 40px;display:flex;flex-direction:column;position:relative;overflow:hidden;
}
.apply-aside::before{content:'';position:absolute;top:-80px;right:-80px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(201,168,76,.22),transparent 70%);}
.aside-top{position:relative;z-index:1;}
.aside-kicker{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-light);margin-bottom:12px;}
.aside-title{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,3vw,38px);font-weight:400;line-height:1.08;}
.aside-sub{color:rgba(255,255,255,.72);font-size:14px;letter-spacing:.4px;margin-top:8px;text-transform:uppercase;}
.aside-meta{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-direction:column;gap:13px;}
.aside-meta li{display:flex;align-items:center;gap:12px;font-size:14px;color:rgba(255,255,255,.9);}
.aside-meta svg{width:18px;height:18px;flex:0 0 18px;stroke:var(--gold-light);fill:none;stroke-width:1.7;}

.aside-steps{list-style:none;margin:36px 0;padding:26px 0 0;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;gap:16px;position:relative;z-index:1;}
.aside-steps li{display:flex;align-items:center;gap:14px;font-size:14px;color:rgba(255,255,255,.8);}
.aside-steps li span{flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(201,168,76,.5);color:var(--gold-light);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;}

.aside-foot{margin-top:auto;padding-top:20px;font-size:13px;color:rgba(255,255,255,.55);position:relative;z-index:1;}
.aside-foot a{color:var(--gold-light);font-weight:600;}

/* Right form panel */
.apply-main{padding:46px 48px 50px;}
.apply-main-title{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:400;color:var(--black);}
.apply-main-sub{color:#8a8478;font-size:14px;margin:4px 0 26px;}
.req{color:var(--terracotta);}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

.apply-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;}
.apply-field{margin-bottom:20px;}
.apply-field label{display:block;font-size:12px;letter-spacing:.8px;text-transform:uppercase;font-weight:600;color:#4a5048;margin-bottom:8px;}
.apply-field input[type=text],.apply-field input[type=email],.apply-field input[type=tel],.apply-field textarea{
  width:100%;padding:13px 15px;border:1px solid #d7dcd2;border-radius:11px;font-size:15px;font-family:'DM Sans',sans-serif;background:#fbfcfa;color:var(--black);transition:border-color .2s,box-shadow .2s,background .2s;
}
.apply-field input::placeholder,.apply-field textarea::placeholder{color:#adb3a8;}
.apply-field textarea{min-height:120px;resize:vertical;line-height:1.6;}
.apply-field input:focus,.apply-field textarea:focus{outline:none;border-color:var(--emerald-accent);background:#fff;box-shadow:0 0 0 3px rgba(46,148,96,.14);}

/* File dropzone */
.file-drop{display:flex;align-items:center;gap:16px;border:1.6px dashed #c2cbbb;border-radius:14px;padding:18px 20px;background:#f8faf6;cursor:pointer;transition:.22s;}
.file-drop:hover{border-color:var(--emerald-accent);background:#eef6f0;}
.file-drop input[type=file]{display:none;}
.file-drop .fd-ico{width:46px;height:46px;flex:0 0 46px;border-radius:12px;background:var(--emerald-pale);display:flex;align-items:center;justify-content:center;color:var(--emerald-mid);}
.file-drop .fd-body{display:flex;flex-direction:column;gap:3px;}
.file-drop .fd-txt{font-size:15px;font-weight:600;color:#3a4038;}
.file-drop .fd-hint{font-size:12.5px;color:#8a8478;}
.file-drop .fd-name{color:var(--emerald-mid);}
.file-drop.has-file{border-style:solid;border-color:var(--emerald-accent);background:#eef6f0;}

/* Actions */
.apply-actions{display:flex;align-items:center;gap:22px;margin-top:28px;flex-wrap:wrap;}
.apply-submit{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,var(--emerald-mid),var(--emerald-accent));color:#fff;border:none;cursor:pointer;padding:16px 40px;border-radius:40px;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;font-family:'DM Sans',sans-serif;transition:.25s;box-shadow:0 14px 30px -12px rgba(29,92,58,.6);}
.apply-submit:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 20px 38px -14px rgba(29,92,58,.7);}
.apply-back{color:#6a6258;font-size:14px;transition:color .2s;}
.apply-back:hover{color:var(--emerald-mid);}

/* Alerts */
.apply-alert{padding:15px 18px;border-radius:12px;margin-bottom:24px;font-size:14px;line-height:1.6;}
.apply-alert.err{background:#fdecea;color:#b3261e;border:1px solid #f4c9c3;}
.apply-alert.err ul{margin:6px 0 0 18px;}

/* Success */
.apply-success{background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:22px;padding:80px 40px;text-align:center;box-shadow:0 40px 90px -44px rgba(14,46,31,.5);max-width:640px;margin:0 auto;}
.apply-success .tick{width:78px;height:78px;border-radius:50%;background:var(--emerald-pale);color:var(--emerald-accent);display:flex;align-items:center;justify-content:center;margin:0 auto 22px;box-shadow:0 0 0 10px rgba(46,148,96,.08);}
.apply-success h1{font-family:'Cormorant Garamond',serif;font-size:38px;font-weight:400;color:var(--emerald-mid);margin-bottom:14px;}
.apply-success p{color:#5a5248;line-height:1.8;max-width:520px;margin:0 auto 30px;}

/* ── RESPONSIVE ── */
@media(max-width:860px){
  .job-body{grid-template-columns:1fr;gap:32px;}
  /* Apply card stacks: role summary on top, form below */
  .apply-card{grid-template-columns:1fr;}
  .apply-aside{padding:36px 32px;}
  .aside-steps{margin:26px 0;}
}
@media(max-width:768px){
  .page-hero{padding:130px 28px 56px;min-height:50vh;}
  .breadcrumb{left:28px;top:104px;}
  .careers-intro,.roles-sec{padding-left:28px;padding-right:28px;}
  .job-head{padding:32px 28px;}
  .job-body{padding:32px 28px;}
  .apply-hero{padding:104px 28px 0;min-height:190px;}
  .apply-wrap{padding:0 20px;margin:-70px auto 70px;}
  .apply-main{padding:34px 28px 38px;}
  .apply-grid{grid-template-columns:1fr;gap:0;}
}
@media(max-width:480px){
  .page-hero{padding:110px 18px 44px;}
  .breadcrumb{left:18px;top:88px;}
  .careers-intro,.roles-sec{padding-left:18px;padding-right:18px;}
  .job-foot{flex-direction:column;align-items:flex-start;}
  .job-apply-btn{width:100%;justify-content:center;}
  .apply-aside{padding:30px 22px;}
  .aside-title{font-size:26px;}
  .apply-main{padding:30px 22px 34px;}
  .apply-actions{flex-direction:column;align-items:stretch;gap:14px;}
  .apply-submit{justify-content:center;}
  .apply-back{text-align:center;}
}
