/* Homepage-specific motion, portrait, and capabilities; shared material
   tokens and navigation live in workshop-theme-v1.css. */
/* Lift the fingerprint's dark lines while keeping portrait highlights subdued.
   Its outside dots still fade softly into the graphite grain. */
.header-thumb, .workshop-portrait { opacity: .80; filter: grayscale(1) sepia(.48) saturate(.65) contrast(.80) brightness(.84); -webkit-mask-image: radial-gradient(ellipse 62% 70% at 51% 62%, #000 68%, #000d 78%, transparent 95%); mask-image: radial-gradient(ellipse 62% 70% at 51% 62%, #000 68%, #000d 78%, transparent 95%); }

/* Fine, even graphite grain adds depth without a localized light patch. */
.section-home-header {
  background-image: url('/assets/industrial/graphite-grain-v1.svg');
  background-size: 192px 192px;
  background-repeat: repeat;
  background-blend-mode: soft-light;
}

/* Separate worn plates drift through a soft recess, without rails or couplers. */
.skills-conveyor { position: relative; isolation: isolate; overflow: hidden; padding-block: 23px; background: linear-gradient(180deg, #111314eb, #25282ae3 50%, #111314eb), var(--workshop-metal) center / 460px; border: 0; box-shadow: inset 0 14px 20px -15px #000c, inset 0 -14px 20px -15px #000c; scroll-margin-top: 22px; }
.skills-viewport { position: relative; overflow-x: auto; scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent); mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent); }
.skills-conveyor[data-ready="true"] .skills-viewport { overflow: hidden; }
.skills-belt { display: flex; width: max-content; animation: skills-travel 92s linear infinite; animation-play-state: paused; will-change: transform; }
.skills-conveyor[data-running="true"] .skills-belt { animation-play-state: running; }
.skills-conveyor:focus-within .skills-belt { animation-play-state: paused; }
.skills-belt-group { display: flex; flex: none; gap: 22px; list-style: none; margin: 0; padding: 6px 22px 8px 0; }
.skills-belt-group[aria-hidden="true"] { display: none; }
.skills-conveyor[data-ready="true"] .skills-belt-group[aria-hidden="true"] { display: flex; }
.skills-belt-plate { position: relative; display: flex; align-items: center; justify-content: center; flex: none; min-height: 77px; padding: 12px 38px; border: 1px solid #ae8c5769; border-radius: 5px; background: linear-gradient(115deg, #4f40212c, #13171870), var(--workshop-metal) center / 430px; box-shadow: inset 0 1px 1px #f4d29b50, inset 0 -2px 2px #090d0ed9, 0 4px 0 #030606, 0 6px 8px #0008; }
.skills-belt-plate:nth-child(3n + 2) { background-position: center, 90px 120px; }
.skills-belt-plate:nth-child(3n) { background-position: center, 230px 60px; }
.skills-belt-plate > span { color: #bcb3a1; font: 400 27px/1.1 "Barlow Condensed", sans-serif; text-transform: uppercase; letter-spacing: .025em; white-space: nowrap; text-shadow: 0 1px 1px #0008; }
.skills-belt-plate::before { content: ""; position: absolute; width: 10px; height: 10px; left: 11px; top: calc(50% - 5px); border: 1px solid #ac905e80; border-radius: 50%; background: linear-gradient(135deg, transparent 40%, #101516 42%, #101516 57%, transparent 60%), radial-gradient(circle at 35% 25%, #c2a477, #594d37 58%, #1a201d); box-shadow: inset 0 1px 0 #edcb9180, 0 1px 2px #000b; }
.skills-motion-toggle { position: absolute; right: 18px; top: 8px; z-index: 5; display: grid; place-items: center; width: 34px; height: 26px; padding: 0; border: 1px solid #96794a99; border-radius: 3px; color: #d2b887; background: #1b1d1e; box-shadow: inset 0 1px 1px #dbc59922, 0 2px 3px #0009; font: 600 13px/1 sans-serif; cursor: pointer; }
.skills-motion-toggle[hidden] { display: none; }
.skills-motion-toggle:hover { color: #fff0c9; box-shadow: 0 0 12px #d3a35e33; }
.skills-motion-toggle:focus-visible { outline: 2px solid var(--industrial-amber); outline-offset: 4px; }
.skills-play-icon { display: none; font-size: 10px; }
.skills-conveyor[data-paused="true"] .skills-play-icon { display: inline; }
.skills-conveyor[data-paused="true"] .skills-pause-icon { display: none; }
@keyframes skills-travel { to { transform: translateX(-50%); } }

/* Capability copy becomes a single bank of three inset instrument panels. */
.professional-capabilities { gap: 16px; padding-block: 25px 30px; border-top-color: #8c714144; }
.professional-capabilities::before { border-top-color: #8c714144; }
.professional-capabilities li, .professional-capabilities li:first-child, .professional-capabilities li:last-child { padding: 0; }
.professional-capabilities li + li { border: 0; }
.professional-capabilities a { position: relative; height: 100%; padding: 27px 25px 28px; border: 1px solid #92774b66; border-radius: 5px; background: linear-gradient(115deg, #161a1bbf, #1b1d1eaa), var(--workshop-metal) center / 430px; box-shadow: inset 0 3px 8px #000b, inset 0 -1px 0 #e1be7b28, 0 1px 0 #e1be7b26; transition: border-color .25s, box-shadow .25s; }
.professional-capabilities li:nth-child(2) a { background-position: center, 100px 140px; }
.professional-capabilities li:nth-child(3) a { background-position: center, 210px 50px; }
.professional-capabilities a::before, .professional-capabilities a::after { content: ""; position: absolute; width: 6px; height: 6px; border-radius: 50%; background: linear-gradient(135deg, transparent 39%, #0c1011 42% 57%, transparent 60%), radial-gradient(circle at 30% 25%, #bda176, #554b36 60%, #161b1b); box-shadow: 0 1px 2px #0008; }
.professional-capabilities a::before { left: 10px; top: 10px; }
.professional-capabilities a::after { right: 10px; bottom: 10px; }
.professional-capabilities h3 { gap: 12px; font-size: 23px; line-height: 1.15; text-shadow: 0 2px 1px #0008; }
.professional-capabilities h3 span { display: grid; place-items: center; flex: 0 0 31px; width: 31px; height: 31px; border: 1px solid #ad89534f; border-radius: 50%; background: #12161780; color: #c1a77c; box-shadow: inset 0 2px 4px #000a, 0 1px 0 #c6a36322; font-size: 20px; }
.professional-capabilities p { font-size: 18px; line-height: 1.5; }
.professional-capabilities a:hover, .professional-capabilities a:focus-visible { border-color: #c49d5e99; box-shadow: inset 0 3px 8px #000b, inset 0 -1px 0 #e1be7b40, 0 0 17px #d3a35e0a; }
.professional-capabilities a:hover h3 { color: var(--industrial-ivory); }
.professional-capabilities a:hover h3 span, .professional-capabilities a:focus-visible h3 span { color: #ffe6b4; text-shadow: 0 0 7px #e7ad5499; }
@media (max-width: 1100px) { .professional-capabilities a { padding-inline: 21px; } .professional-capabilities h3 { font-size: 22px; } }
@media (max-width: 760px) { .skills-conveyor { padding-block: 21px; } .skills-belt-plate { min-height: 65px; padding-inline: 32px; } .skills-belt-plate > span { font-size: 23px; } .professional-capabilities { gap: 12px; padding-block: 20px; } .professional-capabilities a { padding: 24px; } .professional-capabilities h3 { font-size: 23px; } }
@media (prefers-reduced-motion: reduce) { .skills-belt { animation: none; will-change: auto; } .skills-conveyor[data-ready="true"] .skills-belt-group[aria-hidden="true"] { display: none; } .skills-conveyor[data-ready="true"] .skills-viewport { overflow-x: auto; } .skills-motion-toggle { display: none; } .professional-capabilities a { transition: none; } }

.workshop-portrait { height: auto; }

/* Muted, representative portraits rather than bright avatar badges. */
.testimonial-portrait {
  display: block; width: 100px; max-width: 100%; aspect-ratio: 1;
  background-image: url('/assets/industrial/testimonial-portraits-v1.webp');
  background-size: 400% 200%; background-position: 0 0;
  border: 0; border-radius: 0; opacity: .68;
  filter: grayscale(.65);
  -webkit-mask-image: radial-gradient(ellipse, #000 22%, #000b 48%, transparent 73%);
  mask-image: radial-gradient(ellipse, #000 22%, #000b 48%, transparent 73%);
}
.testimonial-portrait[data-portrait="1"] { background-position: 33.333% 0; }
.testimonial-portrait[data-portrait="2"] { background-position: 66.667% 0; }
.testimonial-portrait[data-portrait="3"] { background-position: 100% 0; }
.testimonial-portrait[data-portrait="4"] { background-image: url('/assets/industrial/testimonial-connell-v1.webp'); background-size: cover; background-position: center; }
.testimonial-portrait[data-portrait="5"] { background-image: url('/assets/industrial/testimonial-claire-v1.webp'); background-size: cover; background-position: center; }
.testimonial-portrait[data-portrait="6"] { background-position: 66.667% 100%; }
.testimonial-portrait[data-portrait="7"] { background-position: 100% 100%; }
.lab-workbench > .workbench-steam { left: 54%; right: auto; top: auto; bottom: 19.5%; width: 20%; height: 36%; z-index: 1; }
.workbench-steam::before, .workbench-steam::after { display: none; }

/* The hero uses its original Douglas Burlington greeting and Barlow Condensed copy. */

/* The professional statement and capabilities share one engraved section. */
.section-home-about-us.section-padding-bottom {
  background: var(--industrial-ink);
  padding-bottom: 50px;
}
.section-home-about-us .about-us-component { padding-top: 46px; }
.section-home-about-us .aout-us-content-wrapper {
  position: relative;
  width: calc(100% - 96px);
  max-width: 1440px;
  margin: 0 auto;
  padding: 44px 28px 28px;
  border-radius: 6px;
  background: radial-gradient(ellipse at 50% 0, #d3a35e0e, transparent 70%), linear-gradient(#1b1d1edc, #1b1d1eea), var(--workshop-metal) center / 460px;
  box-shadow: inset 0 4px 12px #0008, inset 0 0 0 1px var(--workshop-edge), inset 0 -1px 0 #e1be7b33, 0 1px 0 #000b;
}
.section-home-about-us .aout-us-content-wrapper::before,
.section-home-about-us .aout-us-content-wrapper::after {
  content: '';
  position: absolute;
  left: 15px;
  right: 15px;
  height: 6px;
  background: radial-gradient(circle, #aa9162 0 1px, #514a3d 2px, transparent 3px) left / 6px 6px no-repeat, radial-gradient(circle, #aa9162 0 1px, #514a3d 2px, transparent 3px) right / 6px 6px no-repeat;
  pointer-events: none;
}
.section-home-about-us .aout-us-content-wrapper::before { top: 15px; }
.section-home-about-us .aout-us-content-wrapper::after { bottom: 15px; }
.about-us-title {
  max-width: 46ch;
  margin: 0 auto;
  text-align: center;
  color: var(--industrial-ivory);
  font: 400 clamp(32px, 3.6vw, 52px)/1.16 "Barlow Condensed", sans-serif;
  letter-spacing: -.015em;
  text-shadow: 0 2px 1px #000a;
}
.about-us-title span { display: block; margin-top: .12em; color: #c9ae80; font: italic 400 .95em/1.13 Georgia, serif; letter-spacing: -.025em; }
.section-home-about-us .professional-capabilities { width: 100%; max-width: none; margin: 32px 0 0; padding: 0; border: 0; }
.section-home-about-us .professional-capabilities::before { display: none; }
@media (max-width: 991px) {
  .section-home-about-us .workshop-portrait { width: min(100%, 480px); margin: 20px auto -50px; background: transparent; }
}
@media (max-width: 760px) {
  .section-home-about-us .about-us-component { padding-top: 30px; }
  .section-home-about-us .aout-us-content-wrapper { width: calc(100% - 40px); padding: 32px 16px 18px; }
  .section-home-about-us .professional-capabilities { margin-top: 26px; }
  .about-us-title { font-size: 30px; }
}

/* Slow broadcast arcs behind the microphone, like an old radio illustration.
   Only opacity and scale animate; the heading and microphone remain still. */
.articles-broadcast { position: relative; isolation: isolate; }
.broadcast-airwaves {
  position: absolute; z-index: -1; pointer-events: none;
  left: 0; top: -114px; width: 100%; height: 411px;
  overflow: hidden;
  -webkit-mask-image: radial-gradient(ellipse, #000 26%, #000b 52%, transparent 74%);
  mask-image: radial-gradient(ellipse, #000 26%, #000b 52%, transparent 74%);
}
.broadcast-airwaves svg { display: block; width: 100%; height: 100%; overflow: visible; }
.articles-broadcast .broadcast-pulse {
  fill: none; stroke: #8eb3a7; stroke-width: 4.5; stroke-linecap: round;
  transform-origin: 700px 250px; opacity: .22;
  transform: scale(var(--radio-scale));
}
.broadcast-pulse path { vector-effect: non-scaling-stroke; }
.broadcast-airwaves[data-ready="true"] .broadcast-pulse {
  animation: broadcast-travel 18s cubic-bezier(.2,.45,.55,1) infinite;
  animation-delay: var(--radio-delay);
  animation-play-state: paused;
}
.broadcast-airwaves[data-running="true"] .broadcast-pulse { animation-play-state: running; }
@keyframes broadcast-travel {
  0% { transform: scale(.85); opacity: 0; }
  14% { opacity: .28; }
  48% { opacity: .19; }
  100% { transform: scale(2.8); opacity: 0; }
}
@media (max-width: 767px) {
  .broadcast-airwaves { top: -100px; height: 320px; }
  .articles-broadcast .broadcast-pulse { stroke-width: 3; }
}
@media (max-width: 479px) {
  .broadcast-airwaves { top: -70px; height: 200px; }
}
@media (prefers-reduced-motion: reduce) {
  .broadcast-airwaves[data-ready="true"] .broadcast-pulse { animation: none; opacity: .14; }
}

/* Keep the testimonial eyebrow clear of the display font's tall ascenders. */
.section-home-testimonial .section-header { display: flex; flex-direction: column; align-items: center; gap: 24px; }
.section-home-testimonial .section-header .workshop-kicker { margin: 0; }
.section-home-testimonial .section-header .section-title { margin: 0; line-height: 1.1; }

/* Brighter local accent study. */
.header-content > .header-subtitle:first-child{color:#5bcbbb;}
.section-home-project .workshop-index-number{color:#ede8d7;border-color:#70b5ad;background:linear-gradient(115deg,#227989b0,#175761cf 55%,#367c80b0),var(--workshop-metal) center/220px;box-shadow:inset 0 1px 0 #b2e7d25c,0 2px 2px #0005;}

.lab-promo-heading { line-height:.92; }
.lab-promo-copy .workshop-kicker::before { display:none; }

/* Compact labels stay visually attached to their project frames. */
.section-home-project .collection-item .heading-2 { margin:8px 0 0; padding:0 3px; gap:12px; align-items:center; font-size:clamp(18px,1.5vw,22px); line-height:1.2; }
.section-home-project .workshop-card-arrow { font-size:16px; }

.section-home-project .collection-item .heading-2,
.section-home-project .collection-item .workshop-card-arrow { color:#8eafa8; }
.section-home-project .collection-item .heading-2 a:hover { color:#b6d2ca; }

/* Cool patina on the testimonial cards. */
.section-home-testimonial .testimonial-item,
.professional-capabilities li a,
.section-home-blog .blog-single-item {
 background:
  linear-gradient(120deg,#28565bd9,#183b40e3 65%,#234b4ed9) padding-box,
  var(--workshop-metal) center/460px padding-box,
  linear-gradient(135deg,#80b3a665,#234d5350 48%,#a5c4ae50) border-box,
  var(--workshop-metal) center/180px border-box;
 border:8px solid transparent;
 box-shadow:inset 0 7px 20px #031519c9,inset 0 2px 5px #020f12e6,inset 0 -2px 3px #b7ded040,0 0 0 1px #7eaaa27a,0 3px 0 #071a1ccc,0 12px 25px #0005;
}

.professional-capabilities li a { border-width:6px; }
.professional-capabilities li a:hover, .professional-capabilities li a:focus-visible {
 border-color:transparent;
 box-shadow:inset 0 7px 20px #031519c9,inset 0 2px 5px #020f12e6,inset 0 -2px 3px #b7ded040,0 0 0 1px #a2d0c5,0 3px 0 #071a1ccc,0 12px 25px #0005;
}

.section-home-blog .blog-single-item { border-width:6px; overflow:hidden; }
.section-home-blog .blog-content { box-shadow:inset 0 7px 14px #03151999,inset 0 -3px 10px #03151966; }
.section-home-blog .blog-thumbnail-wrap { border-radius:2px 2px 0 0; box-shadow:none; }
.section-home-blog .blog-thumbnail-wrap::after { border-color:#79aaa14d; border-radius:inherit; box-shadow:inset 0 3px 10px #03151999; }
.section-home-blog .blog-single-item:hover,
.section-home-blog .blog-single-item:focus-visible { border-color:transparent; outline:1px solid #a2d0c5; outline-offset:0; }
