/* Activity pages extend the existing Fiderva brand. */
.activity-main { --activity-accent:var(--business-accent); }

.activity-hero { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:center; padding-block:2rem 4rem; }
.activity-breadcrumbs { display:flex; flex-wrap:wrap; gap:.5rem; font-size:.875rem; color:var(--muted); margin-bottom:2.5rem; }
.activity-breadcrumbs a:hover { text-decoration:underline; }
.activity-hero .eyebrow { font-size:.875rem; color:var(--activity-accent); }
.activity-hero h1 { margin:.8rem 0 1.5rem; color:var(--navy); font-size:clamp(2.4rem,4vw,3.8rem); letter-spacing:-.035em; line-height:1.13; }
.activity-intro { font-size:1.0625rem; color:var(--muted); margin:0; }
.activity-label { font-size:.875rem; font-weight:600; color:var(--navy); margin:1.7rem 0 0; }
.activity-photo { margin:0; min-width:0; }
.activity-photo img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; background:#eef2f3; }
.activity-photo figcaption { padding-top:.6rem; font-size:.8125rem; color:var(--muted); }
.activity-ventures .activity-hero .activity-photo img { aspect-ratio:16/9; }
.activity-section { padding-block:3.5rem 4rem; border-top:1px solid var(--line); scroll-margin-top:120px; }
.activity-section-heading { max-width:850px; margin-bottom:2rem; }
.activity-main h2 { font-size:clamp(1.8rem,2.8vw,2.6rem); line-height:1.2; letter-spacing:-.025em; margin:0 0 1.25rem; }
.activity-main h3 { font-size:1.2rem; line-height:1.35; margin:0 0 .9rem; }
.activity-section-heading p { font-size:1.0625rem; color:var(--muted); }
.activity-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; }
.activity-services article { padding-top:1.5rem; border-top:3px solid var(--activity-accent); }
.activity-services p,.cattle-cards p,.dairy-reference p,.livestock-copy p { margin:0; font-size:1rem; color:var(--muted); }
.activity-feature { padding-block:4rem; }
.activity-feature-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:center; }
.activity-feature-grid > div p { font-size:1.0625rem; color:var(--muted); }
.activity-connections { padding-block:4rem; max-width:1000px; }
.activity-connections p { font-size:1.0625rem; color:var(--muted); }
.activity-connections > div { display:flex; flex-wrap:wrap; gap:1rem 2rem; margin-top:1.5rem; }
.activity-connections .text-link { font-size:1rem; }
.activity-main .cta-band h2 { font-size:clamp(1.6rem,2.8vw,2.5rem); }
.activity-main .cta-band p { font-size:1rem; max-width:750px; color:#fff; }
.activity-navigation { display:flex; flex-wrap:wrap; gap:.6rem; padding-block:2.5rem 1rem; }
.activity-navigation a { padding:.75rem 1rem; border:1px solid var(--line); font-size:.875rem; font-weight:600; }
.activity-navigation a:hover,.activity-navigation a[aria-current] { color:var(--white); background:var(--navy); }
.activity-credits { padding-bottom:2rem; font-size:.8125rem; color:var(--muted); }
.activity-credits a { text-decoration:underline; }
.cattle-layout { display:grid; grid-template-columns:1.65fr 1fr; gap:2.5rem; align-items:start; }
.cattle-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
.cattle-cards article { border-top:3px solid var(--emerald); padding-top:1.25rem; }
.dairy-reference { background:var(--paper); padding:1.25rem; }
.dairy-reference h3 { margin-top:1.5rem; }
.livestock-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
.livestock-pair article { background:var(--white); }
.livestock-pair .activity-photo img { aspect-ratio:16/10; }
.livestock-pair figcaption { padding-inline:1.5rem; }
.livestock-copy { padding:1.5rem; }
.activity-market { color:var(--white); background:var(--emerald-deep); padding-block:4rem; }
.activity-market-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; }
.activity-market p,.activity-market li { font-size:1rem; }
.livestock-planning { border-left:1px solid #ffffff55; padding-left:2.5rem; }
.livestock-planning ul { padding-left:1.15rem; }
.livestock-planning li { margin-bottom:.7rem; }
.livestock-planning p { color:#e2eee8; }
@media(max-width:960px) {
 .activity-hero { gap:2rem; }
 .activity-services { gap:1.5rem; }
 .cattle-layout { grid-template-columns:1fr; }
 .dairy-reference { display:grid; grid-template-columns:1fr 1fr; gap:0 1.5rem; }
 .dairy-reference .activity-photo { grid-row:1/3; }
 .dairy-reference h3 { margin-top:.5rem; }
 .activity-market-grid { gap:2rem; }
}
@media(max-width:720px) {
 .activity-hero,.activity-feature-grid,.activity-market-grid,.activity-services { grid-template-columns:1fr; }
 .activity-hero { padding-bottom:2.5rem; }
 .activity-breadcrumbs { margin-bottom:1.75rem; }
 .activity-services { gap:2rem; }
 .activity-feature,.activity-market { padding-block:3rem; }
 .livestock-planning { border-left:0; border-top:1px solid #ffffff55; padding:1.75rem 0 0; }
 .cattle-cards,.livestock-pair,.dairy-reference { grid-template-columns:1fr; }
 .dairy-reference .activity-photo { grid-row:auto; }
 .dairy-reference h3 { margin-top:1.25rem; }
 .activity-section,.activity-connections { padding-block:2.5rem; }
 .activity-photo img { aspect-ratio:4/3; }
}

.activity-main .cta-band { background:var(--navy); border-top:5px solid var(--activity-accent); }
.activity-main .activity-feature .eyebrow { color:var(--navy); border-inline-start:3px solid var(--activity-accent); padding-inline-start:.75rem; }
.activity-hero .eyebrow { display:inline-block; border-inline-start:3px solid var(--activity-accent); padding-inline-start:.75rem; }
.activity-industries .activity-hero .eyebrow, .activity-ventures .activity-hero .eyebrow, .activity-logistics .activity-hero .eyebrow { background:var(--navy); padding:.5rem .8rem; }
.activity-navigation a { border-bottom:3px solid var(--business-accent); }
.activity-main .cta-band .eyebrow { color:var(--white); }

/* Work with us: one invitation for talent and commercial partners. */
.work-main { --activity-accent:var(--gold); }
.work-hero { padding-block:2.75rem 5rem; }
.work-hero .activity-photo { position:relative; }
.work-hero .activity-photo::before { content:''; position:absolute; z-index:-1; inset:-1rem 1rem 1rem -1rem; border:1px solid var(--gold); }
.work-hero .activity-photo img { aspect-ratio:3/2; box-shadow:var(--shadow); }
.work-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.25rem 1.75rem; margin-top:2rem; }
.work-hero-actions .text-link { font-size:.9375rem; }
.work-belief { padding-block:4.25rem; color:var(--white); background:var(--navy-deep); border-top:5px solid var(--gold); }
.work-belief-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2rem,6vw,6rem); align-items:center; }
.work-belief blockquote { margin:0; max-width:720px; color:var(--white); font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(2rem,3.7vw,3.25rem); font-weight:500; line-height:1.12; }
.work-belief p { margin:.9rem 0 0; color:rgba(255,255,255,.76); font-size:1.0625rem; }
.work-paths { border-top:0; padding-block:5rem; }
.work-path-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.work-path-card { display:flex; flex-direction:column; align-items:flex-start; padding:clamp(1.75rem,3vw,2.75rem); border:1px solid var(--line); border-top:5px solid var(--turquoise); background:var(--white); }
.work-path-card-partners { border-top-color:var(--gold); background:var(--paper); }
.work-path-number { margin-bottom:1.2rem; color:var(--navy); font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.work-path-card h3 { font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(1.9rem,3vw,2.55rem); }
.work-path-card h4 { margin:1.4rem 0 .6rem; color:var(--navy); font-size:.875rem; letter-spacing:.045em; text-transform:uppercase; }
.work-path-card p,.work-path-card li { color:var(--muted); }
.work-path-card ul { margin:0; padding-inline-start:1.2rem; }
.work-path-card li { margin:.45rem 0; }
.work-guidance { width:100%; margin:1.75rem 0; padding:1.1rem 1.2rem; border-inline-start:3px solid var(--activity-accent); background:rgba(255,255,255,.72); }
.work-path-card .button { margin-top:auto; }
.work-audiences { padding-block:5rem; }
.work-audiences .activity-photo img { aspect-ratio:4/5; }
.work-audience-list { margin:1.6rem 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.work-audience-list li { display:grid; grid-template-columns:minmax(170px,.8fr) 1.2fr; gap:1.25rem; padding:1rem 0; border-bottom:1px solid var(--line); }
.work-audience-list strong { color:var(--navy); font-size:.9375rem; }
.work-audience-list span { color:var(--muted); font-size:.9375rem; }
.work-openings { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,6vw,6rem); padding-block:4.5rem; }
.work-openings > div:last-child { padding-inline-start:2.5rem; border-inline-start:1px solid var(--line); }
.work-openings p { color:var(--muted); }
.work-status { display:inline-block; margin:0 0 .8rem; padding:.45rem .7rem; color:var(--navy) !important; background:#edf4f5; border-inline-start:3px solid var(--turquoise); font-size:.8125rem; font-weight:700; }
.work-cta-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.8rem; }
.work-cta-actions .button { white-space:nowrap; }
.work-email { color:var(--gold-pale); text-decoration:underline; text-underline-offset:.2em; }
.work-vacancies { display:block; scroll-margin-top:110px; }
.vacancies-intro { padding-block:clamp(2rem,5vw,4rem) 0; }
.vacancies-intro h1 { margin:.7rem 0 1rem; font-size:clamp(2.3rem,5vw,3.8rem); line-height:1.1; }
.vacancies-intro p { max-width:60ch; color:var(--muted); font-size:1.125rem; }
.vacancies-main .work-vacancies { padding-block:2rem 4.5rem; }
.vacancy-card { padding:clamp(1.5rem,4vw,3rem); border:1px solid var(--line); border-top:4px solid var(--gold); background:var(--white); scroll-margin-top:110px; }
.vacancy-header { display:flex; align-items:flex-start; justify-content:space-between; gap:2rem; padding-bottom:2rem; border-bottom:1px solid var(--line); }
.vacancy-header h1 { margin:0; font-size:clamp(1.8rem,3vw,2.5rem); line-height:1.2; }
.vacancy-company { margin:.65rem 0 1rem; }
.vacancy-meta { display:flex; flex-wrap:wrap; gap:.6rem; }
.vacancy-meta span { padding:.4rem .75rem; background:var(--paper); color:var(--navy); font-size:.875rem; }
.vacancy-header .button { flex-shrink:0; }
.vacancy-description { max-width:90ch; padding-top:2rem; }
.vacancy-description h2 { margin:0 0 1.5rem; font-size:1.5rem; }
.vacancy-description h3 { margin:1.5rem 0 .75rem; font-size:1.125rem; }
.vacancy-description p,.vacancy-description li { font-size:1rem; line-height:1.8; }
.vacancy-description ul { padding-inline-start:1.4rem; }
.vacancy-description li { margin-bottom:.8rem; color:var(--muted); }
.vacancy-footer { margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--line); }
@media(max-width:720px) { .vacancy-header { flex-direction:column; gap:1.25rem; } .vacancy-header .button,.vacancy-footer .button { width:100%; } }

@media(max-width:960px) {
 .work-belief-grid,.work-openings { grid-template-columns:1fr; }
 .work-openings { gap:1.5rem; }
 .work-openings > div:last-child { padding:1.75rem 0 0; border-inline-start:0; border-top:1px solid var(--line); }
 .work-audience-list li { grid-template-columns:1fr; gap:.25rem; }
 .work-cta-actions { justify-content:flex-start; }
}
@media(max-width:720px) {
 .work-hero { padding-block:2rem 3rem; }
 .work-hero .activity-photo::before { display:none; }
 .work-belief,.work-paths,.work-audiences,.work-openings { padding-block:3rem; }
 .work-path-grid { grid-template-columns:1fr; }
 .work-path-card { padding:1.5rem; }
 .work-hero-actions,.work-hero-actions .button,.work-cta-actions,.work-cta-actions .button { width:100%; }
}

/* Compact vacancy directory and individual role navigation. */
.vacancy-list-section { padding-block:2rem 4.5rem; }
.vacancy-list { padding:0; margin:0; list-style:none; display:grid; gap:1rem; }
.vacancy-list > li { scroll-margin-top:110px; }
.vacancy-listing { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:clamp(1.4rem,3vw,2.25rem); border:1px solid var(--line); border-inline-start:4px solid var(--gold); background:var(--white); color:var(--navy); text-decoration:none; transition:border-color .18s ease,box-shadow .18s ease; }
.vacancy-listing:hover { border-color:var(--gold); box-shadow:0 6px 24px rgb(0 34 63 / 7%); }
.vacancy-listing:focus-visible { outline:3px solid var(--navy); outline-offset:4px; }
.vacancy-listing h2 { margin:0 0 1rem; font-size:clamp(1.4rem,2.5vw,1.8rem); line-height:1.25; }
.vacancy-listing p { max-width:65ch; margin:1rem 0 0; color:var(--muted); font-size:1rem; }
.vacancy-listing-action { flex-shrink:0; font-size:1rem; font-weight:700; text-decoration:underline; text-underline-offset:.3em; }
.vacancy-back { padding-bottom:3rem; }
@media(max-width:720px) { .vacancy-listing { flex-direction:column; align-items:flex-start; gap:1.25rem; } .vacancy-list-section { padding-bottom:3rem; } }
