.showcase-page { background: #09090a; }
.showcase-page .header { position: relative; }
.showcase-hero { max-width: 1560px; margin: 0 auto; padding: 48px 6% 90px; display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(40px, 6vw, 100px); align-items: center; }
.showcase-copy { min-width: 0; }
.showcase-copy .breadcrumbs { font-size: .8125rem; margin-bottom: 52px; }
.showcase-copy .eyebrow { margin-bottom: 24px; }
.showcase-copy h1 { font-size: clamp(3.25rem, 5.8vw, 6rem); line-height: 1.04; letter-spacing: -.055em; max-width: 680px; margin-bottom: 30px; }
.showcase-intro { color: #b9b9c0; font-size: 1.1875rem; line-height: 1.8; max-width: 590px; margin-bottom: 34px; }
.showcase-back { display: flex; align-items: center; width: fit-content; min-height: 48px; margin-top: 22px; color: var(--muted); font-size: .9375rem; gap: 12px; }
.showcase-back:hover { color: var(--gold); }
.showcase-figure { margin: 0; min-width: 0; max-width: 560px; justify-self: end; }
.showcase-figure .project-photo { border-radius: 6px; }
.showcase-figure .project-photo img { height: auto; aspect-ratio: 3 / 4; object-fit: cover; object-position: center 60%; }
.showcase-figure figcaption { font-size: .8125rem; color: var(--muted); line-height: 1.6; margin-top: 18px; }
.showcase-section { padding: 96px max(6%, calc((100vw - 1374px) / 2)); border-top: 1px solid var(--line); }
.showcase-section h2 { font-size: clamp(2.4rem, 4.5vw, 4.5rem); line-height: 1.08; }
.showcase-details { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 8vw, 140px); background: #111113; }
.showcase-details dl { padding: 0; margin: 0; }
.showcase-details dl > div { padding-block: 26px; border-top: 1px solid #d5b77b40; }
.showcase-details dl > div:first-child { padding-top: 0; border: 0; }
.showcase-details dl > div:last-child { padding-bottom: 0; }
.showcase-details dt { font-size: 1.375rem; margin-bottom: 12px; font-weight: 500; letter-spacing: -.02em; }
.showcase-details dd { color: var(--muted); font-size: 1.0625rem; line-height: 1.8; margin: 0; }
.showcase-section-heading { max-width: 850px; margin-bottom: 48px; }
.showcase-section-heading > p:last-child:not(.eyebrow) { color: var(--muted); font-size: 1.125rem; line-height: 1.8; margin-top: 24px; }
.showcase-questions, .showcase-steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.showcase-questions li { border-top: 1px solid #d5b77b50; padding-top: 24px; }
.showcase-questions li > span { display: block; color: var(--gold); font-size: .75rem; margin-bottom: 26px; letter-spacing: .12em; }
.showcase-questions h3, .showcase-steps h3 { font-size: 1.375rem; line-height: 1.35; margin-bottom: 16px; font-weight: 500; letter-spacing: -.025em; }
.showcase-questions p, .showcase-steps p { font-size: 1rem; line-height: 1.8; color: var(--muted); }
.showcase-next { background: #111113; }
.showcase-steps { counter-reset: step; }
.showcase-steps li { counter-increment: step; position: relative; padding-left: 40px; }
.showcase-steps li::before { content: counter(step); position: absolute; top: 0; left: 0; color: var(--gold); border-bottom: 1px solid #d5b77b50; width: 22px; padding-bottom: 8px; }
.showcase-enquiry { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 50px; padding-top: 38px; border-top: 1px solid var(--line); }
.showcase-enquiry h3 { font-size: 1.5rem; font-weight: 500; margin-bottom: 12px; }
.showcase-enquiry p { color: var(--muted); font-size: 1rem; line-height: 1.7; }
.showcase-enquiry .button { flex-shrink: 0; }
.showcase-contact { font-size: .9375rem; line-height: 1.8; color: var(--muted); margin-top: 28px; }
.showcase-contact a { color: var(--gold); text-decoration: underline; text-underline-offset: 4px; display: inline-flex; align-items: center; min-height: 44px; }
.showcase-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.showcase-card { min-width: 0; }
.showcase-card > a { display: block; }
.showcase-card img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 55%; border-radius: 6px; }
.showcase-card > a > div { padding-top: 25px; }
.showcase-card .eyebrow { margin-bottom: 12px; font-size: .6875rem; }
.showcase-card h3 { font-size: clamp(1.4rem, 2.5vw, 2rem); line-height: 1.2; letter-spacing: -.03em; margin-bottom: 15px; font-weight: 500; }
.showcase-card a > div > span { display: flex; align-items: center; min-height: 44px; gap: 24px; color: var(--gold); font-size: .9375rem; }
.showcase-card a:hover h3 { color: var(--gold); }
.showcase-related > .review-link { margin-top: 42px; }
.service-work { margin: 0 0 90px; padding-bottom: 65px; border-bottom: 1px solid var(--line); }
.service-work .showcase-section-heading { margin-bottom: 36px; }
.service-work .showcase-section-heading h2 { font-size: clamp(2.4rem, 4vw, 4.2rem); }
.service-work .showcase-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.service-work .showcase-card img { aspect-ratio: 4 / 5; }
.service-work .showcase-card h3 { font-size: clamp(1.3rem, 2vw, 1.7rem); }
.project-viewer button[hidden] { display: none; }
@media (max-width: 1000px) {
  .showcase-hero { gap: 34px; padding-top: 45px; }
  .showcase-copy h1 { font-size: clamp(3rem, 5.8vw, 5rem); }
  .showcase-copy .breadcrumbs { margin-bottom: 32px; }
  .showcase-intro { font-size: 1.0625rem; }
  .showcase-questions, .showcase-steps { gap: 25px; }
  .showcase-enquiry { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 720px) {
  .showcase-hero { padding: 28px 6% 54px; grid-template-columns: 1fr; gap: 32px; }
  .showcase-copy .breadcrumbs { margin-bottom: 30px; gap: 7px; font-size: .75rem; }
  .showcase-copy .eyebrow { font-size: .6875rem; margin-bottom: 18px; }
  .showcase-copy h1 { font-size: clamp(2.75rem, 11vw, 4.5rem); margin-bottom: 24px; }
  .showcase-intro { line-height: 1.7; margin-bottom: 26px; }
  .showcase-copy .button { width: 100%; }
  .showcase-back { margin-top: 12px; font-size: .875rem; }
  .showcase-figure { width: 100%; justify-self: center; }
  .showcase-figure figcaption { margin-top: 14px; }
  .showcase-section { padding: 60px 6%; }
  .showcase-section h2 { font-size: clamp(2.25rem, 8.8vw, 3.6rem); }
  .showcase-details { grid-template-columns: 1fr; gap: 36px; }
  .showcase-details dd { font-size: 1rem; }
  .showcase-section-heading { margin-bottom: 34px; }
  .showcase-section-heading > p:last-child:not(.eyebrow) { font-size: 1.0625rem; }
  .showcase-questions, .showcase-steps { grid-template-columns: 1fr; gap: 30px; }
  .showcase-questions li > span { margin-bottom: 18px; }
  .showcase-steps li { padding-left: 38px; }
  .showcase-enquiry { margin-top: 36px; padding-top: 30px; gap: 22px; }
  .showcase-enquiry .button { width: 100%; }
  .showcase-contact { margin-top: 20px; }
  .showcase-cards, .service-work .showcase-cards { grid-template-columns: 1fr; gap: 34px; }
  .showcase-card img { aspect-ratio: 4 / 4; }
  .showcase-card h3 { font-size: 1.625rem; }
  .showcase-card > a > div { padding-top: 20px; }
  .showcase-related > .review-link { margin-top: 32px; }
  .service-work { margin-bottom: 55px; padding-bottom: 44px; }
  .service-work .showcase-card h3 { font-size: 1.625rem; }
}
