/* Finished-skincare service page. All selectors stay within the OEM module. */
.oem-page { overflow-wrap: break-word; }
.oem-eyebrow { display:block; color:#7c6957; font-size:11px; font-weight:500; letter-spacing:.12em; line-height:1.6; }
.oem-hero { background:var(--soft); padding:42px 0 60px; }
.oem-hero-grid { display:grid; grid-template-columns:minmax(0, .95fr) minmax(0, 1.1fr); gap:56px; align-items:center; }
.oem-hero-copy { min-width:0; }
.oem-hero-copy .breadcrumb { margin-bottom:36px; }
.oem-hero-copy h1 { font-size:clamp(40px,4.1vw,62px); max-width:590px; margin-top:17px; text-wrap:balance; }
.oem-lead { font-size:18px; line-height:1.75; margin-top:24px; max-width:520px; }
.oem-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin-top:30px; }
.oem-actions .text-link { font-size:13px; gap:15px; }
.oem-format-line { font-size:12px; line-height:1.8; margin-top:28px; padding-top:21px; border-top:1px solid var(--line); max-width:520px; }
.oem-hero-image { margin:0; background:#d6cec5; min-width:0; }
.oem-hero-image img { width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; }
.oem-mode-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px; }
.oem-mode { display:flex; flex-direction:column; align-items:flex-start; min-width:0; border-top:1px solid #b9a286; padding-top:27px; }
.oem-mode h3 { font-size:clamp(28px,2.5vw,37px); margin-top:17px; max-width:480px; text-wrap:balance; }
.oem-mode > p { font-size:16px; line-height:1.8; margin-top:21px; max-width:555px; }
.oem-mode .oem-starting-point { font-size:13px; padding:18px 0 26px; margin-top:17px; color:#55494d; border-top:1px solid var(--line); width:100%; }
.oem-mode .text-link { margin-top:auto; }
.oem-development-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr); gap:80px; align-items:center; }
.oem-development-copy { min-width:0; }
.oem-development-copy h2 { margin-top:17px; max-width:570px; text-wrap:balance; }
.oem-development-list { margin:30px 0; }
.oem-development-list > div { border-top:1px solid var(--line); padding:20px 0 0; margin-top:20px; }
.oem-development-list dt { font-size:17px; font-weight:500; color:var(--ink); }
.oem-development-list dd { margin:8px 0 0; font-size:15px; line-height:1.8; color:var(--muted); }
.oem-development-image { margin:0; max-width:480px; width:100%; justify-self:end; }
.oem-development-image img { width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; }
.oem-process { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; padding:0; margin:0; list-style:none; }
.oem-process li { display:flex; flex-direction:column; min-width:0; border-top:1px solid #b9a286; padding-top:21px; }
.oem-step-number { font-size:12px; color:#8c7051; letter-spacing:.08em; }
.oem-process h3 { font-size:26px; margin:22px 0 17px; text-wrap:balance; }
.oem-process p { font-size:15px; line-height:1.8; margin-bottom:23px; }
.oem-process .oem-step-output { margin-top:auto; margin-bottom:0; padding-top:16px; border-top:1px solid var(--line); font-size:13px; color:#594a41; }
.oem-readiness-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px 64px; }
.oem-readiness-grid article { min-width:0; border-top:1px solid var(--line); padding-top:23px; }
.oem-readiness-grid h3 { font-size:26px; text-wrap:balance; }
.oem-readiness-grid p { font-size:15px; line-height:1.8; margin-top:15px; max-width:550px; }
.oem-project-brief { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,.75fr); align-items:center; gap:70px; }
.oem-project-brief h2 { max-width:700px; text-wrap:balance; }
.oem-project-brief p { font-size:17px; line-height:1.8; margin-top:23px; max-width:680px; }
.oem-project-actions { display:flex; flex-direction:column; align-items:flex-start; gap:24px; justify-self:end; }

@media(max-width:1100px) {
  .oem-hero-grid { gap:36px; }
  .oem-hero-copy h1 { font-size:47px; }
  .oem-hero-copy .breadcrumb { margin-bottom:28px; }
  .oem-lead { font-size:16px; }
  .oem-mode-grid,.oem-readiness-grid { gap:38px; }
  .oem-development-grid { gap:45px; }
  .oem-process { grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px; }
  .oem-project-brief { gap:40px; }
}
@media(max-width:760px) {
  .oem-hero-grid,.oem-development-grid { grid-template-columns:minmax(0,1fr); gap:35px; }
  .oem-hero { padding:28px 0 42px; }
  .oem-hero-copy h1 { font-size:43px; max-width:560px; }
  .oem-hero-copy .breadcrumb { margin-bottom:24px; }
  .oem-lead { max-width:620px; }
  .oem-format-line { max-width:none; }
  .oem-hero-image { width:100%; max-width:680px; }
  .oem-development-image { justify-self:center; max-width:460px; }
  .oem-mode-grid { gap:32px; }
  .oem-mode h3 { font-size:29px; }
  .oem-mode > p { font-size:15px; }
  .oem-project-brief { grid-template-columns:minmax(0,1fr); gap:26px; }
  .oem-project-actions { justify-self:start; flex-direction:row; align-items:center; flex-wrap:wrap; }
}
@media(max-width:600px) {
  .oem-hero-copy h1 { font-size:39px; }
  .oem-eyebrow { font-size:10px; letter-spacing:.08em; }
  .oem-lead { margin-top:19px; font-size:15px; }
  .oem-actions { align-items:flex-start; flex-direction:column; gap:21px; margin-top:24px; }
  .oem-format-line { font-size:11px; }
  .oem-mode-grid,.oem-process,.oem-readiness-grid { grid-template-columns:minmax(0,1fr); gap:34px; }
  .oem-mode h3 { font-size:30px; }
  .oem-mode .oem-starting-point { padding-bottom:20px; }
  .oem-development-copy h2 { font-size:32px; }
  .oem-development-list { margin-top:23px; }
  .oem-development-list dd { font-size:14px; }
  .oem-process h3 { font-size:26px; margin-top:17px; }
  .oem-process p { font-size:14px; }
  .oem-readiness-grid h3 { font-size:25px; }
  .oem-readiness-grid p { font-size:14px; }
  .oem-project-brief h2 { font-size:32px; }
  .oem-project-brief p { font-size:15px; }
  .oem-project-actions { flex-direction:column; align-items:flex-start; }
}
