/* ============================================================
   WeekAway — Property Caretaker job posting
   Scoped under .jobpost so it never touches the Webflow nav/footer.
   Tokens + type pulled from the WeekAway Design System.
   ============================================================ */

@font-face{
  font-family:"Founders Grotesk";
  src:url("./fonts/founders-grotesk-regular.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Founders Grotesk";
  src:url("./fonts/founders-grotesk-medium.woff2") format("woff2");
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Domaine Display";
  src:url("./fonts/domaine-display-regular.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Domaine Display";
  src:url("./fonts/domaine-display-semibold-italic.woff2") format("woff2");
  font-weight:600;font-style:italic;font-display:swap;
}

.jobpost{
  /* palette */
  --wa-white:#FFFFFF; --wa-cream:#F8F8F8; --wa-ink:#2A2A2A;
  --wa-stone:#A7A3A3; --wa-stone-20:rgba(167,163,163,0.20);
  --wa-forest:#37463D; --wa-sage:#8B9B91; --wa-moss:#4F6958;
  --wa-wheat:#D8D294; --wa-wheat-glow:rgba(255,248,174,0.20);
  /* type */
  --font-sans:"Founders Grotesk","Helvetica Neue",Arial,sans-serif;
  --font-display:"Domaine Display","Cormorant Garamond",Georgia,serif;
  --ease-out:cubic-bezier(0.22,0.61,0.36,1);

  font-family:var(--font-sans);
  color:var(--wa-ink);
  background:var(--wa-white);
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  /* match the Webflow nav container: 1440px max, 48px gutter, centered */
  --jp-gutter:max(48px, calc((100vw - 1440px) / 2 + 48px));
}
.jobpost *{box-sizing:border-box;}

/* ---------- layout primitives ---------- */
.jp-section{padding:96px var(--jp-gutter);}
.jp-section.is-cream{background:var(--wa-cream);}
.jp-section.is-tight{padding-top:64px;padding-bottom:64px;}
.jp-wrap{max-width:1440px;margin:0 auto;}
.jp-prose{max-width:720px;}
.jp-prose p + p{margin-top:20px;}
.jp-hl{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 30' preserveAspectRatio='none'%3E%3Cpath d='M2.5,12 C48,4.5 120,6 168,5 C190,4.8 199,7 197.5,12 C199,17 198,23 194,25.5 C140,28.5 70,27 30,27.5 C14,27.7 3,26 4,22 C0.5,18 0.5,15 2.5,12 Z' fill='%23DAD08C'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-size:100% 100%;
  background-position:center;
  mix-blend-mode:multiply;
  padding:1px 5px;
  margin:0 -2px;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
}

/* ---------- role: image + text 2-col (section 02) ---------- */
.jp-rolelayout{display:grid;grid-template-columns:0.82fr 1fr;gap:88px;align-items:stretch;margin-bottom:8px;}
.jp-rolelayout.is-rev{grid-template-columns:1fr 0.82fr;}
.jp-rolelayout.is-rev .jp-roleimg{align-self:center;aspect-ratio:1/1;}
.jp-rolelayout.is-rev .jp-roleimg img{min-height:0;}
.jp-roleimg{border-radius:4px;overflow:hidden;background:var(--wa-cream);}
.jp-roleimg img{width:100%;height:100%;object-fit:cover;display:block;min-height:440px;}
.jp-roletext{display:flex;flex-direction:column;justify-content:center;}
.jp-roletext p + p{margin-top:20px;}

/* ---------- section header system (signature: numbered editorial spine) ---------- */
.jp-sechead{display:flex;align-items:baseline;gap:18px;margin-bottom:40px;}
.jp-secnum{display:none;}
.jp-seclabel{
  font-family:var(--font-sans);font-weight:500;font-size:13px;
  letter-spacing:0.16em;text-transform:uppercase;color:var(--wa-stone);
  padding-top:2px;
}
.jp-secrule{flex:1;height:1px;background:var(--wa-stone-20);align-self:center;}

/* ---------- type ---------- */
.jp-display{
  font-family:var(--font-display);font-weight:400;letter-spacing:-0.01em;
  color:var(--wa-ink);margin:0;
}
.jp-h2{font-family:var(--font-display);font-weight:400;font-size:38px;line-height:1.12;letter-spacing:-0.01em;margin:0 0 24px;color:var(--wa-ink);}
.jp-h3{font-family:var(--font-sans);font-weight:500;font-size:19px;line-height:1.3;margin:0;color:var(--wa-ink);}
.jp-lead{font-family:var(--font-display);font-weight:400;font-size:23px;line-height:1.45;color:var(--wa-ink);margin:0;}
.jp-body{font-family:var(--font-sans);font-weight:400;font-size:17px;line-height:1.62;color:var(--wa-ink);margin:0;}
.jp-body.is-muted{color:#5b5b5b;}
.jp-small{font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--wa-stone);}
.jp-em{font-family:var(--font-display);font-style:italic;font-weight:600;}

/* ---------- header ---------- */
.jp-header{padding:120px 40px 72px;background:var(--wa-white);}
.jp-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--wa-wheat);color:var(--wa-ink);
  font-family:var(--font-sans);font-weight:500;font-size:12.5px;
  letter-spacing:0.12em;text-transform:uppercase;
  padding:9px 16px;border-radius:52px;
}
.jp-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--wa-forest);}
.jp-title{font-size:60px;line-height:1.04;margin:28px 0 0;max-width:14ch;}
.jp-subtitle{max-width:640px;margin:26px 0 0;}
.jp-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:38px;}
.jp-pill{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--wa-stone-20);border-radius:52px;
  padding:9px 16px;font-family:var(--font-sans);font-size:14px;color:var(--wa-ink);
}
.jp-pill svg{width:15px;height:15px;color:var(--wa-sage);stroke-width:1.6;}

/* ---------- hero (full-bleed immersive) ---------- */
.jp-hero{position:relative;min-height:640px;display:flex;align-items:flex-end;overflow:hidden;background:var(--wa-cream);}
.jp-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.jp-hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 90% at 30% 68%,rgba(42,42,42,0.64) 0%,rgba(42,42,42,0) 70%),rgba(0,0,0,0.30);}
.jp-hero-inner{position:relative;z-index:1;padding:72px var(--jp-gutter);max-width:none;width:100%;margin:0;}
.jp-hero .jp-badge{background:rgba(255,255,255,0.16);color:var(--wa-white);backdrop-filter:blur(2px);}
.jp-hero .jp-badge .dot{background:var(--wa-wheat);}
.jp-hero .jp-title{color:var(--wa-white);margin-top:22px;}
.jp-hero .jp-subtitle{color:rgba(255,255,255,0.92);max-width:38ch;margin-top:20px;font-size:17px;}
.jp-hero .jp-pill{border-color:rgba(255,255,255,0.45);background:rgba(255,255,255,0.16);backdrop-filter:blur(2px);color:var(--wa-white);}
.jp-hero .jp-pill svg{color:var(--wa-wheat);}

/* ---------- image bands ---------- */
.jp-band{width:100%;height:clamp(280px,42vw,520px);overflow:hidden;background:var(--wa-cream);}
.jp-band img{width:100%;height:100%;object-fit:cover;display:block;}
.jp-figure{margin:0;}
.jp-figcaption{font-family:var(--font-sans);font-size:13px;letter-spacing:0.04em;color:var(--wa-stone);margin-top:14px;text-transform:uppercase;}

/* ---------- callout (wheat) ---------- */
.jp-callout{
  position:relative;overflow:hidden;
  background:var(--wa-wheat);border-radius:4px;
  padding:48px 52px;margin-top:44px;
}
.jp-callout::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(120% 140% at 30% 20%,var(--wa-wheat-glow) 0%,rgba(255,248,174,0) 60%);
  pointer-events:none;
}
.jp-callout p{position:relative;font-family:var(--font-display);font-size:24px;line-height:1.46;color:var(--wa-ink);margin:0;}

/* ---------- A Day timeline ---------- */
.jp-timeline{position:relative;margin-top:8px;padding-left:0;list-style:none;}
.jp-tl-item{position:relative;display:grid;grid-template-columns:180px 1fr;gap:40px;padding:34px 0;}
.jp-tl-item + .jp-tl-item{border-top:1px solid var(--wa-stone-20);}
.jp-tl-when{
  font-family:var(--font-sans);font-weight:500;font-size:13px;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--wa-sage);padding-top:5px;
}
.jp-tl-body{font-family:var(--font-display);font-size:21px;line-height:1.5;color:var(--wa-ink);}
.jp-tl-body b{font-weight:400;background:linear-gradient(transparent 62%,var(--wa-wheat) 62%);padding:0 1px;}

/* ---------- "What you'll do" icon grid ---------- */
.jp-grid2{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--wa-stone-20);border:1px solid var(--wa-stone-20);border-radius:4px;overflow:hidden;}
.jp-task{background:var(--wa-white);padding:32px;display:flex;gap:18px;align-items:flex-start;}
.jp-section.is-cream .jp-task{background:var(--wa-cream);}
.jp-task-ico{flex:none;width:44px;height:44px;border-radius:50%;background:var(--wa-forest);display:flex;align-items:center;justify-content:center;}
.jp-task-ico svg{width:20px;height:20px;color:var(--wa-cream);stroke-width:1.5;}
.jp-task h4{font-family:var(--font-sans);font-weight:500;font-size:16px;margin:0 0 6px;color:var(--wa-ink);}
.jp-task p{font-family:var(--font-sans);font-weight:400;font-size:15.5px;line-height:1.5;color:#5b5b5b;margin:0;}

/* ---------- flip cards (What you'll actually do) ---------- */
.jp-flips{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:18px;}
.jp-flip{height:252px;perspective:1300px;cursor:pointer;outline:none;}
.jp-flip-inner{position:relative;width:100%;height:100%;transition:transform 620ms var(--ease-out);transform-style:preserve-3d;}
.jp-flip.is-flipped .jp-flip-inner{transform:rotateY(180deg);}
.jp-flip:focus-visible .jp-flip-inner{box-shadow:0 0 0 2px var(--wa-sage);border-radius:4px;}
.jp-flip-face{position:absolute;inset:0;border:1px solid var(--wa-stone-20);border-radius:4px;padding:28px;
  -webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;flex-direction:column;overflow:hidden;}
.jp-flip-front{background:#EBEAE5;border-color:rgba(167,163,163,0.30);}
.jp-flip-front .jp-task-ico{margin-bottom:18px;}
.jp-flip-face h4{font-family:var(--font-sans);font-weight:500;font-size:16px;margin:0 0 8px;color:var(--wa-ink);}
.jp-flip-front p{font-family:var(--font-sans);font-size:15.5px;line-height:1.5;color:#5b5b5b;margin:0;}
.jp-flip-back{background:var(--wa-forest);border-color:var(--wa-forest);transform:rotateY(180deg);}
.jp-flip-back h4{color:var(--wa-white);}
.jp-flip-back p{font-family:var(--font-sans);font-size:13.5px;line-height:1.56;color:rgba(248,248,248,0.86);margin:0;}
.jp-flip-hint{margin-top:auto;display:inline-flex;align-items:center;gap:7px;
  font-family:var(--font-sans);font-size:11.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--wa-stone);padding-top:16px;}
.jp-flip-hint svg{width:14px;height:14px;stroke-width:1.6;}
.jp-flip-back .jp-flip-hint{color:var(--wa-sage);}

/* ---------- tasks: image band + clean cards (section 03, Option C) ---------- */
.jp-taskband{width:100%;height:clamp(240px,30vw,360px);overflow:hidden;background:var(--wa-cream);border-radius:4px;margin-bottom:48px;}
.jp-taskband img{width:100%;height:100%;object-fit:cover;display:block;}
.jp-taskgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.jp-taskcard{display:flex;flex-direction:column;gap:16px;}
.jp-taskcard-head{display:flex;align-items:center;gap:14px;}
.jp-taskcard-ico{flex:none;width:42px;height:42px;border-radius:50%;background:var(--wa-forest);display:flex;align-items:center;justify-content:center;}
.jp-taskcard-ico svg{width:19px;height:19px;color:var(--wa-cream);stroke-width:1.5;}
.jp-taskcard-title{font-family:var(--font-sans);font-weight:500;font-size:16.5px;color:var(--wa-ink);}
.jp-taskcard-rule{height:1px;background:var(--wa-stone-20);}
.jp-taskcard p{margin:0;font-family:var(--font-sans);font-size:16.5px;line-height:1.55;color:#5b5b5b;}

/* contained image band — matches the section-03 band size */
.jp-band-contain{max-width:none;margin:0;padding:48px var(--jp-gutter) 0;}
.jp-band-contain img{width:100%;height:clamp(240px,30vw,360px);object-fit:cover;display:block;border-radius:4px;background:var(--wa-cream);}

/* ---------- compensation ---------- */
.jp-comp{background:var(--wa-forest);border-radius:4px;padding:56px 56px 52px;color:var(--wa-cream);}
.jp-comp-eyebrow{font-family:var(--font-sans);font-weight:500;font-size:13px;letter-spacing:0.16em;text-transform:uppercase;color:var(--wa-sage);}
.jp-tiers{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;margin:34px 0 8px;}
.jp-tier .jp-tier-k{font-family:var(--font-sans);font-size:13px;letter-spacing:0.1em;text-transform:uppercase;color:var(--wa-sage);margin-bottom:12px;}
.jp-tier .jp-tier-v{font-family:var(--font-display);font-weight:400;line-height:1;color:var(--wa-white);white-space:nowrap;}
.jp-unit{font-family:var(--font-sans);font-size:20px;color:rgba(248,248,248,0.7);margin-left:5px;}
.jp-tier.is-start .jp-tier-v{font-size:46px;}
.jp-tier.is-grow .jp-tier-v{font-size:46px;}
.jp-tier .jp-tier-sub{font-family:var(--font-sans);font-size:14px;color:rgba(248,248,248,0.7);margin-top:8px;}
.jp-arrow{display:flex;align-items:center;justify-content:center;color:var(--wa-wheat);}
.jp-arrow svg{width:34px;height:34px;stroke-width:1.4;}
.jp-bonus{display:inline-flex;align-items:center;gap:10px;margin-top:30px;background:var(--wa-wheat);color:var(--wa-ink);border-radius:52px;padding:11px 20px;font-family:var(--font-sans);font-weight:500;font-size:15px;}
.jp-bonus svg{width:17px;height:17px;stroke-width:1.6;}
.jp-comp-copy{font-family:var(--font-sans);font-size:16px;line-height:1.65;color:rgba(248,248,248,0.82);margin:34px 0 0;max-width:680px;border-top:1px solid rgba(248,248,248,0.16);padding-top:30px;}

/* ---------- hours breakdown ---------- */
.jp-hours{border:1px solid var(--wa-stone-20);border-radius:4px;overflow:hidden;}
.jp-hours-row{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:20px 28px;border-bottom:1px solid var(--wa-stone-20);}
.jp-hours-row:last-child{border-bottom:0;}
.jp-hours-row .k{font-family:var(--font-sans);font-size:16px;color:var(--wa-ink);}
.jp-hours-row .v{font-family:var(--font-sans);font-size:15px;color:var(--wa-stone);white-space:nowrap;}
.jp-hours-row.is-total{background:var(--wa-cream);}
.jp-section.is-cream .jp-hours-row.is-total{background:var(--wa-white);}
.jp-hours-row.is-total .k{font-family:var(--font-display);font-size:21px;}
.jp-hours-row.is-total .v{font-family:var(--font-display);font-size:21px;color:var(--wa-ink);}
.jp-hours-row.is-busy .k,.jp-hours-row.is-busy .v{color:var(--wa-stone);font-size:15.5px;}

/* ---------- benefits ---------- */
.jp-benefits{display:grid;grid-template-columns:1fr 1fr;gap:28px 48px;margin-top:8px;}
.jp-benefit{display:flex;gap:16px;align-items:flex-start;}
.jp-benefit-ico{flex:none;width:24px;height:24px;color:var(--wa-forest);margin-top:2px;}
.jp-benefit-ico svg{width:24px;height:24px;stroke-width:1.5;}
.jp-benefit p{font-family:var(--font-sans);font-size:15.5px;line-height:1.55;color:var(--wa-ink);margin:0;}

/* ---------- "made for you if" alternating rows ---------- */
.jp-fitlist{display:flex;flex-direction:column;gap:1px;background:var(--wa-stone-20);border-radius:4px;overflow:hidden;border:1px solid var(--wa-stone-20);}
.jp-fitrow{background:var(--wa-white);padding:30px 34px;display:grid;grid-template-columns:48px 1fr;gap:24px;align-items:start;}
.jp-fitrow:nth-child(even){background:var(--wa-cream);}
.jp-section.is-cream .jp-fitrow{background:var(--wa-cream);}
.jp-section.is-cream .jp-fitrow:nth-child(even){background:var(--wa-white);}
.jp-fitnum{font-family:var(--font-display);font-size:26px;color:var(--wa-sage);line-height:1;}
.jp-fitrow p{font-family:var(--font-sans);font-size:16.5px;line-height:1.6;color:var(--wa-ink);margin:0;}

/* ---------- "made for you if" card grid ---------- */
.jp-fitgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;}
.jp-fitcard{background:var(--wa-white);border:1px solid var(--wa-stone-20);border-radius:4px;
  padding:30px 28px;display:flex;flex-direction:column;gap:16px;}
.jp-section.is-cream .jp-fitcard{background:var(--wa-white);}
.jp-fitcard .n{display:flex;align-items:center;justify-content:space-between;}
.jp-fitcard .n .num{font-family:var(--font-display);font-size:27px;color:var(--wa-sage);line-height:1;}
.jp-fitcard .n .tick{width:26px;height:26px;border-radius:50%;background:var(--wa-cream);display:flex;align-items:center;justify-content:center;}
.jp-fitcard .n .tick svg{width:15px;height:15px;color:var(--wa-moss);stroke-width:2;}
.jp-fitcard p{font-family:var(--font-sans);font-size:16px;line-height:1.55;color:var(--wa-ink);margin:0;}

/* ---------- "made for you if" two-column checklist (layout 1) ---------- */
.jp-fitchecks{display:grid;grid-template-columns:1fr 1fr;gap:0 64px;}
.jp-fitchecks .row{display:grid;grid-template-columns:28px 1fr;gap:16px;align-items:start;padding:22px 0;border-top:1px solid var(--wa-stone-20);}
.jp-fitchecks .row svg{width:28px;height:28px;color:var(--wa-moss);stroke-width:2;margin-top:1px;padding:6px;border-radius:50%;background:rgba(79,105,88,0.12);box-sizing:border-box;}
.jp-fitchecks .row p{font-family:var(--font-sans);font-size:16px;line-height:1.55;color:var(--wa-ink);margin:0;}

/* ---------- natural fit bullets ---------- */
.jp-checks{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:18px;}
.jp-checks li{display:flex;gap:16px;align-items:flex-start;font-family:var(--font-sans);font-size:16.5px;line-height:1.55;color:var(--wa-ink);}
.jp-checks svg{flex:none;width:22px;height:22px;color:var(--wa-moss);stroke-width:1.6;margin-top:1px;}

/* ---------- requirements (section 07) ---------- */
.jp-reqgrid{display:grid;grid-template-columns:1fr 0.74fr;gap:44px;align-items:stretch;}
.jp-reqcol{display:flex;flex-direction:column;gap:28px;}
.jp-reqlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;}
.jp-reqlist li{display:grid;grid-template-columns:24px 1fr;gap:16px;align-items:start;
  padding:20px 0;border-top:1px solid var(--wa-stone-20);
  font-family:var(--font-sans);font-size:16.5px;line-height:1.5;color:var(--wa-ink);}
.jp-reqlist li:first-child{border-top:0;padding-top:0;}
.jp-reqlist li svg{width:22px;height:22px;color:var(--wa-moss);stroke-width:1.7;margin-top:1px;}
.jp-bonuscard{background:#F4F3EF;border:1px solid var(--wa-stone-20);border-radius:4px;padding:30px 32px;}
.jp-bonuscard .lbl{display:flex;align-items:center;gap:8px;font-family:var(--font-sans);font-weight:500;font-size:13px;letter-spacing:0.16em;text-transform:uppercase;color:var(--wa-stone);margin-bottom:20px;}
.jp-bonuscard .lbl svg{width:16px;height:16px;color:var(--wa-moss);stroke-width:1.7;}
.jp-bonuslist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px;}
.jp-bonuslist li{display:grid;grid-template-columns:22px 1fr;gap:13px;align-items:start;
  font-family:var(--font-sans);font-size:16px;line-height:1.5;color:var(--wa-ink);}
.jp-bonuslist li svg{width:20px;height:20px;color:var(--wa-moss);stroke-width:1.8;margin-top:1px;}
.jp-reqimg{border-radius:4px;overflow:hidden;background:var(--wa-cream);}
.jp-reqimg img{width:100%;height:100%;object-fit:cover;display:block;min-height:520px;}

/* ---------- closing ---------- */
.jp-closing{
  position:relative;overflow:hidden;
  background:var(--wa-cream);border-radius:4px;
  padding:64px;text-align:left;
}
.jp-closing::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(90% 120% at 80% 10%,var(--wa-wheat-glow) 0%,rgba(255,248,174,0) 55%);
}
.jp-closing > *{position:relative;}
.jp-closing .jp-h2{margin-bottom:20px;}
.jp-closing p{font-family:var(--font-display);font-size:22px;line-height:1.5;color:var(--wa-ink);max-width:620px;margin:0;}
.jp-closing .jp-small{margin-top:22px;}
.jp-cta{
  display:inline-flex;align-self:flex-start;align-items:center;gap:10px;margin-top:32px;
  background:var(--wa-forest);color:var(--wa-cream);text-decoration:none;
  font-family:var(--font-sans);font-weight:500;font-size:16px;
  padding:16px 28px;border-radius:52px;cursor:pointer;
  transition:background var(--dur-fast,140ms) var(--ease-out),transform 80ms var(--ease-out);
}
.jp-cta:hover{background:#2B3A32;}
.jp-cta:active{transform:scale(0.98);}
.jp-cta svg{width:18px;height:18px;stroke-width:1.7;}

/* ---------- apply (editorial split) ---------- */
.jp-apply{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--wa-stone-20);border-radius:4px;overflow:hidden;}
.jp-apply-left{background:#F4F3EF;padding:64px 52px;display:flex;flex-direction:column;justify-content:center;}
.jp-apply-eyebrow{font-family:var(--font-sans);font-weight:500;font-size:13px;letter-spacing:0.16em;text-transform:uppercase;color:var(--wa-stone);}
.jp-apply-left h2{font-family:var(--font-display);font-weight:400;font-size:44px;line-height:1.08;letter-spacing:-0.01em;margin:18px 0 0;color:var(--wa-ink);}
.jp-apply-left p{font-family:var(--font-display);font-size:21px;line-height:1.5;color:var(--wa-ink);margin:22px 0 0;max-width:30ch;}
.jp-apply-right{background:#F4F3EF;padding:56px 52px;display:flex;flex-direction:column;justify-content:center;}
.jp-apply-steps{list-style:none;margin:0 0 36px;padding:0;position:relative;}
.jp-apply-steps li{position:relative;display:grid;grid-template-columns:38px 1fr;gap:18px;padding:13px 0;align-items:center;}
.jp-apply-steps li::before{content:"";position:absolute;left:18px;top:0;bottom:0;width:2px;background:var(--wa-stone-20);z-index:0;}
.jp-apply-steps li:first-child::before{top:50%;}
.jp-apply-steps li:last-child::before{bottom:50%;}
.jp-apply-steps .num{position:relative;z-index:1;width:38px;height:38px;border-radius:50%;background:var(--wa-forest);color:var(--wa-cream);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:18px;line-height:1;}
.jp-apply-steps .tx{font-family:var(--font-sans);font-size:16.5px;line-height:1.5;color:var(--wa-ink);}
.jp-apply-email{font-family:var(--font-sans);font-size:16.5px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;transition:opacity var(--dur-fast,140ms) var(--ease-out);}
.jp-apply-email:hover{opacity:0.65;}
.jp-apply-chip{font-family:var(--font-sans);border-bottom:1px solid currentColor;padding-bottom:2px;}

/* ---------- compensation + hours 2-col ---------- */
.jp-compgrid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:32px;align-items:stretch;}
.jp-compgrid .jp-comp{margin:0;height:100%;}
.jp-hourscard{border:1px solid var(--wa-stone-20);border-radius:4px;padding:32px;background:var(--wa-white);height:100%;display:flex;flex-direction:column;}
.jp-section.is-cream .jp-hourscard{background:var(--wa-white);}
.jp-hourscard .jp-hours-label{font-family:var(--font-sans);font-weight:500;font-size:13px;letter-spacing:0.16em;text-transform:uppercase;color:var(--wa-stone);margin-bottom:22px;}
.jp-hourscard .jp-hours{flex:1;}

/* ---------- natural-fit subhead inside merged section ---------- */
.jp-subhead{font-family:var(--font-sans);font-weight:500;font-size:13px;letter-spacing:0.16em;text-transform:uppercase;color:var(--wa-stone);margin:52px 0 22px;}

/* ---------- sticky apply bar ---------- */
.jp-sticky{
  /* tokens — this bar lives outside .jobpost, so redeclare what it needs */
  --wa-forest:#37463D;--wa-cream:#F8F8F8;--wa-white:#FFFFFF;--wa-sage:#8B9B91;--wa-ink:#2A2A2A;--wa-wheat:#D8D294;
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:var(--wa-forest);color:var(--wa-cream);
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:14px 40px;
  transform:translateY(0);transition:transform 360ms var(--ease-out);
  box-shadow:0 -2px 24px rgba(0,0,0,0.16);
}
.jp-sticky.is-hidden{transform:translateY(110%);}
.jp-sticky-info{display:flex;flex-direction:column;line-height:1.2;}
.jp-sticky-info .t{font-family:var(--font-display);font-size:18px;color:var(--wa-white);}
.jp-sticky-info .s{font-family:var(--font-sans);font-size:13px;color:var(--wa-sage);}
.jp-sticky-cta{
  display:inline-flex;align-items:center;gap:9px;flex:none;
  background:var(--wa-wheat);color:var(--wa-ink);text-decoration:none;
  font-family:var(--font-sans);font-weight:500;font-size:15px;
  padding:13px 24px;border-radius:52px;cursor:pointer;
  transition:background var(--dur-fast,140ms) var(--ease-out),transform 80ms var(--ease-out);
}
.jp-sticky-cta:hover{background:#CBC487;}
.jp-sticky-cta:active{transform:scale(0.98);}
.jp-sticky-cta svg{width:16px;height:16px;stroke-width:1.7;}

/* ---------- how to apply steps ---------- */
.jp-steps{list-style:none;margin:6px 0 0;padding:0;counter-reset:step;display:flex;flex-direction:column;gap:18px;}
.jp-steps li{display:grid;grid-template-columns:40px 1fr;gap:18px;align-items:baseline;}
.jp-steps li::before{
  counter-increment:step;content:counter(step);
  font-family:var(--font-display);font-size:22px;color:var(--wa-sage);line-height:1;
}
.jp-steps li p{font-family:var(--font-sans);font-size:17px;line-height:1.5;color:var(--wa-ink);margin:0;}
.jp-steps li p a{border-bottom:1px solid var(--wa-stone);padding-bottom:1px;}
.jp-steps li p a:hover{opacity:0.7;}

/* ---------- responsive ---------- */
@media screen and (max-width:991px){
  .jp-section{padding-top:64px;padding-bottom:64px;}
  .jp-header{padding:104px 28px 48px;}
  .jp-hero{min-height:520px;}
  .jp-hero-inner{padding:96px var(--jp-gutter) 48px;}
  .jp-rolelayout{gap:48px;}
  .jp-body{font-size:16.5px;}
  .jp-title{font-size:42px;}
  .jp-h2{font-size:30px;}
  .jp-comp{padding:40px 32px;}
  .jp-closing{padding:44px 32px;}
}
@media screen and (max-width:860px){
  /* collapse heavy multi-column layouts for tablets & large phones */
  .jp-rolelayout{grid-template-columns:1fr;gap:28px;}
  .jp-roleimg{order:-1;}
  .jp-rolelayout.is-rev{grid-template-columns:1fr;}
  .jp-rolelayout.is-rev .jp-roleimg{order:-1;aspect-ratio:auto;align-self:stretch;}
  .jp-rolelayout.is-rev .jp-roleimg img{min-height:320px;}
  .jp-roleimg img{min-height:300px;}
  .jp-compgrid{grid-template-columns:1fr;gap:24px;}
  .jp-apply{grid-template-columns:1fr;}
  .jp-reqgrid{grid-template-columns:1fr;gap:28px;}
  .jp-reqimg img{min-height:340px;}
  .jp-taskgrid{grid-template-columns:1fr 1fr;gap:24px;}
  .jp-fitchecks{grid-template-columns:1fr;gap:0;}
}
@media screen and (max-width:680px){
  .jp-section{padding-top:52px;padding-bottom:52px;}
  .jp-header{padding:96px 22px 40px;}
  .jp-hero{min-height:0;}
  .jp-hero-inner{padding:92px var(--jp-gutter) 44px;}
  .jobpost{--jp-gutter:24px;}
  .jp-title{font-size:34px;}
  .jp-body{font-size:16px;}
  .jp-subtitle{font-size:17px;}
  /* square/self-sizing photos on phones */
  .jp-roleimg,.jp-reqimg,.jp-rolelayout.is-rev .jp-roleimg{aspect-ratio:auto;align-self:start;}
  .jp-roleimg img,.jp-reqimg img,.jp-rolelayout.is-rev .jp-roleimg img{min-height:0;height:auto;}
  /* bonus pill: keep on one line */
  .jp-comp{padding:32px 22px;}
  .jp-bonus{font-size:13px;padding:9px 15px;gap:8px;}
  .jp-bonus svg{width:15px;height:15px;}
  .jp-secrule{display:none;}
  .jp-grid2{grid-template-columns:1fr;}
  .jp-benefits{grid-template-columns:1fr;gap:22px;}
  .jp-tl-item{grid-template-columns:1fr;gap:8px;padding:26px 0;}
  .jp-tiers{grid-template-columns:1fr;gap:20px;text-align:center;}
  .jp-arrow{transform:rotate(90deg);}
  .jp-tier.is-start .jp-tier-v,.jp-tier.is-grow .jp-tier-v{font-size:40px;}
  .jp-fitrow{grid-template-columns:1fr;gap:10px;}
  .jp-fitgrid{grid-template-columns:1fr;}
  .jp-hours-row{flex-direction:column;gap:4px;}
  .jp-lead{font-size:19px;}
  .jp-rolelayout{gap:26px;}
  .jp-compgrid{grid-template-columns:1fr;gap:24px;}
  .jp-taskgrid{grid-template-columns:1fr;gap:26px;}
  .jp-taskband{margin-bottom:32px;}
  .jp-apply{grid-template-columns:1fr;}
  .jp-apply-left{padding:40px 26px 8px;}
  .jp-apply-right{padding:20px 26px 36px;}
  .jp-apply-left h2{font-size:34px;}
  .jp-rolelayout{grid-template-columns:1fr;gap:22px;}
  .jp-roleimg{order:-1;}
  .jp-rolelayout.is-rev .jp-roleimg{order:-1;}
  .jp-reqgrid{grid-template-columns:1fr;gap:24px;}
  .jp-taskgrid{grid-template-columns:1fr;gap:26px;}
  .jp-taskband{margin-bottom:32px;}
  .jp-sticky-info{display:none;}
  .jp-sticky{justify-content:center;padding:12px 22px;}
  .jp-sticky-cta{width:100%;justify-content:center;}
}
