.workshop-hero { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 3.5rem; align-items: center; max-width: 1440px; margin: auto; padding: 4rem var(--gutter) 4.5rem; }
.workshop-hero h1 { margin: 0; font-size: clamp(2.75rem,4.7vw,4.5rem); line-height: 1.08; letter-spacing: -.05em; font-weight: 600; }
.workshop-hero h1 em { color: var(--gold); font-style: normal; }
.hero-reassurance { color: var(--muted); font-size: .875rem; max-width: 46ch; margin: 1.5rem 0 0; }
.workshop-photo { position: relative; margin: 0; min-width: 0; height: 34rem; border-radius: 1rem; overflow: hidden; border: 1px solid var(--line); background: var(--panel); }
.workshop-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 60% center; }
.workshop-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,#09120ff5,transparent 75%); }
.workshop-photo figcaption { position: absolute; z-index: 1; bottom: 2rem; left: 2rem; right: 2rem; }
.workshop-photo figcaption span { display: block; color: var(--teal); font-size: .875rem; margin-bottom: .75rem; }
.workshop-photo figcaption strong { display: block; max-width: 24ch; font-size: 1.5rem; font-weight: 500; line-height: 1.4; }
.workshop-strip { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem 4rem; padding: 1.25rem var(--gutter); border-top: 1px solid var(--line); color: var(--teal); font-size: .875rem; }
.workshop-problems .copy { max-width: 42rem; }
.workshop-problems h2 { max-width: 25ch; }
.conversation-example { margin: 0; min-width: 0; border: 1px solid #4d6658; border-radius: 1rem; background: var(--panel); overflow: hidden; }
.conversation-example header { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; padding: 1.25rem 1.5rem; border-bottom: 1px solid var(--line); font-size: .875rem; }
.example-dot { width: .5rem; height: .5rem; border-radius: 50%; background: var(--teal); }
.example-tag { color: var(--muted); margin-left: auto; font-size: .75rem; }
.conversation-messages { display: flex; flex-direction: column; padding: 1.5rem; gap: 1rem; }
.message { max-width: 90%; padding: 1rem 1.25rem; border: 1px solid var(--line); border-radius: .875rem; }
.message small { display: block; font-size: .75rem; color: var(--muted); margin-bottom: .4rem; }
.message p { margin: 0; font-size: 1rem; line-height: 1.7; }
.customer { align-self: flex-end; background: #223b2c; border-color: #496653; border-bottom-right-radius: .2rem; }
.assistant { align-self: flex-start; background: var(--bg); border-bottom-left-radius: .2rem; }
.request-summary { margin-top: .25rem; padding: 1.25rem; border: 1px solid #66724d; border-radius: .75rem; background: #292e20; }
.request-summary span { display: block; color: var(--gold); font-size: .875rem; margin-bottom: .5rem; }
.request-summary strong { font-size: 1rem; font-weight: 600; }
.request-summary p { color: #d0d8c5; font-size: .875rem; line-height: 1.75; margin: .5rem 0 0; }
.conversation-example figcaption { padding: 0 1.5rem 1.5rem; color: var(--muted); font-size: .875rem; line-height: 1.7; }
.workshop-service-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 1.25rem; }
.workshop-service-grid .card { grid-column: span 2; }
.workshop-service-grid .card:nth-last-child(-n+2) { grid-column: span 3; }
.availability { color: var(--teal); font-size: .75rem; font-weight: 600; }
.workshop-service-grid .link { font-size: .875rem; color: var(--gold); line-height: 1.6; margin-top: auto; padding-top: 1.5rem; }
.workshop-service-grid .card p { margin-bottom: 1rem; }
.development-note { grid-column: 1 / -1; border-left: 2px solid var(--gold); padding: .5rem 0 .5rem 1.5rem; }
.development-note .eyebrow { display: block; margin-bottom: .5rem; font-size: .75rem; }
.development-note p { margin: 0; max-width: 75ch; color: var(--muted); font-size: 1rem; line-height: 1.75; }
.process-steps { list-style: none; padding: 0; margin: 0; }
.process-steps li { display: flex; gap: 1.25rem; padding: 1.5rem 0; border-top: 1px solid var(--line); }
.process-steps li > span { color: var(--gold); font-size: .875rem; }
.process-steps h3 { margin: 0; font-size: 1.25rem; line-height: 1.4; font-weight: 600; }
.process-steps p { margin: .75rem 0 0; color: var(--muted); font-size: 1rem; line-height: 1.75; }
.workshop-contact { background: radial-gradient(ellipse at top left,#365b454d,transparent 70%),#1c2c23; }
.workshop-contact .copy { align-self: center; }
.workshop-form { border: 1px solid #526857; border-radius: 1rem; padding: 2rem; background: var(--panel); }
.workshop-form h3 { font-size: 1.5rem; margin: 0; font-weight: 600; }
.workshop-form .cta { width: 100%; margin-top: .5rem; }
.workshop-form .cta:disabled { opacity: .6; cursor: not-allowed; transform: none; }
.workshop-form .optional { color: var(--muted); font-weight: 400; }
.contact-email a, .legal-inline { color: var(--gold); text-decoration: underline; text-underline-offset: .2em; }
.institutional-link { color: var(--teal); }
@media (max-width: 1000px) {
  .workshop-hero { gap: 2rem; }
  .workshop-photo { height: 31rem; }
  .workshop-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .workshop-service-grid .card, .workshop-service-grid .card:nth-last-child(-n+2) { grid-column: auto; }
  .workshop-service-grid .card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 800px) {
  .workshop-hero { grid-template-columns: minmax(0,1fr); padding-top: 3rem; padding-bottom: 3rem; }
  .workshop-hero h1 { max-width: 18ch; }
  .workshop-photo { height: 25rem; }
  .workshop-strip { justify-content: flex-start; gap: .5rem 1.5rem; }
}
@media (max-width: 550px) {
  .workshop-service-grid { grid-template-columns: minmax(0,1fr); }
  .workshop-hero h1 { font-size: 2.75rem; }
  .workshop-form { padding: 1.5rem; }
  .workshop-photo { height: 22rem; }
  .workshop-photo figcaption { left: 1.5rem; right: 1.5rem; }
  .conversation-messages { padding: 1rem; }
  .message { max-width: 95%; padding: .875rem 1rem; }
  .example-tag { width: 100%; margin-left: 1.15rem; }
}
