/* SabiHire homepage: an editorial job board, using the existing brand palette. */
.home-page { background:#fffdf9; }
.home-page .container { max-width:1180px; }
.home-page h1,.home-page h2,.home-page h3 { text-transform:none; letter-spacing:normal; }
.home-page .site-header { background:#560a10; }
.home-page .nav-links a { font-size:.78rem; }
.home-page .home-eyebrow { font-size:.7rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--red); margin:0 0 12px; }
.home-page a { text-underline-offset:4px; }
.home-page a:focus-visible,.home-page button:focus-visible,.home-page input:focus-visible,.home-page select:focus-visible { outline:2px solid var(--red); outline-offset:4px; }
.home-skip { position:absolute; left:16px; top:-100px; z-index:200; background:white; padding:12px; }
.home-skip:focus { top:10px; }
.home-intro { position:relative; overflow:hidden; padding:28px 0 42px; border-bottom:1px solid var(--line); background:#f7f3eb; }
.home-intro-top { position:relative; z-index:1; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.home-intro-top .home-eyebrow { margin:0; }
.home-intro-top > a { font-size:.76rem; color:var(--ink-soft); }
.home-intro-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); gap:48px; align-items:center; margin:36px 0 0; }
.home-intro-copy { position:relative; z-index:1; max-width:680px; padding:18px 0 30px; }
.home-page .home-intro h1 { font-family:"Lora",Georgia,serif; font-weight:400; font-size:clamp(3rem,4.4vw,4.4rem); line-height:1.02; letter-spacing:-.055em; color:var(--ink); }
.home-intro h1 em { color:var(--red); font-style:normal; font-weight:400; }
.home-intro-copy > p { max-width:530px; font-size:1rem; line-height:1.85; color:var(--ink-soft); margin-top:22px; }
.home-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px 24px; margin-top:26px; }
.home-hero-actions .btn { min-height:50px; padding:0 22px; border-radius:3px; }
.home-hero-actions > span { color:var(--muted); font-size:.76rem; }
.home-hero-secondary { color:var(--ink); font-size:.8rem; font-weight:600; text-decoration:underline; }
.home-search { position:relative; z-index:3; grid-column:1 / -1; display:grid; grid-template-columns:1.7fr 1fr auto; gap:0; max-width:none; margin-top:0; background:white; border:1px solid #bdafa0; border-radius:5px; padding:8px; box-shadow:0 16px 45px rgba(34,21,18,.1); }
.home-spotlight-wrap { align-self:center; padding:18px 20px 20px; background:#fffdfa; border:1px solid #dfd3c3; border-top:3px solid var(--red); box-shadow:0 12px 32px rgba(34,21,18,.07); }
.home-spotlight-label { display:flex; align-items:center; gap:9px; color:var(--red); font-size:.66rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.home-spotlight-label span { color:var(--gold-text); font-size:1rem; }
.home-spotlight-card { padding-top:20px; }
.home-spotlight-meta { display:flex; justify-content:space-between; gap:10px; color:var(--gold-text); font-size:.65rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.home-spotlight-meta time { color:var(--muted); font-weight:500; letter-spacing:0; white-space:nowrap; }
.home-spotlight-company { color:var(--ink-soft); font-size:.8rem; margin:16px 0 8px; }
.home-page .home-spotlight-card h2 { font-family:"Lora",Georgia,serif; font-size:1.5rem; line-height:1.3; font-weight:500; letter-spacing:-.02em; }
.home-spotlight-card h2 a:hover { color:var(--red); text-decoration:underline; }
.home-spotlight-facts { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:18px; padding:12px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--ink-soft); font-size:.72rem; }
.home-spotlight-facts span + span::before { content:"·"; color:var(--gold-text); margin-right:18px; }
.home-spotlight-bottom { display:flex; justify-content:space-between; align-items:center; gap:12px; padding-top:16px; font-size:.75rem; }
.home-spotlight-bottom strong { font-weight:600; }
.home-spotlight-bottom a,.home-spotlight-empty a { color:var(--red); font-weight:700; white-space:nowrap; }
.home-spotlight-loading,.home-spotlight-empty { min-height:190px; display:flex; flex-direction:column; justify-content:center; gap:10px; color:var(--ink-soft); font-size:.8rem; }
.home-search > div { min-width:0; padding:4px 16px; }
.home-search-keyword { border-right:1px solid var(--line); }
.home-search label { display:block; font-size:.65rem; font-weight:600; color:var(--ink-soft); margin-bottom:2px; }
.home-search input,.home-search select { width:100%; border:0; border-radius:0; padding:5px 0; background:transparent; color:var(--ink); font:inherit; font-size:.88rem; box-shadow:none; min-height:32px; }
.home-search .btn { min-height:56px; font-size:.85rem; gap:20px; border-radius:3px; }
.home-quick { position:relative; z-index:1; display:flex; flex-wrap:wrap; align-items:center; gap:8px 22px; margin-top:14px; font-size:.74rem; }
.home-quick > span { color:var(--muted); }
.home-quick a { color:var(--ink-soft); text-decoration:underline; padding:4px 0; }
.home-board { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:48px; padding-top:48px; padding-bottom:48px; align-items:start; }
.home-section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; }
.home-page .home-section-heading h2 { font-family:"Lora",Georgia,serif; font-weight:400; font-size:2rem; line-height:1.2; letter-spacing:-.025em; }
.home-section-heading > a { color:var(--red); font-size:.78rem; font-weight:600; white-space:nowrap; padding:8px 0; }
.home-board-note { font-size:.7rem; color:var(--muted); margin:12px 0 20px; }
.home-vacancies { border-top:2px solid var(--ink); }
.home-vacancy { padding:22px 0; border-bottom:1px solid var(--line); }
.home-vacancy-top { display:flex; align-items:center; gap:12px; font-size:.72rem; color:var(--ink-soft); }
.home-vacancy-top time { margin-left:auto; white-space:nowrap; color:var(--muted); }
.home-company { overflow-wrap:anywhere; }
.home-featured-label { background:var(--gold-pale); color:var(--gold-text); padding:2px 7px; font-size:.62rem; white-space:nowrap; }
.home-page .home-vacancy h3 { font-size:1.05rem; line-height:1.5; font-weight:700; margin:8px 0 10px; }
.home-vacancy h3 a { color:var(--ink); }
.home-vacancy h3 a:hover { color:var(--red); text-decoration:underline; }
.home-vacancy-details { display:flex; flex-wrap:wrap; gap:6px 0; font-size:.73rem; color:var(--ink-soft); }
.home-vacancy-details span + span::before { content:'·'; padding:0 10px; }
.home-vacancy-bottom { display:flex; flex-wrap:wrap; gap:8px 18px; align-items:center; margin-top:12px; font-size:.7rem; }
.home-vacancy-bottom strong { font-weight:600; }
.home-vacancy-bottom > span { color:var(--muted); }
.home-vacancy-bottom > a { margin-left:auto; font-weight:600; color:var(--red); padding:4px 0; }
.home-board-bottom { padding-top:24px; }
.home-board-bottom .btn { font-size:.8rem; border-radius:3px; }
.home-sidebar { border-left:1px solid var(--line); padding-left:24px; }
.home-sidebar section { padding-bottom:28px; }
.home-sidebar section + section { border-top:1px solid var(--line); padding-top:24px; }
.home-page .home-sidebar h2 { font-family:"Lora",Georgia,serif; font-size:1.5rem; font-weight:400; line-height:1.3; margin-bottom:16px; }
.home-sidebar p:not(.home-eyebrow) { font-size:.77rem; color:var(--ink-soft); line-height:1.85; margin-bottom:16px; }
.home-sidebar a { color:var(--red); font-size:.76rem; font-weight:600; }
.home-browse { background:#f7f3eb; padding:42px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.home-browse-columns { display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-top:28px; }
.home-page .home-browse h3 { font-size:.77rem; font-weight:700; margin-bottom:10px; }
.home-browse-links { display:grid; grid-template-columns:1fr 1fr; gap:0 28px; }
.home-browse-links a { border-bottom:1px solid var(--line); padding:13px 0; font-size:.78rem; display:flex; justify-content:space-between; gap:12px; }
.home-browse-links a:hover { color:var(--red); }
.home-browse-links span { color:var(--red); }
.home-how { display:grid; grid-template-columns:1fr 1.7fr; gap:60px; padding-top:48px; padding-bottom:48px; }
.home-page .home-how h2 { font-family:"Lora",Georgia,serif; font-weight:400; font-size:2rem; line-height:1.25; margin-bottom:22px; }
.home-how > div > a { font-size:.76rem; color:var(--red); font-weight:600; }
.home-how ol { list-style:none; padding:0; }
.home-how li { display:flex; gap:22px; padding:0 0 20px; margin-bottom:20px; border-bottom:1px solid var(--line); }
.home-how li:last-child { border:0; margin:0; padding:0; }
.home-how li > span { font-family:"Lora",Georgia,serif; color:var(--gold-text); font-size:1.3rem; }
.home-page .home-how h3 { font-size:.9rem; margin-bottom:5px; }
.home-how li p { font-size:.78rem; color:var(--ink-soft); line-height:1.8; }
.home-updates { padding:44px 0; border-top:1px solid var(--line); }
.home-updates .home-section-heading h2 { max-width:650px; }
.home-update-columns { display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-top:28px; }
.home-email > h3 { font-size:1.05rem; margin-bottom:10px; }
.home-email p { font-size:.78rem; line-height:1.8; color:var(--ink-soft); margin-bottom:18px; }
.home-email .newsletter-form { display:block; }
.home-email .newsletter-form label { display:block; font-size:.72rem; margin-bottom:6px; }
.home-email .newsletter-form > div { display:flex; gap:8px; }
.home-email input { min-width:0; width:100%; font-size:.8rem; }
.home-email .btn { white-space:nowrap; border-radius:3px; font-size:.73rem; }
.home-page .whatsapp-community { background:transparent; border:0; border-left:1px solid var(--line); border-radius:0; padding:0 0 0 30px; }
.home-page .whatsapp-community h2 { font-size:1.05rem; line-height:1.5; }
.home-page .whatsapp-community p { font-size:.78rem; }
.home-page .whatsapp-community .whatsapp-note { font-size:.66rem; }
.home-page .whatsapp-join { border-radius:3px; font-size:.76rem; }
.home-load-message { padding:32px 0; font-size:.85rem; color:var(--ink-soft); }
.home-load-message .btn { margin-top:16px; }
@media(max-width:1000px) { .home-board { gap:28px; grid-template-columns:minmax(0,1fr) 230px; } }
@media(max-width:760px) {
 .home-intro { padding-top:24px; }
 .home-intro-top { align-items:start; }
 .home-intro-top > a { max-width:140px; text-align:right; }
 .home-intro-grid { grid-template-columns:1fr; gap:22px; margin-top:28px; }
 .home-intro-copy { max-width:720px; padding:12px 0 0; }
 .home-spotlight-wrap { max-width:560px; }
 .home-search { order:2; }
 .home-spotlight-wrap { order:3; }
 .home-page .home-intro h1 { font-size:clamp(2.8rem,8vw,4rem); }
 .home-intro-copy > p { font-size:.85rem; }
 .home-search { grid-template-columns:1fr; padding:12px; gap:10px; margin-top:0; }
 .home-search > div { padding:4px 8px; }
 .home-search-keyword { border:0; border-bottom:1px solid var(--line); padding-bottom:12px !important; }
 .home-search input,.home-search select { min-height:40px; font-size:.9rem; }
 .home-search .btn { min-height:48px; }
 .home-quick { gap:8px 18px; }
 .home-board { grid-template-columns:1fr; padding-top:32px; padding-bottom:32px; }
 .home-sidebar { display:grid; grid-template-columns:1fr 1fr; gap:24px; border:0; padding:24px 0 0; border-top:1px solid var(--line); }
 .home-sidebar section + section { border:0; padding-top:0; }
 .home-browse-columns,.home-how,.home-update-columns { grid-template-columns:1fr; gap:28px; }
 .home-how { padding-top:32px; padding-bottom:32px; }
 .home-how h2 br { display:none; }
 .home-page .whatsapp-community { border-left:0; border-top:1px solid var(--line); padding:24px 0 0; }
}
@media(max-width:560px) {
 .home-intro-copy { padding:12px 0 0; }
 .home-page .home-intro h1 { font-size:clamp(2.8rem,11.5vw,4rem); }
 .home-intro-copy > p { margin-top:15px; }
 .home-search { margin-top:0; }
}

@media(max-width:420px) {
 .home-sidebar { grid-template-columns:1fr; gap:0; }
 .home-sidebar section + section { border-top:1px solid var(--line); padding-top:24px; }
 .home-section-heading { align-items:start; }
 .home-section-heading > a { font-size:.68rem; }
 .home-page .home-section-heading h2 { font-size:1.65rem; }
 .home-email .newsletter-form > div { flex-direction:column; }
 .home-vacancy-bottom > a { margin-left:0; }
 .home-vacancy-bottom > span { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .home-page * { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }

.home-sidebar p:not(.home-eyebrow),.home-how li p,.home-email p,.home-page .whatsapp-community p { font-size:.9rem; }
