/* OverlandAgro, part 1: global header and Home Hero only. */
:root {
    --overland-red:#D90416;
    --overland-green:#173A24;
    --overland-graphite:#171717;
    --overland-warm-white:#F7F6F2;
    --overland-white:#FFFFFF;
    --overland-gray:#666A67;
}
html { scroll-padding-top:var(--header-offset,120px); }
body.is-inner-page { padding-top:var(--header-offset,120px); }
body.has-institutional-header-bg {
    background-image:linear-gradient(var(--overland-warm-white), var(--overland-warm-white));
    background-size:100% var(--header-offset,120px);
    background-repeat:no-repeat;
}
.skip-link { z-index:1000; }
.site-header {
    position:fixed;
    z-index:100;
    top:24px;
    left:50%;
    transform:translateX(-50%);
    width:74%;
    max-width:1320px;
    border:0;
    border-radius:999px;
    background:var(--overland-white);
    color:var(--overland-graphite);
    /* The inset 1px edge follows the radius without changing the bar's dimensions. */
    box-shadow:0 10px 30px rgba(23,58,36,.12), inset 0 0 0 1px rgba(23,58,36,.12);
}
.site-header.header--scrolled {
    box-shadow:0 12px 34px rgba(23,58,36,.16), inset 0 0 0 1px rgba(23,58,36,.12);
}
.site-header .header-inner {
    width:100%;
    max-width:none;
    min-height:70px;
    padding:10px 24px 10px 30px;
    gap:16px 28px;
    flex-wrap:nowrap;
}
.site-header .brand { flex:0 1 190px; max-width:190px; }
.site-header .brand-logo { width:auto; max-width:180px; height:auto; max-height:46px; object-fit:contain; }
.site-header .brand-copy { font-size:.95rem; line-height:1.25; }
.site-header .brand-copy small { margin-top:3px; font-size:.7rem; }
.site-header .main-nav { width:auto; display:flex; flex-wrap:nowrap; gap:clamp(20px, 2.1vw, 34px); margin-left:auto; }
.site-header .nav-link {
    position:relative;
    min-height:44px;
    padding-block:10px;
    text-decoration:none;
    font-size:.9rem;
    font-weight:600;
    white-space:nowrap;
}
.site-header .nav-link:hover, .site-header .nav-link.is-current { color:var(--action-primary); }
.site-header .nav-link.is-current::after { content:""; position:absolute; bottom:2px; left:0; right:0; margin:auto; width:20px; height:2px; background:var(--action-primary); }
.site-header .nav-cta, .home-hero .hero-cta {
    border:1px solid var(--action-primary);
    border-radius:10px;
    background:var(--action-primary);
    color:var(--overland-white);
    padding:8px 18px;
    min-height:var(--button-height,40px);
    font-weight:600;
    font-size:.875rem;
    line-height:1.25;
    text-decoration:none;
    transition:background-color .18s ease, border-color .18s ease;
}
.site-header .nav-cta { white-space:nowrap; }
.site-header .nav-cta:hover, .home-hero .hero-cta:hover { background:var(--action-primary-hover); border-color:var(--action-primary-hover); }
.site-header :focus-visible { outline:3px solid var(--action-primary); outline-offset:4px; }
.site-header .menu-toggle { display:none; }
.home-hero {
    position:relative;
    isolation:isolate;
    display:flex;
    align-items:center;
    min-height:540px;
    padding-block:100px 40px;
    margin-bottom:2rem;
    background:var(--overland-graphite);
    color:var(--overland-white);
}
.hero-slides { position:absolute; inset:0; z-index:-2; overflow:hidden; }
.home-hero .hero-slide { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; opacity:0; transition:opacity .9s ease; }
.home-hero .hero-slide.is-active { opacity:1; }
.home-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgb(0 0 0 / .76), rgb(0 0 0 / .66) 53%, rgb(0 0 0 / .56)); }
.home-hero .hero-content { width:80%; max-width:1248px; min-width:0; padding-inline:0; }
.home-hero .hero-copy { display:grid; justify-items:start; gap:20px; width:100%; max-width:820px; min-width:0; }
.home-hero .hero-copy > * { margin:0; min-width:0; }
.home-hero .hero-subtitle { max-width:650px; font-size:.875rem; line-height:1.6; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.home-hero h1 { max-width:820px; font-size:clamp(2.5rem, 4vw, 3.75rem); font-weight:750; line-height:1.05; letter-spacing:-.035em; text-wrap:balance; }
.home-hero .hero-text { max-width:570px; font-size:1rem; line-height:1.65; color:rgb(255 255 255 / .94); }
.home-hero .hero-cta { margin-top:4px; padding:10px 20px; min-height:42px; max-width:100%; text-align:center; overflow-wrap:anywhere; box-shadow:none; outline:none; }
.home-hero :focus-visible { outline:3px solid #fff; outline-offset:4px; }
.home-hero .hero-cta:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.home-hero .hero-controls { display:none; position:absolute; bottom:28px; left:0; right:0; align-items:center; gap:16px; max-width:1200px; }
.hero-enhanced .home-hero .hero-controls { display:flex; }
.hero-image-selectors { display:flex; gap:4px; }
.home-hero .hero-selector { display:inline-flex; width:40px; min-height:40px; padding:0; border:0; background:transparent; color:#fff; }
.hero-selector span { display:block; width:8px; height:8px; border:1px solid #fff; border-radius:50%; }
.hero-selector.is-active span { background:#fff; }
.home-hero .hero-pause { min-height:40px; padding:6px 12px; border:1px solid rgb(255 255 255 / .6); border-radius:999px; background:transparent; color:#fff; font-size:.75rem; }
@media (min-width:1001px) {
    .site-header .brand:has(.brand-logo) { height:50px; }
    .site-header .brand-logo { position:relative; z-index:1; max-height:130px; transform:translateX(6px); }
}
@media (max-width:1000px) and (min-width:801px) {
    .site-header { width:calc(100% - 32px); }
    .site-header .header-inner { padding-inline:22px; gap:16px; }
    .site-header .brand { flex-basis:145px; }
    .site-header .brand-logo { max-width:140px; }
    .site-header .main-nav { gap:16px; }
    .site-header .nav-link { font-size:.8rem; }
    .site-header .nav-cta { padding-inline:16px; font-size:.8rem; }
    .home-hero .hero-content { width:calc(100% - 32px); padding-inline:22px; }
}
@media (max-width:800px) {
    html { scroll-padding-top:104px; }
    body.is-inner-page { padding-top:104px; }
    body.has-institutional-header-bg { background-size:100% 104px; }
    .site-header { top:16px; width:calc(100% - 32px); border-radius:30px; max-height:calc(100svh - 32px); overflow-y:auto; }
    .site-header .header-inner { flex-wrap:wrap; min-height:68px; padding:12px 16px 12px 22px; gap:0 12px; }
    .site-header .brand { flex:1 1 auto; max-width:calc(100% - 92px); }
    .site-header .brand-logo { max-width:150px; max-height:38px; }
    .site-header .menu-toggle { margin-left:auto; min-height:44px; padding:10px; border:0; background:transparent; color:var(--overland-graphite); border-radius:8px; font-size:.8rem; gap:7px; }
    .enhanced .site-header .menu-toggle { display:inline-flex; }
    .site-header .main-nav { width:100%; flex-basis:100%; flex-wrap:wrap; gap:4px; margin:12px 0 0; padding:8px 0 4px; }
    .enhanced .site-header .main-nav { display:none; flex-direction:column; align-items:stretch; }
    .enhanced .site-header .main-nav.is-open { display:flex; }
    .site-header .nav-link { padding:12px 8px; font-size:.95rem; }
    .site-header .nav-link.is-current::after { left:8px; right:auto; bottom:4px; }
    .site-header .nav-cta { margin-top:8px; align-self:flex-start; }
    .home-hero { min-height:min(660px, 90svh); padding-block:132px 80px; }
    .home-hero .hero-content, .home-hero .hero-controls { width:calc(100% - 48px); }
    .home-hero .hero-content { padding-inline:0; }
    .home-hero .hero-copy { gap:16px; }
    .home-hero h1 { font-size:clamp(2.25rem, 6vw, 3rem); line-height:1.08; }
    .home-hero .hero-subtitle { font-size:.75rem; letter-spacing:.12em; }
    .home-hero .hero-text { font-size:1rem; line-height:1.65; }
    .home-hero .hero-cta { min-height:var(--button-height,44px); }
}
@media (max-width:400px) {
    .site-header { top:12px; width:calc(100% - 24px); }
    .site-header .header-inner { padding-left:16px; }
    .site-header .brand-logo { max-width:125px; }
    .site-header .brand-copy { font-size:.85rem; }
    .home-hero { min-height:600px; padding-top:124px; }
    .home-hero h1 { font-size:2.25rem; }
}
@media (prefers-reduced-motion:reduce) {
    .home-hero .hero-slide, .site-header .nav-cta, .home-hero .hero-cta { transition:none; }
}
