/* CENTURY 21 Action Plus Realty - matches careers.actionplusrealty.com */
:root { --accent:#BEAF87; --accent-light:#DED7C3; --dark:#252526; --ink:#1c1c1c; --muted:#6b6b6b; --rule:#e4e4e4; --paper:#f7f7f7; --gutter:4vw;
        --font:'Montserrat','Segoe UI',Helvetica,Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:var(--font); font-size:16px; line-height:1.65; color:var(--ink); background:#fff; -webkit-font-smoothing:antialiased; }
a { color:var(--dark); text-decoration:none; }
a:hover { text-decoration:underline; }
h1,h2,h3 { font-family:var(--font); font-weight:700; color:var(--dark); line-height:1.2; margin:0; }
p { margin:0 0 1em; }
ul { margin:0 0 1.2em; padding-left:1.25em; }
li { margin:.3em 0; }
.wrap { max-width:1440px; margin:0 auto; padding:0 var(--gutter); }

/* header - dark bar like the site */
.site-header { background:var(--dark); }
.header-row { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px var(--gutter); }
.logo img { display:block; height:60px; width:auto; }
.site-nav { display:flex; align-items:center; gap:28px; font-size:1.25rem; font-weight:500; }
.site-nav a { color:#F4F4F6; }
.site-nav a:hover { color:var(--accent-light); text-decoration:none; }
.nav-apply, .btn-gold { color:#000 !important; background:var(--accent); padding:10px 22px; border-radius:6px; font-weight:700; display:inline-block; font-size:1rem; }
.nav-apply:hover, .btn-gold:hover { text-decoration:none; background:var(--accent-light); }

/* apply - full-screen slide-down, dark like the form expects */
.apply-panel { position:fixed; top:0; left:0; right:0; bottom:0; z-index:30; background:var(--dark); overflow:auto;
  transform:translateY(-105%); transition:transform .3s ease; }
body.apply-open .apply-panel { transform:translateY(0); }
.apply-backdrop { position:fixed; inset:0; z-index:25; background:rgba(0,0,0,.35); opacity:0; pointer-events:none; transition:opacity .3s; }
body.apply-open .apply-backdrop { opacity:1; pointer-events:auto; }
.apply-inner { position:relative; max-width:960px; margin:0 auto; padding:56px 24px 40px; }
.apply-close { position:absolute; top:14px; right:20px; border:0; background:none; font:inherit; font-size:34px; line-height:1; color:#cfcabb; cursor:pointer; padding:0 4px; }
.apply-close:hover { color:#fff; }
.apply-inner iframe { width:100%; height:560px; border:0; display:block; background:transparent; transition:height .2s; }

/* hero - photo background like the careers home */
.hero { background:#252526 url(images/hero.jpg) center 22%/cover no-repeat; color:#fff; position:relative; }
.hero::before { display:none; }
.hero > .wrap { position:relative; }
.hero-kicker { color:#fff; font-size:1.05rem; margin:0 0 10px; text-shadow:0 1px 6px #000; }
.hero h1 { color:#fff; font-size:3rem; text-transform:uppercase; letter-spacing:.01em; text-shadow:5px 2px 15px #000; margin-bottom:18px; }
.hero .facts span { background:rgba(0,0,0,.6); border-color:transparent; color:#fff; }
.hero-full .wrap { padding-top:110px; padding-bottom:110px; }


.facts { display:flex; gap:8px; flex-wrap:wrap; margin:0; }
.facts span { display:inline-block; padding:6px 14px; border:1px solid var(--rule); border-radius:999px; font-size:14px; font-weight:600; color:var(--dark); background:var(--paper); }

/* assessment - always full width */
.assess { margin:32px 0 36px; border:1px solid var(--rule); border-top:4px solid var(--accent); border-radius:0 0 8px 8px; padding:12px 16px; }
.assess iframe { width:100%; height:520px; border:0; display:block; transition:height .2s; }

/* description */
.job-body { max-width:800px; padding-top:32px; }
.job-body h2 { font-size:1.25rem; margin:1.8em 0 .5em; padding-bottom:.35em; border-bottom:2px solid var(--accent); }
.job-body h2:first-child { margin-top:.2em; }
.job-body b { color:var(--dark); }
.job-body.columns { max-width:none; padding-top:0; column-count:2; column-gap:5vw; column-rule:1px solid var(--rule); }
.job-body.columns h2 { break-after:avoid; }
.job-body.columns p, .job-body.columns ul { break-inside:avoid; }

/* cta band */
.cta-band { margin:32px 0 56px; background:var(--dark); color:#F4F4F6; border-radius:8px; padding:20px 24px; display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; font-size:1.1rem; }

/* title strip (layout B, listing) - like the Schmidt pages */
.title-strip { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; padding:36px 0 8px; }
.kicker { color:var(--muted); font-size:1.05rem; margin:0 0 6px; }
.title-strip h1 { font-size:2.3rem; }
.title-strip .facts { margin-bottom:6px; }
.job-table { width:100%; border-collapse:collapse; margin:8px 0 56px; }
.job-table th, .job-table td { text-align:left; padding:13px 10px; border-bottom:1px solid var(--rule); vertical-align:top; }
.job-table th { color:var(--muted); font-weight:600; font-size:14px; }
.job-table td a { font-weight:600; }

/* footer - dark like the site */
.site-footer { background:var(--dark); color:#F4F4F6; padding:44px 0 28px; }
.footer-row { display:flex; justify-content:space-between; align-items:center; gap:28px; flex-wrap:wrap; }
.footer-phone { color:#fff; font-size:1.6rem; }
.footer-nav { display:flex; gap:24px; flex-wrap:wrap; font-size:1.1rem; }
.footer-nav a { color:#F4F4F6; }
.footer-nav a:hover { color:var(--accent-light); text-decoration:none; }
.site-footer a img { height:44px; width:auto; display:block; }
.footer-copy { margin-top:22px; color:#9a9a9a; font-size:14px; }
.footer-copy a { color:#cfcabb; }

@media (max-width:1000px) {
  .job-body.columns { column-count:1; }
  .site-nav { font-size:1rem; gap:16px; flex-wrap:wrap; }
}
@media (max-width:720px) {
  .header-row { flex-direction:column; align-items:flex-start; gap:12px; }
  .logo img { height:46px; }
  .hero h1 { font-size:1.9rem; }
  .hero-full .wrap { padding-top:36px; padding-bottom:36px; }
  .footer-row { flex-direction:column; align-items:flex-start; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .apply-panel,.apply-backdrop { transition:none; } }
