/* Pero Family Farms — Hiring Landing Page
   Scoped under .pff-hiring so it cannot leak into the existing theme. */

.pff-hiring{
  --navy:#1e5aa0;
  --blue:#306dbd;
  --blue-mid:#4d9bd9;
  --blue-dk:#3b89cd;
  --blue-lt:#accfeb;
  --pale:#e9f4fc;
  --pale-2:#d1ebfd;
  --white:#fff;
  --green:#6ec24a;
  --ink:#2b4a63;
  --ink-soft:#4a6c86;

  /* The comp is a committed light design. Paint the ground explicitly so the
     block never inherits a dark surface from its host page. */
  background:var(--white);
  font-family:"futura-pt",'Futura',Avenir,'Helvetica Neue',Arial,sans-serif;
  color:var(--ink);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.pff-hiring *,.pff-hiring *::before,.pff-hiring *::after{box-sizing:border-box}
.pff-hiring p{margin:0 0 1em}
.pff-hiring h1,.pff-hiring h2,.pff-hiring h3,.pff-hiring h4{margin:0;font-weight:700;letter-spacing:.02em;color:var(--blue)}
.pff-hiring ul,.pff-hiring ol{margin:0;padding:0;list-style:none}
.pff-hiring img{max-width:100%;display:block;height:auto}

.hl-wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}

/* ---------- leaf tick ---------- */
.hl-leaf{
  display:inline-block;width:.85em;height:.85em;margin-right:.42em;flex:none;
  background:var(--green);
  -webkit-mask:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 13c6-1 9 2 10 7 2-9 7-16 12-18-4 5-7 11-9 19-2-5-6-8-13-8z'/%3E%3C/svg%3E");
  mask:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 13c6-1 9 2 10 7 2-9 7-16 12-18-4 5-7 11-9 19-2-5-6-8-13-8z'/%3E%3C/svg%3E");
}

/* ---------- buttons ---------- */
.hl-btn{
  display:inline-block;padding:14px 30px;font-size:15px;font-weight:600;
  letter-spacing:.13em;text-transform:uppercase;text-decoration:none;
  transition:background .2s,color .2s,border-color .2s;cursor:pointer;
}
.hl-btn--solid{background:var(--blue-dk);color:#fff;border:2px solid var(--blue-dk)}
.hl-btn--solid:hover{background:var(--navy);border-color:var(--navy)}
.hl-btn--ghost{background:transparent;color:var(--blue);border:2px solid var(--blue-lt)}
.hl-btn--ghost:hover{border-color:var(--blue);background:var(--pale)}
.hl-btn--block{display:block;width:100%;text-align:center}

/* ---------- sub nav ---------- */
.hl-subnav{background:var(--pale-2);position:sticky;top:0;z-index:40}
.hl-subnav__inner{display:flex;align-items:center;justify-content:flex-end;gap:28px;min-height:56px}
.hl-subnav__links{display:flex;gap:26px;flex-wrap:wrap}
.hl-subnav__links a{
  color:var(--blue);text-decoration:none;font-size:14px;font-weight:600;
  letter-spacing:.11em;text-transform:uppercase;padding:6px 0;border-bottom:2px solid transparent;
}
.hl-subnav__links a:hover,.hl-subnav__links a.is-active{border-bottom-color:var(--blue-dk)}
.hl-subnav__cta{padding:10px 26px;font-size:13px}

.hl-eyebrowbar{background:var(--pale)}
.hl-eyebrowbar__title{padding:22px 0;font-size:31px;text-transform:uppercase;letter-spacing:.04em}

/* ---------- hero ---------- */
.hl-hero{background:linear-gradient(180deg,#fbfdff 0%,#f2f9ff 100%);padding:56px 0 64px}
.hl-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}
.hl-hero__headline{font-size:58px;line-height:1.02;text-transform:uppercase;letter-spacing:.005em}
.hl-hero__sub{margin:20px 0 26px;font-size:25px;line-height:1.28;color:var(--blue-mid)}
.hl-hero__body{max-width:46ch;color:var(--ink)}
.hl-hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0 20px}
.hl-ticks{display:flex;gap:22px;flex-wrap:wrap;font-size:13.5px;color:var(--ink-soft)}
.hl-ticks li{display:flex;align-items:center}
.hl-ticks li::before{
  content:"";width:14px;height:14px;margin-right:7px;flex:none;background:var(--green);
  -webkit-mask:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 13c6-1 9 2 10 7 2-9 7-16 12-18-4 5-7 11-9 19-2-5-6-8-13-8z'/%3E%3C/svg%3E");
  mask:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 13c6-1 9 2 10 7 2-9 7-16 12-18-4 5-7 11-9 19-2-5-6-8-13-8z'/%3E%3C/svg%3E");
}
.hl-hero__photo{background:var(--blue-lt);aspect-ratio:4/3.35;overflow:hidden}
.hl-hero__photo img{width:100%;height:100%;object-fit:cover}
.hl-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:3px}
.hl-stats li{background:var(--blue-mid);color:#fff;padding:16px 8px;text-align:center}
.hl-stats li:nth-child(2){background:var(--blue-dk)}
.hl-stats li:nth-child(3){background:var(--blue-mid)}
.hl-stats li:nth-child(4){background:var(--blue-lt)}
.hl-stats__num{display:block;font-size:26px;font-weight:700;line-height:1.1;letter-spacing:.02em}
.hl-stats__lbl{display:block;margin-top:5px;font-size:11px;line-height:1.25;text-transform:uppercase;letter-spacing:.09em}

/* ---------- accordions ---------- */
.hl-acc--deep{background:linear-gradient(180deg,#4a97d6,#3b89cd)}
.hl-acc--mid{background:var(--pale-2)}
.hl-acc--pale{background:var(--pale)}

.hl-acc__head{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  width:100%;max-width:1180px;margin:0 auto;padding:30px 24px;
  background:none;border:0;text-align:left;cursor:pointer;font:inherit;color:inherit;
}
.hl-acc__titles{display:block}
.hl-acc__title{display:flex;align-items:center;font-size:34px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--blue);line-height:1.12}
.hl-acc__sub{display:block;margin-top:5px;padding-left:1.27em;font-size:20px;color:var(--blue-mid)}
.hl-acc--deep .hl-acc__title{color:#fff}
.hl-acc--deep .hl-acc__sub{color:#dcefff}

.hl-acc__icon{position:relative;width:30px;height:30px;flex:none}
.hl-acc__icon::before,.hl-acc__icon::after{
  content:"";position:absolute;left:50%;top:50%;background:var(--blue-mid);
  transform:translate(-50%,-50%);transition:transform .28s ease,opacity .28s ease;
}
.hl-acc__icon::before{width:30px;height:3px}
.hl-acc__icon::after{width:3px;height:30px}
.hl-acc--deep .hl-acc__icon::before,.hl-acc--deep .hl-acc__icon::after{background:#fff}
.hl-acc__head[aria-expanded="true"] .hl-acc__icon::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}

.hl-acc__panel{overflow:hidden}
.hl-acc__inner{padding-bottom:52px}
.hl-acc__lede{max-width:78ch;margin-bottom:30px;padding-left:24px}
.hl-acc--deep .hl-acc__lede{color:#eaf5ff}

/* two-column cards */
.hl-duo{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hl-card{padding:34px 32px}
.hl-card--white{background:#fff}
.hl-card--pale{background:var(--pale)}
.hl-card__title{font-size:26px;text-transform:uppercase;letter-spacing:.04em}
.hl-card__sub{margin:4px 0 18px;font-size:18px;color:var(--blue-mid)}
.hl-card p{font-size:15.5px}

.hl-minigrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.hl-mini{position:relative;background:var(--pale);padding:18px 18px 54px}
.hl-mini h4{font-size:15px;text-transform:uppercase;letter-spacing:.06em}
.hl-mini p{margin:6px 0 0;font-size:13.5px;line-height:1.45;color:var(--ink-soft)}
.hl-mini__ico{position:absolute;left:18px;bottom:14px;width:34px;height:34px;color:var(--blue-dk)}

.hl-includes{position:relative;background:#fff;border:1px solid #dceaf7;padding:20px 22px;margin:20px 0}
.hl-acc--deep .hl-includes{background:#fff}
.hl-includes__lbl{margin:0 0 10px;font-size:15px;color:var(--ink)}
.hl-includes ul{max-width:60%}
.hl-includes li{position:relative;padding-left:18px;margin-bottom:8px;font-size:14.5px;font-weight:600;color:var(--blue)}
.hl-includes li::before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--blue-mid)}
.hl-includes__art{position:absolute;right:20px;top:50%;transform:translateY(-50%);width:78px;height:78px;color:var(--blue-lt)}

/* icon tiles */
.hl-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.hl-tile{position:relative;background:#fff;padding:24px 24px 22px;min-height:150px}
.hl-acc--pale .hl-tile{background:#fff}
.hl-tile h3{font-size:17px;text-transform:uppercase;letter-spacing:.05em;max-width:74%;line-height:1.2}
.hl-tile p{margin:12px 0 0;font-size:14px;line-height:1.5;color:var(--ink-soft)}
.hl-tile__ico{position:absolute;right:22px;top:22px;width:44px;height:44px;color:var(--blue-dk)}

/* role cards */
.hl-role{position:relative;background:#fff;padding:56px 24px 24px}
.hl-role h3{font-size:19px;text-transform:uppercase;letter-spacing:.04em;line-height:1.15}
.hl-role p{margin:11px 0 0;font-size:14px;line-height:1.5;color:var(--ink-soft)}
.hl-role__badge{
  position:absolute;top:0;right:0;background:var(--blue-lt);color:#fff;
  padding:7px 14px;text-align:right;font-size:9.5px;text-transform:uppercase;letter-spacing:.11em;line-height:1.25;
}
.hl-role__badge b{display:block;font-size:11px;font-weight:700}
.hl-role__badge--dk{background:var(--blue-dk)}

/* check lists */
.hl-checks li{position:relative;padding-left:30px;margin-bottom:16px}
.hl-checks li::before{
  content:"";position:absolute;left:0;top:2px;width:17px;height:17px;background:var(--green);
  -webkit-mask:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 13c6-1 9 2 10 7 2-9 7-16 12-18-4 5-7 11-9 19-2-5-6-8-13-8z'/%3E%3C/svg%3E");
  mask:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 13c6-1 9 2 10 7 2-9 7-16 12-18-4 5-7 11-9 19-2-5-6-8-13-8z'/%3E%3C/svg%3E");
}
.hl-checks b{display:block;font-size:17px;text-transform:uppercase;letter-spacing:.03em;color:var(--blue)}
.hl-checks span{display:block;margin-top:3px;font-size:13.5px;line-height:1.45;color:var(--ink-soft)}

/* growth path */
.hl-path{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:8px}
.hl-path li{text-align:center;position:relative}
.hl-path li:not(:last-child)::after{
  content:"";position:absolute;right:-17px;top:calc(50% + 14px);
  width:9px;height:9px;border-top:2px solid var(--blue-mid);border-right:2px solid var(--blue-mid);
  transform:rotate(45deg);
}
.hl-path__lvl{display:block;margin-bottom:10px;font-size:19px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--blue)}
.hl-path__box{display:flex;align-items:center;justify-content:center;min-height:74px;padding:14px 12px;color:#fff;font-size:19px;line-height:1.2}
.hl-path__box--1{background:#bcdcf5}
.hl-path__box--2{background:#84c1ec}
.hl-path__box--3{background:#5aa7e0}
.hl-path__box--4{background:#2f7cc4}

/* apply */
.hl-apply{background:linear-gradient(180deg,#fbfdff,#eef7fe);padding:56px 0 64px}
.hl-apply__h{display:flex;align-items:center;font-size:34px;text-transform:uppercase;letter-spacing:.03em}
.hl-apply__sub{margin:5px 0 22px;padding-left:1.27em;font-size:20px;color:var(--blue-mid)}
.hl-apply__lede{max-width:70ch;padding-left:24px}
.hl-apply__grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;margin-top:26px;padding-left:24px}
.hl-steps li{display:flex;gap:16px;margin-bottom:20px}
.hl-steps__n{
  flex:none;width:30px;height:30px;border-radius:50%;background:var(--blue-dk);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;
}
.hl-steps p{margin:0;font-size:15px;line-height:1.45}
.hl-steps b{color:var(--ink);font-weight:700}
.hl-applycard{background:#cfe7fa;padding:34px 32px;text-align:center}
.hl-applycard h3{font-size:29px;text-transform:uppercase;letter-spacing:.04em}
.hl-applycard>p{margin:12px 0 20px;font-size:15px;color:var(--ink)}
.hl-applycard__mail{background:#f3f9fe;padding:13px;font-size:16px;color:var(--blue-mid);margin-bottom:10px;word-break:break-word}
.hl-applycard__fine{margin:14px 0 0;font-size:12.5px;line-height:1.5;color:var(--blue-mid)}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .hl-hero__grid{grid-template-columns:1fr;gap:36px}
  .hl-hero__headline{font-size:46px}
  .hl-hero__body{max-width:none}
  .hl-grid3{grid-template-columns:1fr 1fr}
  .hl-duo{grid-template-columns:1fr}
  .hl-apply__grid{grid-template-columns:1fr;gap:30px}
  .hl-includes ul{max-width:100%}
  .hl-includes__art{display:none}
  .hl-acc__title{font-size:27px}
  .hl-acc__sub{font-size:17px}
}
@media (max-width:720px){
  .pff-hiring{font-size:16px}
  .hl-wrap{padding:0 18px}
  .hl-subnav{position:static}
  .hl-subnav__inner{flex-direction:column;align-items:stretch;gap:12px;padding-top:14px;padding-bottom:14px}
  .hl-subnav__links{justify-content:center;gap:16px}
  .hl-subnav__cta{text-align:center}
  .hl-eyebrowbar__title{font-size:23px}
  .hl-hero{padding:34px 0 40px}
  .hl-hero__headline{font-size:35px}
  .hl-hero__sub{font-size:20px}
  .hl-hero__actions .hl-btn{flex:1 1 100%;text-align:center}
  .hl-stats{grid-template-columns:1fr 1fr}
  .hl-grid3,.hl-minigrid{grid-template-columns:1fr}
  .hl-path{grid-template-columns:1fr;gap:14px}
  .hl-path li:not(:last-child)::after{display:none}
  .hl-acc__head{padding:22px 18px;gap:14px}
  .hl-acc__title{font-size:22px}
  .hl-acc__sub{font-size:15px;padding-left:0}
  .hl-acc__icon{width:22px;height:22px}
  .hl-acc__icon::before{width:22px}
  .hl-acc__icon::after{height:22px}
  .hl-acc__lede,.hl-apply__lede,.hl-apply__grid{padding-left:0}
  .hl-card{padding:24px 20px}
  .hl-apply__h{font-size:25px}
  .hl-apply__sub{font-size:16px;padding-left:0}
}

@media (prefers-reduced-motion:reduce){
  .pff-hiring *{transition-duration:.01ms !important;animation-duration:.01ms !important}
}

/* ---------- mobile refinements (561 Media, 2026-08-11) ----------
   Measured at 320px and 375px: no horizontal overflow, but tap targets
   and type sizes needed work. Fixes are additive so nothing above moves. */
@media (max-width:720px){
  /* WCAG 2.5.8 — minimum 44px touch targets */
  .hl-subnav__links a{
    display:block;
    min-height:44px;
    line-height:44px;
    padding:0 4px;
  }
  .hl-subnav__links{gap:6px;flex-wrap:wrap}
  .hl-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center}

  /* legibility floors */
  .hl-stats__lbl{font-size:12px;letter-spacing:.06em}
  .hl-role__badge{font-size:12px;letter-spacing:.04em}
  .hl-form__hint{font-size:12px}

  /* the accordion panel animates max-height; let tall panels finish on phones */
  .hl-acc__panel{will-change:max-height}
}

@media (max-width:480px){
  .hl-hero__headline{font-size:30px;line-height:1.12}
  .hl-hero__sub{font-size:18px}
  .hl-stats{grid-template-columns:1fr 1fr;gap:10px}
  .hl-stats__num{font-size:30px}
  .hl-acc__title{font-size:20px}
  .hl-acc__sub{font-size:14px}
  .hl-acc__head{padding:18px 16px}
  .hl-wrap{padding:0 16px}
  .hl-card{padding:20px 16px}
  .hl-applycard{padding:26px 18px}
  .hl-apply__h{font-size:22px}
  .hl-checks li{padding-left:0}
}

/* ---------- apply form: mobile-safe by default ---------- */
.hl-form input[type=text],
.hl-form input[type=email],
.hl-form input[type=tel],
.hl-form select,
.hl-form input[type=file]{
  /* 16px minimum stops iOS Safari force-zooming the page on focus */
  font-size:16px;
  min-height:48px;
  box-sizing:border-box;
}
.hl-form button[type=submit]{min-height:52px;font-size:16px}
.hl-form input[type=file]{padding:13px 12px;line-height:1.3}
@media (max-width:480px){
  .hl-form__row{margin-bottom:14px}
  .hl-form input[type=file]{font-size:13px}
}

/* ---------- touch devices of any width ----------
   Tablets sit above the 720px breakpoint but are still finger-driven,
   so key the 44px minimum off the pointer type rather than the viewport. */
@media (pointer:coarse){
  .hl-subnav__links a{display:block;min-height:44px;line-height:44px;padding:0 6px}
  .hl-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center}
  .hl-acc__head{min-height:56px}
  .hl-form input,.hl-form select{min-height:48px}
  .hl-form button[type=submit]{min-height:52px}
}

/* ---------- clearance for the theme's overhanging logo ----------
   The site logo is taller than the header bar and hangs below it
   (live: header ends 114px, logo bottom 178px). Interior theme pages
   tolerate it, but our hero copy starts top-left and lands underneath.
   Push the hero down so the headline clears the logo. */
@media (min-width:1025px){
  .pff-hiring .hl-hero{padding-top:104px}
}
@media (min-width:721px) and (max-width:1024px){
  .pff-hiring .hl-hero{padding-top:84px}
}
