
:root{
  --orange:#f58220;
  --orange-light:#ff9b4a;
  --bg:#09090c;
  --panel:#15151b;
  --text:#f7f7f8;
  --muted:#b9bac3;
  --line:rgba(255,255,255,.10);
  --shadow:0 28px 80px rgba(0,0,0,.38);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Montserrat",Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 78% 8%,rgba(245,130,32,.12),transparent 25%),
    linear-gradient(180deg,#09090c 0%,#0b0b0e 100%);
  line-height:1.6;
}
a{color:inherit}
.page-shell{
  width:min(1160px,calc(100% - 40px));
  margin:0 auto;
}
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(8,8,10,.94);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(14px);
}
.site-header-inner{
  width:min(1160px,calc(100% - 40px));
  min-height:82px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.brand img{display:block;width:170px;height:auto}
.home-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:94px;
  padding:10px 18px;
  border:1px solid rgba(245,130,32,.65);
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
  text-decoration:none;
}
.application-hero{padding:66px 0 36px}
.hero-card{
  position:relative;
  overflow:hidden;
  width:100%;
  padding:48px 52px 52px;
  border:1px solid var(--line);
  border-radius:30px;
  background:
    radial-gradient(circle at 88% 20%,rgba(245,130,32,.18),transparent 28%),
    linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.016));
  box-shadow:var(--shadow);
}
.hero-card::after{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  right:-90px;
  bottom:-160px;
  border-radius:50%;
  border:1px solid rgba(245,130,32,.14);
  box-shadow:0 0 0 30px rgba(245,130,32,.03),0 0 0 62px rgba(245,130,32,.018);
}
.hero-topline{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:30px;
}
.hero-badge{
  padding:7px 12px;
  border:1px solid rgba(245,130,32,.4);
  border-radius:999px;
  background:rgba(245,130,32,.11);
  color:var(--orange-light);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.13em;
}
.hero-location{
  color:rgba(255,255,255,.5);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.12em;
}
.hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.9fr);
  gap:125px;
  align-items:center;
}
.hero-grid h1{
  margin:0;
  font-size:clamp(3rem,6vw,5.7rem);
  line-height:.94;
  letter-spacing:-.065em;
  font-weight:900;
}
.orange-rule{
  width:86px;
  height:5px;
  margin-top:24px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--orange),var(--orange-light));
}
.hero-copy{
  max-width:520px;
  margin-left:auto;
}

.hero-copy p{
  margin:0;
  color:#d2d2d8;
  font-size:clamp(.95rem,1.2vw,1.05rem);
  line-height:1.9;
}
.application-body{padding:38px 0 90px}
.form-intro{max-width:920px;margin:0 auto 26px}
.eyebrow{
  margin:0 0 8px;
  color:var(--orange);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.14em;
}
.form-intro h2{
  margin:0 0 12px;
  font-size:clamp(1.7rem,3vw,2.55rem);
}
.form-intro p{margin:4px 0;color:var(--muted)}
.form-card{max-width:920px;margin:0 auto}
.form-card form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 22px;
  padding:clamp(24px,4vw,44px);
  border:1px solid var(--line);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(22,22,28,.97),rgba(13,13,17,.98));
  box-shadow:var(--shadow);
}
.form-card form > p,
.form-card form > .form-section-title,
.form-card form > input[type="submit"]{grid-column:1/-1}
.form-section-title{
  margin:38px 0 20px;
  padding:13px 16px;
  border-left:4px solid var(--orange);
  border-radius:10px;
  background:linear-gradient(90deg,rgba(245,130,32,.16),rgba(245,130,32,.025));
  color:#fff;
  font-size:.82rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.form-group{margin-bottom:18px}
.form-group label{
  display:block;
  margin-bottom:8px;
  color:#f1f1f4;
  font-size:.84rem;
  font-weight:700;
}
input[type="text"],input[type="email"],input[type="tel"],input[type="date"],textarea,select{
  width:100%;
  min-height:50px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:12px;
  outline:none;
  background:#0c0c10;
  color:#fff;
  font:inherit;
}
input:focus,textarea:focus,select:focus{
  border-color:var(--orange);
  box-shadow:0 0 0 4px rgba(245,130,32,.12);
}
input[type="checkbox"]{
  width:19px;
  height:19px;
  margin:2px 10px 0 0;
  accent-color:var(--orange);
}
.form-group:has(input[type="checkbox"]){
  display:flex;
  align-items:flex-start;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:#0e0e12;
}
.form-group:has(input[type="checkbox"]) label{margin:0}
.form-card form > p{color:var(--muted);font-size:.9rem}
input[type="submit"]{
  min-height:56px;
  margin-top:20px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,var(--orange),var(--orange-light));
  color:#111;
  font-size:1rem;
  font-weight:900;
  cursor:pointer;
}
.site-footer{
  padding:28px 0 40px;
  border-top:1px solid var(--line);
  color:#85858e;
  font-size:.78rem;
}
@media (max-width:850px){
  .application-hero{padding-top:42px}
  .hero-card{padding:32px 28px 34px}
  .hero-grid{grid-template-columns:1fr;gap:28px}
  .hero-grid h1{font-size:clamp(3rem,12vw,4.5rem)}
  .form-card form{grid-template-columns:1fr}
  .form-card form > *{grid-column:1/-1}
}
@media (max-width:560px){
  .page-shell,.site-header-inner{width:min(100% - 24px,1160px)}
  .site-header-inner{min-height:70px}
  .brand img{width:142px}
  .home-btn{min-width:74px;padding:8px 12px;font-size:.7rem}
  .application-hero{padding:28px 0 22px}
  .hero-card{padding:24px 20px 26px;border-radius:22px}
  .hero-topline{align-items:flex-start;flex-direction:column;gap:9px}
  .hero-grid{gap:22px}
  .hero-copy p{font-size:.9rem;line-height:1.72}
  .application-body{padding:28px 0 60px}
  .form-card form{padding:20px 15px 26px;border-radius:20px}
  .form-section-title{margin-top:30px;font-size:.72rem}
  input[type="text"],input[type="email"],input[type="tel"],input[type="date"],textarea,select{font-size:16px}
}

/* Improved readability for long form copy */
.form-card form > p{
  max-width:100%;
  margin:4px 0 26px;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.9;
  letter-spacing:.005em;
}

/* Give long legal/consent sections more breathing room */
.form-section-title + p{
  padding:2px 4px 0;
}

@media (max-width:560px){
  .form-card form > p{
    font-size:.9rem;
    line-height:1.78;
    margin-bottom:22px;
  }
}

/* Long legal/consent copy: use the full form width like AT-WILL EMPLOYMENT */
.form-card form > p {
  grid-column: 1 / -1;
  width: 100%;
  max-width: none;
  margin: 4px 0 24px;
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.9;
}

/* FIX: the HTML contains an outer .form-group wrapping the legal sections.
   Make that wrapper span both grid columns so BACKGROUND CONSENT matches AT-WILL. */
.form-card form > .form-group:has(.form-section-title){
  grid-column:1 / -1;
  width:100%;
}

.form-card form > .form-group:has(.form-section-title) > p,
.form-card form > .form-group:has(.form-section-title) > .form-section-title{
  width:100%;
  max-width:none;
}

/* Legal sections: keep signature/date fields compact */
.form-card form > .form-group:has(.form-section-title) .form-group{
  max-width:360px;
}

/* Submit button: match the site's wide pill buttons */
.form-card input[type="submit"]{
  width:100%;
  max-width:360px;
  min-height:52px;
  padding:0 28px;
  margin-top:10px;
  justify-self:start;
  border:1px solid var(--orange);
  border-radius:999px;
  background:linear-gradient(135deg,var(--orange),var(--orange-light));
  color:#111;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:.92rem;
  font-weight:900;
  cursor:pointer;
}
