/* Get In: decorative surfaces only. All layout, type, links and motion use the original stylesheet. */
:root {
  --craft-lattice: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='88' viewBox='0 0 88 88'%3E%3Cg fill='none' stroke='%23dca37e' stroke-width='.85'%3E%3Cpath d='M44 2 86 44 44 86 2 44Z M44 14 74 44 44 74 14 44Z'/%3E%3Cpath d='M44 27Q61 27 61 44Q61 61 44 61Q27 61 27 44Q27 27 44 27Z M44 27V61 M27 44H61'/%3E%3C/g%3E%3Ccircle cx='44' cy='44' r='3' fill='%23dca37e'/%3E%3C/svg%3E");
  --craft-weave: repeating-linear-gradient(0deg,#e9cdb605 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,#e9cdb605 0 1px,transparent 1px 4px);
  --craft-ripples: repeating-radial-gradient(ellipse at 100% 0%,transparent 0 17px,#dca37e50 18px 19px,transparent 20px 35px);
}
.journey-section { position:relative; isolation:isolate; background-image:var(--craft-weave); }
.journey-section::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background-image:var(--craft-lattice); background-size:116px 116px; opacity:.085; mask-image:linear-gradient(90deg,#000,transparent 26%,transparent 74%,#000); }

/* These absolute layers add no height or width to the original service flow. */
.journey-image { position:relative; isolation:isolate; overflow:visible; box-shadow:0 18px 36px #051d193d; }
.journey-image::before { content:""; position:absolute; inset:10px -12px -12px 10px; z-index:-1; pointer-events:none; border:1px solid #bc93678a; border-radius:22px; background-color:#254a43; background-image:var(--craft-lattice),var(--craft-weave); background-size:66px 66px,auto,auto; box-shadow:0 8px 25px #061d1922; }
.journey-stop.reverse .journey-image::before { inset:10px 10px -12px -12px; }
.journey-image::after { content:""; position:absolute; inset:7px; pointer-events:none; z-index:2; border:1px solid #f1cc9d80; border-radius:16px; }
.journey-image img { border-radius:inherit; }
.journey-stop[href*="vip-jacuzzi"] .journey-image::before { background-image:var(--craft-ripples),var(--craft-weave); background-size:auto; border-color:#d9b084a8; }

/* Add texture to existing cards, without changing their controls or geometry. */
.service-card { background-image:var(--craft-weave),linear-gradient(145deg,#294b46,#203d39); }
.service-card > div { position:relative; isolation:isolate; }
.service-card > div::before { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; background-image:var(--craft-lattice); background-size:64px 64px; opacity:.10; mask-image:linear-gradient(0deg,transparent 35%,#000); }
.service-card img { outline:1px solid #e6bd8f70; outline-offset:-7px; }
.assembly-card::before { background-image:var(--craft-lattice); background-size:74px 74px; opacity:.12; mask-image:linear-gradient(120deg,transparent 35%,#000); }
.facility-panel { background-image:var(--craft-weave),linear-gradient(135deg,#294a45,#1e3b37); }
@media(max-width:700px) {
  .journey-section::before { opacity:.075; background-size:84px 84px; mask-image:linear-gradient(90deg,#000,transparent 55%,#000); }
  .journey-image::before { inset:7px -8px -8px 7px; background-size:52px 52px,auto,auto; }
  .journey-stop.reverse .journey-image::before { inset:7px 7px -8px -8px; }
  .journey-image::after { inset:6px; border-radius:17px; }
}