/* Fulfillment 2.2.0: scoped journey section, following the approved mockup. */
.ff-v2 .ff-story--v2 {padding:48px 0;background:#f3f7fd}
.ff-v2 .ff-story--v2 .ff-story-grid {grid-template-columns:310px minmax(0,1fr);gap:36px;align-items:center}
.ff-v2 .ff-story--v2 .ff-story-copy h2 {font-size:44px;line-height:1.08;font-weight:900;letter-spacing:-.035em}
.ff-v2 .ff-story--v2 .ff-story-copy p {margin-top:22px;font-size:18px;line-height:1.5}
.ff-v2 .ff-story--v2 .ff-story-number {display:inline-block;padding:4px 10px;border-radius:8px;background:#e6f0ff;color:var(--ff-blue);font-weight:800;white-space:nowrap}
.ff-v2 .ff-story--v2 .ff-story-main {min-width:0;max-width:none}
.ff-v2 .ff-story--v2 .ff-story-steps {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin:0 0 28px}
.ff-v2 .ff-story--v2 .ff-story-steps::before {content:none}
.ff-v2 .ff-story--v2 .ff-story-steps>button {display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:0 0 12px;gap:0;position:relative;min-width:0;border:0;background:none;text-align:center;color:var(--ff-ink)}
.ff-v2 .ff-story--v2 .ff-story-steps>button:not(:last-child)::before {content:"";position:absolute;left:calc(50% + 43px);top:31px;width:calc(100% - 68px);height:2px;background:#91bff7;pointer-events:none}
.ff-v2 .ff-story--v2 .ff-story-steps>button:not(:last-child)::after {content:"";position:absolute;left:calc(150% - 30px);top:27px;width:9px;height:9px;border-top:2px solid #91bff7;border-right:2px solid #91bff7;transform:rotate(45deg);pointer-events:none}
.ff-v2 .ff-story--v2 .ff-story-steps .ff-icon {width:64px;height:64px;border:1px solid #d3e5fc;border-radius:14px;background:#fff;box-shadow:0 3px 10px rgb(16 31 61 / 3%);color:var(--ff-blue);transform:none;transition:background .18s,color .18s,border-color .18s}
.ff-v2 .ff-story--v2 .ff-story-steps .ff-icon svg {width:30px;height:30px;stroke-width:1.75}
.ff-v2 .ff-story--v2 .ff-story-steps b {margin-top:10px;font-size:18px;line-height:1.35;font-weight:800}
.ff-v2 .ff-story--v2 .ff-story-steps small {font-size:16px;line-height:1.4;color:var(--ff-muted)}
.ff-v2 .ff-story--v2 .ff-story-steps>button[aria-selected="true"] .ff-icon {background:var(--ff-blue);border-color:var(--ff-blue);color:#fff;box-shadow:0 4px 12px rgb(7 95 218 / 12%)}
.ff-v2 .ff-story--v2 .ff-story-steps>button[aria-selected="true"] b::after {content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:40px;height:4px;border-radius:4px;background:var(--ff-blue)}
.ff-v2 .ff-story--v2 .ff-story-steps>button:hover .ff-icon {border-color:var(--ff-blue)}
.ff-v2 .ff-story--v2 .ff-story-detail {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:stretch;gap:24px;margin:0;min-height:280px;padding:22px;border:1px solid var(--ff-line);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgb(16 31 61 / 4%);font-size:18px;line-height:1.5}
.ff-v2 .ff-story--v2 .ff-story-result-copy {align-self:center;min-width:0}
.ff-v2 .ff-story--v2 .ff-story-demo {display:inline-flex;align-items:center;padding:4px 12px;background:#eaf2ff;color:var(--ff-blue);border-radius:8px;font-size:16px;line-height:1.5;font-weight:800}
.ff-v2 .ff-story--v2 .ff-story-result-copy h3 {margin:16px 0 12px;font-size:23px;line-height:1.2;font-weight:800;letter-spacing:-.02em}
.ff-v2 .ff-story--v2 .ff-story-result-copy p {margin:0;font-size:18px;line-height:1.5;color:var(--ff-muted)}
.ff-v2 .ff-story--v2 .ff-story-preview {min-width:0;align-self:center;position:relative;border:1px solid var(--ff-line);border-radius:12px;background:#fff;box-shadow:0 4px 12px rgb(16 31 61 / 3%);overflow:hidden}
.ff-v2 .ff-story--v2 .ff-story-preview-bar {display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;min-height:46px;border-bottom:1px solid #e8edf5;background:#f6f8fc;font-size:16px;line-height:1.3;color:var(--ff-ink)}
.ff-v2 .ff-story--v2 .ff-story-preview-bar strong {font-size:16px;font-weight:800;white-space:normal}
.ff-v2 .ff-story--v2 .ff-story-preview-bar .ff-icon {width:22px;height:22px;border-radius:0;background:none}
.ff-v2 .ff-story--v2 .ff-story-preview-bar svg {width:22px;height:22px}
.ff-v2 .ff-story--v2 .ff-story-dots {display:flex;align-items:center;gap:5px;margin-right:auto}
.ff-v2 .ff-story--v2 .ff-story-dots i {width:7px;height:7px;border-radius:50%;background:#ff7c75}
.ff-v2 .ff-story--v2 .ff-story-dots i:nth-child(2) {background:#f5bd4f}
.ff-v2 .ff-story--v2 .ff-story-dots i:nth-child(3) {background:#5fbe91}
.ff-v2 .ff-story--v2 .ff-story-preview-body {padding:16px}
.ff-v2 .ff-story--v2 .ff-story-order {display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;font-size:16px;line-height:1.4}
.ff-v2 .ff-story--v2 .ff-story-order strong {font-size:16px;font-weight:800;white-space:nowrap}
.ff-v2 .ff-story--v2 .ff-status {font-size:14px;line-height:1.4;padding:4px 8px;border-radius:6px;color:var(--ff-brand-green)}
.ff-v2 .ff-story--v2 .ff-story-preview dl {margin:0}
.ff-v2 .ff-story--v2 .ff-story-preview dl>div {display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:44px;padding:10px 0;border-top:1px solid #e4ebf5;font-size:16px;line-height:1.4}
.ff-v2 .ff-story--v2 .ff-story-preview dt {flex-shrink:0;color:var(--ff-muted);font-weight:500}
.ff-v2 .ff-story--v2 .ff-story-preview dd {margin:0;min-width:0;text-align:right;font-weight:800;font-variant-numeric:tabular-nums}
.ff-v2 .ff-story--v2 .ff-story-document {display:inline-flex;justify-content:flex-end;align-items:center;gap:7px;color:var(--ff-blue);font-weight:700;font-size:16px;text-align:right;line-height:1.4}
.ff-v2 .ff-story--v2 .ff-story-document:hover {text-decoration:underline;text-underline-offset:3px}
.ff-v2 .ff-story--v2 .ff-story-document .ff-icon {width:20px;height:22px;background:none;border-radius:0}
.ff-v2 .ff-story--v2 .ff-story-document svg {width:20px;height:22px}
.ff-v2 .ff-story--v2 .ff-story-detail:not([hidden]) {animation:ff-story-in .22s ease-out both}
@keyframes ff-story-in {from{transform:translateY(4px)}to{transform:translateY(0)}}
@media(min-width:1201px) {
 .ff-v2 .ff-story--v2 .ff-story-result-copy {padding-right:22px;border-right:1px solid #e4ebf5;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
}
@media(max-width:1200px) {
 .ff-v2 .ff-story--v2 .ff-story-grid {grid-template-columns:1fr;gap:28px}
 .ff-v2 .ff-story--v2 .ff-story-copy {display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
 .ff-v2 .ff-story--v2 .ff-story-copy h2 {font-size:40px}
 .ff-v2 .ff-story--v2 .ff-story-copy p {margin:0 0 3px}
 .ff-v2 .ff-story--v2 .ff-story-detail {grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:264px}
}
@media(max-width:850px) {
 .ff-v2 .ff-story--v2 .ff-story-copy h2 br {display:block}
 .ff-v2 .ff-story--v2 .ff-story-steps {gap:12px}
 .ff-v2 .ff-story--v2 .ff-story-steps b {font-size:16px}
 .ff-v2 .ff-story--v2 .ff-story-steps small {font-size:14px}
 .ff-v2 .ff-story--v2 .ff-story-detail {grid-template-columns:1fr;gap:20px;min-height:392px}
 .ff-v2 .ff-story--v2 .ff-story-result-copy h3 {margin:12px 0 8px}
 .ff-v2 .ff-story--v2 .ff-story-preview {align-self:start}
 .ff-v2 .ff-story--v2 .ff-story-preview-bar {justify-content:flex-start}
 .ff-v2 .ff-story--v2 .ff-story-dots {margin-right:12px}
}
@media(min-width:561px) and (max-width:680px) {
 .ff-v2 .ff-story--v2 .ff-story-detail {min-height:414px}
}
@media(max-width:560px) {
 .ff-v2 .ff-story--v2 {padding:36px 0}
 .ff-v2 .ff-story--v2 .ff-story-grid {gap:26px}
 .ff-v2 .ff-story--v2 .ff-story-copy {display:block}
 .ff-v2 .ff-story--v2 .ff-story-copy h2 {font-size:34px}
 .ff-v2 .ff-story--v2 .ff-story-copy p {margin:14px 0 0;font-size:18px}
 .ff-v2 .ff-story--v2 .ff-story-steps {grid-template-columns:1fr;gap:14px;margin-bottom:24px}
 .ff-v2 .ff-story--v2 .ff-story-steps>button {display:grid;grid-template-columns:48px 1fr;gap:0 16px;align-items:center;justify-items:start;text-align:left;padding:0 0 0 0;min-height:48px}
 .ff-v2 .ff-story--v2 .ff-story-steps .ff-icon {grid-column:1;grid-row:1 / 3;width:48px;height:48px;border-radius:12px}
 .ff-v2 .ff-story--v2 .ff-story-steps .ff-icon svg {width:26px;height:26px}
 .ff-v2 .ff-story--v2 .ff-story-steps b {margin:0;font-size:18px;align-self:end}
 .ff-v2 .ff-story--v2 .ff-story-steps small {font-size:16px;align-self:start}
 .ff-v2 .ff-story--v2 .ff-story-steps>button:not(:last-child)::before {left:23px;top:50px;width:2px;height:10px}
 .ff-v2 .ff-story--v2 .ff-story-steps>button:not(:last-child)::after {left:20px;top:53px;width:7px;height:7px;transform:rotate(135deg)}
 .ff-v2 .ff-story--v2 .ff-story-steps>button[aria-selected="true"] b::after {left:auto;right:0;top:22px;bottom:auto;transform:none;width:28px;height:3px}
 .ff-v2 .ff-story--v2 .ff-story-detail {min-height:428px;padding:18px;gap:20px;align-content:start}
 .ff-v2 .ff-story--v2 .ff-story-result-copy h3 {font-size:22px}
 .ff-v2 .ff-story--v2 .ff-story-preview-bar {gap:7px;padding:12px}
 .ff-v2 .ff-story--v2 .ff-story-dots {gap:4px;margin-right:4px}
 .ff-v2 .ff-story--v2 .ff-story-dots i {width:6px;height:6px}
 .ff-v2 .ff-story--v2 .ff-story-preview-body {padding:14px}
 .ff-v2 .ff-story--v2 .ff-story-order {flex-wrap:wrap;gap:8px}
 .ff-v2 .ff-story--v2 .ff-story-preview dl>div {gap:10px}
 .ff-v2 .ff-story--v2 .ff-story-preview dt {font-size:14px}
 .ff-v2 .ff-story--v2 .ff-story-document {font-size:16px;gap:5px}
}
@media(max-width:370px) {
 .ff-v2 .ff-story--v2 .ff-story-copy h2 {font-size:31px}
 .ff-v2 .ff-story--v2 .ff-story-detail {min-height:508px;padding:16px}
 .ff-v2 .ff-story--v2 .ff-story-preview-body {padding:12px}
 .ff-v2 .ff-story--v2 .ff-story-preview-bar strong {font-size:14px}
 .ff-v2 .ff-story--v2 .ff-story-preview dl>div {flex-wrap:wrap;gap:6px}
 .ff-v2 .ff-story--v2 .ff-story-preview dd {margin-left:auto}
}
@media(prefers-reduced-motion:reduce) {.ff-v2 .ff-story--v2 .ff-story-detail:not([hidden]) {animation:none}.ff-v2 .ff-story--v2 .ff-story-steps .ff-icon {transition:none}}
