.stylist-page { background: #fcfaf8; color: #252125; }
.stylist-hero { display: grid; grid-template-columns: 1fr 1fr; }
.stylist-photo { min-height: 650px; position: relative; }
.stylist-photo img { position: absolute; inset: 0; object-position: 56% center; }
.stylist-intro { background: #6b465b; color: #fff7f2; padding: 45px 10%; }
.stylist-intro .eyebrow { color: #e8d5df; font-size: 11px; }
.stylist-intro h1 { font-size: clamp(40px,4.5vw,64px); letter-spacing: -.05em; line-height: 1.06; margin: 20px 0 24px; font-weight: 800; }
.stylist-intro > p:not(.eyebrow) { font-size: 15px; color: #f0e5eb; }
.application-gate { margin-top: 32px; padding: 28px; background: #fcfaf8; color: #252125; }
.application-gate h2 { font-size: 26px; letter-spacing: -.04em; }
.application-gate p { font-size: 13px; color: #655b62; margin: 13px 0 20px; }
.application-gate .button { width: 100%; justify-content: center; font-size: 13px; }
.application-gate .application-signin { margin: 18px 0 0; text-align: center; font-size: 12px; }
.application-signin a { color: #6b465b; text-decoration: underline; font-weight: 700; }
.stylist-intro .stylist-location { font-size: 11px !important; margin-top: 25px; }
#continue-application { margin-top: 30px; }
.application-wrap { max-width: 800px; margin: auto; padding: 0 6%; }
.application-wrap:has(#application-fields:not([hidden])), .application-wrap:has(#application-receipt:not([hidden])) { padding-block: 65px; }
.application-wrap h2 { font-size: clamp(30px,3.5vw,42px); letter-spacing: -.04em; margin: 15px 0; }
.application-wrap .eyebrow { color: #6b465b; }
.application-lead { color: #655b62; font-size: 15px; margin-bottom: 30px; }
.application-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
#stylist-form label, #stylist-form legend { font-size: 13px; font-weight: 600; }
#stylist-form label { display: block; margin: 0 0 22px; }
#stylist-form label > span:not(.field-note) { font-weight: 400; }
#stylist-form input:not([type=checkbox]), #stylist-form select, #stylist-form textarea { width: 100%; padding: 13px; margin-top: 9px; border: 1px solid #cfc5cc; border-radius: 0; color: #252125; background: white; font: 400 15px 'DM Sans',sans-serif; }
#stylist-form textarea { min-height: 110px; resize: vertical; }
#stylist-form input[readonly] { background: #f2ecef; }
#stylist-form .field-note { display: block; color: #756a72; font-size: 11px; font-weight: 400; margin-top: 6px; }
#stylist-form fieldset { border: 0; padding: 0; margin: 0 0 22px; }
.application-choices { display: flex; gap: 30px; margin-top: 14px; }
#stylist-form .application-choices label, #stylist-form .application-consent { display: flex; align-items: start; gap: 10px; font-size: 13px; line-height: 1.6; }
#stylist-form input[type=checkbox] { accent-color: #6b465b; width: 18px; height: 18px; flex-shrink: 0; margin: 2px 0 0; }
#stylist-form .application-choices label { margin: 0; }
.application-consent a { text-decoration: underline; }
#application-message:not(:empty) { margin: 24px 0; font-size: 14px; color: #6b465b; }
.application-receipt { padding: 30px; border: 1px solid #d6c8d1; background: #f2ecef; }
.application-receipt p { margin-top: 16px; font-size: 14px; }
.stylist-process { padding: 65px 7%; max-width: 1320px; margin: auto; }
.stylist-process > .eyebrow { color: #6b465b; text-align: center; }
.stylist-process > h2 { font-size: clamp(28px,3vw,40px); letter-spacing: -.04em; text-align: center; margin: 17px 0 40px; }
.stylist-process-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 40px; }
.stylist-process article { border-top: 1px solid #d7cbd3; padding-top: 22px; }
.stylist-process article > span { color: #6b465b; font-size: 12px; }
.stylist-process h3 { font-size: 19px; margin: 15px 0 10px; }
.stylist-process article p { font-size: 14px; color: #655b62; }
@media(max-width:700px) {
  .stylist-hero { grid-template-columns: 1fr; }
  .stylist-photo { min-height: 0; height: 300px; }
  .stylist-photo img { object-position: center 25%; }
  .stylist-intro { padding: 36px 6%; }
  .application-gate { padding: 25px; }
  .application-grid, .stylist-process-grid { grid-template-columns: 1fr; gap: 0; }
  .stylist-process article { margin-top: 24px; }
  .stylist-process { padding: 40px 6%; }
  .stylist-process > h2 { margin-bottom: 15px; }
}
