/* Spyken / product motion. The existing palette and typography remain the source. */
.theme-tech .product-motion-card{padding:0;min-height:0;background:#0a2026;border-color:#2b484e;transition:border-color .35s,box-shadow .35s;isolation:isolate}
.theme-tech .product-motion-card::before{display:none}
.theme-tech .product-motion-card.live-product:hover{border-color:#65e1d38c;box-shadow:0 16px 44px #0002}
.product-card-identity{display:flex;align-items:center;gap:12px;padding:21px 24px;font-size:.875rem;color:#b3caca;border-bottom:1px solid #2b484e70;min-height:70px}
.product-number{color:#65e1d3;font:13px/1.5 monospace}
.product-coming{margin-left:auto;font-size:.75rem;white-space:nowrap;padding:3px 8px;border:1px solid #38545a;color:#b3caca}
.product-film{position:relative;aspect-ratio:16/9;background:#071a20;overflow:hidden;isolation:isolate}
.product-film video{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.product-film-edge{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -18px 24px -18px #0a2026}
.product-card-copy{display:flex;flex-direction:column;flex:1;padding:23px 26px 25px}
.theme-tech .product-card-copy h3{font-size:2.4rem;letter-spacing:-.045em}
.product-card-copy .product-story{font-size:.875rem;line-height:1.6;color:#65e1d3;margin-top:14px;margin-bottom:16px}
.product-card-copy>p:not(.product-story){font-size:1rem;line-height:1.75;color:var(--muted);margin-bottom:24px}
.product-card-copy .portfolio-link,.product-card-copy .portfolio-placeholder{margin-top:auto;min-height:45px;display:flex;align-items:center;border-top:1px solid #2b484e;padding-top:18px;font-size:.9375rem}
.product-card-copy .portfolio-link{justify-content:space-between;color:#d5f5ec}
.product-card-copy .portfolio-placeholder{font-size:.875rem;color:#8fa9ad;font-weight:400}
/* Veritas: visible documents with exact, readable values over the product atmosphere. */
.theme-tech .product-hero>.wrap{grid-template-columns:1fr 1.05fr;gap:48px}
.evidence-story{position:relative;padding:27px;perspective:none;overflow:hidden;border:1px solid #3c6269;background:#092329;box-shadow:0 28px 75px #0003;isolation:isolate;min-width:0;max-width:100%}
.evidence-story-atmosphere{position:absolute;inset:0;z-index:-2;opacity:.3}
.evidence-story-atmosphere .product-film{width:100%;height:100%;aspect-ratio:auto}
.evidence-story-atmosphere video{object-fit:cover;filter:blur(2px)}
.evidence-story::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#061d2370,#08242ad9 80%)}
.evidence-story-top{display:flex;align-items:center;justify-content:space-between;color:#a8c4c4;font:12px/1.5 monospace;letter-spacing:.07em;margin-bottom:28px}
.evidence-story-top svg{color:#65e1d3;width:20px;height:20px}
.evidence-documents{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}
.evidence-document{padding:24px 19px;background:#14363bdf;border:1px solid #58817f80;box-shadow:0 18px 36px #0002;min-width:0}
.evidence-invoice{background:#173c40e8;border-color:#7ea6a280}
.evidence-doc-label{font:12px/1.5 monospace;color:#b6d4d0;letter-spacing:.03em}
.evidence-document h3{font-size:1rem;line-height:1.5;letter-spacing:-.025em;margin-top:16px;font-weight:400;color:#e5f2ed}
.evidence-rate{display:block;font-size:clamp(1.65rem,2.55vw,2.3rem);letter-spacing:-.05em;margin-top:20px;padding-top:17px;border-top:1px solid #547a7960;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.2}
.evidence-rate small{display:block;font:12px/1.5 monospace;color:#abc9c5;letter-spacing:.02em;margin-top:9px}
.evidence-doc-source{display:block;font-size:.75rem;line-height:1.6;color:#adc9c5;margin-top:22px}
.evidence-connection{display:flex;align-items:center;justify-content:center;height:54px;gap:12px;color:#65e1d3}
.evidence-connection span{height:1px;background:linear-gradient(90deg,transparent,#65e1d3);width:24%}
.evidence-connection span:last-child{transform:rotate(180deg)}
.evidence-connection svg{width:18px;height:18px}
.evidence-result{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 23px;border:1px solid #65e1d387;background:linear-gradient(120deg,#174540e8,#11332ee8)}
.evidence-result-label{display:block;font-size:.875rem;color:#c0dcd5;margin-bottom:6px}
.evidence-result strong{font-size:2rem;letter-spacing:-.045em;line-height:1.25;white-space:nowrap;color:#b3f9e7}
.evidence-result strong small{font-size:.875rem;font-weight:400;letter-spacing:0}
.evidence-calculation{font:12px/1.7 monospace;color:#aecfc7;max-width:145px;text-align:right}
.evidence-story-foot{display:flex;justify-content:space-between;gap:12px;margin-top:22px;font-size:.75rem;color:#97b8b7}
.evidence-story-foot>span:last-child{font:11px/1.6 monospace;letter-spacing:.02em;text-align:right}
.motion-enabled .evidence-story .evidence-document{opacity:.45;transform:translateY(10px);transition:opacity 1s,transform 1.2s cubic-bezier(.2,.7,.2,1)}
.motion-enabled .evidence-story .evidence-invoice{transition-delay:.35s}
.motion-enabled .evidence-story .evidence-connection{opacity:.15;transition:opacity 1.1s .8s}
.motion-enabled .evidence-story .evidence-result{opacity:.3;transform:translateY(8px);transition:opacity 1s 1.25s,transform 1s 1.25s}
.motion-enabled .evidence-story.evidence-is-visible .evidence-document,.motion-enabled .evidence-story.evidence-is-visible .evidence-result{opacity:1;transform:none}
.motion-enabled .evidence-story.evidence-is-visible .evidence-connection{opacity:1}
/* A shared task moves through distinct roles. */
.loop-studio .loop-heading{margin-bottom:30px}
.loop-studio .loop-heading h3{font-size:clamp(1.7rem,2.5vw,2.25rem)}
.loop-studio .loop-heading>p{max-width:400px;font-size:1rem;line-height:1.7}
.theme-tech .loop-studio .loop-workspace{background:#092127;border:1px solid #35565d;box-shadow:0 20px 70px #0002}
.loop-studio .loop-toolbar{padding:21px 28px;background:#102b31;letter-spacing:0;flex-wrap:wrap;gap:14px;font-family:var(--body)}
.loop-task-name{display:flex;gap:12px;align-items:center;font-size:1rem;color:#e3f0eb}
.loop-task-name svg{width:19px;height:19px;color:#65e1d3}
.loop-task-name small{font:11px/1.5 monospace;color:#90b0b3;padding-left:12px;margin-left:3px;border-left:1px solid #39585f;letter-spacing:.04em}
.loop-studio .loop-status{font-size:.8125rem;color:#a8c4c4;line-height:1.5}
.loop-studio-grid{display:grid;grid-template-columns:235px minmax(0,1fr)}
.loop-team{position:relative;padding:30px 20px 25px;border-right:1px solid #2d4a52;background:linear-gradient(170deg,#0c272d,#081e24)}
.loop-team-label{display:block;font:12px/1.5 monospace;color:#89aaad;letter-spacing:.09em;padding-left:12px;margin-bottom:22px}
.loop-studio .loop-tabs{display:flex;flex-direction:column;padding:0;gap:12px;position:relative}
.loop-studio .loop-tabs::before{left:34px;right:auto;top:25px;bottom:27px;width:1px;height:auto;background:#3b5f6470}
.loop-studio .loop-tabs button{display:flex;flex-direction:row;text-align:left;align-items:center;padding:9px 10px;gap:14px;border:1px solid transparent;min-height:70px;transition:background .3s,border-color .3s}
.loop-studio .loop-tabs button[aria-selected=true]{background:#163a3f;border-color:#456b6d}
.loop-studio .loop-node{width:44px;height:44px;flex-shrink:0;border:1px solid #375b60;background:#0a232a;margin:0;box-shadow:none!important;position:relative}
.loop-studio .loop-node svg{width:21px;height:21px}
.loop-studio .loop-tabs button>span:nth-child(2){font-size:1rem;line-height:1.4}
.loop-studio .loop-tabs button small{display:block;font:10px/1.5 monospace;letter-spacing:.08em;color:#88aaad;margin-top:3px}
.loop-studio .loop-step-mark{margin-left:auto;color:#5d858a;font:11px/1.5 monospace}
.loop-studio .loop-tabs button[aria-selected=true] .loop-step-mark{color:#8eeddf}
.loop-studio .loop-tabs button.step-complete .loop-node{border-color:#51968d;color:#9edfd1}
.loop-studio .loop-tabs button[aria-selected=true] .loop-node{background:#65e1d3;color:#092127;border-color:#65e1d3}
.loop-studio .loop-tabs button:last-child{margin-top:16px;border-top:1px solid #43646a;padding-top:18px;min-height:82px}
.loop-team-note{display:block;font-size:.8125rem;color:#7e9fa4;line-height:1.7;margin:26px 12px 0}
.loop-studio .loop-detail{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:32px 38px 22px;min-height:565px;border:0;min-width:0;outline-offset:-5px}
.loop-stage-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;min-height:83px}
.loop-studio .loop-detail-label{font:12px/1.5 monospace;letter-spacing:.04em;color:#91bfb8;margin-bottom:10px}
.loop-studio .loop-detail h4{font-size:1.4rem;margin:0;font-weight:400;line-height:1.4;letter-spacing:-.03em}
.loop-revision{white-space:nowrap;border:1px solid #385d64;padding:4px 9px;font:12px/1.5 monospace;color:#a5c5c5;margin-top:2px}
.loop-artifact{min-height:250px;padding:10px 0 16px;display:grid;place-items:center;position:relative}
.task-sheet{width:100%;max-width:620px;min-height:226px;background:linear-gradient(135deg,#173b40,#102d33);border:1px solid #527c7d80;padding:22px 24px;box-shadow:0 14px 28px #0002}
.task-sheet-head{display:flex;justify-content:space-between;gap:15px;font:11px/1.5 monospace;color:#92b8b9;letter-spacing:.04em}
.task-sheet h5{font-size:1.0625rem;font-weight:400;margin:16px 0 13px;line-height:1.6;letter-spacing:-.02em;color:#e3efeb}
.task-checklist{list-style:none;margin:0;padding:0}
.task-checklist li{display:flex;align-items:center;gap:12px;padding:9px 0;border-top:1px solid #42636865;font-size:.875rem;color:#bdcfce}
.task-checklist li small{font-size:.75rem;color:#8ecbbb;margin-left:auto}
.task-check{font:11px/1.5 monospace;color:#729b9c;min-width:18px;display:flex;align-items:center}
.task-check svg{width:18px;height:18px}
.task-check.is-checked,.task-pass{color:#9de1c7}
.task-search-field{display:flex;align-items:center;gap:12px;font-size:.9375rem;min-height:45px;background:#0a242b;border:1px solid #4d777b;padding:9px 12px;margin-top:23px;color:#d4e6e0}
.task-search-field svg{width:19px;height:19px;color:#86aead}
.task-search-result{display:flex;align-items:center;gap:14px;margin-top:14px;min-height:58px}
.task-search-result>span:first-child{display:grid;place-items:center;background:#235355;width:37px;height:37px;font-size:.75rem;color:#b4dfd4}
.task-search-result strong{font-weight:400;font-size:.875rem;color:#dcece5}
.task-search-result small{display:block;color:#92b1b1;font-size:.75rem;margin-top:3px}
.task-search-result>span:last-child{margin-left:auto;color:#87cabb}
.task-change-note{font:11px/1.5 monospace;color:#91b6b4;margin-top:19px;padding-top:14px;border-top:1px solid #3f626866;letter-spacing:.03em}
.task-empty-bug,.task-empty-fixed{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:75px;padding-left:39px;margin-top:9px}
.task-empty-bug>span,.task-empty-fixed>span{position:absolute;left:0;top:22px;width:25px;height:25px;display:grid;place-items:center;border:1px solid #a67f51;color:#e3b682;font:14px/1 monospace}
.task-empty-fixed>span{border-color:#5c9a8f;color:#ade6d4}
.task-empty-fixed svg{width:18px;height:18px}
.task-empty-bug strong,.task-empty-fixed strong{font-size:.875rem;color:#d9e6df;font-weight:400}
.task-empty-bug small,.task-empty-fixed small{font-size:.75rem;color:#99b6b3;margin-top:4px}
.loop-workspace[data-phase=feedback] .task-sheet{border-color:#a88b5e90}
.loop-workspace[data-phase=feedback] .task-change-note{color:#d4b18a}
.task-handoff{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.task-handoff-icon{display:grid;place-items:center;width:32px;height:32px;border:1px solid #62b29b;color:#a4e6ce;margin-bottom:13px}
.task-handoff-icon svg{width:22px;height:22px}
.task-handoff h5{margin:10px 0 15px}
.handoff-files{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}
.handoff-files span{font-size:.75rem;color:#a4c7bc;padding:4px 8px;background:#1a4943;border:1px solid #3f706660}
.loop-studio .task-handoff p{font-size:.75rem;margin-top:14px;color:#91b5af;line-height:1.5}
.loop-stage-description{padding-top:5px;min-height:112px}
.loop-studio .loop-stage-description>p{font-size:.9375rem;line-height:1.65;color:#9fbdbd;max-width:650px}
.loop-receipt{display:flex;gap:10px;align-items:center;color:#b1d0c9;font-size:.8125rem;margin-top:16px}
.loop-receipt svg{width:16px;height:16px;color:#6da89f}
.loop-receipt-arrow{margin-left:auto;color:#65e1d3}
.loop-studio .loop-decision{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;min-height:71px;margin-top:auto;padding-top:14px;border-top:1px solid #2d4c52}
.loop-studio .loop-decision>span{font-size:.8125rem;color:#77999b}
.loop-studio .loop-decision>div{display:flex;gap:8px;flex-wrap:wrap}
.loop-studio .loop-decision>div[hidden]{display:none}
.loop-studio .loop-decision button{font-size:.875rem;padding:9px 13px}
.loop-studio .loop-workspace[data-active-step="4"] .loop-decision>span{color:#b3d4c9}
.loop-studio .loop-bottom{margin:0;padding:18px 28px;border-top:1px solid #35565d;background:#0b252c;min-height:81px;flex-direction:row}
.loop-studio .loop-return{font-size:.8125rem;line-height:1.6;color:#85a8ab;max-width:420px}
.loop-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
.loop-studio .loop-play{background:#194348;border-color:#4d817e;min-width:154px;font-size:.875rem;color:#e0f5eb;min-height:44px;padding:10px 16px}
.loop-next{display:flex;align-items:center;justify-content:center;gap:10px;background:none;color:#a7c3c0;border:0;font-size:.875rem;padding:10px 12px;min-height:44px}
.loop-next svg{width:18px;height:18px}
.loop-controls button:disabled{opacity:.35}
.loop-studio .loop-example-note{padding:11px 28px;font:11px/1.6 monospace;color:#83a4a7;background:#091f25;border-top:1px solid #29444b}
@media(max-width:1100px){
 .product-card-identity{padding:17px 18px;gap:9px;font-size:.8125rem;flex-wrap:wrap}.product-coming{font-size:.6875rem}
 .product-card-copy{padding:21px}.theme-tech .product-card-copy h3{font-size:2.2rem}
 .theme-tech .product-hero>.wrap{gap:30px}.evidence-story{padding:21px}.evidence-document{padding:20px 14px}.evidence-result{padding:17px}.evidence-story-foot{flex-direction:column;gap:7px}.evidence-story-foot>span:last-child{text-align:left}
 .loop-studio-grid{grid-template-columns:210px minmax(0,1fr)}.loop-team{padding:27px 12px}.loop-studio .loop-detail{padding:28px}.loop-stage-heading{min-height:91px}.loop-stage-description{min-height:130px}
}
@media(max-width:800px){
 .loop-studio .loop-bottom{gap:18px}.loop-studio .loop-return{max-width:250px}.loop-studio .loop-detail{padding:24px}.loop-stage-heading{flex-wrap:wrap;gap:10px;padding-bottom:15px}.loop-studio-grid{grid-template-columns:190px minmax(0,1fr)}.loop-studio .loop-tabs button{gap:10px;padding:9px 6px}.loop-studio .loop-step-mark{display:none}.task-sheet{padding:20px 17px}.loop-stage-description{min-height:151px}
}
@media(max-width:680px){
 .theme-tech .product-motion-card{padding:0;min-height:0}.product-card-identity{padding:20px 22px;font-size:.875rem;flex-wrap:nowrap}.product-coming{font-size:.75rem}.product-card-copy{padding:24px}.theme-tech .product-card-copy h3{font-size:2.5rem}.product-card-copy .product-story{font-size:.9375rem;margin-top:12px}.product-card-copy>p:not(.product-story){font-size:1rem}.product-card-copy .portfolio-link{padding-top:21px;min-height:52px}
 .evidence-story{margin:0;width:100%;padding:21px;max-width:100%;box-shadow:0 18px 40px #0002}.theme-tech .product-hero>.wrap{gap:36px}.evidence-story-top{font-size:11px;margin-bottom:22px}.evidence-documents{gap:10px}.evidence-document{padding:19px 13px}.evidence-doc-label{font-size:11px}.evidence-document h3{font-size:.9375rem;margin-top:14px}.evidence-rate{font-size:1.8rem;margin-top:18px}.evidence-rate small{font-size:10px}.evidence-doc-source{font-size:.6875rem;margin-top:18px}.evidence-result{padding:16px;gap:11px;align-items:flex-end}.evidence-result-label{font-size:.8125rem}.evidence-result strong{font-size:1.85rem}.evidence-calculation{font-size:11px;max-width:104px}.evidence-story-foot{margin-top:19px;font-size:.75rem}.evidence-connection{height:46px}
 .loop-studio .loop-heading>p{max-width:none;margin-top:18px}.loop-studio .loop-toolbar{padding:18px 20px;gap:11px}.loop-task-name{flex-wrap:wrap;gap:10px;font-size:.9375rem}.loop-task-name small{font-size:10px;margin:0;padding-left:9px}.loop-studio .loop-status{font-size:.8125rem}
 .loop-studio-grid{grid-template-columns:1fr}.loop-team{border-right:0;border-bottom:1px solid #2d4a52;padding:20px 17px 14px}.loop-team-label,.loop-team-note{display:none}.loop-studio .loop-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.loop-studio .loop-tabs::before{display:none}.loop-studio .loop-tabs button{display:flex;flex-direction:column;gap:9px;min-height:94px;padding:9px 3px;text-align:center}.loop-studio .loop-tabs button>span:nth-child(2){font-size:.8125rem}.loop-studio .loop-tabs button small{display:none}.loop-studio .loop-node{width:35px;height:35px}.loop-studio .loop-node svg{width:18px;height:18px}.loop-studio .loop-tabs button:last-child{grid-column:1/-1;flex-direction:row;justify-content:center;gap:12px;min-height:47px;margin-top:0;padding:7px;border:1px solid #36565e}.loop-studio .loop-tabs button:last-child .loop-node{width:29px;height:29px;border:0;background:transparent;color:#a9d7ca}.loop-studio .loop-tabs button:last-child[aria-selected=true] .loop-node{color:#65e1d3}
 .loop-studio .loop-detail{padding:23px 19px 17px;min-height:595px}.loop-stage-heading{min-height:104px;gap:9px}.loop-studio .loop-detail h4{font-size:1.3rem}.loop-studio .loop-detail-label{font-size:11px}.loop-revision{font-size:11px}.loop-artifact{min-height:250px;padding:8px 0 16px}.task-sheet{min-height:230px;padding:19px 16px}.task-sheet-head{font-size:10px}.task-sheet h5{font-size:1rem;line-height:1.6}.task-checklist li{font-size:.8125rem;gap:9px;padding:9px 0}.task-checklist li small{font-size:10px}.task-check{font-size:10px;min-width:15px}.task-empty-bug strong,.task-empty-fixed strong{font-size:.8125rem}.task-empty-bug small,.task-empty-fixed small{font-size:.6875rem}.handoff-files{gap:5px}.handoff-files span{font-size:11px;padding:4px 6px}
 .loop-stage-description{min-height:145px;padding-top:3px}.loop-studio .loop-stage-description>p{font-size:.9375rem}.loop-receipt{font-size:.75rem;margin-top:16px;gap:8px}.loop-studio .loop-decision{min-height:90px;align-content:center;gap:9px}.loop-studio .loop-decision>span{font-size:.75rem}.loop-studio .loop-decision button{font-size:.8125rem;min-height:44px;padding:10px 11px}.loop-studio .loop-decision button svg{width:15px}
 .loop-studio .loop-bottom{padding:17px 19px;flex-direction:column;align-items:stretch;gap:13px}.loop-studio .loop-return{max-width:none;font-size:.75rem}.loop-controls{justify-content:space-between;gap:5px}.loop-studio .loop-play{min-width:146px;font-size:.8125rem}.loop-next{font-size:.8125rem;padding:10px 7px}.loop-studio .loop-example-note{font-size:10px;padding:12px 19px}
}
@media(max-width:370px){.product-card-identity{padding:17px;gap:8px;font-size:.8125rem}.product-coming{font-size:11px}.evidence-story{padding:15px}.evidence-document{padding:17px 10px}.evidence-rate{font-size:1.65rem}.evidence-doc-source{font-size:10px}.loop-studio .loop-detail{padding-inline:15px}.loop-task-name small{width:100%;border:0;padding:0}.task-sheet{padding:16px 13px}}
@media(prefers-reduced-motion:reduce){.evidence-story .evidence-document,.evidence-story .evidence-result,.evidence-story .evidence-connection{opacity:1!important;transform:none!important;transition:none!important}}
.motion-paused .evidence-story .evidence-document,.motion-paused .evidence-story .evidence-result,.motion-paused .evidence-story .evidence-connection{opacity:1;transform:none}
/* The illuminated handoff moves forward and back with the active role. */
.loop-studio .loop-tabs::after{content:'';position:absolute;left:33px;top:0;width:3px;height:12px;background:#8ff9e5;box-shadow:0 0 12px #65e1d3;transform:translateY(var(--handoff-y,29px));transition:transform .75s cubic-bezier(.3,.1,.2,1);z-index:0;pointer-events:none}
.loop-studio .loop-tabs button{z-index:1}
@media(max-width:680px){.loop-studio .loop-tabs::after{display:none}}
/* Product stories: recognizable subject, visible inputs, understandable outcome. */
.product-visual-story{background:#092127;border-bottom:1px solid #29494e;display:flex;flex-direction:column;position:relative;min-height:357px}
.film-story-labels{display:flex;justify-content:space-around;align-items:center;gap:10px;padding:15px 16px 8px;min-height:44px;color:#c2d7d2;font-size:.8125rem;font-weight:600}
.product-visual-story .product-film{aspect-ratio:16/9;flex:none;width:100%}
.film-comparison{display:grid;grid-template-columns:1fr 1fr;text-align:center;padding:9px 13px 4px;font-size:.6875rem;color:#9ebcb6;gap:12px}
.film-comparison strong{font-size:1.1rem;letter-spacing:-.03em;font-weight:600;color:#dbede6;margin-right:3px}
.film-comparison>span:first-child strong{color:#e2c396}
.film-story-caption{padding:15px 22px 18px;margin-top:auto;display:flex;flex-direction:column;gap:8px;min-height:122px;justify-content:flex-end}
.film-story-step{font-size:.8125rem;line-height:1.6;color:#a8c5bf;min-height:2.9em}
.film-story-outcome{font-size:.9375rem;line-height:1.6;font-weight:500;color:#a9dbca;padding-top:10px;border-top:1px solid #3b655b70;transition:color .5s,border-color .5s}
.film-story-note{font:10px/1.6 monospace;letter-spacing:.02em;color:#7fa59f}
.product-visual-story[data-story-phase="2"] .film-story-outcome{color:#b9f7de;border-color:#65e1d3b3}
.narrative-veritas .film-story-caption{min-height:113px}
.product-card-copy .product-story{min-height:1.6em}
/* The workflow itself is the main visual, including its return path. */
.loop-flow-story .loop-studio-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.loop-flow-surface{padding:26px 24px 23px;background:radial-gradient(ellipse at 48% 46%,#153d42 0,#0b272e 58%,#082128 100%);border-right:1px solid #34535b;min-width:0}
.loop-flow-intro{display:flex;flex-direction:column;gap:7px;padding:0 13px}
.loop-flow-intro>span{font:11px/1.5 monospace;color:#729d9d;letter-spacing:.1em}
.loop-flow-intro>strong{font-size:1rem;font-weight:400;color:#cbe5da}
.loop-flow-canvas{position:relative;aspect-ratio:600/480;width:100%;margin:15px auto 0;min-width:0}
.loop-flow-paths{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.flow-wire,.flow-return-wire{stroke:#36676a;stroke-width:1.4;vector-effect:non-scaling-stroke}
.flow-return-wire{stroke:#896f4e;stroke-dasharray:3 5;opacity:.45}
.flow-direction{stroke:#77aaa7;stroke-width:1.4}
.flow-travel-path{stroke:#73d9c7;stroke-width:2;opacity:.35;vector-effect:non-scaling-stroke}
.flow-travel-path.is-return{stroke:#d6af7f;opacity:.75}
.flow-packet rect{fill:#a5f9df;stroke:#d8fff0;stroke-width:1.5;filter:drop-shadow(0 0 9px #65e1d399)}
.flow-packet path{stroke:#103d36;stroke-width:1.5}
.flow-packet.is-return rect{fill:#dfbf8e;stroke:#f8d6a2;filter:drop-shadow(0 0 9px #ddb67477)}
.loop-flow-nodes{position:absolute;inset:0}
.loop-flow-node{position:absolute;left:var(--node-x);top:var(--node-y);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:146px;min-height:114px;padding:12px 14px;text-align:left;gap:6px;border:1px solid #41686d;background:linear-gradient(130deg,#113138,#0a252d);color:#d5e9df;box-shadow:0 9px 21px #0002;transition:border-color .5s,box-shadow .5s,background .5s}
.loop-flow-node[aria-selected=true]{border-color:#7ddcc5;background:linear-gradient(130deg,#205349,#103931);box-shadow:0 0 0 3px #77e7c909,0 12px 30px #0003}
.loop-flow-node.step-complete{border-color:#4e8c7e}
.flow-role{font:10px/1.5 monospace;letter-spacing:.06em;color:#789e9d}
.flow-node-title{display:flex;align-items:center;gap:9px;font-size:1.02rem;color:#daeee5}
.flow-node-title svg{width:18px;height:18px;color:#95c9b8}
.loop-flow-node small{font-size:.6875rem;line-height:1.5;color:#9bbeb6}
.flow-node-status{font:10px/1.5 monospace;color:#739a93;margin-top:3px}
.loop-flow-node[aria-selected=true] .flow-node-status{color:#abf0d0}
.loop-flow-node:last-child{width:198px;min-height:100px;border-color:#6d8d85}
.loop-flow-node:last-child .flow-role{color:#a2b7a7}
.loop-flow-story [data-phase=feedback] [data-loop-step="2"]{border-color:#cead7e;background:linear-gradient(130deg,#3a3c2f,#1a302f)}
.loop-flow-story [data-phase=feedback] [data-loop-step="2"] .flow-node-status{color:#e3c795}
.loop-flow-story [data-phase=waiting] [data-loop-step="4"]{border-color:#d9e7c4;background:linear-gradient(130deg,#354b40,#19392f);box-shadow:0 0 0 4px #c9e3b40c}
.flow-feedback-label{position:absolute;right:0;top:37%;font:10px/1.5 monospace;color:#bf9f76;writing-mode:vertical-rl;opacity:.65}
.loop-flow-caption{font-size:1rem;line-height:1.65;color:#c2e4d4;text-align:center;border-top:1px solid #426a5b66;padding:18px 10px 0;min-height:72px;margin-top:14px}
.loop-flow-story .loop-detail{padding:29px 28px 21px;min-height:0}
.loop-flow-story .loop-stage-heading{min-height:103px;gap:10px;flex-wrap:wrap;align-content:flex-start}
.loop-flow-story .loop-detail h4{font-size:1.35rem}
.loop-flow-story .loop-artifact{min-height:238px;padding:8px 0 20px}
.loop-flow-story .task-sheet{min-height:226px;padding:19px 18px}
.loop-flow-story .task-sheet h5{font-size:1rem}
.loop-flow-story .task-checklist li{font-size:.8125rem}
.loop-flow-story .loop-stage-description{min-height:144px}
.loop-flow-story .loop-decision{min-height:89px;gap:10px}
@media(max-width:1100px){.loop-flow-surface{padding-inline:16px}.loop-flow-node{width:129px;padding:10px 11px;min-height:105px;gap:5px}.loop-flow-node:last-child{width:183px;min-height:99px}.loop-flow-story .loop-detail{padding:25px 21px}.flow-node-title{font-size:.9375rem}.loop-flow-caption{font-size:.9375rem}.flow-feedback-label{right:-3px}.loop-flow-story .loop-stage-description{min-height:175px}}
@media(max-width:900px){.loop-flow-story .loop-studio-grid{grid-template-columns:1fr}.loop-flow-surface{border-right:0;border-bottom:1px solid #34535b;padding:25px 25px 19px}.loop-flow-canvas{max-width:570px}.loop-flow-caption{min-height:60px}.loop-flow-story .loop-detail{padding:28px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px}.loop-flow-story .loop-stage-heading{grid-column:1;min-height:80px;align-self:start}.loop-flow-story .loop-artifact{grid-row:1/3;grid-column:2;padding:0;min-height:0}.loop-flow-story .loop-stage-description{grid-row:2;grid-column:1;min-height:0}.loop-flow-story .loop-decision{grid-column:1/-1;min-height:70px}.loop-flow-node{width:155px;min-height:110px}.loop-flow-node:last-child{width:208px}.flow-node-title{font-size:1rem}.flow-feedback-label{right:10px}.loop-flow-caption{font-size:1rem}}
@media(max-width:680px){
 .product-visual-story{min-height:0}.film-story-labels{padding-top:17px;font-size:.8125rem;min-height:48px}.film-comparison{font-size:.6875rem}.film-comparison strong{font-size:1.1rem}.film-story-caption{padding:17px 23px 21px;min-height:134px}.film-story-step{font-size:.875rem;min-height:3.2em}.film-story-outcome{font-size:1rem}.film-story-note{font-size:10px}
 .loop-flow-surface{padding:23px 12px 18px}.loop-flow-intro{padding:0 7px}.loop-flow-intro>strong{font-size:.9375rem}.loop-flow-canvas{aspect-ratio:600/750;margin-top:14px}.loop-flow-paths{height:100%}.loop-flow-nodes{top:0;bottom:0}.loop-flow-node{width:111px;min-height:92px;padding:9px 10px;gap:4px}.loop-flow-node:last-child{width:174px;min-height:85px}.flow-role{font-size:8px;letter-spacing:.05em}.flow-node-title{font-size:.9375rem;gap:7px}.flow-node-title svg{width:16px;height:16px}.loop-flow-node small{font-size:10px}.flow-node-status{font-size:9px;margin-top:2px}.flow-feedback-label{font-size:8px;right:-4px}.loop-flow-caption{font-size:.9375rem;min-height:79px;line-height:1.65;padding:16px 9px 0;margin-top:11px}
 .loop-flow-story .loop-detail{display:flex;padding:25px 19px 17px;gap:0;min-height:585px}.loop-flow-story .loop-stage-heading{min-height:102px}.loop-flow-story .loop-artifact{padding:4px 0 20px;min-height:247px}.loop-flow-story .loop-stage-description{min-height:145px}.loop-flow-story .loop-decision{min-height:87px}.loop-flow-story .task-sheet{padding:18px 15px;min-height:226px}.loop-flow-story .loop-detail h4{font-size:1.25rem}.loop-flow-story .task-checklist li{font-size:.8125rem}
}
@media(max-width:360px){.loop-flow-node{width:99px;min-height:88px;padding:8px}.flow-node-title{font-size:.875rem;gap:6px}.loop-flow-node small{font-size:9px}.flow-role{font-size:8px}.loop-flow-node:last-child{width:163px}.loop-flow-caption{font-size:.875rem}.loop-flow-surface{padding-inline:9px}}
.product-visual-story .film-comparison,.film-story-spacer{min-height:45px;height:45px;flex:none}
.product-visual-story .film-story-caption{min-height:160px}
.product-visual-story .film-story-outcome{min-height:37px}
@media(max-width:680px){.product-visual-story .film-story-caption{min-height:160px}}

/* Compact product overview: identity, one visual story, one description. */
.theme-tech .portfolio-compact{padding-block:clamp(28px,4svh,48px);scroll-margin-top:0}
.theme-tech .portfolio-compact .portfolio-heading{margin-bottom:22px}
.portfolio-compact .portfolio-heading h2{font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1.15}
.portfolio-compact .product-grid{gap:20px;align-items:stretch}
.theme-tech .portfolio-compact .product-motion-card{padding:0;min-height:0;scroll-margin-top:108px}
.portfolio-compact .product-card-identity{padding:14px 20px;min-height:72px;gap:12px}
.portfolio-compact .product-card-title{display:flex;align-items:baseline;gap:12px;min-width:0;flex-wrap:wrap}
.theme-tech .portfolio-compact .product-card-title h3{font-size:1.65rem;line-height:1.15;letter-spacing:-.035em;margin:0}
.portfolio-compact .product-card-title>span{font-size:.75rem;line-height:1.4;color:#a9c1c2}
.portfolio-compact .product-coming{font-size:.6875rem;padding:3px 6px}
.portfolio-compact .product-visual-story{min-height:0;flex:none}
.portfolio-compact .film-story-labels{padding:6px 14px 2px;min-height:28px;font-size:.75rem}
.portfolio-compact .product-visual-story .product-film{height:clamp(130px,22svh,176px);aspect-ratio:auto}
.portfolio-compact .product-film video{object-fit:contain}
.portfolio-compact .product-visual-story .film-comparison,.portfolio-compact .film-story-spacer{height:28px;min-height:28px}
.portfolio-compact .film-comparison{padding:3px 14px 2px;font-size:.625rem}
.portfolio-compact .film-comparison strong{font-size:1rem}
.portfolio-compact .product-visual-story .film-story-caption{padding:6px 20px 10px;min-height:48px;justify-content:center;margin-top:0;gap:0}
.portfolio-compact .film-story-step{font-size:.8125rem;line-height:1.45;min-height:0;color:#b0cfc8}
.portfolio-compact .product-card-copy{padding:14px 20px 16px;gap:0}
.portfolio-compact .product-card-copy>p:not(.product-story){font-size:.9375rem;line-height:1.55;margin:0 0 12px}
.portfolio-compact .product-card-copy .portfolio-link{padding-top:10px;min-height:42px;font-size:.875rem}
@media(min-width:681px) and (max-width:1050px){
 .portfolio-compact .product-card-identity{padding-inline:16px;align-items:flex-start}
 .portfolio-compact .product-card-title{display:block}
 .portfolio-compact .product-card-title>span{display:block;margin-top:4px}
 .portfolio-compact .product-coming{margin-top:4px;font-size:.625rem}
 .portfolio-compact .product-card-copy,.portfolio-compact .product-visual-story .film-story-caption{padding-inline:16px}
}
@media(max-width:680px){
 .theme-tech .portfolio-compact{padding-block:22px 36px}
 .theme-tech .portfolio-compact .portfolio-heading{margin-bottom:18px}
 .portfolio-compact .portfolio-heading h2{font-size:1.7rem;line-height:1.2;letter-spacing:-.035em}
 .portfolio-compact .product-grid{gap:18px}
 .theme-tech .portfolio-compact .product-motion-card{scroll-margin-top:90px}
 .portfolio-compact .product-card-identity{padding:12px 18px;min-height:62px}
 .portfolio-compact .product-card-title{gap:10px}
 .theme-tech .portfolio-compact .product-card-title h3{font-size:1.6rem}
 .portfolio-compact .product-card-title>span{font-size:.6875rem}
 .portfolio-compact .product-coming{font-size:.625rem}
 .portfolio-compact .film-story-labels{min-height:26px;padding-top:4px}
 .portfolio-compact .product-visual-story .product-film{height:clamp(120px,20svh,166px)}
 .portfolio-compact .product-visual-story .film-story-caption{padding:5px 18px 9px;min-height:44px}
 .portfolio-compact .product-card-copy{padding:12px 18px 14px}
 .portfolio-compact .product-card-copy>p:not(.product-story){font-size:.9375rem;line-height:1.5}
 .portfolio-compact .product-card-copy .portfolio-link{min-height:44px;padding-top:9px}
}

/* One-screen workflow. Detailed work remains available on smaller screens. */
.loop-compact{scroll-margin-top:0}
.loop-compact .loop-heading{margin-bottom:16px;gap:30px;align-items:center}
.loop-compact .loop-heading .eyebrow{font-size:.6875rem;margin-bottom:8px}
.loop-compact .loop-heading h3{font-size:clamp(1.35rem,2.4vw,1.85rem);line-height:1.2}
.loop-compact .loop-heading>p{font-size:.875rem;line-height:1.55;max-width:370px}
.loop-compact .loop-toolbar{padding:9px 18px;gap:12px;min-height:56px}
.loop-compact .loop-task-name{font-size:.875rem;gap:8px}
.loop-compact .loop-status{font-size:.6875rem;margin-left:auto}
.loop-compact .loop-controls{gap:5px}
.loop-compact .loop-play{min-width:135px;min-height:40px;padding:8px 12px;font-size:.8125rem}
.loop-compact .loop-next{min-height:40px;padding:8px 10px;font-size:.8125rem}
.loop-compact.loop-flow-story .loop-studio-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:370px}
.loop-compact .loop-flow-intro{display:none}
.loop-compact .loop-flow-surface{padding:14px 20px 12px}
.loop-compact .loop-flow-canvas{aspect-ratio:auto;height:clamp(240px,40svh,300px);max-width:560px;margin:0 auto}
.loop-compact .loop-flow-node{width:27%;min-height:68px;padding:8px 10px;gap:3px}
.loop-compact .loop-flow-node:last-child{width:172px;min-height:68px}
.loop-compact .loop-flow-node small{display:none}
.loop-compact .flow-role{font-size:9px;line-height:1.3}
.loop-compact .flow-node-title{font-size:.9375rem;gap:6px;line-height:1.35}
.loop-compact .flow-node-title svg{width:16px;height:16px}
.loop-compact .flow-node-status{font-size:9px;margin:0;line-height:1.3}
.loop-compact .flow-feedback-label{right:0;font-size:9px}
.loop-compact .loop-flow-caption{font-size:.875rem;min-height:42px;margin-top:8px;padding:9px 4px 0;line-height:1.45}
.loop-compact.loop-flow-story .loop-detail{display:flex;padding:16px 20px;gap:0;min-height:0}
.loop-compact .loop-stage-heading{order:1;min-height:52px;flex-wrap:nowrap;gap:10px}
.loop-compact .loop-detail-label{font-size:10px;line-height:1.4;margin-bottom:4px}
.loop-compact .loop-detail h4{font-size:1.125rem;line-height:1.3}
.loop-compact .loop-revision{font-size:10px;padding:3px 6px}
.loop-compact .loop-work-details{order:2;min-width:0}
.loop-compact .loop-work-details>summary{display:none}
.loop-compact.loop-flow-story .loop-artifact{min-height:170px;padding:0 0 10px}
.loop-compact.loop-flow-story .task-sheet{min-height:158px;padding:12px 14px;box-shadow:none}
.loop-compact .task-sheet-head{font-size:10px}
.loop-compact.loop-flow-story .task-sheet h5{font-size:.875rem;line-height:1.4;margin:8px 0 6px}
.loop-compact.loop-flow-story .task-checklist li{font-size:.75rem;line-height:1.5;padding:5px 0;gap:8px}
.loop-compact .task-checklist li small{font-size:10px}
.loop-compact .task-search-field{margin-top:10px;min-height:34px;padding:6px 10px;font-size:.8125rem}
.loop-compact .task-search-result{min-height:40px;margin-top:10px}
.loop-compact .task-change-note{display:none}
.loop-compact .task-empty-bug,.loop-compact .task-empty-fixed{min-height:62px;margin-top:6px}
.loop-compact .task-handoff-icon{width:24px;height:24px;margin-bottom:7px}
.loop-compact .task-handoff-icon svg{width:17px;height:17px}
.loop-compact .handoff-files span{font-size:10px;padding:3px 6px}
.loop-compact .task-handoff p{margin-top:7px;font-size:11px}
.loop-compact.loop-flow-story .loop-stage-description{order:3;min-height:0;padding-top:3px}
.loop-compact .loop-stage-description>p{font-size:.8125rem;line-height:1.5}
.loop-compact .loop-receipt{display:none}
.loop-compact.loop-flow-story .loop-decision{order:4;min-height:0;margin-top:10px;padding-top:10px;gap:0}
.loop-compact .loop-workspace:not([data-active-step="4"]) .loop-decision{display:none}
.loop-compact .loop-decision>span{display:none}
.loop-compact .loop-decision>div{justify-content:flex-end;width:100%}
.loop-compact .loop-decision button{min-height:40px;font-size:.8125rem;padding:8px 12px}
@media(max-width:900px){
 .loop-compact .loop-heading{display:block;margin-bottom:12px}
 .loop-compact .loop-heading>p{display:none}
 .loop-compact .loop-heading h3{font-size:clamp(1.12rem,5.2vw,1.5rem)}
 .loop-compact .loop-toolbar{padding:8px 12px;gap:6px 10px}
 .loop-compact .loop-status{display:none}
 .loop-compact .loop-controls{margin-left:auto}
 .loop-compact.loop-flow-story .loop-studio-grid{grid-template-columns:1fr;min-height:0}
 .loop-compact .loop-flow-surface{padding:8px 12px;border-right:0;border-bottom:1px solid #34535b}
 .loop-compact .loop-flow-canvas{height:clamp(170px,28svh,200px);max-width:390px;aspect-ratio:auto}
 .loop-compact .loop-flow-node{width:27%;min-height:46px;padding:6px 8px;gap:2px}
 .loop-compact .loop-flow-node:last-child{width:144px;min-height:46px;padding:5px 8px}
 .loop-compact .loop-flow-node:not(:last-child) .flow-role{display:none}
 .loop-compact .flow-node-title{font-size:.875rem;line-height:1.2}
 .loop-compact .flow-node-title svg{display:none}
 .loop-compact .flow-role{font-size:8px;line-height:1.2}
 .loop-compact .flow-node-status{font-size:9px;line-height:1.2}
 .loop-compact .flow-feedback-label{font-size:8px;right:-3px}
 .loop-compact .loop-flow-caption{display:none}
 .loop-compact.loop-flow-story .loop-detail{padding:12px 16px;min-height:0;display:flex}
 .loop-compact .loop-stage-heading{min-height:0;padding:0;flex-wrap:nowrap;align-items:flex-start}
 .loop-compact .loop-detail h4{font-size:1.05rem}
 .loop-compact .loop-detail-label{font-size:9px;margin-bottom:3px}
 .loop-compact .loop-stage-description{order:2;padding-top:7px}
 .loop-compact .loop-stage-description>p{font-size:.8125rem;line-height:1.5}
 .loop-compact .loop-work-details{order:4;margin-top:6px;border-top:1px solid #315158}
 .loop-compact .loop-work-details>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none;min-height:40px;padding:8px 0;font-size:.8125rem;color:#a7dacf}
 .loop-compact .loop-work-details>summary::-webkit-details-marker{display:none}
 .loop-compact .loop-work-details>summary svg{width:16px;height:16px;transition:transform .2s}
 .loop-compact .loop-work-details[open]>summary svg{transform:rotate(90deg)}
 .loop-compact.loop-flow-story .loop-artifact{min-height:0;padding-bottom:5px}
 .loop-compact.loop-flow-story .task-sheet{min-height:158px}
 .loop-compact.loop-flow-story .loop-decision{order:3;margin-top:8px;padding-top:8px}
 .loop-compact .loop-decision>div{justify-content:stretch;flex-wrap:nowrap}
 .loop-compact .loop-decision button{min-height:44px;flex:1;padding:8px;font-size:.75rem}
}
@media(max-width:520px){
 .loop-compact .loop-task-name{width:100%;font-size:.8125rem}
 .loop-compact .loop-controls{width:100%;margin:0;justify-content:space-between}
 .loop-compact .loop-play,.loop-compact .loop-next{min-height:40px}
 .loop-compact .loop-heading .eyebrow{font-size:10px;letter-spacing:.1em;margin-bottom:6px}
 .loop-compact{scroll-margin-top:-10px}
}

@media(max-width:900px){.loop-compact .loop-revision{display:none}}
@media(max-width:900px) and (max-height:620px){
 .loop-compact .loop-heading .eyebrow{display:none}
 .loop-compact .loop-heading{margin-bottom:10px}
 .loop-compact .loop-flow-canvas{height:150px}
 .loop-compact .loop-flow-node{min-height:40px;padding:5px 7px}
 .loop-compact .loop-flow-node:last-child{min-height:40px;padding:4px 7px}
 .loop-compact .loop-flow-node:last-child .flow-node-status{display:none}
 .loop-compact.loop-flow-story .loop-detail{padding-block:8px}
}

@media(max-width:900px){.loop-compact .loop-decision button{white-space:nowrap;gap:6px}}
@media(max-width:900px) and (max-height:620px){
 .loop-compact .loop-heading{margin-bottom:6px}
 .loop-compact .loop-toolbar{padding-block:6px}
 .loop-compact.loop-flow-story .loop-detail{padding-block:6px}
}
