/* Shared craft details. Native cursor; finite light studies behind the content. */
.craft-service-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(197, 161, 93, .36);
  border-radius: 12px 12px 12px 3px;
  background: #f9f7f0;
}
.craft-service-mark svg {
  width: 30px;
  height: 30px;
  stroke: #173746;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.craft-icon-accent { stroke: #a57d38; }
.craft-scene { position: relative; isolation: isolate; }
.hero.craft-scene::before { z-index: -1; }
.craft-atmosphere {
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
  contain: paint;
  pointer-events: none;
  user-select: none;
}
.craft-light, .craft-shadow {
  position: absolute;
  inset: -8%;
  pointer-events: none;
}
.craft-light {
  background: linear-gradient(112deg, transparent 32%, rgba(255,236,194,.24) 52%, rgba(255,251,238,.08) 71%, transparent 86%);
  opacity: .8;
  transform: translate3d(3%,1%,0);
}
.craft-shadow {
  background: linear-gradient(118deg, transparent 35%, rgba(8,25,34,.12) 39%, rgba(8,25,34,.12) 42%, transparent 50%, transparent 70%, rgba(8,25,34,.08) 76%, transparent 85%);
  opacity: .45;
  transform: translate3d(-2%,0,0);
}
[data-craft-atmosphere="material"] { z-index: -1; }
[data-craft-atmosphere="material"] .craft-light {
  background: radial-gradient(ellipse at 80% 25%, rgba(255,253,247,.7), transparent 60%);
}
[data-craft-atmosphere="material"] .craft-shadow {
  background: linear-gradient(115deg, transparent 30%, rgba(18,44,59,.055) 42%, rgba(18,44,59,.01) 47%, transparent 61%);
}

@media (prefers-reduced-motion: no-preference) {
  .image-window.is-seen figcaption { animation: craft-caption 240ms cubic-bezier(.23, 1, .32, 1) both; }
}
@keyframes craft-caption {
  from { opacity: .8; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .image-window img { transition: transform 240ms cubic-bezier(.23, 1, .32, 1); }
  .image-window:hover img { transform: scale(1.018); }
  .process-row { position: relative; }
  .process-row::before { content: ""; position: absolute; inset: 14px auto 14px 0; width: 3px; background: #c5a15d; opacity: 0; transition: opacity 160ms cubic-bezier(.23, 1, .32, 1); }
  .process-row:hover::before { opacity: 1; }
}
@media (max-width: 700px) {
  .craft-service-mark { width: 36px; height: 36px; border-radius: 9px 9px 9px 2px; }
  .craft-service-mark svg { width: 26px; height: 26px; }
}
[data-craft-keyboard="true"] .image-window.is-seen figcaption { animation: none; }
@media (prefers-reduced-motion: reduce) {
  .image-window img, .craft-service-mark svg { transform: none !important; transition: none !important; }
  .image-window figcaption { animation: none !important; transform: none !important; opacity: 1 !important; }
}
@media (forced-colors: active) {
  .craft-service-mark { border-color: CanvasText; background: Canvas; }
  .craft-service-mark svg, .craft-icon-accent { stroke: CanvasText; }
}
@media (forced-colors: active), (prefers-reduced-transparency: reduce), print {
  .craft-atmosphere { display: none; }
}
