/* Recruitment content follows the site's Astra typography and global palette.
   Reference: Home / About / Hair Salon. No standalone font imports or site-shell rules. */
.sf-careers {
  --sf-paper:var(--ast-global-color-4,#fff);
  --sf-heading:var(--ast-global-color-0,#373737);
  --sf-ink:var(--ast-global-color-8,#000);
  --sf-muted:var(--ast-global-color-0,#373737);
  --sf-line:var(--ast-global-color-1,#e0d2ac);
  --sf-accent:var(--ast-global-color-3,#b8983c);
  --sf-soft:var(--ast-global-color-6,#e8dec0);
  background:var(--sf-paper); color:var(--sf-ink);
  font-family:inherit; font-size:16px; line-height:2; width:100%; margin:0; padding:0;
}
.sf-careers *, .sf-careers *::before, .sf-careers *::after { box-sizing:border-box; }
.sf-careers.wp-block-group.alignfull { padding:0; }
.sf-careers .wp-block-group { margin-block-start:0; margin-block-end:0; }
.sf-careers :is(h1,h2,h3,p,figure,ul,.wp-block-buttons,.wp-block-details) { margin:0; }
/* Font family, heading weight and responsive H2/H3 sizes come from Astra. */
.sf-careers :is(h1,h2,h3) { color:var(--sf-heading); letter-spacing:normal; }
.sf-careers p { font:inherit; line-height:2; }
.sf-careers a { color:inherit; text-decoration:none; }
.sf-careers a:hover { color:var(--sf-accent); }
.sf-careers a:focus-visible, .sf-careers summary:focus-visible { outline:2px solid var(--sf-accent); outline-offset:4px; }
.sf-careers figure img { display:block; width:100%; max-width:100%; height:auto; border-radius:0; object-fit:cover; }
.sf-careers .wp-element-caption { margin:10px 0 0; color:var(--sf-muted); font-size:14px; letter-spacing:normal; text-align:left; line-height:1.8; }
.sf-careers .sf-wrap { width:calc(100% - 80px); max-width:var(--ast-normal-container-width,1200px); margin-inline:auto; }
.sf-careers .sf-section { padding-block:50px; }
.sf-careers .sf-eyebrow { color:var(--sf-accent); font-size:14px; line-height:1.8; letter-spacing:normal; font-weight:400; margin-bottom:15px; }
.sf-careers .sf-muted { color:var(--sf-muted); }
.sf-careers .sf-small { color:var(--sf-muted); font-size:14px; letter-spacing:normal; }
.sf-careers .sf-text-link { font-size:16px; }
.sf-careers .sf-text-link a { display:inline-block; color:var(--sf-accent); border-bottom:1px solid var(--sf-line); padding-bottom:2px; }
.sf-careers .sf-actions { display:flex; flex-wrap:wrap; gap:15px; align-items:center; margin-top:20px; }
.sf-careers .wp-block-button .wp-block-button__link {
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 20px; border:0; border-radius:0;
  background:var(--sf-heading); color:var(--sf-paper);
  font-family:Manrope,sans-serif; font-size:15px; font-weight:700; line-height:1; letter-spacing:normal; text-decoration:none;
}
.sf-careers .wp-block-button .wp-block-button__link:hover { background:var(--sf-accent); color:var(--sf-paper); }
.sf-careers :is(.sf-hero,.sf-closing) .wp-block-button:not(.sf-button-text) .wp-block-button__link { background:var(--sf-accent); border-radius:30px; }
.sf-careers :is(.sf-hero,.sf-closing) .wp-block-button:not(.sf-button-text) .wp-block-button__link:hover { background:var(--sf-heading); }
.sf-careers .sf-button-text .wp-block-button__link { background:transparent; color:var(--sf-heading); padding-inline:0; font-family:inherit; font-size:16px; font-weight:400; line-height:1.5; }
.sf-careers .sf-button-text .wp-block-button__link:hover { background:transparent; color:var(--sf-accent); }
.sf-careers .sf-hero { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; padding-block:50px 40px; }
.sf-careers .sf-hero-copy { min-width:0; }
.sf-careers .sf-title { font-size:48px; font-weight:700; line-height:1.25; margin-bottom:20px; }
.sf-careers .sf-title em { font-style:normal; color:var(--sf-accent); }
.sf-careers .sf-intro { font-size:16px; line-height:2; margin-bottom:15px; }
.sf-careers .sf-hero-note { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-top:25px; padding-top:15px; border-top:1px solid var(--sf-line); font-size:12px; line-height:1.8; color:var(--sf-muted); }
.sf-careers .sf-hero-note em { font-style:normal; }
.sf-careers .sf-hero-photo img { height:400px; filter:grayscale(1); }
.sf-careers .sf-chapter { display:flex; justify-content:space-between; gap:20px; padding-block:20px; border-top:1px solid var(--sf-line); border-bottom:1px solid var(--sf-line); }
.sf-careers .sf-chapter p { font-size:14px; color:var(--sf-muted); }
.sf-careers .sf-belief { display:grid; grid-template-columns:1fr 2fr; gap:40px; }
.sf-careers .sf-belief>.sf-eyebrow { padding-top:8px; }
.sf-careers .sf-belief-copy { max-width:760px; }
.sf-careers .sf-belief-copy h2 { margin-bottom:20px; }
.sf-careers .sf-belief-copy p+p { margin-top:15px; }
.sf-careers .sf-belief-copy>.sf-text-link { margin-top:20px; }
.sf-careers .sf-support { background:var(--sf-soft); color:var(--sf-ink); }
.sf-careers .sf-support-heading { display:flex; justify-content:space-between; align-items:start; gap:40px; margin-bottom:30px; }
.sf-careers .sf-support-heading .sf-eyebrow { padding-top:8px; color:var(--sf-heading); }
.sf-careers .sf-support-heading h2 { width:66.67%; }
.sf-careers .sf-support-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.sf-careers .sf-support-item { padding-top:20px; border-top:1px solid var(--sf-accent); }
.sf-careers .sf-support-item .sf-small { color:var(--sf-heading); margin-bottom:15px; }
.sf-careers .sf-support-item h3 { margin-bottom:15px; }
.sf-careers .sf-support-item>p:last-child { font-size:16px; }
.sf-careers .sf-growth { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }
.sf-careers .sf-growth-photo img { height:510px; }
.sf-careers .sf-growth-copy h2 { margin-bottom:20px; }
.sf-careers .sf-growth-copy .sf-lead { font-size:16px; margin-bottom:15px; }
.sf-careers .sf-growth-copy>p:not(.sf-eyebrow)+p { margin-top:15px; }
.sf-careers .sf-detail-photo { width:220px; margin:20px 0 0 auto; }
.sf-careers .sf-detail-photo img { aspect-ratio:4/3; }
.sf-careers .sf-quote { padding-block:40px; text-align:center; border-top:1px solid var(--sf-line); border-bottom:1px solid var(--sf-line); }
.sf-careers .sf-manifesto { font-family:Lato,sans-serif; font-size:24px; font-weight:700; line-height:1.4; color:var(--sf-heading); margin-bottom:20px; }
.sf-careers .sf-quote .sf-small { color:var(--sf-muted); }
.sf-careers .sf-positions-head { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end; margin-bottom:25px; }
.sf-careers .sf-positions-head>p { color:var(--sf-muted); font-size:16px; }
.sf-careers .sf-location { border-top:1px solid var(--sf-line); padding-block:15px; font-size:14px; letter-spacing:normal; }
.sf-careers .sf-location strong { font-weight:400; float:right; color:var(--sf-muted); }
.sf-careers .sf-role { border-top:1px solid var(--sf-line); background:transparent; padding:0; }
.sf-careers .sf-role:last-of-type { border-bottom:1px solid var(--sf-line); }
.sf-careers .sf-role>summary { display:flex; align-items:center; gap:20px; cursor:pointer; list-style:none; padding:20px 0; font-size:16px; font-weight:400; line-height:2; }
.sf-careers .sf-role>summary::-webkit-details-marker { display:none; }
.sf-careers .sf-role>summary::marker { content:''; }
.sf-careers .sf-role>summary strong { flex:1; font-family:Lato,sans-serif; font-size:24px; line-height:1.4; font-weight:700; color:var(--sf-heading); background:transparent; }
.sf-careers .sf-role>summary::after { content:'+'; width:25px; flex-shrink:0; font-size:24px; text-align:center; font-weight:400; color:var(--sf-accent); }
.sf-careers .sf-role[open]>summary::after { content:'−'; }
.sf-careers .sf-role-content { display:grid; grid-template-columns:1fr 1fr; gap:40px; padding:0 0 25px; }
.sf-careers .sf-role-description>.sf-small { margin-bottom:15px; color:var(--sf-muted); }
.sf-careers .sf-role-content p { font-size:16px; line-height:2; }
.sf-careers .sf-role-description p+p { margin-top:15px; }
.sf-careers .sf-role-conditions { padding-top:40px; }
.sf-careers .sf-role-conditions .sf-salary { font-size:16px; font-weight:700; margin-bottom:15px; }
.sf-careers .sf-role-conditions ul { margin:0; padding-left:20px; font-size:16px; color:var(--sf-muted); line-height:2; }
.sf-careers .sf-role-conditions li+li { margin-top:8px; }
.sf-careers .sf-source { margin-top:20px; color:var(--sf-muted); font-size:14px; }
.sf-careers .sf-closing { background:var(--sf-paper); text-align:center; border-top:1px solid var(--sf-line); }
.sf-careers .sf-closing h2 { margin-bottom:20px; }
.sf-careers .sf-closing .sf-actions { justify-content:center; margin-block:20px 15px; }
.sf-careers [id] { scroll-margin-top:110px; }
@media(max-width:921px) {
 .sf-careers .sf-wrap { width:calc(100% - 60px); }
 .sf-careers .sf-hero,.sf-careers .sf-growth { gap:30px; }
 .sf-careers .sf-hero-photo img { height:380px; }
 .sf-careers .sf-support-grid { gap:20px; }
 .sf-careers .sf-role-content { gap:30px; }
}
@media(max-width:767px) {
 .sf-careers .sf-wrap { width:calc(100% - 40px); }
 .sf-careers .sf-section { padding-block:30px; }
 .sf-careers .sf-hero { grid-template-columns:1fr; gap:25px; padding-block:30px; }
 .sf-careers .sf-title { font-size:32px; line-height:1.4; margin-bottom:15px; }
 .sf-careers .sf-eyebrow { margin-bottom:15px; }
 .sf-careers .sf-hero-photo img { height:auto; aspect-ratio:4/3; }
 .sf-careers .wp-block-button .wp-block-button__link { min-height:44px; }
 .sf-careers .sf-chapter { flex-wrap:wrap; padding-block:15px; gap:8px 15px; }
 .sf-careers .sf-belief { grid-template-columns:1fr; gap:0; }
 .sf-careers .sf-belief>.sf-eyebrow { padding:0; }
 .sf-careers .sf-support-heading { display:block; margin-bottom:25px; }
 .sf-careers .sf-support-heading .sf-eyebrow { padding:0; }
 .sf-careers .sf-support-heading h2 { width:auto; }
 .sf-careers .sf-support-grid { grid-template-columns:1fr; gap:25px; }
 .sf-careers .sf-growth { grid-template-columns:1fr; gap:25px; }
 .sf-careers .sf-growth-photo img { height:auto; aspect-ratio:4/5; }
 .sf-careers .sf-detail-photo { width:65%; max-width:220px; }
 .sf-careers .sf-quote { padding-block:30px; }
 .sf-careers .sf-manifesto { font-size:20px; line-height:1.5; }
 .sf-careers .sf-positions-head { grid-template-columns:1fr; gap:20px; margin-bottom:20px; }
 .sf-careers .sf-role>summary { flex-wrap:wrap; justify-content:space-between; gap:5px 10px; font-size:16px; }
 .sf-careers .sf-role>summary strong { flex:0 0 100%; font-size:20px; }
 .sf-careers .sf-role-content { grid-template-columns:1fr; gap:20px; }
 .sf-careers .sf-role-conditions { padding-top:0; }
 .sf-careers .sf-location strong { float:none; display:block; }
}
