/* Recruitment notices. Colours and typography follow the salon's shared settings. */
.jobs-page { padding-top:clamp(105px,12vw,158px); }
.jobs-lead { padding-bottom:clamp(55px,8vw,108px); }
.jobs-back { display:inline-block; margin-bottom:clamp(25px,4vw,55px); font-size:13px; }
.jobs-lead-grid,.jobs-apply,.jobs-board-inner,.jobs-teaser-inner { display:grid; gap:clamp(28px,6vw,95px); align-items:center; }
.jobs-lead-grid { grid-template-columns:minmax(0,1.24fr) minmax(0,.76fr); }
.jobs-intro h1,.jobs-board h2,.jobs-apply h2,.jobs-teaser h2 { margin:0; font-family:var(--display); line-height:.99; letter-spacing:-.045em; overflow-wrap:break-word; }
.jobs-intro h1 { font-size:clamp(52px,6.8vw,104px); max-width:12ch; }
.jobs-intro em,.jobs-apply em,.jobs-teaser em { font-family:Georgia,serif; font-weight:400; }
.jobs-intro-text { font-size:clamp(17px,1.5vw,22px); max-width:46ch; margin:27px 0; }
.jobs-photo { margin:8px clamp(8px,1vw,18px) 8px 4px; padding:12px 12px 0; width:min(100%,390px); justify-self:center; border:1px solid var(--color-text); background:var(--color-background); box-shadow:8px 8px 0 var(--color-accent); transform:rotate(2deg); }
.jobs-photo-window { overflow:hidden; border:1px solid #25382f50; background:#e7dece; }
.jobs-photo img { width:100%; height:auto; aspect-ratio:800/920; object-fit:cover; }
.jobs-photo figcaption { padding:13px 5px 17px; color:var(--color-text); font:italic 16px Georgia,serif; }
.jobs-board { padding:clamp(45px,6vw,75px) 0; background:var(--color-forest); color:#f4eee3; }
.jobs-board-inner,.jobs-apply,.jobs-teaser-inner { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); }
.jobs-board .eyebrow { color:#e2c887; }
.jobs-board h2,.jobs-apply h2,.jobs-teaser h2 { font-size:clamp(38px,4.8vw,76px); }
.jobs-signal { display:inline-flex; align-items:baseline; gap:10px; max-width:100%; color:var(--color-text); background:var(--color-background); border:1px solid currentColor; border-radius:3px; padding:8px 12px; font-size:13px; font-weight:750; line-height:1.5; }
.jobs-signal output { min-width:0; overflow-wrap:anywhere; }
.jobs-signal i { border-radius:50%; width:9px; height:9px; border:1.5px solid currentColor; flex:none; }
.jobs-signal[data-jobs-state="open"] i { background:currentColor; }
.jobs-signal[data-jobs-state="open"] { background:var(--color-lime); color:#172a22; }
.jobs-opening { border-top:1px solid #f4eee375; margin-top:24px; padding-top:24px; }
.jobs-opening h3 { font:700 clamp(24px,2.5vw,38px)/1.12 var(--body); margin:0 0 12px; }
.jobs-opening p { margin:8px 0; white-space:pre-line; }.jobs-opening-details { color:#e2c887; }
.jobs-opening a { color:#fff6e9; }
.jobs-apply { align-items:start; padding-block:clamp(55px,8vw,100px); scroll-margin-top:105px; }
.jobs-apply .jobs-mail-help,.jobs-email { font-size:13px; }.jobs-mail-help { margin:20px 0 5px; }.jobs-email { overflow-wrap:anywhere; }
.jobs-apply .jobs-apply-action { margin:8px 3px 0 0; }
.jobs-teaser { background:var(--color-lime); border-block:1px solid #25382f; color:#172a22; padding-block:clamp(42px,6vw,85px); }
.jobs-teaser .eyebrow { color:#314333; }.jobs-teaser h2 { max-width:14ch; }
.jobs-ticket { position:relative; padding:clamp(20px,3vw,38px); background:var(--color-background); color:var(--color-text); border:1px solid var(--color-text); box-shadow:5px 5px 0 var(--color-forest); }
.jobs-ticket p { margin:17px 0 12px;max-width:44ch; }.jobs-ticket-link { display:inline-block; padding-block:9px; text-decoration-thickness:2px; text-underline-offset:5px; font-size:15px; font-weight:700; }
@media(max-width:760px){
 .jobs-lead-grid,.jobs-apply,.jobs-board-inner,.jobs-teaser-inner { grid-template-columns:minmax(0,1fr); }
 .jobs-photo { width:min(78%,320px); justify-self:start; margin-left:10px; }
 .jobs-intro h1 { font-size:clamp(48px,11.5vw,78px); }
 .jobs-board-inner,.jobs-teaser-inner,.jobs-apply { gap:25px; }
}
.jobs-opening .jobs-opening-state { display:inline-block; padding:3px 8px; margin:0 0 12px; border:1px solid #e2c88799; color:#e2c887; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.jobs-summary { display:block; margin:5px 0 8px; font-weight:600; line-height:1.5; }
.jobs-summary:empty { display:none; }

/* Drafts are safe even before JavaScript or when it cannot run. The original
   field elements stay in the HTML for AMATH's original-content analyzer. */
.jobs-list > .jobs-opening { display:none; }
.jobs-list > .jobs-opening.is-published:not([hidden]) { display:block; }
