/* =========================================================
   JOIN TEAM PAGE - BASE
========================================================= */

.alston-join-page{
	width:100%;
	overflow:hidden;
	background:#ffffff;
	color:#181A1F;
}

.alston-join-page *,
.alston-join-page *::before,
.alston-join-page *::after{
	box-sizing:border-box;
}

.alston-join-page img{
	max-width:100%;
	display:block;
}

.alston-join-page a{
	color:inherit;
	text-decoration:none;
}

.alston-join-page{
	--aj-black:#0a0a08;
	--aj-charcoal:#141410;
	--aj-charcoal-mid:#1e1e1a;
	--aj-charcoal-light:#2a2a24;
	--aj-gold:#C9A961;
	--aj-gold-light:#e2c47a;
	--aj-gold-muted:#8a6e34;
	--aj-ivory:#f5f0e8;
	--aj-ivory-muted:#c8bfad;
	--aj-white:#ffffff;
	--aj-cream:#FBF8F2;
	--aj-soft:#F7F2EA;
}

/* =========================================================
   INNER CONTAINERS
========================================================= */

.alston-join-hero__inner{
	width:100%;
	max-width:1440px;
	margin:0 auto;
}

.alston-join-culture__inner{
	width:100%;
	max-width:1440px;
	margin:0 auto;
}

.alston-join-why__header{
	width:100%;
	max-width:1440px;
	margin:0 auto;
}

.alston-join-benefits-grid{
	width:100%;
	max-width:1440px;
	margin:0 auto;
}

.alston-join-positions__header{
	width:100%;
	max-width:1440px;
	margin:0 auto;
}

.alston-join-positions-grid{
	width:100%;
	max-width:1440px;
	margin:0 auto;
}

.alston-join-process__inner{
	width:100%;
	max-width:1440px;
	margin:0 auto;
}

.alston-join-form__inner{
	width:100%;
	max-width:1440px;
	margin:0 auto;
}

.alston-join-final-cta__inner{
	width:100%;
	max-width:900px;
	margin:0 auto;
}

/* =========================================================
   TYPOGRAPHY
========================================================= */

.alston-join-hero__title,
.alston-join-title,
.alston-join-benefit-card h3,
.alston-join-job-card h3,
.alston-join-process-step h3,
.alston-join-step-num{
	font-family:'Cormorant Garamond','Times New Roman',serif;
}

.alston-join-page p,
.alston-join-page span,
.alston-join-page a,
.alston-join-page div,
.alston-join-page input,
.alston-join-page textarea,
.alston-join-page select,
.alston-join-page label{
	font-family:'Inter',sans-serif;
}

.alston-join-title{
	font-size:64px;
	font-weight:300;
	line-height:1.08;
	letter-spacing:-0.01em;
	color:#181A1F;
	margin:0;
}

.alston-join-title em{
	font-style:italic;
	color:var(--aj-gold);
}

.alston-join-title--light{
	color:var(--aj-ivory);
}

.alston-join-label{
	display:flex;
	align-items:center;
	gap:14px;
	margin-bottom:20px;
}

.alston-join-label--center{
	justify-content:center;
}

.alston-join-label__line{
	width:36px;
	height:1px;
	background:var(--aj-gold);
	display:block;
}

.alston-join-label span:not(.alston-join-label__line){
	font-size:11px;
	font-weight:600;
	line-height:1;
	letter-spacing:0.28em;
	text-transform:uppercase;
	color:var(--aj-gold);
}

.alston-join-gold-line{
	width:60px;
	height:1px;
	background:linear-gradient(to right,var(--aj-gold),transparent);
	margin:28px 0;
}

.alston-join-content{
	max-width:560px;
}

.alston-join-content p{
	font-size:16px;
	line-height:30px;
	color:#555555;
	margin:0 0 20px;
}

.alston-join-content p:last-child{
	margin-bottom:0;
}

/* =========================================================
   BUTTONS
========================================================= */

.alston-join-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:14px;
	min-height:58px;
	padding:18px 44px;
	font-size:11px;
	font-weight:600;
	line-height:1;
	letter-spacing:0.22em;
	text-transform:uppercase;
	transition:
		background .35s ease,
		border-color .35s ease,
		color .35s ease,
		transform .35s ease,
		box-shadow .35s ease;
}

.alston-join-btn--gold{
	background:var(--aj-gold);
	border:1px solid var(--aj-gold);
	color:var(--aj-black) !important;
}

.alston-join-btn--gold:hover{
	background:var(--aj-gold-light);
	border-color:var(--aj-gold-light);
	transform:translateY(-2px);
	box-shadow:0 20px 60px rgba(201,168,76,0.25);
}

.alston-join-btn--ghost-dark{
	background:transparent;
	border:1px solid rgba(24,26,31,0.22);
	color:#181A1F !important;
}

.alston-join-btn--ghost-dark:hover{
	background:#181A1F;
	border-color:#181A1F;
	color:#ffffff !important;
	transform:translateY(-2px);
}

/* =========================================================
   HERO / BREADCRUMB
========================================================= */

.alston-join-hero{
	width:100%;
	position:relative;
	overflow:hidden;
	background:#181A1F;
	isolation:isolate;
}

.alston-join-hero__bg{
	position:absolute;
	inset:0;
	z-index:1;

	background-size:cover;
	background-position:center right;
	background-repeat:no-repeat;
}

.alston-join-hero__overlay{
	position:absolute;
	inset:0;
	z-index:2;

	background:
		linear-gradient(
			90deg,
			rgba(0,0,0,0.82) 0%,
			rgba(0,0,0,0.62) 35%,
			rgba(0,0,0,0.18) 100%
		);
}

.alston-join-hero__inner{
	position:relative;
	z-index:3;

	width:100%;
	max-width:1440px;
	margin:0 auto;

	min-height:400px;

	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:flex-start;

	color:#ffffff;

	padding-top:120px;
	padding-left:5px;
	padding-right:5px;
}

.alston-join-hero__content{
	width:100%;
	max-width:820px;
	color:#ffffff;
}

.alston-join-breadcrumb{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:12px;

	margin:0 0 22px;

	font-family:'Inter',sans-serif;
	font-size:11px;
	font-weight:600;
	line-height:1;

	letter-spacing:0.18em;
	text-transform:uppercase;

	color:rgba(255,255,255,0.72);
}

.alston-join-breadcrumb a,
.alston-join-breadcrumb span{
	color:inherit;
}

.alston-join-breadcrumb a{
	transition:opacity 0.3s ease;
}

.alston-join-breadcrumb a:hover{
	opacity:0.6;
}

.alston-join-breadcrumb span:last-child{
	color:#C9A961;
}

.alston-join-hero__title{
	font-family:'Cormorant Garamond',serif;
	font-size:72px;
	line-height:0.95;
	font-weight:600;
	letter-spacing:-0.03em;

	color:#ffffff;

	margin:0 0 22px;
}

.alston-join-hero__title em{
    font-style: italic;
    font-weight: 400;
    color: #C9A961;
}

.alston-join-hero__description{
	width:100%;
	max-width:820px;

	margin:0;

	font-family:'Inter',sans-serif;
	font-size:15px;
	line-height:25px;
	font-weight:300;

	color:rgba(255,255,255,0.82);
}

/* =========================================================
   CULTURE
========================================================= */

.alston-join-culture{
	width:100%;
	padding:120px 0;
	background:#ffffff;
	color:#181A1F;
}

.alston-join-culture__inner{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:100px;
	align-items:center;
}

.alston-join-culture__left .alston-join-title{
	font-size:64px;
	max-width:560px;
}

.alston-join-culture__actions{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:18px;
	margin-top:42px;
}

.alston-join-culture__right{
	position:relative;
	height:620px;
}

.alston-join-culture__main-img{
	position:absolute;
	top:0;
	right:0;
	width:85%;
	height:75%;
	background-size:cover;
	background-position:center;
	filter:brightness(.9) contrast(1.04);
}

.alston-join-culture__accent-img{
	position:absolute;
	bottom:0;
	left:0;
	width:55%;
	height:48%;
	background-size:cover;
	background-position:center;
	filter:brightness(.9) contrast(1.06);
	border:4px solid #ffffff;
}

.alston-join-culture__tag{
	position:absolute;
	bottom:30px;
	right:30px;
	background:rgba(255,255,255,0.88);
	backdrop-filter:blur(20px);
	border:1px solid rgba(201,169,97,0.28);
	padding:20px 24px;
	box-shadow:0 20px 60px rgba(0,0,0,0.12);
}

.alston-join-culture__tag span{
	display:block;
	font-family:'Cormorant Garamond','Times New Roman',serif;
	font-size:34px;
	font-weight:300;
	line-height:1;
	color:var(--aj-gold);
}

.alston-join-culture__tag div{
	font-size:11px;
	font-weight:600;
	letter-spacing:0.18em;
	text-transform:uppercase;
	color:#6e6760;
	margin-top:6px;
}

/* =========================================================
   WHY JOIN
========================================================= */

.alston-join-why{
	width:100%;
	padding:120px 0;
	background:var(--aj-black);
}

.alston-join-why__header{
	margin-bottom:80px;
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
	gap:40px;
}

.alston-join-why__header .alston-join-title{
	max-width:520px;
	font-size:58px;
}

.alston-join-why__sub{
	max-width:400px;
	font-size:15px;
	line-height:28px;
	color:var(--aj-ivory-muted);
	margin:0;
}

.alston-join-benefits-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:1px;
	background:rgba(201,168,76,0.1);
	border:1px solid rgba(201,168,76,0.1);
}

.alston-join-benefit-card{
	padding:48px 40px;
	background:var(--aj-black);
	position:relative;
	overflow:hidden;
	transition:background .5s ease;
}

.alston-join-benefit-card::before{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(135deg,rgba(201,168,76,.05),transparent);
	opacity:0;
	transition:opacity .5s ease;
}

.alston-join-benefit-card:hover{
	background:var(--aj-charcoal-mid);
}

.alston-join-benefit-card:hover::before{
	opacity:1;
}

.alston-join-benefit-card__num{
	position:absolute;
	top:28px;
	right:28px;
	font-family:'Cormorant Garamond','Times New Roman',serif;
	font-size:56px;
	font-weight:300;
	color:rgba(201,168,76,.08);
	line-height:1;
}

.alston-join-benefit-card__icon-wrap{
	width:52px;
	height:52px;
	border:1px solid rgba(201,168,76,.3);
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bottom:28px;
	transition:border-color .4s ease;
}

.alston-join-benefit-card:hover .alston-join-benefit-card__icon-wrap{
	border-color:var(--aj-gold);
}

.alston-join-benefit-card__icon{
	width:28px;
	height:28px;
	display:flex;
	align-items:center;
	justify-content:center;
	color:var(--aj-gold-muted);
}

.alston-join-benefit-card__icon img{
	width:26px;
	height:26px;
	object-fit:contain;
	filter:brightness(0) saturate(100%) invert(63%) sepia(27%) saturate(861%) hue-rotate(6deg) brightness(93%) contrast(87%);
}

.alston-join-benefit-card h3{
	position:relative;
	z-index:2;
	font-size:26px;
	font-weight:500;
	line-height:1.15;
	color:var(--aj-ivory);
	margin:0 0 14px;
	letter-spacing:0.02em;
}

.alston-join-benefit-card p{
	position:relative;
	z-index:2;
	font-size:14px;
	line-height:26px;
	color:var(--aj-ivory-muted);
	margin:0;
}

/* =========================================================
   POSITIONS
========================================================= */

.alston-join-positions{
	width:100%;
	padding:120px 0;
	background:#ffffff;
	color:#181A1F;
}

.alston-join-positions__header{
	margin-bottom:80px;
	text-align:center;
}

.alston-join-positions__header .alston-join-title{
	font-size:58px;
}

.alston-join-positions__header p{
	max-width:520px;
	margin:20px auto 0;
	font-size:15px;
	line-height:28px;
	color:#6e6760;
}

.alston-join-positions-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:20px;
}

.alston-join-job-card{
	background:var(--aj-cream);
	border:1px solid rgba(22,20,19,0.10);
	padding:44px 44px 36px;
	position:relative;
	overflow:hidden;
	transition:
		border-color .4s ease,
		transform .4s ease,
		box-shadow .4s ease,
		background .4s ease;
}

.alston-join-job-card::after{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	height:2px;
	background:linear-gradient(to right,var(--aj-gold),transparent);
	transform:scaleX(0);
	transform-origin:left;
	transition:transform .5s cubic-bezier(.22,1,.36,1);
}

.alston-join-job-card:hover{
	border-color:rgba(201,169,97,0.38);
	transform:translateY(-4px);
	background:#ffffff;
	box-shadow:0 24px 70px rgba(0,0,0,0.10);
}

.alston-join-job-card:hover::after{
	transform:scaleX(1);
}

.alston-join-job-tags{
	display:flex;
	gap:10px;
	margin-bottom:24px;
	flex-wrap:wrap;
}

.alston-join-job-tag{
	padding:6px 14px;
	border:1px solid rgba(201,169,97,0.35);
	font-size:10px;
	font-weight:600;
	line-height:1;
	letter-spacing:0.20em;
	text-transform:uppercase;
	color:#8a6e34;
}

.alston-join-job-tag--featured{
	background:rgba(201,169,97,0.12);
	border-color:var(--aj-gold);
	color:#8a6e34;
}

.alston-join-job-card h3{
	font-size:32px;
	font-weight:400;
	line-height:1.1;
	color:#181A1F;
	margin:0 0 12px;
	letter-spacing:0.01em;
}

.alston-join-job-meta{
	display:flex;
	flex-wrap:wrap;
	gap:18px;
	margin-bottom:22px;
	font-size:12px;
	color:#777777;
	letter-spacing:0.08em;
	text-transform:uppercase;
}

.alston-join-job-card p{
	font-size:15px;
	line-height:28px;
	color:#555555;
	margin:0 0 32px;
	border-top:1px solid rgba(22,20,19,0.10);
	padding-top:22px;
}

.alston-join-job-apply{
	display:inline-flex;
	align-items:center;
	gap:10px;
	font-size:11px;
	font-weight:600;
	line-height:1;
	letter-spacing:0.20em;
	text-transform:uppercase;
	color:#8a6e34 !important;
	transition:gap .3s ease,color .3s ease;
}

.alston-join-job-apply:hover{
	gap:16px;
	color:var(--aj-gold) !important;
}

/* =========================================================
   PROCESS
========================================================= */

.alston-join-process{
	width:100%;
	padding:120px 0;
	background:var(--aj-black);
	text-align:center;
}

.alston-join-process .alston-join-title{
	font-size:52px;
	margin-bottom:80px;
}

.alston-join-process-steps{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:0;
	position:relative;
}

.alston-join-process-steps::before{
	content:"";
	position:absolute;
	top:36px;
	left:12.5%;
	right:12.5%;
	height:1px;
	background:linear-gradient(to right,transparent,var(--aj-gold-muted),transparent);
}

.alston-join-process-step{
	position:relative;
	padding:0 20px;
}

.alston-join-step-num{
	width:72px;
	height:72px;
	border:1px solid rgba(201,168,76,.3);
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0 auto 28px;
	font-size:24px;
	font-weight:300;
	color:var(--aj-gold);
	background:var(--aj-black);
	position:relative;
	z-index:1;
	transition:
		background .4s ease,
		border-color .4s ease;
}

.alston-join-process-step:hover .alston-join-step-num{
	background:rgba(201,168,76,.1);
	border-color:var(--aj-gold);
}

.alston-join-process-step h3{
	font-size:24px;
	font-weight:500;
	color:var(--aj-ivory);
	margin:0 0 12px;
	letter-spacing:0.04em;
}

.alston-join-process-step p{
	font-size:13px;
	line-height:24px;
	color:var(--aj-ivory-muted);
	margin:0;
}

/* =========================================================
   FORM
========================================================= */

.alston-join-form{
	width:100%;
	padding:120px 0;
	background:var(--aj-charcoal);
	position:relative;
}

.alston-join-form::before{
	content:"";
	position:absolute;
	top:-1px;
	left:0;
	right:0;
	height:1px;
	background:linear-gradient(to right,transparent,var(--aj-gold-muted),transparent);
}

.alston-join-form__header{
	margin-bottom:60px;
}

.alston-join-form__header .alston-join-title{
	font-size:58px;
}

.alston-join-form__header p{
	max-width:720px;
	font-size:15px;
	line-height:28px;
	color:var(--aj-ivory-muted);
	margin:20px 0 0;
}

.alston-join-form-card{
	background:transparent;
	color:var(--aj-ivory);
}

.alston-join-form-card .wpcf7,
.alston-join-form-card .wpcf7-form{
	width:100%;
	margin:0;
}

.alston-join-form-card p{
	margin:0;
}

.alston-join-form-card br{
	display:none;
}

.alston-join-form-card label{
	display:block;
	margin-bottom:10px;
	font-size:11px;
	font-weight:600;
	line-height:1.4;
	letter-spacing:0.22em;
	text-transform:capitalize;
	color:var(--aj-gold-muted);
}

.alston-join-form-card input[type="text"],
.alston-join-form-card input[type="email"],
.alston-join-form-card input[type="tel"],
.alston-join-form-card input[type="url"],
.alston-join-form-card input[type="number"],
.alston-join-form-card input[type="date"],
.alston-join-form-card select,
.alston-join-form-card textarea{
	width:100%;
	background:rgba(245,240,232,0.04);
	border:1px solid rgba(201,168,76,0.15);
	padding:16px 20px;
	color:var(--aj-ivory);
	font-family:'Inter',sans-serif;
	font-size:15px;
	font-weight:300;
	outline:none;
	transition:
		border-color .3s ease,
		background .3s ease;
	border-radius:0;
	box-shadow:none;
	appearance:none;
	-webkit-appearance:none;
}

.alston-join-form-card input:focus,
.alston-join-form-card textarea:focus,
.alston-join-form-card select:focus{
	border-color:var(--aj-gold);
	background:rgba(201,168,76,0.04);
}

.alston-join-form-card input::placeholder,
.alston-join-form-card textarea::placeholder{
	color:rgba(200,191,173,0.45);
}

.alston-join-form-card textarea{
	min-height:140px;
	resize:vertical;
	line-height:1.7;
}

.alston-join-form-card input[type="file"]{
	width:100%;
	padding:30px;
	border:1px dashed rgba(201,168,76,0.25);
	background:rgba(245,240,232,0.04);
	color:var(--aj-ivory-muted);
}

.alston-join-form-card input[type="submit"]{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:58px;
	padding:20px 60px;
	background:var(--aj-gold);
	border:1px solid var(--aj-gold);
	color:var(--aj-black) !important;
	font-family:'Inter',sans-serif;
	font-size:11px;
	font-weight:600;
	line-height:1;
	letter-spacing:0.22em;
	text-transform:uppercase;
	cursor:pointer;
	transition:
		background .35s ease,
		border-color .35s ease,
		transform .35s ease,
		box-shadow .35s ease;
}

.alston-join-form-card input[type="submit"]:hover{
	background:var(--aj-gold-light);
	border-color:var(--aj-gold-light);
	transform:translateY(-2px);
	box-shadow:0 20px 60px rgba(201,168,76,0.20);
}

.alston-join-form-card .wpcf7-not-valid-tip{
	margin-top:8px;
	font-size:12px;
	color:#ffb3b3;
}

.alston-join-form-card .wpcf7-response-output{
	margin:20px 0 0 !important;
	padding:14px 18px !important;
	border:1px solid rgba(201,168,76,0.25) !important;
	color:var(--aj-ivory);
	font-size:13px;
	line-height:22px;
}

.alston-join-cf7__date input[type="date"]::-webkit-calendar-picker-indicator{
    filter: brightness(0) invert(1);
    opacity: 1;
    cursor: pointer;
}


/* =========================================================
   FINAL CTA
========================================================= */

.alston-join-final-cta{
	width:100%;
	position:relative;
	padding:120px 0;
	text-align:center;
	overflow:hidden;
	background:var(--aj-black);
}

.alston-join-final-cta__bg{
	position:absolute;
	inset:0;
	z-index:1;
	background-size:cover;
	background-position:center;
}

.alston-join-final-cta__overlay{
	position:absolute;
	inset:0;
	z-index:2;
	background:
		radial-gradient(ellipse 70% 80% at 50% 50%,rgba(201,168,76,0.09) 0%,transparent 65%),
		linear-gradient(to bottom,var(--aj-black) 0%,rgba(10,10,8,0.72) 30%,rgba(10,10,8,0.72) 70%,var(--aj-black) 100%);
}

.alston-join-final-cta__inner{
	position:relative;
	z-index:3;
}

.alston-join-final-cta .alston-join-title{
	font-size:76px;
	margin-bottom:42px;
}

.alston-join-final-cta__actions{
	display:flex;
	justify-content:center;
}

/* =========================================================
   REVEAL ANIMATIONS
========================================================= */

.aj-reveal-up,
.aj-reveal-left,
.aj-reveal-right{
	opacity:0;
	transition:
		opacity .9s cubic-bezier(.22,1,.36,1),
		transform .9s cubic-bezier(.22,1,.36,1);
}

.aj-reveal-up{
	transform:translateY(34px);
}

.aj-reveal-left{
	transform:translateX(-34px);
}

.aj-reveal-right{
	transform:translateX(34px);
}

.aj-reveal-up.is-visible,
.aj-reveal-left.is-visible,
.aj-reveal-right.is-visible{
	opacity:1;
	transform:none;
}

.aj-delay-1{
	transition-delay:.1s;
}

.aj-delay-2{
	transition-delay:.2s;
}

.aj-delay-3{
	transition-delay:.3s;
}

.aj-delay-4{
	transition-delay:.4s;
}

.aj-delay-5{
	transition-delay:.5s;
}

/* =========================================================
   LAPTOP - 1025px to 1366px
========================================================= */

@media (min-width:1025px) and (max-width:1439px){

	.alston-join-hero{
		width:100%;
	}

	.alston-join-hero__inner{
		max-width:1440px;
		padding-left:20px;
		padding-right:20px;
		min-height:400px;
		padding-top:120px;
	}

	.alston-join-culture{
		width:100%;
		padding:120px 20px;
	}

	.alston-join-culture__inner{
		max-width:1440px;
	}

	.alston-join-why{
		width:100%;
		padding:120px 20px;
	}

	.alston-join-why__header{
		max-width:1440px;
	}

	.alston-join-benefits-grid{
		max-width:1440px;
	}

	.alston-join-positions{
		width:100%;
		padding:120px 20px;
	}

	.alston-join-positions__header{
		max-width:1440px;
	}

	.alston-join-positions-grid{
		max-width:1440px;
	}

	.alston-join-process{
		width:100%;
		padding:120px 20px;
	}

	.alston-join-process__inner{
		max-width:1440px;
	}

	.alston-join-form{
		width:100%;
		padding:120px 20px;
	}

	.alston-join-final-cta{
		width:100%;
		padding:120px 20px;
	}

	.alston-join-final-cta__inner{
		max-width:900px;
	}

	.alston-join-hero__title{
		font-size:56px;
		line-height:1;
	}

	.alston-join-title{
		font-size:52px;
	}

	.alston-join-culture__left .alston-join-title{
		font-size:52px;
	}

	.alston-join-why__header .alston-join-title{
		font-size:52px;
	}

	.alston-join-positions__header .alston-join-title{
		font-size:52px;
	}

	.alston-join-form__header .alston-join-title{
		font-size:52px;
	}

	.alston-join-final-cta .alston-join-title{
		font-size:62px;
	}
}

/* =========================================================
   TABLET - 768px to 1024px
========================================================= */

@media (min-width:768px) and (max-width:1024px){

	.alston-join-hero__inner{
		max-width:100%;
		padding-left:24px;
		padding-right:24px;
		min-height:360px;
		padding-top:100px;
		padding-bottom:70px;
	}

	.alston-join-culture{
		padding:100px 0;
	}

	.alston-join-culture__inner{
		max-width:100%;
		padding-left:24px;
		padding-right:24px;
		grid-template-columns:1fr;
		gap:60px;
	}

	.alston-join-why{
		padding:100px 0;
	}

	.alston-join-why__header{
		max-width:100%;
		padding-left:24px;
		padding-right:24px;
		flex-direction:column;
		align-items:flex-start;
		margin-bottom:60px;
	}

	.alston-join-benefits-grid{
		max-width:100%;
		padding-left:24px;
		padding-right:24px;
		grid-template-columns:repeat(2,1fr);
		background:transparent;
		border:0;
		gap:1px;
	}

	.alston-join-positions{
		padding:100px 0;
	}

	.alston-join-positions__header{
		max-width:100%;
		padding-left:24px;
		padding-right:24px;
	}

	.alston-join-positions-grid{
		max-width:100%;
		padding-left:24px;
		padding-right:24px;
		grid-template-columns:1fr;
	}

	.alston-join-process{
		padding:100px 0;
	}

	.alston-join-process__inner{
		max-width:100%;
		padding-left:24px;
		padding-right:24px;
	}

	.alston-join-form{
		padding:100px 0;
	}

	.alston-join-form__inner{
		max-width:100%;
		padding-left:24px;
		padding-right:24px;
	}

	.alston-join-final-cta{
		padding:130px 24px;
	}

	.alston-join-final-cta__inner{
		max-width:100%;
	}

	.alston-join-hero__title{
		font-size:56px;
		line-height:1;
	}

	.alston-join-hero__description{
		max-width:620px;
		font-size:15px;
		line-height:26px;
	}

	.alston-join-culture__right{
		height:460px;
	}

	.alston-join-title{
		font-size:48px;
		line-height:1.05;
	}

	.alston-join-culture__left .alston-join-title{
		font-size:48px;
		line-height:1.05;
	}

	.alston-join-why__header .alston-join-title{
		font-size:48px;
		line-height:1.05;
	}

	.alston-join-positions__header .alston-join-title{
		font-size:48px;
		line-height:1.05;
	}

	.alston-join-form__header .alston-join-title{
		font-size:48px;
		line-height:1.05;
	}

	.alston-join-process-steps{
		grid-template-columns:repeat(2,1fr);
		gap:48px 0;
	}

	.alston-join-process-steps::before{
		display:none;
	}

	.alston-join-final-cta .alston-join-title{
		font-size:56px;
		line-height:1;
	}
}

/* =========================================================
   MOBILE - 0px to 767px
========================================================= */

@media (min-width:0px) and (max-width:767px){

	.alston-join-hero__inner{
		max-width:100%;
		padding-left:18px;
		padding-right:18px;
		min-height:320px;
		padding-top:110px;
		padding-bottom:55px;
	}

	.alston-join-culture{
		padding:80px 0;
	}

	.alston-join-culture__inner{
		max-width:100%;
		padding-left:18px;
		padding-right:18px;
		grid-template-columns:1fr;
		gap:48px;
	}

	.alston-join-why{
		padding:80px 0;
	}

	.alston-join-why__header{
		max-width:100%;
		padding-left:18px;
		padding-right:18px;
		flex-direction:column;
		align-items:flex-start;
		margin-bottom:50px;
	}

	.alston-join-benefits-grid{
		max-width:100%;
		padding-left:18px;
		padding-right:18px;
		grid-template-columns:1fr;
		background:transparent;
		border:0;
		gap:1px;
	}

	.alston-join-positions{
		padding:80px 0;
	}

	.alston-join-positions__header{
		max-width:100%;
		padding-left:18px;
		padding-right:18px;
		margin-bottom:50px;
	}

	.alston-join-positions-grid{
		max-width:100%;
		padding-left:18px;
		padding-right:18px;
		grid-template-columns:1fr;
	}

	.alston-join-process{
		padding:80px 0;
	}

	.alston-join-process__inner{
		max-width:100%;
		padding-left:18px;
		padding-right:18px;
	}

	.alston-join-form{
		padding:80px 0;
	}

	.alston-join-form__inner{
		max-width:100%;
		padding-left:18px;
		padding-right:18px;
	}

	.alston-join-final-cta{
		padding:110px 0;
	}

	.alston-join-final-cta__inner{
		max-width:100%;
		padding-left:18px;
		padding-right:18px;
	}

	.alston-join-breadcrumb{
		gap:10px;
		font-size:10px;
		line-height:1.4;
		margin-bottom:16px;
	}

	.alston-join-hero__title{
		font-size:42px;
		line-height:1;
		margin-bottom:16px;
	}

	.alston-join-hero__description{
		max-width:100%;
		font-size:14px;
		line-height:24px;
	}

	.alston-join-title{
		font-size:42px;
		line-height:1.05;
	}

	.alston-join-culture__left .alston-join-title{
		font-size:42px;
		line-height:1.05;
	}

	.alston-join-why__header .alston-join-title{
		font-size:42px;
		line-height:1.05;
	}

	.alston-join-positions__header .alston-join-title{
		font-size:42px;
		line-height:1.05;
	}

	.alston-join-form__header .alston-join-title{
		font-size:42px;
		line-height:1.05;
	}

	.alston-join-content p{
		font-size:14px;
		line-height:25px;
	}

	.alston-join-culture__actions{
		flex-direction:column;
		align-items:stretch;
	}

	.alston-join-btn{
		width:100%;
		padding-left:22px;
		padding-right:22px;
	}

	.alston-join-culture__right{
		height:420px;
	}

	.alston-join-culture__main-img{
		width:100%;
		height:72%;
	}

	.alston-join-culture__accent-img{
		width:58%;
		height:38%;
	}

	.alston-join-culture__tag{
		right:0px;
		bottom:0px;
		padding:16px 18px;
	}

	.alston-join-why__sub{
		font-size:14px;
		line-height:25px;
	}

	.alston-join-benefit-card{
		padding:38px 30px;
	}

	.alston-join-benefit-card h3{
		font-size:25px;
	}

	.alston-join-positions__header p{
		font-size:14px;
		line-height:25px;
	}

	.alston-join-job-card{
		padding:34px 28px 30px;
	}

	.alston-join-job-card h3{
		font-size:30px;
	}

	.alston-join-job-card p{
		font-size:14px;
		line-height:25px;
	}

	.alston-join-process .alston-join-title{
		font-size:40px;
		margin-bottom:56px;
	}

	.alston-join-process-steps{
		grid-template-columns:1fr;
		gap:42px;
	}

	.alston-join-process-steps::before{
		display:none;
	}

	.alston-join-form__header{
		margin-bottom:45px;
	}

	.alston-join-form__header p{
		font-size:14px;
		line-height:25px;
	}

	.alston-join-form-card input[type="submit"]{
		width:100%;
	}

	.alston-join-final-cta .alston-join-title{
		font-size:42px;
		line-height:1.05;
		margin-bottom:34px;
	}
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion:reduce){

	.aj-reveal-up,
	.aj-reveal-left,
	.aj-reveal-right{
		opacity:1 !important;
		transform:none !important;
		transition:none !important;
	}

	.alston-join-benefit-card,
	.alston-join-job-card,
	.alston-join-btn,
	.alston-join-culture__main-img{
		transform:none !important;
		transition:none !important;
	}
}


/* =========================================================
   JOIN TEAM CF7 CUSTOM FORM
========================================================= */

.alston-join-cf7{
	width:100%;
}

.alston-join-cf7__top{
	margin-bottom:46px;
}

.alston-join-cf7__eyebrow{
	display:flex;
	align-items:center;
	gap:14px;
	margin-bottom:20px;
}

.alston-join-cf7__eyebrow-line{
	width:36px;
	height:1px;
	background:var(--aj-gold);
	display:block;
}

.alston-join-cf7__eyebrow span:not(.alston-join-cf7__eyebrow-line){
	font-size:11px;
	font-weight:600;
	line-height:1;
	letter-spacing:0.28em;
	text-transform:uppercase;
	color:var(--aj-gold);
}

.alston-join-cf7__title{
	font-family:'Cormorant Garamond','Times New Roman',serif;
	font-size:88px;
	font-weight:300;
	line-height:1;
	letter-spacing:-0.02em;
	color:var(--aj-ivory);
	margin:0 0 22px;
}

.alston-join-cf7__intro{
	max-width:620px;
	margin:0;
	font-size:15px;
	line-height:28px;
	color:var(--aj-ivory-muted);
}

.alston-join-cf7__group{
	margin-bottom:26px;
}

.alston-join-cf7__group > label{
	display:block;
	margin:0 0 14px;
	font-size:11px;
	font-weight:600;
	line-height:1;
	letter-spacing:0.28em;
	text-transform:uppercase;
	color:var(--aj-gold-muted);
}

.alston-join-cf7__row{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:14px;
}

.alston-join-cf7__field{
	width:100%;
	margin-bottom:26px;
}

.alston-join-cf7__field p{
	margin:0 !important;
}

.alston-join-cf7__field br{
	display:none;
}

.alston-join-cf7__field > span,
.alston-join-cf7__field p > span:first-child{
	display:block;
	margin:0 0 12px !important;
	font-size:16px;
	font-weight:500;
	line-height:1.4;
	letter-spacing:0;
	text-transform:none;
	color:var(--aj-ivory);
}

.alston-join-cf7__field em{
	font-style:normal;
	color:var(--aj-ivory-muted);
	margin-left:5px;
}

.alston-join-cf7 .wpcf7-form-control-wrap{
	display:block;
	width:100%;
}

.alston-join-cf7 input[type="text"],
.alston-join-cf7 input[type="email"],
.alston-join-cf7 input[type="tel"],
.alston-join-cf7 input[type="url"],
.alston-join-cf7 input[type="number"],
.alston-join-cf7 input[type="date"],
.alston-join-cf7 select,
.alston-join-cf7 textarea{
	width:100%;
	min-height:58px;
	background:rgba(245,240,232,0.04) !important;
	border:1px solid rgba(201,168,76,0.18) !important;
	padding:16px 20px;
	color:var(--aj-ivory) !important;
	font-family:'Inter',sans-serif;
	font-size:15px;
	font-weight:300;
	line-height:1.4;
	outline:none;
	border-radius:0;
	box-shadow:none !important;
	transition:
		border-color .3s ease,
		background .3s ease;
}

.alston-join-cf7 input:focus,
.alston-join-cf7 textarea:focus,
.alston-join-cf7 select:focus{
	border-color:var(--aj-gold) !important;
	background:rgba(201,168,76,0.04) !important;
}

.alston-join-cf7 input::placeholder,
.alston-join-cf7 textarea::placeholder{
	color:rgba(200,191,173,0.45);
}

.alston-join-cf7 select{
	appearance:auto;
	-webkit-appearance:auto;
}

.alston-join-cf7 select option{
	background:#ffffff !important;
	color:#181A1F !important;
}

.alston-join-cf7 textarea{
	min-height:120px !important;
	max-height:160px;
	resize:vertical;
	line-height:1.7;
}

.alston-join-cf7__date input[type="date"]{
	max-width:260px;
}

/* =========================================================
   CHECKBOXES
========================================================= */

.alston-join-cf7 .wpcf7-checkbox{
	display:grid;
	gap:14px;
	margin-top:12px;
}

.alston-join-cf7 .wpcf7-list-item{
	display:block;
	margin:0;
}

.alston-join-cf7 .wpcf7-list-item label{
	display:flex;
	align-items:center;
	gap:12px;
	margin:0;
	cursor:pointer;
}

.alston-join-cf7 .wpcf7-list-item input[type="checkbox"]{
	width:16px;
	height:16px;
	min-height:16px;
	margin:0;
	padding:0;
	border:1px solid rgba(201,168,76,0.35);
	background:transparent;
	accent-color:var(--aj-gold);
	flex:0 0 16px;
}

.alston-join-cf7 .wpcf7-list-item-label{
	font-size:15px;
	font-weight:400;
	line-height:1.4;
	color:var(--aj-ivory);
}

/* =========================================================
   UPLOAD BOX
========================================================= */

.alston-join-cf7__upload-field > span{
	letter-spacing:0.28em !important;
	text-transform:uppercase !important;
	font-size:11px !important;
	font-weight:600 !important;
	color:var(--aj-gold-muted) !important;
	margin-bottom:14px !important;
}

.alston-join-upload-box{
	position:relative;
	width:100%;
	min-height:170px;
	padding:38px 24px;
	border:1px dashed rgba(201,168,76,0.38);
	background:rgba(245,240,232,0.025);
	display:flex !important;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
	cursor:pointer;
	transition:
		border-color .3s ease,
		background .3s ease;
}

.alston-join-upload-box:hover{
	border-color:var(--aj-gold);
	background:rgba(201,168,76,0.04);
}

.alston-join-upload-box .wpcf7-form-control-wrap{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	z-index:3;
	opacity:0;
	cursor:pointer;
}

.alston-join-upload-box input[type="file"]{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	padding:0;
	opacity:0;
	cursor:pointer;
}

.alston-join-upload-box__icon{
	font-size:32px;
	line-height:1;
	color:var(--aj-gold);
	margin-bottom:16px;
}

.alston-join-upload-box__text{
	display:block;
	font-size:15px;
	line-height:1.5;
	color:var(--aj-ivory);
}

.alston-join-upload-box__text strong{
	color:var(--aj-gold);
	font-weight:400;
}

.alston-join-upload-box__note{
	display:block;
	margin-top:4px;
	font-size:12px;
	line-height:1.5;
	color:var(--aj-ivory-muted);
}

/* =========================================================
   SUBMIT ROW
========================================================= */

.alston-join-cf7__bottom{
	margin-top:38px;
	display:flex;
	align-items:center;
	gap:30px;
}

.alston-join-cf7__submit{
	margin:0;
	flex:0 0 auto;
}

.alston-join-cf7__submit input[type="submit"]{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:20px 60px;
	background:var(--aj-gold);
	border:1px solid var(--aj-gold);
	color:var(--aj-black) !important;
	font-family:'Inter',sans-serif;
	font-size:12px;
	font-weight:600;
	line-height:1;
	letter-spacing:0.22em;
	text-transform:uppercase;
	cursor:pointer;
	transition:
		background .35s ease,
		border-color .35s ease,
		transform .35s ease,
		box-shadow .35s ease;
}

.alston-join-cf7__submit input[type="submit"]:hover{
	background:var(--aj-gold-light);
	border-color:var(--aj-gold-light);
	transform:translateY(-2px);
	box-shadow:0 20px 60px rgba(201,168,76,0.20);
}

.alston-join-cf7__privacy{
	max-width:280px;
	font-size:12px;
	line-height:20px;
	color:var(--aj-ivory-muted);
}

/* =========================================================
   CF7 MESSAGES
========================================================= */

.alston-join-cf7 .wpcf7-not-valid-tip{
	margin-top:8px;
	font-size:12px;
	color:#ffb3b3;
}

.alston-join-cf7 .wpcf7-response-output{
	margin:24px 0 0 !important;
	padding:14px 18px !important;
	border:1px solid rgba(201,168,76,0.25) !important;
	color:var(--aj-ivory);
	font-size:13px;
	line-height:22px;
}

.alston-join-upload-box.has-file{
	border-color:var(--aj-gold);
	background:rgba(201,168,76,0.055);
}

.alston-join-upload-box.has-file .alston-join-upload-box__note{
	color:var(--aj-ivory);
	font-size:13px;
	word-break:break-word;
}

.alston-join-upload-box__remove{
	position:relative;
	z-index:10;
	margin-top:16px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:34px;
	padding:9px 18px;
	background:transparent;
	border:1px solid rgba(201,168,76,0.45);
	color:var(--aj-gold);
	font-size:10px;
	font-weight:600;
	line-height:1;
	letter-spacing:0.18em;
	text-transform:uppercase;
	cursor:pointer;
	transition:
		background .3s ease,
		color .3s ease,
		border-color .3s ease;
}

.alston-join-upload-box__remove:hover{
	background:var(--aj-gold);
	border-color:var(--aj-gold);
	color:var(--aj-black);
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width:767px){

	.alston-join-cf7__title{
		font-size:52px;
	}

	.alston-join-cf7__intro{
		font-size:14px;
		line-height:25px;
	}

	.alston-join-cf7__row{
		grid-template-columns:1fr;
		gap:0;
	}

	.alston-join-cf7__bottom{
		flex-direction:column;
		align-items:stretch;
		gap:18px;
	}

	.alston-join-cf7__submit input[type="submit"]{
		width:100%;
	}

	.alston-join-cf7__privacy{
		max-width:100%;
		text-align:center;
	}
}