/*
 * rem-apply.css -- Real Estate Moguls Application Page
 * Brand-adapted from the original realestatemoguls.co/apply/ layout.
 */

.rem-apply-page { -webkit-font-smoothing: antialiased; }

/* HERO */
.rem-apply-page .hero { position:relative; height:800px; overflow:hidden; }
.rem-apply-page .hero img { width:100%; height:100%; object-fit:cover; object-position:center 25%; display:block; }
.rem-apply-page .hero-ov { position:absolute; inset:0; background:linear-gradient(100deg,rgba(13,27,42,.94) 0%,rgba(13,27,42,.70) 42%,rgba(13,27,42,.14) 100%); display:flex; align-items:center; padding:0 80px; }
.rem-apply-page .hero-box { max-width:660px; padding-top:200px; }
.rem-apply-page .hero-eye { font-family:var(--font-body); font-size:13px; font-weight:700; letter-spacing:.28em; text-transform:uppercase; color:var(--primary); margin-bottom:22px; display:block; }
.rem-apply-page .hero-box h1 { font-family:var(--font-display); font-size:clamp(38px,5.8vw,68px); font-weight:800; line-height:1.06; color:#fff; margin:0 0 24px; letter-spacing:-.025em; }
.rem-apply-page .hero-box h1 em { font-style:normal; color:var(--primary); }

@media (min-width: 769px) {
  .rem-apply-page .hero-box h1 {
    font-size: clamp(36px, 5vw, 62px);
  }
}
.rem-apply-page .hero-box p { font-family:var(--font-body); font-size:20px; color:rgba(255,255,255,.78); line-height:1.75; margin-bottom:0; max-width:520px; }

/* CLARITY BAR */
.rem-apply-page .sel { background:#fff; border-bottom:1px solid #E2E5E9; padding:22px 40px; font-family:var(--font-body); font-size:18px; color:#4A5568; }
.rem-apply-page .sel strong { color:var(--authority,#0D1B2A); }

/* SECTIONS */
.rem-apply-page .sec { padding:90px 40px; }
.rem-apply-page .sec-alt { padding:90px 40px; background:var(--background,#F2F4F7); }
.rem-apply-page .sec-dark { padding:90px 40px; background:var(--authority,#0D1B2A); }
.rem-apply-page .inn { max-width:1100px; margin:0 auto; }
.rem-apply-page .mid-w { max-width:840px; margin:0 auto; }
.rem-apply-page .nrw { max-width:700px; margin:0 auto; }

/* TYPOGRAPHY */
.rem-apply-page .eye { font-family:var(--font-body); font-size:13px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--primary); display:block; margin-bottom:14px; }
.rem-apply-page .eye-lt { color:rgba(41,171,226,.8); }
.rem-apply-page h2 { font-family:var(--font-display); font-size:clamp(30px,4vw,50px); font-weight:800; line-height:1.1; color:var(--authority,#0D1B2A); margin:0 0 20px; letter-spacing:-.02em; }
.rem-apply-page h2 em { font-style:normal; color:var(--primary); }
.rem-apply-page h2.lt { color:#fff; }
.rem-apply-page .body { font-family:var(--font-body); font-size:20px; color:#4A5568; line-height:1.75; }
.rem-apply-page .body-lt { font-family:var(--font-body); font-size:20px; color:rgba(255,255,255,.65); line-height:1.75; }
.rem-apply-page .pull { font-family:var(--font-display); font-size:clamp(20px,2.6vw,26px); font-weight:700; color:var(--authority,#0D1B2A); line-height:1.3; border-left:4px solid var(--primary); padding:6px 0 6px 24px; margin:28px 0; }
.rem-apply-page .pull-lt { font-family:var(--font-display); font-size:clamp(18px,2.2vw,22px); font-weight:700; font-style:italic; color:var(--primary); line-height:1.4; margin:28px 0; text-align:center; }

/* TRACK CARDS */
.rem-apply-page .track-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:48px; }
.rem-apply-page .track-card { border-top:4px solid var(--primary); padding:36px 32px; background:var(--background,#F2F4F7); border-radius:0 0 6px 6px; }
.rem-apply-page .track-tag { font-family:var(--font-body); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--primary); margin-bottom:14px; display:block; }
.rem-apply-page .track-card h3 { font-family:var(--font-display); font-size:clamp(28px,3.5vw,38px); font-weight:800; color:var(--authority,#0D1B2A); margin:0 0 16px; line-height:1.1; letter-spacing:-.02em; }
.rem-apply-page .track-card h3 em { font-style:normal; color:var(--primary); }
.rem-apply-page .track-card p { font-family:var(--font-body); font-size:20px; color:#4A5568; line-height:1.75; margin-bottom:24px; }
.rem-apply-page .track-list { display:flex; flex-direction:column; gap:10px; margin-bottom:0; }
.rem-apply-page .track-item { display:flex; align-items:flex-start; gap:10px; font-family:var(--font-body); font-size:17px; color:#4A5568; line-height:1.55; }
.rem-apply-page .track-dot { width:6px; height:6px; border-radius:50%; background:var(--primary); flex-shrink:0; margin-top:6px; }

/* CRITERIA GRID */
.rem-apply-page .criteria-grid { display:grid; grid-template-columns:1fr 1fr; gap:3px; margin-top:48px; background:#E2E5E9; border:1px solid #E2E5E9; }
.rem-apply-page .criteria-cell { background:#fff; padding:36px 32px; }
.rem-apply-page .criteria-num { font-family:var(--font-display); font-size:44px; font-weight:800; color:rgba(41,171,226,.12); line-height:1; margin-bottom:14px; letter-spacing:-.03em; }
.rem-apply-page .criteria-title { font-family:var(--font-display); font-size:22px; font-weight:800; color:var(--authority,#0D1B2A); margin-bottom:10px; letter-spacing:-.01em; }
.rem-apply-page .criteria-body { font-family:var(--font-body); font-size:18px; color:#4A5568; line-height:1.78; }

/* HOST GRID */
.rem-apply-page .host-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:3px; margin-top:48px; }
.rem-apply-page .host-card { position:relative; overflow:hidden; height:280px; }
.rem-apply-page .host-card img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s; }
.rem-apply-page .host-card:hover img { transform:scale(1.05); }
.rem-apply-page .host-card-ov { position:absolute; inset:0; background:linear-gradient(to top,rgba(13,27,42,.78) 0%,transparent 55%); display:flex; align-items:flex-end; padding:22px; }
.rem-apply-page .host-card-label { font-family:var(--font-display); font-size:14px; font-weight:700; color:#fff; line-height:1.3; }
.rem-apply-page .host-card-sub { font-family:var(--font-body); font-size:12px; color:var(--primary); margin-top:2px; }

/* IMAGE ROWS */
.rem-apply-page .imgrow { display:grid; grid-template-columns:repeat(3,1fr); }
.rem-apply-page .imgrow-i { overflow:hidden; }
.rem-apply-page .imgrow-i img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s; }
.rem-apply-page .imgrow-i:hover img { transform:scale(1.04); }
.rem-apply-page .imgrow-tall .imgrow-i { height:320px; }
.rem-apply-page .imgrow-short .imgrow-i { height:240px; }

/* SPLIT */
.rem-apply-page .split { display:grid; grid-template-columns:1fr 1fr; align-items:stretch; }
.rem-apply-page .split-img { overflow:hidden; min-height:480px; }
.rem-apply-page .split-img img { width:100%; height:100%; object-fit:cover; display:block; }
.rem-apply-page .split-copy { padding:72px 64px; display:flex; flex-direction:column; justify-content:center; }
.rem-apply-page .split-copy.alt { background:var(--background,#F2F4F7); }
.rem-apply-page .spts { margin-top:28px; display:flex; flex-direction:column; gap:22px; }
.rem-apply-page .spt { padding-left:18px; border-left:3px solid var(--primary); }
.rem-apply-page .spt h5 { font-family:var(--font-display); font-size:18px; font-weight:700; color:var(--authority,#0D1B2A); margin:0 0 5px; }
.rem-apply-page .spt p { font-family:var(--font-body); font-size:15px; color:#4A5568; line-height:1.65; margin:0; }

/* PROGRESS GRID */
.rem-apply-page .prog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:48px; }
.rem-apply-page .prog-card { padding:36px 32px; border-right:1px solid rgba(41,171,226,.2); }
.rem-apply-page .prog-card:last-child { border-right:none; }
.rem-apply-page .prog-num { font-family:var(--font-display); font-size:48px; font-weight:800; color:rgba(41,171,226,.15); line-height:1; margin-bottom:16px; letter-spacing:-.03em; }
.rem-apply-page .prog-card h4 { font-family:var(--font-display); font-size:20px; font-weight:700; color:#fff; margin:0 0 10px; }
.rem-apply-page .prog-tag { font-family:var(--font-body); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--primary); margin-bottom:12px; display:block; }
.rem-apply-page .prog-card p { font-family:var(--font-body); font-size:17px; color:rgba(255,255,255,.6); line-height:1.7; margin:0; }

/* FORM SECTION */
.rem-apply-page .form-sec { background:var(--authority,#0D1B2A); border-top:5px solid var(--primary); padding:90px 40px; }
.rem-apply-page .form-inner { max-width:760px; margin:0 auto; }
.rem-apply-page .form-head { margin-bottom:48px; }
.rem-apply-page .form-head h2 { color:#fff; margin-bottom:16px; }
.rem-apply-page .form-head p { font-family:var(--font-body); font-size:20px; color:rgba(255,255,255,.62); line-height:1.75; }

/* RESPONSIVE */
@media(max-width:960px){
  .rem-apply-page .hero-ov{padding:0 36px;}
  .rem-apply-page .sec,.rem-apply-page .sec-alt,.rem-apply-page .sec-dark,.rem-apply-page .form-sec{padding:64px 24px;}
  .rem-apply-page .sel{padding:18px 24px;}
  .rem-apply-page .split{grid-template-columns:1fr;}
  .rem-apply-page .split-img{min-height:300px;}
  .rem-apply-page .split-copy{padding:44px 28px;}
  .rem-apply-page .track-grid,.rem-apply-page .criteria-grid{grid-template-columns:1fr;}
  .rem-apply-page .prog-grid{grid-template-columns:1fr;}
  .rem-apply-page .prog-card{border-right:none;border-bottom:1px solid rgba(41,171,226,.2);padding:28px 0;}
  .rem-apply-page .prog-card:last-child{border-bottom:none;}
  .rem-apply-page .imgrow{grid-template-columns:1fr 1fr;}
  .rem-apply-page .imgrow-i:last-child{display:none;}
  .rem-apply-page .host-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  .rem-apply-page .hero{height:580px;}
  .rem-apply-page .hero-ov{padding:0 24px;}
  .rem-apply-page .hero-box h1{font-size:36px;}
  .rem-apply-page .hero-box p{font-size:18px;}
  .rem-apply-page .imgrow{grid-template-columns:1fr;}
  .rem-apply-page .imgrow-i{display:block!important;}
  .rem-apply-page .host-grid{grid-template-columns:1fr;}
  .rem-apply-page .host-card{height:240px;}
  .rem-apply-page .track-grid{grid-template-columns:1fr;}
  .rem-apply-page .criteria-grid{grid-template-columns:1fr;}
}
