.precision-journey { background: #101f29; color: #cfdae0; position: relative; }
.precision-sticky { padding: 48px 0 30px; }
.precision-topline, .precision-visual-heading, .precision-visual-footer { display:flex; justify-content:space-between; gap:16px; font: 10px/1.5 monospace; letter-spacing:.1em; color:#91a8b5; }
.precision-topline { padding-bottom:28px; border-bottom:1px solid #31424c; }
.precision-topline span:first-child { color:#b6d99a; }
.precision-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:48px; align-items:center; padding:42px 0 32px; }
.precision-eyebrow { display:block; font-size:12px; color:#a6bbc6; margin-bottom:18px; }
.precision-copy h2 { color:#fff; font-size:clamp(42px,5vw,70px); line-height:1.02; letter-spacing:-.055em; font-weight:500; margin-bottom:22px; }
.precision-copy h2 em { color:#a5cc82; font-style:normal; }
.precision-intro { font-size:17px; line-height:1.65; color:#bdcbd3; }
.precision-description { margin:28px 0 18px; padding-left:18px; border-left:2px solid #a5cc82; min-height:135px; }
.precision-step-label { font:10px monospace; letter-spacing:.12em; color:#a5cc82; }
.precision-description h3 { font-size:19px; color:#fff; margin:10px 0; }
.precision-description p { font-size:14px; line-height:1.7; max-width:380px; color:#b4c5ce; margin:0; }
.precision-link { color:#d8edc7; font-size:13px; text-decoration:none; display:inline-flex; gap:24px; align-items:center; }
.precision-link:hover { color:#fff; }
.precision-link span { font-size:22px; }
.precision-visual { min-width:0; background:radial-gradient(ellipse at 50% 45%,#233b49 0,transparent 70%); }
.precision-visual-heading, .precision-visual-footer { font-size:9px; }
.precision-visual-heading i { display:inline-block; width:6px; height:6px; background:#a5cc82; border-radius:50%; margin-right:6px; }
.precision-visual svg { width:100%; height:auto; display:block; overflow:visible; }
.precision-solid, .precision-cut, .precision-tool, .precision-measure, .precision-finished { opacity:0; transition:opacity .65s ease; }
.precision-wire { transition:opacity .65s ease; }
.precision-component { transform-origin:50% 60%; transition:transform 1s ease; }
.precision-journey[data-stage="1"] .precision-solid, .precision-journey[data-stage="2"] .precision-solid, .precision-journey[data-stage="3"] .precision-solid { opacity:1; }
.precision-journey:not([data-stage="0"]) .precision-wire { opacity:0; }
.precision-journey[data-stage="1"] .precision-cut, .precision-journey[data-stage="1"] .precision-tool, .precision-journey[data-stage="2"] .precision-measure, .precision-journey[data-stage="3"] .precision-finished { opacity:1; }
.precision-journey[data-stage="3"] .precision-component { transform:translateY(-10px) rotate(-3deg); }
.precision-journey.is-visible[data-stage="0"] .precision-wire path[pathLength] { stroke-dasharray:1; animation:precision-draw 2s ease both; }
.precision-journey.is-visible[data-stage="1"] .precision-cut path { stroke-dasharray:.18 .82; animation:precision-cut 3s linear infinite; }
.precision-journey.is-visible[data-stage="1"] .precision-tool { animation:precision-machine 3s ease-in-out infinite; }
.precision-controls { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #41515c; }
.precision-controls[hidden], .precision-hint[hidden] { display:none; }
.precision-controls button { appearance:none; border:0; border-top:2px solid transparent; margin-top:-1px; background:transparent; color:#9fb1bc; text-align:left; padding:20px 12px; display:flex; align-items:center; gap:14px; font-size:15px; transition:background .2s,color .2s; }
.precision-controls button span { font:11px monospace; opacity:.7; }
.precision-controls button i { margin-left:auto; font-style:normal; opacity:0; }
.precision-controls button[aria-pressed="true"] { color:#dceece; background:#a5cc820b; border-top-color:#a5cc82; }
.precision-controls button[aria-pressed="true"] i { opacity:1; }
.precision-controls button:hover { background:#ffffff09; color:#fff; }
.precision-controls button:focus-visible, .precision-link:focus-visible { outline:2px solid #c0e79e; outline-offset:4px; }
.precision-hint { display:flex; justify-content:center; gap:12px; color:#a3b4bd; font-size:11px; margin:16px 0 0; }
.precision-hint { align-items:center; }
.precision-journey.is-paused .precision-tool, .precision-journey.is-paused .precision-cut path, .precision-journey.is-paused .precision-wire path { animation-play-state:paused !important; }
@keyframes precision-draw { from { stroke-dashoffset:1; } to { stroke-dashoffset:0; } }
@keyframes precision-cut { to { stroke-dashoffset:-1; } }
@keyframes precision-machine { 50% { transform:translate(32px,16px); } }
@media (max-width:991px) {
    .precision-layout { gap:24px; }
    .precision-copy h2 { font-size:46px; }
    .precision-visual-heading, .precision-visual-footer { letter-spacing:0; font-size:8px; }
    .precision-description { min-height:160px; }
}
@media (max-width:767px) {
    .precision-sticky { padding:32px 0; }
    .precision-topline { font-size:8px; padding-bottom:20px; }
    .precision-topline span:last-child { letter-spacing:0; }
    .precision-layout { grid-template-columns:1fr; padding:28px 0 20px; gap:26px; }
    .precision-copy h2 { font-size:48px; }
    .precision-description { min-height:125px; margin-top:22px; }
    .precision-visual { width:100%; max-width:520px; margin:auto; }
    .precision-controls { grid-template-columns:repeat(2,1fr); gap:8px; padding-top:12px; }
    .precision-controls button { border:1px solid #344a56; padding:14px 10px; font-size:13px; gap:8px; }
    .precision-controls button[aria-pressed="true"] { border-color:#a5cc82; }
}
@media (prefers-reduced-motion:reduce) {
    .precision-journey *, .precision-journey *::before { animation:none !important; transition:none !important; }
}
