/* ALMA ENERGY SEARCH — shared design system */
:root{
  --ink:#1C2321;
  --slate:#2E3D4F;
  --paper:#EFF1EA;
  --paper-dim:#E5E8DF;
  --sage:#7C9885;
  --sage-deep:#546B5C;
  --bronze:#B8863F;
  --line:#C9D0C4;
  --white:#FBFCF9;
  --max:1180px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter', sans-serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,.wordmark{
  font-family:'Fraunces', serif;
  font-weight:450;
  letter-spacing:-0.01em;
  margin:0;
  color:var(--ink);
}
a{color:inherit;}
img,svg{display:block; max-width:100%;}
a:focus-visible, button:focus-visible{outline:2px solid var(--bronze); outline-offset:3px;}

.eyebrow{
  font-family:'IBM Plex Mono', monospace;
  font-size:0.72rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--sage-deep);
}
.wrap{max-width:var(--max); margin:0 auto; padding:0 28px;}

/* ===== NAV ===== */
header{
  position:sticky; top:0; z-index:50;
  background:rgba(239,241,234,0.88);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 28px; max-width:var(--max); margin:0 auto;
}
.wordmark{font-size:1.3rem; text-decoration:none;}
.wordmark em{font-style:italic; color:var(--sage-deep); font-size:0.82em;}
.nav-links{display:flex; gap:34px; list-style:none; margin:0; padding:0; font-size:0.92rem;}
.nav-links a{text-decoration:none; color:var(--slate); transition:color .2s;}
.nav-links a:hover, .nav-links a.active{color:var(--ink);}
.nav-links a.active{border-bottom:2px solid var(--bronze); padding-bottom:2px;}
.nav-cta{
  font-family:'IBM Plex Mono', monospace;
  font-size:0.78rem; letter-spacing:0.04em;
  text-decoration:none; color:var(--white);
  background:var(--ink); padding:10px 18px; border-radius:2px;
  white-space:nowrap; transition:background .2s;
}
.nav-cta:hover{background:var(--sage-deep);}

/* ===== BUTTONS ===== */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'IBM Plex Mono', monospace;
  font-size:0.8rem; letter-spacing:0.04em;
  text-decoration:none; padding:14px 22px; border-radius:2px;
  border:none; cursor:pointer;
  transition:transform .18s ease, background .2s, border-color .2s;
}
.btn-primary{background:var(--bronze); color:var(--white);}
.btn-primary:hover{background:#9c7136; transform:translateY(-1px);}
.btn-outline{border:1px solid var(--ink); color:var(--ink); background:transparent;}
.btn-outline:hover{border-color:var(--sage-deep); color:var(--sage-deep); transform:translateY(-1px);}

/* ===== PAGE HEADERS ===== */
.page-head{padding:80px 0 50px; border-bottom:1px solid var(--line);}
.page-head h1{font-size:clamp(2rem, 4.4vw, 3rem); line-height:1.1; margin-top:12px;}
.page-head h1 .accent{color:var(--sage-deep); font-style:italic;}
.page-head p.sub{color:var(--slate); max-width:56ch; margin-top:18px; font-size:1.05rem;}

/* ===== SECTION HEAD ===== */
.section-head{max-width:60ch; margin-bottom:48px;}
.section-head h2{font-size:clamp(1.7rem, 3vw, 2.3rem); margin-top:10px;}
.section-head p{color:var(--slate); margin-top:14px; font-size:1.02rem;}

/* ===== JOBS ===== */
.jobs{padding:60px 0 90px;}
.job-filters{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:34px;}
.job-filters button{
  font-family:'IBM Plex Mono', monospace; font-size:0.75rem;
  letter-spacing:0.05em; padding:9px 16px;
  background:var(--white); border:1px solid var(--line);
  border-radius:99px; cursor:pointer; color:var(--slate);
  transition:all .18s;
}
.job-filters button:hover{border-color:var(--sage-deep); color:var(--sage-deep);}
.job-filters button.on{background:var(--ink); border-color:var(--ink); color:var(--white);}
.job-list{display:flex; flex-direction:column; gap:1px; background:var(--line); border:1px solid var(--line);}
.job-row{
  background:var(--white); padding:28px 30px;
  display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center;
  text-decoration:none; transition:background .18s;
}
.job-row:hover{background:var(--paper);}
.job-row h3{font-size:1.2rem;}
.job-meta{
  display:flex; gap:16px; flex-wrap:wrap; margin-top:8px;
  font-family:'IBM Plex Mono', monospace; font-size:0.75rem; color:var(--slate);
}
.job-meta .pill{
  padding:3px 10px; border-radius:99px;
  background:var(--paper-dim); color:var(--sage-deep);
}
.job-row .go{
  font-family:'IBM Plex Mono', monospace; font-size:0.8rem;
  color:var(--bronze); white-space:nowrap;
}
.jobs-empty{
  background:var(--white); border:1px solid var(--line);
  padding:50px 30px; text-align:center; color:var(--slate);
}

/* job detail */
.job-detail{padding:60px 0 90px; display:grid; grid-template-columns:1.4fr 0.6fr; gap:56px; align-items:start;}
.job-body h2{font-size:1.3rem; margin:34px 0 12px;}
.job-body p, .job-body li{color:var(--slate); font-size:0.98rem;}
.job-body ul{padding-left:20px; margin:10px 0;}
.job-side{
  background:var(--white); border:1px solid var(--line);
  padding:30px; position:sticky; top:96px;
}
.job-side dl{margin:0 0 24px;}
.job-side dt{
  font-family:'IBM Plex Mono', monospace; font-size:0.68rem;
  letter-spacing:0.12em; text-transform:uppercase; color:var(--sage-deep);
  margin-top:16px;
}
.job-side dt:first-child{margin-top:0;}
.job-side dd{margin:4px 0 0; font-size:0.95rem;}
.job-side .btn{width:100%; justify-content:center;}

/* ===== FORMS (apply / contact) ===== */
.form-section{padding:60px 0 90px;}
.form-grid{display:grid; grid-template-columns:0.8fr 1.2fr; gap:56px; align-items:start;}
form.alma-form{background:var(--white); border:1px solid var(--line); padding:38px;}
.field{margin-bottom:22px;}
.field label{
  display:block;
  font-family:'IBM Plex Mono', monospace; font-size:0.72rem;
  letter-spacing:0.1em; text-transform:uppercase;
  color:var(--sage-deep); margin-bottom:8px;
}
.field input[type=text], .field input[type=email], .field input[type=tel],
.field select, .field textarea{
  width:100%; padding:12px 14px;
  font-family:'Inter', sans-serif; font-size:0.95rem;
  border:1px solid var(--line); border-radius:2px;
  background:var(--paper); color:var(--ink);
}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:2px solid var(--sage); outline-offset:0; border-color:var(--sage);
}
.field textarea{min-height:120px; resize:vertical;}
.field input[type=file]{font-size:0.88rem; font-family:'Inter',sans-serif;}
.field .hint{font-size:0.78rem; color:var(--slate); margin-top:6px;}
.form-note{
  margin-top:18px; font-size:0.8rem; color:var(--slate);
  padding-top:18px; border-top:1px solid var(--paper-dim);
}

/* ===== GENERIC CONTENT SECTIONS (reused from homepage) ===== */
.statement{
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:56px 0; background:var(--paper-dim);
}
.statement .wrap{display:grid; grid-template-columns:auto 1fr; gap:36px; align-items:start;}
.statement .mark{font-family:'Fraunces', serif; font-style:italic; font-size:3rem; color:var(--sage-deep); line-height:1;}
.statement p{font-size:1.28rem; font-family:'Fraunces', serif; font-weight:450; max-width:54ch; line-height:1.4; margin:0;}
.statement span.tag{display:block; margin-top:16px; font-family:'IBM Plex Mono', monospace; font-size:0.78rem; color:var(--slate); font-style:normal;}

.path-grid{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line);}
.path-card{background:var(--white); padding:44px 38px;}
.path-card .num{font-family:'IBM Plex Mono', monospace; font-size:0.75rem; color:var(--sage-deep); letter-spacing:0.1em;}
.path-card h3{font-size:1.5rem; margin-top:16px;}
.path-card p{color:var(--slate); margin-top:14px; font-size:0.97rem; max-width:38ch;}
.path-card ul{margin:22px 0 0; padding:0; list-style:none; font-size:0.9rem;}
.path-card li{padding:9px 0; border-top:1px solid var(--paper-dim);}
.path-card li:first-child{border-top:none;}
.path-card a.go{
  display:inline-block; margin-top:26px;
  font-family:'IBM Plex Mono', monospace; font-size:0.78rem;
  text-decoration:none; border-bottom:1px solid var(--bronze); padding-bottom:2px;
  transition:color .2s;
}
.path-card a.go:hover{color:var(--bronze);}

.sector-list{display:grid; grid-template-columns:repeat(3, 1fr); border-top:1px solid var(--line);}
.sector-item{padding:30px 24px; border-bottom:1px solid var(--line); border-right:1px solid var(--line);}
.sector-item:nth-child(3n){border-right:none;}
.sector-item .eyebrow{margin-bottom:10px;}
.sector-item h4{font-family:'Fraunces', serif; font-size:1.12rem; font-weight:450; margin:0 0 8px;}
.sector-item p{margin:0; font-size:0.88rem; color:var(--slate);}

.process{padding:90px 0; background:var(--ink); color:var(--paper);}
.process .eyebrow{color:var(--sage);}
.process h2{color:var(--white); font-size:clamp(1.7rem, 3vw, 2.3rem); margin-top:10px;}
.process p.intro{color:#C7CDC2; max-width:56ch; margin-top:14px;}
.flow{margin-top:56px; position:relative; display:flex; justify-content:space-between; gap:16px;}
.flow::before{content:""; position:absolute; top:9px; left:0; right:0; height:1px; background:#3C473F;}
.flow-step{position:relative; flex:1; padding-top:34px;}
.flow-step::before{
  content:""; position:absolute; top:2px; left:0;
  width:15px; height:15px; border-radius:50%;
  background:var(--ink); border:2px solid var(--sage);
}
.flow-step h4{font-family:'Fraunces', serif; font-style:italic; font-weight:450; font-size:1.05rem; color:var(--white); margin:0 0 8px;}
.flow-step p{font-size:0.85rem; color:#AEB6A9; margin:0; max-width:24ch;}

.cta-band{background:var(--sage-deep); color:var(--white); padding:78px 0; text-align:center;}
.cta-band h2{color:var(--white); font-size:clamp(1.8rem, 4vw, 2.6rem); max-width:22ch; margin:0 auto;}
.cta-actions{display:flex; justify-content:center; gap:14px; flex-wrap:wrap; margin-top:30px;}
.cta-band .btn-outline{border-color:var(--white); color:var(--white);}
.cta-band .btn-outline:hover{background:rgba(255,255,255,0.1); border-color:var(--white); color:var(--white);}

footer{background:var(--ink); color:#9AA298; padding:54px 0 34px; font-size:0.86rem;}
.footer-grid{display:grid; grid-template-columns:1.2fr 1fr 1fr 1fr; gap:32px; padding-bottom:36px; border-bottom:1px solid #333B34;}
footer .wordmark{color:var(--white); font-size:1.1rem; text-decoration:none;}
footer .wordmark em{color:var(--sage);}
footer p.tagline{margin-top:10px; max-width:32ch; color:#8A927F;}
footer h5{font-family:'IBM Plex Mono', monospace; font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:#6E766A; margin:0 0 14px;}
footer ul{list-style:none; margin:0; padding:0;}
footer li{margin-bottom:9px;}
footer a{text-decoration:none; color:#AEB6A9; transition:color .2s;}
footer a:hover{color:var(--white);}
.footer-bottom{display:flex; justify-content:space-between; padding-top:24px; font-size:0.78rem; color:#6E766A; flex-wrap:wrap; gap:10px;}

/* ===== RESPONSIVE ===== */
@media (max-width:860px){
  .nav-links{display:none;}
  .statement .wrap{grid-template-columns:1fr;}
  .path-grid{grid-template-columns:1fr;}
  .sector-list{grid-template-columns:1fr;}
  .sector-item{border-right:none;}
  .flow{flex-direction:column; gap:26px;}
  .flow::before{display:none;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .job-detail{grid-template-columns:1fr;}
  .job-side{position:static;}
  .form-grid{grid-template-columns:1fr;}
  .job-row{grid-template-columns:1fr;}
}

/* ===== MOBILE BURGER MENU ===== */
.nav-toggle{
  display:none;
  background:none; border:1px solid var(--line); border-radius:2px;
  cursor:pointer; padding:9px 10px;
}
.nav-toggle span{display:block; width:20px; height:2px; background:var(--ink); margin:4px 0; transition:transform .2s, opacity .2s;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

@media (max-width:860px){
  .nav-toggle{display:block;}
  nav{flex-wrap:wrap;}
  .nav-links{
    display:none;
    width:100%; order:4;
    flex-direction:column; gap:0;
    margin-top:14px; padding-top:6px;
    border-top:1px solid var(--line);
  }
  .nav-links.open{display:flex;}
  .nav-links li{border-bottom:1px solid var(--paper-dim);}
  .nav-links a{display:block; padding:14px 4px; font-size:1rem;}
  .nav-cta{margin-left:auto; margin-right:12px;}
}

/* mobile header sizing — keep wordmark on one line, everything on one row */
.wordmark{white-space:nowrap;}
@media (max-width:860px){
  .wordmark{font-size:1.1rem;}
  .nav-cta{padding:8px 12px; font-size:0.7rem;}
}
@media (max-width:380px){
  .wordmark em{display:none;}   /* tightest screens: just ALMA */
}
